ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDQ5Mjk5ZWUuLjFiN2U3ZGMgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMjAsNiArMjAsNyBAQAogTWFrZWZpbGUKIE1ha2VmaWxlLnByZQogTWlzYy9weXRob24ucGMKK01pc2MvcHl0aG9uLWNvbmZpZy5zaAogTW9kdWxlcy9TZXR1cAogTW9kdWxlcy9TZXR1cC5jb25maWcKIE1vZHVsZXMvU2V0dXAubG9jYWwKQEAgLTU3LDYgKzU4LDggQEAKIHB5YnVpbGRkaXIudHh0CiBweWNvbmZpZy5oCiBweXRob24KK3B5dGhvbi1jb25maWcKK3B5dGhvbi1jb25maWcucHkKIHB5dGhvbi5leGUKIHB5dGhvbi1nZGIucHkKIHB5dGhvbi5leGUtZ2RiLnB5CmRpZmYgLS1naXQgYS8uaGdpZ25vcmUgYi8uaGdpZ25vcmUKaW5kZXggOTY3Njk5Yy4uZjA3YjRiYSAxMDA2NDQKLS0tIGEvLmhnaWdub3JlCisrKyBiLy5oZ2lnbm9yZQpAQCAtMSw2ICsxLDcgQEAKIC5nZGJfaGlzdG9yeQogLnB1cmlmeQogLnN2bi8KK0RTX1N0b3JlCiBNYWtlZmlsZSQKIE1ha2VmaWxlLnByZSQKIFRBR1MkCkBAIC0xNyw2ICsxOCw4IEBACiBweWNvbmZpZy5oJAogcHl0aG9uJAogcHl0aG9uLmV4ZSQKK3B5dGhvbi1jb25maWckCitweXRob24tY29uZmlnLnB5JAogcmVmbG9nLnR4dCQKIHRhZ3MkCiBMaWIvcGxhdC1tYWMvZXJyb3JzLnJzcmMuZGYucnNyYwpAQCAtMjYsNiArMjksNyBAQAogRG9jL3Rvb2xzL2ppbmphMi8KIERvYy90b29scy9weWdtZW50cy8KIE1pc2MvcHl0aG9uLnBjCitNaXNjL3B5dGhvbi1jb25maWcuc2gkCiBNb2R1bGVzL1NldHVwJAogTW9kdWxlcy9TZXR1cC5jb25maWcKIE1vZHVsZXMvU2V0dXAubG9jYWwKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9kaWN0LnJzdCBiL0RvYy9jLWFwaS9kaWN0LnJzdAppbmRleCA2YmFjYzMyLi4xZjU5OWZlIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvZGljdC5yc3QKKysrIGIvRG9jL2MtYXBpL2RpY3QucnN0CkBAIC0xMTAsNiArMTEwLDE1IEBACiAgICA6Yzp0eXBlOmBjaGFyXCpgLCByYXRoZXIgdGhhbiBhIDpjOnR5cGU6YFB5T2JqZWN0XCpgLgogCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlEaWN0X1NldERlZmF1bHQoUHlPYmplY3QgKnAsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICpkZWZhdWx0KQorCisgICBUaGlzIGlzIHRoZSBzYW1lIGFzIHRoZSBQeXRob24tbGV2ZWwgOm1ldGg6YGRpY3Quc2V0ZGVmYXVsdGAuICBJZiBwcmVzZW50LCBpdAorICAgcmV0dXJucyB0aGUgdmFsdWUgY29ycmVzcG9uZGluZyB0byAqa2V5KiBmcm9tIHRoZSBkaWN0aW9uYXJ5ICpwKi4gIElmIHRoZSBrZXkKKyAgIGlzIG5vdCBpbiB0aGUgZGljdCwgaXQgaXMgaW5zZXJ0ZWQgd2l0aCB2YWx1ZSAqZGVmYXVsdG9iaiogYW5kICpkZWZhdWx0b2JqKgorICAgaXMgcmV0dXJuZWQuICBUaGlzIGZ1bmN0aW9uIGV2YWx1YXRlcyB0aGUgaGFzaCBmdW5jdGlvbiBvZiAqa2V5KiBvbmx5IG9uY2UsCisgICBpbnN0ZWFkIG9mIGV2YWx1YXRpbmcgaXQgaW5kZXBlbmRlbnRseSBmb3IgdGhlIGxvb2t1cCBhbmQgdGhlIGluc2VydGlvbi4KKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RGljdF9JdGVtcyhQeU9iamVjdCAqcCkKIAogICAgUmV0dXJuIGEgOmM6dHlwZTpgUHlMaXN0T2JqZWN0YCBjb250YWluaW5nIGFsbCB0aGUgaXRlbXMgZnJvbSB0aGUgZGljdGlvbmFyeS4KZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9pbml0LnJzdCBiL0RvYy9jLWFwaS9pbml0LnJzdAppbmRleCA5NWZmNGVlLi42Zjg0N2Q5IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvaW5pdC5yc3QKKysrIGIvRG9jL2MtYXBpL2luaXQucnN0CkBAIC02NTQsNiArNjU0LDIwIEBACiAgICBtYWRlIG9uIHRoZSBtYWluIHRocmVhZC4gIFRoaXMgaXMgbWFpbmx5IGEgaGVscGVyL2RpYWdub3N0aWMgZnVuY3Rpb24uCiAKIAorLi4gYzpmdW5jdGlvbjo6IGludCBQeUdJTFN0YXRlX0NoZWNrKCkKKworICAgUmV0dXJuIDEgaWYgdGhlIGN1cnJlbnQgdGhyZWFkIGlzIGhvbGRpbmcgdGhlIEdJTCBhbmQgMCBvdGhlcndpc2UuCisgICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgZnJvbSBhbnkgdGhyZWFkIGF0IGFueSB0aW1lLgorICAgT25seSBpZiBpdCBoYXMgaGFkIGl0cyBQeXRob24gdGhyZWFkIHN0YXRlIGluaXRpYWxpemVkIGFuZCBjdXJyZW50bHkgaXMKKyAgIGhvbGRpbmcgdGhlIEdJTCB3aWxsIGl0IHJldHVybiAxLgorICAgVGhpcyBpcyBtYWlubHkgYSBoZWxwZXIvZGlhZ25vc3RpYyBmdW5jdGlvbi4gIEl0IGNhbiBiZSB1c2VmdWwKKyAgIGZvciBleGFtcGxlIGluIGNhbGxiYWNrIGNvbnRleHRzIG9yIG1lbW9yeSBhbGxvY2F0aW9uIGZ1bmN0aW9ucyB3aGVuCisgICBrbm93aW5nIHRoYXQgdGhlIEdJTCBpcyBsb2NrZWQgY2FuIGFsbG93IHRoZSBjYWxsZXIgdG8gcGVyZm9ybSBzZW5zaXRpdmUKKyAgIGFjdGlvbnMgb3Igb3RoZXJ3aXNlIGJlaGF2ZSBkaWZmZXJlbnRseS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKwogVGhlIGZvbGxvd2luZyBtYWNyb3MgYXJlIG5vcm1hbGx5IHVzZWQgd2l0aG91dCBhIHRyYWlsaW5nIHNlbWljb2xvbjsgbG9vayBmb3IKIGV4YW1wbGUgdXNhZ2UgaW4gdGhlIFB5dGhvbiBzb3VyY2UgZGlzdHJpYnV0aW9uLgogCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvb2JqZWN0LnJzdCBiL0RvYy9jLWFwaS9vYmplY3QucnN0CmluZGV4IGE0NzE4M2MuLjAyYTBkMzYgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9vYmplY3QucnN0CisrKyBiL0RvYy9jLWFwaS9vYmplY3QucnN0CkBAIC0zNDIsNiArMzQyLDE1IEBACiAgICByZXR1cm5lZC4gIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgdG8gdGhlIFB5dGhvbiBleHByZXNzaW9uIGBgbGVuKG8pYGAuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5X3NzaXplX3QgUHlPYmplY3RfTGVuZ3RoSGludChQeU9iamVjdCAqbywgUHlfc3NpemVfdCBkZWZhdWx0KQorCisgICBSZXR1cm4gYW4gZXN0aW1hdGVkIGxlbmd0aCBmb3IgdGhlIG9iamVjdCAqbyouIEZpcnN0IHRyeWluZyB0byByZXR1cm4gaXRzCisgICBhY3R1YWwgbGVuZ3RoLCB0aGVuIGFuIGVzdGltYXRlIHVzaW5nIGBgX19sZW5ndGhfaGludF9fYGAsIGFuZCBmaW5hbGx5CisgICByZXR1cm5pbmcgdGhlIGRlZmF1bHQgdmFsdWUuIE9uIGVycm9yIGBgLTFgYCBpcyByZXR1cm5lZC4gVGhpcyBpcyB0aGUKKyAgIGVxdWl2YWxlbnQgdG8gdGhlIFB5dGhvbiBleHByZXNzaW9uIGBgb3BlcmF0b3IubGVuZ3RoX2hpbnQobywgZGVmYXVsdClgYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlPYmplY3RfR2V0SXRlbShQeU9iamVjdCAqbywgUHlPYmplY3QgKmtleSkKIAogICAgUmV0dXJuIGVsZW1lbnQgb2YgKm8qIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9iamVjdCAqa2V5KiBvciAqTlVMTCogb24gZmFpbHVyZS4KZGlmZiAtLWdpdCBhL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQgYi9Eb2MvZGF0YS9yZWZjb3VudHMuZGF0CmluZGV4IGZhYzg5YWYuLmUyOTkwNTAgMTAwNjQ0Ci0tLSBhL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQKKysrIGIvRG9jL2RhdGEvcmVmY291bnRzLmRhdApAQCAtMjIwLDYgKzIyMCwxMSBAQAogUHlEaWN0X0dldEl0ZW1TdHJpbmc6UHlPYmplY3QqOnA6MDoKIFB5RGljdF9HZXRJdGVtU3RyaW5nOmNoYXIqOmtleTo6CiAKK1B5RGljdF9TZXREZWZhdWx0OlB5T2JqZWN0Kjo6MDoKK1B5RGljdF9TZXREZWZhdWx0OlB5T2JqZWN0KjpwOjA6CitQeURpY3RfU2V0RGVmYXVsdDpQeU9iamVjdCo6a2V5OjA6Y29uZGl0aW9uYWxseSArMSBpZiBpbnNlcnRlZCBpbnRvIHRoZSBkaWN0CitQeURpY3RfU2V0RGVmYXVsdDpQeU9iamVjdCo6ZGVmYXVsdDowOmNvbmRpdGlvbmFsbHkgKzEgaWYgaW5zZXJ0ZWQgaW50byB0aGUgZGljdAorCiBQeURpY3RfSXRlbXM6UHlPYmplY3QqOjorMToKIFB5RGljdF9JdGVtczpQeU9iamVjdCo6cDowOgogCmRpZmYgLS1naXQgYS9Eb2MvZmFxL2xpYnJhcnkucnN0IGIvRG9jL2ZhcS9saWJyYXJ5LnJzdAppbmRleCBjOGVmOWU3Li44YmQ3NzRiIDEwMDY0NAotLS0gYS9Eb2MvZmFxL2xpYnJhcnkucnN0CisrKyBiL0RvYy9mYXEvbGlicmFyeS5yc3QKQEAgLTIxMSw3ICsyMTEsNyBAQAogICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICBjID0gc3lzLnN0ZGluLnJlYWQoMSkKICAgICAgICAgICAgICAgIHByaW50KCJHb3QgY2hhcmFjdGVyIiwgcmVwcihjKSkKLSAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgcGFzcwogICAgZmluYWxseToKICAgICAgICB0ZXJtaW9zLnRjc2V0YXR0cihmZCwgdGVybWlvcy5UQ1NBRkxVU0gsIG9sZHRlcm0pCkBAIC0yMjQsNyArMjI0LDExIEBACiAgICA6ZnVuYzpgdGVybWlvcy50Y3NldGF0dHJgIHR1cm5zIG9mZiBzdGRpbidzIGVjaG9pbmcgYW5kIGRpc2FibGVzIGNhbm9uaWNhbAogICAgbW9kZS4gIDpmdW5jOmBmY250bC5mbmN0bGAgaXMgdXNlZCB0byBvYnRhaW4gc3RkaW4ncyBmaWxlIGRlc2NyaXB0b3IgZmxhZ3MKICAgIGFuZCBtb2RpZnkgdGhlbSBmb3Igbm9uLWJsb2NraW5nIG1vZGUuICBTaW5jZSByZWFkaW5nIHN0ZGluIHdoZW4gaXQgaXMgZW1wdHkKLSAgIHJlc3VsdHMgaW4gYW4gOmV4YzpgSU9FcnJvcmAsIHRoaXMgZXJyb3IgaXMgY2F1Z2h0IGFuZCBpZ25vcmVkLgorICAgcmVzdWx0cyBpbiBhbiA6ZXhjOmBPU0Vycm9yYCwgdGhpcyBlcnJvciBpcyBjYXVnaHQgYW5kIGlnbm9yZWQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqc3lzLnN0ZGluLnJlYWQqIHVzZWQgdG8gcmFpc2UgOmV4YzpgSU9FcnJvcmAuIFN0YXJ0aW5nIGZyb20gUHl0aG9uIDMuMworICAgICAgOmV4YzpgSU9FcnJvcmAgaXMgYWxpYXMgZm9yIDpleGM6YE9TRXJyb3JgLgogCiAKIFRocmVhZHMKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdCBiL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdAppbmRleCBjZGQ0YjY2Li42ZWE5YTNmIDEwMDY0NAotLS0gYS9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QKKysrIGIvRG9jL2hvd3RvL2xvZ2dpbmctY29va2Jvb2sucnN0CkBAIC03NDEsOSArNzQxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihyZWNvcmQubmFtZSkKICAgICAgICAgICAgICAgICBsb2dnZXIuaGFuZGxlKHJlY29yZCkgIyBObyBsZXZlbCBvciBmaWx0ZXIgbG9naWMgYXBwbGllZCAtIGp1c3QgZG8gaXQhCi0gICAgICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KToKLSAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgICAgICBpbXBvcnQgc3lzLCB0cmFjZWJhY2sKICAgICAgICAgICAgICAgICBwcmludCgnV2hvb3BzISBQcm9ibGVtOicsIGZpbGU9c3lzLnN0ZGVycikKICAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKGZpbGU9c3lzLnN0ZGVycikKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by91cmxsaWIyLnJzdCBiL0RvYy9ob3d0by91cmxsaWIyLnJzdAppbmRleCA3YWZlOWE2Li5iNjgzYWI2IDEwMDY0NAotLS0gYS9Eb2MvaG93dG8vdXJsbGliMi5yc3QKKysrIGIvRG9jL2hvd3RvL3VybGxpYjIucnN0CkBAIC01MDcsNyArNTA3LDcgQEAKICAgICAtLSBgYFByb3h5SGFuZGxlcmBgIChpZiBhIHByb3h5IHNldHRpbmcgc3VjaCBhcyBhbiA6ZW52dmFyOmBodHRwX3Byb3h5YAogICAgIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCksIGBgVW5rbm93bkhhbmRsZXJgYCwgYGBIVFRQSGFuZGxlcmBgLAogICAgIGBgSFRUUERlZmF1bHRFcnJvckhhbmRsZXJgYCwgYGBIVFRQUmVkaXJlY3RIYW5kbGVyYGAsIGBgRlRQSGFuZGxlcmBgLAotICAgIGBgRmlsZUhhbmRsZXJgYCwgYGBIVFRQRXJyb3JQcm9jZXNzb3JgYC4KKyAgICBgYEZpbGVIYW5kbGVyYGAsIGBgRGF0YUhhbmRsZXJgYCwgYGBIVFRQRXJyb3JQcm9jZXNzb3JgYC4KIAogYGB0b3BfbGV2ZWxfdXJsYGAgaXMgaW4gZmFjdCAqZWl0aGVyKiBhIGZ1bGwgVVJMIChpbmNsdWRpbmcgdGhlICdodHRwOicgc2NoZW1lCiBjb21wb25lbnQgYW5kIHRoZSBob3N0bmFtZSBhbmQgb3B0aW9uYWxseSB0aGUgcG9ydCBudW1iZXIpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS8ydG8zLnJzdCBiL0RvYy9saWJyYXJ5LzJ0bzMucnN0CmluZGV4IDk3ZTY5MmYuLjE1OGIzYmUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5LzJ0bzMucnN0CisrKyBiL0RvYy9saWJyYXJ5LzJ0bzMucnN0CkBAIC0zNDIsNiArMzQyLDEwIEBACiAKICAgIEhhbmRsZXMgdGhlIG1vdmUgb2YgOmZ1bmM6YHJlZHVjZWAgdG8gOmZ1bmM6YGZ1bmN0b29scy5yZWR1Y2VgLgogCisuLiAydG8zZml4ZXI6OiByZWxvYWQKKworICAgQ29udmVydHMgOmZ1bmM6YHJlbG9hZGAgdG8gOmZ1bmM6YGltcC5yZWxvYWRgLgorCiAuLiAydG8zZml4ZXI6OiByZW5hbWVzCiAKICAgIENoYW5nZXMgOmRhdGE6YHN5cy5tYXhpbnRgIHRvIDpkYXRhOmBzeXMubWF4c2l6ZWAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hYmMucnN0IGIvRG9jL2xpYnJhcnkvYWJjLnJzdAppbmRleCA2ZjIzNTk2Li4yN2FiYjYwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hYmMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FiYy5yc3QKQEAgLTEyLDkgKzEyLDkgQEAKIC0tLS0tLS0tLS0tLS0tCiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBpbmZyYXN0cnVjdHVyZSBmb3IgZGVmaW5pbmcgOnRlcm06YGFic3RyYWN0IGJhc2UKLWNsYXNzZXMgPGFic3RyYWN0IGJhc2UgY2xhc3M+YCAoQUJDcykgaW4gUHl0aG9uLCBhcyBvdXRsaW5lZCBpbiA6cGVwOmAzMTE5YDsgc2VlIHRoZSBQRVAgZm9yIHdoeSB0aGlzCi13YXMgYWRkZWQgdG8gUHl0aG9uLiAoU2VlIGFsc28gOnBlcDpgMzE0MWAgYW5kIHRoZSA6bW9kOmBudW1iZXJzYCBtb2R1bGUKLXJlZ2FyZGluZyBhIHR5cGUgaGllcmFyY2h5IGZvciBudW1iZXJzIGJhc2VkIG9uIEFCQ3MuKQorY2xhc3NlcyA8YWJzdHJhY3QgYmFzZSBjbGFzcz5gIChBQkNzKSBpbiBQeXRob24sIGFzIG91dGxpbmVkIGluIDpwZXA6YDMxMTlgOworc2VlIHRoZSBQRVAgZm9yIHdoeSB0aGlzIHdhcyBhZGRlZCB0byBQeXRob24uIChTZWUgYWxzbyA6cGVwOmAzMTQxYCBhbmQgdGhlCis6bW9kOmBudW1iZXJzYCBtb2R1bGUgcmVnYXJkaW5nIGEgdHlwZSBoaWVyYXJjaHkgZm9yIG51bWJlcnMgYmFzZWQgb24gQUJDcy4pCiAKIFRoZSA6bW9kOmBjb2xsZWN0aW9uc2AgbW9kdWxlIGhhcyBzb21lIGNvbmNyZXRlIGNsYXNzZXMgdGhhdCBkZXJpdmUgZnJvbQogQUJDczsgdGhlc2UgY2FuLCBvZiBjb3Vyc2UsIGJlIGZ1cnRoZXIgZGVyaXZlZC4gSW4gYWRkaXRpb24gdGhlCkBAIC0yMyw3ICsyMyw3IEBACiBoYXNoYWJsZSBvciBhIG1hcHBpbmcuCiAKIAotVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBjbGFzczoKK1RoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgY2xhc3NlczoKIAogLi4gY2xhc3M6OiBBQkNNZXRhCiAKQEAgLTEyNyw2ICsxMjcsMTkgQEAKICAgIGF2YWlsYWJsZSBhcyBhIG1ldGhvZCBvZiBgYEZvb2BgLCBzbyBpdCBpcyBwcm92aWRlZCBzZXBhcmF0ZWx5LgogCiAKKy4uIGNsYXNzOjogQUJDCisKKyAgIEEgaGVscGVyIGNsYXNzIHRoYXQgaGFzIDpjbGFzczpgQUJDTWV0YWAgYXMgaXRzIG1ldGFjbGFzcy4gIFdpdGggdGhpcyBjbGFzcywKKyAgIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MgY2FuIGJlIGNyZWF0ZWQgYnkgc2ltcGx5IGRlcml2aW5nIGZyb20gOmNsYXNzOmBBQkNgLAorICAgYXZvaWRpbmcgc29tZXRpbWVzIGNvbmZ1c2luZyBtZXRhY2xhc3MgdXNhZ2UuCisKKyAgIE5vdGUgdGhhdCB0aGUgdHlwZSBvZiA6Y2xhc3M6YEFCQ2AgaXMgc3RpbGwgOmNsYXNzOmBBQkNNZXRhYCwgdGhlcmVmb3JlCisgICBpbmhlcml0aW5nIGZyb20gOmNsYXNzOmBBQkNgIHJlcXVpcmVzIHRoZSB1c3VhbCBwcmVjYXV0aW9ucyByZWdhcmRpbmcgbWV0YWNsYXNzCisgICB1c2FnZSwgYXMgbXVsdGlwbGUgaW5oZXJpdGFuY2UgbWF5IGxlYWQgdG8gbWV0YWNsYXNzIGNvbmZsaWN0cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKwogVGhlIDptb2Q6YGFiY2AgbW9kdWxlIGFsc28gcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBkZWNvcmF0b3JzOgogCiAuLiBkZWNvcmF0b3I6OiBhYnN0cmFjdG1ldGhvZApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYWlmYy5yc3QgYi9Eb2MvbGlicmFyeS9haWZjLnJzdAppbmRleCA5OTliYWQ4Li5mOGE2YWI3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9haWZjLnJzdAorKysgYi9Eb2MvbGlicmFyeS9haWZjLnJzdApAQCAtNTEsNiArNTEsMTAgQEAKICAgIHVzZWQgZm9yIHdyaXRpbmcsIHRoZSBmaWxlIG9iamVjdCBzaG91bGQgYmUgc2Vla2FibGUsIHVubGVzcyB5b3Uga25vdyBhaGVhZCBvZgogICAgdGltZSBob3cgbWFueSBzYW1wbGVzIHlvdSBhcmUgZ29pbmcgdG8gd3JpdGUgaW4gdG90YWwgYW5kIHVzZQogICAgOm1ldGg6YHdyaXRlZnJhbWVzcmF3YCBhbmQgOm1ldGg6YHNldG5mcmFtZXNgLgorICAgT2JqZWN0cyByZXR1cm5lZCBieSA6ZnVuYzpgLm9wZW5gIGFsc28gc3VwcG9ydHMgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQuCisKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICBTdXBwb3J0IGZvciB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCB3YXMgYWRkZWQuCiAKIE9iamVjdHMgcmV0dXJuZWQgYnkgOmZ1bmM6YC5vcGVuYCB3aGVuIGEgZmlsZSBpcyBvcGVuZWQgZm9yIHJlYWRpbmcgaGF2ZSB0aGUKIGZvbGxvd2luZyBtZXRob2RzOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0IGIvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0CmluZGV4IDcyNjdhZTQuLmYzZWI5ZGQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9hcmdwYXJzZS5yc3QKQEAgLTk3Nyw5ICs5NzcsOSBAQAogYGB0eXBlYGAgYXJndW1lbnQgaXMgYXBwbGllZCB0byBkZWZhdWx0IGFyZ3VtZW50cy4KIAogVG8gZWFzZSB0aGUgdXNlIG9mIHZhcmlvdXMgdHlwZXMgb2YgZmlsZXMsIHRoZSBhcmdwYXJzZSBtb2R1bGUgcHJvdmlkZXMgdGhlCi1mYWN0b3J5IEZpbGVUeXBlIHdoaWNoIHRha2VzIHRoZSBgYG1vZGU9YGAgYW5kIGBgYnVmc2l6ZT1gYCBhcmd1bWVudHMgb2YgdGhlCi06ZnVuYzpgb3BlbmAgZnVuY3Rpb24uICBGb3IgZXhhbXBsZSwgYGBGaWxlVHlwZSgndycpYGAgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEKLXdyaXRhYmxlIGZpbGU6OgorZmFjdG9yeSBGaWxlVHlwZSB3aGljaCB0YWtlcyB0aGUgYGBtb2RlPWBgLCBgYGJ1ZnNpemU9YGAsIGBgZW5jb2Rpbmc9YGAgYW5kCitgYGVycm9ycz1gYCBhcmd1bWVudHMgb2YgdGhlIDpmdW5jOmBvcGVuYCBmdW5jdGlvbi4gIEZvciBleGFtcGxlLAorYGBGaWxlVHlwZSgndycpYGAgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgd3JpdGFibGUgZmlsZTo6CiAKICAgID4+PiBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCiAgICA+Pj4gcGFyc2VyLmFkZF9hcmd1bWVudCgnYmFyJywgdHlwZT1hcmdwYXJzZS5GaWxlVHlwZSgndycpKQpAQCAtMTYxOSwxNyArMTYxOSwxOSBAQAogRmlsZVR5cGUgb2JqZWN0cwogXl5eXl5eXl5eXl5eXl5eXgogCi0uLiBjbGFzczo6IEZpbGVUeXBlKG1vZGU9J3InLCBidWZzaXplPU5vbmUpCisuLiBjbGFzczo6IEZpbGVUeXBlKG1vZGU9J3InLCBidWZzaXplPS0xLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSkKIAogICAgVGhlIDpjbGFzczpgRmlsZVR5cGVgIGZhY3RvcnkgY3JlYXRlcyBvYmplY3RzIHRoYXQgY2FuIGJlIHBhc3NlZCB0byB0aGUgdHlwZQogICAgYXJndW1lbnQgb2YgOm1ldGg6YEFyZ3VtZW50UGFyc2VyLmFkZF9hcmd1bWVudGAuICBBcmd1bWVudHMgdGhhdCBoYXZlCi0gICA6Y2xhc3M6YEZpbGVUeXBlYCBvYmplY3RzIGFzIHRoZWlyIHR5cGUgd2lsbCBvcGVuIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgYXMgZmlsZXMKLSAgIHdpdGggdGhlIHJlcXVlc3RlZCBtb2RlcyBhbmQgYnVmZmVyIHNpemVzOjoKKyAgIDpjbGFzczpgRmlsZVR5cGVgIG9iamVjdHMgYXMgdGhlaXIgdHlwZSB3aWxsIG9wZW4gY29tbWFuZC1saW5lIGFyZ3VtZW50cyBhcworICAgZmlsZXMgd2l0aCB0aGUgcmVxdWVzdGVkIG1vZGVzLCBidWZmZXIgc2l6ZXMsIGVuY29kaW5ncyBhbmQgZXJyb3IgaGFuZGxpbmcKKyAgIChzZWUgdGhlIDpmdW5jOmBvcGVuYCBmdW5jdGlvbiBmb3IgbW9yZSBkZXRhaWxzKTo6CiAKICAgICAgID4+PiBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCi0gICAgICA+Pj4gcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1vdXRwdXQnLCB0eXBlPWFyZ3BhcnNlLkZpbGVUeXBlKCd3YicsIDApKQotICAgICAgPj4+IHBhcnNlci5wYXJzZV9hcmdzKFsnLS1vdXRwdXQnLCAnb3V0J10pCi0gICAgICBOYW1lc3BhY2Uob3V0cHV0PTxfaW8uQnVmZmVyZWRXcml0ZXIgbmFtZT0nb3V0Jz4pCisgICAgICA+Pj4gcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1yYXcnLCB0eXBlPWFyZ3BhcnNlLkZpbGVUeXBlKCd3YicsIDApKQorICAgICAgPj4+IHBhcnNlci5hZGRfYXJndW1lbnQoJ291dCcsIHR5cGU9YXJncGFyc2UuRmlsZVR5cGUoJ3cnLCBlbmNvZGluZz0nVVRGLTgnKSkKKyAgICAgID4+PiBwYXJzZXIucGFyc2VfYXJncyhbJy0tcmF3JywgJ3Jhdy5kYXQnLCAnZmlsZS50eHQnXSkKKyAgICAgIE5hbWVzcGFjZShvdXQ9PF9pby5UZXh0SU9XcmFwcGVyIG5hbWU9J2ZpbGUudHh0JyBtb2RlPSd3JyBlbmNvZGluZz0nVVRGLTgnPiwgcmF3PTxfaW8uRmlsZUlPIG5hbWU9J3Jhdy5kYXQnIG1vZGU9J3diJz4pCiAKICAgIEZpbGVUeXBlIG9iamVjdHMgdW5kZXJzdGFuZCB0aGUgcHNldWRvLWFyZ3VtZW50IGBgJy0nYGAgYW5kIGF1dG9tYXRpY2FsbHkKICAgIGNvbnZlcnQgdGhpcyBpbnRvIGBgc3lzLnN0ZGluYGAgZm9yIHJlYWRhYmxlIDpjbGFzczpgRmlsZVR5cGVgIG9iamVjdHMgYW5kCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QgYi9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QKaW5kZXggYTY1ZmU1Yi4uOTZjNWFlZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdApAQCAtNzYsMTQgKzc2LDE5IEBACiAgICAgICAgIGJlIG1vZGlmaWVkIHRvIGNoYW5nZSB3aGljaCBtYXBwaW5ncyBhcmUgc2VhcmNoZWQuICBUaGUgbGlzdCBzaG91bGQKICAgICAgICAgYWx3YXlzIGNvbnRhaW4gYXQgbGVhc3Qgb25lIG1hcHBpbmcuCiAKLSAgICAuLiBtZXRob2Q6OiBuZXdfY2hpbGQoKQorICAgIC4uIG1ldGhvZDo6IG5ld19jaGlsZChtPU5vbmUpCiAKLSAgICAgICAgUmV0dXJucyBhIG5ldyA6Y2xhc3M6YENoYWluTWFwYCBjb250YWluaW5nIGEgbmV3IDpjbGFzczpgZGljdGAgZm9sbG93ZWQgYnkKLSAgICAgICAgYWxsIG9mIHRoZSBtYXBzIGluIHRoZSBjdXJyZW50IGluc3RhbmNlLiAgQSBjYWxsIHRvIGBgZC5uZXdfY2hpbGQoKWBgIGlzCi0gICAgICAgIGVxdWl2YWxlbnQgdG86IGBgQ2hhaW5NYXAoe30sICpkLm1hcHMpYGAuICBUaGlzIG1ldGhvZCBpcyB1c2VkIGZvcgorICAgICAgICBSZXR1cm5zIGEgbmV3IDpjbGFzczpgQ2hhaW5NYXBgIGNvbnRhaW5pbmcgYSBuZXcgbWFwIGZvbGxvd2VkIGJ5CisgICAgICAgIGFsbCBvZiB0aGUgbWFwcyBpbiB0aGUgY3VycmVudCBpbnN0YW5jZS4gIElmIGBgbWBgIGlzIHNwZWNpZmllZCwKKyAgICAgICAgaXQgYmVjb21lcyB0aGUgbmV3IG1hcCBhdCB0aGUgZnJvbnQgb2YgdGhlIGxpc3Qgb2YgbWFwcGluZ3M7IGlmIG5vdAorICAgICAgICBzcGVjaWZpZWQsIGFuIGVtcHR5IGRpY3QgaXMgdXNlZCwgc28gdGhhdCBhIGNhbGwgdG8gYGBkLm5ld19jaGlsZCgpYGAKKyAgICAgICAgaXMgZXF1aXZhbGVudCB0bzogYGBDaGFpbk1hcCh7fSwgKmQubWFwcylgYC4gIFRoaXMgbWV0aG9kIGlzIHVzZWQgZm9yCiAgICAgICAgIGNyZWF0aW5nIHN1YmNvbnRleHRzIHRoYXQgY2FuIGJlIHVwZGF0ZWQgd2l0aG91dCBhbHRlcmluZyB2YWx1ZXMgaW4gYW55CiAgICAgICAgIG9mIHRoZSBwYXJlbnQgbWFwcGluZ3MuCiAKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgICAgVGhlIG9wdGlvbmFsIGBgbWBgIHBhcmFtZXRlciB3YXMgYWRkZWQuCisKICAgICAuLiBhdHRyaWJ1dGU6OiBwYXJlbnRzCiAKICAgICAgICAgUHJvcGVydHkgcmV0dXJuaW5nIGEgbmV3IDpjbGFzczpgQ2hhaW5NYXBgIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBtYXBzIGluCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb250ZXh0bGliLnJzdCBiL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0CmluZGV4IGZlZTUwNjcuLjg2YzNhYjAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2NvbnRleHRsaWIucnN0CkBAIC05NCw2ICs5NCwyNiBAQAogICAgd2l0aG91dCBuZWVkaW5nIHRvIGV4cGxpY2l0bHkgY2xvc2UgYGBwYWdlYGAuICBFdmVuIGlmIGFuIGVycm9yIG9jY3VycywKICAgIGBgcGFnZS5jbG9zZSgpYGAgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgOmtleXdvcmQ6YHdpdGhgIGJsb2NrIGlzIGV4aXRlZC4KIAorLi4gZnVuY3Rpb246OiBpZ25vcmVkKCpleGNlcHRpb25zKQorCisgICBSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgdGhhdCBpZ25vcmVzIHRoZSBzcGVjaWZpZWQgZXhjZXB0aW9ucyBpZiB0aGV5CisgICBvY2N1ciBpbiB0aGUgYm9keSBvZiBhIHdpdGgtc3RhdGVtZW50LgorCisgICBGb3IgZXhhbXBsZTo6CisKKyAgICAgICBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGlnbm9yZWQKKworICAgICAgIHdpdGggaWdub3JlZChPU0Vycm9yKToKKyAgICAgICAgICAgb3MucmVtb3ZlKCdzb21lZmlsZS50bXAnKQorCisgICBUaGlzIGNvZGUgaXMgZXF1aXZhbGVudCB0bzo6CisKKyAgICAgICB0cnk6CisgICAgICAgICAgIG9zLnJlbW92ZSgnc29tZWZpbGUudG1wJykKKyAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgcGFzcworCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKIAogLi4gY2xhc3M6OiBDb250ZXh0RGVjb3JhdG9yKCkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZG9jdGVzdC5yc3QgYi9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdAppbmRleCAyMjJjNzE5Li4yMDBkZTQ1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9kb2N0ZXN0LnJzdApAQCAtNjMzLDYgKzYzMywxNiBAQAogICAgdGhlIG91dHB1dCBpcyBzdXBwcmVzc2VkLgogCiAKKy4uIGRhdGE6OiBGQUlMX0ZBU1QKKworICAgV2hlbiBzcGVjaWZpZWQsIGV4aXQgYWZ0ZXIgdGhlIGZpcnN0IGZhaWxpbmcgZXhhbXBsZSBhbmQgZG9uJ3QgYXR0ZW1wdCB0byBydW4KKyAgIHRoZSByZW1haW5pbmcgZXhhbXBsZXMuIFRodXMsIHRoZSBudW1iZXIgb2YgZmFpbHVyZXMgcmVwb3J0ZWQgd2lsbCBiZSBhdCBtb3N0CisgICAxLiAgVGhpcyBmbGFnIG1heSBiZSB1c2VmdWwgZHVyaW5nIGRlYnVnZ2luZywgc2luY2UgZXhhbXBsZXMgYWZ0ZXIgdGhlIGZpcnN0CisgICBmYWlsdXJlIHdvbid0IGV2ZW4gcHJvZHVjZSBkZWJ1Z2dpbmcgb3V0cHV0LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworCiAuLiBkYXRhOjogUkVQT1JUSU5HX0ZMQUdTCiAKICAgIEEgYml0bWFzayBvcidpbmcgdG9nZXRoZXIgYWxsIHRoZSByZXBvcnRpbmcgZmxhZ3MgYWJvdmUuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9leGNlcHRpb25zLnJzdCBiL0RvYy9saWJyYXJ5L2V4Y2VwdGlvbnMucnN0CmluZGV4IDk1OTUyMjEuLmVjZTAzNWQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2V4Y2VwdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2V4Y2VwdGlvbnMucnN0CkBAIC0yNjAsNiArMjYwLDEyIEBACiAgICAgICA6ZXhjOmBWTVNFcnJvcmAsIDpleGM6YHNvY2tldC5lcnJvcmAsIDpleGM6YHNlbGVjdC5lcnJvcmAgYW5kCiAgICAgICA6ZXhjOmBtbWFwLmVycm9yYCBoYXZlIGJlZW4gbWVyZ2VkIGludG8gOmV4YzpgT1NFcnJvcmAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisKKyAgICAgIFRoZSA6YXR0cjpgZmlsZW5hbWVgIGF0dHJpYnV0ZSBpcyBub3cgdGhlIG9yaWdpbmFsIGZpbGUgbmFtZSBwYXNzZWQgdG8KKyAgICAgIHRoZSBmdW5jdGlvbiwgaW5zdGVhZCBvZiB0aGUgbmFtZSBlbmNvZGVkIHRvIG9yIGRlY29kZWQgZnJvbSB0aGUKKyAgICAgIGZpbGVzeXN0ZW0gZW5jb2RpbmcuCisKIAogLi4gZXhjZXB0aW9uOjogT3ZlcmZsb3dFcnJvcgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9maWxlY21wLnJzdCBiL0RvYy9saWJyYXJ5L2ZpbGVjbXAucnN0CmluZGV4IDhhODhmOGMuLjk1YzRkZGYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ZpbGVjbXAucnN0CisrKyBiL0RvYy9saWJyYXJ5L2ZpbGVjbXAucnN0CkBAIC01NSwyOCArNTUsMjUgQEAKIAogLi4gY2xhc3M6OiBkaXJjbXAoYSwgYiwgaWdub3JlPU5vbmUsIGhpZGU9Tm9uZSkKIAotICAgQ29uc3RydWN0IGEgbmV3IGRpcmVjdG9yeSBjb21wYXJpc29uIG9iamVjdCwgdG8gY29tcGFyZSB0aGUgZGlyZWN0b3JpZXMgKmEqIGFuZAotICAgKmIqLiAqaWdub3JlKiBpcyBhIGxpc3Qgb2YgbmFtZXMgdG8gaWdub3JlLCBhbmQgZGVmYXVsdHMgdG8gYGBbJ1JDUycsICdDVlMnLAotICAgJ3RhZ3MnXWBgLiAqaGlkZSogaXMgYSBsaXN0IG9mIG5hbWVzIHRvIGhpZGUsIGFuZCBkZWZhdWx0cyB0byBgYFtvcy5jdXJkaXIsCi0gICBvcy5wYXJkaXJdYGAuCisgICBDb25zdHJ1Y3QgYSBuZXcgZGlyZWN0b3J5IGNvbXBhcmlzb24gb2JqZWN0LCB0byBjb21wYXJlIHRoZSBkaXJlY3RvcmllcyAqYSoKKyAgIGFuZCAqYiouICAqaWdub3JlKiBpcyBhIGxpc3Qgb2YgbmFtZXMgdG8gaWdub3JlLCBhbmQgZGVmYXVsdHMgdG8KKyAgIDphdHRyOmBmaWxlY21wLkRFRkFVTFRfSUdOT1JFU2AuICAqaGlkZSogaXMgYSBsaXN0IG9mIG5hbWVzIHRvIGhpZGUsIGFuZAorICAgZGVmYXVsdHMgdG8gYGBbb3MuY3VyZGlyLCBvcy5wYXJkaXJdYGAuCiAKICAgIFRoZSA6Y2xhc3M6YGRpcmNtcGAgY2xhc3MgY29tcGFyZXMgZmlsZXMgYnkgZG9pbmcgKnNoYWxsb3cqIGNvbXBhcmlzb25zCiAgICBhcyBkZXNjcmliZWQgZm9yIDpmdW5jOmBmaWxlY21wLmNtcGAuCiAKICAgIFRoZSA6Y2xhc3M6YGRpcmNtcGAgY2xhc3MgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBtZXRob2RzOgogCi0KICAgIC4uIG1ldGhvZDo6IHJlcG9ydCgpCiAKICAgICAgIFByaW50ICh0byA6ZGF0YTpgc3lzLnN0ZG91dGApIGEgY29tcGFyaXNvbiBiZXR3ZWVuICphKiBhbmQgKmIqLgogCi0KICAgIC4uIG1ldGhvZDo6IHJlcG9ydF9wYXJ0aWFsX2Nsb3N1cmUoKQogCiAgICAgICBQcmludCBhIGNvbXBhcmlzb24gYmV0d2VlbiAqYSogYW5kICpiKiBhbmQgY29tbW9uIGltbWVkaWF0ZQogICAgICAgc3ViZGlyZWN0b3JpZXMuCiAKLQogICAgLi4gbWV0aG9kOjogcmVwb3J0X2Z1bGxfY2xvc3VyZSgpCiAKICAgICAgIFByaW50IGEgY29tcGFyaXNvbiBiZXR3ZWVuICphKiBhbmQgKmIqIGFuZCBjb21tb24gc3ViZGlyZWN0b3JpZXMKQEAgLTEzMyw3ICsxMzAsNyBAQAogCiAgICAuLiBhdHRyaWJ1dGU6OiBjb21tb25fZmlsZXMKIAotICAgICAgRmlsZXMgaW4gYm90aCAqYSogYW5kICpiKgorICAgICAgRmlsZXMgaW4gYm90aCAqYSogYW5kICpiKi4KIAogCiAgICAuLiBhdHRyaWJ1dGU6OiBjb21tb25fZnVubnkKQEAgLTE2NCw2ICsxNjEsMTIgQEAKICAgICAgIEEgZGljdGlvbmFyeSBtYXBwaW5nIG5hbWVzIGluIDphdHRyOmBjb21tb25fZGlyc2AgdG8gOmNsYXNzOmBkaXJjbXBgCiAgICAgICBvYmplY3RzLgogCisuLiBhdHRyaWJ1dGU6OiBERUZBVUxUX0lHTk9SRVMKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKyAgIExpc3Qgb2YgZGlyZWN0b3JpZXMgaWdub3JlZCBieSA6Y2xhc3M6YGRpcmNtcGAgYnkgZGVmYXVsdC4KKwogCiBIZXJlIGlzIGEgc2ltcGxpZmllZCBleGFtcGxlIG9mIHVzaW5nIHRoZSBgYHN1YmRpcnNgYCBhdHRyaWJ1dGUgdG8gc2VhcmNoCiByZWN1cnNpdmVseSB0aHJvdWdoIHR3byBkaXJlY3RvcmllcyB0byBzaG93IGNvbW1vbiBkaWZmZXJlbnQgZmlsZXM6OgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdCBiL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QKaW5kZXggYzgyZTAzZi4uMDMwNDQzMSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdAorKysgYi9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0CkBAIC01NDMsNiArNTQzLDEwIEBACiAgICA6ZXhjOmBUeXBlRXJyb3JgIGV4Y2VwdGlvbiBpcyByYWlzZWQgaWYgdGhlIG1ldGhvZCBpcyBub3QgZm91bmQgb3IgaWYgZWl0aGVyCiAgICB0aGUgKmZvcm1hdF9zcGVjKiBvciB0aGUgcmV0dXJuIHZhbHVlIGFyZSBub3Qgc3RyaW5ncy4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisgICAgICBgYG9iamVjdCgpLl9fZm9ybWF0X18oZm9ybWF0X3NwZWMpYGAgcmFpc2VzIDpleGM6YFR5cGVFcnJvcmAKKyAgICAgIGlmICpmb3JtYXRfc3BlYyogaXMgbm90IGVtcHR5IHN0cmluZy4KKwogCiAuLiBfZnVuYy1mcm96ZW5zZXQ6CiAuLiBmdW5jdGlvbjo6IGZyb3plbnNldChbaXRlcmFibGVdKQpAQCAtNjYxLDYgKzY2NSwxMiBAQAogCiAgICBUaGUgaW50ZWdlciB0eXBlIGlzIGRlc2NyaWJlZCBpbiA6cmVmOmB0eXBlc251bWVyaWNgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgSWYgKmJhc2UqIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YGludGAgYW5kIHRoZSAqYmFzZSogb2JqZWN0IGhhcyBhCisgICAgICA6bWV0aDpgYmFzZS5fX2luZGV4X18gPG9iamVjdC5fX2luZGV4X18+YCBtZXRob2QsIHRoYXQgbWV0aG9kIGlzIGNhbGxlZAorICAgICAgdG8gb2J0YWluIGFuIGludGVnZXIgZm9yIHRoZSBiYXNlLiAgUHJldmlvdXMgdmVyc2lvbnMgdXNlZAorICAgICAgOm1ldGg6YGJhc2UuX19pbnRfXyA8b2JqZWN0Ll9faW50X18+YCBpbnN0ZWFkIG9mIDptZXRoOmBiYXNlLl9faW5kZXhfXworICAgICAgPG9iamVjdC5fX2luZGV4X18+YC4KIAogLi4gZnVuY3Rpb246OiBpc2luc3RhbmNlKG9iamVjdCwgY2xhc3NpbmZvKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9nYy5yc3QgYi9Eb2MvbGlicmFyeS9nYy5yc3QKaW5kZXggNDFiZGExZS4uOTVkZjJmOCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZ2MucnN0CisrKyBiL0RvYy9saWJyYXJ5L2djLnJzdApAQCAtNjcsNiArNjcsMjQgQEAKICAgIHJldHVybmVkLgogCiAKKy4uIGZ1bmN0aW9uOjogZ2V0X3N0YXRzKCkKKworICAgUmV0dXJuIGEgbGlzdCBvZiAzIHBlci1nZW5lcmF0aW9uIGRpY3Rpb25hcmllcyBjb250YWluaW5nIGNvbGxlY3Rpb24KKyAgIHN0YXRpc3RpY3Mgc2luY2UgaW50ZXJwcmV0ZXIgc3RhcnQuICBBdCB0aGlzIG1vbWVudCwgZWFjaCBkaWN0aW9uYXJ5IHdpbGwKKyAgIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBpdGVtczoKKworICAgKiBgYGNvbGxlY3Rpb25zYGAgaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0aGlzIGdlbmVyYXRpb24gd2FzIGNvbGxlY3RlZDsKKworICAgKiBgYGNvbGxlY3RlZGBgIGlzIHRoZSB0b3RhbCBudW1iZXIgb2Ygb2JqZWN0cyBjb2xsZWN0ZWQgaW5zaWRlIHRoaXMKKyAgICAgZ2VuZXJhdGlvbjsKKworICAgKiBgYHVuY29sbGVjdGFibGVgYCBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIG9iamVjdHMgd2hpY2ggd2VyZSBmb3VuZAorICAgICB0byBiZSB1bmNvbGxlY3RhYmxlIChhbmQgd2VyZSB0aGVyZWZvcmUgbW92ZWQgdG8gdGhlIDpkYXRhOmBnYXJiYWdlYAorICAgICBsaXN0KSBpbnNpZGUgdGhpcyBnZW5lcmF0aW9uLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworCiAuLiBmdW5jdGlvbjo6IHNldF90aHJlc2hvbGQodGhyZXNob2xkMFssIHRocmVzaG9sZDFbLCB0aHJlc2hvbGQyXV0pCiAKICAgIFNldCB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uIHRocmVzaG9sZHMgKHRoZSBjb2xsZWN0aW9uIGZyZXF1ZW5jeSkuIFNldHRpbmcKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2hhc2hsaWIucnN0IGIvRG9jL2xpYnJhcnkvaGFzaGxpYi5yc3QKaW5kZXggOTI5ZDQxYi4uZjBmZTkxNSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaGFzaGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaGFzaGxpYi5yc3QKQEAgLTUxLDkgKzUxLDEzIEBACiAuLiBpbmRleDo6IHNpbmdsZTogT3BlblNTTDsgKHVzZSBpbiBtb2R1bGUgaGFzaGxpYikKIAogQ29uc3RydWN0b3JzIGZvciBoYXNoIGFsZ29yaXRobXMgdGhhdCBhcmUgYWx3YXlzIHByZXNlbnQgaW4gdGhpcyBtb2R1bGUgYXJlCi06ZnVuYzpgbWQ1YCwgOmZ1bmM6YHNoYTFgLCA6ZnVuYzpgc2hhMjI0YCwgOmZ1bmM6YHNoYTI1NmAsIDpmdW5jOmBzaGEzODRgLCBhbmQKLTpmdW5jOmBzaGE1MTJgLiAgQWRkaXRpb25hbCBhbGdvcml0aG1zIG1heSBhbHNvIGJlIGF2YWlsYWJsZSBkZXBlbmRpbmcgdXBvbiB0aGUKLU9wZW5TU0wgbGlicmFyeSB0aGF0IFB5dGhvbiB1c2VzIG9uIHlvdXIgcGxhdGZvcm0uCis6ZnVuYzpgbWQ1YCwgOmZ1bmM6YHNoYTFgLCA6ZnVuYzpgc2hhMjI0YCwgOmZ1bmM6YHNoYTI1NmAsIDpmdW5jOmBzaGEzODRgLAorOmZ1bmM6YHNoYTUxMmAsIDpmdW5jOmBzaGEzXzIyNGAsIDpmdW5jOmBzaGEzXzI1NmAsIDpmdW5jOmBzaGEzXzM4NGAsIGFuZAorOmZ1bmM6YHNoYTNfNTEyYC4gQWRkaXRpb25hbCBhbGdvcml0aG1zIG1heSBhbHNvIGJlIGF2YWlsYWJsZSBkZXBlbmRpbmcgdXBvbgordGhlIE9wZW5TU0wgbGlicmFyeSB0aGF0IFB5dGhvbiB1c2VzIG9uIHlvdXIgcGxhdGZvcm0uCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBBZGQgc2hhMyBmYW1pbHkgb2YgaGFzaCBhbGdvcml0aG1zLgogCiBGb3IgZXhhbXBsZSwgdG8gb2J0YWluIHRoZSBkaWdlc3Qgb2YgdGhlIGJ5dGUgc3RyaW5nIGBgYidOb2JvZHkgaW5zcGVjdHMgdGhlCiBzcGFtbWlzaCByZXBldGl0aW9uJ2BgOjoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdAppbmRleCA4MTM3NTczLi4wZmFkNTY2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLmNsaWVudC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0CkBAIC0yNyw3ICsyNyw3IEBACiBUaGUgbW9kdWxlIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgY2xhc3NlczoKIAogCi0uLiBjbGFzczo6IEhUVFBDb25uZWN0aW9uKGhvc3QsIHBvcnQ9Tm9uZVssIHN0cmljdF1bLCB0aW1lb3V0XSwgXAorLi4gY2xhc3M6OiBIVFRQQ29ubmVjdGlvbihob3N0LCBwb3J0PU5vbmVbLCB0aW1lb3V0XSwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfYWRkcmVzcz1Ob25lKQogCiAgICBBbiA6Y2xhc3M6YEhUVFBDb25uZWN0aW9uYCBpbnN0YW5jZSByZXByZXNlbnRzIG9uZSB0cmFuc2FjdGlvbiB3aXRoIGFuIEhUVFAKQEAgLTUxLDEzICs1MSwxMyBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgICpzb3VyY2VfYWRkcmVzcyogd2FzIGFkZGVkLgogCi0gICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjIgMy40Ci0gICAgICBUaGUgKnN0cmljdCogcGFyYW1ldGVyIGlzIGRlcHJlY2F0ZWQuICBIVFRQIDAuOS1zdHlsZSAiU2ltcGxlIFJlc3BvbnNlcyIKLSAgICAgIGFyZSBub3Qgc3VwcG9ydGVkIGFueW1vcmUuCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgVGhlICAqc3RyaWN0KiBwYXJhbWV0ZXIgaXMgcmVtb3ZlZC4gSFRUUCAwLjktc3R5bGUgIlNpbXBsZSBSZXNwb25zZXMiIGFyZQorICAgICAgbm90IHN1cHBvcnRlZC4KIAogCiAuLiBjbGFzczo6IEhUVFBTQ29ubmVjdGlvbihob3N0LCBwb3J0PU5vbmUsIGtleV9maWxlPU5vbmUsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfZmlsZT1Ob25lWywgc3RyaWN0XVssIHRpbWVvdXRdLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X2ZpbGU9Tm9uZVssIHRpbWVvdXRdLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfYWRkcmVzcz1Ob25lLCAqLCBjb250ZXh0PU5vbmUsIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX2hvc3RuYW1lPU5vbmUpCiAKQEAgLTg5LDE5ICs4OSwxOSBAQAogICAgICAgVGhpcyBjbGFzcyBub3cgc3VwcG9ydHMgSFRUUFMgdmlydHVhbCBob3N0cyBpZiBwb3NzaWJsZSAodGhhdCBpcywKICAgICAgIGlmIDpkYXRhOmBzc2wuSEFTX1NOSWAgaXMgdHJ1ZSkuCiAKLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMiAzLjQKLSAgICAgIFRoZSAqc3RyaWN0KiBwYXJhbWV0ZXIgaXMgZGVwcmVjYXRlZC4gIEhUVFAgMC45LXN0eWxlICJTaW1wbGUgUmVzcG9uc2VzIgotICAgICAgYXJlIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBUaGUgKnN0cmljdCogcGFyYW1ldGVyIGlzIHJlbW92ZWQuIEhUVFAgMC45LXN0eWxlICJTaW1wbGUgUmVzcG9uc2VzIiBhcmUKKyAgICAgIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS4KIAogCi0uLiBjbGFzczo6IEhUVFBSZXNwb25zZShzb2NrLCBkZWJ1Z2xldmVsPTBbLCBzdHJpY3RdLCBtZXRob2Q9Tm9uZSwgdXJsPU5vbmUpCisuLiBjbGFzczo6IEhUVFBSZXNwb25zZShzb2NrLCBkZWJ1Z2xldmVsPTAsIG1ldGhvZD1Ob25lLCB1cmw9Tm9uZSkKIAogICAgQ2xhc3Mgd2hvc2UgaW5zdGFuY2VzIGFyZSByZXR1cm5lZCB1cG9uIHN1Y2Nlc3NmdWwgY29ubmVjdGlvbi4gIE5vdAogICAgaW5zdGFudGlhdGVkIGRpcmVjdGx5IGJ5IHVzZXIuCiAKLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMiAzLjQKLSAgICAgIFRoZSAqc3RyaWN0KiBwYXJhbWV0ZXIgaXMgZGVwcmVjYXRlZC4gIEhUVFAgMC45LXN0eWxlICJTaW1wbGUgUmVzcG9uc2VzIgotICAgICAgYXJlIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBUaGUgKnN0cmljdCogcGFyYW1ldGVyIGlzIHJlbW92ZWQuIEhUVFAgMC45IHN0eWxlICJTaW1wbGUgUmVzcG9uc2VzIiBhcmUKKyAgICAgIG5vdCBzdXBwb3J0ZWQgYW55bW9yZS4KIAogCiBUaGUgZm9sbG93aW5nIGV4Y2VwdGlvbnMgYXJlIHJhaXNlZCBhcyBhcHByb3ByaWF0ZToKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdAppbmRleCBjYmFkM2VkLi41MzEzOWEyIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLnNlcnZlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHR0cC5zZXJ2ZXIucnN0CkBAIC0xNzAsMTIgKzE3MCwxOSBAQAogCiAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAotICAgLi4gbWV0aG9kOjogc2VuZF9lcnJvcihjb2RlLCBtZXNzYWdlPU5vbmUpCisgICAuLiBtZXRob2Q6OiBzZW5kX2Vycm9yKGNvZGUsIG1lc3NhZ2U9Tm9uZSwgZXhwbGFpbj1Ob25lKQogCiAgICAgICBTZW5kcyBhbmQgbG9ncyBhIGNvbXBsZXRlIGVycm9yIHJlcGx5IHRvIHRoZSBjbGllbnQuIFRoZSBudW1lcmljICpjb2RlKgotICAgICAgc3BlY2lmaWVzIHRoZSBIVFRQIGVycm9yIGNvZGUsIHdpdGggKm1lc3NhZ2UqIGFzIG9wdGlvbmFsLCBtb3JlIHNwZWNpZmljIHRleHQuIEEKLSAgICAgIGNvbXBsZXRlIHNldCBvZiBoZWFkZXJzIGlzIHNlbnQsIGZvbGxvd2VkIGJ5IHRleHQgY29tcG9zZWQgdXNpbmcgdGhlCi0gICAgICA6YXR0cjpgZXJyb3JfbWVzc2FnZV9mb3JtYXRgIGNsYXNzIHZhcmlhYmxlLgorICAgICAgc3BlY2lmaWVzIHRoZSBIVFRQIGVycm9yIGNvZGUsIHdpdGggKm1lc3NhZ2UqIGFzIG9wdGlvbmFsLCBtb3JlIHNwZWNpZmljCisgICAgICB0ZXh0LCB1c3VhbGx5IHJlZmVycmluZyB0byBzaG9ydCBtZXNzYWdlIHJlc3BvbnNlLiAgVGhlICpleHBsYWluKgorICAgICAgYXJndW1lbnQgY2FuIGJlIHVzZWQgdG8gc2VuZCBhIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBlcnJvciBpbgorICAgICAgcmVzcG9uc2UgY29udGVudCBib2R5LiAgQSBjb21wbGV0ZSBzZXQgb2YgaGVhZGVycyBpcyBzZW50LCBmb2xsb3dlZCBieQorICAgICAgdGV4dCBjb21wb3NlZCB1c2luZyB0aGUgOmF0dHI6YGVycm9yX21lc3NhZ2VfZm9ybWF0YCBjbGFzcyB2YXJpYWJsZS4KKworICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgIFRoZSBlcnJvciByZXNwb25zZSBpbmNsdWRlcyBhIENvbnRlbnQtTGVuZ3RoIGhlYWRlci4KKyAgICAgICAgIEFkZGVkIHRoZSAqZXhwbGFpbiogYXJndW1lbnQuCisKIAogICAgLi4gbWV0aG9kOjogc2VuZF9yZXNwb25zZShjb2RlLCBtZXNzYWdlPU5vbmUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2lkbGUucnN0IGIvRG9jL2xpYnJhcnkvaWRsZS5yc3QKaW5kZXggYjQwZTQ3MC4uYzI0ODk1NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaWRsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaWRsZS5yc3QKQEAgLTE2LDcwICsxNiw4MiBAQAogCiAqIGNvZGVkIGluIDEwMCUgcHVyZSBQeXRob24sIHVzaW5nIHRoZSA6bW9kOmB0a2ludGVyYCBHVUkgdG9vbGtpdAogCi0qIGNyb3NzLXBsYXRmb3JtOiB3b3JrcyBvbiBXaW5kb3dzIGFuZCBVbml4CisqIGNyb3NzLXBsYXRmb3JtOiB3b3JrcyBvbiBXaW5kb3dzLCBVbml4LCBhbmQgTWFjIE9TIFgKIAotKiBtdWx0aS13aW5kb3cgdGV4dCBlZGl0b3Igd2l0aCBtdWx0aXBsZSB1bmRvLCBQeXRob24gY29sb3JpemluZyBhbmQgbWFueSBvdGhlcgotICBmZWF0dXJlcywgZS5nLiBzbWFydCBpbmRlbnQgYW5kIGNhbGwgdGlwcworKiBtdWx0aS13aW5kb3cgdGV4dCBlZGl0b3Igd2l0aCBtdWx0aXBsZSB1bmRvLCBQeXRob24gY29sb3JpemluZywKKyAgc21hcnQgaW5kZW50LCBjYWxsIHRpcHMsIGFuZCBtYW55IG90aGVyIGZlYXR1cmVzCiAKICogUHl0aG9uIHNoZWxsIHdpbmRvdyAoYS5rLmEuIGludGVyYWN0aXZlIGludGVycHJldGVyKQogCi0qIGRlYnVnZ2VyIChub3QgY29tcGxldGUsIGJ1dCB5b3UgY2FuIHNldCBicmVha3BvaW50cywgdmlldyAgYW5kIHN0ZXApCisqIGRlYnVnZ2VyIChub3QgY29tcGxldGUsIGJ1dCB5b3UgY2FuIHNldCBicmVha3BvaW50cywgdmlldyBhbmQgc3RlcCkKIAogCiBNZW51cwogLS0tLS0KIAorSURMRSBoYXMgdHdvIHdpbmRvdyB0eXBlcywgdGhlIFNoZWxsIHdpbmRvdyBhbmQgdGhlIEVkaXRvciB3aW5kb3cuIEl0IGlzCitwb3NzaWJsZSB0byBoYXZlIG11bHRpcGxlIGVkaXRvciB3aW5kb3dzIHNpbXVsdGFuZW91c2x5LiBJRExFJ3MKK21lbnVzIGR5bmFtaWNhbGx5IGNoYW5nZSBiYXNlZCBvbiB3aGljaCB3aW5kb3cgaXMgY3VycmVudGx5IHNlbGVjdGVkLiBFYWNoIG1lbnUKK2RvY3VtZW50ZWQgYmVsb3cgaW5kaWNhdGVzIHdoaWNoIHdpbmRvdyB0eXBlIGl0IGlzIGFzc29jaWF0ZWQgd2l0aC4gQ2xpY2sgb24KK3RoZSBkb3R0ZWQgbGluZSBhdCB0aGUgdG9wIG9mIGEgbWVudSB0byAidGVhciBpdCBvZmYiOiBhIHNlcGFyYXRlIHdpbmRvdworY29udGFpbmluZyB0aGUgbWVudSBpcyBjcmVhdGVkIChmb3IgVW5peCBhbmQgV2luZG93cyBvbmx5KS4KIAotRmlsZSBtZW51Ci1eXl5eXl5eXl4KK0ZpbGUgbWVudSAoU2hlbGwgYW5kIEVkaXRvcikKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KIAogTmV3IHdpbmRvdwotICAgY3JlYXRlIGEgbmV3IGVkaXRpbmcgd2luZG93CisgICBDcmVhdGUgYSBuZXcgZWRpdGluZyB3aW5kb3cKIAogT3Blbi4uLgotICAgb3BlbiBhbiBleGlzdGluZyBmaWxlCisgICBPcGVuIGFuIGV4aXN0aW5nIGZpbGUKIAogT3BlbiBtb2R1bGUuLi4KLSAgIG9wZW4gYW4gZXhpc3RpbmcgbW9kdWxlIChzZWFyY2hlcyBzeXMucGF0aCkKKyAgIE9wZW4gYW4gZXhpc3RpbmcgbW9kdWxlIChzZWFyY2hlcyBzeXMucGF0aCkKKworUmVjZW50IEZpbGVzCisgICBPcGVuIGEgbGlzdCBvZiByZWNlbnQgZmlsZXMKIAogQ2xhc3MgYnJvd3NlcgotICAgc2hvdyBjbGFzc2VzIGFuZCBtZXRob2RzIGluIGN1cnJlbnQgZmlsZQorICAgU2hvdyBjbGFzc2VzIGFuZCBtZXRob2RzIGluIGN1cnJlbnQgZmlsZQogCiBQYXRoIGJyb3dzZXIKLSAgIHNob3cgc3lzLnBhdGggZGlyZWN0b3JpZXMsIG1vZHVsZXMsIGNsYXNzZXMgYW5kIG1ldGhvZHMKKyAgIFNob3cgc3lzLnBhdGggZGlyZWN0b3JpZXMsIG1vZHVsZXMsIGNsYXNzZXMgYW5kIG1ldGhvZHMKIAogLi4gaW5kZXg6OgogICAgc2luZ2xlOiBDbGFzcyBicm93c2VyCiAgICBzaW5nbGU6IFBhdGggYnJvd3NlcgogCiBTYXZlCi0gICBzYXZlIGN1cnJlbnQgd2luZG93IHRvIHRoZSBhc3NvY2lhdGVkIGZpbGUgKHVuc2F2ZWQgd2luZG93cyBoYXZlIGEgXCogYmVmb3JlIGFuZAotICAgYWZ0ZXIgdGhlIHdpbmRvdyB0aXRsZSkKKyAgIFNhdmUgY3VycmVudCB3aW5kb3cgdG8gdGhlIGFzc29jaWF0ZWQgZmlsZSAodW5zYXZlZCB3aW5kb3dzIGhhdmUgYQorICAgXCogYmVmb3JlIGFuZCBhZnRlciB0aGUgd2luZG93IHRpdGxlKQogCiBTYXZlIEFzLi4uCi0gICBzYXZlIGN1cnJlbnQgd2luZG93IHRvIG5ldyBmaWxlLCB3aGljaCBiZWNvbWVzIHRoZSBhc3NvY2lhdGVkIGZpbGUKKyAgIFNhdmUgY3VycmVudCB3aW5kb3cgdG8gbmV3IGZpbGUsIHdoaWNoIGJlY29tZXMgdGhlIGFzc29jaWF0ZWQgZmlsZQogCiBTYXZlIENvcHkgQXMuLi4KLSAgIHNhdmUgY3VycmVudCB3aW5kb3cgdG8gZGlmZmVyZW50IGZpbGUgd2l0aG91dCBjaGFuZ2luZyB0aGUgYXNzb2NpYXRlZCBmaWxlCisgICBTYXZlIGN1cnJlbnQgd2luZG93IHRvIGRpZmZlcmVudCBmaWxlIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGFzc29jaWF0ZWQgZmlsZQorCitQcmludCBXaW5kb3cKKyAgIFByaW50IHRoZSBjdXJyZW50IHdpbmRvdwogCiBDbG9zZQotICAgY2xvc2UgY3VycmVudCB3aW5kb3cgKGFza3MgdG8gc2F2ZSBpZiB1bnNhdmVkKQorICAgQ2xvc2UgY3VycmVudCB3aW5kb3cgKGFza3MgdG8gc2F2ZSBpZiB1bnNhdmVkKQogCiBFeGl0Ci0gICBjbG9zZSBhbGwgd2luZG93cyBhbmQgcXVpdCBJRExFIChhc2tzIHRvIHNhdmUgaWYgdW5zYXZlZCkKKyAgIENsb3NlIGFsbCB3aW5kb3dzIGFuZCBxdWl0IElETEUgKGFza3MgdG8gc2F2ZSBpZiB1bnNhdmVkKQogCiAKLUVkaXQgbWVudQotXl5eXl5eXl5eCitFZGl0IG1lbnUgKFNoZWxsIGFuZCBFZGl0b3IpCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKIFVuZG8KLSAgIFVuZG8gbGFzdCBjaGFuZ2UgdG8gY3VycmVudCB3aW5kb3cgKG1heCAxMDAwIGNoYW5nZXMpCisgICBVbmRvIGxhc3QgY2hhbmdlIHRvIGN1cnJlbnQgd2luZG93IChhIG1heGltdW0gb2YgMTAwMCBjaGFuZ2VzIG1heSBiZSB1bmRvbmUpCiAKIFJlZG8KICAgIFJlZG8gbGFzdCB1bmRvbmUgY2hhbmdlIHRvIGN1cnJlbnQgd2luZG93CiAKIEN1dAotICAgQ29weSBzZWxlY3Rpb24gaW50byBzeXN0ZW0td2lkZSBjbGlwYm9hcmQ7IHRoZW4gZGVsZXRlIHNlbGVjdGlvbgorICAgQ29weSBzZWxlY3Rpb24gaW50byBzeXN0ZW0td2lkZSBjbGlwYm9hcmQ7IHRoZW4gZGVsZXRlIHRoZSBzZWxlY3Rpb24KIAogQ29weQogICAgQ29weSBzZWxlY3Rpb24gaW50byBzeXN0ZW0td2lkZSBjbGlwYm9hcmQKQEAgLTEwOCwxMSArMTIwLDMwIEBACiBHbyB0byBsaW5lCiAgICBBc2sgZm9yIGEgbGluZSBudW1iZXIgYW5kIHNob3cgdGhhdCBsaW5lCiAKK0V4cGFuZCB3b3JkCisgICBFeHBhbmQgdGhlIHdvcmQgeW91IGhhdmUgdHlwZWQgdG8gbWF0Y2ggYW5vdGhlciB3b3JkIGluIHRoZSBzYW1lIGJ1ZmZlcjsKKyAgIHJlcGVhdCB0byBnZXQgYSBkaWZmZXJlbnQgZXhwYW5zaW9uCisKK1Nob3cgY2FsbCB0aXAKKyAgIEFmdGVyIGFuIHVuY2xvc2VkIHBhcmVudGhlc2lzIGZvciBhIGZ1bmN0aW9uLCBvcGVuIGEgc21hbGwgd2luZG93IHdpdGgKKyAgIGZ1bmN0aW9uIHBhcmFtZXRlciBoaW50cworCitTaG93IHN1cnJvdW5kaW5nIHBhcmVucworICAgSGlnaGxpZ2h0IHRoZSBzdXJyb3VuZGluZyBwYXJlbnRoZXNpcworCitTaG93IENvbXBsZXRpb25zCisgICBPcGVuIGEgc2Nyb2xsIHdpbmRvdyBhbGxvd2luZyBzZWxlY3Rpb24ga2V5d29yZHMgYW5kIGF0dHJpYnV0ZXMuIFNlZQorICAgQ29tcGxldGlvbnMgYmVsb3cuCisKKworRm9ybWF0IG1lbnUgKEVkaXRvciB3aW5kb3cgb25seSkKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKIEluZGVudCByZWdpb24KLSAgIFNoaWZ0IHNlbGVjdGVkIGxpbmVzIHJpZ2h0IDQgc3BhY2VzCisgICBTaGlmdCBzZWxlY3RlZCBsaW5lcyByaWdodCBieSB0aGUgaW5kZW50IHdpZHRoIChkZWZhdWx0IDQgc3BhY2VzKQogCiBEZWRlbnQgcmVnaW9uCi0gICBTaGlmdCBzZWxlY3RlZCBsaW5lcyBsZWZ0IDQgc3BhY2VzCisgICBTaGlmdCBzZWxlY3RlZCBsaW5lcyBsZWZ0IGJ5IHRoZSBpbmRlbnQgd2lkdGggKGRlZmF1bHQgNCBzcGFjZXMpCiAKIENvbW1lbnQgb3V0IHJlZ2lvbgogICAgSW5zZXJ0ICMjIGluIGZyb250IG9mIHNlbGVjdGVkIGxpbmVzCkBAIC0xMjEsNjcgKzE1MiwxMjEgQEAKICAgIFJlbW92ZSBsZWFkaW5nICMgb3IgIyMgZnJvbSBzZWxlY3RlZCBsaW5lcwogCiBUYWJpZnkgcmVnaW9uCi0gICBUdXJucyAqbGVhZGluZyogc3RyZXRjaGVzIG9mIHNwYWNlcyBpbnRvIHRhYnMKKyAgIFR1cm5zICpsZWFkaW5nKiBzdHJldGNoZXMgb2Ygc3BhY2VzIGludG8gdGFicy4gKE5vdGU6IFdlIHJlY29tbWVuZCB1c2luZworICAgNCBzcGFjZSBibG9ja3MgdG8gaW5kZW50IFB5dGhvbiBjb2RlLikKIAogVW50YWJpZnkgcmVnaW9uCi0gICBUdXJuICphbGwqIHRhYnMgaW50byB0aGUgcmlnaHQgbnVtYmVyIG9mIHNwYWNlcworICAgVHVybiAqYWxsKiB0YWJzIGludG8gdGhlIGNvcnJlY3QgbnVtYmVyIG9mIHNwYWNlcwogCi1FeHBhbmQgd29yZAotICAgRXhwYW5kIHRoZSB3b3JkIHlvdSBoYXZlIHR5cGVkIHRvIG1hdGNoIGFub3RoZXIgd29yZCBpbiB0aGUgc2FtZSBidWZmZXI7IHJlcGVhdAotICAgdG8gZ2V0IGEgZGlmZmVyZW50IGV4cGFuc2lvbgorVG9nZ2xlIHRhYnMKKyAgIE9wZW4gYSBkaWFsb2cgdG8gc3dpdGNoIGJldHdlZW4gaW5kZW50aW5nIHdpdGggc3BhY2VzIGFuZCB0YWJzLgorCitOZXcgSW5kZW50IFdpZHRoCisgICBPcGVuIGEgZGlhbG9nIHRvIGNoYW5nZSBpbmRlbnQgd2lkdGguIFRoZSBhY2NlcHRlZCBkZWZhdWx0IGJ5IHRoZSBQeXRob24KKyAgIGNvbW11bml0eSBpcyA0IHNwYWNlcy4KIAogRm9ybWF0IFBhcmFncmFwaAotICAgUmVmb3JtYXQgdGhlIGN1cnJlbnQgYmxhbmstbGluZS1zZXBhcmF0ZWQgcGFyYWdyYXBoCisgICBSZWZvcm1hdCB0aGUgY3VycmVudCBibGFuay1saW5lLXNlcGFyYXRlZCBwYXJhZ3JhcGguIEFsbCBsaW5lcyBpbiB0aGUKKyAgIHBhcmFncmFwaCB3aWxsIGJlIGZvcm1hdHRlZCB0byBsZXNzIHRoYW4gODAgY29sdW1ucy4KIAotSW1wb3J0IG1vZHVsZQotICAgSW1wb3J0IG9yIHJlbG9hZCB0aGUgY3VycmVudCBtb2R1bGUKLQotUnVuIHNjcmlwdAotICAgRXhlY3V0ZSB0aGUgY3VycmVudCBmaWxlIGluIHRoZSBfX21haW5fXyBuYW1lc3BhY2UKK1N0cmlwIHRyYWlsaW5nIHdoaXRlc3BhY2UKKyAgIFJlbW92ZXMgYW55IHNwYWNlIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgbGFzdCBub24tc3BhY2UgY2hhcmFjdGVyCiAKIC4uIGluZGV4OjoKICAgIHNpbmdsZTogSW1wb3J0IG1vZHVsZQogICAgc2luZ2xlOiBSdW4gc2NyaXB0CiAKIAotV2luZG93cyBtZW51Ci1eXl5eXl5eXl5eXl4KK1J1biBtZW51IChFZGl0b3Igd2luZG93IG9ubHkpCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCi1ab29tIEhlaWdodAotICAgdG9nZ2xlcyB0aGUgd2luZG93IGJldHdlZW4gbm9ybWFsIHNpemUgKDI0eDgwKSBhbmQgbWF4aW11bSBoZWlnaHQuCitQeXRob24gU2hlbGwKKyAgIE9wZW4gb3Igd2FrZSB1cCB0aGUgUHl0aG9uIFNoZWxsIHdpbmRvdwogCi1UaGUgcmVzdCBvZiB0aGlzIG1lbnUgbGlzdHMgdGhlIG5hbWVzIG9mIGFsbCBvcGVuIHdpbmRvd3M7IHNlbGVjdCBvbmUgdG8gYnJpbmcKLWl0IHRvIHRoZSBmb3JlZ3JvdW5kIChkZWljb25pZnlpbmcgaXQgaWYgbmVjZXNzYXJ5KS4KK0NoZWNrIG1vZHVsZQorICAgQ2hlY2sgdGhlIHN5bnRheCBvZiB0aGUgbW9kdWxlIGN1cnJlbnRseSBvcGVuIGluIHRoZSBFZGl0b3Igd2luZG93LiBJZiB0aGUKKyAgIG1vZHVsZSBoYXMgbm90IGJlZW4gc2F2ZWQgSURMRSB3aWxsIHByb21wdCB0aGUgdXNlciB0byBzYXZlIHRoZSBjb2RlLgogCitSdW4gbW9kdWxlCisgICBSZXN0YXJ0IHRoZSBzaGVsbCB0byBjbGVhbiB0aGUgZW52aXJvbm1lbnQsIHRoZW4gZXhlY3V0ZSB0aGUgY3VycmVudGx5CisgICBvcGVuIG1vZHVsZS4gIElmIHRoZSBtb2R1bGUgaGFzIG5vdCBiZWVuIHNhdmVkIElETEUgd2lsbCBwcm9tcHQgdGhlIHVzZXIKKyAgIHRvIHNhdmUgdGhlIGNvZGUuCiAKLURlYnVnIG1lbnUKLV5eXl5eXl5eXl4KK1NoZWxsIG1lbnUgKFNoZWxsIHdpbmRvdyBvbmx5KQorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCiAKLSogaW4gdGhlIFB5dGhvbiBTaGVsbCB3aW5kb3cgb25seQorVmlldyBMYXN0IFJlc3RhcnQKKyAgU2Nyb2xsIHRoZSBzaGVsbCB3aW5kb3cgdG8gdGhlIGxhc3QgU2hlbGwgcmVzdGFydAorCitSZXN0YXJ0IFNoZWxsCisgIFJlc3RhcnQgdGhlIHNoZWxsIHRvIGNsZWFuIHRoZSBlbnZpcm9ubWVudAorCitEZWJ1ZyBtZW51IChTaGVsbCB3aW5kb3cgb25seSkKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCiBHbyB0byBmaWxlL2xpbmUKICAgIExvb2sgYXJvdW5kIHRoZSBpbnNlcnQgcG9pbnQgZm9yIGEgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyLCBvcGVuIHRoZSBmaWxlLAogICAgYW5kIHNob3cgdGhlIGxpbmUuICBVc2VmdWwgdG8gdmlldyB0aGUgc291cmNlIGxpbmVzIHJlZmVyZW5jZWQgaW4gYW4KLSAgIGV4Y2VwdGlvbiB0cmFjZWJhY2suCisgICBleGNlcHRpb24gdHJhY2ViYWNrLiBBdmFpbGFibGUgaW4gdGhlIGNvbnRleHQgbWVudSBvZiB0aGUgU2hlbGwgd2luZG93LgogCi1EZWJ1Z2dlcgotICAgUnVuIGNvbW1hbmRzIGluIHRoZSBzaGVsbCB1bmRlciB0aGUgZGVidWdnZXIuCitEZWJ1Z2dlciAodG9nZ2xlKQorICAgVGhpcyBmZWF0dXJlIGlzIG5vdCBjb21wbGV0ZSBhbmQgY29uc2lkZXJlZCBleHBlcmltZW50YWwuIFJ1biBjb21tYW5kcyBpbgorICAgdGhlIHNoZWxsIHVuZGVyIHRoZSBkZWJ1Z2dlcgogCiBTdGFjayB2aWV3ZXIKLSAgIFNob3cgdGhlIHN0YWNrIHRyYWNlYmFjayBvZiB0aGUgbGFzdCBleGNlcHRpb24uCisgICBTaG93IHRoZSBzdGFjayB0cmFjZWJhY2sgb2YgdGhlIGxhc3QgZXhjZXB0aW9uCiAKIEF1dG8tb3BlbiBTdGFjayBWaWV3ZXIKLSAgIE9wZW4gc3RhY2sgdmlld2VyIG9uIHRyYWNlYmFjay4KKyAgIFRvZ2dsZSBhdXRvbWF0aWNhbGx5IG9wZW5pbmcgdGhlIHN0YWNrIHZpZXdlciBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uCiAKIC4uIGluZGV4OjoKICAgIHNpbmdsZTogc3RhY2sgdmlld2VyCiAgICBzaW5nbGU6IGRlYnVnZ2VyCiAKK09wdGlvbnMgbWVudSAoU2hlbGwgYW5kIEVkaXRvcikKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KIAotRWRpdCBjb250ZXh0IG1lbnUKLV5eXl5eXl5eXl5eXl5eXl5eCitDb25maWd1cmUgSURMRQorICAgT3BlbiBhIGNvbmZpZ3VyYXRpb24gZGlhbG9nLiAgRm9udHMsIGluZGVudGF0aW9uLCBrZXliaW5kaW5ncywgYW5kIGNvbG9yCisgICB0aGVtZXMgbWF5IGJlIGFsdGVyZWQuICBTdGFydHVwIFByZWZlcmVuY2VzIG1heSBiZSBzZXQsIGFuZCBhZGRpdGlvbmFsCisgICBoZWxwIHNvdXJjZXMgY2FuIGJlIHNwZWNpZmllZC4KIAotKiBSaWdodC1jbGljayBpbiBFZGl0IHdpbmRvdyAoQ29udHJvbC1jbGljayBvbiBPUyBYKQorQ29kZSBDb250ZXh0ICh0b2dnbGUpKEVkaXRvciBXaW5kb3cgb25seSkKKyAgIE9wZW4gYSBwYW5lIGF0IHRoZSB0b3Agb2YgdGhlIGVkaXQgd2luZG93IHdoaWNoIHNob3dzIHRoZSBibG9jayBjb250ZXh0CisgICBvZiB0aGUgc2VjdGlvbiBvZiBjb2RlIHdoaWNoIGlzIHNjcm9sbGluZyBvZmYgdGhlIHRvcCBvZiB0aGUgd2luZG93LgorCitXaW5kb3dzIG1lbnUgKFNoZWxsIGFuZCBFZGl0b3IpCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKK1pvb20gSGVpZ2h0CisgICBUb2dnbGVzIHRoZSB3aW5kb3cgYmV0d2VlbiBub3JtYWwgc2l6ZSAoNDB4ODAgaW5pdGlhbCBzZXR0aW5nKSBhbmQgbWF4aW11bQorICAgaGVpZ2h0LiBUaGUgaW5pdGlhbCBzaXplIGlzIGluIHRoZSBDb25maWd1cmUgSURMRSBkaWFsb2cgdW5kZXIgdGhlIGdlbmVyYWwKKyAgIHRhYi4KKworVGhlIHJlc3Qgb2YgdGhpcyBtZW51IGxpc3RzIHRoZSBuYW1lcyBvZiBhbGwgb3BlbiB3aW5kb3dzOyBzZWxlY3Qgb25lIHRvIGJyaW5nCitpdCB0byB0aGUgZm9yZWdyb3VuZCAoZGVpY29uaWZ5aW5nIGl0IGlmIG5lY2Vzc2FyeSkuCisKK0hlbHAgbWVudSAoU2hlbGwgYW5kIEVkaXRvcikKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKworQWJvdXQgSURMRQorICAgVmVyc2lvbiwgY29weXJpZ2h0LCBsaWNlbnNlLCBjcmVkaXRzCisKK0lETEUgSGVscAorICAgRGlzcGxheSBhIGhlbHAgZmlsZSBmb3IgSURMRSBkZXRhaWxpbmcgdGhlIG1lbnUgb3B0aW9ucywgYmFzaWMgZWRpdGluZyBhbmQKKyAgIG5hdmlnYXRpb24sIGFuZCBvdGhlciB0aXBzLgorCitQeXRob24gRG9jcworICAgQWNjZXNzIGxvY2FsIFB5dGhvbiBkb2N1bWVudGF0aW9uLCBpZiBpbnN0YWxsZWQuIE9yIHdpbGwgc3RhcnQgYSB3ZWIgYnJvd3NlcgorICAgYW5kIG9wZW4gZG9jcy5weXRob24ub3JnIHNob3dpbmcgdGhlIGxhdGVzdCBQeXRob24gZG9jdW1lbnRhdGlvbi4KKworQWRkaXRpb25hbCBoZWxwIHNvdXJjZXMgbWF5IGJlIGFkZGVkIGhlcmUgd2l0aCB0aGUgQ29uZmlndXJlIElETEUgZGlhbG9nIHVuZGVyCit0aGUgR2VuZXJhbCB0YWIuCisKK0VkaXRvciBXaW5kb3cgY29udGV4dCBtZW51CiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCisqIFJpZ2h0LWNsaWNrIGluIEVkaXRvciB3aW5kb3cgKENvbnRyb2wtY2xpY2sgb24gT1MgWCkKIAogQ3V0CiAgICBDb3B5IHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZDsgdGhlbiBkZWxldGUgc2VsZWN0aW9uCkBAIC0yMDcsOCArMjkyLDggQEAKICAgIHNpbmdsZTogYnJlYWtwb2ludHMKIAogCi1TaGVsbCBjb250ZXh0IG1lbnUKLV5eXl5eXl5eXl5eXl5eXl5eXgorU2hlbGwgV2luZG93IGNvbnRleHQgbWVudQorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCiAqIFJpZ2h0LWNsaWNrIGluIFB5dGhvbiBTaGVsbCB3aW5kb3cgKENvbnRyb2wtY2xpY2sgb24gT1MgWCkKIApAQCAtMjI1LDE5ICszMTAsNDQgQEAKICAgIFNhbWUgYXMgaW4gRGVidWcgbWVudS4KIAogCi1CYXNpYyBlZGl0aW5nIGFuZCBuYXZpZ2F0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitFZGl0aW5nIGFuZCBuYXZpZ2F0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICogOmtiZDpgQmFja3NwYWNlYCBkZWxldGVzIHRvIHRoZSBsZWZ0OyA6a2JkOmBEZWxgIGRlbGV0ZXMgdG8gdGhlIHJpZ2h0CiAKKyogOmtiZDpgQy1CYWNrc3BhY2VgIGRlbGV0ZSB3b3JkIGxlZnQ7IDprYmQ6YEMtRGVsYCBkZWxldGUgd29yZCB0byB0aGUgcmlnaHQKKwogKiBBcnJvdyBrZXlzIGFuZCA6a2JkOmBQYWdlIFVwYC86a2JkOmBQYWdlIERvd25gIHRvIG1vdmUgYXJvdW5kCiAKKyogOmtiZDpgQy1MZWZ0QXJyb3dgIGFuZCA6a2JkOmBDLVJpZ2h0QXJyb3dgIG1vdmVzIGJ5IHdvcmRzCisKICogOmtiZDpgSG9tZWAvOmtiZDpgRW5kYCBnbyB0byBiZWdpbi9lbmQgb2YgbGluZQogCiAqIDprYmQ6YEMtSG9tZWAvOmtiZDpgQy1FbmRgIGdvIHRvIGJlZ2luL2VuZCBvZiBmaWxlCiAKLSogU29tZSA6cHJvZ3JhbTpgRW1hY3NgIGJpbmRpbmdzIG1heSBhbHNvIHdvcmssIGluY2x1ZGluZyA6a2JkOmBDLUJgLAotICA6a2JkOmBDLVBgLCA6a2JkOmBDLUFgLCA6a2JkOmBDLUVgLCA6a2JkOmBDLURgLCA6a2JkOmBDLUxgCisqIFNvbWUgdXNlZnVsIEVtYWNzIGJpbmRpbmdzIGFyZSBpbmhlcml0ZWQgZnJvbSBUY2wvVGs6CisKKyAgICogOmtiZDpgQy1hYCBiZWdpbm5pbmcgb2YgbGluZQorCisgICAqIDprYmQ6YEMtZWAgZW5kIG9mIGxpbmUKKworICAgKiA6a2JkOmBDLWtgIGtpbGwgbGluZSAoYnV0IGRvZXNuJ3QgcHV0IGl0IGluIGNsaXBib2FyZCkKKworICAgKiA6a2JkOmBDLWxgIGNlbnRlciB3aW5kb3cgYXJvdW5kIHRoZSBpbnNlcnRpb24gcG9pbnQKKworICAgKiA6a2JkOmBDLWJgIGdvIGJhY2t3YXJkcyBvbmUgY2hhcmFjdGVyIHdpdGhvdXQgZGVsZXRpbmcgKHVzdWFsbHkgeW91IGNhbgorICAgICBhbHNvIHVzZSB0aGUgY3Vyc29yIGtleSBmb3IgdGhpcykKKworICAgKiA6a2JkOmBDLWZgIGdvIGZvcndhcmQgb25lIGNoYXJhY3RlciB3aXRob3V0IGRlbGV0aW5nICh1c3VhbGx5IHlvdSBjYW4KKyAgICAgYWxzbyB1c2UgdGhlIGN1cnNvciBrZXkgZm9yIHRoaXMpCisKKyAgICogOmtiZDpgQy1wYCBnbyB1cCBvbmUgbGluZSAodXN1YWxseSB5b3UgY2FuIGFsc28gdXNlIHRoZSBjdXJzb3Iga2V5IGZvcgorICAgICB0aGlzKQorCisgICAqIDprYmQ6YEMtZGAgZGVsZXRlIG5leHQgY2hhcmFjdGVyCisKK1N0YW5kYXJkIGtleWJpbmRpbmdzIChsaWtlIDprYmQ6YEMtY2AgdG8gY29weSBhbmQgOmtiZDpgQy12YCB0byBwYXN0ZSkKK21heSB3b3JrLiAgS2V5YmluZGluZ3MgYXJlIHNlbGVjdGVkIGluIHRoZSBDb25maWd1cmUgSURMRSBkaWFsb2cuCiAKIAogQXV0b21hdGljIGluZGVudGF0aW9uCkBAIC0yNDYsMjcgKzM1Niw3NiBAQAogQWZ0ZXIgYSBibG9jay1vcGVuaW5nIHN0YXRlbWVudCwgdGhlIG5leHQgbGluZSBpcyBpbmRlbnRlZCBieSA0IHNwYWNlcyAoaW4gdGhlCiBQeXRob24gU2hlbGwgd2luZG93IGJ5IG9uZSB0YWIpLiAgQWZ0ZXIgY2VydGFpbiBrZXl3b3JkcyAoYnJlYWssIHJldHVybiBldGMuKQogdGhlIG5leHQgbGluZSBpcyBkZWRlbnRlZC4gIEluIGxlYWRpbmcgaW5kZW50YXRpb24sIDprYmQ6YEJhY2tzcGFjZWAgZGVsZXRlcyB1cAotdG8gNCBzcGFjZXMgaWYgdGhleSBhcmUgdGhlcmUuIDprYmQ6YFRhYmAgaW5zZXJ0cyAxLTQgc3BhY2VzIChpbiB0aGUgUHl0aG9uCi1TaGVsbCB3aW5kb3cgb25lIHRhYikuIFNlZSBhbHNvIHRoZSBpbmRlbnQvZGVkZW50IHJlZ2lvbiBjb21tYW5kcyBpbiB0aGUgZWRpdAotbWVudS4KK3RvIDQgc3BhY2VzIGlmIHRoZXkgYXJlIHRoZXJlLiA6a2JkOmBUYWJgIGluc2VydHMgc3BhY2VzIChpbiB0aGUgUHl0aG9uCitTaGVsbCB3aW5kb3cgb25lIHRhYiksIG51bWJlciBkZXBlbmRzIG9uIEluZGVudCB3aWR0aC4gQ3VycmVudGx5IHRhYnMKK2FyZSByZXN0cmljdGVkIHRvIGZvdXIgc3BhY2VzIGR1ZSB0byBUY2wvVGsgbGltaXRhdGlvbnMuCiAKK1NlZSBhbHNvIHRoZSBpbmRlbnQvZGVkZW50IHJlZ2lvbiBjb21tYW5kcyBpbiB0aGUgZWRpdCBtZW51LgorCitDb21wbGV0aW9ucworXl5eXl5eXl5eXl4KKworQ29tcGxldGlvbnMgYXJlIHN1cHBsaWVkIGZvciBmdW5jdGlvbnMsIGNsYXNzZXMsIGFuZCBhdHRyaWJ1dGVzIG9mIGNsYXNzZXMsCitib3RoIGJ1aWx0LWluIGFuZCB1c2VyLWRlZmluZWQuIENvbXBsZXRpb25zIGFyZSBhbHNvIHByb3ZpZGVkIGZvcgorZmlsZW5hbWVzLgorCitUaGUgQXV0b0NvbXBsZXRlV2luZG93IChBQ1cpIHdpbGwgb3BlbiBhZnRlciBhIHByZWRlZmluZWQgZGVsYXkgKGRlZmF1bHQgaXMKK3R3byBzZWNvbmRzKSBhZnRlciBhICcuJyBvciAoaW4gYSBzdHJpbmcpIGFuIG9zLnNlcCBpcyB0eXBlZC4gSWYgYWZ0ZXIgb25lCitvZiB0aG9zZSBjaGFyYWN0ZXJzIChwbHVzIHplcm8gb3IgbW9yZSBvdGhlciBjaGFyYWN0ZXJzKSBhIHRhYiBpcyB0eXBlZAordGhlIEFDVyB3aWxsIG9wZW4gaW1tZWRpYXRlbHkgaWYgYSBwb3NzaWJsZSBjb250aW51YXRpb24gaXMgZm91bmQuCisKK0lmIHRoZXJlIGlzIG9ubHkgb25lIHBvc3NpYmxlIGNvbXBsZXRpb24gZm9yIHRoZSBjaGFyYWN0ZXJzIGVudGVyZWQsIGEKKzprYmQ6YFRhYmAgd2lsbCBzdXBwbHkgdGhhdCBjb21wbGV0aW9uIHdpdGhvdXQgb3BlbmluZyB0aGUgQUNXLgorCisnU2hvdyBDb21wbGV0aW9ucycgd2lsbCBmb3JjZSBvcGVuIGEgY29tcGxldGlvbnMgd2luZG93LCBieSBkZWZhdWx0IHRoZQorOmtiZDpgQy1zcGFjZWAgd2lsbCBvcGVuIGEgY29tcGxldGlvbnMgd2luZG93LiBJbiBhbiBlbXB0eQorc3RyaW5nLCB0aGlzIHdpbGwgY29udGFpbiB0aGUgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiBPbiBhCitibGFuayBsaW5lLCBpdCB3aWxsIGNvbnRhaW4gdGhlIGJ1aWx0LWluIGFuZCB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGFuZAorY2xhc3NlcyBpbiB0aGUgY3VycmVudCBuYW1lIHNwYWNlcywgcGx1cyBhbnkgbW9kdWxlcyBpbXBvcnRlZC4gSWYgc29tZQorY2hhcmFjdGVycyBoYXZlIGJlZW4gZW50ZXJlZCwgdGhlIEFDVyB3aWxsIGF0dGVtcHQgdG8gYmUgbW9yZSBzcGVjaWZpYy4KKworSWYgYSBzdHJpbmcgb2YgY2hhcmFjdGVycyBpcyB0eXBlZCwgdGhlIEFDVyBzZWxlY3Rpb24gd2lsbCBqdW1wIHRvIHRoZQorZW50cnkgbW9zdCBjbG9zZWx5IG1hdGNoaW5nIHRob3NlIGNoYXJhY3RlcnMuICBFbnRlcmluZyBhIDprYmQ6YHRhYmAgd2lsbAorY2F1c2UgdGhlIGxvbmdlc3Qgbm9uLWFtYmlndW91cyBtYXRjaCB0byBiZSBlbnRlcmVkIGluIHRoZSBFZGl0b3Igd2luZG93IG9yCitTaGVsbC4gIFR3byA6a2JkOmB0YWJgIGluIGEgcm93IHdpbGwgc3VwcGx5IHRoZSBjdXJyZW50IEFDVyBzZWxlY3Rpb24sIGFzCit3aWxsIHJldHVybiBvciBhIGRvdWJsZSBjbGljay4gIEN1cnNvciBrZXlzLCBQYWdlIFVwL0Rvd24sIG1vdXNlIHNlbGVjdGlvbiwKK2FuZCB0aGUgc2Nyb2xsIHdoZWVsIGFsbCBvcGVyYXRlIG9uIHRoZSBBQ1cuCisKKyJIaWRkZW4iIGF0dHJpYnV0ZXMgY2FuIGJlIGFjY2Vzc2VkIGJ5IHR5cGluZyB0aGUgYmVnaW5uaW5nIG9mIGhpZGRlbgorbmFtZSBhZnRlciBhICcuJywgZS5nLiAnXycuIFRoaXMgYWxsb3dzIGFjY2VzcyB0byBtb2R1bGVzIHdpdGgKK2BgX19hbGxfX2BgIHNldCwgb3IgdG8gY2xhc3MtcHJpdmF0ZSBhdHRyaWJ1dGVzLgorCitDb21wbGV0aW9ucyBhbmQgdGhlICdFeHBhbmQgV29yZCcgZmFjaWxpdHkgY2FuIHNhdmUgYSBsb3Qgb2YgdHlwaW5nIQorCitDb21wbGV0aW9ucyBhcmUgY3VycmVudGx5IGxpbWl0ZWQgdG8gdGhvc2UgaW4gdGhlIG5hbWVzcGFjZXMuIE5hbWVzIGluCithbiBFZGl0b3Igd2luZG93IHdoaWNoIGFyZSBub3QgdmlhIGBgX19tYWluX19gYCBhbmQgOmRhdGE6YHN5cy5tb2R1bGVzYCB3aWxsCitub3QgYmUgZm91bmQuICBSdW4gdGhlIG1vZHVsZSBvbmNlIHdpdGggeW91ciBpbXBvcnRzIHRvIGNvcnJlY3QgdGhpcyBzaXR1YXRpb24uCitOb3RlIHRoYXQgSURMRSBpdHNlbGYgcGxhY2VzIHF1aXRlIGEgZmV3IG1vZHVsZXMgaW4gc3lzLm1vZHVsZXMsIHNvCittdWNoIGNhbiBiZSBmb3VuZCBieSBkZWZhdWx0LCBlLmcuIHRoZSByZSBtb2R1bGUuCisKK0lmIHlvdSBkb24ndCBsaWtlIHRoZSBBQ1cgcG9wcGluZyB1cCB1bmJpZGRlbiwgc2ltcGx5IG1ha2UgdGhlIGRlbGF5Citsb25nZXIgb3IgZGlzYWJsZSB0aGUgZXh0ZW5zaW9uLiAgT3IgYW5vdGhlciBvcHRpb24gaXMgdGhlIGRlbGF5IGNvdWxkCitiZSBzZXQgdG8gemVyby4gQW5vdGhlciBhbHRlcm5hdGl2ZSB0byBwcmV2ZW50aW5nIEFDVyBwb3B1cHMgaXMgdG8KK2Rpc2FibGUgdGhlIGNhbGwgdGlwcyBleHRlbnNpb24uCiAKIFB5dGhvbiBTaGVsbCB3aW5kb3cKIF5eXl5eXl5eXl5eXl5eXl5eXl4KIAotKiA6a2JkOmBDLUNgIGludGVycnVwdHMgZXhlY3V0aW5nIGNvbW1hbmQKKyogOmtiZDpgQy1jYCBpbnRlcnJ1cHRzIGV4ZWN1dGluZyBjb21tYW5kCiAKLSogOmtiZDpgQy1EYCBzZW5kcyBlbmQtb2YtZmlsZTsgY2xvc2VzIHdpbmRvdyBpZiB0eXBlZCBhdCBhIGBgPj4+YGAgcHJvbXB0CisqIDprYmQ6YEMtZGAgc2VuZHMgZW5kLW9mLWZpbGU7IGNsb3NlcyB3aW5kb3cgaWYgdHlwZWQgYXQgYSBgYD4+PmBgIHByb21wdAorICAodGhpcyBpcyA6a2JkOmBDLXpgIG9uIFdpbmRvd3MpLgogCi0qIDprYmQ6YEFsdC1wYCByZXRyaWV2ZXMgcHJldmlvdXMgY29tbWFuZCBtYXRjaGluZyB3aGF0IHlvdSBoYXZlIHR5cGVkCisqIDprYmQ6YEFsdC0vYCAoRXhwYW5kIHdvcmQpIGlzIGFsc28gdXNlZnVsIHRvIHJlZHVjZSB0eXBpbmcKIAotKiA6a2JkOmBBbHQtbmAgcmV0cmlldmVzIG5leHQKKyAgQ29tbWFuZCBoaXN0b3J5CiAKLSogOmtiZDpgUmV0dXJuYCB3aGlsZSBvbiBhbnkgcHJldmlvdXMgY29tbWFuZCByZXRyaWV2ZXMgdGhhdCBjb21tYW5kCisgICogOmtiZDpgQWx0LXBgIHJldHJpZXZlcyBwcmV2aW91cyBjb21tYW5kIG1hdGNoaW5nIHdoYXQgeW91IGhhdmUgdHlwZWQuIE9uCisgICAgT1MgWCB1c2UgOmtiZDpgQy1wYC4KIAotKiA6a2JkOmBBbHQtL2AgKEV4cGFuZCB3b3JkKSBpcyBhbHNvIHVzZWZ1bCBoZXJlCisgICogOmtiZDpgQWx0LW5gIHJldHJpZXZlcyBuZXh0LiBPbiBPUyBYIHVzZSA6a2JkOmBDLW5gLgogCi0uLiBpbmRleDo6IHNpbmdsZTogaW5kZW50YXRpb24KKyAgKiA6a2JkOmBSZXR1cm5gIHdoaWxlIG9uIGFueSBwcmV2aW91cyBjb21tYW5kIHJldHJpZXZlcyB0aGF0IGNvbW1hbmQKIAogCiBTeW50YXggY29sb3JzCkBAIC0zMDgsMTcgKzQ2NywxNyBAQAogCiBVcG9uIHN0YXJ0dXAgd2l0aCB0aGUgYGAtc2BgIG9wdGlvbiwgSURMRSB3aWxsIGV4ZWN1dGUgdGhlIGZpbGUgcmVmZXJlbmNlZCBieQogdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyA6ZW52dmFyOmBJRExFU1RBUlRVUGAgb3IgOmVudnZhcjpgUFlUSE9OU1RBUlRVUGAuCi1JZGxlIGZpcnN0IGNoZWNrcyBmb3IgYGBJRExFU1RBUlRVUGBgOyBpZiBgYElETEVTVEFSVFVQYGAgaXMgcHJlc2VudCB0aGUgZmlsZQotcmVmZXJlbmNlZCBpcyBydW4uICBJZiBgYElETEVTVEFSVFVQYGAgaXMgbm90IHByZXNlbnQsIElkbGUgY2hlY2tzIGZvcgorSURMRSBmaXJzdCBjaGVja3MgZm9yIGBgSURMRVNUQVJUVVBgYDsgaWYgYGBJRExFU1RBUlRVUGBgIGlzIHByZXNlbnQgdGhlIGZpbGUKK3JlZmVyZW5jZWQgaXMgcnVuLiAgSWYgYGBJRExFU1RBUlRVUGBgIGlzIG5vdCBwcmVzZW50LCBJRExFIGNoZWNrcyBmb3IKIGBgUFlUSE9OU1RBUlRVUGBgLiAgRmlsZXMgcmVmZXJlbmNlZCBieSB0aGVzZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlCi1jb252ZW5pZW50IHBsYWNlcyB0byBzdG9yZSBmdW5jdGlvbnMgdGhhdCBhcmUgdXNlZCBmcmVxdWVudGx5IGZyb20gdGhlIElkbGUKK2NvbnZlbmllbnQgcGxhY2VzIHRvIHN0b3JlIGZ1bmN0aW9ucyB0aGF0IGFyZSB1c2VkIGZyZXF1ZW50bHkgZnJvbSB0aGUgSURMRQogc2hlbGwsIG9yIGZvciBleGVjdXRpbmcgaW1wb3J0IHN0YXRlbWVudHMgdG8gaW1wb3J0IGNvbW1vbiBtb2R1bGVzLgogCiBJbiBhZGRpdGlvbiwgYGBUa2BgIGFsc28gbG9hZHMgYSBzdGFydHVwIGZpbGUgaWYgaXQgaXMgcHJlc2VudC4gIE5vdGUgdGhhdCB0aGUKIFRrIGZpbGUgaXMgbG9hZGVkIHVuY29uZGl0aW9uYWxseS4gIFRoaXMgYWRkaXRpb25hbCBmaWxlIGlzIGBgLklkbGUucHlgYCBhbmQgaXMKIGxvb2tlZCBmb3IgaW4gdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeS4gIFN0YXRlbWVudHMgaW4gdGhpcyBmaWxlIHdpbGwgYmUKIGV4ZWN1dGVkIGluIHRoZSBUayBuYW1lc3BhY2UsIHNvIHRoaXMgZmlsZSBpcyBub3QgdXNlZnVsIGZvciBpbXBvcnRpbmcgZnVuY3Rpb25zCi10byBiZSB1c2VkIGZyb20gSWRsZSdzIFB5dGhvbiBzaGVsbC4KK3RvIGJlIHVzZWQgZnJvbSBJRExFJ3MgUHl0aG9uIHNoZWxsLgogCiAKIENvbW1hbmQgbGluZSB1c2FnZQpAQCAtMzQ5LDMgKzUwOCw0NSBAQAogICAgdGhlIGFyZ3VtZW50cyBhcmUgc3RpbGwgYXZhaWxhYmxlIGluIGBgc3lzLmFyZ3ZgYC4KIAogCitBZGRpdGlvbmFsIGhlbHAgc291cmNlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSURMRSBpbmNsdWRlcyBhIGhlbHAgbWVudSBlbnRyeSBjYWxsZWQgIlB5dGhvbiBEb2NzIiB0aGF0IHdpbGwgb3BlbiB0aGUKK2V4dGVuc2l2ZSBzb3VyY2VzIG9mIGhlbHAsIGluY2x1ZGluZyB0dXRvcmlhbHMsIGF2YWlsYWJsZSBhdCBkb2NzLnB5dGhvbi5vcmcuCitTZWxlY3RlZCBVUkxzIGNhbiBiZSBhZGRlZCBvciByZW1vdmVkIGZyb20gdGhlIGhlbHAgbWVudSBhdCBhbnkgdGltZSB1c2luZyB0aGUKK0NvbmZpZ3VyZSBJRExFIGRpYWxvZy4gU2VlIHRoZSBJRExFIGhlbHAgb3B0aW9uIGluIHRoZSBoZWxwIG1lbnUgb2YgSURMRSBmb3IKK21vcmUgaW5mb3JtYXRpb24uCisKKworT3RoZXIgcHJlZmVyZW5jZXMKKy0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBmb250IHByZWZlcmVuY2VzLCBoaWdobGlnaHRpbmcsIGtleXMsIGFuZCBnZW5lcmFsIHByZWZlcmVuY2VzIGNhbiBiZQorY2hhbmdlZCB2aWEgdGhlIENvbmZpZ3VyZSBJRExFIG1lbnUgb3B0aW9uLiAgQmUgc3VyZSB0byBub3RlIHRoYXQKK2tleXMgY2FuIGJlIHVzZXIgZGVmaW5lZCwgSURMRSBzaGlwcyB3aXRoIGZvdXIgYnVpbHQgaW4ga2V5IHNldHMuIEluCithZGRpdGlvbiBhIHVzZXIgY2FuIGNyZWF0ZSBhIGN1c3RvbSBrZXkgc2V0IGluIHRoZSBDb25maWd1cmUgSURMRSBkaWFsb2cKK3VuZGVyIHRoZSBrZXlzIHRhYi4KKworRXh0ZW5zaW9ucworLS0tLS0tLS0tLQorCitJRExFIGNvbnRhaW5zIGFuIGV4dGVuc2lvbiBmYWNpbGl0eS4gIFNlZSB0aGUgYmVnaW5uaW5nIG9mCitjb25maWctZXh0ZW5zaW9ucy5kZWYgaW4gdGhlIGlkbGVsaWIgZGlyZWN0b3J5IGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLiAgVGhlCitkZWZhdWx0IGV4dGVuc2lvbnMgYXJlIGN1cnJlbnRseToKKworKiBGb3JtYXRQYXJhZ3JhcGgKKworKiBBdXRvRXhwYW5kCisKKyogWm9vbUhlaWdodAorCisqIFNjcmlwdEJpbmRpbmcKKworKiBDYWxsVGlwcworCisqIFBhcmVuTWF0Y2gKKworKiBBdXRvQ29tcGxldGUKKworKiBDb2RlQ29udGV4dAorCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9pbXAucnN0IGIvRG9jL2xpYnJhcnkvaW1wLnJzdAppbmRleCA3ZDRiZjRmLi5lMDkwZTAwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pbXAucnN0CisrKyBiL0RvYy9saWJyYXJ5L2ltcC5yc3QKQEAgLTEsNiArMSw5IEBACiA6bW9kOmBpbXBgIC0tLSBBY2Nlc3MgdGhlIDpyZWY6YGltcG9ydCA8aW1wb3J0c3lzdGVtPmAgaW50ZXJuYWxzCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKKy4uIGRlcHJlY2F0ZWQ6OiAzLjQKKyAgIFRoZSA6bW9kOmBpbXBgIHBhY2thZ2UgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZiA6bW9kOmBpbXBvcnRsaWJgLgorCiAuLiBtb2R1bGU6OiBpbXAKICAgIDpzeW5vcHNpczogQWNjZXNzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgaW1wb3J0IHN0YXRlbWVudC4KIApAQCAtMTEsMTAgKzE0LDYgQEAKIDprZXl3b3JkOmBpbXBvcnRgIHN0YXRlbWVudC4gIEl0IGRlZmluZXMgdGhlIGZvbGxvd2luZyBjb25zdGFudHMgYW5kIGZ1bmN0aW9uczoKIAogCi0uLiBub3RlOjoKLSAgIE5ldyBwcm9ncmFtcyBzaG91bGQgdXNlIDptb2Q6YGltcG9ydGxpYmAgcmF0aGVyIHRoYW4gdGhpcyBtb2R1bGUuCi0KLQogLi4gZnVuY3Rpb246OiBnZXRfbWFnaWMoKQogCiAgICAuLiBpbmRleDo6IHBhaXI6IGZpbGU7IGJ5dGUtY29kZQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaW1wb3J0bGliLnJzdCBiL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QKaW5kZXggMGFiZjVlOC4uYWVlYjNmZCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW1wb3J0bGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pbXBvcnRsaWIucnN0CkBAIC05MCw3ICs5MCw3IEBACiAKICAgIEZpbmQgdGhlIGxvYWRlciBmb3IgYSBtb2R1bGUsIG9wdGlvbmFsbHkgd2l0aGluIHRoZSBzcGVjaWZpZWQgKnBhdGgqLiBJZiB0aGUKICAgIG1vZHVsZSBpcyBpbiA6YXR0cjpgc3lzLm1vZHVsZXNgLCB0aGVuIGBgc3lzLm1vZHVsZXNbbmFtZV0uX19sb2FkZXJfX2BgIGlzCi0gICByZXR1cm5lZCAodW5sZXNzIHRoZSBsb2FkZXIgd291bGQgYmUgYGBOb25lYGAsIGluIHdoaWNoIGNhc2UKKyAgIHJldHVybmVkICh1bmxlc3MgdGhlIGxvYWRlciB3b3VsZCBiZSBgYE5vbmVgYCBvciBpcyBub3Qgc2V0LCBpbiB3aGljaCBjYXNlCiAgICA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQpLiBPdGhlcndpc2UgYSBzZWFyY2ggdXNpbmcgOmF0dHI6YHN5cy5tZXRhX3BhdGhgCiAgICBpcyBkb25lLiBgYE5vbmVgYCBpcyByZXR1cm5lZCBpZiBubyBsb2FkZXIgaXMgZm91bmQuCiAKQEAgLTk5LDYgKzk5LDEyIEBACiAgICB3aWxsIG5lZWQgdG8gaW1wb3J0IGFsbCBwYXJlbnQgcGFja2FnZXMgb2YgdGhlIHN1Ym1vZHVsZSBhbmQgdXNlIHRoZSBjb3JyZWN0CiAgICBhcmd1bWVudCB0byAqcGF0aCouCiAKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgSWYgYGBfX2xvYWRlcl9fYGAgaXMgbm90IHNldCwgcmFpc2UgOmV4YzpgVmFsdWVFcnJvcmAsIGp1c3QgbGlrZSB3aGVuIHRoZQorICAgICAgYXR0cmlidXRlIGlzIHNldCB0byBgYE5vbmVgYC4KKwogLi4gZnVuY3Rpb246OiBpbnZhbGlkYXRlX2NhY2hlcygpCiAKICAgIEludmFsaWRhdGUgdGhlIGludGVybmFsIGNhY2hlcyBvZiBmaW5kZXJzIHN0b3JlZCBhdApAQCAtMTMyLDggKzEzOCw2IEBACiAgICAgICAgICAgICAgICArLS0gRXhlY3V0aW9uTG9hZGVyIC0tKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICstLSBGaWxlTG9hZGVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tIFNvdXJjZUxvYWRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tIFB5TG9hZGVyIChkZXByZWNhdGVkKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tIFB5UHljTG9hZGVyIChkZXByZWNhdGVkKQogCiAKIC4uIGNsYXNzOjogRmluZGVyCkBAIC0xNDksNiArMTUzLDEwIEBACiAgICAgICBtb2R1bGUuICBPcmlnaW5hbGx5IHNwZWNpZmllZCBpbiA6cGVwOmAzMDJgLCB0aGlzIG1ldGhvZCB3YXMgbWVhbnQKICAgICAgIGZvciB1c2UgaW4gOmRhdGE6YHN5cy5tZXRhX3BhdGhgIGFuZCBpbiB0aGUgcGF0aC1iYXNlZCBpbXBvcnQgc3Vic3lzdGVtLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgUmV0dXJucyBgYE5vbmVgYCB3aGVuIGNhbGxlZCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgorCiAKIC4uIGNsYXNzOjogTWV0YVBhdGhGaW5kZXIKIApAQCAtMTY1LDEyICsxNzMsMTkgQEAKICAgICAgIHdpbGwgYmUgdGhlIHZhbHVlIG9mIDphdHRyOmBfX3BhdGhfX2AgZnJvbSB0aGUgcGFyZW50CiAgICAgICBwYWNrYWdlLiBJZiBhIGxvYWRlciBjYW5ub3QgYmUgZm91bmQsIGBgTm9uZWBgIGlzIHJldHVybmVkLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgUmV0dXJucyBgYE5vbmVgYCB3aGVuIGNhbGxlZCBpbnN0ZWFkIG9mIHJhaXNpbmcKKyAgICAgICAgIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgorCiAgICAuLiBtZXRob2Q6OiBpbnZhbGlkYXRlX2NhY2hlcygpCiAKICAgICAgIEFuIG9wdGlvbmFsIG1ldGhvZCB3aGljaCwgd2hlbiBjYWxsZWQsIHNob3VsZCBpbnZhbGlkYXRlIGFueSBpbnRlcm5hbAogICAgICAgY2FjaGUgdXNlZCBieSB0aGUgZmluZGVyLiBVc2VkIGJ5IDpmdW5jOmBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXNgCiAgICAgICB3aGVuIGludmFsaWRhdGluZyB0aGUgY2FjaGVzIG9mIGFsbCBmaW5kZXJzIG9uIDpkYXRhOmBzeXMubWV0YV9wYXRoYC4KIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgIFJldHVybnMgYGBOb25lYGAgd2hlbiBjYWxsZWQgaW5zdGVhZCBvZiBgYE5vdEltcGxlbWVudGVkYGAuCisKIAogLi4gY2xhc3M6OiBQYXRoRW50cnlGaW5kZXIKIApAQCAtMTc4LDcgKzE5Myw3IEBACiAgICBpdCBiZWFycyBzb21lIHNpbWlsYXJpdGllcyB0byA6Y2xhc3M6YE1ldGFQYXRoRmluZGVyYCwgYGBQYXRoRW50cnlGaW5kZXJgYAogICAgaXMgbWVhbnQgZm9yIHVzZSBvbmx5IHdpdGhpbiB0aGUgcGF0aC1iYXNlZCBpbXBvcnQgc3Vic3lzdGVtIHByb3ZpZGVkCiAgICBieSA6Y2xhc3M6YFBhdGhGaW5kZXJgLiBUaGlzIEFCQyBpcyBhIHN1YmNsYXNzIG9mIDpjbGFzczpgRmluZGVyYCBmb3IKLSAgIGNvbXBhdGliaWxpdHkuCisgICBjb21wYXRpYmlsaXR5IHJlYXNvbnMgb25seS4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKQEAgLTE5MCw5ICsyMDUsMTIgQEAKICAgICAgIHBhY2thZ2UuIFRoZSBsb2FkZXIgbWF5IGJlIGBgTm9uZWBgIHdoaWxlIHNwZWNpZnlpbmcgYGBwb3J0aW9uYGAgdG8KICAgICAgIHNpZ25pZnkgdGhlIGNvbnRyaWJ1dGlvbiBvZiB0aGUgZmlsZSBzeXN0ZW0gbG9jYXRpb25zIHRvIGEgbmFtZXNwYWNlCiAgICAgICBwYWNrYWdlLiBBbiBlbXB0eSBsaXN0IGNhbiBiZSB1c2VkIGZvciBgYHBvcnRpb25gYCB0byBzaWduaWZ5IHRoZSBsb2FkZXIKLSAgICAgIGlzIG5vdCBwYXJ0IG9mIGEgcGFja2FnZS4gSWYgYGBsb2FkZXJgYCBpcyBgYE5vbmVgYCBhbmQgYGBwb3J0aW9uYGAgaXMKLSAgICAgIHRoZSBlbXB0eSBsaXN0IHRoZW4gbm8gbG9hZGVyIG9yIGxvY2F0aW9uIGZvciBhIG5hbWVzcGFjZSBwYWNrYWdlIHdlcmUKLSAgICAgIGZvdW5kIChpLmUuIGZhaWx1cmUgdG8gZmluZCBhbnl0aGluZyBmb3IgdGhlIG1vZHVsZSkuCisgICAgICBpcyBub3QgcGFydCBvZiBhIG5hbWVzcGFjZSBwYWNrYWdlLiBJZiBgYGxvYWRlcmBgIGlzIGBgTm9uZWBgIGFuZAorICAgICAgYGBwb3J0aW9uYGAgaXMgdGhlIGVtcHR5IGxpc3QgdGhlbiBubyBsb2FkZXIgb3IgbG9jYXRpb24gZm9yIGEgbmFtZXNwYWNlCisgICAgICBwYWNrYWdlIHdlcmUgZm91bmQgKGkuZS4gZmFpbHVyZSB0byBmaW5kIGFueXRoaW5nIGZvciB0aGUgbW9kdWxlKS4KKworICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgIFJldHVybnMgYGAoTm9uZSwgW10pYGAgaW5zdGVhZCBvZiByYWlzaW5nIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgogCiAgICAuLiBtZXRob2Q6OiBmaW5kX21vZHVsZShmdWxsbmFtZSkKIApAQCAtMjQ1LDIwICsyNjMsMjggQEAKICAgICAgICAgLSA6YXR0cjpgX19wYWNrYWdlX19gCiAgICAgICAgICAgICBUaGUgcGFyZW50IHBhY2thZ2UgZm9yIHRoZSBtb2R1bGUvcGFja2FnZS4gSWYgdGhlIG1vZHVsZSBpcwogICAgICAgICAgICAgdG9wLWxldmVsIHRoZW4gaXQgaGFzIGEgdmFsdWUgb2YgdGhlIGVtcHR5IHN0cmluZy4gVGhlCi0gICAgICAgICAgICA6ZnVuYzpgaW1wb3J0bGliLnV0aWwuc2V0X3BhY2thZ2VgIGRlY29yYXRvciBjYW4gaGFuZGxlIHRoZSBkZXRhaWxzCi0gICAgICAgICAgICBmb3IgOmF0dHI6YF9fcGFja2FnZV9fYC4KKyAgICAgICAgICAgIDpmdW5jOmBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZm9yX2xvYWRlcmAgZGVjb3JhdG9yIGNhbiBoYW5kbGUgdGhlCisgICAgICAgICAgICBkZXRhaWxzIGZvciA6YXR0cjpgX19wYWNrYWdlX19gLgogCiAgICAgICAgIC0gOmF0dHI6YF9fbG9hZGVyX19gCi0gICAgICAgICAgICBUaGUgbG9hZGVyIHVzZWQgdG8gbG9hZCB0aGUgbW9kdWxlLgotICAgICAgICAgICAgKFRoaXMgaXMgbm90IHNldCBieSB0aGUgYnVpbHQtaW4gaW1wb3J0IG1hY2hpbmVyeSwKLSAgICAgICAgICAgIGJ1dCBpdCBzaG91bGQgYmUgc2V0IHdoZW5ldmVyIGEgOnRlcm06YGxvYWRlcmAgaXMgdXNlZC4pCisgICAgICAgICAgICBUaGUgbG9hZGVyIHVzZWQgdG8gbG9hZCB0aGUgbW9kdWxlLiBUaGUKKyAgICAgICAgICAgIDpmdW5jOmBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZm9yX2xvYWRlcmAgZGVjb3JhdG9yIGNhbiBoYW5kbGUgdGhlCisgICAgICAgICAgICBkZXRhaWxzIGZvciA6YXR0cjpgX19wYWNrYWdlX19gLgorCisgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICAgICAgIFJhaXNlIDpleGM6YEltcG9ydEVycm9yYCB3aGVuIGNhbGxlZCBpbnN0ZWFkIG9mCisgICAgICAgICAgIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgogCiAgICAgLi4gbWV0aG9kOjogbW9kdWxlX3JlcHIobW9kdWxlKQogCi0gICAgICAgIEFuIGFic3RyYWN0IG1ldGhvZCB3aGljaCB3aGVuIGltcGxlbWVudGVkIGNhbGN1bGF0ZXMgYW5kIHJldHVybnMgdGhlCi0gICAgICAgIGdpdmVuIG1vZHVsZSdzIHJlcHIsIGFzIGEgc3RyaW5nLgorICAgICAgICBBbiBvcHRpb25hbCBtZXRob2Qgd2hpY2ggd2hlbiBpbXBsZW1lbnRlZCBjYWxjdWxhdGVzIGFuZCByZXR1cm5zIHRoZQorICAgICAgICBnaXZlbiBtb2R1bGUncyByZXByLCBhcyBhIHN0cmluZy4gVGhlIG1vZHVsZSB0eXBlJ3MgZGVmYXVsdCByZXByKCkgd2lsbAorICAgICAgICB1c2UgdGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBhcyBhcHByb3ByaWF0ZS4KIAotICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6IDMuMworICAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworICAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgICBNYWRlIG9wdGlvbmFsIGluc3RlYWQgb2YgYW4gYWJzdHJhY3RtZXRob2QuCiAKIAogLi4gY2xhc3M6OiBSZXNvdXJjZUxvYWRlcgpAQCAtMjc3LDYgKzMwMyw5IEBACiAgICAgICAgIGJlIGZvdW5kLiBUaGUgKnBhdGgqIGlzIGV4cGVjdGVkIHRvIGJlIGNvbnN0cnVjdGVkIHVzaW5nIGEgbW9kdWxlJ3MKICAgICAgICAgOmF0dHI6YF9fZmlsZV9fYCBhdHRyaWJ1dGUgb3IgYW4gaXRlbSBmcm9tIGEgcGFja2FnZSdzIDphdHRyOmBfX3BhdGhfX2AuCiAKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgICAgUmFpc2VzIDpleGM6YElPRXJyb3JgIGluc3RlYWQgb2YgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAuCisKIAogLi4gY2xhc3M6OiBJbnNwZWN0TG9hZGVyCiAKQEAgLTI5Myw2ICszMjIsOSBAQAogICAgICAgICAuLiBpbmRleDo6CiAgICAgICAgICAgIHNpbmdsZTogdW5pdmVyc2FsIG5ld2xpbmVzOyBpbXBvcnRsaWIuYWJjLkluc3BlY3RMb2FkZXIuZ2V0X3NvdXJjZSBtZXRob2QKIAorICAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgICBSYWlzZXMgOmV4YzpgSW1wb3J0RXJyb3JgIGluc3RlYWQgb2YgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAuCisKICAgICAuLiBtZXRob2Q6OiBnZXRfc291cmNlKGZ1bGxuYW1lKQogCiAgICAgICAgIEFuIGFic3RyYWN0IG1ldGhvZCB0byByZXR1cm4gdGhlIHNvdXJjZSBvZiBhIG1vZHVsZS4gSXQgaXMgcmV0dXJuZWQgYXMKQEAgLTMwMSwxMiArMzMzLDE4IEBACiAgICAgICAgIGlmIG5vIHNvdXJjZSBpcyBhdmFpbGFibGUgKGUuZy4gYSBidWlsdC1pbiBtb2R1bGUpLiBSYWlzZXMKICAgICAgICAgOmV4YzpgSW1wb3J0RXJyb3JgIGlmIHRoZSBsb2FkZXIgY2Fubm90IGZpbmQgdGhlIG1vZHVsZSBzcGVjaWZpZWQuCiAKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgICAgUmFpc2VzIDpleGM6YEltcG9ydEVycm9yYCBpbnN0ZWFkIG9mIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgorCiAgICAgLi4gbWV0aG9kOjogaXNfcGFja2FnZShmdWxsbmFtZSkKIAogICAgICAgICBBbiBhYnN0cmFjdCBtZXRob2QgdG8gcmV0dXJuIGEgdHJ1ZSB2YWx1ZSBpZiB0aGUgbW9kdWxlIGlzIGEgcGFja2FnZSwgYQogICAgICAgICBmYWxzZSB2YWx1ZSBvdGhlcndpc2UuIDpleGM6YEltcG9ydEVycm9yYCBpcyByYWlzZWQgaWYgdGhlCiAgICAgICAgIDp0ZXJtOmBsb2FkZXJgIGNhbm5vdCBmaW5kIHRoZSBtb2R1bGUuCiAKKyAgICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgICAgUmFpc2VzIDpleGM6YEltcG9ydEVycm9yYCBpbnN0ZWFkIG9mIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgLgorCiAKIC4uIGNsYXNzOjogRXhlY3V0aW9uTG9hZGVyCiAKQEAgLTMyNCw2ICszNjIsOSBAQAogICAgICAgICB0aGUgc291cmNlIGZpbGUsIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBhIGJ5dGVjb2RlIHdhcyB1c2VkIHRvIGxvYWQgdGhlCiAgICAgICAgIG1vZHVsZS4KIAorICAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgICBSYWlzZXMgOmV4YzpgSW1wb3J0RXJyb3JgIGluc3RlYWQgb2YgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAuCisKIAogLi4gY2xhc3M6OiBGaWxlTG9hZGVyKGZ1bGxuYW1lLCBwYXRoKQogCkBAIC0zNjYsMTAgKzQwNywxMiBAQAogICAgICogOm1ldGg6YFJlc291cmNlTG9hZGVyLmdldF9kYXRhYAogICAgICogOm1ldGg6YEV4ZWN1dGlvbkxvYWRlci5nZXRfZmlsZW5hbWVgCiAgICAgICAgICAgU2hvdWxkIG9ubHkgcmV0dXJuIHRoZSBwYXRoIHRvIHRoZSBzb3VyY2UgZmlsZTsgc291cmNlbGVzcwotICAgICAgICAgIGxvYWRpbmcgaXMgbm90IHN1cHBvcnRlZC4KKyAgICAgICAgICBsb2FkaW5nIGlzIG5vdCBzdXBwb3J0ZWQgKHNlZSA6Y2xhc3M6YFNvdXJjZWxlc3NMb2FkZXJgIGlmIHRoYXQKKyAgICAgICAgICBmdW5jdGlvbmFsaXR5IGlzIHJlcXVpcmVkKQogCiAgICAgVGhlIGFic3RyYWN0IG1ldGhvZHMgZGVmaW5lZCBieSB0aGlzIGNsYXNzIGFyZSB0byBhZGQgb3B0aW9uYWwgYnl0ZWNvZGUKLSAgICBmaWxlIHN1cHBvcnQuIE5vdCBpbXBsZW1lbnRpbmcgdGhlc2Ugb3B0aW9uYWwgbWV0aG9kcyBjYXVzZXMgdGhlIGxvYWRlciB0bworICAgIGZpbGUgc3VwcG9ydC4gTm90IGltcGxlbWVudGluZyB0aGVzZSBvcHRpb25hbCBtZXRob2RzIChvciBjYXVzaW5nIHRoZW0gdG8KKyAgICByYWlzZSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCkgY2F1c2VzIHRoZSBsb2FkZXIgdG8KICAgICBvbmx5IHdvcmsgd2l0aCBzb3VyY2UgY29kZS4gSW1wbGVtZW50aW5nIHRoZSBtZXRob2RzIGFsbG93cyB0aGUgbG9hZGVyIHRvCiAgICAgd29yayB3aXRoIHNvdXJjZSAqYW5kKiBieXRlY29kZSBmaWxlczsgaXQgZG9lcyBub3QgYWxsb3cgZm9yICpzb3VyY2VsZXNzKgogICAgIGxvYWRpbmcgd2hlcmUgb25seSBieXRlY29kZSBpcyBwcm92aWRlZC4gIEJ5dGVjb2RlIGZpbGVzIGFyZSBhbgpAQCAtMzg2LDEwICs0MjksMTMgQEAKICAgICAgICAgLSBgYCdzaXplJ2BgIChvcHRpb25hbCk6IHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzb3VyY2UgY29kZS4KIAogICAgICAgICBBbnkgb3RoZXIga2V5cyBpbiB0aGUgZGljdGlvbmFyeSBhcmUgaWdub3JlZCwgdG8gYWxsb3cgZm9yIGZ1dHVyZQotICAgICAgICBleHRlbnNpb25zLgorICAgICAgICBleHRlbnNpb25zLiBJZiB0aGUgcGF0aCBjYW5ub3QgYmUgaGFuZGxlZCwgOmV4YzpgSU9FcnJvcmAgaXMgcmFpc2VkLgogCiAgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCisgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICAgICAgIFJhaXNlIDpleGM6YElPRXJyb3JgIGluc3RlYWQgb2YgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAuCisKICAgICAuLiBtZXRob2Q6OiBwYXRoX210aW1lKHBhdGgpCiAKICAgICAgICAgT3B0aW9uYWwgYWJzdHJhY3QgbWV0aG9kIHdoaWNoIHJldHVybnMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIGZvciB0aGUKQEAgLTM5OCw3ICs0NDQsMTAgQEAKICAgICAgICAgLi4gZGVwcmVjYXRlZDo6IDMuMwogICAgICAgICAgICBUaGlzIG1ldGhvZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiA6bWV0aDpgcGF0aF9zdGF0c2AuICBZb3UgZG9uJ3QKICAgICAgICAgICAgaGF2ZSB0byBpbXBsZW1lbnQgaXQsIGJ1dCBpdCBpcyBzdGlsbCBhdmFpbGFibGUgZm9yIGNvbXBhdGliaWxpdHkKLSAgICAgICAgICAgcHVycG9zZXMuCisgICAgICAgICAgIHB1cnBvc2VzLiBSYWlzZSA6ZXhjOmBJT0Vycm9yYCBpZiB0aGUgcGF0aCBjYW5ub3QgYmUgaGFuZGxlZC4KKworICAgICAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICAgICAgICAgUmFpc2UgOmV4YzpgSU9FcnJvcmAgaW5zdGVhZCBvZiA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYC4KIAogICAgIC4uIG1ldGhvZDo6IHNldF9kYXRhKHBhdGgsIGRhdGEpCiAKQEAgLTQwOSw2ICs0NTgsMjAgQEAKICAgICAgICAgV2hlbiB3cml0aW5nIHRvIHRoZSBwYXRoIGZhaWxzIGJlY2F1c2UgdGhlIHBhdGggaXMgcmVhZC1vbmx5CiAgICAgICAgICg6YXR0cjpgZXJybm8uRUFDQ0VTYCksIGRvIG5vdCBwcm9wYWdhdGUgdGhlIGV4Y2VwdGlvbi4KIAorICAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgICBObyBsb25nZXIgcmFpc2VzIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIHdoZW4gY2FsbGVkLgorCisgICAgLi4gbWV0aG9kOjogc291cmNlX3RvX2NvZGUoZGF0YSwgcGF0aCkKKworICAgICAgICBDcmVhdGUgYSBjb2RlIG9iamVjdCBmcm9tIFB5dGhvbiBzb3VyY2UuCisKKyAgICAgICAgVGhlICpkYXRhKiBhcmd1bWVudCBjYW4gYmUgd2hhdGV2ZXIgdGhlIDpmdW5jOmBjb21waWxlYCBmdW5jdGlvbgorICAgICAgICBzdXBwb3J0cyAoaS5lLiBzdHJpbmcgb3IgYnl0ZXMpLiBUaGUgKnBhdGgqIGFyZ3VtZW50IHNob3VsZCBiZQorICAgICAgICB0aGUgInBhdGgiIHRvIHdoZXJlIHRoZSBzb3VyY2UgY29kZSBvcmlnaW5hdGVkIGZyb20sIHdoaWNoIGNhbiBiZSBhbgorICAgICAgICBhYnN0cmFjdCBjb25jZXB0IChlLmcuIGxvY2F0aW9uIGluIGEgemlwIGZpbGUpLgorCisgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAorCiAgICAgLi4gbWV0aG9kOjogZ2V0X2NvZGUoZnVsbG5hbWUpCiAKICAgICAgICAgQ29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YgOm1ldGg6YEluc3BlY3RMb2FkZXIuZ2V0X2NvZGVgLgpAQCAtNDMwLDE0MiArNDkzLDYgQEAKICAgICAgICAgaXRzZWxmIGRvZXMgbm90IGVuZCBpbiBgYF9faW5pdF9fYGAuCiAKIAotLi4gY2xhc3M6OiBQeUxvYWRlcgotCi0gICAgQW4gYWJzdHJhY3QgYmFzZSBjbGFzcyBpbmhlcml0aW5nIGZyb20KLSAgICA6Y2xhc3M6YEV4ZWN1dGlvbkxvYWRlcmAgYW5kCi0gICAgOmNsYXNzOmBSZXNvdXJjZUxvYWRlcmAgZGVzaWduZWQgdG8gZWFzZSB0aGUgbG9hZGluZyBvZgotICAgIFB5dGhvbiBzb3VyY2UgbW9kdWxlcyAoYnl0ZWNvZGUgaXMgbm90IGhhbmRsZWQ7IHNlZQotICAgIDpjbGFzczpgU291cmNlTG9hZGVyYCBmb3IgYSBzb3VyY2UvYnl0ZWNvZGUgQUJDKS4gQSBzdWJjbGFzcwotICAgIGltcGxlbWVudGluZyB0aGlzIEFCQyB3aWxsIG9ubHkgbmVlZCB0byB3b3JyeSBhYm91dCBleHBvc2luZyBob3cgdGhlIHNvdXJjZQotICAgIGNvZGUgaXMgc3RvcmVkOyBhbGwgb3RoZXIgZGV0YWlscyBmb3IgbG9hZGluZyBQeXRob24gc291cmNlIGNvZGUgd2lsbCBiZQotICAgIGhhbmRsZWQgYnkgdGhlIGNvbmNyZXRlIGltcGxlbWVudGF0aW9ucyBvZiBrZXkgbWV0aG9kcy4KLQotICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjIKLSAgICAgICAgVGhpcyBjbGFzcyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIDpjbGFzczpgU291cmNlTG9hZGVyYCBhbmQgaXMKLSAgICAgICAgc2xhdGVkIGZvciByZW1vdmFsIGluIFB5dGhvbiAzLjQuIFNlZSBiZWxvdyBmb3IgaG93IHRvIGNyZWF0ZSBhCi0gICAgICAgIHN1YmNsYXNzIHRoYXQgaXMgY29tcGF0aWJsZSB3aXRoIFB5dGhvbiAzLjEgb253YXJkcy4KLQotICAgIElmIGNvbXBhdGliaWxpdHkgd2l0aCBQeXRob24gMy4xIGlzIHJlcXVpcmVkLCB0aGVuIHVzZSB0aGUgZm9sbG93aW5nIGlkaW9tCi0gICAgdG8gaW1wbGVtZW50IGEgc3ViY2xhc3MgdGhhdCB3aWxsIHdvcmsgd2l0aCBQeXRob24gMy4xIG9ud2FyZHMgKG1ha2Ugc3VyZQotICAgIHRvIGltcGxlbWVudCA6bWV0aDpgRXhlY3V0aW9uTG9hZGVyLmdldF9maWxlbmFtZWApOjoKLQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmcm9tIGltcG9ydGxpYi5hYmMgaW1wb3J0IFNvdXJjZUxvYWRlcgotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICBmcm9tIGltcG9ydGxpYi5hYmMgaW1wb3J0IFB5TG9hZGVyIGFzIFNvdXJjZUxvYWRlcgotCi0KLSAgICAgICAgY2xhc3MgQ3VzdG9tTG9hZGVyKFNvdXJjZUxvYWRlcik6Ci0gICAgICAgICAgICBkZWYgZ2V0X2ZpbGVuYW1lKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgICAgICAgICAiIiJSZXR1cm4gdGhlIHBhdGggdG8gdGhlIHNvdXJjZSBmaWxlLiIiIgotICAgICAgICAgICAgICAgICMgSW1wbGVtZW50IC4uLgotCi0gICAgICAgICAgICBkZWYgc291cmNlX3BhdGgoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAgICAgICAgICIiIkltcGxlbWVudCBzb3VyY2VfcGF0aCBpbiB0ZXJtcyBvZiBnZXRfZmlsZW5hbWUuIiIiCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5nZXRfZmlsZW5hbWUoZnVsbG5hbWUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICBkZWYgaXNfcGFja2FnZShzZWxmLCBmdWxsbmFtZSk6Ci0gICAgICAgICAgICAgICAgIiIiSW1wbGVtZW50IGlzX3BhY2thZ2UgYnkgbG9va2luZyBmb3IgYW4gX19pbml0X18gZmlsZQotICAgICAgICAgICAgICAgIG5hbWUgYXMgcmV0dXJuZWQgYnkgZ2V0X2ZpbGVuYW1lLiIiIgotICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5iYXNlbmFtZShzZWxmLmdldF9maWxlbmFtZShmdWxsbmFtZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguc3BsaXRleHQoZmlsZW5hbWUpWzBdID09ICdfX2luaXRfXycKLQotCi0gICAgLi4gbWV0aG9kOjogc291cmNlX3BhdGgoZnVsbG5hbWUpCi0KLSAgICAgICAgQW4gYWJzdHJhY3QgbWV0aG9kIHRoYXQgcmV0dXJucyB0aGUgcGF0aCB0byB0aGUgc291cmNlIGNvZGUgZm9yIGEKLSAgICAgICAgbW9kdWxlLiBTaG91bGQgcmV0dXJuIGBgTm9uZWBgIGlmIHRoZXJlIGlzIG5vIHNvdXJjZSBjb2RlLgotICAgICAgICBSYWlzZXMgOmV4YzpgSW1wb3J0RXJyb3JgIGlmIHRoZSBsb2FkZXIga25vd3MgaXQgY2Fubm90IGhhbmRsZSB0aGUKLSAgICAgICAgbW9kdWxlLgotCi0gICAgLi4gbWV0aG9kOjogZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKQotCi0gICAgICAgIEEgY29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YKLSAgICAgICAgOm1ldGg6YGltcG9ydGxpYi5hYmMuRXhlY3V0aW9uTG9hZGVyLmdldF9maWxlbmFtZWAgdGhhdAotICAgICAgICByZWxpZXMgb24gOm1ldGg6YHNvdXJjZV9wYXRoYC4gSWYgOm1ldGg6YHNvdXJjZV9wYXRoYCByZXR1cm5zCi0gICAgICAgIGBgTm9uZWBgLCB0aGVuIDpleGM6YEltcG9ydEVycm9yYCBpcyByYWlzZWQuCi0KLSAgICAuLiBtZXRob2Q6OiBsb2FkX21vZHVsZShmdWxsbmFtZSkKLQotICAgICAgICBBIGNvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mIDptZXRoOmBpbXBvcnRsaWIuYWJjLkxvYWRlci5sb2FkX21vZHVsZWAKLSAgICAgICAgdGhhdCBsb2FkcyBQeXRob24gc291cmNlIGNvZGUuIEFsbCBuZWVkZWQgaW5mb3JtYXRpb24gY29tZXMgZnJvbSB0aGUKLSAgICAgICAgYWJzdHJhY3QgbWV0aG9kcyByZXF1aXJlZCBieSB0aGlzIEFCQy4gVGhlIG9ubHkgcGVydGluZW50IGFzc3VtcHRpb24KLSAgICAgICAgbWFkZSBieSB0aGlzIG1ldGhvZCBpcyB0aGF0IHdoZW4gbG9hZGluZyBhIHBhY2thZ2UKLSAgICAgICAgOmF0dHI6YF9fcGF0aF9fYCBpcyBzZXQgdG8gYGBbb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKV1gYC4KLQotICAgIC4uIG1ldGhvZDo6IGdldF9jb2RlKGZ1bGxuYW1lKQotCi0gICAgICAgIEEgY29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YKLSAgICAgICAgOm1ldGg6YGltcG9ydGxpYi5hYmMuSW5zcGVjdExvYWRlci5nZXRfY29kZWAgdGhhdCBjcmVhdGVzIGNvZGUgb2JqZWN0cwotICAgICAgICBmcm9tIFB5dGhvbiBzb3VyY2UgY29kZSwgYnkgcmVxdWVzdGluZyB0aGUgc291cmNlIGNvZGUgKHVzaW5nCi0gICAgICAgIDptZXRoOmBzb3VyY2VfcGF0aGAgYW5kIDptZXRoOmBnZXRfZGF0YWApIGFuZCBjb21waWxpbmcgaXQgd2l0aCB0aGUKLSAgICAgICAgYnVpbHQtaW4gOmZ1bmM6YGNvbXBpbGVgIGZ1bmN0aW9uLgotCi0gICAgLi4gbWV0aG9kOjogZ2V0X3NvdXJjZShmdWxsbmFtZSkKLQotICAgICAgICBBIGNvbmNyZXRlIGltcGxlbWVudGF0aW9uIG9mCi0gICAgICAgIDptZXRoOmBpbXBvcnRsaWIuYWJjLkluc3BlY3RMb2FkZXIuZ2V0X3NvdXJjZWAuIFVzZXMKLSAgICAgICAgOm1ldGg6YGltcG9ydGxpYi5hYmMuUmVzb3VyY2VMb2FkZXIuZ2V0X2RhdGFgIGFuZCA6bWV0aDpgc291cmNlX3BhdGhgCi0gICAgICAgIHRvIGdldCB0aGUgc291cmNlIGNvZGUuICBJdCB0cmllcyB0byBndWVzcyB0aGUgc291cmNlIGVuY29kaW5nIHVzaW5nCi0gICAgICAgIDpmdW5jOmB0b2tlbml6ZS5kZXRlY3RfZW5jb2RpbmdgLgotCi0KLS4uIGNsYXNzOjogUHlQeWNMb2FkZXIKLQotICAgIEFuIGFic3RyYWN0IGJhc2UgY2xhc3MgaW5oZXJpdGluZyBmcm9tIDpjbGFzczpgUHlMb2FkZXJgLgotICAgIFRoaXMgQUJDIGlzIG1lYW50IHRvIGhlbHAgaW4gY3JlYXRpbmcgbG9hZGVycyB0aGF0IHN1cHBvcnQgYm90aCBQeXRob24KLSAgICBzb3VyY2UgYW5kIGJ5dGVjb2RlLgotCi0gICAgLi4gZGVwcmVjYXRlZDo6IDMuMgotICAgICAgICBUaGlzIGNsYXNzIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgOmNsYXNzOmBTb3VyY2VMb2FkZXJgIGFuZCB0bwotICAgICAgICBwcm9wZXJseSBzdXBwb3J0IDpwZXA6YDMxNDdgLiBJZiBjb21wYXRpYmlsaXR5IGlzIHJlcXVpcmVkIHdpdGgKLSAgICAgICAgUHl0aG9uIDMuMSwgaW1wbGVtZW50IGJvdGggOmNsYXNzOmBTb3VyY2VMb2FkZXJgIGFuZCA6Y2xhc3M6YFB5TG9hZGVyYDsKLSAgICAgICAgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBkbyBzbyBhcmUgaW5jbHVkZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gZm9yCi0gICAgICAgIDpjbGFzczpgUHlMb2FkZXJgLiBEbyBub3RlIHRoYXQgdGhpcyBzb2x1dGlvbiB3aWxsIG5vdCBzdXBwb3J0Ci0gICAgICAgIHNvdXJjZWxlc3MvYnl0ZWNvZGUtb25seSBsb2FkaW5nOyBvbmx5IHNvdXJjZSAqYW5kKiBieXRlY29kZSBsb2FkaW5nLgotCi0gICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKLSAgICAgICBVcGRhdGVkIHRvIHBhcnNlIChidXQgbm90IHVzZSkgdGhlIG5ldyBzb3VyY2Ugc2l6ZSBmaWVsZCBpbiBieXRlY29kZQotICAgICAgIGZpbGVzIHdoZW4gcmVhZGluZyBhbmQgdG8gd3JpdGUgb3V0IHRoZSBmaWVsZCBwcm9wZXJseSB3aGVuIHdyaXRpbmcuCi0KLSAgICAuLiBtZXRob2Q6OiBzb3VyY2VfbXRpbWUoZnVsbG5hbWUpCi0KLSAgICAgICAgQW4gYWJzdHJhY3QgbWV0aG9kIHdoaWNoIHJldHVybnMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIGZvciB0aGUgc291cmNlCi0gICAgICAgIGNvZGUgb2YgdGhlIHNwZWNpZmllZCBtb2R1bGUuIFRoZSBtb2RpZmljYXRpb24gdGltZSBzaG91bGQgYmUgYW4KLSAgICAgICAgaW50ZWdlci4gSWYgdGhlcmUgaXMgbm8gc291cmNlIGNvZGUsIHJldHVybiBgYE5vbmVgYC4gSWYgdGhlCi0gICAgICAgIG1vZHVsZSBjYW5ub3QgYmUgZm91bmQgdGhlbiA6ZXhjOmBJbXBvcnRFcnJvcmAgaXMgcmFpc2VkLgotCi0gICAgLi4gbWV0aG9kOjogYnl0ZWNvZGVfcGF0aChmdWxsbmFtZSkKLQotICAgICAgICBBbiBhYnN0cmFjdCBtZXRob2Qgd2hpY2ggcmV0dXJucyB0aGUgcGF0aCB0byB0aGUgYnl0ZWNvZGUgZm9yIHRoZQotICAgICAgICBzcGVjaWZpZWQgbW9kdWxlLCBpZiBpdCBleGlzdHMuIEl0IHJldHVybnMgYGBOb25lYGAKLSAgICAgICAgaWYgbm8gYnl0ZWNvZGUgZXhpc3RzICh5ZXQpLgotICAgICAgICBSYWlzZXMgOmV4YzpgSW1wb3J0RXJyb3JgIGlmIHRoZSBsb2FkZXIga25vd3MgaXQgY2Fubm90IGhhbmRsZSB0aGUKLSAgICAgICAgbW9kdWxlLgotCi0gICAgLi4gbWV0aG9kOjogZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKQotCi0gICAgICAgIEEgY29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YKLSAgICAgICAgOm1ldGg6YEV4ZWN1dGlvbkxvYWRlci5nZXRfZmlsZW5hbWVgIHRoYXQgcmVsaWVzIG9uCi0gICAgICAgIDptZXRoOmBQeUxvYWRlci5zb3VyY2VfcGF0aGAgYW5kIDptZXRoOmBieXRlY29kZV9wYXRoYC4KLSAgICAgICAgSWYgOm1ldGg6YHNvdXJjZV9wYXRoYCByZXR1cm5zIGEgcGF0aCwgdGhlbiB0aGF0IHZhbHVlIGlzIHJldHVybmVkLgotICAgICAgICBFbHNlIGlmIDptZXRoOmBieXRlY29kZV9wYXRoYCByZXR1cm5zIGEgcGF0aCwgdGhhdCBwYXRoIHdpbGwgYmUKLSAgICAgICAgcmV0dXJuZWQuIElmIGEgcGF0aCBpcyBub3QgYXZhaWxhYmxlIGZyb20gYm90aCBtZXRob2RzLAotICAgICAgICA6ZXhjOmBJbXBvcnRFcnJvcmAgaXMgcmFpc2VkLgotCi0gICAgLi4gbWV0aG9kOjogd3JpdGVfYnl0ZWNvZGUoZnVsbG5hbWUsIGJ5dGVjb2RlKQotCi0gICAgICAgIEFuIGFic3RyYWN0IG1ldGhvZCB3aGljaCBoYXMgdGhlIGxvYWRlciB3cml0ZSAqYnl0ZWNvZGUqIGZvciBmdXR1cmUKLSAgICAgICAgdXNlLiBJZiB0aGUgYnl0ZWNvZGUgaXMgd3JpdHRlbiwgcmV0dXJuIGBgVHJ1ZWBgLiBSZXR1cm4KLSAgICAgICAgYGBGYWxzZWBgIGlmIHRoZSBieXRlY29kZSBjb3VsZCBub3QgYmUgd3JpdHRlbi4gVGhpcyBtZXRob2QKLSAgICAgICAgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaWYgOmRhdGE6YHN5cy5kb250X3dyaXRlX2J5dGVjb2RlYCBpcyB0cnVlLgotICAgICAgICBUaGUgKmJ5dGVjb2RlKiBhcmd1bWVudCBzaG91bGQgYmUgYSBieXRlcyBzdHJpbmcgb3IgYnl0ZXMgYXJyYXkuCi0KLQogOm1vZDpgaW1wb3J0bGliLm1hY2hpbmVyeWAgLS0gSW1wb3J0ZXJzIGFuZCBwYXRoIGhvb2tzCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtODk5LDYgKzgyNiwxMCBAQAogICAgICAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCA6ZnVuYzpgbW9kdWxlX2Zvcl9sb2FkZXJgIGJlIHVzZWQgb3ZlciB0aGlzCiAgICAgICBkZWNvcmF0b3IgYXMgaXQgc3Vic3VtZXMgdGhpcyBmdW5jdGlvbmFsaXR5LgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgU2V0IGBgX19sb2FkZXJfX2BgIGlmIHNldCB0byBgYE5vbmVgYCBhcyB3ZWxsIGlmIHRoZSBhdHRyaWJ1dGUgZG9lcyBub3QKKyAgICAgIGV4aXN0LgorCiAKIC4uIGRlY29yYXRvcjo6IHNldF9wYWNrYWdlCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2pzb24ucnN0IGIvRG9jL2xpYnJhcnkvanNvbi5yc3QKaW5kZXggNDMzZjk0OC4uZmFhN2FjOSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvanNvbi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvanNvbi5yc3QKQEAgLTQyLDggKzQyLDcgQEAKIFByZXR0eSBwcmludGluZzo6CiAKICAgICA+Pj4gaW1wb3J0IGpzb24KLSAgICA+Pj4gcHJpbnQoanNvbi5kdW1wcyh7JzQnOiA1LCAnNic6IDd9LCBzb3J0X2tleXM9VHJ1ZSwKLSAgICAuLi4gICAgICAgICAgICAgICAgICBpbmRlbnQ9NCwgc2VwYXJhdG9ycz0oJywnLCAnOiAnKSkpCisgICAgPj4+IHByaW50KGpzb24uZHVtcHMoeyc0JzogNSwgJzYnOiA3fSwgc29ydF9rZXlzPVRydWUsIGluZGVudD00KSkKICAgICB7CiAgICAgICAgICI0IjogNSwKICAgICAgICAgIjYiOiA3CkBAIC0xNTgsMTUgKzE1NywxMyBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFsbG93IHN0cmluZ3MgZm9yICppbmRlbnQqIGluIGFkZGl0aW9uIHRvIGludGVnZXJzLgogCi0gICAuLiBub3RlOjoKKyAgIElmIHNwZWNpZmllZCwgKnNlcGFyYXRvcnMqIHNob3VsZCBiZSBhbiBgYChpdGVtX3NlcGFyYXRvciwga2V5X3NlcGFyYXRvcilgYAorICAgdHVwbGUuICBUaGUgZGVmYXVsdCBpcyBgYCgnLCAnLCAnOiAnKWBgIGlmICppbmRlbnQqIGlzIGBgTm9uZWBgIGFuZAorICAgYGAoJywnLCAnOiAnKWBgIG90aGVyd2lzZS4gIFRvIGdldCB0aGUgbW9zdCBjb21wYWN0IEpTT04gcmVwcmVzZW50YXRpb24sCisgICB5b3Ugc2hvdWxkIHNwZWNpZnkgYGAoJywnLCAnOicpYGAgdG8gZWxpbWluYXRlIHdoaXRlc3BhY2UuCiAKLSAgICAgIFNpbmNlIHRoZSBkZWZhdWx0IGl0ZW0gc2VwYXJhdG9yIGlzIGBgJywgJ2BgLCAgdGhlIG91dHB1dCBtaWdodCBpbmNsdWRlCi0gICAgICB0cmFpbGluZyB3aGl0ZXNwYWNlIHdoZW4gKmluZGVudCogaXMgc3BlY2lmaWVkLiAgWW91IGNhbiB1c2UKLSAgICAgIGBgc2VwYXJhdG9ycz0oJywnLCAnOiAnKWBgIHRvIGF2b2lkIHRoaXMuCi0KLSAgIElmICpzZXBhcmF0b3JzKiBpcyBhbiBgYChpdGVtX3NlcGFyYXRvciwgZGljdF9zZXBhcmF0b3IpYGAgdHVwbGUsIHRoZW4gaXQKLSAgIHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGBgKCcsICcsICc6ICcpYGAgc2VwYXJhdG9ycy4gIGBgKCcsJywKLSAgICc6JylgYCBpcyB0aGUgbW9zdCBjb21wYWN0IEpTT04gcmVwcmVzZW50YXRpb24uCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgVXNlIGBgKCcsJywgJzogJylgYCBhcyBkZWZhdWx0IGlmICppbmRlbnQqIGlzIG5vdCBgYE5vbmVgYC4KIAogICAgKmRlZmF1bHQob2JqKSogaXMgYSBmdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gYSBzZXJpYWxpemFibGUgdmVyc2lvbiBvZgogICAgKm9iaiogb3IgcmFpc2UgOmV4YzpgVHlwZUVycm9yYC4gIFRoZSBkZWZhdWx0IHNpbXBseSByYWlzZXMgOmV4YzpgVHlwZUVycm9yYC4KQEAgLTQwOCwxNSArNDA1LDEzIEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgQWxsb3cgc3RyaW5ncyBmb3IgKmluZGVudCogaW4gYWRkaXRpb24gdG8gaW50ZWdlcnMuCiAKLSAgIC4uIG5vdGU6OgotCi0gICAgICBTaW5jZSB0aGUgZGVmYXVsdCBpdGVtIHNlcGFyYXRvciBpcyBgYCcsICdgYCwgIHRoZSBvdXRwdXQgbWlnaHQgaW5jbHVkZQotICAgICAgdHJhaWxpbmcgd2hpdGVzcGFjZSB3aGVuICppbmRlbnQqIGlzIHNwZWNpZmllZC4gIFlvdSBjYW4gdXNlCi0gICAgICBgYHNlcGFyYXRvcnM9KCcsJywgJzogJylgYCB0byBhdm9pZCB0aGlzLgotCiAgICBJZiBzcGVjaWZpZWQsICpzZXBhcmF0b3JzKiBzaG91bGQgYmUgYW4gYGAoaXRlbV9zZXBhcmF0b3IsIGtleV9zZXBhcmF0b3IpYGAKLSAgIHR1cGxlLiAgVGhlIGRlZmF1bHQgaXMgYGAoJywgJywgJzogJylgYC4gIFRvIGdldCB0aGUgbW9zdCBjb21wYWN0IEpTT04KLSAgIHJlcHJlc2VudGF0aW9uLCB5b3Ugc2hvdWxkIHNwZWNpZnkgYGAoJywnLCAnOicpYGAgdG8gZWxpbWluYXRlIHdoaXRlc3BhY2UuCisgICB0dXBsZS4gIFRoZSBkZWZhdWx0IGlzIGBgKCcsICcsICc6ICcpYGAgaWYgKmluZGVudCogaXMgYGBOb25lYGAgYW5kCisgICBgYCgnLCcsICc6ICcpYGAgb3RoZXJ3aXNlLiAgVG8gZ2V0IHRoZSBtb3N0IGNvbXBhY3QgSlNPTiByZXByZXNlbnRhdGlvbiwKKyAgIHlvdSBzaG91bGQgc3BlY2lmeSBgYCgnLCcsICc6JylgYCB0byBlbGltaW5hdGUgd2hpdGVzcGFjZS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgIFVzZSBgYCgnLCcsICc6ICcpYGAgYXMgZGVmYXVsdCBpZiAqaW5kZW50KiBpcyBub3QgYGBOb25lYGAuCiAKICAgIElmIHNwZWNpZmllZCwgKmRlZmF1bHQqIGlzIGEgZnVuY3Rpb24gdGhhdCBnZXRzIGNhbGxlZCBmb3Igb2JqZWN0cyB0aGF0IGNhbid0CiAgICBvdGhlcndpc2UgYmUgc2VyaWFsaXplZC4gIEl0IHNob3VsZCByZXR1cm4gYSBKU09OIGVuY29kYWJsZSB2ZXJzaW9uIG9mIHRoZQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5jb25maWcucnN0IGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5jb25maWcucnN0CmluZGV4IDEzOTFlZDIuLjE2ZDMyOTQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcuY29uZmlnLnJzdAorKysgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLmNvbmZpZy5yc3QKQEAgLTc2LDExICs3NiwyMyBAQAogCiAuLiBmdW5jdGlvbjo6IGZpbGVDb25maWcoZm5hbWUsIGRlZmF1bHRzPU5vbmUsIGRpc2FibGVfZXhpc3RpbmdfbG9nZ2Vycz1UcnVlKQogCi0gICBSZWFkcyB0aGUgbG9nZ2luZyBjb25maWd1cmF0aW9uIGZyb20gYSA6bW9kOmBjb25maWdwYXJzZXJgXC1mb3JtYXQgZmlsZQotICAgbmFtZWQgKmZuYW1lKi4gVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIHNldmVyYWwgdGltZXMgZnJvbSBhbgotICAgYXBwbGljYXRpb24sIGFsbG93aW5nIGFuIGVuZCB1c2VyIHRvIHNlbGVjdCBmcm9tIHZhcmlvdXMgcHJlLWNhbm5lZAotICAgY29uZmlndXJhdGlvbnMgKGlmIHRoZSBkZXZlbG9wZXIgcHJvdmlkZXMgYSBtZWNoYW5pc20gdG8gcHJlc2VudCB0aGUgY2hvaWNlcwotICAgYW5kIGxvYWQgdGhlIGNob3NlbiBjb25maWd1cmF0aW9uKS4KKyAgIFJlYWRzIHRoZSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gZnJvbSBhIDptb2Q6YGNvbmZpZ3BhcnNlcmBcLWZvcm1hdCBmaWxlLgorICAgVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIHNldmVyYWwgdGltZXMgZnJvbSBhbiBhcHBsaWNhdGlvbiwgYWxsb3dpbmcgYW4KKyAgIGVuZCB1c2VyIHRvIHNlbGVjdCBmcm9tIHZhcmlvdXMgcHJlLWNhbm5lZCBjb25maWd1cmF0aW9ucyAoaWYgdGhlIGRldmVsb3BlcgorICAgcHJvdmlkZXMgYSBtZWNoYW5pc20gdG8gcHJlc2VudCB0aGUgY2hvaWNlcyBhbmQgbG9hZCB0aGUgY2hvc2VuCisgICBjb25maWd1cmF0aW9uKS4KKworICAgOnBhcmFtIGZuYW1lOiBBIGZpbGVuYW1lLCBvciBhIGZpbGUtbGlrZSBvYmplY3QsIG9yIGFuIGluc3RhbmNlIGRlcml2ZWQKKyAgICAgICAgICAgICAgICAgZnJvbSA6Y2xhc3M6YH5jb25maWdwYXJzZXIuUmF3Q29uZmlnUGFyc2VyYC4gSWYgYQorICAgICAgICAgICAgICAgICBgYFJhd0NvbmZpZ1BhcnNlcmBgLWRlcml2ZWQgaW5zdGFuY2UgaXMgcGFzc2VkLCBpdCBpcyB1c2VkIGFzCisgICAgICAgICAgICAgICAgIGlzLiBPdGhlcndpc2UsIGEgOmNsYXNzOmB+Y29uZmlncGFyc2VyLkNvbmZpZ3BhcnNlcmAgaXMKKyAgICAgICAgICAgICAgICAgaW5zdGFudGlhdGVkLCBhbmQgdGhlIGNvbmZpZ3VyYXRpb24gcmVhZCBieSBpdCBmcm9tIHRoZQorICAgICAgICAgICAgICAgICBvYmplY3QgcGFzc2VkIGluIGBgZm5hbWVgYC4gSWYgdGhhdCBoYXMgYSA6bWV0aDpgcmVhZGxpbmVgCisgICAgICAgICAgICAgICAgIG1ldGhvZCwgaXQgaXMgYXNzdW1lZCB0byBiZSBhIGZpbGUtbGlrZSBvYmplY3QgYW5kIHJlYWQgdXNpbmcKKyAgICAgICAgICAgICAgICAgOm1ldGg6YH5jb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyLnJlYWRfZmlsZWA7IG90aGVyd2lzZSwKKyAgICAgICAgICAgICAgICAgaXQgaXMgYXNzdW1lZCB0byBiZSBhIGZpbGVuYW1lIGFuZCBwYXNzZWQgdG8KKyAgICAgICAgICAgICAgICAgOm1ldGg6YH5jb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyLnJlYWRgLgorCiAKICAgIDpwYXJhbSBkZWZhdWx0czogRGVmYXVsdHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBDb25maWdQYXJzZXIgY2FuIGJlIHNwZWNpZmllZAogICAgICAgICAgICAgICAgICAgICBpbiB0aGlzIGFyZ3VtZW50LgpAQCAtOTQsOCArMTA2LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVpciBhbmNlc3RvcnMgYXJlIGV4cGxpY2l0bHkgbmFtZWQgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dnaW5nIGNvbmZpZ3VyYXRpb24uCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBBbiBpbnN0YW5jZSBvZiBhIHN1YmNsYXNzIG9mIDpjbGFzczpgfmNvbmZpZ3BhcnNlci5SYXdDb25maWdQYXJzZXJgIGlzCisgICAgICBub3cgYWNjZXB0ZWQgYXMgYSB2YWx1ZSBmb3IgYGBmbmFtZWBgLiBUaGlzIGZhY2lsaXRhdGVzOgogCi0uLiBmdW5jdGlvbjo6IGxpc3Rlbihwb3J0PURFRkFVTFRfTE9HR0lOR19DT05GSUdfUE9SVCkKKyAgICAgICogVXNlIG9mIGEgY29uZmlndXJhdGlvbiBmaWxlIHdoZXJlIGxvZ2dpbmcgY29uZmlndXJhdGlvbiBpcyBqdXN0IHBhcnQKKyAgICAgICAgb2YgdGhlIG92ZXJhbGwgYXBwbGljYXRpb24gY29uZmlndXJhdGlvbi4KKyAgICAgICogVXNlIG9mIGEgY29uZmlndXJhdGlvbiByZWFkIGZyb20gYSBmaWxlLCBhbmQgdGhlbiBtb2RpZmllZCBieSB0aGUgdXNpbmcKKyAgICAgICAgYXBwbGljYXRpb24gKGUuZy4gYmFzZWQgb24gY29tbWFuZC1saW5lIHBhcmFtZXRlcnMgb3Igb3RoZXIgYXNwZWN0cworICAgICAgICBvZiB0aGUgcnVudGltZSBlbnZpcm9ubWVudCkgYmVmb3JlIGJlaW5nIHBhc3NlZCB0byBgYGZpbGVDb25maWdgYC4KKworLi4gZnVuY3Rpb246OiBsaXN0ZW4ocG9ydD1ERUZBVUxUX0xPR0dJTkdfQ09ORklHX1BPUlQsIHZlcmlmeT1Ob25lKQogCiAgICBTdGFydHMgdXAgYSBzb2NrZXQgc2VydmVyIG9uIHRoZSBzcGVjaWZpZWQgcG9ydCwgYW5kIGxpc3RlbnMgZm9yIG5ldwogICAgY29uZmlndXJhdGlvbnMuIElmIG5vIHBvcnQgaXMgc3BlY2lmaWVkLCB0aGUgbW9kdWxlJ3MgZGVmYXVsdApAQCAtMTA1LDYgKzEyNiwxNyBAQAogICAgc2VydmVyLCBhbmQgd2hpY2ggeW91IGNhbiA6bWV0aDpgam9pbmAgd2hlbiBhcHByb3ByaWF0ZS4gVG8gc3RvcCB0aGUgc2VydmVyLAogICAgY2FsbCA6ZnVuYzpgc3RvcExpc3RlbmluZ2AuCiAKKyAgIFRoZSBgYHZlcmlmeWBgIGFyZ3VtZW50LCBpZiBzcGVjaWZpZWQsIHNob3VsZCBiZSBhIGNhbGxhYmxlIHdoaWNoIHNob3VsZAorICAgdmVyaWZ5IHdoZXRoZXIgYnl0ZXMgcmVjZWl2ZWQgYWNyb3NzIHRoZSBzb2NrZXQgYXJlIHZhbGlkIGFuZCBzaG91bGQgYmUKKyAgIHByb2Nlc3NlZC4gVGhpcyBjb3VsZCBiZSBkb25lIGJ5IGVuY3J5cHRpbmcgYW5kL29yIHNpZ25pbmcgd2hhdCBpcyBzZW50CisgICBhY3Jvc3MgdGhlIHNvY2tldCwgc3VjaCB0aGF0IHRoZSBgYHZlcmlmeWBgIGNhbGxhYmxlIGNhbiBwZXJmb3JtCisgICBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIGFuZC9vciBkZWNyeXB0aW9uLiBUaGUgYGB2ZXJpZnlgYCBjYWxsYWJsZSBpcyBjYWxsZWQKKyAgIHdpdGggYSBzaW5nbGUgYXJndW1lbnQgLSB0aGUgYnl0ZXMgcmVjZWl2ZWQgYWNyb3NzIHRoZSBzb2NrZXQgLSBhbmQgc2hvdWxkCisgICByZXR1cm4gdGhlIGJ5dGVzIHRvIGJlIHByb2Nlc3NlZCwgb3IgTm9uZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSBieXRlcyBzaG91bGQKKyAgIGJlIGRpc2NhcmRlZC4gVGhlIHJldHVybmVkIGJ5dGVzIGNvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwYXNzZWQgaW4gYnl0ZXMKKyAgIChlLmcuIHdoZW4gb25seSB2ZXJpZmljYXRpb24gaXMgZG9uZSksIG9yIHRoZXkgY291bGQgYmUgY29tcGxldGVseSBkaWZmZXJlbnQKKyAgIChwZXJoYXBzIGlmIGRlY3J5cHRpb24gd2VyZSBwZXJmb3JtZWQpLgorCiAgICBUbyBzZW5kIGEgY29uZmlndXJhdGlvbiB0byB0aGUgc29ja2V0LCByZWFkIGluIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgYW5kCiAgICBzZW5kIGl0IHRvIHRoZSBzb2NrZXQgYXMgYSBzdHJpbmcgb2YgYnl0ZXMgcHJlY2VkZWQgYnkgYSBmb3VyLWJ5dGUgbGVuZ3RoCiAgICBzdHJpbmcgcGFja2VkIGluIGJpbmFyeSB1c2luZyBgYHN0cnVjdC5wYWNrKCc+TCcsIG4pYGAuCkBAIC0xMjEsNyArMTUzLDEyIEBACiAgICAgICA6ZnVuYzpgbGlzdGVuYCBzb2NrZXQgYW5kIHNlbmRpbmcgYSBjb25maWd1cmF0aW9uIHdoaWNoIHJ1bnMgd2hhdGV2ZXIKICAgICAgIGNvZGUgdGhlIGF0dGFja2VyIHdhbnRzIHRvIGhhdmUgZXhlY3V0ZWQgaW4gdGhlIHZpY3RpbSdzIHByb2Nlc3MuIFRoaXMgaXMKICAgICAgIGVzcGVjaWFsbHkgZWFzeSB0byBkbyBpZiB0aGUgZGVmYXVsdCBwb3J0IGlzIHVzZWQsIGJ1dCBub3QgaGFyZCBldmVuIGlmIGEKLSAgICAgIGRpZmZlcmVudCBwb3J0IGlzIHVzZWQpLgorICAgICAgZGlmZmVyZW50IHBvcnQgaXMgdXNlZCkuIFRvIGF2b2lkIHRoZSByaXNrIG9mIHRoaXMgaGFwcGVuaW5nLCB1c2UgdGhlCisgICAgICBgYHZlcmlmeWBgIGFyZ3VtZW50IHRvIDpmdW5jOmBsaXN0ZW5gIHRvIHByZXZlbnQgdW5yZWNvZ25pc2VkCisgICAgICBjb25maWd1cmF0aW9ucyBmcm9tIGJlaW5nIGFwcGxpZWQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40LgorICAgICAgVGhlIGBgdmVyaWZ5YGAgYXJndW1lbnQgd2FzIGFkZGVkLgogCiAuLiBmdW5jdGlvbjo6IHN0b3BMaXN0ZW5pbmcoKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLnJzdCBiL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CmluZGV4IDMwZjllMDMuLjkwOWE2NzggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0CkBAIC0yOTYsNyArMjk2LDcgQEAKIHRpbWVkIGludGVydmFscy4KIAogCi0uLiBjbGFzczo6IFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcihmaWxlbmFtZSwgd2hlbj0naCcsIGludGVydmFsPTEsIGJhY2t1cENvdW50PTAsIGVuY29kaW5nPU5vbmUsIGRlbGF5PUZhbHNlLCB1dGM9RmFsc2UpCisuLiBjbGFzczo6IFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcihmaWxlbmFtZSwgd2hlbj0naCcsIGludGVydmFsPTEsIGJhY2t1cENvdW50PTAsIGVuY29kaW5nPU5vbmUsIGRlbGF5PUZhbHNlLCB1dGM9RmFsc2UsIGF0VGltZT1Ob25lKQogCiAgICBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIHRoZSA6Y2xhc3M6YFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcmAgY2xhc3MuIFRoZQogICAgc3BlY2lmaWVkIGZpbGUgaXMgb3BlbmVkIGFuZCB1c2VkIGFzIHRoZSBzdHJlYW0gZm9yIGxvZ2dpbmcuIE9uIHJvdGF0aW5nIGl0IGFsc28KQEAgLTM0Niw2ICszNDYsMTIgQEAKICAgIElmICpkZWxheSogaXMgdHJ1ZSwgdGhlbiBmaWxlIG9wZW5pbmcgaXMgZGVmZXJyZWQgdW50aWwgdGhlIGZpcnN0IGNhbGwgdG8KICAgIDptZXRoOmBlbWl0YC4KIAorICAgSWYgKmF0VGltZSogaXMgbm90IGBgTm9uZWBgLCBpdCBtdXN0IGJlIGEgYGBkYXRldGltZS50aW1lYGAgaW5zdGFuY2Ugd2hpY2gKKyAgIHNwZWNpZmllcyB0aGUgdGltZSBvZiBkYXkgd2hlbiByb2xsb3ZlciBvY2N1cnMsIGZvciB0aGUgY2FzZXMgd2hlcmUgcm9sbG92ZXIKKyAgIGlzIHNldCB0byBoYXBwZW4gImF0IG1pZG5pZ2h0IiBvciAib24gYSBwYXJ0aWN1bGFyIHdlZWtkYXkiLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgKmF0VGltZSogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogICAgLi4gbWV0aG9kOjogZG9Sb2xsb3ZlcigpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L21hcnNoYWwucnN0IGIvRG9jL2xpYnJhcnkvbWFyc2hhbC5yc3QKaW5kZXggM2I5ZTNkMi4uMTI0ZWI2MSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbWFyc2hhbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbWFyc2hhbC5yc3QKQEAgLTQwLDEwICs0MCwxMSBAQAogcG9pbnQgbnVtYmVycywgY29tcGxleCBudW1iZXJzLCBzdHJpbmdzLCBieXRlcywgYnl0ZWFycmF5cywgdHVwbGVzLCBsaXN0cywgc2V0cywKIGZyb3plbnNldHMsIGRpY3Rpb25hcmllcywgYW5kIGNvZGUgb2JqZWN0cywgd2hlcmUgaXQgc2hvdWxkIGJlIHVuZGVyc3Rvb2QgdGhhdAogdHVwbGVzLCBsaXN0cywgc2V0cywgZnJvemVuc2V0cyBhbmQgZGljdGlvbmFyaWVzIGFyZSBvbmx5IHN1cHBvcnRlZCBhcyBsb25nIGFzCi10aGUgdmFsdWVzIGNvbnRhaW5lZCB0aGVyZWluIGFyZSB0aGVtc2VsdmVzIHN1cHBvcnRlZDsgYW5kIHJlY3Vyc2l2ZSBsaXN0cywgc2V0cwotYW5kIGRpY3Rpb25hcmllcyBzaG91bGQgbm90IGJlIHdyaXR0ZW4gKHRoZXkgd2lsbCBjYXVzZSBpbmZpbml0ZSBsb29wcykuICBUaGUKK3RoZSB2YWx1ZXMgY29udGFpbmVkIHRoZXJlaW4gYXJlIHRoZW1zZWx2ZXMgc3VwcG9ydGVkLgogc2luZ2xldG9ucyA6Y29uc3Q6YE5vbmVgLCA6Y29uc3Q6YEVsbGlwc2lzYCBhbmQgOmV4YzpgU3RvcEl0ZXJhdGlvbmAgY2FuIGFsc28gYmUKIG1hcnNoYWxsZWQgYW5kIHVubWFyc2hhbGxlZC4KK0ZvciBmb3JtYXQgKnZlcnNpb24qIGxvd2VyIHRoYW4gMywgcmVjdXJzaXZlIGxpc3RzLCBzZXRzIGFuZCBkaWN0aW9uYXJpZXMgY2Fubm90CitiZSB3cml0dGVuIChzZWUgYmVsb3cpLgogCiBUaGVyZSBhcmUgZnVuY3Rpb25zIHRoYXQgcmVhZC93cml0ZSBmaWxlcyBhcyB3ZWxsIGFzIGZ1bmN0aW9ucyBvcGVyYXRpbmcgb24KIHN0cmluZ3MuCkBAIC0xMDMsNyArMTA0LDkgQEAKIAogICAgSW5kaWNhdGVzIHRoZSBmb3JtYXQgdGhhdCB0aGUgbW9kdWxlIHVzZXMuIFZlcnNpb24gMCBpcyB0aGUgaGlzdG9yaWNhbAogICAgZm9ybWF0LCB2ZXJzaW9uIDEgc2hhcmVzIGludGVybmVkIHN0cmluZ3MgYW5kIHZlcnNpb24gMiB1c2VzIGEgYmluYXJ5IGZvcm1hdAotICAgZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIFRoZSBjdXJyZW50IHZlcnNpb24gaXMgMi4KKyAgIGZvciBmbG9hdGluZyBwb2ludCBudW1iZXJzLgorICAgVmVyc2lvbiAzIGFkZHMgc3VwcG9ydCBmb3Igb2JqZWN0IGluc3RhbmNpbmcgYW5kIHJlY3Vyc2lvbi4KKyAgIFRoZSBjdXJyZW50IHZlcnNpb24gaXMgMy4KIAogCiAuLiBydWJyaWM6OiBGb290bm90ZXMKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L25udHBsaWIucnN0IGIvRG9jL2xpYnJhcnkvbm50cGxpYi5yc3QKaW5kZXggMWQxYWE0MC4uNzNiNTFjMCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbm50cGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbm50cGxpYi5yc3QKQEAgLTEsNCArMSwzIEBACi0KIDptb2Q6YG5udHBsaWJgIC0tLSBOTlRQIHByb3RvY29sIGNsaWVudAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKQEAgLTcxLDcgKzcwLDcgQEAKICAgIHJlYWRlci1zcGVjaWZpYyBjb21tYW5kcywgc3VjaCBhcyBgYGdyb3VwYGAuICBJZiB5b3UgZ2V0IHVuZXhwZWN0ZWQKICAgIDpleGM6YE5OVFBQZXJtYW5lbnRFcnJvcmBcIHMsIHlvdSBtaWdodCBuZWVkIHRvIHNldCAqcmVhZGVybW9kZSouCiAgICA6Y2xhc3M6YE5OVFBgIGNsYXNzIHN1cHBvcnRzIHRoZSA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50IHRvCi0gICB1bmNvbmRpdGlvbmFsbHkgY29uc3VtZSA6ZXhjOmBzb2NrZXQuZXJyb3JgIGV4Y2VwdGlvbnMgYW5kIHRvIGNsb3NlIHRoZSBOTlRQCisgICB1bmNvbmRpdGlvbmFsbHkgY29uc3VtZSA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb25zIGFuZCB0byBjbG9zZSB0aGUgTk5UUAogICAgY29ubmVjdGlvbiB3aGVuIGRvbmUuIEhlcmUgaXMgYSBzYW1wbGUgb24gaG93IHVzaW5nIGl0OgogCiAgICAgPj4+IGZyb20gbm50cGxpYiBpbXBvcnQgTk5UUApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0IGIvRG9jL2xpYnJhcnkvb3BlcmF0b3IucnN0CmluZGV4IDM4NjA4ODAuLjg3N2E3OTAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L29wZXJhdG9yLnJzdAorKysgYi9Eb2MvbGlicmFyeS9vcGVyYXRvci5yc3QKQEAgLTIzNSw2ICsyMzUsMTQgQEAKIAogLi4gWFhYOiBmaW5kIGEgYmV0dGVyLCByZWFkYWJsZSwgZXhhbXBsZQogCisuLiBmdW5jdGlvbjo6IGxlbmd0aF9oaW50KG9iaiwgZGVmYXVsdD0wKQorCisgICBSZXR1cm4gYW4gZXN0aW1hdGVkIGxlbmd0aCBmb3IgdGhlIG9iamVjdCAqbyouIEZpcnN0IHRyeWluZyB0byByZXR1cm4gaXRzCisgICBhY3R1YWwgbGVuZ3RoLCB0aGVuIGFuIGVzdGltYXRlIHVzaW5nIDptZXRoOmBvYmplY3QuX19sZW5ndGhfaGludF9fYCwgYW5kCisgICBmaW5hbGx5IHJldHVybmluZyB0aGUgZGVmYXVsdCB2YWx1ZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKIFRoZSA6bW9kOmBvcGVyYXRvcmAgbW9kdWxlIGFsc28gZGVmaW5lcyB0b29scyBmb3IgZ2VuZXJhbGl6ZWQgYXR0cmlidXRlIGFuZCBpdGVtCiBsb29rdXBzLiAgVGhlc2UgYXJlIHVzZWZ1bCBmb3IgbWFraW5nIGZhc3QgZmllbGQgZXh0cmFjdG9ycyBhcyBhcmd1bWVudHMgZm9yCiA6ZnVuYzpgbWFwYCwgOmZ1bmM6YHNvcnRlZGAsIDptZXRoOmBpdGVydG9vbHMuZ3JvdXBieWAsIG9yIG90aGVyIGZ1bmN0aW9ucyB0aGF0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9vcy5wYXRoLnJzdCBiL0RvYy9saWJyYXJ5L29zLnBhdGgucnN0CmluZGV4IGRkM2FjODUuLjBkMmFkMDQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L29zLnBhdGgucnN0CisrKyBiL0RvYy9saWJyYXJ5L29zLnBhdGgucnN0CkBAIC00Miw3ICs0Miw2IEBACiAgICAqIDptb2Q6YHBvc2l4cGF0aGAgZm9yIFVOSVgtc3R5bGUgcGF0aHMKICAgICogOm1vZDpgbnRwYXRoYCBmb3IgV2luZG93cyBwYXRocwogICAgKiA6bW9kOmBtYWNwYXRoYCBmb3Igb2xkLXN0eWxlIE1hY09TIHBhdGhzCi0gICAqIDptb2Q6YG9zMmVteHBhdGhgIGZvciBPUy8yIEVNWCBwYXRocwogCiAKIC4uIGZ1bmN0aW9uOjogYWJzcGF0aChwYXRoKQpAQCAtMjQ4LDE1ICsyNDcsMTQgQEAKICAgIE9uIFVuaXgsIHRoaXMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZGV2aWNlIG51bWJlciBhbmQgaS1ub2RlIG51bWJlciBhbmQgcmFpc2VzIGFuCiAgICBleGNlcHRpb24gaWYgYSA6ZnVuYzpgb3Muc3RhdGAgY2FsbCBvbiBlaXRoZXIgcGF0aG5hbWUgZmFpbHMuCiAKLSAgIE9uIFdpbmRvd3MsIHR3byBmaWxlcyBhcmUgdGhlIHNhbWUgaWYgdGhleSByZXNvbHZlIHRvIHRoZSBzYW1lIGZpbmFsIHBhdGgKLSAgIG5hbWUgdXNpbmcgdGhlIFdpbmRvd3MgQVBJIGNhbGwgR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlLiBUaGlzIGZ1bmN0aW9uCi0gICByYWlzZXMgYW4gZXhjZXB0aW9uIGlmIGhhbmRsZXMgY2Fubm90IGJlIG9idGFpbmVkIHRvIGVpdGhlciBmaWxlLgotCiAgICBBdmFpbGFiaWxpdHk6IFVuaXgsIFdpbmRvd3MuCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICAgICBBZGRlZCBXaW5kb3dzIHN1cHBvcnQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBXaW5kb3dzIG5vdyB1c2VzIHRoZSBzYW1lIGltcGxlbWVudGF0aW9uIGFzIGFsbCBvdGhlciBwbGF0Zm9ybXMuCisKIAogLi4gZnVuY3Rpb246OiBzYW1lb3BlbmZpbGUoZnAxLCBmcDIpCiAKQEAgLTI3NSw3ICsyNzMsMTAgQEAKICAgIDpmdW5jOmBzdGF0YC4gIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyB0aGUgdW5kZXJseWluZyBjb21wYXJpc29uIHVzZWQgYnkKICAgIDpmdW5jOmBzYW1lZmlsZWAgYW5kIDpmdW5jOmBzYW1lb3BlbmZpbGVgLgogCi0gICBBdmFpbGFiaWxpdHk6IFVuaXguCisgICBBdmFpbGFiaWxpdHk6IFVuaXgsIFdpbmRvd3MuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBBZGRlZCBXaW5kb3dzIHN1cHBvcnQuCiAKIAogLi4gZnVuY3Rpb246OiBzcGxpdChwYXRoKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvb3MucnN0IGIvRG9jL2xpYnJhcnkvb3MucnN0CmluZGV4IGU3MGM4ODYuLjM0NDIxOGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L29zLnJzdAorKysgYi9Eb2MvbGlicmFyeS9vcy5yc3QKQEAgLTU0LDcgKzU0LDcgQEAKIAogICAgVGhlIG5hbWUgb2YgdGhlIG9wZXJhdGluZyBzeXN0ZW0gZGVwZW5kZW50IG1vZHVsZSBpbXBvcnRlZC4gIFRoZSBmb2xsb3dpbmcKICAgIG5hbWVzIGhhdmUgY3VycmVudGx5IGJlZW4gcmVnaXN0ZXJlZDogYGAncG9zaXgnYGAsIGBgJ250J2BgLCBgYCdtYWMnYGAsCi0gICBgYCdvczInYGAsIGBgJ2NlJ2BgLCBgYCdqYXZhJ2BgLgorICAgYGAnY2UnYGAsIGBgJ2phdmEnYGAuCiAKICAgIC4uIHNlZWFsc286OgogICAgICAgOmF0dHI6YHN5cy5wbGF0Zm9ybWAgaGFzIGEgZmluZXIgZ3JhbnVsYXJpdHkuICA6ZnVuYzpgb3MudW5hbWVgIGdpdmVzCkBAIC0xMTM3LDYgKzExMzcsNyBAQAogICAgICAgICAgIE9fRElSRUNUT1JZCiAgICAgICAgICAgT19OT0ZPTExPVwogICAgICAgICAgIE9fTk9BVElNRQorICAgICAgICAgIE9fUEFUSAogCiAgICBUaGVzZSBjb25zdGFudHMgYXJlIEdOVSBleHRlbnNpb25zIGFuZCBub3QgcHJlc2VudCBpZiB0aGV5IGFyZSBub3QgZGVmaW5lZCBieQogICAgdGhlIEMgbGlicmFyeS4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BvcGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9wb3BsaWIucnN0CmluZGV4IGI0MDgwZDYuLmUyNDhkNmIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3BvcGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcG9wbGliLnJzdApAQCAtMTMsOCArMTMsMTEgQEAKIC0tLS0tLS0tLS0tLS0tCiAKIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjbGFzcywgOmNsYXNzOmBQT1AzYCwgd2hpY2ggZW5jYXBzdWxhdGVzIGEgY29ubmVjdGlvbiB0byBhCi1QT1AzIHNlcnZlciBhbmQgaW1wbGVtZW50cyB0aGUgcHJvdG9jb2wgYXMgZGVmaW5lZCBpbiA6cmZjOmAxNzI1YC4gIFRoZQotOmNsYXNzOmBQT1AzYCBjbGFzcyBzdXBwb3J0cyBib3RoIHRoZSBtaW5pbWFsIGFuZCBvcHRpb25hbCBjb21tYW5kIHNldHMuCitQT1AzIHNlcnZlciBhbmQgaW1wbGVtZW50cyB0aGUgcHJvdG9jb2wgYXMgZGVmaW5lZCBpbiA6cmZjOmAxOTM5YC4gVGhlCis6Y2xhc3M6YFBPUDNgIGNsYXNzIHN1cHBvcnRzIGJvdGggdGhlIG1pbmltYWwgYW5kIG9wdGlvbmFsIGNvbW1hbmQgc2V0cyBmcm9tCis6cmZjOmAxOTM5YC4gVGhlIDpjbGFzczpgUE9QM2AgY2xhc3MgYWxzbyBzdXBwb3J0cyB0aGUgYFNUTFNgIGNvbW1hbmQgaW50cm9kdWNlZAoraW4gOnJmYzpgMjU5NWAgdG8gZW5hYmxlIGVuY3J5cHRlZCBjb21tdW5pY2F0aW9uIG9uIGFuIGFscmVhZHkgZXN0YWJsaXNoZWQgY29ubmVjdGlvbi4KKwogQWRkaXRpb25hbGx5LCB0aGlzIG1vZHVsZSBwcm92aWRlcyBhIGNsYXNzIDpjbGFzczpgUE9QM19TU0xgLCB3aGljaCBwcm92aWRlcwogc3VwcG9ydCBmb3IgY29ubmVjdGluZyB0byBQT1AzIHNlcnZlcnMgdGhhdCB1c2UgU1NMIGFzIGFuIHVuZGVybHlpbmcgcHJvdG9jb2wKIGxheWVyLgpAQCAtOTcsNiArMTAwLDE0IEBACiAgICBSZXR1cm5zIHRoZSBncmVldGluZyBzdHJpbmcgc2VudCBieSB0aGUgUE9QMyBzZXJ2ZXIuCiAKIAorLi4gbWV0aG9kOjogUE9QMy5jYXBhKCkKKworICAgUXVlcnkgdGhlIHNlcnZlcidzIGNhcGFiaWxpdGllcyBhcyBzcGVjaWZpZWQgaW4gOnJmYzpgMjQ0OWAuCisgICBSZXR1cm5zIGEgZGljdGlvbmFyeSBpbiB0aGUgZm9ybSBgYHsnbmFtZSc6IFsncGFyYW0nLi4uXX1gYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKwogLi4gbWV0aG9kOjogUE9QMy51c2VyKHVzZXJuYW1lKQogCiAgICBTZW5kIHVzZXIgY29tbWFuZCwgcmVzcG9uc2Ugc2hvdWxkIGluZGljYXRlIHRoYXQgYSBwYXNzd29yZCBpcyByZXF1aXJlZC4KQEAgLTE3Niw2ICsxODcsMTggQEAKICAgIHRoZSB1bmlxdWUgaWQgZm9yIHRoYXQgbWVzc2FnZSBpbiB0aGUgZm9ybSBgYCdyZXNwb25zZSBtZXNnbnVtIHVpZGBgLCBvdGhlcndpc2UKICAgIHJlc3VsdCBpcyBsaXN0IGBgKHJlc3BvbnNlLCBbJ21lc2dudW0gdWlkJywgLi4uXSwgb2N0ZXRzKWBgLgogCisuLiBtZXRob2Q6OiBQT1AzLnN0bHMoY29udGV4dD1Ob25lKQorCisgICBTdGFydCBhIFRMUyBzZXNzaW9uIG9uIHRoZSBhY3RpdmUgY29ubmVjdGlvbiBhcyBzcGVjaWZpZWQgaW4gOnJmYzpgMjU5NWAuCisgICBUaGlzIGlzIG9ubHkgYWxsb3dlZCBiZWZvcmUgdXNlciBhdXRoZW50aWNhdGlvbgorCisgICAqY29udGV4dCogcGFyYW1ldGVyIGlzIGEgOmNsYXNzOmBzc2wuU1NMQ29udGV4dGAgb2JqZWN0IHdoaWNoIGFsbG93cworICAgYnVuZGxpbmcgU1NMIGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgY2VydGlmaWNhdGVzIGFuZCBwcml2YXRlIGtleXMgaW50bworICAgYSBzaW5nbGUgKHBvdGVudGlhbGx5IGxvbmctbGl2ZWQpIHN0cnVjdHVyZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKwogSW5zdGFuY2VzIG9mIDpjbGFzczpgUE9QM19TU0xgIGhhdmUgbm8gYWRkaXRpb25hbCBtZXRob2RzLiBUaGUgaW50ZXJmYWNlIG9mIHRoaXMKIHN1YmNsYXNzIGlzIGlkZW50aWNhbCB0byBpdHMgcGFyZW50LgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wcHJpbnQucnN0IGIvRG9jL2xpYnJhcnkvcHByaW50LnJzdAppbmRleCAzYTg2MzMxLi44ZDU3YzVkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9wcHJpbnQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BwcmludC5yc3QKQEAgLTE0LDggKzE0LDggQEAKIFB5dGhvbiBkYXRhIHN0cnVjdHVyZXMgaW4gYSBmb3JtIHdoaWNoIGNhbiBiZSB1c2VkIGFzIGlucHV0IHRvIHRoZSBpbnRlcnByZXRlci4KIElmIHRoZSBmb3JtYXR0ZWQgc3RydWN0dXJlcyBpbmNsdWRlIG9iamVjdHMgd2hpY2ggYXJlIG5vdCBmdW5kYW1lbnRhbCBQeXRob24KIHR5cGVzLCB0aGUgcmVwcmVzZW50YXRpb24gbWF5IG5vdCBiZSBsb2FkYWJsZS4gIFRoaXMgbWF5IGJlIHRoZSBjYXNlIGlmIG9iamVjdHMKLXN1Y2ggYXMgZmlsZXMsIHNvY2tldHMsIGNsYXNzZXMsIG9yIGluc3RhbmNlcyBhcmUgaW5jbHVkZWQsIGFzIHdlbGwgYXMgbWFueQotb3RoZXIgYnVpbHQtaW4gb2JqZWN0cyB3aGljaCBhcmUgbm90IHJlcHJlc2VudGFibGUgYXMgUHl0aG9uIGNvbnN0YW50cy4KK3N1Y2ggYXMgZmlsZXMsIHNvY2tldHMgb3IgY2xhc3NlcyBhcmUgaW5jbHVkZWQsIGFzIHdlbGwgYXMgbWFueSBvdGhlcgorb2JqZWN0cyB3aGljaCBhcmUgbm90IHJlcHJlc2VudGFibGUgYXMgUHl0aG9uIGxpdGVyYWxzLgogCiBUaGUgZm9ybWF0dGVkIHJlcHJlc2VudGF0aW9uIGtlZXBzIG9iamVjdHMgb24gYSBzaW5nbGUgbGluZSBpZiBpdCBjYW4sIGFuZAogYnJlYWtzIHRoZW0gb250byBtdWx0aXBsZSBsaW5lcyBpZiB0aGV5IGRvbid0IGZpdCB3aXRoaW4gdGhlIGFsbG93ZWQgd2lkdGguCkBAIC02NSw3ICs2NSw3IEBACiAgICAgICAoJ3NwYW0nLCAoJ2VnZ3MnLCAoJ2x1bWJlcmphY2snLCAoJ2tuaWdodHMnLCAoJ25pJywgKCdkZWFkJywgKC4uLikpKSkpKSkKIAogCi1UaGUgOmNsYXNzOmBQcmV0dHlQcmludGVyYCBjbGFzcyBzdXBwb3J0cyBzZXZlcmFsIGRlcml2YXRpdmUgZnVuY3Rpb25zOgorVGhlIDptb2Q6YHBwcmludGAgbW9kdWxlIGFsc28gcHJvdmlkZXMgc2V2ZXJhbCBzaG9ydGN1dCBmdW5jdGlvbnM6CiAKIC4uIGZ1bmN0aW9uOjogcGZvcm1hdChvYmplY3QsIGluZGVudD0xLCB3aWR0aD04MCwgZGVwdGg9Tm9uZSkKIApAQCAtMTkzLDEwMSArMTkzLDE0MSBAQAogLS0tLS0tLQogCiBUbyBkZW1vbnN0cmF0ZSBzZXZlcmFsIHVzZXMgb2YgdGhlIDpmdW5jOmBwcHJpbnRgIGZ1bmN0aW9uIGFuZCBpdHMgcGFyYW1ldGVycywKLWxldCdzIGZldGNoIGluZm9ybWF0aW9uIGFib3V0IGEgcHJvamVjdCBmcm9tIFB5UEk6OgorbGV0J3MgZmV0Y2ggaW5mb3JtYXRpb24gYWJvdXQgYSBwcm9qZWN0IGZyb20gYFB5UEkgPGh0dHBzOi8vcHlwaS5weXRob24ub3JnPmBfOjoKIAogICAgPj4+IGltcG9ydCBqc29uCiAgICA+Pj4gaW1wb3J0IHBwcmludAogICAgPj4+IGZyb20gdXJsbGliLnJlcXVlc3QgaW1wb3J0IHVybG9wZW4KLSAgID4+PiB3aXRoIHVybG9wZW4oJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9jb25maWdwYXJzZXIvanNvbicpIGFzIHVybDoKKyAgID4+PiB3aXRoIHVybG9wZW4oJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9Ud2lzdGVkL2pzb24nKSBhcyB1cmw6CiAgICAuLi4gICAgIGh0dHBfaW5mbyA9IHVybC5pbmZvKCkKICAgIC4uLiAgICAgcmF3X2RhdGEgPSB1cmwucmVhZCgpLmRlY29kZShodHRwX2luZm8uZ2V0X2NvbnRlbnRfY2hhcnNldCgpKQogICAgPj4+IHByb2plY3RfaW5mbyA9IGpzb24ubG9hZHMocmF3X2RhdGEpCi0gICA+Pj4gcmVzdWx0ID0geydoZWFkZXJzJzogaHR0cF9pbmZvLml0ZW1zKCksICdib2R5JzogcHJvamVjdF9pbmZvfQogCiBJbiBpdHMgYmFzaWMgZm9ybSwgOmZ1bmM6YHBwcmludGAgc2hvd3MgdGhlIHdob2xlIG9iamVjdDo6CiAKLSAgID4+PiBwcHJpbnQucHByaW50KHJlc3VsdCkKLSAgIHsnYm9keSc6IHsnaW5mbyc6IHsnX3B5cGlfaGlkZGVuJzogRmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgJ19weXBpX29yZGVyaW5nJzogMTIsCi0gICAgICAgICAgICAgICAgICAgICAgJ2NsYXNzaWZpZXJzJzogWydEZXZlbG9wbWVudCBTdGF0dXMgOjogNCAtIEJldGEnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnSW50ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNSVQgTGljZW5zZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOYXR1cmFsIExhbmd1YWdlIDo6IEVuZ2xpc2gnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnT3BlcmF0aW5nIFN5c3RlbSA6OiBPUyBJbmRlcGVuZGVudCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDInLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMi43JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IExpYnJhcmllcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUHl0aG9uIE1vZHVsZXMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAnZG93bmxvYWRfdXJsJzogJ1VOS05PV04nLAotICAgICAgICAgICAgICAgICAgICAgICdob21lX3BhZ2UnOiAnaHR0cDovL2RvY3MucHl0aG9uLm9yZy9weTNrL2xpYnJhcnkvY29uZmlncGFyc2VyLmh0bWwnLAotICAgICAgICAgICAgICAgICAgICAgICdrZXl3b3Jkcyc6ICdjb25maWdwYXJzZXIgaW5pIHBhcnNpbmcgY29uZiBjZmcgY29uZmlndXJhdGlvbiBmaWxlJywKLSAgICAgICAgICAgICAgICAgICAgICAnbGljZW5zZSc6ICdNSVQnLAotICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ2NvbmZpZ3BhcnNlcicsCi0gICAgICAgICAgICAgICAgICAgICAgJ3BhY2thZ2VfdXJsJzogJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9jb25maWdwYXJzZXInLAotICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybSc6ICdhbnknLAotICAgICAgICAgICAgICAgICAgICAgICdyZWxlYXNlX3VybCc6ICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvY29uZmlncGFyc2VyLzMuMi4wcjMnLAotICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlc19weXRob24nOiBOb25lLAotICAgICAgICAgICAgICAgICAgICAgICdzdGFibGVfdmVyc2lvbic6IE5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAgJ3N1bW1hcnknOiAnVGhpcyBsaWJyYXJ5IGJyaW5ncyB0aGUgdXBkYXRlZCBjb25maWdwYXJzZXIgZnJvbSBQeXRob24gMy4yKyB0byBQeXRob24gMi42LTIuNy4nLAotICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogJzMuMi4wcjMnfSwKLSAgICAgICAgICAgJ3VybHMnOiBbeydjb21tZW50X3RleHQnOiAnJywKLSAgICAgICAgICAgICAgICAgICAgICdkb3dubG9hZHMnOiA0NywKLSAgICAgICAgICAgICAgICAgICAgICdmaWxlbmFtZSc6ICdjb25maWdwYXJzZXItMy4yLjByMy50YXIuZ3onLAotICAgICAgICAgICAgICAgICAgICAgJ2hhc19zaWcnOiBGYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICdtZDVfZGlnZXN0JzogJzg1MDBmZDg3YzYxYWMwZGUzMjhmYzk5NmZjZTY5Yjk2JywKLSAgICAgICAgICAgICAgICAgICAgICdwYWNrYWdldHlwZSc6ICdzZGlzdCcsCi0gICAgICAgICAgICAgICAgICAgICAncHl0aG9uX3ZlcnNpb24nOiAnc291cmNlJywKLSAgICAgICAgICAgICAgICAgICAgICdzaXplJzogMzIyODEsCi0gICAgICAgICAgICAgICAgICAgICAndXBsb2FkX3RpbWUnOiAnMjAxMS0wNS0xMFQxNjoyODo1MCcsCi0gICAgICAgICAgICAgICAgICAgICAndXJsJzogJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL2MvY29uZmlncGFyc2VyL2NvbmZpZ3BhcnNlci0zLjIuMHIzLnRhci5neid9XX0sCi0gICAnaGVhZGVycyc6IFsoJ0RhdGUnLCAnU2F0LCAxNCBNYXkgMjAxMSAxMjo0ODo1MiBHTVQnKSwKLSAgICAgICAgICAgICAgICgnU2VydmVyJywgJ0FwYWNoZS8yLjIuMTYgKERlYmlhbiknKSwKLSAgICAgICAgICAgICAgICgnQ29udGVudC1EaXNwb3NpdGlvbicsICdpbmxpbmUnKSwKLSAgICAgICAgICAgICAgICgnQ29ubmVjdGlvbicsICdjbG9zZScpLAotICAgICAgICAgICAgICAgKCdUcmFuc2Zlci1FbmNvZGluZycsICdjaHVua2VkJyksCi0gICAgICAgICAgICAgICAoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PSJVVEYtOCInKV19CisgICA+Pj4gcHByaW50LnBwcmludChwcm9qZWN0X2luZm8pCisgICB7J2luZm8nOiB7J19weXBpX2hpZGRlbic6IEZhbHNlLAorICAgICAgICAgICAgICdfcHlwaV9vcmRlcmluZyc6IDEyNSwKKyAgICAgICAgICAgICAnYXV0aG9yJzogJ0dseXBoIExlZmtvd2l0eicsCisgICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6ICdnbHlwaEB0d2lzdGVkbWF0cml4LmNvbScsCisgICAgICAgICAgICAgJ2J1Z3RyYWNrX3VybCc6ICcnLAorICAgICAgICAgICAgICdjaGVlc2VjYWtlX2NvZGVfa3dhbGl0ZWVfaWQnOiBOb25lLAorICAgICAgICAgICAgICdjaGVlc2VjYWtlX2RvY3VtZW50YXRpb25faWQnOiBOb25lLAorICAgICAgICAgICAgICdjaGVlc2VjYWtlX2luc3RhbGxhYmlsaXR5X2lkJzogTm9uZSwKKyAgICAgICAgICAgICAnY2xhc3NpZmllcnMnOiBbJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyLjYnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMiA6OiBPbmx5J10sCisgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJ0FuIGV4dGVuc2libGUgZnJhbWV3b3JrIGZvciBQeXRob24gcHJvZ3JhbW1pbmcsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2l0aCBzcGVjaWFsIGZvY3VzXHJcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb24gZXZlbnQtYmFzZWQgbmV0d29yayBwcm9ncmFtbWluZyBhbmQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtdWx0aXByb3RvY29sIGludGVncmF0aW9uLicsCisgICAgICAgICAgICAgJ2RvY3NfdXJsJzogJycsCisgICAgICAgICAgICAgJ2Rvd25sb2FkX3VybCc6ICdVTktOT1dOJywKKyAgICAgICAgICAgICAnaG9tZV9wYWdlJzogJ2h0dHA6Ly90d2lzdGVkbWF0cml4LmNvbS8nLAorICAgICAgICAgICAgICdrZXl3b3Jkcyc6ICcnLAorICAgICAgICAgICAgICdsaWNlbnNlJzogJ01JVCcsCisgICAgICAgICAgICAgJ21haW50YWluZXInOiAnJywKKyAgICAgICAgICAgICAnbWFpbnRhaW5lcl9lbWFpbCc6ICcnLAorICAgICAgICAgICAgICduYW1lJzogJ1R3aXN0ZWQnLAorICAgICAgICAgICAgICdwYWNrYWdlX3VybCc6ICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvVHdpc3RlZCcsCisgICAgICAgICAgICAgJ3BsYXRmb3JtJzogJ1VOS05PV04nLAorICAgICAgICAgICAgICdyZWxlYXNlX3VybCc6ICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvVHdpc3RlZC8xMi4zLjAnLAorICAgICAgICAgICAgICdyZXF1aXJlc19weXRob24nOiBOb25lLAorICAgICAgICAgICAgICdzdGFibGVfdmVyc2lvbic6IE5vbmUsCisgICAgICAgICAgICAgJ3N1bW1hcnknOiAnQW4gYXN5bmNocm9ub3VzIG5ldHdvcmtpbmcgZnJhbWV3b3JrIHdyaXR0ZW4gaW4gUHl0aG9uJywKKyAgICAgICAgICAgICAndmVyc2lvbic6ICcxMi4zLjAnfSwKKyAgICAndXJscyc6IFt7J2NvbW1lbnRfdGV4dCc6ICcnLAorICAgICAgICAgICAgICAnZG93bmxvYWRzJzogNzE4NDQsCisgICAgICAgICAgICAgICdmaWxlbmFtZSc6ICdUd2lzdGVkLTEyLjMuMC50YXIuYnoyJywKKyAgICAgICAgICAgICAgJ2hhc19zaWcnOiBGYWxzZSwKKyAgICAgICAgICAgICAgJ21kNV9kaWdlc3QnOiAnNmUyODk4MjVmM2JmNTU5MWNmZDY3MDg3NGNjMDg2MmQnLAorICAgICAgICAgICAgICAncGFja2FnZXR5cGUnOiAnc2Rpc3QnLAorICAgICAgICAgICAgICAncHl0aG9uX3ZlcnNpb24nOiAnc291cmNlJywKKyAgICAgICAgICAgICAgJ3NpemUnOiAyNjE1NzMzLAorICAgICAgICAgICAgICAndXBsb2FkX3RpbWUnOiAnMjAxMi0xMi0yNlQxMjo0NzowMycsCisgICAgICAgICAgICAgICd1cmwnOiAnaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvc291cmNlL1QvVHdpc3RlZC9Ud2lzdGVkLTEyLjMuMC50YXIuYnoyJ30sCisgICAgICAgICAgICAgeydjb21tZW50X3RleHQnOiAnJywKKyAgICAgICAgICAgICAgJ2Rvd25sb2Fkcyc6IDUyMjQsCisgICAgICAgICAgICAgICdmaWxlbmFtZSc6ICdUd2lzdGVkLTEyLjMuMC53aW4zMi1weTIuNy5tc2knLAorICAgICAgICAgICAgICAnaGFzX3NpZyc6IEZhbHNlLAorICAgICAgICAgICAgICAnbWQ1X2RpZ2VzdCc6ICc2Yjc3OGY1MjAxYjYyMmE1NTE5YTJhY2ExYTJmZTUxMicsCisgICAgICAgICAgICAgICdwYWNrYWdldHlwZSc6ICdiZGlzdF9tc2knLAorICAgICAgICAgICAgICAncHl0aG9uX3ZlcnNpb24nOiAnMi43JywKKyAgICAgICAgICAgICAgJ3NpemUnOiAyOTE2MzUyLAorICAgICAgICAgICAgICAndXBsb2FkX3RpbWUnOiAnMjAxMi0xMi0yNlQxMjo0ODoxNScsCisgICAgICAgICAgICAgICd1cmwnOiAnaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcGFja2FnZXMvMi43L1QvVHdpc3RlZC9Ud2lzdGVkLTEyLjMuMC53aW4zMi1weTIuNy5tc2knfV19CiAKIFRoZSByZXN1bHQgY2FuIGJlIGxpbWl0ZWQgdG8gYSBjZXJ0YWluICpkZXB0aCogKGVsbGlwc2lzIGlzIHVzZWQgZm9yIGRlZXBlcgogY29udGVudHMpOjoKIAotICAgPj4+IHBwcmludC5wcHJpbnQocmVzdWx0LCBkZXB0aD0zKQotICAgeydib2R5JzogeydpbmZvJzogeydfcHlwaV9oaWRkZW4nOiBGYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAnX3B5cGlfb3JkZXJpbmcnOiAxMiwKLSAgICAgICAgICAgICAgICAgICAgICAnY2xhc3NpZmllcnMnOiBbLi4uXSwKLSAgICAgICAgICAgICAgICAgICAgICAnZG93bmxvYWRfdXJsJzogJ1VOS05PV04nLAotICAgICAgICAgICAgICAgICAgICAgICdob21lX3BhZ2UnOiAnaHR0cDovL2RvY3MucHl0aG9uLm9yZy9weTNrL2xpYnJhcnkvY29uZmlncGFyc2VyLmh0bWwnLAotICAgICAgICAgICAgICAgICAgICAgICdrZXl3b3Jkcyc6ICdjb25maWdwYXJzZXIgaW5pIHBhcnNpbmcgY29uZiBjZmcgY29uZmlndXJhdGlvbiBmaWxlJywKLSAgICAgICAgICAgICAgICAgICAgICAnbGljZW5zZSc6ICdNSVQnLAotICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ2NvbmZpZ3BhcnNlcicsCi0gICAgICAgICAgICAgICAgICAgICAgJ3BhY2thZ2VfdXJsJzogJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9jb25maWdwYXJzZXInLAotICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybSc6ICdhbnknLAotICAgICAgICAgICAgICAgICAgICAgICdyZWxlYXNlX3VybCc6ICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvY29uZmlncGFyc2VyLzMuMi4wcjMnLAotICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlc19weXRob24nOiBOb25lLAotICAgICAgICAgICAgICAgICAgICAgICdzdGFibGVfdmVyc2lvbic6IE5vbmUsCi0gICAgICAgICAgICAgICAgICAgICAgJ3N1bW1hcnknOiAnVGhpcyBsaWJyYXJ5IGJyaW5ncyB0aGUgdXBkYXRlZCBjb25maWdwYXJzZXIgZnJvbSBQeXRob24gMy4yKyB0byBQeXRob24gMi42LTIuNy4nLAotICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogJzMuMi4wcjMnfSwKLSAgICAgICAgICAgJ3VybHMnOiBbey4uLn1dfSwKLSAgICdoZWFkZXJzJzogWygnRGF0ZScsICdTYXQsIDE0IE1heSAyMDExIDEyOjQ4OjUyIEdNVCcpLAotICAgICAgICAgICAgICAgKCdTZXJ2ZXInLCAnQXBhY2hlLzIuMi4xNiAoRGViaWFuKScpLAotICAgICAgICAgICAgICAgKCdDb250ZW50LURpc3Bvc2l0aW9uJywgJ2lubGluZScpLAotICAgICAgICAgICAgICAgKCdDb25uZWN0aW9uJywgJ2Nsb3NlJyksCi0gICAgICAgICAgICAgICAoJ1RyYW5zZmVyLUVuY29kaW5nJywgJ2NodW5rZWQnKSwKLSAgICAgICAgICAgICAgICgnQ29udGVudC1UeXBlJywgJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9IlVURi04IicpXX0KKyAgID4+PiBwcHJpbnQucHByaW50KHByb2plY3RfaW5mbywgZGVwdGg9MikKKyAgIHsnaW5mbyc6IHsnX3B5cGlfaGlkZGVuJzogRmFsc2UsCisgICAgICAgICAgICAgJ19weXBpX29yZGVyaW5nJzogMTI1LAorICAgICAgICAgICAgICdhdXRob3InOiAnR2x5cGggTGVma293aXR6JywKKyAgICAgICAgICAgICAnYXV0aG9yX2VtYWlsJzogJ2dseXBoQHR3aXN0ZWRtYXRyaXguY29tJywKKyAgICAgICAgICAgICAnYnVndHJhY2tfdXJsJzogJycsCisgICAgICAgICAgICAgJ2NoZWVzZWNha2VfY29kZV9rd2FsaXRlZV9pZCc6IE5vbmUsCisgICAgICAgICAgICAgJ2NoZWVzZWNha2VfZG9jdW1lbnRhdGlvbl9pZCc6IE5vbmUsCisgICAgICAgICAgICAgJ2NoZWVzZWNha2VfaW5zdGFsbGFiaWxpdHlfaWQnOiBOb25lLAorICAgICAgICAgICAgICdjbGFzc2lmaWVycyc6IFsuLi5dLAorICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6ICdBbiBleHRlbnNpYmxlIGZyYW1ld29yayBmb3IgUHl0aG9uIHByb2dyYW1taW5nLCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpdGggc3BlY2lhbCBmb2N1c1xyXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29uIGV2ZW50LWJhc2VkIG5ldHdvcmsgcHJvZ3JhbW1pbmcgYW5kICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlwcm90b2NvbCBpbnRlZ3JhdGlvbi4nLAorICAgICAgICAgICAgICdkb2NzX3VybCc6ICcnLAorICAgICAgICAgICAgICdkb3dubG9hZF91cmwnOiAnVU5LTk9XTicsCisgICAgICAgICAgICAgJ2hvbWVfcGFnZSc6ICdodHRwOi8vdHdpc3RlZG1hdHJpeC5jb20vJywKKyAgICAgICAgICAgICAna2V5d29yZHMnOiAnJywKKyAgICAgICAgICAgICAnbGljZW5zZSc6ICdNSVQnLAorICAgICAgICAgICAgICdtYWludGFpbmVyJzogJycsCisgICAgICAgICAgICAgJ21haW50YWluZXJfZW1haWwnOiAnJywKKyAgICAgICAgICAgICAnbmFtZSc6ICdUd2lzdGVkJywKKyAgICAgICAgICAgICAncGFja2FnZV91cmwnOiAnaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL1R3aXN0ZWQnLAorICAgICAgICAgICAgICdwbGF0Zm9ybSc6ICdVTktOT1dOJywKKyAgICAgICAgICAgICAncmVsZWFzZV91cmwnOiAnaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL1R3aXN0ZWQvMTIuMy4wJywKKyAgICAgICAgICAgICAncmVxdWlyZXNfcHl0aG9uJzogTm9uZSwKKyAgICAgICAgICAgICAnc3RhYmxlX3ZlcnNpb24nOiBOb25lLAorICAgICAgICAgICAgICdzdW1tYXJ5JzogJ0FuIGFzeW5jaHJvbm91cyBuZXR3b3JraW5nIGZyYW1ld29yayB3cml0dGVuIGluIFB5dGhvbicsCisgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMTIuMy4wJ30sCisgICAgJ3VybHMnOiBbey4uLn0sIHsuLi59XX0KIAotQWRkaXRpb25hbGx5LCBtYXhpbXVtICp3aWR0aCogY2FuIGJlIHN1Z2dlc3RlZC4gSWYgYSBsb25nIG9iamVjdCBjYW5ub3QgYmUKLXNwbGl0LCB0aGUgc3BlY2lmaWVkIHdpZHRoIHdpbGwgYmUgZXhjZWVkZWQ6OgorQWRkaXRpb25hbGx5LCBtYXhpbXVtIGNoYXJhY3RlciAqd2lkdGgqIGNhbiBiZSBzdWdnZXN0ZWQuIElmIGEgbG9uZyBvYmplY3QKK2Nhbm5vdCBiZSBzcGxpdCwgdGhlIHNwZWNpZmllZCB3aWR0aCB3aWxsIGJlIGV4Y2VlZGVkOjoKIAotICAgPj4+IHBwcmludC5wcHJpbnQocmVzdWx0WydoZWFkZXJzJ10sIHdpZHRoPTMwKQotICAgWygnRGF0ZScsCi0gICAgICdTYXQsIDE0IE1heSAyMDExIDEyOjQ4OjUyIEdNVCcpLAotICAgICgnU2VydmVyJywKLSAgICAgJ0FwYWNoZS8yLjIuMTYgKERlYmlhbiknKSwKLSAgICAoJ0NvbnRlbnQtRGlzcG9zaXRpb24nLAotICAgICAnaW5saW5lJyksCi0gICAgKCdDb25uZWN0aW9uJywgJ2Nsb3NlJyksCi0gICAgKCdUcmFuc2Zlci1FbmNvZGluZycsCi0gICAgICdjaHVua2VkJyksCi0gICAgKCdDb250ZW50LVR5cGUnLAotICAgICAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD0iVVRGLTgiJyldCisgICA+Pj4gcHByaW50LnBwcmludChwcm9qZWN0X2luZm8sIGRlcHRoPTIsIHdpZHRoPTUwKQorICAgeydpbmZvJzogeydfcHlwaV9oaWRkZW4nOiBGYWxzZSwKKyAgICAgICAgICAgICAnX3B5cGlfb3JkZXJpbmcnOiAxMjUsCisgICAgICAgICAgICAgJ2F1dGhvcic6ICdHbHlwaCBMZWZrb3dpdHonLAorICAgICAgICAgICAgICdhdXRob3JfZW1haWwnOiAnZ2x5cGhAdHdpc3RlZG1hdHJpeC5jb20nLAorICAgICAgICAgICAgICdidWd0cmFja191cmwnOiAnJywKKyAgICAgICAgICAgICAnY2hlZXNlY2FrZV9jb2RlX2t3YWxpdGVlX2lkJzogTm9uZSwKKyAgICAgICAgICAgICAnY2hlZXNlY2FrZV9kb2N1bWVudGF0aW9uX2lkJzogTm9uZSwKKyAgICAgICAgICAgICAnY2hlZXNlY2FrZV9pbnN0YWxsYWJpbGl0eV9pZCc6IE5vbmUsCisgICAgICAgICAgICAgJ2NsYXNzaWZpZXJzJzogWy4uLl0sCisgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJ0FuIGV4dGVuc2libGUgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmcmFtZXdvcmsgZm9yICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHl0aG9uIHByb2dyYW1taW5nLCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpdGggc3BlY2lhbCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvY3VzXHJcbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb24gZXZlbnQtYmFzZWQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICduZXR3b3JrIHByb2dyYW1taW5nICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYW5kIG11bHRpcHJvdG9jb2wgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbnRlZ3JhdGlvbi4nLAorICAgICAgICAgICAgICdkb2NzX3VybCc6ICcnLAorICAgICAgICAgICAgICdkb3dubG9hZF91cmwnOiAnVU5LTk9XTicsCisgICAgICAgICAgICAgJ2hvbWVfcGFnZSc6ICdodHRwOi8vdHdpc3RlZG1hdHJpeC5jb20vJywKKyAgICAgICAgICAgICAna2V5d29yZHMnOiAnJywKKyAgICAgICAgICAgICAnbGljZW5zZSc6ICdNSVQnLAorICAgICAgICAgICAgICdtYWludGFpbmVyJzogJycsCisgICAgICAgICAgICAgJ21haW50YWluZXJfZW1haWwnOiAnJywKKyAgICAgICAgICAgICAnbmFtZSc6ICdUd2lzdGVkJywKKyAgICAgICAgICAgICAncGFja2FnZV91cmwnOiAnaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL1R3aXN0ZWQnLAorICAgICAgICAgICAgICdwbGF0Zm9ybSc6ICdVTktOT1dOJywKKyAgICAgICAgICAgICAncmVsZWFzZV91cmwnOiAnaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL1R3aXN0ZWQvMTIuMy4wJywKKyAgICAgICAgICAgICAncmVxdWlyZXNfcHl0aG9uJzogTm9uZSwKKyAgICAgICAgICAgICAnc3RhYmxlX3ZlcnNpb24nOiBOb25lLAorICAgICAgICAgICAgICdzdW1tYXJ5JzogJ0FuIGFzeW5jaHJvbm91cyAnCisgICAgICAgICAgICAgICAgICAgICAgICAnbmV0d29ya2luZyBmcmFtZXdvcmsgJworICAgICAgICAgICAgICAgICAgICAgICAgJ3dyaXR0ZW4gaW4gUHl0aG9uJywKKyAgICAgICAgICAgICAndmVyc2lvbic6ICcxMi4zLjAnfSwKKyAgICAndXJscyc6IFt7Li4ufSwgey4uLn1dfQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcHR5LnJzdCBiL0RvYy9saWJyYXJ5L3B0eS5yc3QKaW5kZXggMmI5Mzg1Yi4uOTBiYWVjNSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcHR5LnJzdAorKysgYi9Eb2MvbGlicmFyeS9wdHkucnN0CkBAIC00NSw2ICs0NSw5IEBACiAgICBhIGZpbGUgZGVzY3JpcHRvci4gVGhlIGRlZmF1bHRzIHRyeSB0byByZWFkIDEwMjQgYnl0ZXMgZWFjaCB0aW1lIHRoZXkgYXJlCiAgICBjYWxsZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICA6ZnVuYzpgc3Bhd25gIG5vdyByZXR1cm5zIHRoZSBzdGF0dXMgdmFsdWUgZnJvbSA6ZnVuYzpgb3Mud2FpdHBpZGAKKyAgICAgIG9uIHRoZSBjaGlsZCBwcm9jZXNzLgogCiBFeGFtcGxlCiAtLS0tLS0tCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9weV9jb21waWxlLnJzdCBiL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0CmluZGV4IDA3ZGRjMjUuLjBjOGM5OWQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3B5X2NvbXBpbGUucnN0CkBAIC0yOCw3ICsyOCw3IEBACiAKIC4uIGZ1bmN0aW9uOjogY29tcGlsZShmaWxlLCBjZmlsZT1Ob25lLCBkZmlsZT1Ob25lLCBkb3JhaXNlPUZhbHNlLCBvcHRpbWl6ZT0tMSkKIAotICAgQ29tcGlsZSBhIHNvdXJjZSBmaWxlIHRvIGJ5dGUtY29kZSBhbmQgd3JpdGUgb3V0IHRoZSBieXRlLWNvZGUgY2FjaGUgIGZpbGUuCisgICBDb21waWxlIGEgc291cmNlIGZpbGUgdG8gYnl0ZS1jb2RlIGFuZCB3cml0ZSBvdXQgdGhlIGJ5dGUtY29kZSBjYWNoZSBmaWxlLgogICAgVGhlIHNvdXJjZSBjb2RlIGlzIGxvYWRlZCBmcm9tIHRoZSBmaWxlIG5hbWUgKmZpbGUqLiAgVGhlICBieXRlLWNvZGUgaXMKICAgIHdyaXR0ZW4gdG8gKmNmaWxlKiwgd2hpY2ggZGVmYXVsdHMgdG8gdGhlIDpQRVA6YDMxNDdgIHBhdGgsIGVuZGluZyBpbgogICAgYGAucHljYGAgKGBgLnB5b2BgIGlmIG9wdGltaXphdGlvbiBpcyBlbmFibGVkIGluIHRoZSBjdXJyZW50IGludGVycHJldGVyKS4KQEAgLTUwLDYgKzUwLDExIEBACiAgICAgICBkZWZhdWx0IHdhcyAqZmlsZSogKyBgYCdjJ2BgIChgYCdvJ2BgIGlmIG9wdGltaXphdGlvbiB3YXMgZW5hYmxlZCkuCiAgICAgICBBbHNvIGFkZGVkIHRoZSAqb3B0aW1pemUqIHBhcmFtZXRlci4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgIENoYW5nZWQgY29kZSB0byB1c2UgOm1vZDpgaW1wb3J0bGliYCBmb3IgdGhlIGJ5dGUtY29kZSBjYWNoZSBmaWxlIHdyaXRpbmcuCisgICAgICBUaGlzIG1lYW5zIGZpbGUgY3JlYXRpb24vd3JpdGluZyBzZW1hbnRpY3Mgbm93IG1hdGNoIHdoYXQgOm1vZDpgaW1wb3J0bGliYAorICAgICAgZG9lcywgZS5nLiBwZXJtaXNzaW9ucywgd3JpdGUtYW5kLW1vdmUgc2VtYW50aWNzLCBldGMuCisKIAogLi4gZnVuY3Rpb246OiBtYWluKGFyZ3M9Tm9uZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdCBiL0RvYy9saWJyYXJ5L3NlbGVjdC5yc3QKaW5kZXggNGU2MGY0YS4uYjczZjExZSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zZWxlY3QucnN0CkBAIC00NywxMSArNDcsMTQgQEAKICAgIHRvIDpjb25zdDpgRVBPTExfQ0xPRVhFQ2AsIHdoaWNoIGNhdXNlcyB0aGUgZXBvbGwgZGVzY3JpcHRvciB0byBiZSBjbG9zZWQKICAgIGF1dG9tYXRpY2FsbHkgd2hlbiA6ZnVuYzpgb3MuZXhlY3ZlYCBpcyBjYWxsZWQuIFNlZSBzZWN0aW9uCiAgICA6cmVmOmBlcG9sbC1vYmplY3RzYCBiZWxvdyBmb3IgdGhlIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IGVwb2xsaW5nIG9iamVjdHMuCi0KKyAgIFRoZXkgYWxzbyBzdXBwb3J0IHRoZSA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50LgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgQWRkZWQgdGhlICpmbGFncyogcGFyYW1ldGVyLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgU3VwcG9ydCBmb3IgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQgd2FzIGFkZGVkLgorCiAKIC4uIGZ1bmN0aW9uOjogcG9sbCgpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NoZWx2ZS5yc3QgYi9Eb2MvbGlicmFyeS9zaGVsdmUucnN0CmluZGV4IDlkN2Q1MDQuLmI2MGE1NDggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NoZWx2ZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2hlbHZlLnJzdApAQCAtNDQsOCArNDQsMTEgQEAKICAgIC4uIG5vdGU6OgogCiAgICAgICBEbyBub3QgcmVseSBvbiB0aGUgc2hlbGYgYmVpbmcgY2xvc2VkIGF1dG9tYXRpY2FsbHk7IGFsd2F5cyBjYWxsCi0gICAgICA6bWV0aDpgY2xvc2VgIGV4cGxpY2l0bHkgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnkgbW9yZSwgb3IgdXNlIGEKLSAgICAgIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQgd2l0aCA6ZnVuYzpgY29udGV4dGxpYi5jbG9zaW5nYC4KKyAgICAgIDptZXRoOmB+U2hlbGYuY2xvc2VgIGV4cGxpY2l0bHkgd2hlbiB5b3UgZG9uJ3QgbmVlZCBpdCBhbnkgbW9yZSwgb3IKKyAgICAgIHVzZSA6ZnVuYzpgc2hlbHZlLm9wZW5gIGFzIGEgY29udGV4dCBtYW5hZ2VyOjoKKworICAgICAgICAgIHdpdGggc2hlbHZlLm9wZW4oJ3NwYW0nKSBhcyBkYjoKKyAgICAgICAgICAgICAgZGJbJ2VnZ3MnXSA9ICdlZ2dzJwogCiAuLiB3YXJuaW5nOjoKIApAQCAtMTE4LDEwICsxMjEsMTUgQEAKICAgIFRoZSAqa2V5ZW5jb2RpbmcqIHBhcmFtZXRlciBpcyB0aGUgZW5jb2RpbmcgdXNlZCB0byBlbmNvZGUga2V5cyBiZWZvcmUgdGhleQogICAgYXJlIHVzZWQgd2l0aCB0aGUgdW5kZXJseWluZyBkaWN0LgogCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKLSAgICAgIFRoZSAqa2V5ZW5jb2RpbmcqIHBhcmFtZXRlcjsgcHJldmlvdXNseSwga2V5cyB3ZXJlIGFsd2F5cyBlbmNvZGVkIGluCisgICA6Y2xhc3M6YFNoZWxmYCBvYmplY3RzIGNhbiBhbHNvIGJlIHVzZWQgYXMgY29udGV4dCBtYW5hZ2Vycy4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKKyAgICAgIEFkZGVkIHRoZSAqa2V5ZW5jb2RpbmcqIHBhcmFtZXRlcjsgcHJldmlvdXNseSwga2V5cyB3ZXJlIGFsd2F5cyBlbmNvZGVkIGluCiAgICAgICBVVEYtOC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgIEFkZGVkIGNvbnRleHQgbWFuYWdlciBzdXBwb3J0LgorCiAKIC4uIGNsYXNzOjogQnNkRGJTaGVsZihkaWN0LCBwcm90b2NvbD1Ob25lLCB3cml0ZWJhY2s9RmFsc2UsIGtleWVuY29kaW5nPSd1dGYtOCcpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QgYi9Eb2MvbGlicmFyeS9zaHV0aWwucnN0CmluZGV4IGExNDU3ZDAuLmU0ZjM0OGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdApAQCAtNTMsNyArNTMsNyBAQAogICAgKmRzdCogYW5kIHJldHVybiAqZHN0Ki4gICpzcmMqIGFuZCAqZHN0KiBhcmUgcGF0aCBuYW1lcyBnaXZlbiBhcyBzdHJpbmdzLgogICAgKmRzdCogbXVzdCBiZSB0aGUgY29tcGxldGUgdGFyZ2V0IGZpbGUgbmFtZTsgbG9vayBhdCA6ZnVuYzpgc2h1dGlsLmNvcHlgCiAgICBmb3IgYSBjb3B5IHRoYXQgYWNjZXB0cyBhIHRhcmdldCBkaXJlY3RvcnkgcGF0aC4gIElmICpzcmMqIGFuZCAqZHN0KgotICAgc3BlY2lmeSB0aGUgc2FtZSBmaWxlLCA6ZXhjOmBFcnJvcmAgaXMgcmFpc2VkLgorICAgc3BlY2lmeSB0aGUgc2FtZSBmaWxlLCA6ZXhjOmBTYW1lRmlsZUVycm9yYCBpcyByYWlzZWQuCiAKICAgIFRoZSBkZXN0aW5hdGlvbiBsb2NhdGlvbiBtdXN0IGJlIHdyaXRhYmxlOyBvdGhlcndpc2UsIGFuIDpleGM6YE9TRXJyb3JgCiAgICBleGNlcHRpb24gd2lsbCBiZSByYWlzZWQuIElmICpkc3QqIGFscmVhZHkgZXhpc3RzLCBpdCB3aWxsIGJlIHJlcGxhY2VkLgpAQCAtNjksNiArNjksMTkgQEAKICAgICAgIEFkZGVkICpmb2xsb3dfc3ltbGlua3MqIGFyZ3VtZW50LgogICAgICAgTm93IHJldHVybnMgKmRzdCouCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBSYWlzZSA6ZXhjOmBTYW1lRmlsZUVycm9yYCBpbnN0ZWFkIG9mIDpleGM6YEVycm9yYC4gIFNpbmNlIHRoZSBmb3JtZXIgaXMKKyAgICAgIGEgc3ViY2xhc3Mgb2YgdGhlIGxhdHRlciwgdGhpcyBjaGFuZ2UgaXMgYmFja3dhcmQgY29tcGF0aWJsZS4KKworCisuLiBleGNlcHRpb246OiBTYW1lRmlsZUVycm9yCisKKyAgIFRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCBpZiBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGluIDpmdW5jOmBjb3B5ZmlsZWAKKyAgIGFyZSB0aGUgc2FtZSBmaWxlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworCiAuLiBmdW5jdGlvbjo6IGNvcHltb2RlKHNyYywgZHN0LCAqLCBmb2xsb3dfc3ltbGlua3M9VHJ1ZSkKIAogICAgQ29weSB0aGUgcGVybWlzc2lvbiBiaXRzIGZyb20gKnNyYyogdG8gKmRzdCouICBUaGUgZmlsZSBjb250ZW50cywgb3duZXIsIGFuZApAQCAtMzgwLDExICszOTMsMTAgQEAKICAgICAgICAgICAgICAgIGVycm9ycy5leHRlbmQoZXJyLmFyZ3NbMF0pCiAgICAgICAgdHJ5OgogICAgICAgICAgICBjb3B5c3RhdChzcmMsIGRzdCkKLSAgICAgICBleGNlcHQgV2luZG93c0Vycm9yOgotICAgICAgICAgICAjIGNhbid0IGNvcHkgZmlsZSBhY2Nlc3MgdGltZXMgb24gV2luZG93cwotICAgICAgICAgICBwYXNzCiAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgotICAgICAgICAgICBlcnJvcnMuZXh0ZW5kKChzcmMsIGRzdCwgc3RyKHdoeSkpKQorICAgICAgICAgICAjIGNhbid0IGNvcHkgZmlsZSBhY2Nlc3MgdGltZXMgb24gV2luZG93cworICAgICAgICAgICBpZiB3aHkud2luZXJyb3IgaXMgTm9uZToKKyAgICAgICAgICAgICAgIGVycm9ycy5leHRlbmQoKHNyYywgZHN0LCBzdHIod2h5KSkpCiAgICAgICAgaWYgZXJyb3JzOgogICAgICAgICAgICByYWlzZSBFcnJvcihlcnJvcnMpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NtdHBsaWIucnN0IGIvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QKaW5kZXggOTU5M2RlYS4uNTc2MmJiNiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QKQEAgLTEwMyw4ICsxMDMsOCBAQAogCiAuLiBleGNlcHRpb246OiBTTVRQRXhjZXB0aW9uCiAKLSAgIFRoZSBiYXNlIGV4Y2VwdGlvbiBjbGFzcyBmb3IgYWxsIHRoZSBvdGhlciBleGNwZXRpb25zIHByb3ZpZGVkIGJ5IHRoaXMKLSAgIG1vZHVsZS4KKyAgIFN1YmNsYXNzIG9mIDpleGM6YE9TRXJyb3JgIHRoYXQgaXMgdGhlIGJhc2UgZXhjZXB0aW9uIGNsYXNzIGZvciBhbGwKKyAgIHRoZSBvdGhlciBleGNwZXRpb25zIHByb3ZpZGVkIGJ5IHRoaXMgbW9kdWxlLgogCiAKIC4uIGV4Y2VwdGlvbjo6IFNNVFBTZXJ2ZXJEaXNjb25uZWN0ZWQKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QgYi9Eb2MvbGlicmFyeS9zb2NrZXQucnN0CmluZGV4IGI0NDJiN2MuLmFhNTlmN2YgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc29ja2V0LnJzdApAQCAtMTA3LDggKzEwNyw4IEBACiAKICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKLS0gQ2VydGFpbiBvdGhlciBhZGRyZXNzIGZhbWlsaWVzICg6Y29uc3Q6YEFGX0JMVUVUT09USGAsIDpjb25zdDpgQUZfUEFDS0VUYCkKLSAgc3VwcG9ydCBzcGVjaWZpYyByZXByZXNlbnRhdGlvbnMuCistIENlcnRhaW4gb3RoZXIgYWRkcmVzcyBmYW1pbGllcyAoOmNvbnN0OmBBRl9CTFVFVE9PVEhgLCA6Y29uc3Q6YEFGX1BBQ0tFVGAsCisgIDpjb25zdDpgQUZfQ0FOYCkgc3VwcG9ydCBzcGVjaWZpYyByZXByZXNlbnRhdGlvbnMuCiAKICAgLi4gWFhYIGRvY3VtZW50IHRoZW0hCiAKQEAgLTI1Nyw2ICsyNTcsMTYgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKKy4uIGRhdGE6OiBDQU5fQkNNCisgICAgICAgICAgQ0FOX0JDTV8qCisKKyAgIENBTl9CQ00sIGluIHRoZSBDQU4gcHJvdG9jb2wgZmFtaWx5LCBpcyB0aGUgYnJvYWRjYXN0IG1hbmFnZXIgKEJDTSkgcHJvdG9jb2wuCisgICBCcm9hZGNhc3QgbWFuYWdlciBjb25zdGFudHMsIGRvY3VtZW50ZWQgaW4gdGhlIExpbnV4IGRvY3VtZW50YXRpb24sIGFyZSBhbHNvCisgICBkZWZpbmVkIGluIHRoZSBzb2NrZXQgbW9kdWxlLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4ID49IDIuNi4yNS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CiAKIC4uIGRhdGE6OiBBRl9SRFMKICAgICAgICAgICBQRl9SRFMKQEAgLTQ1MiwxMyArNDYyLDE2IEBACiAgICA6Y29uc3Q6YEFGX0lORVQ2YCwgOmNvbnN0OmBBRl9VTklYYCwgOmNvbnN0OmBBRl9DQU5gIG9yIDpjb25zdDpgQUZfUkRTYC4gVGhlCiAgICBzb2NrZXQgdHlwZSBzaG91bGQgYmUgOmNvbnN0OmBTT0NLX1NUUkVBTWAgKHRoZSBkZWZhdWx0KSwKICAgIDpjb25zdDpgU09DS19ER1JBTWAsIDpjb25zdDpgU09DS19SQVdgIG9yIHBlcmhhcHMgb25lIG9mIHRoZSBvdGhlciBgYFNPQ0tfYGAKLSAgIGNvbnN0YW50cy4gVGhlIHByb3RvY29sIG51bWJlciBpcyB1c3VhbGx5IHplcm8gYW5kIG1heSBiZSBvbWl0dGVkIGluIHRoYXQKLSAgIGNhc2Ugb3IgOmNvbnN0OmBDQU5fUkFXYCBpbiBjYXNlIHRoZSBhZGRyZXNzIGZhbWlseSBpcyA6Y29uc3Q6YEFGX0NBTmAuCisgICBjb25zdGFudHMuIFRoZSBwcm90b2NvbCBudW1iZXIgaXMgdXN1YWxseSB6ZXJvIGFuZCBtYXkgYmUgb21pdHRlZCBvciBpbiB0aGUKKyAgIGNhc2Ugd2hlcmUgdGhlIGFkZHJlc3MgZmFtaWx5IGlzIDpjb25zdDpgQUZfQ0FOYCB0aGUgcHJvdG9jb2wgc2hvdWxkIGJlIG9uZQorICAgb2YgOmNvbnN0OmBDQU5fUkFXYCBvciA6Y29uc3Q6YENBTl9CQ01gLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMwogICAgICAgVGhlIEFGX0NBTiBmYW1pbHkgd2FzIGFkZGVkLgogICAgICAgVGhlIEFGX1JEUyBmYW1pbHkgd2FzIGFkZGVkLgogCisgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBUaGUgQ0FOX0JDTSBwcm90b2NvbCB3YXMgYWRkZWQuCiAKIC4uIGZ1bmN0aW9uOjogc29ja2V0cGFpcihbZmFtaWx5WywgdHlwZVssIHByb3RvXV1dKQogCkBAIC0xMzMxLDcgKzEzNDQsMTYgQEAKICAgIHMuaW9jdGwoc29ja2V0LlNJT19SQ1ZBTEwsIHNvY2tldC5SQ1ZBTExfT0ZGKQogCiBUaGUgbGFzdCBleGFtcGxlIHNob3dzIGhvdyB0byB1c2UgdGhlIHNvY2tldCBpbnRlcmZhY2UgdG8gY29tbXVuaWNhdGUgdG8gYSBDQU4KLW5ldHdvcmsuIFRoaXMgZXhhbXBsZSBtaWdodCByZXF1aXJlIHNwZWNpYWwgcHJpdmlsZWRnZTo6CituZXR3b3JrIHVzaW5nIHRoZSByYXcgc29ja2V0IHByb3RvY29sLiBUbyB1c2UgQ0FOIHdpdGggdGhlIGJyb2FkY2FzdAorbWFuYWdlciBwcm90b2NvbCBpbnN0ZWFkLCBvcGVuIGEgc29ja2V0IHdpdGg6OgorCisgICAgc29ja2V0LnNvY2tldChzb2NrZXQuQUZfQ0FOLCBzb2NrZXQuU09DS19ER1JBTSwgc29ja2V0LkNBTl9CQ00pCisKK0FmdGVyIGJpbmRpbmcgKDpjb25zdDpgQ0FOX1JBV2ApIG9yIGNvbm5lY3RpbmcgKDpjb25zdDpgQ0FOX0JDTWApIHRoZSBzb2NrZXQsIHlvdQorY2FuIHVzZSB0aGUgOm1ldGg6YHNvY2tldC5zZW5kYCwgYW5kIHRoZSA6bWV0aDpgc29ja2V0LnJlY3ZgIG9wZXJhdGlvbnMgKGFuZAordGhlaXIgY291bnRlcnBhcnRzKSBvbiB0aGUgc29ja2V0IG9iamVjdCBhcyB1c3VhbC4KKworVGhpcyBleGFtcGxlIG1pZ2h0IHJlcXVpcmUgc3BlY2lhbCBwcml2aWxlZGdlOjoKIAogICAgaW1wb3J0IHNvY2tldAogICAgaW1wb3J0IHN0cnVjdApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3FsaXRlMy5yc3QgYi9Eb2MvbGlicmFyeS9zcWxpdGUzLnJzdAppbmRleCAwOGUzYTJlLi41MjlkYzk0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zcWxpdGUzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zcWxpdGUzLnJzdApAQCAtMTU5LDcgKzE1OSw3IEBACiAgICBmaXJzdCBibGFuayBmb3IgdGhlIGNvbHVtbiBuYW1lOiB0aGUgY29sdW1uIG5hbWUgd291bGQgc2ltcGx5IGJlICJ4Ii4KIAogCi0uLiBmdW5jdGlvbjo6IGNvbm5lY3QoZGF0YWJhc2VbLCB0aW1lb3V0LCBkZXRlY3RfdHlwZXMsIGlzb2xhdGlvbl9sZXZlbCwgY2hlY2tfc2FtZV90aHJlYWQsIGZhY3RvcnksIGNhY2hlZF9zdGF0ZW1lbnRzXSkKKy4uIGZ1bmN0aW9uOjogY29ubmVjdChkYXRhYmFzZVssIHRpbWVvdXQsIGRldGVjdF90eXBlcywgaXNvbGF0aW9uX2xldmVsLCBjaGVja19zYW1lX3RocmVhZCwgZmFjdG9yeSwgY2FjaGVkX3N0YXRlbWVudHMsIHVyaV0pCiAKICAgIE9wZW5zIGEgY29ubmVjdGlvbiB0byB0aGUgU1FMaXRlIGRhdGFiYXNlIGZpbGUgKmRhdGFiYXNlKi4gWW91IGNhbiB1c2UKICAgIGBgIjptZW1vcnk6ImBgIHRvIG9wZW4gYSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIGEgZGF0YWJhc2UgdGhhdCByZXNpZGVzIGluIFJBTQpAQCAtMTk1LDYgKzE5NSwxOCBAQAogICAgZm9yIHRoZSBjb25uZWN0aW9uLCB5b3UgY2FuIHNldCB0aGUgKmNhY2hlZF9zdGF0ZW1lbnRzKiBwYXJhbWV0ZXIuIFRoZSBjdXJyZW50bHkKICAgIGltcGxlbWVudGVkIGRlZmF1bHQgaXMgdG8gY2FjaGUgMTAwIHN0YXRlbWVudHMuCiAKKyAgIElmICp1cmkqIGlzIHRydWUsICpkYXRhYmFzZSogaXMgaW50ZXJwcmV0ZWQgYXMgYSBVUkkuIFRoaXMgYWxsb3dzIHlvdQorICAgdG8gc3BlY2lmeSBvcHRpb25zLiBGb3IgZXhhbXBsZSwgdG8gb3BlbiBhIGRhdGFiYXNlIGluIHJlYWQtb25seSBtb2RlCisgICB5b3UgY2FuIHVzZTo6CisKKyAgICAgICBkYiA9IHNxbGl0ZTMuY29ubmVjdCgnZmlsZTpwYXRoL3RvL2RhdGFiYXNlP21vZGU9cm8nLCB1cmk9VHJ1ZSkKKworICAgTW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGZlYXR1cmUsIGluY2x1ZGluZyBhIGxpc3Qgb2YgcmVjb2duaXplZCBvcHRpb25zLCBjYW4KKyAgIGJlIGZvdW5kIGluIHRoZSBgU1FMaXRlIFVSSSBkb2N1bWVudGF0aW9uIDxodHRwOi8vd3d3LnNxbGl0ZS5vcmcvdXJpLmh0bWw+YF8uCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBBZGRlZCB0aGUgKnVyaSogcGFyYW1ldGVyLgorCiAKIC4uIGZ1bmN0aW9uOjogcmVnaXN0ZXJfY29udmVydGVyKHR5cGVuYW1lLCBjYWxsYWJsZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3NsLnJzdCBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKaW5kZXggMWQ0ZjljYS4uMmY4YjlhMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zc2wucnN0CkBAIC0yNiw3ICsyNiw4IEBACiAKICAgIFNvbWUgYmVoYXZpb3IgbWF5IGJlIHBsYXRmb3JtIGRlcGVuZGVudCwgc2luY2UgY2FsbHMgYXJlIG1hZGUgdG8gdGhlCiAgICBvcGVyYXRpbmcgc3lzdGVtIHNvY2tldCBBUElzLiAgVGhlIGluc3RhbGxlZCB2ZXJzaW9uIG9mIE9wZW5TU0wgbWF5IGFsc28KLSAgIGNhdXNlIHZhcmlhdGlvbnMgaW4gYmVoYXZpb3IuCisgICBjYXVzZSB2YXJpYXRpb25zIGluIGJlaGF2aW9yLiBGb3IgZXhhbXBsZSwgVExTdjEuMSBhbmQgVExTdjEuMiBjb21lIHdpdGgKKyAgIG9wZW5zc2wgdmVyc2lvbiAxLjAuMS4KIAogVGhpcyBzZWN0aW9uIGRvY3VtZW50cyB0aGUgb2JqZWN0cyBhbmQgZnVuY3Rpb25zIGluIHRoZSBgYHNzbGBgIG1vZHVsZTsgZm9yIG1vcmUKIGdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgVExTLCBTU0wsIGFuZCBjZXJ0aWZpY2F0ZXMsIHRoZSByZWFkZXIgaXMgcmVmZXJyZWQgdG8KQEAgLTE3NywxNCArMTc4LDE2IEBACiAKICAgICAgLi4gdGFibGU6OgogCi0gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT0gID09PT09PT09PSAgPT09PT09PT09PSAgPT09PT09PT09Ci0gICAgICAgICpjbGllbnQqIC8gKipzZXJ2ZXIqKiAgICAqKlNTTHYyKiogICoqU1NMdjMqKiAgKipTU0x2MjMqKiAgKipUTFN2MSoqCi0gICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0gIC0tLS0tLS0tLSAgLS0tLS0tLS0tLSAgLS0tLS0tLS0tCi0gICAgICAgICpTU0x2MiogICAgICAgICAgICAgICAgICAgIHllcyAgICAgICAgbm8gICAgICAgICB5ZXMgICAgICAgICBubwotICAgICAgICAqU1NMdjMqICAgICAgICAgICAgICAgICAgICBubyAgICAgICAgIHllcyAgICAgICAgeWVzICAgICAgICAgbm8KLSAgICAgICAgKlNTTHYyMyogICAgICAgICAgICAgICAgICAgeWVzICAgICAgICBubyAgICAgICAgIHllcyAgICAgICAgIG5vCi0gICAgICAgICpUTFN2MSogICAgICAgICAgICAgICAgICAgIG5vICAgICAgICAgbm8gICAgICAgICB5ZXMgICAgICAgICB5ZXMKLSAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PSAgPT09PT09PT09ICA9PT09PT09PT09ICA9PT09PT09PT0KKyAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PSAgPT09PT09PT09ICA9PT09PT09PT09ICA9PT09PT09PT0gID09PT09PT09PT09ICA9PT09PT09PT09PQorICAgICAgICAqY2xpZW50KiAvICoqc2VydmVyKiogICAgKipTU0x2MioqICAqKlNTTHYzKiogICoqU1NMdjIzKiogICoqVExTdjEqKiAgKipUTFN2MS4xKiogICoqVExTdjEuMioqCisgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICAtLS0tLS0tLS0gIC0tLS0tLS0tLSAgLS0tLS0tLS0tLSAgLS0tLS0tLS0tICAtLS0tLS0tLS0tLSAgLS0tLS0tLS0tLS0KKyAgICAgICAgKlNTTHYyKiAgICAgICAgICAgICAgICAgICAgeWVzICAgICAgICBubyAgICAgICAgIHllcyAgICAgICAgIG5vICAgICAgICAgbm8gICAgICAgICBubworICAgICAgICAqU1NMdjMqICAgICAgICAgICAgICAgICAgICBubyAgICAgICAgIHllcyAgICAgICAgeWVzICAgICAgICAgbm8gICAgICAgICBubyAgICAgICAgIG5vCisgICAgICAgICpTU0x2MjMqICAgICAgICAgICAgICAgICAgIHllcyAgICAgICAgbm8gICAgICAgICB5ZXMgICAgICAgICBubyAgICAgICAgIG5vICAgICAgICAgbm8KKyAgICAgICAgKlRMU3YxKiAgICAgICAgICAgICAgICAgICAgbm8gICAgICAgICBubyAgICAgICAgIHllcyAgICAgICAgIHllcyAgICAgICAgbm8gICAgICAgICBubworICAgICAgICAqVExTdjEuMSogICAgICAgICAgICAgICAgICBubyAgICAgICAgIG5vICAgICAgICAgeWVzICAgICAgICAgbm8gICAgICAgICB5ZXMgICAgICAgIG5vCisgICAgICAgICpUTFN2MS4yKiAgICAgICAgICAgICAgICAgIG5vICAgICAgICAgbm8gICAgICAgICB5ZXMgICAgICAgICBubyAgICAgICAgIG5vICAgICAgICAgeWVzCisgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT0gID09PT09PT09PSAgPT09PT09PT09PSAgPT09PT09PT09ICA9PT09PT09PT09PSAgPT09PT09PT09PT0KIAogICAgLi4gbm90ZTo6CiAKQEAgLTQwMSw5ICs0MDQsMjUgQEAKIAogLi4gZGF0YTo6IFBST1RPQ09MX1RMU3YxCiAKLSAgIFNlbGVjdHMgVExTIHZlcnNpb24gMSBhcyB0aGUgY2hhbm5lbCBlbmNyeXB0aW9uIHByb3RvY29sLiAgVGhpcyBpcyB0aGUgbW9zdAorICAgU2VsZWN0cyBUTFMgdmVyc2lvbiAxLjAgYXMgdGhlIGNoYW5uZWwgZW5jcnlwdGlvbiBwcm90b2NvbC4KKworLi4gZGF0YTo6IFBST1RPQ09MX1RMU3YxXzEKKworCisgICBTZWxlY3RzIFRMUyB2ZXJzaW9uIDEuMSBhcyB0aGUgY2hhbm5lbCBlbmNyeXB0aW9uIHByb3RvY29sLgorICAgQXZhaWxhYmxlIG9ubHkgd2l0aCBvcGVuc3NsIHZlcnNpb24gMS4wLjErLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworLi4gZGF0YTo6IFBST1RPQ09MX1RMU3YxXzIKKworCisgICBTZWxlY3RzIFRMUyB2ZXJzaW9uIDEuMiBhcyB0aGUgY2hhbm5lbCBlbmNyeXB0aW9uIHByb3RvY29sLiBUaGlzIGlzIHRoZSBtb3N0CiAgICBtb2Rlcm4gdmVyc2lvbiwgYW5kIHByb2JhYmx5IHRoZSBiZXN0IGNob2ljZSBmb3IgbWF4aW11bSBwcm90ZWN0aW9uLCBpZiBib3RoCiAgICBzaWRlcyBjYW4gc3BlYWsgaXQuCisgICBBdmFpbGFibGUgb25seSB3aXRoIG9wZW5zc2wgdmVyc2lvbiAxLjAuMSsuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCiAuLiBkYXRhOjogT1BfQUxMCiAKQEAgLTQzNyw2ICs0NTYsMjIgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKy4uIGRhdGE6OiBPUF9OT19UTFN2MV8xCisKKyAgIFByZXZlbnRzIGEgVExTdjEuMSBjb25uZWN0aW9uLiBUaGlzIG9wdGlvbiBpcyBvbmx5IGFwcGxpY2FibGUgaW4gY29uanVuY3Rpb24KKyAgIHdpdGggOmNvbnN0OmBQUk9UT0NPTF9TU0x2MjNgLiBJdCBwcmV2ZW50cyB0aGUgcGVlcnMgZnJvbSBjaG9vc2luZyBUTFN2MS4xIGFzCisgICB0aGUgcHJvdG9jb2wgdmVyc2lvbi4gQXZhaWxhYmxlIG9ubHkgd2l0aCBvcGVuc3NsIHZlcnNpb24gMS4wLjErLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworLi4gZGF0YTo6IE9QX05PX1RMU3YxXzIKKworICAgUHJldmVudHMgYSBUTFN2MS4yIGNvbm5lY3Rpb24uIFRoaXMgb3B0aW9uIGlzIG9ubHkgYXBwbGljYWJsZSBpbiBjb25qdW5jdGlvbgorICAgd2l0aCA6Y29uc3Q6YFBST1RPQ09MX1NTTHYyM2AuIEl0IHByZXZlbnRzIHRoZSBwZWVycyBmcm9tIGNob29zaW5nIFRMU3YxLjIgYXMKKyAgIHRoZSBwcm90b2NvbCB2ZXJzaW9uLiBBdmFpbGFibGUgb25seSB3aXRoIG9wZW5zc2wgdmVyc2lvbiAxLjAuMSsuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAorCiAuLiBkYXRhOjogT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFCiAKICAgIFVzZSB0aGUgc2VydmVyJ3MgY2lwaGVyIG9yZGVyaW5nIHByZWZlcmVuY2UsIHJhdGhlciB0aGFuIHRoZSBjbGllbnQncy4KQEAgLTUzMyw2ICs1NjgsMTkgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKy4uIGRhdGE6OiBBTEVSVF9ERVNDUklQVElPTl9IQU5EU0hBS0VfRkFJTFVSRQorICAgICAgICAgIEFMRVJUX0RFU0NSSVBUSU9OX0lOVEVSTkFMX0VSUk9SCisgICAgICAgICAgQUxFUlRfREVTQ1JJUFRJT05fKgorCisgICBBbGVydCBEZXNjcmlwdGlvbnMgZnJvbSA6cmZjOmA1MjQ2YCBhbmQgb3RoZXJzLiBUaGUgYElBTkEgVExTIEFsZXJ0IFJlZ2lzdHJ5CisgICA8aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy90bHMtcGFyYW1ldGVycy90bHMtcGFyYW1ldGVycy54bWwjdGxzLXBhcmFtZXRlcnMtNj5gXworICAgY29udGFpbnMgdGhpcyBsaXN0IGFuZCByZWZlcmVuY2VzIHRvIHRoZSBSRkNzIHdoZXJlIHRoZWlyIG1lYW5pbmcgaXMgZGVmaW5lZC4KKworICAgVXNlZCBhcyB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBjYWxsYmFjayBmdW5jdGlvbiBpbgorICAgOm1ldGg6YFNTTENvbnRleHQuc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2tgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKwogCiBTU0wgU29ja2V0cwogLS0tLS0tLS0tLS0KQEAgLTc4Niw2ICs4MzQsNTYgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKKy4uIG1ldGhvZDo6IFNTTENvbnRleHQuc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2soc2VydmVyX25hbWVfY2FsbGJhY2spCisKKyAgIFJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCB3aWxsIGJlIGNhbGxlZCBhZnRlciB0aGUgVExTIENsaWVudCBIZWxsbworICAgaGFuZHNoYWtlIG1lc3NhZ2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnkgdGhlIFNTTC9UTFMgc2VydmVyIHdoZW4gdGhlIFRMUyBjbGllbnQKKyAgIHNwZWNpZmllcyBhIHNlcnZlciBuYW1lIGluZGljYXRpb24uIFRoZSBzZXJ2ZXIgbmFtZSBpbmRpY2F0aW9uIG1lY2hhbmlzbQorICAgaXMgc3BlY2lmaWVkIGluIDpyZmM6YDYwNjZgIHNlY3Rpb24gMyAtIFNlcnZlciBOYW1lIEluZGljYXRpb24uCisKKyAgIE9ubHkgb25lIGNhbGxiYWNrIGNhbiBiZSBzZXQgcGVyIGBgU1NMQ29udGV4dGBgLiAgSWYgKnNlcnZlcl9uYW1lX2NhbGxiYWNrKgorICAgaXMgYGBOb25lYGAgdGhlbiB0aGUgY2FsbGJhY2sgaXMgZGlzYWJsZWQuIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBhCisgICBzdWJzZXF1ZW50IHRpbWUgd2lsbCBkaXNhYmxlIHRoZSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgY2FsbGJhY2suCisKKyAgIFRoZSBjYWxsYmFjayBmdW5jdGlvbiwgKnNlcnZlcl9uYW1lX2NhbGxiYWNrKiwgd2lsbCBiZSBjYWxsZWQgd2l0aCB0aHJlZQorICAgYXJndW1lbnRzOyB0aGUgZmlyc3QgYmVpbmcgdGhlIDpjbGFzczpgc3NsLlNTTFNvY2tldGAsIHRoZSBzZWNvbmQgaXMgYSBzdHJpbmcKKyAgIHRoYXQgcmVwcmVzZW50cyB0aGUgc2VydmVyIG5hbWUgdGhhdCB0aGUgY2xpZW50IGlzIGludGVuZGluZyB0byBjb21tdW5pY2F0ZQorICAgKG9yIDpjb25zdDpgTm9uZWAgaWYgdGhlIFRMUyBDbGllbnQgSGVsbG8gZG9lcyBub3QgY29udGFpbiBhIHNlcnZlciBuYW1lKQorICAgYW5kIHRoZSB0aGlyZCBhcmd1bWVudCBpcyB0aGUgb3JpZ2luYWwgOmNsYXNzOmBTU0xDb250ZXh0YC4gVGhlIHNlcnZlciBuYW1lCisgICBhcmd1bWVudCBpcyB0aGUgSUROQSBkZWNvZGVkIHNlcnZlciBuYW1lLgorCisgICBBIHR5cGljYWwgdXNlIG9mIHRoaXMgY2FsbGJhY2sgaXMgdG8gY2hhbmdlIHRoZSA6Y2xhc3M6YHNzbC5TU0xTb2NrZXRgJ3MKKyAgIDphdHRyOmBTU0xTb2NrZXQuY29udGV4dGAgYXR0cmlidXRlIHRvIGEgbmV3IG9iamVjdCBvZiB0eXBlCisgICA6Y2xhc3M6YFNTTENvbnRleHRgIHJlcHJlc2VudGluZyBhIGNlcnRpZmljYXRlIGNoYWluIHRoYXQgbWF0Y2hlcyB0aGUgc2VydmVyCisgICBuYW1lLgorCisgICBEdWUgdG8gdGhlIGVhcmx5IG5lZ290aWF0aW9uIHBoYXNlIG9mIHRoZSBUTFMgY29ubmVjdGlvbiwgb25seSBsaW1pdGVkCisgICBtZXRob2RzIGFuZCBhdHRyaWJ1dGVzIGFyZSB1c2FibGUgbGlrZQorICAgOm1ldGg6YFNTTFNvY2tldC5zZWxlY3RlZF9ucG5fcHJvdG9jb2xgIGFuZCA6YXR0cjpgU1NMU29ja2V0LmNvbnRleHRgLgorICAgOm1ldGg6YFNTTFNvY2tldC5nZXRwZWVyY2VydGAsIDptZXRoOmBTU0xTb2NrZXQuZ2V0cGVlcmNlcnRgLAorICAgOm1ldGg6YFNTTFNvY2tldC5jaXBoZXJgIGFuZCA6bWV0aDpgU1NMU29ja2V0LmNvbXByZXNzYCBtZXRob2RzIHJlcXVpcmUgdGhhdAorICAgdGhlIFRMUyBjb25uZWN0aW9uIGhhcyBwcm9ncmVzc2VkIGJleW9uZCB0aGUgVExTIENsaWVudCBIZWxsbyBhbmQgdGhlcmVmb3JlCisgICB3aWxsIG5vdCBjb250YWluIHJldHVybiBtZWFuaW5nZnVsIHZhbHVlcyBub3IgY2FuIHRoZXkgYmUgY2FsbGVkIHNhZmVseS4KKworICAgVGhlICpzZXJ2ZXJfbmFtZV9jYWxsYmFjayogZnVuY3Rpb24gbXVzdCByZXR1cm4gYGBOb25lYGAgdG8gYWxsb3cgdGhlCisgICBUTFMgbmVnb3RpYXRpb24gdG8gY29udGludWUuICBJZiBhIFRMUyBmYWlsdXJlIGlzIHJlcXVpcmVkLCBhIGNvbnN0YW50CisgICA6Y29uc3Q6YEFMRVJUX0RFU0NSSVBUSU9OXyogPEFMRVJUX0RFU0NSSVBUSU9OX0lOVEVSTkFMX0VSUk9SPmAgY2FuIGJlCisgICByZXR1cm5lZC4gIE90aGVyIHJldHVybiB2YWx1ZXMgd2lsbCByZXN1bHQgaW4gYSBUTFMgZmF0YWwgZXJyb3Igd2l0aAorICAgOmNvbnN0OmBBTEVSVF9ERVNDUklQVElPTl9JTlRFUk5BTF9FUlJPUmAuCisKKyAgIElmIHRoZXJlIGlzIGEgSUROQSBkZWNvZGluZyBlcnJvciBvbiB0aGUgc2VydmVyIG5hbWUsIHRoZSBUTFMgY29ubmVjdGlvbgorICAgd2lsbCB0ZXJtaW5hdGUgd2l0aCBhbiA6Y29uc3Q6YEFMRVJUX0RFU0NSSVBUSU9OX0lOVEVSTkFMX0VSUk9SYCBmYXRhbCBUTFMKKyAgIGFsZXJ0IG1lc3NhZ2UgdG8gdGhlIGNsaWVudC4KKworICAgSWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBmcm9tIHRoZSAqc2VydmVyX25hbWVfY2FsbGJhY2sqIGZ1bmN0aW9uIHRoZSBUTFMKKyAgIGNvbm5lY3Rpb24gd2lsbCB0ZXJtaW5hdGUgd2l0aCBhIGZhdGFsIFRMUyBhbGVydCBtZXNzYWdlCisgICA6Y29uc3Q6YEFMRVJUX0RFU0NSSVBUSU9OX0hBTkRTSEFLRV9GQUlMVVJFYC4KKworICAgVGhpcyBtZXRob2Qgd2lsbCByYWlzZSA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBpZiB0aGUgT3BlblNTTCBsaWJyYXJ5CisgICBoYWQgT1BFTlNTTF9OT19UTFNFWFQgZGVmaW5lZCB3aGVuIGl0IHdhcyBidWlsdC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKIC4uIG1ldGhvZDo6IFNTTENvbnRleHQubG9hZF9kaF9wYXJhbXMoZGhmaWxlKQogCiAgICBMb2FkIHRoZSBrZXkgZ2VuZXJhdGlvbiBwYXJhbWV0ZXJzIGZvciBEaWZmaWUtSGVsbWFuIChESCkga2V5IGV4Y2hhbmdlLgpAQCAtMTMxOSwzICsxNDE3LDEyIEBACiAKICAgIGBSRkMgNDM2NjogVHJhbnNwb3J0IExheWVyIFNlY3VyaXR5IChUTFMpIEV4dGVuc2lvbnMgPGh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzQzNjY+YF8KICAgICAgICBCbGFrZS1XaWxzb24gZXQuIGFsLgorCisgICBgUkZDIDUyNDY6IFRoZSBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgKFRMUykgUHJvdG9jb2wgVmVyc2lvbiAxLjIgPGh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzUyNDY+YF8KKyAgICAgICBULiBEaWVya3MgZXQuIGFsLgorCisgICBgUkZDIDYwNjY6IFRyYW5zcG9ydCBMYXllciBTZWN1cml0eSAoVExTKSBFeHRlbnNpb25zIDxodHRwOi8vd3d3LmlldGYub3JnL3JmYy9yZmM2MDY2PmBfCisgICAgICAgRC4gRWFzdGxha2UKKworICAgYElBTkEgVExTOiBUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkgKFRMUykgUGFyYW1ldGVycyA8aHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy90bHMtcGFyYW1ldGVycy90bHMtcGFyYW1ldGVycy54bWw+YF8KKyAgICAgICBJQU5BCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zdHJ1Y3QucnN0IGIvRG9jL2xpYnJhcnkvc3RydWN0LnJzdAppbmRleCA5OTQ1MDZjLi5mMmVhMzYxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zdHJ1Y3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N0cnVjdC5yc3QKQEAgLTY2LDYgKzY2LDE5IEBACiAgICBmb3JtYXQgKGBgbGVuKGJ1ZmZlcltvZmZzZXQ6XSlgYCBtdXN0IGJlIGF0IGxlYXN0IGBgY2FsY3NpemUoZm10KWBgKS4KIAogCisuLiBmdW5jdGlvbjo6IGl0ZXJfdW5wYWNrKGZtdCwgYnVmZmVyKQorCisgICBJdGVyYXRpdmVseSB1bnBhY2sgZnJvbSB0aGUgYnVmZmVyICpidWZmZXIqIGFjY29yZGluZyB0byB0aGUgZm9ybWF0CisgICBzdHJpbmcgKmZtdCouICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYW4gaXRlcmF0b3Igd2hpY2ggd2lsbCByZWFkCisgICBlcXVhbGx5LXNpemVkIGNodW5rcyBmcm9tIHRoZSBidWZmZXIgdW50aWwgYWxsIGl0cyBjb250ZW50cyBoYXZlIGJlZW4KKyAgIGNvbnN1bWVkLiAgVGhlIGJ1ZmZlcidzIHNpemUgaW4gYnl0ZXMgbXVzdCBiZSBhIG11bHRpcGxlIG9mIHRoZSBhbW91bnQKKyAgIG9mIGRhdGEgcmVxdWlyZWQgYnkgdGhlIGZvcm1hdCwgYXMgcmVmbGVjdGVkIGJ5IDpmdW5jOmBjYWxjc2l6ZWAuCisKKyAgIEVhY2ggaXRlcmF0aW9uIHlpZWxkcyBhIHR1cGxlIGFzIHNwZWNpZmllZCBieSB0aGUgZm9ybWF0IHN0cmluZy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKwogLi4gZnVuY3Rpb246OiBjYWxjc2l6ZShmbXQpCiAKICAgIFJldHVybiB0aGUgc2l6ZSBvZiB0aGUgc3RydWN0IChhbmQgaGVuY2Ugb2YgdGhlIGJ5dGVzIG9iamVjdCBwcm9kdWNlZCBieQpAQCAtMzg4LDYgKzQwMSwxMyBAQAogICAgICAgKGBgbGVuKGJ1ZmZlcltvZmZzZXQ6XSlgYCBtdXN0IGJlIGF0IGxlYXN0IDphdHRyOmBzZWxmLnNpemVgKS4KIAogCisgICAuLiBtZXRob2Q6OiBpdGVyX3VucGFjayhidWZmZXIpCisKKyAgICAgIElkZW50aWNhbCB0byB0aGUgOmZ1bmM6YGl0ZXJfdW5wYWNrYCBmdW5jdGlvbiwgdXNpbmcgdGhlIGNvbXBpbGVkIGZvcm1hdC4KKyAgICAgIChgYGxlbihidWZmZXIpYGAgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDphdHRyOmBzZWxmLnNpemVgKS4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKICAgIC4uIGF0dHJpYnV0ZTo6IGZvcm1hdAogCiAgICAgICBUaGUgZm9ybWF0IHN0cmluZyB1c2VkIHRvIGNvbnN0cnVjdCB0aGlzIFN0cnVjdCBvYmplY3QuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zdWJwcm9jZXNzLnJzdCBiL0RvYy9saWJyYXJ5L3N1YnByb2Nlc3MucnN0CmluZGV4IDQyMTJlMDIuLjcwYTIxZWIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N1YnByb2Nlc3MucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N1YnByb2Nlc3MucnN0CkBAIC0xMTYsNyArMTE2LDcgQEAKICAgICAgICp0aW1lb3V0KiB3YXMgYWRkZWQuCiAKIAotLi4gZnVuY3Rpb246OiBjaGVja19vdXRwdXQoYXJncywgKiwgc3RkaW49Tm9uZSwgc3RkZXJyPU5vbmUsIHNoZWxsPUZhbHNlLCB1bml2ZXJzYWxfbmV3bGluZXM9RmFsc2UsIHRpbWVvdXQ9Tm9uZSkKKy4uIGZ1bmN0aW9uOjogY2hlY2tfb3V0cHV0KGFyZ3MsICosIGlucHV0PU5vbmUsIHN0ZGluPU5vbmUsIHN0ZGVycj1Ob25lLCBzaGVsbD1GYWxzZSwgdW5pdmVyc2FsX25ld2xpbmVzPUZhbHNlLCB0aW1lb3V0PU5vbmUpCiAKICAgIFJ1biBjb21tYW5kIHdpdGggYXJndW1lbnRzIGFuZCByZXR1cm4gaXRzIG91dHB1dC4KIApAQCAtMTI5LDE1ICsxMjksMjEgQEAKICAgIGluIDpyZWY6YGZyZXF1ZW50bHktdXNlZC1hcmd1bWVudHNgIChoZW5jZSB0aGUgdXNlIG9mIGtleXdvcmQtb25seSBub3RhdGlvbgogICAgaW4gdGhlIGFiYnJldmlhdGVkIHNpZ25hdHVyZSkuIFRoZSBmdWxsIGZ1bmN0aW9uIHNpZ25hdHVyZSBpcyBsYXJnZWx5IHRoZQogICAgc2FtZSBhcyB0aGF0IG9mIHRoZSA6Y2xhc3M6YFBvcGVuYCBjb25zdHJ1Y3RvciAtIHRoaXMgZnVuY3Rpb25zIHBhc3NlcyBhbGwKLSAgIHN1cHBsaWVkIGFyZ3VtZW50cyBvdGhlciB0aGFuICp0aW1lb3V0KiBkaXJlY3RseSB0aHJvdWdoIHRvIHRoYXQgaW50ZXJmYWNlLgotICAgSW4gYWRkaXRpb24sICpzdGRvdXQqIGlzIG5vdCBwZXJtaXR0ZWQgYXMgYW4gYXJndW1lbnQsIGFzIGl0IGlzIHVzZWQKLSAgIGludGVybmFsbHkgdG8gY29sbGVjdCB0aGUgb3V0cHV0IGZyb20gdGhlIHN1YnByb2Nlc3MuCisgICBzdXBwbGllZCBhcmd1bWVudHMgb3RoZXIgdGhhbiAqaW5wdXQqIGFuZCAqdGltZW91dCogZGlyZWN0bHkgdGhyb3VnaCB0bworICAgdGhhdCBpbnRlcmZhY2UuICBJbiBhZGRpdGlvbiwgKnN0ZG91dCogaXMgbm90IHBlcm1pdHRlZCBhcyBhbiBhcmd1bWVudCwgYXMKKyAgIGl0IGlzIHVzZWQgaW50ZXJuYWxseSB0byBjb2xsZWN0IHRoZSBvdXRwdXQgZnJvbSB0aGUgc3VicHJvY2Vzcy4KIAogICAgVGhlICp0aW1lb3V0KiBhcmd1bWVudCBpcyBwYXNzZWQgdG8gOm1ldGg6YFBvcGVuLndhaXRgLiBJZiB0aGUgdGltZW91dAogICAgZXhwaXJlcywgdGhlIGNoaWxkIHByb2Nlc3Mgd2lsbCBiZSBraWxsZWQgYW5kIHRoZW4gd2FpdGVkIGZvciBhZ2Fpbi4gIFRoZQogICAgOmV4YzpgVGltZW91dEV4cGlyZWRgIGV4Y2VwdGlvbiB3aWxsIGJlIHJlLXJhaXNlZCBhZnRlciB0aGUgY2hpbGQgcHJvY2VzcwogICAgaGFzIHRlcm1pbmF0ZWQuCiAKKyAgIFRoZSAqaW5wdXQqIGFyZ3VtZW50IGlzIHBhc3NlZCB0byA6bWV0aDpgUG9wZW4uY29tbXVuaWNhdGVgIGFuZCB0aHVzIHRvIHRoZQorICAgc3VicHJvY2VzcydzIHN0ZGluLiAgSWYgdXNlZCBpdCBtdXN0IGJlIGEgYnl0ZSBzZXF1ZW5jZSwgb3IgYSBzdHJpbmcgaWYKKyAgIGBgdW5pdmVyc2FsX25ld2xpbmVzPVRydWVgYC4gIFdoZW4gdXNlZCwgdGhlIGludGVybmFsIDpjbGFzczpgUG9wZW5gIG9iamVjdAorICAgaXMgYXV0b21hdGljYWxseSBjcmVhdGVkIHdpdGggYGBzdGRpbj1QSVBFYGAsIGFuZCB0aGUgKnN0ZGluKiBhcmd1bWVudCBtYXkKKyAgIG5vdCBiZSB1c2VkIGFzIHdlbGwuCisKICAgIEV4YW1wbGVzOjoKIAogICAgICAgPj4+IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsiZWNobyIsICJIZWxsbyBXb3JsZCEiXSkKQEAgLTE0Niw2ICsxNTIsMTAgQEAKICAgICAgID4+PiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbImVjaG8iLCAiSGVsbG8gV29ybGQhIl0sIHVuaXZlcnNhbF9uZXdsaW5lcz1UcnVlKQogICAgICAgJ0hlbGxvIFdvcmxkIVxuJwogCisgICAgICA+Pj4gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJzZWQiLCAiLWUiLCAicy9mb28vYmFyLyJdLAorICAgICAgLi4uICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0PWIid2hlbiBpbiB0aGUgY291cnNlIG9mIGZvb21hbiBldmVudHNcbiIpCisgICAgICBiJ3doZW4gaW4gdGhlIGNvdXJzZSBvZiBiYXJtYW4gZXZlbnRzXG4nCisKICAgICAgID4+PiBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgiZXhpdCAxIiwgc2hlbGw9VHJ1ZSkKICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgICAgIC4uLgpAQCAtMTY3LDEwICsxNzcsNiBAQAogICAgICAgLi4uICAgICBzaGVsbD1UcnVlKQogICAgICAgJ2xzOiBub25fZXhpc3RlbnRfZmlsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuJwogCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjEKLQotICAgLi4KLQogICAgLi4gd2FybmluZzo6CiAKICAgICAgIEludm9raW5nIHRoZSBzeXN0ZW0gc2hlbGwgd2l0aCBgYHNoZWxsPVRydWVgYCBjYW4gYmUgYSBzZWN1cml0eSBoYXphcmQKQEAgLTE4Myw5ICsxODksMTMgQEAKICAgICAgIHJlYWQgaW4gdGhlIGN1cnJlbnQgcHJvY2VzcywgdGhlIGNoaWxkIHByb2Nlc3MgbWF5IGJsb2NrIGlmIGl0CiAgICAgICBnZW5lcmF0ZXMgZW5vdWdoIG91dHB1dCB0byB0aGUgcGlwZSB0byBmaWxsIHVwIHRoZSBPUyBwaXBlIGJ1ZmZlci4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy4xCisKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCiAgICAgICAqdGltZW91dCogd2FzIGFkZGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgKmlucHV0KiB3YXMgYWRkZWQuCiAKIC4uIGRhdGE6OiBERVZOVUxMCiAKQEAgLTgyOSw4ICs4MzksNiBAQAogICAgVGhlIG5ldyBwcm9jZXNzIGhhcyBhIG5ldyBjb25zb2xlLCBpbnN0ZWFkIG9mIGluaGVyaXRpbmcgaXRzIHBhcmVudCdzCiAgICBjb25zb2xlICh0aGUgZGVmYXVsdCkuCiAKLSAgIFRoaXMgZmxhZyBpcyBhbHdheXMgc2V0IHdoZW4gOmNsYXNzOmBQb3BlbmAgaXMgY3JlYXRlZCB3aXRoIGBgc2hlbGw9VHJ1ZWBgLgotCiAuLiBkYXRhOjogQ1JFQVRFX05FV19QUk9DRVNTX0dST1VQCiAKICAgIEEgOmNsYXNzOmBQb3BlbmAgYGBjcmVhdGlvbmZsYWdzYGAgcGFyYW1ldGVyIHRvIHNwZWNpZnkgdGhhdCBhIG5ldyBwcm9jZXNzCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zeXMucnN0IGIvRG9jL2xpYnJhcnkvc3lzLnJzdAppbmRleCBlN2U4NTNkLi41ZjgzOTlmIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zeXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N5cy5yc3QKQEAgLTM4MCw2ICszODAsMjEgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMQogCiAKKy4uIGZ1bmN0aW9uOjogZ2V0YWxsb2NhdGVkYmxvY2tzKCkKKworICAgUmV0dXJuIHRoZSBudW1iZXIgb2YgbWVtb3J5IGJsb2NrcyBjdXJyZW50bHkgYWxsb2NhdGVkIGJ5IHRoZSBpbnRlcnByZXRlciwKKyAgIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgc2l6ZS4gIFRoaXMgZnVuY3Rpb24gaXMgbWFpbmx5IHVzZWZ1bCBmb3IgdHJhY2tpbmcKKyAgIGFuZCBkZWJ1Z2dpbmcgbWVtb3J5IGxlYWtzLiAgQmVjYXVzZSBvZiB0aGUgaW50ZXJwcmV0ZXIncyBpbnRlcm5hbAorICAgY2FjaGVzLCB0aGUgcmVzdWx0IGNhbiB2YXJ5IGZyb20gY2FsbCB0byBjYWxsOyB5b3UgbWF5IGhhdmUgdG8gY2FsbAorICAgOmZ1bmM6YF9jbGVhcl90eXBlX2NhY2hlKClgIGFuZCA6ZnVuYzpgZ2MuY29sbGVjdCgpYCB0byBnZXQgbW9yZQorICAgcHJlZGljdGFibGUgcmVzdWx0cy4KKworICAgSWYgYSBQeXRob24gYnVpbGQgb3IgaW1wbGVtZW50YXRpb24gY2Fubm90IHJlYXNvbmFibHkgY29tcHV0ZSB0aGlzCisgICBpbmZvcm1hdGlvbiwgOmZ1bmM6YGdldGFsbG9jYXRlZGJsb2NrcygpYCBpcyBhbGxvd2VkIHRvIHJldHVybiAwIGluc3RlYWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAorCisKIC4uIGZ1bmN0aW9uOjogZ2V0Y2hlY2tpbnRlcnZhbCgpCiAKICAgIFJldHVybiB0aGUgaW50ZXJwcmV0ZXIncyAiY2hlY2sgaW50ZXJ2YWwiOyBzZWUgOmZ1bmM6YHNldGNoZWNraW50ZXJ2YWxgLgpAQCAtODA5LDggKzgyNCw2IEBACiAgICBXaW5kb3dzICAgICAgICAgIGBgJ3dpbjMyJ2BgCiAgICBXaW5kb3dzL0N5Z3dpbiAgIGBgJ2N5Z3dpbidgYAogICAgTWFjIE9TIFggICAgICAgICBgYCdkYXJ3aW4nYGAKLSAgIE9TLzIgICAgICAgICAgICAgYGAnb3MyJ2BgCi0gICBPUy8yIEVNWCAgICAgICAgIGBgJ29zMmVteCdgYAogICAgPT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKQEAgLTEwOTEsNyArMTEwNCw2IEBACiAgICB8IDpjb25zdDpgbmFtZWAgICAgfCBOYW1lIG9mIHRoZSB0aHJlYWQgaW1wbGVtZW50YXRpb246ICAgICAgICAgICAgICAgICAgICAgIHwKICAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgIHwgICogYGAnbnQnYGA6IFdpbmRvd3MgdGhyZWFkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0gICB8ICAgICAgICAgICAgICAgICAgfCAgKiBgYCdvczInYGA6IE9TLzIgdGhyZWFkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgIHwgICAgICAgICAgICAgICAgICB8ICAqIGBgJ3B0aHJlYWQnYGA6IFBPU0lYIHRocmVhZHMgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgIHwgICogYGAnc29sYXJpcydgYDogU29sYXJpcyB0aHJlYWRzICAgICAgICAgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3N5c2NvbmZpZy5yc3QgYi9Eb2MvbGlicmFyeS9zeXNjb25maWcucnN0CmluZGV4IGM0N2RjY2UuLjUzNWFjNTQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N5c2NvbmZpZy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc3lzY29uZmlnLnJzdApAQCAtODMsOCArODMsNiBAQAogICBsb2NhdGVkIHVuZGVyIHRoZSB1c2VyIGhvbWUgZGlyZWN0b3J5LgogLSAqbnQqOiBzY2hlbWUgZm9yIE5UIHBsYXRmb3JtcyBsaWtlIFdpbmRvd3MuCiAtICpudF91c2VyKjogc2NoZW1lIGZvciBOVCBwbGF0Zm9ybXMsIHdoZW4gdGhlICp1c2VyKiBvcHRpb24gaXMgdXNlZC4KLS0gKm9zMio6IHNjaGVtZSBmb3IgT1MvMiBwbGF0Zm9ybXMuCi0tICpvczJfaG9tZSo6IHNjaGVtZSBmb3IgT1MvMiBwYXRmb3Jtcywgd2hlbiB0aGUgKnVzZXIqIG9wdGlvbiBpcyB1c2VkLgogCiBFYWNoIHNjaGVtZSBpcyBpdHNlbGYgY29tcG9zZWQgb2YgYSBzZXJpZXMgb2YgcGF0aHMgYW5kIGVhY2ggcGF0aCBoYXMgYSB1bmlxdWUKIGlkZW50aWZpZXIuICBQeXRob24gY3VycmVudGx5IHVzZXMgZWlnaHQgcGF0aHM6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aW1laXQucnN0IGIvRG9jL2xpYnJhcnkvdGltZWl0LnJzdAppbmRleCBhNDg3OTE3Li4wY2MxNTg2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aW1laXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RpbWVpdC5yc3QKQEAgLTE1MSw3ICsxNTEsNyBAQAogICAgICAgICAgdCA9IFRpbWVyKC4uLikgICAgICAgIyBvdXRzaWRlIHRoZSB0cnkvZXhjZXB0CiAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgdC50aW1laXQoLi4uKSAgICAjIG9yIHQucmVwZWF0KC4uLikKLSAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICAgdC5wcmludF9leGMoKQogCiAgICAgICBUaGUgYWR2YW50YWdlIG92ZXIgdGhlIHN0YW5kYXJkIHRyYWNlYmFjayBpcyB0aGF0IHNvdXJjZSBsaW5lcyBpbiB0aGUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RraW50ZXIucnN0IGIvRG9jL2xpYnJhcnkvdGtpbnRlci5yc3QKaW5kZXggODNhNTM3NS4uMzc3Njk0ZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGtpbnRlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGtpbnRlci5yc3QKQEAgLTc1MCwzMiArNzUwLDYgQEAKICAgIGRpc3BsYXllZC4gIFlvdSBjYW4gdXNlIHRoZXNlIDptb2Q6YHRraW50ZXJgIGZ1bmN0aW9ucyB0byBhY2Nlc3MgdGhlc2Ugc3BlY2lhbAogICAgcG9pbnRzIGluIHRleHQgd2lkZ2V0czoKIAotLi4gZnVuY3Rpb246OiBBdEVuZCgpCi0gICAgICByZWZlcnMgdG8gdGhlIGxhc3QgcG9zaXRpb24gaW4gdGhlIHRleHQKLQotICAgLi4gZGVwcmVjYXRlZDo6IDMuMwotCi0uLiBmdW5jdGlvbjo6IEF0SW5zZXJ0KCkKLSAgICAgIHJlZmVycyB0byB0aGUgcG9pbnQgd2hlcmUgdGhlIHRleHQgY3Vyc29yIGlzCi0KLSAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKLQotLi4gZnVuY3Rpb246OiBBdFNlbEZpcnN0KCkKLSAgICAgIGluZGljYXRlcyB0aGUgYmVnaW5uaW5nIHBvaW50IG9mIHRoZSBzZWxlY3RlZCB0ZXh0Ci0KLSAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKLQotLi4gZnVuY3Rpb246OiBBdFNlbExhc3QoKQotICAgICAgZGVub3RlcyB0aGUgbGFzdCBwb2ludCBvZiB0aGUgc2VsZWN0ZWQgdGV4dCBhbmQgZmluYWxseQotCi0gICAuLiBkZXByZWNhdGVkOjogMy4zCi0KLS4uIGZ1bmN0aW9uOjogQXQoeFssIHldKQotICAgICAgcmVmZXJzIHRvIHRoZSBjaGFyYWN0ZXIgYXQgcGl4ZWwgbG9jYXRpb24gKngqLCAqeSogKHdpdGggKnkqIG5vdCB1c2VkIGluIHRoZQotICAgICAgY2FzZSBvZiBhIHRleHQgZW50cnkgd2lkZ2V0LCB3aGljaCBjb250YWlucyBhIHNpbmdsZSBsaW5lIG9mIHRleHQpLgotCi0gICAuLiBkZXByZWNhdGVkOjogMy4zCi0KIFRleHQgd2lkZ2V0IGluZGV4ZXMKICAgIFRoZSBpbmRleCBub3RhdGlvbiBmb3IgVGV4dCB3aWRnZXRzIGlzIHZlcnkgcmljaCBhbmQgaXMgYmVzdCBkZXNjcmliZWQgaW4gdGhlIFRrCiAgICBtYW4gcGFnZXMuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90cmFjZWJhY2sucnN0IGIvRG9jL2xpYnJhcnkvdHJhY2ViYWNrLnJzdAppbmRleCAzMmU1NzMzLi4wNTMzYmVhIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90cmFjZWJhY2sucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RyYWNlYmFjay5yc3QKQEAgLTE0Niw3ICsxNDYsNyBAQAogICAgICAgIHNvdXJjZSA9IGlucHV0KCI+Pj4gIikKICAgICAgICB0cnk6CiAgICAgICAgICAgIGV4ZWMoc291cmNlLCBlbnZkaXIpCi0gICAgICAgZXhjZXB0OgorICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgIHByaW50KCJFeGNlcHRpb24gaW4gdXNlciBjb2RlOiIpCiAgICAgICAgICAgIHByaW50KCItIio2MCkKICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRvdXQpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90eXBlcy5yc3QgYi9Eb2MvbGlicmFyeS90eXBlcy5yc3QKaW5kZXggNjk1NDgwZi4uOTUxMzJlOCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdHlwZXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3R5cGVzLnJzdApAQCAtMjEyLDYgKzIxMiw4IEBACiAgICAgICAgICAgICAgICBrZXlzID0gc29ydGVkKHNlbGYuX19kaWN0X18pCiAgICAgICAgICAgICAgICBpdGVtcyA9ICgie309eyFyfSIuZm9ybWF0KGssIHNlbGYuX19kaWN0X19ba10pIGZvciBrIGluIGtleXMpCiAgICAgICAgICAgICAgICByZXR1cm4gInt9KHt9KSIuZm9ybWF0KHR5cGUoc2VsZikuX19uYW1lX18sICIsICIuam9pbihpdGVtcykpCisgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19kaWN0X18gPT0gb3RoZXIuX19kaWN0X18KIAogICAgYGBTaW1wbGVOYW1lc3BhY2VgYCBtYXkgYmUgdXNlZnVsIGFzIGEgcmVwbGFjZW1lbnQgZm9yIGBgY2xhc3MgTlM6IHBhc3NgYC4KICAgIEhvd2V2ZXIsIGZvciBhIHN0cnVjdHVyZWQgcmVjb3JkIHR5cGUgdXNlIDpmdW5jOmB+Y29sbGVjdGlvbnMubmFtZWR0dXBsZWAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdCBiL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdAppbmRleCBhZDcwZGQ5Li4yNmVjZWQ2IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdW5pY29kZWRhdGEucnN0CkBAIC0xNSw4ICsxNSw4IEBACiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCkgd2hpY2gKIGRlZmluZXMgY2hhcmFjdGVyIHByb3BlcnRpZXMgZm9yIGFsbCBVbmljb2RlIGNoYXJhY3RlcnMuIFRoZSBkYXRhIGNvbnRhaW5lZCBpbgotdGhpcyBkYXRhYmFzZSBpcyBjb21waWxlZCBmcm9tIHRoZSBgVUNEIHZlcnNpb24gNi4xLjAKLTxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjEuMC91Y2Q+YF8uCit0aGlzIGRhdGFiYXNlIGlzIGNvbXBpbGVkIGZyb20gdGhlIGBVQ0QgdmVyc2lvbiA2LjIuMAorPGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMi4wL3VjZD5gXy4KIAogVGhlIG1vZHVsZSB1c2VzIHRoZSBzYW1lIG5hbWVzIGFuZCBzeW1ib2xzIGFzIGRlZmluZWQgYnkgVW5pY29kZQogU3RhbmRhcmQgQW5uZXggIzQ0LCBgIlVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIgpAQCAtMTY2LDYgKzE2Niw2IEBACiAKIC4uIHJ1YnJpYzo6IEZvb3Rub3RlcwogCi0uLiBbI10gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvNi4xLjAvdWNkL05hbWVBbGlhc2VzLnR4dAorLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMi4wL3VjZC9OYW1lQWxpYXNlcy50eHQKIAotLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMS4wL3VjZC9OYW1lZFNlcXVlbmNlcy50eHQKKy4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjIuMC91Y2QvTmFtZWRTZXF1ZW5jZXMudHh0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLWV4YW1wbGVzLnJzdCBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2stZXhhbXBsZXMucnN0CmluZGV4IGQ3ZDY5N2QuLjQ0NGMyMDggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2stZXhhbXBsZXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0Lm1vY2stZXhhbXBsZXMucnN0CkBAIC0yNzcsNiArMjc3LDIwIEBACiAgICAgICAgLi4uCiAgICAgQXR0cmlidXRlRXJyb3I6IG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdvbGRfbWV0aG9kJwogCitVc2luZyBhIHNwZWNpZmljYXRpb24gYWxzbyBlbmFibGVzIGEgc21hcnRlciBtYXRjaGluZyBvZiBjYWxscyBtYWRlIHRvIHRoZQorbW9jaywgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHNvbWUgcGFyYW1ldGVycyB3ZXJlIHBhc3NlZCBhcyBwb3NpdGlvbmFsIG9yCituYW1lZCBhcmd1bWVudHM6OgorCisgICA+Pj4gZGVmIGYoYSwgYiwgYyk6IHBhc3MKKyAgIC4uLgorICAgPj4+IG1vY2sgPSBNb2NrKHNwZWM9ZikKKyAgID4+PiBtb2NrKDEsIDIsIDMpCisgICA8TW9jayBuYW1lPSdtb2NrKCknIGlkPScxNDAxNjE1ODA0NTY1NzYnPgorICAgPj4+IG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKGE9MSwgYj0yLCBjPTMpCisKK0lmIHlvdSB3YW50IHRoaXMgc21hcnRlciBtYXRjaGluZyB0byBhbHNvIHdvcmsgd2l0aCBtZXRob2QgY2FsbHMgb24gdGhlIG1vY2ssCit5b3UgY2FuIHVzZSA6cmVmOmBhdXRvLXNwZWNjaW5nIDxhdXRvLXNwZWNjaW5nPmAuCisKIElmIHlvdSB3YW50IGEgc3Ryb25nZXIgZm9ybSBvZiBzcGVjaWZpY2F0aW9uIHRoYXQgcHJldmVudHMgdGhlIHNldHRpbmcKIG9mIGFyYml0cmFyeSBhdHRyaWJ1dGVzIGFzIHdlbGwgYXMgdGhlIGdldHRpbmcgb2YgdGhlbSB0aGVuIHlvdSBjYW4gdXNlCiBgc3BlY19zZXRgIGluc3RlYWQgb2YgYHNwZWNgLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QubW9jay5yc3QgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdAppbmRleCA2ZDFhNTdlLi5iZTYzNzI4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdAorKysgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5tb2NrLnJzdApAQCAtMjY0LDcgKzI2NCw2IEBACiAgICAgICAgICAgICA8TW9jayBuYW1lPSdtb2NrLm1ldGhvZCgpJyBpZD0nLi4uJz4KICAgICAgICAgICAgID4+PiBtb2NrLm1ldGhvZC5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMiwgMywgdGVzdD0nd293JykKIAotCiAgICAgLi4gbWV0aG9kOjogYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoKmFyZ3MsICoqa3dhcmdzKQogCiAgICAgICAgQXNzZXJ0IHRoYXQgdGhlIG1vY2sgd2FzIGNhbGxlZCBleGFjdGx5IG9uY2UgYW5kIHdpdGggdGhlIHNwZWNpZmllZApAQCAtNjg1LDYgKzY4NCwyNyBAQAogICAgICAgLi4uCiAgICAgS2V5RXJyb3IKIAorQSBjYWxsYWJsZSBtb2NrIHdoaWNoIHdhcyBjcmVhdGVkIHdpdGggYSAqc3BlYyogKG9yIGEgKnNwZWNfc2V0Kikgd2lsbAoraW50cm9zcGVjdCB0aGUgc3BlY2lmaWNhdGlvbiBvYmplY3QncyBzaWduYXR1cmUgd2hlbiBtYXRjaGluZyBjYWxscyB0bwordGhlIG1vY2suICBUaGVyZWZvcmUsIGl0IGNhbiBtYXRjaCB0aGUgYWN0dWFsIGNhbGwncyBhcmd1bWVudHMgcmVnYXJkbGVzcworb2Ygd2hldGhlciB0aGV5IHdlcmUgcGFzc2VkIHBvc2l0aW9uYWxseSBvciBieSBuYW1lOjoKKworICAgPj4+IGRlZiBmKGEsIGIsIGMpOiBwYXNzCisgICAuLi4KKyAgID4+PiBtb2NrID0gTW9jayhzcGVjPWYpCisgICA+Pj4gbW9jaygxLCAyLCBjPTMpCisgICA8TW9jayBuYW1lPSdtb2NrKCknIGlkPScxNDAxNjE1ODA0NTY1NzYnPgorICAgPj4+IG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKDEsIDIsIDMpCisgICA+Pj4gbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoYT0xLCBiPTIsIGM9MykKKworVGhpcyBhcHBsaWVzIHRvIDptZXRoOmB+TW9jay5hc3NlcnRfY2FsbGVkX3dpdGhgLAorOm1ldGg6YH5Nb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoYCwgOm1ldGg6YH5Nb2NrLmFzc2VydF9oYXNfY2FsbHNgIGFuZAorOm1ldGg6YH5Nb2NrLmFzc2VydF9hbnlfY2FsbGAuICBXaGVuIDpyZWY6YGF1dG8tc3BlY2NpbmdgLCBpdCB3aWxsIGFsc28KK2FwcGx5IHRvIG1ldGhvZCBjYWxscyBvbiB0aGUgbW9jayBvYmplY3QuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgICAgICBBZGRlZCBzaWduYXR1cmUgaW50cm9zcGVjdGlvbiBvbiBzcGVjY2VkIGFuZCBhdXRvc3BlY2NlZCBtb2NrIG9iamVjdHMuCisKIAogLi4gY2xhc3M6OiBQcm9wZXJ0eU1vY2soKmFyZ3MsICoqa3dhcmdzKQogCkBAIC0xOTY5LDggKzE5ODksMTIgQEAKICAgICBkZWZhdWx0KSB0aGVuIGEgYE1hZ2ljTW9ja2Agd2lsbCBiZSBjcmVhdGVkIGZvciB5b3UsIHdpdGggdGhlIEFQSSBsaW1pdGVkCiAgICAgdG8gbWV0aG9kcyBvciBhdHRyaWJ1dGVzIGF2YWlsYWJsZSBvbiBzdGFuZGFyZCBmaWxlIGhhbmRsZXMuCiAKLSAgICBgcmVhZF9kYXRhYCBpcyBhIHN0cmluZyBmb3IgdGhlIGByZWFkYCBtZXRob2Qgb2YgdGhlIGZpbGUgaGFuZGxlIHRvIHJldHVybi4KLSAgICBUaGlzIGlzIGFuIGVtcHR5IHN0cmluZyBieSBkZWZhdWx0LgorICAgIGByZWFkX2RhdGFgIGlzIGEgc3RyaW5nIGZvciB0aGUgYHJlYWRgLCBgcmVhZGxpbmVgLCBhbmQgYHJlYWRsaW5lc2AgbWV0aG9kcworICAgIG9mIHRoZSBmaWxlIGhhbmRsZSB0byByZXR1cm4uICBDYWxscyB0byB0aG9zZSBtZXRob2RzIHdpbGwgdGFrZSBkYXRhIGZyb20KKyAgICBgcmVhZF9kYXRhYCB1bnRpbCBpdCBpcyBkZXBsZXRlZC4gIFRoZSBtb2NrIG9mIHRoZXNlIG1ldGhvZHMgaXMgcHJldHR5CisgICAgc2ltcGxpc3RpYy4gIElmIHlvdSBuZWVkIG1vcmUgY29udHJvbCBvdmVyIHRoZSBkYXRhIHRoYXQgeW91IGFyZSBmZWVkaW5nIHRvCisgICAgdGhlIHRlc3RlZCBjb2RlIHlvdSB3aWxsIG5lZWQgdG8gY3VzdG9taXplIHRoaXMgbW9jayBmb3IgeW91cnNlbGYuCisgICAgYHJlYWRfZGF0YWAgaXMgYW4gZW1wdHkgc3RyaW5nIGJ5IGRlZmF1bHQuCiAKIFVzaW5nIGBvcGVuYCBhcyBhIGNvbnRleHQgbWFuYWdlciBpcyBhIGdyZWF0IHdheSB0byBlbnN1cmUgeW91ciBmaWxlIGhhbmRsZXMKIGFyZSBjbG9zZWQgcHJvcGVybHkgYW5kIGlzIGJlY29taW5nIGNvbW1vbjo6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QgYi9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QKaW5kZXggYzQ0YWIyMy4uNzY2MTIyYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdApAQCAtNTYzLDYgKzU2Myw2OCBAQAogU2tpcHBlZCBjbGFzc2VzIHdpbGwgbm90IGhhdmUgOm1ldGg6YHNldFVwQ2xhc3NgIG9yIDptZXRoOmB0ZWFyRG93bkNsYXNzYCBydW4uCiAKIAorLi4gX3N1YnRlc3RzOgorCitEaXN0aW5ndWlzaGluZyB0ZXN0IGl0ZXJhdGlvbnMgdXNpbmcgc3VidGVzdHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworV2hlbiBzb21lIG9mIHlvdXIgdGVzdHMgZGlmZmVyIG9ubHkgYnkgYSBzb21lIHZlcnkgc21hbGwgZGlmZmVyZW5jZXMsIGZvcgoraW5zdGFuY2Ugc29tZSBwYXJhbWV0ZXJzLCB1bml0dGVzdCBhbGxvd3MgeW91IHRvIGRpc3Rpbmd1aXNoIHRoZW0gaW5zaWRlCit0aGUgYm9keSBvZiBhIHRlc3QgbWV0aG9kIHVzaW5nIHRoZSA6bWV0aDpgflRlc3RDYXNlLnN1YlRlc3RgIGNvbnRleHQgbWFuYWdlci4KKworRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgdGVzdDo6CisKKyAgIGNsYXNzIE51bWJlcnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICAgIGRlZiB0ZXN0X2V2ZW4oc2VsZik6CisgICAgICAgICAgICIiIgorICAgICAgICAgICBUZXN0IHRoYXQgbnVtYmVycyBiZXR3ZWVuIDAgYW5kIDUgYXJlIGFsbCBldmVuLgorICAgICAgICAgICAiIiIKKyAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgNik6CisgICAgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChpPWkpOgorICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaSAlIDIsIDApCisKK3dpbGwgcHJvZHVjZSB0aGUgZm9sbG93aW5nIG91dHB1dDo6CisKKyAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgIEZBSUw6IHRlc3RfZXZlbiAoX19tYWluX18uTnVtYmVyc1Rlc3QpIChpPTEpCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgIEZpbGUgInN1YnRlc3RzLnB5IiwgbGluZSAzMiwgaW4gdGVzdF9ldmVuCisgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpICUgMiwgMCkKKyAgIEFzc2VydGlvbkVycm9yOiAxICE9IDAKKworICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgRkFJTDogdGVzdF9ldmVuIChfX21haW5fXy5OdW1iZXJzVGVzdCkgKGk9MykKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgRmlsZSAic3VidGVzdHMucHkiLCBsaW5lIDMyLCBpbiB0ZXN0X2V2ZW4KKyAgICAgICBzZWxmLmFzc2VydEVxdWFsKGkgJSAyLCAwKQorICAgQXNzZXJ0aW9uRXJyb3I6IDEgIT0gMAorCisgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICBGQUlMOiB0ZXN0X2V2ZW4gKF9fbWFpbl9fLk51bWJlcnNUZXN0KSAoaT01KQorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICBGaWxlICJzdWJ0ZXN0cy5weSIsIGxpbmUgMzIsIGluIHRlc3RfZXZlbgorICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaSAlIDIsIDApCisgICBBc3NlcnRpb25FcnJvcjogMSAhPSAwCisKK1dpdGhvdXQgdXNpbmcgYSBzdWJ0ZXN0LCBleGVjdXRpb24gd291bGQgc3RvcCBhZnRlciB0aGUgZmlyc3QgZmFpbHVyZSwKK2FuZCB0aGUgZXJyb3Igd291bGQgYmUgbGVzcyBlYXN5IHRvIGRpYWdub3NlIGJlY2F1c2UgdGhlIHZhbHVlIG9mIGBgaWBgCit3b3VsZG4ndCBiZSBkaXNwbGF5ZWQ6OgorCisgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICBGQUlMOiB0ZXN0X2V2ZW4gKF9fbWFpbl9fLk51bWJlcnNUZXN0KQorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICBGaWxlICJzdWJ0ZXN0cy5weSIsIGxpbmUgMzIsIGluIHRlc3RfZXZlbgorICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaSAlIDIsIDApCisgICBBc3NlcnRpb25FcnJvcjogMSAhPSAwCisKKwogLi4gX3VuaXR0ZXN0LWNvbnRlbnRzOgogCiBDbGFzc2VzIGFuZCBmdW5jdGlvbnMKQEAgLTY3Niw2ICs3MzgsMjEgQEAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMQogCiAKKyAgIC4uIG1ldGhvZDo6IHN1YlRlc3QobXNnPU5vbmUsICoqcGFyYW1zKQorCisgICAgICBSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgd2hpY2ggZXhlY3V0ZXMgdGhlIGVuY2xvc2VkIGNvZGUgYmxvY2sgYXMgYQorICAgICAgc3VidGVzdC4gICptc2cqIGFuZCAqcGFyYW1zKiBhcmUgb3B0aW9uYWwsIGFyYml0cmFyeSB2YWx1ZXMgd2hpY2ggYXJlCisgICAgICBkaXNwbGF5ZWQgd2hlbmV2ZXIgYSBzdWJ0ZXN0IGZhaWxzLCBhbGxvd2luZyB5b3UgdG8gaWRlbnRpZnkgdGhlbQorICAgICAgY2xlYXJseS4KKworICAgICAgQSB0ZXN0IGNhc2UgY2FuIGNvbnRhaW4gYW55IG51bWJlciBvZiBzdWJ0ZXN0IGRlY2xhcmF0aW9ucywgYW5kCisgICAgICB0aGV5IGNhbiBiZSBhcmJpdHJhcmlseSBuZXN0ZWQuCisKKyAgICAgIFNlZSA6cmVmOmBzdWJ0ZXN0c2AgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAorCisKICAgIC4uIG1ldGhvZDo6IGRlYnVnKCkKIAogICAgICAgUnVuIHRoZSB0ZXN0IHdpdGhvdXQgY29sbGVjdGluZyB0aGUgcmVzdWx0LiAgVGhpcyBhbGxvd3MgZXhjZXB0aW9ucyByYWlzZWQKQEAgLTE1MDAsNyArMTU3Nyw5IEBACiAgICAgICBkaXJlY3RvcnkgbXVzdCBiZSBzcGVjaWZpZWQgc2VwYXJhdGVseS4KIAogICAgICAgSWYgaW1wb3J0aW5nIGEgbW9kdWxlIGZhaWxzLCBmb3IgZXhhbXBsZSBkdWUgdG8gYSBzeW50YXggZXJyb3IsIHRoZW4gdGhpcwotICAgICAgd2lsbCBiZSByZWNvcmRlZCBhcyBhIHNpbmdsZSBlcnJvciBhbmQgZGlzY292ZXJ5IHdpbGwgY29udGludWUuCisgICAgICB3aWxsIGJlIHJlY29yZGVkIGFzIGEgc2luZ2xlIGVycm9yIGFuZCBkaXNjb3Zlcnkgd2lsbCBjb250aW51ZS4gIElmIHRoZQorICAgICAgaW1wb3J0IGZhaWx1cmUgaXMgZHVlIHRvIDpleGM6YFNraXBUZXN0YCBiZWluZyByYWlzZWQsIGl0IHdpbGwgYmUgcmVjb3JkZWQKKyAgICAgIGFzIGEgc2tpcCBpbnN0ZWFkIG9mIGFuIGVycm9yLgogCiAgICAgICBJZiBhIHRlc3QgcGFja2FnZSBuYW1lIChkaXJlY3Rvcnkgd2l0aCA6ZmlsZTpgX19pbml0X18ucHlgKSBtYXRjaGVzIHRoZQogICAgICAgcGF0dGVybiB0aGVuIHRoZSBwYWNrYWdlIHdpbGwgYmUgY2hlY2tlZCBmb3IgYSBgYGxvYWRfdGVzdHNgYApAQCAtMTUxOSw2ICsxNTk4LDE1IEBACiAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuNAorICAgICAgICAgTW9kdWxlcyB0aGF0IHJhaXNlIDpleGM6YFNraXBUZXN0YCBvbiBpbXBvcnQgYXJlIHJlY29yZGVkIGFzIHNraXBzLAorICAgICAgICAgbm90IGVycm9ycy4KKworICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgICAgIFBhdGhzIGFyZSBzb3J0ZWQgYmVmb3JlIGJlaW5nIGltcG9ydGVkIHRvIGVuc3VyZSBleGVjdXRpb24gb3JkZXIgZm9yIGEKKyAgICAgICAgIGdpdmVuIHRlc3Qgc3VpdGUgaXMgdGhlIHNhbWUgZXZlbiBpZiB0aGUgdW5kZXJseWluZyBmaWxlIHN5c3RlbSdzIG9yZGVyaW5nCisgICAgICAgICBpcyBub3QgZGVwZW5kZW50IG9uIGZpbGUgbmFtZSBsaWtlIGluIGV4dDMvNC4KKwogCiAgICBUaGUgZm9sbG93aW5nIGF0dHJpYnV0ZXMgb2YgYSA6Y2xhc3M6YFRlc3RMb2FkZXJgIGNhbiBiZSBjb25maWd1cmVkIGVpdGhlciBieQogICAgc3ViY2xhc3Npbmcgb3IgYXNzaWdubWVudCBvbiBhbiBpbnN0YW5jZToKQEAgLTE3MjksNiArMTgxNywyMiBAQAogICAgICAgOmF0dHI6YHVuZXhwZWN0ZWRTdWNjZXNzZXNgIGF0dHJpYnV0ZS4KIAogCisgICAuLiBtZXRob2Q6OiBhZGRTdWJUZXN0KHRlc3QsIHN1YnRlc3QsIG91dGNvbWUpCisKKyAgICAgIENhbGxlZCB3aGVuIGEgc3VidGVzdCBmaW5pc2hlcy4gICp0ZXN0KiBpcyB0aGUgdGVzdCBjYXNlCisgICAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSB0ZXN0IG1ldGhvZC4gICpzdWJ0ZXN0KiBpcyBhIGN1c3RvbQorICAgICAgOmNsYXNzOmBUZXN0Q2FzZWAgaW5zdGFuY2UgZGVzY3JpYmluZyB0aGUgc3VidGVzdC4KKworICAgICAgSWYgKm91dGNvbWUqIGlzIDpjb25zdDpgTm9uZWAsIHRoZSBzdWJ0ZXN0IHN1Y2NlZWRlZC4gIE90aGVyd2lzZSwKKyAgICAgIGl0IGZhaWxlZCB3aXRoIGFuIGV4Y2VwdGlvbiB3aGVyZSAqb3V0Y29tZSogaXMgYSB0dXBsZSBvZiB0aGUgZm9ybQorICAgICAgcmV0dXJuZWQgYnkgOmZ1bmM6YHN5cy5leGNfaW5mb2A6IGBgKHR5cGUsIHZhbHVlLCB0cmFjZWJhY2spYGAuCisKKyAgICAgIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90aGluZyB3aGVuIHRoZSBvdXRjb21lIGlzIGEKKyAgICAgIHN1Y2Nlc3MsIGFuZCByZWNvcmRzIHN1YnRlc3QgZmFpbHVyZXMgYXMgbm9ybWFsIGZhaWx1cmVzLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworCiAuLiBjbGFzczo6IFRleHRUZXN0UmVzdWx0KHN0cmVhbSwgZGVzY3JpcHRpb25zLCB2ZXJib3NpdHkpCiAKICAgIEEgY29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YgOmNsYXNzOmBUZXN0UmVzdWx0YCB1c2VkIGJ5IHRoZQpAQCAtMTgzNyw2ICsxOTQxLDEwIEBACiAgICAgICBUaGUgKnZlcmJvc2l0eSosICpmYWlsZmFzdCosICpjYXRjaGJyZWFrKiwgKmJ1ZmZlcioKICAgICAgIGFuZCAqd2FybmluZ3MqIHBhcmFtZXRlcnMgd2VyZSBhZGRlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgIFRoZSAqZGVmYXVsdFRlc3QqIHBhcmFtZXRlciB3YXMgY2hhbmdlZCB0byBhbHNvIGFjY2VwdCBhbiBpdGVyYWJsZSBvZgorICAgICAgdGVzdCBuYW1lcy4KKwogCiBsb2FkX3Rlc3RzIFByb3RvY29sCiAjIyMjIyMjIyMjIyMjIyMjIyMjCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91cmxsaWIuZXJyb3IucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLmVycm9yLnJzdAppbmRleCA5YzNmZTkxLi43YmQwNGIxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91cmxsaWIuZXJyb3IucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5lcnJvci5yc3QKQEAgLTQ1LDYgKzQ1LDEzIEBACiAKICAgICAgIFRoaXMgaXMgdXN1YWxseSBhIHN0cmluZyBleHBsYWluaW5nIHRoZSByZWFzb24gZm9yIHRoaXMgZXJyb3IuCiAKKyAgIC4uIGF0dHJpYnV0ZTo6IGhlYWRlcnMKKworICAgICAgVGhlIEhUVFAgcmVzcG9uc2UgaGVhZGVycyBmb3IgdGhlIEhUVFAgcmVxdWVzdCB0aGF0IGNhdXNlIHRoZQorICAgICAgOmV4YzpgSFRUUEVycm9yYC4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKIC4uIGV4Y2VwdGlvbjo6IENvbnRlbnRUb29TaG9ydEVycm9yKG1zZywgY29udGVudCkKIAogICAgVGhpcyBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gdGhlIDpmdW5jOmB1cmxyZXRyaWV2ZWAgZnVuY3Rpb24gZGV0ZWN0cyB0aGF0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91cmxsaWIucmVxdWVzdC5yc3QgYi9Eb2MvbGlicmFyeS91cmxsaWIucmVxdWVzdC5yc3QKaW5kZXggZjUyNWU0NS4uMzkwOGJkMSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdApAQCAtMzU2LDYgKzM1NiwxMSBAQAogCiAgICBPcGVuIGxvY2FsIGZpbGVzLgogCisuLiBjbGFzczo6IERhdGFIYW5kbGVyKCkKKworICAgT3BlbiBkYXRhIFVSTHMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAogCiAuLiBjbGFzczo6IEZUUEhhbmRsZXIoKQogCkBAIC00MTMsNiArNDE4LDEwIEBACiAKICAgIFRoZSBlbnRpdHkgYm9keSBmb3IgdGhlIHJlcXVlc3QsIG9yIE5vbmUgaWYgbm90IHNwZWNpZmllZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQKKyAgICAgIENoYW5naW5nIHZhbHVlIG9mIDphdHRyOmBSZXF1ZXN0LmRhdGFgIG5vdyBkZWxldGVzICJDb250ZW50LUxlbmd0aCIKKyAgICAgIGhlYWRlciBpZiBpdCB3YXMgcHJldmlvdXNseSBzZXQgb3IgY2FsY3VsYXRlZC4KKwogLi4gYXR0cmlidXRlOjogUmVxdWVzdC51bnZlcmlmaWFibGUKIAogICAgYm9vbGVhbiwgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlcXVlc3QgaXMgdW52ZXJpZmlhYmxlIGFzIGRlZmluZWQKQEAgLTQ2MSw2ICs0NzAsMTQgQEAKICAgIHVucmVkaXJlY3RlZCkuCiAKIAorLi4gbWV0aG9kOjogUmVxdWVzdC5yZW1vdmVfaGVhZGVyKGhlYWRlcikKKworICAgUmVtb3ZlIG5hbWVkIGhlYWRlciBmcm9tIHRoZSByZXF1ZXN0IGluc3RhbmNlIChib3RoIGZyb20gcmVndWxhciBhbmQKKyAgIHVucmVkaXJlY3RlZCBoZWFkZXJzKS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKKwogLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfZnVsbF91cmwoKQogCiAgICBSZXR1cm4gdGhlIFVSTCBnaXZlbiBpbiB0aGUgY29uc3RydWN0b3IuCkBAIC00NzMsNTQgKzQ5MCw2IEBACiAgICBVUkwgZ2l2ZW4gaW4gdGhlIGNvbnN0cnVjdG9yLgogCiAKLS4uIG1ldGhvZDo6IFJlcXVlc3QuYWRkX2RhdGEoZGF0YSkKLQotICAgU2V0IHRoZSA6Y2xhc3M6YFJlcXVlc3RgIGRhdGEgdG8gKmRhdGEqLiAgVGhpcyBpcyBpZ25vcmVkIGJ5IGFsbCBoYW5kbGVycyBleGNlcHQKLSAgIEhUVFAgaGFuZGxlcnMgLS0tIGFuZCB0aGVyZSBpdCBzaG91bGQgYmUgYSBieXRlIHN0cmluZywgYW5kIHdpbGwgY2hhbmdlIHRoZQotICAgcmVxdWVzdCB0byBiZSBgYFBPU1RgYCByYXRoZXIgdGhhbiBgYEdFVGBgLiAgRGVwcmVjYXRlZCBpbiAzLjMsIHVzZQotICAgOmF0dHI6YFJlcXVlc3QuZGF0YWAuCi0KLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyAzLjQKLQotCi0uLiBtZXRob2Q6OiBSZXF1ZXN0Lmhhc19kYXRhKCkKLQotICAgUmV0dXJuIHdoZXRoZXIgdGhlIGluc3RhbmNlIGhhcyBhIG5vbi1cIGBgTm9uZWBgIGRhdGEuIERlcHJlY2F0ZWQgaW4gMy4zLAotICAgdXNlIDphdHRyOmBSZXF1ZXN0LmRhdGFgLgotCi0gICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgMy40Ci0KLQotLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfZGF0YSgpCi0KLSAgIFJldHVybiB0aGUgaW5zdGFuY2UncyBkYXRhLiAgRGVwcmVjYXRlZCBpbiAzLjMsIHVzZSA6YXR0cjpgUmVxdWVzdC5kYXRhYC4KLQotICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDMuNAotCi0KLS4uIG1ldGhvZDo6IFJlcXVlc3QuZ2V0X3R5cGUoKQotCi0gICBSZXR1cm4gdGhlIHR5cGUgb2YgdGhlIFVSTCAtLS0gYWxzbyBrbm93biBhcyB0aGUgc2NoZW1lLiAgRGVwcmVjYXRlZCBpbiAzLjMsCi0gICB1c2UgOmF0dHI6YFJlcXVlc3QudHlwZWAuCi0KLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyAzLjQKLQotCi0uLiBtZXRob2Q6OiBSZXF1ZXN0LmdldF9ob3N0KCkKLQotICAgUmV0dXJuIHRoZSBob3N0IHRvIHdoaWNoIGEgY29ubmVjdGlvbiB3aWxsIGJlIG1hZGUuIERlcHJlY2F0ZWQgaW4gMy4zLCB1c2UKLSAgIDphdHRyOmBSZXF1ZXN0Lmhvc3RgLgotCi0gICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgMy40Ci0KLQotLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfc2VsZWN0b3IoKQotCi0gICBSZXR1cm4gdGhlIHNlbGVjdG9yIC0tLSB0aGUgcGFydCBvZiB0aGUgVVJMIHRoYXQgaXMgc2VudCB0byB0aGUgc2VydmVyLgotICAgRGVwcmVjYXRlZCBpbiAzLjMsIHVzZSA6YXR0cjpgUmVxdWVzdC5zZWxlY3RvcmAuCi0KLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyAzLjQKLQogLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfaGVhZGVyKGhlYWRlcl9uYW1lLCBkZWZhdWx0PU5vbmUpCiAKICAgIFJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGdpdmVuIGhlYWRlci4gSWYgdGhlIGhlYWRlciBpcyBub3QgcHJlc2VudCwgcmV0dXJuCkBAIC01MzEsMjYgKzUwMCwxMCBAQAogCiAgICBSZXR1cm4gYSBsaXN0IG9mIHR1cGxlcyAoaGVhZGVyX25hbWUsIGhlYWRlcl92YWx1ZSkgb2YgdGhlIFJlcXVlc3QgaGVhZGVycy4KIAotCi0uLiBtZXRob2Q6OiBSZXF1ZXN0LnNldF9wcm94eShob3N0LCB0eXBlKQotCi0uLiBtZXRob2Q6OiBSZXF1ZXN0LmdldF9vcmlnaW5fcmVxX2hvc3QoKQotCi0gICBSZXR1cm4gdGhlIHJlcXVlc3QtaG9zdCBvZiB0aGUgb3JpZ2luIHRyYW5zYWN0aW9uLCBhcyBkZWZpbmVkIGJ5Ci0gICA6cmZjOmAyOTY1YC4gIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDpjbGFzczpgUmVxdWVzdGAgY29uc3RydWN0b3IuCi0gICBEZXByZWNhdGVkIGluIDMuMywgdXNlIDphdHRyOmBSZXF1ZXN0Lm9yaWdpbl9yZXFfaG9zdGAuCi0KLSAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyAzLjQKLQotCi0uLiBtZXRob2Q6OiBSZXF1ZXN0LmlzX3VudmVyaWZpYWJsZSgpCi0KLSAgIFJldHVybiB3aGV0aGVyIHRoZSByZXF1ZXN0IGlzIHVudmVyaWZpYWJsZSwgYXMgZGVmaW5lZCBieSBSRkMgMjk2NS4gU2VlIHRoZQotICAgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDpjbGFzczpgUmVxdWVzdGAgY29uc3RydWN0b3IuICBEZXByZWNhdGVkIGluIDMuMywgdXNlCi0gICA6YXR0cjpgUmVxdWVzdC51bnZlcmlmaWFibGVgLgotCi0gICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgMy40Ci0KKy4uIHZlcnNpb25jaGFuZ2VkOjogMy40CisgIFJlcXVlc3QgbWV0aG9kcyBhZGRfZGF0YSwgaGFzX2RhdGEsIGdldF9kYXRhLCBnZXRfdHlwZSwgZ2V0X2hvc3QsCisgIGdldF9zZWxlY3RvciwgZ2V0X29yaWdpbl9yZXFfaG9zdCBhbmQgaXNfdW52ZXJpZmlhYmxlIGRlcHJlY2F0ZWQgc2luY2UgMy4zCisgIGhhdmUgYmVlbiByZW1vdmVkLgogCiAuLiBfb3BlbmVyLWRpcmVjdG9yLW9iamVjdHM6CiAKQEAgLTk4Miw2ICs5MzUsMjEgQEAKICAgICAgIGhvc3RuYW1lIGlzIGdpdmVuLCBhbiA6ZXhjOmBVUkxFcnJvcmAgaXMgcmFpc2VkLgogCiAKKy4uIF9kYXRhLWhhbmRsZXItb2JqZWN0czoKKworRGF0YUhhbmRsZXIgT2JqZWN0cworLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBtZXRob2Q6OiBEYXRhSGFuZGxlci5kYXRhX29wZW4ocmVxKQorCisgICBSZWFkIGEgZGF0YSBVUkwuIFRoaXMga2luZCBvZiBVUkwgY29udGFpbnMgdGhlIGNvbnRlbnQgZW5jb2RlZCBpbiB0aGUgVVJMCisgICBpdHNlbGYuIFRoZSBkYXRhIFVSTCBzeW50YXggaXMgc3BlY2lmaWVkIGluIDpyZmM6YDIzOTdgLiBUaGlzIGltcGxlbWVudGF0aW9uCisgICBpZ25vcmVzIHdoaXRlIHNwYWNlcyBpbiBiYXNlNjQgZW5jb2RlZCBkYXRhIFVSTHMgc28gdGhlIFVSTCBtYXkgYmUgd3JhcHBlZAorICAgaW4gd2hhdGV2ZXIgc291cmNlIGZpbGUgaXQgY29tZXMgZnJvbS4gQnV0IGV2ZW4gdGhvdWdoIHNvbWUgYnJvd3NlcnMgZG9uJ3QKKyAgIG1pbmQgYWJvdXQgYSBtaXNzaW5nIHBhZGRpbmcgYXQgdGhlIGVuZCBvZiBhIGJhc2U2NCBlbmNvZGVkIGRhdGEgVVJMLCB0aGlzCisgICBpbXBsZW1lbnRhdGlvbiB3aWxsIHJhaXNlIGFuIDpleGM6YFZhbHVlRXJyb3JgIGluIHRoYXQgY2FzZS4KKworCiAuLiBfZnRwLWhhbmRsZXItb2JqZWN0czoKIAogRlRQSGFuZGxlciBPYmplY3RzCkBAIC0xMzk3LDcgKzEzNjUsOSBAQAogICAgICBwYWlyOiBGVFA7IHByb3RvY29sCiAKICogQ3VycmVudGx5LCBvbmx5IHRoZSBmb2xsb3dpbmcgcHJvdG9jb2xzIGFyZSBzdXBwb3J0ZWQ6IEhUVFAgKHZlcnNpb25zIDAuOSBhbmQKLSAgMS4wKSwgRlRQLCBhbmQgbG9jYWwgZmlsZXMuCisgIDEuMCksIEZUUCwgbG9jYWwgZmlsZXMsIGFuZCBkYXRhIFVSTHMuCisKKyAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjQgQWRkZWQgc3VwcG9ydCBmb3IgZGF0YSBVUkxzLgogCiAqIFRoZSBjYWNoaW5nIGZlYXR1cmUgb2YgOmZ1bmM6YHVybHJldHJpZXZlYCBoYXMgYmVlbiBkaXNhYmxlZCB1bnRpbCBzb21lb25lCiAgIGZpbmRzIHRoZSB0aW1lIHRvIGhhY2sgcHJvcGVyIHByb2Nlc3Npbmcgb2YgRXhwaXJhdGlvbiB0aW1lIGhlYWRlcnMuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS92ZW52LnJzdCBiL0RvYy9saWJyYXJ5L3ZlbnYucnN0CmluZGV4IGNkMDQ4MDguLjVjZDIwOWMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3ZlbnYucnN0CisrKyBiL0RvYy9saWJyYXJ5L3ZlbnYucnN0CkBAIC03NSw4ICs3NSw4IEBACiAgICAgKiBgYHN5c3RlbV9zaXRlX3BhY2thZ2VzYGAgLS0gYSBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgdGhhdCB0aGUgc3lzdGVtIFB5dGhvbgogICAgICAgc2l0ZS1wYWNrYWdlcyBzaG91bGQgYmUgYXZhaWxhYmxlIHRvIHRoZSBlbnZpcm9ubWVudCAoZGVmYXVsdHMgdG8gYGBGYWxzZWBgKS4KIAotICAgICogYGBjbGVhcmBgIC0tIGEgQm9vbGVhbiB2YWx1ZSB3aGljaCwgaWYgVHJ1ZSwgd2lsbCBkZWxldGUgYW55IGV4aXN0aW5nIHRhcmdldAotICAgICAgZGlyZWN0b3J5IGluc3RlYWQgb2YgcmFpc2luZyBhbiBleGNlcHRpb24gKGRlZmF1bHRzIHRvIGBgRmFsc2VgYCkuCisgICAgKiBgYGNsZWFyYGAgLS0gYSBCb29sZWFuIHZhbHVlIHdoaWNoLCBpZiBUcnVlLCB3aWxsIGRlbGV0ZSB0aGUgY29udGVudHMgb2YKKyAgICAgIGFueSBleGlzdGluZyB0YXJnZXQgZGlyZWN0b3J5LCBiZWZvcmUgY3JlYXRpbmcgdGhlIGVudmlyb25tZW50LgogCiAgICAgKiBgYHN5bWxpbmtzYGAgLS0gYSBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0byBhdHRlbXB0IHRvIHN5bWxpbmsgdGhlCiAgICAgICBQeXRob24gYmluYXJ5IChhbmQgYW55IG5lY2Vzc2FyeSBETExzIG9yIG90aGVyIGJpbmFyaWVzLApAQCAtODgsNyArODgsNiBAQAogICAgICAgdXBncmFkZWQgaW4tcGxhY2UgKGRlZmF1bHRzIHRvIGBgRmFsc2VgYCkuCiAKIAotCiAgICAgQ3JlYXRvcnMgb2YgdGhpcmQtcGFydHkgdmlydHVhbCBlbnZpcm9ubWVudCB0b29scyB3aWxsIGJlIGZyZWUgdG8gdXNlIHRoZQogICAgIHByb3ZpZGVkIGBgRW52QnVpbGRlcmBgIGNsYXNzIGFzIGEgYmFzZSBjbGFzcy4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvd2F2ZS5yc3QgYi9Eb2MvbGlicmFyeS93YXZlLnJzdAppbmRleCBhZmFmYjQ1Li4yZTY0ZDAwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93YXZlLnJzdAorKysgYi9Eb2MvbGlicmFyeS93YXZlLnJzdApAQCAtOTgsOCArOTgsOSBAQAogCiAuLiBtZXRob2Q6OiBXYXZlX3JlYWQuZ2V0cGFyYW1zKCkKIAotICAgUmV0dXJucyBhIHR1cGxlIGBgKG5jaGFubmVscywgc2FtcHdpZHRoLCBmcmFtZXJhdGUsIG5mcmFtZXMsIGNvbXB0eXBlLAotICAgY29tcG5hbWUpYGAsIGVxdWl2YWxlbnQgdG8gb3V0cHV0IG9mIHRoZSA6bWV0aDpgZ2V0XCpgIG1ldGhvZHMuCisgICBSZXR1cm5zIGEgOmZ1bmM6YH5jb2xsZWN0aW9ucy5uYW1lZHR1cGxlYCBgYChuY2hhbm5lbHMsIHNhbXB3aWR0aCwKKyAgIGZyYW1lcmF0ZSwgbmZyYW1lcywgY29tcHR5cGUsIGNvbXBuYW1lKWBgLCBlcXVpdmFsZW50IHRvIG91dHB1dCBvZiB0aGUKKyAgIDptZXRoOmBnZXRcKmAgbWV0aG9kcy4KIAogCiAuLiBtZXRob2Q6OiBXYXZlX3JlYWQucmVhZGZyYW1lcyhuKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvd2Vha3JlZi5yc3QgYi9Eb2MvbGlicmFyeS93ZWFrcmVmLnJzdAppbmRleCAyMjRmNDQyLi5lYzUwMTA3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93ZWFrcmVmLnJzdAorKysgYi9Eb2MvbGlicmFyeS93ZWFrcmVmLnJzdApAQCAtMTExLDYgKzExMSwxNSBAQAogCiAgICBUaGlzIGlzIGEgc3ViY2xhc3NhYmxlIHR5cGUgcmF0aGVyIHRoYW4gYSBmYWN0b3J5IGZ1bmN0aW9uLgogCisgICAuLiBhdHRyaWJ1dGU6OiBfX2NhbGxiYWNrX18KKworICAgICAgVGhpcyByZWFkLW9ubHkgYXR0cmlidXRlIHJldHVybnMgdGhlIGNhbGxiYWNrIGN1cnJlbnRseSBhc3NvY2lhdGVkIHRvIHRoZQorICAgICAgd2Vha3JlZi4gIElmIHRoZXJlIGlzIG5vIGNhbGxiYWNrIG9yIGlmIHRoZSByZWZlcmVudCBvZiB0aGUgd2Vha3JlZiBpcworICAgICAgbm8gbG9uZ2VyIGFsaXZlIHRoZW4gdGhpcyBhdHRyaWJ1dGUgd2lsbCBoYXZlIHZhbHVlIGBgTm9uZWBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKyAgICAgIEFkZGVkIHRoZSA6YXR0cjpgX19jYWxsYmFja19fYCBhdHRyaWJ1dGUuCisKIAogLi4gZnVuY3Rpb246OiBwcm94eShvYmplY3RbLCBjYWxsYmFja10pCiAKQEAgLTE5Miw2ICsyMDEsMzUgQEAKICAgIGRpc2NhcmRlZCB3aGVuIG5vIHN0cm9uZyByZWZlcmVuY2UgdG8gaXQgZXhpc3RzIGFueSBtb3JlLgogCiAKKy4uIGNsYXNzOjogV2Vha01ldGhvZChtZXRob2QpCisKKyAgIEEgY3VzdG9tIDpjbGFzczpgcmVmYCBzdWJjbGFzcyB3aGljaCBzaW11bGF0ZXMgYSB3ZWFrIHJlZmVyZW5jZSB0byBhIGJvdW5kCisgICBtZXRob2QgKGkuZS4sIGEgbWV0aG9kIGRlZmluZWQgb24gYSBjbGFzcyBhbmQgbG9va2VkIHVwIG9uIGFuIGluc3RhbmNlKS4KKyAgIFNpbmNlIGEgYm91bmQgbWV0aG9kIGlzIGVwaGVtZXJhbCwgYSBzdGFuZGFyZCB3ZWFrIHJlZmVyZW5jZSBjYW5ub3Qga2VlcAorICAgaG9sZCBvZiBpdC4gIDpjbGFzczpgV2Vha01ldGhvZGAgaGFzIHNwZWNpYWwgY29kZSB0byByZWNyZWF0ZSB0aGUgYm91bmQKKyAgIG1ldGhvZCB1bnRpbCBlaXRoZXIgdGhlIG9iamVjdCBvciB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gZGllczo6CisKKyAgICAgID4+PiBjbGFzcyBDOgorICAgICAgLi4uICAgICBkZWYgbWV0aG9kKHNlbGYpOgorICAgICAgLi4uICAgICAgICAgcHJpbnQoIm1ldGhvZCBjYWxsZWQhIikKKyAgICAgIC4uLgorICAgICAgPj4+IGMgPSBDKCkKKyAgICAgID4+PiByID0gd2Vha3JlZi5yZWYoYy5tZXRob2QpCisgICAgICA+Pj4gcigpCisgICAgICA+Pj4gciA9IHdlYWtyZWYuV2Vha01ldGhvZChjLm1ldGhvZCkKKyAgICAgID4+PiByKCkKKyAgICAgIDxib3VuZCBtZXRob2QgQy5tZXRob2Qgb2YgPF9fbWFpbl9fLkMgb2JqZWN0IGF0IDB4N2ZjODU5ODMwMjIwPj4KKyAgICAgID4+PiByKCkoKQorICAgICAgbWV0aG9kIGNhbGxlZCEKKyAgICAgID4+PiBkZWwgYworICAgICAgPj4+IGdjLmNvbGxlY3QoKQorICAgICAgMAorICAgICAgPj4+IHIoKQorICAgICAgPj4+CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuNAorCisKIC4uIGRhdGE6OiBSZWZlcmVuY2VUeXBlCiAKICAgIFRoZSB0eXBlIG9iamVjdCBmb3Igd2VhayByZWZlcmVuY2VzIG9iamVjdHMuCkBAIC0yMzIsOCArMjcwLDkgQEAKIFdlYWsgUmVmZXJlbmNlIE9iamVjdHMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotV2VhayByZWZlcmVuY2Ugb2JqZWN0cyBoYXZlIG5vIGF0dHJpYnV0ZXMgb3IgbWV0aG9kcywgYnV0IGRvIGFsbG93IHRoZSByZWZlcmVudAotdG8gYmUgb2J0YWluZWQsIGlmIGl0IHN0aWxsIGV4aXN0cywgYnkgY2FsbGluZyBpdDoKK1dlYWsgcmVmZXJlbmNlIG9iamVjdHMgaGF2ZSBubyBtZXRob2RzIGFuZCBubyBhdHRyaWJ1dGVzIGJlc2lkZXMKKzphdHRyOmByZWYuX19jYWxsYmFja19fYC4gQSB3ZWFrIHJlZmVyZW5jZSBvYmplY3QgYWxsb3dzIHRoZSByZWZlcmVudCB0byBiZQorb2J0YWluZWQsIGlmIGl0IHN0aWxsIGV4aXN0cywgYnkgY2FsbGluZyBpdDoKIAogICAgPj4+IGltcG9ydCB3ZWFrcmVmCiAgICA+Pj4gY2xhc3MgT2JqZWN0OgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkveG1sLmV0cmVlLmVsZW1lbnR0cmVlLnJzdCBiL0RvYy9saWJyYXJ5L3htbC5ldHJlZS5lbGVtZW50dHJlZS5yc3QKaW5kZXggNDVhMGU3Yi4uMWZhZTBmZSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkveG1sLmV0cmVlLmVsZW1lbnR0cmVlLnJzdAorKysgYi9Eb2MvbGlicmFyeS94bWwuZXRyZWUuZWxlbWVudHRyZWUucnN0CkBAIC0xMDUsNiArMTA1LDM4IEBACiAgICA+Pj4gcm9vdFswXVsxXS50ZXh0CiAgICAnMjAwOCcKIAorSW5jcmVtZW50YWwgcGFyc2luZworXl5eXl5eXl5eXl5eXl5eXl5eXgorCitJdCdzIHBvc3NpYmxlIHRvIHBhcnNlIFhNTCBpbmNyZW1lbnRhbGx5IChpLmUuIG5vdCB0aGUgd2hvbGUgZG9jdW1lbnQgYXQgb25jZSkuCitUaGUgbW9zdCBwb3dlcmZ1bCB0b29sIGZvciBkb2luZyB0aGlzIGlzIDpjbGFzczpgSW5jcmVtZW50YWxQYXJzZXJgLiAgSXQgZG9lcworbm90IHJlcXVpcmUgYSBibG9ja2luZyByZWFkIHRvIG9idGFpbiB0aGUgWE1MIGRhdGEsIGFuZCBpcyBpbnN0ZWFkIGZlZCB3aXRoCitkYXRhIGluY3JlbWVudGFsbHkgd2l0aCA6bWV0aDpgSW5jcmVtZW50YWxQYXJzZXIuZGF0YV9yZWNlaXZlZGAgY2FsbHMuICBUbyBnZXQKK3RoZSBwYXJzZWQgWE1MIGVsZW1lbnRzLCBjYWxsIDptZXRoOmBJbmNyZW1lbnRhbFBhcnNlci5ldmVudHNgLiAgSGVyZSdzIGFuCitleGFtcGxlOjoKKworICAgID4+PiBpbmNwYXJzZXIgPSBFVC5JbmNyZW1lbnRhbFBhcnNlcihbJ3N0YXJ0JywgJ2VuZCddKQorICAgID4+PiBpbmNwYXJzZXIuZGF0YV9yZWNlaXZlZCgnPG15dGFnPnNvbWV0ZXh0JykKKyAgICA+Pj4gbGlzdChpbmNwYXJzZXIuZXZlbnRzKCkpCisgICAgWygnc3RhcnQnLCA8RWxlbWVudCAnbXl0YWcnIGF0IDB4N2ZiYTNmMmE4Njg4PildCisgICAgPj4+IGluY3BhcnNlci5kYXRhX3JlY2VpdmVkKCcgbW9yZSB0ZXh0PC9teXRhZz4nKQorICAgID4+PiBmb3IgZXZlbnQsIGVsZW0gaW4gaW5jcGFyc2VyLmV2ZW50cygpOgorICAgIC4uLiAgIHByaW50KGV2ZW50KQorICAgIC4uLiAgIHByaW50KGVsZW0udGFnLCAndGV4dD0nLCBlbGVtLnRleHQpCisgICAgLi4uCisgICAgZW5kCisgICAgbXl0YWcgdGV4dD0gc29tZXRleHQgbW9yZSB0ZXh0CisKK1RoZSBvYnZpb3VzIHVzZSBjYXNlIGlzIGFwcGxpY2F0aW9ucyB0aGF0IG9wZXJhdGUgaW4gYW4gYXN5bmNocm9ub3VzIGZhc2hpb24KK3doZXJlIHRoZSBYTUwgZGF0YSBpcyBiZWluZyByZWNlaXZlZCBmcm9tIGEgc29ja2V0IG9yIHJlYWQgaW5jcmVtZW50YWxseSBmcm9tCitzb21lIHN0b3JhZ2UgZGV2aWNlLiAgSW4gc3VjaCBjYXNlcywgYmxvY2tpbmcgcmVhZHMgYXJlIHVuYWNjZXB0YWJsZS4KKworQmVjYXVzZSBpdCdzIHNvIGZsZXhpYmxlLCA6Y2xhc3M6YEluY3JlbWVudGFsUGFyc2VyYCBjYW4gYmUgaW5jb252ZW5pZW50Cit0byB1c2UgZm9yIHNpbXBsZXIgdXNlLWNhc2VzLiAgSWYgeW91IGRvbid0IG1pbmQgeW91ciBhcHBsaWNhdGlvbiBibG9ja2luZyBvbgorcmVhZGluZyBYTUwgZGF0YSBidXQgd291bGQgc3RpbGwgbGlrZSB0byBoYXZlIGluY3JlbWVudGFsIHBhcnNpbmcgY2FwYWJpbGl0aWVzLAordGFrZSBhIGxvb2sgYXQgOmZ1bmM6YGl0ZXJwYXJzZWAuICBJdCBjYW4gYmUgdXNlZnVsIHdoZW4geW91J3JlIHJlYWRpbmcgYSBsYXJnZQorWE1MIGRvY3VtZW50IGFuZCBkb24ndCB3YW50IHRvIGhvbGQgaXQgd2hvbGx5IGluIG1lbW9yeS4KKwogRmluZGluZyBpbnRlcmVzdGluZyBlbGVtZW50cwogXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgogCkBAIC0zODcsNiArNDE5LDExIEBACiAgICA6Y2xhc3M6YFhNTFBhcnNlcmAgcGFyc2VyIGlzIHVzZWQuICBSZXR1cm5zIGFuIDp0ZXJtOmBpdGVyYXRvcmAgcHJvdmlkaW5nCiAgICBgYChldmVudCwgZWxlbSlgYCBwYWlycy4KIAorICAgTm90ZSB0aGF0IHdoaWxlIDpmdW5jOmBpdGVycGFyc2VgIGJ1aWxkcyB0aGUgdHJlZSBpbmNyZW1lbnRhbGx5LCBpdCBpc3N1ZXMKKyAgIGJsb2NraW5nIHJlYWRzIG9uICpzb3VyY2UqIChvciB0aGUgZmlsZSBpdCBuYW1lcykuICBBcyBzdWNoLCBpdCdzIHVuc3VpdGFibGUKKyAgIGZvciBhc3luY2hyb25vdXMgYXBwbGljYXRpb25zIHdoZXJlIGJsb2NraW5nIHJlYWRzIGNhbid0IGJlIG1hZGUuICBGb3IgZnVsbHkKKyAgIGFzeW5jaHJvbm91cyBwYXJzaW5nLCBzZWUgOmNsYXNzOmBJbmNyZW1lbnRhbFBhcnNlcmAuCisKICAgIC4uIG5vdGU6OgogCiAgICAgICA6ZnVuYzpgaXRlcnBhcnNlYCBvbmx5IGd1YXJhbnRlZXMgdGhhdCBpdCBoYXMgc2VlbiB0aGUgIj4iCkBAIC0zOTcsNyArNDM0LDYgQEAKIAogICAgICAgSWYgeW91IG5lZWQgYSBmdWxseSBwb3B1bGF0ZWQgZWxlbWVudCwgbG9vayBmb3IgImVuZCIgZXZlbnRzIGluc3RlYWQuCiAKLQogLi4gZnVuY3Rpb246OiBwYXJzZShzb3VyY2UsIHBhcnNlcj1Ob25lKQogCiAgICBQYXJzZXMgYW4gWE1MIHNlY3Rpb24gaW50byBhbiBlbGVtZW50IHRyZWUuICAqc291cmNlKiBpcyBhIGZpbGVuYW1lIG9yIGZpbGUKQEAgLTQzNywyOSArNDczLDM5IEBACiAgICBhcmd1bWVudHMuICBSZXR1cm5zIGFuIGVsZW1lbnQgaW5zdGFuY2UuCiAKIAotLi4gZnVuY3Rpb246OiB0b3N0cmluZyhlbGVtZW50LCBlbmNvZGluZz0idXMtYXNjaWkiLCBtZXRob2Q9InhtbCIpCisuLiBmdW5jdGlvbjo6IHRvc3RyaW5nKGVsZW1lbnQsIGVuY29kaW5nPSJ1cy1hc2NpaSIsIG1ldGhvZD0ieG1sIiwgKiwgXAorICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9lbXB0eV9lbGVtZW50cz1UcnVlKQogCiAgICBHZW5lcmF0ZXMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gWE1MIGVsZW1lbnQsIGluY2x1ZGluZyBhbGwKICAgIHN1YmVsZW1lbnRzLiAgKmVsZW1lbnQqIGlzIGFuIDpjbGFzczpgRWxlbWVudGAgaW5zdGFuY2UuICAqZW5jb2RpbmcqIFsxXV8gaXMKICAgIHRoZSBvdXRwdXQgZW5jb2RpbmcgKGRlZmF1bHQgaXMgVVMtQVNDSUkpLiAgVXNlIGBgZW5jb2Rpbmc9InVuaWNvZGUiYGAgdG8KICAgIGdlbmVyYXRlIGEgVW5pY29kZSBzdHJpbmcgKG90aGVyd2lzZSwgYSBieXRlc3RyaW5nIGlzIGdlbmVyYXRlZCkuICAqbWV0aG9kKgogICAgaXMgZWl0aGVyIGBgInhtbCJgYCwgYGAiaHRtbCJgYCBvciBgYCJ0ZXh0ImBgIChkZWZhdWx0IGlzIGBgInhtbCJgYCkuCisgICAqc2hvcnRfZW1wdHlfZWxlbWVudHMqIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzIGluIDptZXRoOmBFbGVtZW50VHJlZS53cml0ZWAuCiAgICBSZXR1cm5zIGFuIChvcHRpb25hbGx5KSBlbmNvZGVkIHN0cmluZyBjb250YWluaW5nIHRoZSBYTUwgZGF0YS4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisgICAgICBUaGUgKnNob3J0X2VtcHR5X2VsZW1lbnRzKiBwYXJhbWV0ZXIuCiAKLS4uIGZ1bmN0aW9uOjogdG9zdHJpbmdsaXN0KGVsZW1lbnQsIGVuY29kaW5nPSJ1cy1hc2NpaSIsIG1ldGhvZD0ieG1sIikKKworLi4gZnVuY3Rpb246OiB0b3N0cmluZ2xpc3QoZWxlbWVudCwgZW5jb2Rpbmc9InVzLWFzY2lpIiwgbWV0aG9kPSJ4bWwiLCAqLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9lbXB0eV9lbGVtZW50cz1UcnVlKQogCiAgICBHZW5lcmF0ZXMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gWE1MIGVsZW1lbnQsIGluY2x1ZGluZyBhbGwKICAgIHN1YmVsZW1lbnRzLiAgKmVsZW1lbnQqIGlzIGFuIDpjbGFzczpgRWxlbWVudGAgaW5zdGFuY2UuICAqZW5jb2RpbmcqIFsxXV8gaXMKICAgIHRoZSBvdXRwdXQgZW5jb2RpbmcgKGRlZmF1bHQgaXMgVVMtQVNDSUkpLiAgVXNlIGBgZW5jb2Rpbmc9InVuaWNvZGUiYGAgdG8KICAgIGdlbmVyYXRlIGEgVW5pY29kZSBzdHJpbmcgKG90aGVyd2lzZSwgYSBieXRlc3RyaW5nIGlzIGdlbmVyYXRlZCkuICAqbWV0aG9kKgogICAgaXMgZWl0aGVyIGBgInhtbCJgYCwgYGAiaHRtbCJgYCBvciBgYCJ0ZXh0ImBgIChkZWZhdWx0IGlzIGBgInhtbCJgYCkuCisgICAqc2hvcnRfZW1wdHlfZWxlbWVudHMqIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzIGluIDptZXRoOmBFbGVtZW50VHJlZS53cml0ZWAuCiAgICBSZXR1cm5zIGEgbGlzdCBvZiAob3B0aW9uYWxseSkgZW5jb2RlZCBzdHJpbmdzIGNvbnRhaW5pbmcgdGhlIFhNTCBkYXRhLgogICAgSXQgZG9lcyBub3QgZ3VhcmFudGVlIGFueSBzcGVjaWZpYyBzZXF1ZW5jZSwgZXhjZXB0IHRoYXQKICAgIGBgIiIuam9pbih0b3N0cmluZ2xpc3QoZWxlbWVudCkpID09IHRvc3RyaW5nKGVsZW1lbnQpYGAuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKyAgICAgIFRoZSAqc2hvcnRfZW1wdHlfZWxlbWVudHMqIHBhcmFtZXRlci4KKwogCiAuLiBmdW5jdGlvbjo6IFhNTCh0ZXh0LCBwYXJzZXI9Tm9uZSkKIApAQCAtNzUxLDcgKzc5Nyw4IEBACiAKIAogICAgLi4gbWV0aG9kOjogd3JpdGUoZmlsZSwgZW5jb2Rpbmc9InVzLWFzY2lpIiwgeG1sX2RlY2xhcmF0aW9uPU5vbmUsIFwKLSAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfbmFtZXNwYWNlPU5vbmUsIG1ldGhvZD0ieG1sIikKKyAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfbmFtZXNwYWNlPU5vbmUsIG1ldGhvZD0ieG1sIiwgKiwgXAorICAgICAgICAgICAgICAgICAgICAgc2hvcnRfZW1wdHlfZWxlbWVudHM9VHJ1ZSkKIAogICAgICAgV3JpdGVzIHRoZSBlbGVtZW50IHRyZWUgdG8gYSBmaWxlLCBhcyBYTUwuICAqZmlsZSogaXMgYSBmaWxlIG5hbWUsIG9yIGEKICAgICAgIDp0ZXJtOmBmaWxlIG9iamVjdGAgb3BlbmVkIGZvciB3cml0aW5nLiAgKmVuY29kaW5nKiBbMV1fIGlzIHRoZSBvdXRwdXQKQEAgLTc2Miw2ICs4MDksMTAgQEAKICAgICAgICpkZWZhdWx0X25hbWVzcGFjZSogc2V0cyB0aGUgZGVmYXVsdCBYTUwgbmFtZXNwYWNlIChmb3IgInhtbG5zIikuCiAgICAgICAqbWV0aG9kKiBpcyBlaXRoZXIgYGAieG1sImBgLCBgYCJodG1sImBgIG9yIGBgInRleHQiYGAgKGRlZmF1bHQgaXMKICAgICAgIGBgInhtbCJgYCkuCisgICAgICBUaGUga2V5d29yZC1vbmx5ICpzaG9ydF9lbXB0eV9lbGVtZW50cyogcGFyYW1ldGVyIGNvbnRyb2xzIHRoZSBmb3JtYXR0aW5nCisgICAgICBvZiBlbGVtZW50cyB0aGF0IGNvbnRhaW4gbm8gY29udGVudC4gIElmICpUcnVlKiAodGhlIGRlZmF1bHQpLCB0aGV5IGFyZQorICAgICAgZW1pdHRlZCBhcyBhIHNpbmdsZSBzZWxmLWNsb3NlZCB0YWcsIG90aGVyd2lzZSB0aGV5IGFyZSBlbWl0dGVkIGFzIGEgcGFpcgorICAgICAgb2Ygc3RhcnQvZW5kIHRhZ3MuCiAKICAgICAgIFRoZSBvdXRwdXQgaXMgZWl0aGVyIGEgc3RyaW5nICg6Y2xhc3M6YHN0cmApIG9yIGJpbmFyeSAoOmNsYXNzOmBieXRlc2ApLgogICAgICAgVGhpcyBpcyBjb250cm9sbGVkIGJ5IHRoZSAqZW5jb2RpbmcqIGFyZ3VtZW50LiAgSWYgKmVuY29kaW5nKiBpcwpAQCAtNzcwLDYgKzgyMSw5IEBACiAgICAgICA6dGVybTpgZmlsZSBvYmplY3RgOyBtYWtlIHN1cmUgeW91IGRvIG5vdCB0cnkgdG8gd3JpdGUgYSBzdHJpbmcgdG8gYQogICAgICAgYmluYXJ5IHN0cmVhbSBhbmQgdmljZSB2ZXJzYS4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisgICAgICBUaGUgKnNob3J0X2VtcHR5X2VsZW1lbnRzKiBwYXJhbWV0ZXIuCisKIAogVGhpcyBpcyB0aGUgWE1MIGZpbGUgdGhhdCBpcyBnb2luZyB0byBiZSBtYW5pcHVsYXRlZDo6CiAKQEAgLTgxNSw2ICs4NjksNDkgQEAKICAgIDpjbGFzczpgUU5hbWVgIGluc3RhbmNlcyBhcmUgb3BhcXVlLgogCiAKK0luY3JlbWVudGFsUGFyc2VyIE9iamVjdHMKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKworLi4gY2xhc3M6OiBJbmNyZW1lbnRhbFBhcnNlcihldmVudHM9Tm9uZSwgcGFyc2VyPU5vbmUpCisKKyAgIEFuIGluY3JlbWVudGFsLCBldmVudC1kcml2ZW4gcGFyc2VyIHN1aXRhYmxlIGZvciBub24tYmxvY2tpbmcgYXBwbGljYXRpb25zLgorICAgKmV2ZW50cyogaXMgYSBsaXN0IG9mIGV2ZW50cyB0byByZXBvcnQgYmFjay4gIFRoZSBzdXBwb3J0ZWQgZXZlbnRzIGFyZSB0aGUKKyAgIHN0cmluZ3MgYGAic3RhcnQiYGAsIGBgImVuZCJgYCwgYGAic3RhcnQtbnMiYGAgYW5kIGBgImVuZC1ucyJgYCAodGhlICJucyIKKyAgIGV2ZW50cyBhcmUgdXNlZCB0byBnZXQgZGV0YWlsZWQgbmFtZXNwYWNlIGluZm9ybWF0aW9uKS4gIElmICpldmVudHMqIGlzCisgICBvbWl0dGVkLCBvbmx5IGBgImVuZCJgYCBldmVudHMgYXJlIHJlcG9ydGVkLiAgKnBhcnNlciogaXMgYW4gb3B0aW9uYWwKKyAgIHBhcnNlciBpbnN0YW5jZS4gIElmIG5vdCBnaXZlbiwgdGhlIHN0YW5kYXJkIDpjbGFzczpgWE1MUGFyc2VyYCBwYXJzZXIgaXMKKyAgIHVzZWQuCisKKyAgIC4uIG1ldGhvZDo6IGRhdGFfcmVjZWl2ZWQoZGF0YSkKKworICAgICAgRmVlZCB0aGUgZ2l2ZW4gYnl0ZXMgZGF0YSB0byB0aGUgaW5jcmVtZW50YWwgcGFyc2VyLgorCisgICAuLiBtZXRob2Q6OiBlb2ZfcmVjZWl2ZWQoKQorCisgICAgICBTaWduYWwgdGhlIGluY3JlbWVudGFsIHBhcnNlciB0aGF0IHRoZSBkYXRhIHN0cmVhbSBpcyB0ZXJtaW5hdGVkLgorCisgICAuLiBtZXRob2Q6OiBldmVudHMoKQorCisgICAgICBJdGVyYXRlIG92ZXIgdGhlIGV2ZW50cyB3aGljaCBoYXZlIGJlZW4gZW5jb3VudGVyZWQgaW4gdGhlIGRhdGEgZmVkCisgICAgICB0byB0aGUgcGFyc2VyLiAgVGhpcyBtZXRob2QgeWllbGRzIGBgKGV2ZW50LCBlbGVtKWBgIHBhaXJzLCB3aGVyZQorICAgICAgKmV2ZW50KiBpcyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHR5cGUgb2YgZXZlbnQgKGUuZy4gYGAiZW5kImBgKQorICAgICAgYW5kICplbGVtKiBpcyB0aGUgZW5jb3VudGVyZWQgOmNsYXNzOmBFbGVtZW50YCBvYmplY3QuICBFdmVudHMKKyAgICAgIHByb3ZpZGVkIGluIGEgcHJldmlvdXMgY2FsbCB0byA6bWV0aDpgZXZlbnRzYCB3aWxsIG5vdCBiZSB5aWVsZGVkCisgICAgICBhZ2Fpbi4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIDpjbGFzczpgSW5jcmVtZW50YWxQYXJzZXJgIG9ubHkgZ3VhcmFudGVlcyB0aGF0IGl0IGhhcyBzZWVuIHRoZSAiPiIKKyAgICAgIGNoYXJhY3RlciBvZiBhIHN0YXJ0aW5nIHRhZyB3aGVuIGl0IGVtaXRzIGEgInN0YXJ0IiBldmVudCwgc28gdGhlCisgICAgICBhdHRyaWJ1dGVzIGFyZSBkZWZpbmVkLCBidXQgdGhlIGNvbnRlbnRzIG9mIHRoZSB0ZXh0IGFuZCB0YWlsIGF0dHJpYnV0ZXMKKyAgICAgIGFyZSB1bmRlZmluZWQgYXQgdGhhdCBwb2ludC4gIFRoZSBzYW1lIGFwcGxpZXMgdG8gdGhlIGVsZW1lbnQgY2hpbGRyZW47CisgICAgICB0aGV5IG1heSBvciBtYXkgbm90IGJlIHByZXNlbnQuCisKKyAgICAgIElmIHlvdSBuZWVkIGEgZnVsbHkgcG9wdWxhdGVkIGVsZW1lbnQsIGxvb2sgZm9yICJlbmQiIGV2ZW50cyBpbnN0ZWFkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKworCiAuLiBfZWxlbWVudHRyZWUtdHJlZWJ1aWxkZXItb2JqZWN0czoKIAogVHJlZUJ1aWxkZXIgT2JqZWN0cwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvemlwZmlsZS5yc3QgYi9Eb2MvbGlicmFyeS96aXBmaWxlLnJzdAppbmRleCA3NWU4ZmQ1Li5jNDVjMDcwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS96aXBmaWxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS96aXBmaWxlLnJzdApAQCAtMjY1LDEwICsyNjUsOCBAQAogICAgICAgTmV2ZXIgZXh0cmFjdCBhcmNoaXZlcyBmcm9tIHVudHJ1c3RlZCBzb3VyY2VzIHdpdGhvdXQgcHJpb3IgaW5zcGVjdGlvbi4KICAgICAgIEl0IGlzIHBvc3NpYmxlIHRoYXQgZmlsZXMgYXJlIGNyZWF0ZWQgb3V0c2lkZSBvZiAqcGF0aCosIGUuZy4gbWVtYmVycwogICAgICAgdGhhdCBoYXZlIGFic29sdXRlIGZpbGVuYW1lcyBzdGFydGluZyB3aXRoIGBgIi8iYGAgb3IgZmlsZW5hbWVzIHdpdGggdHdvCi0gICAgICBkb3RzIGBgIi4uImBgLgotCi0gICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMy4xCi0gICAgICBUaGUgemlwZmlsZSBtb2R1bGUgYXR0ZW1wdHMgdG8gcHJldmVudCB0aGF0LiAgU2VlIDptZXRoOmBleHRyYWN0YCBub3RlLgorICAgICAgZG90cyBgYCIuLiJgYC4gIFRoaXMgbW9kdWxlIGF0dGVtcHRzIHRvIHByZXZlbnQgdGhhdC4KKyAgICAgIFNlZSA6bWV0aDpgZXh0cmFjdGAgbm90ZS4KIAogCiAuLiBtZXRob2Q6OiBaaXBGaWxlLnByaW50ZGlyKCkKZGlmZiAtLWdpdCBhL0RvYy9saWNlbnNlLnJzdCBiL0RvYy9saWNlbnNlLnJzdAppbmRleCBhYWNmYWExLi5iMDllOWE4IDEwMDY0NAotLS0gYS9Eb2MvbGljZW5zZS5yc3QKKysrIGIvRG9jL2xpY2Vuc2UucnN0CkBAIC0xMjYsNiArMTI2LDggQEAKICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCiB8IDMuMy4xICAgICAgICAgIHwgMy4zLjAgICAgICAgIHwgMjAxMyAgICAgICB8IFBTRiAgICAgICAgfCB5ZXMgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKK3wgMy40LjAgICAgICAgICAgfCAzLjMuMCAgICAgICAgfCAyMDE0ICAgICAgIHwgUFNGICAgICAgICB8IHllcyAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKwogCiAuLiBub3RlOjoKIApAQCAtNjYwLDYgKzY2MiwyNSBAQAogICBTVUNIIERBTUFHRS4KIAogCitTSEEtMworLS0tLS0KKworVGhlIG1vZHVsZSA6bW9kOmBfc2hhM2AgYW5kIDptb2Q6YGhhc2hsaWJgIGFyZSB1c2luZyB0aGUgcmVmZXJlbmNlCitpbXBsZW1lbnRhdGlvbiBvZiBLZWNjYWsuIFRoZSBmaWxlcyBhdCA6ZmlsZTpgTW9kdWxlcy9fc2hhMy9rZWNjYWsvYCBjb250YWluCit0aGUgZm9sbG93aW5nIG5vdGU6OgorCisgIFRoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKKyAgTWljaGHDq2wgUGVldGVycyBhbmQgR2lsbGVzIFZhbiBBc3NjaGUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBmZWVkYmFjayBvcgorICBxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworICBJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAorICBoZXJlYnkgZGVub3RlZCBhcyAidGhlIGltcGxlbWVudGVyIi4KKworICBUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorICBhbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KKyAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworCisKIHN0cnRvZCBhbmQgZHRvYQogLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvY29tcG91bmRfc3RtdHMucnN0IGIvRG9jL3JlZmVyZW5jZS9jb21wb3VuZF9zdG10cy5yc3QKaW5kZXggZDBkMDY0Ni4uYzI1Yzc2NyAxMDA2NDQKLS0tIGEvRG9jL3JlZmVyZW5jZS9jb21wb3VuZF9zdG10cy5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9jb21wb3VuZF9zdG10cy5yc3QKQEAgLTQ5MywxNCArNDkzLDE1IEBACiB2YWx1ZSwgYWxsIGZvbGxvd2luZyBwYXJhbWV0ZXJzIHVwIHVudGlsIHRoZSAiYGAqYGAiIG11c3QgYWxzbyBoYXZlIGEgZGVmYXVsdAogdmFsdWUgLS0tIHRoaXMgaXMgYSBzeW50YWN0aWMgcmVzdHJpY3Rpb24gdGhhdCBpcyBub3QgZXhwcmVzc2VkIGJ5IHRoZSBncmFtbWFyLgogCi0qKkRlZmF1bHQgcGFyYW1ldGVyIHZhbHVlcyBhcmUgZXZhbHVhdGVkIHdoZW4gdGhlIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMKLWV4ZWN1dGVkLioqIFRoaXMgbWVhbnMgdGhhdCB0aGUgZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQgb25jZSwgd2hlbiB0aGUgZnVuY3Rpb24KLWlzIGRlZmluZWQsIGFuZCB0aGF0IHRoZSBzYW1lICJwcmUtY29tcHV0ZWQiIHZhbHVlIGlzIHVzZWQgZm9yIGVhY2ggY2FsbC4gIFRoaXMKLWlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgd2hlbiBhIGRlZmF1bHQgcGFyYW1ldGVyIGlzIGEgbXV0YWJsZQotb2JqZWN0LCBzdWNoIGFzIGEgbGlzdCBvciBhIGRpY3Rpb25hcnk6IGlmIHRoZSBmdW5jdGlvbiBtb2RpZmllcyB0aGUgb2JqZWN0Ci0oZS5nLiBieSBhcHBlbmRpbmcgYW4gaXRlbSB0byBhIGxpc3QpLCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyBpbiBlZmZlY3QgbW9kaWZpZWQuCi1UaGlzIGlzIGdlbmVyYWxseSBub3Qgd2hhdCB3YXMgaW50ZW5kZWQuICBBIHdheSBhcm91bmQgdGhpcyBpcyB0byB1c2UgYGBOb25lYGAKLWFzIHRoZSBkZWZhdWx0LCBhbmQgZXhwbGljaXRseSB0ZXN0IGZvciBpdCBpbiB0aGUgYm9keSBvZiB0aGUgZnVuY3Rpb24sIGUuZy46OgorKipEZWZhdWx0IHBhcmFtZXRlciB2YWx1ZXMgYXJlIGV2YWx1YXRlZCBmcm9tIGxlZnQgdG8gcmlnaHQgd2hlbiB0aGUgZnVuY3Rpb24KK2RlZmluaXRpb24gaXMgZXhlY3V0ZWQuKiogVGhpcyBtZWFucyB0aGF0IHRoZSBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCBvbmNlLCB3aGVuCit0aGUgZnVuY3Rpb24gaXMgZGVmaW5lZCwgYW5kIHRoYXQgdGhlIHNhbWUgInByZS1jb21wdXRlZCIgdmFsdWUgaXMgdXNlZCBmb3IgZWFjaAorY2FsbC4gIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB3aGVuIGEgZGVmYXVsdCBwYXJhbWV0ZXIgaXMgYQorbXV0YWJsZSBvYmplY3QsIHN1Y2ggYXMgYSBsaXN0IG9yIGEgZGljdGlvbmFyeTogaWYgdGhlIGZ1bmN0aW9uIG1vZGlmaWVzIHRoZQorb2JqZWN0IChlLmcuIGJ5IGFwcGVuZGluZyBhbiBpdGVtIHRvIGEgbGlzdCksIHRoZSBkZWZhdWx0IHZhbHVlIGlzIGluIGVmZmVjdAorbW9kaWZpZWQuICBUaGlzIGlzIGdlbmVyYWxseSBub3Qgd2hhdCB3YXMgaW50ZW5kZWQuICBBIHdheSBhcm91bmQgdGhpcyBpcyB0byB1c2UKK2BgTm9uZWBgIGFzIHRoZSBkZWZhdWx0LCBhbmQgZXhwbGljaXRseSB0ZXN0IGZvciBpdCBpbiB0aGUgYm9keSBvZiB0aGUgZnVuY3Rpb24sCitlLmcuOjoKIAogICAgZGVmIHdoYXRzX29uX3RoZV90ZWxseShwZW5ndWluPU5vbmUpOgogICAgICAgIGlmIHBlbmd1aW4gaXMgTm9uZToKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdCBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdAppbmRleCBlODE1NjkwLi40ZjliOGIwIDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0CkBAIC0xODE3LDYgKzE4MTcsMTUgQEAKICAgIGNvbnNpZGVyZWQgdG8gYmUgZmFsc2UgaW4gYSBCb29sZWFuIGNvbnRleHQuCiAKIAorLi4gbWV0aG9kOjogb2JqZWN0Ll9fbGVuZ3RoX2hpbnRfXyhzZWxmKQorCisgICBDYWxsZWQgdG8gaW1wbGVtZW50IDpmdW5jOmBvcGVyYXRvci5sZW5ndGhfaGludGAuIFNob3VsZCByZXR1cm4gYW4gZXN0aW1hdGVkCisgICBsZW5ndGggZm9yIHRoZSBvYmplY3QgKHdoaWNoIG1heSBiZSBncmVhdGVyIG9yIGxlc3MgdGhhbiB0aGUgYWN0dWFsIGxlbmd0aCkuCisgICBUaGUgbGVuZ3RoIG11c3QgYmUgYW4gaW50ZWdlciBgYD49YGAgMC4gVGhpcyBtZXRob2QgaXMgcHVyZWx5IGFuCisgICBvcHRpbWl6YXRpb24gYW5kIGlzIG5ldmVyIHJlcXVpcmVkIGZvciBjb3JyZWN0bmVzcy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy40CisKIC4uIG5vdGU6OgogCiAgICBTbGljaW5nIGlzIGRvbmUgZXhjbHVzaXZlbHkgd2l0aCB0aGUgZm9sbG93aW5nIHRocmVlIG1ldGhvZHMuICBBIGNhbGwgbGlrZSA6OgpkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9pbXBvcnQucnN0IGIvRG9jL3JlZmVyZW5jZS9pbXBvcnQucnN0CmluZGV4IDU4NzQ2MDYuLjRhZDQ0OTAgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvaW1wb3J0LnJzdAorKysgYi9Eb2MvcmVmZXJlbmNlL2ltcG9ydC5yc3QKQEAgLTM2OSwxNiArMzY5LDE4IEBACiAgKiBUaGUgYGBfX2xvYWRlcl9fYGAgYXR0cmlidXRlIG11c3QgYmUgc2V0IHRvIHRoZSBsb2FkZXIgb2JqZWN0IHRoYXQgbG9hZGVkCiAgICB0aGUgbW9kdWxlLiAgVGhpcyBpcyBtb3N0bHkgZm9yIGludHJvc3BlY3Rpb24gYW5kIHJlbG9hZGluZywgYnV0IGNhbiBiZQogICAgdXNlZCBmb3IgYWRkaXRpb25hbCBsb2FkZXItc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSwgZm9yIGV4YW1wbGUgZ2V0dGluZwotICAgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBsb2FkZXIuCisgICBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIGxvYWRlci4gSWYgdGhlIGF0dHJpYnV0ZSBpcyBtaXNzaW5nIG9yIHNldCB0byBgYE5vbmVgYAorICAgdGhlbiB0aGUgaW1wb3J0IG1hY2hpbmVyeSB3aWxsIGF1dG9tYXRpY2FsbHkgc2V0IGl0ICoqYWZ0ZXIqKiB0aGUgbW9kdWxlIGhhcworICAgYmVlbiBpbXBvcnRlZC4KIAotICogVGhlIG1vZHVsZSdzIGBgX19wYWNrYWdlX19gYCBhdHRyaWJ1dGUgc2hvdWxkIGJlIHNldC4gIEl0cyB2YWx1ZSBtdXN0IGJlIGEKKyAqIFRoZSBtb2R1bGUncyBgYF9fcGFja2FnZV9fYGAgYXR0cmlidXRlIG11c3QgYmUgc2V0LiAgSXRzIHZhbHVlIG11c3QgYmUgYQogICAgc3RyaW5nLCBidXQgaXQgY2FuIGJlIHRoZSBzYW1lIHZhbHVlIGFzIGl0cyBgYF9fbmFtZV9fYGAuICBJZiB0aGUgYXR0cmlidXRlCiAgICBpcyBzZXQgdG8gYGBOb25lYGAgb3IgaXMgbWlzc2luZywgdGhlIGltcG9ydCBzeXN0ZW0gd2lsbCBmaWxsIGl0IGluIHdpdGggYQotICAgbW9yZSBhcHByb3ByaWF0ZSB2YWx1ZS4gIFdoZW4gdGhlIG1vZHVsZSBpcyBhIHBhY2thZ2UsIGl0cyBgYF9fcGFja2FnZV9fYGAKLSAgIHZhbHVlIHNob3VsZCBiZSBzZXQgdG8gaXRzIGBgX19uYW1lX19gYC4gIFdoZW4gdGhlIG1vZHVsZSBpcyBub3QgYSBwYWNrYWdlLAotICAgYGBfX3BhY2thZ2VfX2BgIHNob3VsZCBiZSBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZyBmb3IgdG9wLWxldmVsIG1vZHVsZXMsIG9yCi0gICBmb3Igc3VibW9kdWxlcywgdG8gdGhlIHBhcmVudCBwYWNrYWdlJ3MgbmFtZS4gIFNlZSA6cGVwOmAzNjZgIGZvciBmdXJ0aGVyCi0gICBkZXRhaWxzLgorICAgbW9yZSBhcHByb3ByaWF0ZSB2YWx1ZSAqKmFmdGVyKiogdGhlIG1vZHVsZSBoYXMgYmVlbiBpbXBvcnRlZC4KKyAgIFdoZW4gdGhlIG1vZHVsZSBpcyBhIHBhY2thZ2UsIGl0cyBgYF9fcGFja2FnZV9fYGAgdmFsdWUgc2hvdWxkIGJlIHNldCB0byBpdHMKKyAgIGBgX19uYW1lX19gYC4gIFdoZW4gdGhlIG1vZHVsZSBpcyBub3QgYSBwYWNrYWdlLCBgYF9fcGFja2FnZV9fYGAgc2hvdWxkIGJlCisgICBzZXQgdG8gdGhlIGVtcHR5IHN0cmluZyBmb3IgdG9wLWxldmVsIG1vZHVsZXMsIG9yIGZvciBzdWJtb2R1bGVzLCB0byB0aGUKKyAgIHBhcmVudCBwYWNrYWdlJ3MgbmFtZS4gIFNlZSA6cGVwOmAzNjZgIGZvciBmdXJ0aGVyIGRldGFpbHMuCiAKICAgIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgaW5zdGVhZCBvZiBgYF9fbmFtZV9fYGAgdG8gY2FsY3VsYXRlIGV4cGxpY2l0CiAgICByZWxhdGl2ZSBpbXBvcnRzIGZvciBtYWluIG1vZHVsZXMsIGFzIGRlZmluZWQgaW4gOnBlcDpgMzY2YC4KZGlmZiAtLWdpdCBhL0RvYy90b29scy9zcGhpbnhleHQvaW5kZXhzaWRlYmFyLmh0bWwgYi9Eb2MvdG9vbHMvc3BoaW54ZXh0L2luZGV4c2lkZWJhci5odG1sCmluZGV4IGEwZWMzMmYuLmVkNWRhMGMgMTAwNjQ0Ci0tLSBhL0RvYy90b29scy9zcGhpbnhleHQvaW5kZXhzaWRlYmFyLmh0bWwKKysrIGIvRG9jL3Rvb2xzL3NwaGlueGV4dC9pbmRleHNpZGViYXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIAkgICAgPGgzPkRvY3MgZm9yIG90aGVyIHZlcnNpb25zPC9oMz4KIAkgICAgPHVsPgogCSAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZG9jcy5weXRob24ub3JnLzIuNy8iPlB5dGhvbiAyLjcgKHN0YWJsZSk8L2E+PC9saT4KLQkgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjQvIj5QeXRob24gMy40IChpbiBkZXZlbG9wbWVudCk8L2E+PC9saT4KKwkgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjMvIj5QeXRob24gMy4zIChzdGFibGUpPC9hPjwvbGk+CiAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZG9jL3ZlcnNpb25zLyI+T2xkIHZlcnNpb25zPC9hPjwvbGk+CiAgICAgICAgICAgICA8L3VsPgogCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvc3BoaW54ZXh0L3B5c3BlY2lmaWMucHkgYi9Eb2MvdG9vbHMvc3BoaW54ZXh0L3B5c3BlY2lmaWMucHkKaW5kZXggZThlYjcwMy4uZGY2ZTQ4YSAxMDA2NDQKLS0tIGEvRG9jL3Rvb2xzL3NwaGlueGV4dC9weXNwZWNpZmljLnB5CisrKyBiL0RvYy90b29scy9zcGhpbnhleHQvcHlzcGVjaWZpYy5weQpAQCAtMTAsNyArMTAsNyBAQAogIiIiCiAKIElTU1VFX1VSSSA9ICdodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlJXMnCi1TT1VSQ0VfVVJJID0gJ2h0dHA6Ly9oZy5weXRob24ub3JnL2NweXRob24vZmlsZS8zLjMvJXMnCitTT1VSQ0VfVVJJID0gJ2h0dHA6Ly9oZy5weXRob24ub3JnL2NweXRob24vZmlsZS9kZWZhdWx0LyVzJwogCiBmcm9tIGRvY3V0aWxzIGltcG9ydCBub2RlcywgdXRpbHMKIGZyb20gc3BoaW54LnV0aWwubm9kZXMgaW1wb3J0IHNwbGl0X2V4cGxpY2l0X3RpdGxlCmRpZmYgLS1naXQgYS9Eb2MvdG9vbHMvc3BoaW54ZXh0L3N1c3AtaWdub3JlZC5jc3YgYi9Eb2MvdG9vbHMvc3BoaW54ZXh0L3N1c3AtaWdub3JlZC5jc3YKaW5kZXggNzJjNTI1NS4uZDk1MWRhZCAxMDA2NDQKLS0tIGEvRG9jL3Rvb2xzL3NwaGlueGV4dC9zdXNwLWlnbm9yZWQuY3N2CisrKyBiL0RvYy90b29scy9zcGhpbnhleHQvc3VzcC1pZ25vcmVkLmNzdgpAQCAtMTYyLDE3ICsxNjIsOSBAQAogbGlicmFyeS9wZGIsLDpsaW5lbm8sZmlsZW5hbWU6bGluZW5vCiBsaWJyYXJ5L3BpY2tsZSwsOm1lbW9yeSwiY29ubiA9IHNxbGl0ZTMuY29ubmVjdCgiIjptZW1vcnk6IiIpIgogbGlicmFyeS9wb3NpeCwsYCwiQ0ZMQUdTPSIiYGdldGNvbmYgTEZTX0NGTEFHU2AiIiBPUFQ9IiItZyAtTzIgJENGTEFHUyIiIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInY2xhc3NpZmllcnMnOiBbJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YScsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInSW50ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycycsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTUlUIExpY2Vuc2UnLCIKLWxpYnJhcnkvcHByaW50LDIwOSw6OiwiJ05hdHVyYWwgTGFuZ3VhZ2UgOjogRW5nbGlzaCcsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInT3BlcmF0aW5nIFN5c3RlbSA6OiBPUyBJbmRlcGVuZGVudCcsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uJywiCi1saWJyYXJ5L3BwcmludCwyMDksOjosIidQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMicsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNicsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNycsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzJywiCi1saWJyYXJ5L3BwcmludCwyMDksOjosIidUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUHl0aG9uIE1vZHVsZXMnXSwiCitsaWJyYXJ5L3BwcmludCwsOjosIidQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMiA6OiBPbmx5J10sIgorbGlicmFyeS9wcHJpbnQsLDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNicsIgorbGlicmFyeS9wcHJpbnQsLDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNycsIgogbGlicmFyeS9wcm9maWxlLCw6bGluZW5vLGZpbGVuYW1lOmxpbmVubyhmdW5jdGlvbikKIGxpYnJhcnkvcHlleHBhdCwsOmVsZW0xLDxweTplbGVtMSAvPgogbGlicmFyeS9weWV4cGF0LCw6cHksInhtbG5zOnB5ID0gIiJodHRwOi8vd3d3LnB5dGhvbi5vcmcvbnMvIiI+IgpAQCAtMTg0LDYgKzE3Niw3IEBACiBsaWJyYXJ5L3NxbGl0ZTMsLDphZ2UsImN1ci5leGVjdXRlKCIic2VsZWN0ICogZnJvbSBwZW9wbGUgd2hlcmUgbmFtZV9sYXN0PTp3aG8gYW5kIGFnZT06YWdlIiIsIHsiIndobyIiOiB3aG8sICIiYWdlIiI6IGFnZX0pIgogbGlicmFyeS9zcWxpdGUzLCw6bWVtb3J5LAogbGlicmFyeS9zcWxpdGUzLCw6d2hvLCJjdXIuZXhlY3V0ZSgiInNlbGVjdCAqIGZyb20gcGVvcGxlIHdoZXJlIG5hbWVfbGFzdD06d2hvIGFuZCBhZ2U9OmFnZSIiLCB7IiJ3aG8iIjogd2hvLCAiImFnZSIiOiBhZ2V9KSIKK2xpYnJhcnkvc3FsaXRlMywsOnBhdGgsImRiID0gc3FsaXRlMy5jb25uZWN0KCdmaWxlOnBhdGgvdG8vZGF0YWJhc2U/bW9kZT1ybycsIHVyaT1UcnVlKSIKIGxpYnJhcnkvc3NsLCw6TXksIk9yZ2FuaXphdGlvbmFsIFVuaXQgTmFtZSAoZWcsIHNlY3Rpb24pIFtdOk15IEdyb3VwIgogbGlicmFyeS9zc2wsLDpNeSwiT3JnYW5pemF0aW9uIE5hbWUgKGVnLCBjb21wYW55KSBbSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkXTpNeSBPcmdhbml6YXRpb24sIEluYy4iCiBsaWJyYXJ5L3NzbCwsOm15c2VydmVyLCJDb21tb24gTmFtZSAoZWcsIFlPVVIgbmFtZSkgW106bXlzZXJ2ZXIubXlncm91cC5teW9yZ2FuaXphdGlvbi5jb20iCmRpZmYgLS1naXQgYS9Eb2MvdHV0b3JpYWwvaW50ZXJwcmV0ZXIucnN0IGIvRG9jL3R1dG9yaWFsL2ludGVycHJldGVyLnJzdAppbmRleCBjZGMyYmYyLi5jMTgyNTExIDEwMDY0NAotLS0gYS9Eb2MvdHV0b3JpYWwvaW50ZXJwcmV0ZXIucnN0CisrKyBiL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QKQEAgLTEwLDEzICsxMCwxMyBAQAogSW52b2tpbmcgdGhlIEludGVycHJldGVyCiA9PT09PT09PT09PT09PT09PT09PT09PT0KIAotVGhlIFB5dGhvbiBpbnRlcnByZXRlciBpcyB1c3VhbGx5IGluc3RhbGxlZCBhcyA6ZmlsZTpgL3Vzci9sb2NhbC9iaW4vcHl0aG9uMy4zYAorVGhlIFB5dGhvbiBpbnRlcnByZXRlciBpcyB1c3VhbGx5IGluc3RhbGxlZCBhcyA6ZmlsZTpgL3Vzci9sb2NhbC9iaW4vcHl0aG9uMy40YAogb24gdGhvc2UgbWFjaGluZXMgd2hlcmUgaXQgaXMgYXZhaWxhYmxlOyBwdXR0aW5nIDpmaWxlOmAvdXNyL2xvY2FsL2JpbmAgaW4geW91cgogVW5peCBzaGVsbCdzIHNlYXJjaCBwYXRoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHN0YXJ0IGl0IGJ5IHR5cGluZyB0aGUgY29tbWFuZDoKIAogLi4gY29kZS1ibG9jazo6IHRleHQKIAotICAgcHl0aG9uMy4zCisgICBweXRob24zLjQKIAogdG8gdGhlIHNoZWxsLiBbI11fIFNpbmNlIHRoZSBjaG9pY2Ugb2YgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgaW50ZXJwcmV0ZXIgbGl2ZXMKIGlzIGFuIGluc3RhbGxhdGlvbiBvcHRpb24sIG90aGVyIHBsYWNlcyBhcmUgcG9zc2libGU7IGNoZWNrIHdpdGggeW91ciBsb2NhbApAQCAtMjQsMTEgKzI0LDExIEBACiBwb3B1bGFyIGFsdGVybmF0aXZlIGxvY2F0aW9uLikKIAogT24gV2luZG93cyBtYWNoaW5lcywgdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24gaXMgdXN1YWxseSBwbGFjZWQgaW4KLTpmaWxlOmBDOlxcUHl0aG9uMzNgLCB0aG91Z2ggeW91IGNhbiBjaGFuZ2UgdGhpcyB3aGVuIHlvdSdyZSBydW5uaW5nIHRoZQorOmZpbGU6YEM6XFxQeXRob24zNGAsIHRob3VnaCB5b3UgY2FuIGNoYW5nZSB0aGlzIHdoZW4geW91J3JlIHJ1bm5pbmcgdGhlCiBpbnN0YWxsZXIuICBUbyBhZGQgdGhpcyBkaXJlY3RvcnkgdG8geW91ciBwYXRoLCAgeW91IGNhbiB0eXBlIHRoZSBmb2xsb3dpbmcKIGNvbW1hbmQgaW50byB0aGUgY29tbWFuZCBwcm9tcHQgaW4gYSBET1MgYm94OjoKIAotICAgc2V0IHBhdGg9JXBhdGglO0M6XHB5dGhvbjMzCisgICBzZXQgcGF0aD0lcGF0aCU7QzpccHl0aG9uMzQKIAogVHlwaW5nIGFuIGVuZC1vZi1maWxlIGNoYXJhY3RlciAoOmtiZDpgQ29udHJvbC1EYCBvbiBVbml4LCA6a2JkOmBDb250cm9sLVpgIG9uCiBXaW5kb3dzKSBhdCB0aGUgcHJpbWFyeSBwcm9tcHQgY2F1c2VzIHRoZSBpbnRlcnByZXRlciB0byBleGl0IHdpdGggYSB6ZXJvIGV4aXQKQEAgLTk1LDggKzk1LDggQEAKIHByaW50cyBhIHdlbGNvbWUgbWVzc2FnZSBzdGF0aW5nIGl0cyB2ZXJzaW9uIG51bWJlciBhbmQgYSBjb3B5cmlnaHQgbm90aWNlCiBiZWZvcmUgcHJpbnRpbmcgdGhlIGZpcnN0IHByb21wdDo6CiAKLSAgICQgcHl0aG9uMy4zCi0gICBQeXRob24gMy4zIChkZWZhdWx0LCBTZXAgMjQgMjAxMiwgMDk6MjU6MDQpCisgICAkIHB5dGhvbjMuNAorICAgUHl0aG9uIDMuNCAoZGVmYXVsdCwgU2VwIDI0IDIwMTIsIDA5OjI1OjA0KQogICAgW0dDQyA0LjYuM10gb24gbGludXgyCiAgICBUeXBlICJoZWxwIiwgImNvcHlyaWdodCIsICJjcmVkaXRzIiBvciAibGljZW5zZSIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAgICA+Pj4KQEAgLTE0OSw3ICsxNDksNyBAQAogT24gQlNEJ2lzaCBVbml4IHN5c3RlbXMsIFB5dGhvbiBzY3JpcHRzIGNhbiBiZSBtYWRlIGRpcmVjdGx5IGV4ZWN1dGFibGUsIGxpa2UKIHNoZWxsIHNjcmlwdHMsIGJ5IHB1dHRpbmcgdGhlIGxpbmUgOjoKIAotICAgIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMuMworICAgIyEgL3Vzci9iaW4vZW52IHB5dGhvbjMuNAogCiAoYXNzdW1pbmcgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgaXMgb24gdGhlIHVzZXIncyA6ZW52dmFyOmBQQVRIYCkgYXQgdGhlIGJlZ2lubmluZwogb2YgdGhlIHNjcmlwdCBhbmQgZ2l2aW5nIHRoZSBmaWxlIGFuIGV4ZWN1dGFibGUgbW9kZS4gIFRoZSBgYCMhYGAgbXVzdCBiZSB0aGUKZGlmZiAtLWdpdCBhL0RvYy90dXRvcmlhbC9tb2R1bGVzLnJzdCBiL0RvYy90dXRvcmlhbC9tb2R1bGVzLnJzdAppbmRleCBlMmNlMGVmLi45OWUxNWJjIDEwMDY0NAotLS0gYS9Eb2MvdHV0b3JpYWwvbW9kdWxlcy5yc3QKKysrIGIvRG9jL3R1dG9yaWFsL21vZHVsZXMucnN0CkBAIC0yOTAsMjQgKzI5MCwyMyBAQAogICAgPj4+IGRpcihmaWJvKQogICAgWydfX25hbWVfXycsICdmaWInLCAnZmliMiddCiAgICA+Pj4gZGlyKHN5cykgICMgZG9jdGVzdDogK05PUk1BTElaRV9XSElURVNQQUNFCi0gICBbJ19fZGlzcGxheWhvb2tfXycsICdfX2RvY19fJywgJ19fZWdnaW5zZXJ0JywgJ19fZXhjZXB0aG9va19fJywKLSAgICAnX19sb2FkZXJfXycsICdfX25hbWVfXycsICdfX3BhY2thZ2VfXycsICdfX3BsZW4nLCAnX19zdGRlcnJfXycsCi0gICAgJ19fc3RkaW5fXycsICdfX3N0ZG91dF9fJywgJ19jbGVhcl90eXBlX2NhY2hlJywgJ19jdXJyZW50X2ZyYW1lcycsCi0gICAgJ19kZWJ1Z21hbGxvY3N0YXRzJywgJ19nZXRmcmFtZScsICdfaG9tZScsICdfbWVyY3VyaWFsJywgJ194b3B0aW9ucycsCi0gICAgJ2FiaWZsYWdzJywgJ2FwaV92ZXJzaW9uJywgJ2FyZ3YnLCAnYmFzZV9leGVjX3ByZWZpeCcsICdiYXNlX3ByZWZpeCcsCi0gICAgJ2J1aWx0aW5fbW9kdWxlX25hbWVzJywgJ2J5dGVvcmRlcicsICdjYWxsX3RyYWNpbmcnLCAnY2FsbHN0YXRzJywKLSAgICAnY29weXJpZ2h0JywgJ2Rpc3BsYXlob29rJywgJ2RvbnRfd3JpdGVfYnl0ZWNvZGUnLCAnZXhjX2luZm8nLAotICAgICdleGNlcHRob29rJywgJ2V4ZWNfcHJlZml4JywgJ2V4ZWN1dGFibGUnLCAnZXhpdCcsICdmbGFncycsICdmbG9hdF9pbmZvJywKLSAgICAnZmxvYXRfcmVwcl9zdHlsZScsICdnZXRjaGVja2ludGVydmFsJywgJ2dldGRlZmF1bHRlbmNvZGluZycsCi0gICAgJ2dldGRsb3BlbmZsYWdzJywgJ2dldGZpbGVzeXN0ZW1lbmNvZGluZycsICdnZXRvYmplY3RzJywgJ2dldHByb2ZpbGUnLAotICAgICdnZXRyZWN1cnNpb25saW1pdCcsICdnZXRyZWZjb3VudCcsICdnZXRzaXplb2YnLCAnZ2V0c3dpdGNoaW50ZXJ2YWwnLAotICAgICdnZXR0b3RhbHJlZmNvdW50JywgJ2dldHRyYWNlJywgJ2hhc2hfaW5mbycsICdoZXh2ZXJzaW9uJywKLSAgICAnaW1wbGVtZW50YXRpb24nLCAnaW50X2luZm8nLCAnaW50ZXJuJywgJ21heHNpemUnLCAnbWF4dW5pY29kZScsCi0gICAgJ21ldGFfcGF0aCcsICdtb2R1bGVzJywgJ3BhdGgnLCAncGF0aF9ob29rcycsICdwYXRoX2ltcG9ydGVyX2NhY2hlJywKLSAgICAncGxhdGZvcm0nLCAncHJlZml4JywgJ3BzMScsICdzZXRjaGVja2ludGVydmFsJywgJ3NldGRsb3BlbmZsYWdzJywKLSAgICAnc2V0cHJvZmlsZScsICdzZXRyZWN1cnNpb25saW1pdCcsICdzZXRzd2l0Y2hpbnRlcnZhbCcsICdzZXR0cmFjZScsCi0gICAgJ3N0ZGVycicsICdzdGRpbicsICdzdGRvdXQnLCAndGhyZWFkX2luZm8nLCAndmVyc2lvbicsICd2ZXJzaW9uX2luZm8nLAotICAgICd3YXJub3B0aW9ucyddCisgICBbJ19fZGlzcGxheWhvb2tfXycsICdfX2RvY19fJywgJ19fZXhjZXB0aG9va19fJywgJ19fbG9hZGVyX18nLCAnX19uYW1lX18nLAorICAgICdfX3BhY2thZ2VfXycsICdfX3N0ZGVycl9fJywgJ19fc3RkaW5fXycsICdfX3N0ZG91dF9fJywKKyAgICAnX2NsZWFyX3R5cGVfY2FjaGUnLCAnX2N1cnJlbnRfZnJhbWVzJywgJ19kZWJ1Z21hbGxvY3N0YXRzJywgJ19nZXRmcmFtZScsCisgICAgJ19ob21lJywgJ19tZXJjdXJpYWwnLCAnX3hvcHRpb25zJywgJ2FiaWZsYWdzJywgJ2FwaV92ZXJzaW9uJywgJ2FyZ3YnLAorICAgICdiYXNlX2V4ZWNfcHJlZml4JywgJ2Jhc2VfcHJlZml4JywgJ2J1aWx0aW5fbW9kdWxlX25hbWVzJywgJ2J5dGVvcmRlcicsCisgICAgJ2NhbGxfdHJhY2luZycsICdjYWxsc3RhdHMnLCAnY29weXJpZ2h0JywgJ2Rpc3BsYXlob29rJywKKyAgICAnZG9udF93cml0ZV9ieXRlY29kZScsICdleGNfaW5mbycsICdleGNlcHRob29rJywgJ2V4ZWNfcHJlZml4JywKKyAgICAnZXhlY3V0YWJsZScsICdleGl0JywgJ2ZsYWdzJywgJ2Zsb2F0X2luZm8nLCAnZmxvYXRfcmVwcl9zdHlsZScsCisgICAgJ2dldGNoZWNraW50ZXJ2YWwnLCAnZ2V0ZGVmYXVsdGVuY29kaW5nJywgJ2dldGRsb3BlbmZsYWdzJywKKyAgICAnZ2V0ZmlsZXN5c3RlbWVuY29kaW5nJywgJ2dldG9iamVjdHMnLCAnZ2V0cHJvZmlsZScsICdnZXRyZWN1cnNpb25saW1pdCcsCisgICAgJ2dldHJlZmNvdW50JywgJ2dldHNpemVvZicsICdnZXRzd2l0Y2hpbnRlcnZhbCcsICdnZXR0b3RhbHJlZmNvdW50JywKKyAgICAnZ2V0dHJhY2UnLCAnaGFzaF9pbmZvJywgJ2hleHZlcnNpb24nLCAnaW1wbGVtZW50YXRpb24nLCAnaW50X2luZm8nLAorICAgICdpbnRlcm4nLCAnbWF4c2l6ZScsICdtYXh1bmljb2RlJywgJ21ldGFfcGF0aCcsICdtb2R1bGVzJywgJ3BhdGgnLAorICAgICdwYXRoX2hvb2tzJywgJ3BhdGhfaW1wb3J0ZXJfY2FjaGUnLCAncGxhdGZvcm0nLCAncHJlZml4JywgJ3BzMScsCisgICAgJ3NldGNoZWNraW50ZXJ2YWwnLCAnc2V0ZGxvcGVuZmxhZ3MnLCAnc2V0cHJvZmlsZScsICdzZXRyZWN1cnNpb25saW1pdCcsCisgICAgJ3NldHN3aXRjaGludGVydmFsJywgJ3NldHRyYWNlJywgJ3N0ZGVycicsICdzdGRpbicsICdzdGRvdXQnLAorICAgICd0aHJlYWRfaW5mbycsICd2ZXJzaW9uJywgJ3ZlcnNpb25faW5mbycsICd3YXJub3B0aW9ucyddCiAKIFdpdGhvdXQgYXJndW1lbnRzLCA6ZnVuYzpgZGlyYCBsaXN0cyB0aGUgbmFtZXMgeW91IGhhdmUgZGVmaW5lZCBjdXJyZW50bHk6OgogCmRpZmYgLS1naXQgYS9Eb2MvdHV0b3JpYWwvc3RkbGliLnJzdCBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CmluZGV4IDdlN2ExNTQuLjJlM2VkMTggMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CisrKyBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CkBAIC0xNSw3ICsxNSw3IEBACiAKICAgID4+PiBpbXBvcnQgb3MKICAgID4+PiBvcy5nZXRjd2QoKSAgICAgICMgUmV0dXJuIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5Ci0gICAnQzpcXFB5dGhvbjMzJworICAgJ0M6XFxQeXRob24zNCcKICAgID4+PiBvcy5jaGRpcignL3NlcnZlci9hY2Nlc3Nsb2dzJykgICAjIENoYW5nZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CiAgICA+Pj4gb3Muc3lzdGVtKCdta2RpciB0b2RheScpICAgIyBSdW4gdGhlIGNvbW1hbmQgbWtkaXIgaW4gdGhlIHN5c3RlbSBzaGVsbAogICAgMApkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0IGIvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0CmluZGV4IDRiNmUwMzYuLjNiOTEyMmYgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIyLnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvc3RkbGliMi5yc3QKQEAgLTI3NSw3ICsyNzUsNyBAQAogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogICAgICAgIGRbJ3ByaW1hcnknXSAgICAgICAgICAgICAgICAjIGVudHJ5IHdhcyBhdXRvbWF0aWNhbGx5IHJlbW92ZWQKLSAgICAgRmlsZSAiQzovcHl0aG9uMzMvbGliL3dlYWtyZWYucHkiLCBsaW5lIDQ2LCBpbiBfX2dldGl0ZW1fXworICAgICBGaWxlICJDOi9weXRob24zNC9saWIvd2Vha3JlZi5weSIsIGxpbmUgNDYsIGluIF9fZ2V0aXRlbV9fCiAgICAgICAgbyA9IHNlbGYuZGF0YVtrZXldKCkKICAgIEtleUVycm9yOiAncHJpbWFyeScKIApkaWZmIC0tZ2l0IGEvRG9jL3VzaW5nL2NtZGxpbmUucnN0IGIvRG9jL3VzaW5nL2NtZGxpbmUucnN0CmluZGV4IGUwYzgwZjYuLjE4NTg1MmEgMTAwNjQ0Ci0tLSBhL0RvYy91c2luZy9jbWRsaW5lLnJzdAorKysgYi9Eb2MvdXNpbmcvY21kbGluZS5yc3QKQEAgLTM1OCw5ICszNTgsMTQgQEAKIC4uIGNtZG9wdGlvbjo6IC1YCiAKICAgIFJlc2VydmVkIGZvciB2YXJpb3VzIGltcGxlbWVudGF0aW9uLXNwZWNpZmljIG9wdGlvbnMuICBDUHl0aG9uIGN1cnJlbnRseQotICAgZGVmaW5lcyBqdXN0IG9uZSwgeW91IGNhbiB1c2UgYGAtWCBmYXVsdGhhbmRsZXJgYCB0byBlbmFibGUKLSAgIDptb2Q6YGZhdWx0aGFuZGxlcmAuIEl0IGFsc28gYWxsb3dzIHRvIHBhc3MgYXJiaXRyYXJ5IHZhbHVlcyBhbmQgcmV0cmlldmUKLSAgIHRoZW0gdGhyb3VnaCB0aGUgOmRhdGE6YHN5cy5feG9wdGlvbnNgIGRpY3Rpb25hcnkuCisgICBkZWZpbmVzIHR3byBwb3NzaWJsZSB2YWx1ZXM6CisKKyAgICogYGAtWCBmYXVsdGhhbmRsZXJgYCB0byBlbmFibGUgOm1vZDpgZmF1bHRoYW5kbGVyYDsKKyAgICogYGAtWCBzaG93cmVmY291bnRgYCB0byBlbmFibGUgdGhlIG91dHB1dCBvZiB0aGUgdG90YWwgcmVmZXJlbmNlIGNvdW50CisgICAgIGFuZCBtZW1vcnkgYmxvY2tzIChvbmx5IHdvcmtzIG9uIGRlYnVnIGJ1aWxkcyk7CisKKyAgIEl0IGFsc28gYWxsb3dzIHRvIHBhc3MgYXJiaXRyYXJ5IHZhbHVlcyBhbmQgcmV0cmlldmUgdGhlbSB0aHJvdWdoIHRoZQorICAgOmRhdGE6YHN5cy5feG9wdGlvbnNgIGRpY3Rpb25hcnkuCiAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICAgICBJdCBpcyBub3cgYWxsb3dlZCB0byBwYXNzIDpvcHRpb246YC1YYCB3aXRoIENQeXRob24uCkBAIC0zNjgsNiArMzczLDkgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogICAgICAgVGhlIGBgLVggZmF1bHRoYW5kbGVyYGAgb3B0aW9uLgogCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjQKKyAgICAgIFRoZSBgYC1YIHNob3dyZWZjb3VudGBgIG9wdGlvbi4KKwogCiBPcHRpb25zIHlvdSBzaG91bGRuJ3QgdXNlCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CmRpZmYgLS1naXQgYS9Eb2MvdXNpbmcvbWFjLnJzdCBiL0RvYy91c2luZy9tYWMucnN0CmluZGV4IDNlMWI3NGQuLjViZTQzOWYgMTAwNjQ0Ci0tLSBhL0RvYy91c2luZy9tYWMucnN0CisrKyBiL0RvYy91c2luZy9tYWMucnN0CkBAIC0yNSw3ICsyNSw3IEBACiAKIFdoYXQgeW91IGdldCBhZnRlciBpbnN0YWxsaW5nIGlzIGEgbnVtYmVyIG9mIHRoaW5nczoKIAotKiBBIDpmaWxlOmBNYWNQeXRob24gMy4zYCBmb2xkZXIgaW4geW91ciA6ZmlsZTpgQXBwbGljYXRpb25zYCBmb2xkZXIuIEluIGhlcmUKKyogQSA6ZmlsZTpgTWFjUHl0aG9uIDMuNGAgZm9sZGVyIGluIHlvdXIgOmZpbGU6YEFwcGxpY2F0aW9uc2AgZm9sZGVyLiBJbiBoZXJlCiAgIHlvdSBmaW5kIElETEUsIHRoZSBkZXZlbG9wbWVudCBlbnZpcm9ubWVudCB0aGF0IGlzIGEgc3RhbmRhcmQgcGFydCBvZiBvZmZpY2lhbAogICBQeXRob24gZGlzdHJpYnV0aW9uczsgUHl0aG9uTGF1bmNoZXIsIHdoaWNoIGhhbmRsZXMgZG91YmxlLWNsaWNraW5nIFB5dGhvbgogICBzY3JpcHRzIGZyb20gdGhlIEZpbmRlcjsgYW5kIHRoZSAiQnVpbGQgQXBwbGV0IiB0b29sLCB3aGljaCBhbGxvd3MgeW91IHRvCkBAIC05Myw3ICs5Myw3IEBACiBhbnl0aGluZyB0aGF0IGhhcyBhIEdVSSkgbmVlZCB0byBiZSBydW4gaW4gYSBzcGVjaWFsIHdheS4gVXNlIDpwcm9ncmFtOmBweXRob253YAogaW5zdGVhZCBvZiA6cHJvZ3JhbTpgcHl0aG9uYCB0byBzdGFydCBzdWNoIHNjcmlwdHMuCiAKLVdpdGggUHl0aG9uIDMuMywgeW91IGNhbiB1c2UgZWl0aGVyIDpwcm9ncmFtOmBweXRob25gIG9yIDpwcm9ncmFtOmBweXRob253YC4KK1dpdGggUHl0aG9uIDMuNCwgeW91IGNhbiB1c2UgZWl0aGVyIDpwcm9ncmFtOmBweXRob25gIG9yIDpwcm9ncmFtOmBweXRob253YC4KIAogCiBDb25maWd1cmF0aW9uCkBAIC0xNTgsNyArMTU4LDcgQEAKIERpc3RyaWJ1dGluZyBQeXRob24gQXBwbGljYXRpb25zIG9uIHRoZSBNYWMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotVGhlICJCdWlsZCBBcHBsZXQiIHRvb2wgdGhhdCBpcyBwbGFjZWQgaW4gdGhlIE1hY1B5dGhvbiAzLjMgZm9sZGVyIGlzIGZpbmUgZm9yCitUaGUgIkJ1aWxkIEFwcGxldCIgdG9vbCB0aGF0IGlzIHBsYWNlZCBpbiB0aGUgTWFjUHl0aG9uIDMuNCBmb2xkZXIgaXMgZmluZSBmb3IKIHBhY2thZ2luZyBzbWFsbCBQeXRob24gc2NyaXB0cyBvbiB5b3VyIG93biBtYWNoaW5lIHRvIHJ1biBhcyBhIHN0YW5kYXJkIE1hYwogYXBwbGljYXRpb24uIFRoaXMgdG9vbCwgaG93ZXZlciwgaXMgbm90IHJvYnVzdCBlbm91Z2ggdG8gZGlzdHJpYnV0ZSBQeXRob24KIGFwcGxpY2F0aW9ucyB0byBvdGhlciB1c2Vycy4KZGlmZiAtLWdpdCBhL0RvYy91c2luZy92ZW52LWNyZWF0ZS5pbmMgYi9Eb2MvdXNpbmcvdmVudi1jcmVhdGUuaW5jCmluZGV4IDVmZGJjOWIuLjcwNmFjNWQgMTAwNjQ0Ci0tLSBhL0RvYy91c2luZy92ZW52LWNyZWF0ZS5pbmMKKysrIGIvRG9jL3VzaW5nL3ZlbnYtY3JlYXRlLmluYwpAQCAtNTYsMjAgKzU2LDIxIEBACiBwcm92aWRlZCBwYXRoLgogCiBPbmNlIGEgdmVudiBoYXMgYmVlbiBjcmVhdGVkLCBpdCBjYW4gYmUgImFjdGl2YXRlZCIgdXNpbmcgYSBzY3JpcHQgaW4gdGhlCi12ZW52J3MgYmluYXJ5IGRpcmVjdG9yeS4gVGhlIGludm9jYXRpb24gb2YgdGhlIHNjcmlwdCBpcyBwbGF0Zm9ybS1zcGVjaWZpYzogb24KLWEgUG9zaXggcGxhdGZvcm0sIHlvdSB3b3VsZCB0eXBpY2FsbHkgZG86OgordmVudidzIGJpbmFyeSBkaXJlY3RvcnkuIFRoZSBpbnZvY2F0aW9uIG9mIHRoZSBzY3JpcHQgaXMgcGxhdGZvcm0tc3BlY2lmaWM6CiAKLSAgICAkIHNvdXJjZSA8dmVudj4vYmluL2FjdGl2YXRlCi0KLXdoZXJlYXMgb24gV2luZG93cywgeW91IG1pZ2h0IGRvOjoKLQotICAgIEM6XD4gPHZlbnY+L1NjcmlwdHMvYWN0aXZhdGUKLQotaWYgeW91IGFyZSB1c2luZyB0aGUgYGBjbWQuZXhlYGAgc2hlbGwsIG9yIHBlcmhhcHM6OgotCi0gICAgUFMgQzpcPiA8dmVudj4vU2NyaXB0cy9BY3RpdmF0ZS5wczEKLQotaWYgeW91IHVzZSBQb3dlclNoZWxsLgorKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFBsYXRmb3JtICAgIHwgU2hlbGwgICAgICAgICAgIHwgQ29tbWFuZCB0byBhY3RpdmF0ZSB2aXJ0dWFsIGVudmlyb25tZW50IHwKKys9PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworfCBQb3NpeCAgICAgICB8IGJhc2gvenNoICAgICAgICB8ICQgc291cmNlIDx2ZW52Pi9iaW4vYWN0aXZhdGUgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgICAgICAgICAgICAgfCBmaXNoICAgICAgICAgICAgfCAkIC4gPHZlbnY+L2Jpbi9hY3RpdmF0ZS5maXNoICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8ICAgICAgICAgICAgIHwgY3NoL3Rjc2ggICAgICAgIHwgJCBzb3VyY2UgPHZlbnY+L2Jpbi9hY3RpdmF0ZS5jc2ggICAgICAgIHwKKystLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBXaW5kb3dzICAgICB8IGNtZC5leGUgICAgICAgICB8IEM6XD4gPHZlbnY+L1NjcmlwdHMvYWN0aXZhdGUuYmF0ICAgICAgICB8CisrLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgICAgICAgICAgICAgfCBQb3dlclNoZWxsICAgICAgfCBQUyBDOlw+IDx2ZW52Pi9TY3JpcHRzL0FjdGl2YXRlLnBzMSAgICAgfAorKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAKIFlvdSBkb24ndCBzcGVjaWZpY2FsbHkgKm5lZWQqIHRvIGFjdGl2YXRlIGFuIGVudmlyb25tZW50OyBhY3RpdmF0aW9uIGp1c3QKIHByZXBlbmRzIHRoZSB2ZW52J3MgYmluYXJ5IGRpcmVjdG9yeSB0byB5b3VyIHBhdGgsIHNvIHRoYXQgInB5dGhvbiIgaW52b2tlcyB0aGUKZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjQucnN0IGIvRG9jL3doYXRzbmV3LzMuNC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E1MTVmNgotLS0gL2Rldi9udWxsCisrKyBiL0RvYy93aGF0c25ldy8zLjQucnN0CkBAIC0wLDAgKzEsMjMzIEBACisqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgIFdoYXQncyBOZXcgSW4gUHl0aG9uIDMuNAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCisuLiA6QXV0aG9yOiBTb21lb25lIDxlbWFpbD4KKyAgICh1bmNvbW1lbnQgaWYgdGhlcmUgaXMgYSBwcmluY2lwYWwgYXV0aG9yKQorCisuLiBSdWxlcyBmb3IgbWFpbnRlbmFuY2U6CisKKyAgICogQW55b25lIGNhbiBhZGQgdGV4dCB0byB0aGlzIGRvY3VtZW50LCBidXQgdGhlIG1haW50YWluZXIgcmVzZXJ2ZXMgdGhlCisgICByaWdodCB0byByZXdyaXRlIGFueSBhZGRpdGlvbnMuIEluIHBhcnRpY3VsYXIsIGZvciBvYnNjdXJlIG9yIGVzb3RlcmljCisgICBmZWF0dXJlcywgdGhlIG1haW50YWluZXIgbWF5IHJlZHVjZSBhbnkgYWRkaXRpb24gdG8gYSBzaW1wbGUgcmVmZXJlbmNlIHRvCisgICB0aGUgbmV3IGRvY3VtZW50YXRpb24gcmF0aGVyIHRoYW4gZXhwbGFpbmluZyB0aGUgZmVhdHVyZSBpbmxpbmUuCisKKyAgICogV2hpbGUgdGhlIG1haW50YWluZXIgd2lsbCBwZXJpb2RpY2FsbHkgZ28gdGhyb3VnaCBNaXNjL05FV1MKKyAgIGFuZCBhZGQgY2hhbmdlcywgaXQncyBiZXN0IG5vdCB0byByZWx5IG9uIHRoaXMuIFdlIGtub3cgZnJvbSBleHBlcmllbmNlCisgICB0aGF0IGFueSBjaGFuZ2VzIHRoYXQgYXJlbid0IGluIHRoZSBXaGF0J3MgTmV3IGRvY3VtZW50YXRpb24gYXJvdW5kIHRoZQorICAgdGltZSBvZiB0aGUgb3JpZ2luYWwgcmVsZWFzZSB3aWxsIHJlbWFpbiBsYXJnZWx5IHVua25vd24gdG8gdGhlIGNvbW11bml0eQorICAgZm9yIHllYXJzLCBldmVuIGlmIHRoZXkncmUgYWRkZWQgbGF0ZXIuIFdlIGFsc28ga25vdyBmcm9tIGV4cGVyaWVuY2UgdGhhdAorICAgb3RoZXIgcHJpb3JpdGllcyBjYW4gYXJpc2UsIGFuZCB0aGUgbWFpbnRhaW5lciB3aWxsIHJ1biBvdXQgb2YgdGltZSB0byBkbworICAgdXBkYXRlcyAtIGluIHN1Y2ggY2FzZXMsIGVuZCB1c2VycyB3aWxsIGJlIG11Y2ggYmV0dGVyIHNlcnZlZCBieSBwYXJ0aWFsCisgICBub3RpZmljYXRpb25zIHRoYXQgYXQgbGVhc3QgZ2l2ZSBhIGhpbnQgYWJvdXQgbmV3IGZlYXR1cmVzIHRvCisgICBpbnZlc3RpZ2F0ZS4KKworICAgKiBUaGlzIGlzIG5vdCBhIGNvbXBsZXRlIGxpc3Qgb2YgZXZlcnkgc2luZ2xlIGNoYW5nZTsgY29tcGxldGVuZXNzCisgICBpcyB0aGUgcHVycG9zZSBvZiBNaXNjL05FV1MuIFRoZSBXaGF0J3MgTmV3IHNob3VsZCBmb2N1cyBvbiBjaGFuZ2VzIHRoYXQKKyAgIGFyZSB2aXNpYmxlIHRvIFB5dGhvbiAqdXNlcnMqIGFuZCB0aGF0ICpyZXF1aXJlKiBhIGZlYXR1cmUgcmVsZWFzZSAoaS5lLgorICAgbW9zdCBidWcgZml4ZXMgc2hvdWxkIG9ubHkgYmUgcmVjb3JkZWQgaW4gTWlzYy9ORVdTKQorCisgICAqIFBFUHMgc2hvdWxkIG5vdCBiZSBtYXJrZWQgRmluYWwgdW50aWwgdGhleSBoYXZlIGFuIGVudHJ5IGluIFdoYXQncyBOZXcuCisgICBBIHBsYWNlaG9sZGVyIGVudHJ5IHRoYXQgaXMganVzdCBhIHNlY3Rpb24gaGVhZGVyIGFuZCBhIGxpbmsgdG8gdGhlIFBFUAorICAgKGUuZyAiOnBlcDpgMzk3YCBoYXMgYmVlbiBpbXBsZW1lbnRlZCIpIGlzIGFjY2VwdGFibGUuIElmIGEgUEVQIGhhcyBiZWVuCisgICBpbXBsZW1lbnRlZCBhbmQgbm90ZWQgaW4gV2hhdCdzIE5ldywgZG9uJ3QgZm9yZ2V0IHRvIG1hcmsgaXQgYXMgRmluYWwhCisKKyAgICogSWYgeW91IHdhbnQgdG8gZHJhdyB5b3VyIG5ldyB0ZXh0IHRvIHRoZSBhdHRlbnRpb24gb2YgdGhlCisgICBtYWludGFpbmVyLCBhZGQgJ1hYWCcgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgcGFyYWdyYXBoIG9yCisgICBzZWN0aW9uLgorCisgICAqIEl0J3MgT0sgdG8gYWRkIGp1c3QgYSB2ZXJ5IGJyaWVmIG5vdGUgYWJvdXQgYSBjaGFuZ2UuICBGb3IKKyAgIGV4YW1wbGU6ICJUaGUgOnJlZjpgfnNvY2tldC50cmFuc21vZ3JpZnkoKWAgZnVuY3Rpb24gd2FzIGFkZGVkIHRvIHRoZQorICAgOm1vZDpgc29ja2V0YCBtb2R1bGUuIiAgVGhlIG1haW50YWluZXIgd2lsbCByZXNlYXJjaCB0aGUgY2hhbmdlIGFuZAorICAgd3JpdGUgdGhlIG5lY2Vzc2FyeSB0ZXh0IChpZiBhcHByb3ByaWF0ZSkuIFRoZSBhZHZhbnRhZ2Ugb2YgZG9pbmcgdGhpcworICAgaXMgdGhhdCBldmVuIGlmIG5vIG1vcmUgZGVzY3JpcHRpdmUgdGV4dCBpcyBldmVyIGFkZGVkLCByZWFkZXJzIHdpbGwgYXQKKyAgIGxlYXN0IGhhdmUgYSBub3RpZmljYXRpb24gdGhhdCB0aGUgbmV3IGZlYXR1cmUgZXhpc3RzIGFuZCBhIGxpbmsgdG8gdGhlCisgICByZWxldmFudCBkb2N1bWVudGF0aW9uLgorCisgICAqIFlvdSBjYW4gY29tbWVudCBvdXQgeW91ciBhZGRpdGlvbnMgaWYgeW91IGxpa2UsIGJ1dCBpdCdzIG5vdAorICAgbmVjZXNzYXJ5IChlc3BlY2lhbGx5IHdoZW4gYSBmaW5hbCByZWxlYXNlIGlzIHNvbWUgbW9udGhzIGF3YXkpLgorCisgICAqIENyZWRpdCB0aGUgYXV0aG9yIG9mIGEgcGF0Y2ggb3IgYnVnZml4LiAgIEp1c3QgdGhlIG5hbWUgaXMKKyAgIHN1ZmZpY2llbnQ7IHRoZSBlLW1haWwgYWRkcmVzcyBpc24ndCBuZWNlc3NhcnkuCisKKyAgICogSXQncyBoZWxwZnVsIHRvIGFkZCB0aGUgYnVnL3BhdGNoIG51bWJlciBhcyBhIGNvbW1lbnQ6CisKKyAgIFRoZSA6cmVmOmB+c29ja2V0LnRyYW5zbW9ncmlmeSgpYCBmdW5jdGlvbiB3YXMgYWRkZWQgdG8gdGhlCisgICA6bW9kOmBzb2NrZXRgIG1vZHVsZS4gKENvbnRyaWJ1dGVkIGJ5IFAuWS4gRGV2ZWxvcGVyIGluIDppc3N1ZTpgMTIzNDVgLikKKworICAgVGhpcyBzYXZlcyB0aGUgbWFpbnRhaW5lciB0aGUgZWZmb3J0IG9mIGdvaW5nIHRocm91Z2ggdGhlIE1lcmN1cmlhbCBsb2cKKyAgIHdoZW4gcmVzZWFyY2hpbmcgYSBjaGFuZ2UuCisKKyAgICogQ3Jvc3MgcmVmZXJlbmNpbmcgdGlwOiA6cmVmOmBtb2QuYXR0cmAgd2lsbCBkaXNwbGF5IGFzIGBgbW9kLmF0dHJgYCwKKyAgIHdoaWxlIDpyZWY6YH5tb2QuYXR0cmAgd2lsbCBkaXNwbGF5IGFzIGBgYXR0cmBgLgorCitUaGlzIGFydGljbGUgZXhwbGFpbnMgdGhlIG5ldyBmZWF0dXJlcyBpbiBQeXRob24gMy40LCBjb21wYXJlZCB0byAzLjMuCisKKy4uIFB5dGhvbiAzLjQgd2FzIHJlbGVhc2VkIG9uIFRCRC4KKworRm9yIGZ1bGwgZGV0YWlscywgc2VlIHRoZQorYGNoYW5nZWxvZyA8aHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjQvd2hhdHNuZXcvY2hhbmdlbG9nLmh0bWw+YF8uCisKKy4uIG5vdGU6OiBQcmVyZWxlYXNlIHVzZXJzIHNob3VsZCBiZSBhd2FyZSB0aGF0IHRoaXMgZG9jdW1lbnQgaXMgY3VycmVudGx5IGluCisgICBkcmFmdCBmb3JtLiBJdCB3aWxsIGJlIHVwZGF0ZWQgc3Vic3RhbnRpYWxseSBhcyBQeXRob24gMy40IG1vdmVzIHRvd2FyZHMKKyAgIHJlbGVhc2UsIHNvIGl0J3Mgd29ydGggY2hlY2tpbmcgYmFjayBldmVuIGFmdGVyIHJlYWRpbmcgZWFybGllciB2ZXJzaW9ucy4KKworCisuLiBzZWVhbHNvOjoKKworICAgLi4gOnBlcDpgNFhYYCAtIFB5dGhvbiAzLjQgUmVsZWFzZSBTY2hlZHVsZQorCisKK1N1bW1hcnkgLS0gUmVsZWFzZSBoaWdobGlnaHRzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBUaGlzIHNlY3Rpb24gc2luZ2xlcyBvdXQgdGhlIG1vc3QgaW1wb3J0YW50IGNoYW5nZXMgaW4gUHl0aG9uIDMuNC4KKyAgIEJyZXZpdHkgaXMga2V5LgorCitOZXcgc3ludGF4IGZlYXR1cmVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgbGlicmFyeSBtb2R1bGVzOgorCisqIE5vbmUgeWV0LgorCitOZXcgYnVpbHQtaW4gZmVhdHVyZXM6CisKKyogTm9uZSB5ZXQuCisKK0ltcGxlbWVudGF0aW9uIGltcHJvdmVtZW50czoKKworKiBBIG1vcmUgZWZmaWNpZW50IDptb2Q6YG1hcnNoYWxgIGZvcm1hdCA8aHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE2NDc1Pi4KKworU2lnbmlmaWNhbnRseSBJbXByb3ZlZCBMaWJyYXJ5IE1vZHVsZXM6CisKKyogU0hBLTMgKEtlY2Nhaykgc3VwcG9ydCBmb3IgOm1vZDpgaGFzaGxpYmAuCisqIFRMU3YxLjEgYW5kIFRMU3YxLjIgc3VwcG9ydCBmb3IgOm1vZDpgc3NsYC4KKworU2VjdXJpdHkgaW1wcm92ZW1lbnRzOgorCisqIE5vbmUgeWV0LgorCitQbGVhc2UgcmVhZCBvbiBmb3IgYSBjb21wcmVoZW5zaXZlIGxpc3Qgb2YgdXNlci1mYWNpbmcgY2hhbmdlcy4KKworCisuLiBQRVAtc2l6ZWQgaXRlbXMgbmV4dC4KKworLi4gX3BlcC00WFg6CisKKy4uIFBFUCA0WFg6IEV4YW1wbGUgUEVQCisuLiA9PT09PT09PT09PT09PT09PT09PQorCisKKy4uIChJbXBsZW1lbnRlZCBieSBGb28gQmFyLikKKworLi4gLi4gc2VlYWxzbzo6CisKKyAgIDpwZXA6YDRYWGAgLSBFeGFtcGxlIFBFUAorICAgICAgUEVQIHdyaXR0ZW4gYnkgRXhhbXBsZSBBdXRob3IKKworCisKKworT3RoZXIgTGFuZ3VhZ2UgQ2hhbmdlcworPT09PT09PT09PT09PT09PT09PT09PQorCitTb21lIHNtYWxsZXIgY2hhbmdlcyBtYWRlIHRvIHRoZSBjb3JlIFB5dGhvbiBsYW5ndWFnZSBhcmU6CisKKyogVW5pY29kZSBkYXRhYmFzZSB1cGRhdGVkIHRvIFVDRCB2ZXJzaW9uIDYuMi4KKworCisKK05ldyBNb2R1bGVzCis9PT09PT09PT09PQorCisuLiBtb2R1bGUgbmFtZQorLi4gLS0tLS0tLS0tLS0KKworKiBOb25lIHlldC4KKworCitJbXByb3ZlZCBNb2R1bGVzCis9PT09PT09PT09PT09PT09CisKKworZG9jdGVzdAorLS0tLS0tLQorCitBZGRlZCBgYEZBSUxfRkFTVGBgIGZsYWcgdG8gaGFsdCB0ZXN0IHJ1bm5pbmcgYXMgc29vbiBhcyB0aGUgZmlyc3QgZmFpbHVyZSBpcworZGV0ZWN0ZWQuICAoQ29udHJpYnV0ZWQgYnkgUi4gRGF2aWQgTXVycmF5IGFuZCBEYW5pZWwgVXJiYW4gaW4gOmlzc3VlOmAxNjUyMmAuKQorCisKK3NtdHBsaWIKKy0tLS0tLS0KKworOmV4YzpgfnNtdHBsaWIuU01UUEV4Y2VwdGlvbmAgaXMgbm93IGEgc3ViY2xhc3Mgb2YgOmV4YzpgT1NFcnJvcmAsIHdoaWNoIGFsbG93cworYm90aCBzb2NrZXQgbGV2ZWwgZXJyb3JzIGFuZCBTTVRQIHByb3RvY29sIGxldmVsIGVycm9ycyB0byBiZSBjYXVnaHQgaW4gb25lCit0cnkvZXhjZXB0IHN0YXRlbWVudCBieSBjb2RlIHRoYXQgb25seSBjYXJlcyB3aGV0aGVyIG9yIG5vdCBhbiBlcnJvciBvY2N1cnJlZC4KKyg6aXNzdWU6YDIxMThgKS4KKworCit3YXZlCistLS0tCisKK1RoZSA6bWV0aDpgfndhdmUuZ2V0cGFyYW1zYCBtZXRob2Qgbm93IHJldHVybnMgYSBuYW1lZHR1cGxlIHJhdGhlciB0aGFuIGEKK3BsYWluIHR1cGxlLiAgKENvbnRyaWJ1dGVkIGJ5IENsYXVkaXUgUG9wYSBpbiA6aXNzdWU6YDE3NDg3YC4pCisKKworT3B0aW1pemF0aW9ucworPT09PT09PT09PT09PQorCitNYWpvciBwZXJmb3JtYW5jZSBlbmhhbmNlbWVudHMgaGF2ZSBiZWVuIGFkZGVkOgorCisqIFRoZSBVVEYtMzIgZGVjb2RlciBpcyBub3cgM3ggdG8gNHggZmFzdGVyLgorCisKK0J1aWxkIGFuZCBDIEFQSSBDaGFuZ2VzCis9PT09PT09PT09PT09PT09PT09PT09PQorCitDaGFuZ2VzIHRvIFB5dGhvbidzIGJ1aWxkIHByb2Nlc3MgYW5kIHRvIHRoZSBDIEFQSSBpbmNsdWRlOgorCisqIE5vbmUgeWV0LgorCisKK0RlcHJlY2F0ZWQKKz09PT09PT09PT0KKworVW5zdXBwb3J0ZWQgT3BlcmF0aW5nIFN5c3RlbXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworRGVwcmVjYXRlZCBQeXRob24gbW9kdWxlcywgZnVuY3Rpb25zIGFuZCBtZXRob2RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiA6bWV0aDpgZGlmZmxpYi5TZXF1ZW5jZU1hdGNoZXIuaXNianVua2AgYW5kCisgIDptZXRoOmBkaWZmbGliLlNlcXVlbmNlTWF0Y2hlci5pc2Jwb3B1bHVyYDogdXNlIGBgeCBpbiBzbS5ianVua2BgIGFuZAorICBgYHggaW4gc20uYnBvcHVsYXJgYCwgd2hlcmUgc20gaXMgYSA6Y2xhc3M6YH5kaWZmbGliLlNlcXVlbmNlTWF0Y2hlcmAgb2JqZWN0LgorCisKK0RlcHJlY2F0ZWQgZnVuY3Rpb25zIGFuZCB0eXBlcyBvZiB0aGUgQyBBUEkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBOb25lIHlldC4KKworCitEZXByZWNhdGVkIGZlYXR1cmVzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogTm9uZSB5ZXQuCisKKworUG9ydGluZyB0byBQeXRob24gMy40Cis9PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBzZWN0aW9uIGxpc3RzIHByZXZpb3VzbHkgZGVzY3JpYmVkIGNoYW5nZXMgYW5kIG90aGVyIGJ1Z2ZpeGVzCit0aGF0IG1heSByZXF1aXJlIGNoYW5nZXMgdG8geW91ciBjb2RlLgorCisqIFRoZSBBQkNzIGRlZmluZWQgaW4gOm1vZDpgaW1wb3J0bGliLmFiY2Agbm93IGVpdGhlciByYWlzZSB0aGUgYXBwcm9wcmlhdGUKKyAgZXhjZXB0aW9uIG9yIHJldHVybiBhIGRlZmF1bHQgdmFsdWUgaW5zdGVhZCBvZiByYWlzaW5nCisgIDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgIGJsaW5kbHkuIFRoaXMgd2lsbCBvbmx5IGFmZmVjdCBjb2RlIGNhbGxpbmcKKyAgOmZ1bmM6YHN1cGVyYCBhbmQgZmFsbGluZyB0aHJvdWdoIGFsbCB0aGUgd2F5IHRvIHRoZSBBQkNzLiBGb3IgY29tcGF0aWJpbGl0eSwKKyAgY2F0Y2ggYm90aCA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBvciB0aGUgYXBwcm9wcmlhdGUgZXhjZXB0aW9uIGFzIG5lZWRlZC4KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy9pbmRleC5yc3QgYi9Eb2Mvd2hhdHNuZXcvaW5kZXgucnN0CmluZGV4IGJjMTIwNmIuLjI5OTAyZTQgMTAwNjQ0Ci0tLSBhL0RvYy93aGF0c25ldy9pbmRleC5yc3QKKysrIGIvRG9jL3doYXRzbmV3L2luZGV4LnJzdApAQCAtMTEsNiArMTEsNyBAQAogLi4gdG9jdHJlZTo6CiAgICA6bWF4ZGVwdGg6IDIKIAorICAgMy40LnJzdAogICAgMy4zLnJzdAogICAgMy4yLnJzdAogICAgMy4xLnJzdApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9QeXRob24tYXN0LmggYi9JbmNsdWRlL1B5dGhvbi1hc3QuaAppbmRleCA3YWQ2Y2IzLi40OWVkY2RjIDEwMDY0NAotLS0gYS9JbmNsdWRlL1B5dGhvbi1hc3QuaAorKysgYi9JbmNsdWRlL1B5dGhvbi1hc3QuaApAQCAtMTgyLDggKzE4Miw5IEBACiAgICAgICAgICAgICAgICAgICBTZXRDb21wX2tpbmQ9OSwgRGljdENvbXBfa2luZD0xMCwgR2VuZXJhdG9yRXhwX2tpbmQ9MTEsCiAgICAgICAgICAgICAgICAgICBZaWVsZF9raW5kPTEyLCBZaWVsZEZyb21fa2luZD0xMywgQ29tcGFyZV9raW5kPTE0LAogICAgICAgICAgICAgICAgICAgQ2FsbF9raW5kPTE1LCBOdW1fa2luZD0xNiwgU3RyX2tpbmQ9MTcsIEJ5dGVzX2tpbmQ9MTgsCi0gICAgICAgICAgICAgICAgICBFbGxpcHNpc19raW5kPTE5LCBBdHRyaWJ1dGVfa2luZD0yMCwgU3Vic2NyaXB0X2tpbmQ9MjEsCi0gICAgICAgICAgICAgICAgICBTdGFycmVkX2tpbmQ9MjIsIE5hbWVfa2luZD0yMywgTGlzdF9raW5kPTI0LCBUdXBsZV9raW5kPTI1fTsKKyAgICAgICAgICAgICAgICAgIE5hbWVDb25zdGFudF9raW5kPTE5LCBFbGxpcHNpc19raW5kPTIwLCBBdHRyaWJ1dGVfa2luZD0yMSwKKyAgICAgICAgICAgICAgICAgIFN1YnNjcmlwdF9raW5kPTIyLCBTdGFycmVkX2tpbmQ9MjMsIE5hbWVfa2luZD0yNCwKKyAgICAgICAgICAgICAgICAgIExpc3Rfa2luZD0yNSwgVHVwbGVfa2luZD0yNn07CiBzdHJ1Y3QgX2V4cHIgewogICAgICAgICBlbnVtIF9leHByX2tpbmQga2luZDsKICAgICAgICAgdW5pb24gewpAQCAtMjc5LDYgKzI4MCwxMCBAQAogICAgICAgICAgICAgICAgIH0gQnl0ZXM7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZXRvbiB2YWx1ZTsKKyAgICAgICAgICAgICAgICB9IE5hbWVDb25zdGFudDsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgICAgICAgICAgZXhwcl90eSB2YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZXIgYXR0cjsKICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF90eSBjdHg7CkBAIC0zNTksMTggKzM2NCwxOCBAQAogCiBzdHJ1Y3QgX2FyZ3VtZW50cyB7CiAgICAgICAgIGFzZGxfc2VxICphcmdzOwotICAgICAgICBpZGVudGlmaWVyIHZhcmFyZzsKLSAgICAgICAgZXhwcl90eSB2YXJhcmdhbm5vdGF0aW9uOworICAgICAgICBhcmdfdHkgdmFyYXJnOwogICAgICAgICBhc2RsX3NlcSAqa3dvbmx5YXJnczsKLSAgICAgICAgaWRlbnRpZmllciBrd2FyZzsKLSAgICAgICAgZXhwcl90eSBrd2FyZ2Fubm90YXRpb247Ci0gICAgICAgIGFzZGxfc2VxICpkZWZhdWx0czsKICAgICAgICAgYXNkbF9zZXEgKmt3X2RlZmF1bHRzOworICAgICAgICBhcmdfdHkga3dhcmc7CisgICAgICAgIGFzZGxfc2VxICpkZWZhdWx0czsKIH07CiAKIHN0cnVjdCBfYXJnIHsKICAgICAgICAgaWRlbnRpZmllciBhcmc7CiAgICAgICAgIGV4cHJfdHkgYW5ub3RhdGlvbjsKKyAgICAgICAgaW50IGxpbmVubzsKKyAgICAgICAgaW50IGNvbF9vZmZzZXQ7CiB9OwogCiBzdHJ1Y3QgX2tleXdvcmQgewpAQCAtNTA5LDYgKzUxNCw5IEBACiBleHByX3R5IF9QeV9TdHIoc3RyaW5nIHMsIGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0LCBQeUFyZW5hICphcmVuYSk7CiAjZGVmaW5lIEJ5dGVzKGEwLCBhMSwgYTIsIGEzKSBfUHlfQnl0ZXMoYTAsIGExLCBhMiwgYTMpCiBleHByX3R5IF9QeV9CeXRlcyhieXRlcyBzLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOworI2RlZmluZSBOYW1lQ29uc3RhbnQoYTAsIGExLCBhMiwgYTMpIF9QeV9OYW1lQ29uc3RhbnQoYTAsIGExLCBhMiwgYTMpCitleHByX3R5IF9QeV9OYW1lQ29uc3RhbnQoc2luZ2xldG9uIHZhbHVlLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYQorICAgICAgICAgICAgICAgICAgICAgICAgICphcmVuYSk7CiAjZGVmaW5lIEVsbGlwc2lzKGEwLCBhMSwgYTIpIF9QeV9FbGxpcHNpcyhhMCwgYTEsIGEyKQogZXhwcl90eSBfUHlfRWxsaXBzaXMoaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKTsKICNkZWZpbmUgQXR0cmlidXRlKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpIF9QeV9BdHRyaWJ1dGUoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkKQEAgLTU0MiwxMSArNTUwLDEwIEBACiBleGNlcHRoYW5kbGVyX3R5IF9QeV9FeGNlcHRIYW5kbGVyKGV4cHJfdHkgdHlwZSwgaWRlbnRpZmllciBuYW1lLCBhc2RsX3NlcSAqCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHksIGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0LCBQeUFyZW5hCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICphcmVuYSk7Ci0jZGVmaW5lIGFyZ3VtZW50cyhhMCwgYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4KSBfUHlfYXJndW1lbnRzKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2LCBhNywgYTgpCi1hcmd1bWVudHNfdHkgX1B5X2FyZ3VtZW50cyhhc2RsX3NlcSAqIGFyZ3MsIGlkZW50aWZpZXIgdmFyYXJnLCBleHByX3R5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJhcmdhbm5vdGF0aW9uLCBhc2RsX3NlcSAqIGt3b25seWFyZ3MsIGlkZW50aWZpZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnLCBleHByX3R5IGt3YXJnYW5ub3RhdGlvbiwgYXNkbF9zZXEgKiBkZWZhdWx0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxICoga3dfZGVmYXVsdHMsIFB5QXJlbmEgKmFyZW5hKTsKKyNkZWZpbmUgYXJndW1lbnRzKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KSBfUHlfYXJndW1lbnRzKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUsIGE2KQorYXJndW1lbnRzX3R5IF9QeV9hcmd1bWVudHMoYXNkbF9zZXEgKiBhcmdzLCBhcmdfdHkgdmFyYXJnLCBhc2RsX3NlcSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzLCBhc2RsX3NlcSAqIGt3X2RlZmF1bHRzLCBhcmdfdHkga3dhcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcSAqIGRlZmF1bHRzLCBQeUFyZW5hICphcmVuYSk7CiAjZGVmaW5lIGFyZyhhMCwgYTEsIGEyKSBfUHlfYXJnKGEwLCBhMSwgYTIpCiBhcmdfdHkgX1B5X2FyZyhpZGVudGlmaWVyIGFyZywgZXhwcl90eSBhbm5vdGF0aW9uLCBQeUFyZW5hICphcmVuYSk7CiAjZGVmaW5lIGtleXdvcmQoYTAsIGExLCBhMikgX1B5X2tleXdvcmQoYTAsIGExLCBhMikKZGlmZiAtLWdpdCBhL0luY2x1ZGUvYWJzdHJhY3QuaCBiL0luY2x1ZGUvYWJzdHJhY3QuaAppbmRleCA0NGI1YWY3Li5lMmIwNzUwIDEwMDY0NAotLS0gYS9JbmNsdWRlL2Fic3RyYWN0LmgKKysrIGIvSW5jbHVkZS9hYnN0cmFjdC5oCkBAIC00MDQsOCArNDA0LDkgQEAKICNkZWZpbmUgUHlPYmplY3RfTGVuZ3RoIFB5T2JqZWN0X1NpemUKIAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotICAgICBQeUFQSV9GVU5DKFB5X3NzaXplX3QpIF9QeU9iamVjdF9MZW5ndGhIaW50KFB5T2JqZWN0ICpvLCBQeV9zc2l6ZV90KTsKKyAgICAgUHlBUElfRlVOQyhpbnQpIF9QeU9iamVjdF9IYXNMZW4oUHlPYmplY3QgKm8pOwogI2VuZGlmCitQeUFQSV9GVU5DKFB5X3NzaXplX3QpIFB5T2JqZWN0X0xlbmd0aEhpbnQoUHlPYmplY3QgKm8sIFB5X3NzaXplX3QpOwogCiAgICAgICAgLyoKICAgICAgR3Vlc3MgdGhlIHNpemUgb2Ygb2JqZWN0IG8gdXNpbmcgbGVuKG8pIG9yIG8uX19sZW5ndGhfaGludF9fKCkuCmRpZmYgLS1naXQgYS9JbmNsdWRlL2FzZGwuaCBiL0luY2x1ZGUvYXNkbC5oCmluZGV4IDZiZjYxOGYuLjA3ODlhZDggMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYXNkbC5oCisrKyBiL0luY2x1ZGUvYXNkbC5oCkBAIC01LDYgKzUsNyBAQAogdHlwZWRlZiBQeU9iamVjdCAqIHN0cmluZzsKIHR5cGVkZWYgUHlPYmplY3QgKiBieXRlczsKIHR5cGVkZWYgUHlPYmplY3QgKiBvYmplY3Q7Cit0eXBlZGVmIFB5T2JqZWN0ICogc2luZ2xldG9uOwogCiAvKiBJdCB3b3VsZCBiZSBuaWNlIGlmIHRoZSBjb2RlIGdlbmVyYXRlZCBieSBhc2RsX2MucHkgd2FzIGNvbXBsZXRlbHkKICAgIGluZGVwZW5kZW50IG9mIFB5dGhvbiwgYnV0IGl0IGlzIGEgZ29hbCB0aGUgcmVxdWlyZXMgdG9vIG11Y2ggd29yawpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9kaWN0b2JqZWN0LmggYi9JbmNsdWRlL2RpY3RvYmplY3QuaAppbmRleCBkODlhYWM4Li4xNmJkMWQ2IDEwMDY0NAotLS0gYS9JbmNsdWRlL2RpY3RvYmplY3QuaAorKysgYi9JbmNsdWRlL2RpY3RvYmplY3QuaApAQCAtNTMsNiArNTMsOCBAQAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcihQeU9iamVjdCAqbXAsIFB5T2JqZWN0ICprZXkpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlEaWN0X0dldEl0ZW1JZFdpdGhFcnJvcihQeU9iamVjdCAqZHAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqa2V5KTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlEaWN0X1NldERlZmF1bHQoCisgICAgUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5LCBQeU9iamVjdCAqZGVmYXVsdG9iaik7CiBQeUFQSV9GVU5DKGludCkgUHlEaWN0X1NldEl0ZW0oUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5LCBQeU9iamVjdCAqaXRlbSk7CiBQeUFQSV9GVU5DKGludCkgUHlEaWN0X0RlbEl0ZW0oUHlPYmplY3QgKm1wLCBQeU9iamVjdCAqa2V5KTsKIFB5QVBJX0ZVTkModm9pZCkgUHlEaWN0X0NsZWFyKFB5T2JqZWN0ICptcCk7CmRpZmYgLS1naXQgYS9JbmNsdWRlL2dyYW1tYXIuaCBiL0luY2x1ZGUvZ3JhbW1hci5oCmluZGV4IDg0MjZkYTMuLjg2MmY2YTggMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvZ3JhbW1hci5oCisrKyBiL0luY2x1ZGUvZ3JhbW1hci5oCkBAIC03Niw3ICs3Niw3IEBACiAKIGludCBhZGRsYWJlbChsYWJlbGxpc3QgKmxsLCBpbnQgdHlwZSwgY2hhciAqc3RyKTsKIGludCBmaW5kbGFiZWwobGFiZWxsaXN0ICpsbCwgaW50IHR5cGUsIGNoYXIgKnN0cik7Ci1jaGFyICpQeUdyYW1tYXJfTGFiZWxSZXByKGxhYmVsICpsYik7Citjb25zdCBjaGFyICpQeUdyYW1tYXJfTGFiZWxSZXByKGxhYmVsICpsYik7CiB2b2lkIHRyYW5zbGF0ZWxhYmVscyhncmFtbWFyICpnKTsKIAogdm9pZCBhZGRmaXJzdHNldHMoZ3JhbW1hciAqZyk7CmRpZmYgLS1naXQgYS9JbmNsdWRlL2ltcG9ydC5oIGIvSW5jbHVkZS9pbXBvcnQuaAppbmRleCBmZGMyNzMzLi45MDA0OWUwIDEwMDY0NAotLS0gYS9JbmNsdWRlL2ltcG9ydC5oCisrKyBiL0luY2x1ZGUvaW1wb3J0LmgKQEAgLTExMywxNSArMTEzLDE1IEBACiAKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIHN0cnVjdCBfZnJvemVuIHsKLSAgICBjaGFyICpuYW1lOyAgICAgICAgICAgICAgICAgLyogQVNDSUkgZW5jb2RlZCBzdHJpbmcgKi8KLSAgICB1bnNpZ25lZCBjaGFyICpjb2RlOworICAgIGNvbnN0IGNoYXIgKm5hbWU7ICAgICAgICAgICAgICAgICAvKiBBU0NJSSBlbmNvZGVkIHN0cmluZyAqLworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNvZGU7CiAgICAgaW50IHNpemU7CiB9OwogCiAvKiBFbWJlZGRpbmcgYXBwcyBtYXkgY2hhbmdlIHRoaXMgcG9pbnRlciB0byBwb2ludCB0byB0aGVpciBmYXZvcml0ZQogICAgY29sbGVjdGlvbiBvZiBmcm96ZW4gbW9kdWxlczogKi8KIAotUHlBUElfREFUQShzdHJ1Y3QgX2Zyb3plbiAqKSBQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzOworUHlBUElfREFUQShjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqKSBQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzOwogI2VuZGlmCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9tYXJzaGFsLmggYi9JbmNsdWRlL21hcnNoYWwuaAppbmRleCBlOTZkMDYyLi4wYzY5NjU1IDEwMDY0NAotLS0gYS9JbmNsdWRlL21hcnNoYWwuaAorKysgYi9JbmNsdWRlL21hcnNoYWwuaApAQCAtNyw3ICs3LDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKLSNkZWZpbmUgUHlfTUFSU0hBTF9WRVJTSU9OIDIKKyNkZWZpbmUgUHlfTUFSU0hBTF9WRVJTSU9OIDMKIAogUHlBUElfRlVOQyh2b2lkKSBQeU1hcnNoYWxfV3JpdGVMb25nVG9GaWxlKGxvbmcsIEZJTEUgKiwgaW50KTsKIFB5QVBJX0ZVTkModm9pZCkgUHlNYXJzaGFsX1dyaXRlT2JqZWN0VG9GaWxlKFB5T2JqZWN0ICosIEZJTEUgKiwgaW50KTsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb2JqZWN0LmggYi9JbmNsdWRlL29iamVjdC5oCmluZGV4IDM4N2NhZGIuLmFkNTg0NTAgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvb2JqZWN0LmgKKysrIGIvSW5jbHVkZS9vYmplY3QuaApAQCAtMzYyLDcgKzM2Miw3IEBACiAgICAgUHlCdWZmZXJQcm9jcyAqdHBfYXNfYnVmZmVyOwogCiAgICAgLyogRmxhZ3MgdG8gZGVmaW5lIHByZXNlbmNlIG9mIG9wdGlvbmFsL2V4cGFuZGVkIGZlYXR1cmVzICovCi0gICAgbG9uZyB0cF9mbGFnczsKKyAgICB1bnNpZ25lZCBsb25nIHRwX2ZsYWdzOwogCiAgICAgY29uc3QgY2hhciAqdHBfZG9jOyAvKiBEb2N1bWVudGF0aW9uIHN0cmluZyAqLwogCkBAIC00MjgsNyArNDI4LDcgQEAKICAgICBjb25zdCBjaGFyKiBuYW1lOwogICAgIGludCBiYXNpY3NpemU7CiAgICAgaW50IGl0ZW1zaXplOwotICAgIGludCBmbGFnczsKKyAgICB1bnNpZ25lZCBpbnQgZmxhZ3M7CiAgICAgUHlUeXBlX1Nsb3QgKnNsb3RzOyAvKiB0ZXJtaW5hdGVkIGJ5IHNsb3Q9PTAuICovCiB9IFB5VHlwZV9TcGVjOwogCkBAIC00NzAsNyArNDcwLDcgQEAKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeUJhc2VPYmplY3RfVHlwZTsgLyogYnVpbHQtaW4gJ29iamVjdCcgKi8KIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeVN1cGVyX1R5cGU7IC8qIGJ1aWx0LWluICdzdXBlcicgKi8KIAotUHlBUElfRlVOQyhsb25nKSBQeVR5cGVfR2V0RmxhZ3MoUHlUeXBlT2JqZWN0Kik7CitQeUFQSV9GVU5DKHVuc2lnbmVkIGxvbmcpIFB5VHlwZV9HZXRGbGFncyhQeVR5cGVPYmplY3QqKTsKIAogI2RlZmluZSBQeVR5cGVfQ2hlY2sob3ApIFwKICAgICBQeVR5cGVfRmFzdFN1YmNsYXNzKFB5X1RZUEUob3ApLCBQeV9UUEZMQUdTX1RZUEVfU1VCQ0xBU1MpCkBAIC02MDMsNDQgKzYwMyw0MyBAQAogKi8KIAogLyogU2V0IGlmIHRoZSB0eXBlIG9iamVjdCBpcyBkeW5hbWljYWxseSBhbGxvY2F0ZWQgKi8KLSNkZWZpbmUgUHlfVFBGTEFHU19IRUFQVFlQRSAoMUw8PDkpCisjZGVmaW5lIFB5X1RQRkxBR1NfSEVBUFRZUEUgKDFVTCA8PCA5KQogCiAvKiBTZXQgaWYgdGhlIHR5cGUgYWxsb3dzIHN1YmNsYXNzaW5nICovCi0jZGVmaW5lIFB5X1RQRkxBR1NfQkFTRVRZUEUgKDFMPDwxMCkKKyNkZWZpbmUgUHlfVFBGTEFHU19CQVNFVFlQRSAoMVVMIDw8IDEwKQogCiAvKiBTZXQgaWYgdGhlIHR5cGUgaXMgJ3JlYWR5JyAtLSBmdWxseSBpbml0aWFsaXplZCAqLwotI2RlZmluZSBQeV9UUEZMQUdTX1JFQURZICgxTDw8MTIpCisjZGVmaW5lIFB5X1RQRkxBR1NfUkVBRFkgKDFVTCA8PCAxMikKIAogLyogU2V0IHdoaWxlIHRoZSB0eXBlIGlzIGJlaW5nICdyZWFkaWVkJywgdG8gcHJldmVudCByZWN1cnNpdmUgcmVhZHkgY2FsbHMgKi8KLSNkZWZpbmUgUHlfVFBGTEFHU19SRUFEWUlORyAoMUw8PDEzKQorI2RlZmluZSBQeV9UUEZMQUdTX1JFQURZSU5HICgxVUwgPDwgMTMpCiAKIC8qIE9iamVjdHMgc3VwcG9ydCBnYXJiYWdlIGNvbGxlY3Rpb24gKHNlZSBvYmppbXAuaCkgKi8KLSNkZWZpbmUgUHlfVFBGTEFHU19IQVZFX0dDICgxTDw8MTQpCisjZGVmaW5lIFB5X1RQRkxBR1NfSEFWRV9HQyAoMVVMIDw8IDE0KQogCiAvKiBUaGVzZSB0d28gYml0cyBhcmUgcHJlc2VydmVkIGZvciBTdGFja2xlc3MgUHl0aG9uLCBuZXh0IGFmdGVyIHRoaXMgaXMgMTcgKi8KICNpZmRlZiBTVEFDS0xFU1MKLSNkZWZpbmUgUHlfVFBGTEFHU19IQVZFX1NUQUNLTEVTU19FWFRFTlNJT04gKDNMPDwxNSkKKyNkZWZpbmUgUHlfVFBGTEFHU19IQVZFX1NUQUNLTEVTU19FWFRFTlNJT04gKDNVTCA8PCAxNSkKICNlbHNlCiAjZGVmaW5lIFB5X1RQRkxBR1NfSEFWRV9TVEFDS0xFU1NfRVhURU5TSU9OIDAKICNlbmRpZgogCiAvKiBPYmplY3RzIHN1cHBvcnQgdHlwZSBhdHRyaWJ1dGUgY2FjaGUgKi8KLSNkZWZpbmUgUHlfVFBGTEFHU19IQVZFX1ZFUlNJT05fVEFHICAgKDFMPDwxOCkKLSNkZWZpbmUgUHlfVFBGTEFHU19WQUxJRF9WRVJTSU9OX1RBRyAgKDFMPDwxOSkKKyNkZWZpbmUgUHlfVFBGTEFHU19IQVZFX1ZFUlNJT05fVEFHICAgKDFVTCA8PCAxOCkKKyNkZWZpbmUgUHlfVFBGTEFHU19WQUxJRF9WRVJTSU9OX1RBRyAgKDFVTCA8PCAxOSkKIAogLyogVHlwZSBpcyBhYnN0cmFjdCBhbmQgY2Fubm90IGJlIGluc3RhbnRpYXRlZCAqLwotI2RlZmluZSBQeV9UUEZMQUdTX0lTX0FCU1RSQUNUICgxTDw8MjApCisjZGVmaW5lIFB5X1RQRkxBR1NfSVNfQUJTVFJBQ1QgKDFVTCA8PCAyMCkKIAogLyogVGhlc2UgZmxhZ3MgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgdHlwZSBpcyBhIHN1YmNsYXNzLiAqLwotI2RlZmluZSBQeV9UUEZMQUdTX0lOVF9TVUJDTEFTUyAgICAgICAgICgxTDw8MjMpCi0jZGVmaW5lIFB5X1RQRkxBR1NfTE9OR19TVUJDTEFTUyAgICAgICAgKDFMPDwyNCkKLSNkZWZpbmUgUHlfVFBGTEFHU19MSVNUX1NVQkNMQVNTICAgICAgICAoMUw8PDI1KQotI2RlZmluZSBQeV9UUEZMQUdTX1RVUExFX1NVQkNMQVNTICAgICAgICgxTDw8MjYpCi0jZGVmaW5lIFB5X1RQRkxBR1NfQllURVNfU1VCQ0xBU1MgICAgICAgKDFMPDwyNykKLSNkZWZpbmUgUHlfVFBGTEFHU19VTklDT0RFX1NVQkNMQVNTICAgICAoMUw8PDI4KQotI2RlZmluZSBQeV9UUEZMQUdTX0RJQ1RfU1VCQ0xBU1MgICAgICAgICgxTDw8MjkpCi0jZGVmaW5lIFB5X1RQRkxBR1NfQkFTRV9FWENfU1VCQ0xBU1MgICAgKDFMPDwzMCkKLSNkZWZpbmUgUHlfVFBGTEFHU19UWVBFX1NVQkNMQVNTICAgICAgICAoMUw8PDMxKQorI2RlZmluZSBQeV9UUEZMQUdTX0xPTkdfU1VCQ0xBU1MgICAgICAgICgxVUwgPDwgMjQpCisjZGVmaW5lIFB5X1RQRkxBR1NfTElTVF9TVUJDTEFTUyAgICAgICAgKDFVTCA8PCAyNSkKKyNkZWZpbmUgUHlfVFBGTEFHU19UVVBMRV9TVUJDTEFTUyAgICAgICAoMVVMIDw8IDI2KQorI2RlZmluZSBQeV9UUEZMQUdTX0JZVEVTX1NVQkNMQVNTICAgICAgICgxVUwgPDwgMjcpCisjZGVmaW5lIFB5X1RQRkxBR1NfVU5JQ09ERV9TVUJDTEFTUyAgICAgKDFVTCA8PCAyOCkKKyNkZWZpbmUgUHlfVFBGTEFHU19ESUNUX1NVQkNMQVNTICAgICAgICAoMVVMIDw8IDI5KQorI2RlZmluZSBQeV9UUEZMQUdTX0JBU0VfRVhDX1NVQkNMQVNTICAgICgxVUwgPDwgMzApCisjZGVmaW5lIFB5X1RQRkxBR1NfVFlQRV9TVUJDTEFTUyAgICAgICAgKDFVTCA8PCAzMSkKIAogI2RlZmluZSBQeV9UUEZMQUdTX0RFRkFVTFQgICggXAogICAgICAgICAgICAgICAgICBQeV9UUEZMQUdTX0hBVkVfU1RBQ0tMRVNTX0VYVEVOU0lPTiB8IFwKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb2JqaW1wbC5oIGIvSW5jbHVkZS9vYmppbXBsLmgKaW5kZXggM2Q1ZjUwOS4uYjU3N2JlMiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9vYmppbXBsLmgKKysrIGIvSW5jbHVkZS9vYmppbXBsLmgKQEAgLTk4LDYgKzk4LDggQEAKIFB5QVBJX0ZVTkModm9pZCAqKSBQeU9iamVjdF9SZWFsbG9jKHZvaWQgKiwgc2l6ZV90KTsKIFB5QVBJX0ZVTkModm9pZCkgUHlPYmplY3RfRnJlZSh2b2lkICopOwogCisvKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBhbGxvY2F0ZWQgbWVtb3J5IGJsb2NrcywgcmVnYXJkbGVzcyBvZiBzaXplICovCitQeUFQSV9GVU5DKFB5X3NzaXplX3QpIF9QeV9HZXRBbGxvY2F0ZWRCbG9ja3Modm9pZCk7CiAKIC8qIE1hY3JvcyAqLwogI2lmZGVmIFdJVEhfUFlNQUxMT0MKQEAgLTI0OSw3ICsyNTEsNyBAQAogICAgICAgICB1bmlvbiBfZ2NfaGVhZCAqZ2NfcHJldjsKICAgICAgICAgUHlfc3NpemVfdCBnY19yZWZzOwogICAgIH0gZ2M7Ci0gICAgbG9uZyBkb3VibGUgZHVtbXk7ICAvKiBmb3JjZSB3b3JzdC1jYXNlIGFsaWdubWVudCAqLworICAgIGRvdWJsZSBkdW1teTsgIC8qIGZvcmNlIHdvcnN0LWNhc2UgYWxpZ25tZW50ICovCiB9IFB5R0NfSGVhZDsKIAogZXh0ZXJuIFB5R0NfSGVhZCAqX1B5R0NfZ2VuZXJhdGlvbjA7CmRpZmYgLS1naXQgYS9JbmNsdWRlL29zZGVmcy5oIGIvSW5jbHVkZS9vc2RlZnMuaAppbmRleCAwNWMwYzhlLi4wYzJlMzRiIDEwMDY0NAotLS0gYS9JbmNsdWRlL29zZGVmcy5oCisrKyBiL0luY2x1ZGUvb3NkZWZzLmgKQEAgLTksMTYgKzksMTAgQEAKIAogLyogTW9kIGJ5IGNocmlzaDogUU5YIGhhcyBXQVRDT00sIGJ1dCBpc24ndCBET1MgKi8KICNpZiAhZGVmaW5lZChfX1FOWF9fKQotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0JPUkxBTkRDX18pIHx8IGRlZmluZWQoX19XQVRDT01DX18pIHx8IGRlZmluZWQoX19ESkdQUF9fKSB8fCBkZWZpbmVkKFBZT1NfT1MyKQotI2lmIGRlZmluZWQoUFlPU19PUzIpICYmIGRlZmluZWQoUFlDQ19HQ0MpCi0jZGVmaW5lIE1BWFBBVEhMRU4gMjYwCi0jZGVmaW5lIFNFUCBMJy8nCi0jZGVmaW5lIEFMVFNFUCBMJ1xcJwotI2Vsc2UKKyNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpIHx8IGRlZmluZWQoX19CT1JMQU5EQ19fKSB8fCBkZWZpbmVkKF9fV0FUQ09NQ19fKSB8fCBkZWZpbmVkKF9fREpHUFBfXykKICNkZWZpbmUgU0VQIEwnXFwnCiAjZGVmaW5lIEFMVFNFUCBMJy8nCiAjZGVmaW5lIE1BWFBBVEhMRU4gMjU2Ci0jZW5kaWYKICNkZWZpbmUgREVMSU0gTCc7JwogI2VuZGlmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcGF0Y2hsZXZlbC5oIGIvSW5jbHVkZS9wYXRjaGxldmVsLmgKaW5kZXggMDlhNDg1OS4uYTc1OTA0NSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9wYXRjaGxldmVsLmgKKysrIGIvSW5jbHVkZS9wYXRjaGxldmVsLmgKQEAgLTE3LDEzICsxNywxMyBAQAogLyogVmVyc2lvbiBwYXJzZWQgb3V0IGludG8gbnVtZXJpYyB2YWx1ZXMgKi8KIC8qLS1zdGFydCBjb25zdGFudHMtLSovCiAjZGVmaW5lIFBZX01BSk9SX1ZFUlNJT04JMwotI2RlZmluZSBQWV9NSU5PUl9WRVJTSU9OCTMKLSNkZWZpbmUgUFlfTUlDUk9fVkVSU0lPTgkxCi0jZGVmaW5lIFBZX1JFTEVBU0VfTEVWRUwJUFlfUkVMRUFTRV9MRVZFTF9GSU5BTAorI2RlZmluZSBQWV9NSU5PUl9WRVJTSU9OCTQKKyNkZWZpbmUgUFlfTUlDUk9fVkVSU0lPTgkwCisjZGVmaW5lIFBZX1JFTEVBU0VfTEVWRUwJUFlfUkVMRUFTRV9MRVZFTF9BTFBIQQogI2RlZmluZSBQWV9SRUxFQVNFX1NFUklBTAkwCiAKIC8qIFZlcnNpb24gYXMgYSBzdHJpbmcgKi8KLSNkZWZpbmUgUFlfVkVSU0lPTiAgICAgIAkiMy4zLjErIgorI2RlZmluZSBQWV9WRVJTSU9OICAgICAgCSIzLjQuMGEwIgogLyotLWVuZCBjb25zdGFudHMtLSovCiAKIC8qIFZlcnNpb24gYXMgYSBzaW5nbGUgNC1ieXRlIGhleCBudW1iZXIsIGUuZy4gMHgwMTA1MDJCMiA9PSAxLjUuMmIyLgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXBvcnQuaCBiL0luY2x1ZGUvcHlwb3J0LmgKaW5kZXggZTRlMzYwMS4uMTdkOWY2ZCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXBvcnQuaAorKysgYi9JbmNsdWRlL3B5cG9ydC5oCkBAIC0zOTIsOSArMzkyLDYgQEAKICNlbmRpZgogCiAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNlbmRpZgogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjZWxpZiBkZWZpbmVkKEhBVkVfU1RBVF9IKQogI2luY2x1ZGUgPHN0YXQuaD4KQEAgLTg4MSw0ICs4NzgsMTggQEAKICNlbmRpZgogI2VuZGlmCiAKKy8qCisgKiBDb252ZW5pZW50IG1hY3JvcyB0byBkZWFsIHdpdGggZW5kaWFubmVzcyBvZiB0aGUgcGxhdGZvcm0uIFdPUkRTX0JJR0VORElBTiBpcworICogZGV0ZWN0ZWQgYnkgY29uZmlndXJlIGFuZCBkZWZpbmVkIGluIHB5Y29uZmlnLmguIFRoZSBjb2RlIGluIHB5Y29uZmlnLmgKKyAqIGFsc28gdGFrZXMgY2FyZSBvZiBBcHBsZSdzIHVuaXZlcnNhbCBidWlsZHMuCisgKi8KKworI2lmZGVmIFdPUkRTX0JJR0VORElBTgorI2RlZmluZSBQWV9CSUdfRU5ESUFOIDEKKyNkZWZpbmUgUFlfTElUVExFX0VORElBTiAwCisjZWxzZQorI2RlZmluZSBQWV9CSUdfRU5ESUFOIDAKKyNkZWZpbmUgUFlfTElUVExFX0VORElBTiAxCisjZW5kaWYKKwogI2VuZGlmIC8qIFB5X1BZUE9SVF9IICovCmRpZmYgLS1naXQgYS9JbmNsdWRlL3B5c3RhdGUuaCBiL0luY2x1ZGUvcHlzdGF0ZS5oCmluZGV4IDIwMTdiMDIuLmIyOWNlMmEgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcHlzdGF0ZS5oCisrKyBiL0luY2x1ZGUvcHlzdGF0ZS5oCkBAIC0yMTIsNiArMjEyLDExIEBACiAqLwogUHlBUElfRlVOQyhQeVRocmVhZFN0YXRlICopIFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlKHZvaWQpOwogCisvKiBIZWxwZXIvZGlhZ25vc3RpYyBmdW5jdGlvbiAtIHJldHVybiAxIGlmIHRoZSBjdXJyZW50IHRocmVhZAorICogY3VycmVudGx5IGhvbGRzIHRoZSBHSUwsIDAgb3RoZXJ3aXNlCisgKi8KK1B5QVBJX0ZVTkMoaW50KSBQeUdJTFN0YXRlX0NoZWNrKHZvaWQpOworCiAjZW5kaWYgICAvKiAjaWZkZWYgV0lUSF9USFJFQUQgKi8KIAogLyogVGhlIGltcGxlbWVudGF0aW9uIG9mIHN5cy5fY3VycmVudF9mcmFtZXMoKSAgUmV0dXJucyBhIGRpY3QgbWFwcGluZwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9zbGljZW9iamVjdC5oIGIvSW5jbHVkZS9zbGljZW9iamVjdC5oCmluZGV4IDhiZWMxNzkuLmY3ZWU5MGMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc2xpY2VvYmplY3QuaAorKysgYi9JbmNsdWRlL3NsaWNlb2JqZWN0LmgKQEAgLTM0LDYgKzM0LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCogc3RlcCk7CiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeVNsaWNlX0Zyb21JbmRpY2VzKFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3Qgc3RvcCk7CitQeUFQSV9GVU5DKGludCkgX1B5U2xpY2VfR2V0TG9uZ0luZGljZXMoUHlTbGljZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqc3RhcnRfcHRyLCBQeU9iamVjdCAqKnN0b3BfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipzdGVwX3B0cik7CiAjZW5kaWYKIFB5QVBJX0ZVTkMoaW50KSBQeVNsaWNlX0dldEluZGljZXMoUHlPYmplY3QgKnIsIFB5X3NzaXplX3QgbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKnN0YXJ0LCBQeV9zc2l6ZV90ICpzdG9wLCBQeV9zc2l6ZV90ICpzdGVwKTsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3ltdGFibGUuaCBiL0luY2x1ZGUvc3ltdGFibGUuaAppbmRleCA2ZWQzYTJiLi40ZDgyZjBjIDEwMDY0NAotLS0gYS9JbmNsdWRlL3N5bXRhYmxlLmgKKysrIGIvSW5jbHVkZS9zeW10YWJsZS5oCkBAIC00MSw2ICs0MSw3IEBACiAgICAgUHlPYmplY3QgKnN0ZV9uYW1lOyAgICAgIC8qIHN0cmluZzogbmFtZSBvZiBjdXJyZW50IGJsb2NrICovCiAgICAgUHlPYmplY3QgKnN0ZV92YXJuYW1lczsgIC8qIGxpc3Qgb2YgZnVuY3Rpb24gcGFyYW1ldGVycyAqLwogICAgIFB5T2JqZWN0ICpzdGVfY2hpbGRyZW47ICAvKiBsaXN0IG9mIGNoaWxkIGJsb2NrcyAqLworICAgIFB5T2JqZWN0ICpzdGVfZGlyZWN0aXZlczsvKiBsb2NhdGlvbnMgb2YgZ2xvYmFsIGFuZCBub25sb2NhbCBzdGF0ZW1lbnRzICovCiAgICAgX1B5X2Jsb2NrX3R5IHN0ZV90eXBlOyAgIC8qIG1vZHVsZSwgY2xhc3MsIG9yIGZ1bmN0aW9uICovCiAgICAgaW50IHN0ZV91bm9wdGltaXplZDsgICAgIC8qIGZhbHNlIGlmIG5hbWVzcGFjZSBpcyBvcHRpbWl6ZWQgKi8KICAgICBpbnQgc3RlX25lc3RlZDsgICAgICAvKiB0cnVlIGlmIGJsb2NrIGlzIG5lc3RlZCAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS90b2tlbi5oIGIvSW5jbHVkZS90b2tlbi5oCmluZGV4IGY3ZjY1MDQuLjkwNTAyMmIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvdG9rZW4uaAorKysgYi9JbmNsdWRlL3Rva2VuLmgKQEAgLTc1LDcgKzc1LDcgQEAKICNkZWZpbmUgSVNFT0YoeCkJCSgoeCkgPT0gRU5ETUFSS0VSKQogCiAKLVB5QVBJX0RBVEEoY2hhciAqKSBfUHlQYXJzZXJfVG9rZW5OYW1lc1tdOyAvKiBUb2tlbiBuYW1lcyAqLworUHlBUElfREFUQShjb25zdCBjaGFyICopIF9QeVBhcnNlcl9Ub2tlbk5hbWVzW107IC8qIFRva2VuIG5hbWVzICovCiBQeUFQSV9GVU5DKGludCkgUHlUb2tlbl9PbmVDaGFyKGludCk7CiBQeUFQSV9GVU5DKGludCkgUHlUb2tlbl9Ud29DaGFycyhpbnQsIGludCk7CiBQeUFQSV9GVU5DKGludCkgUHlUb2tlbl9UaHJlZUNoYXJzKGludCwgaW50LCBpbnQpOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmggYi9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAppbmRleCBhOGY1YjVkLi4yYWJjOWI0IDEwMDY0NAotLS0gYS9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaAorKysgYi9JbmNsdWRlL3VuaWNvZGVvYmplY3QuaApAQCAtMTgwLDkgKzE4MCw5IEBACiAgICAgfSB3aGlsZSAoMCkKIAogLyogbWFjcm9zIHRvIHdvcmsgd2l0aCBzdXJyb2dhdGVzICovCi0jZGVmaW5lIFB5X1VOSUNPREVfSVNfU1VSUk9HQVRFKGNoKSAoMHhEODAwIDw9IGNoICYmIGNoIDw9IDB4REZGRikKLSNkZWZpbmUgUHlfVU5JQ09ERV9JU19ISUdIX1NVUlJPR0FURShjaCkgKDB4RDgwMCA8PSBjaCAmJiBjaCA8PSAweERCRkYpCi0jZGVmaW5lIFB5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURShjaCkgKDB4REMwMCA8PSBjaCAmJiBjaCA8PSAweERGRkYpCisjZGVmaW5lIFB5X1VOSUNPREVfSVNfU1VSUk9HQVRFKGNoKSAoMHhEODAwIDw9IChjaCkgJiYgKGNoKSA8PSAweERGRkYpCisjZGVmaW5lIFB5X1VOSUNPREVfSVNfSElHSF9TVVJST0dBVEUoY2gpICgweEQ4MDAgPD0gKGNoKSAmJiAoY2gpIDw9IDB4REJGRikKKyNkZWZpbmUgUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFKGNoKSAoMHhEQzAwIDw9IChjaCkgJiYgKGNoKSA8PSAweERGRkYpCiAvKiBKb2luIHR3byBzdXJyb2dhdGUgY2hhcmFjdGVycyBhbmQgcmV0dXJuIGEgc2luZ2xlIFB5X1VDUzQgdmFsdWUuICovCiAjZGVmaW5lIFB5X1VOSUNPREVfSk9JTl9TVVJST0dBVEVTKGhpZ2gsIGxvdykgIFwKICAgICAoKCgoKFB5X1VDUzQpKGhpZ2gpICYgMHgwM0ZGKSA8PCAxMCkgfCAgICAgIFwKQEAgLTg5OCwyMiArODk4LDI4IEBACiAgICAgUHlfVUNTNCBtYXhjaGFyOwogICAgIFB5X3NzaXplX3Qgc2l6ZTsKICAgICBQeV9zc2l6ZV90IHBvczsKLSAgICAvKiBtaW5pbXVtIGxlbmd0aCBvZiB0aGUgYnVmZmVyIHdoZW4gb3ZlcmFsbG9jYXRpb24gaXMgZW5hYmxlZCwKLSAgICAgICBzZWUgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCkgKi8KKworICAgIC8qIG1pbmltdW0gbnVtYmVyIG9mIGFsbG9jYXRlZCBjaGFyYWN0ZXJzIChkZWZhdWx0OiAwKSAqLwogICAgIFB5X3NzaXplX3QgbWluX2xlbmd0aDsKKworICAgIC8qIG1pbmltdW0gY2hhcmFjdGVyIChkZWZhdWx0OiAxMjcsIEFTQ0lJKSAqLworICAgIFB5X1VDUzQgbWluX2NoYXI7CisKKyAgICAvKiBJZiBub24temVybywgb3ZlcmFsbG9jYXRlIHRoZSBidWZmZXIgYnkgMjUlIChkZWZhdWx0OiAwKS4gKi8KICAgICB1bnNpZ25lZCBjaGFyIG92ZXJhbGxvY2F0ZTsKKwogICAgIC8qIElmIHJlYWRvbmx5IGlzIDEsIGJ1ZmZlciBpcyBhIHNoYXJlZCBzdHJpbmcgKGNhbm5vdCBiZSBtb2RpZmllZCkKICAgICAgICBhbmQgc2l6ZSBpcyBzZXQgdG8gMC4gKi8KICAgICB1bnNpZ25lZCBjaGFyIHJlYWRvbmx5OwogfSBfUHlVbmljb2RlV3JpdGVyIDsKIAogLyogSW5pdGlhbGl6ZSBhIFVuaWNvZGUgd3JpdGVyLgotCi0gICBJZiBtaW5fbGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLCBfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUoKQotICAgb3ZlcmFsbG9jYXRlcyB0aGUgYnVmZmVyIGFuZCBtaW5fbGVuZ3RoIGlzIHRoZSBtaW5pbXVtIGxlbmd0aCBpbiBjaGFyYWN0ZXJzCi0gICBvZiB0aGUgYnVmZmVyLiAqLworICoKKyAqIEJ5IGRlZmF1bHQsIHRoZSBtaW5pbXVtIGJ1ZmZlciBzaXplIGlzIDAgY2hhcmFjdGVyIGFuZCBvdmVyYWxsb2NhdGlvbiBpcworICogZGlzYWJsZWQuIFNldCBtaW5fbGVuZ3RoLCBtaW5fY2hhciBhbmQgb3ZlcmFsbG9jYXRlIGF0dHJpYnV0ZXMgdG8gY29udHJvbAorICogdGhlIGFsbG9jYXRpb24gb2YgdGhlIGJ1ZmZlci4gKi8KIFB5QVBJX0ZVTkModm9pZCkKLV9QeVVuaWNvZGVXcml0ZXJfSW5pdChfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIsIFB5X3NzaXplX3QgbWluX2xlbmd0aCk7CitfUHlVbmljb2RlV3JpdGVyX0luaXQoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKTsKIAogLyogUHJlcGFyZSB0aGUgYnVmZmVyIHRvIHdyaXRlICdsZW5ndGgnIGNoYXJhY3RlcnMKICAgIHdpdGggdGhlIHNwZWNpZmllZCBtYXhpbXVtIGNoYXJhY3Rlci4KQEAgLTkzMywxMiArOTM5LDQ0IEBACiBfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmVJbnRlcm5hbChfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbmd0aCwgUHlfVUNTNCBtYXhjaGFyKTsKIAorLyogQXBwZW5kIGEgVW5pY29kZSBjaGFyYWN0ZXIuCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KIFB5QVBJX0ZVTkMoaW50KQotX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cihfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIsIFB5T2JqZWN0ICpzdHIpOworX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXIoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyLAorICAgIFB5X1VDUzQgY2gKKyAgICApOwogCisvKiBBcHBlbmQgYSBVbmljb2RlIHN0cmluZy4KKyAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIHJhaXNlIGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIC0xIG9uIGVycm9yLiAqLworUHlBUElfRlVOQyhpbnQpCitfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwKKyAgICBQeU9iamVjdCAqc3RyICAgICAgICAgICAgICAgLyogVW5pY29kZSBzdHJpbmcgKi8KKyAgICApOworCisvKiBBcHBlbmQgYSBzdWJzdHJpbmcgb2YgYSBVbmljb2RlIHN0cmluZy4KKyAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIHJhaXNlIGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIC0xIG9uIGVycm9yLiAqLworUHlBUElfRlVOQyhpbnQpCitfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3Vic3RyaW5nKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwKKyAgICBQeU9iamVjdCAqc3RyLCAgICAgICAgICAgICAgLyogVW5pY29kZSBzdHJpbmcgKi8KKyAgICBQeV9zc2l6ZV90IHN0YXJ0LAorICAgIFB5X3NzaXplX3QgZW5kCisgICAgKTsKKworLyogQXBwZW5kIGEgbGF0aW4xLWVuY29kZWQgYnl0ZSBzdHJpbmcuCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KK1B5QVBJX0ZVTkMoaW50KQorX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNzdHIoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyLAorICAgIGNvbnN0IGNoYXIgKnN0ciwgICAgICAgICAgICAvKiBsYXRpbjEtZW5jb2RlZCBieXRlIHN0cmluZyAqLworICAgIFB5X3NzaXplX3QgbGVuICAgICAgICAgICAgICAvKiBsZW5ndGggaW4gYnl0ZXMgKi8KKyAgICApOworCisvKiBHZXQgdGhlIHZhbHVlIG9mIHRoZSB3cml0ZXIgYXMgYW4gVW5pY29kZSBzdHJpbmcuIENsZWFyIHRoZQorICAgYnVmZmVyIG9mIHRoZSB3cml0ZXIuIFJhaXNlIGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIE5VTEwKKyAgIG9uIGVycm9yLiAqLwogUHlBUElfRlVOQyhQeU9iamVjdCAqKQogX1B5VW5pY29kZVdyaXRlcl9GaW5pc2goX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKTsKIAorLyogRGVhbGxvY2F0ZSBtZW1vcnkgb2YgYSB3cml0ZXIgKGNsZWFyIGl0cyBpbnRlcm5hbCBidWZmZXIpLiAqLwogUHlBUElfRlVOQyh2b2lkKQogX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlcik7CiAjZW5kaWYKQEAgLTE3MjYsNyArMTc2NCw3IEBACiAvKiBFbmNvZGUgYSBVbmljb2RlIG9iamVjdCB0byB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcuIFRoZSBlbmNvZGVyIGlzCiAgICBzdHJpY3QgaXMgKnN1cnJvZ2F0ZWVzY2FwZSogaXMgZXF1YWwgdG8gemVybywgb3RoZXJ3aXNlIHRoZQogICAgInN1cnJvZ2F0ZWVzY2FwZSIgZXJyb3IgaGFuZGxlciBpcyB1c2VkLiBSZXR1cm4gYSBieXRlcyBvYmplY3QuIFRoZSBzdHJpbmcKLSAgIGNhbm5vdCBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycy4uICovCisgICBjYW5ub3QgY29udGFpbiBlbWJlZGRlZCBudWxsIGNoYXJhY3RlcnMuICovCiAKIFB5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKAogICAgIFB5T2JqZWN0ICp1bmljb2RlLApAQCAtMTk1MCw3ICsxOTg4LDggQEAKICAgICApOwogCiAvKiBDb21wYXJlIHR3byBzdHJpbmdzIGFuZCByZXR1cm4gLTEsIDAsIDEgZm9yIGxlc3MgdGhhbiwgZXF1YWwsCi0gICBncmVhdGVyIHRoYW4gcmVzcC4gKi8KKyAgIGdyZWF0ZXIgdGhhbiByZXNwLgorICAgUmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCiAKIFB5QVBJX0ZVTkMoaW50KSBQeVVuaWNvZGVfQ29tcGFyZSgKICAgICBQeU9iamVjdCAqbGVmdCwgICAgICAgICAgICAgLyogTGVmdCBzdHJpbmcgKi8KZGlmZiAtLWdpdCBhL0xJQ0VOU0UgYi9MSUNFTlNFCmluZGV4IDZjYmQ5NjMuLmM5Y2I3MmMgMTAwNjQ0Ci0tLSBhL0xJQ0VOU0UKKysrIGIvTElDRU5TRQpAQCAtNzcsNiArNzcsNyBAQAogICAgIDMuMi40ICAgICAgICAgICAzLjIuMyAgICAgICAyMDEzICAgICAgICBQU0YgICAgICAgICB5ZXMKICAgICAzLjMuMCAgICAgICAgICAgMy4yICAgICAgICAgMjAxMiAgICAgICAgUFNGICAgICAgICAgeWVzCiAgICAgMy4zLjEgICAgICAgICAgIDMuMy4wICAgICAgIDIwMTMgICAgICAgIFBTRiAgICAgICAgIHllcworICAgIDMuNC4wICAgICAgICAgICAzLjMuMCAgICAgICAyMDE0ICAgICAgICBQU0YgICAgICAgICB5ZXMKIAogRm9vdG5vdGVzOgogCmRpZmYgLS1naXQgYS9MaWIvX29zeF9zdXBwb3J0LnB5IGIvTGliL19vc3hfc3VwcG9ydC5weQppbmRleCBiM2FhZDU2Li44NDEyZTQ1IDEwMDY0NAotLS0gYS9MaWIvX29zeF9zdXBwb3J0LnB5CisrKyBiL0xpYi9fb3N4X3N1cHBvcnQucHkKQEAgLTM4LDcgKzM4LDcgQEAKICAgICBwYXRocyA9IHBhdGguc3BsaXQob3MucGF0aHNlcCkKICAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KGV4ZWN1dGFibGUpCiAKLSAgICBpZiAoc3lzLnBsYXRmb3JtID09ICd3aW4zMicgb3Igb3MubmFtZSA9PSAnb3MyJykgYW5kIChleHQgIT0gJy5leGUnKToKKyAgICBpZiAoc3lzLnBsYXRmb3JtID09ICd3aW4zMicpIGFuZCAoZXh0ICE9ICcuZXhlJyk6CiAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlICsgJy5leGUnCiAKICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZXhlY3V0YWJsZSk6CkBAIC05NCw3ICs5NCw3IEBACiAgICAgICAgIF9TWVNURU1fVkVSU0lPTiA9ICcnCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBvcGVuKCcvU3lzdGVtL0xpYnJhcnkvQ29yZVNlcnZpY2VzL1N5c3RlbVZlcnNpb24ucGxpc3QnKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAjIFdlJ3JlIG9uIGEgcGxhaW4gZGFyd2luIGJveCwgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0CiAgICAgICAgICAgICAjIGJlaGF2aW91ci4KICAgICAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi9fcHlpby5weSBiL0xpYi9fcHlpby5weQppbmRleCBhYWI2MGRiLi4xMzdlYmNiIDEwMDY0NAotLS0gYS9MaWIvX3B5aW8ucHkKKysrIGIvTGliL19weWlvLnB5CkBAIC0zNCw3ICszNCw3IEBACiBkZWYgb3BlbihmaWxlLCBtb2RlPSJyIiwgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSwKICAgICAgICAgIG5ld2xpbmU9Tm9uZSwgY2xvc2VmZD1UcnVlLCBvcGVuZXI9Tm9uZSk6CiAKLSAgICByIiIiT3BlbiBmaWxlIGFuZCByZXR1cm4gYSBzdHJlYW0uICBSYWlzZSBJT0Vycm9yIHVwb24gZmFpbHVyZS4KKyAgICByIiIiT3BlbiBmaWxlIGFuZCByZXR1cm4gYSBzdHJlYW0uICBSYWlzZSBPU0Vycm9yIHVwb24gZmFpbHVyZS4KIAogICAgIGZpbGUgaXMgZWl0aGVyIGEgdGV4dCBvciBieXRlIHN0cmluZyBnaXZpbmcgdGhlIG5hbWUgKGFuZCB0aGUgcGF0aAogICAgIGlmIHRoZSBmaWxlIGlzbid0IGluIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5KSBvZiB0aGUgZmlsZSB0bwpAQCAtMjAwLDcgKzIwMCw3IEBACiAgICAgICAgIGJ1ZmZlcmluZyA9IERFRkFVTFRfQlVGRkVSX1NJWkUKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgYnMgPSBvcy5mc3RhdChyYXcuZmlsZW5vKCkpLnN0X2Jsa3NpemUKLSAgICAgICAgZXhjZXB0IChvcy5lcnJvciwgQXR0cmlidXRlRXJyb3IpOgorICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEF0dHJpYnV0ZUVycm9yKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlmIGJzID4gMToKQEAgLTI1NCw3ICsyNTQsNyBAQAogdHJ5OgogICAgIFVuc3VwcG9ydGVkT3BlcmF0aW9uID0gaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24KIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICBjbGFzcyBVbnN1cHBvcnRlZE9wZXJhdGlvbihWYWx1ZUVycm9yLCBJT0Vycm9yKToKKyAgICBjbGFzcyBVbnN1cHBvcnRlZE9wZXJhdGlvbihWYWx1ZUVycm9yLCBPU0Vycm9yKToKICAgICAgICAgcGFzcwogCiAKQEAgLTI3OCw3ICsyNzgsNyBAQAogICAgIHJlYWRpbnRvKSBuZWVkZWQuIFRleHQgSS9PIGNsYXNzZXMgd29yayB3aXRoIHN0ciBkYXRhLgogCiAgICAgTm90ZSB0aGF0IGNhbGxpbmcgYW55IG1ldGhvZCAoZXZlbiBpbnF1aXJpZXMpIG9uIGEgY2xvc2VkIHN0cmVhbSBpcwotICAgIHVuZGVmaW5lZC4gSW1wbGVtZW50YXRpb25zIG1heSByYWlzZSBJT0Vycm9yIGluIHRoaXMgY2FzZS4KKyAgICB1bmRlZmluZWQuIEltcGxlbWVudGF0aW9ucyBtYXkgcmFpc2UgT1NFcnJvciBpbiB0aGlzIGNhc2UuCiAKICAgICBJT0Jhc2UgKGFuZCBpdHMgc3ViY2xhc3Nlcykgc3VwcG9ydCB0aGUgaXRlcmF0b3IgcHJvdG9jb2wsIG1lYW5pbmcKICAgICB0aGF0IGFuIElPQmFzZSBvYmplY3QgY2FuIGJlIGl0ZXJhdGVkIG92ZXIgeWllbGRpbmcgdGhlIGxpbmVzIGluIGEKQEAgLTI5NCw3ICsyOTQsNyBAQAogICAgICMjIyBJbnRlcm5hbCAjIyMKIAogICAgIGRlZiBfdW5zdXBwb3J0ZWQoc2VsZiwgbmFtZSk6Ci0gICAgICAgICIiIkludGVybmFsOiByYWlzZSBhbiBJT0Vycm9yIGV4Y2VwdGlvbiBmb3IgdW5zdXBwb3J0ZWQgb3BlcmF0aW9ucy4iIiIKKyAgICAgICAgIiIiSW50ZXJuYWw6IHJhaXNlIGFuIE9TRXJyb3IgZXhjZXB0aW9uIGZvciB1bnN1cHBvcnRlZCBvcGVyYXRpb25zLiIiIgogICAgICAgICByYWlzZSBVbnN1cHBvcnRlZE9wZXJhdGlvbigiJXMuJXMoKSBub3Qgc3VwcG9ydGVkIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgbmFtZSkpCiAKQEAgLTQ0MSw3ICs0NDEsNyBAQAogICAgIGRlZiBmaWxlbm8oc2VsZik6CiAgICAgICAgICIiIlJldHVybnMgdW5kZXJseWluZyBmaWxlIGRlc2NyaXB0b3IgKGFuIGludCkgaWYgb25lIGV4aXN0cy4KIAotICAgICAgICBBbiBJT0Vycm9yIGlzIHJhaXNlZCBpZiB0aGUgSU8gb2JqZWN0IGRvZXMgbm90IHVzZSBhIGZpbGUgZGVzY3JpcHRvci4KKyAgICAgICAgQW4gT1NFcnJvciBpcyByYWlzZWQgaWYgdGhlIElPIG9iamVjdCBkb2VzIG5vdCB1c2UgYSBmaWxlIGRlc2NyaXB0b3IuCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl91bnN1cHBvcnRlZCgiZmlsZW5vIikKIApAQCAtNjk5LDEzICs2OTksMTMgQEAKICAgICBkZWYgc2VlayhzZWxmLCBwb3MsIHdoZW5jZT0wKToKICAgICAgICAgbmV3X3Bvc2l0aW9uID0gc2VsZi5yYXcuc2Vlayhwb3MsIHdoZW5jZSkKICAgICAgICAgaWYgbmV3X3Bvc2l0aW9uIDwgMDoKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoInNlZWsoKSByZXR1cm5lZCBhbiBpbnZhbGlkIHBvc2l0aW9uIikKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoInNlZWsoKSByZXR1cm5lZCBhbiBpbnZhbGlkIHBvc2l0aW9uIikKICAgICAgICAgcmV0dXJuIG5ld19wb3NpdGlvbgogCiAgICAgZGVmIHRlbGwoc2VsZik6CiAgICAgICAgIHBvcyA9IHNlbGYucmF3LnRlbGwoKQogICAgICAgICBpZiBwb3MgPCAwOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigidGVsbCgpIHJldHVybmVkIGFuIGludmFsaWQgcG9zaXRpb24iKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigidGVsbCgpIHJldHVybmVkIGFuIGludmFsaWQgcG9zaXRpb24iKQogICAgICAgICByZXR1cm4gcG9zCiAKICAgICBkZWYgdHJ1bmNhdGUoc2VsZiwgcG9zPU5vbmUpOgpAQCAtOTI3LDcgKzkyNyw3IEBACiAgICAgICAgICIiIkNyZWF0ZSBhIG5ldyBidWZmZXJlZCByZWFkZXIgdXNpbmcgdGhlIGdpdmVuIHJlYWRhYmxlIHJhdyBJTyBvYmplY3QuCiAgICAgICAgICIiIgogICAgICAgICBpZiBub3QgcmF3LnJlYWRhYmxlKCk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCcicmF3IiBhcmd1bWVudCBtdXN0IGJlIHJlYWRhYmxlLicpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCcicmF3IiBhcmd1bWVudCBtdXN0IGJlIHJlYWRhYmxlLicpCiAKICAgICAgICAgX0J1ZmZlcmVkSU9NaXhpbi5fX2luaXRfXyhzZWxmLCByYXcpCiAgICAgICAgIGlmIGJ1ZmZlcl9zaXplIDw9IDA6CkBAIC0xMDc0LDcgKzEwNzQsNyBAQAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJhdywgYnVmZmVyX3NpemU9REVGQVVMVF9CVUZGRVJfU0laRSk6CiAgICAgICAgIGlmIG5vdCByYXcud3JpdGFibGUoKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoJyJyYXciIGFyZ3VtZW50IG11c3QgYmUgd3JpdGFibGUuJykKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJyJyYXciIGFyZ3VtZW50IG11c3QgYmUgd3JpdGFibGUuJykKIAogICAgICAgICBfQnVmZmVyZWRJT01peGluLl9faW5pdF9fKHNlbGYsIHJhdykKICAgICAgICAgaWYgYnVmZmVyX3NpemUgPD0gMDoKQEAgLTExMzgsNyArMTEzOCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGVycm5vLkVBR0FJTiwKICAgICAgICAgICAgICAgICAgICAgIndyaXRlIGNvdWxkIG5vdCBjb21wbGV0ZSB3aXRob3V0IGJsb2NraW5nIiwgMCkKICAgICAgICAgICAgIGlmIG4gPiBsZW4oc2VsZi5fd3JpdGVfYnVmKSBvciBuIDwgMDoKLSAgICAgICAgICAgICAgICByYWlzZSBJT0Vycm9yKCJ3cml0ZSgpIHJldHVybmVkIGluY29ycmVjdCBudW1iZXIgb2YgYnl0ZXMiKQorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoIndyaXRlKCkgcmV0dXJuZWQgaW5jb3JyZWN0IG51bWJlciBvZiBieXRlcyIpCiAgICAgICAgICAgICBkZWwgc2VsZi5fd3JpdGVfYnVmWzpuXQogCiAgICAgZGVmIHRlbGwoc2VsZik6CkBAIC0xMTc0LDEwICsxMTc0LDEwIEBACiAgICAgICAgIFRoZSBhcmd1bWVudHMgYXJlIHR3byBSYXdJTyBpbnN0YW5jZXMuCiAgICAgICAgICIiIgogICAgICAgICBpZiBub3QgcmVhZGVyLnJlYWRhYmxlKCk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCcicmVhZGVyIiBhcmd1bWVudCBtdXN0IGJlIHJlYWRhYmxlLicpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCcicmVhZGVyIiBhcmd1bWVudCBtdXN0IGJlIHJlYWRhYmxlLicpCiAKICAgICAgICAgaWYgbm90IHdyaXRlci53cml0YWJsZSgpOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignIndyaXRlciIgYXJndW1lbnQgbXVzdCBiZSB3cml0YWJsZS4nKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignIndyaXRlciIgYXJndW1lbnQgbXVzdCBiZSB3cml0YWJsZS4nKQogCiAgICAgICAgIHNlbGYucmVhZGVyID0gQnVmZmVyZWRSZWFkZXIocmVhZGVyLCBidWZmZXJfc2l6ZSkKICAgICAgICAgc2VsZi53cml0ZXIgPSBCdWZmZXJlZFdyaXRlcih3cml0ZXIsIGJ1ZmZlcl9zaXplKQpAQCAtMTI0OCw3ICsxMjQ4LDcgQEAKICAgICAgICAgd2l0aCBzZWxmLl9yZWFkX2xvY2s6CiAgICAgICAgICAgICBzZWxmLl9yZXNldF9yZWFkX2J1ZigpCiAgICAgICAgIGlmIHBvcyA8IDA6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCJzZWVrKCkgcmV0dXJuZWQgaW52YWxpZCBwb3NpdGlvbiIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJzZWVrKCkgcmV0dXJuZWQgaW52YWxpZCBwb3NpdGlvbiIpCiAgICAgICAgIHJldHVybiBwb3MKIAogICAgIGRlZiB0ZWxsKHNlbGYpOgpAQCAtMTcyNyw3ICsxNzI3LDcgQEAKICAgICAgICAgaWYgbm90IHNlbGYuX3NlZWthYmxlOgogICAgICAgICAgICAgcmFpc2UgVW5zdXBwb3J0ZWRPcGVyYXRpb24oInVuZGVybHlpbmcgc3RyZWFtIGlzIG5vdCBzZWVrYWJsZSIpCiAgICAgICAgIGlmIG5vdCBzZWxmLl90ZWxsaW5nOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigidGVsbGluZyBwb3NpdGlvbiBkaXNhYmxlZCBieSBuZXh0KCkgY2FsbCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJ0ZWxsaW5nIHBvc2l0aW9uIGRpc2FibGVkIGJ5IG5leHQoKSBjYWxsIikKICAgICAgICAgc2VsZi5mbHVzaCgpCiAgICAgICAgIHBvc2l0aW9uID0gc2VsZi5idWZmZXIudGVsbCgpCiAgICAgICAgIGRlY29kZXIgPSBzZWxmLl9kZWNvZGVyCkBAIC0xODE0LDcgKzE4MTQsNyBAQAogICAgICAgICAgICAgICAgIGNoYXJzX2RlY29kZWQgKz0gbGVuKGRlY29kZXIuZGVjb2RlKGInJywgZmluYWw9VHJ1ZSkpCiAgICAgICAgICAgICAgICAgbmVlZF9lb2YgPSAxCiAgICAgICAgICAgICAgICAgaWYgY2hhcnNfZGVjb2RlZCA8IGNoYXJzX3RvX3NraXA6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImNhbid0IHJlY29uc3RydWN0IGxvZ2ljYWwgZmlsZSBwb3NpdGlvbiIpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoImNhbid0IHJlY29uc3RydWN0IGxvZ2ljYWwgZmlsZSBwb3NpdGlvbiIpCiAKICAgICAgICAgICAgICMgVGhlIHJldHVybmVkIGNvb2tpZSBjb3JyZXNwb25kcyB0byB0aGUgbGFzdCBzYWZlIHN0YXJ0IHBvaW50LgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhY2tfY29va2llKApAQCAtMTg5MSw3ICsxODkxLDcgQEAKIAogICAgICAgICAgICAgIyBTa2lwIGNoYXJzX3RvX3NraXAgb2YgdGhlIGRlY29kZWQgY2hhcmFjdGVycy4KICAgICAgICAgICAgIGlmIGxlbihzZWxmLl9kZWNvZGVkX2NoYXJzKSA8IGNoYXJzX3RvX3NraXA6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiY2FuJ3QgcmVzdG9yZSBsb2dpY2FsIGZpbGUgcG9zaXRpb24iKQorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoImNhbid0IHJlc3RvcmUgbG9naWNhbCBmaWxlIHBvc2l0aW9uIikKICAgICAgICAgICAgIHNlbGYuX2RlY29kZWRfY2hhcnNfdXNlZCA9IGNoYXJzX3RvX3NraXAKIAogICAgICAgICAjIEZpbmFsbHksIHJlc2V0IHRoZSBlbmNvZGVyIChtZXJlbHkgdXNlZnVsIGZvciBwcm9wZXIgQk9NIGhhbmRsaW5nKQpAQCAtMjA1NCw3ICsyMDU0LDYgQEAKICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGluaXRpYWxfdmFsdWUsIHN0cik6CiAgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJpbml0aWFsX3ZhbHVlIG11c3QgYmUgc3RyIG9yIE5vbmUsIG5vdCB7MH0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQodHlwZShpbml0aWFsX3ZhbHVlKS5fX25hbWVfXykpCi0gICAgICAgICAgICAgICAgaW5pdGlhbF92YWx1ZSA9IHN0cihpbml0aWFsX3ZhbHVlKQogICAgICAgICAgICAgc2VsZi53cml0ZShpbml0aWFsX3ZhbHVlKQogICAgICAgICAgICAgc2VsZi5zZWVrKDApCiAKZGlmZiAtLWdpdCBhL0xpYi9fc3RycHRpbWUucHkgYi9MaWIvX3N0cnB0aW1lLnB5CmluZGV4IGIwODliMDguLjc1MjA5MTkgMTAwNjQ0Ci0tLSBhL0xpYi9fc3RycHRpbWUucHkKKysrIGIvTGliL19zdHJwdGltZS5weQpAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgIHRpbWV6b25lIGFzIGRhdGV0aW1lX3RpbWV6b25lKQogdHJ5OgogICAgIGZyb20gX3RocmVhZCBpbXBvcnQgYWxsb2NhdGVfbG9jayBhcyBfdGhyZWFkX2FsbG9jYXRlX2xvY2sKLWV4Y2VwdDoKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBmcm9tIF9kdW1teV90aHJlYWQgaW1wb3J0IGFsbG9jYXRlX2xvY2sgYXMgX3RocmVhZF9hbGxvY2F0ZV9sb2NrCiAKIF9fYWxsX18gPSBbXQpkaWZmIC0tZ2l0IGEvTGliL2FiYy5weSBiL0xpYi9hYmMucHkKaW5kZXggMDk3NzhlOC4uZTgwNzg5NSAxMDA2NDQKLS0tIGEvTGliL2FiYy5weQorKysgYi9MaWIvYWJjLnB5CkBAIC0yMjYsMyArMjI2LDkgQEAKICAgICAgICAgIyBObyBkaWNlOyB1cGRhdGUgbmVnYXRpdmUgY2FjaGUKICAgICAgICAgY2xzLl9hYmNfbmVnYXRpdmVfY2FjaGUuYWRkKHN1YmNsYXNzKQogICAgICAgICByZXR1cm4gRmFsc2UKKworY2xhc3MgQUJDKG1ldGFjbGFzcz1BQkNNZXRhKToKKyAgICAiIiJIZWxwZXIgY2xhc3MgdGhhdCBwcm92aWRlcyBhIHN0YW5kYXJkIHdheSB0byBjcmVhdGUgYW4gQUJDIHVzaW5nCisgICAgaW5oZXJpdGFuY2UuCisgICAgIiIiCisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGliL2FpZmMucHkgYi9MaWIvYWlmYy5weQppbmRleCBhMTliMzhmLi42N2VhNWRhIDEwMDY0NAotLS0gYS9MaWIvYWlmYy5weQorKysgYi9MaWIvYWlmYy5weQpAQCAtMzM0LDYgKzMzNCwxMiBAQAogICAgICAgICAjIGVsc2UsIGFzc3VtZSBpdCBpcyBhbiBvcGVuIGZpbGUgb2JqZWN0IGFscmVhZHkKICAgICAgICAgc2VsZi5pbml0ZnAoZikKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBzZWxmLmNsb3NlKCkKKwogICAgICMKICAgICAjIFVzZXIgdmlzaWJsZSBtZXRob2RzLgogICAgICMKQEAgLTU1Myw2ICs1NTksMTIgQEAKICAgICBkZWYgX19kZWxfXyhzZWxmKToKICAgICAgICAgc2VsZi5jbG9zZSgpCiAKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKKyAgICAgICAgc2VsZi5jbG9zZSgpCisKICAgICAjCiAgICAgIyBVc2VyIHZpc2libGUgbWV0aG9kcy4KICAgICAjCmRpZmYgLS1naXQgYS9MaWIvYXJncGFyc2UucHkgYi9MaWIvYXJncGFyc2UucHkKaW5kZXggZjI1YjFiNi4uNWZmNzU1YyAxMDA2NDQKLS0tIGEvTGliL2FyZ3BhcnNlLnB5CisrKyBiL0xpYi9hcmdwYXJzZS5weQpAQCAtNjA2LDggKzYwNiw3IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLl9pbmRlbnQoKQotICAgICAgICAgICAgZm9yIHN1YmFjdGlvbiBpbiBnZXRfc3ViYWN0aW9ucygpOgotICAgICAgICAgICAgICAgIHlpZWxkIHN1YmFjdGlvbgorICAgICAgICAgICAgeWllbGQgZnJvbSBnZXRfc3ViYWN0aW9ucygpCiAgICAgICAgICAgICBzZWxmLl9kZWRlbnQoKQogCiAgICAgZGVmIF9zcGxpdF9saW5lcyhzZWxmLCB0ZXh0LCB3aWR0aCk6CkBAIC0xMTQxLDExICsxMTQwLDE3IEBACiAgICAgICAgICAgICBzYW1lIHZhbHVlcyBhcyB0aGUgYnVpbHRpbiBvcGVuKCkgZnVuY3Rpb24uCiAgICAgICAgIC0gYnVmc2l6ZSAtLSBUaGUgZmlsZSdzIGRlc2lyZWQgYnVmZmVyIHNpemUuIEFjY2VwdHMgdGhlIHNhbWUgdmFsdWVzIGFzCiAgICAgICAgICAgICB0aGUgYnVpbHRpbiBvcGVuKCkgZnVuY3Rpb24uCisgICAgICAgIC0gZW5jb2RpbmcgLS0gVGhlIGZpbGUncyBlbmNvZGluZy4gQWNjZXB0cyB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlCisgICAgICAgICAgICBidWlsdGluIG9wZW4oKSBmdW5jdGlvbi4KKyAgICAgICAgLSBlcnJvcnMgLS0gQSBzdHJpbmcgaW5kaWNhdGluZyBob3cgZW5jb2RpbmcgYW5kIGRlY29kaW5nIGVycm9ycyBhcmUgdG8KKyAgICAgICAgICAgIGJlIGhhbmRsZWQuIEFjY2VwdHMgdGhlIHNhbWUgdmFsdWUgYXMgdGhlIGJ1aWx0aW4gb3BlbigpIGZ1bmN0aW9uLgogICAgICIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG1vZGU9J3InLCBidWZzaXplPS0xKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbW9kZT0ncicsIGJ1ZnNpemU9LTEsIGVuY29kaW5nPU5vbmUsIGVycm9ycz1Ob25lKToKICAgICAgICAgc2VsZi5fbW9kZSA9IG1vZGUKICAgICAgICAgc2VsZi5fYnVmc2l6ZSA9IGJ1ZnNpemUKKyAgICAgICAgc2VsZi5fZW5jb2RpbmcgPSBlbmNvZGluZworICAgICAgICBzZWxmLl9lcnJvcnMgPSBlcnJvcnMKIAogICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBzdHJpbmcpOgogICAgICAgICAjIHRoZSBzcGVjaWFsIGFyZ3VtZW50ICItIiBtZWFucyBzeXMuc3Rke2luLG91dH0KQEAgLTExNjAsMTQgKzExNjUsMTggQEAKIAogICAgICAgICAjIGFsbCBvdGhlciBhcmd1bWVudHMgYXJlIHVzZWQgYXMgZmlsZSBuYW1lcwogICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gb3BlbihzdHJpbmcsIHNlbGYuX21vZGUsIHNlbGYuX2J1ZnNpemUpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgICAgICByZXR1cm4gb3BlbihzdHJpbmcsIHNlbGYuX21vZGUsIHNlbGYuX2J1ZnNpemUsIHNlbGYuX2VuY29kaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZXJyb3JzKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgbWVzc2FnZSA9IF8oImNhbid0IG9wZW4gJyVzJzogJXMiKQogICAgICAgICAgICAgcmFpc2UgQXJndW1lbnRUeXBlRXJyb3IobWVzc2FnZSAlIChzdHJpbmcsIGUpKQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICBhcmdzID0gc2VsZi5fbW9kZSwgc2VsZi5fYnVmc2l6ZQotICAgICAgICBhcmdzX3N0ciA9ICcsICcuam9pbihyZXByKGFyZykgZm9yIGFyZyBpbiBhcmdzIGlmIGFyZyAhPSAtMSkKKyAgICAgICAga3dhcmdzID0gWygnZW5jb2RpbmcnLCBzZWxmLl9lbmNvZGluZyksICgnZXJyb3JzJywgc2VsZi5fZXJyb3JzKV0KKyAgICAgICAgYXJnc19zdHIgPSAnLCAnLmpvaW4oW3JlcHIoYXJnKSBmb3IgYXJnIGluIGFyZ3MgaWYgYXJnICE9IC0xXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnJXM9JXInICUgKGt3LCBhcmcpIGZvciBrdywgYXJnIGluIGt3YXJncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgYXJnIGlzIG5vdCBOb25lXSkKICAgICAgICAgcmV0dXJuICclcyglcyknICUgKHR5cGUoc2VsZikuX19uYW1lX18sIGFyZ3Nfc3RyKQogCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMjAwMSwxNyArMjAxMCwxNCBAQAogICAgICAgICAgICAgIyByZXBsYWNlIGFyZ3VtZW50cyByZWZlcmVuY2luZyBmaWxlcyB3aXRoIHRoZSBmaWxlIGNvbnRlbnQKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBhcmdzX2ZpbGUgPSBvcGVuKGFyZ19zdHJpbmdbMTpdKQotICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3Blbihhcmdfc3RyaW5nWzE6XSkgYXMgYXJnc19maWxlOgogICAgICAgICAgICAgICAgICAgICAgICAgYXJnX3N0cmluZ3MgPSBbXQogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFyZ19saW5lIGluIGFyZ3NfZmlsZS5yZWFkKCkuc3BsaXRsaW5lcygpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBhcmcgaW4gc2VsZi5jb252ZXJ0X2FyZ19saW5lX3RvX2FyZ3MoYXJnX2xpbmUpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdfc3RyaW5ncy5hcHBlbmQoYXJnKQogICAgICAgICAgICAgICAgICAgICAgICAgYXJnX3N0cmluZ3MgPSBzZWxmLl9yZWFkX2FyZ3NfZnJvbV9maWxlcyhhcmdfc3RyaW5ncykKICAgICAgICAgICAgICAgICAgICAgICAgIG5ld19hcmdfc3RyaW5ncy5leHRlbmQoYXJnX3N0cmluZ3MpCi0gICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBhcmdzX2ZpbGUuY2xvc2UoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBlcnIgPSBfc3lzLmV4Y19pbmZvKClbMV0KICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcihzdHIoZXJyKSkKIApkaWZmIC0tZ2l0IGEvTGliL2FzdC5weSBiL0xpYi9hc3QucHkKaW5kZXggMTNmNTlmOS4uMDJjM2IyOCAxMDA2NDQKLS0tIGEvTGliL2FzdC5weQorKysgYi9MaWIvYXN0LnB5CkBAIC00Miw3ICs0Miw2IEBACiAgICAgUHl0aG9uIGxpdGVyYWwgc3RydWN0dXJlczogc3RyaW5ncywgYnl0ZXMsIG51bWJlcnMsIHR1cGxlcywgbGlzdHMsIGRpY3RzLAogICAgIHNldHMsIGJvb2xlYW5zLCBhbmQgTm9uZS4KICAgICAiIiIKLSAgICBfc2FmZV9uYW1lcyA9IHsnTm9uZSc6IE5vbmUsICdUcnVlJzogVHJ1ZSwgJ0ZhbHNlJzogRmFsc2V9CiAgICAgaWYgaXNpbnN0YW5jZShub2RlX29yX3N0cmluZywgc3RyKToKICAgICAgICAgbm9kZV9vcl9zdHJpbmcgPSBwYXJzZShub2RlX29yX3N0cmluZywgbW9kZT0nZXZhbCcpCiAgICAgaWYgaXNpbnN0YW5jZShub2RlX29yX3N0cmluZywgRXhwcmVzc2lvbik6CkBAIC02MSw5ICs2MCw4IEBACiAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShub2RlLCBEaWN0KToKICAgICAgICAgICAgIHJldHVybiBkaWN0KChfY29udmVydChrKSwgX2NvbnZlcnQodikpIGZvciBrLCB2CiAgICAgICAgICAgICAgICAgICAgICAgICBpbiB6aXAobm9kZS5rZXlzLCBub2RlLnZhbHVlcykpCi0gICAgICAgIGVsaWYgaXNpbnN0YW5jZShub2RlLCBOYW1lKToKLSAgICAgICAgICAgIGlmIG5vZGUuaWQgaW4gX3NhZmVfbmFtZXM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIF9zYWZlX25hbWVzW25vZGUuaWRdCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShub2RlLCBOYW1lQ29uc3RhbnQpOgorICAgICAgICAgICAgcmV0dXJuIG5vZGUudmFsdWUKICAgICAgICAgZWxpZiBpc2luc3RhbmNlKG5vZGUsIFVuYXJ5T3ApIGFuZCBcCiAgICAgICAgICAgICAgaXNpbnN0YW5jZShub2RlLm9wLCAoVUFkZCwgVVN1YikpIGFuZCBcCiAgICAgICAgICAgICAgaXNpbnN0YW5jZShub2RlLm9wZXJhbmQsIChOdW0sIFVuYXJ5T3AsIEJpbk9wKSk6CmRpZmYgLS1naXQgYS9MaWIvYXN5bmNoYXQucHkgYi9MaWIvYXN5bmNoYXQucHkKaW5kZXggNGUyNmJiNS4uZjA1NWQ2MyAxMDA2NDQKLS0tIGEvTGliL2FzeW5jaGF0LnB5CisrKyBiL0xpYi9hc3luY2hhdC5weQpAQCAtNTYsOCArNTYsOCBAQAogCiAgICAgIyB0aGVzZSBhcmUgb3ZlcnJpZGFibGUgZGVmYXVsdHMKIAotICAgIGFjX2luX2J1ZmZlcl9zaXplICAgICAgID0gNDA5NgotICAgIGFjX291dF9idWZmZXJfc2l6ZSAgICAgID0gNDA5NgorICAgIGFjX2luX2J1ZmZlcl9zaXplICAgICAgID0gNjU1MzYKKyAgICBhY19vdXRfYnVmZmVyX3NpemUgICAgICA9IDY1NTM2CiAKICAgICAjIHdlIGRvbid0IHdhbnQgdG8gZW5hYmxlIHRoZSB1c2Ugb2YgZW5jb2RpbmcgYnkgZGVmYXVsdCwgYmVjYXVzZSB0aGF0IGlzIGEKICAgICAjIHNpZ24gb2YgYW4gYXBwbGljYXRpb24gYnVnIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBwYXNzIHNpbGVudGx5CkBAIC0xMTQsNyArMTE0LDcgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBkYXRhID0gc2VsZi5yZWN2IChzZWxmLmFjX2luX2J1ZmZlcl9zaXplKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIHdoeToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgogICAgICAgICAgICAgc2VsZi5oYW5kbGVfZXJyb3IoKQogICAgICAgICAgICAgcmV0dXJuCiAKQEAgLTI0Myw3ICsyNDMsNyBAQAogICAgICAgICAgICAgIyBzZW5kIHRoZSBkYXRhCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgbnVtX3NlbnQgPSBzZWxmLnNlbmQoZGF0YSkKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZV9lcnJvcigpCiAgICAgICAgICAgICAgICAgcmV0dXJuCiAKZGlmZiAtLWdpdCBhL0xpYi9hc3luY29yZS5weSBiL0xpYi9hc3luY29yZS5weQppbmRleCA5MDlkOWY2Li43NTQ4MWRkIDEwMDY0NAotLS0gYS9MaWIvYXN5bmNvcmUucHkKKysrIGIvTGliL2FzeW5jb3JlLnB5CkBAIC0xMTIsNyArMTEyLDcgQEAKICAgICAgICAgICAgIG9iai5oYW5kbGVfZXhwdF9ldmVudCgpCiAgICAgICAgIGlmIGZsYWdzICYgKHNlbGVjdC5QT0xMSFVQIHwgc2VsZWN0LlBPTExFUlIgfCBzZWxlY3QuUE9MTE5WQUwpOgogICAgICAgICAgICAgb2JqLmhhbmRsZV9jbG9zZSgpCi0gICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgIGlmIGUuYXJnc1swXSBub3QgaW4gX0RJU0NPTk5FQ1RFRDoKICAgICAgICAgICAgIG9iai5oYW5kbGVfZXJyb3IoKQogICAgICAgICBlbHNlOgpAQCAtMjQwLDcgKzI0MCw3IEBACiAgICAgICAgICAgICAjIHBhc3NlZCBiZSBjb25uZWN0ZWQuCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5hZGRyID0gc29jay5nZXRwZWVybmFtZSgpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICBpZiBlcnIuYXJnc1swXSBpbiAoRU5PVENPTk4sIEVJTlZBTCk6CiAgICAgICAgICAgICAgICAgICAgICMgVG8gaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGdvdCBhbiB1bmNvbm5lY3RlZAogICAgICAgICAgICAgICAgICAgICAjIHNvY2tldC4KQEAgLTMwNCw3ICszMDQsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuc29ja2V0LmdldHNvY2tvcHQoc29ja2V0LlNPTF9TT0NLRVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU09fUkVVU0VBRERSKSB8IDEKICAgICAgICAgICAgICAgICApCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMzQ1LDcgKzM0NSw3IEBACiAgICAgICAgICAgICBzZWxmLmFkZHIgPSBhZGRyZXNzCiAgICAgICAgICAgICBzZWxmLmhhbmRsZV9jb25uZWN0X2V2ZW50KCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIHNvY2tldC5lcnJvcihlcnIsIGVycm9yY29kZVtlcnJdKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihlcnIsIGVycm9yY29kZVtlcnJdKQogCiAgICAgZGVmIGFjY2VwdChzZWxmKToKICAgICAgICAgIyBYWFggY2FuIHJldHVybiBlaXRoZXIgYW4gYWRkcmVzcyBwYWlyIG9yIE5vbmUKQEAgLTM1Myw3ICszNTMsNyBAQAogICAgICAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc29ja2V0LmFjY2VwdCgpCiAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIHdoeToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgogICAgICAgICAgICAgaWYgd2h5LmFyZ3NbMF0gaW4gKEVXT1VMREJMT0NLLCBFQ09OTkFCT1JURUQsIEVBR0FJTik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgIGVsc2U6CkBAIC0zNjUsNyArMzY1LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5zb2NrZXQuc2VuZChkYXRhKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIHdoeToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgogICAgICAgICAgICAgaWYgd2h5LmFyZ3NbMF0gPT0gRVdPVUxEQkxPQ0s6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICAgICAgIGVsaWYgd2h5LmFyZ3NbMF0gaW4gX0RJU0NPTk5FQ1RFRDoKQEAgLTM4NCw3ICszODQsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBiJycKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyB3aHk6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIHdoeToKICAgICAgICAgICAgICMgd2luc29jayBzb21ldGltZXMgcmFpc2VzIEVOT1RDT05OCiAgICAgICAgICAgICBpZiB3aHkuYXJnc1swXSBpbiBfRElTQ09OTkVDVEVEOgogICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlX2Nsb3NlKCkKQEAgLTM5NywxMSArMzk3LDEyIEBACiAgICAgICAgIHNlbGYuYWNjZXB0aW5nID0gRmFsc2UKICAgICAgICAgc2VsZi5jb25uZWN0aW5nID0gRmFsc2UKICAgICAgICAgc2VsZi5kZWxfY2hhbm5lbCgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuc29ja2V0LmNsb3NlKCkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyB3aHk6Ci0gICAgICAgICAgICBpZiB3aHkuYXJnc1swXSBub3QgaW4gKEVOT1RDT05OLCBFQkFERik6Ci0gICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgaWYgc2VsZi5zb2NrZXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuY2xvc2UoKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgorICAgICAgICAgICAgICAgIGlmIHdoeS5hcmdzWzBdIG5vdCBpbiAoRU5PVENPTk4sIEVCQURGKToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKIAogICAgICMgY2hlYXAgaW5oZXJpdGFuY2UsIHVzZWQgdG8gcGFzcyBhbGwgb3RoZXIgYXR0cmlidXRlCiAgICAgIyByZWZlcmVuY2VzIHRvIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBvYmplY3QuCkBAIC00NDMsNyArNDQ0LDcgQEAKICAgICBkZWYgaGFuZGxlX2Nvbm5lY3RfZXZlbnQoc2VsZik6CiAgICAgICAgIGVyciA9IHNlbGYuc29ja2V0LmdldHNvY2tvcHQoc29ja2V0LlNPTF9TT0NLRVQsIHNvY2tldC5TT19FUlJPUikKICAgICAgICAgaWYgZXJyICE9IDA6Ci0gICAgICAgICAgICByYWlzZSBzb2NrZXQuZXJyb3IoZXJyLCBfc3RyZXJyb3IoZXJyKSkKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJyLCBfc3RyZXJyb3IoZXJyKSkKICAgICAgICAgc2VsZi5oYW5kbGVfY29ubmVjdCgpCiAgICAgICAgIHNlbGYuY29ubmVjdGVkID0gVHJ1ZQogICAgICAgICBzZWxmLmNvbm5lY3RpbmcgPSBGYWxzZQpAQCAtNTMyLDcgKzUzMyw3IEBACiAKICAgICBkZWYgaW5pdGlhdGVfc2VuZChzZWxmKToKICAgICAgICAgbnVtX3NlbnQgPSAwCi0gICAgICAgIG51bV9zZW50ID0gZGlzcGF0Y2hlci5zZW5kKHNlbGYsIHNlbGYub3V0X2J1ZmZlcls6NTEyXSkKKyAgICAgICAgbnVtX3NlbnQgPSBkaXNwYXRjaGVyLnNlbmQoc2VsZiwgc2VsZi5vdXRfYnVmZmVyWzo2NTUzNl0pCiAgICAgICAgIHNlbGYub3V0X2J1ZmZlciA9IHNlbGYub3V0X2J1ZmZlcltudW1fc2VudDpdCiAKICAgICBkZWYgaGFuZGxlX3dyaXRlKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL2J6Mi5weSBiL0xpYi9iejIucHkKaW5kZXggYzMwNzUwNy4uNmU2YTJiOSAxMDA2NDQKLS0tIGEvTGliL2J6Mi5weQorKysgYi9MaWIvYnoyLnB5CkBAIC05LDcgKzksNiBAQAogCiBfX2F1dGhvcl9fID0gIk5hZGVlbSBWYXdkYSA8bmFkZWVtLnZhd2RhQGdtYWlsLmNvbT4iCiAKLWltcG9ydCBidWlsdGlucwogaW1wb3J0IGlvCiBpbXBvcnQgd2FybmluZ3MKIApAQCAtMjgsNiArMjcsOCBAQAogCiBfQlVGRkVSX1NJWkUgPSA4MTkyCiAKK19idWlsdGluX29wZW4gPSBvcGVuCisKIAogY2xhc3MgQloyRmlsZShpby5CdWZmZXJlZElPQmFzZSk6CiAKQEAgLTQzLDEyICs0NCwxMyBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbW9kZT0iciIsIGJ1ZmZlcmluZz1Ob25lLCBjb21wcmVzc2xldmVsPTkpOgogICAgICAgICAiIiJPcGVuIGEgYnppcDItY29tcHJlc3NlZCBmaWxlLgogCi0gICAgICAgIElmIGZpbGVuYW1lIGlzIGEgc3RyIG9yIGJ5dGVzIG9iamVjdCwgaXMgZ2l2ZXMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8KLSAgICAgICAgYmUgb3BlbmVkLiBPdGhlcndpc2UsIGl0IHNob3VsZCBiZSBhIGZpbGUgb2JqZWN0LCB3aGljaCB3aWxsIGJlIHVzZWQgdG8KLSAgICAgICAgcmVhZCBvciB3cml0ZSB0aGUgY29tcHJlc3NlZCBkYXRhLgorICAgICAgICBJZiBmaWxlbmFtZSBpcyBhIHN0ciBvciBieXRlcyBvYmplY3QsIGl0IGdpdmVzIHRoZSBuYW1lCisgICAgICAgIG9mIHRoZSBmaWxlIHRvIGJlIG9wZW5lZC4gT3RoZXJ3aXNlLCBpdCBzaG91bGQgYmUgYSBmaWxlIG9iamVjdCwKKyAgICAgICAgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHJlYWQgb3Igd3JpdGUgdGhlIGNvbXByZXNzZWQgZGF0YS4KIAotICAgICAgICBtb2RlIGNhbiBiZSAncicgZm9yIHJlYWRpbmcgKGRlZmF1bHQpLCAndycgZm9yIChvdmVyKXdyaXRpbmcsIG9yICdhJyBmb3IKLSAgICAgICAgYXBwZW5kaW5nLiBUaGVzZSBjYW4gZXF1aXZhbGVudGx5IGJlIGdpdmVuIGFzICdyYicsICd3YicsIGFuZCAnYWInLgorICAgICAgICBtb2RlIGNhbiBiZSAncicgZm9yIHJlYWRpbmcgKGRlZmF1bHQpLCAndycgZm9yIChvdmVyKXdyaXRpbmcsCisgICAgICAgIG9yICdhJyBmb3IgYXBwZW5kaW5nLiBUaGVzZSBjYW4gZXF1aXZhbGVudGx5IGJlIGdpdmVuIGFzICdyYicsCisgICAgICAgICd3YicsIGFuZCAnYWInLgogCiAgICAgICAgIGJ1ZmZlcmluZyBpcyBpZ25vcmVkLiBJdHMgdXNlIGlzIGRlcHJlY2F0ZWQuCiAKQEAgLTkwLDEwICs5MiwxMCBAQAogICAgICAgICAgICAgbW9kZV9jb2RlID0gX01PREVfV1JJVEUKICAgICAgICAgICAgIHNlbGYuX2NvbXByZXNzb3IgPSBCWjJDb21wcmVzc29yKGNvbXByZXNzbGV2ZWwpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIG1vZGU6IHshcn0iLmZvcm1hdChtb2RlKSkKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgbW9kZTogJXIiICUgKG1vZGUsKSkKIAogICAgICAgICBpZiBpc2luc3RhbmNlKGZpbGVuYW1lLCAoc3RyLCBieXRlcykpOgotICAgICAgICAgICAgc2VsZi5fZnAgPSBidWlsdGlucy5vcGVuKGZpbGVuYW1lLCBtb2RlKQorICAgICAgICAgICAgc2VsZi5fZnAgPSBfYnVpbHRpbl9vcGVuKGZpbGVuYW1lLCBtb2RlKQogICAgICAgICAgICAgc2VsZi5fY2xvc2VmcCA9IFRydWUKICAgICAgICAgICAgIHNlbGYuX21vZGUgPSBtb2RlX2NvZGUKICAgICAgICAgZWxpZiBoYXNhdHRyKGZpbGVuYW1lLCAicmVhZCIpIG9yIGhhc2F0dHIoZmlsZW5hbWUsICJ3cml0ZSIpOgpAQCAtMTg5LDE1ICsxOTEsMTcgQEAKIAogICAgICAgICAgICAgaWYgbm90IHJhd2Jsb2NrOgogICAgICAgICAgICAgICAgIGlmIHNlbGYuX2RlY29tcHJlc3Nvci5lb2Y6CisgICAgICAgICAgICAgICAgICAgICMgRW5kLW9mLXN0cmVhbSBtYXJrZXIgYW5kIGVuZCBvZiBmaWxlLiBXZSdyZSBnb29kLgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9tb2RlID0gX01PREVfUkVBRF9FT0YKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fc2l6ZSA9IHNlbGYuX3BvcwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAjIFByb2JsZW0gLSB3ZSB3ZXJlIGV4cGVjdGluZyBtb3JlIGNvbXByZXNzZWQgZGF0YS4KICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRU9GRXJyb3IoIkNvbXByZXNzZWQgZmlsZSBlbmRlZCBiZWZvcmUgdGhlICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuZC1vZi1zdHJlYW0gbWFya2VyIHdhcyByZWFjaGVkIikKIAotICAgICAgICAgICAgIyBDb250aW51ZSB0byBuZXh0IHN0cmVhbS4KICAgICAgICAgICAgIGlmIHNlbGYuX2RlY29tcHJlc3Nvci5lb2Y6CisgICAgICAgICAgICAgICAgIyBDb250aW51ZSB0byBuZXh0IHN0cmVhbS4KICAgICAgICAgICAgICAgICBzZWxmLl9kZWNvbXByZXNzb3IgPSBCWjJEZWNvbXByZXNzb3IoKQogCiAgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBzZWxmLl9kZWNvbXByZXNzb3IuZGVjb21wcmVzcyhyYXdibG9jaykKQEAgLTQxMiw3ICs0MTYsNyBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX2FsbChyZXR1cm5fZGF0YT1GYWxzZSkKICAgICAgICAgICAgICAgICBvZmZzZXQgPSBzZWxmLl9zaXplICsgb2Zmc2V0CiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdmFsdWUgZm9yIHdoZW5jZToge30iLmZvcm1hdCh3aGVuY2UpKQorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgdmFsdWUgZm9yIHdoZW5jZTogJXMiICUgKHdoZW5jZSwpKQogCiAgICAgICAgICAgICAjIE1ha2UgaXQgc28gdGhhdCBvZmZzZXQgaXMgdGhlIG51bWJlciBvZiBieXRlcyB0byBza2lwIGZvcndhcmQuCiAgICAgICAgICAgICBpZiBvZmZzZXQgPCBzZWxmLl9wb3M6CkBAIC00MzYsMjAgKzQ0MCwyMCBAQAogICAgICAgICAgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUsIG5ld2xpbmU9Tm9uZSk6CiAgICAgIiIiT3BlbiBhIGJ6aXAyLWNvbXByZXNzZWQgZmlsZSBpbiBiaW5hcnkgb3IgdGV4dCBtb2RlLgogCi0gICAgVGhlIGZpbGVuYW1lIGFyZ3VtZW50IGNhbiBiZSBhbiBhY3R1YWwgZmlsZW5hbWUgKGEgc3RyIG9yIGJ5dGVzIG9iamVjdCksIG9yCi0gICAgYW4gZXhpc3RpbmcgZmlsZSBvYmplY3QgdG8gcmVhZCBmcm9tIG9yIHdyaXRlIHRvLgorICAgIFRoZSBmaWxlbmFtZSBhcmd1bWVudCBjYW4gYmUgYW4gYWN0dWFsIGZpbGVuYW1lIChhIHN0ciBvciBieXRlcworICAgIG9iamVjdCksIG9yIGFuIGV4aXN0aW5nIGZpbGUgb2JqZWN0IHRvIHJlYWQgZnJvbSBvciB3cml0ZSB0by4KIAotICAgIFRoZSBtb2RlIGFyZ3VtZW50IGNhbiBiZSAiciIsICJyYiIsICJ3IiwgIndiIiwgImEiIG9yICJhYiIgZm9yIGJpbmFyeSBtb2RlLAotICAgIG9yICJydCIsICJ3dCIgb3IgImF0IiBmb3IgdGV4dCBtb2RlLiBUaGUgZGVmYXVsdCBtb2RlIGlzICJyYiIsIGFuZCB0aGUKLSAgICBkZWZhdWx0IGNvbXByZXNzbGV2ZWwgaXMgOS4KKyAgICBUaGUgbW9kZSBhcmd1bWVudCBjYW4gYmUgInIiLCAicmIiLCAidyIsICJ3YiIsICJhIiBvciAiYWIiIGZvcgorICAgIGJpbmFyeSBtb2RlLCBvciAicnQiLCAid3QiIG9yICJhdCIgZm9yIHRleHQgbW9kZS4gVGhlIGRlZmF1bHQgbW9kZQorICAgIGlzICJyYiIsIGFuZCB0aGUgZGVmYXVsdCBjb21wcmVzc2xldmVsIGlzIDkuCiAKLSAgICBGb3IgYmluYXJ5IG1vZGUsIHRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byB0aGUgQloyRmlsZSBjb25zdHJ1Y3RvcjoKLSAgICBCWjJGaWxlKGZpbGVuYW1lLCBtb2RlLCBjb21wcmVzc2xldmVsKS4gSW4gdGhpcyBjYXNlLCB0aGUgZW5jb2RpbmcsIGVycm9ycwotICAgIGFuZCBuZXdsaW5lIGFyZ3VtZW50cyBtdXN0IG5vdCBiZSBwcm92aWRlZC4KKyAgICBGb3IgYmluYXJ5IG1vZGUsIHRoaXMgZnVuY3Rpb24gaXMgZXF1aXZhbGVudCB0byB0aGUgQloyRmlsZQorICAgIGNvbnN0cnVjdG9yOiBCWjJGaWxlKGZpbGVuYW1lLCBtb2RlLCBjb21wcmVzc2xldmVsKS4gSW4gdGhpcyBjYXNlLAorICAgIHRoZSBlbmNvZGluZywgZXJyb3JzIGFuZCBuZXdsaW5lIGFyZ3VtZW50cyBtdXN0IG5vdCBiZSBwcm92aWRlZC4KIAogICAgIEZvciB0ZXh0IG1vZGUsIGEgQloyRmlsZSBvYmplY3QgaXMgY3JlYXRlZCwgYW5kIHdyYXBwZWQgaW4gYW4KLSAgICBpby5UZXh0SU9XcmFwcGVyIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBlbmNvZGluZywgZXJyb3IgaGFuZGxpbmcKLSAgICBiZWhhdmlvciwgYW5kIGxpbmUgZW5kaW5nKHMpLgorICAgIGlvLlRleHRJT1dyYXBwZXIgaW5zdGFuY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIGVuY29kaW5nLCBlcnJvcgorICAgIGhhbmRsaW5nIGJlaGF2aW9yLCBhbmQgbGluZSBlbmRpbmcocykuCiAKICAgICAiIiIKICAgICBpZiAidCIgaW4gbW9kZToKZGlmZiAtLWdpdCBhL0xpYi9jUHJvZmlsZS5weSBiL0xpYi9jUHJvZmlsZS5weQppbmRleCBjMjRkNDViLi4xMTg0Mzg1IDEwMDc1NQotLS0gYS9MaWIvY1Byb2ZpbGUucHkKKysrIGIvTGliL2NQcm9maWxlLnB5CkBAIC03LDU0ICs3LDIwIEBACiBfX2FsbF9fID0gWyJydW4iLCAicnVuY3R4IiwgIlByb2ZpbGUiXQogCiBpbXBvcnQgX2xzcHJvZgoraW1wb3J0IHByb2ZpbGUgYXMgX3B5cHJvZmlsZQogCiAjIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogIyBTaW1wbGUgaW50ZXJmYWNlCiAKIGRlZiBydW4oc3RhdGVtZW50LCBmaWxlbmFtZT1Ob25lLCBzb3J0PS0xKToKLSAgICAiIiJSdW4gc3RhdGVtZW50IHVuZGVyIHByb2ZpbGVyIG9wdGlvbmFsbHkgc2F2aW5nIHJlc3VsdHMgaW4gZmlsZW5hbWUKLQotICAgIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSBzaW5nbGUgYXJndW1lbnQgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIHRoZQotICAgICJleGVjIiBzdGF0ZW1lbnQsIGFuZCBhbiBvcHRpb25hbCBmaWxlIG5hbWUuICBJbiBhbGwgY2FzZXMgdGhpcwotICAgIHJvdXRpbmUgYXR0ZW1wdHMgdG8gImV4ZWMiIGl0cyBmaXJzdCBhcmd1bWVudCBhbmQgZ2F0aGVyIHByb2ZpbGluZwotICAgIHN0YXRpc3RpY3MgZnJvbSB0aGUgZXhlY3V0aW9uLiBJZiBubyBmaWxlIG5hbWUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCi0gICAgZnVuY3Rpb24gYXV0b21hdGljYWxseSBwcmludHMgYSBzaW1wbGUgcHJvZmlsaW5nIHJlcG9ydCwgc29ydGVkIGJ5IHRoZQotICAgIHN0YW5kYXJkIG5hbWUgc3RyaW5nIChmaWxlL2xpbmUvZnVuY3Rpb24tbmFtZSkgdGhhdCBpcyBwcmVzZW50ZWQgaW4KLSAgICBlYWNoIGxpbmUuCi0gICAgIiIiCi0gICAgcHJvZiA9IFByb2ZpbGUoKQotICAgIHJlc3VsdCA9IE5vbmUKLSAgICB0cnk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHByb2YgPSBwcm9mLnJ1bihzdGF0ZW1lbnQpCi0gICAgICAgIGV4Y2VwdCBTeXN0ZW1FeGl0OgotICAgICAgICAgICAgcGFzcwotICAgIGZpbmFsbHk6Ci0gICAgICAgIGlmIGZpbGVuYW1lIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcHJvZi5kdW1wX3N0YXRzKGZpbGVuYW1lKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmVzdWx0ID0gcHJvZi5wcmludF9zdGF0cyhzb3J0KQotICAgIHJldHVybiByZXN1bHQKKyAgICByZXR1cm4gX3B5cHJvZmlsZS5fVXRpbHMoUHJvZmlsZSkucnVuKHN0YXRlbWVudCwgZmlsZW5hbWUsIHNvcnQpCiAKIGRlZiBydW5jdHgoc3RhdGVtZW50LCBnbG9iYWxzLCBsb2NhbHMsIGZpbGVuYW1lPU5vbmUsIHNvcnQ9LTEpOgotICAgICIiIlJ1biBzdGF0ZW1lbnQgdW5kZXIgcHJvZmlsZXIsIHN1cHBseWluZyB5b3VyIG93biBnbG9iYWxzIGFuZCBsb2NhbHMsCi0gICAgb3B0aW9uYWxseSBzYXZpbmcgcmVzdWx0cyBpbiBmaWxlbmFtZS4KKyAgICByZXR1cm4gX3B5cHJvZmlsZS5fVXRpbHMoUHJvZmlsZSkucnVuY3R4KHN0YXRlbWVudCwgZ2xvYmFscywgbG9jYWxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIHNvcnQpCiAKLSAgICBzdGF0ZW1lbnQgYW5kIGZpbGVuYW1lIGhhdmUgdGhlIHNhbWUgc2VtYW50aWNzIGFzIHByb2ZpbGUucnVuCi0gICAgIiIiCi0gICAgcHJvZiA9IFByb2ZpbGUoKQotICAgIHJlc3VsdCA9IE5vbmUKLSAgICB0cnk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHByb2YgPSBwcm9mLnJ1bmN0eChzdGF0ZW1lbnQsIGdsb2JhbHMsIGxvY2FscykKLSAgICAgICAgZXhjZXB0IFN5c3RlbUV4aXQ6Ci0gICAgICAgICAgICBwYXNzCi0gICAgZmluYWxseToKLSAgICAgICAgaWYgZmlsZW5hbWUgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBwcm9mLmR1bXBfc3RhdHMoZmlsZW5hbWUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXN1bHQgPSBwcm9mLnByaW50X3N0YXRzKHNvcnQpCi0gICAgcmV0dXJuIHJlc3VsdAorcnVuLl9fZG9jX18gPSBfcHlwcm9maWxlLnJ1bi5fX2RvY19fCitydW5jdHguX19kb2NfXyA9IF9weXByb2ZpbGUucnVuY3R4Ll9fZG9jX18KIAogIyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIApAQCAtNzcsMTAgKzQzLDkgQEAKIAogICAgIGRlZiBkdW1wX3N0YXRzKHNlbGYsIGZpbGUpOgogICAgICAgICBpbXBvcnQgbWFyc2hhbAotICAgICAgICBmID0gb3BlbihmaWxlLCAnd2InKQotICAgICAgICBzZWxmLmNyZWF0ZV9zdGF0cygpCi0gICAgICAgIG1hcnNoYWwuZHVtcChzZWxmLnN0YXRzLCBmKQotICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgd2l0aCBvcGVuKGZpbGUsICd3YicpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmNyZWF0ZV9zdGF0cygpCisgICAgICAgICAgICBtYXJzaGFsLmR1bXAoc2VsZi5zdGF0cywgZikKIAogICAgIGRlZiBjcmVhdGVfc3RhdHMoc2VsZik6CiAgICAgICAgIHNlbGYuZGlzYWJsZSgpCmRpZmYgLS1naXQgYS9MaWIvY2dpLnB5IGIvTGliL2NnaS5weQppbmRleCA5NmIxZjU3Li4zODVhNTdjIDEwMDc1NQotLS0gYS9MaWIvY2dpLnB5CisrKyBiL0xpYi9jZ2kucHkKQEAgLTgwLDcgKzgwLDcgQEAKICAgICBpZiBsb2dmaWxlIGFuZCBub3QgbG9nZnA6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxvZ2ZwID0gb3Blbihsb2dmaWxlLCAiYSIpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICBpZiBub3QgbG9nZnA6CiAgICAgICAgIGxvZyA9IG5vbG9nCkBAIC05NDksOCArOTQ5LDggQEAKICAgICBwcmludCgiPEgzPkN1cnJlbnQgV29ya2luZyBEaXJlY3Rvcnk6PC9IMz4iKQogICAgIHRyeToKICAgICAgICAgcHdkID0gb3MuZ2V0Y3dkKCkKLSAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgotICAgICAgICBwcmludCgib3MuZXJyb3I6IiwgaHRtbC5lc2NhcGUoc3RyKG1zZykpKQorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKKyAgICAgICAgcHJpbnQoIk9TRXJyb3I6IiwgaHRtbC5lc2NhcGUoc3RyKG1zZykpKQogICAgIGVsc2U6CiAgICAgICAgIHByaW50KGh0bWwuZXNjYXBlKHB3ZCkpCiAgICAgcHJpbnQoKQpkaWZmIC0tZ2l0IGEvTGliL2NodW5rLnB5IGIvTGliL2NodW5rLnB5CmluZGV4IDU4NjNlZDAuLmRjOTBhNzUgMTAwNjQ0Ci0tLSBhL0xpYi9jaHVuay5weQorKysgYi9MaWIvY2h1bmsucHkKQEAgLTcwLDcgKzcwLDcgQEAKICAgICAgICAgc2VsZi5zaXplX3JlYWQgPSAwCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYub2Zmc2V0ID0gc2VsZi5maWxlLnRlbGwoKQotICAgICAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBJT0Vycm9yKToKKyAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgT1NFcnJvcik6CiAgICAgICAgICAgICBzZWxmLnNlZWthYmxlID0gRmFsc2UKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuc2Vla2FibGUgPSBUcnVlCkBAIC0xMDIsNyArMTAyLDcgQEAKICAgICAgICAgaWYgc2VsZi5jbG9zZWQ6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIikKICAgICAgICAgaWYgbm90IHNlbGYuc2Vla2FibGU6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCJjYW5ub3Qgc2VlayIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJjYW5ub3Qgc2VlayIpCiAgICAgICAgIGlmIHdoZW5jZSA9PSAxOgogICAgICAgICAgICAgcG9zID0gcG9zICsgc2VsZi5zaXplX3JlYWQKICAgICAgICAgZWxpZiB3aGVuY2UgPT0gMjoKQEAgLTE1OCw3ICsxNTgsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuZmlsZS5zZWVrKG4sIDEpCiAgICAgICAgICAgICAgICAgc2VsZi5zaXplX3JlYWQgPSBzZWxmLnNpemVfcmVhZCArIG4KICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICB3aGlsZSBzZWxmLnNpemVfcmVhZCA8IHNlbGYuY2h1bmtzaXplOgogICAgICAgICAgICAgbiA9IG1pbig4MTkyLCBzZWxmLmNodW5rc2l6ZSAtIHNlbGYuc2l6ZV9yZWFkKQpkaWZmIC0tZ2l0IGEvTGliL2NvbGxlY3Rpb25zL19faW5pdF9fLnB5IGIvTGliL2NvbGxlY3Rpb25zL19faW5pdF9fLnB5CmluZGV4IDcwN2M1M2IuLmNhOTJjM2MgMTAwNjQ0Ci0tLSBhL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weQorKysgYi9MaWIvY29sbGVjdGlvbnMvX19pbml0X18ucHkKQEAgLTgxNiw5ICs4MTYsMTQgQEAKIAogICAgIF9fY29weV9fID0gY29weQogCi0gICAgZGVmIG5ld19jaGlsZChzZWxmKTogICAgICAgICAgICAgICAgICAgICAgICAjIGxpa2UgRGphbmdvJ3MgQ29udGV4dC5wdXNoKCkKLSAgICAgICAgJ05ldyBDaGFpbk1hcCB3aXRoIGEgbmV3IGRpY3QgZm9sbG93ZWQgYnkgYWxsIHByZXZpb3VzIG1hcHMuJwotICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18oe30sICpzZWxmLm1hcHMpCisgICAgZGVmIG5ld19jaGlsZChzZWxmLCBtPU5vbmUpOiAgICAgICAgICAgICAgICAjIGxpa2UgRGphbmdvJ3MgQ29udGV4dC5wdXNoKCkKKyAgICAgICAgJycnCisgICAgICAgIE5ldyBDaGFpbk1hcCB3aXRoIGEgbmV3IG1hcCBmb2xsb3dlZCBieSBhbGwgcHJldmlvdXMgbWFwcy4gSWYgbm8KKyAgICAgICAgbWFwIGlzIHByb3ZpZGVkLCBhbiBlbXB0eSBkaWN0IGlzIHVzZWQuCisgICAgICAgICcnJworICAgICAgICBpZiBtIGlzIE5vbmU6CisgICAgICAgICAgICBtID0ge30KKyAgICAgICAgcmV0dXJuIHNlbGYuX19jbGFzc19fKG0sICpzZWxmLm1hcHMpCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgcGFyZW50cyhzZWxmKTogICAgICAgICAgICAgICAgICAgICAgICAgICMgbGlrZSBEamFuZ28ncyBDb250ZXh0LnBvcCgpCmRpZmYgLS1naXQgYS9MaWIvY29sbGVjdGlvbnMvYWJjLnB5IGIvTGliL2NvbGxlY3Rpb25zL2FiYy5weQppbmRleCA3OTM5MjY4Li44YmFjOTU3IDEwMDY0NAotLS0gYS9MaWIvY29sbGVjdGlvbnMvYWJjLnB5CisrKyBiL0xpYi9jb2xsZWN0aW9ucy9hYmMucHkKQEAgLTQ1NCw4ICs0NTQsNyBAQAogICAgICAgICByZXR1cm4ga2V5IGluIHNlbGYuX21hcHBpbmcKIAogICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKLSAgICAgICAgZm9yIGtleSBpbiBzZWxmLl9tYXBwaW5nOgotICAgICAgICAgICAgeWllbGQga2V5CisgICAgICAgIHlpZWxkIGZyb20gc2VsZi5fbWFwcGluZwogCiBLZXlzVmlldy5yZWdpc3RlcihkaWN0X2tleXMpCiAKZGlmZiAtLWdpdCBhL0xpYi9jb21waWxlYWxsLnB5IGIvTGliL2NvbXBpbGVhbGwucHkKaW5kZXggZDNjZmY2YS4uYThlOWEzMSAxMDA2NDQKLS0tIGEvTGliL2NvbXBpbGVhbGwucHkKKysrIGIvTGliL2NvbXBpbGVhbGwucHkKQEAgLTM4LDcgKzM4LDcgQEAKICAgICAgICAgcHJpbnQoJ0xpc3RpbmcgeyFyfS4uLicuZm9ybWF0KGRpcikpCiAgICAgdHJ5OgogICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoZGlyKQotICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcHJpbnQoIkNhbid0IGxpc3QgeyFyfSIuZm9ybWF0KGRpcikpCiAgICAgICAgIG5hbWVzID0gW10KICAgICBuYW1lcy5zb3J0KCkKQEAgLTEwNiw3ICsxMDYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsID0gY2hhbmRsZS5yZWFkKDgpCiAgICAgICAgICAgICAgICAgICAgIGlmIGV4cGVjdCA9PSBhY3R1YWw6CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3VjY2VzcwotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBpZiBub3QgcXVpZXQ6CiAgICAgICAgICAgICAgICAgcHJpbnQoJ0NvbXBpbGluZyB7IXJ9Li4uJy5mb3JtYXQoZnVsbG5hbWUpKQpAQCAtMTI0LDcgKzEyNCw3IEBACiAgICAgICAgICAgICAgICAgbXNnID0gbXNnLmRlY29kZShzeXMuc3Rkb3V0LmVuY29kaW5nKQogICAgICAgICAgICAgICAgIHByaW50KG1zZykKICAgICAgICAgICAgICAgICBzdWNjZXNzID0gMAotICAgICAgICAgICAgZXhjZXB0IChTeW50YXhFcnJvciwgVW5pY29kZUVycm9yLCBJT0Vycm9yKSBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IChTeW50YXhFcnJvciwgVW5pY29kZUVycm9yLCBPU0Vycm9yKSBhcyBlOgogICAgICAgICAgICAgICAgIGlmIHF1aWV0OgogICAgICAgICAgICAgICAgICAgICBwcmludCgnKioqIEVycm9yIGNvbXBpbGluZyB7IXJ9Li4uJy5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC0yMDksNyArMjA5LDcgQEAKICAgICAgICAgICAgIHdpdGggKHN5cy5zdGRpbiBpZiBhcmdzLmZsaXN0PT0nLScgZWxzZSBvcGVuKGFyZ3MuZmxpc3QpKSBhcyBmOgogICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVfZGVzdHMuYXBwZW5kKGxpbmUuc3RyaXAoKSkKLSAgICAgICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcHJpbnQoIkVycm9yIHJlYWRpbmcgZmlsZSBsaXN0IHt9Ii5mb3JtYXQoYXJncy5mbGlzdCkpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIApkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weSBiL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvX2Jhc2UucHkKaW5kZXggY2EzYWViZC4uM2QwMzI4MCAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL19iYXNlLnB5CkBAIC0xOTgsOCArMTk4LDcgQEAKICAgICAgICAgd2FpdGVyID0gX2NyZWF0ZV9hbmRfaW5zdGFsbF93YWl0ZXJzKGZzLCBfQVNfQ09NUExFVEVEKQogCiAgICAgdHJ5OgotICAgICAgICBmb3IgZnV0dXJlIGluIGZpbmlzaGVkOgotICAgICAgICAgICAgeWllbGQgZnV0dXJlCisgICAgICAgIHlpZWxkIGZyb20gZmluaXNoZWQKIAogICAgICAgICB3aGlsZSBwZW5kaW5nOgogICAgICAgICAgICAgaWYgdGltZW91dCBpcyBOb25lOgpkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5CmluZGV4IDA0MjM4YTcuLjNjMjBiOTMgMTAwNjQ0Ci0tLSBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvcHJvY2Vzcy5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3Byb2Nlc3MucHkKQEAgLTQwLDcgKzQwLDcgQEAKIAogUHJvY2VzcyAjMS4ubjoKIC0gcmVhZHMgX0NhbGxJdGVtcyBmcm9tICJDYWxsIFEiLCBleGVjdXRlcyB0aGUgY2FsbHMsIGFuZCBwdXRzIHRoZSByZXN1bHRpbmcKLSAgX1Jlc3VsdEl0ZW1zIGluICJSZXF1ZXN0IFEiCisgIF9SZXN1bHRJdGVtcyBpbiAiUmVzdWx0IFEiCiAiIiIKIAogX19hdXRob3JfXyA9ICdCcmlhbiBRdWlubGFuIChicmlhbkBzd2VldGFwcC5jb20pJwpAQCAtMjQwLDYgKzI0MCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAidGVybWluYXRlZCBhYnJ1cHRseSB3aGlsZSB0aGUgZnV0dXJlIHdhcyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAicnVubmluZyBvciBwZW5kaW5nLiIKICAgICAgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgICAgICAjIERlbGV0ZSByZWZlcmVuY2VzIHRvIG9iamVjdC4gU2VlIGlzc3VlMTYyODQKKyAgICAgICAgICAgICAgICBkZWwgd29ya19pdGVtCiAgICAgICAgICAgICBwZW5kaW5nX3dvcmtfaXRlbXMuY2xlYXIoKQogICAgICAgICAgICAgIyBUZXJtaW5hdGUgcmVtYWluaW5nIHdvcmtlcnMgZm9yY2libHk6IHRoZSBxdWV1ZXMgb3IgdGhlaXIKICAgICAgICAgICAgICMgbG9ja3MgbWF5IGJlIGluIGEgZGlydHkgc3RhdGUgYW5kIGJsb2NrIGZvcmV2ZXIuCkBAIC0yNjQsNiArMjY2LDggQEAKICAgICAgICAgICAgICAgICAgICAgd29ya19pdGVtLmZ1dHVyZS5zZXRfZXhjZXB0aW9uKHJlc3VsdF9pdGVtLmV4Y2VwdGlvbikKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICB3b3JrX2l0ZW0uZnV0dXJlLnNldF9yZXN1bHQocmVzdWx0X2l0ZW0ucmVzdWx0KQorICAgICAgICAgICAgICAgICMgRGVsZXRlIHJlZmVyZW5jZXMgdG8gb2JqZWN0LiBTZWUgaXNzdWUxNjI4NAorICAgICAgICAgICAgICAgIGRlbCB3b3JrX2l0ZW0KICAgICAgICAgIyBDaGVjayB3aGV0aGVyIHdlIHNob3VsZCBzdGFydCBzaHV0dGluZyBkb3duLgogICAgICAgICBleGVjdXRvciA9IGV4ZWN1dG9yX3JlZmVyZW5jZSgpCiAgICAgICAgICMgTm8gbW9yZSB3b3JrIGl0ZW1zIGNhbiBiZSBhZGRlZCBpZjoKZGlmZiAtLWdpdCBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvdGhyZWFkLnB5IGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKaW5kZXggOTViYjY4Mi4uZjliZWIwZiAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKKysrIGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkKQEAgLTYzLDYgKzYzLDggQEAKICAgICAgICAgICAgIHdvcmtfaXRlbSA9IHdvcmtfcXVldWUuZ2V0KGJsb2NrPVRydWUpCiAgICAgICAgICAgICBpZiB3b3JrX2l0ZW0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgd29ya19pdGVtLnJ1bigpCisgICAgICAgICAgICAgICAgIyBEZWxldGUgcmVmZXJlbmNlcyB0byBvYmplY3QuIFNlZSBpc3N1ZTE2Mjg0CisgICAgICAgICAgICAgICAgZGVsIHdvcmtfaXRlbQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBleGVjdXRvciA9IGV4ZWN1dG9yX3JlZmVyZW5jZSgpCiAgICAgICAgICAgICAjIEV4aXQgaWY6CmRpZmYgLS1naXQgYS9MaWIvY29uZmlncGFyc2VyLnB5IGIvTGliL2NvbmZpZ3BhcnNlci5weQppbmRleCA2YzVhYTQ5Li43MDg1NTNkIDEwMDY0NAotLS0gYS9MaWIvY29uZmlncGFyc2VyLnB5CisrKyBiL0xpYi9jb25maWdwYXJzZXIucHkKQEAgLTY4Nyw3ICs2ODcsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgZW5jb2Rpbmc9ZW5jb2RpbmcpIGFzIGZwOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWFkKGZwLCBmaWxlbmFtZSkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIHJlYWRfb2suYXBwZW5kKGZpbGVuYW1lKQogICAgICAgICByZXR1cm4gcmVhZF9vawpkaWZmIC0tZ2l0IGEvTGliL2NvbnRleHRsaWIucHkgYi9MaWIvY29udGV4dGxpYi5weQppbmRleCAwYjZiZjcxLi4wM2M1NmRhIDEwMDY0NAotLS0gYS9MaWIvY29udGV4dGxpYi5weQorKysgYi9MaWIvY29udGV4dGxpYi5weQpAQCAtNCw3ICs0LDcgQEAKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIAotX19hbGxfXyA9IFsiY29udGV4dG1hbmFnZXIiLCAiY2xvc2luZyIsICJDb250ZXh0RGVjb3JhdG9yIiwgIkV4aXRTdGFjayJdCitfX2FsbF9fID0gWyJjb250ZXh0bWFuYWdlciIsICJjbG9zaW5nIiwgIkNvbnRleHREZWNvcmF0b3IiLCAiRXhpdFN0YWNrIiwgImlnbm9yZWQiXQogCiAKIGNsYXNzIENvbnRleHREZWNvcmF0b3Iob2JqZWN0KToKQEAgLTE0MCw2ICsxNDAsMTggQEAKICAgICBkZWYgX19leGl0X18oc2VsZiwgKmV4Y19pbmZvKToKICAgICAgICAgc2VsZi50aGluZy5jbG9zZSgpCiAKK0Bjb250ZXh0bWFuYWdlcgorZGVmIGlnbm9yZWQoKmV4Y2VwdGlvbnMpOgorICAgICIiIkNvbnRleHQgbWFuYWdlciB0byBpZ25vcmUgc3BlY2lmZWQgZXhjZXB0aW9ucworCisgICAgICAgICB3aXRoIGlnbm9yZWQoT1NFcnJvcik6CisgICAgICAgICAgICAgb3MucmVtb3ZlKHNvbWVmaWxlKQorCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICB5aWVsZAorICAgIGV4Y2VwdCBleGNlcHRpb25zOgorICAgICAgICBwYXNzCiAKICMgSW5zcGlyZWQgYnkgZGlzY3Vzc2lvbnMgb24gaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTEzNTg1CiBjbGFzcyBFeGl0U3RhY2sob2JqZWN0KToKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvX19pbml0X18ucHkgYi9MaWIvY3R5cGVzL19faW5pdF9fLnB5CmluZGV4IGM5MmUxMzAuLmUzNGM2NDYgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvX19pbml0X18ucHkKKysrIGIvTGliL2N0eXBlcy9fX2luaXRfXy5weQpAQCAtMzQsMTcgKzM0LDE1IEBACiAgICAgIEZVTkNGTEFHX1VTRV9FUlJOTyBhcyBfRlVOQ0ZMQUdfVVNFX0VSUk5PLCBcCiAgICAgIEZVTkNGTEFHX1VTRV9MQVNURVJST1IgYXMgX0ZVTkNGTEFHX1VTRV9MQVNURVJST1IKIAotIiIiCi1XSU5PTEVBUEkgLT4gSFJFU1VMVAotV0lOT0xFQVBJXyh0eXBlKQotCi1TVERNRVRIT0RDQUxMVFlQRQotCi1TVERNRVRIT0QobmFtZSkKLVNURE1FVEhPRF8odHlwZSwgbmFtZSkKLQotU1REQVBJQ0FMTFRZUEUKLSIiIgorIyBXSU5PTEVBUEkgLT4gSFJFU1VMVAorIyBXSU5PTEVBUElfKHR5cGUpCisjCisjIFNURE1FVEhPRENBTExUWVBFCisjCisjIFNURE1FVEhPRChuYW1lKQorIyBTVERNRVRIT0RfKHR5cGUsIG5hbWUpCisjCisjIFNUREFQSUNBTExUWVBFCiAKIGRlZiBjcmVhdGVfc3RyaW5nX2J1ZmZlcihpbml0LCBzaXplPU5vbmUpOgogICAgICIiImNyZWF0ZV9zdHJpbmdfYnVmZmVyKGFCeXRlcykgLT4gY2hhcmFjdGVyIGFycmF5CkBAIC0zOTUsNyArMzkzLDcgQEAKICAgICAgICAgX3R5cGVfID0gImwiCiAgICAgICAgICMgX2NoZWNrX3JldHZhbF8gaXMgY2FsbGVkIHdpdGggdGhlIGZ1bmN0aW9uJ3MgcmVzdWx0IHdoZW4gaXQKICAgICAgICAgIyBpcyB1c2VkIGFzIHJlc3R5cGUuICBJdCBjaGVja3MgZm9yIHRoZSBGQUlMRUQgYml0LCBhbmQKLSAgICAgICAgIyByYWlzZXMgYSBXaW5kb3dzRXJyb3IgaWYgaXQgaXMgc2V0LgorICAgICAgICAjIHJhaXNlcyBhbiBPU0Vycm9yIGlmIGl0IGlzIHNldC4KICAgICAgICAgIwogICAgICAgICAjIFRoZSBfY2hlY2tfcmV0dmFsXyBtZXRob2QgaXMgaW1wbGVtZW50ZWQgaW4gQywgc28gdGhhdCB0aGUKICAgICAgICAgIyBtZXRob2QgZGVmaW5pdGlvbiBpdHNlbGYgaXMgbm90IGluY2x1ZGVkIGluIHRoZSB0cmFjZWJhY2sKQEAgLTQwNyw3ICs0MDUsNyBAQAogICAgIGNsYXNzIE9sZURMTChDRExMKToKICAgICAgICAgIiIiVGhpcyBjbGFzcyByZXByZXNlbnRzIGEgZGxsIGV4cG9ydGluZyBmdW5jdGlvbnMgdXNpbmcgdGhlCiAgICAgICAgIFdpbmRvd3Mgc3RkY2FsbCBjYWxsaW5nIGNvbnZlbnRpb24sIGFuZCByZXR1cm5pbmcgSFJFU1VMVC4KLSAgICAgICAgSFJFU1VMVCBlcnJvciB2YWx1ZXMgYXJlIGF1dG9tYXRpY2FsbHkgcmFpc2VkIGFzIFdpbmRvd3NFcnJvcgorICAgICAgICBIUkVTVUxUIGVycm9yIHZhbHVlcyBhcmUgYXV0b21hdGljYWxseSByYWlzZWQgYXMgT1NFcnJvcgogICAgICAgICBleGNlcHRpb25zLgogICAgICAgICAiIiIKICAgICAgICAgX2Z1bmNfZmxhZ3NfID0gX0ZVTkNGTEFHX1NURENBTEwKQEAgLTQ1Niw3ICs0NTQsNyBAQAogICAgICAgICAgICAgY29kZSA9IEdldExhc3RFcnJvcigpCiAgICAgICAgIGlmIGRlc2NyIGlzIE5vbmU6CiAgICAgICAgICAgICBkZXNjciA9IEZvcm1hdEVycm9yKGNvZGUpLnN0cmlwKCkKLSAgICAgICAgcmV0dXJuIFdpbmRvd3NFcnJvcihOb25lLCBkZXNjciwgTm9uZSwgY29kZSkKKyAgICAgICAgcmV0dXJuIE9TRXJyb3IoTm9uZSwgZGVzY3IsIE5vbmUsIGNvZGUpCiAKIGlmIHNpemVvZihjX3VpbnQpID09IHNpemVvZihjX3ZvaWRfcCk6CiAgICAgY19zaXplX3QgPSBjX3VpbnQKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X2NoZWNrcmV0dmFsLnB5IGIvTGliL2N0eXBlcy90ZXN0L3Rlc3RfY2hlY2tyZXR2YWwucHkKaW5kZXggMDFjY2M1Ny4uMTliYjgxMyAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfY2hlY2tyZXR2YWwucHkKKysrIGIvTGliL2N0eXBlcy90ZXN0L3Rlc3RfY2hlY2tyZXR2YWwucHkKQEAgLTMxLDcgKzMxLDcgQEAKICAgICAgICAgcGFzcwogICAgIGVsc2U6CiAgICAgICAgIGRlZiB0ZXN0X29sZWRsbChzZWxmKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFdpbmRvd3NFcnJvciwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xlZGxsLm9sZWF1dDMyLkNyZWF0ZVR5cGVMaWIyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIE5vbmUsIE5vbmUpCiAKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X2ludGVybmFscy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X2ludGVybmFscy5weQppbmRleCBjYmYyZTA1Li4yNzFlM2Y1IDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9pbnRlcm5hbHMucHkKKysrIGIvTGliL2N0eXBlcy90ZXN0L3Rlc3RfaW50ZXJuYWxzLnB5CkBAIC01LDE3ICs1LDE0IEBACiAKICMgWFhYIFRoaXMgdGVzdCBtdXN0IGJlIHJldmlld2VkIGZvciBjb3JyZWN0bmVzcyEhIQogCi0iIiIKLWN0eXBlcycgdHlwZXMgYXJlIGNvbnRhaW5lciB0eXBlcy4KLQotVGhleSBoYXZlIGFuIGludGVybmFsIG1lbW9yeSBibG9jaywgd2hpY2ggb25seSBjb25zaXN0cyBvZiBzb21lIGJ5dGVzLAotYnV0IGl0IGhhcyB0byBrZWVwIHJlZmVyZW5jZXMgdG8gb3RoZXIgb2JqZWN0cyBhcyB3ZWxsLiBUaGlzIGlzIG5vdAotcmVhbGx5IG5lZWRlZCBmb3IgdHJpdmlhbCBDIHR5cGVzIGxpa2UgaW50IG9yIGNoYXIsIGJ1dCBpdCBpcyBpbXBvcnRhbnQKLWZvciBhZ2dyZWdhdGUgdHlwZXMgbGlrZSBzdHJpbmdzIG9yIHBvaW50ZXJzIGluIHBhcnRpY3VsYXIuCi0KLVdoYXQgYWJvdXQgcG9pbnRlcnM/Ci0KLSIiIgorIyBjdHlwZXMnIHR5cGVzIGFyZSBjb250YWluZXIgdHlwZXMuCisjCisjIFRoZXkgaGF2ZSBhbiBpbnRlcm5hbCBtZW1vcnkgYmxvY2ssIHdoaWNoIG9ubHkgY29uc2lzdHMgb2Ygc29tZSBieXRlcywKKyMgYnV0IGl0IGhhcyB0byBrZWVwIHJlZmVyZW5jZXMgdG8gb3RoZXIgb2JqZWN0cyBhcyB3ZWxsLiBUaGlzIGlzIG5vdAorIyByZWFsbHkgbmVlZGVkIGZvciB0cml2aWFsIEMgdHlwZXMgbGlrZSBpbnQgb3IgY2hhciwgYnV0IGl0IGlzIGltcG9ydGFudAorIyBmb3IgYWdncmVnYXRlIHR5cGVzIGxpa2Ugc3RyaW5ncyBvciBwb2ludGVycyBpbiBwYXJ0aWN1bGFyLgorIworIyBXaGF0IGFib3V0IHBvaW50ZXJzPwogCiBjbGFzcyBPYmplY3RzVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBhc3NlcnRTYW1lKHNlbGYsIGEsIGIpOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfbWFjaG9saWIucHkgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9tYWNob2xpYi5weQppbmRleCBlZGE4NDZkLi5mZDI2ODM3IDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9tYWNob2xpYi5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9tYWNob2xpYi5weQpAQCAtMywzNSArMywzMyBAQAogaW1wb3J0IHVuaXR0ZXN0CiAKICMgQm9iIElwcG9saXRvOgotIiIiCi1Pay4uIHRoZSBjb2RlIHRvIGZpbmQgdGhlIGZpbGVuYW1lIGZvciBfX2dldGF0dHJfXyBzaG91bGQgbG9vawotc29tZXRoaW5nIGxpa2U6Ci0KLWltcG9ydCBvcwotZnJvbSBtYWNob2xpYi5keWxkIGltcG9ydCBkeWxkX2ZpbmQKLQotZGVmIGZpbmRfbGliKG5hbWUpOgotICAgICBwb3NzaWJsZSA9IFsnbGliJytuYW1lKycuZHlsaWInLCBuYW1lKycuZHlsaWInLAotICAgICBuYW1lKycuZnJhbWV3b3JrLycrbmFtZV0KLSAgICAgZm9yIGR5bGliIGluIHBvc3NpYmxlOgotICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLnJlYWxwYXRoKGR5bGRfZmluZChkeWxpYikpCi0gICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICBwYXNzCi0gICAgIHJhaXNlIFZhbHVlRXJyb3IsICIlcyBub3QgZm91bmQiICUgKG5hbWUsKQotCi1JdCdsbCBoYXZlIG91dHB1dCBsaWtlIHRoaXM6Ci0KLSA+Pj4gZmluZF9saWIoJ3B0aHJlYWQnKQotJy91c3IvbGliL2xpYlN5c3RlbS5CLmR5bGliJwotID4+PiBmaW5kX2xpYigneicpCi0nL3Vzci9saWIvbGliei4xLmR5bGliJwotID4+PiBmaW5kX2xpYignSU9LaXQnKQotJy9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0lPS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0lPS2l0JwotCi0tYm9iCi0KLSIiIgorIworIyBPay4uIHRoZSBjb2RlIHRvIGZpbmQgdGhlIGZpbGVuYW1lIGZvciBfX2dldGF0dHJfXyBzaG91bGQgbG9vaworIyBzb21ldGhpbmcgbGlrZToKKyMKKyMgaW1wb3J0IG9zCisjIGZyb20gbWFjaG9saWIuZHlsZCBpbXBvcnQgZHlsZF9maW5kCisjCisjIGRlZiBmaW5kX2xpYihuYW1lKToKKyMgICAgICBwb3NzaWJsZSA9IFsnbGliJytuYW1lKycuZHlsaWInLCBuYW1lKycuZHlsaWInLAorIyAgICAgIG5hbWUrJy5mcmFtZXdvcmsvJytuYW1lXQorIyAgICAgIGZvciBkeWxpYiBpbiBwb3NzaWJsZToKKyMgICAgICAgICAgdHJ5OgorIyAgICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGgucmVhbHBhdGgoZHlsZF9maW5kKGR5bGliKSkKKyMgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisjICAgICAgICAgICAgICBwYXNzCisjICAgICAgcmFpc2UgVmFsdWVFcnJvciwgIiVzIG5vdCBmb3VuZCIgJSAobmFtZSwpCisjCisjIEl0J2xsIGhhdmUgb3V0cHV0IGxpa2UgdGhpczoKKyMKKyMgID4+PiBmaW5kX2xpYigncHRocmVhZCcpCisjICcvdXNyL2xpYi9saWJTeXN0ZW0uQi5keWxpYicKKyMgID4+PiBmaW5kX2xpYigneicpCisjICcvdXNyL2xpYi9saWJ6LjEuZHlsaWInCisjICA+Pj4gZmluZF9saWIoJ0lPS2l0JykKKyMgJy9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0lPS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL0lPS2l0JworIworIyAtYm9iCiAKIGZyb20gY3R5cGVzLm1hY2hvbGliLmR5bGQgaW1wb3J0IGR5bGRfZmluZAogCmRpZmYgLS1naXQgYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF93aW4zMi5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3dpbjMyLnB5CmluZGV4IGRhMjEzMzYuLjkxYWQzMTQgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3dpbjMyLnB5CisrKyBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3dpbjMyLnB5CkBAIC00MSw3ICs0MSw3IEBACiAgICAgICAgICAgICAgICAgIyBDYWxsIGZ1bmN0aW9ucyB3aXRoIGludmFsaWQgYXJndW1lbnRzLCBhbmQgbWFrZSBzdXJlCiAgICAgICAgICAgICAgICAgIyB0aGF0IGFjY2VzcyB2aW9sYXRpb25zIGFyZSB0cmFwcGVkIGFuZCByYWlzZSBhbgogICAgICAgICAgICAgICAgICMgZXhjZXB0aW9uLgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFdpbmRvd3NFcnJvciwgd2luZGxsLmtlcm5lbDMyLkdldE1vZHVsZUhhbmRsZUEsIDMyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHdpbmRsbC5rZXJuZWwzMi5HZXRNb2R1bGVIYW5kbGVBLCAzMikKIAogICAgICAgICBkZWYgdGVzdF9ub2FyZ3Moc2VsZik6CiAgICAgICAgICAgICAjIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2Ugb24gd2luMzIgeDY0CmRpZmYgLS1naXQgYS9MaWIvY3R5cGVzL3V0aWwucHkgYi9MaWIvY3R5cGVzL3V0aWwucHkKaW5kZXggMTUxNTYwNC4uYzQyN2QzMSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy91dGlsLnB5CisrKyBiL0xpYi9jdHlwZXMvdXRpbC5weQpAQCAtMTAyLDkgKzEwMiw4IEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3MudW5saW5rKGNjb3V0KQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVOT0VOVDoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGlmIHJ2ID09IDEwOgogICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignZ2NjIG9yIGNjIGNvbW1hbmQgbm90IGZvdW5kJykKICAgICAgICAgcmVzID0gcmUuc2VhcmNoKGV4cHIsIHRyYWNlKQpkaWZmIC0tZ2l0IGEvTGliL2RhdGV0aW1lLnB5IGIvTGliL2RhdGV0aW1lLnB5CmluZGV4IDk1NDY2ZDUuLmJjMTQ4NmMgMTAwNjQ0Ci0tLSBhL0xpYi9kYXRldGltZS5weQorKysgYi9MaWIvZGF0ZXRpbWUucHkKQEAgLTE5MTcsMjAzICsxOTE3LDIwMyBAQAogdGltZXpvbmUubWluID0gdGltZXpvbmUuX2NyZWF0ZSh0aW1lem9uZS5fbWlub2Zmc2V0KQogdGltZXpvbmUubWF4ID0gdGltZXpvbmUuX2NyZWF0ZSh0aW1lem9uZS5fbWF4b2Zmc2V0KQogX0VQT0NIID0gZGF0ZXRpbWUoMTk3MCwgMSwgMSwgdHppbmZvPXRpbWV6b25lLnV0YykKLSIiIgotU29tZSB0aW1lIHpvbmUgYWxnZWJyYS4gIEZvciBhIGRhdGV0aW1lIHgsIGxldAotICAgIHgubiA9IHggc3RyaXBwZWQgb2YgaXRzIHRpbWV6b25lIC0tIGl0cyBuYWl2ZSB0aW1lLgotICAgIHgubyA9IHgudXRjb2Zmc2V0KCksIGFuZCBhc3N1bWluZyB0aGF0IGRvZXNuJ3QgcmFpc2UgYW4gZXhjZXB0aW9uIG9yCi0gICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICB4LmQgPSB4LmRzdCgpLCBhbmQgYXNzdW1pbmcgdGhhdCBkb2Vzbid0IHJhaXNlIGFuIGV4Y2VwdGlvbiBvcgotICAgICAgICAgIHJldHVybiBOb25lCi0gICAgeC5zID0geCdzIHN0YW5kYXJkIG9mZnNldCwgeC5vIC0geC5kCiAKLU5vdyBzb21lIGRlcml2ZWQgcnVsZXMsIHdoZXJlIGsgaXMgYSBkdXJhdGlvbiAodGltZWRlbHRhKS4KKyMgU29tZSB0aW1lIHpvbmUgYWxnZWJyYS4gIEZvciBhIGRhdGV0aW1lIHgsIGxldAorIyAgICAgeC5uID0geCBzdHJpcHBlZCBvZiBpdHMgdGltZXpvbmUgLS0gaXRzIG5haXZlIHRpbWUuCisjICAgICB4Lm8gPSB4LnV0Y29mZnNldCgpLCBhbmQgYXNzdW1pbmcgdGhhdCBkb2Vzbid0IHJhaXNlIGFuIGV4Y2VwdGlvbiBvcgorIyAgICAgICAgICAgcmV0dXJuIE5vbmUKKyMgICAgIHguZCA9IHguZHN0KCksIGFuZCBhc3N1bWluZyB0aGF0IGRvZXNuJ3QgcmFpc2UgYW4gZXhjZXB0aW9uIG9yCisjICAgICAgICAgICByZXR1cm4gTm9uZQorIyAgICAgeC5zID0geCdzIHN0YW5kYXJkIG9mZnNldCwgeC5vIC0geC5kCisjCisjIE5vdyBzb21lIGRlcml2ZWQgcnVsZXMsIHdoZXJlIGsgaXMgYSBkdXJhdGlvbiAodGltZWRlbHRhKS4KKyMKKyMgMS4geC5vID0geC5zICsgeC5kCisjICAgIFRoaXMgZm9sbG93cyBmcm9tIHRoZSBkZWZpbml0aW9uIG9mIHgucy4KKyMKKyMgMi4gSWYgeCBhbmQgeSBoYXZlIHRoZSBzYW1lIHR6aW5mbyBtZW1iZXIsIHgucyA9IHkucy4KKyMgICAgVGhpcyBpcyBhY3R1YWxseSBhIHJlcXVpcmVtZW50LCBhbiBhc3N1bXB0aW9uIHdlIG5lZWQgdG8gbWFrZSBhYm91dAorIyAgICBzYW5lIHR6aW5mbyBjbGFzc2VzLgorIworIyAzLiBUaGUgbmFpdmUgVVRDIHRpbWUgY29ycmVzcG9uZGluZyB0byB4IGlzIHgubiAtIHguby4KKyMgICAgVGhpcyBpcyBhZ2FpbiBhIHJlcXVpcmVtZW50IGZvciBhIHNhbmUgdHppbmZvIGNsYXNzLgorIworIyA0LiAoeCtrKS5zID0geC5zCisjICAgIFRoaXMgZm9sbG93cyBmcm9tICMyLCBhbmQgdGhhdCBkYXRpbWV0aW1ldHordGltZWRlbHRhIHByZXNlcnZlcyB0emluZm8uCisjCisjIDUuICh4K2spLm4gPSB4Lm4gKyBrCisjICAgIEFnYWluIGZvbGxvd3MgZnJvbSBob3cgYXJpdGhtZXRpYyBpcyBkZWZpbmVkLgorIworIyBOb3cgd2UgY2FuIGV4cGxhaW4gdHouZnJvbXV0Yyh4KS4gIExldCdzIGFzc3VtZSBpdCdzIGFuIGludGVyZXN0aW5nIGNhc2UKKyMgKG1lYW5pbmcgdGhhdCB0aGUgdmFyaW91cyB0emluZm8gbWV0aG9kcyBleGlzdCwgYW5kIGRvbid0IGJsb3cgdXAgb3IgcmV0dXJuCisjIE5vbmUgd2hlbiBjYWxsZWQpLgorIworIyBUaGUgZnVuY3Rpb24gd2FudHMgdG8gcmV0dXJuIGEgZGF0ZXRpbWUgeSB3aXRoIHRpbWV6b25lIHR6LCBlcXVpdmFsZW50IHRvIHguCisjIHggaXMgYWxyZWFkeSBpbiBVVEMuCisjCisjIEJ5ICMzLCB3ZSB3YW50CisjCisjICAgICB5Lm4gLSB5Lm8gPSB4Lm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsxXQorIworIyBUaGUgYWxnb3JpdGhtIHN0YXJ0cyBieSBhdHRhY2hpbmcgdHogdG8geC5uLCBhbmQgY2FsbGluZyB0aGF0IHkuICBTbworIyB4Lm4gPSB5Lm4gYXQgdGhlIHN0YXJ0LiAgVGhlbiBpdCB3YW50cyB0byBhZGQgYSBkdXJhdGlvbiBrIHRvIHksIHNvIHRoYXQgWzFdCisjIGJlY29tZXMgdHJ1ZTsgaW4gZWZmZWN0LCB3ZSB3YW50IHRvIHNvbHZlIFsyXSBmb3IgazoKKyMKKyMgICAgKHkraykubiAtICh5K2spLm8gPSB4Lm4gICAgICAgICAgICAgICAgICAgICAgWzJdCisjCisjIEJ5ICMxLCB0aGlzIGlzIHRoZSBzYW1lIGFzCisjCisjICAgICh5K2spLm4gLSAoKHkraykucyArICh5K2spLmQpID0geC5uICAgICAgICAgIFszXQorIworIyBCeSAjNSwgKHkraykubiA9IHkubiArIGssIHdoaWNoIGVxdWFscyB4Lm4gKyBrIGJlY2F1c2UgeC5uPXkubiBhdCB0aGUgc3RhcnQuCisjIFN1YnN0aXR1dGluZyB0aGF0IGludG8gWzNdLAorIworIyAgICB4Lm4gKyBrIC0gKHkraykucyAtICh5K2spLmQgPSB4Lm47IHRoZSB4Lm4gdGVybXMgY2FuY2VsLCBsZWF2aW5nCisjICAgIGsgLSAoeStrKS5zIC0gKHkraykuZCA9IDA7IHJlYXJyYW5naW5nLAorIyAgICBrID0gKHkraykucyAtICh5K2spLmQ7IGJ5ICM0LCAoeStrKS5zID09IHkucywgc28KKyMgICAgayA9IHkucyAtICh5K2spLmQKKyMKKyMgT24gdGhlIFJIUywgKHkraykuZCBjYW4ndCBiZSBjb21wdXRlZCBkaXJlY3RseSwgYnV0IHkucyBjYW4gYmUsIGFuZCB3ZQorIyBhcHByb3hpbWF0ZSBrIGJ5IGlnbm9yaW5nIHRoZSAoeStrKS5kIHRlcm0gYXQgZmlyc3QuICBOb3RlIHRoYXQgayBjYW4ndCBiZQorIyB2ZXJ5IGxhcmdlLCBzaW5jZSBhbGwgb2Zmc2V0LXJldHVybmluZyBtZXRob2RzIHJldHVybiBhIGR1cmF0aW9uIG9mIG1hZ25pdHVkZQorIyBsZXNzIHRoYW4gMjQgaG91cnMuICBGb3IgdGhhdCByZWFzb24sIGlmIHkgaXMgZmlybWx5IGluIHN0ZCB0aW1lLCAoeStrKS5kIG11c3QKKyMgYmUgMCwgc28gaWdub3JpbmcgaXQgaGFzIG5vIGNvbnNlcXVlbmNlIHRoZW4uCisjCisjIEluIGFueSBjYXNlLCB0aGUgbmV3IHZhbHVlIGlzCisjCisjICAgICB6ID0geSArIHkucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XQorIworIyBJdCdzIGhlbHBmdWwgdG8gc3RlcCBiYWNrIGF0IGxvb2sgYXQgWzRdIGZyb20gYSBoaWdoZXIgbGV2ZWw6ICBpdCdzIHNpbXBseQorIyBtYXBwaW5nIGZyb20gVVRDIHRvIHR6J3Mgc3RhbmRhcmQgdGltZS4KKyMKKyMgQXQgdGhpcyBwb2ludCwgaWYKKyMKKyMgICAgIHoubiAtIHoubyA9IHgubiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzVdCisjCisjIHdlIGhhdmUgYW4gZXF1aXZhbGVudCB0aW1lLCBhbmQgYXJlIGFsbW9zdCBkb25lLiAgVGhlIGluc2VjdXJpdHkgaGVyZSBpcworIyBhdCB0aGUgc3RhcnQgb2YgZGF5bGlnaHQgdGltZS4gIFBpY3R1cmUgVVMgRWFzdGVybiBmb3IgY29uY3JldGVuZXNzLiAgVGhlIHdhbGwKKyMgdGltZSBqdW1wcyBmcm9tIDE6NTkgdG8gMzowMCwgYW5kIHdhbGwgaG91cnMgb2YgdGhlIGZvcm0gMjpNTSBkb24ndCBtYWtlIGdvb2QKKyMgc2Vuc2UgdGhlbi4gIFRoZSBkb2NzIGFzayB0aGF0IGFuIEVhc3Rlcm4gdHppbmZvIGNsYXNzIGNvbnNpZGVyIHN1Y2ggYSB0aW1lIHRvCisjIGJlIEVEVCAoYmVjYXVzZSBpdCdzICJhZnRlciAyIiksIHdoaWNoIGlzIGEgcmVkdW5kYW50IHNwZWxsaW5nIG9mIDE6TU0gRVNUCisjIG9uIHRoZSBkYXkgRFNUIHN0YXJ0cy4gIFdlIHdhbnQgdG8gcmV0dXJuIHRoZSAxOk1NIEVTVCBzcGVsbGluZyBiZWNhdXNlIHRoYXQncworIyB0aGUgb25seSBzcGVsbGluZyB0aGF0IG1ha2VzIHNlbnNlIG9uIHRoZSBsb2NhbCB3YWxsIGNsb2NrLgorIworIyBJbiBmYWN0LCBpZiBbNV0gaG9sZHMgYXQgdGhpcyBwb2ludCwgd2UgZG8gaGF2ZSB0aGUgc3RhbmRhcmQtdGltZSBzcGVsbGluZywKKyMgYnV0IHRoYXQgdGFrZXMgYSBiaXQgb2YgcHJvb2YuICBXZSBmaXJzdCBwcm92ZSBhIHN0cm9uZ2VyIHJlc3VsdC4gIFdoYXQncyB0aGUKKyMgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBMSFMgYW5kIFJIUyBvZiBbNV0/ICBMZXQKKyMKKyMgICAgIGRpZmYgPSB4Lm4gLSAoei5uIC0gei5vKSAgICAgICAgICAgICAgICAgICAgWzZdCisjCisjIE5vdworIyAgICAgei5uID0gICAgICAgICAgICAgICAgICAgICAgIGJ5IFs0XQorIyAgICAgKHkgKyB5LnMpLm4gPSAgICAgICAgICAgICAgIGJ5ICM1CisjICAgICB5Lm4gKyB5LnMgPSAgICAgICAgICAgICAgICAgc2luY2UgeS5uID0geC5uCisjICAgICB4Lm4gKyB5LnMgPSAgICAgICAgICAgICAgICAgc2luY2UgeiBhbmQgeSBhcmUgaGF2ZSB0aGUgc2FtZSB0emluZm8gbWVtYmVyLAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5LnMgPSB6LnMgYnkgIzIKKyMgICAgIHgubiArIHoucworIworIyBQbHVnZ2luZyB0aGF0IGJhY2sgaW50byBbNl0gZ2l2ZXMKKyMKKyMgICAgIGRpZmYgPQorIyAgICAgeC5uIC0gKCh4Lm4gKyB6LnMpIC0gei5vKSA9ICAgICBleHBhbmRpbmcKKyMgICAgIHgubiAtIHgubiAtIHoucyArIHoubyA9ICAgICAgICAgY2FuY2VsbGluZworIyAgICAgLSB6LnMgKyB6Lm8gPSAgICAgICAgICAgICAgICAgICBieSAjMgorIyAgICAgei5kCisjCisjIFNvIGRpZmYgPSB6LmQuCisjCisjIElmIFs1XSBpcyB0cnVlIG5vdywgZGlmZiA9IDAsIHNvIHouZCA9IDAgdG9vLCBhbmQgd2UgaGF2ZSB0aGUgc3RhbmRhcmQtdGltZQorIyBzcGVsbGluZyB3ZSB3YW50ZWQgaW4gdGhlIGVuZGNhc2UgZGVzY3JpYmVkIGFib3ZlLiAgV2UncmUgZG9uZS4gIENvbnRyYXJpbHksCisjIGlmIHouZCA9IDAsIHRoZW4gd2UgaGF2ZSBhIFVUQyBlcXVpdmFsZW50LCBhbmQgYXJlIGFsc28gZG9uZS4KKyMKKyMgSWYgWzVdIGlzIG5vdCB0cnVlIG5vdywgZGlmZiA9IHouZCAhPSAwLCBhbmQgei5kIGlzIHRoZSBvZmZzZXQgd2UgbmVlZCB0bworIyBhZGQgdG8geiAoaW4gZWZmZWN0LCB6IGlzIGluIHR6J3Mgc3RhbmRhcmQgdGltZSwgYW5kIHdlIG5lZWQgdG8gc2hpZnQgdGhlCisjIGxvY2FsIGNsb2NrIGludG8gdHoncyBkYXlsaWdodCB0aW1lKS4KKyMKKyMgTGV0CisjCisjICAgICB6JyA9IHogKyB6LmQgPSB6ICsgZGlmZiAgICAgICAgICAgICAgICAgICAgIFs3XQorIworIyBhbmQgd2UgY2FuIGFnYWluIGFzayB3aGV0aGVyCisjCisjICAgICB6Jy5uIC0geicubyA9IHgubiAgICAgICAgICAgICAgICAgICAgICAgICAgIFs4XQorIworIyBJZiBzbywgd2UncmUgZG9uZS4gIElmIG5vdCwgdGhlIHR6aW5mbyBjbGFzcyBpcyBpbnNhbmUsIGFjY29yZGluZyB0byB0aGUKKyMgYXNzdW1wdGlvbnMgd2UndmUgbWFkZS4gIFRoaXMgYWxzbyByZXF1aXJlcyBhIGJpdCBvZiBwcm9vZi4gIEFzIGJlZm9yZSwgbGV0J3MKKyMgY29tcHV0ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBMSFMgYW5kIFJIUyBvZiBbOF0gKGFuZCBza2lwcGluZyBzb21lIG9mCisjIHRoZSBqdXN0aWZpY2F0aW9ucyBmb3IgdGhlIGtpbmRzIG9mIHN1YnN0aXR1dGlvbnMgd2UndmUgZG9uZSBzZXZlcmFsIHRpbWVzCisjIGFscmVhZHkpOgorIworIyAgICAgZGlmZicgPSB4Lm4gLSAoeicubiAtIHonLm8pID0gICAgICAgICAgIHJlcGxhY2luZyB6Jy5uIHZpYSBbN10KKyMgICAgICAgICAgICAgeC5uICAtICh6Lm4gKyBkaWZmIC0geicubykgPSAgICByZXBsYWNpbmcgZGlmZiB2aWEgWzZdCisjICAgICAgICAgICAgIHgubiAtICh6Lm4gKyB4Lm4gLSAoei5uIC0gei5vKSAtIHonLm8pID0KKyMgICAgICAgICAgICAgeC5uIC0gei5uIC0geC5uICsgei5uIC0gei5vICsgeicubyA9ICAgIGNhbmNlbCB4Lm4KKyMgICAgICAgICAgICAgLSB6Lm4gKyB6Lm4gLSB6Lm8gKyB6Jy5vID0gICAgICAgICAgICAgIGNhbmNlbCB6Lm4KKyMgICAgICAgICAgICAgLSB6Lm8gKyB6Jy5vID0gICAgICAgICAgICAgICAgICAgICAgIzEgdHdpY2UKKyMgICAgICAgICAgICAgLXoucyAtIHouZCArIHonLnMgKyB6Jy5kID0gICAgICAgICAgeiBhbmQgeicgaGF2ZSBzYW1lIHR6aW5mbworIyAgICAgICAgICAgICB6Jy5kIC0gei5kCisjCisjIFNvIHonIGlzIFVUQy1lcXVpdmFsZW50IHRvIHggaWZmIHonLmQgPSB6LmQgYXQgdGhpcyBwb2ludC4gIElmIHRoZXkgYXJlIGVxdWFsLAorIyB3ZSd2ZSBmb3VuZCB0aGUgVVRDLWVxdWl2YWxlbnQgc28gYXJlIGRvbmUuICBJbiBmYWN0LCB3ZSBzdG9wIHdpdGggWzddIGFuZAorIyByZXR1cm4geicsIG5vdCBib3RoZXJpbmcgdG8gY29tcHV0ZSB6Jy5kLgorIworIyBIb3cgY291bGQgei5kIGFuZCB6J2QgZGlmZmVyPyAgeicgPSB6ICsgei5kIFs3XSwgc28gbWVyZWx5IG1vdmluZyB6JyBieQorIyBhIGRzdCgpIG9mZnNldCwgYW5kIHN0YXJ0aW5nICpmcm9tKiBhIHRpbWUgYWxyZWFkeSBpbiBEU1QgKHdlIGtub3cgei5kICE9IDApLAorIyB3b3VsZCBoYXZlIHRvIGNoYW5nZSB0aGUgcmVzdWx0IGRzdCgpIHJldHVybnM6ICB3ZSBzdGFydCBpbiBEU1QsIGFuZCBtb3ZpbmcKKyMgYSBsaXR0bGUgZnVydGhlciBpbnRvIGl0IHRha2VzIHVzIG91dCBvZiBEU1QuCisjCisjIFRoZXJlIGlzbid0IGEgc2FuZSBjYXNlIHdoZXJlIHRoaXMgY2FuIGhhcHBlbi4gIFRoZSBjbG9zZXN0IGl0IGdldHMgaXMgYXQKKyMgdGhlIGVuZCBvZiBEU1QsIHdoZXJlIHRoZXJlJ3MgYW4gaG91ciBpbiBVVEMgd2l0aCBubyBzcGVsbGluZyBpbiBhIGh5YnJpZAorIyB0emluZm8gY2xhc3MuICBJbiBVUyBFYXN0ZXJuLCB0aGF0J3MgNTpNTSBVVEMgPSAwOk1NIEVTVCA9IDE6TU0gRURULiAgRHVyaW5nCisjIHRoYXQgaG91ciwgb24gYW4gRWFzdGVybiBjbG9jayAxOk1NIGlzIHRha2VuIGFzIGJlaW5nIGluIHN0YW5kYXJkIHRpbWUgKDY6TU0KKyMgVVRDKSBiZWNhdXNlIHRoZSBkb2NzIGluc2lzdCBvbiB0aGF0LCBidXQgMDpNTSBpcyB0YWtlbiBhcyBiZWluZyBpbiBkYXlsaWdodAorIyB0aW1lICg0Ok1NIFVUQykuICBUaGVyZSBpcyBubyBsb2NhbCB0aW1lIG1hcHBpbmcgdG8gNTpNTSBVVEMuICBUaGUgbG9jYWwKKyMgY2xvY2sganVtcHMgZnJvbSAxOjU5IGJhY2sgdG8gMTowMCBhZ2FpbiwgYW5kIHJlcGVhdHMgdGhlIDE6TU0gaG91ciBpbgorIyBzdGFuZGFyZCB0aW1lLiAgU2luY2UgdGhhdCdzIHdoYXQgdGhlIGxvY2FsIGNsb2NrICpkb2VzKiwgd2Ugd2FudCB0byBtYXAgYm90aAorIyBVVEMgaG91cnMgNTpNTSBhbmQgNjpNTSB0byAxOk1NIEVhc3Rlcm4uICBUaGUgcmVzdWx0IGlzIGFtYmlndW91cworIyBpbiBsb2NhbCB0aW1lLCBidXQgc28gaXQgZ29lcyAtLSBpdCdzIHRoZSB3YXkgdGhlIGxvY2FsIGNsb2NrIHdvcmtzLgorIworIyBXaGVuIHggPSA1Ok1NIFVUQyBpcyB0aGUgaW5wdXQgdG8gdGhpcyBhbGdvcml0aG0sIHgubz0wLCB5Lm89LTUgYW5kIHkuZD0wLAorIyBzbyB6PTA6TU0uICB6LmQ9NjAgKG1pbnV0ZXMpIHRoZW4sIHNvIFs1XSBkb2Vzbid0IGhvbGQgYW5kIHdlIGtlZXAgZ29pbmcuCisjIHonID0geiArIHouZCA9IDE6TU0gdGhlbiwgYW5kIHonLmQ9MCwgYW5kIHonLmQgLSB6LmQgPSAtNjAgIT0gMCBzbyBbOF0KKyMgKGNvcnJlY3RseSkgY29uY2x1ZGVzIHRoYXQgeicgaXMgbm90IFVUQy1lcXVpdmFsZW50IHRvIHguCisjCisjIEJlY2F1c2Ugd2Uga25vdyB6LmQgc2FpZCB6IHdhcyBpbiBkYXlsaWdodCB0aW1lIChlbHNlIFs1XSB3b3VsZCBoYXZlIGhlbGQgYW5kCisjIHdlIHdvdWxkIGhhdmUgc3RvcHBlZCB0aGVuKSwgYW5kIHdlIGtub3cgei5kICE9IHonLmQgKGVsc2UgWzhdIHdvdWxkIGhhdmUgaGVsZAorIyBhbmQgd2UgaGF2ZSBzdG9wcGVkIHRoZW4pLCBhbmQgdGhlcmUgYXJlIG9ubHkgMiBwb3NzaWJsZSB2YWx1ZXMgZHN0KCkgY2FuCisjIHJldHVybiBpbiBFYXN0ZXJuLCBpdCBmb2xsb3dzIHRoYXQgeicuZCBtdXN0IGJlIDAgKHdoaWNoIGl0IGlzIGluIHRoZSBleGFtcGxlLAorIyBidXQgdGhlIHJlYXNvbmluZyBkb2Vzbid0IGRlcGVuZCBvbiB0aGUgZXhhbXBsZSAtLSBpdCBkZXBlbmRzIG9uIHRoZXJlIGJlaW5nCisjIHR3byBwb3NzaWJsZSBkc3QoKSBvdXRjb21lcywgb25lIHplcm8gYW5kIHRoZSBvdGhlciBub24temVybykuICBUaGVyZWZvcmUKKyMgeicgbXVzdCBiZSBpbiBzdGFuZGFyZCB0aW1lLCBhbmQgaXMgdGhlIHNwZWxsaW5nIHdlIHdhbnQgaW4gdGhpcyBjYXNlLgorIworIyBOb3RlIGFnYWluIHRoYXQgeicgaXMgbm90IFVUQy1lcXVpdmFsZW50IGFzIGZhciBhcyB0aGUgaHlicmlkIHR6aW5mbyBjbGFzcyBpcworIyBjb25jZXJuZWQgKGJlY2F1c2UgaXQgdGFrZXMgeicgYXMgYmVpbmcgaW4gc3RhbmRhcmQgdGltZSByYXRoZXIgdGhhbiB0aGUKKyMgZGF5bGlnaHQgdGltZSB3ZSBpbnRlbmQgaGVyZSksIGJ1dCByZXR1cm5pbmcgaXQgZ2l2ZXMgdGhlIHJlYWwtbGlmZSAibG9jYWwKKyMgY2xvY2sgcmVwZWF0cyBhbiBob3VyIiBiZWhhdmlvciB3aGVuIG1hcHBpbmcgdGhlICJ1bnNwZWxsYWJsZSIgVVRDIGhvdXIgaW50bworIyB0ei4KKyMKKyMgV2hlbiB0aGUgaW5wdXQgaXMgNjpNTSwgej0xOk1NIGFuZCB6LmQ9MCwgYW5kIHdlIHN0b3AgYXQgb25jZSwgYWdhaW4gd2l0aAorIyB0aGUgMTpNTSBzdGFuZGFyZCB0aW1lIHNwZWxsaW5nIHdlIHdhbnQuCisjCisjIFNvIGhvdyBjYW4gdGhpcyBicmVhaz8gIE9uZSBvZiB0aGUgYXNzdW1wdGlvbnMgbXVzdCBiZSB2aW9sYXRlZC4gIFR3bworIyBwb3NzaWJpbGl0aWVzOgorIworIyAxKSBbMl0gZWZmZWN0aXZlbHkgc2F5cyB0aGF0IHkucyBpcyBpbnZhcmlhbnQgYWNyb3NzIGFsbCB5IGJlbG9uZyB0byBhIGdpdmVuCisjICAgIHRpbWUgem9uZS4gIFRoaXMgaXNuJ3QgdHJ1ZSBpZiwgZm9yIHBvbGl0aWNhbCByZWFzb25zIG9yIGNvbnRpbmVudGFsIGRyaWZ0LAorIyAgICBhIHJlZ2lvbiBkZWNpZGVzIHRvIGNoYW5nZSBpdHMgYmFzZSBvZmZzZXQgZnJvbSBVVEMuCisjCisjIDIpIFRoZXJlIG1heSBiZSB2ZXJzaW9ucyBvZiAiZG91YmxlIGRheWxpZ2h0IiB0aW1lIHdoZXJlIHRoZSB0YWlsIGVuZCBvZgorIyAgICB0aGUgYW5hbHlzaXMgZ2l2ZXMgdXAgYSBzdGVwIHRvbyBlYXJseS4gIEkgaGF2ZW4ndCB0aG91Z2h0IGFib3V0IHRoYXQKKyMgICAgZW5vdWdoIHRvIHNheS4KKyMKKyMgSW4gYW55IGNhc2UsIGl0J3MgY2xlYXIgdGhhdCB0aGUgZGVmYXVsdCBmcm9tdXRjKCkgaXMgc3Ryb25nIGVub3VnaCB0byBoYW5kbGUKKyMgImFsbW9zdCBhbGwiIHRpbWUgem9uZXM6ICBzbyBsb25nIGFzIHRoZSBzdGFuZGFyZCBvZmZzZXQgaXMgaW52YXJpYW50LCBpdAorIyBkb2Vzbid0IG1hdHRlciBpZiBkYXlsaWdodCB0aW1lIHRyYW5zaXRpb24gcG9pbnRzIGNoYW5nZSBmcm9tIHllYXIgdG8geWVhciwgb3IKKyMgaWYgZGF5bGlnaHQgdGltZSBpcyBza2lwcGVkIGluIHNvbWUgeWVhcnM7IGl0IGRvZXNuJ3QgbWF0dGVyIGhvdyBsYXJnZSBvcgorIyBzbWFsbCBkc3QoKSBtYXkgZ2V0IHdpdGhpbiBpdHMgYm91bmRzOyBhbmQgaXQgZG9lc24ndCBldmVuIG1hdHRlciBpZiBzb21lCisjIHBlcnZlcnNlIHRpbWUgem9uZSByZXR1cm5zIGEgbmVnYXRpdmUgZHN0KCkpLiAgU28gYSBicmVha2luZyBjYXNlIG11c3QgYmUKKyMgcHJldHR5IGJpemFycmUsIGFuZCBhIHR6aW5mbyBzdWJjbGFzcyBjYW4gb3ZlcnJpZGUgZnJvbXV0YygpIGlmIGl0IGlzLgogCi0xLiB4Lm8gPSB4LnMgKyB4LmQKLSAgIFRoaXMgZm9sbG93cyBmcm9tIHRoZSBkZWZpbml0aW9uIG9mIHgucy4KLQotMi4gSWYgeCBhbmQgeSBoYXZlIHRoZSBzYW1lIHR6aW5mbyBtZW1iZXIsIHgucyA9IHkucy4KLSAgIFRoaXMgaXMgYWN0dWFsbHkgYSByZXF1aXJlbWVudCwgYW4gYXNzdW1wdGlvbiB3ZSBuZWVkIHRvIG1ha2UgYWJvdXQKLSAgIHNhbmUgdHppbmZvIGNsYXNzZXMuCi0KLTMuIFRoZSBuYWl2ZSBVVEMgdGltZSBjb3JyZXNwb25kaW5nIHRvIHggaXMgeC5uIC0geC5vLgotICAgVGhpcyBpcyBhZ2FpbiBhIHJlcXVpcmVtZW50IGZvciBhIHNhbmUgdHppbmZvIGNsYXNzLgotCi00LiAoeCtrKS5zID0geC5zCi0gICBUaGlzIGZvbGxvd3MgZnJvbSAjMiwgYW5kIHRoYXQgZGF0aW1ldGltZXR6K3RpbWVkZWx0YSBwcmVzZXJ2ZXMgdHppbmZvLgotCi01LiAoeCtrKS5uID0geC5uICsgawotICAgQWdhaW4gZm9sbG93cyBmcm9tIGhvdyBhcml0aG1ldGljIGlzIGRlZmluZWQuCi0KLU5vdyB3ZSBjYW4gZXhwbGFpbiB0ei5mcm9tdXRjKHgpLiAgTGV0J3MgYXNzdW1lIGl0J3MgYW4gaW50ZXJlc3RpbmcgY2FzZQotKG1lYW5pbmcgdGhhdCB0aGUgdmFyaW91cyB0emluZm8gbWV0aG9kcyBleGlzdCwgYW5kIGRvbid0IGJsb3cgdXAgb3IgcmV0dXJuCi1Ob25lIHdoZW4gY2FsbGVkKS4KLQotVGhlIGZ1bmN0aW9uIHdhbnRzIHRvIHJldHVybiBhIGRhdGV0aW1lIHkgd2l0aCB0aW1lem9uZSB0eiwgZXF1aXZhbGVudCB0byB4LgoteCBpcyBhbHJlYWR5IGluIFVUQy4KLQotQnkgIzMsIHdlIHdhbnQKLQotICAgIHkubiAtIHkubyA9IHgubiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzFdCi0KLVRoZSBhbGdvcml0aG0gc3RhcnRzIGJ5IGF0dGFjaGluZyB0eiB0byB4Lm4sIGFuZCBjYWxsaW5nIHRoYXQgeS4gIFNvCi14Lm4gPSB5Lm4gYXQgdGhlIHN0YXJ0LiAgVGhlbiBpdCB3YW50cyB0byBhZGQgYSBkdXJhdGlvbiBrIHRvIHksIHNvIHRoYXQgWzFdCi1iZWNvbWVzIHRydWU7IGluIGVmZmVjdCwgd2Ugd2FudCB0byBzb2x2ZSBbMl0gZm9yIGs6Ci0KLSAgICh5K2spLm4gLSAoeStrKS5vID0geC5uICAgICAgICAgICAgICAgICAgICAgIFsyXQotCi1CeSAjMSwgdGhpcyBpcyB0aGUgc2FtZSBhcwotCi0gICAoeStrKS5uIC0gKCh5K2spLnMgKyAoeStrKS5kKSA9IHgubiAgICAgICAgICBbM10KLQotQnkgIzUsICh5K2spLm4gPSB5Lm4gKyBrLCB3aGljaCBlcXVhbHMgeC5uICsgayBiZWNhdXNlIHgubj15Lm4gYXQgdGhlIHN0YXJ0LgotU3Vic3RpdHV0aW5nIHRoYXQgaW50byBbM10sCi0KLSAgIHgubiArIGsgLSAoeStrKS5zIC0gKHkraykuZCA9IHgubjsgdGhlIHgubiB0ZXJtcyBjYW5jZWwsIGxlYXZpbmcKLSAgIGsgLSAoeStrKS5zIC0gKHkraykuZCA9IDA7IHJlYXJyYW5naW5nLAotICAgayA9ICh5K2spLnMgLSAoeStrKS5kOyBieSAjNCwgKHkraykucyA9PSB5LnMsIHNvCi0gICBrID0geS5zIC0gKHkraykuZAotCi1PbiB0aGUgUkhTLCAoeStrKS5kIGNhbid0IGJlIGNvbXB1dGVkIGRpcmVjdGx5LCBidXQgeS5zIGNhbiBiZSwgYW5kIHdlCi1hcHByb3hpbWF0ZSBrIGJ5IGlnbm9yaW5nIHRoZSAoeStrKS5kIHRlcm0gYXQgZmlyc3QuICBOb3RlIHRoYXQgayBjYW4ndCBiZQotdmVyeSBsYXJnZSwgc2luY2UgYWxsIG9mZnNldC1yZXR1cm5pbmcgbWV0aG9kcyByZXR1cm4gYSBkdXJhdGlvbiBvZiBtYWduaXR1ZGUKLWxlc3MgdGhhbiAyNCBob3Vycy4gIEZvciB0aGF0IHJlYXNvbiwgaWYgeSBpcyBmaXJtbHkgaW4gc3RkIHRpbWUsICh5K2spLmQgbXVzdAotYmUgMCwgc28gaWdub3JpbmcgaXQgaGFzIG5vIGNvbnNlcXVlbmNlIHRoZW4uCi0KLUluIGFueSBjYXNlLCB0aGUgbmV3IHZhbHVlIGlzCi0KLSAgICB6ID0geSArIHkucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs0XQotCi1JdCdzIGhlbHBmdWwgdG8gc3RlcCBiYWNrIGF0IGxvb2sgYXQgWzRdIGZyb20gYSBoaWdoZXIgbGV2ZWw6ICBpdCdzIHNpbXBseQotbWFwcGluZyBmcm9tIFVUQyB0byB0eidzIHN0YW5kYXJkIHRpbWUuCi0KLUF0IHRoaXMgcG9pbnQsIGlmCi0KLSAgICB6Lm4gLSB6Lm8gPSB4Lm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs1XQotCi13ZSBoYXZlIGFuIGVxdWl2YWxlbnQgdGltZSwgYW5kIGFyZSBhbG1vc3QgZG9uZS4gIFRoZSBpbnNlY3VyaXR5IGhlcmUgaXMKLWF0IHRoZSBzdGFydCBvZiBkYXlsaWdodCB0aW1lLiAgUGljdHVyZSBVUyBFYXN0ZXJuIGZvciBjb25jcmV0ZW5lc3MuICBUaGUgd2FsbAotdGltZSBqdW1wcyBmcm9tIDE6NTkgdG8gMzowMCwgYW5kIHdhbGwgaG91cnMgb2YgdGhlIGZvcm0gMjpNTSBkb24ndCBtYWtlIGdvb2QKLXNlbnNlIHRoZW4uICBUaGUgZG9jcyBhc2sgdGhhdCBhbiBFYXN0ZXJuIHR6aW5mbyBjbGFzcyBjb25zaWRlciBzdWNoIGEgdGltZSB0bwotYmUgRURUIChiZWNhdXNlIGl0J3MgImFmdGVyIDIiKSwgd2hpY2ggaXMgYSByZWR1bmRhbnQgc3BlbGxpbmcgb2YgMTpNTSBFU1QKLW9uIHRoZSBkYXkgRFNUIHN0YXJ0cy4gIFdlIHdhbnQgdG8gcmV0dXJuIHRoZSAxOk1NIEVTVCBzcGVsbGluZyBiZWNhdXNlIHRoYXQncwotdGhlIG9ubHkgc3BlbGxpbmcgdGhhdCBtYWtlcyBzZW5zZSBvbiB0aGUgbG9jYWwgd2FsbCBjbG9jay4KLQotSW4gZmFjdCwgaWYgWzVdIGhvbGRzIGF0IHRoaXMgcG9pbnQsIHdlIGRvIGhhdmUgdGhlIHN0YW5kYXJkLXRpbWUgc3BlbGxpbmcsCi1idXQgdGhhdCB0YWtlcyBhIGJpdCBvZiBwcm9vZi4gIFdlIGZpcnN0IHByb3ZlIGEgc3Ryb25nZXIgcmVzdWx0LiAgV2hhdCdzIHRoZQotZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBMSFMgYW5kIFJIUyBvZiBbNV0/ICBMZXQKLQotICAgIGRpZmYgPSB4Lm4gLSAoei5uIC0gei5vKSAgICAgICAgICAgICAgICAgICAgWzZdCi0KLU5vdwotICAgIHoubiA9ICAgICAgICAgICAgICAgICAgICAgICBieSBbNF0KLSAgICAoeSArIHkucykubiA9ICAgICAgICAgICAgICAgYnkgIzUKLSAgICB5Lm4gKyB5LnMgPSAgICAgICAgICAgICAgICAgc2luY2UgeS5uID0geC5uCi0gICAgeC5uICsgeS5zID0gICAgICAgICAgICAgICAgIHNpbmNlIHogYW5kIHkgYXJlIGhhdmUgdGhlIHNhbWUgdHppbmZvIG1lbWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkucyA9IHoucyBieSAjMgotICAgIHgubiArIHoucwotCi1QbHVnZ2luZyB0aGF0IGJhY2sgaW50byBbNl0gZ2l2ZXMKLQotICAgIGRpZmYgPQotICAgIHgubiAtICgoeC5uICsgei5zKSAtIHoubykgPSAgICAgZXhwYW5kaW5nCi0gICAgeC5uIC0geC5uIC0gei5zICsgei5vID0gICAgICAgICBjYW5jZWxsaW5nCi0gICAgLSB6LnMgKyB6Lm8gPSAgICAgICAgICAgICAgICAgICBieSAjMgotICAgIHouZAotCi1TbyBkaWZmID0gei5kLgotCi1JZiBbNV0gaXMgdHJ1ZSBub3csIGRpZmYgPSAwLCBzbyB6LmQgPSAwIHRvbywgYW5kIHdlIGhhdmUgdGhlIHN0YW5kYXJkLXRpbWUKLXNwZWxsaW5nIHdlIHdhbnRlZCBpbiB0aGUgZW5kY2FzZSBkZXNjcmliZWQgYWJvdmUuICBXZSdyZSBkb25lLiAgQ29udHJhcmlseSwKLWlmIHouZCA9IDAsIHRoZW4gd2UgaGF2ZSBhIFVUQyBlcXVpdmFsZW50LCBhbmQgYXJlIGFsc28gZG9uZS4KLQotSWYgWzVdIGlzIG5vdCB0cnVlIG5vdywgZGlmZiA9IHouZCAhPSAwLCBhbmQgei5kIGlzIHRoZSBvZmZzZXQgd2UgbmVlZCB0bwotYWRkIHRvIHogKGluIGVmZmVjdCwgeiBpcyBpbiB0eidzIHN0YW5kYXJkIHRpbWUsIGFuZCB3ZSBuZWVkIHRvIHNoaWZ0IHRoZQotbG9jYWwgY2xvY2sgaW50byB0eidzIGRheWxpZ2h0IHRpbWUpLgotCi1MZXQKLQotICAgIHonID0geiArIHouZCA9IHogKyBkaWZmICAgICAgICAgICAgICAgICAgICAgWzddCi0KLWFuZCB3ZSBjYW4gYWdhaW4gYXNrIHdoZXRoZXIKLQotICAgIHonLm4gLSB6Jy5vID0geC5uICAgICAgICAgICAgICAgICAgICAgICAgICAgWzhdCi0KLUlmIHNvLCB3ZSdyZSBkb25lLiAgSWYgbm90LCB0aGUgdHppbmZvIGNsYXNzIGlzIGluc2FuZSwgYWNjb3JkaW5nIHRvIHRoZQotYXNzdW1wdGlvbnMgd2UndmUgbWFkZS4gIFRoaXMgYWxzbyByZXF1aXJlcyBhIGJpdCBvZiBwcm9vZi4gIEFzIGJlZm9yZSwgbGV0J3MKLWNvbXB1dGUgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgTEhTIGFuZCBSSFMgb2YgWzhdIChhbmQgc2tpcHBpbmcgc29tZSBvZgotdGhlIGp1c3RpZmljYXRpb25zIGZvciB0aGUga2luZHMgb2Ygc3Vic3RpdHV0aW9ucyB3ZSd2ZSBkb25lIHNldmVyYWwgdGltZXMKLWFscmVhZHkpOgotCi0gICAgZGlmZicgPSB4Lm4gLSAoeicubiAtIHonLm8pID0gICAgICAgICAgIHJlcGxhY2luZyB6Jy5uIHZpYSBbN10KLSAgICAgICAgICAgIHgubiAgLSAoei5uICsgZGlmZiAtIHonLm8pID0gICAgcmVwbGFjaW5nIGRpZmYgdmlhIFs2XQotICAgICAgICAgICAgeC5uIC0gKHoubiArIHgubiAtICh6Lm4gLSB6Lm8pIC0geicubykgPQotICAgICAgICAgICAgeC5uIC0gei5uIC0geC5uICsgei5uIC0gei5vICsgeicubyA9ICAgIGNhbmNlbCB4Lm4KLSAgICAgICAgICAgIC0gei5uICsgei5uIC0gei5vICsgeicubyA9ICAgICAgICAgICAgICBjYW5jZWwgei5uCi0gICAgICAgICAgICAtIHoubyArIHonLm8gPSAgICAgICAgICAgICAgICAgICAgICAjMSB0d2ljZQotICAgICAgICAgICAgLXoucyAtIHouZCArIHonLnMgKyB6Jy5kID0gICAgICAgICAgeiBhbmQgeicgaGF2ZSBzYW1lIHR6aW5mbwotICAgICAgICAgICAgeicuZCAtIHouZAotCi1TbyB6JyBpcyBVVEMtZXF1aXZhbGVudCB0byB4IGlmZiB6Jy5kID0gei5kIGF0IHRoaXMgcG9pbnQuICBJZiB0aGV5IGFyZSBlcXVhbCwKLXdlJ3ZlIGZvdW5kIHRoZSBVVEMtZXF1aXZhbGVudCBzbyBhcmUgZG9uZS4gIEluIGZhY3QsIHdlIHN0b3Agd2l0aCBbN10gYW5kCi1yZXR1cm4geicsIG5vdCBib3RoZXJpbmcgdG8gY29tcHV0ZSB6Jy5kLgotCi1Ib3cgY291bGQgei5kIGFuZCB6J2QgZGlmZmVyPyAgeicgPSB6ICsgei5kIFs3XSwgc28gbWVyZWx5IG1vdmluZyB6JyBieQotYSBkc3QoKSBvZmZzZXQsIGFuZCBzdGFydGluZyAqZnJvbSogYSB0aW1lIGFscmVhZHkgaW4gRFNUICh3ZSBrbm93IHouZCAhPSAwKSwKLXdvdWxkIGhhdmUgdG8gY2hhbmdlIHRoZSByZXN1bHQgZHN0KCkgcmV0dXJuczogIHdlIHN0YXJ0IGluIERTVCwgYW5kIG1vdmluZwotYSBsaXR0bGUgZnVydGhlciBpbnRvIGl0IHRha2VzIHVzIG91dCBvZiBEU1QuCi0KLVRoZXJlIGlzbid0IGEgc2FuZSBjYXNlIHdoZXJlIHRoaXMgY2FuIGhhcHBlbi4gIFRoZSBjbG9zZXN0IGl0IGdldHMgaXMgYXQKLXRoZSBlbmQgb2YgRFNULCB3aGVyZSB0aGVyZSdzIGFuIGhvdXIgaW4gVVRDIHdpdGggbm8gc3BlbGxpbmcgaW4gYSBoeWJyaWQKLXR6aW5mbyBjbGFzcy4gIEluIFVTIEVhc3Rlcm4sIHRoYXQncyA1Ok1NIFVUQyA9IDA6TU0gRVNUID0gMTpNTSBFRFQuICBEdXJpbmcKLXRoYXQgaG91ciwgb24gYW4gRWFzdGVybiBjbG9jayAxOk1NIGlzIHRha2VuIGFzIGJlaW5nIGluIHN0YW5kYXJkIHRpbWUgKDY6TU0KLVVUQykgYmVjYXVzZSB0aGUgZG9jcyBpbnNpc3Qgb24gdGhhdCwgYnV0IDA6TU0gaXMgdGFrZW4gYXMgYmVpbmcgaW4gZGF5bGlnaHQKLXRpbWUgKDQ6TU0gVVRDKS4gIFRoZXJlIGlzIG5vIGxvY2FsIHRpbWUgbWFwcGluZyB0byA1Ok1NIFVUQy4gIFRoZSBsb2NhbAotY2xvY2sganVtcHMgZnJvbSAxOjU5IGJhY2sgdG8gMTowMCBhZ2FpbiwgYW5kIHJlcGVhdHMgdGhlIDE6TU0gaG91ciBpbgotc3RhbmRhcmQgdGltZS4gIFNpbmNlIHRoYXQncyB3aGF0IHRoZSBsb2NhbCBjbG9jayAqZG9lcyosIHdlIHdhbnQgdG8gbWFwIGJvdGgKLVVUQyBob3VycyA1Ok1NIGFuZCA2Ok1NIHRvIDE6TU0gRWFzdGVybi4gIFRoZSByZXN1bHQgaXMgYW1iaWd1b3VzCi1pbiBsb2NhbCB0aW1lLCBidXQgc28gaXQgZ29lcyAtLSBpdCdzIHRoZSB3YXkgdGhlIGxvY2FsIGNsb2NrIHdvcmtzLgotCi1XaGVuIHggPSA1Ok1NIFVUQyBpcyB0aGUgaW5wdXQgdG8gdGhpcyBhbGdvcml0aG0sIHgubz0wLCB5Lm89LTUgYW5kIHkuZD0wLAotc28gej0wOk1NLiAgei5kPTYwIChtaW51dGVzKSB0aGVuLCBzbyBbNV0gZG9lc24ndCBob2xkIGFuZCB3ZSBrZWVwIGdvaW5nLgoteicgPSB6ICsgei5kID0gMTpNTSB0aGVuLCBhbmQgeicuZD0wLCBhbmQgeicuZCAtIHouZCA9IC02MCAhPSAwIHNvIFs4XQotKGNvcnJlY3RseSkgY29uY2x1ZGVzIHRoYXQgeicgaXMgbm90IFVUQy1lcXVpdmFsZW50IHRvIHguCi0KLUJlY2F1c2Ugd2Uga25vdyB6LmQgc2FpZCB6IHdhcyBpbiBkYXlsaWdodCB0aW1lIChlbHNlIFs1XSB3b3VsZCBoYXZlIGhlbGQgYW5kCi13ZSB3b3VsZCBoYXZlIHN0b3BwZWQgdGhlbiksIGFuZCB3ZSBrbm93IHouZCAhPSB6Jy5kIChlbHNlIFs4XSB3b3VsZCBoYXZlIGhlbGQKLWFuZCB3ZSBoYXZlIHN0b3BwZWQgdGhlbiksIGFuZCB0aGVyZSBhcmUgb25seSAyIHBvc3NpYmxlIHZhbHVlcyBkc3QoKSBjYW4KLXJldHVybiBpbiBFYXN0ZXJuLCBpdCBmb2xsb3dzIHRoYXQgeicuZCBtdXN0IGJlIDAgKHdoaWNoIGl0IGlzIGluIHRoZSBleGFtcGxlLAotYnV0IHRoZSByZWFzb25pbmcgZG9lc24ndCBkZXBlbmQgb24gdGhlIGV4YW1wbGUgLS0gaXQgZGVwZW5kcyBvbiB0aGVyZSBiZWluZwotdHdvIHBvc3NpYmxlIGRzdCgpIG91dGNvbWVzLCBvbmUgemVybyBhbmQgdGhlIG90aGVyIG5vbi16ZXJvKS4gIFRoZXJlZm9yZQoteicgbXVzdCBiZSBpbiBzdGFuZGFyZCB0aW1lLCBhbmQgaXMgdGhlIHNwZWxsaW5nIHdlIHdhbnQgaW4gdGhpcyBjYXNlLgotCi1Ob3RlIGFnYWluIHRoYXQgeicgaXMgbm90IFVUQy1lcXVpdmFsZW50IGFzIGZhciBhcyB0aGUgaHlicmlkIHR6aW5mbyBjbGFzcyBpcwotY29uY2VybmVkIChiZWNhdXNlIGl0IHRha2VzIHonIGFzIGJlaW5nIGluIHN0YW5kYXJkIHRpbWUgcmF0aGVyIHRoYW4gdGhlCi1kYXlsaWdodCB0aW1lIHdlIGludGVuZCBoZXJlKSwgYnV0IHJldHVybmluZyBpdCBnaXZlcyB0aGUgcmVhbC1saWZlICJsb2NhbAotY2xvY2sgcmVwZWF0cyBhbiBob3VyIiBiZWhhdmlvciB3aGVuIG1hcHBpbmcgdGhlICJ1bnNwZWxsYWJsZSIgVVRDIGhvdXIgaW50bwotdHouCi0KLVdoZW4gdGhlIGlucHV0IGlzIDY6TU0sIHo9MTpNTSBhbmQgei5kPTAsIGFuZCB3ZSBzdG9wIGF0IG9uY2UsIGFnYWluIHdpdGgKLXRoZSAxOk1NIHN0YW5kYXJkIHRpbWUgc3BlbGxpbmcgd2Ugd2FudC4KLQotU28gaG93IGNhbiB0aGlzIGJyZWFrPyAgT25lIG9mIHRoZSBhc3N1bXB0aW9ucyBtdXN0IGJlIHZpb2xhdGVkLiAgVHdvCi1wb3NzaWJpbGl0aWVzOgotCi0xKSBbMl0gZWZmZWN0aXZlbHkgc2F5cyB0aGF0IHkucyBpcyBpbnZhcmlhbnQgYWNyb3NzIGFsbCB5IGJlbG9uZyB0byBhIGdpdmVuCi0gICB0aW1lIHpvbmUuICBUaGlzIGlzbid0IHRydWUgaWYsIGZvciBwb2xpdGljYWwgcmVhc29ucyBvciBjb250aW5lbnRhbCBkcmlmdCwKLSAgIGEgcmVnaW9uIGRlY2lkZXMgdG8gY2hhbmdlIGl0cyBiYXNlIG9mZnNldCBmcm9tIFVUQy4KLQotMikgVGhlcmUgbWF5IGJlIHZlcnNpb25zIG9mICJkb3VibGUgZGF5bGlnaHQiIHRpbWUgd2hlcmUgdGhlIHRhaWwgZW5kIG9mCi0gICB0aGUgYW5hbHlzaXMgZ2l2ZXMgdXAgYSBzdGVwIHRvbyBlYXJseS4gIEkgaGF2ZW4ndCB0aG91Z2h0IGFib3V0IHRoYXQKLSAgIGVub3VnaCB0byBzYXkuCi0KLUluIGFueSBjYXNlLCBpdCdzIGNsZWFyIHRoYXQgdGhlIGRlZmF1bHQgZnJvbXV0YygpIGlzIHN0cm9uZyBlbm91Z2ggdG8gaGFuZGxlCi0iYWxtb3N0IGFsbCIgdGltZSB6b25lczogIHNvIGxvbmcgYXMgdGhlIHN0YW5kYXJkIG9mZnNldCBpcyBpbnZhcmlhbnQsIGl0Ci1kb2Vzbid0IG1hdHRlciBpZiBkYXlsaWdodCB0aW1lIHRyYW5zaXRpb24gcG9pbnRzIGNoYW5nZSBmcm9tIHllYXIgdG8geWVhciwgb3IKLWlmIGRheWxpZ2h0IHRpbWUgaXMgc2tpcHBlZCBpbiBzb21lIHllYXJzOyBpdCBkb2Vzbid0IG1hdHRlciBob3cgbGFyZ2Ugb3IKLXNtYWxsIGRzdCgpIG1heSBnZXQgd2l0aGluIGl0cyBib3VuZHM7IGFuZCBpdCBkb2Vzbid0IGV2ZW4gbWF0dGVyIGlmIHNvbWUKLXBlcnZlcnNlIHRpbWUgem9uZSByZXR1cm5zIGEgbmVnYXRpdmUgZHN0KCkpLiAgU28gYSBicmVha2luZyBjYXNlIG11c3QgYmUKLXByZXR0eSBiaXphcnJlLCBhbmQgYSB0emluZm8gc3ViY2xhc3MgY2FuIG92ZXJyaWRlIGZyb211dGMoKSBpZiBpdCBpcy4KLSIiIgogdHJ5OgogICAgIGZyb20gX2RhdGV0aW1lIGltcG9ydCAqCiBleGNlcHQgSW1wb3J0RXJyb3I6CmRpZmYgLS1naXQgYS9MaWIvZGJtL19faW5pdF9fLnB5IGIvTGliL2RibS9fX2luaXRfXy5weQppbmRleCA4MTNhMjlkLi4wNjA5ZTQ5IDEwMDY0NAotLS0gYS9MaWIvZGJtL19faW5pdF9fLnB5CisrKyBiL0xpYi9kYm0vX19pbml0X18ucHkKQEAgLTQyLDcgKzQyLDcgQEAKIF9kZWZhdWx0bW9kID0gTm9uZQogX21vZHVsZXMgPSB7fQogCi1lcnJvciA9IChlcnJvciwgSU9FcnJvcikKK2Vycm9yID0gKGVycm9yLCBPU0Vycm9yKQogCiAKIGRlZiBvcGVuKGZpbGUsIGZsYWc9J3InLCBtb2RlPTBvNjY2KToKQEAgLTEwNiwxMiArMTA2LDEwIEBACiAgICAgdHJ5OgogICAgICAgICBmID0gaW8ub3BlbihmaWxlbmFtZSArICIucGFnIiwgInJiIikKICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICMgZGJtIGxpbmtlZCB3aXRoIGdkYm0gb24gT1MvMiBkb2Vzbid0IGhhdmUgLmRpciBmaWxlCi0gICAgICAgIGlmIG5vdCAobmRibS5saWJyYXJ5ID09ICJHTlUgZ2RibSIgYW5kIHN5cy5wbGF0Zm9ybSA9PSAib3MyZW14Iik6Ci0gICAgICAgICAgICBmID0gaW8ub3BlbihmaWxlbmFtZSArICIuZGlyIiwgInJiIikKLSAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBmID0gaW8ub3BlbihmaWxlbmFtZSArICIuZGlyIiwgInJiIikKKyAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgIHJldHVybiAiZGJtLm5kYm0iCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICMgc29tZSBkYm0gZW11bGF0aW9ucyBiYXNlZCBvbiBCZXJrZWxleSBEQiBnZW5lcmF0ZSBhIC5kYiBmaWxlCiAgICAgICAgICMgc29tZSBkbyBub3QsIGJ1dCB0aGV5IHNob3VsZCBiZSBjYXVnaHQgYnkgdGhlIGJzZCBjaGVja3MKICAgICAgICAgdHJ5OgpAQCAtMTI0LDcgKzEyMiw3IEBACiAgICAgICAgICAgICAgICAgZCA9IG5kYm0ub3BlbihmaWxlbmFtZSkKICAgICAgICAgICAgICAgICBkLmNsb3NlKCkKICAgICAgICAgICAgICAgICByZXR1cm4gImRibS5uZGJtIgotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKICAgICAjIENoZWNrIGZvciBkdW1iZGJtIG5leHQgLS0gdGhpcyBoYXMgYSAuZGlyIGFuZCBhIC5kYXQgZmlsZQpAQCAtMTQxLDEzICsxMzksMTMgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gImRibS5kdW1iIgogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgZXhjZXB0IChPU0Vycm9yLCBJT0Vycm9yKToKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcGFzcwogCiAgICAgIyBTZWUgaWYgdGhlIGZpbGUgZXhpc3RzLCByZXR1cm4gTm9uZSBpZiBub3QKICAgICB0cnk6CiAgICAgICAgIGYgPSBpby5vcGVuKGZpbGVuYW1lLCAicmIiKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgIyBSZWFkIHRoZSBzdGFydCBvZiB0aGUgZmlsZSAtLSB0aGUgbWFnaWMgbnVtYmVyCmRpZmYgLS1naXQgYS9MaWIvZGJtL2R1bWIucHkgYi9MaWIvZGJtL2R1bWIucHkKaW5kZXggY2ZiOTEyMy4uOWFjNzg1MiAxMDA2NDQKLS0tIGEvTGliL2RibS9kdW1iLnB5CisrKyBiL0xpYi9kYm0vZHVtYi5weQpAQCAtMjksNyArMjksNyBAQAogCiBfQkxPQ0tTSVpFID0gNTEyCiAKLWVycm9yID0gSU9FcnJvcgorZXJyb3IgPSBPU0Vycm9yCiAKIGNsYXNzIF9EYXRhYmFzZShjb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6CiAKQEAgLTY3LDcgKzY3LDcgQEAKICAgICAgICAgIyBNb2QgYnkgSmFjazogY3JlYXRlIGRhdGEgZmlsZSBpZiBuZWVkZWQKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZiA9IF9pby5vcGVuKHNlbGYuX2RhdGZpbGUsICdyJywgZW5jb2Rpbmc9IkxhdGluLTEiKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBmID0gX2lvLm9wZW4oc2VsZi5fZGF0ZmlsZSwgJ3cnLCBlbmNvZGluZz0iTGF0aW4tMSIpCiAgICAgICAgICAgICBzZWxmLl9jaG1vZChzZWxmLl9kYXRmaWxlKQogICAgICAgICBmLmNsb3NlKCkKQEAgLTc4LDcgKzc4LDcgQEAKICAgICAgICAgc2VsZi5faW5kZXggPSB7fQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gX2lvLm9wZW4oc2VsZi5fZGlyZmlsZSwgJ3InLCBlbmNvZGluZz0iTGF0aW4tMSIpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CkBAIC0xMDAsMTIgKzEwMCwxMiBAQAogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX29zLnVubGluayhzZWxmLl9iYWtmaWxlKQotICAgICAgICBleGNlcHQgc2VsZi5fb3MuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuX29zLnJlbmFtZShzZWxmLl9kaXJmaWxlLCBzZWxmLl9iYWtmaWxlKQotICAgICAgICBleGNlcHQgc2VsZi5fb3MuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIGYgPSBzZWxmLl9pby5vcGVuKHNlbGYuX2RpcmZpbGUsICd3JywgZW5jb2Rpbmc9IkxhdGluLTEiKQpkaWZmIC0tZ2l0IGEvTGliL2RlY2ltYWwucHkgYi9MaWIvZGVjaW1hbC5weQppbmRleCA3NDZiMzRhLi4yNWY4ZmJjIDEwMDY0NAotLS0gYS9MaWIvZGVjaW1hbC5weQorKysgYi9MaWIvZGVjaW1hbC5weQpAQCAtNzAzLDggKzcwMyw3IEBACiAKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCAlciB0byBEZWNpbWFsIiAlIHZhbHVlKQogCi0gICAgIyBAY2xhc3NtZXRob2QsIGJ1dCBAZGVjb3JhdG9yIGlzIG5vdCB2YWxpZCBQeXRob24gMi4zIHN5bnRheCwgc28KLSAgICAjIGRvbid0IHVzZSBpdCAoc2VlIG5vdGVzIG9uIFB5Mi4zIGNvbXBhdGliaWxpdHkgYXQgdG9wIG9mIGZpbGUpCisgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIGZyb21fZmxvYXQoY2xzLCBmKToKICAgICAgICAgIiIiQ29udmVydHMgYSBmbG9hdCB0byBhIGRlY2ltYWwgbnVtYmVyLCBleGFjdGx5LgogCkBAIC03NDMsNyArNzQyLDYgQEAKICAgICAgICAgICAgIHJldHVybiByZXN1bHQKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBjbHMocmVzdWx0KQotICAgIGZyb21fZmxvYXQgPSBjbGFzc21ldGhvZChmcm9tX2Zsb2F0KQogCiAgICAgZGVmIF9pc25hbihzZWxmKToKICAgICAgICAgIiIiUmV0dXJucyB3aGV0aGVyIHRoZSBudW1iZXIgaXMgbm90IGFjdHVhbGx5IG9uZS4KZGlmZiAtLWdpdCBhL0xpYi9kaWZmbGliLnB5IGIvTGliL2RpZmZsaWIucHkKaW5kZXggYWUzNzdkNy4uODA5Nzc0NCAxMDA2NDQKLS0tIGEvTGliL2RpZmZsaWIucHkKKysrIGIvTGliL2RpZmZsaWIucHkKQEAgLTMzNiwyMCArMzM2LDYgQEAKICAgICAgICAgICAgIGZvciBlbHQgaW4gcG9wdWxhcjogIyBkaXR0bzsgYXMgZmFzdCBmb3IgMSUgZGVsZXRpb24KICAgICAgICAgICAgICAgICBkZWwgYjJqW2VsdF0KIAotICAgIGRlZiBpc2JqdW5rKHNlbGYsIGl0ZW0pOgotICAgICAgICAiRGVwcmVjYXRlZDsgdXNlICdpdGVtIGluIFNlcXVlbmNlTWF0Y2hlcigpLmJqdW5rJy4iCi0gICAgICAgIHdhcm5pbmdzLndhcm4oIidTZXF1ZW5jZU1hdGNoZXIoKS5pc2JqdW5rKGl0ZW0pJyBpcyBkZXByZWNhdGVkO1xuIgotICAgICAgICAgICAgICAgICAgICAgICJ1c2UgJ2l0ZW0gaW4gU01pbnN0YW5jZS5ianVuaycgaW5zdGVhZC4iLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKLSAgICAgICAgcmV0dXJuIGl0ZW0gaW4gc2VsZi5ianVuawotCi0gICAgZGVmIGlzYnBvcHVsYXIoc2VsZiwgaXRlbSk6Ci0gICAgICAgICJEZXByZWNhdGVkOyB1c2UgJ2l0ZW0gaW4gU2VxdWVuY2VNYXRjaGVyKCkuYnBvcHVsYXInLiIKLSAgICAgICAgd2FybmluZ3Mud2FybigiJ1NlcXVlbmNlTWF0Y2hlcigpLmlzYnBvcHVsYXIoaXRlbSknIGlzIGRlcHJlY2F0ZWQ7XG4iCi0gICAgICAgICAgICAgICAgICAgICAgInVzZSAnaXRlbSBpbiBTTWluc3RhbmNlLmJwb3B1bGFyJyBpbnN0ZWFkLiIsCi0gICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQotICAgICAgICByZXR1cm4gaXRlbSBpbiBzZWxmLmJwb3B1bGFyCi0KICAgICBkZWYgZmluZF9sb25nZXN0X21hdGNoKHNlbGYsIGFsbywgYWhpLCBibG8sIGJoaSk6CiAgICAgICAgICIiIkZpbmQgbG9uZ2VzdCBtYXRjaGluZyBibG9jayBpbiBhW2FsbzphaGldIGFuZCBiW2JsbzpiaGldLgogCkBAIC05MjIsOCArOTA4LDcgQEAKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigndW5rbm93biB0YWcgJXInICUgKHRhZywpKQogCi0gICAgICAgICAgICBmb3IgbGluZSBpbiBnOgotICAgICAgICAgICAgICAgIHlpZWxkIGxpbmUKKyAgICAgICAgICAgIHlpZWxkIGZyb20gZwogCiAgICAgZGVmIF9kdW1wKHNlbGYsIHRhZywgeCwgbG8sIGhpKToKICAgICAgICAgIiIiR2VuZXJhdGUgY29tcGFyaXNvbiByZXN1bHRzIGZvciBhIHNhbWUtdGFnZ2VkIHJhbmdlLiIiIgpAQCAtOTQyLDggKzkyNyw3IEBACiAgICAgICAgICAgICBzZWNvbmQgPSBzZWxmLl9kdW1wKCcrJywgYiwgYmxvLCBiaGkpCiAKICAgICAgICAgZm9yIGcgaW4gZmlyc3QsIHNlY29uZDoKLSAgICAgICAgICAgIGZvciBsaW5lIGluIGc6Ci0gICAgICAgICAgICAgICAgeWllbGQgbGluZQorICAgICAgICAgICAgeWllbGQgZnJvbSBnCiAKICAgICBkZWYgX2ZhbmN5X3JlcGxhY2Uoc2VsZiwgYSwgYWxvLCBhaGksIGIsIGJsbywgYmhpKToKICAgICAgICAgciIiIgpAQCAtOTk3LDggKzk4MSw3IEBACiAgICAgICAgICAgICAjIG5vIG5vbi1pZGVudGljYWwgInByZXR0eSBjbG9zZSIgcGFpcgogICAgICAgICAgICAgaWYgZXFpIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgIyBubyBpZGVudGljYWwgcGFpciBlaXRoZXIgLS0gdHJlYXQgaXQgYXMgYSBzdHJhaWdodCByZXBsYWNlCi0gICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gc2VsZi5fcGxhaW5fcmVwbGFjZShhLCBhbG8sIGFoaSwgYiwgYmxvLCBiaGkpOgotICAgICAgICAgICAgICAgICAgICB5aWVsZCBsaW5lCisgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLl9wbGFpbl9yZXBsYWNlKGEsIGFsbywgYWhpLCBiLCBibG8sIGJoaSkKICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICMgbm8gY2xvc2UgcGFpciwgYnV0IGFuIGlkZW50aWNhbCBwYWlyIC0tIHN5bmNoIHVwIG9uIHRoYXQKICAgICAgICAgICAgIGJlc3RfaSwgYmVzdF9qLCBiZXN0X3JhdGlvID0gZXFpLCBlcWosIDEuMApAQCAtMTAxMCw4ICs5OTMsNyBAQAogICAgICAgICAjIGlkZW50aWNhbAogCiAgICAgICAgICMgcHVtcCBvdXQgZGlmZnMgZnJvbSBiZWZvcmUgdGhlIHN5bmNoIHBvaW50Ci0gICAgICAgIGZvciBsaW5lIGluIHNlbGYuX2ZhbmN5X2hlbHBlcihhLCBhbG8sIGJlc3RfaSwgYiwgYmxvLCBiZXN0X2opOgotICAgICAgICAgICAgeWllbGQgbGluZQorICAgICAgICB5aWVsZCBmcm9tIHNlbGYuX2ZhbmN5X2hlbHBlcihhLCBhbG8sIGJlc3RfaSwgYiwgYmxvLCBiZXN0X2opCiAKICAgICAgICAgIyBkbyBpbnRyYWxpbmUgbWFya2luZyBvbiB0aGUgc3luY2ggcGFpcgogICAgICAgICBhZWx0LCBiZWx0ID0gYVtiZXN0X2ldLCBiW2Jlc3Rfal0KQEAgLTEwMzMsMTUgKzEwMTUsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgYnRhZ3MgKz0gJyAnICogbGIKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd1bmtub3duIHRhZyAlcicgJSAodGFnLCkpCi0gICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9xZm9ybWF0KGFlbHQsIGJlbHQsIGF0YWdzLCBidGFncyk6Ci0gICAgICAgICAgICAgICAgeWllbGQgbGluZQorICAgICAgICAgICAgeWllbGQgZnJvbSBzZWxmLl9xZm9ybWF0KGFlbHQsIGJlbHQsIGF0YWdzLCBidGFncykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMgdGhlIHN5bmNoIHBhaXIgaXMgaWRlbnRpY2FsCiAgICAgICAgICAgICB5aWVsZCAnICAnICsgYWVsdAogCiAgICAgICAgICMgcHVtcCBvdXQgZGlmZnMgZnJvbSBhZnRlciB0aGUgc3luY2ggcG9pbnQKLSAgICAgICAgZm9yIGxpbmUgaW4gc2VsZi5fZmFuY3lfaGVscGVyKGEsIGJlc3RfaSsxLCBhaGksIGIsIGJlc3RfaisxLCBiaGkpOgotICAgICAgICAgICAgeWllbGQgbGluZQorICAgICAgICB5aWVsZCBmcm9tIHNlbGYuX2ZhbmN5X2hlbHBlcihhLCBiZXN0X2krMSwgYWhpLCBiLCBiZXN0X2orMSwgYmhpKQogCiAgICAgZGVmIF9mYW5jeV9oZWxwZXIoc2VsZiwgYSwgYWxvLCBhaGksIGIsIGJsbywgYmhpKToKICAgICAgICAgZyA9IFtdCkBAIC0xMDUzLDggKzEwMzMsNyBAQAogICAgICAgICBlbGlmIGJsbyA8IGJoaToKICAgICAgICAgICAgIGcgPSBzZWxmLl9kdW1wKCcrJywgYiwgYmxvLCBiaGkpCiAKLSAgICAgICAgZm9yIGxpbmUgaW4gZzoKLSAgICAgICAgICAgIHlpZWxkIGxpbmUKKyAgICAgICAgeWllbGQgZnJvbSBnCiAKICAgICBkZWYgX3Fmb3JtYXQoc2VsZiwgYWxpbmUsIGJsaW5lLCBhdGFncywgYnRhZ3MpOgogICAgICAgICByIiIiCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5IGIvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weQppbmRleCBmOGFmMWIzLi43MGE3MmIwIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvX19pbml0X18ucHkKQEAgLTEzLDUgKzEzLDUgQEAKICMgVXBkYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBQeXRob24gcmVsZWFzZSBwcm9jZXNzLgogIwogIy0tc3RhcnQgY29uc3RhbnRzLS0KLV9fdmVyc2lvbl9fID0gIjMuMy4xIgorX192ZXJzaW9uX18gPSAiMy40LjBhMCIKICMtLWVuZCBjb25zdGFudHMtLQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jY29tcGlsZXIucHkgYi9MaWIvZGlzdHV0aWxzL2Njb21waWxlci5weQppbmRleCBjNzk1Yzk1Li45MTFlODRkIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2Njb21waWxlci5weQorKysgYi9MaWIvZGlzdHV0aWxzL2Njb21waWxlci5weQpAQCAtMzUxLDcgKzM1MSw3IEBACiAgICAgICAgIHJldHVybiBtYWNyb3MsIG9iamVjdHMsIGV4dHJhLCBwcF9vcHRzLCBidWlsZAogCiAgICAgZGVmIF9nZXRfY2NfYXJncyhzZWxmLCBwcF9vcHRzLCBkZWJ1ZywgYmVmb3JlKToKLSAgICAgICAgIyB3b3JrcyBmb3IgdW5peGNjb21waWxlciwgZW14Y2NvbXBpbGVyLCBjeWd3aW5jY29tcGlsZXIKKyAgICAgICAgIyB3b3JrcyBmb3IgdW5peGNjb21waWxlciwgY3lnd2luY2NvbXBpbGVyCiAgICAgICAgIGNjX2FyZ3MgPSBwcF9vcHRzICsgWyctYyddCiAgICAgICAgIGlmIGRlYnVnOgogICAgICAgICAgICAgY2NfYXJnc1s6MF0gPSBbJy1nJ10KQEAgLTkyNiw3ICs5MjYsNiBAQAogICAgICMgb24gYSBjeWd3aW4gYnVpbHQgcHl0aG9uIHdlIGNhbiB1c2UgZ2NjIGxpa2UgYW4gb3JkaW5hcnkgVU5JWGlzaAogICAgICMgY29tcGlsZXIKICAgICAoJ2N5Z3dpbi4qJywgJ3VuaXgnKSwKLSAgICAoJ29zMmVteCcsICdlbXgnKSwKIAogICAgICMgT1MgbmFtZSBtYXBwaW5ncwogICAgICgncG9zaXgnLCAndW5peCcpLApAQCAtOTY4LDggKzk2Nyw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pbmd3MzIgcG9ydCBvZiBHTlUgQyBDb21waWxlciBmb3IgV2luMzIiKSwKICAgICAgICAgICAgICAgICAgICAnYmNwcCc6ICAgICgnYmNwcGNvbXBpbGVyJywgJ0JDUFBDb21waWxlcicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJvcmxhbmQgQysrIENvbXBpbGVyIiksCi0gICAgICAgICAgICAgICAgICAgJ2VteCc6ICAgICAoJ2VteGNjb21waWxlcicsICdFTVhDQ29tcGlsZXInLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFTVggcG9ydCBvZiBHTlUgQyBDb21waWxlciBmb3IgT1MvMiIpLAogICAgICAgICAgICAgICAgICB9CiAKIGRlZiBzaG93X2NvbXBpbGVycygpOgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2JkaXN0LnB5IGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2JkaXN0LnB5CmluZGV4IGM1MTg4ZWIuLjM4YjE2OWEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9iZGlzdC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYmRpc3QucHkKQEAgLTUyLDggKzUyLDcgQEAKICAgICAjIFRoaXMgd29uJ3QgZG8gaW4gcmVhbGl0eTogd2lsbCBuZWVkIHRvIGRpc3Rpbmd1aXNoIFJQTS1pc2ggTGludXgsCiAgICAgIyBEZWJpYW4taXNoIExpbnV4LCBTb2xhcmlzLCBGcmVlQlNELCAuLi4sIFdpbmRvd3MsIE1hYyBPUy4KICAgICBkZWZhdWx0X2Zvcm1hdCA9IHsncG9zaXgnOiAnZ3p0YXInLAotICAgICAgICAgICAgICAgICAgICAgICdudCc6ICd6aXAnLAotICAgICAgICAgICAgICAgICAgICAgICdvczInOiAnemlwJ30KKyAgICAgICAgICAgICAgICAgICAgICAnbnQnOiAnemlwJ30KIAogICAgICMgRXN0YWJsaXNoIHRoZSBwcmVmZXJyZWQgb3JkZXIgKGZvciB0aGUgLS1oZWxwLWZvcm1hdHMgb3B0aW9uKS4KICAgICBmb3JtYXRfY29tbWFuZHMgPSBbJ3JwbScsICdnenRhcicsICdienRhcicsICd6dGFyJywgJ3RhcicsCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYmRpc3RfZHVtYi5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9iZGlzdF9kdW1iLnB5CmluZGV4IDFhYjA5ZDEuLmVlZmRmZWEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9iZGlzdF9kdW1iLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9iZGlzdF9kdW1iLnB5CkBAIC0zOCw4ICszOCw3IEBACiAgICAgYm9vbGVhbl9vcHRpb25zID0gWydrZWVwLXRlbXAnLCAnc2tpcC1idWlsZCcsICdyZWxhdGl2ZSddCiAKICAgICBkZWZhdWx0X2Zvcm1hdCA9IHsgJ3Bvc2l4JzogJ2d6dGFyJywKLSAgICAgICAgICAgICAgICAgICAgICAgJ250JzogJ3ppcCcsCi0gICAgICAgICAgICAgICAgICAgICAgICdvczInOiAnemlwJyB9CisgICAgICAgICAgICAgICAgICAgICAgICdudCc6ICd6aXAnIH0KIAogICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgIHNlbGYuYmRpc3RfZGlyID0gTm9uZQpAQCAtODUsMTEgKzg0LDYgQEAKICAgICAgICAgYXJjaGl2ZV9iYXNlbmFtZSA9ICIlcy4lcyIgJSAoc2VsZi5kaXN0cmlidXRpb24uZ2V0X2Z1bGxuYW1lKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGxhdF9uYW1lKQogCi0gICAgICAgICMgT1MvMiBvYmplY3RzIHRvIGFueSAiOiIgY2hhcmFjdGVycyBpbiBhIGZpbGVuYW1lIChzdWNoIGFzIHdoZW4KLSAgICAgICAgIyBhIHRpbWVzdGFtcCBpcyB1c2VkIGluIGEgdmVyc2lvbikgc28gY2hhbmdlIHRoZW0gdG8gaHlwaGVucy4KLSAgICAgICAgaWYgb3MubmFtZSA9PSAib3MyIjoKLSAgICAgICAgICAgIGFyY2hpdmVfYmFzZW5hbWUgPSBhcmNoaXZlX2Jhc2VuYW1lLnJlcGxhY2UoIjoiLCAiLSIpCi0KICAgICAgICAgcHNldWRvaW5zdGFsbF9yb290ID0gb3MucGF0aC5qb2luKHNlbGYuZGlzdF9kaXIsIGFyY2hpdmVfYmFzZW5hbWUpCiAgICAgICAgIGlmIG5vdCBzZWxmLnJlbGF0aXZlOgogICAgICAgICAgICAgYXJjaGl2ZV9yb290ID0gc2VsZi5iZGlzdF9kaXIKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQucHkgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5CmluZGV4IDFhZDBkNWYuLmE2YWFkNTMgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQucHkKKysrIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQpAQCAtMjMwLDExICsyMzAsNiBAQAogICAgICAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4oc3lzLmV4ZWNfcHJlZml4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUEMnLCAnVkM2JykpCiAKLSAgICAgICAgIyBPUy8yIChFTVgpIGRvZXNuJ3Qgc3VwcG9ydCBEZWJ1ZyB2cyBSZWxlYXNlIGJ1aWxkcywgYnV0IGhhcyB0aGUKLSAgICAgICAgIyBpbXBvcnQgbGlicmFyaWVzIGluIGl0cyAiQ29uZmlnIiBzdWJkaXJlY3RvcnkKLSAgICAgICAgaWYgb3MubmFtZSA9PSAnb3MyJzoKLSAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4oc3lzLmV4ZWNfcHJlZml4LCAnQ29uZmlnJykpCi0KICAgICAgICAgIyBmb3IgZXh0ZW5zaW9ucyB1bmRlciBDeWd3aW4gYW5kIEF0aGVPUyBQeXRob24ncyBsaWJyYXJ5IGRpcmVjdG9yeSBtdXN0IGJlCiAgICAgICAgICMgYXBwZW5kZWQgdG8gbGlicmFyeV9kaXJzCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybVs6Nl0gPT0gJ2N5Z3dpbicgb3Igc3lzLnBsYXRmb3JtWzo2XSA9PSAnYXRoZW9zJzoKQEAgLTYyMCw5ICs2MTUsNiBAQAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuICJzd2lnLmV4ZSIKLSAgICAgICAgZWxpZiBvcy5uYW1lID09ICJvczIiOgotICAgICAgICAgICAgIyBhc3N1bWUgc3dpZyBhdmFpbGFibGUgaW4gdGhlIFBBVEguCi0gICAgICAgICAgICByZXR1cm4gInN3aWcuZXhlIgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcigKICAgICAgICAgICAgICAgICAgICJJIGRvbid0IGtub3cgaG93IHRvIGZpbmQgKG11Y2ggbGVzcyBydW4pIFNXSUcgIgpAQCAtNjczLDkgKzY2NSw2IEBACiAgICAgICAgICIiIgogICAgICAgICBmcm9tIGRpc3R1dGlscy5zeXNjb25maWcgaW1wb3J0IGdldF9jb25maWdfdmFyCiAgICAgICAgIGV4dF9wYXRoID0gZXh0X25hbWUuc3BsaXQoJy4nKQotICAgICAgICAjIE9TLzIgaGFzIGFuIDggY2hhcmFjdGVyIG1vZHVsZSAoZXh0ZW5zaW9uKSBsaW1pdCA6LSgKLSAgICAgICAgaWYgb3MubmFtZSA9PSAib3MyIjoKLSAgICAgICAgICAgIGV4dF9wYXRoW2xlbihleHRfcGF0aCkgLSAxXSA9IGV4dF9wYXRoW2xlbihleHRfcGF0aCkgLSAxXVs6OF0KICAgICAgICAgIyBleHRlbnNpb25zIGluIGRlYnVnX21vZGUgYXJlIG5hbWVkICdtb2R1bGVfZC5weWQnIHVuZGVyIHdpbmRvd3MKICAgICAgICAgZXh0X3N1ZmZpeCA9IGdldF9jb25maWdfdmFyKCdFWFRfU1VGRklYJykKICAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBzZWxmLmRlYnVnOgpAQCAtNjk2LDcgKzY4NSw3IEBACiAgICAgZGVmIGdldF9saWJyYXJpZXMoc2VsZiwgZXh0KToKICAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIGxpYnJhcmllcyB0byBsaW5rIGFnYWluc3Qgd2hlbiBidWlsZGluZyBhCiAgICAgICAgIHNoYXJlZCBleHRlbnNpb24uICBPbiBtb3N0IHBsYXRmb3JtcywgdGhpcyBpcyBqdXN0ICdleHQubGlicmFyaWVzJzsKLSAgICAgICAgb24gV2luZG93cyBhbmQgT1MvMiwgd2UgYWRkIHRoZSBQeXRob24gbGlicmFyeSAoZWcuIHB5dGhvbjIwLmRsbCkuCisgICAgICAgIG9uIFdpbmRvd3MsIHdlIGFkZCB0aGUgUHl0aG9uIGxpYnJhcnkgKGVnLiBweXRob24yMC5kbGwpLgogICAgICAgICAiIiIKICAgICAgICAgIyBUaGUgcHl0aG9uIGxpYnJhcnkgaXMgYWx3YXlzIG5lZWRlZCBvbiBXaW5kb3dzLiAgRm9yIE1TVkMsIHRoaXMKICAgICAgICAgIyBpcyByZWR1bmRhbnQsIHNpbmNlIHRoZSBsaWJyYXJ5IGlzIG1lbnRpb25lZCBpbiBhIHByYWdtYSBpbgpAQCAtNzE2LDE5ICs3MDUsNiBAQAogICAgICAgICAgICAgICAgIHJldHVybiBleHQubGlicmFyaWVzICsgW3B5dGhvbmxpYl0KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGV4dC5saWJyYXJpZXMKLSAgICAgICAgZWxpZiBzeXMucGxhdGZvcm0gPT0gIm9zMmVteCI6Ci0gICAgICAgICAgICAjIEVNWC9HQ0MgcmVxdWlyZXMgdGhlIHB5dGhvbiBsaWJyYXJ5IGV4cGxpY2l0bHksIGFuZCBJCi0gICAgICAgICAgICAjIGJlbGlldmUgVkFDUFAgZG9lcyBhcyB3ZWxsICh0aG91Z2ggbm90IGNvbmZpcm1lZCkgLSBBSU0gQXByMDEKLSAgICAgICAgICAgIHRlbXBsYXRlID0gInB5dGhvbiVkJWQiCi0gICAgICAgICAgICAjIGRlYnVnIHZlcnNpb25zIG9mIHRoZSBtYWluIERMTCBhcmVuJ3Qgc3VwcG9ydGVkLCBhdCBsZWFzdAotICAgICAgICAgICAgIyBub3QgYXQgdGhpcyB0aW1lIC0gQUlNIEFwcjAxCi0gICAgICAgICAgICAjaWYgc2VsZi5kZWJ1ZzoKLSAgICAgICAgICAgICMgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZSArICdfZCcKLSAgICAgICAgICAgIHB5dGhvbmxpYiA9ICh0ZW1wbGF0ZSAlCi0gICAgICAgICAgICAgICAgICAgKHN5cy5oZXh2ZXJzaW9uID4+IDI0LCAoc3lzLmhleHZlcnNpb24gPj4gMTYpICYgMHhmZikpCi0gICAgICAgICAgICAjIGRvbid0IGV4dGVuZCBleHQubGlicmFyaWVzLCBpdCBtYXkgYmUgc2hhcmVkIHdpdGggb3RoZXIKLSAgICAgICAgICAgICMgZXh0ZW5zaW9ucywgaXQgaXMgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGxpc3QKLSAgICAgICAgICAgIHJldHVybiBleHQubGlicmFyaWVzICsgW3B5dGhvbmxpYl0KICAgICAgICAgZWxpZiBzeXMucGxhdGZvcm1bOjZdID09ICJjeWd3aW4iOgogICAgICAgICAgICAgdGVtcGxhdGUgPSAicHl0aG9uJWQuJWQiCiAgICAgICAgICAgICBweXRob25saWIgPSAodGVtcGxhdGUgJQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX3NjcmlwdHMucHkgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQppbmRleCA0YjViMjJlLi45MGE4MzgwIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQpAQCAtNzQsNyArNzQsNyBAQAogICAgICAgICAgICAgIyBzY3JpcHQuCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZiA9IG9wZW4oc2NyaXB0LCAicmIiKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgogICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAgIGYgPSBOb25lCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvaW5zdGFsbC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5CmluZGV4IDliMWMzNmEuLmNmYzVkNWUgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9pbnN0YWxsLnB5CkBAIC01OCwxMyArNTgsNiBAQAogICAgICAgICAnZGF0YScgICA6ICckYmFzZScsCiAgICAgICAgIH0sCiAgICAgJ250JzogV0lORE9XU19TQ0hFTUUsCi0gICAgJ29zMic6IHsKLSAgICAgICAgJ3B1cmVsaWInOiAnJGJhc2UvTGliL3NpdGUtcGFja2FnZXMnLAotICAgICAgICAncGxhdGxpYic6ICckYmFzZS9MaWIvc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICdoZWFkZXJzJzogJyRiYXNlL0luY2x1ZGUvJGRpc3RfbmFtZScsCi0gICAgICAgICdzY3JpcHRzJzogJyRiYXNlL1NjcmlwdHMnLAotICAgICAgICAnZGF0YScgICA6ICckYmFzZScsCi0gICAgICAgIH0sCiAgICAgfQogCiAjIHVzZXIgc2l0ZSBzY2hlbWVzCkBAIC04NiwxNCArNzksNiBAQAogICAgICAgICAnZGF0YScgICA6ICckdXNlcmJhc2UnLAogICAgICAgICB9CiAKLSAgICBJTlNUQUxMX1NDSEVNRVNbJ29zMl9ob21lJ10gPSB7Ci0gICAgICAgICdwdXJlbGliJzogJyR1c2Vyc2l0ZScsCi0gICAgICAgICdwbGF0bGliJzogJyR1c2Vyc2l0ZScsCi0gICAgICAgICdoZWFkZXJzJzogJyR1c2VyYmFzZS9pbmNsdWRlL3B5dGhvbiRweV92ZXJzaW9uX3Nob3J0LyRkaXN0X25hbWUnLAotICAgICAgICAnc2NyaXB0cyc6ICckdXNlcmJhc2UvYmluJywKLSAgICAgICAgJ2RhdGEnICAgOiAnJHVzZXJiYXNlJywKLSAgICAgICAgfQotCiAjIFRoZSBrZXlzIHRvIGFuIGluc3RhbGxhdGlvbiBzY2hlbWU7IGlmIGFueSBuZXcgdHlwZXMgb2YgZmlsZXMgYXJlIHRvIGJlCiAjIGluc3RhbGxlZCwgYmUgc3VyZSB0byBhZGQgYW4gZW50cnkgdG8gZXZlcnkgaW5zdGFsbGF0aW9uIHNjaGVtZSBhYm92ZSwKICMgYW5kIHRvIFNDSEVNRV9LRVlTIGhlcmUuCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvdXBsb2FkLnB5IGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL3VwbG9hZC5weQppbmRleCA4YjM2ODUxLi44ODk5MGIyIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvdXBsb2FkLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC91cGxvYWQucHkKQEAgLTE4Niw3ICsxODYsNyBAQAogICAgICAgICAgICAgaHR0cC5wdXRoZWFkZXIoJ0F1dGhvcml6YXRpb24nLCBhdXRoKQogICAgICAgICAgICAgaHR0cC5lbmRoZWFkZXJzKCkKICAgICAgICAgICAgIGh0dHAuc2VuZChib2R5KQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLmFubm91bmNlKHN0cihlKSwgbG9nLkVSUk9SKQogICAgICAgICAgICAgcmV0dXJuCiAKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29uZmlnLnB5IGIvTGliL2Rpc3R1dGlscy9jb25maWcucHkKaW5kZXggMWZkNTMzNC4uNzQzOWE4MyAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb25maWcucHkKKysrIGIvTGliL2Rpc3R1dGlscy9jb25maWcucHkKQEAgLTIxLDcgKzIxLDcgQEAKIGNsYXNzIFB5UElSQ0NvbW1hbmQoQ29tbWFuZCk6CiAgICAgIiIiQmFzZSBjb21tYW5kIHRoYXQga25vd3MgaG93IHRvIGhhbmRsZSB0aGUgLnB5cGlyYyBmaWxlCiAgICAgIiIiCi0gICAgREVGQVVMVF9SRVBPU0lUT1JZID0gJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaScKKyAgICBERUZBVUxUX1JFUE9TSVRPUlkgPSAnaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaScKICAgICBERUZBVUxUX1JFQUxNID0gJ3B5cGknCiAgICAgcmVwb3NpdG9yeSA9IE5vbmUKICAgICByZWFsbSA9IE5vbmUKQEAgLTgzLDYgKzgzLDE1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFtrZXldID0gY29uZmlnLmdldChzZXJ2ZXIsIGtleSkKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFtrZXldID0gZGVmYXVsdAorCisgICAgICAgICAgICAgICAgICAgICMgd29yayBhcm91bmQgcGVvcGxlIGhhdmluZyAicmVwb3NpdG9yeSIgZm9yIHRoZSAicHlwaSIKKyAgICAgICAgICAgICAgICAgICAgIyBzZWN0aW9uIG9mIHRoZWlyIGNvbmZpZyBzZXQgdG8gdGhlIEhUVFAgKHJhdGhlciB0aGFuCisgICAgICAgICAgICAgICAgICAgICMgSFRUUFMpIFVSTAorICAgICAgICAgICAgICAgICAgICBpZiAoc2VydmVyID09ICdweXBpJyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnkgaW4gKHNlbGYuREVGQVVMVF9SRVBPU0lUT1JZLCAncHlwaScpKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRbJ3JlcG9zaXRvcnknXSA9IHNlbGYuREVGQVVMVF9SRVBPU0lUT1JZCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudAorCiAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJyZW50WydzZXJ2ZXInXSA9PSByZXBvc2l0b3J5IG9yCiAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50WydyZXBvc2l0b3J5J10gPT0gcmVwb3NpdG9yeSk6CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb3JlLnB5IGIvTGliL2Rpc3R1dGlscy9jb3JlLnB5CmluZGV4IDI2MDMzMmEuLjkxZTUxMzIgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY29yZS5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvcmUucHkKQEAgLTE0OCw3ICsxNDgsNyBAQAogICAgICAgICAgICAgZGlzdC5ydW5fY29tbWFuZHMoKQogICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CiAgICAgICAgICAgICByYWlzZSBTeXN0ZW1FeGl0KCJpbnRlcnJ1cHRlZCIpCi0gICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgb3MuZXJyb3IpIGFzIGV4YzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXhjOgogICAgICAgICAgICAgZXJyb3IgPSBncm9rX2Vudmlyb25tZW50X2Vycm9yKGV4YykKIAogICAgICAgICAgICAgaWYgREVCVUc6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2N5Z3dpbmNjb21waWxlci5weSBiL0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5CmluZGV4IDBiZGQ1MzkuLjBjMjNhYjEgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvY3lnd2luY2NvbXBpbGVyLnB5CkBAIC0zNTksNyArMzU5LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gQ09ORklHX0hfTk9UT0ssICInJXMnIGRvZXMgbm90IG1lbnRpb24gJ19fR05VQ19fJyIgJSBmbgogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgY29uZmlnX2guY2xvc2UoKQotICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGV4YzoKKyAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CiAgICAgICAgIHJldHVybiAoQ09ORklHX0hfVU5DRVJUQUlOLAogICAgICAgICAgICAgICAgICJjb3VsZG4ndCByZWFkICclcyc6ICVzIiAlIChmbiwgZXhjLnN0cmVycm9yKSkKIApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9kaXJfdXRpbC5weSBiL0xpYi9kaXN0dXRpbHMvZGlyX3V0aWwucHkKaW5kZXggMjgyNmZmOC4uMmIzNWFhMyAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9kaXJfdXRpbC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2Rpcl91dGlsLnB5CkBAIC0xMjQsNyArMTI0LDcgQEAKICAgICAgICAgICAgICAgImNhbm5vdCBjb3B5IHRyZWUgJyVzJzogbm90IGEgZGlyZWN0b3J5IiAlIHNyYykKICAgICB0cnk6CiAgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihzcmMpCi0gICAgZXhjZXB0IG9zLmVycm9yIGFzIGU6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgKGVycm5vLCBlcnJzdHIpID0gZQogICAgICAgICBpZiBkcnlfcnVuOgogICAgICAgICAgICAgbmFtZXMgPSBbXQpAQCAtMTk4LDcgKzE5OCw3IEBACiAgICAgICAgICAgICBhYnNwYXRoID0gb3MucGF0aC5hYnNwYXRoKGNtZFsxXSkKICAgICAgICAgICAgIGlmIGFic3BhdGggaW4gX3BhdGhfY3JlYXRlZDoKICAgICAgICAgICAgICAgICBkZWwgX3BhdGhfY3JlYXRlZFthYnNwYXRoXQotICAgICAgICBleGNlcHQgKElPRXJyb3IsIE9TRXJyb3IpIGFzIGV4YzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXhjOgogICAgICAgICAgICAgbG9nLndhcm4oZ3Jva19lbnZpcm9ubWVudF9lcnJvcigKICAgICAgICAgICAgICAgICAgICAgZXhjLCAiZXJyb3IgcmVtb3ZpbmcgJXM6ICIgJSBkaXJlY3RvcnkpKQogCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2VteGNjb21waWxlci5weSBiL0xpYi9kaXN0dXRpbHMvZW14Y2NvbXBpbGVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNjc1ZjhkLi4wMDAwMDAwCi0tLSBhL0xpYi9kaXN0dXRpbHMvZW14Y2NvbXBpbGVyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzE1ICswLDAgQEAKLSIiImRpc3R1dGlscy5lbXhjY29tcGlsZXIKLQotUHJvdmlkZXMgdGhlIEVNWENDb21waWxlciBjbGFzcywgYSBzdWJjbGFzcyBvZiBVbml4Q0NvbXBpbGVyIHRoYXQKLWhhbmRsZXMgdGhlIEVNWCBwb3J0IG9mIHRoZSBHTlUgQyBjb21waWxlciB0byBPUy8yLgotIiIiCi0KLSMgaXNzdWVzOgotIwotIyAqIE9TLzIgaW5zaXN0cyB0aGF0IERMTHMgY2FuIGhhdmUgbmFtZXMgbm8gbG9uZ2VyIHRoYW4gOCBjaGFyYWN0ZXJzCi0jICAgV2UgcHV0IGV4cG9ydF9zeW1ib2xzIGluIGEgZGVmLWZpbGUsIGFzIHRob3VnaCB0aGUgRExMIGNhbiBoYXZlCi0jICAgYW4gYXJiaXRyYXJ5IGxlbmd0aCBuYW1lLCBidXQgdHJ1bmNhdGUgdGhlIG91dHB1dCBmaWxlbmFtZS4KLSMKLSMgKiBvbmx5IHVzZSBPTUYgb2JqZWN0cyBhbmQgdXNlIExJTkszODYgYXMgdGhlIGxpbmtlciAoLVpvbWYpCi0jCi0jICogYWx3YXlzIGJ1aWxkIGZvciBtdWx0aXRocmVhZGluZyAoLVptdCkgYXMgdGhlIGFjY29tcGFueWluZyBPUy8yIHBvcnQKLSMgICBvZiBQeXRob24gaXMgb25seSBkaXN0cmlidXRlZCB3aXRoIHRocmVhZHMgZW5hYmxlZC4KLSMKLSMgdGVzdGVkIGNvbmZpZ3VyYXRpb25zOgotIwotIyAqIEVNWCBnY2MgMi44MS9FTVggMC45ZCBmaXgwMwotCi1pbXBvcnQgb3Msc3lzLGNvcHkKLWZyb20gZGlzdHV0aWxzLmNjb21waWxlciBpbXBvcnQgZ2VuX3ByZXByb2Nlc3Nfb3B0aW9ucywgZ2VuX2xpYl9vcHRpb25zCi1mcm9tIGRpc3R1dGlscy51bml4Y2NvbXBpbGVyIGltcG9ydCBVbml4Q0NvbXBpbGVyCi1mcm9tIGRpc3R1dGlscy5maWxlX3V0aWwgaW1wb3J0IHdyaXRlX2ZpbGUKLWZyb20gZGlzdHV0aWxzLmVycm9ycyBpbXBvcnQgRGlzdHV0aWxzRXhlY0Vycm9yLCBDb21waWxlRXJyb3IsIFVua25vd25GaWxlRXJyb3IKLWZyb20gZGlzdHV0aWxzIGltcG9ydCBsb2cKLQotY2xhc3MgRU1YQ0NvbXBpbGVyIChVbml4Q0NvbXBpbGVyKToKLQotICAgIGNvbXBpbGVyX3R5cGUgPSAnZW14JwotICAgIG9ial9leHRlbnNpb24gPSAiLm9iaiIKLSAgICBzdGF0aWNfbGliX2V4dGVuc2lvbiA9ICIubGliIgotICAgIHNoYXJlZF9saWJfZXh0ZW5zaW9uID0gIi5kbGwiCi0gICAgc3RhdGljX2xpYl9mb3JtYXQgPSAiJXMlcyIKLSAgICBzaGFyZWRfbGliX2Zvcm1hdCA9ICIlcyVzIgotICAgIHJlc19leHRlbnNpb24gPSAiLnJlcyIgICAgICAjIGNvbXBpbGVkIHJlc291cmNlIGZpbGUKLSAgICBleGVfZXh0ZW5zaW9uID0gIi5leGUiCi0KLSAgICBkZWYgX19pbml0X18gKHNlbGYsCi0gICAgICAgICAgICAgICAgICB2ZXJib3NlPTAsCi0gICAgICAgICAgICAgICAgICBkcnlfcnVuPTAsCi0gICAgICAgICAgICAgICAgICBmb3JjZT0wKToKLQotICAgICAgICBVbml4Q0NvbXBpbGVyLl9faW5pdF9fIChzZWxmLCB2ZXJib3NlLCBkcnlfcnVuLCBmb3JjZSkKLQotICAgICAgICAoc3RhdHVzLCBkZXRhaWxzKSA9IGNoZWNrX2NvbmZpZ19oKCkKLSAgICAgICAgc2VsZi5kZWJ1Z19wcmludCgiUHl0aG9uJ3MgR0NDIHN0YXR1czogJXMgKGRldGFpbHM6ICVzKSIgJQotICAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0dXMsIGRldGFpbHMpKQotICAgICAgICBpZiBzdGF0dXMgaXMgbm90IENPTkZJR19IX09LOgotICAgICAgICAgICAgc2VsZi53YXJuKAotICAgICAgICAgICAgICAgICJQeXRob24ncyBweWNvbmZpZy5oIGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0IHlvdXIgY29tcGlsZXIuICAiICsKLSAgICAgICAgICAgICAgICAoIlJlYXNvbjogJXMuIiAlIGRldGFpbHMpICsKLSAgICAgICAgICAgICAgICAiQ29tcGlsaW5nIG1heSBmYWlsIGJlY2F1c2Ugb2YgdW5kZWZpbmVkIHByZXByb2Nlc3NvciBtYWNyb3MuIikKLQotICAgICAgICAoc2VsZi5nY2NfdmVyc2lvbiwgc2VsZi5sZF92ZXJzaW9uKSA9IFwKLSAgICAgICAgICAgIGdldF92ZXJzaW9ucygpCi0gICAgICAgIHNlbGYuZGVidWdfcHJpbnQoc2VsZi5jb21waWxlcl90eXBlICsgIjogZ2NjICVzLCBsZCAlc1xuIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGYuZ2NjX3ZlcnNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGRfdmVyc2lvbikgKQotCi0gICAgICAgICMgSGFyZC1jb2RlIEdDQyBiZWNhdXNlIHRoYXQncyB3aGF0IHRoaXMgaXMgYWxsIGFib3V0LgotICAgICAgICAjIFhYWCBvcHRpbWl6YXRpb24sIHdhcm5pbmdzIGV0Yy4gc2hvdWxkIGJlIGN1c3RvbWl6YWJsZS4KLSAgICAgICAgc2VsZi5zZXRfZXhlY3V0YWJsZXMoY29tcGlsZXI9J2djYyAtWm9tZiAtWm10IC1PMyAtZm9taXQtZnJhbWUtcG9pbnRlciAtbXByb2JlIC1XYWxsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZXJfc289J2djYyAtWm9tZiAtWm10IC1PMyAtZm9taXQtZnJhbWUtcG9pbnRlciAtbXByb2JlIC1XYWxsJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua2VyX2V4ZT0nZ2NjIC1ab21mIC1abXQgLVpjcnRkbGwnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rZXJfc289J2djYyAtWm9tZiAtWm10IC1aY3J0ZGxsIC1aZGxsJykKLQotICAgICAgICAjIHdhbnQgdGhlIGdjYyBsaWJyYXJ5IHN0YXRpY2FsbHkgbGlua2VkIChzbyB0aGF0IHdlIGRvbid0IGhhdmUKLSAgICAgICAgIyB0byBkaXN0cmlidXRlIGEgdmVyc2lvbiBkZXBlbmRlbnQgb24gdGhlIGNvbXBpbGVyIHdlIGhhdmUpCi0gICAgICAgIHNlbGYuZGxsX2xpYnJhcmllcz1bImdjYyJdCi0KLSAgICAjIF9faW5pdF9fICgpCi0KLSAgICBkZWYgX2NvbXBpbGUoc2VsZiwgb2JqLCBzcmMsIGV4dCwgY2NfYXJncywgZXh0cmFfcG9zdGFyZ3MsIHBwX29wdHMpOgotICAgICAgICBpZiBleHQgPT0gJy5yYyc6Ci0gICAgICAgICAgICAjIGdjYyByZXF1aXJlcyAnLnJjJyBjb21waWxlZCB0byBiaW5hcnkgKCcucmVzJykgZmlsZXMgISEhCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc2VsZi5zcGF3bihbInJjIiwgIi1yIiwgc3JjXSkKLSAgICAgICAgICAgIGV4Y2VwdCBEaXN0dXRpbHNFeGVjRXJyb3IgYXMgbXNnOgotICAgICAgICAgICAgICAgIHJhaXNlIENvbXBpbGVFcnJvcihtc2cpCi0gICAgICAgIGVsc2U6ICMgZm9yIG90aGVyIGZpbGVzIHVzZSB0aGUgQy1jb21waWxlcgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuc3Bhd24oc2VsZi5jb21waWxlcl9zbyArIGNjX2FyZ3MgKyBbc3JjLCAnLW8nLCBvYmpdICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzKQotICAgICAgICAgICAgZXhjZXB0IERpc3R1dGlsc0V4ZWNFcnJvciBhcyBtc2c6Ci0gICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKLQotICAgIGRlZiBsaW5rIChzZWxmLAotICAgICAgICAgICAgICB0YXJnZXRfZGVzYywKLSAgICAgICAgICAgICAgb2JqZWN0cywKLSAgICAgICAgICAgICAgb3V0cHV0X2ZpbGVuYW1lLAotICAgICAgICAgICAgICBvdXRwdXRfZGlyPU5vbmUsCi0gICAgICAgICAgICAgIGxpYnJhcmllcz1Ob25lLAotICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9Tm9uZSwKLSAgICAgICAgICAgICAgcnVudGltZV9saWJyYXJ5X2RpcnM9Tm9uZSwKLSAgICAgICAgICAgICAgZXhwb3J0X3N5bWJvbHM9Tm9uZSwKLSAgICAgICAgICAgICAgZGVidWc9MCwKLSAgICAgICAgICAgICAgZXh0cmFfcHJlYXJncz1Ob25lLAotICAgICAgICAgICAgICBleHRyYV9wb3N0YXJncz1Ob25lLAotICAgICAgICAgICAgICBidWlsZF90ZW1wPU5vbmUsCi0gICAgICAgICAgICAgIHRhcmdldF9sYW5nPU5vbmUpOgotCi0gICAgICAgICMgdXNlIHNlcGFyYXRlIGNvcGllcywgc28gd2UgY2FuIG1vZGlmeSB0aGUgbGlzdHMKLSAgICAgICAgZXh0cmFfcHJlYXJncyA9IGNvcHkuY29weShleHRyYV9wcmVhcmdzIG9yIFtdKQotICAgICAgICBsaWJyYXJpZXMgPSBjb3B5LmNvcHkobGlicmFyaWVzIG9yIFtdKQotICAgICAgICBvYmplY3RzID0gY29weS5jb3B5KG9iamVjdHMgb3IgW10pCi0KLSAgICAgICAgIyBBZGRpdGlvbmFsIGxpYnJhcmllcwotICAgICAgICBsaWJyYXJpZXMuZXh0ZW5kKHNlbGYuZGxsX2xpYnJhcmllcykKLQotICAgICAgICAjIGhhbmRsZSBleHBvcnQgc3ltYm9scyBieSBjcmVhdGluZyBhIGRlZi1maWxlCi0gICAgICAgICMgd2l0aCBleGVjdXRhYmxlcyB0aGlzIG9ubHkgd29ya3Mgd2l0aCBnY2MvbGQgYXMgbGlua2VyCi0gICAgICAgIGlmICgoZXhwb3J0X3N5bWJvbHMgaXMgbm90IE5vbmUpIGFuZAotICAgICAgICAgICAgKHRhcmdldF9kZXNjICE9IHNlbGYuRVhFQ1VUQUJMRSkpOgotICAgICAgICAgICAgIyAoVGhlIGxpbmtlciBkb2Vzbid0IGRvIGFueXRoaW5nIGlmIG91dHB1dCBpcyB1cC10by1kYXRlLgotICAgICAgICAgICAgIyBTbyBpdCB3b3VsZCBwcm9iYWJseSBiZXR0ZXIgdG8gY2hlY2sgaWYgd2UgcmVhbGx5IG5lZWQgdGhpcywKLSAgICAgICAgICAgICMgYnV0IGZvciB0aGlzIHdlIGhhZCB0byBpbnNlcnQgc29tZSB1bmNoYW5nZWQgcGFydHMgb2YKLSAgICAgICAgICAgICMgVW5peENDb21waWxlciwgYW5kIHRoaXMgaXMgbm90IHdoYXQgd2Ugd2FudC4pCi0KLSAgICAgICAgICAgICMgd2Ugd2FudCB0byBwdXQgc29tZSBmaWxlcyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGhlCi0gICAgICAgICAgICAjIG9iamVjdCBmaWxlcyBhcmUsIGJ1aWxkX3RlbXAgZG9lc24ndCBoZWxwIG11Y2gKLSAgICAgICAgICAgICMgd2hlcmUgYXJlIHRoZSBvYmplY3QgZmlsZXMKLSAgICAgICAgICAgIHRlbXBfZGlyID0gb3MucGF0aC5kaXJuYW1lKG9iamVjdHNbMF0pCi0gICAgICAgICAgICAjIG5hbWUgb2YgZGxsIHRvIGdpdmUgdGhlIGhlbHBlciBmaWxlcyB0aGUgc2FtZSBiYXNlIG5hbWUKLSAgICAgICAgICAgIChkbGxfbmFtZSwgZGxsX2V4dGVuc2lvbikgPSBvcy5wYXRoLnNwbGl0ZXh0KAotICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUob3V0cHV0X2ZpbGVuYW1lKSkKLQotICAgICAgICAgICAgIyBnZW5lcmF0ZSB0aGUgZmlsZW5hbWVzIGZvciB0aGVzZSBmaWxlcwotICAgICAgICAgICAgZGVmX2ZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcF9kaXIsIGRsbF9uYW1lICsgIi5kZWYiKQotCi0gICAgICAgICAgICAjIEdlbmVyYXRlIC5kZWYgZmlsZQotICAgICAgICAgICAgY29udGVudHMgPSBbCi0gICAgICAgICAgICAgICAgIkxJQlJBUlkgJXMgSU5JVElOU1RBTkNFIFRFUk1JTlNUQU5DRSIgJSBcCi0gICAgICAgICAgICAgICAgb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKG91dHB1dF9maWxlbmFtZSkpWzBdLAotICAgICAgICAgICAgICAgICJEQVRBIE1VTFRJUExFIE5PTlNIQVJFRCIsCi0gICAgICAgICAgICAgICAgIkVYUE9SVFMiXQotICAgICAgICAgICAgZm9yIHN5bSBpbiBleHBvcnRfc3ltYm9sczoKLSAgICAgICAgICAgICAgICBjb250ZW50cy5hcHBlbmQoJyAgIiVzIicgJSBzeW0pCi0gICAgICAgICAgICBzZWxmLmV4ZWN1dGUod3JpdGVfZmlsZSwgKGRlZl9maWxlLCBjb250ZW50cyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIndyaXRpbmcgJXMiICUgZGVmX2ZpbGUpCi0KLSAgICAgICAgICAgICMgbmV4dCBhZGQgb3B0aW9ucyBmb3IgZGVmLWZpbGUgYW5kIHRvIGNyZWF0aW5nIGltcG9ydCBsaWJyYXJpZXMKLSAgICAgICAgICAgICMgZm9yIGdjYy9sZCB0aGUgZGVmLWZpbGUgaXMgc3BlY2lmaWVkIGFzIGFueSBvdGhlciBvYmplY3QgZmlsZXMKLSAgICAgICAgICAgIG9iamVjdHMuYXBwZW5kKGRlZl9maWxlKQotCi0gICAgICAgICNlbmQ6IGlmICgoZXhwb3J0X3N5bWJvbHMgaXMgbm90IE5vbmUpIGFuZAotICAgICAgICAjICAgICAgICAodGFyZ2V0X2Rlc2MgIT0gc2VsZi5FWEVDVVRBQkxFIG9yIHNlbGYubGlua2VyX2RsbCA9PSAiZ2NjIikpOgotCi0gICAgICAgICMgd2hvIHdhbnRzIHN5bWJvbHMgYW5kIGEgbWFueSB0aW1lcyBsYXJnZXIgb3V0cHV0IGZpbGUKLSAgICAgICAgIyBzaG91bGQgZXhwbGljaXRseSBzd2l0Y2ggdGhlIGRlYnVnIG1vZGUgb24KLSAgICAgICAgIyBvdGhlcndpc2Ugd2UgbGV0IGRsbHdyYXAvbGQgc3RyaXAgdGhlIG91dHB1dCBmaWxlCi0gICAgICAgICMgKE9uIG15IG1hY2hpbmU6IDEwS0IgPCBzdHJpcHBlZF9maWxlIDwgPz8xMDBLQgotICAgICAgICAjICAgdW5zdHJpcHBlZF9maWxlID0gc3RyaXBwZWRfZmlsZSArIFhYWCBLQgotICAgICAgICAjICAoIFhYWD0yNTQgZm9yIGEgdHlwaWNhbCBweXRob24gZXh0ZW5zaW9uKSkKLSAgICAgICAgaWYgbm90IGRlYnVnOgotICAgICAgICAgICAgZXh0cmFfcHJlYXJncy5hcHBlbmQoIi1zIikKLQotICAgICAgICBVbml4Q0NvbXBpbGVyLmxpbmsoc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9kZXNjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9maWxlbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBydW50aW1lX2xpYnJhcnlfZGlycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUsICMgZXhwb3J0X3N5bWJvbHMsIHdlIGRvIHRoaXMgaW4gb3VyIGRlZi1maWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1ZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX3ByZWFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9wb3N0YXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3RlbXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfbGFuZykKLQotICAgICMgbGluayAoKQotCi0gICAgIyAtLSBNaXNjZWxsYW5lb3VzIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAgICMgb3ZlcnJpZGUgdGhlIG9iamVjdF9maWxlbmFtZXMgbWV0aG9kIGZyb20gQ0NvbXBpbGVyIHRvCi0gICAgIyBzdXBwb3J0IHJjIGFuZCByZXMtZmlsZXMKLSAgICBkZWYgb2JqZWN0X2ZpbGVuYW1lcyAoc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2ZpbGVuYW1lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBfZGlyPTAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXI9JycpOgotICAgICAgICBpZiBvdXRwdXRfZGlyIGlzIE5vbmU6IG91dHB1dF9kaXIgPSAnJwotICAgICAgICBvYmpfbmFtZXMgPSBbXQotICAgICAgICBmb3Igc3JjX25hbWUgaW4gc291cmNlX2ZpbGVuYW1lczoKLSAgICAgICAgICAgICMgdXNlIG5vcm1jYXNlIHRvIG1ha2Ugc3VyZSAnLnJjJyBpcyByZWFsbHkgJy5yYycgYW5kIG5vdCAnLlJDJwotICAgICAgICAgICAgKGJhc2UsIGV4dCkgPSBvcy5wYXRoLnNwbGl0ZXh0IChvcy5wYXRoLm5vcm1jYXNlKHNyY19uYW1lKSkKLSAgICAgICAgICAgIGlmIGV4dCBub3QgaW4gKHNlbGYuc3JjX2V4dGVuc2lvbnMgKyBbJy5yYyddKToKLSAgICAgICAgICAgICAgICByYWlzZSBVbmtub3duRmlsZUVycm9yKCJ1bmtub3duIGZpbGUgdHlwZSAnJXMnIChmcm9tICclcycpIiAlIFwKLSAgICAgICAgICAgICAgICAgICAgICAoZXh0LCBzcmNfbmFtZSkpCi0gICAgICAgICAgICBpZiBzdHJpcF9kaXI6Ci0gICAgICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUgKGJhc2UpCi0gICAgICAgICAgICBpZiBleHQgPT0gJy5yYyc6Ci0gICAgICAgICAgICAgICAgIyB0aGVzZSBuZWVkIHRvIGJlIGNvbXBpbGVkIHRvIG9iamVjdCBmaWxlcwotICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQgKG9zLnBhdGguam9pbiAob3V0cHV0X2RpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIHNlbGYucmVzX2V4dGVuc2lvbikpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQgKG9zLnBhdGguam9pbiAob3V0cHV0X2RpciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIHNlbGYub2JqX2V4dGVuc2lvbikpCi0gICAgICAgIHJldHVybiBvYmpfbmFtZXMKLQotICAgICMgb2JqZWN0X2ZpbGVuYW1lcyAoKQotCi0gICAgIyBvdmVycmlkZSB0aGUgZmluZF9saWJyYXJ5X2ZpbGUgbWV0aG9kIGZyb20gVW5peENDb21waWxlcgotICAgICMgdG8gZGVhbCB3aXRoIGZpbGUgbmFtaW5nL3NlYXJjaGluZyBkaWZmZXJlbmNlcwotICAgIGRlZiBmaW5kX2xpYnJhcnlfZmlsZShzZWxmLCBkaXJzLCBsaWIsIGRlYnVnPTApOgotICAgICAgICBzaG9ydGxpYiA9ICclcy5saWInICUgbGliCi0gICAgICAgIGxvbmdsaWIgPSAnbGliJXMubGliJyAlIGxpYiAgICAjIHRoaXMgZm9ybSB2ZXJ5IHJhcmUKLQotICAgICAgICAjIGdldCBFTVgncyBkZWZhdWx0IGxpYnJhcnkgZGlyZWN0b3J5IHNlYXJjaCBwYXRoCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGVteF9kaXJzID0gb3MuZW52aXJvblsnTElCUkFSWV9QQVRIJ10uc3BsaXQoJzsnKQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICBlbXhfZGlycyA9IFtdCi0KLSAgICAgICAgZm9yIGRpciBpbiBkaXJzICsgZW14X2RpcnM6Ci0gICAgICAgICAgICBzaG9ydGxpYnAgPSBvcy5wYXRoLmpvaW4oZGlyLCBzaG9ydGxpYikKLSAgICAgICAgICAgIGxvbmdsaWJwID0gb3MucGF0aC5qb2luKGRpciwgbG9uZ2xpYikKLSAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNob3J0bGlicCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHNob3J0bGlicAotICAgICAgICAgICAgZWxpZiBvcy5wYXRoLmV4aXN0cyhsb25nbGlicCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGxvbmdsaWJwCi0KLSAgICAgICAgIyBPb3BzLCBkaWRuJ3QgZmluZCBpdCBpbiAqYW55KiBvZiAnZGlycycKLSAgICAgICAgcmV0dXJuIE5vbmUKLQotIyBjbGFzcyBFTVhDQ29tcGlsZXIKLQotCi0jIEJlY2F1c2UgdGhlc2UgY29tcGlsZXJzIGFyZW4ndCBjb25maWd1cmVkIGluIFB5dGhvbidzIHB5Y29uZmlnLmggZmlsZSBieQotIyBkZWZhdWx0LCB3ZSBzaG91bGQgYXQgbGVhc3Qgd2FybiB0aGUgdXNlciBpZiBoZSBpcyB1c2luZyBhIHVubW9kaWZpZWQKLSMgdmVyc2lvbi4KLQotQ09ORklHX0hfT0sgPSAib2siCi1DT05GSUdfSF9OT1RPSyA9ICJub3Qgb2siCi1DT05GSUdfSF9VTkNFUlRBSU4gPSAidW5jZXJ0YWluIgotCi1kZWYgY2hlY2tfY29uZmlnX2goKToKLQotICAgICIiIkNoZWNrIGlmIHRoZSBjdXJyZW50IFB5dGhvbiBpbnN0YWxsYXRpb24gKHNwZWNpZmljYWxseSwgcHljb25maWcuaCkKLSAgICBhcHBlYXJzIGFtZW5hYmxlIHRvIGJ1aWxkaW5nIGV4dGVuc2lvbnMgd2l0aCBHQ0MuICBSZXR1cm5zIGEgdHVwbGUKLSAgICAoc3RhdHVzLCBkZXRhaWxzKSwgd2hlcmUgJ3N0YXR1cycgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcgY29uc3RhbnRzOgotICAgICAgQ09ORklHX0hfT0sKLSAgICAgICAgYWxsIGlzIHdlbGwsIGdvIGFoZWFkIGFuZCBjb21waWxlCi0gICAgICBDT05GSUdfSF9OT1RPSwotICAgICAgICBkb2Vzbid0IGxvb2sgZ29vZAotICAgICAgQ09ORklHX0hfVU5DRVJUQUlOCi0gICAgICAgIG5vdCBzdXJlIC0tIHVuYWJsZSB0byByZWFkIHB5Y29uZmlnLmgKLSAgICAnZGV0YWlscycgaXMgYSBodW1hbi1yZWFkYWJsZSBzdHJpbmcgZXhwbGFpbmluZyB0aGUgc2l0dWF0aW9uLgotCi0gICAgTm90ZSB0aGVyZSBhcmUgdHdvIHdheXMgdG8gY29uY2x1ZGUgIk9LIjogZWl0aGVyICdzeXMudmVyc2lvbicgY29udGFpbnMKLSAgICB0aGUgc3RyaW5nICJHQ0MiIChpbXBseWluZyB0aGF0IHRoaXMgUHl0aG9uIHdhcyBidWlsdCB3aXRoIEdDQyksIG9yIHRoZQotICAgIGluc3RhbGxlZCAicHljb25maWcuaCIgY29udGFpbnMgdGhlIHN0cmluZyAiX19HTlVDX18iLgotICAgICIiIgotCi0gICAgIyBYWFggc2luY2UgdGhpcyBmdW5jdGlvbiBhbHNvIGNoZWNrcyBzeXMudmVyc2lvbiwgaXQncyBub3Qgc3RyaWN0bHkgYQotICAgICMgInB5Y29uZmlnLmgiIGNoZWNrIC0tIHNob3VsZCBwcm9iYWJseSBiZSByZW5hbWVkLi4uCi0KLSAgICBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCi0gICAgIyBpZiBzeXMudmVyc2lvbiBjb250YWlucyBHQ0MgdGhlbiBweXRob24gd2FzIGNvbXBpbGVkIHdpdGgKLSAgICAjIEdDQywgYW5kIHRoZSBweWNvbmZpZy5oIGZpbGUgc2hvdWxkIGJlIE9LCi0gICAgaWYgc3lzLnZlcnNpb24uZmluZCgiR0NDIikgPj0gMDoKLSAgICAgICAgcmV0dXJuIChDT05GSUdfSF9PSywgInN5cy52ZXJzaW9uIG1lbnRpb25zICdHQ0MnIikKLQotICAgIGZuID0gc3lzY29uZmlnLmdldF9jb25maWdfaF9maWxlbmFtZSgpCi0gICAgdHJ5OgotICAgICAgICAjIEl0IHdvdWxkIHByb2JhYmx5IGJldHRlciB0byByZWFkIHNpbmdsZSBsaW5lcyB0byBzZWFyY2guCi0gICAgICAgICMgQnV0IHdlIGRvIHRoaXMgb25seSBvbmNlLCBhbmQgaXQgaXMgZmFzdCBlbm91Z2gKLSAgICAgICAgZiA9IG9wZW4oZm4pCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHMgPSBmLnJlYWQoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCi0KLSAgICBleGNlcHQgSU9FcnJvciBhcyBleGM6Ci0gICAgICAgICMgaWYgd2UgY2FuJ3QgcmVhZCB0aGlzIGZpbGUsIHdlIGNhbm5vdCBzYXkgaXQgaXMgd3JvbmcKLSAgICAgICAgIyB0aGUgY29tcGlsZXIgd2lsbCBjb21wbGFpbiBsYXRlciBhYm91dCB0aGlzIGZpbGUgYXMgbWlzc2luZwotICAgICAgICByZXR1cm4gKENPTkZJR19IX1VOQ0VSVEFJTiwKLSAgICAgICAgICAgICAgICAiY291bGRuJ3QgcmVhZCAnJXMnOiAlcyIgJSAoZm4sIGV4Yy5zdHJlcnJvcikpCi0KLSAgICBlbHNlOgotICAgICAgICAjICJweWNvbmZpZy5oIiBjb250YWlucyBhbiAiI2lmZGVmIF9fR05VQ19fIiBvciBzb21ldGhpbmcgc2ltaWxhcgotICAgICAgICBpZiBzLmZpbmQoIl9fR05VQ19fIikgPj0gMDoKLSAgICAgICAgICAgIHJldHVybiAoQ09ORklHX0hfT0ssICInJXMnIG1lbnRpb25zICdfX0dOVUNfXyciICUgZm4pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gKENPTkZJR19IX05PVE9LLCAiJyVzJyBkb2VzIG5vdCBtZW50aW9uICdfX0dOVUNfXyciICUgZm4pCi0KLQotZGVmIGdldF92ZXJzaW9ucygpOgotICAgICIiIiBUcnkgdG8gZmluZCBvdXQgdGhlIHZlcnNpb25zIG9mIGdjYyBhbmQgbGQuCi0gICAgICAgIElmIG5vdCBwb3NzaWJsZSBpdCByZXR1cm5zIE5vbmUgZm9yIGl0LgotICAgICIiIgotICAgIGZyb20gZGlzdHV0aWxzLnZlcnNpb24gaW1wb3J0IFN0cmljdFZlcnNpb24KLSAgICBmcm9tIGRpc3R1dGlscy5zcGF3biBpbXBvcnQgZmluZF9leGVjdXRhYmxlCi0gICAgaW1wb3J0IHJlCi0KLSAgICBnY2NfZXhlID0gZmluZF9leGVjdXRhYmxlKCdnY2MnKQotICAgIGlmIGdjY19leGU6Ci0gICAgICAgIG91dCA9IG9zLnBvcGVuKGdjY19leGUgKyAnIC1kdW1wdmVyc2lvbicsJ3InKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvdXRfc3RyaW5nID0gb3V0LnJlYWQoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgb3V0LmNsb3NlKCkKLSAgICAgICAgcmVzdWx0ID0gcmUuc2VhcmNoKCcoXGQrXC5cZCtcLlxkKyknLCBvdXRfc3RyaW5nLCByZS5BU0NJSSkKLSAgICAgICAgaWYgcmVzdWx0OgotICAgICAgICAgICAgZ2NjX3ZlcnNpb24gPSBTdHJpY3RWZXJzaW9uKHJlc3VsdC5ncm91cCgxKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGdjY192ZXJzaW9uID0gTm9uZQotICAgIGVsc2U6Ci0gICAgICAgIGdjY192ZXJzaW9uID0gTm9uZQotICAgICMgRU1YIGxkIGhhcyBubyB3YXkgb2YgcmVwb3J0aW5nIHZlcnNpb24gbnVtYmVyLCBhbmQgd2UgdXNlIEdDQwotICAgICMgYW55d2F5IC0gc28gd2UgY2FuIGxpbmsgT01GIERMTHMKLSAgICBsZF92ZXJzaW9uID0gTm9uZQotICAgIHJldHVybiAoZ2NjX3ZlcnNpb24sIGxkX3ZlcnNpb24pCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL2Vycm9ycy5weSBiL0xpYi9kaXN0dXRpbHMvZXJyb3JzLnB5CmluZGV4IGViMTNjOTguLjhiOTMwNTkgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvZXJyb3JzLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvZXJyb3JzLnB5CkBAIC0zNSw4ICszNSw4IEBACiAKIGNsYXNzIERpc3R1dGlsc0ZpbGVFcnJvciAoRGlzdHV0aWxzRXJyb3IpOgogICAgICIiIkFueSBwcm9ibGVtcyBpbiB0aGUgZmlsZXN5c3RlbTogZXhwZWN0ZWQgZmlsZSBub3QgZm91bmQsIGV0Yy4KLSAgICBUeXBpY2FsbHkgdGhpcyBpcyBmb3IgcHJvYmxlbXMgdGhhdCB3ZSBkZXRlY3QgYmVmb3JlIElPRXJyb3Igb3IKLSAgICBPU0Vycm9yIGNvdWxkIGJlIHJhaXNlZC4iIiIKKyAgICBUeXBpY2FsbHkgdGhpcyBpcyBmb3IgcHJvYmxlbXMgdGhhdCB3ZSBkZXRlY3QgYmVmb3JlIE9TRXJyb3IKKyAgICBjb3VsZCBiZSByYWlzZWQuIiIiCiAgICAgcGFzcwogCiBjbGFzcyBEaXN0dXRpbHNPcHRpb25FcnJvciAoRGlzdHV0aWxzRXJyb3IpOgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9maWxlX3V0aWwucHkgYi9MaWIvZGlzdHV0aWxzL2ZpbGVfdXRpbC5weQppbmRleCA5YmRkMTRlLi5mNmVkMjkwIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2ZpbGVfdXRpbC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2ZpbGVfdXRpbC5weQpAQCAtMjcsMjYgKzI3LDI2IEBACiAgICAgdHJ5OgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmc3JjID0gb3BlbihzcmMsICdyYicpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRmlsZUVycm9yKCJjb3VsZCBub3Qgb3BlbiAnJXMnOiAlcyIgJSAoc3JjLCBlLnN0cmVycm9yKSkKIAogICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhkc3QpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG9zLnVubGluayhkc3QpCi0gICAgICAgICAgICBleGNlcHQgb3MuZXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRmlsZUVycm9yKAogICAgICAgICAgICAgICAgICAgICAgICJjb3VsZCBub3QgZGVsZXRlICclcyc6ICVzIiAlIChkc3QsIGUuc3RyZXJyb3IpKQogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZkc3QgPSBvcGVuKGRzdCwgJ3diJykKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNGaWxlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAiY291bGQgbm90IGNyZWF0ZSAnJXMnOiAlcyIgJSAoZHN0LCBlLnN0cmVycm9yKSkKIAogICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGJ1ZiA9IGZzcmMucmVhZChidWZmZXJfc2l6ZSkKLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNGaWxlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICAgImNvdWxkIG5vdCByZWFkIGZyb20gJyVzJzogJXMiICUgKHNyYywgZS5zdHJlcnJvcikpCiAKQEAgLTU1LDcgKzU1LDcgQEAKIAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGZkc3Qud3JpdGUoYnVmKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHJhaXNlIERpc3R1dGlsc0ZpbGVFcnJvcigKICAgICAgICAgICAgICAgICAgICAgICAiY291bGQgbm90IHdyaXRlIHRvICclcyc6ICVzIiAlIChkc3QsIGUuc3RyZXJyb3IpKQogICAgIGZpbmFsbHk6CkBAIC0xOTMsNyArMTkzLDcgQEAKICAgICBjb3B5X2l0ID0gRmFsc2UKICAgICB0cnk6CiAgICAgICAgIG9zLnJlbmFtZShzcmMsIGRzdCkKLSAgICBleGNlcHQgb3MuZXJyb3IgYXMgZToKKyAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAobnVtLCBtc2cpID0gZQogICAgICAgICBpZiBudW0gPT0gZXJybm8uRVhERVY6CiAgICAgICAgICAgICBjb3B5X2l0ID0gVHJ1ZQpAQCAtMjA1LDExICsyMDUsMTEgQEAKICAgICAgICAgY29weV9maWxlKHNyYywgZHN0LCB2ZXJib3NlPXZlcmJvc2UpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLnVubGluayhzcmMpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgKG51bSwgbXNnKSA9IGUKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZHN0KQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRmlsZUVycm9yKAogICAgICAgICAgICAgICAgICAgImNvdWxkbid0IG1vdmUgJyVzJyB0byAnJXMnIGJ5IGNvcHkvZGVsZXRlOiAiCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkgYi9MaWIvZGlzdHV0aWxzL21zdmM5Y29tcGlsZXIucHkKaW5kZXggYjNmNmNlMS4uOTY4OGYyMCAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9tc3ZjOWNvbXBpbGVyLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvbXN2Yzljb21waWxlci5weQpAQCAtNzI5LDcgKzcyOSw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIG1hbmlmZXN0X2ZpbGUKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgbWFuaWZlc3RfZi5jbG9zZSgpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKIAogICAgICMgLS0gTWlzY2VsbGFuZW91cyBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3NwYXduLnB5IGIvTGliL2Rpc3R1dGlscy9zcGF3bi5weQppbmRleCBmNThjNTVmLi5iMWM1YTQ0IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3NwYXduLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvc3Bhd24ucHkKQEAgLTMyLDggKzMyLDYgQEAKICAgICAgICAgX3NwYXduX3Bvc2l4KGNtZCwgc2VhcmNoX3BhdGgsIGRyeV9ydW49ZHJ5X3J1bikKICAgICBlbGlmIG9zLm5hbWUgPT0gJ250JzoKICAgICAgICAgX3NwYXduX250KGNtZCwgc2VhcmNoX3BhdGgsIGRyeV9ydW49ZHJ5X3J1bikKLSAgICBlbGlmIG9zLm5hbWUgPT0gJ29zMic6Ci0gICAgICAgIF9zcGF3bl9vczIoY21kLCBzZWFyY2hfcGF0aCwgZHJ5X3J1bj1kcnlfcnVuKQogICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIERpc3R1dGlsc1BsYXRmb3JtRXJyb3IoCiAgICAgICAgICAgICAgICJkb24ndCBrbm93IGhvdyB0byBzcGF3biBwcm9ncmFtcyBvbiBwbGF0Zm9ybSAnJXMnIiAlIG9zLm5hbWUpCkBAIC03NCwyNiArNzIsNiBAQAogICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRXhlY0Vycm9yKAogICAgICAgICAgICAgICAgICAgImNvbW1hbmQgJyVzJyBmYWlsZWQgd2l0aCBleGl0IHN0YXR1cyAlZCIgJSAoY21kWzBdLCByYykpCiAKLWRlZiBfc3Bhd25fb3MyKGNtZCwgc2VhcmNoX3BhdGg9MSwgdmVyYm9zZT0wLCBkcnlfcnVuPTApOgotICAgIGV4ZWN1dGFibGUgPSBjbWRbMF0KLSAgICBpZiBzZWFyY2hfcGF0aDoKLSAgICAgICAgIyBlaXRoZXIgd2UgZmluZCBvbmUgb3IgaXQgc3RheXMgdGhlIHNhbWUKLSAgICAgICAgZXhlY3V0YWJsZSA9IGZpbmRfZXhlY3V0YWJsZShleGVjdXRhYmxlKSBvciBleGVjdXRhYmxlCi0gICAgbG9nLmluZm8oJyAnLmpvaW4oW2V4ZWN1dGFibGVdICsgY21kWzE6XSkpCi0gICAgaWYgbm90IGRyeV9ydW46Ci0gICAgICAgICMgc3Bhd252IGZvciBPUy8yIEVNWCByZXF1aXJlcyBhIGZ1bGwgcGF0aCB0byB0aGUgLmV4ZQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByYyA9IG9zLnNwYXdudihvcy5QX1dBSVQsIGV4ZWN1dGFibGUsIGNtZCkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXhjOgotICAgICAgICAgICAgIyB0aGlzIHNlZW1zIHRvIGhhcHBlbiB3aGVuIHRoZSBjb21tYW5kIGlzbid0IGZvdW5kCi0gICAgICAgICAgICByYWlzZSBEaXN0dXRpbHNFeGVjRXJyb3IoCi0gICAgICAgICAgICAgICAgICAiY29tbWFuZCAnJXMnIGZhaWxlZDogJXMiICUgKGNtZFswXSwgZXhjLmFyZ3NbLTFdKSkKLSAgICAgICAgaWYgcmMgIT0gMDoKLSAgICAgICAgICAgICMgYW5kIHRoaXMgcmVmbGVjdHMgdGhlIGNvbW1hbmQgcnVubmluZyBidXQgZmFpbGluZwotICAgICAgICAgICAgbG9nLmRlYnVnKCJjb21tYW5kICclcycgZmFpbGVkIHdpdGggZXhpdCBzdGF0dXMgJWQiICUgKGNtZFswXSwgcmMpKQotICAgICAgICAgICAgcmFpc2UgRGlzdHV0aWxzRXhlY0Vycm9yKAotICAgICAgICAgICAgICAgICAgImNvbW1hbmQgJyVzJyBmYWlsZWQgd2l0aCBleGl0IHN0YXR1cyAlZCIgJSAoY21kWzBdLCByYykpCi0KIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKICAgICBmcm9tIGRpc3R1dGlscyBpbXBvcnQgc3lzY29uZmlnCiAgICAgX2NmZ190YXJnZXQgPSBOb25lCkBAIC0xODAsNyArMTU4LDcgQEAKICAgICBwYXRocyA9IHBhdGguc3BsaXQob3MucGF0aHNlcCkKICAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KGV4ZWN1dGFibGUpCiAKLSAgICBpZiAoc3lzLnBsYXRmb3JtID09ICd3aW4zMicgb3Igb3MubmFtZSA9PSAnb3MyJykgYW5kIChleHQgIT0gJy5leGUnKToKKyAgICBpZiAoc3lzLnBsYXRmb3JtID09ICd3aW4zMicpIGFuZCAoZXh0ICE9ICcuZXhlJyk6CiAgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlICsgJy5leGUnCiAKICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZXhlY3V0YWJsZSk6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3N5c2NvbmZpZy5weSBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CmluZGV4IGI3MzUwM2QuLjg5OGFhMjYgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvc3lzY29uZmlnLnB5CkBAIC0xMTQsOCArMTE0LDYgQEAKICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihwcmVmaXgsICJpbmNsdWRlIiwgcHl0aG9uX2RpcikKICAgICBlbGlmIG9zLm5hbWUgPT0gIm50IjoKICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihwcmVmaXgsICJpbmNsdWRlIikKLSAgICBlbGlmIG9zLm5hbWUgPT0gIm9zMiI6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ocHJlZml4LCAiSW5jbHVkZSIpCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcigKICAgICAgICAgICAgICJJIGRvbid0IGtub3cgd2hlcmUgUHl0aG9uIGluc3RhbGxzIGl0cyBDIGhlYWRlciBmaWxlcyAiCkBAIC0xNTcsMTEgKzE1NSw2IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHByZWZpeCwgIkxpYiIsICJzaXRlLXBhY2thZ2VzIikKLSAgICBlbGlmIG9zLm5hbWUgPT0gIm9zMiI6Ci0gICAgICAgIGlmIHN0YW5kYXJkX2xpYjoKLSAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ocHJlZml4LCAiTGliIikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ocHJlZml4LCAiTGliIiwgInNpdGUtcGFja2FnZXMiKQogICAgIGVsc2U6CiAgICAgICAgIHJhaXNlIERpc3R1dGlsc1BsYXRmb3JtRXJyb3IoCiAgICAgICAgICAgICAiSSBkb24ndCBrbm93IHdoZXJlIFB5dGhvbiBpbnN0YWxscyBpdHMgbGlicmFyeSAiCkBAIC00MzYsNyArNDI5LDcgQEAKICAgICB0cnk6CiAgICAgICAgIGZpbGVuYW1lID0gZ2V0X21ha2VmaWxlX2ZpbGVuYW1lKCkKICAgICAgICAgcGFyc2VfbWFrZWZpbGUoZmlsZW5hbWUsIGcpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgbXlfbXNnID0gImludmFsaWQgUHl0aG9uIGluc3RhbGxhdGlvbjogdW5hYmxlIHRvIG9wZW4gJXMiICUgZmlsZW5hbWUKICAgICAgICAgaWYgaGFzYXR0cihtc2csICJzdHJlcnJvciIpOgogICAgICAgICAgICAgbXlfbXNnID0gbXlfbXNnICsgIiAoJXMpIiAlIG1zZy5zdHJlcnJvcgpAQCAtNDQ4LDcgKzQ0MSw3IEBACiAgICAgICAgIGZpbGVuYW1lID0gZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lKCkKICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lKSBhcyBmaWxlOgogICAgICAgICAgICAgcGFyc2VfY29uZmlnX2goZmlsZSwgZykKLSAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICBteV9tc2cgPSAiaW52YWxpZCBQeXRob24gaW5zdGFsbGF0aW9uOiB1bmFibGUgdG8gb3BlbiAlcyIgJSBmaWxlbmFtZQogICAgICAgICBpZiBoYXNhdHRyKG1zZywgInN0cmVycm9yIik6CiAgICAgICAgICAgICBteV9tc2cgPSBteV9tc2cgKyAiICglcykiICUgbXNnLnN0cmVycm9yCkBAIC00ODYsNyArNDc5LDYgQEAKICAgICAjIFhYWCBobW1tLi4gYSBub3JtYWwgaW5zdGFsbCBwdXRzIGluY2x1ZGUgZmlsZXMgaGVyZQogICAgIGdbJ0lOQ0xVREVQWSddID0gZ2V0X3B5dGhvbl9pbmMocGxhdF9zcGVjaWZpYz0wKQogCi0gICAgZ1snU08nXSA9ICcucHlkJwogICAgIGdbJ0VYVF9TVUZGSVgnXSA9ICcucHlkJwogICAgIGdbJ0VYRSddID0gIi5leGUiCiAgICAgZ1snVkVSU0lPTiddID0gZ2V0X3B5dGhvbl92ZXJzaW9uKCkucmVwbGFjZSgiLiIsICIiKQpAQCAtNDk2LDI0ICs0ODgsNiBAQAogICAgIF9jb25maWdfdmFycyA9IGcKIAogCi1kZWYgX2luaXRfb3MyKCk6Ci0gICAgIiIiSW5pdGlhbGl6ZSB0aGUgbW9kdWxlIGFzIGFwcHJvcHJpYXRlIGZvciBPUy8yIiIiCi0gICAgZyA9IHt9Ci0gICAgIyBzZXQgYmFzaWMgaW5zdGFsbCBkaXJlY3RvcmllcwotICAgIGdbJ0xJQkRFU1QnXSA9IGdldF9weXRob25fbGliKHBsYXRfc3BlY2lmaWM9MCwgc3RhbmRhcmRfbGliPTEpCi0gICAgZ1snQklOTElCREVTVCddID0gZ2V0X3B5dGhvbl9saWIocGxhdF9zcGVjaWZpYz0xLCBzdGFuZGFyZF9saWI9MSkKLQotICAgICMgWFhYIGhtbW0uLiBhIG5vcm1hbCBpbnN0YWxsIHB1dHMgaW5jbHVkZSBmaWxlcyBoZXJlCi0gICAgZ1snSU5DTFVERVBZJ10gPSBnZXRfcHl0aG9uX2luYyhwbGF0X3NwZWNpZmljPTApCi0KLSAgICBnWydTTyddID0gJy5weWQnCi0gICAgZ1snRVhUX1NVRkZJWCddID0gJy5weWQnCi0gICAgZ1snRVhFJ10gPSAiLmV4ZSIKLQotICAgIGdsb2JhbCBfY29uZmlnX3ZhcnMKLSAgICBfY29uZmlnX3ZhcnMgPSBnCi0KLQogZGVmIGdldF9jb25maWdfdmFycygqYXJncyk6CiAgICAgIiIiV2l0aCBubyBhcmd1bWVudHMsIHJldHVybiBhIGRpY3Rpb25hcnkgb2YgYWxsIGNvbmZpZ3VyYXRpb24KICAgICB2YXJpYWJsZXMgcmVsZXZhbnQgZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLiAgR2VuZXJhbGx5IHRoaXMgaW5jbHVkZXMKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9iZGlzdF9kdW1iLnB5IGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2JkaXN0X2R1bWIucHkKaW5kZXggMGFkMzJkNC4uNzMwNjE2NiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2JkaXN0X2R1bWIucHkKKysrIGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2JkaXN0X2R1bWIucHkKQEAgLTc1LDggKzc1LDYgQEAKICAgICAgICAgIyBzZWUgd2hhdCB3ZSBoYXZlCiAgICAgICAgIGRpc3RfY3JlYXRlZCA9IG9zLmxpc3RkaXIob3MucGF0aC5qb2luKHBrZ19kaXIsICdkaXN0JykpCiAgICAgICAgIGJhc2UgPSAiJXMuJXMuemlwIiAlIChkaXN0LmdldF9mdWxsbmFtZSgpLCBjbWQucGxhdF9uYW1lKQotICAgICAgICBpZiBvcy5uYW1lID09ICdvczInOgotICAgICAgICAgICAgYmFzZSA9IGJhc2UucmVwbGFjZSgnOicsICctJykKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3RfY3JlYXRlZCwgW2Jhc2VdKQogCmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfY29uZmlnLnB5IGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2NvbmZpZy5weQppbmRleCA1MjViZWU5Li4xMjU5MzYxIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfY29uZmlnLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9jb25maWcucHkKQEAgLTg3LDcgKzg3LDcgQEAKIAogICAgICAgICBjb25maWcgPSBsaXN0KHNvcnRlZChjb25maWcuaXRlbXMoKSkpCiAgICAgICAgIHdhaXRlZCA9IFsoJ3Bhc3N3b3JkJywgJ3NlY3JldCcpLCAoJ3JlYWxtJywgJ3B5cGknKSwKLSAgICAgICAgICAgICAgICAgICgncmVwb3NpdG9yeScsICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGknKSwKKyAgICAgICAgICAgICAgICAgICgncmVwb3NpdG9yeScsICdodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpJyksCiAgICAgICAgICAgICAgICAgICAoJ3NlcnZlcicsICdzZXJ2ZXIxJyksICgndXNlcm5hbWUnLCAnbWUnKV0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb25maWcsIHdhaXRlZCkKIApAQCAtOTYsNyArOTYsNyBAQAogICAgICAgICBjb25maWcgPSBjbWQuX3JlYWRfcHlwaXJjKCkKICAgICAgICAgY29uZmlnID0gbGlzdChzb3J0ZWQoY29uZmlnLml0ZW1zKCkpKQogICAgICAgICB3YWl0ZWQgPSBbKCdwYXNzd29yZCcsICdzZWNyZXQnKSwgKCdyZWFsbScsICdweXBpJyksCi0gICAgICAgICAgICAgICAgICAoJ3JlcG9zaXRvcnknLCAnaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpJyksCisgICAgICAgICAgICAgICAgICAoJ3JlcG9zaXRvcnknLCAnaHR0cHM6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaScpLAogICAgICAgICAgICAgICAgICAgKCdzZXJ2ZXInLCAnc2VydmVyLWxvZ2luJyksICgndXNlcm5hbWUnLCAndGFyZWsnKV0KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb25maWcsIHdhaXRlZCkKIApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2luc3RhbGwucHkgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfaW5zdGFsbC5weQppbmRleCBiMTkwMTI3Li5lOWIyNjQyIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfaW5zdGFsbC5weQorKysgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfaW5zdGFsbC5weQpAQCAtOTQsNyArOTQsNyBAQAogCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChjbGVhbnVwKQogCi0gICAgICAgIGZvciBrZXkgaW4gKCdudF91c2VyJywgJ3VuaXhfdXNlcicsICdvczJfaG9tZScpOgorICAgICAgICBmb3Iga2V5IGluICgnbnRfdXNlcicsICd1bml4X3VzZXInKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oa2V5LCBJTlNUQUxMX1NDSEVNRVMpCiAKICAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnfSkKZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF91cGxvYWQucHkgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfdXBsb2FkLnB5CmluZGV4IDRjNjQ2NGEuLjRhNzFjYTQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF91cGxvYWQucHkKKysrIGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X3VwbG9hZC5weQpAQCAtNzIsMTIgKzcyLDEyIEBACiAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHN1cGVyKHVwbG9hZFRlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCi0gICAgICAgIHNlbGYub2xkX2NsYXNzID0gaHR0cGNsaWVudC5IVFRQQ29ubmVjdGlvbgotICAgICAgICBzZWxmLmNvbm4gPSBodHRwY2xpZW50LkhUVFBDb25uZWN0aW9uID0gRmFrZUNvbm5lY3Rpb24oKQotCi0gICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICBodHRwY2xpZW50LkhUVFBDb25uZWN0aW9uID0gc2VsZi5vbGRfY2xhc3MKLSAgICAgICAgc3VwZXIodXBsb2FkVGVzdENhc2UsIHNlbGYpLnRlYXJEb3duKCkKKyAgICAgICAgaWYgaGFzYXR0cihodHRwY2xpZW50LCAnSFRUUFNDb25uZWN0aW9uJyk6CisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgaHR0cGNsaWVudCwgJ0hUVFBTQ29ubmVjdGlvbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cGNsaWVudC5IVFRQU0Nvbm5lY3Rpb24pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAoZGVsYXR0ciwgaHR0cGNsaWVudCwgJ0hUVFBTQ29ubmVjdGlvbicpCisgICAgICAgIHNlbGYuY29ubiA9IGh0dHBjbGllbnQuSFRUUFNDb25uZWN0aW9uID0gRmFrZUNvbm5lY3Rpb24oKQogCiAgICAgZGVmIHRlc3RfZmluYWxpemVfb3B0aW9ucyhzZWxmKToKIApAQCAtODgsNyArODgsNyBAQAogICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCiAgICAgICAgIGZvciBhdHRyLCB3YWl0ZWQgaW4gKCgndXNlcm5hbWUnLCAnbWUnKSwgKCdwYXNzd29yZCcsICdzZWNyZXQnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdyZWFsbScsICdweXBpJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncmVwb3NpdG9yeScsICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGknKSk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncmVwb3NpdG9yeScsICdodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpJykpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhdHRyKGNtZCwgYXR0ciksIHdhaXRlZCkKIAogICAgIGRlZiB0ZXN0X3NhdmVkX3Bhc3N3b3JkKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X3V0aWwucHkgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfdXRpbC5weQppbmRleCBlYWM5YjUxLi5iNzNjZmU5IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfdXRpbC5weQorKysgYi9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfdXRpbC5weQpAQCAtMjM2LDcgKzIzNiw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKERpc3R1dGlsc1BsYXRmb3JtRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZV9yb290LCAnYzpcXHJvb3QnLCAnaXRzXFxoZXJlJykKIAotICAgICAgICAjIFhYWCBwbGF0Zm9ybXMgdG8gYmUgY292ZXJlZDogb3MyLCBtYWMKKyAgICAgICAgIyBYWFggcGxhdGZvcm1zIHRvIGJlIGNvdmVyZWQ6IG1hYwogCiAgICAgZGVmIHRlc3RfY2hlY2tfZW52aXJvbihzZWxmKToKICAgICAgICAgdXRpbC5fZW52aXJvbl9jaGVja2VkID0gMApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy91dGlsLnB5IGIvTGliL2Rpc3R1dGlscy91dGlsLnB5CmluZGV4IDY3ZDgxNjYuLmEyZjk1NDQgMTAwNjQ0Ci0tLSBhL0xpYi9kaXN0dXRpbHMvdXRpbC5weQorKysgYi9MaWIvZGlzdHV0aWxzL3V0aWwucHkKQEAgLTE1NCwxMiArMTU0LDYgQEAKICAgICAgICAgICAgIHBhdGggPSBwYXRoWzE6XQogICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKG5ld19yb290LCBwYXRoKQogCi0gICAgZWxpZiBvcy5uYW1lID09ICdvczInOgotICAgICAgICAoZHJpdmUsIHBhdGgpID0gb3MucGF0aC5zcGxpdGRyaXZlKHBhdGhuYW1lKQotICAgICAgICBpZiBwYXRoWzBdID09IG9zLnNlcDoKLSAgICAgICAgICAgIHBhdGggPSBwYXRoWzE6XQotICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKG5ld19yb290LCBwYXRoKQotCiAgICAgZWxzZToKICAgICAgICAgcmFpc2UgRGlzdHV0aWxzUGxhdGZvcm1FcnJvcigibm90aGluZyBrbm93biBhYm91dCBwbGF0Zm9ybSAnJXMnIiAlIG9zLm5hbWUpCiAKQEAgLTIxMyw4ICsyMDcsOCBAQAogCiAKIGRlZiBncm9rX2Vudmlyb25tZW50X2Vycm9yIChleGMsIHByZWZpeD0iZXJyb3I6ICIpOgotICAgICIiIkdlbmVyYXRlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZnJvbSBhbiBFbnZpcm9ubWVudEVycm9yIChJT0Vycm9yIG9yCi0gICAgT1NFcnJvcikgZXhjZXB0aW9uIG9iamVjdC4gIEhhbmRsZXMgUHl0aG9uIDEuNS4xIGFuZCAxLjUuMiBzdHlsZXMsIGFuZAorICAgICIiIkdlbmVyYXRlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZnJvbSBhbiBPU0Vycm9yCisgICAgZXhjZXB0aW9uIG9iamVjdC4gIEhhbmRsZXMgUHl0aG9uIDEuNS4xIGFuZCAxLjUuMiBzdHlsZXMsIGFuZAogICAgIGRvZXMgd2hhdCBpdCBjYW4gdG8gZGVhbCB3aXRoIGV4Y2VwdGlvbiBvYmplY3RzIHRoYXQgZG9uJ3QgaGF2ZSBhCiAgICAgZmlsZW5hbWUgKHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUgZXJyb3IgaXMgZHVlIHRvIGEgdHdvLWZpbGUgb3BlcmF0aW9uLAogICAgIHN1Y2ggYXMgJ3JlbmFtZSgpJyBvciAnbGluaygpJy4gIFJldHVybnMgdGhlIGVycm9yIG1lc3NhZ2UgYXMgYSBzdHJpbmcKZGlmZiAtLWdpdCBhL0xpYi9kb2N0ZXN0LnB5IGIvTGliL2RvY3Rlc3QucHkKaW5kZXggM2FmMDVmYi4uMTZhNzMyZCAxMDA2NDQKLS0tIGEvTGliL2RvY3Rlc3QucHkKKysrIGIvTGliL2RvY3Rlc3QucHkKQEAgLTYyLDYgKzYyLDcgQEAKICAgICAnUkVQT1JUX05ESUZGJywKICAgICAnUkVQT1JUX09OTFlfRklSU1RfRkFJTFVSRScsCiAgICAgJ1JFUE9SVElOR19GTEFHUycsCisgICAgJ0ZBSUxfRkFTVCcsCiAgICAgIyAxLiBVdGlsaXR5IEZ1bmN0aW9ucwogICAgICMgMi4gRXhhbXBsZSAmIERvY1Rlc3QKICAgICAnRXhhbXBsZScsCkBAIC0xNTAsMTEgKzE1MSwxMyBAQAogUkVQT1JUX0NESUZGID0gcmVnaXN0ZXJfb3B0aW9uZmxhZygnUkVQT1JUX0NESUZGJykKIFJFUE9SVF9ORElGRiA9IHJlZ2lzdGVyX29wdGlvbmZsYWcoJ1JFUE9SVF9ORElGRicpCiBSRVBPUlRfT05MWV9GSVJTVF9GQUlMVVJFID0gcmVnaXN0ZXJfb3B0aW9uZmxhZygnUkVQT1JUX09OTFlfRklSU1RfRkFJTFVSRScpCitGQUlMX0ZBU1QgPSByZWdpc3Rlcl9vcHRpb25mbGFnKCdGQUlMX0ZBU1QnKQogCiBSRVBPUlRJTkdfRkxBR1MgPSAoUkVQT1JUX1VESUZGIHwKICAgICAgICAgICAgICAgICAgICBSRVBPUlRfQ0RJRkYgfAogICAgICAgICAgICAgICAgICAgIFJFUE9SVF9ORElGRiB8Ci0gICAgICAgICAgICAgICAgICAgUkVQT1JUX09OTFlfRklSU1RfRkFJTFVSRSkKKyAgICAgICAgICAgICAgICAgICBSRVBPUlRfT05MWV9GSVJTVF9GQUlMVVJFIHwKKyAgICAgICAgICAgICAgICAgICBGQUlMX0ZBU1QpCiAKICMgU3BlY2lhbCBzdHJpbmcgbWFya2VycyBmb3IgdXNlIGluIGB3YW50YCBzdHJpbmdzOgogQkxBTktMSU5FX01BUktFUiA9ICc8QkxBTktMSU5FPicKQEAgLTEzNDIsNiArMTM0NSw5IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGFzc2VydCBGYWxzZSwgKCJ1bmtub3duIG91dGNvbWUiLCBvdXRjb21lKQogCisgICAgICAgICAgICBpZiBmYWlsdXJlcyBhbmQgc2VsZi5vcHRpb25mbGFncyAmIEZBSUxfRkFTVDoKKyAgICAgICAgICAgICAgICBicmVhaworCiAgICAgICAgICMgUmVzdG9yZSB0aGUgb3B0aW9uIGZsYWdzIChpbiBjYXNlIHRoZXkgd2VyZSBtb2RpZmllZCkKICAgICAgICAgc2VsZi5vcHRpb25mbGFncyA9IG9yaWdpbmFsX29wdGlvbmZsYWdzCiAKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC9faGVhZGVyX3ZhbHVlX3BhcnNlci5weSBiL0xpYi9lbWFpbC9faGVhZGVyX3ZhbHVlX3BhcnNlci5weQppbmRleCAyNmNmYTUyLi5lYjMxNTU4IDEwMDY0NAotLS0gYS9MaWIvZW1haWwvX2hlYWRlcl92YWx1ZV9wYXJzZXIucHkKKysrIGIvTGliL2VtYWlsL19oZWFkZXJfdmFsdWVfcGFyc2VyLnB5CkBAIC0zNjcsOCArMzY3LDcgQEAKICAgICAgICAgICAgICAgICB5aWVsZCAoaW5kZW50ICsgJyAgICAhISBpbnZhbGlkIGVsZW1lbnQgaW4gdG9rZW4gJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsaXN0OiB7IXJ9Jy5mb3JtYXQodG9rZW4pKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiB0b2tlbi5fcHAoaW5kZW50KycgICAgJyk6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGxpbmUKKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIHRva2VuLl9wcChpbmRlbnQrJyAgICAnKQogICAgICAgICBpZiBzZWxmLmRlZmVjdHM6CiAgICAgICAgICAgICBleHRyYSA9ICcgRGVmZWN0czoge30nLmZvcm1hdChzZWxmLmRlZmVjdHMpCiAgICAgICAgIGVsc2U6CkBAIC0xMzE4LDI0ICsxMzE3LDIyIEBACiAjIFBhcnNlcgogIwogCi0iIiJQYXJzZSBzdHJpbmdzIGFjY29yZGluZyB0byBSRkM4MjIvMjA0Ny8yODIyLzUzMjIgcnVsZXMuCi0KLVRoaXMgaXMgYSBzdGF0ZWxlc3MgcGFyc2VyLiAgRWFjaCBnZXRfWFhYIGZ1bmN0aW9uIGFjY2VwdHMgYSBzdHJpbmcgYW5kCi1yZXR1cm5zIGVpdGhlciBhIFRlcm1pbmFsIG9yIGEgVG9rZW5MaXN0IHJlcHJlc2VudGluZyB0aGUgUkZDIG9iamVjdCBuYW1lZAotYnkgdGhlIG1ldGhvZCBhbmQgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcmVtYWluaW5nIHVucGFyc2VkIGNoYXJhY3RlcnMKLWZyb20gdGhlIGlucHV0LiAgVGh1cyBhIHBhcnNlciBtZXRob2QgY29uc3VtZXMgdGhlIG5leHQgc3ludGFjdGljIGNvbnN0cnVjdAotb2YgYSBnaXZlbiB0eXBlIGFuZCByZXR1cm5zIGEgdG9rZW4gcmVwcmVzZW50aW5nIHRoZSBjb25zdHJ1Y3QgcGx1cyB0aGUKLXVucGFyc2VkIHJlbWFpbmRlciBvZiB0aGUgaW5wdXQgc3RyaW5nLgotCi1Gb3IgZXhhbXBsZSwgaWYgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYSBzdHJ1Y3R1cmVkIGhlYWRlciBpcyBhICdwaHJhc2UnLAotdGhlbjoKLQotICAgIHBocmFzZSwgdmFsdWUgPSBnZXRfcGhyYXNlKHZhbHVlKQotCi1yZXR1cm5zIHRoZSBjb21wbGV0ZSBwaHJhc2UgZnJvbSB0aGUgc3RhcnQgb2YgdGhlIHN0cmluZyB2YWx1ZSwgcGx1cyBhbnkKLWNoYXJhY3RlcnMgbGVmdCBpbiB0aGUgc3RyaW5nIGFmdGVyIHRoZSBwaHJhc2UgaXMgcmVtb3ZlZC4KLQotIiIiCisjIFBhcnNlIHN0cmluZ3MgYWNjb3JkaW5nIHRvIFJGQzgyMi8yMDQ3LzI4MjIvNTMyMiBydWxlcy4KKyMKKyMgVGhpcyBpcyBhIHN0YXRlbGVzcyBwYXJzZXIuICBFYWNoIGdldF9YWFggZnVuY3Rpb24gYWNjZXB0cyBhIHN0cmluZyBhbmQKKyMgcmV0dXJucyBlaXRoZXIgYSBUZXJtaW5hbCBvciBhIFRva2VuTGlzdCByZXByZXNlbnRpbmcgdGhlIFJGQyBvYmplY3QgbmFtZWQKKyMgYnkgdGhlIG1ldGhvZCBhbmQgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcmVtYWluaW5nIHVucGFyc2VkIGNoYXJhY3RlcnMKKyMgZnJvbSB0aGUgaW5wdXQuICBUaHVzIGEgcGFyc2VyIG1ldGhvZCBjb25zdW1lcyB0aGUgbmV4dCBzeW50YWN0aWMgY29uc3RydWN0CisjIG9mIGEgZ2l2ZW4gdHlwZSBhbmQgcmV0dXJucyBhIHRva2VuIHJlcHJlc2VudGluZyB0aGUgY29uc3RydWN0IHBsdXMgdGhlCisjIHVucGFyc2VkIHJlbWFpbmRlciBvZiB0aGUgaW5wdXQgc3RyaW5nLgorIworIyBGb3IgZXhhbXBsZSwgaWYgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYSBzdHJ1Y3R1cmVkIGhlYWRlciBpcyBhICdwaHJhc2UnLAorIyB0aGVuOgorIworIyAgICAgcGhyYXNlLCB2YWx1ZSA9IGdldF9waHJhc2UodmFsdWUpCisjCisjIHJldHVybnMgdGhlIGNvbXBsZXRlIHBocmFzZSBmcm9tIHRoZSBzdGFydCBvZiB0aGUgc3RyaW5nIHZhbHVlLCBwbHVzIGFueQorIyBjaGFyYWN0ZXJzIGxlZnQgaW4gdGhlIHN0cmluZyBhZnRlciB0aGUgcGhyYXNlIGlzIHJlbW92ZWQuCiAKIF93c3Bfc3BsaXR0ZXIgPSByZS5jb21waWxlKHInKFt7fV0rKScuZm9ybWF0KCcnLmpvaW4oV1NQKSkpLnNwbGl0CiBfbm9uX2F0b21fZW5kX21hdGNoZXIgPSByZS5jb21waWxlKHIiW157fV0rIi5mb3JtYXQoCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvZmVlZHBhcnNlci5weSBiL0xpYi9lbWFpbC9mZWVkcGFyc2VyLnB5CmluZGV4IGVhNDFlOTUuLmViNzVmZTMgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9mZWVkcGFyc2VyLnB5CisrKyBiL0xpYi9lbWFpbC9mZWVkcGFyc2VyLnB5CkBAIC05OCwyNCArOTgsMTUgQEAKICAgICAgICAgIiIiUHVzaCBzb21lIG5ldyBkYXRhIGludG8gdGhpcyBvYmplY3QuIiIiCiAgICAgICAgICMgSGFuZGxlIGFueSBwcmV2aW91cyBsZWZ0b3ZlcnMKICAgICAgICAgZGF0YSwgc2VsZi5fcGFydGlhbCA9IHNlbGYuX3BhcnRpYWwgKyBkYXRhLCAnJwotICAgICAgICAjIENyYWNrIGludG8gbGluZXMsIGJ1dCBwcmVzZXJ2ZSB0aGUgbmV3bGluZXMgb24gdGhlIGVuZCBvZiBlYWNoCi0gICAgICAgIHBhcnRzID0gTkxDUkVfY3JhY2suc3BsaXQoZGF0YSkKLSAgICAgICAgIyBUaGUgKmFoZW0qIGludGVyZXN0aW5nIGJlaGF2aW91ciBvZiByZS5zcGxpdCB3aGVuIHN1cHBsaWVkIGdyb3VwaW5nCi0gICAgICAgICMgcGFyZW50aGVzZXMgaXMgdGhhdCB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSByZXN1bHRpbmcgbGlzdCBpcyB0aGUKLSAgICAgICAgIyBkYXRhIGFmdGVyIHRoZSBmaW5hbCBSRS4gIEluIHRoZSBjYXNlIG9mIGEgTkwvQ1IgdGVybWluYXRlZCBzdHJpbmcsCi0gICAgICAgICMgdGhpcyBpcyB0aGUgZW1wdHkgc3RyaW5nLgotICAgICAgICBzZWxmLl9wYXJ0aWFsID0gcGFydHMucG9wKCkKLSAgICAgICAgI0dBTiAyOU1hcjA5ICBidWdzIDE1NTU1NzAsIDE3MjE4NjIgIENvbmZ1c2lvbiBhdCA4SyBib3VuZGFyeSBlbmRpbmcgd2l0aCBccjoKLSAgICAgICAgIyBpcyB0aGVyZSBhIFxuIHRvIGZvbGxvdyBsYXRlcj8KLSAgICAgICAgaWYgbm90IHNlbGYuX3BhcnRpYWwgYW5kIHBhcnRzIGFuZCBwYXJ0c1stMV0uZW5kc3dpdGgoJ1xyJyk6Ci0gICAgICAgICAgICBzZWxmLl9wYXJ0aWFsID0gcGFydHMucG9wKC0yKStwYXJ0cy5wb3AoKQotICAgICAgICAjIHBhcnRzIGlzIGEgbGlzdCBvZiBzdHJpbmdzLCBhbHRlcm5hdGluZyBiZXR3ZWVuIHRoZSBsaW5lIGNvbnRlbnRzCi0gICAgICAgICMgYW5kIHRoZSBlb2wgY2hhcmFjdGVyKHMpLiAgR2F0aGVyIHVwIGEgbGlzdCBvZiBsaW5lcyBhZnRlcgotICAgICAgICAjIHJlLWF0dGFjaGluZyB0aGUgbmV3bGluZXMuCi0gICAgICAgIGxpbmVzID0gW10KLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHBhcnRzKSAvLyAyKToKLSAgICAgICAgICAgIGxpbmVzLmFwcGVuZChwYXJ0c1tpKjJdICsgcGFydHNbaSoyKzFdKQotICAgICAgICBzZWxmLnB1c2hsaW5lcyhsaW5lcykKKyAgICAgICAgIyBDcmFjayBpbnRvIGxpbmVzLCBidXQgcHJlc2VydmUgdGhlIGxpbmVzZXAgY2hhcmFjdGVycyBvbiB0aGUgZW5kIG9mIGVhY2gKKyAgICAgICAgcGFydHMgPSBkYXRhLnNwbGl0bGluZXMoVHJ1ZSkKKyAgICAgICAgIyBJZiB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBsaXN0IGRvZXMgbm90IGVuZCBpbiBhIG5ld2xpbmUsIHRoZW4gdHJlYXQKKyAgICAgICAgIyBpdCBhcyBhIHBhcnRpYWwgbGluZS4gIFdlIG9ubHkgY2hlY2sgZm9yICdcbicgaGVyZSBiZWNhdXNlIGEgbGluZQorICAgICAgICAjIGVuZGluZyB3aXRoICdccicgbWlnaHQgYmUgYSBsaW5lIHRoYXQgd2FzIHNwbGl0IGluIHRoZSBtaWRkbGUgb2YgYQorICAgICAgICAjICdcclxuJyBzZXF1ZW5jZSAoc2VlIGJ1Z3MgMTU1NTU3MCBhbmQgMTcyMTg2MikuCisgICAgICAgIGlmIHBhcnRzIGFuZCBub3QgcGFydHNbLTFdLmVuZHN3aXRoKCdcbicpOgorICAgICAgICAgICAgc2VsZi5fcGFydGlhbCA9IHBhcnRzLnBvcCgpCisgICAgICAgIHNlbGYucHVzaGxpbmVzKHBhcnRzKQogCiAgICAgZGVmIHB1c2hsaW5lcyhzZWxmLCBsaW5lcyk6CiAgICAgICAgICMgUmV2ZXJzZSBhbmQgaW5zZXJ0IGF0IHRoZSBmcm9udCBvZiB0aGUgbGluZXMuCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvaXRlcmF0b3JzLnB5IGIvTGliL2VtYWlsL2l0ZXJhdG9ycy5weQppbmRleCAzYWRjNGEwLi5iNTUwMmVlIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvaXRlcmF0b3JzLnB5CisrKyBiL0xpYi9lbWFpbC9pdGVyYXRvcnMucHkKQEAgLTI2LDggKzI2LDcgQEAKICAgICB5aWVsZCBzZWxmCiAgICAgaWYgc2VsZi5pc19tdWx0aXBhcnQoKToKICAgICAgICAgZm9yIHN1YnBhcnQgaW4gc2VsZi5nZXRfcGF5bG9hZCgpOgotICAgICAgICAgICAgZm9yIHN1YnN1YnBhcnQgaW4gc3VicGFydC53YWxrKCk6Ci0gICAgICAgICAgICAgICAgeWllbGQgc3Vic3VicGFydAorICAgICAgICAgICAgeWllbGQgZnJvbSBzdWJwYXJ0LndhbGsoKQogCiAKIAwKQEAgLTQwLDggKzM5LDcgQEAKICAgICBmb3Igc3VicGFydCBpbiBtc2cud2FsaygpOgogICAgICAgICBwYXlsb2FkID0gc3VicGFydC5nZXRfcGF5bG9hZChkZWNvZGU9ZGVjb2RlKQogICAgICAgICBpZiBpc2luc3RhbmNlKHBheWxvYWQsIHN0cik6Ci0gICAgICAgICAgICBmb3IgbGluZSBpbiBTdHJpbmdJTyhwYXlsb2FkKToKLSAgICAgICAgICAgICAgICB5aWVsZCBsaW5lCisgICAgICAgICAgICB5aWVsZCBmcm9tIFN0cmluZ0lPKHBheWxvYWQpCiAKIAogZGVmIHR5cGVkX3N1YnBhcnRfaXRlcmF0b3IobXNnLCBtYWludHlwZT0ndGV4dCcsIHN1YnR5cGU9Tm9uZSk6CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvcGFyc2VyLnB5IGIvTGliL2VtYWlsL3BhcnNlci5weQppbmRleCA3NTJiZjM1Li5mNDlkMzFkIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvcGFyc2VyLnB5CisrKyBiL0xpYi9lbWFpbC9wYXJzZXIucHkKQEAgLTQsNyArNCw4IEBACiAKICIiIkEgcGFyc2VyIG9mIFJGQyAyODIyIGFuZCBNSU1FIGVtYWlsIG1lc3NhZ2VzLiIiIgogCi1fX2FsbF9fID0gWydQYXJzZXInLCAnSGVhZGVyUGFyc2VyJywgJ0J5dGVzUGFyc2VyJywgJ0J5dGVzSGVhZGVyUGFyc2VyJ10KK19fYWxsX18gPSBbJ1BhcnNlcicsICdIZWFkZXJQYXJzZXInLCAnQnl0ZXNQYXJzZXInLCAnQnl0ZXNIZWFkZXJQYXJzZXInLAorICAgICAgICAgICAnRmVlZFBhcnNlcicsICdCeXRlc0ZlZWRQYXJzZXInXQogCiBpbXBvcnQgd2FybmluZ3MKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPLCBUZXh0SU9XcmFwcGVyCmRpZmYgLS1naXQgYS9MaWIvZW5jb2RpbmdzL2NwMDM3LnB5IGIvTGliL2VuY29kaW5ncy9jcDAzNy5weQppbmRleCBiZmUyYzFlLi40ZWRkNzA4IDEwMDY0NAotLS0gYS9MaWIvZW5jb2RpbmdzL2NwMDM3LnB5CisrKyBiL0xpYi9lbmNvZGluZ3MvY3AwMzcucHkKQEAgLTMwMSw3ICszMDEsNiBAQAogICAgICdceGQ5JyAgICAgIyAgMHhGRCAtPiBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggR1JBVkUKICAgICAnXHhkYScgICAgICMgIDB4RkUgLT4gTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEFDVVRFCiAgICAgJ1x4OWYnICAgICAjICAweEZGIC0+IENPTlRST0wKLSAgICAnXHVmZmZlJyAgICMjIFdpZGVuIHRvIFVDUzIgZm9yIG9wdGltaXphdGlvbgogKQogCiAjIyMgRW5jb2RpbmcgdGFibGUKZGlmZiAtLWdpdCBhL0xpYi9lbmNvZGluZ3MvY3A1MDAucHkgYi9MaWIvZW5jb2RpbmdzL2NwNTAwLnB5CmluZGV4IGE5NzViZTcuLjVmNjE1MzUgMTAwNjQ0Ci0tLSBhL0xpYi9lbmNvZGluZ3MvY3A1MDAucHkKKysrIGIvTGliL2VuY29kaW5ncy9jcDUwMC5weQpAQCAtMzAxLDcgKzMwMSw2IEBACiAgICAgJ1x4ZDknICAgICAjICAweEZEIC0+IExBVElOIENBUElUQUwgTEVUVEVSIFUgV0lUSCBHUkFWRQogICAgICdceGRhJyAgICAgIyAgMHhGRSAtPiBMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQUNVVEUKICAgICAnXHg5ZicgICAgICMgIDB4RkYgLT4gQ09OVFJPTAotICAgICdcdWZmZmUnICAgIyMgV2lkZW4gdG8gVUNTMiBmb3Igb3B0aW1pemF0aW9uCiApCiAKICMjIyBFbmNvZGluZyB0YWJsZQpkaWZmIC0tZ2l0IGEvTGliL2VuY29kaW5ncy9pc284ODU5XzEucHkgYi9MaWIvZW5jb2RpbmdzL2lzbzg4NTlfMS5weQppbmRleCBkOWNjNTE2Li44Y2ZjMDFmIDEwMDY0NAotLS0gYS9MaWIvZW5jb2RpbmdzL2lzbzg4NTlfMS5weQorKysgYi9MaWIvZW5jb2RpbmdzL2lzbzg4NTlfMS5weQpAQCAtMzAxLDcgKzMwMSw2IEBACiAgICAgJ1x4ZmQnICAgICAjICAweEZEIC0+IExBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggQUNVVEUKICAgICAnXHhmZScgICAgICMgIDB4RkUgLT4gTEFUSU4gU01BTEwgTEVUVEVSIFRIT1JOIChJY2VsYW5kaWMpCiAgICAgJ1x4ZmYnICAgICAjICAweEZGIC0+IExBVElOIFNNQUxMIExFVFRFUiBZIFdJVEggRElBRVJFU0lTCi0gICAgJ1x1ZmZmZScgICAjIyBXaWRlbiB0byBVQ1MyIGZvciBvcHRpbWl6YXRpb24KICkKIAogIyMjIEVuY29kaW5nIHRhYmxlCmRpZmYgLS1naXQgYS9MaWIvZmlsZWNtcC5weSBiL0xpYi9maWxlY21wLnB5CmluZGV4IGY1Y2VhMWQuLjAxNGMwZDAgMTAwNjQ0Ci0tLSBhL0xpYi9maWxlY21wLnB5CisrKyBiL0xpYi9maWxlY21wLnB5CkBAIC0xMywxMSArMTMsMTUgQEAKIGltcG9ydCBzdGF0CiBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgZmlsdGVyZmFsc2UKIAotX19hbGxfXyA9IFsiY21wIiwgImRpcmNtcCIsICJjbXBmaWxlcyJdCitfX2FsbF9fID0gWydjbXAnLCAnZGlyY21wJywgJ2NtcGZpbGVzJywgJ0RFRkFVTFRfSUdOT1JFUyddCiAKIF9jYWNoZSA9IHt9CiBCVUZTSVpFID0gOCoxMDI0CiAKK0RFRkFVTFRfSUdOT1JFUyA9IFsKKyAgICAnUkNTJywgJ0NWUycsICd0YWdzJywgJy5naXQnLCAnLmhnJywgJy5ienInLCAnX2RhcmNzJywgJ19fcHljYWNoZV9fJ10KKworCiBkZWYgY21wKGYxLCBmMiwgc2hhbGxvdz1UcnVlKToKICAgICAiIiJDb21wYXJlIHR3byBmaWxlcy4KIApAQCAtODAsNyArODQsNyBAQAogICAgIGRpcmNtcChhLCBiLCBpZ25vcmU9Tm9uZSwgaGlkZT1Ob25lKQogICAgICAgQSBhbmQgQiBhcmUgZGlyZWN0b3JpZXMuCiAgICAgICBJR05PUkUgaXMgYSBsaXN0IG9mIG5hbWVzIHRvIGlnbm9yZSwKLSAgICAgICAgZGVmYXVsdHMgdG8gWydSQ1MnLCAnQ1ZTJywgJ3RhZ3MnXS4KKyAgICAgICAgZGVmYXVsdHMgdG8gREVGQVVMVF9JR05PUkVTLgogICAgICAgSElERSBpcyBhIGxpc3Qgb2YgbmFtZXMgdG8gaGlkZSwKICAgICAgICAgZGVmYXVsdHMgdG8gW29zLmN1cmRpciwgb3MucGFyZGlyXS4KIApAQCAtMTE2LDcgKzEyMCw3IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmhpZGUgPSBoaWRlCiAgICAgICAgIGlmIGlnbm9yZSBpcyBOb25lOgotICAgICAgICAgICAgc2VsZi5pZ25vcmUgPSBbJ1JDUycsICdDVlMnLCAndGFncyddICMgTmFtZXMgaWdub3JlZCBpbiBjb21wYXJpc29uCisgICAgICAgICAgICBzZWxmLmlnbm9yZSA9IERFRkFVTFRfSUdOT1JFUwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5pZ25vcmUgPSBpZ25vcmUKIApAQCAtMTQ3LDEyICsxNTEsMTIgQEAKICAgICAgICAgICAgIG9rID0gMQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGFfc3RhdCA9IG9zLnN0YXQoYV9wYXRoKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIHdoeToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIHdoeToKICAgICAgICAgICAgICAgICAjIHByaW50KCdDYW5cJ3Qgc3RhdCcsIGFfcGF0aCwgJzonLCB3aHkuYXJnc1sxXSkKICAgICAgICAgICAgICAgICBvayA9IDAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBiX3N0YXQgPSBvcy5zdGF0KGJfcGF0aCkKLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyB3aHk6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyB3aHk6CiAgICAgICAgICAgICAgICAgIyBwcmludCgnQ2FuXCd0IHN0YXQnLCBiX3BhdGgsICc6Jywgd2h5LmFyZ3NbMV0pCiAgICAgICAgICAgICAgICAgb2sgPSAwCiAKQEAgLTI2OCw3ICsyNzIsNyBAQAogZGVmIF9jbXAoYSwgYiwgc2gsIGFicz1hYnMsIGNtcD1jbXApOgogICAgIHRyeToKICAgICAgICAgcmV0dXJuIG5vdCBhYnMoY21wKGEsIGIsIHNoKSkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybiAyCiAKIApkaWZmIC0tZ2l0IGEvTGliL2ZpbGVpbnB1dC5weSBiL0xpYi9maWxlaW5wdXQucHkKaW5kZXggZGJiYmIyMS4uZjliYjg4YSAxMDA2NDQKLS0tIGEvTGliL2ZpbGVpbnB1dC5weQorKysgYi9MaWIvZmlsZWlucHV0LnB5CkBAIC0zMCw3ICszMCw3IEBACiAKIEFsbCBmaWxlcyBhcmUgb3BlbmVkIGluIHRleHQgbW9kZSBieSBkZWZhdWx0LCB5b3UgY2FuIG92ZXJyaWRlIHRoaXMgYnkKIHNldHRpbmcgdGhlIG1vZGUgcGFyYW1ldGVyIHRvIGlucHV0KCkgb3IgRmlsZUlucHV0Ll9faW5pdF9fKCkuCi1JZiBhbiBJL08gZXJyb3Igb2NjdXJzIGR1cmluZyBvcGVuaW5nIG9yIHJlYWRpbmcgYSBmaWxlLCB0aGUgSU9FcnJvcgorSWYgYW4gSS9PIGVycm9yIG9jY3VycyBkdXJpbmcgb3BlbmluZyBvciByZWFkaW5nIGEgZmlsZSwgdGhlIE9TRXJyb3IKIGV4Y2VwdGlvbiBpcyByYWlzZWQuCiAKIElmIHN5cy5zdGRpbiBpcyB1c2VkIG1vcmUgdGhhbiBvbmNlLCB0aGUgc2Vjb25kIGFuZCBmdXJ0aGVyIHVzZSB3aWxsCkBAIC0zMjQsOSArMzI0LDExIEBACiAgICAgICAgICAgICAgICAgaWYgc2VsZi5faW5wbGFjZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fYmFja3VwZmlsZW5hbWUgPSAoCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlbmFtZSArIChzZWxmLl9iYWNrdXAgb3IgIi5iYWsiKSkKLSAgICAgICAgICAgICAgICAgICAgdHJ5OiBvcy51bmxpbmsoc2VsZi5fYmFja3VwZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjogcGFzcwotICAgICAgICAgICAgICAgICAgICAjIFRoZSBuZXh0IGZldyBsaW5lcyBtYXkgcmFpc2UgSU9FcnJvcgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsoc2VsZi5fYmFja3VwZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAgICAjIFRoZSBuZXh0IGZldyBsaW5lcyBtYXkgcmFpc2UgT1NFcnJvcgogICAgICAgICAgICAgICAgICAgICBvcy5yZW5hbWUoc2VsZi5fZmlsZW5hbWUsIHNlbGYuX2JhY2t1cGZpbGVuYW1lKQogICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlID0gb3BlbihzZWxmLl9iYWNrdXBmaWxlbmFtZSwgc2VsZi5fbW9kZSkKICAgICAgICAgICAgICAgICAgICAgdHJ5OgpAQCAtMzQ4LDcgKzM1MCw3IEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3NhdmVzdGRvdXQgPSBzeXMuc3Rkb3V0CiAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQgPSBzZWxmLl9vdXRwdXQKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAjIFRoaXMgbWF5IHJhaXNlIElPRXJyb3IKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1heSByYWlzZSBPU0Vycm9yCiAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX29wZW5ob29rOgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZSA9IHNlbGYuX29wZW5ob29rKHNlbGYuX2ZpbGVuYW1lLCBzZWxmLl9tb2RlKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2ZyYWN0aW9ucy5weSBiL0xpYi9mcmFjdGlvbnMucHkKaW5kZXggOGJlNTJkMi4uNzllODNmZiAxMDA2NDQKLS0tIGEvTGliL2ZyYWN0aW9ucy5weQorKysgYi9MaWIvZnJhY3Rpb25zLnB5CkBAIC0xODIsOCArMTgyLDEwIEBACiAgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZiwgZmxvYXQpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcy5mcm9tX2Zsb2F0KCkgb25seSB0YWtlcyBmbG9hdHMsIG5vdCAlciAoJXMpIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNscy5fX25hbWVfXywgZiwgdHlwZShmKS5fX25hbWVfXykpCi0gICAgICAgIGlmIG1hdGguaXNuYW4oZikgb3IgbWF0aC5pc2luZihmKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgJXIgdG8gJXMuIiAlIChmLCBjbHMuX19uYW1lX18pKQorICAgICAgICBpZiBtYXRoLmlzbmFuKGYpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IGNvbnZlcnQgJXIgdG8gJXMuIiAlIChmLCBjbHMuX19uYW1lX18pKQorICAgICAgICBpZiBtYXRoLmlzaW5mKGYpOgorICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiQ2Fubm90IGNvbnZlcnQgJXIgdG8gJXMuIiAlIChmLCBjbHMuX19uYW1lX18pKQogICAgICAgICByZXR1cm4gY2xzKCpmLmFzX2ludGVnZXJfcmF0aW8oKSkKIAogICAgIEBjbGFzc21ldGhvZApAQCAtMTk2LDkgKzE5OCwxMSBAQAogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKAogICAgICAgICAgICAgICAgICIlcy5mcm9tX2RlY2ltYWwoKSBvbmx5IHRha2VzIERlY2ltYWxzLCBub3QgJXIgKCVzKSIgJQogICAgICAgICAgICAgICAgIChjbHMuX19uYW1lX18sIGRlYywgdHlwZShkZWMpLl9fbmFtZV9fKSkKLSAgICAgICAgaWYgbm90IGRlYy5pc19maW5pdGUoKToKLSAgICAgICAgICAgICMgQ2F0Y2hlcyBpbmZpbml0aWVzIGFuZCBuYW5zLgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJDYW5ub3QgY29udmVydCAlcyB0byAlcy4iICUgKGRlYywgY2xzLl9fbmFtZV9fKSkKKyAgICAgICAgaWYgZGVjLmlzX2luZmluaXRlKCk6CisgICAgICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKAorICAgICAgICAgICAgICAgICJDYW5ub3QgY29udmVydCAlcyB0byAlcy4iICUgKGRlYywgY2xzLl9fbmFtZV9fKSkKKyAgICAgICAgaWYgZGVjLmlzX25hbigpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IGNvbnZlcnQgJXMgdG8gJXMuIiAlIChkZWMsIGNscy5fX25hbWVfXykpCiAgICAgICAgIHNpZ24sIGRpZ2l0cywgZXhwID0gZGVjLmFzX3R1cGxlKCkKICAgICAgICAgZGlnaXRzID0gaW50KCcnLmpvaW4obWFwKHN0ciwgZGlnaXRzKSkpCiAgICAgICAgIGlmIHNpZ246CmRpZmYgLS1naXQgYS9MaWIvZnRwbGliLnB5IGIvTGliL2Z0cGxpYi5weQppbmRleCA3NDFlNjQ3Li5mY2Q0YjE0IDEwMDY0NAotLS0gYS9MaWIvZnRwbGliLnB5CisrKyBiL0xpYi9mdHBsaWIucHkKQEAgLTM5LDkgKzM5LDEwIEBACiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBzb2NrZXQKK2ltcG9ydCB3YXJuaW5ncwogZnJvbSBzb2NrZXQgaW1wb3J0IF9HTE9CQUxfREVGQVVMVF9USU1FT1VUCiAKLV9fYWxsX18gPSBbIkZUUCIsIk5ldHJjIl0KK19fYWxsX18gPSBbIkZUUCIsICJOZXRyYyJdCiAKICMgTWFnaWMgbnVtYmVyIGZyb20gPHNvY2tldC5oPgogTVNHX09PQiA9IDB4MSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgUHJvY2VzcyBkYXRhIG91dCBvZiBiYW5kCkBAIC02MSw3ICs2Miw3IEBACiAKICMgQWxsIGV4Y2VwdGlvbnMgKGhvcGVmdWxseSkgdGhhdCBtYXkgYmUgcmFpc2VkIGhlcmUgYW5kIHRoYXQgYXJlbid0CiAjIChhbHdheXMpIHByb2dyYW1taW5nIGVycm9ycyBvbiBvdXIgc2lkZQotYWxsX2Vycm9ycyA9IChFcnJvciwgSU9FcnJvciwgRU9GRXJyb3IpCithbGxfZXJyb3JzID0gKEVycm9yLCBPU0Vycm9yLCBFT0ZFcnJvcikKIAogCiAjIExpbmUgdGVybWluYXRvcnMgKHdlIGFsd2F5cyBvdXRwdXQgQ1JMRiwgYnV0IGFjY2VwdCBhbnkgb2YgQ1JMRiwgQ1IsIExGKQpAQCAtMTIzLDcgKzEyNCw3IEBACiAgICAgICAgIGlmIHNlbGYuc29jayBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzZWxmLnF1aXQoKQotICAgICAgICAgICAgZXhjZXB0IChzb2NrZXQuZXJyb3IsIEVPRkVycm9yKToKKyAgICAgICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgRU9GRXJyb3IpOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgaWYgc2VsZi5zb2NrIGlzIG5vdCBOb25lOgpAQCAtMTMzLDYgKzEzNCw3IEBACiAgICAgICAgICcnJ0Nvbm5lY3QgdG8gaG9zdC4gIEFyZ3VtZW50cyBhcmU6CiAgICAgICAgICAtIGhvc3Q6IGhvc3RuYW1lIHRvIGNvbm5lY3QgdG8gKHN0cmluZywgZGVmYXVsdCBwcmV2aW91cyBob3N0KQogICAgICAgICAgLSBwb3J0OiBwb3J0IHRvIGNvbm5lY3QgdG8gKGludGVnZXIsIGRlZmF1bHQgcHJldmlvdXMgcG9ydCkKKyAgICAgICAgIC0gdGltZW91dDogdGhlIHRpbWVvdXQgdG8gc2V0IGFnYWluc3QgdGhlIGZ0cCBzb2NrZXQocykKICAgICAgICAgIC0gc291cmNlX2FkZHJlc3M6IGEgMi10dXBsZSAoaG9zdCwgcG9ydCkgZm9yIHRoZSBzb2NrZXQgdG8gYmluZAogICAgICAgICAgICB0byBhcyBpdHMgc291cmNlIGFkZHJlc3MgYmVmb3JlIGNvbm5lY3RpbmcuCiAgICAgICAgICcnJwpAQCAtMTgzLDcgKzE4NSw4IEBACiAgICAgIyBJbnRlcm5hbDogc2VuZCBvbmUgbGluZSB0byB0aGUgc2VydmVyLCBhcHBlbmRpbmcgQ1JMRgogICAgIGRlZiBwdXRsaW5lKHNlbGYsIGxpbmUpOgogICAgICAgICBsaW5lID0gbGluZSArIENSTEYKLSAgICAgICAgaWYgc2VsZi5kZWJ1Z2dpbmcgPiAxOiBwcmludCgnKnB1dConLCBzZWxmLnNhbml0aXplKGxpbmUpKQorICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZyA+IDE6CisgICAgICAgICAgICBwcmludCgnKnB1dConLCBzZWxmLnNhbml0aXplKGxpbmUpKQogICAgICAgICBzZWxmLnNvY2suc2VuZGFsbChsaW5lLmVuY29kZShzZWxmLmVuY29kaW5nKSkKIAogICAgICMgSW50ZXJuYWw6IHNlbmQgb25lIGNvbW1hbmQgdG8gdGhlIHNlcnZlciAodGhyb3VnaCBwdXRsaW5lKCkpCkBAIC0xOTcsOSArMjAwLDEyIEBACiAgICAgICAgIGxpbmUgPSBzZWxmLmZpbGUucmVhZGxpbmUoKQogICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZyA+IDE6CiAgICAgICAgICAgICBwcmludCgnKmdldConLCBzZWxmLnNhbml0aXplKGxpbmUpKQotICAgICAgICBpZiBub3QgbGluZTogcmFpc2UgRU9GRXJyb3IKLSAgICAgICAgaWYgbGluZVstMjpdID09IENSTEY6IGxpbmUgPSBsaW5lWzotMl0KLSAgICAgICAgZWxpZiBsaW5lWy0xOl0gaW4gQ1JMRjogbGluZSA9IGxpbmVbOi0xXQorICAgICAgICBpZiBub3QgbGluZToKKyAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yCisgICAgICAgIGlmIGxpbmVbLTI6XSA9PSBDUkxGOgorICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0yXQorICAgICAgICBlbGlmIGxpbmVbLTE6XSBpbiBDUkxGOgorICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0xXQogICAgICAgICByZXR1cm4gbGluZQogCiAgICAgIyBJbnRlcm5hbDogZ2V0IGEgcmVzcG9uc2UgZnJvbSB0aGUgc2VydmVyLCB3aGljaCBtYXkgcG9zc2libHkKQEAgLTIyMiw3ICsyMjgsOCBAQAogICAgICMgUmFpc2UgdmFyaW91cyBlcnJvcnMgaWYgdGhlIHJlc3BvbnNlIGluZGljYXRlcyBhbiBlcnJvcgogICAgIGRlZiBnZXRyZXNwKHNlbGYpOgogICAgICAgICByZXNwID0gc2VsZi5nZXRtdWx0aWxpbmUoKQotICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZzogcHJpbnQoJypyZXNwKicsIHNlbGYuc2FuaXRpemUocmVzcCkpCisgICAgICAgIGlmIHNlbGYuZGVidWdnaW5nOgorICAgICAgICAgICAgcHJpbnQoJypyZXNwKicsIHNlbGYuc2FuaXRpemUocmVzcCkpCiAgICAgICAgIHNlbGYubGFzdHJlc3AgPSByZXNwWzozXQogICAgICAgICBjID0gcmVzcFs6MV0KICAgICAgICAgaWYgYyBpbiB7JzEnLCAnMicsICczJ306CkBAIC0yNDYsNyArMjUzLDggQEAKICAgICAgICAgSVAgYW5kIFN5bmNoOyB0aGF0IGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggdGhlIHNlcnZlcnMgSSd2ZQogICAgICAgICB0cmllZC4gIEluc3RlYWQsIGp1c3Qgc2VuZCB0aGUgQUJPUiBjb21tYW5kIGFzIE9PQiBkYXRhLicnJwogICAgICAgICBsaW5lID0gYidBQk9SJyArIEJfQ1JMRgotICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZyA+IDE6IHByaW50KCcqcHV0IHVyZ2VudConLCBzZWxmLnNhbml0aXplKGxpbmUpKQorICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZyA+IDE6CisgICAgICAgICAgICBwcmludCgnKnB1dCB1cmdlbnQqJywgc2VsZi5zYW5pdGl6ZShsaW5lKSkKICAgICAgICAgc2VsZi5zb2NrLnNlbmRhbGwobGluZSwgTVNHX09PQikKICAgICAgICAgcmVzcCA9IHNlbGYuZ2V0bXVsdGlsaW5lKCkKICAgICAgICAgaWYgcmVzcFs6M10gbm90IGluIHsnNDI2JywgJzIyNScsICcyMjYnfToKQEAgLTI5NSw3ICszMDMsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KGFmLCBzb2NrdHlwZSwgcHJvdG8pCiAgICAgICAgICAgICAgICAgc29jay5iaW5kKHNhKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBfOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgXzoKICAgICAgICAgICAgICAgICBlcnIgPSBfCiAgICAgICAgICAgICAgICAgaWYgc29jazoKICAgICAgICAgICAgICAgICAgICAgc29jay5jbG9zZSgpCkBAIC0zMDYsOCArMzE0LDggQEAKICAgICAgICAgICAgIGlmIGVyciBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICByYWlzZSBlcnIKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmVycm9yKCJnZXRhZGRyaW5mbyByZXR1cm5zIGFuIGVtcHR5IGxpc3QiKQotICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmVycm9yKG1zZykKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJnZXRhZGRyaW5mbyByZXR1cm5zIGFuIGVtcHR5IGxpc3QiKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihtc2cpCiAgICAgICAgIHNvY2subGlzdGVuKDEpCiAgICAgICAgIHBvcnQgPSBzb2NrLmdldHNvY2tuYW1lKClbMV0gIyBHZXQgcHJvcGVyIHBvcnQKICAgICAgICAgaG9zdCA9IHNlbGYuc29jay5nZXRzb2NrbmFtZSgpWzBdICMgR2V0IHByb3BlciBob3N0CkBAIC0zODcsOSArMzk1LDEyIEBACiAKICAgICBkZWYgbG9naW4oc2VsZiwgdXNlciA9ICcnLCBwYXNzd2QgPSAnJywgYWNjdCA9ICcnKToKICAgICAgICAgJycnTG9naW4sIGRlZmF1bHQgYW5vbnltb3VzLicnJwotICAgICAgICBpZiBub3QgdXNlcjogdXNlciA9ICdhbm9ueW1vdXMnCi0gICAgICAgIGlmIG5vdCBwYXNzd2Q6IHBhc3N3ZCA9ICcnCi0gICAgICAgIGlmIG5vdCBhY2N0OiBhY2N0ID0gJycKKyAgICAgICAgaWYgbm90IHVzZXI6CisgICAgICAgICAgICB1c2VyID0gJ2Fub255bW91cycKKyAgICAgICAgaWYgbm90IHBhc3N3ZDoKKyAgICAgICAgICAgIHBhc3N3ZCA9ICcnCisgICAgICAgIGlmIG5vdCBhY2N0OgorICAgICAgICAgICAgYWNjdCA9ICcnCiAgICAgICAgIGlmIHVzZXIgPT0gJ2Fub255bW91cycgYW5kIHBhc3N3ZCBpbiB7JycsICctJ306CiAgICAgICAgICAgICAjIElmIHRoZXJlIGlzIG5vIGFub255bW91cyBmdHAgcGFzc3dvcmQgc3BlY2lmaWVkCiAgICAgICAgICAgICAjIHRoZW4gd2UnbGwganVzdCB1c2UgYW5vbnltb3VzQApAQCAtNDAwLDggKzQxMSwxMCBAQAogICAgICAgICAgICAgIyAgIGhvc3Qgb3IgY291bnRyeS4KICAgICAgICAgICAgIHBhc3N3ZCA9IHBhc3N3ZCArICdhbm9ueW1vdXNAJwogICAgICAgICByZXNwID0gc2VsZi5zZW5kY21kKCdVU0VSICcgKyB1c2VyKQotICAgICAgICBpZiByZXNwWzBdID09ICczJzogcmVzcCA9IHNlbGYuc2VuZGNtZCgnUEFTUyAnICsgcGFzc3dkKQotICAgICAgICBpZiByZXNwWzBdID09ICczJzogcmVzcCA9IHNlbGYuc2VuZGNtZCgnQUNDVCAnICsgYWNjdCkKKyAgICAgICAgaWYgcmVzcFswXSA9PSAnMyc6CisgICAgICAgICAgICByZXNwID0gc2VsZi5zZW5kY21kKCdQQVNTICcgKyBwYXNzd2QpCisgICAgICAgIGlmIHJlc3BbMF0gPT0gJzMnOgorICAgICAgICAgICAgcmVzcCA9IHNlbGYuc2VuZGNtZCgnQUNDVCAnICsgYWNjdCkKICAgICAgICAgaWYgcmVzcFswXSAhPSAnMic6CiAgICAgICAgICAgICByYWlzZSBlcnJvcl9yZXBseShyZXNwKQogICAgICAgICByZXR1cm4gcmVzcApAQCAtNDI3LDYgKzQ0MCw5IEBACiAgICAgICAgICAgICAgICAgaWYgbm90IGRhdGE6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgY2FsbGJhY2soZGF0YSkKKyAgICAgICAgICAgICMgc2h1dGRvd24gc3NsIGxheWVyCisgICAgICAgICAgICBpZiBfU1NMU29ja2V0IGlzIG5vdCBOb25lIGFuZCBpc2luc3RhbmNlKGNvbm4sIF9TU0xTb2NrZXQpOgorICAgICAgICAgICAgICAgIGNvbm4udW53cmFwKCkKICAgICAgICAgcmV0dXJuIHNlbGYudm9pZHJlc3AoKQogCiAgICAgZGVmIHJldHJsaW5lcyhzZWxmLCBjbWQsIGNhbGxiYWNrID0gTm9uZSk6CkBAIC00NDEsMTMgKzQ1NywxNSBAQAogICAgICAgICBSZXR1cm5zOgogICAgICAgICAgIFRoZSByZXNwb25zZSBjb2RlLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgY2FsbGJhY2sgaXMgTm9uZTogY2FsbGJhY2sgPSBwcmludF9saW5lCisgICAgICAgIGlmIGNhbGxiYWNrIGlzIE5vbmU6CisgICAgICAgICAgICBjYWxsYmFjayA9IHByaW50X2xpbmUKICAgICAgICAgcmVzcCA9IHNlbGYuc2VuZGNtZCgnVFlQRSBBJykKICAgICAgICAgd2l0aCBzZWxmLnRyYW5zZmVyY21kKGNtZCkgYXMgY29ubiwgXAogICAgICAgICAgICAgICAgICBjb25uLm1ha2VmaWxlKCdyJywgZW5jb2Rpbmc9c2VsZi5lbmNvZGluZykgYXMgZnA6CiAgICAgICAgICAgICB3aGlsZSAxOgogICAgICAgICAgICAgICAgIGxpbmUgPSBmcC5yZWFkbGluZSgpCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z2dpbmcgPiAyOiBwcmludCgnKnJldHIqJywgcmVwcihsaW5lKSkKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZyA+IDI6CisgICAgICAgICAgICAgICAgICAgIHByaW50KCcqcmV0cionLCByZXByKGxpbmUpKQogICAgICAgICAgICAgICAgIGlmIG5vdCBsaW5lOgogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGlmIGxpbmVbLTI6XSA9PSBDUkxGOgpAQCAtNDU1LDYgKzQ3Myw5IEBACiAgICAgICAgICAgICAgICAgZWxpZiBsaW5lWy0xOl0gPT0gJ1xuJzoKICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0xXQogICAgICAgICAgICAgICAgIGNhbGxiYWNrKGxpbmUpCisgICAgICAgICAgICAjIHNodXRkb3duIHNzbCBsYXllcgorICAgICAgICAgICAgaWYgX1NTTFNvY2tldCBpcyBub3QgTm9uZSBhbmQgaXNpbnN0YW5jZShjb25uLCBfU1NMU29ja2V0KToKKyAgICAgICAgICAgICAgICBjb25uLnVud3JhcCgpCiAgICAgICAgIHJldHVybiBzZWxmLnZvaWRyZXNwKCkKIAogICAgIGRlZiBzdG9yYmluYXJ5KHNlbGYsIGNtZCwgZnAsIGJsb2Nrc2l6ZT04MTkyLCBjYWxsYmFjaz1Ob25lLCByZXN0PU5vbmUpOgpAQCAtNDc2LDkgKzQ5NywxNCBAQAogICAgICAgICB3aXRoIHNlbGYudHJhbnNmZXJjbWQoY21kLCByZXN0KSBhcyBjb25uOgogICAgICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkKGJsb2Nrc2l6ZSkKLSAgICAgICAgICAgICAgICBpZiBub3QgYnVmOiBicmVhaworICAgICAgICAgICAgICAgIGlmIG5vdCBidWY6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgY29ubi5zZW5kYWxsKGJ1ZikKLSAgICAgICAgICAgICAgICBpZiBjYWxsYmFjazogY2FsbGJhY2soYnVmKQorICAgICAgICAgICAgICAgIGlmIGNhbGxiYWNrOgorICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhidWYpCisgICAgICAgICAgICAjIHNodXRkb3duIHNzbCBsYXllcgorICAgICAgICAgICAgaWYgX1NTTFNvY2tldCBpcyBub3QgTm9uZSBhbmQgaXNpbnN0YW5jZShjb25uLCBfU1NMU29ja2V0KToKKyAgICAgICAgICAgICAgICBjb25uLnVud3JhcCgpCiAgICAgICAgIHJldHVybiBzZWxmLnZvaWRyZXNwKCkKIAogICAgIGRlZiBzdG9ybGluZXMoc2VsZiwgY21kLCBmcCwgY2FsbGJhY2s9Tm9uZSk6CkBAIC00OTcsMTIgKzUyMywxNyBAQAogICAgICAgICB3aXRoIHNlbGYudHJhbnNmZXJjbWQoY21kKSBhcyBjb25uOgogICAgICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkbGluZSgpCi0gICAgICAgICAgICAgICAgaWYgbm90IGJ1ZjogYnJlYWsKKyAgICAgICAgICAgICAgICBpZiBub3QgYnVmOgorICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGlmIGJ1ZlstMjpdICE9IEJfQ1JMRjoKICAgICAgICAgICAgICAgICAgICAgaWYgYnVmWy0xXSBpbiBCX0NSTEY6IGJ1ZiA9IGJ1Zls6LTFdCiAgICAgICAgICAgICAgICAgICAgIGJ1ZiA9IGJ1ZiArIEJfQ1JMRgogICAgICAgICAgICAgICAgIGNvbm4uc2VuZGFsbChidWYpCi0gICAgICAgICAgICAgICAgaWYgY2FsbGJhY2s6IGNhbGxiYWNrKGJ1ZikKKyAgICAgICAgICAgICAgICBpZiBjYWxsYmFjazoKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soYnVmKQorICAgICAgICAgICAgIyBzaHV0ZG93biBzc2wgbGF5ZXIKKyAgICAgICAgICAgIGlmIF9TU0xTb2NrZXQgaXMgbm90IE5vbmUgYW5kIGlzaW5zdGFuY2UoY29ubiwgX1NTTFNvY2tldCk6CisgICAgICAgICAgICAgICAgY29ubi51bndyYXAoKQogICAgICAgICByZXR1cm4gc2VsZi52b2lkcmVzcCgpCiAKICAgICBkZWYgYWNjdChzZWxmLCBwYXNzd29yZCk6CkBAIC02MzcsOCArNjY4LDEwIEBACiB0cnk6CiAgICAgaW1wb3J0IHNzbAogZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHBhc3MKKyAgICBfU1NMU29ja2V0ID0gTm9uZQogZWxzZToKKyAgICBfU1NMU29ja2V0ID0gc3NsLlNTTFNvY2tldAorCiAgICAgY2xhc3MgRlRQX1RMUyhGVFApOgogICAgICAgICAnJydBIEZUUCBzdWJjbGFzcyB3aGljaCBhZGRzIFRMUyBzdXBwb3J0IHRvIEZUUCBhcyBkZXNjcmliZWQKICAgICAgICAgaW4gUkZDLTQyMTcuCkBAIC03NTMsNjkgKzc4Niw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX3ZlcnNpb249c2VsZi5zc2xfdmVyc2lvbikKICAgICAgICAgICAgIHJldHVybiBjb25uLCBzaXplCiAKLSAgICAgICAgZGVmIHJldHJiaW5hcnkoc2VsZiwgY21kLCBjYWxsYmFjaywgYmxvY2tzaXplPTgxOTIsIHJlc3Q9Tm9uZSk6Ci0gICAgICAgICAgICBzZWxmLnZvaWRjbWQoJ1RZUEUgSScpCi0gICAgICAgICAgICB3aXRoIHNlbGYudHJhbnNmZXJjbWQoY21kLCByZXN0KSBhcyBjb25uOgotICAgICAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBjb25uLnJlY3YoYmxvY2tzaXplKQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGRhdGEpCi0gICAgICAgICAgICAgICAgIyBzaHV0ZG93biBzc2wgbGF5ZXIKLSAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNvbm4sIHNzbC5TU0xTb2NrZXQpOgotICAgICAgICAgICAgICAgICAgICBjb25uLnVud3JhcCgpCi0gICAgICAgICAgICByZXR1cm4gc2VsZi52b2lkcmVzcCgpCi0KLSAgICAgICAgZGVmIHJldHJsaW5lcyhzZWxmLCBjbWQsIGNhbGxiYWNrID0gTm9uZSk6Ci0gICAgICAgICAgICBpZiBjYWxsYmFjayBpcyBOb25lOiBjYWxsYmFjayA9IHByaW50X2xpbmUKLSAgICAgICAgICAgIHJlc3AgPSBzZWxmLnNlbmRjbWQoJ1RZUEUgQScpCi0gICAgICAgICAgICBjb25uID0gc2VsZi50cmFuc2ZlcmNtZChjbWQpCi0gICAgICAgICAgICBmcCA9IGNvbm4ubWFrZWZpbGUoJ3InLCBlbmNvZGluZz1zZWxmLmVuY29kaW5nKQotICAgICAgICAgICAgd2l0aCBmcCwgY29ubjoKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICBsaW5lID0gZnAucmVhZGxpbmUoKQotICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLmRlYnVnZ2luZyA+IDI6IHByaW50KCcqcmV0cionLCByZXByKGxpbmUpKQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgbGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGlmIGxpbmVbLTI6XSA9PSBDUkxGOgotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0yXQotICAgICAgICAgICAgICAgICAgICBlbGlmIGxpbmVbLTE6XSA9PSAnXG4nOgotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0xXQotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhsaW5lKQotICAgICAgICAgICAgICAgICMgc2h1dGRvd24gc3NsIGxheWVyCi0gICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShjb25uLCBzc2wuU1NMU29ja2V0KToKLSAgICAgICAgICAgICAgICAgICAgY29ubi51bndyYXAoKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYudm9pZHJlc3AoKQotCi0gICAgICAgIGRlZiBzdG9yYmluYXJ5KHNlbGYsIGNtZCwgZnAsIGJsb2Nrc2l6ZT04MTkyLCBjYWxsYmFjaz1Ob25lLCByZXN0PU5vbmUpOgotICAgICAgICAgICAgc2VsZi52b2lkY21kKCdUWVBFIEknKQotICAgICAgICAgICAgd2l0aCBzZWxmLnRyYW5zZmVyY21kKGNtZCwgcmVzdCkgYXMgY29ubjoKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkKGJsb2Nrc2l6ZSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGJ1ZjogYnJlYWsKLSAgICAgICAgICAgICAgICAgICAgY29ubi5zZW5kYWxsKGJ1ZikKLSAgICAgICAgICAgICAgICAgICAgaWYgY2FsbGJhY2s6IGNhbGxiYWNrKGJ1ZikKLSAgICAgICAgICAgICAgICAjIHNodXRkb3duIHNzbCBsYXllcgotICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoY29ubiwgc3NsLlNTTFNvY2tldCk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbm4udW53cmFwKCkKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnZvaWRyZXNwKCkKLQotICAgICAgICBkZWYgc3RvcmxpbmVzKHNlbGYsIGNtZCwgZnAsIGNhbGxiYWNrPU5vbmUpOgotICAgICAgICAgICAgc2VsZi52b2lkY21kKCdUWVBFIEEnKQotICAgICAgICAgICAgd2l0aCBzZWxmLnRyYW5zZmVyY21kKGNtZCkgYXMgY29ubjoKLSAgICAgICAgICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkbGluZSgpCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBidWY6IGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGlmIGJ1ZlstMjpdICE9IEJfQ1JMRjoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGJ1ZlstMV0gaW4gQl9DUkxGOiBidWYgPSBidWZbOi0xXQotICAgICAgICAgICAgICAgICAgICAgICAgYnVmID0gYnVmICsgQl9DUkxGCi0gICAgICAgICAgICAgICAgICAgIGNvbm4uc2VuZGFsbChidWYpCi0gICAgICAgICAgICAgICAgICAgIGlmIGNhbGxiYWNrOiBjYWxsYmFjayhidWYpCi0gICAgICAgICAgICAgICAgIyBzaHV0ZG93biBzc2wgbGF5ZXIKLSAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNvbm4sIHNzbC5TU0xTb2NrZXQpOgotICAgICAgICAgICAgICAgICAgICBjb25uLnVud3JhcCgpCi0gICAgICAgICAgICByZXR1cm4gc2VsZi52b2lkcmVzcCgpCi0KICAgICAgICAgZGVmIGFib3J0KHNlbGYpOgogICAgICAgICAgICAgIyBvdmVycmlkZGVuIGFzIHdlIGNhbid0IHBhc3MgTVNHX09PQiBmbGFnIHRvIHNlbmRhbGwoKQogICAgICAgICAgICAgbGluZSA9IGInQUJPUicgKyBCX0NSTEYKQEAgLTgyNiw3ICs3OTYsNyBAQAogICAgICAgICAgICAgcmV0dXJuIHJlc3AKIAogICAgIF9fYWxsX18uYXBwZW5kKCdGVFBfVExTJykKLSAgICBhbGxfZXJyb3JzID0gKEVycm9yLCBJT0Vycm9yLCBFT0ZFcnJvciwgc3NsLlNTTEVycm9yKQorICAgIGFsbF9lcnJvcnMgPSAoRXJyb3IsIE9TRXJyb3IsIEVPRkVycm9yLCBzc2wuU1NMRXJyb3IpCiAKIAogXzE1MF9yZSA9IE5vbmUKQEAgLTkyMyw3ICs4OTMsOCBAQAogCiBkZWYgZnRwY3Aoc291cmNlLCBzb3VyY2VuYW1lLCB0YXJnZXQsIHRhcmdldG5hbWUgPSAnJywgdHlwZSA9ICdJJyk6CiAgICAgJycnQ29weSBmaWxlIGZyb20gb25lIEZUUC1pbnN0YW5jZSB0byBhbm90aGVyLicnJwotICAgIGlmIG5vdCB0YXJnZXRuYW1lOiB0YXJnZXRuYW1lID0gc291cmNlbmFtZQorICAgIGlmIG5vdCB0YXJnZXRuYW1lOgorICAgICAgICB0YXJnZXRuYW1lID0gc291cmNlbmFtZQogICAgIHR5cGUgPSAnVFlQRSAnICsgdHlwZQogICAgIHNvdXJjZS52b2lkY21kKHR5cGUpCiAgICAgdGFyZ2V0LnZvaWRjbWQodHlwZSkKQEAgLTkzMyw5ICs5MDQsMTEgQEAKICAgICAjIHRyYW5zZmVyIHJlcXVlc3QuCiAgICAgIyBTbzogU1RPUiBiZWZvcmUgUkVUUiwgYmVjYXVzZSBoZXJlIHRoZSB0YXJnZXQgaXMgYSAidXNlciIuCiAgICAgdHJlcGx5ID0gdGFyZ2V0LnNlbmRjbWQoJ1NUT1IgJyArIHRhcmdldG5hbWUpCi0gICAgaWYgdHJlcGx5WzozXSBub3QgaW4geycxMjUnLCAnMTUwJ306IHJhaXNlIGVycm9yX3Byb3RvICAjIFJGQyA5NTkKKyAgICBpZiB0cmVwbHlbOjNdIG5vdCBpbiB7JzEyNScsICcxNTAnfToKKyAgICAgICAgcmFpc2UgZXJyb3JfcHJvdG8gICMgUkZDIDk1OQogICAgIHNyZXBseSA9IHNvdXJjZS5zZW5kY21kKCdSRVRSICcgKyBzb3VyY2VuYW1lKQotICAgIGlmIHNyZXBseVs6M10gbm90IGluIHsnMTI1JywgJzE1MCd9OiByYWlzZSBlcnJvcl9wcm90byAgIyBSRkMgOTU5CisgICAgaWYgc3JlcGx5WzozXSBub3QgaW4geycxMjUnLCAnMTUwJ306CisgICAgICAgIHJhaXNlIGVycm9yX3Byb3RvICAjIFJGQyA5NTkKICAgICBzb3VyY2Uudm9pZHJlc3AoKQogICAgIHRhcmdldC52b2lkcmVzcCgpCiAKQEAgLTk1MywxOSArOTI2LDIyIEBACiAgICAgX19kZWZhY2N0ID0gTm9uZQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lPU5vbmUpOgorICAgICAgICB3YXJuaW5ncy53YXJuKCJUaGlzIGNsYXNzIGlzIGRlcHJlY2F0ZWQsIHVzZSB0aGUgbmV0cmMgbW9kdWxlIGluc3RlYWQiLAorICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgaWYgZmlsZW5hbWUgaXMgTm9uZToKICAgICAgICAgICAgIGlmICJIT01FIiBpbiBvcy5lbnZpcm9uOgogICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bIkhPTUUiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLm5ldHJjIikKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigic3BlY2lmeSBmaWxlIHRvIGxvYWQgb3Igc2V0ICRIT01FIikKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJzcGVjaWZ5IGZpbGUgdG8gbG9hZCBvciBzZXQgJEhPTUUiKQogICAgICAgICBzZWxmLl9faG9zdHMgPSB7fQogICAgICAgICBzZWxmLl9fbWFjcm9zID0ge30KICAgICAgICAgZnAgPSBvcGVuKGZpbGVuYW1lLCAiciIpCiAgICAgICAgIGluX21hY3JvID0gMAogICAgICAgICB3aGlsZSAxOgogICAgICAgICAgICAgbGluZSA9IGZwLnJlYWRsaW5lKCkKLSAgICAgICAgICAgIGlmIG5vdCBsaW5lOiBicmVhaworICAgICAgICAgICAgaWYgbm90IGxpbmU6CisgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgIGlmIGluX21hY3JvIGFuZCBsaW5lLnN0cmlwKCk6CiAgICAgICAgICAgICAgICAgbWFjcm9fbGluZXMuYXBwZW5kKGxpbmUpCiAgICAgICAgICAgICAgICAgY29udGludWUKQEAgLTEwNzQsNyArMTA1MCw3IEBACiAgICAgdXNlcmlkID0gcGFzc3dkID0gYWNjdCA9ICcnCiAgICAgdHJ5OgogICAgICAgICBuZXRyYyA9IE5ldHJjKHJjZmlsZSkKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgaWYgcmNmaWxlIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiQ291bGQgbm90IG9wZW4gYWNjb3VudCBmaWxlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIC0tIHVzaW5nIGFub255bW91cyBsb2dpbi4iKQpkaWZmIC0tZ2l0IGEvTGliL2Z1bmN0b29scy5weSBiL0xpYi9mdW5jdG9vbHMucHkKaW5kZXggMDUzZTQ0ZS4uZmExMWQyZiAxMDA2NDQKLS0tIGEvTGliL2Z1bmN0b29scy5weQorKysgYi9MaWIvZnVuY3Rvb2xzLnB5CkBAIC0xMSw3ICsxMSwxMCBAQAogX19hbGxfXyA9IFsndXBkYXRlX3dyYXBwZXInLCAnd3JhcHMnLCAnV1JBUFBFUl9BU1NJR05NRU5UUycsICdXUkFQUEVSX1VQREFURVMnLAogICAgICAgICAgICAndG90YWxfb3JkZXJpbmcnLCAnY21wX3RvX2tleScsICdscnVfY2FjaGUnLCAncmVkdWNlJywgJ3BhcnRpYWwnXQogCi1mcm9tIF9mdW5jdG9vbHMgaW1wb3J0IHBhcnRpYWwsIHJlZHVjZQordHJ5OgorICAgIGZyb20gX2Z1bmN0b29scyBpbXBvcnQgcmVkdWNlCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQogdHJ5OgogICAgIGZyb20gX3RocmVhZCBpbXBvcnQgUkxvY2sKQEAgLTE0MCw2ICsxNDMsMjkgQEAKIAogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIHBhcnRpYWwoKSBhcmd1bWVudCBhcHBsaWNhdGlvbgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZGVmIHBhcnRpYWwoZnVuYywgKmFyZ3MsICoqa2V5d29yZHMpOgorICAgICIiIm5ldyBmdW5jdGlvbiB3aXRoIHBhcnRpYWwgYXBwbGljYXRpb24gb2YgdGhlIGdpdmVuIGFyZ3VtZW50cworICAgIGFuZCBrZXl3b3Jkcy4KKyAgICAiIiIKKyAgICBkZWYgbmV3ZnVuYygqZmFyZ3MsICoqZmtleXdvcmRzKToKKyAgICAgICAgbmV3a2V5d29yZHMgPSBrZXl3b3Jkcy5jb3B5KCkKKyAgICAgICAgbmV3a2V5d29yZHMudXBkYXRlKGZrZXl3b3JkcykKKyAgICAgICAgcmV0dXJuIGZ1bmMoKihhcmdzICsgZmFyZ3MpLCAqKm5ld2tleXdvcmRzKQorICAgIG5ld2Z1bmMuZnVuYyA9IGZ1bmMKKyAgICBuZXdmdW5jLmFyZ3MgPSBhcmdzCisgICAgbmV3ZnVuYy5rZXl3b3JkcyA9IGtleXdvcmRzCisgICAgcmV0dXJuIG5ld2Z1bmMKKwordHJ5OgorICAgIGZyb20gX2Z1bmN0b29scyBpbXBvcnQgcGFydGlhbAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKKworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyMjIExSVSBDYWNoZSBmdW5jdGlvbiBkZWNvcmF0b3IKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKQEAgLTIyMCw3ICsyNDYsNiBAQAogICAgIFBSRVYsIE5FWFQsIEtFWSwgUkVTVUxUID0gMCwgMSwgMiwgMyAgICMgbmFtZXMgZm9yIHRoZSBsaW5rIGZpZWxkcwogCiAgICAgZGVmIGRlY29yYXRpbmdfZnVuY3Rpb24odXNlcl9mdW5jdGlvbik6Ci0KICAgICAgICAgY2FjaGUgPSB7fQogICAgICAgICBoaXRzID0gbWlzc2VzID0gMAogICAgICAgICBmdWxsID0gRmFsc2UKZGlmZiAtLWdpdCBhL0xpYi9nZW5lcmljcGF0aC5weSBiL0xpYi9nZW5lcmljcGF0aC5weQppbmRleCAyMTc0MTg3Li41MjkyYWE4IDEwMDY0NAotLS0gYS9MaWIvZ2VuZXJpY3BhdGgucHkKKysrIGIvTGliL2dlbmVyaWNwYXRoLnB5CkBAIC03LDcgKzcsOCBAQAogaW1wb3J0IHN0YXQKIAogX19hbGxfXyA9IFsnY29tbW9ucHJlZml4JywgJ2V4aXN0cycsICdnZXRhdGltZScsICdnZXRjdGltZScsICdnZXRtdGltZScsCi0gICAgICAgICAgICdnZXRzaXplJywgJ2lzZGlyJywgJ2lzZmlsZSddCisgICAgICAgICAgICdnZXRzaXplJywgJ2lzZGlyJywgJ2lzZmlsZScsICdzYW1lZmlsZScsICdzYW1lb3BlbmZpbGUnLAorICAgICAgICAgICAnc2FtZXN0YXQnXQogCiAKICMgRG9lcyBhIHBhdGggZXhpc3Q/CkBAIC0xNiw3ICsxNyw3IEBACiAgICAgIiIiVGVzdCB3aGV0aGVyIGEgcGF0aCBleGlzdHMuICBSZXR1cm5zIEZhbHNlIGZvciBicm9rZW4gc3ltYm9saWMgbGlua3MiIiIKICAgICB0cnk6CiAgICAgICAgIG9zLnN0YXQocGF0aCkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybiBGYWxzZQogICAgIHJldHVybiBUcnVlCiAKQEAgLTI3LDcgKzI4LDcgQEAKICAgICAiIiJUZXN0IHdoZXRoZXIgYSBwYXRoIGlzIGEgcmVndWxhciBmaWxlIiIiCiAgICAgdHJ5OgogICAgICAgICBzdCA9IG9zLnN0YXQocGF0aCkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybiBGYWxzZQogICAgIHJldHVybiBzdGF0LlNfSVNSRUcoc3Quc3RfbW9kZSkKIApAQCAtMzksNyArNDAsNyBAQAogICAgICIiIlJldHVybiB0cnVlIGlmIHRoZSBwYXRobmFtZSByZWZlcnMgdG8gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LiIiIgogICAgIHRyeToKICAgICAgICAgc3QgPSBvcy5zdGF0KHMpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gRmFsc2UKICAgICByZXR1cm4gc3RhdC5TX0lTRElSKHN0LnN0X21vZGUpCiAKQEAgLTc1LDYgKzc2LDMxIEBACiAgICAgICAgICAgICByZXR1cm4gczFbOmldCiAgICAgcmV0dXJuIHMxCiAKKyMgQXJlIHR3byBzdGF0IGJ1ZmZlcnMgKG9idGFpbmVkIGZyb20gc3RhdCwgZnN0YXQgb3IgbHN0YXQpCisjIGRlc2NyaWJpbmcgdGhlIHNhbWUgZmlsZT8KK2RlZiBzYW1lc3RhdChzMSwgczIpOgorICAgICIiIlRlc3Qgd2hldGhlciB0d28gc3RhdCBidWZmZXJzIHJlZmVyZW5jZSB0aGUgc2FtZSBmaWxlIiIiCisgICAgcmV0dXJuIChzMS5zdF9pbm8gPT0gczIuc3RfaW5vIGFuZAorICAgICAgICAgICAgczEuc3RfZGV2ID09IHMyLnN0X2RldikKKworCisjIEFyZSB0d28gZmlsZW5hbWVzIHJlYWxseSBwb2ludGluZyB0byB0aGUgc2FtZSBmaWxlPworZGVmIHNhbWVmaWxlKGYxLCBmMik6CisgICAgIiIiVGVzdCB3aGV0aGVyIHR3byBwYXRobmFtZXMgcmVmZXJlbmNlIHRoZSBzYW1lIGFjdHVhbCBmaWxlIiIiCisgICAgczEgPSBvcy5zdGF0KGYxKQorICAgIHMyID0gb3Muc3RhdChmMikKKyAgICByZXR1cm4gc2FtZXN0YXQoczEsIHMyKQorCisKKyMgQXJlIHR3byBvcGVuIGZpbGVzIHJlYWxseSByZWZlcmVuY2luZyB0aGUgc2FtZSBmaWxlPworIyAoTm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGZpbGUgZGVzY3JpcHRvciEpCitkZWYgc2FtZW9wZW5maWxlKGZwMSwgZnAyKToKKyAgICAiIiJUZXN0IHdoZXRoZXIgdHdvIG9wZW4gZmlsZSBvYmplY3RzIHJlZmVyZW5jZSB0aGUgc2FtZSBmaWxlIiIiCisgICAgczEgPSBvcy5mc3RhdChmcDEpCisgICAgczIgPSBvcy5mc3RhdChmcDIpCisgICAgcmV0dXJuIHNhbWVzdGF0KHMxLCBzMikKKworCiAjIFNwbGl0IGEgcGF0aCBpbiByb290IGFuZCBleHRlbnNpb24uCiAjIFRoZSBleHRlbnNpb24gaXMgZXZlcnl0aGluZyBzdGFydGluZyBhdCB0aGUgbGFzdCBkb3QgaW4gdGhlIGxhc3QKICMgcGF0aG5hbWUgY29tcG9uZW50OyB0aGUgcm9vdCBpcyBldmVyeXRoaW5nIGJlZm9yZSB0aGF0LgpkaWZmIC0tZ2l0IGEvTGliL2dldHBhc3MucHkgYi9MaWIvZ2V0cGFzcy5weQppbmRleCAwMDQ0NzQyLi42ZWM2Yzc4OCAxMDA2NDQKLS0tIGEvTGliL2dldHBhc3MucHkKKysrIGIvTGliL2dldHBhc3MucHkKQEAgLTQwLDYgKzQwLDcgQEAKICAgICAiIiIKICAgICBmZCA9IE5vbmUKICAgICB0dHkgPSBOb25lCisgICAgcGFzc3dkID0gTm9uZQogICAgIHRyeToKICAgICAgICAgIyBBbHdheXMgdHJ5IHJlYWRpbmcgYW5kIHdyaXRpbmcgZGlyZWN0bHkgb24gdGhlIHR0eSBmaXJzdC4KICAgICAgICAgZmQgPSBvcy5vcGVuKCcvZGV2L3R0eScsIG9zLk9fUkRXUnxvcy5PX05PQ1RUWSkKQEAgLTQ3LDcgKzQ4LDcgQEAKICAgICAgICAgaW5wdXQgPSB0dHkKICAgICAgICAgaWYgbm90IHN0cmVhbToKICAgICAgICAgICAgIHN0cmVhbSA9IHR0eQotICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGU6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgIyBJZiB0aGF0IGZhaWxzLCBzZWUgaWYgc3RkaW4gY2FuIGJlIGNvbnRyb2xsZWQuCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZkID0gc3lzLnN0ZGluLmZpbGVubygpCmRpZmYgLS1naXQgYS9MaWIvZ2V0dGV4dC5weSBiL0xpYi9nZXR0ZXh0LnB5CmluZGV4IGU0M2YwNDQuLjA1ZDljMWUgMTAwNjQ0Ci0tLSBhL0xpYi9nZXR0ZXh0LnB5CisrKyBiL0xpYi9nZXR0ZXh0LnB5CkBAIC0yNDQsNyArMjQ0LDcgQEAKICAgICAgICAgICAgIHZlcnNpb24sIG1zZ2NvdW50LCBtYXN0ZXJpZHgsIHRyYW5zaWR4ID0gdW5wYWNrKCc+NEknLCBidWZbNDoyMF0pCiAgICAgICAgICAgICBpaSA9ICc+SUknCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKDAsICdCYWQgbWFnaWMgbnVtYmVyJywgZmlsZW5hbWUpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdCYWQgbWFnaWMgbnVtYmVyJywgZmlsZW5hbWUpCiAgICAgICAgICMgTm93IHB1dCBhbGwgbWVzc2FnZXMgZnJvbSB0aGUgLm1vIGZpbGUgYnVmZmVyIGludG8gdGhlIGNhdGFsb2cKICAgICAgICAgIyBkaWN0aW9uYXJ5LgogICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBtc2djb3VudCk6CkBAIC0yNTYsNyArMjU2LDcgQEAKICAgICAgICAgICAgICAgICBtc2cgPSBidWZbbW9mZjptZW5kXQogICAgICAgICAgICAgICAgIHRtc2cgPSBidWZbdG9mZjp0ZW5kXQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByYWlzZSBJT0Vycm9yKDAsICdGaWxlIGlzIGNvcnJ1cHQnLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKDAsICdGaWxlIGlzIGNvcnJ1cHQnLCBmaWxlbmFtZSkKICAgICAgICAgICAgICMgU2VlIGlmIHdlJ3JlIGxvb2tpbmcgYXQgR05VIC5tbyBjb252ZW50aW9ucyBmb3IgbWV0YWRhdGEKICAgICAgICAgICAgIGlmIG1sZW4gPT0gMDoKICAgICAgICAgICAgICAgICAjIENhdGFsb2cgZGVzY3JpcHRpb24KQEAgLTM5OCw3ICszOTgsNyBAQAogICAgIGlmIG5vdCBtb2ZpbGVzOgogICAgICAgICBpZiBmYWxsYmFjazoKICAgICAgICAgICAgIHJldHVybiBOdWxsVHJhbnNsYXRpb25zKCkKLSAgICAgICAgcmFpc2UgSU9FcnJvcihFTk9FTlQsICdObyB0cmFuc2xhdGlvbiBmaWxlIGZvdW5kIGZvciBkb21haW4nLCBkb21haW4pCisgICAgICAgIHJhaXNlIE9TRXJyb3IoRU5PRU5ULCAnTm8gdHJhbnNsYXRpb24gZmlsZSBmb3VuZCBmb3IgZG9tYWluJywgZG9tYWluKQogICAgICMgQXZvaWQgb3BlbmluZywgcmVhZGluZywgYW5kIHBhcnNpbmcgdGhlIC5tbyBmaWxlIGFmdGVyIGl0J3MgYmVlbiBkb25lCiAgICAgIyBvbmNlLgogICAgIHJlc3VsdCA9IE5vbmUKQEAgLTQ2MCw3ICs0NjAsNyBAQAogICAgIHRyeToKICAgICAgICAgdCA9IHRyYW5zbGF0aW9uKGRvbWFpbiwgX2xvY2FsZWRpcnMuZ2V0KGRvbWFpbiwgTm9uZSksCiAgICAgICAgICAgICAgICAgICAgICAgICBjb2Rlc2V0PV9sb2NhbGVjb2Rlc2V0cy5nZXQoZG9tYWluKSkKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcmV0dXJuIG1lc3NhZ2UKICAgICByZXR1cm4gdC5nZXR0ZXh0KG1lc3NhZ2UpCiAKQEAgLTQ2OCw3ICs0NjgsNyBAQAogICAgIHRyeToKICAgICAgICAgdCA9IHRyYW5zbGF0aW9uKGRvbWFpbiwgX2xvY2FsZWRpcnMuZ2V0KGRvbWFpbiwgTm9uZSksCiAgICAgICAgICAgICAgICAgICAgICAgICBjb2Rlc2V0PV9sb2NhbGVjb2Rlc2V0cy5nZXQoZG9tYWluKSkKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcmV0dXJuIG1lc3NhZ2UKICAgICByZXR1cm4gdC5sZ2V0dGV4dChtZXNzYWdlKQogCkBAIC00NzYsNyArNDc2LDcgQEAKICAgICB0cnk6CiAgICAgICAgIHQgPSB0cmFuc2xhdGlvbihkb21haW4sIF9sb2NhbGVkaXJzLmdldChkb21haW4sIE5vbmUpLAogICAgICAgICAgICAgICAgICAgICAgICAgY29kZXNldD1fbG9jYWxlY29kZXNldHMuZ2V0KGRvbWFpbikpCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIGlmIG4gPT0gMToKICAgICAgICAgICAgIHJldHVybiBtc2dpZDEKICAgICAgICAgZWxzZToKQEAgLTQ4Nyw3ICs0ODcsNyBAQAogICAgIHRyeToKICAgICAgICAgdCA9IHRyYW5zbGF0aW9uKGRvbWFpbiwgX2xvY2FsZWRpcnMuZ2V0KGRvbWFpbiwgTm9uZSksCiAgICAgICAgICAgICAgICAgICAgICAgICBjb2Rlc2V0PV9sb2NhbGVjb2Rlc2V0cy5nZXQoZG9tYWluKSkKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgaWYgbiA9PSAxOgogICAgICAgICAgICAgcmV0dXJuIG1zZ2lkMQogICAgICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2dsb2IucHkgYi9MaWIvZ2xvYi5weQppbmRleCAxZjYwMjY1Li4xYTI2OGEzIDEwMDY0NAotLS0gYS9MaWIvZ2xvYi5weQorKysgYi9MaWIvZ2xvYi5weQpAQCAtMzIsOCArMzIsNyBAQAogICAgICAgICByZXR1cm4KICAgICBkaXJuYW1lLCBiYXNlbmFtZSA9IG9zLnBhdGguc3BsaXQocGF0aG5hbWUpCiAgICAgaWYgbm90IGRpcm5hbWU6Ci0gICAgICAgIGZvciBuYW1lIGluIGdsb2IxKE5vbmUsIGJhc2VuYW1lKToKLSAgICAgICAgICAgIHlpZWxkIG5hbWUKKyAgICAgICAgeWllbGQgZnJvbSBnbG9iMShOb25lLCBiYXNlbmFtZSkKICAgICAgICAgcmV0dXJuCiAgICAgIyBgb3MucGF0aC5zcGxpdCgpYCByZXR1cm5zIHRoZSBhcmd1bWVudCBpdHNlbGYgYXMgYSBkaXJuYW1lIGlmIGl0IGlzIGEKICAgICAjIGRyaXZlIG9yIFVOQyBwYXRoLiAgUHJldmVudCBhbiBpbmZpbml0ZSByZWN1cnNpb24gaWYgYSBkcml2ZSBvciBVTkMgcGF0aApAQCAtNjIsNyArNjEsNyBAQAogICAgICAgICAgICAgZGlybmFtZSA9IG9zLmN1cmRpcgogICAgIHRyeToKICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcm5hbWUpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gW10KICAgICBpZiBub3QgX2lzaGlkZGVuKHBhdHRlcm4pOgogICAgICAgICBuYW1lcyA9IFt4IGZvciB4IGluIG5hbWVzIGlmIG5vdCBfaXNoaWRkZW4oeCldCmRpZmYgLS1naXQgYS9MaWIvZ3ppcC5weSBiL0xpYi9nemlwLnB5CmluZGV4IGExZjEzYjQuLmQyZDZkZDYgMTAwNjQ0Ci0tLSBhL0xpYi9nemlwLnB5CisrKyBiL0xpYi9nemlwLnB5CkBAIC0yOTQsMTEgKzI5NCwxMSBAQAogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKICAgICAgICAgaWYgbWFnaWMgIT0gYidcMDM3XDIxMyc6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCdOb3QgYSBnemlwcGVkIGZpbGUnKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignTm90IGEgZ3ppcHBlZCBmaWxlJykKIAogICAgICAgICBtZXRob2QsIGZsYWcsIHNlbGYubXRpbWUgPSBzdHJ1Y3QudW5wYWNrKCI8QkJJeHgiLCBzZWxmLl9yZWFkX2V4YWN0KDgpKQogICAgICAgICBpZiBtZXRob2QgIT0gODoKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoJ1Vua25vd24gY29tcHJlc3Npb24gbWV0aG9kJykKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ1Vua25vd24gY29tcHJlc3Npb24gbWV0aG9kJykKIAogICAgICAgICBpZiBmbGFnICYgRkVYVFJBOgogICAgICAgICAgICAgIyBSZWFkICYgZGlzY2FyZCB0aGUgZXh0cmEgZmllbGQsIGlmIHByZXNlbnQKQEAgLTMyOSw3ICszMjksNyBAQAogICAgICAgICBzZWxmLl9jaGVja19jbG9zZWQoKQogICAgICAgICBpZiBzZWxmLm1vZGUgIT0gV1JJVEU6CiAgICAgICAgICAgICBpbXBvcnQgZXJybm8KLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoZXJybm8uRUJBREYsICJ3cml0ZSgpIG9uIHJlYWQtb25seSBHemlwRmlsZSBvYmplY3QiKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FQkFERiwgIndyaXRlKCkgb24gcmVhZC1vbmx5IEd6aXBGaWxlIG9iamVjdCIpCiAKICAgICAgICAgaWYgc2VsZi5maWxlb2JqIGlzIE5vbmU6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ3cml0ZSgpIG9uIGNsb3NlZCBHemlwRmlsZSBvYmplY3QiKQpAQCAtMzUwLDcgKzM1MCw3IEBACiAgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCiAgICAgICAgIGlmIHNlbGYubW9kZSAhPSBSRUFEOgogICAgICAgICAgICAgaW1wb3J0IGVycm5vCi0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKGVycm5vLkVCQURGLCAicmVhZCgpIG9uIHdyaXRlLW9ubHkgR3ppcEZpbGUgb2JqZWN0IikKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8uRUJBREYsICJyZWFkKCkgb24gd3JpdGUtb25seSBHemlwRmlsZSBvYmplY3QiKQogCiAgICAgICAgIGlmIHNlbGYuZXh0cmFzaXplIDw9IDAgYW5kIHNlbGYuZmlsZW9iaiBpcyBOb25lOgogICAgICAgICAgICAgcmV0dXJuIGInJwpAQCAtMzc5LDcgKzM3OSw3IEBACiAgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCiAgICAgICAgIGlmIHNlbGYubW9kZSAhPSBSRUFEOgogICAgICAgICAgICAgaW1wb3J0IGVycm5vCi0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKGVycm5vLkVCQURGLCAicmVhZDEoKSBvbiB3cml0ZS1vbmx5IEd6aXBGaWxlIG9iamVjdCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVCQURGLCAicmVhZDEoKSBvbiB3cml0ZS1vbmx5IEd6aXBGaWxlIG9iamVjdCIpCiAKICAgICAgICAgaWYgc2VsZi5leHRyYXNpemUgPD0gMCBhbmQgc2VsZi5maWxlb2JqIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4gYicnCkBAIC00MDAsNyArNDAwLDcgQEAKICAgICBkZWYgcGVlayhzZWxmLCBuKToKICAgICAgICAgaWYgc2VsZi5tb2RlICE9IFJFQUQ6CiAgICAgICAgICAgICBpbXBvcnQgZXJybm8KLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoZXJybm8uRUJBREYsICJwZWVrKCkgb24gd3JpdGUtb25seSBHemlwRmlsZSBvYmplY3QiKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FQkFERiwgInBlZWsoKSBvbiB3cml0ZS1vbmx5IEd6aXBGaWxlIG9iamVjdCIpCiAKICAgICAgICAgIyBEbyBub3QgcmV0dXJuIHJpZGljdWxvdXNseSBzbWFsbCBidWZmZXJzLCBmb3Igb25lIGNvbW1vbiBpZGlvbQogICAgICAgICAjIGlzIHRvIGNhbGwgcGVlaygxKSBhbmQgZXhwZWN0IG1vcmUgYnl0ZXMgaW4gcmV0dXJuLgpAQCAtNDgxLDEwICs0ODEsMTAgQEAKICAgICAgICAgIyBzdG9yZWQgaXMgdGhlIHRydWUgZmlsZSBzaXplIG1vZCAyKiozMi4KICAgICAgICAgY3JjMzIsIGlzaXplID0gc3RydWN0LnVucGFjaygiPElJIiwgc2VsZi5fcmVhZF9leGFjdCg4KSkKICAgICAgICAgaWYgY3JjMzIgIT0gc2VsZi5jcmM6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCJDUkMgY2hlY2sgZmFpbGVkICVzICE9ICVzIiAlIChoZXgoY3JjMzIpLAorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiQ1JDIGNoZWNrIGZhaWxlZCAlcyAhPSAlcyIgJSAoaGV4KGNyYzMyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhleChzZWxmLmNyYykpKQogICAgICAgICBlbGlmIGlzaXplICE9IChzZWxmLnNpemUgJiAweGZmZmZmZmZmKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoIkluY29ycmVjdCBsZW5ndGggb2YgZGF0YSBwcm9kdWNlZCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJJbmNvcnJlY3QgbGVuZ3RoIG9mIGRhdGEgcHJvZHVjZWQiKQogCiAgICAgICAgICMgR3ppcCBmaWxlcyBjYW4gYmUgcGFkZGVkIHdpdGggemVyb2VzIGFuZCBzdGlsbCBoYXZlIGFyY2hpdmVzLgogICAgICAgICAjIENvbnN1bWUgYWxsIHplcm8gYnl0ZXMgYW5kIHNldCB0aGUgZmlsZSBwb3NpdGlvbiB0byB0aGUgZmlyc3QKQEAgLTUzMyw3ICs1MzMsNyBAQAogICAgICAgICAnJydSZXR1cm4gdGhlIHVuY29tcHJlc3NlZCBzdHJlYW0gZmlsZSBwb3NpdGlvbiBpbmRpY2F0b3IgdG8gdGhlCiAgICAgICAgIGJlZ2lubmluZyBvZiB0aGUgZmlsZScnJwogICAgICAgICBpZiBzZWxmLm1vZGUgIT0gUkVBRDoKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoIkNhbid0IHJld2luZCBpbiB3cml0ZSBtb2RlIikKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoIkNhbid0IHJld2luZCBpbiB3cml0ZSBtb2RlIikKICAgICAgICAgc2VsZi5maWxlb2JqLnNlZWsoMCkKICAgICAgICAgc2VsZi5fbmV3X21lbWJlciA9IFRydWUKICAgICAgICAgc2VsZi5leHRyYWJ1ZiA9IGIiIgpAQCAtNTU4LDcgKzU1OCw3IEBACiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignU2VlayBmcm9tIGVuZCBub3Qgc3VwcG9ydGVkJykKICAgICAgICAgaWYgc2VsZi5tb2RlID09IFdSSVRFOgogICAgICAgICAgICAgaWYgb2Zmc2V0IDwgc2VsZi5vZmZzZXQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignTmVnYXRpdmUgc2VlayBpbiB3cml0ZSBtb2RlJykKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCdOZWdhdGl2ZSBzZWVrIGluIHdyaXRlIG1vZGUnKQogICAgICAgICAgICAgY291bnQgPSBvZmZzZXQgLSBzZWxmLm9mZnNldAogICAgICAgICAgICAgY2h1bmsgPSBieXRlcygxMDI0KQogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoY291bnQgLy8gMTAyNCk6CmRpZmYgLS1naXQgYS9MaWIvaGFzaGxpYi5weSBiL0xpYi9oYXNobGliLnB5CmluZGV4IDIxNDU0YzcuLmExYmQ4YjIgMTAwNjQ0Ci0tLSBhL0xpYi9oYXNobGliLnB5CisrKyBiL0xpYi9oYXNobGliLnB5CkBAIC01NCw3ICs1NCw4IEBACiAKICMgVGhpcyB0dXBsZSBhbmQgX19nZXRfYnVpbHRpbl9jb25zdHJ1Y3RvcigpIG11c3QgYmUgbW9kaWZpZWQgaWYgYSBuZXcKICMgYWx3YXlzIGF2YWlsYWJsZSBhbGdvcml0aG0gaXMgYWRkZWQuCi1fX2Fsd2F5c19zdXBwb3J0ZWQgPSAoJ21kNScsICdzaGExJywgJ3NoYTIyNCcsICdzaGEyNTYnLCAnc2hhMzg0JywgJ3NoYTUxMicpCitfX2Fsd2F5c19zdXBwb3J0ZWQgPSAoJ21kNScsICdzaGExJywgJ3NoYTIyNCcsICdzaGEyNTYnLCAnc2hhMzg0JywgJ3NoYTUxMicsCisgICAgICAgICAgICAgICAgICAgICAgJ3NoYTNfMjI0JywgJ3NoYTNfMjU2JywgJ3NoYTNfMzg0JywgJ3NoYTNfNTEyJykKIAogYWxnb3JpdGhtc19ndWFyYW50ZWVkID0gc2V0KF9fYWx3YXlzX3N1cHBvcnRlZCkKIGFsZ29yaXRobXNfYXZhaWxhYmxlID0gc2V0KF9fYWx3YXlzX3N1cHBvcnRlZCkKQEAgLTg1LDYgKzg2LDE4IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIF9zaGE1MTIuc2hhNTEyCiAgICAgICAgICAgICBlbGlmIGJzID09ICczODQnOgogICAgICAgICAgICAgICAgIHJldHVybiBfc2hhNTEyLnNoYTM4NAorICAgICAgICBlbGlmIG5hbWUgaW4geydzaGEzXzIyNCcsICdzaGEzXzI1NicsICdzaGEzXzM4NCcsICdzaGEzXzUxMicsCisgICAgICAgICAgICAgICAgICAgICAgJ1NIQTNfMjI0JywgJ1NIQTNfMjU2JywgJ1NIQTNfMzg0JywgJ1NIQTNfNTEyJ306CisgICAgICAgICAgICBpbXBvcnQgX3NoYTMKKyAgICAgICAgICAgIGJzID0gbmFtZVs1Ol0KKyAgICAgICAgICAgIGlmIGJzID09ICcyMjQnOgorICAgICAgICAgICAgICAgIHJldHVybiBfc2hhMy5zaGEzXzIyNAorICAgICAgICAgICAgZWxpZiBicyA9PSAnMjU2JzoKKyAgICAgICAgICAgICAgICByZXR1cm4gX3NoYTMuc2hhM18yNTYKKyAgICAgICAgICAgIGVsaWYgYnMgPT0gJzM4NCc6CisgICAgICAgICAgICAgICAgcmV0dXJuIF9zaGEzLnNoYTNfMzg0CisgICAgICAgICAgICBlbGlmIGJzID09ICc1MTInOgorICAgICAgICAgICAgICAgIHJldHVybiBfc2hhMy5zaGEzXzUxMgogICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgcGFzcyAgIyBubyBleHRlbnNpb24gbW9kdWxlLCB0aGlzIGhhc2ggaXMgdW5zdXBwb3J0ZWQuCiAKZGlmZiAtLWdpdCBhL0xpYi9obWFjLnB5IGIvTGliL2htYWMucHkKaW5kZXggNDI5N2E3MS4uNmJkMGRlNSAxMDA2NDQKLS0tIGEvTGliL2htYWMucHkKKysrIGIvTGliL2htYWMucHkKQEAgLTQsNyArNCw3IEBACiAiIiIKIAogaW1wb3J0IHdhcm5pbmdzIGFzIF93YXJuaW5ncwotZnJvbSBvcGVyYXRvciBpbXBvcnQgX2NvbXBhcmVfZGlnZXN0IGFzIGNvbXBhcmVfZGlnZXN0Citmcm9tIF9vcGVyYXRvciBpbXBvcnQgX2NvbXBhcmVfZGlnZXN0IGFzIGNvbXBhcmVfZGlnZXN0CiAKIHRyYW5zXzVDID0gYnl0ZXMoKHggXiAweDVDKSBmb3IgeCBpbiByYW5nZSgyNTYpKQogdHJhbnNfMzYgPSBieXRlcygoeCBeIDB4MzYpIGZvciB4IGluIHJhbmdlKDI1NikpCmRpZmYgLS1naXQgYS9MaWIvaHR0cC9jbGllbnQucHkgYi9MaWIvaHR0cC9jbGllbnQucHkKaW5kZXggYjcyY2YwOC4uOTM5NjE1YiAxMDA2NDQKLS0tIGEvTGliL2h0dHAvY2xpZW50LnB5CisrKyBiL0xpYi9odHRwL2NsaWVudC5weQpAQCAtMjY3LDggKzI2Nyw2IEBACiAgICAgcmV0dXJuIGVtYWlsLnBhcnNlci5QYXJzZXIoX2NsYXNzPV9jbGFzcykucGFyc2VzdHIoaHN0cmluZykKIAogCi1fc3RyaWN0X3NlbnRpbmVsID0gb2JqZWN0KCkKLQogY2xhc3MgSFRUUFJlc3BvbnNlKGlvLlJhd0lPQmFzZSk6CiAKICAgICAjIFNlZSBSRkMgMjYxNiBzZWMgMTkuNiBhbmQgUkZDIDE5NDUgc2VjIDYgZm9yIGRldGFpbHMuCkBAIC0yNzgsNyArMjc2LDcgQEAKICAgICAjIHRleHQgZm9sbG93aW5nIFJGQyAyMDQ3LiAgVGhlIGJhc2ljIHN0YXR1cyBsaW5lIHBhcnNpbmcgb25seQogICAgICMgYWNjZXB0cyBpc28tODg1OS0xLgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvY2ssIGRlYnVnbGV2ZWw9MCwgc3RyaWN0PV9zdHJpY3Rfc2VudGluZWwsIG1ldGhvZD1Ob25lLCB1cmw9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvY2ssIGRlYnVnbGV2ZWw9MCwgbWV0aG9kPU5vbmUsIHVybD1Ob25lKToKICAgICAgICAgIyBJZiB0aGUgcmVzcG9uc2UgaW5jbHVkZXMgYSBjb250ZW50LWxlbmd0aCBoZWFkZXIsIHdlIG5lZWQgdG8KICAgICAgICAgIyBtYWtlIHN1cmUgdGhhdCB0aGUgY2xpZW50IGRvZXNuJ3QgcmVhZCBtb3JlIHRoYW4gdGhlCiAgICAgICAgICMgc3BlY2lmaWVkIG51bWJlciBvZiBieXRlcy4gIElmIGl0IGRvZXMsIGl0IHdpbGwgYmxvY2sgdW50aWwKQEAgLTI4OCwxMCArMjg2LDYgQEAKICAgICAgICAgIyBjbGllbnRzIHVubGVzcyB0aGV5IGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4KICAgICAgICAgc2VsZi5mcCA9IHNvY2subWFrZWZpbGUoInJiIikKICAgICAgICAgc2VsZi5kZWJ1Z2xldmVsID0gZGVidWdsZXZlbAotICAgICAgICBpZiBzdHJpY3QgaXMgbm90IF9zdHJpY3Rfc2VudGluZWw6Ci0gICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJ0aGUgJ3N0cmljdCcgYXJndW1lbnQgaXNuJ3Qgc3VwcG9ydGVkIGFueW1vcmU7ICIKLSAgICAgICAgICAgICAgICAiaHR0cC5jbGllbnQgbm93IGFsd2F5cyBhc3N1bWVzIEhUVFAvMS54IGNvbXBsaWFudCBzZXJ2ZXJzLiIsCi0gICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzZWxmLl9tZXRob2QgPSBtZXRob2QKIAogICAgICAgICAjIFRoZSBIVFRQUmVzcG9uc2Ugb2JqZWN0IGlzIHJldHVybmVkIHZpYSB1cmxsaWIuICBUaGUgY2xpZW50cwpAQCAtNzI4LDEzICs3MjIsMTcgQEAKICAgICBkZWZhdWx0X3BvcnQgPSBIVFRQX1BPUlQKICAgICBhdXRvX29wZW4gPSAxCiAgICAgZGVidWdsZXZlbCA9IDAKKyAgICAjIFRDUCBNYXhpbXVtIFNlZ21lbnQgU2l6ZSAoTVNTKSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBUQ1Agc3RhY2sgb24KKyAgICAjIGEgcGVyLWNvbm5lY3Rpb24gYmFzaXMuICBUaGVyZSBpcyBubyBzaW1wbGUgYW5kIGVmZmljaWVudAorICAgICMgcGxhdGZvcm0gaW5kZXBlbmRlbnQgbWVjaGFuaXNtIGZvciBkZXRlcm1pbmluZyB0aGUgTVNTLCBzbworICAgICMgaW5zdGVhZCBhIHJlYXNvbmFibGUgZXN0aW1hdGUgaXMgY2hvc2VuLiAgVGhlIGdldHNvY2tvcHQoKQorICAgICMgaW50ZXJmYWNlIHVzaW5nIHRoZSBUQ1BfTUFYU0VHIHBhcmFtZXRlciBtYXkgYmUgYSBzdWl0YWJsZQorICAgICMgYXBwcm9hY2ggb24gc29tZSBvcGVyYXRpbmcgc3lzdGVtcy4gQSB2YWx1ZSBvZiAxNktpQiBpcyBjaG9zZW4KKyAgICAjIGFzIGEgcmVhc29uYWJsZSBlc3RpbWF0ZSBvZiB0aGUgbWF4aW11bSBNU1MuCisgICAgbXNzID0gMTYzODQKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0PU5vbmUsIHN0cmljdD1fc3RyaWN0X3NlbnRpbmVsLAotICAgICAgICAgICAgICAgICB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwgc291cmNlX2FkZHJlc3M9Tm9uZSk6Ci0gICAgICAgIGlmIHN0cmljdCBpcyBub3QgX3N0cmljdF9zZW50aW5lbDoKLSAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oInRoZSAnc3RyaWN0JyBhcmd1bWVudCBpc24ndCBzdXBwb3J0ZWQgYW55bW9yZTsgIgotICAgICAgICAgICAgICAgICJodHRwLmNsaWVudCBub3cgYWx3YXlzIGFzc3VtZXMgSFRUUC8xLnggY29tcGxpYW50IHNlcnZlcnMuIiwKLSAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBvcnQ9Tm9uZSwgdGltZW91dD1zb2NrZXQuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsCisgICAgICAgICAgICAgICAgIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgogICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CiAgICAgICAgIHNlbGYuc291cmNlX2FkZHJlc3MgPSBzb3VyY2VfYWRkcmVzcwogICAgICAgICBzZWxmLnNvY2sgPSBOb25lCkBAIC04MDAsOCArNzk4LDggQEAKIAogICAgICAgICBpZiBjb2RlICE9IDIwMDoKICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQotICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmVycm9yKCJUdW5uZWwgY29ubmVjdGlvbiBmYWlsZWQ6ICVkICVzIiAlIChjb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlLnN0cmlwKCkpKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiVHVubmVsIGNvbm5lY3Rpb24gZmFpbGVkOiAlZCAlcyIgJSAoY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Uuc3RyaXAoKSkpCiAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICBsaW5lID0gcmVzcG9uc2UuZnAucmVhZGxpbmUoX01BWExJTkUgKyAxKQogICAgICAgICAgICAgaWYgbGVuKGxpbmUpID4gX01BWExJTkU6CkBAIC04OTUsOCArODkzLDExIEBACiAgICAgICAgIGRlbCBzZWxmLl9idWZmZXJbOl0KICAgICAgICAgIyBJZiBtc2cgYW5kIG1lc3NhZ2VfYm9keSBhcmUgc2VudCBpbiBhIHNpbmdsZSBzZW5kKCkgY2FsbCwKICAgICAgICAgIyBpdCB3aWxsIGF2b2lkIHBlcmZvcm1hbmNlIHByb2JsZW1zIGNhdXNlZCBieSB0aGUgaW50ZXJhY3Rpb24KLSAgICAgICAgIyBiZXR3ZWVuIGRlbGF5ZWQgYWNrIGFuZCB0aGUgTmFnbGUgYWxnb3JpdGhtLgotICAgICAgICBpZiBpc2luc3RhbmNlKG1lc3NhZ2VfYm9keSwgYnl0ZXMpOgorICAgICAgICAjIGJldHdlZW4gZGVsYXllZCBhY2sgYW5kIHRoZSBOYWdsZSBhbGdvcml0aG0uIEhvd2V2ZXIsCisgICAgICAgICMgdGhlcmUgaXMgbm8gcGVyZm9ybWFuY2UgZ2FpbiBpZiB0aGUgbWVzc2FnZSBpcyBsYXJnZXIKKyAgICAgICAgIyB0aGFuIE1TUyAoYW5kIHRoZXJlIGlzIGEgbWVtb3J5IHBlbmFsdHkgZm9yIHRoZSBtZXNzYWdlCisgICAgICAgICMgY29weSkuCisgICAgICAgIGlmIGlzaW5zdGFuY2UobWVzc2FnZV9ib2R5LCBieXRlcykgYW5kIGxlbihtZXNzYWdlX2JvZHkpIDwgc2VsZi5tc3M6CiAgICAgICAgICAgICBtc2cgKz0gbWVzc2FnZV9ib2R5CiAgICAgICAgICAgICBtZXNzYWdlX2JvZHkgPSBOb25lCiAgICAgICAgIHNlbGYuc2VuZChtc2cpCkBAIC0xMTY2LDkgKzExNjcsMTAgQEAKICAgICAgICAgIyBYWFggU2hvdWxkIGtleV9maWxlIGFuZCBjZXJ0X2ZpbGUgYmUgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgY29udGV4dD8KIAogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydD1Ob25lLCBrZXlfZmlsZT1Ob25lLCBjZXJ0X2ZpbGU9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgIHN0cmljdD1fc3RyaWN0X3NlbnRpbmVsLCB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwKLSAgICAgICAgICAgICAgICAgICAgIHNvdXJjZV9hZGRyZXNzPU5vbmUsICosIGNvbnRleHQ9Tm9uZSwgY2hlY2tfaG9zdG5hbWU9Tm9uZSk6Ci0gICAgICAgICAgICBzdXBlcihIVFRQU0Nvbm5lY3Rpb24sIHNlbGYpLl9faW5pdF9fKGhvc3QsIHBvcnQsIHN0cmljdCwgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9c29ja2V0Ll9HTE9CQUxfREVGQVVMVF9USU1FT1VULAorICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSwgKiwgY29udGV4dD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgY2hlY2tfaG9zdG5hbWU9Tm9uZSk6CisgICAgICAgICAgICBzdXBlcihIVFRQU0Nvbm5lY3Rpb24sIHNlbGYpLl9faW5pdF9fKGhvc3QsIHBvcnQsIHRpbWVvdXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZV9hZGRyZXNzKQogICAgICAgICAgICAgc2VsZi5rZXlfZmlsZSA9IGtleV9maWxlCiAgICAgICAgICAgICBzZWxmLmNlcnRfZmlsZSA9IGNlcnRfZmlsZQpkaWZmIC0tZ2l0IGEvTGliL2h0dHAvY29va2llamFyLnB5IGIvTGliL2h0dHAvY29va2llamFyLnB5CmluZGV4IGRkYjc5YzUuLmJlODI4ZWIgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL2Nvb2tpZWphci5weQorKysgYi9MaWIvaHR0cC9jb29raWVqYXIucHkKQEAgLTExOTMsOCArMTE5Myw3IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBtYXBwaW5nID0gVHJ1ZQotICAgICAgICAgICAgZm9yIHN1Ym9iaiBpbiBkZWVwdmFsdWVzKG9iaik6Ci0gICAgICAgICAgICAgICAgeWllbGQgc3Vib2JqCisgICAgICAgICAgICB5aWVsZCBmcm9tIGRlZXB2YWx1ZXMob2JqKQogICAgICAgICBpZiBub3QgbWFwcGluZzoKICAgICAgICAgICAgIHlpZWxkIG9iagogCkBAIC0xNzMxLDggKzE3MzAsOCBAQAogICAgICAgICByZXR1cm4gIjwlc1slc10+IiAlIChzZWxmLl9fY2xhc3NfXywgIiwgIi5qb2luKHIpKQogCiAKLSMgZGVyaXZlcyBmcm9tIElPRXJyb3IgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggUHl0aG9uIDIuNC4wCi1jbGFzcyBMb2FkRXJyb3IoSU9FcnJvcik6IHBhc3MKKyMgZGVyaXZlcyBmcm9tIE9TRXJyb3IgZm9yIGJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHdpdGggUHl0aG9uIDIuNC4wCitjbGFzcyBMb2FkRXJyb3IoT1NFcnJvcik6IHBhc3MKIAogY2xhc3MgRmlsZUNvb2tpZUphcihDb29raWVKYXIpOgogICAgICIiIkNvb2tpZUphciB0aGF0IGNhbiBiZSBsb2FkZWQgZnJvbSBhbmQgc2F2ZWQgdG8gYSBmaWxlLiIiIgpAQCAtMTc2MiwxNyArMTc2MSwxNCBAQAogICAgICAgICAgICAgaWYgc2VsZi5maWxlbmFtZSBpcyBub3QgTm9uZTogZmlsZW5hbWUgPSBzZWxmLmZpbGVuYW1lCiAgICAgICAgICAgICBlbHNlOiByYWlzZSBWYWx1ZUVycm9yKE1JU1NJTkdfRklMRU5BTUVfVEVYVCkKIAotICAgICAgICBmID0gb3BlbihmaWxlbmFtZSkKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIGY6CiAgICAgICAgICAgICBzZWxmLl9yZWFsbHlfbG9hZChmLCBmaWxlbmFtZSwgaWdub3JlX2Rpc2NhcmQsIGlnbm9yZV9leHBpcmVzKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCiAKICAgICBkZWYgcmV2ZXJ0KHNlbGYsIGZpbGVuYW1lPU5vbmUsCiAgICAgICAgICAgICAgICBpZ25vcmVfZGlzY2FyZD1GYWxzZSwgaWdub3JlX2V4cGlyZXM9RmFsc2UpOgogICAgICAgICAiIiJDbGVhciBhbGwgY29va2llcyBhbmQgcmVsb2FkIGNvb2tpZXMgZnJvbSBhIHNhdmVkIGZpbGUuCiAKLSAgICAgICAgUmFpc2VzIExvYWRFcnJvciAob3IgSU9FcnJvcikgaWYgcmV2ZXJzaW9uIGlzIG5vdCBzdWNjZXNzZnVsOyB0aGUKKyAgICAgICAgUmFpc2VzIExvYWRFcnJvciAob3IgT1NFcnJvcikgaWYgcmV2ZXJzaW9uIGlzIG5vdCBzdWNjZXNzZnVsOyB0aGUKICAgICAgICAgb2JqZWN0J3Mgc3RhdGUgd2lsbCBub3QgYmUgYWx0ZXJlZCBpZiB0aGlzIGhhcHBlbnMuCiAKICAgICAgICAgIiIiCkBAIC0xNzg3LDcgKzE3ODMsNyBAQAogICAgICAgICAgICAgc2VsZi5fY29va2llcyA9IHt9CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5sb2FkKGZpbGVuYW1lLCBpZ25vcmVfZGlzY2FyZCwgaWdub3JlX2V4cGlyZXMpCi0gICAgICAgICAgICBleGNlcHQgKExvYWRFcnJvciwgSU9FcnJvcik6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBzZWxmLl9jb29raWVzID0gb2xkX3N0YXRlCiAgICAgICAgICAgICAgICAgcmFpc2UKIApAQCAtMTg1NywxNSArMTg1MywxMiBAQAogICAgICAgICAgICAgaWYgc2VsZi5maWxlbmFtZSBpcyBub3QgTm9uZTogZmlsZW5hbWUgPSBzZWxmLmZpbGVuYW1lCiAgICAgICAgICAgICBlbHNlOiByYWlzZSBWYWx1ZUVycm9yKE1JU1NJTkdfRklMRU5BTUVfVEVYVCkKIAotICAgICAgICBmID0gb3BlbihmaWxlbmFtZSwgInciKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInciKSBhcyBmOgogICAgICAgICAgICAgIyBUaGVyZSByZWFsbHkgaXNuJ3QgYW4gTFdQIENvb2tpZXMgMi4wIGZvcm1hdCwgYnV0IHRoaXMgaW5kaWNhdGVzCiAgICAgICAgICAgICAjIHRoYXQgdGhlcmUgaXMgZXh0cmEgaW5mb3JtYXRpb24gaW4gaGVyZSAoZG9tYWluX2RvdCBhbmQKICAgICAgICAgICAgICMgcG9ydF9zcGVjKSB3aGlsZSBzdGlsbCBiZWluZyBjb21wYXRpYmxlIHdpdGggbGlid3d3LXBlcmwsIEkgaG9wZS4KICAgICAgICAgICAgIGYud3JpdGUoIiNMV1AtQ29va2llcy0yLjBcbiIpCiAgICAgICAgICAgICBmLndyaXRlKHNlbGYuYXNfbHdwX3N0cihpZ25vcmVfZGlzY2FyZCwgaWdub3JlX2V4cGlyZXMpKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCiAKICAgICBkZWYgX3JlYWxseV9sb2FkKHNlbGYsIGYsIGZpbGVuYW1lLCBpZ25vcmVfZGlzY2FyZCwgaWdub3JlX2V4cGlyZXMpOgogICAgICAgICBtYWdpYyA9IGYucmVhZGxpbmUoKQpAQCAtMTkzOCw4ICsxOTMxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlnbm9yZV9leHBpcmVzIGFuZCBjLmlzX2V4cGlyZWQobm93KToKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0X2Nvb2tpZShjKQotCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBfd2Fybl91bmhhbmRsZWRfZXhjZXB0aW9uKCkKQEAgLTIwNDUsNyArMjAzNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgc2VsZi5zZXRfY29va2llKGMpCiAKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIF93YXJuX3VuaGFuZGxlZF9leGNlcHRpb24oKQpAQCAtMjA1Nyw4ICsyMDQ5LDcgQEAKICAgICAgICAgICAgIGlmIHNlbGYuZmlsZW5hbWUgaXMgbm90IE5vbmU6IGZpbGVuYW1lID0gc2VsZi5maWxlbmFtZQogICAgICAgICAgICAgZWxzZTogcmFpc2UgVmFsdWVFcnJvcihNSVNTSU5HX0ZJTEVOQU1FX1RFWFQpCiAKLSAgICAgICAgZiA9IG9wZW4oZmlsZW5hbWUsICJ3IikKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJ3IikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoc2VsZi5oZWFkZXIpCiAgICAgICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQogICAgICAgICAgICAgZm9yIGNvb2tpZSBpbiBzZWxmOgpAQCAtMjA4Nyw1ICsyMDc4LDMgQEAKICAgICAgICAgICAgICAgICAgICAgIlx0Ii5qb2luKFtjb29raWUuZG9tYWluLCBpbml0aWFsX2RvdCwgY29va2llLnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJlLCBleHBpcmVzLCBuYW1lLCB2YWx1ZV0pKwogICAgICAgICAgICAgICAgICAgICAiXG4iKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCmRpZmYgLS1naXQgYS9MaWIvaHR0cC9zZXJ2ZXIucHkgYi9MaWIvaHR0cC9zZXJ2ZXIucHkKaW5kZXggYzRhYzcwMy4uZTQ3ZTAzNCAxMDA2NDQKLS0tIGEvTGliL2h0dHAvc2VydmVyLnB5CisrKyBiL0xpYi9odHRwL3NlcnZlci5weQpAQCAtNDAxLDEyICs0MDEsMTcgQEAKICAgICAgICAgd2hpbGUgbm90IHNlbGYuY2xvc2VfY29ubmVjdGlvbjoKICAgICAgICAgICAgIHNlbGYuaGFuZGxlX29uZV9yZXF1ZXN0KCkKIAotICAgIGRlZiBzZW5kX2Vycm9yKHNlbGYsIGNvZGUsIG1lc3NhZ2U9Tm9uZSk6CisgICAgZGVmIHNlbmRfZXJyb3Ioc2VsZiwgY29kZSwgbWVzc2FnZT1Ob25lLCBleHBsYWluPU5vbmUpOgogICAgICAgICAiIiJTZW5kIGFuZCBsb2cgYW4gZXJyb3IgcmVwbHkuCiAKLSAgICAgICAgQXJndW1lbnRzIGFyZSB0aGUgZXJyb3IgY29kZSwgYW5kIGEgZGV0YWlsZWQgbWVzc2FnZS4KLSAgICAgICAgVGhlIGRldGFpbGVkIG1lc3NhZ2UgZGVmYXVsdHMgdG8gdGhlIHNob3J0IGVudHJ5IG1hdGNoaW5nIHRoZQotICAgICAgICByZXNwb25zZSBjb2RlLgorICAgICAgICBBcmd1bWVudHMgYXJlCisgICAgICAgICogY29kZTogICAgYW4gSFRUUCBlcnJvciBjb2RlCisgICAgICAgICAgICAgICAgICAgMyBkaWdpdHMKKyAgICAgICAgKiBtZXNzYWdlOiBhIHNpbXBsZSBvcHRpb25hbCAxIGxpbmUgcmVhc29uIHBocmFzZS4KKyAgICAgICAgICAgICAgICAgICAqKCBIVEFCIC8gU1AgLyBWQ0hBUiAvICV4ODAtRkYgKQorICAgICAgICAgICAgICAgICAgIGRlZmF1bHRzIHRvIHNob3J0IGVudHJ5IG1hdGNoaW5nIHRoZSByZXNwb25zZSBjb2RlCisgICAgICAgICogZXhwbGFpbjogYSBkZXRhaWxlZCBtZXNzYWdlIGRlZmF1bHRzIHRvIHRoZSBsb25nIGVudHJ5CisgICAgICAgICAgICAgICAgICAgbWF0Y2hpbmcgdGhlIHJlc3BvbnNlIGNvZGUuCiAKICAgICAgICAgVGhpcyBzZW5kcyBhbiBlcnJvciByZXNwb25zZSAoc28gaXQgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFueQogICAgICAgICBvdXRwdXQgaGFzIGJlZW4gZ2VuZXJhdGVkKSwgbG9ncyB0aGUgZXJyb3IsIGFuZCBmaW5hbGx5IHNlbmRzCkBAIC00MjAsMTcgKzQyNSwyMCBAQAogICAgICAgICAgICAgc2hvcnRtc2csIGxvbmdtc2cgPSAnPz8/JywgJz8/PycKICAgICAgICAgaWYgbWVzc2FnZSBpcyBOb25lOgogICAgICAgICAgICAgbWVzc2FnZSA9IHNob3J0bXNnCi0gICAgICAgIGV4cGxhaW4gPSBsb25nbXNnCisgICAgICAgIGlmIGV4cGxhaW4gaXMgTm9uZToKKyAgICAgICAgICAgIGV4cGxhaW4gPSBsb25nbXNnCiAgICAgICAgIHNlbGYubG9nX2Vycm9yKCJjb2RlICVkLCBtZXNzYWdlICVzIiwgY29kZSwgbWVzc2FnZSkKICAgICAgICAgIyB1c2luZyBfcXVvdGVfaHRtbCB0byBwcmV2ZW50IENyb3NzIFNpdGUgU2NyaXB0aW5nIGF0dGFja3MgKHNlZSBidWcgIzExMDAyMDEpCiAgICAgICAgIGNvbnRlbnQgPSAoc2VsZi5lcnJvcl9tZXNzYWdlX2Zvcm1hdCAlCi0gICAgICAgICAgICAgICAgICAgeydjb2RlJzogY29kZSwgJ21lc3NhZ2UnOiBfcXVvdGVfaHRtbChtZXNzYWdlKSwgJ2V4cGxhaW4nOiBleHBsYWlufSkKKyAgICAgICAgICAgICAgICAgICB7J2NvZGUnOiBjb2RlLCAnbWVzc2FnZSc6IF9xdW90ZV9odG1sKG1lc3NhZ2UpLCAnZXhwbGFpbic6IF9xdW90ZV9odG1sKGV4cGxhaW4pfSkKKyAgICAgICAgYm9keSA9IGNvbnRlbnQuZW5jb2RlKCdVVEYtOCcsICdyZXBsYWNlJykKICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKGNvZGUsIG1lc3NhZ2UpCiAgICAgICAgIHNlbGYuc2VuZF9oZWFkZXIoIkNvbnRlbnQtVHlwZSIsIHNlbGYuZXJyb3JfY29udGVudF90eXBlKQogICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb25uZWN0aW9uJywgJ2Nsb3NlJykKKyAgICAgICAgc2VsZi5zZW5kX2hlYWRlcignQ29udGVudC1MZW5ndGgnLCBpbnQobGVuKGJvZHkpKSkKICAgICAgICAgc2VsZi5lbmRfaGVhZGVycygpCiAgICAgICAgIGlmIHNlbGYuY29tbWFuZCAhPSAnSEVBRCcgYW5kIGNvZGUgPj0gMjAwIGFuZCBjb2RlIG5vdCBpbiAoMjA0LCAzMDQpOgotICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShjb250ZW50LmVuY29kZSgnVVRGLTgnLCAncmVwbGFjZScpKQorICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShib2R5KQogCiAgICAgZGVmIHNlbmRfcmVzcG9uc2Uoc2VsZiwgY29kZSwgbWVzc2FnZT1Ob25lKToKICAgICAgICAgIiIiQWRkIHRoZSByZXNwb25zZSBoZWFkZXIgdG8gdGhlIGhlYWRlcnMgYnVmZmVyIGFuZCBsb2cgdGhlCkBAIC03MDksNyArNzE3LDcgQEAKICAgICAgICAgY3R5cGUgPSBzZWxmLmd1ZXNzX3R5cGUocGF0aCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZiA9IG9wZW4ocGF0aCwgJ3JiJykKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQwNCwgIkZpbGUgbm90IGZvdW5kIikKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSgyMDApCkBAIC03MzAsNyArNzM4LDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxpc3QgPSBvcy5saXN0ZGlyKHBhdGgpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0LCAiTm8gcGVybWlzc2lvbiB0byBsaXN0IGRpcmVjdG9yeSIpCiAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICBsaXN0LnNvcnQoa2V5PWxhbWJkYSBhOiBhLmxvd2VyKCkpCkBAIC0xMTIxLDcgKzExMjksNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgb3Muc2V0dWlkKG5vYm9keSkKLSAgICAgICAgICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICBvcy5kdXAyKHNlbGYucmZpbGUuZmlsZW5vKCksIDApCiAgICAgICAgICAgICAgICAgb3MuZHVwMihzZWxmLndmaWxlLmZpbGVubygpLCAxKQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvRWRpdG9yV2luZG93LnB5IGIvTGliL2lkbGVsaWIvRWRpdG9yV2luZG93LnB5CmluZGV4IDM0M2I2ZTQuLmFjNWUwNjkgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL0VkaXRvcldpbmRvdy5weQorKysgYi9MaWIvaWRsZWxpYi9FZGl0b3JXaW5kb3cucHkKQEAgLTU0OCw3ICs1NDgsNyBAQAogICAgICAgICBpZiBzeXMucGxhdGZvcm1bOjNdID09ICd3aW4nOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG9zLnN0YXJ0ZmlsZShzZWxmLmhlbHBfdXJsKQotICAgICAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvciBhcyB3aHk6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyB3aHk6CiAgICAgICAgICAgICAgICAgdGtNZXNzYWdlQm94LnNob3dlcnJvcih0aXRsZT0nRG9jdW1lbnQgU3RhcnQgRmFpbHVyZScsCiAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9c3RyKHdoeSksIHBhcmVudD1zZWxmLnRleHQpCiAgICAgICAgIGVsc2U6CkBAIC04NTgsNyArODU4LDcgQEAKICAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybVs6M10gPT0gJ3dpbic6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBvcy5zdGFydGZpbGUoaGVscGZpbGUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvciBhcyB3aHk6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgd2h5OgogICAgICAgICAgICAgICAgICAgICB0a01lc3NhZ2VCb3guc2hvd2Vycm9yKHRpdGxlPSdEb2N1bWVudCBTdGFydCBGYWlsdXJlJywKICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9c3RyKHdoeSksIHBhcmVudD1zZWxmLnRleHQpCiAgICAgICAgICAgICBlbHNlOgpAQCAtODkyLDcgKzg5Miw3IEBACiAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5yZWNlbnRfZmlsZXNfcGF0aCwgJ3cnLAogICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2Rpbmc9J3V0Zl84JywgZXJyb3JzPSdyZXBsYWNlJykgYXMgcmZfZmlsZToKICAgICAgICAgICAgICAgICByZl9maWxlLndyaXRlbGluZXMocmZfbGlzdCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLnJvb3QsICJyZWNlbnRmaWxlbGlzdF9lcnJvcl9kaXNwbGF5ZWQiLCBGYWxzZSk6CiAgICAgICAgICAgICAgICAgc2VsZi5yb290LnJlY2VudGZpbGVsaXN0X2Vycm9yX2Rpc3BsYXllZCA9IFRydWUKICAgICAgICAgICAgICAgICB0a01lc3NhZ2VCb3guc2hvd2Vycm9yKHRpdGxlPSdJRExFIEVycm9yJywKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL0ZpbGVMaXN0LnB5IGIvTGliL2lkbGVsaWIvRmlsZUxpc3QucHkKaW5kZXggMzdhMzM3ZS4uYTk5ODlhOCAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvRmlsZUxpc3QucHkKKysrIGIvTGliL2lkbGVsaWIvRmlsZUxpc3QucHkKQEAgLTEwMyw3ICsxMDMsNyBAQAogICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2FicyhmaWxlbmFtZSk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcHdkID0gb3MuZ2V0Y3dkKCkKLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ocHdkLCBmaWxlbmFtZSkKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL0dyZXBEaWFsb2cucHkgYi9MaWIvaWRsZWxpYi9HcmVwRGlhbG9nLnB5CmluZGV4IDI3ZmNjMzMuLjFkOGQ1MWIgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL0dyZXBEaWFsb2cucHkKKysrIGIvTGliL2lkbGVsaWIvR3JlcERpYWxvZy5weQpAQCAtODIsNyArODIsNyBAQAogICAgICAgICBmb3IgZm4gaW4gbGlzdDoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBmID0gb3BlbihmbiwgZXJyb3JzPSdyZXBsYWNlJykKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgICAgICBwcmludChtc2cpCiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGxpbmVubyA9IDAKQEAgLTExMCw3ICsxMTAsNyBAQAogICAgIGRlZiBmaW5kZmlsZXMoc2VsZiwgZGlyLCBiYXNlLCByZWMpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoZGlyIG9yIG9zLmN1cmRpcikKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgcHJpbnQobXNnKQogICAgICAgICAgICAgcmV0dXJuIFtdCiAgICAgICAgIGxpc3QgPSBbXQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvSU9CaW5kaW5nLnB5IGIvTGliL2lkbGVsaWIvSU9CaW5kaW5nLnB5CmluZGV4IDlmZTA3MDEuLmRkYTM2MzQgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL0lPQmluZGluZy5weQorKysgYi9MaWIvaWRsZWxpYi9JT0JpbmRpbmcucHkKQEAgLTIxMyw3ICsyMTMsNyBAQAogICAgICAgICAgICAgZi5zZWVrKDApCiAgICAgICAgICAgICBieXRlcyA9IGYucmVhZCgpCiAgICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICB0a01lc3NhZ2VCb3guc2hvd2Vycm9yKCJJL08gRXJyb3IiLCBzdHIobXNnKSwgbWFzdGVyPXNlbGYudGV4dCkKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICBjaGFycywgY29udmVydGVkID0gc2VsZi5fZGVjb2RlKHR3b19saW5lcywgYnl0ZXMpCkBAIC0zNzgsNyArMzc4LDcgQEAKICAgICAgICAgICAgIGYuZmx1c2goKQogICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgIHRrTWVzc2FnZUJveC5zaG93ZXJyb3IoIkkvTyBFcnJvciIsIHN0cihtc2cpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXN0ZXI9c2VsZi50ZXh0KQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC01MDQsNyArNTA0LDcgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBwd2QgPSBvcy5nZXRjd2QoKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcHdkID0gIiIKICAgICAgICAgICAgIHJldHVybiBwd2QsICIiCiAKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL05FV1MudHh0IGIvTGliL2lkbGVsaWIvTkVXUy50eHQKaW5kZXggNTQ1MDcwMS4uNDc4YzE4MyAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvTkVXUy50eHQKKysrIGIvTGliL2lkbGVsaWIvTkVXUy50eHQKQEAgLTEsMTIgKzEsMTAgQEAKLVdoYXQncyBOZXcgaW4gSURMRSAzLjMuMj8KK1doYXQncyBOZXcgaW4gSURMRSAzLjQuMD8KID09PT09PT09PT09PT09PT09PT09PT09PT0KIAogLSBJc3N1ZSAjMTczOTA6IERpc3BsYXkgUHl0aG9uIHZlcnNpb24gb24gSWRsZSB0aXRsZSBiYXIuCiAgIEluaXRpYWwgcGF0Y2ggYnkgRWRtb25kIEJ1cm5ldHQuCiAKLQotV2hhdCdzIE5ldyBpbiBJRExFIDMuMy4xPwotPT09PT09PT09PT09PT09PT09PT09PT09PQorLSBJc3N1ZSAjNTA2NjogVXBkYXRlIElETEUgZG9jcy4gUGF0Y2ggYnkgVG9kZCBSb3ZpdG8uCiAKIC0gSXNzdWUgIzE3NjI1OiBDbG9zZSB0aGUgcmVwbGFjZSBkaWFsb2cgYWZ0ZXIgaXQgaXMgdXNlZC4KIApkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvT3V0cHV0V2luZG93LnB5IGIvTGliL2lkbGVsaWIvT3V0cHV0V2luZG93LnB5CmluZGV4IDc0NWNjZDIuLjlkYWNjNDkgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL091dHB1dFdpbmRvdy5weQorKysgYi9MaWIvaWRsZWxpYi9PdXRwdXRXaW5kb3cucHkKQEAgLTEwNiw3ICsxMDYsNyBAQAogICAgICAgICAgICAgICAgICAgICBmID0gb3BlbihmaWxlbmFtZSwgInIiKQogICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9MaWIvaWRsZWxpYi9QYXRoQnJvd3Nlci5weSBiL0xpYi9pZGxlbGliL1BhdGhCcm93c2VyLnB5CmluZGV4IDU1YmYxYWEuLmFiMDVjNjcgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL1BhdGhCcm93c2VyLnB5CisrKyBiL0xpYi9pZGxlbGliL1BhdGhCcm93c2VyLnB5CkBAIC00NSw3ICs0NSw3IEBACiAgICAgZGVmIEdldFN1Ykxpc3Qoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihzZWxmLmRpciBvciBvcy5jdXJkaXIpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gW10KICAgICAgICAgcGFja2FnZXMgPSBbXQogICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL1B5U2hlbGwucHkgYi9MaWIvaWRsZWxpYi9QeVNoZWxsLnB5CmluZGV4IDE3N2U0OWUuLjEzZGQ4ZTEgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL1B5U2hlbGwucHkKKysrIGIvTGliL2lkbGVsaWIvUHlTaGVsbC5weQpAQCAtNTksNyArNTksNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmaWxlLndyaXRlKHdhcm5pbmdzLmZvcm1hdHdhcm5pbmcobWVzc2FnZSwgY2F0ZWdvcnksIGZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVubywgbGluZT1saW5lKSkKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcyAgIyMgZmlsZSAocHJvYmFibHkgX19zdGRlcnJfXykgaXMgaW52YWxpZCwgd2FybmluZyBkcm9wcGVkLgogICAgIHdhcm5pbmdzLnNob3d3YXJuaW5nID0gaWRsZV9zaG93d2FybmluZwogICAgIGRlZiBpZGxlX2Zvcm1hdHdhcm5pbmcobWVzc2FnZSwgY2F0ZWdvcnksIGZpbGVuYW1lLCBsaW5lbm8sIGxpbmU9Tm9uZSk6CkBAIC0yMTMsNyArMjEzLDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYuYnJlYWtwb2ludFBhdGgsICJyIikgYXMgZnA6CiAgICAgICAgICAgICAgICAgbGluZXMgPSBmcC5yZWFkbGluZXMoKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBsaW5lcyA9IFtdCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmJyZWFrcG9pbnRQYXRoLCAidyIpIGFzIG5ld19maWxlOgpAQCAtMjI0LDcgKzIyNCw3IEBACiAgICAgICAgICAgICAgICAgYnJlYWtzID0gc2VsZi5icmVha3BvaW50cwogICAgICAgICAgICAgICAgIGlmIGJyZWFrczoKICAgICAgICAgICAgICAgICAgICAgbmV3X2ZpbGUud3JpdGUoZmlsZW5hbWUgKyAnPScgKyBzdHIoYnJlYWtzKSArICdcbicpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGVycjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZi5yb290LCAiYnJlYWtwb2ludF9lcnJvcl9kaXNwbGF5ZWQiLCBGYWxzZSk6CiAgICAgICAgICAgICAgICAgc2VsZi5yb290LmJyZWFrcG9pbnRfZXJyb3JfZGlzcGxheWVkID0gVHJ1ZQogICAgICAgICAgICAgICAgIHRrTWVzc2FnZUJveC5zaG93ZXJyb3IodGl0bGU9J0lETEUgRXJyb3InLApAQCAtMzk4LDcgKzM5OCw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5ycGNjbHQgPSBNeVJQQ0NsaWVudChhZGRyKQogICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmRpc3BsYXlfcG9ydF9iaW5kaW5nX2Vycm9yKCkKQEAgLTUzMiw3ICs1MzIsNyBAQAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJlc3BvbnNlID0gY2x0LnBvbGxyZXNwb25zZShzZWxmLmFjdGl2ZV9zZXEsIHdhaXQ9MC4wNSkKLSAgICAgICAgZXhjZXB0IChFT0ZFcnJvciwgSU9FcnJvciwgS2V5Ym9hcmRJbnRlcnJ1cHQpOgorICAgICAgICBleGNlcHQgKEVPRkVycm9yLCBPU0Vycm9yLCBLZXlib2FyZEludGVycnVwdCk6CiAgICAgICAgICAgICAjIGxvc3QgY29ubmVjdGlvbiBvciBzdWJwcm9jZXNzIHRlcm1pbmF0ZWQgaXRzZWxmLCByZXN0YXJ0CiAgICAgICAgICAgICAjIFt0aGUgS0JJIGlzIGZyb20gcnBjLlNvY2tldElPLmhhbmRsZV9FT0YoKV0KICAgICAgICAgICAgIGlmIHNlbGYudGtjb25zb2xlLmNsb3Npbmc6CkBAIC0xMDE4LDcgKzEwMTgsMTAgQEAKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG5vc3ViID0gIj09PT0gTm8gU3VicHJvY2VzcyA9PT09IgorICAgICAgICAgICAgbm9zdWIgPSAoIj09PT0gTm8gU3VicHJvY2VzcyA9PT09XG5cbiIgKworICAgICAgICAgICAgICAgICAgICAiV0FSTklORzogUnVubmluZyBJRExFIHdpdGhvdXQgYSBTdWJwcm9jZXNzIGlzIGRlcHJlY2F0ZWRcbiIgKworICAgICAgICAgICAgICAgICAgICAiYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGxhdGVyIHZlcnNpb24uIFNlZSBIZWxwL0lETEUgSGVscFxuIiArCisgICAgICAgICAgICAgICAgICAgICJmb3IgZGV0YWlscy5cblxuIikKICAgICAgICAgICAgIHN5cy5kaXNwbGF5aG9vayA9IHJwYy5kaXNwbGF5aG9vawogCiAgICAgICAgIHNlbGYud3JpdGUoIlB5dGhvbiAlcyBvbiAlc1xuJXNcbiVzIiAlCkBAIC0xMzc2LDcgKzEzNzksOCBAQAogICAgICAgIGlkbGUgIFstZG5zXSBbLXQgdGl0bGVdIC0gW2FyZ10qCiAKICAgLWggICAgICAgICBwcmludCB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhpdAotICAtbiAgICAgICAgIHJ1biBJRExFIHdpdGhvdXQgYSBzdWJwcm9jZXNzIChzZWUgSGVscC9JRExFIEhlbHAgZm9yIGRldGFpbHMpCisgIC1uICAgICAgICAgcnVuIElETEUgd2l0aG91dCBhIHN1YnByb2Nlc3MgKERFUFJFQ0FURUQsCisgICAgICAgICAgICAgc2VlIEhlbHAvSURMRSBIZWxwIGZvciBkZXRhaWxzKQogCiBUaGUgZm9sbG93aW5nIG9wdGlvbnMgd2lsbCBvdmVycmlkZSB0aGUgSURMRSAnc2V0dGluZ3MnIGNvbmZpZ3VyYXRpb246CiAKQEAgLTE0NTMsNiArMTQ1Nyw4IEBACiAgICAgICAgIGlmIG8gPT0gJy1pJzoKICAgICAgICAgICAgIGVuYWJsZV9zaGVsbCA9IFRydWUKICAgICAgICAgaWYgbyA9PSAnLW4nOgorICAgICAgICAgICAgcHJpbnQoIiBXYXJuaW5nOiBydW5uaW5nIElETEUgd2l0aG91dCBhIHN1YnByb2Nlc3MgaXMgZGVwcmVjYXRlZC4iLAorICAgICAgICAgICAgICAgICAgZmlsZT1zeXMuc3RkZXJyKQogICAgICAgICAgICAgdXNlX3N1YnByb2Nlc3MgPSBGYWxzZQogICAgICAgICBpZiBvID09ICctcic6CiAgICAgICAgICAgICBzY3JpcHQgPSBhCmRpZmYgLS1naXQgYS9MaWIvaWRsZWxpYi9UcmVlV2lkZ2V0LnB5IGIvTGliL2lkbGVsaWIvVHJlZVdpZGdldC5weQppbmRleCBkNGU1MjRiLi44MzM4OTZjIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9UcmVlV2lkZ2V0LnB5CisrKyBiL0xpYi9pZGxlbGliL1RyZWVXaWRnZXQucHkKQEAgLTM4Miw3ICszODIsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5yZW5hbWUoc2VsZi5wYXRoLCBuZXdwYXRoKQogICAgICAgICAgICAgc2VsZi5wYXRoID0gbmV3cGF0aAotICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgZGVmIEdldEljb25OYW1lKHNlbGYpOgpAQCAtMzk1LDcgKzM5NSw3IEBACiAgICAgZGVmIEdldFN1Ykxpc3Qoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihzZWxmLnBhdGgpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gW10KICAgICAgICAgbmFtZXMuc29ydChrZXkgPSBvcy5wYXRoLm5vcm1jYXNlKQogICAgICAgICBzdWJsaXN0ID0gW10KZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHkgYi9MaWIvaWRsZWxpYi9jb25maWdIYW5kbGVyLnB5CmluZGV4IDViZjI2NjguLmVhMjAxMGUgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHkKKysrIGIvTGliL2lkbGVsaWIvY29uZmlnSGFuZGxlci5weQpAQCAtMTQyLDcgKzE0Miw3IEBACiAgICAgICAgICAgICBmbmFtZSA9IHNlbGYuZmlsZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGNmZ0ZpbGUgPSBvcGVuKGZuYW1lLCAndycpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIG9zLnVubGluayhmbmFtZSkKICAgICAgICAgICAgICAgICBjZmdGaWxlID0gb3BlbihmbmFtZSwgJ3cnKQogICAgICAgICAgICAgd2l0aCBjZmdGaWxlOgpAQCAtMjA3LDcgKzIwNyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyRGlyKycsXG4gYnV0IHRoZSBwYXRoIGRvZXMgbm90IGV4aXN0LlxuJykKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUod2FybikKLSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgIHVzZXJEaXIgPSAnficKICAgICAgICAgaWYgdXNlckRpciA9PSAifiI6ICMgc3RpbGwgbm8gcGF0aCB0byBob21lIQpAQCAtMjE3LDcgKzIxNyw3IEBACiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh1c2VyRGlyKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy5ta2Rpcih1c2VyRGlyKQotICAgICAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBJT0Vycm9yKToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHdhcm4gPSAoJ1xuIFdhcm5pbmc6IHVuYWJsZSB0byBjcmVhdGUgdXNlciBjb25maWcgZGlyZWN0b3J5XG4nKwogICAgICAgICAgICAgICAgICAgICAgICAgdXNlckRpcisnXG4gQ2hlY2sgcGF0aCBhbmQgcGVybWlzc2lvbnMuXG4gRXhpdGluZyFcblxuJykKICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHdhcm4pCkBAIC0yNTEsNyArMjUxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF3PXJhdykpKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUod2FybmluZykKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzZWxmLmRlZmF1bHRDZmdbY29uZmlnVHlwZV0uaGFzX29wdGlvbihzZWN0aW9uLG9wdGlvbik6CkBAIC0yNjgsNyArMjY4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbiwgc2VjdGlvbiwgZGVmYXVsdCkpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSh3YXJuaW5nKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHJldHVybiBkZWZhdWx0CiAKQEAgLTM4MCw3ICszODAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVsZW1lbnQsIHRoZW1lTmFtZSwgdGhlbWVbZWxlbWVudF0pKQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSh3YXJuaW5nKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBjb2xvdXI9Y2ZnUGFyc2VyLkdldCh0aGVtZU5hbWUsZWxlbWVudCxkZWZhdWx0PXRoZW1lW2VsZW1lbnRdKQogICAgICAgICAgICAgdGhlbWVbZWxlbWVudF09Y29sb3VyCkBAIC02MzcsNyArNjM3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQsIGtleVNldE5hbWUsIGtleUJpbmRpbmdzW2V2ZW50XSkpCiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUod2FybmluZykKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICByZXR1cm4ga2V5QmluZGluZ3MKIApkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvaGVscC50eHQgYi9MaWIvaWRsZWxpYi9oZWxwLnR4dAppbmRleCA5MTlhYzcyLi5iNzBjNzlmIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9oZWxwLnR4dAorKysgYi9MaWIvaWRsZWxpYi9oZWxwLnR4dApAQCAtMSwxNDIgKzEsMTg1IEBACiBbU2VlIHRoZSBlbmQgb2YgdGhpcyBmaWxlIGZvciAqKiBUSVBTICoqIG9uIHVzaW5nIElETEUgISFdCiAKLUNsaWNrIG9uIHRoZSBkb3R0ZWQgbGluZSBhdCB0aGUgdG9wIG9mIGEgbWVudSB0byAidGVhciBpdCBvZmYiOiBhCi1zZXBhcmF0ZSB3aW5kb3cgY29udGFpbmluZyB0aGUgbWVudSBpcyBjcmVhdGVkLgorSURMRSBpcyB0aGUgUHl0aG9uIElERSBidWlsdCB3aXRoIHRoZSB0a2ludGVyIEdVSSB0b29sa2l0LgogCi1GaWxlIE1lbnU6CitJRExFIGhhcyB0aGUgZm9sbG93aW5nIGZlYXR1cmVzOgorLWNvZGVkIGluIDEwMCUgcHVyZSBQeXRob24sIHVzaW5nIHRoZSB0a2ludGVyIEdVSSB0b29sa2l0CistY3Jvc3MtcGxhdGZvcm06IHdvcmtzIG9uIFdpbmRvd3MsIFVuaXgsIGFuZCBPUyBYCistbXVsdGktd2luZG93IHRleHQgZWRpdG9yIHdpdGggbXVsdGlwbGUgdW5kbywgUHl0aG9uIGNvbG9yaXppbmcsIHNtYXJ0IGluZGVudCwKK2NhbGwgdGlwcywgYW5kIG1hbnkgb3RoZXIgZmVhdHVyZXMKKy1QeXRob24gc2hlbGwgd2luZG93IChhLmsuYSBpbnRlcmFjdGl2ZSBpbnRlcnByZXRlcikKKy1kZWJ1Z2dlciAobm90IGNvbXBsZXRlLCBidXQgeW91IGNhbiBzZXQgYnJlYWtwb2ludHMsIHZpZXcgYW5kIHN0ZXApCiAKLQlOZXcgV2luZG93ICAgICAgIC0tIENyZWF0ZSBhIG5ldyBlZGl0aW5nIHdpbmRvdwotCU9wZW4uLi4gICAgICAgICAgLS0gT3BlbiBhbiBleGlzdGluZyBmaWxlCi0JUmVjZW50IEZpbGVzLi4uICAtLSBPcGVuIGEgbGlzdCBvZiByZWNlbnQgZmlsZXMKLQlPcGVuIE1vZHVsZS4uLiAgIC0tIE9wZW4gYW4gZXhpc3RpbmcgbW9kdWxlIChzZWFyY2hlcyBzeXMucGF0aCkKLQlDbGFzcyBCcm93c2VyICAgIC0tIFNob3cgY2xhc3NlcyBhbmQgbWV0aG9kcyBpbiBjdXJyZW50IGZpbGUKLQlQYXRoIEJyb3dzZXIgICAgIC0tIFNob3cgc3lzLnBhdGggZGlyZWN0b3JpZXMsIG1vZHVsZXMsIGNsYXNzZXMKK01lbnVzOgorCitJRExFIGhhcyB0d28gd2luZG93IHR5cGVzIHRoZSBTaGVsbCB3aW5kb3cgYW5kIHRoZSBFZGl0b3Igd2luZG93LiBJdCBpcworcG9zc2libGUgdG8gaGF2ZSBtdWx0aXBsZSBlZGl0b3Igd2luZG93cyBzaW11bHRhbmVvdXNseS4gSURMRSdzCittZW51cyBkeW5hbWljYWxseSBjaGFuZ2UgYmFzZWQgb24gd2hpY2ggd2luZG93IGlzIGN1cnJlbnRseSBzZWxlY3RlZC4gRWFjaCBtZW51Citkb2N1bWVudGVkIGJlbG93IGluZGljYXRlcyB3aGljaCB3aW5kb3cgdHlwZSBpdCBpcyBhc3NvY2lhdGVkIHdpdGguIENsaWNrIG9uCit0aGUgZG90dGVkIGxpbmUgYXQgdGhlIHRvcCBvZiBhIG1lbnUgdG8gInRlYXIgaXQgb2ZmIjogYSBzZXBhcmF0ZSB3aW5kb3cKK2NvbnRhaW5pbmcgdGhlIG1lbnUgaXMgY3JlYXRlZCAoZm9yIFVuaXggYW5kIFdpbmRvd3Mgb25seSkuCisKK0ZpbGUgTWVudSAoU2hlbGwgYW5kIEVkaXRvcik6CisKKyAgICAgICAgTmV3IFdpbmRvdyAgICAgICAtLSBDcmVhdGUgYSBuZXcgZWRpdGluZyB3aW5kb3cKKyAgICAgICAgT3Blbi4uLiAgICAgICAgICAtLSBPcGVuIGFuIGV4aXN0aW5nIGZpbGUKKyAgICAgICAgT3BlbiBNb2R1bGUuLi4gICAtLSBPcGVuIGFuIGV4aXN0aW5nIG1vZHVsZSAoc2VhcmNoZXMgc3lzLnBhdGgpCisgICAgICAgIFJlY2VudCBGaWxlcy4uLiAgLS0gT3BlbiBhIGxpc3Qgb2YgcmVjZW50IGZpbGVzCisgICAgICAgIENsYXNzIEJyb3dzZXIgICAgLS0gU2hvdyBjbGFzc2VzIGFuZCBtZXRob2RzIGluIGN1cnJlbnQgZmlsZQorICAgICAgICBQYXRoIEJyb3dzZXIgICAgIC0tIFNob3cgc3lzLnBhdGggZGlyZWN0b3JpZXMsIG1vZHVsZXMsIGNsYXNzZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIG1ldGhvZHMKLQktLS0KLQlTYXZlICAgICAgICAgICAgIC0tIFNhdmUgY3VycmVudCB3aW5kb3cgdG8gdGhlIGFzc29jaWF0ZWQgZmlsZSAodW5zYXZlZAotCQkgICAgICAgICAgICB3aW5kb3dzIGhhdmUgYSAqIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIHdpbmRvdyB0aXRsZSkKKyAgICAgICAgLS0tCisgICAgICAgIFNhdmUgICAgICAgICAgICAgLS0gU2F2ZSBjdXJyZW50IHdpbmRvdyB0byB0aGUgYXNzb2NpYXRlZCBmaWxlICh1bnNhdmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93cyBoYXZlIGEgKiBiZWZvcmUgYW5kIGFmdGVyIHRoZSB3aW5kb3cgdGl0bGUpCiAKLQlTYXZlIEFzLi4uICAgICAgIC0tIFNhdmUgY3VycmVudCB3aW5kb3cgdG8gbmV3IGZpbGUsIHdoaWNoIGJlY29tZXMKLQkJICAgICAgICAgICAgdGhlIGFzc29jaWF0ZWQgZmlsZQotCVNhdmUgQ29weSBBcy4uLiAgLS0gU2F2ZSBjdXJyZW50IHdpbmRvdyB0byBkaWZmZXJlbnQgZmlsZQotCQkgICAgICAgICAgICB3aXRob3V0IGNoYW5naW5nIHRoZSBhc3NvY2lhdGVkIGZpbGUKLQktLS0KLQlQcmludCBXaW5kb3cgICAgIC0tIFByaW50IHRoZSBjdXJyZW50IHdpbmRvdwotCS0tLQotCUNsb3NlICAgICAgICAgICAgLS0gQ2xvc2UgY3VycmVudCB3aW5kb3cgKGFza3MgdG8gc2F2ZSBpZiB1bnNhdmVkKQotCUV4aXQgICAgICAgICAgICAgLS0gQ2xvc2UgYWxsIHdpbmRvd3MsIHF1aXQgKGFza3MgdG8gc2F2ZSBpZiB1bnNhdmVkKQorICAgICAgICBTYXZlIEFzLi4uICAgICAgIC0tIFNhdmUgY3VycmVudCB3aW5kb3cgdG8gbmV3IGZpbGUsIHdoaWNoIGJlY29tZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgYXNzb2NpYXRlZCBmaWxlCisgICAgICAgIFNhdmUgQ29weSBBcy4uLiAgLS0gU2F2ZSBjdXJyZW50IHdpbmRvdyB0byBkaWZmZXJlbnQgZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGhvdXQgY2hhbmdpbmcgdGhlIGFzc29jaWF0ZWQgZmlsZQorICAgICAgICAtLS0KKyAgICAgICAgUHJpbnQgV2luZG93ICAgICAtLSBQcmludCB0aGUgY3VycmVudCB3aW5kb3cKKyAgICAgICAgLS0tCisgICAgICAgIENsb3NlICAgICAgICAgICAgLS0gQ2xvc2UgY3VycmVudCB3aW5kb3cgKGFza3MgdG8gc2F2ZSBpZiB1bnNhdmVkKQorICAgICAgICBFeGl0ICAgICAgICAgICAgIC0tIENsb3NlIGFsbCB3aW5kb3dzLCBxdWl0IChhc2tzIHRvIHNhdmUgaWYgdW5zYXZlZCkKIAotRWRpdCBNZW51OgorRWRpdCBNZW51IChTaGVsbCBhbmQgRWRpdG9yKToKIAotCVVuZG8gICAgICAgICAgICAgLS0gVW5kbyBsYXN0IGNoYW5nZSB0byBjdXJyZW50IHdpbmRvdwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChBIG1heGltdW0gb2YgMTAwMCBjaGFuZ2VzIG1heSBiZSB1bmRvbmUpCi0JUmVkbyAgICAgICAgICAgICAtLSBSZWRvIGxhc3QgdW5kb25lIGNoYW5nZSB0byBjdXJyZW50IHdpbmRvdwotCS0tLQotCUN1dCAgICAgICAgICAgICAgLS0gQ29weSBhIHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZCwKKyAgICAgICAgVW5kbyAgICAgICAgICAgICAtLSBVbmRvIGxhc3QgY2hhbmdlIHRvIGN1cnJlbnQgd2luZG93CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGEgbWF4aW11bSBvZiAxMDAwIGNoYW5nZXMgbWF5IGJlIHVuZG9uZSkKKyAgICAgICAgUmVkbyAgICAgICAgICAgICAtLSBSZWRvIGxhc3QgdW5kb25lIGNoYW5nZSB0byBjdXJyZW50IHdpbmRvdworICAgICAgICAtLS0KKyAgICAgICAgQ3V0ICAgICAgICAgICAgICAtLSBDb3B5IGEgc2VsZWN0aW9uIGludG8gc3lzdGVtLXdpZGUgY2xpcGJvYXJkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW4gZGVsZXRlIHRoZSBzZWxlY3Rpb24KLQlDb3B5ICAgICAgICAgICAgIC0tIENvcHkgc2VsZWN0aW9uIGludG8gc3lzdGVtLXdpZGUgY2xpcGJvYXJkCi0JUGFzdGUgICAgICAgICAgICAtLSBJbnNlcnQgc3lzdGVtLXdpZGUgY2xpcGJvYXJkIGludG8gd2luZG93Ci0JU2VsZWN0IEFsbCAgICAgICAtLSBTZWxlY3QgdGhlIGVudGlyZSBjb250ZW50cyBvZiB0aGUgZWRpdCBidWZmZXIKLQktLS0KLQlGaW5kLi4uICAgICAgICAgIC0tIE9wZW4gYSBzZWFyY2ggZGlhbG9nIGJveCB3aXRoIG1hbnkgb3B0aW9ucwotCUZpbmQgQWdhaW4gICAgICAgLS0gUmVwZWF0IGxhc3Qgc2VhcmNoCi0JRmluZCBTZWxlY3Rpb24gICAtLSBTZWFyY2ggZm9yIHRoZSBzdHJpbmcgaW4gdGhlIHNlbGVjdGlvbgotCUZpbmQgaW4gRmlsZXMuLi4gLS0gT3BlbiBhIHNlYXJjaCBkaWFsb2cgYm94IGZvciBzZWFyY2hpbmcgZmlsZXMKLQlSZXBsYWNlLi4uICAgICAgIC0tIE9wZW4gYSBzZWFyY2gtYW5kLXJlcGxhY2UgZGlhbG9nIGJveAotCUdvIHRvIExpbmUgICAgICAgLS0gQXNrIGZvciBhIGxpbmUgbnVtYmVyIGFuZCBzaG93IHRoYXQgbGluZQotCVNob3cgQ2FsbHRpcCAgICAgLS0gT3BlbiBhIHNtYWxsIHdpbmRvdyB3aXRoIGZ1bmN0aW9uIHBhcmFtIGhpbnRzCi0JU2hvdyBDb21wbGV0aW9ucyAtLSBPcGVuIGEgc2Nyb2xsIHdpbmRvdyBhbGxvd2luZyBzZWxlY3Rpb24ga2V5d29yZHMKLQkJCSAgICBhbmQgYXR0cmlidXRlcy4gKHNlZSAnKlRJUFMqJywgYmVsb3cpCi0JU2hvdyBQYXJlbnMJIC0tIEhpZ2hsaWdodCB0aGUgc3Vycm91bmRpbmcgcGFyZW50aGVzaXMKLQlFeHBhbmQgV29yZCAgICAgIC0tIEV4cGFuZCB0aGUgd29yZCB5b3UgaGF2ZSB0eXBlZCB0byBtYXRjaCBhbm90aGVyCi0JCSAgICAgICAgICAgIHdvcmQgaW4gdGhlIHNhbWUgYnVmZmVyOyByZXBlYXQgdG8gZ2V0IGEKKyAgICAgICAgQ29weSAgICAgICAgICAgICAtLSBDb3B5IHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZAorICAgICAgICBQYXN0ZSAgICAgICAgICAgIC0tIEluc2VydCBzeXN0ZW0td2lkZSBjbGlwYm9hcmQgaW50byB3aW5kb3cKKyAgICAgICAgU2VsZWN0IEFsbCAgICAgICAtLSBTZWxlY3QgdGhlIGVudGlyZSBjb250ZW50cyBvZiB0aGUgZWRpdCBidWZmZXIKKyAgICAgICAgLS0tCisgICAgICAgIEZpbmQuLi4gICAgICAgICAgLS0gT3BlbiBhIHNlYXJjaCBkaWFsb2cgYm94IHdpdGggbWFueSBvcHRpb25zCisgICAgICAgIEZpbmQgQWdhaW4gICAgICAgLS0gUmVwZWF0IGxhc3Qgc2VhcmNoCisgICAgICAgIEZpbmQgU2VsZWN0aW9uICAgLS0gU2VhcmNoIGZvciB0aGUgc3RyaW5nIGluIHRoZSBzZWxlY3Rpb24KKyAgICAgICAgRmluZCBpbiBGaWxlcy4uLiAtLSBPcGVuIGEgc2VhcmNoIGRpYWxvZyBib3ggZm9yIHNlYXJjaGluZyBmaWxlcworICAgICAgICBSZXBsYWNlLi4uICAgICAgIC0tIE9wZW4gYSBzZWFyY2gtYW5kLXJlcGxhY2UgZGlhbG9nIGJveAorICAgICAgICBHbyB0byBMaW5lICAgICAgIC0tIEFzayBmb3IgYSBsaW5lIG51bWJlciBhbmQgc2hvdyB0aGF0IGxpbmUKKyAgICAgICAgRXhwYW5kIFdvcmQgICAgICAtLSBFeHBhbmQgdGhlIHdvcmQgeW91IGhhdmUgdHlwZWQgdG8gbWF0Y2ggYW5vdGhlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmQgaW4gdGhlIHNhbWUgYnVmZmVyOyByZXBlYXQgdG8gZ2V0IGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnQgZXhwYW5zaW9uCisgICAgICAgIFNob3cgQ2FsbHRpcCAgICAgLS0gQWZ0ZXIgYW4gdW5jbG9zZWQgcGFyZW50aGVzaXMgZm9yIGEgZnVuY3Rpb24sIG9wZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHNtYWxsIHdpbmRvdyB3aXRoIGZ1bmN0aW9uIHBhcmFtZXRlciBoaW50cworICAgICAgICBTaG93IFBhcmVucyAgICAgIC0tIEhpZ2hsaWdodCB0aGUgc3Vycm91bmRpbmcgcGFyZW50aGVzaXMKKyAgICAgICAgU2hvdyBDb21wbGV0aW9ucyAtLSBPcGVuIGEgc2Nyb2xsIHdpbmRvdyBhbGxvd2luZyBzZWxlY3Rpb24ga2V5d29yZHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYXR0cmlidXRlcy4gKHNlZSAnKlRJUFMqJywgYmVsb3cpCiAKLUZvcm1hdCBNZW51IChvbmx5IGluIEVkaXQgd2luZG93KToKK0Zvcm1hdCBNZW51IChFZGl0b3Igd2luZG93IG9ubHkpOgogCi0JSW5kZW50IFJlZ2lvbiAgICAgICAtLSBTaGlmdCBzZWxlY3RlZCBsaW5lcyByaWdodCA0IHNwYWNlcwotCURlZGVudCBSZWdpb24gICAgICAgLS0gU2hpZnQgc2VsZWN0ZWQgbGluZXMgbGVmdCA0IHNwYWNlcwotCUNvbW1lbnQgT3V0IFJlZ2lvbiAgLS0gSW5zZXJ0ICMjIGluIGZyb250IG9mIHNlbGVjdGVkIGxpbmVzCi0JVW5jb21tZW50IFJlZ2lvbiAgICAtLSBSZW1vdmUgbGVhZGluZyAjIG9yICMjIGZyb20gc2VsZWN0ZWQgbGluZXMKLQlUYWJpZnkgUmVnaW9uICAgICAgIC0tIFR1cm5zICpsZWFkaW5nKiBzdHJldGNoZXMgb2Ygc3BhY2VzIGludG8gdGFicwotCQkoTm90ZTogV2UgcmVjb21tZW5kIHVzaW5nIDQgc3BhY2UgYmxvY2tzIHRvIGluZGVudCBQeXRob24gY29kZS4pCi0JVW50YWJpZnkgUmVnaW9uICAgICAtLSBUdXJuICphbGwqIHRhYnMgaW50byB0aGUgcmlnaHQgbnVtYmVyIG9mIHNwYWNlcwotCU5ldyBJbmRlbnQgV2lkdGguLi4gLS0gT3BlbiBkaWFsb2cgdG8gY2hhbmdlIGluZGVudCB3aWR0aAotCUZvcm1hdCBQYXJhZ3JhcGggICAgLS0gUmVmb3JtYXQgdGhlIGN1cnJlbnQgYmxhbmstbGluZS1zZXBhcmF0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGgKKyAgICAgICAgSW5kZW50IFJlZ2lvbiAgICAgICAtLSBTaGlmdCBzZWxlY3RlZCBsaW5lcyByaWdodCBieSB0aGUgaW5kZW50IHdpZHRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgNCBzcGFjZXMpCisgICAgICAgIERlZGVudCBSZWdpb24gICAgICAgLS0gU2hpZnQgc2VsZWN0ZWQgbGluZXMgbGVmdCBieSB0aGUgaW5kZW50IHdpZHRoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgNCBzcGFjZXMpCisgICAgICAgIENvbW1lbnQgT3V0IFJlZ2lvbiAgLS0gSW5zZXJ0ICMjIGluIGZyb250IG9mIHNlbGVjdGVkIGxpbmVzCisgICAgICAgIFVuY29tbWVudCBSZWdpb24gICAgLS0gUmVtb3ZlIGxlYWRpbmcgIyBvciAjIyBmcm9tIHNlbGVjdGVkIGxpbmVzCisgICAgICAgIFRhYmlmeSBSZWdpb24gICAgICAgLS0gVHVybnMgKmxlYWRpbmcqIHN0cmV0Y2hlcyBvZiBzcGFjZXMgaW50byB0YWJzLgorICAgICAgICAgICAgICAgIChOb3RlOiBXZSByZWNvbW1lbmQgdXNpbmcgNCBzcGFjZSBibG9ja3MgdG8gaW5kZW50IFB5dGhvbiBjb2RlLikKKyAgICAgICAgVW50YWJpZnkgUmVnaW9uICAgICAtLSBUdXJuICphbGwqIHRhYnMgaW50byB0aGUgY29ycmVudCBudW1iZXIgb2Ygc3BhY2VzCisgICAgICAgIFRvZ2dsZSB0YWJzICAgICAgICAgLS0gT3BlbiBhIGRpYWxvZyB0byBzd2l0Y2ggYmV0d2VlbiBpbmRlbnRpbmcgd2l0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlcyBhbmQgdGFicy4KKyAgICAgICAgTmV3IEluZGVudCBXaWR0aC4uLiAtLSBPcGVuIGEgZGlhbG9nIHRvIGNoYW5nZSBpbmRlbnQgd2lkdGguICBUaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NlcHRlZCBkZWZhdWx0IGJ5IHRoZSBQeXRob24gY29tbXVuaXR5IGlzIDQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFjZXMuCisgICAgICAgIEZvcm1hdCBQYXJhZ3JhcGggICAgLS0gUmVmb3JtYXQgdGhlIGN1cnJlbnQgYmxhbmstbGluZS1zZXBhcmF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGguIEFsbCBsaW5lcyBpbiB0aGUgcGFyYWdyYXBoIHdpbGwgYmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR0ZWQgdG8gbGVzcyB0aGFuIDgwIGNvbHVtbnMuCisgICAgICAgIC0tLQorICAgICAgICBTdHJpcCB0cmFpbGluZyB3aGl0ZXNwYWNlIC0tIFJlbW92ZWQgYW55IHNwYWNlIGNoYXJhY3RlcnMgYWZ0ZXIgdGhlIGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSBsYXN0IG5vbi1zcGFjZSBjaGFyYWN0ZXIKIAotUnVuIE1lbnUgKG9ubHkgaW4gRWRpdCB3aW5kb3cpOgorUnVuIE1lbnUgKEVkaXRvciB3aW5kb3cgb25seSk6CiAKLQlQeXRob24gU2hlbGwgLS0gT3BlbiBvciB3YWtlIHVwIHRoZSBQeXRob24gc2hlbGwgd2luZG93Ci0JLS0tCi0JQ2hlY2sgTW9kdWxlIC0tIFJ1biBhIHN5bnRheCBjaGVjayBvbiB0aGUgbW9kdWxlCi0JUnVuIE1vZHVsZSAgIC0tIEV4ZWN1dGUgdGhlIGN1cnJlbnQgZmlsZSBpbiB0aGUgX19tYWluX18gbmFtZXNwYWNlCisgICAgICAgIFB5dGhvbiBTaGVsbCAtLSBPcGVuIG9yIHdha2UgdXAgdGhlIFB5dGhvbiBzaGVsbCB3aW5kb3cKKyAgICAgICAgLS0tCisgICAgICAgIENoZWNrIE1vZHVsZSAtLSBDaGVjayB0aGUgc3ludGF4IG9mIHRoZSBtb2R1bGUgY3VycmVudGx5IG9wZW4gaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3Igd2luZG93LiAgSWYgdGhlIG1vZHVsZSBoYXMgbm90IGJlZW4gc2F2ZWQgSURMRQorICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBwcm9tcHQgdGhlIHVzZXIgdG8gc2F2ZSB0aGUgY29kZS4KKyAgICAgICAgUnVuIE1vZHVsZSAgIC0tIFJlc3RhcnQgdGhlIHNoZWxsIHRvIGNsZWFuIHRoZSBlbnZpcm9ubWVudCwgdGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0ZSB0aGUgY3VycmVudGx5IG9wZW4gbW9kdWxlLiBJZiB0aGUgbW9kdWxlIGhhcworICAgICAgICAgICAgICAgICAgICAgICAgbm90IGJlZW4gc2F2ZWQgSURMRSB3aWxsIHByb21wdCB0aGUgdXNlciB0byBzYXZlIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgY29kZS4KIAotU2hlbGwgTWVudSAob25seSBpbiBTaGVsbCB3aW5kb3cpOgorU2hlbGwgTWVudSAoU2hlbGwgd2luZG93IG9ubHkpOgogCi0JVmlldyBMYXN0IFJlc3RhcnQgLS0gU2Nyb2xsIHRoZSBzaGVsbCB3aW5kb3cgdG8gdGhlIGxhc3QgcmVzdGFydAotCVJlc3RhcnQgU2hlbGwgICAgIC0tIFJlc3RhcnQgdGhlIGludGVycHJldGVyIHdpdGggYSBmcmVzaCBlbnZpcm9ubWVudAorICAgICAgICBWaWV3IExhc3QgUmVzdGFydCAtLSBTY3JvbGwgdGhlIHNoZWxsIHdpbmRvdyB0byB0aGUgbGFzdCBTaGVsbCByZXN0YXJ0CisgICAgICAgIFJlc3RhcnQgU2hlbGwgICAgIC0tIFJlc3RhcnQgdGhlIHNoZWxsIHRvIGNsZWFuIHRoZSBlbnZpcm9ubWVudAogCi1EZWJ1ZyBNZW51IChvbmx5IGluIFNoZWxsIHdpbmRvdyk6CitEZWJ1ZyBNZW51IChTaGVsbCB3aW5kb3cgb25seSk6CiAKLQlHbyB0byBGaWxlL0xpbmUgICAtLSBsb29rIGFyb3VuZCB0aGUgaW5zZXJ0IHBvaW50IGZvciBhIGZpbGVuYW1lCi0JCSAgICAgICAgICAgICBhbmQgbGluZSBudW1iZXIsIG9wZW4gdGhlIGZpbGUsIGFuZCBzaG93IHRoZSBsaW5lCi0JRGVidWdnZXIgKHRvZ2dsZSkgLS0gUnVuIGNvbW1hbmRzIGluIHRoZSBzaGVsbCB1bmRlciB0aGUgZGVidWdnZXIKLQlTdGFjayBWaWV3ZXIgICAgICAtLSBTaG93IHRoZSBzdGFjayB0cmFjZWJhY2sgb2YgdGhlIGxhc3QgZXhjZXB0aW9uCi0JQXV0by1vcGVuIFN0YWNrIFZpZXdlciAodG9nZ2xlKSAtLSBPcGVuIHN0YWNrIHZpZXdlciBvbiB0cmFjZWJhY2sKKyAgICAgICAgR28gdG8gRmlsZS9MaW5lICAgLS0gTG9vayBhcm91bmQgdGhlIGluc2VydCBwb2ludCBmb3IgYSBmaWxlbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbGluZSBudW1iZXIsIG9wZW4gdGhlIGZpbGUsIGFuZCBzaG93IHRoZSBsaW5lLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VmdWwgdG8gdmlldyB0aGUgc291cmNlIGxpbmVzIHJlZmVyZW5jZWQgaW4gYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uIHRyYWNlYmFjay4gIEF2YWlsYWJsZSBpbiB0aGUgY29udGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW51IG9mIHRoZSBTaGVsbCB3aW5kb3cuCisgICAgICAgIERlYnVnZ2VyICh0b2dnbGUpIC0tIFRoaXMgZmVhdHVyZSBpcyBub3QgY29tcGxldGUgYW5kIGNvbnNpZGVyZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZXJpbWVudGFsLiBSdW4gY29tbWFuZHMgaW4gdGhlIHNoZWxsIHVuZGVyIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Z2dlci4KKyAgICAgICAgU3RhY2sgVmlld2VyICAgICAgLS0gU2hvdyB0aGUgc3RhY2sgdHJhY2ViYWNrIG9mIHRoZSBsYXN0IGV4Y2VwdGlvbgorICAgICAgICBBdXRvLW9wZW4gU3RhY2sgVmlld2VyICh0b2dnbGUpIC0tIFRvZ2dsZSBhdXRvbWF0aWNhbGx5IG9wZW5pbmcgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2sgdmlld2VyIG9uIHVuaGFuZGxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbgogCi1PcHRpb25zIE1lbnU6CitPcHRpb25zIE1lbnUgKFNoZWxsIGFuZCBFZGl0b3IpOgogCi0JQ29uZmlndXJlIElETEUgLS0gT3BlbiBhIGNvbmZpZ3VyYXRpb24gZGlhbG9nLiAgRm9udHMsIGluZGVudGF0aW9uLAorICAgICAgICBDb25maWd1cmUgSURMRSAtLSBPcGVuIGEgY29uZmlndXJhdGlvbiBkaWFsb2cuICBGb250cywgaW5kZW50YXRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleWJpbmRpbmdzLCBhbmQgY29sb3IgdGhlbWVzIG1heSBiZSBhbHRlcmVkLgotICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydHVwIFByZWZlcmVuY2VzIG1heSBiZSBzZXQsIGFuZCBBZGRpdGlvbmFsIEhlbHAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlcyBjYW4gYmUgc3BlY2lmaWVkLgotCQkJICAKLQkJCSAgT24gT1MgWCB0aGlzIG1lbnUgaXMgbm90IHByZXNlbnQsIHVzZQotCQkJICBtZW51ICdJRExFIC0+IFByZWZlcmVuY2VzLi4uJyBpbnN0ZWFkLgotCS0tLQotCUNvZGUgQ29udGV4dCAtLQkgIE9wZW4gYSBwYW5lIGF0IHRoZSB0b3Agb2YgdGhlIGVkaXQgd2luZG93IHdoaWNoCi0JCQkgIHNob3dzIHRoZSBibG9jayBjb250ZXh0IG9mIHRoZSBzZWN0aW9uIG9mIGNvZGUKLQkJCSAgd2hpY2ggaXMgc2Nyb2xsaW5nIG9mZiB0aGUgdG9wIG9yIHRoZSB3aW5kb3cuCi0JCQkgIChOb3QgcHJlc2VudCBpbiBTaGVsbCB3aW5kb3cuKQorICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydHVwIFByZWZlcmVuY2VzIG1heSBiZSBzZXQsIGFuZCBhZGRpdGlvbmFsIEhlbHAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlcyBjYW4gYmUgc3BlY2lmaWVkLgogCi1XaW5kb3dzIE1lbnU6CisgICAgICAgIC0tLQorICAgICAgICBDb2RlIENvbnRleHQgKHRvZ2dsZSkgLS0gT3BlbiBhIHBhbmUgYXQgdGhlIHRvcCBvZiB0aGUgZWRpdCB3aW5kb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIHNob3dzIHRoZSBibG9jayBjb250ZXh0IG9mIHRoZSBzZWN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBjb2RlIHdoaWNoIGlzIHNjcm9sbGluZyBvZmYgdGhlIHRvcCBvciB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy4gVGhpcyBpcyBub3QgcHJlc2VudCBpbiB0aGUgU2hlbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdyBvbmx5IHRoZSBFZGl0b3Igd2luZG93LgogCi0JWm9vbSBIZWlnaHQgLS0gdG9nZ2xlcyB0aGUgd2luZG93IGJldHdlZW4gY29uZmlndXJlZCBzaXplCi0JYW5kIG1heGltdW0gaGVpZ2h0LgotCS0tLQotCVRoZSByZXN0IG9mIHRoaXMgbWVudSBsaXN0cyB0aGUgbmFtZXMgb2YgYWxsIG9wZW4gd2luZG93czsKLQlzZWxlY3Qgb25lIHRvIGJyaW5nIGl0IHRvIHRoZSBmb3JlZ3JvdW5kIChkZWljb25pZnlpbmcgaXQgaWYKLQluZWNlc3NhcnkpLgorV2luZG93cyBNZW51IChTaGVsbCBhbmQgRWRpdG9yKToKKworICAgICAgICBab29tIEhlaWdodCAtLSBUb2dnbGVzIHRoZSB3aW5kb3cgYmV0d2VlbiBub3JtYWwgc2l6ZSAoNDB4ODAgaW5pdGlhbAorICAgICAgICBzZXR0aW5nKSBhbmQgbWF4aW11bSBoZWlnaHQuICBUaGUgaW5pdGlhbCBzaXplIGlzIGluIHRoZSBDb25maWd1cmUKKyAgICAgICAgSURMRSBkaWFsb2cgdW5kZXIgdGhlIGdlbmVyYWwgdGFiLgorICAgICAgICAtLS0KKyAgICAgICAgVGhlIHJlc3Qgb2YgdGhpcyBtZW51IGxpc3RzIHRoZSBuYW1lcyBvZiBhbGwgb3BlbiB3aW5kb3dzOworICAgICAgICBzZWxlY3Qgb25lIHRvIGJyaW5nIGl0IHRvIHRoZSBmb3JlZ3JvdW5kIChkZWljb25pZnlpbmcgaXQgaWYKKyAgICAgICAgbmVjZXNzYXJ5KS4KIAogSGVscCBNZW51OgogCi0JQWJvdXQgSURMRSAgLS0gVmVyc2lvbiwgY29weXJpZ2h0LCBsaWNlbnNlLCBjcmVkaXRzCi0JSURMRSBSZWFkbWUgLS0gQmFja2dyb3VuZCBkaXNjdXNzaW9uIGFuZCBjaGFuZ2UgZGV0YWlscwotCS0tLQotCUlETEUgSGVscCAgIC0tIERpc3BsYXkgdGhpcyBmaWxlCi0JUHl0aG9uIERvY3MgLS0gQWNjZXNzIGxvY2FsIFB5dGhvbiBkb2N1bWVudGF0aW9uLCBpZgotCQkgICAgICAgaW5zdGFsbGVkLiAgT3RoZXJ3aXNlLCBhY2Nlc3Mgd3d3LnB5dGhvbi5vcmcuCi0JLS0tCi0JKEFkZGl0aW9uYWwgSGVscCBTb3VyY2VzIG1heSBiZSBhZGRlZCBoZXJlKQorICAgICAgICBBYm91dCBJRExFICAtLSBWZXJzaW9uLCBjb3B5cmlnaHQsIGxpY2Vuc2UsIGNyZWRpdHMKKyAgICAgICAgLS0tCisgICAgICAgIElETEUgSGVscCAgIC0tIERpc3BsYXkgdGhpcyBmaWxlIHdoaWNoIGlzIGEgaGVscCBmaWxlIGZvciBJRExFCisgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbGluZyB0aGUgbWVudSBvcHRpb25zLCBiYXNpYyBlZGl0aW5nIGFuZCBuYXZpZ2F0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3RoZXIgdGlwcy4KKyAgICAgICAgUHl0aG9uIERvY3MgLS0gQWNjZXNzIGxvY2FsIFB5dGhvbiBkb2N1bWVudGF0aW9uLCBpZgorICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWQuICBPciB3aWxsIHN0YXJ0IGEgd2ViIGJyb3dzZXIgYW5kIG9wZW4KKyAgICAgICAgICAgICAgICAgICAgICAgZG9jcy5weXRob24ub3JnIHNob3dpbmcgdGhlIGxhdGVzdCBQeXRob24gZG9jdW1lbnRhdGlvbi4KKyAgICAgICAgLS0tCisgICAgICAgIEFkZGl0aW9uYWwgaGVscCBzb3VyY2VzIG1heSBiZSBhZGRlZCBoZXJlIHdpdGggdGhlIENvbmZpZ3VyZSBJRExFCisgICAgICAgIGRpYWxvZyB1bmRlciB0aGUgR2VuZXJhbCB0YWIuCiAKLUVkaXQgY29udGV4dCBtZW51IChSaWdodC1jbGljayAvIENvbnRyb2wtY2xpY2sgb24gT1MgWCBpbiBFZGl0IHdpbmRvdyk6CitFZGl0b3IgY29udGV4dCBtZW51IChSaWdodC1jbGljayAvIENvbnRyb2wtY2xpY2sgb24gT1MgWCBpbiBFZGl0IHdpbmRvdyk6CiAKLQlDdXQgICAgICAgICAgICAgIC0tIENvcHkgYSBzZWxlY3Rpb24gaW50byBzeXN0ZW0td2lkZSBjbGlwYm9hcmQsCisgICAgICAgIEN1dCAgICAgICAgICAgICAgLS0gQ29weSBhIHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIGRlbGV0ZSB0aGUgc2VsZWN0aW9uCi0JQ29weSAgICAgICAgICAgICAtLSBDb3B5IHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZAotCVBhc3RlICAgICAgICAgICAgLS0gSW5zZXJ0IHN5c3RlbS13aWRlIGNsaXBib2FyZCBpbnRvIHdpbmRvdwotCVNldCBCcmVha3BvaW50ICAgLS0gU2V0cyBhIGJyZWFrcG9pbnQgKHdoZW4gZGVidWdnZXIgb3BlbikKLQlDbGVhciBCcmVha3BvaW50IC0tIENsZWFycyB0aGUgYnJlYWtwb2ludCBvbiB0aGF0IGxpbmUKKyAgICAgICAgQ29weSAgICAgICAgICAgICAtLSBDb3B5IHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZAorICAgICAgICBQYXN0ZSAgICAgICAgICAgIC0tIEluc2VydCBzeXN0ZW0td2lkZSBjbGlwYm9hcmQgaW50byB3aW5kb3cKKyAgICAgICAgU2V0IEJyZWFrcG9pbnQgICAtLSBTZXRzIGEgYnJlYWtwb2ludC4gQnJlYWtwb2ludHMgYXJlIG9ubHkgZW5hYmxlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gdGhlIGRlYnVnZ2VyIGlzIG9wZW4uCisgICAgICAgIENsZWFyIEJyZWFrcG9pbnQgLS0gQ2xlYXJzIHRoZSBicmVha3BvaW50IG9uIHRoYXQgbGluZQogCiBTaGVsbCBjb250ZXh0IG1lbnUgKFJpZ2h0LWNsaWNrIC8gQ29udHJvbC1jbGljayBvbiBPUyBYIGluIFNoZWxsIHdpbmRvdyk6CiAKLQlDdXQgICAgICAgICAgICAgIC0tIENvcHkgYSBzZWxlY3Rpb24gaW50byBzeXN0ZW0td2lkZSBjbGlwYm9hcmQsCisgICAgICAgIEN1dCAgICAgICAgICAgICAgLS0gQ29weSBhIHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVuIGRlbGV0ZSB0aGUgc2VsZWN0aW9uCi0JQ29weSAgICAgICAgICAgICAtLSBDb3B5IHNlbGVjdGlvbiBpbnRvIHN5c3RlbS13aWRlIGNsaXBib2FyZAotCVBhc3RlICAgICAgICAgICAgLS0gSW5zZXJ0IHN5c3RlbS13aWRlIGNsaXBib2FyZCBpbnRvIHdpbmRvdwotCS0tLQotCUdvIHRvIGZpbGUvbGluZSAgLS0gU2FtZSBhcyBpbiBEZWJ1ZyBtZW51CisgICAgICAgIENvcHkgICAgICAgICAgICAgLS0gQ29weSBzZWxlY3Rpb24gaW50byBzeXN0ZW0td2lkZSBjbGlwYm9hcmQKKyAgICAgICAgUGFzdGUgICAgICAgICAgICAtLSBJbnNlcnQgc3lzdGVtLXdpZGUgY2xpcGJvYXJkIGludG8gd2luZG93CisgICAgICAgIC0tLQorICAgICAgICBHbyB0byBmaWxlL2xpbmUgIC0tIFNhbWUgYXMgaW4gRGVidWcgbWVudQogCiAKICoqIFRJUFMgKioKQEAgLTE0NCwxNTkgKzE4NywxODIgQEAKIAogQWRkaXRpb25hbCBIZWxwIFNvdXJjZXM6CiAKLQlXaW5kb3dzIHVzZXJzIGNhbiBHb29nbGUgb24gem9wZXNoZWxmLmNobSB0byBhY2Nlc3MgWm9wZSBoZWxwIGZpbGVzIGluCi0JdGhlIFdpbmRvd3MgaGVscCBmb3JtYXQuICBUaGUgQWRkaXRpb25hbCBIZWxwIFNvdXJjZXMgZmVhdHVyZSBvZiB0aGUKLQljb25maWd1cmF0aW9uIEdVSSBzdXBwb3J0cyAuY2htLCBhbG9uZyB3aXRoIGFueSBvdGhlciBmaWxldHlwZXMKLQlzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiAgU3VwcGx5IGEgTWVudSBJdGVtIHRpdGxlLCBhbmQgZW50ZXIgdGhlCi0JbG9jYXRpb24gaW4gdGhlIEhlbHAgRmlsZSBQYXRoIHNsb3Qgb2YgdGhlIE5ldyBIZWxwIFNvdXJjZSBkaWFsb2cuICBVc2UKLQlodHRwOi8vIGFuZC9vciB3d3cuIHRvIGlkZW50aWZ5IGV4dGVybmFsIFVSTHMsIG9yIGRvd25sb2FkIHRoZSBmaWxlIGFuZAotCWJyb3dzZSBmb3IgaXRzIHBhdGggb24geW91ciBtYWNoaW5lIHVzaW5nIHRoZSBCcm93c2UgYnV0dG9uLgorICAgICAgICBXaW5kb3dzIHVzZXJzIGNhbiBHb29nbGUgb24gem9wZXNoZWxmLmNobSB0byBhY2Nlc3MgWm9wZSBoZWxwIGZpbGVzIGluCisgICAgICAgIHRoZSBXaW5kb3dzIGhlbHAgZm9ybWF0LiAgVGhlIEFkZGl0aW9uYWwgSGVscCBTb3VyY2VzIGZlYXR1cmUgb2YgdGhlCisgICAgICAgIGNvbmZpZ3VyYXRpb24gR1VJIHN1cHBvcnRzIC5jaG0sIGFsb25nIHdpdGggYW55IG90aGVyIGZpbGV0eXBlcworICAgICAgICBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiAgU3VwcGx5IGEgTWVudSBJdGVtIHRpdGxlLCBhbmQgZW50ZXIgdGhlCisgICAgICAgIGxvY2F0aW9uIGluIHRoZSBIZWxwIEZpbGUgUGF0aCBzbG90IG9mIHRoZSBOZXcgSGVscCBTb3VyY2UgZGlhbG9nLiAgVXNlCisgICAgICAgIGh0dHA6Ly8gYW5kL29yIHd3dy4gdG8gaWRlbnRpZnkgZXh0ZXJuYWwgVVJMcywgb3IgZG93bmxvYWQgdGhlIGZpbGUgYW5kCisgICAgICAgIGJyb3dzZSBmb3IgaXRzIHBhdGggb24geW91ciBtYWNoaW5lIHVzaW5nIHRoZSBCcm93c2UgYnV0dG9uLgogCi0JQWxsIHVzZXJzIGNhbiBhY2Nlc3MgdGhlIGV4dGVuc2l2ZSBzb3VyY2VzIG9mIGhlbHAsIGluY2x1ZGluZwotCXR1dG9yaWFscywgYXZhaWxhYmxlIGF0IHd3dy5weXRob24ub3JnL2RvYy4gIFNlbGVjdGVkIFVSTHMgY2FuIGJlIGFkZGVkCi0Jb3IgcmVtb3ZlZCBmcm9tIHRoZSBIZWxwIG1lbnUgYXQgYW55IHRpbWUgdXNpbmcgQ29uZmlndXJlIElETEUuCisgICAgICAgIEFsbCB1c2VycyBjYW4gYWNjZXNzIHRoZSBleHRlbnNpdmUgc291cmNlcyBvZiBoZWxwLCBpbmNsdWRpbmcKKyAgICAgICAgdHV0b3JpYWxzLCBhdmFpbGFibGUgYXQgZG9jcy5weXRob24ub3JnLiAgU2VsZWN0ZWQgVVJMcyBjYW4gYmUgYWRkZWQKKyAgICAgICAgb3IgcmVtb3ZlZCBmcm9tIHRoZSBIZWxwIG1lbnUgYXQgYW55IHRpbWUgdXNpbmcgQ29uZmlndXJlIElETEUuCiAKIEJhc2ljIGVkaXRpbmcgYW5kIG5hdmlnYXRpb246CiAKLQlCYWNrc3BhY2UgZGVsZXRlcyBjaGFyIHRvIHRoZSBsZWZ0OyBERUwgZGVsZXRlcyBjaGFyIHRvIHRoZSByaWdodC4KLQlDb250cm9sLWJhY2tzcGFjZSBkZWxldGVzIHdvcmQgbGVmdCwgQ29udHJvbC1ERUwgZGVsZXRlcyB3b3JkIHJpZ2h0LgotCUFycm93IGtleXMgYW5kIFBhZ2UgVXAvRG93biBtb3ZlIGFyb3VuZC4KLQlDb250cm9sLWxlZnQvcmlnaHQgQXJyb3cgbW92ZXMgYnkgd29yZHMgaW4gYSBzdHJhbmdlIGJ1dCB1c2VmdWwgd2F5LgotCUhvbWUvRW5kIGdvIHRvIGJlZ2luL2VuZCBvZiBsaW5lLgotCUNvbnRyb2wtSG9tZS9FbmQgZ28gdG8gYmVnaW4vZW5kIG9mIGZpbGUuCi0JU29tZSB1c2VmdWwgRW1hY3MgYmluZGluZ3MgYXJlIGluaGVyaXRlZCBmcm9tIFRjbC9UazoKLQkJQ29udHJvbC1hICAgICBiZWdpbm5pbmcgb2YgbGluZQotCQlDb250cm9sLWUgICAgIGVuZCBvZiBsaW5lCi0JCUNvbnRyb2wtayAgICAga2lsbCBsaW5lIChidXQgZG9lc24ndCBwdXQgaXQgaW4gY2xpcGJvYXJkKQotCQlDb250cm9sLWwgICAgIGNlbnRlciB3aW5kb3cgYXJvdW5kIHRoZSBpbnNlcnRpb24gcG9pbnQKLQlTdGFuZGFyZCBXaW5kb3dzIGJpbmRpbmdzIG1heSB3b3JrIG9uIHRoYXQgcGxhdGZvcm0uCi0JS2V5YmluZGluZ3MgYXJlIHNlbGVjdGVkIGluIHRoZSBTZXR0aW5ncyBEaWFsb2csIGxvb2sgdGhlcmUuCisgICAgICAgIEJhY2tzcGFjZSBkZWxldGVzIGNoYXIgdG8gdGhlIGxlZnQ7IERFTCBkZWxldGVzIGNoYXIgdG8gdGhlIHJpZ2h0LgorICAgICAgICBDb250cm9sLWJhY2tzcGFjZSBkZWxldGVzIHdvcmQgbGVmdCwgQ29udHJvbC1ERUwgZGVsZXRlcyB3b3JkIHJpZ2h0LgorICAgICAgICBBcnJvdyBrZXlzIGFuZCBQYWdlIFVwL0Rvd24gbW92ZSBhcm91bmQuCisgICAgICAgIENvbnRyb2wtbGVmdC9yaWdodCBBcnJvdyBtb3ZlcyBieSB3b3JkcyBpbiBhIHN0cmFuZ2UgYnV0IHVzZWZ1bCB3YXkuCisgICAgICAgIEhvbWUvRW5kIGdvIHRvIGJlZ2luL2VuZCBvZiBsaW5lLgorICAgICAgICBDb250cm9sLUhvbWUvRW5kIGdvIHRvIGJlZ2luL2VuZCBvZiBmaWxlLgorICAgICAgICBTb21lIHVzZWZ1bCBFbWFjcyBiaW5kaW5ncyBhcmUgaW5oZXJpdGVkIGZyb20gVGNsL1RrOgorICAgICAgICAgICAgICAgIENvbnRyb2wtYSAgICAgYmVnaW5uaW5nIG9mIGxpbmUKKyAgICAgICAgICAgICAgICBDb250cm9sLWUgICAgIGVuZCBvZiBsaW5lCisgICAgICAgICAgICAgICAgQ29udHJvbC1rICAgICBraWxsIGxpbmUgKGJ1dCBkb2Vzbid0IHB1dCBpdCBpbiBjbGlwYm9hcmQpCisgICAgICAgICAgICAgICAgQ29udHJvbC1sICAgICBjZW50ZXIgd2luZG93IGFyb3VuZCB0aGUgaW5zZXJ0aW9uIHBvaW50CisgICAgICAgIFN0YW5kYXJkIGtleWJpbmRpbmdzIChsaWtlIENvbnRyb2wtYyB0byBjb3B5IGFuZCBDb250cm9sLXYgdG8KKyAgICAgICAgcGFzdGUpIG1heSB3b3JrLiAgS2V5YmluZGluZ3MgYXJlIHNlbGVjdGVkIGluIHRoZSBDb25maWd1cmUgSURMRQorICAgICAgICBkaWFsb2cuCiAKIEF1dG9tYXRpYyBpbmRlbnRhdGlvbjoKIAotCUFmdGVyIGEgYmxvY2stb3BlbmluZyBzdGF0ZW1lbnQsIHRoZSBuZXh0IGxpbmUgaXMgaW5kZW50ZWQgYnkgNCBzcGFjZXMKLQkoaW4gdGhlIFB5dGhvbiBTaGVsbCB3aW5kb3cgYnkgb25lIHRhYikuICBBZnRlciBjZXJ0YWluIGtleXdvcmRzCi0JKGJyZWFrLCByZXR1cm4gZXRjLikgdGhlIG5leHQgbGluZSBpcyBkZWRlbnRlZC4gIEluIGxlYWRpbmcKLQlpbmRlbnRhdGlvbiwgQmFja3NwYWNlIGRlbGV0ZXMgdXAgdG8gNCBzcGFjZXMgaWYgdGhleSBhcmUgdGhlcmUuICBUYWIKLQlpbnNlcnRzIHNwYWNlcyAoaW4gdGhlIFB5dGhvbiBTaGVsbCB3aW5kb3cgb25lIHRhYiksIG51bWJlciBkZXBlbmRzIG9uCi0JSW5kZW50IFdpZHRoLiAgKE4uQi4gQ3VycmVudGx5IHRhYnMgYXJlIHJlc3RyaWN0ZWQgdG8gZm91ciBzcGFjZXMgZHVlCi0JdG8gVGNsL1RrIGlzc3Vlcy4pCisgICAgICAgIEFmdGVyIGEgYmxvY2stb3BlbmluZyBzdGF0ZW1lbnQsIHRoZSBuZXh0IGxpbmUgaXMgaW5kZW50ZWQgYnkgNCBzcGFjZXMKKyAgICAgICAgKGluIHRoZSBQeXRob24gU2hlbGwgd2luZG93IGJ5IG9uZSB0YWIpLiAgQWZ0ZXIgY2VydGFpbiBrZXl3b3JkcworICAgICAgICAoYnJlYWssIHJldHVybiBldGMuKSB0aGUgbmV4dCBsaW5lIGlzIGRlZGVudGVkLiAgSW4gbGVhZGluZworICAgICAgICBpbmRlbnRhdGlvbiwgQmFja3NwYWNlIGRlbGV0ZXMgdXAgdG8gNCBzcGFjZXMgaWYgdGhleSBhcmUgdGhlcmUuICBUYWIKKyAgICAgICAgaW5zZXJ0cyBzcGFjZXMgKGluIHRoZSBQeXRob24gU2hlbGwgd2luZG93IG9uZSB0YWIpLCBudW1iZXIgZGVwZW5kcyBvbgorICAgICAgICBJbmRlbnQgV2lkdGguIEN1cnJlbnRseSB0YWJzIGFyZSByZXN0cmljdGVkIHRvIGZvdXIgc3BhY2VzIGR1ZQorICAgICAgICB0byBUY2wvVGsgbGltaXRhdGlvbnMuCiAKICAgICAgICAgU2VlIGFsc28gdGhlIGluZGVudC9kZWRlbnQgcmVnaW9uIGNvbW1hbmRzIGluIHRoZSBlZGl0IG1lbnUuCiAKIENvbXBsZXRpb25zOgogCi0JQ29tcGxldGlvbnMgYXJlIHN1cHBsaWVkIGZvciBmdW5jdGlvbnMsIGNsYXNzZXMsIGFuZCBhdHRyaWJ1dGVzIG9mCi0JY2xhc3NlcywgYm90aCBidWlsdC1pbiBhbmQgdXNlci1kZWZpbmVkLiAgQ29tcGxldGlvbnMgYXJlIGFsc28gcHJvdmlkZWQKLQlmb3IgZmlsZW5hbWVzLgorICAgICAgICBDb21wbGV0aW9ucyBhcmUgc3VwcGxpZWQgZm9yIGZ1bmN0aW9ucywgY2xhc3NlcywgYW5kIGF0dHJpYnV0ZXMgb2YKKyAgICAgICAgY2xhc3NlcywgYm90aCBidWlsdC1pbiBhbmQgdXNlci1kZWZpbmVkLiAgQ29tcGxldGlvbnMgYXJlIGFsc28gcHJvdmlkZWQKKyAgICAgICAgZm9yIGZpbGVuYW1lcy4KIAotCVRoZSBBdXRvQ29tcGxldGVXaW5kb3cgKEFDVykgd2lsbCBvcGVuIGFmdGVyIGEgcHJlZGVmaW5lZCBkZWxheQotCShkZWZhdWx0IGlzIHR3byBzZWNvbmRzKSBhZnRlciBhICcuJyBvciAoaW4gYSBzdHJpbmcpIGFuIG9zLnNlcCBpcwotCXR5cGVkLiAgSWYgYWZ0ZXIgb25lIG9mIHRob3NlIGNoYXJhY3RlcnMgKHBsdXMgemVybyBvciBtb3JlIG90aGVyCi0JY2hhcmFjdGVycykgeW91IHR5cGUgYSBUYWIgdGhlIEFDVyB3aWxsIG9wZW4gaW1tZWRpYXRlbHkgaWYgYSBwb3NzaWJsZQotCWNvbnRpbnVhdGlvbiBpcyBmb3VuZC4KKyAgICAgICAgVGhlIEF1dG9Db21wbGV0ZVdpbmRvdyAoQUNXKSB3aWxsIG9wZW4gYWZ0ZXIgYSBwcmVkZWZpbmVkIGRlbGF5CisgICAgICAgIChkZWZhdWx0IGlzIHR3byBzZWNvbmRzKSBhZnRlciBhICcuJyBvciAoaW4gYSBzdHJpbmcpIGFuIG9zLnNlcCBpcworICAgICAgICB0eXBlZC4gIElmIGFmdGVyIG9uZSBvZiB0aG9zZSBjaGFyYWN0ZXJzIChwbHVzIHplcm8gb3IgbW9yZSBvdGhlcgorICAgICAgICBjaGFyYWN0ZXJzKSBhIHRhYiBpcyB0eXBlZCB0aGUgQUNXIHdpbGwgb3BlbiBpbW1lZGlhdGVseSBpZiBhIHBvc3NpYmxlCisgICAgICAgIGNvbnRpbnVhdGlvbiBpcyBmb3VuZC4KIAotCUlmIHRoZXJlIGlzIG9ubHkgb25lIHBvc3NpYmxlIGNvbXBsZXRpb24gZm9yIHRoZSBjaGFyYWN0ZXJzIGVudGVyZWQsIGEKLQlUYWIgd2lsbCBzdXBwbHkgdGhhdCBjb21wbGV0aW9uIHdpdGhvdXQgb3BlbmluZyB0aGUgQUNXLgorICAgICAgICBJZiB0aGVyZSBpcyBvbmx5IG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGZvciB0aGUgY2hhcmFjdGVycyBlbnRlcmVkLCBhCisgICAgICAgIHRhYiB3aWxsIHN1cHBseSB0aGF0IGNvbXBsZXRpb24gd2l0aG91dCBvcGVuaW5nIHRoZSBBQ1cuCiAKLQknU2hvdyBDb21wbGV0aW9ucycgd2lsbCBmb3JjZSBvcGVuIGEgY29tcGxldGlvbnMgd2luZG93LiAgSW4gYW4gZW1wdHkKLQlzdHJpbmcsIHRoaXMgd2lsbCBjb250YWluIHRoZSBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBPbiBhCi0JYmxhbmsgbGluZSwgaXQgd2lsbCBjb250YWluIHRoZSBidWlsdC1pbiBhbmQgdXNlci1kZWZpbmVkIGZ1bmN0aW9ucyBhbmQKLQljbGFzc2VzIGluIHRoZSBjdXJyZW50IG5hbWUgc3BhY2VzLCBwbHVzIGFueSBtb2R1bGVzIGltcG9ydGVkLiAgSWYgc29tZQotCWNoYXJhY3RlcnMgaGF2ZSBiZWVuIGVudGVyZWQsIHRoZSBBQ1cgd2lsbCBhdHRlbXB0IHRvIGJlIG1vcmUgc3BlY2lmaWMuCisgICAgICAgICdTaG93IENvbXBsZXRpb25zJyB3aWxsIGZvcmNlIG9wZW4gYSBjb21wbGV0aW9ucyB3aW5kb3csIGJ5IGRlZmF1bHQgdGhlCisgICAgICAgIENvbnRyb2wtc3BhY2Uga2V5cyB3aWxsIG9wZW4gYSBjb21wbGV0aW9ucyB3aW5kb3cuICBJbiBhbiBlbXB0eQorICAgICAgICBzdHJpbmcsIHRoaXMgd2lsbCBjb250YWluIHRoZSBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBPbiBhCisgICAgICAgIGJsYW5rIGxpbmUsIGl0IHdpbGwgY29udGFpbiB0aGUgYnVpbHQtaW4gYW5kIHVzZXItZGVmaW5lZCBmdW5jdGlvbnMgYW5kCisgICAgICAgIGNsYXNzZXMgaW4gdGhlIGN1cnJlbnQgbmFtZSBzcGFjZXMsIHBsdXMgYW55IG1vZHVsZXMgaW1wb3J0ZWQuICBJZiBzb21lCisgICAgICAgIGNoYXJhY3RlcnMgaGF2ZSBiZWVuIGVudGVyZWQsIHRoZSBBQ1cgd2lsbCBhdHRlbXB0IHRvIGJlIG1vcmUgc3BlY2lmaWMuCiAKLQlJZiBzdHJpbmcgb2YgY2hhcmFjdGVycyBpcyB0eXBlZCwgdGhlIEFDVyBzZWxlY3Rpb24gd2lsbCBqdW1wIHRvIHRoZQotCWVudHJ5IG1vc3QgY2xvc2VseSBtYXRjaGluZyB0aG9zZSBjaGFyYWN0ZXJzLiBFbnRlcmluZyBhIFRhYiB3aWxsIGNhdXNlCi0JdGhlIGxvbmdlc3Qgbm9uLWFtYmlndW91cyBtYXRjaCB0byBiZSBlbnRlcmVkIGluIHRoZSBFZGl0IHdpbmRvdyBvcgotCVNoZWxsLiAgVHdvIFRhYnMgaW4gYSByb3cgd2lsbCBzdXBwbHkgdGhlIGN1cnJlbnQgQUNXIHNlbGVjdGlvbiwgYXMKLQl3aWxsIFJldHVybiBvciBhIGRvdWJsZSBjbGljay4gIEN1cnNvciBrZXlzLCBQYWdlIFVwL0Rvd24sIG1vdXNlCi0Jc2VsZWN0aW9uLCBhbmQgdGhlIHNjcm9sbHdoZWVsIGFsbCBvcGVyYXRlIG9uIHRoZSBBQ1cuCisgICAgICAgIElmIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGlzIHR5cGVkLCB0aGUgQUNXIHNlbGVjdGlvbiB3aWxsIGp1bXAgdG8gdGhlCisgICAgICAgIGVudHJ5IG1vc3QgY2xvc2VseSBtYXRjaGluZyB0aG9zZSBjaGFyYWN0ZXJzLiBFbnRlcmluZyBhIHRhYiB3aWxsIGNhdXNlCisgICAgICAgIHRoZSBsb25nZXN0IG5vbi1hbWJpZ3VvdXMgbWF0Y2ggdG8gYmUgZW50ZXJlZCBpbiB0aGUgRWRpdCB3aW5kb3cgb3IKKyAgICAgICAgU2hlbGwuICBUd28gdGFicyBpbiBhIHJvdyB3aWxsIHN1cHBseSB0aGUgY3VycmVudCBBQ1cgc2VsZWN0aW9uLCBhcworICAgICAgICB3aWxsIHJldHVybiBvciBhIGRvdWJsZSBjbGljay4gIEN1cnNvciBrZXlzLCBQYWdlIFVwL0Rvd24sIG1vdXNlCisgICAgICAgIHNlbGVjdGlvbiwgYW5kIHRoZSBzY3JvbGwgd2hlZWwgYWxsIG9wZXJhdGUgb24gdGhlIEFDVy4KIAotCSdIaWRkZW4nIGF0dHJpYnV0ZXMgY2FuIGJlIGFjY2Vzc2VkIGJ5IHR5cGluZyB0aGUgYmVnaW5uaW5nIG9mIGhpZGRlbgotCW5hbWUgYWZ0ZXIgYSAnLicuICBlLmcuICdfJy4gIFRoaXMgYWxsb3dzIGFjY2VzcyB0byBtb2R1bGVzIHdpdGgKLQknX19hbGxfXycgc2V0LCBvciB0byBjbGFzcy1wcml2YXRlIGF0dHJpYnV0ZXMuCisgICAgICAgICJIaWRkZW4iIGF0dHJpYnV0ZXMgY2FuIGJlIGFjY2Vzc2VkIGJ5IHR5cGluZyB0aGUgYmVnaW5uaW5nIG9mIGhpZGRlbgorICAgICAgICBuYW1lIGFmdGVyIGEgJy4nLCAgZS5nLiAnXycuICBUaGlzIGFsbG93cyBhY2Nlc3MgdG8gbW9kdWxlcyB3aXRoCisgICAgICAgICdfX2FsbF9fJyBzZXQsIG9yIHRvIGNsYXNzLXByaXZhdGUgYXR0cmlidXRlcy4KIAotCUNvbXBsZXRpb25zIGFuZCB0aGUgJ0V4cGFuZCBXb3JkJyBmYWNpbGl0eSBjYW4gc2F2ZSBhIGxvdCBvZiB0eXBpbmchCisgICAgICAgIENvbXBsZXRpb25zIGFuZCB0aGUgJ0V4cGFuZCBXb3JkJyBmYWNpbGl0eSBjYW4gc2F2ZSBhIGxvdCBvZiB0eXBpbmchCiAKLQlDb21wbGV0aW9ucyBhcmUgY3VycmVudGx5IGxpbWl0ZWQgdG8gdGhvc2UgaW4gdGhlIG5hbWVzcGFjZXMuICBOYW1lcyBpbgotCWFuIEVkaXQgd2luZG93IHdoaWNoIGFyZSBub3QgdmlhIF9fbWFpbl9fIG9yIHN5cy5tb2R1bGVzIHdpbGwgbm90IGJlCi0JZm91bmQuICBSdW4gdGhlIG1vZHVsZSBvbmNlIHdpdGggeW91ciBpbXBvcnRzIHRvIGNvcnJlY3QgdGhpcwotCXNpdHVhdGlvbi4gIE5vdGUgdGhhdCBJRExFIGl0c2VsZiBwbGFjZXMgcXVpdGUgYSBmZXcgbW9kdWxlcyBpbgotCXN5cy5tb2R1bGVzLCBzbyBtdWNoIGNhbiBiZSBmb3VuZCBieSBkZWZhdWx0LCBlLmcuIHRoZSByZSBtb2R1bGUuCisgICAgICAgIENvbXBsZXRpb25zIGFyZSBjdXJyZW50bHkgbGltaXRlZCB0byB0aG9zZSBpbiB0aGUgbmFtZXNwYWNlcy4gIE5hbWVzIGluCisgICAgICAgIGFuIEVkaXRvciB3aW5kb3cgd2hpY2ggYXJlIG5vdCB2aWEgX19tYWluX18gb3Igc3lzLm1vZHVsZXMgd2lsbCBub3QgYmUKKyAgICAgICAgZm91bmQuICBSdW4gdGhlIG1vZHVsZSBvbmNlIHdpdGggeW91ciBpbXBvcnRzIHRvIGNvcnJlY3QgdGhpcworICAgICAgICBzaXR1YXRpb24uICBOb3RlIHRoYXQgSURMRSBpdHNlbGYgcGxhY2VzIHF1aXRlIGEgZmV3IG1vZHVsZXMgaW4KKyAgICAgICAgc3lzLm1vZHVsZXMsIHNvIG11Y2ggY2FuIGJlIGZvdW5kIGJ5IGRlZmF1bHQsIGUuZy4gdGhlIHJlIG1vZHVsZS4KIAotCUlmIHlvdSBkb24ndCBsaWtlIHRoZSBBQ1cgcG9wcGluZyB1cCB1bmJpZGRlbiwgc2ltcGx5IG1ha2UgdGhlIGRlbGF5Ci0JbG9uZ2VyIG9yIGRpc2FibGUgdGhlIGV4dGVuc2lvbi4gIE9UT0gsIHlvdSBjb3VsZCBtYWtlIHRoZSBkZWxheSB6ZXJvLgotCi0JWW91IGNvdWxkIGFsc28gc3dpdGNoIG9mZiB0aGUgQ2FsbFRpcHMgZXh0ZW5zaW9uLiAgKFdlIHdpbGwgYmUgYWRkaW5nCi0JYSBkZWxheSB0byB0aGUgY2FsbCB0aXAgd2luZG93LikKKyAgICAgICAgSWYgeW91IGRvbid0IGxpa2UgdGhlIEFDVyBwb3BwaW5nIHVwIHVuYmlkZGVuLCBzaW1wbHkgbWFrZSB0aGUgZGVsYXkKKyAgICAgICAgbG9uZ2VyIG9yIGRpc2FibGUgdGhlIGV4dGVuc2lvbi4gIE9yIGFub3RoZXIgb3B0aW9uIGlzIHRoZSBkZWxheSBjb3VsZAorICAgICAgICBiZSBzZXQgdG8gemVyby4gQW5vdGhlciBhbHRlcm5hdGl2ZSB0byBwcmV2ZW50aW5nIEFDVyBwb3B1cHMgaXMgdG8KKyAgICAgICAgZGlzYWJsZSB0aGUgY2FsbCB0aXBzIGV4dGVuc2lvbi4KIAogUHl0aG9uIFNoZWxsIHdpbmRvdzoKIAotCUNvbnRyb2wtYyBpbnRlcnJ1cHRzIGV4ZWN1dGluZyBjb21tYW5kLgotCUNvbnRyb2wtZCBzZW5kcyBlbmQtb2YtZmlsZTsgY2xvc2VzIHdpbmRvdyBpZiB0eXBlZCBhdCA+Pj4gcHJvbXB0LgorICAgICAgICBDb250cm9sLWMgaW50ZXJydXB0cyBleGVjdXRpbmcgY29tbWFuZC4KKyAgICAgICAgQ29udHJvbC1kIHNlbmRzIGVuZC1vZi1maWxlOyBjbG9zZXMgd2luZG93IGlmIHR5cGVkIGF0ID4+PiBwcm9tcHQuCisgICAgICAgIEFsdC0vIGV4cGFuZCB3b3JkIGlzIGFsc28gdXNlZnVsIHRvIHJlZHVjZSB0eXBpbmcuCiAKICAgICBDb21tYW5kIGhpc3Rvcnk6CiAKLQlBbHQtcCByZXRyaWV2ZXMgcHJldmlvdXMgY29tbWFuZCBtYXRjaGluZyB3aGF0IHlvdSBoYXZlIHR5cGVkLgotCUFsdC1uIHJldHJpZXZlcyBuZXh0LgotCSAgICAgIChUaGVzZSBhcmUgQ29udHJvbC1wLCBDb250cm9sLW4gb24gT1MgWCkKLQlSZXR1cm4gd2hpbGUgY3Vyc29yIGlzIG9uIGEgcHJldmlvdXMgY29tbWFuZCByZXRyaWV2ZXMgdGhhdCBjb21tYW5kLgotCUV4cGFuZCB3b3JkIGlzIGFsc28gdXNlZnVsIHRvIHJlZHVjZSB0eXBpbmcuCisgICAgICAgIEFsdC1wIHJldHJpZXZlcyBwcmV2aW91cyBjb21tYW5kIG1hdGNoaW5nIHdoYXQgeW91IGhhdmUgdHlwZWQuIE9uIE9TIFgKKyAgICAgICAgdXNlIENvbnRyb2wtcC4KKyAgICAgICAgQWx0LW4gcmV0cmlldmVzIG5leHQuIE9uIE9TIFggdXNlIENvbnRyb2wtbi4KKyAgICAgICAgUmV0dXJuIHdoaWxlIGN1cnNvciBpcyBvbiBhIHByZXZpb3VzIGNvbW1hbmQgcmV0cmlldmVzIHRoYXQgY29tbWFuZC4KIAogICAgIFN5bnRheCBjb2xvcnM6CiAKLQlUaGUgY29sb3JpbmcgaXMgYXBwbGllZCBpbiBhIGJhY2tncm91bmQgInRocmVhZCIsIHNvIHlvdSBtYXkKLQlvY2Nhc2lvbmFsbHkgc2VlIHVuY29sb3JpemVkIHRleHQuICBUbyBjaGFuZ2UgdGhlIGNvbG9yCi0Jc2NoZW1lLCB1c2UgdGhlIENvbmZpZ3VyZSBJRExFIC8gSGlnaGxpZ2h0aW5nIGRpYWxvZy4KKyAgICAgICAgVGhlIGNvbG9yaW5nIGlzIGFwcGxpZWQgaW4gYSBiYWNrZ3JvdW5kICJ0aHJlYWQiLCBzbyB5b3UgbWF5CisgICAgICAgIG9jY2FzaW9uYWxseSBzZWUgdW5jb2xvcml6ZWQgdGV4dC4gIFRvIGNoYW5nZSB0aGUgY29sb3IKKyAgICAgICAgc2NoZW1lLCB1c2UgdGhlIENvbmZpZ3VyZSBJRExFIC8gSGlnaGxpZ2h0aW5nIGRpYWxvZy4KIAogICAgIFB5dGhvbiBkZWZhdWx0IHN5bnRheCBjb2xvcnM6CiAKLQlLZXl3b3JkcwlvcmFuZ2UKLQlCdWlsdGlucwlyb3lhbCBwdXJwbGUKLQlTdHJpbmdzCQlncmVlbgotCUNvbW1lbnRzCXJlZAotCURlZmluaXRpb25zCWJsdWUKKyAgICAgICAgS2V5d29yZHMgICAgICAgIG9yYW5nZQorICAgICAgICBCdWlsdGlucyAgICAgICAgcm95YWwgcHVycGxlCisgICAgICAgIFN0cmluZ3MgICAgICAgICBncmVlbgorICAgICAgICBDb21tZW50cyAgICAgICAgcmVkCisgICAgICAgIERlZmluaXRpb25zICAgICBibHVlCiAKICAgICBTaGVsbCBkZWZhdWx0IGNvbG9yczoKIAotCUNvbnNvbGUgb3V0cHV0CWJyb3duCi0Jc3Rkb3V0CQlibHVlCi0Jc3RkZXJyCQlyZWQKLQlzdGRpbgkJYmxhY2sKKyAgICAgICAgQ29uc29sZSBvdXRwdXQgIGJyb3duCisgICAgICAgIHN0ZG91dCAgICAgICAgICBibHVlCisgICAgICAgIHN0ZGVyciAgICAgICAgICByZWQKKyAgICAgICAgc3RkaW4gICAgICAgICAgIGJsYWNrCiAKIE90aGVyIHByZWZlcmVuY2VzOgogCi0JVGhlIGZvbnQgcHJlZmVyZW5jZXMsIGtleWJpbmRpbmcsIGFuZCBzdGFydHVwIHByZWZlcmVuY2VzIGNhbgotCWJlIGNoYW5nZWQgdXNpbmcgdGhlIFNldHRpbmdzIGRpYWxvZy4KKyAgICAgICAgVGhlIGZvbnQgcHJlZmVyZW5jZXMsIGhpZ2hsaWdodGluZywga2V5cywgYW5kIGdlbmVyYWwgcHJlZmVyZW5jZXMgY2FuCisgICAgICAgIGJlIGNoYW5nZWQgdmlhIHRoZSBDb25maWd1cmUgSURMRSBtZW51IG9wdGlvbi4gIEJlIHN1cmUgdG8gbm90ZSB0aGF0CisgICAgICAgIGtleXMgY2FuIGJlIHVzZXIgZGVmaW5lZCwgSURMRSBzaGlwcyB3aXRoIGZvdXIgYnVpbHQgaW4ga2V5IHNldHMuIEluCisgICAgICAgIGFkZGl0aW9uIGEgdXNlciBjYW4gY3JlYXRlIGEgY3VzdG9tIGtleSBzZXQgaW4gdGhlIENvbmZpZ3VyZSBJRExFCisgICAgICAgIGRpYWxvZyB1bmRlciB0aGUga2V5cyB0YWIuCiAKIENvbW1hbmQgbGluZSB1c2FnZToKIAotCUVudGVyIGlkbGUgLWggYXQgdGhlIGNvbW1hbmQgcHJvbXB0IHRvIGdldCBhIHVzYWdlIG1lc3NhZ2UuCisgICAgICAgIEVudGVyIGlkbGUgLWggYXQgdGhlIGNvbW1hbmQgcHJvbXB0IHRvIGdldCBhIHVzYWdlIG1lc3NhZ2UuCiAKLVJ1bm5pbmcgd2l0aG91dCBhIHN1YnByb2Nlc3M6CisgICAgICAgIGlkbGUucHkgWy1jIGNvbW1hbmRdIFstZF0gWy1lXSBbLXNdIFstdCB0aXRsZV0gW2FyZ10gLi4uCiAKLQlJZiBJRExFIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgLW4gY29tbWFuZCBsaW5lIHN3aXRjaCBpdCB3aWxsIHJ1biBpbiBhCi0Jc2luZ2xlIHByb2Nlc3MgYW5kIHdpbGwgbm90IGNyZWF0ZSB0aGUgc3VicHJvY2VzcyB3aGljaCBydW5zIHRoZSBSUEMKLQlQeXRob24gZXhlY3V0aW9uIHNlcnZlci4gIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiBQeXRob24gY2Fubm90IGNyZWF0ZQotCXRoZSBzdWJwcm9jZXNzIG9yIHRoZSBSUEMgc29ja2V0IGludGVyZmFjZSBvbiB5b3VyIHBsYXRmb3JtLiAgSG93ZXZlciwKLQlpbiB0aGlzIG1vZGUgdXNlciBjb2RlIGlzIG5vdCBpc29sYXRlZCBmcm9tIElETEUgaXRzZWxmLiAgQWxzbywgdGhlCi0JZW52aXJvbm1lbnQgaXMgbm90IHJlc3RhcnRlZCB3aGVuIFJ1bi9SdW4gTW9kdWxlIChGNSkgaXMgc2VsZWN0ZWQuICBJZgotCXlvdXIgY29kZSBoYXMgYmVlbiBtb2RpZmllZCwgeW91IG11c3QgcmVsb2FkKCkgdGhlIGFmZmVjdGVkIG1vZHVsZXMgYW5kCi0JcmUtaW1wb3J0IGFueSBzcGVjaWZpYyBpdGVtcyAoZS5nLiBmcm9tIGZvbyBpbXBvcnQgYmF6KSBpZiB0aGUgY2hhbmdlcwotCWFyZSB0byB0YWtlIGVmZmVjdC4gIEZvciB0aGVzZSByZWFzb25zLCBpdCBpcyBwcmVmZXJhYmxlIHRvIHJ1biBJRExFCi0Jd2l0aCB0aGUgZGVmYXVsdCBzdWJwcm9jZXNzIGlmIGF0IGFsbCBwb3NzaWJsZS4KKyAgICAgICAgLWMgY29tbWFuZCAgcnVuIHRoaXMgY29tbWFuZAorICAgICAgICAtZCAgICAgICAgICBlbmFibGUgZGVidWdnZXIKKyAgICAgICAgLWUgICAgICAgICAgZWRpdCBtb2RlOyBhcmd1bWVudHMgYXJlIGZpbGVzIHRvIGJlIGVkaXRlZAorICAgICAgICAtcyAgICAgICAgICBydW4gJElETEVTVEFSVFVQIG9yICRQWVRIT05TVEFSVFVQIGZpcnN0CisgICAgICAgIC10IHRpdGxlICAgIHNldCB0aXRsZSBvZiBzaGVsbCB3aW5kb3cKKworICAgICAgICBJZiB0aGVyZSBhcmUgYXJndW1lbnRzOgorICAgICAgICAxLiBJZiAtZSBpcyB1c2VkLCBhcmd1bWVudHMgYXJlIGZpbGVzIG9wZW5lZCBmb3IgZWRpdGluZyBhbmQgc3lzLmFyZ3YKKyAgICAgICAgICAgcmVmbGVjdHMgdGhlIGFyZ3VtZW50cyBwYXNzZWQgdG8gSURMRSBpdHNlbGYuCisgICAgICAgIDIuIE90aGVyd2lzZSwgaWYgLWMgaXMgdXNlZCwgYWxsIGFyZ3VtZW50cyBhcmUgcGxhY2VkIGluCisgICAgICAgICAgIHN5cy5hcmd2WzE6Li4uXSwgd2l0aCBzeXMuYXJndlswXSBzZXQgdG8gLWMuCisgICAgICAgIDMuIE90aGVyd2lzZSwgaWYgbmVpdGhlciAtZSBub3IgLWMgaXMgdXNlZCwgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGEKKyAgICAgICAgICAgc2NyaXB0IHdoaWNoIGlzIGV4ZWN1dGVkIHdpdGggdGhlIHJlbWFpbmluZyBhcmd1bWVudHMgaW4KKyAgICAgICAgICAgc3lzLmFyZ3ZbMTouLi5dICBhbmQgc3lzLmFyZ3ZbMF0gc2V0IHRvIHRoZSBzY3JpcHQgbmFtZS4gIElmIHRoZQorICAgICAgICAgICBzY3JpcHQgbmFtZSBpcyAtLCBubyBzY3JpcHQgaXMgZXhlY3V0ZWQgYnV0IGFuIGludGVyYWN0aXZlIFB5dGhvbgorICAgICAgICAgICBzZXNzaW9uIGlzIHN0YXJ0ZWQ7IHRoZSBhcmd1bWVudHMgYXJlIHN0aWxsIGF2YWlsYWJsZSBpbiBzeXMuYXJndi4KKworUnVubmluZyB3aXRob3V0IGEgc3VicHJvY2VzczogKERFUFJFQ0FURUQgaW4gUHl0aG9uIDMuNCBzZWUgSXNzdWUgMTYxMjMpCisKKyAgICAgICAgSWYgSURMRSBpcyBzdGFydGVkIHdpdGggdGhlIC1uIGNvbW1hbmQgbGluZSBzd2l0Y2ggaXQgd2lsbCBydW4gaW4gYQorICAgICAgICBzaW5nbGUgcHJvY2VzcyBhbmQgd2lsbCBub3QgY3JlYXRlIHRoZSBzdWJwcm9jZXNzIHdoaWNoIHJ1bnMgdGhlIFJQQworICAgICAgICBQeXRob24gZXhlY3V0aW9uIHNlcnZlci4gIFRoaXMgY2FuIGJlIHVzZWZ1bCBpZiBQeXRob24gY2Fubm90IGNyZWF0ZQorICAgICAgICB0aGUgc3VicHJvY2VzcyBvciB0aGUgUlBDIHNvY2tldCBpbnRlcmZhY2Ugb24geW91ciBwbGF0Zm9ybS4gIEhvd2V2ZXIsCisgICAgICAgIGluIHRoaXMgbW9kZSB1c2VyIGNvZGUgaXMgbm90IGlzb2xhdGVkIGZyb20gSURMRSBpdHNlbGYuICBBbHNvLCB0aGUKKyAgICAgICAgZW52aXJvbm1lbnQgaXMgbm90IHJlc3RhcnRlZCB3aGVuIFJ1bi9SdW4gTW9kdWxlIChGNSkgaXMgc2VsZWN0ZWQuICBJZgorICAgICAgICB5b3VyIGNvZGUgaGFzIGJlZW4gbW9kaWZpZWQsIHlvdSBtdXN0IHJlbG9hZCgpIHRoZSBhZmZlY3RlZCBtb2R1bGVzIGFuZAorICAgICAgICByZS1pbXBvcnQgYW55IHNwZWNpZmljIGl0ZW1zIChlLmcuIGZyb20gZm9vIGltcG9ydCBiYXopIGlmIHRoZSBjaGFuZ2VzCisgICAgICAgIGFyZSB0byB0YWtlIGVmZmVjdC4gIEZvciB0aGVzZSByZWFzb25zLCBpdCBpcyBwcmVmZXJhYmxlIHRvIHJ1biBJRExFCisgICAgICAgIHdpdGggdGhlIGRlZmF1bHQgc3VicHJvY2VzcyBpZiBhdCBhbGwgcG9zc2libGUuCiAKIEV4dGVuc2lvbnM6CiAKLQlJRExFIGNvbnRhaW5zIGFuIGV4dGVuc2lvbiBmYWNpbGl0eS4gIFNlZSB0aGUgYmVnaW5uaW5nIG9mCi0JY29uZmlnLWV4dGVuc2lvbnMuZGVmIGluIHRoZSBpZGxlbGliIGRpcmVjdG9yeSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KLQlUaGUgZGVmYXVsdCBleHRlbnNpb25zIGFyZSBjdXJyZW50bHk6CisgICAgICAgIElETEUgY29udGFpbnMgYW4gZXh0ZW5zaW9uIGZhY2lsaXR5LiAgU2VlIHRoZSBiZWdpbm5pbmcgb2YKKyAgICAgICAgY29uZmlnLWV4dGVuc2lvbnMuZGVmIGluIHRoZSBpZGxlbGliIGRpcmVjdG9yeSBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KKyAgICAgICAgVGhlIGRlZmF1bHQgZXh0ZW5zaW9ucyBhcmUgY3VycmVudGx5OgogCi0JCUZvcm1hdFBhcmFncmFwaAotCQlBdXRvRXhwYW5kCi0JCVpvb21IZWlnaHQKLQkJU2NyaXB0QmluZGluZwotCQlDYWxsVGlwcwotCQlQYXJlbk1hdGNoCi0JCUF1dG9Db21wbGV0ZQotCQlDb2RlQ29udGV4dAorICAgICAgICAgICAgICAgIEZvcm1hdFBhcmFncmFwaAorICAgICAgICAgICAgICAgIEF1dG9FeHBhbmQKKyAgICAgICAgICAgICAgICBab29tSGVpZ2h0CisgICAgICAgICAgICAgICAgU2NyaXB0QmluZGluZworICAgICAgICAgICAgICAgIENhbGxUaXBzCisgICAgICAgICAgICAgICAgUGFyZW5NYXRjaAorICAgICAgICAgICAgICAgIEF1dG9Db21wbGV0ZQorICAgICAgICAgICAgICAgIENvZGVDb250ZXh0CmRpZmYgLS1naXQgYS9MaWIvaWRsZWxpYi9pZGxldmVyLnB5IGIvTGliL2lkbGVsaWIvaWRsZXZlci5weQppbmRleCAxM2IyYjliLi5lZmU5NmE0IDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9pZGxldmVyLnB5CisrKyBiL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkKQEAgLTEgKzEgQEAKLUlETEVfVkVSU0lPTiA9ICIzLjMuMSIKK0lETEVfVkVSU0lPTiA9ICIzLjQuMGEwIgpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvcnBjLnB5IGIvTGliL2lkbGVsaWIvcnBjLnB5CmluZGV4IDYwOTNjZTIuLjljNTFiOGYgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL3JwYy5weQorKysgYi9MaWIvaWRsZWxpYi9ycGMucHkKQEAgLTE5OSw3ICsxOTksNyBAQAogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgogICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICByYWlzZQogICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4OgogICAgICAgICAgICAgcmV0dXJuICgiQ0FMTEVYQyIsIGV4KQpAQCAtMzM5LDggKzMzOSw4IEBACiAgICAgICAgICAgICAgICAgciwgdywgeCA9IHNlbGVjdC5zZWxlY3QoW10sIFtzZWxmLnNvY2tdLCBbXSkKICAgICAgICAgICAgICAgICBuID0gc2VsZi5zb2NrLnNlbmQoc1s6QlVGU0laRV0pCiAgICAgICAgICAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBUeXBlRXJyb3IpOgotICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoInNvY2tldCBubyBsb25nZXIgZXhpc3RzIikKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigic29ja2V0IG5vIGxvbmdlciBleGlzdHMiKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcyA9IHNbbjpdCkBAIC0zNTcsNyArMzU3LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHMgPSBzZWxmLnNvY2sucmVjdihCVUZTSVpFKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yCiAgICAgICAgICAgICBpZiBsZW4ocykgPT0gMDoKICAgICAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcgpAQCAtNTM3LDcgKzUzNyw3IEBACiAgICAgICAgICAgICBTb2NrZXRJTy5fX2luaXRfXyhzZWxmLCB3b3JraW5nX3NvY2spCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwcmludCgiKiogSW52YWxpZCBob3N0OiAiLCBhZGRyZXNzLCBmaWxlPXN5cy5fX3N0ZGVycl9fKQotICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmVycm9yCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yCiAKICAgICBkZWYgZ2V0X3JlbW90ZV9wcm94eShzZWxmLCBvaWQpOgogICAgICAgICByZXR1cm4gUlBDUHJveHkoc2VsZiwgb2lkKQpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvcnVuLnB5IGIvTGliL2lkbGVsaWIvcnVuLnB5CmluZGV4IGQxMDU5MTIuLmM2NjY3OWMgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL3J1bi5weQorKysgYi9MaWIvaWRsZWxpYi9ydW4ucHkKQEAgLTEzNyw4ICsxMzcsOCBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZXJ2ZXIgPSBNeVJQQ1NlcnZlcihhZGRyZXNzLCBNeUhhbmRsZXIpCiAgICAgICAgICAgICBicmVhawotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGVycjoKLSAgICAgICAgICAgIHByaW50KCJJRExFIFN1YnByb2Nlc3M6IHNvY2tldCBlcnJvcjogIiArIGVyci5hcmdzWzFdICsKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgcHJpbnQoIklETEUgU3VicHJvY2VzczogT1NFcnJvcjogIiArIGVyci5hcmdzWzFdICsKICAgICAgICAgICAgICAgICAgICIsIHJldHJ5aW5nLi4uLiIsIGZpbGU9c3lzLl9fc3RkZXJyX18pCiAgICAgICAgICAgICBzb2NrZXRfZXJyb3IgPSBlcnIKICAgICBlbHNlOgpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvdGV4dFZpZXcucHkgYi9MaWIvaWRsZWxpYi90ZXh0Vmlldy5weQppbmRleCAxZWFhNDY0Li5hZTFmMTk1IDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi90ZXh0Vmlldy5weQorKysgYi9MaWIvaWRsZWxpYi90ZXh0Vmlldy5weQpAQCAtNjYsNyArNjYsNyBAQAogICAgIHRyeToKICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncicsIGVuY29kaW5nPWVuY29kaW5nKSBhcyBmaWxlOgogICAgICAgICAgICAgY29udGVudHMgPSBmaWxlLnJlYWQoKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBpbXBvcnQgdGtpbnRlci5tZXNzYWdlYm94IGFzIHRrTWVzc2FnZUJveAogICAgICAgICB0a01lc3NhZ2VCb3guc2hvd2Vycm9yKHRpdGxlPSdGaWxlIExvYWQgRXJyb3InLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9J1VuYWJsZSB0byBsb2FkIGZpbGUgJXIgLicgJSBmaWxlbmFtZSwKZGlmZiAtLWdpdCBhL0xpYi9pbWFwbGliLnB5IGIvTGliL2ltYXBsaWIucHkKaW5kZXggNzI0ZjlkMS4uYzk1OWYxMiAxMDA2NDQKLS0tIGEvTGliL2ltYXBsaWIucHkKKysrIGIvTGliL2ltYXBsaWIucHkKQEAgLTE3Niw3ICsxNzYsNyBAQAogICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuc2h1dGRvd24oKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIHJhaXNlCiAKQEAgLTI2OSw3ICsyNjksNyBAQAogICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnNvY2suc2h1dGRvd24oc29ja2V0LlNIVVRfUkRXUikKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgIyBUaGUgc2VydmVyIG1pZ2h0IGFscmVhZHkgaGF2ZSBjbG9zZWQgdGhlIGNvbm5lY3Rpb24KICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRU5PVENPTk46CiAgICAgICAgICAgICAgICAgcmFpc2UKQEAgLTkwMyw3ICs5MDMsNyBAQAogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuc2VuZChkYXRhICsgQ1JMRikKLSAgICAgICAgZXhjZXB0IChzb2NrZXQuZXJyb3IsIE9TRXJyb3IpIGFzIHZhbDoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgdmFsOgogICAgICAgICAgICAgcmFpc2Ugc2VsZi5hYm9ydCgnc29ja2V0IGVycm9yOiAlcycgJSB2YWwpCiAKICAgICAgICAgaWYgbGl0ZXJhbCBpcyBOb25lOgpAQCAtOTI4LDcgKzkyOCw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5zZW5kKGxpdGVyYWwpCiAgICAgICAgICAgICAgICAgc2VsZi5zZW5kKENSTEYpCi0gICAgICAgICAgICBleGNlcHQgKHNvY2tldC5lcnJvciwgT1NFcnJvcikgYXMgdmFsOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgdmFsOgogICAgICAgICAgICAgICAgIHJhaXNlIHNlbGYuYWJvcnQoJ3NvY2tldCBlcnJvcjogJXMnICUgdmFsKQogCiAgICAgICAgICAgICBpZiBub3QgbGl0ZXJhdG9yOgpkaWZmIC0tZ2l0IGEvTGliL2ltZ2hkci5weSBiL0xpYi9pbWdoZHIucHkKaW5kZXggNmVlNDVkYS4uMGNiYTA2MyAxMDA2NDQKLS0tIGEvTGliL2ltZ2hkci5weQorKysgYi9MaWIvaW1naGRyLnB5CkBAIC0xNDksNyArMTQ5LDcgQEAKICAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHByaW50KHdoYXQoZmlsZW5hbWUpKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBwcmludCgnKioqIG5vdCBmb3VuZCAqKionKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weSBiL0xpYi9pbXBvcnRsaWIvX19pbml0X18ucHkKaW5kZXggMjJjOTBmMi4uZDA3ZjAyZSAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weQorKysgYi9MaWIvaW1wb3J0bGliL19faW5pdF9fLnB5CkBAIC02OCw2ICs2OCw4IEBACiAgICAgICAgICAgICByZXR1cm4gbG9hZGVyCiAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICBwYXNzCisgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd7fS5fX2xvYWRlcl9fIGlzIG5vdCBzZXQnLmZvcm1hdChuYW1lKSkKICAgICByZXR1cm4gX2Jvb3RzdHJhcC5fZmluZF9tb2R1bGUobmFtZSwgcGF0aCkKIAogCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkgYi9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkKaW5kZXggMDhkNWViNC4uNzdjMTRiYyAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weQpAQCAtNDgsMTMgKzQ4LDcgQEAKICAgICBYWFggVGVtcG9yYXJ5IHVudGlsIG1hcnNoYWwncyBsb25nIGZ1bmN0aW9ucyBhcmUgZXhwb3NlZC4KIAogICAgICIiIgotICAgIHggPSBpbnQoeCkKLSAgICBpbnRfYnl0ZXMgPSBbXQotICAgIGludF9ieXRlcy5hcHBlbmQoeCAmIDB4RkYpCi0gICAgaW50X2J5dGVzLmFwcGVuZCgoeCA+PiA4KSAmIDB4RkYpCi0gICAgaW50X2J5dGVzLmFwcGVuZCgoeCA+PiAxNikgJiAweEZGKQotICAgIGludF9ieXRlcy5hcHBlbmQoKHggPj4gMjQpICYgMHhGRikKLSAgICByZXR1cm4gYnl0ZWFycmF5KGludF9ieXRlcykKKyAgICByZXR1cm4gKGludCh4KSAmIDB4RkZGRkZGRkYpLnRvX2J5dGVzKDQsICdsaXR0bGUnKQogCiAKICMgVE9ETzogRXhwb3NlIGZyb20gbWFyc2hhbApAQCAtNjQsMzUgKzU4LDI1IEBACiAgICAgWFhYIFRlbXBvcmFyeSB1bnRpbCBtYXJzaGFsJ3MgbG9uZyBmdW5jdGlvbiBhcmUgZXhwb3NlZC4KIAogICAgICIiIgotICAgIHggPSBpbnRfYnl0ZXNbMF0KLSAgICB4IHw9IGludF9ieXRlc1sxXSA8PCA4Ci0gICAgeCB8PSBpbnRfYnl0ZXNbMl0gPDwgMTYKLSAgICB4IHw9IGludF9ieXRlc1szXSA8PCAyNAotICAgIHJldHVybiB4CisgICAgcmV0dXJuIGludC5mcm9tX2J5dGVzKGludF9ieXRlcywgJ2xpdHRsZScpCiAKIAogZGVmIF9wYXRoX2pvaW4oKnBhdGhfcGFydHMpOgogICAgICIiIlJlcGxhY2VtZW50IGZvciBvcy5wYXRoLmpvaW4oKS4iIiIKLSAgICBuZXdfcGFydHMgPSBbXQotICAgIGZvciBwYXJ0IGluIHBhdGhfcGFydHM6Ci0gICAgICAgIGlmIG5vdCBwYXJ0OgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgbmV3X3BhcnRzLmFwcGVuZChwYXJ0KQotICAgICAgICBpZiBwYXJ0Wy0xXSBub3QgaW4gcGF0aF9zZXBhcmF0b3JzOgotICAgICAgICAgICAgbmV3X3BhcnRzLmFwcGVuZChwYXRoX3NlcCkKLSAgICByZXR1cm4gJycuam9pbihuZXdfcGFydHNbOi0xXSkgICMgRHJvcCBzdXBlcmZsdW91cyBwYXRoIHNlcGFyYXRvci4KKyAgICByZXR1cm4gcGF0aF9zZXAuam9pbihbcGFydC5yc3RyaXAocGF0aF9zZXBhcmF0b3JzKQorICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcGFydCBpbiBwYXRoX3BhcnRzIGlmIHBhcnRdKQogCiAKIGRlZiBfcGF0aF9zcGxpdChwYXRoKToKICAgICAiIiJSZXBsYWNlbWVudCBmb3Igb3MucGF0aC5zcGxpdCgpLiIiIgorICAgIGlmIGxlbihwYXRoX3NlcGFyYXRvcnMpID09IDE6CisgICAgICAgIGZyb250LCBfLCB0YWlsID0gcGF0aC5ycGFydGl0aW9uKHBhdGhfc2VwKQorICAgICAgICByZXR1cm4gZnJvbnQsIHRhaWwKICAgICBmb3IgeCBpbiByZXZlcnNlZChwYXRoKToKICAgICAgICAgaWYgeCBpbiBwYXRoX3NlcGFyYXRvcnM6Ci0gICAgICAgICAgICBzZXAgPSB4Ci0gICAgICAgICAgICBicmVhawotICAgIGVsc2U6Ci0gICAgICAgIHNlcCA9IHBhdGhfc2VwCi0gICAgZnJvbnQsIF8sIHRhaWwgPSBwYXRoLnJwYXJ0aXRpb24oc2VwKQotICAgIHJldHVybiBmcm9udCwgdGFpbAorICAgICAgICAgICAgZnJvbnQsIHRhaWwgPSBwYXRoLnJzcGxpdCh4LCBtYXhzcGxpdD0xKQorICAgICAgICAgICAgcmV0dXJuIGZyb250LCB0YWlsCisgICAgcmV0dXJuICcnLCBwYXRoCiAKIAogZGVmIF9wYXRoX2lzX21vZGVfdHlwZShwYXRoLCBtb2RlKToKQEAgLTIzNyw3ICsyMjEsNyBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLndha2V1cC5yZWxlYXNlKCkKIAogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuICJfTW9kdWxlTG9jayglcikgYXQgJWQiICUgKHNlbGYubmFtZSwgaWQoc2VsZikpCisgICAgICAgIHJldHVybiAiX01vZHVsZUxvY2soeyFyfSkgYXQge30iLmZvcm1hdChzZWxmLm5hbWUsIGlkKHNlbGYpKQogCiAKIGNsYXNzIF9EdW1teU1vZHVsZUxvY2s6CkBAIC0yNTgsNyArMjQyLDcgQEAKICAgICAgICAgc2VsZi5jb3VudCAtPSAxCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiX0R1bW15TW9kdWxlTG9jayglcikgYXQgJWQiICUgKHNlbGYubmFtZSwgaWQoc2VsZikpCisgICAgICAgIHJldHVybiAiX0R1bW15TW9kdWxlTG9jayh7IXJ9KSBhdCB7fSIuZm9ybWF0KHNlbGYubmFtZSwgaWQoc2VsZikpCiAKIAogIyBUaGUgZm9sbG93aW5nIHR3byBmdW5jdGlvbnMgYXJlIGZvciBjb25zdW1wdGlvbiBieSBQeXRob24vaW1wb3J0LmMuCkBAIC0zMTUsOTUgKzI5OSwxMDIgQEAKIAogIyBGaW5kZXIvbG9hZGVyIHV0aWxpdHkgY29kZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi0iIiJNYWdpYyB3b3JkIHRvIHJlamVjdCAucHljIGZpbGVzIGdlbmVyYXRlZCBieSBvdGhlciBQeXRob24gdmVyc2lvbnMuCi1JdCBzaG91bGQgY2hhbmdlIGZvciBlYWNoIGluY29tcGF0aWJsZSBjaGFuZ2UgdG8gdGhlIGJ5dGVjb2RlLgorIyBNYWdpYyB3b3JkIHRvIHJlamVjdCAucHljIGZpbGVzIGdlbmVyYXRlZCBieSBvdGhlciBQeXRob24gdmVyc2lvbnMuCisjIEl0IHNob3VsZCBjaGFuZ2UgZm9yIGVhY2ggaW5jb21wYXRpYmxlIGNoYW5nZSB0byB0aGUgYnl0ZWNvZGUuCisjCisjIFRoZSB2YWx1ZSBvZiBDUiBhbmQgTEYgaXMgaW5jb3Jwb3JhdGVkIHNvIGlmIHlvdSBldmVyIHJlYWQgb3Igd3JpdGUKKyMgYSAucHljIGZpbGUgaW4gdGV4dCBtb2RlIHRoZSBtYWdpYyBudW1iZXIgd2lsbCBiZSB3cm9uZzsgYWxzbywgdGhlCisjIEFwcGxlIE1QVyBjb21waWxlciBzd2FwcyB0aGVpciB2YWx1ZXMsIGJvdGNoaW5nIHN0cmluZyBjb25zdGFudHMuCisjCisjIFRoZSBtYWdpYyBudW1iZXJzIG11c3QgYmUgc3BhY2VkIGFwYXJ0IGF0IGxlYXN0IDIgdmFsdWVzLCBhcyB0aGUKKyMgLVUgaW50ZXJwZXRlciBmbGFnIHdpbGwgY2F1c2UgTUFHSUMrMSBiZWluZyB1c2VkLiBUaGV5IGhhdmUgYmVlbgorIyBvZGQgbnVtYmVycyBmb3Igc29tZSB0aW1lIG5vdy4KKyMKKyMgVGhlcmUgd2VyZSBhIHZhcmlldHkgb2Ygb2xkIHNjaGVtZXMgZm9yIHNldHRpbmcgdGhlIG1hZ2ljIG51bWJlci4KKyMgVGhlIGN1cnJlbnQgd29ya2luZyBzY2hlbWUgaXMgdG8gaW5jcmVtZW50IHRoZSBwcmV2aW91cyB2YWx1ZSBieQorIyAxMC4KKyMKKyMgU3RhcnRpbmcgd2l0aCB0aGUgYWRvcHRpb24gb2YgUEVQIDMxNDcgaW4gUHl0aG9uIDMuMiwgZXZlcnkgYnVtcCBpbiBtYWdpYworIyBudW1iZXIgYWxzbyBpbmNsdWRlcyBhIG5ldyAibWFnaWMgdGFnIiwgaS5lLiBhIGh1bWFuIHJlYWRhYmxlIHN0cmluZyB1c2VkCisjIHRvIHJlcHJlc2VudCB0aGUgbWFnaWMgbnVtYmVyIGluIF9fcHljYWNoZV9fIGRpcmVjdG9yaWVzLiAgV2hlbiB5b3UgY2hhbmdlCisjIHRoZSBtYWdpYyBudW1iZXIsIHlvdSBtdXN0IGFsc28gc2V0IGEgbmV3IHVuaXF1ZSBtYWdpYyB0YWcuICBHZW5lcmFsbHkgdGhpcworIyBjYW4gYmUgbmFtZWQgYWZ0ZXIgdGhlIFB5dGhvbiBtYWpvciB2ZXJzaW9uIG9mIHRoZSBtYWdpYyBudW1iZXIgYnVtcCwgYnV0CisjIGl0IGNhbiByZWFsbHkgYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgaXQncyBkaWZmZXJlbnQgdGhhbiBhbnl0aGluZyBlbHNlCisjIHRoYXQncyBjb21lIGJlZm9yZS4gIFRoZSB0YWdzIGFyZSBpbmNsdWRlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlLCBzdGFydGluZworIyB3aXRoIFB5dGhvbiAzLjJhMC4KKyMKKyMgS25vd24gdmFsdWVzOgorIyAgUHl0aG9uIDEuNTogICAyMDEyMQorIyAgUHl0aG9uIDEuNS4xOiAyMDEyMQorIyAgICAgUHl0aG9uIDEuNS4yOiAyMDEyMQorIyAgICAgUHl0aG9uIDEuNjogICA1MDQyOAorIyAgICAgUHl0aG9uIDIuMDogICA1MDgyMworIyAgICAgUHl0aG9uIDIuMC4xOiA1MDgyMworIyAgICAgUHl0aG9uIDIuMTogICA2MDIwMgorIyAgICAgUHl0aG9uIDIuMS4xOiA2MDIwMgorIyAgICAgUHl0aG9uIDIuMS4yOiA2MDIwMgorIyAgICAgUHl0aG9uIDIuMjogICA2MDcxNworIyAgICAgUHl0aG9uIDIuM2EwOiA2MjAxMQorIyAgICAgUHl0aG9uIDIuM2EwOiA2MjAyMQorIyAgICAgUHl0aG9uIDIuM2EwOiA2MjAxMSAoISkKKyMgICAgIFB5dGhvbiAyLjRhMDogNjIwNDEKKyMgICAgIFB5dGhvbiAyLjRhMzogNjIwNTEKKyMgICAgIFB5dGhvbiAyLjRiMTogNjIwNjEKKyMgICAgIFB5dGhvbiAyLjVhMDogNjIwNzEKKyMgICAgIFB5dGhvbiAyLjVhMDogNjIwODEgKGFzdC1icmFuY2gpCisjICAgICBQeXRob24gMi41YTA6IDYyMDkxICh3aXRoKQorIyAgICAgUHl0aG9uIDIuNWEwOiA2MjA5MiAoY2hhbmdlZCBXSVRIX0NMRUFOVVAgb3Bjb2RlKQorIyAgICAgUHl0aG9uIDIuNWIzOiA2MjEwMSAoZml4IHdyb25nIGNvZGU6IGZvciB4LCBpbiAuLi4pCisjICAgICBQeXRob24gMi41YjM6IDYyMTExIChmaXggd3JvbmcgY29kZTogeCArPSB5aWVsZCkKKyMgICAgIFB5dGhvbiAyLjVjMTogNjIxMjEgKGZpeCB3cm9uZyBsbm90YWIgd2l0aCBmb3IgbG9vcHMgYW5kCisjICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yaW5nIGNvbnN0YW50cyB0aGF0IHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCkKKyMgICAgIFB5dGhvbiAyLjVjMjogNjIxMzEgKGZpeCB3cm9uZyBjb2RlOiBmb3IgeCwgaW4gLi4uIGluIGxpc3Rjb21wL2dlbmV4cCkKKyMgICAgIFB5dGhvbiAyLjZhMDogNjIxNTEgKHBlZXBob2xlIG9wdGltaXphdGlvbnMgYW5kIFNUT1JFX01BUCBvcGNvZGUpCisjICAgICBQeXRob24gMi42YTE6IDYyMTYxIChXSVRIX0NMRUFOVVAgb3B0aW1pemF0aW9uKQorIyAgICAgUHl0aG9uIDIuN2EwOiA2MjE3MSAob3B0aW1pemUgbGlzdCBjb21wcmVoZW5zaW9ucy9jaGFuZ2UgTElTVF9BUFBFTkQpCisjICAgICBQeXRob24gMi43YTA6IDYyMTgxIChvcHRpbWl6ZSBjb25kaXRpb25hbCBicmFuY2hlczoKKyMgICAgICAgICAgICAgICAgICAgICAgICAgIGludHJvZHVjZSBQT1BfSlVNUF9JRl9GQUxTRSBhbmQgUE9QX0pVTVBfSUZfVFJVRSkKKyMgICAgIFB5dGhvbiAyLjdhMCAgNjIxOTEgKGludHJvZHVjZSBTRVRVUF9XSVRIKQorIyAgICAgUHl0aG9uIDIuN2EwICA2MjIwMSAoaW50cm9kdWNlIEJVSUxEX1NFVCkKKyMgICAgIFB5dGhvbiAyLjdhMCAgNjIyMTEgKGludHJvZHVjZSBNQVBfQUREIGFuZCBTRVRfQUREKQorIyAgICAgUHl0aG9uIDMwMDA6ICAgMzAwMAorIyAgICAgICAgICAgICAgICAgICAgMzAxMCAocmVtb3ZlZCBVTkFSWV9DT05WRVJUKQorIyAgICAgICAgICAgICAgICAgICAgMzAyMCAoYWRkZWQgQlVJTERfU0VUKQorIyAgICAgICAgICAgICAgICAgICAgMzAzMCAoYWRkZWQga2V5d29yZC1vbmx5IHBhcmFtZXRlcnMpCisjICAgICAgICAgICAgICAgICAgICAzMDQwIChhZGRlZCBzaWduYXR1cmUgYW5ub3RhdGlvbnMpCisjICAgICAgICAgICAgICAgICAgICAzMDUwIChwcmludCBiZWNvbWVzIGEgZnVuY3Rpb24pCisjICAgICAgICAgICAgICAgICAgICAzMDYwIChQRVAgMzExNSBtZXRhY2xhc3Mgc3ludGF4KQorIyAgICAgICAgICAgICAgICAgICAgMzA2MSAoc3RyaW5nIGxpdGVyYWxzIGJlY29tZSB1bmljb2RlKQorIyAgICAgICAgICAgICAgICAgICAgMzA3MSAoUEVQIDMxMDkgcmFpc2UgY2hhbmdlcykKKyMgICAgICAgICAgICAgICAgICAgIDMwODEgKFBFUCAzMTM3IG1ha2UgX19maWxlX18gYW5kIF9fbmFtZV9fIHVuaWNvZGUpCisjICAgICAgICAgICAgICAgICAgICAzMDkxIChraWxsIHN0cjggaW50ZXJuaW5nKQorIyAgICAgICAgICAgICAgICAgICAgMzEwMSAobWVyZ2UgZnJvbSAyLjZhMCwgc2VlIDYyMTUxKQorIyAgICAgICAgICAgICAgICAgICAgMzEwMyAoX19maWxlX18gcG9pbnRzIHRvIHNvdXJjZSBmaWxlKQorIyAgICAgUHl0aG9uIDMuMGE0OiAzMTExIChXSVRIX0NMRUFOVVAgb3B0aW1pemF0aW9uKS4KKyMgICAgIFB5dGhvbiAzLjBhNTogMzEzMSAobGV4aWNhbCBleGNlcHRpb24gc3RhY2tpbmcsIGluY2x1ZGluZyBQT1BfRVhDRVBUKQorIyAgICAgUHl0aG9uIDMuMWEwOiAzMTQxIChvcHRpbWl6ZSBsaXN0LCBzZXQgYW5kIGRpY3QgY29tcHJlaGVuc2lvbnM6CisjICAgICAgICAgICAgIGNoYW5nZSBMSVNUX0FQUEVORCBhbmQgU0VUX0FERCwgYWRkIE1BUF9BREQpCisjICAgICBQeXRob24gMy4xYTA6IDMxNTEgKG9wdGltaXplIGNvbmRpdGlvbmFsIGJyYW5jaGVzOgorIyAgICAgICAgICAgICBpbnRyb2R1Y2UgUE9QX0pVTVBfSUZfRkFMU0UgYW5kIFBPUF9KVU1QX0lGX1RSVUUpCisjICAgICBQeXRob24gMy4yYTA6IDMxNjAgKGFkZCBTRVRVUF9XSVRIKQorIyAgICAgICAgICAgICAgICAgICB0YWc6IGNweXRob24tMzIKKyMgICAgIFB5dGhvbiAzLjJhMTogMzE3MCAoYWRkIERVUF9UT1BfVFdPLCByZW1vdmUgRFVQX1RPUFggYW5kIFJPVF9GT1VSKQorIyAgICAgICAgICAgICAgICAgICB0YWc6IGNweXRob24tMzIKKyMgICAgIFB5dGhvbiAzLjJhMiAgMzE4MCAoYWRkIERFTEVURV9ERVJFRikKKyMgICAgIFB5dGhvbiAzLjNhMCAgMzE5MCBfX2NsYXNzX18gc3VwZXIgY2xvc3VyZSBjaGFuZ2VkCisjICAgICBQeXRob24gMy4zYTAgIDMyMDAgKF9fcXVhbG5hbWVfXyBhZGRlZCkKKyMgICAgICAgICAgICAgICAgICAgICAgMzIxMCAoYWRkZWQgc2l6ZSBtb2R1bG8gMioqMzIgdG8gdGhlIHB5YyBoZWFkZXIpCisjICAgICBQeXRob24gMy4zYTEgIDMyMjAgKGNoYW5nZWQgUEVQIDM4MCBpbXBsZW1lbnRhdGlvbikKKyMgICAgIFB5dGhvbiAzLjNhNCAgMzIzMCAocmV2ZXJ0IGNoYW5nZXMgdG8gaW1wbGljaXQgX19jbGFzc19fIGNsb3N1cmUpCisjICAgICBQeXRob24gMy40YTEgIDMyNTAgKGV2YWx1YXRlIHBvc2l0aW9uYWwgZGVmYXVsdCBhcmd1bWVudHMgYmVmb3JlCisjICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZC1vbmx5IGRlZmF1bHRzKQorIworIyBNQUdJQyBtdXN0IGNoYW5nZSB3aGVuZXZlciB0aGUgYnl0ZWNvZGUgZW1pdHRlZCBieSB0aGUgY29tcGlsZXIgbWF5IG5vCisjIGxvbmdlciBiZSB1bmRlcnN0b29kIGJ5IG9sZGVyIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgZXZhbCBsb29wICh1c3VhbGx5CisjIGR1ZSB0byB0aGUgYWRkaXRpb24gb2YgbmV3IG9wY29kZXMpLgogCi1UaGUgdmFsdWUgb2YgQ1IgYW5kIExGIGlzIGluY29ycG9yYXRlZCBzbyBpZiB5b3UgZXZlciByZWFkIG9yIHdyaXRlCi1hIC5weWMgZmlsZSBpbiB0ZXh0IG1vZGUgdGhlIG1hZ2ljIG51bWJlciB3aWxsIGJlIHdyb25nOyBhbHNvLCB0aGUKLUFwcGxlIE1QVyBjb21waWxlciBzd2FwcyB0aGVpciB2YWx1ZXMsIGJvdGNoaW5nIHN0cmluZyBjb25zdGFudHMuCi0KLVRoZSBtYWdpYyBudW1iZXJzIG11c3QgYmUgc3BhY2VkIGFwYXJ0IGF0IGxlYXN0IDIgdmFsdWVzLCBhcyB0aGUKLS1VIGludGVycGV0ZXIgZmxhZyB3aWxsIGNhdXNlIE1BR0lDKzEgYmVpbmcgdXNlZC4gVGhleSBoYXZlIGJlZW4KLW9kZCBudW1iZXJzIGZvciBzb21lIHRpbWUgbm93LgotCi1UaGVyZSB3ZXJlIGEgdmFyaWV0eSBvZiBvbGQgc2NoZW1lcyBmb3Igc2V0dGluZyB0aGUgbWFnaWMgbnVtYmVyLgotVGhlIGN1cnJlbnQgd29ya2luZyBzY2hlbWUgaXMgdG8gaW5jcmVtZW50IHRoZSBwcmV2aW91cyB2YWx1ZSBieQotMTAuCi0KLVN0YXJ0aW5nIHdpdGggdGhlIGFkb3B0aW9uIG9mIFBFUCAzMTQ3IGluIFB5dGhvbiAzLjIsIGV2ZXJ5IGJ1bXAgaW4gbWFnaWMKLW51bWJlciBhbHNvIGluY2x1ZGVzIGEgbmV3ICJtYWdpYyB0YWciLCBpLmUuIGEgaHVtYW4gcmVhZGFibGUgc3RyaW5nIHVzZWQKLXRvIHJlcHJlc2VudCB0aGUgbWFnaWMgbnVtYmVyIGluIF9fcHljYWNoZV9fIGRpcmVjdG9yaWVzLiAgV2hlbiB5b3UgY2hhbmdlCi10aGUgbWFnaWMgbnVtYmVyLCB5b3UgbXVzdCBhbHNvIHNldCBhIG5ldyB1bmlxdWUgbWFnaWMgdGFnLiAgR2VuZXJhbGx5IHRoaXMKLWNhbiBiZSBuYW1lZCBhZnRlciB0aGUgUHl0aG9uIG1ham9yIHZlcnNpb24gb2YgdGhlIG1hZ2ljIG51bWJlciBidW1wLCBidXQKLWl0IGNhbiByZWFsbHkgYmUgYW55dGhpbmcsIGFzIGxvbmcgYXMgaXQncyBkaWZmZXJlbnQgdGhhbiBhbnl0aGluZyBlbHNlCi10aGF0J3MgY29tZSBiZWZvcmUuICBUaGUgdGFncyBhcmUgaW5jbHVkZWQgaW4gdGhlIGZvbGxvd2luZyB0YWJsZSwgc3RhcnRpbmcKLXdpdGggUHl0aG9uIDMuMmEwLgotCi1Lbm93biB2YWx1ZXM6Ci0gUHl0aG9uIDEuNTogICAyMDEyMQotIFB5dGhvbiAxLjUuMTogMjAxMjEKLSAgICBQeXRob24gMS41LjI6IDIwMTIxCi0gICAgUHl0aG9uIDEuNjogICA1MDQyOAotICAgIFB5dGhvbiAyLjA6ICAgNTA4MjMKLSAgICBQeXRob24gMi4wLjE6IDUwODIzCi0gICAgUHl0aG9uIDIuMTogICA2MDIwMgotICAgIFB5dGhvbiAyLjEuMTogNjAyMDIKLSAgICBQeXRob24gMi4xLjI6IDYwMjAyCi0gICAgUHl0aG9uIDIuMjogICA2MDcxNwotICAgIFB5dGhvbiAyLjNhMDogNjIwMTEKLSAgICBQeXRob24gMi4zYTA6IDYyMDIxCi0gICAgUHl0aG9uIDIuM2EwOiA2MjAxMSAoISkKLSAgICBQeXRob24gMi40YTA6IDYyMDQxCi0gICAgUHl0aG9uIDIuNGEzOiA2MjA1MQotICAgIFB5dGhvbiAyLjRiMTogNjIwNjEKLSAgICBQeXRob24gMi41YTA6IDYyMDcxCi0gICAgUHl0aG9uIDIuNWEwOiA2MjA4MSAoYXN0LWJyYW5jaCkKLSAgICBQeXRob24gMi41YTA6IDYyMDkxICh3aXRoKQotICAgIFB5dGhvbiAyLjVhMDogNjIwOTIgKGNoYW5nZWQgV0lUSF9DTEVBTlVQIG9wY29kZSkKLSAgICBQeXRob24gMi41YjM6IDYyMTAxIChmaXggd3JvbmcgY29kZTogZm9yIHgsIGluIC4uLikKLSAgICBQeXRob24gMi41YjM6IDYyMTExIChmaXggd3JvbmcgY29kZTogeCArPSB5aWVsZCkKLSAgICBQeXRob24gMi41YzE6IDYyMTIxIChmaXggd3JvbmcgbG5vdGFiIHdpdGggZm9yIGxvb3BzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JpbmcgY29uc3RhbnRzIHRoYXQgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkKQotICAgIFB5dGhvbiAyLjVjMjogNjIxMzEgKGZpeCB3cm9uZyBjb2RlOiBmb3IgeCwgaW4gLi4uIGluIGxpc3Rjb21wL2dlbmV4cCkKLSAgICBQeXRob24gMi42YTA6IDYyMTUxIChwZWVwaG9sZSBvcHRpbWl6YXRpb25zIGFuZCBTVE9SRV9NQVAgb3Bjb2RlKQotICAgIFB5dGhvbiAyLjZhMTogNjIxNjEgKFdJVEhfQ0xFQU5VUCBvcHRpbWl6YXRpb24pCi0gICAgUHl0aG9uIDMwMDA6ICAgMzAwMAotICAgICAgICAgICAgICAgICAgIDMwMTAgKHJlbW92ZWQgVU5BUllfQ09OVkVSVCkKLSAgICAgICAgICAgICAgICAgICAzMDIwIChhZGRlZCBCVUlMRF9TRVQpCi0gICAgICAgICAgICAgICAgICAgMzAzMCAoYWRkZWQga2V5d29yZC1vbmx5IHBhcmFtZXRlcnMpCi0gICAgICAgICAgICAgICAgICAgMzA0MCAoYWRkZWQgc2lnbmF0dXJlIGFubm90YXRpb25zKQotICAgICAgICAgICAgICAgICAgIDMwNTAgKHByaW50IGJlY29tZXMgYSBmdW5jdGlvbikKLSAgICAgICAgICAgICAgICAgICAzMDYwIChQRVAgMzExNSBtZXRhY2xhc3Mgc3ludGF4KQotICAgICAgICAgICAgICAgICAgIDMwNjEgKHN0cmluZyBsaXRlcmFscyBiZWNvbWUgdW5pY29kZSkKLSAgICAgICAgICAgICAgICAgICAzMDcxIChQRVAgMzEwOSByYWlzZSBjaGFuZ2VzKQotICAgICAgICAgICAgICAgICAgIDMwODEgKFBFUCAzMTM3IG1ha2UgX19maWxlX18gYW5kIF9fbmFtZV9fIHVuaWNvZGUpCi0gICAgICAgICAgICAgICAgICAgMzA5MSAoa2lsbCBzdHI4IGludGVybmluZykKLSAgICAgICAgICAgICAgICAgICAzMTAxIChtZXJnZSBmcm9tIDIuNmEwLCBzZWUgNjIxNTEpCi0gICAgICAgICAgICAgICAgICAgMzEwMyAoX19maWxlX18gcG9pbnRzIHRvIHNvdXJjZSBmaWxlKQotICAgIFB5dGhvbiAzLjBhNDogMzExMSAoV0lUSF9DTEVBTlVQIG9wdGltaXphdGlvbikuCi0gICAgUHl0aG9uIDMuMGE1OiAzMTMxIChsZXhpY2FsIGV4Y2VwdGlvbiBzdGFja2luZywgaW5jbHVkaW5nIFBPUF9FWENFUFQpCi0gICAgUHl0aG9uIDMuMWEwOiAzMTQxIChvcHRpbWl6ZSBsaXN0LCBzZXQgYW5kIGRpY3QgY29tcHJlaGVuc2lvbnM6Ci0gICAgICAgICAgICBjaGFuZ2UgTElTVF9BUFBFTkQgYW5kIFNFVF9BREQsIGFkZCBNQVBfQUREKQotICAgIFB5dGhvbiAzLjFhMDogMzE1MSAob3B0aW1pemUgY29uZGl0aW9uYWwgYnJhbmNoZXM6Ci0gICAgICAgICAgICBpbnRyb2R1Y2UgUE9QX0pVTVBfSUZfRkFMU0UgYW5kIFBPUF9KVU1QX0lGX1RSVUUpCi0gICAgUHl0aG9uIDMuMmEwOiAzMTYwIChhZGQgU0VUVVBfV0lUSCkKLSAgICAgICAgICAgICAgICAgIHRhZzogY3B5dGhvbi0zMgotICAgIFB5dGhvbiAzLjJhMTogMzE3MCAoYWRkIERVUF9UT1BfVFdPLCByZW1vdmUgRFVQX1RPUFggYW5kIFJPVF9GT1VSKQotICAgICAgICAgICAgICAgICAgdGFnOiBjcHl0aG9uLTMyCi0gICAgUHl0aG9uIDMuMmEyICAzMTgwIChhZGQgREVMRVRFX0RFUkVGKQotICAgIFB5dGhvbiAzLjNhMCAgMzE5MCBfX2NsYXNzX18gc3VwZXIgY2xvc3VyZSBjaGFuZ2VkCi0gICAgUHl0aG9uIDMuM2EwICAzMjAwIChfX3F1YWxuYW1lX18gYWRkZWQpCi0gICAgICAgICAgICAgICAgICAgICAzMjEwIChhZGRlZCBzaXplIG1vZHVsbyAyKiozMiB0byB0aGUgcHljIGhlYWRlcikKLSAgICBQeXRob24gMy4zYTEgIDMyMjAgKGNoYW5nZWQgUEVQIDM4MCBpbXBsZW1lbnRhdGlvbikKLSAgICBQeXRob24gMy4zYTQgIDMyMzAgKHJldmVydCBjaGFuZ2VzIHRvIGltcGxpY2l0IF9fY2xhc3NfXyBjbG9zdXJlKQotCi1NQUdJQyBtdXN0IGNoYW5nZSB3aGVuZXZlciB0aGUgYnl0ZWNvZGUgZW1pdHRlZCBieSB0aGUgY29tcGlsZXIgbWF5IG5vCi1sb25nZXIgYmUgdW5kZXJzdG9vZCBieSBvbGRlciBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlIGV2YWwgbG9vcCAodXN1YWxseQotZHVlIHRvIHRoZSBhZGRpdGlvbiBvZiBuZXcgb3Bjb2RlcykuCi0KLSIiIgotX1JBV19NQUdJQ19OVU1CRVIgPSAzMjMwIHwgb3JkKCdccicpIDw8IDE2IHwgb3JkKCdcbicpIDw8IDI0Ci1fTUFHSUNfQllURVMgPSBieXRlcyhfUkFXX01BR0lDX05VTUJFUiA+PiBuICYgMHhmZiBmb3IgbiBpbiByYW5nZSgwLCAyNSwgOCkpCitfTUFHSUNfQllURVMgPSAoMzI1MCkudG9fYnl0ZXMoMiwgJ2xpdHRsZScpICsgYidcclxuJworX1JBV19NQUdJQ19OVU1CRVIgPSBpbnQuZnJvbV9ieXRlcyhfTUFHSUNfQllURVMsICdsaXR0bGUnKQogCiBfUFlDQUNIRSA9ICdfX3B5Y2FjaGVfXycKIApAQCAtNDgzLDYgKzQ3NCwxOCBAQAogICAgIHJldHVybiBzb3VyY2VfcGF0aCBpZiBfcGF0aF9pc2ZpbGUoc291cmNlX3N0YXRzKSBlbHNlIGJ5dGVjb2RlX3BhdGgKIAogCitkZWYgX2NhbGNfbW9kZShwYXRoKToKKyAgICAiIiJDYWxjdWxhdGUgdGhlIG1vZGUgcGVybWlzc2lvbnMgZm9yIGEgYnl0ZWNvZGUgZmlsZS4iIiIKKyAgICB0cnk6CisgICAgICAgIG1vZGUgPSBfb3Muc3RhdChwYXRoKS5zdF9tb2RlCisgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgIG1vZGUgPSAwbzY2NgorICAgICMgV2UgYWx3YXlzIGVuc3VyZSB3cml0ZSBhY2Nlc3Mgc28gd2UgY2FuIHVwZGF0ZSBjYWNoZWQgZmlsZXMKKyAgICAjIGxhdGVyIGV2ZW4gd2hlbiB0aGUgc291cmNlIGZpbGVzIGFyZSByZWFkLW9ubHkgb24gV2luZG93cyAoIzYwNzQpCisgICAgbW9kZSB8PSAwbzIwMAorICAgIHJldHVybiBtb2RlCisKKwogZGVmIF92ZXJib3NlX21lc3NhZ2UobWVzc2FnZSwgKmFyZ3MsIHZlcmJvc2l0eT0xKToKICAgICAiIiJQcmludCB0aGUgbWVzc2FnZSB0byBzdGRlcnIgaWYgLXYvUFlUSE9OVkVSQk9TRSBpcyB0dXJuZWQgb24uIiIiCiAgICAgaWYgc3lzLmZsYWdzLnZlcmJvc2UgPj0gdmVyYm9zaXR5OgpAQCAtNTA4LDcgKzUxMSw3IEBACiAgICAgIiIiU2V0IF9fbG9hZGVyX18gb24gdGhlIHJldHVybmVkIG1vZHVsZS4iIiIKICAgICBkZWYgc2V0X2xvYWRlcl93cmFwcGVyKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIG1vZHVsZSA9IGZ4bihzZWxmLCAqYXJncywgKiprd2FyZ3MpCi0gICAgICAgIGlmIG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fbG9hZGVyX18nKToKKyAgICAgICAgaWYgZ2V0YXR0cihtb2R1bGUsICdfX2xvYWRlcl9fJywgTm9uZSkgaXMgTm9uZToKICAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gc2VsZgogICAgICAgICByZXR1cm4gbW9kdWxlCiAgICAgX3dyYXAoc2V0X2xvYWRlcl93cmFwcGVyLCBmeG4pCkBAIC02MjMsNiArNjI2LDgxIEBACiAgICAgcmV0dXJuIGxvYWRlcgogCiAKK2RlZiBfdmFsaWRhdGVfYnl0ZWNvZGVfaGVhZGVyKGRhdGEsIHNvdXJjZV9zdGF0cz1Ob25lLCBuYW1lPU5vbmUsIHBhdGg9Tm9uZSk6CisgICAgIiIiVmFsaWRhdGUgdGhlIGhlYWRlciBvZiB0aGUgcGFzc2VkLWluIGJ5dGVjb2RlIGFnYWluc3Qgc291cmNlX3N0YXRzIChpZgorICAgIGdpdmVuKSBhbmQgcmV0dXJuaW5nIHRoZSBieXRlY29kZSB0aGF0IGNhbiBiZSBjb21waWxlZCBieSBjb21waWxlKCkuCisKKyAgICBBbGwgb3RoZXIgYXJndW1lbnRzIGFyZSB1c2VkIHRvIGVuaGFuY2UgZXJyb3IgcmVwb3J0aW5nLgorCisgICAgSW1wb3J0RXJyb3IgaXMgcmFpc2VkIHdoZW4gdGhlIG1hZ2ljIG51bWJlciBpcyBpbmNvcnJlY3Qgb3IgdGhlIGJ5dGVjb2RlIGlzCisgICAgZm91bmQgdG8gYmUgc3RhbGUuIEVPRkVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZSBkYXRhIGlzIGZvdW5kIHRvIGJlCisgICAgdHJ1bmNhdGVkLgorCisgICAgIiIiCisgICAgZXhjX2RldGFpbHMgPSB7fQorICAgIGlmIG5hbWUgaXMgbm90IE5vbmU6CisgICAgICAgIGV4Y19kZXRhaWxzWyduYW1lJ10gPSBuYW1lCisgICAgZWxzZToKKyAgICAgICAgIyBUbyBwcmV2ZW50IGhhdmluZyB0byBtYWtlIGFsbCBtZXNzYWdlcyBoYXZlIGEgY29uZGl0aW9uYWwgbmFtZS4KKyAgICAgICAgbmFtZSA9ICc8Ynl0ZWNvZGU+JworICAgIGlmIHBhdGggaXMgbm90IE5vbmU6CisgICAgICAgIGV4Y19kZXRhaWxzWydwYXRoJ10gPSBwYXRoCisgICAgbWFnaWMgPSBkYXRhWzo0XQorICAgIHJhd190aW1lc3RhbXAgPSBkYXRhWzQ6OF0KKyAgICByYXdfc2l6ZSA9IGRhdGFbODoxMl0KKyAgICBpZiBtYWdpYyAhPSBfTUFHSUNfQllURVM6CisgICAgICAgIG1lc3NhZ2UgPSAnYmFkIG1hZ2ljIG51bWJlciBpbiB7IXJ9OiB7IXJ9Jy5mb3JtYXQobmFtZSwgbWFnaWMpCisgICAgICAgIF92ZXJib3NlX21lc3NhZ2UobWVzc2FnZSkKKyAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobWVzc2FnZSwgKipleGNfZGV0YWlscykKKyAgICBlbGlmIGxlbihyYXdfdGltZXN0YW1wKSAhPSA0OgorICAgICAgICBtZXNzYWdlID0gJ2luY29tcGxldGUgdGltZXN0YW1wIGluIHshcn0nLmZvcm1hdChuYW1lKQorICAgICAgICBfdmVyYm9zZV9tZXNzYWdlKG1lc3NhZ2UpCisgICAgICAgIHJhaXNlIEVPRkVycm9yKG1lc3NhZ2UpCisgICAgZWxpZiBsZW4ocmF3X3NpemUpICE9IDQ6CisgICAgICAgIG1lc3NhZ2UgPSAnaW5jb21wbGV0ZSBzaXplIGluIHshcn0nLmZvcm1hdChuYW1lKQorICAgICAgICBfdmVyYm9zZV9tZXNzYWdlKG1lc3NhZ2UpCisgICAgICAgIHJhaXNlIEVPRkVycm9yKG1lc3NhZ2UpCisgICAgaWYgc291cmNlX3N0YXRzIGlzIG5vdCBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzb3VyY2VfbXRpbWUgPSBpbnQoc291cmNlX3N0YXRzWydtdGltZSddKQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBfcl9sb25nKHJhd190aW1lc3RhbXApICE9IHNvdXJjZV9tdGltZToKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gJ2J5dGVjb2RlIGlzIHN0YWxlIGZvciB7IXJ9Jy5mb3JtYXQobmFtZSkKKyAgICAgICAgICAgICAgICBfdmVyYm9zZV9tZXNzYWdlKG1lc3NhZ2UpCisgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobWVzc2FnZSwgKipleGNfZGV0YWlscykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc291cmNlX3NpemUgPSBzb3VyY2Vfc3RhdHNbJ3NpemUnXSAmIDB4RkZGRkZGRkYKKyAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgX3JfbG9uZyhyYXdfc2l6ZSkgIT0gc291cmNlX3NpemU6CisgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoImJ5dGVjb2RlIGlzIHN0YWxlIGZvciB7IXJ9Ii5mb3JtYXQobmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipleGNfZGV0YWlscykKKyAgICByZXR1cm4gZGF0YVsxMjpdCisKKworZGVmIF9jb21waWxlX2J5dGVjb2RlKGRhdGEsIG5hbWU9Tm9uZSwgYnl0ZWNvZGVfcGF0aD1Ob25lLCBzb3VyY2VfcGF0aD1Ob25lKToKKyAgICAiIiJDb21waWxlIGJ5dGVjb2RlIGFzIHJldHVybmVkIGJ5IF92YWxpZGF0ZV9ieXRlY29kZV9oZWFkZXIoKS4iIiIKKyAgICBjb2RlID0gbWFyc2hhbC5sb2FkcyhkYXRhKQorICAgIGlmIGlzaW5zdGFuY2UoY29kZSwgX2NvZGVfdHlwZSk6CisgICAgICAgIF92ZXJib3NlX21lc3NhZ2UoJ2NvZGUgb2JqZWN0IGZyb20geyFyfScsIGJ5dGVjb2RlX3BhdGgpCisgICAgICAgIGlmIHNvdXJjZV9wYXRoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgX2ltcC5fZml4X2NvX2ZpbGVuYW1lKGNvZGUsIHNvdXJjZV9wYXRoKQorICAgICAgICByZXR1cm4gY29kZQorICAgIGVsc2U6CisgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJOb24tY29kZSBvYmplY3QgaW4geyFyfSIuZm9ybWF0KGJ5dGVjb2RlX3BhdGgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPW5hbWUsIHBhdGg9Ynl0ZWNvZGVfcGF0aCkKKworZGVmIF9jb2RlX3RvX2J5dGVjb2RlKGNvZGUsIG10aW1lPTAsIHNvdXJjZV9zaXplPTApOgorICAgICIiIkNvbXBpbGUgYSBjb2RlIG9iamVjdCBpbnRvIGJ5dGVjb2RlIGZvciB3cml0aW5nIG91dCB0byBhIGJ5dGUtY29tcGlsZWQKKyAgICBmaWxlLiIiIgorICAgIGRhdGEgPSBieXRlYXJyYXkoX01BR0lDX0JZVEVTKQorICAgIGRhdGEuZXh0ZW5kKF93X2xvbmcobXRpbWUpKQorICAgIGRhdGEuZXh0ZW5kKF93X2xvbmcoc291cmNlX3NpemUpKQorICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuZHVtcHMoY29kZSkpCisgICAgcmV0dXJuIGRhdGEKIAogCiAjIExvYWRlcnMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC03NTUsNyArODMzLDcgQEAKICAgICBkZWYgX29wZW5fcmVnaXN0cnkoY2xzLCBrZXkpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gX3dpbnJlZy5PcGVuS2V5KF93aW5yZWcuSEtFWV9DVVJSRU5UX1VTRVIsIGtleSkKLSAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICByZXR1cm4gX3dpbnJlZy5PcGVuS2V5KF93aW5yZWcuSEtFWV9MT0NBTF9NQUNISU5FLCBrZXkpCiAKICAgICBAY2xhc3NtZXRob2QKQEAgLTc2OSw3ICs4NDcsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIGNscy5fb3Blbl9yZWdpc3RyeShrZXkpIGFzIGhrZXk6CiAgICAgICAgICAgICAgICAgZmlsZXBhdGggPSBfd2lucmVnLlF1ZXJ5VmFsdWUoaGtleSwgIiIpCi0gICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgcmV0dXJuIGZpbGVwYXRoCiAKQEAgLTgwMSw1MiArODc5LDYgQEAKICAgICAgICAgdGFpbF9uYW1lID0gZnVsbG5hbWUucnBhcnRpdGlvbignLicpWzJdCiAgICAgICAgIHJldHVybiBmaWxlbmFtZV9iYXNlID09ICdfX2luaXRfXycgYW5kIHRhaWxfbmFtZSAhPSAnX19pbml0X18nCiAKLSAgICBkZWYgX2J5dGVzX2Zyb21fYnl0ZWNvZGUoc2VsZiwgZnVsbG5hbWUsIGRhdGEsIGJ5dGVjb2RlX3BhdGgsIHNvdXJjZV9zdGF0cyk6Ci0gICAgICAgICIiIlJldHVybiB0aGUgbWFyc2hhbGxlZCBieXRlcyBmcm9tIGJ5dGVjb2RlLCB2ZXJpZnlpbmcgdGhlIG1hZ2ljCi0gICAgICAgIG51bWJlciwgdGltZXN0YW1wIGFuZCBzb3VyY2Ugc2l6ZSBhbG9uZyB0aGUgd2F5LgotCi0gICAgICAgIElmIHNvdXJjZV9zdGF0cyBpcyBOb25lIHRoZW4gc2tpcCB0aGUgdGltZXN0YW1wIGNoZWNrLgotCi0gICAgICAgICIiIgotICAgICAgICBtYWdpYyA9IGRhdGFbOjRdCi0gICAgICAgIHJhd190aW1lc3RhbXAgPSBkYXRhWzQ6OF0KLSAgICAgICAgcmF3X3NpemUgPSBkYXRhWzg6MTJdCi0gICAgICAgIGlmIG1hZ2ljICE9IF9NQUdJQ19CWVRFUzoKLSAgICAgICAgICAgIG1zZyA9ICdiYWQgbWFnaWMgbnVtYmVyIGluIHshcn06IHshcn0nLmZvcm1hdChmdWxsbmFtZSwgbWFnaWMpCi0gICAgICAgICAgICBfdmVyYm9zZV9tZXNzYWdlKG1zZykKLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZywgbmFtZT1mdWxsbmFtZSwgcGF0aD1ieXRlY29kZV9wYXRoKQotICAgICAgICBlbGlmIGxlbihyYXdfdGltZXN0YW1wKSAhPSA0OgotICAgICAgICAgICAgbWVzc2FnZSA9ICdiYWQgdGltZXN0YW1wIGluIHt9Jy5mb3JtYXQoZnVsbG5hbWUpCi0gICAgICAgICAgICBfdmVyYm9zZV9tZXNzYWdlKG1lc3NhZ2UpCi0gICAgICAgICAgICByYWlzZSBFT0ZFcnJvcihtZXNzYWdlKQotICAgICAgICBlbGlmIGxlbihyYXdfc2l6ZSkgIT0gNDoKLSAgICAgICAgICAgIG1lc3NhZ2UgPSAnYmFkIHNpemUgaW4ge30nLmZvcm1hdChmdWxsbmFtZSkKLSAgICAgICAgICAgIF92ZXJib3NlX21lc3NhZ2UobWVzc2FnZSkKLSAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yKG1lc3NhZ2UpCi0gICAgICAgIGlmIHNvdXJjZV9zdGF0cyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzb3VyY2VfbXRpbWUgPSBpbnQoc291cmNlX3N0YXRzWydtdGltZSddKQotICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgX3JfbG9uZyhyYXdfdGltZXN0YW1wKSAhPSBzb3VyY2VfbXRpbWU6Ci0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnYnl0ZWNvZGUgaXMgc3RhbGUgZm9yIHt9Jy5mb3JtYXQoZnVsbG5hbWUpCi0gICAgICAgICAgICAgICAgICAgIF92ZXJib3NlX21lc3NhZ2UobWVzc2FnZSkKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobWVzc2FnZSwgbmFtZT1mdWxsbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aD1ieXRlY29kZV9wYXRoKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNvdXJjZV9zaXplID0gc291cmNlX3N0YXRzWydzaXplJ10gJiAweEZGRkZGRkZGCi0gICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBfcl9sb25nKHJhd19zaXplKSAhPSBzb3VyY2Vfc2l6ZToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZWNvZGUgaXMgc3RhbGUgZm9yIHt9Ii5mb3JtYXQoZnVsbG5hbWUpLAotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1mdWxsbmFtZSwgcGF0aD1ieXRlY29kZV9wYXRoKQotICAgICAgICAjIENhbid0IHJldHVybiB0aGUgY29kZSBvYmplY3QgYXMgZXJyb3JzIGZyb20gbWFyc2hhbCBsb2FkaW5nIG5lZWQgdG8KLSAgICAgICAgIyBwcm9wYWdhdGUgZXZlbiB3aGVuIHNvdXJjZSBpcyBhdmFpbGFibGUuCi0gICAgICAgIHJldHVybiBkYXRhWzEyOl0KLQogICAgIEBtb2R1bGVfZm9yX2xvYWRlcgogICAgIGRlZiBfbG9hZF9tb2R1bGUoc2VsZiwgbW9kdWxlLCAqLCBzb3VyY2VsZXNzPUZhbHNlKToKICAgICAgICAgIiIiSGVscGVyIGZvciBsb2FkX21vZHVsZSBhYmxlIHRvIGhhbmRsZSBlaXRoZXIgc291cmNlIG9yIHNvdXJjZWxlc3MKQEAgLTg2MSwxMiArODkzLDkgQEAKICAgICAgICAgICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IG1vZHVsZS5fX2ZpbGVfXwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbW9kdWxlLl9fY2FjaGVkX18gPSBtb2R1bGUuX19maWxlX18KLSAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gbmFtZQogICAgICAgICBpZiBzZWxmLmlzX3BhY2thZ2UobmFtZSk6CiAgICAgICAgICAgICBtb2R1bGUuX19wYXRoX18gPSBbX3BhdGhfc3BsaXQobW9kdWxlLl9fZmlsZV9fKVswXV0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IG1vZHVsZS5fX3BhY2thZ2VfXy5ycGFydGl0aW9uKCcuJylbMF0KLSAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBzZWxmCisgICAgICAgICMgX19wYWNrYWdlX18gYW5kIF9fbG9hZGVyIHNldCBieSBAbW9kdWxlX2Zvcl9sb2FkZXIuCiAgICAgICAgIF9jYWxsX3dpdGhfZnJhbWVzX3JlbW92ZWQoZXhlYywgY29kZV9vYmplY3QsIG1vZHVsZS5fX2RpY3RfXykKICAgICAgICAgcmV0dXJuIG1vZHVsZQogCkBAIC04NzYsOCArOTA1LDEwIEBACiAgICAgZGVmIHBhdGhfbXRpbWUoc2VsZiwgcGF0aCk6CiAgICAgICAgICIiIk9wdGlvbmFsIG1ldGhvZCB0aGF0IHJldHVybnMgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIChhbiBpbnQpIGZvciB0aGUKICAgICAgICAgc3BlY2lmaWVkIHBhdGgsIHdoZXJlIHBhdGggaXMgYSBzdHIuCisKKyAgICAgICAgUmFpc2VzIElPRXJyb3Igd2hlbiB0aGUgcGF0aCBjYW5ub3QgYmUgaGFuZGxlZC4KICAgICAgICAgIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgcmFpc2UgSU9FcnJvcgogCiAgICAgZGVmIHBhdGhfc3RhdHMoc2VsZiwgcGF0aCk6CiAgICAgICAgICIiIk9wdGlvbmFsIG1ldGhvZCByZXR1cm5pbmcgYSBtZXRhZGF0YSBkaWN0IGZvciB0aGUgc3BlY2lmaWVkIHBhdGgKQEAgLTg4OCw2ICs5MTksNyBAQAogICAgICAgICAtICdzaXplJyAob3B0aW9uYWwpIGlzIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzb3VyY2UgY29kZS4KIAogICAgICAgICBJbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QgYWxsb3dzIHRoZSBsb2FkZXIgdG8gcmVhZCBieXRlY29kZSBmaWxlcy4KKyAgICAgICAgUmFpc2VzIElPRXJyb3Igd2hlbiB0aGUgcGF0aCBjYW5ub3QgYmUgaGFuZGxlZC4KICAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiB7J210aW1lJzogc2VsZi5wYXRoX210aW1lKHBhdGgpfQogCkBAIC05MDUsOSArOTM3LDcgQEAKICAgICAgICAgIiIiT3B0aW9uYWwgbWV0aG9kIHdoaWNoIHdyaXRlcyBkYXRhIChieXRlcykgdG8gYSBmaWxlIHBhdGggKGEgc3RyKS4KIAogICAgICAgICBJbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QgYWxsb3dzIGZvciB0aGUgd3JpdGluZyBvZiBieXRlY29kZSBmaWxlcy4KLQogICAgICAgICAiIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiAKICAgICBkZWYgZ2V0X3NvdXJjZShzZWxmLCBmdWxsbmFtZSk6CkBAIC05MTYsNyArOTQ2LDcgQEAKICAgICAgICAgcGF0aCA9IHNlbGYuZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzb3VyY2VfYnl0ZXMgPSBzZWxmLmdldF9kYXRhKHBhdGgpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGV4YzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXhjOgogICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoInNvdXJjZSBub3QgYXZhaWxhYmxlIHRocm91Z2ggZ2V0X2RhdGEoKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPWZ1bGxuYW1lKSBmcm9tIGV4YwogICAgICAgICByZWFkc291cmNlID0gX2lvLkJ5dGVzSU8oc291cmNlX2J5dGVzKS5yZWFkbGluZQpAQCAtOTMyLDYgKzk2MiwxNCBAQAogICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoIkZhaWxlZCB0byBkZWNvZGUgc291cmNlIGZpbGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1mdWxsbmFtZSkgZnJvbSBleGMKIAorICAgIGRlZiBzb3VyY2VfdG9fY29kZShzZWxmLCBkYXRhLCBwYXRoLCAqLCBfb3B0aW1pemU9LTEpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGNvZGUgb2JqZWN0IGNvbXBpbGVkIGZyb20gc291cmNlLgorCisgICAgICAgIFRoZSAnZGF0YScgYXJndW1lbnQgY2FuIGJlIGFueSBvYmplY3QgdHlwZSB0aGF0IGNvbXBpbGUoKSBzdXBwb3J0cy4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBfY2FsbF93aXRoX2ZyYW1lc19yZW1vdmVkKGNvbXBpbGUsIGRhdGEsIHBhdGgsICdleGVjJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb250X2luaGVyaXQ9VHJ1ZSwgb3B0aW1pemU9X29wdGltaXplKQorCiAgICAgZGVmIGdldF9jb2RlKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgIiIiQ29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YgSW5zcGVjdExvYWRlci5nZXRfY29kZS4KIApAQCAtOTQ4LDQ1ICs5ODYsMzQgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzdCA9IHNlbGYucGF0aF9zdGF0cyhzb3VyY2VfcGF0aCkKLSAgICAgICAgICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yOgorICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzb3VyY2VfbXRpbWUgPSBpbnQoc3RbJ210aW1lJ10pCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5nZXRfZGF0YShieXRlY29kZV9wYXRoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfZGF0YSA9IHNlbGYuX2J5dGVzX2Zyb21fYnl0ZWNvZGUoZnVsbG5hbWUsIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlY29kZV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3QpCisgICAgICAgICAgICAgICAgICAgICAgICBieXRlc19kYXRhID0gX3ZhbGlkYXRlX2J5dGVjb2RlX2hlYWRlcihkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Vfc3RhdHM9c3QsIG5hbWU9ZnVsbG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg9Ynl0ZWNvZGVfcGF0aCkKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChJbXBvcnRFcnJvciwgRU9GRXJyb3IpOgogICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgX3ZlcmJvc2VfbWVzc2FnZSgne30gbWF0Y2hlcyB7fScsIGJ5dGVjb2RlX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX3BhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IG1hcnNoYWwubG9hZHMoYnl0ZXNfZGF0YSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZm91bmQsIF9jb2RlX3R5cGUpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbXAuX2ZpeF9jb19maWxlbmFtZShmb3VuZCwgc291cmNlX3BhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZlcmJvc2VfbWVzc2FnZSgnY29kZSBvYmplY3QgZnJvbSB7fScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZvdW5kCi0gICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9ICJOb24tY29kZSBvYmplY3QgaW4ge30iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobXNnLmZvcm1hdChieXRlY29kZV9wYXRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPWZ1bGxuYW1lLCBwYXRoPWJ5dGVjb2RlX3BhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2NvbXBpbGVfYnl0ZWNvZGUoYnl0ZXNfZGF0YSwgbmFtZT1mdWxsbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlY29kZV9wYXRoPWJ5dGVjb2RlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX3BhdGg9c291cmNlX3BhdGgpCiAgICAgICAgIHNvdXJjZV9ieXRlcyA9IHNlbGYuZ2V0X2RhdGEoc291cmNlX3BhdGgpCi0gICAgICAgIGNvZGVfb2JqZWN0ID0gX2NhbGxfd2l0aF9mcmFtZXNfcmVtb3ZlZChjb21waWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfYnl0ZXMsIHNvdXJjZV9wYXRoLCAnZXhlYycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRvbnRfaW5oZXJpdD1UcnVlKQorICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYuc291cmNlX3RvX2NvZGUoc291cmNlX2J5dGVzLCBzb3VyY2VfcGF0aCkKICAgICAgICAgX3ZlcmJvc2VfbWVzc2FnZSgnY29kZSBvYmplY3QgZnJvbSB7fScsIHNvdXJjZV9wYXRoKQogICAgICAgICBpZiAobm90IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGFuZCBieXRlY29kZV9wYXRoIGlzIG5vdCBOb25lIGFuZAotICAgICAgICAgICAgc291cmNlX210aW1lIGlzIG5vdCBOb25lKToKLSAgICAgICAgICAgIGRhdGEgPSBieXRlYXJyYXkoX01BR0lDX0JZVEVTKQotICAgICAgICAgICAgZGF0YS5leHRlbmQoX3dfbG9uZyhzb3VyY2VfbXRpbWUpKQotICAgICAgICAgICAgZGF0YS5leHRlbmQoX3dfbG9uZyhsZW4oc291cmNlX2J5dGVzKSkpCi0gICAgICAgICAgICBkYXRhLmV4dGVuZChtYXJzaGFsLmR1bXBzKGNvZGVfb2JqZWN0KSkKKyAgICAgICAgICAgICAgICBzb3VyY2VfbXRpbWUgaXMgbm90IE5vbmUpOgorICAgICAgICAgICAgZGF0YSA9IF9jb2RlX3RvX2J5dGVjb2RlKGNvZGVfb2JqZWN0LCBzb3VyY2VfbXRpbWUsCisgICAgICAgICAgICAgICAgICAgIGxlbihzb3VyY2VfYnl0ZXMpKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuX2NhY2hlX2J5dGVjb2RlKHNvdXJjZV9wYXRoLCBieXRlY29kZV9wYXRoLCBkYXRhKQogICAgICAgICAgICAgICAgIF92ZXJib3NlX21lc3NhZ2UoJ3dyb3RlIHshcn0nLCBieXRlY29kZV9wYXRoKQpAQCAtMTA0NSwxMyArMTA3Miw3IEBACiAKICAgICBkZWYgX2NhY2hlX2J5dGVjb2RlKHNlbGYsIHNvdXJjZV9wYXRoLCBieXRlY29kZV9wYXRoLCBkYXRhKToKICAgICAgICAgIyBBZGFwdCBiZXR3ZWVuIHRoZSB0d28gQVBJcwotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBtb2RlID0gX29zLnN0YXQoc291cmNlX3BhdGgpLnN0X21vZGUKLSAgICAgICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgICAgICBtb2RlID0gMG82NjYKLSAgICAgICAgIyBXZSBhbHdheXMgZW5zdXJlIHdyaXRlIGFjY2VzcyBzbyB3ZSBjYW4gdXBkYXRlIGNhY2hlZCBmaWxlcwotICAgICAgICAjIGxhdGVyIGV2ZW4gd2hlbiB0aGUgc291cmNlIGZpbGVzIGFyZSByZWFkLW9ubHkgb24gV2luZG93cyAoIzYwNzQpCi0gICAgICAgIG1vZGUgfD0gMG8yMDAKKyAgICAgICAgbW9kZSA9IF9jYWxjX21vZGUoc291cmNlX3BhdGgpCiAgICAgICAgIHJldHVybiBzZWxmLnNldF9kYXRhKGJ5dGVjb2RlX3BhdGgsIGRhdGEsIF9tb2RlPW1vZGUpCiAKICAgICBkZWYgc2V0X2RhdGEoc2VsZiwgcGF0aCwgZGF0YSwgKiwgX21vZGU9MG82NjYpOgpAQCAtMTA5MywxNCArMTExNCw4IEBACiAgICAgZGVmIGdldF9jb2RlKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgcGF0aCA9IHNlbGYuZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKQogICAgICAgICBkYXRhID0gc2VsZi5nZXRfZGF0YShwYXRoKQotICAgICAgICBieXRlc19kYXRhID0gc2VsZi5fYnl0ZXNfZnJvbV9ieXRlY29kZShmdWxsbmFtZSwgZGF0YSwgcGF0aCwgTm9uZSkKLSAgICAgICAgZm91bmQgPSBtYXJzaGFsLmxvYWRzKGJ5dGVzX2RhdGEpCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoZm91bmQsIF9jb2RlX3R5cGUpOgotICAgICAgICAgICAgX3ZlcmJvc2VfbWVzc2FnZSgnY29kZSBvYmplY3QgZnJvbSB7IXJ9JywgcGF0aCkKLSAgICAgICAgICAgIHJldHVybiBmb3VuZAotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoIk5vbi1jb2RlIG9iamVjdCBpbiB7fSIuZm9ybWF0KHBhdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1mdWxsbmFtZSwgcGF0aD1wYXRoKQorICAgICAgICBieXRlc19kYXRhID0gX3ZhbGlkYXRlX2J5dGVjb2RlX2hlYWRlcihkYXRhLCBuYW1lPWZ1bGxuYW1lLCBwYXRoPXBhdGgpCisgICAgICAgIHJldHVybiBfY29tcGlsZV9ieXRlY29kZShieXRlc19kYXRhLCBuYW1lPWZ1bGxuYW1lLCBieXRlY29kZV9wYXRoPXBhdGgpCiAKICAgICBkZWYgZ2V0X3NvdXJjZShzZWxmLCBmdWxsbmFtZSk6CiAgICAgICAgICIiIlJldHVybiBOb25lIGFzIHRoZXJlIGlzIG5vIHNvdXJjZSBjb2RlLiIiIgpAQCAtMTQyMiw3ICsxNDM3LDcgQEAKICAgICAgICAgICAgICAgICBsb3dlcl9zdWZmaXhfY29udGVudHMuYWRkKG5ld19uYW1lKQogICAgICAgICAgICAgc2VsZi5fcGF0aF9jYWNoZSA9IGxvd2VyX3N1ZmZpeF9jb250ZW50cwogICAgICAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aChfQ0FTRV9JTlNFTlNJVElWRV9QTEFURk9STVMpOgotICAgICAgICAgICAgc2VsZi5fcmVsYXhlZF9wYXRoX2NhY2hlID0gc2V0KGZuLmxvd2VyKCkgZm9yIGZuIGluIGNvbnRlbnRzKQorICAgICAgICAgICAgc2VsZi5fcmVsYXhlZF9wYXRoX2NhY2hlID0ge2ZuLmxvd2VyKCkgZm9yIGZuIGluIGNvbnRlbnRzfQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHBhdGhfaG9vayhjbHMsICpsb2FkZXJfZGV0YWlscyk6CkBAIC0xNDQzLDcgKzE0NTgsNyBAQAogICAgICAgICByZXR1cm4gcGF0aF9ob29rX2Zvcl9GaWxlRmluZGVyCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAiRmlsZUZpbmRlciglcikiICUgKHNlbGYucGF0aCwpCisgICAgICAgIHJldHVybiAiRmlsZUZpbmRlcih7IXJ9KSIuZm9ybWF0KHNlbGYucGF0aCkKIAogCiAjIEltcG9ydCBpdHNlbGYgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0xNTQ4LDcgKzE1NjMsNyBAQAogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgIyBTZXQgbG9hZGVyIGlmIG5lZWQgYmUuCi0gICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAnX19sb2FkZXJfXycpOgorICAgIGlmIGdldGF0dHIobW9kdWxlLCAnX19sb2FkZXJfXycsIE5vbmUpIGlzIE5vbmU6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gbG9hZGVyCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKQEAgLTE3MjMsNyArMTczOCw3IEBACiAgICAgICAgICAgICBidWlsdGluX21vZHVsZSA9IHN5cy5tb2R1bGVzW2J1aWx0aW5fbmFtZV0KICAgICAgICAgc2V0YXR0cihzZWxmX21vZHVsZSwgYnVpbHRpbl9uYW1lLCBidWlsdGluX21vZHVsZSkKIAotICAgIG9zX2RldGFpbHMgPSAoJ3Bvc2l4JywgWycvJ10pLCAoJ250JywgWydcXCcsICcvJ10pLCAoJ29zMicsIFsnXFwnLCAnLyddKQorICAgIG9zX2RldGFpbHMgPSAoJ3Bvc2l4JywgWycvJ10pLCAoJ250JywgWydcXCcsICcvJ10pCiAgICAgZm9yIGJ1aWx0aW5fb3MsIHBhdGhfc2VwYXJhdG9ycyBpbiBvc19kZXRhaWxzOgogICAgICAgICAjIEFzc3VtcHRpb24gbWFkZSBpbiBfcGF0aF9qb2luKCkKICAgICAgICAgYXNzZXJ0IGFsbChsZW4oc2VwKSA9PSAxIGZvciBzZXAgaW4gcGF0aF9zZXBhcmF0b3JzKQpAQCAtMTczNCw5ICsxNzQ5LDYgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvc19tb2R1bGUgPSBCdWlsdGluSW1wb3J0ZXIubG9hZF9tb2R1bGUoYnVpbHRpbl9vcykKLSAgICAgICAgICAgICAgICAjIFRPRE86IHJpcCBvdXQgb3MyIGNvZGUgYWZ0ZXIgMy4zIGlzIHJlbGVhc2VkIGFzIHBlciBQRVAgMTEKLSAgICAgICAgICAgICAgICBpZiBidWlsdGluX29zID09ICdvczInIGFuZCAnRU1YIEdDQycgaW4gc3lzLnZlcnNpb246Ci0gICAgICAgICAgICAgICAgICAgIHBhdGhfc2VwID0gcGF0aF9zZXBhcmF0b3JzWzFdCiAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgICAgICAgICBjb250aW51ZQpAQCAtMTc1OCw3ICsxNzcwLDcgQEAKICAgICBzZXRhdHRyKHNlbGZfbW9kdWxlLCAnX3RocmVhZCcsIHRocmVhZF9tb2R1bGUpCiAgICAgc2V0YXR0cihzZWxmX21vZHVsZSwgJ193ZWFrcmVmJywgd2Vha3JlZl9tb2R1bGUpCiAgICAgc2V0YXR0cihzZWxmX21vZHVsZSwgJ3BhdGhfc2VwJywgcGF0aF9zZXApCi0gICAgc2V0YXR0cihzZWxmX21vZHVsZSwgJ3BhdGhfc2VwYXJhdG9ycycsIHNldChwYXRoX3NlcGFyYXRvcnMpKQorICAgIHNldGF0dHIoc2VsZl9tb2R1bGUsICdwYXRoX3NlcGFyYXRvcnMnLCAnJy5qb2luKHBhdGhfc2VwYXJhdG9ycykpCiAgICAgIyBDb25zdGFudHMKICAgICBzZXRhdHRyKHNlbGZfbW9kdWxlLCAnX3JlbGF4X2Nhc2UnLCBfbWFrZV9yZWxheF9jYXNlKCkpCiAgICAgRVhURU5TSU9OX1NVRkZJWEVTLmV4dGVuZChfaW1wLmV4dGVuc2lvbl9zdWZmaXhlcygpKQpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9hYmMucHkgYi9MaWIvaW1wb3J0bGliL2FiYy5weQppbmRleCAzODc1NjdhLi43NzUyYWM0IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL2FiYy5weQorKysgYi9MaWIvaW1wb3J0bGliL2FiYy5weQpAQCAtMzcsOSArMzcsOCBAQAogICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lKToKICAgICAgICAgIiIiQW4gYWJzdHJhY3QgbWV0aG9kIHRoYXQgc2hvdWxkIGZpbmQgYSBtb2R1bGUuCiAgICAgICAgIFRoZSBmdWxsbmFtZSBpcyBhIHN0ciBhbmQgdGhlIG9wdGlvbmFsIHBhdGggaXMgYSBzdHIgb3IgTm9uZS4KLSAgICAgICAgUmV0dXJucyBhIExvYWRlciBvYmplY3QuCisgICAgICAgIFJldHVybnMgYSBMb2FkZXIgb2JqZWN0IG9yIE5vbmUuCiAgICAgICAgICIiIgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKIAogY2xhc3MgTWV0YVBhdGhGaW5kZXIoRmluZGVyKToKQEAgLTQ5LDE2ICs0OCwxNCBAQAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUsIHBhdGgpOgogICAgICAgICAiIiJBYnN0cmFjdCBtZXRob2Qgd2hpY2gsIHdoZW4gaW1wbGVtZW50ZWQsIHNob3VsZCBmaW5kIGEgbW9kdWxlLgotICAgICAgICBUaGUgZnVsbG5hbWUgaXMgYSBzdHIgYW5kIHRoZSBwYXRoIGlzIGEgc3RyIG9yIE5vbmUuCi0gICAgICAgIFJldHVybnMgYSBMb2FkZXIgb2JqZWN0LgorICAgICAgICBUaGUgZnVsbG5hbWUgaXMgYSBzdHIgYW5kIHRoZSBwYXRoIGlzIGEgbGlzdCBvZiBzdHJpbmdzIG9yIE5vbmUuCisgICAgICAgIFJldHVybnMgYSBMb2FkZXIgb2JqZWN0IG9yIE5vbmUuCiAgICAgICAgICIiIgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKICAgICBkZWYgaW52YWxpZGF0ZV9jYWNoZXMoc2VsZik6CiAgICAgICAgICIiIkFuIG9wdGlvbmFsIG1ldGhvZCBmb3IgY2xlYXJpbmcgdGhlIGZpbmRlcidzIGNhY2hlLCBpZiBhbnkuCiAgICAgICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQgYnkgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkuCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKIAogX3JlZ2lzdGVyKE1ldGFQYXRoRmluZGVyLCBtYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLCBtYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIsCiAgICAgICAgICAgbWFjaGluZXJ5LlBhdGhGaW5kZXIsIG1hY2hpbmVyeS5XaW5kb3dzUmVnaXN0cnlGaW5kZXIpCkBAIC03MCwxMyArNjcsMTQgQEAKIAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKICAgICBkZWYgZmluZF9sb2FkZXIoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAiIiJBYnN0cmFjdCBtZXRob2Qgd2hpY2gsIHdoZW4gaW1wbGVtZW50ZWQsIHJldHVybnMgYSBtb2R1bGUgbG9hZGVyLgorICAgICAgICAiIiJBYnN0cmFjdCBtZXRob2Qgd2hpY2gsIHdoZW4gaW1wbGVtZW50ZWQsIHJldHVybnMgYSBtb2R1bGUgbG9hZGVyIG9yCisgICAgICAgIGEgcG9zc2libGUgcGFydCBvZiBhIG5hbWVzcGFjZS4KICAgICAgICAgVGhlIGZ1bGxuYW1lIGlzIGEgc3RyLiAgUmV0dXJucyBhIDItdHVwbGUgb2YgKExvYWRlciwgcG9ydGlvbikgd2hlcmUKICAgICAgICAgcG9ydGlvbiBpcyBhIHNlcXVlbmNlIG9mIGZpbGUgc3lzdGVtIGxvY2F0aW9ucyBjb250cmlidXRpbmcgdG8gcGFydCBvZgogICAgICAgICBhIG5hbWVzcGFjZSBwYWNrYWdlLiAgVGhlIHNlcXVlbmNlIG1heSBiZSBlbXB0eSBhbmQgdGhlIGxvYWRlciBtYXkgYmUKICAgICAgICAgTm9uZS4KICAgICAgICAgIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgcmV0dXJuIE5vbmUsIFtdCiAKICAgICBmaW5kX21vZHVsZSA9IF9ib290c3RyYXAuX2ZpbmRfbW9kdWxlX3NoaW0KIApAQCAtODQsMjUgKzgyLDM0IEBACiAgICAgICAgICIiIkFuIG9wdGlvbmFsIG1ldGhvZCBmb3IgY2xlYXJpbmcgdGhlIGZpbmRlcidzIGNhY2hlLCBpZiBhbnkuCiAgICAgICAgIFRoaXMgbWV0aG9kIGlzIHVzZWQgYnkgUGF0aEZpbmRlci5pbnZhbGlkYXRlX2NhY2hlcygpLgogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCiAKIF9yZWdpc3RlcihQYXRoRW50cnlGaW5kZXIsIG1hY2hpbmVyeS5GaWxlRmluZGVyKQogCiAKIGNsYXNzIExvYWRlcihtZXRhY2xhc3M9YWJjLkFCQ01ldGEpOgogCi0gICAgIiIiQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgaW1wb3J0IGxvYWRlcnMuIiIiCisgICAgIiIiQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgaW1wb3J0IGxvYWRlcnMuCisKKyAgICBUaGUgb3B0aW9uYWwgbWV0aG9kIG1vZHVsZV9yZXByKG1vZHVsZSkgbWF5IGJlIGRlZmluZWQgdG8gcHJvdmlkZSBhCisgICAgcmVwciBmb3IgYSBtb2R1bGUgd2hlbiBhcHByb3ByaWF0ZSAoc2VlIFBFUCA0MjApLiBUaGUgX19yZXByX18oKSBtZXRob2Qgb24KKyAgICB0aGUgbW9kdWxlIHR5cGUgd2lsbCB1c2UgdGhlIG1ldGhvZCBhcyBhcHByb3ByaWF0ZS4KKworICAgICIiIgogCiAgICAgQGFiYy5hYnN0cmFjdG1ldGhvZAogICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBmdWxsbmFtZSk6CiAgICAgICAgICIiIkFic3RyYWN0IG1ldGhvZCB3aGljaCB3aGVuIGltcGxlbWVudGVkIHNob3VsZCBsb2FkIGEgbW9kdWxlLgotICAgICAgICBUaGUgZnVsbG5hbWUgaXMgYSBzdHIuIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgVGhlIGZ1bGxuYW1lIGlzIGEgc3RyLgogCi0gICAgQGFiYy5hYnN0cmFjdG1ldGhvZAorICAgICAgICBJbXBvcnRFcnJvciBpcyByYWlzZWQgb24gZmFpbHVyZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCisKICAgICBkZWYgbW9kdWxlX3JlcHIoc2VsZiwgbW9kdWxlKToKLSAgICAgICAgIiIiQWJzdHJhY3QgbWV0aG9kIHdoaWNoIHdoZW4gaW1wbGVtZW50ZWQgY2FsY3VsYXRlcyBhbmQgcmV0dXJucyB0aGUKLSAgICAgICAgZ2l2ZW4gbW9kdWxlJ3MgcmVwci4iIiIKKyAgICAgICAgIiIiUmV0dXJuIGEgbW9kdWxlJ3MgcmVwci4KKworICAgICAgICBVc2VkIGJ5IHRoZSBtb2R1bGUgdHlwZSB3aGVuIGltcGxlbWVudGVkIHdpdGhvdXQgcmFpc2luZyBhbiBleGNlcHRpb24uCisgICAgICAgICIiIgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKIApAQCAtMTE5LDcgKzEyNiw3IEBACiAgICAgZGVmIGdldF9kYXRhKHNlbGYsIHBhdGgpOgogICAgICAgICAiIiJBYnN0cmFjdCBtZXRob2Qgd2hpY2ggd2hlbiBpbXBsZW1lbnRlZCBzaG91bGQgcmV0dXJuIHRoZSBieXRlcyBmb3IKICAgICAgICAgdGhlIHNwZWNpZmllZCBwYXRoLiAgVGhlIHBhdGggbXVzdCBiZSBhIHN0ci4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICByYWlzZSBJT0Vycm9yCiAKIAogY2xhc3MgSW5zcGVjdExvYWRlcihMb2FkZXIpOgpAQCAtMTM0LDIwICsxNDEsMjkgQEAKICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCiAgICAgZGVmIGlzX3BhY2thZ2Uoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICAiIiJBYnN0cmFjdCBtZXRob2Qgd2hpY2ggd2hlbiBpbXBsZW1lbnRlZCBzaG91bGQgcmV0dXJuIHdoZXRoZXIgdGhlCi0gICAgICAgIG1vZHVsZSBpcyBhIHBhY2thZ2UuICBUaGUgZnVsbG5hbWUgaXMgYSBzdHIuICBSZXR1cm5zIGEgYm9vbC4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICBtb2R1bGUgaXMgYSBwYWNrYWdlLiAgVGhlIGZ1bGxuYW1lIGlzIGEgc3RyLiAgUmV0dXJucyBhIGJvb2wuCisKKyAgICAgICAgUmFpc2VzIEltcG9ydEVycm9yIGlzIHRoZSBtb2R1bGUgY2Fubm90IGJlIGZvdW5kLgorICAgICAgICAiIiIKKyAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IKIAogICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKICAgICBkZWYgZ2V0X2NvZGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICAiIiJBYnN0cmFjdCBtZXRob2Qgd2hpY2ggd2hlbiBpbXBsZW1lbnRlZCBzaG91bGQgcmV0dXJuIHRoZSBjb2RlIG9iamVjdAotICAgICAgICBmb3IgdGhlIG1vZHVsZS4gIFRoZSBmdWxsbmFtZSBpcyBhIHN0ci4gIFJldHVybnMgYSB0eXBlcy5Db2RlVHlwZS4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICBmb3IgdGhlIG1vZHVsZS4gIFRoZSBmdWxsbmFtZSBpcyBhIHN0ci4gIFJldHVybnMgYSB0eXBlcy5Db2RlVHlwZS4KKworICAgICAgICBSYWlzZXMgSW1wb3J0RXJyb3IgaWYgdGhlIG1vZHVsZSBjYW5ub3QgYmUgZm91bmQuCisgICAgICAgICIiIgorICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgogCiAgICAgQGFiYy5hYnN0cmFjdG1ldGhvZAogICAgIGRlZiBnZXRfc291cmNlKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgIiIiQWJzdHJhY3QgbWV0aG9kIHdoaWNoIHNob3VsZCByZXR1cm4gdGhlIHNvdXJjZSBjb2RlIGZvciB0aGUKLSAgICAgICAgbW9kdWxlLiAgVGhlIGZ1bGxuYW1lIGlzIGEgc3RyLiAgUmV0dXJucyBhIHN0ci4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICBtb2R1bGUuICBUaGUgZnVsbG5hbWUgaXMgYSBzdHIuICBSZXR1cm5zIGEgc3RyLgorCisgICAgICAgIFJhaXNlcyBJbXBvcnRFcnJvciBpZiB0aGUgbW9kdWxlIGNhbm5vdCBiZSBmb3VuZC4KKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCiAKIF9yZWdpc3RlcihJbnNwZWN0TG9hZGVyLCBtYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLCBtYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIsCiAgICAgICAgICAgICBtYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlcikKQEAgLTE2NSw4ICsxODEsMTEgQEAKICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCiAgICAgZGVmIGdldF9maWxlbmFtZShzZWxmLCBmdWxsbmFtZSk6CiAgICAgICAgICIiIkFic3RyYWN0IG1ldGhvZCB3aGljaCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSB0aGF0IF9fZmlsZV9fIGlzIHRvIGJlCi0gICAgICAgIHNldCB0by4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICBzZXQgdG8uCisKKyAgICAgICAgUmFpc2VzIEltcG9ydEVycm9yIGlmIHRoZSBtb2R1bGUgY2Fubm90IGJlIGZvdW5kLgorICAgICAgICAiIiIKKyAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IKIAogCiBjbGFzcyBGaWxlTG9hZGVyKF9ib290c3RyYXAuRmlsZUxvYWRlciwgUmVzb3VyY2VMb2FkZXIsIEV4ZWN1dGlvbkxvYWRlcik6CkBAIC0xOTgsNyArMjE3LDcgQEAKICAgICBkZWYgcGF0aF9tdGltZShzZWxmLCBwYXRoKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSAoaW50KSBtb2RpZmljYXRpb24gdGltZSBmb3IgdGhlIHBhdGggKHN0cikuIiIiCiAgICAgICAgIGlmIHNlbGYucGF0aF9zdGF0cy5fX2Z1bmNfXyBpcyBTb3VyY2VMb2FkZXIucGF0aF9zdGF0czoKLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgICAgIHJhaXNlIElPRXJyb3IKICAgICAgICAgcmV0dXJuIGludChzZWxmLnBhdGhfc3RhdHMocGF0aClbJ210aW1lJ10pCiAKICAgICBkZWYgcGF0aF9zdGF0cyhzZWxmLCBwYXRoKToKQEAgLTIwOSw3ICsyMjgsNyBAQAogICAgICAgICAtICdzaXplJyAob3B0aW9uYWwpIGlzIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzb3VyY2UgY29kZS4KICAgICAgICAgIiIiCiAgICAgICAgIGlmIHNlbGYucGF0aF9tdGltZS5fX2Z1bmNfXyBpcyBTb3VyY2VMb2FkZXIucGF0aF9tdGltZToKLSAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgICAgIHJhaXNlIElPRXJyb3IKICAgICAgICAgcmV0dXJuIHsnbXRpbWUnOiBzZWxmLnBhdGhfbXRpbWUocGF0aCl9CiAKICAgICBkZWYgc2V0X2RhdGEoc2VsZiwgcGF0aCwgZGF0YSk6CkBAIC0yMjAsMTg1ICsyMzksNiBAQAogICAgICAgICBBbnkgbmVlZGVkIGludGVybWVkaWFyeSBkaXJlY3RvcmllcyBhcmUgdG8gYmUgY3JlYXRlZC4gSWYgZm9yIHNvbWUKICAgICAgICAgcmVhc29uIHRoZSBmaWxlIGNhbm5vdCBiZSB3cml0dGVuIGJlY2F1c2Ugb2YgcGVybWlzc2lvbnMsIGZhaWwKICAgICAgICAgc2lsZW50bHkuCi0KICAgICAgICAgIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKIAogX3JlZ2lzdGVyKFNvdXJjZUxvYWRlciwgbWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIpCi0KLWNsYXNzIFB5TG9hZGVyKFNvdXJjZUxvYWRlcik6Ci0KLSAgICAiIiJJbXBsZW1lbnQgdGhlIGRlcHJlY2F0ZWQgUHlMb2FkZXIgQUJDIGluIHRlcm1zIG9mIFNvdXJjZUxvYWRlci4KLQotICAgIFRoaXMgY2xhc3MgaGFzIGJlZW4gZGVwcmVjYXRlZCEgSXQgaXMgc2xhdGVkIGZvciByZW1vdmFsIGluIFB5dGhvbiAzLjQuCi0gICAgSWYgY29tcGF0aWJpbGl0eSB3aXRoIFB5dGhvbiAzLjEgaXMgbm90IG5lZWRlZCB0aGVuIGltcGxlbWVudCB0aGUKLSAgICBTb3VyY2VMb2FkZXIgQUJDIGluc3RlYWQgb2YgdGhpcyBjbGFzcy4gSWYgUHl0aG9uIDMuMSBjb21wYXRpYmlsaXR5IGlzCi0gICAgbmVlZGVkLCB0aGVuIHVzZSB0aGUgZm9sbG93aW5nIGlkaW9tIHRvIGhhdmUgYSBzaW5nbGUgY2xhc3MgdGhhdCBpcwotICAgIGNvbXBhdGlibGUgd2l0aCBQeXRob24gMy4xIG9ud2FyZHM6OgotCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGZyb20gaW1wb3J0bGliLmFiYyBpbXBvcnQgU291cmNlTG9hZGVyCi0gICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgIGZyb20gaW1wb3J0bGliLmFiYyBpbXBvcnQgUHlMb2FkZXIgYXMgU291cmNlTG9hZGVyCi0KLQotICAgICAgICBjbGFzcyBDdXN0b21Mb2FkZXIoU291cmNlTG9hZGVyKToKLSAgICAgICAgICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAgICAgICAgICMgSW1wbGVtZW50IC4uLgotCi0gICAgICAgICAgICBkZWYgc291cmNlX3BhdGgoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAgICAgICAgICcnJ0ltcGxlbWVudCBzb3VyY2VfcGF0aCBpbiB0ZXJtcyBvZiBnZXRfZmlsZW5hbWUuJycnCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5nZXRfZmlsZW5hbWUoZnVsbG5hbWUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgICAgICAgICBkZWYgaXNfcGFja2FnZShzZWxmLCBmdWxsbmFtZSk6Ci0gICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHNlbGYuZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gb3MucGF0aC5zcGxpdGV4dChmaWxlbmFtZSlbMF0gPT0gJ19faW5pdF9fJwotCi0gICAgIiIiCi0KLSAgICBAYWJjLmFic3RyYWN0bWV0aG9kCi0gICAgZGVmIGlzX3BhY2thZ2Uoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCi0KLSAgICBAYWJjLmFic3RyYWN0bWV0aG9kCi0gICAgZGVmIHNvdXJjZV9wYXRoKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgIiIiQWJzdHJhY3QgbWV0aG9kLiAgQWNjZXB0cyBhIHN0ciBtb2R1bGUgbmFtZSBhbmQgcmV0dXJucyB0aGUgcGF0aCB0bwotICAgICAgICB0aGUgc291cmNlIGNvZGUgZm9yIHRoZSBtb2R1bGUuIiIiCi0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKLQotICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAiIiJJbXBsZW1lbnQgZ2V0X2ZpbGVuYW1lIGluIHRlcm1zIG9mIHNvdXJjZV9wYXRoLgotCi0gICAgICAgIEFzIGdldF9maWxlbmFtZSBzaG91bGQgb25seSByZXR1cm4gYSBzb3VyY2UgZmlsZSBwYXRoIHRoZXJlIGlzIG5vCi0gICAgICAgIGNoYW5jZSBvZiB0aGUgcGF0aCBub3QgZXhpc3RpbmcgYnV0IGxvYWRpbmcgc3RpbGwgYmVpbmcgcG9zc2libGUsIHNvCi0gICAgICAgIEltcG9ydEVycm9yIHNob3VsZCBwcm9wYWdhdGUgaW5zdGVhZCBvZiBiZWluZyB0dXJuZWQgaW50byByZXR1cm5pbmcKLSAgICAgICAgTm9uZS4KLQotICAgICAgICAiIiIKLSAgICAgICAgd2FybmluZ3Mud2FybigiaW1wb3J0bGliLmFiYy5QeUxvYWRlciBpcyBkZXByZWNhdGVkIGFuZCBpcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInNsYXRlZCBmb3IgcmVtb3ZhbCBpbiBQeXRob24gMy40OyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZSBTb3VyY2VMb2FkZXIgaW5zdGVhZC4gIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTZWUgdGhlIGltcG9ydGxpYiBkb2N1bWVudGF0aW9uIG9uIGhvdyB0byBiZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbXBhdGlibGUgd2l0aCBQeXRob24gMy4xIG9ud2FyZHMuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAgICAgcGF0aCA9IHNlbGYuc291cmNlX3BhdGgoZnVsbG5hbWUpCi0gICAgICAgIGlmIHBhdGggaXMgTm9uZToKLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG5hbWU9ZnVsbG5hbWUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gcGF0aAotCi0KLWNsYXNzIFB5UHljTG9hZGVyKFB5TG9hZGVyKToKLQotICAgICIiIkFic3RyYWN0IGJhc2UgY2xhc3MgdG8gYXNzaXN0IGluIGxvYWRpbmcgc291cmNlIGFuZCBieXRlY29kZSBieQotICAgIHJlcXVpcmluZyBvbmx5IGJhY2stZW5kIHN0b3JhZ2UgbWV0aG9kcyB0byBiZSBpbXBsZW1lbnRlZC4KLQotICAgIFRoaXMgY2xhc3MgaGFzIGJlZW4gZGVwcmVjYXRlZCEgUmVtb3ZhbCBpcyBzbGF0ZWQgZm9yIFB5dGhvbiAzLjQuIEltcGxlbWVudAotICAgIHRoZSBTb3VyY2VMb2FkZXIgQUJDIGluc3RlYWQuIElmIFB5dGhvbiAzLjEgY29tcGF0aWJpbGl0eSBpcyBuZWVkZWQsIHNlZQotICAgIFB5TG9hZGVyLgotCi0gICAgVGhlIG1ldGhvZHMgZ2V0X2NvZGUsIGdldF9zb3VyY2UsIGFuZCBsb2FkX21vZHVsZSBhcmUgaW1wbGVtZW50ZWQgZm9yIHRoZQotICAgIHVzZXIuCi0KLSAgICAiIiIKLQotICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIHNvdXJjZSBvciBieXRlY29kZSBmaWxlIHBhdGguIiIiCi0gICAgICAgIHBhdGggPSBzZWxmLnNvdXJjZV9wYXRoKGZ1bGxuYW1lKQotICAgICAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmV0dXJuIHBhdGgKLSAgICAgICAgcGF0aCA9IHNlbGYuYnl0ZWNvZGVfcGF0aChmdWxsbmFtZSkKLSAgICAgICAgaWYgcGF0aCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBwYXRoCi0gICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJubyBzb3VyY2Ugb3IgYnl0ZWNvZGUgcGF0aCBhdmFpbGFibGUgZm9yICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiezAhcn0iLmZvcm1hdChmdWxsbmFtZSksIG5hbWU9ZnVsbG5hbWUpCi0KLSAgICBkZWYgZ2V0X2NvZGUoc2VsZiwgZnVsbG5hbWUpOgotICAgICAgICAiIiJHZXQgYSBjb2RlIG9iamVjdCBmcm9tIHNvdXJjZSBvciBieXRlY29kZS4iIiIKLSAgICAgICAgd2FybmluZ3Mud2FybigiaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlciBpcyBkZXByZWNhdGVkIGFuZCBzbGF0ZWQgZm9yICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVtb3ZhbCBpbiBQeXRob24gMy40OyB1c2UgU291cmNlTG9hZGVyIGluc3RlYWQuICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSWYgUHl0aG9uIDMuMSBjb21wYXRpYmlsaXR5IGlzIHJlcXVpcmVkLCBzZWUgdGhlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGF0ZXN0IGRvY3VtZW50YXRpb24gZm9yIFB5TG9hZGVyLiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCi0gICAgICAgIHNvdXJjZV90aW1lc3RhbXAgPSBzZWxmLnNvdXJjZV9tdGltZShmdWxsbmFtZSkKLSAgICAgICAgIyBUcnkgdG8gdXNlIGJ5dGVjb2RlIGlmIGl0IGlzIGF2YWlsYWJsZS4KLSAgICAgICAgYnl0ZWNvZGVfcGF0aCA9IHNlbGYuYnl0ZWNvZGVfcGF0aChmdWxsbmFtZSkKLSAgICAgICAgaWYgYnl0ZWNvZGVfcGF0aDoKLSAgICAgICAgICAgIGRhdGEgPSBzZWxmLmdldF9kYXRhKGJ5dGVjb2RlX3BhdGgpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbWFnaWMgPSBkYXRhWzo0XQotICAgICAgICAgICAgICAgIGlmIGxlbihtYWdpYykgPCA0OgotICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgICJiYWQgbWFnaWMgbnVtYmVyIGluIHt9Ii5mb3JtYXQoZnVsbG5hbWUpLAotICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1mdWxsbmFtZSwgcGF0aD1ieXRlY29kZV9wYXRoKQotICAgICAgICAgICAgICAgIHJhd190aW1lc3RhbXAgPSBkYXRhWzQ6OF0KLSAgICAgICAgICAgICAgICBpZiBsZW4ocmF3X3RpbWVzdGFtcCkgPCA0OgotICAgICAgICAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcigiYmFkIHRpbWVzdGFtcCBpbiB7fSIuZm9ybWF0KGZ1bGxuYW1lKSkKLSAgICAgICAgICAgICAgICBweWNfdGltZXN0YW1wID0gX2Jvb3RzdHJhcC5fcl9sb25nKHJhd190aW1lc3RhbXApCi0gICAgICAgICAgICAgICAgcmF3X3NvdXJjZV9zaXplID0gZGF0YVs4OjEyXQotICAgICAgICAgICAgICAgIGlmIGxlbihyYXdfc291cmNlX3NpemUpICE9IDQ6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yKCJiYWQgZmlsZSBzaXplIGluIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQotICAgICAgICAgICAgICAgICMgU291cmNlIHNpemUgaXMgdW51c2VkIGFzIHRoZSBBQkMgZG9lcyBub3QgcHJvdmlkZSBhIHdheSB0bwotICAgICAgICAgICAgICAgICMgZ2V0IHRoZSBzaXplIG9mIHRoZSBzb3VyY2UgYWhlYWQgb2YgcmVhZGluZyBpdC4KLSAgICAgICAgICAgICAgICBieXRlY29kZSA9IGRhdGFbMTI6XQotICAgICAgICAgICAgICAgICMgVmVyaWZ5IHRoYXQgdGhlIG1hZ2ljIG51bWJlciBpcyB2YWxpZC4KLSAgICAgICAgICAgICAgICBpZiBpbXAuZ2V0X21hZ2ljKCkgIT0gbWFnaWM6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgImJhZCBtYWdpYyBudW1iZXIgaW4ge30iLmZvcm1hdChmdWxsbmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPWZ1bGxuYW1lLCBwYXRoPWJ5dGVjb2RlX3BhdGgpCi0gICAgICAgICAgICAgICAgIyBWZXJpZnkgdGhhdCB0aGUgYnl0ZWNvZGUgaXMgbm90IHN0YWxlIChvbmx5IG1hdHRlcnMgd2hlbgotICAgICAgICAgICAgICAgICMgdGhlcmUgaXMgc291cmNlIHRvIGZhbGwgYmFjayBvbi4KLSAgICAgICAgICAgICAgICBpZiBzb3VyY2VfdGltZXN0YW1wOgotICAgICAgICAgICAgICAgICAgICBpZiBweWNfdGltZXN0YW1wIDwgc291cmNlX3RpbWVzdGFtcDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJieXRlY29kZSBpcyBzdGFsZSIsIG5hbWU9ZnVsbG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoPWJ5dGVjb2RlX3BhdGgpCi0gICAgICAgICAgICBleGNlcHQgKEltcG9ydEVycm9yLCBFT0ZFcnJvcik6Ci0gICAgICAgICAgICAgICAgIyBJZiBzb3VyY2UgaXMgYXZhaWxhYmxlIGdpdmUgaXQgYSBzaG90LgotICAgICAgICAgICAgICAgIGlmIHNvdXJjZV90aW1lc3RhbXAgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAjIEJ5dGVjb2RlIHNlZW1zIGZpbmUsIHNvIHRyeSB0byB1c2UgaXQuCi0gICAgICAgICAgICAgICAgcmV0dXJuIG1hcnNoYWwubG9hZHMoYnl0ZWNvZGUpCi0gICAgICAgIGVsaWYgc291cmNlX3RpbWVzdGFtcCBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoIm5vIHNvdXJjZSBvciBieXRlY29kZSBhdmFpbGFibGUgdG8gY3JlYXRlIGNvZGUgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdCBmb3IgezAhcn0iLmZvcm1hdChmdWxsbmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPWZ1bGxuYW1lKQotICAgICAgICAjIFVzZSB0aGUgc291cmNlLgotICAgICAgICBzb3VyY2VfcGF0aCA9IHNlbGYuc291cmNlX3BhdGgoZnVsbG5hbWUpCi0gICAgICAgIGlmIHNvdXJjZV9wYXRoIGlzIE5vbmU6Ci0gICAgICAgICAgICBtZXNzYWdlID0gImEgc291cmNlIHBhdGggbXVzdCBleGlzdCB0byBsb2FkIHswfSIuZm9ybWF0KGZ1bGxuYW1lKQotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobWVzc2FnZSwgbmFtZT1mdWxsbmFtZSkKLSAgICAgICAgc291cmNlID0gc2VsZi5nZXRfZGF0YShzb3VyY2VfcGF0aCkKLSAgICAgICAgY29kZV9vYmplY3QgPSBjb21waWxlKHNvdXJjZSwgc291cmNlX3BhdGgsICdleGVjJywgZG9udF9pbmhlcml0PVRydWUpCi0gICAgICAgICMgR2VuZXJhdGUgYnl0ZWNvZGUgYW5kIHdyaXRlIGl0IG91dC4KLSAgICAgICAgaWYgbm90IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlOgotICAgICAgICAgICAgZGF0YSA9IGJ5dGVhcnJheShpbXAuZ2V0X21hZ2ljKCkpCi0gICAgICAgICAgICBkYXRhLmV4dGVuZChfYm9vdHN0cmFwLl93X2xvbmcoc291cmNlX3RpbWVzdGFtcCkpCi0gICAgICAgICAgICBkYXRhLmV4dGVuZChfYm9vdHN0cmFwLl93X2xvbmcobGVuKHNvdXJjZSkgJiAweEZGRkZGRkZGKSkKLSAgICAgICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuZHVtcHMoY29kZV9vYmplY3QpKQotICAgICAgICAgICAgc2VsZi53cml0ZV9ieXRlY29kZShmdWxsbmFtZSwgZGF0YSkKLSAgICAgICAgcmV0dXJuIGNvZGVfb2JqZWN0Ci0KLSAgICBAYWJjLmFic3RyYWN0bWV0aG9kCi0gICAgZGVmIHNvdXJjZV9tdGltZShzZWxmLCBmdWxsbmFtZSk6Ci0gICAgICAgICIiIkFic3RyYWN0IG1ldGhvZC4gQWNjZXB0cyBhIHN0ciBmaWxlbmFtZSBhbmQgcmV0dXJucyBhbiBpbnQKLSAgICAgICAgbW9kaWZpY2F0aW9uIHRpbWUgZm9yIHRoZSBzb3VyY2Ugb2YgdGhlIG1vZHVsZS4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgotCi0gICAgQGFiYy5hYnN0cmFjdG1ldGhvZAotICAgIGRlZiBieXRlY29kZV9wYXRoKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgIiIiQWJzdHJhY3QgbWV0aG9kLiBBY2NlcHRzIGEgc3RyIGZpbGVuYW1lIGFuZCByZXR1cm5zIHRoZSBzdHIgcGF0aG5hbWUKLSAgICAgICAgdG8gdGhlIGJ5dGVjb2RlIGZvciB0aGUgbW9kdWxlLiIiIgotICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCi0KLSAgICBAYWJjLmFic3RyYWN0bWV0aG9kCi0gICAgZGVmIHdyaXRlX2J5dGVjb2RlKHNlbGYsIGZ1bGxuYW1lLCBieXRlY29kZSk6Ci0gICAgICAgICIiIkFic3RyYWN0IG1ldGhvZC4gIEFjY2VwdHMgYSBzdHIgZmlsZW5hbWUgYW5kIGJ5dGVzIG9iamVjdAotICAgICAgICByZXByZXNlbnRpbmcgdGhlIGJ5dGVjb2RlIGZvciB0aGUgbW9kdWxlLiAgUmV0dXJucyBhIGJvb2xlYW4KLSAgICAgICAgcmVwcmVzZW50aW5nIHdoZXRoZXIgdGhlIGJ5dGVjb2RlIHdhcyB3cml0dGVuIG9yIG5vdC4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgpkaWZmIC0tZ2l0IGEvTGliL2luc3BlY3QucHkgYi9MaWIvaW5zcGVjdC5weQppbmRleCA3ODM0ZDEyLi5lNjBhMjM1IDEwMDY0NAotLS0gYS9MaWIvaW5zcGVjdC5weQorKysgYi9MaWIvaW5zcGVjdC5weQpAQCAtNTQ1LDEzICs1NDUsMTMgQEAKIAogICAgIFRoZSBhcmd1bWVudCBtYXkgYmUgYSBtb2R1bGUsIGNsYXNzLCBtZXRob2QsIGZ1bmN0aW9uLCB0cmFjZWJhY2ssIGZyYW1lLAogICAgIG9yIGNvZGUgb2JqZWN0LiAgVGhlIHNvdXJjZSBjb2RlIGlzIHJldHVybmVkIGFzIGEgbGlzdCBvZiBhbGwgdGhlIGxpbmVzCi0gICAgaW4gdGhlIGZpbGUgYW5kIHRoZSBsaW5lIG51bWJlciBpbmRleGVzIGEgbGluZSBpbiB0aGF0IGxpc3QuICBBbiBJT0Vycm9yCisgICAgaW4gdGhlIGZpbGUgYW5kIHRoZSBsaW5lIG51bWJlciBpbmRleGVzIGEgbGluZSBpbiB0aGF0IGxpc3QuICBBbiBPU0Vycm9yCiAgICAgaXMgcmFpc2VkIGlmIHRoZSBzb3VyY2UgY29kZSBjYW5ub3QgYmUgcmV0cmlldmVkLiIiIgogCiAgICAgZmlsZSA9IGdldGZpbGUob2JqZWN0KQogICAgIHNvdXJjZWZpbGUgPSBnZXRzb3VyY2VmaWxlKG9iamVjdCkKICAgICBpZiBub3Qgc291cmNlZmlsZSBhbmQgZmlsZVs6MV0gKyBmaWxlWy0xOl0gIT0gJzw+JzoKLSAgICAgICAgcmFpc2UgSU9FcnJvcignc291cmNlIGNvZGUgbm90IGF2YWlsYWJsZScpCisgICAgICAgIHJhaXNlIE9TRXJyb3IoJ3NvdXJjZSBjb2RlIG5vdCBhdmFpbGFibGUnKQogICAgIGZpbGUgPSBzb3VyY2VmaWxlIGlmIHNvdXJjZWZpbGUgZWxzZSBmaWxlCiAKICAgICBtb2R1bGUgPSBnZXRtb2R1bGUob2JqZWN0LCBmaWxlKQpAQCAtNTYwLDcgKzU2MCw3IEBACiAgICAgZWxzZToKICAgICAgICAgbGluZXMgPSBsaW5lY2FjaGUuZ2V0bGluZXMoZmlsZSkKICAgICBpZiBub3QgbGluZXM6Ci0gICAgICAgIHJhaXNlIElPRXJyb3IoJ2NvdWxkIG5vdCBnZXQgc291cmNlIGNvZGUnKQorICAgICAgICByYWlzZSBPU0Vycm9yKCdjb3VsZCBub3QgZ2V0IHNvdXJjZSBjb2RlJykKIAogICAgIGlmIGlzbW9kdWxlKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBsaW5lcywgMApAQCAtNTg2LDcgKzU4Niw3IEBACiAgICAgICAgICAgICBjYW5kaWRhdGVzLnNvcnQoKQogICAgICAgICAgICAgcmV0dXJuIGxpbmVzLCBjYW5kaWRhdGVzWzBdWzFdCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCdjb3VsZCBub3QgZmluZCBjbGFzcyBkZWZpbml0aW9uJykKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ2NvdWxkIG5vdCBmaW5kIGNsYXNzIGRlZmluaXRpb24nKQogCiAgICAgaWYgaXNtZXRob2Qob2JqZWN0KToKICAgICAgICAgb2JqZWN0ID0gb2JqZWN0Ll9fZnVuY19fCkBAIC01OTgsMTQgKzU5OCwxNCBAQAogICAgICAgICBvYmplY3QgPSBvYmplY3QuZl9jb2RlCiAgICAgaWYgaXNjb2RlKG9iamVjdCk6CiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKG9iamVjdCwgJ2NvX2ZpcnN0bGluZW5vJyk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCdjb3VsZCBub3QgZmluZCBmdW5jdGlvbiBkZWZpbml0aW9uJykKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ2NvdWxkIG5vdCBmaW5kIGZ1bmN0aW9uIGRlZmluaXRpb24nKQogICAgICAgICBsbnVtID0gb2JqZWN0LmNvX2ZpcnN0bGluZW5vIC0gMQogICAgICAgICBwYXQgPSByZS5jb21waWxlKHInXihccypkZWZccyl8KC4qKD88IVx3KWxhbWJkYSg6fFxzKSl8XihccypAKScpCiAgICAgICAgIHdoaWxlIGxudW0gPiAwOgogICAgICAgICAgICAgaWYgcGF0Lm1hdGNoKGxpbmVzW2xudW1dKTogYnJlYWsKICAgICAgICAgICAgIGxudW0gPSBsbnVtIC0gMQogICAgICAgICByZXR1cm4gbGluZXMsIGxudW0KLSAgICByYWlzZSBJT0Vycm9yKCdjb3VsZCBub3QgZmluZCBjb2RlIG9iamVjdCcpCisgICAgcmFpc2UgT1NFcnJvcignY291bGQgbm90IGZpbmQgY29kZSBvYmplY3QnKQogCiBkZWYgZ2V0Y29tbWVudHMob2JqZWN0KToKICAgICAiIiJHZXQgbGluZXMgb2YgY29tbWVudHMgaW1tZWRpYXRlbHkgcHJlY2VkaW5nIGFuIG9iamVjdCdzIHNvdXJjZSBjb2RlLgpAQCAtNjE0LDcgKzYxNCw3IEBACiAgICAgIiIiCiAgICAgdHJ5OgogICAgICAgICBsaW5lcywgbG51bSA9IGZpbmRzb3VyY2Uob2JqZWN0KQotICAgIGV4Y2VwdCAoSU9FcnJvciwgVHlwZUVycm9yKToKKyAgICBleGNlcHQgKE9TRXJyb3IsIFR5cGVFcnJvcik6CiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICBpZiBpc21vZHVsZShvYmplY3QpOgpAQCAtNzEwLDcgKzcxMCw3IEBACiAgICAgVGhlIGFyZ3VtZW50IG1heSBiZSBhIG1vZHVsZSwgY2xhc3MsIG1ldGhvZCwgZnVuY3Rpb24sIHRyYWNlYmFjaywgZnJhbWUsCiAgICAgb3IgY29kZSBvYmplY3QuICBUaGUgc291cmNlIGNvZGUgaXMgcmV0dXJuZWQgYXMgYSBsaXN0IG9mIHRoZSBsaW5lcwogICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9iamVjdCBhbmQgdGhlIGxpbmUgbnVtYmVyIGluZGljYXRlcyB3aGVyZSBpbiB0aGUKLSAgICBvcmlnaW5hbCBzb3VyY2UgZmlsZSB0aGUgZmlyc3QgbGluZSBvZiBjb2RlIHdhcyBmb3VuZC4gIEFuIElPRXJyb3IgaXMKKyAgICBvcmlnaW5hbCBzb3VyY2UgZmlsZSB0aGUgZmlyc3QgbGluZSBvZiBjb2RlIHdhcyBmb3VuZC4gIEFuIE9TRXJyb3IgaXMKICAgICByYWlzZWQgaWYgdGhlIHNvdXJjZSBjb2RlIGNhbm5vdCBiZSByZXRyaWV2ZWQuIiIiCiAgICAgbGluZXMsIGxudW0gPSBmaW5kc291cmNlKG9iamVjdCkKIApAQCAtNzIyLDcgKzcyMiw3IEBACiAKICAgICBUaGUgYXJndW1lbnQgbWF5IGJlIGEgbW9kdWxlLCBjbGFzcywgbWV0aG9kLCBmdW5jdGlvbiwgdHJhY2ViYWNrLCBmcmFtZSwKICAgICBvciBjb2RlIG9iamVjdC4gIFRoZSBzb3VyY2UgY29kZSBpcyByZXR1cm5lZCBhcyBhIHNpbmdsZSBzdHJpbmcuICBBbgotICAgIElPRXJyb3IgaXMgcmFpc2VkIGlmIHRoZSBzb3VyY2UgY29kZSBjYW5ub3QgYmUgcmV0cmlldmVkLiIiIgorICAgIE9TRXJyb3IgaXMgcmFpc2VkIGlmIHRoZSBzb3VyY2UgY29kZSBjYW5ub3QgYmUgcmV0cmlldmVkLiIiIgogICAgIGxpbmVzLCBsbnVtID0gZ2V0c291cmNlbGluZXMob2JqZWN0KQogICAgIHJldHVybiAnJy5qb2luKGxpbmVzKQogCkBAIC0xMTIyLDcgKzExMjIsNyBAQAogICAgICAgICBzdGFydCA9IGxpbmVubyAtIDEgLSBjb250ZXh0Ly8yCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxpbmVzLCBsbnVtID0gZmluZHNvdXJjZShmcmFtZSkKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgbGluZXMgPSBpbmRleCA9IE5vbmUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN0YXJ0ID0gbWF4KHN0YXJ0LCAxKQpkaWZmIC0tZ2l0IGEvTGliL2lvLnB5IGIvTGliL2lvLnB5CmluZGV4IGJkYTRkZWYuLjM5ODc4YjggMTAwNjQ0Ci0tLSBhL0xpYi9pby5weQorKysgYi9MaWIvaW8ucHkKQEAgLTQsNyArNCw3IEBACiBBdCB0aGUgdG9wIG9mIHRoZSBJL08gaGllcmFyY2h5IGlzIHRoZSBhYnN0cmFjdCBiYXNlIGNsYXNzIElPQmFzZS4gSXQKIGRlZmluZXMgdGhlIGJhc2ljIGludGVyZmFjZSB0byBhIHN0cmVhbS4gTm90ZSwgaG93ZXZlciwgdGhhdCB0aGVyZSBpcyBubwogc2VwYXJhdGlvbiBiZXR3ZWVuIHJlYWRpbmcgYW5kIHdyaXRpbmcgdG8gc3RyZWFtczsgaW1wbGVtZW50YXRpb25zIGFyZQotYWxsb3dlZCB0byByYWlzZSBhbiBJT0Vycm9yIGlmIHRoZXkgZG8gbm90IHN1cHBvcnQgYSBnaXZlbiBvcGVyYXRpb24uCithbGxvd2VkIHRvIHJhaXNlIGFuIE9TRXJyb3IgaWYgdGhleSBkbyBub3Qgc3VwcG9ydCBhIGdpdmVuIG9wZXJhdGlvbi4KIAogRXh0ZW5kaW5nIElPQmFzZSBpcyBSYXdJT0Jhc2Ugd2hpY2ggZGVhbHMgc2ltcGx5IHdpdGggdGhlIHJlYWRpbmcgYW5kCiB3cml0aW5nIG9mIHJhdyBieXRlcyB0byBhIHN0cmVhbS4gRmlsZUlPIHN1YmNsYXNzZXMgUmF3SU9CYXNlIHRvIHByb3ZpZGUKZGlmZiAtLWdpdCBhL0xpYi9qc29uL19faW5pdF9fLnB5IGIvTGliL2pzb24vX19pbml0X18ucHkKaW5kZXggNDhhNGY4Zi4uM2Y5NWNjMyAxMDA2NDQKLS0tIGEvTGliL2pzb24vX19pbml0X18ucHkKKysrIGIvTGliL2pzb24vX19pbml0X18ucHkKQEAgLTM5LDggKzM5LDcgQEAKIFByZXR0eSBwcmludGluZzo6CiAKICAgICA+Pj4gaW1wb3J0IGpzb24KLSAgICA+Pj4gcHJpbnQoanNvbi5kdW1wcyh7JzQnOiA1LCAnNic6IDd9LCBzb3J0X2tleXM9VHJ1ZSwKLSAgICAuLi4gICAgICAgICAgICAgICAgICBpbmRlbnQ9NCwgc2VwYXJhdG9ycz0oJywnLCAnOiAnKSkpCisgICAgPj4+IHByaW50KGpzb24uZHVtcHMoeyc0JzogNSwgJzYnOiA3fSwgc29ydF9rZXlzPVRydWUsIGluZGVudD00KSkKICAgICB7CiAgICAgICAgICI0IjogNSwKICAgICAgICAgIjYiOiA3CkBAIC0xNDYsMTMgKzE0NSwxMiBAQAogICAgIElmIGBgaW5kZW50YGAgaXMgYSBub24tbmVnYXRpdmUgaW50ZWdlciwgdGhlbiBKU09OIGFycmF5IGVsZW1lbnRzIGFuZAogICAgIG9iamVjdCBtZW1iZXJzIHdpbGwgYmUgcHJldHR5LXByaW50ZWQgd2l0aCB0aGF0IGluZGVudCBsZXZlbC4gQW4gaW5kZW50CiAgICAgbGV2ZWwgb2YgMCB3aWxsIG9ubHkgaW5zZXJ0IG5ld2xpbmVzLiBgYE5vbmVgYCBpcyB0aGUgbW9zdCBjb21wYWN0Ci0gICAgcmVwcmVzZW50YXRpb24uICBTaW5jZSB0aGUgZGVmYXVsdCBpdGVtIHNlcGFyYXRvciBpcyBgYCcsICdgYCwgIHRoZQotICAgIG91dHB1dCBtaWdodCBpbmNsdWRlIHRyYWlsaW5nIHdoaXRlc3BhY2Ugd2hlbiBgYGluZGVudGBgIGlzIHNwZWNpZmllZC4KLSAgICBZb3UgY2FuIHVzZSBgYHNlcGFyYXRvcnM9KCcsJywgJzogJylgYCB0byBhdm9pZCB0aGlzLgorICAgIHJlcHJlc2VudGF0aW9uLgogCi0gICAgSWYgYGBzZXBhcmF0b3JzYGAgaXMgYW4gYGAoaXRlbV9zZXBhcmF0b3IsIGRpY3Rfc2VwYXJhdG9yKWBgIHR1cGxlCi0gICAgdGhlbiBpdCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBgYCgnLCAnLCAnOiAnKWBgIHNlcGFyYXRvcnMuCi0gICAgYGAoJywnLCAnOicpYGAgaXMgdGhlIG1vc3QgY29tcGFjdCBKU09OIHJlcHJlc2VudGF0aW9uLgorICAgIElmIHNwZWNpZmllZCwgYGBzZXBhcmF0b3JzYGAgc2hvdWxkIGJlIGFuIGBgKGl0ZW1fc2VwYXJhdG9yLCBrZXlfc2VwYXJhdG9yKWBgCisgICAgdHVwbGUuICBUaGUgZGVmYXVsdCBpcyBgYCgnLCAnLCAnOiAnKWBgIGlmICppbmRlbnQqIGlzIGBgTm9uZWBgIGFuZAorICAgIGBgKCcsJywgJzogJylgYCBvdGhlcndpc2UuICBUbyBnZXQgdGhlIG1vc3QgY29tcGFjdCBKU09OIHJlcHJlc2VudGF0aW9uLAorICAgIHlvdSBzaG91bGQgc3BlY2lmeSBgYCgnLCcsICc6JylgYCB0byBlbGltaW5hdGUgd2hpdGVzcGFjZS4KIAogICAgIGBgZGVmYXVsdChvYmopYGAgaXMgYSBmdW5jdGlvbiB0aGF0IHNob3VsZCByZXR1cm4gYSBzZXJpYWxpemFibGUgdmVyc2lvbgogICAgIG9mIG9iaiBvciByYWlzZSBUeXBlRXJyb3IuIFRoZSBkZWZhdWx0IHNpbXBseSByYWlzZXMgVHlwZUVycm9yLgpAQCAtMjA5LDEzICsyMDcsMTIgQEAKICAgICBJZiBgYGluZGVudGBgIGlzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIsIHRoZW4gSlNPTiBhcnJheSBlbGVtZW50cyBhbmQKICAgICBvYmplY3QgbWVtYmVycyB3aWxsIGJlIHByZXR0eS1wcmludGVkIHdpdGggdGhhdCBpbmRlbnQgbGV2ZWwuIEFuIGluZGVudAogICAgIGxldmVsIG9mIDAgd2lsbCBvbmx5IGluc2VydCBuZXdsaW5lcy4gYGBOb25lYGAgaXMgdGhlIG1vc3QgY29tcGFjdAotICAgIHJlcHJlc2VudGF0aW9uLiAgU2luY2UgdGhlIGRlZmF1bHQgaXRlbSBzZXBhcmF0b3IgaXMgYGAnLCAnYGAsICB0aGUKLSAgICBvdXRwdXQgbWlnaHQgaW5jbHVkZSB0cmFpbGluZyB3aGl0ZXNwYWNlIHdoZW4gYGBpbmRlbnRgYCBpcyBzcGVjaWZpZWQuCi0gICAgWW91IGNhbiB1c2UgYGBzZXBhcmF0b3JzPSgnLCcsICc6ICcpYGAgdG8gYXZvaWQgdGhpcy4KKyAgICByZXByZXNlbnRhdGlvbi4KIAotICAgIElmIGBgc2VwYXJhdG9yc2BgIGlzIGFuIGBgKGl0ZW1fc2VwYXJhdG9yLCBkaWN0X3NlcGFyYXRvcilgYCB0dXBsZQotICAgIHRoZW4gaXQgd2lsbCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYGAoJywgJywgJzogJylgYCBzZXBhcmF0b3JzLgotICAgIGBgKCcsJywgJzonKWBgIGlzIHRoZSBtb3N0IGNvbXBhY3QgSlNPTiByZXByZXNlbnRhdGlvbi4KKyAgICBJZiBzcGVjaWZpZWQsIGBgc2VwYXJhdG9yc2BgIHNob3VsZCBiZSBhbiBgYChpdGVtX3NlcGFyYXRvciwga2V5X3NlcGFyYXRvcilgYAorICAgIHR1cGxlLiAgVGhlIGRlZmF1bHQgaXMgYGAoJywgJywgJzogJylgYCBpZiAqaW5kZW50KiBpcyBgYE5vbmVgYCBhbmQKKyAgICBgYCgnLCcsICc6ICcpYGAgb3RoZXJ3aXNlLiAgVG8gZ2V0IHRoZSBtb3N0IGNvbXBhY3QgSlNPTiByZXByZXNlbnRhdGlvbiwKKyAgICB5b3Ugc2hvdWxkIHNwZWNpZnkgYGAoJywnLCAnOicpYGAgdG8gZWxpbWluYXRlIHdoaXRlc3BhY2UuCiAKICAgICBgYGRlZmF1bHQob2JqKWBgIGlzIGEgZnVuY3Rpb24gdGhhdCBzaG91bGQgcmV0dXJuIGEgc2VyaWFsaXphYmxlIHZlcnNpb24KICAgICBvZiBvYmogb3IgcmFpc2UgVHlwZUVycm9yLiBUaGUgZGVmYXVsdCBzaW1wbHkgcmFpc2VzIFR5cGVFcnJvci4KZGlmZiAtLWdpdCBhL0xpYi9qc29uL2RlY29kZXIucHkgYi9MaWIvanNvbi9kZWNvZGVyLnB5CmluZGV4IDUxYzNhYTcuLmRhN2VmOWMgMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL2RlY29kZXIucHkKKysrIGIvTGliL2pzb24vZGVjb2Rlci5weQpAQCAtMSw5ICsxLDYgQEAKICIiIkltcGxlbWVudGF0aW9uIG9mIEpTT05EZWNvZGVyCiAiIiIKLWltcG9ydCBiaW5hc2NpaQogaW1wb3J0IHJlCi1pbXBvcnQgc3lzCi1pbXBvcnQgc3RydWN0CiAKIGZyb20ganNvbiBpbXBvcnQgc2Nhbm5lcgogdHJ5OgpAQCAtMTUsMTQgKzEyLDkgQEAKIAogRkxBR1MgPSByZS5WRVJCT1NFIHwgcmUuTVVMVElMSU5FIHwgcmUuRE9UQUxMCiAKLWRlZiBfZmxvYXRjb25zdGFudHMoKToKLSAgICBfQllURVMgPSBiaW5hc2NpaS51bmhleGxpZnkoYic3RkY4MDAwMDAwMDAwMDAwN0ZGMDAwMDAwMDAwMDAwMCcpCi0gICAgaWYgc3lzLmJ5dGVvcmRlciAhPSAnYmlnJzoKLSAgICAgICAgX0JZVEVTID0gX0JZVEVTWzo4XVs6Oi0xXSArIF9CWVRFU1s4Ol1bOjotMV0KLSAgICBuYW4sIGluZiA9IHN0cnVjdC51bnBhY2soJ2RkJywgX0JZVEVTKQotICAgIHJldHVybiBuYW4sIGluZiwgLWluZgotCi1OYU4sIFBvc0luZiwgTmVnSW5mID0gX2Zsb2F0Y29uc3RhbnRzKCkKK05hTiA9IGZsb2F0KCduYW4nKQorUG9zSW5mID0gZmxvYXQoJ2luZicpCitOZWdJbmYgPSBmbG9hdCgnLWluZicpCiAKIAogZGVmIGxpbmVjb2woZG9jLCBwb3MpOgpAQCAtMTk2LDggKzE4OCw4IEBACiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdmFsdWUsIGVuZCA9IHNjYW5fb25jZShzLCBlbmQpCi0gICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyBvYmplY3QiLCBzLCBlbmQpKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlcnI6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nIHZhbHVlIiwgcywgZXJyLnZhbHVlKSkgZnJvbSBOb25lCiAgICAgICAgIHBhaXJzX2FwcGVuZCgoa2V5LCB2YWx1ZSkpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG5leHRjaGFyID0gc1tlbmRdCkBAIC0yNDAsOCArMjMyLDggQEAKICAgICB3aGlsZSBUcnVlOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICB2YWx1ZSwgZW5kID0gc2Nhbl9vbmNlKHMsIGVuZCkKLSAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nIG9iamVjdCIsIHMsIGVuZCkpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKICAgICAgICAgX2FwcGVuZCh2YWx1ZSkKICAgICAgICAgbmV4dGNoYXIgPSBzW2VuZDplbmQgKyAxXQogICAgICAgICBpZiBuZXh0Y2hhciBpbiBfd3M6CkBAIC0yNTEsNyArMjQzLDcgQEAKICAgICAgICAgaWYgbmV4dGNoYXIgPT0gJ10nOgogICAgICAgICAgICAgYnJlYWsKICAgICAgICAgZWxpZiBuZXh0Y2hhciAhPSAnLCc6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGVycm1zZygiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBzLCBlbmQpKQorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2coIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgcywgZW5kIC0gMSkpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGlmIHNbZW5kXSBpbiBfd3M6CiAgICAgICAgICAgICAgICAgZW5kICs9IDEKQEAgLTM2Niw2ICszNTgsNiBAQAogICAgICAgICAiIiIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb2JqLCBlbmQgPSBzZWxmLnNjYW5fb25jZShzLCBpZHgpCi0gICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiTm8gSlNPTiBvYmplY3QgY291bGQgYmUgZGVjb2RlZCIpCisgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGVycjoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKCJFeHBlY3RpbmcgdmFsdWUiLCBzLCBlcnIudmFsdWUpKSBmcm9tIE5vbmUKICAgICAgICAgcmV0dXJuIG9iaiwgZW5kCmRpZmYgLS1naXQgYS9MaWIvanNvbi9lbmNvZGVyLnB5IGIvTGliL2pzb24vZW5jb2Rlci5weQppbmRleCAxZDhiMjBjLi4zOWI1NTBkIDEwMDY0NAotLS0gYS9MaWIvanNvbi9lbmNvZGVyLnB5CisrKyBiL0xpYi9qc29uL2VuY29kZXIucHkKQEAgLTEyNSwxNCArMTI1LDEyIEBACiAgICAgICAgIElmIGluZGVudCBpcyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLCB0aGVuIEpTT04gYXJyYXkKICAgICAgICAgZWxlbWVudHMgYW5kIG9iamVjdCBtZW1iZXJzIHdpbGwgYmUgcHJldHR5LXByaW50ZWQgd2l0aCB0aGF0CiAgICAgICAgIGluZGVudCBsZXZlbC4gIEFuIGluZGVudCBsZXZlbCBvZiAwIHdpbGwgb25seSBpbnNlcnQgbmV3bGluZXMuCi0gICAgICAgIE5vbmUgaXMgdGhlIG1vc3QgY29tcGFjdCByZXByZXNlbnRhdGlvbi4gIFNpbmNlIHRoZSBkZWZhdWx0Ci0gICAgICAgIGl0ZW0gc2VwYXJhdG9yIGlzICcsICcsICB0aGUgb3V0cHV0IG1pZ2h0IGluY2x1ZGUgdHJhaWxpbmcKLSAgICAgICAgd2hpdGVzcGFjZSB3aGVuIGluZGVudCBpcyBzcGVjaWZpZWQuICBZb3UgY2FuIHVzZQotICAgICAgICBzZXBhcmF0b3JzPSgnLCcsICc6ICcpIHRvIGF2b2lkIHRoaXMuCisgICAgICAgIE5vbmUgaXMgdGhlIG1vc3QgY29tcGFjdCByZXByZXNlbnRhdGlvbi4KIAotICAgICAgICBJZiBzcGVjaWZpZWQsIHNlcGFyYXRvcnMgc2hvdWxkIGJlIGEgKGl0ZW1fc2VwYXJhdG9yLCBrZXlfc2VwYXJhdG9yKQotICAgICAgICB0dXBsZS4gIFRoZSBkZWZhdWx0IGlzICgnLCAnLCAnOiAnKS4gIFRvIGdldCB0aGUgbW9zdCBjb21wYWN0IEpTT04KLSAgICAgICAgcmVwcmVzZW50YXRpb24geW91IHNob3VsZCBzcGVjaWZ5ICgnLCcsICc6JykgdG8gZWxpbWluYXRlIHdoaXRlc3BhY2UuCisgICAgICAgIElmIHNwZWNpZmllZCwgc2VwYXJhdG9ycyBzaG91bGQgYmUgYW4gKGl0ZW1fc2VwYXJhdG9yLCBrZXlfc2VwYXJhdG9yKQorICAgICAgICB0dXBsZS4gIFRoZSBkZWZhdWx0IGlzICgnLCAnLCAnOiAnKSBpZiAqaW5kZW50KiBpcyBgYE5vbmVgYCBhbmQKKyAgICAgICAgKCcsJywgJzogJykgb3RoZXJ3aXNlLiAgVG8gZ2V0IHRoZSBtb3N0IGNvbXBhY3QgSlNPTiByZXByZXNlbnRhdGlvbiwKKyAgICAgICAgeW91IHNob3VsZCBzcGVjaWZ5ICgnLCcsICc6JykgdG8gZWxpbWluYXRlIHdoaXRlc3BhY2UuCiAKICAgICAgICAgSWYgc3BlY2lmaWVkLCBkZWZhdWx0IGlzIGEgZnVuY3Rpb24gdGhhdCBnZXRzIGNhbGxlZCBmb3Igb2JqZWN0cwogICAgICAgICB0aGF0IGNhbid0IG90aGVyd2lzZSBiZSBzZXJpYWxpemVkLiAgSXQgc2hvdWxkIHJldHVybiBhIEpTT04gZW5jb2RhYmxlCkBAIC0xNDgsNiArMTQ2LDggQEAKICAgICAgICAgc2VsZi5pbmRlbnQgPSBpbmRlbnQKICAgICAgICAgaWYgc2VwYXJhdG9ycyBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHNlbGYuaXRlbV9zZXBhcmF0b3IsIHNlbGYua2V5X3NlcGFyYXRvciA9IHNlcGFyYXRvcnMKKyAgICAgICAgZWxpZiBpbmRlbnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLml0ZW1fc2VwYXJhdG9yID0gJywnCiAgICAgICAgIGlmIGRlZmF1bHQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBzZWxmLmRlZmF1bHQgPSBkZWZhdWx0CiAKQEAgLTMwOSw4ICszMDksNyBAQAogICAgICAgICAgICAgICAgICAgICBjaHVua3MgPSBfaXRlcmVuY29kZV9kaWN0KHZhbHVlLCBfY3VycmVudF9pbmRlbnRfbGV2ZWwpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgY2h1bmtzID0gX2l0ZXJlbmNvZGUodmFsdWUsIF9jdXJyZW50X2luZGVudF9sZXZlbCkKLSAgICAgICAgICAgICAgICBmb3IgY2h1bmsgaW4gY2h1bmtzOgotICAgICAgICAgICAgICAgICAgICB5aWVsZCBjaHVuaworICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gY2h1bmtzCiAgICAgICAgIGlmIG5ld2xpbmVfaW5kZW50IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgX2N1cnJlbnRfaW5kZW50X2xldmVsIC09IDEKICAgICAgICAgICAgIHlpZWxkICdcbicgKyBfaW5kZW50ICogX2N1cnJlbnRfaW5kZW50X2xldmVsCkBAIC0zODUsOCArMzg0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgY2h1bmtzID0gX2l0ZXJlbmNvZGVfZGljdCh2YWx1ZSwgX2N1cnJlbnRfaW5kZW50X2xldmVsKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGNodW5rcyA9IF9pdGVyZW5jb2RlKHZhbHVlLCBfY3VycmVudF9pbmRlbnRfbGV2ZWwpCi0gICAgICAgICAgICAgICAgZm9yIGNodW5rIGluIGNodW5rczoKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgY2h1bmsKKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIGNodW5rcwogICAgICAgICBpZiBuZXdsaW5lX2luZGVudCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIF9jdXJyZW50X2luZGVudF9sZXZlbCAtPSAxCiAgICAgICAgICAgICB5aWVsZCAnXG4nICsgX2luZGVudCAqIF9jdXJyZW50X2luZGVudF9sZXZlbApAQCAtNDA4LDExICs0MDYsOSBAQAogICAgICAgICBlbGlmIGlzaW5zdGFuY2UobywgZmxvYXQpOgogICAgICAgICAgICAgeWllbGQgX2Zsb2F0c3RyKG8pCiAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShvLCAobGlzdCwgdHVwbGUpKToKLSAgICAgICAgICAgIGZvciBjaHVuayBpbiBfaXRlcmVuY29kZV9saXN0KG8sIF9jdXJyZW50X2luZGVudF9sZXZlbCk6Ci0gICAgICAgICAgICAgICAgeWllbGQgY2h1bmsKKyAgICAgICAgICAgIHlpZWxkIGZyb20gX2l0ZXJlbmNvZGVfbGlzdChvLCBfY3VycmVudF9pbmRlbnRfbGV2ZWwpCiAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShvLCBkaWN0KToKLSAgICAgICAgICAgIGZvciBjaHVuayBpbiBfaXRlcmVuY29kZV9kaWN0KG8sIF9jdXJyZW50X2luZGVudF9sZXZlbCk6Ci0gICAgICAgICAgICAgICAgeWllbGQgY2h1bmsKKyAgICAgICAgICAgIHlpZWxkIGZyb20gX2l0ZXJlbmNvZGVfZGljdChvLCBfY3VycmVudF9pbmRlbnRfbGV2ZWwpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpZiBtYXJrZXJzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIG1hcmtlcmlkID0gaWQobykKQEAgLTQyMCw4ICs0MTYsNyBAQAogICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDaXJjdWxhciByZWZlcmVuY2UgZGV0ZWN0ZWQiKQogICAgICAgICAgICAgICAgIG1hcmtlcnNbbWFya2VyaWRdID0gbwogICAgICAgICAgICAgbyA9IF9kZWZhdWx0KG8pCi0gICAgICAgICAgICBmb3IgY2h1bmsgaW4gX2l0ZXJlbmNvZGUobywgX2N1cnJlbnRfaW5kZW50X2xldmVsKToKLSAgICAgICAgICAgICAgICB5aWVsZCBjaHVuaworICAgICAgICAgICAgeWllbGQgZnJvbSBfaXRlcmVuY29kZShvLCBfY3VycmVudF9pbmRlbnRfbGV2ZWwpCiAgICAgICAgICAgICBpZiBtYXJrZXJzIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGRlbCBtYXJrZXJzW21hcmtlcmlkXQogICAgIHJldHVybiBfaXRlcmVuY29kZQpkaWZmIC0tZ2l0IGEvTGliL2pzb24vc2Nhbm5lci5weSBiL0xpYi9qc29uL3NjYW5uZXIucHkKaW5kZXggMjNlZWY2MS4uODY0MjZjZCAxMDA2NDQKLS0tIGEvTGliL2pzb24vc2Nhbm5lci5weQorKysgYi9MaWIvanNvbi9zY2FubmVyLnB5CkBAIC0yOSw3ICsyOSw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG5leHRjaGFyID0gc3RyaW5nW2lkeF0KICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uKGlkeCkKIAogICAgICAgICBpZiBuZXh0Y2hhciA9PSAnIic6CiAgICAgICAgICAgICByZXR1cm4gcGFyc2Vfc3RyaW5nKHN0cmluZywgaWR4ICsgMSwgc3RyaWN0KQpAQCAtNjAsNyArNjAsNyBAQAogICAgICAgICBlbGlmIG5leHRjaGFyID09ICctJyBhbmQgc3RyaW5nW2lkeDppZHggKyA5XSA9PSAnLUluZmluaXR5JzoKICAgICAgICAgICAgIHJldHVybiBwYXJzZV9jb25zdGFudCgnLUluZmluaXR5JyksIGlkeCArIDkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KKyAgICAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24oaWR4KQogCiAgICAgZGVmIHNjYW5fb25jZShzdHJpbmcsIGlkeCk6CiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi9qc29uL3Rvb2wucHkgYi9MaWIvanNvbi90b29sLnB5CmluZGV4IGVjZjljNDcuLjdkYjQ1MjggMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL3Rvb2wucHkKKysrIGIvTGliL2pzb24vdG9vbC5weQpAQCAtMzEsOCArMzEsNyBAQAogICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgogICAgICAgICAgICAgcmFpc2UgU3lzdGVtRXhpdChlKQogICAgIHdpdGggb3V0ZmlsZToKLSAgICAgICAganNvbi5kdW1wKG9iaiwgb3V0ZmlsZSwgc29ydF9rZXlzPVRydWUsCi0gICAgICAgICAgICAgICAgICBpbmRlbnQ9NCwgc2VwYXJhdG9ycz0oJywnLCAnOiAnKSkKKyAgICAgICAganNvbi5kdW1wKG9iaiwgb3V0ZmlsZSwgc29ydF9rZXlzPVRydWUsIGluZGVudD00KQogICAgICAgICBvdXRmaWxlLndyaXRlKCdcbicpCiAKIApkaWZmIC0tZ2l0IGEvTGliL2tleXdvcmQucHkgYi9MaWIva2V5d29yZC5weQppbmRleCBkYWQzOWNjLi42ZTFlODgyIDEwMDc1NQotLS0gYS9MaWIva2V5d29yZC5weQorKysgYi9MaWIva2V5d29yZC5weQpAQCAtNjAsNiArNjAsMTIgQEAKICAgICBpZiBsZW4oYXJncykgPiAxOiBvcHRmaWxlID0gYXJnc1sxXQogICAgIGVsc2U6IG9wdGZpbGUgPSAiTGliL2tleXdvcmQucHkiCiAKKyAgICAjIGxvYWQgdGhlIG91dHB1dCBza2VsZXRvbiBmcm9tIHRoZSB0YXJnZXQsIHRha2luZyBjYXJlIHRvIHByZXNlcnZlIGl0cworICAgICMgbmV3bGluZSBjb252ZW50aW9uLgorICAgIHdpdGggb3BlbihvcHRmaWxlLCBuZXdsaW5lPScnKSBhcyBmcDoKKyAgICAgICAgZm9ybWF0ID0gZnAucmVhZGxpbmVzKCkKKyAgICBubCA9IGZvcm1hdFswXVtsZW4oZm9ybWF0WzBdLnN0cmlwKCkpOl0gaWYgZm9ybWF0IGVsc2UgJ1xuJworCiAgICAgIyBzY2FuIHRoZSBzb3VyY2UgZmlsZSBmb3Iga2V5d29yZHMKICAgICB3aXRoIG9wZW4oaXB0ZmlsZSkgYXMgZnA6CiAgICAgICAgIHN0cnByb2cgPSByZS5jb21waWxlKCciKFteIl0rKSInKQpAQCAtNjgsMjYgKzc0LDIxIEBACiAgICAgICAgICAgICBpZiAnezEsICInIGluIGxpbmU6CiAgICAgICAgICAgICAgICAgbWF0Y2ggPSBzdHJwcm9nLnNlYXJjaChsaW5lKQogICAgICAgICAgICAgICAgIGlmIG1hdGNoOgotICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoIiAgICAgICAgJyIgKyBtYXRjaC5ncm91cCgxKSArICInLFxuIikKKyAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCIgICAgICAgICciICsgbWF0Y2guZ3JvdXAoMSkgKyAiJywiICsgbmwpCiAgICAgbGluZXMuc29ydCgpCiAKLSAgICAjIGxvYWQgdGhlIG91dHB1dCBza2VsZXRvbiBmcm9tIHRoZSB0YXJnZXQKLSAgICB3aXRoIG9wZW4ob3B0ZmlsZSkgYXMgZnA6Ci0gICAgICAgIGZvcm1hdCA9IGZwLnJlYWRsaW5lcygpCi0KLSAgICAjIGluc2VydCB0aGUgbGluZXMgb2Yga2V5d29yZHMKKyAgICAjIGluc2VydCB0aGUgbGluZXMgb2Yga2V5d29yZHMgaW50byB0aGUgc2tlbGV0b24KICAgICB0cnk6Ci0gICAgICAgIHN0YXJ0ID0gZm9ybWF0LmluZGV4KCIjLS1zdGFydCBrZXl3b3Jkcy0tXG4iKSArIDEKLSAgICAgICAgZW5kID0gZm9ybWF0LmluZGV4KCIjLS1lbmQga2V5d29yZHMtLVxuIikKKyAgICAgICAgc3RhcnQgPSBmb3JtYXQuaW5kZXgoIiMtLXN0YXJ0IGtleXdvcmRzLS0iICsgbmwpICsgMQorICAgICAgICBlbmQgPSBmb3JtYXQuaW5kZXgoIiMtLWVuZCBrZXl3b3Jkcy0tIiArIG5sKQogICAgICAgICBmb3JtYXRbc3RhcnQ6ZW5kXSA9IGxpbmVzCiAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoInRhcmdldCBkb2VzIG5vdCBjb250YWluIGZvcm1hdCBtYXJrZXJzXG4iKQogICAgICAgICBzeXMuZXhpdCgxKQogCiAgICAgIyB3cml0ZSB0aGUgb3V0cHV0IGZpbGUKLSAgICBmcCA9IG9wZW4ob3B0ZmlsZSwgJ3cnKQotICAgIGZwLndyaXRlKCcnLmpvaW4oZm9ybWF0KSkKLSAgICBmcC5jbG9zZSgpCisgICAgd2l0aCBvcGVuKG9wdGZpbGUsICd3JywgbmV3bGluZT0nJykgYXMgZnA6CisgICAgICAgIGZwLndyaXRlbGluZXMoZm9ybWF0KQogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL2xpYjJ0bzMvYnRtX3V0aWxzLnB5IGIvTGliL2xpYjJ0bzMvYnRtX3V0aWxzLnB5CmluZGV4IDIyNzZkYzkuLjMzOTc1MGUgMTAwNjQ0Ci0tLSBhL0xpYi9saWIydG8zL2J0bV91dGlscy5weQorKysgYi9MaWIvbGliMnRvMy9idG1fdXRpbHMucHkKQEAgLTk2LDggKzk2LDcgQEAKICAgICBkZWYgbGVhdmVzKHNlbGYpOgogICAgICAgICAiR2VuZXJhdG9yIHRoYXQgcmV0dXJucyB0aGUgbGVhdmVzIG9mIHRoZSB0cmVlIgogICAgICAgICBmb3IgY2hpbGQgaW4gc2VsZi5jaGlsZHJlbjoKLSAgICAgICAgICAgIGZvciB4IGluIGNoaWxkLmxlYXZlcygpOgotICAgICAgICAgICAgICAgIHlpZWxkIHgKKyAgICAgICAgICAgIHlpZWxkIGZyb20gY2hpbGQubGVhdmVzKCkKICAgICAgICAgaWYgbm90IHNlbGYuY2hpbGRyZW46CiAgICAgICAgICAgICB5aWVsZCBzZWxmCiAKQEAgLTI3Nyw3ICsyNzYsNiBAQAogICAgIHN1Yi1pdGVyYWJsZXMiIiIKICAgICBmb3IgeCBpbiBzZXF1ZW5jZToKICAgICAgICAgaWYgaXNpbnN0YW5jZSh4LCAobGlzdCwgdHVwbGUpKToKLSAgICAgICAgICAgIGZvciB5IGluIHJlY190ZXN0KHgsIHRlc3RfZnVuYyk6Ci0gICAgICAgICAgICAgICAgeWllbGQgeQorICAgICAgICAgICAgeWllbGQgZnJvbSByZWNfdGVzdCh4LCB0ZXN0X2Z1bmMpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB5aWVsZCB0ZXN0X2Z1bmMoeCkKZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL2ZpeGVyX3V0aWwucHkgYi9MaWIvbGliMnRvMy9maXhlcl91dGlsLnB5CmluZGV4IDYwZDIxOWYuLjZlMjU5YzUgMTAwNjQ0Ci0tLSBhL0xpYi9saWIydG8zL2ZpeGVyX3V0aWwucHkKKysrIGIvTGliL2xpYjJ0bzMvZml4ZXJfdXRpbC5weQpAQCAtMTI5LDYgKzEyOSwyOSBAQAogICAgIGltcCA9IE5vZGUoc3ltcy5pbXBvcnRfZnJvbSwgY2hpbGRyZW4pCiAgICAgcmV0dXJuIGltcAogCitkZWYgSW1wb3J0QW5kQ2FsbChub2RlLCByZXN1bHRzLCBuYW1lcyk6CisgICAgIiIiUmV0dXJucyBhbiBpbXBvcnQgc3RhdGVtZW50IGFuZCBjYWxscyBhIG1ldGhvZAorICAgIG9mIHRoZSBtb2R1bGU6CisKKyAgICBpbXBvcnQgbW9kdWxlCisgICAgbW9kdWxlLm5hbWUoKSIiIgorICAgIG9iaiA9IHJlc3VsdHNbIm9iaiJdLmNsb25lKCkKKyAgICBpZiBvYmoudHlwZSA9PSBzeW1zLmFyZ2xpc3Q6CisgICAgICAgIG5ld2FyZ2xpc3QgPSBvYmouY2xvbmUoKQorICAgIGVsc2U6CisgICAgICAgIG5ld2FyZ2xpc3QgPSBOb2RlKHN5bXMuYXJnbGlzdCwgW29iai5jbG9uZSgpXSkKKyAgICBhZnRlciA9IHJlc3VsdHNbImFmdGVyIl0KKyAgICBpZiBhZnRlcjoKKyAgICAgICAgYWZ0ZXIgPSBbbi5jbG9uZSgpIGZvciBuIGluIGFmdGVyXQorICAgIG5ldyA9IE5vZGUoc3ltcy5wb3dlciwKKyAgICAgICAgICAgICAgIEF0dHIoTmFtZShuYW1lc1swXSksIE5hbWUobmFtZXNbMV0pKSArCisgICAgICAgICAgICAgICBbTm9kZShzeW1zLnRyYWlsZXIsCisgICAgICAgICAgICAgICAgICAgICBbcmVzdWx0c1sibHBhciJdLmNsb25lKCksCisgICAgICAgICAgICAgICAgICAgICAgbmV3YXJnbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzWyJycGFyIl0uY2xvbmUoKV0pXSArIGFmdGVyKQorICAgIG5ldy5wcmVmaXggPSBub2RlLnByZWZpeAorICAgIHJldHVybiBuZXcKKwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyMjIERldGVybWluZSB3aGV0aGVyIGEgbm9kZSByZXByZXNlbnRzIGEgZ2l2ZW4gbGl0ZXJhbApkaWZmIC0tZ2l0IGEvTGliL2xpYjJ0bzMvZml4ZXMvZml4X2ludGVybi5weSBiL0xpYi9saWIydG8zL2ZpeGVzL2ZpeF9pbnRlcm4ucHkKaW5kZXggNmJlMTFjZC4uZmIyOTczYyAxMDA2NDQKLS0tIGEvTGliL2xpYjJ0bzMvZml4ZXMvZml4X2ludGVybi5weQorKysgYi9MaWIvbGliMnRvMy9maXhlcy9maXhfaW50ZXJuLnB5CkBAIC02LDkgKzYsOCBAQAogaW50ZXJuKHMpIC0+IHN5cy5pbnRlcm4ocykiIiIKIAogIyBMb2NhbCBpbXBvcnRzCi1mcm9tIC4uIGltcG9ydCBweXRyZWUKIGZyb20gLi4gaW1wb3J0IGZpeGVyX2Jhc2UKLWZyb20gLi5maXhlcl91dGlsIGltcG9ydCBOYW1lLCBBdHRyLCB0b3VjaF9pbXBvcnQKK2Zyb20gLi5maXhlcl91dGlsIGltcG9ydCBJbXBvcnRBbmRDYWxsLCB0b3VjaF9pbXBvcnQKIAogCiBjbGFzcyBGaXhJbnRlcm4oZml4ZXJfYmFzZS5CYXNlRml4KToKQEAgLTI2LDIxICsyNSw3IEBACiAgICAgIiIiCiAKICAgICBkZWYgdHJhbnNmb3JtKHNlbGYsIG5vZGUsIHJlc3VsdHMpOgotICAgICAgICBzeW1zID0gc2VsZi5zeW1zCi0gICAgICAgIG9iaiA9IHJlc3VsdHNbIm9iaiJdLmNsb25lKCkKLSAgICAgICAgaWYgb2JqLnR5cGUgPT0gc3ltcy5hcmdsaXN0OgotICAgICAgICAgICAgbmV3YXJnbGlzdCA9IG9iai5jbG9uZSgpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBuZXdhcmdsaXN0ID0gcHl0cmVlLk5vZGUoc3ltcy5hcmdsaXN0LCBbb2JqLmNsb25lKCldKQotICAgICAgICBhZnRlciA9IHJlc3VsdHNbImFmdGVyIl0KLSAgICAgICAgaWYgYWZ0ZXI6Ci0gICAgICAgICAgICBhZnRlciA9IFtuLmNsb25lKCkgZm9yIG4gaW4gYWZ0ZXJdCi0gICAgICAgIG5ldyA9IHB5dHJlZS5Ob2RlKHN5bXMucG93ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIEF0dHIoTmFtZSgic3lzIiksIE5hbWUoImludGVybiIpKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFtweXRyZWUuTm9kZShzeW1zLnRyYWlsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVzdWx0c1sibHBhciJdLmNsb25lKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3YXJnbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzWyJycGFyIl0uY2xvbmUoKV0pXSArIGFmdGVyKQotICAgICAgICBuZXcucHJlZml4ID0gbm9kZS5wcmVmaXgKKyAgICAgICAgbmFtZXMgPSAoJ3N5cycsICdpbnRlcm4nKQorICAgICAgICBuZXcgPSBJbXBvcnRBbmRDYWxsKG5vZGUsIHJlc3VsdHMsIG5hbWVzKQogICAgICAgICB0b3VjaF9pbXBvcnQoTm9uZSwgJ3N5cycsIG5vZGUpCiAgICAgICAgIHJldHVybiBuZXcKZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL2ZpeGVzL2ZpeF9yZWxvYWQucHkgYi9MaWIvbGliMnRvMy9maXhlcy9maXhfcmVsb2FkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NTUzNTcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvbGliMnRvMy9maXhlcy9maXhfcmVsb2FkLnB5CkBAIC0wLDAgKzEsMjggQEAKKyIiIkZpeGVyIGZvciByZWxvYWQoKS4KKworcmVsb2FkKHMpIC0+IGltcC5yZWxvYWQocykiIiIKKworIyBMb2NhbCBpbXBvcnRzCitmcm9tIC4uIGltcG9ydCBmaXhlcl9iYXNlCitmcm9tIC4uZml4ZXJfdXRpbCBpbXBvcnQgSW1wb3J0QW5kQ2FsbCwgdG91Y2hfaW1wb3J0CisKKworY2xhc3MgRml4UmVsb2FkKGZpeGVyX2Jhc2UuQmFzZUZpeCk6CisgICAgQk1fY29tcGF0aWJsZSA9IFRydWUKKyAgICBvcmRlciA9ICJwcmUiCisKKyAgICBQQVRURVJOID0gIiIiCisgICAgcG93ZXI8ICdyZWxvYWQnCisgICAgICAgICAgIHRyYWlsZXI8IGxwYXI9JygnCisgICAgICAgICAgICAgICAgICAgICggbm90KGFyZ2xpc3QgfCBhcmd1bWVudDxhbnkgJz0nIGFueT4pIG9iaj1hbnkKKyAgICAgICAgICAgICAgICAgICAgICB8IG9iaj1hcmdsaXN0PChub3QgYXJndW1lbnQ8YW55ICc9JyBhbnk+KSBhbnkgJywnPiApCisgICAgICAgICAgICAgICAgICAgIHJwYXI9JyknID4KKyAgICAgICAgICAgYWZ0ZXI9YW55KgorICAgID4KKyAgICAiIiIKKworICAgIGRlZiB0cmFuc2Zvcm0oc2VsZiwgbm9kZSwgcmVzdWx0cyk6CisgICAgICAgIG5hbWVzID0gKCdpbXAnLCAncmVsb2FkJykKKyAgICAgICAgbmV3ID0gSW1wb3J0QW5kQ2FsbChub2RlLCByZXN1bHRzLCBuYW1lcykKKyAgICAgICAgdG91Y2hfaW1wb3J0KE5vbmUsICdpbXAnLCBub2RlKQorICAgICAgICByZXR1cm4gbmV3CmRpZmYgLS1naXQgYS9MaWIvbGliMnRvMy9tYWluLnB5IGIvTGliL2xpYjJ0bzMvbWFpbi5weQppbmRleCBmOWNjMThiLi45M2JhZTkwIDEwMDY0NAotLS0gYS9MaWIvbGliMnRvMy9tYWluLnB5CisrKyBiL0xpYi9saWIydG8zL21haW4ucHkKQEAgLTkwLDExICs5MCwxMSBAQAogICAgICAgICAgICAgaWYgb3MucGF0aC5sZXhpc3RzKGJhY2t1cCk6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBvcy5yZW1vdmUoYmFja3VwKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ19tZXNzYWdlKCJDYW4ndCByZW1vdmUgYmFja3VwICVzIiwgYmFja3VwKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG9zLnJlbmFtZShmaWxlbmFtZSwgYmFja3VwKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICBzZWxmLmxvZ19tZXNzYWdlKCJDYW4ndCByZW5hbWUgJXMgdG8gJXMiLCBmaWxlbmFtZSwgYmFja3VwKQogICAgICAgICAjIEFjdHVhbGx5IHdyaXRlIHRoZSBuZXcgZmlsZQogICAgICAgICB3cml0ZSA9IHN1cGVyKFN0ZG91dFJlZmFjdG9yaW5nVG9vbCwgc2VsZikud3JpdGVfZmlsZQpkaWZmIC0tZ2l0IGEvTGliL2xpYjJ0bzMvcGdlbjIvY29udi5weSBiL0xpYi9saWIydG8zL3BnZW4yL2NvbnYucHkKaW5kZXggYmY0OTc2Mi4uZWQwY2FjNSAxMDA2NDQKLS0tIGEvTGliL2xpYjJ0bzMvcGdlbjIvY29udi5weQorKysgYi9MaWIvbGliMnRvMy9wZ2VuMi9jb252LnB5CkBAIC02MCw3ICs2MCw3IEBACiAgICAgICAgICIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gb3BlbihmaWxlbmFtZSkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBwcmludCgiQ2FuJ3Qgb3BlbiAlczogJXMiICUgKGZpbGVuYW1lLCBlcnIpKQogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHNlbGYuc3ltYm9sMm51bWJlciA9IHt9CkBAIC0xMTEsNyArMTExLDcgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBvcGVuKGZpbGVuYW1lKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgIHByaW50KCJDYW4ndCBvcGVuICVzOiAlcyIgJSAoZmlsZW5hbWUsIGVycikpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgIyBUaGUgY29kZSBiZWxvdyBlc3NlbnRpYWxseSB1c2VzIGYncyBpdGVyYXRvci1uZXNzIQpkaWZmIC0tZ2l0IGEvTGliL2xpYjJ0bzMvcGdlbjIvZHJpdmVyLnB5IGIvTGliL2xpYjJ0bzMvcGdlbjIvZHJpdmVyLnB5CmluZGV4IDRjNjExYzYuLjNjY2M2OWQgMTAwNjQ0Ci0tLSBhL0xpYi9saWIydG8zL3BnZW4yL2RyaXZlci5weQorKysgYi9MaWIvbGliMnRvMy9wZ2VuMi9kcml2ZXIucHkKQEAgLTEyMyw3ICsxMjMsNyBAQAogICAgICAgICAgICAgbG9nZ2VyLmluZm8oIldyaXRpbmcgZ3JhbW1hciB0YWJsZXMgdG8gJXMiLCBncCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBnLmR1bXAoZ3ApCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiV3JpdGluZyBmYWlsZWQ6IitzdHIoZSkpCiAgICAgZWxzZToKICAgICAgICAgZyA9IGdyYW1tYXIuR3JhbW1hcigpCmRpZmYgLS1naXQgYS9MaWIvbGliMnRvMy9wZ2VuMi9ncmFtbWFyLnB5IGIvTGliL2xpYjJ0bzMvcGdlbjIvZ3JhbW1hci5weQppbmRleCAxNGM1ZjcwLi43ZjFjNTY0IDEwMDY0NAotLS0gYS9MaWIvbGliMnRvMy9wZ2VuMi9ncmFtbWFyLnB5CisrKyBiL0xpYi9saWIydG8zL3BnZW4yL2dyYW1tYXIucHkKQEAgLTg2LDE1ICs4NiwxMyBAQAogCiAgICAgZGVmIGR1bXAoc2VsZiwgZmlsZW5hbWUpOgogICAgICAgICAiIiJEdW1wIHRoZSBncmFtbWFyIHRhYmxlcyB0byBhIHBpY2tsZSBmaWxlLiIiIgotICAgICAgICBmID0gb3BlbihmaWxlbmFtZSwgIndiIikKLSAgICAgICAgcGlja2xlLmR1bXAoc2VsZi5fX2RpY3RfXywgZiwgMikKLSAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgIndiIikgYXMgZjoKKyAgICAgICAgICAgIHBpY2tsZS5kdW1wKHNlbGYuX19kaWN0X18sIGYsIDIpCiAKICAgICBkZWYgbG9hZChzZWxmLCBmaWxlbmFtZSk6CiAgICAgICAgICIiIkxvYWQgdGhlIGdyYW1tYXIgdGFibGVzIGZyb20gYSBwaWNrbGUgZmlsZS4iIiIKLSAgICAgICAgZiA9IG9wZW4oZmlsZW5hbWUsICJyYiIpCi0gICAgICAgIGQgPSBwaWNrbGUubG9hZChmKQotICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAicmIiKSBhcyBmOgorICAgICAgICAgICAgZCA9IHBpY2tsZS5sb2FkKGYpCiAgICAgICAgIHNlbGYuX19kaWN0X18udXBkYXRlKGQpCiAKICAgICBkZWYgY29weShzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL3B5dHJlZS5weSBiL0xpYi9saWIydG8zL3B5dHJlZS5weQppbmRleCAxN2NiZjBhLi5jNGExYmUzIDEwMDY0NAotLS0gYS9MaWIvbGliMnRvMy9weXRyZWUucHkKKysrIGIvTGliL2xpYjJ0bzMvcHl0cmVlLnB5CkBAIC0xOTQsOCArMTk0LDcgQEAKIAogICAgIGRlZiBsZWF2ZXMoc2VsZik6CiAgICAgICAgIGZvciBjaGlsZCBpbiBzZWxmLmNoaWxkcmVuOgotICAgICAgICAgICAgZm9yIHggaW4gY2hpbGQubGVhdmVzKCk6Ci0gICAgICAgICAgICAgICAgeWllbGQgeAorICAgICAgICAgICAgeWllbGQgZnJvbSBjaGlsZC5sZWF2ZXMoKQogCiAgICAgZGVmIGRlcHRoKHNlbGYpOgogICAgICAgICBpZiBzZWxmLnBhcmVudCBpcyBOb25lOgpAQCAtMjc0LDE2ICsyNzMsMTQgQEAKICAgICBkZWYgcG9zdF9vcmRlcihzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIGEgcG9zdC1vcmRlciBpdGVyYXRvciBmb3IgdGhlIHRyZWUuIiIiCiAgICAgICAgIGZvciBjaGlsZCBpbiBzZWxmLmNoaWxkcmVuOgotICAgICAgICAgICAgZm9yIG5vZGUgaW4gY2hpbGQucG9zdF9vcmRlcigpOgotICAgICAgICAgICAgICAgIHlpZWxkIG5vZGUKKyAgICAgICAgICAgIHlpZWxkIGZyb20gY2hpbGQucG9zdF9vcmRlcigpCiAgICAgICAgIHlpZWxkIHNlbGYKIAogICAgIGRlZiBwcmVfb3JkZXIoc2VsZik6CiAgICAgICAgICIiIlJldHVybiBhIHByZS1vcmRlciBpdGVyYXRvciBmb3IgdGhlIHRyZWUuIiIiCiAgICAgICAgIHlpZWxkIHNlbGYKICAgICAgICAgZm9yIGNoaWxkIGluIHNlbGYuY2hpbGRyZW46Ci0gICAgICAgICAgICBmb3Igbm9kZSBpbiBjaGlsZC5wcmVfb3JkZXIoKToKLSAgICAgICAgICAgICAgICB5aWVsZCBub2RlCisgICAgICAgICAgICB5aWVsZCBmcm9tIGNoaWxkLnByZV9vcmRlcigpCiAKICAgICBkZWYgX3ByZWZpeF9nZXR0ZXIoc2VsZik6CiAgICAgICAgICIiIgpkaWZmIC0tZ2l0IGEvTGliL2xpYjJ0bzMvcmVmYWN0b3IucHkgYi9MaWIvbGliMnRvMy9yZWZhY3Rvci5weQppbmRleCAyMDFlMTkzLi44MTAwMzE3IDEwMDY0NAotLS0gYS9MaWIvbGliMnRvMy9yZWZhY3Rvci5weQorKysgYi9MaWIvbGliMnRvMy9yZWZhY3Rvci5weQpAQCAtMzI2LDcgKzMyNiw3IEBACiAgICAgICAgICIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gb3BlbihmaWxlbmFtZSwgInJiIikKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBzZWxmLmxvZ19lcnJvcigiQ2FuJ3Qgb3BlbiAlczogJXMiLCBmaWxlbmFtZSwgZXJyKQogICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5vbmUKICAgICAgICAgdHJ5OgpAQCAtNTM0LDEyICs1MzQsMTIgQEAKICAgICAgICAgIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBfb3Blbl93aXRoX2VuY29kaW5nKGZpbGVuYW1lLCAidyIsIGVuY29kaW5nPWVuY29kaW5nKQotICAgICAgICBleGNlcHQgb3MuZXJyb3IgYXMgZXJyOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICBzZWxmLmxvZ19lcnJvcigiQ2FuJ3QgY3JlYXRlICVzOiAlcyIsIGZpbGVuYW1lLCBlcnIpCiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZi53cml0ZShfdG9fc3lzdGVtX25ld2xpbmVzKG5ld190ZXh0KSkKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGVycjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgc2VsZi5sb2dfZXJyb3IoIkNhbid0IHdyaXRlICVzOiAlcyIsIGZpbGVuYW1lLCBlcnIpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBmLmNsb3NlKCkKZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL3Rlc3RzL3B5dHJlZV9pZGVtcG90ZW5jeS5weSBiL0xpYi9saWIydG8zL3Rlc3RzL3B5dHJlZV9pZGVtcG90ZW5jeS5weQppbmRleCBhMDJiYmZlLi43MzFjNDAzIDEwMDc1NQotLS0gYS9MaWIvbGliMnRvMy90ZXN0cy9weXRyZWVfaWRlbXBvdGVuY3kucHkKKysrIGIvTGliL2xpYjJ0bzMvdGVzdHMvcHl0cmVlX2lkZW1wb3RlbmN5LnB5CkBAIC01Myw3ICs1Myw3IEBACiAgICAgZm9yIGRpciBpbiBzeXMucGF0aDoKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcikKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIHByaW50KCJTY2FubmluZyIsIGRpciwgIi4uLiIsIGZpbGU9c3lzLnN0ZGVycikKICAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CmRpZmYgLS1naXQgYS9MaWIvbGliMnRvMy90ZXN0cy90ZXN0X2ZpeGVycy5weSBiL0xpYi9saWIydG8zL3Rlc3RzL3Rlc3RfZml4ZXJzLnB5CmluZGV4IDkxNGIzYmYuLmQ3NjU5ZmEgMTAwNjQ0Ci0tLSBhL0xpYi9saWIydG8zL3Rlc3RzL3Rlc3RfZml4ZXJzLnB5CisrKyBiL0xpYi9saWIydG8zL3Rlc3RzL3Rlc3RfZml4ZXJzLnB5CkBAIC0yODIsNiArMjgyLDY1IEBACiAgICAgICAgIGIgPSAiIiJmKCphcmdzLCAqKmt3ZHMpIiIiCiAgICAgICAgIHNlbGYuY2hlY2soYSwgYikKIAorY2xhc3MgVGVzdF9yZWxvYWQoRml4ZXJUZXN0Q2FzZSk6CisgICAgZml4ZXIgPSAicmVsb2FkIgorCisgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgIGIgPSAiIiJyZWxvYWQoYSkiIiIKKyAgICAgICAgYSA9ICIiImltcG9ydCBpbXBcbmltcC5yZWxvYWQoYSkiIiIKKyAgICAgICAgc2VsZi5jaGVjayhiLCBhKQorCisgICAgZGVmIHRlc3RfY29tbWVudChzZWxmKToKKyAgICAgICAgYiA9ICIiInJlbG9hZCggYSApICMgY29tbWVudCIiIgorICAgICAgICBhID0gIiIiaW1wb3J0IGltcFxuaW1wLnJlbG9hZCggYSApICMgY29tbWVudCIiIgorICAgICAgICBzZWxmLmNoZWNrKGIsIGEpCisKKyAgICAgICAgIyBQRVAgOCBjb21tZW50cworICAgICAgICBiID0gIiIicmVsb2FkKCBhICkgICMgY29tbWVudCIiIgorICAgICAgICBhID0gIiIiaW1wb3J0IGltcFxuaW1wLnJlbG9hZCggYSApICAjIGNvbW1lbnQiIiIKKyAgICAgICAgc2VsZi5jaGVjayhiLCBhKQorCisgICAgZGVmIHRlc3Rfc3BhY2Uoc2VsZik6CisgICAgICAgIGIgPSAiIiJyZWxvYWQoIGEgKSIiIgorICAgICAgICBhID0gIiIiaW1wb3J0IGltcFxuaW1wLnJlbG9hZCggYSApIiIiCisgICAgICAgIHNlbGYuY2hlY2soYiwgYSkKKworICAgICAgICBiID0gIiIicmVsb2FkKCBhKSIiIgorICAgICAgICBhID0gIiIiaW1wb3J0IGltcFxuaW1wLnJlbG9hZCggYSkiIiIKKyAgICAgICAgc2VsZi5jaGVjayhiLCBhKQorCisgICAgICAgIGIgPSAiIiJyZWxvYWQoYSApIiIiCisgICAgICAgIGEgPSAiIiJpbXBvcnQgaW1wXG5pbXAucmVsb2FkKGEgKSIiIgorICAgICAgICBzZWxmLmNoZWNrKGIsIGEpCisKKyAgICBkZWYgdGVzdF91bmNoYW5nZWQoc2VsZik6CisgICAgICAgIHMgPSAiIiJyZWxvYWQoYT0xKSIiIgorICAgICAgICBzZWxmLnVuY2hhbmdlZChzKQorCisgICAgICAgIHMgPSAiIiJyZWxvYWQoZiwgZykiIiIKKyAgICAgICAgc2VsZi51bmNoYW5nZWQocykKKworICAgICAgICBzID0gIiIicmVsb2FkKGYsICpoKSIiIgorICAgICAgICBzZWxmLnVuY2hhbmdlZChzKQorCisgICAgICAgIHMgPSAiIiJyZWxvYWQoZiwgKmgsICoqaSkiIiIKKyAgICAgICAgc2VsZi51bmNoYW5nZWQocykKKworICAgICAgICBzID0gIiIicmVsb2FkKGYsICoqaSkiIiIKKyAgICAgICAgc2VsZi51bmNoYW5nZWQocykKKworICAgICAgICBzID0gIiIicmVsb2FkKCpoLCAqKmkpIiIiCisgICAgICAgIHNlbGYudW5jaGFuZ2VkKHMpCisKKyAgICAgICAgcyA9ICIiInJlbG9hZCgqaCkiIiIKKyAgICAgICAgc2VsZi51bmNoYW5nZWQocykKKworICAgICAgICBzID0gIiIicmVsb2FkKCoqaSkiIiIKKyAgICAgICAgc2VsZi51bmNoYW5nZWQocykKKworICAgICAgICBzID0gIiIicmVsb2FkKCkiIiIKKyAgICAgICAgc2VsZi51bmNoYW5nZWQocykKKwogY2xhc3MgVGVzdF9pbnRlcm4oRml4ZXJUZXN0Q2FzZSk6CiAgICAgZml4ZXIgPSAiaW50ZXJuIgogCmRpZmYgLS1naXQgYS9MaWIvbGluZWNhY2hlLnB5IGIvTGliL2xpbmVjYWNoZS5weQppbmRleCBjM2YyYzNmLi4wMmE5ZWI1IDEwMDY0NAotLS0gYS9MaWIvbGluZWNhY2hlLnB5CisrKyBiL0xpYi9saW5lY2FjaGUucHkKQEAgLTU5LDcgKzU5LDcgQEAKICAgICAgICAgICAgIGNvbnRpbnVlICAgIyBuby1vcCBmb3IgZmlsZXMgbG9hZGVkIHZpYSBhIF9fbG9hZGVyX18KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc3RhdCA9IG9zLnN0YXQoZnVsbG5hbWUpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBkZWwgY2FjaGVbZmlsZW5hbWVdCiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBpZiBzaXplICE9IHN0YXQuc3Rfc2l6ZSBvciBtdGltZSAhPSBzdGF0LnN0X210aW1lOgpAQCAtOTEsNyArOTEsNyBAQAogICAgICAgICAgICAgaWYgbmFtZSBhbmQgZ2V0X3NvdXJjZToKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBnZXRfc291cmNlKG5hbWUpCi0gICAgICAgICAgICAgICAgZXhjZXB0IChJbXBvcnRFcnJvciwgSU9FcnJvcik6CisgICAgICAgICAgICAgICAgZXhjZXB0IChJbXBvcnRFcnJvciwgT1NFcnJvcik6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBpZiBkYXRhIGlzIE5vbmU6CkBAIC0xMTgsMTQgKzExOCwxNCBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHN0YXQgPSBvcy5zdGF0KGZ1bGxuYW1lKQogICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gW10KICAgICB0cnk6CiAgICAgICAgIHdpdGggdG9rZW5pemUub3BlbihmdWxsbmFtZSkgYXMgZnA6CiAgICAgICAgICAgICBsaW5lcyA9IGZwLnJlYWRsaW5lcygpCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybiBbXQogICAgIGlmIGxpbmVzIGFuZCBub3QgbGluZXNbLTFdLmVuZHN3aXRoKCdcbicpOgogICAgICAgICBsaW5lc1stMV0gKz0gJ1xuJwpkaWZmIC0tZ2l0IGEvTGliL2xvZ2dpbmcvX19pbml0X18ucHkgYi9MaWIvbG9nZ2luZy9fX2luaXRfXy5weQppbmRleCBmYTAzZjc4Li4yNDRjOTE1IDEwMDY0NAotLS0gYS9MaWIvbG9nZ2luZy9fX2luaXRfXy5weQorKysgYi9MaWIvbG9nZ2luZy9fX2luaXRfXy5weQpAQCAtNjcsNyArNjcsNyBAQAogICAgICAgICAiIiJSZXR1cm4gdGhlIGZyYW1lIG9iamVjdCBmb3IgdGhlIGNhbGxlcidzIHN0YWNrIGZyYW1lLiIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24KLSAgICAgICAgZXhjZXB0OgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgcmV0dXJuIHN5cy5leGNfaW5mbygpWzJdLnRiX2ZyYW1lLmZfYmFjawogCiAjIF9zcmNmaWxlIGlzIG9ubHkgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHN5cy5fZ2V0ZnJhbWUoKS4KQEAgLTg4MCwxNiArODgwLDI3IEBACiAgICAgICAgIFRoZSByZWNvcmQgd2hpY2ggd2FzIGJlaW5nIHByb2Nlc3NlZCBpcyBwYXNzZWQgaW4gdG8gdGhpcyBtZXRob2QuCiAgICAgICAgICIiIgogICAgICAgICBpZiByYWlzZUV4Y2VwdGlvbnMgYW5kIHN5cy5zdGRlcnI6ICAjIHNlZSBpc3N1ZSAxMzgwNwotICAgICAgICAgICAgZWkgPSBzeXMuZXhjX2luZm8oKQorICAgICAgICAgICAgdCwgdiwgdGIgPSBzeXMuZXhjX2luZm8oKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGNlcHRpb24oZWlbMF0sIGVpWzFdLCBlaVsyXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUsIHN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnTG9nZ2VkIGZyb20gZmlsZSAlcywgbGluZSAlc1xuJyAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5maWxlbmFtZSwgcmVjb3JkLmxpbmVubykpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvcjogI3ByYWdtYTogbm8gY292ZXIKKyAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCctLS0gTG9nZ2luZyBlcnJvciAtLS1cbicpCisgICAgICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4Y2VwdGlvbih0LCB2LCB0YiwgTm9uZSwgc3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdDYWxsIHN0YWNrOlxuJykKKyAgICAgICAgICAgICAgICAjIFdhbGsgdGhlIHN0YWNrIGZyYW1lIHVwIHVudGlsIHdlJ3JlIG91dCBvZiBsb2dnaW5nLAorICAgICAgICAgICAgICAgICMgc28gYXMgdG8gcHJpbnQgdGhlIGNhbGxpbmcgY29udGV4dC4KKyAgICAgICAgICAgICAgICBmcmFtZSA9IHRiLnRiX2ZyYW1lCisgICAgICAgICAgICAgICAgd2hpbGUgKGZyYW1lIGFuZCBvcy5wYXRoLmRpcm5hbWUoZnJhbWUuZl9jb2RlLmNvX2ZpbGVuYW1lKSA9PQorICAgICAgICAgICAgICAgICAgICAgICBfX3BhdGhfX1swXSk6CisgICAgICAgICAgICAgICAgICAgIGZyYW1lID0gZnJhbWUuZl9iYWNrCisgICAgICAgICAgICAgICAgaWYgZnJhbWU6CisgICAgICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9zdGFjayhmcmFtZSwgZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgY291bGRuJ3QgZmluZCB0aGUgcmlnaHQgc3RhY2sgZnJhbWUsIGZvciBzb21lIHJlYXNvbgorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCdMb2dnZWQgZnJvbSBmaWxlICVzLCBsaW5lICVzXG4nICUgKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5maWxlbmFtZSwgcmVjb3JkLmxpbmVubykpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjogI3ByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgICAgICBwYXNzICAgICMgc2VlIGlzc3VlIDU5NzEKICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgZGVsIGVpCisgICAgICAgICAgICAgICAgZGVsIHQsIHYsIHRiCiAKIGNsYXNzIFN0cmVhbUhhbmRsZXIoSGFuZGxlcik6CiAgICAgIiIiCkBAIC05MzksOSArOTUwLDcgQEAKICAgICAgICAgICAgIHN0cmVhbS53cml0ZShtc2cpCiAgICAgICAgICAgICBzdHJlYW0ud3JpdGUoc2VsZi50ZXJtaW5hdG9yKQogICAgICAgICAgICAgc2VsZi5mbHVzaCgpCi0gICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgotICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZXhjZXB0OgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCiAKIGNsYXNzIEZpbGVIYW5kbGVyKFN0cmVhbUhhbmRsZXIpOgpAQCAtMTgzMCw3ICsxODM5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgaC5hY3F1aXJlKCkKICAgICAgICAgICAgICAgICAgICAgaC5mbHVzaCgpCiAgICAgICAgICAgICAgICAgICAgIGguY2xvc2UoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgVmFsdWVFcnJvcik6CisgICAgICAgICAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBWYWx1ZUVycm9yKToKICAgICAgICAgICAgICAgICAgICAgIyBJZ25vcmUgZXJyb3JzIHdoaWNoIG1pZ2h0IGJlIGNhdXNlZAogICAgICAgICAgICAgICAgICAgICAjIGJlY2F1c2UgaGFuZGxlcnMgaGF2ZSBiZWVuIGNsb3NlZCBidXQKICAgICAgICAgICAgICAgICAgICAgIyByZWZlcmVuY2VzIHRvIHRoZW0gYXJlIHN0aWxsIGFyb3VuZCBhdApAQCAtMTgzOCw3ICsxODQ3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgIGgucmVsZWFzZSgpCi0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgZXhjZXB0OiAjIGlnbm9yZSBldmVyeXRoaW5nLCBhcyB3ZSdyZSBzaHV0dGluZyBkb3duCiAgICAgICAgICAgICBpZiByYWlzZUV4Y2VwdGlvbnM6CiAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICNlbHNlLCBzd2FsbG93CmRpZmYgLS1naXQgYS9MaWIvbG9nZ2luZy9jb25maWcucHkgYi9MaWIvbG9nZ2luZy9jb25maWcucHkKaW5kZXggMTg4MDYxNC4uZGJmZDJjNiAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvY29uZmlnLnB5CisrKyBiL0xpYi9sb2dnaW5nL2NvbmZpZy5weQpAQCAtNjEsMTEgKzYxLDE0IEBACiAgICAgIiIiCiAgICAgaW1wb3J0IGNvbmZpZ3BhcnNlcgogCi0gICAgY3AgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKGRlZmF1bHRzKQotICAgIGlmIGhhc2F0dHIoZm5hbWUsICdyZWFkbGluZScpOgotICAgICAgICBjcC5yZWFkX2ZpbGUoZm5hbWUpCisgICAgaWYgaXNpbnN0YW5jZShmbmFtZSwgY29uZmlncGFyc2VyLlJhd0NvbmZpZ1BhcnNlcik6CisgICAgICAgIGNwID0gZm5hbWUKICAgICBlbHNlOgotICAgICAgICBjcC5yZWFkKGZuYW1lKQorICAgICAgICBjcCA9IGNvbmZpZ3BhcnNlci5Db25maWdQYXJzZXIoZGVmYXVsdHMpCisgICAgICAgIGlmIGhhc2F0dHIoZm5hbWUsICdyZWFkbGluZScpOgorICAgICAgICAgICAgY3AucmVhZF9maWxlKGZuYW1lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY3AucmVhZChmbmFtZSkKIAogICAgIGZvcm1hdHRlcnMgPSBfY3JlYXRlX2Zvcm1hdHRlcnMoY3ApCiAKQEAgLTcyOSw2ICs3MzIsNyBAQAogICAgICAgICAgICAgICAgICdhZGRyZXNzJyBpbiBjb25maWc6CiAgICAgICAgICAgICAgICAgY29uZmlnWydhZGRyZXNzJ10gPSBzZWxmLmFzX3R1cGxlKGNvbmZpZ1snYWRkcmVzcyddKQogICAgICAgICAgICAgZmFjdG9yeSA9IGtsYXNzCisgICAgICAgIHByb3BzID0gY29uZmlnLnBvcCgnLicsIE5vbmUpCiAgICAgICAgIGt3YXJncyA9IGRpY3QoWyhrLCBjb25maWdba10pIGZvciBrIGluIGNvbmZpZyBpZiB2YWxpZF9pZGVudChrKV0pCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJlc3VsdCA9IGZhY3RvcnkoKiprd2FyZ3MpCkBAIC03NDcsNiArNzUxLDkgQEAKICAgICAgICAgICAgIHJlc3VsdC5zZXRMZXZlbChsb2dnaW5nLl9jaGVja0xldmVsKGxldmVsKSkKICAgICAgICAgaWYgZmlsdGVyczoKICAgICAgICAgICAgIHNlbGYuYWRkX2ZpbHRlcnMocmVzdWx0LCBmaWx0ZXJzKQorICAgICAgICBpZiBwcm9wczoKKyAgICAgICAgICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBwcm9wcy5pdGVtcygpOgorICAgICAgICAgICAgICAgIHNldGF0dHIocmVzdWx0LCBuYW1lLCB2YWx1ZSkKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAgZGVmIGFkZF9oYW5kbGVycyhzZWxmLCBsb2dnZXIsIGhhbmRsZXJzKToKQEAgLTc5NSw3ICs4MDIsNyBAQAogICAgIGRpY3RDb25maWdDbGFzcyhjb25maWcpLmNvbmZpZ3VyZSgpCiAKIAotZGVmIGxpc3Rlbihwb3J0PURFRkFVTFRfTE9HR0lOR19DT05GSUdfUE9SVCk6CitkZWYgbGlzdGVuKHBvcnQ9REVGQVVMVF9MT0dHSU5HX0NPTkZJR19QT1JULCB2ZXJpZnk9Tm9uZSk6CiAgICAgIiIiCiAgICAgU3RhcnQgdXAgYSBzb2NrZXQgc2VydmVyIG9uIHRoZSBzcGVjaWZpZWQgcG9ydCwgYW5kIGxpc3RlbiBmb3IgbmV3CiAgICAgY29uZmlndXJhdGlvbnMuCkBAIC04MDQsNiArODExLDE1IEBACiAgICAgUmV0dXJucyBhIFRocmVhZCBvYmplY3Qgb24gd2hpY2ggeW91IGNhbiBjYWxsIHN0YXJ0KCkgdG8gc3RhcnQgdGhlIHNlcnZlciwKICAgICBhbmQgd2hpY2ggeW91IGNhbiBqb2luKCkgd2hlbiBhcHByb3ByaWF0ZS4gVG8gc3RvcCB0aGUgc2VydmVyLCBjYWxsCiAgICAgc3RvcExpc3RlbmluZygpLgorCisgICAgVXNlIHRoZSBgYHZlcmlmeWBgIGFyZ3VtZW50IHRvIHZlcmlmeSBhbnkgYnl0ZXMgcmVjZWl2ZWQgYWNyb3NzIHRoZSB3aXJlCisgICAgZnJvbSBhIGNsaWVudC4gSWYgc3BlY2lmaWVkLCBpdCBzaG91bGQgYmUgYSBjYWxsYWJsZSB3aGljaCByZWNlaXZlcyBhCisgICAgc2luZ2xlIGFyZ3VtZW50IC0gdGhlIGJ5dGVzIG9mIGNvbmZpZ3VyYXRpb24gZGF0YSByZWNlaXZlZCBhY3Jvc3MgdGhlCisgICAgbmV0d29yayAtIGFuZCBpdCBzaG91bGQgcmV0dXJuIGVpdGhlciBgYE5vbmVgYCwgdG8gaW5kaWNhdGUgdGhhdCB0aGUKKyAgICBwYXNzZWQgaW4gYnl0ZXMgY291bGQgbm90IGJlIHZlcmlmaWVkIGFuZCBzaG91bGQgYmUgZGlzY2FyZGVkLCBvciBhCisgICAgYnl0ZSBzdHJpbmcgd2hpY2ggaXMgdGhlbiBwYXNzZWQgdG8gdGhlIGNvbmZpZ3VyYXRpb24gbWFjaGluZXJ5IGFzCisgICAgbm9ybWFsLiBOb3RlIHRoYXQgeW91IGNhbiByZXR1cm4gdHJhbnNmb3JtZWQgYnl0ZXMsIGUuZy4gYnkgZGVjcnlwdGluZworICAgIHRoZSBieXRlcyBwYXNzZWQgaW4uCiAgICAgIiIiCiAgICAgaWYgbm90IHRocmVhZDogI3ByYWdtYTogbm8gY292ZXIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigibGlzdGVuKCkgbmVlZHMgdGhyZWFkaW5nIHRvIHdvcmsiKQpAQCAtODMxLDI1ICs4NDcsMjYgQEAKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLmNvbm5lY3Rpb24ucmVjdihzbGVuKQogICAgICAgICAgICAgICAgICAgICB3aGlsZSBsZW4oY2h1bmspIDwgc2xlbjoKICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmsgKyBjb25uLnJlY3Yoc2xlbiAtIGxlbihjaHVuaykpCi0gICAgICAgICAgICAgICAgICAgIGNodW5rID0gY2h1bmsuZGVjb2RlKCJ1dGYtOCIpCi0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydCBqc29uCi0gICAgICAgICAgICAgICAgICAgICAgICBkID1qc29uLmxvYWRzKGNodW5rKQotICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZCwgZGljdCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGRpY3RDb25maWcoZCkKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgICAgICAgICAgI0FwcGx5IG5ldyBjb25maWd1cmF0aW9uLgotCi0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlID0gaW8uU3RyaW5nSU8oY2h1bmspCisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuc2VydmVyLnZlcmlmeSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5zZXJ2ZXIudmVyaWZ5KGNodW5rKQorICAgICAgICAgICAgICAgICAgICBpZiBjaHVuayBpcyBub3QgTm9uZTogICAjIHZlcmlmaWVkLCBjYW4gcHJvY2VzcworICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBjaHVuay5kZWNvZGUoInV0Zi04IikKICAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlQ29uZmlnKGZpbGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KTogI3ByYWdtYTogbm8gY292ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydCBqc29uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9anNvbi5sb2FkcyhjaHVuaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShkLCBkaWN0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpY3RDb25maWcoZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0FwcGx5IG5ldyBjb25maWd1cmF0aW9uLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IGlvLlN0cmluZ0lPKGNodW5rKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZUNvbmZpZyhmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQogICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLnNlcnZlci5yZWFkeToKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLnJlYWR5LnNldCgpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGUuYXJncywgdHVwbGUpOgogICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC04NjUsMTMgKzg4MiwxNCBAQAogICAgICAgICBhbGxvd19yZXVzZV9hZGRyZXNzID0gMQogCiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0PSdsb2NhbGhvc3QnLCBwb3J0PURFRkFVTFRfTE9HR0lOR19DT05GSUdfUE9SVCwKLSAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXI9Tm9uZSwgcmVhZHk9Tm9uZSk6CisgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyPU5vbmUsIHJlYWR5PU5vbmUsIHZlcmlmeT1Ob25lKToKICAgICAgICAgICAgIFRocmVhZGluZ1RDUFNlcnZlci5fX2luaXRfXyhzZWxmLCAoaG9zdCwgcG9ydCksIGhhbmRsZXIpCiAgICAgICAgICAgICBsb2dnaW5nLl9hY3F1aXJlTG9jaygpCiAgICAgICAgICAgICBzZWxmLmFib3J0ID0gMAogICAgICAgICAgICAgbG9nZ2luZy5fcmVsZWFzZUxvY2soKQogICAgICAgICAgICAgc2VsZi50aW1lb3V0ID0gMQogICAgICAgICAgICAgc2VsZi5yZWFkeSA9IHJlYWR5CisgICAgICAgICAgICBzZWxmLnZlcmlmeSA9IHZlcmlmeQogCiAgICAgICAgIGRlZiBzZXJ2ZV91bnRpbF9zdG9wcGVkKHNlbGYpOgogICAgICAgICAgICAgaW1wb3J0IHNlbGVjdApAQCAtODg5LDE2ICs5MDcsMTggQEAKIAogICAgIGNsYXNzIFNlcnZlcih0aHJlYWRpbmcuVGhyZWFkKToKIAotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgcmN2ciwgaGRsciwgcG9ydCk6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCByY3ZyLCBoZGxyLCBwb3J0LCB2ZXJpZnkpOgogICAgICAgICAgICAgc3VwZXIoU2VydmVyLCBzZWxmKS5fX2luaXRfXygpCiAgICAgICAgICAgICBzZWxmLnJjdnIgPSByY3ZyCiAgICAgICAgICAgICBzZWxmLmhkbHIgPSBoZGxyCiAgICAgICAgICAgICBzZWxmLnBvcnQgPSBwb3J0CisgICAgICAgICAgICBzZWxmLnZlcmlmeSA9IHZlcmlmeQogICAgICAgICAgICAgc2VsZi5yZWFkeSA9IHRocmVhZGluZy5FdmVudCgpCiAKICAgICAgICAgZGVmIHJ1bihzZWxmKToKICAgICAgICAgICAgIHNlcnZlciA9IHNlbGYucmN2cihwb3J0PXNlbGYucG9ydCwgaGFuZGxlcj1zZWxmLmhkbHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZHk9c2VsZi5yZWFkeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkeT1zZWxmLnJlYWR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcmlmeT1zZWxmLnZlcmlmeSkKICAgICAgICAgICAgIGlmIHNlbGYucG9ydCA9PSAwOgogICAgICAgICAgICAgICAgIHNlbGYucG9ydCA9IHNlcnZlci5zZXJ2ZXJfYWRkcmVzc1sxXQogICAgICAgICAgICAgc2VsZi5yZWFkeS5zZXQoKQpAQCAtOTA4LDcgKzkyOCw3IEBACiAgICAgICAgICAgICBsb2dnaW5nLl9yZWxlYXNlTG9jaygpCiAgICAgICAgICAgICBzZXJ2ZXIuc2VydmVfdW50aWxfc3RvcHBlZCgpCiAKLSAgICByZXR1cm4gU2VydmVyKENvbmZpZ1NvY2tldFJlY2VpdmVyLCBDb25maWdTdHJlYW1IYW5kbGVyLCBwb3J0KQorICAgIHJldHVybiBTZXJ2ZXIoQ29uZmlnU29ja2V0UmVjZWl2ZXIsIENvbmZpZ1N0cmVhbUhhbmRsZXIsIHBvcnQsIHZlcmlmeSkKIAogZGVmIHN0b3BMaXN0ZW5pbmcoKToKICAgICAiIiIKZGlmZiAtLWdpdCBhL0xpYi9sb2dnaW5nL2hhbmRsZXJzLnB5IGIvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkKaW5kZXggOTVlMjNhOC4uYmVkMDlmMCAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkKKysrIGIvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkKQEAgLTcyLDkgKzcyLDcgQEAKICAgICAgICAgICAgIGlmIHNlbGYuc2hvdWxkUm9sbG92ZXIocmVjb3JkKToKICAgICAgICAgICAgICAgICBzZWxmLmRvUm9sbG92ZXIoKQogICAgICAgICAgICAgbG9nZ2luZy5GaWxlSGFuZGxlci5lbWl0KHNlbGYsIHJlY29yZCkKLSAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6ICNwcmFnbWE6IG5vIGNvdmVyCi0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQ6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBzZWxmLmhhbmRsZUVycm9yKHJlY29yZCkKIAogICAgIGRlZiByb3RhdGlvbl9maWxlbmFtZShzZWxmLCBkZWZhdWx0X25hbWUpOgpAQCAtMTk4LDExICsxOTYsMTIgQEAKICAgICBJZiBiYWNrdXBDb3VudCBpcyA+IDAsIHdoZW4gcm9sbG92ZXIgaXMgZG9uZSwgbm8gbW9yZSB0aGFuIGJhY2t1cENvdW50CiAgICAgZmlsZXMgYXJlIGtlcHQgLSB0aGUgb2xkZXN0IG9uZXMgYXJlIGRlbGV0ZWQuCiAgICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCB3aGVuPSdoJywgaW50ZXJ2YWw9MSwgYmFja3VwQ291bnQ9MCwgZW5jb2Rpbmc9Tm9uZSwgZGVsYXk9RmFsc2UsIHV0Yz1GYWxzZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCB3aGVuPSdoJywgaW50ZXJ2YWw9MSwgYmFja3VwQ291bnQ9MCwgZW5jb2Rpbmc9Tm9uZSwgZGVsYXk9RmFsc2UsIHV0Yz1GYWxzZSwgYXRUaW1lPU5vbmUpOgogICAgICAgICBCYXNlUm90YXRpbmdIYW5kbGVyLl9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCAnYScsIGVuY29kaW5nLCBkZWxheSkKICAgICAgICAgc2VsZi53aGVuID0gd2hlbi51cHBlcigpCiAgICAgICAgIHNlbGYuYmFja3VwQ291bnQgPSBiYWNrdXBDb3VudAogICAgICAgICBzZWxmLnV0YyA9IHV0YworICAgICAgICBzZWxmLmF0VGltZSA9IGF0VGltZQogICAgICAgICAjIENhbGN1bGF0ZSB0aGUgcmVhbCByb2xsb3ZlciBpbnRlcnZhbCwgd2hpY2ggaXMganVzdCB0aGUgbnVtYmVyIG9mCiAgICAgICAgICMgc2Vjb25kcyBiZXR3ZWVuIHJvbGxvdmVycy4gIEFsc28gc2V0IHRoZSBmaWxlbmFtZSBzdWZmaXggdXNlZCB3aGVuCiAgICAgICAgICMgYSByb2xsb3ZlciBvY2N1cnMuICBDdXJyZW50ICd3aGVuJyBldmVudHMgc3VwcG9ydGVkOgpAQCAtMjcyLDkgKzI3MSwyMiBAQAogICAgICAgICAgICAgY3VycmVudEhvdXIgPSB0WzNdCiAgICAgICAgICAgICBjdXJyZW50TWludXRlID0gdFs0XQogICAgICAgICAgICAgY3VycmVudFNlY29uZCA9IHRbNV0KLSAgICAgICAgICAgICMgciBpcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgbGVmdCBiZXR3ZWVuIG5vdyBhbmQgbWlkbmlnaHQKLSAgICAgICAgICAgIHIgPSBfTUlETklHSFQgLSAoKGN1cnJlbnRIb3VyICogNjAgKyBjdXJyZW50TWludXRlKSAqIDYwICsKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudFNlY29uZCkKKyAgICAgICAgICAgIGN1cnJlbnREYXkgPSB0WzZdCisgICAgICAgICAgICAjIHIgaXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIGxlZnQgYmV0d2VlbiBub3cgYW5kIHRoZSBuZXh0IHJvdGF0aW9uCisgICAgICAgICAgICBpZiBzZWxmLmF0VGltZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJvdGF0ZV90cyA9IF9NSUROSUdIVAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByb3RhdGVfdHMgPSAoKHNlbGYuYXRUaW1lLmhvdXIgKiA2MCArIHNlbGYuYXRUaW1lLm1pbnV0ZSkqNjAgKworICAgICAgICAgICAgICAgICAgICBzZWxmLmF0VGltZS5zZWNvbmQpCisKKyAgICAgICAgICAgIHIgPSByb3RhdGVfdHMgLSAoKGN1cnJlbnRIb3VyICogNjAgKyBjdXJyZW50TWludXRlKSAqIDYwICsKKyAgICAgICAgICAgICAgICBjdXJyZW50U2Vjb25kKQorICAgICAgICAgICAgaWYgciA8IDA6CisgICAgICAgICAgICAgICAgIyBSb3RhdGUgdGltZSBpcyBiZWZvcmUgdGhlIGN1cnJlbnQgdGltZSAoZm9yIGV4YW1wbGUgd2hlbgorICAgICAgICAgICAgICAgICMgc2VsZi5yb3RhdGVBdCBpcyAxMzo0NSBhbmQgaXQgbm93IDE0OjE1KSwgcm90YXRpb24gaXMKKyAgICAgICAgICAgICAgICAjIHRvbW9ycm93LgorICAgICAgICAgICAgICAgIHIgKz0gX01JRE5JR0hUCisgICAgICAgICAgICAgICAgY3VycmVudERheSA9IChjdXJyZW50RGF5ICsgMSkgJSA3CiAgICAgICAgICAgICByZXN1bHQgPSBjdXJyZW50VGltZSArIHIKICAgICAgICAgICAgICMgSWYgd2UgYXJlIHJvbGxpbmcgb3ZlciBvbiBhIGNlcnRhaW4gZGF5LCBhZGQgaW4gdGhlIG51bWJlciBvZiBkYXlzIHVudGlsCiAgICAgICAgICAgICAjIHRoZSBuZXh0IHJvbGxvdmVyLCBidXQgb2Zmc2V0IGJ5IDEgc2luY2Ugd2UganVzdCBjYWxjdWxhdGVkIHRoZSB0aW1lCkBAIC0yOTIsNyArMzA0LDcgQEAKICAgICAgICAgICAgICMgVGhpcyBpcyBiZWNhdXNlIHRoZSBhYm92ZSB0aW1lIGNhbGN1bGF0aW9uIHRha2VzIHVzIHRvIG1pZG5pZ2h0IG9uIHRoaXMKICAgICAgICAgICAgICMgZGF5LCBpLmUuIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBkYXkuCiAgICAgICAgICAgICBpZiBzZWxmLndoZW4uc3RhcnRzd2l0aCgnVycpOgotICAgICAgICAgICAgICAgIGRheSA9IHRbNl0gIyAwIGlzIE1vbmRheQorICAgICAgICAgICAgICAgIGRheSA9IGN1cnJlbnREYXkgIyAwIGlzIE1vbmRheQogICAgICAgICAgICAgICAgIGlmIGRheSAhPSBzZWxmLmRheU9mV2VlazoKICAgICAgICAgICAgICAgICAgICAgaWYgZGF5IDwgc2VsZi5kYXlPZldlZWs6CiAgICAgICAgICAgICAgICAgICAgICAgICBkYXlzVG9XYWl0ID0gc2VsZi5kYXlPZldlZWsgLSBkYXkKQEAgLTQ0MCwxMSArNDUyLDggQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgIyBzdGF0IHRoZSBmaWxlIGJ5IHBhdGgsIGNoZWNraW5nIGZvciBleGlzdGVuY2UKICAgICAgICAgICAgIHNyZXMgPSBvcy5zdGF0KHNlbGYuYmFzZUZpbGVuYW1lKQotICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICBpZiBlcnIuZXJybm8gPT0gZXJybm8uRU5PRU5UOgotICAgICAgICAgICAgICAgIHNyZXMgPSBOb25lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAgIHNyZXMgPSBOb25lCiAgICAgICAgICMgY29tcGFyZSBmaWxlIHN5c3RlbSBzdGF0IHdpdGggdGhhdCBvZiBvdXIgc3RyZWFtIGZpbGUgaGFuZGxlCiAgICAgICAgIGlmIG5vdCBzcmVzIG9yIHNyZXNbU1RfREVWXSAhPSBzZWxmLmRldiBvciBzcmVzW1NUX0lOT10gIT0gc2VsZi5pbm86CiAgICAgICAgICAgICBpZiBzZWxmLnN0cmVhbSBpcyBub3QgTm9uZToKQEAgLTQ5NiwxNSArNTA1LDcgQEAKICAgICAgICAgQSBmYWN0b3J5IG1ldGhvZCB3aGljaCBhbGxvd3Mgc3ViY2xhc3NlcyB0byBkZWZpbmUgdGhlIHByZWNpc2UKICAgICAgICAgdHlwZSBvZiBzb2NrZXQgdGhleSB3YW50LgogICAgICAgICAiIiIKLSAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKLSAgICAgICAgaWYgaGFzYXR0cihzLCAnc2V0dGltZW91dCcpOgotICAgICAgICAgICAgcy5zZXR0aW1lb3V0KHRpbWVvdXQpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHMuY29ubmVjdCgoc2VsZi5ob3N0LCBzZWxmLnBvcnQpKQotICAgICAgICAgICAgcmV0dXJuIHMKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKLSAgICAgICAgICAgIHMuY2xvc2UoKQotICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgcmV0dXJuIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigoc2VsZi5ob3N0LCBzZWxmLnBvcnQpLCB0aW1lb3V0PXRpbWVvdXQpCiAKICAgICBkZWYgY3JlYXRlU29ja2V0KHNlbGYpOgogICAgICAgICAiIiIKQEAgLTUyNCw3ICs1MjUsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuc29jayA9IHNlbGYubWFrZVNvY2tldCgpCiAgICAgICAgICAgICAgICAgc2VsZi5yZXRyeVRpbWUgPSBOb25lICMgbmV4dCB0aW1lLCBubyBkZWxheSBiZWZvcmUgdHJ5aW5nCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgI0NyZWF0aW9uIGZhaWxlZCwgc28gc2V0IHRoZSByZXRyeSB0aW1lIGFuZCByZXR1cm4uCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5yZXRyeVRpbWUgaXMgTm9uZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5yZXRyeVBlcmlvZCA9IHNlbGYucmV0cnlTdGFydApAQCAtNTQ4LDE2ICs1NDksOCBAQAogICAgICAgICAjYnV0IGFyZSBzdGlsbCB1bmFibGUgdG8gY29ubmVjdC4KICAgICAgICAgaWYgc2VsZi5zb2NrOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZi5zb2NrLCAic2VuZGFsbCIpOgotICAgICAgICAgICAgICAgICAgICBzZWxmLnNvY2suc2VuZGFsbChzKQotICAgICAgICAgICAgICAgIGVsc2U6ICNwcmFnbWE6IG5vIGNvdmVyCi0gICAgICAgICAgICAgICAgICAgIHNlbnRzb2ZhciA9IDAKLSAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGxlbihzKQotICAgICAgICAgICAgICAgICAgICB3aGlsZSBsZWZ0ID4gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbnQgPSBzZWxmLnNvY2suc2VuZChzW3NlbnRzb2ZhcjpdKQotICAgICAgICAgICAgICAgICAgICAgICAgc2VudHNvZmFyID0gc2VudHNvZmFyICsgc2VudAotICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGxlZnQgLSBzZW50Ci0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOiAjcHJhZ21hOiBubyBjb3ZlcgorICAgICAgICAgICAgICAgIHNlbGYuc29jay5zZW5kYWxsKHMpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjogI3ByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgICAgICBzZWxmLnNvY2suY2xvc2UoKQogICAgICAgICAgICAgICAgIHNlbGYuc29jayA9IE5vbmUgICMgc28gd2UgY2FuIGNhbGwgY3JlYXRlU29ja2V0IG5leHQgdGltZQogCkBAIC02MDcsOSArNjAwLDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcyA9IHNlbGYubWFrZVBpY2tsZShyZWNvcmQpCiAgICAgICAgICAgICBzZWxmLnNlbmQocykKLSAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6ICNwcmFnbWE6IG5vIGNvdmVyCi0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQ6CisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICBzZWxmLmhhbmRsZUVycm9yKHJlY29yZCkKIAogICAgIGRlZiBjbG9zZShzZWxmKToKQEAgLTc3Myw3ICs3NjQsMTEgQEAKIAogICAgICAgICBJZiBhZGRyZXNzIGlzIHNwZWNpZmllZCBhcyBhIHN0cmluZywgYSBVTklYIHNvY2tldCBpcyB1c2VkLiBUbyBsb2cgdG8gYQogICAgICAgICBsb2NhbCBzeXNsb2dkLCAiU3lzTG9nSGFuZGxlcihhZGRyZXNzPSIvZGV2L2xvZyIpIiBjYW4gYmUgdXNlZC4KLSAgICAgICAgSWYgZmFjaWxpdHkgaXMgbm90IHNwZWNpZmllZCwgTE9HX1VTRVIgaXMgdXNlZC4KKyAgICAgICAgSWYgZmFjaWxpdHkgaXMgbm90IHNwZWNpZmllZCwgTE9HX1VTRVIgaXMgdXNlZC4gSWYgc29ja3R5cGUgaXMKKyAgICAgICAgc3BlY2lmaWVkIGFzIHNvY2tldC5TT0NLX0RHUkFNIG9yIHNvY2tldC5TT0NLX1NUUkVBTSwgdGhhdCBzcGVjaWZpYworICAgICAgICBzb2NrZXQgdHlwZSB3aWxsIGJlIHVzZWQuIEZvciBVbml4IHNvY2tldHMsIHlvdSBjYW4gYWxzbyBzcGVjaWZ5IGEKKyAgICAgICAgc29ja3R5cGUgb2YgTm9uZSwgaW4gd2hpY2ggY2FzZSBzb2NrZXQuU09DS19ER1JBTSB3aWxsIGJlIHVzZWQsIGZhbGxpbmcKKyAgICAgICAgYmFjayB0byBzb2NrZXQuU09DS19TVFJFQU0uCiAgICAgICAgICIiIgogICAgICAgICBsb2dnaW5nLkhhbmRsZXIuX19pbml0X18oc2VsZikKIApAQCAtODAzLDcgKzc5OCw3IEBACiAgICAgICAgICAgICBzZWxmLnNvY2tldC5jb25uZWN0KGFkZHJlc3MpCiAgICAgICAgICAgICAjIGl0IHdvcmtlZCwgc28gc2V0IHNlbGYuc29ja3R5cGUgdG8gdGhlIHVzZWQgdHlwZQogICAgICAgICAgICAgc2VsZi5zb2NrdHlwZSA9IHVzZV9zb2NrdHlwZQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHNlbGYuc29ja2V0LmNsb3NlKCkKICAgICAgICAgICAgIGlmIHNlbGYuc29ja3R5cGUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgIyB1c2VyIGRpZG4ndCBzcGVjaWZ5IGZhbGxpbmcgYmFjaywgc28gZmFpbApAQCAtODE0LDcgKzgwOSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuY29ubmVjdChhZGRyZXNzKQogICAgICAgICAgICAgICAgICMgaXQgd29ya2VkLCBzbyBzZXQgc2VsZi5zb2NrdHlwZSB0byB0aGUgdXNlZCB0eXBlCiAgICAgICAgICAgICAgICAgc2VsZi5zb2NrdHlwZSA9IHVzZV9zb2NrdHlwZQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHNlbGYuc29ja2V0LmNsb3NlKCkKICAgICAgICAgICAgICAgICByYWlzZQogCkBAIC04NjcsMTAgKzg2Miw5IEBACiAgICAgICAgICAgICBtc2cgPSBzZWxmLmlkZW50ICsgbXNnCiAgICAgICAgIGlmIHNlbGYuYXBwZW5kX251bDoKICAgICAgICAgICAgIG1zZyArPSAnXDAwMCcKLSAgICAgICAgIiIiCi0gICAgICAgIFdlIG5lZWQgdG8gY29udmVydCByZWNvcmQgbGV2ZWwgdG8gbG93ZXJjYXNlLCBtYXliZSB0aGlzIHdpbGwKLSAgICAgICAgY2hhbmdlIGluIHRoZSBmdXR1cmUuCi0gICAgICAgICIiIgorCisgICAgICAgICMgV2UgbmVlZCB0byBjb252ZXJ0IHJlY29yZCBsZXZlbCB0byBsb3dlcmNhc2UsIG1heWJlIHRoaXMgd2lsbAorICAgICAgICAjIGNoYW5nZSBpbiB0aGUgZnV0dXJlLgogICAgICAgICBwcmlvID0gJzwlZD4nICUgc2VsZi5lbmNvZGVQcmlvcml0eShzZWxmLmZhY2lsaXR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hcFByaW9yaXR5KHJlY29yZC5sZXZlbG5hbWUpKQogICAgICAgICBwcmlvID0gcHJpby5lbmNvZGUoJ3V0Zi04JykKQEAgLTg4MSwxNiArODc1LDE0IEBACiAgICAgICAgICAgICBpZiBzZWxmLnVuaXhzb2NrZXQ6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzZWxmLnNvY2tldC5zZW5kKG1zZykKLSAgICAgICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0X3VuaXhzb2NrZXQoc2VsZi5hZGRyZXNzKQogICAgICAgICAgICAgICAgICAgICBzZWxmLnNvY2tldC5zZW5kKG1zZykKICAgICAgICAgICAgIGVsaWYgc2VsZi5zb2NrdHlwZSA9PSBzb2NrZXQuU09DS19ER1JBTToKICAgICAgICAgICAgICAgICBzZWxmLnNvY2tldC5zZW5kdG8obXNnLCBzZWxmLmFkZHJlc3MpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuc29ja2V0LnNlbmRhbGwobXNnKQotICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KTogI3ByYWdtYTogbm8gY292ZXIKLSAgICAgICAgICAgIHJhaXNlCi0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIHNlbGYuaGFuZGxlRXJyb3IocmVjb3JkKQogCiBjbGFzcyBTTVRQSGFuZGxlcihsb2dnaW5nLkhhbmRsZXIpOgpAQCAtOTY4LDkgKzk2MCw3IEBACiAgICAgICAgICAgICAgICAgc210cC5sb2dpbihzZWxmLnVzZXJuYW1lLCBzZWxmLnBhc3N3b3JkKQogICAgICAgICAgICAgc210cC5zZW5kbWFpbChzZWxmLmZyb21hZGRyLCBzZWxmLnRvYWRkcnMsIG1zZykKICAgICAgICAgICAgIHNtdHAucXVpdCgpCi0gICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgotICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZXhjZXB0OgorICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCiAKIGNsYXNzIE5URXZlbnRMb2dIYW5kbGVyKGxvZ2dpbmcuSGFuZGxlcik6CkBAIC0xMDU1LDkgKzEwNDUsNyBAQAogICAgICAgICAgICAgICAgIHR5cGUgPSBzZWxmLmdldEV2ZW50VHlwZShyZWNvcmQpCiAgICAgICAgICAgICAgICAgbXNnID0gc2VsZi5mb3JtYXQocmVjb3JkKQogICAgICAgICAgICAgICAgIHNlbGYuX3dlbHUuUmVwb3J0RXZlbnQoc2VsZi5hcHBuYW1lLCBpZCwgY2F0LCB0eXBlLCBbbXNnXSkKLSAgICAgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlRXJyb3IocmVjb3JkKQogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgpAQCAtMTE0Miw5ICsxMTMwLDcgQEAKICAgICAgICAgICAgIGlmIHNlbGYubWV0aG9kID09ICJQT1NUIjoKICAgICAgICAgICAgICAgICBoLnNlbmQoZGF0YS5lbmNvZGUoJ3V0Zi04JykpCiAgICAgICAgICAgICBoLmdldHJlc3BvbnNlKCkgICAgI2Nhbid0IGRvIGFueXRoaW5nIHdpdGggdGhlIHJlc3VsdAotICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KTogI3ByYWdtYTogbm8gY292ZXIKLSAgICAgICAgICAgIHJhaXNlCi0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIHNlbGYuaGFuZGxlRXJyb3IocmVjb3JkKQogCiBjbGFzcyBCdWZmZXJpbmdIYW5kbGVyKGxvZ2dpbmcuSGFuZGxlcik6CkBAIC0xMzI0LDkgKzEzMTAsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5lbnF1ZXVlKHNlbGYucHJlcGFyZShyZWNvcmQpKQotICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KTogI3ByYWdtYTogbm8gY292ZXIKLSAgICAgICAgICAgIHJhaXNlCi0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIHNlbGYuaGFuZGxlRXJyb3IocmVjb3JkKQogCiBpZiB0aHJlYWRpbmc6CmRpZmYgLS1naXQgYS9MaWIvbHptYS5weSBiL0xpYi9sem1hLnB5CmluZGV4IDFhMWIwNjUuLmIyZTJmN2UgMTAwNjQ0Ci0tLSBhL0xpYi9sem1hLnB5CisrKyBiL0xpYi9sem1hLnB5CkBAIC01NSw3ICs1NSw3IEBACiAgICAgICAgIGJlIGFuIGV4aXN0aW5nIGZpbGUgb2JqZWN0IHRvIHJlYWQgZnJvbSBvciB3cml0ZSB0by4KIAogICAgICAgICBtb2RlIGNhbiBiZSAiciIgZm9yIHJlYWRpbmcgKGRlZmF1bHQpLCAidyIgZm9yIChvdmVyKXdyaXRpbmcsIG9yCi0gICAgICAgICJhIiBmb3IgYXBwZW5kaW5nLiBUaGVzZSBjYW4gZXF1aXZhbGVudGx5IGJlIGdpdmVuIGFzICJyYiIsICJ3YiIsCisgICAgICAgICJhIiBmb3IgYXBwZW5kaW5nLiBUaGVzZSBjYW4gZXF1aXZhbGVudGx5IGJlIGdpdmVuIGFzICJyYiIsICJ3YiIKICAgICAgICAgYW5kICJhYiIgcmVzcGVjdGl2ZWx5LgogCiAgICAgICAgIGZvcm1hdCBzcGVjaWZpZXMgdGhlIGNvbnRhaW5lciBmb3JtYXQgdG8gdXNlIGZvciB0aGUgZmlsZS4KQEAgLTExMCw3ICsxMTAsOCBAQAogICAgICAgICAgICAgIyBzdHJlYW0gd2lsbCBuZWVkIGEgc2VwYXJhdGUgZGVjb21wcmVzc29yIG9iamVjdC4KICAgICAgICAgICAgIHNlbGYuX2luaXRfYXJncyA9IHsiZm9ybWF0Ijpmb3JtYXQsICJmaWx0ZXJzIjpmaWx0ZXJzfQogICAgICAgICAgICAgc2VsZi5fZGVjb21wcmVzc29yID0gTFpNQURlY29tcHJlc3NvcigqKnNlbGYuX2luaXRfYXJncykKLSAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IGIiIgorICAgICAgICAgICAgc2VsZi5fYnVmZmVyX29mZnNldCA9IDAKICAgICAgICAgZWxpZiBtb2RlIGluICgidyIsICJ3YiIsICJhIiwgImFiIik6CiAgICAgICAgICAgICBpZiBmb3JtYXQgaXMgTm9uZToKICAgICAgICAgICAgICAgICBmb3JtYXQgPSBGT1JNQVRfWFoKQEAgLTE0Myw3ICsxNDQsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzZWxmLl9tb2RlIGluIChfTU9ERV9SRUFELCBfTU9ERV9SRUFEX0VPRik6CiAgICAgICAgICAgICAgICAgc2VsZi5fZGVjb21wcmVzc29yID0gTm9uZQotICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IE5vbmUKKyAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBiIiIKICAgICAgICAgICAgIGVsaWYgc2VsZi5fbW9kZSA9PSBfTU9ERV9XUklURToKICAgICAgICAgICAgICAgICBzZWxmLl9mcC53cml0ZShzZWxmLl9jb21wcmVzc29yLmZsdXNoKCkpCiAgICAgICAgICAgICAgICAgc2VsZi5fY29tcHJlc3NvciA9IE5vbmUKQEAgLTE4NywxNSArMTg4LDE4IEBACiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIikKIAogICAgIGRlZiBfY2hlY2tfY2FuX3JlYWQoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLnJlYWRhYmxlKCk6CisgICAgICAgIGlmIHNlbGYuX21vZGUgbm90IGluIChfTU9ERV9SRUFELCBfTU9ERV9SRUFEX0VPRik6CisgICAgICAgICAgICBzZWxmLl9jaGVja19ub3RfY2xvc2VkKCkKICAgICAgICAgICAgIHJhaXNlIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKCJGaWxlIG5vdCBvcGVuIGZvciByZWFkaW5nIikKIAogICAgIGRlZiBfY2hlY2tfY2FuX3dyaXRlKHNlbGYpOgotICAgICAgICBpZiBub3Qgc2VsZi53cml0YWJsZSgpOgorICAgICAgICBpZiBzZWxmLl9tb2RlICE9IF9NT0RFX1dSSVRFOgorICAgICAgICAgICAgc2VsZi5fY2hlY2tfbm90X2Nsb3NlZCgpCiAgICAgICAgICAgICByYWlzZSBpby5VbnN1cHBvcnRlZE9wZXJhdGlvbigiRmlsZSBub3Qgb3BlbiBmb3Igd3JpdGluZyIpCiAKICAgICBkZWYgX2NoZWNrX2Nhbl9zZWVrKHNlbGYpOgotICAgICAgICBpZiBub3Qgc2VsZi5yZWFkYWJsZSgpOgorICAgICAgICBpZiBzZWxmLl9tb2RlIG5vdCBpbiAoX01PREVfUkVBRCwgX01PREVfUkVBRF9FT0YpOgorICAgICAgICAgICAgc2VsZi5fY2hlY2tfbm90X2Nsb3NlZCgpCiAgICAgICAgICAgICByYWlzZSBpby5VbnN1cHBvcnRlZE9wZXJhdGlvbigiU2Vla2luZyBpcyBvbmx5IHN1cHBvcnRlZCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib24gZmlsZXMgb3BlbiBmb3IgcmVhZGluZyIpCiAgICAgICAgIGlmIG5vdCBzZWxmLl9mcC5zZWVrYWJsZSgpOgpAQCAtMjA0LDE2ICsyMDgsMTMgQEAKIAogICAgICMgRmlsbCB0aGUgcmVhZGFoZWFkIGJ1ZmZlciBpZiBpdCBpcyBlbXB0eS4gUmV0dXJucyBGYWxzZSBvbiBFT0YuCiAgICAgZGVmIF9maWxsX2J1ZmZlcihzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fbW9kZSA9PSBfTU9ERV9SRUFEX0VPRjoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAjIERlcGVuZGluZyBvbiB0aGUgaW5wdXQgZGF0YSwgb3VyIGNhbGwgdG8gdGhlIGRlY29tcHJlc3NvciBtYXkgbm90CiAgICAgICAgICMgcmV0dXJuIGFueSBkYXRhLiBJbiB0aGlzIGNhc2UsIHRyeSBhZ2FpbiBhZnRlciByZWFkaW5nIGFub3RoZXIgYmxvY2suCi0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBpZiBzZWxmLl9idWZmZXI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLQotICAgICAgICAgICAgaWYgc2VsZi5fZGVjb21wcmVzc29yLnVudXNlZF9kYXRhOgotICAgICAgICAgICAgICAgIHJhd2Jsb2NrID0gc2VsZi5fZGVjb21wcmVzc29yLnVudXNlZF9kYXRhCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhd2Jsb2NrID0gc2VsZi5fZnAucmVhZChfQlVGRkVSX1NJWkUpCisgICAgICAgIHdoaWxlIHNlbGYuX2J1ZmZlcl9vZmZzZXQgPT0gbGVuKHNlbGYuX2J1ZmZlcik6CisgICAgICAgICAgICByYXdibG9jayA9IChzZWxmLl9kZWNvbXByZXNzb3IudW51c2VkX2RhdGEgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZwLnJlYWQoX0JVRkZFUl9TSVpFKSkKIAogICAgICAgICAgICAgaWYgbm90IHJhd2Jsb2NrOgogICAgICAgICAgICAgICAgIGlmIHNlbGYuX2RlY29tcHJlc3Nvci5lb2Y6CkBAIC0yMjksMzAgKzIzMCw0OCBAQAogICAgICAgICAgICAgICAgIHNlbGYuX2RlY29tcHJlc3NvciA9IExaTUFEZWNvbXByZXNzb3IoKipzZWxmLl9pbml0X2FyZ3MpCiAKICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IHNlbGYuX2RlY29tcHJlc3Nvci5kZWNvbXByZXNzKHJhd2Jsb2NrKQorICAgICAgICAgICAgc2VsZi5fYnVmZmVyX29mZnNldCA9IDAKKyAgICAgICAgcmV0dXJuIFRydWUKIAogICAgICMgUmVhZCBkYXRhIHVudGlsIEVPRi4KICAgICAjIElmIHJldHVybl9kYXRhIGlzIGZhbHNlLCBjb25zdW1lIHRoZSBkYXRhIHdpdGhvdXQgcmV0dXJuaW5nIGl0LgogICAgIGRlZiBfcmVhZF9hbGwoc2VsZiwgcmV0dXJuX2RhdGE9VHJ1ZSk6CisgICAgICAgICMgVGhlIGxvb3AgYXNzdW1lcyB0aGF0IF9idWZmZXJfb2Zmc2V0IGlzIDAuIEVuc3VyZSB0aGF0IHRoaXMgaXMgdHJ1ZS4KKyAgICAgICAgc2VsZi5fYnVmZmVyID0gc2VsZi5fYnVmZmVyW3NlbGYuX2J1ZmZlcl9vZmZzZXQ6XQorICAgICAgICBzZWxmLl9idWZmZXJfb2Zmc2V0ID0gMAorCiAgICAgICAgIGJsb2NrcyA9IFtdCiAgICAgICAgIHdoaWxlIHNlbGYuX2ZpbGxfYnVmZmVyKCk6CiAgICAgICAgICAgICBpZiByZXR1cm5fZGF0YToKICAgICAgICAgICAgICAgICBibG9ja3MuYXBwZW5kKHNlbGYuX2J1ZmZlcikKICAgICAgICAgICAgIHNlbGYuX3BvcyArPSBsZW4oc2VsZi5fYnVmZmVyKQotICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gTm9uZQorICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gYiIiCiAgICAgICAgIGlmIHJldHVybl9kYXRhOgogICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKGJsb2NrcykKIAogICAgICMgUmVhZCBhIGJsb2NrIG9mIHVwIHRvIG4gYnl0ZXMuCiAgICAgIyBJZiByZXR1cm5fZGF0YSBpcyBmYWxzZSwgY29uc3VtZSB0aGUgZGF0YSB3aXRob3V0IHJldHVybmluZyBpdC4KICAgICBkZWYgX3JlYWRfYmxvY2soc2VsZiwgbiwgcmV0dXJuX2RhdGE9VHJ1ZSk6CisgICAgICAgICMgSWYgd2UgaGF2ZSBlbm91Z2ggZGF0YSBidWZmZXJlZCwgcmV0dXJuIGltbWVkaWF0ZWx5LgorICAgICAgICBlbmQgPSBzZWxmLl9idWZmZXJfb2Zmc2V0ICsgbgorICAgICAgICBpZiBlbmQgPD0gbGVuKHNlbGYuX2J1ZmZlcik6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyW3NlbGYuX2J1ZmZlcl9vZmZzZXQgOiBlbmRdCisgICAgICAgICAgICBzZWxmLl9idWZmZXJfb2Zmc2V0ID0gZW5kCisgICAgICAgICAgICBzZWxmLl9wb3MgKz0gbGVuKGRhdGEpCisgICAgICAgICAgICByZXR1cm4gZGF0YSBpZiByZXR1cm5fZGF0YSBlbHNlIE5vbmUKKworICAgICAgICAjIFRoZSBsb29wIGFzc3VtZXMgdGhhdCBfYnVmZmVyX29mZnNldCBpcyAwLiBFbnN1cmUgdGhhdCB0aGlzIGlzIHRydWUuCisgICAgICAgIHNlbGYuX2J1ZmZlciA9IHNlbGYuX2J1ZmZlcltzZWxmLl9idWZmZXJfb2Zmc2V0Ol0KKyAgICAgICAgc2VsZi5fYnVmZmVyX29mZnNldCA9IDAKKwogICAgICAgICBibG9ja3MgPSBbXQogICAgICAgICB3aGlsZSBuID4gMCBhbmQgc2VsZi5fZmlsbF9idWZmZXIoKToKICAgICAgICAgICAgIGlmIG4gPCBsZW4oc2VsZi5fYnVmZmVyKToKICAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyWzpuXQotICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IHNlbGYuX2J1ZmZlcltuOl0KKyAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXJfb2Zmc2V0ID0gbgogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyCi0gICAgICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gTm9uZQorICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IGIiIgogICAgICAgICAgICAgaWYgcmV0dXJuX2RhdGE6CiAgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChkYXRhKQogICAgICAgICAgICAgc2VsZi5fcG9zICs9IGxlbihkYXRhKQpAQCAtMjY3LDkgKzI4Niw5IEBACiAgICAgICAgIFRoZSBleGFjdCBudW1iZXIgb2YgYnl0ZXMgcmV0dXJuZWQgaXMgdW5zcGVjaWZpZWQuCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl9jaGVja19jYW5fcmVhZCgpCi0gICAgICAgIGlmIHNlbGYuX21vZGUgPT0gX01PREVfUkVBRF9FT0Ygb3Igbm90IHNlbGYuX2ZpbGxfYnVmZmVyKCk6CisgICAgICAgIGlmIG5vdCBzZWxmLl9maWxsX2J1ZmZlcigpOgogICAgICAgICAgICAgcmV0dXJuIGIiIgotICAgICAgICByZXR1cm4gc2VsZi5fYnVmZmVyCisgICAgICAgIHJldHVybiBzZWxmLl9idWZmZXJbc2VsZi5fYnVmZmVyX29mZnNldDpdCiAKICAgICBkZWYgcmVhZChzZWxmLCBzaXplPS0xKToKICAgICAgICAgIiIiUmVhZCB1cCB0byBzaXplIHVuY29tcHJlc3NlZCBieXRlcyBmcm9tIHRoZSBmaWxlLgpAQCAtMjc4LDcgKzI5Nyw3IEBACiAgICAgICAgIFJldHVybnMgYiIiIGlmIHRoZSBmaWxlIGlzIGFscmVhZHkgYXQgRU9GLgogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fY2hlY2tfY2FuX3JlYWQoKQotICAgICAgICBpZiBzZWxmLl9tb2RlID09IF9NT0RFX1JFQURfRU9GIG9yIHNpemUgPT0gMDoKKyAgICAgICAgaWYgc2l6ZSA9PSAwOgogICAgICAgICAgICAgcmV0dXJuIGIiIgogICAgICAgICBlbGlmIHNpemUgPCAwOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRfYWxsKCkKQEAgLTI5NSwxOCArMzE0LDQwIEBACiAgICAgICAgICMgdGhpcyBkb2VzIG5vdCBnaXZlIGVub3VnaCBkYXRhIGZvciB0aGUgZGVjb21wcmVzc29yIHRvIG1ha2UgcHJvZ3Jlc3MuCiAgICAgICAgICMgSW4gdGhpcyBjYXNlIHdlIG1ha2UgbXVsdGlwbGUgcmVhZHMsIHRvIGF2b2lkIHJldHVybmluZyBiIiIuCiAgICAgICAgIHNlbGYuX2NoZWNrX2Nhbl9yZWFkKCkKLSAgICAgICAgaWYgKHNpemUgPT0gMCBvciBzZWxmLl9tb2RlID09IF9NT0RFX1JFQURfRU9GIG9yCi0gICAgICAgICAgICBub3Qgc2VsZi5fZmlsbF9idWZmZXIoKSk6CisgICAgICAgIGlmIChzaXplID09IDAgb3IKKyAgICAgICAgICAgICMgT25seSBjYWxsIF9maWxsX2J1ZmZlcigpIGlmIHRoZSBidWZmZXIgaXMgYWN0dWFsbHkgZW1wdHkuCisgICAgICAgICAgICAjIFRoaXMgZ2l2ZXMgYSBzaWduaWZpY2FudCBzcGVlZHVwIGlmICpzaXplKiBpcyBzbWFsbC4KKyAgICAgICAgICAgIChzZWxmLl9idWZmZXJfb2Zmc2V0ID09IGxlbihzZWxmLl9idWZmZXIpIGFuZCBub3Qgc2VsZi5fZmlsbF9idWZmZXIoKSkpOgogICAgICAgICAgICAgcmV0dXJuIGIiIgotICAgICAgICBpZiAwIDwgc2l6ZSA8IGxlbihzZWxmLl9idWZmZXIpOgotICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2J1ZmZlcls6c2l6ZV0KLSAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IHNlbGYuX2J1ZmZlcltzaXplOl0KKyAgICAgICAgaWYgc2l6ZSA+IDA6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyW3NlbGYuX2J1ZmZlcl9vZmZzZXQgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXJfb2Zmc2V0ICsgc2l6ZV0KKyAgICAgICAgICAgIHNlbGYuX2J1ZmZlcl9vZmZzZXQgKz0gbGVuKGRhdGEpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyCi0gICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyW3NlbGYuX2J1ZmZlcl9vZmZzZXQ6XQorICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gYiIiCisgICAgICAgICAgICBzZWxmLl9idWZmZXJfb2Zmc2V0ID0gMAogICAgICAgICBzZWxmLl9wb3MgKz0gbGVuKGRhdGEpCiAgICAgICAgIHJldHVybiBkYXRhCiAKKyAgICBkZWYgcmVhZGxpbmUoc2VsZiwgc2l6ZT0tMSk6CisgICAgICAgICIiIlJlYWQgYSBsaW5lIG9mIHVuY29tcHJlc3NlZCBieXRlcyBmcm9tIHRoZSBmaWxlLgorCisgICAgICAgIFRoZSB0ZXJtaW5hdGluZyBuZXdsaW5lIChpZiBwcmVzZW50KSBpcyByZXRhaW5lZC4gSWYgc2l6ZSBpcworICAgICAgICBub24tbmVnYXRpdmUsIG5vIG1vcmUgdGhhbiBzaXplIGJ5dGVzIHdpbGwgYmUgcmVhZCAoaW4gd2hpY2gKKyAgICAgICAgY2FzZSB0aGUgbGluZSBtYXkgYmUgaW5jb21wbGV0ZSkuIFJldHVybnMgYicnIGlmIGFscmVhZHkgYXQgRU9GLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY2FuX3JlYWQoKQorICAgICAgICAjIFNob3J0Y3V0IGZvciB0aGUgY29tbW9uIGNhc2UgLSB0aGUgd2hvbGUgbGluZSBpcyBpbiB0aGUgYnVmZmVyLgorICAgICAgICBpZiBzaXplIDwgMDoKKyAgICAgICAgICAgIGVuZCA9IHNlbGYuX2J1ZmZlci5maW5kKGIiXG4iLCBzZWxmLl9idWZmZXJfb2Zmc2V0KSArIDEKKyAgICAgICAgICAgIGlmIGVuZCA+IDA6CisgICAgICAgICAgICAgICAgbGluZSA9IHNlbGYuX2J1ZmZlcltzZWxmLl9idWZmZXJfb2Zmc2V0IDogZW5kXQorICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlcl9vZmZzZXQgPSBlbmQKKyAgICAgICAgICAgICAgICBzZWxmLl9wb3MgKz0gbGVuKGxpbmUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxpbmUKKyAgICAgICAgcmV0dXJuIGlvLkJ1ZmZlcmVkSU9CYXNlLnJlYWRsaW5lKHNlbGYsIHNpemUpCisKICAgICBkZWYgd3JpdGUoc2VsZiwgZGF0YSk6CiAgICAgICAgICIiIldyaXRlIGEgYnl0ZXMgb2JqZWN0IHRvIHRoZSBmaWxlLgogCkBAIC0zMjYsNyArMzY3LDggQEAKICAgICAgICAgc2VsZi5fbW9kZSA9IF9NT0RFX1JFQUQKICAgICAgICAgc2VsZi5fcG9zID0gMAogICAgICAgICBzZWxmLl9kZWNvbXByZXNzb3IgPSBMWk1BRGVjb21wcmVzc29yKCoqc2VsZi5faW5pdF9hcmdzKQotICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisgICAgICAgIHNlbGYuX2J1ZmZlciA9IGIiIgorICAgICAgICBzZWxmLl9idWZmZXJfb2Zmc2V0ID0gMAogCiAgICAgZGVmIHNlZWsoc2VsZiwgb2Zmc2V0LCB3aGVuY2U9MCk6CiAgICAgICAgICIiIkNoYW5nZSB0aGUgZmlsZSBwb3NpdGlvbi4KQEAgLTM2NSw4ICs0MDcsNyBAQAogICAgICAgICAgICAgb2Zmc2V0IC09IHNlbGYuX3BvcwogCiAgICAgICAgICMgUmVhZCBhbmQgZGlzY2FyZCBkYXRhIHVudGlsIHdlIHJlYWNoIHRoZSBkZXNpcmVkIHBvc2l0aW9uLgotICAgICAgICBpZiBzZWxmLl9tb2RlICE9IF9NT0RFX1JFQURfRU9GOgotICAgICAgICAgICAgc2VsZi5fcmVhZF9ibG9jayhvZmZzZXQsIHJldHVybl9kYXRhPUZhbHNlKQorICAgICAgICBzZWxmLl9yZWFkX2Jsb2NrKG9mZnNldCwgcmV0dXJuX2RhdGE9RmFsc2UpCiAKICAgICAgICAgcmV0dXJuIHNlbGYuX3BvcwogCkBAIC0zODEsMjMgKzQyMiwyNCBAQAogICAgICAgICAgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUsIG5ld2xpbmU9Tm9uZSk6CiAgICAgIiIiT3BlbiBhbiBMWk1BLWNvbXByZXNzZWQgZmlsZSBpbiBiaW5hcnkgb3IgdGV4dCBtb2RlLgogCi0gICAgZmlsZW5hbWUgY2FuIGJlIGVpdGhlciBhbiBhY3R1YWwgZmlsZSBuYW1lIChnaXZlbiBhcyBhIHN0ciBvciBieXRlcyBvYmplY3QpLAotICAgIGluIHdoaWNoIGNhc2UgdGhlIG5hbWVkIGZpbGUgaXMgb3BlbmVkLCBvciBpdCBjYW4gYmUgYW4gZXhpc3RpbmcgZmlsZSBvYmplY3QKLSAgICB0byByZWFkIGZyb20gb3Igd3JpdGUgdG8uCisgICAgZmlsZW5hbWUgY2FuIGJlIGVpdGhlciBhbiBhY3R1YWwgZmlsZSBuYW1lIChnaXZlbiBhcyBhIHN0ciBvciBieXRlcworICAgIG9iamVjdCksIGluIHdoaWNoIGNhc2UgdGhlIG5hbWVkIGZpbGUgaXMgb3BlbmVkLCBvciBpdCBjYW4gYmUgYW4KKyAgICBleGlzdGluZyBmaWxlIG9iamVjdCB0byByZWFkIGZyb20gb3Igd3JpdGUgdG8uCiAKLSAgICBUaGUgbW9kZSBhcmd1bWVudCBjYW4gYmUgInIiLCAicmIiIChkZWZhdWx0KSwgInciLCAid2IiLCAiYSIsIG9yICJhYiIgZm9yCi0gICAgYmluYXJ5IG1vZGUsIG9yICJydCIsICJ3dCIgb3IgImF0IiBmb3IgdGV4dCBtb2RlLgorICAgIFRoZSBtb2RlIGFyZ3VtZW50IGNhbiBiZSAiciIsICJyYiIgKGRlZmF1bHQpLCAidyIsICJ3YiIsICJhIiBvciAiYWIiCisgICAgZm9yIGJpbmFyeSBtb2RlLCBvciAicnQiLCAid3QiIG9yICJhdCIgZm9yIHRleHQgbW9kZS4KIAotICAgIFRoZSBmb3JtYXQsIGNoZWNrLCBwcmVzZXQgYW5kIGZpbHRlcnMgYXJndW1lbnRzIHNwZWNpZnkgdGhlIGNvbXByZXNzaW9uCi0gICAgc2V0dGluZ3MsIGFzIGZvciBMWk1BQ29tcHJlc3NvciwgTFpNQURlY29tcHJlc3NvciBhbmQgTFpNQUZpbGUuCisgICAgVGhlIGZvcm1hdCwgY2hlY2ssIHByZXNldCBhbmQgZmlsdGVycyBhcmd1bWVudHMgc3BlY2lmeSB0aGUKKyAgICBjb21wcmVzc2lvbiBzZXR0aW5ncywgYXMgZm9yIExaTUFDb21wcmVzc29yLCBMWk1BRGVjb21wcmVzc29yIGFuZAorICAgIExaTUFGaWxlLgogCi0gICAgRm9yIGJpbmFyeSBtb2RlLCB0aGlzIGZ1bmN0aW9uIGlzIGVxdWl2YWxlbnQgdG8gdGhlIExaTUFGaWxlIGNvbnN0cnVjdG9yOgotICAgIExaTUFGaWxlKGZpbGVuYW1lLCBtb2RlLCAuLi4pLiBJbiB0aGlzIGNhc2UsIHRoZSBlbmNvZGluZywgZXJyb3JzIGFuZAotICAgIG5ld2xpbmUgYXJndW1lbnRzIG11c3Qgbm90IGJlIHByb3ZpZGVkLgorICAgIEZvciBiaW5hcnkgbW9kZSwgdGhpcyBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIHRoZSBMWk1BRmlsZQorICAgIGNvbnN0cnVjdG9yOiBMWk1BRmlsZShmaWxlbmFtZSwgbW9kZSwgLi4uKS4gSW4gdGhpcyBjYXNlLCB0aGUKKyAgICBlbmNvZGluZywgZXJyb3JzIGFuZCBuZXdsaW5lIGFyZ3VtZW50cyBtdXN0IG5vdCBiZSBwcm92aWRlZC4KIAogICAgIEZvciB0ZXh0IG1vZGUsIGEgTFpNQUZpbGUgb2JqZWN0IGlzIGNyZWF0ZWQsIGFuZCB3cmFwcGVkIGluIGFuCi0gICAgaW8uVGV4dElPV3JhcHBlciBpbnN0YW5jZSB3aXRoIHRoZSBzcGVjaWZpZWQgZW5jb2RpbmcsIGVycm9yIGhhbmRsaW5nCi0gICAgYmVoYXZpb3IsIGFuZCBsaW5lIGVuZGluZyhzKS4KKyAgICBpby5UZXh0SU9XcmFwcGVyIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBlbmNvZGluZywgZXJyb3IKKyAgICBoYW5kbGluZyBiZWhhdmlvciwgYW5kIGxpbmUgZW5kaW5nKHMpLgogCiAgICAgIiIiCiAgICAgaWYgInQiIGluIG1vZGU6CkBAIC00MjcsNyArNDY5LDcgQEAKICAgICBSZWZlciB0byBMWk1BQ29tcHJlc3NvcidzIGRvY3N0cmluZyBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUKICAgICBvcHRpb25hbCBhcmd1bWVudHMgKmZvcm1hdCosICpjaGVjayosICpwcmVzZXQqIGFuZCAqZmlsdGVycyouCiAKLSAgICBGb3IgaW5jcmVtZW50YWwgY29tcHJlc3Npb24sIHVzZSBhbiBMWk1BQ29tcHJlc3NvciBvYmplY3QgaW5zdGVhZC4KKyAgICBGb3IgaW5jcmVtZW50YWwgY29tcHJlc3Npb24sIHVzZSBhbiBMWk1BQ29tcHJlc3NvciBpbnN0ZWFkLgogICAgICIiIgogICAgIGNvbXAgPSBMWk1BQ29tcHJlc3Nvcihmb3JtYXQsIGNoZWNrLCBwcmVzZXQsIGZpbHRlcnMpCiAgICAgcmV0dXJuIGNvbXAuY29tcHJlc3MoZGF0YSkgKyBjb21wLmZsdXNoKCkKQEAgLTQzOSw3ICs0ODEsNyBAQAogICAgIFJlZmVyIHRvIExaTUFEZWNvbXByZXNzb3IncyBkb2NzdHJpbmcgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlCiAgICAgb3B0aW9uYWwgYXJndW1lbnRzICpmb3JtYXQqLCAqY2hlY2sqIGFuZCAqZmlsdGVycyouCiAKLSAgICBGb3IgaW5jcmVtZW50YWwgZGVjb21wcmVzc2lvbiwgdXNlIGEgTFpNQURlY29tcHJlc3NvciBvYmplY3QgaW5zdGVhZC4KKyAgICBGb3IgaW5jcmVtZW50YWwgZGVjb21wcmVzc2lvbiwgdXNlIGFuIExaTUFEZWNvbXByZXNzb3IgaW5zdGVhZC4KICAgICAiIiIKICAgICByZXN1bHRzID0gW10KICAgICB3aGlsZSBUcnVlOgpkaWZmIC0tZ2l0IGEvTGliL21hY3BhdGgucHkgYi9MaWIvbWFjcGF0aC5weQppbmRleCAxNjE1ZDkxLi5kMzRmOWU5NCAxMDA2NDQKLS0tIGEvTGliL21hY3BhdGgucHkKKysrIGIvTGliL21hY3BhdGgucHkKQEAgLTEyNyw3ICsxMjcsNyBAQAogCiAgICAgdHJ5OgogICAgICAgICBzdCA9IG9zLmxzdGF0KHBhdGgpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gRmFsc2UKICAgICByZXR1cm4gVHJ1ZQogCmRpZmYgLS1naXQgYS9MaWIvbWFpbGJveC5weSBiL0xpYi9tYWlsYm94LnB5CmluZGV4IGQzYmYzZmQuLjIwNDk1MTYgMTAwNjQ0Ci0tLSBhL0xpYi9tYWlsYm94LnB5CisrKyBiL0xpYi9tYWlsYm94LnB5CkBAIC0yMiw5ICsyMiw2IEBACiBpbXBvcnQgaW8KIGltcG9ydCBjb250ZXh0bGliCiB0cnk6Ci0gICAgaWYgc3lzLnBsYXRmb3JtID09ICdvczJlbXgnOgotICAgICAgICAjIE9TLzIgRU1YIGZjbnRsKCkgbm90IGFkZXF1YXRlCi0gICAgICAgIHJhaXNlIEltcG9ydEVycm9yCiAgICAgaW1wb3J0IGZjbnRsCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgZmNudGwgPSBOb25lCkBAIC0zMzcsMTEgKzMzNCw4IEBACiAgICAgICAgICMgVGhpcyBvdmVycmlkZXMgYW4gaW5hcHBsaWNhYmxlIGltcGxlbWVudGF0aW9uIGluIHRoZSBzdXBlcmNsYXNzLgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnJlbW92ZShrZXkpCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgRmlsZU5vdEZvdW5kRXJyb3IpOgogICAgICAgICAgICAgcGFzcwotICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9FTlQ6Ci0gICAgICAgICAgICAgICAgcmFpc2UKIAogICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBrZXksIG1lc3NhZ2UpOgogICAgICAgICAiIiJSZXBsYWNlIHRoZSBrZXllZCBtZXNzYWdlOyByYWlzZSBLZXlFcnJvciBpZiBpdCBkb2Vzbid0IGV4aXN0LiIiIgpAQCAtMzY5LDE0ICszNjMsMTEgQEAKICAgICBkZWYgZ2V0X21lc3NhZ2Uoc2VsZiwga2V5KToKICAgICAgICAgIiIiUmV0dXJuIGEgTWVzc2FnZSByZXByZXNlbnRhdGlvbiBvciByYWlzZSBhIEtleUVycm9yLiIiIgogICAgICAgICBzdWJwYXRoID0gc2VsZi5fbG9va3VwKGtleSkKLSAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHNlbGYuX3BhdGgsIHN1YnBhdGgpLCAncmInKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc3VicGF0aCksICdyYicpIGFzIGY6CiAgICAgICAgICAgICBpZiBzZWxmLl9mYWN0b3J5OgogICAgICAgICAgICAgICAgIG1zZyA9IHNlbGYuX2ZhY3RvcnkoZikKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgbXNnID0gTWFpbGRpck1lc3NhZ2UoZikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICBzdWJkaXIsIG5hbWUgPSBvcy5wYXRoLnNwbGl0KHN1YnBhdGgpCiAgICAgICAgIG1zZy5zZXRfc3ViZGlyKHN1YmRpcikKICAgICAgICAgaWYgc2VsZi5jb2xvbiBpbiBuYW1lOgpAQCAtMzg2LDExICszNzcsOCBAQAogCiAgICAgZGVmIGdldF9ieXRlcyhzZWxmLCBrZXkpOgogICAgICAgICAiIiJSZXR1cm4gYSBieXRlcyByZXByZXNlbnRhdGlvbiBvciByYWlzZSBhIEtleUVycm9yLiIiIgotICAgICAgICBmID0gb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc2VsZi5fbG9va3VwKGtleSkpLCAncmInKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc2VsZi5fbG9va3VwKGtleSkpLCAncmInKSBhcyBmOgogICAgICAgICAgICAgcmV0dXJuIGYucmVhZCgpLnJlcGxhY2UobGluZXNlcCwgYidcbicpCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBmLmNsb3NlKCkKIAogICAgIGRlZiBnZXRfZmlsZShzZWxmLCBrZXkpOgogICAgICAgICAiIiJSZXR1cm4gYSBmaWxlLWxpa2UgcmVwcmVzZW50YXRpb24gb3IgcmFpc2UgYSBLZXlFcnJvci4iIiIKQEAgLTUwMiwxNiArNDkwLDEyIEBACiAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgJ3RtcCcsIHVuaXEpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLnN0YXQocGF0aCkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRU5PRU5UOgotICAgICAgICAgICAgICAgIE1haWxkaXIuX2NvdW50ICs9IDEKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBfY3JlYXRlX2NhcmVmdWxseShwYXRoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICAgICAgTWFpbGRpci5fY291bnQgKz0gMQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBfY3JlYXRlX2NhcmVmdWxseShwYXRoKQorICAgICAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgIyBGYWxsIHRocm91Z2ggdG8gaGVyZSBpZiBzdGF0IHN1Y2NlZWRlZCBvciBvcGVuIHJhaXNlZCBFRVhJU1QuCiAgICAgICAgIHJhaXNlIEV4dGVybmFsQ2xhc2hFcnJvcignTmFtZSBjbGFzaCBwcmV2ZW50ZWQgZmlsZSBjcmVhdGlvbjogJXMnICUKQEAgLTU4OCw3ICs1NzIsNyBAQAogICAgICAgICBNYWlsYm94Ll9faW5pdF9fKHNlbGYsIHBhdGgsIGZhY3RvcnksIGNyZWF0ZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZiA9IG9wZW4oc2VsZi5fcGF0aCwgJ3JiKycpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVOT0VOVDoKICAgICAgICAgICAgICAgICBpZiBjcmVhdGU6CiAgICAgICAgICAgICAgICAgICAgIGYgPSBvcGVuKHNlbGYuX3BhdGgsICd3YisnKQpAQCAtNjMxLDggKzYxNSw3IEBACiAgICAgZGVmIGl0ZXJrZXlzKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciBrZXlzLiIiIgogICAgICAgICBzZWxmLl9sb29rdXAoKQotICAgICAgICBmb3Iga2V5IGluIHNlbGYuX3RvYy5rZXlzKCk6Ci0gICAgICAgICAgICB5aWVsZCBrZXkKKyAgICAgICAgeWllbGQgZnJvbSBzZWxmLl90b2Mua2V5cygpCiAKICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIGtleSk6CiAgICAgICAgICIiIlJldHVybiBUcnVlIGlmIHRoZSBrZXllZCBtZXNzYWdlIGV4aXN0cywgRmFsc2Ugb3RoZXJ3aXNlLiIiIgpAQCAtNzEwLDEzICs2OTMsOSBAQAogICAgICAgICBvcy5jaG1vZChuZXdfZmlsZS5uYW1lLCBtb2RlKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5yZW5hbWUobmV3X2ZpbGUubmFtZSwgc2VsZi5fcGF0aCkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUVYSVNUIG9yIFwKLSAgICAgICAgICAgICAgKG9zLm5hbWUgPT0gJ29zMicgYW5kIGUuZXJybm8gPT0gZXJybm8uRUFDQ0VTKToKLSAgICAgICAgICAgICAgICBvcy5yZW1vdmUoc2VsZi5fcGF0aCkKLSAgICAgICAgICAgICAgICBvcy5yZW5hbWUobmV3X2ZpbGUubmFtZSwgc2VsZi5fcGF0aCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgICAgIG9zLnJlbW92ZShzZWxmLl9wYXRoKQorICAgICAgICAgICAgb3MucmVuYW1lKG5ld19maWxlLm5hbWUsIHNlbGYuX3BhdGgpCiAgICAgICAgIHNlbGYuX2ZpbGUgPSBvcGVuKHNlbGYuX3BhdGgsICdyYisnKQogICAgICAgICBzZWxmLl90b2MgPSBuZXdfdG9jCiAgICAgICAgIHNlbGYuX3BlbmRpbmcgPSBGYWxzZQpAQCAtOTkzLDcgKzk3Miw3IEBACiAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc3RyKGtleSkpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBvcGVuKHBhdGgsICdyYisnKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoJ05vIG1lc3NhZ2Ugd2l0aCBrZXk6ICVzJyAlIGtleSkKICAgICAgICAgICAgIGVsc2U6CkBAIC0xMDA3LDcgKzk4Niw3IEBACiAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc3RyKGtleSkpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGYgPSBvcGVuKHBhdGgsICdyYisnKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoJ05vIG1lc3NhZ2Ugd2l0aCBrZXk6ICVzJyAlIGtleSkKICAgICAgICAgICAgIGVsc2U6CkBAIC0xMDMzLDEyICsxMDEyLDEyIEBACiAgICAgICAgICAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHNlbGYuX3BhdGgsIHN0cihrZXkpKSwgJ3JiKycpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGYgPSBvcGVuKG9zLnBhdGguam9pbihzZWxmLl9wYXRoLCBzdHIoa2V5KSksICdyYicpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVOT0VOVDoKICAgICAgICAgICAgICAgICByYWlzZSBLZXlFcnJvcignTm8gbWVzc2FnZSB3aXRoIGtleTogJXMnICUga2V5KQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggZjoKICAgICAgICAgICAgIGlmIHNlbGYuX2xvY2tlZDoKICAgICAgICAgICAgICAgICBfbG9ja19maWxlKGYpCiAgICAgICAgICAgICB0cnk6CkBAIC0xMDQ2LDggKzEwMjUsNiBAQAogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9sb2NrZWQ6CiAgICAgICAgICAgICAgICAgICAgIF91bmxvY2tfZmlsZShmKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgIGZvciBuYW1lLCBrZXlfbGlzdCBpbiBzZWxmLmdldF9zZXF1ZW5jZXMoKS5pdGVtcygpOgogICAgICAgICAgICAgaWYga2V5IGluIGtleV9saXN0OgogICAgICAgICAgICAgICAgIG1zZy5hZGRfc2VxdWVuY2UobmFtZSkKQEAgLTEwNjAsMTIgKzEwMzcsMTIgQEAKICAgICAgICAgICAgICAgICBmID0gb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc3RyKGtleSkpLCAncmIrJykKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHNlbGYuX3BhdGgsIHN0cihrZXkpKSwgJ3JiJykKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRU5PRU5UOgogICAgICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCdObyBtZXNzYWdlIHdpdGgga2V5OiAlcycgJSBrZXkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgIHRyeToKKyAgICAgICAgd2l0aCBmOgogICAgICAgICAgICAgaWYgc2VsZi5fbG9ja2VkOgogICAgICAgICAgICAgICAgIF9sb2NrX2ZpbGUoZikKICAgICAgICAgICAgIHRyeToKQEAgLTEwNzMsMTQgKzEwNTAsMTIgQEAKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgaWYgc2VsZi5fbG9ja2VkOgogICAgICAgICAgICAgICAgICAgICBfdW5sb2NrX2ZpbGUoZikKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGYuY2xvc2UoKQogCiAgICAgZGVmIGdldF9maWxlKHNlbGYsIGtleSk6CiAgICAgICAgICIiIlJldHVybiBhIGZpbGUtbGlrZSByZXByZXNlbnRhdGlvbiBvciByYWlzZSBhIEtleUVycm9yLiIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmID0gb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgc3RyKGtleSkpLCAncmInKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgcmFpc2UgS2V5RXJyb3IoJ05vIG1lc3NhZ2Ugd2l0aCBrZXk6ICVzJyAlIGtleSkKICAgICAgICAgICAgIGVsc2U6CkBAIC0yMDczLDcgKzIwNDgsNyBAQAogICAgICAgICBpZiBmY250bDoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBmY250bC5sb2NrZihmLCBmY250bC5MT0NLX0VYIHwgZmNudGwuTE9DS19OQikKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gaW4gKGVycm5vLkVBR0FJTiwgZXJybm8uRUFDQ0VTLCBlcnJuby5FUk9GUyk6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4dGVybmFsQ2xhc2hFcnJvcignbG9ja2Y6IGxvY2sgdW5hdmFpbGFibGU6ICVzJyAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLm5hbWUpCkBAIC0yMDgzLDcgKzIwNTgsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHByZV9sb2NrID0gX2NyZWF0ZV90ZW1wb3JhcnkoZi5uYW1lICsgJy5sb2NrJykKICAgICAgICAgICAgICAgICBwcmVfbG9jay5jbG9zZSgpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vIGluIChlcnJuby5FQUNDRVMsIGVycm5vLkVST0ZTKToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICAjIFdpdGhvdXQgd3JpdGUgYWNjZXNzLCBqdXN0IHNraXAgZG90bG9ja2luZy4KICAgICAgICAgICAgICAgICBlbHNlOgpAQCAtMjA5NiwxNCArMjA3MSwxMCBAQAogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIG9zLnJlbmFtZShwcmVfbG9jay5uYW1lLCBmLm5hbWUgKyAnLmxvY2snKQogICAgICAgICAgICAgICAgICAgICBkb3Rsb2NrX2RvbmUgPSBUcnVlCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUVYSVNUIG9yIFwKLSAgICAgICAgICAgICAgICAgIChvcy5uYW1lID09ICdvczInIGFuZCBlLmVycm5vID09IGVycm5vLkVBQ0NFUyk6Ci0gICAgICAgICAgICAgICAgICAgIG9zLnJlbW92ZShwcmVfbG9jay5uYW1lKQotICAgICAgICAgICAgICAgICAgICByYWlzZSBFeHRlcm5hbENsYXNoRXJyb3IoJ2RvdCBsb2NrIHVuYXZhaWxhYmxlOiAlcycgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi5uYW1lKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgorICAgICAgICAgICAgICAgIG9zLnJlbW92ZShwcmVfbG9jay5uYW1lKQorICAgICAgICAgICAgICAgIHJhaXNlIEV4dGVybmFsQ2xhc2hFcnJvcignZG90IGxvY2sgdW5hdmFpbGFibGU6ICVzJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYubmFtZSkKICAgICBleGNlcHQ6CiAgICAgICAgIGlmIGZjbnRsOgogICAgICAgICAgICAgZmNudGwubG9ja2YoZiwgZmNudGwuTE9DS19VTikKZGlmZiAtLWdpdCBhL0xpYi9tYWlsY2FwLnB5IGIvTGliL21haWxjYXAucHkKaW5kZXggOTlmNDk1OC4uYmQ2MWIwYiAxMDA2NDQKLS0tIGEvTGliL21haWxjYXAucHkKKysrIGIvTGliL21haWxjYXAucHkKQEAgLTIwLDcgKzIwLDcgQEAKICAgICBmb3IgbWFpbGNhcCBpbiBsaXN0bWFpbGNhcGZpbGVzKCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZwID0gb3BlbihtYWlsY2FwLCAncicpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIG1vcmVjYXBzID0gcmVhZG1haWxjYXBmaWxlKGZwKQogICAgICAgICBmcC5jbG9zZSgpCmRpZmYgLS1naXQgYS9MaWIvbWltZXR5cGVzLnB5IGIvTGliL21pbWV0eXBlcy5weQppbmRleCAzZjBiZDBlLi41YWFhOTA4IDEwMDY0NAotLS0gYS9MaWIvbWltZXR5cGVzLnB5CisrKyBiL0xpYi9taW1ldHlwZXMucHkKQEAgLTI0Myw3ICsyNDMsNyBAQAogICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGN0eXBlID0gX3dpbnJlZy5FbnVtS2V5KG1pbWVkYiwgaSkKLSAgICAgICAgICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICB5aWVsZCBjdHlwZQpAQCAtMjU2LDcgKzI1Niw3IEBACiAgICAgICAgICAgICAgICAgICAgIHdpdGggX3dpbnJlZy5PcGVuS2V5KG1pbWVkYiwgY3R5cGUpIGFzIGtleToKICAgICAgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCwgZGF0YXR5cGUgPSBfd2lucmVnLlF1ZXJ5VmFsdWVFeChrZXksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0V4dGVuc2lvbicpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3I6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgaWYgZGF0YXR5cGUgIT0gX3dpbnJlZy5SRUdfU1o6CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0zNTksNyArMzU5LDcgQEAKIGRlZiByZWFkX21pbWVfdHlwZXMoZmlsZSk6CiAgICAgdHJ5OgogICAgICAgICBmID0gb3BlbihmaWxlKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gTm9uZQogICAgIGRiID0gTWltZVR5cGVzKCkKICAgICBkYi5yZWFkZnAoZiwgVHJ1ZSkKQEAgLTM3OCwxMiArMzc4LDE0IEBACiAgICAgICAgICcudGF6JzogJy50YXIuZ3onLAogICAgICAgICAnLnR6JzogJy50YXIuZ3onLAogICAgICAgICAnLnRiejInOiAnLnRhci5iejInLAorICAgICAgICAnLnR4eic6ICcudGFyLnh6JywKICAgICAgICAgfQogCiAgICAgZW5jb2RpbmdzX21hcCA9IHsKICAgICAgICAgJy5neic6ICdnemlwJywKICAgICAgICAgJy5aJzogJ2NvbXByZXNzJywKICAgICAgICAgJy5iejInOiAnYnppcDInLAorICAgICAgICAnLnh6JzogJ3h6JywKICAgICAgICAgfQogCiAgICAgIyBCZWZvcmUgYWRkaW5nIG5ldyB0eXBlcywgbWFrZSBzdXJlIHRoZXkgYXJlIGVpdGhlciByZWdpc3RlcmVkIHdpdGggSUFOQSwKZGlmZiAtLWdpdCBhL0xpYi9tb2R1bGVmaW5kZXIucHkgYi9MaWIvbW9kdWxlZmluZGVyLnB5CmluZGV4IGY5MGE0MzIuLjQ5OTZkN2EgMTAwNjQ0Ci0tLSBhL0xpYi9tb2R1bGVmaW5kZXIucHkKKysrIGIvTGliL21vZHVsZWZpbmRlci5weQpAQCAtMjI5LDcgKzIyOSw3IEBACiAgICAgICAgIGZvciBkaXIgaW4gbS5fX3BhdGhfXzoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoZGlyKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgc2VsZi5tc2coMiwgImNhbid0IGxpc3QgZGlyZWN0b3J5IiwgZGlyKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvX19pbml0X18ucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL19faW5pdF9fLnB5CmluZGV4IDFmM2U2N2MuLmI1ZjE2ZDcgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvX19pbml0X18ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9fX2luaXRfXy5weQpAQCAtOCwxMCArOCw2IEBACiAjIHN1YnBhY2thZ2UgJ211bHRpcHJvY2Vzc2luZy5kdW1teScgaGFzIHRoZSBzYW1lIEFQSSBidXQgaXMgYSBzaW1wbGUKICMgd3JhcHBlciBmb3IgJ3RocmVhZGluZycuCiAjCi0jIFRyeSBjYWxsaW5nIGBtdWx0aXByb2Nlc3NpbmcuZG9jLm1haW4oKWAgdG8gcmVhZCB0aGUgaHRtbAotIyBkb2N1bWVudGF0aW9uIGluIGEgd2ViYnJvd3Nlci4KLSMKLSMKICMgQ29weXJpZ2h0IChjKSAyMDA2LTIwMDgsIFIgT3Vka2VyawogIyBMaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCiAjCkBAIC0yNyw4ICsyMyw2IEBACiAgICAgJ1ZhbHVlJywgJ0FycmF5JywgJ1Jhd1ZhbHVlJywgJ1Jhd0FycmF5JywgJ1NVQkRFQlVHJywgJ1NVQldBUk5JTkcnLAogICAgIF0KIAotX19hdXRob3JfXyA9ICdSLiBPdWRrZXJrIChyLm0ub3Vka2Vya0BnbWFpbC5jb20pJwotCiAjCiAjIEltcG9ydHMKICMKQEAgLTQwLDYgKzM0LDEzIEBACiBmcm9tIG11bHRpcHJvY2Vzc2luZy51dGlsIGltcG9ydCBTVUJERUJVRywgU1VCV0FSTklORwogCiAjCisjIEFsaWFzIGZvciBtYWluIG1vZHVsZSAtLSB3aWxsIGJlIHJlc2V0IGJ5IGJvb3RzdHJhcHBpbmcgY2hpbGQgcHJvY2Vzc2VzCisjCisKK2lmICdfX21haW5fXycgaW4gc3lzLm1vZHVsZXM6CisgICAgc3lzLm1vZHVsZXNbJ19fbXBfbWFpbl9fJ10gPSBzeXMubW9kdWxlc1snX19tYWluX18nXQorCisjCiAjIEV4Y2VwdGlvbnMKICMKIApkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5CmluZGV4IGRmNTc5MDYuLjQ3ZTIxMjMgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2Nvbm5lY3Rpb24ucHkKQEAgLTEyLDcgKzEyLDYgQEAKIGltcG9ydCBpbwogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCi1pbXBvcnQgcGlja2xlCiBpbXBvcnQgc2VsZWN0CiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3RydWN0CkBAIC0xMzIsMjIgKzEzMSwyMiBAQAogCiAgICAgZGVmIF9jaGVja19jbG9zZWQoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX2hhbmRsZSBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiaGFuZGxlIGlzIGNsb3NlZCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJoYW5kbGUgaXMgY2xvc2VkIikKIAogICAgIGRlZiBfY2hlY2tfcmVhZGFibGUoc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9yZWFkYWJsZToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImNvbm5lY3Rpb24gaXMgd3JpdGUtb25seSIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJjb25uZWN0aW9uIGlzIHdyaXRlLW9ubHkiKQogCiAgICAgZGVmIF9jaGVja193cml0YWJsZShzZWxmKToKICAgICAgICAgaWYgbm90IHNlbGYuX3dyaXRhYmxlOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiY29ubmVjdGlvbiBpcyByZWFkLW9ubHkiKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiY29ubmVjdGlvbiBpcyByZWFkLW9ubHkiKQogCiAgICAgZGVmIF9iYWRfbWVzc2FnZV9sZW5ndGgoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3dyaXRhYmxlOgogICAgICAgICAgICAgc2VsZi5fcmVhZGFibGUgPSBGYWxzZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5jbG9zZSgpCi0gICAgICAgIHJhaXNlIElPRXJyb3IoImJhZCBtZXNzYWdlIGxlbmd0aCIpCisgICAgICAgIHJhaXNlIE9TRXJyb3IoImJhZCBtZXNzYWdlIGxlbmd0aCIpCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgY2xvc2VkKHNlbGYpOgpAQCAtMjAyLDkgKzIwMSw3IEBACiAgICAgICAgICIiIlNlbmQgYSAocGlja2xhYmxlKSBvYmplY3QiIiIKICAgICAgICAgc2VsZi5fY2hlY2tfY2xvc2VkKCkKICAgICAgICAgc2VsZi5fY2hlY2tfd3JpdGFibGUoKQotICAgICAgICBidWYgPSBpby5CeXRlc0lPKCkKLSAgICAgICAgRm9ya2luZ1BpY2tsZXIoYnVmLCBwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCkuZHVtcChvYmopCi0gICAgICAgIHNlbGYuX3NlbmRfYnl0ZXMoYnVmLmdldGJ1ZmZlcigpKQorICAgICAgICBzZWxmLl9zZW5kX2J5dGVzKEZvcmtpbmdQaWNrbGVyLmR1bXBzKG9iaikpCiAKICAgICBkZWYgcmVjdl9ieXRlcyhzZWxmLCBtYXhsZW5ndGg9Tm9uZSk6CiAgICAgICAgICIiIgpAQCAtMjQ5LDcgKzI0Niw3IEBACiAgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCiAgICAgICAgIHNlbGYuX2NoZWNrX3JlYWRhYmxlKCkKICAgICAgICAgYnVmID0gc2VsZi5fcmVjdl9ieXRlcygpCi0gICAgICAgIHJldHVybiBwaWNrbGUubG9hZHMoYnVmLmdldGJ1ZmZlcigpKQorICAgICAgICByZXR1cm4gRm9ya2luZ1BpY2tsZXIubG9hZHMoYnVmLmdldGJ1ZmZlcigpKQogCiAgICAgZGVmIHBvbGwoc2VsZiwgdGltZW91dD0wLjApOgogICAgICAgICAiIiJXaGV0aGVyIHRoZXJlIGlzIGFueSBpbnB1dCBhdmFpbGFibGUgdG8gYmUgcmVhZCIiIgpAQCAtMzE3LDcgKzMxNCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGYKICAgICAgICAgICAgICAgICAgICAgICAgIGVsaWYgZXJyID09IF93aW5hcGkuRVJST1JfTU9SRV9EQVRBOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfbW9yZV9kYXRhKG92LCBtYXhzaXplKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAgaWYgZS53aW5lcnJvciA9PSBfd2luYXBpLkVSUk9SX0JST0tFTl9QSVBFOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRU9GRXJyb3IKICAgICAgICAgICAgICAgICAgICAgZWxzZToKQEAgLTM4Myw3ICszODAsNyBAQAogICAgICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA9PSBzaXplOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcgogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImdvdCBlbmQgb2YgZmlsZSBkdXJpbmcgbWVzc2FnZSIpCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoImdvdCBlbmQgb2YgZmlsZSBkdXJpbmcgbWVzc2FnZSIpCiAgICAgICAgICAgICBidWYud3JpdGUoY2h1bmspCiAgICAgICAgICAgICByZW1haW5pbmcgLT0gbgogICAgICAgICByZXR1cm4gYnVmCkBAIC00NDMsNyArNDQwLDcgQEAKICAgICAgICAgUmV0dXJucyBhIGBDb25uZWN0aW9uYCBvYmplY3QuCiAgICAgICAgICcnJwogICAgICAgICBpZiBzZWxmLl9saXN0ZW5lciBpcyBOb25lOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignbGlzdGVuZXIgaXMgY2xvc2VkJykKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ2xpc3RlbmVyIGlzIGNsb3NlZCcpCiAgICAgICAgIGMgPSBzZWxmLl9saXN0ZW5lci5hY2NlcHQoKQogICAgICAgICBpZiBzZWxmLl9hdXRoa2V5OgogICAgICAgICAgICAgZGVsaXZlcl9jaGFsbGVuZ2UoYywgc2VsZi5fYXV0aGtleSkKQEAgLTY3Niw3ICs2NzMsNyBAQAogICAgICAgICAgICAgICAgICAgICAwLCBfd2luYXBpLk5VTEwsIF93aW5hcGkuT1BFTl9FWElTVElORywKICAgICAgICAgICAgICAgICAgICAgX3dpbmFwaS5GSUxFX0ZMQUdfT1ZFUkxBUFBFRCwgX3dpbmFwaS5OVUxMCiAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS53aW5lcnJvciBub3QgaW4gKF93aW5hcGkuRVJST1JfU0VNX1RJTUVPVVQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF93aW5hcGkuRVJST1JfUElQRV9CVVNZKSBvciBfY2hlY2tfdGltZW91dCh0KToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5CmluZGV4IGUzMWZjNjEuLjIwYWU5NTcgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weQpAQCAtNCwzMiArNCw3IEBACiAjIG11bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weQogIwogIyBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwOCwgUiBPdWRrZXJrCi0jIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1ldDoKLSMKLSMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0jICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgYXV0aG9yIG5vciB0aGUgbmFtZXMgb2YgYW55IGNvbnRyaWJ1dG9ycyBtYXkgYmUKLSMgICAgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSMgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECi0jIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotIyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotIyBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotIyBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotIyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSMgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSMgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotIyBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0jIFNVQ0ggREFNQUdFLgorIyBMaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCiAjCiAKIF9fYWxsX18gPSBbCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L2Nvbm5lY3Rpb24ucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L2Nvbm5lY3Rpb24ucHkKaW5kZXggODc0ZWM4ZS4uNjk0ZWY5NiAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9jb25uZWN0aW9uLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvY29ubmVjdGlvbi5weQpAQCAtNCwzMiArNCw3IEBACiAjIG11bHRpcHJvY2Vzc2luZy9kdW1teS9jb25uZWN0aW9uLnB5CiAjCiAjIENvcHlyaWdodCAoYykgMjAwNi0yMDA4LCBSIE91ZGtlcmsKLSMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotIyBhcmUgbWV0OgotIwotIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMgMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBhdXRob3Igbm9yIHRoZSBuYW1lcyBvZiBhbnkgY29udHJpYnV0b3JzIG1heSBiZQotIyAgICB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotIyAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQKLSMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0jIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0jIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0jIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0jIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0jIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotIyBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotIyBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0jIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSMgU1VDSCBEQU1BR0UuCisjIExpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4KICMKIAogX19hbGxfXyA9IFsgJ0NsaWVudCcsICdMaXN0ZW5lcicsICdQaXBlJyBdCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2ZvcmtpbmcucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2ZvcmtpbmcucHkKaW5kZXggMGJiMjFjNC4uMzdjOWExMCAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9mb3JraW5nLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya2luZy5weQpAQCAtNyw3ICs3LDkgQEAKICMgTGljZW5zZWQgdG8gUFNGIHVuZGVyIGEgQ29udHJpYnV0b3IgQWdyZWVtZW50LgogIwogCitpbXBvcnQgaW8KIGltcG9ydCBvcworaW1wb3J0IHBpY2tsZQogaW1wb3J0IHN5cwogaW1wb3J0IHNpZ25hbAogaW1wb3J0IGVycm5vCkBAIC00NCw2ICs0NiwxNSBAQAogICAgIGRlZiByZWdpc3RlcihjbHMsIHR5cGUsIHJlZHVjZSk6CiAgICAgICAgIGNscy5fZXh0cmFfcmVkdWNlcnNbdHlwZV0gPSByZWR1Y2UKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgZHVtcHMob2JqKToKKyAgICAgICAgYnVmID0gaW8uQnl0ZXNJTygpCisgICAgICAgIEZvcmtpbmdQaWNrbGVyKGJ1ZiwgcGlja2xlLkhJR0hFU1RfUFJPVE9DT0wpLmR1bXAob2JqKQorICAgICAgICByZXR1cm4gYnVmLmdldGJ1ZmZlcigpCisKKyAgICBsb2FkcyA9IHBpY2tsZS5sb2FkcworCisKIGRlZiBfcmVkdWNlX21ldGhvZChtKToKICAgICBpZiBtLl9fc2VsZl9fIGlzIE5vbmU6CiAgICAgICAgIHJldHVybiBnZXRhdHRyLCAobS5fX2NsYXNzX18sIG0uX19mdW5jX18uX19uYW1lX18pCkBAIC0xMTMsNyArMTI0LDcgQEAKICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBwaWQsIHN0cyA9IG9zLndhaXRwaWQoc2VsZi5waWQsIGZsYWcpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FSU5UUjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICAgICAgIyBDaGlsZCBwcm9jZXNzIG5vdCB5ZXQgY3JlYXRlZC4gU2VlICMxNzMxNzE3CkBAIC00NDgsMjcgKzQ1OSwxNyBAQAogICAgICAgICAgICAgICAgIGRpcnMgPSBbb3MucGF0aC5kaXJuYW1lKG1haW5fcGF0aCldCiAKICAgICAgICAgICAgIGFzc2VydCBtYWluX25hbWUgbm90IGluIHN5cy5tb2R1bGVzLCBtYWluX25hbWUKKyAgICAgICAgICAgIHN5cy5tb2R1bGVzLnBvcCgnX19tcF9tYWluX18nLCBOb25lKQogICAgICAgICAgICAgZmlsZSwgcGF0aF9uYW1lLCBldGMgPSBpbXAuZmluZF9tb2R1bGUobWFpbl9uYW1lLCBkaXJzKQogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICMgV2Ugd291bGQgbGlrZSB0byBkbyAiaW1wLmxvYWRfbW9kdWxlKCdfX21haW5fXycsIC4uLikiCi0gICAgICAgICAgICAgICAgIyBoZXJlLiAgSG93ZXZlciwgdGhhdCB3b3VsZCBjYXVzZSAnaWYgX19uYW1lX18gPT0KLSAgICAgICAgICAgICAgICAjICJfX21haW5fXyInIGNsYXVzZXMgdG8gYmUgZXhlY3V0ZWQuCisgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQgbm90IGRvICdpbXAubG9hZF9tb2R1bGUoIl9fbWFpbl9fIiwgLi4uKScKKyAgICAgICAgICAgICAgICAjIHNpbmNlIHRoYXQgd291bGQgZXhlY3V0ZSAnaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIicKKyAgICAgICAgICAgICAgICAjIGNsYXVzZXMsIHBvdGVudGlhbGx5IGNhdXNpbmcgYSBwc3VlZG8gZm9yayBib21iLgogICAgICAgICAgICAgICAgIG1haW5fbW9kdWxlID0gaW1wLmxvYWRfbW9kdWxlKAotICAgICAgICAgICAgICAgICAgICAnX19wYXJlbnRzX21haW5fXycsIGZpbGUsIHBhdGhfbmFtZSwgZXRjCisgICAgICAgICAgICAgICAgICAgICdfX21wX21haW5fXycsIGZpbGUsIHBhdGhfbmFtZSwgZXRjCiAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgaWYgZmlsZToKICAgICAgICAgICAgICAgICAgICAgZmlsZS5jbG9zZSgpCiAKLSAgICAgICAgICAgIHN5cy5tb2R1bGVzWydfX21haW5fXyddID0gbWFpbl9tb2R1bGUKLSAgICAgICAgICAgIG1haW5fbW9kdWxlLl9fbmFtZV9fID0gJ19fbWFpbl9fJwotCi0gICAgICAgICAgICAjIFRyeSB0byBtYWtlIHRoZSBwb3RlbnRpYWxseSBwaWNrbGFibGUgb2JqZWN0cyBpbgotICAgICAgICAgICAgIyBzeXMubW9kdWxlc1snX19tYWluX18nXSByZWFsaXplIHRoZXkgYXJlIGluIHRoZSBtYWluCi0gICAgICAgICAgICAjIG1vZHVsZSAtLSBzb21ld2hhdCB1Z2x5LgotICAgICAgICAgICAgZm9yIG9iaiBpbiBsaXN0KG1haW5fbW9kdWxlLl9fZGljdF9fLnZhbHVlcygpKToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGlmIG9iai5fX21vZHVsZV9fID09ICdfX3BhcmVudHNfbWFpbl9fJzoKLSAgICAgICAgICAgICAgICAgICAgICAgIG9iai5fX21vZHVsZV9fID0gJ19fbWFpbl9fJwotICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHN5cy5tb2R1bGVzWydfX21haW5fXyddID0gc3lzLm1vZHVsZXNbJ19fbXBfbWFpbl9fJ10gPSBtYWluX21vZHVsZQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvbWFuYWdlcnMucHkKaW5kZXggMWFiMTQ3ZS4uMzBlZjc3MSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL21hbmFnZXJzLnB5CkBAIC0xNjcsNyArMTY3LDcgQEAKICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBjID0gc2VsZi5saXN0ZW5lci5hY2NlcHQoKQotICAgICAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBJT0Vycm9yKToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICB0ID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5oYW5kbGVfcmVxdWVzdCwgYXJncz0oYywpKQogICAgICAgICAgICAgdC5kYWVtb24gPSBUcnVlCmRpZmYgLS1naXQgYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3Bvb2wucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3Bvb2wucHkKaW5kZXggN2Y3M2I0NC4uYzBhYTcxNyAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9wb29sLnB5CisrKyBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weQpAQCAtNzgsOCArNzgsOCBAQAogICAgIHdoaWxlIG1heHRhc2tzIGlzIE5vbmUgb3IgKG1heHRhc2tzIGFuZCBjb21wbGV0ZWQgPCBtYXh0YXNrcyk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRhc2sgPSBnZXQoKQotICAgICAgICBleGNlcHQgKEVPRkVycm9yLCBJT0Vycm9yKToKLSAgICAgICAgICAgIGRlYnVnKCd3b3JrZXIgZ290IEVPRkVycm9yIG9yIElPRXJyb3IgLS0gZXhpdGluZycpCisgICAgICAgIGV4Y2VwdCAoRU9GRXJyb3IsIE9TRXJyb3IpOgorICAgICAgICAgICAgZGVidWcoJ3dvcmtlciBnb3QgRU9GRXJyb3Igb3IgT1NFcnJvciAtLSBleGl0aW5nJykKICAgICAgICAgICAgIGJyZWFrCiAKICAgICAgICAgaWYgdGFzayBpcyBOb25lOgpAQCAtMzQ5LDcgKzM0OSw3IEBACiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBwdXQodGFzaykKLSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgZGVidWcoJ2NvdWxkIG5vdCBwdXQgdGFzayBvbiBxdWV1ZScpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBlbHNlOgpAQCAtMzcxLDggKzM3MSw4IEBACiAgICAgICAgICAgICBkZWJ1ZygndGFzayBoYW5kbGVyIHNlbmRpbmcgc2VudGluZWwgdG8gd29ya2VycycpCiAgICAgICAgICAgICBmb3IgcCBpbiBwb29sOgogICAgICAgICAgICAgICAgIHB1dChOb25lKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKLSAgICAgICAgICAgIGRlYnVnKCd0YXNrIGhhbmRsZXIgZ290IElPRXJyb3Igd2hlbiBzZW5kaW5nIHNlbnRpbmVscycpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgZGVidWcoJ3Rhc2sgaGFuZGxlciBnb3QgT1NFcnJvciB3aGVuIHNlbmRpbmcgc2VudGluZWxzJykKIAogICAgICAgICBkZWJ1ZygndGFzayBoYW5kbGVyIGV4aXRpbmcnKQogCkBAIC0zODMsOCArMzgzLDggQEAKICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICB0YXNrID0gZ2V0KCkKLSAgICAgICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgRU9GRXJyb3IpOgotICAgICAgICAgICAgICAgIGRlYnVnKCdyZXN1bHQgaGFuZGxlciBnb3QgRU9GRXJyb3IvSU9FcnJvciAtLSBleGl0aW5nJykKKyAgICAgICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgRU9GRXJyb3IpOgorICAgICAgICAgICAgICAgIGRlYnVnKCdyZXN1bHQgaGFuZGxlciBnb3QgRU9GRXJyb3IvT1NFcnJvciAtLSBleGl0aW5nJykKICAgICAgICAgICAgICAgICByZXR1cm4KIAogICAgICAgICAgICAgaWYgdGhyZWFkLl9zdGF0ZToKQEAgLTQwNSw4ICs0MDUsOCBAQAogICAgICAgICB3aGlsZSBjYWNoZSBhbmQgdGhyZWFkLl9zdGF0ZSAhPSBURVJNSU5BVEU6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgdGFzayA9IGdldCgpCi0gICAgICAgICAgICBleGNlcHQgKElPRXJyb3IsIEVPRkVycm9yKToKLSAgICAgICAgICAgICAgICBkZWJ1ZygncmVzdWx0IGhhbmRsZXIgZ290IEVPRkVycm9yL0lPRXJyb3IgLS0gZXhpdGluZycpCisgICAgICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEVPRkVycm9yKToKKyAgICAgICAgICAgICAgICBkZWJ1ZygncmVzdWx0IGhhbmRsZXIgZ290IEVPRkVycm9yL09TRXJyb3IgLS0gZXhpdGluZycpCiAgICAgICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgICAgIGlmIHRhc2sgaXMgTm9uZToKQEAgLTQyOCw3ICs0MjgsNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3V0cXVldWUuX3JlYWRlci5wb2xsKCk6CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgICAgICBnZXQoKQotICAgICAgICAgICAgZXhjZXB0IChJT0Vycm9yLCBFT0ZFcnJvcik6CisgICAgICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEVPRkVycm9yKToKICAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgZGVidWcoJ3Jlc3VsdCBoYW5kbGVyIGV4aXRpbmc6IGxlbihjYWNoZSk9JXMsIHRocmVhZC5fc3RhdGU9JXMnLApkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9xdWV1ZXMucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQppbmRleCAzNzI3MWZiLi5lYzE4OGVlIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQpAQCAtMjIsNyArMjIsNyBAQAogZnJvbSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbiBpbXBvcnQgUGlwZQogZnJvbSBtdWx0aXByb2Nlc3Npbmcuc3luY2hyb25pemUgaW1wb3J0IExvY2ssIEJvdW5kZWRTZW1hcGhvcmUsIFNlbWFwaG9yZSwgQ29uZGl0aW9uCiBmcm9tIG11bHRpcHJvY2Vzc2luZy51dGlsIGltcG9ydCBkZWJ1ZywgaW5mbywgRmluYWxpemUsIHJlZ2lzdGVyX2FmdGVyX2ZvcmsKLWZyb20gbXVsdGlwcm9jZXNzaW5nLmZvcmtpbmcgaW1wb3J0IGFzc2VydF9zcGF3bmluZworZnJvbSBtdWx0aXByb2Nlc3NpbmcuZm9ya2luZyBpbXBvcnQgYXNzZXJ0X3NwYXduaW5nLCBGb3JraW5nUGlja2xlcgogCiAjCiAjIFF1ZXVlIHR5cGUgdXNpbmcgYSBwaXBlLCBidWZmZXIgYW5kIHRocmVhZApAQCAtNjksOCArNjksOCBAQAogICAgICAgICBzZWxmLl9qb2luY2FuY2VsbGVkID0gRmFsc2UKICAgICAgICAgc2VsZi5fY2xvc2VkID0gRmFsc2UKICAgICAgICAgc2VsZi5fY2xvc2UgPSBOb25lCi0gICAgICAgIHNlbGYuX3NlbmQgPSBzZWxmLl93cml0ZXIuc2VuZAotICAgICAgICBzZWxmLl9yZWN2ID0gc2VsZi5fcmVhZGVyLnJlY3YKKyAgICAgICAgc2VsZi5fc2VuZF9ieXRlcyA9IHNlbGYuX3dyaXRlci5zZW5kX2J5dGVzCisgICAgICAgIHNlbGYuX3JlY3ZfYnl0ZXMgPSBzZWxmLl9yZWFkZXIucmVjdl9ieXRlcwogICAgICAgICBzZWxmLl9wb2xsID0gc2VsZi5fcmVhZGVyLnBvbGwKIAogICAgIGRlZiBwdXQoc2VsZiwgb2JqLCBibG9jaz1UcnVlLCB0aW1lb3V0PU5vbmUpOgpAQCAtODksMTQgKzg5LDkgQEAKIAogICAgIGRlZiBnZXQoc2VsZiwgYmxvY2s9VHJ1ZSwgdGltZW91dD1Ob25lKToKICAgICAgICAgaWYgYmxvY2sgYW5kIHRpbWVvdXQgaXMgTm9uZToKLSAgICAgICAgICAgIHNlbGYuX3Jsb2NrLmFjcXVpcmUoKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJlcyA9IHNlbGYuX3JlY3YoKQotICAgICAgICAgICAgICAgIHNlbGYuX3NlbS5yZWxlYXNlKCkKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVzCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIHNlbGYuX3Jsb2NrLnJlbGVhc2UoKQotCisgICAgICAgICAgICB3aXRoIHNlbGYuX3Jsb2NrOgorICAgICAgICAgICAgICAgIHJlcyA9IHNlbGYuX3JlY3ZfYnl0ZXMoKQorICAgICAgICAgICAgc2VsZi5fc2VtLnJlbGVhc2UoKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgYmxvY2s6CiAgICAgICAgICAgICAgICAgZGVhZGxpbmUgPSB0aW1lLnRpbWUoKSArIHRpbWVvdXQKQEAgLTEwOSwxMSArMTA0LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBFbXB0eQogICAgICAgICAgICAgICAgIGVsaWYgbm90IHNlbGYuX3BvbGwoKToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRW1wdHkKLSAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9yZWN2KCkKKyAgICAgICAgICAgICAgICByZXMgPSBzZWxmLl9yZWN2X2J5dGVzKCkKICAgICAgICAgICAgICAgICBzZWxmLl9zZW0ucmVsZWFzZSgpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcwogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBzZWxmLl9ybG9jay5yZWxlYXNlKCkKKyAgICAgICAgIyB1bnNlcmlhbGl6ZSB0aGUgZGF0YSBhZnRlciBoYXZpbmcgcmVsZWFzZWQgdGhlIGxvY2sKKyAgICAgICAgcmV0dXJuIEZvcmtpbmdQaWNrbGVyLmxvYWRzKHJlcykKIAogICAgIGRlZiBxc2l6ZShzZWxmKToKICAgICAgICAgIyBSYWlzZXMgTm90SW1wbGVtZW50ZWRFcnJvciBvbiBNYWMgT1NYIGJlY2F1c2Ugb2YgYnJva2VuIHNlbV9nZXR2YWx1ZSgpCkBAIC0xNTgsNyArMTU0LDcgQEAKICAgICAgICAgc2VsZi5fYnVmZmVyLmNsZWFyKCkKICAgICAgICAgc2VsZi5fdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCgKICAgICAgICAgICAgIHRhcmdldD1RdWV1ZS5fZmVlZCwKLSAgICAgICAgICAgIGFyZ3M9KHNlbGYuX2J1ZmZlciwgc2VsZi5fbm90ZW1wdHksIHNlbGYuX3NlbmQsCisgICAgICAgICAgICBhcmdzPShzZWxmLl9idWZmZXIsIHNlbGYuX25vdGVtcHR5LCBzZWxmLl9zZW5kX2J5dGVzLAogICAgICAgICAgICAgICAgICAgc2VsZi5fd2xvY2ssIHNlbGYuX3dyaXRlci5jbG9zZSwgc2VsZi5faWdub3JlX2VwaXBlKSwKICAgICAgICAgICAgIG5hbWU9J1F1ZXVlRmVlZGVyVGhyZWFkJwogICAgICAgICAgICAgKQpAQCAtMjEwLDcgKzIwNiw3IEBACiAgICAgICAgICAgICBub3RlbXB0eS5yZWxlYXNlKCkKIAogICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2ZlZWQoYnVmZmVyLCBub3RlbXB0eSwgc2VuZCwgd3JpdGVsb2NrLCBjbG9zZSwgaWdub3JlX2VwaXBlKToKKyAgICBkZWYgX2ZlZWQoYnVmZmVyLCBub3RlbXB0eSwgc2VuZF9ieXRlcywgd3JpdGVsb2NrLCBjbG9zZSwgaWdub3JlX2VwaXBlKToKICAgICAgICAgZGVidWcoJ3N0YXJ0aW5nIHRocmVhZCB0byBmZWVkIGRhdGEgdG8gcGlwZScpCiAgICAgICAgIGZyb20gLnV0aWwgaW1wb3J0IGlzX2V4aXRpbmcKIApAQCAtMjQxLDEyICsyMzcsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAKKyAgICAgICAgICAgICAgICAgICAgICAgICMgc2VyaWFsaXplIHRoZSBkYXRhIGJlZm9yZSBhY3F1aXJpbmcgdGhlIGxvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgIG9iaiA9IEZvcmtpbmdQaWNrbGVyLmR1bXBzKG9iaikKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHdhY3F1aXJlIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZChvYmopCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZF9ieXRlcyhvYmopCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhY3F1aXJlKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmQob2JqKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kX2J5dGVzKG9iaikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmVsZWFzZSgpCiAgICAgICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CkBAIC0zNDAsNyArMzM4LDYgQEAKICAgICAgICAgICAgIHNlbGYuX3dsb2NrID0gTm9uZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fd2xvY2sgPSBMb2NrKCkKLSAgICAgICAgc2VsZi5fbWFrZV9tZXRob2RzKCkKIAogICAgIGRlZiBlbXB0eShzZWxmKToKICAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9wb2xsKCkKQEAgLTM1MSwyOSArMzQ4LDE5IEBACiAKICAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKICAgICAgICAgKHNlbGYuX3JlYWRlciwgc2VsZi5fd3JpdGVyLCBzZWxmLl9ybG9jaywgc2VsZi5fd2xvY2spID0gc3RhdGUKLSAgICAgICAgc2VsZi5fbWFrZV9tZXRob2RzKCkKIAotICAgIGRlZiBfbWFrZV9tZXRob2RzKHNlbGYpOgotICAgICAgICByZWN2ID0gc2VsZi5fcmVhZGVyLnJlY3YKLSAgICAgICAgcmFjcXVpcmUsIHJyZWxlYXNlID0gc2VsZi5fcmxvY2suYWNxdWlyZSwgc2VsZi5fcmxvY2sucmVsZWFzZQotICAgICAgICBkZWYgZ2V0KCk6Ci0gICAgICAgICAgICByYWNxdWlyZSgpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlY3YoKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBycmVsZWFzZSgpCi0gICAgICAgIHNlbGYuZ2V0ID0gZ2V0CisgICAgZGVmIGdldChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLl9ybG9jazoKKyAgICAgICAgICAgIHJlcyA9IHNlbGYuX3JlYWRlci5yZWN2X2J5dGVzKCkKKyAgICAgICAgIyB1bnNlcmlhbGl6ZSB0aGUgZGF0YSBhZnRlciBoYXZpbmcgcmVsZWFzZWQgdGhlIGxvY2sKKyAgICAgICAgcmV0dXJuIEZvcmtpbmdQaWNrbGVyLmxvYWRzKHJlcykKIAorICAgIGRlZiBwdXQoc2VsZiwgb2JqKToKKyAgICAgICAgIyBzZXJpYWxpemUgdGhlIGRhdGEgYmVmb3JlIGFjcXVpcmluZyB0aGUgbG9jaworICAgICAgICBvYmogPSBGb3JraW5nUGlja2xlci5kdW1wcyhvYmopCiAgICAgICAgIGlmIHNlbGYuX3dsb2NrIGlzIE5vbmU6CiAgICAgICAgICAgICAjIHdyaXRlcyB0byBhIG1lc3NhZ2Ugb3JpZW50ZWQgd2luMzIgcGlwZSBhcmUgYXRvbWljCi0gICAgICAgICAgICBzZWxmLnB1dCA9IHNlbGYuX3dyaXRlci5zZW5kCisgICAgICAgICAgICBzZWxmLl93cml0ZXIuc2VuZF9ieXRlcyhvYmopCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZW5kID0gc2VsZi5fd3JpdGVyLnNlbmQKLSAgICAgICAgICAgIHdhY3F1aXJlLCB3cmVsZWFzZSA9IHNlbGYuX3dsb2NrLmFjcXVpcmUsIHNlbGYuX3dsb2NrLnJlbGVhc2UKLSAgICAgICAgICAgIGRlZiBwdXQob2JqKToKLSAgICAgICAgICAgICAgICB3YWNxdWlyZSgpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VuZChvYmopCi0gICAgICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICAgICAgd3JlbGVhc2UoKQotICAgICAgICAgICAgc2VsZi5wdXQgPSBwdXQKKyAgICAgICAgICAgIHdpdGggc2VsZi5fd2xvY2s6CisgICAgICAgICAgICAgICAgc2VsZi5fd3JpdGVyLnNlbmRfYnl0ZXMob2JqKQpkaWZmIC0tZ2l0IGEvTGliL25ldHJjLnB5IGIvTGliL25ldHJjLnB5CmluZGV4IGM5NmRiNmYuLjdmZTY5ZWUgMTAwNjQ0Ci0tLSBhL0xpYi9uZXRyYy5weQorKysgYi9MaWIvbmV0cmMucHkKQEAgLTI1LDcgKzI1LDcgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBmaWxlID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bJ0hPTUUnXSwgIi5uZXRyYyIpCiAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiQ291bGQgbm90IGZpbmQgLm5ldHJjOiAkSE9NRSBpcyBub3Qgc2V0IikKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJDb3VsZCBub3QgZmluZCAubmV0cmM6ICRIT01FIGlzIG5vdCBzZXQiKQogICAgICAgICBzZWxmLmhvc3RzID0ge30KICAgICAgICAgc2VsZi5tYWNyb3MgPSB7fQogICAgICAgICB3aXRoIG9wZW4oZmlsZSkgYXMgZnA6CmRpZmYgLS1naXQgYS9MaWIvbm50cGxpYi5weSBiL0xpYi9ubnRwbGliLnB5CmluZGV4IDJkZTZlYmQuLjAxZDQzMDMgMTAwNjQ0Ci0tLSBhL0xpYi9ubnRwbGliLnB5CisrKyBiL0xpYi9ubnRwbGliLnB5CkBAIC0zNTksNyArMzU5LDcgQEAKICAgICAgICAgaWYgaXNfY29ubmVjdGVkKCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5xdWl0KCkKLSAgICAgICAgICAgIGV4Y2VwdCAoc29ja2V0LmVycm9yLCBFT0ZFcnJvcik6CisgICAgICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEVPRkVycm9yKToKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgIGlmIGlzX2Nvbm5lY3RlZCgpOgpAQCAtOTQ3LDcgKzk0Nyw3IEBACiAgICAgICAgICAgICAgICAgaWYgYXV0aDoKICAgICAgICAgICAgICAgICAgICAgdXNlciA9IGF1dGhbMF0KICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBhdXRoWzJdCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgIyBQZXJmb3JtIE5OVFAgYXV0aGVudGljYXRpb24gaWYgbmVlZGVkLgogICAgICAgICBpZiBub3QgdXNlcjoKZGlmZiAtLWdpdCBhL0xpYi9udHBhdGgucHkgYi9MaWIvbnRwYXRoLnB5CmluZGV4IDgyNmJlODcuLmQ4MWY3MjggMTAwNjQ0Ci0tLSBhL0xpYi9udHBhdGgucHkKKysrIGIvTGliL250cGF0aC5weQpAQCAtMTcsNyArMTcsNyBAQAogICAgICAgICAgICAiaXNtb3VudCIsICJleHBhbmR1c2VyIiwiZXhwYW5kdmFycyIsIm5vcm1wYXRoIiwiYWJzcGF0aCIsCiAgICAgICAgICAgICJzcGxpdHVuYyIsImN1cmRpciIsInBhcmRpciIsInNlcCIsInBhdGhzZXAiLCJkZWZwYXRoIiwiYWx0c2VwIiwKICAgICAgICAgICAgImV4dHNlcCIsImRldm51bGwiLCJyZWFscGF0aCIsInN1cHBvcnRzX3VuaWNvZGVfZmlsZW5hbWVzIiwicmVscGF0aCIsCi0gICAgICAgICAgICJzYW1lZmlsZSIsICJzYW1lb3BlbmZpbGUiLF0KKyAgICAgICAgICAgInNhbWVmaWxlIiwgInNhbWVvcGVuZmlsZSIsICJzYW1lc3RhdCIsXQogCiAjIHN0cmluZ3MgcmVwcmVzZW50aW5nIHZhcmlvdXMgcGF0aC1yZWxhdGVkIGJpdHMgYW5kIHBpZWNlcwogIyBUaGVzZSBhcmUgcHJpbWFyaWx5IGZvciBleHBvcnQ7IGludGVybmFsbHksIHRoZXkgYXJlIGhhcmRjb2RlZC4KQEAgLTMwLDkgKzMwLDYgQEAKIGRlZnBhdGggPSAnLjtDOlxcYmluJwogaWYgJ2NlJyBpbiBzeXMuYnVpbHRpbl9tb2R1bGVfbmFtZXM6CiAgICAgZGVmcGF0aCA9ICdcXFdpbmRvd3MnCi1lbGlmICdvczInIGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lczoKLSAgICAjIE9TLzIgdy8gVkFDUFAKLSAgICBhbHRzZXAgPSAnLycKIGRldm51bGwgPSAnbnVsJwogCiBkZWYgX2dldF9lbXB0eShwYXRoKToKQEAgLTMyMCwxMiArMzE3LDExIEBACiAKIGRlZiBpc2xpbmsocGF0aCk6CiAgICAgIiIiVGVzdCB3aGV0aGVyIGEgcGF0aCBpcyBhIHN5bWJvbGljIGxpbmsuCi0gICAgVGhpcyB3aWxsIGFsd2F5cyByZXR1cm4gZmFsc2UgZm9yIFdpbmRvd3MgcHJpb3IgdG8gNi4wCi0gICAgYW5kIGZvciBPUy8yLgorICAgIFRoaXMgd2lsbCBhbHdheXMgcmV0dXJuIGZhbHNlIGZvciBXaW5kb3dzIHByaW9yIHRvIDYuMC4KICAgICAiIiIKICAgICB0cnk6CiAgICAgICAgIHN0ID0gb3MubHN0YXQocGF0aCkKLSAgICBleGNlcHQgKG9zLmVycm9yLCBBdHRyaWJ1dGVFcnJvcik6CisgICAgZXhjZXB0IChPU0Vycm9yLCBBdHRyaWJ1dGVFcnJvcik6CiAgICAgICAgIHJldHVybiBGYWxzZQogICAgIHJldHVybiBzdGF0LlNfSVNMTksoc3Quc3RfbW9kZSkKIApAQCAtMzM1LDcgKzMzMSw3IEBACiAgICAgIiIiVGVzdCB3aGV0aGVyIGEgcGF0aCBleGlzdHMuICBSZXR1cm5zIFRydWUgZm9yIGJyb2tlbiBzeW1ib2xpYyBsaW5rcyIiIgogICAgIHRyeToKICAgICAgICAgc3QgPSBvcy5sc3RhdChwYXRoKQotICAgIGV4Y2VwdCAob3MuZXJyb3IsIFdpbmRvd3NFcnJvcik6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybiBGYWxzZQogICAgIHJldHVybiBUcnVlCiAKQEAgLTU4OCw3ICs1ODQsNyBAQAogICAgICAgICBpZiBwYXRoOiAjIEVtcHR5IHBhdGggbXVzdCByZXR1cm4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBwYXRoID0gX2dldGZ1bGxwYXRobmFtZShwYXRoKQotICAgICAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MgIyBCYWQgcGF0aCAtIHJldHVybiB1bmNoYW5nZWQuCiAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShwYXRoLCBieXRlcyk6CiAgICAgICAgICAgICBwYXRoID0gb3MuZ2V0Y3dkYigpCkBAIC02NTYsMjMgKzY1Miw2IEBACiAgICAgZGVmIF9nZXRmaW5hbHBhdGhuYW1lKGYpOgogICAgICAgICByZXR1cm4gbm9ybWNhc2UoYWJzcGF0aChmKSkKIAotZGVmIHNhbWVmaWxlKGYxLCBmMik6Ci0gICAgIlRlc3Qgd2hldGhlciB0d28gcGF0aG5hbWVzIHJlZmVyZW5jZSB0aGUgc2FtZSBhY3R1YWwgZmlsZSIKLSAgICByZXR1cm4gX2dldGZpbmFscGF0aG5hbWUoZjEpID09IF9nZXRmaW5hbHBhdGhuYW1lKGYyKQotCi0KLXRyeToKLSAgICBmcm9tIG50IGltcG9ydCBfZ2V0ZmlsZWluZm9ybWF0aW9uCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgIyBPbiBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcywganVzdCByZXR1cm4gdGhlIGZkIGFuZCBzZWUgdGhhdAotICAgICMgaXQgY29tcGFyZXMgZXF1YWwgaW4gc2FtZW9wZW5maWxlLgotICAgIGRlZiBfZ2V0ZmlsZWluZm9ybWF0aW9uKGZkKToKLSAgICAgICAgcmV0dXJuIGZkCi0KLWRlZiBzYW1lb3BlbmZpbGUoZjEsIGYyKToKLSAgICAiIiJUZXN0IHdoZXRoZXIgdHdvIGZpbGUgb2JqZWN0cyByZWZlcmVuY2UgdGhlIHNhbWUgZmlsZSIiIgotICAgIHJldHVybiBfZ2V0ZmlsZWluZm9ybWF0aW9uKGYxKSA9PSBfZ2V0ZmlsZWluZm9ybWF0aW9uKGYyKQotCiAKIHRyeToKICAgICAjIFRoZSBnZW5lcmljcGF0aC5pc2RpciBpbXBsZW1lbnRhdGlvbiB1c2VzIG9zLnN0YXQgYW5kIGNoZWNrcyB0aGUgbW9kZQpkaWZmIC0tZ2l0IGEvTGliL250dXJsMnBhdGgucHkgYi9MaWIvbnR1cmwycGF0aC5weQppbmRleCA1MTFkY2VjLi41YTZkNDRhIDEwMDY0NAotLS0gYS9MaWIvbnR1cmwycGF0aC5weQorKysgYi9MaWIvbnR1cmwycGF0aC5weQpAQCAtMjMsNyArMjMsNyBAQAogICAgIGNvbXAgPSB1cmwuc3BsaXQoJ3wnKQogICAgIGlmIGxlbihjb21wKSAhPSAyIG9yIGNvbXBbMF1bLTFdIG5vdCBpbiBzdHJpbmcuYXNjaWlfbGV0dGVyczoKICAgICAgICAgZXJyb3IgPSAnQmFkIFVSTDogJyArIHVybAotICAgICAgICByYWlzZSBJT0Vycm9yKGVycm9yKQorICAgICAgICByYWlzZSBPU0Vycm9yKGVycm9yKQogICAgIGRyaXZlID0gY29tcFswXVstMV0udXBwZXIoKQogICAgIGNvbXBvbmVudHMgPSBjb21wWzFdLnNwbGl0KCcvJykKICAgICBwYXRoID0gZHJpdmUgKyAnOicKQEAgLTU1LDcgKzU1LDcgQEAKICAgICBjb21wID0gcC5zcGxpdCgnOicpCiAgICAgaWYgbGVuKGNvbXApICE9IDIgb3IgbGVuKGNvbXBbMF0pID4gMToKICAgICAgICAgZXJyb3IgPSAnQmFkIHBhdGg6ICcgKyBwCi0gICAgICAgIHJhaXNlIElPRXJyb3IoZXJyb3IpCisgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJyb3IpCiAKICAgICBkcml2ZSA9IHVybGxpYi5wYXJzZS5xdW90ZShjb21wWzBdLnVwcGVyKCkpCiAgICAgY29tcG9uZW50cyA9IGNvbXBbMV0uc3BsaXQoJ1xcJykKZGlmZiAtLWdpdCBhL0xpYi9vcGVyYXRvci5weSBiL0xpYi9vcGVyYXRvci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTgxMjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL29wZXJhdG9yLnB5CkBAIC0wLDAgKzEsNDEyIEBACisjIS91c3IvYmluL2VudiBweXRob24zCisiIiIKK09wZXJhdG9yIEludGVyZmFjZQorCitUaGlzIG1vZHVsZSBleHBvcnRzIGEgc2V0IG9mIGZ1bmN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBpbnRyaW5zaWMKK29wZXJhdG9ycyBvZiBQeXRob24uICBGb3IgZXhhbXBsZSwgb3BlcmF0b3IuYWRkKHgsIHkpIGlzIGVxdWl2YWxlbnQKK3RvIHRoZSBleHByZXNzaW9uIHgreS4gIFRoZSBmdW5jdGlvbiBuYW1lcyBhcmUgdGhvc2UgdXNlZCBmb3Igc3BlY2lhbAorbWV0aG9kczsgdmFyaWFudHMgd2l0aG91dCBsZWFkaW5nIGFuZCB0cmFpbGluZyAnX18nIGFyZSBhbHNvIHByb3ZpZGVkCitmb3IgY29udmVuaWVuY2UuCisKK1RoaXMgaXMgdGhlIHB1cmUgUHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIHRoZSBtb2R1bGUuCisiIiIKKworX19hbGxfXyA9IFsnYWJzJywgJ2FkZCcsICdhbmRfJywgJ2F0dHJnZXR0ZXInLCAnY29uY2F0JywgJ2NvbnRhaW5zJywgJ2NvdW50T2YnLAorICAgICAgICAgICAnZGVsaXRlbScsICdlcScsICdmbG9vcmRpdicsICdnZScsICdnZXRpdGVtJywgJ2d0JywgJ2lhZGQnLCAnaWFuZCcsCisgICAgICAgICAgICdpY29uY2F0JywgJ2lmbG9vcmRpdicsICdpbHNoaWZ0JywgJ2ltb2QnLCAnaW11bCcsICdpbmRleCcsCisgICAgICAgICAgICdpbmRleE9mJywgJ2ludicsICdpbnZlcnQnLCAnaW9yJywgJ2lwb3cnLCAnaXJzaGlmdCcsICdpc18nLAorICAgICAgICAgICAnaXNfbm90JywgJ2lzdWInLCAnaXRlbWdldHRlcicsICdpdHJ1ZWRpdicsICdpeG9yJywgJ2xlJywKKyAgICAgICAgICAgJ2xlbmd0aF9oaW50JywgJ2xzaGlmdCcsICdsdCcsICdtZXRob2RjYWxsZXInLCAnbW9kJywgJ211bCcsICduZScsCisgICAgICAgICAgICduZWcnLCAnbm90XycsICdvcl8nLCAncG9zJywgJ3BvdycsICdyc2hpZnQnLCAnc2V0aXRlbScsICdzdWInLAorICAgICAgICAgICAndHJ1ZWRpdicsICd0cnV0aCcsICd4b3InXQorCitmcm9tIGJ1aWx0aW5zIGltcG9ydCBhYnMgYXMgX2FicworCisKKyMgQ29tcGFyaXNvbiBPcGVyYXRpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiojCisKK2RlZiBsdChhLCBiKToKKyAgICAiU2FtZSBhcyBhIDwgYi4iCisgICAgcmV0dXJuIGEgPCBiCisKK2RlZiBsZShhLCBiKToKKyAgICAiU2FtZSBhcyBhIDw9IGIuIgorICAgIHJldHVybiBhIDw9IGIKKworZGVmIGVxKGEsIGIpOgorICAgICJTYW1lIGFzIGEgPT0gYi4iCisgICAgcmV0dXJuIGEgPT0gYgorCitkZWYgbmUoYSwgYik6CisgICAgIlNhbWUgYXMgYSAhPSBiLiIKKyAgICByZXR1cm4gYSAhPSBiCisKK2RlZiBnZShhLCBiKToKKyAgICAiU2FtZSBhcyBhID49IGIuIgorICAgIHJldHVybiBhID49IGIKKworZGVmIGd0KGEsIGIpOgorICAgICJTYW1lIGFzIGEgPiBiLiIKKyAgICByZXR1cm4gYSA+IGIKKworIyBMb2dpY2FsIE9wZXJhdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiMKKworZGVmIG5vdF8oYSk6CisgICAgIlNhbWUgYXMgbm90IGEuIgorICAgIHJldHVybiBub3QgYQorCitkZWYgdHJ1dGgoYSk6CisgICAgIlJldHVybiBUcnVlIGlmIGEgaXMgdHJ1ZSwgRmFsc2Ugb3RoZXJ3aXNlLiIKKyAgICByZXR1cm4gVHJ1ZSBpZiBhIGVsc2UgRmFsc2UKKworZGVmIGlzXyhhLCBiKToKKyAgICAiU2FtZSBhcyBhIGlzIGIuIgorICAgIHJldHVybiBhIGlzIGIKKworZGVmIGlzX25vdChhLCBiKToKKyAgICAiU2FtZSBhcyBhIGlzIG5vdCBiLiIKKyAgICByZXR1cm4gYSBpcyBub3QgYgorCisjIE1hdGhlbWF0aWNhbC9CaXR3aXNlIE9wZXJhdGlvbnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIworCitkZWYgYWJzKGEpOgorICAgICJTYW1lIGFzIGFicyhhKS4iCisgICAgcmV0dXJuIF9hYnMoYSkKKworZGVmIGFkZChhLCBiKToKKyAgICAiU2FtZSBhcyBhICsgYi4iCisgICAgcmV0dXJuIGEgKyBiCisKK2RlZiBhbmRfKGEsIGIpOgorICAgICJTYW1lIGFzIGEgJiBiLiIKKyAgICByZXR1cm4gYSAmIGIKKworZGVmIGZsb29yZGl2KGEsIGIpOgorICAgICJTYW1lIGFzIGEgLy8gYi4iCisgICAgcmV0dXJuIGEgLy8gYgorCitkZWYgaW5kZXgoYSk6CisgICAgIlNhbWUgYXMgYS5fX2luZGV4X18oKS4iCisgICAgcmV0dXJuIGEuX19pbmRleF9fKCkKKworZGVmIGludihhKToKKyAgICAiU2FtZSBhcyB+YS4iCisgICAgcmV0dXJuIH5hCitpbnZlcnQgPSBpbnYKKworZGVmIGxzaGlmdChhLCBiKToKKyAgICAiU2FtZSBhcyBhIDw8IGIuIgorICAgIHJldHVybiBhIDw8IGIKKworZGVmIG1vZChhLCBiKToKKyAgICAiU2FtZSBhcyBhICUgYi4iCisgICAgcmV0dXJuIGEgJSBiCisKK2RlZiBtdWwoYSwgYik6CisgICAgIlNhbWUgYXMgYSAqIGIuIgorICAgIHJldHVybiBhICogYgorCitkZWYgbmVnKGEpOgorICAgICJTYW1lIGFzIC1hLiIKKyAgICByZXR1cm4gLWEKKworZGVmIG9yXyhhLCBiKToKKyAgICAiU2FtZSBhcyBhIHwgYi4iCisgICAgcmV0dXJuIGEgfCBiCisKK2RlZiBwb3MoYSk6CisgICAgIlNhbWUgYXMgK2EuIgorICAgIHJldHVybiArYQorCitkZWYgcG93KGEsIGIpOgorICAgICJTYW1lIGFzIGEgKiogYi4iCisgICAgcmV0dXJuIGEgKiogYgorCitkZWYgcnNoaWZ0KGEsIGIpOgorICAgICJTYW1lIGFzIGEgPj4gYi4iCisgICAgcmV0dXJuIGEgPj4gYgorCitkZWYgc3ViKGEsIGIpOgorICAgICJTYW1lIGFzIGEgLSBiLiIKKyAgICByZXR1cm4gYSAtIGIKKworZGVmIHRydWVkaXYoYSwgYik6CisgICAgIlNhbWUgYXMgYSAvIGIuIgorICAgIHJldHVybiBhIC8gYgorCitkZWYgeG9yKGEsIGIpOgorICAgICJTYW1lIGFzIGEgXiBiLiIKKyAgICByZXR1cm4gYSBeIGIKKworIyBTZXF1ZW5jZSBPcGVyYXRpb25zICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiMKKworZGVmIGNvbmNhdChhLCBiKToKKyAgICAiU2FtZSBhcyBhICsgYiwgZm9yIGEgYW5kIGIgc2VxdWVuY2VzLiIKKyAgICBpZiBub3QgaGFzYXR0cihhLCAnX19nZXRpdGVtX18nKToKKyAgICAgICAgbXNnID0gIiclcycgb2JqZWN0IGNhbid0IGJlIGNvbmNhdGVuYXRlZCIgJSB0eXBlKGEpLl9fbmFtZV9fCisgICAgICAgIHJhaXNlIFR5cGVFcnJvcihtc2cpCisgICAgcmV0dXJuIGEgKyBiCisKK2RlZiBjb250YWlucyhhLCBiKToKKyAgICAiU2FtZSBhcyBiIGluIGEgKG5vdGUgcmV2ZXJzZWQgb3BlcmFuZHMpLiIKKyAgICByZXR1cm4gYiBpbiBhCisKK2RlZiBjb3VudE9mKGEsIGIpOgorICAgICJSZXR1cm4gdGhlIG51bWJlciBvZiB0aW1lcyBiIG9jY3VycyBpbiBhLiIKKyAgICBjb3VudCA9IDAKKyAgICBmb3IgaSBpbiBhOgorICAgICAgICBpZiBpID09IGI6CisgICAgICAgICAgICBjb3VudCArPSAxCisgICAgcmV0dXJuIGNvdW50CisKK2RlZiBkZWxpdGVtKGEsIGIpOgorICAgICJTYW1lIGFzIGRlbCBhW2JdLiIKKyAgICBkZWwgYVtiXQorCitkZWYgZ2V0aXRlbShhLCBiKToKKyAgICAiU2FtZSBhcyBhW2JdLiIKKyAgICByZXR1cm4gYVtiXQorCitkZWYgaW5kZXhPZihhLCBiKToKKyAgICAiUmV0dXJuIHRoZSBmaXJzdCBpbmRleCBvZiBiIGluIGEuIgorICAgIGZvciBpLCBqIGluIGVudW1lcmF0ZShhKToKKyAgICAgICAgaWYgaiA9PSBiOgorICAgICAgICAgICAgcmV0dXJuIGkKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdzZXF1ZW5jZS5pbmRleCh4KTogeCBub3QgaW4gc2VxdWVuY2UnKQorCitkZWYgc2V0aXRlbShhLCBiLCBjKToKKyAgICAiU2FtZSBhcyBhW2JdID0gYy4iCisgICAgYVtiXSA9IGMKKworZGVmIGxlbmd0aF9oaW50KG9iaiwgZGVmYXVsdD0wKToKKyAgICAiIiIKKyAgICBSZXR1cm4gYW4gZXN0aW1hdGUgb2YgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBvYmouCisgICAgVGhpcyBpcyB1c2VmdWwgZm9yIHByZXNpemluZyBjb250YWluZXJzIHdoZW4gYnVpbGRpbmcgZnJvbSBhbiBpdGVyYWJsZS4KKworICAgIElmIHRoZSBvYmplY3Qgc3VwcG9ydHMgbGVuKCksIHRoZSByZXN1bHQgd2lsbCBiZSBleGFjdC4gT3RoZXJ3aXNlLCBpdCBtYXkKKyAgICBvdmVyLSBvciB1bmRlci1lc3RpbWF0ZSBieSBhbiBhcmJpdHJhcnkgYW1vdW50LiBUaGUgcmVzdWx0IHdpbGwgYmUgYW4KKyAgICBpbnRlZ2VyID49IDAuCisgICAgIiIiCisgICAgaWYgbm90IGlzaW5zdGFuY2UoZGVmYXVsdCwgaW50KToKKyAgICAgICAgbXNnID0gKCInJXMnIG9iamVjdCBjYW5ub3QgYmUgaW50ZXJwcmV0ZWQgYXMgYW4gaW50ZWdlciIgJQorICAgICAgICAgICAgICAgdHlwZShkZWZhdWx0KS5fX25hbWVfXykKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKG1zZykKKworICAgIHRyeToKKyAgICAgICAgcmV0dXJuIGxlbihvYmopCisgICAgZXhjZXB0IFR5cGVFcnJvcjoKKyAgICAgICAgcGFzcworCisgICAgdHJ5OgorICAgICAgICBoaW50ID0gdHlwZShvYmopLl9fbGVuZ3RoX2hpbnRfXworICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHQKKworICAgIHRyeToKKyAgICAgICAgdmFsID0gaGludChvYmopCisgICAgZXhjZXB0IFR5cGVFcnJvcjoKKyAgICAgICAgcmV0dXJuIGRlZmF1bHQKKyAgICBpZiB2YWwgaXMgTm90SW1wbGVtZW50ZWQ6CisgICAgICAgIHJldHVybiBkZWZhdWx0CisgICAgaWYgbm90IGlzaW5zdGFuY2UodmFsLCBpbnQpOgorICAgICAgICBtc2cgPSAoJ19fbGVuZ3RoX2hpbnRfXyBtdXN0IGJlIGludGVnZXIsIG5vdCAlcycgJQorICAgICAgICAgICAgICAgdHlwZSh2YWwpLl9fbmFtZV9fKQorICAgICAgICByYWlzZSBUeXBlRXJyb3IobXNnKQorICAgIGlmIHZhbCA8IDA6CisgICAgICAgIG1zZyA9ICdfX2xlbmd0aF9oaW50X18oKSBzaG91bGQgcmV0dXJuID49IDAnCisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnKQorICAgIHJldHVybiB2YWwKKworIyBHZW5lcmFsaXplZCBMb29rdXAgT2JqZWN0cyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiMKKworY2xhc3MgYXR0cmdldHRlcjoKKyAgICAiIiIKKyAgICBSZXR1cm4gYSBjYWxsYWJsZSBvYmplY3QgdGhhdCBmZXRjaGVzIHRoZSBnaXZlbiBhdHRyaWJ1dGUocykgZnJvbSBpdHMgb3BlcmFuZC4KKyAgICBBZnRlciBmPWF0dHJnZXR0ZXIoJ25hbWUnKSwgdGhlIGNhbGwgZihyKSByZXR1cm5zIHIubmFtZS4KKyAgICBBZnRlciBnPWF0dHJnZXR0ZXIoJ25hbWUnLCAnZGF0ZScpLCB0aGUgY2FsbCBnKHIpIHJldHVybnMgKHIubmFtZSwgci5kYXRlKS4KKyAgICBBZnRlciBoPWF0dHJnZXR0ZXIoJ25hbWUuZmlyc3QnLCAnbmFtZS5sYXN0JyksIHRoZSBjYWxsIGgocikgcmV0dXJucworICAgIChyLm5hbWUuZmlyc3QsIHIubmFtZS5sYXN0KS4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYXR0ciwgKmF0dHJzKToKKyAgICAgICAgaWYgbm90IGF0dHJzOgorICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXR0ciwgc3RyKToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2F0dHJpYnV0ZSBuYW1lIG11c3QgYmUgYSBzdHJpbmcnKQorICAgICAgICAgICAgbmFtZXMgPSBhdHRyLnNwbGl0KCcuJykKKyAgICAgICAgICAgIGRlZiBmdW5jKG9iaik6CisgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CisgICAgICAgICAgICAgICAgICAgIG9iaiA9IGdldGF0dHIob2JqLCBuYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiBvYmoKKyAgICAgICAgICAgIHNlbGYuX2NhbGwgPSBmdW5jCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBnZXR0ZXJzID0gdHVwbGUobWFwKGF0dHJnZXR0ZXIsIChhdHRyLCkgKyBhdHRycykpCisgICAgICAgICAgICBkZWYgZnVuYyhvYmopOgorICAgICAgICAgICAgICAgIHJldHVybiB0dXBsZShnZXR0ZXIob2JqKSBmb3IgZ2V0dGVyIGluIGdldHRlcnMpCisgICAgICAgICAgICBzZWxmLl9jYWxsID0gZnVuYworCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG9iaik6CisgICAgICAgIHJldHVybiBzZWxmLl9jYWxsKG9iaikKKworY2xhc3MgaXRlbWdldHRlcjoKKyAgICAiIiIKKyAgICBSZXR1cm4gYSBjYWxsYWJsZSBvYmplY3QgdGhhdCBmZXRjaGVzIHRoZSBnaXZlbiBpdGVtKHMpIGZyb20gaXRzIG9wZXJhbmQuCisgICAgQWZ0ZXIgZj1pdGVtZ2V0dGVyKDIpLCB0aGUgY2FsbCBmKHIpIHJldHVybnMgclsyXS4KKyAgICBBZnRlciBnPWl0ZW1nZXR0ZXIoMiw1LDMpLCB0aGUgY2FsbCBnKHIpIHJldHVybnMgKHJbMl0sIHJbNV0sIHJbM10pCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGl0ZW0sICppdGVtcyk6CisgICAgICAgIGlmIG5vdCBpdGVtczoKKyAgICAgICAgICAgIGRlZiBmdW5jKG9iaik6CisgICAgICAgICAgICAgICAgcmV0dXJuIG9ialtpdGVtXQorICAgICAgICAgICAgc2VsZi5fY2FsbCA9IGZ1bmMKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGl0ZW1zID0gKGl0ZW0sKSArIGl0ZW1zCisgICAgICAgICAgICBkZWYgZnVuYyhvYmopOgorICAgICAgICAgICAgICAgIHJldHVybiB0dXBsZShvYmpbaV0gZm9yIGkgaW4gaXRlbXMpCisgICAgICAgICAgICBzZWxmLl9jYWxsID0gZnVuYworCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIG9iaik6CisgICAgICAgIHJldHVybiBzZWxmLl9jYWxsKG9iaikKKworY2xhc3MgbWV0aG9kY2FsbGVyOgorICAgICIiIgorICAgIFJldHVybiBhIGNhbGxhYmxlIG9iamVjdCB0aGF0IGNhbGxzIHRoZSBnaXZlbiBtZXRob2Qgb24gaXRzIG9wZXJhbmQuCisgICAgQWZ0ZXIgZiA9IG1ldGhvZGNhbGxlcignbmFtZScpLCB0aGUgY2FsbCBmKHIpIHJldHVybnMgci5uYW1lKCkuCisgICAgQWZ0ZXIgZyA9IG1ldGhvZGNhbGxlcignbmFtZScsICdkYXRlJywgZm9vPTEpLCB0aGUgY2FsbCBnKHIpIHJldHVybnMKKyAgICByLm5hbWUoJ2RhdGUnLCBmb289MSkuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgaWYgbGVuKGFyZ3MpIDwgMjoKKyAgICAgICAgICAgIG1zZyA9ICJtZXRob2RjYWxsZXIgbmVlZHMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50LCB0aGUgbWV0aG9kIG5hbWUiCisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IobXNnKQorICAgICAgICBzZWxmID0gYXJnc1swXQorICAgICAgICBzZWxmLl9uYW1lID0gYXJnc1sxXQorICAgICAgICBzZWxmLl9hcmdzID0gYXJnc1syOl0KKyAgICAgICAgc2VsZi5fa3dhcmdzID0ga3dhcmdzCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgb2JqKToKKyAgICAgICAgcmV0dXJuIGdldGF0dHIob2JqLCBzZWxmLl9uYW1lKSgqc2VsZi5fYXJncywgKipzZWxmLl9rd2FyZ3MpCisKKyMgSW4tcGxhY2UgT3BlcmF0aW9ucyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiojCisKK2RlZiBpYWRkKGEsIGIpOgorICAgICJTYW1lIGFzIGEgKz0gYi4iCisgICAgYSArPSBiCisgICAgcmV0dXJuIGEKKworZGVmIGlhbmQoYSwgYik6CisgICAgIlNhbWUgYXMgYSAmPSBiLiIKKyAgICBhICY9IGIKKyAgICByZXR1cm4gYQorCitkZWYgaWNvbmNhdChhLCBiKToKKyAgICAiU2FtZSBhcyBhICs9IGIsIGZvciBhIGFuZCBiIHNlcXVlbmNlcy4iCisgICAgaWYgbm90IGhhc2F0dHIoYSwgJ19fZ2V0aXRlbV9fJyk6CisgICAgICAgIG1zZyA9ICInJXMnIG9iamVjdCBjYW4ndCBiZSBjb25jYXRlbmF0ZWQiICUgdHlwZShhKS5fX25hbWVfXworICAgICAgICByYWlzZSBUeXBlRXJyb3IobXNnKQorICAgIGEgKz0gYgorICAgIHJldHVybiBhCisKK2RlZiBpZmxvb3JkaXYoYSwgYik6CisgICAgIlNhbWUgYXMgYSAvLz0gYi4iCisgICAgYSAvLz0gYgorICAgIHJldHVybiBhCisKK2RlZiBpbHNoaWZ0KGEsIGIpOgorICAgICJTYW1lIGFzIGEgPDw9IGIuIgorICAgIGEgPDw9IGIKKyAgICByZXR1cm4gYQorCitkZWYgaW1vZChhLCBiKToKKyAgICAiU2FtZSBhcyBhICU9IGIuIgorICAgIGEgJT0gYgorICAgIHJldHVybiBhCisKK2RlZiBpbXVsKGEsIGIpOgorICAgICJTYW1lIGFzIGEgKj0gYi4iCisgICAgYSAqPSBiCisgICAgcmV0dXJuIGEKKworZGVmIGlvcihhLCBiKToKKyAgICAiU2FtZSBhcyBhIHw9IGIuIgorICAgIGEgfD0gYgorICAgIHJldHVybiBhCisKK2RlZiBpcG93KGEsIGIpOgorICAgICJTYW1lIGFzIGEgKio9IGIuIgorICAgIGEgKio9YgorICAgIHJldHVybiBhCisKK2RlZiBpcnNoaWZ0KGEsIGIpOgorICAgICJTYW1lIGFzIGEgPj49IGIuIgorICAgIGEgPj49IGIKKyAgICByZXR1cm4gYQorCitkZWYgaXN1YihhLCBiKToKKyAgICAiU2FtZSBhcyBhIC09IGIuIgorICAgIGEgLT0gYgorICAgIHJldHVybiBhCisKK2RlZiBpdHJ1ZWRpdihhLCBiKToKKyAgICAiU2FtZSBhcyBhIC89IGIuIgorICAgIGEgLz0gYgorICAgIHJldHVybiBhCisKK2RlZiBpeG9yKGEsIGIpOgorICAgICJTYW1lIGFzIGEgXj0gYi4iCisgICAgYSBePSBiCisgICAgcmV0dXJuIGEKKworCit0cnk6CisgICAgZnJvbSBfb3BlcmF0b3IgaW1wb3J0ICoKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCitlbHNlOgorICAgIGZyb20gX29wZXJhdG9yIGltcG9ydCBfX2RvY19fCisKKyMgQWxsIG9mIHRoZXNlICJfX2Z1bmNfXyA9IGZ1bmMiIGFzc2lnbm1lbnRzIGhhdmUgdG8gaGFwcGVuIGFmdGVyIGltcG9ydGluZworIyBmcm9tIF9vcGVyYXRvciB0byBtYWtlIHN1cmUgdGhleSdyZSBzZXQgdG8gdGhlIHJpZ2h0IGZ1bmN0aW9uCitfX2x0X18gPSBsdAorX19sZV9fID0gbGUKK19fZXFfXyA9IGVxCitfX25lX18gPSBuZQorX19nZV9fID0gZ2UKK19fZ3RfXyA9IGd0CitfX25vdF9fID0gbm90XworX19hYnNfXyA9IGFicworX19hZGRfXyA9IGFkZAorX19hbmRfXyA9IGFuZF8KK19fZmxvb3JkaXZfXyA9IGZsb29yZGl2CitfX2luZGV4X18gPSBpbmRleAorX19pbnZfXyA9IGludgorX19pbnZlcnRfXyA9IGludmVydAorX19sc2hpZnRfXyA9IGxzaGlmdAorX19tb2RfXyA9IG1vZAorX19tdWxfXyA9IG11bAorX19uZWdfXyA9IG5lZworX19vcl9fID0gb3JfCitfX3Bvc19fID0gcG9zCitfX3Bvd19fID0gcG93CitfX3JzaGlmdF9fID0gcnNoaWZ0CitfX3N1Yl9fID0gc3ViCitfX3RydWVkaXZfXyA9IHRydWVkaXYKK19feG9yX18gPSB4b3IKK19fY29uY2F0X18gPSBjb25jYXQKK19fY29udGFpbnNfXyA9IGNvbnRhaW5zCitfX2RlbGl0ZW1fXyA9IGRlbGl0ZW0KK19fZ2V0aXRlbV9fID0gZ2V0aXRlbQorX19zZXRpdGVtX18gPSBzZXRpdGVtCitfX2lhZGRfXyA9IGlhZGQKK19faWFuZF9fID0gaWFuZAorX19pY29uY2F0X18gPSBpY29uY2F0CitfX2lmbG9vcmRpdl9fID0gaWZsb29yZGl2CitfX2lsc2hpZnRfXyA9IGlsc2hpZnQKK19faW1vZF9fID0gaW1vZAorX19pbXVsX18gPSBpbXVsCitfX2lvcl9fID0gaW9yCitfX2lwb3dfXyA9IGlwb3cKK19faXJzaGlmdF9fID0gaXJzaGlmdAorX19pc3ViX18gPSBpc3ViCitfX2l0cnVlZGl2X18gPSBpdHJ1ZWRpdgorX19peG9yX18gPSBpeG9yCmRpZmYgLS1naXQgYS9MaWIvb3MucHkgYi9MaWIvb3MucHkKaW5kZXggMDY2MTZjNi4uMTJkODBlZSAxMDA2NDQKLS0tIGEvTGliL29zLnB5CisrKyBiL0xpYi9vcy5weQpAQCAtMSw5ICsxLDkgQEAKIHIiIiJPUyByb3V0aW5lcyBmb3IgTWFjLCBOVCwgb3IgUG9zaXggZGVwZW5kaW5nIG9uIHdoYXQgc3lzdGVtIHdlJ3JlIG9uLgogCiBUaGlzIGV4cG9ydHM6Ci0gIC0gYWxsIGZ1bmN0aW9ucyBmcm9tIHBvc2l4LCBudCwgb3MyLCBvciBjZSwgZS5nLiB1bmxpbmssIHN0YXQsIGV0Yy4KKyAgLSBhbGwgZnVuY3Rpb25zIGZyb20gcG9zaXgsIG50IG9yIGNlLCBlLmcuIHVubGluaywgc3RhdCwgZXRjLgogICAtIG9zLnBhdGggaXMgZWl0aGVyIHBvc2l4cGF0aCBvciBudHBhdGgKLSAgLSBvcy5uYW1lIGlzIGVpdGhlciAncG9zaXgnLCAnbnQnLCAnb3MyJyBvciAnY2UnLgorICAtIG9zLm5hbWUgaXMgZWl0aGVyICdwb3NpeCcsICdudCcgb3IgJ2NlJy4KICAgLSBvcy5jdXJkaXIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeSAoJy4nIG9yICc6JykKICAgLSBvcy5wYXJkaXIgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBwYXJlbnQgZGlyZWN0b3J5ICgnLi4nIG9yICc6OicpCiAgIC0gb3Muc2VwIGlzIHRoZSAob3IgYSBtb3N0IGNvbW1vbikgcGF0aG5hbWUgc2VwYXJhdG9yICgnLycgb3IgJzonIG9yICdcXCcpCkBAIC04MSwzMCArODEsNiBAQAogICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgcGFzcwogCi1lbGlmICdvczInIGluIF9uYW1lczoKLSAgICBuYW1lID0gJ29zMicKLSAgICBsaW5lc2VwID0gJ1xyXG4nCi0gICAgZnJvbSBvczIgaW1wb3J0ICoKLSAgICB0cnk6Ci0gICAgICAgIGZyb20gb3MyIGltcG9ydCBfZXhpdAotICAgICAgICBfX2FsbF9fLmFwcGVuZCgnX2V4aXQnKQotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgcGFzcwotICAgIGlmIHN5cy52ZXJzaW9uLmZpbmQoJ0VNWCBHQ0MnKSA9PSAtMToKLSAgICAgICAgaW1wb3J0IG50cGF0aCBhcyBwYXRoCi0gICAgZWxzZToKLSAgICAgICAgaW1wb3J0IG9zMmVteHBhdGggYXMgcGF0aAotICAgICAgICBmcm9tIF9lbXhfbGluayBpbXBvcnQgbGluawotCi0gICAgaW1wb3J0IG9zMgotICAgIF9fYWxsX18uZXh0ZW5kKF9nZXRfZXhwb3J0c19saXN0KG9zMikpCi0gICAgZGVsIG9zMgotCi0gICAgdHJ5OgotICAgICAgICBmcm9tIG9zMiBpbXBvcnQgX2hhdmVfZnVuY3Rpb25zCi0gICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICBwYXNzCi0KIGVsaWYgJ2NlJyBpbiBfbmFtZXM6CiAgICAgbmFtZSA9ICdjZScKICAgICBsaW5lc2VwID0gJ1xyXG4nCkBAIC0yNTYsMTAgKzIzMiw5IEBACiAgICAgaWYgaGVhZCBhbmQgdGFpbCBhbmQgbm90IHBhdGguZXhpc3RzKGhlYWQpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBtYWtlZGlycyhoZWFkLCBtb2RlLCBleGlzdF9vaykKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKICAgICAgICAgICAgICMgYmUgaGFwcHkgaWYgc29tZW9uZSBhbHJlYWR5IGNyZWF0ZWQgdGhlIHBhdGgKLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBwYXNzCiAgICAgICAgIGNkaXIgPSBjdXJkaXIKICAgICAgICAgaWYgaXNpbnN0YW5jZSh0YWlsLCBieXRlcyk6CiAgICAgICAgICAgICBjZGlyID0gYnl0ZXMoY3VyZGlyLCAnQVNDSUknKQpAQCAtMzAyLDcgKzI3Nyw3IEBACiAgICAgd2hpbGUgaGVhZCBhbmQgdGFpbDoKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcm1kaXIoaGVhZCkKLSAgICAgICAgZXhjZXB0IGVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIGhlYWQsIHRhaWwgPSBwYXRoLnNwbGl0KGhlYWQpCiAKQEAgLTMyOSw3ICszMDQsNyBAQAogICAgIGlmIGhlYWQgYW5kIHRhaWw6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJlbW92ZWRpcnMoaGVhZCkKLSAgICAgICAgZXhjZXB0IGVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKIAogX19hbGxfXy5leHRlbmQoWyJtYWtlZGlycyIsICJyZW1vdmVkaXJzIiwgInJlbmFtZXMiXSkKQEAgLTM2NSw3ICszNDAsNyBAQAogCiAgICAgQnkgZGVmYXVsdCBlcnJvcnMgZnJvbSB0aGUgb3MubGlzdGRpcigpIGNhbGwgYXJlIGlnbm9yZWQuICBJZgogICAgIG9wdGlvbmFsIGFyZyAnb25lcnJvcicgaXMgc3BlY2lmaWVkLCBpdCBzaG91bGQgYmUgYSBmdW5jdGlvbjsgaXQKLSAgICB3aWxsIGJlIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCwgYW4gb3MuZXJyb3IgaW5zdGFuY2UuICBJdCBjYW4KKyAgICB3aWxsIGJlIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCwgYW4gT1NFcnJvciBpbnN0YW5jZS4gIEl0IGNhbgogICAgIHJlcG9ydCB0aGUgZXJyb3IgdG8gY29udGludWUgd2l0aCB0aGUgd2Fsaywgb3IgcmFpc2UgdGhlIGV4Y2VwdGlvbgogICAgIHRvIGFib3J0IHRoZSB3YWxrLiAgTm90ZSB0aGF0IHRoZSBmaWxlbmFtZSBpcyBhdmFpbGFibGUgYXMgdGhlCiAgICAgZmlsZW5hbWUgYXR0cmlidXRlIG9mIHRoZSBleGNlcHRpb24gb2JqZWN0LgpAQCAtMzk5LDEwICszNzQsMTAgQEAKICAgICAjIG1pbm9yIHJlYXNvbiB3aGVuIChzYXkpIGEgdGhvdXNhbmQgcmVhZGFibGUgZGlyZWN0b3JpZXMgYXJlIHN0aWxsCiAgICAgIyBsZWZ0IHRvIHZpc2l0LiAgVGhhdCBsb2dpYyBpcyBjb3BpZWQgaGVyZS4KICAgICB0cnk6Ci0gICAgICAgICMgTm90ZSB0aGF0IGxpc3RkaXIgYW5kIGVycm9yIGFyZSBnbG9iYWxzIGluIHRoaXMgbW9kdWxlIGR1ZQorICAgICAgICAjIE5vdGUgdGhhdCBsaXN0ZGlyIGlzIGdsb2JhbCBpbiB0aGlzIG1vZHVsZSBkdWUKICAgICAgICAgIyB0byBlYXJsaWVyIGltcG9ydC0qLgogICAgICAgICBuYW1lcyA9IGxpc3RkaXIodG9wKQotICAgIGV4Y2VwdCBlcnJvciBhcyBlcnI6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICBpZiBvbmVycm9yIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgb25lcnJvcihlcnIpCiAgICAgICAgIHJldHVybgpAQCAtNTA0LDcgKzQ3OSw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3JpZ19zdCA9IHN0YXQobmFtZSwgZGlyX2ZkPXRvcGZkLCBmb2xsb3dfc3ltbGlua3M9Zm9sbG93X3N5bWxpbmtzKQogICAgICAgICAgICAgICAgIGRpcmZkID0gb3BlbihuYW1lLCBPX1JET05MWSwgZGlyX2ZkPXRvcGZkKQotICAgICAgICAgICAgZXhjZXB0IGVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICBpZiBvbmVycm9yIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICBvbmVycm9yKGVycikKICAgICAgICAgICAgICAgICByZXR1cm4KQEAgLTU5OSw3ICs1NzQsNyBAQAogICAgICAgICBmdWxsbmFtZSA9IHBhdGguam9pbihkaXIsIGZpbGUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGV4ZWNfZnVuYyhmdWxsbmFtZSwgKmFyZ3Jlc3QpCi0gICAgICAgIGV4Y2VwdCBlcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgbGFzdF9leGMgPSBlCiAgICAgICAgICAgICB0YiA9IHN5cy5leGNfaW5mbygpWzJdCiAgICAgICAgICAgICBpZiAoZS5lcnJubyAhPSBlcnJuby5FTk9FTlQgYW5kIGUuZXJybm8gIT0gZXJybm8uRU5PVERJUgpAQCAtNzI2LDcgKzcwMSw3IEBACiAgICAgX19hbGxfXy5hcHBlbmQoInVuc2V0ZW52IikKIAogZGVmIF9jcmVhdGVlbnZpcm9uKCk6Ci0gICAgaWYgbmFtZSBpbiAoJ29zMicsICdudCcpOgorICAgIGlmIG5hbWUgPT0gJ250JzoKICAgICAgICAgIyBXaGVyZSBFbnYgVmFyIE5hbWVzIE11c3QgQmUgVVBQRVJDQVNFCiAgICAgICAgIGRlZiBjaGVja19zdHIodmFsdWUpOgogICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIHN0cik6CkBAIC03NjYsNyArNzQxLDcgQEAKICAgICBrZXksIGRlZmF1bHQgYW5kIHRoZSByZXN1bHQgYXJlIHN0ci4iIiIKICAgICByZXR1cm4gZW52aXJvbi5nZXQoa2V5LCBkZWZhdWx0KQogCi1zdXBwb3J0c19ieXRlc19lbnZpcm9uID0gbmFtZSBub3QgaW4gKCdvczInLCAnbnQnKQorc3VwcG9ydHNfYnl0ZXNfZW52aXJvbiA9IChuYW1lICE9ICdudCcpCiBfX2FsbF9fLmV4dGVuZCgoImdldGVudiIsICJzdXBwb3J0c19ieXRlc19lbnZpcm9uIikpCiAKIGlmIHN1cHBvcnRzX2J5dGVzX2Vudmlyb246CkBAIC04NjUsNyArODQwLDcgQEAKICAgICAgICAgICAgICAgICBlbGlmIFdJRkVYSVRFRChzdHMpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gV0VYSVRTVEFUVVMoc3RzKQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIGVycm9yKCJOb3Qgc3RvcHBlZCwgc2lnbmFsZWQgb3IgZXhpdGVkPz8/IikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiTm90IHN0b3BwZWQsIHNpZ25hbGVkIG9yIGV4aXRlZD8/PyIpCiAKICAgICBkZWYgc3Bhd252KG1vZGUsIGZpbGUsIGFyZ3MpOgogICAgICAgICAiIiJzcGF3bnYobW9kZSwgZmlsZSwgYXJncykgLT4gaW50ZWdlcgpkaWZmIC0tZ2l0IGEvTGliL29zMmVteHBhdGgucHkgYi9MaWIvb3MyZW14cGF0aC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGNjYmY4YS4uMDAwMDAwMAotLS0gYS9MaWIvb3MyZW14cGF0aC5weQorKysgL2Rldi9udWxsCkBAIC0xLDE1OCArMCwwIEBACi0jIE1vZHVsZSAnb3MyZW14cGF0aCcgLS0gY29tbW9uIG9wZXJhdGlvbnMgb24gT1MvMiBwYXRobmFtZXMKLSIiIkNvbW1vbiBwYXRobmFtZSBtYW5pcHVsYXRpb25zLCBPUy8yIEVNWCB2ZXJzaW9uLgotCi1JbnN0ZWFkIG9mIGltcG9ydGluZyB0aGlzIG1vZHVsZSBkaXJlY3RseSwgaW1wb3J0IG9zIGFuZCByZWZlciB0byB0aGlzCi1tb2R1bGUgYXMgb3MucGF0aC4KLSIiIgotCi1pbXBvcnQgb3MKLWltcG9ydCBzdGF0Ci1mcm9tIGdlbmVyaWNwYXRoIGltcG9ydCAqCi1mcm9tIG50cGF0aCBpbXBvcnQgKGV4cGFuZHVzZXIsIGV4cGFuZHZhcnMsIGlzYWJzLCBpc2xpbmssIHNwbGl0ZHJpdmUsCi0gICAgICAgICAgICAgICAgICAgIHNwbGl0ZXh0LCBzcGxpdCkKLQotX19hbGxfXyA9IFsibm9ybWNhc2UiLCJpc2FicyIsImpvaW4iLCJzcGxpdGRyaXZlIiwic3BsaXQiLCJzcGxpdGV4dCIsCi0gICAgICAgICAgICJiYXNlbmFtZSIsImRpcm5hbWUiLCJjb21tb25wcmVmaXgiLCJnZXRzaXplIiwiZ2V0bXRpbWUiLAotICAgICAgICAgICAiZ2V0YXRpbWUiLCJnZXRjdGltZSIsICJpc2xpbmsiLCJleGlzdHMiLCJsZXhpc3RzIiwiaXNkaXIiLCJpc2ZpbGUiLAotICAgICAgICAgICAiaXNtb3VudCIsImV4cGFuZHVzZXIiLCJleHBhbmR2YXJzIiwibm9ybXBhdGgiLCJhYnNwYXRoIiwKLSAgICAgICAgICAgInNwbGl0dW5jIiwiY3VyZGlyIiwicGFyZGlyIiwic2VwIiwicGF0aHNlcCIsImRlZnBhdGgiLCJhbHRzZXAiLAotICAgICAgICAgICAiZXh0c2VwIiwiZGV2bnVsbCIsInJlYWxwYXRoIiwic3VwcG9ydHNfdW5pY29kZV9maWxlbmFtZXMiXQotCi0jIHN0cmluZ3MgcmVwcmVzZW50aW5nIHZhcmlvdXMgcGF0aC1yZWxhdGVkIGJpdHMgYW5kIHBpZWNlcwotY3VyZGlyID0gJy4nCi1wYXJkaXIgPSAnLi4nCi1leHRzZXAgPSAnLicKLXNlcCA9ICcvJwotYWx0c2VwID0gJ1xcJwotcGF0aHNlcCA9ICc7JwotZGVmcGF0aCA9ICcuO0M6XFxiaW4nCi1kZXZudWxsID0gJ251bCcKLQotIyBOb3JtYWxpemUgdGhlIGNhc2Ugb2YgYSBwYXRobmFtZSBhbmQgbWFwIHNsYXNoZXMgdG8gYmFja3NsYXNoZXMuCi0jIE90aGVyIG5vcm1hbGl6YXRpb25zIChzdWNoIGFzIG9wdGltaXppbmcgJy4uLycgYXdheSkgYXJlIG5vdCBkb25lCi0jICh0aGlzIGlzIGRvbmUgYnkgbm9ybXBhdGgpLgotCi1kZWYgbm9ybWNhc2Uocyk6Ci0gICAgIiIiTm9ybWFsaXplIGNhc2Ugb2YgcGF0aG5hbWUuCi0KLSAgICBNYWtlcyBhbGwgY2hhcmFjdGVycyBsb3dlcmNhc2UgYW5kIGFsbCBhbHRzZXBzIGludG8gc2Vwcy4iIiIKLSAgICBpZiBub3QgaXNpbnN0YW5jZShzLCAoYnl0ZXMsIHN0cikpOgotICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vcm1jYXNlKCkgYXJndW1lbnQgbXVzdCBiZSBzdHIgb3IgYnl0ZXMsICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJub3QgJ3t9JyIuZm9ybWF0KHMuX19jbGFzc19fLl9fbmFtZV9fKSkKLSAgICByZXR1cm4gcy5yZXBsYWNlKCdcXCcsICcvJykubG93ZXIoKQotCi0KLSMgSm9pbiB0d28gKG9yIG1vcmUpIHBhdGhzLgotCi1kZWYgam9pbihhLCAqcCk6Ci0gICAgIiIiSm9pbiB0d28gb3IgbW9yZSBwYXRobmFtZSBjb21wb25lbnRzLCBpbnNlcnRpbmcgc2VwIGFzIG5lZWRlZCIiIgotICAgIHBhdGggPSBhCi0gICAgZm9yIGIgaW4gcDoKLSAgICAgICAgaWYgaXNhYnMoYik6Ci0gICAgICAgICAgICBwYXRoID0gYgotICAgICAgICBlbGlmIHBhdGggPT0gJycgb3IgcGF0aFstMTpdIGluICcvXFw6JzoKLSAgICAgICAgICAgIHBhdGggPSBwYXRoICsgYgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcGF0aCA9IHBhdGggKyAnLycgKyBiCi0gICAgcmV0dXJuIHBhdGgKLQotCi0jIFBhcnNlIFVOQyBwYXRocwotZGVmIHNwbGl0dW5jKHApOgotICAgICIiIlNwbGl0IGEgcGF0aG5hbWUgaW50byBVTkMgbW91bnQgcG9pbnQgYW5kIHJlbGF0aXZlIHBhdGggc3BlY2lmaWVycy4KLQotICAgIFJldHVybiBhIDItdHVwbGUgKHVuYywgcmVzdCk7IGVpdGhlciBwYXJ0IG1heSBiZSBlbXB0eS4KLSAgICBJZiB1bmMgaXMgbm90IGVtcHR5LCBpdCBoYXMgdGhlIGZvcm0gJy8vaG9zdC9tb3VudCcgKG9yIHNpbWlsYXIKLSAgICB1c2luZyBiYWNrc2xhc2hlcykuICB1bmMrcmVzdCBpcyBhbHdheXMgdGhlIGlucHV0IHBhdGguCi0gICAgUGF0aHMgY29udGFpbmluZyBkcml2ZSBsZXR0ZXJzIG5ldmVyIGhhdmUgYW4gVU5DIHBhcnQuCi0gICAgIiIiCi0gICAgaWYgcFsxOjJdID09ICc6JzoKLSAgICAgICAgcmV0dXJuICcnLCBwICMgRHJpdmUgbGV0dGVyIHByZXNlbnQKLSAgICBmaXJzdFR3byA9IHBbMDoyXQotICAgIGlmIGZpcnN0VHdvID09ICcvJyAqIDIgb3IgZmlyc3RUd28gPT0gJ1xcJyAqIDI6Ci0gICAgICAgICMgaXMgYSBVTkMgcGF0aDoKLSAgICAgICAgIyB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2diBlcXVpdmFsZW50IHRvIGRyaXZlIGxldHRlcgotICAgICAgICAjIFxcbWFjaGluZVxtb3VudHBvaW50XGRpcmVjdG9yaWVzLi4uCi0gICAgICAgICMgICAgICAgICAgIGRpcmVjdG9yeSBeXl5eXl5eXl5eXl5eXl4KLSAgICAgICAgbm9ybXAgPSBub3JtY2FzZShwKQotICAgICAgICBpbmRleCA9IG5vcm1wLmZpbmQoJy8nLCAyKQotICAgICAgICBpZiBpbmRleCA9PSAtMToKLSAgICAgICAgICAgICMjcmFpc2UgUnVudGltZUVycm9yLCAnaWxsZWdhbCBVTkMgcGF0aDogIicgKyBwICsgJyInCi0gICAgICAgICAgICByZXR1cm4gKCIiLCBwKQotICAgICAgICBpbmRleCA9IG5vcm1wLmZpbmQoJy8nLCBpbmRleCArIDEpCi0gICAgICAgIGlmIGluZGV4ID09IC0xOgotICAgICAgICAgICAgaW5kZXggPSBsZW4ocCkKLSAgICAgICAgcmV0dXJuIHBbOmluZGV4XSwgcFtpbmRleDpdCi0gICAgcmV0dXJuICcnLCBwCi0KLQotIyBSZXR1cm4gdGhlIHRhaWwgKGJhc2VuYW1lKSBwYXJ0IG9mIGEgcGF0aC4KLQotZGVmIGJhc2VuYW1lKHApOgotICAgICIiIlJldHVybnMgdGhlIGZpbmFsIGNvbXBvbmVudCBvZiBhIHBhdGhuYW1lIiIiCi0gICAgcmV0dXJuIHNwbGl0KHApWzFdCi0KLQotIyBSZXR1cm4gdGhlIGhlYWQgKGRpcm5hbWUpIHBhcnQgb2YgYSBwYXRoLgotCi1kZWYgZGlybmFtZShwKToKLSAgICAiIiJSZXR1cm5zIHRoZSBkaXJlY3RvcnkgY29tcG9uZW50IG9mIGEgcGF0aG5hbWUiIiIKLSAgICByZXR1cm4gc3BsaXQocClbMF0KLQotCi0jIGFsaWFzIGV4aXN0cyB0byBsZXhpc3RzCi1sZXhpc3RzID0gZXhpc3RzCi0KLQotIyBJcyBhIHBhdGggYSBkaXJlY3Rvcnk/Ci0KLSMgSXMgYSBwYXRoIGEgbW91bnQgcG9pbnQ/ICBFaXRoZXIgYSByb290ICh3aXRoIG9yIHdpdGhvdXQgZHJpdmUgbGV0dGVyKQotIyBvciBhbiBVTkMgcGF0aCB3aXRoIGF0IG1vc3QgYSAvIG9yIFwgYWZ0ZXIgdGhlIG1vdW50IHBvaW50LgotCi1kZWYgaXNtb3VudChwYXRoKToKLSAgICAiIiJUZXN0IHdoZXRoZXIgYSBwYXRoIGlzIGEgbW91bnQgcG9pbnQgKGRlZmluZWQgYXMgcm9vdCBvZiBkcml2ZSkiIiIKLSAgICB1bmMsIHJlc3QgPSBzcGxpdHVuYyhwYXRoKQotICAgIGlmIHVuYzoKLSAgICAgICAgcmV0dXJuIHJlc3QgaW4gKCIiLCAiLyIsICJcXCIpCi0gICAgcCA9IHNwbGl0ZHJpdmUocGF0aClbMV0KLSAgICByZXR1cm4gbGVuKHApID09IDEgYW5kIHBbMF0gaW4gJy9cXCcKLQotCi0jIE5vcm1hbGl6ZSBhIHBhdGgsIGUuZy4gQS8vQiwgQS8uL0IgYW5kIEEvZm9vLy4uL0IgYWxsIGJlY29tZSBBL0IuCi0KLWRlZiBub3JtcGF0aChwYXRoKToKLSAgICAiIiJOb3JtYWxpemUgcGF0aCwgZWxpbWluYXRpbmcgZG91YmxlIHNsYXNoZXMsIGV0Yy4iIiIKLSAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCdcXCcsICcvJykKLSAgICBwcmVmaXgsIHBhdGggPSBzcGxpdGRyaXZlKHBhdGgpCi0gICAgd2hpbGUgcGF0aFs6MV0gPT0gJy8nOgotICAgICAgICBwcmVmaXggPSBwcmVmaXggKyAnLycKLSAgICAgICAgcGF0aCA9IHBhdGhbMTpdCi0gICAgY29tcHMgPSBwYXRoLnNwbGl0KCcvJykKLSAgICBpID0gMAotICAgIHdoaWxlIGkgPCBsZW4oY29tcHMpOgotICAgICAgICBpZiBjb21wc1tpXSA9PSAnLic6Ci0gICAgICAgICAgICBkZWwgY29tcHNbaV0KLSAgICAgICAgZWxpZiBjb21wc1tpXSA9PSAnLi4nIGFuZCBpID4gMCBhbmQgY29tcHNbaS0xXSBub3QgaW4gKCcnLCAnLi4nKToKLSAgICAgICAgICAgIGRlbCBjb21wc1tpLTE6aSsxXQotICAgICAgICAgICAgaSA9IGkgLSAxCi0gICAgICAgIGVsaWYgY29tcHNbaV0gPT0gJycgYW5kIGkgPiAwIGFuZCBjb21wc1tpLTFdICE9ICcnOgotICAgICAgICAgICAgZGVsIGNvbXBzW2ldCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpID0gaSArIDEKLSAgICAjIElmIHRoZSBwYXRoIGlzIG5vdyBlbXB0eSwgc3Vic3RpdHV0ZSAnLicKLSAgICBpZiBub3QgcHJlZml4IGFuZCBub3QgY29tcHM6Ci0gICAgICAgIGNvbXBzLmFwcGVuZCgnLicpCi0gICAgcmV0dXJuIHByZWZpeCArICcvJy5qb2luKGNvbXBzKQotCi0KLSMgUmV0dXJuIGFuIGFic29sdXRlIHBhdGguCi1kZWYgYWJzcGF0aChwYXRoKToKLSAgICAiIiJSZXR1cm4gdGhlIGFic29sdXRlIHZlcnNpb24gb2YgYSBwYXRoIiIiCi0gICAgaWYgbm90IGlzYWJzKHBhdGgpOgotICAgICAgICBwYXRoID0gam9pbihvcy5nZXRjd2QoKSwgcGF0aCkKLSAgICByZXR1cm4gbm9ybXBhdGgocGF0aCkKLQotIyByZWFscGF0aCBpcyBhIG5vLW9wIG9uIHN5c3RlbXMgd2l0aG91dCBpc2xpbmsgc3VwcG9ydAotcmVhbHBhdGggPSBhYnNwYXRoCi0KLXN1cHBvcnRzX3VuaWNvZGVfZmlsZW5hbWVzID0gRmFsc2UKZGlmZiAtLWdpdCBhL0xpYi9wZGIucHkgYi9MaWIvcGRiLnB5CmluZGV4IGU2ZDdmOGYuLmU1NTk2ZTUgMTAwNzU1Ci0tLSBhL0xpYi9wZGIucHkKKysrIGIvTGliL3BkYi5weQpAQCAtOTIsNyArOTIsNyBAQAogICAgIGNyZSA9IHJlLmNvbXBpbGUocidkZWZccyslc1xzKlsoXScgJSByZS5lc2NhcGUoZnVuY25hbWUpKQogICAgIHRyeToKICAgICAgICAgZnAgPSBvcGVuKGZpbGVuYW1lKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gTm9uZQogICAgICMgY29uc3VtZXIgb2YgdGhpcyBpbmZvIGV4cGVjdHMgdGhlIGZpcnN0IGxpbmUgdG8gYmUgMQogICAgIGxpbmVubyA9IDEKQEAgLTE3MCwxMiArMTcwLDEyIEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihlbnZIb21lLCAiLnBkYnJjIikpIGFzIHJjRmlsZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5yY0xpbmVzLmV4dGVuZChyY0ZpbGUpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgd2l0aCBvcGVuKCIucGRicmMiKSBhcyByY0ZpbGU6CiAgICAgICAgICAgICAgICAgc2VsZi5yY0xpbmVzLmV4dGVuZChyY0ZpbGUpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICBzZWxmLmNvbW1hbmRzID0ge30gIyBhc3NvY2lhdGVzIGEgY29tbWFuZCBsaXN0IHRvIGJyZWFrcG9pbnQgbnVtYmVycwpAQCAtMTI0MSw3ICsxMjQxLDcgQEAKICAgICAgICAgYnJlYWtsaXN0ID0gc2VsZi5nZXRfZmlsZV9icmVha3MoZmlsZW5hbWUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGxpbmVzLCBsaW5lbm8gPSBnZXRzb3VyY2VsaW5lcyhzZWxmLmN1cmZyYW1lKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgIHNlbGYuZXJyb3IoZXJyKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHNlbGYuX3ByaW50X2xpbmVzKGxpbmVzLCBsaW5lbm8sIGJyZWFrbGlzdCwgc2VsZi5jdXJmcmFtZSkKQEAgLTEyNTcsNyArMTI1Nyw3IEBACiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbGluZXMsIGxpbmVubyA9IGdldHNvdXJjZWxpbmVzKG9iaikKLSAgICAgICAgZXhjZXB0IChJT0Vycm9yLCBUeXBlRXJyb3IpIGFzIGVycjoKKyAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBUeXBlRXJyb3IpIGFzIGVycjoKICAgICAgICAgICAgIHNlbGYuZXJyb3IoZXJyKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHNlbGYuX3ByaW50X2xpbmVzKGxpbmVzLCBsaW5lbm8pCmRpZmYgLS1naXQgYS9MaWIvcGlja2xlLnB5IGIvTGliL3BpY2tsZS5weQppbmRleCAxZDgxODVjLi5iM2I3NzVmIDEwMDY0NAotLS0gYS9MaWIvcGlja2xlLnB5CisrKyBiL0xpYi9waWNrbGUucHkKQEAgLTI2LDkgKzI2LDEwIEBACiBmcm9tIHR5cGVzIGltcG9ydCBGdW5jdGlvblR5cGUsIEJ1aWx0aW5GdW5jdGlvblR5cGUKIGZyb20gY29weXJlZyBpbXBvcnQgZGlzcGF0Y2hfdGFibGUKIGZyb20gY29weXJlZyBpbXBvcnQgX2V4dGVuc2lvbl9yZWdpc3RyeSwgX2ludmVydGVkX3JlZ2lzdHJ5LCBfZXh0ZW5zaW9uX2NhY2hlCi1pbXBvcnQgbWFyc2hhbAorZnJvbSBpdGVydG9vbHMgaW1wb3J0IGlzbGljZQogaW1wb3J0IHN5cwotaW1wb3J0IHN0cnVjdAorZnJvbSBzeXMgaW1wb3J0IG1heHNpemUKK2Zyb20gc3RydWN0IGltcG9ydCBwYWNrLCB1bnBhY2sKIGltcG9ydCByZQogaW1wb3J0IGlvCiBpbXBvcnQgY29kZWNzCkBAIC01OCwxMSArNTksNiBAQAogIyB0aGVyZSBhcmUgdG9vIG1hbnkgaXNzdWVzIHdpdGggdGhhdC4KIERFRkFVTFRfUFJPVE9DT0wgPSAzCiAKLSMgV2h5IHVzZSBzdHJ1Y3QucGFjaygpIGZvciBwaWNrbGluZyBidXQgbWFyc2hhbC5sb2FkcygpIGZvcgotIyB1bnBpY2tsaW5nPyAgc3RydWN0LnBhY2soKSBpcyA0MCUgZmFzdGVyIHRoYW4gbWFyc2hhbC5kdW1wcygpLCBidXQKLSMgbWFyc2hhbC5sb2FkcygpIGlzIHR3aWNlIGFzIGZhc3QgYXMgc3RydWN0LnVucGFjaygpIQotbWxvYWRzID0gbWFyc2hhbC5sb2FkcwotCiBjbGFzcyBQaWNrbGVFcnJvcihFeGNlcHRpb24pOgogICAgICIiIkEgY29tbW9uIGJhc2UgY2xhc3MgZm9yIHRoZSBvdGhlciBwaWNrbGluZyBleGNlcHRpb25zLiIiIgogICAgIHBhc3MKQEAgLTIzMSw3ICsyMjcsNyBAQAogICAgICAgICAgICAgcmFpc2UgUGlja2xpbmdFcnJvcigiUGlja2xlci5fX2luaXRfXygpIHdhcyBub3QgY2FsbGVkIGJ5ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzLl9faW5pdF9fKCkiICUgKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCkpCiAgICAgICAgIGlmIHNlbGYucHJvdG8gPj0gMjoKLSAgICAgICAgICAgIHNlbGYud3JpdGUoUFJPVE8gKyBieXRlcyhbc2VsZi5wcm90b10pKQorICAgICAgICAgICAgc2VsZi53cml0ZShQUk9UTyArIHBhY2soIjxCIiwgc2VsZi5wcm90bykpCiAgICAgICAgIHNlbGYuc2F2ZShvYmopCiAgICAgICAgIHNlbGYud3JpdGUoU1RPUCkKIApAQCAtMjU4LDIwICsyNTQsMjAgQEAKICAgICAgICAgc2VsZi5tZW1vW2lkKG9iaildID0gbWVtb19sZW4sIG9iagogCiAgICAgIyBSZXR1cm4gYSBQVVQgKEJJTlBVVCwgTE9OR19CSU5QVVQpIG9wY29kZSBzdHJpbmcsIHdpdGggYXJndW1lbnQgaS4KLSAgICBkZWYgcHV0KHNlbGYsIGksIHBhY2s9c3RydWN0LnBhY2spOgorICAgIGRlZiBwdXQoc2VsZiwgaSk6CiAgICAgICAgIGlmIHNlbGYuYmluOgogICAgICAgICAgICAgaWYgaSA8IDI1NjoKLSAgICAgICAgICAgICAgICByZXR1cm4gQklOUFVUICsgYnl0ZXMoW2ldKQorICAgICAgICAgICAgICAgIHJldHVybiBCSU5QVVQgKyBwYWNrKCI8QiIsIGkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBMT05HX0JJTlBVVCArIHBhY2soIjxJIiwgaSkKIAogICAgICAgICByZXR1cm4gUFVUICsgcmVwcihpKS5lbmNvZGUoImFzY2lpIikgKyBiJ1xuJwogCiAgICAgIyBSZXR1cm4gYSBHRVQgKEJJTkdFVCwgTE9OR19CSU5HRVQpIG9wY29kZSBzdHJpbmcsIHdpdGggYXJndW1lbnQgaS4KLSAgICBkZWYgZ2V0KHNlbGYsIGksIHBhY2s9c3RydWN0LnBhY2spOgorICAgIGRlZiBnZXQoc2VsZiwgaSk6CiAgICAgICAgIGlmIHNlbGYuYmluOgogICAgICAgICAgICAgaWYgaSA8IDI1NjoKLSAgICAgICAgICAgICAgICByZXR1cm4gQklOR0VUICsgYnl0ZXMoW2ldKQorICAgICAgICAgICAgICAgIHJldHVybiBCSU5HRVQgKyBwYWNrKCI8QiIsIGkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBMT05HX0JJTkdFVCArIHBhY2soIjxJIiwgaSkKIApAQCAtMjg2LDIwICsyODIsMjAgQEAKIAogICAgICAgICAjIENoZWNrIHRoZSBtZW1vCiAgICAgICAgIHggPSBzZWxmLm1lbW8uZ2V0KGlkKG9iaikpCi0gICAgICAgIGlmIHg6CisgICAgICAgIGlmIHggaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBzZWxmLndyaXRlKHNlbGYuZ2V0KHhbMF0pKQogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgIyBDaGVjayB0aGUgdHlwZSBkaXNwYXRjaCB0YWJsZQogICAgICAgICB0ID0gdHlwZShvYmopCiAgICAgICAgIGYgPSBzZWxmLmRpc3BhdGNoLmdldCh0KQotICAgICAgICBpZiBmOgorICAgICAgICBpZiBmIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgZihzZWxmLCBvYmopICMgQ2FsbCB1bmJvdW5kIG1ldGhvZCB3aXRoIGV4cGxpY2l0IHNlbGYKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgQ2hlY2sgcHJpdmF0ZSBkaXNwYXRjaCB0YWJsZSBpZiBhbnksIG9yIGVsc2UgY29weXJlZy5kaXNwYXRjaF90YWJsZQogICAgICAgICByZWR1Y2UgPSBnZXRhdHRyKHNlbGYsICdkaXNwYXRjaF90YWJsZScsIGRpc3BhdGNoX3RhYmxlKS5nZXQodCkKLSAgICAgICAgaWYgcmVkdWNlOgorICAgICAgICBpZiByZWR1Y2UgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBydiA9IHJlZHVjZShvYmopCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIENoZWNrIGZvciBhIGNsYXNzIHdpdGggYSBjdXN0b20gbWV0YWNsYXNzOyB0cmVhdCBhcyByZWd1bGFyIGNsYXNzCkBAIC0zMTMsMTEgKzMwOSwxMSBAQAogCiAgICAgICAgICAgICAjIENoZWNrIGZvciBhIF9fcmVkdWNlX2V4X18gbWV0aG9kLCBmYWxsIGJhY2sgdG8gX19yZWR1Y2VfXwogICAgICAgICAgICAgcmVkdWNlID0gZ2V0YXR0cihvYmosICJfX3JlZHVjZV9leF9fIiwgTm9uZSkKLSAgICAgICAgICAgIGlmIHJlZHVjZToKKyAgICAgICAgICAgIGlmIHJlZHVjZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBydiA9IHJlZHVjZShzZWxmLnByb3RvKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByZWR1Y2UgPSBnZXRhdHRyKG9iaiwgIl9fcmVkdWNlX18iLCBOb25lKQotICAgICAgICAgICAgICAgIGlmIHJlZHVjZToKKyAgICAgICAgICAgICAgICBpZiByZWR1Y2UgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHJ2ID0gcmVkdWNlKCkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBQaWNrbGluZ0Vycm9yKCJDYW4ndCBwaWNrbGUgJXIgb2JqZWN0OiAlciIgJQpAQCAtNDQ4LDEyICs0NDQsMTIgQEAKIAogICAgIGRlZiBzYXZlX2Jvb2woc2VsZiwgb2JqKToKICAgICAgICAgaWYgc2VsZi5wcm90byA+PSAyOgotICAgICAgICAgICAgc2VsZi53cml0ZShvYmogYW5kIE5FV1RSVUUgb3IgTkVXRkFMU0UpCisgICAgICAgICAgICBzZWxmLndyaXRlKE5FV1RSVUUgaWYgb2JqIGVsc2UgTkVXRkFMU0UpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLndyaXRlKG9iaiBhbmQgVFJVRSBvciBGQUxTRSkKKyAgICAgICAgICAgIHNlbGYud3JpdGUoVFJVRSBpZiBvYmogZWxzZSBGQUxTRSkKICAgICBkaXNwYXRjaFtib29sXSA9IHNhdmVfYm9vbAogCi0gICAgZGVmIHNhdmVfbG9uZyhzZWxmLCBvYmosIHBhY2s9c3RydWN0LnBhY2spOgorICAgIGRlZiBzYXZlX2xvbmcoc2VsZiwgb2JqKToKICAgICAgICAgaWYgc2VsZi5iaW46CiAgICAgICAgICAgICAjIElmIHRoZSBpbnQgaXMgc21hbGwgZW5vdWdoIHRvIGZpdCBpbiBhIHNpZ25lZCA0LWJ5dGUgMidzLWNvbXAKICAgICAgICAgICAgICMgZm9ybWF0LCB3ZSBjYW4gc3RvcmUgaXQgbW9yZSBlZmZpY2llbnRseSB0aGFuIHRoZSBnZW5lcmFsCkBAIC00NjEsMzkgKzQ1NywzNiBAQAogICAgICAgICAgICAgIyBGaXJzdCBvbmUtIGFuZCB0d28tYnl0ZSB1bnNpZ25lZCBpbnRzOgogICAgICAgICAgICAgaWYgb2JqID49IDA6CiAgICAgICAgICAgICAgICAgaWYgb2JqIDw9IDB4ZmY6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYud3JpdGUoQklOSU5UMSArIGJ5dGVzKFtvYmpdKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi53cml0ZShCSU5JTlQxICsgcGFjaygiPEIiLCBvYmopKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICBpZiBvYmogPD0gMHhmZmZmOgotICAgICAgICAgICAgICAgICAgICBzZWxmLndyaXRlKEJJTklOVDIgKyBieXRlcyhbb2JqJjB4ZmYsIG9iaj4+OF0pKQorICAgICAgICAgICAgICAgICAgICBzZWxmLndyaXRlKEJJTklOVDIgKyBwYWNrKCI8SCIsIG9iaikpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICAgICAgIyBOZXh0IGNoZWNrIGZvciA0LWJ5dGUgc2lnbmVkIGludHM6Ci0gICAgICAgICAgICBoaWdoX2JpdHMgPSBvYmogPj4gMzEgICMgbm90ZSB0aGF0IFB5dGhvbiBzaGlmdCBzaWduLWV4dGVuZHMKLSAgICAgICAgICAgIGlmIGhpZ2hfYml0cyA9PSAwIG9yIGhpZ2hfYml0cyA9PSAtMToKLSAgICAgICAgICAgICAgICAjIEFsbCBoaWdoIGJpdHMgYXJlIGNvcGllcyBvZiBiaXQgMioqMzEsIHNvIHRoZSB2YWx1ZQotICAgICAgICAgICAgICAgICMgZml0cyBpbiBhIDQtYnl0ZSBzaWduZWQgaW50LgorICAgICAgICAgICAgaWYgLTB4ODAwMDAwMDAgPD0gb2JqIDw9IDB4N2ZmZmZmZmY6CiAgICAgICAgICAgICAgICAgc2VsZi53cml0ZShCSU5JTlQgKyBwYWNrKCI8aSIsIG9iaikpCiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlmIHNlbGYucHJvdG8gPj0gMjoKICAgICAgICAgICAgIGVuY29kZWQgPSBlbmNvZGVfbG9uZyhvYmopCiAgICAgICAgICAgICBuID0gbGVuKGVuY29kZWQpCiAgICAgICAgICAgICBpZiBuIDwgMjU2OgotICAgICAgICAgICAgICAgIHNlbGYud3JpdGUoTE9ORzEgKyBieXRlcyhbbl0pICsgZW5jb2RlZCkKKyAgICAgICAgICAgICAgICBzZWxmLndyaXRlKExPTkcxICsgcGFjaygiPEIiLCBuKSArIGVuY29kZWQpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYud3JpdGUoTE9ORzQgKyBwYWNrKCI8aSIsIG4pICsgZW5jb2RlZCkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLndyaXRlKExPTkcgKyByZXByKG9iaikuZW5jb2RlKCJhc2NpaSIpICsgYidMXG4nKQogICAgIGRpc3BhdGNoW2ludF0gPSBzYXZlX2xvbmcKIAotICAgIGRlZiBzYXZlX2Zsb2F0KHNlbGYsIG9iaiwgcGFjaz1zdHJ1Y3QucGFjayk6CisgICAgZGVmIHNhdmVfZmxvYXQoc2VsZiwgb2JqKToKICAgICAgICAgaWYgc2VsZi5iaW46CiAgICAgICAgICAgICBzZWxmLndyaXRlKEJJTkZMT0FUICsgcGFjaygnPmQnLCBvYmopKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi53cml0ZShGTE9BVCArIHJlcHIob2JqKS5lbmNvZGUoImFzY2lpIikgKyBiJ1xuJykKICAgICBkaXNwYXRjaFtmbG9hdF0gPSBzYXZlX2Zsb2F0CiAKLSAgICBkZWYgc2F2ZV9ieXRlcyhzZWxmLCBvYmosIHBhY2s9c3RydWN0LnBhY2spOgorICAgIGRlZiBzYXZlX2J5dGVzKHNlbGYsIG9iaik6CiAgICAgICAgIGlmIHNlbGYucHJvdG8gPCAzOgotICAgICAgICAgICAgaWYgbGVuKG9iaikgPT0gMDoKKyAgICAgICAgICAgIGlmIG5vdCBvYmo6ICMgYnl0ZXMgb2JqZWN0IGlzIGVtcHR5CiAgICAgICAgICAgICAgICAgc2VsZi5zYXZlX3JlZHVjZShieXRlcywgKCksIG9iaj1vYmopCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuc2F2ZV9yZWR1Y2UoY29kZWNzLmVuY29kZSwKQEAgLTUwMSwxMyArNDk0LDEzIEBACiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgbiA9IGxlbihvYmopCiAgICAgICAgIGlmIG4gPCAyNTY6Ci0gICAgICAgICAgICBzZWxmLndyaXRlKFNIT1JUX0JJTkJZVEVTICsgYnl0ZXMoW25dKSArIGJ5dGVzKG9iaikpCisgICAgICAgICAgICBzZWxmLndyaXRlKFNIT1JUX0JJTkJZVEVTICsgcGFjaygiPEIiLCBuKSArIG9iaikKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYud3JpdGUoQklOQllURVMgKyBwYWNrKCI8SSIsIG4pICsgYnl0ZXMob2JqKSkKKyAgICAgICAgICAgIHNlbGYud3JpdGUoQklOQllURVMgKyBwYWNrKCI8SSIsIG4pICsgb2JqKQogICAgICAgICBzZWxmLm1lbW9pemUob2JqKQogICAgIGRpc3BhdGNoW2J5dGVzXSA9IHNhdmVfYnl0ZXMKIAotICAgIGRlZiBzYXZlX3N0cihzZWxmLCBvYmosIHBhY2s9c3RydWN0LnBhY2spOgorICAgIGRlZiBzYXZlX3N0cihzZWxmLCBvYmopOgogICAgICAgICBpZiBzZWxmLmJpbjoKICAgICAgICAgICAgIGVuY29kZWQgPSBvYmouZW5jb2RlKCd1dGYtOCcsICdzdXJyb2dhdGVwYXNzJykKICAgICAgICAgICAgIG4gPSBsZW4oZW5jb2RlZCkKQEAgLTUxNSwzOSArNTA4LDM2IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBvYmogPSBvYmoucmVwbGFjZSgiXFwiLCAiXFx1MDA1YyIpCiAgICAgICAgICAgICBvYmogPSBvYmoucmVwbGFjZSgiXG4iLCAiXFx1MDAwYSIpCi0gICAgICAgICAgICBzZWxmLndyaXRlKFVOSUNPREUgKyBieXRlcyhvYmouZW5jb2RlKCdyYXctdW5pY29kZS1lc2NhcGUnKSkgKwotICAgICAgICAgICAgICAgICAgICAgICBiJ1xuJykKKyAgICAgICAgICAgIHNlbGYud3JpdGUoVU5JQ09ERSArIG9iai5lbmNvZGUoJ3Jhdy11bmljb2RlLWVzY2FwZScpICsgYidcbicpCiAgICAgICAgIHNlbGYubWVtb2l6ZShvYmopCiAgICAgZGlzcGF0Y2hbc3RyXSA9IHNhdmVfc3RyCiAKICAgICBkZWYgc2F2ZV90dXBsZShzZWxmLCBvYmopOgotICAgICAgICB3cml0ZSA9IHNlbGYud3JpdGUKLSAgICAgICAgcHJvdG8gPSBzZWxmLnByb3RvCi0KLSAgICAgICAgbiA9IGxlbihvYmopCi0gICAgICAgIGlmIG4gPT0gMDoKLSAgICAgICAgICAgIGlmIHByb3RvOgotICAgICAgICAgICAgICAgIHdyaXRlKEVNUFRZX1RVUExFKQorICAgICAgICBpZiBub3Qgb2JqOiAjIHR1cGxlIGlzIGVtcHR5CisgICAgICAgICAgICBpZiBzZWxmLmJpbjoKKyAgICAgICAgICAgICAgICBzZWxmLndyaXRlKEVNUFRZX1RVUExFKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB3cml0ZShNQVJLICsgVFVQTEUpCisgICAgICAgICAgICAgICAgc2VsZi53cml0ZShNQVJLICsgVFVQTEUpCiAgICAgICAgICAgICByZXR1cm4KIAorICAgICAgICBuID0gbGVuKG9iaikKICAgICAgICAgc2F2ZSA9IHNlbGYuc2F2ZQogICAgICAgICBtZW1vID0gc2VsZi5tZW1vCi0gICAgICAgIGlmIG4gPD0gMyBhbmQgcHJvdG8gPj0gMjoKKyAgICAgICAgaWYgbiA8PSAzIGFuZCBzZWxmLnByb3RvID49IDI6CiAgICAgICAgICAgICBmb3IgZWxlbWVudCBpbiBvYmo6CiAgICAgICAgICAgICAgICAgc2F2ZShlbGVtZW50KQogICAgICAgICAgICAgIyBTdWJ0bGUuICBTYW1lIGFzIGluIHRoZSBiaWcgY29tbWVudCBiZWxvdy4KICAgICAgICAgICAgIGlmIGlkKG9iaikgaW4gbWVtbzoKICAgICAgICAgICAgICAgICBnZXQgPSBzZWxmLmdldChtZW1vW2lkKG9iaildWzBdKQotICAgICAgICAgICAgICAgIHdyaXRlKFBPUCAqIG4gKyBnZXQpCisgICAgICAgICAgICAgICAgc2VsZi53cml0ZShQT1AgKiBuICsgZ2V0KQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICB3cml0ZShfdHVwbGVzaXplMmNvZGVbbl0pCisgICAgICAgICAgICAgICAgc2VsZi53cml0ZShfdHVwbGVzaXplMmNvZGVbbl0pCiAgICAgICAgICAgICAgICAgc2VsZi5tZW1vaXplKG9iaikKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgcHJvdG8gMCBvciBwcm90byAxIGFuZCB0dXBsZSBpc24ndCBlbXB0eSwgb3IgcHJvdG8gPiAxIGFuZCB0dXBsZQogICAgICAgICAjIGhhcyBtb3JlIHRoYW4gMyBlbGVtZW50cy4KKyAgICAgICAgd3JpdGUgPSBzZWxmLndyaXRlCiAgICAgICAgIHdyaXRlKE1BUkspCiAgICAgICAgIGZvciBlbGVtZW50IGluIG9iajoKICAgICAgICAgICAgIHNhdmUoZWxlbWVudCkKQEAgLTU2MSwyNSArNTUxLDIzIEBACiAgICAgICAgICAgICAjIGNvdWxkIGhhdmUgYmVlbiBkb25lIGluIHRoZSAiZm9yIGVsZW1lbnQiIGxvb3AgaW5zdGVhZCwgYnV0CiAgICAgICAgICAgICAjIHJlY3Vyc2l2ZSB0dXBsZXMgYXJlIGEgcmFyZSB0aGluZy4KICAgICAgICAgICAgIGdldCA9IHNlbGYuZ2V0KG1lbW9baWQob2JqKV1bMF0pCi0gICAgICAgICAgICBpZiBwcm90bzoKKyAgICAgICAgICAgIGlmIHNlbGYuYmluOgogICAgICAgICAgICAgICAgIHdyaXRlKFBPUF9NQVJLICsgZ2V0KQogICAgICAgICAgICAgZWxzZTogICAjIHByb3RvIDAgLS0gUE9QX01BUksgbm90IGF2YWlsYWJsZQogICAgICAgICAgICAgICAgIHdyaXRlKFBPUCAqIChuKzEpICsgZ2V0KQogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgIyBObyByZWN1cnNpb24uCi0gICAgICAgIHNlbGYud3JpdGUoVFVQTEUpCisgICAgICAgIHdyaXRlKFRVUExFKQogICAgICAgICBzZWxmLm1lbW9pemUob2JqKQogCiAgICAgZGlzcGF0Y2hbdHVwbGVdID0gc2F2ZV90dXBsZQogCiAgICAgZGVmIHNhdmVfbGlzdChzZWxmLCBvYmopOgotICAgICAgICB3cml0ZSA9IHNlbGYud3JpdGUKLQogICAgICAgICBpZiBzZWxmLmJpbjoKLSAgICAgICAgICAgIHdyaXRlKEVNUFRZX0xJU1QpCisgICAgICAgICAgICBzZWxmLndyaXRlKEVNUFRZX0xJU1QpCiAgICAgICAgIGVsc2U6ICAgIyBwcm90byAwIC0tIGNhbid0IHVzZSBFTVBUWV9MSVNUCi0gICAgICAgICAgICB3cml0ZShNQVJLICsgTElTVCkKKyAgICAgICAgICAgIHNlbGYud3JpdGUoTUFSSyArIExJU1QpCiAKICAgICAgICAgc2VsZi5tZW1vaXplKG9iaikKICAgICAgICAgc2VsZi5fYmF0Y2hfYXBwZW5kcyhvYmopCkBAIC01OTksMTcgKzU4Nyw5IEBACiAgICAgICAgICAgICAgICAgd3JpdGUoQVBQRU5EKQogICAgICAgICAgICAgcmV0dXJuCiAKLSAgICAgICAgaXRlbXMgPSBpdGVyKGl0ZW1zKQotICAgICAgICByID0gcmFuZ2Uoc2VsZi5fQkFUQ0hTSVpFKQotICAgICAgICB3aGlsZSBpdGVtcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHRtcCA9IFtdCi0gICAgICAgICAgICBmb3IgaSBpbiByOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgeCA9IG5leHQoaXRlbXMpCi0gICAgICAgICAgICAgICAgICAgIHRtcC5hcHBlbmQoeCkKLSAgICAgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKLSAgICAgICAgICAgICAgICAgICAgaXRlbXMgPSBOb25lCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGl0ID0gaXRlcihpdGVtcykKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHRtcCA9IGxpc3QoaXNsaWNlKGl0LCBzZWxmLl9CQVRDSFNJWkUpKQogICAgICAgICAgICAgbiA9IGxlbih0bXApCiAgICAgICAgICAgICBpZiBuID4gMToKICAgICAgICAgICAgICAgICB3cml0ZShNQVJLKQpAQCAtNjIwLDE0ICs2MDAsMTQgQEAKICAgICAgICAgICAgICAgICBzYXZlKHRtcFswXSkKICAgICAgICAgICAgICAgICB3cml0ZShBUFBFTkQpCiAgICAgICAgICAgICAjIGVsc2UgdG1wIGlzIGVtcHR5LCBhbmQgd2UncmUgZG9uZQorICAgICAgICAgICAgaWYgbiA8IHNlbGYuX0JBVENIU0laRToKKyAgICAgICAgICAgICAgICByZXR1cm4KIAogICAgIGRlZiBzYXZlX2RpY3Qoc2VsZiwgb2JqKToKLSAgICAgICAgd3JpdGUgPSBzZWxmLndyaXRlCi0KICAgICAgICAgaWYgc2VsZi5iaW46Ci0gICAgICAgICAgICB3cml0ZShFTVBUWV9ESUNUKQorICAgICAgICAgICAgc2VsZi53cml0ZShFTVBUWV9ESUNUKQogICAgICAgICBlbHNlOiAgICMgcHJvdG8gMCAtLSBjYW4ndCB1c2UgRU1QVFlfRElDVAotICAgICAgICAgICAgd3JpdGUoTUFSSyArIERJQ1QpCisgICAgICAgICAgICBzZWxmLndyaXRlKE1BUksgKyBESUNUKQogCiAgICAgICAgIHNlbGYubWVtb2l6ZShvYmopCiAgICAgICAgIHNlbGYuX2JhdGNoX3NldGl0ZW1zKG9iai5pdGVtcygpKQpAQCAtNjQ4LDE2ICs2MjgsOSBAQAogICAgICAgICAgICAgICAgIHdyaXRlKFNFVElURU0pCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBpdGVtcyA9IGl0ZXIoaXRlbXMpCi0gICAgICAgIHIgPSByYW5nZShzZWxmLl9CQVRDSFNJWkUpCi0gICAgICAgIHdoaWxlIGl0ZW1zIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgdG1wID0gW10KLSAgICAgICAgICAgIGZvciBpIGluIHI6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICB0bXAuYXBwZW5kKG5leHQoaXRlbXMpKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IE5vbmUKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgaXQgPSBpdGVyKGl0ZW1zKQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdG1wID0gbGlzdChpc2xpY2UoaXQsIHNlbGYuX0JBVENIU0laRSkpCiAgICAgICAgICAgICBuID0gbGVuKHRtcCkKICAgICAgICAgICAgIGlmIG4gPiAxOgogICAgICAgICAgICAgICAgIHdyaXRlKE1BUkspCkBAIC02NzEsOCArNjQ0LDEwIEBACiAgICAgICAgICAgICAgICAgc2F2ZSh2KQogICAgICAgICAgICAgICAgIHdyaXRlKFNFVElURU0pCiAgICAgICAgICAgICAjIGVsc2UgdG1wIGlzIGVtcHR5LCBhbmQgd2UncmUgZG9uZQorICAgICAgICAgICAgaWYgbiA8IHNlbGYuX0JBVENIU0laRToKKyAgICAgICAgICAgICAgICByZXR1cm4KIAotICAgIGRlZiBzYXZlX2dsb2JhbChzZWxmLCBvYmosIG5hbWU9Tm9uZSwgcGFjaz1zdHJ1Y3QucGFjayk6CisgICAgZGVmIHNhdmVfZ2xvYmFsKHNlbGYsIG9iaiwgbmFtZT1Ob25lKToKICAgICAgICAgd3JpdGUgPSBzZWxmLndyaXRlCiAgICAgICAgIG1lbW8gPSBzZWxmLm1lbW8KIApAQCAtNzAyLDkgKzY3Nyw5IEBACiAgICAgICAgICAgICBpZiBjb2RlOgogICAgICAgICAgICAgICAgIGFzc2VydCBjb2RlID4gMAogICAgICAgICAgICAgICAgIGlmIGNvZGUgPD0gMHhmZjoKLSAgICAgICAgICAgICAgICAgICAgd3JpdGUoRVhUMSArIGJ5dGVzKFtjb2RlXSkpCisgICAgICAgICAgICAgICAgICAgIHdyaXRlKEVYVDEgKyBwYWNrKCI8QiIsIGNvZGUpKQogICAgICAgICAgICAgICAgIGVsaWYgY29kZSA8PSAweGZmZmY6Ci0gICAgICAgICAgICAgICAgICAgIHdyaXRlKEVYVDIgKyBieXRlcyhbY29kZSYweGZmLCBjb2RlPj44XSkpCisgICAgICAgICAgICAgICAgICAgIHdyaXRlKEVYVDIgKyBwYWNrKCI8SCIsIGNvZGUpKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHdyaXRlKEVYVDQgKyBwYWNrKCI8aSIsIGNvZGUpKQogICAgICAgICAgICAgICAgIHJldHVybgpAQCAtNzMyLDI1ICs3MDcsNiBAQAogICAgIGRpc3BhdGNoW0J1aWx0aW5GdW5jdGlvblR5cGVdID0gc2F2ZV9nbG9iYWwKICAgICBkaXNwYXRjaFt0eXBlXSA9IHNhdmVfZ2xvYmFsCiAKLSMgUGlja2xpbmcgaGVscGVycwotCi1kZWYgX2tlZXBfYWxpdmUoeCwgbWVtbyk6Ci0gICAgIiIiS2VlcHMgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCB4IGluIHRoZSBtZW1vLgotCi0gICAgQmVjYXVzZSB3ZSByZW1lbWJlciBvYmplY3RzIGJ5IHRoZWlyIGlkLCB3ZSBoYXZlCi0gICAgdG8gYXNzdXJlIHRoYXQgcG9zc2libHkgdGVtcG9yYXJ5IG9iamVjdHMgYXJlIGtlcHQKLSAgICBhbGl2ZSBieSByZWZlcmVuY2luZyB0aGVtLgotICAgIFdlIHN0b3JlIGEgcmVmZXJlbmNlIGF0IHRoZSBpZCBvZiB0aGUgbWVtbywgd2hpY2ggc2hvdWxkCi0gICAgbm9ybWFsbHkgbm90IGJlIHVzZWQgdW5sZXNzIHNvbWVvbmUgdHJpZXMgdG8gZGVlcGNvcHkKLSAgICB0aGUgbWVtbyBpdHNlbGYuLi4KLSAgICAiIiIKLSAgICB0cnk6Ci0gICAgICAgIG1lbW9baWQobWVtbyldLmFwcGVuZCh4KQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgIyBhaGEsIHRoaXMgaXMgdGhlIGZpcnN0IG9uZSA6LSkKLSAgICAgICAgbWVtb1tpZChtZW1vKV09W3hdCi0KLQogIyBBIGNhY2hlIGZvciB3aGljaG1vZHVsZSgpLCBtYXBwaW5nIGEgZnVuY3Rpb24gb2JqZWN0IHRvIHRoZSBuYW1lIG9mCiAjIHRoZSBtb2R1bGUgaW4gd2hpY2ggdGhlIGZ1bmN0aW9uIHdhcyBmb3VuZC4KIApAQCAtODMyLDcgKzc4OCw3IEBACiAgICAgICAgIHJlYWQgPSBzZWxmLnJlYWQKICAgICAgICAgZGlzcGF0Y2ggPSBzZWxmLmRpc3BhdGNoCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgIGtleSA9IHJlYWQoMSkKICAgICAgICAgICAgICAgICBpZiBub3Qga2V5OgogICAgICAgICAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcgpAQCAtODYyLDcgKzgxOCw3IEBACiAgICAgZGlzcGF0Y2ggPSB7fQogCiAgICAgZGVmIGxvYWRfcHJvdG8oc2VsZik6Ci0gICAgICAgIHByb3RvID0gb3JkKHNlbGYucmVhZCgxKSkKKyAgICAgICAgcHJvdG8gPSBzZWxmLnJlYWQoMSlbMF0KICAgICAgICAgaWYgbm90IDAgPD0gcHJvdG8gPD0gSElHSEVTVF9QUk9UT0NPTDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInVuc3VwcG9ydGVkIHBpY2tsZSBwcm90b2NvbDogJWQiICUgcHJvdG8pCiAgICAgICAgIHNlbGYucHJvdG8gPSBwcm90bwpAQCAtODk3LDQzICs4NTMsNDAgQEAKICAgICAgICAgZWxpZiBkYXRhID09IFRSVUVbMTpdOgogICAgICAgICAgICAgdmFsID0gVHJ1ZQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHZhbCA9IGludChkYXRhLCAwKQotICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAgICAgdmFsID0gaW50KGRhdGEsIDApCisgICAgICAgICAgICB2YWwgPSBpbnQoZGF0YSwgMCkKICAgICAgICAgc2VsZi5hcHBlbmQodmFsKQogICAgIGRpc3BhdGNoW0lOVFswXV0gPSBsb2FkX2ludAogCiAgICAgZGVmIGxvYWRfYmluaW50KHNlbGYpOgotICAgICAgICBzZWxmLmFwcGVuZChtbG9hZHMoYidpJyArIHNlbGYucmVhZCg0KSkpCisgICAgICAgIHNlbGYuYXBwZW5kKHVucGFjaygnPGknLCBzZWxmLnJlYWQoNCkpWzBdKQogICAgIGRpc3BhdGNoW0JJTklOVFswXV0gPSBsb2FkX2JpbmludAogCiAgICAgZGVmIGxvYWRfYmluaW50MShzZWxmKToKLSAgICAgICAgc2VsZi5hcHBlbmQob3JkKHNlbGYucmVhZCgxKSkpCisgICAgICAgIHNlbGYuYXBwZW5kKHNlbGYucmVhZCgxKVswXSkKICAgICBkaXNwYXRjaFtCSU5JTlQxWzBdXSA9IGxvYWRfYmluaW50MQogCiAgICAgZGVmIGxvYWRfYmluaW50MihzZWxmKToKLSAgICAgICAgc2VsZi5hcHBlbmQobWxvYWRzKGInaScgKyBzZWxmLnJlYWQoMikgKyBiJ1wwMDBcMDAwJykpCisgICAgICAgIHNlbGYuYXBwZW5kKHVucGFjaygnPEgnLCBzZWxmLnJlYWQoMikpWzBdKQogICAgIGRpc3BhdGNoW0JJTklOVDJbMF1dID0gbG9hZF9iaW5pbnQyCiAKICAgICBkZWYgbG9hZF9sb25nKHNlbGYpOgotICAgICAgICB2YWwgPSBzZWxmLnJlYWRsaW5lKClbOi0xXS5kZWNvZGUoImFzY2lpIikKLSAgICAgICAgaWYgdmFsIGFuZCB2YWxbLTFdID09ICdMJzoKKyAgICAgICAgdmFsID0gc2VsZi5yZWFkbGluZSgpWzotMV0KKyAgICAgICAgaWYgdmFsIGFuZCB2YWxbLTFdID09IGInTCdbMF06CiAgICAgICAgICAgICB2YWwgPSB2YWxbOi0xXQogICAgICAgICBzZWxmLmFwcGVuZChpbnQodmFsLCAwKSkKICAgICBkaXNwYXRjaFtMT05HWzBdXSA9IGxvYWRfbG9uZwogCiAgICAgZGVmIGxvYWRfbG9uZzEoc2VsZik6Ci0gICAgICAgIG4gPSBvcmQoc2VsZi5yZWFkKDEpKQorICAgICAgICBuID0gc2VsZi5yZWFkKDEpWzBdCiAgICAgICAgIGRhdGEgPSBzZWxmLnJlYWQobikKICAgICAgICAgc2VsZi5hcHBlbmQoZGVjb2RlX2xvbmcoZGF0YSkpCiAgICAgZGlzcGF0Y2hbTE9ORzFbMF1dID0gbG9hZF9sb25nMQogCiAgICAgZGVmIGxvYWRfbG9uZzQoc2VsZik6Ci0gICAgICAgIG4gPSBtbG9hZHMoYidpJyArIHNlbGYucmVhZCg0KSkKKyAgICAgICAgbiwgPSB1bnBhY2soJzxpJywgc2VsZi5yZWFkKDQpKQogICAgICAgICBpZiBuIDwgMDoKICAgICAgICAgICAgICMgQ29ycnVwdCBvciBob3N0aWxlIHBpY2tsZSAtLSB3ZSBuZXZlciB3cml0ZSBvbmUgbGlrZSB0aGlzCi0gICAgICAgICAgICByYWlzZSBVbnBpY2tsaW5nRXJyb3IoIkxPTkcgcGlja2xlIGhhcyBuZWdhdGl2ZSBieXRlIGNvdW50Iik7CisgICAgICAgICAgICByYWlzZSBVbnBpY2tsaW5nRXJyb3IoIkxPTkcgcGlja2xlIGhhcyBuZWdhdGl2ZSBieXRlIGNvdW50IikKICAgICAgICAgZGF0YSA9IHNlbGYucmVhZChuKQogICAgICAgICBzZWxmLmFwcGVuZChkZWNvZGVfbG9uZyhkYXRhKSkKICAgICBkaXNwYXRjaFtMT05HNFswXV0gPSBsb2FkX2xvbmc0CkBAIC05NDIsMzkgKzg5NSwzNiBAQAogICAgICAgICBzZWxmLmFwcGVuZChmbG9hdChzZWxmLnJlYWRsaW5lKClbOi0xXSkpCiAgICAgZGlzcGF0Y2hbRkxPQVRbMF1dID0gbG9hZF9mbG9hdAogCi0gICAgZGVmIGxvYWRfYmluZmxvYXQoc2VsZiwgdW5wYWNrPXN0cnVjdC51bnBhY2spOgorICAgIGRlZiBsb2FkX2JpbmZsb2F0KHNlbGYpOgogICAgICAgICBzZWxmLmFwcGVuZCh1bnBhY2soJz5kJywgc2VsZi5yZWFkKDgpKVswXSkKICAgICBkaXNwYXRjaFtCSU5GTE9BVFswXV0gPSBsb2FkX2JpbmZsb2F0CiAKICAgICBkZWYgbG9hZF9zdHJpbmcoc2VsZik6Ci0gICAgICAgIG9yaWcgPSBzZWxmLnJlYWRsaW5lKCkKLSAgICAgICAgcmVwID0gb3JpZ1s6LTFdCi0gICAgICAgIGZvciBxIGluIChiJyInLCBiIiciKTogIyBkb3VibGUgb3Igc2luZ2xlIHF1b3RlCi0gICAgICAgICAgICBpZiByZXAuc3RhcnRzd2l0aChxKToKLSAgICAgICAgICAgICAgICBpZiBsZW4ocmVwKSA8IDIgb3Igbm90IHJlcC5lbmRzd2l0aChxKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiaW5zZWN1cmUgc3RyaW5nIHBpY2tsZSIpCi0gICAgICAgICAgICAgICAgcmVwID0gcmVwW2xlbihxKTotbGVuKHEpXQotICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGRhdGEgPSBzZWxmLnJlYWRsaW5lKClbOi0xXQorICAgICAgICAjIFN0cmlwIG91dGVybW9zdCBxdW90ZXMKKyAgICAgICAgaWYgbGVuKGRhdGEpID49IDIgYW5kIGRhdGFbMF0gPT0gZGF0YVstMV0gYW5kIGRhdGFbMF0gaW4gYiciXCcnOgorICAgICAgICAgICAgZGF0YSA9IGRhdGFbMTotMV0KICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImluc2VjdXJlIHN0cmluZyBwaWNrbGU6ICVyIiAlIG9yaWcpCi0gICAgICAgIHNlbGYuYXBwZW5kKGNvZGVjcy5lc2NhcGVfZGVjb2RlKHJlcClbMF0KKyAgICAgICAgICAgIHJhaXNlIFVucGlja2xpbmdFcnJvcigidGhlIFNUUklORyBvcGNvZGUgYXJndW1lbnQgbXVzdCBiZSBxdW90ZWQiKQorICAgICAgICBzZWxmLmFwcGVuZChjb2RlY3MuZXNjYXBlX2RlY29kZShkYXRhKVswXQogICAgICAgICAgICAgICAgICAgICAuZGVjb2RlKHNlbGYuZW5jb2RpbmcsIHNlbGYuZXJyb3JzKSkKICAgICBkaXNwYXRjaFtTVFJJTkdbMF1dID0gbG9hZF9zdHJpbmcKIAogICAgIGRlZiBsb2FkX2JpbnN0cmluZyhzZWxmKToKICAgICAgICAgIyBEZXByZWNhdGVkIEJJTlNUUklORyB1c2VzIHNpZ25lZCAzMi1iaXQgbGVuZ3RoCi0gICAgICAgIGxlbiA9IG1sb2FkcyhiJ2knICsgc2VsZi5yZWFkKDQpKQorICAgICAgICBsZW4sID0gdW5wYWNrKCc8aScsIHNlbGYucmVhZCg0KSkKICAgICAgICAgaWYgbGVuIDwgMDoKLSAgICAgICAgICAgIHJhaXNlIFVucGlja2xpbmdFcnJvcigiQklOU1RSSU5HIHBpY2tsZSBoYXMgbmVnYXRpdmUgYnl0ZSBjb3VudCIpOworICAgICAgICAgICAgcmFpc2UgVW5waWNrbGluZ0Vycm9yKCJCSU5TVFJJTkcgcGlja2xlIGhhcyBuZWdhdGl2ZSBieXRlIGNvdW50IikKICAgICAgICAgZGF0YSA9IHNlbGYucmVhZChsZW4pCiAgICAgICAgIHZhbHVlID0gc3RyKGRhdGEsIHNlbGYuZW5jb2RpbmcsIHNlbGYuZXJyb3JzKQogICAgICAgICBzZWxmLmFwcGVuZCh2YWx1ZSkKICAgICBkaXNwYXRjaFtCSU5TVFJJTkdbMF1dID0gbG9hZF9iaW5zdHJpbmcKIAotICAgIGRlZiBsb2FkX2JpbmJ5dGVzKHNlbGYsIHVucGFjaz1zdHJ1Y3QudW5wYWNrLCBtYXhzaXplPXN5cy5tYXhzaXplKToKKyAgICBkZWYgbG9hZF9iaW5ieXRlcyhzZWxmKToKICAgICAgICAgbGVuLCA9IHVucGFjaygnPEknLCBzZWxmLnJlYWQoNCkpCiAgICAgICAgIGlmIGxlbiA+IG1heHNpemU6Ci0gICAgICAgICAgICByYWlzZSBVbnBpY2tsaW5nRXJyb3IoIkJJTkJZVEVTIGV4Y2VlZHMgc3lzdGVtJ3MgbWF4aW11bSBzaXplIG9mICVkIGJ5dGVzIiAlIG1heHNpemUpOworICAgICAgICAgICAgcmFpc2UgVW5waWNrbGluZ0Vycm9yKCJCSU5CWVRFUyBleGNlZWRzIHN5c3RlbSdzIG1heGltdW0gc2l6ZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9mICVkIGJ5dGVzIiAlIG1heHNpemUpCiAgICAgICAgIHNlbGYuYXBwZW5kKHNlbGYucmVhZChsZW4pKQogICAgIGRpc3BhdGNoW0JJTkJZVEVTWzBdXSA9IGxvYWRfYmluYnl0ZXMKIApAQCAtOTgyLDIzICs5MzIsMjQgQEAKICAgICAgICAgc2VsZi5hcHBlbmQoc3RyKHNlbGYucmVhZGxpbmUoKVs6LTFdLCAncmF3LXVuaWNvZGUtZXNjYXBlJykpCiAgICAgZGlzcGF0Y2hbVU5JQ09ERVswXV0gPSBsb2FkX3VuaWNvZGUKIAotICAgIGRlZiBsb2FkX2JpbnVuaWNvZGUoc2VsZiwgdW5wYWNrPXN0cnVjdC51bnBhY2ssIG1heHNpemU9c3lzLm1heHNpemUpOgorICAgIGRlZiBsb2FkX2JpbnVuaWNvZGUoc2VsZik6CiAgICAgICAgIGxlbiwgPSB1bnBhY2soJzxJJywgc2VsZi5yZWFkKDQpKQogICAgICAgICBpZiBsZW4gPiBtYXhzaXplOgotICAgICAgICAgICAgcmFpc2UgVW5waWNrbGluZ0Vycm9yKCJCSU5VTklDT0RFIGV4Y2VlZHMgc3lzdGVtJ3MgbWF4aW11bSBzaXplIG9mICVkIGJ5dGVzIiAlIG1heHNpemUpOworICAgICAgICAgICAgcmFpc2UgVW5waWNrbGluZ0Vycm9yKCJCSU5VTklDT0RFIGV4Y2VlZHMgc3lzdGVtJ3MgbWF4aW11bSBzaXplICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib2YgJWQgYnl0ZXMiICUgbWF4c2l6ZSkKICAgICAgICAgc2VsZi5hcHBlbmQoc3RyKHNlbGYucmVhZChsZW4pLCAndXRmLTgnLCAnc3Vycm9nYXRlcGFzcycpKQogICAgIGRpc3BhdGNoW0JJTlVOSUNPREVbMF1dID0gbG9hZF9iaW51bmljb2RlCiAKICAgICBkZWYgbG9hZF9zaG9ydF9iaW5zdHJpbmcoc2VsZik6Ci0gICAgICAgIGxlbiA9IG9yZChzZWxmLnJlYWQoMSkpCi0gICAgICAgIGRhdGEgPSBieXRlcyhzZWxmLnJlYWQobGVuKSkKKyAgICAgICAgbGVuID0gc2VsZi5yZWFkKDEpWzBdCisgICAgICAgIGRhdGEgPSBzZWxmLnJlYWQobGVuKQogICAgICAgICB2YWx1ZSA9IHN0cihkYXRhLCBzZWxmLmVuY29kaW5nLCBzZWxmLmVycm9ycykKICAgICAgICAgc2VsZi5hcHBlbmQodmFsdWUpCiAgICAgZGlzcGF0Y2hbU0hPUlRfQklOU1RSSU5HWzBdXSA9IGxvYWRfc2hvcnRfYmluc3RyaW5nCiAKICAgICBkZWYgbG9hZF9zaG9ydF9iaW5ieXRlcyhzZWxmKToKLSAgICAgICAgbGVuID0gb3JkKHNlbGYucmVhZCgxKSkKLSAgICAgICAgc2VsZi5hcHBlbmQoYnl0ZXMoc2VsZi5yZWFkKGxlbikpKQorICAgICAgICBsZW4gPSBzZWxmLnJlYWQoMSlbMF0KKyAgICAgICAgc2VsZi5hcHBlbmQoc2VsZi5yZWFkKGxlbikpCiAgICAgZGlzcGF0Y2hbU0hPUlRfQklOQllURVNbMF1dID0gbG9hZF9zaG9ydF9iaW5ieXRlcwogCiAgICAgZGVmIGxvYWRfdHVwbGUoc2VsZik6CkBAIC0xMDM3LDEyICs5ODgsOSBAQAogCiAgICAgZGVmIGxvYWRfZGljdChzZWxmKToKICAgICAgICAgayA9IHNlbGYubWFya2VyKCkKLSAgICAgICAgZCA9IHt9CiAgICAgICAgIGl0ZW1zID0gc2VsZi5zdGFja1trKzE6XQotICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oaXRlbXMpLCAyKToKLSAgICAgICAgICAgIGtleSA9IGl0ZW1zW2ldCi0gICAgICAgICAgICB2YWx1ZSA9IGl0ZW1zW2krMV0KLSAgICAgICAgICAgIGRba2V5XSA9IHZhbHVlCisgICAgICAgIGQgPSB7aXRlbXNbaV06IGl0ZW1zW2krMV0KKyAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oaXRlbXMpLCAyKX0KICAgICAgICAgc2VsZi5zdGFja1trOl0gPSBbZF0KICAgICBkaXNwYXRjaFtESUNUWzBdXSA9IGxvYWRfZGljdAogCkBAIC0xMDk0LDE3ICsxMDQyLDE3IEBACiAgICAgZGlzcGF0Y2hbR0xPQkFMWzBdXSA9IGxvYWRfZ2xvYmFsCiAKICAgICBkZWYgbG9hZF9leHQxKHNlbGYpOgotICAgICAgICBjb2RlID0gb3JkKHNlbGYucmVhZCgxKSkKKyAgICAgICAgY29kZSA9IHNlbGYucmVhZCgxKVswXQogICAgICAgICBzZWxmLmdldF9leHRlbnNpb24oY29kZSkKICAgICBkaXNwYXRjaFtFWFQxWzBdXSA9IGxvYWRfZXh0MQogCiAgICAgZGVmIGxvYWRfZXh0MihzZWxmKToKLSAgICAgICAgY29kZSA9IG1sb2FkcyhiJ2knICsgc2VsZi5yZWFkKDIpICsgYidcMDAwXDAwMCcpCisgICAgICAgIGNvZGUsID0gdW5wYWNrKCc8SCcsIHNlbGYucmVhZCgyKSkKICAgICAgICAgc2VsZi5nZXRfZXh0ZW5zaW9uKGNvZGUpCiAgICAgZGlzcGF0Y2hbRVhUMlswXV0gPSBsb2FkX2V4dDIKIAogICAgIGRlZiBsb2FkX2V4dDQoc2VsZik6Ci0gICAgICAgIGNvZGUgPSBtbG9hZHMoYidpJyArIHNlbGYucmVhZCg0KSkKKyAgICAgICAgY29kZSwgPSB1bnBhY2soJzxpJywgc2VsZi5yZWFkKDQpKQogICAgICAgICBzZWxmLmdldF9leHRlbnNpb24oY29kZSkKICAgICBkaXNwYXRjaFtFWFQ0WzBdXSA9IGxvYWRfZXh0NAogCkBAIC0xMTE4LDcgKzEwNjYsNyBAQAogICAgICAgICBpZiBub3Qga2V5OgogICAgICAgICAgICAgaWYgY29kZSA8PSAwOiAjIG5vdGUgdGhhdCAwIGlzIGZvcmJpZGRlbgogICAgICAgICAgICAgICAgICMgQ29ycnVwdCBvciBob3N0aWxlIHBpY2tsZS4KLSAgICAgICAgICAgICAgICByYWlzZSBVbnBpY2tsaW5nRXJyb3IoIkVYVCBzcGVjaWZpZXMgY29kZSA8PSAwIik7CisgICAgICAgICAgICAgICAgcmFpc2UgVW5waWNrbGluZ0Vycm9yKCJFWFQgc3BlY2lmaWVzIGNvZGUgPD0gMCIpCiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bnJlZ2lzdGVyZWQgZXh0ZW5zaW9uIGNvZGUgJWQiICUgY29kZSkKICAgICAgICAgb2JqID0gc2VsZi5maW5kX2NsYXNzKCprZXkpCiAgICAgICAgIF9leHRlbnNpb25fY2FjaGVbY29kZV0gPSBvYmoKQEAgLTExNzIsNyArMTEyMCw3IEBACiAgICAgICAgIHNlbGYuYXBwZW5kKHNlbGYubWVtb1tpXSkKICAgICBkaXNwYXRjaFtCSU5HRVRbMF1dID0gbG9hZF9iaW5nZXQKIAotICAgIGRlZiBsb2FkX2xvbmdfYmluZ2V0KHNlbGYsIHVucGFjaz1zdHJ1Y3QudW5wYWNrKToKKyAgICBkZWYgbG9hZF9sb25nX2JpbmdldChzZWxmKToKICAgICAgICAgaSwgPSB1bnBhY2soJzxJJywgc2VsZi5yZWFkKDQpKQogICAgICAgICBzZWxmLmFwcGVuZChzZWxmLm1lbW9baV0pCiAgICAgZGlzcGF0Y2hbTE9OR19CSU5HRVRbMF1dID0gbG9hZF9sb25nX2JpbmdldApAQCAtMTE5MSw3ICsxMTM5LDcgQEAKICAgICAgICAgc2VsZi5tZW1vW2ldID0gc2VsZi5zdGFja1stMV0KICAgICBkaXNwYXRjaFtCSU5QVVRbMF1dID0gbG9hZF9iaW5wdXQKIAotICAgIGRlZiBsb2FkX2xvbmdfYmlucHV0KHNlbGYsIHVucGFjaz1zdHJ1Y3QudW5wYWNrLCBtYXhzaXplPXN5cy5tYXhzaXplKToKKyAgICBkZWYgbG9hZF9sb25nX2JpbnB1dChzZWxmKToKICAgICAgICAgaSwgPSB1bnBhY2soJzxJJywgc2VsZi5yZWFkKDQpKQogICAgICAgICBpZiBpID4gbWF4c2l6ZToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm5lZ2F0aXZlIExPTkdfQklOUFVUIGFyZ3VtZW50IikKQEAgLTEyNDIsNyArMTE5MCw3IEBACiAgICAgICAgIHN0YXRlID0gc3RhY2sucG9wKCkKICAgICAgICAgaW5zdCA9IHN0YWNrWy0xXQogICAgICAgICBzZXRzdGF0ZSA9IGdldGF0dHIoaW5zdCwgIl9fc2V0c3RhdGVfXyIsIE5vbmUpCi0gICAgICAgIGlmIHNldHN0YXRlOgorICAgICAgICBpZiBzZXRzdGF0ZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHNldHN0YXRlKHN0YXRlKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHNsb3RzdGF0ZSA9IE5vbmUKZGlmZiAtLWdpdCBhL0xpYi9waWNrbGV0b29scy5weSBiL0xpYi9waWNrbGV0b29scy5weQppbmRleCA2OWNlZGY3Li4zODZhOTVjIDEwMDY0NAotLS0gYS9MaWIvcGlja2xldG9vbHMucHkKKysrIGIvTGliL3BpY2tsZXRvb2xzLnB5CkBAIC0zNCwxMTkgKzM0LDExOCBAQAogIyAgIGJ5IGEgbGF0ZXIgR0VULgogCiAKLSIiIgotIkEgcGlja2xlIiBpcyBhIHByb2dyYW0gZm9yIGEgdmlydHVhbCBwaWNrbGUgbWFjaGluZSAoUE0sIGJ1dCBtb3JlIGFjY3VyYXRlbHkKLWNhbGxlZCBhbiB1bnBpY2tsaW5nIG1hY2hpbmUpLiAgSXQncyBhIHNlcXVlbmNlIG9mIG9wY29kZXMsIGludGVycHJldGVkIGJ5IHRoZQotUE0sIGJ1aWxkaW5nIGFuIGFyYml0cmFyaWx5IGNvbXBsZXggUHl0aG9uIG9iamVjdC4KKyMgIkEgcGlja2xlIiBpcyBhIHByb2dyYW0gZm9yIGEgdmlydHVhbCBwaWNrbGUgbWFjaGluZSAoUE0sIGJ1dCBtb3JlIGFjY3VyYXRlbHkKKyMgY2FsbGVkIGFuIHVucGlja2xpbmcgbWFjaGluZSkuICBJdCdzIGEgc2VxdWVuY2Ugb2Ygb3Bjb2RlcywgaW50ZXJwcmV0ZWQgYnkgdGhlCisjIFBNLCBidWlsZGluZyBhbiBhcmJpdHJhcmlseSBjb21wbGV4IFB5dGhvbiBvYmplY3QuCisjCisjIEZvciB0aGUgbW9zdCBwYXJ0LCB0aGUgUE0gaXMgdmVyeSBzaW1wbGU6ICB0aGVyZSBhcmUgbm8gbG9vcGluZywgdGVzdGluZywgb3IKKyMgY29uZGl0aW9uYWwgaW5zdHJ1Y3Rpb25zLCBubyBhcml0aG1ldGljIGFuZCBubyBmdW5jdGlvbiBjYWxscy4gIE9wY29kZXMgYXJlCisjIGV4ZWN1dGVkIG9uY2UgZWFjaCwgZnJvbSBmaXJzdCB0byBsYXN0LCB1bnRpbCBhIFNUT1Agb3Bjb2RlIGlzIHJlYWNoZWQuCisjCisjIFRoZSBQTSBoYXMgdHdvIGRhdGEgYXJlYXMsICJ0aGUgc3RhY2siIGFuZCAidGhlIG1lbW8iLgorIworIyBNYW55IG9wY29kZXMgcHVzaCBQeXRob24gb2JqZWN0cyBvbnRvIHRoZSBzdGFjazsgZS5nLiwgSU5UIHB1c2hlcyBhIFB5dGhvbgorIyBpbnRlZ2VyIG9iamVjdCBvbiB0aGUgc3RhY2ssIHdob3NlIHZhbHVlIGlzIGdvdHRlbiBmcm9tIGEgZGVjaW1hbCBzdHJpbmcKKyMgbGl0ZXJhbCBpbW1lZGlhdGVseSBmb2xsb3dpbmcgdGhlIElOVCBvcGNvZGUgaW4gdGhlIHBpY2tsZSBieXRlc3RyZWFtLiAgT3RoZXIKKyMgb3Bjb2RlcyB0YWtlIFB5dGhvbiBvYmplY3RzIG9mZiB0aGUgc3RhY2suICBUaGUgcmVzdWx0IG9mIHVucGlja2xpbmcgaXMKKyMgd2hhdGV2ZXIgb2JqZWN0IGlzIGxlZnQgb24gdGhlIHN0YWNrIHdoZW4gdGhlIGZpbmFsIFNUT1Agb3Bjb2RlIGlzIGV4ZWN1dGVkLgorIworIyBUaGUgbWVtbyBpcyBzaW1wbHkgYW4gYXJyYXkgb2Ygb2JqZWN0cywgb3IgaXQgY2FuIGJlIGltcGxlbWVudGVkIGFzIGEgZGljdAorIyBtYXBwaW5nIGxpdHRsZSBpbnRlZ2VycyB0byBvYmplY3RzLiAgVGhlIG1lbW8gc2VydmVzIGFzIHRoZSBQTSdzICJsb25nIHRlcm0KKyMgbWVtb3J5IiwgYW5kIHRoZSBsaXR0bGUgaW50ZWdlcnMgaW5kZXhpbmcgdGhlIG1lbW8gYXJlIGFraW4gdG8gdmFyaWFibGUKKyMgbmFtZXMuICBTb21lIG9wY29kZXMgcG9wIGEgc3RhY2sgb2JqZWN0IGludG8gdGhlIG1lbW8gYXQgYSBnaXZlbiBpbmRleCwKKyMgYW5kIG90aGVycyBwdXNoIGEgbWVtbyBvYmplY3QgYXQgYSBnaXZlbiBpbmRleCBvbnRvIHRoZSBzdGFjayBhZ2Fpbi4KKyMKKyMgQXQgaGVhcnQsIHRoYXQncyBhbGwgdGhlIFBNIGhhcy4gIFN1YnRsZXRpZXMgYXJpc2UgZm9yIHRoZXNlIHJlYXNvbnM6CisjCisjICsgT2JqZWN0IGlkZW50aXR5LiAgT2JqZWN0cyBjYW4gYmUgYXJiaXRyYXJpbHkgY29tcGxleCwgYW5kIHN1Ym9iamVjdHMKKyMgICBtYXkgYmUgc2hhcmVkIChmb3IgZXhhbXBsZSwgdGhlIGxpc3QgW2EsIGFdIHJlZmVycyB0byB0aGUgc2FtZSBvYmplY3QgYQorIyAgIHR3aWNlKS4gIEl0IGNhbiBiZSB2aXRhbCB0aGF0IHVucGlja2xpbmcgcmVjcmVhdGUgYW4gaXNvbW9ycGhpYyBvYmplY3QKKyMgICBncmFwaCwgZmFpdGhmdWxseSByZXByb2R1Y2luZyBzaGFyaW5nLgorIworIyArIFJlY3Vyc2l2ZSBvYmplY3RzLiAgRm9yIGV4YW1wbGUsIGFmdGVyICJMID0gW107IEwuYXBwZW5kKEwpIiwgTCBpcyBhCisjICAgbGlzdCwgYW5kIExbMF0gaXMgdGhlIHNhbWUgbGlzdC4gIFRoaXMgaXMgcmVsYXRlZCB0byB0aGUgb2JqZWN0IGlkZW50aXR5CisjICAgcG9pbnQsIGFuZCBzb21lIHNlcXVlbmNlcyBvZiBwaWNrbGUgb3Bjb2RlcyBhcmUgc3VidGxlIGluIG9yZGVyIHRvCisjICAgZ2V0IHRoZSByaWdodCByZXN1bHQgaW4gYWxsIGNhc2VzLgorIworIyArIFRoaW5ncyBwaWNrbGUgZG9lc24ndCBrbm93IGV2ZXJ5dGhpbmcgYWJvdXQuICBFeGFtcGxlcyBvZiB0aGluZ3MgcGlja2xlCisjICAgZG9lcyBrbm93IGV2ZXJ5dGhpbmcgYWJvdXQgYXJlIFB5dGhvbidzIGJ1aWx0aW4gc2NhbGFyIGFuZCBjb250YWluZXIKKyMgICB0eXBlcywgbGlrZSBpbnRzIGFuZCB0dXBsZXMuICBUaGV5IGdlbmVyYWxseSBoYXZlIG9wY29kZXMgZGVkaWNhdGVkIHRvCisjICAgdGhlbS4gIEZvciB0aGluZ3MgbGlrZSBtb2R1bGUgcmVmZXJlbmNlcyBhbmQgaW5zdGFuY2VzIG9mIHVzZXItZGVmaW5lZAorIyAgIGNsYXNzZXMsIHBpY2tsZSdzIGtub3dsZWRnZSBpcyBsaW1pdGVkLiAgSGlzdG9yaWNhbGx5LCBtYW55IGVuaGFuY2VtZW50cworIyAgIGhhdmUgYmVlbiBtYWRlIHRvIHRoZSBwaWNrbGUgcHJvdG9jb2wgaW4gb3JkZXIgdG8gZG8gYSBiZXR0ZXIgKGZhc3RlciwKKyMgICBhbmQvb3IgbW9yZSBjb21wYWN0KSBqb2Igb24gdGhvc2UuCisjCisjICsgQmFja3dhcmQgY29tcGF0aWJpbGl0eSBhbmQgbWljcm8tb3B0aW1pemF0aW9uLiAgQXMgZXhwbGFpbmVkIGJlbG93LAorIyAgIHBpY2tsZSBvcGNvZGVzIG5ldmVyIGdvIGF3YXksIG5vdCBldmVuIHdoZW4gYmV0dGVyIHdheXMgdG8gZG8gYSB0aGluZworIyAgIGdldCBpbnZlbnRlZC4gIFRoZSByZXBlcnRvaXJlIG9mIHRoZSBQTSBqdXN0IGtlZXBzIGdyb3dpbmcgb3ZlciB0aW1lLgorIyAgIEZvciBleGFtcGxlLCBwcm90b2NvbCAwIGhhZCB0d28gb3Bjb2RlcyBmb3IgYnVpbGRpbmcgUHl0aG9uIGludGVnZXJzIChJTlQKKyMgICBhbmQgTE9ORyksIHByb3RvY29sIDEgYWRkZWQgdGhyZWUgbW9yZSBmb3IgbW9yZS1lZmZpY2llbnQgcGlja2xpbmcgb2Ygc2hvcnQKKyMgICBpbnRlZ2VycywgYW5kIHByb3RvY29sIDIgYWRkZWQgdHdvIG1vcmUgZm9yIG1vcmUtZWZmaWNpZW50IHBpY2tsaW5nIG9mCisjICAgbG9uZyBpbnRlZ2VycyAoYmVmb3JlIHByb3RvY29sIDIsIHRoZSBvbmx5IHdheXMgdG8gcGlja2xlIGEgUHl0aG9uIGxvbmcKKyMgICB0b29rIHRpbWUgcXVhZHJhdGljIGluIHRoZSBudW1iZXIgb2YgZGlnaXRzLCBmb3IgYm90aCBwaWNrbGluZyBhbmQKKyMgICB1bnBpY2tsaW5nKS4gICJPcGNvZGUgYmxvYXQiIGlzbid0IHNvIG11Y2ggYSBzdWJ0bGV0eSBhcyBhIHNvdXJjZSBvZgorIyAgIHdlYXJ5aW5nIGNvbXBsaWNhdGlvbi4KKyMKKyMKKyMgUGlja2xlIHByb3RvY29sczoKKyMKKyMgRm9yIGNvbXBhdGliaWxpdHksIHRoZSBtZWFuaW5nIG9mIGEgcGlja2xlIG9wY29kZSBuZXZlciBjaGFuZ2VzLiAgSW5zdGVhZCBuZXcKKyMgcGlja2xlIG9wY29kZXMgZ2V0IGFkZGVkLCBhbmQgZWFjaCB2ZXJzaW9uJ3MgdW5waWNrbGVyIGNhbiBoYW5kbGUgYWxsIHRoZQorIyBwaWNrbGUgb3Bjb2RlcyBpbiBhbGwgcHJvdG9jb2wgdmVyc2lvbnMgdG8gZGF0ZS4gIFNvIG9sZCBwaWNrbGVzIGNvbnRpbnVlIHRvCisjIGJlIHJlYWRhYmxlIGZvcmV2ZXIuICBUaGUgcGlja2xlciBjYW4gZ2VuZXJhbGx5IGJlIHRvbGQgdG8gcmVzdHJpY3QgaXRzZWxmIHRvCisjIHRoZSBzdWJzZXQgb2Ygb3Bjb2RlcyBhdmFpbGFibGUgdW5kZXIgcHJldmlvdXMgcHJvdG9jb2wgdmVyc2lvbnMgdG9vLCBzbyB0aGF0CisjIHVzZXJzIGNhbiBjcmVhdGUgcGlja2xlcyB1bmRlciB0aGUgY3VycmVudCB2ZXJzaW9uIHJlYWRhYmxlIGJ5IG9sZGVyCisjIHZlcnNpb25zLiAgSG93ZXZlciwgYSBwaWNrbGUgZG9lcyBub3QgY29udGFpbiBpdHMgdmVyc2lvbiBudW1iZXIgZW1iZWRkZWQKKyMgd2l0aGluIGl0LiAgSWYgYW4gb2xkZXIgdW5waWNrbGVyIHRyaWVzIHRvIHJlYWQgYSBwaWNrbGUgdXNpbmcgYSBsYXRlcgorIyBwcm90b2NvbCwgdGhlIHJlc3VsdCBpcyBtb3N0IGxpa2VseSBhbiBleGNlcHRpb24gZHVlIHRvIHNlZWluZyBhbiB1bmtub3duIChpbgorIyB0aGUgb2xkZXIgdW5waWNrbGVyKSBvcGNvZGUuCisjCisjIFRoZSBvcmlnaW5hbCBwaWNrbGUgdXNlZCB3aGF0J3Mgbm93IGNhbGxlZCAicHJvdG9jb2wgMCIsIGFuZCB3aGF0IHdhcyBjYWxsZWQKKyMgInRleHQgbW9kZSIgYmVmb3JlIFB5dGhvbiAyLjMuICBUaGUgZW50aXJlIHBpY2tsZSBieXRlc3RyZWFtIGlzIG1hZGUgdXAgb2YKKyMgcHJpbnRhYmxlIDctYml0IEFTQ0lJIGNoYXJhY3RlcnMsIHBsdXMgdGhlIG5ld2xpbmUgY2hhcmFjdGVyLCBpbiBwcm90b2NvbCAwLgorIyBUaGF0J3Mgd2h5IGl0IHdhcyBjYWxsZWQgdGV4dCBtb2RlLiAgUHJvdG9jb2wgMCBpcyBzbWFsbCBhbmQgZWxlZ2FudCwgYnV0CisjIHNvbWV0aW1lcyBwYWluZnVsbHkgaW5lZmZpY2llbnQuCisjCisjIFRoZSBzZWNvbmQgbWFqb3Igc2V0IG9mIGFkZGl0aW9ucyBpcyBub3cgY2FsbGVkICJwcm90b2NvbCAxIiwgYW5kIHdhcyBjYWxsZWQKKyMgImJpbmFyeSBtb2RlIiBiZWZvcmUgUHl0aG9uIDIuMy4gIFRoaXMgYWRkZWQgbWFueSBvcGNvZGVzIHdpdGggYXJndW1lbnRzCisjIGNvbnNpc3Rpbmcgb2YgYXJiaXRyYXJ5IGJ5dGVzLCBpbmNsdWRpbmcgTlVMIGJ5dGVzIGFuZCB1bnByaW50YWJsZSAiaGlnaCBiaXQiCisjIGJ5dGVzLiAgQmluYXJ5IG1vZGUgcGlja2xlcyBjYW4gYmUgc3Vic3RhbnRpYWxseSBzbWFsbGVyIHRoYW4gZXF1aXZhbGVudAorIyB0ZXh0IG1vZGUgcGlja2xlcywgYW5kIHNvbWV0aW1lcyBmYXN0ZXIgdG9vOyBlLmcuLCBCSU5JTlQgcmVwcmVzZW50cyBhIDQtYnl0ZQorIyBpbnQgYXMgNCBieXRlcyBmb2xsb3dpbmcgdGhlIG9wY29kZSwgd2hpY2ggaXMgY2hlYXBlciB0byB1bnBpY2tsZSB0aGFuIHRoZQorIyAocGVyaGFwcykgMTEtY2hhcmFjdGVyIGRlY2ltYWwgc3RyaW5nIGF0dGFjaGVkIHRvIElOVC4gIFByb3RvY29sIDEgYWxzbyBhZGRlZAorIyBhIG51bWJlciBvZiBvcGNvZGVzIHRoYXQgb3BlcmF0ZSBvbiBtYW55IHN0YWNrIGVsZW1lbnRzIGF0IG9uY2UgKGxpa2UgQVBQRU5EUworIyBhbmQgU0VUSVRFTVMpLCBhbmQgInNob3J0Y3V0IiBvcGNvZGVzIChsaWtlIEVNUFRZX0RJQ1QgYW5kIEVNUFRZX1RVUExFKS4KKyMKKyMgVGhlIHRoaXJkIG1ham9yIHNldCBvZiBhZGRpdGlvbnMgY2FtZSBpbiBQeXRob24gMi4zLCBhbmQgaXMgY2FsbGVkICJwcm90b2NvbAorIyAyIi4gIFRoaXMgYWRkZWQ6CisjCisjIC0gQSBiZXR0ZXIgd2F5IHRvIHBpY2tsZSBpbnN0YW5jZXMgb2YgbmV3LXN0eWxlIGNsYXNzZXMgKE5FV09CSikuCisjCisjIC0gQSB3YXkgZm9yIGEgcGlja2xlIHRvIGlkZW50aWZ5IGl0cyBwcm90b2NvbCAoUFJPVE8pLgorIworIyAtIFRpbWUtIGFuZCBzcGFjZS0gZWZmaWNpZW50IHBpY2tsaW5nIG9mIGxvbmcgaW50cyAoTE9OR3sxLDR9KS4KKyMKKyMgLSBTaG9ydGN1dHMgZm9yIHNtYWxsIHR1cGxlcyAoVFVQTEV7MSwyLDN9fS4KKyMKKyMgLSBEZWRpY2F0ZWQgb3Bjb2RlcyBmb3IgYm9vbHMgKE5FV1RSVUUsIE5FV0ZBTFNFKS4KKyMKKyMgLSBUaGUgImV4dGVuc2lvbiByZWdpc3RyeSIsIGEgdmVjdG9yIG9mIHBvcHVsYXIgb2JqZWN0cyB0aGF0IGNhbiBiZSBwdXNoZWQKKyMgICBlZmZpY2llbnRseSBieSBpbmRleCAoRVhUezEsMiw0fSkuICBUaGlzIGlzIGFraW4gdG8gdGhlIG1lbW8gYW5kIEdFVCwgYnV0CisjICAgdGhlIHJlZ2lzdHJ5IGNvbnRlbnRzIGFyZSBwcmVkZWZpbmVkICh0aGVyZSdzIG5vdGhpbmcgYWtpbiB0byB0aGUgbWVtbydzCisjICAgUFVUKS4KKyMKKyMgQW5vdGhlciBpbmRlcGVuZGVudCBjaGFuZ2Ugd2l0aCBQeXRob24gMi4zIGlzIHRoZSBhYmFuZG9ubWVudCBvZiBhbnkKKyMgcHJldGVuc2UgdGhhdCBpdCBtaWdodCBiZSBzYWZlIHRvIGxvYWQgcGlja2xlcyByZWNlaXZlZCBmcm9tIHVudHJ1c3RlZAorIyBwYXJ0aWVzIC0tIG5vIHN1ZmZpY2llbnQgc2VjdXJpdHkgYW5hbHlzaXMgaGFzIGJlZW4gZG9uZSB0byBndWFyYW50ZWUKKyMgdGhpcyBhbmQgdGhlcmUgaXNuJ3QgYSB1c2UgY2FzZSB0aGF0IHdhcnJhbnRzIHRoZSBleHBlbnNlIG9mIHN1Y2ggYW4KKyMgYW5hbHlzaXMuCisjCisjIFRvIHRoaXMgZW5kLCBhbGwgdGVzdHMgZm9yIF9fc2FmZV9mb3JfdW5waWNrbGluZ19fIG9yIGZvcgorIyBjb3B5cmVnLnNhZmVfY29uc3RydWN0b3JzIGFyZSByZW1vdmVkIGZyb20gdGhlIHVucGlja2xpbmcgY29kZS4KKyMgUmVmZXJlbmNlcyB0byB0aGVzZSB2YXJpYWJsZXMgaW4gdGhlIGRlc2NyaXB0aW9ucyBiZWxvdyBhcmUgdG8gYmUgc2VlbgorIyBhcyBkZXNjcmliaW5nIHVucGlja2xpbmcgaW4gUHl0aG9uIDIuMiBhbmQgYmVmb3JlLgogCi1Gb3IgdGhlIG1vc3QgcGFydCwgdGhlIFBNIGlzIHZlcnkgc2ltcGxlOiAgdGhlcmUgYXJlIG5vIGxvb3BpbmcsIHRlc3RpbmcsIG9yCi1jb25kaXRpb25hbCBpbnN0cnVjdGlvbnMsIG5vIGFyaXRobWV0aWMgYW5kIG5vIGZ1bmN0aW9uIGNhbGxzLiAgT3Bjb2RlcyBhcmUKLWV4ZWN1dGVkIG9uY2UgZWFjaCwgZnJvbSBmaXJzdCB0byBsYXN0LCB1bnRpbCBhIFNUT1Agb3Bjb2RlIGlzIHJlYWNoZWQuCi0KLVRoZSBQTSBoYXMgdHdvIGRhdGEgYXJlYXMsICJ0aGUgc3RhY2siIGFuZCAidGhlIG1lbW8iLgotCi1NYW55IG9wY29kZXMgcHVzaCBQeXRob24gb2JqZWN0cyBvbnRvIHRoZSBzdGFjazsgZS5nLiwgSU5UIHB1c2hlcyBhIFB5dGhvbgotaW50ZWdlciBvYmplY3Qgb24gdGhlIHN0YWNrLCB3aG9zZSB2YWx1ZSBpcyBnb3R0ZW4gZnJvbSBhIGRlY2ltYWwgc3RyaW5nCi1saXRlcmFsIGltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGUgSU5UIG9wY29kZSBpbiB0aGUgcGlja2xlIGJ5dGVzdHJlYW0uICBPdGhlcgotb3Bjb2RlcyB0YWtlIFB5dGhvbiBvYmplY3RzIG9mZiB0aGUgc3RhY2suICBUaGUgcmVzdWx0IG9mIHVucGlja2xpbmcgaXMKLXdoYXRldmVyIG9iamVjdCBpcyBsZWZ0IG9uIHRoZSBzdGFjayB3aGVuIHRoZSBmaW5hbCBTVE9QIG9wY29kZSBpcyBleGVjdXRlZC4KLQotVGhlIG1lbW8gaXMgc2ltcGx5IGFuIGFycmF5IG9mIG9iamVjdHMsIG9yIGl0IGNhbiBiZSBpbXBsZW1lbnRlZCBhcyBhIGRpY3QKLW1hcHBpbmcgbGl0dGxlIGludGVnZXJzIHRvIG9iamVjdHMuICBUaGUgbWVtbyBzZXJ2ZXMgYXMgdGhlIFBNJ3MgImxvbmcgdGVybQotbWVtb3J5IiwgYW5kIHRoZSBsaXR0bGUgaW50ZWdlcnMgaW5kZXhpbmcgdGhlIG1lbW8gYXJlIGFraW4gdG8gdmFyaWFibGUKLW5hbWVzLiAgU29tZSBvcGNvZGVzIHBvcCBhIHN0YWNrIG9iamVjdCBpbnRvIHRoZSBtZW1vIGF0IGEgZ2l2ZW4gaW5kZXgsCi1hbmQgb3RoZXJzIHB1c2ggYSBtZW1vIG9iamVjdCBhdCBhIGdpdmVuIGluZGV4IG9udG8gdGhlIHN0YWNrIGFnYWluLgotCi1BdCBoZWFydCwgdGhhdCdzIGFsbCB0aGUgUE0gaGFzLiAgU3VidGxldGllcyBhcmlzZSBmb3IgdGhlc2UgcmVhc29uczoKLQotKyBPYmplY3QgaWRlbnRpdHkuICBPYmplY3RzIGNhbiBiZSBhcmJpdHJhcmlseSBjb21wbGV4LCBhbmQgc3Vib2JqZWN0cwotICBtYXkgYmUgc2hhcmVkIChmb3IgZXhhbXBsZSwgdGhlIGxpc3QgW2EsIGFdIHJlZmVycyB0byB0aGUgc2FtZSBvYmplY3QgYQotICB0d2ljZSkuICBJdCBjYW4gYmUgdml0YWwgdGhhdCB1bnBpY2tsaW5nIHJlY3JlYXRlIGFuIGlzb21vcnBoaWMgb2JqZWN0Ci0gIGdyYXBoLCBmYWl0aGZ1bGx5IHJlcHJvZHVjaW5nIHNoYXJpbmcuCi0KLSsgUmVjdXJzaXZlIG9iamVjdHMuICBGb3IgZXhhbXBsZSwgYWZ0ZXIgIkwgPSBbXTsgTC5hcHBlbmQoTCkiLCBMIGlzIGEKLSAgbGlzdCwgYW5kIExbMF0gaXMgdGhlIHNhbWUgbGlzdC4gIFRoaXMgaXMgcmVsYXRlZCB0byB0aGUgb2JqZWN0IGlkZW50aXR5Ci0gIHBvaW50LCBhbmQgc29tZSBzZXF1ZW5jZXMgb2YgcGlja2xlIG9wY29kZXMgYXJlIHN1YnRsZSBpbiBvcmRlciB0bwotICBnZXQgdGhlIHJpZ2h0IHJlc3VsdCBpbiBhbGwgY2FzZXMuCi0KLSsgVGhpbmdzIHBpY2tsZSBkb2Vzbid0IGtub3cgZXZlcnl0aGluZyBhYm91dC4gIEV4YW1wbGVzIG9mIHRoaW5ncyBwaWNrbGUKLSAgZG9lcyBrbm93IGV2ZXJ5dGhpbmcgYWJvdXQgYXJlIFB5dGhvbidzIGJ1aWx0aW4gc2NhbGFyIGFuZCBjb250YWluZXIKLSAgdHlwZXMsIGxpa2UgaW50cyBhbmQgdHVwbGVzLiAgVGhleSBnZW5lcmFsbHkgaGF2ZSBvcGNvZGVzIGRlZGljYXRlZCB0bwotICB0aGVtLiAgRm9yIHRoaW5ncyBsaWtlIG1vZHVsZSByZWZlcmVuY2VzIGFuZCBpbnN0YW5jZXMgb2YgdXNlci1kZWZpbmVkCi0gIGNsYXNzZXMsIHBpY2tsZSdzIGtub3dsZWRnZSBpcyBsaW1pdGVkLiAgSGlzdG9yaWNhbGx5LCBtYW55IGVuaGFuY2VtZW50cwotICBoYXZlIGJlZW4gbWFkZSB0byB0aGUgcGlja2xlIHByb3RvY29sIGluIG9yZGVyIHRvIGRvIGEgYmV0dGVyIChmYXN0ZXIsCi0gIGFuZC9vciBtb3JlIGNvbXBhY3QpIGpvYiBvbiB0aG9zZS4KLQotKyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGFuZCBtaWNyby1vcHRpbWl6YXRpb24uICBBcyBleHBsYWluZWQgYmVsb3csCi0gIHBpY2tsZSBvcGNvZGVzIG5ldmVyIGdvIGF3YXksIG5vdCBldmVuIHdoZW4gYmV0dGVyIHdheXMgdG8gZG8gYSB0aGluZwotICBnZXQgaW52ZW50ZWQuICBUaGUgcmVwZXJ0b2lyZSBvZiB0aGUgUE0ganVzdCBrZWVwcyBncm93aW5nIG92ZXIgdGltZS4KLSAgRm9yIGV4YW1wbGUsIHByb3RvY29sIDAgaGFkIHR3byBvcGNvZGVzIGZvciBidWlsZGluZyBQeXRob24gaW50ZWdlcnMgKElOVAotICBhbmQgTE9ORyksIHByb3RvY29sIDEgYWRkZWQgdGhyZWUgbW9yZSBmb3IgbW9yZS1lZmZpY2llbnQgcGlja2xpbmcgb2Ygc2hvcnQKLSAgaW50ZWdlcnMsIGFuZCBwcm90b2NvbCAyIGFkZGVkIHR3byBtb3JlIGZvciBtb3JlLWVmZmljaWVudCBwaWNrbGluZyBvZgotICBsb25nIGludGVnZXJzIChiZWZvcmUgcHJvdG9jb2wgMiwgdGhlIG9ubHkgd2F5cyB0byBwaWNrbGUgYSBQeXRob24gbG9uZwotICB0b29rIHRpbWUgcXVhZHJhdGljIGluIHRoZSBudW1iZXIgb2YgZGlnaXRzLCBmb3IgYm90aCBwaWNrbGluZyBhbmQKLSAgdW5waWNrbGluZykuICAiT3Bjb2RlIGJsb2F0IiBpc24ndCBzbyBtdWNoIGEgc3VidGxldHkgYXMgYSBzb3VyY2Ugb2YKLSAgd2VhcnlpbmcgY29tcGxpY2F0aW9uLgotCi0KLVBpY2tsZSBwcm90b2NvbHM6Ci0KLUZvciBjb21wYXRpYmlsaXR5LCB0aGUgbWVhbmluZyBvZiBhIHBpY2tsZSBvcGNvZGUgbmV2ZXIgY2hhbmdlcy4gIEluc3RlYWQgbmV3Ci1waWNrbGUgb3Bjb2RlcyBnZXQgYWRkZWQsIGFuZCBlYWNoIHZlcnNpb24ncyB1bnBpY2tsZXIgY2FuIGhhbmRsZSBhbGwgdGhlCi1waWNrbGUgb3Bjb2RlcyBpbiBhbGwgcHJvdG9jb2wgdmVyc2lvbnMgdG8gZGF0ZS4gIFNvIG9sZCBwaWNrbGVzIGNvbnRpbnVlIHRvCi1iZSByZWFkYWJsZSBmb3JldmVyLiAgVGhlIHBpY2tsZXIgY2FuIGdlbmVyYWxseSBiZSB0b2xkIHRvIHJlc3RyaWN0IGl0c2VsZiB0bwotdGhlIHN1YnNldCBvZiBvcGNvZGVzIGF2YWlsYWJsZSB1bmRlciBwcmV2aW91cyBwcm90b2NvbCB2ZXJzaW9ucyB0b28sIHNvIHRoYXQKLXVzZXJzIGNhbiBjcmVhdGUgcGlja2xlcyB1bmRlciB0aGUgY3VycmVudCB2ZXJzaW9uIHJlYWRhYmxlIGJ5IG9sZGVyCi12ZXJzaW9ucy4gIEhvd2V2ZXIsIGEgcGlja2xlIGRvZXMgbm90IGNvbnRhaW4gaXRzIHZlcnNpb24gbnVtYmVyIGVtYmVkZGVkCi13aXRoaW4gaXQuICBJZiBhbiBvbGRlciB1bnBpY2tsZXIgdHJpZXMgdG8gcmVhZCBhIHBpY2tsZSB1c2luZyBhIGxhdGVyCi1wcm90b2NvbCwgdGhlIHJlc3VsdCBpcyBtb3N0IGxpa2VseSBhbiBleGNlcHRpb24gZHVlIHRvIHNlZWluZyBhbiB1bmtub3duIChpbgotdGhlIG9sZGVyIHVucGlja2xlcikgb3Bjb2RlLgotCi1UaGUgb3JpZ2luYWwgcGlja2xlIHVzZWQgd2hhdCdzIG5vdyBjYWxsZWQgInByb3RvY29sIDAiLCBhbmQgd2hhdCB3YXMgY2FsbGVkCi0idGV4dCBtb2RlIiBiZWZvcmUgUHl0aG9uIDIuMy4gIFRoZSBlbnRpcmUgcGlja2xlIGJ5dGVzdHJlYW0gaXMgbWFkZSB1cCBvZgotcHJpbnRhYmxlIDctYml0IEFTQ0lJIGNoYXJhY3RlcnMsIHBsdXMgdGhlIG5ld2xpbmUgY2hhcmFjdGVyLCBpbiBwcm90b2NvbCAwLgotVGhhdCdzIHdoeSBpdCB3YXMgY2FsbGVkIHRleHQgbW9kZS4gIFByb3RvY29sIDAgaXMgc21hbGwgYW5kIGVsZWdhbnQsIGJ1dAotc29tZXRpbWVzIHBhaW5mdWxseSBpbmVmZmljaWVudC4KLQotVGhlIHNlY29uZCBtYWpvciBzZXQgb2YgYWRkaXRpb25zIGlzIG5vdyBjYWxsZWQgInByb3RvY29sIDEiLCBhbmQgd2FzIGNhbGxlZAotImJpbmFyeSBtb2RlIiBiZWZvcmUgUHl0aG9uIDIuMy4gIFRoaXMgYWRkZWQgbWFueSBvcGNvZGVzIHdpdGggYXJndW1lbnRzCi1jb25zaXN0aW5nIG9mIGFyYml0cmFyeSBieXRlcywgaW5jbHVkaW5nIE5VTCBieXRlcyBhbmQgdW5wcmludGFibGUgImhpZ2ggYml0IgotYnl0ZXMuICBCaW5hcnkgbW9kZSBwaWNrbGVzIGNhbiBiZSBzdWJzdGFudGlhbGx5IHNtYWxsZXIgdGhhbiBlcXVpdmFsZW50Ci10ZXh0IG1vZGUgcGlja2xlcywgYW5kIHNvbWV0aW1lcyBmYXN0ZXIgdG9vOyBlLmcuLCBCSU5JTlQgcmVwcmVzZW50cyBhIDQtYnl0ZQotaW50IGFzIDQgYnl0ZXMgZm9sbG93aW5nIHRoZSBvcGNvZGUsIHdoaWNoIGlzIGNoZWFwZXIgdG8gdW5waWNrbGUgdGhhbiB0aGUKLShwZXJoYXBzKSAxMS1jaGFyYWN0ZXIgZGVjaW1hbCBzdHJpbmcgYXR0YWNoZWQgdG8gSU5ULiAgUHJvdG9jb2wgMSBhbHNvIGFkZGVkCi1hIG51bWJlciBvZiBvcGNvZGVzIHRoYXQgb3BlcmF0ZSBvbiBtYW55IHN0YWNrIGVsZW1lbnRzIGF0IG9uY2UgKGxpa2UgQVBQRU5EUwotYW5kIFNFVElURU1TKSwgYW5kICJzaG9ydGN1dCIgb3Bjb2RlcyAobGlrZSBFTVBUWV9ESUNUIGFuZCBFTVBUWV9UVVBMRSkuCi0KLVRoZSB0aGlyZCBtYWpvciBzZXQgb2YgYWRkaXRpb25zIGNhbWUgaW4gUHl0aG9uIDIuMywgYW5kIGlzIGNhbGxlZCAicHJvdG9jb2wKLTIiLiAgVGhpcyBhZGRlZDoKLQotLSBBIGJldHRlciB3YXkgdG8gcGlja2xlIGluc3RhbmNlcyBvZiBuZXctc3R5bGUgY2xhc3NlcyAoTkVXT0JKKS4KLQotLSBBIHdheSBmb3IgYSBwaWNrbGUgdG8gaWRlbnRpZnkgaXRzIHByb3RvY29sIChQUk9UTykuCi0KLS0gVGltZS0gYW5kIHNwYWNlLSBlZmZpY2llbnQgcGlja2xpbmcgb2YgbG9uZyBpbnRzIChMT05HezEsNH0pLgotCi0tIFNob3J0Y3V0cyBmb3Igc21hbGwgdHVwbGVzIChUVVBMRXsxLDIsM319LgotCi0tIERlZGljYXRlZCBvcGNvZGVzIGZvciBib29scyAoTkVXVFJVRSwgTkVXRkFMU0UpLgotCi0tIFRoZSAiZXh0ZW5zaW9uIHJlZ2lzdHJ5IiwgYSB2ZWN0b3Igb2YgcG9wdWxhciBvYmplY3RzIHRoYXQgY2FuIGJlIHB1c2hlZAotICBlZmZpY2llbnRseSBieSBpbmRleCAoRVhUezEsMiw0fSkuICBUaGlzIGlzIGFraW4gdG8gdGhlIG1lbW8gYW5kIEdFVCwgYnV0Ci0gIHRoZSByZWdpc3RyeSBjb250ZW50cyBhcmUgcHJlZGVmaW5lZCAodGhlcmUncyBub3RoaW5nIGFraW4gdG8gdGhlIG1lbW8ncwotICBQVVQpLgotCi1Bbm90aGVyIGluZGVwZW5kZW50IGNoYW5nZSB3aXRoIFB5dGhvbiAyLjMgaXMgdGhlIGFiYW5kb25tZW50IG9mIGFueQotcHJldGVuc2UgdGhhdCBpdCBtaWdodCBiZSBzYWZlIHRvIGxvYWQgcGlja2xlcyByZWNlaXZlZCBmcm9tIHVudHJ1c3RlZAotcGFydGllcyAtLSBubyBzdWZmaWNpZW50IHNlY3VyaXR5IGFuYWx5c2lzIGhhcyBiZWVuIGRvbmUgdG8gZ3VhcmFudGVlCi10aGlzIGFuZCB0aGVyZSBpc24ndCBhIHVzZSBjYXNlIHRoYXQgd2FycmFudHMgdGhlIGV4cGVuc2Ugb2Ygc3VjaCBhbgotYW5hbHlzaXMuCi0KLVRvIHRoaXMgZW5kLCBhbGwgdGVzdHMgZm9yIF9fc2FmZV9mb3JfdW5waWNrbGluZ19fIG9yIGZvcgotY29weXJlZy5zYWZlX2NvbnN0cnVjdG9ycyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSB1bnBpY2tsaW5nIGNvZGUuCi1SZWZlcmVuY2VzIHRvIHRoZXNlIHZhcmlhYmxlcyBpbiB0aGUgZGVzY3JpcHRpb25zIGJlbG93IGFyZSB0byBiZSBzZWVuCi1hcyBkZXNjcmliaW5nIHVucGlja2xpbmcgaW4gUHl0aG9uIDIuMiBhbmQgYmVmb3JlLgotIiIiCiAKICMgTWV0YS1ydWxlOiAgRGVzY3JpcHRpb25zIGFyZSBzdG9yZWQgaW4gaW5zdGFuY2VzIG9mIGRlc2NyaXB0b3Igb2JqZWN0cywKICMgd2l0aCBwbGFpbiBjb25zdHJ1Y3RvcnMuICBObyBtZXRhLWxhbmd1YWdlIGlzIGRlZmluZWQgZnJvbSB3aGljaApkaWZmIC0tZ2l0IGEvTGliL3BrZ3V0aWwucHkgYi9MaWIvcGtndXRpbC5weQppbmRleCAyMGU2NDk4Li4xOTAxYTViIDEwMDY0NAotLS0gYS9MaWIvcGtndXRpbC5weQorKysgYi9MaWIvcGtndXRpbC5weQpAQCAtMTIxLDggKzEyMSw3IEBACiAgICAgICAgICAgICAgICAgIyBkb24ndCB0cmF2ZXJzZSBwYXRoIGl0ZW1zIHdlJ3ZlIHNlZW4gYmVmb3JlCiAgICAgICAgICAgICAgICAgcGF0aCA9IFtwIGZvciBwIGluIHBhdGggaWYgbm90IHNlZW4ocCldCiAKLSAgICAgICAgICAgICAgICBmb3IgaXRlbSBpbiB3YWxrX3BhY2thZ2VzKHBhdGgsIG5hbWUrJy4nLCBvbmVycm9yKToKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgaXRlbQorICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gd2Fsa19wYWNrYWdlcyhwYXRoLCBuYW1lKycuJywgb25lcnJvcikKIAogCiBkZWYgaXRlcl9tb2R1bGVzKHBhdGg9Tm9uZSwgcHJlZml4PScnKToKQEAgLTM1MCw5ICszNDksOCBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQogICAgICAgICAgICAgZWxpZiBtb2RfdHlwZT09aW1wLlBZX0NPTVBJTEVEOgogICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuZmlsZW5hbWVbOi0xXSk6Ci0gICAgICAgICAgICAgICAgICAgIGYgPSBvcGVuKHNlbGYuZmlsZW5hbWVbOi0xXSwgJ3InKQotICAgICAgICAgICAgICAgICAgICBzZWxmLnNvdXJjZSA9IGYucmVhZCgpCi0gICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZVs6LTFdLCAncicpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNvdXJjZSA9IGYucmVhZCgpCiAgICAgICAgICAgICBlbGlmIG1vZF90eXBlPT1pbXAuUEtHX0RJUkVDVE9SWToKICAgICAgICAgICAgICAgICBzZWxmLnNvdXJjZSA9IHNlbGYuX2dldF9kZWxlZ2F0ZSgpLmdldF9zb3VyY2UoKQogICAgICAgICByZXR1cm4gc2VsZi5zb3VyY2UKQEAgLTQ1Niw4ICs0NTQsNyBAQAogICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CiAgICAgICAgICAgICByZXR1cm4KICAgICBlbHNlOgotICAgICAgICBmb3IgaW1wb3J0ZXIgaW4gc3lzLm1ldGFfcGF0aDoKLSAgICAgICAgICAgIHlpZWxkIGltcG9ydGVyCisgICAgICAgIHlpZWxkIGZyb20gc3lzLm1ldGFfcGF0aAogICAgICAgICBwYXRoID0gc3lzLnBhdGgKICAgICBmb3IgaXRlbSBpbiBwYXRoOgogICAgICAgICB5aWVsZCBnZXRfaW1wb3J0ZXIoaXRlbSkKQEAgLTU4OSwxNiArNTg2LDE2IEBACiAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKHBrZ2ZpbGUpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGYgPSBvcGVuKHBrZ2ZpbGUpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiQ2FuJ3Qgb3BlbiAlczogJXNcbiIgJQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBrZ2ZpbGUsIG1zZykpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6Ci0gICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJzdHJpcCgnXG4nKQotICAgICAgICAgICAgICAgICAgICBpZiBub3QgbGluZSBvciBsaW5lLnN0YXJ0c3dpdGgoJyMnKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgICAgIHBhdGguYXBwZW5kKGxpbmUpICMgRG9uJ3QgY2hlY2sgZm9yIGV4aXN0ZW5jZSEKLSAgICAgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgICAgICAgICB3aXRoIGY6CisgICAgICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yc3RyaXAoJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBsaW5lIG9yIGxpbmUuc3RhcnRzd2l0aCgnIycpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLmFwcGVuZChsaW5lKSAjIERvbid0IGNoZWNrIGZvciBleGlzdGVuY2UhCiAKICAgICByZXR1cm4gcGF0aAogCmRpZmYgLS1naXQgYS9MaWIvcGxhdC1vczJlbXgvSU4ucHkgYi9MaWIvcGxhdC1vczJlbXgvSU4ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1M2FlMjQuLjAwMDAwMDAKLS0tIGEvTGliL3BsYXQtb3MyZW14L0lOLnB5CisrKyAvZGV2L251bGwKQEAgLTEsODIgKzAsMCBAQAotIyBHZW5lcmF0ZWQgYnkgaDJweSBmcm9tIGY6L2VteC9pbmNsdWRlL25ldGluZXQvaW4uaAotCi0jIEluY2x1ZGVkIGZyb20gc3lzL3BhcmFtLmgKLVBBR0VfU0laRSA9IDB4MTAwMAotSFogPSAxMDAKLU1BWE5BTUxFTiA9IDI2MAotTUFYUEFUSExFTiA9IDI2MAotZGVmIGh0b25sKFgpOiByZXR1cm4gX3N3YXBsKFgpCi0KLWRlZiBudG9obChYKTogcmV0dXJuIF9zd2FwbChYKQotCi1kZWYgaHRvbnMoWCk6IHJldHVybiBfc3dhcHMoWCkKLQotZGVmIG50b2hzKFgpOiByZXR1cm4gX3N3YXBzKFgpCi0KLUlQUFJPVE9fSVAgPSAwCi1JUFBST1RPX0lDTVAgPSAxCi1JUFBST1RPX0lHTVAgPSAyCi1JUFBST1RPX0dHUCA9IDMKLUlQUFJPVE9fVENQID0gNgotSVBQUk9UT19FR1AgPSA4Ci1JUFBST1RPX1BVUCA9IDEyCi1JUFBST1RPX1VEUCA9IDE3Ci1JUFBST1RPX0lEUCA9IDIyCi1JUFBST1RPX1RQID0gMjkKLUlQUFJPVE9fRU9OID0gODAKLUlQUFJPVE9fUkFXID0gMjU1Ci1JUFBST1RPX01BWCA9IDI1NgotSVBQT1JUX1JFU0VSVkVEID0gMTAyNAotSVBQT1JUX1VTRVJSRVNFUlZFRCA9IDUwMDAKLWRlZiBJTl9DTEFTU0EoaSk6IHJldHVybiAoKChpbnQpKGkpICYgMHg4MDAwMDAwMCkgPT0gMCkKLQotSU5fQ0xBU1NBX05FVCA9IDB4ZmYwMDAwMDAKLUlOX0NMQVNTQV9OU0hJRlQgPSAyNAotSU5fQ0xBU1NBX0hPU1QgPSAweDAwZmZmZmZmCi1JTl9DTEFTU0FfTUFYID0gMTI4Ci1kZWYgSU5fQ0xBU1NCKGkpOiByZXR1cm4gKCgoaW50KShpKSAmIDB4YzAwMDAwMDApID09IDB4ODAwMDAwMDApCi0KLUlOX0NMQVNTQl9ORVQgPSAweGZmZmYwMDAwCi1JTl9DTEFTU0JfTlNISUZUID0gMTYKLUlOX0NMQVNTQl9IT1NUID0gMHgwMDAwZmZmZgotSU5fQ0xBU1NCX01BWCA9IDY1NTM2Ci1kZWYgSU5fQ0xBU1NDKGkpOiByZXR1cm4gKCgoaW50KShpKSAmIDB4ZTAwMDAwMDApID09IDB4YzAwMDAwMDApCi0KLUlOX0NMQVNTQ19ORVQgPSAweGZmZmZmZjAwCi1JTl9DTEFTU0NfTlNISUZUID0gOAotSU5fQ0xBU1NDX0hPU1QgPSAweDAwMDAwMGZmCi1kZWYgSU5fQ0xBU1NEKGkpOiByZXR1cm4gKCgoaW50KShpKSAmIDB4ZjAwMDAwMDApID09IDB4ZTAwMDAwMDApCi0KLUlOX0NMQVNTRF9ORVQgPSAweGYwMDAwMDAwCi1JTl9DTEFTU0RfTlNISUZUID0gMjgKLUlOX0NMQVNTRF9IT1NUID0gMHgwZmZmZmZmZgotZGVmIElOX01VTFRJQ0FTVChpKTogcmV0dXJuIElOX0NMQVNTRChpKQotCi1kZWYgSU5fRVhQRVJJTUVOVEFMKGkpOiByZXR1cm4gKCgoaW50KShpKSAmIDB4ZTAwMDAwMDApID09IDB4ZTAwMDAwMDApCi0KLWRlZiBJTl9CQURDTEFTUyhpKTogcmV0dXJuICgoKGludCkoaSkgJiAweGYwMDAwMDAwKSA9PSAweGYwMDAwMDAwKQotCi1JTkFERFJfQU5ZID0gMHgwMDAwMDAwMAotSU5BRERSX0xPT1BCQUNLID0gMHg3ZjAwMDAwMQotSU5BRERSX0JST0FEQ0FTVCA9IDB4ZmZmZmZmZmYKLUlOQUREUl9OT05FID0gMHhmZmZmZmZmZgotSU5BRERSX1VOU1BFQ19HUk9VUCA9IDB4ZTAwMDAwMDAKLUlOQUREUl9BTExIT1NUU19HUk9VUCA9IDB4ZTAwMDAwMDEKLUlOQUREUl9NQVhfTE9DQUxfR1JPVVAgPSAweGUwMDAwMGZmCi1JTl9MT09QQkFDS05FVCA9IDEyNwotSVBfT1BUSU9OUyA9IDEKLUlQX01VTFRJQ0FTVF9JRiA9IDIKLUlQX01VTFRJQ0FTVF9UVEwgPSAzCi1JUF9NVUxUSUNBU1RfTE9PUCA9IDQKLUlQX0FERF9NRU1CRVJTSElQID0gNQotSVBfRFJPUF9NRU1CRVJTSElQID0gNgotSVBfSERSSU5DTCA9IDIKLUlQX1RPUyA9IDMKLUlQX1RUTCA9IDQKLUlQX1JFQ1ZPUFRTID0gNQotSVBfUkVDVlJFVE9QVFMgPSA2Ci1JUF9SRUNWRFNUQUREUiA9IDcKLUlQX1JFVE9QVFMgPSA4Ci1JUF9ERUZBVUxUX01VTFRJQ0FTVF9UVEwgPSAxCi1JUF9ERUZBVUxUX01VTFRJQ0FTVF9MT09QID0gMQotSVBfTUFYX01FTUJFUlNISVBTID0gMjAKZGlmZiAtLWdpdCBhL0xpYi9wbGF0LW9zMmVteC9TT0NLRVQucHkgYi9MaWIvcGxhdC1vczJlbXgvU09DS0VULnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWM1OTRhLi4wMDAwMDAwCi0tLSBhL0xpYi9wbGF0LW9zMmVteC9TT0NLRVQucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotIyBHZW5lcmF0ZWQgYnkgaDJweSBmcm9tIGY6L2VteC9pbmNsdWRlL3N5cy9zb2NrZXQuaAotCi0jIEluY2x1ZGVkIGZyb20gc3lzL3R5cGVzLmgKLUZEX1NFVFNJWkUgPSAyNTYKLQotIyBJbmNsdWRlZCBmcm9tIHN5cy91aW8uaAotRlJFQUQgPSAxCi1GV1JJVEUgPSAyCi1TT0NLX1NUUkVBTSA9IDEKLVNPQ0tfREdSQU0gPSAyCi1TT0NLX1JBVyA9IDMKLVNPQ0tfUkRNID0gNAotU09DS19TRVFQQUNLRVQgPSA1Ci1TT19ERUJVRyA9IDB4MDAwMQotU09fQUNDRVBUQ09OTiA9IDB4MDAwMgotU09fUkVVU0VBRERSID0gMHgwMDA0Ci1TT19LRUVQQUxJVkUgPSAweDAwMDgKLVNPX0RPTlRST1VURSA9IDB4MDAxMAotU09fQlJPQURDQVNUID0gMHgwMDIwCi1TT19VU0VMT09QQkFDSyA9IDB4MDA0MAotU09fTElOR0VSID0gMHgwMDgwCi1TT19PT0JJTkxJTkUgPSAweDAxMDAKLVNPX0xfQlJPQURDQVNUID0gMHgwMjAwCi1TT19SQ1ZfU0hVVERPV04gPSAweDA0MDAKLVNPX1NORF9TSFVURE9XTiA9IDB4MDgwMAotU09fU05EQlVGID0gMHgxMDAxCi1TT19SQ1ZCVUYgPSAweDEwMDIKLVNPX1NORExPV0FUID0gMHgxMDAzCi1TT19SQ1ZMT1dBVCA9IDB4MTAwNAotU09fU05EVElNRU8gPSAweDEwMDUKLVNPX1JDVlRJTUVPID0gMHgxMDA2Ci1TT19FUlJPUiA9IDB4MTAwNwotU09fVFlQRSA9IDB4MTAwOAotU09fT1BUSU9OUyA9IDB4MTAxMAotU09MX1NPQ0tFVCA9IDB4ZmZmZgotQUZfVU5TUEVDID0gMAotQUZfVU5JWCA9IDEKLUFGX0lORVQgPSAyCi1BRl9JTVBMSU5LID0gMwotQUZfUFVQID0gNAotQUZfQ0hBT1MgPSA1Ci1BRl9OUyA9IDYKLUFGX05CUyA9IDcKLUFGX0lTTyA9IDcKLUFGX09TSSA9IEFGX0lTTwotQUZfRUNNQSA9IDgKLUFGX0RBVEFLSVQgPSA5Ci1BRl9DQ0lUVCA9IDEwCi1BRl9TTkEgPSAxMQotQUZfREVDbmV0ID0gMTIKLUFGX0RMSSA9IDEzCi1BRl9MQVQgPSAxNAotQUZfSFlMSU5LID0gMTUKLUFGX0FQUExFVEFMSyA9IDE2Ci1BRl9OQiA9IDE3Ci1BRl9ORVRCSU9TID0gQUZfTkIKLUFGX09TMiA9IEFGX1VOSVgKLUFGX01BWCA9IDE4Ci1QRl9VTlNQRUMgPSBBRl9VTlNQRUMKLVBGX1VOSVggPSBBRl9VTklYCi1QRl9JTkVUID0gQUZfSU5FVAotUEZfSU1QTElOSyA9IEFGX0lNUExJTksKLVBGX1BVUCA9IEFGX1BVUAotUEZfQ0hBT1MgPSBBRl9DSEFPUwotUEZfTlMgPSBBRl9OUwotUEZfTkJTID0gQUZfTkJTCi1QRl9JU08gPSBBRl9JU08KLVBGX09TSSA9IEFGX0lTTwotUEZfRUNNQSA9IEFGX0VDTUEKLVBGX0RBVEFLSVQgPSBBRl9EQVRBS0lUCi1QRl9DQ0lUVCA9IEFGX0NDSVRUCi1QRl9TTkEgPSBBRl9TTkEKLVBGX0RFQ25ldCA9IEFGX0RFQ25ldAotUEZfRExJID0gQUZfRExJCi1QRl9MQVQgPSBBRl9MQVQKLVBGX0hZTElOSyA9IEFGX0hZTElOSwotUEZfQVBQTEVUQUxLID0gQUZfQVBQTEVUQUxLCi1QRl9OQiA9IEFGX05CCi1QRl9ORVRCSU9TID0gQUZfTkIKLVBGX09TMiA9IEFGX1VOSVgKLVBGX01BWCA9IEFGX01BWAotU09NQVhDT05OID0gNQotTVNHX09PQiA9IDB4MQotTVNHX1BFRUsgPSAweDIKLU1TR19ET05UUk9VVEUgPSAweDQKLU1TR19FT1IgPSAweDgKLU1TR19UUlVOQyA9IDB4MTAKLU1TR19DVFJVTkMgPSAweDIwCi1NU0dfV0FJVEFMTCA9IDB4NDAKLU1TR19NQVhJT1ZMRU4gPSAxNgotU0NNX1JJR0hUUyA9IDB4MDEKLU1UX0ZSRUUgPSAwCi1NVF9EQVRBID0gMQotTVRfSEVBREVSID0gMgotTVRfU09DS0VUID0gMwotTVRfUENCID0gNAotTVRfUlRBQkxFID0gNQotTVRfSFRBQkxFID0gNgotTVRfQVRBQkxFID0gNwotTVRfU09OQU1FID0gOAotTVRfWk9NQklFID0gOQotTVRfU09PUFRTID0gMTAKLU1UX0ZUQUJMRSA9IDExCi1NVF9SSUdIVFMgPSAxMgotTVRfSUZBRERSID0gMTMKLU1BWFNPQ0tFVFMgPSAyMDQ4CmRpZmYgLS1naXQgYS9MaWIvcGxhdC1vczJlbXgvX2VteF9saW5rLnB5IGIvTGliL3BsYXQtb3MyZW14L19lbXhfbGluay5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDFlNmI1NC4uMDAwMDAwMAotLS0gYS9MaWIvcGxhdC1vczJlbXgvX2VteF9saW5rLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAotIyBfZW14X2xpbmsucHkKLQotIyBXcml0dGVuIGJ5IEFuZHJldyBJIE1hY0ludHlyZSwgRGVjZW1iZXIgMjAwMi4KLQotIiIiX2VteF9saW5rLnB5IGlzIGEgc2ltcGxpc3RpYyBlbXVsYXRpb24gb2YgdGhlIFVuaXggbGluaygyKSBsaWJyYXJ5IHJvdXRpbmUKLWZvciBjcmVhdGluZyBzby1jYWxsZWQgaGFyZCBsaW5rcy4gIEl0IGlzIGludGVuZGVkIHRvIGJlIGltcG9ydGVkIGludG8KLXRoZSBvcyBtb2R1bGUgaW4gcGxhY2Ugb2YgdGhlIHVuaW1wbGVtZW50ZWQgKG9uIE9TLzIpIFBvc2l4IGxpbmsoKQotZnVuY3Rpb24gKG9zLmxpbmsoKSkuCi0KLVdlIGRvIHRoaXMgb24gT1MvMiBieSBpbXBsZW1lbnRpbmcgYSBmaWxlIGNvcHksIHdpdGggbGluaygyKSBzZW1hbnRpY3M6LQotICAtIHRoZSB0YXJnZXQgY2Fubm90IGFscmVhZHkgZXhpc3Q7Ci0gIC0gd2UgaG9wZSB0aGF0IHRoZSBhY3R1YWwgZmlsZSBvcGVuIChpZiBzdWNjZXNzZnVsKSBpcyBhY3R1YWxseQotICAgIGF0b21pYy4uLgotCi1MaW1pdGF0aW9ucyBvZiB0aGlzIGFwcHJvYWNoL2ltcGxlbWVudGF0aW9uIGluY2x1ZGU6LQotICAtIG5vIHN1cHBvcnQgZm9yIGNvcnJlY3QgbGluayBjb3VudHMgKEVNWCBzdGF0KHRhcmdldCkuc3RfbmxpbmsKLSAgICBpcyBhbHdheXMgMSk7Ci0gIC0gdGhyZWFkIHNhZmV0eSB1bmRlZmluZWQ7Ci0gIC0gZGVmYXVsdCBmaWxlIHBlcm1pc3Npb25zIChyK3cpIHVzZWQsIGNhbid0IGJlIG92ZXItcmlkZGVuOwotICAtIGltcGxlbWVudGVkIGluIFB5dGhvbiBzbyBjb21wYXJhdGl2ZWx5IHNsb3csIGVzcGVjaWFsbHkgZm9yIGxhcmdlCi0gICAgc291cmNlIGZpbGVzOwotICAtIG5lZWQgc3VmZmljaWVudCBmcmVlIGRpc2sgc3BhY2UgdG8gc3RvcmUgdGhlIGNvcHkuCi0KLUJlaGF2aW91cjotCi0gIC0gYW55IGV4Y2VwdGlvbiBzaG91bGQgcHJvcGFnYXRlIHRvIHRoZSBjYWxsZXI7Ci0gIC0gd2FudCB0YXJnZXQgdG8gYmUgYW4gZXhhY3QgY29weSBvZiB0aGUgc291cmNlLCBzbyB1c2UgYmluYXJ5IG1vZGU7Ci0gIC0gcmV0dXJucyBOb25lLCBzYW1lIGFzIG9zLmxpbmsoKSB3aGljaCBpcyBpbXBsZW1lbnRlZCBpbiBwb3NpeG1vZHVsZS5jOwotICAtIHRhcmdldCByZW1vdmVkIGluIHRoZSBldmVudCBvZiBhIGZhaWx1cmUgd2hlcmUgcG9zc2libGU7Ci0gIC0gZ2l2ZW4gdGhlIG1vdGl2YXRpb24gdG8gd3JpdGUgdGhpcyBlbXVsYXRpb24gY2FtZSBmcm9tIHRyeWluZyB0bwotICAgIHN1cHBvcnQgYSBVbml4IHJlc291cmNlIGxvY2sgaW1wbGVtZW50YXRpb24sIHdoZXJlIG1pbmltYWwgb3ZlcmhlYWQKLSAgICBkdXJpbmcgY3JlYXRpb24gb2YgdGhlIHRhcmdldCBpcyBkZXNpcmFibGUgYW5kIHRoZSBmaWxlcyBhcmUgc21hbGwsCi0gICAgd2UgcmVhZCBhIHNvdXJjZSBibG9jayBiZWZvcmUgYXR0ZW1wdGluZyB0byBjcmVhdGUgdGhlIHRhcmdldCBzbyB0aGF0Ci0gICAgd2UncmUgcmVhZHkgdG8gaW1tZWRpYXRlbHkgd3JpdGUgc29tZSBkYXRhIGludG8gaXQuCi0iIiIKLQotaW1wb3J0IG9zCi1pbXBvcnQgZXJybm8KLQotX19hbGxfXyA9IFsnbGluayddCi0KLWRlZiBsaW5rKHNvdXJjZSwgdGFyZ2V0KToKLSAgICAiIiJsaW5rKHNvdXJjZSwgdGFyZ2V0KSAtPiBOb25lCi0KLSAgICBBdHRlbXB0IHRvIGhhcmQgbGluayB0aGUgc291cmNlIGZpbGUgdG8gdGhlIHRhcmdldCBmaWxlIG5hbWUuCi0gICAgT24gT1MvMiwgdGhpcyBjcmVhdGVzIGEgY29tcGxldGUgY29weSBvZiB0aGUgc291cmNlIGZpbGUuCi0gICAgIiIiCi0KLSAgICBzID0gb3Mub3Blbihzb3VyY2UsIG9zLk9fUkRPTkxZIHwgb3MuT19CSU5BUlkpCi0gICAgaWYgb3MuaXNhdHR5KHMpOgotICAgICAgICByYWlzZSBPU0Vycm9yKGVycm5vLkVYREVWLCAnQ3Jvc3MtZGV2aWNlIGxpbmsnKQotICAgIGRhdGEgPSBvcy5yZWFkKHMsIDEwMjQpCi0KLSAgICB0cnk6Ci0gICAgICAgIHQgPSBvcy5vcGVuKHRhcmdldCwgb3MuT19XUk9OTFkgfCBvcy5PX0JJTkFSWSB8IG9zLk9fQ1JFQVQgfCBvcy5PX0VYQ0wpCi0gICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgIG9zLmNsb3NlKHMpCi0gICAgICAgIHJhaXNlCi0KLSAgICB0cnk6Ci0gICAgICAgIHdoaWxlIGRhdGE6Ci0gICAgICAgICAgICBvcy53cml0ZSh0LCBkYXRhKQotICAgICAgICAgICAgZGF0YSA9IG9zLnJlYWQocywgMTAyNCkKLSAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgb3MuY2xvc2UocykKLSAgICAgICAgb3MuY2xvc2UodCkKLSAgICAgICAgb3MudW5saW5rKHRhcmdldCkKLSAgICAgICAgcmFpc2UKLQotICAgIG9zLmNsb3NlKHMpCi0gICAgb3MuY2xvc2UodCkKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBpbXBvcnQgc3lzCi0gICAgdHJ5OgotICAgICAgICBsaW5rKHN5cy5hcmd2WzFdLCBzeXMuYXJndlsyXSkKLSAgICBleGNlcHQgSW5kZXhFcnJvcjoKLSAgICAgICAgcHJpbnQoJ1VzYWdlOiBlbXhfbGluayA8c291cmNlPiA8dGFyZ2V0PicpCi0gICAgZXhjZXB0IE9TRXJyb3I6Ci0gICAgICAgIHByaW50KCdlbXhfbGluazogJXMnICUgc3RyKHN5cy5leGNfaW5mbygpWzFdKSkKZGlmZiAtLWdpdCBhL0xpYi9wbGF0LW9zMmVteC9ncnAucHkgYi9MaWIvcGxhdC1vczJlbXgvZ3JwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlZTYzZWY4Li4wMDAwMDAwCi0tLSBhL0xpYi9wbGF0LW9zMmVteC9ncnAucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxODIgKzAsMCBAQAotIyB0aGlzIG1vZHVsZSBpcyBhbiBPUy8yIG9yaWVudGVkIHJlcGxhY2VtZW50IGZvciB0aGUgZ3JwIHN0YW5kYXJkCi0jIGV4dGVuc2lvbiBtb2R1bGUuCi0KLSMgd3JpdHRlbiBieSBBbmRyZXcgTWFjSW50eXJlLCBBcHJpbCAyMDAxLgotIyB1cGRhdGVkIEp1bHkgMjAwMywgYWRkaW5nIGZpZWxkIGFjY2Vzc29yIHN1cHBvcnQKLQotIyBub3RlIHRoYXQgdGhpcyBpbXBsZW1lbnRhdGlvbiBjaGVja3Mgd2hldGhlciAiOiIgb3IgIjsiIGFzIHVzZWQgYXMKLSMgdGhlIGZpZWxkIHNlcGFyYXRvciBjaGFyYWN0ZXIuCi0KLSIiIlJlcGxhY2VtZW50IGZvciBncnAgc3RhbmRhcmQgZXh0ZW5zaW9uIG1vZHVsZSwgaW50ZW5kZWQgZm9yIHVzZSBvbgotT1MvMiBhbmQgc2ltaWxhciBzeXN0ZW1zIHdoaWNoIGRvbid0IG5vcm1hbGx5IGhhdmUgYW4gL2V0Yy9ncm91cCBmaWxlLgotCi1UaGUgc3RhbmRhcmQgVW5peCBncm91cCBkYXRhYmFzZSBpcyBhbiBBU0NJSSB0ZXh0IGZpbGUgd2l0aCA0IGZpZWxkcyBwZXIKLXJlY29yZCAobGluZSksIHNlcGFyYXRlZCBieSBhIGNvbG9uOgotICAtIGdyb3VwIG5hbWUgKHN0cmluZykKLSAgLSBncm91cCBwYXNzd29yZCAob3B0aW9uYWwgZW5jcnlwdGVkIHN0cmluZykKLSAgLSBncm91cCBpZCAoaW50ZWdlcikKLSAgLSBncm91cCBtZW1iZXJzIChjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiB1c2VyaWRzLCB3aXRoIG5vIHNwYWNlcykKLQotTm90ZSB0aGF0IG1lbWJlcnMgYXJlIG9ubHkgaW5jbHVkZWQgaW4gdGhlIGdyb3VwIGZpbGUgZm9yIGdyb3VwcyB0aGF0Ci1hcmVuJ3QgdGhlaXIgcHJpbWFyeSBncm91cHMuCi0oc2VlIHRoZSBzZWN0aW9uIDguMiBvZiB0aGUgUHl0aG9uIExpYnJhcnkgUmVmZXJlbmNlKQotCi1UaGlzIGltcGxlbWVudGF0aW9uIGRpZmZlcnMgZnJvbSB0aGUgc3RhbmRhcmQgVW5peCBpbXBsZW1lbnRhdGlvbiBieQotYWxsb3dpbmcgdXNlIG9mIHRoZSBwbGF0Zm9ybSdzIG5hdGl2ZSBwYXRoIHNlcGFyYXRvciBjaGFyYWN0ZXIgLSAnOycgb24gT1MvMiwKLURPUyBhbmQgTVMtV2luZG93cyAtIGFzIHRoZSBmaWVsZCBzZXBhcmF0b3IgaW4gYWRkaXRpb24gdG8gdGhlIFVuaXgKLXN0YW5kYXJkICI6Ii4KLQotVGhlIG1vZHVsZSBsb29rcyBmb3IgdGhlIGdyb3VwIGRhdGFiYXNlIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb25zCi0oaW4gb3JkZXIgZmlyc3QgdG8gbGFzdCk6Ci0gIC0gJHtFVENfR1JPVVB9ICAgICAgICAgICAgICAob3IgJUVUQ19HUk9VUCUpCi0gIC0gJHtFVEN9L2dyb3VwICAgICAgICAgICAgICAob3IgJUVUQyUvZ3JvdXApCi0gIC0gJHtQWVRIT05IT01FfS9FdGMvZ3JvdXAgICAob3IgJVBZVEhPTkhPTUUlL0V0Yy9ncm91cCkKLQotQ2xhc3NlcwotLS0tLS0tLQotCi1Ob25lCi0KLUZ1bmN0aW9ucwotLS0tLS0tLS0tCi0KLWdldGdyZ2lkKGdpZCkgLSAgcmV0dXJuIHRoZSByZWNvcmQgZm9yIGdyb3VwLWlkIGdpZCBhcyBhIDQtdHVwbGUKLQotZ2V0Z3JuYW0obmFtZSkgLSByZXR1cm4gdGhlIHJlY29yZCBmb3IgZ3JvdXAgJ25hbWUnIGFzIGEgNC10dXBsZQotCi1nZXRncmFsbCgpIC0gICAgIHJldHVybiBhIGxpc3Qgb2YgNC10dXBsZXMsIGVhY2ggdHVwbGUgYmVpbmcgb25lIHJlY29yZAotICAgICAgICAgICAgICAgICAoTk9URTogdGhlIG9yZGVyIGlzIGFyYml0cmFyeSkKLQotQXR0cmlidXRlcwotLS0tLS0tLS0tLQotCi1ncm91cF9maWxlIC0gICAgIHRoZSBwYXRoIG9mIHRoZSBncm91cCBkYXRhYmFzZSBmaWxlCi0KLSIiIgotCi1pbXBvcnQgb3MKLQotIyB0cnkgYW5kIGZpbmQgdGhlIGdyb3VwIGZpbGUKLV9fZ3JvdXBfcGF0aCA9IFtdCi1pZiAnRVRDX0dST1VQJyBpbiBvcy5lbnZpcm9uOgotICAgIF9fZ3JvdXBfcGF0aC5hcHBlbmQob3MuZW52aXJvblsnRVRDX0dST1VQJ10pCi1pZiAnRVRDJyBpbiBvcy5lbnZpcm9uOgotICAgIF9fZ3JvdXBfcGF0aC5hcHBlbmQoJyVzL2dyb3VwJyAlIG9zLmVudmlyb25bJ0VUQyddKQotaWYgJ1BZVEhPTkhPTUUnIGluIG9zLmVudmlyb246Ci0gICAgX19ncm91cF9wYXRoLmFwcGVuZCgnJXMvRXRjL2dyb3VwJyAlIG9zLmVudmlyb25bJ1BZVEhPTkhPTUUnXSkKLQotZ3JvdXBfZmlsZSA9IE5vbmUKLWZvciBfX2kgaW4gX19ncm91cF9wYXRoOgotICAgIHRyeToKLSAgICAgICAgX19mID0gb3BlbihfX2ksICdyJykKLSAgICAgICAgX19mLmNsb3NlKCkKLSAgICAgICAgZ3JvdXBfZmlsZSA9IF9faQotICAgICAgICBicmVhawotICAgIGV4Y2VwdDoKLSAgICAgICAgcGFzcwotCi0jIGRlY2lkZSB3aGF0IGZpZWxkIHNlcGFyYXRvciB3ZSBjYW4gdHJ5IHRvIHVzZSAtIFVuaXggc3RhbmRhcmQsIHdpdGgKLSMgdGhlIHBsYXRmb3JtJ3MgcGF0aCBzZXBhcmF0b3IgYXMgYW4gb3B0aW9uLiAgTm8gc3BlY2lhbCBmaWVsZCBjb252ZXJzaW9uCi0jIGhhbmRsZXJzIGFyZSByZXF1aXJlZCBmb3IgdGhlIGdyb3VwIGZpbGUuCi1fX2ZpZWxkX3NlcCA9IFsnOiddCi1pZiBvcy5wYXRoc2VwOgotICAgIGlmIG9zLnBhdGhzZXAgIT0gJzonOgotICAgICAgICBfX2ZpZWxkX3NlcC5hcHBlbmQob3MucGF0aHNlcCkKLQotIyBoZWxwZXIgcm91dGluZSB0byBpZGVudGlmeSB3aGljaCBzZXBhcmF0b3IgY2hhcmFjdGVyIGlzIGluIHVzZQotZGVmIF9fZ2V0X2ZpZWxkX3NlcChyZWNvcmQpOgotICAgIGZzID0gTm9uZQotICAgIGZvciBjIGluIF9fZmllbGRfc2VwOgotICAgICAgICAjIHRoZXJlIHNob3VsZCBiZSAzIGRlbGltaXRlciBjaGFyYWN0ZXJzIChmb3IgNCBmaWVsZHMpCi0gICAgICAgIGlmIHJlY29yZC5jb3VudChjKSA9PSAzOgotICAgICAgICAgICAgZnMgPSBjCi0gICAgICAgICAgICBicmVhawotICAgIGlmIGZzOgotICAgICAgICByZXR1cm4gZnMKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBLZXlFcnJvcignPj4gZ3JvdXAgZGF0YWJhc2UgZmllbGRzIG5vdCBkZWxpbWl0ZWQgPDwnKQotCi0jIGNsYXNzIHRvIG1hdGNoIHRoZSBuZXcgcmVjb3JkIGZpZWxkIG5hbWUgYWNjZXNzb3JzLgotIyB0aGUgcmVzdWx0aW5nIG9iamVjdCBpcyBpbnRlbmRlZCB0byBiZWhhdmUgbGlrZSBhIHJlYWQtb25seSB0dXBsZSwKLSMgd2l0aCBlYWNoIG1lbWJlciBhbHNvIGFjY2Vzc2libGUgYnkgYSBmaWVsZCBuYW1lLgotY2xhc3MgR3JvdXA6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhc3N3ZCwgZ2lkLCBtZW0pOgotICAgICAgICBzZWxmLl9fZGljdF9fWydncl9uYW1lJ10gPSBuYW1lCi0gICAgICAgIHNlbGYuX19kaWN0X19bJ2dyX3Bhc3N3ZCddID0gcGFzc3dkCi0gICAgICAgIHNlbGYuX19kaWN0X19bJ2dyX2dpZCddID0gZ2lkCi0gICAgICAgIHNlbGYuX19kaWN0X19bJ2dyX21lbSddID0gbWVtCi0gICAgICAgIHNlbGYuX19kaWN0X19bJ19yZWNvcmQnXSA9IChzZWxmLmdyX25hbWUsIHNlbGYuZ3JfcGFzc3dkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5ncl9naWQsIHNlbGYuZ3JfbWVtKQotCi0gICAgZGVmIF9fbGVuX18oc2VsZik6Ci0gICAgICAgIHJldHVybiA0Ci0KLSAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwga2V5KToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3JlY29yZFtrZXldCi0KLSAgICBkZWYgX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpOgotICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcignYXR0cmlidXRlIHJlYWQtb25seTogJXMnICUgbmFtZSkKLQotICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHN0cihzZWxmLl9yZWNvcmQpCi0KLSAgICBkZWYgX19jbXBfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIHRoaXMgPSBzdHIoc2VsZi5fcmVjb3JkKQotICAgICAgICBpZiB0aGlzID09IG90aGVyOgotICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgZWxpZiB0aGlzIDwgb3RoZXI6Ci0gICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiAxCi0KLQotIyByZWFkIHRoZSB3aG9sZSBmaWxlLCBwYXJzaW5nIGVhY2ggZW50cnkgaW50byB0dXBsZSBmb3JtCi0jIHdpdGggZGljdGlvbmFyaWVzIHRvIHNwZWVkIHJlY2FsbCBieSBHSUQgb3IgZ3JvdXAgbmFtZQotZGVmIF9fcmVhZF9ncm91cF9maWxlKCk6Ci0gICAgaWYgZ3JvdXBfZmlsZToKLSAgICAgICAgZ3JvdXAgPSBvcGVuKGdyb3VwX2ZpbGUsICdyJykKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBLZXlFcnJvcignPj4gbm8gZ3JvdXAgZGF0YWJhc2UgPDwnKQotICAgIGdpZHggPSB7fQotICAgIG5hbXggPSB7fQotICAgIHNlcCA9IE5vbmUKLSAgICB3aGlsZSAxOgotICAgICAgICBlbnRyeSA9IGdyb3VwLnJlYWRsaW5lKCkuc3RyaXAoKQotICAgICAgICBpZiBsZW4oZW50cnkpID4gMzoKLSAgICAgICAgICAgIGlmIHNlcCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHNlcCA9IF9fZ2V0X2ZpZWxkX3NlcChlbnRyeSkKLSAgICAgICAgICAgIGZpZWxkcyA9IGVudHJ5LnNwbGl0KHNlcCkKLSAgICAgICAgICAgIGZpZWxkc1syXSA9IGludChmaWVsZHNbMl0pCi0gICAgICAgICAgICBmaWVsZHNbM10gPSBbZi5zdHJpcCgpIGZvciBmIGluIGZpZWxkc1szXS5zcGxpdCgnLCcpXQotICAgICAgICAgICAgcmVjb3JkID0gR3JvdXAoKmZpZWxkcykKLSAgICAgICAgICAgIGlmIGZpZWxkc1syXSBub3QgaW4gZ2lkeDoKLSAgICAgICAgICAgICAgICBnaWR4W2ZpZWxkc1syXV0gPSByZWNvcmQKLSAgICAgICAgICAgIGlmIGZpZWxkc1swXSBub3QgaW4gbmFteDoKLSAgICAgICAgICAgICAgICBuYW14W2ZpZWxkc1swXV0gPSByZWNvcmQKLSAgICAgICAgZWxpZiBsZW4oZW50cnkpID4gMDoKLSAgICAgICAgICAgIHBhc3MgICAgICAgICAgICAgICAgICAgICAgICAgIyBza2lwIGVtcHR5IG9yIG1hbGZvcm1lZCByZWNvcmRzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBicmVhawotICAgIGdyb3VwLmNsb3NlKCkKLSAgICBpZiBsZW4oZ2lkeCkgPT0gMDoKLSAgICAgICAgcmFpc2UgS2V5RXJyb3IKLSAgICByZXR1cm4gKGdpZHgsIG5hbXgpCi0KLSMgcmV0dXJuIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyeSBieSBHSUQKLWRlZiBnZXRncmdpZChnaWQpOgotICAgIGcsIG4gPSBfX3JlYWRfZ3JvdXBfZmlsZSgpCi0gICAgcmV0dXJuIGdbZ2lkXQotCi0jIHJldHVybiB0aGUgZ3JvdXAgZGF0YWJhc2UgZW50cnkgYnkgZ3JvdXAgbmFtZQotZGVmIGdldGdybmFtKG5hbWUpOgotICAgIGcsIG4gPSBfX3JlYWRfZ3JvdXBfZmlsZSgpCi0gICAgcmV0dXJuIG5bbmFtZV0KLQotIyByZXR1cm4gYWxsIHRoZSBncm91cCBkYXRhYmFzZSBlbnRyaWVzCi1kZWYgZ2V0Z3JhbGwoKToKLSAgICBnLCBuID0gX19yZWFkX2dyb3VwX2ZpbGUoKQotICAgIHJldHVybiBnLnZhbHVlcygpCi0KLSMgdGVzdCBoYXJuZXNzCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIGdldGdyYWxsKCkKZGlmZiAtLWdpdCBhL0xpYi9wbGF0LW9zMmVteC9wd2QucHkgYi9MaWIvcGxhdC1vczJlbXgvcHdkLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyY2IwNzdmLi4wMDAwMDAwCi0tLSBhL0xpYi9wbGF0LW9zMmVteC9wd2QucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyMDggKzAsMCBAQAotIyB0aGlzIG1vZHVsZSBpcyBhbiBPUy8yIG9yaWVudGVkIHJlcGxhY2VtZW50IGZvciB0aGUgcHdkIHN0YW5kYXJkCi0jIGV4dGVuc2lvbiBtb2R1bGUuCi0KLSMgd3JpdHRlbiBieSBBbmRyZXcgTWFjSW50eXJlLCBBcHJpbCAyMDAxLgotIyB1cGRhdGVkIEp1bHkgMjAwMywgYWRkaW5nIGZpZWxkIGFjY2Vzc29yIHN1cHBvcnQKLQotIyBub3RlIHRoYXQgdGhpcyBpbXBsZW1lbnRhdGlvbiBjaGVja3Mgd2hldGhlciAiOiIgb3IgIjsiIGFzIHVzZWQgYXMKLSMgdGhlIGZpZWxkIHNlcGFyYXRvciBjaGFyYWN0ZXIuICBQYXRoIGNvbnZlcnNpb25zIGFyZSBhcmUgYXBwbGllZCB3aGVuCi0jIHRoZSBkYXRhYmFzZSB1c2VzICI6IiBhcyB0aGUgZmllbGQgc2VwYXJhdG9yIGNoYXJhY3Rlci4KLQotIiIiUmVwbGFjZW1lbnQgZm9yIHB3ZCBzdGFuZGFyZCBleHRlbnNpb24gbW9kdWxlLCBpbnRlbmRlZCBmb3IgdXNlIG9uCi1PUy8yIGFuZCBzaW1pbGFyIHN5c3RlbXMgd2hpY2ggZG9uJ3Qgbm9ybWFsbHkgaGF2ZSBhbiAvZXRjL3Bhc3N3ZCBmaWxlLgotCi1UaGUgc3RhbmRhcmQgVW5peCBwYXNzd29yZCBkYXRhYmFzZSBpcyBhbiBBU0NJSSB0ZXh0IGZpbGUgd2l0aCA3IGZpZWxkcwotcGVyIHJlY29yZCAobGluZSksIHNlcGFyYXRlZCBieSBhIGNvbG9uOgotICAtIHVzZXIgbmFtZSAoc3RyaW5nKQotICAtIHBhc3N3b3JkIChlbmNyeXB0ZWQgc3RyaW5nLCBvciAiKiIgb3IgIiIpCi0gIC0gdXNlciBpZCAoaW50ZWdlcikKLSAgLSBncm91cCBpZCAoaW50ZWdlcikKLSAgLSBkZXNjcmlwdGlvbiAodXN1YWxseSB1c2VyJ3MgbmFtZSkKLSAgLSBob21lIGRpcmVjdG9yeSAocGF0aCB0byB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkpCi0gIC0gc2hlbGwgKHBhdGggdG8gdGhlIHVzZXIncyBsb2dpbiBzaGVsbCkKLQotKHNlZSB0aGUgc2VjdGlvbiA4LjEgb2YgdGhlIFB5dGhvbiBMaWJyYXJ5IFJlZmVyZW5jZSkKLQotVGhpcyBpbXBsZW1lbnRhdGlvbiBkaWZmZXJzIGZyb20gdGhlIHN0YW5kYXJkIFVuaXggaW1wbGVtZW50YXRpb24gYnkKLWFsbG93aW5nIHVzZSBvZiB0aGUgcGxhdGZvcm0ncyBuYXRpdmUgcGF0aCBzZXBhcmF0b3IgY2hhcmFjdGVyIC0gJzsnIG9uIE9TLzIsCi1ET1MgYW5kIE1TLVdpbmRvd3MgLSBhcyB0aGUgZmllbGQgc2VwYXJhdG9yIGluIGFkZGl0aW9uIHRvIHRoZSBVbml4Ci1zdGFuZGFyZCAiOiIuICBBZGRpdGlvbmFsbHksIHdoZW4gIjoiIGlzIHRoZSBzZXBhcmF0b3IgcGF0aCBjb252ZXJzaW9ucwotYXJlIGFwcGxpZWQgdG8gZGVhbCB3aXRoIGFueSBtdW5naW5nIG9mIHRoZSBkcml2ZSBsZXR0ZXIgcmVmZXJlbmNlLgotCi1UaGUgbW9kdWxlIGxvb2tzIGZvciB0aGUgcGFzc3dvcmQgZGF0YWJhc2UgYXQgdGhlIGZvbGxvd2luZyBsb2NhdGlvbnMKLShpbiBvcmRlciBmaXJzdCB0byBsYXN0KToKLSAgLSAke0VUQ19QQVNTV0R9ICAgICAgICAgICAgIChvciAlRVRDX1BBU1NXRCUpCi0gIC0gJHtFVEN9L3Bhc3N3ZCAgICAgICAgICAgICAob3IgJUVUQyUvcGFzc3dkKQotICAtICR7UFlUSE9OSE9NRX0vRXRjL3Bhc3N3ZCAgKG9yICVQWVRIT05IT01FJS9FdGMvcGFzc3dkKQotCi1DbGFzc2VzCi0tLS0tLS0tCi0KLU5vbmUKLQotRnVuY3Rpb25zCi0tLS0tLS0tLS0KLQotZ2V0cHd1aWQodWlkKSAtICByZXR1cm4gdGhlIHJlY29yZCBmb3IgdXNlci1pZCB1aWQgYXMgYSA3LXR1cGxlCi0KLWdldHB3bmFtKG5hbWUpIC0gcmV0dXJuIHRoZSByZWNvcmQgZm9yIHVzZXIgJ25hbWUnIGFzIGEgNy10dXBsZQotCi1nZXRwd2FsbCgpIC0gICAgIHJldHVybiBhIGxpc3Qgb2YgNy10dXBsZXMsIGVhY2ggdHVwbGUgYmVpbmcgb25lIHJlY29yZAotICAgICAgICAgICAgICAgICAoTk9URTogdGhlIG9yZGVyIGlzIGFyYml0cmFyeSkKLQotQXR0cmlidXRlcwotLS0tLS0tLS0tLQotCi1wYXNzd2RfZmlsZSAtICAgIHRoZSBwYXRoIG9mIHRoZSBwYXNzd29yZCBkYXRhYmFzZSBmaWxlCi0KLSIiIgotCi1pbXBvcnQgb3MKLQotIyB0cnkgYW5kIGZpbmQgdGhlIHBhc3N3ZCBmaWxlCi1fX3Bhc3N3ZF9wYXRoID0gW10KLWlmICdFVENfUEFTU1dEJyBpbiBvcy5lbnZpcm9uOgotICAgIF9fcGFzc3dkX3BhdGguYXBwZW5kKG9zLmVudmlyb25bJ0VUQ19QQVNTV0QnXSkKLWlmICdFVEMnIGluIG9zLmVudmlyb246Ci0gICAgX19wYXNzd2RfcGF0aC5hcHBlbmQoJyVzL3Bhc3N3ZCcgJSBvcy5lbnZpcm9uWydFVEMnXSkKLWlmICdQWVRIT05IT01FJyBpbiBvcy5lbnZpcm9uOgotICAgIF9fcGFzc3dkX3BhdGguYXBwZW5kKCclcy9FdGMvcGFzc3dkJyAlIG9zLmVudmlyb25bJ1BZVEhPTkhPTUUnXSkKLQotcGFzc3dkX2ZpbGUgPSBOb25lCi1mb3IgX19pIGluIF9fcGFzc3dkX3BhdGg6Ci0gICAgdHJ5OgotICAgICAgICBfX2YgPSBvcGVuKF9faSwgJ3InKQotICAgICAgICBfX2YuY2xvc2UoKQotICAgICAgICBwYXNzd2RfZmlsZSA9IF9faQotICAgICAgICBicmVhawotICAgIGV4Y2VwdDoKLSAgICAgICAgcGFzcwotCi0jIHBhdGggY29udmVyc2lvbiBoYW5kbGVycwotZGVmIF9fbnVsbHBhdGhjb252KHBhdGgpOgotICAgIHJldHVybiBwYXRoLnJlcGxhY2Uob3MuYWx0c2VwLCBvcy5zZXApCi0KLWRlZiBfX3VuaXhwYXRoY29udihwYXRoKToKLSAgICAjIHR3byBrbm93biBkcml2ZSBsZXR0ZXIgdmFyaWF0aW9uczogIng7IiBhbmQgIiR4IgotICAgIGlmIHBhdGhbMF0gPT0gJyQnOgotICAgICAgICBjb252ID0gcGF0aFsxXSArICc6JyArIHBhdGhbMjpdCi0gICAgZWxpZiBwYXRoWzFdID09ICc7JzoKLSAgICAgICAgY29udiA9IHBhdGhbMF0gKyAnOicgKyBwYXRoWzI6XQotICAgIGVsc2U6Ci0gICAgICAgIGNvbnYgPSBwYXRoCi0gICAgcmV0dXJuIGNvbnYucmVwbGFjZShvcy5hbHRzZXAsIG9zLnNlcCkKLQotIyBkZWNpZGUgd2hhdCBmaWVsZCBzZXBhcmF0b3Igd2UgY2FuIHRyeSB0byB1c2UgLSBVbml4IHN0YW5kYXJkLCB3aXRoCi0jIHRoZSBwbGF0Zm9ybSdzIHBhdGggc2VwYXJhdG9yIGFzIGFuIG9wdGlvbi4gIE5vIHNwZWNpYWwgZmllbGQgY29udmVyc2lvbgotIyBoYW5kbGVyIGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlIHBsYXRmb3JtJ3MgcGF0aCBzZXBhcmF0b3IgYXMgZmllbGQKLSMgc2VwYXJhdG9yLCBidXQgYXJlIHJlcXVpcmVkIGZvciB0aGUgaG9tZSBkaXJlY3RvcnkgYW5kIHNoZWxsIGZpZWxkcyB3aGVuCi0jIHVzaW5nIHRoZSBzdGFuZGFyZCBVbml4ICgiOiIpIGZpZWxkIHNlcGFyYXRvci4KLV9fZmllbGRfc2VwID0geyc6JzogX191bml4cGF0aGNvbnZ9Ci1pZiBvcy5wYXRoc2VwOgotICAgIGlmIG9zLnBhdGhzZXAgIT0gJzonOgotICAgICAgICBfX2ZpZWxkX3NlcFtvcy5wYXRoc2VwXSA9IF9fbnVsbHBhdGhjb252Ci0KLSMgaGVscGVyIHJvdXRpbmUgdG8gaWRlbnRpZnkgd2hpY2ggc2VwYXJhdG9yIGNoYXJhY3RlciBpcyBpbiB1c2UKLWRlZiBfX2dldF9maWVsZF9zZXAocmVjb3JkKToKLSAgICBmcyA9IE5vbmUKLSAgICBmb3IgYyBpbiBfX2ZpZWxkX3NlcC5rZXlzKCk6Ci0gICAgICAgICMgdGhlcmUgc2hvdWxkIGJlIDYgZGVsaW1pdGVyIGNoYXJhY3RlcnMgKGZvciA3IGZpZWxkcykKLSAgICAgICAgaWYgcmVjb3JkLmNvdW50KGMpID09IDY6Ci0gICAgICAgICAgICBmcyA9IGMKLSAgICAgICAgICAgIGJyZWFrCi0gICAgaWYgZnM6Ci0gICAgICAgIHJldHVybiBmcwotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIEtleUVycm9yKCc+PiBwYXNzd2QgZGF0YWJhc2UgZmllbGRzIG5vdCBkZWxpbWl0ZWQgPDwnKQotCi0jIGNsYXNzIHRvIG1hdGNoIHRoZSBuZXcgcmVjb3JkIGZpZWxkIG5hbWUgYWNjZXNzb3JzLgotIyB0aGUgcmVzdWx0aW5nIG9iamVjdCBpcyBpbnRlbmRlZCB0byBiZWhhdmUgbGlrZSBhIHJlYWQtb25seSB0dXBsZSwKLSMgd2l0aCBlYWNoIG1lbWJlciBhbHNvIGFjY2Vzc2libGUgYnkgYSBmaWVsZCBuYW1lLgotY2xhc3MgUGFzc3dkOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBwYXNzd2QsIHVpZCwgZ2lkLCBnZWNvcywgZGlyLCBzaGVsbCk6Ci0gICAgICAgIHNlbGYuX19kaWN0X19bJ3B3X25hbWUnXSA9IG5hbWUKLSAgICAgICAgc2VsZi5fX2RpY3RfX1sncHdfcGFzc3dkJ10gPSBwYXNzd2QKLSAgICAgICAgc2VsZi5fX2RpY3RfX1sncHdfdWlkJ10gPSB1aWQKLSAgICAgICAgc2VsZi5fX2RpY3RfX1sncHdfZ2lkJ10gPSBnaWQKLSAgICAgICAgc2VsZi5fX2RpY3RfX1sncHdfZ2Vjb3MnXSA9IGdlY29zCi0gICAgICAgIHNlbGYuX19kaWN0X19bJ3B3X2RpciddID0gZGlyCi0gICAgICAgIHNlbGYuX19kaWN0X19bJ3B3X3NoZWxsJ10gPSBzaGVsbAotICAgICAgICBzZWxmLl9fZGljdF9fWydfcmVjb3JkJ10gPSAoc2VsZi5wd19uYW1lLCBzZWxmLnB3X3Bhc3N3ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHdfdWlkLCBzZWxmLnB3X2dpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucHdfZ2Vjb3MsIHNlbGYucHdfZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wd19zaGVsbCkKLQotICAgIGRlZiBfX2xlbl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gNwotCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6Ci0gICAgICAgIHJldHVybiBzZWxmLl9yZWNvcmRba2V5XQotCi0gICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKLSAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoJ2F0dHJpYnV0ZSByZWFkLW9ubHk6ICVzJyAlIG5hbWUpCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiBzdHIoc2VsZi5fcmVjb3JkKQotCi0gICAgZGVmIF9fY21wX18oc2VsZiwgb3RoZXIpOgotICAgICAgICB0aGlzID0gc3RyKHNlbGYuX3JlY29yZCkKLSAgICAgICAgaWYgdGhpcyA9PSBvdGhlcjoKLSAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgIGVsaWYgdGhpcyA8IG90aGVyOgotICAgICAgICAgICAgcmV0dXJuIC0xCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gMQotCi0KLSMgcmVhZCB0aGUgd2hvbGUgZmlsZSwgcGFyc2luZyBlYWNoIGVudHJ5IGludG8gdHVwbGUgZm9ybQotIyB3aXRoIGRpY3Rpb25hcmllcyB0byBzcGVlZCByZWNhbGwgYnkgVUlEIG9yIHBhc3N3ZCBuYW1lCi1kZWYgX19yZWFkX3Bhc3N3ZF9maWxlKCk6Ci0gICAgaWYgcGFzc3dkX2ZpbGU6Ci0gICAgICAgIHBhc3N3ZCA9IG9wZW4ocGFzc3dkX2ZpbGUsICdyJykKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBLZXlFcnJvcignPj4gbm8gcGFzc3dvcmQgZGF0YWJhc2UgPDwnKQotICAgIHVpZHggPSB7fQotICAgIG5hbXggPSB7fQotICAgIHNlcCA9IE5vbmUKLSAgICB3aGlsZSBUcnVlOgotICAgICAgICBlbnRyeSA9IHBhc3N3ZC5yZWFkbGluZSgpLnN0cmlwKCkKLSAgICAgICAgaWYgbGVuKGVudHJ5KSA+IDY6Ci0gICAgICAgICAgICBpZiBzZXAgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBzZXAgPSBfX2dldF9maWVsZF9zZXAoZW50cnkpCi0gICAgICAgICAgICBmaWVsZHMgPSBlbnRyeS5zcGxpdChzZXApCi0gICAgICAgICAgICBmb3IgaSBpbiAoMiwgMyk6Ci0gICAgICAgICAgICAgICAgZmllbGRzW2ldID0gaW50KGZpZWxkc1tpXSkKLSAgICAgICAgICAgIGZvciBpIGluICg1LCA2KToKLSAgICAgICAgICAgICAgICBmaWVsZHNbaV0gPSBfX2ZpZWxkX3NlcFtzZXBdKGZpZWxkc1tpXSkKLSAgICAgICAgICAgIHJlY29yZCA9IFBhc3N3ZCgqZmllbGRzKQotICAgICAgICAgICAgaWYgZmllbGRzWzJdIG5vdCBpbiB1aWR4OgotICAgICAgICAgICAgICAgIHVpZHhbZmllbGRzWzJdXSA9IHJlY29yZAotICAgICAgICAgICAgaWYgZmllbGRzWzBdIG5vdCBpbiBuYW14OgotICAgICAgICAgICAgICAgIG5hbXhbZmllbGRzWzBdXSA9IHJlY29yZAotICAgICAgICBlbGlmIGxlbihlbnRyeSkgPiAwOgotICAgICAgICAgICAgcGFzcyAgICAgICAgICAgICAgICAgICAgICAgICAjIHNraXAgZW1wdHkgb3IgbWFsZm9ybWVkIHJlY29yZHMKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGJyZWFrCi0gICAgcGFzc3dkLmNsb3NlKCkKLSAgICBpZiBsZW4odWlkeCkgPT0gMDoKLSAgICAgICAgcmFpc2UgS2V5RXJyb3IKLSAgICByZXR1cm4gKHVpZHgsIG5hbXgpCi0KLSMgcmV0dXJuIHRoZSBwYXNzd2QgZGF0YWJhc2UgZW50cnkgYnkgVUlECi1kZWYgZ2V0cHd1aWQodWlkKToKLSAgICB1LCBuID0gX19yZWFkX3Bhc3N3ZF9maWxlKCkKLSAgICByZXR1cm4gdVt1aWRdCi0KLSMgcmV0dXJuIHRoZSBwYXNzd2QgZGF0YWJhc2UgZW50cnkgYnkgcGFzc3dkIG5hbWUKLWRlZiBnZXRwd25hbShuYW1lKToKLSAgICB1LCBuID0gX19yZWFkX3Bhc3N3ZF9maWxlKCkKLSAgICByZXR1cm4gbltuYW1lXQotCi0jIHJldHVybiBhbGwgdGhlIHBhc3N3ZCBkYXRhYmFzZSBlbnRyaWVzCi1kZWYgZ2V0cHdhbGwoKToKLSAgICB1LCBuID0gX19yZWFkX3Bhc3N3ZF9maWxlKCkKLSAgICByZXR1cm4gbi52YWx1ZXMoKQotCi0jIHRlc3QgaGFybmVzcwotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBnZXRwd2FsbCgpCmRpZmYgLS1naXQgYS9MaWIvcGxhdC1vczJlbXgvcmVnZW4gYi9MaWIvcGxhdC1vczJlbXgvcmVnZW4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDNlY2QyYTguLjAwMDAwMDAKLS0tIGEvTGliL3BsYXQtb3MyZW14L3JlZ2VuCisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi0jISAvYmluL3NoCi1leHBvcnQgSU5DTFVERT0kQ19JTkNMVURFX1BBVEgKLXNldCAtdgotcHl0aG9uLmV4ZSAuLi8uLi9Ub29scy9zY3JpcHRzL2gycHkucHkgJENfSU5DTFVERV9QQVRIL2ZjbnRsLmgKLXB5dGhvbi5leGUgLi4vLi4vVG9vbHMvc2NyaXB0cy9oMnB5LnB5ICRDX0lOQ0xVREVfUEFUSC9zeXMvc29ja2V0LmgKLXB5dGhvbi5leGUgLi4vLi4vVG9vbHMvc2NyaXB0cy9oMnB5LnB5IC1pICcodV9sb25nKScgJENfSU5DTFVERV9QQVRIL25ldGluZXQvaW4uaAotI3B5dGhvbi5leGUgLi4vLi4vVG9vbHMvc2NyaXB0cy9oMnB5LnB5ICRDX0lOQ0xVREVfUEFUSC90ZXJtaW9zLmgKZGlmZiAtLWdpdCBhL0xpYi9wbGF0Zm9ybS5weSBiL0xpYi9wbGF0Zm9ybS5weQppbmRleCAyYjhhMjRhLi5jNTRmNzY4IDEwMDc1NQotLS0gYS9MaWIvcGxhdGZvcm0ucHkKKysrIGIvTGliL3BsYXRmb3JtLnB5CkBAIC0xMjIsNyArMTIyLDcgQEAKIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAjIG9zLmRldm51bGwgd2FzIGFkZGVkIGluIFB5dGhvbiAyLjQsIHNvIGVtdWxhdGUgaXQgZm9yIGVhcmxpZXIKICAgICAjIFB5dGhvbiB2ZXJzaW9ucwotICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoJ2RvcycsJ3dpbjMyJywnd2luMTYnLCdvczInKToKKyAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCdkb3MnLCd3aW4zMicsJ3dpbjE2Jyk6CiAgICAgICAgICMgVXNlIHRoZSBvbGQgQ1AvTSBOVUwgYXMgZGV2aWNlIG5hbWUKICAgICAgICAgREVWX05VTEwgPSAnTlVMJwogICAgIGVsc2U6CkBAIC0zMTYsNyArMzE2LDcgQEAKICAgICAiIiIKICAgICB0cnk6CiAgICAgICAgIGV0YyA9IG9zLmxpc3RkaXIoJy9ldGMnKQotICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgIyBQcm9iYWJseSBub3QgYSBVbml4IHN5c3RlbQogICAgICAgICByZXR1cm4gZGlzdG5hbWUsdmVyc2lvbixpZAogICAgIGV0Yy5zb3J0KCkKQEAgLTQwMywxMyArNDAzLDEzIEBACiAKIGRlZiBfc3lzY21kX3ZlcihzeXN0ZW09JycsIHJlbGVhc2U9JycsIHZlcnNpb249JycsCiAKLSAgICAgICAgICAgICAgIHN1cHBvcnRlZF9wbGF0Zm9ybXM9KCd3aW4zMicsJ3dpbjE2JywnZG9zJywnb3MyJykpOgorICAgICAgICAgICAgICAgc3VwcG9ydGVkX3BsYXRmb3Jtcz0oJ3dpbjMyJywnd2luMTYnLCdkb3MnKSk6CiAKICAgICAiIiIgVHJpZXMgdG8gZmlndXJlIG91dCB0aGUgT1MgdmVyc2lvbiB1c2VkIGFuZCByZXR1cm5zCiAgICAgICAgIGEgdHVwbGUgKHN5c3RlbSxyZWxlYXNlLHZlcnNpb24pLgogCiAgICAgICAgIEl0IHVzZXMgdGhlICJ2ZXIiIHNoZWxsIGNvbW1hbmQgZm9yIHRoaXMgd2hpY2ggaXMga25vd24KLSAgICAgICAgdG8gZXhpc3RzIG9uIFdpbmRvd3MsIERPUyBhbmQgT1MvMi4gWFhYIE90aGVycyB0b28gPworICAgICAgICB0byBleGlzdHMgb24gV2luZG93cywgRE9TLiBYWFggT3RoZXJzIHRvbyA/CiAKICAgICAgICAgSW4gY2FzZSB0aGlzIGZhaWxzLCB0aGUgZ2l2ZW4gcGFyYW1ldGVycyBhcmUgdXNlZCBhcwogICAgICAgICBkZWZhdWx0cy4KQEAgLTQyNCwxMyArNDI0LDEwIEBACiAgICAgICAgICAgICBwaXBlID0gcG9wZW4oY21kKQogICAgICAgICAgICAgaW5mbyA9IHBpcGUucmVhZCgpCiAgICAgICAgICAgICBpZiBwaXBlLmNsb3NlKCk6Ci0gICAgICAgICAgICAgICAgcmFpc2Ugb3MuZXJyb3IoJ2NvbW1hbmQgZmFpbGVkJykKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCdjb21tYW5kIGZhaWxlZCcpCiAgICAgICAgICAgICAjIFhYWCBIb3cgY2FuIEkgc3VwcHJlc3Mgc2hlbGwgZXJyb3JzIGZyb20gYmVpbmcgd3JpdHRlbgogICAgICAgICAgICAgIyAgICAgdG8gc3RkZXJyID8KLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIHdoeToKLSAgICAgICAgICAgICNwcmludCAnQ29tbWFuZCAlcyBmYWlsZWQ6ICVzJyAlIChjbWQsd2h5KQotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgd2h5OgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyB3aHk6CiAgICAgICAgICAgICAjcHJpbnQgJ0NvbW1hbmQgJXMgZmFpbGVkOiAlcycgJSAoY21kLHdoeSkKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGVsc2U6CkBAIC01ODEsNyArNTc4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgIyBEaXNjYXJkIGFueSB0eXBlIHRoYXQgaXNuJ3QgUkVHX1NaCiAgICAgICAgICAgICAgICAgICAgIGlmIHR5cGUgPT0gUkVHX1NaIGFuZCBuYW1lLmZpbmQoIlNlcnZlciIpICE9IC0xOgogICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdF90eXBlID0gVkVSX05UX1NFUlZFUgotICAgICAgICAgICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICMgVXNlIGRlZmF1bHQgb2YgVkVSX05UX1dPUktTVEFUSU9OCiAgICAgICAgICAgICAgICAgICAgIHBhc3MKIApAQCAtODgyLDcgKzg3OSw3IEBACiAgICAgICAgIHJldHVybiBkZWZhdWx0CiAgICAgdHJ5OgogICAgICAgICByZXR1cm4gc29ja2V0LmdldGhvc3RuYW1lKCkKLSAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAjIFN0aWxsIG5vdCB3b3JraW5nLi4uCiAgICAgICAgIHJldHVybiBkZWZhdWx0CiAKQEAgLTkwMSwxMiArODk4LDEyIEBACiAKICAgICAiIiIgSW50ZXJmYWNlIHRvIHRoZSBzeXN0ZW0ncyB1bmFtZSBjb21tYW5kLgogICAgICIiIgotICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoJ2RvcycsJ3dpbjMyJywnd2luMTYnLCdvczInKToKKyAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCdkb3MnLCd3aW4zMicsJ3dpbjE2Jyk6CiAgICAgICAgICMgWFhYIE90aGVycyB0b28gPwogICAgICAgICByZXR1cm4gZGVmYXVsdAogICAgIHRyeToKICAgICAgICAgZiA9IG9zLnBvcGVuKCd1bmFtZSAlcyAyPiAlcycgJSAob3B0aW9uLCBERVZfTlVMTCkpCi0gICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvcixvcy5lcnJvcik6CisgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgT1NFcnJvcik6CiAgICAgICAgIHJldHVybiBkZWZhdWx0CiAgICAgb3V0cHV0ID0gZi5yZWFkKCkuc3RyaXAoKQogICAgIHJjID0gZi5jbG9zZSgpCkBAIC05MjQsNyArOTIxLDcgQEAKICAgICAgICAgZGVmYXVsdCBpbiBjYXNlIHRoZSBjb21tYW5kIHNob3VsZCBmYWlsLgogCiAgICAgIiIiCi0gICAgaWYgc3lzLnBsYXRmb3JtIGluICgnZG9zJywnd2luMzInLCd3aW4xNicsJ29zMicpOgorICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoJ2RvcycsJ3dpbjMyJywnd2luMTYnKToKICAgICAgICAgIyBYWFggT3RoZXJzIHRvbyA/CiAgICAgICAgIHJldHVybiBkZWZhdWx0CiAgICAgdGFyZ2V0ID0gX2ZvbGxvd19zeW1saW5rcyh0YXJnZXQpCkBAIC05MzIsNyArOTI5LDcgQEAKICAgICAgICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oWydmaWxlJywgdGFyZ2V0XSwKICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQpCiAKLSAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLG9zLmVycm9yKToKKyAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBPU0Vycm9yKToKICAgICAgICAgcmV0dXJuIGRlZmF1bHQKICAgICBvdXRwdXQgPSBwcm9jLmNvbW11bmljYXRlKClbMF0uZGVjb2RlKCdsYXRpbi0xJykKICAgICByYyA9IHByb2Mud2FpdCgpCmRpZmYgLS1naXQgYS9MaWIvcG9wbGliLnB5IGIvTGliL3BvcGxpYi5weQppbmRleCBkNDJkOWRkLi4wZjEyYWUyIDEwMDY0NAotLS0gYS9MaWIvcG9wbGliLnB5CisrKyBiL0xpYi9wb3BsaWIucHkKQEAgLTEzLDcgKzEzLDE1IEBACiAKICMgSW1wb3J0cwogCi1pbXBvcnQgcmUsIHNvY2tldAoraW1wb3J0IGVycm5vCitpbXBvcnQgcmUKK2ltcG9ydCBzb2NrZXQKKwordHJ5OgorICAgIGltcG9ydCBzc2wKKyAgICBIQVZFX1NTTCA9IFRydWUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBIQVZFX1NTTCA9IEZhbHNlCiAKIF9fYWxsX18gPSBbIlBPUDMiLCJlcnJvcl9wcm90byJdCiAKQEAgLTU1LDYgKzYzLDggQEAKICAgICAgICAgICAgIEFQT1AgbmFtZSBkaWdlc3QgICAgICAgIGFwb3AobmFtZSwgZGlnZXN0KQogICAgICAgICAgICAgVE9QIG1zZyBuICAgICAgICAgICAgICAgdG9wKG1zZywgbikKICAgICAgICAgICAgIFVJREwgW21zZ10gICAgICAgICAgICAgIHVpZGwobXNnID0gTm9uZSkKKyAgICAgICAgICAgIENBUEEgICAgICAgICAgICAgICAgICAgIGNhcGEoKQorICAgICAgICAgICAgU1RMUyAgICAgICAgICAgICAgICAgICAgc3RscygpCiAKICAgICBSYWlzZXMgb25lIGV4Y2VwdGlvbjogJ2Vycm9yX3Byb3RvJy4KIApAQCAtODEsNiArOTEsNyBAQAogICAgICAgICAgICAgICAgICB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCk6CiAgICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKICAgICAgICAgc2VsZi5wb3J0ID0gcG9ydAorICAgICAgICBzZWxmLl90bHNfZXN0YWJsaXNoZWQgPSBGYWxzZQogICAgICAgICBzZWxmLnNvY2sgPSBzZWxmLl9jcmVhdGVfc29ja2V0KHRpbWVvdXQpCiAgICAgICAgIHNlbGYuZmlsZSA9IHNlbGYuc29jay5tYWtlZmlsZSgncmInKQogICAgICAgICBzZWxmLl9kZWJ1Z2dpbmcgPSAwCkBAIC0yNTksNyArMjcwLDE0IEBACiAgICAgICAgIGlmIHNlbGYuZmlsZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHNlbGYuZmlsZS5jbG9zZSgpCiAgICAgICAgIGlmIHNlbGYuc29jayBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYuc29jay5jbG9zZSgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zb2NrLnNodXRkb3duKHNvY2tldC5TSFVUX1JEV1IpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICMgVGhlIHNlcnZlciBtaWdodCBhbHJlYWR5IGhhdmUgY2xvc2VkIHRoZSBjb25uZWN0aW9uCisgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9UQ09OTjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgc2VsZi5zb2NrLmNsb3NlKCkKICAgICAgICAgc2VsZi5maWxlID0gc2VsZi5zb2NrID0gTm9uZQogCiAgICAgI19fZGVsX18gPSBxdWl0CkBAIC0zMTUsMjEgKzMzMyw3MSBAQAogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3Nob3J0Y21kKCdVSURMICVzJyAlIHdoaWNoKQogICAgICAgICByZXR1cm4gc2VsZi5fbG9uZ2NtZCgnVUlETCcpCiAKLXRyeToKLSAgICBpbXBvcnQgc3NsCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotZWxzZToKKworICAgIGRlZiBjYXBhKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gc2VydmVyIGNhcGFiaWxpdGllcyAoUkZDIDI0NDkpIGFzIGEgZGljdGlvbmFyeQorICAgICAgICA+Pj4gYz1wb3BsaWIuUE9QMygnbG9jYWxob3N0JykKKyAgICAgICAgPj4+IGMuY2FwYSgpCisgICAgICAgIHsnSU1QTEVNRU5UQVRJT04nOiBbJ0N5cnVzJywgJ1BPUDMnLCAnc2VydmVyJywgJ3YyLjIuMTInXSwKKyAgICAgICAgICdUT1AnOiBbXSwgJ0xPR0lOLURFTEFZJzogWycwJ10sICdBVVRILVJFU1AtQ09ERSc6IFtdLAorICAgICAgICAgJ0VYUElSRSc6IFsnTkVWRVInXSwgJ1VTRVInOiBbXSwgJ1NUTFMnOiBbXSwgJ1BJUEVMSU5JTkcnOiBbXSwKKyAgICAgICAgICdVSURMJzogW10sICdSRVNQLUNPREVTJzogW119CisgICAgICAgID4+PgorCisgICAgICAgIFJlYWxseSwgYWNjb3JkaW5nIHRvIFJGQyAyNDQ5LCB0aGUgY3lydXMgZm9sa3Mgc2hvdWxkIGF2b2lkCisgICAgICAgIGhhdmluZyB0aGUgaW1wbGVtZW50YXRpb24gc3BsaXR0ZWQgaW50byBtdWx0aXBsZSBhcmd1bWVudHMuLi4KKyAgICAgICAgIiIiCisgICAgICAgIGRlZiBfcGFyc2VjYXAobGluZSk6CisgICAgICAgICAgICBsc3QgPSBsaW5lLmRlY29kZSgnYXNjaWknKS5zcGxpdCgpCisgICAgICAgICAgICByZXR1cm4gbHN0WzBdLCBsc3RbMTpdCisKKyAgICAgICAgY2FwcyA9IHt9CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlc3AgPSBzZWxmLl9sb25nY21kKCdDQVBBJykKKyAgICAgICAgICAgIHJhd2NhcHMgPSByZXNwWzFdCisgICAgICAgICAgICBmb3IgY2FwbGluZSBpbiByYXdjYXBzOgorICAgICAgICAgICAgICAgIGNhcG5tLCBjYXBhcmdzID0gX3BhcnNlY2FwKGNhcGxpbmUpCisgICAgICAgICAgICAgICAgY2Fwc1tjYXBubV0gPSBjYXBhcmdzCisgICAgICAgIGV4Y2VwdCBlcnJvcl9wcm90byBhcyBfZXJyOgorICAgICAgICAgICAgcmFpc2UgZXJyb3JfcHJvdG8oJy1FUlIgQ0FQQSBub3Qgc3VwcG9ydGVkIGJ5IHNlcnZlcicpCisgICAgICAgIHJldHVybiBjYXBzCisKKworICAgIGRlZiBzdGxzKHNlbGYsIGNvbnRleHQ9Tm9uZSk6CisgICAgICAgICIiIlN0YXJ0IGEgVExTIHNlc3Npb24gb24gdGhlIGFjdGl2ZSBjb25uZWN0aW9uIGFzIHNwZWNpZmllZCBpbiBSRkMgMjU5NS4KKworICAgICAgICAgICAgICAgIGNvbnRleHQgLSBhIHNzbC5TU0xDb250ZXh0CisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgSEFWRV9TU0w6CisgICAgICAgICAgICByYWlzZSBlcnJvcl9wcm90bygnLUVSUiBUTFMgc3VwcG9ydCBtaXNzaW5nJykKKyAgICAgICAgaWYgc2VsZi5fdGxzX2VzdGFibGlzaGVkOgorICAgICAgICAgICAgcmFpc2UgZXJyb3JfcHJvdG8oJy1FUlIgVExTIHNlc3Npb24gYWxyZWFkeSBlc3RhYmxpc2hlZCcpCisgICAgICAgIGNhcHMgPSBzZWxmLmNhcGEoKQorICAgICAgICBpZiBub3QgJ1NUTFMnIGluIGNhcHM6CisgICAgICAgICAgICByYWlzZSBlcnJvcl9wcm90bygnLUVSUiBTVExTIG5vdCBzdXBwb3J0ZWQgYnkgc2VydmVyJykKKyAgICAgICAgaWYgY29udGV4dCBpcyBOb25lOgorICAgICAgICAgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgICAgICBjb250ZXh0Lm9wdGlvbnMgfD0gc3NsLk9QX05PX1NTTHYyCisgICAgICAgIHJlc3AgPSBzZWxmLl9zaG9ydGNtZCgnU1RMUycpCisgICAgICAgIHNlbGYuc29jayA9IGNvbnRleHQud3JhcF9zb2NrZXQoc2VsZi5zb2NrKQorICAgICAgICBzZWxmLmZpbGUgPSBzZWxmLnNvY2subWFrZWZpbGUoJ3JiJykKKyAgICAgICAgc2VsZi5fdGxzX2VzdGFibGlzaGVkID0gVHJ1ZQorICAgICAgICByZXR1cm4gcmVzcAorCisKK2lmIEhBVkVfU1NMOgogCiAgICAgY2xhc3MgUE9QM19TU0woUE9QMyk6CiAgICAgICAgICIiIlBPUDMgY2xpZW50IGNsYXNzIG92ZXIgU1NMIGNvbm5lY3Rpb24KIAotICAgICAgICBJbnN0YW50aWF0ZSB3aXRoOiBQT1AzX1NTTChob3N0bmFtZSwgcG9ydD05OTUsIGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZSkKKyAgICAgICAgSW5zdGFudGlhdGUgd2l0aDogUE9QM19TU0woaG9zdG5hbWUsIHBvcnQ9OTk1LCBrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ9Tm9uZSkKIAogICAgICAgICAgICAgICAgaG9zdG5hbWUgLSB0aGUgaG9zdG5hbWUgb2YgdGhlIHBvcDMgb3ZlciBzc2wgc2VydmVyCiAgICAgICAgICAgICAgICBwb3J0IC0gcG9ydCBudW1iZXIKICAgICAgICAgICAgICAgIGtleWZpbGUgLSBQRU0gZm9ybWF0dGVkIGZpbGUgdGhhdCBjb3VudGFpbnMgeW91ciBwcml2YXRlIGtleQogICAgICAgICAgICAgICAgY2VydGZpbGUgLSBQRU0gZm9ybWF0dGVkIGNlcnRpZmljYXRlIGNoYWluIGZpbGUKKyAgICAgICAgICAgICAgIGNvbnRleHQgLSBhIHNzbC5TU0xDb250ZXh0CiAKICAgICAgICAgU2VlIHRoZSBtZXRob2RzIG9mIHRoZSBwYXJlbnQgY2xhc3MgUE9QMyBmb3IgbW9yZSBkb2N1bWVudGF0aW9uLgogICAgICAgICAiIiIKQEAgLTM1NSw2ICs0MjMsMTMgQEAKICAgICAgICAgICAgICAgICBzb2NrID0gc3NsLndyYXBfc29ja2V0KHNvY2ssIHNlbGYua2V5ZmlsZSwgc2VsZi5jZXJ0ZmlsZSkKICAgICAgICAgICAgIHJldHVybiBzb2NrCiAKKyAgICAgICAgZGVmIHN0bHMoc2VsZiwga2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAgICAgIiIiVGhlIG1ldGhvZCB1bmNvbmRpdGlvbmFsbHkgcmFpc2VzIGFuIGV4Y2VwdGlvbiBzaW5jZSB0aGUKKyAgICAgICAgICAgIFNUTFMgY29tbWFuZCBkb2Vzbid0IG1ha2UgYW55IHNlbnNlIG9uIGFuIGFscmVhZHkgZXN0YWJsaXNoZWQKKyAgICAgICAgICAgIFNTTC9UTFMgc2Vzc2lvbi4KKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgcmFpc2UgZXJyb3JfcHJvdG8oJy1FUlIgVExTIHNlc3Npb24gYWxyZWFkeSBlc3RhYmxpc2hlZCcpCisKICAgICBfX2FsbF9fLmFwcGVuZCgiUE9QM19TU0wiKQogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgpkaWZmIC0tZ2l0IGEvTGliL3Bvc2l4cGF0aC5weSBiL0xpYi9wb3NpeHBhdGgucHkKaW5kZXggYjFlMWE5Mi4uZTFkNTliNiAxMDA2NDQKLS0tIGEvTGliL3Bvc2l4cGF0aC5weQorKysgYi9MaWIvcG9zaXhwYXRoLnB5CkBAIC0xNjIsNyArMTYyLDcgQEAKICAgICAiIiJUZXN0IHdoZXRoZXIgYSBwYXRoIGlzIGEgc3ltYm9saWMgbGluayIiIgogICAgIHRyeToKICAgICAgICAgc3QgPSBvcy5sc3RhdChwYXRoKQotICAgIGV4Y2VwdCAob3MuZXJyb3IsIEF0dHJpYnV0ZUVycm9yKToKKyAgICBleGNlcHQgKE9TRXJyb3IsIEF0dHJpYnV0ZUVycm9yKToKICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgcmV0dXJuIHN0YXQuU19JU0xOSyhzdC5zdF9tb2RlKQogCkBAIC0xNzIsMzkgKzE3MiwxMSBAQAogICAgICIiIlRlc3Qgd2hldGhlciBhIHBhdGggZXhpc3RzLiAgUmV0dXJucyBUcnVlIGZvciBicm9rZW4gc3ltYm9saWMgbGlua3MiIiIKICAgICB0cnk6CiAgICAgICAgIG9zLmxzdGF0KHBhdGgpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4gRmFsc2UKICAgICByZXR1cm4gVHJ1ZQogCiAKLSMgQXJlIHR3byBmaWxlbmFtZXMgcmVhbGx5IHBvaW50aW5nIHRvIHRoZSBzYW1lIGZpbGU/Ci0KLWRlZiBzYW1lZmlsZShmMSwgZjIpOgotICAgICIiIlRlc3Qgd2hldGhlciB0d28gcGF0aG5hbWVzIHJlZmVyZW5jZSB0aGUgc2FtZSBhY3R1YWwgZmlsZSIiIgotICAgIHMxID0gb3Muc3RhdChmMSkKLSAgICBzMiA9IG9zLnN0YXQoZjIpCi0gICAgcmV0dXJuIHNhbWVzdGF0KHMxLCBzMikKLQotCi0jIEFyZSB0d28gb3BlbiBmaWxlcyByZWFsbHkgcmVmZXJlbmNpbmcgdGhlIHNhbWUgZmlsZT8KLSMgKE5vdCBuZWNlc3NhcmlseSB0aGUgc2FtZSBmaWxlIGRlc2NyaXB0b3IhKQotCi1kZWYgc2FtZW9wZW5maWxlKGZwMSwgZnAyKToKLSAgICAiIiJUZXN0IHdoZXRoZXIgdHdvIG9wZW4gZmlsZSBvYmplY3RzIHJlZmVyZW5jZSB0aGUgc2FtZSBmaWxlIiIiCi0gICAgczEgPSBvcy5mc3RhdChmcDEpCi0gICAgczIgPSBvcy5mc3RhdChmcDIpCi0gICAgcmV0dXJuIHNhbWVzdGF0KHMxLCBzMikKLQotCi0jIEFyZSB0d28gc3RhdCBidWZmZXJzIChvYnRhaW5lZCBmcm9tIHN0YXQsIGZzdGF0IG9yIGxzdGF0KQotIyBkZXNjcmliaW5nIHRoZSBzYW1lIGZpbGU/Ci0KLWRlZiBzYW1lc3RhdChzMSwgczIpOgotICAgICIiIlRlc3Qgd2hldGhlciB0d28gc3RhdCBidWZmZXJzIHJlZmVyZW5jZSB0aGUgc2FtZSBmaWxlIiIiCi0gICAgcmV0dXJuIHMxLnN0X2lubyA9PSBzMi5zdF9pbm8gYW5kIFwKLSAgICAgICAgICAgczEuc3RfZGV2ID09IHMyLnN0X2RldgotCi0KICMgSXMgYSBwYXRoIGEgbW91bnQgcG9pbnQ/CiAjIChEb2VzIHRoaXMgd29yayBmb3IgYWxsIFVOSVhlcz8gIElzIGl0IGV2ZW4gZ3VhcmFudGVlZCB0byB3b3JrIGJ5IFBvc2l4PykKIApAQCAtMjIwLDcgKzE5Miw3IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwYXJlbnQgPSBqb2luKHBhdGgsICcuLicpCiAgICAgICAgIHMyID0gb3MubHN0YXQocGFyZW50KQotICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcmV0dXJuIEZhbHNlICMgSXQgZG9lc24ndCBleGlzdCAtLSBzbyBub3QgYSBtb3VudCBwb2ludCA6LSkKICAgICBkZXYxID0gczEuc3RfZGV2CiAgICAgZGV2MiA9IHMyLnN0X2RldgpkaWZmIC0tZ2l0IGEvTGliL3BwcmludC5weSBiL0xpYi9wcHJpbnQucHkKaW5kZXggYWU5NmRkZS4uMWY5OGY1YyAxMDA2NDQKLS0tIGEvTGliL3BwcmludC5weQorKysgYi9MaWIvcHByaW50LnB5CkBAIC0zNCw2ICszNCw3IEBACiAKICIiIgogCitpbXBvcnQgcmUKIGltcG9ydCBzeXMgYXMgX3N5cwogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QgYXMgX09yZGVyZWREaWN0CiBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTyBhcyBfU3RyaW5nSU8KQEAgLTE1OCwxMyArMTU5LDEwIEBACiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgcmVwID0gc2VsZi5fcmVwcihvYmplY3QsIGNvbnRleHQsIGxldmVsIC0gMSkKICAgICAgICAgdHlwID0gX3R5cGUob2JqZWN0KQotICAgICAgICBzZXBMaW5lcyA9IF9sZW4ocmVwKSA+IChzZWxmLl93aWR0aCAtIDEgLSBpbmRlbnQgLSBhbGxvd2FuY2UpCisgICAgICAgIG1heF93aWR0aCA9IHNlbGYuX3dpZHRoIC0gMSAtIGluZGVudCAtIGFsbG93YW5jZQorICAgICAgICBzZXBMaW5lcyA9IF9sZW4ocmVwKSA+IG1heF93aWR0aAogICAgICAgICB3cml0ZSA9IHN0cmVhbS53cml0ZQogCi0gICAgICAgIGlmIHNlbGYuX2RlcHRoIGFuZCBsZXZlbCA+IHNlbGYuX2RlcHRoOgotICAgICAgICAgICAgd3JpdGUocmVwKQotICAgICAgICAgICAgcmV0dXJuCi0KICAgICAgICAgaWYgc2VwTGluZXM6CiAgICAgICAgICAgICByID0gZ2V0YXR0cih0eXAsICJfX3JlcHJfXyIsIE5vbmUpCiAgICAgICAgICAgICBpZiBpc3N1YmNsYXNzKHR5cCwgZGljdCk6CkBAIC0yNDIsNiArMjQwLDM3IEBACiAgICAgICAgICAgICAgICAgd3JpdGUoZW5kY2hhcikKICAgICAgICAgICAgICAgICByZXR1cm4KIAorICAgICAgICAgICAgaWYgaXNzdWJjbGFzcyh0eXAsIHN0cikgYW5kIGxlbihvYmplY3QpID4gMCBhbmQgciBpcyBzdHIuX19yZXByX186CisgICAgICAgICAgICAgICAgZGVmIF9zdHJfcGFydHMocyk6CisgICAgICAgICAgICAgICAgICAgICIiIgorICAgICAgICAgICAgICAgICAgICBSZXR1cm4gYSBsaXN0IG9mIHN0cmluZyBsaXRlcmFscyBjb21wcmlzaW5nIHRoZSByZXByKCkKKyAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGdpdmVuIHN0cmluZyB1c2luZyBsaXRlcmFsIGNvbmNhdGVuYXRpb24uCisgICAgICAgICAgICAgICAgICAgICIiIgorICAgICAgICAgICAgICAgICAgICBsaW5lcyA9IHMuc3BsaXRsaW5lcyhUcnVlKQorICAgICAgICAgICAgICAgICAgICBmb3IgaSwgbGluZSBpbiBlbnVtZXJhdGUobGluZXMpOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVwID0gcmVwcihsaW5lKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgX2xlbihyZXApIDw9IG1heF93aWR0aDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCByZXAKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBBIGxpc3Qgb2YgYWx0ZXJuYXRpbmcgKG5vbi1zcGFjZSwgc3BhY2UpIHN0cmluZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cyA9IHJlLnNwbGl0KHInKFxzKyknLCBsaW5lKSArIFsnJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gJycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4ocGFydHMpLCAyKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydCA9IHBhcnRzW2ldICsgcGFydHNbaSsxXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGUgPSBjdXJyZW50ICsgcGFydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBsZW4ocmVwcihjYW5kaWRhdGUpKSA+IG1heF93aWR0aDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGN1cnJlbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgcmVwcihjdXJyZW50KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IHBhcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSBjYW5kaWRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjdXJyZW50OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCByZXByKGN1cnJlbnQpCisgICAgICAgICAgICAgICAgZm9yIGksIHJlcCBpbiBlbnVtZXJhdGUoX3N0cl9wYXJ0cyhvYmplY3QpKToKKyAgICAgICAgICAgICAgICAgICAgaWYgaSA+IDA6CisgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZSgnXG4nICsgJyAnKmluZGVudCkKKyAgICAgICAgICAgICAgICAgICAgd3JpdGUocmVwKQorICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICB3cml0ZShyZXApCiAKICAgICBkZWYgX3JlcHIoc2VsZiwgb2JqZWN0LCBjb250ZXh0LCBsZXZlbCk6CmRpZmYgLS1naXQgYS9MaWIvcHJvZmlsZS5weSBiL0xpYi9wcm9maWxlLnB5CmluZGV4IDc0M2U3N2QuLjVkMGU5NjggMTAwNzU1Ci0tLSBhL0xpYi9wcm9maWxlLnB5CisrKyBiL0xpYi9wcm9maWxlLnB5CkBAIC00MCw2ICs0MCw0MCBAQAogIyAgICAgICByZXR1cm4gaV9jb3VudAogI2l0aW1lcyA9IGludGVnZXJfdGltZXIgIyByZXBsYWNlIHdpdGggQyBjb2RlZCB0aW1lciByZXR1cm5pbmcgaW50ZWdlcnMKIAorY2xhc3MgX1V0aWxzOgorICAgICIiIlN1cHBvcnQgY2xhc3MgZm9yIHV0aWxpdHkgZnVuY3Rpb25zIHdoaWNoIGFyZSBzaGFyZWQgYnkKKyAgICBwcm9maWxlLnB5IGFuZCBjUHJvZmlsZS5weSBtb2R1bGVzLgorICAgIE5vdCBzdXBwb3NlZCB0byBiZSB1c2VkIGRpcmVjdGx5LgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByb2ZpbGVyKToKKyAgICAgICAgc2VsZi5wcm9maWxlciA9IHByb2ZpbGVyCisKKyAgICBkZWYgcnVuKHNlbGYsIHN0YXRlbWVudCwgZmlsZW5hbWUsIHNvcnQpOgorICAgICAgICBwcm9mID0gc2VsZi5wcm9maWxlcigpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHByb2YucnVuKHN0YXRlbWVudCkKKyAgICAgICAgZXhjZXB0IFN5c3RlbUV4aXQ6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLl9zaG93KHByb2YsIGZpbGVuYW1lLCBzb3J0KQorCisgICAgZGVmIHJ1bmN0eChzZWxmLCBzdGF0ZW1lbnQsIGdsb2JhbHMsIGxvY2FscywgZmlsZW5hbWUsIHNvcnQpOgorICAgICAgICBwcm9mID0gc2VsZi5wcm9maWxlcigpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHByb2YucnVuY3R4KHN0YXRlbWVudCwgZ2xvYmFscywgbG9jYWxzKQorICAgICAgICBleGNlcHQgU3lzdGVtRXhpdDoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYuX3Nob3cocHJvZiwgZmlsZW5hbWUsIHNvcnQpCisKKyAgICBkZWYgX3Nob3coc2VsZiwgcHJvZiwgZmlsZW5hbWUsIHNvcnQpOgorICAgICAgICBpZiBmaWxlbmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHByb2YuZHVtcF9zdGF0cyhmaWxlbmFtZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByb2YucHJpbnRfc3RhdHMoc29ydCkKKworCiAjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICMgVGhlIGZvbGxvd2luZyBhcmUgdGhlIHN0YXRpYyBtZW1iZXIgZnVuY3Rpb25zIGZvciB0aGUgcHJvZmlsZXIgY2xhc3MKICMgTm90ZSB0aGF0IGFuIGluc3RhbmNlIG9mIFByb2ZpbGUoKSBpcyAqbm90KiBuZWVkZWQgdG8gY2FsbCB0aGVtLgpAQCAtNTYsMTUgKzkwLDcgQEAKICAgICBzdGFuZGFyZCBuYW1lIHN0cmluZyAoZmlsZS9saW5lL2Z1bmN0aW9uLW5hbWUpIHRoYXQgaXMgcHJlc2VudGVkIGluCiAgICAgZWFjaCBsaW5lLgogICAgICIiIgotICAgIHByb2YgPSBQcm9maWxlKCkKLSAgICB0cnk6Ci0gICAgICAgIHByb2YgPSBwcm9mLnJ1bihzdGF0ZW1lbnQpCi0gICAgZXhjZXB0IFN5c3RlbUV4aXQ6Ci0gICAgICAgIHBhc3MKLSAgICBpZiBmaWxlbmFtZSBpcyBub3QgTm9uZToKLSAgICAgICAgcHJvZi5kdW1wX3N0YXRzKGZpbGVuYW1lKQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBwcm9mLnByaW50X3N0YXRzKHNvcnQpCisgICAgcmV0dXJuIF9VdGlscyhQcm9maWxlKS5ydW4oc3RhdGVtZW50LCBmaWxlbmFtZSwgc29ydCkKIAogZGVmIHJ1bmN0eChzdGF0ZW1lbnQsIGdsb2JhbHMsIGxvY2FscywgZmlsZW5hbWU9Tm9uZSwgc29ydD0tMSk6CiAgICAgIiIiUnVuIHN0YXRlbWVudCB1bmRlciBwcm9maWxlciwgc3VwcGx5aW5nIHlvdXIgb3duIGdsb2JhbHMgYW5kIGxvY2FscywKQEAgLTcyLDE2ICs5OCw4IEBACiAKICAgICBzdGF0ZW1lbnQgYW5kIGZpbGVuYW1lIGhhdmUgdGhlIHNhbWUgc2VtYW50aWNzIGFzIHByb2ZpbGUucnVuCiAgICAgIiIiCi0gICAgcHJvZiA9IFByb2ZpbGUoKQotICAgIHRyeToKLSAgICAgICAgcHJvZiA9IHByb2YucnVuY3R4KHN0YXRlbWVudCwgZ2xvYmFscywgbG9jYWxzKQotICAgIGV4Y2VwdCBTeXN0ZW1FeGl0OgotICAgICAgICBwYXNzCisgICAgcmV0dXJuIF9VdGlscyhQcm9maWxlKS5ydW5jdHgoc3RhdGVtZW50LCBnbG9iYWxzLCBsb2NhbHMsIGZpbGVuYW1lLCBzb3J0KQogCi0gICAgaWYgZmlsZW5hbWUgaXMgbm90IE5vbmU6Ci0gICAgICAgIHByb2YuZHVtcF9zdGF0cyhmaWxlbmFtZSkKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gcHJvZi5wcmludF9zdGF0cyhzb3J0KQogCiBjbGFzcyBQcm9maWxlOgogICAgICIiIlByb2ZpbGVyIGNsYXNzLgpAQCAtMzczLDEwICszOTEsOSBAQAogICAgICAgICAgICAgICAgICAgcHJpbnRfc3RhdHMoKQogCiAgICAgZGVmIGR1bXBfc3RhdHMoc2VsZiwgZmlsZSk6Ci0gICAgICAgIGYgPSBvcGVuKGZpbGUsICd3YicpCi0gICAgICAgIHNlbGYuY3JlYXRlX3N0YXRzKCkKLSAgICAgICAgbWFyc2hhbC5kdW1wKHNlbGYuc3RhdHMsIGYpCi0gICAgICAgIGYuY2xvc2UoKQorICAgICAgICB3aXRoIG9wZW4oZmlsZSwgJ3diJykgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlX3N0YXRzKCkKKyAgICAgICAgICAgIG1hcnNoYWwuZHVtcChzZWxmLnN0YXRzLCBmKQogCiAgICAgZGVmIGNyZWF0ZV9zdGF0cyhzZWxmKToKICAgICAgICAgc2VsZi5zaW11bGF0ZV9jbWRfY29tcGxldGUoKQpkaWZmIC0tZ2l0IGEvTGliL3BzdGF0cy5weSBiL0xpYi9wc3RhdHMucHkKaW5kZXggNmE3NzYwNS4uZTFlYzM1NSAxMDA2NDQKLS0tIGEvTGliL3BzdGF0cy5weQorKysgYi9MaWIvcHN0YXRzLnB5CkBAIC05Myw5ICs5Myw4IEBACiAgICAgICAgICAgICBzZWxmLnN0YXRzID0ge30KICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbGlmIGlzaW5zdGFuY2UoYXJnLCBzdHIpOgotICAgICAgICAgICAgZiA9IG9wZW4oYXJnLCAncmInKQotICAgICAgICAgICAgc2VsZi5zdGF0cyA9IG1hcnNoYWwubG9hZChmKQotICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgICAgICB3aXRoIG9wZW4oYXJnLCAncmInKSBhcyBmOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdHMgPSBtYXJzaGFsLmxvYWQoZikKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBmaWxlX3N0YXRzID0gb3Muc3RhdChhcmcpCiAgICAgICAgICAgICAgICAgYXJnID0gdGltZS5jdGltZShmaWxlX3N0YXRzLnN0X210aW1lKSArICIgICAgIiArIGFyZwpAQCAtMTQ5LDExICsxNDgsOCBAQAogCiAgICAgZGVmIGR1bXBfc3RhdHMoc2VsZiwgZmlsZW5hbWUpOgogICAgICAgICAiIiJXcml0ZSB0aGUgcHJvZmlsZSBkYXRhIHRvIGEgZmlsZSB3ZSBrbm93IGhvdyB0byBsb2FkIGJhY2suIiIiCi0gICAgICAgIGYgPSBvcGVuKGZpbGVuYW1lLCAnd2InKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3diJykgYXMgZjoKICAgICAgICAgICAgIG1hcnNoYWwuZHVtcChzZWxmLnN0YXRzLCBmKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZi5jbG9zZSgpCiAKICAgICAjIGxpc3QgdGhlIHR1cGxlIGluZGljZXMgYW5kIGRpcmVjdGlvbnMgZm9yIHNvcnRpbmcsCiAgICAgIyBhbG9uZyB3aXRoIHNvbWUgcHJpbnRhYmxlIGRlc2NyaXB0aW9uCkBAIC02MTIsNyArNjA4LDcgQEAKICAgICAgICAgICAgIGlmIGxpbmU6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzZWxmLnN0YXRzID0gU3RhdHMobGluZSkKLSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICBwcmludChlcnIuYXJnc1sxXSwgZmlsZT1zZWxmLnN0cmVhbSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CmRpZmYgLS1naXQgYS9MaWIvcHR5LnB5IGIvTGliL3B0eS5weQppbmRleCAzY2NmNjE5Li41ZmU1M2MxIDEwMDY0NAotLS0gYS9MaWIvcHR5LnB5CisrKyBiL0xpYi9wdHkucHkKQEAgLTU2LDE4ICs1NiwxOCBAQAogICAgIGVsc2U6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHR0eV9uYW1lLCBtYXN0ZXJfZmQgPSBzZ2kuX2dldHB0eShvcy5PX1JEV1IsIDBvNjY2LCAwKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6Ci0gICAgICAgICAgICByYWlzZSBvcy5lcnJvcihtc2cpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IobXNnKQogICAgICAgICByZXR1cm4gbWFzdGVyX2ZkLCB0dHlfbmFtZQogICAgIGZvciB4IGluICdwcXJzdHV2d3h5elBRUlNUJzoKICAgICAgICAgZm9yIHkgaW4gJzAxMjM0NTY3ODlhYmNkZWYnOgogICAgICAgICAgICAgcHR5X25hbWUgPSAnL2Rldi9wdHknICsgeCArIHkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBmZCA9IG9zLm9wZW4ocHR5X25hbWUsIG9zLk9fUkRXUikKLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICByZXR1cm4gKGZkLCAnL2Rldi90dHknICsgeCArIHkpCi0gICAgcmFpc2Ugb3MuZXJyb3IoJ291dCBvZiBwdHkgZGV2aWNlcycpCisgICAgcmFpc2UgT1NFcnJvcignb3V0IG9mIHB0eSBkZXZpY2VzJykKIAogZGVmIHNsYXZlX29wZW4odHR5X25hbWUpOgogICAgICIiInNsYXZlX29wZW4odHR5X25hbWUpIC0+IHNsYXZlX2ZkCkBAIC04Myw3ICs4Myw3IEBACiAgICAgdHJ5OgogICAgICAgICBpb2N0bChyZXN1bHQsIElfUFVTSCwgInB0ZW0iKQogICAgICAgICBpb2N0bChyZXN1bHQsIElfUFVTSCwgImxkdGVybSIpCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHBhc3MKICAgICByZXR1cm4gcmVzdWx0CiAKQEAgLTE3Myw4ICsxNzMsOSBAQAogICAgICAgICByZXN0b3JlID0gMAogICAgIHRyeToKICAgICAgICAgX2NvcHkobWFzdGVyX2ZkLCBtYXN0ZXJfcmVhZCwgc3RkaW5fcmVhZCkKLSAgICBleGNlcHQgKElPRXJyb3IsIE9TRXJyb3IpOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBpZiByZXN0b3JlOgogICAgICAgICAgICAgdHR5LnRjc2V0YXR0cihTVERJTl9GSUxFTk8sIHR0eS5UQ1NBRkxVU0gsIG1vZGUpCiAKICAgICBvcy5jbG9zZShtYXN0ZXJfZmQpCisgICAgcmV0dXJuIG9zLndhaXRwaWQocGlkLCAwKVsxXQpkaWZmIC0tZ2l0IGEvTGliL3B5X2NvbXBpbGUucHkgYi9MaWIvcHlfY29tcGlsZS5weQppbmRleCA2MmQ2OWFkLi43MDFlOGFjIDEwMDY0NAotLS0gYS9MaWIvcHlfY29tcGlsZS5weQorKysgYi9MaWIvcHlfY29tcGlsZS5weQpAQCAtMywxNyArMywxMyBAQAogVGhpcyBtb2R1bGUgaGFzIGludGltYXRlIGtub3dsZWRnZSBvZiB0aGUgZm9ybWF0IG9mIC5weWMgZmlsZXMuCiAiIiIKIAotaW1wb3J0IGJ1aWx0aW5zCi1pbXBvcnQgZXJybm8KIGltcG9ydCBpbXAKLWltcG9ydCBtYXJzaGFsCitpbXBvcnQgaW1wb3J0bGliLl9ib290c3RyYXAKK2ltcG9ydCBpbXBvcnRsaWIubWFjaGluZXJ5CiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKLWltcG9ydCB0b2tlbml6ZQogaW1wb3J0IHRyYWNlYmFjawogCi1NQUdJQyA9IGltcC5nZXRfbWFnaWMoKQotCiBfX2FsbF9fID0gWyJjb21waWxlIiwgIm1haW4iLCAiUHlDb21waWxlRXJyb3IiXQogCiAKQEAgLTY1LDEzICs2MSw2IEBACiAgICAgICAgIHJldHVybiBzZWxmLm1zZwogCiAKLWRlZiB3cl9sb25nKGYsIHgpOgotICAgICIiIkludGVybmFsOyB3cml0ZSBhIDMyLWJpdCBpbnQgdG8gYSBmaWxlIGluIGxpdHRsZS1lbmRpYW4gb3JkZXIuIiIiCi0gICAgZi53cml0ZShieXRlcyhbeCAgICAgICAgICYgMHhmZiwKLSAgICAgICAgICAgICAgICAgICAoeCA+PiA4KSAgJiAweGZmLAotICAgICAgICAgICAgICAgICAgICh4ID4+IDE2KSAmIDB4ZmYsCi0gICAgICAgICAgICAgICAgICAgKHggPj4gMjQpICYgMHhmZl0pKQotCiBkZWYgY29tcGlsZShmaWxlLCBjZmlsZT1Ob25lLCBkZmlsZT1Ob25lLCBkb3JhaXNlPUZhbHNlLCBvcHRpbWl6ZT0tMSk6CiAgICAgIiIiQnl0ZS1jb21waWxlIG9uZSBQeXRob24gc291cmNlIGZpbGUgdG8gUHl0aG9uIGJ5dGVjb2RlLgogCkBAIC0xMDgsMTcgKzk3LDE2IEBACiAgICAgYnl0ZS1jb21waWxlIGFsbCBpbnN0YWxsZWQgZmlsZXMgKG9yIGFsbCBmaWxlcyBpbiBzZWxlY3RlZAogICAgIGRpcmVjdG9yaWVzKS4KICAgICAiIiIKLSAgICB3aXRoIHRva2VuaXplLm9wZW4oZmlsZSkgYXMgZjoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3QgPSBvcy5mc3RhdChmLmZpbGVubygpKQotICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICAgICBzdCA9IG9zLnN0YXQoZmlsZSkKLSAgICAgICAgdGltZXN0YW1wID0gaW50KHN0LnN0X210aW1lKQotICAgICAgICBzaXplID0gc3Quc3Rfc2l6ZSAmIDB4RkZGRkZGRkYKLSAgICAgICAgY29kZXN0cmluZyA9IGYucmVhZCgpCisgICAgaWYgY2ZpbGUgaXMgTm9uZToKKyAgICAgICAgaWYgb3B0aW1pemUgPj0gMDoKKyAgICAgICAgICAgIGNmaWxlID0gaW1wLmNhY2hlX2Zyb21fc291cmNlKGZpbGUsIGRlYnVnX292ZXJyaWRlPW5vdCBvcHRpbWl6ZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNmaWxlID0gaW1wLmNhY2hlX2Zyb21fc291cmNlKGZpbGUpCisgICAgbG9hZGVyID0gaW1wb3J0bGliLm1hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyKCc8cHlfY29tcGlsZT4nLCBmaWxlKQorICAgIHNvdXJjZV9ieXRlcyA9IGxvYWRlci5nZXRfZGF0YShmaWxlKQogICAgIHRyeToKLSAgICAgICAgY29kZW9iamVjdCA9IGJ1aWx0aW5zLmNvbXBpbGUoY29kZXN0cmluZywgZGZpbGUgb3IgZmlsZSwgJ2V4ZWMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpbWl6ZT1vcHRpbWl6ZSkKKyAgICAgICAgY29kZSA9IGxvYWRlci5zb3VyY2VfdG9fY29kZShzb3VyY2VfYnl0ZXMsIGRmaWxlIG9yIGZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX29wdGltaXplPW9wdGltaXplKQogICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgogICAgICAgICBweV9leGMgPSBQeUNvbXBpbGVFcnJvcihlcnIuX19jbGFzc19fLCBlcnIsIGRmaWxlIG9yIGZpbGUpCiAgICAgICAgIGlmIGRvcmFpc2U6CkBAIC0xMjYsMjggKzExNCwyMCBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShweV9leGMubXNnICsgJ1xuJykKICAgICAgICAgICAgIHJldHVybgotICAgIGlmIGNmaWxlIGlzIE5vbmU6Ci0gICAgICAgIGlmIG9wdGltaXplID49IDA6Ci0gICAgICAgICAgICBjZmlsZSA9IGltcC5jYWNoZV9mcm9tX3NvdXJjZShmaWxlLCBkZWJ1Z19vdmVycmlkZT1ub3Qgb3B0aW1pemUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBjZmlsZSA9IGltcC5jYWNoZV9mcm9tX3NvdXJjZShmaWxlKQogICAgIHRyeToKICAgICAgICAgZGlybmFtZSA9IG9zLnBhdGguZGlybmFtZShjZmlsZSkKICAgICAgICAgaWYgZGlybmFtZToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCi0gICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyb3I6Ci0gICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgIHJhaXNlCi0gICAgd2l0aCBvcGVuKGNmaWxlLCAnd2InKSBhcyBmYzoKLSAgICAgICAgZmMud3JpdGUoYidcMFwwXDBcMCcpCi0gICAgICAgIHdyX2xvbmcoZmMsIHRpbWVzdGFtcCkKLSAgICAgICAgd3JfbG9uZyhmYywgc2l6ZSkKLSAgICAgICAgbWFyc2hhbC5kdW1wKGNvZGVvYmplY3QsIGZjKQotICAgICAgICBmYy5mbHVzaCgpCi0gICAgICAgIGZjLnNlZWsoMCwgMCkKLSAgICAgICAgZmMud3JpdGUoTUFHSUMpCisgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgcGFzcworICAgIHNvdXJjZV9zdGF0cyA9IGxvYWRlci5wYXRoX3N0YXRzKGZpbGUpCisgICAgYnl0ZWNvZGUgPSBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fY29kZV90b19ieXRlY29kZSgKKyAgICAgICAgICAgIGNvZGUsIHNvdXJjZV9zdGF0c1snbXRpbWUnXSwgc291cmNlX3N0YXRzWydzaXplJ10pCisgICAgbW9kZSA9IGltcG9ydGxpYi5fYm9vdHN0cmFwLl9jYWxjX21vZGUoZmlsZSkKKyAgICBpbXBvcnRsaWIuX2Jvb3RzdHJhcC5fd3JpdGVfYXRvbWljKGNmaWxlLCBieXRlY29kZSwgbW9kZSkKICAgICByZXR1cm4gY2ZpbGUKIAorCiBkZWYgbWFpbihhcmdzPU5vbmUpOgogICAgICIiIkNvbXBpbGUgc2V2ZXJhbCBzb3VyY2UgZmlsZXMuCiAKQEAgLTE3Myw3ICsxNTMsNyBAQAogICAgICAgICAgICAgZXhjZXB0IFB5Q29tcGlsZUVycm9yIGFzIGVycm9yOgogICAgICAgICAgICAgICAgIHJ2ID0gMQogICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIiVzXG4iICUgZXJyb3IubXNnKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnJvcjoKICAgICAgICAgICAgICAgICBydiA9IDEKICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCIlc1xuIiAlIGVycm9yKQogICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvcHlkb2MucHkgYi9MaWIvcHlkb2MucHkKaW5kZXggOWRjZTA3OS4uNzUwNWNjZCAxMDA3NTUKLS0tIGEvTGliL3B5ZG9jLnB5CisrKyBiL0xpYi9weWRvYy5weQpAQCAtMjI2LDcgKzIyNiw3IEBACiAgICAgaWYgbGFzdHVwZGF0ZSBpcyBOb25lIG9yIGxhc3R1cGRhdGUgPCBtdGltZToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZmlsZSA9IHRva2VuaXplLm9wZW4oZmlsZW5hbWUpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICMgbW9kdWxlIGNhbid0IGJlIG9wZW5lZCwgc28gc2tpcCBpdAogICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgYmluYXJ5X3N1ZmZpeGVzID0gaW1wb3J0bGliLm1hY2hpbmVyeS5CWVRFQ09ERV9TVUZGSVhFU1s6XQpAQCAtMTM5Niw3ICsxMzk2LDcgQEAKICAgICAgICAgICAgIHJldHVybiBsYW1iZGEgdGV4dDogcGlwZXBhZ2VyKHRleHQsIG9zLmVudmlyb25bJ1BBR0VSJ10pCiAgICAgaWYgb3MuZW52aXJvbi5nZXQoJ1RFUk0nKSBpbiAoJ2R1bWInLCAnZW1hY3MnKToKICAgICAgICAgcmV0dXJuIHBsYWlucGFnZXIKLSAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJyBvciBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnb3MyJyk6CisgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CiAgICAgICAgIHJldHVybiBsYW1iZGEgdGV4dDogdGVtcGZpbGVwYWdlcihwbGFpbih0ZXh0KSwgJ21vcmUgPCcpCiAgICAgaWYgaGFzYXR0cihvcywgJ3N5c3RlbScpIGFuZCBvcy5zeXN0ZW0oJyhsZXNzKSAyPi9kZXYvbnVsbCcpID09IDA6CiAgICAgICAgIHJldHVybiBsYW1iZGEgdGV4dDogcGlwZXBhZ2VyKHRleHQsICdsZXNzJykKQEAgLTE0MjIsMTYgKzE0MjIsMTUgQEAKICAgICB0cnk6CiAgICAgICAgIHBpcGUud3JpdGUodGV4dCkKICAgICAgICAgcGlwZS5jbG9zZSgpCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHBhc3MgIyBJZ25vcmUgYnJva2VuIHBpcGVzIGNhdXNlZCBieSBxdWl0dGluZyB0aGUgcGFnZXIgcHJvZ3JhbS4KIAogZGVmIHRlbXBmaWxlcGFnZXIodGV4dCwgY21kKToKICAgICAiIiJQYWdlIHRocm91Z2ggdGV4dCBieSBpbnZva2luZyBhIHByb2dyYW0gb24gYSB0ZW1wb3JhcnkgZmlsZS4iIiIKICAgICBpbXBvcnQgdGVtcGZpbGUKICAgICBmaWxlbmFtZSA9IHRlbXBmaWxlLm1rdGVtcCgpCi0gICAgZmlsZSA9IG9wZW4oZmlsZW5hbWUsICd3JykKLSAgICBmaWxlLndyaXRlKHRleHQpCi0gICAgZmlsZS5jbG9zZSgpCisgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAndycpIGFzIGZpbGU6CisgICAgICAgIGZpbGUud3JpdGUodGV4dCkKICAgICB0cnk6CiAgICAgICAgIG9zLnN5c3RlbShjbWQgKyAnICInICsgZmlsZW5hbWUgKyAnIicpCiAgICAgZmluYWxseToKQEAgLTE4NTAsMTAgKzE4NDksMTAgQEAKIFB5dGhvbiBwcm9ncmFtcyBhbmQgdXNpbmcgUHl0aG9uIG1vZHVsZXMuICBUbyBxdWl0IHRoaXMgaGVscCB1dGlsaXR5IGFuZAogcmV0dXJuIHRvIHRoZSBpbnRlcnByZXRlciwganVzdCB0eXBlICJxdWl0Ii4KIAotVG8gZ2V0IGEgbGlzdCBvZiBhdmFpbGFibGUgbW9kdWxlcywga2V5d29yZHMsIG9yIHRvcGljcywgdHlwZSAibW9kdWxlcyIsCi0ia2V5d29yZHMiLCBvciAidG9waWNzIi4gIEVhY2ggbW9kdWxlIGFsc28gY29tZXMgd2l0aCBhIG9uZS1saW5lIHN1bW1hcnkKLW9mIHdoYXQgaXQgZG9lczsgdG8gbGlzdCB0aGUgbW9kdWxlcyB3aG9zZSBzdW1tYXJpZXMgY29udGFpbiBhIGdpdmVuIHdvcmQKLXN1Y2ggYXMgInNwYW0iLCB0eXBlICJtb2R1bGVzIHNwYW0iLgorVG8gZ2V0IGEgbGlzdCBvZiBhdmFpbGFibGUgbW9kdWxlcywga2V5d29yZHMsIHN5bWJvbHMsIG9yIHRvcGljcywgdHlwZQorIm1vZHVsZXMiLCAia2V5d29yZHMiLCAic3ltYm9scyIsIG9yICJ0b3BpY3MiLiAgRWFjaCBtb2R1bGUgYWxzbyBjb21lcword2l0aCBhIG9uZS1saW5lIHN1bW1hcnkgb2Ygd2hhdCBpdCBkb2VzOyB0byBsaXN0IHRoZSBtb2R1bGVzIHdob3NlIG5hbWUKK29yIHN1bW1hcnkgY29udGFpbiBhIGdpdmVuIHN0cmluZyBzdWNoIGFzICJzcGFtIiwgdHlwZSAibW9kdWxlcyBzcGFtIi4KICcnJyAlIHR1cGxlKFtzeXMudmVyc2lvbls6M11dKjIpKQogCiAgICAgZGVmIGxpc3Qoc2VsZiwgaXRlbXMsIGNvbHVtbnM9NCwgd2lkdGg9ODApOgpAQCAtMTk1OCw5ICsxOTU3LDEwIEBACiAgICAgZGVmIGxpc3Rtb2R1bGVzKHNlbGYsIGtleT0nJyk6CiAgICAgICAgIGlmIGtleToKICAgICAgICAgICAgIHNlbGYub3V0cHV0LndyaXRlKCcnJwotSGVyZSBpcyBhIGxpc3Qgb2YgbWF0Y2hpbmcgbW9kdWxlcy4gIEVudGVyIGFueSBtb2R1bGUgbmFtZSB0byBnZXQgbW9yZSBoZWxwLgorSGVyZSBpcyBhIGxpc3Qgb2YgbW9kdWxlcyB3aG9zZSBuYW1lIG9yIHN1bW1hcnkgY29udGFpbnMgJ3t9Jy4KK0lmIHRoZXJlIGFyZSBhbnksIGVudGVyIGEgbW9kdWxlIG5hbWUgdG8gZ2V0IG1vcmUgaGVscC4KIAotJycnKQorJycnLmZvcm1hdChrZXkpKQogICAgICAgICAgICAgYXByb3BvcyhrZXkpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLm91dHB1dC53cml0ZSgnJycKQEAgLTE5NzksMzUgKzE5NzksMTEgQEAKICAgICAgICAgICAgIHNlbGYubGlzdChtb2R1bGVzLmtleXMoKSkKICAgICAgICAgICAgIHNlbGYub3V0cHV0LndyaXRlKCcnJwogRW50ZXIgYW55IG1vZHVsZSBuYW1lIHRvIGdldCBtb3JlIGhlbHAuICBPciwgdHlwZSAibW9kdWxlcyBzcGFtIiB0byBzZWFyY2gKLWZvciBtb2R1bGVzIHdob3NlIGRlc2NyaXB0aW9ucyBjb250YWluIHRoZSB3b3JkICJzcGFtIi4KK2ZvciBtb2R1bGVzIHdob3NlIG5hbWUgb3Igc3VtbWFyeSBjb250YWluIHRoZSBzdHJpbmcgInNwYW0iLgogJycnKQogCiBoZWxwID0gSGVscGVyKCkKIAotY2xhc3MgU2Nhbm5lcjoKLSAgICAiIiJBIGdlbmVyaWMgdHJlZSBpdGVyYXRvci4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgcm9vdHMsIGNoaWxkcmVuLCBkZXNjZW5kcCk6Ci0gICAgICAgIHNlbGYucm9vdHMgPSByb290c1s6XQotICAgICAgICBzZWxmLnN0YXRlID0gW10KLSAgICAgICAgc2VsZi5jaGlsZHJlbiA9IGNoaWxkcmVuCi0gICAgICAgIHNlbGYuZGVzY2VuZHAgPSBkZXNjZW5kcAotCi0gICAgZGVmIG5leHQoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLnN0YXRlOgotICAgICAgICAgICAgaWYgbm90IHNlbGYucm9vdHM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIHJvb3QgPSBzZWxmLnJvb3RzLnBvcCgwKQotICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IFsocm9vdCwgc2VsZi5jaGlsZHJlbihyb290KSldCi0gICAgICAgIG5vZGUsIGNoaWxkcmVuID0gc2VsZi5zdGF0ZVstMV0KLSAgICAgICAgaWYgbm90IGNoaWxkcmVuOgotICAgICAgICAgICAgc2VsZi5zdGF0ZS5wb3AoKQotICAgICAgICAgICAgcmV0dXJuIHNlbGYubmV4dCgpCi0gICAgICAgIGNoaWxkID0gY2hpbGRyZW4ucG9wKDApCi0gICAgICAgIGlmIHNlbGYuZGVzY2VuZHAoY2hpbGQpOgotICAgICAgICAgICAgc2VsZi5zdGF0ZS5hcHBlbmQoKGNoaWxkLCBzZWxmLmNoaWxkcmVuKGNoaWxkKSkpCi0gICAgICAgIHJldHVybiBjaGlsZAotCi0KIGNsYXNzIE1vZHVsZVNjYW5uZXI6CiAgICAgIiIiQW4gaW50ZXJydXB0aWJsZSBzY2FubmVyIHRoYXQgc2VhcmNoZXMgbW9kdWxlIHN5bm9wc2VzLiIiIgogCmRpZmYgLS1naXQgYS9MaWIvcXVvcHJpLnB5IGIvTGliL3F1b3ByaS5weQppbmRleCAzZDBmMGFjLi5lNWJkMDEwIDEwMDc1NQotLS0gYS9MaWIvcXVvcHJpLnB5CisrKyBiL0xpYi9xdW9wcmkucHkKQEAgLTIyMyw3ICsyMjMsNyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGZwID0gb3BlbihmaWxlLCAicmIiKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIiVzOiBjYW4ndCBvcGVuICglcylcbiIgJSAoZmlsZSwgbXNnKSkKICAgICAgICAgICAgICAgICBzdHMgPSAxCiAgICAgICAgICAgICAgICAgY29udGludWUKZGlmZiAtLWdpdCBhL0xpYi9yYW5kb20ucHkgYi9MaWIvcmFuZG9tLnB5CmluZGV4IDdkOGQ0ZjMuLmIxODNmNTYgMTAwNjQ0Ci0tLSBhL0xpYi9yYW5kb20ucHkKKysrIGIvTGliL3JhbmRvbS5weQpAQCAtMTUxLDYgKzE1MSw5IEBACiAKICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tIHBpY2tsZSBzdXBwb3J0ICAtLS0tLS0tLS0tLS0tLS0tLS0tCiAKKyAgICAjIElzc3VlIDE3NDg5OiBTaW5jZSBfX3JlZHVjZV9fIHdhcyBkZWZpbmVkIHRvIGZpeCAjNzU5ODg5IHRoaXMgaXMgbm8KKyAgICAjIGxvbmdlciBjYWxsZWQ7IHdlIGxlYXZlIGl0IGhlcmUgYmVjYXVzZSBpdCBoYXMgYmVlbiBoZXJlIHNpbmNlIHJhbmRvbSB3YXMKKyAgICAjIHJld3JpdHRlbiBiYWNrIGluIDIwMDEgYW5kIHdoeSByaXNrIGJyZWFraW5nIHNvbWV0aGluZy4KICAgICBkZWYgX19nZXRzdGF0ZV9fKHNlbGYpOiAjIGZvciBwaWNrbGUKICAgICAgICAgcmV0dXJuIHNlbGYuZ2V0c3RhdGUoKQogCkBAIC0yNTIsMTAgKzI1NSwxMSBAQAogICAgICAgICByZXR1cm4gc2VxW2ldCiAKICAgICBkZWYgc2h1ZmZsZShzZWxmLCB4LCByYW5kb209Tm9uZSwgaW50PWludCk6Ci0gICAgICAgICIiIngsIHJhbmRvbT1yYW5kb20ucmFuZG9tIC0+IHNodWZmbGUgbGlzdCB4IGluIHBsYWNlOyByZXR1cm4gTm9uZS4KKyAgICAgICAgIiIiU2h1ZmZsZSBsaXN0IHggaW4gcGxhY2UsIGFuZCByZXR1cm4gTm9uZS4KIAotICAgICAgICBPcHRpb25hbCBhcmcgcmFuZG9tIGlzIGEgMC1hcmd1bWVudCBmdW5jdGlvbiByZXR1cm5pbmcgYSByYW5kb20KLSAgICAgICAgZmxvYXQgaW4gWzAuMCwgMS4wKTsgYnkgZGVmYXVsdCwgdGhlIHN0YW5kYXJkIHJhbmRvbS5yYW5kb20uCisgICAgICAgIE9wdGlvbmFsIGFyZ3VtZW50IHJhbmRvbSBpcyBhIDAtYXJndW1lbnQgZnVuY3Rpb24gcmV0dXJuaW5nIGEKKyAgICAgICAgcmFuZG9tIGZsb2F0IGluIFswLjAsIDEuMCk7IGlmIGl0IGlzIHRoZSBkZWZhdWx0IE5vbmUsIHRoZQorICAgICAgICBzdGFuZGFyZCByYW5kb20ucmFuZG9tIHdpbGwgYmUgdXNlZC4KICAgICAgICAgIiIiCiAKICAgICAgICAgcmFuZGJlbG93ID0gc2VsZi5fcmFuZGJlbG93CmRpZmYgLS1naXQgYS9MaWIvc2NoZWQucHkgYi9MaWIvc2NoZWQucHkKaW5kZXggY2NmOGNlOS4uOWE4MmE4OSAxMDA2NDQKLS0tIGEvTGliL3NjaGVkLnB5CisrKyBiL0xpYi9zY2hlZC5weQpAQCAtNzEsMTAgKzcxLDEwIEBACiAgICAgICAgICIiIgogICAgICAgICBpZiBrd2FyZ3MgaXMgX3NlbnRpbmVsOgogICAgICAgICAgICAga3dhcmdzID0ge30KKyAgICAgICAgZXZlbnQgPSBFdmVudCh0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCwga3dhcmdzKQogICAgICAgICB3aXRoIHNlbGYuX2xvY2s6Ci0gICAgICAgICAgICBldmVudCA9IEV2ZW50KHRpbWUsIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50LCBrd2FyZ3MpCiAgICAgICAgICAgICBoZWFwcS5oZWFwcHVzaChzZWxmLl9xdWV1ZSwgZXZlbnQpCi0gICAgICAgICAgICByZXR1cm4gZXZlbnQgIyBUaGUgSUQKKyAgICAgICAgcmV0dXJuIGV2ZW50ICMgVGhlIElECiAKICAgICBkZWYgZW50ZXIoc2VsZiwgZGVsYXksIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50PSgpLCBrd2FyZ3M9X3NlbnRpbmVsKToKICAgICAgICAgIiIiQSB2YXJpYW50IHRoYXQgc3BlY2lmaWVzIHRoZSB0aW1lIGFzIGEgcmVsYXRpdmUgdGltZS4KQEAgLTgyLDkgKzgyLDggQEAKICAgICAgICAgVGhpcyBpcyBhY3R1YWxseSB0aGUgbW9yZSBjb21tb25seSB1c2VkIGludGVyZmFjZS4KIAogICAgICAgICAiIiIKLSAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgotICAgICAgICAgICAgdGltZSA9IHNlbGYudGltZWZ1bmMoKSArIGRlbGF5Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5lbnRlcmFicyh0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCwga3dhcmdzKQorICAgICAgICB0aW1lID0gc2VsZi50aW1lZnVuYygpICsgZGVsYXkKKyAgICAgICAgcmV0dXJuIHNlbGYuZW50ZXJhYnModGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQsIGt3YXJncykKIAogICAgIGRlZiBjYW5jZWwoc2VsZiwgZXZlbnQpOgogICAgICAgICAiIiJSZW1vdmUgYW4gZXZlbnQgZnJvbSB0aGUgcXVldWUuCkBAIC0xNjUsNCArMTY0LDQgQEAKICAgICAgICAgIyB0aGUgYWN0dWFsIG9yZGVyIHRoZXkgd291bGQgYmUgcmV0cmlldmVkLgogICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CiAgICAgICAgICAgICBldmVudHMgPSBzZWxmLl9xdWV1ZVs6XQotICAgICAgICAgICAgcmV0dXJuIG1hcChoZWFwcS5oZWFwcG9wLCBbZXZlbnRzXSpsZW4oZXZlbnRzKSkKKyAgICAgICAgcmV0dXJuIG1hcChoZWFwcS5oZWFwcG9wLCBbZXZlbnRzXSpsZW4oZXZlbnRzKSkKZGlmZiAtLWdpdCBhL0xpYi9zaGVsdmUucHkgYi9MaWIvc2hlbHZlLnB5CmluZGV4IGNjMTgxNWUuLmNlZjU4MGUgMTAwNjQ0Ci0tLSBhL0xpYi9zaGVsdmUucHkKKysrIGIvTGliL3NoZWx2ZS5weQpAQCAtNjEsNyArNjEsNyBAQAogCiBpbXBvcnQgY29sbGVjdGlvbnMKIAotX19hbGxfXyA9IFsiU2hlbGYiLCJCc2REYlNoZWxmIiwiRGJmaWxlbmFtZVNoZWxmIiwib3BlbiJdCitfX2FsbF9fID0gWyJTaGVsZiIsICJCc2REYlNoZWxmIiwgIkRiZmlsZW5hbWVTaGVsZiIsICJvcGVuIl0KIAogY2xhc3MgX0Nsb3NlZERpY3QoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgogICAgICdNYXJrZXIgZm9yIGEgY2xvc2VkIGRpY3QuICBBY2Nlc3MgYXR0ZW1wdHMgcmFpc2UgYSBWYWx1ZUVycm9yLicKQEAgLTEzMSw2ICsxMzEsMTIgQEAKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgcGFzcwogCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCB0eXBlLCB2YWx1ZSwgdHJhY2ViYWNrKToKKyAgICAgICAgc2VsZi5jbG9zZSgpCisKICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgIHNlbGYuc3luYygpCiAgICAgICAgIHRyeToKQEAgLTE0Nyw2ICsxNTMsNyBAQAogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgogICAgICAgICBpZiBub3QgaGFzYXR0cihzZWxmLCAnd3JpdGViYWNrJyk6CiAgICAgICAgICAgICAjIF9faW5pdF9fIGRpZG4ndCBzdWNjZWVkLCBzbyBkb24ndCBib3RoZXIgY2xvc2luZworICAgICAgICAgICAgIyBzZWUgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTEzMzkwMDcgZm9yIGRldGFpbHMKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLmNsb3NlKCkKIApkaWZmIC0tZ2l0IGEvTGliL3NodXRpbC5weSBiL0xpYi9zaHV0aWwucHkKaW5kZXggMzkwNGY0My4uNjg3OWQ4YiAxMDA2NDQKLS0tIGEvTGliL3NodXRpbC5weQorKysgYi9MaWIvc2h1dGlsLnB5CkBAIC0zOSwxNyArMzksMjAgQEAKICAgICAgICAgICAgImlnbm9yZV9wYXR0ZXJucyIsICJjaG93biIsICJ3aGljaCJdCiAgICAgICAgICAgICMgZGlza191c2FnZSBpcyBhZGRlZCBsYXRlciwgaWYgYXZhaWxhYmxlIG9uIHRoZSBwbGF0Zm9ybQogCi1jbGFzcyBFcnJvcihFbnZpcm9ubWVudEVycm9yKToKK2NsYXNzIEVycm9yKE9TRXJyb3IpOgogICAgIHBhc3MKIAotY2xhc3MgU3BlY2lhbEZpbGVFcnJvcihFbnZpcm9ubWVudEVycm9yKToKK2NsYXNzIFNhbWVGaWxlRXJyb3IoRXJyb3IpOgorICAgICIiIlJhaXNlZCB3aGVuIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gYXJlIHRoZSBzYW1lIGZpbGUuIiIiCisKK2NsYXNzIFNwZWNpYWxGaWxlRXJyb3IoT1NFcnJvcik6CiAgICAgIiIiUmFpc2VkIHdoZW4gdHJ5aW5nIHRvIGRvIGEga2luZCBvZiBvcGVyYXRpb24gKGUuZy4gY29weWluZykgd2hpY2ggaXMKICAgICBub3Qgc3VwcG9ydGVkIG9uIGEgc3BlY2lhbCBmaWxlIChlLmcuIGEgbmFtZWQgcGlwZSkiIiIKIAotY2xhc3MgRXhlY0Vycm9yKEVudmlyb25tZW50RXJyb3IpOgorY2xhc3MgRXhlY0Vycm9yKE9TRXJyb3IpOgogICAgICIiIlJhaXNlZCB3aGVuIGEgY29tbWFuZCBjb3VsZCBub3QgYmUgZXhlY3V0ZWQiIiIKIAotY2xhc3MgUmVhZEVycm9yKEVudmlyb25tZW50RXJyb3IpOgorY2xhc3MgUmVhZEVycm9yKE9TRXJyb3IpOgogICAgICIiIlJhaXNlZCB3aGVuIGFuIGFyY2hpdmUgY2Fubm90IGJlIHJlYWQiIiIKIAogY2xhc3MgUmVnaXN0cnlFcnJvcihFeGNlcHRpb24pOgpAQCAtNTcsMTEgKzYwLDYgQEAKICAgICBhbmQgdW5wYWNraW5nIHJlZ2lzdGVyaWVzIGZhaWxzIiIiCiAKIAotdHJ5OgotICAgIFdpbmRvd3NFcnJvcgotZXhjZXB0IE5hbWVFcnJvcjoKLSAgICBXaW5kb3dzRXJyb3IgPSBOb25lCi0KIGRlZiBjb3B5ZmlsZW9iaihmc3JjLCBmZHN0LCBsZW5ndGg9MTYqMTAyNCk6CiAgICAgIiIiY29weSBkYXRhIGZyb20gZmlsZS1saWtlIG9iamVjdCBmc3JjIHRvIGZpbGUtbGlrZSBvYmplY3QgZmRzdCIiIgogICAgIHdoaWxlIDE6CkBAIC05MCw3ICs4OCw3IEBACiAKICAgICAiIiIKICAgICBpZiBfc2FtZWZpbGUoc3JjLCBkc3QpOgotICAgICAgICByYWlzZSBFcnJvcigiYCVzYCBhbmQgYCVzYCBhcmUgdGhlIHNhbWUgZmlsZSIgJSAoc3JjLCBkc3QpKQorICAgICAgICByYWlzZSBTYW1lRmlsZUVycm9yKCJ7IXJ9IGFuZCB7IXJ9IGFyZSB0aGUgc2FtZSBmaWxlIi5mb3JtYXQoc3JjLCBkc3QpKQogCiAgICAgZm9yIGZuIGluIFtzcmMsIGRzdF06CiAgICAgICAgIHRyeToKQEAgLTIyMSw2ICsyMTksOSBAQAogICAgIElmIGZvbGxvd19zeW1saW5rcyBpcyBmYWxzZSwgc3ltbGlua3Mgd29uJ3QgYmUgZm9sbG93ZWQuIFRoaXMKICAgICByZXNlbWJsZXMgR05VJ3MgImNwIC1QIHNyYyBkc3QiLgogCisgICAgSWYgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBhcmUgdGhlIHNhbWUgZmlsZSwgYSBTYW1lRmlsZUVycm9yIHdpbGwgYmUKKyAgICByYWlzZWQuCisKICAgICAiIiIKICAgICBpZiBvcy5wYXRoLmlzZGlyKGRzdCk6CiAgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbihkc3QsIG9zLnBhdGguYmFzZW5hbWUoc3JjKSkKQEAgLTMyOSwxNSArMzMwLDEzIEBACiAgICAgICAgICMgY29udGludWUgd2l0aCBvdGhlciBmaWxlcwogICAgICAgICBleGNlcHQgRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgZXJyb3JzLmV4dGVuZChlcnIuYXJnc1swXSkKLSAgICAgICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3IgYXMgd2h5OgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyB3aHk6CiAgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKChzcmNuYW1lLCBkc3RuYW1lLCBzdHIod2h5KSkpCiAgICAgdHJ5OgogICAgICAgICBjb3B5c3RhdChzcmMsIGRzdCkKICAgICBleGNlcHQgT1NFcnJvciBhcyB3aHk6Ci0gICAgICAgIGlmIFdpbmRvd3NFcnJvciBpcyBub3QgTm9uZSBhbmQgaXNpbnN0YW5jZSh3aHksIFdpbmRvd3NFcnJvcik6Ci0gICAgICAgICAgICAjIENvcHlpbmcgZmlsZSBhY2Nlc3MgdGltZXMgbWF5IGZhaWwgb24gV2luZG93cwotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgorICAgICAgICAjIENvcHlpbmcgZmlsZSBhY2Nlc3MgdGltZXMgbWF5IGZhaWwgb24gV2luZG93cworICAgICAgICBpZiB3aHkud2luZXJyb3IgaXMgTm9uZToKICAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoKHNyYywgZHN0LCBzdHIod2h5KSkpCiAgICAgaWYgZXJyb3JzOgogICAgICAgICByYWlzZSBFcnJvcihlcnJvcnMpCkBAIC0zNTYsMjQgKzM1NSwyNCBAQAogICAgIG5hbWVzID0gW10KICAgICB0cnk6CiAgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihwYXRoKQotICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgb25lcnJvcihvcy5saXN0ZGlyLCBwYXRoLCBzeXMuZXhjX2luZm8oKSkKICAgICBmb3IgbmFtZSBpbiBuYW1lczoKICAgICAgICAgZnVsbG5hbWUgPSBvcy5wYXRoLmpvaW4ocGF0aCwgbmFtZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbW9kZSA9IG9zLmxzdGF0KGZ1bGxuYW1lKS5zdF9tb2RlCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBtb2RlID0gMAogICAgICAgICBpZiBzdGF0LlNfSVNESVIobW9kZSk6CiAgICAgICAgICAgICBfcm10cmVlX3Vuc2FmZShmdWxsbmFtZSwgb25lcnJvcikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZnVsbG5hbWUpCi0gICAgICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBvbmVycm9yKG9zLnVubGluaywgZnVsbG5hbWUsIHN5cy5leGNfaW5mbygpKQogICAgIHRyeToKICAgICAgICAgb3Mucm1kaXIocGF0aCkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIG9uZXJyb3Iob3Mucm1kaXIsIHBhdGgsIHN5cy5leGNfaW5mbygpKQogCiAjIFZlcnNpb24gdXNpbmcgZmQtYmFzZWQgQVBJcyB0byBwcm90ZWN0IGFnYWluc3QgcmFjZXMKQEAgLTQ2NCw3ICs0NjMsNyBAQAogICAgICAgICAgICAgICAgIF9ybXRyZWVfc2FmZV9mZChmZCwgcGF0aCwgb25lcnJvcikKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIG9zLnJtZGlyKHBhdGgpCi0gICAgICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBvbmVycm9yKG9zLnJtZGlyLCBwYXRoLCBzeXMuZXhjX2luZm8oKSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvTGliL3NpdGUucHkgYi9MaWIvc2l0ZS5weQppbmRleCAxM2U3MzM2Li45YjFkNWJiIDEwMDY0NAotLS0gYS9MaWIvc2l0ZS5weQorKysgYi9MaWIvc2l0ZS5weQpAQCAtMTQ2LDE0ICsxNDYsMTQgQEAKICAgICAgICBhbmQgYWRkIHRoYXQgdG8ga25vd25fcGF0aHMsIG9yIGV4ZWN1dGUgaXQgaWYgaXQgc3RhcnRzIHdpdGggJ2ltcG9ydCAnLgogICAgICIiIgogICAgIGlmIGtub3duX3BhdGhzIGlzIE5vbmU6Ci0gICAgICAgIF9pbml0X3BhdGhpbmZvKCkKKyAgICAgICAga25vd25fcGF0aHMgPSBfaW5pdF9wYXRoaW5mbygpCiAgICAgICAgIHJlc2V0ID0gMQogICAgIGVsc2U6CiAgICAgICAgIHJlc2V0ID0gMAogICAgIGZ1bGxuYW1lID0gb3MucGF0aC5qb2luKHNpdGVkaXIsIG5hbWUpCiAgICAgdHJ5OgogICAgICAgICBmID0gb3BlbihmdWxsbmFtZSwgInIiKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByZXR1cm4KICAgICB3aXRoIGY6CiAgICAgICAgIGZvciBuLCBsaW5lIGluIGVudW1lcmF0ZShmKToKQEAgLTE5Niw3ICsxOTYsNyBAQAogICAgICAgICBrbm93bl9wYXRocy5hZGQoc2l0ZWRpcmNhc2UpCiAgICAgdHJ5OgogICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoc2l0ZWRpcikKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybgogICAgIG5hbWVzID0gW25hbWUgZm9yIG5hbWUgaW4gbmFtZXMgaWYgbmFtZS5lbmRzd2l0aCgiLnB0aCIpXQogICAgIGZvciBuYW1lIGluIHNvcnRlZChuYW1lcyk6CkBAIC0zMDAsOSArMzAwLDcgQEAKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIHNlZW4uYWRkKHByZWZpeCkKIAotICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCdvczJlbXgnLCAncmlzY29zJyk6Ci0gICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJMaWIiLCAic2l0ZS1wYWNrYWdlcyIpKQotICAgICAgICBlbGlmIG9zLnNlcCA9PSAnLyc6CisgICAgICAgIGlmIG9zLnNlcCA9PSAnLyc6CiAgICAgICAgICAgICBzaXRlcGFja2FnZXMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVmaXgsICJsaWIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24iICsgc3lzLnZlcnNpb25bOjNdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaXRlLXBhY2thZ2VzIikpCkBAIC0zMjksMjMgKzMyNyw2IEBACiAKICAgICByZXR1cm4ga25vd25fcGF0aHMKIAotZGVmIHNldEJFR0lOTElCUEFUSCgpOgotICAgICIiIlRoZSBPUy8yIEVNWCBwb3J0IGhhcyBvcHRpb25hbCBleHRlbnNpb24gbW9kdWxlcyB0aGF0IGRvIGRvdWJsZSBkdXR5Ci0gICAgYXMgRExMcyAoYW5kIG11c3QgdXNlIHRoZSAuRExMIGZpbGUgZXh0ZW5zaW9uKSBmb3Igb3RoZXIgZXh0ZW5zaW9ucy4KLSAgICBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCBuZWVkcyB0byBiZSBhbWVuZGVkIHNvIHRoZXNlIHdpbGwgYmUgZm91bmQKLSAgICBkdXJpbmcgbW9kdWxlIGltcG9ydC4gIFVzZSBCRUdJTkxJQlBBVEggc28gdGhhdCB0aGVzZSBhcmUgYXQgdGhlIHN0YXJ0Ci0gICAgb2YgdGhlIGxpYnJhcnkgc2VhcmNoIHBhdGguCi0KLSAgICAiIiIKLSAgICBkbGxwYXRoID0gb3MucGF0aC5qb2luKHN5cy5wcmVmaXgsICJMaWIiLCAibGliLWR5bmxvYWQiKQotICAgIGxpYnBhdGggPSBvcy5lbnZpcm9uWydCRUdJTkxJQlBBVEgnXS5zcGxpdCgnOycpCi0gICAgaWYgbGlicGF0aFstMV06Ci0gICAgICAgIGxpYnBhdGguYXBwZW5kKGRsbHBhdGgpCi0gICAgZWxzZToKLSAgICAgICAgbGlicGF0aFstMV0gPSBkbGxwYXRoCi0gICAgb3MuZW52aXJvblsnQkVHSU5MSUJQQVRIJ10gPSAnOycuam9pbihsaWJwYXRoKQotCi0KIGRlZiBzZXRxdWl0KCk6CiAgICAgIiIiRGVmaW5lIG5ldyBidWlsdGlucyAncXVpdCcgYW5kICdleGl0Jy4KIApAQCAtMzk4LDExICszNzksMTAgQEAKICAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBzZWxmLl9fZmlsZXM6CiAgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSkKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGZwID0gb3BlbihmaWxlbmFtZSwgInIiKQotICAgICAgICAgICAgICAgICAgICBkYXRhID0gZnAucmVhZCgpCi0gICAgICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAiciIpIGFzIGZwOgorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGZwLnJlYWQoKQogICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBpZiBkYXRhOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC01ODgsOCArNTY4LDYgQEAKICAgICAgICAgRU5BQkxFX1VTRVJfU0lURSA9IGNoZWNrX2VuYWJsZXVzZXJzaXRlKCkKICAgICBrbm93bl9wYXRocyA9IGFkZHVzZXJzaXRlcGFja2FnZXMoa25vd25fcGF0aHMpCiAgICAga25vd25fcGF0aHMgPSBhZGRzaXRlcGFja2FnZXMoa25vd25fcGF0aHMpCi0gICAgaWYgc3lzLnBsYXRmb3JtID09ICdvczJlbXgnOgotICAgICAgICBzZXRCRUdJTkxJQlBBVEgoKQogICAgIHNldHF1aXQoKQogICAgIHNldGNvcHlyaWdodCgpCiAgICAgc2V0aGVscGVyKCkKZGlmZiAtLWdpdCBhL0xpYi9zbXRwZC5weSBiL0xpYi9zbXRwZC5weQppbmRleCA3NzhkNmQ2Li4zY2FiMjY0IDEwMDc1NQotLS0gYS9MaWIvc210cGQucHkKKysrIGIvTGliL3NtdHBkLnB5CkBAIC0xMzcsNyArMTM3LDcgQEAKICAgICAgICAgc2VsZi5udW1fYnl0ZXMgPSAwCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYucGVlciA9IGNvbm4uZ2V0cGVlcm5hbWUoKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGVycjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgIyBhIHJhY2UgY29uZGl0aW9uICBtYXkgb2NjdXIgaWYgdGhlIG90aGVyIGVuZCBpcyBjbG9zaW5nCiAgICAgICAgICAgICAjIGJlZm9yZSB3ZSBjYW4gZ2V0IHRoZSBwZWVybmFtZQogICAgICAgICAgICAgc2VsZi5jbG9zZSgpCkBAIC02NjgsNyArNjY4LDcgQEAKICAgICAgICAgZXhjZXB0IHNtdHBsaWIuU01UUFJlY2lwaWVudHNSZWZ1c2VkIGFzIGU6CiAgICAgICAgICAgICBwcmludCgnZ290IFNNVFBSZWNpcGllbnRzUmVmdXNlZCcsIGZpbGU9REVCVUdTVFJFQU0pCiAgICAgICAgICAgICByZWZ1c2VkID0gZS5yZWNpcGllbnRzCi0gICAgICAgIGV4Y2VwdCAoc29ja2V0LmVycm9yLCBzbXRwbGliLlNNVFBFeGNlcHRpb24pIGFzIGU6CisgICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgc210cGxpYi5TTVRQRXhjZXB0aW9uKSBhcyBlOgogICAgICAgICAgICAgcHJpbnQoJ2dvdCcsIGUuX19jbGFzc19fLCBmaWxlPURFQlVHU1RSRUFNKQogICAgICAgICAgICAgIyBBbGwgcmVjaXBpZW50cyB3ZXJlIHJlZnVzZWQuICBJZiB0aGUgZXhjZXB0aW9uIGhhZCBhbiBhc3NvY2lhdGVkCiAgICAgICAgICAgICAjIGVycm9yIGNvZGUsIHVzZSBpdC4gIE90aGVyd2lzZSxmYWtlIGl0IHdpdGggYSBub24tdHJpZ2dlcmluZwpAQCAtODUwLDggKzg1MCw3IEBACiAgICAgICAgIG5vYm9keSA9IHB3ZC5nZXRwd25hbSgnbm9ib2R5JylbMl0KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3Muc2V0dWlkKG5vYm9keSkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRVBFUk06IHJhaXNlCisgICAgICAgIGV4Y2VwdCBQZXJtaXNzaW9uRXJyb3I6CiAgICAgICAgICAgICBwcmludCgnQ2Fubm90IHNldHVpZCAibm9ib2R5IjsgdHJ5IHJ1bm5pbmcgd2l0aCAtbiBvcHRpb24uJywgZmlsZT1zeXMuc3RkZXJyKQogICAgICAgICAgICAgc3lzLmV4aXQoMSkKICAgICB0cnk6CmRpZmYgLS1naXQgYS9MaWIvc210cGxpYi5weSBiL0xpYi9zbXRwbGliLnB5CmluZGV4IGYyYzg0NTIuLmNjNDZlNGYgMTAwNjQ0Ci0tLSBhL0xpYi9zbXRwbGliLnB5CisrKyBiL0xpYi9zbXRwbGliLnB5CkBAIC02Niw3ICs2Niw3IEBACiBPTERTVFlMRV9BVVRIID0gcmUuY29tcGlsZShyImF1dGg9KC4qKSIsIHJlLkkpCiAKICMgRXhjZXB0aW9uIGNsYXNzZXMgdXNlZCBieSB0aGlzIG1vZHVsZS4KLWNsYXNzIFNNVFBFeGNlcHRpb24oRXhjZXB0aW9uKToKK2NsYXNzIFNNVFBFeGNlcHRpb24oT1NFcnJvcik6CiAgICAgIiIiQmFzZSBjbGFzcyBmb3IgYWxsIGV4Y2VwdGlvbnMgcmFpc2VkIGJ5IHRoaXMgbW9kdWxlLiIiIgogCiBjbGFzcyBTTVRQU2VydmVyRGlzY29ubmVjdGVkKFNNVFBFeGNlcHRpb24pOgpAQCAtMzEwLDcgKzMxMCw3IEBACiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBwb3J0ID0gaW50KHBvcnQpCiAgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIHNvY2tldC5lcnJvcigibm9ubnVtZXJpYyBwb3J0IikKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigibm9ubnVtZXJpYyBwb3J0IikKICAgICAgICAgaWYgbm90IHBvcnQ6CiAgICAgICAgICAgICBwb3J0ID0gc2VsZi5kZWZhdWx0X3BvcnQKICAgICAgICAgaWYgc2VsZi5kZWJ1Z2xldmVsID4gMDoKQEAgLTMzMSw3ICszMzEsNyBAQAogICAgICAgICAgICAgICAgIHMgPSBzLmVuY29kZSgiYXNjaWkiKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuc29jay5zZW5kYWxsKHMpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCiAgICAgICAgICAgICAgICAgcmFpc2UgU01UUFNlcnZlckRpc2Nvbm5lY3RlZCgnU2VydmVyIG5vdCBjb25uZWN0ZWQnKQogICAgICAgICBlbHNlOgpAQCAtMzY0LDcgKzM2NCw3IEBACiAgICAgICAgIHdoaWxlIDE6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgbGluZSA9IHNlbGYuZmlsZS5yZWFkbGluZSgpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQogICAgICAgICAgICAgICAgIHJhaXNlIFNNVFBTZXJ2ZXJEaXNjb25uZWN0ZWQoIkNvbm5lY3Rpb24gdW5leHBlY3RlZGx5IGNsb3NlZDogIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzdHIoZSkpCkBAIC05MzAsNyArOTMwLDcgQEAKICAgICAgICAgICAgIHNlbGYuc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX1VOSVgsIHNvY2tldC5TT0NLX1NUUkVBTSkKICAgICAgICAgICAgIHNlbGYuZmlsZSA9IE5vbmUKICAgICAgICAgICAgIHNlbGYuc29jay5jb25uZWN0KGhvc3QpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z2xldmVsID4gMDoKICAgICAgICAgICAgICAgICBwcmludCgnY29ubmVjdCBmYWlsOicsIGhvc3QsIGZpbGU9c3RkZXJyKQogICAgICAgICAgICAgaWYgc2VsZi5zb2NrOgpkaWZmIC0tZ2l0IGEvTGliL3NuZGhkci5weSBiL0xpYi9zbmRoZHIucHkKaW5kZXggOWY1ZGNjOS4uMjQwZTUwNyAxMDA2NDQKLS0tIGEvTGliL3NuZGhkci5weQorKysgYi9MaWIvc25kaGRyLnB5CkBAIC0xMSw3ICsxMSw3IEBACiAtIG51bWJlciBvZiBiaXRzL3NhbXBsZSwgb3IgJ1UnIGZvciBVLUxBVywgb3IgJ0EnIGZvciBBLUxBVwogCiBJZiB0aGUgZmlsZSBkb2Vzbid0IGhhdmUgYSByZWNvZ25pemFibGUgdHlwZSwgaXQgcmV0dXJucyBOb25lLgotSWYgdGhlIGZpbGUgY2FuJ3QgYmUgb3BlbmVkLCBJT0Vycm9yIGlzIHJhaXNlZC4KK0lmIHRoZSBmaWxlIGNhbid0IGJlIG9wZW5lZCwgT1NFcnJvciBpcyByYWlzZWQuCiAKIFRvIGNvbXB1dGUgdGhlIHRvdGFsIHRpbWUsIGRpdmlkZSB0aGUgbnVtYmVyIG9mIGZyYW1lcyBieSB0aGUKIHNhbXBsaW5nIHJhdGUgKGEgZnJhbWUgY29udGFpbnMgYSBzYW1wbGUgZm9yIGVhY2ggY2hhbm5lbCkuCkBAIC0xMzcsMTQgKzEzNywxNyBAQAogCiAKIGRlZiB0ZXN0X3dhdihoLCBmKToKKyAgICBpbXBvcnQgd2F2ZQogICAgICMgJ1JJRkYnIDxsZW4+ICdXQVZFJyAnZm10ICcgPGxlbj4KICAgICBpZiBub3QgaC5zdGFydHN3aXRoKGInUklGRicpIG9yIGhbODoxMl0gIT0gYidXQVZFJyBvciBoWzEyOjE2XSAhPSBiJ2ZtdCAnOgogICAgICAgICByZXR1cm4gTm9uZQotICAgIHN0eWxlID0gZ2V0X3Nob3J0X2xlKGhbMjA6MjJdKQotICAgIG5jaGFubmVscyA9IGdldF9zaG9ydF9sZShoWzIyOjI0XSkKLSAgICByYXRlID0gZ2V0X2xvbmdfbGUoaFsyNDoyOF0pCi0gICAgc2FtcGxlX2JpdHMgPSBnZXRfc2hvcnRfbGUoaFszNDozNl0pCi0gICAgcmV0dXJuICd3YXYnLCByYXRlLCBuY2hhbm5lbHMsIC0xLCBzYW1wbGVfYml0cworICAgIGYuc2VlaygwKQorICAgIHRyeToKKyAgICAgICAgdyA9IHdhdmUub3BlbmZwKGYsICdyJykKKyAgICBleGNlcHQgKEVPRkVycm9yLCB3YXZlLkVycm9yKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICByZXR1cm4gKCd3YXYnLCB3LmdldGZyYW1lcmF0ZSgpLCB3LmdldG5jaGFubmVscygpLAorICAgICAgICAgICAgICAgICAgIHcuZ2V0bmZyYW1lcygpLCA4KncuZ2V0c2FtcHdpZHRoKCkpCiAKIHRlc3RzLmFwcGVuZCh0ZXN0X3dhdikKIApAQCAtMjMwLDcgKzIzMyw3IEBACiAgICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBwcmludCh3aGF0KGZpbGVuYW1lKSkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcHJpbnQoJyoqKiBub3QgZm91bmQgKioqJykKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKZGlmZiAtLWdpdCBhL0xpYi9zb2NrZXQucHkgYi9MaWIvc29ja2V0LnB5CmluZGV4IGQ0ZjFiNjUuLjk2ZjhlZDAgMTAwNjQ0Ci0tLSBhL0xpYi9zb2NrZXQucHkKKysrIGIvTGliL3NvY2tldC5weQpAQCAtMTAzLDEzICsxMDMsMzIgQEAKICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICAiIiJXcmFwIF9fcmVwcl9fKCkgdG8gcmV2ZWFsIHRoZSByZWFsIGNsYXNzIG5hbWUuIiIiCi0gICAgICAgIHMgPSBfc29ja2V0LnNvY2tldC5fX3JlcHJfXyhzZWxmKQotICAgICAgICBpZiBzLnN0YXJ0c3dpdGgoIjxzb2NrZXQgb2JqZWN0Iik6Ci0gICAgICAgICAgICBzID0gIjwlcy4lcyVzJXMiICUgKHNlbGYuX19jbGFzc19fLl9fbW9kdWxlX18sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyKHNlbGYsICdfY2xvc2VkJywgRmFsc2UpIGFuZCAiIFtjbG9zZWRdICIgb3IgIiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNbNzpdKQorICAgICAgICAiIiJXcmFwIF9fcmVwcl9fKCkgdG8gcmV2ZWFsIHRoZSByZWFsIGNsYXNzIG5hbWUgYW5kIHNvY2tldAorICAgICAgICBhZGRyZXNzKGVzKS4KKyAgICAgICAgIiIiCisgICAgICAgIGNsb3NlZCA9IGdldGF0dHIoc2VsZiwgJ19jbG9zZWQnLCBGYWxzZSkKKyAgICAgICAgcyA9ICI8JXMuJXMlcyBmZD0laSwgZmFtaWx5PSVpLCB0eXBlPSVpLCBwcm90bz0laSIgXAorICAgICAgICAgICAgJSAoc2VsZi5fX2NsYXNzX18uX19tb2R1bGVfXywKKyAgICAgICAgICAgICAgIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLAorICAgICAgICAgICAgICAgIiBbY2xvc2VkXSIgaWYgY2xvc2VkIGVsc2UgIiIsCisgICAgICAgICAgICAgICBzZWxmLmZpbGVubygpLAorICAgICAgICAgICAgICAgc2VsZi5mYW1pbHksCisgICAgICAgICAgICAgICBzZWxmLnR5cGUsCisgICAgICAgICAgICAgICBzZWxmLnByb3RvKQorICAgICAgICBpZiBub3QgY2xvc2VkOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGxhZGRyID0gc2VsZi5nZXRzb2NrbmFtZSgpCisgICAgICAgICAgICAgICAgaWYgbGFkZHI6CisgICAgICAgICAgICAgICAgICAgIHMgKz0gIiwgbGFkZHI9JXMiICUgc3RyKGxhZGRyKQorICAgICAgICAgICAgZXhjZXB0IGVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByYWRkciA9IHNlbGYuZ2V0cGVlcm5hbWUoKQorICAgICAgICAgICAgICAgIGlmIHJhZGRyOgorICAgICAgICAgICAgICAgICAgICBzICs9ICIsIHJhZGRyPSVzIiAlIHN0cihyYWRkcikKKyAgICAgICAgICAgIGV4Y2VwdCBlcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHMgKz0gJz4nCiAgICAgICAgIHJldHVybiBzCiAKICAgICBkZWYgX19nZXRzdGF0ZV9fKHNlbGYpOgpAQCAtMjkxLDcgKzMxMCw3IEBACiAgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKICAgICAgICAgc2VsZi5fY2hlY2tSZWFkYWJsZSgpCiAgICAgICAgIGlmIHNlbGYuX3RpbWVvdXRfb2NjdXJyZWQ6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCJjYW5ub3QgcmVhZCBmcm9tIHRpbWVkIG91dCBvYmplY3QiKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiY2Fubm90IHJlYWQgZnJvbSB0aW1lZCBvdXQgb2JqZWN0IikKICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fc29jay5yZWN2X2ludG8oYikKZGlmZiAtLWdpdCBhL0xpYi9zb2NrZXRzZXJ2ZXIucHkgYi9MaWIvc29ja2V0c2VydmVyLnB5CmluZGV4IDgzMzJmZGYuLmU5ZTRlNGUgMTAwNjQ0Ci0tLSBhL0xpYi9zb2NrZXRzZXJ2ZXIucHkKKysrIGIvTGliL3NvY2tldHNlcnZlci5weQpAQCAtMjk5LDcgKzI5OSw3IEBACiAgICAgICAgICIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXF1ZXN0LCBjbGllbnRfYWRkcmVzcyA9IHNlbGYuZ2V0X3JlcXVlc3QoKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBpZiBzZWxmLnZlcmlmeV9yZXF1ZXN0KHJlcXVlc3QsIGNsaWVudF9hZGRyZXNzKToKICAgICAgICAgICAgIHRyeToKQEAgLTQ3OSw3ICs0NzksNyBAQAogICAgICAgICAgICAgI2V4cGxpY2l0bHkgc2h1dGRvd24uICBzb2NrZXQuY2xvc2UoKSBtZXJlbHkgcmVsZWFzZXMKICAgICAgICAgICAgICN0aGUgc29ja2V0IGFuZCB3YWl0cyBmb3IgR0MgdG8gcGVyZm9ybSB0aGUgYWN0dWFsIGNsb3NlLgogICAgICAgICAgICAgcmVxdWVzdC5zaHV0ZG93bihzb2NrZXQuU0hVVF9XUikKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzICNzb21lIHBsYXRmb3JtcyBtYXkgcmFpc2UgRU5PVENPTk4gaGVyZQogICAgICAgICBzZWxmLmNsb3NlX3JlcXVlc3QocmVxdWVzdCkKIApAQCAtNTMyLDcgKzUzMiw3IEBACiAgICAgICAgICAgICAjIGNoaWxkcmVuLgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHBpZCwgc3RhdHVzID0gb3Mud2FpdHBpZCgwLCAwKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcGlkID0gTm9uZQogICAgICAgICAgICAgaWYgcGlkIG5vdCBpbiBzZWxmLmFjdGl2ZV9jaGlsZHJlbjogY29udGludWUKICAgICAgICAgICAgIHNlbGYuYWN0aXZlX2NoaWxkcmVuLnJlbW92ZShwaWQpCkBAIC01NDUsNyArNTQ1LDcgQEAKICAgICAgICAgZm9yIGNoaWxkIGluIHNlbGYuYWN0aXZlX2NoaWxkcmVuOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHBpZCwgc3RhdHVzID0gb3Mud2FpdHBpZChjaGlsZCwgb3MuV05PSEFORykKLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBpZCA9IE5vbmUKICAgICAgICAgICAgIGlmIG5vdCBwaWQ6IGNvbnRpbnVlCiAgICAgICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9MaWIvc3FsaXRlMy90ZXN0L2RiYXBpLnB5IGIvTGliL3NxbGl0ZTMvdGVzdC9kYmFwaS5weQppbmRleCBiN2VjMWFkLi4wNDY0OWZjIDEwMDY0NAotLS0gYS9MaWIvc3FsaXRlMy90ZXN0L2RiYXBpLnB5CisrKyBiL0xpYi9zcWxpdGUzL3Rlc3QvZGJhcGkucHkKQEAgLTI4LDYgKzI4LDkgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICB0aHJlYWRpbmcgPSBOb25lCiAKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIHVubGluaworCisKIGNsYXNzIE1vZHVsZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgQ2hlY2tBUElMZXZlbChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcWxpdGUuYXBpbGV2ZWwsICIyLjAiLApAQCAtMTYzLDYgKzE2NiwyMSBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKICAgICAgICAgICAgIHNlbGYuY3guaW5fdHJhbnNhY3Rpb24gPSBUcnVlCiAKKyAgICBkZWYgQ2hlY2tPcGVuVXJpKHNlbGYpOgorICAgICAgICBpZiBzcWxpdGUuc3FsaXRlX3ZlcnNpb25faW5mbyA8ICgzLCA3LCA3KToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3FsaXRlLk5vdFN1cHBvcnRlZEVycm9yKToKKyAgICAgICAgICAgICAgICBzcWxpdGUuY29ubmVjdCgnOm1lbW9yeTonLCB1cmk9VHJ1ZSkKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLmFkZENsZWFudXAodW5saW5rLCBURVNURk4pCisgICAgICAgIHdpdGggc3FsaXRlLmNvbm5lY3QoVEVTVEZOKSBhcyBjeDoKKyAgICAgICAgICAgIGN4LmV4ZWN1dGUoJ2NyZWF0ZSB0YWJsZSB0ZXN0KGlkIGludGVnZXIpJykKKyAgICAgICAgd2l0aCBzcWxpdGUuY29ubmVjdCgnZmlsZTonICsgVEVTVEZOLCB1cmk9VHJ1ZSkgYXMgY3g6CisgICAgICAgICAgICBjeC5leGVjdXRlKCdpbnNlcnQgaW50byB0ZXN0KGlkKSB2YWx1ZXMoMCknKQorICAgICAgICB3aXRoIHNxbGl0ZS5jb25uZWN0KCdmaWxlOicgKyBURVNURk4gKyAnP21vZGU9cm8nLCB1cmk9VHJ1ZSkgYXMgY3g6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNxbGl0ZS5PcGVyYXRpb25hbEVycm9yKToKKyAgICAgICAgICAgICAgICBjeC5leGVjdXRlKCdpbnNlcnQgaW50byB0ZXN0KGlkKSB2YWx1ZXMoMSknKQorCisKIGNsYXNzIEN1cnNvclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuY3ggPSBzcWxpdGUuY29ubmVjdCgiOm1lbW9yeToiKQpkaWZmIC0tZ2l0IGEvTGliL3NyZV9jb21waWxlLnB5IGIvTGliL3NyZV9jb21waWxlLnB5CmluZGV4IDkwZTNhMjUuLmVhNmU2YmUgMTAwNjQ0Ci0tLSBhL0xpYi9zcmVfY29tcGlsZS5weQorKysgYi9MaWIvc3JlX2NvbXBpbGUucHkKQEAgLTY1LDEzICs2NSw2IEBACiAgICAgICAgIGVsaWYgb3AgaW4gUkVQRUFUSU5HX0NPREVTOgogICAgICAgICAgICAgaWYgZmxhZ3MgJiBTUkVfRkxBR19URU1QTEFURToKICAgICAgICAgICAgICAgICByYWlzZSBlcnJvcigiaW50ZXJuYWw6IHVuc3VwcG9ydGVkIHRlbXBsYXRlIG9wZXJhdG9yIikKLSAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbUkVQRUFUXSkKLSAgICAgICAgICAgICAgICBza2lwID0gX2xlbihjb2RlKTsgZW1pdCgwKQotICAgICAgICAgICAgICAgIGVtaXQoYXZbMF0pCi0gICAgICAgICAgICAgICAgZW1pdChhdlsxXSkKLSAgICAgICAgICAgICAgICBfY29tcGlsZShjb2RlLCBhdlsyXSwgZmxhZ3MpCi0gICAgICAgICAgICAgICAgZW1pdChPUENPREVTW1NVQ0NFU1NdKQotICAgICAgICAgICAgICAgIGNvZGVbc2tpcF0gPSBfbGVuKGNvZGUpIC0gc2tpcAogICAgICAgICAgICAgZWxpZiBfc2ltcGxlKGF2KSBhbmQgb3AgaXMgbm90IFJFUEVBVDoKICAgICAgICAgICAgICAgICBpZiBvcCBpcyBNQVhfUkVQRUFUOgogICAgICAgICAgICAgICAgICAgICBlbWl0KE9QQ09ERVNbUkVQRUFUX09ORV0pCmRpZmYgLS1naXQgYS9MaWIvc3NsLnB5IGIvTGliL3NzbC5weQppbmRleCA2ZmY1YzUzLi5kYzQzZGI3IDEwMDY0NAotLS0gYS9MaWIvc3NsLnB5CisrKyBiL0xpYi9zc2wucHkKQEAgLTUyLDYgKzUyLDM5IEBACiBQUk9UT0NPTF9TU0x2MwogUFJPVE9DT0xfU1NMdjIzCiBQUk9UT0NPTF9UTFN2MQorUFJPVE9DT0xfVExTdjFfMQorUFJPVE9DT0xfVExTdjFfMgorCitUaGUgZm9sbG93aW5nIGNvbnN0YW50cyBpZGVudGlmeSB2YXJpb3VzIFNTTCBhbGVydCBtZXNzYWdlIGRlc2NyaXB0aW9ucyBhcyBwZXIKK2h0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvdGxzLXBhcmFtZXRlcnMvdGxzLXBhcmFtZXRlcnMueG1sI3Rscy1wYXJhbWV0ZXJzLTYKKworQUxFUlRfREVTQ1JJUFRJT05fQ0xPU0VfTk9USUZZCitBTEVSVF9ERVNDUklQVElPTl9VTkVYUEVDVEVEX01FU1NBR0UKK0FMRVJUX0RFU0NSSVBUSU9OX0JBRF9SRUNPUkRfTUFDCitBTEVSVF9ERVNDUklQVElPTl9SRUNPUkRfT1ZFUkZMT1cKK0FMRVJUX0RFU0NSSVBUSU9OX0RFQ09NUFJFU1NJT05fRkFJTFVSRQorQUxFUlRfREVTQ1JJUFRJT05fSEFORFNIQUtFX0ZBSUxVUkUKK0FMRVJUX0RFU0NSSVBUSU9OX0JBRF9DRVJUSUZJQ0FURQorQUxFUlRfREVTQ1JJUFRJT05fVU5TVVBQT1JURURfQ0VSVElGSUNBVEUKK0FMRVJUX0RFU0NSSVBUSU9OX0NFUlRJRklDQVRFX1JFVk9LRUQKK0FMRVJUX0RFU0NSSVBUSU9OX0NFUlRJRklDQVRFX0VYUElSRUQKK0FMRVJUX0RFU0NSSVBUSU9OX0NFUlRJRklDQVRFX1VOS05PV04KK0FMRVJUX0RFU0NSSVBUSU9OX0lMTEVHQUxfUEFSQU1FVEVSCitBTEVSVF9ERVNDUklQVElPTl9VTktOT1dOX0NBCitBTEVSVF9ERVNDUklQVElPTl9BQ0NFU1NfREVOSUVECitBTEVSVF9ERVNDUklQVElPTl9ERUNPREVfRVJST1IKK0FMRVJUX0RFU0NSSVBUSU9OX0RFQ1JZUFRfRVJST1IKK0FMRVJUX0RFU0NSSVBUSU9OX1BST1RPQ09MX1ZFUlNJT04KK0FMRVJUX0RFU0NSSVBUSU9OX0lOU1VGRklDSUVOVF9TRUNVUklUWQorQUxFUlRfREVTQ1JJUFRJT05fSU5URVJOQUxfRVJST1IKK0FMRVJUX0RFU0NSSVBUSU9OX1VTRVJfQ0FOQ0VMTEVECitBTEVSVF9ERVNDUklQVElPTl9OT19SRU5FR09USUFUSU9OCitBTEVSVF9ERVNDUklQVElPTl9VTlNVUFBPUlRFRF9FWFRFTlNJT04KK0FMRVJUX0RFU0NSSVBUSU9OX0NFUlRJRklDQVRFX1VOT0JUQUlOQUJMRQorQUxFUlRfREVTQ1JJUFRJT05fVU5SRUNPR05JWkVEX05BTUUKK0FMRVJUX0RFU0NSSVBUSU9OX0JBRF9DRVJUSUZJQ0FURV9TVEFUVVNfUkVTUE9OU0UKK0FMRVJUX0RFU0NSSVBUSU9OX0JBRF9DRVJUSUZJQ0FURV9IQVNIX1ZBTFVFCitBTEVSVF9ERVNDUklQVElPTl9VTktOT1dOX1BTS19JREVOVElUWQogIiIiCiAKIGltcG9ydCB0ZXh0d3JhcApAQCAtNjYsMzUgKzk5LDIzIEBACiAgICAgU1NMU3lzY2FsbEVycm9yLCBTU0xFT0ZFcnJvciwKICAgICApCiBmcm9tIF9zc2wgaW1wb3J0IENFUlRfTk9ORSwgQ0VSVF9PUFRJT05BTCwgQ0VSVF9SRVFVSVJFRAotZnJvbSBfc3NsIGltcG9ydCAoCi0gICAgT1BfQUxMLCBPUF9OT19TU0x2MiwgT1BfTk9fU1NMdjMsIE9QX05PX1RMU3YxLAotICAgIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSwgT1BfU0lOR0xFX0RIX1VTRQotICAgICkKLXRyeToKLSAgICBmcm9tIF9zc2wgaW1wb3J0IE9QX05PX0NPTVBSRVNTSU9OCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotdHJ5OgotICAgIGZyb20gX3NzbCBpbXBvcnQgT1BfU0lOR0xFX0VDREhfVVNFCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwogZnJvbSBfc3NsIGltcG9ydCBSQU5EX3N0YXR1cywgUkFORF9lZ2QsIFJBTkRfYWRkLCBSQU5EX2J5dGVzLCBSQU5EX3BzZXVkb19ieXRlcwotZnJvbSBfc3NsIGltcG9ydCAoCi0gICAgU1NMX0VSUk9SX1pFUk9fUkVUVVJOLAotICAgIFNTTF9FUlJPUl9XQU5UX1JFQUQsCi0gICAgU1NMX0VSUk9SX1dBTlRfV1JJVEUsCi0gICAgU1NMX0VSUk9SX1dBTlRfWDUwOV9MT09LVVAsCi0gICAgU1NMX0VSUk9SX1NZU0NBTEwsCi0gICAgU1NMX0VSUk9SX1NTTCwKLSAgICBTU0xfRVJST1JfV0FOVF9DT05ORUNULAotICAgIFNTTF9FUlJPUl9FT0YsCi0gICAgU1NMX0VSUk9SX0lOVkFMSURfRVJST1JfQ09ERSwKLSAgICApCisKK2RlZiBfaW1wb3J0X3N5bWJvbHMocHJlZml4KToKKyAgICBmb3IgbiBpbiBkaXIoX3NzbCk6CisgICAgICAgIGlmIG4uc3RhcnRzd2l0aChwcmVmaXgpOgorICAgICAgICAgICAgZ2xvYmFscygpW25dID0gZ2V0YXR0cihfc3NsLCBuKQorCitfaW1wb3J0X3N5bWJvbHMoJ09QXycpCitfaW1wb3J0X3N5bWJvbHMoJ0FMRVJUX0RFU0NSSVBUSU9OXycpCitfaW1wb3J0X3N5bWJvbHMoJ1NTTF9FUlJPUl8nKQorCiBmcm9tIF9zc2wgaW1wb3J0IEhBU19TTkksIEhBU19FQ0RILCBIQVNfTlBOCi1mcm9tIF9zc2wgaW1wb3J0IChQUk9UT0NPTF9TU0x2MywgUFJPVE9DT0xfU1NMdjIzLAotICAgICAgICAgICAgICAgICAgUFJPVE9DT0xfVExTdjEpCisKK2Zyb20gX3NzbCBpbXBvcnQgUFJPVE9DT0xfU1NMdjMsIFBST1RPQ09MX1NTTHYyMywgUFJPVE9DT0xfVExTdjEKIGZyb20gX3NzbCBpbXBvcnQgX09QRU5TU0xfQVBJX1ZFUlNJT04KIAorCiBfUFJPVE9DT0xfTkFNRVMgPSB7CiAgICAgUFJPVE9DT0xfVExTdjE6ICJUTFN2MSIsCiAgICAgUFJPVE9DT0xfU1NMdjIzOiAiU1NMdjIzIiwKQEAgLTEwOCwxMyArMTI5LDIzIEBACiBlbHNlOgogICAgIF9QUk9UT0NPTF9OQU1FU1tQUk9UT0NPTF9TU0x2Ml0gPSAiU1NMdjIiCiAKK3RyeToKKyAgICBmcm9tIF9zc2wgaW1wb3J0IFBST1RPQ09MX1RMU3YxXzEsIFBST1RPQ09MX1RMU3YxXzIKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCitlbHNlOgorICAgIF9QUk9UT0NPTF9OQU1FU1tQUk9UT0NPTF9UTFN2MV8xXSA9ICJUTFN2MS4xIgorICAgIF9QUk9UT0NPTF9OQU1FU1tQUk9UT0NPTF9UTFN2MV8yXSA9ICJUTFN2MS4yIgorCiBmcm9tIHNvY2tldCBpbXBvcnQgZ2V0bmFtZWluZm8gYXMgX2dldG5hbWVpbmZvCi1mcm9tIHNvY2tldCBpbXBvcnQgZXJyb3IgYXMgc29ja2V0X2Vycm9yCiBmcm9tIHNvY2tldCBpbXBvcnQgc29ja2V0LCBBRl9JTkVULCBTT0NLX1NUUkVBTSwgY3JlYXRlX2Nvbm5lY3Rpb24KIGltcG9ydCBiYXNlNjQgICAgICAgICMgZm9yIERFUi10by1QRU0gdHJhbnNsYXRpb24KIGltcG9ydCB0cmFjZWJhY2sKIGltcG9ydCBlcnJubwogCisKK3NvY2tldF9lcnJvciA9IE9TRXJyb3IgICMga2VlcCB0aGF0IHB1YmxpYyBuYW1lIGluIG1vZHVsZSBuYW1lc3BhY2UKKwogaWYgX3NzbC5IQVNfVExTX1VOSVFVRToKICAgICBDSEFOTkVMX0JJTkRJTkdfVFlQRVMgPSBbJ3Rscy11bmlxdWUnXQogZWxzZToKQEAgLTE4OCw3ICsyMTksNyBAQAogICAgICIiIkFuIFNTTENvbnRleHQgaG9sZHMgdmFyaW91cyBTU0wtcmVsYXRlZCBjb25maWd1cmF0aW9uIG9wdGlvbnMgYW5kCiAgICAgZGF0YSwgc3VjaCBhcyBjZXJ0aWZpY2F0ZXMgYW5kIHBvc3NpYmx5IGEgcHJpdmF0ZSBrZXkuIiIiCiAKLSAgICBfX3Nsb3RzX18gPSAoJ3Byb3RvY29sJywpCisgICAgX19zbG90c19fID0gKCdwcm90b2NvbCcsICdfX3dlYWtyZWZfXycpCiAKICAgICBkZWYgX19uZXdfXyhjbHMsIHByb3RvY29sLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBzZWxmID0gX1NTTENvbnRleHQuX19uZXdfXyhjbHMsIHByb3RvY29sKQpAQCAtMjM2LDcgKzI2Nyw3IEBACiAgICAgICAgICAgICAgICAgIF9jb250ZXh0PU5vbmUpOgogCiAgICAgICAgIGlmIF9jb250ZXh0OgotICAgICAgICAgICAgc2VsZi5jb250ZXh0ID0gX2NvbnRleHQKKyAgICAgICAgICAgIHNlbGYuX2NvbnRleHQgPSBfY29udGV4dAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgaWYgc2VydmVyX3NpZGUgYW5kIG5vdCBjZXJ0ZmlsZToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjZXJ0ZmlsZSBtdXN0IGJlIHNwZWNpZmllZCBmb3Igc2VydmVyLXNpZGUgIgpAQCAtMjQ1LDE2ICsyNzYsMTYgQEAKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjZXJ0ZmlsZSBtdXN0IGJlIHNwZWNpZmllZCIpCiAgICAgICAgICAgICBpZiBjZXJ0ZmlsZSBhbmQgbm90IGtleWZpbGU6CiAgICAgICAgICAgICAgICAga2V5ZmlsZSA9IGNlcnRmaWxlCi0gICAgICAgICAgICBzZWxmLmNvbnRleHQgPSBTU0xDb250ZXh0KHNzbF92ZXJzaW9uKQotICAgICAgICAgICAgc2VsZi5jb250ZXh0LnZlcmlmeV9tb2RlID0gY2VydF9yZXFzCisgICAgICAgICAgICBzZWxmLl9jb250ZXh0ID0gU1NMQ29udGV4dChzc2xfdmVyc2lvbikKKyAgICAgICAgICAgIHNlbGYuX2NvbnRleHQudmVyaWZ5X21vZGUgPSBjZXJ0X3JlcXMKICAgICAgICAgICAgIGlmIGNhX2NlcnRzOgotICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoY2FfY2VydHMpCisgICAgICAgICAgICAgICAgc2VsZi5fY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoY2FfY2VydHMpCiAgICAgICAgICAgICBpZiBjZXJ0ZmlsZToKLSAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQubG9hZF9jZXJ0X2NoYWluKGNlcnRmaWxlLCBrZXlmaWxlKQorICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRleHQubG9hZF9jZXJ0X2NoYWluKGNlcnRmaWxlLCBrZXlmaWxlKQogICAgICAgICAgICAgaWYgbnBuX3Byb3RvY29sczoKLSAgICAgICAgICAgICAgICBzZWxmLmNvbnRleHQuc2V0X25wbl9wcm90b2NvbHMobnBuX3Byb3RvY29scykKKyAgICAgICAgICAgICAgICBzZWxmLl9jb250ZXh0LnNldF9ucG5fcHJvdG9jb2xzKG5wbl9wcm90b2NvbHMpCiAgICAgICAgICAgICBpZiBjaXBoZXJzOgotICAgICAgICAgICAgICAgIHNlbGYuY29udGV4dC5zZXRfY2lwaGVycyhjaXBoZXJzKQorICAgICAgICAgICAgICAgIHNlbGYuX2NvbnRleHQuc2V0X2NpcGhlcnMoY2lwaGVycykKICAgICAgICAgICAgIHNlbGYua2V5ZmlsZSA9IGtleWZpbGUKICAgICAgICAgICAgIHNlbGYuY2VydGZpbGUgPSBjZXJ0ZmlsZQogICAgICAgICAgICAgc2VsZi5jZXJ0X3JlcXMgPSBjZXJ0X3JlcXMKQEAgLTI3OSw3ICszMTAsNyBAQAogICAgICAgICAgICAgIyBzZWUgaWYgaXQncyBjb25uZWN0ZWQKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzb2NrLmdldHBlZXJuYW1lKCkKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXRfZXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FTk9UQ09OTjoKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGVsc2U6CkBAIC0yOTYsNyArMzI3LDcgQEAKICAgICAgICAgaWYgY29ubmVjdGVkOgogICAgICAgICAgICAgIyBjcmVhdGUgdGhlIFNTTCBvYmplY3QKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBzZWxmLl9zc2xvYmogPSBzZWxmLmNvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIHNlcnZlcl9zaWRlLAorICAgICAgICAgICAgICAgIHNlbGYuX3NzbG9iaiA9IHNlbGYuX2NvbnRleHQuX3dyYXBfc29ja2V0KHNlbGYsIHNlcnZlcl9zaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lKQogICAgICAgICAgICAgICAgIGlmIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0OgogICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gc2VsZi5nZXR0aW1lb3V0KCkKQEAgLTMwNSw5ICszMzYsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImRvX2hhbmRzaGFrZV9vbl9jb25uZWN0IHNob3VsZCBub3QgYmUgc3BlY2lmaWVkIGZvciBub24tYmxvY2tpbmcgc29ja2V0cyIpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZG9faGFuZHNoYWtlKCkKIAotICAgICAgICAgICAgZXhjZXB0IHNvY2tldF9lcnJvciBhcyB4OgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgeDoKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKICAgICAgICAgICAgICAgICByYWlzZSB4CisgICAgQHByb3BlcnR5CisgICAgZGVmIGNvbnRleHQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9jb250ZXh0CisKKyAgICBAY29udGV4dC5zZXR0ZXIKKyAgICBkZWYgY29udGV4dChzZWxmLCBjdHgpOgorICAgICAgICBzZWxmLl9jb250ZXh0ID0gY3R4CisgICAgICAgIHNlbGYuX3NzbG9iai5jb250ZXh0ID0gY3R4CiAKICAgICBkZWYgZHVwKHNlbGYpOgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZCgiQ2FuJ3QgZHVwKCkgJXMgaW5zdGFuY2VzIiAlCkBAIC0zODEsMTggKzQyMCwxNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCiAgICAgICAgICAgICAgICAgICAgICJub24temVybyBmbGFncyBub3QgYWxsb3dlZCBpbiBjYWxscyB0byBzZW5kKCkgb24gJXMiICUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18pCi0gICAgICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgdiA9IHNlbGYuX3NzbG9iai53cml0ZShkYXRhKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBTU0xFcnJvciBhcyB4OgotICAgICAgICAgICAgICAgICAgICBpZiB4LmFyZ3NbMF0gPT0gU1NMX0VSUk9SX1dBTlRfUkVBRDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgICAgICAgICAgICAgIGVsaWYgeC5hcmdzWzBdID09IFNTTF9FUlJPUl9XQU5UX1dSSVRFOgotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdiA9IHNlbGYuX3NzbG9iai53cml0ZShkYXRhKQorICAgICAgICAgICAgZXhjZXB0IFNTTEVycm9yIGFzIHg6CisgICAgICAgICAgICAgICAgaWYgeC5hcmdzWzBdID09IFNTTF9FUlJPUl9XQU5UX1JFQUQ6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAwCisgICAgICAgICAgICAgICAgZWxpZiB4LmFyZ3NbMF0gPT0gU1NMX0VSUk9SX1dBTlRfV1JJVEU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHYKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIHYKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBzb2NrZXQuc2VuZChzZWxmLCBkYXRhLCBmbGFncykKIApAQCAtNTMzLDcgKzU3MSw3IEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZG9faGFuZHNoYWtlKCkKICAgICAgICAgICAgICAgICBzZWxmLl9jb25uZWN0ZWQgPSBUcnVlCiAgICAgICAgICAgICByZXR1cm4gcmMKLSAgICAgICAgZXhjZXB0IHNvY2tldF9lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLl9zc2xvYmogPSBOb25lCiAgICAgICAgICAgICByYWlzZQogCmRpZmYgLS1naXQgYS9MaWIvc3RydWN0LnB5IGIvTGliL3N0cnVjdC5weQppbmRleCA5YmZjMjNmLi5kNmJiYTU4IDEwMDY0NAotLS0gYS9MaWIvc3RydWN0LnB5CisrKyBiL0xpYi9zdHJ1Y3QucHkKQEAgLTEsNiArMSw3IEBACiBfX2FsbF9fID0gWwogICAgICMgRnVuY3Rpb25zCiAgICAgJ2NhbGNzaXplJywgJ3BhY2snLCAncGFja19pbnRvJywgJ3VucGFjaycsICd1bnBhY2tfZnJvbScsCisgICAgJ2l0ZXJfdW5wYWNrJywKIAogICAgICMgQ2xhc3NlcwogICAgICdTdHJ1Y3QnLApkaWZmIC0tZ2l0IGEvTGliL3N1YnByb2Nlc3MucHkgYi9MaWIvc3VicHJvY2Vzcy5weQppbmRleCA2ODkwNDZlLi43ODkwN2UwIDEwMDY0NAotLS0gYS9MaWIvc3VicHJvY2Vzcy5weQorKysgYi9MaWIvc3VicHJvY2Vzcy5weQpAQCAtMTc1LDYgKzE3NSw5IEBACiAKICAgICA+Pj4gb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoWyJscyIsICItbCIsICIvZGV2L251bGwiXSkKIAorICAgIFRoZXJlIGlzIGFuIGFkZGl0aW9uYWwgb3B0aW9uYWwgYXJndW1lbnQsICJpbnB1dCIsIGFsbG93aW5nIHlvdSB0bworICAgIHBhc3MgYSBzdHJpbmcgdG8gdGhlIHN1YnByb2Nlc3MncyBzdGRpbi4gIElmIHlvdSB1c2UgdGhpcyBhcmd1bWVudAorICAgIHlvdSBtYXkgbm90IGFsc28gdXNlIHRoZSBQb3BlbiBjb25zdHJ1Y3RvcidzICJzdGRpbiIgYXJndW1lbnQuCiAKIEV4Y2VwdGlvbnMKIC0tLS0tLS0tLS0KQEAgLTM5NSw4ICszOTgsNiBAQAogICAgICAgICBoU3RkT3V0cHV0ID0gTm9uZQogICAgICAgICBoU3RkRXJyb3IgPSBOb25lCiAgICAgICAgIHdTaG93V2luZG93ID0gMAotICAgIGNsYXNzIHB5d2ludHlwZXM6Ci0gICAgICAgIGVycm9yID0gSU9FcnJvcgogZWxzZToKICAgICBpbXBvcnQgc2VsZWN0CiAgICAgX2hhc19wb2xsID0gaGFzYXR0cihzZWxlY3QsICdwb2xsJykKQEAgLTU2NSwxNCArNTY2LDMxIEBACiAgICAgLi4uICAgICAgICAgICAgICBzdGRlcnI9U1RET1VUKQogICAgIGInbHM6IG5vbl9leGlzdGVudF9maWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4nCiAKKyAgICBUaGVyZSBpcyBhbiBhZGRpdGlvbmFsIG9wdGlvbmFsIGFyZ3VtZW50LCAiaW5wdXQiLCBhbGxvd2luZyB5b3UgdG8KKyAgICBwYXNzIGEgc3RyaW5nIHRvIHRoZSBzdWJwcm9jZXNzJ3Mgc3RkaW4uICBJZiB5b3UgdXNlIHRoaXMgYXJndW1lbnQKKyAgICB5b3UgbWF5IG5vdCBhbHNvIHVzZSB0aGUgUG9wZW4gY29uc3RydWN0b3IncyAic3RkaW4iIGFyZ3VtZW50LCBhcworICAgIGl0IHRvbyB3aWxsIGJlIHVzZWQgaW50ZXJuYWxseS4gIEV4YW1wbGU6CisKKyAgICA+Pj4gY2hlY2tfb3V0cHV0KFsic2VkIiwgIi1lIiwgInMvZm9vL2Jhci8iXSwKKyAgICAuLi4gICAgICAgICAgICAgIGlucHV0PWIid2hlbiBpbiB0aGUgY291cnNlIG9mIGZvb21hbiBldmVudHNcbiIpCisgICAgYid3aGVuIGluIHRoZSBjb3Vyc2Ugb2YgYmFybWFuIGV2ZW50c1xuJworCiAgICAgSWYgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUgaXMgcGFzc2VkLCB0aGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgYQogICAgIHN0cmluZyByYXRoZXIgdGhhbiBieXRlcy4KICAgICAiIiIKICAgICBpZiAnc3Rkb3V0JyBpbiBrd2FyZ3M6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3N0ZG91dCBhcmd1bWVudCBub3QgYWxsb3dlZCwgaXQgd2lsbCBiZSBvdmVycmlkZGVuLicpCisgICAgaWYgJ2lucHV0JyBpbiBrd2FyZ3M6CisgICAgICAgIGlmICdzdGRpbicgaW4ga3dhcmdzOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignc3RkaW4gYW5kIGlucHV0IGFyZ3VtZW50cyBtYXkgbm90IGJvdGggYmUgdXNlZC4nKQorICAgICAgICBpbnB1dGRhdGEgPSBrd2FyZ3NbJ2lucHV0J10KKyAgICAgICAgZGVsIGt3YXJnc1snaW5wdXQnXQorICAgICAgICBrd2FyZ3NbJ3N0ZGluJ10gPSBQSVBFCisgICAgZWxzZToKKyAgICAgICAgaW5wdXRkYXRhID0gTm9uZQogICAgIHdpdGggUG9wZW4oKnBvcGVuYXJncywgc3Rkb3V0PVBJUEUsICoqa3dhcmdzKSBhcyBwcm9jZXNzOgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvdXRwdXQsIHVudXNlZF9lcnIgPSBwcm9jZXNzLmNvbW11bmljYXRlKHRpbWVvdXQ9dGltZW91dCkKKyAgICAgICAgICAgIG91dHB1dCwgdW51c2VkX2VyciA9IHByb2Nlc3MuY29tbXVuaWNhdGUoaW5wdXRkYXRhLCB0aW1lb3V0PXRpbWVvdXQpCiAgICAgICAgIGV4Y2VwdCBUaW1lb3V0RXhwaXJlZDoKICAgICAgICAgICAgIHByb2Nlc3Mua2lsbCgpCiAgICAgICAgICAgICBvdXRwdXQsIHVudXNlZF9lcnIgPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKQEAgLTgyMyw3ICs4NDEsNyBAQAogICAgICAgICAgICAgZm9yIGYgaW4gZmlsdGVyKE5vbmUsIChzZWxmLnN0ZGluLCBzZWxmLnN0ZG91dCwgc2VsZi5zdGRlcnIpKToKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzICAjIElnbm9yZSBFQkFERiBvciBvdGhlciBlcnJvcnMuCiAKICAgICAgICAgICAgICMgTWFrZSBzdXJlIHRoZSBjaGlsZCBwaXBlcyBhcmUgY2xvc2VkIGFzIHdlbGwuCkBAIC04MzcsNyArODU1LDcgQEAKICAgICAgICAgICAgIGZvciBmZCBpbiB0b19jbG9zZToKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlKGZkKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgICAgIHJhaXNlCkBAIC05MDEsNyArOTE5LDcgQEAKICAgICAgICAgICAgICAgICBpZiBpbnB1dDoKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGRpbi53cml0ZShpbnB1dCkKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRVBJUEUgYW5kIGUuZXJybm8gIT0gZXJybm8uRUlOVkFMOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgc2VsZi5zdGRpbi5jbG9zZSgpCkBAIC0xMDMzLDIzICsxMDUxLDYgQEAKICAgICAgICAgICAgIHJldHVybiBIYW5kbGUoaCkKIAogCi0gICAgICAgIGRlZiBfZmluZF93OXhwb3BlbihzZWxmKToKLSAgICAgICAgICAgICIiIkZpbmQgYW5kIHJldHVybiBhYnNvbHV0IHBhdGggdG8gdzl4cG9wZW4uZXhlIiIiCi0gICAgICAgICAgICB3OXhwb3BlbiA9IG9zLnBhdGguam9pbigKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmRpcm5hbWUoX3dpbmFwaS5HZXRNb2R1bGVGaWxlTmFtZSgwKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidzl4cG9wZW4uZXhlIikKLSAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh3OXhwb3Blbik6Ci0gICAgICAgICAgICAgICAgIyBFZWVrIC0gZmlsZS1ub3QtZm91bmQgLSBwb3NzaWJseSBhbiBlbWJlZGRpbmcKLSAgICAgICAgICAgICAgICAjIHNpdHVhdGlvbiAtIHNlZSBpZiB3ZSBjYW4gbG9jYXRlIGl0IGluIHN5cy5leGVjX3ByZWZpeAotICAgICAgICAgICAgICAgIHc5eHBvcGVuID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShzeXMuYmFzZV9leGVjX3ByZWZpeCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInc5eHBvcGVuLmV4ZSIpCi0gICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHc5eHBvcGVuKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJDYW5ub3QgbG9jYXRlIHc5eHBvcGVuLmV4ZSwgd2hpY2ggaXMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5lZWRlZCBmb3IgUG9wZW4gdG8gd29yayB3aXRoIHlvdXIgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNoZWxsIG9yIHBsYXRmb3JtLiIpCi0gICAgICAgICAgICByZXR1cm4gdzl4cG9wZW4KLQotCiAgICAgICAgIGRlZiBfZXhlY3V0ZV9jaGlsZChzZWxmLCBhcmdzLCBleGVjdXRhYmxlLCBwcmVleGVjX2ZuLCBjbG9zZV9mZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzX2ZkcywgY3dkLCBlbnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydHVwaW5mbywgY3JlYXRpb25mbGFncywgc2hlbGwsCkBAIC0xMDc4LDIxICsxMDc5LDYgQEAKICAgICAgICAgICAgICAgICBzdGFydHVwaW5mby53U2hvd1dpbmRvdyA9IF93aW5hcGkuU1dfSElERQogICAgICAgICAgICAgICAgIGNvbXNwZWMgPSBvcy5lbnZpcm9uLmdldCgiQ09NU1BFQyIsICJjbWQuZXhlIikKICAgICAgICAgICAgICAgICBhcmdzID0gJ3t9IC9jICJ7fSInLmZvcm1hdCAoY29tc3BlYywgYXJncykKLSAgICAgICAgICAgICAgICBpZiAoX3dpbmFwaS5HZXRWZXJzaW9uKCkgPj0gMHg4MDAwMDAwMCBvcgotICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5iYXNlbmFtZShjb21zcGVjKS5sb3dlcigpID09ICJjb21tYW5kLmNvbSIpOgotICAgICAgICAgICAgICAgICAgICAjIFdpbjl4LCBvciB1c2luZyBjb21tYW5kLmNvbSBvbiBOVC4gV2UgbmVlZCB0bwotICAgICAgICAgICAgICAgICAgICAjIHVzZSB0aGUgdzl4cG9wZW4gaW50ZXJtZWRpYXRlIHByb2dyYW0uIEZvciBtb3JlCi0gICAgICAgICAgICAgICAgICAgICMgaW5mb3JtYXRpb24sIHNlZSBLQiBRMTUwOTU2Ci0gICAgICAgICAgICAgICAgICAgICMgKGh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMDExMTA1MDg0MDAyL2h0dHA6Ly9zdXBwb3J0Lm1pY3Jvc29mdC5jb20vc3VwcG9ydC9rYi9hcnRpY2xlcy9RMTUwLzkvNTYuYXNwKQotICAgICAgICAgICAgICAgICAgICB3OXhwb3BlbiA9IHNlbGYuX2ZpbmRfdzl4cG9wZW4oKQotICAgICAgICAgICAgICAgICAgICBhcmdzID0gJyIlcyIgJXMnICUgKHc5eHBvcGVuLCBhcmdzKQotICAgICAgICAgICAgICAgICAgICAjIE5vdCBwYXNzaW5nIENSRUFURV9ORVdfQ09OU09MRSBoYXMgYmVlbiBrbm93biB0bwotICAgICAgICAgICAgICAgICAgICAjIGNhdXNlIHJhbmRvbSBmYWlsdXJlcyBvbiB3aW45eC4gIFNwZWNpZmljYWxseSBhCi0gICAgICAgICAgICAgICAgICAgICMgZGlhbG9nOiAiWW91ciBwcm9ncmFtIGFjY2Vzc2VkIG1lbSBjdXJyZW50bHkgaW4KLSAgICAgICAgICAgICAgICAgICAgIyB1c2UgYXQgeHh4IiBhbmQgYSBob3BlZnVsIHdhcm5pbmcgYWJvdXQgdGhlCi0gICAgICAgICAgICAgICAgICAgICMgc3RhYmlsaXR5IG9mIHlvdXIgc3lzdGVtLiAgQ29zdCBpcyBDdHJsK0Mgd29uJ3QKLSAgICAgICAgICAgICAgICAgICAgIyBraWxsIGNoaWxkcmVuLgotICAgICAgICAgICAgICAgICAgICBjcmVhdGlvbmZsYWdzIHw9IF93aW5hcGkuQ1JFQVRFX05FV19DT05TT0xFCiAKICAgICAgICAgICAgICMgU3RhcnQgdGhlIHByb2Nlc3MKICAgICAgICAgICAgIHRyeToKQEAgLTExMDQsMTIgKzEwOTAsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN3ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnR1cGluZm8pCi0gICAgICAgICAgICBleGNlcHQgcHl3aW50eXBlcy5lcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICMgVHJhbnNsYXRlIHB5d2ludHlwZXMuZXJyb3IgdG8gV2luZG93c0Vycm9yLCB3aGljaCBpcwotICAgICAgICAgICAgICAgICMgYSBzdWJjbGFzcyBvZiBPU0Vycm9yLiAgRklYTUU6IFdlIHNob3VsZCByZWFsbHkKLSAgICAgICAgICAgICAgICAjIHRyYW5zbGF0ZSBlcnJubyB1c2luZyBfc3lzX2Vycmxpc3QgKG9yIHNpbWlsYXIpLCBidXQKLSAgICAgICAgICAgICAgICAjIGhvdyBjYW4gdGhpcyBiZSBkb25lIGZyb20gUHl0aG9uPwotICAgICAgICAgICAgICAgIHJhaXNlIFdpbmRvd3NFcnJvcigqZS5hcmdzKQogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICAjIENoaWxkIGlzIGxhdW5jaGVkLiBDbG9zZSB0aGUgcGFyZW50J3MgY29weSBvZiB0aG9zZSBwaXBlCiAgICAgICAgICAgICAgICAgIyBoYW5kbGVzIHRoYXQgb25seSB0aGUgY2hpbGQgc2hvdWxkIGhhdmUgb3Blbi4gIFlvdSBuZWVkCkBAIC0xMTk0LDcgKzExNzQsNyBAQAogICAgICAgICAgICAgICAgIGlmIGlucHV0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLndyaXRlKGlucHV0KQotICAgICAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FUElQRToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uY2xvc2UoKQpAQCAtMTQxNCwxMyArMTM5NCwxMyBAQAogICAgICAgICAgICAgICAgICAgICBleGNlcHRpb25fbmFtZSwgaGV4X2Vycm5vLCBlcnJfbXNnID0gKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycnBpcGVfZGF0YS5zcGxpdChiJzonLCAyKSkKICAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uX25hbWUgPSBiJ1J1bnRpbWVFcnJvcicKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uX25hbWUgPSBiJ1N1YnByb2Nlc3NFcnJvcicKICAgICAgICAgICAgICAgICAgICAgaGV4X2Vycm5vID0gYicwJwogICAgICAgICAgICAgICAgICAgICBlcnJfbXNnID0gKGInQmFkIGV4Y2VwdGlvbiBkYXRhIGZyb20gY2hpbGQ6ICcgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoZXJycGlwZV9kYXRhKSkKICAgICAgICAgICAgICAgICBjaGlsZF9leGNlcHRpb25fdHlwZSA9IGdldGF0dHIoCiAgICAgICAgICAgICAgICAgICAgICAgICBidWlsdGlucywgZXhjZXB0aW9uX25hbWUuZGVjb2RlKCdhc2NpaScpLAotICAgICAgICAgICAgICAgICAgICAgICAgUnVudGltZUVycm9yKQorICAgICAgICAgICAgICAgICAgICAgICAgU3VicHJvY2Vzc0Vycm9yKQogICAgICAgICAgICAgICAgIGVycl9tc2cgPSBlcnJfbXNnLmRlY29kZShlcnJvcnM9InN1cnJvZ2F0ZXBhc3MiKQogICAgICAgICAgICAgICAgIGlmIGlzc3ViY2xhc3MoY2hpbGRfZXhjZXB0aW9uX3R5cGUsIE9TRXJyb3IpIGFuZCBoZXhfZXJybm86CiAgICAgICAgICAgICAgICAgICAgIGVycm5vX251bSA9IGludChoZXhfZXJybm8sIDE2KQpAQCAtMTQ1MCwxMSArMTQzMCwxMSBAQAogICAgICAgICAgICAgICAgIHNlbGYucmV0dXJuY29kZSA9IF9XRVhJVFNUQVRVUyhzdHMpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICMgU2hvdWxkIG5ldmVyIGhhcHBlbgotICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiVW5rbm93biBjaGlsZCBleGl0IHN0YXR1cyEiKQorICAgICAgICAgICAgICAgIHJhaXNlIFN1YnByb2Nlc3NFcnJvcigiVW5rbm93biBjaGlsZCBleGl0IHN0YXR1cyEiKQogCiAKICAgICAgICAgZGVmIF9pbnRlcm5hbF9wb2xsKHNlbGYsIF9kZWFkc3RhdGU9Tm9uZSwgX3dhaXRwaWQ9b3Mud2FpdHBpZCwKLSAgICAgICAgICAgICAgICBfV05PSEFORz1vcy5XTk9IQU5HLCBfb3NfZXJyb3I9b3MuZXJyb3IsIF9FQ0hJTEQ9ZXJybm8uRUNISUxEKToKKyAgICAgICAgICAgICAgICBfV05PSEFORz1vcy5XTk9IQU5HLCBfRUNISUxEPWVycm5vLkVDSElMRCk6CiAgICAgICAgICAgICAiIiJDaGVjayBpZiBjaGlsZCBwcm9jZXNzIGhhcyB0ZXJtaW5hdGVkLiAgUmV0dXJucyByZXR1cm5jb2RlCiAgICAgICAgICAgICBhdHRyaWJ1dGUuCiAKQEAgLTE0NjcsNyArMTQ0Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHBpZCwgc3RzID0gX3dhaXRwaWQoc2VsZi5waWQsIF9XTk9IQU5HKQogICAgICAgICAgICAgICAgICAgICBpZiBwaWQgPT0gc2VsZi5waWQ6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfZXhpdHN0YXR1cyhzdHMpCi0gICAgICAgICAgICAgICAgZXhjZXB0IF9vc19lcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIGlmIF9kZWFkc3RhdGUgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJldHVybmNvZGUgPSBfZGVhZHN0YXRlCiAgICAgICAgICAgICAgICAgICAgIGVsaWYgZS5lcnJubyA9PSBfRUNISUxEOgpAQCAtMTYyNCw3ICsxNjA0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGltZW91dEV4cGlyZWQoc2VsZi5hcmdzLCBvcmlnX3RpbWVvdXQpCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICByZWFkeSA9IHBvbGxlci5wb2xsKHRpbWVvdXQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIGlmIGUuYXJnc1swXSA9PSBlcnJuby5FSU5UUjoKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCkBAIC0xNjkyLDcgKzE2NzIsNyBAQAogICAgICAgICAgICAgICAgICAgICAocmxpc3QsIHdsaXN0LCB4bGlzdCkgPSBcCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Quc2VsZWN0KHNlbGYuX3JlYWRfc2V0LCBzZWxmLl93cml0ZV9zZXQsIFtdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0KQotICAgICAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBpZiBlLmFyZ3NbMF0gPT0gZXJybm8uRUlOVFI6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICByYWlzZQpkaWZmIC0tZ2l0IGEvTGliL3N5bWJvbC5weSBiL0xpYi9zeW1ib2wucHkKaW5kZXggMzQxNDNiNS4uNWNmNGE2NSAxMDA3NTUKLS0tIGEvTGliL3N5bWJvbC5weQorKysgYi9MaWIvc3ltYm9sLnB5CkBAIC0xMDAsNyArMTAwLDcgQEAKICAgICAgICAgc3ltX25hbWVbX3ZhbHVlXSA9IF9uYW1lCiAKIAotZGVmIG1haW4oKToKK2RlZiBfbWFpbigpOgogICAgIGltcG9ydCBzeXMKICAgICBpbXBvcnQgdG9rZW4KICAgICBpZiBsZW4oc3lzLmFyZ3YpID09IDE6CkBAIC0xMDgsNCArMTA4LDQgQEAKICAgICB0b2tlbi5fbWFpbigpCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgbWFpbigpCisgICAgX21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3N5bXRhYmxlLnB5IGIvTGliL3N5bXRhYmxlLnB5CmluZGV4IDM5YzFhODAuLmMwZTMyZGYgMTAwNjQ0Ci0tLSBhL0xpYi9zeW10YWJsZS5weQorKysgYi9MaWIvc3ltdGFibGUucHkKQEAgLTIzNSw3ICsyMzUsOCBAQAogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGltcG9ydCBvcywgc3lzCi0gICAgc3JjID0gb3BlbihzeXMuYXJndlswXSkucmVhZCgpCisgICAgd2l0aCBvcGVuKHN5cy5hcmd2WzBdKSBhcyBmOgorICAgICAgICBzcmMgPSBmLnJlYWQoKQogICAgIG1vZCA9IHN5bXRhYmxlKHNyYywgb3MucGF0aC5zcGxpdChzeXMuYXJndlswXSlbMV0sICJleGVjIikKICAgICBmb3IgaWRlbnQgaW4gbW9kLmdldF9pZGVudGlmaWVycygpOgogICAgICAgICBpbmZvID0gbW9kLmxvb2t1cChpZGVudCkKZGlmZiAtLWdpdCBhL0xpYi9zeXNjb25maWcucHkgYi9MaWIvc3lzY29uZmlnLnB5CmluZGV4IDJmNWY3NDAuLjIwOTU2NTcgMTAwNjQ0Ci0tLSBhL0xpYi9zeXNjb25maWcucHkKKysrIGIvTGliL3N5c2NvbmZpZy5weQpAQCAtNTIsMjUgKzUyLDYgQEAKICAgICAgICAgJ3NjcmlwdHMnOiAne2Jhc2V9L1NjcmlwdHMnLAogICAgICAgICAnZGF0YSc6ICd7YmFzZX0nLAogICAgICAgICB9LAotICAgICdvczInOiB7Ci0gICAgICAgICdzdGRsaWInOiAne2luc3RhbGxlZF9iYXNlfS9MaWInLAotICAgICAgICAncGxhdHN0ZGxpYic6ICd7YmFzZX0vTGliJywKLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L0xpYi9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ3BsYXRsaWInOiAne2Jhc2V9L0xpYi9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ2luY2x1ZGUnOiAne2luc3RhbGxlZF9iYXNlfS9JbmNsdWRlJywKLSAgICAgICAgJ3BsYXRpbmNsdWRlJzogJ3tpbnN0YWxsZWRfYmFzZX0vSW5jbHVkZScsCi0gICAgICAgICdzY3JpcHRzJzogJ3tiYXNlfS9TY3JpcHRzJywKLSAgICAgICAgJ2RhdGEnOiAne2Jhc2V9JywKLSAgICAgICAgfSwKLSAgICAnb3MyX2hvbWUnOiB7Ci0gICAgICAgICdzdGRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgJ3BsYXRzdGRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgJ3B1cmVsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAncGxhdGxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICdpbmNsdWRlJzogJ3t1c2VyYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L2JpbicsCi0gICAgICAgICdkYXRhJzogJ3t1c2VyYmFzZX0nLAotICAgICAgICB9LAogICAgICdudF91c2VyJzogewogICAgICAgICAnc3RkbGliJzogJ3t1c2VyYmFzZX0vUHl0aG9ue3B5X3ZlcnNpb25fbm9kb3R9JywKICAgICAgICAgJ3BsYXRzdGRsaWInOiAne3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0nLApAQCAtMjEwLDcgKzE5MSw2IEBACiAgICAgZGVmIGpvaW51c2VyKCphcmdzKToKICAgICAgICAgcmV0dXJuIG9zLnBhdGguZXhwYW5kdXNlcihvcy5wYXRoLmpvaW4oKmFyZ3MpKQogCi0gICAgIyB3aGF0IGFib3V0ICdvczJlbXgnLCAncmlzY29zJyA/CiAgICAgaWYgb3MubmFtZSA9PSAibnQiOgogICAgICAgICBiYXNlID0gb3MuZW52aXJvbi5nZXQoIkFQUERBVEEiKSBvciAifiIKICAgICAgICAgaWYgZW52X2Jhc2U6CkBAIC0zNjksMjEgKzM0OSwyMSBAQAogICAgIG1ha2VmaWxlID0gZ2V0X21ha2VmaWxlX2ZpbGVuYW1lKCkKICAgICB0cnk6CiAgICAgICAgIF9wYXJzZV9tYWtlZmlsZShtYWtlZmlsZSwgdmFycykKLSAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgIG1zZyA9ICJpbnZhbGlkIFB5dGhvbiBpbnN0YWxsYXRpb246IHVuYWJsZSB0byBvcGVuICVzIiAlIG1ha2VmaWxlCiAgICAgICAgIGlmIGhhc2F0dHIoZSwgInN0cmVycm9yIik6CiAgICAgICAgICAgICBtc2cgPSBtc2cgKyAiICglcykiICUgZS5zdHJlcnJvcgotICAgICAgICByYWlzZSBJT0Vycm9yKG1zZykKKyAgICAgICAgcmFpc2UgT1NFcnJvcihtc2cpCiAgICAgIyBsb2FkIHRoZSBpbnN0YWxsZWQgcHljb25maWcuaDoKICAgICBjb25maWdfaCA9IGdldF9jb25maWdfaF9maWxlbmFtZSgpCiAgICAgdHJ5OgogICAgICAgICB3aXRoIG9wZW4oY29uZmlnX2gpIGFzIGY6CiAgICAgICAgICAgICBwYXJzZV9jb25maWdfaChmLCB2YXJzKQotICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgbXNnID0gImludmFsaWQgUHl0aG9uIGluc3RhbGxhdGlvbjogdW5hYmxlIHRvIG9wZW4gJXMiICUgY29uZmlnX2gKICAgICAgICAgaWYgaGFzYXR0cihlLCAic3RyZXJyb3IiKToKICAgICAgICAgICAgIG1zZyA9IG1zZyArICIgKCVzKSIgJSBlLnN0cmVycm9yCi0gICAgICAgIHJhaXNlIElPRXJyb3IobXNnKQorICAgICAgICByYWlzZSBPU0Vycm9yKG1zZykKICAgICAjIE9uIEFJWCwgdGhlcmUgYXJlIHdyb25nIHBhdGhzIHRvIHRoZSBsaW5rZXIgc2NyaXB0cyBpbiB0aGUgTWFrZWZpbGUKICAgICAjIC0tIHRoZXNlIHBhdGhzIGFyZSByZWxhdGl2ZSB0byB0aGUgUHl0aG9uIHNvdXJjZSwgYnV0IHdoZW4gaW5zdGFsbGVkCiAgICAgIyB0aGUgc2NyaXB0cyBhcmUgaW4gYW5vdGhlciBkaXJlY3RvcnkuCkBAIC00MzYsNyArNDE2LDYgQEAKICAgICB2YXJzWydMSUJERVNUJ10gPSBnZXRfcGF0aCgnc3RkbGliJykKICAgICB2YXJzWydCSU5MSUJERVNUJ10gPSBnZXRfcGF0aCgncGxhdHN0ZGxpYicpCiAgICAgdmFyc1snSU5DTFVERVBZJ10gPSBnZXRfcGF0aCgnaW5jbHVkZScpCi0gICAgdmFyc1snU08nXSA9ICcucHlkJwogICAgIHZhcnNbJ0VYVF9TVUZGSVgnXSA9ICcucHlkJwogICAgIHZhcnNbJ0VYRSddID0gJy5leGUnCiAgICAgdmFyc1snVkVSU0lPTiddID0gX1BZX1ZFUlNJT05fU0hPUlRfTk9fRE9UCkBAIC01NTIsNyArNTMxLDcgQEAKICAgICAgICAgICAgICMgc3lzLmFiaWZsYWdzIG1heSBub3QgYmUgZGVmaW5lZCBvbiBhbGwgcGxhdGZvcm1zLgogICAgICAgICAgICAgX0NPTkZJR19WQVJTWydhYmlmbGFncyddID0gJycKIAotICAgICAgICBpZiBvcy5uYW1lIGluICgnbnQnLCAnb3MyJyk6CisgICAgICAgIGlmIG9zLm5hbWUgPT0gJ250JzoKICAgICAgICAgICAgIF9pbml0X25vbl9wb3NpeChfQ09ORklHX1ZBUlMpCiAgICAgICAgIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKICAgICAgICAgICAgIF9pbml0X3Bvc2l4KF9DT05GSUdfVkFSUykKZGlmZiAtLWdpdCBhL0xpYi90YWJuYW5ueS5weSBiL0xpYi90YWJuYW5ueS5weQppbmRleCA1YjliNDQ0Li40NmUwZjU2IDEwMDc1NQotLS0gYS9MaWIvdGFibmFubnkucHkKKysrIGIvTGliL3RhYm5hbm55LnB5CkBAIC05NSw3ICs5NSw3IEBACiAKICAgICB0cnk6CiAgICAgICAgIGYgPSB0b2tlbml6ZS5vcGVuKGZpbGUpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgZXJycHJpbnQoIiVyOiBJL08gRXJyb3I6ICVzIiAlIChmaWxlLCBtc2cpKQogICAgICAgICByZXR1cm4KIApkaWZmIC0tZ2l0IGEvTGliL3RhcmZpbGUucHkgYi9MaWIvdGFyZmlsZS5weQppbmRleCAxMWI0YjY4Li5mZmE3MzI3IDEwMDY0NAotLS0gYS9MaWIvdGFyZmlsZS5weQorKysgYi9MaWIvdGFyZmlsZS5weQpAQCAtNTYsOSArNTYsOSBAQAogIyBvcy5zeW1saW5rIG9uIFdpbmRvd3MgcHJpb3IgdG8gNi4wIHJhaXNlcyBOb3RJbXBsZW1lbnRlZEVycm9yCiBzeW1saW5rX2V4Y2VwdGlvbiA9IChBdHRyaWJ1dGVFcnJvciwgTm90SW1wbGVtZW50ZWRFcnJvcikKIHRyeToKLSAgICAjIFdpbmRvd3NFcnJvciAoMTMxNCkgd2lsbCBiZSByYWlzZWQgaWYgdGhlIGNhbGxlciBkb2VzIG5vdCBob2xkIHRoZQorICAgICMgT1NFcnJvciAod2luZXJyb3I9MTMxNCkgd2lsbCBiZSByYWlzZWQgaWYgdGhlIGNhbGxlciBkb2VzIG5vdCBob2xkIHRoZQogICAgICMgU2VDcmVhdGVTeW1ib2xpY0xpbmtQcml2aWxlZ2UgcHJpdmlsZWdlCi0gICAgc3ltbGlua19leGNlcHRpb24gKz0gKFdpbmRvd3NFcnJvciwpCisgICAgc3ltbGlua19leGNlcHRpb24gKz0gKE9TRXJyb3IsKQogZXhjZXB0IE5hbWVFcnJvcjoKICAgICBwYXNzCiAKQEAgLTI2NCwxMyArMjY0LDEzIEBACiAgICAgZm9yIGIgaW4gcmFuZ2UoYmxvY2tzKToKICAgICAgICAgYnVmID0gc3JjLnJlYWQoQlVGU0laRSkKICAgICAgICAgaWYgbGVuKGJ1ZikgPCBCVUZTSVpFOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiZW5kIG9mIGZpbGUgcmVhY2hlZCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJlbmQgb2YgZmlsZSByZWFjaGVkIikKICAgICAgICAgZHN0LndyaXRlKGJ1ZikKIAogICAgIGlmIHJlbWFpbmRlciAhPSAwOgogICAgICAgICBidWYgPSBzcmMucmVhZChyZW1haW5kZXIpCiAgICAgICAgIGlmIGxlbihidWYpIDwgcmVtYWluZGVyOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiZW5kIG9mIGZpbGUgcmVhY2hlZCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJlbmQgb2YgZmlsZSByZWFjaGVkIikKICAgICAgICAgZHN0LndyaXRlKGJ1ZikKICAgICByZXR1cm4KIApAQCAtMzk5LDcgKzM5OSw3IEBACiAgICAgICAgICAgICAgICAgaWYgbW9kZSA9PSAiciI6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJ1ZiA9IGIiIgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNtcCA9IGJ6Mi5CWjJEZWNvbXByZXNzb3IoKQotICAgICAgICAgICAgICAgICAgICBzZWxmLmV4Y2VwdGlvbiA9IElPRXJyb3IKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5leGNlcHRpb24gPSBPU0Vycm9yCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jbXAgPSBiejIuQloyQ29tcHJlc3NvcigpCiAKQEAgLTE2MzEsNyArMTYzMSw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZpbGVvYmogPSBnemlwLkd6aXBGaWxlKG5hbWUsIG1vZGUgKyAiYiIsIGNvbXByZXNzbGV2ZWwsIGZpbGVvYmopCiAgICAgICAgICAgICB0ID0gY2xzLnRhcm9wZW4obmFtZSwgbW9kZSwgZmlsZW9iaiwgKiprd2FyZ3MpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIGlmIG5vdCBleHRmaWxlb2JqIGFuZCBmaWxlb2JqIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGZpbGVvYmouY2xvc2UoKQogICAgICAgICAgICAgaWYgZmlsZW9iaiBpcyBOb25lOgpAQCAtMTY2Miw3ICsxNjYyLDcgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICB0ID0gY2xzLnRhcm9wZW4obmFtZSwgbW9kZSwgZmlsZW9iaiwgKiprd2FyZ3MpCi0gICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgRU9GRXJyb3IpOgorICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEVPRkVycm9yKToKICAgICAgICAgICAgIGZpbGVvYmouY2xvc2UoKQogICAgICAgICAgICAgcmFpc2UgUmVhZEVycm9yKCJub3QgYSBiemlwMiBmaWxlIikKICAgICAgICAgdC5fZXh0ZmlsZW9iaiA9IEZhbHNlCkBAIC0yMDIyLDcgKzIwMjIsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLl9leHRyYWN0X21lbWJlcih0YXJpbmZvLCBvcy5wYXRoLmpvaW4ocGF0aCwgdGFyaW5mby5uYW1lKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldF9hdHRycz1zZXRfYXR0cnMpCi0gICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBzZWxmLmVycm9ybGV2ZWwgPiAwOgogICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICBlbHNlOgpAQCAtMjIxMSw5ICsyMjExLDggQEAKICAgICAgICAgICAgICAgICBpZiB0YXJpbmZvLmlzc3ltKCkgYW5kIGhhc2F0dHIob3MsICJsY2hvd24iKToKICAgICAgICAgICAgICAgICAgICAgb3MubGNob3duKHRhcmdldHBhdGgsIHUsIGcpCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICJvczJlbXgiOgotICAgICAgICAgICAgICAgICAgICAgICAgb3MuY2hvd24odGFyZ2V0cGF0aCwgdSwgZykKLSAgICAgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgICAgIG9zLmNob3duKHRhcmdldHBhdGgsIHUsIGcpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIHJhaXNlIEV4dHJhY3RFcnJvcigiY291bGQgbm90IGNoYW5nZSBvd25lciIpCiAKICAgICBkZWYgY2htb2Qoc2VsZiwgdGFyaW5mbywgdGFyZ2V0cGF0aCk6CkBAIC0yMjIyLDcgKzIyMjEsNyBAQAogICAgICAgICBpZiBoYXNhdHRyKG9zLCAnY2htb2QnKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy5jaG1vZCh0YXJnZXRwYXRoLCB0YXJpbmZvLm1vZGUpCi0gICAgICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICByYWlzZSBFeHRyYWN0RXJyb3IoImNvdWxkIG5vdCBjaGFuZ2UgbW9kZSIpCiAKICAgICBkZWYgdXRpbWUoc2VsZiwgdGFyaW5mbywgdGFyZ2V0cGF0aCk6CkBAIC0yMjMyLDcgKzIyMzEsNyBAQAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLnV0aW1lKHRhcmdldHBhdGgsICh0YXJpbmZvLm10aW1lLCB0YXJpbmZvLm10aW1lKSkKLSAgICAgICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIHJhaXNlIEV4dHJhY3RFcnJvcigiY291bGQgbm90IGNoYW5nZSBtb2RpZmljYXRpb24gdGltZSIpCiAKICAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTIzMjMsOSArMjMyMiw5IEBACiAgICAgICAgICAgIGNvcnJlc3BvbmRzIHRvIFRhckZpbGUncyBtb2RlLgogICAgICAgICAiIiIKICAgICAgICAgaWYgc2VsZi5jbG9zZWQ6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCIlcyBpcyBjbG9zZWQiICUgc2VsZi5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCIlcyBpcyBjbG9zZWQiICUgc2VsZi5fX2NsYXNzX18uX19uYW1lX18pCiAgICAgICAgIGlmIG1vZGUgaXMgbm90IE5vbmUgYW5kIHNlbGYubW9kZSBub3QgaW4gbW9kZToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImJhZCBvcGVyYXRpb24gZm9yIG1vZGUgJXIiICUgc2VsZi5tb2RlKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiYmFkIG9wZXJhdGlvbiBmb3IgbW9kZSAlciIgJSBzZWxmLm1vZGUpCiAKICAgICBkZWYgX2ZpbmRfbGlua190YXJnZXQoc2VsZiwgdGFyaW5mbyk6CiAgICAgICAgICIiIkZpbmQgdGhlIHRhcmdldCBtZW1iZXIgb2YgYSBzeW1saW5rIG9yIGhhcmRsaW5rIG1lbWJlciBpbiB0aGUKZGlmZiAtLWdpdCBhL0xpYi90ZWxuZXRsaWIucHkgYi9MaWIvdGVsbmV0bGliLnB5CmluZGV4IGE1OTY5M2UuLmI0YjdjZDQgMTAwNjQ0Ci0tLSBhL0xpYi90ZWxuZXRsaWIucHkKKysrIGIvTGliL3RlbG5ldGxpYi5weQpAQCAtMjczLDcgKzI3Myw3IEBACiAgICAgICAgICIiIldyaXRlIGEgc3RyaW5nIHRvIHRoZSBzb2NrZXQsIGRvdWJsaW5nIGFueSBJQUMgY2hhcmFjdGVycy4KIAogICAgICAgICBDYW4gYmxvY2sgaWYgdGhlIGNvbm5lY3Rpb24gaXMgYmxvY2tlZC4gIE1heSByYWlzZQotICAgICAgICBzb2NrZXQuZXJyb3IgaWYgdGhlIGNvbm5lY3Rpb24gaXMgY2xvc2VkLgorICAgICAgICBPU0Vycm9yIGlmIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZC4KIAogICAgICAgICAiIiIKICAgICAgICAgaWYgSUFDIGluIGJ1ZmZlcjoKQEAgLTMxMyw3ICszMTMsNyBAQAogICAgICAgICAgICAgd2hpbGUgaSA8IDAgYW5kIG5vdCBzZWxmLmVvZjoKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHJlYWR5ID0gcG9sbGVyLnBvbGwoY2FsbF90aW1lb3V0KQotICAgICAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVJTlRSOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGFwc2VkID0gdGltZSgpIC0gdGltZV9zdGFydApAQCAtNjgzLDcgKzY4Myw3IEBACiAgICAgICAgICAgICB3aGlsZSBub3QgbSBhbmQgbm90IHNlbGYuZW9mOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgcmVhZHkgPSBwb2xsZXIucG9sbChjYWxsX3RpbWVvdXQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUlOVFI6CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiB0aW1lb3V0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsYXBzZWQgPSB0aW1lKCkgLSB0aW1lX3N0YXJ0CmRpZmYgLS1naXQgYS9MaWIvdGVtcGZpbGUucHkgYi9MaWIvdGVtcGZpbGUucHkKaW5kZXggNGFhZDdiNS4uMTBiNmExYiAxMDA2NDQKLS0tIGEvTGliL3RlbXBmaWxlLnB5CisrKyBiL0xpYi90ZW1wZmlsZS5weQpAQCAtNTgsNiArNTgsOCBAQAogX2FsbG9jYXRlX2xvY2sgPSBfdGhyZWFkLmFsbG9jYXRlX2xvY2sKIAogX3RleHRfb3BlbmZsYWdzID0gX29zLk9fUkRXUiB8IF9vcy5PX0NSRUFUIHwgX29zLk9fRVhDTAoraWYgaGFzYXR0cihfb3MsICdPX0NMT0VYRUMnKToKKyAgICBfdGV4dF9vcGVuZmxhZ3MgfD0gX29zLk9fQ0xPRVhFQwogaWYgaGFzYXR0cihfb3MsICdPX05PSU5IRVJJVCcpOgogICAgIF90ZXh0X29wZW5mbGFncyB8PSBfb3MuT19OT0lOSEVSSVQKIGlmIGhhc2F0dHIoX29zLCAnT19OT0ZPTExPVycpOgpAQCAtNjg0LDcgKzY4Niw2IEBACiAgICAgX2lzbGluayA9IHN0YXRpY21ldGhvZChfb3MucGF0aC5pc2xpbmspCiAgICAgX3JlbW92ZSA9IHN0YXRpY21ldGhvZChfb3MucmVtb3ZlKQogICAgIF9ybWRpciA9IHN0YXRpY21ldGhvZChfb3Mucm1kaXIpCi0gICAgX29zX2Vycm9yID0gT1NFcnJvcgogICAgIF93YXJuID0gX3dhcm5pbmdzLndhcm4KIAogICAgIGRlZiBfcm10cmVlKHNlbGYsIHBhdGgpOgpAQCAtNjk0LDE2ICs2OTUsMTYgQEAKICAgICAgICAgICAgIGZ1bGxuYW1lID0gc2VsZi5fcGF0aF9qb2luKHBhdGgsIG5hbWUpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgaXNkaXIgPSBzZWxmLl9pc2RpcihmdWxsbmFtZSkgYW5kIG5vdCBzZWxmLl9pc2xpbmsoZnVsbG5hbWUpCi0gICAgICAgICAgICBleGNlcHQgc2VsZi5fb3NfZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBpc2RpciA9IEZhbHNlCiAgICAgICAgICAgICBpZiBpc2RpcjoKICAgICAgICAgICAgICAgICBzZWxmLl9ybXRyZWUoZnVsbG5hbWUpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVtb3ZlKGZ1bGxuYW1lKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBzZWxmLl9vc19lcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLl9ybWRpcihwYXRoKQotICAgICAgICBleGNlcHQgc2VsZi5fb3NfZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvX19tYWluX18ucHkgYi9MaWIvdGVzdC9fX21haW5fXy5weQppbmRleCBjZTU2MTViLi5kNWZiZTE1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9fX21haW5fXy5weQorKysgYi9MaWIvdGVzdC9fX21haW5fXy5weQpAQCAtMSwxMyArMSwzIEBACi1mcm9tIHRlc3QgaW1wb3J0IHJlZ3J0ZXN0LCBzdXBwb3J0Citmcm9tIHRlc3QgaW1wb3J0IHJlZ3J0ZXN0CiAKLQotVEVNUERJUiwgVEVTVENXRCA9IHJlZ3J0ZXN0Ll9tYWtlX3RlbXBfZGlyX2Zvcl9idWlsZChyZWdydGVzdC5URU1QRElSKQotcmVncnRlc3QuVEVNUERJUiA9IFRFTVBESVIKLXJlZ3J0ZXN0LlRFU1RDV0QgPSBURVNUQ1dECi0KLSMgUnVuIHRoZSB0ZXN0cyBpbiBhIGNvbnRleHQgbWFuYWdlciB0aGF0IHRlbXBvcmFyeSBjaGFuZ2VzIHRoZSBDV0QgdG8gYQotIyB0ZW1wb3JhcnkgYW5kIHdyaXRhYmxlIGRpcmVjdG9yeS4gSWYgaXQncyBub3QgcG9zc2libGUgdG8gY3JlYXRlIG9yCi0jIGNoYW5nZSB0aGUgQ1dELCB0aGUgb3JpZ2luYWwgQ1dEIHdpbGwgYmUgdXNlZC4gVGhlIG9yaWdpbmFsIENXRCBpcwotIyBhdmFpbGFibGUgZnJvbSBzdXBwb3J0LlNBVkVEQ1dELgotd2l0aCBzdXBwb3J0LnRlbXBfY3dkKFRFU1RDV0QsIHF1aWV0PVRydWUpOgotICAgIHJlZ3J0ZXN0Lm1haW4oKQorcmVncnRlc3QubWFpbl9pbl90ZW1wX2N3ZCgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9iYWRzeW50YXhfZnV0dXJlMTAucHkgYi9MaWIvdGVzdC9iYWRzeW50YXhfZnV0dXJlMTAucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE1YWI2NwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L2JhZHN5bnRheF9mdXR1cmUxMC5weQpAQCAtMCwwICsxLDMgQEAKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Cisic3BhbSwgYmFyLCBibGFoIgorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZm9ya193YWl0LnB5IGIvTGliL3Rlc3QvZm9ya193YWl0LnB5CmluZGV4IDg4NTI3ZGYuLjE5YjU0ZWMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2Zvcmtfd2FpdC5weQorKysgYi9MaWIvdGVzdC9mb3JrX3dhaXQucHkKQEAgLTI4LDcgKzI4LDcgQEAKICAgICAgICAgICAgIHNlbGYuYWxpdmVbaWRdID0gb3MuZ2V0cGlkKCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKFNIT1JUU0xFRVApCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKIAogICAgIGRlZiB3YWl0X2ltcGwoc2VsZiwgY3BpZCk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9qc29uX3Rlc3RzL3Rlc3RfZmFpbC5weSBiL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9mYWlsLnB5CmluZGV4IDc4MDkwNTYuLjViNjUyZTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9mYWlsLnB5CisrKyBiL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9mYWlsLnB5CkBAIC0xLDQgKzEsNSBAQAogZnJvbSB0ZXN0Lmpzb25fdGVzdHMgaW1wb3J0IFB5VGVzdCwgQ1Rlc3QKK2ltcG9ydCByZQogCiAjIDIwMDctMTAtMDUKIEpTT05ET0NTID0gWwpAQCAtMTAwLDYgKzEwMSw5NCBAQAogICAgICAgICAjVGhpcyBpcyBmb3IgcHl0aG9uIGVuY29kZXIKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmR1bXBzLCBkYXRhLCBpbmRlbnQ9VHJ1ZSkKIAorICAgIGRlZiB0ZXN0X3RydW5jYXRlZF9pbnB1dChzZWxmKToKKyAgICAgICAgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgICAgICgnJywgJ0V4cGVjdGluZyB2YWx1ZScsIDApLAorICAgICAgICAgICAgKCdbJywgJ0V4cGVjdGluZyB2YWx1ZScsIDEpLAorICAgICAgICAgICAgKCdbNDInLCAiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCAzKSwKKyAgICAgICAgICAgICgnWzQyLCcsICdFeHBlY3RpbmcgdmFsdWUnLCA0KSwKKyAgICAgICAgICAgICgnWyInLCAnVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCcsIDEpLAorICAgICAgICAgICAgKCdbInNwYW0nLCAnVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCcsIDEpLAorICAgICAgICAgICAgKCdbInNwYW0iJywgIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgNyksCisgICAgICAgICAgICAoJ1sic3BhbSIsJywgJ0V4cGVjdGluZyB2YWx1ZScsIDgpLAorICAgICAgICAgICAgKCd7JywgJ0V4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMnLCAxKSwKKyAgICAgICAgICAgICgneyInLCAnVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCcsIDEpLAorICAgICAgICAgICAgKCd7InNwYW0nLCAnVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCcsIDEpLAorICAgICAgICAgICAgKCd7InNwYW0iJywgIkV4cGVjdGluZyAnOicgZGVsaW1pdGVyIiwgNyksCisgICAgICAgICAgICAoJ3sic3BhbSI6JywgJ0V4cGVjdGluZyB2YWx1ZScsIDgpLAorICAgICAgICAgICAgKCd7InNwYW0iOjQyJywgIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgMTApLAorICAgICAgICAgICAgKCd7InNwYW0iOjQyLCcsICdFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzJywgMTEpLAorICAgICAgICBdCisgICAgICAgIHRlc3RfY2FzZXMgKz0gWworICAgICAgICAgICAgKCciJywgJ1VudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQnLCAwKSwKKyAgICAgICAgICAgICgnInNwYW0nLCAnVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCcsIDApLAorICAgICAgICBdCisgICAgICAgIGZvciBkYXRhLCBtc2csIGlkeCBpbiB0ZXN0X2Nhc2VzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChWYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgIHInXnswfTogbGluZSAxIGNvbHVtbiB7MX0gXChjaGFyIHsyfVwpJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgIHJlLmVzY2FwZShtc2cpLCBpZHggKyAxLCBpZHgpLAorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMsIGRhdGEpCisKKyAgICBkZWYgdGVzdF91bmV4cGVjdGVkX2RhdGEoc2VsZik6CisgICAgICAgIHRlc3RfY2FzZXMgPSBbCisgICAgICAgICAgICAoJ1ssJywgJ0V4cGVjdGluZyB2YWx1ZScsIDEpLAorICAgICAgICAgICAgKCd7InNwYW0iOlt9JywgJ0V4cGVjdGluZyB2YWx1ZScsIDkpLAorICAgICAgICAgICAgKCdbNDI6JywgIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgMyksCisgICAgICAgICAgICAoJ1s0MiAic3BhbSInLCAiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCA0KSwKKyAgICAgICAgICAgICgnWzQyLF0nLCAnRXhwZWN0aW5nIHZhbHVlJywgNCksCisgICAgICAgICAgICAoJ3sic3BhbSI6WzQyfScsICJFeHBlY3RpbmcgJywnIGRlbGltaXRlciIsIDExKSwKKyAgICAgICAgICAgICgnWyJdJywgJ1VudGVybWluYXRlZCBzdHJpbmcgc3RhcnRpbmcgYXQnLCAxKSwKKyAgICAgICAgICAgICgnWyJzcGFtIjonLCAiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCA3KSwKKyAgICAgICAgICAgICgnWyJzcGFtIixdJywgJ0V4cGVjdGluZyB2YWx1ZScsIDgpLAorICAgICAgICAgICAgKCd7OicsICdFeHBlY3RpbmcgcHJvcGVydHkgbmFtZSBlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzJywgMSksCisgICAgICAgICAgICAoJ3ssJywgJ0V4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMnLCAxKSwKKyAgICAgICAgICAgICgnezQyJywgJ0V4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMnLCAxKSwKKyAgICAgICAgICAgICgnW3tdJywgJ0V4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMnLCAyKSwKKyAgICAgICAgICAgICgneyJzcGFtIiwnLCAiRXhwZWN0aW5nICc6JyBkZWxpbWl0ZXIiLCA3KSwKKyAgICAgICAgICAgICgneyJzcGFtIn0nLCAiRXhwZWN0aW5nICc6JyBkZWxpbWl0ZXIiLCA3KSwKKyAgICAgICAgICAgICgnW3sic3BhbSJdJywgIkV4cGVjdGluZyAnOicgZGVsaW1pdGVyIiwgOCksCisgICAgICAgICAgICAoJ3sic3BhbSI6fScsICdFeHBlY3RpbmcgdmFsdWUnLCA4KSwKKyAgICAgICAgICAgICgnW3sic3BhbSI6XScsICdFeHBlY3RpbmcgdmFsdWUnLCA5KSwKKyAgICAgICAgICAgICgneyJzcGFtIjo0MiAiaGFtIicsICJFeHBlY3RpbmcgJywnIGRlbGltaXRlciIsIDExKSwKKyAgICAgICAgICAgICgnW3sic3BhbSI6NDJdJywgIkV4cGVjdGluZyAnLCcgZGVsaW1pdGVyIiwgMTEpLAorICAgICAgICAgICAgKCd7InNwYW0iOjQyLH0nLCAnRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcycsIDExKSwKKyAgICAgICAgXQorICAgICAgICBmb3IgZGF0YSwgbXNnLCBpZHggaW4gdGVzdF9jYXNlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICByJ157MH06IGxpbmUgMSBjb2x1bW4gezF9IFwoY2hhciB7Mn1cKScuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICByZS5lc2NhcGUobXNnKSwgaWR4ICsgMSwgaWR4KSwKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRzLCBkYXRhKQorCisgICAgZGVmIHRlc3RfZXh0cmFfZGF0YShzZWxmKToKKyAgICAgICAgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgICAgICgnW11dJywgJ0V4dHJhIGRhdGEnLCAyKSwKKyAgICAgICAgICAgICgne319JywgJ0V4dHJhIGRhdGEnLCAyKSwKKyAgICAgICAgICAgICgnW10sW10nLCAnRXh0cmEgZGF0YScsIDIpLAorICAgICAgICAgICAgKCd7fSx7fScsICdFeHRyYSBkYXRhJywgMiksCisgICAgICAgIF0KKyAgICAgICAgdGVzdF9jYXNlcyArPSBbCisgICAgICAgICAgICAoJzQyLCJzcGFtIicsICdFeHRyYSBkYXRhJywgMiksCisgICAgICAgICAgICAoJyJzcGFtIiw0MicsICdFeHRyYSBkYXRhJywgNiksCisgICAgICAgIF0KKyAgICAgICAgZm9yIGRhdGEsIG1zZywgaWR4IGluIHRlc3RfY2FzZXM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgcideezB9OiBsaW5lIDEgY29sdW1uIHsxfSAtIGxpbmUgMSBjb2x1bW4gezJ9JworICAgICAgICAgICAgICAgIHInIFwoY2hhciB7M30gLSB7NH1cKScuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICByZS5lc2NhcGUobXNnKSwgaWR4ICsgMSwgbGVuKGRhdGEpICsgMSwgaWR4LCBsZW4oZGF0YSkpLAorICAgICAgICAgICAgICAgIHNlbGYubG9hZHMsIGRhdGEpCisKKyAgICBkZWYgdGVzdF9saW5lY29sKHNlbGYpOgorICAgICAgICB0ZXN0X2Nhc2VzID0gWworICAgICAgICAgICAgKCchJywgMSwgMSwgMCksCisgICAgICAgICAgICAoJyAhJywgMSwgMiwgMSksCisgICAgICAgICAgICAoJ1xuIScsIDIsIDEsIDEpLAorICAgICAgICAgICAgKCdcbiAgXG5cbiAgICAgIScsIDQsIDYsIDEwKSwKKyAgICAgICAgXQorICAgICAgICBmb3IgZGF0YSwgbGluZSwgY29sLCBpZHggaW4gdGVzdF9jYXNlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICByJ15FeHBlY3RpbmcgdmFsdWU6IGxpbmUgezB9IGNvbHVtbiB7MX0nCisgICAgICAgICAgICAgICAgcicgXChjaGFyIHsyfVwpJCcuZm9ybWF0KGxpbmUsIGNvbCwgaWR4KSwKKyAgICAgICAgICAgICAgICBzZWxmLmxvYWRzLCBkYXRhKQogCiBjbGFzcyBUZXN0UHlGYWlsKFRlc3RGYWlsLCBQeVRlc3QpOiBwYXNzCiBjbGFzcyBUZXN0Q0ZhaWwoVGVzdEZhaWwsIENUZXN0KTogcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvanNvbl90ZXN0cy90ZXN0X2luZGVudC5weSBiL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9pbmRlbnQucHkKaW5kZXggNGM3MDY0Ni4uNGViNGY4OSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvanNvbl90ZXN0cy90ZXN0X2luZGVudC5weQorKysgYi9MaWIvdGVzdC9qc29uX3Rlc3RzL3Rlc3RfaW5kZW50LnB5CkBAIC0zMiw2ICszMiw4IEBACiAgICAgICAgIGQxID0gc2VsZi5kdW1wcyhoKQogICAgICAgICBkMiA9IHNlbGYuZHVtcHMoaCwgaW5kZW50PTIsIHNvcnRfa2V5cz1UcnVlLCBzZXBhcmF0b3JzPSgnLCcsICc6ICcpKQogICAgICAgICBkMyA9IHNlbGYuZHVtcHMoaCwgaW5kZW50PSdcdCcsIHNvcnRfa2V5cz1UcnVlLCBzZXBhcmF0b3JzPSgnLCcsICc6ICcpKQorICAgICAgICBkNCA9IHNlbGYuZHVtcHMoaCwgaW5kZW50PTIsIHNvcnRfa2V5cz1UcnVlKQorICAgICAgICBkNSA9IHNlbGYuZHVtcHMoaCwgaW5kZW50PSdcdCcsIHNvcnRfa2V5cz1UcnVlKQogCiAgICAgICAgIGgxID0gc2VsZi5sb2FkcyhkMSkKICAgICAgICAgaDIgPSBzZWxmLmxvYWRzKGQyKQpAQCAtNDIsNiArNDQsOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGgzLCBoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQyLCBleHBlY3QuZXhwYW5kdGFicygyKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkMywgZXhwZWN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQ0LCBkMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkNSwgZDMpCiAKICAgICBkZWYgdGVzdF9pbmRlbnQwKHNlbGYpOgogICAgICAgICBoID0gezM6IDF9CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9rZXljZXJ0My5wZW0gYi9MaWIvdGVzdC9rZXljZXJ0My5wZW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJmYTYyYwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L2tleWNlcnQzLnBlbQpAQCAtMCwwICsxLDczIEBACistLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KK01JSUNkZ0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQW1Bd2dnSmNBZ0VBQW9HQkFNTGdEMGtBS0RiNWNGeVAKK2pid05mUjVDdGV3ZFhDK2tNWEFXRDhETHhpVFR2aE1XN3FWbmx3T20zNm1abHN6SEt2c1JmMDVsVDRwZWdpRk0KKzl6MmoxT2xhTitjaS9YN05VMjJUTk42Y3JZU2lONzdGallKUDQ2NGo4NzZuZFN4eUQrcnp5czM4NlQrMXIxYVoKK2FnZ0Vka2oxVHNTc3YxeldJWUtsUElqbHZodXhBZ01CQUFFQ2dZQTBhSCtUMlZmM1dPUHY4S2RrY0pnNmdDUmUKK3lKS1hPV2dXUmNpY3gvQ1V6T0VzVHhtRklEUEx4cUFXQTNrN3YwQiszdmpHdzVZOWx5Y1YvNVhxWE5vUUkxNGoKK3kwOWlOc3VtZHMxM3U1QUtrR2RUSm5aaFE3VUtkb1ZIZnVQNDRaZE92L3JKNS9WRDZGNHpXeXdwZTkwcGNiSysKK0FXRFZ0dXNnR1FCU2llRWwxUUpCQU95VnJVRzVsMnlvVUJ0ZDJ6ci9raUdtL0RZeVhsSXRoUU8vQTMvTG5nRFcKKzUveWRHeFZzVDdsQVZPZ0Nzb1QrMEw0ZWZUaDkwUGp6VzhMUFFyUEJXVk1DUVFEUzNoL0Z0WVlkNWxmeitGTkwKKzlDRWUxRjF3OWw4UDc0OXVOVUQwZzMxN3p2MXRhdElxVkNzUVdIZlZITmRWdmZRK3ZTRnczOE9PUk8wMFhxczkKKzFHSnJBa0Jrb1hYRWt4Q1pveTRQdGVoZU8vOElXV0xHR3I2TDdkaTZNekZsMWxJcXdUNkQ4TDlvYVYydnluRlQKK0RuS29wMHBhMDlVbmhqeXc1N0tNTm1TRTJTVUpBa0VBcmxvVEV6cGdSbUNxNElLMi9OcENlR2RIUzV1cVJsYmgKKzFWSWEveEdwczdFV1FsNU1uOHN3UURlbC9ZUDNXR0hUamZ4N3BnU2VnUWZreWFSdEdwWjlPUUpBYTlWdW1qOG0KK0pBQXRJMEJuZ2E4aGdReDdCaFRRWTRDYWREeHlpUkdPR1lod1V6WVZDcWtiMnNiVlJIOUhud1VhSlQ3Y1dCWTMKK1JuSmRIT01YV2VtNy93PT0KKy0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KK0NlcnRpZmljYXRlOgorICAgIERhdGE6CisgICAgICAgIFZlcnNpb246IDEgKDB4MCkKKyAgICAgICAgU2VyaWFsIE51bWJlcjogMTI3MjMzNDI2MTI3MjE0NDMyODEgKDB4YjA5MjY0YjFmMmRhMjFkMSkKKyAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGExV2l0aFJTQUVuY3J5cHRpb24KKyAgICAgICAgSXNzdWVyOiBDPVhZLCBPPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIENBLCBDTj1vdXItY2Etc2VydmVyCisgICAgICAgIFZhbGlkaXR5CisgICAgICAgICAgICBOb3QgQmVmb3JlOiBKYW4gIDQgMTk6NDc6MDcgMjAxMyBHTVQKKyAgICAgICAgICAgIE5vdCBBZnRlciA6IE5vdiAxMyAxOTo0NzowNyAyMDIyIEdNVAorICAgICAgICBTdWJqZWN0OiBDPVhZLCBMPUNhc3RsZSBBbnRocmF4LCBPPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBDTj1sb2NhbGhvc3QKKyAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86CisgICAgICAgICAgICBQdWJsaWMgS2V5IEFsZ29yaXRobTogcnNhRW5jcnlwdGlvbgorICAgICAgICAgICAgICAgIFB1YmxpYy1LZXk6ICgxMDI0IGJpdCkKKyAgICAgICAgICAgICAgICBNb2R1bHVzOgorICAgICAgICAgICAgICAgICAgICAwMDpjMjplMDowZjo0OTowMDoyODozNjpmOTo3MDo1Yzo4Zjo4ZDpiYzowZDoKKyAgICAgICAgICAgICAgICAgICAgN2Q6MWU6NDI6YjU6ZWM6MWQ6NWM6MmY6YTQ6MzE6NzA6MTY6MGY6YzA6Y2I6CisgICAgICAgICAgICAgICAgICAgIGM2OjI0OmQzOmJlOjEzOjE2OmVlOmE1OjY3Ojk3OjAzOmE2OmRmOmE5Ojk5OgorICAgICAgICAgICAgICAgICAgICA5NjpjYzpjNzoyYTpmYjoxMTo3Zjo0ZTo2NTo0Zjo4YTo1ZTo4MjoyMTo0YzoKKyAgICAgICAgICAgICAgICAgICAgZjc6M2Q6YTM6ZDQ6ZTk6NWE6Mzc6ZTc6MjI6ZmQ6N2U6Y2Q6NTM6NmQ6OTM6CisgICAgICAgICAgICAgICAgICAgIDM0OmRlOjljOmFkOjg0OmEyOjM3OmJlOmM1OjhkOjgyOjRmOmUzOmFlOjIzOgorICAgICAgICAgICAgICAgICAgICBmMzpiZTphNzo3NToyYzo3MjowZjplYTpmMzpjYTpjZDpmYzplOTozZjpiNToKKyAgICAgICAgICAgICAgICAgICAgYWY6NTY6OTk6NmE6MDg6MDQ6NzY6NDg6ZjU6NGU6YzQ6YWM6YmY6NWM6ZDY6CisgICAgICAgICAgICAgICAgICAgIDIxOjgyOmE1OjNjOjg4OmU1OmJlOjFiOmIxCisgICAgICAgICAgICAgICAgRXhwb25lbnQ6IDY1NTM3ICgweDEwMDAxKQorICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTFXaXRoUlNBRW5jcnlwdGlvbgorICAgICAgICAgMmY6NDI6NWY6YTM6MDk6MmM6ZmE6NTE6ODg6Yzc6Mzc6N2Y6ZWE6MGU6NjM6ZjA6YTI6OWE6CisgICAgICAgICBlNTo1YTplMjpjODoyMDpmMDozZjo2MDpiYzpjODowZjpiNjpjNjo3NjpjZTpkYjo4Mzo5MzoKKyAgICAgICAgIGY1OmEzOjMzOjY3OjAxOjhlOjA0OmNkOjAwOjlhOjczOmZkOmYzOjM1Ojg2OmZhOmQ3OjEzOgorICAgICAgICAgZTI6NDY6YzY6OWQ6YzA6Mjk6NTM6ZDQ6YTk6OTA6Yjg6Nzc6NGI6ZTY6ODM6NzY6ZTQ6OTI6CisgICAgICAgICBkNjo5Yzo1MDpjZjo0MzpkMDpjNjowMTo3Nzo2MTo5YTpkZTo5Yjo3MDpmNzo3MjpjZDo1OToKKyAgICAgICAgIDAwOjMxOjY5OmQ5OmI0OmNhOjA2OjljOjZkOmMzOmM3OjgwOjhjOjY4OmU2OmI1OmEyOmY4OgorICAgICAgICAgZWY6MWQ6YmI6MTY6OWY6Nzc6Nzc6ZWY6ODc6NjI6MjI6OWI6NGQ6Njk6YTQ6M2E6MWE6ZjE6CisgICAgICAgICAyMTo1ZTo4YzozMjphYzo5MjpmZDoxNTo2YjoxODpjMjo3ZjoxNTowZDo5ODozMDpjYTo3NToKKyAgICAgICAgIDhmOjFhOjcxOmRmOmRhOjFkOmIyOmVmOjlhOmU4OjJkOjJlOjAyOmZkOjRhOjNjOmFhOjk2OgorICAgICAgICAgMGI6MDY6NWQ6MzU6YjM6M2Q6MjQ6ODc6NGI6ZTA6YjA6NTg6NjA6MmY6NDU6YWM6MmU6NDg6CisgICAgICAgICA4YTpiMDo5OToxMDo2NToyNzpmZjpjYzpiMTpkODpmZDpiZDoyNjo2YjpiOTowYzowNToyYToKKyAgICAgICAgIGY0OjQ1OjYzOjM1OjUxOjA3OmVkOjgzOjg1OmZlOjZmOjY5OmNiOmJiOjQwOmE4OmFlOmI2OgorICAgICAgICAgM2I6NTY6NGE6MmQ6YTQ6ZWQ6NmQ6MTE6MmM6NGQ6ZWQ6MTc6MjQ6ZmQ6NDc6YmM6ZDM6NDE6CisgICAgICAgICBhMjpkMzowNjpmZTowYzo5MDpkODpkODo5NDoyNjpjNDpmZjpjYzphMTpkODo0Mjo3NzplYjoKKyAgICAgICAgIGZjOmE5Ojk0OjcxCistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KK01JSUNwRENDQVl3Q0NRQ3drbVN4OHRvaDBUQU5CZ2txaGtpRzl3MEJBUVVGQURCTk1Rc3dDUVlEVlFRR0V3SlkKK1dURW1NQ1FHQTFVRUNnd2RVSGwwYUc5dUlGTnZablIzWVhKbElFWnZkVzVrWVhScGIyNGdRMEV4RmpBVUJnTlYKK0JBTU1EVzkxY2kxallTMXpaWEoyWlhJd0hoY05NVE13TVRBME1UazBOekEzV2hjTk1qSXhNVEV6TVRrME56QTMKK1dqQmZNUXN3Q1FZRFZRUUdFd0pZV1RFWE1CVUdBMVVFQnhNT1EyRnpkR3hsSUVGdWRHaHlZWGd4SXpBaEJnTlYKK0JBb1RHbEI1ZEdodmJpQlRiMlowZDJGeVpTQkdiM1Z1WkdGMGFXOXVNUkl3RUFZRFZRUURFd2xzYjJOaGJHaHYKK2MzUXdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTUxnRDBrQUtEYjVjRnlQamJ3TmZSNUMKK3Rld2RYQytrTVhBV0Q4REx4aVRUdmhNVzdxVm5sd09tMzZtWmxzekhLdnNSZjA1bFQ0cGVnaUZNOXoyajFPbGEKK04rY2kvWDdOVTIyVE5ONmNyWVNpTjc3RmpZSlA0NjRqODc2bmRTeHlEK3J6eXMzODZUKzFyMWFaYWdnRWRrajEKK1RzU3N2MXpXSVlLbFBJamx2aHV4QWdNQkFBRXdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUJBQzlDWDZNSkxQcFIKK2lNYzNmK29PWS9DaW11VmE0c2dnOEQ5Z3ZNZ1B0c1oyenR1RGsvV2pNMmNCamdUTkFKcHovZk0xaHZyWEUrSkcKK3hwM0FLVlBVcVpDNGQwdm1nM2Jra3RhY1VNOUQwTVlCZDJHYTNwdHc5M0xOV1FBeGFkbTB5Z2FjYmNQSGdJeG8KKzVyV2krTzhkdXhhZmQzZnZoMklpbTAxcHBEb2E4U0ZlakRLc2t2MFZheGpDZnhVTm1EREtkWThhY2QvYUhiTHYKK211Z3RMZ0w5U2p5cWxnc0dYVFd6UFNTSFMrQ3dXR0F2UmF3dVNJcXdtUkJsSi8vTXNkajl2U1pydVF3Rkt2UkYKK1l6VlJCKzJEaGY1dmFjdTdRS2l1dGp0V1NpMms3VzBSTEUzdEZ5VDlSN3pUUWFMVEJ2NE1rTmpZbENiRS84eWgKKzJFSjM2L3lwbEhFPQorLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3Qva2V5Y2VydDQucGVtIGIvTGliL3Rlc3Qva2V5Y2VydDQucGVtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMzU1YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9rZXljZXJ0NC5wZW0KQEAgLTAsMCArMSw3MyBAQAorLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCitNSUlDZGdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FtQXdnZ0pjQWdFQUFvR0JBSzVVUWlNSTVWa05zMlF2CitMN2dVYWlEZEZldk5VWFJqVTRESEFlM1p6ellMWk5FNjloOWdPOVZDU1MxNnRKNWZUNVZFdTBFWnlHcjBlM1YyCitOa1gwWm9VMEhjL1VhWTRxeDdMSG1uNVNZWnBJeGhKbmtmN1N5SEpLMXpVYUdsVTAvTHhZcUl1R0N0RjVkcXgxCitMMk9RaEV4MUdNNlJ5ZEhkZ1g2OUc2NExYY1k1QWdNQkFBRUNnWUFoc1JNZkprYjlFUkxNbC9vRy81c0xRdTlMCitwV0RLdDYrWndkeHpsWmJnZ1E4NUNNWXNoakxLSW9kMkRMTC9zTGYyeDFQUlh5UkcxMzFNMUUzazh6a2t6NmRlCitSMXVEcklOL3g5MWl1WXpmTFFaR2g4Yk1ZN1lqZDJlb3JvYTZSLzdEanBFbEdlakx4T0FhRFdPMFNUMklGUXk5CitteVRHUzJqU005N3djWGZzU1FKQkFOUDNqZWxKb1M1WDZCUmpUU25lWTIxd2NvY3hWdVFoOHBYcEVyQUxWTnNUCitkcnJGVGVhQnVacDdLdmJ0bklNNWcyV1JOdmF4TFpsQVkvaFhQSnZpNm5jQ1FRRFNpeDFjZWJtbDZFbVBsRVpTCitNbThnd0kyRjl1ZlV1bndKbUJKY3o4MjZEbzBaTkdCeVdEQU0vSlFaSDRGWDRHZkFGTnVqOFBVYitHUWZhZGt4CitpMURQQWtFQTBsVnNOSG9qdnVEc0lvOEhHdXphck5aUVQyYmVXakoxamR4aDl0N0hyVHg3TElwczZyYi9maE9LCitaczBSNmdWQUphRWJjV0FQWjJ0RnlFQ0luQWRuc1FKQVVqYWVYWGp1eEZrak9GeW01UHZxcHZocGl2RXg3OEJ1CitKUFRyM3JBS1htZkdNeHhmdU9hMHhLMXdTeXNoUDZaUi9SQm4vK2xjWFBLdWJoSFFET2Vnd3dKQUpGMURCUW5OCisrL3RMbU9QVUx0RHdmUDRaaXhuKy84R21HT2FoRm9SY3U2VklHSG1SaWxKVG42TU9CdXR3N0dsdjJZZGVDNmwvCitlODNHcTZmZkxWZktOUT09CistLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCitDZXJ0aWZpY2F0ZToKKyAgICBEYXRhOgorICAgICAgICBWZXJzaW9uOiAxICgweDApCisgICAgICAgIFNlcmlhbCBOdW1iZXI6IDEyNzIzMzQyNjEyNzIxNDQzMjgyICgweGIwOTI2NGIxZjJkYTIxZDIpCisgICAgU2lnbmF0dXJlIEFsZ29yaXRobTogc2hhMVdpdGhSU0FFbmNyeXB0aW9uCisgICAgICAgIElzc3VlcjogQz1YWSwgTz1QeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiBDQSwgQ049b3VyLWNhLXNlcnZlcgorICAgICAgICBWYWxpZGl0eQorICAgICAgICAgICAgTm90IEJlZm9yZTogSmFuICA0IDE5OjQ3OjA3IDIwMTMgR01UCisgICAgICAgICAgICBOb3QgQWZ0ZXIgOiBOb3YgMTMgMTk6NDc6MDcgMjAyMiBHTVQKKyAgICAgICAgU3ViamVjdDogQz1YWSwgTD1DYXN0bGUgQW50aHJheCwgTz1QeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiwgQ049ZmFrZWhvc3RuYW1lCisgICAgICAgIFN1YmplY3QgUHVibGljIEtleSBJbmZvOgorICAgICAgICAgICAgUHVibGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24KKyAgICAgICAgICAgICAgICBQdWJsaWMtS2V5OiAoMTAyNCBiaXQpCisgICAgICAgICAgICAgICAgTW9kdWx1czoKKyAgICAgICAgICAgICAgICAgICAgMDA6YWU6NTQ6NDI6MjM6MDg6ZTU6NTk6MGQ6YjM6NjQ6MmY6MmY6Yjg6MTQ6CisgICAgICAgICAgICAgICAgICAgIDZhOjIwOmRkOjE1OmViOmNkOjUxOjc0OjYzOjUzOjgwOmM3OjAxOmVkOmQ5OgorICAgICAgICAgICAgICAgICAgICBjZjozNjowYjo2NDpkMTozYTpmNjoxZjo2MDozYjpkNTo0Mjo0OToyZDo3YToKKyAgICAgICAgICAgICAgICAgICAgYjQ6OWU6NWY6NGY6OTU6NDQ6YmI6NDE6MTk6Yzg6NmE6ZjQ6N2I6NzU6NzY6CisgICAgICAgICAgICAgICAgICAgIDM2OjQ1OmY0OjY2Ojg1OjM0OjFkOmNmOmQ0OjY5OjhlOjJhOmM3OmIyOmM3OgorICAgICAgICAgICAgICAgICAgICA5YTo3ZTo1Mjo2MTo5YTo0ODpjNjoxMjo2Nzo5MTpmZTpkMjpjODo3Mjo0YToKKyAgICAgICAgICAgICAgICAgICAgZDc6MzU6MWE6MWE6NTU6MzQ6ZmM6YmM6NTg6YTg6OGI6ODY6MGE6ZDE6Nzk6CisgICAgICAgICAgICAgICAgICAgIDc2OmFjOjc1OjJmOjYzOjkwOjg0OjRjOjc1OjE4OmNlOjkxOmM5OmQxOmRkOgorICAgICAgICAgICAgICAgICAgICA4MTo3ZTpiZDoxYjphZTowYjo1ZDpjNjozOQorICAgICAgICAgICAgICAgIEV4cG9uZW50OiA2NTUzNyAoMHgxMDAwMSkKKyAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGExV2l0aFJTQUVuY3J5cHRpb24KKyAgICAgICAgIGFkOjQ1OjhhOjhlOmVmOmM2OmVmOjA0OjQxOjVjOjJjOjRhOjg0OmRjOjAyOjc2OjBjOmQwOgorICAgICAgICAgNjY6MGY6ZjA6MTY6MDQ6NTg6NGQ6ZmQ6Njg6Yjc6Yjg6ZDM6YTg6NDE6YTU6NWM6M2M6NmY6CisgICAgICAgICA2NTozYzpkMTpmODpjZTo0MzozNTplNzo0MTo1Zjo1MzozZDpjOToyYzpjMzo3ZDpmYzo1NjoKKyAgICAgICAgIDRhOmZhOjQ3Ojc3OjM4OjlkOmJiOjk3OjI4OjBhOjNiOjkxOjE5OjdmOmJjOjc0OmFlOjE1OgorICAgICAgICAgNmI6YmQ6MjA6MzY6Njc6NDU6YTU6MWU6Nzk6ZDc6NzU6ZTY6ODk6NWM6NmQ6NTQ6ODQ6ZDE6CisgICAgICAgICA5NTpkNzphNzpiNDozMzozYzphZjozNzpjNDo3OTo4Zjo1ZTo3NTpkYzo3NTpjMjoxODpmYjoKKyAgICAgICAgIDYxOjZmOjJkOmRjOjM4OjY1OjViOmJhOjY3OjI4OmQwOjg4OmQ3OjhkOmI5OjIzOjVhOjhlOgorICAgICAgICAgZTg6YzY6YmI6ZGI6Y2U6ZDU6Yjg6NDE6MmE6Y2U6OTM6MDg6YjY6OTU6YWQ6MzQ6MjA6MTg6CisgICAgICAgICBkNTozYjozNzo1Mjo3NDo1MDowYjowNzoyYzpiMDo2ZDphNDo0Yzo3YjpmNDplMDpmZDpkMToKKyAgICAgICAgIGFmOjE3OmFhOjIwOmNkOjYyOmUzOmYwOjlkOjM3OjY5OmRiOjQxOmJkOmQ0OjFjOmZiOjUzOgorICAgICAgICAgMjA6ZGE6ODg6OWQ6NzY6MjY6Njc6Y2U6MDE6OTA6YTc6ODA6MWQ6YTk6NWI6Mzk6NzM6Njg6CisgICAgICAgICA1NDowYTpkMToyYTowMzoxYjo4ZjozYzo0Mzo1ZDo1ZDpjNDo1MTpmMTphNzplNzoxMTpkYToKKyAgICAgICAgIDMxOjJjOjQ5OjA2OmFmOjA0OmY0OmI4OjNjOjk5OmM0OjIwOmI5OjA2OjM2OmEyOjAwOjkyOgorICAgICAgICAgNjE6MWQ6MGM6NmQ6MjQ6MDU6ZTI6ODI6ZTE6NDc6ZGI6YTA6NWY6YmE6Yjk6ZmI6YmE6ZmE6CisgICAgICAgICA0OToxMjoxZTpjZQorLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCitNSUlDcHpDQ0FZOENDUUN3a21TeDh0b2gwakFOQmdrcWhraUc5dzBCQVFVRkFEQk5NUXN3Q1FZRFZRUUdFd0pZCitXVEVtTUNRR0ExVUVDZ3dkVUhsMGFHOXVJRk52Wm5SM1lYSmxJRVp2ZFc1a1lYUnBiMjRnUTBFeEZqQVVCZ05WCitCQU1NRFc5MWNpMWpZUzF6WlhKMlpYSXdIaGNOTVRNd01UQTBNVGswTnpBM1doY05Nakl4TVRFek1UazBOekEzCitXakJpTVFzd0NRWURWUVFHRXdKWVdURVhNQlVHQTFVRUJ4TU9RMkZ6ZEd4bElFRnVkR2h5WVhneEl6QWhCZ05WCitCQW9UR2xCNWRHaHZiaUJUYjJaMGQyRnlaU0JHYjNWdVpHRjBhVzl1TVJVd0V3WURWUVFERXd4bVlXdGxhRzl6CitkRzVoYldVd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFLNVVRaU1JNVZrTnMyUXZMN2dVCithaURkRmV2TlVYUmpVNERIQWUzWnp6WUxaTkU2OWg5Z085VkNTUzE2dEo1ZlQ1VkV1MEVaeUdyMGUzVjJOa1gwCitab1UwSGMvVWFZNHF4N0xIbW41U1lacEl4aEpua2Y3U3lISksxelVhR2xVMC9MeFlxSXVHQ3RGNWRxeDFMMk9RCitoRXgxR002UnlkSGRnWDY5RzY0TFhjWTVBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFLMUZpbzd2Cit4dThFUVZ3c1NvVGNBbllNMEdZUDhCWUVXRTM5YUxlNDA2aEJwVnc4YjJVODBmak9RelhuUVY5VFBja3N3MzM4CitWa3I2UjNjNG5idVhLQW83a1JsL3ZIU3VGV3U5SURablJhVWVlZGQxNW9sY2JWU0UwWlhYcDdRelBLODN4SG1QCitYblhjZGNJWSsyRnZMZHc0WlZ1Nlp5alFpTmVOdVNOYWp1akd1OXZPMWJoQktzNlRDTGFWclRRZ0dOVTdOMUowCitVQXNITExCdHBFeDc5T0Q5MGE4WHFpRE5ZdVB3blRkcDIwRzkxQno3VXlEYWlKMTJKbWZPQVpDbmdCMnBXemx6CithRlFLMFNvREc0ODhRMTFkeEZIeHArY1IyakVzU1FhdkJQUzRQSm5FSUxrR05xSUFrbUVkREcwa0JlS0M0VWZiCitvRis2dWZ1Nitra1NIczQ9CistLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9tYWtlX3NzbF9jZXJ0cy5weSBiL0xpYi90ZXN0L21ha2Vfc3NsX2NlcnRzLnB5CmluZGV4IDQ4ZDJlNTcuLmY2MzA4MTMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L21ha2Vfc3NsX2NlcnRzLnB5CisrKyBiL0xpYi90ZXN0L21ha2Vfc3NsX2NlcnRzLnB5CkBAIC0yLDYgKzIsNyBAQAogYW5kIGZyaWVuZHMuIiIiCiAKIGltcG9ydCBvcworaW1wb3J0IHNodXRpbAogaW1wb3J0IHN5cwogaW1wb3J0IHRlbXBmaWxlCiBmcm9tIHN1YnByb2Nlc3MgaW1wb3J0ICoKQEAgLTIwLDExICsyMSw1MiBAQAogCiAgICAgW3JlcV94NTA5X2V4dGVuc2lvbnNdCiAgICAgc3ViamVjdEFsdE5hbWUgICAgICAgICA9IEROUzp7aG9zdG5hbWV9CisKKyAgICBbIGNhIF0KKyAgICBkZWZhdWx0X2NhICAgICAgPSBDQV9kZWZhdWx0CisKKyAgICBbIENBX2RlZmF1bHQgXQorICAgIGRpciA9IGNhZGlyCisgICAgZGF0YWJhc2UgID0gJGRpci9pbmRleC50eHQKKyAgICBkZWZhdWx0X21kID0gc2hhMQorICAgIGRlZmF1bHRfZGF5cyA9IDM2MDAKKyAgICBjZXJ0aWZpY2F0ZSA9IHB5Y2FjZXJ0LnBlbQorICAgIHByaXZhdGVfa2V5ID0gcHljYWtleS5wZW0KKyAgICBzZXJpYWwgICAgPSAkZGlyL3NlcmlhbAorICAgIFJBTkRGSUxFICA9ICRkaXIvLnJhbmQKKworICAgIHBvbGljeSAgICAgICAgICA9IHBvbGljeV9tYXRjaAorCisgICAgWyBwb2xpY3lfbWF0Y2ggXQorICAgIGNvdW50cnlOYW1lICAgICAgICAgICAgID0gbWF0Y2gKKyAgICBzdGF0ZU9yUHJvdmluY2VOYW1lICAgICA9IG9wdGlvbmFsCisgICAgb3JnYW5pemF0aW9uTmFtZSAgICAgICAgPSBtYXRjaAorICAgIG9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgID0gb3B0aW9uYWwKKyAgICBjb21tb25OYW1lICAgICAgICAgICAgICA9IHN1cHBsaWVkCisgICAgZW1haWxBZGRyZXNzICAgICAgICAgICAgPSBvcHRpb25hbAorCisgICAgWyBwb2xpY3lfYW55dGhpbmcgXQorICAgIGNvdW50cnlOYW1lICAgPSBvcHRpb25hbAorICAgIHN0YXRlT3JQcm92aW5jZU5hbWUgPSBvcHRpb25hbAorICAgIGxvY2FsaXR5TmFtZSAgICA9IG9wdGlvbmFsCisgICAgb3JnYW5pemF0aW9uTmFtZSAgPSBvcHRpb25hbAorICAgIG9yZ2FuaXphdGlvbmFsVW5pdE5hbWUgID0gb3B0aW9uYWwKKyAgICBjb21tb25OYW1lICAgID0gc3VwcGxpZWQKKyAgICBlbWFpbEFkZHJlc3MgICAgPSBvcHRpb25hbAorCisKKyAgICBbIHYzX2NhIF0KKworICAgIHN1YmplY3RLZXlJZGVudGlmaWVyPWhhc2gKKyAgICBhdXRob3JpdHlLZXlJZGVudGlmaWVyPWtleWlkOmFsd2F5cyxpc3N1ZXIKKyAgICBiYXNpY0NvbnN0cmFpbnRzID0gQ0E6dHJ1ZQorCiAgICAgIiIiCiAKIGhlcmUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKIAotZGVmIG1ha2VfY2VydF9rZXkoaG9zdG5hbWUpOgorZGVmIG1ha2VfY2VydF9rZXkoaG9zdG5hbWUsIHNpZ249RmFsc2UpOgorICAgIHByaW50KCJjcmVhdGluZyBjZXJ0IGZvciAiICsgaG9zdG5hbWUpCiAgICAgdGVtcG5hbWVzID0gW10KICAgICBmb3IgaSBpbiByYW5nZSgzKToKICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoZGVsZXRlPUZhbHNlKSBhcyBmOgpAQCAtMzMsMTAgKzc1LDI1IEBACiAgICAgdHJ5OgogICAgICAgICB3aXRoIG9wZW4ocmVxX2ZpbGUsICd3JykgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUocmVxX3RlbXBsYXRlLmZvcm1hdChob3N0bmFtZT1ob3N0bmFtZSkpCi0gICAgICAgIGFyZ3MgPSBbJ3JlcScsICctbmV3JywgJy1kYXlzJywgJzM2NTAnLCAnLW5vZGVzJywgJy14NTA5JywKKyAgICAgICAgYXJncyA9IFsncmVxJywgJy1uZXcnLCAnLWRheXMnLCAnMzY1MCcsICctbm9kZXMnLAogICAgICAgICAgICAgICAgICctbmV3a2V5JywgJ3JzYToxMDI0JywgJy1rZXlvdXQnLCBrZXlfZmlsZSwKLSAgICAgICAgICAgICAgICAnLW91dCcsIGNlcnRfZmlsZSwgJy1jb25maWcnLCByZXFfZmlsZV0KKyAgICAgICAgICAgICAgICAnLWNvbmZpZycsIHJlcV9maWxlXQorICAgICAgICBpZiBzaWduOgorICAgICAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoZGVsZXRlPUZhbHNlKSBhcyBmOgorICAgICAgICAgICAgICAgIHRlbXBuYW1lcy5hcHBlbmQoZi5uYW1lKQorICAgICAgICAgICAgICAgIHJlcWZpbGUgPSBmLm5hbWUKKyAgICAgICAgICAgIGFyZ3MgKz0gWyctb3V0JywgcmVxZmlsZSBdCisKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGFyZ3MgKz0gWycteDUwOScsICctb3V0JywgY2VydF9maWxlIF0KICAgICAgICAgY2hlY2tfY2FsbChbJ29wZW5zc2wnXSArIGFyZ3MpCisKKyAgICAgICAgaWYgc2lnbjoKKyAgICAgICAgICAgIGFyZ3MgPSBbJ2NhJywgJy1jb25maWcnLCByZXFfZmlsZSwgJy1vdXQnLCBjZXJ0X2ZpbGUsICctb3V0ZGlyJywgJ2NhZGlyJywKKyAgICAgICAgICAgICAgICAgICAgJy1wb2xpY3knLCAncG9saWN5X2FueXRoaW5nJywgJy1iYXRjaCcsICctaW5maWxlcycsIHJlcWZpbGUgXQorICAgICAgICAgICAgY2hlY2tfY2FsbChbJ29wZW5zc2wnXSArIGFyZ3MpCisKKwogICAgICAgICB3aXRoIG9wZW4oY2VydF9maWxlLCAncicpIGFzIGY6CiAgICAgICAgICAgICBjZXJ0ID0gZi5yZWFkKCkKICAgICAgICAgd2l0aCBvcGVuKGtleV9maWxlLCAncicpIGFzIGY6CkBAIC00Niw2ICsxMDMsMzIgQEAKICAgICAgICAgZm9yIG5hbWUgaW4gdGVtcG5hbWVzOgogICAgICAgICAgICAgb3MucmVtb3ZlKG5hbWUpCiAKK1RNUF9DQURJUiA9ICdjYWRpcicKKworZGVmIHVubWFrZV9jYSgpOgorICAgIHNodXRpbC5ybXRyZWUoVE1QX0NBRElSKQorCitkZWYgbWFrZV9jYSgpOgorICAgIG9zLm1rZGlyKFRNUF9DQURJUikKKyAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKCdjYWRpcicsJ2luZGV4LnR4dCcpLCdhKycpIGFzIGY6CisgICAgICAgIHBhc3MgIyBlbXB0eSBmaWxlCisgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbignY2FkaXInLCdpbmRleC50eHQuYXR0cicpLCd3KycpIGFzIGY6CisgICAgICAgIGYud3JpdGUoJ3VuaXF1ZV9zdWJqZWN0ID0gbm8nKQorCisgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoInciKSBhcyB0OgorICAgICAgICB0LndyaXRlKHJlcV90ZW1wbGF0ZS5mb3JtYXQoaG9zdG5hbWU9J291ci1jYS1zZXJ2ZXInKSkKKyAgICAgICAgdC5mbHVzaCgpCisgICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgZjoKKyAgICAgICAgICAgIGFyZ3MgPSBbJ3JlcScsICctbmV3JywgJy1kYXlzJywgJzM2NTAnLCAnLWV4dGVuc2lvbnMnLCAndjNfY2EnLCAnLW5vZGVzJywKKyAgICAgICAgICAgICAgICAgICAgJy1uZXdrZXknLCAncnNhOjIwNDgnLCAnLWtleW91dCcsICdweWNha2V5LnBlbScsCisgICAgICAgICAgICAgICAgICAgICctb3V0JywgZi5uYW1lLAorICAgICAgICAgICAgICAgICAgICAnLXN1YmonLCAnL0M9WFkvTD1DYXN0bGUgQW50aHJheC9PPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIENBL0NOPW91ci1jYS1zZXJ2ZXInXQorICAgICAgICAgICAgY2hlY2tfY2FsbChbJ29wZW5zc2wnXSArIGFyZ3MpCisgICAgICAgICAgICBhcmdzID0gWydjYScsICctY29uZmlnJywgdC5uYW1lLCAnLWNyZWF0ZV9zZXJpYWwnLAorICAgICAgICAgICAgICAgICAgICAnLW91dCcsICdweWNhY2VydC5wZW0nLCAnLWJhdGNoJywgJy1vdXRkaXInLCBUTVBfQ0FESVIsCisgICAgICAgICAgICAgICAgICAgICcta2V5ZmlsZScsICdweWNha2V5LnBlbScsICctZGF5cycsICczNjUwJywKKyAgICAgICAgICAgICAgICAgICAgJy1zZWxmc2lnbicsICctZXh0ZW5zaW9ucycsICd2M19jYScsICctaW5maWxlcycsIGYubmFtZSBdCisgICAgICAgICAgICBjaGVja19jYWxsKFsnb3BlbnNzbCddICsgYXJncykKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBvcy5jaGRpcihoZXJlKQpAQCAtNTQsMTEgKzEzNywzNCBAQAogICAgICAgICBmLndyaXRlKGNlcnQpCiAgICAgd2l0aCBvcGVuKCdzc2xfa2V5LnBlbScsICd3JykgYXMgZjoKICAgICAgICAgZi53cml0ZShrZXkpCisgICAgcHJpbnQoInBhc3N3b3JkIHByb3RlY3Rpbmcgc3NsX2tleS5wZW0gaW4gc3NsX2tleS5wYXNzd2QucGVtIikKKyAgICBjaGVja19jYWxsKFsnb3BlbnNzbCcsJ3JzYScsJy1pbicsJ3NzbF9rZXkucGVtJywnLW91dCcsJ3NzbF9rZXkucGFzc3dkLnBlbScsJy1kZXMzJywnLXBhc3NvdXQnLCdwYXNzOnNvbWVwYXNzJ10pCisgICAgY2hlY2tfY2FsbChbJ29wZW5zc2wnLCdyc2EnLCctaW4nLCdzc2xfa2V5LnBlbScsJy1vdXQnLCdrZXljZXJ0LnBhc3N3ZC5wZW0nLCctZGVzMycsJy1wYXNzb3V0JywncGFzczpzb21lcGFzcyddKQorCiAgICAgd2l0aCBvcGVuKCdrZXljZXJ0LnBlbScsICd3JykgYXMgZjoKICAgICAgICAgZi53cml0ZShrZXkpCiAgICAgICAgIGYud3JpdGUoY2VydCkKKworICAgIHdpdGggb3Blbigna2V5Y2VydC5wYXNzd2QucGVtJywgJ2ErJykgYXMgZjoKKyAgICAgICAgZi53cml0ZShjZXJ0KQorCiAgICAgIyBGb3IgY2VydGlmaWNhdGUgbWF0Y2hpbmcgdGVzdHMKKyAgICBtYWtlX2NhKCkKICAgICBjZXJ0LCBrZXkgPSBtYWtlX2NlcnRfa2V5KCdmYWtlaG9zdG5hbWUnKQogICAgIHdpdGggb3Blbigna2V5Y2VydDIucGVtJywgJ3cnKSBhcyBmOgogICAgICAgICBmLndyaXRlKGtleSkKICAgICAgICAgZi53cml0ZShjZXJ0KQorCisgICAgY2VydCwga2V5ID0gbWFrZV9jZXJ0X2tleSgnbG9jYWxob3N0JywgVHJ1ZSkKKyAgICB3aXRoIG9wZW4oJ2tleWNlcnQzLnBlbScsICd3JykgYXMgZjoKKyAgICAgICAgZi53cml0ZShrZXkpCisgICAgICAgIGYud3JpdGUoY2VydCkKKworICAgIGNlcnQsIGtleSA9IG1ha2VfY2VydF9rZXkoJ2Zha2Vob3N0bmFtZScsIFRydWUpCisgICAgd2l0aCBvcGVuKCdrZXljZXJ0NC5wZW0nLCAndycpIGFzIGY6CisgICAgICAgIGYud3JpdGUoa2V5KQorICAgICAgICBmLndyaXRlKGNlcnQpCisKKyAgICB1bm1ha2VfY2EoKQorICAgIHByaW50KCJcblxuUGxlYXNlIGNoYW5nZSB0aGUgdmFsdWVzIGluIHRlc3Rfc3NsLnB5LCB0ZXN0X3BhcnNlX2NlcnQgZnVuY3Rpb24gcmVsYXRlZCB0byBub3RBZnRlcixub3RCZWZvcmUgYW5kIHNlcmlhbE51bWJlciIpCisgICAgY2hlY2tfY2FsbChbJ29wZW5zc2wnLCd4NTA5JywnLWluJywna2V5Y2VydC5wZW0nLCctZGF0ZXMnLCctc2VyaWFsJywnLW5vb3V0J10pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9tb2NrX3NvY2tldC5weSBiL0xpYi90ZXN0L21vY2tfc29ja2V0LnB5CmluZGV4IGQwOWU3OGMuLjhlZjBlYzggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L21vY2tfc29ja2V0LnB5CisrKyBiL0xpYi90ZXN0L21vY2tfc29ja2V0LnB5CkBAIC0xNDAsMTIgKzE0MCw4IEBACiAgICAgcmV0dXJuICIiCiAKIAotY2xhc3MgZ2FpZXJyb3IoRXhjZXB0aW9uKToKLSAgICBwYXNzCi0KLQotY2xhc3MgZXJyb3IoRXhjZXB0aW9uKToKLSAgICBwYXNzCitnYWllcnJvciA9IHNvY2tldF9tb2R1bGUuZ2FpZXJyb3IKK2Vycm9yID0gc29ja2V0X21vZHVsZS5lcnJvcgogCiAKICMgQ29uc3RhbnRzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9tdWx0aWJ5dGVjb2RlY19zdXBwb3J0LnB5IGIvTGliL3Rlc3QvbXVsdGlieXRlY29kZWNfc3VwcG9ydC5weQppbmRleCAyNmJhYzdiLi5kY2FhZTdiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9tdWx0aWJ5dGVjb2RlY19zdXBwb3J0LnB5CisrKyBiL0xpYi90ZXN0L211bHRpYnl0ZWNvZGVjX3N1cHBvcnQucHkKQEAgLTI4Miw3ICsyODIsNyBAQAogICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZS5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprdykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5vcGVuX21hcHBpbmdfZmlsZSgpLmNsb3NlKCkgIyB0ZXN0IGl0IHRvIHJlcG9ydCB0aGUgZXJyb3IgZWFybHkKLSAgICAgICAgZXhjZXB0IChJT0Vycm9yLCBIVFRQRXhjZXB0aW9uKToKKyAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBIVFRQRXhjZXB0aW9uKToKICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIkNvdWxkIG5vdCByZXRyaWV2ZSAiK3NlbGYubWFwZmlsZXVybCkKIAogICAgIGRlZiBvcGVuX21hcHBpbmdfZmlsZShzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3BpY2tsZXRlc3Rlci5weSBiL0xpYi90ZXN0L3BpY2tsZXRlc3Rlci5weQppbmRleCAzNDIzNDYyLi43ZTZlNzU4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9waWNrbGV0ZXN0ZXIucHkKKysrIGIvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5CkBAIC02MDEsMzAgKzYwMSw2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBzZWxmLmxvYWRzLCBiJ2cwXG5wMCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5sb2FkcyhiJygoS2R0cDBcbmhceDAwbC4pKScpLCBbKDEwMCwpLCAoMTAwLCldKQogCi0gICAgZGVmIHRlc3RfaW5zZWN1cmVfc3RyaW5ncyhzZWxmKToKLSAgICAgICAgIyBYWFggU29tZSBvZiB0aGVzZSB0ZXN0cyBhcmUgdGVtcG9yYXJpbHkgZGlzYWJsZWQKLSAgICAgICAgaW5zZWN1cmUgPSBbYiJhYmMiLCBiIjIgKyAyIiwgIyBub3QgcXVvdGVkCi0gICAgICAgICAgICAgICAgICAgICMjIGIiJ2FiYycgKyAnZGVmJyIsICMgbm90IGEgc2luZ2xlIHF1b3RlZCBzdHJpbmcKLSAgICAgICAgICAgICAgICAgICAgYiInYWJjIiwgIyBxdW90ZSBpcyBub3QgY2xvc2VkCi0gICAgICAgICAgICAgICAgICAgIGIiJ2FiY1wiIiwgIyBvcGVuIHF1b3RlIGFuZCBjbG9zZSBxdW90ZSBkb24ndCBtYXRjaAotICAgICAgICAgICAgICAgICAgICBiIidhYmMnICAgPyIsICMganVuayBhZnRlciBjbG9zZSBxdW90ZQotICAgICAgICAgICAgICAgICAgICBiIidcXCciLCAjIHRyYWlsaW5nIGJhY2tzbGFzaAotICAgICAgICAgICAgICAgICAgICAjIFZhcmlhdGlvbnMgb24gaXNzdWUgIzE3NzEwCi0gICAgICAgICAgICAgICAgICAgIGIiJyIsCi0gICAgICAgICAgICAgICAgICAgIGInIicsCi0gICAgICAgICAgICAgICAgICAgIGIiJyAiLAotICAgICAgICAgICAgICAgICAgICBiIicgICIsCi0gICAgICAgICAgICAgICAgICAgIGIiJyAgICIsCi0gICAgICAgICAgICAgICAgICAgIGIiJyAgICAiLAotICAgICAgICAgICAgICAgICAgICBiJyIgICAgJywKLSAgICAgICAgICAgICAgICAgICAgIyBzb21lIHRlc3RzIG9mIHRoZSBxdW90aW5nIHJ1bGVzCi0gICAgICAgICAgICAgICAgICAgICMjIGIiJ2FiY1wiXCcnIiwKLSAgICAgICAgICAgICAgICAgICAgIyMgYiInXFxcXGFcJ1wnXCdcXFwnXFxcXFwnJyIsCi0gICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAgZm9yIGIgaW4gaW5zZWN1cmU6Ci0gICAgICAgICAgICBidWYgPSBiIlMiICsgYiArIGIiXDAxMnAwXDAxMi4iCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLmxvYWRzLCBidWYpCi0KICAgICBkZWYgdGVzdF91bmljb2RlKHNlbGYpOgogICAgICAgICBlbmRjYXNlcyA9IFsnJywgJzxcXHU+JywgJzxcXFx1MTIzND4nLCAnPFxuPicsCiAgICAgICAgICAgICAgICAgICAgICc8XFw+JywgJzxcXFxVMDAwMTIzNDU+JywKQEAgLTEyMTQsNiArMTE5MCwzNSBAQAogICAgICAgICBkdW1wZWQgPSBiJ1x4ODBceDAzWFx4MDFceDAwXHgwMFx4MDBhclx4ZmZceGZmXHhmZlx4ZmYuJwogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLmxvYWRzLCBkdW1wZWQpCiAKKyAgICBkZWYgdGVzdF9iYWRseV9lc2NhcGVkX3N0cmluZyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5sb2FkcywgYiJTJ1xcJ1xuLiIpCisKKyAgICBkZWYgdGVzdF9iYWRseV9xdW90ZWRfc3RyaW5nKHNlbGYpOgorICAgICAgICAjIElzc3VlICMxNzcxMAorICAgICAgICBiYWRwaWNrbGVzID0gW2IiUydcbi4iLAorICAgICAgICAgICAgICAgICAgICAgIGInUyJcbi4nLAorICAgICAgICAgICAgICAgICAgICAgIGInU1wnIFxuLicsCisgICAgICAgICAgICAgICAgICAgICAgYidTIiBcbi4nLAorICAgICAgICAgICAgICAgICAgICAgIGInU1wnIlxuLicsCisgICAgICAgICAgICAgICAgICAgICAgYidTIlwnXG4uJywKKyAgICAgICAgICAgICAgICAgICAgICBiIlMnICcgXG4uIiwKKyAgICAgICAgICAgICAgICAgICAgICBiJ1MiICIgXG4uJywKKyAgICAgICAgICAgICAgICAgICAgICBiIlMgJydcbi4iLAorICAgICAgICAgICAgICAgICAgICAgIGInUyAiIlxuLicsCisgICAgICAgICAgICAgICAgICAgICAgYidTIFxuLicsCisgICAgICAgICAgICAgICAgICAgICAgYidTXG4uJywKKyAgICAgICAgICAgICAgICAgICAgICBiJ1MuJ10KKyAgICAgICAgZm9yIHAgaW4gYmFkcGlja2xlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHBpY2tsZS5VbnBpY2tsaW5nRXJyb3IsIHNlbGYubG9hZHMsIHApCisKKyAgICBkZWYgdGVzdF9jb3JyZWN0bHlfcXVvdGVkX3N0cmluZyhzZWxmKToKKyAgICAgICAgZ29vZHBpY2tsZXMgPSBbKGIiUycnXG4uIiwgJycpLAorICAgICAgICAgICAgICAgICAgICAgICAoYidTIiJcbi4nLCAnJyksCisgICAgICAgICAgICAgICAgICAgICAgIChiJ1MiXFxuIlxuLicsICdcbicpLAorICAgICAgICAgICAgICAgICAgICAgICAoYiJTJ1xcbidcbi4iLCAnXG4nKV0KKyAgICAgICAgZm9yIHAsIGV4cGVjdGVkIGluIGdvb2RwaWNrbGVzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvYWRzKHApLCBleHBlY3RlZCkKKwogICAgIGRlZiBfY2hlY2tfcGlja2xpbmdfd2l0aF9vcGNvZGUoc2VsZiwgb2JqLCBvcGNvZGUsIHByb3RvKToKICAgICAgICAgcGlja2xlZCA9IHNlbGYuZHVtcHMob2JqLCBwcm90bykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wY29kZV9pbl9waWNrbGUob3Bjb2RlLCBwaWNrbGVkKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3B5Y2FjZXJ0LnBlbSBiL0xpYi90ZXN0L3B5Y2FjZXJ0LnBlbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWIxZjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvcHljYWNlcnQucGVtCkBAIC0wLDAgKzEsNzggQEAKK0NlcnRpZmljYXRlOgorICAgIERhdGE6CisgICAgICAgIFZlcnNpb246IDMgKDB4MikKKyAgICAgICAgU2VyaWFsIE51bWJlcjogMTI3MjMzNDI2MTI3MjE0NDMyODAgKDB4YjA5MjY0YjFmMmRhMjFkMCkKKyAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGExV2l0aFJTQUVuY3J5cHRpb24KKyAgICAgICAgSXNzdWVyOiBDPVhZLCBPPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIENBLCBDTj1vdXItY2Etc2VydmVyCisgICAgICAgIFZhbGlkaXR5CisgICAgICAgICAgICBOb3QgQmVmb3JlOiBKYW4gIDQgMTk6NDc6MDcgMjAxMyBHTVQKKyAgICAgICAgICAgIE5vdCBBZnRlciA6IEphbiAgMiAxOTo0NzowNyAyMDIzIEdNVAorICAgICAgICBTdWJqZWN0OiBDPVhZLCBPPVB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIENBLCBDTj1vdXItY2Etc2VydmVyCisgICAgICAgIFN1YmplY3QgUHVibGljIEtleSBJbmZvOgorICAgICAgICAgICAgUHVibGljIEtleSBBbGdvcml0aG06IHJzYUVuY3J5cHRpb24KKyAgICAgICAgICAgICAgICBQdWJsaWMtS2V5OiAoMjA0OCBiaXQpCisgICAgICAgICAgICAgICAgTW9kdWx1czoKKyAgICAgICAgICAgICAgICAgICAgMDA6ZTc6ZGU6ZTk6ZTM6MGM6OWY6MDA6YjY6YTE6ZmQ6MmI6NWI6OTY6ZDI6CisgICAgICAgICAgICAgICAgICAgIDZmOmNjOmUwOmJlOjg2OmI5OjIwOjVlOmVjOjAzOjdhOjU1OmFiOmVhOmE0OgorICAgICAgICAgICAgICAgICAgICBlOTpmOTo0OTo4NTpkMjo2NjpkNTplZDpjNzo3YTplYTo1Njo4ZToyZDo4ZjoKKyAgICAgICAgICAgICAgICAgICAgZTc6NDI6ZTI6NjI6Mjg6YTk6OWY6ZDY6MWI6OGU6ZWI6YjU6YjQ6OWM6OWY6CisgICAgICAgICAgICAgICAgICAgIDE0OmFiOmRmOmU2Ojk0OjhiOjc2OjFkOjNlOjZkOjI0OjYxOmVkOjBjOmJmOgorICAgICAgICAgICAgICAgICAgICAwMDo4YTo2MTowYzpkZjo1YzpjODozNjo3MzoxNjowMDpjZDo0NzpiYTo2ZDoKKyAgICAgICAgICAgICAgICAgICAgYTQ6YTQ6NzQ6ODg6ODM6MjM6MGE6MTk6ZmM6MDk6YTc6M2M6NGE6NGI6ZDM6CisgICAgICAgICAgICAgICAgICAgIGU3OjFkOjJkOmU0OmVhOjRjOjU0OjIxOmYzOjI2OmRiOjg5OjM3OjE4OmQ0OgorICAgICAgICAgICAgICAgICAgICAwMjpiYjo0MDozMjo1ZjphNDpmZjoyZDoxYzpmNzpkNDpiYjplYzo4ZTpjZjoKKyAgICAgICAgICAgICAgICAgICAgNWM6ODI6YWM6ZTY6N2M6MDg6NmM6NDg6ODU6NjE6MDc6N2Y6MjU6ZTA6NWM6CisgICAgICAgICAgICAgICAgICAgIGUwOmJjOjM0OjVmOmUwOmI5OjA0OjQ3Ojc1OmM4OjQ3OjBiOjhkOmJjOmQ2OgorICAgICAgICAgICAgICAgICAgICBjODo2ODo1ZjozMzo4Mzo2MjpkMjoyMDo0NDozNTpiMTphZDo4MToxYTo4YToKKyAgICAgICAgICAgICAgICAgICAgY2Q6YmM6MzU6YjA6NWM6OGI6NDc6ZDY6MTg6ZTk6OWM6MTg6OTc6Y2M6MDE6CisgICAgICAgICAgICAgICAgICAgIDNjOjI5OmNjOmU4OjFlOmU0OmU0OmMxOmI4OmRlOmU3OmMyOjExOjE4Ojg3OgorICAgICAgICAgICAgICAgICAgICA1YTo5MzozNDpkODphNjoyNTpmNzoxNDo3MTplYjplNDoyMTphMjpkMjowZjoKKyAgICAgICAgICAgICAgICAgICAgMmU6MmU6ZDQ6NjI6MDA6MzU6ZDM6ZDY6ZWY6NWM6NjA6NGI6NGM6YTk6MTQ6CisgICAgICAgICAgICAgICAgICAgIGUyOmRkOjE1OjU4OjQ2OjM3OjMzOjI2OmI3OmU3OjJlOjVkOmVkOjQyOmU0OgorICAgICAgICAgICAgICAgICAgICBjNTo0ZAorICAgICAgICAgICAgICAgIEV4cG9uZW50OiA2NTUzNyAoMHgxMDAwMSkKKyAgICAgICAgWDUwOXYzIGV4dGVuc2lvbnM6CisgICAgICAgICAgICBYNTA5djMgU3ViamVjdCBLZXkgSWRlbnRpZmllcjogCisgICAgICAgICAgICAgICAgQkM6REQ6NjI6RDk6NzY6REE6MUI6RDI6NTQ6NkI6Q0Y6RTA6NjY6OUI6MUU6MUU6N0I6NTY6MEM6MEIKKyAgICAgICAgICAgIFg1MDl2MyBBdXRob3JpdHkgS2V5IElkZW50aWZpZXI6IAorICAgICAgICAgICAgICAgIGtleWlkOkJDOkREOjYyOkQ5Ojc2OkRBOjFCOkQyOjU0OjZCOkNGOkUwOjY2OjlCOjFFOjFFOjdCOjU2OjBDOjBCCisKKyAgICAgICAgICAgIFg1MDl2MyBCYXNpYyBDb25zdHJhaW50czogCisgICAgICAgICAgICAgICAgQ0E6VFJVRQorICAgIFNpZ25hdHVyZSBBbGdvcml0aG06IHNoYTFXaXRoUlNBRW5jcnlwdGlvbgorICAgICAgICAgN2Q6MGE6ZjU6Y2I6OGQ6ZDM6NWQ6YmQ6OTk6OGU6Zjg6MmI6MGY6YmE6ZWI6YzI6ZDk6YTY6CisgICAgICAgICAyNzo0ZjoyZTo3YjoyZjowZTo2NDpkODoxYzozNTo1MDo0ZTplZTpmYzo5MDpiOTo4ZDo2ZDoKKyAgICAgICAgIGE4OmM1OmM2OjA2OmIwOmFmOmYzOjJkOmJmOjNiOmI4OjQyOjA3OmRkOjE4OjdkOjZkOjk1OgorICAgICAgICAgNTQ6NTc6ODU6MTg6NjA6NDc6MmY6ZWI6Nzg6MWI6Zjk6ZTg6MTc6ZmQ6NWE6MGQ6ODc6MTc6CisgICAgICAgICAyODphYzo0Yzo2YTplNjpiYzoyOTpmNDpmNDo1NTo3MDoyOTo0MjpkZTo4NTplYTphYjo2YzoKKyAgICAgICAgIDIzOjA2OjY0OjMwOjc1OjAyOjhlOjUzOmJjOjVlOjAxOjMzOjM3OmNjOjFlOmNkOmI4OmE0OgorICAgICAgICAgZmQ6Y2E6ZTQ6NWY6NjU6M2I6ODM6MWM6ODY6ZjE6NTU6MDI6YTA6M2E6OGY6ZGI6OTE6Yjc6CisgICAgICAgICA0MDoxNDpiNDplNzo4ZDpkMjplZTo3MzpiYTplMzplNTozNDoyZDpiYzo5NDo2Zjo0ZToyNDoKKyAgICAgICAgIDA2OmY3OjVmOjhiOjBlOmE3OjhlOjZiOmRlOjVlOjc1OmY0OjMyOjlhOjUwOmIxOjQ0OjMzOgorICAgICAgICAgOWE6ZDA6MDU6ZTI6Nzg6ODI6ZmY6ZGI6ZGE6OGE6NjM6ZWI6YTk6ZGQ6ZDE6YmY6YTA6NjE6CisgICAgICAgICBhZDplMzo5ZTo4YToyNDo1ZDo2MjowZTplNzo0Yzo5MTo3ZjplZjpkZjozNDozNjozYjoyZjoKKyAgICAgICAgIDVkOmY1Ojg0OmIyOjJmOmM0OjZkOjkzOjk2OjFhOjZmOjMwOjI4OmYxOmRhOjEyOjlhOjY0OgorICAgICAgICAgYjQ6NDA6MzM6MWQ6YmQ6ZGU6MmI6NTM6YTg6ZWE6YmU6ZDY6YmM6NGU6OTY6ZjU6NDQ6ZmI6CisgICAgICAgICAzMjoxODphZTpkNToxZjpmNjo2OTphZjpiNjo0ZTo3YjoxZDo1ODplYzozYjphOTo1MzphMzoKKyAgICAgICAgIDVlOjU4OmM4OjllCistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KK01JSURiVENDQWxXZ0F3SUJBZ0lKQUxDU1pMSHkyaUhRTUEwR0NTcUdTSWIzRFFFQkJRVUFNRTB4Q3pBSkJnTlYKK0JBWVRBbGhaTVNZd0pBWURWUVFLREIxUWVYUm9iMjRnVTI5bWRIZGhjbVVnUm05MWJtUmhkR2x2YmlCRFFURVcKK01CUUdBMVVFQXd3TmIzVnlMV05oTFhObGNuWmxjakFlRncweE16QXhNRFF4T1RRM01EZGFGdzB5TXpBeE1ESXgKK09UUTNNRGRhTUUweEN6QUpCZ05WQkFZVEFsaFpNU1l3SkFZRFZRUUtEQjFRZVhSb2IyNGdVMjltZEhkaGNtVWcKK1JtOTFibVJoZEdsdmJpQkRRVEVXTUJRR0ExVUVBd3dOYjNWeUxXTmhMWE5sY25abGNqQ0NBU0l3RFFZSktvWkkKK2h2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBT2ZlNmVNTW53QzJvZjByVzViU2I4emd2b2E1SUY3c0EzcFYKK3ErcWs2ZmxKaGRKbTFlM0hldXBXamkyUDUwTGlZaWlwbjlZYmp1dTF0SnlmRkt2ZjVwU0xkaDArYlNSaDdReS8KK0FJcGhETjljeURaekZnRE5SN3B0cEtSMGlJTWpDaG44Q2FjOFNrdlQ1eDB0NU9wTVZDSHpKdHVKTnhqVUFydEEKK01sK2sveTBjOTlTNzdJN1BYSUtzNW53SWJFaUZZUWQvSmVCYzRMdzBYK0M1QkVkMXlFY0xqYnpXeUdoZk00TmkKKzBpQkVOYkd0Z1JxS3pidzFzRnlMUjlZWTZad1lsOHdCUENuTTZCN2s1TUc0M3VmQ0VSaUhXcE0wMktZbDl4UngKKzYrUWhvdElQTGk3VVlnQTEwOWJ2WEdCTFRLa1U0dDBWV0VZM015YTM1eTVkN1VMa3hVMENBd0VBQWFOUU1FNHcKK0hRWURWUjBPQkJZRUZMemRZdGwyMmh2U1ZHdlA0R2FiSGg1N1Znd0xNQjhHQTFVZEl3UVlNQmFBRkx6ZFl0bDIKKzJodlNWR3ZQNEdhYkhoNTdWZ3dMTUF3R0ExVWRFd1FGTUFNQkFmOHdEUVlKS29aSWh2Y05BUUVGQlFBRGdnRUIKK0FIMEs5Y3VOMDEyOW1ZNzRLdys2NjhMWnBpZFBMbnN2RG1UWUhEVlFUdTc4a0xtTmJhakZ4Z2F3ci9NdHZ6dTQKK1FnZmRHSDF0bFZSWGhSaGdSeS9yZUJ2NTZCZjlXZzJIRnlpc1RHcm12Q24wOUZWd0tVTGVoZXFyYkNNR1pEQjEKK0FvNVR2RjRCTXpmTUhzMjRwUDNLNUY5bE80TWNodkZWQXFBNmo5dVJ0MEFVdE9lTjB1NXp1dVBsTkMyOGxHOU8KK0pBYjNYNHNPcDQ1cjNsNTE5REthVUxGRU01clFCZUo0Z3YvYjJvcGo2Nm5kMGIrZ1lhM2pub29rWFdJTzUweVIKK2YrL2ZORFk3TDEzMWhMSXZ4RzJUbGhwdk1DangyaEthWkxSQU14MjkzaXRUcU9xKzFyeE9sdlZFK3pJWXJ0VWYKKzltbXZ0azU3SFZqc082bFRvMTVZeUo0PQorLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvcHljYWtleS5wZW0gYi9MaWIvdGVzdC9weWNha2V5LnBlbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzZlZmZlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvcHljYWtleS5wZW0KQEAgLTAsMCArMSwyOCBAQAorLS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCitNSUlFdmdJQkFEQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0JLZ3dnZ1NrQWdFQUFvSUJBUURuM3VuakRKOEF0cUg5CitLMXVXMG0vTTRMNkd1U0JlN0FONlZhdnFwT241U1lYU1p0WHR4M3JxVm80dGorZEM0bUlvcVovV0c0N3J0YlNjCitueFNyMythVWkzWWRQbTBrWWUwTXZ3Q0tZUXpmWE1nMmN4WUF6VWU2YmFTa2RJaURJd29aL0FtblBFcEwwK2NkCitMZVRxVEZRaDh5YmJpVGNZMUFLN1FESmZwUDh0SFBmVXUreU96MXlDck9aOENHeEloV0VIZnlYZ1hPQzhORi9nCit1UVJIZGNoSEM0Mjgxc2hvWHpPRFl0SWdSRFd4cllFYWlzMjhOYkJjaTBmV0dPbWNHSmZNQVR3cHpPZ2U1T1RCCit1Tjdud2hFWWgxcVROTmltSmZjVWNldmtJYUxTRHk0dTFHSUFOZFBXNzF4Z1MweXBGT0xkRlZoR056TW10K2N1CitYZTFDNU1WTkFnTUJBQUVDZ2dFQkFKUE03UXVVclBuNGNMTi9Zc2QxNWx3VFduOW9IREZGZ2tZRnZDczY2Z1hFCitqdS82S3gyQmpXRTR3VEpieTA5QUhNL01xQjBEdmd1VDdNZjFRMmozdFBRMUhab3dnOE93UkRsZXV3cDZLSWxzCitqQmJoTDBKZGwvNUhDNjdrdFd2Wjl3TnZPL3dGRzFyUWZUNkZWYWpmOUxVYldFYVNaYk9HMlNMaEhmc0hvcnp1Cit4alRKYUkzYlEvMCs3OUIxZXh3azVydXdoekZSZC9YcFk4aGxzN0QvUmZQSXVIRGxCZ2hrVzNONTlLRldyZjVoCis2Yk5FaDJUSG0wK0l5R2NHcXMwRkQrUUNPWHl2c2p3U1Vzd3FycjJjdExSRU9lRGNkNVJlVWpTeFlnamNKUnJtCitKN2NlSVkvK3V3REp4dy9PbG5tQnZGNnBRTWtLd1lXMmdGenR1K2cydDRVQ2dZRUEvOXlvMDFFeHo0Y3J4WHN5Cit0QWxuREpNKytuWmNtMDdydEZqVEtIVWZLWS9jQ2dOVGE4dWRNMHN2bmZ3bGlkL2RwZ0xzSTM4Z3gwNEhIQzFpCitFWjRhY3orVG9JV2VkTHhNMG5xNzMvL3hlUldFYXpPdkN6MW1NVFphTWxkYWhUV0F5ek44cVZLMkIvNjI1WXk0Cit3TllXeXdlQkJ3RUI4TXphQ3M3M3Nwa3NYT3NDZ1lFQTUvN3d2aGlvZllHRkFmTXVBTmVKSXdETDJPdEJub092CittVk5mQ21pM0dDMzhmend5aTVacHNrV0RpUzJ3b0orTFFmczlRdTRFY1piVUZMZDdnYmVPdmI1Z21GVXRZb3BlCitMaXRVVUt1bklSMThNa1ErbVFEQnBRUFFQaGs0UUpQNXJlQ2JXa3JmVHU3YjVvL2lTNDFzNmZCVEZtdXpoTGNUCitDNzF2RmRDeWVLY0NnWUFpQ0NxWWVPdEVMRG1CT2VMRG1hQ1FScUdRMU45NmRPUGJDQm1GL3hZWEJDQ0RZRy9mCitIYVVhSm56OTZZVGdzdHNiY3JZUC9wL1FncXRsYncvbFFmOUlwd011emJjRzFlanQ4Zzg5T3lEV055dDJ5dGdVCitpYVVuRkpDb3MzL0J5aDBJYWgvQnNkT3VlbzIvT0psMlpNT0JXODBvcmxTZ3Y4NmNzMnkwMzdUTDR3S0JnUURtCitPT3lXK01sYm93aG5JdmZvQmZ3bExFa2VmbmVqNG5LRDZXUkxaQmN1ZTVReWYzNTVYMDZNaHNjOWZvWGxIKzZHCitEOWgvYnN3aUhOZGhwNk44MnJkZ1BHaUhReC9DeGlVb0UvK2IvbnZnTk81bXc2cUxFMkVYYkcxZThwQU1KY3lFCitiSHcrWWthd2dnRGZFTEkwMzZmUmo1Z2tpOFNlVXo4blMxbk5nRWxieVFLQmdDUkRYOUpoK013U0x1NFFCV2R0CisvZmkrbHYzSzZrdW4vZkk3RU9WMXZDVi9qODcxdElDdTdwdTVCck9MeEFIcW9WZlU5QVVYMjk5LzJLakNiNXB2Citram9naVVLNnFXQ1dCbGZ1cUROV0dDb1VHdDFyaHpuVXZhMG5OalNNeTVyaW5CaGhqcFJPWkMycHc0OGxPbHVQCitVdXZYc2FQcGg3R1RxUHV5NEthYjEyWUMKKy0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3JlZ3J0ZXN0LnB5IGIvTGliL3Rlc3QvcmVncnRlc3QucHkKaW5kZXggNjM2MjgyZS4uNGM1NWRiNSAxMDA3NTUKLS0tIGEvTGliL3Rlc3QvcmVncnRlc3QucHkKKysrIGIvTGliL3Rlc3QvcmVncnRlc3QucHkKQEAgLTEsMTEgKzEsMTggQEAKICMhIC91c3IvYmluL2VudiBweXRob24zCiAKICIiIgotVXNhZ2U6CitTY3JpcHQgdG8gcnVuIFB5dGhvbiByZWdyZXNzaW9uIHRlc3RzLgogCitSdW4gdGhpcyBzY3JpcHQgd2l0aCAtaCBvciAtLWhlbHAgZm9yIGRvY3VtZW50YXRpb24uCisiIiIKKworVVNBR0UgPSAiIiJcCiBweXRob24gLW0gdGVzdCBbb3B0aW9uc10gW3Rlc3RfbmFtZTEgW3Rlc3RfbmFtZTIgLi4uXV0KIHB5dGhvbiBwYXRoL3RvL0xpYi90ZXN0L3JlZ3J0ZXN0LnB5IFtvcHRpb25zXSBbdGVzdF9uYW1lMSBbdGVzdF9uYW1lMiAuLi5dXQorIiIiCiAKK0RFU0NSSVBUSU9OID0gIiIiXAorUnVuIFB5dGhvbiByZWdyZXNzaW9uIHRlc3RzLgogCiBJZiBubyBhcmd1bWVudHMgb3Igb3B0aW9ucyBhcmUgcHJvdmlkZWQsIGZpbmRzIGFsbCBmaWxlcyBtYXRjaGluZwogdGhlIHBhdHRlcm4gInRlc3RfKiIgaW4gdGhlIExpYi90ZXN0IHN1YmRpcmVjdG9yeSBhbmQgcnVucwpAQCAtMTUsNjMgKzIyLDEwIEBACiBjb21tYW5kIGxpbmU6CiAKIHB5dGhvbiAtRSAtV2QgLW0gdGVzdCBbb3B0aW9uc10gW3Rlc3RfbmFtZTEgLi4uXQorIiIiCiAKLQotT3B0aW9uczoKLQotLWgvLS1oZWxwICAgICAgIC0tIHByaW50IHRoaXMgdGV4dCBhbmQgZXhpdAotLS10aW1lb3V0IFRJTUVPVVQKLSAgICAgICAgICAgICAgICAtLSBkdW1wIHRoZSB0cmFjZWJhY2sgYW5kIGV4aXQgaWYgYSB0ZXN0IHRha2VzIG1vcmUKLSAgICAgICAgICAgICAgICAgICB0aGFuIFRJTUVPVVQgc2Vjb25kczsgZGlzYWJsZWQgaWYgVElNRU9VVCBpcyBuZWdhdGl2ZQotICAgICAgICAgICAgICAgICAgIG9yIGVxdWFscyB0byB6ZXJvCi0tLXdhaXQgICAgICAgICAgLS0gd2FpdCBmb3IgdXNlciBpbnB1dCwgZS5nLiwgYWxsb3cgYSBkZWJ1Z2dlciB0byBiZSBhdHRhY2hlZAotCi1WZXJib3NpdHkKLQotLXYvLS12ZXJib3NlICAgIC0tIHJ1biB0ZXN0cyBpbiB2ZXJib3NlIG1vZGUgd2l0aCBvdXRwdXQgdG8gc3Rkb3V0Ci0tdy8tLXZlcmJvc2UyICAgLS0gcmUtcnVuIGZhaWxlZCB0ZXN0cyBpbiB2ZXJib3NlIG1vZGUKLS1XLy0tdmVyYm9zZTMgICAtLSBkaXNwbGF5IHRlc3Qgb3V0cHV0IG9uIGZhaWx1cmUKLS1kLy0tZGVidWcgICAgICAtLSBwcmludCB0cmFjZWJhY2sgZm9yIGZhaWxlZCB0ZXN0cwotLXEvLS1xdWlldCAgICAgIC0tIG5vIG91dHB1dCB1bmxlc3Mgb25lIG9yIG1vcmUgdGVzdHMgZmFpbAotLW8vLS1zbG93ICAgICAgIC0tIHByaW50IHRoZSBzbG93ZXN0IDEwIHRlc3RzCi0gICAtLWhlYWRlciAgICAgLS0gcHJpbnQgaGVhZGVyIHdpdGggaW50ZXJwcmV0ZXIgaW5mbwotCi1TZWxlY3RpbmcgdGVzdHMKLQotLXIvLS1yYW5kb21pemUgIC0tIHJhbmRvbWl6ZSB0ZXN0IGV4ZWN1dGlvbiBvcmRlciAoc2VlIGJlbG93KQotICAgLS1yYW5kc2VlZCAgIC0tIHBhc3MgYSByYW5kb20gc2VlZCB0byByZXByb2R1Y2UgYSBwcmV2aW91cyByYW5kb20gcnVuCi0tZi8tLWZyb21maWxlICAgLS0gcmVhZCBuYW1lcyBvZiB0ZXN0cyB0byBydW4gZnJvbSBhIGZpbGUgKHNlZSBiZWxvdykKLS14Ly0tZXhjbHVkZSAgICAtLSBhcmd1bWVudHMgYXJlIHRlc3RzIHRvICpleGNsdWRlKgotLXMvLS1zaW5nbGUgICAgIC0tIHNpbmdsZSBzdGVwIHRocm91Z2ggYSBzZXQgb2YgdGVzdHMgKHNlZSBiZWxvdykKLS1tLy0tbWF0Y2ggUEFUICAtLSBtYXRjaCB0ZXN0IGNhc2VzIGFuZCBtZXRob2RzIHdpdGggZ2xvYiBwYXR0ZXJuIFBBVAotLUcvLS1mYWlsZmFzdCAgIC0tIGZhaWwgYXMgc29vbiBhcyBhIHRlc3QgZmFpbHMgKG9ubHkgd2l0aCAtdiBvciAtVykKLS11Ly0tdXNlIFJFUzEsUkVTMiwuLi4KLSAgICAgICAgICAgICAgICAtLSBzcGVjaWZ5IHdoaWNoIHNwZWNpYWwgcmVzb3VyY2UgaW50ZW5zaXZlIHRlc3RzIHRvIHJ1bgotLU0vLS1tZW1saW1pdCBMSU1JVAotICAgICAgICAgICAgICAgIC0tIHJ1biB2ZXJ5IGxhcmdlIG1lbW9yeS1jb25zdW1pbmcgdGVzdHMKLSAgIC0tdGVzdGRpciBESVIKLSAgICAgICAgICAgICAgICAtLSBleGVjdXRlIHRlc3QgZmlsZXMgaW4gdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgKGluc3RlYWQKLSAgICAgICAgICAgICAgICAgICBvZiB0aGUgUHl0aG9uIHN0ZGxpYiB0ZXN0IHN1aXRlKQotCi1TcGVjaWFsIHJ1bnMKLQotLWwvLS1maW5kbGVha3MgIC0tIGlmIEdDIGlzIGF2YWlsYWJsZSBkZXRlY3QgdGVzdHMgdGhhdCBsZWFrIG1lbW9yeQotLUwvLS1ydW5sZWFrcyAgIC0tIHJ1biB0aGUgbGVha3MoMSkgY29tbWFuZCBqdXN0IGJlZm9yZSBleGl0Ci0tUi8tLWh1bnRybGVha3MgUlVOQ09VTlRTCi0gICAgICAgICAgICAgICAgLS0gc2VhcmNoIGZvciByZWZlcmVuY2UgbGVha3MgKG5lZWRzIGRlYnVnIGJ1aWxkLCB2LiBzbG93KQotLWovLS1tdWx0aXByb2Nlc3MgUFJPQ0VTU0VTCi0gICAgICAgICAgICAgICAgLS0gcnVuIFBST0NFU1NFUyBwcm9jZXNzZXMgYXQgb25jZQotLVQvLS1jb3ZlcmFnZSAgIC0tIHR1cm4gb24gY29kZSBjb3ZlcmFnZSB0cmFjaW5nIHVzaW5nIHRoZSB0cmFjZSBtb2R1bGUKLS1ELy0tY292ZXJkaXIgRElSRUNUT1JZCi0gICAgICAgICAgICAgICAgLS0gRGlyZWN0b3J5IHdoZXJlIGNvdmVyYWdlIGZpbGVzIGFyZSBwdXQKLS1OLy0tbm9jb3ZlcmRpciAtLSBQdXQgY292ZXJhZ2UgZmlsZXMgYWxvbmdzaWRlIG1vZHVsZXMKLS10Ly0tdGhyZXNob2xkIFRIUkVTSE9MRAotICAgICAgICAgICAgICAgIC0tIGNhbGwgZ2Muc2V0X3RocmVzaG9sZChUSFJFU0hPTEQpCi0tbi8tLW5vd2luZG93cyAgLS0gc3VwcHJlc3MgZXJyb3IgbWVzc2FnZSBib3hlcyBvbiBXaW5kb3dzCi0tRi8tLWZvcmV2ZXIgICAgLS0gcnVuIHRoZSBzcGVjaWZpZWQgdGVzdHMgaW4gYSBsb29wLCB1bnRpbCBhbiBlcnJvciBoYXBwZW5zCi0KLQotQWRkaXRpb25hbCBPcHRpb24gRGV0YWlsczoKK0VQSUxPRyA9ICIiIlwKK0FkZGl0aW9uYWwgb3B0aW9uIGRldGFpbHM6CiAKIC1yIHJhbmRvbWl6ZXMgdGVzdCBleGVjdXRpb24gb3JkZXIuIFlvdSBjYW4gdXNlIC0tcmFuZHNlZWQ9aW50IHRvIHByb3ZpZGUgYQogaW50IHNlZWQgdmFsdWUgZm9yIHRoZSByYW5kb21pemVyOyB0aGlzIGlzIHVzZWZ1bCBmb3IgcmVwcm9kdWNpbmcgdHJvdWJsZXNvbWUKQEAgLTE2OCwxMSArMTIyLDEyIEBACiAjIFdlIGltcG9ydCBpbXBvcnRsaWIgKkFTQVAqIGluIG9yZGVyIHRvIHRlc3QgIzE1Mzg2CiBpbXBvcnQgaW1wb3J0bGliCiAKK2ltcG9ydCBhcmdwYXJzZQogaW1wb3J0IGJ1aWx0aW5zCiBpbXBvcnQgZmF1bHRoYW5kbGVyCi1pbXBvcnQgZ2V0b3B0CiBpbXBvcnQgaW8KIGltcG9ydCBqc29uCitpbXBvcnQgbG9jYWxlCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCiBpbXBvcnQgcGxhdGZvcm0KQEAgLTI0NiwxMiArMjAxLDE0NyBAQAogUkVTT1VSQ0VfTkFNRVMgPSAoJ2F1ZGlvJywgJ2N1cnNlcycsICdsYXJnZWZpbGUnLCAnbmV0d29yaycsCiAgICAgICAgICAgICAgICAgICAnZGVjaW1hbCcsICdjcHUnLCAnc3VicHJvY2VzcycsICd1cmxmZXRjaCcsICdndWknKQogCi1URU1QRElSID0gb3MucGF0aC5hYnNwYXRoKHRlbXBmaWxlLmdldHRlbXBkaXIoKSkKKyMgV2hlbiB0ZXN0cyBhcmUgcnVuIGZyb20gdGhlIFB5dGhvbiBidWlsZCBkaXJlY3RvcnksIGl0IGlzIGJlc3QgcHJhY3RpY2UKKyMgdG8ga2VlcCB0aGUgdGVzdCBmaWxlcyBpbiBhIHN1YmZvbGRlci4gIFRoaXMgZWFzZXMgdGhlIGNsZWFudXAgb2YgbGVmdG92ZXIKKyMgZmlsZXMgdXNpbmcgdGhlICJtYWtlIGRpc3RjbGVhbiIgY29tbWFuZC4KK2lmIHN5c2NvbmZpZy5pc19weXRob25fYnVpbGQoKToKKyAgICBURU1QRElSID0gb3MucGF0aC5qb2luKHN5c2NvbmZpZy5nZXRfY29uZmlnX3Zhcignc3JjZGlyJyksICdidWlsZCcpCitlbHNlOgorICAgIFRFTVBESVIgPSB0ZW1wZmlsZS5nZXR0ZW1wZGlyKCkKK1RFTVBESVIgPSBvcy5wYXRoLmFic3BhdGgoVEVNUERJUikKIAotZGVmIHVzYWdlKG1zZyk6Ci0gICAgcHJpbnQobXNnLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgcHJpbnQoIlVzZSAtLWhlbHAgZm9yIHVzYWdlIiwgZmlsZT1zeXMuc3RkZXJyKQotICAgIHN5cy5leGl0KDIpCitjbGFzcyBfQXJnUGFyc2VyKGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKToKKworICAgIGRlZiBlcnJvcihzZWxmLCBtZXNzYWdlKToKKyAgICAgICAgc3VwZXIoKS5lcnJvcihtZXNzYWdlICsgIlxuUGFzcyAtaCBvciAtLWhlbHAgZm9yIGNvbXBsZXRlIGhlbHAuIikKKworZGVmIF9jcmVhdGVfcGFyc2VyKCk6CisgICAgIyBTZXQgcHJvZyB0byBwcmV2ZW50IHRoZSB1bmluZm9ybWF0aXZlICJfX21haW5fXy5weSIgZnJvbSBkaXNwbGF5aW5nIGluCisgICAgIyBlcnJvciBtZXNzYWdlcyB3aGVuIHVzaW5nICJweXRob24gLW0gdGVzdCAuLi4iLgorICAgIHBhcnNlciA9IF9BcmdQYXJzZXIocHJvZz0ncmVncnRlc3QucHknLAorICAgICAgICAgICAgICAgICAgICAgICAgdXNhZ2U9VVNBR0UsCisgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1ERVNDUklQVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVwaWxvZz1FUElMT0csCisgICAgICAgICAgICAgICAgICAgICAgICBhZGRfaGVscD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcl9jbGFzcz1hcmdwYXJzZS5SYXdEZXNjcmlwdGlvbkhlbHBGb3JtYXR0ZXIpCisKKyAgICAjIEFyZ3VtZW50cyB3aXRoIHRoaXMgY2xhdXNlIGFkZGVkIHRvIGl0cyBoZWxwIGFyZSBkZXNjcmliZWQgZnVydGhlciBpbgorICAgICMgdGhlIGVwaWxvZydzICJBZGRpdGlvbmFsIG9wdGlvbiBkZXRhaWxzIiBzZWN0aW9uLgorICAgIG1vcmVfZGV0YWlscyA9ICcgIFNlZSB0aGUgc2VjdGlvbiBhdCBib3R0b20gZm9yIG1vcmUgZGV0YWlscy4nCisKKyAgICBncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoJ0dlbmVyYWwgb3B0aW9ucycpCisgICAgIyBXZSBhZGQgaGVscCBleHBsaWNpdGx5IHRvIGNvbnRyb2wgd2hhdCBhcmd1bWVudCBncm91cCBpdCByZW5kZXJzIHVuZGVyLgorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLWgnLCAnLS1oZWxwJywgYWN0aW9uPSdoZWxwJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nc2hvdyB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhpdCcpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctLXRpbWVvdXQnLCBtZXRhdmFyPSdUSU1FT1VUJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2R1bXAgdGhlIHRyYWNlYmFjayBhbmQgZXhpdCBpZiBhIHRlc3QgdGFrZXMgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9yZSB0aGFuIFRJTUVPVVQgc2Vjb25kczsgZGlzYWJsZWQgaWYgVElNRU9VVCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpcyBuZWdhdGl2ZSBvciBlcXVhbHMgdG8gemVybycpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctLXdhaXQnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxwPSd3YWl0IGZvciB1c2VyICcKKyAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dCwgZS5nLiwgYWxsb3cgYSBkZWJ1Z2dlciB0byBiZSBhdHRhY2hlZCcpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctLXNsYXZlYXJncycsIG1ldGF2YXI9J0FSR1MnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLVMnLCAnLS1zdGFydCcsIG1ldGF2YXI9J1NUQVJUJywgaGVscD0ndGhlIG5hbWUgb2YgJworICAgICAgICAgICAgICAgICAgICAgICAgJ3RoZSB0ZXN0IGF0IHdoaWNoIHRvIHN0YXJ0LicgKyBtb3JlX2RldGFpbHMpCisKKyAgICBncm91cCA9IHBhcnNlci5hZGRfYXJndW1lbnRfZ3JvdXAoJ1ZlcmJvc2l0eScpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctdicsICctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdydW4gdGVzdHMgaW4gdmVyYm9zZSBtb2RlIHdpdGggb3V0cHV0IHRvIHN0ZG91dCcpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctdycsICctLXZlcmJvc2UyJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncmUtcnVuIGZhaWxlZCB0ZXN0cyBpbiB2ZXJib3NlIG1vZGUnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLVcnLCAnLS12ZXJib3NlMycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2Rpc3BsYXkgdGVzdCBvdXRwdXQgb24gZmFpbHVyZScpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctZCcsICctLWRlYnVnJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncHJpbnQgdHJhY2ViYWNrIGZvciBmYWlsZWQgdGVzdHMnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLXEnLCAnLS1xdWlldCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J25vIG91dHB1dCB1bmxlc3Mgb25lIG9yIG1vcmUgdGVzdHMgZmFpbCcpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctbycsICctLXNsb3cnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdwcmludCB0aGUgc2xvd2VzdCAxMCB0ZXN0cycpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctLWhlYWRlcicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3ByaW50IGhlYWRlciB3aXRoIGludGVycHJldGVyIGluZm8nKQorCisgICAgZ3JvdXAgPSBwYXJzZXIuYWRkX2FyZ3VtZW50X2dyb3VwKCdTZWxlY3RpbmcgdGVzdHMnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLXInLCAnLS1yYW5kb21pemUnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdyYW5kb21pemUgdGVzdCBleGVjdXRpb24gb3JkZXIuJyArIG1vcmVfZGV0YWlscykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy0tcmFuZHNlZWQnLCBtZXRhdmFyPSdTRUVEJywgaGVscD0ncGFzcyBhIHJhbmRvbSBzZWVkICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ3RvIHJlcHJvZHVjZSBhIHByZXZpb3VzIHJhbmRvbSBydW4nKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLWYnLCAnLS1mcm9tZmlsZScsIG1ldGF2YXI9J0ZJTEUnLCBoZWxwPSdyZWFkIG5hbWVzICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ29mIHRlc3RzIHRvIHJ1biBmcm9tIGEgZmlsZS4nICsgbW9yZV9kZXRhaWxzKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLXgnLCAnLS1leGNsdWRlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nYXJndW1lbnRzIGFyZSB0ZXN0cyB0byAqZXhjbHVkZSonKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLXMnLCAnLS1zaW5nbGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxwPSdzaW5nbGUgJworICAgICAgICAgICAgICAgICAgICAgICAnc3RlcCB0aHJvdWdoIGEgc2V0IG9mIHRlc3RzLicgKyBtb3JlX2RldGFpbHMpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctbScsICctLW1hdGNoJywgbWV0YXZhcj0nUEFUJywgaGVscD0nbWF0Y2ggdGVzdCBjYXNlcyAnCisgICAgICAgICAgICAgICAgICAgICAgICdhbmQgbWV0aG9kcyB3aXRoIGdsb2IgcGF0dGVybiBQQVQnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLUcnLCAnLS1mYWlsZmFzdCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J2ZhaWwgYXMgJworICAgICAgICAgICAgICAgICAgICAgICAnc29vbiBhcyBhIHRlc3QgZmFpbHMgKG9ubHkgd2l0aCAtdiBvciAtVyknKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLXUnLCAnLS11c2UnLCBtZXRhdmFyPSdSRVMxLFJFUzIsLi4uJywgaGVscD0nc3BlY2lmeSAnCisgICAgICAgICAgICAgICAgICAgICAgICd3aGljaCBzcGVjaWFsIHJlc291cmNlIGludGVuc2l2ZSB0ZXN0cyB0byBydW4uJyArCisgICAgICAgICAgICAgICAgICAgICAgIG1vcmVfZGV0YWlscykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy1NJywgJy0tbWVtbGltaXQnLCBtZXRhdmFyPSdMSU1JVCcsIGhlbHA9J3J1biB2ZXJ5ICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ2xhcmdlIG1lbW9yeS1jb25zdW1pbmcgdGVzdHMuJyArIG1vcmVfZGV0YWlscykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy0tdGVzdGRpcicsIG1ldGF2YXI9J0RJUicsCisgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2V4ZWN1dGUgdGVzdCBmaWxlcyBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhpbnN0ZWFkIG9mIHRoZSBQeXRob24gc3RkbGliIHRlc3Qgc3VpdGUpJykKKworICAgIGdyb3VwID0gcGFyc2VyLmFkZF9hcmd1bWVudF9ncm91cCgnU3BlY2lhbCBydW5zJykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy1sJywgJy0tZmluZGxlYWtzJywgYWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0naWYgR0MgJworICAgICAgICAgICAgICAgICAgICAgICAnaXMgYXZhaWxhYmxlIGRldGVjdCB0ZXN0cyB0aGF0IGxlYWsgbWVtb3J5JykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy1MJywgJy0tcnVubGVha3MnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdydW4gdGhlIGxlYWtzKDEpIGNvbW1hbmQganVzdCBiZWZvcmUgZXhpdC4nICsKKyAgICAgICAgICAgICAgICAgICAgICAgbW9yZV9kZXRhaWxzKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLVInLCAnLS1odW50cmxlYWtzJywgbWV0YXZhcj0nUlVOQ09VTlRTJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nc2VhcmNoIGZvciByZWZlcmVuY2UgbGVha3MgKG5lZWRzIGRlYnVnIGJ1aWxkLCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zlcnkgc2xvdykuJyArIG1vcmVfZGV0YWlscykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy1qJywgJy0tbXVsdGlwcm9jZXNzJywgbWV0YXZhcj0nUFJPQ0VTU0VTJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncnVuIFBST0NFU1NFUyBwcm9jZXNzZXMgYXQgb25jZScpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctVCcsICctLWNvdmVyYWdlJywgYWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0ndHVybiBvbiAnCisgICAgICAgICAgICAgICAgICAgICAgICdjb2RlIGNvdmVyYWdlIHRyYWNpbmcgdXNpbmcgdGhlIHRyYWNlIG1vZHVsZScpCisgICAgZ3JvdXAuYWRkX2FyZ3VtZW50KCctRCcsICctLWNvdmVyZGlyJywgbWV0YXZhcj0nRElSJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nZGlyZWN0b3J5IHdoZXJlIGNvdmVyYWdlIGZpbGVzIGFyZSBwdXQnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLU4nLCAnLS1ub2NvdmVyZGlyJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncHV0IGNvdmVyYWdlIGZpbGVzIGFsb25nc2lkZSBtb2R1bGVzJykKKyAgICBncm91cC5hZGRfYXJndW1lbnQoJy10JywgJy0tdGhyZXNob2xkJywgbWV0YXZhcj0nVEhSRVNIT0xEJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nY2FsbCBnYy5zZXRfdGhyZXNob2xkKFRIUkVTSE9MRCknKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLW4nLCAnLS1ub3dpbmRvd3MnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdzdXBwcmVzcyBlcnJvciBtZXNzYWdlIGJveGVzIG9uIFdpbmRvd3MnKQorICAgIGdyb3VwLmFkZF9hcmd1bWVudCgnLUYnLCAnLS1mb3JldmVyJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ncnVuIHRoZSBzcGVjaWZpZWQgdGVzdHMgaW4gYSBsb29wLCB1bnRpbCBhbiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yIGhhcHBlbnMnKQorCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnYXJncycsIG5hcmdzPWFyZ3BhcnNlLlJFTUFJTkRFUiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9YXJncGFyc2UuU1VQUFJFU1MpCisKKyAgICByZXR1cm4gcGFyc2VyCisKKyMgVE9ETzogcmVtb3ZlIHRoaXMgZnVuY3Rpb24gYXMgZGVzY3JpYmVkIGluIGlzc3VlICMxNjc5OSwgZm9yIGV4YW1wbGUuCisjIFdlIHVzZSB0aGlzIGZ1bmN0aW9uIHNpbmNlIHJlZ3J0ZXN0Lm1haW4oKSB3YXMgb3JpZ2luYWxseSB3cml0dGVuIHRvIHVzZQorIyBnZXRvcHQgZm9yIHBhcnNpbmcuCitkZWYgX2NvbnZlcnRfbmFtZXNwYWNlX3RvX2dldG9wdChucyk6CisgICAgIiIiQ29udmVydCBhbiBhcmdwYXJzZS5OYW1lc3BhY2Ugb2JqZWN0IHRvIGEgZ2V0b3B0LXN0eWxlIG9wdHMgbGlzdC4KKworICAgIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhpcyBmdW5jdGlvbiBtaW1pY3MgdGhlIGZpcnN0IGVsZW1lbnQgb2YKKyAgICBnZXRvcHQuZ2V0b3B0KCkncyAob3B0cywgYXJncykgcmV0dXJuIHZhbHVlLiAgSW4gYWRkaXRpb24sIHRoZSAob3B0aW9uLAorICAgIHZhbHVlKSBwYWlycyBpbiB0aGUgb3B0cyBsaXN0IGFyZSBzb3J0ZWQgYnkgb3B0aW9uIGFuZCB1c2UgdGhlIGxvbmcKKyAgICBvcHRpb24gc3RyaW5nLiAgVGhlIGFyZ3MgcGFydCBvZiAob3B0cywgYXJncykgY2FuIGJlIG1pbWlja2VkIGJ5IHRoZQorICAgIGFyZ3MgYXR0cmlidXRlIG9mIHRoZSBOYW1lc3BhY2Ugb2JqZWN0IHdlIGFyZSB1c2luZyBpbiByZWdydGVzdC4KKyAgICAiIiIKKyAgICBvcHRzID0gW10KKyAgICBhcmdzX2RpY3QgPSB2YXJzKG5zKQorICAgIGZvciBrZXkgaW4gc29ydGVkKGFyZ3NfZGljdC5rZXlzKCkpOgorICAgICAgICBpZiBrZXkgPT0gJ2FyZ3MnOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgdmFsID0gYXJnc19kaWN0W2tleV0KKyAgICAgICAgIyBEb24ndCBjb250aW51ZSBpZiB2YWwgZXF1YWxzICcnIGJlY2F1c2UgdGhpcyBtZWFucyBhbiBvcHRpb24KKyAgICAgICAgIyBhY2NlcHRpbmcgYSB2YWx1ZSB3YXMgcHJvdmlkZWQgdGhlIGVtcHR5IHN0cmluZy4gIFN1Y2ggdmFsdWVzIHNob3VsZAorICAgICAgICAjIHNob3cgdXAgaW4gdGhlIHJldHVybmVkIG9wdHMgbGlzdC4KKyAgICAgICAgaWYgdmFsIGlzIE5vbmUgb3IgdmFsIGlzIEZhbHNlOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgdmFsIGlzIFRydWU6CisgICAgICAgICAgICAjIFRoZW4gYW4gb3B0aW9uIHdpdGggYWN0aW9uIHN0b3JlX3RydWUgd2FzIHBhc3NlZC4gZ2V0b3B0CisgICAgICAgICAgICAjIGluY2x1ZGVzIHRoZXNlIHdpdGggdmFsdWUgJycgaW4gdGhlIG9wdHMgbGlzdC4KKyAgICAgICAgICAgIHZhbCA9ICcnCisgICAgICAgIG9wdHMuYXBwZW5kKCgnLS0nICsga2V5LCB2YWwpKQorICAgIHJldHVybiBvcHRzCiAKIAogZGVmIG1haW4odGVzdHM9Tm9uZSwgdGVzdGRpcj1Ob25lLCB2ZXJib3NlPTAsIHF1aWV0PUZhbHNlLApAQCAtMjk4LDE3ICszODgsMTIgQEAKICAgICByZXBsYWNlX3N0ZG91dCgpCiAKICAgICBzdXBwb3J0LnJlY29yZF9vcmlnaW5hbF9zdGRvdXQoc3lzLnN0ZG91dCkKLSAgICB0cnk6Ci0gICAgICAgIG9wdHMsIGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KHN5cy5hcmd2WzE6XSwgJ2h2cXhzb1M6cmY6bHU6dDpURDpOTFI6RmR3V006bmo6R206JywKLSAgICAgICAgICAgIFsnaGVscCcsICd2ZXJib3NlJywgJ3ZlcmJvc2UyJywgJ3ZlcmJvc2UzJywgJ3F1aWV0JywKLSAgICAgICAgICAgICAnZXhjbHVkZScsICdzaW5nbGUnLCAnc2xvdycsICdyYW5kb21pemUnLCAnZnJvbWZpbGU9JywgJ2ZpbmRsZWFrcycsCi0gICAgICAgICAgICAgJ3VzZT0nLCAndGhyZXNob2xkPScsICdjb3ZlcmRpcj0nLCAnbm9jb3ZlcmRpcicsCi0gICAgICAgICAgICAgJ3J1bmxlYWtzJywgJ2h1bnRybGVha3M9JywgJ21lbWxpbWl0PScsICdyYW5kc2VlZD0nLAotICAgICAgICAgICAgICdtdWx0aXByb2Nlc3M9JywgJ2NvdmVyYWdlJywgJ3NsYXZlYXJncz0nLCAnZm9yZXZlcicsICdkZWJ1ZycsCi0gICAgICAgICAgICAgJ3N0YXJ0PScsICdub3dpbmRvd3MnLCAnaGVhZGVyJywgJ3Rlc3RkaXI9JywgJ3RpbWVvdXQ9JywgJ3dhaXQnLAotICAgICAgICAgICAgICdmYWlsZmFzdCcsICdtYXRjaD0nXSkKLSAgICBleGNlcHQgZ2V0b3B0LmVycm9yIGFzIG1zZzoKLSAgICAgICAgdXNhZ2UobXNnKQorCisgICAgcGFyc2VyID0gX2NyZWF0ZV9wYXJzZXIoKQorICAgIG5zID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorICAgIG9wdHMgPSBfY29udmVydF9uYW1lc3BhY2VfdG9fZ2V0b3B0KG5zKQorICAgIGFyZ3MgPSBucy5hcmdzCisgICAgdXNhZ2UgPSBwYXJzZXIuZXJyb3IKIAogICAgICMgRGVmYXVsdHMKICAgICBpZiByYW5kb21fc2VlZCBpcyBOb25lOgpAQCAtMzE5LDEwICs0MDQsNyBAQAogICAgIHN0YXJ0ID0gTm9uZQogICAgIHRpbWVvdXQgPSBOb25lCiAgICAgZm9yIG8sIGEgaW4gb3B0czoKLSAgICAgICAgaWYgbyBpbiAoJy1oJywgJy0taGVscCcpOgotICAgICAgICAgICAgcHJpbnQoX19kb2NfXykKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBlbGlmIG8gaW4gKCctdicsICctLXZlcmJvc2UnKToKKyAgICAgICAgaWYgbyBpbiAoJy12JywgJy0tdmVyYm9zZScpOgogICAgICAgICAgICAgdmVyYm9zZSArPSAxCiAgICAgICAgIGVsaWYgbyBpbiAoJy13JywgJy0tdmVyYm9zZTInKToKICAgICAgICAgICAgIHZlcmJvc2UyID0gVHJ1ZQpAQCAtNTA2LDcgKzU4OCw3IEBACiAgICAgICAgICAgICBuZXh0X3Rlc3QgPSBmcC5yZWFkKCkuc3RyaXAoKQogICAgICAgICAgICAgdGVzdHMgPSBbbmV4dF90ZXN0XQogICAgICAgICAgICAgZnAuY2xvc2UoKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKICAgICBpZiBmcm9tZmlsZToKQEAgLTYxNSw3ICs2OTcsNyBAQAogICAgICAgICAgICAgc3lzLmV4aXQoMikKICAgICAgICAgZnJvbSBxdWV1ZSBpbXBvcnQgUXVldWUKICAgICAgICAgZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBQb3BlbiwgUElQRQotICAgICAgICBkZWJ1Z19vdXRwdXRfcGF0ID0gcmUuY29tcGlsZShyIlxbXGQrIHJlZnNcXSQiKQorICAgICAgICBkZWJ1Z19vdXRwdXRfcGF0ID0gcmUuY29tcGlsZShyIlxbXGQrIHJlZnMsIFxkKyBibG9ja3NcXSQiKQogICAgICAgICBvdXRwdXQgPSBRdWV1ZSgpCiAgICAgICAgIHBlbmRpbmcgPSBNdWx0aXByb2Nlc3NUZXN0cyh0ZXN0cykKICAgICAgICAgb3B0X2FyZ3MgPSBzdXBwb3J0LmFyZ3NfZnJvbV9pbnRlcnByZXRlcl9mbGFncygpCkBAIC03NjMsMjAgKzg0NSw2IEBACiAgICAgICAgIHByaW50KGNvdW50KGxlbihza2lwcGVkKSwgInRlc3QiKSwgInNraXBwZWQ6IikKICAgICAgICAgcHJpbnRsaXN0KHNraXBwZWQpCiAKLSAgICAgICAgZSA9IF9FeHBlY3RlZFNraXBzKCkKLSAgICAgICAgcGxhdCA9IHN5cy5wbGF0Zm9ybQotICAgICAgICBpZiBlLmlzdmFsaWQoKToKLSAgICAgICAgICAgIHN1cnByaXNlID0gc2V0KHNraXBwZWQpIC0gZS5nZXRleHBlY3RlZCgpIC0gc2V0KHJlc291cmNlX2RlbmllZHMpCi0gICAgICAgICAgICBpZiBzdXJwcmlzZToKLSAgICAgICAgICAgICAgICBwcmludChjb3VudChsZW4oc3VycHJpc2UpLCAic2tpcCIpLCBcCi0gICAgICAgICAgICAgICAgICAgICAgInVuZXhwZWN0ZWQgb24iLCBwbGF0ICsgIjoiKQotICAgICAgICAgICAgICAgIHByaW50bGlzdChzdXJwcmlzZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIlRob3NlIHNraXBzIGFyZSBhbGwgZXhwZWN0ZWQgb24iLCBwbGF0ICsgIi4iKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcHJpbnQoIkFzayBzb21lb25lIHRvIHRlYWNoIHJlZ3J0ZXN0LnB5IGFib3V0IHdoaWNoIHRlc3RzIGFyZSIpCi0gICAgICAgICAgICBwcmludCgiZXhwZWN0ZWQgdG8gZ2V0IHNraXBwZWQgb24iLCBwbGF0ICsgIi4iKQotCiAgICAgaWYgdmVyYm9zZTIgYW5kIGJhZDoKICAgICAgICAgcHJpbnQoIlJlLXJ1bm5pbmcgZmFpbGVkIHRlc3RzIGluIHZlcmJvc2UgbW9kZSIpCiAgICAgICAgIGZvciB0ZXN0IGluIGJhZDoKQEAgLTk5NCw3ICsxMDYyLDcgQEAKICAgICAgICAgICAgICAgICAgJ3N5cy53YXJub3B0aW9ucycsICd0aHJlYWRpbmcuX2RhbmdsaW5nJywKICAgICAgICAgICAgICAgICAgJ211bHRpcHJvY2Vzc2luZy5wcm9jZXNzLl9kYW5nbGluZycsCiAgICAgICAgICAgICAgICAgICdzeXNjb25maWcuX0NPTkZJR19WQVJTJywgJ3N5c2NvbmZpZy5fSU5TVEFMTF9TQ0hFTUVTJywKLSAgICAgICAgICAgICAgICAgJ3N1cHBvcnQuVEVTVEZOJywKKyAgICAgICAgICAgICAgICAgJ3N1cHBvcnQuVEVTVEZOJywgJ2xvY2FsZScsCiAgICAgICAgICAgICAgICAgKQogCiAgICAgZGVmIGdldF9zeXNfYXJndihzZWxmKToKQEAgLTExNjMsNiArMTIzMSwxOSBAQAogICAgICAgICAgICAgZWxpZiBvcy5wYXRoLmlzZGlyKHN1cHBvcnQuVEVTVEZOKToKICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHN1cHBvcnQuVEVTVEZOKQogCisgICAgX2xjID0gW2dldGF0dHIobG9jYWxlLCBsYykgZm9yIGxjIGluIGRpcihsb2NhbGUpIGlmIGxjLnN0YXJ0c3dpdGgoJ0xDXycpXQorICAgIGRlZiBnZXRfbG9jYWxlKHNlbGYpOgorICAgICAgICBwYWlyaW5ncyA9IFtdCisgICAgICAgIGZvciBsYyBpbiBzZWxmLl9sYzoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBwYWlyaW5ncy5hcHBlbmQoKGxjLCBsb2NhbGUuZ2V0bG9jYWxlKGxjKSkpCisgICAgICAgICAgICBleGNlcHQgVHlwZUVycm9yOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHJldHVybiBwYWlyaW5ncworICAgIGRlZiByZXN0b3JlX2xvY2FsZShzZWxmLCBzYXZlZCk6CisgICAgICAgIGZvciBsYywgc2V0dGluZyBpbiBzYXZlZDoKKyAgICAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobGMsIHNldHRpbmcpCisKICAgICBkZWYgcmVzb3VyY2VfaW5mbyhzZWxmKToKICAgICAgICAgZm9yIG5hbWUgaW4gc2VsZi5yZXNvdXJjZXM6CiAgICAgICAgICAgICBtZXRob2Rfc3VmZml4ID0gbmFtZS5yZXBsYWNlKCcuJywgJ18nKQpAQCAtMTIxMCw4ICsxMjkxLDcgQEAKICAgICAgICAgICAgIGFic3Rlc3QgPSAndGVzdC4nICsgdGVzdAogICAgICAgICB3aXRoIHNhdmVkX3Rlc3RfZW52aXJvbm1lbnQodGVzdCwgdmVyYm9zZSwgcXVpZXQpIGFzIGVudmlyb25tZW50OgogICAgICAgICAgICAgc3RhcnRfdGltZSA9IHRpbWUudGltZSgpCi0gICAgICAgICAgICB0aGVfcGFja2FnZSA9IF9faW1wb3J0X18oYWJzdGVzdCwgZ2xvYmFscygpLCBsb2NhbHMoKSwgW10pCi0gICAgICAgICAgICB0aGVfbW9kdWxlID0gZ2V0YXR0cih0aGVfcGFja2FnZSwgdGVzdCkKKyAgICAgICAgICAgIHRoZV9tb2R1bGUgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZShhYnN0ZXN0KQogICAgICAgICAgICAgIyBJZiB0aGUgdGVzdCBoYXMgYSB0ZXN0X21haW4sIHRoYXQgd2lsbCBydW4gdGhlIGFwcHJvcHJpYXRlCiAgICAgICAgICAgICAjIHRlc3RzLiAgSWYgbm90LCB1c2Ugbm9ybWFsIHVuaXR0ZXN0IHRlc3QgbG9hZGluZy4KICAgICAgICAgICAgIHRlc3RfcnVubmVyID0gZ2V0YXR0cih0aGVfbW9kdWxlLCAidGVzdF9tYWluIiwgTm9uZSkKQEAgLTEzMjcsNDEgKzE0MDcsNTAgQEAKICAgICAgICAgZm9yIG9iaiBpbiBhYmMuX19zdWJjbGFzc2VzX18oKSArIFthYmNdOgogICAgICAgICAgICAgYWJjc1tvYmpdID0gb2JqLl9hYmNfcmVnaXN0cnkuY29weSgpCiAKLSAgICBpZiBpbmRpcmVjdF90ZXN0OgotICAgICAgICBkZWYgcnVuX3RoZV90ZXN0KCk6Ci0gICAgICAgICAgICBpbmRpcmVjdF90ZXN0KCkKLSAgICBlbHNlOgotICAgICAgICBkZWYgcnVuX3RoZV90ZXN0KCk6Ci0gICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbdGhlX21vZHVsZS5fX25hbWVfX10KLSAgICAgICAgICAgIGV4ZWMoJ2ltcG9ydCAnICsgdGhlX21vZHVsZS5fX25hbWVfXykKLQotICAgIGRlbHRhcyA9IFtdCiAgICAgbndhcm11cCwgbnRyYWNrZWQsIGZuYW1lID0gaHVudHJsZWFrcwogICAgIGZuYW1lID0gb3MucGF0aC5qb2luKHN1cHBvcnQuU0FWRURDV0QsIGZuYW1lKQogICAgIHJlcGNvdW50ID0gbndhcm11cCArIG50cmFja2VkCisgICAgcmNfZGVsdGFzID0gWzBdICogcmVwY291bnQKKyAgICBhbGxvY19kZWx0YXMgPSBbMF0gKiByZXBjb3VudAorCiAgICAgcHJpbnQoImJlZ2lubmluZyIsIHJlcGNvdW50LCAicmVwZXRpdGlvbnMiLCBmaWxlPXN5cy5zdGRlcnIpCiAgICAgcHJpbnQoKCIxMjM0NTY3ODkwIioocmVwY291bnQvLzEwICsgMSkpWzpyZXBjb3VudF0sIGZpbGU9c3lzLnN0ZGVycikKICAgICBzeXMuc3RkZXJyLmZsdXNoKCkKLSAgICBkYXNoX1JfY2xlYW51cChmcywgcHMsIHBpYywgemRjLCBhYmNzKQogICAgIGZvciBpIGluIHJhbmdlKHJlcGNvdW50KToKLSAgICAgICAgcmNfYmVmb3JlID0gc3lzLmdldHRvdGFscmVmY291bnQoKQotICAgICAgICBydW5fdGhlX3Rlc3QoKQorICAgICAgICBpbmRpcmVjdF90ZXN0KCkKKyAgICAgICAgYWxsb2NfYWZ0ZXIsIHJjX2FmdGVyID0gZGFzaF9SX2NsZWFudXAoZnMsIHBzLCBwaWMsIHpkYywgYWJjcykKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnLicpCiAgICAgICAgIHN5cy5zdGRlcnIuZmx1c2goKQotICAgICAgICBkYXNoX1JfY2xlYW51cChmcywgcHMsIHBpYywgemRjLCBhYmNzKQotICAgICAgICByY19hZnRlciA9IHN5cy5nZXR0b3RhbHJlZmNvdW50KCkKICAgICAgICAgaWYgaSA+PSBud2FybXVwOgotICAgICAgICAgICAgZGVsdGFzLmFwcGVuZChyY19hZnRlciAtIHJjX2JlZm9yZSkKKyAgICAgICAgICAgIHJjX2RlbHRhc1tpXSA9IHJjX2FmdGVyIC0gcmNfYmVmb3JlCisgICAgICAgICAgICBhbGxvY19kZWx0YXNbaV0gPSBhbGxvY19hZnRlciAtIGFsbG9jX2JlZm9yZQorICAgICAgICBhbGxvY19iZWZvcmUsIHJjX2JlZm9yZSA9IGFsbG9jX2FmdGVyLCByY19hZnRlcgogICAgIHByaW50KGZpbGU9c3lzLnN0ZGVycikKLSAgICBpZiBhbnkoZGVsdGFzKToKLSAgICAgICAgbXNnID0gJyVzIGxlYWtlZCAlcyByZWZlcmVuY2VzLCBzdW09JXMnICUgKHRlc3QsIGRlbHRhcywgc3VtKGRlbHRhcykpCi0gICAgICAgIHByaW50KG1zZywgZmlsZT1zeXMuc3RkZXJyKQotICAgICAgICBzeXMuc3RkZXJyLmZsdXNoKCkKLSAgICAgICAgd2l0aCBvcGVuKGZuYW1lLCAiYSIpIGFzIHJlZnJlcDoKLSAgICAgICAgICAgIHByaW50KG1zZywgZmlsZT1yZWZyZXApCi0gICAgICAgICAgICByZWZyZXAuZmx1c2goKQotICAgICAgICByZXR1cm4gVHJ1ZQotICAgIHJldHVybiBGYWxzZQorICAgICMgVGhlc2UgY2hlY2tlcnMgcmV0dXJuIEZhbHNlIG9uIHN1Y2Nlc3MsIFRydWUgb24gZmFpbHVyZQorICAgIGRlZiBjaGVja19yY19kZWx0YXMoZGVsdGFzKToKKyAgICAgICAgcmV0dXJuIGFueShkZWx0YXMpCisgICAgZGVmIGNoZWNrX2FsbG9jX2RlbHRhcyhkZWx0YXMpOgorICAgICAgICAjIEF0IGxlYXN0IDEvM3JkIG9mIDBzCisgICAgICAgIGlmIDMgKiBkZWx0YXMuY291bnQoMCkgPCBsZW4oZGVsdGFzKToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgICMgTm90aGluZyBlbHNlIHRoYW4gMXMsIDBzIGFuZCAtMXMKKyAgICAgICAgaWYgbm90IHNldChkZWx0YXMpIDw9IHsxLDAsLTF9OgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgZmFpbGVkID0gRmFsc2UKKyAgICBmb3IgZGVsdGFzLCBpdGVtX25hbWUsIGNoZWNrZXIgaW4gWworICAgICAgICAocmNfZGVsdGFzLCAncmVmZXJlbmNlcycsIGNoZWNrX3JjX2RlbHRhcyksCisgICAgICAgIChhbGxvY19kZWx0YXMsICdtZW1vcnkgYmxvY2tzJywgY2hlY2tfYWxsb2NfZGVsdGFzKV06CisgICAgICAgIGlmIGNoZWNrZXIoZGVsdGFzKToKKyAgICAgICAgICAgIG1zZyA9ICclcyBsZWFrZWQgJXMgJXMsIHN1bT0lcycgJSAoCisgICAgICAgICAgICAgICAgdGVzdCwgZGVsdGFzW253YXJtdXA6XSwgaXRlbV9uYW1lLCBzdW0oZGVsdGFzKSkKKyAgICAgICAgICAgIHByaW50KG1zZywgZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgICAgc3lzLnN0ZGVyci5mbHVzaCgpCisgICAgICAgICAgICB3aXRoIG9wZW4oZm5hbWUsICJhIikgYXMgcmVmcmVwOgorICAgICAgICAgICAgICAgIHByaW50KG1zZywgZmlsZT1yZWZyZXApCisgICAgICAgICAgICAgICAgcmVmcmVwLmZsdXNoKCkKKyAgICAgICAgICAgIGZhaWxlZCA9IFRydWUKKyAgICByZXR1cm4gZmFpbGVkCiAKIGRlZiBkYXNoX1JfY2xlYW51cChmcywgcHMsIHBpYywgemRjLCBhYmNzKToKICAgICBpbXBvcnQgZ2MsIGNvcHlyZWcKQEAgLTE0MjcsOCArMTUxNiwxMSBAQAogICAgIGVsc2U6CiAgICAgICAgIGN0eXBlcy5fcmVzZXRfY2FjaGUoKQogCi0gICAgIyBDb2xsZWN0IGN5Y2xpYyB0cmFzaC4KKyAgICAjIENvbGxlY3QgY3ljbGljIHRyYXNoIGFuZCByZWFkIG1lbW9yeSBzdGF0aXN0aWNzIGltbWVkaWF0ZWx5IGFmdGVyLgorICAgIGZ1bmMxID0gc3lzLmdldGFsbG9jYXRlZGJsb2NrcworICAgIGZ1bmMyID0gc3lzLmdldHRvdGFscmVmY291bnQKICAgICBnYy5jb2xsZWN0KCkKKyAgICByZXR1cm4gZnVuYzEoKSwgZnVuYzIoKQogCiBkZWYgd2FybV9jYWNoZXMoKToKICAgICAjIGNoYXIgY2FjaGUKQEAgLTE0NzEsMzA3ICsxNTYzLDEwIEBACiAgICAgcHJpbnQoZmlsbCgnICcuam9pbihzdHIoZWx0KSBmb3IgZWx0IGluIHNvcnRlZCh4KSksIHdpZHRoLAogICAgICAgICAgICAgICAgaW5pdGlhbF9pbmRlbnQ9YmxhbmtzLCBzdWJzZXF1ZW50X2luZGVudD1ibGFua3MpKQogCi0jIE1hcCBzeXMucGxhdGZvcm0gdG8gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgYmFzZW5hbWVzIG9mIHRlc3RzCi0jIGV4cGVjdGVkIHRvIGJlIHNraXBwZWQgb24gdGhhdCBwbGF0Zm9ybS4KLSMKLSMgU3BlY2lhbCBjYXNlczoKLSMgICAgIHRlc3RfcGVwMjc3Ci0jICAgICAgICAgVGhlIF9FeHBlY3RlZFNraXBzIGNvbnN0cnVjdG9yIGFkZHMgdGhpcyB0byB0aGUgc2V0IG9mIGV4cGVjdGVkCi0jICAgICAgICAgc2tpcHMgaWYgbm90IG9zLnBhdGguc3VwcG9ydHNfdW5pY29kZV9maWxlbmFtZXMuCi0jICAgICB0ZXN0X3RpbWVvdXQKLSMgICAgICAgICBDb250cm9sbGVkIGJ5IHRlc3RfdGltZW91dC5za2lwX2V4cGVjdGVkLiAgUmVxdWlyZXMgdGhlIG5ldHdvcmsKLSMgICAgICAgICByZXNvdXJjZSBhbmQgYSBzb2NrZXQgbW9kdWxlLgotIwotIyBUZXN0cyB0aGF0IGFyZSBleHBlY3RlZCB0byBiZSBza2lwcGVkIGV2ZXJ5d2hlcmUgZXhjZXB0IG9uIG9uZSBwbGF0Zm9ybQotIyBhcmUgYWxzbyBoYW5kbGVkIHNlcGFyYXRlbHkuCiAKLV9leHBlY3RhdGlvbnMgPSAoCi0gICAgKCd3aW4zMicsCi0gICAgICAgICIiIgotICAgICAgICB0ZXN0X19sb2NhbGUKLSAgICAgICAgdGVzdF9jcnlwdAotICAgICAgICB0ZXN0X2N1cnNlcwotICAgICAgICB0ZXN0X2RibQotICAgICAgICB0ZXN0X2RldnBvbGwKLSAgICAgICAgdGVzdF9mY250bAotICAgICAgICB0ZXN0X2ZvcmsxCi0gICAgICAgIHRlc3RfZXBvbGwKLSAgICAgICAgdGVzdF9kYm1fZ251Ci0gICAgICAgIHRlc3RfZGJtX25kYm0KLSAgICAgICAgdGVzdF9ncnAKLSAgICAgICAgdGVzdF9pb2N0bAotICAgICAgICB0ZXN0X2xhcmdlZmlsZQotICAgICAgICB0ZXN0X2txdWV1ZQotICAgICAgICB0ZXN0X29wZW5wdHkKLSAgICAgICAgdGVzdF9vc3NhdWRpb2RldgotICAgICAgICB0ZXN0X3BpcGVzCi0gICAgICAgIHRlc3RfcG9sbAotICAgICAgICB0ZXN0X3Bvc2l4Ci0gICAgICAgIHRlc3RfcHR5Ci0gICAgICAgIHRlc3RfcHdkCi0gICAgICAgIHRlc3RfcmVzb3VyY2UKLSAgICAgICAgdGVzdF9zaWduYWwKLSAgICAgICAgdGVzdF9zeXNsb2cKLSAgICAgICAgdGVzdF90aHJlYWRzaWduYWxzCi0gICAgICAgIHRlc3Rfd2FpdDMKLSAgICAgICAgdGVzdF93YWl0NAotICAgICAgICAiIiIpLAotICAgICgnbGludXgnLAotICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9jdXJzZXMKLSAgICAgICAgdGVzdF9kZXZwb2xsCi0gICAgICAgIHRlc3RfbGFyZ2VmaWxlCi0gICAgICAgIHRlc3Rfa3F1ZXVlCi0gICAgICAgIHRlc3Rfb3NzYXVkaW9kZXYKLSAgICAgICAgIiIiKSwKLSAgICAoJ3VuaXh3YXJlJywKLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfZXBvbGwKLSAgICAgICAgdGVzdF9sYXJnZWZpbGUKLSAgICAgICAgdGVzdF9rcXVldWUKLSAgICAgICAgdGVzdF9taW5pZG9tCi0gICAgICAgIHRlc3Rfb3BlbnB0eQotICAgICAgICB0ZXN0X3B5ZXhwYXQKLSAgICAgICAgdGVzdF9zYXgKLSAgICAgICAgdGVzdF9zdW5kcnkKLSAgICAgICAgIiIiKSwKLSAgICAoJ29wZW51bml4JywKLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfZXBvbGwKLSAgICAgICAgdGVzdF9sYXJnZWZpbGUKLSAgICAgICAgdGVzdF9rcXVldWUKLSAgICAgICAgdGVzdF9taW5pZG9tCi0gICAgICAgIHRlc3Rfb3BlbnB0eQotICAgICAgICB0ZXN0X3B5ZXhwYXQKLSAgICAgICAgdGVzdF9zYXgKLSAgICAgICAgdGVzdF9zdW5kcnkKLSAgICAgICAgIiIiKSwKLSAgICAoJ3Njb19zdicsCi0gICAgICAgICIiIgotICAgICAgICB0ZXN0X2FzeW5jaGF0Ci0gICAgICAgIHRlc3RfZm9yazEKLSAgICAgICAgdGVzdF9lcG9sbAotICAgICAgICB0ZXN0X2dldHRleHQKLSAgICAgICAgdGVzdF9sYXJnZWZpbGUKLSAgICAgICAgdGVzdF9sb2NhbGUKLSAgICAgICAgdGVzdF9rcXVldWUKLSAgICAgICAgdGVzdF9taW5pZG9tCi0gICAgICAgIHRlc3Rfb3BlbnB0eQotICAgICAgICB0ZXN0X3B5ZXhwYXQKLSAgICAgICAgdGVzdF9xdWV1ZQotICAgICAgICB0ZXN0X3NheAotICAgICAgICB0ZXN0X3N1bmRyeQotICAgICAgICB0ZXN0X3RocmVhZAotICAgICAgICB0ZXN0X3RocmVhZGVkX2ltcG9ydAotICAgICAgICB0ZXN0X3RocmVhZGVkdGVtcGZpbGUKLSAgICAgICAgdGVzdF90aHJlYWRpbmcKLSAgICAgICAgIiIiKSwKLSAgICAoJ2RhcndpbicsCi0gICAgICAgICIiIgotICAgICAgICB0ZXN0X19sb2NhbGUKLSAgICAgICAgdGVzdF9jdXJzZXMKLSAgICAgICAgdGVzdF9kZXZwb2xsCi0gICAgICAgIHRlc3RfZXBvbGwKLSAgICAgICAgdGVzdF9kYm1fZ251Ci0gICAgICAgIHRlc3RfZ2RiCi0gICAgICAgIHRlc3RfbGFyZ2VmaWxlCi0gICAgICAgIHRlc3RfbG9jYWxlCi0gICAgICAgIHRlc3RfbWluaWRvbQotICAgICAgICB0ZXN0X29zc2F1ZGlvZGV2Ci0gICAgICAgIHRlc3RfcG9sbAotICAgICAgICAiIiIpLAotICAgICgnc3Vub3MnLAotICAgICAgICAiIiIKLSAgICAgICAgdGVzdF9jdXJzZXMKLSAgICAgICAgdGVzdF9kYm0KLSAgICAgICAgdGVzdF9lcG9sbAotICAgICAgICB0ZXN0X2txdWV1ZQotICAgICAgICB0ZXN0X2RibV9nbnUKLSAgICAgICAgdGVzdF9nemlwCi0gICAgICAgIHRlc3Rfb3BlbnB0eQotICAgICAgICB0ZXN0X3ppcGZpbGUKLSAgICAgICAgdGVzdF96bGliCi0gICAgICAgICIiIiksCi0gICAgKCdocC11eCcsCi0gICAgICAgICIiIgotICAgICAgICB0ZXN0X2N1cnNlcwotICAgICAgICB0ZXN0X2Vwb2xsCi0gICAgICAgIHRlc3RfZGJtX2dudQotICAgICAgICB0ZXN0X2d6aXAKLSAgICAgICAgdGVzdF9sYXJnZWZpbGUKLSAgICAgICAgdGVzdF9sb2NhbGUKLSAgICAgICAgdGVzdF9rcXVldWUKLSAgICAgICAgdGVzdF9taW5pZG9tCi0gICAgICAgIHRlc3Rfb3BlbnB0eQotICAgICAgICB0ZXN0X3B5ZXhwYXQKLSAgICAgICAgdGVzdF9zYXgKLSAgICAgICAgdGVzdF96aXBmaWxlCi0gICAgICAgIHRlc3RfemxpYgotICAgICAgICAiIiIpLAotICAgICgnY3lnd2luJywKLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfY3Vyc2VzCi0gICAgICAgIHRlc3RfZGJtCi0gICAgICAgIHRlc3RfZGV2cG9sbAotICAgICAgICB0ZXN0X2Vwb2xsCi0gICAgICAgIHRlc3RfaW9jdGwKLSAgICAgICAgdGVzdF9rcXVldWUKLSAgICAgICAgdGVzdF9sYXJnZWZpbGUKLSAgICAgICAgdGVzdF9sb2NhbGUKLSAgICAgICAgdGVzdF9vc3NhdWRpb2RldgotICAgICAgICB0ZXN0X3NvY2tldHNlcnZlcgotICAgICAgICAiIiIpLAotICAgICgnb3MyZW14JywKLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfYXVkaW9vcAotICAgICAgICB0ZXN0X2N1cnNlcwotICAgICAgICB0ZXN0X2Vwb2xsCi0gICAgICAgIHRlc3Rfa3F1ZXVlCi0gICAgICAgIHRlc3RfbGFyZ2VmaWxlCi0gICAgICAgIHRlc3RfbW1hcAotICAgICAgICB0ZXN0X29wZW5wdHkKLSAgICAgICAgdGVzdF9vc3NhdWRpb2RldgotICAgICAgICB0ZXN0X3B0eQotICAgICAgICB0ZXN0X3Jlc291cmNlCi0gICAgICAgIHRlc3Rfc2lnbmFsCi0gICAgICAgICIiIiksCi0gICAgKCdmcmVlYnNkJywKLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfZGV2cG9sbAotICAgICAgICB0ZXN0X2Vwb2xsCi0gICAgICAgIHRlc3RfZGJtX2dudQotICAgICAgICB0ZXN0X2xvY2FsZQotICAgICAgICB0ZXN0X29zc2F1ZGlvZGV2Ci0gICAgICAgIHRlc3RfcGVwMjc3Ci0gICAgICAgIHRlc3RfcHR5Ci0gICAgICAgIHRlc3Rfc29ja2V0c2VydmVyCi0gICAgICAgIHRlc3RfdGNsCi0gICAgICAgIHRlc3RfdGsKLSAgICAgICAgdGVzdF90dGtfZ3Vpb25seQotICAgICAgICB0ZXN0X3R0a190ZXh0b25seQotICAgICAgICB0ZXN0X3RpbWVvdXQKLSAgICAgICAgdGVzdF91cmxsaWJuZXQKLSAgICAgICAgdGVzdF9tdWx0aXByb2Nlc3NpbmcKLSAgICAgICAgIiIiKSwKLSAgICAoJ2FpeCcsCi0gICAgICAgICIiIgotICAgICAgICB0ZXN0X2J6MgotICAgICAgICB0ZXN0X2Vwb2xsCi0gICAgICAgIHRlc3RfZGJtX2dudQotICAgICAgICB0ZXN0X2d6aXAKLSAgICAgICAgdGVzdF9rcXVldWUKLSAgICAgICAgdGVzdF9vc3NhdWRpb2RldgotICAgICAgICB0ZXN0X3RjbAotICAgICAgICB0ZXN0X3RrCi0gICAgICAgIHRlc3RfdHRrX2d1aW9ubHkKLSAgICAgICAgdGVzdF90dGtfdGV4dG9ubHkKLSAgICAgICAgdGVzdF96aXBpbXBvcnQKLSAgICAgICAgdGVzdF96bGliCi0gICAgICAgICIiIiksCi0gICAgKCdvcGVuYnNkJywKLSAgICAgICAgIiIiCi0gICAgICAgIHRlc3RfY3R5cGVzCi0gICAgICAgIHRlc3RfZGV2cG9sbAotICAgICAgICB0ZXN0X2Vwb2xsCi0gICAgICAgIHRlc3RfZGJtX2dudQotICAgICAgICB0ZXN0X2xvY2FsZQotICAgICAgICB0ZXN0X25vcm1hbGl6YXRpb24KLSAgICAgICAgdGVzdF9vc3NhdWRpb2RldgotICAgICAgICB0ZXN0X3BlcDI3NwotICAgICAgICB0ZXN0X3RjbAotICAgICAgICB0ZXN0X3RrCi0gICAgICAgIHRlc3RfdHRrX2d1aW9ubHkKLSAgICAgICAgdGVzdF90dGtfdGV4dG9ubHkKLSAgICAgICAgdGVzdF9tdWx0aXByb2Nlc3NpbmcKLSAgICAgICAgIiIiKSwKLSAgICAoJ25ldGJzZCcsCi0gICAgICAgICIiIgotICAgICAgICB0ZXN0X2N0eXBlcwotICAgICAgICB0ZXN0X2N1cnNlcwotICAgICAgICB0ZXN0X2RldnBvbGwKLSAgICAgICAgdGVzdF9lcG9sbAotICAgICAgICB0ZXN0X2RibV9nbnUKLSAgICAgICAgdGVzdF9sb2NhbGUKLSAgICAgICAgdGVzdF9vc3NhdWRpb2RldgotICAgICAgICB0ZXN0X3BlcDI3NwotICAgICAgICB0ZXN0X3RjbAotICAgICAgICB0ZXN0X3RrCi0gICAgICAgIHRlc3RfdHRrX2d1aW9ubHkKLSAgICAgICAgdGVzdF90dGtfdGV4dG9ubHkKLSAgICAgICAgdGVzdF9tdWx0aXByb2Nlc3NpbmcKLSAgICAgICAgIiIiKSwKLSkKLQotY2xhc3MgX0V4cGVjdGVkU2tpcHM6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICBpbXBvcnQgb3MucGF0aAotICAgICAgICBmcm9tIHRlc3QgaW1wb3J0IHRlc3RfdGltZW91dAotCi0gICAgICAgIHNlbGYudmFsaWQgPSBGYWxzZQotICAgICAgICBleHBlY3RlZCA9IE5vbmUKLSAgICAgICAgZm9yIGl0ZW0gaW4gX2V4cGVjdGF0aW9uczoKLSAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKGl0ZW1bMF0pOgotICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gaXRlbVsxXQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGlmIGV4cGVjdGVkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgc2VsZi5leHBlY3RlZCA9IHNldChleHBlY3RlZC5zcGxpdCgpKQotCi0gICAgICAgICAgICAjIFRoZXNlIGFyZSBicm9rZW4gdGVzdHMsIGZvciBub3cgc2tpcHBlZCBvbiBldmVyeSBwbGF0Zm9ybS4KLSAgICAgICAgICAgICMgWFhYIEZpeCB0aGVzZSEKLSAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQuYWRkKCd0ZXN0X25pcycpCi0KLSAgICAgICAgICAgICMgZXhwZWN0ZWQgdG8gYmUgc2tpcHBlZCBvbiBldmVyeSBwbGF0Zm9ybSwgZXZlbiBMaW51eAotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguc3VwcG9ydHNfdW5pY29kZV9maWxlbmFtZXM6Ci0gICAgICAgICAgICAgICAgc2VsZi5leHBlY3RlZC5hZGQoJ3Rlc3RfcGVwMjc3JykKLQotICAgICAgICAgICAgIyBkb2N0ZXN0LCBwcm9maWxlIGFuZCBjUHJvZmlsZSB0ZXN0cyBmYWlsIHdoZW4gdGhlIGNvZGVjIGZvciB0aGUKLSAgICAgICAgICAgICMgZnMgZW5jb2RpbmcgaXNuJ3QgYnVpbHQgaW4gYmVjYXVzZSBQeVVuaWNvZGVfRGVjb2RlKCkgYWRkcyB0d28KLSAgICAgICAgICAgICMgY2FsbHMgaW50byBQeXRob24uCi0gICAgICAgICAgICBlbmNzID0gKCJ1dGYtOCIsICJsYXRpbi0xIiwgImFzY2lpIiwgIm1iY3MiLCAidXRmLTE2IiwgInV0Zi0zMiIpCi0gICAgICAgICAgICBpZiBzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkubG93ZXIoKSBub3QgaW4gZW5jczoKLSAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkLmFkZCgndGVzdF9wcm9maWxlJykKLSAgICAgICAgICAgICAgICBzZWxmLmV4cGVjdGVkLmFkZCgndGVzdF9jUHJvZmlsZScpCi0gICAgICAgICAgICAgICAgc2VsZi5leHBlY3RlZC5hZGQoJ3Rlc3RfZG9jdGVzdCcpCi0KLSAgICAgICAgICAgIGlmIHRlc3RfdGltZW91dC5za2lwX2V4cGVjdGVkOgotICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQuYWRkKCd0ZXN0X3RpbWVvdXQnKQotCi0gICAgICAgICAgICBpZiBzeXMucGxhdGZvcm0gIT0gIndpbjMyIjoKLSAgICAgICAgICAgICAgICAjIHRlc3Rfc3FsaXRlIGlzIG9ubHkgcmVsaWFibGUgb24gV2luZG93cyB3aGVyZSB0aGUgbGlicmFyeQotICAgICAgICAgICAgICAgICMgaXMgZGlzdHJpYnV0ZWQgd2l0aCBQeXRob24KLSAgICAgICAgICAgICAgICBXSU5fT05MWSA9IHsidGVzdF91bmljb2RlX2ZpbGUiLCAidGVzdF93aW5yZWciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X3dpbnNvdW5kIiwgInRlc3Rfc3RhcnRmaWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9zcWxpdGUiLCAidGVzdF9tc2lsaWIifQotICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQgfD0gV0lOX09OTFkKLQotICAgICAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICdzdW5vczUnOgotICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQuYWRkKCd0ZXN0X25pcycpCi0KLSAgICAgICAgICAgIGlmIHN1cHBvcnQucHl0aG9uX2lzX29wdGltaXplZCgpOgotICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQuYWRkKCJ0ZXN0X2dkYiIpCi0KLSAgICAgICAgICAgIHNlbGYudmFsaWQgPSBUcnVlCi0KLSAgICBkZWYgaXN2YWxpZChzZWxmKToKLSAgICAgICAgIlJldHVybiB0cnVlIGlmZiBfRXhwZWN0ZWRTa2lwcyBrbm93cyBhYm91dCB0aGUgY3VycmVudCBwbGF0Zm9ybS4iCi0gICAgICAgIHJldHVybiBzZWxmLnZhbGlkCi0KLSAgICBkZWYgZ2V0ZXhwZWN0ZWQoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiBzZXQgb2YgdGVzdCBuYW1lcyB3ZSBleHBlY3QgdG8gc2tpcCBvbiBjdXJyZW50IHBsYXRmb3JtLgotCi0gICAgICAgIHNlbGYuaXN2YWxpZCgpIG11c3QgYmUgdHJ1ZS4KLSAgICAgICAgIiIiCi0KLSAgICAgICAgYXNzZXJ0IHNlbGYuaXN2YWxpZCgpCi0gICAgICAgIHJldHVybiBzZWxmLmV4cGVjdGVkCi0KLWRlZiBfbWFrZV90ZW1wX2Rpcl9mb3JfYnVpbGQoVEVNUERJUik6Ci0gICAgIyBXaGVuIHRlc3RzIGFyZSBydW4gZnJvbSB0aGUgUHl0aG9uIGJ1aWxkIGRpcmVjdG9yeSwgaXQgaXMgYmVzdCBwcmFjdGljZQotICAgICMgdG8ga2VlcCB0aGUgdGVzdCBmaWxlcyBpbiBhIHN1YmZvbGRlci4gIEl0IGVhc2VzIHRoZSBjbGVhbnVwIG9mIGxlZnRvdmVyCi0gICAgIyBmaWxlcyB1c2luZyBjb21tYW5kICJtYWtlIGRpc3RjbGVhbiIuCitkZWYgbWFpbl9pbl90ZW1wX2N3ZCgpOgorICAgICIiIlJ1biBtYWluKCkgaW4gYSB0ZW1wb3Jhcnkgd29ya2luZyBkaXJlY3RvcnkuIiIiCiAgICAgaWYgc3lzY29uZmlnLmlzX3B5dGhvbl9idWlsZCgpOgotICAgICAgICBURU1QRElSID0gb3MucGF0aC5qb2luKHN5c2NvbmZpZy5nZXRfY29uZmlnX3Zhcignc3JjZGlyJyksICdidWlsZCcpCi0gICAgICAgIFRFTVBESVIgPSBvcy5wYXRoLmFic3BhdGgoVEVNUERJUikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWtkaXIoVEVNUERJUikKICAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKQEAgLTE3ODAsMTAgKzE1NzUsMTYgQEAKICAgICAjIERlZmluZSBhIHdyaXRhYmxlIHRlbXAgZGlyIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGN3ZCB3aGlsZSBydW5uaW5nCiAgICAgIyB0aGUgdGVzdHMuIFRoZSBuYW1lIG9mIHRoZSBkaXIgaW5jbHVkZXMgdGhlIHBpZCB0byBhbGxvdyBwYXJhbGxlbAogICAgICMgdGVzdGluZyAoc2VlIHRoZSAtaiBvcHRpb24pLgotICAgIFRFU1RDV0QgPSAndGVzdF9weXRob25fe30nLmZvcm1hdChvcy5nZXRwaWQoKSkKKyAgICB0ZXN0X2N3ZCA9ICd0ZXN0X3B5dGhvbl97fScuZm9ybWF0KG9zLmdldHBpZCgpKQorICAgIHRlc3RfY3dkID0gb3MucGF0aC5qb2luKFRFTVBESVIsIHRlc3RfY3dkKQogCi0gICAgVEVTVENXRCA9IG9zLnBhdGguam9pbihURU1QRElSLCBURVNUQ1dEKQotICAgIHJldHVybiBURU1QRElSLCBURVNUQ1dECisgICAgIyBSdW4gdGhlIHRlc3RzIGluIGEgY29udGV4dCBtYW5hZ2VyIHRoYXQgdGVtcG9yYXJpbHkgY2hhbmdlcyB0aGUgQ1dEIHRvIGEKKyAgICAjIHRlbXBvcmFyeSBhbmQgd3JpdGFibGUgZGlyZWN0b3J5LiAgSWYgaXQncyBub3QgcG9zc2libGUgdG8gY3JlYXRlIG9yCisgICAgIyBjaGFuZ2UgdGhlIENXRCwgdGhlIG9yaWdpbmFsIENXRCB3aWxsIGJlIHVzZWQuICBUaGUgb3JpZ2luYWwgQ1dEIGlzCisgICAgIyBhdmFpbGFibGUgZnJvbSBzdXBwb3J0LlNBVkVEQ1dELgorICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZCh0ZXN0X2N3ZCwgcXVpZXQ9VHJ1ZSk6CisgICAgICAgIG1haW4oKQorCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgIyBSZW1vdmUgcmVncnRlc3QucHkncyBvd24gZGlyZWN0b3J5IGZyb20gdGhlIG1vZHVsZSBzZWFyY2ggcGF0aC4gRGVzcGl0ZQpAQCAtMTgwNywxMSArMTYwOCw0IEBACiAgICAgIyBzYW5pdHkgY2hlY2sKICAgICBhc3NlcnQgX19maWxlX18gPT0gb3MucGF0aC5hYnNwYXRoKHN5cy5hcmd2WzBdKQogCi0gICAgVEVNUERJUiwgVEVTVENXRCA9IF9tYWtlX3RlbXBfZGlyX2Zvcl9idWlsZChURU1QRElSKQotCi0gICAgIyBSdW4gdGhlIHRlc3RzIGluIGEgY29udGV4dCBtYW5hZ2VyIHRoYXQgdGVtcG9yYXJ5IGNoYW5nZXMgdGhlIENXRCB0byBhCi0gICAgIyB0ZW1wb3JhcnkgYW5kIHdyaXRhYmxlIGRpcmVjdG9yeS4gSWYgaXQncyBub3QgcG9zc2libGUgdG8gY3JlYXRlIG9yCi0gICAgIyBjaGFuZ2UgdGhlIENXRCwgdGhlIG9yaWdpbmFsIENXRCB3aWxsIGJlIHVzZWQuIFRoZSBvcmlnaW5hbCBDV0QgaXMKLSAgICAjIGF2YWlsYWJsZSBmcm9tIHN1cHBvcnQuU0FWRURDV0QuCi0gICAgd2l0aCBzdXBwb3J0LnRlbXBfY3dkKFRFU1RDV0QsIHF1aWV0PVRydWUpOgotICAgICAgICBtYWluKCkKKyAgICBtYWluX2luX3RlbXBfY3dkKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3NvcnRwZXJmLnB5IGIvTGliL3Rlc3Qvc29ydHBlcmYucHkKaW5kZXggYWY3YzBiNC4uOTA3MjJmNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc29ydHBlcmYucHkKKysrIGIvTGliL3Rlc3Qvc29ydHBlcmYucHkKQEAgLTIyLDcgKzIyLDcgQEAKICAgICBmbiA9IG9zLnBhdGguam9pbih0ZCwgInJyJTA2ZCIgJSBuKQogICAgIHRyeToKICAgICAgICAgZnAgPSBvcGVuKGZuLCAicmIiKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICByID0gcmFuZG9tLnJhbmRvbQogICAgICAgICByZXN1bHQgPSBbcigpIGZvciBpIGluIHJhbmdlKG4pXQogICAgICAgICB0cnk6CkBAIC0zNSw5ICszNSw5IEBACiAgICAgICAgICAgICAgICAgaWYgZnA6CiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnVubGluayhmbikKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICBwcmludCgiY2FuJ3Qgd3JpdGUiLCBmbiwgIjoiLCBtc2cpCiAgICAgZWxzZToKICAgICAgICAgcmVzdWx0ID0gbWFyc2hhbC5sb2FkKGZwKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3Qvc3NsX3NlcnZlcnMucHkgYi9MaWIvdGVzdC9zc2xfc2VydmVycy5weQppbmRleCA4Njg2MTUzLi43NTliM2Y0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zc2xfc2VydmVycy5weQorKysgYi9MaWIvdGVzdC9zc2xfc2VydmVycy5weQpAQCAtMzUsNyArMzUsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzb2NrLCBhZGRyID0gc2VsZi5zb2NrZXQuYWNjZXB0KCkKICAgICAgICAgICAgIHNzbGNvbm4gPSBzZWxmLmNvbnRleHQud3JhcF9zb2NrZXQoc29jaywgc2VydmVyX3NpZGU9VHJ1ZSkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgIyBzb2NrZXQgZXJyb3JzIGFyZSBzaWxlbmNlZCBieSB0aGUgY2FsbGVyLCBwcmludCB0aGVtIGhlcmUKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJHb3QgYW4gZXJyb3I6XG4lc1xuIiAlIGUpCkBAIC0xNDcsOSArMTQ3LDExIEBACiAgICAgICAgIHNlbGYuc2VydmVyLnNodXRkb3duKCkKIAogCi1kZWYgbWFrZV9odHRwc19zZXJ2ZXIoY2FzZSwgY2VydGZpbGU9Q0VSVEZJTEUsIGhvc3Q9SE9TVCwgaGFuZGxlcl9jbGFzcz1Ob25lKToKLSAgICAjIHdlIGFzc3VtZSB0aGUgY2VydGZpbGUgY29udGFpbnMgYm90aCBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUKLSAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKK2RlZiBtYWtlX2h0dHBzX3NlcnZlcihjYXNlLCAqLCBjb250ZXh0PU5vbmUsIGNlcnRmaWxlPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgIGhvc3Q9SE9TVCwgaGFuZGxlcl9jbGFzcz1Ob25lKToKKyAgICBpZiBjb250ZXh0IGlzIE5vbmU6CisgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQorICAgICMgV2UgYXNzdW1lIHRoZSBjZXJ0ZmlsZSBjb250YWlucyBib3RoIHByaXZhdGUga2V5IGFuZCBjZXJ0aWZpY2F0ZQogICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKGNlcnRmaWxlKQogICAgIHNlcnZlciA9IEhUVFBTU2VydmVyVGhyZWFkKGNvbnRleHQsIGhvc3QsIGhhbmRsZXJfY2xhc3MpCiAgICAgZmxhZyA9IHRocmVhZGluZy5FdmVudCgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zdXBwb3J0LnB5IGIvTGliL3Rlc3Qvc3VwcG9ydC5weQppbmRleCBiYzUxNzZhLi45N2RlNjA4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zdXBwb3J0LnB5CisrKyBiL0xpYi90ZXN0L3N1cHBvcnQucHkKQEAgLTkzLDcgKzkzLDggQEAKICAgICAiIiJDb250ZXh0IG1hbmFnZXIgdG8gc3VwcHJlc3MgcGFja2FnZSBhbmQgbW9kdWxlIGRlcHJlY2F0aW9uCiAgICAgd2FybmluZ3Mgd2hlbiBpbXBvcnRpbmcgdGhlbS4KIAotICAgIElmIGlnbm9yZSBpcyBGYWxzZSwgdGhpcyBjb250ZXh0IG1hbmFnZXIgaGFzIG5vIGVmZmVjdC4iIiIKKyAgICBJZiBpZ25vcmUgaXMgRmFsc2UsIHRoaXMgY29udGV4dCBtYW5hZ2VyIGhhcyBubyBlZmZlY3QuCisgICAgIiIiCiAgICAgaWYgaWdub3JlOgogICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygiaWdub3JlIiwgIi4rIChtb2R1bGV8cGFja2FnZSkiLApAQCAtMTAzLDIzICsxMDQsMjkgQEAKICAgICAgICAgeWllbGQKIAogCi1kZWYgaW1wb3J0X21vZHVsZShuYW1lLCBkZXByZWNhdGVkPUZhbHNlKToKK2RlZiBpbXBvcnRfbW9kdWxlKG5hbWUsIGRlcHJlY2F0ZWQ9RmFsc2UsICosIHJlcXVpcmVkX29uPSgpKToKICAgICAiIiJJbXBvcnQgYW5kIHJldHVybiB0aGUgbW9kdWxlIHRvIGJlIHRlc3RlZCwgcmFpc2luZyBTa2lwVGVzdCBpZgogICAgIGl0IGlzIG5vdCBhdmFpbGFibGUuCiAKICAgICBJZiBkZXByZWNhdGVkIGlzIFRydWUsIGFueSBtb2R1bGUgb3IgcGFja2FnZSBkZXByZWNhdGlvbiBtZXNzYWdlcwotICAgIHdpbGwgYmUgc3VwcHJlc3NlZC4iIiIKKyAgICB3aWxsIGJlIHN1cHByZXNzZWQuIElmIGEgbW9kdWxlIGlzIHJlcXVpcmVkIG9uIGEgcGxhdGZvcm0gYnV0IG9wdGlvbmFsIGZvcgorICAgIG90aGVycywgc2V0IHJlcXVpcmVkX29uIHRvIGFuIGl0ZXJhYmxlIG9mIHBsYXRmb3JtIHByZWZpeGVzIHdoaWNoIHdpbGwgYmUKKyAgICBjb21wYXJlZCBhZ2FpbnN0IHN5cy5wbGF0Zm9ybS4KKyAgICAiIiIKICAgICB3aXRoIF9pZ25vcmVfZGVwcmVjYXRlZF9pbXBvcnRzKGRlcHJlY2F0ZWQpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUobmFtZSkKICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKHR1cGxlKHJlcXVpcmVkX29uKSk6CisgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KHN0cihtc2cpKQogCiAKIGRlZiBfc2F2ZV9hbmRfcmVtb3ZlX21vZHVsZShuYW1lLCBvcmlnX21vZHVsZXMpOgogICAgICIiIkhlbHBlciBmdW5jdGlvbiB0byBzYXZlIGFuZCByZW1vdmUgYSBtb2R1bGUgZnJvbSBzeXMubW9kdWxlcwogCi0gICAgICAgUmFpc2UgSW1wb3J0RXJyb3IgaWYgdGhlIG1vZHVsZSBjYW4ndCBiZSBpbXBvcnRlZC4iIiIKKyAgICAgICBSYWlzZSBJbXBvcnRFcnJvciBpZiB0aGUgbW9kdWxlIGNhbid0IGJlIGltcG9ydGVkLgorICAgICAgICIiIgogICAgICMgdHJ5IHRvIGltcG9ydCB0aGUgbW9kdWxlIGFuZCByYWlzZSBhbiBlcnJvciBpZiBpdCBjYW4ndCBiZSBpbXBvcnRlZAogICAgIGlmIG5hbWUgbm90IGluIHN5cy5tb2R1bGVzOgogICAgICAgICBfX2ltcG9ydF9fKG5hbWUpCkBAIC0yODQsMjUgKzI5MSwyMCBAQAogZGVmIHVubGluayhmaWxlbmFtZSk6CiAgICAgdHJ5OgogICAgICAgICBfdW5saW5rKGZpbGVuYW1lKQotICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgotICAgICAgICAjIFRoZSBmaWxlbmFtZSBuZWVkIG5vdCBleGlzdC4KLSAgICAgICAgaWYgZXJyb3IuZXJybm8gbm90IGluIChlcnJuby5FTk9FTlQsIGVycm5vLkVOT1RESVIpOgotICAgICAgICAgICAgcmFpc2UKKyAgICBleGNlcHQgKEZpbGVOb3RGb3VuZEVycm9yLCBOb3RBRGlyZWN0b3J5RXJyb3IpOgorICAgICAgICBwYXNzCiAKIGRlZiBybWRpcihkaXJuYW1lKToKICAgICB0cnk6CiAgICAgICAgIF9ybWRpcihkaXJuYW1lKQotICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgotICAgICAgICAjIFRoZSBkaXJlY3RvcnkgbmVlZCBub3QgZXhpc3QuCi0gICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVOT0VOVDoKLSAgICAgICAgICAgIHJhaXNlCisgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICBwYXNzCiAKIGRlZiBybXRyZWUocGF0aCk6CiAgICAgdHJ5OgogICAgICAgICBfcm10cmVlKHBhdGgpCi0gICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyb3I6Ci0gICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVOT0VOVDoKLSAgICAgICAgICAgIHJhaXNlCisgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICBwYXNzCiAKIGRlZiBtYWtlX2xlZ2FjeV9weWMoc291cmNlKToKICAgICAiIiJNb3ZlIGEgUEVQIDMxNDcgcHljL3B5byBmaWxlIHRvIGl0cyBsZWdhY3kgcHljL3B5byBsb2NhdGlvbi4KQEAgLTQ4OSw3ICs0OTEsNyBAQAogICAgIHRoZSBTT19SRVVTRUFERFIgc29ja2V0IG9wdGlvbiBoYXZpbmcgZGlmZmVyZW50IHNlbWFudGljcyBvbiBXaW5kb3dzIHZlcnN1cwogICAgIFVuaXgvTGludXguICBPbiBVbml4LCB5b3UgY2FuJ3QgaGF2ZSB0d28gQUZfSU5FVCBTT0NLX1NUUkVBTSBzb2NrZXRzIGJpbmQsCiAgICAgbGlzdGVuIGFuZCB0aGVuIGFjY2VwdCBjb25uZWN0aW9ucyBvbiBpZGVudGljYWwgaG9zdC9wb3J0cy4gIEFuIEVBRERSSU5VU0UKLSAgICBzb2NrZXQuZXJyb3Igd2lsbCBiZSByYWlzZWQgYXQgc29tZSBwb2ludCAoZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSBhbmQKKyAgICBPU0Vycm9yIHdpbGwgYmUgcmFpc2VkIGF0IHNvbWUgcG9pbnQgKGRlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0gYW5kCiAgICAgdGhlIG9yZGVyIGJpbmQgYW5kIGxpc3RlbiB3ZXJlIGNhbGxlZCBvbiBlYWNoIHNvY2tldCkuCiAKICAgICBIb3dldmVyLCBvbiBXaW5kb3dzLCBpZiBTT19SRVVTRUFERFIgaXMgc2V0IG9uIHRoZSBzb2NrZXRzLCBubyBFQUREUklOVVNFCkBAIC01NjMsNyArNTY1LDcgQEAKICAgICAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUNiwgc29ja2V0LlNPQ0tfU1RSRUFNKQogICAgICAgICAgICAgc29jay5iaW5kKCgnOjoxJywgMCkpCiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICBleGNlcHQgKHNvY2tldC5lcnJvciwgc29ja2V0LmdhaWVycm9yKToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBpZiBzb2NrOgpAQCAtMTA5Miw5ICsxMDk0LDkgQEAKICMgQ29udGV4dCBtYW5hZ2VycyB0aGF0IHJhaXNlIFJlc291cmNlRGVuaWVkIHdoZW4gdmFyaW91cyBpc3N1ZXMKICMgd2l0aCB0aGUgSW50ZXJuZXQgY29ubmVjdGlvbiBtYW5pZmVzdCB0aGVtc2VsdmVzIGFzIGV4Y2VwdGlvbnMuCiAjIFhYWCBkZXByZWNhdGUgdGhlc2UgYW5kIHVzZSB0cmFuc2llbnRfaW50ZXJuZXQoKSBpbnN0ZWFkCi10aW1lX291dCA9IFRyYW5zaWVudFJlc291cmNlKElPRXJyb3IsIGVycm5vPWVycm5vLkVUSU1FRE9VVCkKLXNvY2tldF9wZWVyX3Jlc2V0ID0gVHJhbnNpZW50UmVzb3VyY2Uoc29ja2V0LmVycm9yLCBlcnJubz1lcnJuby5FQ09OTlJFU0VUKQotaW9lcnJvcl9wZWVyX3Jlc2V0ID0gVHJhbnNpZW50UmVzb3VyY2UoSU9FcnJvciwgZXJybm89ZXJybm8uRUNPTk5SRVNFVCkKK3RpbWVfb3V0ID0gVHJhbnNpZW50UmVzb3VyY2UoT1NFcnJvciwgZXJybm89ZXJybm8uRVRJTUVET1VUKQorc29ja2V0X3BlZXJfcmVzZXQgPSBUcmFuc2llbnRSZXNvdXJjZShPU0Vycm9yLCBlcnJubz1lcnJuby5FQ09OTlJFU0VUKQoraW9lcnJvcl9wZWVyX3Jlc2V0ID0gVHJhbnNpZW50UmVzb3VyY2UoT1NFcnJvciwgZXJybm89ZXJybm8uRUNPTk5SRVNFVCkKIAogCiBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgpAQCAtMTE0MCwxNyArMTE0MiwxNyBAQAogICAgICAgICBpZiB0aW1lb3V0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc29ja2V0LnNldGRlZmF1bHR0aW1lb3V0KHRpbWVvdXQpCiAgICAgICAgIHlpZWxkCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgIyB1cmxsaWIgY2FuIHdyYXAgb3JpZ2luYWwgc29ja2V0IGVycm9ycyBtdWx0aXBsZSB0aW1lcyAoISksIHdlIG11c3QKICAgICAgICAgIyB1bndyYXAgdG8gZ2V0IGF0IHRoZSBvcmlnaW5hbCBlcnJvci4KICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIGEgPSBlcnIuYXJncwotICAgICAgICAgICAgaWYgbGVuKGEpID49IDEgYW5kIGlzaW5zdGFuY2UoYVswXSwgSU9FcnJvcik6CisgICAgICAgICAgICBpZiBsZW4oYSkgPj0gMSBhbmQgaXNpbnN0YW5jZShhWzBdLCBPU0Vycm9yKToKICAgICAgICAgICAgICAgICBlcnIgPSBhWzBdCiAgICAgICAgICAgICAjIFRoZSBlcnJvciBjYW4gYWxzbyBiZSB3cmFwcGVkIGFzIGFyZ3NbMV06CiAgICAgICAgICAgICAjICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgbXNnOgotICAgICAgICAgICAgIyAgICAgICAgcmFpc2UgSU9FcnJvcignc29ja2V0IGVycm9yJywgbXNnKS53aXRoX3RyYWNlYmFjayhzeXMuZXhjX2luZm8oKVsyXSkKLSAgICAgICAgICAgIGVsaWYgbGVuKGEpID49IDIgYW5kIGlzaW5zdGFuY2UoYVsxXSwgSU9FcnJvcik6CisgICAgICAgICAgICAjICAgICAgICByYWlzZSBPU0Vycm9yKCdzb2NrZXQgZXJyb3InLCBtc2cpLndpdGhfdHJhY2ViYWNrKHN5cy5leGNfaW5mbygpWzJdKQorICAgICAgICAgICAgZWxpZiBsZW4oYSkgPj0gMiBhbmQgaXNpbnN0YW5jZShhWzFdLCBPU0Vycm9yKToKICAgICAgICAgICAgICAgICBlcnIgPSBhWzFdCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0xNzc3LDcgKzE3NzksNyBAQAogICAgIFRoaXMgd2lsbCB0eXBpY2FsbHkgYmUgcnVuIG9uIHRoZSByZXN1bHQgb2YgdGhlIGNvbW11bmljYXRlKCkgbWV0aG9kCiAgICAgb2YgYSBzdWJwcm9jZXNzLlBvcGVuIG9iamVjdC4KICAgICAiIiIKLSAgICBzdGRlcnIgPSByZS5zdWIoYnIiXFtcZCsgcmVmc1xdXHI/XG4/IiwgYiIiLCBzdGRlcnIpLnN0cmlwKCkKKyAgICBzdGRlcnIgPSByZS5zdWIoYnIiXFtcZCsgcmVmcywgXGQrIGJsb2Nrc1xdXHI/XG4/IiwgYiIiLCBzdGRlcnIpLnN0cmlwKCkKICAgICByZXR1cm4gc3RkZXJyCiAKIGRlZiBhcmdzX2Zyb21faW50ZXJwcmV0ZXJfZmxhZ3MoKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYWJjLnB5IGIvTGliL3Rlc3QvdGVzdF9hYmMucHkKaW5kZXggNjUzYzk1Ny4uMzQ5ODUyNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9hYmMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hYmMucHkKQEAgLTk2LDYgKzk2LDE5IEBACiAKIGNsYXNzIFRlc3RBQkModW5pdHRlc3QuVGVzdENhc2UpOgogCisgICAgZGVmIHRlc3RfQUJDX2hlbHBlcihzZWxmKToKKyAgICAgICAgIyBjcmVhdGUgYW4gQUJDIHVzaW5nIHRoZSBoZWxwZXIgY2xhc3MgYW5kIHBlcmZvcm0gYmFzaWMgY2hlY2tzCisgICAgICAgIGNsYXNzIEMoYWJjLkFCQyk6CisgICAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICAgICAgICAgIGRlZiBmb28oY2xzKTogcmV0dXJuIGNscy5fX25hbWVfXworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoQyksIGFiYy5BQkNNZXRhKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEMpCisgICAgICAgIGNsYXNzIEQoQyk6CisgICAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICAgIGRlZiBmb28oY2xzKTogcmV0dXJuIHN1cGVyKCkuZm9vKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChELmZvbygpLCAnRCcpCisKICAgICBkZWYgdGVzdF9hYnN0cmFjdG1ldGhvZF9iYXNpY3Moc2VsZik6CiAgICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKICAgICAgICAgZGVmIGZvbyhzZWxmKTogcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9haWZjLnB5IGIvTGliL3Rlc3QvdGVzdF9haWZjLnB5CmluZGV4IDljMGU3YjkuLjk4ZDQzZTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYWlmYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FpZmMucHkKQEAgLTQzLDYgKzQzLDE4IEBACiAgICAgICAgICAgICAoMiwgMiwgNDgwMDAsIDE0NDAwLCBiJ05PTkUnLCBiJ25vdCBjb21wcmVzc2VkJyksCiAgICAgICAgICAgICApCiAKKyAgICBkZWYgdGVzdF9jb250ZXh0X21hbmFnZXIoc2VsZik6CisgICAgICAgIHdpdGggb3BlbihzZWxmLnNuZGZpbGVwYXRoLCAncmInKSBhcyB0ZXN0ZmlsZToKKyAgICAgICAgICAgIHdpdGggYWlmYy5vcGVuKHRlc3RmaWxlKSBhcyBmOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdGZpbGUuY2xvc2VkLCBUcnVlKQorICAgICAgICB3aXRoIG9wZW4oVEVTVEZOLCAnd2InKSBhcyB0ZXN0ZmlsZToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoYWlmYy5FcnJvcik6CisgICAgICAgICAgICAgICAgd2l0aCBhaWZjLm9wZW4odGVzdGZpbGUsICd3YicpIGFzIGZvdXQ6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGVzdGZpbGUuY2xvc2VkLCBUcnVlKQorICAgICAgICAgICAgZm91dC5jbG9zZSgpICMgZG8gbm90aGluZworCiAgICAgZGVmIHRlc3RfcmVhZChzZWxmKToKICAgICAgICAgZiA9IHNlbGYuZiA9IGFpZmMub3BlbihzZWxmLnNuZGZpbGVwYXRoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZGZyYW1lcygwKSwgYicnKQpAQCAtMzE5LDEyICszMzEsMTQgQEAKIAogICAgIGRlZiB0ZXN0X3dyaXRlX2FpZmZfYnlfZXh0ZW5zaW9uKHNlbGYpOgogICAgICAgICBzYW1wd2lkdGggPSAyCi0gICAgICAgIGZvdXQgPSBzZWxmLmZvdXQgPSBhaWZjLm9wZW4oVEVTVEZOICsgJy5haWZmJywgJ3diJykKKyAgICAgICAgZmlsZW5hbWUgPSBURVNURk4gKyAnLmFpZmYnCisgICAgICAgIGZvdXQgPSBzZWxmLmZvdXQgPSBhaWZjLm9wZW4oZmlsZW5hbWUsICd3YicpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cCh1bmxpbmssIGZpbGVuYW1lKQogICAgICAgICBmb3V0LnNldHBhcmFtcygoMSwgc2FtcHdpZHRoLCAxLCAxLCBiJ1VMQVcnLCBiJycpKQogICAgICAgICBmcmFtZXMgPSBiJ1x4MDAnICogZm91dC5nZXRuY2hhbm5lbHMoKSAqIHNhbXB3aWR0aAogICAgICAgICBmb3V0LndyaXRlZnJhbWVzKGZyYW1lcykKICAgICAgICAgZm91dC5jbG9zZSgpCi0gICAgICAgIGYgPSBzZWxmLmYgPSBhaWZjLm9wZW4oVEVTVEZOICsgJy5haWZmJywgJ3JiJykKKyAgICAgICAgZiA9IHNlbGYuZiA9IGFpZmMub3BlbihmaWxlbmFtZSwgJ3JiJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLmdldGNvbXB0eXBlKCksIGInTk9ORScpCiAgICAgICAgIGYuY2xvc2UoKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5IGIvTGliL3Rlc3QvdGVzdF9hcmdwYXJzZS5weQppbmRleCBjMDZjOTQwLi4wMGNkZTJlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkKQEAgLTE0LDYgKzE0LDcgQEAKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPCiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAorZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jawogY2xhc3MgU3RkSU9CdWZmZXIoU3RyaW5nSU8pOgogICAgIHBhc3MKIApAQCAtMTQyMSw2ICsxNDIyLDE5IEBACiAgICAgICAgIHR5cGUgPSBhcmdwYXJzZS5GaWxlVHlwZSgnd2InLCAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJGaWxlVHlwZSgnd2InLCAxKSIsIHJlcHIodHlwZSkpCiAKKyAgICBkZWYgdGVzdF9yX2xhdGluKHNlbGYpOgorICAgICAgICB0eXBlID0gYXJncGFyc2UuRmlsZVR5cGUoJ3InLCBlbmNvZGluZz0nbGF0aW5fMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIkZpbGVUeXBlKCdyJywgZW5jb2Rpbmc9J2xhdGluXzEnKSIsIHJlcHIodHlwZSkpCisKKyAgICBkZWYgdGVzdF93X2JpZzVfaWdub3JlKHNlbGYpOgorICAgICAgICB0eXBlID0gYXJncGFyc2UuRmlsZVR5cGUoJ3cnLCBlbmNvZGluZz0nYmlnNScsIGVycm9ycz0naWdub3JlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiRmlsZVR5cGUoJ3cnLCBlbmNvZGluZz0nYmlnNScsIGVycm9ycz0naWdub3JlJykiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIodHlwZSkpCisKKyAgICBkZWYgdGVzdF9yXzFfcmVwbGFjZShzZWxmKToKKyAgICAgICAgdHlwZSA9IGFyZ3BhcnNlLkZpbGVUeXBlKCdyJywgMSwgZXJyb3JzPSdyZXBsYWNlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiRmlsZVR5cGUoJ3InLCAxLCBlcnJvcnM9J3JlcGxhY2UnKSIsIHJlcHIodHlwZSkpCisKIAogY2xhc3MgUkZpbGUob2JqZWN0KToKICAgICBzZWVuID0ge30KQEAgLTE1NTcsNiArMTU3MSwyNCBAQAogICAgIF0KIAogCitjbGFzcyBUZXN0RmlsZVR5cGVPcGVuQXJncyhUZXN0Q2FzZSk6CisgICAgIiIiVGVzdCB0aGF0IG9wZW4gKHRoZSBidWlsdGluKSBpcyBjb3JyZWN0bHkgY2FsbGVkIiIiCisKKyAgICBkZWYgdGVzdF9vcGVuX2FyZ3Moc2VsZik6CisgICAgICAgIEZUID0gYXJncGFyc2UuRmlsZVR5cGUKKyAgICAgICAgY2FzZXMgPSBbCisgICAgICAgICAgICAoRlQoJ3JiJyksICgncmInLCAtMSwgTm9uZSwgTm9uZSkpLAorICAgICAgICAgICAgKEZUKCd3JywgMSksICgndycsIDEsIE5vbmUsIE5vbmUpKSwKKyAgICAgICAgICAgIChGVCgndycsIGVycm9ycz0ncmVwbGFjZScpLCAoJ3cnLCAtMSwgTm9uZSwgJ3JlcGxhY2UnKSksCisgICAgICAgICAgICAoRlQoJ3diJywgZW5jb2Rpbmc9J2JpZzUnKSwgKCd3YicsIC0xLCAnYmlnNScsIE5vbmUpKSwKKyAgICAgICAgICAgIChGVCgndycsIDAsICdsMScsICdzdHJpY3QnKSwgKCd3JywgMCwgJ2wxJywgJ3N0cmljdCcpKSwKKyAgICAgICAgXQorICAgICAgICB3aXRoIG1vY2sucGF0Y2goJ2J1aWx0aW5zLm9wZW4nKSBhcyBtOgorICAgICAgICAgICAgZm9yIHR5cGUsIGFyZ3MgaW4gY2FzZXM6CisgICAgICAgICAgICAgICAgdHlwZSgnZm9vJykKKyAgICAgICAgICAgICAgICBtLmFzc2VydF9jYWxsZWRfd2l0aCgnZm9vJywgKmFyZ3MpCisKKwogY2xhc3MgVGVzdFR5cGVDYWxsYWJsZShQYXJzZXJUZXN0Q2FzZSk6CiAgICAgIiIiVGVzdCBzb21lIGNhbGxhYmxlcyBhcyBvcHRpb24vYXJndW1lbnQgdHlwZXMiIiIKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9hcnJheS5weSBiL0xpYi90ZXN0L3Rlc3RfYXJyYXkucHkKaW5kZXggZjIxYjY5Zi4uYTQ0ZWUwNyAxMDA3NTUKLS0tIGEvTGliL3Rlc3QvdGVzdF9hcnJheS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2FycmF5LnB5CkBAIC0zNTMsMTIgKzM1MywxMiBAQAogICAgICAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCiAKICAgICBkZWYgdGVzdF9mcm9tZmlsZV9pb2Vycm9yKHNlbGYpOgotICAgICAgICAjIElzc3VlICM1Mzk1OiBDaGVjayBpZiBmcm9tZmlsZSByYWlzZXMgYSBwcm9wZXIgSU9FcnJvcgorICAgICAgICAjIElzc3VlICM1Mzk1OiBDaGVjayBpZiBmcm9tZmlsZSByYWlzZXMgYSBwcm9wZXIgT1NFcnJvcgogICAgICAgICAjIGluc3RlYWQgb2YgRU9GRXJyb3IuCiAgICAgICAgIGEgPSBhcnJheS5hcnJheShzZWxmLnR5cGVjb2RlKQogICAgICAgICBmID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3diJykKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYS5mcm9tZmlsZSwgZiwgbGVuKHNlbGYuZXhhbXBsZSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBhLmZyb21maWxlLCBmLCBsZW4oc2VsZi5leGFtcGxlKSkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FzdC5weSBiL0xpYi90ZXN0L3Rlc3RfYXN0LnB5CmluZGV4IGRjMjQxMjYuLmM0NTMyNmYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXN0LnB5CkBAIC0xODAsMjAgKzE4MCwzNiBAQAogCiBjbGFzcyBBU1RfVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCi0gICAgZGVmIF9hc3NlcnRUcnVlb3JkZXIoc2VsZiwgYXN0X25vZGUsIHBhcmVudF9wb3MpOgorICAgIGRlZiBfYXNzZXJ0VHJ1ZW9yZGVyKHNlbGYsIGFzdF9ub2RlLCBwYXJlbnRfcG9zLCByZXZlcnNlX2NoZWNrID0gRmFsc2UpOgorICAgICAgICBkZWYgc2hvdWxkX3JldmVyc2VfY2hlY2socGFyZW50LCBjaGlsZCk6CisgICAgICAgICAgICAjIEluIHNvbWUgc2l0dWF0aW9ucywgdGhlIGNoaWxkcmVuIG9mIG5vZGVzIG9jY3VyIGJlZm9yZQorICAgICAgICAgICAgIyB0aGVpciBwYXJlbnRzLCBmb3IgZXhhbXBsZSBpbiBhLmIuYywgYSBvY2N1cnMgYmVmb3JlIGIKKyAgICAgICAgICAgICMgYnV0IGEgaXMgYSBjaGlsZCBvZiBiLgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYXJlbnQsIGFzdC5DYWxsKToKKyAgICAgICAgICAgICAgICBpZiBwYXJlbnQuZnVuYyA9PSBjaGlsZDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UocGFyZW50LCAoYXN0LkF0dHJpYnV0ZSwgYXN0LlN1YnNjcmlwdCkpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKwogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShhc3Rfbm9kZSwgYXN0LkFTVCkgb3IgYXN0X25vZGUuX2ZpZWxkcyBpcyBOb25lOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGlmIGlzaW5zdGFuY2UoYXN0X25vZGUsIChhc3QuZXhwciwgYXN0LnN0bXQsIGFzdC5leGNlcHRoYW5kbGVyKSk6CiAgICAgICAgICAgICBub2RlX3BvcyA9IChhc3Rfbm9kZS5saW5lbm8sIGFzdF9ub2RlLmNvbF9vZmZzZXQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobm9kZV9wb3MgPj0gcGFyZW50X3BvcykKKyAgICAgICAgICAgIGlmIHJldmVyc2VfY2hlY2s6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vZGVfcG9zIDw9IHBhcmVudF9wb3MpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub2RlX3BvcyA+PSBwYXJlbnRfcG9zKQogICAgICAgICAgICAgcGFyZW50X3BvcyA9IChhc3Rfbm9kZS5saW5lbm8sIGFzdF9ub2RlLmNvbF9vZmZzZXQpCiAgICAgICAgIGZvciBuYW1lIGluIGFzdF9ub2RlLl9maWVsZHM6CiAgICAgICAgICAgICB2YWx1ZSA9IGdldGF0dHIoYXN0X25vZGUsIG5hbWUpCiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KToKICAgICAgICAgICAgICAgICBmb3IgY2hpbGQgaW4gdmFsdWU6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2Fzc2VydFRydWVvcmRlcihjaGlsZCwgcGFyZW50X3BvcykKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fYXNzZXJ0VHJ1ZW9yZGVyKGNoaWxkLCBwYXJlbnRfcG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRfcmV2ZXJzZV9jaGVjayhhc3Rfbm9kZSwgY2hpbGQpKQogICAgICAgICAgICAgZWxpZiB2YWx1ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBzZWxmLl9hc3NlcnRUcnVlb3JkZXIodmFsdWUsIHBhcmVudF9wb3MpCisgICAgICAgICAgICAgICAgc2VsZi5fYXNzZXJ0VHJ1ZW9yZGVyKHZhbHVlLCBwYXJlbnRfcG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRfcmV2ZXJzZV9jaGVjayhhc3Rfbm9kZSwgdmFsdWUpKQogCiAgICAgZGVmIHRlc3RfQVNUX29iamVjdHMoc2VsZik6CiAgICAgICAgIHggPSBhc3QuQVNUKCkKQEAgLTI2MiwxNCArMjc4LDE0IEBACiAKICAgICBkZWYgdGVzdF9hcmd1bWVudHMoc2VsZik6CiAgICAgICAgIHggPSBhc3QuYXJndW1lbnRzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4Ll9maWVsZHMsICgnYXJncycsICd2YXJhcmcnLCAndmFyYXJnYW5ub3RhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrd29ubHlhcmdzJywgJ2t3YXJnJywgJ2t3YXJnYW5ub3RhdGlvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWZhdWx0cycsICdrd19kZWZhdWx0cycpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguX2ZpZWxkcywgKCdhcmdzJywgJ3ZhcmFyZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrd29ubHlhcmdzJywgJ2t3X2RlZmF1bHRzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2t3YXJnJywgJ2RlZmF1bHRzJykpCiAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CiAgICAgICAgICAgICB4LnZhcmFyZwogCi0gICAgICAgIHggPSBhc3QuYXJndW1lbnRzKCpyYW5nZSgxLCA5KSkKKyAgICAgICAgeCA9IGFzdC5hcmd1bWVudHMoKnJhbmdlKDEsIDcpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgudmFyYXJnLCAyKQogCiAgICAgZGVmIHRlc3RfZmllbGRfYXR0cl93cml0YWJsZShzZWxmKToKQEAgLTQzOSw3ICs0NTUsNyBAQAogICAgICAgICAgICAgImxpbmVubz0xLCBjb2xfb2Zmc2V0PTApLCBhcmdzPVtOYW1lKGlkPSdlZ2dzJywgY3R4PUxvYWQoKSwgIgogICAgICAgICAgICAgImxpbmVubz0xLCBjb2xfb2Zmc2V0PTUpLCBTdHIocz0nYW5kIGNoZWVzZScsIGxpbmVubz0xLCAiCiAgICAgICAgICAgICAiY29sX29mZnNldD0xMSldLCBrZXl3b3Jkcz1bXSwgc3RhcmFyZ3M9Tm9uZSwga3dhcmdzPU5vbmUsICIKLSAgICAgICAgICAgICJsaW5lbm89MSwgY29sX29mZnNldD0wKSwgbGluZW5vPTEsIGNvbF9vZmZzZXQ9MCldKSIKKyAgICAgICAgICAgICJsaW5lbm89MSwgY29sX29mZnNldD00KSwgbGluZW5vPTEsIGNvbF9vZmZzZXQ9MCldKSIKICAgICAgICAgKQogCiAgICAgZGVmIHRlc3RfY29weV9sb2NhdGlvbihzZWxmKToKQEAgLTQ2MCw3ICs0NzYsNyBAQAogICAgICAgICAgICAgIk1vZHVsZShib2R5PVtFeHByKHZhbHVlPUNhbGwoZnVuYz1OYW1lKGlkPSd3cml0ZScsIGN0eD1Mb2FkKCksICIKICAgICAgICAgICAgICJsaW5lbm89MSwgY29sX29mZnNldD0wKSwgYXJncz1bU3RyKHM9J3NwYW0nLCBsaW5lbm89MSwgIgogICAgICAgICAgICAgImNvbF9vZmZzZXQ9NildLCBrZXl3b3Jkcz1bXSwgc3RhcmFyZ3M9Tm9uZSwga3dhcmdzPU5vbmUsICIKLSAgICAgICAgICAgICJsaW5lbm89MSwgY29sX29mZnNldD0wKSwgbGluZW5vPTEsIGNvbF9vZmZzZXQ9MCksICIKKyAgICAgICAgICAgICJsaW5lbm89MSwgY29sX29mZnNldD01KSwgbGluZW5vPTEsIGNvbF9vZmZzZXQ9MCksICIKICAgICAgICAgICAgICJFeHByKHZhbHVlPUNhbGwoZnVuYz1OYW1lKGlkPSdzcGFtJywgY3R4PUxvYWQoKSwgbGluZW5vPTEsICIKICAgICAgICAgICAgICJjb2xfb2Zmc2V0PTApLCBhcmdzPVtTdHIocz0nZWdncycsIGxpbmVubz0xLCBjb2xfb2Zmc2V0PTApXSwgIgogICAgICAgICAgICAgImtleXdvcmRzPVtdLCBzdGFyYXJncz1Ob25lLCBrd2FyZ3M9Tm9uZSwgbGluZW5vPTEsICIKQEAgLTU2MCw4ICs1NzYsOCBAQAogICAgICAgICBzZWxmLm1vZChtLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIsICJldmFsIikKIAogICAgIGRlZiBfY2hlY2tfYXJndW1lbnRzKHNlbGYsIGZhYywgY2hlY2spOgotICAgICAgICBkZWYgYXJndW1lbnRzKGFyZ3M9Tm9uZSwgdmFyYXJnPU5vbmUsIHZhcmFyZ2Fubm90YXRpb249Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICBrd29ubHlhcmdzPU5vbmUsIGt3YXJnPU5vbmUsIGt3YXJnYW5ub3RhdGlvbj1Ob25lLAorICAgICAgICBkZWYgYXJndW1lbnRzKGFyZ3M9Tm9uZSwgdmFyYXJnPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1Ob25lLCBrd2FyZz1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRzPU5vbmUsIGt3X2RlZmF1bHRzPU5vbmUpOgogICAgICAgICAgICAgaWYgYXJncyBpcyBOb25lOgogICAgICAgICAgICAgICAgIGFyZ3MgPSBbXQpAQCAtNTcxLDIwICs1ODcsMTIgQEAKICAgICAgICAgICAgICAgICBkZWZhdWx0cyA9IFtdCiAgICAgICAgICAgICBpZiBrd19kZWZhdWx0cyBpcyBOb25lOgogICAgICAgICAgICAgICAgIGt3X2RlZmF1bHRzID0gW10KLSAgICAgICAgICAgIGFyZ3MgPSBhc3QuYXJndW1lbnRzKGFyZ3MsIHZhcmFyZywgdmFyYXJnYW5ub3RhdGlvbiwga3dvbmx5YXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnLCBrd2FyZ2Fubm90YXRpb24sIGRlZmF1bHRzLCBrd19kZWZhdWx0cykKKyAgICAgICAgICAgIGFyZ3MgPSBhc3QuYXJndW1lbnRzKGFyZ3MsIHZhcmFyZywga3dvbmx5YXJncywga3dfZGVmYXVsdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZywgZGVmYXVsdHMpCiAgICAgICAgICAgICByZXR1cm4gZmFjKGFyZ3MpCiAgICAgICAgIGFyZ3MgPSBbYXN0LmFyZygieCIsIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKV0KICAgICAgICAgY2hlY2soYXJndW1lbnRzKGFyZ3M9YXJncyksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKLSAgICAgICAgY2hlY2soYXJndW1lbnRzKHZhcmFyZ2Fubm90YXRpb249YXN0Lk51bSgzKSksCi0gICAgICAgICAgICAgICJ2YXJhcmdhbm5vdGF0aW9uIGJ1dCBubyB2YXJhcmciKQotICAgICAgICBjaGVjayhhcmd1bWVudHModmFyYXJnYW5ub3RhdGlvbj1hc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSwgdmFyYXJnPSJ4IiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQogICAgICAgICBjaGVjayhhcmd1bWVudHMoa3dvbmx5YXJncz1hcmdzKSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQotICAgICAgICBjaGVjayhhcmd1bWVudHMoa3dhcmdhbm5vdGF0aW9uPWFzdC5OdW0oNDIpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgImt3YXJnYW5ub3RhdGlvbiBidXQgbm8ga3dhcmciKQotICAgICAgICBjaGVjayhhcmd1bWVudHMoa3dhcmdhbm5vdGF0aW9uPWFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZz0ieCIpLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCiAgICAgICAgIGNoZWNrKGFyZ3VtZW50cyhkZWZhdWx0cz1bYXN0Lk51bSgzKV0pLAogICAgICAgICAgICAgICAgICAgICAgICAibW9yZSBwb3NpdGlvbmFsIGRlZmF1bHRzIHRoYW4gYXJncyIpCiAgICAgICAgIGNoZWNrKGFyZ3VtZW50cyhrd19kZWZhdWx0cz1bYXN0Lk51bSg0KV0pLApAQCAtNTk5LDcgKzYwNyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKIAogICAgIGRlZiB0ZXN0X2Z1bmNkZWYoc2VsZik6Ci0gICAgICAgIGEgPSBhc3QuYXJndW1lbnRzKFtdLCBOb25lLCBOb25lLCBbXSwgTm9uZSwgTm9uZSwgW10sIFtdKQorICAgICAgICBhID0gYXN0LmFyZ3VtZW50cyhbXSwgTm9uZSwgW10sIFtdLCBOb25lLCBbXSkKICAgICAgICAgZiA9IGFzdC5GdW5jdGlvbkRlZigieCIsIGEsIFtdLCBbXSwgTm9uZSkKICAgICAgICAgc2VsZi5zdG10KGYsICJlbXB0eSBib2R5IG9uIEZ1bmN0aW9uRGVmIikKICAgICAgICAgZiA9IGFzdC5GdW5jdGlvbkRlZigieCIsIGEsIFthc3QuUGFzcygpXSwgW2FzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpXSwKQEAgLTc3MCw3ICs3NzgsNyBAQAogICAgICAgICBzZWxmLmV4cHIodSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQogCiAgICAgZGVmIHRlc3RfbGFtYmRhKHNlbGYpOgotICAgICAgICBhID0gYXN0LmFyZ3VtZW50cyhbXSwgTm9uZSwgTm9uZSwgW10sIE5vbmUsIE5vbmUsIFtdLCBbXSkKKyAgICAgICAgYSA9IGFzdC5hcmd1bWVudHMoW10sIE5vbmUsIFtdLCBbXSwgTm9uZSwgW10pCiAgICAgICAgIHNlbGYuZXhwcihhc3QuTGFtYmRhKGEsIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKSwKICAgICAgICAgICAgICAgICAgICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKICAgICAgICAgZGVmIGZhYyhhcmdzKToKQEAgLTkyOCw2ICs5MzYsOSBAQAogICAgIGRlZiB0ZXN0X3R1cGxlKHNlbGYpOgogICAgICAgICBzZWxmLl9zZXF1ZW5jZShhc3QuVHVwbGUpCiAKKyAgICBkZWYgdGVzdF9uYW1lY29uc3RhbnQoc2VsZik6CisgICAgICAgIHNlbGYuZXhwcihhc3QuTmFtZUNvbnN0YW50KDQpLCAic2luZ2xldG9uIG11c3QgYmUgVHJ1ZSwgRmFsc2UsIG9yIE5vbmUiKQorCiAgICAgZGVmIHRlc3Rfc3RkbGliX3ZhbGlkYXRlcyhzZWxmKToKICAgICAgICAgc3RkbGliID0gb3MucGF0aC5kaXJuYW1lKGFzdC5fX2ZpbGVfXykKICAgICAgICAgdGVzdHMgPSBbZm4gZm9yIGZuIGluIG9zLmxpc3RkaXIoc3RkbGliKSBpZiBmbi5lbmRzd2l0aCgiLnB5IildCkBAIC05MzYsNyArOTQ3LDcgQEAKICAgICAgICAgICAgIGZuID0gb3MucGF0aC5qb2luKHN0ZGxpYiwgbW9kdWxlKQogICAgICAgICAgICAgd2l0aCBvcGVuKGZuLCAiciIsIGVuY29kaW5nPSJ1dGYtOCIpIGFzIGZwOgogICAgICAgICAgICAgICAgIHNvdXJjZSA9IGZwLnJlYWQoKQotICAgICAgICAgICAgbW9kID0gYXN0LnBhcnNlKHNvdXJjZSkKKyAgICAgICAgICAgIG1vZCA9IGFzdC5wYXJzZShzb3VyY2UsIGZuKQogICAgICAgICAgICAgY29tcGlsZShtb2QsIGZuLCAiZXhlYyIpCiAKIApAQCAtOTU5LDE2ICs5NzAsMTYgQEAKIAogIyMjIyBFVkVSWVRISU5HIEJFTE9XIElTIEdFTkVSQVRFRCAjIyMjIwogZXhlY19yZXN1bHRzID0gWwotKCdNb2R1bGUnLCBbKCdFeHByJywgKDEsIDApLCAoJ05hbWUnLCAoMSwgMCksICdOb25lJywgKCdMb2FkJywpKSldKSwKLSgnTW9kdWxlJywgWygnRnVuY3Rpb25EZWYnLCAoMSwgMCksICdmJywgKCdhcmd1bWVudHMnLCBbXSwgTm9uZSwgTm9uZSwgW10sIE5vbmUsIE5vbmUsIFtdLCBbXSksIFsoJ1Bhc3MnLCAoMSwgOSkpXSwgW10sIE5vbmUpXSksCi0oJ01vZHVsZScsIFsoJ0Z1bmN0aW9uRGVmJywgKDEsIDApLCAnZicsICgnYXJndW1lbnRzJywgWygnYXJnJywgJ2EnLCBOb25lKV0sIE5vbmUsIE5vbmUsIFtdLCBOb25lLCBOb25lLCBbXSwgW10pLCBbKCdQYXNzJywgKDEsIDEwKSldLCBbXSwgTm9uZSldKSwKLSgnTW9kdWxlJywgWygnRnVuY3Rpb25EZWYnLCAoMSwgMCksICdmJywgKCdhcmd1bWVudHMnLCBbKCdhcmcnLCAnYScsIE5vbmUpXSwgTm9uZSwgTm9uZSwgW10sIE5vbmUsIE5vbmUsIFsoJ051bScsICgxLCA4KSwgMCldLCBbXSksIFsoJ1Bhc3MnLCAoMSwgMTIpKV0sIFtdLCBOb25lKV0pLAotKCdNb2R1bGUnLCBbKCdGdW5jdGlvbkRlZicsICgxLCAwKSwgJ2YnLCAoJ2FyZ3VtZW50cycsIFtdLCAnYXJncycsIE5vbmUsIFtdLCBOb25lLCBOb25lLCBbXSwgW10pLCBbKCdQYXNzJywgKDEsIDE0KSldLCBbXSwgTm9uZSldKSwKLSgnTW9kdWxlJywgWygnRnVuY3Rpb25EZWYnLCAoMSwgMCksICdmJywgKCdhcmd1bWVudHMnLCBbXSwgTm9uZSwgTm9uZSwgW10sICdrd2FyZ3MnLCBOb25lLCBbXSwgW10pLCBbKCdQYXNzJywgKDEsIDE3KSldLCBbXSwgTm9uZSldKSwKLSgnTW9kdWxlJywgWygnRnVuY3Rpb25EZWYnLCAoMSwgMCksICdmJywgKCdhcmd1bWVudHMnLCBbKCdhcmcnLCAnYScsIE5vbmUpLCAoJ2FyZycsICdiJywgTm9uZSksICgnYXJnJywgJ2MnLCBOb25lKSwgKCdhcmcnLCAnZCcsIE5vbmUpLCAoJ2FyZycsICdlJywgTm9uZSldLCAnYXJncycsIE5vbmUsIFtdLCAna3dhcmdzJywgTm9uZSwgWygnTnVtJywgKDEsIDExKSwgMSksICgnTmFtZScsICgxLCAxNiksICdOb25lJywgKCdMb2FkJywpKSwgKCdMaXN0JywgKDEsIDI0KSwgW10sICgnTG9hZCcsKSksICgnRGljdCcsICgxLCAzMCksIFtdLCBbXSldLCBbXSksIFsoJ1Bhc3MnLCAoMSwgNTIpKV0sIFtdLCBOb25lKV0pLAorKCdNb2R1bGUnLCBbKCdFeHByJywgKDEsIDApLCAoJ05hbWVDb25zdGFudCcsICgxLCAwKSwgTm9uZSkpXSksCisoJ01vZHVsZScsIFsoJ0Z1bmN0aW9uRGVmJywgKDEsIDApLCAnZicsICgnYXJndW1lbnRzJywgW10sIE5vbmUsIFtdLCBbXSwgTm9uZSwgW10pLCBbKCdQYXNzJywgKDEsIDkpKV0sIFtdLCBOb25lKV0pLAorKCdNb2R1bGUnLCBbKCdGdW5jdGlvbkRlZicsICgxLCAwKSwgJ2YnLCAoJ2FyZ3VtZW50cycsIFsoJ2FyZycsICgxLCA2KSwgJ2EnLCBOb25lKV0sIE5vbmUsIFtdLCBbXSwgTm9uZSwgW10pLCBbKCdQYXNzJywgKDEsIDEwKSldLCBbXSwgTm9uZSldKSwKKygnTW9kdWxlJywgWygnRnVuY3Rpb25EZWYnLCAoMSwgMCksICdmJywgKCdhcmd1bWVudHMnLCBbKCdhcmcnLCAoMSwgNiksICdhJywgTm9uZSldLCBOb25lLCBbXSwgW10sIE5vbmUsIFsoJ051bScsICgxLCA4KSwgMCldKSwgWygnUGFzcycsICgxLCAxMikpXSwgW10sIE5vbmUpXSksCisoJ01vZHVsZScsIFsoJ0Z1bmN0aW9uRGVmJywgKDEsIDApLCAnZicsICgnYXJndW1lbnRzJywgW10sICgnYXJnJywgKDEsIDcpLCAnYXJncycsIE5vbmUpLCBbXSwgW10sIE5vbmUsIFtdKSwgWygnUGFzcycsICgxLCAxNCkpXSwgW10sIE5vbmUpXSksCisoJ01vZHVsZScsIFsoJ0Z1bmN0aW9uRGVmJywgKDEsIDApLCAnZicsICgnYXJndW1lbnRzJywgW10sIE5vbmUsIFtdLCBbXSwgKCdhcmcnLCAoMSwgOCksICdrd2FyZ3MnLCBOb25lKSwgW10pLCBbKCdQYXNzJywgKDEsIDE3KSldLCBbXSwgTm9uZSldKSwKKygnTW9kdWxlJywgWygnRnVuY3Rpb25EZWYnLCAoMSwgMCksICdmJywgKCdhcmd1bWVudHMnLCBbKCdhcmcnLCAoMSwgNiksICdhJywgTm9uZSksICgnYXJnJywgKDEsIDkpLCAnYicsIE5vbmUpLCAoJ2FyZycsICgxLCAxNCksICdjJywgTm9uZSksICgnYXJnJywgKDEsIDIyKSwgJ2QnLCBOb25lKSwgKCdhcmcnLCAoMSwgMjgpLCAnZScsIE5vbmUpXSwgKCdhcmcnLCAoMSwgMzUpLCAnYXJncycsIE5vbmUpLCBbXSwgW10sICgnYXJnJywgKDEsIDQzKSwgJ2t3YXJncycsIE5vbmUpLCBbKCdOdW0nLCAoMSwgMTEpLCAxKSwgKCdOYW1lQ29uc3RhbnQnLCAoMSwgMTYpLCBOb25lKSwgKCdMaXN0JywgKDEsIDI0KSwgW10sICgnTG9hZCcsKSksICgnRGljdCcsICgxLCAzMCksIFtdLCBbXSldKSwgWygnUGFzcycsICgxLCA1MikpXSwgW10sIE5vbmUpXSksCiAoJ01vZHVsZScsIFsoJ0NsYXNzRGVmJywgKDEsIDApLCAnQycsIFtdLCBbXSwgTm9uZSwgTm9uZSwgWygnUGFzcycsICgxLCA4KSldLCBbXSldKSwKICgnTW9kdWxlJywgWygnQ2xhc3NEZWYnLCAoMSwgMCksICdDJywgWygnTmFtZScsICgxLCA4KSwgJ29iamVjdCcsICgnTG9hZCcsKSldLCBbXSwgTm9uZSwgTm9uZSwgWygnUGFzcycsICgxLCAxNykpXSwgW10pXSksCi0oJ01vZHVsZScsIFsoJ0Z1bmN0aW9uRGVmJywgKDEsIDApLCAnZicsICgnYXJndW1lbnRzJywgW10sIE5vbmUsIE5vbmUsIFtdLCBOb25lLCBOb25lLCBbXSwgW10pLCBbKCdSZXR1cm4nLCAoMSwgOCksICgnTnVtJywgKDEsIDE1KSwgMSkpXSwgW10sIE5vbmUpXSksCisoJ01vZHVsZScsIFsoJ0Z1bmN0aW9uRGVmJywgKDEsIDApLCAnZicsICgnYXJndW1lbnRzJywgW10sIE5vbmUsIFtdLCBbXSwgTm9uZSwgW10pLCBbKCdSZXR1cm4nLCAoMSwgOCksICgnTnVtJywgKDEsIDE1KSwgMSkpXSwgW10sIE5vbmUpXSksCiAoJ01vZHVsZScsIFsoJ0RlbGV0ZScsICgxLCAwKSwgWygnTmFtZScsICgxLCA0KSwgJ3YnLCAoJ0RlbCcsKSldKV0pLAogKCdNb2R1bGUnLCBbKCdBc3NpZ24nLCAoMSwgMCksIFsoJ05hbWUnLCAoMSwgMCksICd2JywgKCdTdG9yZScsKSldLCAoJ051bScsICgxLCA0KSwgMSkpXSksCiAoJ01vZHVsZScsIFsoJ0F1Z0Fzc2lnbicsICgxLCAwKSwgKCdOYW1lJywgKDEsIDApLCAndicsICgnU3RvcmUnLCkpLCAoJ0FkZCcsKSwgKCdOdW0nLCAoMSwgNSksIDEpKV0pLApAQCAtOTc3LDcgKzk4OCw3IEBACiAoJ01vZHVsZScsIFsoJ0lmJywgKDEsIDApLCAoJ05hbWUnLCAoMSwgMyksICd2JywgKCdMb2FkJywpKSwgWygnUGFzcycsICgxLCA1KSldLCBbXSldKSwKICgnTW9kdWxlJywgWygnV2l0aCcsICgxLCAwKSwgWygnd2l0aGl0ZW0nLCAoJ05hbWUnLCAoMSwgNSksICd4JywgKCdMb2FkJywpKSwgKCdOYW1lJywgKDEsIDEwKSwgJ3knLCAoJ1N0b3JlJywpKSldLCBbKCdQYXNzJywgKDEsIDEzKSldKV0pLAogKCdNb2R1bGUnLCBbKCdXaXRoJywgKDEsIDApLCBbKCd3aXRoaXRlbScsICgnTmFtZScsICgxLCA1KSwgJ3gnLCAoJ0xvYWQnLCkpLCAoJ05hbWUnLCAoMSwgMTApLCAneScsICgnU3RvcmUnLCkpKSwgKCd3aXRoaXRlbScsICgnTmFtZScsICgxLCAxMyksICd6JywgKCdMb2FkJywpKSwgKCdOYW1lJywgKDEsIDE4KSwgJ3EnLCAoJ1N0b3JlJywpKSldLCBbKCdQYXNzJywgKDEsIDIxKSldKV0pLAotKCdNb2R1bGUnLCBbKCdSYWlzZScsICgxLCAwKSwgKCdDYWxsJywgKDEsIDYpLCAoJ05hbWUnLCAoMSwgNiksICdFeGNlcHRpb24nLCAoJ0xvYWQnLCkpLCBbKCdTdHInLCAoMSwgMTYpLCAnc3RyaW5nJyldLCBbXSwgTm9uZSwgTm9uZSksIE5vbmUpXSksCisoJ01vZHVsZScsIFsoJ1JhaXNlJywgKDEsIDApLCAoJ0NhbGwnLCAoMSwgMTUpLCAoJ05hbWUnLCAoMSwgNiksICdFeGNlcHRpb24nLCAoJ0xvYWQnLCkpLCBbKCdTdHInLCAoMSwgMTYpLCAnc3RyaW5nJyldLCBbXSwgTm9uZSwgTm9uZSksIE5vbmUpXSksCiAoJ01vZHVsZScsIFsoJ1RyeScsICgxLCAwKSwgWygnUGFzcycsICgyLCAyKSldLCBbKCdFeGNlcHRIYW5kbGVyJywgKDMsIDApLCAoJ05hbWUnLCAoMywgNyksICdFeGNlcHRpb24nLCAoJ0xvYWQnLCkpLCBOb25lLCBbKCdQYXNzJywgKDQsIDIpKV0pXSwgW10sIFtdKV0pLAogKCdNb2R1bGUnLCBbKCdUcnknLCAoMSwgMCksIFsoJ1Bhc3MnLCAoMiwgMikpXSwgW10sIFtdLCBbKCdQYXNzJywgKDQsIDIpKV0pXSksCiAoJ01vZHVsZScsIFsoJ0Fzc2VydCcsICgxLCAwKSwgKCdOYW1lJywgKDEsIDcpLCAndicsICgnTG9hZCcsKSksIE5vbmUpXSksCkBAIC0xMDAyLDI5ICsxMDEzLDI5IEBACiAoJ0ludGVyYWN0aXZlJywgWygnRXhwcicsICgxLCAwKSwgKCdCaW5PcCcsICgxLCAwKSwgKCdOdW0nLCAoMSwgMCksIDEpLCAoJ0FkZCcsKSwgKCdOdW0nLCAoMSwgMiksIDIpKSldKSwKIF0KIGV2YWxfcmVzdWx0cyA9IFsKLSgnRXhwcmVzc2lvbicsICgnTmFtZScsICgxLCAwKSwgJ05vbmUnLCAoJ0xvYWQnLCkpKSwKKygnRXhwcmVzc2lvbicsICgnTmFtZUNvbnN0YW50JywgKDEsIDApLCBOb25lKSksCiAoJ0V4cHJlc3Npb24nLCAoJ0Jvb2xPcCcsICgxLCAwKSwgKCdBbmQnLCksIFsoJ05hbWUnLCAoMSwgMCksICdhJywgKCdMb2FkJywpKSwgKCdOYW1lJywgKDEsIDYpLCAnYicsICgnTG9hZCcsKSldKSksCiAoJ0V4cHJlc3Npb24nLCAoJ0Jpbk9wJywgKDEsIDApLCAoJ05hbWUnLCAoMSwgMCksICdhJywgKCdMb2FkJywpKSwgKCdBZGQnLCksICgnTmFtZScsICgxLCA0KSwgJ2InLCAoJ0xvYWQnLCkpKSksCiAoJ0V4cHJlc3Npb24nLCAoJ1VuYXJ5T3AnLCAoMSwgMCksICgnTm90JywpLCAoJ05hbWUnLCAoMSwgNCksICd2JywgKCdMb2FkJywpKSkpLAotKCdFeHByZXNzaW9uJywgKCdMYW1iZGEnLCAoMSwgMCksICgnYXJndW1lbnRzJywgW10sIE5vbmUsIE5vbmUsIFtdLCBOb25lLCBOb25lLCBbXSwgW10pLCAoJ05hbWUnLCAoMSwgNyksICdOb25lJywgKCdMb2FkJywpKSkpLAorKCdFeHByZXNzaW9uJywgKCdMYW1iZGEnLCAoMSwgMCksICgnYXJndW1lbnRzJywgW10sIE5vbmUsIFtdLCBbXSwgTm9uZSwgW10pLCAoJ05hbWVDb25zdGFudCcsICgxLCA3KSwgTm9uZSkpKSwKICgnRXhwcmVzc2lvbicsICgnRGljdCcsICgxLCAwKSwgWygnTnVtJywgKDEsIDIpLCAxKV0sIFsoJ051bScsICgxLCA0KSwgMildKSksCiAoJ0V4cHJlc3Npb24nLCAoJ0RpY3QnLCAoMSwgMCksIFtdLCBbXSkpLAotKCdFeHByZXNzaW9uJywgKCdTZXQnLCAoMSwgMCksIFsoJ05hbWUnLCAoMSwgMSksICdOb25lJywgKCdMb2FkJywpKV0pKSwKKygnRXhwcmVzc2lvbicsICgnU2V0JywgKDEsIDApLCBbKCdOYW1lQ29uc3RhbnQnLCAoMSwgMSksIE5vbmUpXSkpLAogKCdFeHByZXNzaW9uJywgKCdEaWN0JywgKDEsIDApLCBbKCdOdW0nLCAoMiwgNiksIDEpXSwgWygnTnVtJywgKDQsIDEwKSwgMildKSksCiAoJ0V4cHJlc3Npb24nLCAoJ0xpc3RDb21wJywgKDEsIDEpLCAoJ05hbWUnLCAoMSwgMSksICdhJywgKCdMb2FkJywpKSwgWygnY29tcHJlaGVuc2lvbicsICgnTmFtZScsICgxLCA3KSwgJ2InLCAoJ1N0b3JlJywpKSwgKCdOYW1lJywgKDEsIDEyKSwgJ2MnLCAoJ0xvYWQnLCkpLCBbKCdOYW1lJywgKDEsIDE3KSwgJ2QnLCAoJ0xvYWQnLCkpXSldKSksCiAoJ0V4cHJlc3Npb24nLCAoJ0dlbmVyYXRvckV4cCcsICgxLCAxKSwgKCdOYW1lJywgKDEsIDEpLCAnYScsICgnTG9hZCcsKSksIFsoJ2NvbXByZWhlbnNpb24nLCAoJ05hbWUnLCAoMSwgNyksICdiJywgKCdTdG9yZScsKSksICgnTmFtZScsICgxLCAxMiksICdjJywgKCdMb2FkJywpKSwgWygnTmFtZScsICgxLCAxNyksICdkJywgKCdMb2FkJywpKV0pXSkpLAogKCdFeHByZXNzaW9uJywgKCdDb21wYXJlJywgKDEsIDApLCAoJ051bScsICgxLCAwKSwgMSksIFsoJ0x0JywpLCAoJ0x0JywpXSwgWygnTnVtJywgKDEsIDQpLCAyKSwgKCdOdW0nLCAoMSwgOCksIDMpXSkpLAotKCdFeHByZXNzaW9uJywgKCdDYWxsJywgKDEsIDApLCAoJ05hbWUnLCAoMSwgMCksICdmJywgKCdMb2FkJywpKSwgWygnTnVtJywgKDEsIDIpLCAxKSwgKCdOdW0nLCAoMSwgNCksIDIpXSwgWygna2V5d29yZCcsICdjJywgKCdOdW0nLCAoMSwgOCksIDMpKV0sICgnTmFtZScsICgxLCAxMSksICdkJywgKCdMb2FkJywpKSwgKCdOYW1lJywgKDEsIDE1KSwgJ2UnLCAoJ0xvYWQnLCkpKSksCisoJ0V4cHJlc3Npb24nLCAoJ0NhbGwnLCAoMSwgMSksICgnTmFtZScsICgxLCAwKSwgJ2YnLCAoJ0xvYWQnLCkpLCBbKCdOdW0nLCAoMSwgMiksIDEpLCAoJ051bScsICgxLCA0KSwgMildLCBbKCdrZXl3b3JkJywgJ2MnLCAoJ051bScsICgxLCA4KSwgMykpXSwgKCdOYW1lJywgKDEsIDExKSwgJ2QnLCAoJ0xvYWQnLCkpLCAoJ05hbWUnLCAoMSwgMTUpLCAnZScsICgnTG9hZCcsKSkpKSwKICgnRXhwcmVzc2lvbicsICgnTnVtJywgKDEsIDApLCAxMCkpLAogKCdFeHByZXNzaW9uJywgKCdTdHInLCAoMSwgMCksICdzdHJpbmcnKSksCi0oJ0V4cHJlc3Npb24nLCAoJ0F0dHJpYnV0ZScsICgxLCAwKSwgKCdOYW1lJywgKDEsIDApLCAnYScsICgnTG9hZCcsKSksICdiJywgKCdMb2FkJywpKSksCi0oJ0V4cHJlc3Npb24nLCAoJ1N1YnNjcmlwdCcsICgxLCAwKSwgKCdOYW1lJywgKDEsIDApLCAnYScsICgnTG9hZCcsKSksICgnU2xpY2UnLCAoJ05hbWUnLCAoMSwgMiksICdiJywgKCdMb2FkJywpKSwgKCdOYW1lJywgKDEsIDQpLCAnYycsICgnTG9hZCcsKSksIE5vbmUpLCAoJ0xvYWQnLCkpKSwKKygnRXhwcmVzc2lvbicsICgnQXR0cmlidXRlJywgKDEsIDIpLCAoJ05hbWUnLCAoMSwgMCksICdhJywgKCdMb2FkJywpKSwgJ2InLCAoJ0xvYWQnLCkpKSwKKygnRXhwcmVzc2lvbicsICgnU3Vic2NyaXB0JywgKDEsIDIpLCAoJ05hbWUnLCAoMSwgMCksICdhJywgKCdMb2FkJywpKSwgKCdTbGljZScsICgnTmFtZScsICgxLCAyKSwgJ2InLCAoJ0xvYWQnLCkpLCAoJ05hbWUnLCAoMSwgNCksICdjJywgKCdMb2FkJywpKSwgTm9uZSksICgnTG9hZCcsKSkpLAogKCdFeHByZXNzaW9uJywgKCdOYW1lJywgKDEsIDApLCAndicsICgnTG9hZCcsKSkpLAogKCdFeHByZXNzaW9uJywgKCdMaXN0JywgKDEsIDApLCBbKCdOdW0nLCAoMSwgMSksIDEpLCAoJ051bScsICgxLCAzKSwgMiksICgnTnVtJywgKDEsIDUpLCAzKV0sICgnTG9hZCcsKSkpLAogKCdFeHByZXNzaW9uJywgKCdMaXN0JywgKDEsIDApLCBbXSwgKCdMb2FkJywpKSksCiAoJ0V4cHJlc3Npb24nLCAoJ1R1cGxlJywgKDEsIDApLCBbKCdOdW0nLCAoMSwgMCksIDEpLCAoJ051bScsICgxLCAyKSwgMiksICgnTnVtJywgKDEsIDQpLCAzKV0sICgnTG9hZCcsKSkpLAogKCdFeHByZXNzaW9uJywgKCdUdXBsZScsICgxLCAxKSwgWygnTnVtJywgKDEsIDEpLCAxKSwgKCdOdW0nLCAoMSwgMyksIDIpLCAoJ051bScsICgxLCA1KSwgMyldLCAoJ0xvYWQnLCkpKSwKICgnRXhwcmVzc2lvbicsICgnVHVwbGUnLCAoMSwgMCksIFtdLCAoJ0xvYWQnLCkpKSwKLSgnRXhwcmVzc2lvbicsICgnQ2FsbCcsICgxLCAwKSwgKCdBdHRyaWJ1dGUnLCAoMSwgMCksICgnQXR0cmlidXRlJywgKDEsIDApLCAoJ0F0dHJpYnV0ZScsICgxLCAwKSwgKCdOYW1lJywgKDEsIDApLCAnYScsICgnTG9hZCcsKSksICdiJywgKCdMb2FkJywpKSwgJ2MnLCAoJ0xvYWQnLCkpLCAnZCcsICgnTG9hZCcsKSksIFsoJ1N1YnNjcmlwdCcsICgxLCA4KSwgKCdBdHRyaWJ1dGUnLCAoMSwgOCksICgnTmFtZScsICgxLCA4KSwgJ2EnLCAoJ0xvYWQnLCkpLCAnYicsICgnTG9hZCcsKSksICgnU2xpY2UnLCAoJ051bScsICgxLCAxMiksIDEpLCAoJ051bScsICgxLCAxNCksIDIpLCBOb25lKSwgKCdMb2FkJywpKV0sIFtdLCBOb25lLCBOb25lKSksCisoJ0V4cHJlc3Npb24nLCAoJ0NhbGwnLCAoMSwgNyksICgnQXR0cmlidXRlJywgKDEsIDYpLCAoJ0F0dHJpYnV0ZScsICgxLCA0KSwgKCdBdHRyaWJ1dGUnLCAoMSwgMiksICgnTmFtZScsICgxLCAwKSwgJ2EnLCAoJ0xvYWQnLCkpLCAnYicsICgnTG9hZCcsKSksICdjJywgKCdMb2FkJywpKSwgJ2QnLCAoJ0xvYWQnLCkpLCBbKCdTdWJzY3JpcHQnLCAoMSwgMTIpLCAoJ0F0dHJpYnV0ZScsICgxLCAxMCksICgnTmFtZScsICgxLCA4KSwgJ2EnLCAoJ0xvYWQnLCkpLCAnYicsICgnTG9hZCcsKSksICgnU2xpY2UnLCAoJ051bScsICgxLCAxMiksIDEpLCAoJ051bScsICgxLCAxNCksIDIpLCBOb25lKSwgKCdMb2FkJywpKV0sIFtdLCBOb25lLCBOb25lKSksCiBdCiBtYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkgYi9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5CmluZGV4IDg3OGIyNmMuLjU3ZWI0ZmEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hc3luY29yZS5weQpAQCAtNzU2LDcgKzc1Niw3IEBACiAgICAgICAgIHMyID0gYXN5bmNvcmUuZGlzcGF0Y2hlcigpCiAgICAgICAgIHMyLmNyZWF0ZV9zb2NrZXQoc2VsZi5mYW1pbHkpCiAgICAgICAgICMgRUFERFJJTlVTRSBpbmRpY2F0ZXMgdGhlIHNvY2tldCB3YXMgY29ycmVjdGx5IGJvdW5kCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgczIuYmluZCwgKHNlbGYuYWRkclswXSwgcG9ydCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHMyLmJpbmQsIChzZWxmLmFkZHJbMF0sIHBvcnQpKQogCiAgICAgZGVmIHRlc3Rfc2V0X3JldXNlX2FkZHIoc2VsZik6CiAgICAgICAgIGlmIEhBU19VTklYX1NPQ0tFVFMgYW5kIHNlbGYuZmFtaWx5ID09IHNvY2tldC5BRl9VTklYOgpAQCAtNzY0LDcgKzc2NCw3IEBACiAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNlbGYuZmFtaWx5KQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzb2NrLnNldHNvY2tvcHQoc29ja2V0LlNPTF9TT0NLRVQsIHNvY2tldC5TT19SRVVTRUFERFIsIDEpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgdW5pdHRlc3Quc2tpcCgiU09fUkVVU0VBRERSIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybSIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIGlmIFNPX1JFVVNFQUREUiBzdWNjZWVkZWQgZm9yIHNvY2sgd2UgZXhwZWN0IGFzeW5jb3JlCkBAIC03OTcsNyArNzk3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QucGFjaygnaWknLCAxLCAwKSkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzLmNvbm5lY3Qoc2VydmVyLmFkZHJlc3MpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBzLmNsb3NlKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYmlzZWN0LnB5IGIvTGliL3Rlc3QvdGVzdF9iaXNlY3QucHkKaW5kZXggN2I5YmQxOS4uNTgwYTk2MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9iaXNlY3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9iaXNlY3QucHkKQEAgLTcsNyArNyw3IEBACiBjX2Jpc2VjdCA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnYmlzZWN0JywgZnJlc2g9WydfYmlzZWN0J10pCiAKIGNsYXNzIFJhbmdlKG9iamVjdCk6Ci0gICAgIiIiQSB0cml2aWFsIHJhbmdlKCktbGlrZSBvYmplY3Qgd2l0aG91dCBhbnkgaW50ZWdlciB3aWR0aCBsaW1pdGF0aW9ucy4iIiIKKyAgICAiIiJBIHRyaXZpYWwgcmFuZ2UoKS1saWtlIG9iamVjdCB0aGF0IGhhcyBhbiBpbnNlcnQoKSBtZXRob2QuIiIiCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHN0YXJ0LCBzdG9wKToKICAgICAgICAgc2VsZi5zdGFydCA9IHN0YXJ0CiAgICAgICAgIHNlbGYuc3RvcCA9IHN0b3AKQEAgLTEyMCwxMCArMTIwLDEwIEBACiAgICAgZGVmIHRlc3RfbmVnYXRpdmVfbG8oc2VsZik6CiAgICAgICAgICMgSXNzdWUgMzMwMQogICAgICAgICBtb2QgPSBzZWxmLm1vZHVsZQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtb2QuYmlzZWN0X2xlZnQsIFsxLCAyLCAzXSwgNSwgLTEsIDMpLAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtb2QuYmlzZWN0X3JpZ2h0LCBbMSwgMiwgM10sIDUsIC0xLCAzKSwKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbW9kLmluc29ydF9sZWZ0LCBbMSwgMiwgM10sIDUsIC0xLCAzKSwKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbW9kLmluc29ydF9yaWdodCwgWzEsIDIsIDNdLCA1LCAtMSwgMyksCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1vZC5iaXNlY3RfbGVmdCwgWzEsIDIsIDNdLCA1LCAtMSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbW9kLmJpc2VjdF9yaWdodCwgWzEsIDIsIDNdLCA1LCAtMSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbW9kLmluc29ydF9sZWZ0LCBbMSwgMiwgM10sIDUsIC0xLCAzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtb2QuaW5zb3J0X3JpZ2h0LCBbMSwgMiwgM10sIDUsIC0xLCAzKQogCiAgICAgZGVmIHRlc3RfbGFyZ2VfcmFuZ2Uoc2VsZik6CiAgICAgICAgICMgSXNzdWUgMTM0OTYKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYnVpbHRpbi5weSBiL0xpYi90ZXN0L3Rlc3RfYnVpbHRpbi5weQppbmRleCBjMzQyYTQzLi5mNDZmOGQ1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2J1aWx0aW4ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5CkBAIC00NjQsNiArNDY0LDExIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZXZhbCwgKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN5bnRheEVycm9yLCBldmFsLCBib21bOjJdICsgYidhJykKIAorICAgICAgICBjbGFzcyBYOgorICAgICAgICAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBldmFsLCAiZm9vIiwge30sIFgoKSkKKwogICAgIGRlZiB0ZXN0X2dlbmVyYWxfZXZhbChzZWxmKToKICAgICAgICAgIyBUZXN0cyB0aGF0IGdlbmVyYWwgbWFwcGluZ3MgY2FuIGJlIHVzZWQgZm9yIHRoZSBsb2NhbHMgYXJndW1lbnQKIApAQCAtMTQ3NiwxNyArMTQ4MSwxMSBAQAogICAgICAgICAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgICMgSXNzdWUgIzc5OTQ6IG9iamVjdC5fX2Zvcm1hdF9fIHdpdGggYSBub24tZW1wdHkgZm9ybWF0IHN0cmluZyBpcwogICAgICAgICAjICBkZXByZWNhdGVkCi0gICAgICAgIGRlZiB0ZXN0X2RlcHJlY2F0ZWRfZm9ybWF0X3N0cmluZyhvYmosIGZtdF9zdHIsIHNob3VsZF9yYWlzZV93YXJuaW5nKToKLSAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6Ci0gICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiLCBEZXByZWNhdGlvbldhcm5pbmcpCi0gICAgICAgICAgICAgICAgZm9ybWF0KG9iaiwgZm10X3N0cikKLSAgICAgICAgICAgIGlmIHNob3VsZF9yYWlzZV93YXJuaW5nOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHcpLCAxKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh3WzBdLm1lc3NhZ2UsIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdvYmplY3QuX19mb3JtYXRfXyB3aXRoIGEgbm9uLWVtcHR5IGZvcm1hdCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywgc3RyKHdbMF0ubWVzc2FnZSkpCisgICAgICAgIGRlZiB0ZXN0X2RlcHJlY2F0ZWRfZm9ybWF0X3N0cmluZyhvYmosIGZtdF9zdHIsIHNob3VsZF9yYWlzZSk6CisgICAgICAgICAgICBpZiBzaG91bGRfcmFpc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBmb3JtYXQsIG9iaiwgZm10X3N0cikKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odyksIDApCisgICAgICAgICAgICAgICAgZm9ybWF0KG9iaiwgZm10X3N0cikKIAogICAgICAgICBmbXRfc3RycyA9IFsnJywgJ3MnXQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5IGIvTGliL3Rlc3QvdGVzdF9ieXRlcy5weQppbmRleCAzNTIwZTgzLi5mMTJmOTExIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYnl0ZXMucHkKQEAgLTI4OCw4ICsyODgsMjIgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50eXBlMnRlc3QoYiIiKS5qb2luKGxzdCksIGIiYWJjIikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50eXBlMnRlc3QoYiIiKS5qb2luKHR1cGxlKGxzdCkpLCBiImFiYyIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYudHlwZTJ0ZXN0KGIiIikuam9pbihpdGVyKGxzdCkpLCBiImFiYyIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50eXBlMnRlc3QoYiIuIikuam9pbihbYiJhYiIsIGIiY2QiXSksIGIiYWIuY2QiKQotICAgICAgICAjIFhYWCBtb3JlLi4uCisgICAgICAgIGRvdF9qb2luID0gc2VsZi50eXBlMnRlc3QoYiIuOiIpLmpvaW4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkb3Rfam9pbihbYiJhYiIsIGIiY2QiXSksIGIiYWIuOmNkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkb3Rfam9pbihbbWVtb3J5dmlldyhiImFiIiksIGIiY2QiXSksIGIiYWIuOmNkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkb3Rfam9pbihbYiJhYiIsIG1lbW9yeXZpZXcoYiJjZCIpXSksIGIiYWIuOmNkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkb3Rfam9pbihbYnl0ZWFycmF5KGIiYWIiKSwgYiJjZCJdKSwgYiJhYi46Y2QiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRvdF9qb2luKFtiImFiIiwgYnl0ZWFycmF5KGIiY2QiKV0pLCBiImFiLjpjZCIpCisgICAgICAgICMgU3RyZXNzIGl0IHdpdGggbWFueSBpdGVtcworICAgICAgICBzZXEgPSBbYiJhYmMiXSAqIDEwMDAKKyAgICAgICAgZXhwZWN0ZWQgPSBiImFiYyIgKyBiIi46YWJjIiAqIDk5OQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRvdF9qb2luKHNlcSksIGV4cGVjdGVkKQorICAgICAgICAjIEVycm9yIGhhbmRsaW5nIGFuZCBjbGVhbnVwIHdoZW4gc29tZSBpdGVtIGluIHRoZSBtaWRkbGUgb2YgdGhlCisgICAgICAgICMgc2VxdWVuY2UgaGFzIHRoZSB3cm9uZyB0eXBlLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkb3Rfam9pbihbYnl0ZWFycmF5KGIiYWIiKSwgImNkIiwgYiJlZiJdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBkb3Rfam9pbihbbWVtb3J5dmlldyhiImFiIiksICJjZCIsIGIiZWYiXSkKIAogICAgIGRlZiB0ZXN0X2NvdW50KHNlbGYpOgogICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidtaXNzaXNzaXBwaScpCkBAIC03NTksNyArNzczLDcgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy5yZW1vdmUodGZuKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwogCiAgICAgZGVmIHRlc3RfcmV2ZXJzZShzZWxmKToKQEAgLTEyNzQsNiArMTI4OCwxMSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWwsIG5ld3ZhbCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh2YWwgaXMgbm90IG5ld3ZhbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByKycgcmV0dXJuZWQgdmFsIG9uIGEgbXV0YWJsZSBvYmplY3QnKQorICAgICAgICBzZXAgPSBzZWxmLm1hcnNoYWwoYicnKQorICAgICAgICBuZXd2YWwgPSBzZXAuam9pbihbdmFsXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWwsIG5ld3ZhbCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh2YWwsIG5ld3ZhbCkKKwogCiBjbGFzcyBGaXhlZFN0cmluZ1Rlc3QodGVzdC5zdHJpbmdfdGVzdHMuQmFzZVRlc3QpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2J6Mi5weSBiL0xpYi90ZXN0L3Rlc3RfYnoyLnB5CmluZGV4IGRmN2UxOGMuLjcwOTBjZDYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYnoyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYnoyLnB5CkBAIC0xLDYgKzEsNiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBiaWdtZW10ZXN0LCBfNEcKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBiaWdtZW10ZXN0LCBfNEcKIAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIGlvIGltcG9ydCBCeXRlc0lPCkBAIC0xOCwxMCArMTgsMTAgQEAKIGJ6MiA9IHN1cHBvcnQuaW1wb3J0X21vZHVsZSgnYnoyJykKIGZyb20gYnoyIGltcG9ydCBCWjJGaWxlLCBCWjJDb21wcmVzc29yLCBCWjJEZWNvbXByZXNzb3IKIAotaGFzX2NtZGxpbmVfYnVuemlwMiA9IHN5cy5wbGF0Zm9ybSBub3QgaW4gKCJ3aW4zMiIsICJvczJlbXgiKQogCiBjbGFzcyBCYXNlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIkJhc2UgZm9yIG90aGVyIHRlc3RjYXNlcy4iCisKICAgICBURVhUX0xJTkVTID0gWwogICAgICAgICBiJ3Jvb3Q6eDowOjA6cm9vdDovcm9vdDovYmluL2Jhc2hcbicsCiAgICAgICAgIGInYmluOng6MToxOmJpbjovYmluOlxuJywKQEAgLTUwLDEzICs1MCwxNyBAQAogICAgIEVNUFRZX0RBVEEgPSBiJ0JaaDlceDE3ckU4UFx4OTBceDAwXHgwMFx4MDBceDAwJwogCiAgICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICBzZWxmLmZpbGVuYW1lID0gVEVTVEZOCisgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBzdXBwb3J0LlRFU1RGTgogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShzZWxmLmZpbGVuYW1lKToKICAgICAgICAgICAgIG9zLnVubGluayhzZWxmLmZpbGVuYW1lKQogCi0gICAgaWYgaGFzX2NtZGxpbmVfYnVuemlwMjoKKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gIndpbjMyIjoKKyAgICAgICAgIyBidW56aXAyIGlzbid0IGF2YWlsYWJsZSB0byBydW4gb24gV2luZG93cy4KKyAgICAgICAgZGVmIGRlY29tcHJlc3Moc2VsZiwgZGF0YSk6CisgICAgICAgICAgICByZXR1cm4gYnoyLmRlY29tcHJlc3MoZGF0YSkKKyAgICBlbHNlOgogICAgICAgICBkZWYgZGVjb21wcmVzcyhzZWxmLCBkYXRhKToKICAgICAgICAgICAgIHBvcCA9IHN1YnByb2Nlc3MuUG9wZW4oImJ1bnppcDIiLCBzaGVsbD1UcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsCkBAIC03MCwzMSArNzQsMjEgQEAKICAgICAgICAgICAgICAgICByZXQgPSBiejIuZGVjb21wcmVzcyhkYXRhKQogICAgICAgICAgICAgcmV0dXJuIHJldAogCi0gICAgZWxzZToKLSAgICAgICAgIyBidW56aXAyIGlzbid0IGF2YWlsYWJsZSB0byBydW4gb24gV2luZG93cy4KLSAgICAgICAgZGVmIGRlY29tcHJlc3Moc2VsZiwgZGF0YSk6Ci0gICAgICAgICAgICByZXR1cm4gYnoyLmRlY29tcHJlc3MoZGF0YSkKIAogY2xhc3MgQloyRmlsZVRlc3QoQmFzZVRlc3QpOgotICAgICJUZXN0IEJaMkZpbGUgdHlwZSBtaXNjZWxsYW5lb3VzIG1ldGhvZHMuIgorICAgICJUZXN0IHRoZSBCWjJGaWxlIGNsYXNzLiIKIAogICAgIGRlZiBjcmVhdGVUZW1wRmlsZShzZWxmLCBzdHJlYW1zPTEpOgogICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgIndiIikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoc2VsZi5EQVRBICogc3RyZWFtcykKIAogICAgIGRlZiB0ZXN0QmFkQXJncyhzZWxmKToKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgotICAgICAgICAgICAgQloyRmlsZSgxMjMuNDU2KQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgQloyRmlsZSgiL2Rldi9udWxsIiwgInoiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgQloyRmlsZSgiL2Rldi9udWxsIiwgInJ4IikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKLSAgICAgICAgICAgIEJaMkZpbGUoIi9kZXYvbnVsbCIsICJyYnQiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgQloyRmlsZSgiL2Rldi9udWxsIiwgY29tcHJlc3NsZXZlbD0wKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgQloyRmlsZSgiL2Rldi9udWxsIiwgY29tcHJlc3NsZXZlbD0xMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBCWjJGaWxlLCAxMjMuNDU2KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBCWjJGaWxlLCAiL2Rldi9udWxsIiwgInoiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBCWjJGaWxlLCAiL2Rldi9udWxsIiwgInJ4IikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgQloyRmlsZSwgIi9kZXYvbnVsbCIsICJyYnQiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBCWjJGaWxlLCAiL2Rldi9udWxsIiwgY29tcHJlc3NsZXZlbD0wKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBCWjJGaWxlLCAiL2Rldi9udWxsIiwgY29tcHJlc3NsZXZlbD0xMCkKIAogICAgIGRlZiB0ZXN0UmVhZChzZWxmKToKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCkBAIC0yMTUsOSArMjA5LDggQEAKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIGJ6MmYgPSBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpCiAgICAgICAgIGJ6MmYuY2xvc2UoKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiejJmLl9fbmV4dF9fKQotICAgICAgICAjIFRoaXMgY2FsbCB3aWxsIGRlYWRsb2NrIGlmIHRoZSBhYm92ZSAuX19uZXh0X18gY2FsbCBmYWlsZWQgdG8KLSAgICAgICAgIyByZWxlYXNlIHRoZSBsb2NrLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBuZXh0LCBiejJmKQorICAgICAgICAjIFRoaXMgY2FsbCB3aWxsIGRlYWRsb2NrIGlmIHRoZSBhYm92ZSBjYWxsIGZhaWxlZCB0byByZWxlYXNlIHRoZSBsb2NrLgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiejJmLnJlYWRsaW5lcykKIAogICAgIGRlZiB0ZXN0V3JpdGUoc2VsZik6CkBAIC0yNjEsOCArMjU0LDggQEAKICAgICAgICAgICAgIGJ6MmYud3JpdGUoYiJhYmMiKQogCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lLCAiciIpIGFzIGJ6MmY6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBiejJmLndyaXRlLCBiImEiKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYnoyZi53cml0ZWxpbmVzLCBbYiJhIl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBiejJmLndyaXRlLCBiImEiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgYnoyZi53cml0ZWxpbmVzLCBbYiJhIl0pCiAKICAgICBkZWYgdGVzdEFwcGVuZChzZWxmKToKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUsICJ3IikgYXMgYnoyZjoKQEAgLTM4MCw3ICszNzMsNyBAQAogICAgICAgICAgICAgYnoyZi5jbG9zZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJ6MmYuc2Vla2FibGUpCiAKLSAgICAgICAgYnoyZiA9IEJaMkZpbGUoQnl0ZXNJTygpLCBtb2RlPSJ3IikKKyAgICAgICAgYnoyZiA9IEJaMkZpbGUoQnl0ZXNJTygpLCAidyIpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYnoyZi5zZWVrYWJsZSgpKQogICAgICAgICBmaW5hbGx5OgpAQCAtNDA2LDcgKzM5OSw3IEBACiAgICAgICAgICAgICBiejJmLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi5yZWFkYWJsZSkKIAotICAgICAgICBiejJmID0gQloyRmlsZShCeXRlc0lPKCksIG1vZGU9InciKQorICAgICAgICBiejJmID0gQloyRmlsZShCeXRlc0lPKCksICJ3IikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiejJmLnJlYWRhYmxlKCkpCiAgICAgICAgIGZpbmFsbHk6CkBAIC00MjMsNyArNDE2LDcgQEAKICAgICAgICAgICAgIGJ6MmYuY2xvc2UoKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiejJmLndyaXRhYmxlKQogCi0gICAgICAgIGJ6MmYgPSBCWjJGaWxlKEJ5dGVzSU8oKSwgbW9kZT0idyIpCisgICAgICAgIGJ6MmYgPSBCWjJGaWxlKEJ5dGVzSU8oKSwgInciKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYnoyZi53cml0YWJsZSgpKQogICAgICAgICBmaW5hbGx5OgpAQCAtNDM3LDcgKzQzMCw3IEBACiAgICAgICAgICAgICBkZWwgbwogCiAgICAgZGVmIHRlc3RPcGVuTm9uZXhpc3RlbnQoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIEJaMkZpbGUsICIvbm9uL2V4aXN0ZW50IikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgQloyRmlsZSwgIi9ub24vZXhpc3RlbnQiKQogCiAgICAgZGVmIHRlc3RSZWFkbGluZXNOb05ld2xpbmUoc2VsZik6CiAgICAgICAgICMgSXNzdWUgIzExOTEwNDM6IHJlYWRsaW5lcygpIGZhaWxzIG9uIGEgZmlsZSBjb250YWluaW5nIG5vIG5ld2xpbmUuCkBAIC00NzcsNyArNDcwLDcgQEAKICAgICAgICAgIyBJc3N1ZSAjNzIwNTogVXNpbmcgYSBCWjJGaWxlIGZyb20gc2V2ZXJhbCB0aHJlYWRzIHNob3VsZG4ndCBkZWFkbG9jay4KICAgICAgICAgZGF0YSA9IGIiMSIgKiAyKioyMAogICAgICAgICBudGhyZWFkcyA9IDEwCi0gICAgICAgIHdpdGggYnoyLkJaMkZpbGUoc2VsZi5maWxlbmFtZSwgJ3diJykgYXMgZjoKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUsICd3YicpIGFzIGY6CiAgICAgICAgICAgICBkZWYgY29tcCgpOgogICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDUpOgogICAgICAgICAgICAgICAgICAgICBmLndyaXRlKGRhdGEpCkBAIC00ODgsMjggKzQ4MSwyNyBAQAogICAgICAgICAgICAgICAgIHQuam9pbigpCiAKICAgICBkZWYgdGVzdFdpdGhvdXRUaHJlYWRpbmcoc2VsZik6Ci0gICAgICAgIGJ6MiA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgiYnoyIiwgYmxvY2tlZD0oInRocmVhZGluZyIsKSkKLSAgICAgICAgd2l0aCBiejIuQloyRmlsZShzZWxmLmZpbGVuYW1lLCAid2IiKSBhcyBmOgorICAgICAgICBtb2R1bGUgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoImJ6MiIsIGJsb2NrZWQ9KCJ0aHJlYWRpbmciLCkpCisgICAgICAgIHdpdGggbW9kdWxlLkJaMkZpbGUoc2VsZi5maWxlbmFtZSwgIndiIikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoYiJhYmMiKQotICAgICAgICB3aXRoIGJ6Mi5CWjJGaWxlKHNlbGYuZmlsZW5hbWUsICJyYiIpIGFzIGY6CisgICAgICAgIHdpdGggbW9kdWxlLkJaMkZpbGUoc2VsZi5maWxlbmFtZSwgInJiIikgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIGIiYWJjIikKIAogICAgIGRlZiB0ZXN0TWl4ZWRJdGVyYXRpb25BbmRSZWFkcyhzZWxmKToKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIGxpbmVsZW4gPSBsZW4oc2VsZi5URVhUX0xJTkVTWzBdKQogICAgICAgICBoYWxmbGVuID0gbGluZWxlbiAvLyAyCi0gICAgICAgIHdpdGggYnoyLkJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBiejJmLnJlYWQoaGFsZmxlbikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChiejJmKSwgc2VsZi5URVhUX0xJTkVTWzBdW2hhbGZsZW46XSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVFtsaW5lbGVuOl0pCi0gICAgICAgIHdpdGggYnoyLkJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBiejJmLnJlYWRsaW5lKCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChiejJmKSwgc2VsZi5URVhUX0xJTkVTWzFdKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWRsaW5lKCksIHNlbGYuVEVYVF9MSU5FU1syXSkKLSAgICAgICAgd2l0aCBiejIuQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKICAgICAgICAgICAgIGJ6MmYucmVhZGxpbmVzKCkKLSAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbik6Ci0gICAgICAgICAgICAgICAgbmV4dChiejJmKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbmV4dCwgYnoyZikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkbGluZXMoKSwgW10pCiAKICAgICBkZWYgdGVzdE11bHRpU3RyZWFtT3JkZXJpbmcoc2VsZik6CkBAIC03MTcsOTcgKzcwOSwxMDIgQEAKIAogCiBjbGFzcyBPcGVuVGVzdChCYXNlVGVzdCk6CisgICAgIlRlc3QgdGhlIG9wZW4gZnVuY3Rpb24uIgorCisgICAgZGVmIG9wZW4oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIGJ6Mi5vcGVuKCphcmdzLCAqKmt3YXJncykKKwogICAgIGRlZiB0ZXN0X2JpbmFyeV9tb2RlcyhzZWxmKToKLSAgICAgICAgd2l0aCBiejIub3BlbihzZWxmLmZpbGVuYW1lLCAid2IiKSBhcyBmOgorICAgICAgICB3aXRoIHNlbGYub3BlbihzZWxmLmZpbGVuYW1lLCAid2IiKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZShzZWxmLlRFWFQpCiAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAicmIiKSBhcyBmOgotICAgICAgICAgICAgZmlsZV9kYXRhID0gYnoyLmRlY29tcHJlc3MoZi5yZWFkKCkpCisgICAgICAgICAgICBmaWxlX2RhdGEgPSBzZWxmLmRlY29tcHJlc3MoZi5yZWFkKCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVfZGF0YSwgc2VsZi5URVhUKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJyYiIpIGFzIGY6CisgICAgICAgIHdpdGggc2VsZi5vcGVuKHNlbGYuZmlsZW5hbWUsICJyYiIpIGFzIGY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBzZWxmLlRFWFQpCi0gICAgICAgIHdpdGggYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgImFiIikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgImFiIikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoc2VsZi5URVhUKQogICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgInJiIikgYXMgZjoKLSAgICAgICAgICAgIGZpbGVfZGF0YSA9IGJ6Mi5kZWNvbXByZXNzKGYucmVhZCgpKQorICAgICAgICAgICAgZmlsZV9kYXRhID0gc2VsZi5kZWNvbXByZXNzKGYucmVhZCgpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlX2RhdGEsIHNlbGYuVEVYVCAqIDIpCiAKICAgICBkZWYgdGVzdF9pbXBsaWNpdF9iaW5hcnlfbW9kZXMoc2VsZik6CiAgICAgICAgICMgVGVzdCBpbXBsaWNpdCBiaW5hcnkgbW9kZXMgKG5vICJiIiBvciAidCIgaW4gbW9kZSBzdHJpbmcpLgotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3IikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgInciKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZShzZWxmLlRFWFQpCiAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAicmIiKSBhcyBmOgotICAgICAgICAgICAgZmlsZV9kYXRhID0gYnoyLmRlY29tcHJlc3MoZi5yZWFkKCkpCisgICAgICAgICAgICBmaWxlX2RhdGEgPSBzZWxmLmRlY29tcHJlc3MoZi5yZWFkKCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVfZGF0YSwgc2VsZi5URVhUKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJyIikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgInIiKSBhcyBmOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgc2VsZi5URVhUKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJhIikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgImEiKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZShzZWxmLlRFWFQpCiAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAicmIiKSBhcyBmOgotICAgICAgICAgICAgZmlsZV9kYXRhID0gYnoyLmRlY29tcHJlc3MoZi5yZWFkKCkpCisgICAgICAgICAgICBmaWxlX2RhdGEgPSBzZWxmLmRlY29tcHJlc3MoZi5yZWFkKCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVfZGF0YSwgc2VsZi5URVhUICogMikKIAogICAgIGRlZiB0ZXN0X3RleHRfbW9kZXMoc2VsZik6CiAgICAgICAgIHRleHQgPSBzZWxmLlRFWFQuZGVjb2RlKCJhc2NpaSIpCiAgICAgICAgIHRleHRfbmF0aXZlX2VvbCA9IHRleHQucmVwbGFjZSgiXG4iLCBvcy5saW5lc2VwKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3dCIpIGFzIGY6CisgICAgICAgIHdpdGggc2VsZi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3dCIpIGFzIGY6CiAgICAgICAgICAgICBmLndyaXRlKHRleHQpCiAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAicmIiKSBhcyBmOgotICAgICAgICAgICAgZmlsZV9kYXRhID0gYnoyLmRlY29tcHJlc3MoZi5yZWFkKCkpLmRlY29kZSgiYXNjaWkiKQorICAgICAgICAgICAgZmlsZV9kYXRhID0gc2VsZi5kZWNvbXByZXNzKGYucmVhZCgpKS5kZWNvZGUoImFzY2lpIikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZV9kYXRhLCB0ZXh0X25hdGl2ZV9lb2wpCi0gICAgICAgIHdpdGggYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgInJ0IikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgInJ0IikgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIHRleHQpCi0gICAgICAgIHdpdGggYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgImF0IikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgImF0IikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUodGV4dCkKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuZmlsZW5hbWUsICJyYiIpIGFzIGY6Ci0gICAgICAgICAgICBmaWxlX2RhdGEgPSBiejIuZGVjb21wcmVzcyhmLnJlYWQoKSkuZGVjb2RlKCJhc2NpaSIpCisgICAgICAgICAgICBmaWxlX2RhdGEgPSBzZWxmLmRlY29tcHJlc3MoZi5yZWFkKCkpLmRlY29kZSgiYXNjaWkiKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWxlX2RhdGEsIHRleHRfbmF0aXZlX2VvbCAqIDIpCiAKICAgICBkZWYgdGVzdF9maWxlb2JqKHNlbGYpOgotICAgICAgICB3aXRoIGJ6Mi5vcGVuKEJ5dGVzSU8oc2VsZi5EQVRBKSwgInIiKSBhcyBmOgorICAgICAgICB3aXRoIHNlbGYub3BlbihCeXRlc0lPKHNlbGYuREFUQSksICJyIikgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIHNlbGYuVEVYVCkKLSAgICAgICAgd2l0aCBiejIub3BlbihCeXRlc0lPKHNlbGYuREFUQSksICJyYiIpIGFzIGY6CisgICAgICAgIHdpdGggc2VsZi5vcGVuKEJ5dGVzSU8oc2VsZi5EQVRBKSwgInJiIikgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIHNlbGYuVEVYVCkKICAgICAgICAgdGV4dCA9IHNlbGYuVEVYVC5kZWNvZGUoImFzY2lpIikKLSAgICAgICAgd2l0aCBiejIub3BlbihCeXRlc0lPKHNlbGYuREFUQSksICJydCIpIGFzIGY6CisgICAgICAgIHdpdGggc2VsZi5vcGVuKEJ5dGVzSU8oc2VsZi5EQVRBKSwgInJ0IikgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIHRleHQpCiAKICAgICBkZWYgdGVzdF9iYWRfcGFyYW1zKHNlbGYpOgogICAgICAgICAjIFRlc3QgaW52YWxpZCBwYXJhbWV0ZXIgY29tYmluYXRpb25zLgotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgIndidCIpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6Ci0gICAgICAgICAgICBiejIub3BlbihzZWxmLmZpbGVuYW1lLCAicmIiLCBlbmNvZGluZz0idXRmLTgiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgInJiIiwgZXJyb3JzPSJpZ25vcmUiKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgInJiIiwgbmV3bGluZT0iXG4iKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9wZW4sIHNlbGYuZmlsZW5hbWUsICJ3YnQiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9wZW4sIHNlbGYuZmlsZW5hbWUsICJyYiIsIGVuY29kaW5nPSJ1dGYtOCIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub3Blbiwgc2VsZi5maWxlbmFtZSwgInJiIiwgZXJyb3JzPSJpZ25vcmUiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm9wZW4sIHNlbGYuZmlsZW5hbWUsICJyYiIsIG5ld2xpbmU9IlxuIikKIAogICAgIGRlZiB0ZXN0X2VuY29kaW5nKHNlbGYpOgogICAgICAgICAjIFRlc3Qgbm9uLWRlZmF1bHQgZW5jb2RpbmcuCiAgICAgICAgIHRleHQgPSBzZWxmLlRFWFQuZGVjb2RlKCJhc2NpaSIpCiAgICAgICAgIHRleHRfbmF0aXZlX2VvbCA9IHRleHQucmVwbGFjZSgiXG4iLCBvcy5saW5lc2VwKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3dCIsIGVuY29kaW5nPSJ1dGYtMTYtbGUiKSBhcyBmOgorICAgICAgICB3aXRoIHNlbGYub3BlbihzZWxmLmZpbGVuYW1lLCAid3QiLCBlbmNvZGluZz0idXRmLTE2LWxlIikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUodGV4dCkKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuZmlsZW5hbWUsICJyYiIpIGFzIGY6Ci0gICAgICAgICAgICBmaWxlX2RhdGEgPSBiejIuZGVjb21wcmVzcyhmLnJlYWQoKSkuZGVjb2RlKCJ1dGYtMTYtbGUiKQorICAgICAgICAgICAgZmlsZV9kYXRhID0gc2VsZi5kZWNvbXByZXNzKGYucmVhZCgpKS5kZWNvZGUoInV0Zi0xNi1sZSIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbGVfZGF0YSwgdGV4dF9uYXRpdmVfZW9sKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJydCIsIGVuY29kaW5nPSJ1dGYtMTYtbGUiKSBhcyBmOgorICAgICAgICB3aXRoIHNlbGYub3BlbihzZWxmLmZpbGVuYW1lLCAicnQiLCBlbmNvZGluZz0idXRmLTE2LWxlIikgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIHRleHQpCiAKICAgICBkZWYgdGVzdF9lbmNvZGluZ19lcnJvcl9oYW5kbGVyKHNlbGYpOgogICAgICAgICAjIFRlc3Qgd2l0aCBub24tZGVmYXVsdCBlbmNvZGluZyBlcnJvciBoYW5kbGVyLgotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3YiIpIGFzIGY6CisgICAgICAgIHdpdGggc2VsZi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3YiIpIGFzIGY6CiAgICAgICAgICAgICBmLndyaXRlKGIiZm9vXHhmZmJhciIpCi0gICAgICAgIHdpdGggYnoyLm9wZW4oc2VsZi5maWxlbmFtZSwgInJ0IiwgZW5jb2Rpbmc9ImFzY2lpIiwgZXJyb3JzPSJpZ25vcmUiKSBcCisgICAgICAgIHdpdGggc2VsZi5vcGVuKHNlbGYuZmlsZW5hbWUsICJydCIsIGVuY29kaW5nPSJhc2NpaSIsIGVycm9ycz0iaWdub3JlIikgXAogICAgICAgICAgICAgICAgIGFzIGY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCAiZm9vYmFyIikKIAogICAgIGRlZiB0ZXN0X25ld2xpbmUoc2VsZik6CiAgICAgICAgICMgVGVzdCB3aXRoIGV4cGxpY2l0IG5ld2xpbmUgKHVuaXZlcnNhbCBuZXdsaW5lIG1vZGUgZGlzYWJsZWQpLgogICAgICAgICB0ZXh0ID0gc2VsZi5URVhULmRlY29kZSgiYXNjaWkiKQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJ3dCIsIG5ld2xpbmU9IlxuIikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgInd0IiwgbmV3bGluZT0iXG4iKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZSh0ZXh0KQotICAgICAgICB3aXRoIGJ6Mi5vcGVuKHNlbGYuZmlsZW5hbWUsICJydCIsIG5ld2xpbmU9IlxyIikgYXMgZjoKKyAgICAgICAgd2l0aCBzZWxmLm9wZW4oc2VsZi5maWxlbmFtZSwgInJ0IiwgbmV3bGluZT0iXHIiKSBhcyBmOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWRsaW5lcygpLCBbdGV4dF0pCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weSBiL0xpYi90ZXN0L3Rlc3RfY21kX2xpbmUucHkKaW5kZXggYTg5ZDdlNC4uOWFlODgyZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5CkBAIC02Miw2ICs2MiwzNCBAQAogICAgICAgICBvcHRzID0gZXZhbChvdXQuc3BsaXRsaW5lcygpWzBdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wdHMsIHsnYSc6IFRydWUsICdiJzogJ2MsZD1lJ30pCiAKKyAgICBkZWYgdGVzdF9zaG93cmVmY291bnQoc2VsZik6CisgICAgICAgIGRlZiBydW5fcHl0aG9uKCphcmdzKToKKyAgICAgICAgICAgICMgdGhpcyBpcyBzaW1pbGFyIHRvIGFzc2VydF9weXRob25fb2sgYnV0IGRvZXNuJ3Qgc3RyaXAKKyAgICAgICAgICAgICMgdGhlIHJlZmNvdW50IGZyb20gc3RkZXJyLiAgSXQgY2FuIGJlIHJlcGxhY2VkIG9uY2UKKyAgICAgICAgICAgICMgYXNzZXJ0X3B5dGhvbl9vayBzdG9wcyBkb2luZyB0aGF0LgorICAgICAgICAgICAgY21kID0gW3N5cy5leGVjdXRhYmxlXQorICAgICAgICAgICAgY21kLmV4dGVuZChhcmdzKQorICAgICAgICAgICAgUElQRSA9IHN1YnByb2Nlc3MuUElQRQorICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oY21kLCBzdGRvdXQ9UElQRSwgc3RkZXJyPVBJUEUpCisgICAgICAgICAgICBvdXQsIGVyciA9IHAuY29tbXVuaWNhdGUoKQorICAgICAgICAgICAgcC5zdGRvdXQuY2xvc2UoKQorICAgICAgICAgICAgcC5zdGRlcnIuY2xvc2UoKQorICAgICAgICAgICAgcmMgPSBwLnJldHVybmNvZGUKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCisgICAgICAgICAgICByZXR1cm4gcmMsIG91dCwgZXJyCisgICAgICAgIGNvZGUgPSAnaW1wb3J0IHN5czsgcHJpbnQoc3lzLl94b3B0aW9ucyknCisgICAgICAgICMgbm9ybWFsbHkgdGhlIHJlZmNvdW50IGlzIGhpZGRlbgorICAgICAgICByYywgb3V0LCBlcnIgPSBydW5fcHl0aG9uKCctYycsIGNvZGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LnJzdHJpcCgpLCBiJ3t9JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIsIGInJykKKyAgICAgICAgIyAiLVggc2hvd3JlZmNvdW50IiBzaG93cyB0aGUgcmVmY291bnQsIGJ1dCBvbmx5IGluIGRlYnVnIGJ1aWxkcworICAgICAgICByYywgb3V0LCBlcnIgPSBydW5fcHl0aG9uKCctWCcsICdzaG93cmVmY291bnQnLCAnLWMnLCBjb2RlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5yc3RyaXAoKSwgYiJ7J3Nob3dyZWZjb3VudCc6IFRydWV9IikKKyAgICAgICAgaWYgaGFzYXR0cihzeXMsICdnZXR0b3RhbHJlZmNvdW50Jyk6ICAjIGRlYnVnIGJ1aWxkCisgICAgICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KGVyciwgYnInXlxbXGQrIHJlZnMsIFxkKyBibG9ja3NcXScpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQorCiAgICAgZGVmIHRlc3RfcnVuX21vZHVsZShzZWxmKToKICAgICAgICAgIyBUZXN0IGV4cGVjdGVkIG9wZXJhdGlvbiBvZiB0aGUgJy1tJyBzd2l0Y2gKICAgICAgICAgIyBTd2l0Y2ggbmVlZHMgYW4gYXJndW1lbnQKQEAgLTcwLDkgKzk4LDkgQEAKICAgICAgICAgYXNzZXJ0X3B5dGhvbl9mYWlsdXJlKCctbScsICdmbm9yZDQzNTIweHl6JykKICAgICAgICAgIyBDaGVjayB0aGUgcnVucHkgbW9kdWxlIGFsc28gZ2l2ZXMgYW4gZXJyb3IgZm9yCiAgICAgICAgICMgYSBub25leGlzdGVudCBtb2R1bGUKLSAgICAgICAgYXNzZXJ0X3B5dGhvbl9mYWlsdXJlKCctbScsICdydW5weScsICdmbm9yZDQzNTIweHl6JyksCisgICAgICAgIGFzc2VydF9weXRob25fZmFpbHVyZSgnLW0nLCAncnVucHknLCAnZm5vcmQ0MzUyMHh5eicpCiAgICAgICAgICMgQWxsIGdvb2QgaWYgbW9kdWxlIGlzIGxvY2F0ZWQgYW5kIHJ1biBzdWNjZXNzZnVsbHkKLSAgICAgICAgYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAndGltZWl0JywgJy1uJywgJzEnKSwKKyAgICAgICAgYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAndGltZWl0JywgJy1uJywgJzEnKQogCiAgICAgZGVmIHRlc3RfcnVuX21vZHVsZV9idWcxNzY0NDA3KHNlbGYpOgogICAgICAgICAjIC1tIGFuZCAtaSBuZWVkIHRvIHBsYXkgd2VsbCB0b2dldGhlcgpAQCAtMjEzLDYgKzI0MSwyMyBAQAogICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgxLmVuY29kZSgnYXNjaWknKSwgb3V0KQogICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgyLmVuY29kZSgnYXNjaWknKSwgb3V0KQogCisgICAgZGVmIHRlc3RfZW1wdHlfUFlUSE9OUEFUSF9pc3N1ZTE2MzA5KHNlbGYpOgorICAgICAgICAjIE9uIFBvc2l4LCBpdCBpcyBkb2N1bWVudGVkIHRoYXQgc2V0dGluZyBQQVRIIHRvIHRoZQorICAgICAgICAjIGVtcHR5IHN0cmluZyBpcyBlcXVpdmFsZW50IHRvIG5vdCBzZXR0aW5nIFBBVEggYXQgYWxsLAorICAgICAgICAjIHdoaWNoIGlzIGFuIGV4Y2VwdGlvbiB0byB0aGUgcnVsZSB0aGF0IGluIGEgc3RyaW5nIGxpa2UKKyAgICAgICAgIyAiL2Jpbjo6L3Vzci9iaW4iIHRoZSBlbXB0eSBzdHJpbmcgaW4gdGhlIG1pZGRsZSBnZXRzCisgICAgICAgICMgaW50ZXJwcmV0ZWQgYXMgJy4nCisgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICAgICAgaW1wb3J0IHN5cworICAgICAgICAgICAgcGF0aCA9ICI6Ii5qb2luKHN5cy5wYXRoKQorICAgICAgICAgICAgcGF0aCA9IHBhdGguZW5jb2RlKCJhc2NpaSIsICJiYWNrc2xhc2hyZXBsYWNlIikKKyAgICAgICAgICAgIHN5cy5zdGRvdXQuYnVmZmVyLndyaXRlKHBhdGgpIiIiCisgICAgICAgIHJjMSwgb3V0MSwgZXJyMSA9IGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSwgUFlUSE9OUEFUSD0iIikKKyAgICAgICAgcmMyLCBvdXQyLCBlcnIyID0gYXNzZXJ0X3B5dGhvbl9vaygnLWMnLCBjb2RlKQorICAgICAgICAjIHJlZ2FyZGluZyB0byBQb3NpeCBzcGVjaWZpY2F0aW9uLCBvdXRwdXRzIHNob3VsZCBiZSBlcXVhbAorICAgICAgICAjIGZvciBlbXB0eSBhbmQgdW5zZXQgUFlUSE9OUEFUSAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dDEsIG91dDIpCisKICAgICBkZWYgdGVzdF9kaXNwbGF5aG9va191bmVuY29kYWJsZShzZWxmKToKICAgICAgICAgZm9yIGVuY29kaW5nIGluICgnYXNjaWknLCAnbGF0aW4tMScsICd1dGYtOCcpOgogICAgICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKQEAgLTI5MCw3ICszMzUsNyBAQAogICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLCBvdXQpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgoZXJyLmRlY29kZSgnYXNjaWknLCAnaWdub3JlJyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJ0V4Y2VwdGlvbiBPU0Vycm9yOiAuKiBpZ25vcmVkJykKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRXhjZXB0aW9uIGlnbm9yZWQgaW4uKlxuT1NFcnJvcjogLionKQogCiAgICAgZGVmIHRlc3RfY2xvc2VkX3N0ZG91dChzZWxmKToKICAgICAgICAgIyBJc3N1ZSAjMTM0NDQ6IGlmIHN0ZG91dCBoYXMgYmVlbiBleHBsaWNpdGx5IGNsb3NlZCwgd2Ugc2hvdWxkCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjcy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5CmluZGV4IGM2ODA4OGUuLjJmM2NmNGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5CkBAIC0yMjk1LDggKzIyOTUsOCBAQAogICAgIGRlZiB0ZXN0X2ludmFsaWRfY29kZV9wYWdlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgLTEsICdhJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIC0xLCBiJ2EnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhXaW5kb3dzRXJyb3IsIGNvZGVjcy5jb2RlX3BhZ2VfZW5jb2RlLCAxMjMsICdhJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoV2luZG93c0Vycm9yLCBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgMTIzLCBiJ2EnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgMTIzLCAnYScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCAxMjMsIGInYScpCiAKICAgICBkZWYgdGVzdF9jb2RlX3BhZ2VfbmFtZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChVbmljb2RlRW5jb2RlRXJyb3IsICdjcDkzMicsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weQppbmRleCA4ODUwZThiLi5kZmFkNzhlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29sbGVjdGlvbnMucHkKQEAgLTExMiw2ICsxMTIsMzggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaWN0KGQpLCBkaWN0KGE9MSwgYj0yLCBjPTMwKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaWN0KGQuaXRlbXMoKSksIGRpY3QoYT0xLCBiPTIsIGM9MzApKQogCisgICAgZGVmIHRlc3RfbmV3X2NoaWxkKHNlbGYpOgorICAgICAgICAnVGVzdHMgZm9yIGNoYW5nZXMgZm9yIGlzc3VlICMxNjYxMy4nCisgICAgICAgIGMgPSBDaGFpbk1hcCgpCisgICAgICAgIGNbJ2EnXSA9IDEKKyAgICAgICAgY1snYiddID0gMgorICAgICAgICBtID0geydiJzoyMCwgJ2MnOiAzMH0KKyAgICAgICAgZCA9IGMubmV3X2NoaWxkKG0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZC5tYXBzLCBbeydiJzoyMCwgJ2MnOjMwfSwgeydhJzoxLCAnYic6Mn1dKSAgIyBjaGVjayBpbnRlcm5hbCBzdGF0ZQorICAgICAgICBzZWxmLmFzc2VydElzKG0sIGQubWFwc1swXSkKKworICAgICAgICAjIFVzZSBhIGRpZmZlcmVudCBtYXAgdGhhbiBhIGRpY3QKKyAgICAgICAgY2xhc3MgbG93ZXJkaWN0KGRpY3QpOgorICAgICAgICAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShrZXksIHN0cik6CisgICAgICAgICAgICAgICAgICAgIGtleSA9IGtleS5sb3dlcigpCisgICAgICAgICAgICAgICAgcmV0dXJuIGRpY3QuX19nZXRpdGVtX18oc2VsZiwga2V5KQorICAgICAgICAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBrZXkpOgorICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoa2V5LCBzdHIpOgorICAgICAgICAgICAgICAgICAgICBrZXkgPSBrZXkubG93ZXIoKQorICAgICAgICAgICAgICAgIHJldHVybiBkaWN0Ll9fY29udGFpbnNfXyhzZWxmLCBrZXkpCisKKyAgICAgICAgYyA9IENoYWluTWFwKCkKKyAgICAgICAgY1snYSddID0gMQorICAgICAgICBjWydiJ10gPSAyCisgICAgICAgIG0gPSBsb3dlcmRpY3QoYj0yMCwgYz0zMCkKKyAgICAgICAgZCA9IGMubmV3X2NoaWxkKG0pCisgICAgICAgIHNlbGYuYXNzZXJ0SXMobSwgZC5tYXBzWzBdKQorICAgICAgICBmb3Iga2V5IGluICdhYmMnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgY2hlY2sgY29udGFpbnMKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oa2V5LCBkKQorICAgICAgICBmb3IgaywgdiBpbiBkaWN0KGE9MSwgQj0yMCwgQz0zMCwgej0xMDApLml0ZW1zKCk6ICAgICAgICAgICAgICMgY2hlY2sgZ2V0CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQuZ2V0KGssIDEwMCksIHYpCisKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMjIyBOYW1lZCBUdXBsZXMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29tcGxleC5weSBiL0xpYi90ZXN0L3Rlc3RfY29tcGxleC5weQppbmRleCA2YjM0ZGRjLi4yYTg1YmY0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbXBsZXgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb21wbGV4LnB5CkBAIC0yMjEsNiArMjIxLDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21wbGV4LCBPUyhOb25lKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21wbGV4LCBOUyhOb25lKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21wbGV4LCB7fSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjb21wbGV4LCBOUygxLjUpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvbXBsZXgsIE5TKDEpKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoY29tcGxleCgiMSsxMGoiKSwgMSsxMGopCiAgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoY29tcGxleCgxMCksIDEwKzBqKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb25jdXJyZW50X2Z1dHVyZXMucHkgYi9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQppbmRleCA2YWU0NTBkLi40YWQzMzA5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcy5weQpAQCAtMTUsNiArMTUsNyBAQAogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHRpbWUKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IHdlYWtyZWYKIAogZnJvbSBjb25jdXJyZW50IGltcG9ydCBmdXR1cmVzCiBmcm9tIGNvbmN1cnJlbnQuZnV0dXJlcy5fYmFzZSBpbXBvcnQgKApAQCAtNTIsNiArNTMsMTEgQEAKICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKIAogCitjbGFzcyBNeU9iamVjdChvYmplY3QpOgorICAgIGRlZiBteV9tZXRob2Qoc2VsZik6CisgICAgICAgIHBhc3MKKworCiBjbGFzcyBFeGVjdXRvck1peGluOgogICAgIHdvcmtlcl9jb3VudCA9IDUKIApAQCAtMzk2LDYgKzQwMiwyMiBAQAogICAgICAgICBzZWxmLmV4ZWN1dG9yLm1hcChzdHIsIFsyXSAqIChzZWxmLndvcmtlcl9jb3VudCArIDEpKQogICAgICAgICBzZWxmLmV4ZWN1dG9yLnNodXRkb3duKCkKIAorICAgIEB0ZXN0LnN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3Rfbm9fc3RhbGVfcmVmZXJlbmNlcyhzZWxmKToKKyAgICAgICAgIyBJc3N1ZSAjMTYyODQ6IGNoZWNrIHRoYXQgdGhlIGV4ZWN1dG9ycyBkb24ndCB1bm5lY2Vzc2FyaWx5IGhhbmcgb250bworICAgICAgICAjIHJlZmVyZW5jZXMuCisgICAgICAgIG15X29iamVjdCA9IE15T2JqZWN0KCkKKyAgICAgICAgbXlfb2JqZWN0X2NvbGxlY3RlZCA9IHRocmVhZGluZy5FdmVudCgpCisgICAgICAgIG15X29iamVjdF9jYWxsYmFjayA9IHdlYWtyZWYucmVmKAorICAgICAgICAgICAgbXlfb2JqZWN0LCBsYW1iZGEgb2JqOiBteV9vYmplY3RfY29sbGVjdGVkLnNldCgpKQorICAgICAgICAjIERlbGliZXJhdGVseSBkaXNjYXJkaW5nIHRoZSBmdXR1cmUuCisgICAgICAgIHNlbGYuZXhlY3V0b3Iuc3VibWl0KG15X29iamVjdC5teV9tZXRob2QpCisgICAgICAgIGRlbCBteV9vYmplY3QKKworICAgICAgICBjb2xsZWN0ZWQgPSBteV9vYmplY3RfY29sbGVjdGVkLndhaXQodGltZW91dD01LjApCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2xsZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAiU3RhbGUgcmVmZXJlbmNlIG5vdCBjb2xsZWN0ZWQgd2l0aGluIHRpbWVvdXQuIikKKwogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3JUZXN0KFRocmVhZFBvb2xNaXhpbiwgRXhlY3V0b3JUZXN0KToKICAgICBkZWYgdGVzdF9tYXBfc3VibWl0c193aXRob3V0X2l0ZXJhdGlvbihzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfY29udGV4dGxpYi5weQppbmRleCBlNTJlZDkxLi5kMTM2NTlkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvbnRleHRsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb250ZXh0bGliLnB5CkBAIC01OTQsNiArNTk0LDI4IEBACiAgICAgICAgIHN0YWNrLnB1c2goY20pCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc3RhY2suX2V4aXRfY2FsbGJhY2tzWy0xXSwgY20pCiAKK2NsYXNzIFRlc3RJZ25vcmVkKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X25vX2V4Y2VwdGlvbihzZWxmKToKKworICAgICAgICB3aXRoIGlnbm9yZWQoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvdygyLCA1KSwgMzIpCisKKyAgICBkZWYgdGVzdF9leGFjdF9leGNlcHRpb24oc2VsZik6CisKKyAgICAgICAgd2l0aCBpZ25vcmVkKFR5cGVFcnJvcik6CisgICAgICAgICAgICBsZW4oNSkKKworICAgIGRlZiB0ZXN0X211bHRpcGxlX2V4Y2VwdGlvbl9hcmdzKHNlbGYpOgorCisgICAgICAgIHdpdGggaWdub3JlZChaZXJvRGl2aXNpb25FcnJvciwgVHlwZUVycm9yKToKKyAgICAgICAgICAgIGxlbig1KQorCisgICAgZGVmIHRlc3RfZXhjZXB0aW9uX2hpZXJhcmNoeShzZWxmKToKKworICAgICAgICB3aXRoIGlnbm9yZWQoTG9va3VwRXJyb3IpOgorICAgICAgICAgICAgJ0hlbGxvJ1s1MF0KKwogCiAjIFRoaXMgaXMgbmVlZGVkIHRvIG1ha2UgdGhlIHRlc3QgYWN0dWFsbHkgcnVuIHVuZGVyIHJlZ3J0ZXN0LnB5IQogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfY3Byb2ZpbGUucHkKaW5kZXggNTY3NjY2OC4uYzNlYjdmYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5CkBAIC02LDkgKzYsMTEgQEAKICMgcmlwIG9mZiBhbGwgaW50ZXJlc3Rpbmcgc3R1ZmYgZnJvbSB0ZXN0X3Byb2ZpbGUKIGltcG9ydCBjUHJvZmlsZQogZnJvbSB0ZXN0LnRlc3RfcHJvZmlsZSBpbXBvcnQgUHJvZmlsZVRlc3QsIHJlZ2VuZXJhdGVfZXhwZWN0ZWRfb3V0cHV0Citmcm9tIHRlc3QucHJvZmlsZWUgaW1wb3J0IHRlc3RmdW5jCiAKIGNsYXNzIENQcm9maWxlVGVzdChQcm9maWxlVGVzdCk6CiAgICAgcHJvZmlsZXJjbGFzcyA9IGNQcm9maWxlLlByb2ZpbGUKKyAgICBwcm9maWxlcm1vZHVsZSA9IGNQcm9maWxlCiAgICAgZXhwZWN0ZWRfbWF4X291dHB1dCA9ICJ7YnVpbHQtaW4gbWV0aG9kIG1heH0iCiAKICAgICBkZWYgZ2V0X2V4cGVjdGVkX291dHB1dChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY3J5cHQucHkgYi9MaWIvdGVzdC90ZXN0X2NyeXB0LnB5CmluZGV4IGNmYjczNDEuLjYyNGQ3MDIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY3J5cHQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jcnlwdC5weQpAQCAtMSwxMSArMSw3IEBACiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCB1bml0dGVzdAogCi1kZWYgc2V0VXBNb2R1bGUoKToKLSAgICAjIHRoaXMgaW1wb3J0IHdpbGwgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QgaWYgX2NyeXB0IGRvZXNuJ3QgZXhpc3QsCi0gICAgIyBzbyBpdCBoYXMgdG8gYmUgZG9uZSBpbiBzZXRVcE1vZHVsZSBmb3IgdGVzdCBkaXNjb3ZlcnkgdG8gd29yawotICAgIGdsb2JhbCBjcnlwdAotICAgIGNyeXB0ID0gc3VwcG9ydC5pbXBvcnRfbW9kdWxlKCdjcnlwdCcpCitjcnlwdCA9IHN1cHBvcnQuaW1wb3J0X21vZHVsZSgnY3J5cHQnKQogCiBjbGFzcyBDcnlwdFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jc3YucHkgYi9MaWIvdGVzdC90ZXN0X2Nzdi5weQppbmRleCA5NmY4YWE3Li45NzRkNzNkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Nzdi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Nzdi5weQpAQCAtMTM2LDEyICsxMzYsMTIgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gMTA7CiAgICAgICAgICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaSk6CiAgICAgICAgICAgICAgICAgaWYgaSA+IDI6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgc2VsZi5fd3JpdGVfdGVzdCwgQmFkTGlzdCgpLCAnJykKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzZWxmLl93cml0ZV90ZXN0LCBCYWRMaXN0KCksICcnKQogICAgICAgICBjbGFzcyBCYWRJdGVtOgogICAgICAgICAgICAgZGVmIF9fc3RyX18oc2VsZik6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBzZWxmLl93cml0ZV90ZXN0LCBbQmFkSXRlbSgpXSwgJycpCisgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzZWxmLl93cml0ZV90ZXN0LCBbQmFkSXRlbSgpXSwgJycpCiAKICAgICBkZWYgdGVzdF93cml0ZV9iaWdmaWVsZChzZWxmKToKICAgICAgICAgIyBUaGlzIGV4ZXJjaXNlcyB0aGUgYnVmZmVyIHJlYWxsb2MgZnVuY3Rpb25hbGl0eQpAQCAtMTg2LDkgKzE4Niw5IEBACiAgICAgZGVmIHRlc3Rfd3JpdGVyb3dzKHNlbGYpOgogICAgICAgICBjbGFzcyBCcm9rZW5GaWxlOgogICAgICAgICAgICAgZGVmIHdyaXRlKHNlbGYsIGJ1Zik6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcgorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IKICAgICAgICAgd3JpdGVyID0gY3N2LndyaXRlcihCcm9rZW5GaWxlKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIHdyaXRlci53cml0ZXJvd3MsIFtbJ2EnXV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHdyaXRlci53cml0ZXJvd3MsIFtbJ2EnXV0pCiAKICAgICAgICAgd2l0aCBUZW1wb3JhcnlGaWxlKCJ3KyIsIG5ld2xpbmU9JycpIGFzIGZpbGVvYmo6CiAgICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGZpbGVvYmopCkBAIC0zMDgsNiArMzA4LDE1IEBACiAgICAgICAgICAgICBmb3IgaSwgcm93IGluIGVudW1lcmF0ZShjc3YucmVhZGVyKGZpbGVvYmopKToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJvdywgcm93c1tpXSkKIAorICAgIGRlZiB0ZXN0X3JvdW5kdHJpcF9lc2NhcGVkX3VucXVvdGVkX25ld2xpbmVzKHNlbGYpOgorICAgICAgICB3aXRoIFRlbXBvcmFyeUZpbGUoIncrIiwgbmV3bGluZT0nJykgYXMgZmlsZW9iajoKKyAgICAgICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZmlsZW9iaixxdW90aW5nPWNzdi5RVU9URV9OT05FLGVzY2FwZWNoYXI9IlxcIikKKyAgICAgICAgICAgIHJvd3MgPSBbWydhXG5iJywnYiddLFsnYycsJ3hcclxuZCddXQorICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93cyhyb3dzKQorICAgICAgICAgICAgZmlsZW9iai5zZWVrKDApCisgICAgICAgICAgICBmb3IgaSwgcm93IGluIGVudW1lcmF0ZShjc3YucmVhZGVyKGZpbGVvYmoscXVvdGluZz1jc3YuUVVPVEVfTk9ORSxlc2NhcGVjaGFyPSJcXCIpKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJvdyxyb3dzW2ldKQorCiBjbGFzcyBUZXN0RGlhbGVjdFJlZ2lzdHJ5KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9yZWdpc3RyeV9iYWRhcmdzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNzdi5saXN0X2RpYWxlY3RzLCBOb25lKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kYm0ucHkgYi9MaWIvdGVzdC90ZXN0X2RibS5weQppbmRleCA3NTJlMGI3Li5lMDJmYTc1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RibS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RibS5weQpAQCAtNTcsNyArNTcsNyBAQAogICAgICAgICByZXR1cm4ga2V5cwogCiAgICAgZGVmIHRlc3RfZXJyb3Ioc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHNlbGYubW9kdWxlLmVycm9yLCBJT0Vycm9yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Moc2VsZi5tb2R1bGUuZXJyb3IsIE9TRXJyb3IpKQogCiAgICAgZGVmIHRlc3RfYW55ZGJtX25vdF9leGlzdGluZyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZGJtLmVycm9yLCBkYm0ub3BlbiwgX2ZuYW1lKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5IGIvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5CmluZGV4IGU4MjU2YTUuLjdmY2QyYTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVjaW1hbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkKQEAgLTI5MCw3ICsyOTAsNiBAQAogICAgICAgICBnbG9iYWwgc2tpcF9leHBlY3RlZAogICAgICAgICBpZiBza2lwX2V4cGVjdGVkOgogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QKLSAgICAgICAgICAgIHJldHVybgogICAgICAgICB3aXRoIG9wZW4oZmlsZSkgYXMgZjoKICAgICAgICAgICAgIGZvciBsaW5lIGluIGY6CiAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgnXHJcbicsICcnKS5yZXBsYWNlKCdcbicsICcnKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kZXNjci5weSBiL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkKaW5kZXggMzc3NjM4OS4uZDM4ZDFmNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kZXNjci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5CkBAIC0xNzg5LDYgKzE3ODksNyBAQAogICAgICAgICAgICAgKCJfX3RydW5jX18iLCBpbnQsIHplcm8sIHNldCgpLCB7fSksCiAgICAgICAgICAgICAoIl9fY2VpbF9fIiwgbWF0aC5jZWlsLCB6ZXJvLCBzZXQoKSwge30pLAogICAgICAgICAgICAgKCJfX2Rpcl9fIiwgZGlyLCBlbXB0eV9zZXEsIHNldCgpLCB7fSksCisgICAgICAgICAgICAoIl9fcm91bmRfXyIsIHJvdW5kLCB6ZXJvLCBzZXQoKSwge30pLAogICAgICAgICAgICAgXQogCiAgICAgICAgIGNsYXNzIENoZWNrZXIob2JqZWN0KToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGV2cG9sbC5weSBiL0xpYi90ZXN0L3Rlc3RfZGV2cG9sbC5weQppbmRleCBiZWY0ZTE4Li5lYzM1MGNkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RldnBvbGwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kZXZwb2xsLnB5CkBAIC04LDcgKzgsNyBAQAogdHJ5OgogICAgIHNlbGVjdC5kZXZwb2xsCiBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoInNlbGVjdC5kZXZwb2xsIG5vdCBkZWZpbmVkIC0tIHNraXBwaW5nIHRlc3RfZGV2cG9sbCIpCisgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoInNlbGVjdC5kZXZwb2xsIG5vdCBkZWZpbmVkIikKIAogCiBkZWYgZmluZF9yZWFkeV9tYXRjaGluZyhyZWFkeSwgZmxhZyk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QucHkgYi9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QucHkKaW5kZXggOGY4YzdjNy4uM2UzNmYxOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kb2N0ZXN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdC5weQpAQCAtMTQwOSw4ICsxNDA5LDQwIEBACiAgICAgICAgIDIKICAgICBUZXN0UmVzdWx0cyhmYWlsZWQ9MywgYXR0ZW1wdGVkPTUpCiAKLUZvciB0aGUgcHVycG9zZXMgb2YgUkVQT1JUX09OTFlfRklSU1RfRkFJTFVSRSwgdW5leHBlY3RlZCBleGNlcHRpb25zCi1jb3VudCBhcyBmYWlsdXJlczoKK1RoZSBGQUlMX0ZBU1QgZmxhZyBjYXVzZXMgdGhlIHJ1bm5lciB0byBleGl0IGFmdGVyIHRoZSBmaXJzdCBmYWlsaW5nIGV4YW1wbGUsCitzbyBzdWJzZXF1ZW50IGV4YW1wbGVzIGFyZSBub3QgZXZlbiBhdHRlbXB0ZWQ6CisKKyAgICA+Pj4gZmxhZ3MgPSBkb2N0ZXN0LkZBSUxfRkFTVAorICAgID4+PiBkb2N0ZXN0LkRvY1Rlc3RSdW5uZXIodmVyYm9zZT1GYWxzZSwgb3B0aW9uZmxhZ3M9ZmxhZ3MpLnJ1bih0ZXN0KQorICAgIC4uLiAjIGRvY3Rlc3Q6ICtFTExJUFNJUworICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgICBGaWxlIC4uLiwgbGluZSA1LCBpbiBmCisgICAgRmFpbGVkIGV4YW1wbGU6CisgICAgICAgIHByaW50KDIpICMgZmlyc3QgZmFpbHVyZQorICAgIEV4cGVjdGVkOgorICAgICAgICAyMDAKKyAgICBHb3Q6CisgICAgICAgIDIKKyAgICBUZXN0UmVzdWx0cyhmYWlsZWQ9MSwgYXR0ZW1wdGVkPTIpCisKK1NwZWNpZnlpbmcgYm90aCBGQUlMX0ZBU1QgYW5kIFJFUE9SVF9PTkxZX0ZJUlNUX0ZBSUxVUkUgaXMgZXF1aXZhbGVudCB0bworRkFJTF9GQVNUIG9ubHk6CisKKyAgICA+Pj4gZmxhZ3MgPSBkb2N0ZXN0LkZBSUxfRkFTVCB8IGRvY3Rlc3QuUkVQT1JUX09OTFlfRklSU1RfRkFJTFVSRQorICAgID4+PiBkb2N0ZXN0LkRvY1Rlc3RSdW5uZXIodmVyYm9zZT1GYWxzZSwgb3B0aW9uZmxhZ3M9ZmxhZ3MpLnJ1bih0ZXN0KQorICAgIC4uLiAjIGRvY3Rlc3Q6ICtFTExJUFNJUworICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgICBGaWxlIC4uLiwgbGluZSA1LCBpbiBmCisgICAgRmFpbGVkIGV4YW1wbGU6CisgICAgICAgIHByaW50KDIpICMgZmlyc3QgZmFpbHVyZQorICAgIEV4cGVjdGVkOgorICAgICAgICAyMDAKKyAgICBHb3Q6CisgICAgICAgIDIKKyAgICBUZXN0UmVzdWx0cyhmYWlsZWQ9MSwgYXR0ZW1wdGVkPTIpCisKK0ZvciB0aGUgcHVycG9zZXMgb2YgYm90aCBSRVBPUlRfT05MWV9GSVJTVF9GQUlMVVJFIGFuZCBGQUlMX0ZBU1QsIHVuZXhwZWN0ZWQKK2V4Y2VwdGlvbnMgY291bnQgYXMgZmFpbHVyZXM6CiAKICAgICA+Pj4gZGVmIGYoeCk6CiAgICAgLi4uICAgICByJycnCkBAIC0xNDM3LDYgKzE0NjksMTcgQEAKICAgICAgICAgLi4uCiAgICAgICAgIFZhbHVlRXJyb3I6IDIKICAgICBUZXN0UmVzdWx0cyhmYWlsZWQ9MywgYXR0ZW1wdGVkPTUpCisgICAgPj4+IGZsYWdzID0gZG9jdGVzdC5GQUlMX0ZBU1QKKyAgICA+Pj4gZG9jdGVzdC5Eb2NUZXN0UnVubmVyKHZlcmJvc2U9RmFsc2UsIG9wdGlvbmZsYWdzPWZsYWdzKS5ydW4odGVzdCkKKyAgICAuLi4gIyBkb2N0ZXN0OiArRUxMSVBTSVMKKyAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICAgRmlsZSAuLi4sIGxpbmUgNSwgaW4gZgorICAgIEZhaWxlZCBleGFtcGxlOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKDIpICMgZmlyc3QgZmFpbHVyZQorICAgIEV4Y2VwdGlvbiByYWlzZWQ6CisgICAgICAgIC4uLgorICAgICAgICBWYWx1ZUVycm9yOiAyCisgICAgVGVzdFJlc3VsdHMoZmFpbGVkPTEsIGF0dGVtcHRlZD0yKQogCiBOZXcgb3B0aW9uIGZsYWdzIGNhbiBhbHNvIGJlIHJlZ2lzdGVyZWQsIHZpYSByZWdpc3Rlcl9vcHRpb25mbGFnKCkuICBIZXJlCiB3ZSByZWFjaCBpbnRvIGRvY3Rlc3QncyBpbnRlcm5hbHMgYSBiaXQuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VtYWlsL3RvcnR1cmVfdGVzdC5weSBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdG9ydHVyZV90ZXN0LnB5CmluZGV4IDU0NGIxYmIuLjE5Y2Y2NGYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZW1haWwvdG9ydHVyZV90ZXN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdG9ydHVyZV90ZXN0LnB5CkBAIC0yNyw3ICsyNyw3IEBACiAjIFByZXZlbnQgdGhpcyB0ZXN0IGZyb20gcnVubmluZyBpbiB0aGUgUHl0aG9uIGRpc3RybwogdHJ5OgogICAgIG9wZW5maWxlKCdjcmlzcGluLXRvcnR1cmUudHh0JykKLWV4Y2VwdCBJT0Vycm9yOgorZXhjZXB0IE9TRXJyb3I6CiAgICAgcmFpc2UgVGVzdFNraXBwZWQKIAogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VudW1lcmF0ZS5weSBiL0xpYi90ZXN0L3Rlc3RfZW51bWVyYXRlLnB5CmluZGV4IDJlOTA0Y2YuLmEyZDE4ZDAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZW51bWVyYXRlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZW51bWVyYXRlLnB5CkBAIC0xLDQgKzEsNSBAQAogaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCBzeXMKIGltcG9ydCBwaWNrbGUKIApAQCAtMTY4LDE1ICsxNjksMTIgQEAKICAgICAgICAgeCA9IHJhbmdlKDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZShyZXZlcnNlZCh4KSksIHR5cGUoaXRlcih4KSkpCiAKLSAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKICAgICBkZWYgdGVzdF9sZW4oc2VsZik6Ci0gICAgICAgICMgVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwsIG5vdCBhbiBpbnRlcmZhY2UgcmVxdWlyZW1lbnQKLSAgICAgICAgZnJvbSB0ZXN0LnRlc3RfaXRlcmxlbiBpbXBvcnQgbGVuCiAgICAgICAgIGZvciBzIGluICgnaGVsbG8nLCB0dXBsZSgnaGVsbG8nKSwgbGlzdCgnaGVsbG8nKSwgcmFuZ2UoNSkpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmV2ZXJzZWQocykpLCBsZW4ocykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmxlbmd0aF9oaW50KHJldmVyc2VkKHMpKSwgbGVuKHMpKQogICAgICAgICAgICAgciA9IHJldmVyc2VkKHMpCiAgICAgICAgICAgICBsaXN0KHIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IubGVuZ3RoX2hpbnQociksIDApCiAgICAgICAgIGNsYXNzIFNlcVdpdGhXZWlyZExlbjoKICAgICAgICAgICAgIGNhbGxlZCA9IEZhbHNlCiAgICAgICAgICAgICBkZWYgX19sZW5fXyhzZWxmKToKQEAgLTE4Nyw3ICsxODUsNyBAQAogICAgICAgICAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGluZGV4KToKICAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXgKICAgICAgICAgciA9IHJldmVyc2VkKFNlcVdpdGhXZWlyZExlbigpKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvciwgbGVuLCByKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvciwgb3BlcmF0b3IubGVuZ3RoX2hpbnQsIHIpCiAKIAogICAgIGRlZiB0ZXN0X2djKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9lcG9sbC5weSBiL0xpYi90ZXN0L3Rlc3RfZXBvbGwucHkKaW5kZXggN2Y5NTQ3Zi4uNzA3N2E3MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9lcG9sbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Vwb2xsLnB5CkBAIC0zMyw3ICszMyw3IEBACiAKIHRyeToKICAgICBzZWxlY3QuZXBvbGwoKQotZXhjZXB0IElPRXJyb3IgYXMgZToKK2V4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FTk9TWVM6CiAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJrZXJuZWwgZG9lc24ndCBzdXBwb3J0IGVwb2xsKCkiKQogICAgIHJhaXNlCkBAIC01Niw3ICs1Niw3IEBACiAgICAgICAgIGNsaWVudC5zZXRibG9ja2luZyhGYWxzZSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY2xpZW50LmNvbm5lY3QoKCcxMjcuMC4wLjEnLCBzZWxmLnNlcnZlclNvY2tldC5nZXRzb2NrbmFtZSgpWzFdKSkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmFyZ3NbMF0sIGVycm5vLkVJTlBST0dSRVNTKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIkNvbm5lY3Qgc2hvdWxkIGhhdmUgcmFpc2VkIEVJTlBST0dSRVNTIikKQEAgLTg3LDYgKzg3LDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZWN0LmVwb2xsLCBbJ2ZvbyddKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGVjdC5lcG9sbCwge30pCiAKKyAgICBkZWYgdGVzdF9jb250ZXh0X21hbmFnZXIoc2VsZik6CisgICAgICAgIHdpdGggc2VsZWN0LmVwb2xsKDE2KSBhcyBlcDoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihlcC5maWxlbm8oKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXAuY2xvc2VkKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZXAuY2xvc2VkKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBlcC5maWxlbm8pCisKICAgICBkZWYgdGVzdF9hZGQoc2VsZik6CiAgICAgICAgIHNlcnZlciwgY2xpZW50ID0gc2VsZi5fY29ubmVjdGVkX3BhaXIoKQogCkBAIC0xMTUsMTIgKzEyMiwxMiBAQAogICAgICAgICAgICAgIyBWYWx1ZUVycm9yOiBmaWxlIGRlc2NyaXB0b3IgY2Fubm90IGJlIGEgbmVnYXRpdmUgaW50ZWdlciAoLTEpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBlcC5yZWdpc3RlciwgLTEsCiAgICAgICAgICAgICAgICAgc2VsZWN0LkVQT0xMSU4gfCBzZWxlY3QuRVBPTExPVVQpCi0gICAgICAgICAgICAjIElPRXJyb3I6IFtFcnJubyA5XSBCYWQgZmlsZSBkZXNjcmlwdG9yCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBlcC5yZWdpc3RlciwgMTAwMDAsCisgICAgICAgICAgICAjIE9TRXJyb3I6IFtFcnJubyA5XSBCYWQgZmlsZSBkZXNjcmlwdG9yCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBlcC5yZWdpc3RlciwgMTAwMDAsCiAgICAgICAgICAgICAgICAgc2VsZWN0LkVQT0xMSU4gfCBzZWxlY3QuRVBPTExPVVQpCiAgICAgICAgICAgICAjIHJlZ2lzdGVyaW5nIHR3aWNlIGFsc28gcmFpc2VzIGFuIGV4Y2VwdGlvbgogICAgICAgICAgICAgZXAucmVnaXN0ZXIoc2VydmVyLCBzZWxlY3QuRVBPTExJTiB8IHNlbGVjdC5FUE9MTE9VVCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGVwLnJlZ2lzdGVyLCBzZXJ2ZXIsCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBlcC5yZWdpc3Rlciwgc2VydmVyLAogICAgICAgICAgICAgICAgIHNlbGVjdC5FUE9MTElOIHwgc2VsZWN0LkVQT0xMT1VUKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgZXAuY2xvc2UoKQpAQCAtMTQyLDcgKzE0OSw3IEBACiAgICAgICAgIGVwLmNsb3NlKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZXAyLnBvbGwoMSwgNCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5hcmdzWzBdLCBlcnJuby5FQkFERiwgZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiZXBvbGwgb24gY2xvc2VkIGZkIGRpZG4ndCByYWlzZSBFQkFERiIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2V4Y2VwdGlvbnMucHkgYi9MaWIvdGVzdC90ZXN0X2V4Y2VwdGlvbnMucHkKaW5kZXggMWFkN2Y5Ny4uMmYzOWQ0YiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9leGNlcHRpb25zLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZXhjZXB0aW9ucy5weQpAQCAtOCw4ICs4LDggQEAKIGltcG9ydCBlcnJubwogCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKFRFU1RGTiwgY2FwdHVyZWRfb3V0cHV0LCBjaGVja19pbXBsX2RldGFpbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY3B5dGhvbl9vbmx5LCBnY19jb2xsZWN0LCBydW5fdW5pdHRlc3QsIG5vX3RyYWNpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHVubGluaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tfd2FybmluZ3MsIGNweXRob25fb25seSwgZ2NfY29sbGVjdCwgcnVuX3VuaXR0ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBub190cmFjaW5nLCB1bmxpbmspCiAKIGNsYXNzIE5haXZlRXhjZXB0aW9uKEV4Y2VwdGlvbik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHgpOgpAQCAtMjQ0LDIyICsyNDQsMjIgQEAKICAgICAgICAgICAgICAgICB7J2FyZ3MnIDogKCdmb28nLCAxKX0pLAogICAgICAgICAgICAgKFN5c3RlbUV4aXQsICgnZm9vJywpLAogICAgICAgICAgICAgICAgIHsnYXJncycgOiAoJ2ZvbycsKSwgJ2NvZGUnIDogJ2Zvbyd9KSwKLSAgICAgICAgICAgIChJT0Vycm9yLCAoJ2ZvbycsKSwKKyAgICAgICAgICAgIChPU0Vycm9yLCAoJ2ZvbycsKSwKICAgICAgICAgICAgICAgICB7J2FyZ3MnIDogKCdmb28nLCksICdmaWxlbmFtZScgOiBOb25lLAogICAgICAgICAgICAgICAgICAnZXJybm8nIDogTm9uZSwgJ3N0cmVycm9yJyA6IE5vbmV9KSwKLSAgICAgICAgICAgIChJT0Vycm9yLCAoJ2ZvbycsICdiYXInKSwKKyAgICAgICAgICAgIChPU0Vycm9yLCAoJ2ZvbycsICdiYXInKSwKICAgICAgICAgICAgICAgICB7J2FyZ3MnIDogKCdmb28nLCAnYmFyJyksICdmaWxlbmFtZScgOiBOb25lLAogICAgICAgICAgICAgICAgICAnZXJybm8nIDogJ2ZvbycsICdzdHJlcnJvcicgOiAnYmFyJ30pLAotICAgICAgICAgICAgKElPRXJyb3IsICgnZm9vJywgJ2JhcicsICdiYXonKSwKKyAgICAgICAgICAgIChPU0Vycm9yLCAoJ2ZvbycsICdiYXInLCAnYmF6JyksCiAgICAgICAgICAgICAgICAgeydhcmdzJyA6ICgnZm9vJywgJ2JhcicpLCAnZmlsZW5hbWUnIDogJ2JheicsCiAgICAgICAgICAgICAgICAgICdlcnJubycgOiAnZm9vJywgJ3N0cmVycm9yJyA6ICdiYXInfSksCi0gICAgICAgICAgICAoSU9FcnJvciwgKCdmb28nLCAnYmFyJywgJ2JheicsICdxdXV4JyksCisgICAgICAgICAgICAoT1NFcnJvciwgKCdmb28nLCAnYmFyJywgJ2JheicsICdxdXV4JyksCiAgICAgICAgICAgICAgICAgeydhcmdzJyA6ICgnZm9vJywgJ2JhcicsICdiYXonLCAncXV1eCcpfSksCi0gICAgICAgICAgICAoRW52aXJvbm1lbnRFcnJvciwgKCdlcnJub1N0cicsICdzdHJFcnJvclN0cicsICdmaWxlbmFtZVN0cicpLAorICAgICAgICAgICAgKE9TRXJyb3IsICgnZXJybm9TdHInLCAnc3RyRXJyb3JTdHInLCAnZmlsZW5hbWVTdHInKSwKICAgICAgICAgICAgICAgICB7J2FyZ3MnIDogKCdlcnJub1N0cicsICdzdHJFcnJvclN0cicpLAogICAgICAgICAgICAgICAgICAnc3RyZXJyb3InIDogJ3N0ckVycm9yU3RyJywgJ2Vycm5vJyA6ICdlcnJub1N0cicsCiAgICAgICAgICAgICAgICAgICdmaWxlbmFtZScgOiAnZmlsZW5hbWVTdHInfSksCi0gICAgICAgICAgICAoRW52aXJvbm1lbnRFcnJvciwgKDEsICdzdHJFcnJvclN0cicsICdmaWxlbmFtZVN0cicpLAorICAgICAgICAgICAgKE9TRXJyb3IsICgxLCAnc3RyRXJyb3JTdHInLCAnZmlsZW5hbWVTdHInKSwKICAgICAgICAgICAgICAgICB7J2FyZ3MnIDogKDEsICdzdHJFcnJvclN0cicpLCAnZXJybm8nIDogMSwKICAgICAgICAgICAgICAgICAgJ3N0cmVycm9yJyA6ICdzdHJFcnJvclN0cicsICdmaWxlbmFtZScgOiAnZmlsZW5hbWVTdHInfSksCiAgICAgICAgICAgICAoU3ludGF4RXJyb3IsICgpLCB7J21zZycgOiBOb25lLCAndGV4dCcgOiBOb25lLApAQCAtNDA5LDcgKzQwOSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGUuX19jb250ZXh0X18pCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGUuX19jYXVzZV9fKQogCi0gICAgICAgIGNsYXNzIE15RXhjZXB0aW9uKEVudmlyb25tZW50RXJyb3IpOgorICAgICAgICBjbGFzcyBNeUV4Y2VwdGlvbihPU0Vycm9yKToKICAgICAgICAgICAgIHBhc3MKIAogICAgICAgICBlID0gTXlFeGNlcHRpb24oKQpAQCAtOTQ3LDkgKzk0NywxMCBAQAogCiAgICAgZGVmIHRlc3Rfbm9uX3N0cl9hcmd1bWVudChzZWxmKToKICAgICAgICAgIyBJc3N1ZSAjMTU3NzgKLSAgICAgICAgYXJnID0gYidhYmMnCi0gICAgICAgIGV4YyA9IEltcG9ydEVycm9yKGFyZykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoYXJnKSwgc3RyKGV4YykpCisgICAgICAgIHdpdGggY2hlY2tfd2FybmluZ3MoKCcnLCBCeXRlc1dhcm5pbmcpLCBxdWlldD1UcnVlKToKKyAgICAgICAgICAgIGFyZyA9IGInYWJjJworICAgICAgICAgICAgZXhjID0gSW1wb3J0RXJyb3IoYXJnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoYXJnKSwgc3RyKGV4YykpCiAKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mY250bC5weSBiL0xpYi90ZXN0L3Rlc3RfZmNudGwucHkKaW5kZXggMDljYjA0Ny4uOWRkODg3YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mY250bC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZjbnRsLnB5CkBAIC0xLDcgKzEsNCBAQAogIiIiVGVzdCBwcm9ncmFtIGZvciB0aGUgZmNudGwgQyBtb2R1bGUuCi0KLU9TLzIrRU1YIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZmlsZSBsb2NraW5nIG9wZXJhdGlvbnMuCi0KICIiIgogaW1wb3J0IHBsYXRmb3JtCiBpbXBvcnQgb3MKQEAgLTM3LDggKzM0LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmY250bC5GX1dSTENLLCAwKQogICAgIGVsaWYgc3lzLnBsYXRmb3JtIGluIFsnYWl4MycsICdhaXg0JywgJ2hwLXV4QicsICd1bml4d2FyZTcnXToKICAgICAgICAgbG9ja2RhdGEgPSBzdHJ1Y3QucGFjaygnaGhsbGxpaScsIGZjbnRsLkZfV1JMQ0ssIDAsIDAsIDAsIDAsIDAsIDApCi0gICAgZWxpZiBzeXMucGxhdGZvcm0gaW4gWydvczJlbXgnXToKLSAgICAgICAgbG9ja2RhdGEgPSBOb25lCiAgICAgZWxzZToKICAgICAgICAgbG9ja2RhdGEgPSBzdHJ1Y3QucGFjaygnaGgnK3N0YXJ0X2xlbisnaGgnLCBmY250bC5GX1dSTENLLCAwLCAwLCAwLCAwLCAwKQogICAgIGlmIGxvY2tkYXRhOgpAQCAtNjQsMTggKzU5LDE2IEBACiAgICAgICAgIHJ2ID0gZmNudGwuZmNudGwoc2VsZi5mLmZpbGVubygpLCBmY250bC5GX1NFVEZMLCBvcy5PX05PTkJMT0NLKQogICAgICAgICBpZiB2ZXJib3NlOgogICAgICAgICAgICAgcHJpbnQoJ1N0YXR1cyBmcm9tIGZjbnRsIHdpdGggT19OT05CTE9DSzogJywgcnYpCi0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBub3QgaW4gWydvczJlbXgnXToKLSAgICAgICAgICAgIHJ2ID0gZmNudGwuZmNudGwoc2VsZi5mLmZpbGVubygpLCBmY250bC5GX1NFVExLVywgbG9ja2RhdGEpCi0gICAgICAgICAgICBpZiB2ZXJib3NlOgotICAgICAgICAgICAgICAgIHByaW50KCdTdHJpbmcgZnJvbSBmY250bCB3aXRoIEZfU0VUTEtXOiAnLCByZXByKHJ2KSkKKyAgICAgICAgcnYgPSBmY250bC5mY250bChzZWxmLmYuZmlsZW5vKCksIGZjbnRsLkZfU0VUTEtXLCBsb2NrZGF0YSkKKyAgICAgICAgaWYgdmVyYm9zZToKKyAgICAgICAgICAgIHByaW50KCdTdHJpbmcgZnJvbSBmY250bCB3aXRoIEZfU0VUTEtXOiAnLCByZXByKHJ2KSkKICAgICAgICAgc2VsZi5mLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X2ZjbnRsX2ZpbGVfZGVzY3JpcHRvcihzZWxmKToKICAgICAgICAgIyBhZ2FpbiwgYnV0IHBhc3MgdGhlIGZpbGUgcmF0aGVyIHRoYW4gbnVtZXJpYyBkZXNjcmlwdG9yCiAgICAgICAgIHNlbGYuZiA9IG9wZW4oVEVTVEZOLCAnd2InKQogICAgICAgICBydiA9IGZjbnRsLmZjbnRsKHNlbGYuZiwgZmNudGwuRl9TRVRGTCwgb3MuT19OT05CTE9DSykKLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtIG5vdCBpbiBbJ29zMmVteCddOgotICAgICAgICAgICAgcnYgPSBmY250bC5mY250bChzZWxmLmYsIGZjbnRsLkZfU0VUTEtXLCBsb2NrZGF0YSkKKyAgICAgICAgcnYgPSBmY250bC5mY250bChzZWxmLmYsIGZjbnRsLkZfU0VUTEtXLCBsb2NrZGF0YSkKICAgICAgICAgc2VsZi5mLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X2ZjbnRsX2JhZF9maWxlKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9maWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9maWxlLnB5CmluZGV4IGE3OGRkZjMuLjFkYWZmZTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZpbGUucHkKQEAgLTg3LDcgKzg3LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBmLmNsb3NlZCkKIAogICAgICAgICBpZiBoYXNhdHRyKGYsICJyZWFkaW50byIpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKElPRXJyb3IsIFR5cGVFcnJvciksIGYucmVhZGludG8sICIiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKE9TRXJyb3IsIFR5cGVFcnJvciksIGYucmVhZGludG8sICIiKQogICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYuY2xvc2VkKQogCkBAIC0xMjYsNyArMTI2LDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5mLl9fZXhpdF9fKCpzeXMuZXhjX2luZm8oKSksIE5vbmUpCiAKICAgICBkZWYgdGVzdFJlYWRXaGVuV3JpdGluZyhzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgc2VsZi5mLnJlYWQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNlbGYuZi5yZWFkKQogCiBjbGFzcyBDQXV0b0ZpbGVUZXN0cyhBdXRvRmlsZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgb3BlbiA9IGlvLm9wZW4KQEAgLTE1MSwxMiArMTUxLDEyIEBACiAgICAgZGVmIHRlc3RTdGRpbihzZWxmKToKICAgICAgICAgIyBUaGlzIGNhdXNlcyB0aGUgaW50ZXJwcmV0ZXIgdG8gZXhpdCBvbiBPU0YxIHY1LjEuCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSAhPSAnb3NmMVY1JzoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChJT0Vycm9yLCBWYWx1ZUVycm9yKSwgc3lzLnN0ZGluLnNlZWssIC0xKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKE9TRXJyb3IsIFZhbHVlRXJyb3IpLCBzeXMuc3RkaW4uc2VlaywgLTEpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBwcmludCgoCiAgICAgICAgICAgICAgICAgJyAgU2tpcHBpbmcgc3lzLnN0ZGluLnNlZWsoLTEpLCBpdCBtYXkgY3Jhc2ggdGhlIGludGVycHJldGVyLicKICAgICAgICAgICAgICAgICAnIFRlc3QgbWFudWFsbHkuJyksIGZpbGU9c3lzLl9fc3Rkb3V0X18pCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChJT0Vycm9yLCBWYWx1ZUVycm9yKSwgc3lzLnN0ZGluLnRydW5jYXRlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygoT1NFcnJvciwgVmFsdWVFcnJvciksIHN5cy5zdGRpbi50cnVuY2F0ZSkKIAogICAgIGRlZiB0ZXN0QmFkTW9kZUFyZ3VtZW50KHNlbGYpOgogICAgICAgICAjIHZlcmlmeSB0aGF0IHdlIGdldCBhIHNlbnNpYmxlIGVycm9yIG1lc3NhZ2UgZm9yIGJhZCBtb2RlIGFyZ3VtZW50CkBAIC0xODcsNyArMTg3LDcgQEAKICAgICAgICAgICAgICAgICBkID0gaW50KGYucmVhZCgpLmRlY29kZSgiYXNjaWkiKSkKICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ2Vycm9yIHNldHRpbmcgYnVmZmVyIHNpemUgJWQ6ICVzJyAlIChzLCBzdHIobXNnKSkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQsIHMpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZmlsZWNtcC5weSBiL0xpYi90ZXN0L3Rlc3RfZmlsZWNtcC5weQppbmRleCAwOTU5OTc5Li5mNzYwMTQ3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZpbGVjbXAucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9maWxlY21wLnB5CkBAIC0xLDQgKzEsMyBAQAotCiBpbXBvcnQgb3MsIGZpbGVjbXAsIHNodXRpbCwgdGVtcGZpbGUKIGltcG9ydCB1bml0dGVzdAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CkBAIC00Niw5ICs0NSwxNCBAQAogICAgICAgICBzZWxmLmRpciA9IG9zLnBhdGguam9pbih0bXBkaXIsICdkaXInKQogICAgICAgICBzZWxmLmRpcl9zYW1lID0gb3MucGF0aC5qb2luKHRtcGRpciwgJ2Rpci1zYW1lJykKICAgICAgICAgc2VsZi5kaXJfZGlmZiA9IG9zLnBhdGguam9pbih0bXBkaXIsICdkaXItZGlmZicpCisKKyAgICAgICAgIyBBbm90aGVyIGRpciBpcyBjcmVhdGVkIHVuZGVyIGRpcl9zYW1lLCBidXQgaXQgaGFzIGEgbmFtZSBmcm9tIHRoZQorICAgICAgICAjIGlnbm9yZWQgbGlzdCBzbyBpdCBzaG91bGQgbm90IGFmZmVjdCB0ZXN0aW5nIHJlc3VsdHMuCisgICAgICAgIHNlbGYuZGlyX2lnbm9yZWQgPSBvcy5wYXRoLmpvaW4oc2VsZi5kaXJfc2FtZSwgJy5oZycpCisKICAgICAgICAgc2VsZi5jYXNlaW5zZW5zaXRpdmUgPSBvcy5wYXRoLm5vcm1jYXNlKCdBJykgPT0gb3MucGF0aC5ub3JtY2FzZSgnYScpCiAgICAgICAgIGRhdGEgPSAnQ29udGVudHMgb2YgZmlsZSBnbyBoZXJlLlxuJwotICAgICAgICBmb3IgZGlyIGluIFtzZWxmLmRpciwgc2VsZi5kaXJfc2FtZSwgc2VsZi5kaXJfZGlmZl06CisgICAgICAgIGZvciBkaXIgaW4gKHNlbGYuZGlyLCBzZWxmLmRpcl9zYW1lLCBzZWxmLmRpcl9kaWZmLCBzZWxmLmRpcl9pZ25vcmVkKToKICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoZGlyLCBUcnVlKQogICAgICAgICAgICAgb3MubWtkaXIoZGlyKQogICAgICAgICAgICAgaWYgc2VsZi5jYXNlaW5zZW5zaXRpdmUgYW5kIGRpciBpcyBzZWxmLmRpcl9zYW1lOgpAQCAtNjQsOSArNjgsMTEgQEAKICAgICAgICAgb3V0cHV0LmNsb3NlKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmRpcikKLSAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmRpcl9zYW1lKQotICAgICAgICBzaHV0aWwucm10cmVlKHNlbGYuZGlyX2RpZmYpCisgICAgICAgIGZvciBkaXIgaW4gKHNlbGYuZGlyLCBzZWxmLmRpcl9zYW1lLCBzZWxmLmRpcl9kaWZmKToKKyAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoZGlyKQorCisgICAgZGVmIHRlc3RfZGVmYXVsdF9pZ25vcmVzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEluKCcuaGcnLCBmaWxlY21wLkRFRkFVTFRfSUdOT1JFUykKIAogICAgIGRlZiB0ZXN0X2NtcGZpbGVzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoZmlsZWNtcC5jbXBmaWxlcyhzZWxmLmRpciwgc2VsZi5kaXIsIFsnZmlsZSddKSA9PQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9maWxlaW5wdXQucHkgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpbnB1dC5weQppbmRleCAxZTcwNjQxLi5jNDJlM2U4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZpbGVpbnB1dC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpbnB1dC5weQpAQCAtMjc1LDggKzI3NSw4IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHQxID0gd3JpdGVUbXAoMSwgWyIiXSkKICAgICAgICAgICAgIHdpdGggRmlsZUlucHV0KGZpbGVzPXQxKSBhcyBmaToKLSAgICAgICAgICAgICAgICByYWlzZSBJT0Vycm9yCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpLl9maWxlcywgKCkpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICByZW1vdmVfdGVtcGZpbGVzKHQxKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9maWxlaW8ucHkgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQppbmRleCAxOTczN2Q5Li4wY2NiZGEyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQpAQCAtMTQ1LDE2ICsxNDUsMTYgQEAKICAgICAgICAgIyBVbml4IGNhbGxzIGRpcmNoZWNrKCkgYW5kIHJldHVybnMgIltFcnJubyAyMV06IElzIGEgZGlyZWN0b3J5IgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBfRmlsZUlPKCcuJywgJ3InKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChlLmVycm5vLCAwKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmZpbGVuYW1lLCAiLiIpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIlNob3VsZCBoYXZlIHJhaXNlZCBJT0Vycm9yIikKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiU2hvdWxkIGhhdmUgcmFpc2VkIE9TRXJyb3IiKQogCiAgICAgQHVuaXR0ZXN0LnNraXBJZihvcy5uYW1lID09ICdudCcsICJ0ZXN0IG9ubHkgd29ya3Mgb24gYSBQT1NJWC1saWtlIHN5c3RlbSIpCiAgICAgZGVmIHRlc3RPcGVuRGlyRkQoc2VsZik6CiAgICAgICAgIGZkID0gb3Mub3BlbignLicsIG9zLk9fUkRPTkxZKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IpIGFzIGNtOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgX0ZpbGVJTyhmZCwgJ3InKQogICAgICAgICBvcy5jbG9zZShmZCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVJU0RJUikKQEAgLTE3Miw3ICsxNzIsNyBAQAogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZi5jbG9zZSgpCi0gICAgICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgcmV0dXJuIHdyYXBwZXIKIApAQCAtMTg0LDE0ICsxODQsMTQgQEAKICAgICAgICAgICAgIG9zLmNsb3NlKGYuZmlsZW5vKCkpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZnVuYyhzZWxmLCBmKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmVycm5vLCBlcnJuby5FQkFERikKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJTaG91bGQgaGF2ZSByYWlzZWQgSU9FcnJvciIpCisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJTaG91bGQgaGF2ZSByYWlzZWQgT1NFcnJvciIpCiAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5mLmNsb3NlKCkKLSAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICByZXR1cm4gd3JhcHBlcgogCkBAIC0yMzgsNyArMjM4LDcgQEAKICAgICBkZWYgUmVvcGVuRm9yUmVhZChzZWxmKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5mLmNsb3NlKCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmYgPSBfRmlsZUlPKFRFU1RGTiwgJ3InKQogICAgICAgICBvcy5jbG9zZShzZWxmLmYuZmlsZW5vKCkpCkBAIC0yODYsNyArMjg2LDcgQEAKICAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSAhPSAid2luMzIiOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgZiA9IF9GaWxlSU8oIi9kZXYvdHR5IiwgImEiKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAjIFdoZW4gcnVuIGluIGEgY3JvbiBqb2IgdGhlcmUganVzdCBhcmVuJ3QgYW55CiAgICAgICAgICAgICAgICAgICAgICMgdHR5cywgc28gc2tpcCB0aGUgdGVzdC4gIFRoaXMgYWxzbyBoYW5kbGVzIG90aGVyCiAgICAgICAgICAgICAgICAgICAgICMgT1MnZXMgdGhhdCBkb24ndCBzdXBwb3J0IC9kZXYvdHR5LgpAQCAtMzQ3LDcgKzM0Nyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIF9GaWxlSU8sIG1ha2VfYmFkX2ZkKCkpCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgogICAgICAgICAgICAgaW1wb3J0IG1zdmNydAotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgbXN2Y3J0LmdldF9vc2ZoYW5kbGUsIG1ha2VfYmFkX2ZkKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBtc3ZjcnQuZ2V0X29zZmhhbmRsZSwgbWFrZV9iYWRfZmQoKSkKICAgICAgICAgIyBJc3N1ZSAxNTk4OQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIF9GaWxlSU8sIF90ZXN0Y2FwaS5JTlRfTUFYICsgMSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBfRmlsZUlPLCBfdGVzdGNhcGkuSU5UX01JTiAtIDEpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Zvcm1hdC5weSBiL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5CmluZGV4IGY4ZjU0MjAuLmJiY2U5NzAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5CkBAIC0zMDcsNiArMzA3LDI1IEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBsb2NhbGUuc2V0bG9jYWxlKGxvY2FsZS5MQ19BTEwsIG9sZGxvYykKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X29wdGltaXNhdGlvbnMoc2VsZik6CisgICAgICAgIHRleHQgPSAiYWJjZGUiICMgNSBjaGFyYWN0ZXJzCisKKyAgICAgICAgc2VsZi5hc3NlcnRJcygiJXMiICUgdGV4dCwgdGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcygiJS41cyIgJSB0ZXh0LCB0ZXh0KQorICAgICAgICBzZWxmLmFzc2VydElzKCIlLjEwcyIgJSB0ZXh0LCB0ZXh0KQorICAgICAgICBzZWxmLmFzc2VydElzKCIlMXMiICUgdGV4dCwgdGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcygiJTVzIiAlIHRleHQsIHRleHQpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJcygiezB9Ii5mb3JtYXQodGV4dCksIHRleHQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoInswOnN9Ii5mb3JtYXQodGV4dCksIHRleHQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoInswOi41c30iLmZvcm1hdCh0ZXh0KSwgdGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcygiezA6LjEwc30iLmZvcm1hdCh0ZXh0KSwgdGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcygiezA6MXN9Ii5mb3JtYXQodGV4dCksIHRleHQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoInswOjVzfSIuZm9ybWF0KHRleHQpLCB0ZXh0KQorCisgICAgICAgIHNlbGYuYXNzZXJ0SXModGV4dCAlICgpLCB0ZXh0KQorICAgICAgICBzZWxmLmFzc2VydElzKHRleHQuZm9ybWF0KCksIHRleHQpCiAKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mcmFjdGlvbnMucHkgYi9MaWIvdGVzdC90ZXN0X2ZyYWN0aW9ucy5weQppbmRleCAxZmFkOTIxLi4zMzM2NTMyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZyYWN0aW9ucy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZyYWN0aW9ucy5weQpAQCAtMTQ2LDkgKzE0NiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgwLCAxKSwgX2NvbXBvbmVudHMoRigtMC4wKSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKDM2MDI4Nzk3MDE4OTYzOTcsIDM2MDI4Nzk3MDE4OTYzOTY4KSwKICAgICAgICAgICAgICAgICAgICAgICAgICBfY29tcG9uZW50cyhGKDAuMSkpKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEYsIGZsb2F0KCduYW4nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBGLCBmbG9hdCgnaW5mJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgRiwgZmxvYXQoJy1pbmYnKSkKKyAgICAgICAgIyBidWcgMTY0Njk6IGVycm9yIHR5cGVzIHNob3VsZCBiZSBjb25zaXN0ZW50IHdpdGggZmxvYXQgLT4gaW50CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIEYsIGZsb2F0KCduYW4nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgRiwgZmxvYXQoJ2luZicpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBGLCBmbG9hdCgnLWluZicpKQogCiAgICAgZGVmIHRlc3RJbml0RnJvbURlY2ltYWwoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKDExLCAxMCksCkBAIC0xNTcsMTAgKzE1OCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIF9jb21wb25lbnRzKEYoRGVjaW1hbCgnMy41ZS0yJykpKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoMCwgMSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgX2NvbXBvbmVudHMoRihEZWNpbWFsKCcuMDAwZTIwJykpKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBGLCBEZWNpbWFsKCduYW4nKSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBGLCBEZWNpbWFsKCdzbmFuJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgRiwgRGVjaW1hbCgnaW5mJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgRiwgRGVjaW1hbCgnLWluZicpKQorICAgICAgICAjIGJ1ZyAxNjQ2OTogZXJyb3IgdHlwZXMgc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCBkZWNpbWFsIC0+IGludAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBGLCBEZWNpbWFsKCduYW4nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgRiwgRGVjaW1hbCgnc25hbicpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBGLCBEZWNpbWFsKCdpbmYnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgRiwgRGVjaW1hbCgnLWluZicpKQogCiAgICAgZGVmIHRlc3RGcm9tU3RyaW5nKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCg1LCAxKSwgX2NvbXBvbmVudHMoRigiNSIpKSkKQEAgLTI0OCwxNCArMjUwLDE1IEBACiAKICAgICAgICAgaW5mID0gMWUxMDAwCiAgICAgICAgIG5hbiA9IGluZiAtIGluZgorICAgICAgICAjIGJ1ZyAxNjQ2OTogZXJyb3IgdHlwZXMgc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCBmbG9hdCAtPiBpbnQKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNNZXNzYWdlKAotICAgICAgICAgICAgVHlwZUVycm9yLCAiQ2Fubm90IGNvbnZlcnQgaW5mIHRvIEZyYWN0aW9uLiIsCisgICAgICAgICAgICBPdmVyZmxvd0Vycm9yLCAiQ2Fubm90IGNvbnZlcnQgaW5mIHRvIEZyYWN0aW9uLiIsCiAgICAgICAgICAgICBGLmZyb21fZmxvYXQsIGluZikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNNZXNzYWdlKAotICAgICAgICAgICAgVHlwZUVycm9yLCAiQ2Fubm90IGNvbnZlcnQgLWluZiB0byBGcmFjdGlvbi4iLAorICAgICAgICAgICAgT3ZlcmZsb3dFcnJvciwgIkNhbm5vdCBjb252ZXJ0IC1pbmYgdG8gRnJhY3Rpb24uIiwKICAgICAgICAgICAgIEYuZnJvbV9mbG9hdCwgLWluZikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNNZXNzYWdlKAotICAgICAgICAgICAgVHlwZUVycm9yLCAiQ2Fubm90IGNvbnZlcnQgbmFuIHRvIEZyYWN0aW9uLiIsCisgICAgICAgICAgICBWYWx1ZUVycm9yLCAiQ2Fubm90IGNvbnZlcnQgbmFuIHRvIEZyYWN0aW9uLiIsCiAgICAgICAgICAgICBGLmZyb21fZmxvYXQsIG5hbikKIAogICAgIGRlZiB0ZXN0RnJvbURlY2ltYWwoc2VsZik6CkBAIC0yNjgsMTcgKzI3MSwxOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEgLSBGKDEsIDEwKiozMCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgRi5mcm9tX2RlY2ltYWwoRGVjaW1hbCgiMC4iICsgIjkiICogMzApKSkKIAorICAgICAgICAjIGJ1ZyAxNjQ2OTogZXJyb3IgdHlwZXMgc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCBkZWNpbWFsIC0+IGludAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlc01lc3NhZ2UoCi0gICAgICAgICAgICBUeXBlRXJyb3IsICJDYW5ub3QgY29udmVydCBJbmZpbml0eSB0byBGcmFjdGlvbi4iLAorICAgICAgICAgICAgT3ZlcmZsb3dFcnJvciwgIkNhbm5vdCBjb252ZXJ0IEluZmluaXR5IHRvIEZyYWN0aW9uLiIsCiAgICAgICAgICAgICBGLmZyb21fZGVjaW1hbCwgRGVjaW1hbCgiaW5mIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzTWVzc2FnZSgKLSAgICAgICAgICAgIFR5cGVFcnJvciwgIkNhbm5vdCBjb252ZXJ0IC1JbmZpbml0eSB0byBGcmFjdGlvbi4iLAorICAgICAgICAgICAgT3ZlcmZsb3dFcnJvciwgIkNhbm5vdCBjb252ZXJ0IC1JbmZpbml0eSB0byBGcmFjdGlvbi4iLAogICAgICAgICAgICAgRi5mcm9tX2RlY2ltYWwsIERlY2ltYWwoIi1pbmYiKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNNZXNzYWdlKAotICAgICAgICAgICAgVHlwZUVycm9yLCAiQ2Fubm90IGNvbnZlcnQgTmFOIHRvIEZyYWN0aW9uLiIsCisgICAgICAgICAgICBWYWx1ZUVycm9yLCAiQ2Fubm90IGNvbnZlcnQgTmFOIHRvIEZyYWN0aW9uLiIsCiAgICAgICAgICAgICBGLmZyb21fZGVjaW1hbCwgRGVjaW1hbCgibmFuIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzTWVzc2FnZSgKLSAgICAgICAgICAgIFR5cGVFcnJvciwgIkNhbm5vdCBjb252ZXJ0IHNOYU4gdG8gRnJhY3Rpb24uIiwKKyAgICAgICAgICAgIFZhbHVlRXJyb3IsICJDYW5ub3QgY29udmVydCBzTmFOIHRvIEZyYWN0aW9uLiIsCiAgICAgICAgICAgICBGLmZyb21fZGVjaW1hbCwgRGVjaW1hbCgic25hbiIpKQogCiAgICAgZGVmIHRlc3RMaW1pdERlbm9taW5hdG9yKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQppbmRleCA2YTY1MTY1Li4yMTU5MmQ3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQpAQCAtMzIxLDcgKzMyMSw3IEBACiAgICAgICAgICAgICAgICAgZWxpZiBlcnIuYXJnc1swXSA9PSBzc2wuU1NMX0VSUk9SX0VPRjoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX2Nsb3NlKCkKICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlcnI6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAgaWYgZXJyLmFyZ3NbMF0gPT0gZXJybm8uRUNPTk5BQk9SVEVEOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVfY2xvc2UoKQogICAgICAgICAgICAgZWxzZToKQEAgLTMzNSw3ICszMzUsNyBAQAogICAgICAgICAgICAgICAgIGlmIGVyci5hcmdzWzBdIGluIChzc2wuU1NMX0VSUk9SX1dBTlRfUkVBRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlNTTF9FUlJPUl9XQU5UX1dSSVRFKToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICAjIEFueSAic29ja2V0IGVycm9yIiBjb3JyZXNwb25kcyB0byBhIFNTTF9FUlJPUl9TWVNDQUxMIHJldHVybgogICAgICAgICAgICAgICAgICMgZnJvbSBPcGVuU1NMJ3MgU1NMX3NodXRkb3duKCksIGNvcnJlc3BvbmRpbmcgdG8gYQogICAgICAgICAgICAgICAgICMgY2xvc2VkIHNvY2tldCBjb25kaXRpb24uIFNlZSBhbHNvOgpAQCAtNDgyLDcgKzQ4Miw3IEBACiAKICAgICBkZWYgdGVzdF9hbGxfZXJyb3JzKHNlbGYpOgogICAgICAgICBleGNlcHRpb25zID0gKGZ0cGxpYi5lcnJvcl9yZXBseSwgZnRwbGliLmVycm9yX3RlbXAsIGZ0cGxpYi5lcnJvcl9wZXJtLAotICAgICAgICAgICAgICAgICAgICAgIGZ0cGxpYi5lcnJvcl9wcm90bywgZnRwbGliLkVycm9yLCBJT0Vycm9yLCBFT0ZFcnJvcikKKyAgICAgICAgICAgICAgICAgICAgICBmdHBsaWIuZXJyb3JfcHJvdG8sIGZ0cGxpYi5FcnJvciwgT1NFcnJvciwgRU9GRXJyb3IpCiAgICAgICAgIGZvciB4IGluIGV4Y2VwdGlvbnM6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcmFpc2UgeCgnZXhjZXB0aW9uIG5vdCBpbmNsdWRlZCBpbiBhbGxfZXJyb3JzIHNldCcpCkBAIC02ODAsNyArNjgwLDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudC5zZW5kY21kKCdub29wJykKLSAgICAgICAgICAgIGV4Y2VwdCAoc29ja2V0LmVycm9yLCBFT0ZFcnJvcik6CisgICAgICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEVPRkVycm9yKToKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKQEAgLTcyNSw3ICs3MjUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfYWRkcmVzcz0oSE9TVCwgcG9ydCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2xpZW50LnNvY2suZ2V0c29ja25hbWUoKVsxXSwgcG9ydCkKICAgICAgICAgICAgIHNlbGYuY2xpZW50LnF1aXQoKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FQUREUklOVVNFOgogICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoImNvdWxkbid0IGJpbmQgdG8gcG9ydCAlZCIgJSBwb3J0KQogICAgICAgICAgICAgcmFpc2UKQEAgLTczNiw3ICs3MzYsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIHNlbGYuY2xpZW50LnRyYW5zZmVyY21kKCdsaXN0JykgYXMgc29jazoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2suZ2V0c29ja25hbWUoKVsxXSwgcG9ydCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUFERFJJTlVTRToKICAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJjb3VsZG4ndCBiaW5kIHRvIHBvcnQgJWQiICUgcG9ydCkKICAgICAgICAgICAgIHJhaXNlCkBAIC05ODksOCArOTg5LDE5IEBACiAgICAgICAgIGZ0cC5jbG9zZSgpCiAKIAorY2xhc3MgVGVzdE5ldHJjRGVwcmVjYXRpb24oVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfZGVwcmVjYXRpb24oc2VsZik6CisgICAgICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZCgpLCBzdXBwb3J0LkVudmlyb25tZW50VmFyR3VhcmQoKSBhcyBlbnY6CisgICAgICAgICAgICBlbnZbJ0hPTUUnXSA9IG9zLmdldGN3ZCgpCisgICAgICAgICAgICBvcGVuKCcubmV0cmMnLCAndycpLmNsb3NlKCkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgorICAgICAgICAgICAgICAgIGZ0cGxpYi5OZXRyYygpCisKKworCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgdGVzdHMgPSBbVGVzdEZUUENsYXNzLCBUZXN0VGltZW91dHNdCisgICAgdGVzdHMgPSBbVGVzdEZUUENsYXNzLCBUZXN0VGltZW91dHMsIFRlc3ROZXRyY0RlcHJlY2F0aW9uXQogICAgIGlmIHN1cHBvcnQuSVBWNl9FTkFCTEVEOgogICAgICAgICB0ZXN0cy5hcHBlbmQoVGVzdElQdjZFbnZpcm9ubWVudCkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQppbmRleCBkYjFlOTM0Li45YjNjMzFlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQpAQCAtMSw0ICsxLDMgQEAKLWltcG9ydCBmdW5jdG9vbHMKIGltcG9ydCBjb2xsZWN0aW9ucwogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0CkBAIC03LDE3ICs2LDEwIEBACiBpbXBvcnQgcGlja2xlCiBmcm9tIHJhbmRvbSBpbXBvcnQgY2hvaWNlCiAKLUBzdGF0aWNtZXRob2QKLWRlZiBQeXRob25QYXJ0aWFsKGZ1bmMsICphcmdzLCAqKmtleXdvcmRzKToKLSAgICAnUHVyZSBQeXRob24gYXBwcm94aW1hdGlvbiBvZiBwYXJ0aWFsKCknCi0gICAgZGVmIG5ld2Z1bmMoKmZhcmdzLCAqKmZrZXl3b3Jkcyk6Ci0gICAgICAgIG5ld2tleXdvcmRzID0ga2V5d29yZHMuY29weSgpCi0gICAgICAgIG5ld2tleXdvcmRzLnVwZGF0ZShma2V5d29yZHMpCi0gICAgICAgIHJldHVybiBmdW5jKCooYXJncyArIGZhcmdzKSwgKipuZXdrZXl3b3JkcykKLSAgICBuZXdmdW5jLmZ1bmMgPSBmdW5jCi0gICAgbmV3ZnVuYy5hcmdzID0gYXJncwotICAgIG5ld2Z1bmMua2V5d29yZHMgPSBrZXl3b3JkcwotICAgIHJldHVybiBuZXdmdW5jCitpbXBvcnQgZnVuY3Rvb2xzCisKK3B5X2Z1bmN0b29scyA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnZnVuY3Rvb2xzJywgYmxvY2tlZD1bJ19mdW5jdG9vbHMnXSkKK2NfZnVuY3Rvb2xzID0gc3VwcG9ydC5pbXBvcnRfZnJlc2hfbW9kdWxlKCdmdW5jdG9vbHMnLCBmcmVzaD1bJ19mdW5jdG9vbHMnXSkKIAogZGVmIGNhcHR1cmUoKmFyZ3MsICoqa3cpOgogICAgICIiImNhcHR1cmUgYWxsIHBvc2l0aW9uYWwgYW5kIGtleXdvcmQgYXJndW1lbnRzIiIiCkBAIC0yNywzMSArMTksMzAgQEAKICAgICAiIiIgcmV0dXJuIHRoZSBzaWduYXR1cmUgb2YgYSBwYXJ0aWFsIG9iamVjdCAiIiIKICAgICByZXR1cm4gKHBhcnQuZnVuYywgcGFydC5hcmdzLCBwYXJ0LmtleXdvcmRzLCBwYXJ0Ll9fZGljdF9fKQogCi1jbGFzcyBUZXN0UGFydGlhbCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICB0aGV0eXBlID0gZnVuY3Rvb2xzLnBhcnRpYWwKK2NsYXNzIFRlc3RQYXJ0aWFsOgogCiAgICAgZGVmIHRlc3RfYmFzaWNfZXhhbXBsZXMoc2VsZik6Ci0gICAgICAgIHAgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSwgMSwgMiwgYT0xMCwgYj0yMCkKKyAgICAgICAgcCA9IHNlbGYucGFydGlhbChjYXB0dXJlLCAxLCAyLCBhPTEwLCBiPTIwKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2FsbGFibGUocCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocCgzLCA0LCBiPTMwLCBjPTQwKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAoKDEsIDIsIDMsIDQpLCBkaWN0KGE9MTAsIGI9MzAsIGM9NDApKSkKLSAgICAgICAgcCA9IHNlbGYudGhldHlwZShtYXAsIGxhbWJkYSB4OiB4KjEwKQorICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKG1hcCwgbGFtYmRhIHg6IHgqMTApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChwKFsxLDIsMyw0XSkpLCBbMTAsIDIwLCAzMCwgNDBdKQogCiAgICAgZGVmIHRlc3RfYXR0cmlidXRlcyhzZWxmKToKLSAgICAgICAgcCA9IHNlbGYudGhldHlwZShjYXB0dXJlLCAxLCAyLCBhPTEwLCBiPTIwKQorICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKGNhcHR1cmUsIDEsIDIsIGE9MTAsIGI9MjApCiAgICAgICAgICMgYXR0cmlidXRlcyBzaG91bGQgYmUgcmVhZGFibGUKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmZ1bmMsIGNhcHR1cmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5hcmdzLCAoMSwgMikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5rZXl3b3JkcywgZGljdChhPTEwLCBiPTIwKSkKICAgICAgICAgIyBhdHRyaWJ1dGVzIHNob3VsZCBub3QgYmUgd3JpdGFibGUKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2VsZi50aGV0eXBlLCB0eXBlKToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2VsZi5wYXJ0aWFsLCB0eXBlKToKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgc2V0YXR0ciwgcCwgJ2Z1bmMnLCBtYXApCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRhdHRyLCBwLCAnYXJncycsICgxLCAyKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNldGF0dHIsIHAsICdrZXl3b3JkcycsIGRpY3QoYT0xLCBiPTIpKQogCi0gICAgICAgIHAgPSBzZWxmLnRoZXR5cGUoaGV4KQorICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKGhleCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZGVsIHAuX19kaWN0X18KICAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKQEAgLTYwLDkgKzUxLDkgQEAKICAgICAgICAgICAgIHNlbGYuZmFpbCgncGFydGlhbCBvYmplY3QgYWxsb3dlZCBfX2RpY3RfXyB0byBiZSBkZWxldGVkJykKIAogICAgIGRlZiB0ZXN0X2FyZ3VtZW50X2NoZWNraW5nKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYudGhldHlwZSkgICAgICMgbmVlZCBhdCBsZWFzdCBhIGZ1bmMgYXJnCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5wYXJ0aWFsKSAgICAgIyBuZWVkIGF0IGxlYXN0IGEgZnVuYyBhcmcKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi50aGV0eXBlKDIpKCkKKyAgICAgICAgICAgIHNlbGYucGFydGlhbCgyKSgpCiAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CkBAIC03Myw3ICs2NCw3IEBACiAgICAgICAgIGRlZiBmdW5jKGE9MTAsIGI9MjApOgogICAgICAgICAgICAgcmV0dXJuIGEKICAgICAgICAgZCA9IHsnYSc6M30KLSAgICAgICAgcCA9IHNlbGYudGhldHlwZShmdW5jLCBhPTUpCisgICAgICAgIHAgPSBzZWxmLnBhcnRpYWwoZnVuYywgYT01KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAoKipkKSwgMykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkLCB7J2EnOjN9KQogICAgICAgICBwKGI9NykKQEAgLTgyLDIwICs3MywyMCBAQAogICAgIGRlZiB0ZXN0X2FyZ19jb21iaW5hdGlvbnMoc2VsZik6CiAgICAgICAgICMgZXhlcmNpc2Ugc3BlY2lhbCBjb2RlIHBhdGhzIGZvciB6ZXJvIGFyZ3MgaW4gZWl0aGVyIHBhcnRpYWwKICAgICAgICAgIyBvYmplY3Qgb3IgdGhlIGNhbGxlcgotICAgICAgICBwID0gc2VsZi50aGV0eXBlKGNhcHR1cmUpCisgICAgICAgIHAgPSBzZWxmLnBhcnRpYWwoY2FwdHVyZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwKCksICgoKSwge30pKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAoMSwyKSwgKCgxLDIpLCB7fSkpCi0gICAgICAgIHAgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSwgMSwgMikKKyAgICAgICAgcCA9IHNlbGYucGFydGlhbChjYXB0dXJlLCAxLCAyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAoKSwgKCgxLDIpLCB7fSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocCgzLDQpLCAoKDEsMiwzLDQpLCB7fSkpCiAKICAgICBkZWYgdGVzdF9rd19jb21iaW5hdGlvbnMoc2VsZik6CiAgICAgICAgICMgZXhlcmNpc2Ugc3BlY2lhbCBjb2RlIHBhdGhzIGZvciBubyBrZXl3b3JkIGFyZ3MgaW4KICAgICAgICAgIyBlaXRoZXIgdGhlIHBhcnRpYWwgb2JqZWN0IG9yIHRoZSBjYWxsZXIKLSAgICAgICAgcCA9IHNlbGYudGhldHlwZShjYXB0dXJlKQorICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKGNhcHR1cmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocCgpLCAoKCksIHt9KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwKGE9MSksICgoKSwgeydhJzoxfSkpCi0gICAgICAgIHAgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSwgYT0xKQorICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKGNhcHR1cmUsIGE9MSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwKCksICgoKSwgeydhJzoxfSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocChiPTIpLCAoKCksIHsnYSc6MSwgJ2InOjJ9KSkKICAgICAgICAgIyBrZXl3b3JkIGFyZ3MgaW4gdGhlIGNhbGwgb3ZlcnJpZGUgdGhvc2UgaW4gdGhlIHBhcnRpYWwgb2JqZWN0CkBAIC0xMDQsNyArOTUsNyBAQAogICAgIGRlZiB0ZXN0X3Bvc2l0aW9uYWwoc2VsZik6CiAgICAgICAgICMgbWFrZSBzdXJlIHBvc2l0aW9uYWwgYXJndW1lbnRzIGFyZSBjYXB0dXJlZCBjb3JyZWN0bHkKICAgICAgICAgZm9yIGFyZ3MgaW4gWygpLCAoMCwpLCAoMCwxKSwgKDAsMSwyKSwgKDAsMSwyLDMpXToKLSAgICAgICAgICAgIHAgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSwgKmFyZ3MpCisgICAgICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKGNhcHR1cmUsICphcmdzKQogICAgICAgICAgICAgZXhwZWN0ZWQgPSBhcmdzICsgKCd4JywpCiAgICAgICAgICAgICBnb3QsIGVtcHR5ID0gcCgneCcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZXhwZWN0ZWQgPT0gZ290IGFuZCBlbXB0eSA9PSB7fSkKQEAgLTExMiwxNCArMTAzLDE0IEBACiAgICAgZGVmIHRlc3Rfa2V5d29yZChzZWxmKToKICAgICAgICAgIyBtYWtlIHN1cmUga2V5d29yZCBhcmd1bWVudHMgYXJlIGNhcHR1cmVkIGNvcnJlY3RseQogICAgICAgICBmb3IgYSBpbiBbJ2EnLCAwLCBOb25lLCAzLjVdOgotICAgICAgICAgICAgcCA9IHNlbGYudGhldHlwZShjYXB0dXJlLCBhPWEpCisgICAgICAgICAgICBwID0gc2VsZi5wYXJ0aWFsKGNhcHR1cmUsIGE9YSkKICAgICAgICAgICAgIGV4cGVjdGVkID0geydhJzphLCd4JzpOb25lfQogICAgICAgICAgICAgZW1wdHksIGdvdCA9IHAoeD1Ob25lKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGV4cGVjdGVkID09IGdvdCBhbmQgZW1wdHkgPT0gKCkpCiAKICAgICBkZWYgdGVzdF9ub19zaWRlX2VmZmVjdHMoc2VsZik6CiAgICAgICAgICMgbWFrZSBzdXJlIHRoZXJlIGFyZSBubyBzaWRlIGVmZmVjdHMgdGhhdCBhZmZlY3Qgc3Vic2VxdWVudCBjYWxscwotICAgICAgICBwID0gc2VsZi50aGV0eXBlKGNhcHR1cmUsIDAsIGE9MSkKKyAgICAgICAgcCA9IHNlbGYucGFydGlhbChjYXB0dXJlLCAwLCBhPTEpCiAgICAgICAgIGFyZ3MxLCBrdzEgPSBwKDEsIGI9MikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFyZ3MxID09ICgwLDEpIGFuZCBrdzEgPT0geydhJzoxLCdiJzoyfSkKICAgICAgICAgYXJnczIsIGt3MiA9IHAoKQpAQCAtMTI4LDEzICsxMTksMTMgQEAKICAgICBkZWYgdGVzdF9lcnJvcl9wcm9wYWdhdGlvbihzZWxmKToKICAgICAgICAgZGVmIGYoeCwgeSk6CiAgICAgICAgICAgICB4IC8geQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvciwgc2VsZi50aGV0eXBlKGYsIDEsIDApKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvciwgc2VsZi50aGV0eXBlKGYsIDEpLCAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvciwgc2VsZi50aGV0eXBlKGYpLCAxLCAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvciwgc2VsZi50aGV0eXBlKGYsIHk9MCksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yLCBzZWxmLnBhcnRpYWwoZiwgMSwgMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yLCBzZWxmLnBhcnRpYWwoZiwgMSksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yLCBzZWxmLnBhcnRpYWwoZiksIDEsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yLCBzZWxmLnBhcnRpYWwoZiwgeT0wKSwgMSkKIAogICAgIGRlZiB0ZXN0X3dlYWtyZWYoc2VsZik6Ci0gICAgICAgIGYgPSBzZWxmLnRoZXR5cGUoaW50LCBiYXNlPTE2KQorICAgICAgICBmID0gc2VsZi5wYXJ0aWFsKGludCwgYmFzZT0xNikKICAgICAgICAgcCA9IHByb3h5KGYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5mdW5jLCBwLmZ1bmMpCiAgICAgICAgIGYgPSBOb25lCkBAIC0xNDIsMzkgKzEzMyw0NCBAQAogCiAgICAgZGVmIHRlc3Rfd2l0aF9ib3VuZF9hbmRfdW5ib3VuZF9tZXRob2RzKHNlbGYpOgogICAgICAgICBkYXRhID0gbGlzdChtYXAoc3RyLCByYW5nZSgxMCkpKQotICAgICAgICBqb2luID0gc2VsZi50aGV0eXBlKHN0ci5qb2luLCAnJykKKyAgICAgICAgam9pbiA9IHNlbGYucGFydGlhbChzdHIuam9pbiwgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoam9pbihkYXRhKSwgJzAxMjM0NTY3ODknKQotICAgICAgICBqb2luID0gc2VsZi50aGV0eXBlKCcnLmpvaW4pCisgICAgICAgIGpvaW4gPSBzZWxmLnBhcnRpYWwoJycuam9pbikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChqb2luKGRhdGEpLCAnMDEyMzQ1Njc4OScpCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKGNfZnVuY3Rvb2xzLCAncmVxdWlyZXMgdGhlIEMgX2Z1bmN0b29scyBtb2R1bGUnKQorY2xhc3MgVGVzdFBhcnRpYWxDKFRlc3RQYXJ0aWFsLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgaWYgY19mdW5jdG9vbHM6CisgICAgICAgIHBhcnRpYWwgPSBjX2Z1bmN0b29scy5wYXJ0aWFsCisKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgogICAgICAgICBhcmdzID0gKG9iamVjdCgpLCBvYmplY3QoKSkKICAgICAgICAgYXJnc19yZXByID0gJywgJy5qb2luKHJlcHIoYSkgZm9yIGEgaW4gYXJncykKICAgICAgICAga3dhcmdzID0geydhJzogb2JqZWN0KCksICdiJzogb2JqZWN0KCl9CiAgICAgICAgIGt3YXJnc19yZXByID0gJywgJy5qb2luKCIlcz0lciIgJSAoaywgdikgZm9yIGssIHYgaW4ga3dhcmdzLml0ZW1zKCkpCi0gICAgICAgIGlmIHNlbGYudGhldHlwZSBpcyBmdW5jdG9vbHMucGFydGlhbDoKKyAgICAgICAgaWYgc2VsZi5wYXJ0aWFsIGlzIGNfZnVuY3Rvb2xzLnBhcnRpYWw6CiAgICAgICAgICAgICBuYW1lID0gJ2Z1bmN0b29scy5wYXJ0aWFsJwogICAgICAgICBlbHNlOgotICAgICAgICAgICAgbmFtZSA9IHNlbGYudGhldHlwZS5fX25hbWVfXworICAgICAgICAgICAgbmFtZSA9IHNlbGYucGFydGlhbC5fX25hbWVfXwogCi0gICAgICAgIGYgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSkKKyAgICAgICAgZiA9IHNlbGYucGFydGlhbChjYXB0dXJlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd7fSh7IXJ9KScuZm9ybWF0KG5hbWUsIGNhcHR1cmUpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoZikpCiAKLSAgICAgICAgZiA9IHNlbGYudGhldHlwZShjYXB0dXJlLCAqYXJncykKKyAgICAgICAgZiA9IHNlbGYucGFydGlhbChjYXB0dXJlLCAqYXJncykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgne30oeyFyfSwge30pJy5mb3JtYXQobmFtZSwgY2FwdHVyZSwgYXJnc19yZXByKSwKICAgICAgICAgICAgICAgICAgICAgICAgICByZXByKGYpKQogCi0gICAgICAgIGYgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSwgKiprd2FyZ3MpCisgICAgICAgIGYgPSBzZWxmLnBhcnRpYWwoY2FwdHVyZSwgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3t9KHshcn0sIHt9KScuZm9ybWF0KG5hbWUsIGNhcHR1cmUsIGt3YXJnc19yZXByKSwKICAgICAgICAgICAgICAgICAgICAgICAgICByZXByKGYpKQogCi0gICAgICAgIGYgPSBzZWxmLnRoZXR5cGUoY2FwdHVyZSwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBmID0gc2VsZi5wYXJ0aWFsKGNhcHR1cmUsICphcmdzLCAqKmt3YXJncykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgne30oeyFyfSwge30sIHt9KScuZm9ybWF0KG5hbWUsIGNhcHR1cmUsIGFyZ3NfcmVwciwga3dhcmdzX3JlcHIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoZikpCiAKICAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6Ci0gICAgICAgIGYgPSBzZWxmLnRoZXR5cGUoc2lnbmF0dXJlLCAnYXNkZicsIGJhcj1UcnVlKQorICAgICAgICBmID0gc2VsZi5wYXJ0aWFsKHNpZ25hdHVyZSwgJ2FzZGYnLCBiYXI9VHJ1ZSkKICAgICAgICAgZi5hZGRfc29tZXRoaW5nX3RvX19kaWN0X18gPSBUcnVlCiAgICAgICAgIGZfY29weSA9IHBpY2tsZS5sb2FkcyhwaWNrbGUuZHVtcHMoZikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2lnbmF0dXJlKGYpLCBzaWduYXR1cmUoZl9jb3B5KSkKQEAgLTE5MywyOCArMTg5LDIyIEBACiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fQogICAgICAgICAgICAgICAgIHJhaXNlIEluZGV4RXJyb3IKIAotICAgICAgICBmID0gc2VsZi50aGV0eXBlKG9iamVjdCkKKyAgICAgICAgZiA9IHNlbGYucGFydGlhbChvYmplY3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoU3lzdGVtRXJyb3IsCiAgICAgICAgICAgICAgICAgIm5ldyBzdHlsZSBnZXRhcmdzIGZvcm1hdCBidXQgYXJndW1lbnQgaXMgbm90IGEgdHVwbGUiLAogICAgICAgICAgICAgICAgIGYuX19zZXRzdGF0ZV9fLCBCYWRTZXF1ZW5jZSgpKQogCi1jbGFzcyBQYXJ0aWFsU3ViY2xhc3MoZnVuY3Rvb2xzLnBhcnRpYWwpOgotICAgIHBhc3MKK2NsYXNzIFRlc3RQYXJ0aWFsUHkoVGVzdFBhcnRpYWwsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBwYXJ0aWFsID0gc3RhdGljbWV0aG9kKHB5X2Z1bmN0b29scy5wYXJ0aWFsKQogCi1jbGFzcyBUZXN0UGFydGlhbFN1YmNsYXNzKFRlc3RQYXJ0aWFsKToKK2lmIGNfZnVuY3Rvb2xzOgorICAgIGNsYXNzIFBhcnRpYWxTdWJjbGFzcyhjX2Z1bmN0b29scy5wYXJ0aWFsKToKKyAgICAgICAgcGFzcwogCi0gICAgdGhldHlwZSA9IFBhcnRpYWxTdWJjbGFzcwotCi1jbGFzcyBUZXN0UHl0aG9uUGFydGlhbChUZXN0UGFydGlhbCk6Ci0KLSAgICB0aGV0eXBlID0gUHl0aG9uUGFydGlhbAotCi0gICAgIyB0aGUgcHl0aG9uIHZlcnNpb24gaGFzbid0IGEgbmljZSByZXByCi0gICAgZGVmIHRlc3RfcmVwcihzZWxmKTogcGFzcwotCi0gICAgIyB0aGUgcHl0aG9uIHZlcnNpb24gaXNuJ3QgcGlja2xhYmxlCi0gICAgZGVmIHRlc3RfcGlja2xlKHNlbGYpOiBwYXNzCi0gICAgZGVmIHRlc3Rfc2V0c3RhdGVfcmVmY291bnQoc2VsZik6IHBhc3MKK0B1bml0dGVzdC5za2lwVW5sZXNzKGNfZnVuY3Rvb2xzLCAncmVxdWlyZXMgdGhlIEMgX2Z1bmN0b29scyBtb2R1bGUnKQorY2xhc3MgVGVzdFBhcnRpYWxDU3ViY2xhc3MoVGVzdFBhcnRpYWxDKToKKyAgICBpZiBjX2Z1bmN0b29sczoKKyAgICAgICAgcGFydGlhbCA9IFBhcnRpYWxTdWJjbGFzcwogCiBjbGFzcyBUZXN0VXBkYXRlV3JhcHBlcih1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTQ2MiwyNCArNDUyLDI4IEBACiAgICAgICAgIGQgPSB7Im9uZSI6IDEsICJ0d28iOiAyLCAidGhyZWUiOiAzfQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZnVuYyhhZGQsIGQpLCAiIi5qb2luKGQua2V5cygpKSkKIAotY2xhc3MgVGVzdENtcFRvS2V5KHVuaXR0ZXN0LlRlc3RDYXNlKToKK2NsYXNzIFRlc3RDbXBUb0tleToKIAogICAgIGRlZiB0ZXN0X2NtcF90b19rZXkoc2VsZik6CiAgICAgICAgIGRlZiBjbXAxKHgsIHkpOgogICAgICAgICAgICAgcmV0dXJuICh4ID4geSkgLSAoeCA8IHkpCi0gICAgICAgIGtleSA9IGZ1bmN0b29scy5jbXBfdG9fa2V5KGNtcDEpCisgICAgICAgIGtleSA9IHNlbGYuY21wX3RvX2tleShjbXAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGtleSgzKSwga2V5KDMpKQogICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoa2V5KDMpLCBrZXkoMSkpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKGtleSgzKSwga2V5KDMpKQorCiAgICAgICAgIGRlZiBjbXAyKHgsIHkpOgogICAgICAgICAgICAgcmV0dXJuIGludCh4KSAtIGludCh5KQotICAgICAgICBrZXkgPSBmdW5jdG9vbHMuY21wX3RvX2tleShjbXAyKQorICAgICAgICBrZXkgPSBzZWxmLmNtcF90b19rZXkoY21wMikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrZXkoNC4wKSwga2V5KCc0JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyhrZXkoMiksIGtleSgnMzUnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoa2V5KDIpLCBrZXkoJzM1JykpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoa2V5KDIpLCBrZXkoJzM1JykpCiAKICAgICBkZWYgdGVzdF9jbXBfdG9fa2V5X2FyZ3VtZW50cyhzZWxmKToKICAgICAgICAgZGVmIGNtcDEoeCwgeSk6CiAgICAgICAgICAgICByZXR1cm4gKHggPiB5KSAtICh4IDwgeSkKLSAgICAgICAga2V5ID0gZnVuY3Rvb2xzLmNtcF90b19rZXkobXljbXA9Y21wMSkKKyAgICAgICAga2V5ID0gc2VsZi5jbXBfdG9fa2V5KG15Y21wPWNtcDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5KG9iaj0zKSwga2V5KG9iaj0zKSkKICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGtleShvYmo9MyksIGtleShvYmo9MSkpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IpKToKQEAgLTQ4NywxMCArNDgxLDEwIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IpKToKICAgICAgICAgICAgIDEgPCBrZXkoMykgICAgIyBsaHMgaXMgbm90IGEgSyBvYmplY3QKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgotICAgICAgICAgICAga2V5ID0gZnVuY3Rvb2xzLmNtcF90b19rZXkoKSAgICAgICAgICAgICAjIHRvbyBmZXcgYXJncworICAgICAgICAgICAga2V5ID0gc2VsZi5jbXBfdG9fa2V5KCkgICAgICAgICAgICAgIyB0b28gZmV3IGFyZ3MKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgotICAgICAgICAgICAga2V5ID0gZnVuY3Rvb2xzLmNtcF90b19rZXkoY21wMSwgTm9uZSkgICAjIHRvbyBtYW55IGFyZ3MKLSAgICAgICAga2V5ID0gZnVuY3Rvb2xzLmNtcF90b19rZXkoY21wMSkKKyAgICAgICAgICAgIGtleSA9IHNlbGYuY21wX3RvX2tleShjbXAxLCBOb25lKSAgICMgdG9vIG1hbnkgYXJncworICAgICAgICBrZXkgPSBzZWxmLmNtcF90b19rZXkoY21wMSkKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgogICAgICAgICAgICAga2V5KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRvbyBmZXcgYXJncwogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CkBAIC00OTksNyArNDkzLDcgQEAKICAgICBkZWYgdGVzdF9iYWRfY21wKHNlbGYpOgogICAgICAgICBkZWYgY21wMSh4LCB5KToKICAgICAgICAgICAgIHJhaXNlIFplcm9EaXZpc2lvbkVycm9yCi0gICAgICAgIGtleSA9IGZ1bmN0b29scy5jbXBfdG9fa2V5KGNtcDEpCisgICAgICAgIGtleSA9IHNlbGYuY21wX3RvX2tleShjbXAxKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yKToKICAgICAgICAgICAgIGtleSgzKSA+IGtleSgxKQogCkBAIC01MTQsMTMgKzUwOCwxMyBAQAogICAgIGRlZiB0ZXN0X29ial9maWVsZChzZWxmKToKICAgICAgICAgZGVmIGNtcDEoeCwgeSk6CiAgICAgICAgICAgICByZXR1cm4gKHggPiB5KSAtICh4IDwgeSkKLSAgICAgICAga2V5ID0gZnVuY3Rvb2xzLmNtcF90b19rZXkobXljbXA9Y21wMSkKKyAgICAgICAga2V5ID0gc2VsZi5jbXBfdG9fa2V5KG15Y21wPWNtcDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5KDUwKS5vYmosIDUwKQogCiAgICAgZGVmIHRlc3Rfc29ydF9pbnQoc2VsZik6CiAgICAgICAgIGRlZiBteWNtcCh4LCB5KToKICAgICAgICAgICAgIHJldHVybiB5IC0geAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChyYW5nZSg1KSwga2V5PWZ1bmN0b29scy5jbXBfdG9fa2V5KG15Y21wKSksCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ydGVkKHJhbmdlKDUpLCBrZXk9c2VsZi5jbXBfdG9fa2V5KG15Y21wKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgWzQsIDMsIDIsIDEsIDBdKQogCiAgICAgZGVmIHRlc3Rfc29ydF9pbnRfc3RyKHNlbGYpOgpAQCAtNTI4LDE4ICs1MjIsMjYgQEAKICAgICAgICAgICAgIHgsIHkgPSBpbnQoeCksIGludCh5KQogICAgICAgICAgICAgcmV0dXJuICh4ID4geSkgLSAoeCA8IHkpCiAgICAgICAgIHZhbHVlcyA9IFs1LCAnMycsIDcsIDIsICcwJywgJzEnLCA0LCAnMTAnLCAxXQotICAgICAgICB2YWx1ZXMgPSBzb3J0ZWQodmFsdWVzLCBrZXk9ZnVuY3Rvb2xzLmNtcF90b19rZXkobXljbXApKQorICAgICAgICB2YWx1ZXMgPSBzb3J0ZWQodmFsdWVzLCBrZXk9c2VsZi5jbXBfdG9fa2V5KG15Y21wKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbaW50KHZhbHVlKSBmb3IgdmFsdWUgaW4gdmFsdWVzXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBbMCwgMSwgMSwgMiwgMywgNCwgNSwgNywgMTBdKQogCiAgICAgZGVmIHRlc3RfaGFzaChzZWxmKToKICAgICAgICAgZGVmIG15Y21wKHgsIHkpOgogICAgICAgICAgICAgcmV0dXJuIHkgLSB4Ci0gICAgICAgIGtleSA9IGZ1bmN0b29scy5jbXBfdG9fa2V5KG15Y21wKQorICAgICAgICBrZXkgPSBzZWxmLmNtcF90b19rZXkobXljbXApCiAgICAgICAgIGsgPSBrZXkoMTApCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaGFzaCwgaykKICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKGssIGNvbGxlY3Rpb25zLkhhc2hhYmxlKQogCitAdW5pdHRlc3Quc2tpcFVubGVzcyhjX2Z1bmN0b29scywgJ3JlcXVpcmVzIHRoZSBDIF9mdW5jdG9vbHMgbW9kdWxlJykKK2NsYXNzIFRlc3RDbXBUb0tleUMoVGVzdENtcFRvS2V5LCB1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgaWYgY19mdW5jdG9vbHM6CisgICAgICAgIGNtcF90b19rZXkgPSBjX2Z1bmN0b29scy5jbXBfdG9fa2V5CisKK2NsYXNzIFRlc3RDbXBUb0tleVB5KFRlc3RDbXBUb0tleSwgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGNtcF90b19rZXkgPSBzdGF0aWNtZXRob2QocHlfZnVuY3Rvb2xzLmNtcF90b19rZXkpCisKIGNsYXNzIFRlc3RUb3RhbE9yZGVyaW5nKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X3RvdGFsX29yZGVyaW5nX2x0KHNlbGYpOgpAQCAtNjQ0LDcgKzY0Niw3IEBACiAKICAgICBkZWYgdGVzdF9scnUoc2VsZik6CiAgICAgICAgIGRlZiBvcmlnKHgsIHkpOgotICAgICAgICAgICAgcmV0dXJuIDMqeCt5CisgICAgICAgICAgICByZXR1cm4gMyAqIHggKyB5CiAgICAgICAgIGYgPSBmdW5jdG9vbHMubHJ1X2NhY2hlKG1heHNpemU9MjApKG9yaWcpCiAgICAgICAgIGhpdHMsIG1pc3NlcywgbWF4c2l6ZSwgY3VycnNpemUgPSBmLmNhY2hlX2luZm8oKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1heHNpemUsIDIwKQpAQCAtNzQ5LDcgKzc1MSw3IEBACiAgICAgICAgICMgVmVyaWZ5IHRoYXQgdXNlcl9mdW5jdGlvbiBleGNlcHRpb25zIGdldCBwYXNzZWQgdGhyb3VnaCB3aXRob3V0CiAgICAgICAgICMgY3JlYXRpbmcgYSBoYXJkLXRvLXJlYWQgY2hhaW5lZCBleGNlcHRpb24uCiAgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTEzMTc3Ci0gICAgICAgIGZvciBtYXhzaXplIGluIChOb25lLCAxMDApOgorICAgICAgICBmb3IgbWF4c2l6ZSBpbiAoTm9uZSwgMTI4KToKICAgICAgICAgICAgIEBmdW5jdG9vbHMubHJ1X2NhY2hlKG1heHNpemUpCiAgICAgICAgICAgICBkZWYgZnVuYyhpKToKICAgICAgICAgICAgICAgICByZXR1cm4gJ2FiYydbaV0KQEAgLTc2Miw3ICs3NjQsNyBAQAogICAgICAgICAgICAgICAgIGZ1bmMoMTUpCiAKICAgICBkZWYgdGVzdF9scnVfd2l0aF90eXBlcyhzZWxmKToKLSAgICAgICAgZm9yIG1heHNpemUgaW4gKE5vbmUsIDEwMCk6CisgICAgICAgIGZvciBtYXhzaXplIGluIChOb25lLCAxMjgpOgogICAgICAgICAgICAgQGZ1bmN0b29scy5scnVfY2FjaGUobWF4c2l6ZT1tYXhzaXplLCB0eXBlZD1UcnVlKQogICAgICAgICAgICAgZGVmIHNxdWFyZSh4KToKICAgICAgICAgICAgICAgICByZXR1cm4geCAqIHgKQEAgLTc3Nyw2ICs3NzksMzYgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3F1YXJlLmNhY2hlX2luZm8oKS5oaXRzLCA0KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcXVhcmUuY2FjaGVfaW5mbygpLm1pc3NlcywgNCkKIAorICAgIGRlZiB0ZXN0X2xydV93aXRoX2tleXdvcmRfYXJncyhzZWxmKToKKyAgICAgICAgQGZ1bmN0b29scy5scnVfY2FjaGUoKQorICAgICAgICBkZWYgZmliKG4pOgorICAgICAgICAgICAgaWYgbiA8IDI6CisgICAgICAgICAgICAgICAgcmV0dXJuIG4KKyAgICAgICAgICAgIHJldHVybiBmaWIobj1uLTEpICsgZmliKG49bi0yKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgW2ZpYihuPW51bWJlcikgZm9yIG51bWJlciBpbiByYW5nZSgxNildLAorICAgICAgICAgICAgWzAsIDEsIDEsIDIsIDMsIDUsIDgsIDEzLCAyMSwgMzQsIDU1LCA4OSwgMTQ0LCAyMzMsIDM3NywgNjEwXQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmliLmNhY2hlX2luZm8oKSwKKyAgICAgICAgICAgIGZ1bmN0b29scy5fQ2FjaGVJbmZvKGhpdHM9MjgsIG1pc3Nlcz0xNiwgbWF4c2l6ZT0xMjgsIGN1cnJzaXplPTE2KSkKKyAgICAgICAgZmliLmNhY2hlX2NsZWFyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaWIuY2FjaGVfaW5mbygpLAorICAgICAgICAgICAgZnVuY3Rvb2xzLl9DYWNoZUluZm8oaGl0cz0wLCBtaXNzZXM9MCwgbWF4c2l6ZT0xMjgsIGN1cnJzaXplPTApKQorCisgICAgZGVmIHRlc3RfbHJ1X3dpdGhfa2V5d29yZF9hcmdzX21heHNpemVfbm9uZShzZWxmKToKKyAgICAgICAgQGZ1bmN0b29scy5scnVfY2FjaGUobWF4c2l6ZT1Ob25lKQorICAgICAgICBkZWYgZmliKG4pOgorICAgICAgICAgICAgaWYgbiA8IDI6CisgICAgICAgICAgICAgICAgcmV0dXJuIG4KKyAgICAgICAgICAgIHJldHVybiBmaWIobj1uLTEpICsgZmliKG49bi0yKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtmaWIobj1udW1iZXIpIGZvciBudW1iZXIgaW4gcmFuZ2UoMTYpXSwKKyAgICAgICAgICAgIFswLCAxLCAxLCAyLCAzLCA1LCA4LCAxMywgMjEsIDM0LCA1NSwgODksIDE0NCwgMjMzLCAzNzcsIDYxMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmliLmNhY2hlX2luZm8oKSwKKyAgICAgICAgICAgIGZ1bmN0b29scy5fQ2FjaGVJbmZvKGhpdHM9MjgsIG1pc3Nlcz0xNiwgbWF4c2l6ZT1Ob25lLCBjdXJyc2l6ZT0xNikpCisgICAgICAgIGZpYi5jYWNoZV9jbGVhcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmliLmNhY2hlX2luZm8oKSwKKyAgICAgICAgICAgIGZ1bmN0b29scy5fQ2FjaGVJbmZvKGhpdHM9MCwgbWlzc2VzPTAsIG1heHNpemU9Tm9uZSwgY3VycnNpemU9MCkpCisKICAgICBkZWYgdGVzdF9uZWVkX2Zvcl9ybG9jayhzZWxmKToKICAgICAgICAgIyBUaGlzIHdpbGwgZGVhZGxvY2sgb24gYW4gTFJVIGNhY2hlIHRoYXQgdXNlcyBhIHJlZ3VsYXIgbG9jawogCkBAIC04MDQsMTIgKzgzNiwxMyBAQAogCiBkZWYgdGVzdF9tYWluKHZlcmJvc2U9Tm9uZSk6CiAgICAgdGVzdF9jbGFzc2VzID0gKAotICAgICAgICBUZXN0UGFydGlhbCwKLSAgICAgICAgVGVzdFBhcnRpYWxTdWJjbGFzcywKLSAgICAgICAgVGVzdFB5dGhvblBhcnRpYWwsCisgICAgICAgIFRlc3RQYXJ0aWFsQywKKyAgICAgICAgVGVzdFBhcnRpYWxQeSwKKyAgICAgICAgVGVzdFBhcnRpYWxDU3ViY2xhc3MsCiAgICAgICAgIFRlc3RVcGRhdGVXcmFwcGVyLAogICAgICAgICBUZXN0VG90YWxPcmRlcmluZywKLSAgICAgICAgVGVzdENtcFRvS2V5LAorICAgICAgICBUZXN0Q21wVG9LZXlDLAorICAgICAgICBUZXN0Q21wVG9LZXlQeSwKICAgICAgICAgVGVzdFdyYXBzLAogICAgICAgICBUZXN0UmVkdWNlLAogICAgICAgICBUZXN0TFJVLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdXR1cmUucHkgYi9MaWIvdGVzdC90ZXN0X2Z1dHVyZS5weQppbmRleCBhMGMxNTZmLi5iZWFjOTkzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z1dHVyZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z1dHVyZS5weQpAQCAtODIsNiArODIsMTQgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhwZWN0ZWQgZXhjZXB0aW9uIGRpZG4ndCBvY2N1ciIpCiAKKyAgICBkZWYgdGVzdF9iYWRmdXR1cmUxMChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZnJvbSB0ZXN0IGltcG9ydCBiYWRzeW50YXhfZnV0dXJlMTAKKyAgICAgICAgZXhjZXB0IFN5bnRheEVycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X2Vycm9yX2xvY2F0aW9uKG1zZyksICgiYmFkc3ludGF4X2Z1dHVyZTEwIiwgJzMnKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhwZWN0ZWQgZXhjZXB0aW9uIGRpZG4ndCBvY2N1ciIpCisKICAgICBkZWYgdGVzdF9wYXJzZXJoYWNrKHNlbGYpOgogICAgICAgICAjIHRlc3QgdGhhdCB0aGUgcGFyc2VyLmM6OmZ1dHVyZV9oYWNrIGZ1bmN0aW9uIHdvcmtzIGFzIGV4cGVjdGVkCiAgICAgICAgICMgTm90ZTogYWx0aG91Z2ggdGhpcyB0ZXN0IG11c3QgcGFzcywgaXQncyBub3QgdGVzdGluZyB0aGUgb3JpZ2luYWwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ2MucHkgYi9MaWIvdGVzdC90ZXN0X2djLnB5CmluZGV4IGM1OWI3MmUuLjg1ZGJjOTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9nYy5weQpAQCAtNjEwLDYgKzYxMCwzMiBAQAogICAgICAgICBzdGRlcnIgPSBydW5fY29tbWFuZChjb2RlICUgImdjLkRFQlVHX1NBVkVBTEwiKQogICAgICAgICBzZWxmLmFzc2VydE5vdEluKGIidW5jb2xsZWN0YWJsZSBvYmplY3RzIGF0IHNodXRkb3duIiwgc3RkZXJyKQogCisgICAgZGVmIHRlc3RfZ2V0X3N0YXRzKHNlbGYpOgorICAgICAgICBzdGF0cyA9IGdjLmdldF9zdGF0cygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHN0YXRzKSwgMykKKyAgICAgICAgZm9yIHN0IGluIHN0YXRzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN0LCBkaWN0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQoc3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ImNvbGxlY3RlZCIsICJjb2xsZWN0aW9ucyIsICJ1bmNvbGxlY3RhYmxlIn0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChzdFsiY29sbGVjdGVkIl0sIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChzdFsiY29sbGVjdGlvbnMiXSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHN0WyJ1bmNvbGxlY3RhYmxlIl0sIDApCisgICAgICAgICMgQ2hlY2sgdGhhdCBjb2xsZWN0aW9uIGNvdW50cyBhcmUgaW5jcmVtZW50ZWQgY29ycmVjdGx5CisgICAgICAgIGlmIGdjLmlzZW5hYmxlZCgpOgorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGdjLmVuYWJsZSkKKyAgICAgICAgICAgIGdjLmRpc2FibGUoKQorICAgICAgICBvbGQgPSBnYy5nZXRfc3RhdHMoKQorICAgICAgICBnYy5jb2xsZWN0KDApCisgICAgICAgIG5ldyA9IGdjLmdldF9zdGF0cygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3WzBdWyJjb2xsZWN0aW9ucyJdLCBvbGRbMF1bImNvbGxlY3Rpb25zIl0gKyAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld1sxXVsiY29sbGVjdGlvbnMiXSwgb2xkWzFdWyJjb2xsZWN0aW9ucyJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld1syXVsiY29sbGVjdGlvbnMiXSwgb2xkWzJdWyJjb2xsZWN0aW9ucyJdKQorICAgICAgICBnYy5jb2xsZWN0KDIpCisgICAgICAgIG5ldyA9IGdjLmdldF9zdGF0cygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3WzBdWyJjb2xsZWN0aW9ucyJdLCBvbGRbMF1bImNvbGxlY3Rpb25zIl0gKyAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld1sxXVsiY29sbGVjdGlvbnMiXSwgb2xkWzFdWyJjb2xsZWN0aW9ucyJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld1syXVsiY29sbGVjdGlvbnMiXSwgb2xkWzJdWyJjb2xsZWN0aW9ucyJdICsgMSkKKwogCiBjbGFzcyBHQ0NhbGxiYWNrVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weSBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weQppbmRleCA5NTgwNTRhLi5lZGYzNDQzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9nZW5lcmF0b3JzLnB5CkBAIC0xNzI5LDkgKzE3MjksNyBAQAogPj4+IGcgPSBmKCkKID4+PiBuZXh0KGcpCiA+Pj4gZGVsIGcKLT4+PiBzeXMuc3RkZXJyLmdldHZhbHVlKCkuc3RhcnRzd2l0aCgKLS4uLiAgICAgIkV4Y2VwdGlvbiBSdW50aW1lRXJyb3I6ICdnZW5lcmF0b3IgaWdub3JlZCBHZW5lcmF0b3JFeGl0JyBpbiAiCi0uLi4gKQorPj4+ICJSdW50aW1lRXJyb3I6IGdlbmVyYXRvciBpZ25vcmVkIEdlbmVyYXRvckV4aXQiIGluIHN5cy5zdGRlcnIuZ2V0dmFsdWUoKQogVHJ1ZQogPj4+IHN5cy5zdGRlcnIgPSBvbGQKIApAQCAtMTg0MSwyMiArMTgzOSwyMyBAQAogLi4uICAgICBzeXMuc3RkZXJyID0gaW8uU3RyaW5nSU8oKQogLi4uICAgICBjbGFzcyBMZWFrZXI6CiAuLi4gICAgICAgICBkZWYgX19kZWxfXyhzZWxmKToKLS4uLiAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKy4uLiAgICAgICAgICAgICBkZWYgaW52b2tlKG1lc3NhZ2UpOgorLi4uICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IobWVzc2FnZSkKKy4uLiAgICAgICAgICAgICBpbnZva2UoInRlc3QiKQogLi4uCiAuLi4gICAgIGwgPSBMZWFrZXIoKQogLi4uICAgICBkZWwgbAogLi4uICAgICBlcnIgPSBzeXMuc3RkZXJyLmdldHZhbHVlKCkuc3RyaXAoKQotLi4uICAgICBlcnIuc3RhcnRzd2l0aCgKLS4uLiAgICAgICAgICJFeGNlcHRpb24gUnVudGltZUVycm9yOiBSdW50aW1lRXJyb3IoKSBpbiA8IgotLi4uICAgICApCi0uLi4gICAgIGVyci5lbmRzd2l0aCgiPiBpZ25vcmVkIikKLS4uLiAgICAgbGVuKGVyci5zcGxpdGxpbmVzKCkpCisuLi4gICAgICJFeGNlcHRpb24gaWdub3JlZCBpbiIgaW4gZXJyCisuLi4gICAgICJSdW50aW1lRXJyb3I6IHRlc3QiIGluIGVycgorLi4uICAgICAiVHJhY2ViYWNrIiBpbiBlcnIKKy4uLiAgICAgImluIGludm9rZSIgaW4gZXJyCiAuLi4gZmluYWxseToKIC4uLiAgICAgc3lzLnN0ZGVyciA9IG9sZAogVHJ1ZQogVHJ1ZQotMQotCitUcnVlCitUcnVlCiAKIAogVGhlc2UgcmVmbGVhayB0ZXN0cyBzaG91bGQgcGVyaGFwcyBiZSBpbiBhIHRlc3RmaWxlIG9mIHRoZWlyIG93biwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ2VuZXJpY3BhdGgucHkgYi9MaWIvdGVzdC90ZXN0X2dlbmVyaWNwYXRoLnB5CmluZGV4IGZkOGJjNTcuLmU5Njc4OTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2VuZXJpY3BhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weQpAQCAtMTg4LDEyICsxODgsOTMgQEAKICAgICAgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOKQogICAgICAgICAgICAgc2FmZV9ybWRpcihzdXBwb3J0LlRFU1RGTikKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgX2NyZWF0ZV9maWxlKGZpbGVuYW1lKToKKyAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAnd2InKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZShiJ2ZvbycpCisKKyAgICBkZWYgdGVzdF9zYW1lZmlsZShzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGVzdF9mbiA9IHN1cHBvcnQuVEVTVEZOICsgIjEiCisgICAgICAgICAgICBzZWxmLl9jcmVhdGVfZmlsZSh0ZXN0X2ZuKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYucGF0aG1vZHVsZS5zYW1lZmlsZSh0ZXN0X2ZuLCB0ZXN0X2ZuKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5wYXRobW9kdWxlLnNhbWVmaWxlKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MucmVtb3ZlKHRlc3RfZm4pCisKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgZGVmIHRlc3Rfc2FtZWZpbGVfb25fc3ltbGluayhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9zYW1lZmlsZV9vbl9saW5rX2Z1bmMob3Muc3ltbGluaykKKworICAgIGRlZiB0ZXN0X3NhbWVmaWxlX29uX2xpbmsoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfc2FtZWZpbGVfb25fbGlua19mdW5jKG9zLmxpbmspCisKKyAgICBkZWYgX3Rlc3Rfc2FtZWZpbGVfb25fbGlua19mdW5jKHNlbGYsIGZ1bmMpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB0ZXN0X2ZuMSA9IHN1cHBvcnQuVEVTVEZOICsgIjEiCisgICAgICAgICAgICB0ZXN0X2ZuMiA9IHN1cHBvcnQuVEVTVEZOICsgIjIiCisgICAgICAgICAgICBzZWxmLl9jcmVhdGVfZmlsZSh0ZXN0X2ZuMSkKKworICAgICAgICAgICAgZnVuYyh0ZXN0X2ZuMSwgdGVzdF9mbjIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5wYXRobW9kdWxlLnNhbWVmaWxlKHRlc3RfZm4xLCB0ZXN0X2ZuMikpCisgICAgICAgICAgICBvcy5yZW1vdmUodGVzdF9mbjIpCisKKyAgICAgICAgICAgIHNlbGYuX2NyZWF0ZV9maWxlKHRlc3RfZm4yKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLnBhdGhtb2R1bGUuc2FtZWZpbGUodGVzdF9mbjEsIHRlc3RfZm4yKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLnJlbW92ZSh0ZXN0X2ZuMSkKKyAgICAgICAgICAgIG9zLnJlbW92ZSh0ZXN0X2ZuMikKKworICAgIGRlZiB0ZXN0X3NhbWVzdGF0KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB0ZXN0X2ZuID0gc3VwcG9ydC5URVNURk4gKyAiMSIKKyAgICAgICAgICAgIHNlbGYuX2NyZWF0ZV9maWxlKHRlc3RfZm4pCisgICAgICAgICAgICB0ZXN0X2ZucyA9IFt0ZXN0X2ZuXSoyCisgICAgICAgICAgICBzdGF0cyA9IG1hcChvcy5zdGF0LCB0ZXN0X2ZucykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLnBhdGhtb2R1bGUuc2FtZXN0YXQoKnN0YXRzKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLnJlbW92ZSh0ZXN0X2ZuKQorCisgICAgQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaworICAgIGRlZiB0ZXN0X3NhbWVzdGF0X29uX3N5bWxpbmsoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfc2FtZXN0YXRfb25fbGlua19mdW5jKG9zLnN5bWxpbmspCisKKyAgICBkZWYgdGVzdF9zYW1lc3RhdF9vbl9saW5rKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3NhbWVzdGF0X29uX2xpbmtfZnVuYyhvcy5saW5rKQorCisgICAgZGVmIF90ZXN0X3NhbWVzdGF0X29uX2xpbmtfZnVuYyhzZWxmLCBmdW5jKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGVzdF9mbjEgPSBzdXBwb3J0LlRFU1RGTiArICIxIgorICAgICAgICAgICAgdGVzdF9mbjIgPSBzdXBwb3J0LlRFU1RGTiArICIyIgorICAgICAgICAgICAgc2VsZi5fY3JlYXRlX2ZpbGUodGVzdF9mbjEpCisgICAgICAgICAgICB0ZXN0X2ZucyA9ICh0ZXN0X2ZuMSwgdGVzdF9mbjIpCisgICAgICAgICAgICBmdW5jKCp0ZXN0X2ZucykKKyAgICAgICAgICAgIHN0YXRzID0gbWFwKG9zLnN0YXQsIHRlc3RfZm5zKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYucGF0aG1vZHVsZS5zYW1lc3RhdCgqc3RhdHMpKQorICAgICAgICAgICAgb3MucmVtb3ZlKHRlc3RfZm4yKQorCisgICAgICAgICAgICBzZWxmLl9jcmVhdGVfZmlsZSh0ZXN0X2ZuMikKKyAgICAgICAgICAgIHN0YXRzID0gbWFwKG9zLnN0YXQsIHRlc3RfZm5zKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLnBhdGhtb2R1bGUuc2FtZXN0YXQoKnN0YXRzKSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnBhdGhtb2R1bGUuc2FtZXN0YXQpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBvcy5yZW1vdmUodGVzdF9mbjEpCisgICAgICAgICAgICBvcy5yZW1vdmUodGVzdF9mbjIpCisKKyAgICBkZWYgdGVzdF9zYW1lb3BlbmZpbGUoc2VsZik6CisgICAgICAgIGZuYW1lID0gc3VwcG9ydC5URVNURk4gKyAiMSIKKyAgICAgICAgd2l0aCBvcGVuKGZuYW1lLCAid2IiKSBhcyBhLCBvcGVuKGZuYW1lLCAid2IiKSBhcyBiOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYucGF0aG1vZHVsZS5zYW1lb3BlbmZpbGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuZmlsZW5vKCksIGIuZmlsZW5vKCkpKQorCiBjbGFzcyBUZXN0R2VuZXJpY1Rlc3QoR2VuZXJpY1Rlc3QsIHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjIElzc3VlIDE2ODUyOiBHZW5lcmljVGVzdCBjYW4ndCBpbmhlcml0IGZyb20gdW5pdHRlc3QuVGVzdENhc2UKICAgICAjIGZvciB0ZXN0IGRpc2NvdmVyeSBwdXJwb3NlczsgQ29tbW9uVGVzdCBpbmhlcml0cyBmcm9tIEdlbmVyaWNUZXN0CiAgICAgIyBhbmQgaXMgb25seSBtZWFudCB0byBiZSBpbmhlcml0ZWQgYnkgb3RoZXJzLgogICAgIHBhdGhtb2R1bGUgPSBnZW5lcmljcGF0aAogCisKICMgRm9sbG93aW5nIFRlc3RDYXNlIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBydW4gZnJvbSB0ZXN0X2dlbmVyaWNwYXRoLgogIyBJdCBpcyBpbmhlcml0ZWQgYnkgb3RoZXIgdGVzdCBtb2R1bGVzIChtYWNwYXRoLCBudHBhdGgsIHBvc2l4cGF0aCkuCiAKQEAgLTMyMiw3ICs0MDMsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibmVlZCBzdXBwb3J0LlRFU1RGTl9OT05BU0NJSSIpCiAKLSAgICAgICAgIyBUZXN0IG5vbi1BU0NJSSwgbm9uLVVURjggYnl0ZXMgaW4gdGhlIHBhdGguCiAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgd2l0aCBzdXBwb3J0LnRlbXBfY3dkKG5hbWUpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weSBiL0xpYi90ZXN0L3Rlc3RfZ2V0YXJnczIucHkKaW5kZXggNDhjYTk0ZS4uZDc1YWQzMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dldGFyZ3MyLnB5CkBAIC0yLDM3ICsyLDM1IEBACiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBnZXRhcmdzX2tleXdvcmRzLCBnZXRhcmdzX2tleXdvcmRfb25seQogCi0iIiIKLT4gSG93IGFib3V0IHRoZSBmb2xsb3dpbmcgY291bnRlcnByb3Bvc2FsLiBUaGlzIGFsc28gY2hhbmdlcyBzb21lIG9mCi0+IHRoZSBvdGhlciBmb3JtYXQgY29kZXMgdG8gYmUgYSBsaXR0bGUgbW9yZSByZWd1bGFyLgotPgotPiBDb2RlIEMgdHlwZSBSYW5nZSBjaGVjawotPgotPiBiIHVuc2lnbmVkIGNoYXIgMC4uVUNIQVJfTUFYCi0+IGggc2lnbmVkIHNob3J0IFNIUlRfTUlOLi5TSFJUX01BWAotPiBCIHVuc2lnbmVkIGNoYXIgbm9uZSAqKgotPiBIIHVuc2lnbmVkIHNob3J0IG5vbmUgKioKLT4gayAqIHVuc2lnbmVkIGxvbmcgbm9uZQotPiBJICogdW5zaWduZWQgaW50IDAuLlVJTlRfTUFYCi0KLQotPiBpIGludCBJTlRfTUlOLi5JTlRfTUFYCi0+IGwgbG9uZyBMT05HX01JTi4uTE9OR19NQVgKLQotPiBLICogdW5zaWduZWQgbG9uZyBsb25nIG5vbmUKLT4gTCBsb25nIGxvbmcgTExPTkdfTUlOLi5MTE9OR19NQVgKLQotPiBOb3RlczoKLT4KLT4gKiBOZXcgZm9ybWF0IGNvZGVzLgotPgotPiAqKiBDaGFuZ2VkIGZyb20gcHJldmlvdXMgInJhbmdlLWFuZC1hLWhhbGYiIHRvICJub25lIjsgdGhlCi0+IHJhbmdlLWFuZC1hLWhhbGYgY2hlY2tpbmcgd2Fzbid0IHBhcnRpY3VsYXJseSB1c2VmdWwuCi0KLVBsdXMgYSBDIEFQSSBvciB0d28sIGUuZy4gUHlJbnRfQXNMb25nTWFzaygpIC0+Ci11bnNpZ25lZCBsb25nIGFuZCBQeUludF9Bc0xvbmdMb25nTWFzaygpIC0+IHVuc2lnbmVkCi1sb25nIGxvbmcgKGlmIHRoYXQgZXhpc3RzKS4KLSIiIgorIyA+IEhvdyBhYm91dCB0aGUgZm9sbG93aW5nIGNvdW50ZXJwcm9wb3NhbC4gVGhpcyBhbHNvIGNoYW5nZXMgc29tZSBvZgorIyA+IHRoZSBvdGhlciBmb3JtYXQgY29kZXMgdG8gYmUgYSBsaXR0bGUgbW9yZSByZWd1bGFyLgorIyA+CisjID4gQ29kZSBDIHR5cGUgUmFuZ2UgY2hlY2sKKyMgPgorIyA+IGIgdW5zaWduZWQgY2hhciAwLi5VQ0hBUl9NQVgKKyMgPiBoIHNpZ25lZCBzaG9ydCBTSFJUX01JTi4uU0hSVF9NQVgKKyMgPiBCIHVuc2lnbmVkIGNoYXIgbm9uZSAqKgorIyA+IEggdW5zaWduZWQgc2hvcnQgbm9uZSAqKgorIyA+IGsgKiB1bnNpZ25lZCBsb25nIG5vbmUKKyMgPiBJICogdW5zaWduZWQgaW50IDAuLlVJTlRfTUFYCisjCisjCisjID4gaSBpbnQgSU5UX01JTi4uSU5UX01BWAorIyA+IGwgbG9uZyBMT05HX01JTi4uTE9OR19NQVgKKyMKKyMgPiBLICogdW5zaWduZWQgbG9uZyBsb25nIG5vbmUKKyMgPiBMIGxvbmcgbG9uZyBMTE9OR19NSU4uLkxMT05HX01BWAorIworIyA+IE5vdGVzOgorIyA+CisjID4gKiBOZXcgZm9ybWF0IGNvZGVzLgorIyA+CisjID4gKiogQ2hhbmdlZCBmcm9tIHByZXZpb3VzICJyYW5nZS1hbmQtYS1oYWxmIiB0byAibm9uZSI7IHRoZQorIyA+IHJhbmdlLWFuZC1hLWhhbGYgY2hlY2tpbmcgd2Fzbid0IHBhcnRpY3VsYXJseSB1c2VmdWwuCisjCisjIFBsdXMgYSBDIEFQSSBvciB0d28sIGUuZy4gUHlJbnRfQXNMb25nTWFzaygpIC0+CisjIHVuc2lnbmVkIGxvbmcgYW5kIFB5SW50X0FzTG9uZ0xvbmdNYXNrKCkgLT4gdW5zaWduZWQKKyMgbG9uZyBsb25nIChpZiB0aGF0IGV4aXN0cykuCiAKIExBUkdFID0gMHg3RkZGRkZGRgogVkVSWV9MQVJHRSA9IDB4RkYwMDAwMTIxMjEyMTIxMjEyMTIxMjQyCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dldHBhc3MucHkgYi9MaWIvdGVzdC90ZXN0X2dldHBhc3MucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU1MzdiOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2V0cGFzcy5weQpAQCAtMCwwICsxLDE0OSBAQAoraW1wb3J0IGdldHBhc3MKK2ltcG9ydCBvcworaW1wb3J0IHVuaXR0ZXN0Citmcm9tIGlvIGltcG9ydCBTdHJpbmdJTworZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CisKK3RyeToKKyAgICBpbXBvcnQgdGVybWlvcworZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHRlcm1pb3MgPSBOb25lCit0cnk6CisgICAgaW1wb3J0IHB3ZAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHB3ZCA9IE5vbmUKKworQG1vY2sucGF0Y2goJ29zLmVudmlyb24nKQorY2xhc3MgR2V0cGFzc0dldHVzZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3VzZXJuYW1lX3Rha2VzX3VzZXJuYW1lX2Zyb21fZW52KHNlbGYsIGVudmlyb24pOgorICAgICAgICBleHBlY3RlZF9uYW1lID0gJ3NvbWVfbmFtZScKKyAgICAgICAgZW52aXJvbi5nZXQucmV0dXJuX3ZhbHVlID0gZXhwZWN0ZWRfbmFtZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX25hbWUsIGdldHBhc3MuZ2V0dXNlcigpKQorCisgICAgZGVmIHRlc3RfdXNlcm5hbWVfcHJpb3JpdGllc19vZl9lbnZfdmFsdWVzKHNlbGYsIGVudmlyb24pOgorICAgICAgICBlbnZpcm9uLmdldC5yZXR1cm5fdmFsdWUgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGdldHBhc3MuZ2V0dXNlcigpCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjogIyBpbiBjYXNlIHRoZXJlJ3Mgbm8gcHdkIG1vZHVsZQorICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgZW52aXJvbi5nZXQuY2FsbF9hcmdzX2xpc3QsCisgICAgICAgICAgICBbbW9jay5jYWxsKHgpIGZvciB4IGluICgnTE9HTkFNRScsICdVU0VSJywgJ0xOQU1FJywgJ1VTRVJOQU1FJyldKQorCisgICAgZGVmIHRlc3RfdXNlcm5hbWVfZmFsbHNfYmFja190b19wd2Qoc2VsZiwgZW52aXJvbik6CisgICAgICAgIGV4cGVjdGVkX25hbWUgPSAnc29tZV9uYW1lJworICAgICAgICBlbnZpcm9uLmdldC5yZXR1cm5fdmFsdWUgPSBOb25lCisgICAgICAgIGlmIHB3ZDoKKyAgICAgICAgICAgIHdpdGggbW9jay5wYXRjaCgnb3MuZ2V0dWlkJykgYXMgdWlkLCBcCisgICAgICAgICAgICAgICAgICAgIG1vY2sucGF0Y2goJ3B3ZC5nZXRwd3VpZCcpIGFzIGdldHB3OgorICAgICAgICAgICAgICAgIHVpZC5yZXR1cm5fdmFsdWUgPSA0MgorICAgICAgICAgICAgICAgIGdldHB3LnJldHVybl92YWx1ZSA9IFtleHBlY3RlZF9uYW1lXQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHBhc3MuZ2V0dXNlcigpKQorICAgICAgICAgICAgICAgIGdldHB3LmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDQyKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IsIGdldHBhc3MuZ2V0dXNlcikKKworCitjbGFzcyBHZXRwYXNzUmF3aW5wdXRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2ZsdXNoZXNfc3RyZWFtX2FmdGVyX3Byb21wdChzZWxmKToKKyAgICAgICAgIyBzZWUgaXNzdWUgMTcwMworICAgICAgICBzdHJlYW0gPSBtb2NrLk1vY2soc3BlYz1TdHJpbmdJTykKKyAgICAgICAgaW5wdXQgPSBTdHJpbmdJTygnaW5wdXRfc3RyaW5nJykKKyAgICAgICAgZ2V0cGFzcy5fcmF3X2lucHV0KCdzb21lX3Byb21wdCcsIHN0cmVhbSwgaW5wdXQ9aW5wdXQpCisgICAgICAgIHN0cmVhbS5mbHVzaC5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgpCisKKyAgICBkZWYgdGVzdF91c2VzX3N0ZGVycl9hc19kZWZhdWx0KHNlbGYpOgorICAgICAgICBpbnB1dCA9IFN0cmluZ0lPKCdpbnB1dF9zdHJpbmcnKQorICAgICAgICBwcm9tcHQgPSAnc29tZV9wcm9tcHQnCisgICAgICAgIHdpdGggbW9jay5wYXRjaCgnc3lzLnN0ZGVycicpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgIGdldHBhc3MuX3Jhd19pbnB1dChwcm9tcHQsIGlucHV0PWlucHV0KQorICAgICAgICAgICAgc3RkZXJyLndyaXRlLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKHByb21wdCkKKworICAgIEBtb2NrLnBhdGNoKCdzeXMuc3RkaW4nKQorICAgIGRlZiB0ZXN0X3VzZXNfc3RkaW5fYXNfZGVmYXVsdF9pbnB1dChzZWxmLCBtb2NrX2lucHV0KToKKyAgICAgICAgbW9ja19pbnB1dC5yZWFkbGluZS5yZXR1cm5fdmFsdWUgPSAnaW5wdXRfc3RyaW5nJworICAgICAgICBnZXRwYXNzLl9yYXdfaW5wdXQoc3RyZWFtPVN0cmluZ0lPKCkpCisgICAgICAgIG1vY2tfaW5wdXQucmVhZGxpbmUuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoKQorCisgICAgZGVmIHRlc3RfcmFpc2VzX29uX2VtcHR5X2lucHV0KHNlbGYpOgorICAgICAgICBpbnB1dCA9IFN0cmluZ0lPKCcnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFT0ZFcnJvciwgZ2V0cGFzcy5fcmF3X2lucHV0LCBpbnB1dD1pbnB1dCkKKworICAgIGRlZiB0ZXN0X3RyaW1zX3RyYWlsaW5nX25ld2xpbmUoc2VsZik6CisgICAgICAgIGlucHV0ID0gU3RyaW5nSU8oJ3Rlc3RcbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3Rlc3QnLCBnZXRwYXNzLl9yYXdfaW5wdXQoaW5wdXQ9aW5wdXQpKQorCisKKyMgU29tZSBvZiB0aGVzZSB0ZXN0cyBhcmUgYSBiaXQgd2hpdGUtYm94LiAgVGhlIGZ1bmN0aW9uYWwgcmVxdWlyZW1lbnQgaXMgdGhhdAorIyB0aGUgcGFzc3dvcmQgaW5wdXQgYmUgdGFrZW4gZGlyZWN0bHkgZnJvbSB0aGUgdHR5LCBhbmQgdGhhdCBpdCBub3QgYmUgZWNob2VkCisjIG9uIHRoZSBzY3JlZW4sIHVubGVzcyB3ZSBhcmUgZmFsbGluZyBiYWNrIHRvIHN0ZGVyci9zdGRpbi4KKworIyBTb21lIG9mIHRoZXNlIG1pZ2h0IHJ1biBvbiBwbGF0Zm9ybXMgd2l0aG91dCB0ZXJtaW9zLCBidXQgcGxheSBpdCBzYWZlLgorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGVybWlvcywgJ3Rlc3RzIHJlcXVpcmUgc3lzdGVtIHdpdGggdGVybWlvcycpCitjbGFzcyBVbml4R2V0cGFzc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfdXNlc190dHlfZGlyZWN0bHkoc2VsZik6CisgICAgICAgIHdpdGggbW9jay5wYXRjaCgnb3Mub3BlbicpIGFzIG9wZW4sIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCdvcy5mZG9wZW4nKToKKyAgICAgICAgICAgICMgQnkgc2V0dGluZyBvcGVuJ3MgcmV0dXJuIHZhbHVlIHRvIE5vbmUgdGhlIGltcGxlbWVudGF0aW9uIHdpbGwKKyAgICAgICAgICAgICMgc2tpcCBjb2RlIHdlIGRvbid0IGNhcmUgYWJvdXQgaW4gdGhpcyB0ZXN0LiAgV2UgY2FuIG1vY2sgdGhpcyBvdXQKKyAgICAgICAgICAgICMgZnVsbHkgaWYgYW4gYWx0ZXJuYXRlIGltcGxlbWVudGF0aW9uIHdvcmtzIGRpZmZlcmVudGx5LgorICAgICAgICAgICAgb3Blbi5yZXR1cm5fdmFsdWUgPSBOb25lCisgICAgICAgICAgICBnZXRwYXNzLnVuaXhfZ2V0cGFzcygpCisgICAgICAgICAgICBvcGVuLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCcvZGV2L3R0eScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLk9fUkRXUiB8IG9zLk9fTk9DVFRZKQorCisgICAgZGVmIHRlc3RfcmVzZXRzX3Rlcm1pb3Moc2VsZik6CisgICAgICAgIHdpdGggbW9jay5wYXRjaCgnb3Mub3BlbicpIGFzIG9wZW4sIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCdvcy5mZG9wZW4nKSwgXAorICAgICAgICAgICAgICAgIG1vY2sucGF0Y2goJ3Rlcm1pb3MudGNnZXRhdHRyJykgYXMgdGNnZXRhdHRyLCBcCisgICAgICAgICAgICAgICAgbW9jay5wYXRjaCgndGVybWlvcy50Y3NldGF0dHInKSBhcyB0Y3NldGF0dHI6CisgICAgICAgICAgICBvcGVuLnJldHVybl92YWx1ZSA9IDMKKyAgICAgICAgICAgIGZha2VfYXR0cnMgPSBbMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTVdCisgICAgICAgICAgICB0Y2dldGF0dHIucmV0dXJuX3ZhbHVlID0gbGlzdChmYWtlX2F0dHJzKQorICAgICAgICAgICAgZ2V0cGFzcy51bml4X2dldHBhc3MoKQorICAgICAgICAgICAgdGNzZXRhdHRyLmFzc2VydF9jYWxsZWRfd2l0aCgzLCBtb2NrLkFOWSwgZmFrZV9hdHRycykKKworICAgIGRlZiB0ZXN0X2ZhbGxzX2JhY2tfdG9fZmFsbGJhY2tfaWZfdGVybWlvc19yYWlzZXMoc2VsZik6CisgICAgICAgIHdpdGggbW9jay5wYXRjaCgnb3Mub3BlbicpIGFzIG9wZW4sIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCdvcy5mZG9wZW4nKSBhcyBmZG9wZW4sIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCd0ZXJtaW9zLnRjZ2V0YXR0cicpLCBcCisgICAgICAgICAgICAgICAgbW9jay5wYXRjaCgndGVybWlvcy50Y3NldGF0dHInKSBhcyB0Y3NldGF0dHIsIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCdnZXRwYXNzLmZhbGxiYWNrX2dldHBhc3MnKSBhcyBmYWxsYmFjazoKKyAgICAgICAgICAgIG9wZW4ucmV0dXJuX3ZhbHVlID0gMworICAgICAgICAgICAgZmRvcGVuLnJldHVybl92YWx1ZSA9IFN0cmluZ0lPKCkKKyAgICAgICAgICAgIHRjc2V0YXR0ci5zaWRlX2VmZmVjdCA9IHRlcm1pb3MuZXJyb3IKKyAgICAgICAgICAgIGdldHBhc3MudW5peF9nZXRwYXNzKCkKKyAgICAgICAgICAgIGZhbGxiYWNrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCdQYXNzd29yZDogJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkb3Blbi5yZXR1cm5fdmFsdWUpCisKKyAgICBkZWYgdGVzdF9mbHVzaGVzX3N0cmVhbV9hZnRlcl9pbnB1dChzZWxmKToKKyAgICAgICAgIyBpc3N1ZSA3MjA4CisgICAgICAgIHdpdGggbW9jay5wYXRjaCgnb3Mub3BlbicpIGFzIG9wZW4sIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCdvcy5mZG9wZW4nKSwgXAorICAgICAgICAgICAgICAgIG1vY2sucGF0Y2goJ3Rlcm1pb3MudGNnZXRhdHRyJyksIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCd0ZXJtaW9zLnRjc2V0YXR0cicpOgorICAgICAgICAgICAgb3Blbi5yZXR1cm5fdmFsdWUgPSAzCisgICAgICAgICAgICBtb2NrX3N0cmVhbSA9IG1vY2suTW9jayhzcGVjPVN0cmluZ0lPKQorICAgICAgICAgICAgZ2V0cGFzcy51bml4X2dldHBhc3Moc3RyZWFtPW1vY2tfc3RyZWFtKQorICAgICAgICAgICAgbW9ja19zdHJlYW0uZmx1c2guYXNzZXJ0X2NhbGxlZF93aXRoKCkKKworICAgIGRlZiB0ZXN0X2ZhbGxzX2JhY2tfdG9fc3RkaW4oc2VsZik6CisgICAgICAgIHdpdGggbW9jay5wYXRjaCgnb3Mub3BlbicpIGFzIG9zX29wZW4sIFwKKyAgICAgICAgICAgICAgICBtb2NrLnBhdGNoKCdzeXMuc3RkaW4nLCBzcGVjPVN0cmluZ0lPKSBhcyBzdGRpbjoKKyAgICAgICAgICAgIG9zX29wZW4uc2lkZV9lZmZlY3QgPSBJT0Vycm9yCisgICAgICAgICAgICBzdGRpbi5maWxlbm8uc2lkZV9lZmZlY3QgPSBBdHRyaWJ1dGVFcnJvcgorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoZ2V0cGFzcy5HZXRQYXNzV2FybmluZyk6CisgICAgICAgICAgICAgICAgICAgIGdldHBhc3MudW5peF9nZXRwYXNzKCkKKyAgICAgICAgICAgIHN0ZGluLnJlYWRsaW5lLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1dhcm5pbmcnLCBzdGRlcnIuZ2V0dmFsdWUoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1Bhc3N3b3JkOicsIHN0ZGVyci5nZXR2YWx1ZSgpKQorCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2hhc2hsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2hhc2hsaWIucHkKaW5kZXggMzJmODVlOS4uNTQyMDFhMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9oYXNobGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaGFzaGxpYi5weQpAQCAtMzYsNyArMzYsMTAgQEAKIGNsYXNzIEhhc2hMaWJUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgc3VwcG9ydGVkX2hhc2hfbmFtZXMgPSAoICdtZDUnLCAnTUQ1JywgJ3NoYTEnLCAnU0hBMScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGEyMjQnLCAnU0hBMjI0JywgJ3NoYTI1NicsICdTSEEyNTYnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhMzg0JywgJ1NIQTM4NCcsICdzaGE1MTInLCAnU0hBNTEyJyApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzaGEzODQnLCAnU0hBMzg0JywgJ3NoYTUxMicsICdTSEE1MTInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhM18yMjQnLCAnc2hhM18yNTYnLCAnc2hhM18zODQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2hhM181MTInLCAnU0hBM18yMjQnLCAnU0hBM18yNTYnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU0hBM18zODQnLCAnU0hBM181MTInICkKIAogICAgICMgSXNzdWUgIzE0NjkzOiBmYWxsYmFjayBtb2R1bGVzIGFyZSBhbHdheXMgY29tcGlsZWQgdW5kZXIgUE9TSVgKICAgICBfd2Fybl9vbl9leHRlbnNpb25faW1wb3J0ID0gb3MubmFtZSA9PSAncG9zaXgnIG9yIENPTVBJTEVEX1dJVEhfUFlERUJVRwpAQCAtOTMsNiArOTYsMTIgQEAKICAgICAgICAgaWYgX3NoYTUxMjoKICAgICAgICAgICAgIHNlbGYuY29uc3RydWN0b3JzX3RvX3Rlc3RbJ3NoYTM4NCddLmFkZChfc2hhNTEyLnNoYTM4NCkKICAgICAgICAgICAgIHNlbGYuY29uc3RydWN0b3JzX3RvX3Rlc3RbJ3NoYTUxMiddLmFkZChfc2hhNTEyLnNoYTUxMikKKyAgICAgICAgX3NoYTMgPSBzZWxmLl9jb25kaXRpb25hbF9pbXBvcnRfbW9kdWxlKCdfc2hhMycpCisgICAgICAgIGlmIF9zaGEzOgorICAgICAgICAgICAgc2VsZi5jb25zdHJ1Y3RvcnNfdG9fdGVzdFsnc2hhM18yMjQnXS5hZGQoX3NoYTMuc2hhM18yMjQpCisgICAgICAgICAgICBzZWxmLmNvbnN0cnVjdG9yc190b190ZXN0WydzaGEzXzI1NiddLmFkZChfc2hhMy5zaGEzXzI1NikKKyAgICAgICAgICAgIHNlbGYuY29uc3RydWN0b3JzX3RvX3Rlc3RbJ3NoYTNfMzg0J10uYWRkKF9zaGEzLnNoYTNfMzg0KQorICAgICAgICAgICAgc2VsZi5jb25zdHJ1Y3RvcnNfdG9fdGVzdFsnc2hhM181MTInXS5hZGQoX3NoYTMuc2hhM181MTIpCiAKICAgICAgICAgc3VwZXIoSGFzaExpYlRlc3RDYXNlLCBzZWxmKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCiAKQEAgLTE1OCw2ICsxNjcsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMS5kaWdlc3QoKSwgbTIuZGlnZXN0KCkpCiAKICAgICBkZWYgY2hlY2soc2VsZiwgbmFtZSwgZGF0YSwgZGlnZXN0KToKKyAgICAgICAgZGlnZXN0ID0gZGlnZXN0Lmxvd2VyKCkKICAgICAgICAgY29uc3RydWN0b3JzID0gc2VsZi5jb25zdHJ1Y3RvcnNfdG9fdGVzdFtuYW1lXQogICAgICAgICAjIDIgaXMgZm9yIGhhc2hsaWIubmFtZSguLi4pIGFuZCBoYXNobGliLm5ldyhuYW1lLCAuLi4pCiAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKGxlbihjb25zdHJ1Y3RvcnMpLCAyKQpAQCAtMTgzLDYgKzE5MywxMCBAQAogICAgICAgICBzZWxmLmNoZWNrX25vX3VuaWNvZGUoJ3NoYTI1NicpCiAgICAgICAgIHNlbGYuY2hlY2tfbm9fdW5pY29kZSgnc2hhMzg0JykKICAgICAgICAgc2VsZi5jaGVja19ub191bmljb2RlKCdzaGE1MTInKQorICAgICAgICBzZWxmLmNoZWNrX25vX3VuaWNvZGUoJ3NoYTNfMjI0JykKKyAgICAgICAgc2VsZi5jaGVja19ub191bmljb2RlKCdzaGEzXzI1NicpCisgICAgICAgIHNlbGYuY2hlY2tfbm9fdW5pY29kZSgnc2hhM18zODQnKQorICAgICAgICBzZWxmLmNoZWNrX25vX3VuaWNvZGUoJ3NoYTNfNTEyJykKIAogICAgIGRlZiB0ZXN0X2Nhc2VfbWQ1XzAoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2soJ21kNScsIGInJywgJ2Q0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlJykKQEAgLTMxOCwxMSArMzMyLDEyMiBAQAogICAgICAgICAgICJlNzE4NDgzZDBjZTc2OTY0NGUyZTQyYzdiYzE1YjQ2MzhlMWY5OGIxM2IyMDQ0Mjg1NjMyYTgwM2FmYTk3M2ViIisKICAgICAgICAgICAiZGUwZmYyNDQ4NzdlYTYwYTRjYjA0MzJjZTU3N2MzMWJlYjAwOWM1YzJjNDlhYTJlNGVhZGIyMTdhZDhjYzA5YiIpCiAKKyAgICAjIFNIQS0zIGZhbWlseQorICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18yMjRfMChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjaygnc2hhM18yMjQnLCBiIiIsCisgICAgICAgICAgIkY3MTgzNzUwMkJBOEUxMDgzN0JERDhEMzY1QURCODU1OTE4OTU2MDJGQzU1MkI0OEI3MzkwQUJEIikKKworICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18yMjRfMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjaygnc2hhM18yMjQnLCBieXRlcy5mcm9taGV4KCJDQyIpLAorICAgICAgICAgICJBOUNBQjU5RUI0MEExMEIyNDYyOTBGMkQ2MDg2RTMyRTM2ODlGQUYxRDI2QjQ3MEM4OTlGMjgwMiIpCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfMjI0XzIoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfMjI0JywgYnl0ZXMuZnJvbWhleCgiNDFGQiIpLAorICAgICAgICAgICI2MTVCQTM2N0FGREMzNUFBQzM5N0JDN0VCNUQ1OEQxMDZBNzM0QjI0OTg2RDVEOTc4RkVGRDYyQyIpCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfMjI0XzMoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfMjI0JywgYnl0ZXMuZnJvbWhleCgKKyAgICAgICAgICAgICI0MzNDNTMwMzEzMTYyNEMwMDIxRDg2OEEzMDgyNTQ3NUU4RDBCRDMwNTJBMDIyMTgwMzk4RjRDQTQ0MjNCOSIrCisgICAgICAgICAgICAiODIxNEI2QkVBQUMyMUM4ODA3QTJDMzNGOEM5M0JENDJCMDkyQ0MxQjA2Q0VERjMyMjRENUVEMUVDMjk3ODQiKworICAgICAgICAgICAgIjQ0NEYyMkUwOEE1NUFBNTg1NDJCNTI0QjAyQ0QzRDVENUY2OTA3QUZFNzFDNUQ3NDYyMjI0QTNGOUQ5RTUzIisKKyAgICAgICAgICAgICJFN0UwODQ2RENCQjRDRSIpLAorICAgICAgICAgICI2MkIxMEYxQjYyMzZFQkMyREE3Mjk1Nzc0MkE4RDRFNDhFMjEzQjVGODkzNDYwNEJGRDREMkMzQSIpCisKKyAgICBAYmlnbWVtdGVzdChzaXplPV80RyArIDUsIG1lbXVzZT0xKQorICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18yMjRfaHVnZShzZWxmLCBzaXplKToKKyAgICAgICAgaWYgc2l6ZSA9PSBfNEcgKyA1OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfMjI0JywgYidBJypzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJzU4ZWY2MDA1N2M5ZGRkYjZhODc0NzdlOWFjZTVhMjZmMGQ5ZGIwMTg4MWNmOWIxMGE5ZjhjMjI0JykKKyAgICAgICAgICAgIGV4Y2VwdCBPdmVyZmxvd0Vycm9yOgorICAgICAgICAgICAgICAgIHBhc3MgIyAzMi1iaXQgYXJjaAorCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfMjU2XzAoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfMjU2JywgYiIiLAorICAgICAgICAgICJDNUQyNDYwMTg2RjcyMzNDOTI3RTdEQjJEQ0M3MDNDMEU1MDBCNjUzQ0E4MjI3M0I3QkZBRDgwNDVEODVBNDcwIikKKworICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18yNTZfMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjaygnc2hhM18yNTYnLCBieXRlcy5mcm9taGV4KCJDQyIpLAorICAgICAgICAgICJFRUFENkRCRkM3MzQwQTU2Q0FFREMwNDQ2OTZBMTY4ODcwNTQ5QTZBN0Y2RjU2OTYxRTg0QTU0QkQ5OTcwQjhBIikKKworICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18yNTZfMihzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjaygnc2hhM18yNTYnLCBieXRlcy5mcm9taGV4KCI0MUZCIiksCisgICAgICAgICAgIkE4RUFDRURBNEQ0N0IzMjgxQTc5NUFEOUUxRUEyMTIyQjQwN0JBRjlBQUJDQjlFMThCNTcxN0I3ODczNTM3RDIiKQorCisgICAgZGVmIHRlc3RfY2FzZV9zaGEzXzI1Nl8zKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrKCdzaGEzXzI1NicsIGJ5dGVzLmZyb21oZXgoCisgICAgICAgICAgICAiNDMzQzUzMDMxMzE2MjRDMDAyMUQ4NjhBMzA4MjU0NzVFOEQwQkQzMDUyQTAyMjE4MDM5OEY0Q0E0NDIzQjkiKworICAgICAgICAgICAgIjgyMTRCNkJFQUFDMjFDODgwN0EyQzMzRjhDOTNCRDQyQjA5MkNDMUIwNkNFREYzMjI0RDVFRDFFQzI5Nzg0IisKKyAgICAgICAgICAgICI0NDRGMjJFMDhBNTVBQTU4NTQyQjUyNEIwMkNEM0Q1RDVGNjkwN0FGRTcxQzVENzQ2MjIyNEEzRjlEOUU1MyIrCisgICAgICAgICAgICAiRTdFMDg0NkRDQkI0Q0UiKSwKKyAgICAgICAgICAiQ0U4N0E1MTczQkZGRDkyMzk5MjIxNjU4RjgwMUQ0NUMyOTREOTAwNkVFOUYzRjlENDE5QzhENDI3NzQ4REM0MSIpCisKKworICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18zODRfMChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjaygnc2hhM18zODQnLCBiIiIsCisgICAgICAgICAgIjJDMjMxNDZBNjNBMjlBQ0Y5OUU3M0I4OEY4QzI0RUFBN0RDNjBBQTc3MTc4MENDQzAwNkFGQkZBOEZFMjQ3OUIiKworICAgICAgICAgICIyREQyQjIxMzYyMzM3NDQxQUMxMkI1MTU5MTE5NTdGRiIpCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfMzg0XzEoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfMzg0JywgYnl0ZXMuZnJvbWhleCgiQ0MiKSwKKyAgICAgICAgICAiMUI4NEU2MkE0NkU1QTIwMTg2MTc1NEFGNURDOTVDNEExQTY5Q0FGNEE3OTZBRTQwNTY4MDE2MUUyOTU3MjY0MSIrCisgICAgICAgICAgIkY1RkExRTg2NDFENzk1ODMzNkVFN0IxMUM1OEY3M0U5IikKKworICAgIGRlZiB0ZXN0X2Nhc2Vfc2hhM18zODRfMihzZWxmKToKKyAgICAgICAgc2VsZi5jaGVjaygnc2hhM18zODQnLCBieXRlcy5mcm9taGV4KCI0MUZCIiksCisgICAgICAgICAgIjQ5NUNDRTI3MTRDRDcyQzhDNTNDMzM2M0QyMkM1OEI1NTk2MEZFMjZCRTBCRjNCQkM3QTMzMTZERDU2M0FEMUQiKworICAgICAgICAgICJCODQxMEU3NUVFRkVBNjU1RTM5RDQ2NzBFQzBCMTc5MiIpCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfMzg0XzMoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfMzg0JywgYnl0ZXMuZnJvbWhleCgKKyAgICAgICAgICAgICI0MzNDNTMwMzEzMTYyNEMwMDIxRDg2OEEzMDgyNTQ3NUU4RDBCRDMwNTJBMDIyMTgwMzk4RjRDQTQ0MjNCOSIrCisgICAgICAgICAgICAiODIxNEI2QkVBQUMyMUM4ODA3QTJDMzNGOEM5M0JENDJCMDkyQ0MxQjA2Q0VERjMyMjRENUVEMUVDMjk3ODQiKworICAgICAgICAgICAgIjQ0NEYyMkUwOEE1NUFBNTg1NDJCNTI0QjAyQ0QzRDVENUY2OTA3QUZFNzFDNUQ3NDYyMjI0QTNGOUQ5RTUzIisKKyAgICAgICAgICAgICJFN0UwODQ2RENCQjRDRSIpLAorICAgICAgICAgICIxMzUxMTQ1MDhERDYzRTI3OUU3MDlDMjZGNzgxN0MwNDgyNzY2Q0RFNDkxMzJFM0VERjJFRUREODk5NkY0RTM1IisKKyAgICAgICAgICAiOTZEMTg0MTAwQjM4NDg2ODI0OUYxRDhCOEZEQUEyQzkiKQorCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfNTEyXzAoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfNTEyJywgYiIiLAorICAgICAgICAgICIwRUFCNDJERTRDM0NFQjkyMzVGQzkxQUNGRkU3NDZCMjlDMjlBOEMzNjZCN0M2MEU0RTY3QzQ2NkYzNkE0MzA0IisKKyAgICAgICAgICAiQzAwRkE5Q0FGOUQ4Nzk3NkJBNDY5QkNCRTA2NzEzQjQzNUYwOTFFRjI3NjlGQjE2MENEQUIzM0QzNjcwNjgwRSIpCisKKyAgICBkZWYgdGVzdF9jYXNlX3NoYTNfNTEyXzEoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2soJ3NoYTNfNTEyJywgYnl0ZXMuZnJvbWhleCgiQ0MiKSwKKyAgICAgICAgICAiODYzMEMxM0NCRDA2NkVBNzRCQkU3RkU0NjhGRUMxREVFMTBFREMxMjU0RkI0QzFCN0M1RkQ2OUI2NDZFNDQxNiIrCisgICAgICAgICAgIjBCOENFMDFEMDVBMDkwOENBNzkwREZCMDgwRjRCNTEzQkMzQjYyMjVFQ0U3QTgxMDM3MTQ0MUE1QUM2NjZFQjkiKQorCisgICAgZGVmIHRlc3RfY2FzZV9zaGEzXzUxMl8yKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrKCdzaGEzXzUxMicsIGJ5dGVzLmZyb21oZXgoIjQxRkIiKSwKKyAgICAgICAgICAiNTUxREE2MjM2RjhCOTZGQ0U5Rjk3RjExOTBFOTAxMzI0RjBCNDVFMDZEQkJCNUNEQjgzNTVENkVEMURDMzRCMyIrCisgICAgICAgICAgIkYwRUFFN0RDQjY4NjIyRkYyMzJGQTNDRUNFMEQ0NjE2Q0RFQjM5MzFGOTM4MDM2NjJBMjhERjFDRDUzNUI3MzEiKQorCisgICAgZGVmIHRlc3RfY2FzZV9zaGEzXzUxMl8zKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrKCdzaGEzXzUxMicsIGJ5dGVzLmZyb21oZXgoCisgICAgICAgICAgICAiNDMzQzUzMDMxMzE2MjRDMDAyMUQ4NjhBMzA4MjU0NzVFOEQwQkQzMDUyQTAyMjE4MDM5OEY0Q0E0NDIzQjkiKworICAgICAgICAgICAgIjgyMTRCNkJFQUFDMjFDODgwN0EyQzMzRjhDOTNCRDQyQjA5MkNDMUIwNkNFREYzMjI0RDVFRDFFQzI5Nzg0IisKKyAgICAgICAgICAgICI0NDRGMjJFMDhBNTVBQTU4NTQyQjUyNEIwMkNEM0Q1RDVGNjkwN0FGRTcxQzVENzQ2MjIyNEEzRjlEOUU1MyIrCisgICAgICAgICAgICAiRTdFMDg0NkRDQkI0Q0UiKSwKKyAgICAgICAgICAiNTI3RDI4RTM0MUU2QjE0RjQ2ODRBREI0QjgyNEM0OTZDNjQ4MkU1MTE0OTU2NUQzRDE3MjI2ODI4ODg0MzA2QiIrCisgICAgICAgICAgIjUxRDYxNDhBNzI2MjJDMkI3NUY1RDM1MTBCNzk5RDhCREMwM0VBRURFNDUzNjc2QTZFQzhGRTAzQTFBRDBFQUIiKQorCisKICAgICBkZWYgdGVzdF9naWwoc2VsZik6CiAgICAgICAgICMgQ2hlY2sgdGhpbmdzIHdvcmsgZmluZSB3aXRoIGFuIGlucHV0IGxhcmdlciB0aGFuIHRoZSBzaXplIHJlcXVpcmVkCiAgICAgICAgICMgZm9yIG11bHRpdGhyZWFkZWQgb3BlcmF0aW9uICh3aGljaCBpcyBoYXJkd2lyZWQgdG8gMjA0OCkuCiAgICAgICAgIGdpbF9taW5zaXplID0gMjA0OAogCisgICAgICAgIGZvciBuYW1lIGluIHNlbGYuc3VwcG9ydGVkX2hhc2hfbmFtZXM6CisgICAgICAgICAgICBtID0gaGFzaGxpYi5uZXcobmFtZSkKKyAgICAgICAgICAgIG0udXBkYXRlKGInMScpCisgICAgICAgICAgICBtLnVwZGF0ZShiJyMnICogZ2lsX21pbnNpemUpCisgICAgICAgICAgICBtLnVwZGF0ZShiJzEnKQorCisgICAgICAgICAgICBtID0gaGFzaGxpYi5uZXcobmFtZSwgYid4JyAqIGdpbF9taW5zaXplKQorICAgICAgICAgICAgbS51cGRhdGUoYicxJykKKwogICAgICAgICBtID0gaGFzaGxpYi5tZDUoKQogICAgICAgICBtLnVwZGF0ZShiJzEnKQogICAgICAgICBtLnVwZGF0ZShiJyMnICogZ2lsX21pbnNpemUpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkKaW5kZXggODYzZTRiYy4uYjM2ODhhZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weQpAQCAtMjcsOCArMjcsMTAgQEAKICAgICAgICAgc2VsZi50ZXh0ID0gdGV4dAogICAgICAgICBzZWxmLmZpbGVjbGFzcyA9IGZpbGVjbGFzcwogICAgICAgICBzZWxmLmRhdGEgPSBiJycKKyAgICAgICAgc2VsZi5zZW5kYWxsX2NhbGxzID0gMAogCiAgICAgZGVmIHNlbmRhbGwoc2VsZiwgZGF0YSk6CisgICAgICAgIHNlbGYuc2VuZGFsbF9jYWxscyArPSAxCiAgICAgICAgIHNlbGYuZGF0YSArPSBkYXRhCiAKICAgICBkZWYgbWFrZWZpbGUoc2VsZiwgbW9kZSwgYnVmc2l6ZT1Ob25lKToKQEAgLTQ1LDcgKzQ3LDcgQEAKIAogICAgIGRlZiBzZW5kYWxsKHNlbGYsIGRhdGEpOgogICAgICAgICBpZiBzZWxmLnBpcGVfdHJpZ2dlciBpbiBkYXRhOgotICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmVycm9yKGVycm5vLkVQSVBFLCAiZ290Y2hhIikKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoZXJybm8uRVBJUEUsICJnb3RjaGEiKQogICAgICAgICBzZWxmLmRhdGEgKz0gZGF0YQogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgpAQCAtNTg4LDcgKzU5MCw3IEBACiAgICAgICAgICAgICBiIkNvbnRlbnQtTGVuZ3RoIikKICAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlvbigiZXhhbXBsZS5jb20iKQogICAgICAgICBjb25uLnNvY2sgPSBzb2NrCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhOiBjb25uLnJlcXVlc3QoIlBVVCIsICIvdXJsIiwgImJvZHkiKSkKICAgICAgICAgcmVzcCA9IGNvbm4uZ2V0cmVzcG9uc2UoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQwMSwgcmVzcC5zdGF0dXMpCkBAIC02MzQsNiArNjM2LDI4IEBACiAgICAgICAgIHJlc3AuY2xvc2UoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcC5jbG9zZWQpCiAKKyAgICBkZWYgdGVzdF9kZWxheWVkX2Fja19vcHQoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGF0IE5hZ2xlL2RlbGF5ZWRfYWNrIG9wdGltaXN0YWlvbiB3b3JrcyBjb3JyZWN0bHkuCisKKyAgICAgICAgIyBGb3Igc21hbGwgcGF5bG9hZHMsIGl0IHNob3VsZCBjb2FsZXNjZSB0aGUgYm9keSB3aXRoCisgICAgICAgICMgaGVhZGVycywgcmVzdWx0aW5nIGluIGEgc2luZ2xlIHNlbmRhbGwoKSBjYWxsCisgICAgICAgIGNvbm4gPSBjbGllbnQuSFRUUENvbm5lY3Rpb24oJ2V4YW1wbGUuY29tJykKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoTm9uZSkKKyAgICAgICAgY29ubi5zb2NrID0gc29jaworICAgICAgICBib2R5ID0gYid4JyAqIChjb25uLm1zcyAtIDEpCisgICAgICAgIGNvbm4ucmVxdWVzdCgnUE9TVCcsICcvJywgYm9keSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb2NrLnNlbmRhbGxfY2FsbHMsIDEpCisKKyAgICAgICAgIyBGb3IgbGFyZ2UgcGF5bG9hZHMsIGl0IHNob3VsZCBzZW5kIHRoZSBoZWFkZXJzIGFuZAorICAgICAgICAjIHRoZW4gdGhlIGJvZHksIHJlc3VsdGluZyBpbiBtb3JlIHRoYW4gb25lIHNlbmRhbGwoKQorICAgICAgICAjIGNhbGwKKyAgICAgICAgY29ubiA9IGNsaWVudC5IVFRQQ29ubmVjdGlvbignZXhhbXBsZS5jb20nKQorICAgICAgICBzb2NrID0gRmFrZVNvY2tldChOb25lKQorICAgICAgICBjb25uLnNvY2sgPSBzb2NrCisgICAgICAgIGJvZHkgPSBiJ3gnICogY29ubi5tc3MKKyAgICAgICAgY29ubi5yZXF1ZXN0KCdQT1NUJywgJy8nLCBib2R5KQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoc29jay5zZW5kYWxsX2NhbGxzLCAxKQorCiBjbGFzcyBPZmZsaW5lVGVzdChUZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfcmVzcG9uc2VzKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNsaWVudC5yZXNwb25zZXNbY2xpZW50Lk5PVF9GT1VORF0sICJOb3QgRm91bmQiKQpAQCAtNzI0LDcgKzc0OCw3IEBACiAKICAgICBkZWYgbWFrZV9zZXJ2ZXIoc2VsZiwgY2VydGZpbGUpOgogICAgICAgICBmcm9tIHRlc3Quc3NsX3NlcnZlcnMgaW1wb3J0IG1ha2VfaHR0cHNfc2VydmVyCi0gICAgICAgIHJldHVybiBtYWtlX2h0dHBzX3NlcnZlcihzZWxmLCBjZXJ0ZmlsZSkKKyAgICAgICAgcmV0dXJuIG1ha2VfaHR0cHNfc2VydmVyKHNlbGYsIGNlcnRmaWxlPWNlcnRmaWxlKQogCiAgICAgZGVmIHRlc3RfYXR0cmlidXRlcyhzZWxmKToKICAgICAgICAgIyBzaW1wbGUgdGVzdCB0byBjaGVjayBpdCdzIHN0b3JpbmcgdGhlIHRpbWVvdXQKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHR0cHNlcnZlcnMucHkgYi9MaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJzLnB5CmluZGV4IDAzYzA3NzYuLmVjNzUxY2MgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cHNlcnZlcnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9odHRwc2VydmVycy5weQpAQCAtOTIsNiArOTIsMTMgQEAKICAgICAgICAgZGVmIGRvX0tFWUVSUk9SKHNlbGYpOgogICAgICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDk5OSkKIAorICAgICAgICBkZWYgZG9fTk9URk9VTkQoc2VsZik6CisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDA0KQorCisgICAgICAgIGRlZiBkb19FWFBMQUlORVJST1Ioc2VsZik6CisgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoOTk5LCAiU2hvcnQgTWVzc2FnZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgaXMgYSBsb25nIFxuIGV4cGxhaW5hdGlvbiIpCisKICAgICAgICAgZGVmIGRvX0NVU1RPTShzZWxmKToKICAgICAgICAgICAgIHNlbGYuc2VuZF9yZXNwb25zZSg5OTkpCiAgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb250ZW50LVR5cGUnLCAndGV4dC9odG1sJykKQEAgLTIwMyw2ICsyMTAsMTIgQEAKICAgICAgICAgcmVzID0gc2VsZi5jb24uZ2V0cmVzcG9uc2UoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIDk5OSkKIAorICAgIGRlZiB0ZXN0X3JldHVybl9leHBsYWluX2Vycm9yKHNlbGYpOgorICAgICAgICBzZWxmLmNvbi5yZXF1ZXN0KCdFWFBMQUlORVJST1InLCAnLycpCisgICAgICAgIHJlcyA9IHNlbGYuY29uLmdldHJlc3BvbnNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuc3RhdHVzLCA5OTkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnQocmVzLmdldGhlYWRlcignQ29udGVudC1MZW5ndGgnKSkpCisKICAgICBkZWYgdGVzdF9sYXRpbjFfaGVhZGVyKHNlbGYpOgogICAgICAgICBzZWxmLmNvbi5yZXF1ZXN0KCdMQVRJTk9ORUhFQURFUicsICcvJywgaGVhZGVycz17CiAgICAgICAgICAgICAnWC1TcGVjaWFsLUluY29taW5nJzogICAgICAgJ8OEcmdlciBtaXQgVW5pY29kZScKQEAgLTIxMSw2ICsyMjQsMTQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMuZ2V0aGVhZGVyKCdYLVNwZWNpYWwnKSwgJ0TDpG5nZXJvdXMgTWluZCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLnJlYWQoKSwgJ8OEcmdlciBtaXQgVW5pY29kZScuZW5jb2RlKCd1dGYtOCcpKQogCisgICAgZGVmIHRlc3RfZXJyb3JfY29udGVudF9sZW5ndGgoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzE2MDg4OiBzdGFuZGFyZCBlcnJvciByZXNwb25zZXMgc2hvdWxkIGhhdmUgYSBjb250ZW50LWxlbmd0aAorICAgICAgICBzZWxmLmNvbi5yZXF1ZXN0KCdOT1RGT1VORCcsICcvJykKKyAgICAgICAgcmVzID0gc2VsZi5jb24uZ2V0cmVzcG9uc2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcy5zdGF0dXMsIDQwNCkKKyAgICAgICAgZGF0YSA9IHJlcy5yZWFkKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnQocmVzLmdldGhlYWRlcignQ29udGVudC1MZW5ndGgnKSksIGxlbihkYXRhKSkKKwogCiBjbGFzcyBTaW1wbGVIVFRQU2VydmVyVGVzdENhc2UoQmFzZVRlc3RDYXNlKToKICAgICBjbGFzcyByZXF1ZXN0X2hhbmRsZXIoTm9Mb2dSZXF1ZXN0SGFuZGxlciwgU2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1hcGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfaW1hcGxpYi5weQppbmRleCA3ZGIzZjdkLi5jMzdlYTFkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbWFwbGliLnB5CkBAIC0xMjUsNyArMTI1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICMgTmFrZWQgc29ja2V0cyByZXR1cm4gZW1wdHkgc3RyaW5ncy4uCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICAgICAgbGluZSArPSBwYXJ0Ci0gICAgICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICMgLi5idXQgU1NMU29ja2V0cyByYWlzZSBleGNlcHRpb25zLgogICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgICAgICBpZiBsaW5lLmVuZHN3aXRoKGInXHJcbicpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXAucHkgYi9MaWIvdGVzdC90ZXN0X2ltcC5weQppbmRleCA3MmFlMTQ1Li4yZDc1NzI0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ltcC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcC5weQpAQCAtMjE5LDYgKzIxOSwyMCBAQAogICAgICAgICBtb2QgPSBpbXAubG9hZF9tb2R1bGUoZXhhbXBsZSwgKngpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kLl9fbmFtZV9fLCBleGFtcGxlKQogCisgICAgZGVmIHRlc3RfaXNzdWUxNjQyMV9tdWx0aXBsZV9tb2R1bGVzX2luX29uZV9kbGwoc2VsZik6CisgICAgICAgICMgSXNzdWUgMTY0MjE6IGxvYWRpbmcgc2V2ZXJhbCBtb2R1bGVzIGZyb20gdGhlIHNhbWUgY29tcGlsZWQgZmlsZSBmYWlscworICAgICAgICBtID0gJ190ZXN0aW1wb3J0bXVsdGlwbGUnCisgICAgICAgIGZpbGVvYmosIHBhdGhuYW1lLCBkZXNjcmlwdGlvbiA9IGltcC5maW5kX21vZHVsZShtKQorICAgICAgICBmaWxlb2JqLmNsb3NlKCkKKyAgICAgICAgbW9kMCA9IGltcC5sb2FkX2R5bmFtaWMobSwgcGF0aG5hbWUpCisgICAgICAgIG1vZDEgPSBpbXAubG9hZF9keW5hbWljKCdfdGVzdGltcG9ydG11bHRpcGxlX2ZvbycsIHBhdGhuYW1lKQorICAgICAgICBtb2QyID0gaW1wLmxvYWRfZHluYW1pYygnX3Rlc3RpbXBvcnRtdWx0aXBsZV9iYXInLCBwYXRobmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2QwLl9fbmFtZV9fLCBtKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZDEuX19uYW1lX18sICdfdGVzdGltcG9ydG11bHRpcGxlX2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kMi5fX25hbWVfXywgJ190ZXN0aW1wb3J0bXVsdGlwbGVfYmFyJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CisgICAgICAgICAgICBpbXAubG9hZF9keW5hbWljKCdub25leGlzdGVudCcsIHBhdGhuYW1lKQorCiAgICAgZGVmIHRlc3RfbG9hZF9keW5hbWljX0ltcG9ydEVycm9yX3BhdGgoc2VsZik6CiAgICAgICAgICMgSXNzdWUgIzE1NTk1NDkgYWRkZWQgYG5hbWVgIGFuZCBgcGF0aGAgYXR0cmlidXRlcyB0byBJbXBvcnRFcnJvcgogICAgICAgICAjIGluIG9yZGVyIHRvIHByb3ZpZGUgYmV0dGVyIGRldGFpbC4gSXNzdWUgIzEwODU0IGltcGxlbWVudGVkIHRob3NlCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfX19sb2FkZXJfXy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL2ltcG9ydF8vdGVzdF9fX2xvYWRlcl9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMGQzZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9pbXBvcnRfL3Rlc3RfX19sb2FkZXJfXy5weQpAQCAtMCwwICsxLDQ0IEBACitpbXBvcnQgaW1wCitpbXBvcnQgc3lzCitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSAuLiBpbXBvcnQgdXRpbAorZnJvbSAuIGltcG9ydCB1dGlsIGFzIGltcG9ydF91dGlsCisKKworY2xhc3MgTG9hZGVyTW9jazoKKworICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0aD1Ob25lKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBmdWxsbmFtZSk6CisgICAgICAgIHN5cy5tb2R1bGVzW2Z1bGxuYW1lXSA9IHNlbGYubW9kdWxlCisgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZQorCisKK2NsYXNzIExvYWRlckF0dHJpYnV0ZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X19fbG9hZGVyX19fbWlzc2luZyhzZWxmKToKKyAgICAgICAgbW9kdWxlID0gaW1wLm5ld19tb2R1bGUoJ2JsYWgnKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBkZWwgbW9kdWxlLl9fbG9hZGVyX18KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBsb2FkZXIgPSBMb2FkZXJNb2NrKCkKKyAgICAgICAgbG9hZGVyLm1vZHVsZSA9IG1vZHVsZQorICAgICAgICB3aXRoIHV0aWwudW5jYWNoZSgnYmxhaCcpLCB1dGlsLmltcG9ydF9zdGF0ZShtZXRhX3BhdGg9W2xvYWRlcl0pOgorICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0X3V0aWwuaW1wb3J0XygnYmxhaCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9hZGVyLCBtb2R1bGUuX19sb2FkZXJfXykKKworICAgIGRlZiB0ZXN0X19fbG9hZGVyX19faXNfTm9uZShzZWxmKToKKyAgICAgICAgbW9kdWxlID0gaW1wLm5ld19tb2R1bGUoJ2JsYWgnKQorICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IE5vbmUKKyAgICAgICAgbG9hZGVyID0gTG9hZGVyTW9jaygpCisgICAgICAgIGxvYWRlci5tb2R1bGUgPSBtb2R1bGUKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoJ2JsYWgnKSwgdXRpbC5pbXBvcnRfc3RhdGUobWV0YV9wYXRoPVtsb2FkZXJdKToKKyAgICAgICAgICAgIHJldHVybmVkX21vZHVsZSA9IGltcG9ydF91dGlsLmltcG9ydF8oJ2JsYWgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvYWRlciwgbW9kdWxlLl9fbG9hZGVyX18pCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2FiY19sb2FkZXIucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi9zb3VyY2UvdGVzdF9hYmNfbG9hZGVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDkxMmI2Li4wMDAwMDAwCi0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2FiY19sb2FkZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw5MDYgKzAsMCBAQAotaW1wb3J0IGltcG9ydGxpYgotZnJvbSBpbXBvcnRsaWIgaW1wb3J0IGFiYwotCi1mcm9tIC4uIGltcG9ydCBhYmMgYXMgdGVzdGluZ19hYmMKLWZyb20gLi4gaW1wb3J0IHV0aWwKLWZyb20gLiBpbXBvcnQgdXRpbCBhcyBzb3VyY2VfdXRpbAotCi1pbXBvcnQgaW1wCi1pbXBvcnQgaW5zcGVjdAotaW1wb3J0IGlvCi1pbXBvcnQgbWFyc2hhbAotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi1pbXBvcnQgdHlwZXMKLWltcG9ydCB1bml0dGVzdAotaW1wb3J0IHdhcm5pbmdzCi0KLQotY2xhc3MgU291cmNlT25seUxvYWRlck1vY2soYWJjLlNvdXJjZUxvYWRlcik6Ci0KLSAgICAjIEdsb2JhbHMgdGhhdCBzaG91bGQgYmUgZGVmaW5lZCBmb3IgYWxsIG1vZHVsZXMuCi0gICAgc291cmNlID0gKGIiXyA9ICc6Oicuam9pbihbX19uYW1lX18sIF9fZmlsZV9fLCBfX2NhY2hlZF9fLCBfX3BhY2thZ2VfXywgIgotICAgICAgICAgICAgICBiInJlcHIoX19sb2FkZXJfXyldKSIpCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aCk6Ci0gICAgICAgIHNlbGYucGF0aCA9IHBhdGgKLQotICAgIGRlZiBnZXRfZGF0YShzZWxmLCBwYXRoKToKLSAgICAgICAgYXNzZXJ0IHNlbGYucGF0aCA9PSBwYXRoCi0gICAgICAgIHJldHVybiBzZWxmLnNvdXJjZQotCi0gICAgZGVmIGdldF9maWxlbmFtZShzZWxmLCBmdWxsbmFtZSk6Ci0gICAgICAgIHJldHVybiBzZWxmLnBhdGgKLQotICAgIGRlZiBtb2R1bGVfcmVwcihzZWxmLCBtb2R1bGUpOgotICAgICAgICByZXR1cm4gJzxtb2R1bGU+JwotCi0KLWNsYXNzIFNvdXJjZUxvYWRlck1vY2soU291cmNlT25seUxvYWRlck1vY2spOgotCi0gICAgc291cmNlX210aW1lID0gMQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgsIG1hZ2ljPWltcC5nZXRfbWFnaWMoKSk6Ci0gICAgICAgIHN1cGVyKCkuX19pbml0X18ocGF0aCkKLSAgICAgICAgc2VsZi5ieXRlY29kZV9wYXRoID0gaW1wLmNhY2hlX2Zyb21fc291cmNlKHNlbGYucGF0aCkKLSAgICAgICAgc2VsZi5zb3VyY2Vfc2l6ZSA9IGxlbihzZWxmLnNvdXJjZSkKLSAgICAgICAgZGF0YSA9IGJ5dGVhcnJheShtYWdpYykKLSAgICAgICAgZGF0YS5leHRlbmQoaW1wb3J0bGliLl93X2xvbmcoc2VsZi5zb3VyY2VfbXRpbWUpKQotICAgICAgICBkYXRhLmV4dGVuZChpbXBvcnRsaWIuX3dfbG9uZyhzZWxmLnNvdXJjZV9zaXplKSkKLSAgICAgICAgY29kZV9vYmplY3QgPSBjb21waWxlKHNlbGYuc291cmNlLCBzZWxmLnBhdGgsICdleGVjJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9udF9pbmhlcml0PVRydWUpCi0gICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuZHVtcHMoY29kZV9vYmplY3QpKQotICAgICAgICBzZWxmLmJ5dGVjb2RlID0gYnl0ZXMoZGF0YSkKLSAgICAgICAgc2VsZi53cml0dGVuID0ge30KLQotICAgIGRlZiBnZXRfZGF0YShzZWxmLCBwYXRoKToKLSAgICAgICAgaWYgcGF0aCA9PSBzZWxmLnBhdGg6Ci0gICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRfZGF0YShwYXRoKQotICAgICAgICBlbGlmIHBhdGggPT0gc2VsZi5ieXRlY29kZV9wYXRoOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuYnl0ZWNvZGUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IKLQotICAgIGRlZiBwYXRoX3N0YXRzKHNlbGYsIHBhdGgpOgotICAgICAgICBhc3NlcnQgcGF0aCA9PSBzZWxmLnBhdGgKLSAgICAgICAgcmV0dXJuIHsnbXRpbWUnOiBzZWxmLnNvdXJjZV9tdGltZSwgJ3NpemUnOiBzZWxmLnNvdXJjZV9zaXplfQotCi0gICAgZGVmIHNldF9kYXRhKHNlbGYsIHBhdGgsIGRhdGEpOgotICAgICAgICBzZWxmLndyaXR0ZW5bcGF0aF0gPSBieXRlcyhkYXRhKQotICAgICAgICByZXR1cm4gcGF0aCA9PSBzZWxmLmJ5dGVjb2RlX3BhdGgKLQotCi1jbGFzcyBQeUxvYWRlck1vY2soYWJjLlB5TG9hZGVyKToKLQotICAgICMgR2xvYmFscyB0aGF0IHNob3VsZCBiZSBkZWZpbmVkIGZvciBhbGwgbW9kdWxlcy4KLSAgICBzb3VyY2UgPSAoYiJfID0gJzo6Jy5qb2luKFtfX25hbWVfXywgX19maWxlX18sIF9fcGFja2FnZV9fLCAiCi0gICAgICAgICAgICAgIGIicmVwcihfX2xvYWRlcl9fKV0pIikKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkYXRhKToKLSAgICAgICAgIiIiVGFrZSBhIGRpY3Qgb2YgJ21vZHVsZV9uYW1lOiBwYXRoJyBwYWlyaW5ncy4KLQotICAgICAgICBQYXRocyBzaG91bGQgaGF2ZSBubyBmaWxlIGV4dGVuc2lvbiwgYWxsb3dpbmcgcGFja2FnZXMgdG8gYmUgZGVub3RlZCBieQotICAgICAgICBlbmRpbmcgaW4gJ19faW5pdF9fJy4KLQotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5tb2R1bGVfcGF0aHMgPSBkYXRhCi0gICAgICAgIHNlbGYucGF0aF90b19tb2R1bGUgPSB7dmFsOmtleSBmb3Iga2V5LHZhbCBpbiBkYXRhLml0ZW1zKCl9Ci0KLSAgICBkZWYgZ2V0X2RhdGEoc2VsZiwgcGF0aCk6Ci0gICAgICAgIGlmIHBhdGggbm90IGluIHNlbGYucGF0aF90b19tb2R1bGU6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yCi0gICAgICAgIHJldHVybiBzZWxmLnNvdXJjZQotCi0gICAgZGVmIGlzX3BhY2thZ2Uoc2VsZiwgbmFtZSk6Ci0gICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5iYXNlbmFtZShzZWxmLmdldF9maWxlbmFtZShuYW1lKSkKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguc3BsaXRleHQoZmlsZW5hbWUpWzBdID09ICdfX2luaXRfXycKLQotICAgIGRlZiBzb3VyY2VfcGF0aChzZWxmLCBuYW1lKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlX3BhdGhzW25hbWVdCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCi0KLSAgICBkZWYgZ2V0X2ZpbGVuYW1lKHNlbGYsIG5hbWUpOgotICAgICAgICAiIiJTaWxlbmNlIGRlcHJlY2F0aW9uIHdhcm5pbmcuIiIiCi0gICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6Ci0gICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImFsd2F5cyIpCi0gICAgICAgICAgICBwYXRoID0gc3VwZXIoKS5nZXRfZmlsZW5hbWUobmFtZSkKLSAgICAgICAgICAgIGFzc2VydCBsZW4odykgPT0gMQotICAgICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3Mod1swXS5jYXRlZ29yeSwgRGVwcmVjYXRpb25XYXJuaW5nKQotICAgICAgICAgICAgcmV0dXJuIHBhdGgKLQotICAgIGRlZiBtb2R1bGVfcmVwcihzZWxmKToKLSAgICAgICAgcmV0dXJuICc8bW9kdWxlPicKLQotCi1jbGFzcyBQeUxvYWRlckNvbXBhdE1vY2soUHlMb2FkZXJNb2NrKToKLQotICAgICIiIk1vY2sgdGhhdCBtYXRjaGVzIHdoYXQgaXMgc3VnZ2VzdGVkIHRvIGhhdmUgYSBsb2FkZXIgdGhhdCBpcyBjb21wYXRpYmxlCi0gICAgZnJvbSBQeXRob24gMy4xIG9ud2FyZHMuIiIiCi0KLSAgICBkZWYgZ2V0X2ZpbGVuYW1lKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlX3BhdGhzW2Z1bGxuYW1lXQotICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgotCi0gICAgZGVmIHNvdXJjZV9wYXRoKHNlbGYsIGZ1bGxuYW1lKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2V0X2ZpbGVuYW1lKGZ1bGxuYW1lKQotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotCi0KLWNsYXNzIFB5UHljTG9hZGVyTW9jayhhYmMuUHlQeWNMb2FkZXIsIFB5TG9hZGVyTW9jayk6Ci0KLSAgICBkZWZhdWx0X210aW1lID0gMQotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZSwgYmM9e30pOgotICAgICAgICAiIiJJbml0aWFsaXplIG1vY2suCi0KLSAgICAgICAgJ2JjJyBpcyBhIGRpY3Qga2V5ZWQgb24gYSBtb2R1bGUncyBuYW1lLiBUaGUgdmFsdWUgaXMgZGljdCB3aXRoCi0gICAgICAgIHBvc3NpYmxlIGtleXMgb2YgJ3BhdGgnLCAnbXRpbWUnLCAnbWFnaWMnLCBhbmQgJ2JjJy4gRXhjZXB0IGZvciAncGF0aCcsCi0gICAgICAgIGVhY2ggb2YgdGhvc2Uga2V5cyBjb250cm9sIGlmIGFueSBwYXJ0IG9mIGNyZWF0ZWQgYnl0ZWNvZGUgaXMgdG8KLSAgICAgICAgZGV2aWF0ZSBmcm9tIGRlZmF1bHQgdmFsdWVzLgotCi0gICAgICAgICIiIgotICAgICAgICBzdXBlcigpLl9faW5pdF9fKHNvdXJjZSkKLSAgICAgICAgc2VsZi5tb2R1bGVfYnl0ZWNvZGUgPSB7fQotICAgICAgICBzZWxmLnBhdGhfdG9fYnl0ZWNvZGUgPSB7fQotICAgICAgICBzZWxmLmJ5dGVjb2RlX3RvX3BhdGggPSB7fQotICAgICAgICBmb3IgbmFtZSwgZGF0YSBpbiBiYy5pdGVtcygpOgotICAgICAgICAgICAgc2VsZi5wYXRoX3RvX2J5dGVjb2RlW2RhdGFbJ3BhdGgnXV0gPSBuYW1lCi0gICAgICAgICAgICBzZWxmLmJ5dGVjb2RlX3RvX3BhdGhbbmFtZV0gPSBkYXRhWydwYXRoJ10KLSAgICAgICAgICAgIG1hZ2ljID0gZGF0YS5nZXQoJ21hZ2ljJywgaW1wLmdldF9tYWdpYygpKQotICAgICAgICAgICAgbXRpbWUgPSBpbXBvcnRsaWIuX3dfbG9uZyhkYXRhLmdldCgnbXRpbWUnLCBzZWxmLmRlZmF1bHRfbXRpbWUpKQotICAgICAgICAgICAgc291cmNlX3NpemUgPSBpbXBvcnRsaWIuX3dfbG9uZyhsZW4oc2VsZi5zb3VyY2UpICYgMHhGRkZGRkZGRikKLSAgICAgICAgICAgIGlmICdiYycgaW4gZGF0YToKLSAgICAgICAgICAgICAgICBiYyA9IGRhdGFbJ2JjJ10KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYmMgPSBzZWxmLmNvbXBpbGVfYmMobmFtZSkKLSAgICAgICAgICAgIHNlbGYubW9kdWxlX2J5dGVjb2RlW25hbWVdID0gbWFnaWMgKyBtdGltZSArIHNvdXJjZV9zaXplICsgYmMKLQotICAgIGRlZiBjb21waWxlX2JjKHNlbGYsIG5hbWUpOgotICAgICAgICBzb3VyY2VfcGF0aCA9IHNlbGYubW9kdWxlX3BhdGhzLmdldChuYW1lLCAnPHRlc3Q+Jykgb3IgJzx0ZXN0PicKLSAgICAgICAgY29kZSA9IGNvbXBpbGUoc2VsZi5zb3VyY2UsIHNvdXJjZV9wYXRoLCAnZXhlYycpCi0gICAgICAgIHJldHVybiBtYXJzaGFsLmR1bXBzKGNvZGUpCi0KLSAgICBkZWYgc291cmNlX210aW1lKHNlbGYsIG5hbWUpOgotICAgICAgICBpZiBuYW1lIGluIHNlbGYubW9kdWxlX3BhdGhzOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGVmYXVsdF9tdGltZQotICAgICAgICBlbGlmIG5hbWUgaW4gc2VsZi5tb2R1bGVfYnl0ZWNvZGU6Ci0gICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IKLQotICAgIGRlZiBieXRlY29kZV9wYXRoKHNlbGYsIG5hbWUpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5ieXRlY29kZV90b19wYXRoW25hbWVdCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIGlmIG5hbWUgaW4gc2VsZi5tb2R1bGVfcGF0aHM6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IKLQotICAgIGRlZiB3cml0ZV9ieXRlY29kZShzZWxmLCBuYW1lLCBieXRlY29kZSk6Ci0gICAgICAgIHNlbGYubW9kdWxlX2J5dGVjb2RlW25hbWVdID0gYnl0ZWNvZGUKLSAgICAgICAgcmV0dXJuIFRydWUKLQotICAgIGRlZiBnZXRfZGF0YShzZWxmLCBwYXRoKToKLSAgICAgICAgaWYgcGF0aCBpbiBzZWxmLnBhdGhfdG9fbW9kdWxlOgotICAgICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X2RhdGEocGF0aCkKLSAgICAgICAgZWxpZiBwYXRoIGluIHNlbGYucGF0aF90b19ieXRlY29kZToKLSAgICAgICAgICAgIG5hbWUgPSBzZWxmLnBhdGhfdG9fYnl0ZWNvZGVbcGF0aF0KLSAgICAgICAgICAgIHJldHVybiBzZWxmLm1vZHVsZV9ieXRlY29kZVtuYW1lXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcgotCi0gICAgZGVmIGlzX3BhY2thZ2Uoc2VsZiwgbmFtZSk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzdXBlcigpLmlzX3BhY2thZ2UobmFtZSkKLSAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybiAnX19pbml0X18nIGluIHNlbGYuYnl0ZWNvZGVfdG9fcGF0aFtuYW1lXQotCi0gICAgZGVmIGdldF9jb2RlKHNlbGYsIG5hbWUpOgotICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKSBhcyB3OgotICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQotICAgICAgICAgICAgY29kZV9vYmplY3QgPSBzdXBlcigpLmdldF9jb2RlKG5hbWUpCi0gICAgICAgICAgICBhc3NlcnQgbGVuKHcpID09IDEKLSAgICAgICAgICAgIGFzc2VydCBpc3N1YmNsYXNzKHdbMF0uY2F0ZWdvcnksIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAgICAgICAgIHJldHVybiBjb2RlX29iamVjdAotCi1jbGFzcyBQeUxvYWRlclRlc3RzKHRlc3RpbmdfYWJjLkxvYWRlclRlc3RzKToKLQotICAgICIiIlRlc3RzIGZvciBpbXBvcnRsaWIuYWJjLlB5TG9hZGVyLiIiIgotCi0gICAgbW9ja2VyID0gUHlMb2FkZXJNb2NrCi0KLSAgICBkZWYgZXFfYXR0cnMoc2VsZiwgb2IsICoqa3dhcmdzKToKLSAgICAgICAgZm9yIGF0dHIsIHZhbCBpbiBrd2FyZ3MuaXRlbXMoKToKLSAgICAgICAgICAgIGZvdW5kID0gZ2V0YXR0cihvYiwgYXR0cikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm91bmQsIHZhbCwKLSAgICAgICAgICAgICAgICAgICAgInt9IGF0dHJpYnV0ZToge30gIT0ge30iLmZvcm1hdChhdHRyLCBmb3VuZCwgdmFsKSkKLQotICAgIGRlZiB0ZXN0X21vZHVsZShzZWxmKToKLSAgICAgICAgbmFtZSA9ICc8bW9kdWxlPicKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbignJywgJ3BhdGgnLCAndG8nLCAnbW9kdWxlJykKLSAgICAgICAgbW9jayA9IHNlbGYubW9ja2VyKHtuYW1lOiBwYXRofSkKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICBtb2R1bGUgPSBtb2NrLmxvYWRfbW9kdWxlKG5hbWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIHN5cy5tb2R1bGVzKQotICAgICAgICBzZWxmLmVxX2F0dHJzKG1vZHVsZSwgX19uYW1lX189bmFtZSwgX19maWxlX189cGF0aCwgX19wYWNrYWdlX189JycsCi0gICAgICAgICAgICAgICAgICAgICAgICBfX2xvYWRlcl9fPW1vY2spCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpKQotICAgICAgICByZXR1cm4gbW9jaywgbmFtZQotCi0gICAgZGVmIHRlc3RfcGFja2FnZShzZWxmKToKLSAgICAgICAgbmFtZSA9ICc8cGtnPicKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsIG5hbWUsICdfX2luaXRfXycpCi0gICAgICAgIG1vY2sgPSBzZWxmLm1vY2tlcih7bmFtZTogcGF0aH0pCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgbW9kdWxlID0gbW9jay5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihuYW1lLCBzeXMubW9kdWxlcykKLSAgICAgICAgc2VsZi5lcV9hdHRycyhtb2R1bGUsIF9fbmFtZV9fPW5hbWUsIF9fZmlsZV9fPXBhdGgsCi0gICAgICAgICAgICAgICAgX19wYXRoX189W29zLnBhdGguZGlybmFtZShwYXRoKV0sIF9fcGFja2FnZV9fPW5hbWUsCi0gICAgICAgICAgICAgICAgX19sb2FkZXJfXz1tb2NrKQotICAgICAgICByZXR1cm4gbW9jaywgbmFtZQotCi0gICAgZGVmIHRlc3RfbGFja2luZ19wYXJlbnQoc2VsZik6Ci0gICAgICAgIG5hbWUgPSAncGtnLm1vZCcKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsICdwa2cnLCAnbW9kJykKLSAgICAgICAgbW9jayA9IHNlbGYubW9ja2VyKHtuYW1lOiBwYXRofSkKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICBtb2R1bGUgPSBtb2NrLmxvYWRfbW9kdWxlKG5hbWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIHN5cy5tb2R1bGVzKQotICAgICAgICBzZWxmLmVxX2F0dHJzKG1vZHVsZSwgX19uYW1lX189bmFtZSwgX19maWxlX189cGF0aCwgX19wYWNrYWdlX189J3BrZycsCi0gICAgICAgICAgICAgICAgICAgICAgICBfX2xvYWRlcl9fPW1vY2spCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpKQotICAgICAgICByZXR1cm4gbW9jaywgbmFtZQotCi0gICAgZGVmIHRlc3RfbW9kdWxlX3JldXNlKHNlbGYpOgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsICdtb2QnKQotICAgICAgICBtb2R1bGUgPSBpbXAubmV3X21vZHVsZShuYW1lKQotICAgICAgICBtb2NrID0gc2VsZi5tb2NrZXIoe25hbWU6IHBhdGh9KQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKLSAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCi0gICAgICAgICAgICBsb2FkZWRfbW9kdWxlID0gbW9jay5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhsb2FkZWRfbW9kdWxlLCBtb2R1bGUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydElzKHN5cy5tb2R1bGVzW25hbWVdLCBtb2R1bGUpCi0gICAgICAgIHJldHVybiBtb2NrLCBuYW1lCi0KLSAgICBkZWYgdGVzdF9zdGF0ZV9hZnRlcl9mYWlsdXJlKHNlbGYpOgotICAgICAgICBuYW1lID0gIm1vZCIKLSAgICAgICAgbW9kdWxlID0gaW1wLm5ld19tb2R1bGUobmFtZSkKLSAgICAgICAgbW9kdWxlLmJsYWggPSBOb25lCi0gICAgICAgIG1vY2sgPSBzZWxmLm1vY2tlcih7bmFtZTogb3MucGF0aC5qb2luKCdwYXRoJywgJ3RvJywgJ21vZCcpfSkKLSAgICAgICAgbW9jay5zb3VyY2UgPSBiIjEvMCIKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvcik6Ci0gICAgICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzeXMubW9kdWxlc1tuYW1lXSwgbW9kdWxlKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIobW9kdWxlLCAnYmxhaCcpKQotICAgICAgICByZXR1cm4gbW9jawotCi0gICAgZGVmIHRlc3RfdW5sb2FkYWJsZShzZWxmKToKLSAgICAgICAgbmFtZSA9ICJtb2QiCi0gICAgICAgIG1vY2sgPSBzZWxmLm1vY2tlcih7bmFtZTogb3MucGF0aC5qb2luKCdwYXRoJywgJ3RvJywgJ21vZCcpfSkKLSAgICAgICAgbW9jay5zb3VyY2UgPSBiIjEvMCIKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yKToKLSAgICAgICAgICAgICAgICBtb2NrLmxvYWRfbW9kdWxlKG5hbWUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKG5hbWUsIHN5cy5tb2R1bGVzKQotICAgICAgICByZXR1cm4gbW9jawotCi0KLWNsYXNzIFB5TG9hZGVyQ29tcGF0VGVzdHMoUHlMb2FkZXJUZXN0cyk6Ci0KLSAgICAiIiJUZXN0IHRoYXQgdGhlIHN1Z2dlc3RlZCBjb2RlIHRvIG1ha2UgYSBsb2FkZXIgdGhhdCBpcyBjb21wYXRpYmxlIGZyb20KLSAgICBQeXRob24gMy4xIGZvcndhcmQgd29ya3MuIiIiCi0KLSAgICBtb2NrZXIgPSBQeUxvYWRlckNvbXBhdE1vY2sKLQotCi1jbGFzcyBQeUxvYWRlckludGVyZmFjZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLQotICAgICIiIlRlc3RzIGZvciBpbXBvcnRsaWIuYWJjLlB5TG9hZGVyIHRvIG1ha2Ugc3VyZSB0aGF0IHdoZW4gc291cmNlX3BhdGgoKQotICAgIGRvZXNuJ3QgcmV0dXJuIGEgcGF0aCBldmVyeXRoaW5nIHdvcmtzIGFzIGV4cGVjdGVkLiIiIgotCi0gICAgZGVmIHRlc3Rfbm9fc291cmNlX3BhdGgoc2VsZik6Ci0gICAgICAgICMgTm8gc291cmNlIHBhdGggc2hvdWxkIGxlYWQgdG8gSW1wb3J0RXJyb3IuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBtb2NrID0gUHlMb2FkZXJNb2NrKHt9KQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKSwgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgotICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotCi0gICAgZGVmIHRlc3Rfc291cmNlX3BhdGhfaXNfTm9uZShzZWxmKToKLSAgICAgICAgbmFtZSA9ICdtb2QnCi0gICAgICAgIG1vY2sgPSBQeUxvYWRlck1vY2soe25hbWU6IE5vbmV9KQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKSwgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgotICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotCi0gICAgZGVmIHRlc3RfZ2V0X2ZpbGVuYW1lX3dpdGhfc291cmNlX3BhdGgoc2VsZik6Ci0gICAgICAgICMgZ2V0X2ZpbGVuYW1lKCkgc2hvdWxkIHJldHVybiB3aGF0IHNvdXJjZV9wYXRoKCkgcmV0dXJucy4KLSAgICAgICAgbmFtZSA9ICdtb2QnCi0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oJ3BhdGgnLCAndG8nLCAnc291cmNlJykKLSAgICAgICAgbW9jayA9IFB5TG9hZGVyTW9jayh7bmFtZTogcGF0aH0pCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmdldF9maWxlbmFtZShuYW1lKSwgcGF0aCkKLQotICAgIGRlZiB0ZXN0X2dldF9maWxlbmFtZV9ub19zb3VyY2VfcGF0aChzZWxmKToKLSAgICAgICAgIyBnZXRfZmlsZW5hbWUoKSBzaG91bGQgcmFpc2UgSW1wb3J0RXJyb3IgaWYgc291cmNlX3BhdGggcmV0dXJucyBOb25lLgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgbW9jayA9IFB5TG9hZGVyTW9jayh7bmFtZTogTm9uZX0pCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpLCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6Ci0gICAgICAgICAgICBtb2NrLmdldF9maWxlbmFtZShuYW1lKQotCi0KLWNsYXNzIFB5UHljTG9hZGVyVGVzdHMoUHlMb2FkZXJUZXN0cyk6Ci0KLSAgICAiIiJUZXN0cyBmb3IgaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlci4iIiIKLQotICAgIG1vY2tlciA9IFB5UHljTG9hZGVyTW9jawotCi0gICAgQHNvdXJjZV91dGlsLndyaXRlc19ieXRlY29kZV9maWxlcwotICAgIGRlZiB2ZXJpZnlfYnl0ZWNvZGUoc2VsZiwgbW9jaywgbmFtZSk6Ci0gICAgICAgIGFzc2VydCBuYW1lIGluIG1vY2subW9kdWxlX3BhdGhzCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4obmFtZSwgbW9jay5tb2R1bGVfYnl0ZWNvZGUpCi0gICAgICAgIG1hZ2ljID0gbW9jay5tb2R1bGVfYnl0ZWNvZGVbbmFtZV1bOjRdCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFnaWMsIGltcC5nZXRfbWFnaWMoKSkKLSAgICAgICAgbXRpbWUgPSBpbXBvcnRsaWIuX3JfbG9uZyhtb2NrLm1vZHVsZV9ieXRlY29kZVtuYW1lXVs0OjhdKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG10aW1lLCAxKQotICAgICAgICBzb3VyY2Vfc2l6ZSA9IG1vY2subW9kdWxlX2J5dGVjb2RlW25hbWVdWzg6MTJdCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1vY2suc291cmNlKSAmIDB4RkZGRkZGRkYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0bGliLl9yX2xvbmcoc291cmNlX3NpemUpKQotICAgICAgICBiYyA9IG1vY2subW9kdWxlX2J5dGVjb2RlW25hbWVdWzEyOl0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiYywgbW9jay5jb21waWxlX2JjKG5hbWUpKQotCi0gICAgZGVmIHRlc3RfbW9kdWxlKHNlbGYpOgotICAgICAgICBtb2NrLCBuYW1lID0gc3VwZXIoKS50ZXN0X21vZHVsZSgpCi0gICAgICAgIHNlbGYudmVyaWZ5X2J5dGVjb2RlKG1vY2ssIG5hbWUpCi0KLSAgICBkZWYgdGVzdF9wYWNrYWdlKHNlbGYpOgotICAgICAgICBtb2NrLCBuYW1lID0gc3VwZXIoKS50ZXN0X3BhY2thZ2UoKQotICAgICAgICBzZWxmLnZlcmlmeV9ieXRlY29kZShtb2NrLCBuYW1lKQotCi0gICAgZGVmIHRlc3RfbGFja2luZ19wYXJlbnQoc2VsZik6Ci0gICAgICAgIG1vY2ssIG5hbWUgPSBzdXBlcigpLnRlc3RfbGFja2luZ19wYXJlbnQoKQotICAgICAgICBzZWxmLnZlcmlmeV9ieXRlY29kZShtb2NrLCBuYW1lKQotCi0gICAgZGVmIHRlc3RfbW9kdWxlX3JldXNlKHNlbGYpOgotICAgICAgICBtb2NrLCBuYW1lID0gc3VwZXIoKS50ZXN0X21vZHVsZV9yZXVzZSgpCi0gICAgICAgIHNlbGYudmVyaWZ5X2J5dGVjb2RlKG1vY2ssIG5hbWUpCi0KLSAgICBkZWYgdGVzdF9zdGF0ZV9hZnRlcl9mYWlsdXJlKHNlbGYpOgotICAgICAgICBzdXBlcigpLnRlc3Rfc3RhdGVfYWZ0ZXJfZmFpbHVyZSgpCi0KLSAgICBkZWYgdGVzdF91bmxvYWRhYmxlKHNlbGYpOgotICAgICAgICBzdXBlcigpLnRlc3RfdW5sb2FkYWJsZSgpCi0KLQotY2xhc3MgUHlQeWNMb2FkZXJJbnRlcmZhY2VUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICAiIiJUZXN0IGZvciB0aGUgaW50ZXJmYWNlIG9mIGltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXIuIiIiCi0KLSAgICBkZWYgZ2V0X2ZpbGVuYW1lX2NoZWNrKHNlbGYsIHNyY19wYXRoLCBiY19wYXRoLCBleHBlY3QpOgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7bmFtZTogc3JjX3BhdGh9LCB7bmFtZTogeydwYXRoJzogYmNfcGF0aH19KQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKLSAgICAgICAgICAgIGFzc2VydCBtb2NrLnNvdXJjZV9wYXRoKG5hbWUpID09IHNyY19wYXRoCi0gICAgICAgICAgICBhc3NlcnQgbW9jay5ieXRlY29kZV9wYXRoKG5hbWUpID09IGJjX3BhdGgKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5nZXRfZmlsZW5hbWUobmFtZSksIGV4cGVjdCkKLQotICAgIGRlZiB0ZXN0X2ZpbGVuYW1lX3dpdGhfc291cmNlX2JjKHNlbGYpOgotICAgICAgICAjIFdoZW4gc291cmNlIGFuZCBieXRlY29kZSBwYXRocyBwcmVzZW50LCByZXR1cm4gdGhlIHNvdXJjZSBwYXRoLgotICAgICAgICBzZWxmLmdldF9maWxlbmFtZV9jaGVjaygnc291cmNlX3BhdGgnLCAnYmNfcGF0aCcsICdzb3VyY2VfcGF0aCcpCi0KLSAgICBkZWYgdGVzdF9maWxlbmFtZV93aXRoX3NvdXJjZV9ub19iYyhzZWxmKToKLSAgICAgICAgIyBXaXRoIHNvdXJjZSBidXQgbm8gYmMsIHJldHVybiBzb3VyY2UgcGF0aC4KLSAgICAgICAgc2VsZi5nZXRfZmlsZW5hbWVfY2hlY2soJ3NvdXJjZV9wYXRoJywgTm9uZSwgJ3NvdXJjZV9wYXRoJykKLQotICAgIGRlZiB0ZXN0X2ZpbGVuYW1lX3dpdGhfbm9fc291cmNlX2JjKHNlbGYpOgotICAgICAgICAjIFdpdGggbm90IHNvdXJjZSBidXQgYmMsIHJldHVybiB0aGUgYmMgcGF0aC4KLSAgICAgICAgc2VsZi5nZXRfZmlsZW5hbWVfY2hlY2soTm9uZSwgJ2JjX3BhdGgnLCAnYmNfcGF0aCcpCi0KLSAgICBkZWYgdGVzdF9maWxlbmFtZV93aXRoX25vX3NvdXJjZV9vcl9iYyhzZWxmKToKLSAgICAgICAgIyBXaXRoIG5vIHNvdXJjZSBvciBiYywgcmFpc2UgSW1wb3J0RXJyb3IuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBtb2NrID0gUHlQeWNMb2FkZXJNb2NrKHtuYW1lOiBOb25lfSwge25hbWU6IHsncGF0aCc6IE5vbmV9fSkKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSksIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKLSAgICAgICAgICAgIG1vY2suZ2V0X2ZpbGVuYW1lKG5hbWUpCi0KLQotY2xhc3MgU2tpcFdyaXRpbmdCeXRlY29kZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLQotICAgICIiIlRlc3QgdGhhdCBieXRlY29kZSBpcyBwcm9wZXJseSBoYW5kbGVkIGJhc2VkIG9uCi0gICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUuIiIiCi0KLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCi0gICAgZGVmIHJ1bl90ZXN0KHNlbGYsIGRvbnRfd3JpdGVfYnl0ZWNvZGUpOgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7bmFtZTogb3MucGF0aC5qb2luKCdwYXRoJywgJ3RvJywgJ21vZCcpfSkKLSAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBkb250X3dyaXRlX2J5dGVjb2RlCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICBzZWxmLmFzc2VydElzTm90KG5hbWUgaW4gbW9jay5tb2R1bGVfYnl0ZWNvZGUsIGRvbnRfd3JpdGVfYnl0ZWNvZGUpCi0KLSAgICBkZWYgdGVzdF9ub19ieXRlY29kZV93cml0dGVuKHNlbGYpOgotICAgICAgICBzZWxmLnJ1bl90ZXN0KFRydWUpCi0KLSAgICBkZWYgdGVzdF9ieXRlY29kZV93cml0dGVuKHNlbGYpOgotICAgICAgICBzZWxmLnJ1bl90ZXN0KEZhbHNlKQotCi0KLWNsYXNzIFJlZ2VuZXJhdGVkQnl0ZWNvZGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICAiIiJUZXN0IHRoYXQgYnl0ZWNvZGUgaXMgcmVnZW5lcmF0ZWQgYXMgZXhwZWN0ZWQuIiIiCi0KLSAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCi0gICAgZGVmIHRlc3RfZGlmZmVyZW50X21hZ2ljKHNlbGYpOgotICAgICAgICAjIEEgZGlmZmVyZW50IG1hZ2ljIG51bWJlciBzaG91bGQgbGVhZCB0byBuZXcgYnl0ZWNvZGUuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBiYWRfbWFnaWMgPSBiJ1x4MDBceDAwXHgwMFx4MDAnCi0gICAgICAgIGFzc2VydCBiYWRfbWFnaWMgIT0gaW1wLmdldF9tYWdpYygpCi0gICAgICAgIG1vY2sgPSBQeVB5Y0xvYWRlck1vY2soe25hbWU6IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsICdtb2QnKX0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtuYW1lOiB7J3BhdGgnOiBvcy5wYXRoLmpvaW4oJ3BhdGgnLCAndG8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb2QuYnl0ZWNvZGUnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWFnaWMnOiBiYWRfbWFnaWN9fSkKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6Ci0gICAgICAgICAgICBtb2NrLmxvYWRfbW9kdWxlKG5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4obmFtZSwgbW9jay5tb2R1bGVfYnl0ZWNvZGUpCi0gICAgICAgIG1hZ2ljID0gbW9jay5tb2R1bGVfYnl0ZWNvZGVbbmFtZV1bOjRdCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFnaWMsIGltcC5nZXRfbWFnaWMoKSkKLQotICAgIEBzb3VyY2VfdXRpbC53cml0ZXNfYnl0ZWNvZGVfZmlsZXMKLSAgICBkZWYgdGVzdF9vbGRfbXRpbWUoc2VsZik6Ci0gICAgICAgICMgQnl0ZWNvZGUgd2l0aCBhbiBvbGRlciBtdGltZSBzaG91bGQgYmUgcmVnZW5lcmF0ZWQuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBvbGRfbXRpbWUgPSBQeVB5Y0xvYWRlck1vY2suZGVmYXVsdF9tdGltZSAtIDEKLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7bmFtZTogb3MucGF0aC5qb2luKCdwYXRoJywgJ3RvJywgJ21vZCcpfSwKLSAgICAgICAgICAgICAgICB7bmFtZTogeydwYXRoJzogJ3BhdGgvdG8vbW9kLmJ5dGVjb2RlJywgJ210aW1lJzogb2xkX210aW1lfX0pCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgotICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIG1vY2subW9kdWxlX2J5dGVjb2RlKQotICAgICAgICBtdGltZSA9IGltcG9ydGxpYi5fcl9sb25nKG1vY2subW9kdWxlX2J5dGVjb2RlW25hbWVdWzQ6OF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXRpbWUsIFB5UHljTG9hZGVyTW9jay5kZWZhdWx0X210aW1lKQotCi0KLWNsYXNzIEJhZEJ5dGVjb2RlRmFpbHVyZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLQotICAgICIiIlRlc3QgaW1wb3J0IGZhaWx1cmVzIHdoZW4gdGhlcmUgaXMgbm8gc291cmNlIGFuZCBwYXJ0cyBvZiB0aGUgYnl0ZWNvZGUKLSAgICBpcyBiYWQuIiIiCi0KLSAgICBkZWYgdGVzdF9iYWRfbWFnaWMoc2VsZik6Ci0gICAgICAgICMgQSBiYWQgbWFnaWMgbnVtYmVyIHNob3VsZCBsZWFkIHRvIGFuIEltcG9ydEVycm9yLgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgYmFkX21hZ2ljID0gYidceDAwXHgwMFx4MDBceDAwJwotICAgICAgICBiYyA9IHtuYW1lOgotICAgICAgICAgICAgICAgIHsncGF0aCc6IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsICdtb2QnKSwKLSAgICAgICAgICAgICAgICAgJ21hZ2ljJzogYmFkX21hZ2ljfX0KLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7bmFtZTogTm9uZX0sIGJjKQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKSwgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpIGFzIGNtOgotICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5uYW1lLCBuYW1lKQotCi0gICAgZGVmIHRlc3Rfbm9fYnl0ZWNvZGUoc2VsZik6Ci0gICAgICAgICMgTWlzc2luZyBjb2RlIG9iamVjdCBieXRlY29kZSBzaG91bGQgbGVhZCB0byBhbiBFT0ZFcnJvci4KLSAgICAgICAgbmFtZSA9ICdtb2QnCi0gICAgICAgIGJjID0ge25hbWU6IHsncGF0aCc6IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsICdtb2QnKSwgJ2JjJzogYicnfX0KLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7bmFtZTogTm9uZX0sIGJjKQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKSwgc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IpOgotICAgICAgICAgICAgbW9jay5sb2FkX21vZHVsZShuYW1lKQotCi0gICAgZGVmIHRlc3RfYmFkX2J5dGVjb2RlKHNlbGYpOgotICAgICAgICAjIE1hbGZvcm1lZCBjb2RlIG9iamVjdCBieXRlY29kZSBzaG91bGQgbGVhZCB0byBhIFZhbHVlRXJyb3IuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBiYyA9IHtuYW1lOiB7J3BhdGgnOiBvcy5wYXRoLmpvaW4oJ3BhdGgnLCAndG8nLCAnbW9kJyksICdiYyc6IGInMTIzNCd9fQotICAgICAgICBtb2NrID0gUHlQeWNMb2FkZXJNb2NrKHtuYW1lOiBOb25lfSwgYmMpCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpLCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKLSAgICAgICAgICAgIG1vY2subG9hZF9tb2R1bGUobmFtZSkKLQotCi1kZWYgcmFpc2VfSW1wb3J0RXJyb3IoKmFyZ3MsICoqa3dhcmdzKToKLSAgICByYWlzZSBJbXBvcnRFcnJvcgotCi1jbGFzcyBNaXNzaW5nUGF0aHNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICAiIiJUZXN0IHdoYXQgaGFwcGVucyB3aGVuIGEgc291cmNlIG9yIGJ5dGVjb2RlIHBhdGggZG9lcyBub3QgZXhpc3QgKGVpdGhlcgotICAgIGZyb20gKl9wYXRoIHJldHVybmluZyBOb25lIG9yIHJhaXNpbmcgSW1wb3J0RXJyb3IpLiIiIgotCi0gICAgZGVmIHRlc3Rfc291cmNlX3BhdGhfTm9uZShzZWxmKToKLSAgICAgICAgIyBCeXRlY29kZSBzaG91bGQgYmUgdXNlZCB3aGVuIHNvdXJjZV9wYXRoIHJldHVybnMgTm9uZSwgYWxvbmcgd2l0aAotICAgICAgICAjIF9fZmlsZV9fIGJlaW5nIHNldCB0byB0aGUgYnl0ZWNvZGUgcGF0aC4KLSAgICAgICAgbmFtZSA9ICdtb2QnCi0gICAgICAgIGJ5dGVjb2RlX3BhdGggPSAncGF0aC90by9tb2QnCi0gICAgICAgIG1vY2sgPSBQeVB5Y0xvYWRlck1vY2soe25hbWU6IE5vbmV9LCB7bmFtZTogeydwYXRoJzogYnl0ZWNvZGVfcGF0aH19KQotICAgICAgICB3aXRoIHV0aWwudW5jYWNoZShuYW1lKToKLSAgICAgICAgICAgIG1vZHVsZSA9IG1vY2subG9hZF9tb2R1bGUobmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19maWxlX18sIGJ5dGVjb2RlX3BhdGgpCi0KLSAgICAjIFRlc3RpbmcgZm9yIGJ5dGVjb2RlX3BhdGggcmV0dXJuaW5nIE5vbmUgaGFuZGxlZCBieSBhbGwgdGVzdHMgd2hlcmUgbm8KLSAgICAjIGJ5dGVjb2RlIGluaXRpYWxseSBleGlzdHMuCi0KLSAgICBkZWYgdGVzdF9hbGxfcGF0aHNfTm9uZShzZWxmKToKLSAgICAgICAgIyBJZiBhbGwgKl9wYXRoIG1ldGhvZHMgcmV0dXJuIE5vbmUsIHJhaXNlIEltcG9ydEVycm9yLgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7bmFtZTogTm9uZX0pCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpLCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcikgYXMgY206Ci0gICAgICAgICAgICBtb2NrLmxvYWRfbW9kdWxlKG5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLm5hbWUsIG5hbWUpCi0KLSAgICBkZWYgdGVzdF9zb3VyY2VfcGF0aF9JbXBvcnRFcnJvcihzZWxmKToKLSAgICAgICAgIyBBbiBJbXBvcnRFcnJvciBmcm9tIHNvdXJjZV9wYXRoIHNob3VsZCB0cmlnZ2VyIGFuIEltcG9ydEVycm9yLgotICAgICAgICBuYW1lID0gJ21vZCcKLSAgICAgICAgbW9jayA9IFB5UHljTG9hZGVyTW9jayh7fSwge25hbWU6IHsncGF0aCc6IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21vZCcpfX0pCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpLCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6Ci0gICAgICAgICAgICBtb2NrLmxvYWRfbW9kdWxlKG5hbWUpCi0KLSAgICBkZWYgdGVzdF9ieXRlY29kZV9wYXRoX0ltcG9ydEVycm9yKHNlbGYpOgotICAgICAgICAjIEFuIEltcG9ydEVycm9yIGZyb20gYnl0ZWNvZGVfcGF0aCBzaG91bGQgdHJpZ2dlciBhbiBJbXBvcnRFcnJvci4KLSAgICAgICAgbmFtZSA9ICdtb2QnCi0gICAgICAgIG1vY2sgPSBQeVB5Y0xvYWRlck1vY2soe25hbWU6IG9zLnBhdGguam9pbigncGF0aCcsICd0bycsICdtb2QnKX0pCi0gICAgICAgIGJhZF9tZXRoID0gdHlwZXMuTWV0aG9kVHlwZShyYWlzZV9JbXBvcnRFcnJvciwgbW9jaykKLSAgICAgICAgbW9jay5ieXRlY29kZV9wYXRoID0gYmFkX21ldGgKLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSksIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKSBhcyBjbToKLSAgICAgICAgICAgIG1vY2subG9hZF9tb2R1bGUobmFtZSkKLQotCi1jbGFzcyBTb3VyY2VMb2FkZXJUZXN0SGFybmVzcyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICBkZWYgc2V0VXAoc2VsZiwgKiwgaXNfcGFja2FnZT1UcnVlLCAqKmt3YXJncyk6Ci0gICAgICAgIHNlbGYucGFja2FnZSA9ICdwa2cnCi0gICAgICAgIGlmIGlzX3BhY2thZ2U6Ci0gICAgICAgICAgICBzZWxmLnBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5wYWNrYWdlLCAnX19pbml0X18ucHknKQotICAgICAgICAgICAgc2VsZi5uYW1lID0gc2VsZi5wYWNrYWdlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBtb2R1bGVfbmFtZSA9ICdtb2QnCi0gICAgICAgICAgICBzZWxmLnBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5wYWNrYWdlLCAnLicuam9pbihbJ21vZCcsICdweSddKSkKLSAgICAgICAgICAgIHNlbGYubmFtZSA9ICcuJy5qb2luKFtzZWxmLnBhY2thZ2UsIG1vZHVsZV9uYW1lXSkKLSAgICAgICAgc2VsZi5jYWNoZWQgPSBpbXAuY2FjaGVfZnJvbV9zb3VyY2Uoc2VsZi5wYXRoKQotICAgICAgICBzZWxmLmxvYWRlciA9IHNlbGYubG9hZGVyX21vY2soc2VsZi5wYXRoLCAqKmt3YXJncykKLQotICAgIGRlZiB2ZXJpZnlfbW9kdWxlKHNlbGYsIG1vZHVsZSk6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fbmFtZV9fLCBzZWxmLm5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fZmlsZV9fLCBzZWxmLnBhdGgpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9kdWxlLl9fY2FjaGVkX18sIHNlbGYuY2FjaGVkKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhY2thZ2VfXywgc2VsZi5wYWNrYWdlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2xvYWRlcl9fLCBzZWxmLmxvYWRlcikKLSAgICAgICAgdmFsdWVzID0gbW9kdWxlLl8uc3BsaXQoJzo6JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZXNbMF0sIHNlbGYubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZXNbMV0sIHNlbGYucGF0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZXNbMl0sIHNlbGYuY2FjaGVkKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZhbHVlc1szXSwgc2VsZi5wYWNrYWdlKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZhbHVlc1s0XSwgcmVwcihzZWxmLmxvYWRlcikpCi0KLSAgICBkZWYgdmVyaWZ5X2NvZGUoc2VsZiwgY29kZV9vYmplY3QpOgotICAgICAgICBtb2R1bGUgPSBpbXAubmV3X21vZHVsZShzZWxmLm5hbWUpCi0gICAgICAgIG1vZHVsZS5fX2ZpbGVfXyA9IHNlbGYucGF0aAotICAgICAgICBtb2R1bGUuX19jYWNoZWRfXyA9IHNlbGYuY2FjaGVkCi0gICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IHNlbGYucGFja2FnZQotICAgICAgICBtb2R1bGUuX19sb2FkZXJfXyA9IHNlbGYubG9hZGVyCi0gICAgICAgIG1vZHVsZS5fX3BhdGhfXyA9IFtdCi0gICAgICAgIGV4ZWMoY29kZV9vYmplY3QsIG1vZHVsZS5fX2RpY3RfXykKLSAgICAgICAgc2VsZi52ZXJpZnlfbW9kdWxlKG1vZHVsZSkKLQotCi1jbGFzcyBTb3VyY2VPbmx5TG9hZGVyVGVzdHMoU291cmNlTG9hZGVyVGVzdEhhcm5lc3MpOgotCi0gICAgIiIiVGVzdCBpbXBvcnRsaWIuYWJjLlNvdXJjZUxvYWRlciBmb3Igc291cmNlLW9ubHkgbG9hZGluZy4KLQotICAgIFJlbG9hZCB0ZXN0aW5nIGlzIHN1YnN1bWVkIGJ5IHRoZSB0ZXN0cyBmb3IKLSAgICBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZm9yX2xvYWRlci4KLQotICAgICIiIgotCi0gICAgbG9hZGVyX21vY2sgPSBTb3VyY2VPbmx5TG9hZGVyTW9jawotCi0gICAgZGVmIHRlc3RfZ2V0X3NvdXJjZShzZWxmKToKLSAgICAgICAgIyBWZXJpZnkgdGhlIHNvdXJjZSBjb2RlIGlzIHJldHVybmVkIGFzIGEgc3RyaW5nLgotICAgICAgICAjIElmIGFuIElPRXJyb3IgaXMgcmFpc2VkIGJ5IGdldF9kYXRhIHRoZW4gcmFpc2UgSW1wb3J0RXJyb3IuCi0gICAgICAgIGV4cGVjdGVkX3NvdXJjZSA9IHNlbGYubG9hZGVyLnNvdXJjZS5kZWNvZGUoJ3V0Zi04JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvYWRlci5nZXRfc291cmNlKHNlbGYubmFtZSksIGV4cGVjdGVkX3NvdXJjZSkKLSAgICAgICAgZGVmIHJhaXNlX0lPRXJyb3IocGF0aCk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yCi0gICAgICAgIHNlbGYubG9hZGVyLmdldF9kYXRhID0gcmFpc2VfSU9FcnJvcgotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKSBhcyBjbToKLSAgICAgICAgICAgIHNlbGYubG9hZGVyLmdldF9zb3VyY2Uoc2VsZi5uYW1lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5uYW1lLCBzZWxmLm5hbWUpCi0KLSAgICBkZWYgdGVzdF9pc19wYWNrYWdlKHNlbGYpOgotICAgICAgICAjIFByb3Blcmx5IGRldGVjdCB3aGVuIGxvYWRpbmcgYSBwYWNrYWdlLgotICAgICAgICBzZWxmLnNldFVwKGlzX3BhY2thZ2U9RmFsc2UpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2FkZXIuaXNfcGFja2FnZShzZWxmLm5hbWUpKQotICAgICAgICBzZWxmLnNldFVwKGlzX3BhY2thZ2U9VHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubG9hZGVyLmlzX3BhY2thZ2Uoc2VsZi5uYW1lKSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLmxvYWRlci5pc19wYWNrYWdlKHNlbGYubmFtZSArICcuX19pbml0X18nKSkKLQotICAgIGRlZiB0ZXN0X2dldF9jb2RlKHNlbGYpOgotICAgICAgICAjIFZlcmlmeSB0aGUgY29kZSBvYmplY3QgaXMgY3JlYXRlZC4KLSAgICAgICAgY29kZV9vYmplY3QgPSBzZWxmLmxvYWRlci5nZXRfY29kZShzZWxmLm5hbWUpCi0gICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QpCi0KLSAgICBkZWYgdGVzdF9sb2FkX21vZHVsZShzZWxmKToKLSAgICAgICAgIyBMb2FkaW5nIGEgbW9kdWxlIHNob3VsZCBzZXQgX19uYW1lX18sIF9fbG9hZGVyX18sIF9fcGFja2FnZV9fLAotICAgICAgICAjIF9fcGF0aF9fIChmb3IgcGFja2FnZXMpLCBfX2ZpbGVfXywgYW5kIF9fY2FjaGVkX18uCi0gICAgICAgICMgVGhlIG1vZHVsZSBzaG91bGQgYWxzbyBiZSBwdXQgaW50byBzeXMubW9kdWxlcy4KLSAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoc2VsZi5uYW1lKToKLSAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYubG9hZGVyLmxvYWRfbW9kdWxlKHNlbGYubmFtZSkKLSAgICAgICAgICAgIHNlbGYudmVyaWZ5X21vZHVsZShtb2R1bGUpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhdGhfXywgW29zLnBhdGguZGlybmFtZShzZWxmLnBhdGgpXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi5uYW1lLCBzeXMubW9kdWxlcykKLQotICAgIGRlZiB0ZXN0X3BhY2thZ2Vfc2V0dGluZ3Moc2VsZik6Ci0gICAgICAgICMgX19wYWNrYWdlX18gbmVlZHMgdG8gYmUgc2V0LCB3aGlsZSBfX3BhdGhfXyBpcyBzZXQgb24gaWYgdGhlIG1vZHVsZQotICAgICAgICAjIGlzIGEgcGFja2FnZS4KLSAgICAgICAgIyBUZXN0aW5nIHRoZSB2YWx1ZXMgZm9yIGEgcGFja2FnZSBhcmUgY292ZXJlZCBieSB0ZXN0X2xvYWRfbW9kdWxlLgotICAgICAgICBzZWxmLnNldFVwKGlzX3BhY2thZ2U9RmFsc2UpCi0gICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHNlbGYubmFtZSk6Ci0gICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRlci5sb2FkX21vZHVsZShzZWxmLm5hbWUpCi0gICAgICAgICAgICBzZWxmLnZlcmlmeV9tb2R1bGUobW9kdWxlKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJykpCi0KLSAgICBkZWYgdGVzdF9nZXRfc291cmNlX2VuY29kaW5nKHNlbGYpOgotICAgICAgICAjIFNvdXJjZSBpcyBjb25zaWRlcmVkIGVuY29kZWQgaW4gVVRGLTggYnkgZGVmYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlCi0gICAgICAgICMgc3BlY2lmaWVkIGJ5IGFuIGVuY29kaW5nIGxpbmUuCi0gICAgICAgIHNvdXJjZSA9ICJfID0gJ8O8JyIKLSAgICAgICAgc2VsZi5sb2FkZXIuc291cmNlID0gc291cmNlLmVuY29kZSgndXRmLTgnKQotICAgICAgICByZXR1cm5lZF9zb3VyY2UgPSBzZWxmLmxvYWRlci5nZXRfc291cmNlKHNlbGYubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR1cm5lZF9zb3VyY2UsIHNvdXJjZSkKLSAgICAgICAgc291cmNlID0gIiMgY29kaW5nOiBsYXRpbi0xXG5fID0gw7wiCi0gICAgICAgIHNlbGYubG9hZGVyLnNvdXJjZSA9IHNvdXJjZS5lbmNvZGUoJ2xhdGluLTEnKQotICAgICAgICByZXR1cm5lZF9zb3VyY2UgPSBzZWxmLmxvYWRlci5nZXRfc291cmNlKHNlbGYubmFtZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR1cm5lZF9zb3VyY2UsIHNvdXJjZSkKLQotCi1AdW5pdHRlc3Quc2tpcElmKHN5cy5kb250X3dyaXRlX2J5dGVjb2RlLCAic3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgaXMgdHJ1ZSIpCi1jbGFzcyBTb3VyY2VMb2FkZXJCeXRlY29kZVRlc3RzKFNvdXJjZUxvYWRlclRlc3RIYXJuZXNzKToKLQotICAgICIiIlRlc3QgaW1wb3J0bGliLmFiYy5Tb3VyY2VMb2FkZXIncyB1c2Ugb2YgYnl0ZWNvZGUuCi0KLSAgICBTb3VyY2Utb25seSB0ZXN0aW5nIGhhbmRsZWQgYnkgU291cmNlT25seUxvYWRlclRlc3RzLgotCi0gICAgIiIiCi0KLSAgICBsb2FkZXJfbW9jayA9IFNvdXJjZUxvYWRlck1vY2sKLQotICAgIGRlZiB2ZXJpZnlfY29kZShzZWxmLCBjb2RlX29iamVjdCwgKiwgYnl0ZWNvZGVfd3JpdHRlbj1GYWxzZSk6Ci0gICAgICAgIHN1cGVyKCkudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QpCi0gICAgICAgIGlmIGJ5dGVjb2RlX3dyaXR0ZW46Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuY2FjaGVkLCBzZWxmLmxvYWRlci53cml0dGVuKQotICAgICAgICAgICAgZGF0YSA9IGJ5dGVhcnJheShpbXAuZ2V0X21hZ2ljKCkpCi0gICAgICAgICAgICBkYXRhLmV4dGVuZChpbXBvcnRsaWIuX3dfbG9uZyhzZWxmLmxvYWRlci5zb3VyY2VfbXRpbWUpKQotICAgICAgICAgICAgZGF0YS5leHRlbmQoaW1wb3J0bGliLl93X2xvbmcoc2VsZi5sb2FkZXIuc291cmNlX3NpemUpKQotICAgICAgICAgICAgZGF0YS5leHRlbmQobWFyc2hhbC5kdW1wcyhjb2RlX29iamVjdCkpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9hZGVyLndyaXR0ZW5bc2VsZi5jYWNoZWRdLCBieXRlcyhkYXRhKSkKLQotICAgIGRlZiB0ZXN0X2NvZGVfd2l0aF9ldmVyeXRoaW5nKHNlbGYpOgotICAgICAgICAjIFdoZW4gZXZlcnl0aGluZyBzaG91bGQgd29yay4KLSAgICAgICAgY29kZV9vYmplY3QgPSBzZWxmLmxvYWRlci5nZXRfY29kZShzZWxmLm5hbWUpCi0gICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QpCi0KLSAgICBkZWYgdGVzdF9ub19ieXRlY29kZShzZWxmKToKLSAgICAgICAgIyBJZiBubyBieXRlY29kZSBleGlzdHMgdGhlbiBtb3ZlIG9uIHRvIHRoZSBzb3VyY2UuCi0gICAgICAgIHNlbGYubG9hZGVyLmJ5dGVjb2RlX3BhdGggPSAiPGRvZXMgbm90IGV4aXN0PiIKLSAgICAgICAgIyBTYW5pdHkgY2hlY2sKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yKToKLSAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBpbXAuY2FjaGVfZnJvbV9zb3VyY2Uoc2VsZi5wYXRoKQotICAgICAgICAgICAgc2VsZi5sb2FkZXIuZ2V0X2RhdGEoYnl0ZWNvZGVfcGF0aCkKLSAgICAgICAgY29kZV9vYmplY3QgPSBzZWxmLmxvYWRlci5nZXRfY29kZShzZWxmLm5hbWUpCi0gICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QsIGJ5dGVjb2RlX3dyaXR0ZW49VHJ1ZSkKLQotICAgIGRlZiB0ZXN0X2NvZGVfYmFkX3RpbWVzdGFtcChzZWxmKToKLSAgICAgICAgIyBCeXRlY29kZSBpcyBvbmx5IHVzZWQgd2hlbiB0aGUgdGltZXN0YW1wIG1hdGNoZXMgdGhlIHNvdXJjZSBFWEFDVExZLgotICAgICAgICBmb3Igc291cmNlX210aW1lIGluICgwLCAyKToKLSAgICAgICAgICAgIGFzc2VydCBzb3VyY2VfbXRpbWUgIT0gc2VsZi5sb2FkZXIuc291cmNlX210aW1lCi0gICAgICAgICAgICBvcmlnaW5hbCA9IHNlbGYubG9hZGVyLnNvdXJjZV9tdGltZQotICAgICAgICAgICAgc2VsZi5sb2FkZXIuc291cmNlX210aW1lID0gc291cmNlX210aW1lCi0gICAgICAgICAgICAjIElmIGJ5dGVjb2RlIGlzIHVzZWQgdGhlbiBFT0ZFcnJvciB3b3VsZCBiZSByYWlzZWQgYnkgbWFyc2hhbC4KLSAgICAgICAgICAgIHNlbGYubG9hZGVyLmJ5dGVjb2RlID0gc2VsZi5sb2FkZXIuYnl0ZWNvZGVbODpdCi0gICAgICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYubG9hZGVyLmdldF9jb2RlKHNlbGYubmFtZSkKLSAgICAgICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QsIGJ5dGVjb2RlX3dyaXR0ZW49VHJ1ZSkKLSAgICAgICAgICAgIHNlbGYubG9hZGVyLnNvdXJjZV9tdGltZSA9IG9yaWdpbmFsCi0KLSAgICBkZWYgdGVzdF9jb2RlX2JhZF9tYWdpYyhzZWxmKToKLSAgICAgICAgIyBTa2lwIG92ZXIgYnl0ZWNvZGUgd2l0aCBhIGJhZCBtYWdpYyBudW1iZXIuCi0gICAgICAgIHNlbGYuc2V0VXAobWFnaWM9YicwMDAwJykKLSAgICAgICAgIyBJZiBieXRlY29kZSBpcyB1c2VkIHRoZW4gRU9GRXJyb3Igd291bGQgYmUgcmFpc2VkIGJ5IG1hcnNoYWwuCi0gICAgICAgIHNlbGYubG9hZGVyLmJ5dGVjb2RlID0gc2VsZi5sb2FkZXIuYnl0ZWNvZGVbODpdCi0gICAgICAgIGNvZGVfb2JqZWN0ID0gc2VsZi5sb2FkZXIuZ2V0X2NvZGUoc2VsZi5uYW1lKQotICAgICAgICBzZWxmLnZlcmlmeV9jb2RlKGNvZGVfb2JqZWN0LCBieXRlY29kZV93cml0dGVuPVRydWUpCi0KLSAgICBkZWYgdGVzdF9kb250X3dyaXRlX2J5dGVjb2RlKHNlbGYpOgotICAgICAgICAjIEJ5dGVjb2RlIGlzIG5vdCB3cml0dGVuIGlmIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGlzIHRydWUuCi0gICAgICAgICMgQ2FuIGFzc3VtZSBpdCBpcyBmYWxzZSBhbHJlYWR5IHRoYW5rcyB0byB0aGUgc2tpcElmIGNsYXNzIGRlY29yYXRvci4KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBUcnVlCi0gICAgICAgICAgICBzZWxmLmxvYWRlci5ieXRlY29kZV9wYXRoID0gIjxkb2VzIG5vdCBleGlzdD4iCi0gICAgICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYubG9hZGVyLmdldF9jb2RlKHNlbGYubmFtZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oc2VsZi5jYWNoZWQsIHNlbGYubG9hZGVyLndyaXR0ZW4pCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IEZhbHNlCi0KLSAgICBkZWYgdGVzdF9ub19zZXRfZGF0YShzZWxmKToKLSAgICAgICAgIyBJZiBzZXRfZGF0YSBpcyBub3QgZGVmaW5lZCwgb25lIGNhbiBzdGlsbCByZWFkIGJ5dGVjb2RlLgotICAgICAgICBzZWxmLnNldFVwKG1hZ2ljPWInMDAwMCcpCi0gICAgICAgIG9yaWdpbmFsX3NldF9kYXRhID0gc2VsZi5sb2FkZXIuX19jbGFzc19fLnNldF9kYXRhCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGRlbCBzZWxmLmxvYWRlci5fX2NsYXNzX18uc2V0X2RhdGEKLSAgICAgICAgICAgIGNvZGVfb2JqZWN0ID0gc2VsZi5sb2FkZXIuZ2V0X2NvZGUoc2VsZi5uYW1lKQotICAgICAgICAgICAgc2VsZi52ZXJpZnlfY29kZShjb2RlX29iamVjdCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubG9hZGVyLl9fY2xhc3NfXy5zZXRfZGF0YSA9IG9yaWdpbmFsX3NldF9kYXRhCi0KLSAgICBkZWYgdGVzdF9zZXRfZGF0YV9yYWlzZXNfZXhjZXB0aW9ucyhzZWxmKToKLSAgICAgICAgIyBSYWlzaW5nIE5vdEltcGxlbWVudGVkRXJyb3Igb3IgSU9FcnJvciBpcyBva2F5IGZvciBzZXRfZGF0YS4KLSAgICAgICAgZGVmIHJhaXNlX2V4Y2VwdGlvbihleGMpOgotICAgICAgICAgICAgZGVmIGNsb3N1cmUoKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgICAgICAgICByYWlzZSBleGMKLSAgICAgICAgICAgIHJldHVybiBjbG9zdXJlCi0KLSAgICAgICAgc2VsZi5zZXRVcChtYWdpYz1iJzAwMDAnKQotICAgICAgICBzZWxmLmxvYWRlci5zZXRfZGF0YSA9IHJhaXNlX2V4Y2VwdGlvbihOb3RJbXBsZW1lbnRlZEVycm9yKQotICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYubG9hZGVyLmdldF9jb2RlKHNlbGYubmFtZSkKLSAgICAgICAgc2VsZi52ZXJpZnlfY29kZShjb2RlX29iamVjdCkKLQotCi1jbGFzcyBTb3VyY2VMb2FkZXJHZXRTb3VyY2VUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICAiIiJUZXN0cyBmb3IgaW1wb3J0bGliLmFiYy5Tb3VyY2VMb2FkZXIuZ2V0X3NvdXJjZSgpLiIiIgotCi0gICAgZGVmIHRlc3RfZGVmYXVsdF9lbmNvZGluZyhzZWxmKToKLSAgICAgICAgIyBTaG91bGQgaGF2ZSBubyBwcm9ibGVtcyB3aXRoIFVURi04IHRleHQuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBtb2NrID0gU291cmNlT25seUxvYWRlck1vY2soJ21vZC5maWxlJykKLSAgICAgICAgc291cmNlID0gJ3ggPSAiw7wiJwotICAgICAgICBtb2NrLnNvdXJjZSA9IHNvdXJjZS5lbmNvZGUoJ3V0Zi04JykKLSAgICAgICAgcmV0dXJuZWRfc291cmNlID0gbW9jay5nZXRfc291cmNlKG5hbWUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmV0dXJuZWRfc291cmNlLCBzb3VyY2UpCi0KLSAgICBkZWYgdGVzdF9kZWNvZGVkX3NvdXJjZShzZWxmKToKLSAgICAgICAgIyBEZWNvZGluZyBzaG91bGQgd29yay4KLSAgICAgICAgbmFtZSA9ICdtb2QnCi0gICAgICAgIG1vY2sgPSBTb3VyY2VPbmx5TG9hZGVyTW9jaygibW9kLmZpbGUiKQotICAgICAgICBzb3VyY2UgPSAiIyBjb2Rpbmc6IExhdGluLTFcbng9J8O8JyIKLSAgICAgICAgYXNzZXJ0IHNvdXJjZS5lbmNvZGUoJ2xhdGluLTEnKSAhPSBzb3VyY2UuZW5jb2RlKCd1dGYtOCcpCi0gICAgICAgIG1vY2suc291cmNlID0gc291cmNlLmVuY29kZSgnbGF0aW4tMScpCi0gICAgICAgIHJldHVybmVkX3NvdXJjZSA9IG1vY2suZ2V0X3NvdXJjZShuYW1lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJldHVybmVkX3NvdXJjZSwgc291cmNlKQotCi0gICAgZGVmIHRlc3RfdW5pdmVyc2FsX25ld2xpbmVzKHNlbGYpOgotICAgICAgICAjIFBFUCAzMDIgc2F5cyB1bml2ZXJzYWwgbmV3bGluZXMgc2hvdWxkIGJlIHVzZWQuCi0gICAgICAgIG5hbWUgPSAnbW9kJwotICAgICAgICBtb2NrID0gU291cmNlT25seUxvYWRlck1vY2soJ21vZC5maWxlJykKLSAgICAgICAgc291cmNlID0gInggPSA0MlxyXG55ID0gLTEzXHJcbiIKLSAgICAgICAgbW9jay5zb3VyY2UgPSBzb3VyY2UuZW5jb2RlKCd1dGYtOCcpCi0gICAgICAgIGV4cGVjdCA9IGlvLkluY3JlbWVudGFsTmV3bGluZURlY29kZXIoTm9uZSwgVHJ1ZSkuZGVjb2RlKHNvdXJjZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmdldF9zb3VyY2UobmFtZSksIGV4cGVjdCkKLQotCi1jbGFzcyBBYnN0cmFjdE1ldGhvZEltcGxUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICAiIiJUZXN0IHRoZSBjb25jcmV0ZSBhYnN0cmFjdG1ldGhvZCBpbXBsZW1lbnRhdGlvbnMuIiIiCi0KLSAgICBjbGFzcyBNZXRhUGF0aEZpbmRlcihhYmMuTWV0YVBhdGhGaW5kZXIpOgotICAgICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUsIHBhdGgpOgotICAgICAgICAgICAgc3VwZXIoKS5maW5kX21vZHVsZShmdWxsbmFtZSwgcGF0aCkKLQotICAgIGNsYXNzIFBhdGhFbnRyeUZpbmRlcihhYmMuUGF0aEVudHJ5RmluZGVyKToKLSAgICAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIF8pOgotICAgICAgICAgICAgc3VwZXIoKS5maW5kX21vZHVsZShfKQotCi0gICAgICAgIGRlZiBmaW5kX2xvYWRlcihzZWxmLCBfKToKLSAgICAgICAgICAgIHN1cGVyKCkuZmluZF9sb2FkZXIoXykKLQotICAgIGNsYXNzIEZpbmRlcihhYmMuRmluZGVyKToKLSAgICAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lLCBwYXRoKToKLSAgICAgICAgICAgIHN1cGVyKCkuZmluZF9tb2R1bGUoZnVsbG5hbWUsIHBhdGgpCi0KLSAgICBjbGFzcyBMb2FkZXIoYWJjLkxvYWRlcik6Ci0gICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBmdWxsbmFtZSk6Ci0gICAgICAgICAgICBzdXBlcigpLmxvYWRfbW9kdWxlKGZ1bGxuYW1lKQotICAgICAgICBkZWYgbW9kdWxlX3JlcHIoc2VsZiwgbW9kdWxlKToKLSAgICAgICAgICAgIHN1cGVyKCkubW9kdWxlX3JlcHIobW9kdWxlKQotCi0gICAgY2xhc3MgUmVzb3VyY2VMb2FkZXIoTG9hZGVyLCBhYmMuUmVzb3VyY2VMb2FkZXIpOgotICAgICAgICBkZWYgZ2V0X2RhdGEoc2VsZiwgXyk6Ci0gICAgICAgICAgICBzdXBlcigpLmdldF9kYXRhKF8pCi0KLSAgICBjbGFzcyBJbnNwZWN0TG9hZGVyKExvYWRlciwgYWJjLkluc3BlY3RMb2FkZXIpOgotICAgICAgICBkZWYgaXNfcGFja2FnZShzZWxmLCBfKToKLSAgICAgICAgICAgIHN1cGVyKCkuaXNfcGFja2FnZShfKQotCi0gICAgICAgIGRlZiBnZXRfY29kZShzZWxmLCBfKToKLSAgICAgICAgICAgIHN1cGVyKCkuZ2V0X2NvZGUoXykKLQotICAgICAgICBkZWYgZ2V0X3NvdXJjZShzZWxmLCBfKToKLSAgICAgICAgICAgIHN1cGVyKCkuZ2V0X3NvdXJjZShfKQotCi0gICAgY2xhc3MgRXhlY3V0aW9uTG9hZGVyKEluc3BlY3RMb2FkZXIsIGFiYy5FeGVjdXRpb25Mb2FkZXIpOgotICAgICAgICBkZWYgZ2V0X2ZpbGVuYW1lKHNlbGYsIF8pOgotICAgICAgICAgICAgc3VwZXIoKS5nZXRfZmlsZW5hbWUoXykKLQotICAgIGNsYXNzIFNvdXJjZUxvYWRlcihSZXNvdXJjZUxvYWRlciwgRXhlY3V0aW9uTG9hZGVyLCBhYmMuU291cmNlTG9hZGVyKToKLSAgICAgICAgcGFzcwotCi0gICAgY2xhc3MgUHlMb2FkZXIoUmVzb3VyY2VMb2FkZXIsIEluc3BlY3RMb2FkZXIsIGFiYy5QeUxvYWRlcik6Ci0gICAgICAgIGRlZiBzb3VyY2VfcGF0aChzZWxmLCBfKToKLSAgICAgICAgICAgIHN1cGVyKCkuc291cmNlX3BhdGgoXykKLQotICAgIGNsYXNzIFB5UHljTG9hZGVyKFB5TG9hZGVyLCBhYmMuUHlQeWNMb2FkZXIpOgotICAgICAgICBkZWYgYnl0ZWNvZGVfcGF0aChzZWxmLCBfKToKLSAgICAgICAgICAgIHN1cGVyKCkuYnl0ZWNvZGVfcGF0aChfKQotCi0gICAgICAgIGRlZiBzb3VyY2VfbXRpbWUoc2VsZiwgXyk6Ci0gICAgICAgICAgICBzdXBlcigpLnNvdXJjZV9tdGltZShfKQotCi0gICAgICAgIGRlZiB3cml0ZV9ieXRlY29kZShzZWxmLCBfLCBfMik6Ci0gICAgICAgICAgICBzdXBlcigpLndyaXRlX2J5dGVjb2RlKF8sIF8yKQotCi0gICAgZGVmIHJhaXNlc19Ob3RJbXBsZW1lbnRlZEVycm9yKHNlbGYsIGlucywgKmFyZ3MpOgotICAgICAgICBmb3IgbWV0aG9kX25hbWUgaW4gYXJnczoKLSAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoaW5zLCBtZXRob2RfbmFtZSkKLSAgICAgICAgICAgIGFyZ19jb3VudCA9IGxlbihpbnNwZWN0LmdldGZ1bGxhcmdzcGVjKG1ldGhvZClbMF0pIC0gMQotICAgICAgICAgICAgYXJncyA9IFsnJ10gKiBhcmdfY291bnQKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtZXRob2QoKmFyZ3MpCi0gICAgICAgICAgICBleGNlcHQgTm90SW1wbGVtZW50ZWRFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG1zZyA9ICJ7fS57fSBkaWQgbm90IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IiCi0gICAgICAgICAgICAgICAgc2VsZi5mYWlsKG1zZy5mb3JtYXQoaW5zLl9fY2xhc3NfXy5fX25hbWVfXywgbWV0aG9kX25hbWUpKQotCi0gICAgZGVmIHRlc3RfTG9hZGVyKHNlbGYpOgotICAgICAgICBzZWxmLnJhaXNlc19Ob3RJbXBsZW1lbnRlZEVycm9yKHNlbGYuTG9hZGVyKCksICdsb2FkX21vZHVsZScpCi0KLSAgICAjIFhYWCBtaXNwbGFjZWQ7IHNob3VsZCBiZSBzb21ld2hlcmUgZWxzZQotICAgIGRlZiB0ZXN0X0ZpbmRlcihzZWxmKToKLSAgICAgICAgc2VsZi5yYWlzZXNfTm90SW1wbGVtZW50ZWRFcnJvcihzZWxmLkZpbmRlcigpLCAnZmluZF9tb2R1bGUnKQotCi0gICAgZGVmIHRlc3RfUmVzb3VyY2VMb2FkZXIoc2VsZik6Ci0gICAgICAgIHNlbGYucmFpc2VzX05vdEltcGxlbWVudGVkRXJyb3Ioc2VsZi5SZXNvdXJjZUxvYWRlcigpLCAnbG9hZF9tb2R1bGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXRfZGF0YScpCi0KLSAgICBkZWYgdGVzdF9JbnNwZWN0TG9hZGVyKHNlbGYpOgotICAgICAgICBzZWxmLnJhaXNlc19Ob3RJbXBsZW1lbnRlZEVycm9yKHNlbGYuSW5zcGVjdExvYWRlcigpLCAnbG9hZF9tb2R1bGUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpc19wYWNrYWdlJywgJ2dldF9jb2RlJywgJ2dldF9zb3VyY2UnKQotCi0gICAgZGVmIHRlc3RfRXhlY3V0aW9uTG9hZGVyKHNlbGYpOgotICAgICAgICBzZWxmLnJhaXNlc19Ob3RJbXBsZW1lbnRlZEVycm9yKHNlbGYuRXhlY3V0aW9uTG9hZGVyKCksICdsb2FkX21vZHVsZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2lzX3BhY2thZ2UnLCAnZ2V0X2NvZGUnLCAnZ2V0X3NvdXJjZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dldF9maWxlbmFtZScpCi0KLSAgICBkZWYgdGVzdF9Tb3VyY2VMb2FkZXIoc2VsZik6Ci0gICAgICAgIGlucyA9IHNlbGYuU291cmNlTG9hZGVyKCkKLSAgICAgICAgIyBSZXF1aXJlZCBhYnN0cmFjdG1ldGhvZHMuCi0gICAgICAgIHNlbGYucmFpc2VzX05vdEltcGxlbWVudGVkRXJyb3IoaW5zLCAnZ2V0X2ZpbGVuYW1lJywgJ2dldF9kYXRhJykKLSAgICAgICAgIyBPcHRpb25hbCBhYnN0cmFjdG1ldGhvZHMuCi0gICAgICAgIHNlbGYucmFpc2VzX05vdEltcGxlbWVudGVkRXJyb3IoaW5zLCdwYXRoX3N0YXRzJywgJ3NldF9kYXRhJykKLQotICAgIGRlZiB0ZXN0X1B5TG9hZGVyKHNlbGYpOgotICAgICAgICBzZWxmLnJhaXNlc19Ob3RJbXBsZW1lbnRlZEVycm9yKHNlbGYuUHlMb2FkZXIoKSwgJ3NvdXJjZV9wYXRoJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0X2RhdGEnLCAnaXNfcGFja2FnZScpCi0KLSAgICBkZWYgdGVzdF9QeVB5Y0xvYWRlcihzZWxmKToKLSAgICAgICAgc2VsZi5yYWlzZXNfTm90SW1wbGVtZW50ZWRFcnJvcihzZWxmLlB5UHljTG9hZGVyKCksICdzb3VyY2VfcGF0aCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZV9tdGltZScsICdieXRlY29kZV9wYXRoJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd3JpdGVfYnl0ZWNvZGUnKQotCi0KLWRlZiB0ZXN0X21haW4oKToKLSAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0Ci0gICAgcnVuX3VuaXR0ZXN0KFB5TG9hZGVyVGVzdHMsIFB5TG9hZGVyQ29tcGF0VGVzdHMsCi0gICAgICAgICAgICAgICAgICAgIFB5TG9hZGVySW50ZXJmYWNlVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgIFB5UHljTG9hZGVyVGVzdHMsIFB5UHljTG9hZGVySW50ZXJmYWNlVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgIFNraXBXcml0aW5nQnl0ZWNvZGVUZXN0cywgUmVnZW5lcmF0ZWRCeXRlY29kZVRlc3RzLAotICAgICAgICAgICAgICAgICAgICBCYWRCeXRlY29kZUZhaWx1cmVUZXN0cywgTWlzc2luZ1BhdGhzVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgIFNvdXJjZU9ubHlMb2FkZXJUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgU291cmNlTG9hZGVyQnl0ZWNvZGVUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgU291cmNlTG9hZGVyR2V0U291cmNlVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgIEFic3RyYWN0TWV0aG9kSW1wbFRlc3RzKQotCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3NvdXJjZS90ZXN0X2ZpbGVfbG9hZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKaW5kZXggZDU5OTY5YS4uODA5OTllOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKQEAgLTQwOCw3ICs0MDgsNyBAQAogICAgICAgICAgICAgb3MuY2htb2QoYnl0ZWNvZGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXQuU19JUlVTUiB8IHN0YXQuU19JUkdSUCB8IHN0YXQuU19JUk9USCkKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAjIFNob3VsZCBub3QgcmFpc2UgSU9FcnJvciEKKyAgICAgICAgICAgICAgICAjIFNob3VsZCBub3QgcmFpc2UgT1NFcnJvciEKICAgICAgICAgICAgICAgICBzZWxmLmltcG9ydF8obWFwcGluZ1snX3RlbXAnXSwgJ190ZW1wJykKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgIyBNYWtlIHdyaXRhYmxlIGZvciBldmVudHVhbCBjbGVhbi11cC4KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYWJjLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkKaW5kZXggYzYyMGMzNy4uOGQzZDUxZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF9hYmMucHkKQEAgLTEsOSArMSwxOCBAQAoraW1wb3J0IGltcG9ydGxpYgogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IGFiYwogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQorCitpbXBvcnQgaW1wCiBpbXBvcnQgaW5zcGVjdAoraW1wb3J0IGlvCitpbXBvcnQgbWFyc2hhbAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIAorZnJvbSAuIGltcG9ydCB1dGlsCiAKKyMjIyMjIEluaGVyaXRhbmNlCiBjbGFzcyBJbmhlcml0YW5jZVRlc3RzOgogCiAgICAgIiIiVGVzdCB0aGF0IHRoZSBzcGVjaWZpZWQgY2xhc3MgaXMgYSBzdWJjbGFzcy9zdXBlcmNsYXNzIG9mIHRoZSBleHBlY3RlZApAQCAtNDMsMTEgKzUyLDYgQEAKICAgICBzdWJjbGFzc2VzID0gW21hY2hpbmVyeS5GaWxlRmluZGVyXQogCiAKLWNsYXNzIExvYWRlcihJbmhlcml0YW5jZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICBzdWJjbGFzc2VzID0gW2FiYy5QeUxvYWRlcl0KLQotCiBjbGFzcyBSZXNvdXJjZUxvYWRlcihJbmhlcml0YW5jZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBzdXBlcmNsYXNzZXMgPSBbYWJjLkxvYWRlcl0KQEAgLTU2LDE0ICs2MCwxMyBAQAogY2xhc3MgSW5zcGVjdExvYWRlcihJbmhlcml0YW5jZVRlc3RzLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBzdXBlcmNsYXNzZXMgPSBbYWJjLkxvYWRlcl0KLSAgICBzdWJjbGFzc2VzID0gW2FiYy5QeUxvYWRlciwgbWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlciwKKyAgICBzdWJjbGFzc2VzID0gW21hY2hpbmVyeS5CdWlsdGluSW1wb3J0ZXIsCiAgICAgICAgICAgICAgICAgICAgIG1hY2hpbmVyeS5Gcm96ZW5JbXBvcnRlciwgbWFjaGluZXJ5LkV4dGVuc2lvbkZpbGVMb2FkZXJdCiAKIAogY2xhc3MgRXhlY3V0aW9uTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIHN1cGVyY2xhc3NlcyA9IFthYmMuSW5zcGVjdExvYWRlcl0KLSAgICBzdWJjbGFzc2VzID0gW2FiYy5QeUxvYWRlcl0KIAogCiBjbGFzcyBGaWxlTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTc4LDI2ICs4MSw0MjIgQEAKICAgICBzdWJjbGFzc2VzID0gW21hY2hpbmVyeS5Tb3VyY2VGaWxlTG9hZGVyXQogCiAKLWNsYXNzIFB5TG9hZGVyKEluaGVyaXRhbmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKyMjIyMjIERlZmF1bHQgc2VtYW50aWNzCitjbGFzcyBNZXRhUGF0aEZpbmRlclN1YmNsYXNzKGFiYy5NZXRhUGF0aEZpbmRlcik6CiAKLSAgICBzdXBlcmNsYXNzZXMgPSBbYWJjLkxvYWRlciwgYWJjLlJlc291cmNlTG9hZGVyLCBhYmMuRXhlY3V0aW9uTG9hZGVyXQorICAgIGRlZiBmaW5kX21vZHVsZShzZWxmLCBmdWxsbmFtZSwgcGF0aCk6CisgICAgICAgIHJldHVybiBzdXBlcigpLmZpbmRfbW9kdWxlKGZ1bGxuYW1lLCBwYXRoKQogCiAKLWNsYXNzIFB5UHljTG9hZGVyKEluaGVyaXRhbmNlVGVzdHMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKK2NsYXNzIE1ldGFQYXRoRmluZGVyRGVmYXVsdHNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKLSAgICBzdXBlcmNsYXNzZXMgPSBbYWJjLlB5TG9hZGVyXQorICAgIGlucyA9IE1ldGFQYXRoRmluZGVyU3ViY2xhc3MoKQorCisgICAgZGVmIHRlc3RfZmluZF9tb2R1bGUoc2VsZik6CisgICAgICAgICMgRGVmYXVsdCBzaG91bGQgcmV0dXJuIE5vbmUuCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYuaW5zLmZpbmRfbW9kdWxlKCdzb21ldGhpbmcnLCBOb25lKSkKKworICAgIGRlZiB0ZXN0X2ludmFsaWRhdGVfY2FjaGVzKHNlbGYpOgorICAgICAgICAjIENhbGxpbmcgdGhlIG1ldGhvZCBpcyBhIG5vLW9wLgorICAgICAgICBzZWxmLmlucy5pbnZhbGlkYXRlX2NhY2hlcygpCiAKIAotZGVmIHRlc3RfbWFpbigpOgotICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKLSAgICBjbGFzc2VzID0gW10KLSAgICBmb3IgY2xhc3NfIGluIGdsb2JhbHMoKS52YWx1ZXMoKToKLSAgICAgICAgaWYgKGluc3BlY3QuaXNjbGFzcyhjbGFzc18pIGFuZAotICAgICAgICAgICAgICAgIGlzc3ViY2xhc3MoY2xhc3NfLCB1bml0dGVzdC5UZXN0Q2FzZSkgYW5kCi0gICAgICAgICAgICAgICAgaXNzdWJjbGFzcyhjbGFzc18sIEluaGVyaXRhbmNlVGVzdHMpKToKLSAgICAgICAgICAgIGNsYXNzZXMuYXBwZW5kKGNsYXNzXykKLSAgICBydW5fdW5pdHRlc3QoKmNsYXNzZXMpCitjbGFzcyBQYXRoRW50cnlGaW5kZXJTdWJjbGFzcyhhYmMuUGF0aEVudHJ5RmluZGVyKToKKworICAgIGRlZiBmaW5kX2xvYWRlcihzZWxmLCBmdWxsbmFtZSk6CisgICAgICAgIHJldHVybiBzdXBlcigpLmZpbmRfbG9hZGVyKGZ1bGxuYW1lKQorCisKK2NsYXNzIFBhdGhFbnRyeUZpbmRlckRlZmF1bHRzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgaW5zID0gUGF0aEVudHJ5RmluZGVyU3ViY2xhc3MoKQorCisgICAgZGVmIHRlc3RfZmluZF9sb2FkZXIoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKE5vbmUsIFtdKSwgc2VsZi5pbnMuZmluZF9sb2FkZXIoJ3NvbWV0aGluZycpKQorCisgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vbmUsIHNlbGYuaW5zLmZpbmRfbW9kdWxlKCdzb21ldGhpbmcnKSkKKworICAgIGRlZiB0ZXN0X2ludmFsaWRhdGVfY2FjaGVzKHNlbGYpOgorICAgICAgICAjIFNob3VsZCBiZSBhIG5vLW9wLgorICAgICAgICBzZWxmLmlucy5pbnZhbGlkYXRlX2NhY2hlcygpCisKKworY2xhc3MgTG9hZGVyU3ViY2xhc3MoYWJjLkxvYWRlcik6CisKKyAgICBkZWYgbG9hZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICByZXR1cm4gc3VwZXIoKS5sb2FkX21vZHVsZShmdWxsbmFtZSkKKworCitjbGFzcyBMb2FkZXJEZWZhdWx0c1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGlucyA9IExvYWRlclN1YmNsYXNzKCkKKworICAgIGRlZiB0ZXN0X2xvYWRfbW9kdWxlKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKKyAgICAgICAgICAgIHNlbGYuaW5zLmxvYWRfbW9kdWxlKCdzb21ldGhpbmcnKQorCisgICAgZGVmIHRlc3RfbW9kdWxlX3JlcHIoc2VsZik6CisgICAgICAgIG1vZCA9IGltcC5uZXdfbW9kdWxlKCdibGFoJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yKToKKyAgICAgICAgICAgIHNlbGYuaW5zLm1vZHVsZV9yZXByKG1vZCkKKyAgICAgICAgb3JpZ2luYWxfcmVwciA9IHJlcHIobW9kKQorICAgICAgICBtb2QuX19sb2FkZXJfXyA9IHNlbGYuaW5zCisgICAgICAgICMgU2hvdWxkIHN0aWxsIHJldHVybiBhIHByb3BlciByZXByLgorICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihtb2QpKQorCisKK2NsYXNzIFJlc291cmNlTG9hZGVyU3ViY2xhc3MoTG9hZGVyU3ViY2xhc3MsIGFiYy5SZXNvdXJjZUxvYWRlcik6CisKKyAgICBkZWYgZ2V0X2RhdGEoc2VsZiwgcGF0aCk6CisgICAgICAgIHJldHVybiBzdXBlcigpLmdldF9kYXRhKHBhdGgpCisKKworY2xhc3MgUmVzb3VyY2VMb2FkZXJEZWZhdWx0c1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGlucyA9IFJlc291cmNlTG9hZGVyU3ViY2xhc3MoKQorCisgICAgZGVmIHRlc3RfZ2V0X2RhdGEoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcik6CisgICAgICAgICAgICBzZWxmLmlucy5nZXRfZGF0YSgnL3NvbWUvcGF0aCcpCisKKworY2xhc3MgSW5zcGVjdExvYWRlclN1YmNsYXNzKExvYWRlclN1YmNsYXNzLCBhYmMuSW5zcGVjdExvYWRlcik6CisKKyAgICBkZWYgaXNfcGFja2FnZShzZWxmLCBmdWxsbmFtZSk6CisgICAgICAgIHJldHVybiBzdXBlcigpLmlzX3BhY2thZ2UoZnVsbG5hbWUpCisKKyAgICBkZWYgZ2V0X2NvZGUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRfY29kZShmdWxsbmFtZSkKKworICAgIGRlZiBnZXRfc291cmNlKHNlbGYsIGZ1bGxuYW1lKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X3NvdXJjZShmdWxsbmFtZSkKKworCitjbGFzcyBJbnNwZWN0TG9hZGVyRGVmYXVsdHNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBpbnMgPSBJbnNwZWN0TG9hZGVyU3ViY2xhc3MoKQorCisgICAgZGVmIHRlc3RfaXNfcGFja2FnZShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CisgICAgICAgICAgICBzZWxmLmlucy5pc19wYWNrYWdlKCdibGFoJykKKworICAgIGRlZiB0ZXN0X2dldF9jb2RlKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKToKKyAgICAgICAgICAgIHNlbGYuaW5zLmdldF9jb2RlKCdibGFoJykKKworICAgIGRlZiB0ZXN0X2dldF9zb3VyY2Uoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgorICAgICAgICAgICAgc2VsZi5pbnMuZ2V0X3NvdXJjZSgnYmxhaCcpCisKKworY2xhc3MgRXhlY3V0aW9uTG9hZGVyU3ViY2xhc3MoSW5zcGVjdExvYWRlclN1YmNsYXNzLCBhYmMuRXhlY3V0aW9uTG9hZGVyKToKKworICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICByZXR1cm4gc3VwZXIoKS5nZXRfZmlsZW5hbWUoZnVsbG5hbWUpCisKKworY2xhc3MgRXhlY3V0aW9uTG9hZGVyRGVmYXVsdHNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBpbnMgPSBFeGVjdXRpb25Mb2FkZXJTdWJjbGFzcygpCisKKyAgICBkZWYgdGVzdF9nZXRfZmlsZW5hbWUoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgorICAgICAgICAgICAgc2VsZi5pbnMuZ2V0X2ZpbGVuYW1lKCdibGFoJykKKworCisjIyMjIyBTb3VyY2VMb2FkZXIKK2NsYXNzIFNvdXJjZU9ubHlMb2FkZXJNb2NrKGFiYy5Tb3VyY2VMb2FkZXIpOgorCisgICAgIyBHbG9iYWxzIHRoYXQgc2hvdWxkIGJlIGRlZmluZWQgZm9yIGFsbCBtb2R1bGVzLgorICAgIHNvdXJjZSA9IChiIl8gPSAnOjonLmpvaW4oW19fbmFtZV9fLCBfX2ZpbGVfXywgX19jYWNoZWRfXywgX19wYWNrYWdlX18sICIKKyAgICAgICAgICAgICAgYiJyZXByKF9fbG9hZGVyX18pXSkiKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisKKyAgICBkZWYgZ2V0X2RhdGEoc2VsZiwgcGF0aCk6CisgICAgICAgIGlmIHBhdGggIT0gc2VsZi5wYXRoOgorICAgICAgICAgICAgcmFpc2UgSU9FcnJvcgorICAgICAgICByZXR1cm4gc2VsZi5zb3VyY2UKKworICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICByZXR1cm4gc2VsZi5wYXRoCisKKyAgICBkZWYgbW9kdWxlX3JlcHIoc2VsZiwgbW9kdWxlKToKKyAgICAgICAgcmV0dXJuICc8bW9kdWxlPicKKworCitjbGFzcyBTb3VyY2VMb2FkZXJNb2NrKFNvdXJjZU9ubHlMb2FkZXJNb2NrKToKKworICAgIHNvdXJjZV9tdGltZSA9IDEKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoLCBtYWdpYz1pbXAuZ2V0X21hZ2ljKCkpOgorICAgICAgICBzdXBlcigpLl9faW5pdF9fKHBhdGgpCisgICAgICAgIHNlbGYuYnl0ZWNvZGVfcGF0aCA9IGltcC5jYWNoZV9mcm9tX3NvdXJjZShzZWxmLnBhdGgpCisgICAgICAgIHNlbGYuc291cmNlX3NpemUgPSBsZW4oc2VsZi5zb3VyY2UpCisgICAgICAgIGRhdGEgPSBieXRlYXJyYXkobWFnaWMpCisgICAgICAgIGRhdGEuZXh0ZW5kKGltcG9ydGxpYi5fd19sb25nKHNlbGYuc291cmNlX210aW1lKSkKKyAgICAgICAgZGF0YS5leHRlbmQoaW1wb3J0bGliLl93X2xvbmcoc2VsZi5zb3VyY2Vfc2l6ZSkpCisgICAgICAgIGNvZGVfb2JqZWN0ID0gY29tcGlsZShzZWxmLnNvdXJjZSwgc2VsZi5wYXRoLCAnZXhlYycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbnRfaW5oZXJpdD1UcnVlKQorICAgICAgICBkYXRhLmV4dGVuZChtYXJzaGFsLmR1bXBzKGNvZGVfb2JqZWN0KSkKKyAgICAgICAgc2VsZi5ieXRlY29kZSA9IGJ5dGVzKGRhdGEpCisgICAgICAgIHNlbGYud3JpdHRlbiA9IHt9CisKKyAgICBkZWYgZ2V0X2RhdGEoc2VsZiwgcGF0aCk6CisgICAgICAgIGlmIHBhdGggPT0gc2VsZi5wYXRoOgorICAgICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZ2V0X2RhdGEocGF0aCkKKyAgICAgICAgZWxpZiBwYXRoID09IHNlbGYuYnl0ZWNvZGVfcGF0aDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmJ5dGVjb2RlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBPU0Vycm9yCisKKyAgICBkZWYgcGF0aF9zdGF0cyhzZWxmLCBwYXRoKToKKyAgICAgICAgaWYgcGF0aCAhPSBzZWxmLnBhdGg6CisgICAgICAgICAgICByYWlzZSBJT0Vycm9yCisgICAgICAgIHJldHVybiB7J210aW1lJzogc2VsZi5zb3VyY2VfbXRpbWUsICdzaXplJzogc2VsZi5zb3VyY2Vfc2l6ZX0KKworICAgIGRlZiBzZXRfZGF0YShzZWxmLCBwYXRoLCBkYXRhKToKKyAgICAgICAgc2VsZi53cml0dGVuW3BhdGhdID0gYnl0ZXMoZGF0YSkKKyAgICAgICAgcmV0dXJuIHBhdGggPT0gc2VsZi5ieXRlY29kZV9wYXRoCisKKworY2xhc3MgU291cmNlTG9hZGVyVGVzdEhhcm5lc3ModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYsICosIGlzX3BhY2thZ2U9VHJ1ZSwgKiprd2FyZ3MpOgorICAgICAgICBzZWxmLnBhY2thZ2UgPSAncGtnJworICAgICAgICBpZiBpc19wYWNrYWdlOgorICAgICAgICAgICAgc2VsZi5wYXRoID0gb3MucGF0aC5qb2luKHNlbGYucGFja2FnZSwgJ19faW5pdF9fLnB5JykKKyAgICAgICAgICAgIHNlbGYubmFtZSA9IHNlbGYucGFja2FnZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbW9kdWxlX25hbWUgPSAnbW9kJworICAgICAgICAgICAgc2VsZi5wYXRoID0gb3MucGF0aC5qb2luKHNlbGYucGFja2FnZSwgJy4nLmpvaW4oWydtb2QnLCAncHknXSkpCisgICAgICAgICAgICBzZWxmLm5hbWUgPSAnLicuam9pbihbc2VsZi5wYWNrYWdlLCBtb2R1bGVfbmFtZV0pCisgICAgICAgIHNlbGYuY2FjaGVkID0gaW1wLmNhY2hlX2Zyb21fc291cmNlKHNlbGYucGF0aCkKKyAgICAgICAgc2VsZi5sb2FkZXIgPSBzZWxmLmxvYWRlcl9tb2NrKHNlbGYucGF0aCwgKiprd2FyZ3MpCisKKyAgICBkZWYgdmVyaWZ5X21vZHVsZShzZWxmLCBtb2R1bGUpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX25hbWVfXywgc2VsZi5uYW1lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2ZpbGVfXywgc2VsZi5wYXRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX2NhY2hlZF9fLCBzZWxmLmNhY2hlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19wYWNrYWdlX18sIHNlbGYucGFja2FnZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2R1bGUuX19sb2FkZXJfXywgc2VsZi5sb2FkZXIpCisgICAgICAgIHZhbHVlcyA9IG1vZHVsZS5fLnNwbGl0KCc6OicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmFsdWVzWzBdLCBzZWxmLm5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmFsdWVzWzFdLCBzZWxmLnBhdGgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmFsdWVzWzJdLCBzZWxmLmNhY2hlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZXNbM10sIHNlbGYucGFja2FnZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZXNbNF0sIHJlcHIoc2VsZi5sb2FkZXIpKQorCisgICAgZGVmIHZlcmlmeV9jb2RlKHNlbGYsIGNvZGVfb2JqZWN0KToKKyAgICAgICAgbW9kdWxlID0gaW1wLm5ld19tb2R1bGUoc2VsZi5uYW1lKQorICAgICAgICBtb2R1bGUuX19maWxlX18gPSBzZWxmLnBhdGgKKyAgICAgICAgbW9kdWxlLl9fY2FjaGVkX18gPSBzZWxmLmNhY2hlZAorICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBzZWxmLnBhY2thZ2UKKyAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBzZWxmLmxvYWRlcgorICAgICAgICBtb2R1bGUuX19wYXRoX18gPSBbXQorICAgICAgICBleGVjKGNvZGVfb2JqZWN0LCBtb2R1bGUuX19kaWN0X18pCisgICAgICAgIHNlbGYudmVyaWZ5X21vZHVsZShtb2R1bGUpCisKKworY2xhc3MgU291cmNlT25seUxvYWRlclRlc3RzKFNvdXJjZUxvYWRlclRlc3RIYXJuZXNzKToKKworICAgICIiIlRlc3QgaW1wb3J0bGliLmFiYy5Tb3VyY2VMb2FkZXIgZm9yIHNvdXJjZS1vbmx5IGxvYWRpbmcuCisKKyAgICBSZWxvYWQgdGVzdGluZyBpcyBzdWJzdW1lZCBieSB0aGUgdGVzdHMgZm9yCisgICAgaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zvcl9sb2FkZXIuCisKKyAgICAiIiIKKworICAgIGxvYWRlcl9tb2NrID0gU291cmNlT25seUxvYWRlck1vY2sKKworICAgIGRlZiB0ZXN0X2dldF9zb3VyY2Uoc2VsZik6CisgICAgICAgICMgVmVyaWZ5IHRoZSBzb3VyY2UgY29kZSBpcyByZXR1cm5lZCBhcyBhIHN0cmluZy4KKyAgICAgICAgIyBJZiBhbiBPU0Vycm9yIGlzIHJhaXNlZCBieSBnZXRfZGF0YSB0aGVuIHJhaXNlIEltcG9ydEVycm9yLgorICAgICAgICBleHBlY3RlZF9zb3VyY2UgPSBzZWxmLmxvYWRlci5zb3VyY2UuZGVjb2RlKCd1dGYtOCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5sb2FkZXIuZ2V0X3NvdXJjZShzZWxmLm5hbWUpLCBleHBlY3RlZF9zb3VyY2UpCisgICAgICAgIGRlZiByYWlzZV9PU0Vycm9yKHBhdGgpOgorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcgorICAgICAgICBzZWxmLmxvYWRlci5nZXRfZGF0YSA9IHJhaXNlX09TRXJyb3IKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcikgYXMgY206CisgICAgICAgICAgICBzZWxmLmxvYWRlci5nZXRfc291cmNlKHNlbGYubmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ubmFtZSwgc2VsZi5uYW1lKQorCisgICAgZGVmIHRlc3RfaXNfcGFja2FnZShzZWxmKToKKyAgICAgICAgIyBQcm9wZXJseSBkZXRlY3Qgd2hlbiBsb2FkaW5nIGEgcGFja2FnZS4KKyAgICAgICAgc2VsZi5zZXRVcChpc19wYWNrYWdlPUZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYubG9hZGVyLmlzX3BhY2thZ2Uoc2VsZi5uYW1lKSkKKyAgICAgICAgc2VsZi5zZXRVcChpc19wYWNrYWdlPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmxvYWRlci5pc19wYWNrYWdlKHNlbGYubmFtZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2FkZXIuaXNfcGFja2FnZShzZWxmLm5hbWUgKyAnLl9faW5pdF9fJykpCisKKyAgICBkZWYgdGVzdF9nZXRfY29kZShzZWxmKToKKyAgICAgICAgIyBWZXJpZnkgdGhlIGNvZGUgb2JqZWN0IGlzIGNyZWF0ZWQuCisgICAgICAgIGNvZGVfb2JqZWN0ID0gc2VsZi5sb2FkZXIuZ2V0X2NvZGUoc2VsZi5uYW1lKQorICAgICAgICBzZWxmLnZlcmlmeV9jb2RlKGNvZGVfb2JqZWN0KQorCisgICAgZGVmIHRlc3Rfc291cmNlX3RvX2NvZGUoc2VsZik6CisgICAgICAgICMgVmVyaWZ5IHRoZSBjb21waWxlZCBjb2RlIG9iamVjdC4KKyAgICAgICAgY29kZSA9IHNlbGYubG9hZGVyLnNvdXJjZV90b19jb2RlKHNlbGYubG9hZGVyLnNvdXJjZSwgc2VsZi5wYXRoKQorICAgICAgICBzZWxmLnZlcmlmeV9jb2RlKGNvZGUpCisKKyAgICBkZWYgdGVzdF9sb2FkX21vZHVsZShzZWxmKToKKyAgICAgICAgIyBMb2FkaW5nIGEgbW9kdWxlIHNob3VsZCBzZXQgX19uYW1lX18sIF9fbG9hZGVyX18sIF9fcGFja2FnZV9fLAorICAgICAgICAjIF9fcGF0aF9fIChmb3IgcGFja2FnZXMpLCBfX2ZpbGVfXywgYW5kIF9fY2FjaGVkX18uCisgICAgICAgICMgVGhlIG1vZHVsZSBzaG91bGQgYWxzbyBiZSBwdXQgaW50byBzeXMubW9kdWxlcy4KKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUoc2VsZi5uYW1lKToKKyAgICAgICAgICAgIG1vZHVsZSA9IHNlbGYubG9hZGVyLmxvYWRfbW9kdWxlKHNlbGYubmFtZSkKKyAgICAgICAgICAgIHNlbGYudmVyaWZ5X21vZHVsZShtb2R1bGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vZHVsZS5fX3BhdGhfXywgW29zLnBhdGguZGlybmFtZShzZWxmLnBhdGgpXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi5uYW1lLCBzeXMubW9kdWxlcykKKworICAgIGRlZiB0ZXN0X3BhY2thZ2Vfc2V0dGluZ3Moc2VsZik6CisgICAgICAgICMgX19wYWNrYWdlX18gbmVlZHMgdG8gYmUgc2V0LCB3aGlsZSBfX3BhdGhfXyBpcyBzZXQgb24gaWYgdGhlIG1vZHVsZQorICAgICAgICAjIGlzIGEgcGFja2FnZS4KKyAgICAgICAgIyBUZXN0aW5nIHRoZSB2YWx1ZXMgZm9yIGEgcGFja2FnZSBhcmUgY292ZXJlZCBieSB0ZXN0X2xvYWRfbW9kdWxlLgorICAgICAgICBzZWxmLnNldFVwKGlzX3BhY2thZ2U9RmFsc2UpCisgICAgICAgIHdpdGggdXRpbC51bmNhY2hlKHNlbGYubmFtZSk6CisgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLmxvYWRlci5sb2FkX21vZHVsZShzZWxmLm5hbWUpCisgICAgICAgICAgICBzZWxmLnZlcmlmeV9tb2R1bGUobW9kdWxlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJykpCisKKyAgICBkZWYgdGVzdF9nZXRfc291cmNlX2VuY29kaW5nKHNlbGYpOgorICAgICAgICAjIFNvdXJjZSBpcyBjb25zaWRlcmVkIGVuY29kZWQgaW4gVVRGLTggYnkgZGVmYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlCisgICAgICAgICMgc3BlY2lmaWVkIGJ5IGFuIGVuY29kaW5nIGxpbmUuCisgICAgICAgIHNvdXJjZSA9ICJfID0gJ8O8JyIKKyAgICAgICAgc2VsZi5sb2FkZXIuc291cmNlID0gc291cmNlLmVuY29kZSgndXRmLTgnKQorICAgICAgICByZXR1cm5lZF9zb3VyY2UgPSBzZWxmLmxvYWRlci5nZXRfc291cmNlKHNlbGYubmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR1cm5lZF9zb3VyY2UsIHNvdXJjZSkKKyAgICAgICAgc291cmNlID0gIiMgY29kaW5nOiBsYXRpbi0xXG5fID0gw7wiCisgICAgICAgIHNlbGYubG9hZGVyLnNvdXJjZSA9IHNvdXJjZS5lbmNvZGUoJ2xhdGluLTEnKQorICAgICAgICByZXR1cm5lZF9zb3VyY2UgPSBzZWxmLmxvYWRlci5nZXRfc291cmNlKHNlbGYubmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR1cm5lZF9zb3VyY2UsIHNvdXJjZSkKKworCitAdW5pdHRlc3Quc2tpcElmKHN5cy5kb250X3dyaXRlX2J5dGVjb2RlLCAic3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgaXMgdHJ1ZSIpCitjbGFzcyBTb3VyY2VMb2FkZXJCeXRlY29kZVRlc3RzKFNvdXJjZUxvYWRlclRlc3RIYXJuZXNzKToKKworICAgICIiIlRlc3QgaW1wb3J0bGliLmFiYy5Tb3VyY2VMb2FkZXIncyB1c2Ugb2YgYnl0ZWNvZGUuCisKKyAgICBTb3VyY2Utb25seSB0ZXN0aW5nIGhhbmRsZWQgYnkgU291cmNlT25seUxvYWRlclRlc3RzLgorCisgICAgIiIiCisKKyAgICBsb2FkZXJfbW9jayA9IFNvdXJjZUxvYWRlck1vY2sKKworICAgIGRlZiB2ZXJpZnlfY29kZShzZWxmLCBjb2RlX29iamVjdCwgKiwgYnl0ZWNvZGVfd3JpdHRlbj1GYWxzZSk6CisgICAgICAgIHN1cGVyKCkudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QpCisgICAgICAgIGlmIGJ5dGVjb2RlX3dyaXR0ZW46CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuY2FjaGVkLCBzZWxmLmxvYWRlci53cml0dGVuKQorICAgICAgICAgICAgZGF0YSA9IGJ5dGVhcnJheShpbXAuZ2V0X21hZ2ljKCkpCisgICAgICAgICAgICBkYXRhLmV4dGVuZChpbXBvcnRsaWIuX3dfbG9uZyhzZWxmLmxvYWRlci5zb3VyY2VfbXRpbWUpKQorICAgICAgICAgICAgZGF0YS5leHRlbmQoaW1wb3J0bGliLl93X2xvbmcoc2VsZi5sb2FkZXIuc291cmNlX3NpemUpKQorICAgICAgICAgICAgZGF0YS5leHRlbmQobWFyc2hhbC5kdW1wcyhjb2RlX29iamVjdCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9hZGVyLndyaXR0ZW5bc2VsZi5jYWNoZWRdLCBieXRlcyhkYXRhKSkKKworICAgIGRlZiB0ZXN0X2NvZGVfd2l0aF9ldmVyeXRoaW5nKHNlbGYpOgorICAgICAgICAjIFdoZW4gZXZlcnl0aGluZyBzaG91bGQgd29yay4KKyAgICAgICAgY29kZV9vYmplY3QgPSBzZWxmLmxvYWRlci5nZXRfY29kZShzZWxmLm5hbWUpCisgICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QpCisKKyAgICBkZWYgdGVzdF9ub19ieXRlY29kZShzZWxmKToKKyAgICAgICAgIyBJZiBubyBieXRlY29kZSBleGlzdHMgdGhlbiBtb3ZlIG9uIHRvIHRoZSBzb3VyY2UuCisgICAgICAgIHNlbGYubG9hZGVyLmJ5dGVjb2RlX3BhdGggPSAiPGRvZXMgbm90IGV4aXN0PiIKKyAgICAgICAgIyBTYW5pdHkgY2hlY2sKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKToKKyAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBpbXAuY2FjaGVfZnJvbV9zb3VyY2Uoc2VsZi5wYXRoKQorICAgICAgICAgICAgc2VsZi5sb2FkZXIuZ2V0X2RhdGEoYnl0ZWNvZGVfcGF0aCkKKyAgICAgICAgY29kZV9vYmplY3QgPSBzZWxmLmxvYWRlci5nZXRfY29kZShzZWxmLm5hbWUpCisgICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QsIGJ5dGVjb2RlX3dyaXR0ZW49VHJ1ZSkKKworICAgIGRlZiB0ZXN0X2NvZGVfYmFkX3RpbWVzdGFtcChzZWxmKToKKyAgICAgICAgIyBCeXRlY29kZSBpcyBvbmx5IHVzZWQgd2hlbiB0aGUgdGltZXN0YW1wIG1hdGNoZXMgdGhlIHNvdXJjZSBFWEFDVExZLgorICAgICAgICBmb3Igc291cmNlX210aW1lIGluICgwLCAyKToKKyAgICAgICAgICAgIGFzc2VydCBzb3VyY2VfbXRpbWUgIT0gc2VsZi5sb2FkZXIuc291cmNlX210aW1lCisgICAgICAgICAgICBvcmlnaW5hbCA9IHNlbGYubG9hZGVyLnNvdXJjZV9tdGltZQorICAgICAgICAgICAgc2VsZi5sb2FkZXIuc291cmNlX210aW1lID0gc291cmNlX210aW1lCisgICAgICAgICAgICAjIElmIGJ5dGVjb2RlIGlzIHVzZWQgdGhlbiBFT0ZFcnJvciB3b3VsZCBiZSByYWlzZWQgYnkgbWFyc2hhbC4KKyAgICAgICAgICAgIHNlbGYubG9hZGVyLmJ5dGVjb2RlID0gc2VsZi5sb2FkZXIuYnl0ZWNvZGVbODpdCisgICAgICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYubG9hZGVyLmdldF9jb2RlKHNlbGYubmFtZSkKKyAgICAgICAgICAgIHNlbGYudmVyaWZ5X2NvZGUoY29kZV9vYmplY3QsIGJ5dGVjb2RlX3dyaXR0ZW49VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYubG9hZGVyLnNvdXJjZV9tdGltZSA9IG9yaWdpbmFsCisKKyAgICBkZWYgdGVzdF9jb2RlX2JhZF9tYWdpYyhzZWxmKToKKyAgICAgICAgIyBTa2lwIG92ZXIgYnl0ZWNvZGUgd2l0aCBhIGJhZCBtYWdpYyBudW1iZXIuCisgICAgICAgIHNlbGYuc2V0VXAobWFnaWM9YicwMDAwJykKKyAgICAgICAgIyBJZiBieXRlY29kZSBpcyB1c2VkIHRoZW4gRU9GRXJyb3Igd291bGQgYmUgcmFpc2VkIGJ5IG1hcnNoYWwuCisgICAgICAgIHNlbGYubG9hZGVyLmJ5dGVjb2RlID0gc2VsZi5sb2FkZXIuYnl0ZWNvZGVbODpdCisgICAgICAgIGNvZGVfb2JqZWN0ID0gc2VsZi5sb2FkZXIuZ2V0X2NvZGUoc2VsZi5uYW1lKQorICAgICAgICBzZWxmLnZlcmlmeV9jb2RlKGNvZGVfb2JqZWN0LCBieXRlY29kZV93cml0dGVuPVRydWUpCisKKyAgICBkZWYgdGVzdF9kb250X3dyaXRlX2J5dGVjb2RlKHNlbGYpOgorICAgICAgICAjIEJ5dGVjb2RlIGlzIG5vdCB3cml0dGVuIGlmIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGlzIHRydWUuCisgICAgICAgICMgQ2FuIGFzc3VtZSBpdCBpcyBmYWxzZSBhbHJlYWR5IHRoYW5rcyB0byB0aGUgc2tpcElmIGNsYXNzIGRlY29yYXRvci4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBUcnVlCisgICAgICAgICAgICBzZWxmLmxvYWRlci5ieXRlY29kZV9wYXRoID0gIjxkb2VzIG5vdCBleGlzdD4iCisgICAgICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYubG9hZGVyLmdldF9jb2RlKHNlbGYubmFtZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oc2VsZi5jYWNoZWQsIHNlbGYubG9hZGVyLndyaXR0ZW4pCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IEZhbHNlCisKKyAgICBkZWYgdGVzdF9ub19zZXRfZGF0YShzZWxmKToKKyAgICAgICAgIyBJZiBzZXRfZGF0YSBpcyBub3QgZGVmaW5lZCwgb25lIGNhbiBzdGlsbCByZWFkIGJ5dGVjb2RlLgorICAgICAgICBzZWxmLnNldFVwKG1hZ2ljPWInMDAwMCcpCisgICAgICAgIG9yaWdpbmFsX3NldF9kYXRhID0gc2VsZi5sb2FkZXIuX19jbGFzc19fLnNldF9kYXRhCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRlbCBzZWxmLmxvYWRlci5fX2NsYXNzX18uc2V0X2RhdGEKKyAgICAgICAgICAgIGNvZGVfb2JqZWN0ID0gc2VsZi5sb2FkZXIuZ2V0X2NvZGUoc2VsZi5uYW1lKQorICAgICAgICAgICAgc2VsZi52ZXJpZnlfY29kZShjb2RlX29iamVjdCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYubG9hZGVyLl9fY2xhc3NfXy5zZXRfZGF0YSA9IG9yaWdpbmFsX3NldF9kYXRhCisKKyAgICBkZWYgdGVzdF9zZXRfZGF0YV9yYWlzZXNfZXhjZXB0aW9ucyhzZWxmKToKKyAgICAgICAgIyBSYWlzaW5nIE5vdEltcGxlbWVudGVkRXJyb3Igb3IgT1NFcnJvciBpcyBva2F5IGZvciBzZXRfZGF0YS4KKyAgICAgICAgZGVmIHJhaXNlX2V4Y2VwdGlvbihleGMpOgorICAgICAgICAgICAgZGVmIGNsb3N1cmUoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgICAgICByYWlzZSBleGMKKyAgICAgICAgICAgIHJldHVybiBjbG9zdXJlCisKKyAgICAgICAgc2VsZi5zZXRVcChtYWdpYz1iJzAwMDAnKQorICAgICAgICBzZWxmLmxvYWRlci5zZXRfZGF0YSA9IHJhaXNlX2V4Y2VwdGlvbihOb3RJbXBsZW1lbnRlZEVycm9yKQorICAgICAgICBjb2RlX29iamVjdCA9IHNlbGYubG9hZGVyLmdldF9jb2RlKHNlbGYubmFtZSkKKyAgICAgICAgc2VsZi52ZXJpZnlfY29kZShjb2RlX29iamVjdCkKKworCitjbGFzcyBTb3VyY2VMb2FkZXJHZXRTb3VyY2VUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICAiIiJUZXN0cyBmb3IgaW1wb3J0bGliLmFiYy5Tb3VyY2VMb2FkZXIuZ2V0X3NvdXJjZSgpLiIiIgorCisgICAgZGVmIHRlc3RfZGVmYXVsdF9lbmNvZGluZyhzZWxmKToKKyAgICAgICAgIyBTaG91bGQgaGF2ZSBubyBwcm9ibGVtcyB3aXRoIFVURi04IHRleHQuCisgICAgICAgIG5hbWUgPSAnbW9kJworICAgICAgICBtb2NrID0gU291cmNlT25seUxvYWRlck1vY2soJ21vZC5maWxlJykKKyAgICAgICAgc291cmNlID0gJ3ggPSAiw7wiJworICAgICAgICBtb2NrLnNvdXJjZSA9IHNvdXJjZS5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgcmV0dXJuZWRfc291cmNlID0gbW9jay5nZXRfc291cmNlKG5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmV0dXJuZWRfc291cmNlLCBzb3VyY2UpCisKKyAgICBkZWYgdGVzdF9kZWNvZGVkX3NvdXJjZShzZWxmKToKKyAgICAgICAgIyBEZWNvZGluZyBzaG91bGQgd29yay4KKyAgICAgICAgbmFtZSA9ICdtb2QnCisgICAgICAgIG1vY2sgPSBTb3VyY2VPbmx5TG9hZGVyTW9jaygibW9kLmZpbGUiKQorICAgICAgICBzb3VyY2UgPSAiIyBjb2Rpbmc6IExhdGluLTFcbng9J8O8JyIKKyAgICAgICAgYXNzZXJ0IHNvdXJjZS5lbmNvZGUoJ2xhdGluLTEnKSAhPSBzb3VyY2UuZW5jb2RlKCd1dGYtOCcpCisgICAgICAgIG1vY2suc291cmNlID0gc291cmNlLmVuY29kZSgnbGF0aW4tMScpCisgICAgICAgIHJldHVybmVkX3NvdXJjZSA9IG1vY2suZ2V0X3NvdXJjZShuYW1lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJldHVybmVkX3NvdXJjZSwgc291cmNlKQorCisgICAgZGVmIHRlc3RfdW5pdmVyc2FsX25ld2xpbmVzKHNlbGYpOgorICAgICAgICAjIFBFUCAzMDIgc2F5cyB1bml2ZXJzYWwgbmV3bGluZXMgc2hvdWxkIGJlIHVzZWQuCisgICAgICAgIG5hbWUgPSAnbW9kJworICAgICAgICBtb2NrID0gU291cmNlT25seUxvYWRlck1vY2soJ21vZC5maWxlJykKKyAgICAgICAgc291cmNlID0gInggPSA0MlxyXG55ID0gLTEzXHJcbiIKKyAgICAgICAgbW9jay5zb3VyY2UgPSBzb3VyY2UuZW5jb2RlKCd1dGYtOCcpCisgICAgICAgIGV4cGVjdCA9IGlvLkluY3JlbWVudGFsTmV3bGluZURlY29kZXIoTm9uZSwgVHJ1ZSkuZGVjb2RlKHNvdXJjZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmdldF9zb3VyY2UobmFtZSksIGV4cGVjdCkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHRlc3RfbWFpbigpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X2FwaS5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5CmluZGV4IGIxYTU4OTQuLmFjODhiMmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfYXBpLnB5CkBAIC0xLDYgKzEsNyBAQAogZnJvbSAuIGltcG9ydCB1dGlsCiBpbXBvcnQgaW1wCiBpbXBvcnQgaW1wb3J0bGliCitmcm9tIGltcG9ydGxpYiBpbXBvcnQgX2Jvb3RzdHJhcAogZnJvbSBpbXBvcnRsaWIgaW1wb3J0IG1hY2hpbmVyeQogaW1wb3J0IHN5cwogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CkBAIC0xMTUsNiArMTE2LDIwIEBACiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgogICAgICAgICAgICAgICAgIGltcG9ydGxpYi5maW5kX2xvYWRlcihuYW1lKQogCisgICAgZGVmIHRlc3Rfc3lzX21vZHVsZXNfbG9hZGVyX2lzX25vdF9zZXQoc2VsZik6CisgICAgICAgICMgU2hvdWxkIHJhaXNlIFZhbHVlRXJyb3IKKyAgICAgICAgIyBJc3N1ZSAjMTcwOTkKKyAgICAgICAgbmFtZSA9ICdzb21lX21vZCcKKyAgICAgICAgd2l0aCB1dGlsLnVuY2FjaGUobmFtZSk6CisgICAgICAgICAgICBtb2R1bGUgPSBpbXAubmV3X21vZHVsZShuYW1lKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGRlbCBtb2R1bGUuX19sb2FkZXJfXworICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHN5cy5tb2R1bGVzW25hbWVdID0gbW9kdWxlCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgICAgIGltcG9ydGxpYi5maW5kX2xvYWRlcihuYW1lKQorCiAgICAgZGVmIHRlc3Rfc3VjY2VzcyhzZWxmKToKICAgICAgICAgIyBSZXR1cm4gdGhlIGxvYWRlciBmb3VuZCBvbiBzeXMubWV0YV9wYXRoLgogICAgICAgICBuYW1lID0gJ3NvbWVfbW9kJwpAQCAtMTgzLDIwICsxOTgsMTQgQEAKICAgICAgICAgZm9yIG5hbWUsIG1vZHVsZSBpbiBzeXMubW9kdWxlcy5pdGVtcygpOgogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShtb2R1bGUsIHR5cGVzLk1vZHVsZVR5cGUpOgogICAgICAgICAgICAgICAgIGlmIG5hbWUgaW4gc3lzLmJ1aWx0aW5fbW9kdWxlX25hbWVzOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGltcG9ydGxpYi5tYWNoaW5lcnkuQnVpbHRpbkltcG9ydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKG1vZHVsZS5fX2xvYWRlcl9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbXBvcnRsaWIubWFjaGluZXJ5LkJ1aWx0aW5JbXBvcnRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0bGliLl9ib290c3RyYXAuQnVpbHRpbkltcG9ydGVyKSkKICAgICAgICAgICAgICAgICBlbGlmIGltcC5pc19mcm96ZW4obmFtZSk6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW1wb3J0bGliLm1hY2hpbmVyeS5Gcm96ZW5JbXBvcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19sb2FkZXJfXykKLQotZGVmIHRlc3RfbWFpbigpOgotICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKLSAgICBydW5fdW5pdHRlc3QoSW1wb3J0TW9kdWxlVGVzdHMsCi0gICAgICAgICAgICAgICAgIEZpbmRMb2FkZXJUZXN0cywKLSAgICAgICAgICAgICAgICAgSW52YWxpZGF0ZUNhY2hlVGVzdHMsCi0gICAgICAgICAgICAgICAgIEZyb3plbkltcG9ydGxpYlRlc3RzLAotICAgICAgICAgICAgICAgICBTdGFydHVwVGVzdHMpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4obW9kdWxlLl9fbG9hZGVyX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltcG9ydGxpYi5tYWNoaW5lcnkuRnJvemVuSW1wb3J0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydGxpYi5fYm9vdHN0cmFwLkZyb3plbkltcG9ydGVyKSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHRlc3RfbWFpbigpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3V0aWwucHkgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGxpYi90ZXN0X3V0aWwucHkKaW5kZXggZWZjODk3Ny4uNWYwODcxOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRsaWIvdGVzdF91dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0bGliL3Rlc3RfdXRpbC5weQpAQCAtMTYyLDYgKzE2MiwzNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZWQuX19xdWFsbmFtZV9fLCBmeG4uX19xdWFsbmFtZV9fKQogCiAKK2NsYXNzIFNldExvYWRlclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICIiIlRlc3RzIGltcG9ydGxpYi51dGlsLnNldF9sb2FkZXIoKS4iIiIKKworICAgIGNsYXNzIER1bW15TG9hZGVyOgorICAgICAgICBAdXRpbC5zZXRfbG9hZGVyCisgICAgICAgIGRlZiBsb2FkX21vZHVsZShzZWxmLCBtb2R1bGUpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYubW9kdWxlCisKKyAgICBkZWYgdGVzdF9ub19hdHRyaWJ1dGUoc2VsZik6CisgICAgICAgIGxvYWRlciA9IHNlbGYuRHVtbXlMb2FkZXIoKQorICAgICAgICBsb2FkZXIubW9kdWxlID0gaW1wLm5ld19tb2R1bGUoJ2JsYWgnKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBkZWwgbG9hZGVyLm1vZHVsZS5fX2xvYWRlcl9fCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZXIsIGxvYWRlci5sb2FkX21vZHVsZSgnYmxhaCcpLl9fbG9hZGVyX18pCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVfaXNfTm9uZShzZWxmKToKKyAgICAgICAgbG9hZGVyID0gc2VsZi5EdW1teUxvYWRlcigpCisgICAgICAgIGxvYWRlci5tb2R1bGUgPSBpbXAubmV3X21vZHVsZSgnYmxhaCcpCisgICAgICAgIGxvYWRlci5tb2R1bGUuX19sb2FkZXJfXyA9IE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2FkZXIsIGxvYWRlci5sb2FkX21vZHVsZSgnYmxhaCcpLl9fbG9hZGVyX18pCisKKyAgICBkZWYgdGVzdF9ub3RfcmVzZXQoc2VsZik6CisgICAgICAgIGxvYWRlciA9IHNlbGYuRHVtbXlMb2FkZXIoKQorICAgICAgICBsb2FkZXIubW9kdWxlID0gaW1wLm5ld19tb2R1bGUoJ2JsYWgnKQorICAgICAgICBsb2FkZXIubW9kdWxlLl9fbG9hZGVyX18gPSA0MgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQyLCBsb2FkZXIubG9hZF9tb2R1bGUoJ2JsYWgnKS5fX2xvYWRlcl9fKQorCisKIGNsYXNzIFJlc29sdmVOYW1lVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgIiIiVGVzdHMgaW1wb3J0bGliLnV0aWwucmVzb2x2ZV9uYW1lKCkuIiIiCkBAIC0xOTUsMTQgKzIyNiw1IEBACiAgICAgICAgICAgICB1dGlsLnJlc29sdmVfbmFtZSgnLi5iYWNvbicsICdzcGFtJykKIAogCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoCi0gICAgICAgICAgICBNb2R1bGVGb3JMb2FkZXJUZXN0cywKLSAgICAgICAgICAgIFNldFBhY2thZ2VUZXN0cywKLSAgICAgICAgICAgIFJlc29sdmVOYW1lVGVzdHMKLSAgICAgICAgKQotCi0KIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weSBiL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weQppbmRleCA5ZjVlOTNiLi42YmQ5YmQxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2luc3BlY3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5CkBAIC00MDEsMTQgKzQwMSwxNCBAQAogICAgICAgICAgICAgdW5pY29kZWRhdGEuX19maWxlX19bLTQ6XSBpbiAoIi5weWMiLCAiLnB5byIpLAogICAgICAgICAidW5pY29kZWRhdGEgaXMgbm90IGFuIGV4dGVybmFsIGJpbmFyeSBtb2R1bGUiKQogICAgIGRlZiB0ZXN0X2ZpbmRzb3VyY2VfYmluYXJ5KHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBpbnNwZWN0LmdldHNvdXJjZSwgdW5pY29kZWRhdGEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGluc3BlY3QuZmluZHNvdXJjZSwgdW5pY29kZWRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGluc3BlY3QuZ2V0c291cmNlLCB1bmljb2RlZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgaW5zcGVjdC5maW5kc291cmNlLCB1bmljb2RlZGF0YSkKIAogICAgIGRlZiB0ZXN0X2ZpbmRzb3VyY2VfY29kZV9pbl9saW5lY2FjaGUoc2VsZik6CiAgICAgICAgIGxpbmVzID0gWyJ4PTEiXQogICAgICAgICBjbyA9IGNvbXBpbGUobGluZXNbMF0sICJfZHluYW1pY2FsbHlfY3JlYXRlZF9maWxlIiwgImV4ZWMiKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBpbnNwZWN0LmZpbmRzb3VyY2UsIGNvKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBpbnNwZWN0LmdldHNvdXJjZSwgY28pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGluc3BlY3QuZmluZHNvdXJjZSwgY28pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGluc3BlY3QuZ2V0c291cmNlLCBjbykKICAgICAgICAgbGluZWNhY2hlLmNhY2hlW2NvLmNvX2ZpbGVuYW1lXSA9ICgxLCBOb25lLCBsaW5lcywgY28uY29fZmlsZW5hbWUpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5zcGVjdC5maW5kc291cmNlKGNvKSwgKGxpbmVzLDApKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbnQucHkgYi9MaWIvdGVzdC90ZXN0X2ludC5weQppbmRleCA3MDNjMjMzLi40OTIxMjMwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ludC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ludC5weQpAQCAtMjM2LDYgKzIzNiw0NyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGludCwgYmFzZT0xMCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpbnQsIGJhc2U9MCkKIAorICAgIGRlZiB0ZXN0X2ludF9iYXNlX2xpbWl0cyhzZWxmKToKKyAgICAgICAgIiIiVGVzdGluZyB0aGUgc3VwcG9ydGVkIGxpbWl0cyBvZiB0aGUgaW50KCkgYmFzZSBwYXJhbWV0ZXIuIiIiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW50KCcwJywgNSksIDApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBpbnQoJzAnLCAxKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaW50KCcwJywgMzcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBpbnQoJzAnLCAtOTA5KSAgIyBBbiBvbGQgbWFnaWMgdmFsdWUgYmFzZSBmcm9tIFB5dGhvbiAyLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaW50KCcwJywgYmFzZT0wLSgyKioyMzQpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgaW50KCcwJywgYmFzZT0yKioyMzQpCisgICAgICAgICMgQmFzZXMgMiB0aHJvdWdoIDM2IGFyZSBzdXBwb3J0ZWQuCisgICAgICAgIGZvciBiYXNlIGluIHJhbmdlKDIsMzcpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnQoJzAnLCBiYXNlPWJhc2UpLCAwKQorCisgICAgZGVmIHRlc3RfaW50X2Jhc2VfYmFkX3R5cGVzKHNlbGYpOgorICAgICAgICAiIiJOb3QgaW50ZWdlciB0eXBlcyBhcmUgbm90IHZhbGlkIGJhc2VzOyBpc3N1ZTE2NzcyLiIiIgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBpbnQoJzAnLCA1LjUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIGludCgnMCcsIDUuMCkKKworICAgIGRlZiB0ZXN0X2ludF9iYXNlX2luZGV4YWJsZShzZWxmKToKKyAgICAgICAgY2xhc3MgTXlJbmRleGFibGUob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CisgICAgICAgICAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCisgICAgICAgICAgICBkZWYgX19pbmRleF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCisKKyAgICAgICAgIyBDaGVjayBvdXQgb2YgcmFuZ2UgYmFzZXMuCisgICAgICAgIGZvciBiYXNlIGluIDIqKjEwMCwgLTIqKjEwMCwgMSwgMzc6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgICAgIGludCgnNDMnLCBiYXNlKQorCisgICAgICAgICMgQ2hlY2sgaW4tcmFuZ2UgYmFzZXMuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW50KCcxMDEnLCBiYXNlPU15SW5kZXhhYmxlKDIpKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnQoJzEwMScsIGJhc2U9TXlJbmRleGFibGUoMTApKSwgMTAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludCgnMTAxJywgYmFzZT1NeUluZGV4YWJsZSgzNikpLCAxICsgMzYqKjIpCisKICAgICBkZWYgdGVzdF9ub25fbnVtZXJpY19pbnB1dF90eXBlcyhzZWxmKToKICAgICAgICAgIyBUZXN0IHBvc3NpYmxlIG5vbi1udW1lcmljIHR5cGVzIGZvciB0aGUgYXJndW1lbnQgeCwgaW5jbHVkaW5nCiAgICAgICAgICMgc3ViY2xhc3NlcyBvZiB0aGUgZXhwbGljaXRseSBkb2N1bWVudGVkIGFjY2VwdGVkIHR5cGVzLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pby5weSBiL0xpYi90ZXN0L3Rlc3RfaW8ucHkKaW5kZXggNmVmZDAxMC4uNDRlNWNhZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pby5weQorKysgYi9MaWIvdGVzdC90ZXN0X2lvLnB5CkBAIC0xNjUsNyArMTY1LDcgQEAKICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxmLmNsb3NlZDoKICAgICAgICAgICAgIHNlbGYuY2xvc2VkID0gMQotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcgorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcgogCiBjbGFzcyBDQ2xvc2VGYWlsdXJlSU8oQ2xvc2VGYWlsdXJlSU8sIGlvLlJhd0lPQmFzZSk6CiAgICAgcGFzcwpAQCAtNjAxLDkgKzYwMSw5IEBACiAgICAgZGVmIHRlc3RfZmx1c2hfZXJyb3Jfb25fY2xvc2Uoc2VsZik6CiAgICAgICAgIGYgPSBzZWxmLm9wZW4oc3VwcG9ydC5URVNURk4sICJ3YiIsIGJ1ZmZlcmluZz0wKQogICAgICAgICBkZWYgYmFkX2ZsdXNoKCk6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCkKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoKQogICAgICAgICBmLmZsdXNoID0gYmFkX2ZsdXNoCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGYuY2xvc2UpICMgZXhjZXB0aW9uIG5vdCBzd2FsbG93ZWQKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgZi5jbG9zZSkgIyBleGNlcHRpb24gbm90IHN3YWxsb3dlZAogICAgICAgICBzZWxmLmFzc2VydFRydWUoZi5jbG9zZWQpCiAKICAgICBkZWYgdGVzdF9tdWx0aV9jbG9zZShzZWxmKToKQEAgLTc2Miw3ICs3NjIsNyBAQAogICAgICAgICBpZiBzOgogICAgICAgICAgICAgIyBUaGUgZGVzdHJ1Y3RvciAqbWF5KiBoYXZlIHByaW50ZWQgYW4gdW5yYWlzYWJsZSBlcnJvciwgY2hlY2sgaXQKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHMuc3BsaXRsaW5lcygpKSwgMSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIkV4Y2VwdGlvbiBJT0Vycm9yOiAiKSwgcykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIkV4Y2VwdGlvbiBPU0Vycm9yOiAiKSwgcykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLmVuZHN3aXRoKCIgaWdub3JlZCIpLCBzKQogCiAgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKQEAgLTc3OCwyMiArNzc4LDIyIEBACiAgICAgZGVmIHRlc3RfZmx1c2hfZXJyb3Jfb25fY2xvc2Uoc2VsZik6CiAgICAgICAgIHJhdyA9IHNlbGYuTW9ja1Jhd0lPKCkKICAgICAgICAgZGVmIGJhZF9mbHVzaCgpOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCkKICAgICAgICAgcmF3LmZsdXNoID0gYmFkX2ZsdXNoCiAgICAgICAgIGIgPSBzZWxmLnRwKHJhdykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYi5jbG9zZSkgIyBleGNlcHRpb24gbm90IHN3YWxsb3dlZAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBiLmNsb3NlKSAjIGV4Y2VwdGlvbiBub3Qgc3dhbGxvd2VkCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiLmNsb3NlZCkKIAogICAgIGRlZiB0ZXN0X2Nsb3NlX2Vycm9yX29uX2Nsb3NlKHNlbGYpOgogICAgICAgICByYXcgPSBzZWxmLk1vY2tSYXdJTygpCiAgICAgICAgIGRlZiBiYWRfZmx1c2goKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoJ2ZsdXNoJykKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IoJ2ZsdXNoJykKICAgICAgICAgZGVmIGJhZF9jbG9zZSgpOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignY2xvc2UnKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignY2xvc2UnKQogICAgICAgICByYXcuY2xvc2UgPSBiYWRfY2xvc2UKICAgICAgICAgYiA9IHNlbGYudHAocmF3KQogICAgICAgICBiLmZsdXNoID0gYmFkX2ZsdXNoCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcikgYXMgZXJyOiAjIGV4Y2VwdGlvbiBub3Qgc3dhbGxvd2VkCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgZXJyOiAjIGV4Y2VwdGlvbiBub3Qgc3dhbGxvd2VkCiAgICAgICAgICAgICBiLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuZXhjZXB0aW9uLmFyZ3MsICgnY2xvc2UnLCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmV4Y2VwdGlvbi5fX2NvbnRleHRfXy5hcmdzLCAoJ2ZsdXNoJywpKQpAQCAtODMzLDYgKzgzMywxNCBAQAogICAgICAgICBidWZpbyA9IHNlbGYudHAocmF3aW8sIGJ1ZmZlcl9zaXplPWJ1ZnNpemUyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5nZXRzaXplb2YoYnVmaW8pLCBzaXplICsgYnVmc2l6ZTIpCiAKKyAgICBAc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9idWZmZXJfZnJlZWluZyhzZWxmKSA6CisgICAgICAgIGJ1ZnNpemUgPSA0MDk2CisgICAgICAgIHJhd2lvID0gc2VsZi5Nb2NrUmF3SU8oKQorICAgICAgICBidWZpbyA9IHNlbGYudHAocmF3aW8sIGJ1ZmZlcl9zaXplPWJ1ZnNpemUpCisgICAgICAgIHNpemUgPSBzeXMuZ2V0c2l6ZW9mKGJ1ZmlvKSAtIGJ1ZnNpemUKKyAgICAgICAgYnVmaW8uY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5nZXRzaXplb2YoYnVmaW8pLCBzaXplKQogCiBjbGFzcyBCdWZmZXJlZFJlYWRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UsIENvbW1vbkJ1ZmZlcmVkVGVzdHMpOgogICAgIHJlYWRfbW9kZSA9ICJyYiIKQEAgLTEwMDcsOCArMTAxNSw4IEBACiAgICAgZGVmIHRlc3RfbWlzYmVoYXZlZF9pbyhzZWxmKToKICAgICAgICAgcmF3aW8gPSBzZWxmLk1pc2JlaGF2ZWRSYXdJTygoYiJhYmMiLCBiImQiLCBiImVmZyIpKQogICAgICAgICBidWZpbyA9IHNlbGYudHAocmF3aW8pCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGJ1ZmlvLnNlZWssIDApCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGJ1ZmlvLnRlbGwpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGJ1ZmlvLnNlZWssIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGJ1ZmlvLnRlbGwpCiAKICAgICBkZWYgdGVzdF9ub19leHRyYW5lb3VzX3JlYWQoc2VsZik6CiAgICAgICAgICMgSXNzdWUgIzk1NTA7IHdoZW4gdGhlIHJhdyBJTyBvYmplY3QgaGFzIHNhdGlzZmllZCB0aGUgcmVhZCByZXF1ZXN0LApAQCAtMTA1OSw3ICsxMDY3LDcgQEAKICAgICAgICAgYnVmaW8gPSBzZWxmLnRwKHJhd2lvKQogICAgICAgICAjIF9weWlvLkJ1ZmZlcmVkUmVhZGVyIHNlZW1zIHRvIGltcGxlbWVudCByZWFkaW5nIGRpZmZlcmVudCwgc28gdGhhdAogICAgICAgICAjIGNoZWNraW5nIHRoaXMgaXMgbm90IHNvIGVhc3kuCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGJ1ZmlvLnJlYWQsIDEwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBidWZpby5yZWFkLCAxMCkKIAogICAgIGRlZiB0ZXN0X2dhcmJhZ2VfY29sbGVjdGlvbihzZWxmKToKICAgICAgICAgIyBDIEJ1ZmZlcmVkUmVhZGVyIG9iamVjdHMgYXJlIGNvbGxlY3RlZC4KQEAgLTEzMTIsOSArMTMyMCw5IEBACiAgICAgZGVmIHRlc3RfbWlzYmVoYXZlZF9pbyhzZWxmKToKICAgICAgICAgcmF3aW8gPSBzZWxmLk1pc2JlaGF2ZWRSYXdJTygpCiAgICAgICAgIGJ1ZmlvID0gc2VsZi50cChyYXdpbywgNSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYnVmaW8uc2VlaywgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYnVmaW8udGVsbCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYnVmaW8ud3JpdGUsIGIiYWJjZGVmIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgYnVmaW8uc2VlaywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgYnVmaW8udGVsbCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgYnVmaW8ud3JpdGUsIGIiYWJjZGVmIikKIAogICAgIGRlZiB0ZXN0X21heF9idWZmZXJfc2l6ZV9yZW1vdmFsKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CkBAIC0xMzIzLDExICsxMzMxLDExIEBACiAgICAgZGVmIHRlc3Rfd3JpdGVfZXJyb3Jfb25fY2xvc2Uoc2VsZik6CiAgICAgICAgIHJhdyA9IHNlbGYuTW9ja1Jhd0lPKCkKICAgICAgICAgZGVmIGJhZF93cml0ZShiKToKLSAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigpCiAgICAgICAgIHJhdy53cml0ZSA9IGJhZF93cml0ZQogICAgICAgICBiID0gc2VsZi50cChyYXcpCiAgICAgICAgIGIud3JpdGUoYidzcGFtJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYi5jbG9zZSkgIyBleGNlcHRpb24gbm90IHN3YWxsb3dlZAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBiLmNsb3NlKSAjIGV4Y2VwdGlvbiBub3Qgc3dhbGxvd2VkCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiLmNsb3NlZCkKIAogCkBAIC0xMzk3LDE0ICsxNDA1LDE0IEBACiAgICAgICAgICAgICBkZWYgcmVhZGFibGUoc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgc2VsZi50cCwgTm90UmVhZGFibGUoKSwgc2VsZi5Nb2NrUmF3SU8oKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc2VsZi50cCwgTm90UmVhZGFibGUoKSwgc2VsZi5Nb2NrUmF3SU8oKSkKIAogICAgIGRlZiB0ZXN0X2NvbnN0cnVjdG9yX3dpdGhfbm90X3dyaXRlYWJsZShzZWxmKToKICAgICAgICAgY2xhc3MgTm90V3JpdGVhYmxlKE1vY2tSYXdJTyk6CiAgICAgICAgICAgICBkZWYgd3JpdGFibGUoc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgc2VsZi50cCwgc2VsZi5Nb2NrUmF3SU8oKSwgTm90V3JpdGVhYmxlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNlbGYudHAsIHNlbGYuTW9ja1Jhd0lPKCksIE5vdFdyaXRlYWJsZSgpKQogCiAgICAgZGVmIHRlc3RfcmVhZChzZWxmKToKICAgICAgICAgcGFpciA9IHNlbGYudHAoc2VsZi5CeXRlc0lPKGIiYWJjZGVmIiksIHNlbGYuTW9ja1Jhd0lPKCkpCkBAIC0yMTY1LDcgKzIxNzMsNyBAQAogICAgICAgICBpZiBzOgogICAgICAgICAgICAgIyBUaGUgZGVzdHJ1Y3RvciAqbWF5KiBoYXZlIHByaW50ZWQgYW4gdW5yYWlzYWJsZSBlcnJvciwgY2hlY2sgaXQKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHMuc3BsaXRsaW5lcygpKSwgMSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIkV4Y2VwdGlvbiBJT0Vycm9yOiAiKSwgcykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLnN0YXJ0c3dpdGgoIkV4Y2VwdGlvbiBPU0Vycm9yOiAiKSwgcykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLmVuZHN3aXRoKCIgaWdub3JlZCIpLCBzKQogCiAgICAgIyBTeXN0ZW1hdGljIHRlc3RzIG9mIHRoZSB0ZXh0IEkvTyBBUEkKQEAgLTIyMzcsNyArMjI0NSw3IEBACiAgICAgICAgIGYuc2VlaygwKQogICAgICAgICBmb3IgbGluZSBpbiBmOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lLCAiXHhmZlxuIikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGYudGVsbCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGYudGVsbCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnRlbGwoKSwgcDIpCiAgICAgICAgIGYuY2xvc2UoKQogCkBAIC0yMzQxLDcgKzIzNDksNyBAQAogICAgICAgICAgICAgZGVmIHJlYWRhYmxlKHNlbGYpOgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICB0eHQgPSBzZWxmLlRleHRJT1dyYXBwZXIoVW5SZWFkYWJsZSgpKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCB0eHQucmVhZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgdHh0LnJlYWQpCiAKICAgICBkZWYgdGVzdF9yZWFkX29uZV9ieV9vbmUoc2VsZik6CiAgICAgICAgIHR4dCA9IHNlbGYuVGV4dElPV3JhcHBlcihzZWxmLkJ5dGVzSU8oYiJBQVxyXG5CQiIpKQpAQCAtMjUxNiw5ICsyNTI0LDkgQEAKICAgICBkZWYgdGVzdF9mbHVzaF9lcnJvcl9vbl9jbG9zZShzZWxmKToKICAgICAgICAgdHh0ID0gc2VsZi5UZXh0SU9XcmFwcGVyKHNlbGYuQnl0ZXNJTyhzZWxmLnRlc3RkYXRhKSwgZW5jb2Rpbmc9ImFzY2lpIikKICAgICAgICAgZGVmIGJhZF9mbHVzaCgpOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCkKICAgICAgICAgdHh0LmZsdXNoID0gYmFkX2ZsdXNoCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIHR4dC5jbG9zZSkgIyBleGNlcHRpb24gbm90IHN3YWxsb3dlZAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCB0eHQuY2xvc2UpICMgZXhjZXB0aW9uIG5vdCBzd2FsbG93ZWQKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHR4dC5jbG9zZWQpCiAKICAgICBkZWYgdGVzdF9tdWx0aV9jbG9zZShzZWxmKToKQEAgLTI4OTYsNyArMjkwNCw3IEBACiAgICAgICAgICAgICBmb3IgZmQgaW4gZmRzOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgb3MuY2xvc2UoZmQpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVCQURGOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGNsZWFudXBfZmRzKQpAQCAtMzA3NSw3ICszMDgzLDcgQEAKICAgICAgICAgICAgICMgYnVmZmVyLCBhbmQgYmxvY2sgYWdhaW4uCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgd2lvLmNsb3NlKCkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUJBREY6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAKQEAgLTMyMDMsNyArMzIxMSw3IEBACiAgICAgICAgICAgICAjIGJ1ZmZlciwgYW5kIGNvdWxkIGJsb2NrIChpbiBjYXNlIG9mIGZhaWx1cmUpLgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHdpby5jbG9zZSgpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVCQURGOgogICAgICAgICAgICAgICAgICAgICByYWlzZQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2lvY3RsLnB5IGIvTGliL3Rlc3QvdGVzdF9pb2N0bC5weQppbmRleCA1MzFjOWFmLi43ZWIzMjRhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2lvY3RsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW9jdGwucHkKQEAgLTgsNyArOCw3IEBACiAKIHRyeToKICAgICB0dHkgPSBvcGVuKCIvZGV2L3R0eSIsICJyYiIpCi1leGNlcHQgSU9FcnJvcjoKK2V4Y2VwdCBPU0Vycm9yOgogICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJVbmFibGUgdG8gb3BlbiAvZGV2L3R0eSIpCiBlbHNlOgogICAgICMgU2tpcCBpZiBhbm90aGVyIHByb2Nlc3MgaXMgaW4gZm9yZWdyb3VuZApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pdGVybGVuLnB5IGIvTGliL3Rlc3QvdGVzdF9pdGVybGVuLnB5CmluZGV4IDkxMDFmNmMuLjE1MmY1ZmMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaXRlcmxlbi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2l0ZXJsZW4ucHkKQEAgLTQ1LDMxICs0NSwyMSBAQAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgcmVwZWF0CiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZQotZnJvbSBidWlsdGlucyBpbXBvcnQgbGVuIGFzIF9sZW4KK2Zyb20gb3BlcmF0b3IgaW1wb3J0IGxlbmd0aF9oaW50CiAKIG4gPSAxMAogCi1kZWYgbGVuKG9iaik6Ci0gICAgdHJ5OgotICAgICAgICByZXR1cm4gX2xlbihvYmopCi0gICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBub3RlOiB0aGlzIGlzIGFuIGludGVybmFsIHVuZG9jdW1lbnRlZCBBUEksCi0gICAgICAgICAgICAjIGRvbid0IHJlbHkgb24gaXQgaW4geW91ciBvd24gcHJvZ3JhbXMKLSAgICAgICAgICAgIHJldHVybiBvYmouX19sZW5ndGhfaGludF9fKCkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yCiAKIGNsYXNzIFRlc3RJbnZhcmlhbnRXaXRob3V0TXV0YXRpb25zOgogCiAgICAgZGVmIHRlc3RfaW52YXJpYW50KHNlbGYpOgogICAgICAgICBpdCA9IHNlbGYuaXQKICAgICAgICAgZm9yIGkgaW4gcmV2ZXJzZWQocmFuZ2UoMSwgbisxKSk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIGkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbmd0aF9oaW50KGl0KSwgaSkKICAgICAgICAgICAgIG5leHQoaXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGl0KSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW5ndGhfaGludChpdCksIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24sIG5leHQsIGl0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuZ3RoX2hpbnQoaXQpLCAwKQogCiBjbGFzcyBUZXN0VGVtcG9yYXJpbHlJbW11dGFibGUoVGVzdEludmFyaWFudFdpdGhvdXRNdXRhdGlvbnMpOgogCkBAIC03OCwxMiArNjgsMTIgQEAKICAgICAgICAgIyBsZW5ndGggaW1tdXRhYmlsaXR5ICBkdXJpbmcgaXRlcmF0aW9uCiAKICAgICAgICAgaXQgPSBzZWxmLml0Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGl0KSwgbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW5ndGhfaGludChpdCksIG4pCiAgICAgICAgIG5leHQoaXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGl0KSwgbi0xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbmd0aF9oaW50KGl0KSwgbi0xKQogICAgICAgICBzZWxmLm11dGF0ZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgbmV4dCwgaXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGl0KSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW5ndGhfaGludChpdCksIDApCiAKICMjIC0tLS0tLS0gQ29uY3JldGUgVHlwZSBUZXN0cyAtLS0tLS0tCiAKQEAgLTkyLDEwICs4Miw2IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLml0ID0gcmVwZWF0KE5vbmUsIG4pCiAKLSAgICBkZWYgdGVzdF9ub19sZW5fZm9yX2luZmluaXRlX3JlcGVhdChzZWxmKToKLSAgICAgICAgIyBUaGUgcmVwZWF0KCkgb2JqZWN0IGNhbiBhbHNvIGJlIGluZmluaXRlCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbGVuLCByZXBlYXQoTm9uZSkpCi0KIGNsYXNzIFRlc3RYcmFuZ2UoVGVzdEludmFyaWFudFdpdGhvdXRNdXRhdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTE2NywxNCArMTUzLDE1IEBACiAgICAgICAgIGl0ID0gaXRlcihkKQogICAgICAgICBuZXh0KGl0KQogICAgICAgICBuZXh0KGl0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIG4tMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW5ndGhfaGludChpdCksIG4gLSAyKQogICAgICAgICBkLmFwcGVuZChuKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIG4tMSkgICMgZ3JvdyB3aXRoIGFwcGVuZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbmd0aF9oaW50KGl0KSwgbiAtIDEpICAjIGdyb3cgd2l0aCBhcHBlbmQKICAgICAgICAgZFsxOl0gPSBbXQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuZ3RoX2hpbnQoaXQpLCAwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaXQpLCBbXSkKICAgICAgICAgZC5leHRlbmQocmFuZ2UoMjApKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuZ3RoX2hpbnQoaXQpLCAwKQorCiAKIGNsYXNzIFRlc3RMaXN0UmV2ZXJzZWQoVGVzdEludmFyaWFudFdpdGhvdXRNdXRhdGlvbnMsIHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtMTg2LDMyICsxNzMsNDEgQEAKICAgICAgICAgaXQgPSByZXZlcnNlZChkKQogICAgICAgICBuZXh0KGl0KQogICAgICAgICBuZXh0KGl0KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIG4tMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW5ndGhfaGludChpdCksIG4gLSAyKQogICAgICAgICBkLmFwcGVuZChuKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIG4tMikgICMgaWdub3JlIGFwcGVuZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbmd0aF9oaW50KGl0KSwgbiAtIDIpICAjIGlnbm9yZSBhcHBlbmQKICAgICAgICAgZFsxOl0gPSBbXQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuZ3RoX2hpbnQoaXQpLCAwKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaXQpLCBbXSkgICMgY29uZmlybSBpbnZhcmlhbnQKICAgICAgICAgZC5leHRlbmQocmFuZ2UoMjApKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpdCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuZ3RoX2hpbnQoaXQpLCAwKQogCiAjIyAtLSBDaGVjayB0byBtYWtlIHN1cmUgZXhjZXB0aW9ucyBhcmUgbm90IHN1cHByZXNzZWQgYnkgX19sZW5ndGhfaGludF9fKCkKIAogCiBjbGFzcyBCYWRMZW4ob2JqZWN0KToKLSAgICBkZWYgX19pdGVyX18oc2VsZik6IHJldHVybiBpdGVyKHJhbmdlKDEwKSkKKyAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBpdGVyKHJhbmdlKDEwKSkKKwogICAgIGRlZiBfX2xlbl9fKHNlbGYpOgogICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ2hlbGxvJykKIAorCiBjbGFzcyBCYWRMZW5ndGhIaW50KG9iamVjdCk6Ci0gICAgZGVmIF9faXRlcl9fKHNlbGYpOiByZXR1cm4gaXRlcihyYW5nZSgxMCkpCisgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gaXRlcihyYW5nZSgxMCkpCisKICAgICBkZWYgX19sZW5ndGhfaGludF9fKHNlbGYpOgogICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ2hlbGxvJykKIAorCiBjbGFzcyBOb25lTGVuZ3RoSGludChvYmplY3QpOgotICAgIGRlZiBfX2l0ZXJfXyhzZWxmKTogcmV0dXJuIGl0ZXIocmFuZ2UoMTApKQorICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGl0ZXIocmFuZ2UoMTApKQorCiAgICAgZGVmIF9fbGVuZ3RoX2hpbnRfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIE5vdEltcGxlbWVudGVkCisKIAogY2xhc3MgVGVzdExlbmd0aEhpbnRFeGNlcHRpb25zKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkgYi9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weQppbmRleCA1MzkyNmE5Li5mZGY3OTg0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weQpAQCAtMTcyOSw5ICsxNzI5LDggQEAKIGNsYXNzIExlbmd0aFRyYW5zcGFyZW5jeSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9yZXBlYXQoc2VsZik6Ci0gICAgICAgIGZyb20gdGVzdC50ZXN0X2l0ZXJsZW4gaW1wb3J0IGxlbgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXBlYXQoTm9uZSwgNTApKSwgNTApCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbGVuLCByZXBlYXQoTm9uZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IubGVuZ3RoX2hpbnQocmVwZWF0KE5vbmUsIDUwKSksIDUwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmxlbmd0aF9oaW50KHJlcGVhdChOb25lKSwgMTIpLCAxMikKIAogY2xhc3MgUmVncmVzc2lvblRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9rZXl3b3JkLnB5IGIvTGliL3Rlc3QvdGVzdF9rZXl3b3JkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOTlmNTIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2tleXdvcmQucHkKQEAgLTAsMCArMSwxMzggQEAKK2ltcG9ydCBrZXl3b3JkCitpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAoraW1wb3J0IGZpbGVjbXAKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCB0ZXh0d3JhcAorCitLRVlXT1JEX0ZJTEUgICAgICAgICAgICAgPSBzdXBwb3J0LmZpbmRmaWxlKCdrZXl3b3JkLnB5JykKK0dSQU1NQVJfRklMRSAgICAgICAgICAgICA9IG9zLnBhdGguam9pbihvcy5wYXRoLnNwbGl0KF9fZmlsZV9fKVswXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4nLCAnLi4nLCAnUHl0aG9uJywgJ2dyYW1pbml0LmMnKQorVEVTVF9QWV9GSUxFICAgICAgICAgICAgID0gJ2tleXdvcmRfdGVzdC5weScKK0dSQU1NQVJfVEVTVF9GSUxFICAgICAgICA9ICdncmFtaW5pdF90ZXN0LmMnCitQWV9GSUxFX1dJVEhPVVRfS0VZV09SRFMgPSAnbWluaW1hbF9rZXl3b3JkLnB5JworTk9ORVhJU1RFTlRfRklMRSAgICAgICAgID0gJ25vdF9oZXJlLnR4dCcKKworCitjbGFzcyBUZXN0X2lza2V5d29yZCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfdHJ1ZV9pc19hX2tleXdvcmQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShrZXl3b3JkLmlza2V5d29yZCgnVHJ1ZScpKQorCisgICAgZGVmIHRlc3RfdXBwZXJjYXNlX3RydWVfaXNfbm90X2Ffa2V5d29yZChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShrZXl3b3JkLmlza2V5d29yZCgnVFJVRScpKQorCisgICAgZGVmIHRlc3Rfbm9uZV92YWx1ZV9pc19ub3RfYV9rZXl3b3JkKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGtleXdvcmQuaXNrZXl3b3JkKE5vbmUpKQorCisgICAgIyBUaGlzIGlzIHByb2JhYmx5IGFuIGFjY2lkZW50IG9mIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBidXQgc2hvdWxkIGJlCisgICAgIyBwcmVzZXJ2ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCisgICAgZGVmIHRlc3RfY2hhbmdpbmdfdGhlX2t3bGlzdF9kb2VzX25vdF9hZmZlY3RfaXNrZXl3b3JkKHNlbGYpOgorICAgICAgICBvbGRsaXN0ID0ga2V5d29yZC5rd2xpc3QKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIGtleXdvcmQsICdrd2xpc3QnLCBvbGRsaXN0KQorICAgICAgICBrZXl3b3JkLmt3bGlzdCA9IFsnaXRzJywgJ2FsbCcsICdlZ2dzJywgJ2JlYW5zJywgJ2FuZCcsICdhJywgJ3NsaWNlJ10KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShrZXl3b3JkLmlza2V5d29yZCgnZWdncycpKQorCisKK2NsYXNzIFRlc3RLZXl3b3JkR2VuZXJhdGlvbih1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgX2NvcHlfZmlsZV93aXRob3V0X2dlbmVyYXRlZF9rZXl3b3JkcyhzZWxmLCBzb3VyY2VfZmlsZSwgZGVzdF9maWxlKToKKyAgICAgICAgd2l0aCBvcGVuKHNvdXJjZV9maWxlLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgIGxpbmVzID0gZnAucmVhZGxpbmVzKCkKKyAgICAgICAgbmwgPSBsaW5lc1swXVtsZW4obGluZXNbMF0uc3RyaXAoKSk6XQorICAgICAgICB3aXRoIG9wZW4oZGVzdF9maWxlLCAnd2InKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlbGluZXMobGluZXNbOmxpbmVzLmluZGV4KGIiIy0tc3RhcnQga2V5d29yZHMtLSIgKyBubCkgKyAxXSkKKyAgICAgICAgICAgIGZwLndyaXRlbGluZXMobGluZXNbbGluZXMuaW5kZXgoYiIjLS1lbmQga2V5d29yZHMtLSIgKyBubCk6XSkKKworICAgIGRlZiBfZ2VuZXJhdGVfa2V5d29yZHMoc2VsZiwgZ3JhbW1hcl9maWxlLCB0YXJnZXRfa2V5d29yZF9weV9maWxlKToKKyAgICAgICAgcHJvYyA9IHN1YnByb2Nlc3MuUG9wZW4oW3N5cy5leGVjdXRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS0VZV09SRF9GSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JhbW1hcl9maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2tleXdvcmRfcHlfZmlsZV0sIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisgICAgICAgIHN0ZGVyciA9IHByb2MuY29tbXVuaWNhdGUoKVsxXQorICAgICAgICByZXR1cm4gcHJvYy5yZXR1cm5jb2RlLCBzdGRlcnIKKworICAgIEB1bml0dGVzdC5za2lwSWYobm90IG9zLnBhdGguZXhpc3RzKEdSQU1NQVJfRklMRSksCisgICAgICAgICAgICAgICAgICAgICAndGVzdCBvbmx5IHdvcmtzIGZyb20gc291cmNlIGJ1aWxkIGRpcmVjdG9yeScpCisgICAgZGVmIHRlc3RfcmVhbF9ncmFtbWFyX2FuZF9rZXl3b3JkX2ZpbGUoc2VsZik6CisgICAgICAgIHNlbGYuX2NvcHlfZmlsZV93aXRob3V0X2dlbmVyYXRlZF9rZXl3b3JkcyhLRVlXT1JEX0ZJTEUsIFRFU1RfUFlfRklMRSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBURVNUX1BZX0ZJTEUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZmlsZWNtcC5jbXAoS0VZV09SRF9GSUxFLCBURVNUX1BZX0ZJTEUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgwLCBiJycpLCBzZWxmLl9nZW5lcmF0ZV9rZXl3b3JkcyhHUkFNTUFSX0ZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfUFlfRklMRSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaWxlY21wLmNtcChLRVlXT1JEX0ZJTEUsIFRFU1RfUFlfRklMRSkpCisKKyAgICBkZWYgdGVzdF9ncmFtbWFyKHNlbGYpOgorICAgICAgICBzZWxmLl9jb3B5X2ZpbGVfd2l0aG91dF9nZW5lcmF0ZWRfa2V5d29yZHMoS0VZV09SRF9GSUxFLCBURVNUX1BZX0ZJTEUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgVEVTVF9QWV9GSUxFKQorICAgICAgICB3aXRoIG9wZW4oR1JBTU1BUl9URVNUX0ZJTEUsICd3JykgYXMgZnA6CisgICAgICAgICAgICAjIFNvbWUgb2YgdGhlc2UgYXJlIHByb2JhYmx5IGltcGxlbWVudGF0aW9uIGFjY2lkZW50cy4KKyAgICAgICAgICAgIGZwLndyaXRlbGluZXModGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgICAgICB7MiwgMX0sCisgICAgICAgICAgICAgICAgICAgIHsxMSwgImVuY29kaW5nX2RlY2wiLCAwLCAyLCBzdGF0ZXNfNzksCisgICAgICAgICAgICAgICAgICAgICAiXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIgorICAgICAgICAgICAgICAgICAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgICAgICAgICAgICAgICAgICB7MSwgImplbGxvIn0sCisgICAgICAgICAgICAgICAgICAgIHszMjYsIDB9LAorICAgICAgICAgICAgICAgICAgICB7MSwgInR1cm5pcCJ9LAorICAgICAgICAgICAgICAgIFx0ezEsICJUaGlzIG9uZSBpcyB0YWIgaW5kZW50ZWQiCisgICAgICAgICAgICAgICAgICAgIHsyNzgsIDB9LAorICAgICAgICAgICAgICAgICAgICB7MSwgImNyYXp5IGJ1dCBsZWdhbCIKKyAgICAgICAgICAgICAgICAiYWxzbyBsZWdhbCIgezEsICIKKyAgICAgICAgICAgICAgICAgICAgezEsICJjb250aW51ZSJ9LAorICAgICAgICAgICAgICAgICAgIHsxLCAibGVtb24ifSwKKyAgICAgICAgICAgICAgICAgICAgIHsxLCAidG9tYXRvIn0sCisgICAgICAgICAgICAgICAgezEsICJ3aWdpaSJ9LAorICAgICAgICAgICAgICAgICAgICB7MSwgJ25vIGdvb2QnfQorICAgICAgICAgICAgICAgICAgICB7MjgzLCAwfSwKKyAgICAgICAgICAgICAgICAgICAgezEsICAidG9vIG1hbnkgc3BhY2VzIn0iIiIpKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3VwcG9ydC51bmxpbmssIEdSQU1NQVJfVEVTVF9GSUxFKQorICAgICAgICBzZWxmLl9nZW5lcmF0ZV9rZXl3b3JkcyhHUkFNTUFSX1RFU1RfRklMRSwgVEVTVF9QWV9GSUxFKQorICAgICAgICBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgICIgICAgICAgICdUaGlzIG9uZSBpcyB0YWIgaW5kZW50ZWQnLCIsCisgICAgICAgICAgICAiICAgICAgICAnYWxzbyBsZWdhbCcsIiwKKyAgICAgICAgICAgICIgICAgICAgICdjb250aW51ZScsIiwKKyAgICAgICAgICAgICIgICAgICAgICdjcmF6eSBidXQgbGVnYWwnLCIsCisgICAgICAgICAgICAiICAgICAgICAnamVsbG8nLCIsCisgICAgICAgICAgICAiICAgICAgICAnbGVtb24nLCIsCisgICAgICAgICAgICAiICAgICAgICAndG9tYXRvJywiLAorICAgICAgICAgICAgIiAgICAgICAgJ3R1cm5pcCcsIiwKKyAgICAgICAgICAgICIgICAgICAgICd3aWdpaScsIiwKKyAgICAgICAgICAgIF0KKyAgICAgICAgd2l0aCBvcGVuKFRFU1RfUFlfRklMRSkgYXMgZnA6CisgICAgICAgICAgICBsaW5lcyA9IGZwLnJlYWQoKS5zcGxpdGxpbmVzKCkKKyAgICAgICAgc3RhcnQgPSBsaW5lcy5pbmRleCgiIy0tc3RhcnQga2V5d29yZHMtLSIpICsgMQorICAgICAgICBlbmQgPSBsaW5lcy5pbmRleCgiIy0tZW5kIGtleXdvcmRzLS0iKQorICAgICAgICBhY3R1YWwgPSBsaW5lc1tzdGFydDplbmRdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X2VtcHR5X2dyYW1tYXJfcmVzdWx0c19pbl9ub19rZXl3b3JkcyhzZWxmKToKKyAgICAgICAgc2VsZi5fY29weV9maWxlX3dpdGhvdXRfZ2VuZXJhdGVkX2tleXdvcmRzKEtFWVdPUkRfRklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX0ZJTEVfV0lUSE9VVF9LRVlXT1JEUykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBQWV9GSUxFX1dJVEhPVVRfS0VZV09SRFMpCisgICAgICAgIHNodXRpbC5jb3B5ZmlsZShLRVlXT1JEX0ZJTEUsIFRFU1RfUFlfRklMRSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBURVNUX1BZX0ZJTEUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKDAsIGInJyksIHNlbGYuX2dlbmVyYXRlX2tleXdvcmRzKG9zLmRldm51bGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRFU1RfUFlfRklMRSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmaWxlY21wLmNtcChURVNUX1BZX0ZJTEUsIFBZX0ZJTEVfV0lUSE9VVF9LRVlXT1JEUykpCisKKyAgICBkZWYgdGVzdF9rZXl3b3Jkc19weV93aXRob3V0X21hcmtlcnNfcHJvZHVjZXNfZXJyb3Ioc2VsZik6CisgICAgICAgIHJjLCBzdGRlcnIgPSBzZWxmLl9nZW5lcmF0ZV9rZXl3b3Jkcyhvcy5kZXZudWxsLCBvcy5kZXZudWxsKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHJjLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHN0ZGVyciwgYidkb2VzIG5vdCBjb250YWluIGZvcm1hdCBtYXJrZXJzJykKKworICAgIGRlZiB0ZXN0X21pc3NpbmdfZ3JhbW1hcl9maWxlX3Byb2R1Y2VzX2Vycm9yKHNlbGYpOgorICAgICAgICByYywgc3RkZXJyID0gc2VsZi5fZ2VuZXJhdGVfa2V5d29yZHMoTk9ORVhJU1RFTlRfRklMRSwgS0VZV09SRF9GSUxFKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHJjLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHN0ZGVyciwgYicoP21zKScgKyBOT05FWElTVEVOVF9GSUxFLmVuY29kZSgpKQorCisgICAgZGVmIHRlc3RfbWlzc2luZ19rZXl3b3Jkc19weV9maWxlX3Byb2R1Y2VzX2Vycm9yKHNlbGYpOgorICAgICAgICByYywgc3RkZXJyID0gc2VsZi5fZ2VuZXJhdGVfa2V5d29yZHMob3MuZGV2bnVsbCwgTk9ORVhJU1RFTlRfRklMRSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChyYywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChzdGRlcnIsIGInKD9tcyknICsgTk9ORVhJU1RFTlRfRklMRS5lbmNvZGUoKSkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9rZXl3b3Jkb25seWFyZy5weSBiL0xpYi90ZXN0L3Rlc3Rfa2V5d29yZG9ubHlhcmcucHkKaW5kZXggMDUwM2E3Zi4uZTRhNDRjMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9rZXl3b3Jkb25seWFyZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2tleXdvcmRvbmx5YXJnLnB5CkBAIC0xNzYsNiArMTc2LDE4IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFgoKS5mKCksIDQyKQogCisgICAgZGVmIHRlc3RfZGVmYXVsdF9ldmFsdWF0aW9uX29yZGVyKHNlbGYpOgorICAgICAgICAjIFNlZSBpc3N1ZSAxNjk2NworICAgICAgICBhID0gNDIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhOYW1lRXJyb3IpIGFzIGVycjoKKyAgICAgICAgICAgIGRlZiBmKHY9YSwgeD1iLCAqLCB5PWMsIHo9ZCk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlcnIuZXhjZXB0aW9uKSwgIm5hbWUgJ2InIGlzIG5vdCBkZWZpbmVkIikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhOYW1lRXJyb3IpIGFzIGVycjoKKyAgICAgICAgICAgIGYgPSBsYW1iZGEgdj1hLCB4PWIsICosIHk9Yywgej1kOiBOb25lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyci5leGNlcHRpb24pLCAibmFtZSAnYicgaXMgbm90IGRlZmluZWQiKQorCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBydW5fdW5pdHRlc3QoS2V5d29yZE9ubHlBcmdUZXN0Q2FzZSkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9rcXVldWUucHkgYi9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weQppbmRleCAxNDllNmI2Li45MDJjOTljIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2txdWV1ZS5weQpAQCAtOTQsNyArOTQsNyBAQAogICAgICAgICBjbGllbnQuc2V0YmxvY2tpbmcoRmFsc2UpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGNsaWVudC5jb25uZWN0KCgnMTI3LjAuMC4xJywgc2VydmVyU29ja2V0LmdldHNvY2tuYW1lKClbMV0pKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1swXSwgZXJybm8uRUlOUFJPR1JFU1MpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIkNvbm5lY3Qgc2hvdWxkIGhhdmUgcmFpc2VkIEVJTlBST0dSRVNTIikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbGFyZ2VmaWxlLnB5IGIvTGliL3Rlc3QvdGVzdF9sYXJnZWZpbGUucHkKaW5kZXggMWM2Mjk3YS4uNzUwMmRjMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9sYXJnZWZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sYXJnZWZpbGUucHkKQEAgLTE0LDcgKzE0LDcgQEAKICAgICBpbXBvcnQgc2lnbmFsCiAgICAgIyBUaGUgZGVmYXVsdCBoYW5kbGVyIGZvciBTSUdYRlNaIGlzIHRvIGFib3J0IHRoZSBwcm9jZXNzLgogICAgICMgQnkgaWdub3JpbmcgaXQsIHN5c3RlbSBjYWxscyBleGNlZWRpbmcgdGhlIGZpbGUgc2l6ZSByZXNvdXJjZQotICAgICMgbGltaXQgd2lsbCByYWlzZSBJT0Vycm9yIGluc3RlYWQgb2YgY3Jhc2hpbmcgdGhlIGludGVycHJldGVyLgorICAgICMgbGltaXQgd2lsbCByYWlzZSBPU0Vycm9yIGluc3RlYWQgb2YgY3Jhc2hpbmcgdGhlIGludGVycHJldGVyLgogICAgIG9sZGhhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdYRlNaLCBzaWduYWwuU0lHX0lHTikKIGV4Y2VwdCAoSW1wb3J0RXJyb3IsIEF0dHJpYnV0ZUVycm9yKToKICAgICBwYXNzCkBAIC0xNjIsNyArMTYyLDcgQEAKICAgICAgICAgICAgICMgZmx1c2gsIHRvbyEKICAgICAgICAgICAgIGYud3JpdGUoYid4JykKICAgICAgICAgICAgIGYuZmx1c2goKQotICAgICAgICBleGNlcHQgKElPRXJyb3IsIE92ZXJmbG93RXJyb3IpOgorICAgICAgICBleGNlcHQgKE9TRXJyb3IsIE92ZXJmbG93RXJyb3IpOgogICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgICB1bmxpbmsoVEVTVEZOKQogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoImZpbGVzeXN0ZW0gZG9lcyBub3QgaGF2ZSBsYXJnZWZpbGUgc3VwcG9ydCIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2xvZ2dpbmcucHkgYi9MaWIvdGVzdC90ZXN0X2xvZ2dpbmcucHkKaW5kZXggYzlhMDUxYS4uNDdmMDNjNyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weQpAQCAtMjYsNiArMjYsNyBAQAogaW1wb3J0IGxvZ2dpbmcuY29uZmlnCiAKIGltcG9ydCBjb2RlY3MKK2ltcG9ydCBjb25maWdwYXJzZXIKIGltcG9ydCBkYXRldGltZQogaW1wb3J0IHBpY2tsZQogaW1wb3J0IGlvCkBAIC04MSw3ICs4Miw3IEBACiAgICAgIiIiQmFzZSBjbGFzcyBmb3IgbG9nZ2luZyB0ZXN0cy4iIiIKIAogICAgIGxvZ19mb3JtYXQgPSAiJShuYW1lKXMgLT4gJShsZXZlbG5hbWUpczogJShtZXNzYWdlKXMiCi0gICAgZXhwZWN0ZWRfbG9nX3BhdCA9IHIiXihbXHcuXSspIC0+IChbXHddKyk6IChbXGRdKykkIgorICAgIGV4cGVjdGVkX2xvZ19wYXQgPSByIl4oW1x3Ll0rKSAtPiAoXHcrKTogKFxkKykkIgogICAgIG1lc3NhZ2VfbnVtID0gMAogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtMTUwLDE0ICsxNTEsMTcgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIGxvZ2dpbmcuX3JlbGVhc2VMb2NrKCkKIAotICAgIGRlZiBhc3NlcnRfbG9nX2xpbmVzKHNlbGYsIGV4cGVjdGVkX3ZhbHVlcywgc3RyZWFtPU5vbmUpOgorICAgIGRlZiBhc3NlcnRfbG9nX2xpbmVzKHNlbGYsIGV4cGVjdGVkX3ZhbHVlcywgc3RyZWFtPU5vbmUsIHBhdD1Ob25lKToKICAgICAgICAgIiIiTWF0Y2ggdGhlIGNvbGxlY3RlZCBsb2cgbGluZXMgYWdhaW5zdCB0aGUgcmVndWxhciBleHByZXNzaW9uCiAgICAgICAgIHNlbGYuZXhwZWN0ZWRfbG9nX3BhdCwgYW5kIGNvbXBhcmUgdGhlIGV4dHJhY3RlZCBncm91cCB2YWx1ZXMgdG8KICAgICAgICAgdGhlIGV4cGVjdGVkX3ZhbHVlcyBsaXN0IG9mIHR1cGxlcy4iIiIKICAgICAgICAgc3RyZWFtID0gc3RyZWFtIG9yIHNlbGYuc3RyZWFtCi0gICAgICAgIHBhdCA9IHJlLmNvbXBpbGUoc2VsZi5leHBlY3RlZF9sb2dfcGF0KQorICAgICAgICBwYXQgPSByZS5jb21waWxlKHBhdCBvciBzZWxmLmV4cGVjdGVkX2xvZ19wYXQpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHN0cmVhbS5yZXNldCgpCisgICAgICAgICAgICBpZiBoYXNhdHRyKHN0cmVhbSwgJ3Jlc2V0Jyk6CisgICAgICAgICAgICAgICAgc3RyZWFtLnJlc2V0KCkKKyAgICAgICAgICAgIGVsaWYgaGFzYXR0cihzdHJlYW0sICdzZWVrJyk6CisgICAgICAgICAgICAgICAgc3RyZWFtLnNlZWsoMCkKICAgICAgICAgICAgIGFjdHVhbF9saW5lcyA9IHN0cmVhbS5yZWFkbGluZXMoKQogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICAjIFN0cmluZ0lPLlN0cmluZ0lPIGxhY2tzIGEgcmVzZXQoKSBtZXRob2QuCkBAIC00MzUsNyArNDM5LDcgQEAKICAgICAiIiJUZXN0IHZhcmlvdXMgZmlsdGVyaW5nIHBvc3NpYmlsaXRpZXMgd2l0aCBjdXN0b20gbG9nZ2luZyBsZXZlbHMuIiIiCiAKICAgICAjIFNraXAgdGhlIGxvZ2dlciBuYW1lIGdyb3VwLgotICAgIGV4cGVjdGVkX2xvZ19wYXQgPSByIl5bXHcuXSsgLT4gKFtcd10rKTogKFtcZF0rKSQiCisgICAgZXhwZWN0ZWRfbG9nX3BhdCA9IHIiXltcdy5dKyAtPiAoXHcrKTogKFxkKykkIgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBCYXNlVGVzdC5zZXRVcChzZWxmKQpAQCAtNTY1LDcgKzU2OSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoLmZhY2lsaXR5LCBoLkxPR19VU0VSKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoLnVuaXhzb2NrZXQpCiAgICAgICAgICAgICAgICAgaC5jbG9zZSgpCi0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOiAjIHN5c2xvZ2QgbWlnaHQgbm90IGJlIGF2YWlsYWJsZQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6ICMgc3lzbG9nZCBtaWdodCBub3QgYmUgYXZhaWxhYmxlCiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICBmb3IgbWV0aG9kIGluICgnR0VUJywgJ1BPU1QnLCAnUFVUJyk6CiAgICAgICAgICAgICBpZiBtZXRob2QgPT0gJ1BVVCc6CkBAIC02NzUsNyArNjc5LDcgQEAKICAgICAgICAgICAgIHNlbGYubnVtX2J5dGVzID0gMAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYucGVlciA9IGNvbm4uZ2V0cGVlcm5hbWUoKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlcnI6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAgIyBhIHJhY2UgY29uZGl0aW9uICBtYXkgb2NjdXIgaWYgdGhlIG90aGVyIGVuZCBpcyBjbG9zaW5nCiAgICAgICAgICAgICAgICAgIyBiZWZvcmUgd2UgY2FuIGdldCB0aGUgcGVlcm5hbWUKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKQEAgLTc2OSw3ICs3NzMsNyBAQAogICAgICAgICAgICAgIiIiCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgYXN5bmNvcmUubG9vcChwb2xsX2ludGVydmFsLCBtYXA9c2VsZi5zb2NrbWFwKQotICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICMgT24gRnJlZUJTRCA4LCBjbG9zaW5nIHRoZSBzZXJ2ZXIgcmVwZWF0YWJseQogICAgICAgICAgICAgICAgICMgcmFpc2VzIHRoaXMgZXJyb3IuIFdlIHN3YWxsb3cgaXQgaWYgdGhlCiAgICAgICAgICAgICAgICAgIyBzZXJ2ZXIgaGFzIGJlZW4gY2xvc2VkLgpAQCAtODc2LDcgKzg4MCw3IEBACiAgICAgICAgICAgICAgICAgc29jaywgYWRkciA9IHNlbGYuc29ja2V0LmFjY2VwdCgpCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5zc2xjdHg6CiAgICAgICAgICAgICAgICAgICAgIHNvY2sgPSBzZWxmLnNzbGN0eC53cmFwX3NvY2tldChzb2NrLCBzZXJ2ZXJfc2lkZT1UcnVlKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAjIHNvY2tldCBlcnJvcnMgYXJlIHNpbGVuY2VkIGJ5IHRoZSBjYWxsZXIsIHByaW50IHRoZW0gaGVyZQogICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoIkdvdCBhbiBlcnJvcjpcbiVzXG4iICUgZSkKICAgICAgICAgICAgICAgICByYWlzZQpAQCAtOTQyLDcgKzk0Niw3IEBACiAgICAgICAgICAgICAgICAgICAgIGlmIGRhdGE6CiAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIoRGVsZWdhdGluZ1VEUFJlcXVlc3RIYW5kbGVyLCBzZWxmKS5maW5pc2goKQotICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLnNlcnZlci5fY2xvc2VkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQogCkBAIC05OTYsNyArMTAwMCw3IEBACiAgICAgIiIiVGVzdHMgZm9yIHRoZSBNZW1vcnlIYW5kbGVyLiIiIgogCiAgICAgIyBEbyBub3QgYm90aGVyIHdpdGggYSBsb2dnZXIgbmFtZSBncm91cC4KLSAgICBleHBlY3RlZF9sb2dfcGF0ID0gciJeW1x3Ll0rIC0+IChbXHddKyk6IChbXGRdKykkIgorICAgIGV4cGVjdGVkX2xvZ19wYXQgPSByIl5bXHcuXSsgLT4gKFx3Kyk6IChcZCspJCIKIAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgQmFzZVRlc3Quc2V0VXAoc2VsZikKQEAgLTEwNDksNyArMTA1Myw3IEBACiAKICAgICAiIiJSZWFkaW5nIGxvZ2dpbmcgY29uZmlnIGZyb20gYSAuaW5pLXN0eWxlIGNvbmZpZyBmaWxlLiIiIgogCi0gICAgZXhwZWN0ZWRfbG9nX3BhdCA9IHIiXihbXHddKykgXCtcKyAoW1x3XSspJCIKKyAgICBleHBlY3RlZF9sb2dfcGF0ID0gciJeKFx3KykgXCtcKyAoXHcrKSQiCiAKICAgICAjIGNvbmZpZzAgaXMgYSBzdGFuZGFyZCBjb25maWd1cmF0aW9uLgogICAgIGNvbmZpZzAgPSAiIiIKQEAgLTEyOTcsNiArMTMwMSwyNCBAQAogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCisgICAgZGVmIHRlc3RfY29uZmlnMF91c2luZ19jcF9vayhzZWxmKToKKyAgICAgICAgIyBBIHNpbXBsZSBjb25maWcgZmlsZSB3aGljaCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgc2V0dGluZ3MuCisgICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICAgICAgZmlsZSA9IGlvLlN0cmluZ0lPKHRleHR3cmFwLmRlZGVudChzZWxmLmNvbmZpZzApKQorICAgICAgICAgICAgY3AgPSBjb25maWdwYXJzZXIuQ29uZmlnUGFyc2VyKCkKKyAgICAgICAgICAgIGNwLnJlYWRfZmlsZShmaWxlKQorICAgICAgICAgICAgbG9nZ2luZy5jb25maWcuZmlsZUNvbmZpZyhjcCkKKyAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCkKKyAgICAgICAgICAgICMgV29uJ3Qgb3V0cHV0IGFueXRoaW5nCisgICAgICAgICAgICBsb2dnZXIuaW5mbyhzZWxmLm5leHRfbWVzc2FnZSgpKQorICAgICAgICAgICAgIyBPdXRwdXRzIGEgbWVzc2FnZQorICAgICAgICAgICAgbG9nZ2VyLmVycm9yKHNlbGYubmV4dF9tZXNzYWdlKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoWworICAgICAgICAgICAgICAgICgnRVJST1InLCAnMicpLAorICAgICAgICAgICAgXSwgc3RyZWFtPW91dHB1dCkKKyAgICAgICAgICAgICMgT3JpZ2luYWwgbG9nZ2VyIG91dHB1dCBpcyBlbXB0eS4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2xvZ19saW5lcyhbXSkKKwogICAgIGRlZiB0ZXN0X2NvbmZpZzFfb2soc2VsZiwgY29uZmlnPWNvbmZpZzEpOgogICAgICAgICAjIEEgY29uZmlnIGZpbGUgZGVmaW5pbmcgYSBzdWItcGFyc2VyIGFzIHdlbGwuCiAgICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgpAQCAtMTQ0OSwxNiArMTQ3MSwxOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9nX291dHB1dCwgInNwYW1cbmVnZ3NcbiIpCiAKICAgICBkZWYgdGVzdF9ub3NlcnZlcihzZWxmKToKKyAgICAgICAgIyBBdm9pZCB0aW1pbmctcmVsYXRlZCBmYWlsdXJlcyBkdWUgdG8gU29ja2V0SGFuZGxlcidzIG93biBoYXJkLXdpcmVkCisgICAgICAgICMgb25lLXNlY29uZCB0aW1lb3V0IG9uIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigpIChpc3N1ZSAjMTYyNjQpLgorICAgICAgICBzZWxmLnNvY2tfaGRsci5yZXRyeVN0YXJ0ID0gMi41CiAgICAgICAgICMgS2lsbCB0aGUgc2VydmVyCiAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoMi4wKQotICAgICAgICAjVGhlIGxvZ2dpbmcgY2FsbCBzaG91bGQgdHJ5IHRvIGNvbm5lY3QsIHdoaWNoIHNob3VsZCBmYWlsCisgICAgICAgICMgVGhlIGxvZ2dpbmcgY2FsbCBzaG91bGQgdHJ5IHRvIGNvbm5lY3QsIHdoaWNoIHNob3VsZCBmYWlsCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRGVsaWJlcmF0ZSBtaXN0YWtlJykKICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKICAgICAgICAgICAgIHNlbGYucm9vdF9sb2dnZXIuZXhjZXB0aW9uKCdOZXZlciBzZW50JykKICAgICAgICAgc2VsZi5yb290X2xvZ2dlci5lcnJvcignTmV2ZXIgc2VudCwgZWl0aGVyJykKICAgICAgICAgbm93ID0gdGltZS50aW1lKCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuc29ja19oZGxyLnJldHJ5VGltZSA+IG5vdykKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKHNlbGYuc29ja19oZGxyLnJldHJ5VGltZSwgbm93KQogICAgICAgICB0aW1lLnNsZWVwKHNlbGYuc29ja19oZGxyLnJldHJ5VGltZSAtIG5vdyArIDAuMDAxKQogICAgICAgICBzZWxmLnJvb3RfbG9nZ2VyLmVycm9yKCdOb3IgdGhpcycpCiAKQEAgLTE3ODQsNyArMTgwOSw3IEBACiAgICAgICAgICAgICBsb2dnZXIucmVtb3ZlSGFuZGxlcihoKQogICAgICAgICAgICAgcyA9IHN0cmVhbS5nZXR2YWx1ZSgpCiAgICAgICAgICAgICBoLmNsb3NlKCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLmZpbmQoIlVzZXJXYXJuaW5nOiBJJ20gd2FybmluZyB5b3UuLi5cbiIpID4gMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihzLmZpbmQoIlVzZXJXYXJuaW5nOiBJJ20gd2FybmluZyB5b3UuLi5cbiIpLCAwKQogCiAgICAgICAgICAgICAjU2VlIGlmIGFuIGV4cGxpY2l0IGZpbGUgdXNlcyB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIGFfZmlsZSA9IGlvLlN0cmluZ0lPKCkKQEAgLTE4MjIsNyArMTg0Nyw3IEBACiAKICAgICAiIiJSZWFkaW5nIGxvZ2dpbmcgY29uZmlnIGZyb20gYSBkaWN0aW9uYXJ5LiIiIgogCi0gICAgZXhwZWN0ZWRfbG9nX3BhdCA9IHIiXihbXHddKykgXCtcKyAoW1x3XSspJCIKKyAgICBleHBlY3RlZF9sb2dfcGF0ID0gciJeKFx3KykgXCtcKyAoXHcrKSQiCiAKICAgICAjIGNvbmZpZzAgaXMgYSBzdGFuZGFyZCBjb25maWd1cmF0aW9uLgogICAgIGNvbmZpZzAgPSB7CkBAIC0yMzk0LDYgKzI0MTksMzIgQEAKICAgICAgICAgfSwKICAgICB9CiAKKyAgICAjIEFzIGNvbmZpZzAsIGJ1dCB3aXRoIHByb3BlcnRpZXMKKyAgICBjb25maWcxNCA9IHsKKyAgICAgICAgJ3ZlcnNpb24nOiAxLAorICAgICAgICAnZm9ybWF0dGVycyc6IHsKKyAgICAgICAgICAgICdmb3JtMScgOiB7CisgICAgICAgICAgICAgICAgJ2Zvcm1hdCcgOiAnJShsZXZlbG5hbWUpcyArKyAlKG1lc3NhZ2UpcycsCisgICAgICAgICAgICB9LAorICAgICAgICB9LAorICAgICAgICAnaGFuZGxlcnMnIDogeworICAgICAgICAgICAgJ2hhbmQxJyA6IHsKKyAgICAgICAgICAgICAgICAnY2xhc3MnIDogJ2xvZ2dpbmcuU3RyZWFtSGFuZGxlcicsCisgICAgICAgICAgICAgICAgJ2Zvcm1hdHRlcicgOiAnZm9ybTEnLAorICAgICAgICAgICAgICAgICdsZXZlbCcgOiAnTk9UU0VUJywKKyAgICAgICAgICAgICAgICAnc3RyZWFtJyAgOiAnZXh0Oi8vc3lzLnN0ZG91dCcsCisgICAgICAgICAgICAgICAgJy4nOiB7CisgICAgICAgICAgICAgICAgICAgICdmb28nOiAnYmFyJywKKyAgICAgICAgICAgICAgICAgICAgJ3Rlcm1pbmF0b3InOiAnIVxuJywKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LAorICAgICAgICB9LAorICAgICAgICAncm9vdCcgOiB7CisgICAgICAgICAgICAnbGV2ZWwnIDogJ1dBUk5JTkcnLAorICAgICAgICAgICAgJ2hhbmRsZXJzJyA6IFsnaGFuZDEnXSwKKyAgICAgICAgfSwKKyAgICB9CisKICAgICBvdXRfb2Zfb3JkZXIgPSB7CiAgICAgICAgICJ2ZXJzaW9uIjogMSwKICAgICAgICAgImZvcm1hdHRlcnMiOiB7CkBAIC0yNjYxLDExICsyNzEyLDIwIEBACiAgICAgZGVmIHRlc3RfY29uZmlnMTNfZmFpbHVyZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uLCBzZWxmLmFwcGx5X2NvbmZpZywgc2VsZi5jb25maWcxMykKIAorICAgIGRlZiB0ZXN0X2NvbmZpZzE0X29rKHNlbGYpOgorICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgICAgIHNlbGYuYXBwbHlfY29uZmlnKHNlbGYuY29uZmlnMTQpCisgICAgICAgICAgICBoID0gbG9nZ2luZy5faGFuZGxlcnNbJ2hhbmQxJ10KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC5mb28sICdiYXInKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoLnRlcm1pbmF0b3IsICchXG4nKQorICAgICAgICAgICAgbG9nZ2luZy53YXJuaW5nKCdFeGNsYW1hdGlvbicpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3V0cHV0LmdldHZhbHVlKCkuZW5kc3dpdGgoJ0V4Y2xhbWF0aW9uIVxuJykpCisKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWRpbmcsICdsaXN0ZW4oKSBuZWVkcyB0aHJlYWRpbmcgdG8gd29yaycpCi0gICAgZGVmIHNldHVwX3ZpYV9saXN0ZW5lcihzZWxmLCB0ZXh0KToKKyAgICBkZWYgc2V0dXBfdmlhX2xpc3RlbmVyKHNlbGYsIHRleHQsIHZlcmlmeT1Ob25lKToKICAgICAgICAgdGV4dCA9IHRleHQuZW5jb2RlKCJ1dGYtOCIpCiAgICAgICAgICMgQXNrIGZvciBhIHJhbmRvbWx5IGFzc2lnbmVkIHBvcnQgKGJ5IHVzaW5nIHBvcnQgMCkKLSAgICAgICAgdCA9IGxvZ2dpbmcuY29uZmlnLmxpc3RlbigwKQorICAgICAgICB0ID0gbG9nZ2luZy5jb25maWcubGlzdGVuKDAsIHZlcmlmeSkKICAgICAgICAgdC5zdGFydCgpCiAgICAgICAgIHQucmVhZHkud2FpdCgpCiAgICAgICAgICMgTm93IGdldCB0aGUgcG9ydCBhbGxvY2F0ZWQKQEAgLTI3MjUsNiArMjc4NSw2OSBAQAogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKKyAgICBkZWYgdGVzdF9saXN0ZW5fdmVyaWZ5KHNlbGYpOgorCisgICAgICAgIGRlZiB2ZXJpZnlfZmFpbChzdHVmZik6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgIGRlZiB2ZXJpZnlfcmV2ZXJzZShzdHVmZik6CisgICAgICAgICAgICByZXR1cm4gc3R1ZmZbOjotMV0KKworICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKKyAgICAgICAgdG9fc2VuZCA9IHRleHR3cmFwLmRlZGVudChDb25maWdGaWxlVGVzdC5jb25maWcxKQorICAgICAgICAjIEZpcnN0LCBzcGVjaWZ5IGEgdmVyaWZpY2F0aW9uIGZ1bmN0aW9uIHRoYXQgd2lsbCBmYWlsLgorICAgICAgICAjIFdlIGV4cGVjdCB0byBzZWUgbm8gb3V0cHV0LCBzaW5jZSBvdXIgY29uZmlndXJhdGlvbgorICAgICAgICAjIG5ldmVyIHRvb2sgZWZmZWN0LgorICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKKyAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKHRvX3NlbmQsIHZlcmlmeV9mYWlsKQorICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oc2VsZi5uZXh0X21lc3NhZ2UoKSkKKyAgICAgICAgICAgIGxvZ2dlci5lcnJvcihzZWxmLm5leHRfbWVzc2FnZSgpKQorICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10sIHN0cmVhbT1vdXRwdXQpCisgICAgICAgICMgT3JpZ2luYWwgbG9nZ2VyIG91dHB1dCBoYXMgdGhlIHN0dWZmIHdlIGxvZ2dlZC4KKyAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFsKKyAgICAgICAgICAgICgnSU5GTycsICcxJyksCisgICAgICAgICAgICAoJ0VSUk9SJywgJzInKSwKKyAgICAgICAgXSwgcGF0PXIiXltcdy5dKyAtPiAoXHcrKTogKFxkKykkIikKKworICAgICAgICAjIE5vdywgcGVyZm9ybSBubyB2ZXJpZmljYXRpb24uIE91ciBjb25maWd1cmF0aW9uCisgICAgICAgICMgc2hvdWxkIHRha2UgZWZmZWN0LgorCisgICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgb3V0cHV0OgorICAgICAgICAgICAgc2VsZi5zZXR1cF92aWFfbGlzdGVuZXIodG9fc2VuZCkgICAgIyBubyB2ZXJpZnkgY2FsbGFibGUgc3BlY2lmaWVkCisgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiY29tcGlsZXIucGFyc2VyIikKKyAgICAgICAgICAgICMgQm90aCB3aWxsIG91dHB1dCBhIG1lc3NhZ2UKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKHNlbGYubmV4dF9tZXNzYWdlKCkpCisgICAgICAgICAgICBsb2dnZXIuZXJyb3Ioc2VsZi5uZXh0X21lc3NhZ2UoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFsKKyAgICAgICAgICAgICgnSU5GTycsICczJyksCisgICAgICAgICAgICAoJ0VSUk9SJywgJzQnKSwKKyAgICAgICAgXSwgc3RyZWFtPW91dHB1dCkKKyAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IHN0aWxsIGhhcyB0aGUgc3R1ZmYgd2UgbG9nZ2VkIGJlZm9yZS4KKyAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFsKKyAgICAgICAgICAgICgnSU5GTycsICcxJyksCisgICAgICAgICAgICAoJ0VSUk9SJywgJzInKSwKKyAgICAgICAgXSwgcGF0PXIiXltcdy5dKyAtPiAoXHcrKTogKFxkKykkIikKKworICAgICAgICAjIE5vdywgcGVyZm9ybSB2ZXJpZmljYXRpb24gd2hpY2ggdHJhbnNmb3JtcyB0aGUgYnl0ZXMuCisKKyAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBvdXRwdXQ6CisgICAgICAgICAgICBzZWxmLnNldHVwX3ZpYV9saXN0ZW5lcih0b19zZW5kWzo6LTFdLCB2ZXJpZnlfcmV2ZXJzZSkKKyAgICAgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJjb21waWxlci5wYXJzZXIiKQorICAgICAgICAgICAgIyBCb3RoIHdpbGwgb3V0cHV0IGEgbWVzc2FnZQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oc2VsZi5uZXh0X21lc3NhZ2UoKSkKKyAgICAgICAgICAgIGxvZ2dlci5lcnJvcihzZWxmLm5leHRfbWVzc2FnZSgpKQorICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoWworICAgICAgICAgICAgKCdJTkZPJywgJzUnKSwKKyAgICAgICAgICAgICgnRVJST1InLCAnNicpLAorICAgICAgICBdLCBzdHJlYW09b3V0cHV0KQorICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgc3RpbGwgaGFzIHRoZSBzdHVmZiB3ZSBsb2dnZWQgYmVmb3JlLgorICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoWworICAgICAgICAgICAgKCdJTkZPJywgJzEnKSwKKyAgICAgICAgICAgICgnRVJST1InLCAnMicpLAorICAgICAgICBdLCBwYXQ9ciJeW1x3Ll0rIC0+IChcdyspOiAoXGQrKSQiKQorCiAgICAgZGVmIHRlc3Rfb3V0X29mX29yZGVyKHNlbGYpOgogICAgICAgICBzZWxmLmFwcGx5X2NvbmZpZyhzZWxmLm91dF9vZl9vcmRlcikKICAgICAgICAgaGFuZGxlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdteW1vZHVsZScpLmhhbmRsZXJzWzBdCkBAIC0yNzg0LDE0ICsyOTA3LDE0IEBACiAgICAgICAgIGwyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2RlZi5naGknKQogICAgICAgICBjMSA9IHIuZ2V0Q2hpbGQoJ3h5eicpCiAgICAgICAgIGMyID0gci5nZXRDaGlsZCgndXZ3Lnh5eicpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjMSBpcyBsb2dnaW5nLmdldExvZ2dlcigneHl6JykpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjMiBpcyBsb2dnaW5nLmdldExvZ2dlcigndXZ3Lnh5eicpKQorICAgICAgICBzZWxmLmFzc2VydElzKGMxLCBsb2dnaW5nLmdldExvZ2dlcigneHl6JykpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYzIsIGxvZ2dpbmcuZ2V0TG9nZ2VyKCd1dncueHl6JykpCiAgICAgICAgIGMxID0gbDEuZ2V0Q2hpbGQoJ2RlZicpCiAgICAgICAgIGMyID0gYzEuZ2V0Q2hpbGQoJ2doaScpCiAgICAgICAgIGMzID0gbDEuZ2V0Q2hpbGQoJ2RlZi5naGknKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoYzEgaXMgbG9nZ2luZy5nZXRMb2dnZXIoJ2FiYy5kZWYnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGMyIGlzIGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhYmMuZGVmLmdoaScpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoYzIgaXMgYzMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYzEsIGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhYmMuZGVmJykpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYzIsIGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhYmMuZGVmLmdoaScpKQorICAgICAgICBzZWxmLmFzc2VydElzKGMyLCBjMykKIAogCiBjbGFzcyBEZXJpdmVkTG9nUmVjb3JkKGxvZ2dpbmcuTG9nUmVjb3JkKToKQEAgLTI4MzQsNyArMjk1Nyw3IEBACiAKIGNsYXNzIFF1ZXVlSGFuZGxlclRlc3QoQmFzZVRlc3QpOgogICAgICMgRG8gbm90IGJvdGhlciB3aXRoIGEgbG9nZ2VyIG5hbWUgZ3JvdXAuCi0gICAgZXhwZWN0ZWRfbG9nX3BhdCA9IHIiXltcdy5dKyAtPiAoW1x3XSspOiAoW1xkXSspJCIKKyAgICBleHBlY3RlZF9sb2dfcGF0ID0gciJeW1x3Ll0rIC0+IChcdyspOiAoXGQrKSQiCiAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIEJhc2VUZXN0LnNldFVwKHNlbGYpCkBAIC0zMTI4LDEzICszMjUxLDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJzAgLSByZWxlYXNlJywgc2VsZi5jYWxsZWRbLTFdKQogCiAgICAgZGVmIHRlc3Rfd2l0aF9pb2Vycm9yX2luX2FjcXVpcmUoc2VsZik6Ci0gICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnYWNxdWlyZScsIElPRXJyb3IpCisgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnYWNxdWlyZScsIE9TRXJyb3IpCiAKICAgICBkZWYgdGVzdF93aXRoX2lvZXJyb3JfaW5fZmx1c2goc2VsZik6Ci0gICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnZmx1c2gnLCBJT0Vycm9yKQorICAgICAgICBzZWxmLl90ZXN0X3dpdGhfZmFpbHVyZV9pbl9tZXRob2QoJ2ZsdXNoJywgT1NFcnJvcikKIAogICAgIGRlZiB0ZXN0X3dpdGhfaW9lcnJvcl9pbl9jbG9zZShzZWxmKToKLSAgICAgICAgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kKCdjbG9zZScsIElPRXJyb3IpCisgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnY2xvc2UnLCBPU0Vycm9yKQogCiAgICAgZGVmIHRlc3Rfd2l0aF92YWx1ZWVycm9yX2luX2FjcXVpcmUoc2VsZik6CiAgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnYWNxdWlyZScsIFZhbHVlRXJyb3IpCkBAIC0zMzQxLDYgKzM0NjQsMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2dnaW5nLnJvb3QubGV2ZWwsIHNlbGYub3JpZ2luYWxfbG9nZ2luZ19sZXZlbCkKIAogICAgIGRlZiB0ZXN0X2ZpbGVuYW1lKHNlbGYpOgorCisgICAgICAgIGRlZiBjbGVhbnVwKGgxLCBoMiwgZm4pOgorICAgICAgICAgICAgaDEuY2xvc2UoKQorICAgICAgICAgICAgaDIuY2xvc2UoKQorICAgICAgICAgICAgb3MucmVtb3ZlKGZuKQorCiAgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoZmlsZW5hbWU9J3Rlc3QubG9nJykKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsb2dnaW5nLnJvb3QuaGFuZGxlcnMpLCAxKQpAQCAtMzM0OCwxNyArMzQ3NywyMyBAQAogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoaGFuZGxlciwgbG9nZ2luZy5GaWxlSGFuZGxlcikKIAogICAgICAgICBleHBlY3RlZCA9IGxvZ2dpbmcuRmlsZUhhbmRsZXIoJ3Rlc3QubG9nJywgJ2EnKQotICAgICAgICBzZWxmLmFkZENsZWFudXAoZXhwZWN0ZWQuY2xvc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxlci5zdHJlYW0ubW9kZSwgZXhwZWN0ZWQuc3RyZWFtLm1vZGUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxlci5zdHJlYW0ubmFtZSwgZXhwZWN0ZWQuc3RyZWFtLm5hbWUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChjbGVhbnVwLCBoYW5kbGVyLCBleHBlY3RlZCwgJ3Rlc3QubG9nJykKIAogICAgIGRlZiB0ZXN0X2ZpbGVtb2RlKHNlbGYpOgorCisgICAgICAgIGRlZiBjbGVhbnVwKGgxLCBoMiwgZm4pOgorICAgICAgICAgICAgaDEuY2xvc2UoKQorICAgICAgICAgICAgaDIuY2xvc2UoKQorICAgICAgICAgICAgb3MucmVtb3ZlKGZuKQorCiAgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoZmlsZW5hbWU9J3Rlc3QubG9nJywgZmlsZW1vZGU9J3diJykKIAogICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5yb290LmhhbmRsZXJzWzBdCiAgICAgICAgIGV4cGVjdGVkID0gbG9nZ2luZy5GaWxlSGFuZGxlcigndGVzdC5sb2cnLCAnd2InKQotICAgICAgICBzZWxmLmFkZENsZWFudXAoZXhwZWN0ZWQuY2xvc2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxlci5zdHJlYW0ubW9kZSwgZXhwZWN0ZWQuc3RyZWFtLm1vZGUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChjbGVhbnVwLCBoYW5kbGVyLCBleHBlY3RlZCwgJ3Rlc3QubG9nJykKIAogICAgIGRlZiB0ZXN0X3N0cmVhbShzZWxmKToKICAgICAgICAgc3RyZWFtID0gaW8uU3RyaW5nSU8oKQpAQCAtMzgxNCw2ICszOTQ5LDYwIEBACiAgICAgICAgIGFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBsb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZm4sICdXNycsIGRlbGF5PVRydWUpCiAKKyAgICBkZWYgdGVzdF9jb21wdXRlX3JvbGxvdmVyX2RhaWx5X2F0dGltZShzZWxmKToKKyAgICAgICAgY3VycmVudFRpbWUgPSAwCisgICAgICAgIGF0VGltZSA9IGRhdGV0aW1lLnRpbWUoMTIsIDAsIDApCisgICAgICAgIHJoID0gbG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXIoCisgICAgICAgICAgICBzZWxmLmZuLCB3aGVuPSdNSUROSUdIVCcsIGludGVydmFsPTEsIGJhY2t1cENvdW50PTAsIHV0Yz1UcnVlLAorICAgICAgICAgICAgYXRUaW1lPWF0VGltZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgYWN0dWFsID0gcmguY29tcHV0ZVJvbGxvdmVyKGN1cnJlbnRUaW1lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWwsIGN1cnJlbnRUaW1lICsgMTIgKiA2MCAqIDYwKQorCisgICAgICAgICAgICBhY3R1YWwgPSByaC5jb21wdXRlUm9sbG92ZXIoY3VycmVudFRpbWUgKyAxMyAqIDYwICogNjApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbCwgY3VycmVudFRpbWUgKyAzNiAqIDYwICogNjApCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICByaC5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9jb21wdXRlX3JvbGxvdmVyX3dlZWtseV9hdHRpbWUoc2VsZik6CisgICAgICAgIGN1cnJlbnRUaW1lID0gaW50KHRpbWUudGltZSgpKQorICAgICAgICB0b2RheSA9IGN1cnJlbnRUaW1lIC0gY3VycmVudFRpbWUgJSA4NjQwMAorCisgICAgICAgIGF0VGltZSA9IGRhdGV0aW1lLnRpbWUoMTIsIDAsIDApCisKKyAgICAgICAgd2RheSA9IGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoY3VycmVudFRpbWUgKyB0aW1lLnRpbWV6b25lKS53ZWVrZGF5KCkKKyAgICAgICAgZm9yIGRheSBpbiByYW5nZSg3KToKKyAgICAgICAgICAgIHJoID0gbG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXIoCisgICAgICAgICAgICAgICAgc2VsZi5mbiwgd2hlbj0nVyVkJyAlIGRheSwgaW50ZXJ2YWw9MSwgYmFja3VwQ291bnQ9MCwgdXRjPVRydWUsCisgICAgICAgICAgICAgICAgYXRUaW1lPWF0VGltZSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpZiB3ZGF5ID4gZGF5OgorICAgICAgICAgICAgICAgICAgICAjIFRoZSByb2xsb3ZlciBkYXkgaGFzIGFscmVhZHkgcGFzc2VkIHRoaXMgd2Vlaywgc28gd2UKKyAgICAgICAgICAgICAgICAgICAgIyBnbyBvdmVyIGludG8gbmV4dCB3ZWVrCisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gKDcgLSB3ZGF5ICsgZGF5KQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gKGRheSAtIHdkYXkpCisgICAgICAgICAgICAgICAgIyBBdCB0aGlzIHBvaW50IGV4cGVjdGVkIGlzIGluIGRheXMgZnJvbSBub3csIGNvbnZlcnQgdG8gc2Vjb25kcworICAgICAgICAgICAgICAgIGV4cGVjdGVkICo9IDI0ICogNjAgKiA2MAorICAgICAgICAgICAgICAgICMgQWRkIGluIHRoZSByb2xsb3ZlciB0aW1lCisgICAgICAgICAgICAgICAgZXhwZWN0ZWQgKz0gMTIgKiA2MCAqIDYwCisgICAgICAgICAgICAgICAgIyBBZGQgaW4gYWRqdXN0bWVudCBmb3IgdG9kYXkKKyAgICAgICAgICAgICAgICBleHBlY3RlZCArPSB0b2RheQorICAgICAgICAgICAgICAgIGFjdHVhbCA9IHJoLmNvbXB1dGVSb2xsb3Zlcih0b2RheSkKKyAgICAgICAgICAgICAgICBpZiBhY3R1YWwgIT0gZXhwZWN0ZWQ6CisgICAgICAgICAgICAgICAgICAgIHByaW50KCdmYWlsZWQgaW4gdGltZXpvbmU6ICVkJyAlIHRpbWUudGltZXpvbmUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWwsIGV4cGVjdGVkKQorICAgICAgICAgICAgICAgIGlmIGRheSA9PSB3ZGF5OgorICAgICAgICAgICAgICAgICAgICAjIGdvZXMgaW50byBmb2xsb3dpbmcgd2VlaworICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCArPSA3ICogMjQgKiA2MCAqIDYwCisgICAgICAgICAgICAgICAgYWN0dWFsID0gcmguY29tcHV0ZVJvbGxvdmVyKHRvZGF5ICsgMTMgKiA2MCAqIDYwKQorICAgICAgICAgICAgICAgIGlmIGFjdHVhbCAhPSBleHBlY3RlZDoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoJ2ZhaWxlZCBpbiB0aW1lem9uZTogJWQnICUgdGltZS50aW1lem9uZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbCwgZXhwZWN0ZWQpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHJoLmNsb3NlKCkKKworCiBkZWYgc2VjcygqKmt3KToKICAgICByZXR1cm4gZGF0ZXRpbWUudGltZWRlbHRhKCoqa3cpIC8vIGRhdGV0aW1lLnRpbWVkZWx0YShzZWNvbmRzPTEpCiAKQEAgLTM4NzIsNyArNDA2MSw3IEBACiAgICAgICAgIGguaGFuZGxlKHIpCiAgICAgICAgIGguY2xvc2UoKQogICAgICAgICAjIE5vdyBzZWUgaWYgdGhlIGV2ZW50IGlzIHJlY29yZGVkCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShudW1fcmVjcyA8IHdpbjMyZXZ0bG9nLkdldE51bWJlck9mRXZlbnRMb2dSZWNvcmRzKGVsaCkpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyhudW1fcmVjcywgd2luMzJldnRsb2cuR2V0TnVtYmVyT2ZFdmVudExvZ1JlY29yZHMoZWxoKSkKICAgICAgICAgZmxhZ3MgPSB3aW4zMmV2dGxvZy5FVkVOVExPR19CQUNLV0FSRFNfUkVBRCB8IFwKICAgICAgICAgICAgICAgICB3aW4zMmV2dGxvZy5FVkVOVExPR19TRVFVRU5USUFMX1JFQUQKICAgICAgICAgZm91bmQgPSBGYWxzZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9sb25nLnB5IGIvTGliL3Rlc3QvdGVzdF9sb25nLnB5CmluZGV4IGI0MTdiZWEuLmI1OTgxOTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9uZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2xvbmcucHkKQEAgLTEwODYsNyArMTA4Niw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsICgyNTYpLnRvX2J5dGVzLCAxLCAnYmlnJywgc2lnbmVkPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsICgyNTYpLnRvX2J5dGVzLCAxLCAnbGl0dGxlJywgc2lnbmVkPUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCAoMjU2KS50b19ieXRlcywgMSwgJ2xpdHRsZScsIHNpZ25lZD1UcnVlKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCAoLTEpLnRvX2J5dGVzLCAyLCAnYmlnJywgc2lnbmVkPUZhbHNlKSwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgKC0xKS50b19ieXRlcywgMiwgJ2JpZycsIHNpZ25lZD1GYWxzZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgKC0xKS50b19ieXRlcywgMiwgJ2xpdHRsZScsIHNpZ25lZD1GYWxzZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoMCkudG9fYnl0ZXMoMCwgJ2JpZycpLCBiJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKDEpLnRvX2J5dGVzKDUsICdiaWcnKSwgYidceDAwXHgwMFx4MDBceDAwXHgwMScpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21haWxib3gucHkgYi9MaWIvdGVzdC90ZXN0X21haWxib3gucHkKaW5kZXggMzllODY0My4uNmM2NzljZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tYWlsYm94LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWFpbGJveC5weQpAQCAtNTk2LDcgKzU5Niw3IEBACiAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIFRlc3RNYWlsYm94LnNldFVwKHNlbGYpCi0gICAgICAgIGlmIG9zLm5hbWUgaW4gKCdudCcsICdvczInKSBvciBzeXMucGxhdGZvcm0gPT0gJ2N5Z3dpbic6CisgICAgICAgIGlmIChvcy5uYW1lID09ICdudCcpIG9yIChzeXMucGxhdGZvcm0gPT0gJ2N5Z3dpbicpOgogICAgICAgICAgICAgc2VsZi5fYm94LmNvbG9uID0gJyEnCiAKICAgICBkZWYgYXNzZXJ0TWFpbGJveEVtcHR5KHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5IGIvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5CmluZGV4IDAyNWI1M2MuLjI5Mjc0NmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWFyc2hhbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X21hcnNoYWwucHkKQEAgLTIzLDM3ICsyMywxMyBAQAogCiBjbGFzcyBJbnRUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSwgSGVscGVyTWl4aW4pOgogICAgIGRlZiB0ZXN0X2ludHMoc2VsZik6Ci0gICAgICAgICMgVGVzdCB0aGUgZnVsbCByYW5nZSBvZiBQeXRob24gaW50cy4KLSAgICAgICAgbiA9IHN5cy5tYXhzaXplCisgICAgICAgICMgVGVzdCBhIHJhbmdlIG9mIFB5dGhvbiBpbnRzIGxhcmdlciB0aGFuIHRoZSBtYWNoaW5lIHdvcmQgc2l6ZS4KKyAgICAgICAgbiA9IHN5cy5tYXhzaXplICoqIDIKICAgICAgICAgd2hpbGUgbjoKICAgICAgICAgICAgIGZvciBleHBlY3RlZCBpbiAoLW4sIG4pOgogICAgICAgICAgICAgICAgIHNlbGYuaGVscGVyKGV4cGVjdGVkKQogICAgICAgICAgICAgbiA9IG4gPj4gMQogCi0gICAgZGVmIHRlc3RfaW50NjQoc2VsZik6Ci0gICAgICAgICMgU2ltdWxhdGUgaW50IG1hcnNoYWxpbmcgb24gYSA2NC1iaXQgYm94LiAgVGhpcyBpcyBtb3N0IGludGVyZXN0aW5nIGlmCi0gICAgICAgICMgd2UncmUgcnVubmluZyB0aGUgdGVzdCBvbiBhIDMyLWJpdCBib3gsIG9mIGNvdXJzZS4KLQotICAgICAgICBkZWYgdG9fbGl0dGxlX2VuZGlhbl9zdHJpbmcodmFsdWUsIG5ieXRlcyk6Ci0gICAgICAgICAgICBiID0gYnl0ZWFycmF5KCkKLSAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKG5ieXRlcyk6Ci0gICAgICAgICAgICAgICAgYi5hcHBlbmQodmFsdWUgJiAweGZmKQotICAgICAgICAgICAgICAgIHZhbHVlID4+PSA4Ci0gICAgICAgICAgICByZXR1cm4gYgotCi0gICAgICAgIG1heGludDY0ID0gKDEgPDwgNjMpIC0gMQotICAgICAgICBtaW5pbnQ2NCA9IC1tYXhpbnQ2NC0xCi0KLSAgICAgICAgZm9yIGJhc2UgaW4gbWF4aW50NjQsIG1pbmludDY0LCAtbWF4aW50NjQsIC0obWluaW50NjQgPj4gMSk6Ci0gICAgICAgICAgICB3aGlsZSBiYXNlOgotICAgICAgICAgICAgICAgIHMgPSBiJ0knICsgdG9fbGl0dGxlX2VuZGlhbl9zdHJpbmcoYmFzZSwgOCkKLSAgICAgICAgICAgICAgICBnb3QgPSBtYXJzaGFsLmxvYWRzKHMpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiYXNlLCBnb3QpCi0gICAgICAgICAgICAgICAgaWYgYmFzZSA9PSAtMTogICMgYSBmaXhlZC1wb2ludCBmb3Igc2hpZnRpbmcgcmlnaHQgMQotICAgICAgICAgICAgICAgICAgICBiYXNlID0gMAotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGJhc2UgPj49IDEKLQogICAgIGRlZiB0ZXN0X2Jvb2woc2VsZik6CiAgICAgICAgIGZvciBiIGluIChUcnVlLCBGYWxzZSk6CiAgICAgICAgICAgICBzZWxmLmhlbHBlcihiKQpAQCAtMjAwLDEwICsxNzYsMTQgQEAKICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246CiAgICAgICAgICAgICAgICAgcGFzcwogCi0gICAgZGVmIHRlc3RfbG9hZHNfcmVjdXJzaW9uKHNlbGYpOgorICAgIGRlZiB0ZXN0X2xvYWRzXzJ4X2NvZGUoc2VsZik6CiAgICAgICAgIHMgPSBiJ2MnICsgKGInWCcgKiA0KjQpICsgYid7JyAqIDIqKjIwCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hcnNoYWwubG9hZHMsIHMpCiAKKyAgICBkZWYgdGVzdF9sb2Fkc19yZWN1cnNpb24oc2VsZik6CisgICAgICAgIHMgPSBiJ2MnICsgKGInWCcgKiA0KjUpICsgYid7JyAqIDIqKjIwCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hcnNoYWwubG9hZHMsIHMpCisKICAgICBkZWYgdGVzdF9yZWN1cnNpb25fbGltaXQoc2VsZik6CiAgICAgICAgICMgQ3JlYXRlIGEgZGVlcGx5IG5lc3RlZCBzdHJ1Y3R1cmUuCiAgICAgICAgIGhlYWQgPSBsYXN0ID0gW10KQEAgLTI3OSw2ICsyNTksMTEgQEAKICAgICAgICAgdW5pY29kZV9zdHJpbmcgPSAnVCcKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtYXJzaGFsLmxvYWRzLCB1bmljb2RlX3N0cmluZykKIAorICAgIGRlZiBfdGVzdF9lb2Yoc2VsZik6CisgICAgICAgIGRhdGEgPSBtYXJzaGFsLmR1bXBzKCgiaGVsbG8iLCAiZG9sbHkiLCBOb25lKSkKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGRhdGEpKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEVPRkVycm9yLCBtYXJzaGFsLmxvYWRzLCBkYXRhWzA6IGldKQorCiBMQVJHRV9TSVpFID0gMioqMzEKIHBvaW50ZXJfc2l6ZSA9IDggaWYgc3lzLm1heHNpemUgPiAweEZGRkZGRkZGIGVsc2UgNAogCkBAIC0zMjMsNiArMzA4LDEyMiBAQAogICAgIGRlZiB0ZXN0X2J5dGVhcnJheShzZWxmLCBzaXplKToKICAgICAgICAgc2VsZi5jaGVja191bm1hcnNoYWxsYWJsZShieXRlYXJyYXkoc2l6ZSkpCiAKK2RlZiBDb2xsZWN0T2JqZWN0SURzKGlkcywgb2JqKToKKyAgICAiIiJDb2xsZWN0IG9iamVjdCBpZHMgc2VlbiBpbiBhIHN0cnVjdHVyZSIiIgorICAgIGlmIGlkKG9iaikgaW4gaWRzOgorICAgICAgICByZXR1cm4KKyAgICBpZHMuYWRkKGlkKG9iaikpCisgICAgaWYgaXNpbnN0YW5jZShvYmosIChsaXN0LCB0dXBsZSwgc2V0LCBmcm96ZW5zZXQpKToKKyAgICAgICAgZm9yIGUgaW4gb2JqOgorICAgICAgICAgICAgQ29sbGVjdE9iamVjdElEcyhpZHMsIGUpCisgICAgZWxpZiBpc2luc3RhbmNlKG9iaiwgZGljdCk6CisgICAgICAgIGZvciBrLCB2IGluIG9iai5pdGVtcygpOgorICAgICAgICAgICAgQ29sbGVjdE9iamVjdElEcyhpZHMsIGspCisgICAgICAgICAgICBDb2xsZWN0T2JqZWN0SURzKGlkcywgdikKKyAgICByZXR1cm4gbGVuKGlkcykKKworY2xhc3MgSW5zdGFuY2luZ1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlLCBIZWxwZXJNaXhpbik6CisgICAgaW50b2JqID0gMTIzMzIxCisgICAgZmxvYXRvYmogPSAxLjIzNDUKKyAgICBzdHJvYmogPSAiYWJjZGUiKjMKKyAgICBkaWN0b2JqID0geyJoZWxsbyI6ZmxvYXRvYmosICJnb29kYnllIjpmbG9hdG9iaiwgZmxvYXRvYmo6ImhlbGxvIn0KKworICAgIGRlZiBoZWxwZXIzKHNlbGYsIHJzYW1wbGUsIHJlY3Vyc2l2ZT1GYWxzZSwgc2ltcGxlPUZhbHNlKToKKyAgICAgICAgI3dlIGhhdmUgdHdvIGluc3RhbmNlcworICAgICAgICBzYW1wbGUgPSAocnNhbXBsZSwgcnNhbXBsZSkKKworICAgICAgICBuMCA9IENvbGxlY3RPYmplY3RJRHMoc2V0KCksIHNhbXBsZSkKKworICAgICAgICBzMyA9IG1hcnNoYWwuZHVtcHMoc2FtcGxlLCAzKQorICAgICAgICBuMyA9IENvbGxlY3RPYmplY3RJRHMoc2V0KCksIG1hcnNoYWwubG9hZHMoczMpKQorCisgICAgICAgICNzYW1lIG51bWJlciBvZiBpbnN0YW5jZXMgZ2VuZXJhdGVkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobjMsIG4wKQorCisgICAgICAgIGlmIG5vdCByZWN1cnNpdmU6CisgICAgICAgICAgICAjY2FuIGNvbXBhcmUgd2l0aCB2ZXJzaW9uIDIKKyAgICAgICAgICAgIHMyID0gbWFyc2hhbC5kdW1wcyhzYW1wbGUsIDIpCisgICAgICAgICAgICBuMiA9IENvbGxlY3RPYmplY3RJRHMoc2V0KCksIG1hcnNoYWwubG9hZHMoczIpKQorICAgICAgICAgICAgI29sZCBmb3JtYXQgZ2VuZXJhdGVkIG1vcmUgaW5zdGFuY2VzCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobjIsIG4wKQorCisgICAgICAgICAgICAjaWYgY29tcGxleCBvYmplY3RzIGFyZSBpbiB0aGVyZSwgb2xkIGZvcm1hdCBpcyBsYXJnZXIKKyAgICAgICAgICAgIGlmIG5vdCBzaW1wbGU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihzMiksIGxlbihzMykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKGxlbihzMiksIGxlbihzMykpCisKKyAgICBkZWYgdGVzdEludChzZWxmKToKKyAgICAgICAgc2VsZi5oZWxwZXIoc2VsZi5pbnRvYmopCisgICAgICAgIHNlbGYuaGVscGVyMyhzZWxmLmludG9iaiwgc2ltcGxlPVRydWUpCisKKyAgICBkZWYgdGVzdEZsb2F0KHNlbGYpOgorICAgICAgICBzZWxmLmhlbHBlcihzZWxmLmZsb2F0b2JqKQorICAgICAgICBzZWxmLmhlbHBlcjMoc2VsZi5mbG9hdG9iaikKKworICAgIGRlZiB0ZXN0U3RyKHNlbGYpOgorICAgICAgICBzZWxmLmhlbHBlcihzZWxmLnN0cm9iaikKKyAgICAgICAgc2VsZi5oZWxwZXIzKHNlbGYuc3Ryb2JqKQorCisgICAgZGVmIHRlc3REaWN0KHNlbGYpOgorICAgICAgICBzZWxmLmhlbHBlcihzZWxmLmRpY3RvYmopCisgICAgICAgIHNlbGYuaGVscGVyMyhzZWxmLmRpY3RvYmopCisKKyAgICBkZWYgdGVzdE1vZHVsZShzZWxmKToKKyAgICAgICAgd2l0aCBvcGVuKF9fZmlsZV9fLCAicmIiKSBhcyBmOgorICAgICAgICAgICAgY29kZSA9IGYucmVhZCgpCisgICAgICAgIGlmIF9fZmlsZV9fLmVuZHN3aXRoKCIucHkiKToKKyAgICAgICAgICAgIGNvZGUgPSBjb21waWxlKGNvZGUsIF9fZmlsZV9fLCAiZXhlYyIpCisgICAgICAgIHNlbGYuaGVscGVyKGNvZGUpCisgICAgICAgIHNlbGYuaGVscGVyMyhjb2RlKQorCisgICAgZGVmIHRlc3RSZWN1cnNpb24oc2VsZik6CisgICAgICAgIGQgPSBkaWN0KHNlbGYuZGljdG9iaikKKyAgICAgICAgZFsic2VsZiJdID0gZAorICAgICAgICBzZWxmLmhlbHBlcjMoZCwgcmVjdXJzaXZlPVRydWUpCisgICAgICAgIGwgPSBbc2VsZi5kaWN0b2JqXQorICAgICAgICBsLmFwcGVuZChsKQorICAgICAgICBzZWxmLmhlbHBlcjMobCwgcmVjdXJzaXZlPVRydWUpCisKK2NsYXNzIENvbXBhdGliaWxpdHlUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIF90ZXN0KHNlbGYsIHZlcnNpb24pOgorICAgICAgICB3aXRoIG9wZW4oX19maWxlX18sICJyYiIpIGFzIGY6CisgICAgICAgICAgICBjb2RlID0gZi5yZWFkKCkKKyAgICAgICAgaWYgX19maWxlX18uZW5kc3dpdGgoIi5weSIpOgorICAgICAgICAgICAgY29kZSA9IGNvbXBpbGUoY29kZSwgX19maWxlX18sICJleGVjIikKKyAgICAgICAgZGF0YSA9IG1hcnNoYWwuZHVtcHMoY29kZSwgdmVyc2lvbikKKyAgICAgICAgbWFyc2hhbC5sb2FkcyhkYXRhKQorCisgICAgZGVmIHRlc3QwVG8zKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0KDApCisKKyAgICBkZWYgdGVzdDFUbzMoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3QoMSkKKworICAgIGRlZiB0ZXN0MlRvMyhzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdCgyKQorCisgICAgZGVmIHRlc3QzVG8zKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0KDMpCisKK2NsYXNzIEludGVybmluZ1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlLCBIZWxwZXJNaXhpbik6CisgICAgc3Ryb2JqID0gInRoaXMgaXMgYW4gaW50ZXJuZWQgc3RyaW5nIgorICAgIHN0cm9iaiA9IHN5cy5pbnRlcm4oc3Ryb2JqKQorCisgICAgZGVmIHRlc3RJbnRlcm4oc2VsZik6CisgICAgICAgIHMgPSBtYXJzaGFsLmxvYWRzKG1hcnNoYWwuZHVtcHMoc2VsZi5zdHJvYmopKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMsIHNlbGYuc3Ryb2JqKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlkKHMpLCBpZChzZWxmLnN0cm9iaikpCisgICAgICAgIHMyID0gc3lzLmludGVybihzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlkKHMyKSwgaWQocykpCisKKyAgICBkZWYgdGVzdE5vSW50ZXJuKHNlbGYpOgorICAgICAgICBzID0gbWFyc2hhbC5sb2FkcyhtYXJzaGFsLmR1bXBzKHNlbGYuc3Ryb2JqLCAyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCBzZWxmLnN0cm9iaikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpZChzKSwgaWQoc2VsZi5zdHJvYmopKQorICAgICAgICBzMiA9IHN5cy5pbnRlcm4ocykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpZChzMiksIGlkKHMpKQorCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChJbnRUZXN0Q2FzZSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5aW8ucHkgYi9MaWIvdGVzdC90ZXN0X21lbW9yeWlvLnB5CmluZGV4IGQ2MTFhMzEuLjRkZTRmNjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5aW8ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tZW1vcnlpby5weQpAQCAtNTIwLDEyICs1MjAsMTIgQEAKICAgICBkZWYgdGVzdF9yZWxhdGl2ZV9zZWVrKHNlbGYpOgogICAgICAgICBtZW1pbyA9IHNlbGYuaW9jbGFzcygpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgbWVtaW8uc2VlaywgLTEsIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIG1lbWlvLnNlZWssIDMsIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIG1lbWlvLnNlZWssIC0zLCAxKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBtZW1pby5zZWVrLCAtMSwgMikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgbWVtaW8uc2VlaywgMSwgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgbWVtaW8uc2VlaywgMSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgbWVtaW8uc2VlaywgLTEsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG1lbWlvLnNlZWssIDMsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG1lbWlvLnNlZWssIC0zLCAxKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBtZW1pby5zZWVrLCAtMSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgbWVtaW8uc2VlaywgMSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgbWVtaW8uc2VlaywgMSwgMikKIAogICAgIGRlZiB0ZXN0X3RleHRpb19wcm9wZXJ0aWVzKHNlbGYpOgogICAgICAgICBtZW1pbyA9IHNlbGYuaW9jbGFzcygpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21pbWV0eXBlcy5weSBiL0xpYi90ZXN0L3Rlc3RfbWltZXR5cGVzLnB5CmluZGV4IDkxZGEyODkuLjU5M2ZkYjAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWltZXR5cGVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWltZXR5cGVzLnB5CkBAIC0yMiw2ICsyMiw4IEBACiAgICAgICAgIGVxKHNlbGYuZGIuZ3Vlc3NfdHlwZSgiZm9vLnRneiIpLCAoImFwcGxpY2F0aW9uL3gtdGFyIiwgImd6aXAiKSkKICAgICAgICAgZXEoc2VsZi5kYi5ndWVzc190eXBlKCJmb28udGFyLmd6IiksICgiYXBwbGljYXRpb24veC10YXIiLCAiZ3ppcCIpKQogICAgICAgICBlcShzZWxmLmRiLmd1ZXNzX3R5cGUoImZvby50YXIuWiIpLCAoImFwcGxpY2F0aW9uL3gtdGFyIiwgImNvbXByZXNzIikpCisgICAgICAgIGVxKHNlbGYuZGIuZ3Vlc3NfdHlwZSgiZm9vLnRhci5iejIiKSwgKCJhcHBsaWNhdGlvbi94LXRhciIsICJiemlwMiIpKQorICAgICAgICBlcShzZWxmLmRiLmd1ZXNzX3R5cGUoImZvby50YXIueHoiKSwgKCJhcHBsaWNhdGlvbi94LXRhciIsICJ4eiIpKQogCiAgICAgZGVmIHRlc3RfZGF0YV91cmxzKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbW1hcC5weSBiL0xpYi90ZXN0L3Rlc3RfbW1hcC5weQppbmRleCBkMDY2MzY4Li41MDVmZmJhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21tYXAucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tbWFwLnB5CkBAIC0yNDUsNyArMjQ1LDcgQEAKIAogICAgIGRlZiB0ZXN0X2JhZF9maWxlX2Rlc2Moc2VsZik6CiAgICAgICAgICMgVHJ5IG9wZW5pbmcgYSBiYWQgZmlsZSBkZXNjcmlwdG9yLi4uCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG1tYXAuZXJyb3IsIG1tYXAubW1hcCwgLTIsIDQwOTYpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG1tYXAubW1hcCwgLTIsIDQwOTYpCiAKICAgICBkZWYgdGVzdF90b3VnaGVyX2ZpbmQoc2VsZik6CiAgICAgICAgICMgRG8gYSB0b3VnaGVyIC5maW5kKCkgdGVzdC4gIFNGIGJ1ZyA1MTU5NDMgcG9pbnRlZCBvdXQgdGhhdCwgaW4gMi4yLApAQCAtNjU4LDcgKzY1OCw3IEBACiAgICAgICAgICAgICBtID0gbW1hcC5tbWFwKGYuZmlsZW5vKCksIDApCiAgICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtLnJlc2l6ZSgwKSAjIHdpbGwgcmFpc2UgV2luZG93c0Vycm9yCisgICAgICAgICAgICAgICAgbS5yZXNpemUoMCkgIyB3aWxsIHJhaXNlIE9TRXJyb3IKICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICB0cnk6CkBAIC02NzMsNyArNjczLDcgQEAKICAgICAgICAgICAgICMgcGFyYW1ldGVycyB0byBfZ2V0X29zZmhhbmRsZS4KICAgICAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKG1tYXAuZXJyb3IpOgorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcik6CiAgICAgICAgICAgICAgICAgICAgIG0gPSBtbWFwLm1tYXAocy5maWxlbm8oKSwgMTApCiAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgIHMuY2xvc2UoKQpAQCAtNjg0LDExICs2ODQsMTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uY2xvc2VkKQogCiAgICAgZGVmIHRlc3RfY29udGV4dF9tYW5hZ2VyX2V4Y2VwdGlvbihzZWxmKToKLSAgICAgICAgIyBUZXN0IHRoYXQgdGhlIElPRXJyb3IgZ2V0cyBwYXNzZWQgdGhyb3VnaAorICAgICAgICAjIFRlc3QgdGhhdCB0aGUgT1NFcnJvciBnZXRzIHBhc3NlZCB0aHJvdWdoCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRXhjZXB0aW9uKSBhcyBleGM6CiAgICAgICAgICAgICB3aXRoIG1tYXAubW1hcCgtMSwgMTApIGFzIG06Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcgotICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZXhjLmV4Y2VwdGlvbiwgSU9FcnJvciwKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShleGMuZXhjZXB0aW9uLCBPU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndyb25nIGV4Y2VwdGlvbiByYWlzZWQgaW4gY29udGV4dCBtYW5hZ2VyIikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0uY2xvc2VkLCAiY29udGV4dCBtYW5hZ2VyIGZhaWxlZCIpCiAKQEAgLTcwOSw3ICs3MDksNyBAQAogICAgICAgICAgICAgZi5zZWVrKG51bV96ZXJvZXMpCiAgICAgICAgICAgICBmLndyaXRlKHRhaWwpCiAgICAgICAgICAgICBmLmZsdXNoKCkKLSAgICAgICAgZXhjZXB0IChJT0Vycm9yLCBPdmVyZmxvd0Vycm9yKToKKyAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBPdmVyZmxvd0Vycm9yKToKICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoImZpbGVzeXN0ZW0gZG9lcyBub3QgaGF2ZSBsYXJnZWZpbGUgc3VwcG9ydCIpCiAgICAgICAgIHJldHVybiBmCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X211bHRpYnl0ZWNvZGVjLnB5IGIvTGliL3Rlc3QvdGVzdF9tdWx0aWJ5dGVjb2RlYy5weQppbmRleCBmZWI3YmQ1Li45MTE0OGE2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X211bHRpYnl0ZWNvZGVjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbXVsdGlieXRlY29kZWMucHkKQEAgLTE3Niw1NyArMTc2LDI4IEBACiAgICAgICAgICAgICBzdXBwb3J0LnVubGluayhURVNURk4pCiAKIGNsYXNzIFRlc3RfU3RyZWFtV3JpdGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBpZiBsZW4oJ1xVMDAwMTIzNDUnKSA9PSAyOiAjIFVDUzIKLSAgICAgICAgZGVmIHRlc3RfZ2IxODAzMChzZWxmKToKLSAgICAgICAgICAgIHM9IGlvLkJ5dGVzSU8oKQotICAgICAgICAgICAgYyA9IGNvZGVjcy5nZXR3cml0ZXIoJ2diMTgwMzAnKShzKQotICAgICAgICAgICAgYy53cml0ZSgnMTIzJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCBiJzEyMycpCi0gICAgICAgICAgICBjLndyaXRlKCdcVTAwMDEyMzQ1JykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCBiJzEyM1x4OTA3XHg5NTknKQotICAgICAgICAgICAgYy53cml0ZSgnXFUwMDAxMjM0NSdbMF0pCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgYicxMjNceDkwN1x4OTU5JykKLSAgICAgICAgICAgIGMud3JpdGUoJ1xVMDAwMTIzNDUnWzFdICsgJ1xVMDAwMTIzNDUnICsgJ1x1YWMwMFx1MDBhYycpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwKLSAgICAgICAgICAgICAgICAgICAgYicxMjNceDkwN1x4OTU5XHg5MDdceDk1OVx4OTA3XHg5NTlceDgyN1x4Y2Y1XHg4MTBceDg1MScpCi0gICAgICAgICAgICBjLndyaXRlKCdcVTAwMDEyMzQ1J1swXSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLAotICAgICAgICAgICAgICAgICAgICBiJzEyM1x4OTA3XHg5NTlceDkwN1x4OTU5XHg5MDdceDk1OVx4ODI3XHhjZjVceDgxMFx4ODUxJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVFcnJvciwgYy5yZXNldCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLAotICAgICAgICAgICAgICAgICAgICBiJzEyM1x4OTA3XHg5NTlceDkwN1x4OTU5XHg5MDdceDk1OVx4ODI3XHhjZjVceDgxMFx4ODUxJykKKyAgICBkZWYgdGVzdF9nYjE4MDMwKHNlbGYpOgorICAgICAgICBzPSBpby5CeXRlc0lPKCkKKyAgICAgICAgYyA9IGNvZGVjcy5nZXR3cml0ZXIoJ2diMTgwMzAnKShzKQorICAgICAgICBjLndyaXRlKCcxMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgYicxMjMnKQorICAgICAgICBjLndyaXRlKCdcVTAwMDEyMzQ1JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIGInMTIzXHg5MDdceDk1OScpCisgICAgICAgIGMud3JpdGUoJ1x1YWMwMFx1MDBhYycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLAorICAgICAgICAgICAgICAgIGInMTIzXHg5MDdceDk1OVx4ODI3XHhjZjVceDgxMFx4ODUxJykKIAotICAgICAgICBkZWYgdGVzdF91dGZfOChzZWxmKToKLSAgICAgICAgICAgIHM9IGlvLkJ5dGVzSU8oKQotICAgICAgICAgICAgYyA9IGNvZGVjcy5nZXR3cml0ZXIoJ3V0Zi04JykocykKLSAgICAgICAgICAgIGMud3JpdGUoJzEyMycpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgYicxMjMnKQotICAgICAgICAgICAgYy53cml0ZSgnXFUwMDAxMjM0NScpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgYicxMjNceGYwXHg5Mlx4OGRceDg1JykKLQotICAgICAgICAgICAgIyBQeXRob24gdXRmLTggY29kZWMgY2FuJ3QgYnVmZmVyIHN1cnJvZ2F0ZSBwYWlycyB5ZXQuCi0gICAgICAgICAgICBpZiAwOgotICAgICAgICAgICAgICAgIGMud3JpdGUoJ1xVMDAwMTIzNDUnWzBdKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCBiJzEyM1x4ZjBceDkyXHg4ZFx4ODUnKQotICAgICAgICAgICAgICAgIGMud3JpdGUoJ1xVMDAwMTIzNDUnWzFdICsgJ1xVMDAwMTIzNDUnICsgJ1x1YWMwMFx1MDBhYycpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksCi0gICAgICAgICAgICAgICAgICAgIGInMTIzXHhmMFx4OTJceDhkXHg4NVx4ZjBceDkyXHg4ZFx4ODVceGYwXHg5Mlx4OGRceDg1JwotICAgICAgICAgICAgICAgICAgICBiJ1x4ZWFceGIwXHg4MFx4YzJceGFjJykKLSAgICAgICAgICAgICAgICBjLndyaXRlKCdcVTAwMDEyMzQ1J1swXSkKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwKLSAgICAgICAgICAgICAgICAgICAgYicxMjNceGYwXHg5Mlx4OGRceDg1XHhmMFx4OTJceDhkXHg4NVx4ZjBceDkyXHg4ZFx4ODUnCi0gICAgICAgICAgICAgICAgICAgIGInXHhlYVx4YjBceDgwXHhjMlx4YWMnKQotICAgICAgICAgICAgICAgIGMucmVzZXQoKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLAotICAgICAgICAgICAgICAgICAgICBiJzEyM1x4ZjBceDkyXHg4ZFx4ODVceGYwXHg5Mlx4OGRceDg1XHhmMFx4OTJceDhkXHg4NScKLSAgICAgICAgICAgICAgICAgICAgYidceGVhXHhiMFx4ODBceGMyXHhhY1x4ZWRceGEwXHg4OCcpCi0gICAgICAgICAgICAgICAgYy53cml0ZSgnXFUwMDAxMjM0NSdbMV0pCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksCi0gICAgICAgICAgICAgICAgICAgIGInMTIzXHhmMFx4OTJceDhkXHg4NVx4ZjBceDkyXHg4ZFx4ODVceGYwXHg5Mlx4OGRceDg1JwotICAgICAgICAgICAgICAgICAgICBiJ1x4ZWFceGIwXHg4MFx4YzJceGFjXHhlZFx4YTBceDg4XHhlZFx4YmRceDg1JykKLQotICAgIGVsc2U6ICMgVUNTNAotICAgICAgICBwYXNzCisgICAgZGVmIHRlc3RfdXRmXzgoc2VsZik6CisgICAgICAgIHM9IGlvLkJ5dGVzSU8oKQorICAgICAgICBjID0gY29kZWNzLmdldHdyaXRlcigndXRmLTgnKShzKQorICAgICAgICBjLndyaXRlKCcxMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgYicxMjMnKQorICAgICAgICBjLndyaXRlKCdcVTAwMDEyMzQ1JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIGInMTIzXHhmMFx4OTJceDhkXHg4NScpCisgICAgICAgIGMud3JpdGUoJ1x1YWMwMFx1MDBhYycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLAorICAgICAgICAgICAgYicxMjNceGYwXHg5Mlx4OGRceDg1JworICAgICAgICAgICAgYidceGVhXHhiMFx4ODBceGMyXHhhYycpCiAKICAgICBkZWYgdGVzdF9zdHJlYW13cml0ZXJfc3Ryd3JpdGUoc2VsZik6CiAgICAgICAgIHMgPSBpby5CeXRlc0lPKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbXVsdGlwcm9jZXNzaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKaW5kZXggOWIzZTE4MC4uMDk0YmJkNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKQEAgLTE5LDYgKzE5LDcgQEAKIGltcG9ydCByYW5kb20KIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgc3RydWN0CitpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCB0ZXN0LnN1cHBvcnQKIGltcG9ydCB0ZXN0LnNjcmlwdF9oZWxwZXIKIApAQCAtMTYyNCw2ICsxNjI1LDE4IEBACiAKIGNsYXNzIF9UZXN0UG9vbChCYXNlVGVzdENhc2UpOgogCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgc3VwZXIoKS5zZXRVcENsYXNzKCkKKyAgICAgICAgY2xzLnBvb2wgPSBjbHMuUG9vbCg0KQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgY2xzLnBvb2wudGVybWluYXRlKCkKKyAgICAgICAgY2xzLnBvb2wuam9pbigpCisgICAgICAgIGNscy5wb29sID0gTm9uZQorICAgICAgICBzdXBlcigpLnRlYXJEb3duQ2xhc3MoKQorCiAgICAgZGVmIHRlc3RfYXBwbHkoc2VsZik6CiAgICAgICAgIHBhcHBseSA9IHNlbGYucG9vbC5hcHBseQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcHBseShzcXIsICg1LCkpLCBzcXIoNSkpCkBAIC0xNzE1LDE1ICsxNzI4LDYgQEAKICAgICAgICAgcC5qb2luKCkKIAogICAgIGRlZiB0ZXN0X3Rlcm1pbmF0ZShzZWxmKToKLSAgICAgICAgaWYgc2VsZi5UWVBFID09ICdtYW5hZ2VyJzoKLSAgICAgICAgICAgICMgT24gVW5peCBhIGZvcmtlZCBwcm9jZXNzIGluY3JlZnMgZWFjaCBzaGFyZWQgb2JqZWN0IHRvCi0gICAgICAgICAgICAjIHdoaWNoIGl0cyBwYXJlbnQgcHJvY2VzcyBoZWxkIGEgcmVmZXJlbmNlLiAgSWYgdGhlCi0gICAgICAgICAgICAjIGZvcmtlZCBwcm9jZXNzIGdldHMgdGVybWluYXRlZCB0aGVuIHRoZXJlIGlzIGxpa2VseSB0bwotICAgICAgICAgICAgIyBiZSBhIHJlZmVyZW5jZSBsZWFrLiAgU28gdG8gcHJldmVudAotICAgICAgICAgICAgIyBfVGVzdFpaWk51bWJlck9mT2JqZWN0cyBmcm9tIGZhaWxpbmcgd2Ugc2tpcCB0aGlzIHRlc3QKLSAgICAgICAgICAgICMgd2hlbiB1c2luZyBhIG1hbmFnZXIuCi0gICAgICAgICAgICByZXR1cm4KLQogICAgICAgICByZXN1bHQgPSBzZWxmLnBvb2wubWFwX2FzeW5jKAogICAgICAgICAgICAgdGltZS5zbGVlcCwgWzAuMSBmb3IgaSBpbiByYW5nZSgxMDAwMCldLCBjaHVua3NpemU9MQogICAgICAgICAgICAgKQpAQCAtMTc1MSw3ICsxNzU1LDYgQEAKICAgICAgICAgICAgIHdpdGggbXVsdGlwcm9jZXNzaW5nLlBvb2woMikgYXMgcDoKICAgICAgICAgICAgICAgICByID0gcC5tYXBfYXN5bmMoc3FyLCBMKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5nZXQoKSwgZXhwZWN0ZWQpCi0gICAgICAgICAgICBwcmludChwLl9zdGF0ZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHAubWFwX2FzeW5jLCBzcXIsIEwpCiAKIGRlZiByYWlzaW5nKCk6CkBAIC0xODQ1LDM1ICsxODQ4LDYgQEAKICAgICAgICAgZm9yIChqLCByZXMpIGluIGVudW1lcmF0ZShyZXN1bHRzKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLmdldCgpLCBzcXIoaikpCiAKLQotIwotIyBUZXN0IHRoYXQgbWFuYWdlciBoYXMgZXhwZWN0ZWQgbnVtYmVyIG9mIHNoYXJlZCBvYmplY3RzIGxlZnQKLSMKLQotY2xhc3MgX1Rlc3RaWlpOdW1iZXJPZk9iamVjdHMoQmFzZVRlc3RDYXNlKToKLSAgICAjIEJlY2F1c2UgdGVzdCBjYXNlcyBhcmUgc29ydGVkIGFscGhhYmV0aWNhbGx5LCB0aGlzIG9uZSB3aWxsIGdldAotICAgICMgcnVuIGFmdGVyIGFsbCB0aGUgb3RoZXIgdGVzdHMgZm9yIHRoZSBtYW5hZ2VyLiAgSXQgdGVzdHMgdGhhdAotICAgICMgdGhlcmUgaGF2ZSBiZWVuIG5vICJyZWZlcmVuY2UgbGVha3MiIGZvciB0aGUgbWFuYWdlcidzIHNoYXJlZAotICAgICMgb2JqZWN0cy4gIE5vdGUgdGhlIGNvbW1lbnQgaW4gX1Rlc3RQb29sLnRlc3RfdGVybWluYXRlKCkuCi0KLSAgICAjIElmIHNvbWUgb3RoZXIgdGVzdCB1c2luZyBNYW5hZ2VyTWl4aW4ubWFuYWdlciBmYWlscywgdGhlbiB0aGUKLSAgICAjIHJhaXNlZCBleGNlcHRpb24gbWF5IGtlZXAgYWxpdmUgYSBmcmFtZSB3aGljaCBob2xkcyBhIHJlZmVyZW5jZQotICAgICMgdG8gYSBtYW5hZ2VkIG9iamVjdC4gIFRoaXMgd2lsbCBjYXVzZSB0ZXN0X251bWJlcl9vZl9vYmplY3RzIHRvCi0gICAgIyBhbHNvIGZhaWwuCi0gICAgQUxMT1dFRF9UWVBFUyA9ICgnbWFuYWdlcicsKQotCi0gICAgZGVmIHRlc3RfbnVtYmVyX29mX29iamVjdHMoc2VsZik6Ci0gICAgICAgIEVYUEVDVEVEX05VTUJFUiA9IDEgICAgICAgICAgICAgICAgIyB0aGUgcG9vbCBvYmplY3QgaXMgc3RpbGwgYWxpdmUKLSAgICAgICAgbXVsdGlwcm9jZXNzaW5nLmFjdGl2ZV9jaGlsZHJlbigpICAjIGRpc2NhcmQgZGVhZCBwcm9jZXNzIG9ianMKLSAgICAgICAgZ2MuY29sbGVjdCgpICAgICAgICAgICAgICAgICAgICAgICAjIGRvIGdhcmJhZ2UgY29sbGVjdGlvbgotICAgICAgICByZWZzID0gc2VsZi5tYW5hZ2VyLl9udW1iZXJfb2Zfb2JqZWN0cygpCi0gICAgICAgIGRlYnVnX2luZm8gPSBzZWxmLm1hbmFnZXIuX2RlYnVnX2luZm8oKQotICAgICAgICBpZiByZWZzICE9IEVYUEVDVEVEX05VTUJFUjoKLSAgICAgICAgICAgIHByaW50KHNlbGYubWFuYWdlci5fZGVidWdfaW5mbygpKQotICAgICAgICAgICAgcHJpbnQoZGVidWdfaW5mbykKLQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlZnMsIEVYUEVDVEVEX05VTUJFUikKLQogIwogIyBUZXN0IG9mIGNyZWF0aW5nIGEgY3VzdG9taXplZCBtYW5hZ2VyIGNsYXNzCiAjCkBAIC0yMDUxLDcgKzIwMjUsNyBAQAogICAgICAgICAgICAgYWRkcmVzcz1hZGRyLCBhdXRoa2V5PWF1dGhrZXksIHNlcmlhbGl6ZXI9U0VSSUFMSVpFUikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbWFuYWdlci5zdGFydCgpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVBRERSSU5VU0U6CiAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICMgUmV0cnkgYWZ0ZXIgc29tZSB0aW1lLCBpbiBjYXNlIHRoZSBvbGQgc29ja2V0IHdhcyBsaW5nZXJpbmcKQEAgLTIxNjUsOSArMjEzOSw5IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlYWRlci53cml0YWJsZSwgRmFsc2UpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyaXRlci5yZWFkYWJsZSwgRmFsc2UpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyaXRlci53cml0YWJsZSwgVHJ1ZSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIHJlYWRlci5zZW5kLCAyKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgd3JpdGVyLnJlY3YpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCB3cml0ZXIucG9sbCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHJlYWRlci5zZW5kLCAyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgd3JpdGVyLnJlY3YpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCB3cml0ZXIucG9sbCkKIAogICAgIGRlZiB0ZXN0X3NwYXduX2Nsb3NlKHNlbGYpOgogICAgICAgICAjIFdlIHRlc3QgdGhhdCBhIHBpcGUgY29ubmVjdGlvbiBjYW4gYmUgY2xvc2VkIGJ5IHBhcmVudApAQCAtMjMyOSw4ICsyMzAzLDggQEAKICAgICAgICAgaWYgc2VsZi5UWVBFID09ICdwcm9jZXNzZXMnOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGEuY2xvc2VkKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGIuY2xvc2VkKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYS5yZWN2KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgYi5yZWN2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgYS5yZWN2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgYi5yZWN2KQogCiBjbGFzcyBfVGVzdExpc3RlbmVyKEJhc2VUZXN0Q2FzZSk6CiAKQEAgLTIzNTEsNyArMjMyNSw3IEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZC5yZWN2KCksIDE3MjkpCiAKICAgICAgICAgaWYgc2VsZi5UWVBFID09ICdwcm9jZXNzZXMnOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgbC5hY2NlcHQpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBsLmFjY2VwdCkKIAogY2xhc3MgX1Rlc3RMaXN0ZW5lckNsaWVudChCYXNlVGVzdENhc2UpOgogCkBAIC0yOTQyLDI3ICsyOTE2LDE4IEBACiAgICAgZGVmIHRlc3RfaW52YWxpZF9oYW5kbGVzKHNlbGYpOgogICAgICAgICBjb25uID0gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24uQ29ubmVjdGlvbig0NDk3NzYwOCkKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFZhbHVlRXJyb3IsIElPRXJyb3IpLCBjb25uLnBvbGwpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygoVmFsdWVFcnJvciwgT1NFcnJvciksIGNvbm4ucG9sbCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICMgSGFjayBwcml2YXRlIGF0dHJpYnV0ZSBfaGFuZGxlIHRvIGF2b2lkIHByaW50aW5nIGFuIGVycm9yCiAgICAgICAgICAgICAjIGluIGNvbm4uX19kZWxfXwogICAgICAgICAgICAgY29ubi5faGFuZGxlID0gTm9uZQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygoVmFsdWVFcnJvciwgSU9FcnJvciksCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChWYWx1ZUVycm9yLCBPU0Vycm9yKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24uQ29ubmVjdGlvbiwgLTEpCiAKICMKICMgRnVuY3Rpb25zIHVzZWQgdG8gY3JlYXRlIHRlc3QgY2FzZXMgZnJvbSB0aGUgYmFzZSBvbmVzIGluIHRoaXMgbW9kdWxlCiAjCiAKLWRlZiBnZXRfYXR0cmlidXRlcyhTb3VyY2UsIG5hbWVzKToKLSAgICBkID0ge30KLSAgICBmb3IgbmFtZSBpbiBuYW1lczoKLSAgICAgICAgb2JqID0gZ2V0YXR0cihTb3VyY2UsIG5hbWUpCi0gICAgICAgIGlmIHR5cGUob2JqKSA9PSB0eXBlKGdldF9hdHRyaWJ1dGVzKToKLSAgICAgICAgICAgIG9iaiA9IHN0YXRpY21ldGhvZChvYmopCi0gICAgICAgIGRbbmFtZV0gPSBvYmoKLSAgICByZXR1cm4gZAotCiBkZWYgY3JlYXRlX3Rlc3RfY2FzZXMoTWl4aW4sIHR5cGUpOgogICAgIHJlc3VsdCA9IHt9CiAgICAgZ2xvYiA9IGdsb2JhbHMoKQpAQCAtMjk3NSwxMCArMjk0MCwxMCBAQAogICAgICAgICAgICAgYXNzZXJ0IHNldChiYXNlLkFMTE9XRURfVFlQRVMpIDw9IEFMTF9UWVBFUywgc2V0KGJhc2UuQUxMT1dFRF9UWVBFUykKICAgICAgICAgICAgIGlmIHR5cGUgaW4gYmFzZS5BTExPV0VEX1RZUEVTOgogICAgICAgICAgICAgICAgIG5ld25hbWUgPSAnV2l0aCcgKyBUeXBlICsgbmFtZVsxOl0KLSAgICAgICAgICAgICAgICBjbGFzcyBUZW1wKGJhc2UsIHVuaXR0ZXN0LlRlc3RDYXNlLCBNaXhpbik6CisgICAgICAgICAgICAgICAgY2xhc3MgVGVtcChiYXNlLCBNaXhpbiwgdW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICAgcmVzdWx0W25ld25hbWVdID0gVGVtcAotICAgICAgICAgICAgICAgIFRlbXAuX19uYW1lX18gPSBuZXduYW1lCisgICAgICAgICAgICAgICAgVGVtcC5fX25hbWVfXyA9IFRlbXAuX19xdWFsbmFtZV9fID0gbmV3bmFtZQogICAgICAgICAgICAgICAgIFRlbXAuX19tb2R1bGVfXyA9IE1peGluLl9fbW9kdWxlX18KICAgICByZXR1cm4gcmVzdWx0CiAKQEAgLTI5ODksMTIgKzI5NTQsMjQgQEAKIGNsYXNzIFByb2Nlc3Nlc01peGluKG9iamVjdCk6CiAgICAgVFlQRSA9ICdwcm9jZXNzZXMnCiAgICAgUHJvY2VzcyA9IG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzCi0gICAgbG9jYWxzKCkudXBkYXRlKGdldF9hdHRyaWJ1dGVzKG11bHRpcHJvY2Vzc2luZywgKAotICAgICAgICAnUXVldWUnLCAnTG9jaycsICdSTG9jaycsICdTZW1hcGhvcmUnLCAnQm91bmRlZFNlbWFwaG9yZScsCi0gICAgICAgICdDb25kaXRpb24nLCAnRXZlbnQnLCAnQmFycmllcicsICdWYWx1ZScsICdBcnJheScsICdSYXdWYWx1ZScsCi0gICAgICAgICdSYXdBcnJheScsICdjdXJyZW50X3Byb2Nlc3MnLCAnYWN0aXZlX2NoaWxkcmVuJywgJ1BpcGUnLAotICAgICAgICAnY29ubmVjdGlvbicsICdKb2luYWJsZVF1ZXVlJywgJ1Bvb2wnCi0gICAgICAgICkpKQorICAgIGNvbm5lY3Rpb24gPSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbgorICAgIGN1cnJlbnRfcHJvY2VzcyA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuY3VycmVudF9wcm9jZXNzKQorICAgIGFjdGl2ZV9jaGlsZHJlbiA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuYWN0aXZlX2NoaWxkcmVuKQorICAgIFBvb2wgPSBzdGF0aWNtZXRob2QobXVsdGlwcm9jZXNzaW5nLlBvb2wpCisgICAgUGlwZSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuUGlwZSkKKyAgICBRdWV1ZSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuUXVldWUpCisgICAgSm9pbmFibGVRdWV1ZSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuSm9pbmFibGVRdWV1ZSkKKyAgICBMb2NrID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5Mb2NrKQorICAgIFJMb2NrID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5STG9jaykKKyAgICBTZW1hcGhvcmUgPSBzdGF0aWNtZXRob2QobXVsdGlwcm9jZXNzaW5nLlNlbWFwaG9yZSkKKyAgICBCb3VuZGVkU2VtYXBob3JlID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5Cb3VuZGVkU2VtYXBob3JlKQorICAgIENvbmRpdGlvbiA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuQ29uZGl0aW9uKQorICAgIEV2ZW50ID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5FdmVudCkKKyAgICBCYXJyaWVyID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5CYXJyaWVyKQorICAgIFZhbHVlID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5WYWx1ZSkKKyAgICBBcnJheSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuQXJyYXkpCisgICAgUmF3VmFsdWUgPSBzdGF0aWNtZXRob2QobXVsdGlwcm9jZXNzaW5nLlJhd1ZhbHVlKQorICAgIFJhd0FycmF5ID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5SYXdBcnJheSkKIAogdGVzdGNhc2VzX3Byb2Nlc3NlcyA9IGNyZWF0ZV90ZXN0X2Nhc2VzKFByb2Nlc3Nlc01peGluLCB0eXBlPSdwcm9jZXNzZXMnKQogZ2xvYmFscygpLnVwZGF0ZSh0ZXN0Y2FzZXNfcHJvY2Vzc2VzKQpAQCAtMzAwMywxMiArMjk4MCw0OCBAQAogY2xhc3MgTWFuYWdlck1peGluKG9iamVjdCk6CiAgICAgVFlQRSA9ICdtYW5hZ2VyJwogICAgIFByb2Nlc3MgPSBtdWx0aXByb2Nlc3NpbmcuUHJvY2VzcwotICAgIG1hbmFnZXIgPSBvYmplY3QuX19uZXdfXyhtdWx0aXByb2Nlc3NpbmcubWFuYWdlcnMuU3luY01hbmFnZXIpCi0gICAgbG9jYWxzKCkudXBkYXRlKGdldF9hdHRyaWJ1dGVzKG1hbmFnZXIsICgKLSAgICAgICAgJ1F1ZXVlJywgJ0xvY2snLCAnUkxvY2snLCAnU2VtYXBob3JlJywgJ0JvdW5kZWRTZW1hcGhvcmUnLAotICAgICAgICAnQ29uZGl0aW9uJywgJ0V2ZW50JywgJ0JhcnJpZXInLCAnVmFsdWUnLCAnQXJyYXknLCAnbGlzdCcsICdkaWN0JywKLSAgICAgICAgJ05hbWVzcGFjZScsICdKb2luYWJsZVF1ZXVlJywgJ1Bvb2wnCi0gICAgICAgICkpKQorICAgIFF1ZXVlID0gcHJvcGVydHkob3BlcmF0b3IuYXR0cmdldHRlcignbWFuYWdlci5RdWV1ZScpKQorICAgIEpvaW5hYmxlUXVldWUgPSBwcm9wZXJ0eShvcGVyYXRvci5hdHRyZ2V0dGVyKCdtYW5hZ2VyLkpvaW5hYmxlUXVldWUnKSkKKyAgICBMb2NrID0gcHJvcGVydHkob3BlcmF0b3IuYXR0cmdldHRlcignbWFuYWdlci5Mb2NrJykpCisgICAgUkxvY2sgPSBwcm9wZXJ0eShvcGVyYXRvci5hdHRyZ2V0dGVyKCdtYW5hZ2VyLlJMb2NrJykpCisgICAgU2VtYXBob3JlID0gcHJvcGVydHkob3BlcmF0b3IuYXR0cmdldHRlcignbWFuYWdlci5TZW1hcGhvcmUnKSkKKyAgICBCb3VuZGVkU2VtYXBob3JlID0gcHJvcGVydHkob3BlcmF0b3IuYXR0cmdldHRlcignbWFuYWdlci5Cb3VuZGVkU2VtYXBob3JlJykpCisgICAgQ29uZGl0aW9uID0gcHJvcGVydHkob3BlcmF0b3IuYXR0cmdldHRlcignbWFuYWdlci5Db25kaXRpb24nKSkKKyAgICBFdmVudCA9IHByb3BlcnR5KG9wZXJhdG9yLmF0dHJnZXR0ZXIoJ21hbmFnZXIuRXZlbnQnKSkKKyAgICBCYXJyaWVyID0gcHJvcGVydHkob3BlcmF0b3IuYXR0cmdldHRlcignbWFuYWdlci5CYXJyaWVyJykpCisgICAgVmFsdWUgPSBwcm9wZXJ0eShvcGVyYXRvci5hdHRyZ2V0dGVyKCdtYW5hZ2VyLlZhbHVlJykpCisgICAgQXJyYXkgPSBwcm9wZXJ0eShvcGVyYXRvci5hdHRyZ2V0dGVyKCdtYW5hZ2VyLkFycmF5JykpCisgICAgbGlzdCA9IHByb3BlcnR5KG9wZXJhdG9yLmF0dHJnZXR0ZXIoJ21hbmFnZXIubGlzdCcpKQorICAgIGRpY3QgPSBwcm9wZXJ0eShvcGVyYXRvci5hdHRyZ2V0dGVyKCdtYW5hZ2VyLmRpY3QnKSkKKyAgICBOYW1lc3BhY2UgPSBwcm9wZXJ0eShvcGVyYXRvci5hdHRyZ2V0dGVyKCdtYW5hZ2VyLk5hbWVzcGFjZScpKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIFBvb2woY2xzLCAqYXJncywgKiprd2RzKToKKyAgICAgICAgcmV0dXJuIGNscy5tYW5hZ2VyLlBvb2woKmFyZ3MsICoqa3dkcykKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBzZXRVcENsYXNzKGNscyk6CisgICAgICAgIGNscy5tYW5hZ2VyID0gbXVsdGlwcm9jZXNzaW5nLk1hbmFnZXIoKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKKyAgICAgICAgIyBvbmx5IHRoZSBtYW5hZ2VyIHByb2Nlc3Mgc2hvdWxkIGJlIHJldHVybmVkIGJ5IGFjdGl2ZV9jaGlsZHJlbigpCisgICAgICAgICMgYnV0IHRoaXMgY2FuIHRha2UgYSBiaXQgb24gc2xvdyBtYWNoaW5lcywgc28gd2FpdCBhIGZldyBzZWNvbmRzCisgICAgICAgICMgaWYgdGhlcmUgYXJlIG90aGVyIGNoaWxkcmVuIHRvbyAoc2VlICMxNzM5NSkKKyAgICAgICAgdCA9IDAuMDEKKyAgICAgICAgd2hpbGUgbGVuKG11bHRpcHJvY2Vzc2luZy5hY3RpdmVfY2hpbGRyZW4oKSkgPiAxIGFuZCB0IDwgNToKKyAgICAgICAgICAgIHRpbWUuc2xlZXAodCkKKyAgICAgICAgICAgIHQgKj0gMgorICAgICAgICBnYy5jb2xsZWN0KCkgICAgICAgICAgICAgICAgICAgICAgICMgZG8gZ2FyYmFnZSBjb2xsZWN0aW9uCisgICAgICAgIGlmIGNscy5tYW5hZ2VyLl9udW1iZXJfb2Zfb2JqZWN0cygpICE9IDA6CisgICAgICAgICAgICAjIFRoaXMgaXMgbm90IHJlYWxseSBhbiBlcnJvciBzaW5jZSBzb21lIHRlc3RzIGRvIG5vdAorICAgICAgICAgICAgIyBlbnN1cmUgdGhhdCBhbGwgcHJvY2Vzc2VzIHdoaWNoIGhvbGQgYSByZWZlcmVuY2UgdG8gYQorICAgICAgICAgICAgIyBtYW5hZ2VkIG9iamVjdCBoYXZlIGJlZW4gam9pbmVkLgorICAgICAgICAgICAgcHJpbnQoJ1NoYXJlZCBvYmplY3RzIHdoaWNoIHN0aWxsIGV4aXN0IGF0IG1hbmFnZXIgc2h1dGRvd246JykKKyAgICAgICAgICAgIHByaW50KGNscy5tYW5hZ2VyLl9kZWJ1Z19pbmZvKCkpCisgICAgICAgIGNscy5tYW5hZ2VyLnNodXRkb3duKCkKKyAgICAgICAgY2xzLm1hbmFnZXIuam9pbigpCisgICAgICAgIGNscy5tYW5hZ2VyID0gTm9uZQogCiB0ZXN0Y2FzZXNfbWFuYWdlciA9IGNyZWF0ZV90ZXN0X2Nhc2VzKE1hbmFnZXJNaXhpbiwgdHlwZT0nbWFuYWdlcicpCiBnbG9iYWxzKCkudXBkYXRlKHRlc3RjYXNlc19tYW5hZ2VyKQpAQCAtMzAxNywxNiArMzAzMCwyNyBAQAogY2xhc3MgVGhyZWFkc01peGluKG9iamVjdCk6CiAgICAgVFlQRSA9ICd0aHJlYWRzJwogICAgIFByb2Nlc3MgPSBtdWx0aXByb2Nlc3NpbmcuZHVtbXkuUHJvY2VzcwotICAgIGxvY2FscygpLnVwZGF0ZShnZXRfYXR0cmlidXRlcyhtdWx0aXByb2Nlc3NpbmcuZHVtbXksICgKLSAgICAgICAgJ1F1ZXVlJywgJ0xvY2snLCAnUkxvY2snLCAnU2VtYXBob3JlJywgJ0JvdW5kZWRTZW1hcGhvcmUnLAotICAgICAgICAnQ29uZGl0aW9uJywgJ0V2ZW50JywgJ0JhcnJpZXInLCAnVmFsdWUnLCAnQXJyYXknLCAnY3VycmVudF9wcm9jZXNzJywKLSAgICAgICAgJ2FjdGl2ZV9jaGlsZHJlbicsICdQaXBlJywgJ2Nvbm5lY3Rpb24nLCAnZGljdCcsICdsaXN0JywKLSAgICAgICAgJ05hbWVzcGFjZScsICdKb2luYWJsZVF1ZXVlJywgJ1Bvb2wnCi0gICAgICAgICkpKQorICAgIGNvbm5lY3Rpb24gPSBtdWx0aXByb2Nlc3NpbmcuZHVtbXkuY29ubmVjdGlvbgorICAgIGN1cnJlbnRfcHJvY2VzcyA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuY3VycmVudF9wcm9jZXNzKQorICAgIGFjdGl2ZV9jaGlsZHJlbiA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuYWN0aXZlX2NoaWxkcmVuKQorICAgIFBvb2wgPSBzdGF0aWNtZXRob2QobXVsdGlwcm9jZXNzaW5nLlBvb2wpCisgICAgUGlwZSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuUGlwZSkKKyAgICBRdWV1ZSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuUXVldWUpCisgICAgSm9pbmFibGVRdWV1ZSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuSm9pbmFibGVRdWV1ZSkKKyAgICBMb2NrID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5kdW1teS5Mb2NrKQorICAgIFJMb2NrID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5kdW1teS5STG9jaykKKyAgICBTZW1hcGhvcmUgPSBzdGF0aWNtZXRob2QobXVsdGlwcm9jZXNzaW5nLmR1bW15LlNlbWFwaG9yZSkKKyAgICBCb3VuZGVkU2VtYXBob3JlID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5kdW1teS5Cb3VuZGVkU2VtYXBob3JlKQorICAgIENvbmRpdGlvbiA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuQ29uZGl0aW9uKQorICAgIEV2ZW50ID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5kdW1teS5FdmVudCkKKyAgICBCYXJyaWVyID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5kdW1teS5CYXJyaWVyKQorICAgIFZhbHVlID0gc3RhdGljbWV0aG9kKG11bHRpcHJvY2Vzc2luZy5kdW1teS5WYWx1ZSkKKyAgICBBcnJheSA9IHN0YXRpY21ldGhvZChtdWx0aXByb2Nlc3NpbmcuZHVtbXkuQXJyYXkpCiAKIHRlc3RjYXNlc190aHJlYWRzID0gY3JlYXRlX3Rlc3RfY2FzZXMoVGhyZWFkc01peGluLCB0eXBlPSd0aHJlYWRzJykKIGdsb2JhbHMoKS51cGRhdGUodGVzdGNhc2VzX3RocmVhZHMpCiAKKwogY2xhc3MgT3RoZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAjIFRPRE86IGFkZCBtb3JlIHRlc3RzIGZvciBkZWxpdmVyL2Fuc3dlciBjaGFsbGVuZ2UuCiAgICAgZGVmIHRlc3RfZGVsaXZlcl9jaGFsbGVuZ2VfYXV0aF9mYWlsdXJlKHNlbGYpOgpAQCAtMzQ4OSwxMiArMzUxMyw2IEBACiAKICAgICBtdWx0aXByb2Nlc3NpbmcuZ2V0X2xvZ2dlcigpLnNldExldmVsKExPR19MRVZFTCkKIAotICAgIFByb2Nlc3Nlc01peGluLnBvb2wgPSBtdWx0aXByb2Nlc3NpbmcuUG9vbCg0KQotICAgIFRocmVhZHNNaXhpbi5wb29sID0gbXVsdGlwcm9jZXNzaW5nLmR1bW15LlBvb2woNCkKLSAgICBNYW5hZ2VyTWl4aW4ubWFuYWdlci5fX2luaXRfXygpCi0gICAgTWFuYWdlck1peGluLm1hbmFnZXIuc3RhcnQoKQotICAgIE1hbmFnZXJNaXhpbi5wb29sID0gTWFuYWdlck1peGluLm1hbmFnZXIuUG9vbCg0KQotCiAgICAgdGVzdGNhc2VzID0gKAogICAgICAgICBzb3J0ZWQodGVzdGNhc2VzX3Byb2Nlc3Nlcy52YWx1ZXMoKSwga2V5PWxhbWJkYSB0Yzp0Yy5fX25hbWVfXykgKwogICAgICAgICBzb3J0ZWQodGVzdGNhc2VzX3RocmVhZHMudmFsdWVzKCksIGtleT1sYW1iZGEgdGM6dGMuX19uYW1lX18pICsKQEAgLTM1MDQsMTggKzM1MjIsNyBAQAogCiAgICAgbG9hZFRlc3RzRnJvbVRlc3RDYXNlID0gdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbVRlc3RDYXNlCiAgICAgc3VpdGUgPSB1bml0dGVzdC5UZXN0U3VpdGUobG9hZFRlc3RzRnJvbVRlc3RDYXNlKHRjKSBmb3IgdGMgaW4gdGVzdGNhc2VzKQotICAgIHRyeToKLSAgICAgICAgcnVuKHN1aXRlKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIFRocmVhZHNNaXhpbi5wb29sLnRlcm1pbmF0ZSgpCi0gICAgICAgIFByb2Nlc3Nlc01peGluLnBvb2wudGVybWluYXRlKCkKLSAgICAgICAgTWFuYWdlck1peGluLnBvb2wudGVybWluYXRlKCkKLSAgICAgICAgTWFuYWdlck1peGluLnBvb2wuam9pbigpCi0gICAgICAgIE1hbmFnZXJNaXhpbi5tYW5hZ2VyLnNodXRkb3duKCkKLSAgICAgICAgTWFuYWdlck1peGluLm1hbmFnZXIuam9pbigpCi0gICAgICAgIFRocmVhZHNNaXhpbi5wb29sLmpvaW4oKQotICAgICAgICBQcm9jZXNzZXNNaXhpbi5wb29sLmpvaW4oKQotICAgICAgICBkZWwgUHJvY2Vzc2VzTWl4aW4ucG9vbCwgVGhyZWFkc01peGluLnBvb2wsIE1hbmFnZXJNaXhpbi5wb29sCisgICAgcnVuKHN1aXRlKQogCiBkZWYgbWFpbigpOgogICAgIHRlc3RfbWFpbih1bml0dGVzdC5UZXh0VGVzdFJ1bm5lcih2ZXJib3NpdHk9MikucnVuKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9ubnRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9ubnRwbGliLnB5CmluZGV4IDE5ZmIxMGEuLjdjZjQ5N2EgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfbm50cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X25udHBsaWIucHkKQEAgLTI2NCw3ICsyNjQsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlcnZlci5oZWxwKCkKLSAgICAgICAgICAgIGV4Y2VwdCAoc29ja2V0LmVycm9yLCBFT0ZFcnJvcik6CisgICAgICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEVPRkVycm9yKToKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfbm9ybWFsaXphdGlvbi5weSBiL0xpYi90ZXN0L3Rlc3Rfbm9ybWFsaXphdGlvbi5weQppbmRleCBlM2UyNTYwLi5kYjI4ZTFhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X25vcm1hbGl6YXRpb24ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ub3JtYWxpemF0aW9uLnB5CkBAIC00Myw3ICs0Myw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRlc3RkYXRhID0gb3Blbl91cmxyZXNvdXJjZShURVNUREFUQVVSTCwgZW5jb2Rpbmc9InV0Zi04IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVjaz1jaGVja192ZXJzaW9uKQotICAgICAgICBleGNlcHQgKElPRXJyb3IsIEhUVFBFeGNlcHRpb24pOgorICAgICAgICBleGNlcHQgKE9TRXJyb3IsIEhUVFBFeGNlcHRpb24pOgogICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiQ291bGQgbm90IHJldHJpZXZlICIgKyBURVNUREFUQVVSTCkKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHRlc3RkYXRhLmNsb3NlKQogICAgICAgICBmb3IgbGluZSBpbiB0ZXN0ZGF0YToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3BlbnB0eS5weSBiL0xpYi90ZXN0L3Rlc3Rfb3BlbnB0eS5weQppbmRleCBlODE3NWZmLi44NzEzZDM0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X29wZW5wdHkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vcGVucHR5LnB5CkBAIC00LDcgKzQsNyBAQAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdAogCiBpZiBub3QgaGFzYXR0cihvcywgIm9wZW5wdHkiKToKLSAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiTm8gb3BlbnB0eSgpIGF2YWlsYWJsZS4iKQorICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJvcy5vcGVucHR5KCkgbm90IGF2YWlsYWJsZS4iKQogCiAKIGNsYXNzIE9wZW5wdHlUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3BlcmF0b3IucHkgYi9MaWIvdGVzdC90ZXN0X29wZXJhdG9yLnB5CmluZGV4IGZhNjA4YjkuLmFiNThhOTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfb3BlcmF0b3IucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vcGVyYXRvci5weQpAQCAtMSw4ICsxLDEwIEBACi1pbXBvcnQgb3BlcmF0b3IKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIAorcHlfb3BlcmF0b3IgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoJ29wZXJhdG9yJywgYmxvY2tlZD1bJ19vcGVyYXRvciddKQorY19vcGVyYXRvciA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnb3BlcmF0b3InLCBmcmVzaD1bJ19vcGVyYXRvciddKQorCiBjbGFzcyBTZXExOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsc3QpOgogICAgICAgICBzZWxmLmxzdCA9IGxzdApAQCAtMzIsOCArMzQsOSBAQAogICAgICAgICByZXR1cm4gb3RoZXIgKiBzZWxmLmxzdAogCiAKLWNsYXNzIE9wZXJhdG9yVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorY2xhc3MgT3BlcmF0b3JUZXN0Q2FzZToKICAgICBkZWYgdGVzdF9sdChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmx0KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmx0LCAxaiwgMmopCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3BlcmF0b3IubHQoMSwgMCkpCkBAIC00NCw2ICs0Nyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5sdCgxLCAyLjApKQogCiAgICAgZGVmIHRlc3RfbGUoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5sZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5sZSwgMWosIDJqKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9wZXJhdG9yLmxlKDEsIDApKQpAQCAtNTQsNiArNTgsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IubGUoMSwgMi4wKSkKIAogICAgIGRlZiB0ZXN0X2VxKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgogICAgICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yCkBAIC02Nyw2ICs3Miw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3BlcmF0b3IuZXEoMSwgMi4wKSkKIAogICAgIGRlZiB0ZXN0X25lKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgogICAgICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yCkBAIC04MCw2ICs4Niw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5uZSgxLCAyLjApKQogCiAgICAgZGVmIHRlc3RfZ2Uoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5nZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5nZSwgMWosIDJqKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IuZ2UoMSwgMCkpCkBAIC05MCw2ICs5Nyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3BlcmF0b3IuZ2UoMSwgMi4wKSkKIAogICAgIGRlZiB0ZXN0X2d0KHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuZ3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuZ3QsIDFqLCAyaikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wZXJhdG9yLmd0KDEsIDApKQpAQCAtMTAwLDIyICsxMDgsMjYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcGVyYXRvci5ndCgxLCAyLjApKQogCiAgICAgZGVmIHRlc3RfYWJzKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuYWJzKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmFicywgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5hYnMoLTEpLCAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmFicygxKSwgMSkKIAogICAgIGRlZiB0ZXN0X2FkZChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmFkZCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5hZGQsIE5vbmUsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5hZGQoMywgNCkgPT0gNykKIAogICAgIGRlZiB0ZXN0X2JpdHdpc2VfYW5kKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuYW5kXykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5hbmRfLCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IuYW5kXygweGYsIDB4YSkgPT0gMHhhKQogCiAgICAgZGVmIHRlc3RfY29uY2F0KHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuY29uY2F0KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmNvbmNhdCwgTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wZXJhdG9yLmNvbmNhdCgncHknLCAndGhvbicpID09ICdweXRob24nKQpAQCAtMTI1LDEyICsxMzcsMTQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5jb25jYXQsIDEzLCAyOSkKIAogICAgIGRlZiB0ZXN0X2NvdW50T2Yoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5jb3VudE9mKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmNvdW50T2YsIE5vbmUsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5jb3VudE9mKFsxLCAyLCAxLCAzLCAxLCA0XSwgMykgPT0gMSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wZXJhdG9yLmNvdW50T2YoWzEsIDIsIDEsIDMsIDEsIDRdLCA1KSA9PSAwKQogCiAgICAgZGVmIHRlc3RfZGVsaXRlbShzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBhID0gWzQsIDMsIDIsIDFdCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuZGVsaXRlbSwgYSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5kZWxpdGVtLCBhLCBOb25lKQpAQCAtMTM4LDMzICsxNTIsMzkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGEgPT0gWzQsIDIsIDFdKQogCiAgICAgZGVmIHRlc3RfZmxvb3JkaXYoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5mbG9vcmRpdiwgNSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5mbG9vcmRpdiwgTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wZXJhdG9yLmZsb29yZGl2KDUsIDIpID09IDIpCiAKICAgICBkZWYgdGVzdF90cnVlZGl2KHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IudHJ1ZWRpdiwgNSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci50cnVlZGl2LCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IudHJ1ZWRpdig1LCAyKSA9PSAyLjUpCiAKICAgICBkZWYgdGVzdF9nZXRpdGVtKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIGEgPSByYW5nZSgxMCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5nZXRpdGVtKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmdldGl0ZW0sIGEsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5nZXRpdGVtKGEsIDIpID09IDIpCiAKICAgICBkZWYgdGVzdF9pbmRleE9mKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuaW5kZXhPZikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5pbmRleE9mLCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IuaW5kZXhPZihbNCwgMywgMiwgMV0sIDMpID09IDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG9wZXJhdG9yLmluZGV4T2YsIFs0LCAzLCAyLCAxXSwgMCkKIAogICAgIGRlZiB0ZXN0X2ludmVydChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmludmVydCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5pbnZlcnQsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaW52KDQpLCAtNSkKIAogICAgIGRlZiB0ZXN0X2xzaGlmdChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmxzaGlmdCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5sc2hpZnQsIE5vbmUsIDQyKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IubHNoaWZ0KDUsIDEpID09IDEwKQpAQCAtMTcyLDE2ICsxOTIsMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgb3BlcmF0b3IubHNoaWZ0LCAyLCAtMSkKIAogICAgIGRlZiB0ZXN0X21vZChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm1vZCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tb2QsIE5vbmUsIDQyKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IubW9kKDUsIDIpID09IDEpCiAKICAgICBkZWYgdGVzdF9tdWwoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tdWwpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IubXVsLCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IubXVsKDUsIDIpID09IDEwKQogCiAgICAgZGVmIHRlc3RfbmVnKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IubmVnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm5lZywgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5uZWcoNSksIC01KQpAQCAtMTkwLDExICsyMTMsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5uZWcoLTApLCAwKQogCiAgICAgZGVmIHRlc3RfYml0d2lzZV9vcihzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLm9yXykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5vcl8sIE5vbmUsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcGVyYXRvci5vcl8oMHhhLCAweDUpID09IDB4ZikKIAogICAgIGRlZiB0ZXN0X3BvcyhzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLnBvcykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5wb3MsIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IucG9zKDUpLCA1KQpAQCAtMjAzLDE0ICsyMjgsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5wb3MoLTApLCAwKQogCiAgICAgZGVmIHRlc3RfcG93KHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IucG93KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLnBvdywgTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5wb3coMyw1KSwgMyoqNSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5fX3Bvd19fKDMsNSksIDMqKjUpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IucG93LCAxKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLnBvdywgMSwgMiwgMykKIAogICAgIGRlZiB0ZXN0X3JzaGlmdChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLnJzaGlmdCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5yc2hpZnQsIE5vbmUsIDQyKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IucnNoaWZ0KDUsIDEpID09IDIpCkBAIC0yMTgsMTIgKzI0NCwxNCBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBvcGVyYXRvci5yc2hpZnQsIDIsIC0xKQogCiAgICAgZGVmIHRlc3RfY29udGFpbnMoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5jb250YWlucykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5jb250YWlucywgTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9wZXJhdG9yLmNvbnRhaW5zKHJhbmdlKDQpLCAyKSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcGVyYXRvci5jb250YWlucyhyYW5nZSg0KSwgNSkpCiAKICAgICBkZWYgdGVzdF9zZXRpdGVtKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIGEgPSBsaXN0KHJhbmdlKDMpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLnNldGl0ZW0sIGEpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3Iuc2V0aXRlbSwgYSwgTm9uZSwgTm9uZSkKQEAgLTIzMiwxMSArMjYwLDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIG9wZXJhdG9yLnNldGl0ZW0sIGEsIDQsIDIpCiAKICAgICBkZWYgdGVzdF9zdWIoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5zdWIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3Iuc3ViLCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3Iuc3ViKDUsIDIpID09IDMpCiAKICAgICBkZWYgdGVzdF90cnV0aChzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBjbGFzcyBDKG9iamVjdCk6CiAgICAgICAgICAgICBkZWYgX19ib29sX18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmFpc2UgU3ludGF4RXJyb3IKQEAgLTI0OCwxMSArMjc4LDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3BlcmF0b3IudHJ1dGgoW10pKQogCiAgICAgZGVmIHRlc3RfYml0d2lzZV94b3Ioc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci54b3IpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IueG9yLCBOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IueG9yKDB4YiwgMHhjKSA9PSAweDcpCiAKICAgICBkZWYgdGVzdF9pcyhzZWxmKToKKyAgICAgICAgb3BlcmF0b3IgPSBzZWxmLm1vZHVsZQogICAgICAgICBhID0gYiA9ICd4eXpwZHEnCiAgICAgICAgIGMgPSBhWzozXSArIGJbMzpdCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3BlcmF0b3IuaXNfKQpAQCAtMjYwLDYgKzI5Miw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3BlcmF0b3IuaXNfKGEsYykpCiAKICAgICBkZWYgdGVzdF9pc19ub3Qoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgYSA9IGIgPSAneHl6cGRxJwogICAgICAgICBjID0gYVs6M10gKyBiWzM6XQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wZXJhdG9yLmlzX25vdCkKQEAgLTI2Nyw2ICszMDAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUob3BlcmF0b3IuaXNfbm90KGEsYykpCiAKICAgICBkZWYgdGVzdF9hdHRyZ2V0dGVyKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIGNsYXNzIEE6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGEgPSBBKCkKQEAgLTMxNiw2ICszNTAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYoYSksICgnYXJ0aHVyJywgJ3Rob21hcycsICdqb2huc29uJykpCiAKICAgICBkZWYgdGVzdF9pdGVtZ2V0dGVyKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCiAgICAgICAgIGEgPSAnQUJDREUnCiAgICAgICAgIGYgPSBvcGVyYXRvci5pdGVtZ2V0dGVyKDIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZihhKSwgJ0MnKQpAQCAtMzUwLDEyICszODUsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5pdGVtZ2V0dGVyKDIsICd4JywgNSksIGRhdGEpCiAKICAgICBkZWYgdGVzdF9tZXRob2RjYWxsZXIoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcGVyYXRvci5tZXRob2RjYWxsZXIpCiAgICAgICAgIGNsYXNzIEE6CiAgICAgICAgICAgICBkZWYgZm9vKHNlbGYsICphcmdzLCAqKmt3ZHMpOgogICAgICAgICAgICAgICAgIHJldHVybiBhcmdzWzBdICsgYXJnc1sxXQogICAgICAgICAgICAgZGVmIGJhcihzZWxmLCBmPTQyKToKICAgICAgICAgICAgICAgICByZXR1cm4gZgorICAgICAgICAgICAgZGVmIGJheigqYXJncywgKiprd2RzKToKKyAgICAgICAgICAgICAgICByZXR1cm4ga3dkc1snbmFtZSddLCBrd2RzWydzZWxmJ10KICAgICAgICAgYSA9IEEoKQogICAgICAgICBmID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCdmb28nKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCBmLCBhKQpAQCAtMzY2LDggKzQwNCwxMSBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGYsIGEsIGEpCiAgICAgICAgIGYgPSBvcGVyYXRvci5tZXRob2RjYWxsZXIoJ2JhcicsIGY9NSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmKGEpLCA1KQorICAgICAgICBmID0gb3BlcmF0b3IubWV0aG9kY2FsbGVyKCdiYXonLCBuYW1lPSdzcGFtJywgc2VsZj0nZWdncycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZihhKSwgKCdzcGFtJywgJ2VnZ3MnKSkKIAogICAgIGRlZiB0ZXN0X2lucGxhY2Uoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgogICAgICAgICAgICAgZGVmIF9faWFkZF9fICAgICAoc2VsZiwgb3RoZXIpOiByZXR1cm4gImlhZGQiCiAgICAgICAgICAgICBkZWYgX19pYW5kX18gICAgIChzZWxmLCBvdGhlcik6IHJldHVybiAiaWFuZCIKQEAgLTM5NiwzNyArNDM3LDQ4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuaXRydWVkaXYgKGMsIDUpLCAiaXRydWVkaXYiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLml4b3IgICAgIChjLCA1KSwgIml4b3IiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmljb25jYXQgIChjLCBjKSwgImlhZGQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLl9faWFkZF9fICAgICAoYywgNSksICJpYWRkIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5fX2lhbmRfXyAgICAgKGMsIDUpLCAiaWFuZCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuX19pZmxvb3JkaXZfXyhjLCA1KSwgImlmbG9vcmRpdiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuX19pbHNoaWZ0X18gIChjLCA1KSwgImlsc2hpZnQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLl9faW1vZF9fICAgICAoYywgNSksICJpbW9kIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5fX2ltdWxfXyAgICAgKGMsIDUpLCAiaW11bCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuX19pb3JfXyAgICAgIChjLCA1KSwgImlvciIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuX19pcG93X18gICAgIChjLCA1KSwgImlwb3ciKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLl9faXJzaGlmdF9fICAoYywgNSksICJpcnNoaWZ0IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5fX2lzdWJfXyAgICAgKGMsIDUpLCAiaXN1YiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuX19pdHJ1ZWRpdl9fIChjLCA1KSwgIml0cnVlZGl2IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5fX2l4b3JfXyAgICAgKGMsIDUpLCAiaXhvciIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IuX19pY29uY2F0X18gIChjLCBjKSwgImlhZGQiKQogCi1kZWYgdGVzdF9tYWluKHZlcmJvc2U9Tm9uZSk6Ci0gICAgaW1wb3J0IHN5cwotICAgIHRlc3RfY2xhc3NlcyA9ICgKLSAgICAgICAgT3BlcmF0b3JUZXN0Q2FzZSwKLSAgICApCisgICAgZGVmIHRlc3RfbGVuZ3RoX2hpbnQoc2VsZik6CisgICAgICAgIG9wZXJhdG9yID0gc2VsZi5tb2R1bGUKKyAgICAgICAgY2xhc3MgWChvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZWxmLnZhbHVlID0gdmFsdWUKIAotICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KCp0ZXN0X2NsYXNzZXMpCisgICAgICAgICAgICBkZWYgX19sZW5ndGhfaGludF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIGlmIHR5cGUoc2VsZi52YWx1ZSkgaXMgdHlwZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2Ugc2VsZi52YWx1ZQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbHVlCiAKLSAgICAjIHZlcmlmeSByZWZlcmVuY2UgY291bnRpbmcKLSAgICBpZiB2ZXJib3NlIGFuZCBoYXNhdHRyKHN5cywgImdldHRvdGFscmVmY291bnQiKToKLSAgICAgICAgaW1wb3J0IGdjCi0gICAgICAgIGNvdW50cyA9IFtOb25lXSAqIDUKLSAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKGNvdW50cykpOgotICAgICAgICAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoKnRlc3RfY2xhc3NlcykKLSAgICAgICAgICAgIGdjLmNvbGxlY3QoKQotICAgICAgICAgICAgY291bnRzW2ldID0gc3lzLmdldHRvdGFscmVmY291bnQoKQotICAgICAgICBwcmludChjb3VudHMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IubGVuZ3RoX2hpbnQoW10sIDIpLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLmxlbmd0aF9oaW50KGl0ZXIoWzEsIDIsIDNdKSksIDMpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5sZW5ndGhfaGludChYKDIpKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcGVyYXRvci5sZW5ndGhfaGludChYKE5vdEltcGxlbWVudGVkKSwgNCksIDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlcmF0b3IubGVuZ3RoX2hpbnQoWChUeXBlRXJyb3IpLCAxMiksIDEyKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBvcGVyYXRvci5sZW5ndGhfaGludChYKCJhYmMiKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIG9wZXJhdG9yLmxlbmd0aF9oaW50KFgoLTIpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExvb2t1cEVycm9yKToKKyAgICAgICAgICAgIG9wZXJhdG9yLmxlbmd0aF9oaW50KFgoTG9va3VwRXJyb3IpKQorCisgICAgZGVmIHRlc3RfZHVuZGVyX2lzX29yaWdpbmFsKHNlbGYpOgorICAgICAgICBvcGVyYXRvciA9IHNlbGYubW9kdWxlCisKKyAgICAgICAgbmFtZXMgPSBbbmFtZSBmb3IgbmFtZSBpbiBkaXIob3BlcmF0b3IpIGlmIG5vdCBuYW1lLnN0YXJ0c3dpdGgoJ18nKV0KKyAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CisgICAgICAgICAgICBvcmlnID0gZ2V0YXR0cihvcGVyYXRvciwgbmFtZSkKKyAgICAgICAgICAgIGR1bmRlciA9IGdldGF0dHIob3BlcmF0b3IsICdfXycgKyBuYW1lLnN0cmlwKCdfJykgKyAnX18nLCBOb25lKQorICAgICAgICAgICAgaWYgZHVuZGVyOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoZHVuZGVyLCBvcmlnKQorCitjbGFzcyBQeU9wZXJhdG9yVGVzdENhc2UoT3BlcmF0b3JUZXN0Q2FzZSwgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIG1vZHVsZSA9IHB5X29wZXJhdG9yCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKGNfb3BlcmF0b3IsICdyZXF1aXJlcyBfb3BlcmF0b3InKQorY2xhc3MgQ09wZXJhdG9yVGVzdENhc2UoT3BlcmF0b3JUZXN0Q2FzZSwgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIG1vZHVsZSA9IGNfb3BlcmF0b3IKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICB0ZXN0X21haW4odmVyYm9zZT1UcnVlKQorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9vcHRwYXJzZS5weSBiL0xpYi90ZXN0L3Rlc3Rfb3B0cGFyc2UucHkKaW5kZXggNzhkZTI3OC4uOTQ3MzAxMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9vcHRwYXJzZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X29wdHBhcnNlLnB5CkBAIC03MzAsNyArNzMwLDcgQEAKICAgICBkZWYgdGVzdF9zaG9ydF9hbmRfbG9uZ19vcHRpb25fc3BsaXQoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UGFyc2VPSyhbIi1hIiwgInh5eiIsICItLWZvbyIsICJiYXIiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnYSc6ICd4eXonLCAnYm9vJzogTm9uZSwgJ2Zvbyc6IFsiYmFyIl19LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgW10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW10pCiAKICAgICBkZWYgdGVzdF9zaG9ydF9vcHRpb25fc3BsaXRfbG9uZ19vcHRpb25fYXBwZW5kKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFBhcnNlT0soWyItLWZvbz1iYXIiLCAiLWIiLCAiMTIzIiwgIi0tZm9vIiwgImJheiJdLApAQCAtNzQwLDE1ICs3NDAsMTUgQEAKICAgICBkZWYgdGVzdF9zaG9ydF9vcHRpb25fc3BsaXRfb25lX3Bvc2l0aW9uYWxfYXJnKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFBhcnNlT0soWyItYSIsICJmb28iLCAiYmFyIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2EnOiAiZm9vIiwgJ2Jvbyc6IE5vbmUsICdmb28nOiBOb25lfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiYmFyIl0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJiYXIiXSkKIAogICAgIGRlZiB0ZXN0X3Nob3J0X29wdGlvbl9jb25zdW1lc19zZXBhcmF0b3Ioc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UGFyc2VPSyhbIi1hIiwgIi0tIiwgImZvbyIsICJiYXIiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnYSc6ICItLSIsICdib28nOiBOb25lLCAnZm9vJzogTm9uZX0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBbImZvbyIsICJiYXIiXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBbImZvbyIsICJiYXIiXSkKICAgICAgICAgc2VsZi5hc3NlcnRQYXJzZU9LKFsiLWEiLCAiLS0iLCAiLS1mb28iLCAiYmFyIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2EnOiAiLS0iLCAnYm9vJzogTm9uZSwgJ2Zvbyc6IFsiYmFyIl19LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgW10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgW10pCiAKICAgICBkZWYgdGVzdF9zaG9ydF9vcHRpb25fam9pbmVkX2FuZF9zZXBhcmF0b3Ioc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UGFyc2VPSyhbIi1hYiIsICItLSIsICItLWZvbyIsICJiYXIiXSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3MucHkgYi9MaWIvdGVzdC90ZXN0X29zLnB5CmluZGV4IDMzYjllNWIuLjNhMzgyODUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfb3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vcy5weQpAQCAtNDcxLDkgKzQ3MSw5IEBACiAgICAgICAgICAgICAjIFZlcmlmeSB0aGF0IGFuIG9wZW4gZmlsZSBjYW4gYmUgc3RhdCdlZAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG9zLnN0YXQociJjOlxwYWdlZmlsZS5zeXMiKQotICAgICAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gMjogIyBmaWxlIGRvZXMgbm90IGV4aXN0OyBjYW5ub3QgcnVuIHRlc3QKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcyAjIGZpbGUgZG9lcyBub3QgZXhpc3Q7IGNhbm5vdCBydW4gdGVzdAorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIkNvdWxkIG5vdCBzdGF0IHBhZ2VmaWxlLnN5cyIpCiAKICAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgInBpcGUiKSwgInJlcXVpcmVzIG9zLnBpcGUoKSIpCkBAIC0xMTAyLDI3ICsxMTAyLDI3IEBACiAKIGNsYXNzIFdpbjMyRXJyb3JUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3RfcmVuYW1lKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhXaW5kb3dzRXJyb3IsIG9zLnJlbmFtZSwgc3VwcG9ydC5URVNURk4sIHN1cHBvcnQuVEVTVEZOKyIuYmFrIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgb3MucmVuYW1lLCBzdXBwb3J0LlRFU1RGTiwgc3VwcG9ydC5URVNURk4rIi5iYWsiKQogCiAgICAgZGVmIHRlc3RfcmVtb3ZlKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhXaW5kb3dzRXJyb3IsIG9zLnJlbW92ZSwgc3VwcG9ydC5URVNURk4pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnJlbW92ZSwgc3VwcG9ydC5URVNURk4pCiAKICAgICBkZWYgdGVzdF9jaGRpcihzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoV2luZG93c0Vycm9yLCBvcy5jaGRpciwgc3VwcG9ydC5URVNURk4pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLmNoZGlyLCBzdXBwb3J0LlRFU1RGTikKIAogICAgIGRlZiB0ZXN0X21rZGlyKHNlbGYpOgogICAgICAgICBmID0gb3BlbihzdXBwb3J0LlRFU1RGTiwgInciKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhXaW5kb3dzRXJyb3IsIG9zLm1rZGlyLCBzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLm1rZGlyLCBzdXBwb3J0LlRFU1RGTikKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICAgICAgb3MudW5saW5rKHN1cHBvcnQuVEVTVEZOKQogCiAgICAgZGVmIHRlc3RfdXRpbWUoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFdpbmRvd3NFcnJvciwgb3MudXRpbWUsIHN1cHBvcnQuVEVTVEZOLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBvcy51dGltZSwgc3VwcG9ydC5URVNURk4sIE5vbmUpCiAKICAgICBkZWYgdGVzdF9jaG1vZChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoV2luZG93c0Vycm9yLCBvcy5jaG1vZCwgc3VwcG9ydC5URVNURk4sIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLmNobW9kLCBzdXBwb3J0LlRFU1RGTiwgMCkKIAogY2xhc3MgVGVzdEludmFsaWRGRCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgc2luZ2xlcyA9IFsiZmNoZGlyIiwgImR1cCIsICJmZG9wZW4iLCAiZmRhdGFzeW5jIiwgImZzdGF0IiwKQEAgLTEyNTAsMzEgKzEyNTAsMzEgQEAKICAgICAgICAgaWYgaGFzYXR0cihvcywgJ3NldHVpZCcpOgogICAgICAgICAgICAgZGVmIHRlc3Rfc2V0dWlkKHNlbGYpOgogICAgICAgICAgICAgICAgIGlmIG9zLmdldHVpZCgpICE9IDA6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG9zLmVycm9yLCBvcy5zZXR1aWQsIDApCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnNldHVpZCwgMCkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBvcy5zZXR1aWQsIDE8PDMyKQogCiAgICAgICAgIGlmIGhhc2F0dHIob3MsICdzZXRnaWQnKToKICAgICAgICAgICAgIGRlZiB0ZXN0X3NldGdpZChzZWxmKToKICAgICAgICAgICAgICAgICBpZiBvcy5nZXR1aWQoKSAhPSAwIGFuZCBub3QgSEFWRV9XSEVFTF9HUk9VUDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMob3MuZXJyb3IsIG9zLnNldGdpZCwgMCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgb3Muc2V0Z2lkLCAwKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG9zLnNldGdpZCwgMTw8MzIpCiAKICAgICAgICAgaWYgaGFzYXR0cihvcywgJ3NldGV1aWQnKToKICAgICAgICAgICAgIGRlZiB0ZXN0X3NldGV1aWQoc2VsZik6CiAgICAgICAgICAgICAgICAgaWYgb3MuZ2V0dWlkKCkgIT0gMDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMob3MuZXJyb3IsIG9zLnNldGV1aWQsIDApCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnNldGV1aWQsIDApCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgb3Muc2V0ZXVpZCwgMTw8MzIpCiAKICAgICAgICAgaWYgaGFzYXR0cihvcywgJ3NldGVnaWQnKToKICAgICAgICAgICAgIGRlZiB0ZXN0X3NldGVnaWQoc2VsZik6CiAgICAgICAgICAgICAgICAgaWYgb3MuZ2V0dWlkKCkgIT0gMCBhbmQgbm90IEhBVkVfV0hFRUxfR1JPVVA6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKG9zLmVycm9yLCBvcy5zZXRlZ2lkLCAwKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBvcy5zZXRlZ2lkLCAwKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG9zLnNldGVnaWQsIDE8PDMyKQogCiAgICAgICAgIGlmIGhhc2F0dHIob3MsICdzZXRyZXVpZCcpOgogICAgICAgICAgICAgZGVmIHRlc3Rfc2V0cmV1aWQoc2VsZik6CiAgICAgICAgICAgICAgICAgaWYgb3MuZ2V0dWlkKCkgIT0gMDoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMob3MuZXJyb3IsIG9zLnNldHJldWlkLCAwLCAwKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBvcy5zZXRyZXVpZCwgMCwgMCkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBvcy5zZXRyZXVpZCwgMTw8MzIsIDApCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgb3Muc2V0cmV1aWQsIDAsIDE8PDMyKQogCkBAIC0xMjg4LDcgKzEyODgsNyBAQAogICAgICAgICBpZiBoYXNhdHRyKG9zLCAnc2V0cmVnaWQnKToKICAgICAgICAgICAgIGRlZiB0ZXN0X3NldHJlZ2lkKHNlbGYpOgogICAgICAgICAgICAgICAgIGlmIG9zLmdldHVpZCgpICE9IDAgYW5kIG5vdCBIQVZFX1dIRUVMX0dST1VQOgotICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhvcy5lcnJvciwgb3Muc2V0cmVnaWQsIDAsIDApCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnNldHJlZ2lkLCAwLCAwKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG9zLnNldHJlZ2lkLCAxPDwzMiwgMCkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBvcy5zZXRyZWdpZCwgMCwgMTw8MzIpCiAKQEAgLTIxMTksNiArMjExOSwxMDMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgYWN0dWFsKQogCiAKK2NsYXNzIE9TRXJyb3JUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBjbGFzcyBTdHIoc3RyKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBzZWxmLmJ5dGVzX2ZpbGVuYW1lcyA9IFtdCisgICAgICAgIHNlbGYudW5pY29kZV9maWxlbmFtZXMgPSBbXQorICAgICAgICBpZiBzdXBwb3J0LlRFU1RGTl9VTkVOQ09EQUJMRSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRlY29kZWQgPSBzdXBwb3J0LlRFU1RGTl9VTkVOQ09EQUJMRQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZGVjb2RlZCA9IHN1cHBvcnQuVEVTVEZOCisgICAgICAgIHNlbGYudW5pY29kZV9maWxlbmFtZXMuYXBwZW5kKGRlY29kZWQpCisgICAgICAgIHNlbGYudW5pY29kZV9maWxlbmFtZXMuYXBwZW5kKFN0cihkZWNvZGVkKSkKKyAgICAgICAgaWYgc3VwcG9ydC5URVNURk5fVU5ERUNPREFCTEUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBlbmNvZGVkID0gc3VwcG9ydC5URVNURk5fVU5ERUNPREFCTEUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGVuY29kZWQgPSBvcy5mc2VuY29kZShzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgc2VsZi5ieXRlc19maWxlbmFtZXMuYXBwZW5kKGVuY29kZWQpCisgICAgICAgIHNlbGYuYnl0ZXNfZmlsZW5hbWVzLmFwcGVuZChtZW1vcnl2aWV3KGVuY29kZWQpKQorCisgICAgICAgIHNlbGYuZmlsZW5hbWVzID0gc2VsZi5ieXRlc19maWxlbmFtZXMgKyBzZWxmLnVuaWNvZGVfZmlsZW5hbWVzCisKKyAgICBkZWYgdGVzdF9vc2Vycm9yX2ZpbGVuYW1lKHNlbGYpOgorICAgICAgICBmdW5jcyA9IFsKKyAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3MuY2hkaXIsKSwKKyAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3MuY2htb2QsIDBvNzc3KSwKKyAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3MubHN0YXQsKSwKKyAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3Mub3Blbiwgb3MuT19SRE9OTFkpLAorICAgICAgICAgICAgKHNlbGYuZmlsZW5hbWVzLCBvcy5ybWRpciwpLAorICAgICAgICAgICAgKHNlbGYuZmlsZW5hbWVzLCBvcy5zdGF0LCksCisgICAgICAgICAgICAoc2VsZi5maWxlbmFtZXMsIG9zLnVubGluaywpLAorICAgICAgICBdCisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiOgorICAgICAgICAgICAgZnVuY3MuZXh0ZW5kKCgKKyAgICAgICAgICAgICAgICAoc2VsZi5ieXRlc19maWxlbmFtZXMsIG9zLnJlbmFtZSwgYiJkc3QiKSwKKyAgICAgICAgICAgICAgICAoc2VsZi5ieXRlc19maWxlbmFtZXMsIG9zLnJlcGxhY2UsIGIiZHN0IiksCisgICAgICAgICAgICAgICAgKHNlbGYudW5pY29kZV9maWxlbmFtZXMsIG9zLnJlbmFtZSwgImRzdCIpLAorICAgICAgICAgICAgICAgIChzZWxmLnVuaWNvZGVfZmlsZW5hbWVzLCBvcy5yZXBsYWNlLCAiZHN0IiksCisgICAgICAgICAgICAgICAgIyBJc3N1ZSAjMTY0MTQ6IERvbid0IHRlc3QgdW5kZWNvZGFibGUgbmFtZXMgd2l0aCBsaXN0ZGlyKCkKKyAgICAgICAgICAgICAgICAjIGJlY2F1c2Ugb2YgYSBXaW5kb3dzIGJ1Zy4KKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBXaXRoIHRoZSBBTlNJIGNvZGUgcGFnZSA5MzIsIG9zLmxpc3RkaXIoYidceGU3JykgcmV0dXJuIGFuCisgICAgICAgICAgICAgICAgIyBlbXB0eSBsaXN0IChpbnN0ZWFkIG9mIGZhaWxpbmcpLCB3aGVyZWFzIG9zLmxpc3RkaXIoYidceGZmJykKKyAgICAgICAgICAgICAgICAjIHJhaXNlcyBhIEZpbGVOb3RGb3VuZEVycm9yLiBJdCBsb29rcyBsaWtlIGEgV2luZG93cyBidWc6CisgICAgICAgICAgICAgICAgIyBiJ1x4ZTcnIGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdCwgRmluZEZpcnN0RmlsZUEoYidceGU3JykKKyAgICAgICAgICAgICAgICAjIGZhaWxzIHdpdGggRVJST1JfRklMRV9OT1RfRk9VTkQgKDIpLCBpbnN0ZWFkIG9mCisgICAgICAgICAgICAgICAgIyBFUlJPUl9QQVRIX05PVF9GT1VORCAoMykuCisgICAgICAgICAgICAgICAgKHNlbGYudW5pY29kZV9maWxlbmFtZXMsIG9zLmxpc3RkaXIsKSwKKyAgICAgICAgICAgICkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmdW5jcy5leHRlbmQoKAorICAgICAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3MubGlzdGRpciwpLAorICAgICAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3MucmVuYW1lLCAiZHN0IiksCisgICAgICAgICAgICAgICAgKHNlbGYuZmlsZW5hbWVzLCBvcy5yZXBsYWNlLCAiZHN0IiksCisgICAgICAgICAgICApKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAiY2hvd24iKToKKyAgICAgICAgICAgIGZ1bmNzLmFwcGVuZCgoc2VsZi5maWxlbmFtZXMsIG9zLmNob3duLCAwLCAwKSkKKyAgICAgICAgaWYgaGFzYXR0cihvcywgImxjaG93biIpOgorICAgICAgICAgICAgZnVuY3MuYXBwZW5kKChzZWxmLmZpbGVuYW1lcywgb3MubGNob3duLCAwLCAwKSkKKyAgICAgICAgaWYgaGFzYXR0cihvcywgInRydW5jYXRlIik6CisgICAgICAgICAgICBmdW5jcy5hcHBlbmQoKHNlbGYuZmlsZW5hbWVzLCBvcy50cnVuY2F0ZSwgMCkpCisgICAgICAgIGlmIGhhc2F0dHIob3MsICJjaGZsYWdzIik6CisgICAgICAgICAgICBmdW5jcy5hcHBlbmQoKHNlbGYuZmlsZW5hbWVzLCBvcy5jaGZsYWdzLCAwKSkKKyAgICAgICAgaWYgaGFzYXR0cihvcywgImxjaGZsYWdzIik6CisgICAgICAgICAgICBmdW5jcy5hcHBlbmQoKHNlbGYuZmlsZW5hbWVzLCBvcy5sY2hmbGFncywgMCkpCisgICAgICAgIGlmIGhhc2F0dHIob3MsICJjaHJvb3QiKToKKyAgICAgICAgICAgIGZ1bmNzLmFwcGVuZCgoc2VsZi5maWxlbmFtZXMsIG9zLmNocm9vdCwpKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAibGluayIpOgorICAgICAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiI6CisgICAgICAgICAgICAgICAgZnVuY3MuYXBwZW5kKChzZWxmLmJ5dGVzX2ZpbGVuYW1lcywgb3MubGluaywgYiJkc3QiKSkKKyAgICAgICAgICAgICAgICBmdW5jcy5hcHBlbmQoKHNlbGYudW5pY29kZV9maWxlbmFtZXMsIG9zLmxpbmssICJkc3QiKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZnVuY3MuYXBwZW5kKChzZWxmLmZpbGVuYW1lcywgb3MubGluaywgImRzdCIpKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAibGlzdHhhdHRyIik6CisgICAgICAgICAgICBmdW5jcy5leHRlbmQoKAorICAgICAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3MubGlzdHhhdHRyLCksCisgICAgICAgICAgICAgICAgKHNlbGYuZmlsZW5hbWVzLCBvcy5nZXR4YXR0ciwgInVzZXIudGVzdCIpLAorICAgICAgICAgICAgICAgIChzZWxmLmZpbGVuYW1lcywgb3Muc2V0eGF0dHIsICJ1c2VyLnRlc3QiLCBiJ3VzZXInKSwKKyAgICAgICAgICAgICAgICAoc2VsZi5maWxlbmFtZXMsIG9zLnJlbW92ZXhhdHRyLCAidXNlci50ZXN0IiksCisgICAgICAgICAgICApKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAibGNobW9kIik6CisgICAgICAgICAgICBmdW5jcy5hcHBlbmQoKHNlbGYuZmlsZW5hbWVzLCBvcy5sY2htb2QsIDBvNzc3KSkKKyAgICAgICAgaWYgaGFzYXR0cihvcywgInJlYWRsaW5rIik6CisgICAgICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gIndpbjMyIjoKKyAgICAgICAgICAgICAgICBmdW5jcy5hcHBlbmQoKHNlbGYudW5pY29kZV9maWxlbmFtZXMsIG9zLnJlYWRsaW5rLCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZ1bmNzLmFwcGVuZCgoc2VsZi5maWxlbmFtZXMsIG9zLnJlYWRsaW5rLCkpCisKKyAgICAgICAgZm9yIGZpbGVuYW1lcywgZnVuYywgKmZ1bmNfYXJncyBpbiBmdW5jczoKKyAgICAgICAgICAgIGZvciBuYW1lIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGZ1bmMobmFtZSwgKmZ1bmNfYXJncykKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoZXJyLmZpbGVuYW1lLCBuYW1lKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiTm8gZXhjZXB0aW9uIHRocm93biBieSB7fSIuZm9ybWF0KGZ1bmMpKQorCiBAc3VwcG9ydC5yZWFwX3RocmVhZHMKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKQEAgLTIxNDcsNiArMjI0NCw3IEBACiAgICAgICAgIEV4dGVuZGVkQXR0cmlidXRlVGVzdHMsCiAgICAgICAgIFdpbjMyRGVwcmVjYXRlZEJ5dGVzQVBJLAogICAgICAgICBUZXJtc2l6ZVRlc3RzLAorICAgICAgICBPU0Vycm9yVGVzdHMsCiAgICAgICAgIFJlbW92ZURpcnNUZXN0cywKICAgICApCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3NzYXVkaW9kZXYucHkgYi9MaWIvdGVzdC90ZXN0X29zc2F1ZGlvZGV2LnB5CmluZGV4IDM5MDhhMDUuLmM5ZTJhMjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfb3NzYXVkaW9kZXYucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vc3NhdWRpb2Rldi5weQpAQCAtNDQsNyArNDQsNyBAQAogICAgIGRlZiBwbGF5X3NvdW5kX2ZpbGUoc2VsZiwgZGF0YSwgcmF0ZSwgc3NpemUsIG5jaGFubmVscyk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGRzcCA9IG9zc2F1ZGlvZGV2Lm9wZW4oJ3cnKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgIGlmIG1zZy5hcmdzWzBdIGluIChlcnJuby5FQUNDRVMsIGVycm5vLkVOT0VOVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJuby5FTk9ERVYsIGVycm5vLkVCVVNZKToKICAgICAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdChtc2cpCkBAIC0xOTAsNyArMTkwLDcgQEAKIGRlZiB0ZXN0X21haW4oKToKICAgICB0cnk6CiAgICAgICAgIGRzcCA9IG9zc2F1ZGlvZGV2Lm9wZW4oJ3cnKQotICAgIGV4Y2VwdCAob3NzYXVkaW9kZXYuZXJyb3IsIElPRXJyb3IpIGFzIG1zZzoKKyAgICBleGNlcHQgKG9zc2F1ZGlvZGV2LmVycm9yLCBPU0Vycm9yKSBhcyBtc2c6CiAgICAgICAgIGlmIG1zZy5hcmdzWzBdIGluIChlcnJuby5FQUNDRVMsIGVycm5vLkVOT0VOVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vLkVOT0RFViwgZXJybm8uRUJVU1kpOgogICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QobXNnKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wZXAyNzcucHkgYi9MaWIvdGVzdC90ZXN0X3BlcDI3Ny5weQppbmRleCA0YjE2Y2JiLi45YmFlNmRjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BlcDI3Ny5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BlcDI3Ny5weQpAQCAtOTksMTAgKzk5LDYgQEAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhleHBlY3RlZF9leGNlcHRpb24pIGFzIGM6CiAgICAgICAgICAgICBmbihmaWxlbmFtZSkKICAgICAgICAgZXhjX2ZpbGVuYW1lID0gYy5leGNlcHRpb24uZmlsZW5hbWUKLSAgICAgICAgIyBsaXN0ZGlyIG1heSBhcHBlbmQgYSB3aWxkY2FyZCB0byB0aGUgZmlsZW5hbWUKLSAgICAgICAgaWYgZm4gaXMgb3MubGlzdGRpciBhbmQgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6Ci0gICAgICAgICAgICBleGNfZmlsZW5hbWUsIF8sIHdpbGRjYXJkID0gZXhjX2ZpbGVuYW1lLnJwYXJ0aXRpb24ob3Muc2VwKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aWxkY2FyZCwgJyouKicpCiAgICAgICAgIGlmIGNoZWNrX2ZpbGVuYW1lOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNfZmlsZW5hbWUsIGZpbGVuYW1lLCAiRnVuY3Rpb24gJyVzKCVhKSBmYWlsZWQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2l0aCBiYWQgZmlsZW5hbWUgaW4gdGhlIGV4Y2VwdGlvbjogJWEiICUKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcG9sbC5weSBiL0xpYi90ZXN0L3Rlc3RfcG9sbC5weQppbmRleCBmMmQxNzk1Li5hMmZlYzNkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BvbGwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wb2xsLnB5CkBAIC0xLDEzICsxLDEzIEBACiAjIFRlc3QgY2FzZSBmb3IgdGhlIG9zLnBvbGwoKSBmdW5jdGlvbgogCi1pbXBvcnQgb3MsIHNlbGVjdCwgcmFuZG9tLCB1bml0dGVzdAoraW1wb3J0IG9zLCBzZWxlY3QsIHJhbmRvbSwgdW5pdHRlc3QsIHN1YnByb2Nlc3MKIGltcG9ydCBfdGVzdGNhcGkKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIHJ1bl91bml0dGVzdAogCiB0cnk6CiAgICAgc2VsZWN0LnBvbGwKIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgic2VsZWN0LnBvbGwgbm90IGRlZmluZWQgLS0gc2tpcHBpbmcgdGVzdF9wb2xsIikKKyAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgic2VsZWN0LnBvbGwgbm90IGRlZmluZWQiKQogCiAKIGRlZiBmaW5kX3JlYWR5X21hdGNoaW5nKHJlYWR5LCBmbGFnKToKQEAgLTY4LDEzICs2OCwxMSBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmcywgW01TR10gKiBOVU1fUElQRVMpCiAKLSAgICBkZWYgcG9sbF91bml0X3Rlc3RzKHNlbGYpOgorICAgIGRlZiB0ZXN0X3BvbGxfdW5pdF90ZXN0cyhzZWxmKToKICAgICAgICAgIyByZXR1cm5zIE5WQUwgZm9yIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yCi0gICAgICAgIEZEID0gNDIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgb3MuY2xvc2UoRkQpCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgcGFzcworICAgICAgICBGRCwgdyA9IG9zLnBpcGUoKQorICAgICAgICBvcy5jbG9zZShGRCkKKyAgICAgICAgb3MuY2xvc2UodykKICAgICAgICAgcCA9IHNlbGVjdC5wb2xsKCkKICAgICAgICAgcC5yZWdpc3RlcihGRCkKICAgICAgICAgciA9IHAucG9sbCgpCkBAIC0xMTcsNyArMTE1LDkgQEAKIAogICAgIGRlZiB0ZXN0X3BvbGwyKHNlbGYpOgogICAgICAgICBjbWQgPSAnZm9yIGkgaW4gMCAxIDIgMyA0IDUgNiA3IDggOTsgZG8gZWNobyB0ZXN0aW5nLi4uOyBzbGVlcCAxOyBkb25lJwotICAgICAgICBwID0gb3MucG9wZW4oY21kLCAncicpCisgICAgICAgIHByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZCwgc2hlbGw9VHJ1ZSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmc2l6ZT0wKQorICAgICAgICBwID0gcHJvYy5zdGRvdXQKICAgICAgICAgcG9sbHN0ZXIgPSBzZWxlY3QucG9sbCgpCiAgICAgICAgIHBvbGxzdGVyLnJlZ2lzdGVyKCBwLCBzZWxlY3QuUE9MTElOICkKICAgICAgICAgZm9yIHRvdXQgaW4gKDAsIDEwMDAsIDIwMDAsIDQwMDAsIDgwMDAsIDE2MDAwKSArICgtMSwpKjEwOgpAQCAtMTI3LDcgKzEyNyw3IEBACiAgICAgICAgICAgICBmZCwgZmxhZ3MgPSBmZGxpc3RbMF0KICAgICAgICAgICAgIGlmIGZsYWdzICYgc2VsZWN0LlBPTExIVVA6CiAgICAgICAgICAgICAgICAgbGluZSA9IHAucmVhZGxpbmUoKQotICAgICAgICAgICAgICAgIGlmIGxpbmUgIT0gIiI6CisgICAgICAgICAgICAgICAgaWYgbGluZSAhPSBiIiI6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnZXJyb3I6IHBpcGUgc2VlbXMgdG8gYmUgY2xvc2VkLCBidXQgc3RpbGwgcmV0dXJucyBkYXRhJykKICAgICAgICAgICAgICAgICBjb250aW51ZQogCkBAIC0xMzUsNiArMTM1LDcgQEAKICAgICAgICAgICAgICAgICBsaW5lID0gcC5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICAgaWYgbm90IGxpbmU6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lLCBiJ3Rlc3RpbmcuLi5cbicpCiAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmV4cGVjdGVkIHJldHVybiB2YWx1ZSBmcm9tIHNlbGVjdC5wb2xsOiAlcycgJSBmZGxpc3QpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BvcGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CmluZGV4IGMwOTI5YTAuLjkzNTg0OGIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9wbGliLnB5CkBAIC0xOCw2ICsxOCwxMyBAQAogSE9TVCA9IHRlc3Rfc3VwcG9ydC5IT1NUCiBQT1JUID0gMAogCitTVVBQT1JUU19TU0wgPSBGYWxzZQoraWYgaGFzYXR0cihwb3BsaWIsICdQT1AzX1NTTCcpOgorICAgIGltcG9ydCBzc2wKKworICAgIFNVUFBPUlRTX1NTTCA9IFRydWUKKyAgICBDRVJURklMRSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pIG9yIG9zLmN1cmRpciwgImtleWNlcnQucGVtIikKKwogIyB0aGUgZHVtbXkgZGF0YSByZXR1cm5lZCBieSBzZXJ2ZXIgd2hlbiBMSVNUIGFuZCBSRVRSIGNvbW1hbmRzIGFyZSBpc3N1ZWQKIExJU1RfUkVTUCA9IGInMSAxXHJcbjIgMlxyXG4zIDNcclxuNCA0XHJcbjUgNVxyXG4uXHJcbicKIFJFVFJfUkVTUCA9IGIiIiJGcm9tOiBwb3N0bWFzdGVyQHB5dGhvbi5vcmdcCkBAIC0zMywxMSArNDAsMTUgQEAKIAogY2xhc3MgRHVtbXlQT1AzSGFuZGxlcihhc3luY2hhdC5hc3luY19jaGF0KToKIAorICAgIENBUEFTID0geydVSURMJzogW10sICdJTVBMRU1FTlRBVElPTic6IFsncHl0aG9uLXRlc3RsaWItcG9wLXNlcnZlciddfQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbm4pOgogICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0Ll9faW5pdF9fKHNlbGYsIGNvbm4pCiAgICAgICAgIHNlbGYuc2V0X3Rlcm1pbmF0b3IoYiJcclxuIikKICAgICAgICAgc2VsZi5pbl9idWZmZXIgPSBbXQogICAgICAgICBzZWxmLnB1c2goJytPSyBkdW1teSBwb3AzIHNlcnZlciByZWFkeS4gPHRpbWVzdGFtcD4nKQorICAgICAgICBzZWxmLnRsc19hY3RpdmUgPSBGYWxzZQorICAgICAgICBzZWxmLnRsc19zdGFydGluZyA9IEZhbHNlCiAKICAgICBkZWYgY29sbGVjdF9pbmNvbWluZ19kYXRhKHNlbGYsIGRhdGEpOgogICAgICAgICBzZWxmLmluX2J1ZmZlci5hcHBlbmQoZGF0YSkKQEAgLTExMiw2ICsxMjMsNjUgQEAKICAgICAgICAgc2VsZi5wdXNoKCcrT0sgY2xvc2luZy4nKQogICAgICAgICBzZWxmLmNsb3NlX3doZW5fZG9uZSgpCiAKKyAgICBkZWYgX2dldF9jYXBhcyhzZWxmKToKKyAgICAgICAgX2NhcGFzID0gZGljdChzZWxmLkNBUEFTKQorICAgICAgICBpZiBub3Qgc2VsZi50bHNfYWN0aXZlIGFuZCBTVVBQT1JUU19TU0w6CisgICAgICAgICAgICBfY2FwYXNbJ1NUTFMnXSA9IFtdCisgICAgICAgIHJldHVybiBfY2FwYXMKKworICAgIGRlZiBjbWRfY2FwYShzZWxmLCBhcmcpOgorICAgICAgICBzZWxmLnB1c2goJytPSyBDYXBhYmlsaXR5IGxpc3QgZm9sbG93cycpCisgICAgICAgIGlmIHNlbGYuX2dldF9jYXBhcygpOgorICAgICAgICAgICAgZm9yIGNhcCwgcGFyYW1zIGluIHNlbGYuX2dldF9jYXBhcygpLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgX2xuID0gW2NhcF0KKyAgICAgICAgICAgICAgICBpZiBwYXJhbXM6CisgICAgICAgICAgICAgICAgICAgIF9sbi5leHRlbmQocGFyYW1zKQorICAgICAgICAgICAgICAgIHNlbGYucHVzaCgnICcuam9pbihfbG4pKQorICAgICAgICBzZWxmLnB1c2goJy4nKQorCisgICAgaWYgU1VQUE9SVFNfU1NMOgorCisgICAgICAgIGRlZiBjbWRfc3RscyhzZWxmLCBhcmcpOgorICAgICAgICAgICAgaWYgc2VsZi50bHNfYWN0aXZlIGlzIEZhbHNlOgorICAgICAgICAgICAgICAgIHNlbGYucHVzaCgnK09LIEJlZ2luIFRMUyBuZWdvdGlhdGlvbicpCisgICAgICAgICAgICAgICAgdGxzX3NvY2sgPSBzc2wud3JhcF9zb2NrZXQoc2VsZi5zb2NrZXQsIGNlcnRmaWxlPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9zaWRlPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9faGFuZHNoYWtlX29uX2Nvbm5lY3Q9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcHJlc3NfcmFnZ2VkX2VvZnM9RmFsc2UpCisgICAgICAgICAgICAgICAgc2VsZi5kZWxfY2hhbm5lbCgpCisgICAgICAgICAgICAgICAgc2VsZi5zZXRfc29ja2V0KHRsc19zb2NrKQorICAgICAgICAgICAgICAgIHNlbGYudGxzX2FjdGl2ZSA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLnRsc19zdGFydGluZyA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLmluX2J1ZmZlciA9IFtdCisgICAgICAgICAgICAgICAgc2VsZi5fZG9fdGxzX2hhbmRzaGFrZSgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYucHVzaCgnLUVSUiBDb21tYW5kIG5vdCBwZXJtaXR0ZWQgd2hlbiBUTFMgYWN0aXZlJykKKworICAgICAgICBkZWYgX2RvX3Rsc19oYW5kc2hha2Uoc2VsZik6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuZG9faGFuZHNoYWtlKCkKKyAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgIGlmIGVyci5hcmdzWzBdIGluIChzc2wuU1NMX0VSUk9SX1dBTlRfUkVBRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlNTTF9FUlJPUl9XQU5UX1dSSVRFKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgZWxpZiBlcnIuYXJnc1swXSA9PSBzc2wuU1NMX0VSUk9SX0VPRjoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX2Nsb3NlKCkKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgIGlmIGVyci5hcmdzWzBdID09IGVycm5vLkVDT05OQUJPUlRFRDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX2Nsb3NlKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi50bHNfYWN0aXZlID0gVHJ1ZQorICAgICAgICAgICAgICAgIHNlbGYudGxzX3N0YXJ0aW5nID0gRmFsc2UKKworICAgICAgICBkZWYgaGFuZGxlX3JlYWQoc2VsZik6CisgICAgICAgICAgICBpZiBzZWxmLnRsc19zdGFydGluZzoKKyAgICAgICAgICAgICAgICBzZWxmLl9kb190bHNfaGFuZHNoYWtlKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0LmhhbmRsZV9yZWFkKHNlbGYpCisgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFT0ZFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVfY2xvc2UoKQogCiBjbGFzcyBEdW1teVBPUDNTZXJ2ZXIoYXN5bmNvcmUuZGlzcGF0Y2hlciwgdGhyZWFkaW5nLlRocmVhZCk6CiAKQEAgLTIzMiwxOSArMzAyLDM1IEBACiAgICAgICAgIHNlbGYuY2xpZW50LnVpZGwoKQogICAgICAgICBzZWxmLmNsaWVudC51aWRsKCdmb28nKQogCisgICAgZGVmIHRlc3RfY2FwYShzZWxmKToKKyAgICAgICAgY2FwYSA9IHNlbGYuY2xpZW50LmNhcGEoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoJ0lNUExFTUVOVEFUSU9OJyBpbiBjYXBhLmtleXMoKSkKKwogICAgIGRlZiB0ZXN0X3F1aXQoc2VsZik6CiAgICAgICAgIHJlc3AgPSBzZWxmLmNsaWVudC5xdWl0KCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3ApCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYuY2xpZW50LnNvY2spCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYuY2xpZW50LmZpbGUpCiAKKyAgICBpZiBTVVBQT1JUU19TU0w6CiAKLVNVUFBPUlRTX1NTTCA9IEZhbHNlCi1pZiBoYXNhdHRyKHBvcGxpYiwgJ1BPUDNfU1NMJyk6Ci0gICAgaW1wb3J0IHNzbAorICAgICAgICBkZWYgdGVzdF9zdGxzX2NhcGEoc2VsZik6CisgICAgICAgICAgICBjYXBhID0gc2VsZi5jbGllbnQuY2FwYSgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoJ1NUTFMnIGluIGNhcGEua2V5cygpKQogCi0gICAgU1VQUE9SVFNfU1NMID0gVHJ1ZQotICAgIENFUlRGSUxFID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykgb3Igb3MuY3VyZGlyLCAia2V5Y2VydC5wZW0iKQorICAgICAgICBkZWYgdGVzdF9zdGxzKHNlbGYpOgorICAgICAgICAgICAgZXhwZWN0ZWQgPSBiJytPSyBCZWdpbiBUTFMgbmVnb3RpYXRpb24nCisgICAgICAgICAgICByZXNwID0gc2VsZi5jbGllbnQuc3RscygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AsIGV4cGVjdGVkKQorCisgICAgICAgIGRlZiB0ZXN0X3N0bHNfY29udGV4dChzZWxmKToKKyAgICAgICAgICAgIGV4cGVjdGVkID0gYicrT0sgQmVnaW4gVExTIG5lZ290aWF0aW9uJworICAgICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgcmVzcCA9IHNlbGYuY2xpZW50LnN0bHMoY29udGV4dD1jdHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AsIGV4cGVjdGVkKQorCisKK2lmIFNVUFBPUlRTX1NTTDoKIAogICAgIGNsYXNzIER1bW15UE9QM19TU0xIYW5kbGVyKER1bW15UE9QM0hhbmRsZXIpOgogCkBAIC0yNTYsMzQgKzM0MiwxMyBAQAogICAgICAgICAgICAgc2VsZi5kZWxfY2hhbm5lbCgpCiAgICAgICAgICAgICBzZWxmLnNldF9zb2NrZXQoc3NsX3NvY2tldCkKICAgICAgICAgICAgICMgTXVzdCB0cnkgaGFuZHNoYWtlIGJlZm9yZSBjYWxsaW5nIHB1c2goKQotICAgICAgICAgICAgc2VsZi5fc3NsX2FjY2VwdGluZyA9IFRydWUKLSAgICAgICAgICAgIHNlbGYuX2RvX3NzbF9oYW5kc2hha2UoKQorICAgICAgICAgICAgc2VsZi50bHNfYWN0aXZlID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi50bHNfc3RhcnRpbmcgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9kb190bHNfaGFuZHNoYWtlKCkKICAgICAgICAgICAgIHNlbGYuc2V0X3Rlcm1pbmF0b3IoYiJcclxuIikKICAgICAgICAgICAgIHNlbGYuaW5fYnVmZmVyID0gW10KICAgICAgICAgICAgIHNlbGYucHVzaCgnK09LIGR1bW15IHBvcDMgc2VydmVyIHJlYWR5LiA8dGltZXN0YW1wPicpCiAKLSAgICAgICAgZGVmIF9kb19zc2xfaGFuZHNoYWtlKHNlbGYpOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYuc29ja2V0LmRvX2hhbmRzaGFrZSgpCi0gICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yIGFzIGVycjoKLSAgICAgICAgICAgICAgICBpZiBlcnIuYXJnc1swXSBpbiAoc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbC5TU0xfRVJST1JfV0FOVF9XUklURSk6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgICAgIGVsaWYgZXJyLmFyZ3NbMF0gPT0gc3NsLlNTTF9FUlJPUl9FT0Y6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmhhbmRsZV9jbG9zZSgpCi0gICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgICAgIGlmIGVyci5hcmdzWzBdID09IGVycm5vLkVDT05OQUJPUlRFRDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX2Nsb3NlKCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5fc3NsX2FjY2VwdGluZyA9IEZhbHNlCi0KLSAgICAgICAgZGVmIGhhbmRsZV9yZWFkKHNlbGYpOgotICAgICAgICAgICAgaWYgc2VsZi5fc3NsX2FjY2VwdGluZzoKLSAgICAgICAgICAgICAgICBzZWxmLl9kb19zc2xfaGFuZHNoYWtlKCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgRHVtbXlQT1AzSGFuZGxlci5oYW5kbGVfcmVhZChzZWxmKQotCiAKICAgICBjbGFzcyBUZXN0UE9QM19TU0xDbGFzcyhUZXN0UE9QM0NsYXNzKToKICAgICAgICAgIyByZXBlYXQgcHJldmlvdXMgdGVzdHMgYnkgdXNpbmcgcG9wbGliLlBPUDNfU1NMCkBAIC0zMTQsNiArMzc5LDM5IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHNlbGYuY2xpZW50LnNvY2suY29udGV4dCwgY3R4KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuY2xpZW50Lm5vb3AoKS5zdGFydHN3aXRoKGInK09LJykpCiAKKyAgICAgICAgZGVmIHRlc3Rfc3RscyhzZWxmKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHBvcGxpYi5lcnJvcl9wcm90bywgc2VsZi5jbGllbnQuc3RscykKKworICAgICAgICB0ZXN0X3N0bHNfY29udGV4dCA9IHRlc3Rfc3RscworCisgICAgICAgIGRlZiB0ZXN0X3N0bHNfY2FwYShzZWxmKToKKyAgICAgICAgICAgIGNhcGEgPSBzZWxmLmNsaWVudC5jYXBhKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ1NUTFMnIGluIGNhcGEua2V5cygpKQorCisKKyAgICBjbGFzcyBUZXN0UE9QM19UTFNDbGFzcyhUZXN0UE9QM0NsYXNzKToKKyAgICAgICAgIyByZXBlYXQgcHJldmlvdXMgdGVzdHMgYnkgdXNpbmcgcG9wbGliLlBPUDMuc3RscygpCisKKyAgICAgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVBPUDNTZXJ2ZXIoKEhPU1QsIFBPUlQpKQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RhcnQoKQorICAgICAgICAgICAgc2VsZi5jbGllbnQgPSBwb3BsaWIuUE9QMyhzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0LCB0aW1lb3V0PTMpCisgICAgICAgICAgICBzZWxmLmNsaWVudC5zdGxzKCkKKworICAgICAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICAgICBpZiBzZWxmLmNsaWVudC5maWxlIGlzIG5vdCBOb25lIGFuZCBzZWxmLmNsaWVudC5zb2NrIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LnF1aXQoKQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgpCisKKyAgICAgICAgZGVmIHRlc3Rfc3RscyhzZWxmKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHBvcGxpYi5lcnJvcl9wcm90bywgc2VsZi5jbGllbnQuc3RscykKKworICAgICAgICB0ZXN0X3N0bHNfY29udGV4dCA9IHRlc3Rfc3RscworCisgICAgICAgIGRlZiB0ZXN0X3N0bHNfY2FwYShzZWxmKToKKyAgICAgICAgICAgIGNhcGEgPSBzZWxmLmNsaWVudC5jYXBhKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYidTVExTJyBpbiBjYXBhLmtleXMoKSkKKwogCiBjbGFzcyBUZXN0VGltZW91dHMoVGVzdENhc2UpOgogCkBAIC0zNzMsNiArNDcxLDcgQEAKICAgICB0ZXN0cyA9IFtUZXN0UE9QM0NsYXNzLCBUZXN0VGltZW91dHNdCiAgICAgaWYgU1VQUE9SVFNfU1NMOgogICAgICAgICB0ZXN0cy5hcHBlbmQoVGVzdFBPUDNfU1NMQ2xhc3MpCisgICAgICAgIHRlc3RzLmFwcGVuZChUZXN0UE9QM19UTFNDbGFzcykKICAgICB0aHJlYWRfaW5mbyA9IHRlc3Rfc3VwcG9ydC50aHJlYWRpbmdfc2V0dXAoKQogICAgIHRyeToKICAgICAgICAgdGVzdF9zdXBwb3J0LnJ1bl91bml0dGVzdCgqdGVzdHMpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5IGIvTGliL3Rlc3QvdGVzdF9wb3NpeC5weQppbmRleCA0ZDllMWY1Li40ODU2MDgzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcG9zaXgucHkKQEAgLTYwNyw3ICs2MDcsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdC5zdF9mbGFncyB8IHN0YXQuVUZfSU1NVVRBQkxFLCBuZXdfc3Quc3RfZmxhZ3MpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZmQgPSBvcGVuKHRhcmdldF9maWxlLCAndysnKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmVycm5vLCBlcnJuby5FUEVSTSkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHBvc2l4LmNoZmxhZ3ModGFyZ2V0X2ZpbGUsIHN0LnN0X2ZsYWdzKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkgYi9MaWIvdGVzdC90ZXN0X3Bvc2l4cGF0aC5weQppbmRleCA3MjRjNTMwLi4xZjA1MDUwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Bvc2l4cGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3Bvc2l4cGF0aC5weQpAQCAtMTg2LDYzICsxODYsNiBAQAogICAgICAgICAgICAgaWYgbm90IGYuY2xvc2UoKToKICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKIAotICAgIEBzdGF0aWNtZXRob2QKLSAgICBkZWYgX2NyZWF0ZV9maWxlKGZpbGVuYW1lKToKLSAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAnd2InKSBhcyBmOgotICAgICAgICAgICAgZi53cml0ZShiJ2ZvbycpCi0KLSAgICBkZWYgdGVzdF9zYW1lZmlsZShzZWxmKToKLSAgICAgICAgdGVzdF9mbiA9IHN1cHBvcnQuVEVTVEZOICsgIjEiCi0gICAgICAgIHNlbGYuX2NyZWF0ZV9maWxlKHRlc3RfZm4pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3NpeHBhdGguc2FtZWZpbGUodGVzdF9mbiwgdGVzdF9mbikpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG9zaXhwYXRoLnNhbWVmaWxlKQotCi0gICAgQHVuaXR0ZXN0LnNraXBJZigKLSAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ3dpbicpLAotICAgICAgICAicG9zaXhwYXRoLnNhbWVmaWxlIGRvZXMgbm90IHdvcmsgb24gbGlua3MgaW4gV2luZG93cyIpCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgInN5bWxpbmsiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiTWlzc2luZyBzeW1saW5rIGltcGxlbWVudGF0aW9uIikKLSAgICBkZWYgdGVzdF9zYW1lZmlsZV9vbl9saW5rcyhzZWxmKToKLSAgICAgICAgdGVzdF9mbjEgPSBzdXBwb3J0LlRFU1RGTiArICIxIgotICAgICAgICB0ZXN0X2ZuMiA9IHN1cHBvcnQuVEVTVEZOICsgIjIiCi0gICAgICAgIHNlbGYuX2NyZWF0ZV9maWxlKHRlc3RfZm4xKQotCi0gICAgICAgIG9zLnN5bWxpbmsodGVzdF9mbjEsIHRlc3RfZm4yKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocG9zaXhwYXRoLnNhbWVmaWxlKHRlc3RfZm4xLCB0ZXN0X2ZuMikpCi0gICAgICAgIG9zLnJlbW92ZSh0ZXN0X2ZuMikKLQotICAgICAgICBzZWxmLl9jcmVhdGVfZmlsZSh0ZXN0X2ZuMikKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwb3NpeHBhdGguc2FtZWZpbGUodGVzdF9mbjEsIHRlc3RfZm4yKSkKLQotCi0gICAgZGVmIHRlc3Rfc2FtZXN0YXQoc2VsZik6Ci0gICAgICAgIHRlc3RfZm4gPSBzdXBwb3J0LlRFU1RGTiArICIxIgotICAgICAgICBzZWxmLl9jcmVhdGVfZmlsZSh0ZXN0X2ZuKQotICAgICAgICB0ZXN0X2ZucyA9IFt0ZXN0X2ZuXSoyCi0gICAgICAgIHN0YXRzID0gbWFwKG9zLnN0YXQsIHRlc3RfZm5zKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocG9zaXhwYXRoLnNhbWVzdGF0KCpzdGF0cykpCi0KLSAgICBAdW5pdHRlc3Quc2tpcElmKAotICAgICAgICBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyksCi0gICAgICAgICJwb3NpeHBhdGguc2FtZXN0YXQgZG9lcyBub3Qgd29yayBvbiBsaW5rcyBpbiBXaW5kb3dzIikKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAic3ltbGluayIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICJNaXNzaW5nIHN5bWxpbmsgaW1wbGVtZW50YXRpb24iKQotICAgIGRlZiB0ZXN0X3NhbWVzdGF0X29uX2xpbmtzKHNlbGYpOgotICAgICAgICB0ZXN0X2ZuMSA9IHN1cHBvcnQuVEVTVEZOICsgIjEiCi0gICAgICAgIHRlc3RfZm4yID0gc3VwcG9ydC5URVNURk4gKyAiMiIKLSAgICAgICAgc2VsZi5fY3JlYXRlX2ZpbGUodGVzdF9mbjEpCi0gICAgICAgIHRlc3RfZm5zID0gKHRlc3RfZm4xLCB0ZXN0X2ZuMikKLSAgICAgICAgb3Muc3ltbGluaygqdGVzdF9mbnMpCi0gICAgICAgIHN0YXRzID0gbWFwKG9zLnN0YXQsIHRlc3RfZm5zKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocG9zaXhwYXRoLnNhbWVzdGF0KCpzdGF0cykpCi0gICAgICAgIG9zLnJlbW92ZSh0ZXN0X2ZuMikKLQotICAgICAgICBzZWxmLl9jcmVhdGVfZmlsZSh0ZXN0X2ZuMikKLSAgICAgICAgc3RhdHMgPSBtYXAob3Muc3RhdCwgdGVzdF9mbnMpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocG9zaXhwYXRoLnNhbWVzdGF0KCpzdGF0cykpCi0KLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeHBhdGguc2FtZXN0YXQpCi0KICAgICBkZWYgdGVzdF9pc21vdW50KHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydElzKHBvc2l4cGF0aC5pc21vdW50KCIvIiksIFRydWUpCiAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKQEAgLTU5NCwxMSArNTM3LDYgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIG9zLmdldGN3ZGIgPSByZWFsX2dldGN3ZGIKIAotICAgIGRlZiB0ZXN0X3NhbWVvcGVuZmlsZShzZWxmKToKLSAgICAgICAgZm5hbWUgPSBzdXBwb3J0LlRFU1RGTiArICIxIgotICAgICAgICB3aXRoIG9wZW4oZm5hbWUsICJ3YiIpIGFzIGEsIG9wZW4oZm5hbWUsICJ3YiIpIGFzIGI6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocG9zaXhwYXRoLnNhbWVvcGVuZmlsZShhLmZpbGVubygpLCBiLmZpbGVubygpKSkKLQogCiBjbGFzcyBQb3NpeENvbW1vblRlc3QodGVzdF9nZW5lcmljcGF0aC5Db21tb25UZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgcGF0aG1vZHVsZSA9IHBvc2l4cGF0aApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wcHJpbnQucHkgYi9MaWIvdGVzdC90ZXN0X3BwcmludC5weQppbmRleCBkNDkyZDc1Li5iZjEzNmRlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BwcmludC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BwcmludC5weQpAQCAtMSwzICsxLDUgQEAKKyMgLSotIGNvZGluZzogdXRmLTggLSotCisKIGltcG9ydCBwcHJpbnQKIGltcG9ydCB0ZXN0LnN1cHBvcnQKIGltcG9ydCB1bml0dGVzdApAQCAtNDc1LDYgKzQ3Nyw0MiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KGRpY3QuZnJvbWtleXMoa2V5cywgMCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICd7JXI6IDAsICVyOiAwfScgJSB0dXBsZShzb3J0ZWQoa2V5cywga2V5PWlkKSkpCiAKKyAgICBkZWYgdGVzdF9zdHJfd3JhcChzZWxmKToKKyAgICAgICAgIyBwcHJpbnQgdHJpZXMgdG8gd3JhcCBzdHJpbmdzIGludGVsbGlnZW50bHkKKyAgICAgICAgZm94ID0gJ3RoZSBxdWljayBicm93biBmb3gganVtcGVkIG92ZXIgYSBsYXp5IGRvZycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdChmb3gsIHdpZHRoPTIwKSwgIiIiXAorJ3RoZSBxdWljayBicm93biAnCisnZm94IGp1bXBlZCBvdmVyICcKKydhIGxhenkgZG9nJyIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcHJpbnQucGZvcm1hdCh7J2EnOiAxLCAnYic6IGZveCwgJ2MnOiAyfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD0yNiksICIiIlwKK3snYSc6IDEsCisgJ2InOiAndGhlIHF1aWNrIGJyb3duICcKKyAgICAgICdmb3gganVtcGVkIG92ZXIgJworICAgICAgJ2EgbGF6eSBkb2cnLAorICdjJzogMn0iIiIpCisgICAgICAgICMgV2l0aCBzb21lIHNwZWNpYWwgY2hhcmFjdGVycworICAgICAgICAjIC0gXG4gYWx3YXlzIHRyaWdnZXJzIGEgbmV3IGxpbmUgaW4gdGhlIHBwcmludAorICAgICAgICAjIC0gXHQgYW5kIFxuIGFyZSBlc2NhcGVkCisgICAgICAgICMgLSBub24tQVNDSUkgaXMgYWxsb3dlZAorICAgICAgICAjIC0gYW4gYXBvc3Ryb3BoZSBkb2Vzbid0IGRpc3J1cHQgdGhlIHBwcmludAorICAgICAgICBzcGVjaWFsID0gIlBvcnRvbnMgZGl4IGJvbnMgXCJ3aGlza3lzXCJcbsOgIGwnYXZvY2F0IGdvdWphdFx0IHF1aSBmdW1haXQgYXUgem9vIgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KHNwZWNpYWwsIHdpZHRoPTIwKSwgIiIiXAorJ1BvcnRvbnMgZGl4IGJvbnMgJworJyJ3aGlza3lzIlxcbicKKyLDoCBsJ2F2b2NhdCAiCisnZ291amF0XFx0IHF1aSAnCisnZnVtYWl0IGF1IHpvbyciIiIpCisgICAgICAgICMgQW4gdW53cmFwcGFibGUgc3RyaW5nIGlzIGZvcm1hdHRlZCBhcyBpdHMgcmVwcgorICAgICAgICB1bndyYXBwYWJsZSA9ICJ4IiAqIDEwMAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KHVud3JhcHBhYmxlLCB3aWR0aD04MCksIHJlcHIodW53cmFwcGFibGUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBwcmludC5wZm9ybWF0KCcnKSwgIicnIikKKyAgICAgICAgIyBDaGVjayB0aGF0IHRoZSBwcHJpbnQgaXMgYSB1c2FibGUgcmVwcgorICAgICAgICBzcGVjaWFsICo9IDEwCisgICAgICAgIGZvciB3aWR0aCBpbiByYW5nZSgzLCA0MCk6CisgICAgICAgICAgICBmb3JtYXR0ZWQgPSBwcHJpbnQucGZvcm1hdChzcGVjaWFsLCB3aWR0aD13aWR0aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZhbCgiKCIgKyBmb3JtYXR0ZWQgKyAiKSIpLCBzcGVjaWFsKQorCiAKIGNsYXNzIERvdHRlZFByZXR0eVByaW50ZXIocHByaW50LlByZXR0eVByaW50ZXIpOgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3ByaW50LnB5IGIvTGliL3Rlc3QvdGVzdF9wcmludC5weQppbmRleCA5ZDZkYmVhLi43ZWVhMzQ5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3ByaW50LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHJpbnQucHkKQEAgLTEsNjIgKzEsNTUgQEAKLSIiIlRlc3QgY29ycmVjdCBvcGVyYXRpb24gb2YgdGhlIHByaW50IGZ1bmN0aW9uLgotIiIiCi0KLSMgSW4gMi42LCB0aGlzIGdpdmVzIHVzIHRoZSBiZWhhdmlvciB3ZSB3YW50LiAgSW4gMy4wLCBpdCBoYXMKLSMgIG5vIGZ1bmN0aW9uLCBidXQgaXQgc3RpbGwgbXVzdCBwYXJzZSBjb3JyZWN0bHkuCi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCi0KIGltcG9ydCB1bml0dGVzdAotZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Citmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwogCi10cnk6Ci0gICAgIyAzLngKLSAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwotZXhjZXB0IEltcG9ydEVycm9yOgotICAgICMgMi54Ci0gICAgZnJvbSBTdHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogCiBOb3REZWZpbmVkID0gb2JqZWN0KCkKIAogIyBBIGRpc3BhdGNoIHRhYmxlIGFsbCA4IGNvbWJpbmF0aW9ucyBvZiBwcm92aWRpbmcKLSMgIHNlcCwgZW5kLCBhbmQgZmlsZQorIyBzZXAsIGVuZCwgYW5kIGZpbGUuCiAjIEkgdXNlIHRoaXMgbWFjaGluZXJ5IHNvIHRoYXQgSSdtIG5vdCBqdXN0IHBhc3NpbmcgZGVmYXVsdAotIyAgdmFsdWVzIHRvIHByaW50LCBJJ20gZWl0aGVyIHBhc3Npbmcgb3Igbm90IHBhc3NpbmcgaW4gdGhlCi0jICBhcmd1bWVudHMKKyMgdmFsdWVzIHRvIHByaW50LCBJJ20gZWl0aGVyIHBhc3Npbmcgb3Igbm90IHBhc3NpbmcgaW4gdGhlCisjIGFyZ3VtZW50cy4KIGRpc3BhdGNoID0gewogICAgIChGYWxzZSwgRmFsc2UsIEZhbHNlKToKLSAgICAgbGFtYmRhIGFyZ3MsIHNlcCwgZW5kLCBmaWxlOiBwcmludCgqYXJncyksCisgICAgICAgIGxhbWJkYSBhcmdzLCBzZXAsIGVuZCwgZmlsZTogcHJpbnQoKmFyZ3MpLAogICAgIChGYWxzZSwgRmFsc2UsIFRydWUpOgotICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KGZpbGU9ZmlsZSwgKmFyZ3MpLAorICAgICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KGZpbGU9ZmlsZSwgKmFyZ3MpLAogICAgIChGYWxzZSwgVHJ1ZSwgIEZhbHNlKToKLSAgICAgbGFtYmRhIGFyZ3MsIHNlcCwgZW5kLCBmaWxlOiBwcmludChlbmQ9ZW5kLCAqYXJncyksCisgICAgICAgIGxhbWJkYSBhcmdzLCBzZXAsIGVuZCwgZmlsZTogcHJpbnQoZW5kPWVuZCwgKmFyZ3MpLAogICAgIChGYWxzZSwgVHJ1ZSwgIFRydWUpOgotICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KGVuZD1lbmQsIGZpbGU9ZmlsZSwgKmFyZ3MpLAorICAgICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KGVuZD1lbmQsIGZpbGU9ZmlsZSwgKmFyZ3MpLAogICAgIChUcnVlLCAgRmFsc2UsIEZhbHNlKToKLSAgICAgbGFtYmRhIGFyZ3MsIHNlcCwgZW5kLCBmaWxlOiBwcmludChzZXA9c2VwLCAqYXJncyksCisgICAgICAgIGxhbWJkYSBhcmdzLCBzZXAsIGVuZCwgZmlsZTogcHJpbnQoc2VwPXNlcCwgKmFyZ3MpLAogICAgIChUcnVlLCAgRmFsc2UsIFRydWUpOgotICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KHNlcD1zZXAsIGZpbGU9ZmlsZSwgKmFyZ3MpLAorICAgICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KHNlcD1zZXAsIGZpbGU9ZmlsZSwgKmFyZ3MpLAogICAgIChUcnVlLCAgVHJ1ZSwgIEZhbHNlKToKLSAgICAgbGFtYmRhIGFyZ3MsIHNlcCwgZW5kLCBmaWxlOiBwcmludChzZXA9c2VwLCBlbmQ9ZW5kLCAqYXJncyksCisgICAgICAgIGxhbWJkYSBhcmdzLCBzZXAsIGVuZCwgZmlsZTogcHJpbnQoc2VwPXNlcCwgZW5kPWVuZCwgKmFyZ3MpLAogICAgIChUcnVlLCAgVHJ1ZSwgIFRydWUpOgotICAgICBsYW1iZGEgYXJncywgc2VwLCBlbmQsIGZpbGU6IHByaW50KHNlcD1zZXAsIGVuZD1lbmQsIGZpbGU9ZmlsZSwgKmFyZ3MpLAotICAgIH0KKyAgICAgICAgbGFtYmRhIGFyZ3MsIHNlcCwgZW5kLCBmaWxlOiBwcmludChzZXA9c2VwLCBlbmQ9ZW5kLCBmaWxlPWZpbGUsICphcmdzKSwKK30KKwogCiAjIENsYXNzIHVzZWQgdG8gdGVzdCBfX3N0cl9fIGFuZCBwcmludAogY2xhc3MgQ2xhc3NXaXRoX19zdHJfXzoKICAgICBkZWYgX19pbml0X18oc2VsZiwgeCk6CiAgICAgICAgIHNlbGYueCA9IHgKKwogICAgIGRlZiBfX3N0cl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi54CiAKLWNsYXNzIFRlc3RQcmludCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIGNoZWNrKHNlbGYsIGV4cGVjdGVkLCBhcmdzLAotICAgICAgICAgICAgc2VwPU5vdERlZmluZWQsIGVuZD1Ob3REZWZpbmVkLCBmaWxlPU5vdERlZmluZWQpOgotICAgICAgICAjIENhcHR1cmUgc3lzLnN0ZG91dCBpbiBhIFN0cmluZ0lPLiAgQ2FsbCBwcmludCB3aXRoIGFyZ3MsCi0gICAgICAgICMgIGFuZCB3aXRoIHNlcCwgZW5kLCBhbmQgZmlsZSwgaWYgdGhleSdyZSBkZWZpbmVkLiAgUmVzdWx0Ci0gICAgICAgICMgIG11c3QgbWF0Y2ggZXhwZWN0ZWQuCiAKLSAgICAgICAgIyBMb29rIHVwIHRoZSBhY3R1YWwgZnVuY3Rpb24gdG8gY2FsbCwgYmFzZWQgb24gaWYgc2VwLCBlbmQsIGFuZCBmaWxlCi0gICAgICAgICMgIGFyZSBkZWZpbmVkCitjbGFzcyBUZXN0UHJpbnQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIlRlc3QgY29ycmVjdCBvcGVyYXRpb24gb2YgdGhlIHByaW50IGZ1bmN0aW9uLiIiIgorCisgICAgZGVmIGNoZWNrKHNlbGYsIGV4cGVjdGVkLCBhcmdzLAorICAgICAgICAgICAgICBzZXA9Tm90RGVmaW5lZCwgZW5kPU5vdERlZmluZWQsIGZpbGU9Tm90RGVmaW5lZCk6CisgICAgICAgICMgQ2FwdHVyZSBzeXMuc3Rkb3V0IGluIGEgU3RyaW5nSU8uICBDYWxsIHByaW50IHdpdGggYXJncywKKyAgICAgICAgIyBhbmQgd2l0aCBzZXAsIGVuZCwgYW5kIGZpbGUsIGlmIHRoZXkncmUgZGVmaW5lZC4gIFJlc3VsdAorICAgICAgICAjIG11c3QgbWF0Y2ggZXhwZWN0ZWQuCisKKyAgICAgICAgIyBMb29rIHVwIHRoZSBhY3R1YWwgZnVuY3Rpb24gdG8gY2FsbCwgYmFzZWQgb24gaWYgc2VwLCBlbmQsCisgICAgICAgICMgYW5kIGZpbGUgYXJlIGRlZmluZWQuCiAgICAgICAgIGZuID0gZGlzcGF0Y2hbKHNlcCBpcyBub3QgTm90RGVmaW5lZCwKICAgICAgICAgICAgICAgICAgICAgICAgZW5kIGlzIG5vdCBOb3REZWZpbmVkLAogICAgICAgICAgICAgICAgICAgICAgICBmaWxlIGlzIG5vdCBOb3REZWZpbmVkKV0KQEAgLTY5LDcgKzYyLDcgQEAKICAgICBkZWYgdGVzdF9wcmludChzZWxmKToKICAgICAgICAgZGVmIHgoZXhwZWN0ZWQsIGFyZ3MsIHNlcD1Ob3REZWZpbmVkLCBlbmQ9Tm90RGVmaW5lZCk6CiAgICAgICAgICAgICAjIFJ1biB0aGUgdGVzdCAyIHdheXM6IG5vdCB1c2luZyBmaWxlLCBhbmQgdXNpbmcKLSAgICAgICAgICAgICMgIGZpbGUgZGlyZWN0ZWQgdG8gYSBTdHJpbmdJTworICAgICAgICAgICAgIyBmaWxlIGRpcmVjdGVkIHRvIGEgU3RyaW5nSU8uCiAKICAgICAgICAgICAgIHNlbGYuY2hlY2soZXhwZWN0ZWQsIGFyZ3MsIHNlcD1zZXAsIGVuZD1lbmQpCiAKQEAgLTEwMSwxMSArOTQsNiBAQAogICAgICAgICB4KCcqXG4nLCAoQ2xhc3NXaXRoX19zdHJfXygnKicpLCkpCiAgICAgICAgIHgoJ2FiYyAxXG4nLCAoQ2xhc3NXaXRoX19zdHJfXygnYWJjJyksIDEpKQogCi0jICAgICAgICAjIDIueCB1bmljb2RlIHRlc3RzCi0jICAgICAgICB4KHUnMSAyXG4nLCAoJzEnLCB1JzInKSkKLSMgICAgICAgIHgodSd1XDEyMzRcbicsICh1J3VcMTIzNCcsKSkKLSMgICAgICAgIHgodScgIGFiYyAxXG4nLCAoJyAnLCBDbGFzc1dpdGhfX3N0cl9fKHUnYWJjJyksIDEpKQotCiAgICAgICAgICMgZXJyb3JzCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcHJpbnQsICcnLCBzZXA9MykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwcmludCwgJycsIGVuZD0zKQpAQCAtMTEzLDEyICsxMDEsMTQgQEAKIAogICAgIGRlZiB0ZXN0X3ByaW50X2ZsdXNoKHNlbGYpOgogICAgICAgICAjIG9wZXJhdGlvbiBvZiB0aGUgZmx1c2ggZmxhZwotICAgICAgICBjbGFzcyBmaWxlbGlrZSgpOgorICAgICAgICBjbGFzcyBmaWxlbGlrZToKICAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAgICAgICAgICBzZWxmLndyaXR0ZW4gPSAnJwogICAgICAgICAgICAgICAgIHNlbGYuZmx1c2hlZCA9IDAKKwogICAgICAgICAgICAgZGVmIHdyaXRlKHNlbGYsIHN0cik6CiAgICAgICAgICAgICAgICAgc2VsZi53cml0dGVuICs9IHN0cgorCiAgICAgICAgICAgICBkZWYgZmx1c2goc2VsZik6CiAgICAgICAgICAgICAgICAgc2VsZi5mbHVzaGVkICs9IDEKIApAQCAtMTMwLDE1ICsxMjAsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLmZsdXNoZWQsIDIpCiAKICAgICAgICAgIyBlbnN1cmUgZXhjZXB0aW9ucyBmcm9tIGZsdXNoIGFyZSBwYXNzZWQgdGhyb3VnaAotICAgICAgICBjbGFzcyBub2ZsdXNoKCk6CisgICAgICAgIGNsYXNzIG5vZmx1c2g6CiAgICAgICAgICAgICBkZWYgd3JpdGUoc2VsZiwgc3RyKToKICAgICAgICAgICAgICAgICBwYXNzCisKICAgICAgICAgICAgIGRlZiBmbHVzaChzZWxmKToKICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwcmludCwgMSwgZmlsZT1ub2ZsdXNoKCksIGZsdXNoPVRydWUpCiAKLWRlZiB0ZXN0X21haW4oKToKLSAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0UHJpbnQpCi0KIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgdGVzdF9tYWluKCkKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHJvZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfcHJvZmlsZS5weQppbmRleCBjZDdlYzU4Li4xZmMzYzQyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Byb2ZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wcm9maWxlLnB5CkBAIC0zLDkgKzMsMTEgQEAKIGltcG9ydCBzeXMKIGltcG9ydCBwc3RhdHMKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IG9zCiBmcm9tIGRpZmZsaWIgaW1wb3J0IHVuaWZpZWRfZGlmZgogZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIHJ1bl91bml0dGVzdCwgdW5saW5rCitmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCiAKIGltcG9ydCBwcm9maWxlCiBmcm9tIHRlc3QucHJvZmlsZWUgaW1wb3J0IHRlc3RmdW5jLCB0aW1lcgpAQCAtMTQsOSArMTYsMTMgQEAKIGNsYXNzIFByb2ZpbGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIHByb2ZpbGVyY2xhc3MgPSBwcm9maWxlLlByb2ZpbGUKKyAgICBwcm9maWxlcm1vZHVsZSA9IHByb2ZpbGUKICAgICBtZXRob2RuYW1lcyA9IFsncHJpbnRfc3RhdHMnLCAncHJpbnRfY2FsbGVycycsICdwcmludF9jYWxsZWVzJ10KICAgICBleHBlY3RlZF9tYXhfb3V0cHV0ID0gJzowKG1heCknCiAKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIHVubGluayhURVNURk4pCisKICAgICBkZWYgZ2V0X2V4cGVjdGVkX291dHB1dChzZWxmKToKICAgICAgICAgcmV0dXJuIF9Qcm9maWxlT3V0cHV0CiAKQEAgLTc0LDYgKzgwLDE5IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuZXhwZWN0ZWRfbWF4X291dHB1dCwgcmVzLAogICAgICAgICAgICAgICAgICJQcm9maWxpbmcgezAhcn0gZGlkbid0IHJlcG9ydCBtYXg6XG57MX0iLmZvcm1hdChzdG10LCByZXMpKQogCisgICAgZGVmIHRlc3RfcnVuKHNlbGYpOgorICAgICAgICB3aXRoIHNpbGVudCgpOgorICAgICAgICAgICAgc2VsZi5wcm9maWxlcm1vZHVsZS5ydW4oImludCgnMScpIikKKyAgICAgICAgc2VsZi5wcm9maWxlcm1vZHVsZS5ydW4oImludCgnMScpIiwgZmlsZW5hbWU9VEVTVEZOKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoVEVTVEZOKSkKKworICAgIGRlZiB0ZXN0X3J1bmN0eChzZWxmKToKKyAgICAgICAgd2l0aCBzaWxlbnQoKToKKyAgICAgICAgICAgIHNlbGYucHJvZmlsZXJtb2R1bGUucnVuY3R4KCJ0ZXN0ZnVuYygpIiwgZ2xvYmFscygpLCBsb2NhbHMoKSkKKyAgICAgICAgc2VsZi5wcm9maWxlcm1vZHVsZS5ydW5jdHgoInRlc3RmdW5jKCkiLCBnbG9iYWxzKCksIGxvY2FscygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lPVRFU1RGTikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKFRFU1RGTikpCisKIAogZGVmIHJlZ2VuZXJhdGVfZXhwZWN0ZWRfb3V0cHV0KGZpbGVuYW1lLCBjbHMpOgogICAgIGZpbGVuYW1lID0gZmlsZW5hbWUucnN0cmlwKCdjbycpCkBAIC05NSw2ICsxMTQsMTQgQEAKICAgICAgICAgICAgICAgICAgICAgbWV0aG9kLCByZXN1bHRzW2krMV0pKQogICAgICAgICBmLndyaXRlKCdcbmlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6XG4gICAgbWFpbigpXG4nKQogCitAY29udGV4dG1hbmFnZXIKK2RlZiBzaWxlbnQoKToKKyAgICBzdGRvdXQgPSBzeXMuc3Rkb3V0CisgICAgdHJ5OgorICAgICAgICBzeXMuc3Rkb3V0ID0gU3RyaW5nSU8oKQorICAgICAgICB5aWVsZAorICAgIGZpbmFsbHk6CisgICAgICAgIHN5cy5zdGRvdXQgPSBzdGRvdXQKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHJ1bl91bml0dGVzdChQcm9maWxlVGVzdCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHR5LnB5IGIvTGliL3Rlc3QvdGVzdF9wdHkucHkKaW5kZXggMjkyOTdmOC4uODkxNjg2MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wdHkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wdHkucHkKQEAgLTE4Nyw3ICsxODcsNyBAQAogICAgICAgICAgICAgIyNkZWJ1ZygiUmVhZGluZyBmcm9tIG1hc3Rlcl9mZCBub3cgdGhhdCB0aGUgY2hpbGQgaGFzIGV4aXRlZCIpCiAgICAgICAgICAgICAjI3RyeToKICAgICAgICAgICAgICMjICAgIHMxID0gb3MucmVhZChtYXN0ZXJfZmQsIDEwMjQpCi0gICAgICAgICAgICAjI2V4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgICAgICMjZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAjIyAgICBwYXNzCiAgICAgICAgICAgICAjI2Vsc2U6CiAgICAgICAgICAgICAjIyAgICByYWlzZSBUZXN0RmFpbGVkKCJSZWFkIGZyb20gbWFzdGVyX2ZkIGRpZCBub3QgcmFpc2UgZXhjZXB0aW9uIikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfcHlfY29tcGlsZS5weQppbmRleCBmM2MxYTZhLi5lMTc5NTU0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3B5X2NvbXBpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9weV9jb21waWxlLnB5CkBAIC0yLDYgKzIsNyBAQAogaW1wb3J0IG9zCiBpbXBvcnQgcHlfY29tcGlsZQogaW1wb3J0IHNodXRpbAoraW1wb3J0IHN0YXQKIGltcG9ydCB0ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0CiAKQEAgLTU0LDggKzU1LDIwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhzZWxmLnB5Y19wYXRoKSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhzZWxmLmNhY2hlX3BhdGgpKQogCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoUHlDb21waWxlVGVzdHMpCisgICAgQHVuaXR0ZXN0LnNraXBJZihvcy5uYW1lID09ICdudCcsCisgICAgICAgICAgICAgICAgICAgICAnY2Fubm90IGNvbnRyb2wgZGlyZWN0b3J5IHBlcm1pc3Npb25zIG9uIFdpbmRvd3MnKQorICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbnNfcHJvcGFnYXRlKHNlbGYpOgorICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IGV4Y2VwdGlvbnMgcmFpc2VkIHRoYW5rcyB0byBpc3N1ZXMgd2l0aCB3cml0aW5nCisgICAgICAgICMgYnl0ZWNvZGUuCisgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE3MjQ0CisgICAgICAgIG1vZGUgPSBvcy5zdGF0KHNlbGYuZGlyZWN0b3J5KQorICAgICAgICBvcy5jaG1vZChzZWxmLmRpcmVjdG9yeSwgc3RhdC5TX0lSRUFEKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IpOgorICAgICAgICAgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShzZWxmLnNvdXJjZV9wYXRoLCBzZWxmLnB5Y19wYXRoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2htb2Qoc2VsZi5kaXJlY3RvcnksIG1vZGUuc3RfbW9kZSkKKwogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHRlc3RfbWFpbigpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5IGIvTGliL3Rlc3QvdGVzdF9weWRvYy5weQppbmRleCA1NDJhMjliLi44YWRjZGQ4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkKQEAgLTM5NSw2ICszOTUsMzEgQEAKICAgICAgICAgICAgIHN5bm9wc2lzID0gcHlkb2Muc3lub3BzaXMoVEVTVEZOLCB7fSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lub3BzaXMsICdsaW5lIDE6IGhceGU5JykKIAorICAgIGRlZiB0ZXN0X3NwbGl0ZG9jX3dpdGhfZGVzY3JpcHRpb24oc2VsZik6CisgICAgICAgIGV4YW1wbGVfc3RyaW5nID0gIkkgQW0gQSBEb2NcblxuXG5IZXJlIGlzIG15IGRlc2NyaXB0aW9uIgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB5ZG9jLnNwbGl0ZG9jKGV4YW1wbGVfc3RyaW5nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoJ0kgQW0gQSBEb2MnLCAnXG5IZXJlIGlzIG15IGRlc2NyaXB0aW9uJykpCisKKyAgICBkZWYgdGVzdF9pc19vYmplY3Rfb3JfbWV0aG9kKHNlbGYpOgorICAgICAgICBkb2MgPSBweWRvYy5Eb2MoKQorICAgICAgICAjIEJvdW5kIE1ldGhvZAorICAgICAgICBzZWxmLmFzc2VydFRydWUocHlkb2MuX2lzX3NvbWVfbWV0aG9kKGRvYy5mYWlsKSkKKyAgICAgICAgIyBNZXRob2QgRGVzY3JpcHRvcgorICAgICAgICBzZWxmLmFzc2VydFRydWUocHlkb2MuX2lzX3NvbWVfbWV0aG9kKGludC5fX2FkZF9fKSkKKyAgICAgICAgIyBTdHJpbmcKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShweWRvYy5faXNfc29tZV9tZXRob2QoIkkgYW0gbm90IGEgbWV0aG9kIikpCisKKyAgICBkZWYgdGVzdF9pc19wYWNrYWdlX3doZW5fbm90X3BhY2thZ2Uoc2VsZik6CisgICAgICAgIHdpdGggdGVzdC5zdXBwb3J0LnRlbXBfY3dkKCkgYXMgdGVzdF9kaXI6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHB5ZG9jLmlzcGFja2FnZSh0ZXN0X2RpcikpCisKKyAgICBkZWYgdGVzdF9pc19wYWNrYWdlX3doZW5faXNfcGFja2FnZShzZWxmKToKKyAgICAgICAgd2l0aCB0ZXN0LnN1cHBvcnQudGVtcF9jd2QoKSBhcyB0ZXN0X2RpcjoKKyAgICAgICAgICAgIGluaXRfcGF0aCA9IG9zLnBhdGguam9pbih0ZXN0X2RpciwgJ19faW5pdF9fLnB5JykKKyAgICAgICAgICAgIG9wZW4oaW5pdF9wYXRoLCAndycpLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShweWRvYy5pc3BhY2thZ2UodGVzdF9kaXIpKQorICAgICAgICAgICAgb3MucmVtb3ZlKGluaXRfcGF0aCkKKwogICAgIGRlZiB0ZXN0X2FsbG1ldGhvZHMoc2VsZik6CiAgICAgICAgICMgaXNzdWUgMTc0NzY6IGFsbG1ldGhvZHMgd2FzIG5vIGxvbmdlciByZXR1cm5pbmcgdW5ib3VuZCBtZXRob2RzLgogICAgICAgICAjIFRoaXMgdGVzdCBpcyBhIGJpdCBmcmFnaWxlIGluIHRoZSBmYWNlIG9mIGNoYW5nZXMgdG8gb2JqZWN0IGFuZCB0eXBlLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yYW5kb20ucHkgYi9MaWIvdGVzdC90ZXN0X3JhbmRvbS5weQppbmRleCBmYWNkZGIxLi40OWEzZjdiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3JhbmRvbS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JhbmRvbS5weQpAQCAtMSwxMCArMSwxMiBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogCiBpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB1bml0dGVzdC5tb2NrCiBpbXBvcnQgcmFuZG9tCiBpbXBvcnQgdGltZQogaW1wb3J0IHBpY2tsZQogaW1wb3J0IHdhcm5pbmdzCitmcm9tIGZ1bmN0b29scyBpbXBvcnQgcGFydGlhbAogZnJvbSBtYXRoIGltcG9ydCBsb2csIGV4cCwgcGksIGZzdW0sIHNpbgogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiAKQEAgLTQ2LDYgKzQ4LDQ4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5nZW4uc2VlZCwgMSwgMiwgMywgNCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0eXBlKHNlbGYuZ2VuKSwgW10pCiAKKyAgICBAdW5pdHRlc3QubW9jay5wYXRjaCgncmFuZG9tLl91cmFuZG9tJykgIyBvcy51cmFuZG9tCisgICAgZGVmIHRlc3Rfc2VlZF93aGVuX3JhbmRvbW5lc3Nfc291cmNlX25vdF9mb3VuZChzZWxmLCB1cmFuZG9tX21vY2spOgorICAgICAgICAjIFJhbmRvbS5zZWVkKCkgdXNlcyB0aW1lLnRpbWUoKSB3aGVuIGFuIG9wZXJhdGluZyBzeXN0ZW0gc3BlY2lmaWMKKyAgICAgICAgIyByYW5kb21uZXNzIHNvdXJjZSBpcyBub3QgZm91bmQuIFRvIHRlc3QgdGhpcyBvbiBtYWNoaW5lcyB3ZXJlIGl0CisgICAgICAgICMgZXhpc3RzLCBydW4gdGhlIGFib3ZlIHRlc3QsIHRlc3Rfc2VlZGFyZ3MoKSwgYWdhaW4gYWZ0ZXIgbW9ja2luZworICAgICAgICAjIG9zLnVyYW5kb20oKSBzbyB0aGF0IGl0IHJhaXNlcyB0aGUgZXhjZXB0aW9uIGV4cGVjdGVkIHdoZW4gdGhlCisgICAgICAgICMgcmFuZG9tbmVzcyBzb3VyY2UgaXMgbm90IGF2YWlsYWJsZS4KKyAgICAgICAgdXJhbmRvbV9tb2NrLnNpZGVfZWZmZWN0ID0gTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICBzZWxmLnRlc3Rfc2VlZGFyZ3MoKQorCisgICAgZGVmIHRlc3Rfc2h1ZmZsZShzZWxmKToKKyAgICAgICAgc2h1ZmZsZSA9IHNlbGYuZ2VuLnNodWZmbGUKKyAgICAgICAgbHN0ID0gW10KKyAgICAgICAgc2h1ZmZsZShsc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHN0LCBbXSkKKyAgICAgICAgbHN0ID0gWzM3XQorICAgICAgICBzaHVmZmxlKGxzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsc3QsIFszN10pCisgICAgICAgIHNlcXMgPSBbbGlzdChyYW5nZShuKSkgZm9yIG4gaW4gcmFuZ2UoMTApXQorICAgICAgICBzaHVmZmxlZF9zZXFzID0gW2xpc3QocmFuZ2UobikpIGZvciBuIGluIHJhbmdlKDEwKV0KKyAgICAgICAgZm9yIHNodWZmbGVkX3NlcSBpbiBzaHVmZmxlZF9zZXFzOgorICAgICAgICAgICAgc2h1ZmZsZShzaHVmZmxlZF9zZXEpCisgICAgICAgIGZvciAoc2VxLCBzaHVmZmxlZF9zZXEpIGluIHppcChzZXFzLCBzaHVmZmxlZF9zZXFzKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlcSksIGxlbihzaHVmZmxlZF9zZXEpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQoc2VxKSwgc2V0KHNodWZmbGVkX3NlcSkpCisgICAgICAgICMgVGhlIGFib3ZlIHRlc3RzIGFsbCB3b3VsZCBwYXNzIGlmIHRoZSBzaHVmZmxlIHdhcyBhCisgICAgICAgICMgbm8tb3AuIFRoZSBmb2xsb3dpbmcgbm9uLWRldGVybWluaXN0aWMgdGVzdCBjb3ZlcnMgdGhhdC4gIEl0CisgICAgICAgICMgYXNzZXJ0cyB0aGF0IHRoZSBzaHVmZmxlZCBzZXF1ZW5jZSBvZiAxMDAwIGRpc3RpbmN0IGVsZW1lbnRzCisgICAgICAgICMgbXVzdCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgb25lLiBBbHRob3VnaCB0aGVyZSBpcworICAgICAgICAjIG1hdGhlbWF0aWNhbGx5IGEgbm9uLXplcm8gcHJvYmFiaWxpdHkgdGhhdCB0aGlzIGNvdWxkCisgICAgICAgICMgYWN0dWFsbHkgaGFwcGVuIGluIGEgZ2VudWluZWx5IHJhbmRvbSBzaHVmZmxlLCBpdCBpcworICAgICAgICAjIGNvbXBsZXRlbHkgbmVnbGlnaWJsZSwgZ2l2ZW4gdGhhdCB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlCisgICAgICAgICMgcGVybXV0YXRpb25zIG9mIDEwMDAgb2JqZWN0cyBpcyAxMDAwISAoZmFjdG9yaWFsIG9mIDEwMDApLAorICAgICAgICAjIHdoaWNoIGlzIGNvbnNpZGVyYWJseSBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGF0b21zIGluIHRoZQorICAgICAgICAjIHVuaXZlcnNlLi4uCisgICAgICAgIGxzdCA9IGxpc3QocmFuZ2UoMTAwMCkpCisgICAgICAgIHNodWZmbGVkX2xzdCA9IGxpc3QocmFuZ2UoMTAwMCkpCisgICAgICAgIHNodWZmbGUoc2h1ZmZsZWRfbHN0KQorICAgICAgICBzZWxmLmFzc2VydFRydWUobHN0ICE9IHNodWZmbGVkX2xzdCkKKyAgICAgICAgc2h1ZmZsZShsc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsc3QgIT0gc2h1ZmZsZWRfbHN0KQorCiAgICAgZGVmIHRlc3RfY2hvaWNlKHNlbGYpOgogICAgICAgICBjaG9pY2UgPSBzZWxmLmdlbi5jaG9pY2UKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yKToKQEAgLTY1LDYgKzEwOSw4IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih1bmlxKSwgaykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh1bmlxIDw9IHNldChwb3B1bGF0aW9uKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdlbi5zYW1wbGUoW10sIDApLCBbXSkgICMgdGVzdCBlZGdlIGNhc2UgTj09az09MAorICAgICAgICAjIEV4Y2VwdGlvbiByYWlzZWQgaWYgc2l6ZSBvZiBzYW1wbGUgZXhjZWVkcyB0aGF0IG9mIHBvcHVsYXRpb24KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5nZW4uc2FtcGxlLCBwb3B1bGF0aW9uLCBOKzEpCiAKICAgICBkZWYgdGVzdF9zYW1wbGVfZGlzdHJpYnV0aW9uKHNlbGYpOgogICAgICAgICAjIEZvciB0aGUgZW50aXJlIGFsbG93YWJsZSByYW5nZSBvZiAwIDw9IGsgPD0gTiwgdmFsaWRhdGUgdGhhdApAQCAtMjA1LDYgKzI1MSwyNSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQocmFuZ2Uoc3RhcnQsc3RvcCkpLAogICAgICAgICAgICAgICAgIHNldChbc2VsZi5nZW4ucmFuZHJhbmdlKHN0YXJ0LHN0b3ApIGZvciBpIGluIHJhbmdlKDEwMCldKSkKIAorICAgIGRlZiB0ZXN0X3JhbmRyYW5nZV9ub251bml0X3N0ZXAoc2VsZik6CisgICAgICAgIHJpbnQgPSBzZWxmLmdlbi5yYW5kcmFuZ2UoMCwgMTAsIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4ocmludCwgKDAsIDIsIDQsIDYsIDgpKQorICAgICAgICByaW50ID0gc2VsZi5nZW4ucmFuZHJhbmdlKDAsIDIsIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmludCwgMCkKKworICAgIGRlZiB0ZXN0X3JhbmRyYW5nZV9lcnJvcnMoc2VsZik6CisgICAgICAgIHJhaXNlcyA9IHBhcnRpYWwoc2VsZi5hc3NlcnRSYWlzZXMsIFZhbHVlRXJyb3IsIHNlbGYuZ2VuLnJhbmRyYW5nZSkKKyAgICAgICAgIyBFbXB0eSByYW5nZQorICAgICAgICByYWlzZXMoMywgMykKKyAgICAgICAgcmFpc2VzKC03MjEpCisgICAgICAgIHJhaXNlcygwLCAxMDAsIC0xMikKKyAgICAgICAgIyBOb24taW50ZWdlciBzdGFydC9zdG9wCisgICAgICAgIHJhaXNlcygzLjE0MTU5KQorICAgICAgICByYWlzZXMoMCwgMi43MTgyOCkKKyAgICAgICAgIyBaZXJvIGFuZCBub24taW50ZWdlciBzdGVwCisgICAgICAgIHJhaXNlcygwLCA0MiwgMCkKKyAgICAgICAgcmFpc2VzKDAsIDQyLCAzLjE0MTU5KQorCiAgICAgZGVmIHRlc3RfZ2VucmFuZGJpdHMoc2VsZik6CiAgICAgICAgICMgVmVyaWZ5IHJhbmdlcwogICAgICAgICBmb3IgayBpbiByYW5nZSgxLCAxMDAwKToKQEAgLTI3NCw2ICszMzksMTYgQEAKICAgICAgICAgIyBMYXN0IGVsZW1lbnQgcy9iIGFuIGludCBhbHNvCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5nZW4uc2V0c3RhdGUsICgyLCAoMCwpKjYyNCsoJ2EnLCksIE5vbmUpKQogCisgICAgICAgICMgTGl0dGxlIHRyaWNrIHRvIG1ha2UgInR1cGxlKHggJSAoMioqMzIpIGZvciB4IGluIGludGVybmFsc3RhdGUpIgorICAgICAgICAjIHJhaXNlIFZhbHVlRXJyb3IuIEkgY2Fubm90IHRoaW5rIG9mIGEgc2ltcGxlIHdheSB0byBhY2hpZXZlIHRoaXMsIHNvCisgICAgICAgICMgSSBhbSBvcHRpbmcgZm9yIHVzaW5nIGEgZ2VuZXJhdG9yIGFzIHRoZSBtaWRkbGUgYXJndW1lbnQgb2Ygc2V0c3RhdGUKKyAgICAgICAgIyB3aGljaCBhdHRlbXB0cyB0byBjYXN0IGEgTmFOIHRvIGludGVnZXIuCisgICAgICAgIHN0YXRlX3ZhbHVlcyA9IHNlbGYuZ2VuLmdldHN0YXRlKClbMV0KKyAgICAgICAgc3RhdGVfdmFsdWVzID0gbGlzdChzdGF0ZV92YWx1ZXMpCisgICAgICAgIHN0YXRlX3ZhbHVlc1stMV0gPSBmbG9hdCgnbmFuJykKKyAgICAgICAgc3RhdGUgPSAoaW50KHgpIGZvciB4IGluIHN0YXRlX3ZhbHVlcykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmdlbi5zZXRzdGF0ZSwgKDIsIHN0YXRlLCBOb25lKSkKKwogICAgIGRlZiB0ZXN0X3JlZmVyZW5jZUltcGxlbWVudGF0aW9uKHNlbGYpOgogICAgICAgICAjIENvbXBhcmUgdGhlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbiB3aXRoIHJlc3VsdHMgZnJvbSB0aGUgb3JpZ2luYWwKICAgICAgICAgIyBjb2RlLiAgQ3JlYXRlIDIwMDAgNTMtYml0IHByZWNpc2lvbiByYW5kb20gZmxvYXRzLiAgQ29tcGFyZSBvbmx5CkBAIC00MTMsNiArNDg4LDM4IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGssIG51bWJpdHMpICAgICAgICAjIG5vdGUgdGhlIHN0cm9uZ2VyIGFzc2VydGlvbgogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKDIqKmsgPiBuID4gMioqKGstMSkpICAgIyBub3RlIHRoZSBzdHJvbmdlciBhc3NlcnRpb24KIAorICAgIEB1bml0dGVzdC5tb2NrLnBhdGNoKCdyYW5kb20uUmFuZG9tLnJhbmRvbScpCisgICAgZGVmIHRlc3RfcmFuZGJlbG93X292ZXJyaWRlbl9yYW5kb20oc2VsZiwgcmFuZG9tX21vY2spOgorICAgICAgICAjIFJhbmRvbS5fcmFuZGJlbG93KCkgY2FuIG9ubHkgdXNlIHJhbmRvbSgpIHdoZW4gdGhlIGJ1aWx0LWluIG9uZQorICAgICAgICAjIGhhcyBiZWVuIG92ZXJyaWRkZW4gYnV0IG5vIG5ldyBnZXRyYW5kYml0cygpIG1ldGhvZCB3YXMgc3VwcGxpZWQuCisgICAgICAgIHJhbmRvbV9tb2NrLnNpZGVfZWZmZWN0ID0gcmFuZG9tLlN5c3RlbVJhbmRvbSgpLnJhbmRvbQorICAgICAgICBtYXhzaXplID0gMTw8cmFuZG9tLkJQRgorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIFVzZXJXYXJuaW5nKQorICAgICAgICAgICAgIyBQb3B1bGF0aW9uIHJhbmdlIHRvbyBsYXJnZSAobiA+PSBtYXhzaXplKQorICAgICAgICAgICAgc2VsZi5nZW4uX3JhbmRiZWxvdyhtYXhzaXplKzEsIG1heHNpemUgPSBtYXhzaXplKQorICAgICAgICBzZWxmLmdlbi5fcmFuZGJlbG93KDU2NDAsIG1heHNpemUgPSBtYXhzaXplKQorCisgICAgICAgICMgVGhpcyBtaWdodCBiZSBnb2luZyB0b28gZmFyIHRvIHRlc3QgYSBzaW5nbGUgbGluZSwgYnV0IGJlY2F1c2Ugb2Ygb3VyCisgICAgICAgICMgbm9ibGUgYWltIG9mIGFjaGlldmluZyAxMDAlIHRlc3QgY292ZXJhZ2Ugd2UgbmVlZCB0byB3cml0ZSBhIGNhc2UgaW4KKyAgICAgICAgIyB3aGljaCB0aGUgZm9sbG93aW5nIGxpbmUgaW4gUmFuZG9tLl9yYW5kYmVsb3coKSBnZXRzIGV4ZWN1dGVkOgorICAgICAgICAjCisgICAgICAgICMgcmVtID0gbWF4c2l6ZSAlIG4KKyAgICAgICAgIyBsaW1pdCA9IChtYXhzaXplIC0gcmVtKSAvIG1heHNpemUKKyAgICAgICAgIyByID0gcmFuZG9tKCkKKyAgICAgICAgIyB3aGlsZSByID49IGxpbWl0OgorICAgICAgICAjICAgICByID0gcmFuZG9tKCkgIyA8PT0gKlRoaXMgbGluZSogPD09PAorICAgICAgICAjCisgICAgICAgICMgVGhlcmVmb3JlLCB0byBndWFyYW50ZWUgdGhhdCB0aGUgd2hpbGUgbG9vcCBpcyBleGVjdXRlZCBhdCBsZWFzdAorICAgICAgICAjIG9uY2UsIHdlIG5lZWQgdG8gbW9jayByYW5kb20oKSBzbyB0aGF0IGl0IHJldHVybnMgYSBudW1iZXIgZ3JlYXRlcgorICAgICAgICAjIHRoYW4gJ2xpbWl0JyB0aGUgZmlyc3QgdGltZSBpdCBnZXRzIGNhbGxlZC4KKworICAgICAgICBuID0gNDIKKyAgICAgICAgZXBzaWxvbiA9IDAuMDEKKyAgICAgICAgbGltaXQgPSAobWF4c2l6ZSAtIChtYXhzaXplICUgbikpIC8gbWF4c2l6ZQorICAgICAgICByYW5kb21fbW9jay5zaWRlX2VmZmVjdCA9IFtsaW1pdCArIGVwc2lsb24sIGxpbWl0IC0gZXBzaWxvbl0KKyAgICAgICAgc2VsZi5nZW4uX3JhbmRiZWxvdyhuLCBtYXhzaXplID0gbWF4c2l6ZSkKKwogICAgIGRlZiB0ZXN0X3JhbmRyYW5nZV9idWdfMTU5MDg5MShzZWxmKToKICAgICAgICAgc3RhcnQgPSAxMDAwMDAwMDAwMDAwCiAgICAgICAgIHN0b3AgPSAtMTAwMDAwMDAwMDAwMDAwMDAwMDAwCkBAIC01MzAsNiArNjM3LDEwNiBAQAogICAgICAgICByYW5kb20udm9ubWlzZXN2YXJpYXRlKDAsIDFlMTUpCiAgICAgICAgIHJhbmRvbS52b25taXNlc3ZhcmlhdGUoMCwgMWUxMDApCiAKKyAgICBkZWYgdGVzdF9nYW1tYXZhcmlhdGVfZXJyb3JzKHNlbGYpOgorICAgICAgICAjIEJvdGggYWxwaGEgYW5kIGJldGEgbXVzdCBiZSA+IDAuMAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCByYW5kb20uZ2FtbWF2YXJpYXRlLCAtMSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcmFuZG9tLmdhbW1hdmFyaWF0ZSwgMCwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcmFuZG9tLmdhbW1hdmFyaWF0ZSwgMiwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcmFuZG9tLmdhbW1hdmFyaWF0ZSwgMSwgLTMpCisKKyAgICBAdW5pdHRlc3QubW9jay5wYXRjaCgncmFuZG9tLlJhbmRvbS5yYW5kb20nKQorICAgIGRlZiB0ZXN0X2dhbW1hdmFyaWF0ZV9mdWxsX2NvZGVfY292ZXJhZ2Uoc2VsZiwgcmFuZG9tX21vY2spOgorICAgICAgICAjIFRoZXJlIGFyZSB0aHJlZSBkaWZmZXJlbnQgcG9zc2liaWxpdGllcyBpbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbgorICAgICAgICAjIG9mIHJhbmRvbS5nYW1tYXZhcmlhdGUoKSwgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiAnYWxwaGEnLiBXaGF0IHdlCisgICAgICAgICMgYXJlIGdvaW5nIHRvIGRvIGhlcmUgaXMgdG8gZml4IHRoZSB2YWx1ZXMgcmV0dXJuZWQgYnkgcmFuZG9tKCkgdG8KKyAgICAgICAgIyBnZW5lcmF0ZSB0ZXN0IGNhc2VzIHRoYXQgcHJvdmlkZSAxMDAlIGxpbmUgY292ZXJhZ2Ugb2YgdGhlIG1ldGhvZC4KKworICAgICAgICAjICMxOiBhbHBoYSA+IDEuMDogd2Ugd2FudCB0aGUgZmlyc3QgcmFuZG9tIG51bWJlciB0byBiZSBvdXRzaWRlIHRoZQorICAgICAgICAjIFsxZS03LCAuOTk5OTk5OV0gcmFuZ2UsIHNvIHRoYXQgdGhlIGNvbnRpbnVlIHN0YXRlbWVudCBleGVjdXRlcworICAgICAgICAjIG9uY2UuIFRoZSB2YWx1ZXMgb2YgdTEgYW5kIHUyIHdpbGwgYmUgMC41IGFuZCAwLjMsIHJlc3BlY3RpdmVseS4KKyAgICAgICAgcmFuZG9tX21vY2suc2lkZV9lZmZlY3QgPSBbMWUtOCwgMC41LCAwLjNdCisgICAgICAgIHJldHVybmVkX3ZhbHVlID0gcmFuZG9tLmdhbW1hdmFyaWF0ZSgxLjEsIDIuMykKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChyZXR1cm5lZF92YWx1ZSwgMi41MykKKworICAgICAgICAjICMyOiBhbHBoYSA9PSAxOiBmaXJzdCByYW5kb20gbnVtYmVyIGxlc3MgdGhhbiAxZS03IHRvIHRoYXQgdGhlIGJvZHkKKyAgICAgICAgIyBvZiB0aGUgd2hpbGUgbG9vcCBleGVjdXRlcyBvbmNlLiBUaGVuIHJhbmRvbS5yYW5kb20oKSByZXR1cm5zIDAuNDUsCisgICAgICAgICMgd2hpY2ggY2F1c2VzIHdoaWxlIHRvIHN0b3AgbG9vcGluZyBhbmQgdGhlIGFsZ29yaXRobSB0byB0ZXJtaW5hdGUuCisgICAgICAgIHJhbmRvbV9tb2NrLnNpZGVfZWZmZWN0ID0gWzFlLTgsIDAuNDVdCisgICAgICAgIHJldHVybmVkX3ZhbHVlID0gcmFuZG9tLmdhbW1hdmFyaWF0ZSgxLjAsIDMuMTQpCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwocmV0dXJuZWRfdmFsdWUsIDIuNTA3MzE0MTY2MTIzODAzKQorCisgICAgICAgICMgIzM6IDAgPCBhbHBoYSA8IDEuIFRoaXMgaXMgdGhlIG1vc3QgY29tcGxleCByZWdpb24gb2YgY29kZSB0byBjb3ZlciwKKyAgICAgICAgIyBhcyB0aGVyZSBhcmUgbXVsdGlwbGUgaWYtZWxzZSBzdGF0ZW1lbnRzLiBMZXQncyB0YWtlIGEgbG9vayBhdCB0aGUKKyAgICAgICAgIyBzb3VyY2UgY29kZSwgYW5kIGRldGVybWluZSB0aGUgdmFsdWVzIHRoYXQgd2UgbmVlZCBhY2NvcmRpbmdseToKKyAgICAgICAgIworICAgICAgICAjIHdoaWxlIDE6CisgICAgICAgICMgICAgIHUgPSByYW5kb20oKQorICAgICAgICAjICAgICBiID0gKF9lICsgYWxwaGEpL19lCisgICAgICAgICMgICAgIHAgPSBiKnUKKyAgICAgICAgIyAgICAgaWYgcCA8PSAxLjA6ICMgPD09PSAoQSkKKyAgICAgICAgIyAgICAgICAgIHggPSBwICoqICgxLjAvYWxwaGEpCisgICAgICAgICMgICAgIGVsc2U6ICMgPD09PSAoQikKKyAgICAgICAgIyAgICAgICAgIHggPSAtX2xvZygoYi1wKS9hbHBoYSkKKyAgICAgICAgIyAgICAgdTEgPSByYW5kb20oKQorICAgICAgICAjICAgICBpZiBwID4gMS4wOiAjIDw9PT0gKEMpCisgICAgICAgICMgICAgICAgICBpZiB1MSA8PSB4ICoqIChhbHBoYSAtIDEuMCk6ICMgPD09PSAoRCkKKyAgICAgICAgIyAgICAgICAgICAgICBicmVhaworICAgICAgICAjICAgICBlbGlmIHUxIDw9IF9leHAoLXgpOiAjIDw9PT0gKEUpCisgICAgICAgICMgICAgICAgICBicmVhaworICAgICAgICAjIHJldHVybiB4ICogYmV0YQorICAgICAgICAjCisgICAgICAgICMgRmlyc3QsIHdlIHdhbnQgKEEpIHRvIGJlIFRydWUuIEZvciB0aGF0IHdlIG5lZWQgdGhhdDoKKyAgICAgICAgIyBiKnJhbmRvbSgpIDw9IDEuMAorICAgICAgICAjIHIxID0gcmFuZG9tKCkgPD0gMS4wIC8gYgorICAgICAgICAjCisgICAgICAgICMgV2Ugbm93IGdldCB0byB0aGUgc2Vjb25kIGlmLWVsc2UgYnJhbmNoLCBhbmQgaGVyZSwgc2luY2UgcCA8PSAxLjAsCisgICAgICAgICMgKEMpIGlzIEZhbHNlIGFuZCB3ZSB0YWtlIHRoZSBlbGlmIGJyYW5jaCwgKEUpLiBGb3IgaXQgdG8gYmUgVHJ1ZSwKKyAgICAgICAgIyBzbyB0aGF0IHRoZSBicmVhayBpcyBleGVjdXRlZCwgd2UgbmVlZCB0aGF0OgorICAgICAgICAjIHIyID0gcmFuZG9tKCkgPD0gX2V4cCgteCkKKyAgICAgICAgIyByMiA8PSBfZXhwKC0ocCAqKiAoMS4wL2FscGhhKSkpCisgICAgICAgICMgcjIgPD0gX2V4cCgtKChiKnIxKSAqKiAoMS4wL2FscGhhKSkpCisKKyAgICAgICAgX2UgPSByYW5kb20uX2UKKyAgICAgICAgX2V4cCA9IHJhbmRvbS5fZXhwCisgICAgICAgIF9sb2cgPSByYW5kb20uX2xvZworICAgICAgICBhbHBoYSA9IDAuMzUKKyAgICAgICAgYmV0YSA9IDEuNDUKKyAgICAgICAgYiA9IChfZSArIGFscGhhKS9fZQorICAgICAgICBlcHNpbG9uID0gMC4wMQorCisgICAgICAgIHIxID0gMC44ODU5Mjk2NDQxNTY2ICMgMS4wIC8gYgorICAgICAgICByMiA9IDAuMzY3ODc5NDQxMTcxNCAjIF9leHAoLSgoYipyMSkgKiogKDEuMC9hbHBoYSkpKQorCisgICAgICAgICMgVGhlc2UgZm91ciAicmFuZG9tIiB2YWx1ZXMgcmVzdWx0IGluIHRoZSBmb2xsb3dpbmcgdHJhY2U6CisgICAgICAgICMgKEEpIFRydWUsIChFKSBGYWxzZSAtLT4gW25leHQgaXRlcmF0aW9uIG9mIHdoaWxlXQorICAgICAgICAjIChBKSBUcnVlLCAoRSkgVHJ1ZSAtLT4gW3doaWxlIGxvb3AgYnJlYWtzXQorICAgICAgICByYW5kb21fbW9jay5zaWRlX2VmZmVjdCA9IFtyMSwgcjIgKyBlcHNpbG9uLCByMSwgcjJdCisgICAgICAgIHJldHVybmVkX3ZhbHVlID0gcmFuZG9tLmdhbW1hdmFyaWF0ZShhbHBoYSwgYmV0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChyZXR1cm5lZF92YWx1ZSwgMS40NDk5OTk5OTk5OTk3NTQ0KQorCisgICAgICAgICMgTGV0J3Mgbm93IG1ha2UgKEEpIGJlIEZhbHNlLiBJZiB0aGlzIGlzIHRoZSBjYXNlLCB3aGVuIHdlIGdldCB0byB0aGUKKyAgICAgICAgIyBzZWNvbmQgaWYtZWxzZSAncCcgaXMgZ3JlYXRlciB0aGFuIDEsIHNvIChDKSBldmFsdWF0ZXMgdG8gVHJ1ZS4gV2UKKyAgICAgICAgIyBub3cgZW5jb3VudGVyIGEgc2Vjb25kIGlmIHN0YXRlbWVudCwgKEQpLCB3aGljaCBpbiBvcmRlciB0byBleGVjdXRlCisgICAgICAgICMgbXVzdCBzYXRpc2Z5IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uOgorICAgICAgICAjIHIyIDw9IHggKiogKGFscGhhIC0gMS4wKQorICAgICAgICAjIHIyIDw9ICgtX2xvZygoYi1wKS9hbHBoYSkpICoqIChhbHBoYSAtIDEuMCkKKyAgICAgICAgIyByMiA8PSAoLV9sb2coKGItKGIqcjEpKS9hbHBoYSkpICoqIChhbHBoYSAtIDEuMCkKKyAgICAgICAgcjEgPSAwLjg5NTkyOTY0NDE1NjYgIyAoMS4wIC8gYikgKyBlcHNpbG9uIC0tIHNvIHRoYXQgKEEpIGlzIEZhbHNlCisgICAgICAgIHIyID0gMC45NDQ1NDAwNDA4ODk4MTQxCisKKyAgICAgICAgIyBBbmQgdGhlc2UgZm91ciB2YWx1ZXMgcmVzdWx0IGluIHRoZSBmb2xsb3dpbmcgdHJhY2U6CisgICAgICAgICMgKEIpIGFuZCAoQykgVHJ1ZSwgKEQpIEZhbHNlIC0tPiBbbmV4dCBpdGVyYXRpb24gb2Ygd2hpbGVdCisgICAgICAgICMgKEIpIGFuZCAoQykgVHJ1ZSwgKEQpIFRydWUgW3doaWxlIGxvb3AgYnJlYWtzXQorICAgICAgICByYW5kb21fbW9jay5zaWRlX2VmZmVjdCA9IFtyMSwgcjIgKyBlcHNpbG9uLCByMSwgcjJdCisgICAgICAgIHJldHVybmVkX3ZhbHVlID0gcmFuZG9tLmdhbW1hdmFyaWF0ZShhbHBoYSwgYmV0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChyZXR1cm5lZF92YWx1ZSwgMS41ODMwMzQ5NTYxNzYwNzgxKQorCisgICAgQHVuaXR0ZXN0Lm1vY2sucGF0Y2goJ3JhbmRvbS5SYW5kb20uZ2FtbWF2YXJpYXRlJykKKyAgICBkZWYgdGVzdF9iZXRhdmFyaWF0ZV9yZXR1cm5femVybyhzZWxmLCBnYW1tYXZhcmlhdGVfbW9jayk6CisgICAgICAgICMgYmV0YXZhcmlhdGUoKSByZXR1cm5zIHplcm8gd2hlbiB0aGUgR2FtbWEgZGlzdHJpYnV0aW9uCisgICAgICAgICMgdGhhdCBpdCB1c2VzIGludGVybmFsbHkgcmV0dXJucyB0aGlzIHNhbWUgdmFsdWUuCisgICAgICAgIGdhbW1hdmFyaWF0ZV9tb2NrLnJldHVybl92YWx1ZSA9IDAuMAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDAuMCwgcmFuZG9tLmJldGF2YXJpYXRlKDIuNzE4MjgsIDMuMTQxNTkpKQogCiBjbGFzcyBUZXN0TW9kdWxlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdE1hZ2ljQ29uc3RhbnRzKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yYW5nZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmFuZ2UucHkKaW5kZXggMmExM2JmZS4uZjA4ODM4NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yYW5nZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JhbmdlLnB5CkBAIC0zMTMsNyArMzEzLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCByYW5nZSwgSU4oKSkKIAogICAgICAgICAjIFRlc3QgdXNlIG9mIHVzZXItZGVmaW5lZCBjbGFzc2VzIGluIHNsaWNlIGluZGljZXMuCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChyYW5nZSgxMClbOkkoNSldKSwgbGlzdChyYW5nZSg1KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmFuZ2UoMTApWzpJKDUpXSwgcmFuZ2UoNSkpCiAKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpOgogICAgICAgICAgICAgcmFuZ2UoMCwgMTApWzpJWCgpXQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZWdydGVzdC5weSBiL0xpYi90ZXN0L3Rlc3RfcmVncnRlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWI5NzJjYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfcmVncnRlc3QucHkKQEAgLTAsMCArMSwxMDAgQEAKKyIiIgorVGVzdHMgb2YgcmVncnRlc3QucHkuCisiIiIKKworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgZ2V0b3B0CitpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdGVzdCBpbXBvcnQgcmVncnRlc3QsIHN1cHBvcnQKKworZGVmIG9sZF9wYXJzZV9hcmdzKGFyZ3MpOgorICAgICIiIlBhcnNlIGFyZ3VtZW50cyBhcyByZWdydGVzdCBkaWQgc3RyaWN0bHkgcHJpb3IgdG8gMy40LgorCisgICAgUmFpc2VzIGdldG9wdC5HZXRvcHRFcnJvciBvbiBiYWQgYXJndW1lbnRzLgorICAgICIiIgorICAgIHJldHVybiBnZXRvcHQuZ2V0b3B0KGFyZ3MsICdodnF4c29TOnJmOmx1OnQ6VEQ6TkxSOkZkd1dNOm5qOkdtOicsCisgICAgICAgIFsnaGVscCcsICd2ZXJib3NlJywgJ3ZlcmJvc2UyJywgJ3ZlcmJvc2UzJywgJ3F1aWV0JywKKyAgICAgICAgICdleGNsdWRlJywgJ3NpbmdsZScsICdzbG93JywgJ3JhbmRvbWl6ZScsICdmcm9tZmlsZT0nLCAnZmluZGxlYWtzJywKKyAgICAgICAgICd1c2U9JywgJ3RocmVzaG9sZD0nLCAnY292ZXJkaXI9JywgJ25vY292ZXJkaXInLAorICAgICAgICAgJ3J1bmxlYWtzJywgJ2h1bnRybGVha3M9JywgJ21lbWxpbWl0PScsICdyYW5kc2VlZD0nLAorICAgICAgICAgJ211bHRpcHJvY2Vzcz0nLCAnY292ZXJhZ2UnLCAnc2xhdmVhcmdzPScsICdmb3JldmVyJywgJ2RlYnVnJywKKyAgICAgICAgICdzdGFydD0nLCAnbm93aW5kb3dzJywgJ2hlYWRlcicsICd0ZXN0ZGlyPScsICd0aW1lb3V0PScsICd3YWl0JywKKyAgICAgICAgICdmYWlsZmFzdCcsICdtYXRjaD0nXSkKKworY2xhc3MgUGFyc2VBcmdzVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgIiIiVGVzdCB0aGF0IHJlZ3J0ZXN0J3MgcGFyc2luZyBjb2RlIG1hdGNoZXMgdGhlIHByaW9yIGdldG9wdCBiZWhhdmlvci4iIiIKKworICAgIGRlZiBfcGFyc2VfYXJncyhzZWxmLCBhcmdzKToKKyAgICAgICAgIyBUaGlzIGlzIHRoZSBzYW1lIGxvZ2ljIGFzIHRoYXQgdXNlZCBpbiByZWdydGVzdC5tYWluKCkKKyAgICAgICAgcGFyc2VyID0gcmVncnRlc3QuX2NyZWF0ZV9wYXJzZXIoKQorICAgICAgICBucyA9IHBhcnNlci5wYXJzZV9hcmdzKGFyZ3M9YXJncykKKyAgICAgICAgb3B0cyA9IHJlZ3J0ZXN0Ll9jb252ZXJ0X25hbWVzcGFjZV90b19nZXRvcHQobnMpCisgICAgICAgIHJldHVybiBvcHRzLCBucy5hcmdzCisKKyAgICBkZWYgX2NoZWNrX2FyZ3Moc2VsZiwgYXJncywgZXhwZWN0ZWQ9Tm9uZSk6CisgICAgICAgICIiIgorICAgICAgICBUaGUgZXhwZWN0ZWQgcGFyYW1ldGVyIGlzIGZvciBjYXNlcyB3aGVuIHRoZSBiZWhhdmlvciBvZiB0aGUgbmV3CisgICAgICAgIHBhcnNlX2FyZ3MgZGlmZmVycyBmcm9tIHRoZSBvbGQgKGJ1dCBkZWxpYmVyYXRlbHkgc28pLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgZXhwZWN0ZWQgaXMgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBleHBlY3RlZCA9IG9sZF9wYXJzZV9hcmdzKGFyZ3MpCisgICAgICAgICAgICBleGNlcHQgZ2V0b3B0LkdldG9wdEVycm9yOgorICAgICAgICAgICAgICAgICMgU3VwcHJlc3MgdXNhZ2Ugc3RyaW5nIG91dHB1dCB3aGVuIGFuIGFyZ3BhcnNlLkFyZ3VtZW50RXJyb3IKKyAgICAgICAgICAgICAgICAjIGVycm9yIGlzIHJhaXNlZC4KKyAgICAgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN5c3RlbUV4aXQsIHNlbGYuX3BhcnNlX2FyZ3MsIGFyZ3MpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICMgVGhlIG5ldyBwYXJzZV9hcmdzKCkgc29ydHMgYnkgbG9uZyBvcHRpb24gc3RyaW5nLgorICAgICAgICBleHBlY3RlZFswXS5zb3J0KCkKKyAgICAgICAgYWN0dWFsID0gc2VsZi5fcGFyc2VfYXJncyhhcmdzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbCwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF91bnJlY29nbml6ZWRfYXJndW1lbnQoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLXh4eCddKQorCisgICAgZGVmIHRlc3RfdmFsdWVfbm90X3Byb3ZpZGVkKHNlbGYpOgorICAgICAgICBzZWxmLl9jaGVja19hcmdzKFsnLS1zdGFydCddKQorCisgICAgZGVmIHRlc3Rfc2hvcnRfb3B0aW9uKHNlbGYpOgorICAgICAgICAjIGdldG9wdCByZXR1cm5zIHRoZSBzaG9ydCBvcHRpb24gd2hlcmVhcyBhcmdwYXJzZSByZXR1cm5zIHRoZSBsb25nLgorICAgICAgICBleHBlY3RlZCA9IChbKCctLXF1aWV0JywgJycpXSwgW10pCisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctcSddLCBleHBlY3RlZD1leHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X2xvbmdfb3B0aW9uKHNlbGYpOgorICAgICAgICBzZWxmLl9jaGVja19hcmdzKFsnLS1xdWlldCddKQorCisgICAgZGVmIHRlc3RfbG9uZ19vcHRpb25fX3BhcnRpYWwoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLXF1aSddKQorCisgICAgZGVmIHRlc3RfdHdvX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLXF1aWV0JywgJy0tZXhjbHVkZSddKQorCisgICAgZGVmIHRlc3Rfb3B0aW9uX3dpdGhfdmFsdWUoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLXN0YXJ0JywgJ2ZvbyddKQorCisgICAgZGVmIHRlc3Rfb3B0aW9uX3dpdGhfZW1wdHlfc3RyaW5nX3ZhbHVlKHNlbGYpOgorICAgICAgICBzZWxmLl9jaGVja19hcmdzKFsnLS1zdGFydCcsICcnXSkKKworICAgIGRlZiB0ZXN0X2FyZyhzZWxmKToKKyAgICAgICAgc2VsZi5fY2hlY2tfYXJncyhbJ2ZvbyddKQorCisgICAgZGVmIHRlc3Rfb3B0aW9uX2FuZF9hcmcoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLXF1aWV0JywgJ2ZvbyddKQorCisgICAgZGVmIHRlc3RfZnJvbWZpbGUoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLWZyb21maWxlJywgJ2ZpbGUnXSkKKworICAgIGRlZiB0ZXN0X21hdGNoKHNlbGYpOgorICAgICAgICBzZWxmLl9jaGVja19hcmdzKFsnLS1tYXRjaCcsICdwYXR0ZXJuJ10pCisKKyAgICBkZWYgdGVzdF9yYW5kb21pemUoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3MoWyctLXJhbmRvbWl6ZSddKQorCisKK2RlZiB0ZXN0X21haW4oKToKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChfX25hbWVfXykKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yZXNvdXJjZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmVzb3VyY2UucHkKaW5kZXggZjM0MTZiNy4uYmIzZmYyNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yZXNvdXJjZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3Jlc291cmNlLnB5CkBAIC02MSw3ICs2MSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg1KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKC4xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYuZmx1c2goKQotICAgICAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgbGltaXRfc2V0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgICAgIGlmIGxpbWl0X3NldDoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2VsZWN0LnB5IGIvTGliL3Rlc3QvdGVzdF9zZWxlY3QucHkKaW5kZXggZGRiOWEwZi4uOGY5YTFjOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zZWxlY3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zZWxlY3QucHkKQEAgLTUsNyArNSw3IEBACiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogCi1AdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybVs6M10gaW4gKCd3aW4nLCAnb3MyJywgJ3Jpc2NvcycpLAorQHVuaXR0ZXN0LnNraXBJZigoc3lzLnBsYXRmb3JtWzozXT09J3dpbicpLAogICAgICAgICAgICAgICAgICAiY2FuJ3QgZWFzaWx5IHRlc3Qgb24gdGhpcyBzeXN0ZW0iKQogY2xhc3MgU2VsZWN0VGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC0zMiw3ICszMiw3IEBACiAgICAgICAgICAgICBmcC5jbG9zZSgpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbZmRdLCBbXSwgW10sIDApCi0gICAgICAgICAgICBleGNlcHQgc2VsZWN0LmVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5lcnJubywgZXJybm8uRUJBREYpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhjZXB0aW9uIG5vdCByYWlzZWQiKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zZXQucHkgYi9MaWIvdGVzdC90ZXN0X3NldC5weQppbmRleCA4Zjg2MTU2Li5mOGM3MTgwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NldC5weQpAQCAtODQ4LDggKzg0OCw2IEBACiAgICAgICAgIGZvciB2IGluIHNlbGYuc2V0OgogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih2LCBzZWxmLnZhbHVlcykKICAgICAgICAgc2V0aXRlciA9IGl0ZXIoc2VsZi5zZXQpCi0gICAgICAgICMgbm90ZTogX19sZW5ndGhfaGludF9fIGlzIGFuIGludGVybmFsIHVuZG9jdW1lbnRlZCBBUEksCi0gICAgICAgICMgZG9uJ3QgcmVseSBvbiBpdCBpbiB5b3VyIG93biBwcm9ncmFtcwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldGl0ZXIuX19sZW5ndGhfaGludF9fKCksIGxlbihzZWxmLnNldCkpCiAKICAgICBkZWYgdGVzdF9waWNrbGluZyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2hlbHZlLnB5IGIvTGliL3Rlc3QvdGVzdF9zaGVsdmUucHkKaW5kZXggMTNjMTI2NS4uYmQ1MWQ4NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zaGVsdmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zaGVsdmUucHkKQEAgLTE0OCw2ICsxNDgsMTkgQEAKICAgICAgICAgcDIgPSBkW2VuY29kZWRrZXldCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwocDEsIHAyKSAgIyBXcml0ZSBjcmVhdGVzIG5ldyBvYmplY3QgaW4gc3RvcmUKIAorICAgIGRlZiB0ZXN0X3dpdGgoc2VsZik6CisgICAgICAgIGQxID0ge30KKyAgICAgICAgd2l0aCBzaGVsdmUuU2hlbGYoZDEsIHByb3RvY29sPTIsIHdyaXRlYmFjaz1GYWxzZSkgYXMgczoKKyAgICAgICAgICAgIHNbJ2tleTEnXSA9IFsxLDIsMyw0XQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWydrZXkxJ10sIFsxLDIsMyw0XSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBsZW4sIHMpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNbJ2tleTEnXQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnQ2xvc2VkIHNoZWxmIHNob3VsZCBub3QgZmluZCBhIGtleScpCiAKIGZyb20gdGVzdCBpbXBvcnQgbWFwcGluZ190ZXN0cwogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NodXRpbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CmluZGV4IDMwOGY0ZjIuLjdmODg1MDAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CkBAIC0xOCw3ICsxOCw4IEBACiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyX2FyY2hpdmVfZm9ybWF0LCB1bnJlZ2lzdGVyX2FyY2hpdmVfZm9ybWF0LAogICAgICAgICAgICAgICAgICAgICBnZXRfYXJjaGl2ZV9mb3JtYXRzLCBFcnJvciwgdW5wYWNrX2FyY2hpdmUsCiAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyX3VucGFja19mb3JtYXQsIFJlZ2lzdHJ5RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgIHVucmVnaXN0ZXJfdW5wYWNrX2Zvcm1hdCwgZ2V0X3VucGFja19mb3JtYXRzKQorICAgICAgICAgICAgICAgICAgICB1bnJlZ2lzdGVyX3VucGFja19mb3JtYXQsIGdldF91bnBhY2tfZm9ybWF0cywKKyAgICAgICAgICAgICAgICAgICAgU2FtZUZpbGVFcnJvcikKIGltcG9ydCB0YXJmaWxlCiBpbXBvcnQgd2FybmluZ3MKIApAQCAtNzM5LDcgKzc0MCw3IEBACiAgICAgICAgICAgICB3aXRoIG9wZW4oc3JjLCAndycpIGFzIGY6CiAgICAgICAgICAgICAgICAgZi53cml0ZSgnY2hlZGRhcicpCiAgICAgICAgICAgICBvcy5saW5rKHNyYywgZHN0KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc2h1dGlsLkVycm9yLCBzaHV0aWwuY29weWZpbGUsIHNyYywgZHN0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc2h1dGlsLlNhbWVGaWxlRXJyb3IsIHNodXRpbC5jb3B5ZmlsZSwgc3JjLCBkc3QpCiAgICAgICAgICAgICB3aXRoIG9wZW4oc3JjLCAncicpIGFzIGY6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgJ2NoZWRkYXInKQogICAgICAgICAgICAgb3MucmVtb3ZlKGRzdCkKQEAgLTc1OSw3ICs3NjAsNyBAQAogICAgICAgICAgICAgIyB0byBURVNURk4vVEVTVEZOL2NoZWVzZSwgd2hpbGUgaXQgc2hvdWxkIHBvaW50IGF0CiAgICAgICAgICAgICAjIFRFU1RGTi9jaGVlc2UuCiAgICAgICAgICAgICBvcy5zeW1saW5rKCdjaGVlc2UnLCBkc3QpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzaHV0aWwuRXJyb3IsIHNodXRpbC5jb3B5ZmlsZSwgc3JjLCBkc3QpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzaHV0aWwuU2FtZUZpbGVFcnJvciwgc2h1dGlsLmNvcHlmaWxlLCBzcmMsIGRzdCkKICAgICAgICAgICAgIHdpdGggb3BlbihzcmMsICdyJykgYXMgZjoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCAnY2hlZGRhcicpCiAgICAgICAgICAgICBvcy5yZW1vdmUoZHN0KQpAQCAtMTI2Niw2ICsxMjY3LDE2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhydikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVhZF9maWxlKHNyY19maWxlKSwgcmVhZF9maWxlKGRzdF9maWxlKSkKIAorICAgIGRlZiB0ZXN0X2NvcHlmaWxlX3NhbWVfZmlsZShzZWxmKToKKyAgICAgICAgIyBjb3B5ZmlsZSgpIHNob3VsZCByYWlzZSBTYW1lRmlsZUVycm9yIGlmIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uCisgICAgICAgICMgYXJlIHRoZSBzYW1lLgorICAgICAgICBzcmNfZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc3JjX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ2ZvbycpCisgICAgICAgIHdyaXRlX2ZpbGUoc3JjX2ZpbGUsICdmb28nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTYW1lRmlsZUVycm9yLCBzaHV0aWwuY29weWZpbGUsIHNyY19maWxlLCBzcmNfZmlsZSkKKyAgICAgICAgIyBCdXQgRXJyb3Igc2hvdWxkIHdvcmsgdG9vLCB0byBzdGF5IGJhY2t3YXJkIGNvbXBhdGlibGUuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEVycm9yLCBzaHV0aWwuY29weWZpbGUsIHNyY19maWxlLCBzcmNfZmlsZSkKKwogICAgIGRlZiB0ZXN0X2NvcHl0cmVlX3JldHVybl92YWx1ZShzZWxmKToKICAgICAgICAgIyBjb3B5dHJlZSByZXR1cm5zIGl0cyBkZXN0aW5hdGlvbiBwYXRoLgogICAgICAgICBzcmNfZGlyID0gc2VsZi5ta2R0ZW1wKCkKQEAgLTE1NTcsNyArMTU2OCw3IEBACiAgICAgICAgICAgICBzZWxmLl9leGl0ZWRfd2l0aCA9IGV4Y190eXBlLCBleGNfdmFsLCBleGNfdGIKICAgICAgICAgICAgIGlmIHNlbGYuX3JhaXNlX2luX2V4aXQ6CiAgICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VkID0gVHJ1ZQotICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoIkNhbm5vdCBjbG9zZSIpCisgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcigiQ2Fubm90IGNsb3NlIikKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9zdXBwcmVzc19hdF9leGl0CiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CkBAIC0xNTcxLDEyICsxNTgyLDEyIEBACiAgICAgZGVmIHRlc3Rfd19zb3VyY2Vfb3Blbl9mYWlscyhzZWxmKToKICAgICAgICAgZGVmIF9vcGVuKGZpbGVuYW1lLCBtb2RlPSdyJyk6CiAgICAgICAgICAgICBpZiBmaWxlbmFtZSA9PSAnc3JjZmlsZSc6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignQ2Fubm90IG9wZW4gInNyY2ZpbGUiJykKKyAgICAgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCdDYW5ub3Qgb3BlbiAic3JjZmlsZSInKQogICAgICAgICAgICAgYXNzZXJ0IDAgICMgc2hvdWxkbid0IHJlYWNoIGhlcmUuCiAKICAgICAgICAgc2VsZi5fc2V0X3NodXRpbF9vcGVuKF9vcGVuKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIHNodXRpbC5jb3B5ZmlsZSwgJ3NyY2ZpbGUnLCAnZGVzdGZpbGUnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzaHV0aWwuY29weWZpbGUsICdzcmNmaWxlJywgJ2Rlc3RmaWxlJykKIAogICAgIGRlZiB0ZXN0X3dfZGVzdF9vcGVuX2ZhaWxzKHNlbGYpOgogCkBAIC0xNTg2LDE0ICsxNTk3LDE0IEBACiAgICAgICAgICAgICBpZiBmaWxlbmFtZSA9PSAnc3JjZmlsZSc6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHNyY2ZpbGUKICAgICAgICAgICAgIGlmIGZpbGVuYW1lID09ICdkZXN0ZmlsZSc6Ci0gICAgICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignQ2Fubm90IG9wZW4gImRlc3RmaWxlIicpCisgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignQ2Fubm90IG9wZW4gImRlc3RmaWxlIicpCiAgICAgICAgICAgICBhc3NlcnQgMCAgIyBzaG91bGRuJ3QgcmVhY2ggaGVyZS4KIAogICAgICAgICBzZWxmLl9zZXRfc2h1dGlsX29wZW4oX29wZW4pCiAKICAgICAgICAgc2h1dGlsLmNvcHlmaWxlKCdzcmNmaWxlJywgJ2Rlc3RmaWxlJykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNyY2ZpbGUuX2VudGVyZWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzcmNmaWxlLl9leGl0ZWRfd2l0aFswXSBpcyBJT0Vycm9yKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc3JjZmlsZS5fZXhpdGVkX3dpdGhbMF0gaXMgT1NFcnJvcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcmNmaWxlLl9leGl0ZWRfd2l0aFsxXS5hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICgnQ2Fubm90IG9wZW4gImRlc3RmaWxlIicsKSkKIApAQCAtMTYxNSw3ICsxNjI2LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNyY2ZpbGUuX2VudGVyZWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkZXN0ZmlsZS5fZW50ZXJlZCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRlc3RmaWxlLl9yYWlzZWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzcmNmaWxlLl9leGl0ZWRfd2l0aFswXSBpcyBJT0Vycm9yKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc3JjZmlsZS5fZXhpdGVkX3dpdGhbMF0gaXMgT1NFcnJvcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcmNmaWxlLl9leGl0ZWRfd2l0aFsxXS5hcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICgnQ2Fubm90IGNsb3NlJywpKQogCkBAIC0xNjMzLDcgKzE2NDQsNyBAQAogCiAgICAgICAgIHNlbGYuX3NldF9zaHV0aWxfb3Blbihfb3BlbikKIAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaHV0aWwuY29weWZpbGUsICdzcmNmaWxlJywgJ2Rlc3RmaWxlJykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNyY2ZpbGUuX2VudGVyZWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkZXN0ZmlsZS5fZW50ZXJlZCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2lnbmFsLnB5IGIvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkKaW5kZXggOTkyNDNkZi4uM2QyNTBlMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkKQEAgLTE1LDkgKzE1LDYgQEAKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICB0aHJlYWRpbmcgPSBOb25lCiAKLWlmIHN5cy5wbGF0Zm9ybSBpbiAoJ29zMicsICdyaXNjb3MnKToKLSAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgiQ2FuJ3QgdGVzdCBzaWduYWwgb24gJXMiICUgc3lzLnBsYXRmb3JtKQotCiAKIGNsYXNzIEhhbmRsZXJCQ2FsbGVkKEV4Y2VwdGlvbik6CiAgICAgcGFzcwpAQCAtMzYsNyArMzMsNyBAQAogZGVmIGlnbm9yaW5nX2VpbnRyKF9fZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKICAgICB0cnk6CiAgICAgICAgIHJldHVybiBfX2Z1bmMoKmFyZ3MsICoqa3dhcmdzKQotICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGU6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FSU5UUjoKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIHJldHVybiBOb25lCkBAIC0zMDksMTAgKzMwNiwxMCBAQAogICAgICAgICAgICAgIyBXZSBhdHRlbXB0IHRvIGdldCBhIHNpZ25hbCBkdXJpbmcgdGhlIHNlbGVjdCBjYWxsCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbcmVhZF0sIFtdLCBbXSwgVElNRU9VVF9GVUxMKQotICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJzZWxlY3QuZXJyb3Igbm90IHJhaXNlZCIpCisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJPU0Vycm9yIG5vdCByYWlzZWQiKQogICAgICAgICAgICAgYWZ0ZXJfdGltZSA9IHRpbWUudGltZSgpCiAgICAgICAgICAgICBkdCA9IGFmdGVyX3RpbWUgLSBiZWZvcmVfdGltZQogICAgICAgICAgICAgaWYgZHQgPj0gVElNRU9VVF9IQUxGOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaXRlLnB5IGIvTGliL3Rlc3QvdGVzdF9zaXRlLnB5CmluZGV4IDI5Mjg2YzcuLjljNzg0MGYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2l0ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NpdGUucHkKQEAgLTIyMiwxMSArMjIyLDcgQEAKICAgICAgICAgc2l0ZS5QUkVGSVhFUyA9IFsneG94byddCiAgICAgICAgIGRpcnMgPSBzaXRlLmdldHNpdGVwYWNrYWdlcygpCiAKLSAgICAgICAgaWYgc3lzLnBsYXRmb3JtIGluICgnb3MyZW14JywgJ3Jpc2NvcycpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGlycyksIDEpCi0gICAgICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oJ3hveG8nLCAnTGliJywgJ3NpdGUtcGFja2FnZXMnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXJzWzBdLCB3YW50ZWQpCi0gICAgICAgIGVsaWYgKHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIiBhbmQKKyAgICAgICAgaWYgKHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIiBhbmQKICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiUFlUSE9ORlJBTUVXT1JLIikpOgogICAgICAgICAgICAgIyBPUyBYIGZyYW1ld29yayBidWlsZHMKICAgICAgICAgICAgIHNpdGUuUFJFRklYRVMgPSBbJ1B5dGhvbi5mcmFtZXdvcmsnXQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zbGljZS5weSBiL0xpYi90ZXN0L3Rlc3Rfc2xpY2UucHkKaW5kZXggMmRmOTI3MS4uOTIwM2Q1ZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zbGljZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NsaWNlLnB5CkBAIC00LDggKzQsNzAgQEAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSBwaWNrbGUgaW1wb3J0IGxvYWRzLCBkdW1wcwogCitpbXBvcnQgaXRlcnRvb2xzCitpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCBzeXMKIAorCitkZWYgZXZhbHVhdGVfc2xpY2VfaW5kZXgoYXJnKToKKyAgICAiIiIKKyAgICBIZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBhIHNsaWNlIGFyZ3VtZW50IHRvIGFuIGludGVnZXIsIGFuZCByYWlzZQorICAgIFR5cGVFcnJvciB3aXRoIGEgc3VpdGFibGUgbWVzc2FnZSBvbiBmYWlsdXJlLgorCisgICAgIiIiCisgICAgaWYgaGFzYXR0cihhcmcsICdfX2luZGV4X18nKToKKyAgICAgICAgcmV0dXJuIG9wZXJhdG9yLmluZGV4KGFyZykKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAic2xpY2UgaW5kaWNlcyBtdXN0IGJlIGludGVnZXJzIG9yICIKKyAgICAgICAgICAgICJOb25lIG9yIGhhdmUgYW4gX19pbmRleF9fIG1ldGhvZCIpCisKK2RlZiBzbGljZV9pbmRpY2VzKHNsaWNlLCBsZW5ndGgpOgorICAgICIiIgorICAgIFJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHNsaWNlLmluZGljZXMgbWV0aG9kLgorCisgICAgIiIiCisgICAgIyBDb21wdXRlIHN0ZXAgYW5kIGxlbmd0aCBhcyBpbnRlZ2Vycy4KKyAgICBsZW5ndGggPSBvcGVyYXRvci5pbmRleChsZW5ndGgpCisgICAgc3RlcCA9IDEgaWYgc2xpY2Uuc3RlcCBpcyBOb25lIGVsc2UgZXZhbHVhdGVfc2xpY2VfaW5kZXgoc2xpY2Uuc3RlcCkKKworICAgICMgUmFpc2UgVmFsdWVFcnJvciBmb3IgbmVnYXRpdmUgbGVuZ3RoIG9yIHplcm8gc3RlcC4KKyAgICBpZiBsZW5ndGggPCAwOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJsZW5ndGggc2hvdWxkIG5vdCBiZSBuZWdhdGl2ZSIpCisgICAgaWYgc3RlcCA9PSAwOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzbGljZSBzdGVwIGNhbm5vdCBiZSB6ZXJvIikKKworICAgICMgRmluZCBsb3dlciBhbmQgdXBwZXIgYm91bmRzIGZvciBzdGFydCBhbmQgc3RvcC4KKyAgICBsb3dlciA9IC0xIGlmIHN0ZXAgPCAwIGVsc2UgMAorICAgIHVwcGVyID0gbGVuZ3RoIC0gMSBpZiBzdGVwIDwgMCBlbHNlIGxlbmd0aAorCisgICAgIyBDb21wdXRlIHN0YXJ0LgorICAgIGlmIHNsaWNlLnN0YXJ0IGlzIE5vbmU6CisgICAgICAgIHN0YXJ0ID0gdXBwZXIgaWYgc3RlcCA8IDAgZWxzZSBsb3dlcgorICAgIGVsc2U6CisgICAgICAgIHN0YXJ0ID0gZXZhbHVhdGVfc2xpY2VfaW5kZXgoc2xpY2Uuc3RhcnQpCisgICAgICAgIHN0YXJ0ID0gbWF4KHN0YXJ0ICsgbGVuZ3RoLCBsb3dlcikgaWYgc3RhcnQgPCAwIGVsc2UgbWluKHN0YXJ0LCB1cHBlcikKKworICAgICMgQ29tcHV0ZSBzdG9wLgorICAgIGlmIHNsaWNlLnN0b3AgaXMgTm9uZToKKyAgICAgICAgc3RvcCA9IGxvd2VyIGlmIHN0ZXAgPCAwIGVsc2UgdXBwZXIKKyAgICBlbHNlOgorICAgICAgICBzdG9wID0gZXZhbHVhdGVfc2xpY2VfaW5kZXgoc2xpY2Uuc3RvcCkKKyAgICAgICAgc3RvcCA9IG1heChzdG9wICsgbGVuZ3RoLCBsb3dlcikgaWYgc3RvcCA8IDAgZWxzZSBtaW4oc3RvcCwgdXBwZXIpCisKKyAgICByZXR1cm4gc3RhcnQsIHN0b3AsIHN0ZXAKKworCisjIENsYXNzIHByb3ZpZGluZyBhbiBfX2luZGV4X18gbWV0aG9kLiAgVXNlZCBmb3IgdGVzdGluZyBzbGljZS5pbmRpY2VzLgorCitjbGFzcyBNeUluZGV4YWJsZShvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CisgICAgICAgIHNlbGYudmFsdWUgPSB2YWx1ZQorCisgICAgZGVmIF9faW5kZXhfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYudmFsdWUKKworCiBjbGFzcyBTbGljZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3RfY29uc3RydWN0b3Ioc2VsZik6CkBAIC03NSw2ICsxMzcsMjIgQEAKICAgICAgICAgcyA9IHNsaWNlKG9iaikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuc3RvcCBpcyBvYmopCiAKKyAgICBkZWYgY2hlY2tfaW5kaWNlcyhzZWxmLCBzbGljZSwgbGVuZ3RoKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgYWN0dWFsID0gc2xpY2UuaW5kaWNlcyhsZW5ndGgpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgYWN0dWFsID0gInZhbHVlZXJyb3IiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGV4cGVjdGVkID0gc2xpY2VfaW5kaWNlcyhzbGljZSwgbGVuZ3RoKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgIGV4cGVjdGVkID0gInZhbHVlZXJyb3IiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsLCBleHBlY3RlZCkKKworICAgICAgICBpZiBsZW5ndGggPj0gMCBhbmQgc2xpY2Uuc3RlcCAhPSAwOgorICAgICAgICAgICAgYWN0dWFsID0gcmFuZ2UoKnNsaWNlLmluZGljZXMobGVuZ3RoKSkKKyAgICAgICAgICAgIGV4cGVjdGVkID0gcmFuZ2UobGVuZ3RoKVtzbGljZV0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsLCBleHBlY3RlZCkKKwogICAgIGRlZiB0ZXN0X2luZGljZXMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2xpY2UoTm9uZSAgICAgICAgICAgKS5pbmRpY2VzKDEwKSwgKDAsIDEwLCAgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2xpY2UoTm9uZSwgIE5vbmUsICAyKS5pbmRpY2VzKDEwKSwgKDAsIDEwLCAgMikpCkBAIC0xMDgsNyArMTg2LDQxIEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHJhbmdlKDEwKSlbOjpzeXMubWF4c2l6ZSAtIDFdLCBbMF0pCiAKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgc2xpY2UoTm9uZSkuaW5kaWNlcywgMTw8MTAwKQorICAgICAgICAjIENoZWNrIGEgdmFyaWV0eSBvZiBzdGFydCwgc3RvcCwgc3RlcCBhbmQgbGVuZ3RoIHZhbHVlcywgaW5jbHVkaW5nCisgICAgICAgICMgdmFsdWVzIGV4Y2VlZGluZyBzeXMubWF4c2l6ZSAoc2VlIGlzc3VlICMxNDc5NCkuCisgICAgICAgIHZhbHMgPSBbTm9uZSwgLTIqKjEwMCwgLTIqKjMwLCAtNTMsIC03LCAtMSwgMCwgMSwgNywgNTMsIDIqKjMwLCAyKioxMDBdCisgICAgICAgIGxlbmd0aHMgPSBbMCwgMSwgNywgNTMsIDIqKjMwLCAyKioxMDBdCisgICAgICAgIGZvciBzbGljZV9hcmdzIGluIGl0ZXJ0b29scy5wcm9kdWN0KHZhbHMsIHJlcGVhdD0zKToKKyAgICAgICAgICAgIHMgPSBzbGljZSgqc2xpY2VfYXJncykKKyAgICAgICAgICAgIGZvciBsZW5ndGggaW4gbGVuZ3RoczoKKyAgICAgICAgICAgICAgICBzZWxmLmNoZWNrX2luZGljZXMocywgbGVuZ3RoKQorICAgICAgICBzZWxmLmNoZWNrX2luZGljZXMoc2xpY2UoMCwgMTAsIDEpLCAtMykKKworICAgICAgICAjIE5lZ2F0aXZlIGxlbmd0aCBzaG91bGQgcmFpc2UgVmFsdWVFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgc2xpY2UoTm9uZSkuaW5kaWNlcygtMSkKKworICAgICAgICAjIFplcm8gc3RlcCBzaG91bGQgcmFpc2UgVmFsdWVFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgc2xpY2UoMCwgMTAsIDApLmluZGljZXMoNSkKKworICAgICAgICAjIFVzaW5nIGEgc3RhcnQsIHN0b3Agb3Igc3RlcCBvciBsZW5ndGggdGhhdCBjYW4ndCBiZSBpbnRlcnByZXRlZCBhcyBhbgorICAgICAgICAjIGludGVnZXIgc2hvdWxkIGdpdmUgYSBUeXBlRXJyb3IgLi4uCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHNsaWNlKDAuMCwgMTAsIDEpLmluZGljZXMoNSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgc2xpY2UoMCwgMTAuMCwgMSkuaW5kaWNlcyg1KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBzbGljZSgwLCAxMCwgMS4wKS5pbmRpY2VzKDUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHNsaWNlKDAsIDEwLCAxKS5pbmRpY2VzKDUuMCkKKworICAgICAgICAjIC4uLiBidXQgaXQgc2hvdWxkIGJlIGZpbmUgdG8gdXNlIGEgY3VzdG9tIGNsYXNzIHRoYXQgcHJvdmlkZXMgaW5kZXguCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2xpY2UoMCwgMTAsIDEpLmluZGljZXMoNSksICgwLCA1LCAxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbGljZShNeUluZGV4YWJsZSgwKSwgMTAsIDEpLmluZGljZXMoNSksICgwLCA1LCAxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbGljZSgwLCBNeUluZGV4YWJsZSgxMCksIDEpLmluZGljZXMoNSksICgwLCA1LCAxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbGljZSgwLCAxMCwgTXlJbmRleGFibGUoMSkpLmluZGljZXMoNSksICgwLCA1LCAxKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbGljZSgwLCAxMCwgMSkuaW5kaWNlcyhNeUluZGV4YWJsZSg1KSksICgwLCA1LCAxKSkKIAogICAgIGRlZiB0ZXN0X3NldHNsaWNlX3dpdGhvdXRfZ2V0c2xpY2Uoc2VsZik6CiAgICAgICAgIHRtcCA9IFtdCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkKaW5kZXggZjkzZDM1NS4uOGY2NGVjMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc210cGxpYi5weQpAQCAtMjIyLDcgKzIyMiw3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNtdHAuc291cmNlX2FkZHJlc3MsICgnMTI3LjAuMC4xJywgcG9ydCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNtdHAubG9jYWxfaG9zdG5hbWUsICdsb2NhbGhvc3QnKQogICAgICAgICAgICAgc210cC5xdWl0KCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUFERFJJTlVTRToKICAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJjb3VsZG4ndCBiaW5kIHRvIHBvcnQgJWQiICUgcG9ydCkKICAgICAgICAgICAgIHJhaXNlCkBAIC01MjQsMTIgKzUyNCw2IEBACiAKIGNsYXNzIE5vbkNvbm5lY3RpbmdUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKLSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNtdHBsaWIuc29ja2V0ID0gbW9ja19zb2NrZXQKLQotICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgc210cGxpYi5zb2NrZXQgPSBzb2NrZXQKLQogICAgIGRlZiB0ZXN0Tm90Q29ubmVjdGVkKHNlbGYpOgogICAgICAgICAjIFRlc3QgdmFyaW91cyBvcGVyYXRpb25zIG9uIGFuIHVuY29ubmVjdGVkIFNNVFAgb2JqZWN0IHRoYXQKICAgICAgICAgIyBzaG91bGQgcmFpc2UgZXhjZXB0aW9ucyAoYXQgcHJlc2VudCB0aGUgYXR0ZW1wdCBpbiBTTVRQLnNlbmQKQEAgLTU0MSwxMCArNTM1LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNtdHAuc2VuZCwgJ3Rlc3QgbXNnJykKIAogICAgIGRlZiB0ZXN0Tm9ubnVtZXJpY1BvcnQoc2VsZik6Ci0gICAgICAgICMgY2hlY2sgdGhhdCBub24tbnVtZXJpYyBwb3J0IHJhaXNlcyBzb2NrZXQuZXJyb3IKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMobW9ja19zb2NrZXQuZXJyb3IsIHNtdHBsaWIuU01UUCwKKyAgICAgICAgIyBjaGVjayB0aGF0IG5vbi1udW1lcmljIHBvcnQgcmFpc2VzIE9TRXJyb3IKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc210cGxpYi5TTVRQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxob3N0IiwgImJvZ3VzIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMobW9ja19zb2NrZXQuZXJyb3IsIHNtdHBsaWIuU01UUCwKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc210cGxpYi5TTVRQLAogICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxob3N0OmJvZ3VzIikKIAogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NuZGhkci5weSBiL0xpYi90ZXN0L3Rlc3Rfc25kaGRyLnB5CmluZGV4IDEwMDQ2ODguLjVlMGFiZTAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc25kaGRyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc25kaGRyLnB5CkBAIC0xMiw3ICsxMiw3IEBACiAgICAgICAgICAgICAoJ3NuZGhkci5oY29tJywgKCdoY29tJywgMjIwNTAuMCwgMSwgLTEsIDgpKSwKICAgICAgICAgICAgICgnc25kaGRyLnNuZHQnLCAoJ3NuZHQnLCA0NDEwMCwgMSwgNSwgOCkpLAogICAgICAgICAgICAgKCdzbmRoZHIudm9jJywgKCd2b2MnLCAwLCAxLCAtMSwgOCkpLAotICAgICAgICAgICAgKCdzbmRoZHIud2F2JywgKCd3YXYnLCA0NDEwMCwgMiwgLTEsIDE2KSksCisgICAgICAgICAgICAoJ3NuZGhkci53YXYnLCAoJ3dhdicsIDQ0MTAwLCAyLCA1LCAxNikpLAogICAgICAgICApOgogICAgICAgICAgICAgZmlsZW5hbWUgPSBmaW5kZmlsZShmaWxlbmFtZSwgc3ViZGlyPSJzbmRoZHJkYXRhIikKICAgICAgICAgICAgIHdoYXQgPSBzbmRoZHIud2hhdChmaWxlbmFtZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0LnB5IGIvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKaW5kZXggZDIwZTM3Yi4uNDY5M2VhNSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkKQEAgLTIsNyArMiw2IEBACiAKIGltcG9ydCB1bml0dGVzdAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci1mcm9tIHVuaXR0ZXN0LmNhc2UgaW1wb3J0IF9FeHBlY3RlZEZhaWx1cmUKIAogaW1wb3J0IGVycm5vCiBpbXBvcnQgaW8KQEAgLTQ2LDcgKzQ1LDcgQEAKICAgICAiIiJDaGVjayB3aGV0aGVyIENBTiBzb2NrZXRzIGFyZSBzdXBwb3J0ZWQgb24gdGhpcyBob3N0LiIiIgogICAgIHRyeToKICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfUkFXLCBzb2NrZXQuQ0FOX1JBVykKLSAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBzb2NrZXQuZXJyb3IsIE9TRXJyb3IpOgorICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIE9TRXJyb3IpOgogICAgICAgICByZXR1cm4gRmFsc2UKICAgICBlbHNlOgogICAgICAgICBzLmNsb3NlKCkKQEAgLTEyMSwxMiArMTIwLDQyIEBACiAgICAgaW50ZXJmYWNlID0gJ3ZjYW4wJwogICAgIGJ1ZnNpemUgPSAxMjgKIAorICAgICIiIlRoZSBDQU4gZnJhbWUgc3RydWN0dXJlIGlzIGRlZmluZWQgaW4gPGxpbnV4L2Nhbi5oPjoKKworICAgIHN0cnVjdCBjYW5fZnJhbWUgeworICAgICAgICBjYW5pZF90IGNhbl9pZDsgIC8qIDMyIGJpdCBDQU5fSUQgKyBFRkYvUlRSL0VSUiBmbGFncyAqLworICAgICAgICBfX3U4ICAgIGNhbl9kbGM7IC8qIGRhdGEgbGVuZ3RoIGNvZGU6IDAgLi4gOCAqLworICAgICAgICBfX3U4ICAgIGRhdGFbOF0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICAgIH07CisgICAgIiIiCisgICAgY2FuX2ZyYW1lX2ZtdCA9ICI9SUIzeDhzIgorICAgIGNhbl9mcmFtZV9zaXplID0gc3RydWN0LmNhbGNzaXplKGNhbl9mcmFtZV9mbXQpCisKKyAgICAiIiJUaGUgQnJvYWRjYXN0IE1hbmFnZW1lbnQgQ29tbWFuZCBmcmFtZSBzdHJ1Y3R1cmUgaXMgZGVmaW5lZAorICAgIGluIDxsaW51eC9jYW4vYmNtLmg+OgorCisgICAgc3RydWN0IGJjbV9tc2dfaGVhZCB7CisgICAgICAgIF9fdTMyIG9wY29kZTsKKyAgICAgICAgX191MzIgZmxhZ3M7CisgICAgICAgIF9fdTMyIGNvdW50OworICAgICAgICBzdHJ1Y3QgdGltZXZhbCBpdmFsMSwgaXZhbDI7CisgICAgICAgIGNhbmlkX3QgY2FuX2lkOworICAgICAgICBfX3UzMiBuZnJhbWVzOworICAgICAgICBzdHJ1Y3QgY2FuX2ZyYW1lIGZyYW1lc1swXTsKKyAgICB9CisKKyAgICBgYmNtX21zZ19oZWFkYCBtdXN0IGJlIDggYnl0ZXMgYWxpZ25lZCBiZWNhdXNlIG9mIHRoZSBgZnJhbWVzYCBtZW1iZXIgKHNlZQorICAgIGBzdHJ1Y3QgY2FuX2ZyYW1lYCBkZWZpbml0aW9uKS4gTXVzdCB1c2UgbmF0aXZlIG5vdCBzdGFuZGFyZCB0eXBlcyBmb3IgcGFja2luZy4KKyAgICAiIiIKKyAgICBiY21fY21kX21zZ19mbXQgPSAiQDNJNGwySSIKKyAgICBiY21fY21kX21zZ19mbXQgKz0gIngiICogKHN0cnVjdC5jYWxjc2l6ZShiY21fY21kX21zZ19mbXQpICUgOCkKKwogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zID0gc29ja2V0LnNvY2tldChzb2NrZXQuUEZfQ0FOLCBzb2NrZXQuU09DS19SQVcsIHNvY2tldC5DQU5fUkFXKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5zLmNsb3NlKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnMuYmluZCgoc2VsZi5pbnRlcmZhY2UsKSkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCduZXR3b3JrIGludGVyZmFjZSBgJXNgIGRvZXMgbm90IGV4aXN0JyAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmludGVyZmFjZSkKIApAQCAtMjQyLDkgKzI3MSw2IEBACiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoInRlc3RfZnVuYyBtdXN0IGJlIGEgY2FsbGFibGUgZnVuY3Rpb24iKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICB0ZXN0X2Z1bmMoKQotICAgICAgICBleGNlcHQgX0V4cGVjdGVkRmFpbHVyZToKLSAgICAgICAgICAgICMgV2UgZGVsaWJlcmF0ZWx5IGlnbm9yZSBleHBlY3RlZCBmYWlsdXJlcwotICAgICAgICAgICAgcGFzcwogICAgICAgICBleGNlcHQgQmFzZUV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgc2VsZi5xdWV1ZS5wdXQoZSkKICAgICAgICAgZmluYWxseToKQEAgLTI5NSw3ICszMjEsNyBAQAogICAgICAgICBzZWxmLmNsaSA9IHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfUkFXLCBzb2NrZXQuQ0FOX1JBVykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5jbGkuYmluZCgoc2VsZi5pbnRlcmZhY2UsKSkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAjIHNraXBUZXN0IHNob3VsZCBub3QgYmUgY2FsbGVkIGhlcmUsIGFuZCB3aWxsIGJlIGNhbGxlZCBpbiB0aGUKICAgICAgICAgICAgICMgc2VydmVyIGluc3RlYWQKICAgICAgICAgICAgIHBhc3MKQEAgLTYwOCw3ICs2MzQsNyBAQAogICAgICAgICAgICAgICAgICAgICBmb3Igb2JqIGluIGFyZ3NdCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCpjYWxsYXJncykKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgIyBYWFg6IGNoZWNrIGVycm5vPwogICAgICAgICAgICAgZXJyID0gc3RyKGUpCiAgICAgICAgIGVsc2U6CkBAIC02MjYsOCArNjUyLDE3IEBACiAKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgogICAgICAgICBzID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQotICAgICAgICBzZWxmLmFkZENsZWFudXAocy5jbG9zZSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIocykuc3RhcnRzd2l0aCgiPHNvY2tldC5zb2NrZXQgb2JqZWN0IikpCisgICAgICAgIHdpdGggczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZkPSVpJyAlIHMuZmlsZW5vKCksIHJlcHIocykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdmYW1pbHk9JWknICUgc29ja2V0LkFGX0lORVQsIHJlcHIocykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCd0eXBlPSVpJyAlIHNvY2tldC5TT0NLX1NUUkVBTSwgcmVwcihzKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Byb3RvPTAnLCByZXByKHMpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigncmFkZHInLCByZXByKHMpKQorICAgICAgICAgICAgcy5iaW5kKCgnMTI3LjAuMC4xJywgMCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdsYWRkcicsIHJlcHIocykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHN0cihzLmdldHNvY2tuYW1lKCkpLCByZXByKHMpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdbY2xvc2VkXScsIHJlcHIocykpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ2xhZGRyJywgcmVwcihzKSkKIAogICAgIGRlZiB0ZXN0X3dlYWtyZWYoc2VsZik6CiAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCkBAIC02NDUsMTEgKzY4MCwxMSBAQAogICAgIGRlZiB0ZXN0U29ja2V0RXJyb3Ioc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBzb2NrZXQgbW9kdWxlIGV4Y2VwdGlvbnMKICAgICAgICAgbXNnID0gIkVycm9yIHJhaXNpbmcgc29ja2V0IGV4Y2VwdGlvbiAoJXMpLiIKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIG1zZz1tc2cgJSAnc29ja2V0LmVycm9yJyk6Ci0gICAgICAgICAgICByYWlzZSBzb2NrZXQuZXJyb3IKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIG1zZz1tc2cgJSAnc29ja2V0LmhlcnJvcicpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG1zZz1tc2cgJSAnT1NFcnJvcicpOgorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG1zZz1tc2cgJSAnc29ja2V0LmhlcnJvcicpOgogICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmhlcnJvcgotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgbXNnPW1zZyAlICdzb2NrZXQuZ2FpZXJyb3InKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBtc2c9bXNnICUgJ3NvY2tldC5nYWllcnJvcicpOgogICAgICAgICAgICAgcmFpc2Ugc29ja2V0LmdhaWVycm9yCiAKICAgICBkZWYgdGVzdFNlbmR0b0Vycm9ycyhzZWxmKToKQEAgLTcxMiwxMyArNzQ3LDEzIEBACiAgICAgICAgIGhvc3RuYW1lID0gc29ja2V0LmdldGhvc3RuYW1lKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaXAgPSBzb2NrZXQuZ2V0aG9zdGJ5bmFtZShob3N0bmFtZSkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAjIFByb2JhYmx5IG5hbWUgbG9va3VwIHdhc24ndCBzZXQgdXAgcmlnaHQ7IHNraXAgdGhpcyB0ZXN0CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlwLmZpbmQoJy4nKSA+PSAwLCAiRXJyb3IgcmVzb2x2aW5nIGhvc3QgdG8gaXAuIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaG5hbWUsIGFsaWFzZXMsIGlwYWRkcnMgPSBzb2NrZXQuZ2V0aG9zdGJ5YWRkcihpcCkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAjIFByb2JhYmx5IGEgc2ltaWxhciBwcm9ibGVtIGFzIGFib3ZlOyBza2lwIHRoaXMgdGVzdAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGFsbF9ob3N0X25hbWVzID0gW2hvc3RuYW1lLCBobmFtZV0gKyBhbGlhc2VzCkBAIC03MzIsNyArNzY3LDcgQEAKICAgICAgICAgb2xkaG4gPSBzb2NrZXQuZ2V0aG9zdG5hbWUoKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzb2NrZXQuc2V0aG9zdG5hbWUoJ25ldycpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRVBFUk06CiAgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgidGVzdCBzaG91bGQgYmUgcnVuIGFzIHJvb3QiKQogICAgICAgICAgICAgZWxzZToKQEAgLTc2Niw4ICs4MDEsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICdzb2NrZXQuaWZfbmFtZWluZGV4KCkgbm90IGF2YWlsYWJsZS4nKQogICAgIGRlZiB0ZXN0SW52YWxpZEludGVyZmFjZU5hbWVJbmRleChzZWxmKToKICAgICAgICAgIyB0ZXN0IG5vbmV4aXN0ZW50IGludGVyZmFjZSBpbmRleC9uYW1lCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc29ja2V0LmlmX2luZGV4dG9uYW1lLCAwKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNvY2tldC5pZl9uYW1ldG9pbmRleCwgJ19ERUFEQkVFRicpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNvY2tldC5pZl9pbmRleHRvbmFtZSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc29ja2V0LmlmX25hbWV0b2luZGV4LCAnX0RFQURCRUVGJykKICAgICAgICAgIyB0ZXN0IHdpdGggaW52YWxpZCB2YWx1ZXMKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzb2NrZXQuaWZfbmFtZXRvaW5kZXgsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc29ja2V0LmlmX2luZGV4dG9uYW1lLCAnX0RFQURCRUVGJykKQEAgLTc4OCw3ICs4MjMsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICAjIE9uIHNvbWUgdmVyc2lvbnMsIHRoaXMgY3Jhc2hlcyB0aGUgaW50ZXJwcmV0ZXIuCiAgICAgICAgICAgICBzb2NrZXQuZ2V0bmFtZWluZm8oKCd4JywgMCwgMCwgMCksIDApCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogCiAgICAgZGVmIHRlc3ROdG9IKHNlbGYpOgpAQCAtODM1LDE3ICs4NzAsMTcgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBwb3J0ID0gc29ja2V0LmdldHNlcnZieW5hbWUoc2VydmljZSwgJ3RjcCcpCiAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBzb2NrZXQuZXJyb3IKKyAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IKICAgICAgICAgIyBUcnkgc2FtZSBjYWxsIHdpdGggb3B0aW9uYWwgcHJvdG9jb2wgb21pdHRlZAogICAgICAgICBwb3J0MiA9IHNvY2tldC5nZXRzZXJ2YnluYW1lKHNlcnZpY2UpCiAgICAgICAgIGVxKHBvcnQsIHBvcnQyKQogICAgICAgICAjIFRyeSB1ZHAsIGJ1dCBkb24ndCBiYXJmIGlmIGl0IGRvZXNuJ3QgZXhpc3QKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdWRwcG9ydCA9IHNvY2tldC5nZXRzZXJ2YnluYW1lKHNlcnZpY2UsICd1ZHAnKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHVkcHBvcnQgPSBOb25lCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlcSh1ZHBwb3J0LCBwb3J0KQpAQCAtOTAxLDcgKzkzNiw3IEBACiAgICAgICAgIGcgPSBsYW1iZGEgYTogaW5ldF9wdG9uKEFGX0lORVQsIGEpCiAKICAgICAgICAgYXNzZXJ0SW52YWxpZCA9IGxhbWJkYSBmdW5jLGE6IHNlbGYuYXNzZXJ0UmFpc2VzKAotICAgICAgICAgICAgKHNvY2tldC5lcnJvciwgVmFsdWVFcnJvciksIGZ1bmMsIGEKKyAgICAgICAgICAgIChPU0Vycm9yLCBWYWx1ZUVycm9yKSwgZnVuYywgYQogICAgICAgICApCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ1x4MDBceDAwXHgwMFx4MDAnLCBmKCcwLjAuMC4wJykpCkBAIC05MzYsNyArOTcxLDcgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBmID0gbGFtYmRhIGE6IGluZXRfcHRvbihBRl9JTkVUNiwgYSkKICAgICAgICAgYXNzZXJ0SW52YWxpZCA9IGxhbWJkYSBhOiBzZWxmLmFzc2VydFJhaXNlcygKLSAgICAgICAgICAgIChzb2NrZXQuZXJyb3IsIFZhbHVlRXJyb3IpLCBmLCBhCisgICAgICAgICAgICAoT1NFcnJvciwgVmFsdWVFcnJvciksIGYsIGEKICAgICAgICAgKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidceDAwJyAqIDE2LCBmKCc6OicpKQpAQCAtOTg1LDcgKzEwMjAsNyBAQAogICAgICAgICBmcm9tIHNvY2tldCBpbXBvcnQgaW5ldF9udG9hIGFzIGYsIGluZXRfbnRvcCwgQUZfSU5FVAogICAgICAgICBnID0gbGFtYmRhIGE6IGluZXRfbnRvcChBRl9JTkVULCBhKQogICAgICAgICBhc3NlcnRJbnZhbGlkID0gbGFtYmRhIGZ1bmMsYTogc2VsZi5hc3NlcnRSYWlzZXMoCi0gICAgICAgICAgICAoc29ja2V0LmVycm9yLCBWYWx1ZUVycm9yKSwgZnVuYywgYQorICAgICAgICAgICAgKE9TRXJyb3IsIFZhbHVlRXJyb3IpLCBmdW5jLCBhCiAgICAgICAgICkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcxLjAuMS4wJywgZihiJ1x4MDFceDAwXHgwMVx4MDAnKSkKQEAgLTEwMTQsNyArMTA0OSw3IEBACiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgZiA9IGxhbWJkYSBhOiBpbmV0X250b3AoQUZfSU5FVDYsIGEpCiAgICAgICAgIGFzc2VydEludmFsaWQgPSBsYW1iZGEgYTogc2VsZi5hc3NlcnRSYWlzZXMoCi0gICAgICAgICAgICAoc29ja2V0LmVycm9yLCBWYWx1ZUVycm9yKSwgZiwgYQorICAgICAgICAgICAgKE9TRXJyb3IsIFZhbHVlRXJyb3IpLCBmLCBhCiAgICAgICAgICkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCc6OicsIGYoYidceDAwJyAqIDE2KSkKQEAgLTEwNDIsNyArMTA3Nyw3IEBACiAgICAgICAgICMgQXQgbGVhc3QgZm9yIGVDb3MuICBUaGlzIGlzIHJlcXVpcmVkIGZvciB0aGUgUy8zOTAgdG8gcGFzcy4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbXlfaXBfYWRkciA9IHNvY2tldC5nZXRob3N0YnluYW1lKHNvY2tldC5nZXRob3N0bmFtZSgpKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICMgUHJvYmFibHkgbmFtZSBsb29rdXAgd2Fzbid0IHNldCB1cCByaWdodDsgc2tpcCB0aGlzIHRlc3QKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLmFzc2VydEluKG5hbWVbMF0sICgiMC4wLjAuMCIsIG15X2lwX2FkZHIpLCAnJXMgaW52YWxpZCcgJSBuYW1lWzBdKQpAQCAtMTA2OSw3ICsxMTA0LDcgQEAKICAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKICAgICAgICAgc29jay5zZXR0aW1lb3V0KDEpCiAgICAgICAgIHNvY2suY2xvc2UoKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNvY2suc2VuZCwgYiJzcGFtIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc29jay5zZW5kLCBiInNwYW0iKQogCiAgICAgZGVmIHRlc3ROZXdBdHRyaWJ1dGVzKHNlbGYpOgogICAgICAgICAjIHRlc3RpbmcgLmZhbWlseSwgLnR5cGUgYW5kIC5wcm90b2NvbApAQCAtMTE2OCw3ICsxMjAzLDcgQEAKIAogICAgIGRlZiB0ZXN0X2dldG5hbWVpbmZvKHNlbGYpOgogICAgICAgICAjIG9ubHkgSVAgYWRkcmVzc2VzIGFyZSBhbGxvd2VkCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc29ja2V0LmdldG5hbWVpbmZvLCAoJ21haWwucHl0aG9uLm9yZycsMCksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNvY2tldC5nZXRuYW1laW5mbywgKCdtYWlsLnB5dGhvbi5vcmcnLDApLCAwKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VwcG9ydC5pc19yZXNvdXJjZV9lbmFibGVkKCduZXR3b3JrJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ25ldHdvcmsgaXMgbm90IGVuYWJsZWQnKQpAQCAtMTI5MSwxMCArMTMyNiwzNSBAQAogICAgICAgICBzb2NrZXQuUEZfQ0FOCiAgICAgICAgIHNvY2tldC5DQU5fUkFXCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgIkNBTl9CQ00iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc29ja2V0LkNBTl9CQ00gcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorICAgIGRlZiB0ZXN0QkNNQ29uc3RhbnRzKHNlbGYpOgorICAgICAgICBzb2NrZXQuQ0FOX0JDTQorCisgICAgICAgICMgb3Bjb2RlcworICAgICAgICBzb2NrZXQuQ0FOX0JDTV9UWF9TRVRVUCAgICAgIyBjcmVhdGUgKGN5Y2xpYykgdHJhbnNtaXNzaW9uIHRhc2sKKyAgICAgICAgc29ja2V0LkNBTl9CQ01fVFhfREVMRVRFICAgICMgcmVtb3ZlIChjeWNsaWMpIHRyYW5zbWlzc2lvbiB0YXNrCisgICAgICAgIHNvY2tldC5DQU5fQkNNX1RYX1JFQUQgICAgICAjIHJlYWQgcHJvcGVydGllcyBvZiAoY3ljbGljKSB0cmFuc21pc3Npb24gdGFzaworICAgICAgICBzb2NrZXQuQ0FOX0JDTV9UWF9TRU5EICAgICAgIyBzZW5kIG9uZSBDQU4gZnJhbWUKKyAgICAgICAgc29ja2V0LkNBTl9CQ01fUlhfU0VUVVAgICAgICMgY3JlYXRlIFJYIGNvbnRlbnQgZmlsdGVyIHN1YnNjcmlwdGlvbgorICAgICAgICBzb2NrZXQuQ0FOX0JDTV9SWF9ERUxFVEUgICAgIyByZW1vdmUgUlggY29udGVudCBmaWx0ZXIgc3Vic2NyaXB0aW9uCisgICAgICAgIHNvY2tldC5DQU5fQkNNX1JYX1JFQUQgICAgICAjIHJlYWQgcHJvcGVydGllcyBvZiBSWCBjb250ZW50IGZpbHRlciBzdWJzY3JpcHRpb24KKyAgICAgICAgc29ja2V0LkNBTl9CQ01fVFhfU1RBVFVTICAgICMgcmVwbHkgdG8gVFhfUkVBRCByZXF1ZXN0CisgICAgICAgIHNvY2tldC5DQU5fQkNNX1RYX0VYUElSRUQgICAjIG5vdGlmaWNhdGlvbiBvbiBwZXJmb3JtZWQgdHJhbnNtaXNzaW9ucyAoY291bnQ9MCkKKyAgICAgICAgc29ja2V0LkNBTl9CQ01fUlhfU1RBVFVTICAgICMgcmVwbHkgdG8gUlhfUkVBRCByZXF1ZXN0CisgICAgICAgIHNvY2tldC5DQU5fQkNNX1JYX1RJTUVPVVQgICAjIGN5Y2xpYyBtZXNzYWdlIGlzIGFic2VudAorICAgICAgICBzb2NrZXQuQ0FOX0JDTV9SWF9DSEFOR0VEICAgIyB1cGRhdGVkIENBTiBmcmFtZSAoZGV0ZWN0ZWQgY29udGVudCBjaGFuZ2UpCisKICAgICBkZWYgdGVzdENyZWF0ZVNvY2tldChzZWxmKToKICAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9DQU4sIHNvY2tldC5TT0NLX1JBVywgc29ja2V0LkNBTl9SQVcpIGFzIHM6CiAgICAgICAgICAgICBwYXNzCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgIkNBTl9CQ00iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc29ja2V0LkNBTl9CQ00gcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorICAgIGRlZiB0ZXN0Q3JlYXRlQkNNU29ja2V0KHNlbGYpOgorICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfREdSQU0sIHNvY2tldC5DQU5fQkNNKSBhcyBzOgorICAgICAgICAgICAgcGFzcworCiAgICAgZGVmIHRlc3RCaW5kQW55KHNlbGYpOgogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfUkFXLCBzb2NrZXQuQ0FOX1JBVykgYXMgczoKICAgICAgICAgICAgIHMuYmluZCgoJycsICkpCkBAIC0xMzAyLDcgKzEzNjIsNyBAQAogICAgIGRlZiB0ZXN0VG9vTG9uZ0ludGVyZmFjZU5hbWUoc2VsZik6CiAgICAgICAgICMgbW9zdCBzeXN0ZW1zIGxpbWl0IElGTkFNU0laIHRvIDE2LCB0YWtlIDEwMjQgdG8gYmUgc3VyZQogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfUkFXLCBzb2NrZXQuQ0FOX1JBVykgYXMgczoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc29ja2V0LmVycm9yLCAnaW50ZXJmYWNlIG5hbWUgdG9vIGxvbmcnLAorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChPU0Vycm9yLCAnaW50ZXJmYWNlIG5hbWUgdG9vIGxvbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLmJpbmQsICgneCcgKiAxMDI0LCkpCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgIkNBTl9SQVdfTE9PUEJBQ0siKSwKQEAgLTEzMjcsMTkgKzEzODcsOCBAQAogCiAKIEB1bml0dGVzdC5za2lwVW5sZXNzKEhBVkVfU09DS0VUX0NBTiwgJ1NvY2tldENhbiByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCi1AdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQogY2xhc3MgQ0FOVGVzdChUaHJlYWRlZENBTlNvY2tldFRlc3QpOgogCi0gICAgIiIiVGhlIENBTiBmcmFtZSBzdHJ1Y3R1cmUgaXMgZGVmaW5lZCBpbiA8bGludXgvY2FuLmg+OgotCi0gICAgc3RydWN0IGNhbl9mcmFtZSB7Ci0gICAgICAgIGNhbmlkX3QgY2FuX2lkOyAgLyogMzIgYml0IENBTl9JRCArIEVGRi9SVFIvRVJSIGZsYWdzICovCi0gICAgICAgIF9fdTggICAgY2FuX2RsYzsgLyogZGF0YSBsZW5ndGggY29kZTogMCAuLiA4ICovCi0gICAgICAgIF9fdTggICAgZGF0YVs4XSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7Ci0gICAgfTsKLSAgICAiIiIKLSAgICBjYW5fZnJhbWVfZm10ID0gIj1JQjN4OHMiCi0KICAgICBkZWYgX19pbml0X18oc2VsZiwgbWV0aG9kTmFtZT0ncnVuVGVzdCcpOgogICAgICAgICBUaHJlYWRlZENBTlNvY2tldFRlc3QuX19pbml0X18oc2VsZiwgbWV0aG9kTmFtZT1tZXRob2ROYW1lKQogCkBAIC0xMzg4LDYgKzE0MzcsNDYgQEAKICAgICAgICAgc2VsZi5jZjIgPSBzZWxmLmJ1aWxkX2Nhbl9mcmFtZSgweDEyLCBiJ1x4OTlceDIyXHgzMycpCiAgICAgICAgIHNlbGYuY2xpLnNlbmQoc2VsZi5jZjIpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgIkNBTl9CQ00iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc29ja2V0LkNBTl9CQ00gcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorICAgIGRlZiBfdGVzdEJDTShzZWxmKToKKyAgICAgICAgY2YsIGFkZHIgPSBzZWxmLmNsaS5yZWN2ZnJvbShzZWxmLmJ1ZnNpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jZiwgY2YpCisgICAgICAgIGNhbl9pZCwgY2FuX2RsYywgZGF0YSA9IHNlbGYuZGlzc2VjdF9jYW5fZnJhbWUoY2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jYW5faWQsIGNhbl9pZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRhdGEsIGRhdGEpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgIkNBTl9CQ00iKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc29ja2V0LkNBTl9CQ00gcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorICAgIGRlZiB0ZXN0QkNNKHNlbGYpOgorICAgICAgICBiY20gPSBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9DQU4sIHNvY2tldC5TT0NLX0RHUkFNLCBzb2NrZXQuQ0FOX0JDTSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGJjbS5jbG9zZSkKKyAgICAgICAgYmNtLmNvbm5lY3QoKHNlbGYuaW50ZXJmYWNlLCkpCisgICAgICAgIHNlbGYuY2FuX2lkID0gMHgxMjMKKyAgICAgICAgc2VsZi5kYXRhID0gYnl0ZXMoWzB4YzAsIDB4ZmYsIDB4ZWVdKQorICAgICAgICBzZWxmLmNmID0gc2VsZi5idWlsZF9jYW5fZnJhbWUoc2VsZi5jYW5faWQsIHNlbGYuZGF0YSkKKyAgICAgICAgb3Bjb2RlID0gc29ja2V0LkNBTl9CQ01fVFhfU0VORAorICAgICAgICBmbGFncyA9IDAKKyAgICAgICAgY291bnQgPSAwCisgICAgICAgIGl2YWwxX3NlY29uZHMgPSBpdmFsMV91c2VjID0gaXZhbDJfc2Vjb25kcyA9IGl2YWwyX3VzZWMgPSAwCisgICAgICAgIGJjbV9jYW5faWQgPSAweDAyMjIKKyAgICAgICAgbmZyYW1lcyA9IDEKKyAgICAgICAgYXNzZXJ0IGxlbihzZWxmLmNmKSA9PSAxNgorICAgICAgICBoZWFkZXIgPSBzdHJ1Y3QucGFjayhzZWxmLmJjbV9jbWRfbXNnX2ZtdCwKKyAgICAgICAgICAgICAgICAgICAgb3Bjb2RlLAorICAgICAgICAgICAgICAgICAgICBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgY291bnQsCisgICAgICAgICAgICAgICAgICAgIGl2YWwxX3NlY29uZHMsCisgICAgICAgICAgICAgICAgICAgIGl2YWwxX3VzZWMsCisgICAgICAgICAgICAgICAgICAgIGl2YWwyX3NlY29uZHMsCisgICAgICAgICAgICAgICAgICAgIGl2YWwyX3VzZWMsCisgICAgICAgICAgICAgICAgICAgIGJjbV9jYW5faWQsCisgICAgICAgICAgICAgICAgICAgIG5mcmFtZXMsCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgaGVhZGVyX3BsdXNfZnJhbWUgPSBoZWFkZXIgKyBzZWxmLmNmCisgICAgICAgIGJ5dGVzX3NlbnQgPSBiY20uc2VuZChoZWFkZXJfcGx1c19mcmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlc19zZW50LCBsZW4oaGVhZGVyX3BsdXNfZnJhbWUpKQorCiAKIEB1bml0dGVzdC5za2lwVW5sZXNzKEhBVkVfU09DS0VUX1JEUywgJ1JEUyBzb2NrZXRzIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKIGNsYXNzIEJhc2ljUkRTVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xNjAyLDcgKzE2OTEsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYsIGZpbGVubykKICAgICAgICAgIyBjbGlfY29ubiBjYW5ub3QgYmUgdXNlZCBhbnltb3JlLi4uCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmNsaV9jb25uLl9jbG9zZWQpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc2VsZi5jbGlfY29ubi5yZWN2LCAxMDI0KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzZWxmLmNsaV9jb25uLnJlY3YsIDEwMjQpCiAgICAgICAgIHNlbGYuY2xpX2Nvbm4uY2xvc2UoKQogICAgICAgICAjIC4uLmJ1dCB3ZSBjYW4gY3JlYXRlIGFub3RoZXIgc29ja2V0IHVzaW5nIHRoZSAoc3RpbGwgb3BlbikKICAgICAgICAgIyBmaWxlIGRlc2NyaXB0b3IKQEAgLTE5NzEsNyArMjA2MCw3IEBACiAgICAgZGVmIF90ZXN0U2VuZG1zZ0V4Y2Vzc0Ntc2dSZWplY3Qoc2VsZik6CiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNvY2tldCwgIkNNU0dfU1BBQ0UiKToKICAgICAgICAgICAgICMgQ2FuIG9ubHkgc2VuZCBvbmUgaXRlbQotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKICAgICAgICAgICAgICAgICBzZWxmLnNlbmRtc2dUb1NlcnZlcihbTVNHXSwgWygwLCAwLCBiIiIpLCAoMCwgMCwgYiIiKV0pCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShjbS5leGNlcHRpb24uZXJybm8pCiAgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKGIiZG9uZSIpCkBAIC0xOTgyLDcgKzIwNzEsNyBAQAogCiAgICAgZGVmIF90ZXN0U2VuZG1zZ0FmdGVyQ2xvc2Uoc2VsZik6CiAgICAgICAgIHNlbGYuY2xpX3NvY2suY2xvc2UoKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNlbGYuc2VuZG1zZ1RvU2VydmVyLCBbTVNHXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsIFtNU0ddKQogCiAKIGNsYXNzIFNlbmRtc2dTdHJlYW1UZXN0cyhTZW5kbXNnVGVzdHMpOgpAQCAtMjAyNiw3ICsyMTE1LDcgQEAKICAgICBAdGVzdFNlbmRtc2dEb250V2FpdC5jbGllbnRfc2tpcAogICAgIGRlZiBfdGVzdFNlbmRtc2dEb250V2FpdChzZWxmKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLnNlbmRtc2dUb1NlcnZlcihbYiJhIio1MTJdLCBbXSwgc29ja2V0Lk1TR19ET05UV0FJVCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oY20uZXhjZXB0aW9uLmVycm5vLApAQCAtMjA0Niw5ICsyMTM1LDkgQEAKICAgICAgICAgcGFzcwogCiAgICAgZGVmIF90ZXN0U2VuZG1zZ05vRGVzdEFkZHIoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc2VsZi5jbGlfc29jay5zZW5kbXNnLAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzZWxmLmNsaV9zb2NrLnNlbmRtc2csCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNlbGYuY2xpX3NvY2suc2VuZG1zZywKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc2VsZi5jbGlfc29jay5zZW5kbXNnLAogICAgICAgICAgICAgICAgICAgICAgICAgICBbTVNHXSwgW10sIDAsIE5vbmUpCiAKIApAQCAtMjEzNCw3ICsyMjIzLDcgQEAKICAgICBkZWYgdGVzdFJlY3Ztc2dBZnRlckNsb3NlKHNlbGYpOgogICAgICAgICAjIENoZWNrIHRoYXQgcmVjdm1zZ1tfaW50b10oKSBmYWlscyBvbiBhIGNsb3NlZCBzb2NrZXQuCiAgICAgICAgIHNlbGYuc2Vydl9zb2NrLmNsb3NlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzZWxmLmRvUmVjdm1zZywgc2VsZi5zZXJ2X3NvY2ssIDEwMjQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNlbGYuZG9SZWN2bXNnLCBzZWxmLnNlcnZfc29jaywgMTAyNCkKIAogICAgIGRlZiBfdGVzdFJlY3Ztc2dBZnRlckNsb3NlKHNlbGYpOgogICAgICAgICBwYXNzCkBAIC0yNTgyLDcgKzI2NzEsNyBAQAogICAgICAgICAjIGNhbGwgZmFpbHMsIGp1c3Qgc2VuZCBtc2cgd2l0aCBubyBhbmNpbGxhcnkgZGF0YS4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmJ5dGVzID0gc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW21zZ10sIGFuY2RhdGEpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICMgQ2hlY2sgdGhhdCBpdCB3YXMgdGhlIHN5c3RlbSBjYWxsIHRoYXQgZmFpbGVkCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZS5lcnJubywgaW50KQogICAgICAgICAgICAgbmJ5dGVzID0gc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW21zZ10pCkBAIC0yOTYwLDcgKzMwNDksNyBAQAogICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbc2VsZi50cmFmZmljX2NsYXNzXSkudG9ieXRlcygpICsgYiJceDAwIiksCiAgICAgICAgICAgICAgICAgIChzb2NrZXQuSVBQUk9UT19JUFY2LCBzb2NrZXQuSVBWNl9IT1BMSU1JVCwKICAgICAgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW3NlbGYuaG9wX2xpbWl0XSkpXSkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGUuZXJybm8sIGludCkKICAgICAgICAgICAgIG5ieXRlcyA9IHNlbGYuc2VuZG1zZ1RvU2VydmVyKAogICAgICAgICAgICAgICAgIFtNU0ddLApAQCAtMzQxNCwxMCArMzUwMywxMCBAQAogICAgICAgICBzZWxmLnNlcnYuc2V0dGltZW91dChzZWxmLnRpbWVvdXQpCiAKICAgICBkZWYgY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZiwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKLSAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSByYWlzZXMgc29ja2V0LmVycm9yIHdpdGggYW4KKyAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSByYWlzZXMgT1NFcnJvciB3aXRoIGFuCiAgICAgICAgICMgZXJybm8gb2YgRUlOVFIgd2hlbiBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbC4KICAgICAgICAgc2VsZi5zZXRBbGFybShzZWxmLmFsYXJtX3RpbWUpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yKSBhcyBjbToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKICAgICAgICAgICAgIGZ1bmMoKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2UoY20uZXhjZXB0aW9uLCBzb2NrZXQudGltZW91dCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVJTlRSKQpAQCAtMzQ3NCw5ICszNTYzLDkgQEAKIAogICAgIGRlZiBjaGVja0ludGVycnVwdGVkU2VuZChzZWxmLCBmdW5jLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAjIENoZWNrIHRoYXQgZnVuYygqYXJncywgKiprd2FyZ3MpLCBydW4gaW4gYSBsb29wLCByYWlzZXMKLSAgICAgICAgIyBzb2NrZXQuZXJyb3Igd2l0aCBhbiBlcnJubyBvZiBFSU5UUiB3aGVuIGludGVycnVwdGVkIGJ5IGEKKyAgICAgICAgIyBPU0Vycm9yIHdpdGggYW4gZXJybm8gb2YgRUlOVFIgd2hlbiBpbnRlcnJ1cHRlZCBieSBhCiAgICAgICAgICMgc2lnbmFsLgotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CiAgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgIHNlbGYuc2V0QWxhcm0oc2VsZi5hbGFybV90aW1lKQogICAgICAgICAgICAgICAgIGZ1bmMoKmFyZ3MsICoqa3dhcmdzKQpAQCAtMzU3Myw3ICszNjYyLDcgQEAKICAgICAgICAgc3RhcnQgPSB0aW1lLnRpbWUoKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnNlcnYuYWNjZXB0KCkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVuZCA9IHRpbWUudGltZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgoZW5kIC0gc3RhcnQpIDwgMS4wLCAiRXJyb3Igc2V0dGluZyBub24tYmxvY2tpbmcgbW9kZS4iKQpAQCAtMzU5OCw3ICszNjg3LDcgQEAKICAgICAgICAgICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzZWxmLnNlcnYuYWNjZXB0KCkKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBlbmQgPSB0aW1lLnRpbWUoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKChlbmQgLSBzdGFydCkgPCAxLjAsICJFcnJvciBjcmVhdGluZyB3aXRoIG5vbi1ibG9ja2luZyBtb2RlLiIpCkBAIC0zNjI4LDcgKzM3MTcsNyBAQAogICAgICAgICBzZWxmLnNlcnYuc2V0YmxvY2tpbmcoMCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2Vydi5hY2NlcHQoKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiRXJyb3IgdHJ5aW5nIHRvIGRvIG5vbi1ibG9ja2luZyBhY2NlcHQuIikKQEAgLTM2NTgsNyArMzc0Nyw3IEBACiAgICAgICAgIGNvbm4uc2V0YmxvY2tpbmcoMCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbXNnID0gY29ubi5yZWN2KGxlbihNU0cpKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiRXJyb3IgdHJ5aW5nIHRvIGRvIG5vbi1ibG9ja2luZyByZWN2LiIpCkBAIC0zNzQxLDcgKzM4MzAsNyBAQAogICAgICAgICAjIEZpcnN0IHJlYWQgcmFpc2VzIGEgdGltZW91dAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQudGltZW91dCwgc2VsZi5yZWFkX2ZpbGUucmVhZCwgMSkKICAgICAgICAgIyBTZWNvbmQgcmVhZCBpcyBkaXNhbGxvd2VkCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcikgYXMgY3R4OgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGN0eDoKICAgICAgICAgICAgIHNlbGYucmVhZF9maWxlLnJlYWQoMSkKICAgICAgICAgc2VsZi5hc3NlcnRJbigiY2Fubm90IHJlYWQgZnJvbSB0aW1lZCBvdXQgb2JqZWN0Iiwgc3RyKGN0eC5leGNlcHRpb24pKQogCkBAIC0zODMzLDcgKzM5MjIsNyBAQAogICAgICAgICBzZWxmLnJlYWRfZmlsZS5jbG9zZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYucmVhZF9maWxlLmZpbGVubykKICAgICAgICAgc2VsZi5jbGlfY29ubi5jbG9zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc2VsZi5jbGlfY29ubi5nZXRzb2NrbmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc2VsZi5jbGlfY29ubi5nZXRzb2NrbmFtZSkKIAogICAgIGRlZiBfdGVzdFJlYWxDbG9zZShzZWxmKToKICAgICAgICAgcGFzcwpAQCAtMzg3MCw3ICszOTU5LDcgQEAKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgX3JhaXNlX2VpbnRyKCk6Ci0gICAgICAgIHJhaXNlIHNvY2tldC5lcnJvcihlcnJuby5FSU5UUiwgImludGVycnVwdGVkIikKKyAgICAgICAgcmFpc2UgT1NFcnJvcihlcnJuby5FSU5UUiwgImludGVycnVwdGVkIikKIAogICAgIGRlZiBfdGV4dGlvd3JhcF9tb2NrX3NvY2tldChzZWxmLCBtb2NrLCBidWZmZXJpbmc9LTEpOgogICAgICAgICByYXcgPSBzb2NrZXQuU29ja2V0SU8obW9jaywgInIiKQpAQCAtMzk4Miw3ICs0MDcxLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIHNlbGYucmVhZF9tc2cpCiAgICAgICAgICMgLi4udW50aWwgdGhlIGZpbGUgaXMgaXRzZWxmIGNsb3NlZAogICAgICAgICBzZWxmLnJlYWRfZmlsZS5jbG9zZSgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc2VsZi5jbGlfY29ubi5yZWN2LCAxMDI0KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzZWxmLmNsaV9jb25uLnJlY3YsIDEwMjQpCiAKICAgICBkZWYgX3Rlc3RNYWtlZmlsZUNsb3NlKHNlbGYpOgogICAgICAgICBzZWxmLndyaXRlX2ZpbGUud3JpdGUoc2VsZi53cml0ZV9tc2cpCkBAIC00MTMxLDcgKzQyMjAsNyBAQAogICAgICAgICBwb3J0ID0gc3VwcG9ydC5maW5kX3VudXNlZF9wb3J0KCkKICAgICAgICAgY2xpID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoY2xpLmNsb3NlKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CiAgICAgICAgICAgICBjbGkuY29ubmVjdCgoSE9TVCwgcG9ydCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FQ09OTlJFRlVTRUQpCiAKQEAgLTQxMzksNyArNDIyOCw3IEBACiAgICAgICAgICMgSXNzdWUgIzk3OTI6IGVycm9ycyByYWlzZWQgYnkgY3JlYXRlX2Nvbm5lY3Rpb24oKSBzaG91bGQgaGF2ZQogICAgICAgICAjIGEgcHJvcGVyIGVycm5vIGF0dHJpYnV0ZS4KICAgICAgICAgcG9ydCA9IHN1cHBvcnQuZmluZF91bnVzZWRfcG9ydCgpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yKSBhcyBjbToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKICAgICAgICAgICAgIHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigoSE9TVCwgcG9ydCkpCiAKICAgICAgICAgIyBJc3N1ZSAjMTYyNTc6IGNyZWF0ZV9jb25uZWN0aW9uKCkgY2FsbHMgZ2V0YWRkcmluZm8oKSBhZ2FpbnN0CkBAIC00Mjg3LDcgKzQzNzYsNyBAQAogICAgICAgICAgICAgZm9vID0gc2VsZi5zZXJ2LmFjY2VwdCgpCiAgICAgICAgIGV4Y2VwdCBzb2NrZXQudGltZW91dDoKICAgICAgICAgICAgIHNlbGYuZmFpbCgiY2F1Z2h0IHRpbWVvdXQgaW5zdGVhZCBvZiBlcnJvciAoVENQKSIpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgb2sgPSBUcnVlCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIHNlbGYuZmFpbCgiY2F1Z2h0IHVuZXhwZWN0ZWQgZXhjZXB0aW9uIChUQ1ApIikKQEAgLTQzNDQsNyArNDQzMyw3IEBACiAgICAgICAgICAgICBmb28gPSBzZWxmLnNlcnYucmVjdigxMDI0KQogICAgICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CiAgICAgICAgICAgICBzZWxmLmZhaWwoImNhdWdodCB0aW1lb3V0IGluc3RlYWQgb2YgZXJyb3IgKFVEUCkiKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIG9rID0gVHJ1ZQogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBzZWxmLmZhaWwoImNhdWdodCB1bmV4cGVjdGVkIGV4Y2VwdGlvbiAoVURQKSIpCkBAIC00MzU0LDEwICs0NDQzLDEwIEBACiBjbGFzcyBUZXN0RXhjZXB0aW9ucyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdEV4Y2VwdGlvblRyZWUoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHNvY2tldC5lcnJvciwgRXhjZXB0aW9uKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Moc29ja2V0LmhlcnJvciwgc29ja2V0LmVycm9yKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Moc29ja2V0LmdhaWVycm9yLCBzb2NrZXQuZXJyb3IpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhzb2NrZXQudGltZW91dCwgc29ja2V0LmVycm9yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoT1NFcnJvciwgRXhjZXB0aW9uKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3Moc29ja2V0LmhlcnJvciwgT1NFcnJvcikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHNvY2tldC5nYWllcnJvciwgT1NFcnJvcikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHNvY2tldC50aW1lb3V0LCBPU0Vycm9yKSkKIAogY2xhc3MgVGVzdExpbnV4QWJzdHJhY3ROYW1lc3BhY2UodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC00MzgzLDcgKzQ0NzIsNyBAQAogICAgIGRlZiB0ZXN0TmFtZU92ZXJmbG93KHNlbGYpOgogICAgICAgICBhZGRyZXNzID0gIlx4MDAiICsgImgiICogc2VsZi5VTklYX1BBVEhfTUFYCiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfVU5JWCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzLmJpbmQsIGFkZHJlc3MpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzLmJpbmQsIGFkZHJlc3MpCiAKICAgICBkZWYgdGVzdFN0ck5hbWUoc2VsZik6CiAgICAgICAgICMgQ2hlY2sgdGhhdCBhbiBhYnN0cmFjdCBuYW1lIGNhbiBiZSBwYXNzZWQgYXMgYSBzdHJpbmcuCkBAIC00NjIyLDcgKzQ3MTEsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUoc29jay5fY2xvc2VkKQogICAgICAgICAjIGV4Y2VwdGlvbiBpbnNpZGUgd2l0aCBibG9jawogICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzb2NrOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzb2NrLnNlbmRhbGwsIGInZm9vJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNvY2suc2VuZGFsbCwgYidmb28nKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoc29jay5fY2xvc2VkKQogCiAgICAgZGVmIHRlc3RDcmVhdGVDb25uZWN0aW9uQmFzZShzZWxmKToKQEAgLTQ2NTAsNyArNDczOSw3IEBACiAgICAgICAgIHdpdGggc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MpIGFzIHNvY2s6CiAgICAgICAgICAgICBzb2NrLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNvY2suX2Nsb3NlZCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzb2NrLnNlbmRhbGwsIGInZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc29jay5zZW5kYWxsLCBiJ2ZvbycpCiAKIAogQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICJTT0NLX0NMT0VYRUMiKSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc29ja2V0c2VydmVyLnB5IGIvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKaW5kZXggNDY0MDU3ZS4uODRhNWU3YiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zb2NrZXRzZXJ2ZXIucHkKQEAgLTI3LDcgKzI3LDcgQEAKIEhPU1QgPSB0ZXN0LnN1cHBvcnQuSE9TVAogCiBIQVZFX1VOSVhfU09DS0VUUyA9IGhhc2F0dHIoc29ja2V0LCAiQUZfVU5JWCIpCi1IQVZFX0ZPUktJTkcgPSBoYXNhdHRyKG9zLCAiZm9yayIpIGFuZCBvcy5uYW1lICE9ICJvczIiCitIQVZFX0ZPUktJTkcgPSBoYXNhdHRyKG9zLCAiZm9yayIpCiAKIGRlZiBzaWduYWxfYWxhcm0obik6CiAgICAgIiIiQ2FsbCBzaWduYWwuYWxhcm0gd2hlbiBpdCBleGlzdHMgKGkuZS4gbm90IG9uIFdpbmRvd3MpLiIiIgpAQCAtODIsNyArODIsNyBAQAogICAgICAgICBmb3IgZm4gaW4gc2VsZi50ZXN0X2ZpbGVzOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIG9zLnJlbW92ZShmbikKLSAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi50ZXN0X2ZpbGVzWzpdID0gW10KIApAQCAtOTMsMjEgKzkzLDcgQEAKICAgICAgICAgICAgICMgWFhYOiBXZSBuZWVkIGEgd2F5IHRvIHRlbGwgQUZfVU5JWCB0byBwaWNrIGl0cyBvd24gbmFtZQogICAgICAgICAgICAgIyBsaWtlIEFGX0lORVQgcHJvdmlkZXMgcG9ydD09MC4KICAgICAgICAgICAgIGRpciA9IE5vbmUKLSAgICAgICAgICAgIGlmIG9zLm5hbWUgPT0gJ29zMic6Ci0gICAgICAgICAgICAgICAgZGlyID0gJ1xzb2NrZXQnCiAgICAgICAgICAgICBmbiA9IHRlbXBmaWxlLm1rdGVtcChwcmVmaXg9J3VuaXhfc29ja2V0LicsIGRpcj1kaXIpCi0gICAgICAgICAgICBpZiBvcy5uYW1lID09ICdvczInOgotICAgICAgICAgICAgICAgICMgQUZfVU5JWCBzb2NrZXQgbmFtZXMgb24gT1MvMiByZXF1aXJlIGEgc3BlY2lmaWMgcHJlZml4Ci0gICAgICAgICAgICAgICAgIyB3aGljaCBjYW4ndCBpbmNsdWRlIGEgZHJpdmUgbGV0dGVyIGFuZCBtdXN0IGFsc28gdXNlCi0gICAgICAgICAgICAgICAgIyBiYWNrc2xhc2hlcyBhcyBkaXJlY3Rvcnkgc2VwYXJhdG9ycwotICAgICAgICAgICAgICAgIGlmIGZuWzFdID09ICc6JzoKLSAgICAgICAgICAgICAgICAgICAgZm4gPSBmblsyOl0KLSAgICAgICAgICAgICAgICBpZiBmblswXSBpbiAob3Muc2VwLCBvcy5hbHRzZXApOgotICAgICAgICAgICAgICAgICAgICBmbiA9IGZuWzE6XQotICAgICAgICAgICAgICAgIGlmIG9zLnNlcCA9PSAnLyc6Ci0gICAgICAgICAgICAgICAgICAgIGZuID0gZm4ucmVwbGFjZShvcy5zZXAsIG9zLmFsdHNlcCkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBmbiA9IGZuLnJlcGxhY2Uob3MuYWx0c2VwLCBvcy5zZXApCiAgICAgICAgICAgICBzZWxmLnRlc3RfZmlsZXMuYXBwZW5kKGZuKQogICAgICAgICAgICAgcmV0dXJuIGZuCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5IGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKaW5kZXggODE1NDc1ZS4uMWYwZjYyYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zc2wucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zc2wucHkKQEAgLTIwLDEzICsyMCw3IEBACiAKIHNzbCA9IHN1cHBvcnQuaW1wb3J0X21vZHVsZSgic3NsIikKIAotUFJPVE9DT0xTID0gWwotICAgIHNzbC5QUk9UT0NPTF9TU0x2MywKLSAgICBzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjEKLV0KLWlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKToKLSAgICBQUk9UT0NPTFMuYXBwZW5kKHNzbC5QUk9UT0NPTF9TU0x2MikKLQorUFJPVE9DT0xTID0gc29ydGVkKHNzbC5fUFJPVE9DT0xfTkFNRVMpCiBIT1NUID0gc3VwcG9ydC5IT1NUCiAKIGRhdGFfZmlsZSA9IGxhbWJkYSBuYW1lOiBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgbmFtZSkKQEAgLTQ4LDYgKzQyLDExIEBACiBDQVBBVEggPSBkYXRhX2ZpbGUoImNhcGF0aCIpCiBCWVRFU19DQVBBVEggPSBvcy5mc2VuY29kZShDQVBBVEgpCiAKKyMgVHdvIGtleXMgYW5kIGNlcnRzIHNpZ25lZCBieSB0aGUgc2FtZSBDQSAoZm9yIFNOSSB0ZXN0cykKK1NJR05FRF9DRVJURklMRSA9IGRhdGFfZmlsZSgia2V5Y2VydDMucGVtIikKK1NJR05FRF9DRVJURklMRTIgPSBkYXRhX2ZpbGUoImtleWNlcnQ0LnBlbSIpCitTSUdOSU5HX0NBID0gZGF0YV9maWxlKCJweWNhY2VydC5wZW0iKQorCiBTVk5fUFlUSE9OX09SR19ST09UX0NFUlQgPSBkYXRhX2ZpbGUoImh0dHBzX3N2bl9weXRob25fb3JnX3Jvb3QucGVtIikKIAogRU1QVFlDRVJUID0gZGF0YV9maWxlKCJudWxsY2VydC5wZW0iKQpAQCAtNTksNiArNTgsNyBAQAogREhGSUxFID0gZGF0YV9maWxlKCJkaDUxMi5wZW0iKQogQllURVNfREhGSUxFID0gb3MuZnNlbmNvZGUoREhGSUxFKQogCisKIGRlZiBoYW5kbGVfZXJyb3IocHJlZml4KToKICAgICBleGNfZm9ybWF0ID0gJyAnLmpvaW4odHJhY2ViYWNrLmZvcm1hdF9leGNlcHRpb24oKnN5cy5leGNfaW5mbygpKSkKICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CkBAIC04OSwxNCArODksMTIgQEAKICAgICBlbHNlOgogICAgICAgICByZXR1cm4gZnVuYwogCituZWVkc19zbmkgPSB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfU05JLCAiU05JIHN1cHBvcnQgbmVlZGVkIGZvciB0aGlzIHRlc3QiKQorCiAKIGNsYXNzIEJhc2ljU29ja2V0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHRlc3RfY29uc3RhbnRzKHNlbGYpOgotICAgICAgICAjc3NsLlBST1RPQ09MX1NTTHYyCi0gICAgICAgIHNzbC5QUk9UT0NPTF9TU0x2MjMKLSAgICAgICAgc3NsLlBST1RPQ09MX1NTTHYzCi0gICAgICAgIHNzbC5QUk9UT0NPTF9UTFN2MQogICAgICAgICBzc2wuQ0VSVF9OT05FCiAgICAgICAgIHNzbC5DRVJUX09QVElPTkFMCiAgICAgICAgIHNzbC5DRVJUX1JFUVVJUkVECkBAIC0xNDIsNiArMTQwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgnb3JnYW5pemF0aW9uTmFtZScsICdQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbicpLCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJ2NvbW1vbk5hbWUnLCAnbG9jYWxob3N0JyksKSkKICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgIyBOb3RlIHRoZSBuZXh0IHRocmVlIGFzc2VydHMgd2lsbCBmYWlsIGlmIHRoZSBrZXlzIGFyZSByZWdlbmVyYXRlZAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBbJ25vdEFmdGVyJ10sICdPY3QgIDUgMjM6MDE6NTYgMjAyMCBHTVQnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBbJ25vdEJlZm9yZSddLCAnT2N0ICA4IDIzOjAxOjU2IDIwMTAgR01UJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwWydzZXJpYWxOdW1iZXInXSwgJ0Q3QzczODE5MTlBRkMyNEUnKQpAQCAtMjE0LDE1ICsyMTMsMTUgQEAKIAogICAgIGRlZiB0ZXN0X3dyYXBwZWRfdW5jb25uZWN0ZWQoc2VsZik6CiAgICAgICAgICMgTWV0aG9kcyBvbiBhbiB1bmNvbm5lY3RlZCBTU0xTb2NrZXQgcHJvcGFnYXRlIHRoZSBvcmlnaW5hbAotICAgICAgICAjIHNvY2tldC5lcnJvciByYWlzZSBieSB0aGUgdW5kZXJseWluZyBzb2NrZXQgb2JqZWN0LgorICAgICAgICAjIE9TRXJyb3IgcmFpc2UgYnkgdGhlIHVuZGVybHlpbmcgc29ja2V0IG9iamVjdC4KICAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCiAgICAgICAgIHdpdGggc3NsLndyYXBfc29ja2V0KHMpIGFzIHNzOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzcy5yZWN2LCAxKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzcy5yZWN2X2ludG8sIGJ5dGVhcnJheShiJ3gnKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc3MucmVjdmZyb20sIDEpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNzLnJlY3Zmcm9tX2ludG8sIGJ5dGVhcnJheShiJ3gnKSwgMSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc3Muc2VuZCwgYid4JykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc3Muc2VuZHRvLCBiJ3gnLCAoJzAuMC4wLjAnLCAwKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNzLnJlY3YsIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzcy5yZWN2X2ludG8sIGJ5dGVhcnJheShiJ3gnKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNzLnJlY3Zmcm9tLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc3MucmVjdmZyb21faW50bywgYnl0ZWFycmF5KGIneCcpLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc3Muc2VuZCwgYid4JykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNzLnNlbmR0bywgYid4JywgKCcwLjAuMC4wJywgMCkpCiAKICAgICBkZWYgdGVzdF90aW1lb3V0KHNlbGYpOgogICAgICAgICAjIElzc3VlICM4NTI0OiB3aGVuIGNyZWF0aW5nIGFuIFNTTCBzb2NrZXQsIHRoZSB0aW1lb3V0IG9mIHRoZQpAQCAtMjQ3LDE1ICsyNDYsMTUgQEAKICAgICAgICAgd2l0aCBzc2wud3JhcF9zb2NrZXQoc29jaywgc2VydmVyX3NpZGU9VHJ1ZSwgY2VydGZpbGU9Q0VSVEZJTEUpIGFzIHM6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICJjYW4ndCBjb25uZWN0IGluIHNlcnZlci1zaWRlIG1vZGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy5jb25uZWN0LCAoSE9TVCwgODA4MCkpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CiAgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzb2NrOgogICAgICAgICAgICAgICAgIHNzbC53cmFwX3NvY2tldChzb2NrLCBjZXJ0ZmlsZT1XUk9OR0NFUlQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FTk9FTlQpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CiAgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzb2NrOgogICAgICAgICAgICAgICAgIHNzbC53cmFwX3NvY2tldChzb2NrLCBjZXJ0ZmlsZT1DRVJURklMRSwga2V5ZmlsZT1XUk9OR0NFUlQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FTk9FTlQpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CiAgICAgICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoKSBhcyBzb2NrOgogICAgICAgICAgICAgICAgIHNzbC53cmFwX3NvY2tldChzb2NrLCBjZXJ0ZmlsZT1XUk9OR0NFUlQsIGtleWZpbGU9V1JPTkdDRVJUKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRU5PRU5UKQpAQCAtMzg3LDExICszODYsOCBAQAogCiAgICAgQHNraXBfaWZfYnJva2VuX3VidW50dV9zc2wKICAgICBkZWYgdGVzdF9jb25zdHJ1Y3RvcihzZWxmKToKLSAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpOgotICAgICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyKQotICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjIzKQotICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfU1NMdjMpCi0gICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgZm9yIHByb3RvY29sIGluIFBST1RPQ09MUzoKKyAgICAgICAgICAgIHNzbC5TU0xDb250ZXh0KHByb3RvY29sKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNzbC5TU0xDb250ZXh0KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzc2wuU1NMQ29udGV4dCwgLTEpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNzbC5TU0xDb250ZXh0LCA0MikKQEAgLTQ1MSw3ICs0NDcsNyBAQAogICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQogICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFLCBrZXlmaWxlPUNFUlRGSUxFKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGN0eC5sb2FkX2NlcnRfY2hhaW4sIGtleWZpbGU9Q0VSVEZJTEUpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcikgYXMgY206CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CiAgICAgICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKFdST05HQ0VSVCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVOT0VOVCkKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KHNzbC5TU0xFcnJvciwgIlBFTSBsaWIiKToKQEAgLTUzNiw3ICs1MzIsNyBAQAogICAgICAgICBjdHgubG9hZF92ZXJpZnlfbG9jYXRpb25zKGNhZmlsZT1CWVRFU19DRVJURklMRSwgY2FwYXRoPU5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY3R4LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjdHgubG9hZF92ZXJpZnlfbG9jYXRpb25zLCBOb25lLCBOb25lKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IpIGFzIGNtOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgogICAgICAgICAgICAgY3R4LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhXUk9OR0NFUlQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FTk9FTlQpCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChzc2wuU1NMRXJyb3IsICJQRU0gbGliIik6CkBAIC01OTQsNiArNTkwLDM0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGN0eC5zZXRfZWNkaF9jdXJ2ZSwgImZvbyIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGN0eC5zZXRfZWNkaF9jdXJ2ZSwgYiJmb28iKQogCisgICAgQG5lZWRzX3NuaQorICAgIGRlZiB0ZXN0X3NuaV9jYWxsYmFjayhzZWxmKToKKyAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorCisgICAgICAgICMgc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2sgZXhwZWN0cyBhIGNhbGxhYmxlLCBvciBOb25lCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY3R4LnNldF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGN0eC5zZXRfc2VydmVybmFtZV9jYWxsYmFjaywgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjdHguc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2ssICIiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGN0eC5zZXRfc2VydmVybmFtZV9jYWxsYmFjaywgY3R4KQorCisgICAgICAgIGRlZiBkdW1teWNhbGxiYWNrKHNvY2ssIHNlcnZlcm5hbWUsIGN0eCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGN0eC5zZXRfc2VydmVybmFtZV9jYWxsYmFjayhOb25lKQorICAgICAgICBjdHguc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2soZHVtbXljYWxsYmFjaykKKworICAgIEBuZWVkc19zbmkKKyAgICBkZWYgdGVzdF9zbmlfY2FsbGJhY2tfcmVmY3ljbGUoc2VsZik6CisgICAgICAgICMgUmVmZXJlbmNlIGN5Y2xlcyB0aHJvdWdoIHRoZSBzZXJ2ZXJuYW1lIGNhbGxiYWNrIGFyZSBkZXRlY3RlZAorICAgICAgICAjIGFuZCBjbGVhcmVkLgorICAgICAgICBjdHggPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgIGRlZiBkdW1teWNhbGxiYWNrKHNvY2ssIHNlcnZlcm5hbWUsIGN0eCwgY3ljbGU9Y3R4KToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgY3R4LnNldF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKGR1bW15Y2FsbGJhY2spCisgICAgICAgIHdyID0gd2Vha3JlZi5yZWYoY3R4KQorICAgICAgICBkZWwgY3R4LCBkdW1teWNhbGxiYWNrCisgICAgICAgIGdjLmNvbGxlY3QoKQorICAgICAgICBzZWxmLmFzc2VydElzKHdyKCksIE5vbmUpCisKIAogY2xhc3MgU1NMRXJyb3JUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTEwMzYsNyArMTA2MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIiBzZXJ2ZXI6IHJlYWQgJXIgKCVzKSwgc2VuZGluZyBiYWNrICVyICglcykuLi5cbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChtc2csIGN0eXBlLCBtc2cubG93ZXIoKSwgY3R5cGUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYud3JpdGUobXNnLmxvd2VyKCkpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5zZXJ2ZXIuY2hhdHR5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZV9lcnJvcigiVGVzdCBzZXJ2ZXIgZmFpbHVyZTpcbiIpCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKQEAgLTExNDYsNyArMTE3MCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVfY2xvc2UoKQogICAgICAgICAgICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGVyci5hcmdzWzBdID09IGVycm5vLkVDT05OQUJPUlRFRDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5oYW5kbGVfY2xvc2UoKQogICAgICAgICAgICAgICAgICAgICBlbHNlOgpAQCAtMTI1MCwxOSArMTI3NCwxOSBAQAogICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyB4OgogICAgICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG5TU0xFcnJvciBpcyAlc1xuIiAlIHguYXJnc1sxXSkKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgeDoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIHg6CiAgICAgICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbnNvY2tldC5lcnJvciBpcyAlc1xuIiAlIHguYXJnc1sxXSkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIHg6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuT1NFcnJvciBpcyAlc1xuIiAlIHguYXJnc1sxXSkKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIHg6CiAgICAgICAgICAgICAgICAgaWYgeC5lcnJubyAhPSBlcnJuby5FTk9FTlQ6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcSU9FcnJvciBpcyAlc1xuIiAlIHN0cih4KSkKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXE9TRXJyb3IgaXMgJXNcbiIgJSBzdHIoeCkpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCJVc2Ugb2YgaW52YWxpZCBjZXJ0IHNob3VsZCBoYXZlIGZhaWxlZCEiKQogCiAgICAgZGVmIHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsIGluZGF0YT1iIkZPT1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PUZhbHNlKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PUZhbHNlLCBzbmlfbmFtZT1Ob25lKToKICAgICAgICAgIiIiCiAgICAgICAgIExhdW5jaCBhIHNlcnZlciwgY29ubmVjdCBhIGNsaWVudCB0byBpdCBhbmQgdHJ5IHZhcmlvdXMgcmVhZHMKICAgICAgICAgYW5kIHdyaXRlcy4KQEAgLTEyNzIsNyArMTI5Niw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9Y2hhdHR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbmNoYXR0eT1GYWxzZSkKICAgICAgICAgd2l0aCBzZXJ2ZXI6Ci0gICAgICAgICAgICB3aXRoIGNsaWVudF9jb250ZXh0LndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSkgYXMgczoKKyAgICAgICAgICAgIHdpdGggY2xpZW50X2NvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpLAorICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaG9zdG5hbWU9c25pX25hbWUpIGFzIHM6CiAgICAgICAgICAgICAgICAgcy5jb25uZWN0KChIT1NULCBzZXJ2ZXIucG9ydCkpCiAgICAgICAgICAgICAgICAgZm9yIGFyZyBpbiBbaW5kYXRhLCBieXRlYXJyYXkoaW5kYXRhKSwgbWVtb3J5dmlldyhpbmRhdGEpXToKICAgICAgICAgICAgICAgICAgICAgaWYgY29ubmVjdGlvbmNoYXR0eToKQEAgLTEyOTYsNiArMTMyMSw3IEBACiAgICAgICAgICAgICAgICAgc3RhdHMudXBkYXRlKHsKICAgICAgICAgICAgICAgICAgICAgJ2NvbXByZXNzaW9uJzogcy5jb21wcmVzc2lvbigpLAogICAgICAgICAgICAgICAgICAgICAnY2lwaGVyJzogcy5jaXBoZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgJ3BlZXJjZXJ0Jzogcy5nZXRwZWVyY2VydCgpLAogICAgICAgICAgICAgICAgICAgICAnY2xpZW50X25wbl9wcm90b2NvbCc6IHMuc2VsZWN0ZWRfbnBuX3Byb3RvY29sKCkKICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgIHMuY2xvc2UoKQpAQCAtMTMyMSwxMiArMTM0NywxNSBAQAogICAgICAgICBjbGllbnRfY29udGV4dC5vcHRpb25zID0gc3NsLk9QX0FMTCB8IGNsaWVudF9vcHRpb25zCiAgICAgICAgIHNlcnZlcl9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc2VydmVyX3Byb3RvY29sKQogICAgICAgICBzZXJ2ZXJfY29udGV4dC5vcHRpb25zID0gc3NsLk9QX0FMTCB8IHNlcnZlcl9vcHRpb25zCisKKyAgICAgICAgIyBOT1RFOiB3ZSBtdXN0IGVuYWJsZSAiQUxMIiBjaXBoZXJzIG9uIHRoZSBjbGllbnQsIG90aGVyd2lzZSBhbgorICAgICAgICAjIFNTTHYyMyBjbGllbnQgd2lsbCBzZW5kIGFuIFNTTHYzIGhlbGxvIChyYXRoZXIgdGhhbiBTU0x2MikKKyAgICAgICAgIyBzdGFydGluZyBmcm9tIE9wZW5TU0wgMS4wLjAgKHNlZSBpc3N1ZSAjODMyMikuCisgICAgICAgIGlmIGNsaWVudF9jb250ZXh0LnByb3RvY29sID09IHNzbC5QUk9UT0NPTF9TU0x2MjM6CisgICAgICAgICAgICBjbGllbnRfY29udGV4dC5zZXRfY2lwaGVycygiQUxMIikKKwogICAgICAgICBmb3IgY3R4IGluIChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQpOgogICAgICAgICAgICAgY3R4LnZlcmlmeV9tb2RlID0gY2VydHNyZXFzCi0gICAgICAgICAgICAjIE5PVEU6IHdlIG11c3QgZW5hYmxlICJBTEwiIGNpcGhlcnMsIG90aGVyd2lzZSBhbiBTU0x2MjMgY2xpZW50Ci0gICAgICAgICAgICAjIHdpbGwgc2VuZCBhbiBTU0x2MyBoZWxsbyAocmF0aGVyIHRoYW4gU1NMdjIpIHN0YXJ0aW5nIGZyb20KLSAgICAgICAgICAgICMgT3BlblNTTCAxLjAuMCAoc2VlIGlzc3VlICM4MzIyKS4KLSAgICAgICAgICAgIGN0eC5zZXRfY2lwaGVycygiQUxMIikKICAgICAgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCiAgICAgICAgICAgICBjdHgubG9hZF92ZXJpZnlfbG9jYXRpb25zKENFUlRGSUxFKQogICAgICAgICB0cnk6CkBAIC0xMzM3LDcgKzEzNjYsNyBAQAogICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yOgogICAgICAgICAgICAgaWYgZXhwZWN0X3N1Y2Nlc3M6CiAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgogICAgICAgICAgICAgaWYgZXhwZWN0X3N1Y2Nlc3Mgb3IgZS5lcnJubyAhPSBlcnJuby5FQ09OTlJFU0VUOgogICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGVsc2U6CkBAIC0xMzU2LDEwICsxMzg1LDExIEBACiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQogICAgICAgICAgICAgZm9yIHByb3RvY29sIGluIFBST1RPQ09MUzoKLSAgICAgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQocHJvdG9jb2wpCi0gICAgICAgICAgICAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCi0gICAgICAgICAgICAgICAgc2VydmVyX3BhcmFtc190ZXN0KGNvbnRleHQsIGNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PVRydWUpCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QocHJvdG9jb2w9c3NsLl9QUk9UT0NPTF9OQU1FU1twcm90b2NvbF0pOgorICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQocHJvdG9jb2wpCisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFKQorICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY29udGV4dCwgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PVRydWUpCiAKICAgICAgICAgZGVmIHRlc3RfZ2V0cGVlcmNlcnQoc2VsZik6CiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CkBAIC0xNDExLDcgKzE0NDEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhZGtleS5wZW0iKSkKIAogICAgICAgICBkZWYgdGVzdF9ydWRlX3NodXRkb3duKHNlbGYpOgotICAgICAgICAgICAgIiIiQSBicnV0YWwgc2h1dGRvd24gb2YgYW4gU1NMIHNlcnZlciBzaG91bGQgcmFpc2UgYW4gSU9FcnJvcgorICAgICAgICAgICAgIiIiQSBicnV0YWwgc2h1dGRvd24gb2YgYW4gU1NMIHNlcnZlciBzaG91bGQgcmFpc2UgYW4gT1NFcnJvcgogICAgICAgICAgICAgaW4gdGhlIGNsaWVudCB3aGVuIGF0dGVtcHRpbmcgaGFuZHNoYWtlLgogICAgICAgICAgICAgIiIiCiAgICAgICAgICAgICBsaXN0ZW5lcl9yZWFkeSA9IHRocmVhZGluZy5FdmVudCgpCkBAIC0xNDM5LDcgKzE0NjksNyBAQAogICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcl9nb25lLndhaXQoKQogICAgICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICAgICBzc2xfc29jayA9IHNzbC53cmFwX3NvY2tldChjKQotICAgICAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ2Nvbm5lY3RpbmcgdG8gY2xvc2VkIFNTTCBzb2NrZXQgc2hvdWxkIGhhdmUgZmFpbGVkJykKQEAgLTE0ODIsNyArMTUxMiw3IEBACiAgICAgICAgICAgICBpZiBoYXNhdHRyKHNzbCwgJ1BST1RPQ09MX1NTTHYyJyk6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1NTTHYyLCBUcnVlKQotICAgICAgICAgICAgICAgIGV4Y2VwdCAoc3NsLlNTTEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIHg6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgeDoKICAgICAgICAgICAgICAgICAgICAgIyB0aGlzIGZhaWxzIG9uIHNvbWUgb2xkZXIgdmVyc2lvbnMgb2YgT3BlblNTTCAoMC45LjdsLCBmb3IgaW5zdGFuY2UpCiAgICAgICAgICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoCkBAIC0xNTQyLDYgKzE1NzIsNDkgQEAKICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIEZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXNzbC5PUF9OT19UTFN2MSkKIAorICAgICAgICBAc2tpcF9pZl9icm9rZW5fdWJ1bnR1X3NzbAorICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNzbCwgIlBST1RPQ09MX1RMU3YxXzEiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRMUyB2ZXJzaW9uIDEuMSBub3Qgc3VwcG9ydGVkLiIpCisgICAgICAgIGRlZiB0ZXN0X3Byb3RvY29sX3Rsc3YxXzEoc2VsZik6CisgICAgICAgICAgICAiIiJDb25uZWN0aW5nIHRvIGEgVExTdjEuMSBzZXJ2ZXIgd2l0aCB2YXJpb3VzIGNsaWVudCBvcHRpb25zLgorICAgICAgICAgICAgICAgVGVzdGluZyBhZ2FpbnN0IG9sZGVyIFRMUyB2ZXJzaW9ucy4iIiIKKyAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKKyAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzEsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBUcnVlKQorICAgICAgICAgICAgaWYgaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpOgorICAgICAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1NTTHYyLCBGYWxzZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1NTTHYzLCBGYWxzZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1NTTHYyMywgRmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X29wdGlvbnM9c3NsLk9QX05PX1RMU3YxXzEpCisKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfU1NMdjIzLCBzc2wuUFJPVE9DT0xfVExTdjFfMSwgVHJ1ZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1RMU3YxLCBGYWxzZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjEsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBGYWxzZSkKKworCisgICAgICAgIEBza2lwX2lmX2Jyb2tlbl91YnVudHVfc3NsCisgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc3NsLCAiUFJPVE9DT0xfVExTdjFfMiIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVExTIHZlcnNpb24gMS4yIG5vdCBzdXBwb3J0ZWQuIikKKyAgICAgICAgZGVmIHRlc3RfcHJvdG9jb2xfdGxzdjFfMihzZWxmKToKKyAgICAgICAgICAgICIiIkNvbm5lY3RpbmcgdG8gYSBUTFN2MS4yIHNlcnZlciB3aXRoIHZhcmlvdXMgY2xpZW50IG9wdGlvbnMuCisgICAgICAgICAgICAgICBUZXN0aW5nIGFnYWluc3Qgb2xkZXIgVExTIHZlcnNpb25zLiIiIgorICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgorICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMiwgc3NsLlBST1RPQ09MX1RMU3YxXzIsIFRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX29wdGlvbnM9c3NsLk9QX05PX1NTTHYzfHNzbC5PUF9OT19TU0x2MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRfb3B0aW9ucz1zc2wuT1BfTk9fU1NMdjN8c3NsLk9QX05PX1NTTHYyLCkKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKToKKyAgICAgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9TU0x2MiwgRmFsc2UpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9TU0x2MywgRmFsc2UpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9TU0x2MjMsIEZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudF9vcHRpb25zPXNzbC5PUF9OT19UTFN2MV8yKQorCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1NTTHYyMywgc3NsLlBST1RPQ09MX1RMU3YxXzIsIFRydWUpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9UTFN2MSwgRmFsc2UpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxLCBzc2wuUFJPVE9DT0xfVExTdjFfMiwgRmFsc2UpCisgICAgICAgICAgICB0cnlfcHJvdG9jb2xfY29tYm8oc3NsLlBST1RPQ09MX1RMU3YxXzIsIHNzbC5QUk9UT0NPTF9UTFN2MV8xLCBGYWxzZSkKKyAgICAgICAgICAgIHRyeV9wcm90b2NvbF9jb21ibyhzc2wuUFJPVE9DT0xfVExTdjFfMSwgc3NsLlBST1RPQ09MX1RMU3YxXzIsIEZhbHNlKQorCiAgICAgICAgIGRlZiB0ZXN0X3N0YXJ0dGxzKHNlbGYpOgogICAgICAgICAgICAgIiIiU3dpdGNoaW5nIGZyb20gY2xlYXIgdGV4dCB0byBlbmNyeXB0ZWQgYW5kIGJhY2sgYWdhaW4uIiIiCiAgICAgICAgICAgICBtc2dzID0gKGIibXNnIDEiLCBiIk1TRyAyIiwgYiJTVEFSVFRMUyIsIGIiTVNHIDMiLCBiIm1zZyA0IiwgYiJFTkRUTFMiLCBiIm1zZyA1IiwgYiJtc2cgNiIpCkBAIC0xNjAyLDcgKzE2NzUsNyBAQAogCiAgICAgICAgIGRlZiB0ZXN0X3NvY2tldHNlcnZlcihzZWxmKToKICAgICAgICAgICAgICIiIlVzaW5nIGEgU29ja2V0U2VydmVyIHRvIGNyZWF0ZSBhbmQgbWFuYWdlIFNTTCBjb25uZWN0aW9ucy4iIiIKLSAgICAgICAgICAgIHNlcnZlciA9IG1ha2VfaHR0cHNfc2VydmVyKHNlbGYsIENFUlRGSUxFKQorICAgICAgICAgICAgc2VydmVyID0gbWFrZV9odHRwc19zZXJ2ZXIoc2VsZiwgY2VydGZpbGU9Q0VSVEZJTEUpCiAgICAgICAgICAgICAjIHRyeSB0byBjb25uZWN0CiAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CiAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgnXG4nKQpAQCAtMTg2OSw3ICsxOTQyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9TU0x2MjMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9RmFsc2UpIGFzIHNlcnZlcjoKICAgICAgICAgICAgICAgICB3aXRoIGNvbnRleHQud3JhcF9zb2NrZXQoc29ja2V0LnNvY2tldCgpKSBhcyBzOgotICAgICAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKChPU0Vycm9yLCBzc2wuU1NMRXJyb3IpKToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKToKICAgICAgICAgICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibm8gc2hhcmVkIGNpcGhlciIsIHN0cihzZXJ2ZXIuY29ubl9lcnJvcnNbMF0pKQogCkBAIC0yMDAyLDYgKzIwNzUsMTA5IEBACiAgICAgICAgICAgICAgICAgICAgIGlmIGxlbihzdGF0c1snc2VydmVyX25wbl9wcm90b2NvbHMnXSkgZWxzZSAnbm90aGluZycKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlcnZlcl9yZXN1bHQsIGV4cGVjdGVkLCBtc2cgJSAoc2VydmVyX3Jlc3VsdCwgInNlcnZlciIpKQogCisgICAgICAgIGRlZiBzbmlfY29udGV4dHMoc2VsZik6CisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LmxvYWRfY2VydF9jaGFpbihTSUdORURfQ0VSVEZJTEUpCisgICAgICAgICAgICBvdGhlcl9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgb3RoZXJfY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oU0lHTkVEX0NFUlRGSUxFMikKKyAgICAgICAgICAgIGNsaWVudF9jb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAorICAgICAgICAgICAgY2xpZW50X2NvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKFNJR05JTkdfQ0EpCisgICAgICAgICAgICByZXR1cm4gc2VydmVyX2NvbnRleHQsIG90aGVyX2NvbnRleHQsIGNsaWVudF9jb250ZXh0CisKKyAgICAgICAgZGVmIGNoZWNrX2NvbW1vbl9uYW1lKHNlbGYsIHN0YXRzLCBuYW1lKToKKyAgICAgICAgICAgIGNlcnQgPSBzdGF0c1sncGVlcmNlcnQnXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigoKCdjb21tb25OYW1lJywgbmFtZSksKSwgY2VydFsnc3ViamVjdCddKQorCisgICAgICAgIEBuZWVkc19zbmkKKyAgICAgICAgZGVmIHRlc3Rfc25pX2NhbGxiYWNrKHNlbGYpOgorICAgICAgICAgICAgY2FsbHMgPSBbXQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQsIG90aGVyX2NvbnRleHQsIGNsaWVudF9jb250ZXh0ID0gc2VsZi5zbmlfY29udGV4dHMoKQorCisgICAgICAgICAgICBkZWYgc2VydmVybmFtZV9jYihzc2xfc29jaywgc2VydmVyX25hbWUsIGluaXRpYWxfY29udGV4dCk6CisgICAgICAgICAgICAgICAgY2FsbHMuYXBwZW5kKChzZXJ2ZXJfbmFtZSwgaW5pdGlhbF9jb250ZXh0KSkKKyAgICAgICAgICAgICAgICBpZiBzZXJ2ZXJfbmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgc3NsX3NvY2suY29udGV4dCA9IG90aGVyX2NvbnRleHQKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKHNlcnZlcm5hbWVfY2IpCisKKyAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc25pX25hbWU9J3N1cGVybWVzc2FnZScpCisgICAgICAgICAgICAjIFRoZSBob3N0bmFtZSB3YXMgZmV0Y2hlZCBwcm9wZXJseSwgYW5kIHRoZSBjZXJ0aWZpY2F0ZSB3YXMKKyAgICAgICAgICAgICMgY2hhbmdlZCBmb3IgdGhlIGNvbm5lY3Rpb24uCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhbGxzLCBbKCJzdXBlcm1lc3NhZ2UiLCBzZXJ2ZXJfY29udGV4dCldKQorICAgICAgICAgICAgIyBDRVJURklMRTQgd2FzIHNlbGVjdGVkCisgICAgICAgICAgICBzZWxmLmNoZWNrX2NvbW1vbl9uYW1lKHN0YXRzLCAnZmFrZWhvc3RuYW1lJykKKworICAgICAgICAgICAgY2FsbHMgPSBbXQorICAgICAgICAgICAgIyBUaGUgY2FsbGJhY2sgaXMgY2FsbGVkIHdpdGggc2VydmVyX25hbWU9Tm9uZQorICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmlfbmFtZT1Ob25lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYWxscywgWyhOb25lLCBzZXJ2ZXJfY29udGV4dCldKQorICAgICAgICAgICAgc2VsZi5jaGVja19jb21tb25fbmFtZShzdGF0cywgJ2xvY2FsaG9zdCcpCisKKyAgICAgICAgICAgICMgQ2hlY2sgZGlzYWJsaW5nIHRoZSBjYWxsYmFjaworICAgICAgICAgICAgY2FsbHMgPSBbXQorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2soTm9uZSkKKworICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY2xpZW50X2NvbnRleHQsIHNlcnZlcl9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbmlfbmFtZT0nbm90ZnVubnknKQorICAgICAgICAgICAgIyBDZXJ0aWZpY2F0ZSBkaWRuJ3QgY2hhbmdlCisgICAgICAgICAgICBzZWxmLmNoZWNrX2NvbW1vbl9uYW1lKHN0YXRzLCAnbG9jYWxob3N0JykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FsbHMsIFtdKQorCisgICAgICAgIEBuZWVkc19zbmkKKyAgICAgICAgZGVmIHRlc3Rfc25pX2NhbGxiYWNrX2FsZXJ0KHNlbGYpOgorICAgICAgICAgICAgIyBSZXR1cm5pbmcgYSBUTFMgYWxlcnQgaXMgcmVmbGVjdGVkIHRvIHRoZSBjb25uZWN0aW5nIGNsaWVudAorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQsIG90aGVyX2NvbnRleHQsIGNsaWVudF9jb250ZXh0ID0gc2VsZi5zbmlfY29udGV4dHMoKQorCisgICAgICAgICAgICBkZWYgY2JfcmV0dXJuaW5nX2FsZXJ0KHNzbF9zb2NrLCBzZXJ2ZXJfbmFtZSwgaW5pdGlhbF9jb250ZXh0KToKKyAgICAgICAgICAgICAgICByZXR1cm4gc3NsLkFMRVJUX0RFU0NSSVBUSU9OX0FDQ0VTU19ERU5JRUQKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKGNiX3JldHVybmluZ19hbGVydCkKKworICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzc2wuU1NMRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNsaWVudF9jb250ZXh0LCBzZXJ2ZXJfY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc25pX25hbWU9J3N1cGVybWVzc2FnZScpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5yZWFzb24sICdUTFNWMV9BTEVSVF9BQ0NFU1NfREVOSUVEJykKKworICAgICAgICBAbmVlZHNfc25pCisgICAgICAgIGRlZiB0ZXN0X3NuaV9jYWxsYmFja19yYWlzaW5nKHNlbGYpOgorICAgICAgICAgICAgIyBSYWlzaW5nIGZhaWxzIHRoZSBjb25uZWN0aW9uIHdpdGggYSBUTFMgaGFuZHNoYWtlIGZhaWx1cmUgYWxlcnQuCisgICAgICAgICAgICBzZXJ2ZXJfY29udGV4dCwgb3RoZXJfY29udGV4dCwgY2xpZW50X2NvbnRleHQgPSBzZWxmLnNuaV9jb250ZXh0cygpCisKKyAgICAgICAgICAgIGRlZiBjYl9yYWlzaW5nKHNzbF9zb2NrLCBzZXJ2ZXJfbmFtZSwgaW5pdGlhbF9jb250ZXh0KToKKyAgICAgICAgICAgICAgICAxLzAKKyAgICAgICAgICAgIHNlcnZlcl9jb250ZXh0LnNldF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKGNiX3JhaXNpbmcpCisKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3NsLlNTTEVycm9yKSBhcyBjbSwgXAorICAgICAgICAgICAgICAgICBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuaV9uYW1lPSdzdXBlcm1lc3NhZ2UnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ucmVhc29uLCAnU1NMVjNfQUxFUlRfSEFORFNIQUtFX0ZBSUxVUkUnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiWmVyb0RpdmlzaW9uRXJyb3IiLCBzdGRlcnIuZ2V0dmFsdWUoKSkKKworICAgICAgICBAbmVlZHNfc25pCisgICAgICAgIGRlZiB0ZXN0X3NuaV9jYWxsYmFja193cm9uZ19yZXR1cm5fdHlwZShzZWxmKToKKyAgICAgICAgICAgICMgUmV0dXJuaW5nIHRoZSB3cm9uZyByZXR1cm4gdHlwZSB0ZXJtaW5hdGVzIHRoZSBUTFMgY29ubmVjdGlvbgorICAgICAgICAgICAgIyB3aXRoIGFuIGludGVybmFsIGVycm9yIGFsZXJ0LgorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQsIG90aGVyX2NvbnRleHQsIGNsaWVudF9jb250ZXh0ID0gc2VsZi5zbmlfY29udGV4dHMoKQorCisgICAgICAgICAgICBkZWYgY2Jfd3JvbmdfcmV0dXJuX3R5cGUoc3NsX3NvY2ssIHNlcnZlcl9uYW1lLCBpbml0aWFsX2NvbnRleHQpOgorICAgICAgICAgICAgICAgIHJldHVybiAiZm9vIgorICAgICAgICAgICAgc2VydmVyX2NvbnRleHQuc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2soY2Jfd3JvbmdfcmV0dXJuX3R5cGUpCisKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3NsLlNTTEVycm9yKSBhcyBjbSwgXAorICAgICAgICAgICAgICAgICBzdXBwb3J0LmNhcHR1cmVkX3N0ZGVycigpIGFzIHN0ZGVycjoKKyAgICAgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjbGllbnRfY29udGV4dCwgc2VydmVyX2NvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNuaV9uYW1lPSdzdXBlcm1lc3NhZ2UnKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24ucmVhc29uLCAnVExTVjFfQUxFUlRfSU5URVJOQUxfRVJST1InKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiVHlwZUVycm9yIiwgc3RkZXJyLmdldHZhbHVlKCkpCisKIAogZGVmIHRlc3RfbWFpbih2ZXJib3NlPUZhbHNlKToKICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CkBAIC0yMDIxLDEwICsyMTk3LDE2IEBACiAgICAgICAgICAgICAoc3NsLk9QRU5TU0xfVkVSU0lPTiwgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPKSkKICAgICAgICAgcHJpbnQoIiAgICAgICAgICB1bmRlciAlcyIgJSBwbGF0KQogICAgICAgICBwcmludCgiICAgICAgICAgIEhBU19TTkkgPSAlciIgJSBzc2wuSEFTX1NOSSkKKyAgICAgICAgcHJpbnQoIiAgICAgICAgICBPUF9BTEwgPSAweCU4eCIgJSBzc2wuT1BfQUxMKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBwcmludCgiICAgICAgICAgIE9QX05PX1RMU3YxXzEgPSAweCU4eCIgJSBzc2wuT1BfTk9fVExTdjFfMSkKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcwogCiAgICAgZm9yIGZpbGVuYW1lIGluIFsKICAgICAgICAgQ0VSVEZJTEUsIFNWTl9QWVRIT05fT1JHX1JPT1RfQ0VSVCwgQllURVNfQ0VSVEZJTEUsCiAgICAgICAgIE9OTFlDRVJULCBPTkxZS0VZLCBCWVRFU19PTkxZQ0VSVCwgQllURVNfT05MWUtFWSwKKyAgICAgICAgU0lHTkVEX0NFUlRGSUxFLCBTSUdORURfQ0VSVEZJTEUyLCBTSUdOSU5HX0NBLAogICAgICAgICBCQURDRVJULCBCQURLRVksIEVNUFRZQ0VSVF06CiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSk6CiAgICAgICAgICAgICByYWlzZSBzdXBwb3J0LlRlc3RGYWlsZWQoIkNhbid0IHJlYWQgY2VydGlmaWNhdGUgZmlsZSAlciIgJSBmaWxlbmFtZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc3RydWN0LnB5IGIvTGliL3Rlc3QvdGVzdF9zdHJ1Y3QucHkKaW5kZXggMjIzNzRkMi4uOGZmYTdlNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zdHJ1Y3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zdHJ1Y3QucHkKQEAgLTEsNCArMSw2IEBACitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBhYmMKIGltcG9ydCBhcnJheQoraW1wb3J0IG9wZXJhdG9yCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBzdHJ1Y3QKIGltcG9ydCBzeXMKQEAgLTQ4OSw3ICs0OTEsNyBAQAogICAgIGRlZiB0ZXN0X2Jvb2woc2VsZik6CiAgICAgICAgIGNsYXNzIEV4cGxvZGluZ0Jvb2wob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBfX2Jvb2xfXyhzZWxmKToKLSAgICAgICAgICAgICAgICByYWlzZSBJT0Vycm9yCisgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcgogICAgICAgICBmb3IgcHJlZml4IGluIHR1cGxlKCI8PiE9IikrKCcnLCk6CiAgICAgICAgICAgICBmYWxzZSA9ICgpLCBbXSwgW10sICcnLCAwCiAgICAgICAgICAgICB0cnVlID0gWzFdLCAndGVzdCcsIDUsIC0xLCAweGZmZmZmZmZmKzEsIDB4ZmZmZmZmZmYvMgpAQCAtNTIwLDEwICs1MjIsMTAgQEAKIAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHN0cnVjdC5wYWNrKHByZWZpeCArICc/JywgRXhwbG9kaW5nQm9vbCgpKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiRXhwZWN0ZWQgSU9FcnJvcjogc3RydWN0LnBhY2soJXIsICIKKyAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIE9TRXJyb3I6IHN0cnVjdC5wYWNrKCVyLCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJFeHBsb2RpbmdCb29sKCkpIiAlIChwcmVmaXggKyAnPycpKQogCiAgICAgICAgIGZvciBjIGluIFtiJ1x4MDEnLCBiJ1x4N2YnLCBiJ1x4ZmYnLCBiJ1x4MGYnLCBiJ1x4ZjAnXToKQEAgLTU5Myw4ICs1OTUsNzggQEAKICAgICAgICAgc2VsZi5jaGVja19zaXplb2YoJzBzJywgMSkKICAgICAgICAgc2VsZi5jaGVja19zaXplb2YoJzBjJywgMCkKIAorCitjbGFzcyBVbnBhY2tJdGVyYXRvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIgorICAgIFRlc3RzIGZvciBpdGVyYXRpdmUgdW5wYWNraW5nIChzdHJ1Y3QuU3RydWN0Lml0ZXJfdW5wYWNrKS4KKyAgICAiIiIKKworICAgIGRlZiB0ZXN0X2NvbnN0cnVjdChzZWxmKToKKyAgICAgICAgZGVmIF9jaGVja19pdGVyYXRvcihpdCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoaXQsIGFiYy5JdGVyYXRvcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShpdCwgYWJjLkl0ZXJhYmxlKQorICAgICAgICBzID0gc3RydWN0LlN0cnVjdCgnPmliY3AnKQorICAgICAgICBpdCA9IHMuaXRlcl91bnBhY2soYiIiKQorICAgICAgICBfY2hlY2tfaXRlcmF0b3IoaXQpCisgICAgICAgIGl0ID0gcy5pdGVyX3VucGFjayhiIjEyMzQ1NjciKQorICAgICAgICBfY2hlY2tfaXRlcmF0b3IoaXQpCisgICAgICAgICMgV3JvbmcgYnl0ZXMgbGVuZ3RoCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yKToKKyAgICAgICAgICAgIHMuaXRlcl91bnBhY2soYiIxMjM0NTYiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHN0cnVjdC5lcnJvcik6CisgICAgICAgICAgICBzLml0ZXJfdW5wYWNrKGIiMTIzNDU2NzgiKQorICAgICAgICAjIFplcm8tbGVuZ3RoIHN0cnVjdAorICAgICAgICBzID0gc3RydWN0LlN0cnVjdCgnPicpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yKToKKyAgICAgICAgICAgIHMuaXRlcl91bnBhY2soYiIiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHN0cnVjdC5lcnJvcik6CisgICAgICAgICAgICBzLml0ZXJfdW5wYWNrKGIiMTIiKQorCisgICAgZGVmIHRlc3RfaXRlcmF0ZShzZWxmKToKKyAgICAgICAgcyA9IHN0cnVjdC5TdHJ1Y3QoJz5JQicpCisgICAgICAgIGIgPSBieXRlcyhyYW5nZSgxLCAxNikpCisgICAgICAgIGl0ID0gcy5pdGVyX3VucGFjayhiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5leHQoaXQpLCAoMHgwMTAyMDMwNCwgNSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChpdCksICgweDA2MDcwODA5LCAxMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChpdCksICgweDBiMGMwZDBlLCAxNSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24sIG5leHQsIGl0KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBuZXh0LCBpdCkKKworICAgIGRlZiB0ZXN0X2FyYml0cmFyeV9idWZmZXIoc2VsZik6CisgICAgICAgIHMgPSBzdHJ1Y3QuU3RydWN0KCc+SUInKQorICAgICAgICBiID0gYnl0ZXMocmFuZ2UoMSwgMTEpKQorICAgICAgICBpdCA9IHMuaXRlcl91bnBhY2sobWVtb3J5dmlldyhiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXh0KGl0KSwgKDB4MDEwMjAzMDQsIDUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5leHQoaXQpLCAoMHgwNjA3MDgwOSwgMTApKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBuZXh0LCBpdCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbmV4dCwgaXQpCisKKyAgICBkZWYgdGVzdF9sZW5ndGhfaGludChzZWxmKToKKyAgICAgICAgbGggPSBvcGVyYXRvci5sZW5ndGhfaGludAorICAgICAgICBzID0gc3RydWN0LlN0cnVjdCgnPklCJykKKyAgICAgICAgYiA9IGJ5dGVzKHJhbmdlKDEsIDE2KSkKKyAgICAgICAgaXQgPSBzLml0ZXJfdW5wYWNrKGIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGgoaXQpLCAzKQorICAgICAgICBuZXh0KGl0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxoKGl0KSwgMikKKyAgICAgICAgbmV4dChpdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaChpdCksIDEpCisgICAgICAgIG5leHQoaXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGgoaXQpLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBuZXh0LCBpdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaChpdCksIDApCisKKyAgICBkZWYgdGVzdF9tb2R1bGVfZnVuYyhzZWxmKToKKyAgICAgICAgIyBTYW5pdHkgY2hlY2sgZm9yIHRoZSBnbG9iYWwgc3RydWN0Lml0ZXJfdW5wYWNrKCkKKyAgICAgICAgaXQgPSBzdHJ1Y3QuaXRlcl91bnBhY2soJz5JQicsIGJ5dGVzKHJhbmdlKDEsIDExKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChpdCksICgweDAxMDIwMzA0LCA1KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXh0KGl0KSwgKDB4MDYwNzA4MDksIDEwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbmV4dCwgaXQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24sIG5leHQsIGl0KQorCisKIGRlZiB0ZXN0X21haW4oKToKLSAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChTdHJ1Y3RUZXN0KQorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KF9fbmFtZV9fKQogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkgYi9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkKaW5kZXggZGQ3MjBmZS4uNmQ4YWZhZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3VicHJvY2Vzcy5weQpAQCAtMTU4LDggKzE1OCwyOCBAQAogICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCkKICAgICAgICAgc2VsZi5hc3NlcnRJbihiJ0JERkwnLCBvdXRwdXQpCiAKKyAgICBkZWYgdGVzdF9jaGVja19vdXRwdXRfc3RkaW5fYXJnKHNlbGYpOgorICAgICAgICAjIGNoZWNrX291dHB1dCgpIGNhbiBiZSBjYWxsZWQgd2l0aCBzdGRpbiBzZXQgdG8gYSBmaWxlCisgICAgICAgIHRmID0gdGVtcGZpbGUuVGVtcG9yYXJ5RmlsZSgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cCh0Zi5jbG9zZSkKKyAgICAgICAgdGYud3JpdGUoYidwZWFyJykKKyAgICAgICAgdGYuc2VlaygwKQorICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKKyAgICAgICAgICAgICAgICBbc3lzLmV4ZWN1dGFibGUsICItYyIsCisgICAgICAgICAgICAgICAgICJpbXBvcnQgc3lzOyBzeXMuc3Rkb3V0LndyaXRlKHN5cy5zdGRpbi5yZWFkKCkudXBwZXIoKSkiXSwKKyAgICAgICAgICAgICAgICBzdGRpbj10ZikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1BFQVInLCBvdXRwdXQpCisKKyAgICBkZWYgdGVzdF9jaGVja19vdXRwdXRfaW5wdXRfYXJnKHNlbGYpOgorICAgICAgICAjIGNoZWNrX291dHB1dCgpIGNhbiBiZSBjYWxsZWQgd2l0aCBpbnB1dCBzZXQgdG8gYSBzdHJpbmcKKyAgICAgICAgb3V0cHV0ID0gc3VicHJvY2Vzcy5jaGVja19vdXRwdXQoCisgICAgICAgICAgICAgICAgW3N5cy5leGVjdXRhYmxlLCAiLWMiLAorICAgICAgICAgICAgICAgICAiaW1wb3J0IHN5czsgc3lzLnN0ZG91dC53cml0ZShzeXMuc3RkaW4ucmVhZCgpLnVwcGVyKCkpIl0sCisgICAgICAgICAgICAgICAgaW5wdXQ9YidwZWFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ1BFQVInLCBvdXRwdXQpCisKICAgICBkZWYgdGVzdF9jaGVja19vdXRwdXRfc3Rkb3V0X2FyZyhzZWxmKToKLSAgICAgICAgIyBjaGVja19vdXRwdXQoKSBmdW5jdGlvbiBzdGRlcnIgcmVkaXJlY3RlZCB0byBzdGRvdXQKKyAgICAgICAgIyBjaGVja19vdXRwdXQoKSByZWZ1c2VzIHRvIGFjY2VwdCAnc3Rkb3V0JyBhcmd1bWVudAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGM6CiAgICAgICAgICAgICBvdXRwdXQgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dCgKICAgICAgICAgICAgICAgICAgICAgW3N5cy5leGVjdXRhYmxlLCAiLWMiLCAicHJpbnQoJ3dpbGwgbm90IGJlIHJ1bicpIl0sCkBAIC0xNjcsNiArMTg3LDIwIEBACiAgICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIFZhbHVlRXJyb3Igd2hlbiBzdGRvdXQgYXJnIHN1cHBsaWVkLiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3N0ZG91dCcsIGMuZXhjZXB0aW9uLmFyZ3NbMF0pCiAKKyAgICBkZWYgdGVzdF9jaGVja19vdXRwdXRfc3RkaW5fd2l0aF9pbnB1dF9hcmcoc2VsZik6CisgICAgICAgICMgY2hlY2tfb3V0cHV0KCkgcmVmdXNlcyB0byBhY2NlcHQgJ3N0ZGluJyB3aXRoICdpbnB1dCcKKyAgICAgICAgdGYgPSB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHRmLmNsb3NlKQorICAgICAgICB0Zi53cml0ZShiJ3BlYXInKQorICAgICAgICB0Zi5zZWVrKDApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgYzoKKyAgICAgICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAgICAgICAgICBbc3lzLmV4ZWN1dGFibGUsICItYyIsICJwcmludCgnd2lsbCBub3QgYmUgcnVuJykiXSwKKyAgICAgICAgICAgICAgICAgICAgc3RkaW49dGYsIGlucHV0PWInaGFyZScpCisgICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIFZhbHVlRXJyb3Igd2hlbiBzdGRpbiBhbmQgaW5wdXQgYXJncyBzdXBwbGllZC4iKQorICAgICAgICBzZWxmLmFzc2VydEluKCdzdGRpbicsIGMuZXhjZXB0aW9uLmFyZ3NbMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2lucHV0JywgYy5leGNlcHRpb24uYXJnc1swXSkKKwogICAgIGRlZiB0ZXN0X2NoZWNrX291dHB1dF90aW1lb3V0KHNlbGYpOgogICAgICAgICAjIGNoZWNrX291dHB1dCgpIGZ1bmN0aW9uIHdpdGggdGltZW91dCBhcmcKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzdWJwcm9jZXNzLlRpbWVvdXRFeHBpcmVkKSBhcyBjOgpAQCAtOTc3LDggKzEwMTEsNyBAQAogICAgICAgICAjIHZhbHVlIGZvciB0aGF0IGxpbWl0LCBidXQgV2luZG93cyBoYXMgMjA0OCwgc28gd2UgbG9vcAogICAgICAgICAjIDEwMjQgdGltZXMgKGVhY2ggY2FsbCBsZWFrZWQgdHdvIGZkcykuCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDEwMjQpOgotICAgICAgICAgICAgIyBXaW5kb3dzIHJhaXNlcyBJT0Vycm9yLiAgT3RoZXJzIHJhaXNlIE9TRXJyb3IuCi0gICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEVudmlyb25tZW50RXJyb3IpIGFzIGM6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGM6CiAgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5Qb3BlbihbJ25vbmV4aXN0aW5nX2lfaG9wZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCkBAIC0xMjMxLDcgKzEyNjQsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3Blbihbc3lzLmV4ZWN1dGFibGUsICItYyIsICIiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWV4ZWNfZm49cmFpc2VfaXQpCi0gICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IHN1YnByb2Nlc3MuU3VicHJvY2Vzc0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoCiAgICAgICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuX3Bvc2l4c3VicHJvY2VzcywKICAgICAgICAgICAgICAgICAgICAgIkV4cGVjdGVkIGEgVmFsdWVFcnJvciBmcm9tIHRoZSBwcmVleGVjX2ZuIikKQEAgLTEyNzAsOSArMTMwMywxMCBAQAogICAgICAgICAiIiJJc3N1ZTE2MTQwOiBEb24ndCBkb3VibGUgY2xvc2UgcGlwZXMgb24gcHJlZXhlYyBlcnJvci4iIiIKIAogICAgICAgICBkZWYgcmFpc2VfaXQoKToKLSAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiZm9yY2UgdGhlIF9leGVjdXRlX2NoaWxkKCkgZXJycGlwZV9kYXRhIHBhdGguIikKKyAgICAgICAgICAgIHJhaXNlIHN1YnByb2Nlc3MuU3VicHJvY2Vzc0Vycm9yKAorICAgICAgICAgICAgICAgICAgICAiZm9yY2UgdGhlIF9leGVjdXRlX2NoaWxkKCkgZXJycGlwZV9kYXRhIHBhdGguIikKIAotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3VicHJvY2Vzcy5TdWJwcm9jZXNzRXJyb3IpOgogICAgICAgICAgICAgc2VsZi5fVGVzdEV4ZWN1dGVDaGlsZFBvcGVuKAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwgW3N5cy5leGVjdXRhYmxlLCAiLWMiLCAicGFzcyJdLAogICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3VicHJvY2Vzcy5QSVBFLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLApAQCAtMTYzNSwxMiArMTY2OSwxMiBAQAogICAgICAgICAgICAgIyBQdXJlIFB5dGhvbiBpbXBsZW1lbnRhdGlvbnMga2VlcHMgdGhlIG1lc3NhZ2UKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHN1YnByb2Nlc3MuX3Bvc2l4c3VicHJvY2VzcykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksICJzdXJyb2dhdGU6XHVEQ2ZmIikKLSAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvciBhcyBlcnI6CisgICAgICAgIGV4Y2VwdCBzdWJwcm9jZXNzLlN1YnByb2Nlc3NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAjIF9wb3NpeHN1YnByb2Nlc3MgdXNlcyBhIGRlZmF1bHQgbWVzc2FnZQogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoc3VicHJvY2Vzcy5fcG9zaXhzdWJwcm9jZXNzKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXJyKSwgIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBwcmVleGVjX2ZuLiIpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIFZhbHVlRXJyb3Igb3IgUnVudGltZUVycm9yIikKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiRXhwZWN0ZWQgVmFsdWVFcnJvciBvciBzdWJwcm9jZXNzLlN1YnByb2Nlc3NFcnJvciIpCiAKICAgICBkZWYgdGVzdF91bmRlY29kYWJsZV9lbnYoc2VsZik6CiAgICAgICAgIGZvciBrZXksIHZhbHVlIGluICgoJ3Rlc3QnLCAnYWJjXHVEQ0ZGJyksICgndGVzdFx1RENGRicsICc0MicpKToKQEAgLTE5MjcsNyArMTk2MSw3IEBACiAgICAgICAgICMgbGV0IHNvbWUgdGltZSBmb3IgdGhlIHByb2Nlc3MgdG8gZXhpdCwgYW5kIGNyZWF0ZSBhIG5ldyBQb3BlbjogdGhpcwogICAgICAgICAjIHNob3VsZCB0cmlnZ2VyIHRoZSB3YWl0KCkgb2YgcAogICAgICAgICB0aW1lLnNsZWVwKDAuMikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFbnZpcm9ubWVudEVycm9yKSBhcyBjOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGM6CiAgICAgICAgICAgICB3aXRoIHN1YnByb2Nlc3MuUG9wZW4oWydub25leGlzdGluZ19pX2hvcGUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpIGFzIHByb2M6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N1bmRyeS5weSBiL0xpYi90ZXN0L3Rlc3Rfc3VuZHJ5LnB5CmluZGV4IGZjY2NkZjcuLmYxNzFkNmYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3VuZHJ5LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3VuZHJ5LnB5CkBAIC0xLDE5ICsxLDI2IEBACiAiIiJEbyBhIG1pbmltYWwgdGVzdCBvZiBhbGwgdGhlIG1vZHVsZXMgdGhhdCBhcmVuJ3Qgb3RoZXJ3aXNlIHRlc3RlZC4iIiIKLQotZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CitpbXBvcnQgaW1wb3J0bGliCiBpbXBvcnQgc3lzCitmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCB1bml0dGVzdAogCiBjbGFzcyBUZXN0VW50ZXN0ZWRNb2R1bGVzKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBkZWYgdGVzdF9hdF9sZWFzdF9pbXBvcnRfdW50ZXN0ZWRfbW9kdWxlcyhzZWxmKToKKyAgICBkZWYgdGVzdF91bnRlc3RlZF9tb2R1bGVzX2Nhbl9iZV9pbXBvcnRlZChzZWxmKToKKyAgICAgICAgdW50ZXN0ZWQgPSAoJ2JkYicsICdlbmNvZGluZ3MnLCAnZm9ybWF0dGVyJywgJ2ltZ2hkcicsCisgICAgICAgICAgICAgICAgICAgICdtYWN1cmwycGF0aCcsICdudHVybDJwYXRoJywgJ3RhYm5hbm55JykKICAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKHF1aWV0PVRydWUpOgotICAgICAgICAgICAgaW1wb3J0IGJkYgotICAgICAgICAgICAgaW1wb3J0IGNnaXRiCisgICAgICAgICAgICBmb3IgbmFtZSBpbiB1bnRlc3RlZDoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuaW1wb3J0X21vZHVsZSgndGVzdC50ZXN0X3t9Jy5mb3JtYXQobmFtZSkpCisgICAgICAgICAgICAgICAgZXhjZXB0IHVuaXR0ZXN0LlNraXBUZXN0OgorICAgICAgICAgICAgICAgICAgICBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZShuYW1lKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgne30gaGFzIHRlc3RzIGV2ZW4gdGhvdWdoIHRlc3Rfc3VuZHJ5IGNsYWltcyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3RoZXJ3aXNlJy5mb3JtYXQobmFtZSkpCiAKICAgICAgICAgICAgIGltcG9ydCBkaXN0dXRpbHMuYmNwcGNvbXBpbGVyCiAgICAgICAgICAgICBpbXBvcnQgZGlzdHV0aWxzLmNjb21waWxlcgogICAgICAgICAgICAgaW1wb3J0IGRpc3R1dGlscy5jeWd3aW5jY29tcGlsZXIKLSAgICAgICAgICAgIGltcG9ydCBkaXN0dXRpbHMuZW14Y2NvbXBpbGVyCiAgICAgICAgICAgICBpbXBvcnQgZGlzdHV0aWxzLmZpbGVsaXN0CiAgICAgICAgICAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6CiAgICAgICAgICAgICAgICAgaW1wb3J0IGRpc3R1dGlscy5tc3ZjY29tcGlsZXIKQEAgLTM5LDIyICs0Niw5IEBACiAgICAgICAgICAgICBpbXBvcnQgZGlzdHV0aWxzLmNvbW1hbmQuc2Rpc3QKICAgICAgICAgICAgIGltcG9ydCBkaXN0dXRpbHMuY29tbWFuZC51cGxvYWQKIAotICAgICAgICAgICAgaW1wb3J0IGVuY29kaW5ncwotICAgICAgICAgICAgaW1wb3J0IGZvcm1hdHRlcgotICAgICAgICAgICAgaW1wb3J0IGdldHBhc3MKICAgICAgICAgICAgIGltcG9ydCBodG1sLmVudGl0aWVzCi0gICAgICAgICAgICBpbXBvcnQgaW1naGRyCi0gICAgICAgICAgICBpbXBvcnQga2V5d29yZAotICAgICAgICAgICAgaW1wb3J0IG1hY3VybDJwYXRoCi0gICAgICAgICAgICBpbXBvcnQgbWFpbGNhcAotICAgICAgICAgICAgaW1wb3J0IG50dXJsMnBhdGgKLSAgICAgICAgICAgIGltcG9ydCBvczJlbXhwYXRoCi0gICAgICAgICAgICBpbXBvcnQgcHN0YXRzCi0gICAgICAgICAgICBpbXBvcnQgcHlfY29tcGlsZQotICAgICAgICAgICAgaW1wb3J0IHNuZGhkcgotICAgICAgICAgICAgaW1wb3J0IHRhYm5hbm55CiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgaW1wb3J0IHR0eSAgICAgIyBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MKKyAgICAgICAgICAgICAgICBpbXBvcnQgdHR5ICAjIE5vdCBhdmFpbGFibGUgb24gV2luZG93cwogICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICAgICAgcHJpbnQoInNraXBwaW5nIHR0eSIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5bnRheC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3ludGF4LnB5CmluZGV4IDU5MjZiNjkuLmE5ZDM2MjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3ludGF4LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3ludGF4LnB5CkBAIC0zMyw3ICszMyw3IEBACiAKID4+PiBOb25lID0gMQogVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotU3ludGF4RXJyb3I6IGFzc2lnbm1lbnQgdG8ga2V5d29yZAorU3ludGF4RXJyb3I6IGNhbid0IGFzc2lnbiB0byBrZXl3b3JkCiAKIEl0J3MgYSBzeW50YXggZXJyb3IgdG8gYXNzaWduIHRvIHRoZSBlbXB0eSB0dXBsZS4gIFdoeSBpc24ndCBpdCBhbgogZXJyb3IgdG8gYXNzaWduIHRvIHRoZSBlbXB0eSBsaXN0PyAgSXQgd2lsbCBhbHdheXMgcmFpc2Ugc29tZSBlcnJvciBhdApAQCAtMjMzLDcgKzIzMyw3IEBACiBTeW50YXhFcnJvcjogY2FuJ3QgYXNzaWduIHRvIGdlbmVyYXRvciBleHByZXNzaW9uCiA+Pj4gTm9uZSArPSAxCiBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci1TeW50YXhFcnJvcjogYXNzaWdubWVudCB0byBrZXl3b3JkCitTeW50YXhFcnJvcjogY2FuJ3QgYXNzaWduIHRvIGtleXdvcmQKID4+PiBmKCkgKz0gMQogVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogU3ludGF4RXJyb3I6IGNhbid0IGFzc2lnbiB0byBmdW5jdGlvbiBjYWxsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5cy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CmluZGV4IDc3ZDMzM2QuLjQ3NDlmMjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CkBAIC02LDYgKzYsOCBAQAogaW1wb3J0IHdhcm5pbmdzCiBpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCBjb2RlY3MKK2ltcG9ydCBnYworaW1wb3J0IHN5c2NvbmZpZwogCiAjIGNvdW50IHRoZSBudW1iZXIgb2YgdGVzdCBydW5zLCB1c2VkIHRvIGNyZWF0ZSB1bmlxdWUKICMgc3RyaW5ncyB0byBpbnRlcm4gaW4gdGVzdF9pbnRlcm4oKQpAQCAtNDgwLDcgKzQ4Miw3IEBACiAgICAgZGVmIHRlc3RfdGhyZWFkX2luZm8oc2VsZik6CiAgICAgICAgIGluZm8gPSBzeXMudGhyZWFkX2luZm8KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oaW5mbyksIDMpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oaW5mby5uYW1lLCAoJ250JywgJ29zMicsICdwdGhyZWFkJywgJ3NvbGFyaXMnLCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihpbmZvLm5hbWUsICgnbnQnLCAncHRocmVhZCcsICdzb2xhcmlzJywgTm9uZSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oaW5mby5sb2NrLCAoJ3NlbWFwaG9yZScsICdtdXRleCtjb25kJywgTm9uZSkpCiAKICAgICBkZWYgdGVzdF80MzU4MShzZWxmKToKQEAgLTYwOSw2ICs2MTEsMzYgQEAKICAgICAgICAgcmV0LCBvdXQsIGVyciA9IGFzc2VydF9weXRob25fb2soKmFyZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiJmcmVlIFB5RGljdE9iamVjdHMiLCBlcnIpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHN5cywgImdldGFsbG9jYXRlZGJsb2NrcyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJzeXMuZ2V0YWxsb2NhdGVkYmxvY2tzIHVuYXZhaWxhYmxlIG9uIHRoaXMgYnVpbGQiKQorICAgIGRlZiB0ZXN0X2dldGFsbG9jYXRlZGJsb2NrcyhzZWxmKToKKyAgICAgICAgIyBTb21lIHNhbml0eSBjaGVja3MKKyAgICAgICAgd2l0aF9weW1hbGxvYyA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignV0lUSF9QWU1BTExPQycpCisgICAgICAgIGEgPSBzeXMuZ2V0YWxsb2NhdGVkYmxvY2tzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGEpLCBpbnQpCisgICAgICAgIGlmIHdpdGhfcHltYWxsb2M6CisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoYSwgMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgV2hlbiBXSVRIX1BZTUFMTE9DIGlzbid0IGF2YWlsYWJsZSwgd2UgZG9uJ3Qga25vdyBhbnl0aGluZworICAgICAgICAgICAgIyBhYm91dCB0aGUgdW5kZXJseWluZyBpbXBsZW1lbnRhdGlvbjogdGhlIGZ1bmN0aW9uIG1pZ2h0CisgICAgICAgICAgICAjIHJldHVybiAwIG9yIHNvbWV0aGluZyBncmVhdGVyLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwoYSwgMCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBXaGlsZSB3ZSBjb3VsZCBpbWFnaW5lIGEgUHl0aG9uIHNlc3Npb24gd2hlcmUgdGhlIG51bWJlciBvZgorICAgICAgICAgICAgIyBtdWx0aXBsZSBidWZmZXIgb2JqZWN0cyB3b3VsZCBleGNlZWQgdGhlIHNoYXJpbmcgb2YgcmVmZXJlbmNlcywKKyAgICAgICAgICAgICMgaXQgaXMgdW5saWtlbHkgdG8gaGFwcGVuIGluIGEgbm9ybWFsIHRlc3QgcnVuLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGEsIHN5cy5nZXR0b3RhbHJlZmNvdW50KCkpCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICMgZ2V0dG90YWxyZWZjb3VudCgpIG5vdCBhdmFpbGFibGUKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZ2MuY29sbGVjdCgpCisgICAgICAgIGIgPSBzeXMuZ2V0YWxsb2NhdGVkYmxvY2tzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoYiwgYSkKKyAgICAgICAgZ2MuY29sbGVjdCgpCisgICAgICAgIGMgPSBzeXMuZ2V0YWxsb2NhdGVkYmxvY2tzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihjLCByYW5nZShiIC0gNTAsIGIgKyA1MCkpCisKKwogY2xhc3MgU2l6ZW9mVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgc2V0VXAoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5c2NvbmZpZy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzY29uZmlnLnB5CmluZGV4IDkyMTkzNjAuLjUyOTM2NDkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzY29uZmlnLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzY29uZmlnLnB5CkBAIC0yMzQsNyArMjM0LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKGNvbmZpZ19oKSwgY29uZmlnX2gpCiAKICAgICBkZWYgdGVzdF9nZXRfc2NoZW1lX25hbWVzKHNlbGYpOgotICAgICAgICB3YW50ZWQgPSAoJ250JywgJ250X3VzZXInLCAnb3MyJywgJ29zMl9ob21lJywgJ29zeF9mcmFtZXdvcmtfdXNlcicsCisgICAgICAgIHdhbnRlZCA9ICgnbnQnLCAnbnRfdXNlcicsICdvc3hfZnJhbWV3b3JrX3VzZXInLAogICAgICAgICAgICAgICAgICAgJ3Bvc2l4X2hvbWUnLCAncG9zaXhfcHJlZml4JywgJ3Bvc2l4X3VzZXInKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF9zY2hlbWVfbmFtZXMoKSwgd2FudGVkKQogCkBAIC0zMDUsMTQgKzMwNSwxMyBAQAogICAgICAgICBpZiAnTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJyBpbiBlbnY6CiAgICAgICAgICAgICBkZWwgZW52WydNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQnXQogCi0gICAgICAgIHdpdGggb3BlbignL2Rldi9udWxsJywgJ3cnKSBhcyBkZXZudWxsX2ZwOgotICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWwotICAgICAgICAgICAgICAgICAgICBzeXMuZXhlY3V0YWJsZSwgJy1jJywKLSAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCBzeXNjb25maWc7IHByaW50KHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKSknLAotICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKLSAgICAgICAgICAgICAgICBzdGRlcnI9ZGV2bnVsbF9mcCwKLSAgICAgICAgICAgICAgICBlbnY9ZW52KQorICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihbCisgICAgICAgICAgICAgICAgc3lzLmV4ZWN1dGFibGUsICctYycsCisgICAgICAgICAgICAgICAgJ2ltcG9ydCBzeXNjb25maWc7IHByaW50KHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKSknLAorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5ERVZOVUxMLAorICAgICAgICAgICAgZW52PWVudikKICAgICAgICAgdGVzdF9wbGF0Zm9ybSA9IHAuY29tbXVuaWNhdGUoKVswXS5zdHJpcCgpCiAgICAgICAgIHRlc3RfcGxhdGZvcm0gPSB0ZXN0X3BsYXRmb3JtLmRlY29kZSgndXRmLTgnKQogICAgICAgICBzdGF0dXMgPSBwLndhaXQoKQpAQCAtMzI1LDIwICszMjQsMTkgQEAKICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgZW52WydNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQnXSA9ICcxMC4xJwogCi0gICAgICAgIHdpdGggb3BlbignL2Rldi9udWxsJykgYXMgZGV2X251bGw6Ci0gICAgICAgICAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihbCi0gICAgICAgICAgICAgICAgICAgIHN5cy5leGVjdXRhYmxlLCAnLWMnLAotICAgICAgICAgICAgICAgICAgICAnaW1wb3J0IHN5c2NvbmZpZzsgcHJpbnQoc3lzY29uZmlnLmdldF9wbGF0Zm9ybSgpKScsCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgICAgIHN0ZGVycj1kZXZfbnVsbCwKLSAgICAgICAgICAgICAgICBlbnY9ZW52KQotICAgICAgICAgICAgdGVzdF9wbGF0Zm9ybSA9IHAuY29tbXVuaWNhdGUoKVswXS5zdHJpcCgpCi0gICAgICAgICAgICB0ZXN0X3BsYXRmb3JtID0gdGVzdF9wbGF0Zm9ybS5kZWNvZGUoJ3V0Zi04JykKLSAgICAgICAgICAgIHN0YXR1cyA9IHAud2FpdCgpCisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFsKKyAgICAgICAgICAgICAgICBzeXMuZXhlY3V0YWJsZSwgJy1jJywKKyAgICAgICAgICAgICAgICAnaW1wb3J0IHN5c2NvbmZpZzsgcHJpbnQoc3lzY29uZmlnLmdldF9wbGF0Zm9ybSgpKScsCisgICAgICAgICAgICBdLAorICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLkRFVk5VTEwsCisgICAgICAgICAgICBlbnY9ZW52KQorICAgICAgICB0ZXN0X3BsYXRmb3JtID0gcC5jb21tdW5pY2F0ZSgpWzBdLnN0cmlwKCkKKyAgICAgICAgdGVzdF9wbGF0Zm9ybSA9IHRlc3RfcGxhdGZvcm0uZGVjb2RlKCd1dGYtOCcpCisgICAgICAgIHN0YXR1cyA9IHAud2FpdCgpCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteV9wbGF0Zm9ybSwgdGVzdF9wbGF0Zm9ybSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXlfcGxhdGZvcm0sIHRlc3RfcGxhdGZvcm0pCiAKICAgICBkZWYgdGVzdF9zcmNkaXIoc2VsZik6CiAgICAgICAgICMgU2VlIElzc3VlcyAjMTUzMjIsICMxNTM2NC4KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weQppbmRleCBiMjI0YmYwLi41YmJkNDhlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90YXJmaWxlLnB5CkBAIC0xNjUyLDIwICsxNjUyLDIwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0YXIuY2xvc2VkLCAiY29udGV4dCBtYW5hZ2VyIGZhaWxlZCIpCiAKICAgICBkZWYgdGVzdF9jbG9zZWQoc2VsZik6Ci0gICAgICAgICMgVGhlIF9fZW50ZXJfXygpIG1ldGhvZCBpcyBzdXBwb3NlZCB0byByYWlzZSBJT0Vycm9yCisgICAgICAgICMgVGhlIF9fZW50ZXJfXygpIG1ldGhvZCBpcyBzdXBwb3NlZCB0byByYWlzZSBPU0Vycm9yCiAgICAgICAgICMgaWYgdGhlIFRhckZpbGUgb2JqZWN0IGlzIGFscmVhZHkgY2xvc2VkLgogICAgICAgICB0YXIgPSB0YXJmaWxlLm9wZW4odGFybmFtZSkKICAgICAgICAgdGFyLmNsb3NlKCkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKToKICAgICAgICAgICAgIHdpdGggdGFyOgogICAgICAgICAgICAgICAgIHBhc3MKIAogICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbihzZWxmKToKLSAgICAgICAgIyBUZXN0IGlmIHRoZSBJT0Vycm9yIGV4Y2VwdGlvbiBpcyBwYXNzZWQgdGhyb3VnaCBwcm9wZXJseS4KKyAgICAgICAgIyBUZXN0IGlmIHRoZSBPU0Vycm9yIGV4Y2VwdGlvbiBpcyBwYXNzZWQgdGhyb3VnaCBwcm9wZXJseS4KICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24pIGFzIGV4YzoKICAgICAgICAgICAgIHdpdGggdGFyZmlsZS5vcGVuKHRhcm5hbWUpIGFzIHRhcjoKLSAgICAgICAgICAgICAgICByYWlzZSBJT0Vycm9yCi0gICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShleGMuZXhjZXB0aW9uLCBJT0Vycm9yLAorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGV4Yy5leGNlcHRpb24sIE9TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3JvbmcgZXhjZXB0aW9uIHJhaXNlZCBpbiBjb250ZXh0IG1hbmFnZXIiKQogICAgICAgICBzZWxmLmFzc2VydFRydWUodGFyLmNsb3NlZCwgImNvbnRleHQgbWFuYWdlciBmYWlsZWQiKQogCkBAIC0xNzQzLDcgKzE3NDMsNyBAQAogICAgIGRlZiB0ZXN0X25vbl9leGlzdGVudF90YXJnel9maWxlKHNlbGYpOgogICAgICAgICAjIFRlc3QgZm9yIGlzc3VlMTE1MTM6IHByZXZlbnQgbm9uLWV4aXN0ZW50IGd6aXBwZWQgdGFyZmlsZXMgcmFpc2luZwogICAgICAgICAjIG11bHRpcGxlIGV4Y2VwdGlvbnMuCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChJT0Vycm9yLCAieHh4IikgYXMgZXg6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChPU0Vycm9yLCAieHh4IikgYXMgZXg6CiAgICAgICAgICAgICB0YXJmaWxlLm9wZW4oInh4eCIsIHNlbGYubW9kZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleC5leGNlcHRpb24uZXJybm8sIGVycm5vLkVOT0VOVCkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90ZW1wZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfdGVtcGZpbGUucHkKaW5kZXggMjk2MjkzOS4uNDM3YjAyYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90ZW1wZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RlbXBmaWxlLnB5CkBAIC0xNTEsNyArMTUxLDcgQEAKICAgICAgICAgICAgICAgICAjIHZpYSBhbnkgYnVncyBhYm92ZQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgb3Mua2lsbChwaWQsIHNpZ25hbC5TSUdLSUxMKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBvcy5jbG9zZShyZWFkX2ZkKQogICAgICAgICAgICAgb3MuY2xvc2Uod3JpdGVfZmQpCkBAIC0xOTAsNyArMTkwLDcgQEAKIAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGRpcm5hbWUgPSBvcy5nZXRjd2QoKQotICAgICAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgb3MuZXJyb3IpOgorICAgICAgICAgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgT1NFcnJvcik6CiAgICAgICAgICAgICAgICAgZGlybmFtZSA9IG9zLmN1cmRpcgogCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGRpcm5hbWUsIGNhbmQpCkBAIC0zMTUsNyArMzE1LDcgQEAKICAgICAgICAgZmlsZSA9IHNlbGYuZG9fY3JlYXRlKCkKICAgICAgICAgbW9kZSA9IHN0YXQuU19JTU9ERShvcy5zdGF0KGZpbGUubmFtZSkuc3RfbW9kZSkKICAgICAgICAgZXhwZWN0ZWQgPSAwbzYwMAotICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCd3aW4zMicsICdvczJlbXgnKToKKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CiAgICAgICAgICAgICAjIFRoZXJlJ3Mgbm8gZGlzdGluY3Rpb24gYW1vbmcgJ3VzZXInLCAnZ3JvdXAnIGFuZCAnd29ybGQnOwogICAgICAgICAgICAgIyByZXBsaWNhdGUgdGhlICd1c2VyJyBiaXRzLgogICAgICAgICAgICAgdXNlciA9IGV4cGVjdGVkID4+IDYKQEAgLTM0OSw3ICszNDksNyBAQAogICAgICAgICAjIE9uIFdpbmRvd3MgYSBzcGF3biogL3BhdGgvIHdpdGggZW1iZWRkZWQgc3BhY2VzIHNob3VsZG4ndCBiZSBxdW90ZWQsCiAgICAgICAgICMgYnV0IGFuIGFyZyB3aXRoIGVtYmVkZGVkIHNwYWNlcyBzaG91bGQgYmUgZGVjb3JhdGVkIHdpdGggZG91YmxlCiAgICAgICAgICMgcXVvdGVzIG9uIGVhY2ggZW5kCi0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSBpbiAoJ3dpbjMyJywpOgorICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKICAgICAgICAgICAgIGRlY29yYXRlZCA9ICciJXMiJyAlIHN5cy5leGVjdXRhYmxlCiAgICAgICAgICAgICB0ZXN0ZXIgPSAnIiVzIicgJSB0ZXN0ZXIKICAgICAgICAgZWxzZToKQEAgLTUxOCw3ICs1MTgsNyBAQAogICAgICAgICAgICAgbW9kZSA9IHN0YXQuU19JTU9ERShvcy5zdGF0KGRpcikuc3RfbW9kZSkKICAgICAgICAgICAgIG1vZGUgJj0gMG83NzcgIyBNYXNrIG9mZiBzdGlja3kgYml0cyBpbmhlcml0ZWQgZnJvbSAvdG1wCiAgICAgICAgICAgICBleHBlY3RlZCA9IDBvNzAwCi0gICAgICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gKCd3aW4zMicsICdvczJlbXgnKToKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgogICAgICAgICAgICAgICAgICMgVGhlcmUncyBubyBkaXN0aW5jdGlvbiBhbW9uZyAndXNlcicsICdncm91cCcgYW5kICd3b3JsZCc7CiAgICAgICAgICAgICAgICAgIyByZXBsaWNhdGUgdGhlICd1c2VyJyBiaXRzLgogICAgICAgICAgICAgICAgIHVzZXIgPSBleHBlY3RlZCA+PiA2CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RocmVhZC5weSBiL0xpYi90ZXN0L3Rlc3RfdGhyZWFkLnB5CmluZGV4IGExOTFlMTUuLmY5YTcyMWIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdGhyZWFkLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdGhyZWFkLnB5CkBAIC02OCw3ICs2OCw3IEBACiAgICAgICAgIHRocmVhZC5zdGFja19zaXplKDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGhyZWFkLnN0YWNrX3NpemUoKSwgMCwgInN0YWNrX3NpemUgbm90IHJlc2V0IHRvIGRlZmF1bHQiKQogCi0gICAgICAgIGlmIG9zLm5hbWUgbm90IGluICgibnQiLCAib3MyIiwgInBvc2l4Iik6CisgICAgICAgIGlmIG9zLm5hbWUgbm90IGluICgibnQiLCAicG9zaXgiKToKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIHRzc19zdXBwb3J0ZWQgPSBUcnVlCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RocmVhZGluZy5weSBiL0xpYi90ZXN0L3Rlc3RfdGhyZWFkaW5nLnB5CmluZGV4IDc5OTY3ZGMuLjllZDZjYTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdGhyZWFkaW5nLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdGhyZWFkaW5nLnB5CkBAIC00NTIsNyArNDUyLDcgQEAKICAgICAjIHByb2JsZW1zIHdpdGggc29tZSBvcGVyYXRpbmcgc3lzdGVtcyAoaXNzdWUgIzM4NjMpOiBza2lwIHByb2JsZW1hdGljIHRlc3RzCiAgICAgIyBvbiBwbGF0Zm9ybXMga25vd24gdG8gYmVoYXZlIGJhZGx5LgogICAgIHBsYXRmb3Jtc190b19za2lwID0gKCdmcmVlYnNkNCcsICdmcmVlYnNkNScsICdmcmVlYnNkNicsICduZXRic2Q1JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAnb3MyZW14JywgJ2hwLXV4MTEnKQorICAgICAgICAgICAgICAgICAgICAgICAgICdocC11eDExJykKIAogICAgIGRlZiBfcnVuX2FuZF9qb2luKHNlbGYsIHNjcmlwdCk6CiAgICAgICAgIHNjcmlwdCA9ICIiImlmIDE6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RocmVhZHNpZ25hbHMucHkgYi9MaWIvdGVzdC90ZXN0X3RocmVhZHNpZ25hbHMucHkKaW5kZXggZjk3NWE3NS4uYjEwMDRlNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90aHJlYWRzaWduYWxzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdGhyZWFkc2lnbmFscy5weQpAQCAtOCw3ICs4LDcgQEAKIHRocmVhZCA9IGltcG9ydF9tb2R1bGUoJ190aHJlYWQnKQogaW1wb3J0IHRpbWUKIAotaWYgc3lzLnBsYXRmb3JtWzozXSBpbiAoJ3dpbicsICdvczInKSBvciBzeXMucGxhdGZvcm09PSdyaXNjb3MnOgoraWYgKHN5cy5wbGF0Zm9ybVs6M10gPT0gJ3dpbicpOgogICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJDYW4ndCB0ZXN0IHNpZ25hbCBvbiAlcyIgJSBzeXMucGxhdGZvcm0pCiAKIHByb2Nlc3NfcGlkID0gb3MuZ2V0cGlkKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weSBiL0xpYi90ZXN0L3Rlc3RfdGltZW91dC5weQppbmRleCBjM2M0YWNmLi5kMjhkNjJiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RpbWVvdXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aW1lb3V0LnB5CkBAIC0xOTQsNyArMTk0LDcgQEAKICAgICAgICAgICAgIHNvY2suY29ubmVjdCgod2hpdGVob2xlKSkKICAgICAgICAgZXhjZXB0IHNvY2tldC50aW1lb3V0OgogICAgICAgICAgICAgcGFzcwotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgIGlmIGVyci5lcnJubyA9PSBlcnJuby5FQ09OTlJFRlVTRUQ6CiAgICAgICAgICAgICAgICAgc2tpcCA9IEZhbHNlCiAgICAgICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RyYWNlYmFjay5weSBiL0xpYi90ZXN0L3Rlc3RfdHJhY2ViYWNrLnB5CmluZGV4IDViY2UyYWYuLjI0NzUzYTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHJhY2ViYWNrLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdHJhY2ViYWNrLnB5CkBAIC0xNjAsMTEgKzE2MCwyNiBAQAogICAgICAgICAgICAgZmlsZV8gPSBTdHJpbmdJTygpCiAgICAgICAgICAgICB0cmFjZWJhY2tfcHJpbnQodGIsIGZpbGVfKQogICAgICAgICAgICAgcHl0aG9uX2ZtdCAgPSBmaWxlXy5nZXR2YWx1ZSgpCisgICAgICAgICAgICAjIENhbGwgYWxsIF90YiBhbmQgX2V4YyBmdW5jdGlvbnMKKyAgICAgICAgICAgIHdpdGggY2FwdHVyZWRfb3V0cHV0KCJzdGRlcnIiKSBhcyB0YnN0ZGVycjoKKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfdGIodGIpCisgICAgICAgICAgICB0YmZpbGUgPSBTdHJpbmdJTygpCisgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfdGIodGIsIGZpbGU9dGJmaWxlKQorICAgICAgICAgICAgd2l0aCBjYXB0dXJlZF9vdXRwdXQoInN0ZGVyciIpIGFzIGV4Y3N0ZGVycjoKKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKCkKKyAgICAgICAgICAgIGV4Y2ZtdCA9IHRyYWNlYmFjay5mb3JtYXRfZXhjKCkKKyAgICAgICAgICAgIGV4Y2ZpbGUgPSBTdHJpbmdJTygpCisgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKGZpbGU9ZXhjZmlsZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIEVycm9yKCJ1bmFibGUgdG8gY3JlYXRlIHRlc3QgdHJhY2ViYWNrIHN0cmluZyIpCiAKICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCBQeXRob24gYW5kIHRoZSB0cmFjZWJhY2sgbW9kdWxlIGZvcm1hdCB0aGUgc2FtZSB0aGluZwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlYmFja19mbXQsIHB5dGhvbl9mbXQpCisgICAgICAgICMgTm93IHZlcmlmeSB0aGUgX3RiIGZ1bmMgb3V0cHV0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGJzdGRlcnIuZ2V0dmFsdWUoKSwgdGJmaWxlLmdldHZhbHVlKCkpCisgICAgICAgICMgTm93IHZlcmlmeSB0aGUgX2V4YyBmdW5jIG91dHB1dAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4Y3N0ZGVyci5nZXR2YWx1ZSgpLCBleGNmaWxlLmdldHZhbHVlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhjZm10LCBleGNmaWxlLmdldHZhbHVlKCkpCiAKICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB0aGUgdHJhY2ViYWNrIGlzIHByb3Blcmx5IGluZGVudGVkLgogICAgICAgICB0Yl9saW5lcyA9IHB5dGhvbl9mbXQuc3BsaXRsaW5lcygpCkBAIC0xNzQsNiArMTg5LDE5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsb2NhdGlvbi5zdGFydHN3aXRoKCcgIEZpbGUnKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNvdXJjZV9saW5lLnN0YXJ0c3dpdGgoJyAgICByYWlzZScpKQogCisgICAgZGVmIHRlc3Rfc3RhY2tfZm9ybWF0KHNlbGYpOgorICAgICAgICAjIFZlcmlmeSBfc3RhY2sgZnVuY3Rpb25zLiBOb3RlIHdlIGhhdmUgdG8gdXNlIF9nZXRmcmFtZSgxKSB0bworICAgICAgICAjIGNvbXBhcmUgdGhlbSB3aXRob3V0IHRoaXMgZnJhbWUgYXBwZWFyaW5nIGluIHRoZSBvdXRwdXQKKyAgICAgICAgd2l0aCBjYXB0dXJlZF9vdXRwdXQoInN0ZGVyciIpIGFzIHN0c3RkZXJyOgorICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X3N0YWNrKHN5cy5fZ2V0ZnJhbWUoMSkpCisgICAgICAgIHN0ZmlsZSA9IFN0cmluZ0lPKCkKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X3N0YWNrKHN5cy5fZ2V0ZnJhbWUoMSksIGZpbGU9c3RmaWxlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0c3RkZXJyLmdldHZhbHVlKCksIHN0ZmlsZS5nZXR2YWx1ZSgpKQorCisgICAgICAgIHN0Zm10ID0gdHJhY2ViYWNrLmZvcm1hdF9zdGFjayhzeXMuX2dldGZyYW1lKDEpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RzdGRlcnIuZ2V0dmFsdWUoKSwgIiIuam9pbihzdGZtdCkpCisKIAogY2F1c2VfbWVzc2FnZSA9ICgKICAgICAiXG5UaGUgYWJvdmUgZXhjZXB0aW9uIHdhcyB0aGUgZGlyZWN0IGNhdXNlICIKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkgYi9MaWIvdGVzdC90ZXN0X3R5cGVzLnB5CmluZGV4IDNlZTRjNmIuLmVjMTA3NTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdHlwZXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90eXBlcy5weQpAQCAtMiw2ICsyLDcgQEAKIAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgcnVuX3dpdGhfbG9jYWxlCiBpbXBvcnQgY29sbGVjdGlvbnMKK2ltcG9ydCBwaWNrbGUKIGltcG9ydCBsb2NhbGUKIGltcG9ydCBzeXMKIGltcG9ydCB0eXBlcwpAQCAtMTA3Nyw5ICsxMDc4LDE5IEBACiAgICAgICAgIG5zMiA9IHR5cGVzLlNpbXBsZU5hbWVzcGFjZSgpCiAgICAgICAgIG5zMi54ID0gInNwYW0iCiAgICAgICAgIG5zMi5feSA9IDUKKyAgICAgICAgbmFtZSA9ICJuYW1lc3BhY2UiCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKG5zMSksICJuYW1lc3BhY2Uodz0zLCB4PTEsIHk9MikiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobnMyKSwgIm5hbWVzcGFjZShfeT01LCB4PSdzcGFtJykiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobnMxKSwgIntuYW1lfSh3PTMsIHg9MSwgeT0yKSIuZm9ybWF0KG5hbWU9bmFtZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihuczIpLCAie25hbWV9KF95PTUsIHg9J3NwYW0nKSIuZm9ybWF0KG5hbWU9bmFtZSkpCisKKyAgICBkZWYgdGVzdF9lcXVhbChzZWxmKToKKyAgICAgICAgbnMxID0gdHlwZXMuU2ltcGxlTmFtZXNwYWNlKHg9MSkKKyAgICAgICAgbnMyID0gdHlwZXMuU2ltcGxlTmFtZXNwYWNlKCkKKyAgICAgICAgbnMyLnggPSAxCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlcy5TaW1wbGVOYW1lc3BhY2UoKSwgdHlwZXMuU2ltcGxlTmFtZXNwYWNlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobnMxLCBuczIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobnMyLCB0eXBlcy5TaW1wbGVOYW1lc3BhY2UoKSkKIAogICAgIGRlZiB0ZXN0X25lc3RlZChzZWxmKToKICAgICAgICAgbnMxID0gdHlwZXMuU2ltcGxlTmFtZXNwYWNlKGE9MSwgYj0yKQpAQCAtMTExNywxMSArMTEyOCwxMiBAQAogICAgICAgICBuczEuc3BhbSA9IG5zMQogICAgICAgICBuczIuc3BhbSA9IG5zMwogICAgICAgICBuczMuc3BhbSA9IG5zMgorICAgICAgICBuYW1lID0gIm5hbWVzcGFjZSIKKyAgICAgICAgcmVwcjEgPSAie25hbWV9KGM9J2Nvb2tpZScsIHNwYW09e25hbWV9KC4uLikpIi5mb3JtYXQobmFtZT1uYW1lKQorICAgICAgICByZXByMiA9ICJ7bmFtZX0oc3BhbT17bmFtZX0oc3BhbT17bmFtZX0oLi4uKSwgeD0xKSkiLmZvcm1hdChuYW1lPW5hbWUpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKG5zMSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWVzcGFjZShjPSdjb29raWUnLCBzcGFtPW5hbWVzcGFjZSguLi4pKSIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihuczIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lc3BhY2Uoc3BhbT1uYW1lc3BhY2Uoc3BhbT1uYW1lc3BhY2UoLi4uKSwgeD0xKSkiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobnMxKSwgcmVwcjEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihuczIpLCByZXByMikKIAogICAgIGRlZiB0ZXN0X2FzX2RpY3Qoc2VsZik6CiAgICAgICAgIG5zID0gdHlwZXMuU2ltcGxlTmFtZXNwYWNlKHNwYW09J3NwYW1zcGFtc3BhbScpCkBAIC0xMTQ0LDYgKzExNTYsMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKHNwYW0pLCBTcGFtKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHZhcnMoc3BhbSksIHsnaGFtJzogOCwgJ2VnZ3MnOiA5fSkKIAorICAgIGRlZiB0ZXN0X3BpY2tsZShzZWxmKToKKyAgICAgICAgbnMgPSB0eXBlcy5TaW1wbGVOYW1lc3BhY2UoYnJlYWtmYXN0PSJzcGFtIiwgbHVuY2g9InNwYW0iKQorCisgICAgICAgIGZvciBwcm90b2NvbCBpbiByYW5nZShwaWNrbGUuSElHSEVTVF9QUk9UT0NPTCArIDEpOgorICAgICAgICAgICAgcG5hbWUgPSAicHJvdG9jb2wge30iLmZvcm1hdChwcm90b2NvbCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBuc19waWNrbGVkID0gcGlja2xlLmR1bXBzKG5zLCBwcm90b2NvbCkKKyAgICAgICAgICAgIGV4Y2VwdCBUeXBlRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IocG5hbWUpIGZyb20gZQorICAgICAgICAgICAgbnNfcm91bmR0cmlwID0gcGlja2xlLmxvYWRzKG5zX3BpY2tsZWQpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobnMsIG5zX3JvdW5kdHJpcCwgcG5hbWUpCisKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHJ1bl91bml0dGVzdChUeXBlc1Rlc3RzLCBNYXBwaW5nUHJveHlUZXN0cywgQ2xhc3NDcmVhdGlvblRlc3RzLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91Y24ucHkgYi9MaWIvdGVzdC90ZXN0X3Vjbi5weQppbmRleCAyZTYzNzQ1Li41OWJkZTc0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Vjbi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3Vjbi5weQpAQCAtMTczLDcgKzE3Myw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHRlc3RkYXRhID0gc3VwcG9ydC5vcGVuX3VybHJlc291cmNlKHVybCwgZW5jb2Rpbmc9InV0Zi04IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrPWNoZWNrX3ZlcnNpb24pCi0gICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgSFRUUEV4Y2VwdGlvbik6CisgICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgSFRUUEV4Y2VwdGlvbik6CiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJDb3VsZCBub3QgcmV0cmlldmUgIiArIHVybCkKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHRlc3RkYXRhLmNsb3NlKQogICAgICAgICBmb3IgbGluZSBpbiB0ZXN0ZGF0YToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weQppbmRleCBkNGUyMjIyLi4zMmNiYTA2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91bmljb2RlLnB5CkBAIC03LDYgKzcsNyBAQAogIiIiIyIKIGltcG9ydCBfc3RyaW5nCiBpbXBvcnQgY29kZWNzCitpbXBvcnQgaXRlcnRvb2xzCiBpbXBvcnQgc3RydWN0CiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKQEAgLTMxLDYgKzMyLDE2IEBACiAgICAgICAgIHJldHVybiBOb25lCiBjb2RlY3MucmVnaXN0ZXIoc2VhcmNoX2Z1bmN0aW9uKQogCitkZWYgZHVwbGljYXRlX3N0cmluZyh0ZXh0KToKKyAgICAiIiIKKyAgICBUcnkgdG8gZ2V0IGEgZnJlc2ggY2xvbmUgb2YgdGhlIHNwZWNpZmllZCB0ZXh0OgorICAgIG5ldyBvYmplY3Qgd2l0aCBhIHJlZmVyZW5jZSBjb3VudCBvZiAxLgorCisgICAgVGhpcyBpcyBhIGJlc3QtZWZmb3J0OiBsYXRpbjEgc2luZ2xlIGxldHRlcnMgYW5kIHRoZSBlbXB0eQorICAgIHN0cmluZyAoJycpIGFyZSBzaW5nbGV0b25zIGFuZCBjYW5ub3QgYmUgY2xvbmVkLgorICAgICIiIgorICAgIHJldHVybiB0ZXh0LmVuY29kZSgpLmRlY29kZSgpCisKIGNsYXNzIFVuaWNvZGVUZXN0KHN0cmluZ190ZXN0cy5Db21tb25UZXN0LAogICAgICAgICBzdHJpbmdfdGVzdHMuTWl4aW5TdHJVbmljb2RlVXNlclN0cmluZ1Rlc3QsCiAgICAgICAgIHN0cmluZ190ZXN0cy5NaXhpblN0clVuaWNvZGVUZXN0LApAQCAtODQzLDExICs4NTQsOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd7MDpkfScuZm9ybWF0KEcoJ2RhdGEnKSksICdHKGRhdGEpJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnezAhc30nLmZvcm1hdChHKCdkYXRhJykpLCAnc3RyaW5nIGlzIGRhdGEnKQogCi0gICAgICAgIG1zZyA9ICdvYmplY3QuX19mb3JtYXRfXyB3aXRoIGEgbm9uLWVtcHR5IGZvcm1hdCBzdHJpbmcgaXMgZGVwcmVjYXRlZCcKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKChtc2csIERlcHJlY2F0aW9uV2FybmluZykpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnezA6XjEwfScuZm9ybWF0KEUoJ2RhdGEnKSksICcgRShkYXRhKSAgJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3swOl4xMHN9Jy5mb3JtYXQoRSgnZGF0YScpKSwgJyBFKGRhdGEpICAnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnezA6PjE1c30nLmZvcm1hdChHKCdkYXRhJykpLCAnIHN0cmluZyBpcyBkYXRhJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAnezA6XjEwfScuZm9ybWF0LCBFKCdkYXRhJykpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgJ3swOl4xMHN9Jy5mb3JtYXQsIEUoJ2RhdGEnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAnezA6PjE1c30nLmZvcm1hdCwgRygnZGF0YScpKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInswOmRhdGU6ICVZLSVtLSVkfSIuZm9ybWF0KEkoeWVhcj0yMDA3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoPTgsCkBAIC0xOTg0LDkgKzE5OTMsMTAgQEAKICAgICAjIFRlc3QgUHlVbmljb2RlX0Zyb21Gb3JtYXQoKQogICAgIGRlZiB0ZXN0X2Zyb21fZm9ybWF0KHNlbGYpOgogICAgICAgICBzdXBwb3J0LmltcG9ydF9tb2R1bGUoJ2N0eXBlcycpCi0gICAgICAgIGZyb20gY3R5cGVzIGltcG9ydCAocHl0aG9uYXBpLCBweV9vYmplY3QsCisgICAgICAgIGZyb20gY3R5cGVzIGltcG9ydCAoCisgICAgICAgICAgICBweXRob25hcGksIHB5X29iamVjdCwgc2l6ZW9mLAogICAgICAgICAgICAgY19pbnQsIGNfbG9uZywgY19sb25nbG9uZywgY19zc2l6ZV90LAotICAgICAgICAgICAgY191aW50LCBjX3Vsb25nLCBjX3Vsb25nbG9uZywgY19zaXplX3QpCisgICAgICAgICAgICBjX3VpbnQsIGNfdWxvbmcsIGNfdWxvbmdsb25nLCBjX3NpemVfdCwgY192b2lkX3ApCiAgICAgICAgIG5hbWUgPSAiUHlVbmljb2RlX0Zyb21Gb3JtYXQiCiAgICAgICAgIF9QeVVuaWNvZGVfRnJvbUZvcm1hdCA9IGdldGF0dHIocHl0aG9uYXBpLCBuYW1lKQogICAgICAgICBfUHlVbmljb2RlX0Zyb21Gb3JtYXQucmVzdHlwZSA9IHB5X29iamVjdApAQCAtMjAzNyw2ICsyMDQ3LDMxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclbGx1JywgY191bG9uZ2xvbmcoMTIzKSksICcxMjMnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJXp1JywgY19zaXplX3QoMTIzKSksICcxMjMnKQogCisgICAgICAgICMgdGVzdCBsb25nIG91dHB1dAorICAgICAgICBtaW5fbG9uZ2xvbmcgPSAtKDIgKiogKDggKiBzaXplb2YoY19sb25nbG9uZykgLSAxKSkKKyAgICAgICAgbWF4X2xvbmdsb25nID0gLW1pbl9sb25nbG9uZyAtIDEKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVsbGQnLCBjX2xvbmdsb25nKG1pbl9sb25nbG9uZykpLCBzdHIobWluX2xvbmdsb25nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVsbGQnLCBjX2xvbmdsb25nKG1heF9sb25nbG9uZykpLCBzdHIobWF4X2xvbmdsb25nKSkKKyAgICAgICAgbWF4X3Vsb25nbG9uZyA9IDIgKiogKDggKiBzaXplb2YoY191bG9uZ2xvbmcpKSAtIDEKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVsbHUnLCBjX3Vsb25nbG9uZyhtYXhfdWxvbmdsb25nKSksIHN0cihtYXhfdWxvbmdsb25nKSkKKyAgICAgICAgUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclcCcsIGNfdm9pZF9wKC0xKSkKKworICAgICAgICAjIHRlc3QgcGFkZGluZyAod2lkdGggYW5kL29yIHByZWNpc2lvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUwMTBpJywgY19pbnQoMTIzKSksICcxMjMnLnJqdXN0KDEwLCAnMCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJTEwMGknLCBjX2ludCgxMjMpKSwgJzEyMycucmp1c3QoMTAwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUuMTAwaScsIGNfaW50KDEyMykpLCAnMTIzJy5yanVzdCgxMDAsICcwJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclMTAwLjgwaScsIGNfaW50KDEyMykpLCAnMTIzJy5yanVzdCg4MCwgJzAnKS5yanVzdCgxMDApKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclMDEwdScsIGNfdWludCgxMjMpKSwgJzEyMycucmp1c3QoMTAsICcwJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclMTAwdScsIGNfdWludCgxMjMpKSwgJzEyMycucmp1c3QoMTAwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUuMTAwdScsIGNfdWludCgxMjMpKSwgJzEyMycucmp1c3QoMTAwLCAnMCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJTEwMC44MHUnLCBjX3VpbnQoMTIzKSksICcxMjMnLnJqdXN0KDgwLCAnMCcpLnJqdXN0KDEwMCkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUwMTB4JywgY19pbnQoMHgxMjMpKSwgJzEyMycucmp1c3QoMTAsICcwJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclMTAweCcsIGNfaW50KDB4MTIzKSksICcxMjMnLnJqdXN0KDEwMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclLjEwMHgnLCBjX2ludCgweDEyMykpLCAnMTIzJy5yanVzdCgxMDAsICcwJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclMTAwLjgweCcsIGNfaW50KDB4MTIzKSksICcxMjMnLnJqdXN0KDgwLCAnMCcpLnJqdXN0KDEwMCkpCisKICAgICAgICAgIyB0ZXN0ICVBCiAgICAgICAgIHRleHQgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUlQTolQScsICdhYmNceGU5XHVhYmNkXFUwMDEwZmZmZicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4dCwgciIlQTonYWJjXHhlOVx1YWJjZFxVMDAxMGZmZmYnIikKQEAgLTIxODQsNiArMjIxOSw4MCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYWJjLCBhYmNkZWYpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhYmNkZWYuZGVjb2RlKCd1bmljb2RlX2ludGVybmFsJyksIHRleHQpCiAKKyAgICBkZWYgdGVzdF9jb21wYXJlKHNlbGYpOgorICAgICAgICAjIElzc3VlICMxNzYxNQorICAgICAgICBOID0gMTAKKyAgICAgICAgYXNjaWkgPSAnYScgKiBOCisgICAgICAgIGFzY2lpMiA9ICd6JyAqIE4KKyAgICAgICAgbGF0aW4gPSAnXHg4MCcgKiBOCisgICAgICAgIGxhdGluMiA9ICdceGZmJyAqIE4KKyAgICAgICAgYm1wID0gJ1x1MDEwMCcgKiBOCisgICAgICAgIGJtcDIgPSAnXHVmZmZmJyAqIE4KKyAgICAgICAgYXN0cmFsID0gJ1xVMDAxMDAwMDAnICogTgorICAgICAgICBhc3RyYWwyID0gJ1xVMDAxMGZmZmYnICogTgorICAgICAgICBzdHJpbmdzID0gKAorICAgICAgICAgICAgYXNjaWksIGFzY2lpMiwKKyAgICAgICAgICAgIGxhdGluLCBsYXRpbjIsCisgICAgICAgICAgICBibXAsIGJtcDIsCisgICAgICAgICAgICBhc3RyYWwsIGFzdHJhbDIpCisgICAgICAgIGZvciB0ZXh0MSwgdGV4dDIgaW4gaXRlcnRvb2xzLmNvbWJpbmF0aW9ucyhzdHJpbmdzLCAyKToKKyAgICAgICAgICAgIGVxdWFsID0gKHRleHQxIGlzIHRleHQyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0MSA9PSB0ZXh0MiwgZXF1YWwpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRleHQxICE9IHRleHQyLCBub3QgZXF1YWwpCisKKyAgICAgICAgICAgIGlmIGVxdWFsOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXh0MSA8PSB0ZXh0MikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUodGV4dDEgPj0gdGV4dDIpCisKKyAgICAgICAgICAgICAgICAjIHRleHQxIGlzIHRleHQyOiBkdXBsaWNhdGUgc3RyaW5ncyB0byBza2lwIHRoZSAic3RyMSA9PSBzdHIyIgorICAgICAgICAgICAgICAgICMgb3B0aW1pemF0aW9uIGluIHVuaWNvZGVfY29tcGFyZV9lcSgpIGFuZCByZWFsbHkgY29tcGFyZQorICAgICAgICAgICAgICAgICMgY2hhcmFjdGVyIHBlciBjaGFyYWN0ZXIKKyAgICAgICAgICAgICAgICBjb3B5MSA9IGR1cGxpY2F0ZV9zdHJpbmcodGV4dDEpCisgICAgICAgICAgICAgICAgY29weTIgPSBkdXBsaWNhdGVfc3RyaW5nKHRleHQyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoY29weTEsIGNvcHkyKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvcHkxID09IGNvcHkyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY29weTEgIT0gY29weTIpCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY29weTEgPD0gY29weTIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvcHkyID49IGNvcHkyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShhc2NpaSA8IGFzY2lpMikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFzY2lpIDwgbGF0aW4pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShhc2NpaSA8IGJtcCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFzY2lpIDwgYXN0cmFsKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGFzY2lpID49IGFzY2lpMikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhc2NpaSA+PSBsYXRpbikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhc2NpaSA+PSBibXApCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYXNjaWkgPj0gYXN0cmFsKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobGF0aW4gPCBhc2NpaSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxhdGluIDwgbGF0aW4yKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobGF0aW4gPCBibXApCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsYXRpbiA8IGFzdHJhbCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxhdGluID49IGFzY2lpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGxhdGluID49IGxhdGluMikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsYXRpbiA+PSBibXApCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobGF0aW4gPj0gYXN0cmFsKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYm1wIDwgYXNjaWkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYm1wIDwgbGF0aW4pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShibXAgPCBibXAyKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYm1wIDwgYXN0cmFsKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYm1wID49IGFzY2lpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYm1wID49IGxhdGluKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJtcCA+PSBibXAyKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJtcCA+PSBhc3RyYWwpCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhc3RyYWwgPCBhc2NpaSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhc3RyYWwgPCBsYXRpbikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhc3RyYWwgPCBibXAyKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYXN0cmFsIDwgYXN0cmFsMikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFzdHJhbCA+PSBhc2NpaSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFzdHJhbCA+PSBsYXRpbikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFzdHJhbCA+PSBibXAyKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGFzdHJhbCA+PSBhc3RyYWwyKQorCiAKIGNsYXNzIFN0cmluZ01vZHVsZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X2Zvcm1hdHRlcl9wYXJzZXIoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5IGIvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weQppbmRleCA5OWFhMDAzLi42Nzc1MDhiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZWRhdGEucHkKQEAgLTgwLDcgKzgwLDcgQEAKIGNsYXNzIFVuaWNvZGVGdW5jdGlvbnNUZXN0KFVuaWNvZGVEYXRhYmFzZVRlc3QpOgogCiAgICAgIyB1cGRhdGUgdGhpcywgaWYgdGhlIGRhdGFiYXNlIGNoYW5nZXMKLSAgICBleHBlY3RlZGNoZWNrc3VtID0gJzE3ZmUyZjEyYjc4OGU0ZmZmNTQ3OWI0NjljNDQwNGJiNmVjZjg0MWYnCisgICAgZXhwZWN0ZWRjaGVja3N1bSA9ICdlYmQ2NGU4MTU1M2M5Y2IzN2Y0MjRmNTYxNjI1NDQ5OWZjZDg4NDllJwogICAgIGRlZiB0ZXN0X2Z1bmN0aW9uX2NoZWNrc3VtKHNlbGYpOgogICAgICAgICBkYXRhID0gW10KICAgICAgICAgaCA9IGhhc2hsaWIuc2hhMSgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5CmluZGV4IGEyZWE0OTcuLmI0YjU2ZDYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5CkBAIC0xNiw2ICsxNiw3IEBACiBmcm9tIGJhc2U2NCBpbXBvcnQgYjY0ZW5jb2RlCiBpbXBvcnQgY29sbGVjdGlvbnMKIAorCiBkZWYgaGV4ZXNjYXBlKGNoYXIpOgogICAgICIiIkVzY2FwZSBjaGFyIGFzIFJGQyAyMzk2IHNwZWNpZmllcyIiIgogICAgIGhleF9yZXByID0gaGV4KG9yZChjaGFyKSlbMjpdLnVwcGVyKCkKQEAgLTIzOCw3ICsyMzksNyBAQAogICAgICAgICBzZWxmLmNoZWNrX3JlYWQoYiIxLjEiKQogCiAgICAgZGVmIHRlc3RfcmVhZF9ib2d1cyhzZWxmKToKLSAgICAgICAgIyB1cmxvcGVuKCkgc2hvdWxkIHJhaXNlIElPRXJyb3IgZm9yIG1hbnkgZXJyb3IgY29kZXMuCisgICAgICAgICMgdXJsb3BlbigpIHNob3VsZCByYWlzZSBPU0Vycm9yIGZvciBtYW55IGVycm9yIGNvZGVzLgogICAgICAgICBzZWxmLmZha2VodHRwKGInJydIVFRQLzEuMSA0MDEgQXV0aGVudGljYXRpb24gUmVxdWlyZWQKIERhdGU6IFdlZCwgMDIgSmFuIDIwMDggMDM6MDM6NTQgR01UCiBTZXJ2ZXI6IEFwYWNoZS8xLjMuMzMgKERlYmlhbiBHTlUvTGludXgpIG1vZF9zc2wvMi44LjIyIE9wZW5TU0wvMC45LjdlCkBAIC0yNDYsMTIgKzI0NywxMiBAQAogQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMQogJycnKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCB1cmxvcGVuLCAiaHR0cDovL3B5dGhvbi5vcmcvIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHVybG9wZW4sICJodHRwOi8vcHl0aG9uLm9yZy8iKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc2VsZi51bmZha2VodHRwKCkKIAogICAgIGRlZiB0ZXN0X2ludmFsaWRfcmVkaXJlY3Qoc2VsZik6Ci0gICAgICAgICMgdXJsb3BlbigpIHNob3VsZCByYWlzZSBJT0Vycm9yIGZvciBtYW55IGVycm9yIGNvZGVzLgorICAgICAgICAjIHVybG9wZW4oKSBzaG91bGQgcmFpc2UgT1NFcnJvciBmb3IgbWFueSBlcnJvciBjb2Rlcy4KICAgICAgICAgc2VsZi5mYWtlaHR0cChiJycnSFRUUC8xLjEgMzAyIEZvdW5kCiBEYXRlOiBXZWQsIDAyIEphbiAyMDA4IDAzOjAzOjU0IEdNVAogU2VydmVyOiBBcGFjaGUvMS4zLjMzIChEZWJpYW4gR05VL0xpbnV4KSBtb2Rfc3NsLzIuOC4yMiBPcGVuU1NMLzAuOS43ZQpAQCAtMjY2LDE5ICsyNjcsMjAgQEAKICAgICAgICAgICAgIHNlbGYudW5mYWtlaHR0cCgpCiAKICAgICBkZWYgdGVzdF9lbXB0eV9zb2NrZXQoc2VsZik6Ci0gICAgICAgICMgdXJsb3BlbigpIHJhaXNlcyBJT0Vycm9yIGlmIHRoZSB1bmRlcmx5aW5nIHNvY2tldCBkb2VzIG5vdCBzZW5kIGFueQorICAgICAgICAjIHVybG9wZW4oKSByYWlzZXMgT1NFcnJvciBpZiB0aGUgdW5kZXJseWluZyBzb2NrZXQgZG9lcyBub3Qgc2VuZCBhbnkKICAgICAgICAgIyBkYXRhLiAoIzE2ODAyMzApCiAgICAgICAgIHNlbGYuZmFrZWh0dHAoYicnKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCB1cmxvcGVuLCAiaHR0cDovL3NvbWV0aGluZyIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCB1cmxvcGVuLCAiaHR0cDovL3NvbWV0aGluZyIpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLnVuZmFrZWh0dHAoKQogCiAgICAgZGVmIHRlc3RfbWlzc2luZ19sb2NhbGZpbGUoc2VsZik6CiAgICAgICAgICMgVGVzdCBmb3IgIzEwODM2Ci0gICAgICAgICMgMy4zIC0gVVJMRXJyb3IgaXMgbm90IGNhcHR1cmVkLCBleHBsaWNpdCBJT0Vycm9yIGlzIHJhaXNlZC4KLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyh1cmxsaWIuZXJyb3IuVVJMRXJyb3IpIGFzIGU6CiAgICAgICAgICAgICB1cmxvcGVuKCdmaWxlOi8vbG9jYWxob3N0L2EvZmlsZS93aGljaC9kb2Vzbm90L2V4aXN0cy5weScpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmV4Y2VwdGlvbi5maWxlbmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGUuZXhjZXB0aW9uLnJlYXNvbikKIAogICAgIGRlZiB0ZXN0X2ZpbGVfbm90ZXhpc3RzKHNlbGYpOgogICAgICAgICBmZCwgdG1wX2ZpbGUgPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKQEAgLTI5MSwyMCArMjkzLDIxIEBACiAgICAgICAgICAgICBvcy5jbG9zZShmZCkKICAgICAgICAgICAgIG9zLnVubGluayh0bXBfZmlsZSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyh0bXBfZmlsZSkpCi0gICAgICAgICMgMy4zIC0gSU9FcnJvciBpbnN0ZWFkIG9mIFVSTEVycm9yCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModXJsbGliLmVycm9yLlVSTEVycm9yKToKICAgICAgICAgICAgIHVybG9wZW4odG1wX2ZpbGV1cmwpCiAKICAgICBkZWYgdGVzdF9mdHBfbm9ob3N0KHNlbGYpOgogICAgICAgICB0ZXN0X2Z0cF91cmwgPSAnZnRwOi8vL3BhdGgnCi0gICAgICAgICMgMy4zIC0gSU9FcnJvciBpbnN0ZWFkIG9mIFVSTEVycm9yCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModXJsbGliLmVycm9yLlVSTEVycm9yKSBhcyBlOgogICAgICAgICAgICAgdXJsb3Blbih0ZXN0X2Z0cF91cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZS5leGNlcHRpb24uZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmV4Y2VwdGlvbi5yZWFzb24pCiAKICAgICBkZWYgdGVzdF9mdHBfbm9uZXhpc3Rpbmcoc2VsZik6Ci0gICAgICAgICMgMy4zIC0gSU9FcnJvciBpbnN0ZWFkIG9mIFVSTEVycm9yCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvcik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXModXJsbGliLmVycm9yLlVSTEVycm9yKSBhcyBlOgogICAgICAgICAgICAgdXJsb3BlbignZnRwOi8vbG9jYWxob3N0L2EvZmlsZS93aGljaC9kb2Vzbm90L2V4aXN0cy5weScpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZS5leGNlcHRpb24uZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShlLmV4Y2VwdGlvbi5yZWFzb24pCiAKIAogICAgIGRlZiB0ZXN0X3VzZXJwYXNzX2ludXJsKHNlbGYpOgpAQCAtMzQxLDYgKzM0NCw3OSBAQAogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgdXJsbGliLnJlcXVlc3QuVVJMb3BlbmVyKCkKIAorY2xhc3MgdXJsb3Blbl9EYXRhVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIlRlc3QgdXJsb3BlbigpIG9wZW5pbmcgYSBkYXRhIFVSTC4iIiIKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgIyB0ZXh0IGNvbnRhaW5pbmcgVVJMIHNwZWNpYWwtIGFuZCB1bmljb2RlLWNoYXJhY3RlcnMKKyAgICAgICAgc2VsZi50ZXh0ID0gInRlc3QgZGF0YSBVUkxzIDo7LCU9JiBcdTAwZjYgXHUwMGM0ICIKKyAgICAgICAgIyAyeDEgcGl4ZWwgUkdCIFBORyBpbWFnZSB3aXRoIG9uZSBibGFjayBhbmQgb25lIHdoaXRlIHBpeGVsCisgICAgICAgIHNlbGYuaW1hZ2UgPSAoCisgICAgICAgICAgICBiJ1x4ODlQTkdcclxuXHgxYVxuXHgwMFx4MDBceDAwXHJJSERSXHgwMFx4MDBceDAwXHgwMlx4MDBceDAwXHgwMCcKKyAgICAgICAgICAgIGInXHgwMVx4MDhceDAyXHgwMFx4MDBceDAwe0BceGU4XHhkZFx4MDBceDAwXHgwMFx4MDFzUkdCXHgwMFx4YWUnCisgICAgICAgICAgICBiJ1x4Y2VceDFjXHhlOVx4MDBceDAwXHgwMFx4MGZJREFUXHgwOFx4ZDdjYGBgXHhmOFx4ZmZceGZmP1x4MDAnCisgICAgICAgICAgICBiJ1x4MDZceDAxXHgwMlx4ZmVcbm8vXHgxZVx4MDBceDAwXHgwMFx4MDBJRU5EXHhhZUJgXHg4MicpCisKKyAgICAgICAgc2VsZi50ZXh0X3VybCA9ICgKKyAgICAgICAgICAgICJkYXRhOnRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCx0ZXN0JTIwZGF0YSUyMFVSTHMlMjAlM0ElM0IlMkMlMjUlMyIKKyAgICAgICAgICAgICJEJTI2JTIwJUMzJUI2JTIwJUMzJTg0JTIwIikKKyAgICAgICAgc2VsZi50ZXh0X3VybF9iYXNlNjQgPSAoCisgICAgICAgICAgICAiZGF0YTp0ZXh0L3BsYWluO2NoYXJzZXQ9SVNPLTg4NTktMTtiYXNlNjQsZEdWemRDQmtZWFJoSUZWU1RITWdPanMiCisgICAgICAgICAgICAic0pUMG1JUFlneENBJTNEIikKKyAgICAgICAgIyBiYXNlNjQgZW5jb2RlZCBkYXRhIFVSTCB0aGF0IGNvbnRhaW5zIGlnbm9yYWJsZSBzcGFjZXMsCisgICAgICAgICMgc3VjaCBhcyAiXG4iLCAiICIsICIlMEEiLCBhbmQgIiUyMCIuCisgICAgICAgIHNlbGYuaW1hZ2VfdXJsID0gKAorICAgICAgICAgICAgImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQkNBSUFBQUI3XG4iCisgICAgICAgICAgICAiUU9qZEFBQUFBWE5TUjBJQXJzNGM2UUFBQUE5SlJFRlVDTmRqJTBBWUdCZyUyQlAvL1B3QUdBUUwlMkJDbTggIgorICAgICAgICAgICAgInZIZ0FBQUFCSlJVNUVya0pnZ2clM0QlM0QlMEElMjAiKQorCisgICAgICAgIHNlbGYudGV4dF91cmxfcmVzcCA9IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oc2VsZi50ZXh0X3VybCkKKyAgICAgICAgc2VsZi50ZXh0X3VybF9iYXNlNjRfcmVzcCA9IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oCisgICAgICAgICAgICBzZWxmLnRleHRfdXJsX2Jhc2U2NCkKKyAgICAgICAgc2VsZi5pbWFnZV91cmxfcmVzcCA9IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oc2VsZi5pbWFnZV91cmwpCisKKyAgICBkZWYgdGVzdF9pbnRlcmZhY2Uoc2VsZik6CisgICAgICAgICMgTWFrZSBzdXJlIG9iamVjdCByZXR1cm5lZCBieSB1cmxvcGVuKCkgaGFzIHRoZSBzcGVjaWZpZWQgbWV0aG9kcworICAgICAgICBmb3IgYXR0ciBpbiAoInJlYWQiLCAicmVhZGxpbmUiLCAicmVhZGxpbmVzIiwKKyAgICAgICAgICAgICAgICAgICAgICJjbG9zZSIsICJpbmZvIiwgImdldHVybCIsICJnZXRjb2RlIiwgIl9faXRlcl9fIik6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihzZWxmLnRleHRfdXJsX3Jlc3AsIGF0dHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QgcmV0dXJuZWQgYnkgdXJsb3BlbigpIGxhY2tzICVzIGF0dHJpYnV0ZSIgJQorICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHIpCisKKyAgICBkZWYgdGVzdF9pbmZvKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2VsZi50ZXh0X3VybF9yZXNwLmluZm8oKSwgZW1haWwubWVzc2FnZS5NZXNzYWdlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYudGV4dF91cmxfYmFzZTY0X3Jlc3AuaW5mbygpLmdldF9wYXJhbXMoKSwKKyAgICAgICAgICAgIFsoJ3RleHQvcGxhaW4nLCAnJyksICgnY2hhcnNldCcsICdJU08tODg1OS0xJyldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuaW1hZ2VfdXJsX3Jlc3AuaW5mbygpWydjb250ZW50LWxlbmd0aCddLAorICAgICAgICAgICAgc3RyKGxlbihzZWxmLmltYWdlKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXJsbGliLnJlcXVlc3QudXJsb3BlbigiZGF0YTosIikuaW5mbygpLmdldF9wYXJhbXMoKSwKKyAgICAgICAgICAgIFsoJ3RleHQvcGxhaW4nLCAnJyksICgnY2hhcnNldCcsICdVUy1BU0NJSScpXSkKKworICAgIGRlZiB0ZXN0X2dldHVybChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnRleHRfdXJsX3Jlc3AuZ2V0dXJsKCksIHNlbGYudGV4dF91cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50ZXh0X3VybF9iYXNlNjRfcmVzcC5nZXR1cmwoKSwKKyAgICAgICAgICAgIHNlbGYudGV4dF91cmxfYmFzZTY0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuaW1hZ2VfdXJsX3Jlc3AuZ2V0dXJsKCksIHNlbGYuaW1hZ2VfdXJsKQorCisgICAgZGVmIHRlc3RfcmVhZF90ZXh0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYudGV4dF91cmxfcmVzcC5yZWFkKCkuZGVjb2RlKAorICAgICAgICAgICAgZGljdChzZWxmLnRleHRfdXJsX3Jlc3AuaW5mbygpLmdldF9wYXJhbXMoKSlbJ2NoYXJzZXQnXSksIHNlbGYudGV4dCkKKworICAgIGRlZiB0ZXN0X3JlYWRfdGV4dF9iYXNlNjQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50ZXh0X3VybF9iYXNlNjRfcmVzcC5yZWFkKCkuZGVjb2RlKAorICAgICAgICAgICAgZGljdChzZWxmLnRleHRfdXJsX2Jhc2U2NF9yZXNwLmluZm8oKS5nZXRfcGFyYW1zKCkpWydjaGFyc2V0J10pLAorICAgICAgICAgICAgc2VsZi50ZXh0KQorCisgICAgZGVmIHRlc3RfcmVhZF9pbWFnZShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmltYWdlX3VybF9yZXNwLnJlYWQoKSwgc2VsZi5pbWFnZSkKKworICAgIGRlZiB0ZXN0X21pc3NpbmdfY29tbWEoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsdXJsbGliLnJlcXVlc3QudXJsb3BlbiwnZGF0YTp0ZXh0L3BsYWluJykKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfYmFzZTY0X2RhdGEoc2VsZik6CisgICAgICAgICMgbWlzc2luZyBwYWRkaW5nIGNoYXJhY3RlcgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLHVybGxpYi5yZXF1ZXN0LnVybG9wZW4sJ2RhdGE6O2Jhc2U2NCxDZz0nKQorCiBjbGFzcyB1cmxyZXRyaWV2ZV9GaWxlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIlRlc3QgdXJsbGliLnVybHJldHJpZXZlKCkgb24gbG9jYWwgZmlsZXMiIiIKIApAQCAtMTI5MSw2ICsxMzY3LDcgQEAKICMgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZ0cC5mdHAuc29jay5nZXR0aW1lb3V0KCksIDMwKQogIyAgICAgICAgIGZ0cC5jbG9zZSgpCiAKKwogY2xhc3MgUmVxdWVzdFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiIiJVbml0IHRlc3RzIGZvciB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0LiIiIgogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkKaW5kZXggMzNmOTBmNC4uYjRmOTQwYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliMi5weQpAQCAtMTE4LDYgKzExOCwxNSBAQAogICAgICAgICBzZWxmLmFzc2VydElzTm9uZShyZXEuZ2V0X2hlYWRlcigiTm90LXRoZXJlIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVxLmdldF9oZWFkZXIoIk5vdC10aGVyZSIsICJkZWZhdWx0IiksICJkZWZhdWx0IikKIAorICAgICAgICByZXEucmVtb3ZlX2hlYWRlcigiU3BhbS1lZ2dzIikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXEuaGFzX2hlYWRlcigiU3BhbS1lZ2dzIikpCisKKyAgICAgICAgcmVxLmFkZF91bnJlZGlyZWN0ZWRfaGVhZGVyKCJVbnJlZGlyZWN0ZWQtc3BhbSIsICJFZ2dzIikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcS5oYXNfaGVhZGVyKCJVbnJlZGlyZWN0ZWQtc3BhbSIpKQorCisgICAgICAgIHJlcS5yZW1vdmVfaGVhZGVyKCJVbnJlZGlyZWN0ZWQtc3BhbSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocmVxLmhhc19oZWFkZXIoIlVucmVkaXJlY3RlZC1zcGFtIikpCisKIAogICAgIGRlZiB0ZXN0X3Bhc3N3b3JkX21hbmFnZXIoc2VsZik6CiAgICAgICAgIG1nciA9IHVybGxpYi5yZXF1ZXN0LkhUVFBQYXNzd29yZE1ncigpCkBAIC0yODMsNiArMjkyLDcgQEAKICAgICAgICAgc2VsZi5yZXFfaGVhZGVycyA9IFtdCiAgICAgICAgIHNlbGYuZGF0YSA9IE5vbmUKICAgICAgICAgc2VsZi5yYWlzZV9vbl9lbmRoZWFkZXJzID0gRmFsc2UKKyAgICAgICAgc2VsZi5zb2NrID0gTm9uZQogICAgICAgICBzZWxmLl90dW5uZWxfaGVhZGVycyA9IHt9CiAKICAgICBkZWYgX19jYWxsX18oc2VsZiwgaG9zdCwgdGltZW91dD1zb2NrZXQuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQpOgpAQCAtMzEwLDggKzMyMCw3IEBACiAgICAgICAgIGlmIGJvZHk6CiAgICAgICAgICAgICBzZWxmLmRhdGEgPSBib2R5CiAgICAgICAgIGlmIHNlbGYucmFpc2Vfb25fZW5kaGVhZGVyczoKLSAgICAgICAgICAgIGltcG9ydCBzb2NrZXQKLSAgICAgICAgICAgIHJhaXNlIHNvY2tldC5lcnJvcigpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCkKICAgICBkZWYgZ2V0cmVzcG9uc2Uoc2VsZik6CiAgICAgICAgIHJldHVybiBNb2NrSFRUUFJlc3BvbnNlKE1vY2tGaWxlKCksIHt9LCAyMDAsICJPSyIpCiAKQEAgLTU5NiwyNyArNjA1LDYgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYXJnc1sxXSBpcyBOb25lIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoYXJnc1sxXSwgTW9ja1Jlc3BvbnNlKSkKIAotICAgIGRlZiB0ZXN0X21ldGhvZF9kZXByZWNhdGlvbnMoc2VsZik6Ci0gICAgICAgIHJlcSA9IFJlcXVlc3QoImh0dHA6Ly93d3cuZXhhbXBsZS5jb20iKQotCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgcmVxLmFkZF9kYXRhKCJkYXRhIikKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICByZXEuZ2V0X2RhdGEoKQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoRGVwcmVjYXRpb25XYXJuaW5nKToKLSAgICAgICAgICAgIHJlcS5oYXNfZGF0YSgpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgcmVxLmdldF9ob3N0KCkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICByZXEuZ2V0X3NlbGVjdG9yKCkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICByZXEuaXNfdW52ZXJpZmlhYmxlKCkKLSAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6Ci0gICAgICAgICAgICByZXEuZ2V0X29yaWdpbl9yZXFfaG9zdCgpCi0gICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhEZXByZWNhdGlvbldhcm5pbmcpOgotICAgICAgICAgICAgcmVxLmdldF90eXBlKCkKLQotCiBkZWYgc2FuZXBhdGhuYW1lMnVybChwYXRoKToKICAgICB0cnk6CiAgICAgICAgIHBhdGguZW5jb2RlKCJ1dGYtOCIpCkBAIC04MTEsNyArNzk5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiRm9vIiwgImJhciIpLCAoIlNwYW0iLCAiZWdncyIpXSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaHR0cC5kYXRhLCBkYXRhKQogCi0gICAgICAgICMgY2hlY2sgc29ja2V0LmVycm9yIGNvbnZlcnRlZCB0byBVUkxFcnJvcgorICAgICAgICAjIGNoZWNrIE9TRXJyb3IgY29udmVydGVkIHRvIFVSTEVycm9yCiAgICAgICAgIGh0dHAucmFpc2Vfb25fZW5kaGVhZGVycyA9IFRydWUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXModXJsbGliLmVycm9yLlVSTEVycm9yLCBoLmRvX29wZW4sIGh0dHAsIHJlcSkKIApAQCAtOTE2LDYgKzkwNCwzMCBAQAogICAgICAgICAgICAgcF9kc19yZXEgPSBoLmRvX3JlcXVlc3RfKGRzX3JlcSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocF9kc19yZXEudW5yZWRpcmVjdGVkX2hkcnNbIkhvc3QiXSwiZXhhbXBsZS5jb20iKQogCisgICAgZGVmIHRlc3RfZnVsbF91cmxfc2V0dGVyKHNlbGYpOgorICAgICAgICAjIENoZWNrcyB0byBlbnN1cmUgdGhhdCBjb21wb25lbnRzIGFyZSBzZXQgY29ycmVjdGx5IGFmdGVyIHNldHRpbmcgdGhlCisgICAgICAgICMgZnVsbF91cmwgb2YgYSBSZXF1ZXN0IG9iamVjdAorCisgICAgICAgIHVybHMgPSBbCisgICAgICAgICAgICAnaHR0cDovL2V4YW1wbGUuY29tP2Zvbz1iYXIjYmF6JywKKyAgICAgICAgICAgICdodHRwOi8vZXhhbXBsZS5jb20/Zm9vPWJhciZzcGFtPWVnZ3MjYmFzaCcsCisgICAgICAgICAgICAnaHR0cDovL2V4YW1wbGUuY29tJywKKyAgICAgICAgXQorCisgICAgICAgICMgdGVzdGluZyBhIHJldXNhYmxlIHJlcXVlc3QgaW5zdGFuY2UsIGJ1dCB0aGUgdXJsIHBhcmFtZXRlciBpcworICAgICAgICAjIHJlcXVpcmVkLCBzbyBqdXN0IHVzZSBhIGR1bW15IG9uZSB0byBpbnN0YW50aWF0ZQorICAgICAgICByID0gUmVxdWVzdCgnaHR0cDovL2V4YW1wbGUuY29tJykKKyAgICAgICAgZm9yIHVybCBpbiB1cmxzOgorICAgICAgICAgICAgci5mdWxsX3VybCA9IHVybAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyLmdldF9mdWxsX3VybCgpLCB1cmwpCisKKyAgICBkZWYgdGVzdF9mdWxsX3VybF9kZWxldGVyKHNlbGYpOgorICAgICAgICByID0gUmVxdWVzdCgnaHR0cDovL3d3dy5leGFtcGxlLmNvbScpCisgICAgICAgIGRlbCByLmZ1bGxfdXJsCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHIuZnVsbF91cmwpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHIuZnJhZ21lbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoci5zZWxlY3RvciwgJycpCisKICAgICBkZWYgdGVzdF9maXhwYXRoX2luX3dlaXJkdXJscyhzZWxmKToKICAgICAgICAgIyBJc3N1ZTQ0OTM6IHVybGxpYjIgdG8gc3VwcGx5ICcvJyB3aGVuIHRvIHVybHMgd2hlcmUgcGF0aCBkb2VzIG5vdAogICAgICAgICAjIHN0YXJ0IHdpdGgnLycKQEAgLTE0MTUsNiArMTQyNywyMSBAQAogICAgICAgICBzZWxmLm9wZW5lcl9oYXNfaGFuZGxlcihvLCBNeUhUVFBIYW5kbGVyKQogICAgICAgICBzZWxmLm9wZW5lcl9oYXNfaGFuZGxlcihvLCBNeU90aGVySFRUUEhhbmRsZXIpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzdXBwb3J0LmlzX3Jlc291cmNlX2VuYWJsZWQoJ25ldHdvcmsnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdCByZXF1aXJlcyBuZXR3b3JrIGFjY2VzcycpCisgICAgZGVmIHRlc3RfaXNzdWUxNjQ2NChzZWxmKToKKyAgICAgICAgb3BlbmVyID0gdXJsbGliLnJlcXVlc3QuYnVpbGRfb3BlbmVyKCkKKyAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QoImh0dHA6Ly93d3cucHl0aG9uLm9yZy9+amVyZW15LyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoTm9uZSwgcmVxdWVzdC5kYXRhKQorCisgICAgICAgIG9wZW5lci5vcGVuKHJlcXVlc3QsICIxIi5lbmNvZGUoInVzLWFzY2lpIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIxIiwgcmVxdWVzdC5kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCIxIiwgcmVxdWVzdC5nZXRfaGVhZGVyKCJDb250ZW50LWxlbmd0aCIpKQorCisgICAgICAgIG9wZW5lci5vcGVuKHJlcXVlc3QsICIxMjM0NTY3ODkwIi5lbmNvZGUoInVzLWFzY2lpIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIxMjM0NTY3ODkwIiwgcmVxdWVzdC5kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCIxMCIsIHJlcXVlc3QuZ2V0X2hlYWRlcigiQ29udGVudC1sZW5ndGgiKSkKKwogICAgIGRlZiB0ZXN0X0hUVFBFcnJvcl9pbnRlcmZhY2Uoc2VsZik6CiAgICAgICAgICIiIgogICAgICAgICBJc3N1ZSAxMzIxMSByZXZlYWxzIHRoYXQgSFRUUEVycm9yIGRpZG4ndCBpbXBsZW1lbnQgdGhlIFVSTEVycm9yCkBAIC0xNDI2LDEyICsxNDUzLDExIEBACiAgICAgICAgIGVyciA9IHVybGxpYi5lcnJvci5IVFRQRXJyb3IodXJsLCBjb2RlLCBtc2csIGhkcnMsIGZwKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihlcnIsICdyZWFzb24nKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIucmVhc29uLCAnc29tZXRoaW5nIGJhZCBoYXBwZW5lZCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKGVyciwgJ2hkcnMnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuaGRycywgJ0NvbnRlbnQtTGVuZ3RoOiA0MicpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKGVyciwgJ2hlYWRlcnMnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlcnIuaGVhZGVycywgJ0NvbnRlbnQtTGVuZ3RoOiA0MicpCiAgICAgICAgIGV4cGVjdGVkX2Vycm1zZyA9ICdIVFRQIEVycm9yICVzOiAlcycgJSAoZXJyLmNvZGUsIGVyci5tc2cpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGVyciksIGV4cGVjdGVkX2Vycm1zZykKIAotCiBjbGFzcyBSZXF1ZXN0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtMTQ1MSw2ICsxNDc3LDI1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmdldC5kYXRhKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJQT1NUIiwgc2VsZi5nZXQuZ2V0X21ldGhvZCgpKQogCisgICAgIyBpc3N1ZSAxNjQ2NAorICAgICMgaWYgd2UgY2hhbmdlIGRhdGEgd2UgbmVlZCB0byByZW1vdmUgY29udGVudC1sZW5ndGggaGVhZGVyCisgICAgIyAoY2F1c2UgaXQncyBtb3N0IHByb2JhYmx5IGNhbGN1bGF0ZWQgZm9yIHByZXZpb3VzIHZhbHVlKQorICAgIGRlZiB0ZXN0X3NldHRpbmdfZGF0YV9zaG91bGRfcmVtb3ZlX2NvbnRlbnRfbGVuZ3RoKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCJDb250ZW50LWxlbmd0aCIsIHNlbGYuZ2V0LnVucmVkaXJlY3RlZF9oZHJzKQorICAgICAgICBzZWxmLmdldC5hZGRfdW5yZWRpcmVjdGVkX2hlYWRlcigiQ29udGVudC1sZW5ndGgiLCA0MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0Miwgc2VsZi5nZXQudW5yZWRpcmVjdGVkX2hkcnNbIkNvbnRlbnQtbGVuZ3RoIl0pCisgICAgICAgIHNlbGYuZ2V0LmRhdGEgPSAic3BhbSIKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigiQ29udGVudC1sZW5ndGgiLCBzZWxmLmdldC51bnJlZGlyZWN0ZWRfaGRycykKKworICAgICMgaXNzdWUgMTc0ODUgc2FtZSBmb3IgZGVsZXRpbmcgZGF0YS4KKyAgICBkZWYgdGVzdF9kZWxldGluZ19kYXRhX3Nob3VsZF9yZW1vdmVfY29udGVudF9sZW5ndGgoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oIkNvbnRlbnQtbGVuZ3RoIiwgc2VsZi5nZXQudW5yZWRpcmVjdGVkX2hkcnMpCisgICAgICAgIHNlbGYuZ2V0LmRhdGEgPSAnZm9vJworICAgICAgICBzZWxmLmdldC5hZGRfdW5yZWRpcmVjdGVkX2hlYWRlcigiQ29udGVudC1sZW5ndGgiLCAzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDMsIHNlbGYuZ2V0LnVucmVkaXJlY3RlZF9oZHJzWyJDb250ZW50LWxlbmd0aCJdKQorICAgICAgICBkZWwgc2VsZi5nZXQuZGF0YQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCJDb250ZW50LWxlbmd0aCIsIHNlbGYuZ2V0LnVucmVkaXJlY3RlZF9oZHJzKQorCiAgICAgZGVmIHRlc3RfZ2V0X2Z1bGxfdXJsKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJodHRwOi8vd3d3LnB5dGhvbi5vcmcvfmplcmVteS8iLAogICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZ2V0LmdldF9mdWxsX3VybCgpKQpAQCAtMTQ5MiwyMiArMTUzNyw2IEBACiAgICAgICAgIHJlcSA9IFJlcXVlc3QodXJsKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcS5nZXRfZnVsbF91cmwoKSwgdXJsKQogCi0gICAgZGVmIHRlc3RfSFRUUEVycm9yX2ludGVyZmFjZV9jYWxsKHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgSXNzdWUgMTU3MDEgLSBIVFRQRXJyb3IgaW50ZXJmYWNlIGhhcyBpbmZvIG1ldGhvZCBhdmFpbGFibGUgZnJvbSBVUkxFcnJvcgotICAgICAgICAiIiIKLSAgICAgICAgZXJyID0gdXJsbGliLnJlcXVlc3QuSFRUUEVycm9yKG1zZz0ic29tZXRoaW5nIGJhZCBoYXBwZW5lZCIsIHVybD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlPU5vbmUsIGhkcnM9J0NvbnRlbnQtTGVuZ3RoOjQyJywgZnA9Tm9uZSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoZXJyLCAncmVhc29uJykpCi0gICAgICAgIGFzc2VydCBoYXNhdHRyKGVyciwgJ3JlYXNvbicpCi0gICAgICAgIGFzc2VydCBoYXNhdHRyKGVyciwgJ2luZm8nKQotICAgICAgICBhc3NlcnQgY2FsbGFibGUoZXJyLmluZm8pCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGVyci5pbmZvKCkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgc2VsZi5mYWlsKCdlcnIuaW5mbyBjYWxsIGZhaWxlZC4nKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyci5pbmZvKCksICJDb250ZW50LUxlbmd0aDo0MiIpCi0KIGRlZiB0ZXN0X21haW4odmVyYm9zZT1Ob25lKToKICAgICBmcm9tIHRlc3QgaW1wb3J0IHRlc3RfdXJsbGliMgogICAgIHN1cHBvcnQucnVuX2RvY3Rlc3QodGVzdF91cmxsaWIyLCB2ZXJib3NlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIyX2xvY2FsbmV0LnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWIyX2xvY2FsbmV0LnB5CmluZGV4IGIxYWExNTguLjA4MjUwYzMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliMl9sb2NhbG5ldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjJfbG9jYWxuZXQucHkKQEAgLTksNyArOSwxMCBAQAogaW1wb3J0IGhhc2hsaWIKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogdGhyZWFkaW5nID0gc3VwcG9ydC5pbXBvcnRfbW9kdWxlKCd0aHJlYWRpbmcnKQotCit0cnk6CisgICAgaW1wb3J0IHNzbAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHNzbCA9IE5vbmUKIAogaGVyZSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKICMgU2VsZi1zaWduZWQgY2VydCBmaWxlIGZvciAnbG9jYWxob3N0JwpAQCAtMTcsNiArMjAsNyBAQAogIyBTZWxmLXNpZ25lZCBjZXJ0IGZpbGUgZm9yICdmYWtlaG9zdG5hbWUnCiBDRVJUX2Zha2Vob3N0bmFtZSA9IG9zLnBhdGguam9pbihoZXJlLCAna2V5Y2VydDIucGVtJykKIAorCiAjIExvb3BiYWNrIGh0dHAgc2VydmVyIGluZnJhc3RydWN0dXJlCiAKIGNsYXNzIExvb3BiYWNrSHR0cFNlcnZlcihodHRwLnNlcnZlci5IVFRQU2VydmVyKToKQEAgLTM1MywxMiArMzU3LDE1IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzdXBlcihUZXN0VXJsb3Blbiwgc2VsZikuc2V0VXAoKQogICAgICAgICAjIElnbm9yZSBwcm94aWVzIGZvciBsb2NhbGhvc3QgdGVzdHMuCisgICAgICAgIHNlbGYub2xkX2Vudmlyb24gPSBvcy5lbnZpcm9uLmNvcHkoKQogICAgICAgICBvcy5lbnZpcm9uWydOT19QUk9YWSddID0gJyonCiAgICAgICAgIHNlbGYuc2VydmVyID0gTm9uZQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBpZiBzZWxmLnNlcnZlciBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoKQorICAgICAgICBvcy5lbnZpcm9uLmNsZWFyKCkKKyAgICAgICAgb3MuZW52aXJvbi51cGRhdGUoc2VsZi5vbGRfZW52aXJvbikKICAgICAgICAgc3VwZXIoVGVzdFVybG9wZW4sIHNlbGYpLnRlYXJEb3duKCkKIAogICAgIGRlZiB1cmxvcGVuKHNlbGYsIHVybCwgZGF0YT1Ob25lLCAqKmt3YXJncyk6CkBAIC0zODYsMTQgKzM5MywxNCBAQAogICAgICAgICBoYW5kbGVyLnBvcnQgPSBwb3J0CiAgICAgICAgIHJldHVybiBoYW5kbGVyCiAKLSAgICBkZWYgc3RhcnRfaHR0cHNfc2VydmVyKHNlbGYsIHJlc3BvbnNlcz1Ob25lLCBjZXJ0ZmlsZT1DRVJUX2xvY2FsaG9zdCk6CisgICAgZGVmIHN0YXJ0X2h0dHBzX3NlcnZlcihzZWxmLCByZXNwb25zZXM9Tm9uZSwgKiprd2FyZ3MpOgogICAgICAgICBpZiBub3QgaGFzYXR0cih1cmxsaWIucmVxdWVzdCwgJ0hUVFBTSGFuZGxlcicpOgogICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgnc3NsIHN1cHBvcnQgcmVxdWlyZWQnKQogICAgICAgICBmcm9tIHRlc3Quc3NsX3NlcnZlcnMgaW1wb3J0IG1ha2VfaHR0cHNfc2VydmVyCiAgICAgICAgIGlmIHJlc3BvbnNlcyBpcyBOb25lOgogICAgICAgICAgICAgcmVzcG9uc2VzID0gWygyMDAsIFtdLCBiIndlIGNhcmUgYSBiaXQiKV0KICAgICAgICAgaGFuZGxlciA9IEdldFJlcXVlc3RIYW5kbGVyKHJlc3BvbnNlcykKLSAgICAgICAgc2VydmVyID0gbWFrZV9odHRwc19zZXJ2ZXIoc2VsZiwgY2VydGZpbGU9Y2VydGZpbGUsIGhhbmRsZXJfY2xhc3M9aGFuZGxlcikKKyAgICAgICAgc2VydmVyID0gbWFrZV9odHRwc19zZXJ2ZXIoc2VsZiwgaGFuZGxlcl9jbGFzcz1oYW5kbGVyLCAqKmt3YXJncykKICAgICAgICAgaGFuZGxlci5wb3J0ID0gc2VydmVyLnBvcnQKICAgICAgICAgcmV0dXJuIGhhbmRsZXIKIApAQCAtNDgzLDYgKzQ5MCwyMSBAQAogICAgICAgICAgICAgc2VsZi51cmxvcGVuKCJodHRwczovL2xvY2FsaG9zdDolcy9iaXphcnJlIiAlIGhhbmRsZXIucG9ydCwKICAgICAgICAgICAgICAgICAgICAgICAgICBjYWRlZmF1bHQ9VHJ1ZSkKIAorICAgIGRlZiB0ZXN0X2h0dHBzX3NuaShzZWxmKToKKyAgICAgICAgaWYgc3NsIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJzc2wgbW9kdWxlIHJlcXVpcmVkIikKKyAgICAgICAgaWYgbm90IHNzbC5IQVNfU05JOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiU05JIHN1cHBvcnQgcmVxdWlyZWQgaW4gT3BlblNTTCIpCisgICAgICAgIHNuaV9uYW1lID0gTm9uZQorICAgICAgICBkZWYgY2Jfc25pKHNzbF9zb2NrLCBzZXJ2ZXJfbmFtZSwgaW5pdGlhbF9jb250ZXh0KToKKyAgICAgICAgICAgIG5vbmxvY2FsIHNuaV9uYW1lCisgICAgICAgICAgICBzbmlfbmFtZSA9IHNlcnZlcl9uYW1lCisgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgIGNvbnRleHQuc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2soY2Jfc25pKQorICAgICAgICBoYW5kbGVyID0gc2VsZi5zdGFydF9odHRwc19zZXJ2ZXIoY29udGV4dD1jb250ZXh0LCBjZXJ0ZmlsZT1DRVJUX2xvY2FsaG9zdCkKKyAgICAgICAgc2VsZi51cmxvcGVuKCJodHRwczovL2xvY2FsaG9zdDolcyIgJSBoYW5kbGVyLnBvcnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc25pX25hbWUsICJsb2NhbGhvc3QiKQorCiAgICAgZGVmIHRlc3Rfc2VuZGluZ19oZWFkZXJzKHNlbGYpOgogICAgICAgICBoYW5kbGVyID0gc2VsZi5zdGFydF9zZXJ2ZXIoKQogICAgICAgICByZXEgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KCJodHRwOi8vbG9jYWxob3N0OiVzLyIgJSBoYW5kbGVyLnBvcnQsCkBAIC01MjksNyArNTUxLDcgQEAKICAgICAgICAgIyBzbyB3ZSBydW4gdGhlIHRlc3Qgb25seSB3aGVuIC11bmV0d29yay8tdWFsbCBpcyBzcGVjaWZpZWQgdG8KICAgICAgICAgIyBtaXRpZ2F0ZSB0aGUgcHJvYmxlbSBhIGJpdCAoc2VlICMxNzU2NCkKICAgICAgICAgc3VwcG9ydC5yZXF1aXJlcygnbmV0d29yaycpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICMgR2l2ZW4gdGhhdCBib3RoIFZlcmlTaWduIGFuZCB2YXJpb3VzIElTUHMgaGF2ZSBpbgogICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRoZSBwYXN0IG9yIGFyZSBwcmVzZW50bHkgaGlqYWNraW5nIHZhcmlvdXMgaW52YWxpZAogICAgICAgICAgICAgICAgICAgICAgICAgICAjIGRvbWFpbiBuYW1lIHJlcXVlc3RzIGluIGFuIGF0dGVtcHQgdG8gYm9vc3QgdHJhZmZpYwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIybmV0LnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWIybmV0LnB5CmluZGV4IDdmM2M5M2EuLmUyNzZkMmUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliMm5ldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjJuZXQucHkKQEAgLTIxNiw3ICsyMTYsNyBAQAogICAgICAgICAgICAgICAgIGRlYnVnKHVybCkKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGYgPSB1cmxvcGVuKHVybCwgcmVxLCBUSU1FT1VUKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAgICAgIGRlYnVnKGVycikKICAgICAgICAgICAgICAgICAgICAgaWYgZXhwZWN0ZWRfZXJyOgogICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gKCJEaWRuJ3QgZ2V0IGV4cGVjdGVkIGVycm9yKHMpICVzIGZvciAlcyAlcywgZ290ICVzOiAlcyIgJQpAQCAtMzMwLDMxICszMzAsOSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1LmZwLmZwLnJhdy5fc29jay5nZXR0aW1lb3V0KCksIDYwKQogCiAKLUB1bml0dGVzdC5za2lwVW5sZXNzKHNzbCwgInJlcXVpcmVzIFNTTCBzdXBwb3J0IikKLWNsYXNzIEhUVFBTVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotCi0gICAgZGVmIHRlc3Rfc25pKHNlbGYpOgotICAgICAgICBzZWxmLnNraXBUZXN0KCJ0ZXN0IGRpc2FibGVkIC0gdGVzdCBzZXJ2ZXIgbmVlZGVkIikKLSAgICAgICAgIyBDaGVja3MgdGhhdCBTZXJ2ZXIgTmFtZSBJbmRpY2F0aW9uIHdvcmtzLCBpZiBzdXBwb3J0ZWQgYnkgdGhlCi0gICAgICAgICMgT3BlblNTTCBsaW5rZWQgdG8uCi0gICAgICAgICMgVGhlIHNzbCBtb2R1bGUgaXRzZWxmIGRvZXNuJ3QgaGF2ZSBzZXJ2ZXItc2lkZSBzdXBwb3J0IGZvciBTTkksCi0gICAgICAgICMgc28gd2UgcmVseSBvbiBhIHRoaXJkLXBhcnR5IHRlc3Qgc2l0ZS4KLSAgICAgICAgZXhwZWN0X3NuaSA9IHNzbC5IQVNfU05JCi0gICAgICAgIHdpdGggc3VwcG9ydC50cmFuc2llbnRfaW50ZXJuZXQoIlhYWCIpOgotICAgICAgICAgICAgdSA9IHVybGxpYi5yZXF1ZXN0LnVybG9wZW4oIlhYWCIpCi0gICAgICAgICAgICBjb250ZW50cyA9IHUucmVhZGFsbCgpCi0gICAgICAgICAgICBpZiBleHBlY3Rfc25pOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiJHcmVhdCIsIGNvbnRlbnRzKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oYiJVbmZvcnR1bmF0ZWx5IiwgY29udGVudHMpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oYiJHcmVhdCIsIGNvbnRlbnRzKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiJVbmZvcnR1bmF0ZWx5IiwgY29udGVudHMpCi0KLQogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucmVxdWlyZXMoIm5ldHdvcmsiKQogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KEF1dGhUZXN0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICBIVFRQU1Rlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyTmV0d29ya1Rlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlU29ja2V0VGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0VGVzdCwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXJsbGlibmV0LnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWJuZXQucHkKaW5kZXggZDNmZTY5ZC4uODk2ZDdjOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91cmxsaWJuZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91cmxsaWJuZXQucHkKQEAgLTEyMSwxNiArMTIxLDE1IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIFRoaXMgaGFwcGVucyB3aXRoIHNvbWUgb3ZlcnplYWxvdXMgRE5TIHByb3ZpZGVycyBzdWNoIGFzIE9wZW5ETlMKICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIiVyIHNob3VsZCBub3QgcmVzb2x2ZSBmb3IgdGVzdCB0byB3b3JrIiAlIGJvZ3VzX2RvbWFpbikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIyBTRiBwYXRjaCA4MDk5MTU6ICBJbiBTZXAgMjAwMywgVmVyaVNpZ24gc3RhcnRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICAjIGhpZ2hqYWNraW5nIGludmFsaWQgLmNvbSBhbmQgLm5ldCBhZGRyZXNzZXMgdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIyBib29zdCB0cmFmZmljIHRvIHRoZWlyIG93biBzaXRlLiAgVGhpcyB0ZXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICMgc3RhcnRlZCBmYWlsaW5nIHRoZW4uICBPbmUgaG9wZXMgdGhlIC5pbnZhbGlkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICMgZG9tYWluIHdpbGwgYmUgc3BhcmVkIHRvIHNlcnZlIGl0cyBkZWZpbmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICMgcHVycG9zZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgIyB1cmxsaWIudXJsb3BlbiwgImh0dHA6Ly93d3cuc2FkZmxranNhc2FkZi5jb20vIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsbGliLnJlcXVlc3QudXJsb3BlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9zYWRmbGtqc2FzZi5pLm52YWxpLmQvIikKKyAgICAgICAgZmFpbHVyZV9leHBsYW5hdGlvbiA9ICgnb3BlbmluZyBhbiBpbnZhbGlkIFVSTCBkaWQgbm90IHJhaXNlIE9TRXJyb3I7ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2FuIGJlIGNhdXNlZCBieSBhIGJyb2tlbiBETlMgc2VydmVyICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGUuZy4gcmV0dXJucyA0MDQgb3IgaGlqYWNrcyBwYWdlKScpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgbXNnPWZhaWx1cmVfZXhwbGFuYXRpb24pOgorICAgICAgICAgICAgIyBTRiBwYXRjaCA4MDk5MTU6ICBJbiBTZXAgMjAwMywgVmVyaVNpZ24gc3RhcnRlZCBoaWdoamFja2luZworICAgICAgICAgICAgIyBpbnZhbGlkIC5jb20gYW5kIC5uZXQgYWRkcmVzc2VzIHRvIGJvb3N0IHRyYWZmaWMgdG8gdGhlaXIgb3duCisgICAgICAgICAgICAjIHNpdGUuICBUaGlzIHRlc3Qgc3RhcnRlZCBmYWlsaW5nIHRoZW4uICBPbmUgaG9wZXMgdGhlIC5pbnZhbGlkCisgICAgICAgICAgICAjIGRvbWFpbiB3aWxsIGJlIHNwYXJlZCB0byBzZXJ2ZSBpdHMgZGVmaW5lZCBwdXJwb3NlLgorICAgICAgICAgICAgdXJsbGliLnJlcXVlc3QudXJsb3BlbigiaHR0cDovL3NhZGZsa2pzYXNmLmkubnZhbGkuZC8iKQogCiAKIGNsYXNzIHVybHJldHJpZXZlTmV0d29ya1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXJscGFyc2UucHkgYi9MaWIvdGVzdC90ZXN0X3VybHBhcnNlLnB5CmluZGV4IDM3OGE0MjcuLmM5MzhmMDkgMTAwNzU1Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJscGFyc2UucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91cmxwYXJzZS5weQpAQCAtODQ3LDYgKzg0NywxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAxLnBhdGgsICc4NjMtMTIzNCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocDEucGFyYW1zLCAncGhvbmUtY29udGV4dD0rMS05MTQtNTU1JykKIAorICAgIGRlZiB0ZXN0X3Vud3JhcChzZWxmKToKKyAgICAgICAgdXJsID0gdXJsbGliLnBhcnNlLnVud3JhcCgnPFVSTDp0eXBlOi8vaG9zdC9wYXRoPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXJsLCAndHlwZTovL2hvc3QvcGF0aCcpCisKKyAgICBkZWYgdGVzdF9RdW90ZXJfcmVwcihzZWxmKToKKyAgICAgICAgcXVvdGVyID0gdXJsbGliLnBhcnNlLlF1b3Rlcih1cmxsaWIucGFyc2UuX0FMV0FZU19TQUZFKQorICAgICAgICBzZWxmLmFzc2VydEluKCdRdW90ZXInLCByZXByKHF1b3RlcikpCisKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KFVybFBhcnNlVGVzdENhc2UpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3ZlbnYucHkgYi9MaWIvdGVzdC90ZXN0X3ZlbnYucHkKaW5kZXggOTY5Njg0NC4uMmE1MjhjOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF92ZW52LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdmVudi5weQpAQCAtMTEzLDEzICsxMTMsNjggQEAKICAgICAgICAgICAgIG91dCwgZXJyID0gcC5jb21tdW5pY2F0ZSgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5zdHJpcCgpLCBleHBlY3RlZC5lbmNvZGUoKSkKIAorICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICBFTlZfU1VCRElSUyA9ICgKKyAgICAgICAgICAgICgnU2NyaXB0cycsKSwKKyAgICAgICAgICAgICgnSW5jbHVkZScsKSwKKyAgICAgICAgICAgICgnTGliJywpLAorICAgICAgICAgICAgKCdMaWInLCAnc2l0ZS1wYWNrYWdlcycpLAorICAgICAgICApCisgICAgZWxzZToKKyAgICAgICAgRU5WX1NVQkRJUlMgPSAoCisgICAgICAgICAgICAoJ2JpbicsKSwKKyAgICAgICAgICAgICgnaW5jbHVkZScsKSwKKyAgICAgICAgICAgICgnbGliJywpLAorICAgICAgICAgICAgKCdsaWInLCAncHl0aG9uJWQuJWQnICUgc3lzLnZlcnNpb25faW5mb1s6Ml0pLAorICAgICAgICAgICAgKCdsaWInLCAncHl0aG9uJWQuJWQnICUgc3lzLnZlcnNpb25faW5mb1s6Ml0sICdzaXRlLXBhY2thZ2VzJyksCisgICAgICAgICkKKworICAgIGRlZiBjcmVhdGVfY29udGVudHMoc2VsZiwgcGF0aHMsIGZpbGVuYW1lKToKKyAgICAgICAgIiIiCisgICAgICAgIENyZWF0ZSBzb21lIGZpbGVzIGluIHRoZSBlbnZpcm9ubWVudCB3aGljaCBhcmUgdW5yZWxhdGVkCisgICAgICAgIHRvIHRoZSB2aXJ0dWFsIGVudmlyb25tZW50LgorICAgICAgICAiIiIKKyAgICAgICAgZm9yIHN1YmRpcnMgaW4gcGF0aHM6CisgICAgICAgICAgICBkID0gb3MucGF0aC5qb2luKHNlbGYuZW52X2RpciwgKnN1YmRpcnMpCisgICAgICAgICAgICBvcy5ta2RpcihkKQorICAgICAgICAgICAgZm4gPSBvcy5wYXRoLmpvaW4oZCwgZmlsZW5hbWUpCisgICAgICAgICAgICB3aXRoIG9wZW4oZm4sICd3YicpIGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShiJ1N0aWxsIGhlcmU/JykKKwogICAgIGRlZiB0ZXN0X292ZXJ3cml0ZV9leGlzdGluZyhzZWxmKToKICAgICAgICAgIiIiCi0gICAgICAgIFRlc3QgY29udHJvbCBvZiBvdmVyd3JpdGluZyBhbiBleGlzdGluZyBlbnZpcm9ubWVudCBkaXJlY3RvcnkuCisgICAgICAgIFRlc3QgY3JlYXRpbmcgZW52aXJvbm1lbnQgaW4gYW4gZXhpc3RpbmcgZGlyZWN0b3J5LgogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgdmVudi5jcmVhdGUsIHNlbGYuZW52X2RpcikKKyAgICAgICAgc2VsZi5jcmVhdGVfY29udGVudHMoc2VsZi5FTlZfU1VCRElSUywgJ2ZvbycpCisgICAgICAgIHZlbnYuY3JlYXRlKHNlbGYuZW52X2RpcikKKyAgICAgICAgZm9yIHN1YmRpcnMgaW4gc2VsZi5FTlZfU1VCRElSUzoKKyAgICAgICAgICAgIGZuID0gb3MucGF0aC5qb2luKHNlbGYuZW52X2RpciwgKihzdWJkaXJzICsgKCdmb28nLCkpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKGZuKSkKKyAgICAgICAgICAgIHdpdGggb3BlbihmbiwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBiJ1N0aWxsIGhlcmU/JykKKwogICAgICAgICBidWlsZGVyID0gdmVudi5FbnZCdWlsZGVyKGNsZWFyPVRydWUpCiAgICAgICAgIGJ1aWxkZXIuY3JlYXRlKHNlbGYuZW52X2RpcikKKyAgICAgICAgZm9yIHN1YmRpcnMgaW4gc2VsZi5FTlZfU1VCRElSUzoKKyAgICAgICAgICAgIGZuID0gb3MucGF0aC5qb2luKHNlbGYuZW52X2RpciwgKihzdWJkaXJzICsgKCdmb28nLCkpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhmbikpCisKKyAgICBkZWYgY2xlYXJfZGlyZWN0b3J5KHNlbGYsIHBhdGgpOgorICAgICAgICBmb3IgZm4gaW4gb3MubGlzdGRpcihwYXRoKToKKyAgICAgICAgICAgIGZuID0gb3MucGF0aC5qb2luKHBhdGgsIGZuKQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoZm4pIG9yIG9zLnBhdGguaXNmaWxlKGZuKToKKyAgICAgICAgICAgICAgICBvcy5yZW1vdmUoZm4pCisgICAgICAgICAgICBlbGlmIG9zLnBhdGguaXNkaXIoZm4pOgorICAgICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoZm4pCisKKyAgICBkZWYgdGVzdF91bm92ZXJ3cml0YWJsZV9mYWlscyhzZWxmKToKKyAgICAgICAgI2NyZWF0ZSBhIGZpbGUgY2xhc2hpbmcgd2l0aCBkaXJlY3RvcmllcyBpbiB0aGUgZW52IGRpcgorICAgICAgICBmb3IgcGF0aHMgaW4gc2VsZi5FTlZfU1VCRElSU1s6M106CisgICAgICAgICAgICBmbiA9IG9zLnBhdGguam9pbihzZWxmLmVudl9kaXIsICpwYXRocykKKyAgICAgICAgICAgIHdpdGggb3BlbihmbiwgJ3diJykgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKGInJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChWYWx1ZUVycm9yLCBPU0Vycm9yKSwgdmVudi5jcmVhdGUsIHNlbGYuZW52X2RpcikKKyAgICAgICAgICAgIHNlbGYuY2xlYXJfZGlyZWN0b3J5KHNlbGYuZW52X2RpcikKIAogICAgIGRlZiB0ZXN0X3VwZ3JhZGUoc2VsZik6CiAgICAgICAgICIiIgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93YWl0My5weSBiL0xpYi90ZXN0L3Rlc3Rfd2FpdDMucHkKaW5kZXggYmQwNmM4ZC4uZjZhMDY1ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93YWl0My5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dhaXQzLnB5CkBAIC03LDE1ICs3LDExIEBACiBmcm9tIHRlc3QuZm9ya193YWl0IGltcG9ydCBGb3JrV2FpdAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgcmVhcF9jaGlsZHJlbgogCi10cnk6Ci0gICAgb3MuZm9yawotZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJvcy5mb3JrIG5vdCBkZWZpbmVkIC0tIHNraXBwaW5nIHRlc3Rfd2FpdDMiKQoraWYgbm90IGhhc2F0dHIob3MsICdmb3JrJyk6CisgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIm9zLmZvcmsgbm90IGRlZmluZWQiKQogCi10cnk6Ci0gICAgb3Mud2FpdDMKLWV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgib3Mud2FpdDMgbm90IGRlZmluZWQgLS0gc2tpcHBpbmcgdGVzdF93YWl0MyIpCitpZiBub3QgaGFzYXR0cihvcywgJ3dhaXQzJyk6CisgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIm9zLndhaXQzIG5vdCBkZWZpbmVkIikKIAogY2xhc3MgV2FpdDNUZXN0KEZvcmtXYWl0KToKICAgICBkZWYgd2FpdF9pbXBsKHNlbGYsIGNwaWQpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93YXZlLnB5IGIvTGliL3Rlc3QvdGVzdF93YXZlLnB5CmluZGV4IGUwYWFjZTQuLjU4MWQ5NzMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2F2ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dhdmUucHkKQEAgLTU4LDYgKzU4LDIyIEBACiAgICAgICAgIG91dHB1dCA9IGInXDAnICogbmZyYW1lcyAqIG5jaGFubmVscyAqIHNhbXB3aWR0aAogICAgICAgICBzZWxmLmYud3JpdGVmcmFtZXMob3V0cHV0KQogCisgICAgZGVmIHRlc3RfZ2V0cGFyYW1zKHNlbGYpOgorICAgICAgICBzZWxmLmYgPSB3YXZlLm9wZW4oVEVTVEZOLCAnd2InKQorICAgICAgICBzZWxmLmYuc2V0bmNoYW5uZWxzKG5jaGFubmVscykKKyAgICAgICAgc2VsZi5mLnNldHNhbXB3aWR0aChzYW1wd2lkdGgpCisgICAgICAgIHNlbGYuZi5zZXRmcmFtZXJhdGUoZnJhbWVyYXRlKQorICAgICAgICBzZWxmLmYuY2xvc2UoKQorCisgICAgICAgIHNlbGYuZiA9IHdhdmUub3BlbihURVNURk4sICdyYicpCisgICAgICAgIHBhcmFtcyA9IHNlbGYuZi5nZXRwYXJhbXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcmFtcy5uY2hhbm5lbHMsIHNlbGYuZi5nZXRuY2hhbm5lbHMoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJhbXMubmZyYW1lcywgc2VsZi5mLmdldG5mcmFtZXMoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJhbXMuc2FtcHdpZHRoLCBzZWxmLmYuZ2V0c2FtcHdpZHRoKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyYW1zLmZyYW1lcmF0ZSwgc2VsZi5mLmdldGZyYW1lcmF0ZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcmFtcy5jb21wdHlwZSwgc2VsZi5mLmdldGNvbXB0eXBlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyYW1zLmNvbXBuYW1lLCBzZWxmLmYuZ2V0Y29tcG5hbWUoKSkKKwogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgcnVuX3VuaXR0ZXN0KFRlc3RXYXZlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93ZWFrcmVmLnB5IGIvTGliL3Rlc3QvdGVzdF93ZWFrcmVmLnB5CmluZGV4IDU3MWUzM2YuLmUzMmUyNDggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2Vha3JlZi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dlYWtyZWYucHkKQEAgLTQ3LDYgKzQ3LDExIEBACiAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5hcmcpCisgICAgZGVmIHNvbWVfbWV0aG9kKHNlbGYpOgorICAgICAgICByZXR1cm4gNAorICAgIGRlZiBvdGhlcl9tZXRob2Qoc2VsZik6CisgICAgICAgIHJldHVybiA1CisKIAogY2xhc3MgUmVmQ3ljbGU6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgpAQCAtNzk3LDYgKzgwMiwzMCBAQAogICAgICAgICBkZWwgcm9vdAogICAgICAgICBnYy5jb2xsZWN0KCkKIAorICAgIGRlZiB0ZXN0X2NhbGxiYWNrX2F0dHJpYnV0ZShzZWxmKToKKyAgICAgICAgeCA9IE9iamVjdCgxKQorICAgICAgICBjYWxsYmFjayA9IGxhbWJkYSByZWY6IE5vbmUKKyAgICAgICAgcmVmMSA9IHdlYWtyZWYucmVmKHgsIGNhbGxiYWNrKQorICAgICAgICBzZWxmLmFzc2VydElzKHJlZjEuX19jYWxsYmFja19fLCBjYWxsYmFjaykKKworICAgICAgICByZWYyID0gd2Vha3JlZi5yZWYoeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmVmMi5fX2NhbGxiYWNrX18pCisKKyAgICBkZWYgdGVzdF9jYWxsYmFja19hdHRyaWJ1dGVfYWZ0ZXJfZGVsZXRpb24oc2VsZik6CisgICAgICAgIHggPSBPYmplY3QoMSkKKyAgICAgICAgcmVmID0gd2Vha3JlZi5yZWYoeCwgc2VsZi5jYWxsYmFjaykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUocmVmLl9fY2FsbGJhY2tfXykKKyAgICAgICAgZGVsIHgKKyAgICAgICAgc3VwcG9ydC5nY19jb2xsZWN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmVmLl9fY2FsbGJhY2tfXykKKworICAgIGRlZiB0ZXN0X3NldF9jYWxsYmFja19hdHRyaWJ1dGUoc2VsZik6CisgICAgICAgIHggPSBPYmplY3QoMSkKKyAgICAgICAgY2FsbGJhY2sgPSBsYW1iZGEgcmVmOiBOb25lCisgICAgICAgIHJlZjEgPSB3ZWFrcmVmLnJlZih4LCBjYWxsYmFjaykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICByZWYxLl9fY2FsbGJhY2tfXyA9IGxhbWJkYSByZWY6IE5vbmUKKwogCiBjbGFzcyBTdWJjbGFzc2FibGVXZWFrcmVmVGVzdENhc2UoVGVzdEJhc2UpOgogCkBAIC05MDEsNiArOTMwLDE0MCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2JjYWxsZWQsIDApCiAKIAorY2xhc3MgV2Vha01ldGhvZFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBfc3ViY2xhc3Moc2VsZik6CisgICAgICAgICIiIlJldHVybiBhIE9iamVjdCBzdWJjbGFzcyBvdmVycmlkaW5nIGBzb21lX21ldGhvZGAuIiIiCisgICAgICAgIGNsYXNzIEMoT2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBzb21lX21ldGhvZChzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gNgorICAgICAgICByZXR1cm4gQworCisgICAgZGVmIHRlc3RfYWxpdmUoc2VsZik6CisgICAgICAgIG8gPSBPYmplY3QoMSkKKyAgICAgICAgciA9IHdlYWtyZWYuV2Vha01ldGhvZChvLnNvbWVfbWV0aG9kKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uociwgd2Vha3JlZi5SZWZlcmVuY2VUeXBlKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UocigpLCB0eXBlKG8uc29tZV9tZXRob2QpKQorICAgICAgICBzZWxmLmFzc2VydElzKHIoKS5fX3NlbGZfXywgbykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyKCkuX19mdW5jX18sIG8uc29tZV9tZXRob2QuX19mdW5jX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocigpKCksIDQpCisKKyAgICBkZWYgdGVzdF9vYmplY3RfZGVhZChzZWxmKToKKyAgICAgICAgbyA9IE9iamVjdCgxKQorICAgICAgICByID0gd2Vha3JlZi5XZWFrTWV0aG9kKG8uc29tZV9tZXRob2QpCisgICAgICAgIGRlbCBvCisgICAgICAgIGdjLmNvbGxlY3QoKQorICAgICAgICBzZWxmLmFzc2VydElzKHIoKSwgTm9uZSkKKworICAgIGRlZiB0ZXN0X21ldGhvZF9kZWFkKHNlbGYpOgorICAgICAgICBDID0gc2VsZi5fc3ViY2xhc3MoKQorICAgICAgICBvID0gQygxKQorICAgICAgICByID0gd2Vha3JlZi5XZWFrTWV0aG9kKG8uc29tZV9tZXRob2QpCisgICAgICAgIGRlbCBDLnNvbWVfbWV0aG9kCisgICAgICAgIGdjLmNvbGxlY3QoKQorICAgICAgICBzZWxmLmFzc2VydElzKHIoKSwgTm9uZSkKKworICAgIGRlZiB0ZXN0X2NhbGxiYWNrX3doZW5fb2JqZWN0X2RlYWQoc2VsZik6CisgICAgICAgICMgVGVzdCBjYWxsYmFjayBiZWhhdmlvdXIgd2hlbiBvYmplY3QgZGllcyBmaXJzdC4KKyAgICAgICAgQyA9IHNlbGYuX3N1YmNsYXNzKCkKKyAgICAgICAgY2FsbHMgPSBbXQorICAgICAgICBkZWYgY2IoYXJnKToKKyAgICAgICAgICAgIGNhbGxzLmFwcGVuZChhcmcpCisgICAgICAgIG8gPSBDKDEpCisgICAgICAgIHIgPSB3ZWFrcmVmLldlYWtNZXRob2Qoby5zb21lX21ldGhvZCwgY2IpCisgICAgICAgIGRlbCBvCisgICAgICAgIGdjLmNvbGxlY3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhbGxzLCBbcl0pCisgICAgICAgICMgQ2FsbGJhY2sgaXMgb25seSBjYWxsZWQgb25jZS4KKyAgICAgICAgQy5zb21lX21ldGhvZCA9IE9iamVjdC5zb21lX21ldGhvZAorICAgICAgICBnYy5jb2xsZWN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYWxscywgW3JdKQorCisgICAgZGVmIHRlc3RfY2FsbGJhY2tfd2hlbl9tZXRob2RfZGVhZChzZWxmKToKKyAgICAgICAgIyBUZXN0IGNhbGxiYWNrIGJlaGF2aW91ciB3aGVuIG1ldGhvZCBkaWVzIGZpcnN0LgorICAgICAgICBDID0gc2VsZi5fc3ViY2xhc3MoKQorICAgICAgICBjYWxscyA9IFtdCisgICAgICAgIGRlZiBjYihhcmcpOgorICAgICAgICAgICAgY2FsbHMuYXBwZW5kKGFyZykKKyAgICAgICAgbyA9IEMoMSkKKyAgICAgICAgciA9IHdlYWtyZWYuV2Vha01ldGhvZChvLnNvbWVfbWV0aG9kLCBjYikKKyAgICAgICAgZGVsIEMuc29tZV9tZXRob2QKKyAgICAgICAgZ2MuY29sbGVjdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FsbHMsIFtyXSkKKyAgICAgICAgIyBDYWxsYmFjayBpcyBvbmx5IGNhbGxlZCBvbmNlLgorICAgICAgICBkZWwgbworICAgICAgICBnYy5jb2xsZWN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYWxscywgW3JdKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3Rfbm9fY3ljbGVzKHNlbGYpOgorICAgICAgICAjIEEgV2Vha01ldGhvZCBkb2Vzbid0IGNyZWF0ZSBhbnkgcmVmZXJlbmNlIGN5Y2xlIHRvIGl0c2VsZi4KKyAgICAgICAgbyA9IE9iamVjdCgxKQorICAgICAgICBkZWYgY2IoXyk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHIgPSB3ZWFrcmVmLldlYWtNZXRob2Qoby5zb21lX21ldGhvZCwgY2IpCisgICAgICAgIHdyID0gd2Vha3JlZi5yZWYocikKKyAgICAgICAgZGVsIHIKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh3cigpLCBOb25lKQorCisgICAgZGVmIHRlc3RfZXF1YWxpdHkoc2VsZik6CisgICAgICAgIGRlZiBfZXEoYSwgYik6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYSA9PSBiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhICE9IGIpCisgICAgICAgIGRlZiBfbmUoYSwgYik6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYSAhPSBiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShhID09IGIpCisgICAgICAgIHggPSBPYmplY3QoMSkKKyAgICAgICAgeSA9IE9iamVjdCgxKQorICAgICAgICBhID0gd2Vha3JlZi5XZWFrTWV0aG9kKHguc29tZV9tZXRob2QpCisgICAgICAgIGIgPSB3ZWFrcmVmLldlYWtNZXRob2QoeS5zb21lX21ldGhvZCkKKyAgICAgICAgYyA9IHdlYWtyZWYuV2Vha01ldGhvZCh4Lm90aGVyX21ldGhvZCkKKyAgICAgICAgZCA9IHdlYWtyZWYuV2Vha01ldGhvZCh5Lm90aGVyX21ldGhvZCkKKyAgICAgICAgIyBPYmplY3RzIGVxdWFsLCBzYW1lIG1ldGhvZAorICAgICAgICBfZXEoYSwgYikKKyAgICAgICAgX2VxKGMsIGQpCisgICAgICAgICMgT2JqZWN0cyBlcXVhbCwgZGlmZmVyZW50IG1ldGhvZAorICAgICAgICBfbmUoYSwgYykKKyAgICAgICAgX25lKGEsIGQpCisgICAgICAgIF9uZShiLCBjKQorICAgICAgICBfbmUoYiwgZCkKKyAgICAgICAgIyBPYmplY3RzIHVuZXF1YWwsIHNhbWUgb3IgZGlmZmVyZW50IG1ldGhvZAorICAgICAgICB6ID0gT2JqZWN0KDIpCisgICAgICAgIGUgPSB3ZWFrcmVmLldlYWtNZXRob2Qoei5zb21lX21ldGhvZCkKKyAgICAgICAgZiA9IHdlYWtyZWYuV2Vha01ldGhvZCh6Lm90aGVyX21ldGhvZCkKKyAgICAgICAgX25lKGEsIGUpCisgICAgICAgIF9uZShhLCBmKQorICAgICAgICBfbmUoYiwgZSkKKyAgICAgICAgX25lKGIsIGYpCisgICAgICAgIGRlbCB4LCB5LCB6CisgICAgICAgIGdjLmNvbGxlY3QoKQorICAgICAgICAjIERlYWQgV2Vha01ldGhvZHMgY29tcGFyZSBieSBpZGVudGl0eQorICAgICAgICByZWZzID0gYSwgYiwgYywgZCwgZSwgZgorICAgICAgICBmb3IgcSBpbiByZWZzOgorICAgICAgICAgICAgZm9yIHIgaW4gcmVmczoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHEgPT0gciwgcSBpcyByKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocSAhPSByLCBxIGlzIG5vdCByKQorCisgICAgZGVmIHRlc3RfaGFzaGluZyhzZWxmKToKKyAgICAgICAgIyBBbGl2ZSBXZWFrTWV0aG9kcyBhcmUgaGFzaGFibGUgaWYgdGhlIHVuZGVybHlpbmcgb2JqZWN0IGlzCisgICAgICAgICMgaGFzaGFibGUuCisgICAgICAgIHggPSBPYmplY3QoMSkKKyAgICAgICAgeSA9IE9iamVjdCgxKQorICAgICAgICBhID0gd2Vha3JlZi5XZWFrTWV0aG9kKHguc29tZV9tZXRob2QpCisgICAgICAgIGIgPSB3ZWFrcmVmLldlYWtNZXRob2QoeS5zb21lX21ldGhvZCkKKyAgICAgICAgYyA9IHdlYWtyZWYuV2Vha01ldGhvZCh5Lm90aGVyX21ldGhvZCkKKyAgICAgICAgIyBTaW5jZSBXZWFrTWV0aG9kIG9iamVjdHMgYXJlIGVxdWFsLCB0aGUgaGFzaGVzIHNob3VsZCBiZSBlcXVhbC4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGEpLCBoYXNoKGIpKQorICAgICAgICBoYSA9IGhhc2goYSkKKyAgICAgICAgIyBEZWFkIFdlYWtNZXRob2RzIHJldGFpbiB0aGVpciBvbGQgaGFzaCB2YWx1ZQorICAgICAgICBkZWwgeCwgeQorICAgICAgICBnYy5jb2xsZWN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGEpLCBoYSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGIpLCBoYSkKKyAgICAgICAgIyBJZiBpdCB3YXNuJ3QgaGFzaGVkIHdoZW4gYWxpdmUsIGEgZGVhZCBXZWFrTWV0aG9kIGNhbm5vdCBiZSBoYXNoZWQuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaGFzaCwgYykKKworCiBjbGFzcyBNYXBwaW5nVGVzdENhc2UoVGVzdEJhc2UpOgogCiAgICAgQ09VTlQgPSAxMApAQCAtMTQ3Niw2ICsxNjM5LDcgQEAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKICAgICAgICAgUmVmZXJlbmNlc1Rlc3RDYXNlLAorICAgICAgICBXZWFrTWV0aG9kVGVzdENhc2UsCiAgICAgICAgIE1hcHBpbmdUZXN0Q2FzZSwKICAgICAgICAgV2Vha1ZhbHVlRGljdGlvbmFyeVRlc3RDYXNlLAogICAgICAgICBXZWFrS2V5RGljdGlvbmFyeVRlc3RDYXNlLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93aW5yZWcucHkgYi9MaWIvdGVzdC90ZXN0X3dpbnJlZy5weQppbmRleCAzNTQ4MjZjLi4zOGU3NmFhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3dpbnJlZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dpbnJlZy5weQpAQCAtOCw3ICs4LDcgQEAKIGZyb20gcGxhdGZvcm0gaW1wb3J0IG1hY2hpbmUKIAogIyBEbyB0aGlzIGZpcnN0IHNvIHRlc3Qgd2lsbCBiZSBza2lwcGVkIGlmIG1vZHVsZSBkb2Vzbid0IGV4aXN0Ci1zdXBwb3J0LmltcG9ydF9tb2R1bGUoJ3dpbnJlZycpCitzdXBwb3J0LmltcG9ydF9tb2R1bGUoJ3dpbnJlZycsIHJlcXVpcmVkX29uPVsnd2luJ10pCiAjIE5vdyBpbXBvcnQgZXZlcnl0aGluZwogZnJvbSB3aW5yZWcgaW1wb3J0ICoKIApAQCAtNTcsMTMgKzU3LDEzIEBACiAgICAgZGVmIGRlbGV0ZV90cmVlKHNlbGYsIHJvb3QsIHN1YmtleSk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGhrZXkgPSBPcGVuS2V5KHJvb3QsIHN1YmtleSwgS0VZX0FMTF9BQ0NFU1MpCi0gICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgIyBzdWJrZXkgZG9lcyBub3QgZXhpc3QKICAgICAgICAgICAgIHJldHVybgogICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHN1YnN1YmtleSA9IEVudW1LZXkoaGtleSwgMCkKLSAgICAgICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAjIG5vIG1vcmUgc3Via2V5cwogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBzZWxmLmRlbGV0ZV90cmVlKGhrZXksIHN1YnN1YmtleSkKQEAgLTEwMCw3ICsxMDAsNyBAQAogICAgICAgICAgICAgUXVlcnlJbmZvS2V5KGludF9zdWJfa2V5KQogICAgICAgICAgICAgc2VsZi5mYWlsKCJJdCBhcHBlYXJzIHRoZSBDbG9zZUtleSgpIGZ1bmN0aW9uIGRvZXMgIgogICAgICAgICAgICAgICAgICAgICAgICJub3QgY2xvc2UgdGhlIGFjdHVhbCBrZXkhIikKLSAgICAgICAgZXhjZXB0IEVudmlyb25tZW50RXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcwogICAgICAgICAjIC4uLiBhbmQgY2xvc2UgdGhhdCBrZXkgdGhhdCB3YXkgOi0pCiAgICAgICAgIGludF9rZXkgPSBpbnQoa2V5KQpAQCAtMTA5LDcgKzEwOSw3IEBACiAgICAgICAgICAgICBRdWVyeUluZm9LZXkoaW50X2tleSkKICAgICAgICAgICAgIHNlbGYuZmFpbCgiSXQgYXBwZWFycyB0aGUga2V5LkNsb3NlKCkgZnVuY3Rpb24gIgogICAgICAgICAgICAgICAgICAgICAgICJkb2VzIG5vdCBjbG9zZSB0aGUgYWN0dWFsIGtleSEiKQotICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKICAgICBkZWYgX3JlYWRfdGVzdF9kYXRhKHNlbGYsIHJvb3Rfa2V5LCBzdWJrZXlzdHI9InN1Yl9rZXkiLCBPcGVuS2V5PU9wZW5LZXkpOgpAQCAtMTI2LDcgKzEyNiw3IEBACiAgICAgICAgICAgICB3aGlsZSAxOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IEVudW1WYWx1ZShzdWJfa2V5LCBpbmRleCkKLSAgICAgICAgICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEgaW4gdGVzdF9kYXRhLCBUcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpZG4ndCByZWFkIGJhY2sgdGhlIGNvcnJlY3QgdGVzdCBkYXRhIikKQEAgLTE0Nyw3ICsxNDcsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBFbnVtS2V5KGtleSwgMSkKICAgICAgICAgICAgIHNlbGYuZmFpbCgiV2FzIGFibGUgdG8gZ2V0IGEgc2Vjb25kIGtleSB3aGVuIEkgb25seSBoYXZlIG9uZSEiKQotICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAga2V5LkNsb3NlKCkKQEAgLTE3MSw3ICsxNzEsNyBAQAogICAgICAgICAgICAgIyBTaG91bGRudCBiZSBhYmxlIHRvIGRlbGV0ZSBpdCB0d2ljZSEKICAgICAgICAgICAgIERlbGV0ZUtleShrZXksIHN1YmtleXN0cikKICAgICAgICAgICAgIHNlbGYuZmFpbCgiRGVsZXRpbmcgdGhlIGtleSB0d2ljZSBzdWNjZWVkZWQiKQotICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGtleS5DbG9zZSgpCiAgICAgICAgIERlbGV0ZUtleShyb290X2tleSwgdGVzdF9rZXlfbmFtZSkKQEAgLTE3OSw3ICsxNzksNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBrZXkgPSBPcGVuS2V5KHJvb3Rfa2V5LCB0ZXN0X2tleV9uYW1lKQogICAgICAgICAgICAgc2VsZi5mYWlsKCJDb3VsZCBvcGVuIHRoZSBub24tZXhpc3RlbnQga2V5IikKLSAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvcjogIyBVc2UgdGhpcyBlcnJvciBuYW1lIHRoaXMgdGltZQorICAgICAgICBleGNlcHQgT1NFcnJvcjogIyBVc2UgdGhpcyBlcnJvciBuYW1lIHRoaXMgdGltZQogICAgICAgICAgICAgcGFzcwogCiAgICAgZGVmIF90ZXN0X2FsbChzZWxmLCByb290X2tleSwgc3Via2V5c3RyPSJzdWJfa2V5Iik6CkBAIC0yMzAsNyArMjMwLDcgQEAKIAogICAgIGRlZiB0ZXN0X2luZXhpc3RhbnRfcmVtb3RlX3JlZ2lzdHJ5KHNlbGYpOgogICAgICAgICBjb25uZWN0ID0gbGFtYmRhOiBDb25uZWN0UmVnaXN0cnkoImFiY2RlZmdoaWprbCIsIEhLRVlfQ1VSUkVOVF9VU0VSKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhXaW5kb3dzRXJyb3IsIGNvbm5lY3QpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIGNvbm5lY3QpCiAKICAgICBkZWYgdGVzdEV4cGFuZEVudmlyb25tZW50U3RyaW5ncyhzZWxmKToKICAgICAgICAgciA9IEV4cGFuZEVudmlyb25tZW50U3RyaW5ncygiJXdpbmRpciVcXHRlc3QiKQpAQCAtMjQyLDggKzI0Miw4IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggQ29ubmVjdFJlZ2lzdHJ5KE5vbmUsIEhLRVlfTE9DQUxfTUFDSElORSkgYXMgaDoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGguaGFuZGxlLCAwKQotICAgICAgICAgICAgICAgIHJhaXNlIFdpbmRvd3NFcnJvcgotICAgICAgICBleGNlcHQgV2luZG93c0Vycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIE9TRXJyb3IKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGguaGFuZGxlLCAwKQogCiAgICAgZGVmIHRlc3RfY2hhbmdpbmdfdmFsdWUoc2VsZik6CkBAIC00MDcsNyArNDA3LDcgQEAKICAgICAgICAgICAgICAgICBvcGVuX2ZhaWwgPSBsYW1iZGE6IE9wZW5LZXkoSEtFWV9DVVJSRU5UX1VTRVIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVmbGVjdF9rZXlfbmFtZSwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS0VZX1JFQUQgfCBLRVlfV09XNjRfNjRLRVkpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoV2luZG93c0Vycm9yLCBvcGVuX2ZhaWwpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgb3Blbl9mYWlsKQogCiAgICAgICAgICAgICAjIE5vdyBleHBsaWNpdGx5IG9wZW4gdGhlIDY0LWJpdCB2ZXJzaW9uIG9mIHRoZSBrZXkKICAgICAgICAgICAgIHdpdGggT3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgdGVzdF9yZWZsZWN0X2tleV9uYW1lLCAwLApAQCAtNDQ3LDcgKzQ0Nyw3IEBACiAgICAgICAgICAgICBvcGVuX2ZhaWwgPSBsYW1iZGE6IE9wZW5LZXlFeChIS0VZX0NVUlJFTlRfVVNFUiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVmbGVjdF9rZXlfbmFtZSwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtFWV9SRUFEIHwgS0VZX1dPVzY0XzY0S0VZKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoV2luZG93c0Vycm9yLCBvcGVuX2ZhaWwpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBvcGVuX2ZhaWwpCiAKICAgICAgICAgICAgICMgTWFrZSBzdXJlIHRoZSAzMi1iaXQga2V5IGlzIGFjdHVhbGx5IHRoZXJlCiAgICAgICAgICAgICB3aXRoIE9wZW5LZXlFeChIS0VZX0NVUlJFTlRfVVNFUiwgdGVzdF9yZWZsZWN0X2tleV9uYW1lLCAwLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF93aW5zb3VuZC5weSBiL0xpYi90ZXN0L3Rlc3Rfd2luc291bmQucHkKaW5kZXggZWI3Zjc1Zi4uNjFkODY0YSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF93aW5zb3VuZC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3dpbnNvdW5kLnB5CkBAIC0yMiw3ICsyMiw3IEBACiAgICAgICAgIGtleSA9IHdpbnJlZy5PcGVuS2V5RXgod2lucmVnLkhLRVlfQ1VSUkVOVF9VU0VSLAogICAgICAgICAgICAgICAgICJBcHBFdmVudHNcU2NoZW1lc1xBcHBzXC5EZWZhdWx0XHswfVwuRGVmYXVsdCIuZm9ybWF0KHNvdW5kKSkKICAgICAgICAgcmV0dXJuIHdpbnJlZy5FbnVtVmFsdWUoa2V5LCAwKVsxXSAhPSAiIgotICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHJldHVybiBGYWxzZQogCiBjbGFzcyBCZWVwVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3htbF9ldHJlZS5weSBiL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlLnB5CmluZGV4IGYzNjgzZjIuLjQ5YTY5MTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlLnB5CkBAIC05MDMsNiArOTAzLDEzNCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VyaWFsaXplZCwgZXhwZWN0ZWQpCiAKIAorY2xhc3MgSW5jcmVtZW50YWxQYXJzZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBfZmVlZChzZWxmLCBwYXJzZXIsIGRhdGEsIGNodW5rX3NpemU9Tm9uZSk6CisgICAgICAgIGlmIGNodW5rX3NpemUgaXMgTm9uZToKKyAgICAgICAgICAgIHBhcnNlci5kYXRhX3JlY2VpdmVkKGRhdGEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oZGF0YSksIGNodW5rX3NpemUpOgorICAgICAgICAgICAgICAgIHBhcnNlci5kYXRhX3JlY2VpdmVkKGRhdGFbaTppK2NodW5rX3NpemVdKQorCisgICAgZGVmIGFzc2VydF9ldmVudF90YWdzKHNlbGYsIHBhcnNlciwgZXhwZWN0ZWQpOgorICAgICAgICBldmVudHMgPSBwYXJzZXIuZXZlbnRzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbKGFjdGlvbiwgZWxlbS50YWcpIGZvciBhY3Rpb24sIGVsZW0gaW4gZXZlbnRzXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3NpbXBsZV94bWwoc2VsZik6CisgICAgICAgIGZvciBjaHVua19zaXplIGluIChOb25lLCAxLCA1KToKKyAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGNodW5rX3NpemU9Y2h1bmtfc2l6ZSk6CisgICAgICAgICAgICAgICAgcGFyc2VyID0gRVQuSW5jcmVtZW50YWxQYXJzZXIoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbXSkKKyAgICAgICAgICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjwhLS0gY29tbWVudCAtLT5cbiIsIGNodW5rX3NpemUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFtdKQorICAgICAgICAgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxyb290PlxuICA8ZWxlbWVudCBrZXk9J3ZhbHVlJz50ZXh0PC9lbGVtZW50IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rX3NpemUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFtdKQorICAgICAgICAgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPlxuIiwgY2h1bmtfc2l6ZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgWygnZW5kJywgJ2VsZW1lbnQnKV0pCisgICAgICAgICAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsICI8ZWxlbWVudD50ZXh0PC9lbGVtZW50PnRhaWxcbiIsIGNodW5rX3NpemUpCisgICAgICAgICAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsICI8ZW1wdHktZWxlbWVudC8+XG4iLCBjaHVua19zaXplKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbCisgICAgICAgICAgICAgICAgICAgICgnZW5kJywgJ2VsZW1lbnQnKSwKKyAgICAgICAgICAgICAgICAgICAgKCdlbmQnLCAnZW1wdHktZWxlbWVudCcpLAorICAgICAgICAgICAgICAgICAgICBdKQorICAgICAgICAgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPC9yb290PlxuIiwgY2h1bmtfc2l6ZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgWygnZW5kJywgJ3Jvb3QnKV0pCisgICAgICAgICAgICAgICAgIyBSZWNlaXZpbmcgRU9GIHNldHMgdGhlIGByb290YCBhdHRyaWJ1dGUKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKHBhcnNlci5yb290LCBOb25lKQorICAgICAgICAgICAgICAgIHBhcnNlci5lb2ZfcmVjZWl2ZWQoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyLnJvb3QudGFnLCAncm9vdCcpCisKKyAgICBkZWYgdGVzdF9kYXRhX3JlY2VpdmVkX3doaWxlX2l0ZXJhdGluZyhzZWxmKToKKyAgICAgICAgcGFyc2VyID0gRVQuSW5jcmVtZW50YWxQYXJzZXIoKQorICAgICAgICBpdCA9IHBhcnNlci5ldmVudHMoKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjxyb290PlxuICA8ZWxlbWVudCBrZXk9J3ZhbHVlJz50ZXh0PC9lbGVtZW50PlxuIikKKyAgICAgICAgYWN0aW9uLCBlbGVtID0gbmV4dChpdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoYWN0aW9uLCBlbGVtLnRhZyksICgnZW5kJywgJ2VsZW1lbnQnKSkKKyAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsICI8L3Jvb3Q+XG4iKQorICAgICAgICBhY3Rpb24sIGVsZW0gPSBuZXh0KGl0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChhY3Rpb24sIGVsZW0udGFnKSwgKCdlbmQnLCAncm9vdCcpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24pOgorICAgICAgICAgICAgbmV4dChpdCkKKworICAgIGRlZiB0ZXN0X3NpbXBsZV94bWxfd2l0aF9ucyhzZWxmKToKKyAgICAgICAgcGFyc2VyID0gRVQuSW5jcmVtZW50YWxQYXJzZXIoKQorICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgW10pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPCEtLSBjb21tZW50IC0tPlxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFtdKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjxyb290IHhtbG5zPSduYW1lc3BhY2UnPlxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFtdKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjxlbGVtZW50IGtleT0ndmFsdWUnPnRleHQ8L2VsZW1lbnQiKQorICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgW10pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPlxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFsoJ2VuZCcsICd7bmFtZXNwYWNlfWVsZW1lbnQnKV0pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPGVsZW1lbnQ+dGV4dDwvZWxlbWVudD50YWlsXG4iKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjxlbXB0eS1lbGVtZW50Lz5cbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbCisgICAgICAgICAgICAoJ2VuZCcsICd7bmFtZXNwYWNlfWVsZW1lbnQnKSwKKyAgICAgICAgICAgICgnZW5kJywgJ3tuYW1lc3BhY2V9ZW1wdHktZWxlbWVudCcpLAorICAgICAgICAgICAgXSkKKyAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsICI8L3Jvb3Q+XG4iKQorICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgWygnZW5kJywgJ3tuYW1lc3BhY2V9cm9vdCcpXSkKKyAgICAgICAgIyBSZWNlaXZpbmcgRU9GIHNldHMgdGhlIGByb290YCBhdHRyaWJ1dGUKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhwYXJzZXIucm9vdCwgTm9uZSkKKyAgICAgICAgcGFyc2VyLmVvZl9yZWNlaXZlZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyLnJvb3QudGFnLCAne25hbWVzcGFjZX1yb290JykKKworICAgIGRlZiB0ZXN0X2V2ZW50cyhzZWxmKToKKyAgICAgICAgcGFyc2VyID0gRVQuSW5jcmVtZW50YWxQYXJzZXIoZXZlbnRzPSgpKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjxyb290Lz5cbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbXSkKKworICAgICAgICBwYXJzZXIgPSBFVC5JbmNyZW1lbnRhbFBhcnNlcihldmVudHM9KCdzdGFydCcsICdlbmQnKSkKKyAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsICI8IS0tIGNvbW1lbnQgLS0+XG4iKQorICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgW10pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPHJvb3Q+XG4iKQorICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgWygnc3RhcnQnLCAncm9vdCcpXSkKKyAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsICI8ZWxlbWVudCBrZXk9J3ZhbHVlJz50ZXh0PC9lbGVtZW50IikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFsoJ3N0YXJ0JywgJ2VsZW1lbnQnKV0pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPlxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFsoJ2VuZCcsICdlbGVtZW50JyldKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwKKyAgICAgICAgICAgICAgICAgICAiPGVsZW1lbnQgeG1sbnM9J2Zvbyc+dGV4dDxlbXB0eS1lbGVtZW50Lz48L2VsZW1lbnQ+dGFpbFxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFsKKyAgICAgICAgICAgICgnc3RhcnQnLCAne2Zvb31lbGVtZW50JyksCisgICAgICAgICAgICAoJ3N0YXJ0JywgJ3tmb299ZW1wdHktZWxlbWVudCcpLAorICAgICAgICAgICAgKCdlbmQnLCAne2Zvb31lbXB0eS1lbGVtZW50JyksCisgICAgICAgICAgICAoJ2VuZCcsICd7Zm9vfWVsZW1lbnQnKSwKKyAgICAgICAgICAgIF0pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPC9yb290PiIpCisgICAgICAgIHBhcnNlci5lb2ZfcmVjZWl2ZWQoKQorICAgICAgICBzZWxmLmFzc2VydElzKHBhcnNlci5yb290LCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydF9ldmVudF90YWdzKHBhcnNlciwgWygnZW5kJywgJ3Jvb3QnKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyLnJvb3QudGFnLCAncm9vdCcpCisKKyAgICAgICAgcGFyc2VyID0gRVQuSW5jcmVtZW50YWxQYXJzZXIoZXZlbnRzPSgnc3RhcnQnLCkpCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPCEtLSBjb21tZW50IC0tPlxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFtdKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIjxyb290PlxuIikKKyAgICAgICAgc2VsZi5hc3NlcnRfZXZlbnRfdGFncyhwYXJzZXIsIFsoJ3N0YXJ0JywgJ3Jvb3QnKV0pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPGVsZW1lbnQga2V5PSd2YWx1ZSc+dGV4dDwvZWxlbWVudCIpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbKCdzdGFydCcsICdlbGVtZW50JyldKQorICAgICAgICBzZWxmLl9mZWVkKHBhcnNlciwgIj5cbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbXSkKKyAgICAgICAgc2VsZi5fZmVlZChwYXJzZXIsCisgICAgICAgICAgICAgICAgICAgIjxlbGVtZW50IHhtbG5zPSdmb28nPnRleHQ8ZW1wdHktZWxlbWVudC8+PC9lbGVtZW50PnRhaWxcbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0X2V2ZW50X3RhZ3MocGFyc2VyLCBbCisgICAgICAgICAgICAoJ3N0YXJ0JywgJ3tmb299ZWxlbWVudCcpLAorICAgICAgICAgICAgKCdzdGFydCcsICd7Zm9vfWVtcHR5LWVsZW1lbnQnKSwKKyAgICAgICAgICAgIF0pCisgICAgICAgIHNlbGYuX2ZlZWQocGFyc2VyLCAiPC9yb290PiIpCisgICAgICAgIHBhcnNlci5lb2ZfcmVjZWl2ZWQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlci5yb290LnRhZywgJ3Jvb3QnKQorCisgICAgZGVmIHRlc3RfdW5rbm93bl9ldmVudChzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIEVULkluY3JlbWVudGFsUGFyc2VyKGV2ZW50cz0oJ3N0YXJ0JywgJ2VuZCcsICdib2d1cycpKQorCisKICMKICMgeGluY2x1ZGUgdGVzdHMgKHNhbXBsZXMgZnJvbSBhcHBlbmRpeCBDIG9mIHRoZSB4aW5jbHVkZSBzcGVjaWZpY2F0aW9uKQogCkBAIC0xNDA2LDYgKzE1MzQsNyBAQAogICAgICAgICBFVC5yZWdpc3Rlcl9uYW1lc3BhY2UoJ3Rlc3QxMDc3NycsICdodHRwOi8vbXl1cmkvJykKICAgICAgICAgRVQucmVnaXN0ZXJfbmFtZXNwYWNlKCd0ZXN0MTA3NzcnLCAnaHR0cDovL215dXJpLycpCiAKKwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAKQEAgLTE1NjksNiArMTY5OCwxMSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuZmluZCgnLi90YWdbbGFzdCgpLTFdJykuYXR0cmliWydjbGFzcyddLCAnYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5maW5kKCcuL3RhZ1tsYXN0KCktMl0nKS5hdHRyaWJbJ2NsYXNzJ10sICdiJykKIAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFN5bnRheEVycm9yLCAnWFBhdGgnLCBlLmZpbmQsICcuL3RhZ1swXScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoU3ludGF4RXJyb3IsICdYUGF0aCcsIGUuZmluZCwgJy4vdGFnWy0xXScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoU3ludGF4RXJyb3IsICdYUGF0aCcsIGUuZmluZCwgJy4vdGFnW2xhc3QoKS0wXScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoU3ludGF4RXJyb3IsICdYUGF0aCcsIGUuZmluZCwgJy4vdGFnW2xhc3QoKSsxXScpCisKICAgICBkZWYgdGVzdF9maW5kYWxsKHNlbGYpOgogICAgICAgICBlID0gRVQuWE1MKFNBTVBMRV9YTUwpCiAgICAgICAgIGVbMl0gPSBFVC5YTUwoU0FNUExFX1NFQ1RJT04pCkBAIC0yMTU2LDYgKzIyOTAsMTggQEAKICAgICAgICAgICAgIEVULnRvc3RyaW5nKHJvb3QsICd1dGYtMTYnKSwKICAgICAgICAgICAgIGInJy5qb2luKEVULnRvc3RyaW5nbGlzdChyb290LCAndXRmLTE2JykpKQogCisgICAgZGVmIHRlc3Rfc2hvcnRfZW1wdHlfZWxlbWVudHMoc2VsZik6CisgICAgICAgIHJvb3QgPSBFVC5mcm9tc3RyaW5nKCc8dGFnPmE8eCAvPmI8eT48L3k+YzwvdGFnPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBFVC50b3N0cmluZyhyb290LCAndW5pY29kZScpLAorICAgICAgICAgICAgJzx0YWc+YTx4IC8+Yjx5IC8+YzwvdGFnPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBFVC50b3N0cmluZyhyb290LCAndW5pY29kZScsIHNob3J0X2VtcHR5X2VsZW1lbnRzPVRydWUpLAorICAgICAgICAgICAgJzx0YWc+YTx4IC8+Yjx5IC8+YzwvdGFnPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBFVC50b3N0cmluZyhyb290LCAndW5pY29kZScsIHNob3J0X2VtcHR5X2VsZW1lbnRzPUZhbHNlKSwKKyAgICAgICAgICAgICc8dGFnPmE8eD48L3g+Yjx5PjwveT5jPC90YWc+JykKKwogCiBjbGFzcyBQYXJzZUVycm9yVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHRlc3Rfc3ViY2xhc3Moc2VsZik6CkBAIC0yMjg0LDYgKzI0MzAsNyBAQAogICAgICAgICBFbGVtZW50U2xpY2luZ1Rlc3QsCiAgICAgICAgIEJhc2ljRWxlbWVudFRlc3QsCiAgICAgICAgIEVsZW1lbnRUcmVlVGVzdCwKKyAgICAgICAgSW5jcmVtZW50YWxQYXJzZXJUZXN0LAogICAgICAgICBJT1Rlc3QsCiAgICAgICAgIFBhcnNlRXJyb3JUZXN0LAogICAgICAgICBYSW5jbHVkZVRlc3QsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3htbHJwYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CmluZGV4IDE2Zjg1YzUuLjgxN2NiZDggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CkBAIC0yMTUsNyArMjE1LDcgQEAKICAgICAgICAgICAgIHhtbHJwYy5jbGllbnQuU2VydmVyUHJveHkoJ2h0dHBzOi8vbG9jYWxob3N0Ojk5OTknKS5iYWRfZnVuY3Rpb24oKQogICAgICAgICBleGNlcHQgTm90SW1wbGVtZW50ZWRFcnJvcjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzX3NzbCwgInhtbHJwYyBjbGllbnQncyBlcnJvciB3aXRoIFNTTCBzdXBwb3J0IikKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzX3NzbCkKIAogY2xhc3MgSGVscGVyVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtNDkyLDcgKzQ5Miw3IEBACiAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBleGNfbWVzcyA9IGUuaGVhZGVycy5nZXQoJ1gtZXhjZXB0aW9uJykKICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgICMgSWdub3JlIHNvY2tldC5lcnJvcnMgaGVyZS4KKyAgICAgICAgIyBJZ25vcmUgT1NFcnJvcnMgaGVyZS4KICAgICAgICAgZXhjX21lc3MgPSBzdHIoZSkKIAogICAgIGlmIGV4Y19tZXNzIGFuZCAndGVtcG9yYXJpbHkgdW5hdmFpbGFibGUnIGluIGV4Y19tZXNzLmxvd2VyKCk6CkBAIC01MDcsNyArNTA3LDcgQEAKICAgICAgICAgZGVmIG1ha2VfcmVxdWVzdF9hbmRfc2tpcChzZWxmKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKS5teV9mdW5jdGlvbigpCi0gICAgICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBPU0Vycm9yKSBhcyBlOgogICAgICAgICAgICAgICAgIGlmIG5vdCBpc191bmF2YWlsYWJsZV9leGNlcHRpb24oZSk6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdChyZWFzb24pCkBAIC01NDUsNyArNTQ1LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcCA9IHhtbHJwY2xpYi5TZXJ2ZXJQcm94eShVUkwpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAucG93KDYsOCksIDYqKjgpCi0gICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIHNvY2tldC5lcnJvcikgYXMgZToKKyAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgT1NFcnJvcikgYXMgZToKICAgICAgICAgICAgICMgaWdub3JlIGZhaWx1cmVzIGR1ZSB0byBub24tYmxvY2tpbmcgc29ja2V0ICd1bmF2YWlsYWJsZScgZXJyb3JzCiAgICAgICAgICAgICBpZiBub3QgaXNfdW5hdmFpbGFibGVfZXhjZXB0aW9uKGUpOgogICAgICAgICAgICAgICAgICMgcHJvdG9jb2wgZXJyb3I7IHByb3ZpZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBpbiB0ZXN0IG91dHB1dApAQCAtNTU4LDcgKzU1OCw3IEBACiAgICAgICAgICAgICBwID0geG1scnBjbGliLlNlcnZlclByb3h5KFVSTCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5hZGQoc3RhcnRfc3RyaW5nLCBlbmRfc3RyaW5nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfc3RyaW5nICsgZW5kX3N0cmluZykKLSAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgc29ja2V0LmVycm9yKSBhcyBlOgorICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBPU0Vycm9yKSBhcyBlOgogICAgICAgICAgICAgIyBpZ25vcmUgZmFpbHVyZXMgZHVlIHRvIG5vbi1ibG9ja2luZyBzb2NrZXQgJ3VuYXZhaWxhYmxlJyBlcnJvcnMKICAgICAgICAgICAgIGlmIG5vdCBpc191bmF2YWlsYWJsZV9leGNlcHRpb24oZSk6CiAgICAgICAgICAgICAgICAgIyBwcm90b2NvbCBlcnJvcjsgcHJvdmlkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGluIHRlc3Qgb3V0cHV0CkBAIC01ODQsNyArNTg0LDcgQEAKICAgICAgICAgICAgIHAgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKQogICAgICAgICAgICAgbWV0aCA9IHAuc3lzdGVtLmxpc3RNZXRob2RzKCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KG1ldGgpLCBleHBlY3RlZF9tZXRob2RzKQotICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CisgICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIE9TRXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAjIGlnbm9yZSBmYWlsdXJlcyBkdWUgdG8gbm9uLWJsb2NraW5nIHNvY2tldCAndW5hdmFpbGFibGUnIGVycm9ycwogICAgICAgICAgICAgaWYgbm90IGlzX3VuYXZhaWxhYmxlX2V4Y2VwdGlvbihlKToKICAgICAgICAgICAgICAgICAjIHByb3RvY29sIGVycm9yOyBwcm92aWRlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaW4gdGVzdCBvdXRwdXQKQEAgLTU5Nyw3ICs1OTcsNyBAQAogICAgICAgICAgICAgcCA9IHhtbHJwY2xpYi5TZXJ2ZXJQcm94eShVUkwpCiAgICAgICAgICAgICBkaXZoZWxwID0gcC5zeXN0ZW0ubWV0aG9kSGVscCgnZGl2JykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGl2aGVscCwgJ1RoaXMgaXMgdGhlIGRpdiBmdW5jdGlvbicpCi0gICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIHNvY2tldC5lcnJvcikgYXMgZToKKyAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgT1NFcnJvcikgYXMgZToKICAgICAgICAgICAgICMgaWdub3JlIGZhaWx1cmVzIGR1ZSB0byBub24tYmxvY2tpbmcgc29ja2V0ICd1bmF2YWlsYWJsZScgZXJyb3JzCiAgICAgICAgICAgICBpZiBub3QgaXNfdW5hdmFpbGFibGVfZXhjZXB0aW9uKGUpOgogICAgICAgICAgICAgICAgICMgcHJvdG9jb2wgZXJyb3I7IHByb3ZpZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBpbiB0ZXN0IG91dHB1dApAQCAtNjExLDcgKzYxMSw3IEBACiAgICAgICAgICAgICBwID0geG1scnBjbGliLlNlcnZlclByb3h5KFVSTCkKICAgICAgICAgICAgIG15ZnVuY3Rpb24gPSBwLnN5c3RlbS5tZXRob2RIZWxwKCdteV9mdW5jdGlvbicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG15ZnVuY3Rpb24sICdUaGlzIGlzIG15IGZ1bmN0aW9uJykKLSAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgc29ja2V0LmVycm9yKSBhcyBlOgorICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBPU0Vycm9yKSBhcyBlOgogICAgICAgICAgICAgIyBpZ25vcmUgZmFpbHVyZXMgZHVlIHRvIG5vbi1ibG9ja2luZyBzb2NrZXQgJ3VuYXZhaWxhYmxlJyBlcnJvcnMKICAgICAgICAgICAgIGlmIG5vdCBpc191bmF2YWlsYWJsZV9leGNlcHRpb24oZSk6CiAgICAgICAgICAgICAgICAgIyBwcm90b2NvbCBlcnJvcjsgcHJvdmlkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGluIHRlc3Qgb3V0cHV0CkBAIC02MjQsNyArNjI0LDcgQEAKICAgICAgICAgICAgIHAgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKQogICAgICAgICAgICAgZGl2c2lnID0gcC5zeXN0ZW0ubWV0aG9kU2lnbmF0dXJlKCdkaXYnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXZzaWcsICdzaWduYXR1cmVzIG5vdCBzdXBwb3J0ZWQnKQotICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CisgICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIE9TRXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAjIGlnbm9yZSBmYWlsdXJlcyBkdWUgdG8gbm9uLWJsb2NraW5nIHNvY2tldCAndW5hdmFpbGFibGUnIGVycm9ycwogICAgICAgICAgICAgaWYgbm90IGlzX3VuYXZhaWxhYmxlX2V4Y2VwdGlvbihlKToKICAgICAgICAgICAgICAgICAjIHByb3RvY29sIGVycm9yOyBwcm92aWRlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaW4gdGVzdCBvdXRwdXQKQEAgLTY0MSw3ICs2NDEsNyBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhZGRfcmVzdWx0LCAyKzMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvd19yZXN1bHQsIDYqKjgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpdl9yZXN1bHQsIDEyNy8vNDIpCi0gICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIHNvY2tldC5lcnJvcikgYXMgZToKKyAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgT1NFcnJvcikgYXMgZToKICAgICAgICAgICAgICMgaWdub3JlIGZhaWx1cmVzIGR1ZSB0byBub24tYmxvY2tpbmcgc29ja2V0ICd1bmF2YWlsYWJsZScgZXJyb3JzCiAgICAgICAgICAgICBpZiBub3QgaXNfdW5hdmFpbGFibGVfZXhjZXB0aW9uKGUpOgogICAgICAgICAgICAgICAgICMgcHJvdG9jb2wgZXJyb3I7IHByb3ZpZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBpbiB0ZXN0IG91dHB1dApAQCAtNjYyLDcgKzY2Miw3IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5yZXN1bHRzWzBdWydmYXVsdFN0cmluZyddLAogICAgICAgICAgICAgICAgICc8Y2xhc3MgXCdFeGNlcHRpb25cJz46bWV0aG9kICJ0aGlzX2lzX25vdF9leGlzdHMiICcKICAgICAgICAgICAgICAgICAnaXMgbm90IHN1cHBvcnRlZCcpCi0gICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIHNvY2tldC5lcnJvcikgYXMgZToKKyAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgT1NFcnJvcikgYXMgZToKICAgICAgICAgICAgICMgaWdub3JlIGZhaWx1cmVzIGR1ZSB0byBub24tYmxvY2tpbmcgc29ja2V0ICd1bmF2YWlsYWJsZScgZXJyb3JzCiAgICAgICAgICAgICBpZiBub3QgaXNfdW5hdmFpbGFibGVfZXhjZXB0aW9uKGUpOgogICAgICAgICAgICAgICAgICMgcHJvdG9jb2wgZXJyb3I7IHByb3ZpZGUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBpbiB0ZXN0IG91dHB1dApAQCAtOTE1LDcgKzkxNSw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHAgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLnBvdyg2LDgpLCA2Kio4KQotICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CisgICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIE9TRXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAjIGlnbm9yZSBmYWlsdXJlcyBkdWUgdG8gbm9uLWJsb2NraW5nIHNvY2tldCAndW5hdmFpbGFibGUnIGVycm9ycwogICAgICAgICAgICAgaWYgbm90IGlzX3VuYXZhaWxhYmxlX2V4Y2VwdGlvbihlKToKICAgICAgICAgICAgICAgICAjIHByb3RvY29sIGVycm9yOyBwcm92aWRlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaW4gdGVzdCBvdXRwdXQKQEAgLTkyOCw3ICs5MjgsNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBwID0geG1scnBjbGliLlNlcnZlclByb3h5KFVSTCkKICAgICAgICAgICAgIHAucG93KDYsOCkKLSAgICAgICAgZXhjZXB0ICh4bWxycGNsaWIuUHJvdG9jb2xFcnJvciwgc29ja2V0LmVycm9yKSBhcyBlOgorICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBPU0Vycm9yKSBhcyBlOgogICAgICAgICAgICAgIyBpZ25vcmUgZmFpbHVyZXMgZHVlIHRvIG5vbi1ibG9ja2luZyBzb2NrZXQgJ3VuYXZhaWxhYmxlJyBlcnJvcnMKICAgICAgICAgICAgIGlmIG5vdCBpc191bmF2YWlsYWJsZV9leGNlcHRpb24oZSkgYW5kIGhhc2F0dHIoZSwgImhlYWRlcnMiKToKICAgICAgICAgICAgICAgICAjIFRoZSB0d28gc2VydmVyLXNpZGUgZXJyb3IgaGVhZGVycyBzaG91bGRuJ3QgYmUgc2VudCBiYWNrIGluIHRoaXMgY2FzZQpAQCAtOTQ4LDcgKzk0OCw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHAgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoVVJMKQogICAgICAgICAgICAgcC5wb3coNiw4KQotICAgICAgICBleGNlcHQgKHhtbHJwY2xpYi5Qcm90b2NvbEVycm9yLCBzb2NrZXQuZXJyb3IpIGFzIGU6CisgICAgICAgIGV4Y2VwdCAoeG1scnBjbGliLlByb3RvY29sRXJyb3IsIE9TRXJyb3IpIGFzIGU6CiAgICAgICAgICAgICAjIGlnbm9yZSBmYWlsdXJlcyBkdWUgdG8gbm9uLWJsb2NraW5nIHNvY2tldCAndW5hdmFpbGFibGUnIGVycm9ycwogICAgICAgICAgICAgaWYgbm90IGlzX3VuYXZhaWxhYmxlX2V4Y2VwdGlvbihlKSBhbmQgaGFzYXR0cihlLCAiaGVhZGVycyIpOgogICAgICAgICAgICAgICAgICMgV2Ugc2hvdWxkIGdldCBlcnJvciBpbmZvIGluIHRoZSByZXNwb25zZQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF94bWxycGNfbmV0LnB5IGIvTGliL3Rlc3QvdGVzdF94bWxycGNfbmV0LnB5CmluZGV4IGRmYjVmOWEuLjQ1N2UzZmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjX25ldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3htbHJwY19uZXQucHkKQEAgLTE4LDcgKzE4LDcgQEAKICAgICAgICAgc2VydmVyID0geG1scnBjbGliLlNlcnZlclByb3h5KCJodHRwOi8vdGltZS54bWxycGMuY29tL1JQQzIiKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICB0MCA9IHNlcnZlci5jdXJyZW50VGltZS5nZXRDdXJyZW50VGltZSgpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIm5ldHdvcmsgZXJyb3I6ICVzIiAlIGUpCiAgICAgICAgICAgICByZXR1cm4KIApAQCAtNDIsNyArNDIsNyBAQAogICAgICAgICBzZXJ2ZXIgPSB4bWxycGNsaWIuU2VydmVyUHJveHkoImh0dHA6Ly9idWlsZGJvdC5weXRob24ub3JnL2FsbC94bWxycGMvIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgYnVpbGRlcnMgPSBzZXJ2ZXIuZ2V0QWxsQnVpbGRlcnMoKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJuZXR3b3JrIGVycm9yOiAlcyIgJSBlKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsYW1iZGE6IHNlcnZlcignY2xvc2UnKSgpKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5IGIvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5CmluZGV4IDVlODM3Y2QuLjUyOWY3YjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGZpbGUucHkKQEAgLTEwNTAsNyArMTA1MCw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKFRFU1RGTiwgJ2EnKSBhcyB6ZjoKICAgICAgICAgICAgICAgICB6Zi53cml0ZXN0cihmaWxlbmFtZSwgY29udGVudCkKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgc2VsZi5mYWlsKCdDb3VsZCBub3QgYXBwZW5kIGRhdGEgdG8gYSBub24tZXhpc3RlbnQgemlwIGZpbGUuJykKIAogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoVEVTVEZOKSkKQEAgLTExMzAsNyArMTEzMCw3IEBACiAgICAgICAgIGNoayA9IHppcGZpbGUuaXNfemlwZmlsZShmcCkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNoaykKIAotICAgIGRlZiB0ZXN0X25vbl9leGlzdGVudF9maWxlX3JhaXNlc19JT0Vycm9yKHNlbGYpOgorICAgIGRlZiB0ZXN0X25vbl9leGlzdGVudF9maWxlX3JhaXNlc19PU0Vycm9yKHNlbGYpOgogICAgICAgICAjIG1ha2Ugc3VyZSB3ZSBkb24ndCByYWlzZSBhbiBBdHRyaWJ1dGVFcnJvciB3aGVuIGEgcGFydGlhbGx5LWNvbnN0cnVjdGVkCiAgICAgICAgICMgWmlwRmlsZSBpbnN0YW5jZSBpcyBmaW5hbGl6ZWQ7IHRoaXMgdGVzdHMgZm9yIHJlZ3Jlc3Npb24gb24gU0YgdHJhY2tlcgogICAgICAgICAjIGJ1ZyAjNDAzODcxLgpAQCAtMTE0Miw3ICsxMTQyLDcgQEAKICAgICAgICAgIyBpdCBpcyBpZ25vcmVkLCBidXQgdGhlIHVzZXIgc2hvdWxkIGJlIHN1ZmZpY2llbnRseSBhbm5veWVkIGJ5CiAgICAgICAgICMgdGhlIG1lc3NhZ2Ugb24gdGhlIG91dHB1dCB0aGF0IHJlZ3Jlc3Npb24gd2lsbCBiZSBub3RpY2VkCiAgICAgICAgICMgcXVpY2tseS4KLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgemlwZmlsZS5aaXBGaWxlLCBURVNURk4pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHppcGZpbGUuWmlwRmlsZSwgVEVTVEZOKQogCiAgICAgZGVmIHRlc3RfZW1wdHlfZmlsZV9yYWlzZXNfQmFkWmlwRmlsZShzZWxmKToKICAgICAgICAgZiA9IG9wZW4oVEVTVEZOLCAndycpCkBAIC0xNDE2LDcgKzE0MTYsNyBAQAogICAgIGRlZiB0ZXN0X29wZW5fZW1wdHlfZmlsZShzZWxmKToKICAgICAgICAgIyBJc3N1ZSAxNzEwNzAzOiBDaGVjayB0aGF0IG9wZW5pbmcgYSBmaWxlIHdpdGggbGVzcyB0aGFuIDIyIGJ5dGVzCiAgICAgICAgICMgcmFpc2VzIGEgQmFkWmlwRmlsZSBleGNlcHRpb24gKHJhdGhlciB0aGFuIHRoZSBwcmV2aW91c2x5IHVuaGVscGZ1bAotICAgICAgICAjIElPRXJyb3IpCisgICAgICAgICMgT1NFcnJvcikKICAgICAgICAgZiA9IG9wZW4oVEVTVEZOLCAndycpCiAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh6aXBmaWxlLkJhZFppcEZpbGUsIHppcGZpbGUuWmlwRmlsZSwgVEVTVEZOLCAncicpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0LnB5CmluZGV4IGY3Y2I4YjkuLmE2MGQzZTAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0LnB5CkBAIC0xOTYsNiArMTk2LDcgQEAKICAgICAgICAgICAgIGZvciBuYW1lLCAobXRpbWUsIGRhdGEpIGluIGZpbGVzLml0ZW1zKCk6CiAgICAgICAgICAgICAgICAgemluZm8gPSBaaXBJbmZvKG5hbWUsIHRpbWUubG9jYWx0aW1lKG10aW1lKSkKICAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc190eXBlID0gc2VsZi5jb21wcmVzc2lvbgorICAgICAgICAgICAgICAgIHppbmZvLmNvbW1lbnQgPSBiInNwYW0iCiAgICAgICAgICAgICAgICAgei53cml0ZXN0cih6aW5mbywgZGF0YSkKICAgICAgICAgICAgIHouY2xvc2UoKQogCkBAIC0yNDUsNiArMjQ2LDcgQEAKICAgICAgICAgICAgIGZvciBuYW1lLCAobXRpbWUsIGRhdGEpIGluIGZpbGVzLml0ZW1zKCk6CiAgICAgICAgICAgICAgICAgemluZm8gPSBaaXBJbmZvKG5hbWUsIHRpbWUubG9jYWx0aW1lKG10aW1lKSkKICAgICAgICAgICAgICAgICB6aW5mby5jb21wcmVzc190eXBlID0gc2VsZi5jb21wcmVzc2lvbgorICAgICAgICAgICAgICAgIHppbmZvLmNvbW1lbnQgPSBiImVnZ3MiCiAgICAgICAgICAgICAgICAgei53cml0ZXN0cih6aW5mbywgZGF0YSkKICAgICAgICAgICAgIHouY2xvc2UoKQogCkBAIC00NTksNyArNDYxLDcgQEAKIAogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZXJyb3IsIHoubG9hZF9tb2R1bGUsICdhYmMnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZXJyb3IsIHouZ2V0X2NvZGUsICdhYmMnKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgei5nZXRfZGF0YSwgJ2FiYycpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCB6LmdldF9kYXRhLCAnYWJjJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGVycm9yLCB6LmdldF9zb3VyY2UsICdhYmMnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZXJyb3IsIHouaXNfcGFja2FnZSwgJ2FiYycpCiAgICAgICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90Zl9pbmhlcml0X2NoZWNrLnB5IGIvTGliL3Rlc3QvdGZfaW5oZXJpdF9jaGVjay5weQppbmRleCA5MmViZDk1Li5hZmU1MGQyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90Zl9pbmhlcml0X2NoZWNrLnB5CisrKyBiL0xpYi90ZXN0L3RmX2luaGVyaXRfY2hlY2sucHkKQEAgLTExLDcgKzExLDcgQEAKIAogICAgIHRyeToKICAgICAgICAgb3Mud3JpdGUoZmQsIGIiYmxhdCIpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAjIFN1Y2Nlc3MgLS0gY291bGQgbm90IHdyaXRlIHRvIGZkLgogICAgICAgICBzeXMuZXhpdCgwKQogICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvdGhyZWFkaW5nLnB5IGIvTGliL3RocmVhZGluZy5weQppbmRleCBhYjkzMDJjLi4zNTI2ODk0IDEwMDY0NAotLS0gYS9MaWIvdGhyZWFkaW5nLnB5CisrKyBiL0xpYi90aHJlYWRpbmcucHkKQEAgLTEwLDYgKzEwLDExIEBACiAgICAgZnJvbSB0aW1lIGltcG9ydCB0aW1lIGFzIF90aW1lCiBmcm9tIHRyYWNlYmFjayBpbXBvcnQgZm9ybWF0X2V4YyBhcyBfZm9ybWF0X2V4YwogZnJvbSBfd2Vha3JlZnNldCBpbXBvcnQgV2Vha1NldAorZnJvbSBpdGVydG9vbHMgaW1wb3J0IGlzbGljZSBhcyBfaXNsaWNlCit0cnk6CisgICAgZnJvbSBfY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlIGFzIF9kZXF1ZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlIGFzIF9kZXF1ZQogCiAjIE5vdGUgcmVnYXJkaW5nIFBFUCA4IGNvbXBsaWFudCBuYW1lcwogIyAgVGhpcyB0aHJlYWRpbmcgbW9kZWwgd2FzIG9yaWdpbmFsbHkgaW5zcGlyZWQgYnkgSmF2YSwgYW5kIGluaGVyaXRlZApAQCAtNzksNyArODQsNyBAQAogICAgIGRlZiBhY3F1aXJlKHNlbGYsIGJsb2NraW5nPVRydWUsIHRpbWVvdXQ9LTEpOgogICAgICAgICBtZSA9IGdldF9pZGVudCgpCiAgICAgICAgIGlmIHNlbGYuX293bmVyID09IG1lOgotICAgICAgICAgICAgc2VsZi5fY291bnQgPSBzZWxmLl9jb3VudCArIDEKKyAgICAgICAgICAgIHNlbGYuX2NvdW50ICs9IDEKICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgIHJjID0gc2VsZi5fYmxvY2suYWNxdWlyZShibG9ja2luZywgdGltZW91dCkKICAgICAgICAgaWYgcmM6CkBAIC0xNDYsNyArMTUxLDcgQEAKICAgICAgICAgICAgIHNlbGYuX2lzX293bmVkID0gbG9jay5faXNfb3duZWQKICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICAgcGFzcwotICAgICAgICBzZWxmLl93YWl0ZXJzID0gW10KKyAgICAgICAgc2VsZi5fd2FpdGVycyA9IF9kZXF1ZSgpCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fbG9jay5fX2VudGVyX18oKQpAQCAtMjE2LDE0ICsyMjEsMTQgQEAKICAgICBkZWYgbm90aWZ5KHNlbGYsIG49MSk6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9pc19vd25lZCgpOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJjYW5ub3Qgbm90aWZ5IG9uIHVuLWFjcXVpcmVkIGxvY2siKQotICAgICAgICBfX3dhaXRlcnMgPSBzZWxmLl93YWl0ZXJzCi0gICAgICAgIHdhaXRlcnMgPSBfX3dhaXRlcnNbOm5dCi0gICAgICAgIGlmIG5vdCB3YWl0ZXJzOgorICAgICAgICBhbGxfd2FpdGVycyA9IHNlbGYuX3dhaXRlcnMKKyAgICAgICAgd2FpdGVyc190b19ub3RpZnkgPSBfZGVxdWUoX2lzbGljZShhbGxfd2FpdGVycywgbikpCisgICAgICAgIGlmIG5vdCB3YWl0ZXJzX3RvX25vdGlmeToKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBmb3Igd2FpdGVyIGluIHdhaXRlcnM6CisgICAgICAgIGZvciB3YWl0ZXIgaW4gd2FpdGVyc190b19ub3RpZnk6CiAgICAgICAgICAgICB3YWl0ZXIucmVsZWFzZSgpCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgX193YWl0ZXJzLnJlbW92ZSh3YWl0ZXIpCisgICAgICAgICAgICAgICAgYWxsX3dhaXRlcnMucmVtb3ZlKHdhaXRlcikKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKIApAQCAtMjYxLDcgKzI2Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBzZWxmLl9jb25kLndhaXQodGltZW91dCkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5fdmFsdWUgPSBzZWxmLl92YWx1ZSAtIDEKKyAgICAgICAgICAgICAgICBzZWxmLl92YWx1ZSAtPSAxCiAgICAgICAgICAgICAgICAgcmMgPSBUcnVlCiAgICAgICAgIHJldHVybiByYwogCkBAIC0yNjksNyArMjc0LDcgQEAKIAogICAgIGRlZiByZWxlYXNlKHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuX2NvbmQ6Ci0gICAgICAgICAgICBzZWxmLl92YWx1ZSA9IHNlbGYuX3ZhbHVlICsgMQorICAgICAgICAgICAgc2VsZi5fdmFsdWUgKz0gMQogICAgICAgICAgICAgc2VsZi5fY29uZC5ub3RpZnkoKQogCiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsIHQsIHYsIHRiKToKQEAgLTUwNCw3ICs1MDksNyBAQAogX2NvdW50ZXIgPSAwCiBkZWYgX25ld25hbWUodGVtcGxhdGU9IlRocmVhZC0lZCIpOgogICAgIGdsb2JhbCBfY291bnRlcgotICAgIF9jb3VudGVyID0gX2NvdW50ZXIgKyAxCisgICAgX2NvdW50ZXIgKz0gMQogICAgIHJldHVybiB0ZW1wbGF0ZSAlIF9jb3VudGVyCiAKICMgQWN0aXZlIHRocmVhZCBhZG1pbmlzdHJhdGlvbgpkaWZmIC0tZ2l0IGEvTGliL3RpbWVpdC5weSBiL0xpYi90aW1laXQucHkKaW5kZXggNGY3ZDI4Zi4uZWFkMjAzMCAxMDA2NDQKLS0tIGEvTGliL3RpbWVpdC5weQorKysgYi9MaWIvdGltZWl0LnB5CkBAIC0zMSwzOCArMzEsMjkgQEAKIElmIC1uIGlzIG5vdCBnaXZlbiwgYSBzdWl0YWJsZSBudW1iZXIgb2YgbG9vcHMgaXMgY2FsY3VsYXRlZCBieSB0cnlpbmcKIHN1Y2Nlc3NpdmUgcG93ZXJzIG9mIDEwIHVudGlsIHRoZSB0b3RhbCB0aW1lIGlzIGF0IGxlYXN0IDAuMiBzZWNvbmRzLgogCi1UaGUgZGlmZmVyZW5jZSBpbiBkZWZhdWx0IHRpbWVyIGZ1bmN0aW9uIGlzIGJlY2F1c2Ugb24gV2luZG93cywKLWNsb2NrKCkgaGFzIG1pY3Jvc2Vjb25kIGdyYW51bGFyaXR5IGJ1dCB0aW1lKCkncyBncmFudWxhcml0eSBpcyAxLzYwdGgKLW9mIGEgc2Vjb25kOyBvbiBVbml4LCBjbG9jaygpIGhhcyAxLzEwMHRoIG9mIGEgc2Vjb25kIGdyYW51bGFyaXR5IGFuZAotdGltZSgpIGlzIG11Y2ggbW9yZSBwcmVjaXNlLiAgT24gZWl0aGVyIHBsYXRmb3JtLCB0aGUgZGVmYXVsdCB0aW1lcgotZnVuY3Rpb25zIG1lYXN1cmUgd2FsbCBjbG9jayB0aW1lLCBub3QgdGhlIENQVSB0aW1lLiAgVGhpcyBtZWFucyB0aGF0Ci1vdGhlciBwcm9jZXNzZXMgcnVubmluZyBvbiB0aGUgc2FtZSBjb21wdXRlciBtYXkgaW50ZXJmZXJlIHdpdGggdGhlCi10aW1pbmcuICBUaGUgYmVzdCB0aGluZyB0byBkbyB3aGVuIGFjY3VyYXRlIHRpbWluZyBpcyBuZWNlc3NhcnkgaXMgdG8KLXJlcGVhdCB0aGUgdGltaW5nIGEgZmV3IHRpbWVzIGFuZCB1c2UgdGhlIGJlc3QgdGltZS4gIFRoZSAtciBvcHRpb24gaXMKLWdvb2QgZm9yIHRoaXM7IHRoZSBkZWZhdWx0IG9mIDMgcmVwZXRpdGlvbnMgaXMgcHJvYmFibHkgZW5vdWdoIGluIG1vc3QKLWNhc2VzLiAgT24gVW5peCwgeW91IGNhbiB1c2UgY2xvY2soKSB0byBtZWFzdXJlIENQVSB0aW1lLgotCiBOb3RlOiB0aGVyZSBpcyBhIGNlcnRhaW4gYmFzZWxpbmUgb3ZlcmhlYWQgYXNzb2NpYXRlZCB3aXRoIGV4ZWN1dGluZyBhCi1wYXNzIHN0YXRlbWVudC4gIFRoZSBjb2RlIGhlcmUgZG9lc24ndCB0cnkgdG8gaGlkZSBpdCwgYnV0IHlvdSBzaG91bGQKLWJlIGF3YXJlIG9mIGl0LiAgVGhlIGJhc2VsaW5lIG92ZXJoZWFkIGNhbiBiZSBtZWFzdXJlZCBieSBpbnZva2luZyB0aGUKLXByb2dyYW0gd2l0aG91dCBhcmd1bWVudHMuCitwYXNzIHN0YXRlbWVudC4gIEl0IGRpZmZlcnMgYmV0d2VlbiB2ZXJzaW9ucy4gIFRoZSBjb2RlIGhlcmUgZG9lc24ndCB0cnkKK3RvIGhpZGUgaXQsIGJ1dCB5b3Ugc2hvdWxkIGJlIGF3YXJlIG9mIGl0LiAgVGhlIGJhc2VsaW5lIG92ZXJoZWFkIGNhbiBiZQorbWVhc3VyZWQgYnkgaW52b2tpbmcgdGhlIHByb2dyYW0gd2l0aG91dCBhcmd1bWVudHMuCiAKLVRoZSBiYXNlbGluZSBvdmVyaGVhZCBkaWZmZXJzIGJldHdlZW4gUHl0aG9uIHZlcnNpb25zISAgQWxzbywgdG8KLWZhaXJseSBjb21wYXJlIG9sZGVyIFB5dGhvbiB2ZXJzaW9ucyB0byBQeXRob24gMi4zLCB5b3UgbWF5IHdhbnQgdG8KLXVzZSBweXRob24gLU8gZm9yIHRoZSBvbGRlciB2ZXJzaW9ucyB0byBhdm9pZCB0aW1pbmcgU0VUX0xJTkVOTwotaW5zdHJ1Y3Rpb25zLgorQ2xhc3NlczoKKworICAgIFRpbWVyCisKK0Z1bmN0aW9uczoKKworICAgIHRpbWVpdChzdHJpbmcsIHN0cmluZykgLT4gZmxvYXQKKyAgICByZXBlYXQoc3RyaW5nLCBzdHJpbmcpIC0+IGxpc3QKKyAgICBkZWZhdWx0X3RpbWVyKCkgLT4gZmxvYXQKKwogIiIiCiAKIGltcG9ydCBnYwogaW1wb3J0IHN5cwogaW1wb3J0IHRpbWUKLXRyeToKLSAgICBpbXBvcnQgaXRlcnRvb2xzCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgIyBNdXN0IGJlIGFuIG9sZGVyIFB5dGhvbiB2ZXJzaW9uIChzZWUgdGltZWl0KCkgYmVsb3cpCi0gICAgaXRlcnRvb2xzID0gTm9uZQoraW1wb3J0IGl0ZXJ0b29scwogCi1fX2FsbF9fID0gWyJUaW1lciJdCitfX2FsbF9fID0gWyJUaW1lciIsICJ0aW1laXQiLCAicmVwZWF0IiwgImRlZmF1bHRfdGltZXIiXQogCiBkdW1teV9zcmNfbmFtZSA9ICI8dGltZWl0LXNyYz4iCiBkZWZhdWx0X251bWJlciA9IDEwMDAwMDAKQEAgLTE4MCwxMCArMTcxLDcgQEAKICAgICAgICAgdG8gb25lIG1pbGxpb24uICBUaGUgbWFpbiBzdGF0ZW1lbnQsIHRoZSBzZXR1cCBzdGF0ZW1lbnQgYW5kCiAgICAgICAgIHRoZSB0aW1lciBmdW5jdGlvbiB0byBiZSB1c2VkIGFyZSBwYXNzZWQgdG8gdGhlIGNvbnN0cnVjdG9yLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgaXRlcnRvb2xzOgotICAgICAgICAgICAgaXQgPSBpdGVydG9vbHMucmVwZWF0KE5vbmUsIG51bWJlcikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGl0ID0gW05vbmVdICogbnVtYmVyCisgICAgICAgIGl0ID0gaXRlcnRvb2xzLnJlcGVhdChOb25lLCBudW1iZXIpCiAgICAgICAgIGdjb2xkID0gZ2MuaXNlbmFibGVkKCkKICAgICAgICAgZ2MuZGlzYWJsZSgpCiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL19faW5pdF9fLnB5IGIvTGliL3RraW50ZXIvX19pbml0X18ucHkKaW5kZXggZjYxOTc4Ni4uZjc4ZDI0ZCAxMDA2NDQKLS0tIGEvTGliL3RraW50ZXIvX19pbml0X18ucHkKKysrIGIvTGliL3RraW50ZXIvX19pbml0X18ucHkKQEAgLTIxODEsNDUgKzIxODEsNiBAQAogICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIHNlbGYudGsuY2FsbChzZWxmLl93LCAnaW52b2tlJykKIAotCi0jIEluZGljZXM6Ci0jIFhYWCBJIGRvbid0IGxpa2UgdGhlc2UgLS0gdGFrZSB0aGVtIGF3YXkKLWRlZiBBdEVuZCgpOgotICAgIHdhcm5pbmdzLndhcm4oInRraW50ZXIuQXRFbmQgd2lsbCBiZSByZW1vdmVkIGluIDMuNCIsCi0gICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICByZXR1cm4gJ2VuZCcKLQotCi1kZWYgQXRJbnNlcnQoKmFyZ3MpOgotICAgIHdhcm5pbmdzLndhcm4oInRraW50ZXIuQXRJbnNlcnQgd2lsbCBiZSByZW1vdmVkIGluIDMuNCIsCi0gICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICBzID0gJ2luc2VydCcKLSAgICBmb3IgYSBpbiBhcmdzOgotICAgICAgICBpZiBhOiBzID0gcyArICgnICcgKyBhKQotICAgIHJldHVybiBzCi0KLQotZGVmIEF0U2VsRmlyc3QoKToKLSAgICB3YXJuaW5ncy53YXJuKCJ0a2ludGVyLkF0U2VsRmlyc3Qgd2lsbCBiZSByZW1vdmVkIGluIDMuNCIsCi0gICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICByZXR1cm4gJ3NlbC5maXJzdCcKLQotCi1kZWYgQXRTZWxMYXN0KCk6Ci0gICAgd2FybmluZ3Mud2FybigidGtpbnRlci5BdFNlbExhc3Qgd2lsbCBiZSByZW1vdmVkIGluIDMuNCIsCi0gICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICByZXR1cm4gJ3NlbC5sYXN0JwotCi0KLWRlZiBBdCh4LCB5PU5vbmUpOgotICAgIHdhcm5pbmdzLndhcm4oInRraW50ZXIuQXQgd2lsbCBiZSByZW1vdmVkIGluIDMuNCIsCi0gICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICBpZiB5IGlzIE5vbmU6Ci0gICAgICAgIHJldHVybiAnQCVyJyAlICh4LCkKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gJ0AlciwlcicgJSAoeCwgeSkKLQotCiBjbGFzcyBDYW52YXMoV2lkZ2V0LCBYVmlldywgWVZpZXcpOgogICAgICIiIkNhbnZhcyB3aWRnZXQgdG8gZGlzcGxheSBncmFwaGljYWwgZWxlbWVudHMgbGlrZSBsaW5lcyBvciB0ZXh0LiIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXN0ZXI9Tm9uZSwgY25mPXt9LCAqKmt3KToKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL2ZpbGVkaWFsb2cucHkgYi9MaWIvdGtpbnRlci9maWxlZGlhbG9nLnB5CmluZGV4IDNmZmIyNTIuLmE3MWFmYjIgMTAwNjQ0Ci0tLSBhL0xpYi90a2ludGVyL2ZpbGVkaWFsb2cucHkKKysrIGIvTGliL3RraW50ZXIvZmlsZWRpYWxvZy5weQpAQCAtMTY2LDcgKzE2Niw3IEBACiAgICAgICAgIGRpciwgcGF0ID0gc2VsZi5nZXRfZmlsdGVyKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcikKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHNlbGYubWFzdGVyLmJlbGwoKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHNlbGYuZGlyZWN0b3J5ID0gZGlyCkBAIC0yMDksNyArMjA5LDcgQEAKICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNhYnMoZGlyKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBwd2QgPSBvcy5nZXRjd2QoKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgcHdkID0gTm9uZQogICAgICAgICAgICAgaWYgcHdkOgogICAgICAgICAgICAgICAgIGRpciA9IG9zLnBhdGguam9pbihwd2QsIGRpcikKZGlmZiAtLWdpdCBhL0xpYi90b2tlbi5weSBiL0xpYi90b2tlbi5weQppbmRleCAzMWZhZTBhLi43NDcwYzhjIDEwMDc1NQotLS0gYS9MaWIvdG9rZW4ucHkKKysrIGIvTGliL3Rva2VuLnB5CkBAIC05Myw3ICs5Myw3IEBACiAgICAgICAgIG91dEZpbGVOYW1lID0gYXJnc1sxXQogICAgIHRyeToKICAgICAgICAgZnAgPSBvcGVuKGluRmlsZU5hbWUpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiSS9PIGVycm9yOiAlc1xuIiAlIHN0cihlcnIpKQogICAgICAgICBzeXMuZXhpdCgxKQogICAgIGxpbmVzID0gZnAucmVhZCgpLnNwbGl0KCJcbiIpCkBAIC0xMTIsNyArMTEyLDcgQEAKICAgICAjIGxvYWQgdGhlIG91dHB1dCBza2VsZXRvbiBmcm9tIHRoZSB0YXJnZXQ6CiAgICAgdHJ5OgogICAgICAgICBmcCA9IG9wZW4ob3V0RmlsZU5hbWUpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiSS9PIGVycm9yOiAlc1xuIiAlIHN0cihlcnIpKQogICAgICAgICBzeXMuZXhpdCgyKQogICAgIGZvcm1hdCA9IGZwLnJlYWQoKS5zcGxpdCgiXG4iKQpAQCAtMTI5LDcgKzEyOSw3IEBACiAgICAgZm9ybWF0W3N0YXJ0OmVuZF0gPSBsaW5lcwogICAgIHRyeToKICAgICAgICAgZnAgPSBvcGVuKG91dEZpbGVOYW1lLCAndycpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiSS9PIGVycm9yOiAlc1xuIiAlIHN0cihlcnIpKQogICAgICAgICBzeXMuZXhpdCg0KQogICAgIGZwLndyaXRlKCJcbiIuam9pbihmb3JtYXQpKQpkaWZmIC0tZ2l0IGEvTGliL3Rva2VuaXplLnB5IGIvTGliL3Rva2VuaXplLnB5CmluZGV4IGNiZjkxZWYuLjJmYmRlMGYgMTAwNjQ0Ci0tLSBhL0xpYi90b2tlbml6ZS5weQorKysgYi9MaWIvdG9rZW5pemUucHkKQEAgLTY3MCw3ICs2NzAsNyBAQAogICAgICAgICBlcnJvcihlcnIuYXJnc1swXSwgZmlsZW5hbWUsIChsaW5lLCBjb2x1bW4pKQogICAgIGV4Y2VwdCBTeW50YXhFcnJvciBhcyBlcnI6CiAgICAgICAgIGVycm9yKGVyciwgZmlsZW5hbWUpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgZXJyOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgZXJyb3IoZXJyKQogICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKICAgICAgICAgcHJpbnQoImludGVycnVwdGVkXG4iKQpkaWZmIC0tZ2l0IGEvTGliL3RyYWNlLnB5IGIvTGliL3RyYWNlLnB5CmluZGV4IGMwOWIzNjUuLjA5ZmU5ZWUgMTAwNjQ0Ci0tLSBhL0xpYi90cmFjZS5weQorKysgYi9MaWIvdHJhY2UucHkKQEAgLTIzOCw3ICsyMzgsNyBAQAogICAgICAgICAgICAgICAgIGNvdW50cywgY2FsbGVkZnVuY3MsIGNhbGxlcnMgPSBcCiAgICAgICAgICAgICAgICAgICAgICAgICBwaWNrbGUubG9hZChvcGVuKHNlbGYuaW5maWxlLCAncmInKSkKICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZShzZWxmLl9fY2xhc3NfXyhjb3VudHMsIGNhbGxlZGZ1bmNzLCBjYWxsZXJzKSkKLSAgICAgICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgRU9GRXJyb3IsIFZhbHVlRXJyb3IpIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCAoT1NFcnJvciwgRU9GRXJyb3IsIFZhbHVlRXJyb3IpIGFzIGVycjoKICAgICAgICAgICAgICAgICBwcmludCgoIlNraXBwaW5nIGNvdW50cyBmaWxlICVyOiAlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc2VsZi5pbmZpbGUsIGVycikpLCBmaWxlPXN5cy5zdGRlcnIpCiAKQEAgLTM0OCw3ICszNDgsNyBAQAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHBpY2tsZS5kdW1wKChzZWxmLmNvdW50cywgc2VsZi5jYWxsZWRmdW5jcywgc2VsZi5jYWxsZXJzKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuKHNlbGYub3V0ZmlsZSwgJ3diJyksIDEpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CiAgICAgICAgICAgICAgICAgcHJpbnQoIkNhbid0IHNhdmUgY291bnRzIGZpbGVzIGJlY2F1c2UgJXMiICUgZXJyLCBmaWxlPXN5cy5zdGRlcnIpCiAKICAgICBkZWYgd3JpdGVfcmVzdWx0c19maWxlKHNlbGYsIHBhdGgsIGxpbmVzLCBsbm90YWIsIGxpbmVzX2hpdCwgZW5jb2Rpbmc9Tm9uZSk6CkBAIC0zNTYsNyArMzU2LDcgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvdXRmaWxlID0gb3BlbihwYXRoLCAidyIsIGVuY29kaW5nPWVuY29kaW5nKQotICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKICAgICAgICAgICAgIHByaW50KCgidHJhY2U6IENvdWxkIG5vdCBvcGVuICVyIGZvciB3cml0aW5nOiAlcyIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLSBza2lwcGluZyIgJSAocGF0aCwgZXJyKSksIGZpbGU9c3lzLnN0ZGVycikKICAgICAgICAgICAgIHJldHVybiAwLCAwCkBAIC00MzcsNyArNDM3LDcgQEAKICAgICAgICAgd2l0aCB0b2tlbml6ZS5vcGVuKGZpbGVuYW1lKSBhcyBmOgogICAgICAgICAgICAgcHJvZyA9IGYucmVhZCgpCiAgICAgICAgICAgICBlbmNvZGluZyA9IGYuZW5jb2RpbmcKLSAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICBwcmludCgoIk5vdCBwcmludGluZyBjb3ZlcmFnZSBkYXRhIGZvciAlcjogJXMiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChmaWxlbmFtZSwgZXJyKSksIGZpbGU9c3lzLnN0ZGVycikKICAgICAgICAgcmV0dXJuIHt9CkBAIC04MDIsNyArODAyLDcgQEAKICAgICAgICAgICAgICAgICAnX19jYWNoZWRfXyc6IE5vbmUsCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICB0LnJ1bmN0eChjb2RlLCBnbG9icywgZ2xvYnMpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGVycjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgX2Vycl9leGl0KCJDYW5ub3QgcnVuIGZpbGUgJXIgYmVjYXVzZTogJXMiICUgKHN5cy5hcmd2WzBdLCBlcnIpKQogICAgICAgICBleGNlcHQgU3lzdGVtRXhpdDoKICAgICAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90cmFjZWJhY2sucHkgYi9MaWIvdHJhY2ViYWNrLnB5CmluZGV4IGVlYjllNzMuLjNhYTE1NzggMTAwNjQ0Ci0tLSBhL0xpYi90cmFjZWJhY2sucHkKKysrIGIvTGliL3RyYWNlYmFjay5weQpAQCAtMiwyNiArMiwzMSBAQAogCiBpbXBvcnQgbGluZWNhY2hlCiBpbXBvcnQgc3lzCitpbXBvcnQgb3BlcmF0b3IKIAogX19hbGxfXyA9IFsnZXh0cmFjdF9zdGFjaycsICdleHRyYWN0X3RiJywgJ2Zvcm1hdF9leGNlcHRpb24nLAogICAgICAgICAgICAnZm9ybWF0X2V4Y2VwdGlvbl9vbmx5JywgJ2Zvcm1hdF9saXN0JywgJ2Zvcm1hdF9zdGFjaycsCiAgICAgICAgICAgICdmb3JtYXRfdGInLCAncHJpbnRfZXhjJywgJ2Zvcm1hdF9leGMnLCAncHJpbnRfZXhjZXB0aW9uJywKICAgICAgICAgICAgJ3ByaW50X2xhc3QnLCAncHJpbnRfc3RhY2snLCAncHJpbnRfdGInXQogCi1kZWYgX3ByaW50KGZpbGUsIHN0cj0nJywgdGVybWluYXRvcj0nXG4nKToKLSAgICBmaWxlLndyaXRlKHN0cit0ZXJtaW5hdG9yKQorIworIyBGb3JtYXR0aW5nIGFuZCBwcmludGluZyBsaXN0cyBvZiB0cmFjZWJhY2sgbGluZXMuCisjCiAKK2RlZiBfZm9ybWF0X2xpc3RfaXRlcihleHRyYWN0ZWRfbGlzdCk6CisgICAgZm9yIGZpbGVuYW1lLCBsaW5lbm8sIG5hbWUsIGxpbmUgaW4gZXh0cmFjdGVkX2xpc3Q6CisgICAgICAgIGl0ZW0gPSAnICBGaWxlICJ7fSIsIGxpbmUge30sIGluIHt9XG4nLmZvcm1hdChmaWxlbmFtZSwgbGluZW5vLCBuYW1lKQorICAgICAgICBpZiBsaW5lOgorICAgICAgICAgICAgaXRlbSA9IGl0ZW0gKyAnICAgIHt9XG4nLmZvcm1hdChsaW5lLnN0cmlwKCkpCisgICAgICAgIHlpZWxkIGl0ZW0KIAogZGVmIHByaW50X2xpc3QoZXh0cmFjdGVkX2xpc3QsIGZpbGU9Tm9uZSk6CiAgICAgIiIiUHJpbnQgdGhlIGxpc3Qgb2YgdHVwbGVzIGFzIHJldHVybmVkIGJ5IGV4dHJhY3RfdGIoKSBvcgogICAgIGV4dHJhY3Rfc3RhY2soKSBhcyBhIGZvcm1hdHRlZCBzdGFjayB0cmFjZSB0byB0aGUgZ2l2ZW4gZmlsZS4iIiIKICAgICBpZiBmaWxlIGlzIE5vbmU6CiAgICAgICAgIGZpbGUgPSBzeXMuc3RkZXJyCi0gICAgZm9yIGZpbGVuYW1lLCBsaW5lbm8sIG5hbWUsIGxpbmUgaW4gZXh0cmFjdGVkX2xpc3Q6Ci0gICAgICAgIF9wcmludChmaWxlLAotICAgICAgICAgICAgICAgJyAgRmlsZSAiJXMiLCBsaW5lICVkLCBpbiAlcycgJSAoZmlsZW5hbWUsbGluZW5vLG5hbWUpKQotICAgICAgICBpZiBsaW5lOgotICAgICAgICAgICAgX3ByaW50KGZpbGUsICcgICAgJXMnICUgbGluZS5zdHJpcCgpKQorICAgIGZvciBpdGVtIGluIF9mb3JtYXRfbGlzdF9pdGVyKGV4dHJhY3RlZF9saXN0KToKKyAgICAgICAgcHJpbnQoaXRlbSwgZmlsZT1maWxlLCBlbmQ9IiIpCiAKIGRlZiBmb3JtYXRfbGlzdChleHRyYWN0ZWRfbGlzdCk6CiAgICAgIiIiRm9ybWF0IGEgbGlzdCBvZiB0cmFjZWJhY2sgZW50cnkgdHVwbGVzIGZvciBwcmludGluZy4KQEAgLTMzLDE0ICszOCw0NCBAQAogICAgIHRoZSBzdHJpbmdzIG1heSBjb250YWluIGludGVybmFsIG5ld2xpbmVzIGFzIHdlbGwsIGZvciB0aG9zZSBpdGVtcwogICAgIHdob3NlIHNvdXJjZSB0ZXh0IGxpbmUgaXMgbm90IE5vbmUuCiAgICAgIiIiCi0gICAgbGlzdCA9IFtdCi0gICAgZm9yIGZpbGVuYW1lLCBsaW5lbm8sIG5hbWUsIGxpbmUgaW4gZXh0cmFjdGVkX2xpc3Q6Ci0gICAgICAgIGl0ZW0gPSAnICBGaWxlICIlcyIsIGxpbmUgJWQsIGluICVzXG4nICUgKGZpbGVuYW1lLGxpbmVubyxuYW1lKQotICAgICAgICBpZiBsaW5lOgotICAgICAgICAgICAgaXRlbSA9IGl0ZW0gKyAnICAgICVzXG4nICUgbGluZS5zdHJpcCgpCi0gICAgICAgIGxpc3QuYXBwZW5kKGl0ZW0pCi0gICAgcmV0dXJuIGxpc3QKKyAgICByZXR1cm4gbGlzdChfZm9ybWF0X2xpc3RfaXRlcihleHRyYWN0ZWRfbGlzdCkpCiAKKyMKKyMgUHJpbnRpbmcgYW5kIEV4dHJhY3RpbmcgVHJhY2ViYWNrcy4KKyMKKworIyBleHRyYWN0b3IgdGFrZXMgY3VyciBhbmQgbmVlZHMgdG8gcmV0dXJuIGEgdHVwbGUgb2Y6CisjIC0gRnJhbWUgb2JqZWN0CisjIC0gTGluZSBudW1iZXIKKyMgLSBOZXh0IGl0ZW0gKHNhbWUgdHlwZSBhcyBjdXJyKQorIyBJbiBwcmFjdGljZSwgY3VyciBpcyBlaXRoZXIgYSB0cmFjZWJhY2sgb3IgYSBmcmFtZS4KK2RlZiBfZXh0cmFjdF90Yl9vcl9zdGFja19pdGVyKGN1cnIsIGxpbWl0LCBleHRyYWN0b3IpOgorICAgIGlmIGxpbWl0IGlzIE5vbmU6CisgICAgICAgIGxpbWl0ID0gZ2V0YXR0cihzeXMsICd0cmFjZWJhY2tsaW1pdCcsIE5vbmUpCisKKyAgICBuID0gMAorICAgIHdoaWxlIGN1cnIgaXMgbm90IE5vbmUgYW5kIChsaW1pdCBpcyBOb25lIG9yIG4gPCBsaW1pdCk6CisgICAgICAgIGYsIGxpbmVubywgbmV4dF9pdGVtID0gZXh0cmFjdG9yKGN1cnIpCisgICAgICAgIGNvID0gZi5mX2NvZGUKKyAgICAgICAgZmlsZW5hbWUgPSBjby5jb19maWxlbmFtZQorICAgICAgICBuYW1lID0gY28uY29fbmFtZQorCisgICAgICAgIGxpbmVjYWNoZS5jaGVja2NhY2hlKGZpbGVuYW1lKQorICAgICAgICBsaW5lID0gbGluZWNhY2hlLmdldGxpbmUoZmlsZW5hbWUsIGxpbmVubywgZi5mX2dsb2JhbHMpCisKKyAgICAgICAgaWYgbGluZToKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxpbmUgPSBOb25lCisKKyAgICAgICAgeWllbGQgKGZpbGVuYW1lLCBsaW5lbm8sIG5hbWUsIGxpbmUpCisgICAgICAgIGN1cnIgPSBuZXh0X2l0ZW0KKyAgICAgICAgbiArPSAxCisKK2RlZiBfZXh0cmFjdF90Yl9pdGVyKHRiLCBsaW1pdCk6CisgICAgcmV0dXJuIF9leHRyYWN0X3RiX29yX3N0YWNrX2l0ZXIoCisgICAgICAgICAgICAgICAgdGIsIGxpbWl0LAorICAgICAgICAgICAgICAgIG9wZXJhdG9yLmF0dHJnZXR0ZXIoInRiX2ZyYW1lIiwgInRiX2xpbmVubyIsICJ0Yl9uZXh0IikpCiAKIGRlZiBwcmludF90Yih0YiwgbGltaXQ9Tm9uZSwgZmlsZT1Ob25lKToKICAgICAiIiJQcmludCB1cCB0byAnbGltaXQnIHN0YWNrIHRyYWNlIGVudHJpZXMgZnJvbSB0aGUgdHJhY2ViYWNrICd0YicuCkBAIC01MCwyOSArODUsMTEgQEAKICAgICAnZmlsZScgc2hvdWxkIGJlIGFuIG9wZW4gZmlsZSBvciBmaWxlLWxpa2Ugb2JqZWN0IHdpdGggYSB3cml0ZSgpCiAgICAgbWV0aG9kLgogICAgICIiIgotICAgIGlmIGZpbGUgaXMgTm9uZToKLSAgICAgICAgZmlsZSA9IHN5cy5zdGRlcnIKLSAgICBpZiBsaW1pdCBpcyBOb25lOgotICAgICAgICBpZiBoYXNhdHRyKHN5cywgJ3RyYWNlYmFja2xpbWl0Jyk6Ci0gICAgICAgICAgICBsaW1pdCA9IHN5cy50cmFjZWJhY2tsaW1pdAotICAgIG4gPSAwCi0gICAgd2hpbGUgdGIgaXMgbm90IE5vbmUgYW5kIChsaW1pdCBpcyBOb25lIG9yIG4gPCBsaW1pdCk6Ci0gICAgICAgIGYgPSB0Yi50Yl9mcmFtZQotICAgICAgICBsaW5lbm8gPSB0Yi50Yl9saW5lbm8KLSAgICAgICAgY28gPSBmLmZfY29kZQotICAgICAgICBmaWxlbmFtZSA9IGNvLmNvX2ZpbGVuYW1lCi0gICAgICAgIG5hbWUgPSBjby5jb19uYW1lCi0gICAgICAgIF9wcmludChmaWxlLAotICAgICAgICAgICAgICAgJyAgRmlsZSAiJXMiLCBsaW5lICVkLCBpbiAlcycgJSAoZmlsZW5hbWUsIGxpbmVubywgbmFtZSkpCi0gICAgICAgIGxpbmVjYWNoZS5jaGVja2NhY2hlKGZpbGVuYW1lKQotICAgICAgICBsaW5lID0gbGluZWNhY2hlLmdldGxpbmUoZmlsZW5hbWUsIGxpbmVubywgZi5mX2dsb2JhbHMpCi0gICAgICAgIGlmIGxpbmU6IF9wcmludChmaWxlLCAnICAgICcgKyBsaW5lLnN0cmlwKCkpCi0gICAgICAgIHRiID0gdGIudGJfbmV4dAotICAgICAgICBuID0gbisxCisgICAgcHJpbnRfbGlzdChleHRyYWN0X3RiKHRiLCBsaW1pdD1saW1pdCksIGZpbGU9ZmlsZSkKIAogZGVmIGZvcm1hdF90Yih0YiwgbGltaXQ9Tm9uZSk6Ci0gICAgIiIiQSBzaG9ydGhhbmQgZm9yICdmb3JtYXRfbGlzdChleHRyYWN0X3N0YWNrKGYsIGxpbWl0KSkuIiIiCi0gICAgcmV0dXJuIGZvcm1hdF9saXN0KGV4dHJhY3RfdGIodGIsIGxpbWl0KSkKKyAgICAiIiJBIHNob3J0aGFuZCBmb3IgJ2Zvcm1hdF9saXN0KGV4dHJhY3RfdGIodGIsIGxpbWl0KSkuIiIiCisgICAgcmV0dXJuIGZvcm1hdF9saXN0KGV4dHJhY3RfdGIodGIsIGxpbWl0PWxpbWl0KSkKIAogZGVmIGV4dHJhY3RfdGIodGIsIGxpbWl0PU5vbmUpOgogICAgICIiIlJldHVybiBsaXN0IG9mIHVwIHRvIGxpbWl0IHByZS1wcm9jZXNzZWQgZW50cmllcyBmcm9tIHRyYWNlYmFjay4KQEAgLTg1LDI2ICsxMDIsMTEgQEAKICAgICBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIHN0cmlwcGVkOyBpZiB0aGUgc291cmNlIGlzIG5vdAogICAgIGF2YWlsYWJsZSBpdCBpcyBOb25lLgogICAgICIiIgotICAgIGlmIGxpbWl0IGlzIE5vbmU6Ci0gICAgICAgIGlmIGhhc2F0dHIoc3lzLCAndHJhY2ViYWNrbGltaXQnKToKLSAgICAgICAgICAgIGxpbWl0ID0gc3lzLnRyYWNlYmFja2xpbWl0Ci0gICAgbGlzdCA9IFtdCi0gICAgbiA9IDAKLSAgICB3aGlsZSB0YiBpcyBub3QgTm9uZSBhbmQgKGxpbWl0IGlzIE5vbmUgb3IgbiA8IGxpbWl0KToKLSAgICAgICAgZiA9IHRiLnRiX2ZyYW1lCi0gICAgICAgIGxpbmVubyA9IHRiLnRiX2xpbmVubwotICAgICAgICBjbyA9IGYuZl9jb2RlCi0gICAgICAgIGZpbGVuYW1lID0gY28uY29fZmlsZW5hbWUKLSAgICAgICAgbmFtZSA9IGNvLmNvX25hbWUKLSAgICAgICAgbGluZWNhY2hlLmNoZWNrY2FjaGUoZmlsZW5hbWUpCi0gICAgICAgIGxpbmUgPSBsaW5lY2FjaGUuZ2V0bGluZShmaWxlbmFtZSwgbGluZW5vLCBmLmZfZ2xvYmFscykKLSAgICAgICAgaWYgbGluZTogbGluZSA9IGxpbmUuc3RyaXAoKQotICAgICAgICBlbHNlOiBsaW5lID0gTm9uZQotICAgICAgICBsaXN0LmFwcGVuZCgoZmlsZW5hbWUsIGxpbmVubywgbmFtZSwgbGluZSkpCi0gICAgICAgIHRiID0gdGIudGJfbmV4dAotICAgICAgICBuID0gbisxCi0gICAgcmV0dXJuIGxpc3QKKyAgICByZXR1cm4gbGlzdChfZXh0cmFjdF90Yl9pdGVyKHRiLCBsaW1pdD1saW1pdCkpCiAKKyMKKyMgRXhjZXB0aW9uIGZvcm1hdHRpbmcgYW5kIG91dHB1dC4KKyMKIAogX2NhdXNlX21lc3NhZ2UgPSAoCiAgICAgIlxuVGhlIGFib3ZlIGV4Y2VwdGlvbiB3YXMgdGhlIGRpcmVjdCBjYXVzZSAiCkBAIC0xMzIsOSArMTM0LDIzIEBACiAgICAgaXRzLmFwcGVuZChbKGV4YywgY3VzdG9tX3RiIG9yIGV4Yy5fX3RyYWNlYmFja19fKV0pCiAgICAgIyBpdGVydG9vbHMuY2hhaW4gaXMgaW4gYW4gZXh0ZW5zaW9uIG1vZHVsZSBhbmQgbWF5IGJlIHVuYXZhaWxhYmxlCiAgICAgZm9yIGl0IGluIGl0czoKLSAgICAgICAgZm9yIHggaW4gaXQ6Ci0gICAgICAgICAgICB5aWVsZCB4CisgICAgICAgIHlpZWxkIGZyb20gaXQKIAorZGVmIF9mb3JtYXRfZXhjZXB0aW9uX2l0ZXIoZXR5cGUsIHZhbHVlLCB0YiwgbGltaXQsIGNoYWluKToKKyAgICBpZiBjaGFpbjoKKyAgICAgICAgdmFsdWVzID0gX2l0ZXJfY2hhaW4odmFsdWUsIHRiKQorICAgIGVsc2U6CisgICAgICAgIHZhbHVlcyA9IFsodmFsdWUsIHRiKV0KKworICAgIGZvciB2YWx1ZSwgdGIgaW4gdmFsdWVzOgorICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgorICAgICAgICAgICAgIyBUaGlzIGlzIGEgY2F1c2UvY29udGV4dCBtZXNzYWdlIGxpbmUKKyAgICAgICAgICAgIHlpZWxkIHZhbHVlICsgJ1xuJworICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgdGI6CisgICAgICAgICAgICB5aWVsZCAnVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuJworICAgICAgICAgICAgeWllbGQgZnJvbSBfZm9ybWF0X2xpc3RfaXRlcihfZXh0cmFjdF90Yl9pdGVyKHRiLCBsaW1pdD1saW1pdCkpCisgICAgICAgIHlpZWxkIGZyb20gX2Zvcm1hdF9leGNlcHRpb25fb25seV9pdGVyKHR5cGUodmFsdWUpLCB2YWx1ZSkKIAogZGVmIHByaW50X2V4Y2VwdGlvbihldHlwZSwgdmFsdWUsIHRiLCBsaW1pdD1Ob25lLCBmaWxlPU5vbmUsIGNoYWluPVRydWUpOgogICAgICIiIlByaW50IGV4Y2VwdGlvbiB1cCB0byAnbGltaXQnIHN0YWNrIHRyYWNlIGVudHJpZXMgZnJvbSAndGInIHRvICdmaWxlJy4KQEAgLTE0OSwyMCArMTY1LDggQEAKICAgICAiIiIKICAgICBpZiBmaWxlIGlzIE5vbmU6CiAgICAgICAgIGZpbGUgPSBzeXMuc3RkZXJyCi0gICAgaWYgY2hhaW46Ci0gICAgICAgIHZhbHVlcyA9IF9pdGVyX2NoYWluKHZhbHVlLCB0YikKLSAgICBlbHNlOgotICAgICAgICB2YWx1ZXMgPSBbKHZhbHVlLCB0YildCi0gICAgZm9yIHZhbHVlLCB0YiBpbiB2YWx1ZXM6Ci0gICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIHN0cik6Ci0gICAgICAgICAgICBfcHJpbnQoZmlsZSwgdmFsdWUpCi0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiB0YjoKLSAgICAgICAgICAgIF9wcmludChmaWxlLCAnVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOicpCi0gICAgICAgICAgICBwcmludF90Yih0YiwgbGltaXQsIGZpbGUpCi0gICAgICAgIGxpbmVzID0gZm9ybWF0X2V4Y2VwdGlvbl9vbmx5KHR5cGUodmFsdWUpLCB2YWx1ZSkKLSAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICBfcHJpbnQoZmlsZSwgbGluZSwgJycpCisgICAgZm9yIGxpbmUgaW4gX2Zvcm1hdF9leGNlcHRpb25faXRlcihldHlwZSwgdmFsdWUsIHRiLCBsaW1pdCwgY2hhaW4pOgorICAgICAgICBwcmludChsaW5lLCBmaWxlPWZpbGUsIGVuZD0iIikKIAogZGVmIGZvcm1hdF9leGNlcHRpb24oZXR5cGUsIHZhbHVlLCB0YiwgbGltaXQ9Tm9uZSwgY2hhaW49VHJ1ZSk6CiAgICAgIiIiRm9ybWF0IGEgc3RhY2sgdHJhY2UgYW5kIHRoZSBleGNlcHRpb24gaW5mb3JtYXRpb24uCkBAIC0xNzMsMjAgKzE3Nyw3IEBACiAgICAgdGhlc2UgbGluZXMgYXJlIGNvbmNhdGVuYXRlZCBhbmQgcHJpbnRlZCwgZXhhY3RseSB0aGUgc2FtZSB0ZXh0IGlzCiAgICAgcHJpbnRlZCBhcyBkb2VzIHByaW50X2V4Y2VwdGlvbigpLgogICAgICIiIgotICAgIGxpc3QgPSBbXQotICAgIGlmIGNoYWluOgotICAgICAgICB2YWx1ZXMgPSBfaXRlcl9jaGFpbih2YWx1ZSwgdGIpCi0gICAgZWxzZToKLSAgICAgICAgdmFsdWVzID0gWyh2YWx1ZSwgdGIpXQotICAgIGZvciB2YWx1ZSwgdGIgaW4gdmFsdWVzOgotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgotICAgICAgICAgICAgbGlzdC5hcHBlbmQodmFsdWUgKyAnXG4nKQotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgaWYgdGI6Ci0gICAgICAgICAgICBsaXN0LmFwcGVuZCgnVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuJykKLSAgICAgICAgICAgIGxpc3QuZXh0ZW5kKGZvcm1hdF90Yih0YiwgbGltaXQpKQotICAgICAgICBsaXN0LmV4dGVuZChmb3JtYXRfZXhjZXB0aW9uX29ubHkodHlwZSh2YWx1ZSksIHZhbHVlKSkKLSAgICByZXR1cm4gbGlzdAorICAgIHJldHVybiBsaXN0KF9mb3JtYXRfZXhjZXB0aW9uX2l0ZXIoZXR5cGUsIHZhbHVlLCB0YiwgbGltaXQsIGNoYWluKSkKIAogZGVmIGZvcm1hdF9leGNlcHRpb25fb25seShldHlwZSwgdmFsdWUpOgogICAgICIiIkZvcm1hdCB0aGUgZXhjZXB0aW9uIHBhcnQgb2YgYSB0cmFjZWJhY2suCkBAIC0yMDQsMTAgKzE5NSwxNCBAQAogICAgIHN0cmluZyBpbiB0aGUgbGlzdC4KIAogICAgICIiIgorICAgIHJldHVybiBsaXN0KF9mb3JtYXRfZXhjZXB0aW9uX29ubHlfaXRlcihldHlwZSwgdmFsdWUpKQorCitkZWYgX2Zvcm1hdF9leGNlcHRpb25fb25seV9pdGVyKGV0eXBlLCB2YWx1ZSk6CiAgICAgIyBHcmFjZWZ1bGx5IGhhbmRsZSAodGhlIHdheSBQeXRob24gMi40IGFuZCBlYXJsaWVyIGRpZCkgdGhlIGNhc2Ugb2YKICAgICAjIGJlaW5nIGNhbGxlZCB3aXRoIChOb25lLCBOb25lKS4KICAgICBpZiBldHlwZSBpcyBOb25lOgotICAgICAgICByZXR1cm4gW19mb3JtYXRfZmluYWxfZXhjX2xpbmUoZXR5cGUsIHZhbHVlKV0KKyAgICAgICAgeWllbGQgX2Zvcm1hdF9maW5hbF9leGNfbGluZShldHlwZSwgdmFsdWUpCisgICAgICAgIHJldHVybgogCiAgICAgc3R5cGUgPSBldHlwZS5fX25hbWVfXwogICAgIHNtb2QgPSBldHlwZS5fX21vZHVsZV9fCkBAIC0yMTUsMjYgKzIxMCwyNiBAQAogICAgICAgICBzdHlwZSA9IHNtb2QgKyAnLicgKyBzdHlwZQogCiAgICAgaWYgbm90IGlzc3ViY2xhc3MoZXR5cGUsIFN5bnRheEVycm9yKToKLSAgICAgICAgcmV0dXJuIFtfZm9ybWF0X2ZpbmFsX2V4Y19saW5lKHN0eXBlLCB2YWx1ZSldCisgICAgICAgIHlpZWxkIF9mb3JtYXRfZmluYWxfZXhjX2xpbmUoc3R5cGUsIHZhbHVlKQorICAgICAgICByZXR1cm4KIAogICAgICMgSXQgd2FzIGEgc3ludGF4IGVycm9yOyBzaG93IGV4YWN0bHkgd2hlcmUgdGhlIHByb2JsZW0gd2FzIGZvdW5kLgotICAgIGxpbmVzID0gW10KICAgICBmaWxlbmFtZSA9IHZhbHVlLmZpbGVuYW1lIG9yICI8c3RyaW5nPiIKICAgICBsaW5lbm8gPSBzdHIodmFsdWUubGluZW5vKSBvciAnPycKLSAgICBsaW5lcy5hcHBlbmQoJyAgRmlsZSAiJXMiLCBsaW5lICVzXG4nICUgKGZpbGVuYW1lLCBsaW5lbm8pKQorICAgIHlpZWxkICcgIEZpbGUgInt9IiwgbGluZSB7fVxuJy5mb3JtYXQoZmlsZW5hbWUsIGxpbmVubykKKwogICAgIGJhZGxpbmUgPSB2YWx1ZS50ZXh0CiAgICAgb2Zmc2V0ID0gdmFsdWUub2Zmc2V0CiAgICAgaWYgYmFkbGluZSBpcyBub3QgTm9uZToKLSAgICAgICAgbGluZXMuYXBwZW5kKCcgICAgJXNcbicgJSBiYWRsaW5lLnN0cmlwKCkpCisgICAgICAgIHlpZWxkICcgICAge31cbicuZm9ybWF0KGJhZGxpbmUuc3RyaXAoKSkKICAgICAgICAgaWYgb2Zmc2V0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgY2FyZXRzcGFjZSA9IGJhZGxpbmUucnN0cmlwKCdcbicpWzpvZmZzZXRdLmxzdHJpcCgpCiAgICAgICAgICAgICAjIG5vbi1zcGFjZSB3aGl0ZXNwYWNlIChsaWtlcyB0YWJzKSBtdXN0IGJlIGtlcHQgZm9yIGFsaWdubWVudAogICAgICAgICAgICAgY2FyZXRzcGFjZSA9ICgoYy5pc3NwYWNlKCkgYW5kIGMgb3IgJyAnKSBmb3IgYyBpbiBjYXJldHNwYWNlKQogICAgICAgICAgICAgIyBvbmx5IHRocmVlIHNwYWNlcyB0byBhY2NvdW50IGZvciBvZmZzZXQxID09IHBvcyAwCi0gICAgICAgICAgICBsaW5lcy5hcHBlbmQoJyAgICVzXlxuJyAlICcnLmpvaW4oY2FyZXRzcGFjZSkpCisgICAgICAgICAgICB5aWVsZCAnICAge31eXG4nLmZvcm1hdCgnJy5qb2luKGNhcmV0c3BhY2UpKQogICAgIG1zZyA9IHZhbHVlLm1zZyBvciAiPG5vIGRldGFpbCBhdmFpbGFibGU+IgotICAgIGxpbmVzLmFwcGVuZCgiJXM6ICVzXG4iICUgKHN0eXBlLCBtc2cpKQotICAgIHJldHVybiBsaW5lcworICAgIHlpZWxkICJ7fToge31cbiIuZm9ybWF0KHN0eXBlLCBtc2cpCiAKIGRlZiBfZm9ybWF0X2ZpbmFsX2V4Y19saW5lKGV0eXBlLCB2YWx1ZSk6CiAgICAgdmFsdWVzdHIgPSBfc29tZV9zdHIodmFsdWUpCkBAIC0yNTAsMzggKzI0NSwzNCBAQAogICAgIGV4Y2VwdDoKICAgICAgICAgcmV0dXJuICc8dW5wcmludGFibGUgJXMgb2JqZWN0PicgJSB0eXBlKHZhbHVlKS5fX25hbWVfXwogCi0KIGRlZiBwcmludF9leGMobGltaXQ9Tm9uZSwgZmlsZT1Ob25lLCBjaGFpbj1UcnVlKToKICAgICAiIiJTaG9ydGhhbmQgZm9yICdwcmludF9leGNlcHRpb24oKnN5cy5leGNfaW5mbygpLCBsaW1pdCwgZmlsZSknLiIiIgotICAgIGlmIGZpbGUgaXMgTm9uZToKLSAgICAgICAgZmlsZSA9IHN5cy5zdGRlcnIKLSAgICB0cnk6Ci0gICAgICAgIGV0eXBlLCB2YWx1ZSwgdGIgPSBzeXMuZXhjX2luZm8oKQotICAgICAgICBwcmludF9leGNlcHRpb24oZXR5cGUsIHZhbHVlLCB0YiwgbGltaXQsIGZpbGUsIGNoYWluKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIGV0eXBlID0gdmFsdWUgPSB0YiA9IE5vbmUKLQorICAgIHByaW50X2V4Y2VwdGlvbigqc3lzLmV4Y19pbmZvKCksIGxpbWl0PWxpbWl0LCBmaWxlPWZpbGUsIGNoYWluPWNoYWluKQogCiBkZWYgZm9ybWF0X2V4YyhsaW1pdD1Ob25lLCBjaGFpbj1UcnVlKToKICAgICAiIiJMaWtlIHByaW50X2V4YygpIGJ1dCByZXR1cm4gYSBzdHJpbmcuIiIiCi0gICAgdHJ5OgotICAgICAgICBldHlwZSwgdmFsdWUsIHRiID0gc3lzLmV4Y19pbmZvKCkKLSAgICAgICAgcmV0dXJuICcnLmpvaW4oCi0gICAgICAgICAgICBmb3JtYXRfZXhjZXB0aW9uKGV0eXBlLCB2YWx1ZSwgdGIsIGxpbWl0LCBjaGFpbikpCi0gICAgZmluYWxseToKLSAgICAgICAgZXR5cGUgPSB2YWx1ZSA9IHRiID0gTm9uZQotCisgICAgcmV0dXJuICIiLmpvaW4oZm9ybWF0X2V4Y2VwdGlvbigqc3lzLmV4Y19pbmZvKCksIGxpbWl0PWxpbWl0LCBjaGFpbj1jaGFpbikpCiAKIGRlZiBwcmludF9sYXN0KGxpbWl0PU5vbmUsIGZpbGU9Tm9uZSwgY2hhaW49VHJ1ZSk6CiAgICAgIiIiVGhpcyBpcyBhIHNob3J0aGFuZCBmb3IgJ3ByaW50X2V4Y2VwdGlvbihzeXMubGFzdF90eXBlLAogICAgIHN5cy5sYXN0X3ZhbHVlLCBzeXMubGFzdF90cmFjZWJhY2ssIGxpbWl0LCBmaWxlKScuIiIiCiAgICAgaWYgbm90IGhhc2F0dHIoc3lzLCAibGFzdF90eXBlIik6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm5vIGxhc3QgZXhjZXB0aW9uIikKLSAgICBpZiBmaWxlIGlzIE5vbmU6Ci0gICAgICAgIGZpbGUgPSBzeXMuc3RkZXJyCiAgICAgcHJpbnRfZXhjZXB0aW9uKHN5cy5sYXN0X3R5cGUsIHN5cy5sYXN0X3ZhbHVlLCBzeXMubGFzdF90cmFjZWJhY2ssCiAgICAgICAgICAgICAgICAgICAgIGxpbWl0LCBmaWxlLCBjaGFpbikKIAorIworIyBQcmludGluZyBhbmQgRXh0cmFjdGluZyBTdGFja3MuCisjCisKK2RlZiBfZXh0cmFjdF9zdGFja19pdGVyKGYsIGxpbWl0PU5vbmUpOgorICAgIHJldHVybiBfZXh0cmFjdF90Yl9vcl9zdGFja19pdGVyKAorICAgICAgICAgICAgICAgIGYsIGxpbWl0LCBsYW1iZGEgZjogKGYsIGYuZl9saW5lbm8sIGYuZl9iYWNrKSkKKworZGVmIF9nZXRfc3RhY2soZik6CisgICAgaWYgZiBpcyBOb25lOgorICAgICAgICBmID0gc3lzLl9nZXRmcmFtZSgpLmZfYmFjay5mX2JhY2sKKyAgICByZXR1cm4gZgogCiBkZWYgcHJpbnRfc3RhY2soZj1Ob25lLCBsaW1pdD1Ob25lLCBmaWxlPU5vbmUpOgogICAgICIiIlByaW50IGEgc3RhY2sgdHJhY2UgZnJvbSBpdHMgaW52b2NhdGlvbiBwb2ludC4KQEAgLTI5MCwyMSArMjgxLDExIEBACiAgICAgc3RhY2sgZnJhbWUgYXQgd2hpY2ggdG8gc3RhcnQuIFRoZSBvcHRpb25hbCAnbGltaXQnIGFuZCAnZmlsZScKICAgICBhcmd1bWVudHMgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvciBwcmludF9leGNlcHRpb24oKS4KICAgICAiIiIKLSAgICBpZiBmIGlzIE5vbmU6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJhaXNlIFplcm9EaXZpc2lvbkVycm9yCi0gICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvcjoKLSAgICAgICAgICAgIGYgPSBzeXMuZXhjX2luZm8oKVsyXS50Yl9mcmFtZS5mX2JhY2sKLSAgICBwcmludF9saXN0KGV4dHJhY3Rfc3RhY2soZiwgbGltaXQpLCBmaWxlKQorICAgIHByaW50X2xpc3QoZXh0cmFjdF9zdGFjayhfZ2V0X3N0YWNrKGYpLCBsaW1pdD1saW1pdCksIGZpbGU9ZmlsZSkKIAogZGVmIGZvcm1hdF9zdGFjayhmPU5vbmUsIGxpbWl0PU5vbmUpOgogICAgICIiIlNob3J0aGFuZCBmb3IgJ2Zvcm1hdF9saXN0KGV4dHJhY3Rfc3RhY2soZiwgbGltaXQpKScuIiIiCi0gICAgaWYgZiBpcyBOb25lOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByYWlzZSBaZXJvRGl2aXNpb25FcnJvcgotICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3I6Ci0gICAgICAgICAgICBmID0gc3lzLmV4Y19pbmZvKClbMl0udGJfZnJhbWUuZl9iYWNrCi0gICAgcmV0dXJuIGZvcm1hdF9saXN0KGV4dHJhY3Rfc3RhY2soZiwgbGltaXQpKQorICAgIHJldHVybiBmb3JtYXRfbGlzdChleHRyYWN0X3N0YWNrKF9nZXRfc3RhY2soZiksIGxpbWl0PWxpbWl0KSkKIAogZGVmIGV4dHJhY3Rfc3RhY2soZj1Ob25lLCBsaW1pdD1Ob25lKToKICAgICAiIiJFeHRyYWN0IHRoZSByYXcgdHJhY2ViYWNrIGZyb20gdGhlIGN1cnJlbnQgc3RhY2sgZnJhbWUuCkBAIC0zMTUsMjcgKzI5Niw2IEBACiAgICAgbGluZSBudW1iZXIsIGZ1bmN0aW9uIG5hbWUsIHRleHQpLCBhbmQgdGhlIGVudHJpZXMgYXJlIGluIG9yZGVyCiAgICAgZnJvbSBvbGRlc3QgdG8gbmV3ZXN0IHN0YWNrIGZyYW1lLgogICAgICIiIgotICAgIGlmIGYgaXMgTm9uZToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmFpc2UgWmVyb0RpdmlzaW9uRXJyb3IKLSAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgotICAgICAgICAgICAgZiA9IHN5cy5leGNfaW5mbygpWzJdLnRiX2ZyYW1lLmZfYmFjawotICAgIGlmIGxpbWl0IGlzIE5vbmU6Ci0gICAgICAgIGlmIGhhc2F0dHIoc3lzLCAndHJhY2ViYWNrbGltaXQnKToKLSAgICAgICAgICAgIGxpbWl0ID0gc3lzLnRyYWNlYmFja2xpbWl0Ci0gICAgbGlzdCA9IFtdCi0gICAgbiA9IDAKLSAgICB3aGlsZSBmIGlzIG5vdCBOb25lIGFuZCAobGltaXQgaXMgTm9uZSBvciBuIDwgbGltaXQpOgotICAgICAgICBsaW5lbm8gPSBmLmZfbGluZW5vCi0gICAgICAgIGNvID0gZi5mX2NvZGUKLSAgICAgICAgZmlsZW5hbWUgPSBjby5jb19maWxlbmFtZQotICAgICAgICBuYW1lID0gY28uY29fbmFtZQotICAgICAgICBsaW5lY2FjaGUuY2hlY2tjYWNoZShmaWxlbmFtZSkKLSAgICAgICAgbGluZSA9IGxpbmVjYWNoZS5nZXRsaW5lKGZpbGVuYW1lLCBsaW5lbm8sIGYuZl9nbG9iYWxzKQotICAgICAgICBpZiBsaW5lOiBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgIGVsc2U6IGxpbmUgPSBOb25lCi0gICAgICAgIGxpc3QuYXBwZW5kKChmaWxlbmFtZSwgbGluZW5vLCBuYW1lLCBsaW5lKSkKLSAgICAgICAgZiA9IGYuZl9iYWNrCi0gICAgICAgIG4gPSBuKzEKLSAgICBsaXN0LnJldmVyc2UoKQotICAgIHJldHVybiBsaXN0CisgICAgc3RhY2sgPSBsaXN0KF9leHRyYWN0X3N0YWNrX2l0ZXIoX2dldF9zdGFjayhmKSwgbGltaXQ9bGltaXQpKQorICAgIHN0YWNrLnJldmVyc2UoKQorICAgIHJldHVybiBzdGFjawpkaWZmIC0tZ2l0IGEvTGliL3R1cnRsZS5weSBiL0xpYi90dXJ0bGUucHkKaW5kZXggNDljZDg2ZC4uN2VkYmIwNSAxMDA2NDQKLS0tIGEvTGliL3R1cnRsZS5weQorKysgYi9MaWIvdHVydGxlLnB5CkBAIC0zODQzLDE4ICszODQzLDE4IEBACiAgICAgICAgIGtleSA9ICJUdXJ0bGUuIittZXRob2RuYW1lCiAgICAgICAgIGRvY3NkaWN0W2tleV0gPSBldmFsKGtleSkuX19kb2NfXwogCi0gICAgZiA9IG9wZW4oIiVzLnB5IiAlIGZpbGVuYW1lLCJ3IikKLSAgICBrZXlzID0gc29ydGVkKFt4IGZvciB4IGluIGRvY3NkaWN0LmtleXMoKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgeC5zcGxpdCgnLicpWzFdIG5vdCBpbiBfYWxpYXNfbGlzdF0pCi0gICAgZi53cml0ZSgnZG9jc2RpY3QgPSB7XG5cbicpCi0gICAgZm9yIGtleSBpbiBrZXlzWzotMV06CisgICAgd2l0aCBvcGVuKCIlcy5weSIgJSBmaWxlbmFtZSwidyIpIGFzIGY6CisgICAgICAgIGtleXMgPSBzb3J0ZWQoW3ggZm9yIHggaW4gZG9jc2RpY3Qua2V5cygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgeC5zcGxpdCgnLicpWzFdIG5vdCBpbiBfYWxpYXNfbGlzdF0pCisgICAgICAgIGYud3JpdGUoJ2RvY3NkaWN0ID0ge1xuXG4nKQorICAgICAgICBmb3Iga2V5IGluIGtleXNbOi0xXToKKyAgICAgICAgICAgIGYud3JpdGUoJyVzIDpcbicgJSByZXByKGtleSkpCisgICAgICAgICAgICBmLndyaXRlKCcgICAgICAgICIiIiVzXG4iIiIsXG5cbicgJSBkb2NzZGljdFtrZXldKQorICAgICAgICBrZXkgPSBrZXlzWy0xXQogICAgICAgICBmLndyaXRlKCclcyA6XG4nICUgcmVwcihrZXkpKQotICAgICAgICBmLndyaXRlKCcgICAgICAgICIiIiVzXG4iIiIsXG5cbicgJSBkb2NzZGljdFtrZXldKQotICAgIGtleSA9IGtleXNbLTFdCi0gICAgZi53cml0ZSgnJXMgOlxuJyAlIHJlcHIoa2V5KSkKLSAgICBmLndyaXRlKCcgICAgICAgICIiIiVzXG4iIiJcblxuJyAlIGRvY3NkaWN0W2tleV0pCi0gICAgZi53cml0ZSgifVxuIikKLSAgICBmLmNsb3NlKCkKKyAgICAgICAgZi53cml0ZSgnICAgICAgICAiIiIlc1xuIiIiXG5cbicgJSBkb2NzZGljdFtrZXldKQorICAgICAgICBmLndyaXRlKCJ9XG4iKQorICAgICAgICBmLmNsb3NlKCkKIAogZGVmIHJlYWRfZG9jc3RyaW5ncyhsYW5nKToKICAgICAiIiJSZWFkIGluIGRvY3N0cmluZ3MgZnJvbSBsYW5nLXNwZWNpZmljIGRvY3N0cmluZyBkaWN0aW9uYXJ5LgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L2Nhc2UucHkgYi9MaWIvdW5pdHRlc3QvY2FzZS5weQppbmRleCBmNTZhZjU1Li5kMDRlYTYxIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvY2FzZS5weQorKysgYi9MaWIvdW5pdHRlc3QvY2FzZS5weQpAQCAtNyw2ICs3LDcgQEAKIGltcG9ydCByZQogaW1wb3J0IHdhcm5pbmdzCiBpbXBvcnQgY29sbGVjdGlvbnMKK2ltcG9ydCBjb250ZXh0bGliCiAKIGZyb20gLiBpbXBvcnQgcmVzdWx0CiBmcm9tIC51dGlsIGltcG9ydCAoc3RyY2xhc3MsIHNhZmVfcmVwciwgX2NvdW50X2RpZmZfYWxsX3B1cnBvc2UsCkBAIC0yNiwxNyArMjcsMTEgQEAKICAgICBpbnN0ZWFkIG9mIHJhaXNpbmcgdGhpcyBkaXJlY3RseS4KICAgICAiIiIKIAotY2xhc3MgX0V4cGVjdGVkRmFpbHVyZShFeGNlcHRpb24pOgorY2xhc3MgX1Nob3VsZFN0b3AoRXhjZXB0aW9uKToKICAgICAiIiIKLSAgICBSYWlzZSB0aGlzIHdoZW4gYSB0ZXN0IGlzIGV4cGVjdGVkIHRvIGZhaWwuCi0KLSAgICBUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC4KKyAgICBUaGUgdGVzdCBzaG91bGQgc3RvcC4KICAgICAiIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBleGNfaW5mbyk6Ci0gICAgICAgIHN1cGVyKF9FeHBlY3RlZEZhaWx1cmUsIHNlbGYpLl9faW5pdF9fKCkKLSAgICAgICAgc2VsZi5leGNfaW5mbyA9IGV4Y19pbmZvCi0KIGNsYXNzIF9VbmV4cGVjdGVkU3VjY2VzcyhFeGNlcHRpb24pOgogICAgICIiIgogICAgIFRoZSB0ZXN0IHdhcyBzdXBwb3NlZCB0byBmYWlsLCBidXQgaXQgZGlkbid0IQpAQCAtNDQsMTMgKzM5LDQwIEBACiAKIAogY2xhc3MgX091dGNvbWUob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHJlc3VsdD1Ob25lKToKKyAgICAgICAgc2VsZi5leHBlY3RpbmdfZmFpbHVyZSA9IEZhbHNlCisgICAgICAgIHNlbGYucmVzdWx0ID0gcmVzdWx0CisgICAgICAgIHNlbGYucmVzdWx0X3N1cHBvcnRzX3N1YnRlc3RzID0gaGFzYXR0cihyZXN1bHQsICJhZGRTdWJUZXN0IikKICAgICAgICAgc2VsZi5zdWNjZXNzID0gVHJ1ZQotICAgICAgICBzZWxmLnNraXBwZWQgPSBOb25lCi0gICAgICAgIHNlbGYudW5leHBlY3RlZFN1Y2Nlc3MgPSBOb25lCisgICAgICAgIHNlbGYuc2tpcHBlZCA9IFtdCiAgICAgICAgIHNlbGYuZXhwZWN0ZWRGYWlsdXJlID0gTm9uZQogICAgICAgICBzZWxmLmVycm9ycyA9IFtdCi0gICAgICAgIHNlbGYuZmFpbHVyZXMgPSBbXQorCisgICAgQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKKyAgICBkZWYgdGVzdFBhcnRFeGVjdXRvcihzZWxmLCB0ZXN0X2Nhc2UsIGlzVGVzdD1GYWxzZSk6CisgICAgICAgIG9sZF9zdWNjZXNzID0gc2VsZi5zdWNjZXNzCisgICAgICAgIHNlbGYuc3VjY2VzcyA9IFRydWUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgeWllbGQKKyAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0IFNraXBUZXN0IGFzIGU6CisgICAgICAgICAgICBzZWxmLnN1Y2Nlc3MgPSBGYWxzZQorICAgICAgICAgICAgc2VsZi5za2lwcGVkLmFwcGVuZCgodGVzdF9jYXNlLCBzdHIoZSkpKQorICAgICAgICBleGNlcHQgX1Nob3VsZFN0b3A6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGV4Y19pbmZvID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgICAgIGlmIHNlbGYuZXhwZWN0aW5nX2ZhaWx1cmU6CisgICAgICAgICAgICAgICAgc2VsZi5leHBlY3RlZEZhaWx1cmUgPSBleGNfaW5mbworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnN1Y2Nlc3MgPSBGYWxzZQorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZCgodGVzdF9jYXNlLCBleGNfaW5mbykpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLnJlc3VsdF9zdXBwb3J0c19zdWJ0ZXN0cyBhbmQgc2VsZi5zdWNjZXNzOgorICAgICAgICAgICAgICAgIHNlbGYuZXJyb3JzLmFwcGVuZCgodGVzdF9jYXNlLCBOb25lKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYuc3VjY2VzcyA9IHNlbGYuc3VjY2VzcyBhbmQgb2xkX3N1Y2Nlc3MKIAogCiBkZWYgX2lkKG9iaik6CkBAIC04OCwxNiArMTEwLDkgQEAKICAgICAgICAgcmV0dXJuIHNraXAocmVhc29uKQogICAgIHJldHVybiBfaWQKIAotCi1kZWYgZXhwZWN0ZWRGYWlsdXJlKGZ1bmMpOgotICAgIEBmdW5jdG9vbHMud3JhcHMoZnVuYykKLSAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2FyZ3MpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmdW5jKCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHJhaXNlIF9FeHBlY3RlZEZhaWx1cmUoc3lzLmV4Y19pbmZvKCkpCi0gICAgICAgIHJhaXNlIF9VbmV4cGVjdGVkU3VjY2VzcwotICAgIHJldHVybiB3cmFwcGVyCitkZWYgZXhwZWN0ZWRGYWlsdXJlKHRlc3RfaXRlbSk6CisgICAgdGVzdF9pdGVtLl9fdW5pdHRlc3RfZXhwZWN0aW5nX2ZhaWx1cmVfXyA9IFRydWUKKyAgICByZXR1cm4gdGVzdF9pdGVtCiAKIAogY2xhc3MgX0Fzc2VydFJhaXNlc0Jhc2VDb250ZXh0KG9iamVjdCk6CkBAIC0yNzAsNyArMjg1LDcgQEAKICAgICAgICAgICAgbm90IGhhdmUgYSBtZXRob2Qgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLl90ZXN0TWV0aG9kTmFtZSA9IG1ldGhvZE5hbWUKLSAgICAgICAgc2VsZi5fb3V0Y29tZUZvckRvQ2xlYW51cHMgPSBOb25lCisgICAgICAgIHNlbGYuX291dGNvbWUgPSBOb25lCiAgICAgICAgIHNlbGYuX3Rlc3RNZXRob2REb2MgPSAnTm8gdGVzdCcKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdGVzdE1ldGhvZCA9IGdldGF0dHIoc2VsZiwgbWV0aG9kTmFtZSkKQEAgLTI4Myw2ICsyOTgsNyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5fdGVzdE1ldGhvZERvYyA9IHRlc3RNZXRob2QuX19kb2NfXwogICAgICAgICBzZWxmLl9jbGVhbnVwcyA9IFtdCisgICAgICAgIHNlbGYuX3N1YnRlc3QgPSBOb25lCiAKICAgICAgICAgIyBNYXAgdHlwZXMgdG8gY3VzdG9tIGFzc2VydEVxdWFsIGZ1bmN0aW9ucyB0aGF0IHdpbGwgY29tcGFyZQogICAgICAgICAjIGluc3RhbmNlcyBvZiBzYWlkIHR5cGUgaW4gbW9yZSBkZXRhaWwgdG8gZ2VuZXJhdGUgYSBtb3JlIHVzZWZ1bApAQCAtMzcwLDQ0ICszODYsODAgQEAKICAgICAgICAgcmV0dXJuICI8JXMgdGVzdE1ldGhvZD0lcz4iICUgXAogICAgICAgICAgICAgICAgKHN0cmNsYXNzKHNlbGYuX19jbGFzc19fKSwgc2VsZi5fdGVzdE1ldGhvZE5hbWUpCiAKLSAgICBkZWYgX2FkZFNraXAoc2VsZiwgcmVzdWx0LCByZWFzb24pOgorICAgIGRlZiBfYWRkU2tpcChzZWxmLCByZXN1bHQsIHRlc3RfY2FzZSwgcmVhc29uKToKICAgICAgICAgYWRkU2tpcCA9IGdldGF0dHIocmVzdWx0LCAnYWRkU2tpcCcsIE5vbmUpCiAgICAgICAgIGlmIGFkZFNraXAgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBhZGRTa2lwKHNlbGYsIHJlYXNvbikKKyAgICAgICAgICAgIGFkZFNraXAodGVzdF9jYXNlLCByZWFzb24pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJUZXN0UmVzdWx0IGhhcyBubyBhZGRTa2lwIG1ldGhvZCwgc2tpcHMgbm90IHJlcG9ydGVkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUnVudGltZVdhcm5pbmcsIDIpCi0gICAgICAgICAgICByZXN1bHQuYWRkU3VjY2VzcyhzZWxmKQorICAgICAgICAgICAgcmVzdWx0LmFkZFN1Y2Nlc3ModGVzdF9jYXNlKQogCi0gICAgZGVmIF9leGVjdXRlVGVzdFBhcnQoc2VsZiwgZnVuY3Rpb24sIG91dGNvbWUsIGlzVGVzdD1GYWxzZSk6CisgICAgQGNvbnRleHRsaWIuY29udGV4dG1hbmFnZXIKKyAgICBkZWYgc3ViVGVzdChzZWxmLCBtc2c9Tm9uZSwgKipwYXJhbXMpOgorICAgICAgICAiIiJSZXR1cm4gYSBjb250ZXh0IG1hbmFnZXIgdGhhdCB3aWxsIHJldHVybiB0aGUgZW5jbG9zZWQgYmxvY2sKKyAgICAgICAgb2YgY29kZSBpbiBhIHN1YnRlc3QgaWRlbnRpZmllZCBieSB0aGUgb3B0aW9uYWwgbWVzc2FnZSBhbmQKKyAgICAgICAga2V5d29yZCBwYXJhbWV0ZXJzLiAgQSBmYWlsdXJlIGluIHRoZSBzdWJ0ZXN0IG1hcmtzIHRoZSB0ZXN0CisgICAgICAgIGNhc2UgYXMgZmFpbGVkIGJ1dCByZXN1bWVzIGV4ZWN1dGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBlbmNsb3NlZAorICAgICAgICBibG9jaywgYWxsb3dpbmcgZnVydGhlciB0ZXN0IGNvZGUgdG8gYmUgZXhlY3V0ZWQuCisgICAgICAgICIiIgorICAgICAgICBpZiBub3Qgc2VsZi5fb3V0Y29tZS5yZXN1bHRfc3VwcG9ydHNfc3VidGVzdHM6CisgICAgICAgICAgICB5aWVsZAorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHBhcmVudCA9IHNlbGYuX3N1YnRlc3QKKyAgICAgICAgaWYgcGFyZW50IGlzIE5vbmU6CisgICAgICAgICAgICBwYXJhbXNfbWFwID0gY29sbGVjdGlvbnMuQ2hhaW5NYXAocGFyYW1zKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcGFyYW1zX21hcCA9IHBhcmVudC5wYXJhbXMubmV3X2NoaWxkKHBhcmFtcykKKyAgICAgICAgc2VsZi5fc3VidGVzdCA9IF9TdWJUZXN0KHNlbGYsIG1zZywgcGFyYW1zX21hcCkKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgZnVuY3Rpb24oKQotICAgICAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6Ci0gICAgICAgICAgICByYWlzZQotICAgICAgICBleGNlcHQgU2tpcFRlc3QgYXMgZToKLSAgICAgICAgICAgIG91dGNvbWUuc3VjY2VzcyA9IEZhbHNlCi0gICAgICAgICAgICBvdXRjb21lLnNraXBwZWQgPSBzdHIoZSkKLSAgICAgICAgZXhjZXB0IF9VbmV4cGVjdGVkU3VjY2VzczoKLSAgICAgICAgICAgIGV4Y19pbmZvID0gc3lzLmV4Y19pbmZvKCkKLSAgICAgICAgICAgIG91dGNvbWUuc3VjY2VzcyA9IEZhbHNlCi0gICAgICAgICAgICBpZiBpc1Rlc3Q6Ci0gICAgICAgICAgICAgICAgb3V0Y29tZS51bmV4cGVjdGVkU3VjY2VzcyA9IGV4Y19pbmZvCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG91dGNvbWUuZXJyb3JzLmFwcGVuZChleGNfaW5mbykKLSAgICAgICAgZXhjZXB0IF9FeHBlY3RlZEZhaWx1cmU6Ci0gICAgICAgICAgICBvdXRjb21lLnN1Y2Nlc3MgPSBGYWxzZQotICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQotICAgICAgICAgICAgaWYgaXNUZXN0OgotICAgICAgICAgICAgICAgIG91dGNvbWUuZXhwZWN0ZWRGYWlsdXJlID0gZXhjX2luZm8KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3V0Y29tZS5lcnJvcnMuYXBwZW5kKGV4Y19pbmZvKQotICAgICAgICBleGNlcHQgc2VsZi5mYWlsdXJlRXhjZXB0aW9uOgotICAgICAgICAgICAgb3V0Y29tZS5zdWNjZXNzID0gRmFsc2UKLSAgICAgICAgICAgIG91dGNvbWUuZmFpbHVyZXMuYXBwZW5kKHN5cy5leGNfaW5mbygpKQotICAgICAgICAgICAgZXhjX2luZm8gPSBzeXMuZXhjX2luZm8oKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBvdXRjb21lLnN1Y2Nlc3MgPSBGYWxzZQotICAgICAgICAgICAgb3V0Y29tZS5lcnJvcnMuYXBwZW5kKHN5cy5leGNfaW5mbygpKQorICAgICAgICAgICAgd2l0aCBzZWxmLl9vdXRjb21lLnRlc3RQYXJ0RXhlY3V0b3Ioc2VsZi5fc3VidGVzdCwgaXNUZXN0PVRydWUpOgorICAgICAgICAgICAgICAgIHlpZWxkCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fb3V0Y29tZS5zdWNjZXNzOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYuX291dGNvbWUucmVzdWx0CisgICAgICAgICAgICAgICAgaWYgcmVzdWx0IGlzIG5vdCBOb25lIGFuZCByZXN1bHQuZmFpbGZhc3Q6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIF9TaG91bGRTdG9wCisgICAgICAgICAgICBlbGlmIHNlbGYuX291dGNvbWUuZXhwZWN0ZWRGYWlsdXJlOgorICAgICAgICAgICAgICAgICMgSWYgdGhlIHRlc3QgaXMgZXhwZWN0aW5nIGEgZmFpbHVyZSwgd2UgcmVhbGx5IHdhbnQgdG8KKyAgICAgICAgICAgICAgICAjIHN0b3Agbm93IGFuZCByZWdpc3RlciB0aGUgZXhwZWN0ZWQgZmFpbHVyZS4KKyAgICAgICAgICAgICAgICByYWlzZSBfU2hvdWxkU3RvcAorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc2VsZi5fc3VidGVzdCA9IHBhcmVudAorCisgICAgZGVmIF9mZWVkRXJyb3JzVG9SZXN1bHQoc2VsZiwgcmVzdWx0LCBlcnJvcnMpOgorICAgICAgICBmb3IgdGVzdCwgZXhjX2luZm8gaW4gZXJyb3JzOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh0ZXN0LCBfU3ViVGVzdCk6CisgICAgICAgICAgICAgICAgcmVzdWx0LmFkZFN1YlRlc3QodGVzdC50ZXN0X2Nhc2UsIHRlc3QsIGV4Y19pbmZvKQorICAgICAgICAgICAgZWxpZiBleGNfaW5mbyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpZiBpc3N1YmNsYXNzKGV4Y19pbmZvWzBdLCBzZWxmLmZhaWx1cmVFeGNlcHRpb24pOgorICAgICAgICAgICAgICAgICAgICByZXN1bHQuYWRkRmFpbHVyZSh0ZXN0LCBleGNfaW5mbykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXN1bHQuYWRkRXJyb3IodGVzdCwgZXhjX2luZm8pCisKKyAgICBkZWYgX2FkZEV4cGVjdGVkRmFpbHVyZShzZWxmLCByZXN1bHQsIGV4Y19pbmZvKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgYWRkRXhwZWN0ZWRGYWlsdXJlID0gcmVzdWx0LmFkZEV4cGVjdGVkRmFpbHVyZQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJUZXN0UmVzdWx0IGhhcyBubyBhZGRFeHBlY3RlZEZhaWx1cmUgbWV0aG9kLCByZXBvcnRpbmcgYXMgcGFzc2VzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUnVudGltZVdhcm5pbmcpCisgICAgICAgICAgICByZXN1bHQuYWRkU3VjY2VzcyhzZWxmKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYWRkRXhwZWN0ZWRGYWlsdXJlKHNlbGYsIGV4Y19pbmZvKQorCisgICAgZGVmIF9hZGRVbmV4cGVjdGVkU3VjY2VzcyhzZWxmLCByZXN1bHQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBhZGRVbmV4cGVjdGVkU3VjY2VzcyA9IHJlc3VsdC5hZGRVbmV4cGVjdGVkU3VjY2VzcworICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJUZXN0UmVzdWx0IGhhcyBubyBhZGRVbmV4cGVjdGVkU3VjY2VzcyBtZXRob2QsIHJlcG9ydGluZyBhcyBmYWlsdXJlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUnVudGltZVdhcm5pbmcpCisgICAgICAgICAgICAjIFdlIG5lZWQgdG8gcGFzcyBhbiBhY3R1YWwgZXhjZXB0aW9uIGFuZCB0cmFjZWJhY2sgdG8gYWRkRmFpbHVyZSwKKyAgICAgICAgICAgICMgb3RoZXJ3aXNlIHRoZSBsZWdhY3kgcmVzdWx0IGNhbiBjaG9rZS4KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByYWlzZSBfVW5leHBlY3RlZFN1Y2Nlc3MgZnJvbSBOb25lCisgICAgICAgICAgICBleGNlcHQgX1VuZXhwZWN0ZWRTdWNjZXNzOgorICAgICAgICAgICAgICAgIHJlc3VsdC5hZGRGYWlsdXJlKHNlbGYsIHN5cy5leGNfaW5mbygpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYWRkVW5leHBlY3RlZFN1Y2Nlc3Moc2VsZikKIAogICAgIGRlZiBydW4oc2VsZiwgcmVzdWx0PU5vbmUpOgogICAgICAgICBvcmlnX3Jlc3VsdCA9IHJlc3VsdApAQCAtNDI2LDQ2ICs0NzgsMzggQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBza2lwX3doeSA9IChnZXRhdHRyKHNlbGYuX19jbGFzc19fLCAnX191bml0dGVzdF9za2lwX3doeV9fJywgJycpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZ2V0YXR0cih0ZXN0TWV0aG9kLCAnX191bml0dGVzdF9za2lwX3doeV9fJywgJycpKQotICAgICAgICAgICAgICAgIHNlbGYuX2FkZFNraXAocmVzdWx0LCBza2lwX3doeSkKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRTa2lwKHJlc3VsdCwgc2VsZiwgc2tpcF93aHkpCiAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgIHJlc3VsdC5zdG9wVGVzdChzZWxmKQogICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGV4cGVjdGluZ19mYWlsdXJlID0gZ2V0YXR0cih0ZXN0TWV0aG9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fdW5pdHRlc3RfZXhwZWN0aW5nX2ZhaWx1cmVfXyIsIEZhbHNlKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvdXRjb21lID0gX091dGNvbWUoKQotICAgICAgICAgICAgc2VsZi5fb3V0Y29tZUZvckRvQ2xlYW51cHMgPSBvdXRjb21lCisgICAgICAgICAgICBvdXRjb21lID0gX091dGNvbWUocmVzdWx0KQorICAgICAgICAgICAgc2VsZi5fb3V0Y29tZSA9IG91dGNvbWUKIAotICAgICAgICAgICAgc2VsZi5fZXhlY3V0ZVRlc3RQYXJ0KHNlbGYuc2V0VXAsIG91dGNvbWUpCisgICAgICAgICAgICB3aXRoIG91dGNvbWUudGVzdFBhcnRFeGVjdXRvcihzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLnNldFVwKCkKICAgICAgICAgICAgIGlmIG91dGNvbWUuc3VjY2VzczoKLSAgICAgICAgICAgICAgICBzZWxmLl9leGVjdXRlVGVzdFBhcnQodGVzdE1ldGhvZCwgb3V0Y29tZSwgaXNUZXN0PVRydWUpCi0gICAgICAgICAgICAgICAgc2VsZi5fZXhlY3V0ZVRlc3RQYXJ0KHNlbGYudGVhckRvd24sIG91dGNvbWUpCisgICAgICAgICAgICAgICAgb3V0Y29tZS5leHBlY3RpbmdfZmFpbHVyZSA9IGV4cGVjdGluZ19mYWlsdXJlCisgICAgICAgICAgICAgICAgd2l0aCBvdXRjb21lLnRlc3RQYXJ0RXhlY3V0b3Ioc2VsZiwgaXNUZXN0PVRydWUpOgorICAgICAgICAgICAgICAgICAgICB0ZXN0TWV0aG9kKCkKKyAgICAgICAgICAgICAgICBvdXRjb21lLmV4cGVjdGluZ19mYWlsdXJlID0gRmFsc2UKKyAgICAgICAgICAgICAgICB3aXRoIG91dGNvbWUudGVzdFBhcnRFeGVjdXRvcihzZWxmKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi50ZWFyRG93bigpCiAKICAgICAgICAgICAgIHNlbGYuZG9DbGVhbnVwcygpCisgICAgICAgICAgICBmb3IgdGVzdCwgcmVhc29uIGluIG91dGNvbWUuc2tpcHBlZDoKKyAgICAgICAgICAgICAgICBzZWxmLl9hZGRTa2lwKHJlc3VsdCwgdGVzdCwgcmVhc29uKQorICAgICAgICAgICAgc2VsZi5fZmVlZEVycm9yc1RvUmVzdWx0KHJlc3VsdCwgb3V0Y29tZS5lcnJvcnMpCiAgICAgICAgICAgICBpZiBvdXRjb21lLnN1Y2Nlc3M6Ci0gICAgICAgICAgICAgICAgcmVzdWx0LmFkZFN1Y2Nlc3Moc2VsZikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgb3V0Y29tZS5za2lwcGVkIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9hZGRTa2lwKHJlc3VsdCwgb3V0Y29tZS5za2lwcGVkKQotICAgICAgICAgICAgICAgIGZvciBleGNfaW5mbyBpbiBvdXRjb21lLmVycm9yczoKLSAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFkZEVycm9yKHNlbGYsIGV4Y19pbmZvKQotICAgICAgICAgICAgICAgIGZvciBleGNfaW5mbyBpbiBvdXRjb21lLmZhaWx1cmVzOgotICAgICAgICAgICAgICAgICAgICByZXN1bHQuYWRkRmFpbHVyZShzZWxmLCBleGNfaW5mbykKLSAgICAgICAgICAgICAgICBpZiBvdXRjb21lLnVuZXhwZWN0ZWRTdWNjZXNzIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBhZGRVbmV4cGVjdGVkU3VjY2VzcyA9IGdldGF0dHIocmVzdWx0LCAnYWRkVW5leHBlY3RlZFN1Y2Nlc3MnLCBOb25lKQotICAgICAgICAgICAgICAgICAgICBpZiBhZGRVbmV4cGVjdGVkU3VjY2VzcyBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFVuZXhwZWN0ZWRTdWNjZXNzKHNlbGYpCisgICAgICAgICAgICAgICAgaWYgZXhwZWN0aW5nX2ZhaWx1cmU6CisgICAgICAgICAgICAgICAgICAgIGlmIG91dGNvbWUuZXhwZWN0ZWRGYWlsdXJlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fYWRkRXhwZWN0ZWRGYWlsdXJlKHJlc3VsdCwgb3V0Y29tZS5leHBlY3RlZEZhaWx1cmUpCiAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJUZXN0UmVzdWx0IGhhcyBubyBhZGRVbmV4cGVjdGVkU3VjY2VzcyBtZXRob2QsIHJlcG9ydGluZyBhcyBmYWlsdXJlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bnRpbWVXYXJuaW5nKQotICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFkZEZhaWx1cmUoc2VsZiwgb3V0Y29tZS51bmV4cGVjdGVkU3VjY2VzcykKLQotICAgICAgICAgICAgICAgIGlmIG91dGNvbWUuZXhwZWN0ZWRGYWlsdXJlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICBhZGRFeHBlY3RlZEZhaWx1cmUgPSBnZXRhdHRyKHJlc3VsdCwgJ2FkZEV4cGVjdGVkRmFpbHVyZScsIE5vbmUpCi0gICAgICAgICAgICAgICAgICAgIGlmIGFkZEV4cGVjdGVkRmFpbHVyZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZEV4cGVjdGVkRmFpbHVyZShzZWxmLCBvdXRjb21lLmV4cGVjdGVkRmFpbHVyZSkKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIlRlc3RSZXN1bHQgaGFzIG5vIGFkZEV4cGVjdGVkRmFpbHVyZSBtZXRob2QsIHJlcG9ydGluZyBhcyBwYXNzZXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW50aW1lV2FybmluZykKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hZGRTdWNjZXNzKHNlbGYpCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9hZGRVbmV4cGVjdGVkU3VjY2VzcyhyZXN1bHQpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmFkZFN1Y2Nlc3Moc2VsZikKICAgICAgICAgICAgIHJldHVybiByZXN1bHQKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHJlc3VsdC5zdG9wVGVzdChzZWxmKQpAQCAtNDc3LDExICs1MjEsMTEgQEAKICAgICBkZWYgZG9DbGVhbnVwcyhzZWxmKToKICAgICAgICAgIiIiRXhlY3V0ZSBhbGwgY2xlYW51cCBmdW5jdGlvbnMuIE5vcm1hbGx5IGNhbGxlZCBmb3IgeW91IGFmdGVyCiAgICAgICAgIHRlYXJEb3duLiIiIgotICAgICAgICBvdXRjb21lID0gc2VsZi5fb3V0Y29tZUZvckRvQ2xlYW51cHMgb3IgX091dGNvbWUoKQorICAgICAgICBvdXRjb21lID0gc2VsZi5fb3V0Y29tZSBvciBfT3V0Y29tZSgpCiAgICAgICAgIHdoaWxlIHNlbGYuX2NsZWFudXBzOgogICAgICAgICAgICAgZnVuY3Rpb24sIGFyZ3MsIGt3YXJncyA9IHNlbGYuX2NsZWFudXBzLnBvcCgpCi0gICAgICAgICAgICBwYXJ0ID0gbGFtYmRhOiBmdW5jdGlvbigqYXJncywgKiprd2FyZ3MpCi0gICAgICAgICAgICBzZWxmLl9leGVjdXRlVGVzdFBhcnQocGFydCwgb3V0Y29tZSkKKyAgICAgICAgICAgIHdpdGggb3V0Y29tZS50ZXN0UGFydEV4ZWN1dG9yKHNlbGYpOgorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCphcmdzLCAqKmt3YXJncykKIAogICAgICAgICAjIHJldHVybiB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQogICAgICAgICAjIGV2ZW4gdGhvdWdoIHdlIG5vIGxvbmdlciB1cyBpdCBpbnRlcm5hbGx5CkBAIC0xMjEyLDMgKzEyNTYsMzkgQEAKICAgICAgICAgICAgIHJldHVybiBzZWxmLl9kZXNjcmlwdGlvbgogICAgICAgICBkb2MgPSBzZWxmLl90ZXN0RnVuYy5fX2RvY19fCiAgICAgICAgIHJldHVybiBkb2MgYW5kIGRvYy5zcGxpdCgiXG4iKVswXS5zdHJpcCgpIG9yIE5vbmUKKworCitjbGFzcyBfU3ViVGVzdChUZXN0Q2FzZSk6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9jYXNlLCBtZXNzYWdlLCBwYXJhbXMpOgorICAgICAgICBzdXBlcigpLl9faW5pdF9fKCkKKyAgICAgICAgc2VsZi5fbWVzc2FnZSA9IG1lc3NhZ2UKKyAgICAgICAgc2VsZi50ZXN0X2Nhc2UgPSB0ZXN0X2Nhc2UKKyAgICAgICAgc2VsZi5wYXJhbXMgPSBwYXJhbXMKKyAgICAgICAgc2VsZi5mYWlsdXJlRXhjZXB0aW9uID0gdGVzdF9jYXNlLmZhaWx1cmVFeGNlcHRpb24KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJzdWJ0ZXN0cyBjYW5ub3QgYmUgcnVuIGRpcmVjdGx5IikKKworICAgIGRlZiBfc3ViRGVzY3JpcHRpb24oc2VsZik6CisgICAgICAgIHBhcnRzID0gW10KKyAgICAgICAgaWYgc2VsZi5fbWVzc2FnZToKKyAgICAgICAgICAgIHBhcnRzLmFwcGVuZCgiW3t9XSIuZm9ybWF0KHNlbGYuX21lc3NhZ2UpKQorICAgICAgICBpZiBzZWxmLnBhcmFtczoKKyAgICAgICAgICAgIHBhcmFtc19kZXNjID0gJywgJy5qb2luKAorICAgICAgICAgICAgICAgICJ7fT17IXJ9Ii5mb3JtYXQoaywgdikKKyAgICAgICAgICAgICAgICBmb3IgKGssIHYpIGluIHNvcnRlZChzZWxmLnBhcmFtcy5pdGVtcygpKSkKKyAgICAgICAgICAgIHBhcnRzLmFwcGVuZCgiKHt9KSIuZm9ybWF0KHBhcmFtc19kZXNjKSkKKyAgICAgICAgcmV0dXJuICIgIi5qb2luKHBhcnRzKSBvciAnKDxzdWJ0ZXN0PiknCisKKyAgICBkZWYgaWQoc2VsZik6CisgICAgICAgIHJldHVybiAie30ge30iLmZvcm1hdChzZWxmLnRlc3RfY2FzZS5pZCgpLCBzZWxmLl9zdWJEZXNjcmlwdGlvbigpKQorCisgICAgZGVmIHNob3J0RGVzY3JpcHRpb24oc2VsZik6CisgICAgICAgICIiIlJldHVybnMgYSBvbmUtbGluZSBkZXNjcmlwdGlvbiBvZiB0aGUgc3VidGVzdCwgb3IgTm9uZSBpZiBubworICAgICAgICBkZXNjcmlwdGlvbiBoYXMgYmVlbiBwcm92aWRlZC4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLnRlc3RfY2FzZS5zaG9ydERlc2NyaXB0aW9uKCkKKworICAgIGRlZiBfX3N0cl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gInt9IHt9Ii5mb3JtYXQoc2VsZi50ZXN0X2Nhc2UsIHNlbGYuX3N1YkRlc2NyaXB0aW9uKCkpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5IGIvTGliL3VuaXR0ZXN0L2xvYWRlci5weQppbmRleCAyYjkyNTI1Li5hZDg5Y2QwIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvbG9hZGVyLnB5CisrKyBiL0xpYi91bml0dGVzdC9sb2FkZXIucHkKQEAgLTM0LDYgKzM0LDE0IEBACiAgICAgVGVzdENsYXNzID0gdHlwZShjbGFzc25hbWUsIChjYXNlLlRlc3RDYXNlLCksIGF0dHJzKQogICAgIHJldHVybiBzdWl0ZUNsYXNzKChUZXN0Q2xhc3MobWV0aG9kbmFtZSksKSkKIAorZGVmIF9tYWtlX3NraXBwZWRfdGVzdChtZXRob2RuYW1lLCBleGNlcHRpb24sIHN1aXRlQ2xhc3MpOgorICAgIEBjYXNlLnNraXAoc3RyKGV4Y2VwdGlvbikpCisgICAgZGVmIHRlc3RTa2lwcGVkKHNlbGYpOgorICAgICAgICBwYXNzCisgICAgYXR0cnMgPSB7bWV0aG9kbmFtZTogdGVzdFNraXBwZWR9CisgICAgVGVzdENsYXNzID0gdHlwZSgiTW9kdWxlU2tpcHBlZCIsIChjYXNlLlRlc3RDYXNlLCksIGF0dHJzKQorICAgIHJldHVybiBzdWl0ZUNsYXNzKChUZXN0Q2xhc3MobWV0aG9kbmFtZSksKSkKKwogZGVmIF9qeXRob25fYXdhcmVfc3BsaXRleHQocGF0aCk6CiAgICAgaWYgcGF0aC5sb3dlcigpLmVuZHN3aXRoKCckcHkuY2xhc3MnKToKICAgICAgICAgcmV0dXJuIHBhdGhbOi05XQpAQCAtMTY5LDYgKzE3Nyw5IEBACiAgICAgICAgIFRoZSBwYXR0ZXJuIGlzIGRlbGliZXJhdGVseSBub3Qgc3RvcmVkIGFzIGEgbG9hZGVyIGF0dHJpYnV0ZSBzbyB0aGF0CiAgICAgICAgIHBhY2thZ2VzIGNhbiBjb250aW51ZSBkaXNjb3ZlcnkgdGhlbXNlbHZlcy4gdG9wX2xldmVsX2RpciBpcyBzdG9yZWQgc28KICAgICAgICAgbG9hZF90ZXN0cyBkb2VzIG5vdCBuZWVkIHRvIHBhc3MgdGhpcyBhcmd1bWVudCBpbiB0byBsb2FkZXIuZGlzY292ZXIoKS4KKworICAgICAgICBQYXRocyBhcmUgc29ydGVkIGJlZm9yZSBiZWluZyBpbXBvcnRlZCB0byBlbnN1cmUgcmVwcm9kdWNpYmxlIGV4ZWN1dGlvbgorICAgICAgICBvcmRlciBldmVuIG9uIGZpbGVzeXN0ZW1zIHdpdGggbm9uLWFscGhhYmV0aWNhbCBvcmRlcmluZyBsaWtlIGV4dDMvNC4KICAgICAgICAgIiIiCiAgICAgICAgIHNldF9pbXBsaWNpdF90b3AgPSBGYWxzZQogICAgICAgICBpZiB0b3BfbGV2ZWxfZGlyIGlzIE5vbmUgYW5kIHNlbGYuX3RvcF9sZXZlbF9kaXIgaXMgbm90IE5vbmU6CkBAIC0yNDUsNyArMjU2LDcgQEAKIAogICAgIGRlZiBfZmluZF90ZXN0cyhzZWxmLCBzdGFydF9kaXIsIHBhdHRlcm4pOgogICAgICAgICAiIiJVc2VkIGJ5IGRpc2NvdmVyeS4gWWllbGRzIHRlc3Qgc3VpdGVzIGl0IGxvYWRzLiIiIgotICAgICAgICBwYXRocyA9IG9zLmxpc3RkaXIoc3RhcnRfZGlyKQorICAgICAgICBwYXRocyA9IHNvcnRlZChvcy5saXN0ZGlyKHN0YXJ0X2RpcikpCiAKICAgICAgICAgZm9yIHBhdGggaW4gcGF0aHM6CiAgICAgICAgICAgICBmdWxsX3BhdGggPSBvcy5wYXRoLmpvaW4oc3RhcnRfZGlyLCBwYXRoKQpAQCAtMjU5LDYgKzI3MCw4IEBACiAgICAgICAgICAgICAgICAgbmFtZSA9IHNlbGYuX2dldF9uYW1lX2Zyb21fcGF0aChmdWxsX3BhdGgpCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBtb2R1bGUgPSBzZWxmLl9nZXRfbW9kdWxlX2Zyb21fbmFtZShuYW1lKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBjYXNlLlNraXBUZXN0IGFzIGU6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIF9tYWtlX3NraXBwZWRfdGVzdChuYW1lLCBlLCBzZWxmLnN1aXRlQ2xhc3MpCiAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICB5aWVsZCBfbWFrZV9mYWlsZWRfaW1wb3J0X3Rlc3QobmFtZSwgc2VsZi5zdWl0ZUNsYXNzKQogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC0yOTEsOCArMzA0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICMgdGVzdHMgbG9hZGVkIGZyb20gcGFja2FnZSBmaWxlCiAgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0cwogICAgICAgICAgICAgICAgICAgICAjIHJlY3Vyc2UgaW50byB0aGUgcGFja2FnZQotICAgICAgICAgICAgICAgICAgICBmb3IgdGVzdCBpbiBzZWxmLl9maW5kX3Rlc3RzKGZ1bGxfcGF0aCwgcGF0dGVybik6Ci0gICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCB0ZXN0CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gc2VsZi5fZmluZF90ZXN0cyhmdWxsX3BhdGgsIHBhdHRlcm4pCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgbG9hZF90ZXN0cyhzZWxmLCB0ZXN0cywgcGF0dGVybikKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9tYWluLnB5IGIvTGliL3VuaXR0ZXN0L21haW4ucHkKaW5kZXggZWFkNjQ5My4uZWRiMTQxYSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L21haW4ucHkKKysrIGIvTGliL3VuaXR0ZXN0L21haW4ucHkKQEAgLTE2NCw3ICsxNjQsMTAgQEAKICAgICAgICAgICAgICAgICAjIHRvIHN1cHBvcnQgcHl0aG9uIC1tIHVuaXR0ZXN0IC4uLgogICAgICAgICAgICAgICAgIHNlbGYubW9kdWxlID0gTm9uZQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi50ZXN0TmFtZXMgPSAoc2VsZi5kZWZhdWx0VGVzdCwpCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuZGVmYXVsdFRlc3QsIHN0cik6CisgICAgICAgICAgICAgICAgc2VsZi50ZXN0TmFtZXMgPSAoc2VsZi5kZWZhdWx0VGVzdCwpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYudGVzdE5hbWVzID0gbGlzdChzZWxmLmRlZmF1bHRUZXN0KQogICAgICAgICBzZWxmLmNyZWF0ZVRlc3RzKCkKIAogICAgIGRlZiBjcmVhdGVUZXN0cyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9tb2NrLnB5IGIvTGliL3VuaXR0ZXN0L21vY2sucHkKaW5kZXggMDczODY5YS4uZGM1YzAzMyAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L21vY2sucHkKKysrIGIvTGliL3VuaXR0ZXN0L21vY2sucHkKQEAgLTI3LDcgKzI3LDcgQEAKIGltcG9ydCBpbnNwZWN0CiBpbXBvcnQgcHByaW50CiBpbXBvcnQgc3lzCi1mcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKK2Zyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcywgcGFydGlhbAogCiAKIEJhc2VFeGNlcHRpb25zID0gKEJhc2VFeGNlcHRpb24sKQpAQCAtNjYsNTUgKzY2LDQ1IEBACiApCiAKIAotZGVmIF9nZXRzaWduYXR1cmUoZnVuYywgc2tpcGZpcnN0LCBpbnN0YW5jZT1GYWxzZSk6Ci0gICAgaWYgaXNpbnN0YW5jZShmdW5jLCB0eXBlKSBhbmQgbm90IGluc3RhbmNlOgorZGVmIF9nZXRfc2lnbmF0dXJlX29iamVjdChmdW5jLCBhc19pbnN0YW5jZSwgZWF0X3NlbGYpOgorICAgICIiIgorICAgIEdpdmVuIGFuIGFyYml0cmFyeSwgcG9zc2libHkgY2FsbGFibGUgb2JqZWN0LCB0cnkgdG8gY3JlYXRlIGEgc3VpdGFibGUKKyAgICBzaWduYXR1cmUgb2JqZWN0LgorICAgIFJldHVybiBhIChyZWR1Y2VkIGZ1bmMsIHNpZ25hdHVyZSkgdHVwbGUsIG9yIE5vbmUuCisgICAgIiIiCisgICAgaWYgaXNpbnN0YW5jZShmdW5jLCB0eXBlKSBhbmQgbm90IGFzX2luc3RhbmNlOgorICAgICAgICAjIElmIGl0J3MgYSB0eXBlIGFuZCBzaG91bGQgYmUgbW9kZWxsZWQgYXMgYSB0eXBlLCB1c2UgX19pbml0X18uCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGZ1bmMgPSBmdW5jLl9faW5pdF9fCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBza2lwZmlyc3QgPSBUcnVlCisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAjIFNraXAgdGhlIGBzZWxmYCBhcmd1bWVudCBpbiBfX2luaXRfXworICAgICAgICBlYXRfc2VsZiA9IFRydWUKICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKGZ1bmMsIEZ1bmN0aW9uVHlwZXMpOgotICAgICAgICAjIGZvciBjbGFzc2VzIHdoZXJlIGluc3RhbmNlIGlzIFRydWUgd2UgZW5kIHVwIGhlcmUgdG9vCisgICAgICAgICMgSWYgd2UgcmVhbGx5IHdhbnQgdG8gbW9kZWwgYW4gaW5zdGFuY2Ugb2YgdGhlIHBhc3NlZCB0eXBlLAorICAgICAgICAjIF9fY2FsbF9fIHNob3VsZCBiZSBsb29rZWQgdXAsIG5vdCBfX2luaXRfXy4KICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZnVuYyA9IGZ1bmMuX19jYWxsX18KICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcmV0dXJuCi0KKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgaWYgZWF0X3NlbGY6CisgICAgICAgIHNpZ19mdW5jID0gcGFydGlhbChmdW5jLCBOb25lKQorICAgIGVsc2U6CisgICAgICAgIHNpZ19mdW5jID0gZnVuYwogICAgIHRyeToKLSAgICAgICAgYXJnc3BlYyA9IGluc3BlY3QuZ2V0ZnVsbGFyZ3NwZWMoZnVuYykKLSAgICBleGNlcHQgVHlwZUVycm9yOgotICAgICAgICAjIEMgZnVuY3Rpb24gLyBtZXRob2QsIHBvc3NpYmx5IGluaGVyaXRlZCBvYmplY3QoKS5fX2luaXRfXwotICAgICAgICByZXR1cm4KLQotICAgIHJlZ2FyZ3MsIHZhcmFyZ3MsIHZhcmt3LCBkZWZhdWx0cywga3dvbmx5LCBrd29ubHlkZWYsIGFubiA9IGFyZ3NwZWMKLQotCi0gICAgIyBpbnN0YW5jZSBtZXRob2RzIGFuZCBjbGFzc21ldGhvZHMgbmVlZCB0byBsb3NlIHRoZSBzZWxmIGFyZ3VtZW50Ci0gICAgaWYgZ2V0YXR0cihmdW5jLCAnX19zZWxmX18nLCBOb25lKSBpcyBub3QgTm9uZToKLSAgICAgICAgcmVnYXJncyA9IHJlZ2FyZ3NbMTpdCi0gICAgaWYgc2tpcGZpcnN0OgotICAgICAgICAjIHRoaXMgY29uZGl0aW9uIGFuZCB0aGUgYWJvdmUgb25lIGFyZSBuZXZlciBib3RoIFRydWUgLSB3aHk/Ci0gICAgICAgIHJlZ2FyZ3MgPSByZWdhcmdzWzE6XQotCi0gICAgc2lnbmF0dXJlID0gaW5zcGVjdC5mb3JtYXRhcmdzcGVjKAotICAgICAgICByZWdhcmdzLCB2YXJhcmdzLCB2YXJrdywgZGVmYXVsdHMsCi0gICAgICAgIGt3b25seSwga3dvbmx5ZGVmLCBhbm4sIGZvcm1hdHZhbHVlPWxhbWJkYSB2YWx1ZTogIiIpCi0gICAgcmV0dXJuIHNpZ25hdHVyZVsxOi0xXSwgZnVuYworICAgICAgICByZXR1cm4gZnVuYywgaW5zcGVjdC5zaWduYXR1cmUoc2lnX2Z1bmMpCisgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICMgQ2VydGFpbiBjYWxsYWJsZSB0eXBlcyBhcmUgbm90IHN1cHBvcnRlZCBieSBpbnNwZWN0LnNpZ25hdHVyZSgpCisgICAgICAgIHJldHVybiBOb25lCiAKIAogZGVmIF9jaGVja19zaWduYXR1cmUoZnVuYywgbW9jaywgc2tpcGZpcnN0LCBpbnN0YW5jZT1GYWxzZSk6Ci0gICAgaWYgbm90IF9jYWxsYWJsZShmdW5jKToKKyAgICBzaWcgPSBfZ2V0X3NpZ25hdHVyZV9vYmplY3QoZnVuYywgaW5zdGFuY2UsIHNraXBmaXJzdCkKKyAgICBpZiBzaWcgaXMgTm9uZToKICAgICAgICAgcmV0dXJuCi0KLSAgICByZXN1bHQgPSBfZ2V0c2lnbmF0dXJlKGZ1bmMsIHNraXBmaXJzdCwgaW5zdGFuY2UpCi0gICAgaWYgcmVzdWx0IGlzIE5vbmU6Ci0gICAgICAgIHJldHVybgotICAgIHNpZ25hdHVyZSwgZnVuYyA9IHJlc3VsdAotCi0gICAgIyBjYW4ndCB1c2Ugc2VsZiBiZWNhdXNlICJzZWxmIiBpcyBjb21tb24gYXMgYW4gYXJndW1lbnQgbmFtZQotICAgICMgdW5mb3J0dW5hdGVseSBldmVuIG5vdCBpbiB0aGUgZmlyc3QgcGxhY2UKLSAgICBzcmMgPSAibGFtYmRhIF9tb2NrX3NlbGYsICVzOiBOb25lIiAlIHNpZ25hdHVyZQotICAgIGNoZWNrc2lnID0gZXZhbChzcmMsIHt9KQorICAgIGZ1bmMsIHNpZyA9IHNpZworICAgIGRlZiBjaGVja3NpZyhfbW9ja19zZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBzaWcuYmluZCgqYXJncywgKiprd2FyZ3MpCiAgICAgX2NvcHlfZnVuY19kZXRhaWxzKGZ1bmMsIGNoZWNrc2lnKQogICAgIHR5cGUobW9jaykuX21vY2tfY2hlY2tfc2lnID0gY2hlY2tzaWcKIApAQCAtMTY2LDE1ICsxNTYsMTIgQEAKICAgICAgICAgcmV0dXJuCiAKICAgICBza2lwZmlyc3QgPSBpc2luc3RhbmNlKG9yaWdpbmFsLCB0eXBlKQotICAgIHJlc3VsdCA9IF9nZXRzaWduYXR1cmUob3JpZ2luYWwsIHNraXBmaXJzdCwgaW5zdGFuY2UpCisgICAgcmVzdWx0ID0gX2dldF9zaWduYXR1cmVfb2JqZWN0KG9yaWdpbmFsLCBpbnN0YW5jZSwgc2tpcGZpcnN0KQogICAgIGlmIHJlc3VsdCBpcyBOb25lOgotICAgICAgICAjIHdhcyBhIEMgZnVuY3Rpb24gKGUuZy4gb2JqZWN0KCkuX19pbml0X18gKSB0aGF0IGNhbid0IGJlIG1vY2tlZAogICAgICAgICByZXR1cm4KLQotICAgIHNpZ25hdHVyZSwgZnVuYyA9IHJlc3VsdAotCi0gICAgc3JjID0gImxhbWJkYSAlczogTm9uZSIgJSBzaWduYXR1cmUKLSAgICBjaGVja3NpZyA9IGV2YWwoc3JjLCB7fSkKKyAgICBmdW5jLCBzaWcgPSByZXN1bHQKKyAgICBkZWYgY2hlY2tzaWcoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2lnLmJpbmQoKmFyZ3MsICoqa3dhcmdzKQogICAgIF9jb3B5X2Z1bmNfZGV0YWlscyhmdW5jLCBjaGVja3NpZykKIAogICAgIG5hbWUgPSBvcmlnaW5hbC5fX25hbWVfXwpAQCAtMzY4LDcgKzM1NSw3IEBACiAgICAgZGVmIF9faW5pdF9fKAogICAgICAgICAgICAgc2VsZiwgc3BlYz1Ob25lLCB3cmFwcz1Ob25lLCBuYW1lPU5vbmUsIHNwZWNfc2V0PU5vbmUsCiAgICAgICAgICAgICBwYXJlbnQ9Tm9uZSwgX3NwZWNfc3RhdGU9Tm9uZSwgX25ld19uYW1lPScnLCBfbmV3X3BhcmVudD1Ob25lLAotICAgICAgICAgICAgKiprd2FyZ3MKKyAgICAgICAgICAgIF9zcGVjX2FzX2luc3RhbmNlPUZhbHNlLCBfZWF0X3NlbGY9Tm9uZSwgKiprd2FyZ3MKICAgICAgICAgKToKICAgICAgICAgaWYgX25ld19wYXJlbnQgaXMgTm9uZToKICAgICAgICAgICAgIF9uZXdfcGFyZW50ID0gcGFyZW50CkBAIC0zODIsOCArMzY5LDEwIEBACiAgICAgICAgIGlmIHNwZWNfc2V0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc3BlYyA9IHNwZWNfc2V0CiAgICAgICAgICAgICBzcGVjX3NldCA9IFRydWUKKyAgICAgICAgaWYgX2VhdF9zZWxmIGlzIE5vbmU6CisgICAgICAgICAgICBfZWF0X3NlbGYgPSBwYXJlbnQgaXMgbm90IE5vbmUKIAotICAgICAgICBzZWxmLl9tb2NrX2FkZF9zcGVjKHNwZWMsIHNwZWNfc2V0KQorICAgICAgICBzZWxmLl9tb2NrX2FkZF9zcGVjKHNwZWMsIHNwZWNfc2V0LCBfc3BlY19hc19pbnN0YW5jZSwgX2VhdF9zZWxmKQogCiAgICAgICAgIF9fZGljdF9fWydfbW9ja19jaGlsZHJlbiddID0ge30KICAgICAgICAgX19kaWN0X19bJ19tb2NrX3dyYXBzJ10gPSB3cmFwcwpAQCAtNDI4LDIwICs0MTcsMjYgQEAKICAgICAgICAgc2VsZi5fbW9ja19hZGRfc3BlYyhzcGVjLCBzcGVjX3NldCkKIAogCi0gICAgZGVmIF9tb2NrX2FkZF9zcGVjKHNlbGYsIHNwZWMsIHNwZWNfc2V0KToKKyAgICBkZWYgX21vY2tfYWRkX3NwZWMoc2VsZiwgc3BlYywgc3BlY19zZXQsIF9zcGVjX2FzX2luc3RhbmNlPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICBfZWF0X3NlbGY9RmFsc2UpOgogICAgICAgICBfc3BlY19jbGFzcyA9IE5vbmUKKyAgICAgICAgX3NwZWNfc2lnbmF0dXJlID0gTm9uZQogCiAgICAgICAgIGlmIHNwZWMgaXMgbm90IE5vbmUgYW5kIG5vdCBfaXNfbGlzdChzcGVjKToKICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3BlYywgdHlwZSk6CiAgICAgICAgICAgICAgICAgX3NwZWNfY2xhc3MgPSBzcGVjCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIF9zcGVjX2NsYXNzID0gX2dldF9jbGFzcyhzcGVjKQorICAgICAgICAgICAgcmVzID0gX2dldF9zaWduYXR1cmVfb2JqZWN0KHNwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3NwZWNfYXNfaW5zdGFuY2UsIF9lYXRfc2VsZikKKyAgICAgICAgICAgIF9zcGVjX3NpZ25hdHVyZSA9IHJlcyBhbmQgcmVzWzFdCiAKICAgICAgICAgICAgIHNwZWMgPSBkaXIoc3BlYykKIAogICAgICAgICBfX2RpY3RfXyA9IHNlbGYuX19kaWN0X18KICAgICAgICAgX19kaWN0X19bJ19zcGVjX2NsYXNzJ10gPSBfc3BlY19jbGFzcwogICAgICAgICBfX2RpY3RfX1snX3NwZWNfc2V0J10gPSBzcGVjX3NldAorICAgICAgICBfX2RpY3RfX1snX3NwZWNfc2lnbmF0dXJlJ10gPSBfc3BlY19zaWduYXR1cmUKICAgICAgICAgX19kaWN0X19bJ19tb2NrX21ldGhvZHMnXSA9IHNwZWMKIAogCkBAIC02OTUsNyArNjkwLDYgQEAKICAgICAgICAgc2VsZi5fbW9ja19jaGlsZHJlbltuYW1lXSA9IF9kZWxldGVkCiAKIAotCiAgICAgZGVmIF9mb3JtYXRfbW9ja19jYWxsX3NpZ25hdHVyZShzZWxmLCBhcmdzLCBrd2FyZ3MpOgogICAgICAgICBuYW1lID0gc2VsZi5fbW9ja19uYW1lIG9yICdtb2NrJwogICAgICAgICByZXR1cm4gX2Zvcm1hdF9jYWxsX3NpZ25hdHVyZShuYW1lLCBhcmdzLCBrd2FyZ3MpCkBAIC03MTEsNiArNzA1LDI4IEBACiAgICAgICAgIHJldHVybiBtZXNzYWdlICUgKGV4cGVjdGVkX3N0cmluZywgYWN0dWFsX3N0cmluZykKIAogCisgICAgZGVmIF9jYWxsX21hdGNoZXIoc2VsZiwgX2NhbGwpOgorICAgICAgICAiIiIKKyAgICAgICAgR2l2ZW4gYSBjYWxsIChvciBzaW1wbHkgYSAoYXJncywga3dhcmdzKSB0dXBsZSksIHJldHVybiBhCisgICAgICAgIGNvbXBhcmlzb24ga2V5IHN1aXRhYmxlIGZvciBtYXRjaGluZyB3aXRoIG90aGVyIGNhbGxzLgorICAgICAgICBUaGlzIGlzIGEgYmVzdCBlZmZvcnQgbWV0aG9kIHdoaWNoIHJlbGllcyBvbiB0aGUgc3BlYydzIHNpZ25hdHVyZSwKKyAgICAgICAgaWYgYXZhaWxhYmxlLCBvciBmYWxscyBiYWNrIG9uIHRoZSBhcmd1bWVudHMgdGhlbXNlbHZlcy4KKyAgICAgICAgIiIiCisgICAgICAgIHNpZyA9IHNlbGYuX3NwZWNfc2lnbmF0dXJlCisgICAgICAgIGlmIHNpZyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIGxlbihfY2FsbCkgPT0gMjoKKyAgICAgICAgICAgICAgICBuYW1lID0gJycKKyAgICAgICAgICAgICAgICBhcmdzLCBrd2FyZ3MgPSBfY2FsbAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuYW1lLCBhcmdzLCBrd2FyZ3MgPSBfY2FsbAorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBuYW1lLCBzaWcuYmluZCgqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICBleGNlcHQgVHlwZUVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIGUud2l0aF90cmFjZWJhY2soTm9uZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBfY2FsbAorCisKICAgICBkZWYgYXNzZXJ0X2NhbGxlZF93aXRoKF9tb2NrX3NlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICIiImFzc2VydCB0aGF0IHRoZSBtb2NrIHdhcyBjYWxsZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGFyZ3VtZW50cy4KIApAQCAtNzIxLDkgKzczNywxNCBAQAogICAgICAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLl9mb3JtYXRfbW9ja19jYWxsX3NpZ25hdHVyZShhcmdzLCBrd2FyZ3MpCiAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcignRXhwZWN0ZWQgY2FsbDogJXNcbk5vdCBjYWxsZWQnICUgKGV4cGVjdGVkLCkpCiAKLSAgICAgICAgaWYgc2VsZi5jYWxsX2FyZ3MgIT0gKGFyZ3MsIGt3YXJncyk6CisgICAgICAgIGRlZiBfZXJyb3JfbWVzc2FnZSgpOgogICAgICAgICAgICAgbXNnID0gc2VsZi5fZm9ybWF0X21vY2tfZmFpbHVyZV9tZXNzYWdlKGFyZ3MsIGt3YXJncykKLSAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKG1zZykKKyAgICAgICAgICAgIHJldHVybiBtc2cKKyAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLl9jYWxsX21hdGNoZXIoKGFyZ3MsIGt3YXJncykpCisgICAgICAgIGFjdHVhbCA9IHNlbGYuX2NhbGxfbWF0Y2hlcihzZWxmLmNhbGxfYXJncykKKyAgICAgICAgaWYgZXhwZWN0ZWQgIT0gYWN0dWFsOgorICAgICAgICAgICAgY2F1c2UgPSBleHBlY3RlZCBpZiBpc2luc3RhbmNlKGV4cGVjdGVkLCBFeGNlcHRpb24pIGVsc2UgTm9uZQorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoX2Vycm9yX21lc3NhZ2UoKSkgZnJvbSBjYXVzZQogCiAKICAgICBkZWYgYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoX21vY2tfc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKQEAgLTc0NywxOCArNzY4LDIxIEBACiAKICAgICAgICAgSWYgYGFueV9vcmRlcmAgaXMgVHJ1ZSB0aGVuIHRoZSBjYWxscyBjYW4gYmUgaW4gYW55IG9yZGVyLCBidXQKICAgICAgICAgdGhleSBtdXN0IGFsbCBhcHBlYXIgaW4gYG1vY2tfY2FsbHNgLiIiIgorICAgICAgICBleHBlY3RlZCA9IFtzZWxmLl9jYWxsX21hdGNoZXIoYykgZm9yIGMgaW4gY2FsbHNdCisgICAgICAgIGNhdXNlID0gZXhwZWN0ZWQgaWYgaXNpbnN0YW5jZShleHBlY3RlZCwgRXhjZXB0aW9uKSBlbHNlIE5vbmUKKyAgICAgICAgYWxsX2NhbGxzID0gX0NhbGxMaXN0KHNlbGYuX2NhbGxfbWF0Y2hlcihjKSBmb3IgYyBpbiBzZWxmLm1vY2tfY2FsbHMpCiAgICAgICAgIGlmIG5vdCBhbnlfb3JkZXI6Ci0gICAgICAgICAgICBpZiBjYWxscyBub3QgaW4gc2VsZi5tb2NrX2NhbGxzOgorICAgICAgICAgICAgaWYgZXhwZWN0ZWQgbm90IGluIGFsbF9jYWxsczoKICAgICAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigKICAgICAgICAgICAgICAgICAgICAgJ0NhbGxzIG5vdCBmb3VuZC5cbkV4cGVjdGVkOiAlclxuJwogICAgICAgICAgICAgICAgICAgICAnQWN0dWFsOiAlcicgJSAoY2FsbHMsIHNlbGYubW9ja19jYWxscykKLSAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKSBmcm9tIGNhdXNlCiAgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBhbGxfY2FsbHMgPSBsaXN0KHNlbGYubW9ja19jYWxscykKKyAgICAgICAgYWxsX2NhbGxzID0gbGlzdChhbGxfY2FsbHMpCiAKICAgICAgICAgbm90X2ZvdW5kID0gW10KLSAgICAgICAgZm9yIGthbGwgaW4gY2FsbHM6CisgICAgICAgIGZvciBrYWxsIGluIGV4cGVjdGVkOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGFsbF9jYWxscy5yZW1vdmUoa2FsbCkKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgpAQCAtNzY2LDcgKzc5MCw3IEBACiAgICAgICAgIGlmIG5vdF9mb3VuZDoKICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKAogICAgICAgICAgICAgICAgICclciBub3QgYWxsIGZvdW5kIGluIGNhbGwgbGlzdCcgJSAodHVwbGUobm90X2ZvdW5kKSwpCi0gICAgICAgICAgICApCisgICAgICAgICAgICApIGZyb20gY2F1c2UKIAogCiAgICAgZGVmIGFzc2VydF9hbnlfY2FsbChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgpAQCAtNzc1LDEyICs3OTksMTQgQEAKICAgICAgICAgVGhlIGFzc2VydCBwYXNzZXMgaWYgdGhlIG1vY2sgaGFzICpldmVyKiBiZWVuIGNhbGxlZCwgdW5saWtlCiAgICAgICAgIGBhc3NlcnRfY2FsbGVkX3dpdGhgIGFuZCBgYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGhgIHRoYXQgb25seSBwYXNzIGlmCiAgICAgICAgIHRoZSBjYWxsIGlzIHRoZSBtb3N0IHJlY2VudCBvbmUuIiIiCi0gICAgICAgIGthbGwgPSBjYWxsKCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgaWYga2FsbCBub3QgaW4gc2VsZi5jYWxsX2FyZ3NfbGlzdDoKKyAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLl9jYWxsX21hdGNoZXIoKGFyZ3MsIGt3YXJncykpCisgICAgICAgIGFjdHVhbCA9IFtzZWxmLl9jYWxsX21hdGNoZXIoYykgZm9yIGMgaW4gc2VsZi5jYWxsX2FyZ3NfbGlzdF0KKyAgICAgICAgaWYgZXhwZWN0ZWQgbm90IGluIGFjdHVhbDoKKyAgICAgICAgICAgIGNhdXNlID0gZXhwZWN0ZWQgaWYgaXNpbnN0YW5jZShleHBlY3RlZCwgRXhjZXB0aW9uKSBlbHNlIE5vbmUKICAgICAgICAgICAgIGV4cGVjdGVkX3N0cmluZyA9IHNlbGYuX2Zvcm1hdF9tb2NrX2NhbGxfc2lnbmF0dXJlKGFyZ3MsIGt3YXJncykKICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKAogICAgICAgICAgICAgICAgICclcyBjYWxsIG5vdCBmb3VuZCcgJSBleHBlY3RlZF9zdHJpbmcKLSAgICAgICAgICAgICkKKyAgICAgICAgICAgICkgZnJvbSBjYXVzZQogCiAKICAgICBkZWYgX2dldF9jaGlsZF9tb2NrKHNlbGYsICoqa3cpOgpAQCAtODUwLDExICs4NzYsMTIgQEAKICAgICAgICAgc2VsZiA9IF9tb2NrX3NlbGYKICAgICAgICAgc2VsZi5jYWxsZWQgPSBUcnVlCiAgICAgICAgIHNlbGYuY2FsbF9jb3VudCArPSAxCi0gICAgICAgIHNlbGYuY2FsbF9hcmdzID0gX0NhbGwoKGFyZ3MsIGt3YXJncyksIHR3bz1UcnVlKQotICAgICAgICBzZWxmLmNhbGxfYXJnc19saXN0LmFwcGVuZChfQ2FsbCgoYXJncywga3dhcmdzKSwgdHdvPVRydWUpKQotCiAgICAgICAgIF9uZXdfbmFtZSA9IHNlbGYuX21vY2tfbmV3X25hbWUKICAgICAgICAgX25ld19wYXJlbnQgPSBzZWxmLl9tb2NrX25ld19wYXJlbnQKKworICAgICAgICBfY2FsbCA9IF9DYWxsKChhcmdzLCBrd2FyZ3MpLCB0d289VHJ1ZSkKKyAgICAgICAgc2VsZi5jYWxsX2FyZ3MgPSBfY2FsbAorICAgICAgICBzZWxmLmNhbGxfYXJnc19saXN0LmFwcGVuZChfY2FsbCkKICAgICAgICAgc2VsZi5tb2NrX2NhbGxzLmFwcGVuZChfQ2FsbCgoJycsIGFyZ3MsIGt3YXJncykpKQogCiAgICAgICAgIHNlZW4gPSBzZXQoKQpAQCAtOTA5LDggKzkzNiw2IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAgICAgICAgICByZXRfdmFsID0gZWZmZWN0KCphcmdzLCAqKmt3YXJncykKLSAgICAgICAgICAgIGlmIHJldF92YWwgaXMgREVGQVVMVDoKLSAgICAgICAgICAgICAgICByZXRfdmFsID0gc2VsZi5yZXR1cm5fdmFsdWUKIAogICAgICAgICBpZiAoc2VsZi5fbW9ja193cmFwcyBpcyBub3QgTm9uZSBhbmQKICAgICAgICAgICAgICBzZWxmLl9tb2NrX3JldHVybl92YWx1ZSBpcyBERUZBVUxUKToKQEAgLTIwMzAsNiArMjA1NSw4IEBACiAgICAgZWxpZiBzcGVjIGlzIE5vbmU6CiAgICAgICAgICMgTm9uZSB3ZSBtb2NrIHdpdGggYSBub3JtYWwgbW9jayB3aXRob3V0IGEgc3BlYwogICAgICAgICBfa3dhcmdzID0ge30KKyAgICBpZiBfa3dhcmdzIGFuZCBpbnN0YW5jZToKKyAgICAgICAgX2t3YXJnc1snX3NwZWNfYXNfaW5zdGFuY2UnXSA9IFRydWUKIAogICAgIF9rd2FyZ3MudXBkYXRlKGt3YXJncykKIApAQCAtMjA5NiwxMCArMjEyMywxMiBAQAogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzcGVjLCBGdW5jdGlvblR5cGVzKToKICAgICAgICAgICAgICAgICBwYXJlbnQgPSBtb2NrLm1vY2sKIAotICAgICAgICAgICAgbmV3ID0gTWFnaWNNb2NrKHBhcmVudD1wYXJlbnQsIG5hbWU9ZW50cnksIF9uZXdfbmFtZT1lbnRyeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbmV3X3BhcmVudD1wYXJlbnQsICoqa3dhcmdzKQotICAgICAgICAgICAgbW9jay5fbW9ja19jaGlsZHJlbltlbnRyeV0gPSBuZXcKICAgICAgICAgICAgIHNraXBmaXJzdCA9IF9tdXN0X3NraXAoc3BlYywgZW50cnksIGlzX3R5cGUpCisgICAgICAgICAgICBrd2FyZ3NbJ19lYXRfc2VsZiddID0gc2tpcGZpcnN0CisgICAgICAgICAgICBuZXcgPSBNYWdpY01vY2socGFyZW50PXBhcmVudCwgbmFtZT1lbnRyeSwgX25ld19uYW1lPWVudHJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9uZXdfcGFyZW50PXBhcmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3YXJncykKKyAgICAgICAgICAgIG1vY2suX21vY2tfY2hpbGRyZW5bZW50cnldID0gbmV3CiAgICAgICAgICAgICBfY2hlY2tfc2lnbmF0dXJlKG9yaWdpbmFsLCBuZXcsIHNraXBmaXJzdD1za2lwZmlyc3QpCiAKICAgICAgICAgIyBzbyBmdW5jdGlvbnMgY3JlYXRlZCB3aXRoIF9zZXRfc2lnbmF0dXJlIGJlY29tZSBpbnN0YW5jZSBhdHRyaWJ1dGVzLApAQCAtMjExMyw2ICsyMTQyLDEwIEBACiAKIAogZGVmIF9tdXN0X3NraXAoc3BlYywgZW50cnksIGlzX3R5cGUpOgorICAgICIiIgorICAgIFJldHVybiB3aGV0aGVyIHdlIHNob3VsZCBza2lwIHRoZSBmaXJzdCBhcmd1bWVudCBvbiBzcGVjJ3MgYGVudHJ5YAorICAgIGF0dHJpYnV0ZS4KKyAgICAiIiIKICAgICBpZiBub3QgaXNpbnN0YW5jZShzcGVjLCB0eXBlKToKICAgICAgICAgaWYgZW50cnkgaW4gZ2V0YXR0cihzcGVjLCAnX19kaWN0X18nLCB7fSk6CiAgICAgICAgICAgICAjIGluc3RhbmNlIGF0dHJpYnV0ZSAtIHNob3VsZG4ndCBza2lwCkBAIC0yMTI1LDcgKzIxNTgsMTIgQEAKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGlmIGlzaW5zdGFuY2UocmVzdWx0LCAoc3RhdGljbWV0aG9kLCBjbGFzc21ldGhvZCkpOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgIHJldHVybiBpc190eXBlCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShnZXRhdHRyKHJlc3VsdCwgJ19fZ2V0X18nLCBOb25lKSwgTWV0aG9kV3JhcHBlclR5cGVzKToKKyAgICAgICAgICAgICMgTm9ybWFsIG1ldGhvZCA9PiBza2lwIGlmIGxvb2tlZCB1cCBvbiB0eXBlCisgICAgICAgICAgICAjIChpZiBsb29rZWQgdXAgb24gaW5zdGFuY2UsIHNlbGYgaXMgYWxyZWFkeSBza2lwcGVkKQorICAgICAgICAgICAgcmV0dXJuIGlzX3R5cGUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogCiAgICAgIyBzaG91bGRuJ3QgZ2V0IGhlcmUgdW5sZXNzIGZ1bmN0aW9uIGlzIGEgZHluYW1pY2FsbHkgcHJvdmlkZWQgYXR0cmlidXRlCiAgICAgIyBYWFhYIHVudGVzdGVkIGJlaGF2aW91cgpAQCAtMjE1OSw5ICsyMTk3LDMxIEBACiAgICAgdHlwZShBTlkuX19lcV9fKSwKICkKIAorTWV0aG9kV3JhcHBlclR5cGVzID0gKAorICAgIHR5cGUoQU5ZLl9fZXFfXy5fX2dldF9fKSwKKykKKwogCiBmaWxlX3NwZWMgPSBOb25lCiAKK2RlZiBfaXRlcmF0ZV9yZWFkX2RhdGEocmVhZF9kYXRhKToKKyAgICAjIEhlbHBlciBmb3IgbW9ja19vcGVuOgorICAgICMgUmV0cmlldmUgbGluZXMgZnJvbSByZWFkX2RhdGEgdmlhIGEgZ2VuZXJhdG9yIHNvIHRoYXQgc2VwYXJhdGUgY2FsbHMgdG8KKyAgICAjIHJlYWRsaW5lLCByZWFkLCBhbmQgcmVhZGxpbmVzIGFyZSBwcm9wZXJseSBpbnRlcmxlYXZlZAorICAgIGRhdGFfYXNfbGlzdCA9IFsne31cbicuZm9ybWF0KGwpIGZvciBsIGluIHJlYWRfZGF0YS5zcGxpdCgnXG4nKV0KKworICAgIGlmIGRhdGFfYXNfbGlzdFstMV0gPT0gJ1xuJzoKKyAgICAgICAgIyBJZiB0aGUgbGFzdCBsaW5lIGVuZGVkIGluIGEgbmV3bGluZSwgdGhlIGxpc3QgY29tcHJlaGVuc2lvbiB3aWxsIGhhdmUgYW4KKyAgICAgICAgIyBleHRyYSBlbnRyeSB0aGF0J3MganVzdCBhIG5ld2xpbmUuICBSZW1vdmUgdGhpcy4KKyAgICAgICAgZGF0YV9hc19saXN0ID0gZGF0YV9hc19saXN0WzotMV0KKyAgICBlbHNlOgorICAgICAgICAjIElmIHRoZXJlIHdhc24ndCBhbiBleHRyYSBuZXdsaW5lIGJ5IGl0c2VsZiwgdGhlbiB0aGUgZmlsZSBiZWluZworICAgICAgICAjIGVtdWxhdGVkIGRvZXNuJ3QgaGF2ZSBhIG5ld2xpbmUgdG8gZW5kIHRoZSBsYXN0IGxpbmUgIHJlbW92ZSB0aGUKKyAgICAgICAgIyBuZXdsaW5lIHRoYXQgb3VyIG5haXZlIGZvcm1hdCgpIGFkZGVkCisgICAgICAgIGRhdGFfYXNfbGlzdFstMV0gPSBkYXRhX2FzX2xpc3RbLTFdWzotMV0KKworICAgIGZvciBsaW5lIGluIGRhdGFfYXNfbGlzdDoKKyAgICAgICAgeWllbGQgbGluZQogCiBkZWYgbW9ja19vcGVuKG1vY2s9Tm9uZSwgcmVhZF9kYXRhPScnKToKICAgICAiIiIKQEAgLTIxNzIsOSArMjIzMiwyNyBAQAogICAgIGRlZmF1bHQpIHRoZW4gYSBgTWFnaWNNb2NrYCB3aWxsIGJlIGNyZWF0ZWQgZm9yIHlvdSwgd2l0aCB0aGUgQVBJIGxpbWl0ZWQKICAgICB0byBtZXRob2RzIG9yIGF0dHJpYnV0ZXMgYXZhaWxhYmxlIG9uIHN0YW5kYXJkIGZpbGUgaGFuZGxlcy4KIAotICAgIGByZWFkX2RhdGFgIGlzIGEgc3RyaW5nIGZvciB0aGUgYHJlYWRgIG1ldGhvZCBvZiB0aGUgZmlsZSBoYW5kbGUgdG8gcmV0dXJuLgotICAgIFRoaXMgaXMgYW4gZW1wdHkgc3RyaW5nIGJ5IGRlZmF1bHQuCisgICAgYHJlYWRfZGF0YWAgaXMgYSBzdHJpbmcgZm9yIHRoZSBgcmVhZGAgbWV0aG9kZGxpbmVgLCBhbmQgYHJlYWRsaW5lc2Agb2YgdGhlCisgICAgZmlsZSBoYW5kbGUgdG8gcmV0dXJuLiAgVGhpcyBpcyBhbiBlbXB0eSBzdHJpbmcgYnkgZGVmYXVsdC4KICAgICAiIiIKKyAgICBkZWYgX3JlYWRsaW5lc19zaWRlX2VmZmVjdCgqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiBoYW5kbGUucmVhZGxpbmVzLnJldHVybl92YWx1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBoYW5kbGUucmVhZGxpbmVzLnJldHVybl92YWx1ZQorICAgICAgICByZXR1cm4gbGlzdChfZGF0YSkKKworICAgIGRlZiBfcmVhZF9zaWRlX2VmZmVjdCgqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBpZiBoYW5kbGUucmVhZC5yZXR1cm5fdmFsdWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICByZXR1cm4gaGFuZGxlLnJlYWQucmV0dXJuX3ZhbHVlCisgICAgICAgIHJldHVybiAnJy5qb2luKF9kYXRhKQorCisgICAgZGVmIF9yZWFkbGluZV9zaWRlX2VmZmVjdCgpOgorICAgICAgICBpZiBoYW5kbGUucmVhZGxpbmUucmV0dXJuX3ZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICB5aWVsZCBoYW5kbGUucmVhZGxpbmUucmV0dXJuX3ZhbHVlCisgICAgICAgIGZvciBsaW5lIGluIF9kYXRhOgorICAgICAgICAgICAgeWllbGQgbGluZQorCisKICAgICBnbG9iYWwgZmlsZV9zcGVjCiAgICAgaWYgZmlsZV9zcGVjIGlzIE5vbmU6CiAgICAgICAgIGltcG9ydCBfaW8KQEAgLTIxODQsOSArMjI2MiwxOCBAQAogICAgICAgICBtb2NrID0gTWFnaWNNb2NrKG5hbWU9J29wZW4nLCBzcGVjPW9wZW4pCiAKICAgICBoYW5kbGUgPSBNYWdpY01vY2soc3BlYz1maWxlX3NwZWMpCi0gICAgaGFuZGxlLndyaXRlLnJldHVybl92YWx1ZSA9IE5vbmUKICAgICBoYW5kbGUuX19lbnRlcl9fLnJldHVybl92YWx1ZSA9IGhhbmRsZQotICAgIGhhbmRsZS5yZWFkLnJldHVybl92YWx1ZSA9IHJlYWRfZGF0YQorCisgICAgX2RhdGEgPSBfaXRlcmF0ZV9yZWFkX2RhdGEocmVhZF9kYXRhKQorCisgICAgaGFuZGxlLndyaXRlLnJldHVybl92YWx1ZSA9IE5vbmUKKyAgICBoYW5kbGUucmVhZC5yZXR1cm5fdmFsdWUgPSBOb25lCisgICAgaGFuZGxlLnJlYWRsaW5lLnJldHVybl92YWx1ZSA9IE5vbmUKKyAgICBoYW5kbGUucmVhZGxpbmVzLnJldHVybl92YWx1ZSA9IE5vbmUKKworICAgIGhhbmRsZS5yZWFkLnNpZGVfZWZmZWN0ID0gX3JlYWRfc2lkZV9lZmZlY3QKKyAgICBoYW5kbGUucmVhZGxpbmUuc2lkZV9lZmZlY3QgPSBfcmVhZGxpbmVfc2lkZV9lZmZlY3QoKQorICAgIGhhbmRsZS5yZWFkbGluZXMuc2lkZV9lZmZlY3QgPSBfcmVhZGxpbmVzX3NpZGVfZWZmZWN0CiAKICAgICBtb2NrLnJldHVybl92YWx1ZSA9IGhhbmRsZQogICAgIHJldHVybiBtb2NrCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvcmVzdWx0LnB5IGIvTGliL3VuaXR0ZXN0L3Jlc3VsdC5weQppbmRleCA5N2U1NDI2Li5mM2Y0YjY3IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvcmVzdWx0LnB5CisrKyBiL0xpYi91bml0dGVzdC9yZXN1bHQucHkKQEAgLTEyMSw2ICsxMjEsMjIgQEAKICAgICAgICAgc2VsZi5mYWlsdXJlcy5hcHBlbmQoKHRlc3QsIHNlbGYuX2V4Y19pbmZvX3RvX3N0cmluZyhlcnIsIHRlc3QpKSkKICAgICAgICAgc2VsZi5fbWlycm9yT3V0cHV0ID0gVHJ1ZQogCisgICAgQGZhaWxmYXN0CisgICAgZGVmIGFkZFN1YlRlc3Qoc2VsZiwgdGVzdCwgc3VidGVzdCwgZXJyKToKKyAgICAgICAgIiIiQ2FsbGVkIGF0IHRoZSBlbmQgb2YgYSBzdWJ0ZXN0LgorICAgICAgICAnZXJyJyBpcyBOb25lIGlmIHRoZSBzdWJ0ZXN0IGVuZGVkIHN1Y2Nlc3NmdWxseSwgb3RoZXJ3aXNlIGl0J3MgYQorICAgICAgICB0dXBsZSBvZiB2YWx1ZXMgYXMgcmV0dXJuZWQgYnkgc3lzLmV4Y19pbmZvKCkuCisgICAgICAgICIiIgorICAgICAgICAjIEJ5IGRlZmF1bHQsIHdlIGRvbid0IGRvIGFueXRoaW5nIHdpdGggc3VjY2Vzc2Z1bCBzdWJ0ZXN0cywgYnV0CisgICAgICAgICMgbW9yZSBzb3BoaXN0aWNhdGVkIHRlc3QgcmVzdWx0cyBtaWdodCB3YW50IHRvIHJlY29yZCB0aGVtLgorICAgICAgICBpZiBlcnIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBpc3N1YmNsYXNzKGVyclswXSwgdGVzdC5mYWlsdXJlRXhjZXB0aW9uKToKKyAgICAgICAgICAgICAgICBlcnJvcnMgPSBzZWxmLmZhaWx1cmVzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGVycm9ycyA9IHNlbGYuZXJyb3JzCisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKChzdWJ0ZXN0LCBzZWxmLl9leGNfaW5mb190b19zdHJpbmcoZXJyLCB0ZXN0KSkpCisgICAgICAgICAgICBzZWxmLl9taXJyb3JPdXRwdXQgPSBUcnVlCisKICAgICBkZWYgYWRkU3VjY2VzcyhzZWxmLCB0ZXN0KToKICAgICAgICAgIkNhbGxlZCB3aGVuIGEgdGVzdCBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSIKICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3Qvc3VwcG9ydC5weSBiL0xpYi91bml0dGVzdC90ZXN0L3N1cHBvcnQucHkKaW5kZXggZGJlNGRkYy4uMDJlOGYzYSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3Qvc3VwcG9ydC5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC9zdXBwb3J0LnB5CkBAIC00MSw3ICs0MSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJQcm9ibGVtIGhhc2hpbmcgJXMgYW5kICVzOiAlcyIgJSAob2JqXzEsIG9ial8yLCBlKSkKIAogCi1jbGFzcyBMb2dnaW5nUmVzdWx0KHVuaXR0ZXN0LlRlc3RSZXN1bHQpOgorY2xhc3MgX0Jhc2VMb2dnaW5nUmVzdWx0KHVuaXR0ZXN0LlRlc3RSZXN1bHQpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsb2cpOgogICAgICAgICBzZWxmLl9ldmVudHMgPSBsb2cKICAgICAgICAgc3VwZXIoKS5fX2luaXRfXygpCkBAIC01Miw3ICs1Miw3IEBACiAKICAgICBkZWYgc3RhcnRUZXN0UnVuKHNlbGYpOgogICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKCdzdGFydFRlc3RSdW4nKQotICAgICAgICBzdXBlcihMb2dnaW5nUmVzdWx0LCBzZWxmKS5zdGFydFRlc3RSdW4oKQorICAgICAgICBzdXBlcigpLnN0YXJ0VGVzdFJ1bigpCiAKICAgICBkZWYgc3RvcFRlc3Qoc2VsZiwgdGVzdCk6CiAgICAgICAgIHNlbGYuX2V2ZW50cy5hcHBlbmQoJ3N0b3BUZXN0JykKQEAgLTYwLDcgKzYwLDcgQEAKIAogICAgIGRlZiBzdG9wVGVzdFJ1bihzZWxmKToKICAgICAgICAgc2VsZi5fZXZlbnRzLmFwcGVuZCgnc3RvcFRlc3RSdW4nKQotICAgICAgICBzdXBlcihMb2dnaW5nUmVzdWx0LCBzZWxmKS5zdG9wVGVzdFJ1bigpCisgICAgICAgIHN1cGVyKCkuc3RvcFRlc3RSdW4oKQogCiAgICAgZGVmIGFkZEZhaWx1cmUoc2VsZiwgKmFyZ3MpOgogICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKCdhZGRGYWlsdXJlJykKQEAgLTY4LDcgKzY4LDcgQEAKIAogICAgIGRlZiBhZGRTdWNjZXNzKHNlbGYsICphcmdzKToKICAgICAgICAgc2VsZi5fZXZlbnRzLmFwcGVuZCgnYWRkU3VjY2VzcycpCi0gICAgICAgIHN1cGVyKExvZ2dpbmdSZXN1bHQsIHNlbGYpLmFkZFN1Y2Nlc3MoKmFyZ3MpCisgICAgICAgIHN1cGVyKCkuYWRkU3VjY2VzcygqYXJncykKIAogICAgIGRlZiBhZGRFcnJvcihzZWxmLCAqYXJncyk6CiAgICAgICAgIHNlbGYuX2V2ZW50cy5hcHBlbmQoJ2FkZEVycm9yJykKQEAgLTc2LDE1ICs3NiwzOSBAQAogCiAgICAgZGVmIGFkZFNraXAoc2VsZiwgKmFyZ3MpOgogICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKCdhZGRTa2lwJykKLSAgICAgICAgc3VwZXIoTG9nZ2luZ1Jlc3VsdCwgc2VsZikuYWRkU2tpcCgqYXJncykKKyAgICAgICAgc3VwZXIoKS5hZGRTa2lwKCphcmdzKQogCiAgICAgZGVmIGFkZEV4cGVjdGVkRmFpbHVyZShzZWxmLCAqYXJncyk6CiAgICAgICAgIHNlbGYuX2V2ZW50cy5hcHBlbmQoJ2FkZEV4cGVjdGVkRmFpbHVyZScpCi0gICAgICAgIHN1cGVyKExvZ2dpbmdSZXN1bHQsIHNlbGYpLmFkZEV4cGVjdGVkRmFpbHVyZSgqYXJncykKKyAgICAgICAgc3VwZXIoKS5hZGRFeHBlY3RlZEZhaWx1cmUoKmFyZ3MpCiAKICAgICBkZWYgYWRkVW5leHBlY3RlZFN1Y2Nlc3Moc2VsZiwgKmFyZ3MpOgogICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKCdhZGRVbmV4cGVjdGVkU3VjY2VzcycpCi0gICAgICAgIHN1cGVyKExvZ2dpbmdSZXN1bHQsIHNlbGYpLmFkZFVuZXhwZWN0ZWRTdWNjZXNzKCphcmdzKQorICAgICAgICBzdXBlcigpLmFkZFVuZXhwZWN0ZWRTdWNjZXNzKCphcmdzKQorCisKK2NsYXNzIExlZ2FjeUxvZ2dpbmdSZXN1bHQoX0Jhc2VMb2dnaW5nUmVzdWx0KToKKyAgICAiIiIKKyAgICBBIGxlZ2FjeSBUZXN0UmVzdWx0IGltcGxlbWVudGF0aW9uLCB3aXRob3V0IGFuIGFkZFN1YlRlc3QgbWV0aG9kLAorICAgIHdoaWNoIHJlY29yZHMgaXRzIG1ldGhvZCBjYWxscy4KKyAgICAiIiIKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBhZGRTdWJUZXN0KHNlbGYpOgorICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcgorCisKK2NsYXNzIExvZ2dpbmdSZXN1bHQoX0Jhc2VMb2dnaW5nUmVzdWx0KToKKyAgICAiIiIKKyAgICBBIFRlc3RSZXN1bHQgaW1wbGVtZW50YXRpb24gd2hpY2ggcmVjb3JkcyBpdHMgbWV0aG9kIGNhbGxzLgorICAgICIiIgorCisgICAgZGVmIGFkZFN1YlRlc3Qoc2VsZiwgdGVzdCwgc3VidGVzdCwgZXJyKToKKyAgICAgICAgaWYgZXJyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKCdhZGRTdWJUZXN0U3VjY2VzcycpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9ldmVudHMuYXBwZW5kKCdhZGRTdWJUZXN0RmFpbHVyZScpCisgICAgICAgIHN1cGVyKCkuYWRkU3ViVGVzdCh0ZXN0LCBzdWJ0ZXN0LCBlcnIpCiAKIAogY2xhc3MgUmVzdWx0V2l0aE5vU3RhcnRUZXN0UnVuU3RvcFRlc3RSdW4ob2JqZWN0KToKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weQppbmRleCBmZGIyZTc4Li4wZDkyM2YwIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9jYXNlLnB5CkBAIC0xMyw3ICsxMyw3IEBACiBpbXBvcnQgdW5pdHRlc3QKIAogZnJvbSAuc3VwcG9ydCBpbXBvcnQgKAotICAgIFRlc3RFcXVhbGl0eSwgVGVzdEhhc2hpbmcsIExvZ2dpbmdSZXN1bHQsCisgICAgVGVzdEVxdWFsaXR5LCBUZXN0SGFzaGluZywgTG9nZ2luZ1Jlc3VsdCwgTGVnYWN5TG9nZ2luZ1Jlc3VsdCwKICAgICBSZXN1bHRXaXRoTm9TdGFydFRlc3RSdW5TdG9wVGVzdFJ1bgogKQogCkBAIC0yOTcsNiArMjk3LDk4IEBACiAKICAgICAgICAgRm9vKCd0ZXN0JykucnVuKCkKIAorICAgIGRlZiBfY2hlY2tfY2FsbF9vcmRlcl9fc3VidGVzdHMoc2VsZiwgcmVzdWx0LCBldmVudHMsIGV4cGVjdGVkX2V2ZW50cyk6CisgICAgICAgIGNsYXNzIEZvbyhUZXN0LkxvZ2dpbmdUZXN0Q2FzZSk6CisgICAgICAgICAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgICAgICAgICBzdXBlcihGb28sIHNlbGYpLnRlc3QoKQorICAgICAgICAgICAgICAgIGZvciBpIGluIFsxLCAyLCAzXToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoaT1pKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGkgPT0gMToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ2ZhaWx1cmUnKQorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGogaW4gWzIsIDNdOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGo9aik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGkgKiBqID09IDY6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ3JhaXNlZCBieSBGb28udGVzdCcpCisgICAgICAgICAgICAgICAgMSAvIDAKKworICAgICAgICAjIE9yZGVyIGlzIHRoZSBmb2xsb3dpbmc6CisgICAgICAgICMgaT0xID0+IHN1YnRlc3QgZmFpbHVyZQorICAgICAgICAjIGk9Miwgaj0yID0+IHN1YnRlc3Qgc3VjY2VzcworICAgICAgICAjIGk9Miwgaj0zID0+IHN1YnRlc3QgZXJyb3IKKyAgICAgICAgIyBpPTMsIGo9MiA9PiBzdWJ0ZXN0IGVycm9yCisgICAgICAgICMgaT0zLCBqPTMgPT4gc3VidGVzdCBzdWNjZXNzCisgICAgICAgICMgdG9wbGV2ZWwgPT4gZXJyb3IKKyAgICAgICAgRm9vKGV2ZW50cykucnVuKHJlc3VsdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHMsIGV4cGVjdGVkX2V2ZW50cykKKworICAgIGRlZiB0ZXN0X3J1bl9jYWxsX29yZGVyX19zdWJ0ZXN0cyhzZWxmKToKKyAgICAgICAgZXZlbnRzID0gW10KKyAgICAgICAgcmVzdWx0ID0gTG9nZ2luZ1Jlc3VsdChldmVudHMpCisgICAgICAgIGV4cGVjdGVkID0gWydzdGFydFRlc3QnLCAnc2V0VXAnLCAndGVzdCcsICd0ZWFyRG93bicsCisgICAgICAgICAgICAgICAgICAgICdhZGRTdWJUZXN0RmFpbHVyZScsICdhZGRTdWJUZXN0U3VjY2VzcycsCisgICAgICAgICAgICAgICAgICAgICdhZGRTdWJUZXN0RmFpbHVyZScsICdhZGRTdWJUZXN0RmFpbHVyZScsCisgICAgICAgICAgICAgICAgICAgICdhZGRTdWJUZXN0U3VjY2VzcycsICdhZGRFcnJvcicsICdzdG9wVGVzdCddCisgICAgICAgIHNlbGYuX2NoZWNrX2NhbGxfb3JkZXJfX3N1YnRlc3RzKHJlc3VsdCwgZXZlbnRzLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3J1bl9jYWxsX29yZGVyX19zdWJ0ZXN0c19sZWdhY3koc2VsZik6CisgICAgICAgICMgV2l0aCBhIGxlZ2FjeSByZXN1bHQgb2JqZWN0ICh3aXRob3V0IGEgYWRkU3ViVGVzdCBtZXRob2QpLAorICAgICAgICAjIHRleHQgZXhlY3V0aW9uIHN0b3BzIGFmdGVyIHRoZSBmaXJzdCBzdWJ0ZXN0IGZhaWx1cmUuCisgICAgICAgIGV2ZW50cyA9IFtdCisgICAgICAgIHJlc3VsdCA9IExlZ2FjeUxvZ2dpbmdSZXN1bHQoZXZlbnRzKQorICAgICAgICBleHBlY3RlZCA9IFsnc3RhcnRUZXN0JywgJ3NldFVwJywgJ3Rlc3QnLCAndGVhckRvd24nLAorICAgICAgICAgICAgICAgICAgICAnYWRkRmFpbHVyZScsICdzdG9wVGVzdCddCisgICAgICAgIHNlbGYuX2NoZWNrX2NhbGxfb3JkZXJfX3N1YnRlc3RzKHJlc3VsdCwgZXZlbnRzLCBleHBlY3RlZCkKKworICAgIGRlZiBfY2hlY2tfY2FsbF9vcmRlcl9fc3VidGVzdHNfc3VjY2VzcyhzZWxmLCByZXN1bHQsIGV2ZW50cywgZXhwZWN0ZWRfZXZlbnRzKToKKyAgICAgICAgY2xhc3MgRm9vKFRlc3QuTG9nZ2luZ1Rlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgorICAgICAgICAgICAgICAgIHN1cGVyKEZvbywgc2VsZikudGVzdCgpCisgICAgICAgICAgICAgICAgZm9yIGkgaW4gWzEsIDJdOgorICAgICAgICAgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChpPWkpOgorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGogaW4gWzIsIDNdOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGo9aik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICBGb28oZXZlbnRzKS5ydW4ocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50cywgZXhwZWN0ZWRfZXZlbnRzKQorCisgICAgZGVmIHRlc3RfcnVuX2NhbGxfb3JkZXJfX3N1YnRlc3RzX3N1Y2Nlc3Moc2VsZik6CisgICAgICAgIGV2ZW50cyA9IFtdCisgICAgICAgIHJlc3VsdCA9IExvZ2dpbmdSZXN1bHQoZXZlbnRzKQorICAgICAgICAjIFRoZSA2IHN1YnRlc3Qgc3VjY2Vzc2VzIGFyZSBpbmRpdmlkdWFsbHkgcmVjb3JkZWQsIGluIGFkZGl0aW9uCisgICAgICAgICMgdG8gdGhlIHdob2xlIHRlc3Qgc3VjY2Vzcy4KKyAgICAgICAgZXhwZWN0ZWQgPSAoWydzdGFydFRlc3QnLCAnc2V0VXAnLCAndGVzdCcsICd0ZWFyRG93biddCisgICAgICAgICAgICAgICAgICAgICsgNiAqIFsnYWRkU3ViVGVzdFN1Y2Nlc3MnXQorICAgICAgICAgICAgICAgICAgICArIFsnYWRkU3VjY2VzcycsICdzdG9wVGVzdCddKQorICAgICAgICBzZWxmLl9jaGVja19jYWxsX29yZGVyX19zdWJ0ZXN0c19zdWNjZXNzKHJlc3VsdCwgZXZlbnRzLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3J1bl9jYWxsX29yZGVyX19zdWJ0ZXN0c19zdWNjZXNzX2xlZ2FjeShzZWxmKToKKyAgICAgICAgIyBXaXRoIGEgbGVnYWN5IHJlc3VsdCwgb25seSB0aGUgd2hvbGUgdGVzdCBzdWNjZXNzIGlzIHJlY29yZGVkLgorICAgICAgICBldmVudHMgPSBbXQorICAgICAgICByZXN1bHQgPSBMZWdhY3lMb2dnaW5nUmVzdWx0KGV2ZW50cykKKyAgICAgICAgZXhwZWN0ZWQgPSBbJ3N0YXJ0VGVzdCcsICdzZXRVcCcsICd0ZXN0JywgJ3RlYXJEb3duJywKKyAgICAgICAgICAgICAgICAgICAgJ2FkZFN1Y2Nlc3MnLCAnc3RvcFRlc3QnXQorICAgICAgICBzZWxmLl9jaGVja19jYWxsX29yZGVyX19zdWJ0ZXN0c19zdWNjZXNzKHJlc3VsdCwgZXZlbnRzLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3J1bl9jYWxsX29yZGVyX19zdWJ0ZXN0c19mYWlsZmFzdChzZWxmKToKKyAgICAgICAgZXZlbnRzID0gW10KKyAgICAgICAgcmVzdWx0ID0gTG9nZ2luZ1Jlc3VsdChldmVudHMpCisgICAgICAgIHJlc3VsdC5mYWlsZmFzdCA9IFRydWUKKworICAgICAgICBjbGFzcyBGb28oVGVzdC5Mb2dnaW5nVGVzdENhc2UpOgorICAgICAgICAgICAgZGVmIHRlc3Qoc2VsZik6CisgICAgICAgICAgICAgICAgc3VwZXIoRm9vLCBzZWxmKS50ZXN0KCkKKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChpPTEpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ2ZhaWx1cmUnKQorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGk9Mik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnZmFpbHVyZScpCisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdmYWlsdXJlJykKKworICAgICAgICBleHBlY3RlZCA9IFsnc3RhcnRUZXN0JywgJ3NldFVwJywgJ3Rlc3QnLCAndGVhckRvd24nLAorICAgICAgICAgICAgICAgICAgICAnYWRkU3ViVGVzdEZhaWx1cmUnLCAnc3RvcFRlc3QnXQorICAgICAgICBGb28oZXZlbnRzKS5ydW4ocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50cywgZXhwZWN0ZWQpCisKICAgICAjICJUaGlzIGNsYXNzIGF0dHJpYnV0ZSBnaXZlcyB0aGUgZXhjZXB0aW9uIHJhaXNlZCBieSB0aGUgdGVzdCgpIG1ldGhvZC4KICAgICAjIElmIGEgdGVzdCBmcmFtZXdvcmsgbmVlZHMgdG8gdXNlIGEgc3BlY2lhbGl6ZWQgZXhjZXB0aW9uLCBwb3NzaWJseSB0bwogICAgICMgY2FycnkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiwgaXQgbXVzdCBzdWJjbGFzcyB0aGlzIGV4Y2VwdGlvbiBpbgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9kaXNjb3ZlcnkucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Rpc2NvdmVyeS5weQppbmRleCAxZmRmOTkxLi5lY2EzNDhlIDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Rpc2NvdmVyeS5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Rpc2NvdmVyeS5weQpAQCAtNDYsOSArNDYsOSBAQAogICAgICAgICBkZWYgcmVzdG9yZV9pc2RpcigpOgogICAgICAgICAgICAgb3MucGF0aC5pc2RpciA9IG9yaWdpbmFsX2lzZGlyCiAKLSAgICAgICAgcGF0aF9saXN0cyA9IFtbJ3Rlc3QxLnB5JywgJ3Rlc3QyLnB5JywgJ25vdF9hX3Rlc3QucHknLCAndGVzdF9kaXInLAorICAgICAgICBwYXRoX2xpc3RzID0gW1sndGVzdDIucHknLCAndGVzdDEucHknLCAnbm90X2FfdGVzdC5weScsICd0ZXN0X2RpcicsCiAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0LmZvbycsICd0ZXN0LW5vdC1hLW1vZHVsZS5weScsICdhbm90aGVyX2RpciddLAotICAgICAgICAgICAgICAgICAgICAgIFsndGVzdDMucHknLCAndGVzdDQucHknLCBdXQorICAgICAgICAgICAgICAgICAgICAgIFsndGVzdDQucHknLCAndGVzdDMucHknLCBdXQogICAgICAgICBvcy5saXN0ZGlyID0gbGFtYmRhIHBhdGg6IHBhdGhfbGlzdHMucG9wKDApCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlX2xpc3RkaXIpCiAKQEAgLTcwLDYgKzcwLDggQEAKICAgICAgICAgbG9hZGVyLl90b3BfbGV2ZWxfZGlyID0gdG9wX2xldmVsCiAgICAgICAgIHN1aXRlID0gbGlzdChsb2FkZXIuX2ZpbmRfdGVzdHModG9wX2xldmVsLCAndGVzdCoucHknKSkKIAorICAgICAgICAjIFRoZSB0ZXN0IHN1aXRlcyBmb3VuZCBzaG91bGQgYmUgc29ydGVkIGFscGhhYmV0aWNhbGx5IGZvciByZWxpYWJsZQorICAgICAgICAjIGV4ZWN1dGlvbiBvcmRlci4KICAgICAgICAgZXhwZWN0ZWQgPSBbbmFtZSArICcgbW9kdWxlIHRlc3RzJyBmb3IgbmFtZSBpbgogICAgICAgICAgICAgICAgICAgICAoJ3Rlc3QxJywgJ3Rlc3QyJyldCiAgICAgICAgIGV4cGVjdGVkLmV4dGVuZChbKCd0ZXN0X2Rpci4lcycgJSBuYW1lKSArICcgbW9kdWxlIHRlc3RzJyBmb3IgbmFtZSBpbgpAQCAtMTMyLDYgKzEzNCw3IEBACiAgICAgICAgICMgYW5kIGRpcmVjdGx5IGZyb20gdGhlIHRlc3RfZGlyZWN0b3J5MiBwYWNrYWdlCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgWydsb2FkX3Rlc3RzJywgJ3Rlc3RfZGlyZWN0b3J5MicgKyAnIG1vZHVsZSB0ZXN0cyddKQorICAgICAgICAjIFRoZSB0ZXN0IG1vZHVsZSBwYXRocyBzaG91bGQgYmUgc29ydGVkIGZvciByZWxpYWJsZSBleGVjdXRpb24gb3JkZXIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChNb2R1bGUucGF0aHMsIFsndGVzdF9kaXJlY3RvcnknLCAndGVzdF9kaXJlY3RvcnkyJ10pCiAKICAgICAgICAgIyBsb2FkX3Rlc3RzIHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIG9uY2Ugd2l0aCBsb2FkZXIsIHRlc3RzIGFuZCBwYXR0ZXJuCkBAIC0xODQsMTEgKzE4Nyw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoX2ZpbmRfdGVzdHNfYXJncywgWyhzdGFydF9kaXIsICdwYXR0ZXJuJyldKQogICAgICAgICBzZWxmLmFzc2VydEluKHRvcF9sZXZlbF9kaXIsIHN5cy5wYXRoKQogCi0gICAgZGVmIHRlc3RfZGlzY292ZXJfd2l0aF9tb2R1bGVzX3RoYXRfZmFpbF90b19pbXBvcnQoc2VsZik6Ci0gICAgICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQotCisgICAgZGVmIHNldHVwX2ltcG9ydF9pc3N1ZV90ZXN0cyhzZWxmLCBmYWtlZmlsZSk6CiAgICAgICAgIGxpc3RkaXIgPSBvcy5saXN0ZGlyCi0gICAgICAgIG9zLmxpc3RkaXIgPSBsYW1iZGEgXzogWyd0ZXN0X3RoaXNfZG9lc19ub3RfZXhpc3QucHknXQorICAgICAgICBvcy5saXN0ZGlyID0gbGFtYmRhIF86IFtmYWtlZmlsZV0KICAgICAgICAgaXNmaWxlID0gb3MucGF0aC5pc2ZpbGUKICAgICAgICAgb3MucGF0aC5pc2ZpbGUgPSBsYW1iZGEgXzogVHJ1ZQogICAgICAgICBvcmlnX3N5c19wYXRoID0gc3lzLnBhdGhbOl0KQEAgLTE5OCw2ICsxOTksMTEgQEAKICAgICAgICAgICAgIHN5cy5wYXRoWzpdID0gb3JpZ19zeXNfcGF0aAogICAgICAgICBzZWxmLmFkZENsZWFudXAocmVzdG9yZSkKIAorICAgIGRlZiB0ZXN0X2Rpc2NvdmVyX3dpdGhfbW9kdWxlc190aGF0X2ZhaWxfdG9faW1wb3J0KHNlbGYpOgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKworICAgICAgICBzZWxmLnNldHVwX2ltcG9ydF9pc3N1ZV90ZXN0cygndGVzdF90aGlzX2RvZXNfbm90X2V4aXN0LnB5JykKKwogICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcignLicpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4ob3MuZ2V0Y3dkKCksIHN5cy5wYXRoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1aXRlLmNvdW50VGVzdENhc2VzKCksIDEpCkBAIC0yMDYsNiArMjEyLDIyIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IpOgogICAgICAgICAgICAgdGVzdC50ZXN0X3RoaXNfZG9lc19ub3RfZXhpc3QoKQogCisgICAgZGVmIHRlc3RfZGlzY292ZXJfd2l0aF9tb2R1bGVfdGhhdF9yYWlzZXNfU2tpcFRlc3Rfb25faW1wb3J0KHNlbGYpOgorICAgICAgICBsb2FkZXIgPSB1bml0dGVzdC5UZXN0TG9hZGVyKCkKKworICAgICAgICBkZWYgX2dldF9tb2R1bGVfZnJvbV9uYW1lKG5hbWUpOgorICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoJ3NraXBwZXJvbycpCisgICAgICAgIGxvYWRlci5fZ2V0X21vZHVsZV9mcm9tX25hbWUgPSBfZ2V0X21vZHVsZV9mcm9tX25hbWUKKworICAgICAgICBzZWxmLnNldHVwX2ltcG9ydF9pc3N1ZV90ZXN0cygndGVzdF9za2lwX2R1bW15LnB5JykKKworICAgICAgICBzdWl0ZSA9IGxvYWRlci5kaXNjb3ZlcignLicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VpdGUuY291bnRUZXN0Q2FzZXMoKSwgMSkKKworICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKKyAgICAgICAgc3VpdGUucnVuKHJlc3VsdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0LnNraXBwZWQpLCAxKQorCiAgICAgZGVmIHRlc3RfY29tbWFuZF9saW5lX2hhbmRsaW5nX3BhcnNlQXJncyhzZWxmKToKICAgICAgICAgcHJvZ3JhbSA9IFRlc3RhYmxlVGVzdFByb2dyYW0oKQogCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3Byb2dyYW0ucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3Byb2dyYW0ucHkKaW5kZXggOTc5NDg2OC4uOTdkN2EyNCAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9wcm9ncmFtLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcHJvZ3JhbS5weQpAQCAtNjQsNiArNjQsNDEgQEAKICAgICAgICAgICAgIHJldHVybiBzZWxmLnN1aXRlQ2xhc3MoCiAgICAgICAgICAgICAgICAgW3NlbGYubG9hZFRlc3RzRnJvbVRlc3RDYXNlKFRlc3RfVGVzdFByb2dyYW0uRm9vQmFyKV0pCiAKKyAgICAgICAgZGVmIGxvYWRUZXN0c0Zyb21OYW1lcyhzZWxmLCBuYW1lcywgbW9kdWxlKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnN1aXRlQ2xhc3MoCisgICAgICAgICAgICAgICAgW3NlbGYubG9hZFRlc3RzRnJvbVRlc3RDYXNlKFRlc3RfVGVzdFByb2dyYW0uRm9vQmFyKV0pCisKKyAgICBkZWYgdGVzdF9kZWZhdWx0VGVzdF93aXRoX3N0cmluZyhzZWxmKToKKyAgICAgICAgY2xhc3MgRmFrZVJ1bm5lcihvYmplY3QpOgorICAgICAgICAgICAgZGVmIHJ1bihzZWxmLCB0ZXN0KToKKyAgICAgICAgICAgICAgICBzZWxmLnRlc3QgPSB0ZXN0CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICBvbGRfYXJndiA9IHN5cy5hcmd2CisgICAgICAgIHN5cy5hcmd2ID0gWydmYWtldGVzdCddCisgICAgICAgIHJ1bm5lciA9IEZha2VSdW5uZXIoKQorICAgICAgICBwcm9ncmFtID0gdW5pdHRlc3QuVGVzdFByb2dyYW0odGVzdFJ1bm5lcj1ydW5uZXIsIGV4aXQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VGVzdD0ndW5pdHRlc3QudGVzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0TG9hZGVyPXNlbGYuRm9vQmFyTG9hZGVyKCkpCisgICAgICAgIHN5cy5hcmd2ID0gb2xkX2FyZ3YKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJ3VuaXR0ZXN0LnRlc3QnLCksIHByb2dyYW0udGVzdE5hbWVzKQorCisgICAgZGVmIHRlc3RfZGVmYXVsdFRlc3Rfd2l0aF9pdGVyYWJsZShzZWxmKToKKyAgICAgICAgY2xhc3MgRmFrZVJ1bm5lcihvYmplY3QpOgorICAgICAgICAgICAgZGVmIHJ1bihzZWxmLCB0ZXN0KToKKyAgICAgICAgICAgICAgICBzZWxmLnRlc3QgPSB0ZXN0CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICBvbGRfYXJndiA9IHN5cy5hcmd2CisgICAgICAgIHN5cy5hcmd2ID0gWydmYWtldGVzdCddCisgICAgICAgIHJ1bm5lciA9IEZha2VSdW5uZXIoKQorICAgICAgICBwcm9ncmFtID0gdW5pdHRlc3QuVGVzdFByb2dyYW0oCisgICAgICAgICAgICB0ZXN0UnVubmVyPXJ1bm5lciwgZXhpdD1GYWxzZSwKKyAgICAgICAgICAgIGRlZmF1bHRUZXN0PVsndW5pdHRlc3QudGVzdCcsICd1bml0dGVzdC50ZXN0MiddLAorICAgICAgICAgICAgdGVzdExvYWRlcj1zZWxmLkZvb0JhckxvYWRlcigpKQorICAgICAgICBzeXMuYXJndiA9IG9sZF9hcmd2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWyd1bml0dGVzdC50ZXN0JywgJ3VuaXR0ZXN0LnRlc3QyJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW0udGVzdE5hbWVzKQogCiAgICAgZGVmIHRlc3RfTm9uRXhpdChzZWxmKToKICAgICAgICAgcHJvZ3JhbSA9IHVuaXR0ZXN0Lm1haW4oZXhpdD1GYWxzZSwKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcmVzdWx0LnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9yZXN1bHQucHkKaW5kZXggMWM1OGU2MS4uNmRkOWJiMCAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9yZXN1bHQucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9yZXN1bHQucHkKQEAgLTIyNyw2ICsyMjcsNDAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRlc3RfY2FzZSBpcyB0ZXN0KQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZm9ybWF0dGVkX2V4Yywgc3RyKQogCisgICAgZGVmIHRlc3RfYWRkU3ViVGVzdChzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0XzEoc2VsZik6CisgICAgICAgICAgICAgICAgbm9ubG9jYWwgc3VidGVzdAorICAgICAgICAgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGZvbz0xKToKKyAgICAgICAgICAgICAgICAgICAgc3VidGVzdCA9IHNlbGYuX3N1YnRlc3QKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgMS8wCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y19pbmZvX3R1cGxlID0gc3lzLmV4Y19pbmZvKCkKKyAgICAgICAgICAgICAgICAgICAgIyBSZWdpc3RlciBhbiBlcnJvciBieSBoYW5kICh0byBjaGVjayB0aGUgQVBJKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQuYWRkU3ViVGVzdCh0ZXN0LCBzdWJ0ZXN0LCBleGNfaW5mb190dXBsZSkKKyAgICAgICAgICAgICAgICAgICAgIyBOb3cgdHJpZ2dlciBhIGZhaWx1cmUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJzb21lIHJlY29nbml6YWJsZSBmYWlsdXJlIikKKworICAgICAgICBzdWJ0ZXN0ID0gTm9uZQorICAgICAgICB0ZXN0ID0gRm9vKCd0ZXN0XzEnKQorICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKKworICAgICAgICB0ZXN0LnJ1bihyZXN1bHQpCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXN1bHQud2FzU3VjY2Vzc2Z1bCgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuZXJyb3JzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0LmZhaWx1cmVzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQudGVzdHNSdW4sIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnNob3VsZFN0b3AsIEZhbHNlKQorCisgICAgICAgIHRlc3RfY2FzZSwgZm9ybWF0dGVkX2V4YyA9IHJlc3VsdC5lcnJvcnNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0ZXN0X2Nhc2UsIHN1YnRlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlplcm9EaXZpc2lvbkVycm9yIiwgZm9ybWF0dGVkX2V4YykKKyAgICAgICAgdGVzdF9jYXNlLCBmb3JtYXR0ZWRfZXhjID0gcmVzdWx0LmZhaWx1cmVzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXModGVzdF9jYXNlLCBzdWJ0ZXN0KQorICAgICAgICBzZWxmLmFzc2VydEluKCJzb21lIHJlY29nbml6YWJsZSBmYWlsdXJlIiwgZm9ybWF0dGVkX2V4YykKKwogICAgIGRlZiB0ZXN0R2V0RGVzY3JpcHRpb25XaXRob3V0RG9jc3RyaW5nKHNlbGYpOgogICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXh0VGVzdFJlc3VsdChOb25lLCBUcnVlLCAxKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKApAQCAtMjM0LDYgKzI2OCwzNyBAQAogICAgICAgICAgICAgICAgICd0ZXN0R2V0RGVzY3JpcHRpb25XaXRob3V0RG9jc3RyaW5nICgnICsgX19uYW1lX18gKwogICAgICAgICAgICAgICAgICcuVGVzdF9UZXN0UmVzdWx0KScpCiAKKyAgICBkZWYgdGVzdEdldFN1YlRlc3REZXNjcmlwdGlvbldpdGhvdXREb2NzdHJpbmcoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGZvbz0xLCBiYXI9Mik6CisgICAgICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXh0VGVzdFJlc3VsdChOb25lLCBUcnVlLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmdldERlc2NyaXB0aW9uKHNlbGYuX3N1YnRlc3QpLAorICAgICAgICAgICAgICAgICAgICAndGVzdEdldFN1YlRlc3REZXNjcmlwdGlvbldpdGhvdXREb2NzdHJpbmcgKCcgKyBfX25hbWVfXyArCisgICAgICAgICAgICAgICAgICAgICcuVGVzdF9UZXN0UmVzdWx0KSAoYmFyPTIsIGZvbz0xKScpCisgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KCdzb21lIG1lc3NhZ2UnKToKKyAgICAgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRleHRUZXN0UmVzdWx0KE5vbmUsIFRydWUsIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgICAgICByZXN1bHQuZ2V0RGVzY3JpcHRpb24oc2VsZi5fc3VidGVzdCksCisgICAgICAgICAgICAgICAgICAgICd0ZXN0R2V0U3ViVGVzdERlc2NyaXB0aW9uV2l0aG91dERvY3N0cmluZyAoJyArIF9fbmFtZV9fICsKKyAgICAgICAgICAgICAgICAgICAgJy5UZXN0X1Rlc3RSZXN1bHQpIFtzb21lIG1lc3NhZ2VdJykKKworICAgIGRlZiB0ZXN0R2V0U3ViVGVzdERlc2NyaXB0aW9uV2l0aG91dERvY3N0cmluZ0FuZFBhcmFtcyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoKToKKyAgICAgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRleHRUZXN0UmVzdWx0KE5vbmUsIFRydWUsIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgICAgICByZXN1bHQuZ2V0RGVzY3JpcHRpb24oc2VsZi5fc3VidGVzdCksCisgICAgICAgICAgICAgICAgICAgICd0ZXN0R2V0U3ViVGVzdERlc2NyaXB0aW9uV2l0aG91dERvY3N0cmluZ0FuZFBhcmFtcyAnCisgICAgICAgICAgICAgICAgICAgICcoJyArIF9fbmFtZV9fICsgJy5UZXN0X1Rlc3RSZXN1bHQpICg8c3VidGVzdD4pJykKKworICAgIGRlZiB0ZXN0R2V0TmVzdGVkU3ViVGVzdERlc2NyaXB0aW9uV2l0aG91dERvY3N0cmluZyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoZm9vPTEpOgorICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoYmFyPTIpOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRleHRUZXN0UmVzdWx0KE5vbmUsIFRydWUsIDEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5nZXREZXNjcmlwdGlvbihzZWxmLl9zdWJ0ZXN0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0R2V0TmVzdGVkU3ViVGVzdERlc2NyaXB0aW9uV2l0aG91dERvY3N0cmluZyAnCisgICAgICAgICAgICAgICAgICAgICAgICAnKCcgKyBfX25hbWVfXyArICcuVGVzdF9UZXN0UmVzdWx0KSAoYmFyPTIsIGZvbz0xKScpCisKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKICAgICBkZWYgdGVzdEdldERlc2NyaXB0aW9uV2l0aE9uZUxpbmVEb2NzdHJpbmcoc2VsZik6CkBAIC0yNDcsNiArMzEyLDE4IEBACiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKKyAgICBkZWYgdGVzdEdldFN1YlRlc3REZXNjcmlwdGlvbldpdGhPbmVMaW5lRG9jc3RyaW5nKHNlbGYpOgorICAgICAgICAiIiJUZXN0cyBnZXREZXNjcmlwdGlvbigpIGZvciBhIG1ldGhvZCB3aXRoIGEgZG9jc3RyaW5nLiIiIgorICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXh0VGVzdFJlc3VsdChOb25lLCBUcnVlLCAxKQorICAgICAgICB3aXRoIHNlbGYuc3ViVGVzdChmb289MSwgYmFyPTIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICByZXN1bHQuZ2V0RGVzY3JpcHRpb24oc2VsZi5fc3VidGVzdCksCisgICAgICAgICAgICAgICAoJ3Rlc3RHZXRTdWJUZXN0RGVzY3JpcHRpb25XaXRoT25lTGluZURvY3N0cmluZyAnCisgICAgICAgICAgICAgICAgJygnICsgX19uYW1lX18gKyAnLlRlc3RfVGVzdFJlc3VsdCkgKGJhcj0yLCBmb289MSlcbicKKyAgICAgICAgICAgICAgICAnVGVzdHMgZ2V0RGVzY3JpcHRpb24oKSBmb3IgYSBtZXRob2Qgd2l0aCBhIGRvY3N0cmluZy4nKSkKKworICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLmZsYWdzLm9wdGltaXplID49IDIsCisgICAgICAgICAgICAgICAgICAgICAiRG9jc3RyaW5ncyBhcmUgb21pdHRlZCB3aXRoIC1PMiBhbmQgYWJvdmUiKQogICAgIGRlZiB0ZXN0R2V0RGVzY3JpcHRpb25XaXRoTXVsdGlMaW5lRG9jc3RyaW5nKHNlbGYpOgogICAgICAgICAiIiJUZXN0cyBnZXREZXNjcmlwdGlvbigpIGZvciBhIG1ldGhvZCB3aXRoIGEgbG9uZ2VyIGRvY3N0cmluZy4KICAgICAgICAgVGhlIHNlY29uZCBsaW5lIG9mIHRoZSBkb2NzdHJpbmcuCkBAIC0yNTksNiArMzM2LDIxIEBACiAgICAgICAgICAgICAgICAgJ1Rlc3RzIGdldERlc2NyaXB0aW9uKCkgZm9yIGEgbWV0aG9kIHdpdGggYSBsb25nZXIgJwogICAgICAgICAgICAgICAgICdkb2NzdHJpbmcuJykpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAorICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKKyAgICBkZWYgdGVzdEdldFN1YlRlc3REZXNjcmlwdGlvbldpdGhNdWx0aUxpbmVEb2NzdHJpbmcoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGdldERlc2NyaXB0aW9uKCkgZm9yIGEgbWV0aG9kIHdpdGggYSBsb25nZXIgZG9jc3RyaW5nLgorICAgICAgICBUaGUgc2Vjb25kIGxpbmUgb2YgdGhlIGRvY3N0cmluZy4KKyAgICAgICAgIiIiCisgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRleHRUZXN0UmVzdWx0KE5vbmUsIFRydWUsIDEpCisgICAgICAgIHdpdGggc2VsZi5zdWJUZXN0KGZvbz0xLCBiYXI9Mik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIHJlc3VsdC5nZXREZXNjcmlwdGlvbihzZWxmLl9zdWJ0ZXN0KSwKKyAgICAgICAgICAgICAgICgndGVzdEdldFN1YlRlc3REZXNjcmlwdGlvbldpdGhNdWx0aUxpbmVEb2NzdHJpbmcgJworICAgICAgICAgICAgICAgICcoJyArIF9fbmFtZV9fICsgJy5UZXN0X1Rlc3RSZXN1bHQpIChiYXI9MiwgZm9vPTEpXG4nCisgICAgICAgICAgICAgICAgJ1Rlc3RzIGdldERlc2NyaXB0aW9uKCkgZm9yIGEgbWV0aG9kIHdpdGggYSBsb25nZXIgJworICAgICAgICAgICAgICAgICdkb2NzdHJpbmcuJykpCisKICAgICBkZWYgdGVzdFN0YWNrRnJhbWVUcmltbWluZyhzZWxmKToKICAgICAgICAgY2xhc3MgRnJhbWUob2JqZWN0KToKICAgICAgICAgICAgIGNsYXNzIHRiX2ZyYW1lKG9iamVjdCk6CmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3J1bm5lci5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcnVubmVyLnB5CmluZGV4IGUyMmU2YmMuLjVhOTFmMWIgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcnVubmVyLnB5CisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcnVubmVyLnB5CkBAIC01LDYgKzUsNyBAQAogaW1wb3J0IHN1YnByb2Nlc3MKIAogaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHVuaXR0ZXN0LmNhc2UgaW1wb3J0IF9PdXRjb21lCiAKIGZyb20gLnN1cHBvcnQgaW1wb3J0IExvZ2dpbmdSZXN1bHQsIFJlc3VsdFdpdGhOb1N0YXJ0VGVzdFJ1blN0b3BUZXN0UnVuCiAKQEAgLTQyLDEyICs0Myw4IEBACiAgICAgICAgICAgICBkZWYgdGVzdE5vdGhpbmcoc2VsZik6CiAgICAgICAgICAgICAgICAgcGFzcwogCi0gICAgICAgIGNsYXNzIE1vY2tPdXRjb21lKG9iamVjdCk6Ci0gICAgICAgICAgICBzdWNjZXNzID0gVHJ1ZQotICAgICAgICAgICAgZXJyb3JzID0gW10KLQogICAgICAgICB0ZXN0ID0gVGVzdGFibGVUZXN0KCd0ZXN0Tm90aGluZycpCi0gICAgICAgIHRlc3QuX291dGNvbWVGb3JEb0NsZWFudXBzID0gTW9ja091dGNvbWUKKyAgICAgICAgb3V0Y29tZSA9IHRlc3QuX291dGNvbWUgPSBfT3V0Y29tZSgpCiAKICAgICAgICAgZXhjMSA9IEV4Y2VwdGlvbignZm9vJykKICAgICAgICAgZXhjMiA9IEV4Y2VwdGlvbignYmFyJykKQEAgLTYxLDkgKzU4LDEwIEBACiAgICAgICAgIHRlc3QuYWRkQ2xlYW51cChjbGVhbnVwMikKIAogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHRlc3QuZG9DbGVhbnVwcygpKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKE1vY2tPdXRjb21lLnN1Y2Nlc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3V0Y29tZS5zdWNjZXNzKQogCi0gICAgICAgIChUeXBlMSwgaW5zdGFuY2UxLCBfKSwgKFR5cGUyLCBpbnN0YW5jZTIsIF8pID0gcmV2ZXJzZWQoTW9ja091dGNvbWUuZXJyb3JzKQorICAgICAgICAoKF8sIChUeXBlMSwgaW5zdGFuY2UxLCBfKSksCisgICAgICAgICAoXywgKFR5cGUyLCBpbnN0YW5jZTIsIF8pKSkgPSByZXZlcnNlZChvdXRjb21lLmVycm9ycykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoVHlwZTEsIGluc3RhbmNlMSksIChFeGNlcHRpb24sIGV4YzEpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChUeXBlMiwgaW5zdGFuY2UyKSwgKEV4Y2VwdGlvbiwgZXhjMikpCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rfc2tpcHBpbmcucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3NraXBwaW5nLnB5CmluZGV4IDk1MjI0MGUuLjM1NTY5MzIgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rfc2tpcHBpbmcucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9za2lwcGluZy5weQpAQCAtMjksNiArMjksMzEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQuc2tpcHBlZCwgWyh0ZXN0LCAidGVzdGluZyIpXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQudGVzdHNSdW4sIDEpCiAKKyAgICBkZWYgdGVzdF9za2lwcGluZ19zdWJ0ZXN0cyhzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0X3NraXBfbWUoc2VsZik6CisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoYT0xKToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoYj0yKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoInNraXAgMSIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoInNraXAgMiIpCisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgic2tpcCAzIikKKyAgICAgICAgZXZlbnRzID0gW10KKyAgICAgICAgcmVzdWx0ID0gTG9nZ2luZ1Jlc3VsdChldmVudHMpCisgICAgICAgIHRlc3QgPSBGb28oInRlc3Rfc2tpcF9tZSIpCisgICAgICAgIHRlc3QucnVuKHJlc3VsdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmVudHMsIFsnc3RhcnRUZXN0JywgJ2FkZFNraXAnLCAnYWRkU2tpcCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZFNraXAnLCAnc3RvcFRlc3QnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVzdWx0LnNraXBwZWQpLCAzKQorICAgICAgICBzdWJ0ZXN0LCBtc2cgPSByZXN1bHQuc2tpcHBlZFswXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgInNraXAgMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWJ0ZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzdWJ0ZXN0LCB0ZXN0KQorICAgICAgICBzdWJ0ZXN0LCBtc2cgPSByZXN1bHQuc2tpcHBlZFsxXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgInNraXAgMiIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzdWJ0ZXN0LCB1bml0dGVzdC5UZXN0Q2FzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzdWJ0ZXN0LCB0ZXN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5za2lwcGVkWzJdLCAodGVzdCwgInNraXAgMyIpKQorCiAgICAgZGVmIHRlc3Rfc2tpcHBpbmdfZGVjb3JhdG9ycyhzZWxmKToKICAgICAgICAgb3BfdGFibGUgPSAoKHVuaXR0ZXN0LnNraXBVbmxlc3MsIEZhbHNlLCBUcnVlKSwKICAgICAgICAgICAgICAgICAgICAgKHVuaXR0ZXN0LnNraXBJZiwgVHJ1ZSwgRmFsc2UpKQpAQCAtOTUsNiArMTIwLDMxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LmV4cGVjdGVkRmFpbHVyZXNbMF1bMF0sIHRlc3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHQud2FzU3VjY2Vzc2Z1bCgpKQogCisgICAgZGVmIHRlc3RfZXhwZWN0ZWRfZmFpbHVyZV9zdWJ0ZXN0cyhzZWxmKToKKyAgICAgICAgIyBBIGZhaWx1cmUgaW4gYW55IHN1YnRlc3QgY291bnRzIGFzIHRoZSBleHBlY3RlZCBmYWlsdXJlIG9mIHRoZQorICAgICAgICAjIHdob2xlIHRlc3QuCisgICAgICAgIGNsYXNzIEZvbyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlCisgICAgICAgICAgICBkZWYgdGVzdF9kaWUoc2VsZik6CisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoKToKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG9uZSBzdWNjZWVkcworICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJoZWxwIG1lISIpCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoKToKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG9uZSBkb2Vzbid0IGdldCBleGVjdXRlZAorICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoInNob3VsZG4ndCBjb21lIGhlcmUiKQorICAgICAgICBldmVudHMgPSBbXQorICAgICAgICByZXN1bHQgPSBMb2dnaW5nUmVzdWx0KGV2ZW50cykKKyAgICAgICAgdGVzdCA9IEZvbygidGVzdF9kaWUiKQorICAgICAgICB0ZXN0LnJ1bihyZXN1bHQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnc3RhcnRUZXN0JywgJ2FkZFN1YlRlc3RTdWNjZXNzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZEV4cGVjdGVkRmFpbHVyZScsICdzdG9wVGVzdCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuZXhwZWN0ZWRGYWlsdXJlcyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocmVzdWx0LmV4cGVjdGVkRmFpbHVyZXNbMF1bMF0sIHRlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHQud2FzU3VjY2Vzc2Z1bCgpKQorCiAgICAgZGVmIHRlc3RfdW5leHBlY3RlZF9zdWNjZXNzKHNlbGYpOgogICAgICAgICBjbGFzcyBGb28odW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICAgICAgQHVuaXR0ZXN0LmV4cGVjdGVkRmFpbHVyZQpAQCAtMTEwLDYgKzE2MCwzMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC51bmV4cGVjdGVkU3VjY2Vzc2VzLCBbdGVzdF0pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXN1bHQud2FzU3VjY2Vzc2Z1bCgpKQogCisgICAgZGVmIHRlc3RfdW5leHBlY3RlZF9zdWNjZXNzX3N1YnRlc3RzKHNlbGYpOgorICAgICAgICAjIFN1Y2Nlc3MgaW4gYWxsIHN1YnRlc3RzIGNvdW50cyBhcyB0aGUgdW5leHBlY3RlZCBzdWNjZXNzIG9mCisgICAgICAgICMgdGhlIHdob2xlIHRlc3QuCisgICAgICAgIGNsYXNzIEZvbyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgICAgICAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlCisgICAgICAgICAgICBkZWYgdGVzdF9kaWUoc2VsZik6CisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoKToKKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG9uZSBzdWNjZWVkcworICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLnN1YlRlc3QoKToKKyAgICAgICAgICAgICAgICAgICAgIyBTbyBkb2VzIHRoaXMgb25lCisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZXZlbnRzID0gW10KKyAgICAgICAgcmVzdWx0ID0gTG9nZ2luZ1Jlc3VsdChldmVudHMpCisgICAgICAgIHRlc3QgPSBGb28oInRlc3RfZGllIikKKyAgICAgICAgdGVzdC5ydW4ocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2ZW50cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBbJ3N0YXJ0VGVzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRTdWJUZXN0U3VjY2VzcycsICdhZGRTdWJUZXN0U3VjY2VzcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRVbmV4cGVjdGVkU3VjY2VzcycsICdzdG9wVGVzdCddKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJlc3VsdC5mYWlsdXJlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQudW5leHBlY3RlZFN1Y2Nlc3NlcywgW3Rlc3RdKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzdWx0Lndhc1N1Y2Nlc3NmdWwoKSkKKwogICAgIGRlZiB0ZXN0X3NraXBfZG9lc250X3J1bl9zZXR1cChzZWxmKToKICAgICAgICAgY2xhc3MgRm9vKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIHdhc1NldFVwID0gRmFsc2UKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RoZWxwZXJzLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdGhlbHBlcnMucHkKaW5kZXggOGJmYjI5My4uOGIyZTk2ZCAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdGhlbHBlcnMucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdGhlbHBlcnMucHkKQEAgLTMzNyw5ICszMzcsMTAgQEAKIAogCiAgICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6Ci0gICAgICAgIGZvciBzcGVjIGluIChTb21lQ2xhc3MsIFNvbWVDbGFzcygpKToKLSAgICAgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoc3BlYykKLSAgICAgICAgICAgIHNlbGYuX2NoZWNrX3NvbWVjbGFzc19tb2NrKG1vY2spCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoU29tZUNsYXNzKQorICAgICAgICBzZWxmLl9jaGVja19zb21lY2xhc3NfbW9jayhtb2NrKQorICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKFNvbWVDbGFzcygpKQorICAgICAgICBzZWxmLl9jaGVja19zb21lY2xhc3NfbW9jayhtb2NrKQogCiAKICAgICBkZWYgdGVzdF9jcmVhdGVfYXV0b3NwZWNfcmV0dXJuX3ZhbHVlKHNlbGYpOgpAQCAtNTc2LDEwICs1NzcsMTAgQEAKIAogICAgIGRlZiB0ZXN0X3NwZWNfaW5oZXJpdGFuY2VfZm9yX2NsYXNzZXMoc2VsZik6CiAgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgotICAgICAgICAgICAgZGVmIGEoc2VsZik6CisgICAgICAgICAgICBkZWYgYShzZWxmLCB4KToKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBjbGFzcyBCYXIob2JqZWN0KToKLSAgICAgICAgICAgICAgICBkZWYgZihzZWxmKToKKyAgICAgICAgICAgICAgICBkZWYgZihzZWxmLCB5KToKICAgICAgICAgICAgICAgICAgICAgcGFzcwogCiAgICAgICAgIGNsYXNzX21vY2sgPSBjcmVhdGVfYXV0b3NwZWMoRm9vKQpAQCAtNTg3LDI2ICs1ODgsMzAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChjbGFzc19tb2NrLCBjbGFzc19tb2NrKCkpCiAKICAgICAgICAgZm9yIHRoaXNfbW9jayBpbiBjbGFzc19tb2NrLCBjbGFzc19tb2NrKCk6Ci0gICAgICAgICAgICB0aGlzX21vY2suYSgpCi0gICAgICAgICAgICB0aGlzX21vY2suYS5hc3NlcnRfY2FsbGVkX3dpdGgoKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0aGlzX21vY2suYSwgJ2ZvbycpCisgICAgICAgICAgICB0aGlzX21vY2suYSh4PTUpCisgICAgICAgICAgICB0aGlzX21vY2suYS5hc3NlcnRfY2FsbGVkX3dpdGgoeD01KQorICAgICAgICAgICAgdGhpc19tb2NrLmEuYXNzZXJ0X2NhbGxlZF93aXRoKDUpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHRoaXNfbW9jay5hLCAnZm9vJywgJ2JhcicpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgdGhpc19tb2NrLCAnYicpCiAKICAgICAgICAgaW5zdGFuY2VfbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhGb28oKSkKLSAgICAgICAgaW5zdGFuY2VfbW9jay5hKCkKLSAgICAgICAgaW5zdGFuY2VfbW9jay5hLmFzc2VydF9jYWxsZWRfd2l0aCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaW5zdGFuY2VfbW9jay5hLCAnZm9vJykKKyAgICAgICAgaW5zdGFuY2VfbW9jay5hKDUpCisgICAgICAgIGluc3RhbmNlX21vY2suYS5hc3NlcnRfY2FsbGVkX3dpdGgoNSkKKyAgICAgICAgaW5zdGFuY2VfbW9jay5hLmFzc2VydF9jYWxsZWRfd2l0aCh4PTUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaW5zdGFuY2VfbW9jay5hLCAnZm9vJywgJ2JhcicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBpbnN0YW5jZV9tb2NrLCAnYicpCiAKICAgICAgICAgIyBUaGUgcmV0dXJuIHZhbHVlIGlzbid0IGlzbid0IGNhbGxhYmxlCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaW5zdGFuY2VfbW9jaykKIAotICAgICAgICBpbnN0YW5jZV9tb2NrLkJhci5mKCkKLSAgICAgICAgaW5zdGFuY2VfbW9jay5CYXIuZi5hc3NlcnRfY2FsbGVkX3dpdGgoKQorICAgICAgICBpbnN0YW5jZV9tb2NrLkJhci5mKDYpCisgICAgICAgIGluc3RhbmNlX21vY2suQmFyLmYuYXNzZXJ0X2NhbGxlZF93aXRoKDYpCisgICAgICAgIGluc3RhbmNlX21vY2suQmFyLmYuYXNzZXJ0X2NhbGxlZF93aXRoKHk9NikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIGluc3RhbmNlX21vY2suQmFyLCAnZycpCiAKLSAgICAgICAgaW5zdGFuY2VfbW9jay5CYXIoKS5mKCkKLSAgICAgICAgaW5zdGFuY2VfbW9jay5CYXIoKS5mLmFzc2VydF9jYWxsZWRfd2l0aCgpCisgICAgICAgIGluc3RhbmNlX21vY2suQmFyKCkuZig2KQorICAgICAgICBpbnN0YW5jZV9tb2NrLkJhcigpLmYuYXNzZXJ0X2NhbGxlZF93aXRoKDYpCisgICAgICAgIGluc3RhbmNlX21vY2suQmFyKCkuZi5hc3NlcnRfY2FsbGVkX3dpdGgoeT02KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgaW5zdGFuY2VfbW9jay5CYXIoKSwgJ2cnKQogCiAKQEAgLTY2MywxMiArNjY4LDE1IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKICAgICAgICAgbW9jaygxLCAyKQogICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aCgxLCAyKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aCgxLCBiPTIpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKGE9MSwgYj0yKQogCiAgICAgICAgIGYuZiA9IGYKICAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhmKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2suZikKICAgICAgICAgbW9jay5mKDMsIDQpCiAgICAgICAgIG1vY2suZi5hc3NlcnRfY2FsbGVkX3dpdGgoMywgNCkKKyAgICAgICAgbW9jay5mLmFzc2VydF9jYWxsZWRfd2l0aChhPTMsIGI9NCkKIAogCiAgICAgZGVmIHRlc3Rfc2tpcF9hdHRyaWJ1dGVlcnJvcnMoc2VsZik6CkBAIC03MDQsOSArNzEyLDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKICAgICAgICAgbW9jaygxKQogICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDEpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoYT0xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCwgMikKIAogICAgICAgICBtb2NrKDQsIDUpCiAgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKDQsIDUpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKGE9NCwgYj01KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgsIGE9NSwgYj00KQogCiAKICAgICBkZWYgdGVzdF9jbGFzc193aXRoX25vX2luaXQoc2VsZik6CkBAIC03MTksMjQgKzczMSwyNyBAQAogCiAgICAgZGVmIHRlc3Rfc2lnbmF0dXJlX2NhbGxhYmxlKHNlbGYpOgogICAgICAgICBjbGFzcyBDYWxsYWJsZShvYmplY3QpOgotICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHgsIHkpOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBhKToKICAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhDYWxsYWJsZSkKLSAgICAgICAgbW9jaygpCi0gICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoKQorICAgICAgICBtb2NrKDEsIDIpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSwgMikKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCh4PTEsIHk9MikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrLCAnYScpCiAKLSAgICAgICAgaW5zdGFuY2UgPSBtb2NrKCkKKyAgICAgICAgaW5zdGFuY2UgPSBtb2NrKDEsIDIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaW5zdGFuY2UpCiAgICAgICAgIGluc3RhbmNlKGE9J2EnKQorICAgICAgICBpbnN0YW5jZS5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgnYScpCiAgICAgICAgIGluc3RhbmNlLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKGE9J2EnKQogICAgICAgICBpbnN0YW5jZSgnYScpCiAgICAgICAgIGluc3RhbmNlLmFzc2VydF9jYWxsZWRfd2l0aCgnYScpCisgICAgICAgIGluc3RhbmNlLmFzc2VydF9jYWxsZWRfd2l0aChhPSdhJykKIAotICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKENhbGxhYmxlKCkpCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoQ2FsbGFibGUoMSwgMikpCiAgICAgICAgIG1vY2soYT0nYScpCiAgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoYT0nYScpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKQEAgLTc3OSw3ICs3OTQsMTEgQEAKICAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgYSA9IGNyZWF0ZV9hdXRvc3BlYyhGb28pCisgICAgICAgIGEuZigxMCkKKyAgICAgICAgYS5mLmFzc2VydF9jYWxsZWRfd2l0aCgxMCkKKyAgICAgICAgYS5mLmFzc2VydF9jYWxsZWRfd2l0aChzZWxmPTEwKQogICAgICAgICBhLmYoc2VsZj0xMCkKKyAgICAgICAgYS5mLmFzc2VydF9jYWxsZWRfd2l0aCgxMCkKICAgICAgICAgYS5mLmFzc2VydF9jYWxsZWRfd2l0aChzZWxmPTEwKQogCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3Rtb2NrLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKaW5kZXggM2QwNzc2Yy4uMTI3Nzg2YyAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKQEAgLTI1LDYgKzI1LDE4IEBACiAgICAgX19uZXh0X18gPSBuZXh0CiAKIAorY2xhc3MgU29tZXRoaW5nKG9iamVjdCk6CisgICAgZGVmIG1ldGgoc2VsZiwgYSwgYiwgYywgZD1Ob25lKToKKyAgICAgICAgcGFzcworCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIGNtZXRoKGNscywgYSwgYiwgYywgZD1Ob25lKToKKyAgICAgICAgcGFzcworCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBzbWV0aChhLCBiLCBjLCBkPU5vbmUpOgorICAgICAgICBwYXNzCisKIAogY2xhc3MgTW9ja1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC0yNzMsNiArMjg1LDQzIEBACiAgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKDEsIDIsIDMsIGE9J2Zpc2gnLCBiPSdub3RoaW5nJykKIAogCisgICAgZGVmIHRlc3RfYXNzZXJ0X2NhbGxlZF93aXRoX2Z1bmN0aW9uX3NwZWMoc2VsZik6CisgICAgICAgIGRlZiBmKGEsIGIsIGMsIGQ9Tm9uZSk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgbW9jayA9IE1vY2soc3BlYz1mKQorCisgICAgICAgIG1vY2soMSwgYj0yLCBjPTMpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKDEsIDIsIDMpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKGE9MSwgYj0yLCBjPTMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgYj0zLCBjPTIpCisgICAgICAgICMgRXhwZWN0ZWQgY2FsbCBkb2Vzbid0IG1hdGNoIHRoZSBzcGVjJ3Mgc2lnbmF0dXJlCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoZT04KQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY20uZXhjZXB0aW9uLl9fY2F1c2VfXywgVHlwZUVycm9yKQorCisKKyAgICBkZWYgdGVzdF9hc3NlcnRfY2FsbGVkX3dpdGhfbWV0aG9kX3NwZWMoc2VsZik6CisgICAgICAgIGRlZiBfY2hlY2sobW9jayk6CisgICAgICAgICAgICBtb2NrKDEsIGI9MiwgYz0zKQorICAgICAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMiwgMykKKyAgICAgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKGE9MSwgYj0yLCBjPTMpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCBiPTMsIGM9MikKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjPVNvbWV0aGluZygpLm1ldGgpCisgICAgICAgIF9jaGVjayhtb2NrKQorICAgICAgICBtb2NrID0gTW9jayhzcGVjPVNvbWV0aGluZy5jbWV0aCkKKyAgICAgICAgX2NoZWNrKG1vY2spCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9U29tZXRoaW5nKCkuY21ldGgpCisgICAgICAgIF9jaGVjayhtb2NrKQorICAgICAgICBtb2NrID0gTW9jayhzcGVjPVNvbWV0aGluZy5zbWV0aCkKKyAgICAgICAgX2NoZWNrKG1vY2spCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9U29tZXRoaW5nKCkuc21ldGgpCisgICAgICAgIF9jaGVjayhtb2NrKQorCisKICAgICBkZWYgdGVzdF9hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aChzZWxmKToKICAgICAgICAgbW9jayA9IE1vY2soKQogICAgICAgICBtb2NrKCkKQEAgLTI5Nyw2ICszNDYsMjkgQEAKICAgICAgICAgKQogCiAKKyAgICBkZWYgdGVzdF9hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aF9mdW5jdGlvbl9zcGVjKHNlbGYpOgorICAgICAgICBkZWYgZihhLCBiLCBjLCBkPU5vbmUpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9ZikKKworICAgICAgICBtb2NrKDEsIGI9MiwgYz0zKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIsIDMpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoYT0xLCBiPTIsIGM9MykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIGI9MywgYz0yKQorICAgICAgICAjIEV4cGVjdGVkIGNhbGwgZG9lc24ndCBtYXRjaCB0aGUgc3BlYydzIHNpZ25hdHVyZQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoZT04KQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY20uZXhjZXB0aW9uLl9fY2F1c2VfXywgVHlwZUVycm9yKQorICAgICAgICAjIE1vY2sgY2FsbGVkIG1vcmUgdGhhbiBvbmNlID0+IGFsd2F5cyBmYWlscworICAgICAgICBtb2NrKDQsIDUsIDYpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAxLCAyLCAzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNCwgNSwgNikKKworCiAgICAgZGVmIHRlc3RfYXR0cmlidXRlX2FjY2Vzc19yZXR1cm5zX21vY2tzKHNlbGYpOgogICAgICAgICBtb2NrID0gTW9jaygpCiAgICAgICAgIHNvbWV0aGluZyA9IG1vY2suc29tZXRoaW5nCkBAIC05OTUsNiArMTA2NywzOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgKQogCiAKKyAgICBkZWYgdGVzdF9hc3NlcnRfaGFzX2NhbGxzX3dpdGhfZnVuY3Rpb25fc3BlYyhzZWxmKToKKyAgICAgICAgZGVmIGYoYSwgYiwgYywgZD1Ob25lKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjPWYpCisKKyAgICAgICAgbW9jaygxLCBiPTIsIGM9MykKKyAgICAgICAgbW9jayg0LCA1LCBjPTYsIGQ9NykKKyAgICAgICAgbW9jaygxMCwgMTEsIGM9MTIpCisgICAgICAgIGNhbGxzID0gWworICAgICAgICAgICAgKCcnLCAoMSwgMiwgMyksIHt9KSwKKyAgICAgICAgICAgICgnJywgKDQsIDUsIDYpLCB7J2QnOiA3fSksCisgICAgICAgICAgICAoKDEwLCAxMSwgMTIpLCB7fSksCisgICAgICAgICAgICBdCisgICAgICAgIG1vY2suYXNzZXJ0X2hhc19jYWxscyhjYWxscykKKyAgICAgICAgbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzLCBhbnlfb3JkZXI9VHJ1ZSkKKyAgICAgICAgbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzWzE6XSkKKyAgICAgICAgbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzWzE6XSwgYW55X29yZGVyPVRydWUpCisgICAgICAgIG1vY2suYXNzZXJ0X2hhc19jYWxscyhjYWxsc1s6LTFdKQorICAgICAgICBtb2NrLmFzc2VydF9oYXNfY2FsbHMoY2FsbHNbOi0xXSwgYW55X29yZGVyPVRydWUpCisgICAgICAgICMgUmV2ZXJzZWQgb3JkZXIKKyAgICAgICAgY2FsbHMgPSBsaXN0KHJldmVyc2VkKGNhbGxzKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvcik6CisgICAgICAgICAgICBtb2NrLmFzc2VydF9oYXNfY2FsbHMoY2FsbHMpCisgICAgICAgIG1vY2suYXNzZXJ0X2hhc19jYWxscyhjYWxscywgYW55X29yZGVyPVRydWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IpOgorICAgICAgICAgICAgbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzWzE6XSkKKyAgICAgICAgbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzWzE6XSwgYW55X29yZGVyPVRydWUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IpOgorICAgICAgICAgICAgbW9jay5hc3NlcnRfaGFzX2NhbGxzKGNhbGxzWzotMV0pCisgICAgICAgIG1vY2suYXNzZXJ0X2hhc19jYWxscyhjYWxsc1s6LTFdLCBhbnlfb3JkZXI9VHJ1ZSkKKworCiAgICAgZGVmIHRlc3RfYXNzZXJ0X2FueV9jYWxsKHNlbGYpOgogICAgICAgICBtb2NrID0gTW9jaygpCiAgICAgICAgIG1vY2soMSwgMikKQEAgLTEwMjEsNiArMTEyNiwyNiBAQAogICAgICAgICApCiAKIAorICAgIGRlZiB0ZXN0X2Fzc2VydF9hbnlfY2FsbF93aXRoX2Z1bmN0aW9uX3NwZWMoc2VsZik6CisgICAgICAgIGRlZiBmKGEsIGIsIGMsIGQ9Tm9uZSk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgbW9jayA9IE1vY2soc3BlYz1mKQorCisgICAgICAgIG1vY2soMSwgYj0yLCBjPTMpCisgICAgICAgIG1vY2soNCwgNSwgYz02LCBkPTcpCisgICAgICAgIG1vY2suYXNzZXJ0X2FueV9jYWxsKDEsIDIsIDMpCisgICAgICAgIG1vY2suYXNzZXJ0X2FueV9jYWxsKGE9MSwgYj0yLCBjPTMpCisgICAgICAgIG1vY2suYXNzZXJ0X2FueV9jYWxsKDQsIDUsIDYsIDcpCisgICAgICAgIG1vY2suYXNzZXJ0X2FueV9jYWxsKGE9NCwgYj01LCBjPTYsIGQ9NykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIG1vY2suYXNzZXJ0X2FueV9jYWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAxLCBiPTMsIGM9MikKKyAgICAgICAgIyBFeHBlY3RlZCBjYWxsIGRvZXNuJ3QgbWF0Y2ggdGhlIHNwZWMncyBzaWduYXR1cmUKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvcikgYXMgY206CisgICAgICAgICAgICBtb2NrLmFzc2VydF9hbnlfY2FsbChlPTgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShjbS5leGNlcHRpb24uX19jYXVzZV9fLCBUeXBlRXJyb3IpCisKKwogICAgIGRlZiB0ZXN0X21vY2tfY2FsbHNfY3JlYXRlX2F1dG9zcGVjKHNlbGYpOgogICAgICAgICBkZWYgZihhLCBiKToKICAgICAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3R3aXRoLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHdpdGgucHkKaW5kZXggMGEwY2ZhZC4uZjU0ZTA1MSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHdpdGgucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHdpdGgucHkKQEAgLTE3Miw1ICsxNzIsODggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsICdmb28nKQogCiAKKyAgICBkZWYgdGVzdF9yZWFkbGluZV9kYXRhKHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgcmVhZGxpbmUgd2lsbCByZXR1cm4gYWxsIHRoZSBsaW5lcyBmcm9tIHRoZSBmYWtlIGZpbGUKKyAgICAgICAgbW9jayA9IG1vY2tfb3BlbihyZWFkX2RhdGE9J2Zvb1xuYmFyXG5iYXpcbicpCisgICAgICAgIHdpdGggcGF0Y2goJyVzLm9wZW4nICUgX19uYW1lX18sIG1vY2ssIGNyZWF0ZT1UcnVlKToKKyAgICAgICAgICAgIGggPSBvcGVuKCdiYXInKQorICAgICAgICAgICAgbGluZTEgPSBoLnJlYWRsaW5lKCkKKyAgICAgICAgICAgIGxpbmUyID0gaC5yZWFkbGluZSgpCisgICAgICAgICAgICBsaW5lMyA9IGgucmVhZGxpbmUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpbmUxLCAnZm9vXG4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpbmUyLCAnYmFyXG4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpbmUzLCAnYmF6XG4nKQorCisgICAgICAgICMgQ2hlY2sgdGhhdCB3ZSBwcm9wZXJseSBlbXVsYXRlIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZW5kIGluIGEgbmV3bGluZQorICAgICAgICBtb2NrID0gbW9ja19vcGVuKHJlYWRfZGF0YT0nZm9vJykKKyAgICAgICAgd2l0aCBwYXRjaCgnJXMub3BlbicgJSBfX25hbWVfXywgbW9jaywgY3JlYXRlPVRydWUpOgorICAgICAgICAgICAgaCA9IG9wZW4oJ2JhcicpCisgICAgICAgICAgICByZXN1bHQgPSBoLnJlYWRsaW5lKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsICdmb28nKQorCisKKyAgICBkZWYgdGVzdF9yZWFkbGluZXNfZGF0YShzZWxmKToKKyAgICAgICAgIyBUZXN0IHRoYXQgZW11bGF0aW5nIGEgZmlsZSB0aGF0IGVuZHMgaW4gYSBuZXdsaW5lIGNoYXJhY3RlciB3b3JrcworICAgICAgICBtb2NrID0gbW9ja19vcGVuKHJlYWRfZGF0YT0nZm9vXG5iYXJcbmJhelxuJykKKyAgICAgICAgd2l0aCBwYXRjaCgnJXMub3BlbicgJSBfX25hbWVfXywgbW9jaywgY3JlYXRlPVRydWUpOgorICAgICAgICAgICAgaCA9IG9wZW4oJ2JhcicpCisgICAgICAgICAgICByZXN1bHQgPSBoLnJlYWRsaW5lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCBbJ2Zvb1xuJywgJ2JhclxuJywgJ2JhelxuJ10pCisKKyAgICAgICAgIyBUZXN0IHRoYXQgZmlsZXMgd2l0aG91dCBhIGZpbmFsIG5ld2xpbmUgd2lsbCBhbHNvIGJlIGNvcnJlY3RseQorICAgICAgICAjIGVtdWxhdGVkCisgICAgICAgIG1vY2sgPSBtb2NrX29wZW4ocmVhZF9kYXRhPSdmb29cbmJhclxuYmF6JykKKyAgICAgICAgd2l0aCBwYXRjaCgnJXMub3BlbicgJSBfX25hbWVfXywgbW9jaywgY3JlYXRlPVRydWUpOgorICAgICAgICAgICAgaCA9IG9wZW4oJ2JhcicpCisgICAgICAgICAgICByZXN1bHQgPSBoLnJlYWRsaW5lcygpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIFsnZm9vXG4nLCAnYmFyXG4nLCAnYmF6J10pCisKKworICAgIGRlZiB0ZXN0X21vY2tfb3Blbl9yZWFkX3dpdGhfYXJndW1lbnQoc2VsZik6CisgICAgICAgICMgQXQgb25lIHBvaW50IGNhbGxpbmcgcmVhZCB3aXRoIGFuIGFyZ3VtZW50IHdhcyBicm9rZW4KKyAgICAgICAgIyBmb3IgbW9ja3MgcmV0dXJuZWQgYnkgbW9ja19vcGVuCisgICAgICAgIHNvbWVfZGF0YSA9ICdmb29cbmJhclxuYmF6JworICAgICAgICBtb2NrID0gbW9ja19vcGVuKHJlYWRfZGF0YT1zb21lX2RhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jaygpLnJlYWQoMTApLCBzb21lX2RhdGEpCisKKworICAgIGRlZiB0ZXN0X2ludGVybGVhdmVkX3JlYWRzKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCBjYWxsaW5nIHJlYWQsIHJlYWRsaW5lLCBhbmQgcmVhZGxpbmVzIHB1bGxzIGRhdGEKKyAgICAgICAgIyBzZXF1ZW50aWFsbHkgZnJvbSB0aGUgZGF0YSB3ZSBwcmVsb2FkIHdpdGgKKyAgICAgICAgbW9jayA9IG1vY2tfb3BlbihyZWFkX2RhdGE9J2Zvb1xuYmFyXG5iYXpcbicpCisgICAgICAgIHdpdGggcGF0Y2goJyVzLm9wZW4nICUgX19uYW1lX18sIG1vY2ssIGNyZWF0ZT1UcnVlKToKKyAgICAgICAgICAgIGggPSBvcGVuKCdiYXInKQorICAgICAgICAgICAgbGluZTEgPSBoLnJlYWRsaW5lKCkKKyAgICAgICAgICAgIHJlc3QgPSBoLnJlYWRsaW5lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZTEsICdmb29cbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdCwgWydiYXJcbicsICdiYXpcbiddKQorCisgICAgICAgIG1vY2sgPSBtb2NrX29wZW4ocmVhZF9kYXRhPSdmb29cbmJhclxuYmF6XG4nKQorICAgICAgICB3aXRoIHBhdGNoKCclcy5vcGVuJyAlIF9fbmFtZV9fLCBtb2NrLCBjcmVhdGU9VHJ1ZSk6CisgICAgICAgICAgICBoID0gb3BlbignYmFyJykKKyAgICAgICAgICAgIGxpbmUxID0gaC5yZWFkbGluZSgpCisgICAgICAgICAgICByZXN0ID0gaC5yZWFkKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lMSwgJ2Zvb1xuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN0LCAnYmFyXG5iYXpcbicpCisKKworICAgIGRlZiB0ZXN0X292ZXJyaWRpbmdfcmV0dXJuX3ZhbHVlcyhzZWxmKToKKyAgICAgICAgbW9jayA9IG1vY2tfb3BlbihyZWFkX2RhdGE9J2ZvbycpCisgICAgICAgIGhhbmRsZSA9IG1vY2soKQorCisgICAgICAgIGhhbmRsZS5yZWFkLnJldHVybl92YWx1ZSA9ICdiYXInCisgICAgICAgIGhhbmRsZS5yZWFkbGluZS5yZXR1cm5fdmFsdWUgPSAnYmFyJworICAgICAgICBoYW5kbGUucmVhZGxpbmVzLnJldHVybl92YWx1ZSA9IFsnYmFyJ10KKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhbmRsZS5yZWFkKCksICdiYXInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhbmRsZS5yZWFkbGluZSgpLCAnYmFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYW5kbGUucmVhZGxpbmVzKCksIFsnYmFyJ10pCisKKyAgICAgICAgIyBjYWxsIHJlcGVhdGVkbHkgdG8gY2hlY2sgdGhhdCBhIFN0b3BJdGVyYXRpb24gaXMgbm90IHByb3BhZ2F0ZWQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYW5kbGUucmVhZGxpbmUoKSwgJ2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxlLnJlYWRsaW5lKCksICdiYXInKQorCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdXJsbGliL2Vycm9yLnB5IGIvTGliL3VybGxpYi9lcnJvci5weQppbmRleCBiNzEyZWJiLi40NWI3MTY5IDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL2Vycm9yLnB5CisrKyBiL0xpYi91cmxsaWIvZXJyb3IucHkKQEAgLTEsNiArMSw2IEBACiAiIiJFeGNlcHRpb24gY2xhc3NlcyByYWlzZWQgYnkgdXJsbGliLgogCi1UaGUgYmFzZSBleGNlcHRpb24gY2xhc3MgaXMgVVJMRXJyb3IsIHdoaWNoIGluaGVyaXRzIGZyb20gSU9FcnJvci4gIEl0CitUaGUgYmFzZSBleGNlcHRpb24gY2xhc3MgaXMgVVJMRXJyb3IsIHdoaWNoIGluaGVyaXRzIGZyb20gT1NFcnJvci4gIEl0CiBkb2Vzbid0IGRlZmluZSBhbnkgYmVoYXZpb3Igb2YgaXRzIG93biwgYnV0IGlzIHRoZSBiYXNlIGNsYXNzIGZvciBhbGwKIGV4Y2VwdGlvbnMgZGVmaW5lZCBpbiB0aGlzIHBhY2thZ2UuCiAKQEAgLTE3LDExICsxNywxMSBAQAogCiAKICMgZG8gdGhlc2UgZXJyb3IgY2xhc3NlcyBtYWtlIHNlbnNlPwotIyBtYWtlIHN1cmUgYWxsIG9mIHRoZSBJT0Vycm9yIHN0dWZmIGlzIG92ZXJyaWRkZW4uICB3ZSBqdXN0IHdhbnQgdG8gYmUKKyMgbWFrZSBzdXJlIGFsbCBvZiB0aGUgT1NFcnJvciBzdHVmZiBpcyBvdmVycmlkZGVuLiAgd2UganVzdCB3YW50IHRvIGJlCiAjIHN1YnR5cGVzLgogCi1jbGFzcyBVUkxFcnJvcihJT0Vycm9yKToKLSAgICAjIFVSTEVycm9yIGlzIGEgc3ViLXR5cGUgb2YgSU9FcnJvciwgYnV0IGl0IGRvZXNuJ3Qgc2hhcmUgYW55IG9mCitjbGFzcyBVUkxFcnJvcihPU0Vycm9yKToKKyAgICAjIFVSTEVycm9yIGlzIGEgc3ViLXR5cGUgb2YgT1NFcnJvciwgYnV0IGl0IGRvZXNuJ3Qgc2hhcmUgYW55IG9mCiAgICAgIyB0aGUgaW1wbGVtZW50YXRpb24uICBuZWVkIHRvIG92ZXJyaWRlIF9faW5pdF9fIGFuZCBfX3N0cl9fLgogICAgICMgSXQgc2V0cyBzZWxmLmFyZ3MgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlciBFbnZpcm9ubWVudEVycm9yCiAgICAgIyBzdWJjbGFzc2VzLCBidXQgYXJncyBkb2Vzbid0IGhhdmUgdGhlIHR5cGljYWwgZm9ybWF0IHdpdGggZXJybm8gaW4KQEAgLTYxLDkgKzYxLDEzIEBACiAgICAgZGVmIHJlYXNvbihzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYubXNnCiAKLSAgICBkZWYgaW5mbyhzZWxmKToKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgaGVhZGVycyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuaGRycwogCisgICAgQGhlYWRlcnMuc2V0dGVyCisgICAgZGVmIGhlYWRlcnMoc2VsZiwgaGVhZGVycyk6CisgICAgICAgIHNlbGYuaGRycyA9IGhlYWRlcnMKIAogIyBleGNlcHRpb24gcmFpc2VkIHdoZW4gZG93bmxvYWRlZCBzaXplIGRvZXMgbm90IG1hdGNoIGNvbnRlbnQtbGVuZ3RoCiBjbGFzcyBDb250ZW50VG9vU2hvcnRFcnJvcihVUkxFcnJvcik6CmRpZmYgLS1naXQgYS9MaWIvdXJsbGliL3BhcnNlLnB5IGIvTGliL3VybGxpYi9wYXJzZS5weQppbmRleCBhYmU1ZDBkLi5iNDliN2ExIDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3BhcnNlLnB5CisrKyBiL0xpYi91cmxsaWIvcGFyc2UucHkKQEAgLTg0Niw3ICs4NDYsNiBAQAogICAgICIiInNwbGl0dHlwZSgndHlwZTpvcGFxdWVzdHJpbmcnKSAtLT4gJ3R5cGUnLCAnb3BhcXVlc3RyaW5nJy4iIiIKICAgICBnbG9iYWwgX3R5cGVwcm9nCiAgICAgaWYgX3R5cGVwcm9nIGlzIE5vbmU6Ci0gICAgICAgIGltcG9ydCByZQogICAgICAgICBfdHlwZXByb2cgPSByZS5jb21waWxlKCdeKFteLzpdKyk6JykKIAogICAgIG1hdGNoID0gX3R5cGVwcm9nLm1hdGNoKHVybCkKQEAgLTg2MCw3ICs4NTksNiBAQAogICAgICIiInNwbGl0aG9zdCgnLy9ob3N0Wzpwb3J0XS9wYXRoJykgLS0+ICdob3N0Wzpwb3J0XScsICcvcGF0aCcuIiIiCiAgICAgZ2xvYmFsIF9ob3N0cHJvZwogICAgIGlmIF9ob3N0cHJvZyBpcyBOb25lOgotICAgICAgICBpbXBvcnQgcmUKICAgICAgICAgX2hvc3Rwcm9nID0gcmUuY29tcGlsZSgnXi8vKFteLz9dKikoLiopJCcpCiAKICAgICBtYXRjaCA9IF9ob3N0cHJvZy5tYXRjaCh1cmwpCkBAIC04NzcsNyArODc1LDYgQEAKICAgICAiIiJzcGxpdHVzZXIoJ3VzZXJbOnBhc3N3ZF1AaG9zdFs6cG9ydF0nKSAtLT4gJ3VzZXJbOnBhc3N3ZF0nLCAnaG9zdFs6cG9ydF0nLiIiIgogICAgIGdsb2JhbCBfdXNlcnByb2cKICAgICBpZiBfdXNlcnByb2cgaXMgTm9uZToKLSAgICAgICAgaW1wb3J0IHJlCiAgICAgICAgIF91c2VycHJvZyA9IHJlLmNvbXBpbGUoJ14oLiopQCguKikkJykKIAogICAgIG1hdGNoID0gX3VzZXJwcm9nLm1hdGNoKGhvc3QpCkBAIC04ODksNyArODg2LDYgQEAKICAgICAiIiJzcGxpdHBhc3N3ZCgndXNlcjpwYXNzd2QnKSAtPiAndXNlcicsICdwYXNzd2QnLiIiIgogICAgIGdsb2JhbCBfcGFzc3dkcHJvZwogICAgIGlmIF9wYXNzd2Rwcm9nIGlzIE5vbmU6Ci0gICAgICAgIGltcG9ydCByZQogICAgICAgICBfcGFzc3dkcHJvZyA9IHJlLmNvbXBpbGUoJ14oW146XSopOiguKikkJyxyZS5TKQogCiAgICAgbWF0Y2ggPSBfcGFzc3dkcHJvZy5tYXRjaCh1c2VyKQpAQCAtOTAyLDcgKzg5OCw2IEBACiAgICAgIiIic3BsaXRwb3J0KCdob3N0OnBvcnQnKSAtLT4gJ2hvc3QnLCAncG9ydCcuIiIiCiAgICAgZ2xvYmFsIF9wb3J0cHJvZwogICAgIGlmIF9wb3J0cHJvZyBpcyBOb25lOgotICAgICAgICBpbXBvcnQgcmUKICAgICAgICAgX3BvcnRwcm9nID0gcmUuY29tcGlsZSgnXiguKik6KFswLTldKykkJykKIAogICAgIG1hdGNoID0gX3BvcnRwcm9nLm1hdGNoKGhvc3QpCkBAIC05MTcsNyArOTEyLDYgQEAKICAgICBSZXR1cm4gTm9uZSBpZiAnOicgYnV0IG5vdCBhIHZhbGlkIG51bWJlci4iIiIKICAgICBnbG9iYWwgX25wb3J0cHJvZwogICAgIGlmIF9ucG9ydHByb2cgaXMgTm9uZToKLSAgICAgICAgaW1wb3J0IHJlCiAgICAgICAgIF9ucG9ydHByb2cgPSByZS5jb21waWxlKCdeKC4qKTooLiopJCcpCiAKICAgICBtYXRjaCA9IF9ucG9ydHByb2cubWF0Y2goaG9zdCkKQEAgLTkzNiw3ICs5MzAsNiBAQAogICAgICIiInNwbGl0cXVlcnkoJy9wYXRoP3F1ZXJ5JykgLS0+ICcvcGF0aCcsICdxdWVyeScuIiIiCiAgICAgZ2xvYmFsIF9xdWVyeXByb2cKICAgICBpZiBfcXVlcnlwcm9nIGlzIE5vbmU6Ci0gICAgICAgIGltcG9ydCByZQogICAgICAgICBfcXVlcnlwcm9nID0gcmUuY29tcGlsZSgnXiguKilcPyhbXj9dKikkJykKIAogICAgIG1hdGNoID0gX3F1ZXJ5cHJvZy5tYXRjaCh1cmwpCkBAIC05NDgsNyArOTQxLDYgQEAKICAgICAiIiJzcGxpdHRhZygnL3BhdGgjdGFnJykgLS0+ICcvcGF0aCcsICd0YWcnLiIiIgogICAgIGdsb2JhbCBfdGFncHJvZwogICAgIGlmIF90YWdwcm9nIGlzIE5vbmU6Ci0gICAgICAgIGltcG9ydCByZQogICAgICAgICBfdGFncHJvZyA9IHJlLmNvbXBpbGUoJ14oLiopIyhbXiNdKikkJykKIAogICAgIG1hdGNoID0gX3RhZ3Byb2cubWF0Y2godXJsKQpAQCAtOTY2LDcgKzk1OCw2IEBACiAgICAgIiIic3BsaXR2YWx1ZSgnYXR0cj12YWx1ZScpIC0tPiAnYXR0cicsICd2YWx1ZScuIiIiCiAgICAgZ2xvYmFsIF92YWx1ZXByb2cKICAgICBpZiBfdmFsdWVwcm9nIGlzIE5vbmU6Ci0gICAgICAgIGltcG9ydCByZQogICAgICAgICBfdmFsdWVwcm9nID0gcmUuY29tcGlsZSgnXihbXj1dKik9KC4qKSQnKQogCiAgICAgbWF0Y2ggPSBfdmFsdWVwcm9nLm1hdGNoKGF0dHIpCmRpZmYgLS1naXQgYS9MaWIvdXJsbGliL3JlcXVlc3QucHkgYi9MaWIvdXJsbGliL3JlcXVlc3QucHkKaW5kZXggYjJhNzdlYi4uZmI4NjMzNSAxMDA2NDQKLS0tIGEvTGliL3VybGxpYi9yZXF1ZXN0LnB5CisrKyBiL0xpYi91cmxsaWIvcmVxdWVzdC5weQpAQCAtMTgsNyArMTgsNyBAQAogdXJsbGliLiAgcGFzcyB0aGUgdXJsIGFuZCBvcHRpb25hbGx5IGRhdGEgdG8gcG9zdCB0byBhbiBIVFRQIFVSTCwgYW5kCiBnZXQgYSBmaWxlLWxpa2Ugb2JqZWN0IGJhY2suICBPbmUgZGlmZmVyZW5jZSBpcyB0aGF0IHlvdSBjYW4gYWxzbyBwYXNzCiBhIFJlcXVlc3QgaW5zdGFuY2UgaW5zdGVhZCBvZiBVUkwuICBSYWlzZXMgYSBVUkxFcnJvciAoc3ViY2xhc3Mgb2YKLUlPRXJyb3IpOyBmb3IgSFRUUCBlcnJvcnMsIHJhaXNlcyBhbiBIVFRQRXJyb3IsIHdoaWNoIGNhbiBhbHNvIGJlCitPU0Vycm9yKTsgZm9yIEhUVFAgZXJyb3JzLCByYWlzZXMgYW4gSFRUUEVycm9yLCB3aGljaCBjYW4gYWxzbyBiZQogdHJlYXRlZCBhcyBhIHZhbGlkIHJlc3BvbnNlLgogCiBidWlsZF9vcGVuZXIgLS0gRnVuY3Rpb24gdGhhdCBjcmVhdGVzIGEgbmV3IE9wZW5lckRpcmVjdG9yIGluc3RhbmNlLgpAQCAtMTAzLDcgKzEwMyw4IEBACiBmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgKAogICAgIHVybHBhcnNlLCB1cmxzcGxpdCwgdXJsam9pbiwgdW53cmFwLCBxdW90ZSwgdW5xdW90ZSwKICAgICBzcGxpdHR5cGUsIHNwbGl0aG9zdCwgc3BsaXRwb3J0LCBzcGxpdHVzZXIsIHNwbGl0cGFzc3dkLAotICAgIHNwbGl0YXR0ciwgc3BsaXRxdWVyeSwgc3BsaXR2YWx1ZSwgc3BsaXR0YWcsIHRvX2J5dGVzLCB1cmx1bnBhcnNlKQorICAgIHNwbGl0YXR0ciwgc3BsaXRxdWVyeSwgc3BsaXR2YWx1ZSwgc3BsaXR0YWcsIHRvX2J5dGVzLAorICAgIHVucXVvdGVfdG9fYnl0ZXMsIHVybHVucGFyc2UpCiBmcm9tIHVybGxpYi5yZXNwb25zZSBpbXBvcnQgYWRkaW5mb3VybCwgYWRkY2xvc2Vob29rCiAKICMgY2hlY2sgZm9yIFNTTApAQCAtMTIxLDcgKzEyMiw3IEBACiAgICAgJ0hUVFBQYXNzd29yZE1ncicsICdIVFRQUGFzc3dvcmRNZ3JXaXRoRGVmYXVsdFJlYWxtJywKICAgICAnQWJzdHJhY3RCYXNpY0F1dGhIYW5kbGVyJywgJ0hUVFBCYXNpY0F1dGhIYW5kbGVyJywgJ1Byb3h5QmFzaWNBdXRoSGFuZGxlcicsCiAgICAgJ0Fic3RyYWN0RGlnZXN0QXV0aEhhbmRsZXInLCAnSFRUUERpZ2VzdEF1dGhIYW5kbGVyJywgJ1Byb3h5RGlnZXN0QXV0aEhhbmRsZXInLAotICAgICdIVFRQSGFuZGxlcicsICdGaWxlSGFuZGxlcicsICdGVFBIYW5kbGVyJywgJ0NhY2hlRlRQSGFuZGxlcicsCisgICAgJ0hUVFBIYW5kbGVyJywgJ0ZpbGVIYW5kbGVyJywgJ0ZUUEhhbmRsZXInLCAnQ2FjaGVGVFBIYW5kbGVyJywgJ0RhdGFIYW5kbGVyJywKICAgICAnVW5rbm93bkhhbmRsZXInLCAnSFRUUEVycm9yUHJvY2Vzc29yJywKICAgICAjIEZ1bmN0aW9ucwogICAgICd1cmxvcGVuJywgJ2luc3RhbGxfb3BlbmVyJywgJ2J1aWxkX29wZW5lcicsCkBAIC0yMjcsNyArMjI4LDcgQEAKICAgICBmb3IgdGVtcF9maWxlIGluIF91cmxfdGVtcGZpbGVzOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy51bmxpbmsodGVtcF9maWxlKQotICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKICAgICBkZWwgX3VybF90ZW1wZmlsZXNbOl0KQEAgLTI1OCwyNCArMjU5LDU3IEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHVybCwgZGF0YT1Ob25lLCBoZWFkZXJzPXt9LAogICAgICAgICAgICAgICAgICBvcmlnaW5fcmVxX2hvc3Q9Tm9uZSwgdW52ZXJpZmlhYmxlPUZhbHNlLAogICAgICAgICAgICAgICAgICBtZXRob2Q9Tm9uZSk6Ci0gICAgICAgICMgdW53cmFwKCc8VVJMOnR5cGU6Ly9ob3N0L3BhdGg+JykgLS0+ICd0eXBlOi8vaG9zdC9wYXRoJwotICAgICAgICBzZWxmLmZ1bGxfdXJsID0gdW53cmFwKHVybCkKLSAgICAgICAgc2VsZi5mdWxsX3VybCwgc2VsZi5mcmFnbWVudCA9IHNwbGl0dGFnKHNlbGYuZnVsbF91cmwpCi0gICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKKyAgICAgICAgc2VsZi5mdWxsX3VybCA9IHVybAogICAgICAgICBzZWxmLmhlYWRlcnMgPSB7fQorICAgICAgICBzZWxmLnVucmVkaXJlY3RlZF9oZHJzID0ge30KKyAgICAgICAgc2VsZi5fZGF0YSA9IE5vbmUKKyAgICAgICAgc2VsZi5kYXRhID0gZGF0YQogICAgICAgICBzZWxmLl90dW5uZWxfaG9zdCA9IE5vbmUKICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gaGVhZGVycy5pdGVtcygpOgogICAgICAgICAgICAgc2VsZi5hZGRfaGVhZGVyKGtleSwgdmFsdWUpCi0gICAgICAgIHNlbGYudW5yZWRpcmVjdGVkX2hkcnMgPSB7fQogICAgICAgICBpZiBvcmlnaW5fcmVxX2hvc3QgaXMgTm9uZToKICAgICAgICAgICAgIG9yaWdpbl9yZXFfaG9zdCA9IHJlcXVlc3RfaG9zdChzZWxmKQogICAgICAgICBzZWxmLm9yaWdpbl9yZXFfaG9zdCA9IG9yaWdpbl9yZXFfaG9zdAogICAgICAgICBzZWxmLnVudmVyaWZpYWJsZSA9IHVudmVyaWZpYWJsZQogICAgICAgICBzZWxmLm1ldGhvZCA9IG1ldGhvZAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGZ1bGxfdXJsKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fZnVsbF91cmwKKworICAgIEBmdWxsX3VybC5zZXR0ZXIKKyAgICBkZWYgZnVsbF91cmwoc2VsZiwgdXJsKToKKyAgICAgICAgIyB1bndyYXAoJzxVUkw6dHlwZTovL2hvc3QvcGF0aD4nKSAtLT4gJ3R5cGU6Ly9ob3N0L3BhdGgnCisgICAgICAgIHNlbGYuX2Z1bGxfdXJsID0gdW53cmFwKHVybCkKKyAgICAgICAgc2VsZi5fZnVsbF91cmwsIHNlbGYuZnJhZ21lbnQgPSBzcGxpdHRhZyhzZWxmLl9mdWxsX3VybCkKICAgICAgICAgc2VsZi5fcGFyc2UoKQogCisgICAgQGZ1bGxfdXJsLmRlbGV0ZXIKKyAgICBkZWYgZnVsbF91cmwoc2VsZik6CisgICAgICAgIHNlbGYuX2Z1bGxfdXJsID0gTm9uZQorICAgICAgICBzZWxmLmZyYWdtZW50ID0gTm9uZQorICAgICAgICBzZWxmLnNlbGVjdG9yID0gJycKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBkYXRhKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fZGF0YQorCisgICAgQGRhdGEuc2V0dGVyCisgICAgZGVmIGRhdGEoc2VsZiwgZGF0YSk6CisgICAgICAgIGlmIGRhdGEgIT0gc2VsZi5fZGF0YToKKyAgICAgICAgICAgIHNlbGYuX2RhdGEgPSBkYXRhCisgICAgICAgICAgICAjIGlzc3VlIDE2NDY0CisgICAgICAgICAgICAjIGlmIHdlIGNoYW5nZSBkYXRhIHdlIG5lZWQgdG8gcmVtb3ZlIGNvbnRlbnQtbGVuZ3RoIGhlYWRlcgorICAgICAgICAgICAgIyAoY2F1c2UgaXQncyBtb3N0IHByb2JhYmx5IGNhbGN1bGF0ZWQgZm9yIHByZXZpb3VzIHZhbHVlKQorICAgICAgICAgICAgaWYgc2VsZi5oYXNfaGVhZGVyKCJDb250ZW50LWxlbmd0aCIpOgorICAgICAgICAgICAgICAgIHNlbGYucmVtb3ZlX2hlYWRlcigiQ29udGVudC1sZW5ndGgiKQorCisgICAgQGRhdGEuZGVsZXRlcgorICAgIGRlZiBkYXRhKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGEgPSBOb25lCisKICAgICBkZWYgX3BhcnNlKHNlbGYpOgotICAgICAgICBzZWxmLnR5cGUsIHJlc3QgPSBzcGxpdHR5cGUoc2VsZi5mdWxsX3VybCkKKyAgICAgICAgc2VsZi50eXBlLCByZXN0ID0gc3BsaXR0eXBlKHNlbGYuX2Z1bGxfdXJsKQogICAgICAgICBpZiBzZWxmLnR5cGUgaXMgTm9uZToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInVua25vd24gdXJsIHR5cGU6ICVyIiAlIHNlbGYuZnVsbF91cmwpCiAgICAgICAgIHNlbGYuaG9zdCwgc2VsZi5zZWxlY3RvciA9IHNwbGl0aG9zdChyZXN0KQpAQCAtMjkzLDUzICszMjcsOCBAQAogCiAgICAgZGVmIGdldF9mdWxsX3VybChzZWxmKToKICAgICAgICAgaWYgc2VsZi5mcmFnbWVudDoKLSAgICAgICAgICAgIHJldHVybiAnJXMjJXMnICUgKHNlbGYuZnVsbF91cmwsIHNlbGYuZnJhZ21lbnQpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5mdWxsX3VybAotCi0gICAgIyBCZWdpbiBkZXByZWNhdGVkIG1ldGhvZHMKLQotICAgIGRlZiBhZGRfZGF0YShzZWxmLCBkYXRhKToKLSAgICAgICAgbXNnID0gIlJlcXVlc3QuYWRkX2RhdGEgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgotICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCi0gICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKLQotICAgIGRlZiBoYXNfZGF0YShzZWxmKToKLSAgICAgICAgbXNnID0gIlJlcXVlc3QuaGFzX2RhdGEgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgotICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCi0gICAgICAgIHJldHVybiBzZWxmLmRhdGEgaXMgbm90IE5vbmUKLQotICAgIGRlZiBnZXRfZGF0YShzZWxmKToKLSAgICAgICAgbXNnID0gIlJlcXVlc3QuZ2V0X2RhdGEgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgotICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCi0gICAgICAgIHJldHVybiBzZWxmLmRhdGEKLQotICAgIGRlZiBnZXRfdHlwZShzZWxmKToKLSAgICAgICAgbXNnID0gIlJlcXVlc3QuZ2V0X3R5cGUgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgotICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCi0gICAgICAgIHJldHVybiBzZWxmLnR5cGUKLQotICAgIGRlZiBnZXRfaG9zdChzZWxmKToKLSAgICAgICAgbXNnID0gIlJlcXVlc3QuZ2V0X2hvc3QgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgotICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCi0gICAgICAgIHJldHVybiBzZWxmLmhvc3QKLQotICAgIGRlZiBnZXRfc2VsZWN0b3Ioc2VsZik6Ci0gICAgICAgIG1zZyA9ICJSZXF1ZXN0LmdldF9zZWxlY3RvciBtZXRob2QgaXMgZGVwcmVjYXRlZC4iCi0gICAgICAgIHdhcm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MSkKLSAgICAgICAgcmV0dXJuIHNlbGYuc2VsZWN0b3IKLQotICAgIGRlZiBpc191bnZlcmlmaWFibGUoc2VsZik6Ci0gICAgICAgIG1zZyA9ICJSZXF1ZXN0LmlzX3VudmVyaWZpYWJsZSBtZXRob2QgaXMgZGVwcmVjYXRlZC4iCi0gICAgICAgIHdhcm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MSkKLSAgICAgICAgcmV0dXJuIHNlbGYudW52ZXJpZmlhYmxlCi0KLSAgICBkZWYgZ2V0X29yaWdpbl9yZXFfaG9zdChzZWxmKToKLSAgICAgICAgbXNnID0gIlJlcXVlc3QuZ2V0X29yaWdpbl9yZXFfaG9zdCBtZXRob2QgaXMgZGVwcmVjYXRlZC4iCi0gICAgICAgIHdhcm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MSkKLSAgICAgICAgcmV0dXJuIHNlbGYub3JpZ2luX3JlcV9ob3N0Ci0KLSAgICAjIEVuZCBkZXByZWNhdGVkIG1ldGhvZHMKKyAgICAgICAgICAgIHJldHVybiAne30je30nLmZvcm1hdChzZWxmLmZ1bGxfdXJsLCBzZWxmLmZyYWdtZW50KQorICAgICAgICByZXR1cm4gc2VsZi5mdWxsX3VybAogCiAgICAgZGVmIHNldF9wcm94eShzZWxmLCBob3N0LCB0eXBlKToKICAgICAgICAgaWYgc2VsZi50eXBlID09ICdodHRwcycgYW5kIG5vdCBzZWxmLl90dW5uZWxfaG9zdDoKQEAgLTM2OSw2ICszNTgsMTAgQEAKICAgICAgICAgICAgIGhlYWRlcl9uYW1lLAogICAgICAgICAgICAgc2VsZi51bnJlZGlyZWN0ZWRfaGRycy5nZXQoaGVhZGVyX25hbWUsIGRlZmF1bHQpKQogCisgICAgZGVmIHJlbW92ZV9oZWFkZXIoc2VsZiwgaGVhZGVyX25hbWUpOgorICAgICAgICBzZWxmLmhlYWRlcnMucG9wKGhlYWRlcl9uYW1lLCBOb25lKQorICAgICAgICBzZWxmLnVucmVkaXJlY3RlZF9oZHJzLnBvcChoZWFkZXJfbmFtZSwgTm9uZSkKKwogICAgIGRlZiBoZWFkZXJfaXRlbXMoc2VsZik6CiAgICAgICAgIGhkcnMgPSBzZWxmLnVucmVkaXJlY3RlZF9oZHJzLmNvcHkoKQogICAgICAgICBoZHJzLnVwZGF0ZShzZWxmLmhlYWRlcnMpCkBAIC01MzEsNyArNTI0LDggQEAKICAgICBvcGVuZXIgPSBPcGVuZXJEaXJlY3RvcigpCiAgICAgZGVmYXVsdF9jbGFzc2VzID0gW1Byb3h5SGFuZGxlciwgVW5rbm93bkhhbmRsZXIsIEhUVFBIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAgICBIVFRQRGVmYXVsdEVycm9ySGFuZGxlciwgSFRUUFJlZGlyZWN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgRlRQSGFuZGxlciwgRmlsZUhhbmRsZXIsIEhUVFBFcnJvclByb2Nlc3Nvcl0KKyAgICAgICAgICAgICAgICAgICAgICAgRlRQSGFuZGxlciwgRmlsZUhhbmRsZXIsIEhUVFBFcnJvclByb2Nlc3NvciwKKyAgICAgICAgICAgICAgICAgICAgICAgRGF0YUhhbmRsZXJdCiAgICAgaWYgaGFzYXR0cihodHRwLmNsaWVudCwgIkhUVFBTQ29ubmVjdGlvbiIpOgogICAgICAgICBkZWZhdWx0X2NsYXNzZXMuYXBwZW5kKEhUVFBTSGFuZGxlcikKICAgICBza2lwID0gc2V0KCkKQEAgLTEyNDYsMTEgKzEyNDAsMTcgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBoLnJlcXVlc3QocmVxLmdldF9tZXRob2QoKSwgcmVxLnNlbGVjdG9yLCByZXEuZGF0YSwgaGVhZGVycykKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlcnI6ICMgdGltZW91dCBlcnJvcgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6ICMgdGltZW91dCBlcnJvcgogICAgICAgICAgICAgaC5jbG9zZSgpCiAgICAgICAgICAgICByYWlzZSBVUkxFcnJvcihlcnIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByID0gaC5nZXRyZXNwb25zZSgpCisgICAgICAgICAgICAjIElmIHRoZSBzZXJ2ZXIgZG9lcyBub3Qgc2VuZCB1cyBhICdDb25uZWN0aW9uOiBjbG9zZScgaGVhZGVyLAorICAgICAgICAgICAgIyBIVFRQQ29ubmVjdGlvbiBhc3N1bWVzIHRoZSBzb2NrZXQgc2hvdWxkIGJlIGxlZnQgb3Blbi4gTWFudWFsbHkKKyAgICAgICAgICAgICMgbWFyayB0aGUgc29ja2V0IHRvIGJlIGNsb3NlZCB3aGVuIHRoaXMgcmVzcG9uc2Ugb2JqZWN0IGdvZXMgYXdheS4KKyAgICAgICAgICAgIGlmIGguc29jazoKKyAgICAgICAgICAgICAgICBoLnNvY2suY2xvc2UoKQorICAgICAgICAgICAgICAgIGguc29jayA9IE5vbmUKIAogICAgICAgICByLnVybCA9IHJlcS5nZXRfZnVsbF91cmwoKQogICAgICAgICAjIFRoaXMgbGluZSByZXBsYWNlcyB0aGUgLm1zZyBhdHRyaWJ1dGUgb2YgdGhlIEhUVFBSZXNwb25zZQpAQCAtMTQ0NSw3ICsxNDQ1LDcgQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBob3N0ID0gc29ja2V0LmdldGhvc3RieW5hbWUoaG9zdCkKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBtc2c6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgIHJhaXNlIFVSTEVycm9yKG1zZykKICAgICAgICAgcGF0aCwgYXR0cnMgPSBzcGxpdGF0dHIocmVxLnNlbGVjdG9yKQogICAgICAgICBkaXJzID0gcGF0aC5zcGxpdCgnLycpCkBAIC0xNTMxLDYgKzE1MzEsMzYgQEAKICAgICAgICAgc2VsZi5jYWNoZS5jbGVhcigpCiAgICAgICAgIHNlbGYudGltZW91dC5jbGVhcigpCiAKK2NsYXNzIERhdGFIYW5kbGVyKEJhc2VIYW5kbGVyKToKKyAgICBkZWYgZGF0YV9vcGVuKHNlbGYsIHJlcSk6CisgICAgICAgICMgZGF0YSBVUkxzIGFzIHNwZWNpZmllZCBpbiBSRkMgMjM5Ny4KKyAgICAgICAgIworICAgICAgICAjIGlnbm9yZXMgUE9TVGVkIGRhdGEKKyAgICAgICAgIworICAgICAgICAjIHN5bnRheDoKKyAgICAgICAgIyBkYXRhdXJsICAgOj0gImRhdGE6IiBbIG1lZGlhdHlwZSBdIFsgIjtiYXNlNjQiIF0gIiwiIGRhdGEKKyAgICAgICAgIyBtZWRpYXR5cGUgOj0gWyB0eXBlICIvIiBzdWJ0eXBlIF0gKiggIjsiIHBhcmFtZXRlciApCisgICAgICAgICMgZGF0YSAgICAgIDo9ICp1cmxjaGFyCisgICAgICAgICMgcGFyYW1ldGVyIDo9IGF0dHJpYnV0ZSAiPSIgdmFsdWUKKyAgICAgICAgdXJsID0gcmVxLmZ1bGxfdXJsCisKKyAgICAgICAgc2NoZW1lLCBkYXRhID0gdXJsLnNwbGl0KCI6IiwxKQorICAgICAgICBtZWRpYXR5cGUsIGRhdGEgPSBkYXRhLnNwbGl0KCIsIiwxKQorCisgICAgICAgICMgZXZlbiBiYXNlNjQgZW5jb2RlZCBkYXRhIFVSTHMgbWlnaHQgYmUgcXVvdGVkIHNvIHVucXVvdGUgaW4gYW55IGNhc2U6CisgICAgICAgIGRhdGEgPSB1bnF1b3RlX3RvX2J5dGVzKGRhdGEpCisgICAgICAgIGlmIG1lZGlhdHlwZS5lbmRzd2l0aCgiO2Jhc2U2NCIpOgorICAgICAgICAgICAgZGF0YSA9IGJhc2U2NC5kZWNvZGVieXRlcyhkYXRhKQorICAgICAgICAgICAgbWVkaWF0eXBlID0gbWVkaWF0eXBlWzotN10KKworICAgICAgICBpZiBub3QgbWVkaWF0eXBlOgorICAgICAgICAgICAgbWVkaWF0eXBlID0gInRleHQvcGxhaW47Y2hhcnNldD1VUy1BU0NJSSIKKworICAgICAgICBoZWFkZXJzID0gZW1haWwubWVzc2FnZV9mcm9tX3N0cmluZygiQ29udGVudC10eXBlOiAlc1xuQ29udGVudC1sZW5ndGg6ICVkXG4iICUKKyAgICAgICAgICAgIChtZWRpYXR5cGUsIGxlbihkYXRhKSkpCisKKyAgICAgICAgcmV0dXJuIGFkZGluZm91cmwoaW8uQnl0ZXNJTyhkYXRhKSwgaGVhZGVycywgdXJsKQorCiAKICMgQ29kZSBtb3ZlIGZyb20gdGhlIG9sZCB1cmxsaWIgbW9kdWxlCiAKQEAgLTE2NTQsMjAgKzE2ODQsMjAgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBuYW1lKSh1cmwpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIG5hbWUpKHVybCwgZGF0YSkKLSAgICAgICAgZXhjZXB0IEhUVFBFcnJvcjoKKyAgICAgICAgZXhjZXB0IChIVFRQRXJyb3IsIFVSTEVycm9yKToKICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgbXNnOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignc29ja2V0IGVycm9yJywgbXNnKS53aXRoX3RyYWNlYmFjayhzeXMuZXhjX2luZm8oKVsyXSkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignc29ja2V0IGVycm9yJywgbXNnKS53aXRoX3RyYWNlYmFjayhzeXMuZXhjX2luZm8oKVsyXSkKIAogICAgIGRlZiBvcGVuX3Vua25vd24oc2VsZiwgZnVsbHVybCwgZGF0YT1Ob25lKToKICAgICAgICAgIiIiT3ZlcnJpZGFibGUgaW50ZXJmYWNlIHRvIG9wZW4gdW5rbm93biBVUkwgdHlwZS4iIiIKICAgICAgICAgdHlwZSwgdXJsID0gc3BsaXR0eXBlKGZ1bGx1cmwpCi0gICAgICAgIHJhaXNlIElPRXJyb3IoJ3VybCBlcnJvcicsICd1bmtub3duIHVybCB0eXBlJywgdHlwZSkKKyAgICAgICAgcmFpc2UgT1NFcnJvcigndXJsIGVycm9yJywgJ3Vua25vd24gdXJsIHR5cGUnLCB0eXBlKQogCiAgICAgZGVmIG9wZW5fdW5rbm93bl9wcm94eShzZWxmLCBwcm94eSwgZnVsbHVybCwgZGF0YT1Ob25lKToKICAgICAgICAgIiIiT3ZlcnJpZGFibGUgaW50ZXJmYWNlIHRvIG9wZW4gdW5rbm93biBVUkwgdHlwZS4iIiIKICAgICAgICAgdHlwZSwgdXJsID0gc3BsaXR0eXBlKGZ1bGx1cmwpCi0gICAgICAgIHJhaXNlIElPRXJyb3IoJ3VybCBlcnJvcicsICdpbnZhbGlkIHByb3h5IGZvciAlcycgJSB0eXBlLCBwcm94eSkKKyAgICAgICAgcmFpc2UgT1NFcnJvcigndXJsIGVycm9yJywgJ2ludmFsaWQgcHJveHkgZm9yICVzJyAlIHR5cGUsIHByb3h5KQogCiAgICAgIyBFeHRlcm5hbCBpbnRlcmZhY2UKICAgICBkZWYgcmV0cmlldmUoc2VsZiwgdXJsLCBmaWxlbmFtZT1Ob25lLCByZXBvcnRob29rPU5vbmUsIGRhdGE9Tm9uZSk6CkBAIC0xNjgzLDcgKzE3MTMsNyBAQAogICAgICAgICAgICAgICAgIGhkcnMgPSBmcC5pbmZvKCkKICAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHVybDJwYXRobmFtZShzcGxpdGhvc3QodXJsMSlbMV0pLCBoZHJzCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBtc2c6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICBmcCA9IHNlbGYub3Blbih1cmwsIGRhdGEpCiAgICAgICAgIHRyeToKQEAgLTE3NzYsNyArMTgwNiw3IEBACiAgICAgICAgICAgICAgICAgaWYgcHJveHlfYnlwYXNzKHJlYWxob3N0KToKICAgICAgICAgICAgICAgICAgICAgaG9zdCA9IHJlYWxob3N0CiAKLSAgICAgICAgaWYgbm90IGhvc3Q6IHJhaXNlIElPRXJyb3IoJ2h0dHAgZXJyb3InLCAnbm8gaG9zdCBnaXZlbicpCisgICAgICAgIGlmIG5vdCBob3N0OiByYWlzZSBPU0Vycm9yKCdodHRwIGVycm9yJywgJ25vIGhvc3QgZ2l2ZW4nKQogCiAgICAgICAgIGlmIHByb3h5X3Bhc3N3ZDoKICAgICAgICAgICAgIHByb3h5X3Bhc3N3ZCA9IHVucXVvdGUocHJveHlfcGFzc3dkKQpAQCAtMTg0OSw3ICsxODc5LDcgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuaHR0cF9lcnJvcl9kZWZhdWx0KHVybCwgZnAsIGVycmNvZGUsIGVycm1zZywgaGVhZGVycykKIAogICAgIGRlZiBodHRwX2Vycm9yX2RlZmF1bHQoc2VsZiwgdXJsLCBmcCwgZXJyY29kZSwgZXJybXNnLCBoZWFkZXJzKToKLSAgICAgICAgIiIiRGVmYXVsdCBlcnJvciBoYW5kbGVyOiBjbG9zZSB0aGUgY29ubmVjdGlvbiBhbmQgcmFpc2UgSU9FcnJvci4iIiIKKyAgICAgICAgIiIiRGVmYXVsdCBlcnJvciBoYW5kbGVyOiBjbG9zZSB0aGUgY29ubmVjdGlvbiBhbmQgcmFpc2UgT1NFcnJvci4iIiIKICAgICAgICAgZnAuY2xvc2UoKQogICAgICAgICByYWlzZSBIVFRQRXJyb3IodXJsLCBlcnJjb2RlLCBlcnJtc2csIGhlYWRlcnMsIE5vbmUpCiAKQEAgLTE5NzYsNyArMjAwNiw3IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIFt0eXBlLCBkYXRhXSA9IHVybC5zcGxpdCgnLCcsIDEpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignZGF0YSBlcnJvcicsICdiYWQgZGF0YSBVUkwnKQorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignZGF0YSBlcnJvcicsICdiYWQgZGF0YSBVUkwnKQogICAgICAgICBpZiBub3QgdHlwZToKICAgICAgICAgICAgIHR5cGUgPSAndGV4dC9wbGFpbjtjaGFyc2V0PVVTLUFTQ0lJJwogICAgICAgICBzZW1pID0gdHlwZS5yZmluZCgnOycpCkBAIC0yNDIyLDcgKzI0NTIsNyBAQAogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgaG9zdElQID0gc29ja2V0LmdldGhvc3RieW5hbWUoaG9zdG9ubHkpCiAgICAgICAgICAgICAgICAgICAgIGhvc3RJUCA9IGlwMm51bShob3N0SVApCi0gICAgICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAogICAgICAgICAgICAgYmFzZSA9IGlwMm51bShtLmdyb3VwKDEpKQpAQCAtMjUwOCw3ICsyNTM4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHByb3hpZXNbJ2h0dHBzJ10gPSAnaHR0cHM6Ly8lcycgJSBwcm94eVNlcnZlcgogICAgICAgICAgICAgICAgICAgICAgICAgcHJveGllc1snZnRwJ10gPSAnZnRwOi8vJXMnICUgcHJveHlTZXJ2ZXIKICAgICAgICAgICAgIGludGVybmV0U2V0dGluZ3MuQ2xvc2UoKQotICAgICAgICBleGNlcHQgKFdpbmRvd3NFcnJvciwgVmFsdWVFcnJvciwgVHlwZUVycm9yKToKKyAgICAgICAgZXhjZXB0IChPU0Vycm9yLCBWYWx1ZUVycm9yLCBUeXBlRXJyb3IpOgogICAgICAgICAgICAgIyBFaXRoZXIgcmVnaXN0cnkga2V5IG5vdCBmb3VuZCBldGMsIG9yIHRoZSB2YWx1ZSBpbiBhbgogICAgICAgICAgICAgIyB1bmV4cGVjdGVkIGZvcm1hdC4KICAgICAgICAgICAgICMgcHJveGllcyBhbHJlYWR5IHNldCB1cCB0byBiZSBlbXB0eSBzbyBub3RoaW5nIHRvIGRvCkBAIC0yNTM4LDcgKzI1NjgsNyBAQAogICAgICAgICAgICAgcHJveHlPdmVycmlkZSA9IHN0cih3aW5yZWcuUXVlcnlWYWx1ZUV4KGludGVybmV0U2V0dGluZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQcm94eU92ZXJyaWRlJylbMF0pCiAgICAgICAgICAgICAjIF5eXl4gUmV0dXJuZWQgYXMgVW5pY29kZSBidXQgcHJvYmxlbXMgaWYgbm90IGNvbnZlcnRlZCB0byBBU0NJSQotICAgICAgICBleGNlcHQgV2luZG93c0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgIGlmIG5vdCBwcm94eUVuYWJsZSBvciBub3QgcHJveHlPdmVycmlkZToKICAgICAgICAgICAgIHJldHVybiAwCkBAIC0yNTQ5LDEzICsyNTc5LDEzIEBACiAgICAgICAgICAgICBhZGRyID0gc29ja2V0LmdldGhvc3RieW5hbWUocmF3SG9zdCkKICAgICAgICAgICAgIGlmIGFkZHIgIT0gcmF3SG9zdDoKICAgICAgICAgICAgICAgICBob3N0LmFwcGVuZChhZGRyKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZnFkbiA9IHNvY2tldC5nZXRmcWRuKHJhd0hvc3QpCiAgICAgICAgICAgICBpZiBmcWRuICE9IHJhd0hvc3Q6CiAgICAgICAgICAgICAgICAgaG9zdC5hcHBlbmQoZnFkbikKLSAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgICMgbWFrZSBhIGNoZWNrIHZhbHVlIGxpc3QgZnJvbSB0aGUgcmVnaXN0cnkgZW50cnk6IHJlcGxhY2UgdGhlCiAgICAgICAgICMgJzxsb2NhbD4nIHN0cmluZyBieSB0aGUgbG9jYWxob3N0IGVudHJ5IGFuZCB0aGUgY29ycmVzcG9uZGluZwpkaWZmIC0tZ2l0IGEvTGliL3V1aWQucHkgYi9MaWIvdXVpZC5weQppbmRleCAwZGYwNzQzLi41ZDA5MWI5IDEwMDY0NAotLS0gYS9MaWIvdXVpZC5weQorKysgYi9MaWIvdXVpZC5weQpAQCAtMzI5LDcgKzMyOSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBpZiB3b3Jkc1tpXSBpbiBod19pZGVudGlmaWVyczoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50KAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3Jkc1tnZXRfaW5kZXgoaSldLnJlcGxhY2UoJzonLCAnJyksIDE2KQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBjb250aW51ZQogICAgIHJldHVybiBOb25lCiAKQEAgLTM3MSw3ICszNzEsNyBAQAogICAgIGZvciBkaXIgaW4gZGlyczoKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcGlwZSA9IG9zLnBvcGVuKG9zLnBhdGguam9pbihkaXIsICdpcGNvbmZpZycpICsgJyAvYWxsJykKLSAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZvciBsaW5lIGluIHBpcGU6CmRpZmYgLS1naXQgYS9MaWIvdmVudi9fX2luaXRfXy5weSBiL0xpYi92ZW52L19faW5pdF9fLnB5CmluZGV4IDM5MjA3NDcuLmVjZGI2OGUgMTAwNjQ0Ci0tLSBhL0xpYi92ZW52L19faW5pdF9fLnB5CisrKyBiL0xpYi92ZW52L19faW5pdF9fLnB5CkBAIC05Miw2ICs5MiwxNCBAQAogICAgICAgICAgICAgc2VsZi5zZXR1cF9zY3JpcHRzKGNvbnRleHQpCiAgICAgICAgICAgICBzZWxmLnBvc3Rfc2V0dXAoY29udGV4dCkKIAorICAgIGRlZiBjbGVhcl9kaXJlY3Rvcnkoc2VsZiwgcGF0aCk6CisgICAgICAgIGZvciBmbiBpbiBvcy5saXN0ZGlyKHBhdGgpOgorICAgICAgICAgICAgZm4gPSBvcy5wYXRoLmpvaW4ocGF0aCwgZm4pCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhmbikgb3Igb3MucGF0aC5pc2ZpbGUoZm4pOgorICAgICAgICAgICAgICAgIG9zLnJlbW92ZShmbikKKyAgICAgICAgICAgIGVsaWYgb3MucGF0aC5pc2Rpcihmbik6CisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShmbikKKwogICAgIGRlZiBlbnN1cmVfZGlyZWN0b3JpZXMoc2VsZiwgZW52X2Rpcik6CiAgICAgICAgICIiIgogICAgICAgICBDcmVhdGUgdGhlIGRpcmVjdG9yaWVzIGZvciB0aGUgZW52aXJvbm1lbnQuCkBAIC0xMDMsMTEgKzExMSwxMSBAQAogICAgICAgICBkZWYgY3JlYXRlX2lmX25lZWRlZChkKToKICAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhkKToKICAgICAgICAgICAgICAgICBvcy5tYWtlZGlycyhkKQorICAgICAgICAgICAgZWxpZiBvcy5wYXRoLmlzbGluayhkKSBvciBvcy5wYXRoLmlzZmlsZShkKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdVbmFibGUgdG8gY3JlYXRlIGRpcmVjdG9yeSAlcicgJSBkKQogCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGVudl9kaXIpIGFuZCBub3QgKHNlbGYuY2xlYXIgb3Igc2VsZi51cGdyYWRlKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ0RpcmVjdG9yeSBleGlzdHM6ICVzJyAlIGVudl9kaXIpCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGVudl9kaXIpIGFuZCBzZWxmLmNsZWFyOgotICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShlbnZfZGlyKQorICAgICAgICAgICAgc2VsZi5jbGVhcl9kaXJlY3RvcnkoZW52X2RpcikKICAgICAgICAgY29udGV4dCA9IENvbnRleHQoKQogICAgICAgICBjb250ZXh0LmVudl9kaXIgPSBlbnZfZGlyCiAgICAgICAgIGNvbnRleHQuZW52X25hbWUgPSBvcy5wYXRoLnNwbGl0KGVudl9kaXIpWzFdCkBAIC0zNzgsMTEgKzM4NiwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3doZW4gc3ltbGlua3MgYXJlIG5vdCB0aGUgZGVmYXVsdCBmb3IgJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RoZSBwbGF0Zm9ybS4nKQogICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWNsZWFyJywgZGVmYXVsdD1GYWxzZSwgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXN0PSdjbGVhcicsIGhlbHA9J0RlbGV0ZSB0aGUgZW52aXJvbm1lbnQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGlyZWN0b3J5IGlmIGl0IGFscmVhZHkgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZXhpc3RzLiBJZiBub3Qgc3BlY2lmaWVkIGFuZCAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgZGlyZWN0b3J5IGV4aXN0cywgYW4gZXJyb3InCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgaXMgcmFpc2VkLicpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdD0nY2xlYXInLCBoZWxwPSdEZWxldGUgdGhlIGNvbnRlbnRzIG9mIHRoZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnZpcm9ubWVudCBkaXJlY3RvcnkgaWYgaXQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWxyZWFkeSBleGlzdHMsIGJlZm9yZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlbnZpcm9ubWVudCBjcmVhdGlvbi4nKQogICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXVwZ3JhZGUnLCBkZWZhdWx0PUZhbHNlLCBhY3Rpb249J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q9J3VwZ3JhZGUnLCBoZWxwPSdVcGdyYWRlIHRoZSBlbnZpcm9ubWVudCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkaXJlY3RvcnkgdG8gdXNlIHRoaXMgdmVyc2lvbiAnCmRpZmYgLS1naXQgYS9MaWIvdmVudi9zY3JpcHRzL3Bvc2l4L2FjdGl2YXRlLmNzaCBiL0xpYi92ZW52L3NjcmlwdHMvcG9zaXgvYWN0aXZhdGUuY3NoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5ZDc5ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdmVudi9zY3JpcHRzL3Bvc2l4L2FjdGl2YXRlLmNzaApAQCAtMCwwICsxLDM3IEBACisjIFRoaXMgZmlsZSBtdXN0IGJlIHVzZWQgd2l0aCAic291cmNlIGJpbi9hY3RpdmF0ZS5jc2giICpmcm9tIGNzaCouCisjIFlvdSBjYW5ub3QgcnVuIGl0IGRpcmVjdGx5LgorIyBDcmVhdGVkIGJ5IERhdmlkZSBEaSBCbGFzaSA8ZGF2aWRlZGJAZ21haWwuY29tPi4KKyMgUG9ydGVkIHRvIFB5dGhvbiAzLjMgdmVudiBieSBBbmRyZXcgU3ZldGxvdiA8YW5kcmV3LnN2ZXRsb3ZAZ21haWwuY29tPgorCithbGlhcyBkZWFjdGl2YXRlICd0ZXN0ICQ/X09MRF9WSVJUVUFMX1BBVEggIT0gMCAmJiBzZXRlbnYgUEFUSCAiJF9PTERfVklSVFVBTF9QQVRIIiAmJiB1bnNldCBfT0xEX1ZJUlRVQUxfUEFUSDsgcmVoYXNoOyB0ZXN0ICQ/X09MRF9WSVJUVUFMX1BST01QVCAhPSAwICYmIHNldCBwcm9tcHQ9IiRfT0xEX1ZJUlRVQUxfUFJPTVBUIiAmJiB1bnNldCBfT0xEX1ZJUlRVQUxfUFJPTVBUOyB1bnNldGVudiBWSVJUVUFMX0VOVjsgdGVzdCAiXCE6KiIgIT0gIm5vbmRlc3RydWN0aXZlIiAmJiB1bmFsaWFzIGRlYWN0aXZhdGUnCisKKyMgVW5zZXQgaXJyZWxhdmVudCB2YXJpYWJsZXMuCitkZWFjdGl2YXRlIG5vbmRlc3RydWN0aXZlCisKK3NldGVudiBWSVJUVUFMX0VOViAiX19WRU5WX0RJUl9fIgorCitzZXQgX09MRF9WSVJUVUFMX1BBVEg9IiRQQVRIIgorc2V0ZW52IFBBVEggIiRWSVJUVUFMX0VOVi9fX1ZFTlZfQklOX05BTUVfXzokUEFUSCIKKworCitzZXQgX09MRF9WSVJUVUFMX1BST01QVD0iJHByb21wdCIKKworaWYgKCEgIiQ/VklSVFVBTF9FTlZfRElTQUJMRV9QUk9NUFQiKSB0aGVuCisgICAgaWYgKCJfX1ZFTlZfTkFNRV9fIiAhPSAiIikgdGhlbgorICAgICAgICBzZXQgZW52X25hbWUgPSAiX19WRU5WX05BTUVfXyIKKyAgICBlbHNlCisgICAgICAgIGlmIChgYmFzZW5hbWUgIlZJUlRVQUxfRU5WImAgPT0gIl9fIikgdGhlbgorICAgICAgICAgICAgIyBzcGVjaWFsIGNhc2UgZm9yIEFzcGVuIG1hZ2ljIGRpcmVjdG9yaWVzCisgICAgICAgICAgICAjIHNlZSBodHRwOi8vd3d3LnpldGFkZXYuY29tL3NvZnR3YXJlL2FzcGVuLworICAgICAgICAgICAgc2V0IGVudl9uYW1lID0gYGJhc2VuYW1lIFxgZGlybmFtZSAiJFZJUlRVQUxfRU5WIlxgYAorICAgICAgICBlbHNlCisgICAgICAgICAgICBzZXQgZW52X25hbWUgPSBgYmFzZW5hbWUgIiRWSVJUVUFMX0VOViJgCisgICAgICAgIGVuZGlmCisgICAgZW5kaWYKKyAgICBzZXQgcHJvbXB0ID0gIlskZW52X25hbWVdICRwcm9tcHQiCisgICAgdW5zZXQgZW52X25hbWUKK2VuZGlmCisKK2FsaWFzIHB5ZG9jIHB5dGhvbiAtbSBweWRvYworCityZWhhc2gKZGlmZiAtLWdpdCBhL0xpYi92ZW52L3NjcmlwdHMvcG9zaXgvYWN0aXZhdGUuZmlzaCBiL0xpYi92ZW52L3NjcmlwdHMvcG9zaXgvYWN0aXZhdGUuZmlzaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWMxNjM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3ZlbnYvc2NyaXB0cy9wb3NpeC9hY3RpdmF0ZS5maXNoCkBAIC0wLDAgKzEsNzQgQEAKKyMgVGhpcyBmaWxlIG11c3QgYmUgdXNlZCB3aXRoICIuIGJpbi9hY3RpdmF0ZS5maXNoIiAqZnJvbSBmaXNoKiAoaHR0cDovL2Zpc2hzaGVsbC5vcmcpCisjIHlvdSBjYW5ub3QgcnVuIGl0IGRpcmVjdGx5CisKK2Z1bmN0aW9uIGRlYWN0aXZhdGUgIC1kICJFeGl0IHZpcnR1YWxlbnYgYW5kIHJldHVybiB0byBub3JtYWwgc2hlbGwgZW52aXJvbm1lbnQiCisgICAgIyByZXNldCBvbGQgZW52aXJvbm1lbnQgdmFyaWFibGVzCisgICAgaWYgdGVzdCAtbiAiJF9PTERfVklSVFVBTF9QQVRIIgorICAgICAgICBzZXQgLWd4IFBBVEggJF9PTERfVklSVFVBTF9QQVRICisgICAgICAgIHNldCAtZSBfT0xEX1ZJUlRVQUxfUEFUSAorICAgIGVuZAorICAgIGlmIHRlc3QgLW4gIiRfT0xEX1ZJUlRVQUxfUFlUSE9OSE9NRSIKKyAgICAgICAgc2V0IC1neCBQWVRIT05IT01FICRfT0xEX1ZJUlRVQUxfUFlUSE9OSE9NRQorICAgICAgICBzZXQgLWUgX09MRF9WSVJUVUFMX1BZVEhPTkhPTUUKKyAgICBlbmQKKworICAgIGlmIHRlc3QgLW4gIiRfT0xEX0ZJU0hfUFJPTVBUX09WRVJSSURFIgorICAgICAgICBmdW5jdGlvbnMgLWUgZmlzaF9wcm9tcHQKKyAgICAgICAgc2V0IC1lIF9PTERfRklTSF9QUk9NUFRfT1ZFUlJJREUKKyAgICAgICAgLiAoIGJlZ2luCisgICAgICAgICAgICAgICAgcHJpbnRmICJmdW5jdGlvbiBmaXNoX3Byb21wdFxuXHQjIgorICAgICAgICAgICAgICAgIGZ1bmN0aW9ucyBfb2xkX2Zpc2hfcHJvbXB0CisgICAgICAgICAgICBlbmQgfCBwc3ViICkKKyAgICAgICAgZnVuY3Rpb25zIC1lIF9vbGRfZmlzaF9wcm9tcHQKKyAgICBlbmQKKworICAgIHNldCAtZSBWSVJUVUFMX0VOVgorICAgIGlmIHRlc3QgIiRhcmd2WzFdIiAhPSAibm9uZGVzdHJ1Y3RpdmUiCisgICAgICAgICMgU2VsZiBkZXN0cnVjdCEKKyAgICAgICAgZnVuY3Rpb25zIC1lIGRlYWN0aXZhdGUKKyAgICBlbmQKK2VuZAorCisjIHVuc2V0IGlycmVsYXZlbnQgdmFyaWFibGVzCitkZWFjdGl2YXRlIG5vbmRlc3RydWN0aXZlCisKK3NldCAtZ3ggVklSVFVBTF9FTlYgIl9fVkVOVl9ESVJfXyIKKworc2V0IC1neCBfT0xEX1ZJUlRVQUxfUEFUSCAkUEFUSAorc2V0IC1neCBQQVRIICIkVklSVFVBTF9FTlYvX19WRU5WX0JJTl9OQU1FX18iICRQQVRICisKKyMgdW5zZXQgUFlUSE9OSE9NRSBpZiBzZXQKK2lmIHNldCAtcSBQWVRIT05IT01FCisgICAgc2V0IC1neCBfT0xEX1ZJUlRVQUxfUFlUSE9OSE9NRSAkUFlUSE9OSE9NRQorICAgIHNldCAtZSBQWVRIT05IT01FCitlbmQKKworaWYgdGVzdCAteiAiJFZJUlRVQUxfRU5WX0RJU0FCTEVfUFJPTVBUIgorICAgICMgZmlzaCB1c2VzIGEgZnVuY3Rpb24gaW5zdGVhZCBvZiBhbiBlbnYgdmFyIHRvIGdlbmVyYXRlIHRoZSBwcm9tcHQuCisKKyAgICAjIHNhdmUgdGhlIGN1cnJlbnQgZmlzaF9wcm9tcHQgZnVuY3Rpb24gYXMgdGhlIGZ1bmN0aW9uIF9vbGRfZmlzaF9wcm9tcHQKKyAgICAuICggYmVnaW4KKyAgICAgICAgICAgIHByaW50ZiAiZnVuY3Rpb24gX29sZF9maXNoX3Byb21wdFxuXHQjIgorICAgICAgICAgICAgZnVuY3Rpb25zIGZpc2hfcHJvbXB0CisgICAgICAgIGVuZCB8IHBzdWIgKQorCisgICAgIyB3aXRoIHRoZSBvcmlnaW5hbCBwcm9tcHQgZnVuY3Rpb24gcmVuYW1lZCwgd2UgY2FuIG92ZXJyaWRlIHdpdGggb3VyIG93bi4KKyAgICBmdW5jdGlvbiBmaXNoX3Byb21wdAorICAgICAgICAjIFByb21wdCBvdmVycmlkZT8KKyAgICAgICAgaWYgdGVzdCAtbiAiX19WRU5WX05BTUVfXyIKKyAgICAgICAgICAgIHByaW50ZiAiJXMlcyVzIiAiX19WRU5WX05BTUVfXyIgKHNldF9jb2xvciBub3JtYWwpIChfb2xkX2Zpc2hfcHJvbXB0KQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVuZAorICAgICAgICAjIC4uLk90aGVyd2lzZSwgcHJlcGVuZCBlbnYKKyAgICAgICAgc2V0IC1sIF9jaGVja2Jhc2UgKGJhc2VuYW1lICIkVklSVFVBTF9FTlYiKQorICAgICAgICBpZiB0ZXN0ICRfY2hlY2tiYXNlID0gIl9fIgorICAgICAgICAgICAgIyBzcGVjaWFsIGNhc2UgZm9yIEFzcGVuIG1hZ2ljIGRpcmVjdG9yaWVzCisgICAgICAgICAgICAjIHNlZSBodHRwOi8vd3d3LnpldGFkZXYuY29tL3NvZnR3YXJlL2FzcGVuLworICAgICAgICAgICAgcHJpbnRmICIlc1slc10lcyAlcyIgKHNldF9jb2xvciAtYiBibHVlIHdoaXRlKSAoYmFzZW5hbWUgKGRpcm5hbWUgIiRWSVJUVUFMX0VOViIpKSAoc2V0X2NvbG9yIG5vcm1hbCkgKF9vbGRfZmlzaF9wcm9tcHQpCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50ZiAiJXMoJXMpJXMlcyIgKHNldF9jb2xvciAtYiBibHVlIHdoaXRlKSAoYmFzZW5hbWUgIiRWSVJUVUFMX0VOViIpIChzZXRfY29sb3Igbm9ybWFsKSAoX29sZF9maXNoX3Byb21wdCkKKyAgICAgICAgZW5kCisgICAgZW5kCisKKyAgICBzZXQgLWd4IF9PTERfRklTSF9QUk9NUFRfT1ZFUlJJREUgIiRWSVJUVUFMX0VOViIKK2VuZApkaWZmIC0tZ2l0IGEvTGliL3dhcm5pbmdzLnB5IGIvTGliL3dhcm5pbmdzLnB5CmluZGV4IGVkYmJiNWUuLmIwNWEwOGUgMTAwNjQ0Ci0tLSBhL0xpYi93YXJuaW5ncy5weQorKysgYi9MaWIvd2FybmluZ3MucHkKQEAgLTE2LDcgKzE2LDcgQEAKICAgICAgICAgZmlsZSA9IHN5cy5zdGRlcnIKICAgICB0cnk6CiAgICAgICAgIGZpbGUud3JpdGUoZm9ybWF0d2FybmluZyhtZXNzYWdlLCBjYXRlZ29yeSwgZmlsZW5hbWUsIGxpbmVubywgbGluZSkpCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHBhc3MgIyB0aGUgZmlsZSAocHJvYmFibHkgc3RkZXJyKSBpcyBpbnZhbGlkIC0gdGhpcyB3YXJuaW5nIGdldHMgbG9zdC4KIAogZGVmIGZvcm1hdHdhcm5pbmcobWVzc2FnZSwgY2F0ZWdvcnksIGZpbGVuYW1lLCBsaW5lbm8sIGxpbmU9Tm9uZSk6CmRpZmYgLS1naXQgYS9MaWIvd2F2ZS5weSBiL0xpYi93YXZlLnB5CmluZGV4IDU0ZjAzMDIuLmUzYmYyYWYgMTAwNjQ0Ci0tLSBhL0xpYi93YXZlLnB5CisrKyBiL0xpYi93YXZlLnB5CkBAIC0xOCw3ICsxOCw3IEBACiAgICAgICBnZXRjb21wdHlwZSgpICAgLS0gcmV0dXJucyBjb21wcmVzc2lvbiB0eXBlICgnTk9ORScgZm9yIGxpbmVhciBzYW1wbGVzKQogICAgICAgZ2V0Y29tcG5hbWUoKSAgIC0tIHJldHVybnMgaHVtYW4tcmVhZGFibGUgdmVyc2lvbiBvZgogICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uIHR5cGUgKCdub3QgY29tcHJlc3NlZCcgbGluZWFyIHNhbXBsZXMpCi0gICAgICBnZXRwYXJhbXMoKSAgICAgLS0gcmV0dXJucyBhIHR1cGxlIGNvbnNpc3Rpbmcgb2YgYWxsIG9mIHRoZQorICAgICAgZ2V0cGFyYW1zKCkgICAgIC0tIHJldHVybnMgYSBuYW1lZHR1cGxlIGNvbnNpc3Rpbmcgb2YgYWxsIG9mIHRoZQogICAgICAgICAgICAgICAgICAgICAgICAgIGFib3ZlIGluIHRoZSBhYm92ZSBvcmRlcgogICAgICAgZ2V0bWFya2VycygpICAgIC0tIHJldHVybnMgTm9uZSAoZm9yIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICBhaWZjIG1vZHVsZSkKQEAgLTkwLDYgKzkwLDEwIEBACiAgICAgYmlnX2VuZGlhbiA9IDAKIAogZnJvbSBjaHVuayBpbXBvcnQgQ2h1bmsKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUKKworX3Jlc3VsdCA9IG5hbWVkdHVwbGUoJ3BhcmFtcycsCisgICAgICAgICAgICAgICAgICAgICAnbmNoYW5uZWxzIHNhbXB3aWR0aCBmcmFtZXJhdGUgbmZyYW1lcyBjb21wdHlwZSBjb21wbmFtZScpCiAKIGNsYXNzIFdhdmVfcmVhZDoKICAgICAiIiJWYXJpYWJsZXMgdXNlZCBpbiB0aGlzIGNsYXNzOgpAQCAtMjA2LDkgKzIxMCw5IEBACiAgICAgICAgIHJldHVybiBzZWxmLl9jb21wbmFtZQogCiAgICAgZGVmIGdldHBhcmFtcyhzZWxmKToKLSAgICAgICAgcmV0dXJuIHNlbGYuZ2V0bmNoYW5uZWxzKCksIHNlbGYuZ2V0c2FtcHdpZHRoKCksIFwKLSAgICAgICAgICAgICAgIHNlbGYuZ2V0ZnJhbWVyYXRlKCksIHNlbGYuZ2V0bmZyYW1lcygpLCBcCi0gICAgICAgICAgICAgICBzZWxmLmdldGNvbXB0eXBlKCksIHNlbGYuZ2V0Y29tcG5hbWUoKQorICAgICAgICByZXR1cm4gX3Jlc3VsdChzZWxmLmdldG5jaGFubmVscygpLCBzZWxmLmdldHNhbXB3aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldGZyYW1lcmF0ZSgpLCBzZWxmLmdldG5mcmFtZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRjb21wdHlwZSgpLCBzZWxmLmdldGNvbXBuYW1lKCkpCiAKICAgICBkZWYgZ2V0bWFya2VycyhzZWxmKToKICAgICAgICAgcmV0dXJuIE5vbmUKQEAgLTM5OCw4ICs0MDIsOCBAQAogICAgIGRlZiBnZXRwYXJhbXMoc2VsZik6CiAgICAgICAgIGlmIG5vdCBzZWxmLl9uY2hhbm5lbHMgb3Igbm90IHNlbGYuX3NhbXB3aWR0aCBvciBub3Qgc2VsZi5fZnJhbWVyYXRlOgogICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ25vdCBhbGwgcGFyYW1ldGVycyBzZXQnKQotICAgICAgICByZXR1cm4gc2VsZi5fbmNoYW5uZWxzLCBzZWxmLl9zYW1wd2lkdGgsIHNlbGYuX2ZyYW1lcmF0ZSwgXAotICAgICAgICAgICAgICBzZWxmLl9uZnJhbWVzLCBzZWxmLl9jb21wdHlwZSwgc2VsZi5fY29tcG5hbWUKKyAgICAgICAgcmV0dXJuIF9yZXN1bHQoc2VsZi5fbmNoYW5uZWxzLCBzZWxmLl9zYW1wd2lkdGgsIHNlbGYuX2ZyYW1lcmF0ZSwKKyAgICAgICAgICAgICAgc2VsZi5fbmZyYW1lcywgc2VsZi5fY29tcHR5cGUsIHNlbGYuX2NvbXBuYW1lKQogCiAgICAgZGVmIHNldG1hcmsoc2VsZiwgaWQsIHBvcywgbmFtZSk6CiAgICAgICAgIHJhaXNlIEVycm9yKCdzZXRtYXJrKCkgbm90IHN1cHBvcnRlZCcpCmRpZmYgLS1naXQgYS9MaWIvd2Vha3JlZi5weSBiL0xpYi93ZWFrcmVmLnB5CmluZGV4IGZjYjZiNzQuLjhmOWMxMDcgMTAwNjQ0Ci0tLSBhL0xpYi93ZWFrcmVmLnB5CisrKyBiL0xpYi93ZWFrcmVmLnB5CkBAIC0yNyw3ICsyNyw2MSBAQAogX19hbGxfXyA9IFsicmVmIiwgInByb3h5IiwgImdldHdlYWtyZWZjb3VudCIsICJnZXR3ZWFrcmVmcyIsCiAgICAgICAgICAgICJXZWFrS2V5RGljdGlvbmFyeSIsICJSZWZlcmVuY2VUeXBlIiwgIlByb3h5VHlwZSIsCiAgICAgICAgICAgICJDYWxsYWJsZVByb3h5VHlwZSIsICJQcm94eVR5cGVzIiwgIldlYWtWYWx1ZURpY3Rpb25hcnkiLAotICAgICAgICAgICAiV2Vha1NldCJdCisgICAgICAgICAgICJXZWFrU2V0IiwgIldlYWtNZXRob2QiXQorCisKK2NsYXNzIFdlYWtNZXRob2QocmVmKToKKyAgICAiIiIKKyAgICBBIGN1c3RvbSBgd2Vha3JlZi5yZWZgIHN1YmNsYXNzIHdoaWNoIHNpbXVsYXRlcyBhIHdlYWsgcmVmZXJlbmNlIHRvCisgICAgYSBib3VuZCBtZXRob2QsIHdvcmtpbmcgYXJvdW5kIHRoZSBsaWZldGltZSBwcm9ibGVtIG9mIGJvdW5kIG1ldGhvZHMuCisgICAgIiIiCisKKyAgICBfX3Nsb3RzX18gPSAiX2Z1bmNfcmVmIiwgIl9tZXRoX3R5cGUiLCAiX2FsaXZlIiwgIl9fd2Vha3JlZl9fIgorCisgICAgZGVmIF9fbmV3X18oY2xzLCBtZXRoLCBjYWxsYmFjaz1Ob25lKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb2JqID0gbWV0aC5fX3NlbGZfXworICAgICAgICAgICAgZnVuYyA9IG1ldGguX19mdW5jX18KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJhcmd1bWVudCBzaG91bGQgYmUgYSBib3VuZCBtZXRob2QsIG5vdCB7fSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHR5cGUobWV0aCkpKSBmcm9tIE5vbmUKKyAgICAgICAgZGVmIF9jYihhcmcpOgorICAgICAgICAgICAgIyBUaGUgc2VsZi13ZWFrcmVmIHRyaWNrIGlzIG5lZWRlZCB0byBhdm9pZCBjcmVhdGluZyBhIHJlZmVyZW5jZQorICAgICAgICAgICAgIyBjeWNsZS4KKyAgICAgICAgICAgIHNlbGYgPSBzZWxmX3dyKCkKKyAgICAgICAgICAgIGlmIHNlbGYuX2FsaXZlOgorICAgICAgICAgICAgICAgIHNlbGYuX2FsaXZlID0gRmFsc2UKKyAgICAgICAgICAgICAgICBpZiBjYWxsYmFjayBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soc2VsZikKKyAgICAgICAgc2VsZiA9IHJlZi5fX25ld19fKGNscywgb2JqLCBfY2IpCisgICAgICAgIHNlbGYuX2Z1bmNfcmVmID0gcmVmKGZ1bmMsIF9jYikKKyAgICAgICAgc2VsZi5fbWV0aF90eXBlID0gdHlwZShtZXRoKQorICAgICAgICBzZWxmLl9hbGl2ZSA9IFRydWUKKyAgICAgICAgc2VsZl93ciA9IHJlZihzZWxmKQorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYpOgorICAgICAgICBvYmogPSBzdXBlcigpLl9fY2FsbF9fKCkKKyAgICAgICAgZnVuYyA9IHNlbGYuX2Z1bmNfcmVmKCkKKyAgICAgICAgaWYgb2JqIGlzIE5vbmUgb3IgZnVuYyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHNlbGYuX21ldGhfdHlwZShmdW5jLCBvYmopCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgV2Vha01ldGhvZCk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYWxpdmUgb3Igbm90IG90aGVyLl9hbGl2ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZiBpcyBvdGhlcgorICAgICAgICAgICAgcmV0dXJuIHJlZi5fX2VxX18oc2VsZiwgb3RoZXIpIGFuZCBzZWxmLl9mdW5jX3JlZiA9PSBvdGhlci5fZnVuY19yZWYKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgV2Vha01ldGhvZCk6CisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYWxpdmUgb3Igbm90IG90aGVyLl9hbGl2ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZiBpcyBub3Qgb3RoZXIKKyAgICAgICAgICAgIHJldHVybiByZWYuX19uZV9fKHNlbGYsIG90aGVyKSBvciBzZWxmLl9mdW5jX3JlZiAhPSBvdGhlci5fZnVuY19yZWYKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIF9faGFzaF9fID0gcmVmLl9faGFzaF9fCiAKIAogY2xhc3MgV2Vha1ZhbHVlRGljdGlvbmFyeShjb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6CkBAIC0xNTMsOCArMjA3LDcgQEAKIAogICAgICAgICAiIiIKICAgICAgICAgd2l0aCBfSXRlcmF0aW9uR3VhcmQoc2VsZik6Ci0gICAgICAgICAgICBmb3Igd3IgaW4gc2VsZi5kYXRhLnZhbHVlcygpOgotICAgICAgICAgICAgICAgIHlpZWxkIHdyCisgICAgICAgICAgICB5aWVsZCBmcm9tIHNlbGYuZGF0YS52YWx1ZXMoKQogCiAgICAgZGVmIHZhbHVlcyhzZWxmKToKICAgICAgICAgd2l0aCBfSXRlcmF0aW9uR3VhcmQoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvd2ViYnJvd3Nlci5weSBiL0xpYi93ZWJicm93c2VyLnB5CmluZGV4IDk0NWVkYTQuLjI3MTRiZDEgMTAwNjQ0Ci0tLSBhL0xpYi93ZWJicm93c2VyLnB5CisrKyBiL0xpYi93ZWJicm93c2VyLnB5CkBAIC01LDYgKzUsNyBAQAogaW1wb3J0IGlvCiBpbXBvcnQgb3MKIGltcG9ydCBzaGxleAoraW1wb3J0IHNodXRpbAogaW1wb3J0IHN5cwogaW1wb3J0IHN0YXQKIGltcG9ydCBzdWJwcm9jZXNzCkBAIC04Myw3ICs4NCw3IEBACiAKICAgICAiIiIKICAgICBjbWQgPSBicm93c2VyLnNwbGl0KClbMF0KLSAgICBpZiBub3QgX2lzY29tbWFuZChjbWQpOgorICAgIGlmIG5vdCBzaHV0aWwud2hpY2goY21kKToKICAgICAgICAgcmV0dXJuIFtOb25lLCBOb25lXQogICAgIG5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKGNtZCkKICAgICB0cnk6CkBAIC0xMDIsMzggKzEwMyw2IEBACiAgICAgcmV0dXJuIFtOb25lLCBOb25lXQogCiAKLWlmIHN5cy5wbGF0Zm9ybVs6M10gPT0gIndpbiI6Ci0gICAgZGVmIF9pc2V4ZWN1dGFibGUoY21kKToKLSAgICAgICAgY21kID0gY21kLmxvd2VyKCkKLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoY21kKSBhbmQgY21kLmVuZHN3aXRoKCgiLmV4ZSIsICIuYmF0IikpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgZm9yIGV4dCBpbiAiLmV4ZSIsICIuYmF0IjoKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGNtZCArIGV4dCk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIEZhbHNlCi1lbHNlOgotICAgIGRlZiBfaXNleGVjdXRhYmxlKGNtZCk6Ci0gICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGNtZCk6Ci0gICAgICAgICAgICBtb2RlID0gb3Muc3RhdChjbWQpW3N0YXQuU1RfTU9ERV0KLSAgICAgICAgICAgIGlmIG1vZGUgJiBzdGF0LlNfSVhVU1Igb3IgbW9kZSAmIHN0YXQuU19JWEdSUCBvciBtb2RlICYgc3RhdC5TX0lYT1RIOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBGYWxzZQotCi1kZWYgX2lzY29tbWFuZChjbWQpOgotICAgICIiIlJldHVybiBUcnVlIGlmIGNtZCBpcyBleGVjdXRhYmxlIG9yIGNhbiBiZSBmb3VuZCBvbiB0aGUgZXhlY3V0YWJsZQotICAgIHNlYXJjaCBwYXRoLiIiIgotICAgIGlmIF9pc2V4ZWN1dGFibGUoY21kKToKLSAgICAgICAgcmV0dXJuIFRydWUKLSAgICBwYXRoID0gb3MuZW52aXJvbi5nZXQoIlBBVEgiKQotICAgIGlmIG5vdCBwYXRoOgotICAgICAgICByZXR1cm4gRmFsc2UKLSAgICBmb3IgZCBpbiBwYXRoLnNwbGl0KG9zLnBhdGhzZXApOgotICAgICAgICBleGUgPSBvcy5wYXRoLmpvaW4oZCwgY21kKQotICAgICAgICBpZiBfaXNleGVjdXRhYmxlKGV4ZSk6Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgIHJldHVybiBGYWxzZQotCi0KICMgR2VuZXJhbCBwYXJlbnQgY2xhc3NlcwogCiBjbGFzcyBCYXNlQnJvd3NlcihvYmplY3QpOgpAQCAtNDE4LDExICszODcsMTEgQEAKICAgICAgICAgICAgICMgbmVlZCB0byBQSU5HIGVhY2ggb25lIHVudGlsIHdlIGZpbmQgb25lIHRoYXQncyBsaXZlCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcy5jb25uZWN0KGZuKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICMgbm8gZ29vZDsgYXR0ZW1wdCB0byBjbGVhbiBpdCBvdXQsIGJ1dCBkb24ndCBmYWlsOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKGZuKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBzCkBAIC00NTMsMjIgKzQyMiwyMiBAQAogZGVmIHJlZ2lzdGVyX1hfYnJvd3NlcnMoKToKIAogICAgICMgdXNlIHhkZy1vcGVuIGlmIGFyb3VuZAotICAgIGlmIF9pc2NvbW1hbmQoInhkZy1vcGVuIik6CisgICAgaWYgc2h1dGlsLndoaWNoKCJ4ZGctb3BlbiIpOgogICAgICAgICByZWdpc3RlcigieGRnLW9wZW4iLCBOb25lLCBCYWNrZ3JvdW5kQnJvd3NlcigieGRnLW9wZW4iKSkKIAogICAgICMgVGhlIGRlZmF1bHQgR05PTUUzIGJyb3dzZXIKLSAgICBpZiAiR05PTUVfREVTS1RPUF9TRVNTSU9OX0lEIiBpbiBvcy5lbnZpcm9uIGFuZCBfaXNjb21tYW5kKCJndmZzLW9wZW4iKToKKyAgICBpZiAiR05PTUVfREVTS1RPUF9TRVNTSU9OX0lEIiBpbiBvcy5lbnZpcm9uIGFuZCBzaHV0aWwud2hpY2goImd2ZnMtb3BlbiIpOgogICAgICAgICByZWdpc3RlcigiZ3Zmcy1vcGVuIiwgTm9uZSwgQmFja2dyb3VuZEJyb3dzZXIoImd2ZnMtb3BlbiIpKQogCiAgICAgIyBUaGUgZGVmYXVsdCBHTk9NRSBicm93c2VyCi0gICAgaWYgIkdOT01FX0RFU0tUT1BfU0VTU0lPTl9JRCIgaW4gb3MuZW52aXJvbiBhbmQgX2lzY29tbWFuZCgiZ25vbWUtb3BlbiIpOgorICAgIGlmICJHTk9NRV9ERVNLVE9QX1NFU1NJT05fSUQiIGluIG9zLmVudmlyb24gYW5kIHNodXRpbC53aGljaCgiZ25vbWUtb3BlbiIpOgogICAgICAgICByZWdpc3RlcigiZ25vbWUtb3BlbiIsIE5vbmUsIEJhY2tncm91bmRCcm93c2VyKCJnbm9tZS1vcGVuIikpCiAKICAgICAjIFRoZSBkZWZhdWx0IEtERSBicm93c2VyCi0gICAgaWYgIktERV9GVUxMX1NFU1NJT04iIGluIG9zLmVudmlyb24gYW5kIF9pc2NvbW1hbmQoImtmbWNsaWVudCIpOgorICAgIGlmICJLREVfRlVMTF9TRVNTSU9OIiBpbiBvcy5lbnZpcm9uIGFuZCBzaHV0aWwud2hpY2goImtmbWNsaWVudCIpOgogICAgICAgICByZWdpc3Rlcigia2ZtY2xpZW50IiwgS29ucXVlcm9yLCBLb25xdWVyb3IoImtmbWNsaWVudCIpKQogCi0gICAgaWYgX2lzY29tbWFuZCgieC13d3ctYnJvd3NlciIpOgorICAgIGlmIHNodXRpbC53aGljaCgieC13d3ctYnJvd3NlciIpOgogICAgICAgICByZWdpc3RlcigieC13d3ctYnJvd3NlciIsIE5vbmUsIEJhY2tncm91bmRCcm93c2VyKCJ4LXd3dy1icm93c2VyIikpCiAKICAgICAjIFRoZSBNb3ppbGxhL05ldHNjYXBlIGJyb3dzZXJzCkBAIC00NzYsMzkgKzQ0NSwzOSBAQAogICAgICAgICAgICAgICAgICAgICAibW96aWxsYS1maXJlYmlyZCIsICJmaXJlYmlyZCIsCiAgICAgICAgICAgICAgICAgICAgICJpY2V3ZWFzZWwiLCAiaWNlYXBlIiwKICAgICAgICAgICAgICAgICAgICAgInNlYW1vbmtleSIsICJtb3ppbGxhIiwgIm5ldHNjYXBlIik6Ci0gICAgICAgIGlmIF9pc2NvbW1hbmQoYnJvd3Nlcik6CisgICAgICAgIGlmIHNodXRpbC53aGljaChicm93c2VyKToKICAgICAgICAgICAgIHJlZ2lzdGVyKGJyb3dzZXIsIE5vbmUsIE1vemlsbGEoYnJvd3NlcikpCiAKICAgICAjIEtvbnF1ZXJvci9rZm0sIHRoZSBLREUgYnJvd3Nlci4KLSAgICBpZiBfaXNjb21tYW5kKCJrZm0iKToKKyAgICBpZiBzaHV0aWwud2hpY2goImtmbSIpOgogICAgICAgICByZWdpc3Rlcigia2ZtIiwgS29ucXVlcm9yLCBLb25xdWVyb3IoImtmbSIpKQotICAgIGVsaWYgX2lzY29tbWFuZCgia29ucXVlcm9yIik6CisgICAgZWxpZiBzaHV0aWwud2hpY2goImtvbnF1ZXJvciIpOgogICAgICAgICByZWdpc3Rlcigia29ucXVlcm9yIiwgS29ucXVlcm9yLCBLb25xdWVyb3IoImtvbnF1ZXJvciIpKQogCiAgICAgIyBHbm9tZSdzIEdhbGVvbiBhbmQgRXBpcGhhbnkKICAgICBmb3IgYnJvd3NlciBpbiAoImdhbGVvbiIsICJlcGlwaGFueSIpOgotICAgICAgICBpZiBfaXNjb21tYW5kKGJyb3dzZXIpOgorICAgICAgICBpZiBzaHV0aWwud2hpY2goYnJvd3Nlcik6CiAgICAgICAgICAgICByZWdpc3Rlcihicm93c2VyLCBOb25lLCBHYWxlb24oYnJvd3NlcikpCiAKICAgICAjIFNraXBzdG9uZSwgYW5vdGhlciBHdGsvTW96aWxsYSBiYXNlZCBicm93c2VyCi0gICAgaWYgX2lzY29tbWFuZCgic2tpcHN0b25lIik6CisgICAgaWYgc2h1dGlsLndoaWNoKCJza2lwc3RvbmUiKToKICAgICAgICAgcmVnaXN0ZXIoInNraXBzdG9uZSIsIE5vbmUsIEJhY2tncm91bmRCcm93c2VyKCJza2lwc3RvbmUiKSkKIAogICAgICMgR29vZ2xlIENocm9tZS9DaHJvbWl1bSBicm93c2VycwogICAgIGZvciBicm93c2VyIGluICgiZ29vZ2xlLWNocm9tZSIsICJjaHJvbWUiLCAiY2hyb21pdW0iLCAiY2hyb21pdW0tYnJvd3NlciIpOgotICAgICAgICBpZiBfaXNjb21tYW5kKGJyb3dzZXIpOgorICAgICAgICBpZiBzaHV0aWwud2hpY2goYnJvd3Nlcik6CiAgICAgICAgICAgICByZWdpc3Rlcihicm93c2VyLCBOb25lLCBDaHJvbWUoYnJvd3NlcikpCiAKICAgICAjIE9wZXJhLCBxdWl0ZSBwb3B1bGFyCi0gICAgaWYgX2lzY29tbWFuZCgib3BlcmEiKToKKyAgICBpZiBzaHV0aWwud2hpY2goIm9wZXJhIik6CiAgICAgICAgIHJlZ2lzdGVyKCJvcGVyYSIsIE5vbmUsIE9wZXJhKCJvcGVyYSIpKQogCiAgICAgIyBOZXh0LCBNb3NhaWMgLS0gb2xkIGJ1dCBzdGlsbCBpbiB1c2UuCi0gICAgaWYgX2lzY29tbWFuZCgibW9zYWljIik6CisgICAgaWYgc2h1dGlsLndoaWNoKCJtb3NhaWMiKToKICAgICAgICAgcmVnaXN0ZXIoIm1vc2FpYyIsIE5vbmUsIEJhY2tncm91bmRCcm93c2VyKCJtb3NhaWMiKSkKIAogICAgICMgR3JhaWwsIHRoZSBQeXRob24gYnJvd3Nlci4gRG9lcyBhbnlib2R5IHN0aWxsIHVzZSBpdD8KLSAgICBpZiBfaXNjb21tYW5kKCJncmFpbCIpOgorICAgIGlmIHNodXRpbC53aGljaCgiZ3JhaWwiKToKICAgICAgICAgcmVnaXN0ZXIoImdyYWlsIiwgR3JhaWwsIE5vbmUpCiAKICMgUHJlZmVyIFggYnJvd3NlcnMgaWYgcHJlc2VudApAQCAtNTE3LDE4ICs0ODYsMTggQEAKIAogIyBBbHNvIHRyeSBjb25zb2xlIGJyb3dzZXJzCiBpZiBvcy5lbnZpcm9uLmdldCgiVEVSTSIpOgotICAgIGlmIF9pc2NvbW1hbmQoInd3dy1icm93c2VyIik6CisgICAgaWYgc2h1dGlsLndoaWNoKCJ3d3ctYnJvd3NlciIpOgogICAgICAgICByZWdpc3Rlcigid3d3LWJyb3dzZXIiLCBOb25lLCBHZW5lcmljQnJvd3Nlcigid3d3LWJyb3dzZXIiKSkKICAgICAjIFRoZSBMaW5rcy9lbGlua3MgYnJvd3NlcnMgPGh0dHA6Ly9hcnRheC5rYXJsaW4ubWZmLmN1bmkuY3ovfm1pa3VsYXMvbGlua3MvPgotICAgIGlmIF9pc2NvbW1hbmQoImxpbmtzIik6CisgICAgaWYgc2h1dGlsLndoaWNoKCJsaW5rcyIpOgogICAgICAgICByZWdpc3RlcigibGlua3MiLCBOb25lLCBHZW5lcmljQnJvd3NlcigibGlua3MiKSkKLSAgICBpZiBfaXNjb21tYW5kKCJlbGlua3MiKToKKyAgICBpZiBzaHV0aWwud2hpY2goImVsaW5rcyIpOgogICAgICAgICByZWdpc3RlcigiZWxpbmtzIiwgTm9uZSwgRWxpbmtzKCJlbGlua3MiKSkKICAgICAjIFRoZSBMeW54IGJyb3dzZXIgPGh0dHA6Ly9seW54LmlzYy5vcmcvPiwgPGh0dHA6Ly9seW54LmJyb3dzZXIub3JnLz4KLSAgICBpZiBfaXNjb21tYW5kKCJseW54Iik6CisgICAgaWYgc2h1dGlsLndoaWNoKCJseW54Iik6CiAgICAgICAgIHJlZ2lzdGVyKCJseW54IiwgTm9uZSwgR2VuZXJpY0Jyb3dzZXIoImx5bngiKSkKICAgICAjIFRoZSB3M20gYnJvd3NlciA8aHR0cDovL3czbS5zb3VyY2Vmb3JnZS5uZXQvPgotICAgIGlmIF9pc2NvbW1hbmQoInczbSIpOgorICAgIGlmIHNodXRpbC53aGljaCgidzNtIik6CiAgICAgICAgIHJlZ2lzdGVyKCJ3M20iLCBOb25lLCBHZW5lcmljQnJvd3NlcigidzNtIikpCiAKICMKQEAgLTU0MCw3ICs1MDksNyBAQAogICAgICAgICBkZWYgb3BlbihzZWxmLCB1cmwsIG5ldz0wLCBhdXRvcmFpc2U9VHJ1ZSk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3Muc3RhcnRmaWxlKHVybCkKLSAgICAgICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAjIFtFcnJvciAyMl0gTm8gYXBwbGljYXRpb24gaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZpZWQKICAgICAgICAgICAgICAgICAjIGZpbGUgZm9yIHRoaXMgb3BlcmF0aW9uOiAnPFVSTD4nCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC01NTgsNyArNTI3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50ZXJuZXQgRXhwbG9yZXJcXElFWFBMT1JFLkVYRSIpCiAgICAgZm9yIGJyb3dzZXIgaW4gKCJmaXJlZm94IiwgImZpcmViaXJkIiwgInNlYW1vbmtleSIsICJtb3ppbGxhIiwKICAgICAgICAgICAgICAgICAgICAgIm5ldHNjYXBlIiwgIm9wZXJhIiwgaWV4cGxvcmUpOgotICAgICAgICBpZiBfaXNjb21tYW5kKGJyb3dzZXIpOgorICAgICAgICBpZiBzaHV0aWwud2hpY2goYnJvd3Nlcik6CiAgICAgICAgICAgICByZWdpc3Rlcihicm93c2VyLCBOb25lLCBCYWNrZ3JvdW5kQnJvd3Nlcihicm93c2VyKSkKIAogIwpAQCAtNjQ0LDE3ICs2MTMsNiBAQAogICAgIHJlZ2lzdGVyKCJNYWNPU1giLCBOb25lLCBNYWNPU1hPU0FTY3JpcHQoJ2RlZmF1bHQnKSwgLTEpCiAKIAotIwotIyBQbGF0Zm9ybSBzdXBwb3J0IGZvciBPUy8yCi0jCi0KLWlmIHN5cy5wbGF0Zm9ybVs6M10gPT0gIm9zMiIgYW5kIF9pc2NvbW1hbmQoIm5ldHNjYXBlIik6Ci0gICAgX3RyeW9yZGVyID0gW10KLSAgICBfYnJvd3NlcnMgPSB7fQotICAgIHJlZ2lzdGVyKCJvczJuZXRzY2FwZSIsIE5vbmUsCi0gICAgICAgICAgICAgR2VuZXJpY0Jyb3dzZXIoWyJzdGFydCIsICJuZXRzY2FwZSIsICIlcyJdKSwgLTEpCi0KLQogIyBPSywgbm93IHRoYXQgd2Uga25vdyB3aGF0IHRoZSBkZWZhdWx0IHByZWZlcmVuY2Ugb3JkZXJzIGZvciBlYWNoCiAjIHBsYXRmb3JtIGFyZSwgYWxsb3cgdXNlciB0byBvdmVycmlkZSB0aGVtIHdpdGggdGhlIEJST1dTRVIgdmFyaWFibGUuCiBpZiAiQlJPV1NFUiIgaW4gb3MuZW52aXJvbjoKZGlmZiAtLWdpdCBhL0xpYi94bWwvZG9tL2V4cGF0YnVpbGRlci5weSBiL0xpYi94bWwvZG9tL2V4cGF0YnVpbGRlci5weQppbmRleCBmMDc0YWI5Li44MWUyZGY3IDEwMDY0NAotLS0gYS9MaWIveG1sL2RvbS9leHBhdGJ1aWxkZXIucHkKKysrIGIvTGliL3htbC9kb20vZXhwYXRidWlsZGVyLnB5CkBAIC05MDUsMTEgKzkwNSw4IEBACiAgICAgICAgIGJ1aWxkZXIgPSBFeHBhdEJ1aWxkZXIoKQogCiAgICAgaWYgaXNpbnN0YW5jZShmaWxlLCBzdHIpOgotICAgICAgICBmcCA9IG9wZW4oZmlsZSwgJ3JiJykKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4oZmlsZSwgJ3JiJykgYXMgZnA6CiAgICAgICAgICAgICByZXN1bHQgPSBidWlsZGVyLnBhcnNlRmlsZShmcCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGZwLmNsb3NlKCkKICAgICBlbHNlOgogICAgICAgICByZXN1bHQgPSBidWlsZGVyLnBhcnNlRmlsZShmaWxlKQogICAgIHJldHVybiByZXN1bHQKQEAgLTkzOSwxMSArOTM2LDggQEAKICAgICAgICAgYnVpbGRlciA9IEZyYWdtZW50QnVpbGRlcihjb250ZXh0KQogCiAgICAgaWYgaXNpbnN0YW5jZShmaWxlLCBzdHIpOgotICAgICAgICBmcCA9IG9wZW4oZmlsZSwgJ3JiJykKLSAgICAgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4oZmlsZSwgJ3JiJykgYXMgZnA6CiAgICAgICAgICAgICByZXN1bHQgPSBidWlsZGVyLnBhcnNlRmlsZShmcCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGZwLmNsb3NlKCkKICAgICBlbHNlOgogICAgICAgICByZXN1bHQgPSBidWlsZGVyLnBhcnNlRmlsZShmaWxlKQogICAgIHJldHVybiByZXN1bHQKZGlmZiAtLWdpdCBhL0xpYi94bWwvZXRyZWUvRWxlbWVudEluY2x1ZGUucHkgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRJbmNsdWRlLnB5CmluZGV4IDZjYzFiNDQuLjczZTQ5MWUgMTAwNjQ0Ci0tLSBhL0xpYi94bWwvZXRyZWUvRWxlbWVudEluY2x1ZGUucHkKKysrIGIvTGliL3htbC9ldHJlZS9FbGVtZW50SW5jbHVkZS5weQpAQCAtNzEsOCArNzEsOCBAQAogIyBAcmV0dXJuIFRoZSBleHBhbmRlZCByZXNvdXJjZS4gIElmIHRoZSBwYXJzZSBtb2RlIGlzICJ4bWwiLCB0aGlzCiAjICAgIGlzIGFuIEVsZW1lbnRUcmVlIGluc3RhbmNlLiAgSWYgdGhlIHBhcnNlIG1vZGUgaXMgInRleHQiLCB0aGlzCiAjICAgIGlzIGEgVW5pY29kZSBzdHJpbmcuICBJZiB0aGUgbG9hZGVyIGZhaWxzLCBpdCBjYW4gcmV0dXJuIE5vbmUKLSMgICAgb3IgcmFpc2UgYW4gSU9FcnJvciBleGNlcHRpb24uCi0jIEB0aHJvd3MgSU9FcnJvciBJZiB0aGUgbG9hZGVyIGZhaWxzIHRvIGxvYWQgdGhlIHJlc291cmNlLgorIyAgICBvciByYWlzZSBhbiBPU0Vycm9yIGV4Y2VwdGlvbi4KKyMgQHRocm93cyBPU0Vycm9yIElmIHRoZSBsb2FkZXIgZmFpbHMgdG8gbG9hZCB0aGUgcmVzb3VyY2UuCiAKIGRlZiBkZWZhdWx0X2xvYWRlcihocmVmLCBwYXJzZSwgZW5jb2Rpbmc9Tm9uZSk6CiAgICAgaWYgcGFyc2UgPT0gInhtbCI6CkBAIC05NSw3ICs5NSw3IEBACiAjICAgICB0aGF0IGltcGxlbWVudHMgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIDxiPmRlZmF1bHRfbG9hZGVyPC9iPi4KICMgQHRocm93cyBGYXRhbEluY2x1ZGVFcnJvciBJZiB0aGUgZnVuY3Rpb24gZmFpbHMgdG8gaW5jbHVkZSBhIGdpdmVuCiAjICAgICByZXNvdXJjZSwgb3IgaWYgdGhlIHRyZWUgY29udGFpbnMgbWFsZm9ybWVkIFhJbmNsdWRlIGVsZW1lbnRzLgotIyBAdGhyb3dzIElPRXJyb3IgSWYgdGhlIGZ1bmN0aW9uIGZhaWxzIHRvIGxvYWQgYSBnaXZlbiByZXNvdXJjZS4KKyMgQHRocm93cyBPU0Vycm9yIElmIHRoZSBmdW5jdGlvbiBmYWlscyB0byBsb2FkIGEgZ2l2ZW4gcmVzb3VyY2UuCiAKIGRlZiBpbmNsdWRlKGVsZW0sIGxvYWRlcj1Ob25lKToKICAgICBpZiBsb2FkZXIgaXMgTm9uZToKZGlmZiAtLWdpdCBhL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRQYXRoLnB5CmluZGV4IDUyZTY1ZjAuLmJmOTg0YjkgMTAwNjQ0Ci0tLSBhL0xpYi94bWwvZXRyZWUvRWxlbWVudFBhdGgucHkKKysrIGIvTGliL3htbC9ldHJlZS9FbGVtZW50UGF0aC5weQpAQCAtMTA1LDE0ICsxMDUsMTIgQEAKIGRlZiBwcmVwYXJlX3N0YXIobmV4dCwgdG9rZW4pOgogICAgIGRlZiBzZWxlY3QoY29udGV4dCwgcmVzdWx0KToKICAgICAgICAgZm9yIGVsZW0gaW4gcmVzdWx0OgotICAgICAgICAgICAgZm9yIGUgaW4gZWxlbToKLSAgICAgICAgICAgICAgICB5aWVsZCBlCisgICAgICAgICAgICB5aWVsZCBmcm9tIGVsZW0KICAgICByZXR1cm4gc2VsZWN0CiAKIGRlZiBwcmVwYXJlX3NlbGYobmV4dCwgdG9rZW4pOgogICAgIGRlZiBzZWxlY3QoY29udGV4dCwgcmVzdWx0KToKLSAgICAgICAgZm9yIGVsZW0gaW4gcmVzdWx0OgotICAgICAgICAgICAgeWllbGQgZWxlbQorICAgICAgICB5aWVsZCBmcm9tIHJlc3VsdAogICAgIHJldHVybiBzZWxlY3QKIAogZGVmIHByZXBhcmVfZGVzY2VuZGFudChuZXh0LCB0b2tlbik6CkBAIC0xNzYsNyArMTc0LDcgQEAKICAgICAgICAgICAgICAgICBpZiBlbGVtLmdldChrZXkpID09IHZhbHVlOgogICAgICAgICAgICAgICAgICAgICB5aWVsZCBlbGVtCiAgICAgICAgIHJldHVybiBzZWxlY3QKLSAgICBpZiBzaWduYXR1cmUgPT0gIi0iIGFuZCBub3QgcmUubWF0Y2goIlxkKyQiLCBwcmVkaWNhdGVbMF0pOgorICAgIGlmIHNpZ25hdHVyZSA9PSAiLSIgYW5kIG5vdCByZS5tYXRjaCgiXC0/XGQrJCIsIHByZWRpY2F0ZVswXSk6CiAgICAgICAgICMgW3RhZ10KICAgICAgICAgdGFnID0gcHJlZGljYXRlWzBdCiAgICAgICAgIGRlZiBzZWxlY3QoY29udGV4dCwgcmVzdWx0KToKQEAgLTE4NCw3ICsxODIsNyBAQAogICAgICAgICAgICAgICAgIGlmIGVsZW0uZmluZCh0YWcpIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICB5aWVsZCBlbGVtCiAgICAgICAgIHJldHVybiBzZWxlY3QKLSAgICBpZiBzaWduYXR1cmUgPT0gIi09JyIgYW5kIG5vdCByZS5tYXRjaCgiXGQrJCIsIHByZWRpY2F0ZVswXSk6CisgICAgaWYgc2lnbmF0dXJlID09ICItPSciIGFuZCBub3QgcmUubWF0Y2goIlwtP1xkKyQiLCBwcmVkaWNhdGVbMF0pOgogICAgICAgICAjIFt0YWc9J3ZhbHVlJ10KICAgICAgICAgdGFnID0gcHJlZGljYXRlWzBdCiAgICAgICAgIHZhbHVlID0gcHJlZGljYXRlWy0xXQpAQCAtMTk4LDcgKzE5NiwxMCBAQAogICAgIGlmIHNpZ25hdHVyZSA9PSAiLSIgb3Igc2lnbmF0dXJlID09ICItKCkiIG9yIHNpZ25hdHVyZSA9PSAiLSgpLSI6CiAgICAgICAgICMgW2luZGV4XSBvciBbbGFzdCgpXSBvciBbbGFzdCgpLWluZGV4XQogICAgICAgICBpZiBzaWduYXR1cmUgPT0gIi0iOgorICAgICAgICAgICAgIyBbaW5kZXhdCiAgICAgICAgICAgICBpbmRleCA9IGludChwcmVkaWNhdGVbMF0pIC0gMQorICAgICAgICAgICAgaWYgaW5kZXggPCAwOgorICAgICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yKCJYUGF0aCBwb3NpdGlvbiA+PSAxIGV4cGVjdGVkIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlmIHByZWRpY2F0ZVswXSAhPSAibGFzdCI6CiAgICAgICAgICAgICAgICAgcmFpc2UgU3ludGF4RXJyb3IoInVuc3VwcG9ydGVkIGZ1bmN0aW9uIikKQEAgLTIwNyw2ICsyMDgsOCBAQAogICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGludChwcmVkaWNhdGVbMl0pIC0gMQogICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBTeW50YXhFcnJvcigidW5zdXBwb3J0ZWQgZXhwcmVzc2lvbiIpCisgICAgICAgICAgICAgICAgaWYgaW5kZXggPiAtMjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgU3ludGF4RXJyb3IoIlhQYXRoIG9mZnNldCBmcm9tIGxhc3QoKSBtdXN0IGJlIG5lZ2F0aXZlIikKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgaW5kZXggPSAtMQogICAgICAgICBkZWYgc2VsZWN0KGNvbnRleHQsIHJlc3VsdCk6CmRpZmYgLS1naXQgYS9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5IGIvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weQppbmRleCA0YzczMzAzLi5iNTZkZGZmIDEwMDY0NAotLS0gYS9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5CisrKyBiL0xpYi94bWwvZXRyZWUvRWxlbWVudFRyZWUucHkKQEAgLTEsMjggKzEsNDcgQEAKKyIiIkxpZ2h0d2VpZ2h0IFhNTCBzdXBwb3J0IGZvciBQeXRob24uCisKKyBYTUwgaXMgYW4gaW5oZXJlbnRseSBoaWVyYXJjaGljYWwgZGF0YSBmb3JtYXQsIGFuZCB0aGUgbW9zdCBuYXR1cmFsIHdheSB0bworIHJlcHJlc2VudCBpdCBpcyB3aXRoIGEgdHJlZS4gIFRoaXMgbW9kdWxlIGhhcyB0d28gY2xhc3NlcyBmb3IgdGhpcyBwdXJwb3NlOgorCisgICAgMS4gRWxlbWVudFRyZWUgcmVwcmVzZW50cyB0aGUgd2hvbGUgWE1MIGRvY3VtZW50IGFzIGEgdHJlZSBhbmQKKworICAgIDIuIEVsZW1lbnQgcmVwcmVzZW50cyBhIHNpbmdsZSBub2RlIGluIHRoaXMgdHJlZS4KKworIEludGVyYWN0aW9ucyB3aXRoIHRoZSB3aG9sZSBkb2N1bWVudCAocmVhZGluZyBhbmQgd3JpdGluZyB0by9mcm9tIGZpbGVzKSBhcmUKKyB1c3VhbGx5IGRvbmUgb24gdGhlIEVsZW1lbnRUcmVlIGxldmVsLiAgSW50ZXJhY3Rpb25zIHdpdGggYSBzaW5nbGUgWE1MIGVsZW1lbnQKKyBhbmQgaXRzIHN1Yi1lbGVtZW50cyBhcmUgZG9uZSBvbiB0aGUgRWxlbWVudCBsZXZlbC4KKworIEVsZW1lbnQgaXMgYSBmbGV4aWJsZSBjb250YWluZXIgb2JqZWN0IGRlc2lnbmVkIHRvIHN0b3JlIGhpZXJhcmNoaWNhbCBkYXRhCisgc3RydWN0dXJlcyBpbiBtZW1vcnkuIEl0IGNhbiBiZSBkZXNjcmliZWQgYXMgYSBjcm9zcyBiZXR3ZWVuIGEgbGlzdCBhbmQgYQorIGRpY3Rpb25hcnkuICBFYWNoIEVsZW1lbnQgaGFzIGEgbnVtYmVyIG9mIHByb3BlcnRpZXMgYXNzb2NpYXRlZCB3aXRoIGl0OgorCisgICAgJ3RhZycgLSBhIHN0cmluZyBjb250YWluaW5nIHRoZSBlbGVtZW50J3MgbmFtZS4KKworICAgICdhdHRyaWJ1dGVzJyAtIGEgUHl0aG9uIGRpY3Rpb25hcnkgc3RvcmluZyB0aGUgZWxlbWVudCdzIGF0dHJpYnV0ZXMuCisKKyAgICAndGV4dCcgLSBhIHN0cmluZyBjb250YWluaW5nIHRoZSBlbGVtZW50J3MgdGV4dCBjb250ZW50LgorCisgICAgJ3RhaWwnIC0gYW4gb3B0aW9uYWwgc3RyaW5nIGNvbnRhaW5pbmcgdGV4dCBhZnRlciB0aGUgZWxlbWVudCdzIGVuZCB0YWcuCisKKyAgICBBbmQgYSBudW1iZXIgb2YgY2hpbGQgZWxlbWVudHMgc3RvcmVkIGluIGEgUHl0aG9uIHNlcXVlbmNlLgorCisgVG8gY3JlYXRlIGFuIGVsZW1lbnQgaW5zdGFuY2UsIHVzZSB0aGUgRWxlbWVudCBjb25zdHJ1Y3RvciwKKyBvciB0aGUgU3ViRWxlbWVudCBmYWN0b3J5IGZ1bmN0aW9uLgorCisgWW91IGNhbiBhbHNvIHVzZSB0aGUgRWxlbWVudFRyZWUgY2xhc3MgdG8gd3JhcCBhbiBlbGVtZW50IHN0cnVjdHVyZQorIGFuZCBjb252ZXJ0IGl0IHRvIGFuZCBmcm9tIFhNTC4KKworIiIiCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgTGljZW5zZWQgdG8gUFNGIHVuZGVyIGEgQ29udHJpYnV0b3IgQWdyZWVtZW50LgorIyBTZWUgaHR0cDovL3d3dy5weXRob24ub3JnL3BzZi9saWNlbnNlIGZvciBsaWNlbnNpbmcgZGV0YWlscy4KICMKICMgRWxlbWVudFRyZWUKLSMgJElkOiBFbGVtZW50VHJlZS5weSAzNDQwIDIwMDgtMDctMTggMTQ6NDU6MDFaIGZyZWRyaWsgJAotIwotIyBsaWdodC13ZWlnaHQgWE1MIHN1cHBvcnQgZm9yIFB5dGhvbiAyLjMgYW5kIGxhdGVyLgotIwotIyBoaXN0b3J5IChzaW5jZSAxLjIuNik6Ci0jIDIwMDUtMTEtMTIgZmwgICBhZGRlZCB0b3N0cmluZ2xpc3QvZnJvbXN0cmluZ2xpc3QgaGVscGVycwotIyAyMDA2LTA3LTA1IGZsICAgbWVyZ2VkIGluIHNlbGVjdGVkIGNoYW5nZXMgZnJvbSB0aGUgMS4zIHNhbmRib3gKLSMgMjAwNi0wNy0wNSBmbCAgIHJlbW92ZWQgc3VwcG9ydCBmb3IgMi4xIGFuZCBlYXJsaWVyCi0jIDIwMDctMDYtMjEgZmwgICBhZGRlZCBkZXByZWNhdGlvbi9mdXR1cmUgd2FybmluZ3MKLSMgMjAwNy0wOC0yNSBmbCAgIGFkZGVkIGRvY3R5cGUgaG9vaywgYWRkZWQgcGFyc2VyIHZlcnNpb24gYXR0cmlidXRlIGV0YwotIyAyMDA3LTA4LTI2IGZsICAgYWRkZWQgbmV3IHNlcmlhbGl6ZXIgY29kZSAoYmV0dGVyIG5hbWVzcGFjZSBoYW5kbGluZywgZXRjKQotIyAyMDA3LTA4LTI3IGZsICAgd2FybiBmb3IgYnJva2VuIC90YWcgc2VhcmNoZXMgb24gdHJlZSBsZXZlbAotIyAyMDA3LTA5LTAyIGZsICAgYWRkZWQgaHRtbC90ZXh0IG1ldGhvZHMgdG8gc2VyaWFsaXplciAoZXhwZXJpbWVudGFsKQotIyAyMDA3LTA5LTA1IGZsICAgYWRkZWQgbWV0aG9kIGFyZ3VtZW50IHRvIHRvc3RyaW5nL3Rvc3RyaW5nbGlzdAotIyAyMDA3LTA5LTA2IGZsICAgaW1wcm92ZWQgZXJyb3IgaGFuZGxpbmcKLSMgMjAwNy0wOS0xMyBmbCAgIGFkZGVkIGl0ZXJ0ZXh0LCBpdGVyZmluZDsgYXNzb3J0ZWQgY2xlYW51cHMKLSMgMjAwNy0xMi0xNSBmbCAgIGFkZGVkIEMxNE4gaG9va3MsIGNvcHkgbWV0aG9kIChleHBlcmltZW50YWwpCi0jCiAjIENvcHlyaWdodCAoYykgMTk5OS0yMDA4IGJ5IEZyZWRyaWsgTHVuZGguICBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwogIyBmcmVkcmlrQHB5dGhvbndhcmUuY29tCiAjIGh0dHA6Ly93d3cucHl0aG9ud2FyZS5jb20KLSMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgVGhlIEVsZW1lbnRUcmVlIHRvb2xraXQgaXMKICMKQEAgLTUxLDkgKzcwLDYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRS4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotIyBMaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCi0jIFNlZSBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcHNmL2xpY2Vuc2UgZm9yIGxpY2Vuc2luZyBkZXRhaWxzLgotCiBfX2FsbF9fID0gWwogICAgICMgcHVibGljIHN5bWJvbHMKICAgICAiQ29tbWVudCIsCkBAIC03NSwyOCArOTEsNiBAQAogCiBWRVJTSU9OID0gIjEuMy4wIgogCi0jIwotIyBUaGUgPGI+RWxlbWVudDwvYj4gdHlwZSBpcyBhIGZsZXhpYmxlIGNvbnRhaW5lciBvYmplY3QsIGRlc2lnbmVkIHRvCi0jIHN0b3JlIGhpZXJhcmNoaWNhbCBkYXRhIHN0cnVjdHVyZXMgaW4gbWVtb3J5LiBUaGUgdHlwZSBjYW4gYmUKLSMgZGVzY3JpYmVkIGFzIGEgY3Jvc3MgYmV0d2VlbiBhIGxpc3QgYW5kIGEgZGljdGlvbmFyeS4KLSMgPHA+Ci0jIEVhY2ggZWxlbWVudCBoYXMgYSBudW1iZXIgb2YgcHJvcGVydGllcyBhc3NvY2lhdGVkIHdpdGggaXQ6Ci0jIDx1bD4KLSMgPGxpPmEgPGk+dGFnPC9pPi4gVGhpcyBpcyBhIHN0cmluZyBpZGVudGlmeWluZyB3aGF0IGtpbmQgb2YgZGF0YQotIyB0aGlzIGVsZW1lbnQgcmVwcmVzZW50cyAodGhlIGVsZW1lbnQgdHlwZSwgaW4gb3RoZXIgd29yZHMpLjwvbGk+Ci0jIDxsaT5hIG51bWJlciBvZiA8aT5hdHRyaWJ1dGVzPC9pPiwgc3RvcmVkIGluIGEgUHl0aG9uIGRpY3Rpb25hcnkuPC9saT4KLSMgPGxpPmEgPGk+dGV4dDwvaT4gc3RyaW5nLjwvbGk+Ci0jIDxsaT5hbiBvcHRpb25hbCA8aT50YWlsPC9pPiBzdHJpbmcuPC9saT4KLSMgPGxpPmEgbnVtYmVyIG9mIDxpPmNoaWxkIGVsZW1lbnRzPC9pPiwgc3RvcmVkIGluIGEgUHl0aG9uIHNlcXVlbmNlPC9saT4KLSMgPC91bD4KLSMKLSMgVG8gY3JlYXRlIGFuIGVsZW1lbnQgaW5zdGFuY2UsIHVzZSB0aGUge0BsaW5rICNFbGVtZW50fSBjb25zdHJ1Y3RvcgotIyBvciB0aGUge0BsaW5rICNTdWJFbGVtZW50fSBmYWN0b3J5IGZ1bmN0aW9uLgotIyA8cD4KLSMgVGhlIHtAbGluayAjRWxlbWVudFRyZWV9IGNsYXNzIGNhbiBiZSB1c2VkIHRvIHdyYXAgYW4gZWxlbWVudAotIyBzdHJ1Y3R1cmUsIGFuZCBjb252ZXJ0IGl0IGZyb20gYW5kIHRvIFhNTC4KLSMjCi0KIGltcG9ydCBzeXMKIGltcG9ydCByZQogaW1wb3J0IHdhcm5pbmdzCkBAIC0xMDYsODEgKzEwMCw2OCBAQAogZnJvbSAuIGltcG9ydCBFbGVtZW50UGF0aAogCiAKLSMjCi0jIFBhcnNlciBlcnJvci4gIFRoaXMgaXMgYSBzdWJjbGFzcyBvZiA8Yj5TeW50YXhFcnJvcjwvYj4uCi0jIDxwPgotIyBJbiBhZGRpdGlvbiB0byB0aGUgZXhjZXB0aW9uIHZhbHVlLCBhbiBleGNlcHRpb24gaW5zdGFuY2UgY29udGFpbnMgYQotIyBzcGVjaWZpYyBleGNlcHRpb24gY29kZSBpbiB0aGUgPGI+Y29kZTwvYj4gYXR0cmlidXRlLCBhbmQgdGhlIGxpbmUgYW5kCi0jIGNvbHVtbiBvZiB0aGUgZXJyb3IgaW4gdGhlIDxiPnBvc2l0aW9uPC9iPiBhdHRyaWJ1dGUuCi0KIGNsYXNzIFBhcnNlRXJyb3IoU3ludGF4RXJyb3IpOgorICAgICIiIkFuIGVycm9yIHdoZW4gcGFyc2luZyBhbiBYTUwgZG9jdW1lbnQuCisKKyAgICBJbiBhZGRpdGlvbiB0byBpdHMgZXhjZXB0aW9uIHZhbHVlLCBhIFBhcnNlRXJyb3IgY29udGFpbnMKKyAgICB0d28gZXh0cmEgYXR0cmlidXRlczoKKyAgICAgICAgJ2NvZGUnICAgICAtIHRoZSBzcGVjaWZpYyBleGNlcHRpb24gY29kZQorICAgICAgICAncG9zaXRpb24nIC0gdGhlIGxpbmUgYW5kIGNvbHVtbiBvZiB0aGUgZXJyb3IKKworICAgICIiIgogICAgIHBhc3MKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi0jIwotIyBDaGVja3MgaWYgYW4gb2JqZWN0IGFwcGVhcnMgdG8gYmUgYSB2YWxpZCBlbGVtZW50IG9iamVjdC4KLSMKLSMgQHBhcmFtIEFuIGVsZW1lbnQgaW5zdGFuY2UuCi0jIEByZXR1cm4gQSB0cnVlIHZhbHVlIGlmIHRoaXMgaXMgYW4gZWxlbWVudCBvYmplY3QuCi0jIEBkZWZyZXR1cm4gZmxhZwogCiBkZWYgaXNlbGVtZW50KGVsZW1lbnQpOgotICAgICMgRklYTUU6IG5vdCBzdXJlIGFib3V0IHRoaXM7Ci0gICAgIyBpc2luc3RhbmNlKGVsZW1lbnQsIEVsZW1lbnQpIG9yIGxvb2sgZm9yIHRhZy9hdHRyaWIvdGV4dCBhdHRyaWJ1dGVzCisgICAgIiIiUmV0dXJuIFRydWUgaWYgKmVsZW1lbnQqIGFwcGVhcnMgdG8gYmUgYW4gRWxlbWVudC4iIiIKICAgICByZXR1cm4gaGFzYXR0cihlbGVtZW50LCAndGFnJykKIAotIyMKLSMgRWxlbWVudCBjbGFzcy4gIFRoaXMgY2xhc3MgZGVmaW5lcyB0aGUgRWxlbWVudCBpbnRlcmZhY2UsIGFuZAotIyBwcm92aWRlcyBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGludGVyZmFjZS4KLSMgPHA+Ci0jIFRoZSBlbGVtZW50IG5hbWUsIGF0dHJpYnV0ZSBuYW1lcywgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgY2FuIGJlCi0jIGVpdGhlciBBU0NJSSBzdHJpbmdzIChvcmRpbmFyeSBQeXRob24gc3RyaW5ncyBjb250YWluaW5nIG9ubHkgNy1iaXQKLSMgQVNDSUkgY2hhcmFjdGVycykgb3IgVW5pY29kZSBzdHJpbmdzLgotIwotIyBAcGFyYW0gdGFnIFRoZSBlbGVtZW50IG5hbWUuCi0jIEBwYXJhbSBhdHRyaWIgQW4gb3B0aW9uYWwgZGljdGlvbmFyeSwgY29udGFpbmluZyBlbGVtZW50IGF0dHJpYnV0ZXMuCi0jIEBwYXJhbSAqKmV4dHJhIEFkZGl0aW9uYWwgYXR0cmlidXRlcywgZ2l2ZW4gYXMga2V5d29yZCBhcmd1bWVudHMuCi0jIEBzZWUgRWxlbWVudAotIyBAc2VlIFN1YkVsZW1lbnQKLSMgQHNlZSBDb21tZW50Ci0jIEBzZWUgUHJvY2Vzc2luZ0luc3RydWN0aW9uCiAKIGNsYXNzIEVsZW1lbnQ6Ci0gICAgIyA8dGFnIGF0dHJpYj50ZXh0PGNoaWxkLz4uLi48L3RhZz50YWlsCisgICAgIiIiQW4gWE1MIGVsZW1lbnQuCiAKLSAgICAjIwotICAgICMgKEF0dHJpYnV0ZSkgRWxlbWVudCB0YWcuCisgICAgVGhpcyBjbGFzcyBpcyB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBFbGVtZW50IGludGVyZmFjZS4KKworICAgIEFuIGVsZW1lbnQncyBsZW5ndGggaXMgaXRzIG51bWJlciBvZiBzdWJlbGVtZW50cy4gIFRoYXQgbWVhbnMgaWYgeW91CisgICAgeW91IHdhbnQgdG8gY2hlY2sgaWYgYW4gZWxlbWVudCBpcyB0cnVseSBlbXB0eSwgeW91IHNob3VsZCBjaGVjayBCT1RICisgICAgaXRzIGxlbmd0aCBBTkQgaXRzIHRleHQgYXR0cmlidXRlLgorCisgICAgVGhlIGVsZW1lbnQgdGFnLCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBhdHRyaWJ1dGUgdmFsdWVzIGNhbiBiZSBlaXRoZXIKKyAgICBieXRlcyBvciBzdHJpbmdzLgorCisgICAgKnRhZyogaXMgdGhlIGVsZW1lbnQgbmFtZS4gICphdHRyaWIqIGlzIGFuIG9wdGlvbmFsIGRpY3Rpb25hcnkgY29udGFpbmluZworICAgIGVsZW1lbnQgYXR0cmlidXRlcy4gKmV4dHJhKiBhcmUgYWRkaXRpb25hbCBlbGVtZW50IGF0dHJpYnV0ZXMgZ2l2ZW4gYXMKKyAgICBrZXl3b3JkIGFyZ3VtZW50cy4KKworICAgIEV4YW1wbGUgZm9ybToKKyAgICAgICAgPHRhZyBhdHRyaWI+dGV4dDxjaGlsZC8+Li4uPC90YWc+dGFpbAorCisgICAgIiIiCiAKICAgICB0YWcgPSBOb25lCi0KLSAgICAjIwotICAgICMgKEF0dHJpYnV0ZSkgRWxlbWVudCBhdHRyaWJ1dGUgZGljdGlvbmFyeS4gIFdoZXJlIHBvc3NpYmxlLCB1c2UKLSAgICAjIHtAbGluayAjRWxlbWVudC5nZXR9LAotICAgICMge0BsaW5rICNFbGVtZW50LnNldH0sCi0gICAgIyB7QGxpbmsgI0VsZW1lbnQua2V5c30sIGFuZAotICAgICMge0BsaW5rICNFbGVtZW50Lml0ZW1zfSB0byBhY2Nlc3MKLSAgICAjIGVsZW1lbnQgYXR0cmlidXRlcy4KKyAgICAiIiJUaGUgZWxlbWVudCdzIG5hbWUuIiIiCiAKICAgICBhdHRyaWIgPSBOb25lCi0KLSAgICAjIwotICAgICMgKEF0dHJpYnV0ZSkgVGV4dCBiZWZvcmUgZmlyc3Qgc3ViZWxlbWVudC4gIFRoaXMgaXMgZWl0aGVyIGEKLSAgICAjIHN0cmluZyBvciB0aGUgdmFsdWUgTm9uZS4gIE5vdGUgdGhhdCBpZiB0aGVyZSB3YXMgbm8gdGV4dCwgdGhpcwotICAgICMgYXR0cmlidXRlIG1heSBiZSBlaXRoZXIgTm9uZSBvciBhbiBlbXB0eSBzdHJpbmcsIGRlcGVuZGluZyBvbgotICAgICMgdGhlIHBhcnNlci4KKyAgICAiIiJEaWN0aW9uYXJ5IG9mIHRoZSBlbGVtZW50J3MgYXR0cmlidXRlcy4iIiIKIAogICAgIHRleHQgPSBOb25lCisgICAgIiIiCisgICAgVGV4dCBiZWZvcmUgZmlyc3Qgc3ViZWxlbWVudC4gVGhpcyBpcyBlaXRoZXIgYSBzdHJpbmcgb3IgdGhlIHZhbHVlIE5vbmUuCisgICAgTm90ZSB0aGF0IGlmIHRoZXJlIGlzIG5vIHRleHQsIHRoaXMgYXR0cmlidXRlIG1heSBiZSBlaXRoZXIKKyAgICBOb25lIG9yIHRoZSBlbXB0eSBzdHJpbmcsIGRlcGVuZGluZyBvbiB0aGUgcGFyc2VyLgogCi0gICAgIyMKLSAgICAjIChBdHRyaWJ1dGUpIFRleHQgYWZ0ZXIgdGhpcyBlbGVtZW50J3MgZW5kIHRhZywgYnV0IGJlZm9yZSB0aGUKLSAgICAjIG5leHQgc2libGluZyBlbGVtZW50J3Mgc3RhcnQgdGFnLiAgVGhpcyBpcyBlaXRoZXIgYSBzdHJpbmcgb3IKLSAgICAjIHRoZSB2YWx1ZSBOb25lLiAgTm90ZSB0aGF0IGlmIHRoZXJlIHdhcyBubyB0ZXh0LCB0aGlzIGF0dHJpYnV0ZQotICAgICMgbWF5IGJlIGVpdGhlciBOb25lIG9yIGFuIGVtcHR5IHN0cmluZywgZGVwZW5kaW5nIG9uIHRoZSBwYXJzZXIuCisgICAgIiIiCiAKLSAgICB0YWlsID0gTm9uZSAjIHRleHQgYWZ0ZXIgZW5kIHRhZywgaWYgYW55CisgICAgdGFpbCA9IE5vbmUKKyAgICAiIiIKKyAgICBUZXh0IGFmdGVyIHRoaXMgZWxlbWVudCdzIGVuZCB0YWcsIGJ1dCBiZWZvcmUgdGhlIG5leHQgc2libGluZyBlbGVtZW50J3MKKyAgICBzdGFydCB0YWcuICBUaGlzIGlzIGVpdGhlciBhIHN0cmluZyBvciB0aGUgdmFsdWUgTm9uZS4gIE5vdGUgdGhhdCBpZiB0aGVyZQorICAgIHdhcyBubyB0ZXh0LCB0aGlzIGF0dHJpYnV0ZSBtYXkgYmUgZWl0aGVyIE5vbmUgb3IgYW4gZW1wdHkgc3RyaW5nLAorICAgIGRlcGVuZGluZyBvbiB0aGUgcGFyc2VyLgogCi0gICAgIyBjb25zdHJ1Y3RvcgorICAgICIiIgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRhZywgYXR0cmliPXt9LCAqKmV4dHJhKToKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXR0cmliLCBkaWN0KToKQEAgLTE5NSwzNiArMTc2LDMwIEBACiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gIjxFbGVtZW50ICVzIGF0IDB4JXg+IiAlIChyZXByKHNlbGYudGFnKSwgaWQoc2VsZikpCiAKLSAgICAjIwotICAgICMgQ3JlYXRlcyBhIG5ldyBlbGVtZW50IG9iamVjdCBvZiB0aGUgc2FtZSB0eXBlIGFzIHRoaXMgZWxlbWVudC4KLSAgICAjCi0gICAgIyBAcGFyYW0gdGFnIEVsZW1lbnQgdGFnLgotICAgICMgQHBhcmFtIGF0dHJpYiBFbGVtZW50IGF0dHJpYnV0ZXMsIGdpdmVuIGFzIGEgZGljdGlvbmFyeS4KLSAgICAjIEByZXR1cm4gQSBuZXcgZWxlbWVudCBpbnN0YW5jZS4KLQogICAgIGRlZiBtYWtlZWxlbWVudChzZWxmLCB0YWcsIGF0dHJpYik6CisgICAgICAgICIiIkNyZWF0ZSBhIG5ldyBlbGVtZW50IHdpdGggdGhlIHNhbWUgdHlwZS4KKworICAgICAgICAqdGFnKiBpcyBhIHN0cmluZyBjb250YWluaW5nIHRoZSBlbGVtZW50IG5hbWUuCisgICAgICAgICphdHRyaWIqIGlzIGEgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBlbGVtZW50IGF0dHJpYnV0ZXMuCisKKyAgICAgICAgRG8gbm90IGNhbGwgdGhpcyBtZXRob2QsIHVzZSB0aGUgU3ViRWxlbWVudCBmYWN0b3J5IGZ1bmN0aW9uIGluc3RlYWQuCisKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl9fY2xhc3NfXyh0YWcsIGF0dHJpYikKIAotICAgICMjCi0gICAgIyAoRXhwZXJpbWVudGFsKSBDb3BpZXMgdGhlIGN1cnJlbnQgZWxlbWVudC4gIFRoaXMgY3JlYXRlcyBhCi0gICAgIyBzaGFsbG93IGNvcHk7IHN1YmVsZW1lbnRzIHdpbGwgYmUgc2hhcmVkIHdpdGggdGhlIG9yaWdpbmFsIHRyZWUuCi0gICAgIwotICAgICMgQHJldHVybiBBIG5ldyBlbGVtZW50IGluc3RhbmNlLgotCiAgICAgZGVmIGNvcHkoc2VsZik6CisgICAgICAgICIiIlJldHVybiBjb3B5IG9mIGN1cnJlbnQgZWxlbWVudC4KKworICAgICAgICBUaGlzIGNyZWF0ZXMgYSBzaGFsbG93IGNvcHkuIFN1YmVsZW1lbnRzIHdpbGwgYmUgc2hhcmVkIHdpdGggdGhlCisgICAgICAgIG9yaWdpbmFsIHRyZWUuCisKKyAgICAgICAgIiIiCiAgICAgICAgIGVsZW0gPSBzZWxmLm1ha2VlbGVtZW50KHNlbGYudGFnLCBzZWxmLmF0dHJpYikKICAgICAgICAgZWxlbS50ZXh0ID0gc2VsZi50ZXh0CiAgICAgICAgIGVsZW0udGFpbCA9IHNlbGYudGFpbAogICAgICAgICBlbGVtWzpdID0gc2VsZgogICAgICAgICByZXR1cm4gZWxlbQogCi0gICAgIyMKLSAgICAjIFJldHVybnMgdGhlIG51bWJlciBvZiBzdWJlbGVtZW50cy4gIE5vdGUgdGhhdCB0aGlzIG9ubHkgY291bnRzCi0gICAgIyBmdWxsIGVsZW1lbnRzOyB0byBjaGVjayBpZiB0aGVyZSdzIGFueSBjb250ZW50IGluIGFuIGVsZW1lbnQsIHlvdQotICAgICMgaGF2ZSB0byBjaGVjayBib3RoIHRoZSBsZW5ndGggYW5kIHRoZSA8Yj50ZXh0PC9iPiBhdHRyaWJ1dGUuCi0gICAgIwotICAgICMgQHJldHVybiBUaGUgbnVtYmVyIG9mIHN1YmVsZW1lbnRzLgotCiAgICAgZGVmIF9fbGVuX18oc2VsZik6CiAgICAgICAgIHJldHVybiBsZW4oc2VsZi5fY2hpbGRyZW4pCiAKQEAgLTIzNiwyMyArMjExLDkgQEAKICAgICAgICAgICAgICkKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLl9jaGlsZHJlbikgIT0gMCAjIGVtdWxhdGUgb2xkIGJlaGF2aW91ciwgZm9yIG5vdwogCi0gICAgIyMKLSAgICAjIFJldHVybnMgdGhlIGdpdmVuIHN1YmVsZW1lbnQsIGJ5IGluZGV4LgotICAgICMKLSAgICAjIEBwYXJhbSBpbmRleCBXaGF0IHN1YmVsZW1lbnQgdG8gcmV0dXJuLgotICAgICMgQHJldHVybiBUaGUgZ2l2ZW4gc3ViZWxlbWVudC4KLSAgICAjIEBleGNlcHRpb24gSW5kZXhFcnJvciBJZiB0aGUgZ2l2ZW4gZWxlbWVudCBkb2VzIG5vdCBleGlzdC4KLQogICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBpbmRleCk6CiAgICAgICAgIHJldHVybiBzZWxmLl9jaGlsZHJlbltpbmRleF0KIAotICAgICMjCi0gICAgIyBSZXBsYWNlcyB0aGUgZ2l2ZW4gc3ViZWxlbWVudCwgYnkgaW5kZXguCi0gICAgIwotICAgICMgQHBhcmFtIGluZGV4IFdoYXQgc3ViZWxlbWVudCB0byByZXBsYWNlLgotICAgICMgQHBhcmFtIGVsZW1lbnQgVGhlIG5ldyBlbGVtZW50IHZhbHVlLgotICAgICMgQGV4Y2VwdGlvbiBJbmRleEVycm9yIElmIHRoZSBnaXZlbiBlbGVtZW50IGRvZXMgbm90IGV4aXN0LgotCiAgICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIGluZGV4LCBlbGVtZW50KToKICAgICAgICAgIyBpZiBpc2luc3RhbmNlKGluZGV4LCBzbGljZSk6CiAgICAgICAgICMgICAgIGZvciBlbHQgaW4gZWxlbWVudDoKQEAgLTI2MSw0NiArMjIyLDM1IEBACiAgICAgICAgICMgICAgIGFzc2VydCBpc2VsZW1lbnQoZWxlbWVudCkKICAgICAgICAgc2VsZi5fY2hpbGRyZW5baW5kZXhdID0gZWxlbWVudAogCi0gICAgIyMKLSAgICAjIERlbGV0ZXMgdGhlIGdpdmVuIHN1YmVsZW1lbnQsIGJ5IGluZGV4LgotICAgICMKLSAgICAjIEBwYXJhbSBpbmRleCBXaGF0IHN1YmVsZW1lbnQgdG8gZGVsZXRlLgotICAgICMgQGV4Y2VwdGlvbiBJbmRleEVycm9yIElmIHRoZSBnaXZlbiBlbGVtZW50IGRvZXMgbm90IGV4aXN0LgotCiAgICAgZGVmIF9fZGVsaXRlbV9fKHNlbGYsIGluZGV4KToKICAgICAgICAgZGVsIHNlbGYuX2NoaWxkcmVuW2luZGV4XQogCi0gICAgIyMKLSAgICAjIEFkZHMgYSBzdWJlbGVtZW50IHRvIHRoZSBlbmQgb2YgdGhpcyBlbGVtZW50LiAgSW4gZG9jdW1lbnQgb3JkZXIsCi0gICAgIyB0aGUgbmV3IGVsZW1lbnQgd2lsbCBhcHBlYXIgYWZ0ZXIgdGhlIGxhc3QgZXhpc3Rpbmcgc3ViZWxlbWVudCAob3IKLSAgICAjIGRpcmVjdGx5IGFmdGVyIHRoZSB0ZXh0LCBpZiBpdCdzIHRoZSBmaXJzdCBzdWJlbGVtZW50KSwgYnV0IGJlZm9yZQotICAgICMgdGhlIGVuZCB0YWcgZm9yIHRoaXMgZWxlbWVudC4KLSAgICAjCi0gICAgIyBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCB0byBhZGQuCisgICAgZGVmIGFwcGVuZChzZWxmLCBzdWJlbGVtZW50KToKKyAgICAgICAgIiIiQWRkICpzdWJlbGVtZW50KiB0byB0aGUgZW5kIG9mIHRoaXMgZWxlbWVudC4KIAotICAgIGRlZiBhcHBlbmQoc2VsZiwgZWxlbWVudCk6Ci0gICAgICAgIHNlbGYuX2Fzc2VydF9pc19lbGVtZW50KGVsZW1lbnQpCi0gICAgICAgIHNlbGYuX2NoaWxkcmVuLmFwcGVuZChlbGVtZW50KQorICAgICAgICBUaGUgbmV3IGVsZW1lbnQgd2lsbCBhcHBlYXIgaW4gZG9jdW1lbnQgb3JkZXIgYWZ0ZXIgdGhlIGxhc3QgZXhpc3RpbmcKKyAgICAgICAgc3ViZWxlbWVudCAob3IgZGlyZWN0bHkgYWZ0ZXIgdGhlIHRleHQsIGlmIGl0J3MgdGhlIGZpcnN0IHN1YmVsZW1lbnQpLAorICAgICAgICBidXQgYmVmb3JlIHRoZSBlbmQgdGFnIGZvciB0aGlzIGVsZW1lbnQuCiAKLSAgICAjIwotICAgICMgQXBwZW5kcyBzdWJlbGVtZW50cyBmcm9tIGEgc2VxdWVuY2UuCi0gICAgIwotICAgICMgQHBhcmFtIGVsZW1lbnRzIEEgc2VxdWVuY2Ugb2JqZWN0IHdpdGggemVybyBvciBtb3JlIGVsZW1lbnRzLgotICAgICMgQHNpbmNlIDEuMworICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fYXNzZXJ0X2lzX2VsZW1lbnQoc3ViZWxlbWVudCkKKyAgICAgICAgc2VsZi5fY2hpbGRyZW4uYXBwZW5kKHN1YmVsZW1lbnQpCiAKICAgICBkZWYgZXh0ZW5kKHNlbGYsIGVsZW1lbnRzKToKKyAgICAgICAgIiIiQXBwZW5kIHN1YmVsZW1lbnRzIGZyb20gYSBzZXF1ZW5jZS4KKworICAgICAgICAqZWxlbWVudHMqIGlzIGEgc2VxdWVuY2Ugd2l0aCB6ZXJvIG9yIG1vcmUgZWxlbWVudHMuCisKKyAgICAgICAgIiIiCiAgICAgICAgIGZvciBlbGVtZW50IGluIGVsZW1lbnRzOgogICAgICAgICAgICAgc2VsZi5fYXNzZXJ0X2lzX2VsZW1lbnQoZWxlbWVudCkKICAgICAgICAgc2VsZi5fY2hpbGRyZW4uZXh0ZW5kKGVsZW1lbnRzKQogCi0gICAgIyMKLSAgICAjIEluc2VydHMgYSBzdWJlbGVtZW50IGF0IHRoZSBnaXZlbiBwb3NpdGlvbiBpbiB0aGlzIGVsZW1lbnQuCi0gICAgIwotICAgICMgQHBhcmFtIGluZGV4IFdoZXJlIHRvIGluc2VydCB0aGUgbmV3IHN1YmVsZW1lbnQuCiAKLSAgICBkZWYgaW5zZXJ0KHNlbGYsIGluZGV4LCBlbGVtZW50KToKLSAgICAgICAgc2VsZi5fYXNzZXJ0X2lzX2VsZW1lbnQoZWxlbWVudCkKLSAgICAgICAgc2VsZi5fY2hpbGRyZW4uaW5zZXJ0KGluZGV4LCBlbGVtZW50KQorICAgIGRlZiBpbnNlcnQoc2VsZiwgaW5kZXgsIHN1YmVsZW1lbnQpOgorICAgICAgICAiIiJJbnNlcnQgKnN1YmVsZW1lbnQqIGF0IHBvc2l0aW9uICppbmRleCouIiIiCisgICAgICAgIHNlbGYuX2Fzc2VydF9pc19lbGVtZW50KHN1YmVsZW1lbnQpCisgICAgICAgIHNlbGYuX2NoaWxkcmVuLmluc2VydChpbmRleCwgc3ViZWxlbWVudCkKIAogICAgIGRlZiBfYXNzZXJ0X2lzX2VsZW1lbnQoc2VsZiwgZSk6CiAgICAgICAgICMgTmVlZCB0byByZWZlciB0byB0aGUgYWN0dWFsIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiwgbm90IHRoZQpAQCAtMzA4LDI5ICsyNTgsMjggQEAKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZSwgX0VsZW1lbnQpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdleHBlY3RlZCBhbiBFbGVtZW50LCBub3QgJXMnICUgdHlwZShlKS5fX25hbWVfXykKIAotICAgICMjCi0gICAgIyBSZW1vdmVzIGEgbWF0Y2hpbmcgc3ViZWxlbWVudC4gIFVubGlrZSB0aGUgPGI+ZmluZDwvYj4gbWV0aG9kcywKLSAgICAjIHRoaXMgbWV0aG9kIGNvbXBhcmVzIGVsZW1lbnRzIGJhc2VkIG9uIGlkZW50aXR5LCBub3Qgb24gdGFnCi0gICAgIyB2YWx1ZSBvciBjb250ZW50cy4gIFRvIHJlbW92ZSBzdWJlbGVtZW50cyBieSBvdGhlciBtZWFucywgdGhlCi0gICAgIyBlYXNpZXN0IHdheSBpcyBvZnRlbiB0byB1c2UgYSBsaXN0IGNvbXByZWhlbnNpb24gdG8gc2VsZWN0IHdoYXQKLSAgICAjIGVsZW1lbnRzIHRvIGtlZXAsIGFuZCB1c2Ugc2xpY2UgYXNzaWdubWVudCB0byB1cGRhdGUgdGhlIHBhcmVudAotICAgICMgZWxlbWVudC4KLSAgICAjCi0gICAgIyBAcGFyYW0gZWxlbWVudCBXaGF0IGVsZW1lbnQgdG8gcmVtb3ZlLgotICAgICMgQGV4Y2VwdGlvbiBWYWx1ZUVycm9yIElmIGEgbWF0Y2hpbmcgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuCiAKLSAgICBkZWYgcmVtb3ZlKHNlbGYsIGVsZW1lbnQpOgorICAgIGRlZiByZW1vdmUoc2VsZiwgc3ViZWxlbWVudCk6CisgICAgICAgICIiIlJlbW92ZSBtYXRjaGluZyBzdWJlbGVtZW50LgorCisgICAgICAgIFVubGlrZSB0aGUgZmluZCBtZXRob2RzLCB0aGlzIG1ldGhvZCBjb21wYXJlcyBlbGVtZW50cyBiYXNlZCBvbgorICAgICAgICBpZGVudGl0eSwgTk9UIE9OIHRhZyB2YWx1ZSBvciBjb250ZW50cy4gIFRvIHJlbW92ZSBzdWJlbGVtZW50cyBieQorICAgICAgICBvdGhlciBtZWFucywgdGhlIGVhc2llc3Qgd2F5IGlzIHRvIHVzZSBhIGxpc3QgY29tcHJlaGVuc2lvbiB0bworICAgICAgICBzZWxlY3Qgd2hhdCBlbGVtZW50cyB0byBrZWVwLCBhbmQgdGhlbiB1c2Ugc2xpY2UgYXNzaWdubWVudCB0byB1cGRhdGUKKyAgICAgICAgdGhlIHBhcmVudCBlbGVtZW50LgorCisgICAgICAgIFZhbHVlRXJyb3IgaXMgcmFpc2VkIGlmIGEgbWF0Y2hpbmcgZWxlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuCisKKyAgICAgICAgIiIiCiAgICAgICAgICMgYXNzZXJ0IGlzZWxlbWVudChlbGVtZW50KQotICAgICAgICBzZWxmLl9jaGlsZHJlbi5yZW1vdmUoZWxlbWVudCkKLQotICAgICMjCi0gICAgIyAoRGVwcmVjYXRlZCkgUmV0dXJucyBhbGwgc3ViZWxlbWVudHMuICBUaGUgZWxlbWVudHMgYXJlIHJldHVybmVkCi0gICAgIyBpbiBkb2N1bWVudCBvcmRlci4KLSAgICAjCi0gICAgIyBAcmV0dXJuIEEgbGlzdCBvZiBzdWJlbGVtZW50cy4KLSAgICAjIEBkZWZyZXR1cm4gbGlzdCBvZiBFbGVtZW50IGluc3RhbmNlcworICAgICAgICBzZWxmLl9jaGlsZHJlbi5yZW1vdmUoc3ViZWxlbWVudCkKIAogICAgIGRlZiBnZXRjaGlsZHJlbihzZWxmKToKKyAgICAgICAgIiIiKERlcHJlY2F0ZWQpIFJldHVybiBhbGwgc3ViZWxlbWVudHMuCisKKyAgICAgICAgRWxlbWVudHMgYXJlIHJldHVybmVkIGluIGRvY3VtZW50IG9yZGVyLgorCisgICAgICAgICIiIgogICAgICAgICB3YXJuaW5ncy53YXJuKAogICAgICAgICAgICAgIlRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuICAiCiAgICAgICAgICAgICAiVXNlICdsaXN0KGVsZW0pJyBvciBpdGVyYXRpb24gb3ZlciBlbGVtIGluc3RlYWQuIiwKQEAgLTMzOCwxMzEgKzI4NywxMzggQEAKICAgICAgICAgICAgICkKICAgICAgICAgcmV0dXJuIHNlbGYuX2NoaWxkcmVuCiAKLSAgICAjIwotICAgICMgRmluZHMgdGhlIGZpcnN0IG1hdGNoaW5nIHN1YmVsZW1lbnQsIGJ5IHRhZyBuYW1lIG9yIHBhdGguCi0gICAgIwotICAgICMgQHBhcmFtIHBhdGggV2hhdCBlbGVtZW50IHRvIGxvb2sgZm9yLgotICAgICMgQGtleXBhcmFtIG5hbWVzcGFjZXMgT3B0aW9uYWwgbmFtZXNwYWNlIHByZWZpeCBtYXAuCi0gICAgIyBAcmV0dXJuIFRoZSBmaXJzdCBtYXRjaGluZyBlbGVtZW50LCBvciBOb25lIGlmIG5vIGVsZW1lbnQgd2FzIGZvdW5kLgotICAgICMgQGRlZnJldHVybiBFbGVtZW50IG9yIE5vbmUKIAogICAgIGRlZiBmaW5kKHNlbGYsIHBhdGgsIG5hbWVzcGFjZXM9Tm9uZSk6CisgICAgICAgICIiIkZpbmQgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCBieSB0YWcgbmFtZSBvciBwYXRoLgorCisgICAgICAgICpwYXRoKiBpcyBhIHN0cmluZyBoYXZpbmcgZWl0aGVyIGFuIGVsZW1lbnQgdGFnIG9yIGFuIFhQYXRoLAorICAgICAgICAqbmFtZXNwYWNlcyogaXMgYW4gb3B0aW9uYWwgbWFwcGluZyBmcm9tIG5hbWVzcGFjZSBwcmVmaXggdG8gZnVsbCBuYW1lLgorCisgICAgICAgIFJldHVybiB0aGUgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCwgb3IgTm9uZSBpZiBubyBlbGVtZW50IHdhcyBmb3VuZC4KKworICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIEVsZW1lbnRQYXRoLmZpbmQoc2VsZiwgcGF0aCwgbmFtZXNwYWNlcykKIAotICAgICMjCi0gICAgIyBGaW5kcyB0ZXh0IGZvciB0aGUgZmlyc3QgbWF0Y2hpbmcgc3ViZWxlbWVudCwgYnkgdGFnIG5hbWUgb3IgcGF0aC4KLSAgICAjCi0gICAgIyBAcGFyYW0gcGF0aCBXaGF0IGVsZW1lbnQgdG8gbG9vayBmb3IuCi0gICAgIyBAcGFyYW0gZGVmYXVsdCBXaGF0IHRvIHJldHVybiBpZiB0aGUgZWxlbWVudCB3YXMgbm90IGZvdW5kLgotICAgICMgQGtleXBhcmFtIG5hbWVzcGFjZXMgT3B0aW9uYWwgbmFtZXNwYWNlIHByZWZpeCBtYXAuCi0gICAgIyBAcmV0dXJuIFRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIGZpcnN0IG1hdGNoaW5nIGVsZW1lbnQsIG9yIHRoZQotICAgICMgICAgIGRlZmF1bHQgdmFsdWUgbm8gZWxlbWVudCB3YXMgZm91bmQuICBOb3RlIHRoYXQgaWYgdGhlIGVsZW1lbnQKLSAgICAjICAgICBpcyBmb3VuZCwgYnV0IGhhcyBubyB0ZXh0IGNvbnRlbnQsIHRoaXMgbWV0aG9kIHJldHVybnMgYW4KLSAgICAjICAgICBlbXB0eSBzdHJpbmcuCi0gICAgIyBAZGVmcmV0dXJuIHN0cmluZwogCiAgICAgZGVmIGZpbmR0ZXh0KHNlbGYsIHBhdGgsIGRlZmF1bHQ9Tm9uZSwgbmFtZXNwYWNlcz1Ob25lKToKKyAgICAgICAgIiIiRmluZCB0ZXh0IGZvciBmaXJzdCBtYXRjaGluZyBlbGVtZW50IGJ5IHRhZyBuYW1lIG9yIHBhdGguCisKKyAgICAgICAgKnBhdGgqIGlzIGEgc3RyaW5nIGhhdmluZyBlaXRoZXIgYW4gZWxlbWVudCB0YWcgb3IgYW4gWFBhdGgsCisgICAgICAgICpkZWZhdWx0KiBpcyB0aGUgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBlbGVtZW50IHdhcyBub3QgZm91bmQsCisgICAgICAgICpuYW1lc3BhY2VzKiBpcyBhbiBvcHRpb25hbCBtYXBwaW5nIGZyb20gbmFtZXNwYWNlIHByZWZpeCB0byBmdWxsIG5hbWUuCisKKyAgICAgICAgUmV0dXJuIHRleHQgY29udGVudCBvZiBmaXJzdCBtYXRjaGluZyBlbGVtZW50LCBvciBkZWZhdWx0IHZhbHVlIGlmCisgICAgICAgIG5vbmUgd2FzIGZvdW5kLiAgTm90ZSB0aGF0IGlmIGFuIGVsZW1lbnQgaXMgZm91bmQgaGF2aW5nIG5vIHRleHQKKyAgICAgICAgY29udGVudCwgdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZC4KKworICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIEVsZW1lbnRQYXRoLmZpbmR0ZXh0KHNlbGYsIHBhdGgsIGRlZmF1bHQsIG5hbWVzcGFjZXMpCiAKLSAgICAjIwotICAgICMgRmluZHMgYWxsIG1hdGNoaW5nIHN1YmVsZW1lbnRzLCBieSB0YWcgbmFtZSBvciBwYXRoLgotICAgICMKLSAgICAjIEBwYXJhbSBwYXRoIFdoYXQgZWxlbWVudCB0byBsb29rIGZvci4KLSAgICAjIEBrZXlwYXJhbSBuYW1lc3BhY2VzIE9wdGlvbmFsIG5hbWVzcGFjZSBwcmVmaXggbWFwLgotICAgICMgQHJldHVybiBBIGxpc3Qgb3Igb3RoZXIgc2VxdWVuY2UgY29udGFpbmluZyBhbGwgbWF0Y2hpbmcgZWxlbWVudHMsCi0gICAgIyAgICBpbiBkb2N1bWVudCBvcmRlci4KLSAgICAjIEBkZWZyZXR1cm4gbGlzdCBvZiBFbGVtZW50IGluc3RhbmNlcwogCiAgICAgZGVmIGZpbmRhbGwoc2VsZiwgcGF0aCwgbmFtZXNwYWNlcz1Ob25lKToKKyAgICAgICAgIiIiRmluZCBhbGwgbWF0Y2hpbmcgc3ViZWxlbWVudHMgYnkgdGFnIG5hbWUgb3IgcGF0aC4KKworICAgICAgICAqcGF0aCogaXMgYSBzdHJpbmcgaGF2aW5nIGVpdGhlciBhbiBlbGVtZW50IHRhZyBvciBhbiBYUGF0aCwKKyAgICAgICAgKm5hbWVzcGFjZXMqIGlzIGFuIG9wdGlvbmFsIG1hcHBpbmcgZnJvbSBuYW1lc3BhY2UgcHJlZml4IHRvIGZ1bGwgbmFtZS4KKworICAgICAgICBSZXR1cm5zIGxpc3QgY29udGFpbmluZyBhbGwgbWF0Y2hpbmcgZWxlbWVudHMgaW4gZG9jdW1lbnQgb3JkZXIuCisKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBFbGVtZW50UGF0aC5maW5kYWxsKHNlbGYsIHBhdGgsIG5hbWVzcGFjZXMpCiAKLSAgICAjIwotICAgICMgRmluZHMgYWxsIG1hdGNoaW5nIHN1YmVsZW1lbnRzLCBieSB0YWcgbmFtZSBvciBwYXRoLgotICAgICMKLSAgICAjIEBwYXJhbSBwYXRoIFdoYXQgZWxlbWVudCB0byBsb29rIGZvci4KLSAgICAjIEBrZXlwYXJhbSBuYW1lc3BhY2VzIE9wdGlvbmFsIG5hbWVzcGFjZSBwcmVmaXggbWFwLgotICAgICMgQHJldHVybiBBbiBpdGVyYXRvciBvciBzZXF1ZW5jZSBjb250YWluaW5nIGFsbCBtYXRjaGluZyBlbGVtZW50cywKLSAgICAjICAgIGluIGRvY3VtZW50IG9yZGVyLgotICAgICMgQGRlZnJldHVybiBhIGdlbmVyYXRlZCBzZXF1ZW5jZSBvZiBFbGVtZW50IGluc3RhbmNlcwogCiAgICAgZGVmIGl0ZXJmaW5kKHNlbGYsIHBhdGgsIG5hbWVzcGFjZXM9Tm9uZSk6CisgICAgICAgICIiIkZpbmQgYWxsIG1hdGNoaW5nIHN1YmVsZW1lbnRzIGJ5IHRhZyBuYW1lIG9yIHBhdGguCisKKyAgICAgICAgKnBhdGgqIGlzIGEgc3RyaW5nIGhhdmluZyBlaXRoZXIgYW4gZWxlbWVudCB0YWcgb3IgYW4gWFBhdGgsCisgICAgICAgICpuYW1lc3BhY2VzKiBpcyBhbiBvcHRpb25hbCBtYXBwaW5nIGZyb20gbmFtZXNwYWNlIHByZWZpeCB0byBmdWxsIG5hbWUuCisKKyAgICAgICAgUmV0dXJuIGFuIGl0ZXJhYmxlIHlpZWxkaW5nIGFsbCBtYXRjaGluZyBlbGVtZW50cyBpbiBkb2N1bWVudCBvcmRlci4KKworICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIEVsZW1lbnRQYXRoLml0ZXJmaW5kKHNlbGYsIHBhdGgsIG5hbWVzcGFjZXMpCiAKLSAgICAjIwotICAgICMgUmVzZXRzIGFuIGVsZW1lbnQuICBUaGlzIGZ1bmN0aW9uIHJlbW92ZXMgYWxsIHN1YmVsZW1lbnRzLCBjbGVhcnMKLSAgICAjIGFsbCBhdHRyaWJ1dGVzLCBhbmQgc2V0cyB0aGUgPGI+dGV4dDwvYj4gYW5kIDxiPnRhaWw8L2I+IGF0dHJpYnV0ZXMKLSAgICAjIHRvIE5vbmUuCiAKICAgICBkZWYgY2xlYXIoc2VsZik6CisgICAgICAgICIiIlJlc2V0IGVsZW1lbnQuCisKKyAgICAgICAgVGhpcyBmdW5jdGlvbiByZW1vdmVzIGFsbCBzdWJlbGVtZW50cywgY2xlYXJzIGFsbCBhdHRyaWJ1dGVzLCBhbmQgc2V0cworICAgICAgICB0aGUgdGV4dCBhbmQgdGFpbCBhdHRyaWJ1dGVzIHRvIE5vbmUuCisKKyAgICAgICAgIiIiCiAgICAgICAgIHNlbGYuYXR0cmliLmNsZWFyKCkKICAgICAgICAgc2VsZi5fY2hpbGRyZW4gPSBbXQogICAgICAgICBzZWxmLnRleHQgPSBzZWxmLnRhaWwgPSBOb25lCiAKLSAgICAjIwotICAgICMgR2V0cyBhbiBlbGVtZW50IGF0dHJpYnV0ZS4gIEVxdWl2YWxlbnQgdG8gPGI+YXR0cmliLmdldDwvYj4sIGJ1dAotICAgICMgc29tZSBpbXBsZW1lbnRhdGlvbnMgbWF5IGhhbmRsZSB0aGlzIGEgYml0IG1vcmUgZWZmaWNpZW50bHkuCi0gICAgIwotICAgICMgQHBhcmFtIGtleSBXaGF0IGF0dHJpYnV0ZSB0byBsb29rIGZvci4KLSAgICAjIEBwYXJhbSBkZWZhdWx0IFdoYXQgdG8gcmV0dXJuIGlmIHRoZSBhdHRyaWJ1dGUgd2FzIG5vdCBmb3VuZC4KLSAgICAjIEByZXR1cm4gVGhlIGF0dHJpYnV0ZSB2YWx1ZSwgb3IgdGhlIGRlZmF1bHQgdmFsdWUsIGlmIHRoZQotICAgICMgICAgIGF0dHJpYnV0ZSB3YXMgbm90IGZvdW5kLgotICAgICMgQGRlZnJldHVybiBzdHJpbmcgb3IgTm9uZQogCiAgICAgZGVmIGdldChzZWxmLCBrZXksIGRlZmF1bHQ9Tm9uZSk6CisgICAgICAgICIiIkdldCBlbGVtZW50IGF0dHJpYnV0ZS4KKworICAgICAgICBFcXVpdmFsZW50IHRvIGF0dHJpYi5nZXQsIGJ1dCBzb21lIGltcGxlbWVudGF0aW9ucyBtYXkgaGFuZGxlIHRoaXMgYQorICAgICAgICBiaXQgbW9yZSBlZmZpY2llbnRseS4gICprZXkqIGlzIHdoYXQgYXR0cmlidXRlIHRvIGxvb2sgZm9yLCBhbmQKKyAgICAgICAgKmRlZmF1bHQqIGlzIHdoYXQgdG8gcmV0dXJuIGlmIHRoZSBhdHRyaWJ1dGUgd2FzIG5vdCBmb3VuZC4KKworICAgICAgICBSZXR1cm5zIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGF0dHJpYnV0ZSB2YWx1ZSwgb3IgdGhlIGRlZmF1bHQgaWYKKyAgICAgICAgYXR0cmlidXRlIHdhcyBub3QgZm91bmQuCisKKyAgICAgICAgIiIiCiAgICAgICAgIHJldHVybiBzZWxmLmF0dHJpYi5nZXQoa2V5LCBkZWZhdWx0KQogCi0gICAgIyMKLSAgICAjIFNldHMgYW4gZWxlbWVudCBhdHRyaWJ1dGUuICBFcXVpdmFsZW50IHRvIDxiPmF0dHJpYltrZXldID0gdmFsdWU8L2I+LAotICAgICMgYnV0IHNvbWUgaW1wbGVtZW50YXRpb25zIG1heSBoYW5kbGUgdGhpcyBhIGJpdCBtb3JlIGVmZmljaWVudGx5LgotICAgICMKLSAgICAjIEBwYXJhbSBrZXkgV2hhdCBhdHRyaWJ1dGUgdG8gc2V0LgotICAgICMgQHBhcmFtIHZhbHVlIFRoZSBhdHRyaWJ1dGUgdmFsdWUuCiAKICAgICBkZWYgc2V0KHNlbGYsIGtleSwgdmFsdWUpOgorICAgICAgICAiIiJTZXQgZWxlbWVudCBhdHRyaWJ1dGUuCisKKyAgICAgICAgRXF1aXZhbGVudCB0byBhdHRyaWJba2V5XSA9IHZhbHVlLCBidXQgc29tZSBpbXBsZW1lbnRhdGlvbnMgbWF5IGhhbmRsZQorICAgICAgICB0aGlzIGEgYml0IG1vcmUgZWZmaWNpZW50bHkuICAqa2V5KiBpcyB3aGF0IGF0dHJpYnV0ZSB0byBzZXQsIGFuZAorICAgICAgICAqdmFsdWUqIGlzIHRoZSBhdHRyaWJ1dGUgdmFsdWUgdG8gc2V0IGl0IHRvLgorCisgICAgICAgICIiIgogICAgICAgICBzZWxmLmF0dHJpYltrZXldID0gdmFsdWUKIAotICAgICMjCi0gICAgIyBHZXRzIGEgbGlzdCBvZiBhdHRyaWJ1dGUgbmFtZXMuICBUaGUgbmFtZXMgYXJlIHJldHVybmVkIGluIGFuCi0gICAgIyBhcmJpdHJhcnkgb3JkZXIgKGp1c3QgbGlrZSBmb3IgYW4gb3JkaW5hcnkgUHl0aG9uIGRpY3Rpb25hcnkpLgotICAgICMgRXF1aXZhbGVudCB0byA8Yj5hdHRyaWIua2V5cygpPC9iPi4KLSAgICAjCi0gICAgIyBAcmV0dXJuIEEgbGlzdCBvZiBlbGVtZW50IGF0dHJpYnV0ZSBuYW1lcy4KLSAgICAjIEBkZWZyZXR1cm4gbGlzdCBvZiBzdHJpbmdzCiAKICAgICBkZWYga2V5cyhzZWxmKToKKyAgICAgICAgIiIiR2V0IGxpc3Qgb2YgYXR0cmlidXRlIG5hbWVzLgorCisgICAgICAgIE5hbWVzIGFyZSByZXR1cm5lZCBpbiBhbiBhcmJpdHJhcnkgb3JkZXIsIGp1c3QgbGlrZSBhbiBvcmRpbmFyeQorICAgICAgICBQeXRob24gZGljdC4gIEVxdWl2YWxlbnQgdG8gYXR0cmliLmtleXMoKQorCisgICAgICAgICIiIgogICAgICAgICByZXR1cm4gc2VsZi5hdHRyaWIua2V5cygpCiAKLSAgICAjIwotICAgICMgR2V0cyBlbGVtZW50IGF0dHJpYnV0ZXMsIGFzIGEgc2VxdWVuY2UuICBUaGUgYXR0cmlidXRlcyBhcmUKLSAgICAjIHJldHVybmVkIGluIGFuIGFyYml0cmFyeSBvcmRlci4gIEVxdWl2YWxlbnQgdG8gPGI+YXR0cmliLml0ZW1zKCk8L2I+LgotICAgICMKLSAgICAjIEByZXR1cm4gQSBsaXN0IG9mIChuYW1lLCB2YWx1ZSkgdHVwbGVzIGZvciBhbGwgYXR0cmlidXRlcy4KLSAgICAjIEBkZWZyZXR1cm4gbGlzdCBvZiAoc3RyaW5nLCBzdHJpbmcpIHR1cGxlcwogCiAgICAgZGVmIGl0ZW1zKHNlbGYpOgorICAgICAgICAiIiJHZXQgZWxlbWVudCBhdHRyaWJ1dGVzIGFzIGEgc2VxdWVuY2UuCisKKyAgICAgICAgVGhlIGF0dHJpYnV0ZXMgYXJlIHJldHVybmVkIGluIGFyYml0cmFyeSBvcmRlci4gIEVxdWl2YWxlbnQgdG8KKyAgICAgICAgYXR0cmliLml0ZW1zKCkuCisKKyAgICAgICAgUmV0dXJuIGEgbGlzdCBvZiAobmFtZSwgdmFsdWUpIHR1cGxlcy4KKworICAgICAgICAiIiIKICAgICAgICAgcmV0dXJuIHNlbGYuYXR0cmliLml0ZW1zKCkKIAotICAgICMjCi0gICAgIyBDcmVhdGVzIGEgdHJlZSBpdGVyYXRvci4gIFRoZSBpdGVyYXRvciBsb29wcyBvdmVyIHRoaXMgZWxlbWVudAotICAgICMgYW5kIGFsbCBzdWJlbGVtZW50cywgaW4gZG9jdW1lbnQgb3JkZXIsIGFuZCByZXR1cm5zIGFsbCBlbGVtZW50cwotICAgICMgd2l0aCBhIG1hdGNoaW5nIHRhZy4KLSAgICAjIDxwPgotICAgICMgSWYgdGhlIHRyZWUgc3RydWN0dXJlIGlzIG1vZGlmaWVkIGR1cmluZyBpdGVyYXRpb24sIG5ldyBvciByZW1vdmVkCi0gICAgIyBlbGVtZW50cyBtYXkgb3IgbWF5IG5vdCBiZSBpbmNsdWRlZC4gIFRvIGdldCBhIHN0YWJsZSBzZXQsIHVzZSB0aGUKLSAgICAjIGxpc3QoKSBmdW5jdGlvbiBvbiB0aGUgaXRlcmF0b3IsIGFuZCBsb29wIG92ZXIgdGhlIHJlc3VsdGluZyBsaXN0LgotICAgICMKLSAgICAjIEBwYXJhbSB0YWcgV2hhdCB0YWdzIHRvIGxvb2sgZm9yIChkZWZhdWx0IGlzIHRvIHJldHVybiBhbGwgZWxlbWVudHMpLgotICAgICMgQHJldHVybiBBbiBpdGVyYXRvciBjb250YWluaW5nIGFsbCB0aGUgbWF0Y2hpbmcgZWxlbWVudHMuCi0gICAgIyBAZGVmcmV0dXJuIGl0ZXJhdG9yCiAKICAgICBkZWYgaXRlcihzZWxmLCB0YWc9Tm9uZSk6CisgICAgICAgICIiIkNyZWF0ZSB0cmVlIGl0ZXJhdG9yLgorCisgICAgICAgIFRoZSBpdGVyYXRvciBsb29wcyBvdmVyIHRoZSBlbGVtZW50IGFuZCBhbGwgc3ViZWxlbWVudHMgaW4gZG9jdW1lbnQKKyAgICAgICAgb3JkZXIsIHJldHVybmluZyBhbGwgZWxlbWVudHMgd2l0aCBhIG1hdGNoaW5nIHRhZy4KKworICAgICAgICBJZiB0aGUgdHJlZSBzdHJ1Y3R1cmUgaXMgbW9kaWZpZWQgZHVyaW5nIGl0ZXJhdGlvbiwgbmV3IG9yIHJlbW92ZWQKKyAgICAgICAgZWxlbWVudHMgbWF5IG9yIG1heSBub3QgYmUgaW5jbHVkZWQuICBUbyBnZXQgYSBzdGFibGUgc2V0LCB1c2UgdGhlCisgICAgICAgIGxpc3QoKSBmdW5jdGlvbiBvbiB0aGUgaXRlcmF0b3IsIGFuZCBsb29wIG92ZXIgdGhlIHJlc3VsdGluZyBsaXN0LgorCisgICAgICAgICp0YWcqIGlzIHdoYXQgdGFncyB0byBsb29rIGZvciAoZGVmYXVsdCBpcyB0byByZXR1cm4gYWxsIGVsZW1lbnRzKQorCisgICAgICAgIFJldHVybiBhbiBpdGVyYXRvciBjb250YWluaW5nIGFsbCB0aGUgbWF0Y2hpbmcgZWxlbWVudHMuCisKKyAgICAgICAgIiIiCiAgICAgICAgIGlmIHRhZyA9PSAiKiI6CiAgICAgICAgICAgICB0YWcgPSBOb25lCiAgICAgICAgIGlmIHRhZyBpcyBOb25lIG9yIHNlbGYudGFnID09IHRhZzoKICAgICAgICAgICAgIHlpZWxkIHNlbGYKICAgICAgICAgZm9yIGUgaW4gc2VsZi5fY2hpbGRyZW46Ci0gICAgICAgICAgICBmb3IgZSBpbiBlLml0ZXIodGFnKToKLSAgICAgICAgICAgICAgICB5aWVsZCBlCisgICAgICAgICAgICB5aWVsZCBmcm9tIGUuaXRlcih0YWcpCiAKICAgICAjIGNvbXBhdGliaWxpdHkKICAgICBkZWYgZ2V0aXRlcmF0b3Ioc2VsZiwgdGFnPU5vbmUpOgpAQCAtNDc0LDc4ICs0MzAsNzEgQEAKICAgICAgICAgKQogICAgICAgICByZXR1cm4gbGlzdChzZWxmLml0ZXIodGFnKSkKIAotICAgICMjCi0gICAgIyBDcmVhdGVzIGEgdGV4dCBpdGVyYXRvci4gIFRoZSBpdGVyYXRvciBsb29wcyBvdmVyIHRoaXMgZWxlbWVudAotICAgICMgYW5kIGFsbCBzdWJlbGVtZW50cywgaW4gZG9jdW1lbnQgb3JkZXIsIGFuZCByZXR1cm5zIGFsbCBpbm5lcgotICAgICMgdGV4dC4KLSAgICAjCi0gICAgIyBAcmV0dXJuIEFuIGl0ZXJhdG9yIGNvbnRhaW5pbmcgYWxsIGlubmVyIHRleHQuCi0gICAgIyBAZGVmcmV0dXJuIGl0ZXJhdG9yCiAKICAgICBkZWYgaXRlcnRleHQoc2VsZik6CisgICAgICAgICIiIkNyZWF0ZSB0ZXh0IGl0ZXJhdG9yLgorCisgICAgICAgIFRoZSBpdGVyYXRvciBsb29wcyBvdmVyIHRoZSBlbGVtZW50IGFuZCBhbGwgc3ViZWxlbWVudHMgaW4gZG9jdW1lbnQKKyAgICAgICAgb3JkZXIsIHJldHVybmluZyBhbGwgaW5uZXIgdGV4dC4KKworICAgICAgICAiIiIKICAgICAgICAgdGFnID0gc2VsZi50YWcKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UodGFnLCBzdHIpIGFuZCB0YWcgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgaWYgc2VsZi50ZXh0OgogICAgICAgICAgICAgeWllbGQgc2VsZi50ZXh0CiAgICAgICAgIGZvciBlIGluIHNlbGY6Ci0gICAgICAgICAgICBmb3IgcyBpbiBlLml0ZXJ0ZXh0KCk6Ci0gICAgICAgICAgICAgICAgeWllbGQgcworICAgICAgICAgICAgeWllbGQgZnJvbSBlLml0ZXJ0ZXh0KCkKICAgICAgICAgICAgIGlmIGUudGFpbDoKICAgICAgICAgICAgICAgICB5aWVsZCBlLnRhaWwKIAogIyBjb21wYXRpYmlsaXR5CiBfRWxlbWVudCA9IF9FbGVtZW50SW50ZXJmYWNlID0gRWxlbWVudAogCi0jIwotIyBTdWJlbGVtZW50IGZhY3RvcnkuICBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYW4gZWxlbWVudCBpbnN0YW5jZSwgYW5kCi0jIGFwcGVuZHMgaXQgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC4KLSMgPHA+Ci0jIFRoZSBlbGVtZW50IG5hbWUsIGF0dHJpYnV0ZSBuYW1lcywgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgY2FuIGJlCi0jIGVpdGhlciA4LWJpdCBBU0NJSSBzdHJpbmdzIG9yIFVuaWNvZGUgc3RyaW5ncy4KLSMKLSMgQHBhcmFtIHBhcmVudCBUaGUgcGFyZW50IGVsZW1lbnQuCi0jIEBwYXJhbSB0YWcgVGhlIHN1YmVsZW1lbnQgbmFtZS4KLSMgQHBhcmFtIGF0dHJpYiBBbiBvcHRpb25hbCBkaWN0aW9uYXJ5LCBjb250YWluaW5nIGVsZW1lbnQgYXR0cmlidXRlcy4KLSMgQHBhcmFtICoqZXh0cmEgQWRkaXRpb25hbCBhdHRyaWJ1dGVzLCBnaXZlbiBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KLSMgQHJldHVybiBBbiBlbGVtZW50IGluc3RhbmNlLgotIyBAZGVmcmV0dXJuIEVsZW1lbnQKIAogZGVmIFN1YkVsZW1lbnQocGFyZW50LCB0YWcsIGF0dHJpYj17fSwgKipleHRyYSk6CisgICAgIiIiU3ViZWxlbWVudCBmYWN0b3J5IHdoaWNoIGNyZWF0ZXMgYW4gZWxlbWVudCBpbnN0YW5jZSwgYW5kIGFwcGVuZHMgaXQKKyAgICB0byBhbiBleGlzdGluZyBwYXJlbnQuCisKKyAgICBUaGUgZWxlbWVudCB0YWcsIGF0dHJpYnV0ZSBuYW1lcywgYW5kIGF0dHJpYnV0ZSB2YWx1ZXMgY2FuIGJlIGVpdGhlcgorICAgIGJ5dGVzIG9yIFVuaWNvZGUgc3RyaW5ncy4KKworICAgICpwYXJlbnQqIGlzIHRoZSBwYXJlbnQgZWxlbWVudCwgKnRhZyogaXMgdGhlIHN1YmVsZW1lbnRzIG5hbWUsICphdHRyaWIqIGlzCisgICAgYW4gb3B0aW9uYWwgZGlyZWN0b3J5IGNvbnRhaW5pbmcgZWxlbWVudCBhdHRyaWJ1dGVzLCAqZXh0cmEqIGFyZQorICAgIGFkZGl0aW9uYWwgYXR0cmlidXRlcyBnaXZlbiBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KKworICAgICIiIgogICAgIGF0dHJpYiA9IGF0dHJpYi5jb3B5KCkKICAgICBhdHRyaWIudXBkYXRlKGV4dHJhKQogICAgIGVsZW1lbnQgPSBwYXJlbnQubWFrZWVsZW1lbnQodGFnLCBhdHRyaWIpCiAgICAgcGFyZW50LmFwcGVuZChlbGVtZW50KQogICAgIHJldHVybiBlbGVtZW50CiAKLSMjCi0jIENvbW1lbnQgZWxlbWVudCBmYWN0b3J5LiAgVGhpcyBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZXMgYSBzcGVjaWFsCi0jIGVsZW1lbnQgdGhhdCB3aWxsIGJlIHNlcmlhbGl6ZWQgYXMgYW4gWE1MIGNvbW1lbnQgYnkgdGhlIHN0YW5kYXJkCi0jIHNlcmlhbGl6ZXIuCi0jIDxwPgotIyBUaGUgY29tbWVudCBzdHJpbmcgY2FuIGJlIGVpdGhlciBhbiA4LWJpdCBBU0NJSSBzdHJpbmcgb3IgYSBVbmljb2RlCi0jIHN0cmluZy4KLSMKLSMgQHBhcmFtIHRleHQgQSBzdHJpbmcgY29udGFpbmluZyB0aGUgY29tbWVudCBzdHJpbmcuCi0jIEByZXR1cm4gQW4gZWxlbWVudCBpbnN0YW5jZSwgcmVwcmVzZW50aW5nIGEgY29tbWVudC4KLSMgQGRlZnJldHVybiBFbGVtZW50CiAKIGRlZiBDb21tZW50KHRleHQ9Tm9uZSk6CisgICAgIiIiQ29tbWVudCBlbGVtZW50IGZhY3RvcnkuCisKKyAgICBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBzcGVjaWFsIGVsZW1lbnQgd2hpY2ggdGhlIHN0YW5kYXJkIHNlcmlhbGl6ZXIKKyAgICBzZXJpYWxpemVzIGFzIGFuIFhNTCBjb21tZW50LgorCisgICAgKnRleHQqIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGNvbW1lbnQgc3RyaW5nLgorCisgICAgIiIiCiAgICAgZWxlbWVudCA9IEVsZW1lbnQoQ29tbWVudCkKICAgICBlbGVtZW50LnRleHQgPSB0ZXh0CiAgICAgcmV0dXJuIGVsZW1lbnQKIAotIyMKLSMgUEkgZWxlbWVudCBmYWN0b3J5LiAgVGhpcyBmYWN0b3J5IGZ1bmN0aW9uIGNyZWF0ZXMgYSBzcGVjaWFsIGVsZW1lbnQKLSMgdGhhdCB3aWxsIGJlIHNlcmlhbGl6ZWQgYXMgYW4gWE1MIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gYnkgdGhlIHN0YW5kYXJkCi0jIHNlcmlhbGl6ZXIuCi0jCi0jIEBwYXJhbSB0YXJnZXQgQSBzdHJpbmcgY29udGFpbmluZyB0aGUgUEkgdGFyZ2V0LgotIyBAcGFyYW0gdGV4dCBBIHN0cmluZyBjb250YWluaW5nIHRoZSBQSSBjb250ZW50cywgaWYgYW55LgotIyBAcmV0dXJuIEFuIGVsZW1lbnQgaW5zdGFuY2UsIHJlcHJlc2VudGluZyBhIFBJLgotIyBAZGVmcmV0dXJuIEVsZW1lbnQKIAogZGVmIFByb2Nlc3NpbmdJbnN0cnVjdGlvbih0YXJnZXQsIHRleHQ9Tm9uZSk6CisgICAgIiIiUHJvY2Vzc2luZyBJbnN0cnVjdGlvbiBlbGVtZW50IGZhY3RvcnkuCisKKyAgICBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBzcGVjaWFsIGVsZW1lbnQgd2hpY2ggdGhlIHN0YW5kYXJkIHNlcmlhbGl6ZXIKKyAgICBzZXJpYWxpemVzIGFzIGFuIFhNTCBjb21tZW50LgorCisgICAgKnRhcmdldCogaXMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiwgKnRleHQqIGlzIGEKKyAgICBzdHJpbmcgY29udGFpbmluZyB0aGUgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbiBjb250ZW50cywgaWYgYW55LgorCisgICAgIiIiCiAgICAgZWxlbWVudCA9IEVsZW1lbnQoUHJvY2Vzc2luZ0luc3RydWN0aW9uKQogICAgIGVsZW1lbnQudGV4dCA9IHRhcmdldAogICAgIGlmIHRleHQ6CkBAIC01NTQsMTcgKzUwMywyMSBAQAogCiBQSSA9IFByb2Nlc3NpbmdJbnN0cnVjdGlvbgogCi0jIwotIyBRTmFtZSB3cmFwcGVyLiAgVGhpcyBjYW4gYmUgdXNlZCB0byB3cmFwIGEgUU5hbWUgYXR0cmlidXRlIHZhbHVlLCBpbgotIyBvcmRlciB0byBnZXQgcHJvcGVyIG5hbWVzcGFjZSBoYW5kbGluZyBvbiBvdXRwdXQuCi0jCi0jIEBwYXJhbSB0ZXh0IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIFFOYW1lIHZhbHVlLCBpbiB0aGUgZm9ybSB7dXJpfWxvY2FsLAotIyAgICAgb3IsIGlmIHRoZSB0YWcgYXJndW1lbnQgaXMgZ2l2ZW4sIHRoZSBVUkkgcGFydCBvZiBhIFFOYW1lLgotIyBAcGFyYW0gdGFnIE9wdGlvbmFsIHRhZy4gIElmIGdpdmVuLCB0aGUgZmlyc3QgYXJndW1lbnQgaXMgaW50ZXJwcmV0ZWQgYXMKLSMgICAgIGFuIFVSSSwgYW5kIHRoaXMgYXJndW1lbnQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBsb2NhbCBuYW1lLgotIyBAcmV0dXJuIEFuIG9wYXF1ZSBvYmplY3QsIHJlcHJlc2VudGluZyB0aGUgUU5hbWUuCiAKIGNsYXNzIFFOYW1lOgorICAgICIiIlF1YWxpZmllZCBuYW1lIHdyYXBwZXIuCisKKyAgICBUaGlzIGNsYXNzIGNhbiBiZSB1c2VkIHRvIHdyYXAgYSBRTmFtZSBhdHRyaWJ1dGUgdmFsdWUgaW4gb3JkZXIgdG8gZ2V0CisgICAgcHJvcGVyIG5hbWVzcGFjZSBoYW5kaW5nIG9uIG91dHB1dC4KKworICAgICp0ZXh0X29yX3VyaSogaXMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgUU5hbWUgdmFsdWUgZWl0aGVyIGluIHRoZSBmb3JtCisgICAge3VyaX1sb2NhbCwgb3IgaWYgdGhlIHRhZyBhcmd1bWVudCBpcyBnaXZlbiwgdGhlIFVSSSBwYXJ0IG9mIGEgUU5hbWUuCisKKyAgICAqdGFnKiBpcyBhbiBvcHRpb25hbCBhcmd1bWVudCB3aGljaCBpZiBnaXZlbiwgd2lsbCBtYWtlIHRoZSBmaXJzdAorICAgIGFyZ3VtZW50ICh0ZXh0X29yX3VyaSkgYmUgaW50ZXJwcmV0ZWQgYXMgYSBVUkksIGFuZCB0aGlzIGFyZ3VtZW50ICh0YWcpCisgICAgYmUgaW50ZXJwcmV0ZWQgYXMgYSBsb2NhbCBuYW1lLgorCisgICAgIiIiCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRleHRfb3JfdXJpLCB0YWc9Tm9uZSk6CiAgICAgICAgIGlmIHRhZzoKICAgICAgICAgICAgIHRleHRfb3JfdXJpID0gInslc30lcyIgJSAodGV4dF9vcl91cmksIHRhZykKQEAgLTYwMiw1NSArNTU1LDQ5IEBACiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotIyMKLSMgRWxlbWVudFRyZWUgd3JhcHBlciBjbGFzcy4gIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhbiBlbnRpcmUgZWxlbWVudAotIyBoaWVyYXJjaHksIGFuZCBhZGRzIHNvbWUgZXh0cmEgc3VwcG9ydCBmb3Igc2VyaWFsaXphdGlvbiB0byBhbmQgZnJvbQotIyBzdGFuZGFyZCBYTUwuCi0jCi0jIEBwYXJhbSBlbGVtZW50IE9wdGlvbmFsIHJvb3QgZWxlbWVudC4KLSMgQGtleXBhcmFtIGZpbGUgT3B0aW9uYWwgZmlsZSBoYW5kbGUgb3IgZmlsZSBuYW1lLiAgSWYgZ2l2ZW4sIHRoZQotIyAgICAgdHJlZSBpcyBpbml0aWFsaXplZCB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGlzIFhNTCBmaWxlLgogCiBjbGFzcyBFbGVtZW50VHJlZToKKyAgICAiIiJBbiBYTUwgZWxlbWVudCBoaWVyYXJjaHkuCiAKKyAgICBUaGlzIGNsYXNzIGFsc28gcHJvdmlkZXMgc3VwcG9ydCBmb3Igc2VyaWFsaXphdGlvbiB0byBhbmQgZnJvbQorICAgIHN0YW5kYXJkIFhNTC4KKworICAgICplbGVtZW50KiBpcyBhbiBvcHRpb25hbCByb290IGVsZW1lbnQgbm9kZSwKKyAgICAqZmlsZSogaXMgYW4gb3B0aW9uYWwgZmlsZSBoYW5kbGUgb3IgZmlsZSBuYW1lIG9mIGFuIFhNTCBmaWxlIHdob3NlCisgICAgY29udGVudHMgd2lsbCBiZSB1c2VkIHRvIGluaXRpYWxpemUgdGhlIHRyZWUgd2l0aC4KKworICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlbGVtZW50PU5vbmUsIGZpbGU9Tm9uZSk6CiAgICAgICAgICMgYXNzZXJ0IGVsZW1lbnQgaXMgTm9uZSBvciBpc2VsZW1lbnQoZWxlbWVudCkKICAgICAgICAgc2VsZi5fcm9vdCA9IGVsZW1lbnQgIyBmaXJzdCBub2RlCiAgICAgICAgIGlmIGZpbGU6CiAgICAgICAgICAgICBzZWxmLnBhcnNlKGZpbGUpCiAKLSAgICAjIwotICAgICMgR2V0cyB0aGUgcm9vdCBlbGVtZW50IGZvciB0aGlzIHRyZWUuCi0gICAgIwotICAgICMgQHJldHVybiBBbiBlbGVtZW50IGluc3RhbmNlLgotICAgICMgQGRlZnJldHVybiBFbGVtZW50Ci0KICAgICBkZWYgZ2V0cm9vdChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHJvb3QgZWxlbWVudCBvZiB0aGlzIHRyZWUuIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl9yb290CiAKLSAgICAjIwotICAgICMgUmVwbGFjZXMgdGhlIHJvb3QgZWxlbWVudCBmb3IgdGhpcyB0cmVlLiAgVGhpcyBkaXNjYXJkcyB0aGUKLSAgICAjIGN1cnJlbnQgY29udGVudHMgb2YgdGhlIHRyZWUsIGFuZCByZXBsYWNlcyBpdCB3aXRoIHRoZSBnaXZlbgotICAgICMgZWxlbWVudC4gIFVzZSB3aXRoIGNhcmUuCi0gICAgIwotICAgICMgQHBhcmFtIGVsZW1lbnQgQW4gZWxlbWVudCBpbnN0YW5jZS4KLQogICAgIGRlZiBfc2V0cm9vdChzZWxmLCBlbGVtZW50KToKKyAgICAgICAgIiIiUmVwbGFjZSByb290IGVsZW1lbnQgb2YgdGhpcyB0cmVlLgorCisgICAgICAgIFRoaXMgd2lsbCBkaXNjYXJkIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSB0cmVlIGFuZCByZXBsYWNlIGl0CisgICAgICAgIHdpdGggdGhlIGdpdmVuIGVsZW1lbnQuICBVc2Ugd2l0aCBjYXJlIQorCisgICAgICAgICIiIgogICAgICAgICAjIGFzc2VydCBpc2VsZW1lbnQoZWxlbWVudCkKICAgICAgICAgc2VsZi5fcm9vdCA9IGVsZW1lbnQKIAotICAgICMjCi0gICAgIyBMb2FkcyBhbiBleHRlcm5hbCBYTUwgZG9jdW1lbnQgaW50byB0aGlzIGVsZW1lbnQgdHJlZS4KLSAgICAjCi0gICAgIyBAcGFyYW0gc291cmNlIEEgZmlsZSBuYW1lIG9yIGZpbGUgb2JqZWN0LiAgSWYgYSBmaWxlIG9iamVjdCBpcwotICAgICMgICAgIGdpdmVuLCBpdCBvbmx5IGhhcyB0byBpbXBsZW1lbnQgYSA8Yj5yZWFkKG4pPC9iPiBtZXRob2QuCi0gICAgIyBAa2V5cGFyYW0gcGFyc2VyIEFuIG9wdGlvbmFsIHBhcnNlciBpbnN0YW5jZS4gIElmIG5vdCBnaXZlbiwgdGhlCi0gICAgIyAgICAgc3RhbmRhcmQge0BsaW5rIFhNTFBhcnNlcn0gcGFyc2VyIGlzIHVzZWQuCi0gICAgIyBAcmV0dXJuIFRoZSBkb2N1bWVudCByb290IGVsZW1lbnQuCi0gICAgIyBAZGVmcmV0dXJuIEVsZW1lbnQKLSAgICAjIEBleGNlcHRpb24gUGFyc2VFcnJvciBJZiB0aGUgcGFyc2VyIGZhaWxzIHRvIHBhcnNlIHRoZSBkb2N1bWVudC4KLQogICAgIGRlZiBwYXJzZShzZWxmLCBzb3VyY2UsIHBhcnNlcj1Ob25lKToKKyAgICAgICAgIiIiTG9hZCBleHRlcm5hbCBYTUwgZG9jdW1lbnQgaW50byBlbGVtZW50IHRyZWUuCisKKyAgICAgICAgKnNvdXJjZSogaXMgYSBmaWxlIG5hbWUgb3IgZmlsZSBvYmplY3QsICpwYXJzZXIqIGlzIGFuIG9wdGlvbmFsIHBhcnNlcgorICAgICAgICBpbnN0YW5jZSB0aGF0IGRlZmF1bHRzIHRvIFhNTFBhcnNlci4KKworICAgICAgICBQYXJzZUVycm9yIGlzIHJhaXNlZCBpZiB0aGUgcGFyc2VyIGZhaWxzIHRvIHBhcnNlIHRoZSBkb2N1bWVudC4KKworICAgICAgICBSZXR1cm5zIHRoZSByb290IGVsZW1lbnQgb2YgdGhlIGdpdmVuIHNvdXJjZSBkb2N1bWVudC4KKworICAgICAgICAiIiIKICAgICAgICAgY2xvc2Vfc291cmNlID0gRmFsc2UKICAgICAgICAgaWYgbm90IGhhc2F0dHIoc291cmNlLCAicmVhZCIpOgogICAgICAgICAgICAgc291cmNlID0gb3Blbihzb3VyY2UsICJyYiIpCkBAIC02NjksMTUgKzYxNiwxNSBAQAogICAgICAgICAgICAgaWYgY2xvc2Vfc291cmNlOgogICAgICAgICAgICAgICAgIHNvdXJjZS5jbG9zZSgpCiAKLSAgICAjIwotICAgICMgQ3JlYXRlcyBhIHRyZWUgaXRlcmF0b3IgZm9yIHRoZSByb290IGVsZW1lbnQuICBUaGUgaXRlcmF0b3IgbG9vcHMKLSAgICAjIG92ZXIgYWxsIGVsZW1lbnRzIGluIHRoaXMgdHJlZSwgaW4gZG9jdW1lbnQgb3JkZXIuCi0gICAgIwotICAgICMgQHBhcmFtIHRhZyBXaGF0IHRhZ3MgdG8gbG9vayBmb3IgKGRlZmF1bHQgaXMgdG8gcmV0dXJuIGFsbCBlbGVtZW50cykKLSAgICAjIEByZXR1cm4gQW4gaXRlcmF0b3IuCi0gICAgIyBAZGVmcmV0dXJuIGl0ZXJhdG9yCi0KICAgICBkZWYgaXRlcihzZWxmLCB0YWc9Tm9uZSk6CisgICAgICAgICIiIkNyZWF0ZSBhbmQgcmV0dXJuIHRyZWUgaXRlcmF0b3IgZm9yIHRoZSByb290IGVsZW1lbnQuCisKKyAgICAgICAgVGhlIGl0ZXJhdG9yIGxvb3BzIG92ZXIgYWxsIGVsZW1lbnRzIGluIHRoaXMgdHJlZSwgaW4gZG9jdW1lbnQgb3JkZXIuCisKKyAgICAgICAgKnRhZyogaXMgYSBzdHJpbmcgd2l0aCB0aGUgdGFnIG5hbWUgdG8gaXRlcmF0ZSBvdmVyCisgICAgICAgIChkZWZhdWx0IGlzIHRvIHJldHVybiBhbGwgZWxlbWVudHMpLgorCisgICAgICAgICIiIgogICAgICAgICAjIGFzc2VydCBzZWxmLl9yb290IGlzIG5vdCBOb25lCiAgICAgICAgIHJldHVybiBzZWxmLl9yb290Lml0ZXIodGFnKQogCkBAIC02OTEsMTUgKzYzOCwxNyBAQAogICAgICAgICApCiAgICAgICAgIHJldHVybiBsaXN0KHNlbGYuaXRlcih0YWcpKQogCi0gICAgIyMKLSAgICAjIFNhbWUgYXMgZ2V0cm9vdCgpLmZpbmQocGF0aCksIHN0YXJ0aW5nIGF0IHRoZSByb290IG9mIHRoZSB0cmVlLgotICAgICMKLSAgICAjIEBwYXJhbSBwYXRoIFdoYXQgZWxlbWVudCB0byBsb29rIGZvci4KLSAgICAjIEBrZXlwYXJhbSBuYW1lc3BhY2VzIE9wdGlvbmFsIG5hbWVzcGFjZSBwcmVmaXggbWFwLgotICAgICMgQHJldHVybiBUaGUgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCwgb3IgTm9uZSBpZiBubyBlbGVtZW50IHdhcyBmb3VuZC4KLSAgICAjIEBkZWZyZXR1cm4gRWxlbWVudCBvciBOb25lCi0KICAgICBkZWYgZmluZChzZWxmLCBwYXRoLCBuYW1lc3BhY2VzPU5vbmUpOgorICAgICAgICAiIiJGaW5kIGZpcnN0IG1hdGNoaW5nIGVsZW1lbnQgYnkgdGFnIG5hbWUgb3IgcGF0aC4KKworICAgICAgICBTYW1lIGFzIGdldHJvb3QoKS5maW5kKHBhdGgpLCB3aGljaCBpcyBFbGVtZW50LmZpbmQoKQorCisgICAgICAgICpwYXRoKiBpcyBhIHN0cmluZyBoYXZpbmcgZWl0aGVyIGFuIGVsZW1lbnQgdGFnIG9yIGFuIFhQYXRoLAorICAgICAgICAqbmFtZXNwYWNlcyogaXMgYW4gb3B0aW9uYWwgbWFwcGluZyBmcm9tIG5hbWVzcGFjZSBwcmVmaXggdG8gZnVsbCBuYW1lLgorCisgICAgICAgIFJldHVybiB0aGUgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCwgb3IgTm9uZSBpZiBubyBlbGVtZW50IHdhcyBmb3VuZC4KKworICAgICAgICAiIiIKICAgICAgICAgIyBhc3NlcnQgc2VsZi5fcm9vdCBpcyBub3QgTm9uZQogICAgICAgICBpZiBwYXRoWzoxXSA9PSAiLyI6CiAgICAgICAgICAgICBwYXRoID0gIi4iICsgcGF0aApAQCAtNzExLDE5ICs2NjAsMTcgQEAKICAgICAgICAgICAgICAgICApCiAgICAgICAgIHJldHVybiBzZWxmLl9yb290LmZpbmQocGF0aCwgbmFtZXNwYWNlcykKIAotICAgICMjCi0gICAgIyBTYW1lIGFzIGdldHJvb3QoKS5maW5kdGV4dChwYXRoKSwgc3RhcnRpbmcgYXQgdGhlIHJvb3Qgb2YgdGhlIHRyZWUuCi0gICAgIwotICAgICMgQHBhcmFtIHBhdGggV2hhdCBlbGVtZW50IHRvIGxvb2sgZm9yLgotICAgICMgQHBhcmFtIGRlZmF1bHQgV2hhdCB0byByZXR1cm4gaWYgdGhlIGVsZW1lbnQgd2FzIG5vdCBmb3VuZC4KLSAgICAjIEBrZXlwYXJhbSBuYW1lc3BhY2VzIE9wdGlvbmFsIG5hbWVzcGFjZSBwcmVmaXggbWFwLgotICAgICMgQHJldHVybiBUaGUgdGV4dCBjb250ZW50IG9mIHRoZSBmaXJzdCBtYXRjaGluZyBlbGVtZW50LCBvciB0aGUKLSAgICAjICAgICBkZWZhdWx0IHZhbHVlIG5vIGVsZW1lbnQgd2FzIGZvdW5kLiAgTm90ZSB0aGF0IGlmIHRoZSBlbGVtZW50Ci0gICAgIyAgICAgaXMgZm91bmQsIGJ1dCBoYXMgbm8gdGV4dCBjb250ZW50LCB0aGlzIG1ldGhvZCByZXR1cm5zIGFuCi0gICAgIyAgICAgZW1wdHkgc3RyaW5nLgotICAgICMgQGRlZnJldHVybiBzdHJpbmcKLQogICAgIGRlZiBmaW5kdGV4dChzZWxmLCBwYXRoLCBkZWZhdWx0PU5vbmUsIG5hbWVzcGFjZXM9Tm9uZSk6CisgICAgICAgICIiIkZpbmQgZmlyc3QgbWF0Y2hpbmcgZWxlbWVudCBieSB0YWcgbmFtZSBvciBwYXRoLgorCisgICAgICAgIFNhbWUgYXMgZ2V0cm9vdCgpLmZpbmR0ZXh0KHBhdGgpLCAgd2hpY2ggaXMgRWxlbWVudC5maW5kdGV4dCgpCisKKyAgICAgICAgKnBhdGgqIGlzIGEgc3RyaW5nIGhhdmluZyBlaXRoZXIgYW4gZWxlbWVudCB0YWcgb3IgYW4gWFBhdGgsCisgICAgICAgICpuYW1lc3BhY2VzKiBpcyBhbiBvcHRpb25hbCBtYXBwaW5nIGZyb20gbmFtZXNwYWNlIHByZWZpeCB0byBmdWxsIG5hbWUuCisKKyAgICAgICAgUmV0dXJuIHRoZSBmaXJzdCBtYXRjaGluZyBlbGVtZW50LCBvciBOb25lIGlmIG5vIGVsZW1lbnQgd2FzIGZvdW5kLgorCisgICAgICAgICIiIgogICAgICAgICAjIGFzc2VydCBzZWxmLl9yb290IGlzIG5vdCBOb25lCiAgICAgICAgIGlmIHBhdGhbOjFdID09ICIvIjoKICAgICAgICAgICAgIHBhdGggPSAiLiIgKyBwYXRoCkBAIC03MzUsMTYgKzY4MiwxNyBAQAogICAgICAgICAgICAgICAgICkKICAgICAgICAgcmV0dXJuIHNlbGYuX3Jvb3QuZmluZHRleHQocGF0aCwgZGVmYXVsdCwgbmFtZXNwYWNlcykKIAotICAgICMjCi0gICAgIyBTYW1lIGFzIGdldHJvb3QoKS5maW5kYWxsKHBhdGgpLCBzdGFydGluZyBhdCB0aGUgcm9vdCBvZiB0aGUgdHJlZS4KLSAgICAjCi0gICAgIyBAcGFyYW0gcGF0aCBXaGF0IGVsZW1lbnQgdG8gbG9vayBmb3IuCi0gICAgIyBAa2V5cGFyYW0gbmFtZXNwYWNlcyBPcHRpb25hbCBuYW1lc3BhY2UgcHJlZml4IG1hcC4KLSAgICAjIEByZXR1cm4gQSBsaXN0IG9yIGl0ZXJhdG9yIGNvbnRhaW5pbmcgYWxsIG1hdGNoaW5nIGVsZW1lbnRzLAotICAgICMgICAgaW4gZG9jdW1lbnQgb3JkZXIuCi0gICAgIyBAZGVmcmV0dXJuIGxpc3Qgb2YgRWxlbWVudCBpbnN0YW5jZXMKLQogICAgIGRlZiBmaW5kYWxsKHNlbGYsIHBhdGgsIG5hbWVzcGFjZXM9Tm9uZSk6CisgICAgICAgICIiIkZpbmQgYWxsIG1hdGNoaW5nIHN1YmVsZW1lbnRzIGJ5IHRhZyBuYW1lIG9yIHBhdGguCisKKyAgICAgICAgU2FtZSBhcyBnZXRyb290KCkuZmluZGFsbChwYXRoKSwgd2hpY2ggaXMgRWxlbWVudC5maW5kYWxsKCkuCisKKyAgICAgICAgKnBhdGgqIGlzIGEgc3RyaW5nIGhhdmluZyBlaXRoZXIgYW4gZWxlbWVudCB0YWcgb3IgYW4gWFBhdGgsCisgICAgICAgICpuYW1lc3BhY2VzKiBpcyBhbiBvcHRpb25hbCBtYXBwaW5nIGZyb20gbmFtZXNwYWNlIHByZWZpeCB0byBmdWxsIG5hbWUuCisKKyAgICAgICAgUmV0dXJuIGxpc3QgY29udGFpbmluZyBhbGwgbWF0Y2hpbmcgZWxlbWVudHMgaW4gZG9jdW1lbnQgb3JkZXIuCisKKyAgICAgICAgIiIiCiAgICAgICAgICMgYXNzZXJ0IHNlbGYuX3Jvb3QgaXMgbm90IE5vbmUKICAgICAgICAgaWYgcGF0aFs6MV0gPT0gIi8iOgogICAgICAgICAgICAgcGF0aCA9ICIuIiArIHBhdGgKQEAgLTc1NiwxNyArNzA0LDE3IEBACiAgICAgICAgICAgICAgICAgKQogICAgICAgICByZXR1cm4gc2VsZi5fcm9vdC5maW5kYWxsKHBhdGgsIG5hbWVzcGFjZXMpCiAKLSAgICAjIwotICAgICMgRmluZHMgYWxsIG1hdGNoaW5nIHN1YmVsZW1lbnRzLCBieSB0YWcgbmFtZSBvciBwYXRoLgotICAgICMgU2FtZSBhcyBnZXRyb290KCkuaXRlcmZpbmQocGF0aCkuCi0gICAgIwotICAgICMgQHBhcmFtIHBhdGggV2hhdCBlbGVtZW50IHRvIGxvb2sgZm9yLgotICAgICMgQGtleXBhcmFtIG5hbWVzcGFjZXMgT3B0aW9uYWwgbmFtZXNwYWNlIHByZWZpeCBtYXAuCi0gICAgIyBAcmV0dXJuIEFuIGl0ZXJhdG9yIG9yIHNlcXVlbmNlIGNvbnRhaW5pbmcgYWxsIG1hdGNoaW5nIGVsZW1lbnRzLAotICAgICMgICAgaW4gZG9jdW1lbnQgb3JkZXIuCi0gICAgIyBAZGVmcmV0dXJuIGEgZ2VuZXJhdGVkIHNlcXVlbmNlIG9mIEVsZW1lbnQgaW5zdGFuY2VzCi0KICAgICBkZWYgaXRlcmZpbmQoc2VsZiwgcGF0aCwgbmFtZXNwYWNlcz1Ob25lKToKKyAgICAgICAgIiIiRmluZCBhbGwgbWF0Y2hpbmcgc3ViZWxlbWVudHMgYnkgdGFnIG5hbWUgb3IgcGF0aC4KKworICAgICAgICBTYW1lIGFzIGdldHJvb3QoKS5pdGVyZmluZChwYXRoKSwgd2hpY2ggaXMgZWxlbWVudC5pdGVyZmluZCgpCisKKyAgICAgICAgKnBhdGgqIGlzIGEgc3RyaW5nIGhhdmluZyBlaXRoZXIgYW4gZWxlbWVudCB0YWcgb3IgYW4gWFBhdGgsCisgICAgICAgICpuYW1lc3BhY2VzKiBpcyBhbiBvcHRpb25hbCBtYXBwaW5nIGZyb20gbmFtZXNwYWNlIHByZWZpeCB0byBmdWxsIG5hbWUuCisKKyAgICAgICAgUmV0dXJuIGFuIGl0ZXJhYmxlIHlpZWxkaW5nIGFsbCBtYXRjaGluZyBlbGVtZW50cyBpbiBkb2N1bWVudCBvcmRlci4KKworICAgICAgICAiIiIKICAgICAgICAgIyBhc3NlcnQgc2VsZi5fcm9vdCBpcyBub3QgTm9uZQogICAgICAgICBpZiBwYXRoWzoxXSA9PSAiLyI6CiAgICAgICAgICAgICBwYXRoID0gIi4iICsgcGF0aApAQCAtNzc4LDI2ICs3MjYsMzUgQEAKICAgICAgICAgICAgICAgICApCiAgICAgICAgIHJldHVybiBzZWxmLl9yb290Lml0ZXJmaW5kKHBhdGgsIG5hbWVzcGFjZXMpCiAKLSAgICAjIwotICAgICMgV3JpdGVzIHRoZSBlbGVtZW50IHRyZWUgdG8gYSBmaWxlLCBhcyBYTUwuCi0gICAgIwotICAgICMgQGRlZiB3cml0ZShmaWxlLCAqKm9wdGlvbnMpCi0gICAgIyBAcGFyYW0gZmlsZSBBIGZpbGUgbmFtZSwgb3IgYSBmaWxlIG9iamVjdCBvcGVuZWQgZm9yIHdyaXRpbmcuCi0gICAgIyBAcGFyYW0gKipvcHRpb25zIE9wdGlvbnMsIGdpdmVuIGFzIGtleXdvcmQgYXJndW1lbnRzLgotICAgICMgQGtleXBhcmFtIGVuY29kaW5nIE9wdGlvbmFsIG91dHB1dCBlbmNvZGluZyAoZGVmYXVsdCBpcyBVUy1BU0NJSSkuCi0gICAgIyAgICAgVXNlICJ1bmljb2RlIiB0byByZXR1cm4gYSBVbmljb2RlIHN0cmluZy4KLSAgICAjIEBrZXlwYXJhbSB4bWxfZGVjbGFyYXRpb24gQ29udHJvbHMgaWYgYW4gWE1MIGRlY2xhcmF0aW9uIHNob3VsZAotICAgICMgICAgIGJlIGFkZGVkIHRvIHRoZSBmaWxlLiAgVXNlIEZhbHNlIGZvciBuZXZlciwgVHJ1ZSBmb3IgYWx3YXlzLAotICAgICMgICAgIE5vbmUgZm9yIG9ubHkgaWYgbm90IFVTLUFTQ0lJIG9yIFVURi04IG9yIFVuaWNvZGUuICBOb25lIGlzIGRlZmF1bHQuCi0gICAgIyBAa2V5cGFyYW0gZGVmYXVsdF9uYW1lc3BhY2UgU2V0cyB0aGUgZGVmYXVsdCBYTUwgbmFtZXNwYWNlIChmb3IgInhtbG5zIikuCi0gICAgIyBAa2V5cGFyYW0gbWV0aG9kIE9wdGlvbmFsIG91dHB1dCBtZXRob2QgKCJ4bWwiLCAiaHRtbCIsICJ0ZXh0IiBvcgotICAgICMgICAgICJjMTRuIjsgZGVmYXVsdCBpcyAieG1sIikuCi0KICAgICBkZWYgd3JpdGUoc2VsZiwgZmlsZV9vcl9maWxlbmFtZSwKICAgICAgICAgICAgICAgZW5jb2Rpbmc9Tm9uZSwKICAgICAgICAgICAgICAgeG1sX2RlY2xhcmF0aW9uPU5vbmUsCiAgICAgICAgICAgICAgIGRlZmF1bHRfbmFtZXNwYWNlPU5vbmUsCi0gICAgICAgICAgICAgIG1ldGhvZD1Ob25lKToKKyAgICAgICAgICAgICAgbWV0aG9kPU5vbmUsICosCisgICAgICAgICAgICAgIHNob3J0X2VtcHR5X2VsZW1lbnRzPVRydWUpOgorICAgICAgICAiIiJXcml0ZSBlbGVtZW50IHRyZWUgdG8gYSBmaWxlIGFzIFhNTC4KKworICAgICAgICBBcmd1bWVudHM6CisgICAgICAgICAgKmZpbGVfb3JfZmlsZW5hbWUqIC0tIGZpbGUgbmFtZSBvciBhIGZpbGUgb2JqZWN0IG9wZW5lZCBmb3Igd3JpdGluZworCisgICAgICAgICAgKmVuY29kaW5nKiAtLSB0aGUgb3V0cHV0IGVuY29kaW5nIChkZWZhdWx0OiBVUy1BU0NJSSkKKworICAgICAgICAgICp4bWxfZGVjbGFyYXRpb24qIC0tIGJvb2wgaW5kaWNhdGluZyBpZiBhbiBYTUwgZGVjbGFyYXRpb24gc2hvdWxkIGJlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkZWQgdG8gdGhlIG91dHB1dC4gSWYgTm9uZSwgYW4gWE1MIGRlY2xhcmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgYWRkZWQgaWYgZW5jb2RpbmcgSVMgTk9UIGVpdGhlciBvZjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVUy1BU0NJSSwgVVRGLTgsIG9yIFVuaWNvZGUKKworICAgICAgICAgICpkZWZhdWx0X25hbWVzcGFjZSogLS0gc2V0cyB0aGUgZGVmYXVsdCBYTUwgbmFtZXNwYWNlIChmb3IgInhtbG5zIikKKworICAgICAgICAgICptZXRob2QqIC0tIGVpdGhlciAieG1sIiAoZGVmYXVsdCksICJodG1sLCAidGV4dCIsIG9yICJjMTRuIgorCisgICAgICAgICAgKnNob3J0X2VtcHR5X2VsZW1lbnRzKiAtLSBjb250cm9scyB0aGUgZm9ybWF0dGluZyBvZiBlbGVtZW50cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBjb250YWluIG5vIGNvbnRlbnQuIElmIFRydWUgKGRlZmF1bHQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGV5IGFyZSBlbWl0dGVkIGFzIGEgc2luZ2xlIHNlbGYtY2xvc2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWcsIG90aGVyd2lzZSB0aGV5IGFyZSBlbWl0dGVkIGFzIGEgcGFpcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Ygc3RhcnQvZW5kIHRhZ3MKKworICAgICAgICAiIiIKICAgICAgICAgaWYgbm90IG1ldGhvZDoKICAgICAgICAgICAgIG1ldGhvZCA9ICJ4bWwiCiAgICAgICAgIGVsaWYgbWV0aG9kIG5vdCBpbiBfc2VyaWFsaXplOgpAQCAtODI1LDcgKzc4Miw4IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHFuYW1lcywgbmFtZXNwYWNlcyA9IF9uYW1lc3BhY2VzKHNlbGYuX3Jvb3QsIGRlZmF1bHRfbmFtZXNwYWNlKQogICAgICAgICAgICAgICAgIHNlcmlhbGl6ZSA9IF9zZXJpYWxpemVbbWV0aG9kXQotICAgICAgICAgICAgICAgIHNlcmlhbGl6ZSh3cml0ZSwgc2VsZi5fcm9vdCwgcW5hbWVzLCBuYW1lc3BhY2VzKQorICAgICAgICAgICAgICAgIHNlcmlhbGl6ZSh3cml0ZSwgc2VsZi5fcm9vdCwgcW5hbWVzLCBuYW1lc3BhY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9lbXB0eV9lbGVtZW50cz1zaG9ydF9lbXB0eV9lbGVtZW50cykKIAogICAgIGRlZiB3cml0ZV9jMTRuKHNlbGYsIGZpbGUpOgogICAgICAgICAjIGx4bWwuZXRyZWUgY29tcGF0aWJpbGl0eS4gIHVzZSBvdXRwdXQgbWV0aG9kIGluc3RlYWQKQEAgLTk0Nyw3ICs5MDUsOCBAQAogICAgICAgICAgICAgYWRkX3FuYW1lKHRleHQudGV4dCkKICAgICByZXR1cm4gcW5hbWVzLCBuYW1lc3BhY2VzCiAKLWRlZiBfc2VyaWFsaXplX3htbCh3cml0ZSwgZWxlbSwgcW5hbWVzLCBuYW1lc3BhY2VzKToKK2RlZiBfc2VyaWFsaXplX3htbCh3cml0ZSwgZWxlbSwgcW5hbWVzLCBuYW1lc3BhY2VzLAorICAgICAgICAgICAgICAgICAgIHNob3J0X2VtcHR5X2VsZW1lbnRzLCAqKmt3YXJncyk6CiAgICAgdGFnID0gZWxlbS50YWcKICAgICB0ZXh0ID0gZWxlbS50ZXh0CiAgICAgaWYgdGFnIGlzIENvbW1lbnQ6CkBAIC05NjAsNyArOTE5LDggQEAKICAgICAgICAgICAgIGlmIHRleHQ6CiAgICAgICAgICAgICAgICAgd3JpdGUoX2VzY2FwZV9jZGF0YSh0ZXh0KSkKICAgICAgICAgICAgIGZvciBlIGluIGVsZW06Ci0gICAgICAgICAgICAgICAgX3NlcmlhbGl6ZV94bWwod3JpdGUsIGUsIHFuYW1lcywgTm9uZSkKKyAgICAgICAgICAgICAgICBfc2VyaWFsaXplX3htbCh3cml0ZSwgZSwgcW5hbWVzLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3J0X2VtcHR5X2VsZW1lbnRzPXNob3J0X2VtcHR5X2VsZW1lbnRzKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgd3JpdGUoIjwiICsgdGFnKQogICAgICAgICAgICAgaXRlbXMgPSBsaXN0KGVsZW0uaXRlbXMoKSkKQEAgLTk4MiwxMiArOTQyLDEzIEBACiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICB2ID0gX2VzY2FwZV9hdHRyaWIodikKICAgICAgICAgICAgICAgICAgICAgd3JpdGUoIiAlcz1cIiVzXCIiICUgKHFuYW1lc1trXSwgdikpCi0gICAgICAgICAgICBpZiB0ZXh0IG9yIGxlbihlbGVtKToKKyAgICAgICAgICAgIGlmIHRleHQgb3IgbGVuKGVsZW0pIG9yIG5vdCBzaG9ydF9lbXB0eV9lbGVtZW50czoKICAgICAgICAgICAgICAgICB3cml0ZSgiPiIpCiAgICAgICAgICAgICAgICAgaWYgdGV4dDoKICAgICAgICAgICAgICAgICAgICAgd3JpdGUoX2VzY2FwZV9jZGF0YSh0ZXh0KSkKICAgICAgICAgICAgICAgICBmb3IgZSBpbiBlbGVtOgotICAgICAgICAgICAgICAgICAgICBfc2VyaWFsaXplX3htbCh3cml0ZSwgZSwgcW5hbWVzLCBOb25lKQorICAgICAgICAgICAgICAgICAgICBfc2VyaWFsaXplX3htbCh3cml0ZSwgZSwgcW5hbWVzLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9lbXB0eV9lbGVtZW50cz1zaG9ydF9lbXB0eV9lbGVtZW50cykKICAgICAgICAgICAgICAgICB3cml0ZSgiPC8iICsgdGFnICsgIj4iKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB3cml0ZSgiIC8+IikKQEAgLTEwMDIsNyArOTYzLDcgQEAKIGV4Y2VwdCBOYW1lRXJyb3I6CiAgICAgcGFzcwogCi1kZWYgX3NlcmlhbGl6ZV9odG1sKHdyaXRlLCBlbGVtLCBxbmFtZXMsIG5hbWVzcGFjZXMpOgorZGVmIF9zZXJpYWxpemVfaHRtbCh3cml0ZSwgZWxlbSwgcW5hbWVzLCBuYW1lc3BhY2VzLCAqKmt3YXJncyk6CiAgICAgdGFnID0gZWxlbS50YWcKICAgICB0ZXh0ID0gZWxlbS50ZXh0CiAgICAgaWYgdGFnIGlzIENvbW1lbnQ6CkBAIC0xMDY2LDE4ICsxMDI3LDE5IEBACiAjICAgImMxNG4iOiBfc2VyaWFsaXplX2MxNG4sCiB9CiAKLSMjCi0jIFJlZ2lzdGVycyBhIG5hbWVzcGFjZSBwcmVmaXguICBUaGUgcmVnaXN0cnkgaXMgZ2xvYmFsLCBhbmQgYW55Ci0jIGV4aXN0aW5nIG1hcHBpbmcgZm9yIGVpdGhlciB0aGUgZ2l2ZW4gcHJlZml4IG9yIHRoZSBuYW1lc3BhY2UgVVJJCi0jIHdpbGwgYmUgcmVtb3ZlZC4KLSMKLSMgQHBhcmFtIHByZWZpeCBOYW1lc3BhY2UgcHJlZml4LgotIyBAcGFyYW0gdXJpIE5hbWVzcGFjZSB1cmkuICBUYWdzIGFuZCBhdHRyaWJ1dGVzIGluIHRoaXMgbmFtZXNwYWNlCi0jICAgICB3aWxsIGJlIHNlcmlhbGl6ZWQgd2l0aCB0aGUgZ2l2ZW4gcHJlZml4LCBpZiBhdCBhbGwgcG9zc2libGUuCi0jIEBleGNlcHRpb24gVmFsdWVFcnJvciBJZiB0aGUgcHJlZml4IGlzIHJlc2VydmVkLCBvciBpcyBvdGhlcndpc2UKLSMgICAgIGludmFsaWQuCiAKIGRlZiByZWdpc3Rlcl9uYW1lc3BhY2UocHJlZml4LCB1cmkpOgorICAgICIiIlJlZ2lzdGVyIGEgbmFtZXNwYWNlIHByZWZpeC4KKworICAgIFRoZSByZWdpc3RyeSBpcyBnbG9iYWwsIGFuZCBhbnkgZXhpc3RpbmcgbWFwcGluZyBmb3IgZWl0aGVyIHRoZQorICAgIGdpdmVuIHByZWZpeCBvciB0aGUgbmFtZXNwYWNlIFVSSSB3aWxsIGJlIHJlbW92ZWQuCisKKyAgICAqcHJlZml4KiBpcyB0aGUgbmFtZXNwYWNlIHByZWZpeCwgKnVyaSogaXMgYSBuYW1lc3BhY2UgdXJpLiBUYWdzIGFuZAorICAgIGF0dHJpYnV0ZXMgaW4gdGhpcyBuYW1lc3BhY2Ugd2lsbCBiZSBzZXJpYWxpemVkIHdpdGggcHJlZml4IGlmIHBvc3NpYmxlLgorCisgICAgVmFsdWVFcnJvciBpcyByYWlzZWQgaWYgcHJlZml4IGlzIHJlc2VydmVkIG9yIGlzIGludmFsaWQuCisKKyAgICAiIiIKICAgICBpZiByZS5tYXRjaCgibnNcZCskIiwgcHJlZml4KToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiUHJlZml4IGZvcm1hdCByZXNlcnZlZCBmb3IgaW50ZXJuYWwgdXNlIikKICAgICBmb3IgaywgdiBpbiBsaXN0KF9uYW1lc3BhY2VfbWFwLml0ZW1zKCkpOgpAQCAtMTE1Myw0MCArMTExNSwyNyBAQAogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLSMjCi0jIEdlbmVyYXRlcyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBYTUwgZWxlbWVudCwgaW5jbHVkaW5nIGFsbAotIyBzdWJlbGVtZW50cy4gIElmIGVuY29kaW5nIGlzICJ1bmljb2RlIiwgdGhlIHJldHVybiB0eXBlIGlzIGEgc3RyaW5nOwotIyBvdGhlcndpc2UgaXQgaXMgYSBieXRlcyBhcnJheS4KLSMKLSMgQHBhcmFtIGVsZW1lbnQgQW4gRWxlbWVudCBpbnN0YW5jZS4KLSMgQGtleXBhcmFtIGVuY29kaW5nIE9wdGlvbmFsIG91dHB1dCBlbmNvZGluZyAoZGVmYXVsdCBpcyBVUy1BU0NJSSkuCi0jICAgICBVc2UgInVuaWNvZGUiIHRvIHJldHVybiBhIFVuaWNvZGUgc3RyaW5nLgotIyBAa2V5cGFyYW0gbWV0aG9kIE9wdGlvbmFsIG91dHB1dCBtZXRob2QgKCJ4bWwiLCAiaHRtbCIsICJ0ZXh0IiBvcgotIyAgICAgImMxNG4iOyBkZWZhdWx0IGlzICJ4bWwiKS4KLSMgQHJldHVybiBBbiAob3B0aW9uYWxseSkgZW5jb2RlZCBzdHJpbmcgY29udGFpbmluZyB0aGUgWE1MIGRhdGEuCi0jIEBkZWZyZXR1cm4gc3RyaW5nCitkZWYgdG9zdHJpbmcoZWxlbWVudCwgZW5jb2Rpbmc9Tm9uZSwgbWV0aG9kPU5vbmUsICosCisgICAgICAgICAgICAgc2hvcnRfZW1wdHlfZWxlbWVudHM9VHJ1ZSk6CisgICAgIiIiR2VuZXJhdGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIFhNTCBlbGVtZW50LgogCi1kZWYgdG9zdHJpbmcoZWxlbWVudCwgZW5jb2Rpbmc9Tm9uZSwgbWV0aG9kPU5vbmUpOgorICAgIEFsbCBzdWJlbGVtZW50cyBhcmUgaW5jbHVkZWQuICBJZiBlbmNvZGluZyBpcyAidW5pY29kZSIsIGEgc3RyaW5nCisgICAgaXMgcmV0dXJuZWQuIE90aGVyd2lzZSBhIGJ5dGVzdHJpbmcgaXMgcmV0dXJuZWQuCisKKyAgICAqZWxlbWVudCogaXMgYW4gRWxlbWVudCBpbnN0YW5jZSwgKmVuY29kaW5nKiBpcyBhbiBvcHRpb25hbCBvdXRwdXQKKyAgICBlbmNvZGluZyBkZWZhdWx0aW5nIHRvIFVTLUFTQ0lJLCAqbWV0aG9kKiBpcyBhbiBvcHRpb25hbCBvdXRwdXQgd2hpY2ggY2FuCisgICAgYmUgb25lIG9mICJ4bWwiIChkZWZhdWx0KSwgImh0bWwiLCAidGV4dCIgb3IgImMxNG4iLgorCisgICAgUmV0dXJucyBhbiAob3B0aW9uYWxseSkgZW5jb2RlZCBzdHJpbmcgY29udGFpbmluZyB0aGUgWE1MIGRhdGEuCisKKyAgICAiIiIKICAgICBzdHJlYW0gPSBpby5TdHJpbmdJTygpIGlmIGVuY29kaW5nID09ICd1bmljb2RlJyBlbHNlIGlvLkJ5dGVzSU8oKQotICAgIEVsZW1lbnRUcmVlKGVsZW1lbnQpLndyaXRlKHN0cmVhbSwgZW5jb2RpbmcsIG1ldGhvZD1tZXRob2QpCisgICAgRWxlbWVudFRyZWUoZWxlbWVudCkud3JpdGUoc3RyZWFtLCBlbmNvZGluZywgbWV0aG9kPW1ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9lbXB0eV9lbGVtZW50cz1zaG9ydF9lbXB0eV9lbGVtZW50cykKICAgICByZXR1cm4gc3RyZWFtLmdldHZhbHVlKCkKIAotIyMKLSMgR2VuZXJhdGVzIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIFhNTCBlbGVtZW50LCBpbmNsdWRpbmcgYWxsCi0jIHN1YmVsZW1lbnRzLgotIwotIyBAcGFyYW0gZWxlbWVudCBBbiBFbGVtZW50IGluc3RhbmNlLgotIyBAa2V5cGFyYW0gZW5jb2RpbmcgT3B0aW9uYWwgb3V0cHV0IGVuY29kaW5nIChkZWZhdWx0IGlzIFVTLUFTQ0lJKS4KLSMgICAgIFVzZSAidW5pY29kZSIgdG8gcmV0dXJuIGEgVW5pY29kZSBzdHJpbmcuCi0jIEBrZXlwYXJhbSBtZXRob2QgT3B0aW9uYWwgb3V0cHV0IG1ldGhvZCAoInhtbCIsICJodG1sIiwgInRleHQiIG9yCi0jICAgICAiYzE0biI7IGRlZmF1bHQgaXMgInhtbCIpLgotIyBAcmV0dXJuIEEgc2VxdWVuY2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIFhNTCBkYXRhLgotIyBAZGVmcmV0dXJuIHNlcXVlbmNlCi0jIEBzaW5jZSAxLjMKLQogY2xhc3MgX0xpc3REYXRhU3RyZWFtKGlvLkJ1ZmZlcmVkSU9CYXNlKToKLSAgICAiIiIgQW4gYXV4aWxpYXJ5IHN0cmVhbSBhY2N1bXVsYXRpbmcgaW50byBhIGxpc3QgcmVmZXJlbmNlCi0gICAgIiIiCisgICAgIiIiQW4gYXV4aWxpYXJ5IHN0cmVhbSBhY2N1bXVsYXRpbmcgaW50byBhIGxpc3QgcmVmZXJlbmNlLiIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsc3QpOgogICAgICAgICBzZWxmLmxzdCA9IGxzdAogCkBAIC0xMjAyLDIyICsxMTUxLDI1IEBACiAgICAgZGVmIHRlbGwoc2VsZik6CiAgICAgICAgIHJldHVybiBsZW4oc2VsZi5sc3QpCiAKLWRlZiB0b3N0cmluZ2xpc3QoZWxlbWVudCwgZW5jb2Rpbmc9Tm9uZSwgbWV0aG9kPU5vbmUpOgorZGVmIHRvc3RyaW5nbGlzdChlbGVtZW50LCBlbmNvZGluZz1Ob25lLCBtZXRob2Q9Tm9uZSwgKiwKKyAgICAgICAgICAgICAgICAgc2hvcnRfZW1wdHlfZWxlbWVudHM9VHJ1ZSk6CiAgICAgbHN0ID0gW10KICAgICBzdHJlYW0gPSBfTGlzdERhdGFTdHJlYW0obHN0KQotICAgIEVsZW1lbnRUcmVlKGVsZW1lbnQpLndyaXRlKHN0cmVhbSwgZW5jb2RpbmcsIG1ldGhvZD1tZXRob2QpCisgICAgRWxlbWVudFRyZWUoZWxlbWVudCkud3JpdGUoc3RyZWFtLCBlbmNvZGluZywgbWV0aG9kPW1ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9lbXB0eV9lbGVtZW50cz1zaG9ydF9lbXB0eV9lbGVtZW50cykKICAgICByZXR1cm4gbHN0CiAKLSMjCi0jIFdyaXRlcyBhbiBlbGVtZW50IHRyZWUgb3IgZWxlbWVudCBzdHJ1Y3R1cmUgdG8gc3lzLnN0ZG91dC4gIFRoaXMKLSMgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgZm9yIGRlYnVnZ2luZyBvbmx5LgotIyA8cD4KLSMgVGhlIGV4YWN0IG91dHB1dCBmb3JtYXQgaXMgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LiAgSW4gdGhpcwotIyB2ZXJzaW9uLCBpdCdzIHdyaXR0ZW4gYXMgYW4gb3JkaW5hcnkgWE1MIGZpbGUuCi0jCi0jIEBwYXJhbSBlbGVtIEFuIGVsZW1lbnQgdHJlZSBvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnQuCiAKIGRlZiBkdW1wKGVsZW0pOgorICAgICIiIldyaXRlIGVsZW1lbnQgdHJlZSBvciBlbGVtZW50IHN0cnVjdHVyZSB0byBzeXMuc3Rkb3V0LgorCisgICAgVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBmb3IgZGVidWdnaW5nIG9ubHkuCisKKyAgICAqZWxlbSogaXMgZWl0aGVyIGFuIEVsZW1lbnRUcmVlLCBvciBhIHNpbmdsZSBFbGVtZW50LiAgVGhlIGV4YWN0IG91dHB1dAorICAgIGZvcm1hdCBpcyBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQuICBJbiB0aGlzIHZlcnNpb24sIGl0J3Mgd3JpdHRlbiBhcyBhbgorICAgIG9yZGluYXJ5IFhNTCBmaWxlLgorCisgICAgIiIiCiAgICAgIyBkZWJ1Z2dpbmcKICAgICBpZiBub3QgaXNpbnN0YW5jZShlbGVtLCBFbGVtZW50VHJlZSk6CiAgICAgICAgIGVsZW0gPSBFbGVtZW50VHJlZShlbGVtKQpAQCAtMTIyOSwxNDQgKzExODEsMTUxIEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIHBhcnNpbmcKIAotIyMKLSMgUGFyc2VzIGFuIFhNTCBkb2N1bWVudCBpbnRvIGFuIGVsZW1lbnQgdHJlZS4KLSMKLSMgQHBhcmFtIHNvdXJjZSBBIGZpbGVuYW1lIG9yIGZpbGUgb2JqZWN0IGNvbnRhaW5pbmcgWE1MIGRhdGEuCi0jIEBwYXJhbSBwYXJzZXIgQW4gb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLiAgSWYgbm90IGdpdmVuLCB0aGUKLSMgICAgIHN0YW5kYXJkIHtAbGluayBYTUxQYXJzZXJ9IHBhcnNlciBpcyB1c2VkLgotIyBAcmV0dXJuIEFuIEVsZW1lbnRUcmVlIGluc3RhbmNlCiAKIGRlZiBwYXJzZShzb3VyY2UsIHBhcnNlcj1Ob25lKToKKyAgICAiIiJQYXJzZSBYTUwgZG9jdW1lbnQgaW50byBlbGVtZW50IHRyZWUuCisKKyAgICAqc291cmNlKiBpcyBhIGZpbGVuYW1lIG9yIGZpbGUgb2JqZWN0IGNvbnRhaW5pbmcgWE1MIGRhdGEsCisgICAgKnBhcnNlciogaXMgYW4gb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlIGRlZmF1bHRpbmcgdG8gWE1MUGFyc2VyLgorCisgICAgUmV0dXJuIGFuIEVsZW1lbnRUcmVlIGluc3RhbmNlLgorCisgICAgIiIiCiAgICAgdHJlZSA9IEVsZW1lbnRUcmVlKCkKICAgICB0cmVlLnBhcnNlKHNvdXJjZSwgcGFyc2VyKQogICAgIHJldHVybiB0cmVlCiAKLSMjCi0jIFBhcnNlcyBhbiBYTUwgZG9jdW1lbnQgaW50byBhbiBlbGVtZW50IHRyZWUgaW5jcmVtZW50YWxseSwgYW5kIHJlcG9ydHMKLSMgd2hhdCdzIGdvaW5nIG9uIHRvIHRoZSB1c2VyLgotIwotIyBAcGFyYW0gc291cmNlIEEgZmlsZW5hbWUgb3IgZmlsZSBvYmplY3QgY29udGFpbmluZyBYTUwgZGF0YS4KLSMgQHBhcmFtIGV2ZW50cyBBIGxpc3Qgb2YgZXZlbnRzIHRvIHJlcG9ydCBiYWNrLiAgSWYgb21pdHRlZCwgb25seSAiZW5kIgotIyAgICAgZXZlbnRzIGFyZSByZXBvcnRlZC4KLSMgQHBhcmFtIHBhcnNlciBBbiBvcHRpb25hbCBwYXJzZXIgaW5zdGFuY2UuICBJZiBub3QgZ2l2ZW4sIHRoZQotIyAgICAgc3RhbmRhcmQge0BsaW5rIFhNTFBhcnNlcn0gcGFyc2VyIGlzIHVzZWQuCi0jIEByZXR1cm4gQSAoZXZlbnQsIGVsZW0pIGl0ZXJhdG9yLgogCiBkZWYgaXRlcnBhcnNlKHNvdXJjZSwgZXZlbnRzPU5vbmUsIHBhcnNlcj1Ob25lKToKKyAgICAiIiJJbmNyZW1lbnRhbGx5IHBhcnNlIFhNTCBkb2N1bWVudCBpbnRvIEVsZW1lbnRUcmVlLgorCisgICAgVGhpcyBjbGFzcyBhbHNvIHJlcG9ydHMgd2hhdCdzIGdvaW5nIG9uIHRvIHRoZSB1c2VyIGJhc2VkIG9uIHRoZQorICAgICpldmVudHMqIGl0IGlzIGluaXRpYWxpemVkIHdpdGguICBUaGUgc3VwcG9ydGVkIGV2ZW50cyBhcmUgdGhlIHN0cmluZ3MKKyAgICAic3RhcnQiLCAiZW5kIiwgInN0YXJ0LW5zIiBhbmQgImVuZC1ucyIgKHRoZSAibnMiIGV2ZW50cyBhcmUgdXNlZCB0byBnZXQKKyAgICBkZXRhaWxlZCBuYW1lc3BhY2UgaW5mb3JtYXRpb24pLiAgSWYgKmV2ZW50cyogaXMgb21pdHRlZCwgb25seQorICAgICJlbmQiIGV2ZW50cyBhcmUgcmVwb3J0ZWQuCisKKyAgICAqc291cmNlKiBpcyBhIGZpbGVuYW1lIG9yIGZpbGUgb2JqZWN0IGNvbnRhaW5pbmcgWE1MIGRhdGEsICpldmVudHMqIGlzCisgICAgYSBsaXN0IG9mIGV2ZW50cyB0byByZXBvcnQgYmFjaywgKnBhcnNlciogaXMgYW4gb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLgorCisgICAgUmV0dXJucyBhbiBpdGVyYXRvciBwcm92aWRpbmcgKGV2ZW50LCBlbGVtKSBwYWlycy4KKworICAgICIiIgogICAgIGNsb3NlX3NvdXJjZSA9IEZhbHNlCiAgICAgaWYgbm90IGhhc2F0dHIoc291cmNlLCAicmVhZCIpOgogICAgICAgICBzb3VyY2UgPSBvcGVuKHNvdXJjZSwgInJiIikKICAgICAgICAgY2xvc2Vfc291cmNlID0gVHJ1ZQotICAgIGlmIG5vdCBwYXJzZXI6Ci0gICAgICAgIHBhcnNlciA9IFhNTFBhcnNlcih0YXJnZXQ9VHJlZUJ1aWxkZXIoKSkKICAgICByZXR1cm4gX0l0ZXJQYXJzZUl0ZXJhdG9yKHNvdXJjZSwgZXZlbnRzLCBwYXJzZXIsIGNsb3NlX3NvdXJjZSkKIAotY2xhc3MgX0l0ZXJQYXJzZUl0ZXJhdG9yOgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZSwgZXZlbnRzLCBwYXJzZXIsIGNsb3NlX3NvdXJjZT1GYWxzZSk6Ci0gICAgICAgIHNlbGYuX2ZpbGUgPSBzb3VyY2UKLSAgICAgICAgc2VsZi5fY2xvc2VfZmlsZSA9IGNsb3NlX3NvdXJjZQotICAgICAgICBzZWxmLl9ldmVudHMgPSBbXQorY2xhc3MgSW5jcmVtZW50YWxQYXJzZXI6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZXZlbnRzPU5vbmUsIHBhcnNlcj1Ob25lKToKKyAgICAgICAgIyBfZWxlbWVudHRyZWUuYyBleHBlY3RzIGEgbGlzdCwgbm90IGEgZGVxdWUKKyAgICAgICAgc2VsZi5fZXZlbnRzX3F1ZXVlID0gW10KICAgICAgICAgc2VsZi5faW5kZXggPSAwCi0gICAgICAgIHNlbGYuX2Vycm9yID0gTm9uZQogICAgICAgICBzZWxmLnJvb3QgPSBzZWxmLl9yb290ID0gTm9uZQorICAgICAgICBpZiBub3QgcGFyc2VyOgorICAgICAgICAgICAgcGFyc2VyID0gWE1MUGFyc2VyKHRhcmdldD1UcmVlQnVpbGRlcigpKQogICAgICAgICBzZWxmLl9wYXJzZXIgPSBwYXJzZXIKICAgICAgICAgIyB3aXJlIHVwIHRoZSBwYXJzZXIgZm9yIGV2ZW50IHJlcG9ydGluZwotICAgICAgICBwYXJzZXIgPSBzZWxmLl9wYXJzZXIuX3BhcnNlcgotICAgICAgICBhcHBlbmQgPSBzZWxmLl9ldmVudHMuYXBwZW5kCiAgICAgICAgIGlmIGV2ZW50cyBpcyBOb25lOgotICAgICAgICAgICAgZXZlbnRzID0gWyJlbmQiXQotICAgICAgICBmb3IgZXZlbnQgaW4gZXZlbnRzOgotICAgICAgICAgICAgaWYgZXZlbnQgPT0gInN0YXJ0IjoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHBhcnNlci5vcmRlcmVkX2F0dHJpYnV0ZXMgPSAxCi0gICAgICAgICAgICAgICAgICAgIHBhcnNlci5zcGVjaWZpZWRfYXR0cmlidXRlcyA9IDEKLSAgICAgICAgICAgICAgICAgICAgZGVmIGhhbmRsZXIodGFnLCBhdHRyaWJfaW4sIGV2ZW50PWV2ZW50LCBhcHBlbmQ9YXBwZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1zZWxmLl9wYXJzZXIuX3N0YXJ0X2xpc3QpOgotICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kKChldmVudCwgc3RhcnQodGFnLCBhdHRyaWJfaW4pKSkKLSAgICAgICAgICAgICAgICAgICAgcGFyc2VyLlN0YXJ0RWxlbWVudEhhbmRsZXIgPSBoYW5kbGVyCi0gICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgICAgICBkZWYgaGFuZGxlcih0YWcsIGF0dHJpYl9pbiwgZXZlbnQ9ZXZlbnQsIGFwcGVuZD1hcHBlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0PXNlbGYuX3BhcnNlci5fc3RhcnQpOgotICAgICAgICAgICAgICAgICAgICAgICAgYXBwZW5kKChldmVudCwgc3RhcnQodGFnLCBhdHRyaWJfaW4pKSkKLSAgICAgICAgICAgICAgICAgICAgcGFyc2VyLlN0YXJ0RWxlbWVudEhhbmRsZXIgPSBoYW5kbGVyCi0gICAgICAgICAgICBlbGlmIGV2ZW50ID09ICJlbmQiOgotICAgICAgICAgICAgICAgIGRlZiBoYW5kbGVyKHRhZywgZXZlbnQ9ZXZlbnQsIGFwcGVuZD1hcHBlbmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kPXNlbGYuX3BhcnNlci5fZW5kKToKLSAgICAgICAgICAgICAgICAgICAgYXBwZW5kKChldmVudCwgZW5kKHRhZykpKQotICAgICAgICAgICAgICAgIHBhcnNlci5FbmRFbGVtZW50SGFuZGxlciA9IGhhbmRsZXIKLSAgICAgICAgICAgIGVsaWYgZXZlbnQgPT0gInN0YXJ0LW5zIjoKLSAgICAgICAgICAgICAgICBkZWYgaGFuZGxlcihwcmVmaXgsIHVyaSwgZXZlbnQ9ZXZlbnQsIGFwcGVuZD1hcHBlbmQpOgotICAgICAgICAgICAgICAgICAgICBhcHBlbmQoKGV2ZW50LCAocHJlZml4IG9yICIiLCB1cmkgb3IgIiIpKSkKLSAgICAgICAgICAgICAgICBwYXJzZXIuU3RhcnROYW1lc3BhY2VEZWNsSGFuZGxlciA9IGhhbmRsZXIKLSAgICAgICAgICAgIGVsaWYgZXZlbnQgPT0gImVuZC1ucyI6Ci0gICAgICAgICAgICAgICAgZGVmIGhhbmRsZXIocHJlZml4LCBldmVudD1ldmVudCwgYXBwZW5kPWFwcGVuZCk6Ci0gICAgICAgICAgICAgICAgICAgIGFwcGVuZCgoZXZlbnQsIE5vbmUpKQotICAgICAgICAgICAgICAgIHBhcnNlci5FbmROYW1lc3BhY2VEZWNsSGFuZGxlciA9IGhhbmRsZXIKKyAgICAgICAgICAgIGV2ZW50cyA9ICgiZW5kIiwpCisgICAgICAgIHNlbGYuX3BhcnNlci5fc2V0ZXZlbnRzKHNlbGYuX2V2ZW50c19xdWV1ZSwgZXZlbnRzKQorCisgICAgZGVmIGRhdGFfcmVjZWl2ZWQoc2VsZiwgZGF0YSk6CisgICAgICAgIGlmIHNlbGYuX3BhcnNlciBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiZGF0YV9yZWNlaXZlZCgpIGNhbGxlZCBhZnRlciBlbmQgb2Ygc3RyZWFtIikKKyAgICAgICAgaWYgZGF0YToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZXIuZmVlZChkYXRhKQorICAgICAgICAgICAgZXhjZXB0IFN5bnRheEVycm9yIGFzIGV4YzoKKyAgICAgICAgICAgICAgICBzZWxmLl9ldmVudHNfcXVldWUuYXBwZW5kKGV4YykKKworICAgIGRlZiBlb2ZfcmVjZWl2ZWQoc2VsZik6CisgICAgICAgIHNlbGYuX3Jvb3QgPSBzZWxmLl9wYXJzZXIuY2xvc2UoKQorICAgICAgICBzZWxmLl9wYXJzZXIgPSBOb25lCisgICAgICAgIGlmIHNlbGYuX2luZGV4ID49IGxlbihzZWxmLl9ldmVudHNfcXVldWUpOgorICAgICAgICAgICAgc2VsZi5yb290ID0gc2VsZi5fcm9vdAorCisgICAgZGVmIGV2ZW50cyhzZWxmKToKKyAgICAgICAgZXZlbnRzID0gc2VsZi5fZXZlbnRzX3F1ZXVlCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBpbmRleCA9IHNlbGYuX2luZGV4CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZXZlbnQgPSBldmVudHNbc2VsZi5faW5kZXhdCisgICAgICAgICAgICAgICAgIyBBdm9pZCByZXRhaW5pbmcgcmVmZXJlbmNlcyB0byBwYXN0IGV2ZW50cworICAgICAgICAgICAgICAgIGV2ZW50c1tzZWxmLl9pbmRleF0gPSBOb25lCisgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgaW5kZXggKz0gMQorICAgICAgICAgICAgIyBDb21wYWN0IHRoZSBsaXN0IGluIGEgTygxKSBhbW9ydGl6ZWQgZmFzaGlvbgorICAgICAgICAgICAgaWYgaW5kZXggKiAyID49IGxlbihldmVudHMpOgorICAgICAgICAgICAgICAgIGV2ZW50c1s6aW5kZXhdID0gW10KKyAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCA9IDAKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigidW5rbm93biBldmVudCAlciIgJSBldmVudCkKKyAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCA9IGluZGV4CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGV2ZW50LCBFeGNlcHRpb24pOgorICAgICAgICAgICAgICAgIHJhaXNlIGV2ZW50CisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHlpZWxkIGV2ZW50CisgICAgICAgIGlmIHNlbGYuX3BhcnNlciBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5yb290ID0gc2VsZi5fcm9vdAorCisKK2NsYXNzIF9JdGVyUGFyc2VJdGVyYXRvcihJbmNyZW1lbnRhbFBhcnNlcik6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc291cmNlLCBldmVudHMsIHBhcnNlciwgY2xvc2Vfc291cmNlPUZhbHNlKToKKyAgICAgICAgSW5jcmVtZW50YWxQYXJzZXIuX19pbml0X18oc2VsZiwgZXZlbnRzLCBwYXJzZXIpCisgICAgICAgIHNlbGYuX2ZpbGUgPSBzb3VyY2UKKyAgICAgICAgc2VsZi5fY2xvc2VfZmlsZSA9IGNsb3NlX3NvdXJjZQogCiAgICAgZGVmIF9fbmV4dF9fKHNlbGYpOgogICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGl0ZW0gPSBzZWxmLl9ldmVudHNbc2VsZi5faW5kZXhdCi0gICAgICAgICAgICAgICAgc2VsZi5faW5kZXggKz0gMQotICAgICAgICAgICAgICAgIHJldHVybiBpdGVtCi0gICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgICAgICBpZiBzZWxmLl9lcnJvcjoKLSAgICAgICAgICAgICAgICBlID0gc2VsZi5fZXJyb3IKLSAgICAgICAgICAgICAgICBzZWxmLl9lcnJvciA9IE5vbmUKLSAgICAgICAgICAgICAgICByYWlzZSBlCisgICAgICAgICAgICBmb3IgZXZlbnQgaW4gc2VsZi5ldmVudHMoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQKICAgICAgICAgICAgIGlmIHNlbGYuX3BhcnNlciBpcyBOb25lOgotICAgICAgICAgICAgICAgIHNlbGYucm9vdCA9IHNlbGYuX3Jvb3QKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9jbG9zZV9maWxlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlLmNsb3NlKCkKICAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCiAgICAgICAgICAgICAjIGxvYWQgZXZlbnQgYnVmZmVyCi0gICAgICAgICAgICBkZWwgc2VsZi5fZXZlbnRzWzpdCi0gICAgICAgICAgICBzZWxmLl9pbmRleCA9IDAKICAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9maWxlLnJlYWQoMTYzODQpCiAgICAgICAgICAgICBpZiBkYXRhOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fcGFyc2VyLmZlZWQoZGF0YSkKLSAgICAgICAgICAgICAgICBleGNlcHQgU3ludGF4RXJyb3IgYXMgZXhjOgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9lcnJvciA9IGV4YworICAgICAgICAgICAgICAgIHNlbGYuZGF0YV9yZWNlaXZlZChkYXRhKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLl9yb290ID0gc2VsZi5fcGFyc2VyLmNsb3NlKCkKLSAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZXIgPSBOb25lCisgICAgICAgICAgICAgICAgc2VsZi5lb2ZfcmVjZWl2ZWQoKQogCiAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZgogCi0jIwotIyBQYXJzZXMgYW4gWE1MIGRvY3VtZW50IGZyb20gYSBzdHJpbmcgY29uc3RhbnQuICBUaGlzIGZ1bmN0aW9uIGNhbgotIyBiZSB1c2VkIHRvIGVtYmVkICJYTUwgbGl0ZXJhbHMiIGluIFB5dGhvbiBjb2RlLgotIwotIyBAcGFyYW0gc291cmNlIEEgc3RyaW5nIGNvbnRhaW5pbmcgWE1MIGRhdGEuCi0jIEBwYXJhbSBwYXJzZXIgQW4gb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLiAgSWYgbm90IGdpdmVuLCB0aGUKLSMgICAgIHN0YW5kYXJkIHtAbGluayBYTUxQYXJzZXJ9IHBhcnNlciBpcyB1c2VkLgotIyBAcmV0dXJuIEFuIEVsZW1lbnQgaW5zdGFuY2UuCi0jIEBkZWZyZXR1cm4gRWxlbWVudAogCiBkZWYgWE1MKHRleHQsIHBhcnNlcj1Ob25lKToKKyAgICAiIiJQYXJzZSBYTUwgZG9jdW1lbnQgZnJvbSBzdHJpbmcgY29uc3RhbnQuCisKKyAgICBUaGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIGVtYmVkICJYTUwgTGl0ZXJhbHMiIGluIFB5dGhvbiBjb2RlLgorCisgICAgKnRleHQqIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgWE1MIGRhdGEsICpwYXJzZXIqIGlzIGFuCisgICAgb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLCBkZWZhdWx0aW5nIHRvIHRoZSBzdGFuZGFyZCBYTUxQYXJzZXIuCisKKyAgICBSZXR1cm5zIGFuIEVsZW1lbnQgaW5zdGFuY2UuCisKKyAgICAiIiIKICAgICBpZiBub3QgcGFyc2VyOgogICAgICAgICBwYXJzZXIgPSBYTUxQYXJzZXIodGFyZ2V0PVRyZWVCdWlsZGVyKCkpCiAgICAgcGFyc2VyLmZlZWQodGV4dCkKICAgICByZXR1cm4gcGFyc2VyLmNsb3NlKCkKIAotIyMKLSMgUGFyc2VzIGFuIFhNTCBkb2N1bWVudCBmcm9tIGEgc3RyaW5nIGNvbnN0YW50LCBhbmQgYWxzbyByZXR1cm5zCi0jIGEgZGljdGlvbmFyeSB3aGljaCBtYXBzIGZyb20gZWxlbWVudCBpZDpzIHRvIGVsZW1lbnRzLgotIwotIyBAcGFyYW0gc291cmNlIEEgc3RyaW5nIGNvbnRhaW5pbmcgWE1MIGRhdGEuCi0jIEBwYXJhbSBwYXJzZXIgQW4gb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLiAgSWYgbm90IGdpdmVuLCB0aGUKLSMgICAgIHN0YW5kYXJkIHtAbGluayBYTUxQYXJzZXJ9IHBhcnNlciBpcyB1c2VkLgotIyBAcmV0dXJuIEEgdHVwbGUgY29udGFpbmluZyBhbiBFbGVtZW50IGluc3RhbmNlIGFuZCBhIGRpY3Rpb25hcnkuCi0jIEBkZWZyZXR1cm4gKEVsZW1lbnQsIGRpY3Rpb25hcnkpCiAKIGRlZiBYTUxJRCh0ZXh0LCBwYXJzZXI9Tm9uZSk6CisgICAgIiIiUGFyc2UgWE1MIGRvY3VtZW50IGZyb20gc3RyaW5nIGNvbnN0YW50IGZvciBpdHMgSURzLgorCisgICAgKnRleHQqIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgWE1MIGRhdGEsICpwYXJzZXIqIGlzIGFuCisgICAgb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLCBkZWZhdWx0aW5nIHRvIHRoZSBzdGFuZGFyZCBYTUxQYXJzZXIuCisKKyAgICBSZXR1cm5zIGFuIChFbGVtZW50LCBkaWN0KSB0dXBsZSwgaW4gd2hpY2ggdGhlCisgICAgZGljdCBtYXBzIGVsZW1lbnQgaWQ6cyB0byBlbGVtZW50cy4KKworICAgICIiIgogICAgIGlmIG5vdCBwYXJzZXI6CiAgICAgICAgIHBhcnNlciA9IFhNTFBhcnNlcih0YXJnZXQ9VHJlZUJ1aWxkZXIoKSkKICAgICBwYXJzZXIuZmVlZCh0ZXh0KQpAQCAtMTM3OCwyNyArMTMzNywxOCBAQAogICAgICAgICAgICAgaWRzW2lkXSA9IGVsZW0KICAgICByZXR1cm4gdHJlZSwgaWRzCiAKLSMjCi0jIFBhcnNlcyBhbiBYTUwgZG9jdW1lbnQgZnJvbSBhIHN0cmluZyBjb25zdGFudC4gIFNhbWUgYXMge0BsaW5rICNYTUx9LgotIwotIyBAZGVmIGZyb21zdHJpbmcodGV4dCkKLSMgQHBhcmFtIHNvdXJjZSBBIHN0cmluZyBjb250YWluaW5nIFhNTCBkYXRhLgotIyBAcmV0dXJuIEFuIEVsZW1lbnQgaW5zdGFuY2UuCi0jIEBkZWZyZXR1cm4gRWxlbWVudAotCisjIFBhcnNlIFhNTCBkb2N1bWVudCBmcm9tIHN0cmluZyBjb25zdGFudC4gIEFsaWFzIGZvciBYTUwoKS4KIGZyb21zdHJpbmcgPSBYTUwKIAotIyMKLSMgUGFyc2VzIGFuIFhNTCBkb2N1bWVudCBmcm9tIGEgc2VxdWVuY2Ugb2Ygc3RyaW5nIGZyYWdtZW50cy4KLSMKLSMgQHBhcmFtIHNlcXVlbmNlIEEgbGlzdCBvciBvdGhlciBzZXF1ZW5jZSBjb250YWluaW5nIFhNTCBkYXRhIGZyYWdtZW50cy4KLSMgQHBhcmFtIHBhcnNlciBBbiBvcHRpb25hbCBwYXJzZXIgaW5zdGFuY2UuICBJZiBub3QgZ2l2ZW4sIHRoZQotIyAgICAgc3RhbmRhcmQge0BsaW5rIFhNTFBhcnNlcn0gcGFyc2VyIGlzIHVzZWQuCi0jIEByZXR1cm4gQW4gRWxlbWVudCBpbnN0YW5jZS4KLSMgQGRlZnJldHVybiBFbGVtZW50Ci0jIEBzaW5jZSAxLjMKLQogZGVmIGZyb21zdHJpbmdsaXN0KHNlcXVlbmNlLCBwYXJzZXI9Tm9uZSk6CisgICAgIiIiUGFyc2UgWE1MIGRvY3VtZW50IGZyb20gc2VxdWVuY2Ugb2Ygc3RyaW5nIGZyYWdtZW50cy4KKworICAgICpzZXF1ZW5jZSogaXMgYSBsaXN0IG9mIG90aGVyIHNlcXVlbmNlLCAqcGFyc2VyKiBpcyBhbiBvcHRpb25hbCBwYXJzZXIKKyAgICBpbnN0YW5jZSwgZGVmYXVsdGluZyB0byB0aGUgc3RhbmRhcmQgWE1MUGFyc2VyLgorCisgICAgUmV0dXJucyBhbiBFbGVtZW50IGluc3RhbmNlLgorCisgICAgIiIiCiAgICAgaWYgbm90IHBhcnNlcjoKICAgICAgICAgcGFyc2VyID0gWE1MUGFyc2VyKHRhcmdldD1UcmVlQnVpbGRlcigpKQogICAgIGZvciB0ZXh0IGluIHNlcXVlbmNlOgpAQCAtMTQwNywxOSArMTM1NywyMCBAQAogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLSMjCi0jIEdlbmVyaWMgZWxlbWVudCBzdHJ1Y3R1cmUgYnVpbGRlci4gIFRoaXMgYnVpbGRlciBjb252ZXJ0cyBhIHNlcXVlbmNlCi0jIG9mIHtAbGluayAjVHJlZUJ1aWxkZXIuc3RhcnR9LCB7QGxpbmsgI1RyZWVCdWlsZGVyLmRhdGF9LCBhbmQge0BsaW5rCi0jICNUcmVlQnVpbGRlci5lbmR9IG1ldGhvZCBjYWxscyB0byBhIHdlbGwtZm9ybWVkIGVsZW1lbnQgc3RydWN0dXJlLgotIyA8cD4KLSMgWW91IGNhbiB1c2UgdGhpcyBjbGFzcyB0byBidWlsZCBhbiBlbGVtZW50IHN0cnVjdHVyZSB1c2luZyBhIGN1c3RvbSBYTUwKLSMgcGFyc2VyLCBvciBhIHBhcnNlciBmb3Igc29tZSBvdGhlciBYTUwtbGlrZSBmb3JtYXQuCi0jCi0jIEBwYXJhbSBlbGVtZW50X2ZhY3RvcnkgT3B0aW9uYWwgZWxlbWVudCBmYWN0b3J5LiAgVGhpcyBmYWN0b3J5Ci0jICAgIGlzIGNhbGxlZCB0byBjcmVhdGUgbmV3IEVsZW1lbnQgaW5zdGFuY2VzLCBhcyBuZWNlc3NhcnkuCiAKIGNsYXNzIFRyZWVCdWlsZGVyOgorICAgICIiIkdlbmVyaWMgZWxlbWVudCBzdHJ1Y3R1cmUgYnVpbGRlci4KIAorICAgIFRoaXMgYnVpbGRlciBjb252ZXJ0cyBhIHNlcXVlbmNlIG9mIHN0YXJ0LCBkYXRhLCBhbmQgZW5kIG1ldGhvZAorICAgIGNhbGxzIHRvIGEgd2VsbC1mb3JtZWQgZWxlbWVudCBzdHJ1Y3R1cmUuCisKKyAgICBZb3UgY2FuIHVzZSB0aGlzIGNsYXNzIHRvIGJ1aWxkIGFuIGVsZW1lbnQgc3RydWN0dXJlIHVzaW5nIGEgY3VzdG9tIFhNTAorICAgIHBhcnNlciwgb3IgYSBwYXJzZXIgZm9yIHNvbWUgb3RoZXIgWE1MLWxpa2UgZm9ybWF0LgorCisgICAgKmVsZW1lbnRfZmFjdG9yeSogaXMgYW4gb3B0aW9uYWwgZWxlbWVudCBmYWN0b3J5IHdoaWNoIGlzIGNhbGxlZAorICAgIHRvIGNyZWF0ZSBuZXcgRWxlbWVudCBpbnN0YW5jZXMsIGFzIG5lY2Vzc2FyeS4KKworICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlbGVtZW50X2ZhY3Rvcnk9Tm9uZSk6CiAgICAgICAgIHNlbGYuX2RhdGEgPSBbXSAjIGRhdGEgY29sbGVjdG9yCiAgICAgICAgIHNlbGYuX2VsZW0gPSBbXSAjIGVsZW1lbnQgc3RhY2sKQEAgLTE0MjksMTQgKzEzODAsOCBAQAogICAgICAgICAgICAgZWxlbWVudF9mYWN0b3J5ID0gRWxlbWVudAogICAgICAgICBzZWxmLl9mYWN0b3J5ID0gZWxlbWVudF9mYWN0b3J5CiAKLSAgICAjIwotICAgICMgRmx1c2hlcyB0aGUgYnVpbGRlciBidWZmZXJzLCBhbmQgcmV0dXJucyB0aGUgdG9wbGV2ZWwgZG9jdW1lbnQKLSAgICAjIGVsZW1lbnQuCi0gICAgIwotICAgICMgQHJldHVybiBBbiBFbGVtZW50IGluc3RhbmNlLgotICAgICMgQGRlZnJldHVybiBFbGVtZW50Ci0KICAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgICIiIkZsdXNoIGJ1aWxkZXIgYnVmZmVycyBhbmQgcmV0dXJuIHRvcGxldmVsIGRvY3VtZW50IEVsZW1lbnQuIiIiCiAgICAgICAgIGFzc2VydCBsZW4oc2VsZi5fZWxlbSkgPT0gMCwgIm1pc3NpbmcgZW5kIHRhZ3MiCiAgICAgICAgIGFzc2VydCBzZWxmLl9sYXN0IGlzIG5vdCBOb25lLCAibWlzc2luZyB0b3BsZXZlbCBlbGVtZW50IgogICAgICAgICByZXR1cm4gc2VsZi5fbGFzdApAQCAtMTQ1MywyNCArMTM5OCwxOSBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9sYXN0LnRleHQgPSB0ZXh0CiAgICAgICAgICAgICBzZWxmLl9kYXRhID0gW10KIAotICAgICMjCi0gICAgIyBBZGRzIHRleHQgdG8gdGhlIGN1cnJlbnQgZWxlbWVudC4KLSAgICAjCi0gICAgIyBAcGFyYW0gZGF0YSBBIHN0cmluZy4gIFRoaXMgc2hvdWxkIGJlIGVpdGhlciBhbiA4LWJpdCBzdHJpbmcKLSAgICAjICAgIGNvbnRhaW5pbmcgQVNDSUkgdGV4dCwgb3IgYSBVbmljb2RlIHN0cmluZy4KIAogICAgIGRlZiBkYXRhKHNlbGYsIGRhdGEpOgorICAgICAgICAiIiJBZGQgdGV4dCB0byBjdXJyZW50IGVsZW1lbnQuIiIiCiAgICAgICAgIHNlbGYuX2RhdGEuYXBwZW5kKGRhdGEpCiAKLSAgICAjIwotICAgICMgT3BlbnMgYSBuZXcgZWxlbWVudC4KLSAgICAjCi0gICAgIyBAcGFyYW0gdGFnIFRoZSBlbGVtZW50IG5hbWUuCi0gICAgIyBAcGFyYW0gYXR0cmliIEEgZGljdGlvbmFyeSBjb250YWluaW5nIGVsZW1lbnQgYXR0cmlidXRlcy4KLSAgICAjIEByZXR1cm4gVGhlIG9wZW5lZCBlbGVtZW50LgotICAgICMgQGRlZnJldHVybiBFbGVtZW50CiAKICAgICBkZWYgc3RhcnQoc2VsZiwgdGFnLCBhdHRycyk6CisgICAgICAgICIiIk9wZW4gbmV3IGVsZW1lbnQgYW5kIHJldHVybiBpdC4KKworICAgICAgICAqdGFnKiBpcyB0aGUgZWxlbWVudCBuYW1lLCAqYXR0cnMqIGlzIGEgZGljdCBjb250YWluaW5nIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlcy4KKworICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fZmx1c2goKQogICAgICAgICBzZWxmLl9sYXN0ID0gZWxlbSA9IHNlbGYuX2ZhY3RvcnkodGFnLCBhdHRycykKICAgICAgICAgaWYgc2VsZi5fZWxlbToKQEAgLTE0NzksMTQgKzE0MTksMTMgQEAKICAgICAgICAgc2VsZi5fdGFpbCA9IDAKICAgICAgICAgcmV0dXJuIGVsZW0KIAotICAgICMjCi0gICAgIyBDbG9zZXMgdGhlIGN1cnJlbnQgZWxlbWVudC4KLSAgICAjCi0gICAgIyBAcGFyYW0gdGFnIFRoZSBlbGVtZW50IG5hbWUuCi0gICAgIyBAcmV0dXJuIFRoZSBjbG9zZWQgZWxlbWVudC4KLSAgICAjIEBkZWZyZXR1cm4gRWxlbWVudAogCiAgICAgZGVmIGVuZChzZWxmLCB0YWcpOgorICAgICAgICAiIiJDbG9zZSBhbmQgcmV0dXJuIGN1cnJlbnQgRWxlbWVudC4KKworICAgICAgICAqdGFnKiBpcyB0aGUgZWxlbWVudCBuYW1lLgorCisgICAgICAgICIiIgogICAgICAgICBzZWxmLl9mbHVzaCgpCiAgICAgICAgIHNlbGYuX2xhc3QgPSBzZWxmLl9lbGVtLnBvcCgpCiAgICAgICAgIGFzc2VydCBzZWxmLl9sYXN0LnRhZyA9PSB0YWcsXApAQCAtMTQ5NSwyMCArMTQzNCwxOCBAQAogICAgICAgICBzZWxmLl90YWlsID0gMQogICAgICAgICByZXR1cm4gc2VsZi5fbGFzdAogCi0jIwotIyBFbGVtZW50IHN0cnVjdHVyZSBidWlsZGVyIGZvciBYTUwgc291cmNlIGRhdGEsIGJhc2VkIG9uIHRoZQotIyA8Yj5leHBhdDwvYj4gcGFyc2VyLgotIwotIyBAa2V5cGFyYW0gdGFyZ2V0IFRhcmdldCBvYmplY3QuICBJZiBvbWl0dGVkLCB0aGUgYnVpbGRlciB1c2VzIGFuCi0jICAgICBpbnN0YW5jZSBvZiB0aGUgc3RhbmRhcmQge0BsaW5rICNUcmVlQnVpbGRlcn0gY2xhc3MuCi0jIEBrZXlwYXJhbSBodG1sIFByZWRlZmluZSBIVE1MIGVudGl0aWVzLiAgVGhpcyBmbGFnIGlzIG5vdCBzdXBwb3J0ZWQKLSMgICAgIGJ5IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLgotIyBAa2V5cGFyYW0gZW5jb2RpbmcgT3B0aW9uYWwgZW5jb2RpbmcuICBJZiBnaXZlbiwgdGhlIHZhbHVlIG92ZXJyaWRlcwotIyAgICAgdGhlIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUgWE1MIGZpbGUuCi0jIEBzZWUgI0VsZW1lbnRUcmVlCi0jIEBzZWUgI1RyZWVCdWlsZGVyCiAKKyMgYWxzbyBzZWUgRWxlbWVudFRyZWUgYW5kIFRyZWVCdWlsZGVyCiBjbGFzcyBYTUxQYXJzZXI6CisgICAgIiIiRWxlbWVudCBzdHJ1Y3R1cmUgYnVpbGRlciBmb3IgWE1MIHNvdXJjZSBkYXRhIGJhc2VkIG9uIHRoZSBleHBhdCBwYXJzZXIuCisKKyAgICAqaHRtbCogYXJlIHByZWRlZmluZWQgSFRNTCBlbnRpdGllcyAobm90IHN1cHBvcnRlZCBjdXJyZW50bHkpLAorICAgICp0YXJnZXQqIGlzIGFuIG9wdGlvbmFsIHRhcmdldCBvYmplY3Qgd2hpY2ggZGVmYXVsdHMgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlCisgICAgc3RhbmRhcmQgVHJlZUJ1aWxkZXIgY2xhc3MsICplbmNvZGluZyogaXMgYW4gb3B0aW9uYWwgZW5jb2Rpbmcgc3RyaW5nCisgICAgd2hpY2ggaWYgZ2l2ZW4sIG92ZXJyaWRlcyB0aGUgZW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZSBYTUwgZmlsZToKKyAgICBodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL2NoYXJhY3Rlci1zZXRzCisKKyAgICAiIiIKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBodG1sPTAsIHRhcmdldD1Ob25lLCBlbmNvZGluZz1Ob25lKToKICAgICAgICAgdHJ5OgpAQCAtMTU2MSw2ICsxNDk4LDM0IEBACiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgIHBhc3MgIyB1bmtub3duCiAKKyAgICBkZWYgX3NldGV2ZW50cyhzZWxmLCBldmVudF9saXN0LCBldmVudHMpOgorICAgICAgICAjIEludGVybmFsIEFQSSBmb3IgSW5jcmVtZW50YWxQYXJzZXIKKyAgICAgICAgcGFyc2VyID0gc2VsZi5fcGFyc2VyCisgICAgICAgIGFwcGVuZCA9IGV2ZW50X2xpc3QuYXBwZW5kCisgICAgICAgIGZvciBldmVudCBpbiBldmVudHM6CisgICAgICAgICAgICBpZiBldmVudCA9PSAic3RhcnQiOgorICAgICAgICAgICAgICAgIHBhcnNlci5vcmRlcmVkX2F0dHJpYnV0ZXMgPSAxCisgICAgICAgICAgICAgICAgcGFyc2VyLnNwZWNpZmllZF9hdHRyaWJ1dGVzID0gMQorICAgICAgICAgICAgICAgIGRlZiBoYW5kbGVyKHRhZywgYXR0cmliX2luLCBldmVudD1ldmVudCwgYXBwZW5kPWFwcGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1zZWxmLl9zdGFydF9saXN0KToKKyAgICAgICAgICAgICAgICAgICAgYXBwZW5kKChldmVudCwgc3RhcnQodGFnLCBhdHRyaWJfaW4pKSkKKyAgICAgICAgICAgICAgICBwYXJzZXIuU3RhcnRFbGVtZW50SGFuZGxlciA9IGhhbmRsZXIKKyAgICAgICAgICAgIGVsaWYgZXZlbnQgPT0gImVuZCI6CisgICAgICAgICAgICAgICAgZGVmIGhhbmRsZXIodGFnLCBldmVudD1ldmVudCwgYXBwZW5kPWFwcGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ9c2VsZi5fZW5kKToKKyAgICAgICAgICAgICAgICAgICAgYXBwZW5kKChldmVudCwgZW5kKHRhZykpKQorICAgICAgICAgICAgICAgIHBhcnNlci5FbmRFbGVtZW50SGFuZGxlciA9IGhhbmRsZXIKKyAgICAgICAgICAgIGVsaWYgZXZlbnQgPT0gInN0YXJ0LW5zIjoKKyAgICAgICAgICAgICAgICBkZWYgaGFuZGxlcihwcmVmaXgsIHVyaSwgZXZlbnQ9ZXZlbnQsIGFwcGVuZD1hcHBlbmQpOgorICAgICAgICAgICAgICAgICAgICBhcHBlbmQoKGV2ZW50LCAocHJlZml4IG9yICIiLCB1cmkgb3IgIiIpKSkKKyAgICAgICAgICAgICAgICBwYXJzZXIuU3RhcnROYW1lc3BhY2VEZWNsSGFuZGxlciA9IGhhbmRsZXIKKyAgICAgICAgICAgIGVsaWYgZXZlbnQgPT0gImVuZC1ucyI6CisgICAgICAgICAgICAgICAgZGVmIGhhbmRsZXIocHJlZml4LCBldmVudD1ldmVudCwgYXBwZW5kPWFwcGVuZCk6CisgICAgICAgICAgICAgICAgICAgIGFwcGVuZCgoZXZlbnQsIE5vbmUpKQorICAgICAgICAgICAgICAgIHBhcnNlci5FbmROYW1lc3BhY2VEZWNsSGFuZGxlciA9IGhhbmRsZXIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigidW5rbm93biBldmVudCAlciIgJSBldmVudCkKKwogICAgIGRlZiBfcmFpc2VlcnJvcihzZWxmLCB2YWx1ZSk6CiAgICAgICAgIGVyciA9IFBhcnNlRXJyb3IodmFsdWUpCiAgICAgICAgIGVyci5jb2RlID0gdmFsdWUuY29kZQpAQCAtMTY1MCwxNSArMTYxNSwxMyBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmRvY3R5cGUobmFtZSwgcHViaWQsIHN5c3RlbVsxOi0xXSkKICAgICAgICAgICAgICAgICBzZWxmLl9kb2N0eXBlID0gTm9uZQogCi0gICAgIyMKLSAgICAjIChEZXByZWNhdGVkKSBIYW5kbGVzIGEgZG9jdHlwZSBkZWNsYXJhdGlvbi4KLSAgICAjCi0gICAgIyBAcGFyYW0gbmFtZSBEb2N0eXBlIG5hbWUuCi0gICAgIyBAcGFyYW0gcHViaWQgUHVibGljIGlkZW50aWZpZXIuCi0gICAgIyBAcGFyYW0gc3lzdGVtIFN5c3RlbSBpZGVudGlmaWVyLgotCiAgICAgZGVmIGRvY3R5cGUoc2VsZiwgbmFtZSwgcHViaWQsIHN5c3RlbSk6Ci0gICAgICAgICIiIlRoaXMgbWV0aG9kIG9mIFhNTFBhcnNlciBpcyBkZXByZWNhdGVkLiIiIgorICAgICAgICAiIiIoRGVwcmVjYXRlZCkgIEhhbmRsZSBkb2N0eXBlIGRlY2xhcmF0aW9uCisKKyAgICAgICAgKm5hbWUqIGlzIHRoZSBEb2N0eXBlIG5hbWUsICpwdWJpZCogaXMgdGhlIHB1YmxpYyBpZGVudGlmaWVyLAorICAgICAgICBhbmQgKnN5c3RlbSogaXMgdGhlIHN5c3RlbSBpZGVudGlmaWVyLgorCisgICAgICAgICIiIgogICAgICAgICB3YXJuaW5ncy53YXJuKAogICAgICAgICAgICAgIlRoaXMgbWV0aG9kIG9mIFhNTFBhcnNlciBpcyBkZXByZWNhdGVkLiAgRGVmaW5lIGRvY3R5cGUoKSAiCiAgICAgICAgICAgICAibWV0aG9kIG9uIHRoZSBUcmVlQnVpbGRlciB0YXJnZXQuIiwKQEAgLTE2NjgsMjQgKzE2MzEsMTUgQEAKICAgICAjIHNlbnRpbmVsLCBpZiBkb2N0eXBlIGlzIHJlZGVmaW5lZCBpbiBhIHN1YmNsYXNzCiAgICAgX19kb2N0eXBlID0gZG9jdHlwZQogCi0gICAgIyMKLSAgICAjIEZlZWRzIGRhdGEgdG8gdGhlIHBhcnNlci4KLSAgICAjCi0gICAgIyBAcGFyYW0gZGF0YSBFbmNvZGVkIGRhdGEuCi0KICAgICBkZWYgZmVlZChzZWxmLCBkYXRhKToKKyAgICAgICAgIiIiRmVlZCBlbmNvZGVkIGRhdGEgdG8gcGFyc2VyLiIiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnBhcnNlci5QYXJzZShkYXRhLCAwKQogICAgICAgICBleGNlcHQgc2VsZi5fZXJyb3IgYXMgdjoKICAgICAgICAgICAgIHNlbGYuX3JhaXNlZXJyb3IodikKIAotICAgICMjCi0gICAgIyBGaW5pc2hlcyBmZWVkaW5nIGRhdGEgdG8gdGhlIHBhcnNlci4KLSAgICAjCi0gICAgIyBAcmV0dXJuIEFuIGVsZW1lbnQgc3RydWN0dXJlLgotICAgICMgQGRlZnJldHVybiBFbGVtZW50Ci0KICAgICBkZWYgY2xvc2Uoc2VsZik6CisgICAgICAgICIiIkZpbmlzaCBmZWVkaW5nIGRhdGEgdG8gcGFyc2VyIGFuZCByZXR1cm4gZWxlbWVudCBzdHJ1Y3R1cmUuIiIiCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYucGFyc2VyLlBhcnNlKCIiLCAxKSAjIGVuZCBvZiBkYXRhCiAgICAgICAgIGV4Y2VwdCBzZWxmLl9lcnJvciBhcyB2OgpAQCAtMTcwOSwxMCArMTY2MywxMiBAQAogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIHBhc3MKIGVsc2U6Ci0gICAgIyBPdmVyd3JpdGUgJ0VsZW1lbnRUcmVlLnBhcnNlJyBhbmQgJ2l0ZXJwYXJzZScgdG8gdXNlIHRoZSBDIFhNTFBhcnNlcgorICAgICMgT3ZlcndyaXRlICdFbGVtZW50VHJlZS5wYXJzZScgdG8gdXNlIHRoZSBDIFhNTFBhcnNlcgogCiAgICAgY2xhc3MgRWxlbWVudFRyZWUoRWxlbWVudFRyZWUpOgorICAgICAgICBfX2RvY19fID0gRWxlbWVudFRyZWUuX19kb2NfXwogICAgICAgICBkZWYgcGFyc2Uoc2VsZiwgc291cmNlLCBwYXJzZXI9Tm9uZSk6CisgICAgICAgICAgICBfX2RvY19fID0gRWxlbWVudFRyZWUucGFyc2UuX19kb2NfXwogICAgICAgICAgICAgY2xvc2Vfc291cmNlID0gRmFsc2UKICAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNvdXJjZSwgJ3JlYWQnKToKICAgICAgICAgICAgICAgICBzb3VyY2UgPSBvcGVuKHNvdXJjZSwgJ3JiJykKQEAgLTE3MzMsNjcgKzE2ODksNiBAQAogICAgICAgICAgICAgICAgIGlmIGNsb3NlX3NvdXJjZToKICAgICAgICAgICAgICAgICAgICAgc291cmNlLmNsb3NlKCkKIAotICAgIGNsYXNzIGl0ZXJwYXJzZToKLSAgICAgICAgIiIiUGFyc2VzIGFuIFhNTCBzZWN0aW9uIGludG8gYW4gZWxlbWVudCB0cmVlIGluY3JlbWVudGFsbHkuCi0KLSAgICAgICAgUmVwb3J0cyB3aGF04oCZcyBnb2luZyBvbiB0byB0aGUgdXNlci4gJ3NvdXJjZScgaXMgYSBmaWxlbmFtZSBvciBmaWxlCi0gICAgICAgIG9iamVjdCBjb250YWluaW5nIFhNTCBkYXRhLiAnZXZlbnRzJyBpcyBhIGxpc3Qgb2YgZXZlbnRzIHRvIHJlcG9ydCBiYWNrLgotICAgICAgICBUaGUgc3VwcG9ydGVkIGV2ZW50cyBhcmUgdGhlIHN0cmluZ3MgInN0YXJ0IiwgImVuZCIsICJzdGFydC1ucyIgYW5kCi0gICAgICAgICJlbmQtbnMiICh0aGUgIm5zIiBldmVudHMgYXJlIHVzZWQgdG8gZ2V0IGRldGFpbGVkIG5hbWVzcGFjZQotICAgICAgICBpbmZvcm1hdGlvbikuIElmICdldmVudHMnIGlzIG9taXR0ZWQsIG9ubHkgImVuZCIgZXZlbnRzIGFyZSByZXBvcnRlZC4KLSAgICAgICAgJ3BhcnNlcicgaXMgYW4gb3B0aW9uYWwgcGFyc2VyIGluc3RhbmNlLiBJZiBub3QgZ2l2ZW4sIHRoZSBzdGFuZGFyZAotICAgICAgICBYTUxQYXJzZXIgcGFyc2VyIGlzIHVzZWQuIFJldHVybnMgYW4gaXRlcmF0b3IgcHJvdmlkaW5nCi0gICAgICAgIChldmVudCwgZWxlbSkgcGFpcnMuCi0gICAgICAgICIiIgotCi0gICAgICAgIHJvb3QgPSBOb25lCi0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlLCBldmVudHM9Tm9uZSwgcGFyc2VyPU5vbmUpOgotICAgICAgICAgICAgc2VsZi5fY2xvc2VfZmlsZSA9IEZhbHNlCi0gICAgICAgICAgICBpZiBub3QgaGFzYXR0cihmaWxlLCAncmVhZCcpOgotICAgICAgICAgICAgICAgIGZpbGUgPSBvcGVuKGZpbGUsICdyYicpCi0gICAgICAgICAgICAgICAgc2VsZi5fY2xvc2VfZmlsZSA9IFRydWUKLSAgICAgICAgICAgIHNlbGYuX2ZpbGUgPSBmaWxlCi0gICAgICAgICAgICBzZWxmLl9ldmVudHMgPSBbXQotICAgICAgICAgICAgc2VsZi5faW5kZXggPSAwCi0gICAgICAgICAgICBzZWxmLl9lcnJvciA9IE5vbmUKLSAgICAgICAgICAgIHNlbGYucm9vdCA9IHNlbGYuX3Jvb3QgPSBOb25lCi0gICAgICAgICAgICBpZiBwYXJzZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICBwYXJzZXIgPSBYTUxQYXJzZXIodGFyZ2V0PVRyZWVCdWlsZGVyKCkpCi0gICAgICAgICAgICBzZWxmLl9wYXJzZXIgPSBwYXJzZXIKLSAgICAgICAgICAgIHNlbGYuX3BhcnNlci5fc2V0ZXZlbnRzKHNlbGYuX2V2ZW50cywgZXZlbnRzKQotCi0gICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKLSAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBpdGVtID0gc2VsZi5fZXZlbnRzW3NlbGYuX2luZGV4XQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtCi0gICAgICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgICAgICBpZiBzZWxmLl9lcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgZSA9IHNlbGYuX2Vycm9yCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yID0gTm9uZQotICAgICAgICAgICAgICAgICAgICByYWlzZSBlCi0gICAgICAgICAgICAgICAgaWYgc2VsZi5fcGFyc2VyIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYucm9vdCA9IHNlbGYuX3Jvb3QKLSAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fY2xvc2VfZmlsZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGUuY2xvc2UoKQotICAgICAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCi0gICAgICAgICAgICAgICAgIyBsb2FkIGV2ZW50IGJ1ZmZlcgotICAgICAgICAgICAgICAgIGRlbCBzZWxmLl9ldmVudHNbOl0KLSAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCA9IDAKLSAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fZmlsZS5yZWFkKDE2Mzg0KQotICAgICAgICAgICAgICAgIGlmIGRhdGE6Ci0gICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnNlci5mZWVkKGRhdGEpCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBTeW50YXhFcnJvciBhcyBleGM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9lcnJvciA9IGV4YwotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jvb3QgPSBzZWxmLl9wYXJzZXIuY2xvc2UoKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZXIgPSBOb25lCi0KLSAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYKIAogIyBjb21wYXRpYmlsaXR5CiBYTUxUcmVlQnVpbGRlciA9IFhNTFBhcnNlcgpkaWZmIC0tZ2l0IGEvTGliL3htbHJwYy9jbGllbnQucHkgYi9MaWIveG1scnBjL2NsaWVudC5weQppbmRleCBkN2IyZGIzLi5mZjQyMjY1IDEwMDY0NAotLS0gYS9MaWIveG1scnBjL2NsaWVudC5weQorKysgYi9MaWIveG1scnBjL2NsaWVudC5weQpAQCAtMTA0NSw3ICsxMDQ1LDcgQEAKICAgICBnemYgPSBnemlwLkd6aXBGaWxlKG1vZGU9InJiIiwgZmlsZW9iaj1mKQogICAgIHRyeToKICAgICAgICAgZGVjb2RlZCA9IGd6Zi5yZWFkKCkKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiaW52YWxpZCBkYXRhIikKICAgICBmLmNsb3NlKCkKICAgICBnemYuY2xvc2UoKQpAQCAtMTEzMCw4ICsxMTMwLDkgQEAKICAgICAgICAgZm9yIGkgaW4gKDAsIDEpOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnNpbmdsZV9yZXF1ZXN0KGhvc3QsIGhhbmRsZXIsIHJlcXVlc3RfYm9keSwgdmVyYm9zZSkKLSAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKLSAgICAgICAgICAgICAgICBpZiBpIG9yIGUuZXJybm8gbm90IGluIChlcnJuby5FQ09OTlJFU0VULCBlcnJuby5FQ09OTkFCT1JURUQsIGVycm5vLkVQSVBFKToKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgaWYgaSBvciBlLmVycm5vIG5vdCBpbiAoZXJybm8uRUNPTk5SRVNFVCwgZXJybm8uRUNPTk5BQk9SVEVELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vLkVQSVBFKToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgIGV4Y2VwdCBodHRwLmNsaWVudC5CYWRTdGF0dXNMaW5lOiAjY2xvc2UgYWZ0ZXIgd2Ugc2VudCByZXF1ZXN0CiAgICAgICAgICAgICAgICAgaWYgaToKQEAgLTEzODUsNyArMTM4Niw3IEBACiAgICAgICAgICMgZ2V0IHRoZSB1cmwKICAgICAgICAgdHlwZSwgdXJpID0gdXJsbGliLnBhcnNlLnNwbGl0dHlwZSh1cmkpCiAgICAgICAgIGlmIHR5cGUgbm90IGluICgiaHR0cCIsICJodHRwcyIpOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigidW5zdXBwb3J0ZWQgWE1MLVJQQyBwcm90b2NvbCIpCisgICAgICAgICAgICByYWlzZSBPU0Vycm9yKCJ1bnN1cHBvcnRlZCBYTUwtUlBDIHByb3RvY29sIikKICAgICAgICAgc2VsZi5fX2hvc3QsIHNlbGYuX19oYW5kbGVyID0gdXJsbGliLnBhcnNlLnNwbGl0aG9zdCh1cmkpCiAgICAgICAgIGlmIG5vdCBzZWxmLl9faGFuZGxlcjoKICAgICAgICAgICAgIHNlbGYuX19oYW5kbGVyID0gIi9SUEMyIgpkaWZmIC0tZ2l0IGEvTGliL3ppcGZpbGUucHkgYi9MaWIvemlwZmlsZS5weQppbmRleCAzNDQ4YzYxLi5iOTBhZjU1IDEwMDY0NAotLS0gYS9MaWIvemlwZmlsZS5weQorKysgYi9MaWIvemlwZmlsZS5weQpAQCAtMTY0LDcgKzE2NCw3IEBACiAgICAgdHJ5OgogICAgICAgICBpZiBfRW5kUmVjRGF0YShmcCk6CiAgICAgICAgICAgICByZXR1cm4gVHJ1ZSAgICAgICAgICMgZmlsZSBoYXMgY29ycmVjdCBtYWdpYyBudW1iZXIKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcGFzcwogICAgIHJldHVybiBGYWxzZQogCkBAIC0xODAsNyArMTgwLDcgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInJiIikgYXMgZnA6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gX2NoZWNrX3ppcGZpbGUoZnApCi0gICAgZXhjZXB0IElPRXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHBhc3MKICAgICByZXR1cm4gcmVzdWx0CiAKQEAgLTE5MCw3ICsxOTAsNyBAQAogICAgICIiIgogICAgIHRyeToKICAgICAgICAgZnBpbi5zZWVrKG9mZnNldCAtIHNpemVFbmRDZW50RGlyNjRMb2NhdG9yLCAyKQotICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAjIElmIHRoZSBzZWVrIGZhaWxzLCB0aGUgZmlsZSBpcyBub3QgbGFyZ2UgZW5vdWdoIHRvIGNvbnRhaW4gYSBaSVA2NAogICAgICAgICAjIGVuZC1vZi1hcmNoaXZlIHJlY29yZCwgc28ganVzdCByZXR1cm4gdGhlIGVuZCByZWNvcmQgd2Ugd2VyZSBnaXZlbi4KICAgICAgICAgcmV0dXJuIGVuZHJlYwpAQCAtMjQyLDcgKzI0Miw3IEBACiAgICAgIyBmaWxlIGlmIHRoaXMgaXMgdGhlIGNhc2UpLgogICAgIHRyeToKICAgICAgICAgZnBpbi5zZWVrKC1zaXplRW5kQ2VudERpciwgMikKLSAgICBleGNlcHQgSU9FcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcmV0dXJuIE5vbmUKICAgICBkYXRhID0gZnBpbi5yZWFkKCkKICAgICBpZiAobGVuKGRhdGEpID09IHNpemVFbmRDZW50RGlyIGFuZApAQCAtOTEwLDcgKzkxMCw3IEBACiAgICAgICAgICAgICBtb2RlRGljdCA9IHsncicgOiAncmInLCAndyc6ICd3YicsICdhJyA6ICdyK2InfQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuZnAgPSBpby5vcGVuKGZpbGUsIG1vZGVEaWN0W21vZGVdKQotICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBpZiBtb2RlID09ICdhJzoKICAgICAgICAgICAgICAgICAgICAgbW9kZSA9IGtleSA9ICd3JwogICAgICAgICAgICAgICAgICAgICBzZWxmLmZwID0gaW8ub3BlbihmaWxlLCBtb2RlRGljdFttb2RlXSkKQEAgLTk2MSw3ICs5NjEsNyBAQAogICAgICAgICBmcCA9IHNlbGYuZnAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZW5kcmVjID0gX0VuZFJlY0RhdGEoZnApCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHJhaXNlIEJhZFppcEZpbGUoIkZpbGUgaXMgbm90IGEgemlwIGZpbGUiKQogICAgICAgICBpZiBub3QgZW5kcmVjOgogICAgICAgICAgICAgcmFpc2UgQmFkWmlwRmlsZSgiRmlsZSBpcyBub3QgYSB6aXAgZmlsZSIpCmRpZmYgLS1naXQgYS9NYWMvVG9vbHMvYnVuZGxlYnVpbGRlci5weSBiL01hYy9Ub29scy9idW5kbGVidWlsZGVyLnB5CmluZGV4IDZjYzEzMGYuLmY1Njc5ZDMgMTAwNjQ0Ci0tLSBhL01hYy9Ub29scy9idW5kbGVidWlsZGVyLnB5CisrKyBiL01hYy9Ub29scy9idW5kbGVidWlsZGVyLnB5CkBAIC0yNzAsNyArMjcwLDcgQEAKIGRlbCBfX2xvYWQKICIiIgogCi1NQVlNSVNTX01PRFVMRVMgPSBbJ21hYycsICdvczInLCAnbnQnLCAnbnRwYXRoJywgJ2RvcycsICdkb3NwYXRoJywKK01BWU1JU1NfTU9EVUxFUyA9IFsnbWFjJywgJ250JywgJ250cGF0aCcsICdkb3MnLCAnZG9zcGF0aCcsCiAgICAgJ3dpbjMyYXBpJywgJ2NlJywgJ193aW5yZWcnLCAnbnR1cmwycGF0aCcsICdzaXRlY3VzdG9taXplJywKICAgICAnb3JnLnB5dGhvbi5jb3JlJywgJ3Jpc2NvcycsICdyaXNjb3NlbnZpcm9uJywgJ3Jpc2Nvc3BhdGgnCiBdCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5wcmUuaW4gYi9NYWtlZmlsZS5wcmUuaW4KaW5kZXggNjcwOWY0YS4uYWI1NmUzZiAxMDA2NDQKLS0tIGEvTWFrZWZpbGUucHJlLmluCisrKyBiL01ha2VmaWxlLnByZS5pbgpAQCAtMTI3LDcgKzEyNyw2IEBACiAjIFN5bWJvbHMgdXNlZCBmb3IgdXNpbmcgc2hhcmVkIGxpYnJhcmllcwogU0hMSUJfU1VGRklYPQlAU0hMSUJfU1VGRklYQAogRVhUX1NVRkZJWD0JQEVYVF9TVUZGSVhACi1TTz0JCSQoU0hMSUJfU1VGRklYKQogTERTSEFSRUQ9CUBMRFNIQVJFREAgJChQWV9MREZMQUdTKQogQkxEU0hBUkVEPQlAQkxEU0hBUkVEQCAkKFBZX0xERkxBR1MpCiBMRENYWFNIQVJFRD0JQExEQ1hYU0hBUkVEQApAQCAtNDQwLDcgKzQzOSw3IEBACiAKICMgRGVmYXVsdCB0YXJnZXQKIGFsbDoJCWJ1aWxkX2FsbAotYnVpbGRfYWxsOgkkKEJVSUxEUFlUSE9OKSBvbGRzaGFyZWRtb2RzIHNoYXJlZG1vZHMgZ2RiaG9va3MgTW9kdWxlcy9fdGVzdGVtYmVkCitidWlsZF9hbGw6CSQoQlVJTERQWVRIT04pIG9sZHNoYXJlZG1vZHMgc2hhcmVkbW9kcyBnZGJob29rcyBNb2R1bGVzL190ZXN0ZW1iZWQgcHl0aG9uLWNvbmZpZwogCiAjIENvbXBpbGUgYSBiaW5hcnkgd2l0aCBnY2MgcHJvZmlsZSBndWlkZWQgb3B0aW1pemF0aW9uLgogcHJvZmlsZS1vcHQ6CkBAIC03MDgsMjcgKzcwNywzMSBAQAogCQkJCSQoc3JjZGlyKS9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmgKIAogQllURVNUUl9ERVBTID0gXAotCQkkKHNyY2RpcikvSW5jbHVkZS9ieXRlc19tZXRob2RzLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvY291bnQuaCBcCiAJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9jdHlwZS5oIFwKLQkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2VxLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvZmFzdHNlYXJjaC5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2ZpbmQuaCBcCi0JCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9maW5kX21heF9jaGFyLmggXAorCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvam9pbi5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3BhcnRpdGlvbi5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3NwbGl0LmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nZGVmcy5oIFwKLQkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3RyYW5zbW9ncmlmeS5oIFwKLQkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVkZWZzLmggXAotCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvbG9jYWxldXRpbC5oIFwKLQkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VuZGVmLmgKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3RyYW5zbW9ncmlmeS5oCiAKLVVOSUNPREVfREVQUyA9ICQoQllURVNUUl9ERVBTKSBcCitVTklDT0RFX0RFUFMgPSBcCiAJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9hc2NpaWxpYi5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2NvZGVjcy5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2NvdW50LmggXAorCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvZmFzdHNlYXJjaC5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2ZpbmQuaCBcCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9maW5kX21heF9jaGFyLmggXAorCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvbG9jYWxldXRpbC5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3BhcnRpdGlvbi5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3JlcGxhY2UuaCBcCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9zcGxpdC5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VjczFsaWIuaCBcCiAJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi91Y3MybGliLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvdWNzNGxpYi5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VuZGVmLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZV9mb3JtYXQuaCBcCiAJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlZGVmcy5oCiAKQEAgLTc0Niw5ICs3NDksNiBAQAogCiBQeXRob24vY2V2YWwubzogJChPUENPREVUQVJHRVRTX0gpICQoc3JjZGlyKS9QeXRob24vY2V2YWxfZ2lsLmgKIAotUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLm86ICQoc3JjZGlyKS9QeXRob24vZm9ybWF0dGVyX3VuaWNvZGUuYyBcCi0JCQkJJChCWVRFU1RSX0RFUFMpCi0KIFB5dGhvbi9mcm96ZW4ubzogUHl0aG9uL2ltcG9ydGxpYi5oCiAKIE9iamVjdHMvdHlwZW9iamVjdC5vOiBPYmplY3RzL3R5cGVzbG90cy5pbmMKQEAgLTExNTIsMTAgKzExNTIsMTIgQEAKIAlmaTsgXAogCWNkICQoc3JjZGlyKS9MaWIvJChQTEFURElSKTsgJChSVU5TSEFSRUQpIC4vcmVnZW4KIAotcHl0aG9uLWNvbmZpZzogJChzcmNkaXIpL01pc2MvcHl0aG9uLWNvbmZpZy5pbgorcHl0aG9uLWNvbmZpZzogJChzcmNkaXIpL01pc2MvcHl0aG9uLWNvbmZpZy5pbiBNaXNjL3B5dGhvbi1jb25maWcuc2gKIAkjIFN1YnN0aXR1dGlvbiBoYXBwZW5zIGhlcmUsIGFzIHRoZSBjb21wbGV0ZWx5LWV4cGFuZGVkIEJJTkRJUgogCSMgaXMgbm90IGF2YWlsYWJsZSBpbiBjb25maWd1cmUKLQlzZWQgLWUgInMsQEVYRU5BTUVALCQoQklORElSKS9weXRob24kKExEVkVSU0lPTikkKEVYRSksIiA8ICQoc3JjZGlyKS9NaXNjL3B5dGhvbi1jb25maWcuaW4gPnB5dGhvbi1jb25maWcKKwlzZWQgLWUgInMsQEVYRU5BTUVALCQoQklORElSKS9weXRob24kKExEVkVSU0lPTikkKEVYRSksIiA8ICQoc3JjZGlyKS9NaXNjL3B5dGhvbi1jb25maWcuaW4gPnB5dGhvbi1jb25maWcucHkKKwkjIFJlcGxhY2UgbWFrZWZpbGUgY29tcGF0LiB2YXJpYWJsZSByZWZlcmVuY2VzIHdpdGggc2hlbGwgc2NyaXB0IGNvbXBhdC4gb25lczsgJChWQVIpIC0+ICR7VkFSfQorCXNlZCAtZSAncyxcJCQoXChbQS1aYS16MC05X10qXCkpLFwkJFx7XDFcfSxnJyA8IE1pc2MvcHl0aG9uLWNvbmZpZy5zaCA+cHl0aG9uLWNvbmZpZwogCiAjIEluc3RhbGwgdGhlIGluY2x1ZGUgZmlsZXMKIElOQ0xESVJTVE9NQUtFPSQoSU5DTFVERURJUikgJChDT05GSU5DTFVERURJUikgJChJTkNMVURFUFkpICQoQ09ORklOQ0xVREVQWSkKQEAgLTEyMTMsOCArMTIxNSw4IEBACiAJJChJTlNUQUxMX0RBVEEpIE1pc2MvcHl0aG9uLnBjICQoREVTVERJUikkKExJQlBDKS9weXRob24tJChWRVJTSU9OKS5wYwogCSQoSU5TVEFMTF9TQ1JJUFQpICQoc3JjZGlyKS9Nb2R1bGVzL21ha2VzZXR1cCAkKERFU1RESVIpJChMSUJQTCkvbWFrZXNldHVwCiAJJChJTlNUQUxMX1NDUklQVCkgJChzcmNkaXIpL2luc3RhbGwtc2ggJChERVNURElSKSQoTElCUEwpL2luc3RhbGwtc2gKKwkkKElOU1RBTExfU0NSSVBUKSBweXRob24tY29uZmlnLnB5ICQoREVTVERJUikkKExJQlBMKS9weXRob24tY29uZmlnLnB5CiAJJChJTlNUQUxMX1NDUklQVCkgcHl0aG9uLWNvbmZpZyAkKERFU1RESVIpJChCSU5ESVIpL3B5dGhvbiQoTERWRVJTSU9OKS1jb25maWcKLQlybSBweXRob24tY29uZmlnCiAJQGlmIFsgLXMgTW9kdWxlcy9weXRob24uZXhwIC1hIFwKIAkJImBlY2hvICQoTUFDSERFUCkgfCBzZWQgJ3MvXlwoLi4uXCkuKi9cMS8nYCIgPSAiYWl4IiBdOyB0aGVuIFwKIAkJZWNobzsgZWNobyAiSW5zdGFsbGluZyBzdXBwb3J0IGZpbGVzIGZvciBidWlsZGluZyBzaGFyZWQgZXh0ZW5zaW9uIG1vZHVsZXMgb24gQUlYOiI7IFwKQEAgLTE0MDEsNiArMTQwMyw3IEBACiAJCWNvbmZpZy5jYWNoZSBjb25maWcubG9nIHB5Y29uZmlnLmggTW9kdWxlcy9jb25maWcuYwogCS1ybSAtcmYgYnVpbGQgcGxhdGZvcm0KIAktcm0gLXJmICQoUFlUSE9ORlJBTUVXT1JLRElSKQorCS1ybSAtZiBweXRob24tY29uZmlnLnB5IHB5dGhvbi1jb25maWcKIAogIyBNYWtlIHRoaW5ncyBleHRyYSBjbGVhbiwgYmVmb3JlIG1ha2luZyBhIGRpc3RyaWJ1dGlvbjoKICMgcmVtb3ZlIGFsbCBnZW5lcmF0ZWQgZmlsZXMsIGV2ZW4gTWFrZWZpbGVbLnByZV0KZGlmZiAtLWdpdCBhL01pc2MvQUNLUyBiL01pc2MvQUNLUwppbmRleCAzYjA2MzBhLi4yNTA5YWFhIDEwMDY0NAotLS0gYS9NaXNjL0FDS1MKKysrIGIvTWlzYy9BQ0tTCkBAIC01Niw2ICs1Niw3IEBACiBEb25vdmFuIEJhYXJkYQogQXJuZSBCYWJlbmhhdXNlcmhlaWRlCiBBdHRpbGEgQmFibworTWF0dCBCYWNobWFubgogTWFyY2luIEJhY2hyeQogQWxmb25zbyBCYWNpZXJvCiBEd2F5bmUgQmFpbGV5CkBAIC0xMTksNiArMTIwLDcgQEAKIFBoaWxpcHBlIEJpb25kaQogU3R1YXJ0IEJpc2hvcAogUm95IEJpeGxlcgorRGFuaWVsIEJsYWNrCiBKb25hdGhhbiBCbGFjawogUmVuYXVkIEJsYW5jaAogTWlrZSBCbGFuZApAQCAtMTQ4LDggKzE1MCwxMCBAQAogR2VvcmcgQnJhbmRsCiBDaHJpc3RvcGhlciBCcmFubm9uCiBUZXJyZW5jZSBCcmFubm9uCitTdmVuIEJyYXVjaAogRXJpayBCcmF5CiBCcmlhbiBCcmF6aWwKK0RlbWlhbiBCcmVjaHQKIERhdmUgQnJlbm5hbgogVG9tIEJyaWRnbWFuCiBBbnRob255IEJyaWdncwpAQCAtMjIwLDYgKzIyNCw3IEBACiBDcmFpZyBDaXRybwogR2lsbGVzIENpdmFyaW8KIENocmlzIENsYXJrCitMYXVyaWUgQ2xhcmstTWljaGFsZWsKIE1pa2UgQ2xhcmtzb24KIEFuZHJldyBDbGVnZwogQnJhZCBDbGVtZW50cwpAQCAtMzE3LDYgKzMyMiw3IEBACiBSb2JpbiBEdW5uCiBMdWtlIER1bnN0YW4KIFZpcmdpbCBEdXByYXMKK0JydW5vIER1cHVpcwogQW5keSBEdXN0bWFuCiBHYXJ5IER1emFuCiBFdWdlbmUgRHZ1cmVjaGVuc2tpCkBAIC0zMzksNiArMzQ1LDcgQEAKIEplZmYgRXBsZXIKIEplZmYgTWNOZWlsCiBUb20gRXBwZXJseQorR8O2a2NlbiBFcmFzbGFuCiBTdG9mZmVsIEVyYXNtdXMKIErDvHJnZW4gQS4gRXJoYXJkCiBNaWNoYWVsIEVybnN0CkBAIC0zNjMsNiArMzcwLDcgQEAKIFRyb3kgSi4gRmFycmVsbAogTWFyayBGYXZhcwogQm9yaXMgRmVsZAorVGhvbWFzIEZlbnpsCiBOaWVscyBGZXJndXNvbgogU2ViYXN0aWFuIEZlcm5hbmRlegogRmxvcmlhbiBGZXN0aQpAQCAtNDQ4LDYgKzQ1Niw3IEBACiBEYWcgR3J1bmVhdQogRmlsaXAgR3J1c3pjennFhHNraQogVGhvbWFzIEd1ZXR0bGVyCitBbnVqIEd1cHRhCiBNaWNoYWVsIEd1cmF2YWdlCiBMYXJzIEd1c3TDpGJlbAogVGhvbWFzIEfDvHR0bGVyCkBAIC00NTgsNiArNDY3LDcgQEAKIFJhc211cyBIYWhuCiBQZXRlciBIYWlnaHQKIFbDoWNsYXYgSGFpc21hbgorWmJpZ25pZXcgSGFsYXMKIFdhbGtlciBIYWxlIElWCiBCb2IgSGFsbGV5CiBKZXNzZSBIYWxsaW8KQEAgLTU4Niw2ICs1OTYsNyBAQAogRnJlZHJpayBKb2hhbnNzb24KIEdyZWdvcnkgSy4gSm9obnNvbgogS2VudCBKb2huc29uCitNaWNoYWVsIEpvaG5zb24KIFNpbW9uIEpvaG5zdG9uCiBNYXR0IEpvaW5lcgogVGhvbWFzIEpvbGxhbnMKQEAgLTYwMyw2ICs2MTQsNyBAQAogQW5kcmVhcyBKdW5nCiBUYXR0b28gTWFib256byBLLgogQm9odXNsYXYgS2FicmRhCitBbGV4ZXkgS2FjaGF5ZXYKIEJvYiBLYWhuCiBLdXJ0IEIuIEthaXNlcgogVGFtaXRvIEthaml5YW1hCkBAIC02NzgsNiArNjkwLDcgQEAKIEVybm8gS3V1c2VsYQogUm9zcyBMYWdlcndhbGwKIENhbWVyb24gTGFpcmQKK0RhdmlkIExhbQogVGhvbWFzIExhbWIKIEplYW4tQmFwdGlzdGUgIkppYmEiIExhbXkKIFJvbmFuIExhbXkKQEAgLTcxNCw2ICs3MjcsNyBAQAogTWFyYy1BbmRyw6kgTGVtYnVyZwogSm9obiBMZW50b24KIEtvc3R5YW50eW4gTGVzY2hlbmtvCitCZW5ubyBMZXNsaWUKIENocmlzdG9waGVyIFR1ciBMZXNuaWV3c2tpLUxhYXMKIEFsYWluIExldWZyb3kKIE1hcmsgTGV2aW5zb24KQEAgLTc0MCw2ICs3NTQsNyBAQAogQW5uZSBMb3JkCiBUb20gTG9yZWRvCiBKdXN0aW4gTG92ZQorTmVkIEphY2tzb24gTG92ZWx5CiBKYXNvbiBMb3dlCiBUb255IExvd25kcwogUmF5IExveXphZ2EKQEAgLTc0Nyw2ICs3NjIsNyBAQAogTG9yZW4gTHVrZQogRnJlZHJpayBMdW5kaAogTWFyayBMdXR6CitUYXJhcyBMeWFwdW4KIEppbSBMeW5jaAogTWlrYWVsIEx5bmd2aWcKIE1hcnRpbiB2b24gTMO2d2lzCkBAIC03NjAsNiArNzc2LDcgQEAKIFN0ZXZlIE1hamV3c2tpCiBHcnplZ29yeiBNYWthcmV3aWN6CiBEYXZpZCBNYWxjb2xtCitHcmVnIE1hbGNvbG0KIEtlbiBNYW5oZWltZXIKIFZsYWRpbWlyIE1hcmFuZ296b3YKIENvbGluIE1hcmMKQEAgLTc4MCw2ICs3OTcsNyBAQAogR3JhaGFtIE1hdHRoZXdzCiBEaWV0ZXIgTWF1cmVyCiBEYW5pZWwgTWF5CitMdWNhcyBNYXlzdHJlCiBBcm5hdWQgTWF6aW4KIFJlYmVjY2EgTWNDcmVhcnkKIEtpcmsgTWNEb25hbGQKQEAgLTgzNSw2ICs4NTMsNyBAQAogQmVuIE1vcmdhbgogRGVyZWsgTW9ycgogSmFtZXMgQSBNb3JyaXNvbgorTWFydGluIE1vcnJpc29uCiBEZXJlayBNY1RhdmlzaCBNb3VuY2UKIEFsZXNzYW5kcm8gTW91cmEKIFBhYmxvIE1vdXpvCkBAIC05MDgsNiArOTI3LDcgQEAKIFRvZGQgUi4gUGFsbWVyCiBKdWFuIERhdmlkIEliw6HDsWV6IFBhbG9tYXIKIEphbiBQYWx1cworTWF0aGlhcyBQYW56ZW5iw7ZjawogTS4gUGFwaWxsb24KIFBldGVyIFBhcmVudGUKIEFsZXhhbmRyZSBQYXJlbnRlYXUKQEAgLTkxNiw2ICs5MzYsNyBAQAogSGVpa2tpIFBhcnRhbmVuCiBIYXJyaSBQYXNhbmVuCiBHYcOrbCBQYXNncmltYXVkCitBc2hpc2ggTml0aW4gUGF0aWwKIFJhbmR5IFBhdXNjaAogU2FtdWVsZSBQZWRyb25pCiBKdXN0aW4gUGVlbApAQCAtOTM0LDYgKzk1NSw3IEBACiBCZW5qYW1pbiBQZXRlcnNvbgogSm9lIFBldGVyc29uCiBDaHJpcyBQZXRyaWxsaQorUm91bWVuIFBldHJvdgogQmpvcm4gUGV0dGVyc2VuCiBKdXN0aW4gRC4gUGV0dGl0CiBSb25ueSBQZmFubnNjaG1pZHQKQEAgLTk1NCw2ICs5NzYsNyBAQAogSmVhbi1GcmFuw6dvaXMgUGnDqXJvbm5lCiBPbGVnIFBsYWtob3RueXVrCiBSZW1pIFBvaW50ZWwKK0FyaWVsIFBvbGlhawogR3VpbGhlcm1lIFBvbG8KIE1pY2hhZWwgUG9tcmFuaW5nCiBJdXN0aW4gUG9wCkBAIC05NjQsNiArOTg3LDcgQEAKIFBhdWwgUHJlc2NvZAogRG9ub3ZhbiBQcmVzdG9uCiBQYXVsIFByaWNlCitJdWxpaWEgUHJvc2t1cm5pYQogSnlya2kgUHVsbGlhaW5lbgogU3RldmUgUHVyY2VsbAogRWR1YXJkbyBQw6lyZXoKQEAgLTk3Miw2ICs5OTYsNyBAQAogQnJpYW4gUXVpbmxhbgogQW5kZXJzIFF2aXN0CiBUaG9tYXMgUmFjaGVsCitSYW0gUmFjaHVtCiBKw6lyw7RtZSBSYWRpeAogQnVydG9uIFJhZG9ucwogSmVmZiBSYW1uYW5pCkBAIC0xMDA3LDcgKzEwMzIsNyBAQAogSmVhbi1DbGF1ZGUgUmltYmF1bHQKIFZsYWQgUmlzY3V0aWEKIFdlcyBSaXNoZWwKLURhbiBSaXRpCitEYW5pZWwgUml0aQogSnVhbiBNLiBCZWxsbyBSaXZhcwogRGF2aWRlIFJpenpvCiBBbnRob255IFJvYWNoCkBAIC0xMTMyLDYgKzExNTcsNyBAQAogSi4gU2lwcHJlbGwKIEtyYWdlbiBTaXRha2VyCiBNaWNoYWVsIFNsb2FuCitWw6FjbGF2IMWgbWlsYXVlcgogQ2hyaXN0b3BoZXIgU21pdGgKIEVyaWMgVi4gU21pdGgKIEdyZWdvcnkgUC4gU21pdGgKQEAgLTExOTUsMTIgKzEyMjEsMTQgQEAKIE1vbnR5IFRheWxvcgogQW5hdG9seSBUZWNodG9uaWsKIE1pa2hhaWwgVGVyZWtob3YKK1ZpY3RvciBUZXJyw7NuCiBSaWNoYXJkIE0uIFRldwogVG9iaWFzIFRoZWxlbgogTG93ZSBUaGlkZXJtYW4KIE5pY29sYXMgTS4gVGhpw6lyeQogSmFtZXMgVGhvbWFzCiBSb2JpbiBUaG9tYXMKK0JyaWFuIFRob3JuZQogU3RlcGhlbiBUaG9ybmUKIEplcmVteSBUaHVyZ29vZAogRXJpYyBUaWVkZW1hbm4KQEAgLTEzMzEsNiArMTM1OSw3IEBACiBHb3Jkb24gV29ybGV5CiBEYXJyZW4gV29ycmFsbAogVGhvbWFzIFdvdXRlcnMKK0RhbmllbCBXb3puaWFrCiBIZWlrbyBXdW5kcmFtCiBEb3VnIFd5YXR0CiBSb2JlcnQgWGlhbwpAQCAtMTM0Myw2ICsxMzcyLDcgQEAKIERhbm55IFlvbwogUm9yeSBZb3JrZQogR2VvcmdlIFlvc2hpZGEKK0thenVoaXJvIFlvc2hpZGEKIE1hc2F6dW1pIFlvc2hpa2F3YQogQXJuYXVkIFlzbWFsCiBCZXJuYXJkIFl1ZQpkaWZmIC0tZ2l0IGEvTWlzYy9ISVNUT1JZIGIvTWlzYy9ISVNUT1JZCmluZGV4IDgzMjdkY2EuLjgzNDIxY2QgMTAwNjQ0Ci0tLSBhL01pc2MvSElTVE9SWQorKysgYi9NaXNjL0hJU1RPUlkKQEAgLTMsMTMgKzMsNDExMCBAQAogCiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHJlbGVhc2UgbWVzc2FnZXMgZm9yIHByZXZpb3VzIFB5dGhvbiByZWxlYXNlcy4KIEFzIHlvdSByZWFkIG9uIHlvdSBnbyBiYWNrIHRvIHRoZSBkYXJrIGFnZXMgb2YgUHl0aG9uJ3MgaGlzdG9yeS4KLShOb3RlOiBuZXdzIGFib3V0IDIuNWMyIGFuZCBsYXRlciAyLjUgcmVsZWFzZXMgaXMgaW4gdGhlIE1pc2MvTkVXUwotZmlsZSBvZiB0aGUgcmVsZWFzZTI1LW1haW50IGJyYW5jaC4pCiAKIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAKK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wPworPT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKypSZWxlYXNlIGRhdGU6IDI5LVNlcC0yMDEyKgorCitDb3JlIGFuZCBCdWlsdGlucworLS0tLS0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTYwNDY6IEZpeCBsb2FkaW5nIHNvdXJjZWxlc3MgbGVnYWN5IC5weW8gZmlsZXMuCisKKy0gSXNzdWUgIzE2MDYwOiBGaXggcmVmY291bnRpbmcgYnVnIHdoZW4gX190cnVuY19fIHJldHVybnMgYW4gb2JqZWN0CisgIHdob3NlIF9faW50X18gZ2l2ZXMgYSBub24taW50ZWdlci4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKK0V4dGVuc2lvbiBNb2R1bGVzCistLS0tLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNjAxMjogRml4IGEgcmVncmVzc2lvbiBpbiBweWV4cGF0LiBUaGUgcGFyc2VyJ3MgVXNlRm9yZWlnbkRURCgpCisgIG1ldGhvZCBkb2Vzbid0IHJlcXVpcmUgYW4gYXJndW1lbnQgYWdhaW4uCisKKworV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgUmVsZWFzZSBDYW5kaWRhdGUgMz8KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKypSZWxlYXNlIGRhdGU6IDIzLVNlcC0yMDEyKgorCitDb3JlIGFuZCBCdWlsdGlucworLS0tLS0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTU5MDA6IEZpeCByZWZlcmVuY2UgbGVhayBpbiBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcCgpLgorCistIElzc3VlICMxNTkyNjogRml4IGNyYXNoIGFmdGVyIG11bHRpcGxlIHJlaW5pdGlhbGl6YXRpb25zIG9mIHRoZSBpbnRlcnByZXRlci4KKworLSBJc3N1ZSAjMTU4OTU6IEZpeCBGSUxFIHBvaW50ZXIgbGVhayBpbiBvbmUgZXJyb3IgYnJhbmNoIG9mCisgIFB5UnVuX1NpbXBsZUZpbGVFeEZsYWdzKCkgd2hlbiBmaWxlbmFtZSBwb2ludHMgdG8gYSBweWMvcHlvIGZpbGUsIGNsb3NlaXQKKyAgaXMgZmFsc2UgYW4gYW5kIHNldF9tYWluX2xvYWRlcigpIGZhaWxzLgorCistIEZpeGVzIGZvciBhIGZldyBjcmFzaCBhbmQgbWVtb3J5IGxlYWsgcmVncmVzc2lvbnMgZm91bmQgYnkgQ292ZXJpdHkuCisKK0xpYnJhcnkKKy0tLS0tLS0KKworLSBJc3N1ZSAjMTU4ODI6IENoYW5nZSBfZGVjaW1hbCB0byBhY2NlcHQgYW55IGNvZWZmaWNpZW50IHR1cGxlIHdoZW4KKyAgY29uc3RydWN0aW5nIGluZmluaXRpZXMuIFRoaXMgaXMgZG9uZSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKKyAgd2l0aCBkZWNpbWFsLnB5OiBJbmZpbml0eSBjb2VmZmljaWVudHMgYXJlIHVuZGVmaW5lZCBpbiBfZGVjaW1hbAorICAoaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uKS4KKworLSBJc3N1ZSAjMTU5MjU6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gZW1haWwudXRpbCB3aGVyZSB0aGUgcGFyc2VkYXRlKCkgYW5kCisgIHBhcnNlZGF0ZV90eigpIGZ1bmN0aW9ucyBkaWQgbm90IHJldHVybiBOb25lIGFueW1vcmUgd2hlbiB0aGUgYXJndW1lbnQgY291bGQKKyAgbm90IGJlIHBhcnNlZC4KKworRXh0ZW5zaW9uIE1vZHVsZXMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzE1OTczOiBGaXggYSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBjb21wYXJpbmcgZGF0ZXRpbWUgdGltZXpvbmUKKyAgb2JqZWN0cy4KKworLSBJc3N1ZSAjMTU5Nzc6IEZpeCBtZW1vcnkgbGVhayBpbiBNb2R1bGVzL19zc2wuYyB3aGVuIHRoZSBmdW5jdGlvbgorICBfc2V0X25wbl9wcm90b2NvbHMoKSBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXMsIHRoYW5rcyB0byBEYW5pZWwgU29tbWVybWFubi4KKworLSBJc3N1ZSAjMTU5Njk6IGZhdWx0aGFuZGxlciBtb2R1bGU6IHJlbmFtZSBkdW1wX3RyYWNlYmFja3NfbGF0ZXIoKSB0bworICBkdW1wX3RyYWNlYmFja19sYXRlcigpIGFuZCBjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkgdG8KKyAgY2FuY2VsX2R1bXBfdHJhY2ViYWNrX2xhdGVyKCkuCisKKy0gX2RlY2ltYWwgbW9kdWxlOiB1c2Ugb25seSBDIDg5IHN0eWxlIGNvbW1lbnRzLgorCisKK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIFJlbGVhc2UgQ2FuZGlkYXRlIDI/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisqUmVsZWFzZSBkYXRlOiAwOS1TZXAtMjAxMioKKworQ29yZSBhbmQgQnVpbHRpbnMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzEzOTkyOiBUaGUgdHJhc2hjYW4gbWVjaGFuaXNtIGlzIG5vdyB0aHJlYWQtc2FmZS4gIFRoaXMgZWxpbWluYXRlcworICBzcG9yYWRpYyBjcmFzaGVzIGluIG11bHRpLXRocmVhZCBwcm9ncmFtcyB3aGVuIHNldmVyYWwgbG9uZyBkZWFsbG9jYXRvcgorICBjaGFpbnMgcmFuIGNvbmN1cnJlbnRseSBhbmQgaW52b2x2ZWQgc3ViY2xhc3NlcyBvZiBidWlsdC1pbiBjb250YWluZXIKKyAgdHlwZXMuCisKKy0gSXNzdWUgIzE1Nzg0OiBNb2RpZnkgT1NFcnJvci5fX3N0cl9fKCkgdG8gYmV0dGVyIGRpc3Rpbmd1aXNoIGJldHdlZW4KKyAgZXJybm8gZXJyb3IgbnVtYmVycyBhbmQgV2luZG93cyBlcnJvciBudW1iZXJzLgorCistIElzc3VlICMxNTc4MTogRml4IHR3byBzbWFsbCByYWNlIGNvbmRpdGlvbnMgaW4gaW1wb3J0J3MgbW9kdWxlIGxvY2tpbmcuCisKK0xpYnJhcnkKKy0tLS0tLS0KKworLSBJc3N1ZSAjMTU4NDc6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYXJncGFyc2UsIHdoaWNoIGRpZCBub3QgYWNjZXB0IHR1cGxlcworICBhcyBhcmd1bWVudCBsaXN0cyBhbnltb3JlLgorCistIElzc3VlICMxNTgyODogUmVzdG9yZSBzdXBwb3J0IGZvciBDIGV4dGVuc2lvbnMgaW4gaW1wLmxvYWRfbW9kdWxlKCkuCisKKy0gSXNzdWUgIzE1MzQwOiBGaXggaW1wb3J0aW5nIHRoZSByYW5kb20gbW9kdWxlIHdoZW4gL2Rldi91cmFuZG9tIGNhbm5vdAorICBiZSBvcGVuZWQuICBUaGlzIHdhcyBhIHJlZ3Jlc3Npb24gY2F1c2VkIGJ5IHRoZSBoYXNoIHJhbmRvbWl6YXRpb24gcGF0Y2guCisKKy0gSXNzdWUgIzEwNjUwOiBEZXByZWNhdGUgdGhlIHdhdGNoZXhwIHBhcmFtZXRlciBvZiB0aGUgRGVjaW1hbC5xdWFudGl6ZSgpCisgIG1ldGhvZC4KKworLSBJc3N1ZSAjMTU3ODU6IE1vZGlmeSB3aW5kb3cuZ2V0X3djaCgpIEFQSSBvZiB0aGUgY3Vyc2VzIG1vZHVsZTogcmV0dXJuCisgIGEgY2hhcmFjdGVyIGZvciBtb3N0IGtleXMsIGFuZCBhbiBpbnRlZ2VyIGZvciBzcGVjaWFsIGtleXMsIGluc3RlYWQgb2YKKyAgYWx3YXlzIHJldHVybmluZyBhbiBpbnRlZ2VyLiBTbyBpdCBpcyBub3cgcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggc3BlY2lhbAorICBrZXlzIGxpa2Uga2V5cGFkIGtleXMuCisKKy0gSXNzdWUgIzE0MjIzOiBGaXggd2luZG93LmFkZGNoKCkgb2YgdGhlIGN1cnNlcyBtb2R1bGUgZm9yIHNwZWNpYWwgY2hhcmFjdGVycworICBsaWtlIGN1cnNlcy5BQ1NfSExJTkU6IHRoZSBQeXRob24gZnVuY3Rpb24gYWRkY2goaW50KSBhbmQgYWRkY2goYnl0ZXMpIGlzIG5vdworICBjYWxsaW5nIHRoZSBDIGZ1bmN0aW9uIHdhZGRjaCgpL212d2FkZGNoKCkgKGFzIGl0IHdhcyBkb25lIGluIFB5dGhvbiAzLjIpLAorICBpbnN0ZWFkIG9mIHdhZGRfd2NoKCkvbXZ3YWRkX3djaCgpLiBUaGUgUHl0aG9uIGZ1bmN0aW9uIGFkZGNoKHN0cikgaXMgc3RpbGwKKyAgY2FsbGluZyB0aGUgQyBmdW5jdGlvbiB3YWRkX3djaCgpL212d2FkZF93Y2goKSBpZiB0aGUgUHl0aG9uIGN1cnNlcyBpcyBsaW5rZWQKKyAgdG8gbGlibmN1cnNlc3cuCisKK0J1aWxkCistLS0tLQorCistIElzc3VlICMxNTgyMjogUmVhbGx5IGVuc3VyZSAydG8zIGdyYW1tYXIgcGlja2xlcyBhcmUgcHJvcGVybHkgaW5zdGFsbGVkCisgIChyZXBsYWNlcyBmaXhlcyBmb3IgSXNzdWUgIzE1NjQ1KS4KKworRG9jdW1lbnRhdGlvbgorLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNTgxNDogVGhlIG1lbW9yeXZpZXcgZW5oYW5jZW1lbnRzIGluIDMuMy4wIGFjY2lkZW50YWxseSBwZXJtaXR0ZWQKKyAgdGhlIGhhc2hpbmcgb2YgbXVsdGktZGltZW5zaW9uYWwgbWVtb3J2aWV3cyBhbmQgbWVtb3J5dmlld3Mgd2l0aCBtdWx0aS1ieXRlCisgIGl0ZW0gZm9ybWF0cy4gVGhlIGludGVuZGVkIHJlc3RyaWN0aW9ucyBoYXZlIG5vdyBiZWVuIGRvY3VtZW50ZWQgLSB0aGV5CisgIHdpbGwgYmUgY29ycmVjdGx5IGVuZm9yY2VkIGluIDMuMy4xCisKKworV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgUmVsZWFzZSBDYW5kaWRhdGUgMT8KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKypSZWxlYXNlIGRhdGU6IDI1LUF1Zy0yMDEyKgorCitDb3JlIGFuZCBCdWlsdGlucworLS0tLS0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTU1NzM6IG1lbW9yeXZpZXcgY29tcGFyaXNvbnMgYXJlIG5vdyBwZXJmb3JtZWQgYnkgdmFsdWUgd2l0aCBmdWxsCisgIHN1cHBvcnQgZm9yIGFueSB2YWxpZCBzdHJ1Y3QgbW9kdWxlIGZvcm1hdCBkZWZpbml0aW9uLgorCistIElzc3VlICMxNTMxNjogV2hlbiBhbiBpdGVtIGluIHRoZSBmcm9tbGlzdCBmb3IgX19pbXBvcnRfXyBkb2Vzbid0IGV4aXN0LAorICBkb24ndCByYWlzZSBhbiBlcnJvciwgYnV0IGlmIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgYXMgcGFydCBvZiBhbiBpbXBvcnQgZG8KKyAgbGV0IHRoYXQgcHJvcGFnYXRlLgorCistIElzc3VlICMxNTc3ODogZW5zdXJlIHRoYXQgc3RyKEltcG9ydEVycm9yKG1zZykpIHJldHVybnMgYSBzdHIKKyAgZXZlbiB3aGVuIG1zZyBpc24ndCBhIHN0ci4KKworLSBJc3N1ZSAjMjA1MTogU291cmNlIGZpbGUgcGVybWlzc2lvbiBiaXRzIGFyZSBvbmNlIGFnYWluIGNvcnJlY3RseQorICBjb3BpZWQgdG8gdGhlIGNhY2hlZCBieXRlY29kZSBmaWxlLiAoVGhlIG1pZ3JhdGlvbiB0byBpbXBvcnRsaWIKKyAgcmVpbnRyb2R1Y2VkIHRoaXMgcHJvYmxlbSBiZWNhdXNlIHRoZXNlIHdhcyBubyByZWdyZXNzaW9uIHRlc3QuIEEgdGVzdAorICBoYXMgYmVlbiBhZGRlZCBhcyBwYXJ0IG9mIHRoaXMgcGF0Y2gpCisKKy0gSXNzdWUgIzE1NzYxOiBGaXggY3Jhc2ggd2hlbiBQWVRIT05FWEVDVVRBQkxFIGlzIHNldCBvbiBNYWMgT1MgWC4KKworLSBJc3N1ZSAjMTU3MjY6IEZpeCBpbmNvcnJlY3QgYm91bmRzIGNoZWNraW5nIGluIFB5U3RhdGVfRmluZE1vZHVsZS4KKyAgUGF0Y2ggYnkgUm9iaW4gU2NocmVpYmVyLgorCistIElzc3VlICMxNTYwNDogVXBkYXRlIHVzZXMgb2YgUHlPYmplY3RfSXNUcnVlKCkgdG8gY2hlY2sgZm9yIGFuZCBoYW5kbGUKKyAgZXJyb3JzIGNvcnJlY3RseS4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzE0ODQ2OiBpbXBvcnRsaWIuRmlsZUZpbmRlciBub3cgaGFuZGxlcyB0aGUgY2FzZSB3aGVyZSB0aGUKKyAgZGlyZWN0b3J5IGJlaW5nIHNlYXJjaGVkIGlzIHJlbW92ZWQgYWZ0ZXIgYSBwcmV2aW91cyBpbXBvcnQgYXR0ZW1wdAorCitMaWJyYXJ5CistLS0tLS0tCisKKy0gSXNzdWUgIzEzMzcwOiBFbnN1cmUgdGhhdCBjdHlwZXMgd29ya3Mgb24gTWFjIE9TIFggd2hlbiBQeXRob24gaXMKKyAgY29tcGlsZWQgdXNpbmcgdGhlIGNsYW5nIGNvbXBpbGVyCisKKy0gSXNzdWUgIzEzMDcyOiBUaGUgYXJyYXkgbW9kdWxlJ3MgJ3UnIGZvcm1hdCBjb2RlIGlzIG5vdyBkZXByZWNhdGVkIGFuZAorICB3aWxsIGJlIHJlbW92ZWQgaW4gUHl0aG9uIDQuMC4KKworLSBJc3N1ZSAjMTU1NDQ6IEZpeCBEZWNpbWFsLl9fZmxvYXRfXyB0byB3b3JrIHdpdGggcGF5bG9hZC1jYXJyeWluZyBOYU5zLgorCistIElzc3VlICMxNTI0OTogQnl0ZXNHZW5lcmF0b3Igbm93IGNvcnJlY3RseSBtYW5nbGVzIEZyb20gbGluZXMgKHdoZW4KKyAgcmVxdWVzdGVkKSBldmVuIGlmIHRoZSBib2R5IGNvbnRhaW5zIHVuZGVjb2RhYmxlIGJ5dGVzLgorCistIElzc3VlICMxNTc3NzogRml4IGEgcmVmbGVhayBpbiBfcG9zaXhzdWJwcm9jZXNzLgorCistIElzc3VlICMjNjY1MTk0OiBVcGRhdGUgZW1haWwudXRpbHMubG9jYWx0aW1lIHRvIHVzZSBkYXRldGltZS5hc3RpbWV6b25lIGFuZAorICBjb3JyZWN0bHkgaGFuZGxlIGhpc3RvcmljIGNoYW5nZXMgaW4gVVRDIG9mZnNldHMuCisKKy0gSXNzdWUgIzE1MTk5OiBGaXggSmF2YVNjcmlwdCdzIGRlZmF1bHQgTUlNRSB0eXBlIHRvIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQuCisgIFBhdGNoIGJ5IEJvaHVzbGF2IEthYnJkYS4KKworLSBJc3N1ZSAjMTI2NDM6IGNvZGUuSW50ZXJhY3RpdmVDb25zb2xlIG5vdyByZXNwZWN0cyBzeXMuZXhjZXB0aG9vayB3aGVuCisgIGRpc3BsYXlpbmcgZXhjZXB0aW9ucyAoUGF0Y2ggYnkgQWFyb24gSWxlcykKKworLSBJc3N1ZSAjMTM1Nzk6IHN0cmluZy5Gb3JtYXR0ZXIgbm93IHVuZGVyc3RhbmRzIHRoZSAnYScgY29udmVyc2lvbiBzcGVjaWZpZXIuCisKKy0gSXNzdWUgIzE1NzkzOiBTdGFjayBjb3JydXB0aW9uIGluIHNzbC5SQU5EX2VnZCgpLgorICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxNTU5NTogRml4IHN1YnByb2Nlc3MuUG9wZW4odW5pdmVyc2FsX25ld2xpbmVzPVRydWUpCisgIGZvciBjZXJ0YWluIGxvY2FsZXMgKHV0Zi0xNiBhbmQgdXRmLTMyIGZhbWlseSkuIFBhdGNoIGJ5IENocmlzIEplcmRvbmVrLgorCistIElzc3VlICMxNTQ3NzogSW4gY21hdGggYW5kIG1hdGggbW9kdWxlcywgYWRkIHdvcmthcm91bmQgZm9yIHBsYXRmb3JtcyB3aG9zZQorICBzeXN0ZW0tc3VwcGxpZWQgbG9nMXAgZnVuY3Rpb24gZG9lc24ndCByZXNwZWN0IHNpZ25zIG9mIHplcm9zLgorCistIElzc3VlICMxNTcxNTogaW1wb3J0bGliLl9faW1wb3J0X18oKSB3aWxsIHNpbGVuY2UgYW4gSW1wb3J0RXJyb3Igd2hlbiB0aGUgdXNlCisgIG9mIGZyb21saXN0IGxlYWRzIHRvIGEgZmFpbGVkIGltcG9ydC4KKworLSBJc3N1ZSAjMTQ2Njk6IEZpeCBwaWNrbGluZyBvZiBjb25uZWN0aW9ucyBhbmQgc29ja2V0cyBvbiBNYWNPU1gKKyAgYnkgc2VuZGluZy9yZWNlaXZpbmcgYW4gYWNrbm93bGVkZ21lbnQgYWZ0ZXIgZmlsZSBkZXNjcmlwdG9yIHRyYW5zZmVyLgorICBUZXN0UGlja2xpbmdDb25uZWN0aW9uIGhhcyBiZWVuIHJlZW5hYmxlZCBmb3IgTWFjT1NYLgorCistIElzc3VlICMxMTA2MjogRml4IGFkZGluZyBhIG1lc3NhZ2UgZnJvbSBmaWxlIHRvIEJhYnlsIG1haWxib3guCisKKy0gSXNzdWUgIzE1NjQ2OiBQcmV2ZW50IGVxdWl2YWxlbnQgb2YgYSBmb3JrIGJvbWIgd2hlbiB1c2luZworICBtdWx0aXByb2Nlc3Npbmcgb24gV2luZG93cyB3aXRob3V0IHRoZSAiaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJyIKKyAgaWRpb20uCisKKy0gSXNzdWUgIzE1Njc4OiBGaXggSURMRSBtZW51cyB3aGVuIHN0YXJ0ZWQgZnJvbSBPUyBYIGNvbW1hbmQgbGluZQorICAoMy4zLjBiMiByZWdyZXNzaW9uKS4KKworQyBBUEkKKy0tLS0tCisKK0V4dGVuc2lvbiBNb2R1bGVzCistLS0tLS0tLS0tLS0tLS0tLQorCitUb29scy9EZW1vcworLS0tLS0tLS0tLS0KKworRG9jdW1lbnRhdGlvbgorLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNDY3NDogQWRkIGEgZGlzY3Vzc2lvbiBvZiB0aGUganNvbiBtb2R1bGUncyBzdGFuZGFyZCBjb21wbGlhbmNlLgorICBQYXRjaCBieSBDaHJpcyBSZWJlcnQuCisKKy0gQ3JlYXRlIGEgJ0NvbmN1cnJlbnQgRXhlY3V0aW9uJyBzZWN0aW9uIGluIHRoZSBkb2NzLCBhbmQgc3BsaXQgdXAgdGhlCisgICdPcHRpb25hbCBPcGVyYXRpbmcgU3lzdGVtIFNlcnZpY2VzJyBzZWN0aW9uIHRvIHVzZSBhIG1vcmUgdXNlci1jZW50cmljCisgIGNsYXNzaWZpY2F0aW9uIHNjaGVtZSAoc3BsaXR0aW5nIHRoZW0gYWNyb3NzIHRoZSBuZXcgQ0Ugc2VjdGlvbiwgSVBDIGFuZAorICB0ZXh0IHByb2Nlc3NpbmcpLiBPcGVyYXRpbmcgc3lzdGVtIGxpbWl0YXRvbnMgY2FuIGJlIHJlZmxlY3RlZCB3aXRoCisgIHRoZSBTcGhpbnggYGA6cGxhdGZvcm06YGAgdGFnLCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgYXMgcGFydCBvZiB0aGUgVGFibGUgb2YKKyAgQ29udGVudHMuCisKKy0gSXNzdWUgIzQ5NjY6IEJyaW5nIHRoZSBzZXF1ZW5jZSBkb2NzIHVwIHRvIGRhdGUgZm9yIHRoZSBQeTNrIHRyYW5zaXRpb24KKyAgYW5kIHRoZSBtYW55IGxhbmd1YWdlIGVuaGFuY2VtZW50cyBzaW5jZSB0aGV5IHdlcmUgb3JpZ2luYWwgd3JpdHRlbgorCistIFRoZSAicGF0aCBpbXBvcnRlciIgbWlzbm9tZXIgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCBFcmljIFNub3cncworICBtb3JlLWF3a3dhcmQtYnV0LWF0LWxlYXN0LW5vdC13cm9uZyBzdWdnZXN0aW9uIG9mICJwYXRoIGJhc2VkIGZpbmRlciIgaW4KKyAgdGhlIGltcG9ydCBzeXN0ZW0gcmVmZXJlbmNlIGRvY3MKKworLSBJc3N1ZSAjMTU2NDA6IERvY3VtZW50IGltcG9ydGxpYi5hYmMuRmluZGVyIGFzIGRlcHJlY2F0ZWQuCisKKy0gSXNzdWUgIzE1NjMwOiBBZGQgYW4gZXhhbXBsZSBmb3IgImNvbnRpbnVlIiBzdG10IGluIHRoZSB0dXRvcmlhbC4gUGF0Y2ggYnkKKyAgRGFuaWVsIEVsbGlzLgorCitUZXN0cworLS0tLS0KKworLSBJc3N1ZSAjMTU3NDc6IFpGUyBhbHdheXMgcmV0dXJucyBFT1BOT1RTVVBQIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgdGhlCisgIFVGX0lNTVVUQUJMRSBmbGFnICh2aWEgZWl0aGVyIGNoZmxhZ3Mgb3IgbGNoZmxhZ3MpOyByZWZhY3RvciBhZmZlY3RlZAorICB0ZXN0cyBpbiB0ZXN0X3Bvc2l4LnB5IHRvIGFjY291bnQgZm9yIHRoaXMuCisKKy0gSXNzdWUgIzE1Mjg1OiBSZWZhY3RvciB0aGUgYXBwcm9hY2ggZm9yIHRlc3RpbmcgY29ubmVjdCB0aW1lb3V0cyB1c2luZworICB0d28gZXh0ZXJuYWwgaG9zdHMgdGhhdCBoYXZlIGJlZW4gY29uZmlndXJlZCBzcGVjaWZpY2FsbHkgZm9yIHRoaXMgdHlwZQorICBvZiB0ZXN0LgorCistIElzc3VlICMxNTc0MzogUmVtb3ZlIHRoZSBkZXByZWNhdGVkIG1ldGhvZCB1c2FnZSBpbiB1cmxsaWIgdGVzdHMuIFBhdGNoIGJ5CisgIEplZmYgS251cHAuCisKKy0gSXNzdWUgIzE1NjE1OiBBZGQgc29tZSB0ZXN0cyBmb3IgdGhlIGpzb24gbW9kdWxlJ3MgaGFuZGxpbmcgb2YgaW52YWxpZAorICBpbnB1dCBkYXRhLiAgUGF0Y2ggYnkgS3VzaGFsIERhcy4KKworQnVpbGQKKy0tLS0tCisKKy0gT3V0cHV0IGxpYiBmaWxlcyBmb3IgUEdPIGJ1aWxkIGludG8gUEdPIGRpcmVjdG9yeS4KKworLSBQaWNrIHVwIDMyLWJpdCBsYXVuY2hlciBmcm9tIFBHTyBkaXJlY3Rvcnkgb24gNjQtYml0IFBHTyBidWlsZC4KKworLSBEcm9wIFBDXHB5dGhvbl9udC5oIGFzIGl0J3Mgbm90IHVzZWQuIEFkZCBpbnB1dCBkZXBlbmRlbmN5IG9uIGN1c3RvbQorICBidWlsZCBzdGVwLgorCistIElzc3VlICMxNTUxMTogRHJvcCBleHBsaWNpdCBkZXBlbmRlbmN5IG9uIHB5dGhvbnh5LmxpYiBmcm9tIF9kZWNpbWFsCisgIGFtZDY0IGNvbmZpZ3VyYXRpb24uCisKKy0gQWRkIG1pc3NpbmcgUEdJL1BHTyBjb25maWd1cmF0aW9ucyBmb3IgcHl3bGF1bmNoZXIuCisKKy0gSXNzdWUgIzE1NjQ1OiBFbnN1cmUgMnRvMyBncmFtbWFyIHBpY2tsZXMgYXJlIHByb3Blcmx5IGluc3RhbGxlZC4KKworCitXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBCZXRhIDI/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKypSZWxlYXNlIGRhdGU6IDEyLUF1Zy0yMDEyKgorCitDb3JlIGFuZCBCdWlsdGlucworLS0tLS0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTU1Njg6IEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mICJ5aWVsZCBmcm9tIiB3aGVuIFN0b3BJdGVyYXRpb24gaXMKKyAgcmFpc2VkIGJ5IGEgY3VzdG9tIGl0ZXJhdG9yLgorCistIElzc3VlICMxMzExOTogc3lzLnN0ZG91dCBhbmQgc3lzLnN0ZGVyciBhcmUgbm93IHVzaW5nICJcclxuIiBuZXdsaW5lIG9uCisgIFdpbmRvd3MsIGFzIFB5dGhvbiAyLgorCistIElzc3VlICMxNTUzNDogRml4IHRoZSBmYXN0LXNlYXJjaCBmdW5jdGlvbiBmb3Igbm9uLUFTQ0lJIFVuaWNvZGUgc3RyaW5ncy4KKworLSBJc3N1ZSAjMTU1MDg6IEZpeCB0aGUgZG9jc3RyaW5nIGZvciBfX2ltcG9ydF9fIHRvIGhhdmUgdGhlIHByb3BlciBkZWZhdWx0CisgIHZhbHVlIG9mIDAgZm9yICdsZXZlbCcgYW5kIHRvIG5vdCBtZW50aW9uIG5lZ2F0aXZlIGxldmVscyBzaW5jZSB0aGV5IGFyZSBub3QKKyAgc3VwcG9ydGVkLgorCistIElzc3VlICMxNTQyNTogRWxpbWluYXRlZCB0cmFjZWJhY2sgbm9pc2UgZnJvbSBtb3JlIHNpdHVhdGlvbnMgaW52b2x2aW5nCisgIGltcG9ydGxpYi4KKworLSBJc3N1ZSAjMTQ1Nzg6IFN1cHBvcnQgbW9kdWxlcyByZWdpc3RlcmVkIGluIHRoZSBXaW5kb3dzIHJlZ2lzdHJ5IGFnYWluLgorCistIElzc3VlICMxNTQ2NjogU3RvcCB1c2luZyBUWVBFX0lOVDY0IGluIG1hcnNoYWwsIHRvIG1ha2UgaW1wb3J0bGliLmggKGFuZCBvdGhlcgorICBieXRlIGNvZGUgZmlsZXMpIGVxdWFsIGJldHdlZW4gMzItYml0IGFuZCA2NC1iaXQgc3lzdGVtcy4KKworLSBJc3N1ZSAjMTY5MjMzNTogTW92ZSBpbml0aWFsIGV4Y2VwdGlvbiBhcmdzIGFzc2lnbm1lbnQgdG8KKyAgIkJhc2VFeGNlcHRpb24uX19uZXdfXyIgdG8gaGVscCBwaWNrbGluZyBvZiBuYWl2ZSBzdWJjbGFzc2VzLgorCistIElzc3VlICMxMjgzNDogRml4IFB5QnVmZmVyX1RvQ29udGlndW91cygpIGZvciBub24tY29udGlndW91cyBhcnJheXMuCisKKy0gSXNzdWUgIzE1NDU2OiBGaXggY29kZSBfX3NpemVvZl9fIGFmdGVyICMxMjM5OSBjaGFuZ2UuICBQYXRjaCBieSBTZXJoaXkKKyAgU3RvcmNoYWthLgorCistIElzc3VlICMxNTQwNDogUmVmbGVhayBpbiBQeU1ldGhvZE9iamVjdCByZXByLgorCistIElzc3VlICMxNTM5NDogQW4gaXNzdWUgaW4gUHlNb2R1bGVfQ3JlYXRlIHRoYXQgY2F1c2VkIHJlZmVyZW5jZXMgdG8gYmUgbGVha2VkCisgIG9uIHNvbWUgZXJyb3IgcGF0aHMgaGFzIGJlZW4gZml4ZWQuICBQYXRjaCBieSBKdWxpYSBMYXdhbGwuCisKKy0gSXNzdWUgIzE1MzY4OiBBbiBpc3N1ZSB0aGF0IGNhdXNlZCBieXRlY29kZSBnZW5lcmF0aW9uIHRvIGJlIG5vbi1kZXRlcm1pbmlzdGljCisgIGhhcyBiZWVuIGZpeGVkLgorCistIElzc3VlICMxNTIwMjogQ29uc2lzdGVudGx5IHVzZSB0aGUgbmFtZSAiZm9sbG93X3N5bWxpbmtzIiBmb3IgbmV3IHBhcmFtZXRlcnMKKyAgaW4gb3MgYW5kIHNodXRpbCBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzE1MzE0OiBfX21haW5fXy5fX2xvYWRlcl9fIGlzIG5vdyBzZXQgY29ycmVjdGx5IGR1cmluZyBpbnRlcnByZXRlcgorICBzdGFydHVwLgorCistIElzc3VlICMxNTExMTogV2hlbiBhIG1vZHVsZSBpbXBvcnRlZCB1c2luZyAnZnJvbSBpbXBvcnQnIGhhcyBhbiBJbXBvcnRFcnJvcgorICBpbnNpZGUgaXRzZWxmLCBkb24ndCBtYXNrIHRoYXQgZmFjdCBiZWhpbmQgYSBnZW5lcmljIEltcG9ydEVycm9yIGZvciB0aGUKKyAgbW9kdWxlIGl0c2VsZi4KKworLSBJc3N1ZSAjMTUyOTM6IEFkZCBHQyBzdXBwb3J0IHRvIHRoZSBBU1QgYmFzZSBub2RlIHR5cGUuCisKKy0gSXNzdWUgIzE1MjkxOiBGaXggYSBtZW1vcnkgbGVhayB3aGVyZSBBU1Qgbm9kZXMgd2hlcmUgbm90IHByb3Blcmx5CisgIGRlYWxsb2NhdGVkLgorCistIElzc3VlICMxNTExMDogRml4IHRoZSB0cmFjZWJhY2tzIGdlbmVyYXRlZCBieSAiaW1wb3J0IHh4eCIgdG8gbm90IHNob3cgdGhlCisgIGltcG9ydGxpYiBzdGFjayBmcmFtZXMuCisKKy0gSXNzdWUgIzE1MDIwOiBUaGUgcHJvZ3JhbSBuYW1lIHVzZWQgdG8gc2VhcmNoIGZvciBQeXRob24ncyBwYXRoIGlzIG5vdworICAicHl0aG9uMyIgdW5kZXIgVW5peCwgbm90ICJweXRob24iLgorCistIElzc3VlICMxNTAzMzogRml4IHRoZSBleGl0IHN0YXR1cyBidWcgd2hlbiBtb2R1bGVzIGludm9rZWQgdXNpbmcgLW0gc3dpdGgsCisgIHJldHVybiB0aGUgcHJvcGVyIGZhaWx1cmUgcmV0dXJuIHZhbHVlICgxKS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgSmVmZiBLbnVwcC4KKworLSBJc3N1ZSAjMTUyMjk6IEFuIE9TRXJyb3Igc3ViY2xhc3Mgd2hvc2UgX19pbml0X18gZG9lc24ndCBjYWxsIGJhY2sKKyAgT1NFcnJvci5fX2luaXRfXyBjb3VsZCBwcm9kdWNlIGluY29tcGxldGUgaW5zdGFuY2VzLCBsZWFkaW5nIHRvIGNyYXNoZXMgd2hlbgorICBjYWxsaW5nIHN0cigpIG9uIHRoZW0uCisKKy0gSXNzdWUgMTUzMDc6IFZpcnR1YWwgZW52aXJvbm1lbnRzIG5vdyB1c2Ugc3ltbGlua3Mgd2l0aCBmcmFtZXdvcmsgYnVpbGRzIG9uCisgIE1hYyBPUyBYLCBsaWtlIG90aGVyIFBPU0lYIGJ1aWxkcy4KKworTGlicmFyeQorLS0tLS0tLQorCistIElzc3VlICMxNTQyNDogQWRkIGEgX19zaXplb2ZfXyBpbXBsZW1lbnRhdGlvbiBmb3IgYXJyYXkgb2JqZWN0cy4gIFBhdGNoIGJ5CisgIEx1ZHdpZyBIw6RobmUuCisKKy0gSXNzdWUgIzE1NTc2OiBBbGxvdyBleHRlbnNpb24gbW9kdWxlcyB0byBhY3QgYXMgYSBwYWNrYWdlJ3MgX19pbml0X18gbW9kdWxlLgorCistIElzc3VlICMxNTUwMjogSGF2ZSBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKSB3b3JrIG9uIHN5cy5tZXRhX3BhdGggaW5zdGVhZAorICBvZiBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZS4KKworLSBJc3N1ZSAjMTUxNjM6IFB5ZG9jIHNob3VsZG4ndCBsaXN0IF9fbG9hZGVyX18gYXMgbW9kdWxlIGRhdGEuCisKKy0gSXNzdWUgIzE1NDcxOiBEbyBub3QgdXNlIG11dGFibGUgb2JqZWN0cyBhcyBkZWZhdWx0cyBmb3IKKyAgaW1wb3J0bGliLl9faW1wb3J0X18oKS4KKworLSBJc3N1ZSAjMTU1NTk6IFRvIGF2b2lkIGEgcHJvYmxlbWF0aWMgZmFpbHVyZSBtb2RlIHdoZW4gcGFzc2VkIHRvIHRoZSBieXRlcworICBjb25zdHJ1Y3Rvciwgb2JqZWN0cyBpbiB0aGUgaXBhZGRyZXNzIG1vZHVsZSBubyBsb25nZXIgaW1wbGVtZW50IF9faW5kZXhfXworICAodGhleSBzdGlsbCBpbXBsZW1lbnQgX19pbnRfXyBhcyBhcHByb3ByaWF0ZSkKKworLSBJc3N1ZSAjMTU1NDY6IEZpeCBoYW5kbGluZyBvZiBwYXRob2xvZ2ljYWwgaW5wdXQgZGF0YSBpbiB0aGUgcGVlaygpIGFuZAorICByZWFkMSgpIG1ldGhvZHMgb2YgdGhlIEJaMkZpbGUsIEd6aXBGaWxlIGFuZCBMWk1BRmlsZSBjbGFzc2VzLgorCistIElzc3VlICMxMzA1MjogRml4IElETEUgY3Jhc2hpbmcgd2hlbiByZXBsYWNlIHN0cmluZyBpbiBTZWFyY2gvUmVwbGFjZSBkaWFsb2cKKyAgZW5kZWQgd2l0aCAnXCcuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMxMjY1NTogSW5zdGVhZCBvZiByZXF1aXJpbmcgYSBjdXN0b20gdHlwZSwgb3Muc2NoZWRfZ2V0YWZmaW5pdHkgYW5kCisgIG9zLnNjaGVkX3NldGFmZmluaXR5IG5vdyB1c2UgcmVndWxhciBzZXRzIG9mIGludGVnZXJzIHRvIHJlcHJlc2VudCB0aGUgQ1BVcyBhCisgIHByb2Nlc3MgaXMgcmVzdHJpY3RlZCB0by4KKworLSBJc3N1ZSAjMTU1Mzg6IEZpeCBjb21waWxhdGlvbiBvZiB0aGUgZ2V0bmFtZWluZm8oKSAvIGdldGFkZHJpbmZvKCkgZW11bGF0aW9uCisgIGNvZGUuICBQYXRjaCBieSBQaGlsaXBwIEhhZ2VtZWlzdGVyLgorCistIElzc3VlICMxNTUxOTogUHJvcGVybHkgZXhwb3NlIFdpbmRvd3NSZWdpc3RyeUZpbmRlciBpbiBpbXBvcnRsaWIgKGFuZCB1c2UgdGhlCisgIGNvcnJlY3QgdGVybSBmb3IgaXQpLiBPcmlnaW5hbCBwYXRjaCBieSBFcmljIFNub3cuCisKKy0gSXNzdWUgIzE1NTAyOiBCcmluZyB0aGUgaW1wb3J0bGliIEFCQ3MgaW50byBsaW5lIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgb2YgdGhlCisgIGltcG9ydCBwcm90b2NvbHMgZ2l2ZW4gUEVQIDQyMC4gT3JpZ2luYWwgcGF0Y2ggYnkgRXJpYyBTbm93LgorCistIElzc3VlICMxNTQ5OTogTGF1bmNoaW5nIGEgd2ViYnJvd3NlciBpbiBVbml4IHVzZWQgdG8gc2xlZXAgZm9yIGEgZmV3IHNlY29uZHMuCisgIE9yaWdpbmFsIHBhdGNoIGJ5IEFudG9uIEJhcmtvdnNreS4KKworLSBJc3N1ZSAjMTU0NjM6IFRoZSBmYXVsdGhhbmRsZXIgbW9kdWxlIHRydW5jYXRlcyBzdHJpbmdzIHRvIDUwMCBjaGFyYWN0ZXJzLAorICBpbnN0ZWFkIG9mIDEwMCwgdG8gYmUgYWJsZSB0byBkaXNwbGF5IGxvbmcgZmlsZSBwYXRocy4KKworLSBJc3N1ZSAjNjA1NjogTWFrZSBtdWx0aXByb2Nlc3NpbmcgdXNlIHNldGJsb2NraW5nKFRydWUpIG9uIHRoZSBzb2NrZXRzIGl0CisgIHVzZXMuICBPcmlnaW5hbCBwYXRjaCBieSBKIERlcmVrIFdpbHNvbi4KKworLSBJc3N1ZSAjMTUzNjQ6IEZpeCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ3NyY2RpcicpIHRvIGJlIGFuIGFic29sdXRlIHBhdGguCisKKy0gSXNzdWUgIzE1MDQxOiBVcGRhdGUgInNlZSBhbHNvIiBsaXN0IGluIHRraW50ZXIgZG9jdW1lbnRhdGlvbi4KKworLSBJc3N1ZSAjMTU0MTM6IG9zLnRpbWVzKCkgaGFkIGRpc2FwcGVhcmVkIHVuZGVyIFdpbmRvd3MuCisKKy0gSXNzdWUgIzE1NDAyOiBBbiBpc3N1ZSBpbiB0aGUgc3RydWN0IG1vZHVsZSB0aGF0IGNhdXNlZCBzeXMuZ2V0c2l6ZW9mIHRvCisgIHJldHVybiBpbmNvcnJlY3QgcmVzdWx0cyBmb3Igc3RydWN0LlN0cnVjdCBpbnN0YW5jZXMgaGFzIGJlZW4gZml4ZWQuICBJbml0aWFsCisgIHBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzE1MjMyOiBXaGVuIG1hbmdsZV9mcm9tIGlzIFRydWUsIGVtYWlsLkdlbmVyYXRvciBub3cgY29ycmVjdGx5IG1hbmdsZXMKKyAgbGluZXMgdGhhdCBzdGFydCB3aXRoICdGcm9tICcgdGhhdCBvY2N1ciBpbiBhIE1JTUUgcHJlYW1ibGUgb3IgZXBpbG9ndWUuCisKKy0gSXNzdWUgIzE1MDk0OiBJbmNvcnJlY3RseSBwbGFjZWQgI2VuZGlmIGluIF90a2ludGVyLmMuICBQYXRjaCBieSBTZXJoaXkKKyAgU3RvcmNoYWthLgorCistIElzc3VlICMxMzkyMjogYXJncGFyc2Ugbm8gbG9uZ2VyIGluY29ycmVjdGx5IHN0cmlwcyAnLS0ncyB0aGF0IGFwcGVhciBhZnRlcgorICB0aGUgZmlyc3Qgb25lLgorCistIElzc3VlICMxMjM1MzogYXJncGFyc2Ugbm93IGNvcnJlY3RseSBoYW5kbGVzIG51bGwgYXJndW1lbnQgdmFsdWVzLgorCistIElzc3VlICMxMDAxNywgaXNzdWUgIzE0OTk4OiBGaXggVHlwZUVycm9yIHVzaW5nIHBwcmludCBvbiBkaWN0aW9uYXJpZXMgd2l0aAorICB1c2VyLWRlZmluZWQgdHlwZXMgYXMga2V5cyBvciBvdGhlciB1bm9yZGVyYWJsZSBrZXlzLgorCistIElzc3VlICMxNTM5NzogaW5zcGVjdC5nZXRtb2R1bGVuYW1lKCkgaXMgbm93IGJhc2VkIGRpcmVjdGx5IG9uIGltcG9ydGxpYiB2aWEgYQorICBuZXcgaW1wb3J0bGliLm1hY2hpbmVyeS5hbGxfc3VmZml4ZXMoKSBBUEkuCisKKy0gSXNzdWUgIzE0NjM1OiB0ZWxuZXRsaWIgd2lsbCB1c2UgcG9sbCgpIHJhdGhlciB0aGFuIHNlbGVjdCgpIHdoZW4gcG9zc2libGUgdG8KKyAgYXZvaWQgZmFpbGluZyBkdWUgdG8gdGhlIHNlbGVjdCgpIGZpbGUgZGVzY3JpcHRvciBsaW1pdC4KKworLSBJc3N1ZSAjMTUxODA6IENsYXJpZnkgcG9zaXhwYXRoLmpvaW4oKSBlcnJvciBtZXNzYWdlIHdoZW4gbWl4aW5nIHN0ciAmIGJ5dGVzLgorCistIElzc3VlICMxNTM0MzogcGtndXRpbCBub3cgaW5jbHVkZXMgYW4gaXRlcl9pbXBvcnRlcl9tb2R1bGVzIGltcGxlbWVudGF0aW9uIGZvcgorICBpbXBvcnRsaWIubWFjaGluZXJ5LkZpbGVGaW5kZXIgKHNpbWlsYXIgdG8gdGhlIHdheSBpdCBhbHJlYWR5IGhhbmRsZWQKKyAgemlwaW1wb3J0LnppcGltcG9ydGVyKS4KKworLSBJc3N1ZSAjMTUzMTQ6IHJ1bnB5IG5vdyBzZXRzIF9fbWFpbl9fLl9fbG9hZGVyX18gY29ycmVjdGx5LgorCistIElzc3VlICMxNTM1NzogVGhlIGltcG9ydCBlbXVsYXRpb24gaW4gcGtndXRpbCBpcyBub3cgZGVwcmVjYXRlZC4gcGtndXRpbCB1c2VzCisgIGltcG9ydGxpYiBpbnRlcm5hbGx5IHJhdGhlciB0aGFuIHRoZSBlbXVsYXRpb24uCisKKy0gSXNzdWUgIzE1MjMzOiBQeXRob24gbm93IGd1YXJhbnRlZXMgdGhhdCBjYWxsYWJsZXMgcmVnaXN0ZXJlZCB3aXRoIHRoZSBhdGV4aXQKKyAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGluIGEgZGV0ZXJtaW5pc3RpYyBvcmRlci4KKworLSBJc3N1ZSAjMTUyMzg6IHNodXRpbC5jb3B5c3RhdCBub3cgY29waWVzIExpbnV4ICJleHRlbmRlZCBhdHRyaWJ1dGVzIi4KKworLSBJc3N1ZSAjMTUyMzA6IHJ1bnB5LnJ1bl9wYXRoIG5vdyBjb3JyZWN0bHkgc2V0cyBfX3BhY2thZ2VfXyBhcyBkZXNjcmliZWQgaW4KKyAgdGhlIGRvY3VtZW50YXRpb24uCisKKy0gSXNzdWUgIzE1MzE1OiBTdXBwb3J0IFZTIDIwMTAgaW4gZGlzdHV0aWxzIGN5Z3dpbmNvbXBpbGVyLgorCistIElzc3VlICMxNTI5NDogRml4IGEgcmVncmVzc2lvbiBpbiBwa2d1dGlsLmV4dGVuZF9wYXRoKCkncyBoYW5kbGluZyBvZiBuZXN0ZWQKKyAgbmFtZXNwYWNlIHBhY2thZ2VzLgorCistIElzc3VlICMxNTA1NjogaW1wLmNhY2hlX2Zyb21fc291cmNlKCkgYW5kIHNvdXJjZV9mcm9tX2NhY2hlKCkgcmFpc2UKKyAgTm90SW1wbGVtZW50ZWRFcnJvciB3aGVuIHN5cy5pbXBsZW1lbnRhdGlvbi5jYWNoZV90YWcgaXMgc2V0IHRvIE5vbmUuCisKKy0gSXNzdWUgIzE1MjU2OiBHcmFtbWF0aWNhbCBtaXN0YWtlIGluIGV4Y2VwdGlvbiByYWlzZWQgYnkgaW1wLmZpbmRfbW9kdWxlKCkuCisKKy0gSXNzdWUgIzU5MzE6IHdzZ2lyZWYgZW52aXJvbiB2YXJpYWJsZSBTRVJWRVJfU09GVFdBUkUgd2lsbCBzcGVjaWZ5IGFuCisgIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHRlcm0gbGlrZSBDUHl0aG9uLCBKeXRob24gaW5zdGVhZCBvZiBnZW5lcmljICJQeXRob24iLgorCistIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJtYXhfYnVmZmVyX3NpemUiIG9mIEJ1ZmZlcmVkV3JpdGVyIGFuZAorICBCdWZmZXJlZFJXUGFpciwgZnJvbSB0aGUgaW8gbW9kdWxlLgorCistIElzc3VlICMxMzI0ODogUmVtb3ZlIG9ic29sZXRlIGFyZ3VtZW50ICJ2ZXJzaW9uIiBvZiBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlci4KKworLSBJc3N1ZSAjMTQ4MTQ6IEltcGxlbWVudCBtb3JlIGNvbnNpc3RlbnQgb3JkZXJpbmcgYW5kIHNvcnRpbmcgYmVoYXZpb3VyIGZvcgorICBpcGFkZHJlc3Mgb2JqZWN0cy4KKworLSBJc3N1ZSAjMTQ4MTQ6IGlwYWRkcmVzcyBuZXR3b3JrIG9iamVjdHMgY29ycmVjdGx5IHJldHVybiBOb3RJbXBsZW1lbnRlZCB3aGVuCisgIGNvbXBhcmVkIHRvIGFyYml0cmFyeSBvYmplY3RzIGluc3RlYWQgb2YgcmFpc2luZyBUeXBlRXJyb3IuCisKKy0gSXNzdWUgIzE0OTkwOiBDb3JyZWN0bHkgZmFpbCB3aXRoIFN5bnRheEVycm9yIG9uIGludmFsaWQgZW5jb2RpbmcgZGVjbGFyYXRpb24uCisKKy0gSXNzdWUgIzE0ODE0OiBpcGFkZHJlc3Mgbm93IHByb3ZpZGVzIG1vcmUgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZXMgd2hlbgorICBjb25zdHJ1Y3RpbmcgaW5zdGFuY2VzIGRpcmVjdGx5IChjaGFuZ2VzIHBlcm1pdHRlZCBkdXJpbmcgYmV0YSBkdWUgdG8KKyAgcHJvdmlzaW9uYWwgQVBJIHN0YXR1cykuCisKKy0gSXNzdWUgIzE1MjQ3OiBGaWxlSU8gbm93IHJhaXNlcyBhbiBlcnJvciB3aGVuIGdpdmVuIGEgZmlsZSBkZXNjcmlwdG9yIHBvaW50aW5nCisgIHRvIGEgZGlyZWN0b3J5LgorCistIElzc3VlICMxNTI2MTogU3RvcCBvcy5zdGF0KGZkKSBjcmFzaGluZyBvbiBXaW5kb3dzIHdoZW4gZmQgbm90IG9wZW4uCisKKy0gSXNzdWUgIzE1MTY2OiBJbXBsZW1lbnQgaW1wLmdldF90YWcoKSB1c2luZyBzeXMuaW1wbGVtZW50YXRpb24uY2FjaGVfdGFnLgorCistIElzc3VlICMxNTIxMDogQ2F0Y2ggS2V5RXJyb3Igd2hlbiBpbXBvcnRsaWIuX19pbml0X18gY2FuJ3QgZmluZAorICBfZnJvemVuX2ltcG9ydGxpYiBpbiBzeXMubW9kdWxlcywgbm90IEltcG9ydEVycm9yLgorCistIElzc3VlICMxNTAzMDogaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlciBub3cgc3VwcG9ydHMgdGhlIG5ldyBzb3VyY2Ugc2l6ZQorICBoZWFkZXIgZmllbGQgaW4gLnB5YyBmaWxlcy4KKworLSBJc3N1ZSAjNTM0NjogUHJlc2VydmUgcGVybWlzc2lvbnMgb2YgbWJveCwgTU1ERiBhbmQgQmFieWwgbWFpbGJveCBmaWxlcyBvbgorICBmbHVzaCgpLgorCistIElzc3VlICMxMDU3MTogRml4IHRoZSAiLS1zaWduIiBvcHRpb24gb2YgZGlzdHV0aWxzJyB1cGxvYWQgY29tbWFuZC4gIFBhdGNoIGJ5CisgIEpha3ViIFdpbGsuCisKKy0gSXNzdWUgIzk1NTk6IElmIG1lc3NhZ2VzIHdlcmUgb25seSBhZGRlZCwgYSBuZXcgZmlsZSBpcyBubyBsb25nZXIgY3JlYXRlZCBhbmQKKyAgcmVuYW1lZCBvdmVyIHRoZSBvbGQgZmlsZSB3aGVuIGZsdXNoKCkgaXMgY2FsbGVkIG9uIGFuIG1ib3gsIE1NREYgb3IgQmFieWwKKyAgbWFpbGJveC4KKworLSBJc3N1ZSAxMDkyNDogRml4ZWQgY3J5cHQubWtzYWx0KCkgdG8gdXNlIGEgUk5HIHRoYXQgaXMgc3VpdGFibGUgZm9yCisgIGNyeXB0b2dyYXBoaWMgcHVycG9zZS4KKworLSBJc3N1ZSAjMTUxODQ6IEVuc3VyZSBjb25zaXN0ZW50IHJlc3VsdHMgb2YgT1MgWCBjb25maWd1cmF0aW9uIHRhaWxvcmluZyBmb3IKKyAgdW5pdmVyc2FsIGJ1aWxkcyBieSBmYWN0b3Jpbmcgb3V0IGNvbW1vbiBPUyBYLXNwZWNpZmljIGN1c3RvbWl6YXRpb25zIGZyb20KKyAgc3lzY29uZmlnLCBkaXN0dXRpbHMuc3lzY29uZmlnLCBkaXN0dXRpbHMudXRpbCwgYW5kIGRpc3R1dGlscy51bml4Y2NvbXBpbGVyCisgIGludG8gYSBuZXcgbW9kdWxlIF9vc3hfc3VwcG9ydC4KKworQyBBUEkKKy0tLS0tCisKKy0gSXNzdWUgIzE1NjEwOiBQeUltcG9ydF9JbXBvcnRNb2R1bGVFeCgpIG5vdyB1c2VzIGEgJ2xldmVsJyBvZiAwIGluc3RlYWQgb2YgLTEuCisKKy0gSXNzdWVzICMxNTE2OSwgIzE0NTk5OiBTdHJpcCBvdXQgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YKKyAgaW1wLnNvdXJjZV9mcm9tX2NhY2hlKCkgdXNlZCBieSBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoKSBhbmQKKyAgdXNlZCB0aGUgUHl0aG9uIGNvZGUgaW5zdGVhZC4gTGVhZHMgdG8gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QoKSB0byBub3QKKyAgdHJ5IHRvIGluZmVyIHRoZSBzb3VyY2UgcGF0aCBmcm9tIHRoZSBieXRlY29kZSBwYXRoIGFzCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygpIGRvZXMuCisKK0V4dGVuc2lvbiBNb2R1bGVzCistLS0tLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNTY3NjogTm93ICJtbWFwIiBjaGVjayBmb3IgZW1wdHkgZmlsZXMgYmVmb3JlIGRvaW5nIHRoZQorICBvZmZzZXQgY2hlY2suICBQYXRjaCBieSBTdGV2ZW4gV2lsbGlzLgorCistIElzc3VlICM2NDkzOiBBbiBpc3N1ZSBpbiBjdHlwZXMgb24gV2luZG93cyB0aGF0IGNhdXNlZCBzdHJ1Y3R1cmUgYml0ZmllbGRzCisgIG9mIHR5cGUgY3R5cGVzLmNfdWludDMyIGFuZCB3aWR0aCAzMiB0byBpbmNvcnJlY3RseSBiZSBzZXQgaGFzIGJlZW4gZml4ZWQuCisKKy0gSXNzdWUgIzE1MTk0OiBVcGRhdGUgbGliZmZpIHRvIHRoZSAzLjAuMTEgcmVsZWFzZS4KKworVG9vbHMvRGVtb3MKKy0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzE1NDU4OiBweXRob24tY29uZmlnIGdldHMgYSBuZXcgb3B0aW9uIC0tY29uZmlnZGlyIHRvIHByaW50IHRoZSAkTElCUEwKKyAgdmFsdWUuCisKKy0gTW92ZSBpbXBvcnRsaWIudGVzdC5iZW5jaG1hcmsgdG8gVG9vbHMvaW1wb3J0YmVuY2guCisKKy0gSXNzdWUgIzEyNjA1OiBUaGUgZ2RiIGhvb2tzIGZvciBkZWJ1Z2dpbmcgQ1B5dGhvbiAod2l0aGluIFRvb2xzL2dkYikgaGF2ZSBiZWVuCisgIGVuaGFuY2VkIHRvIHNob3cgaW5mb3JtYXRpb24gb24gbW9yZSBDIGZyYW1lcyByZWxldmFudCB0byBDUHl0aG9uIHdpdGhpbiB0aGUKKyAgInB5LWJ0IiBhbmQgInB5LWJ0LWZ1bGwiIGNvbW1hbmRzOgorCisgICogQyBmcmFtZXMgdGhhdCBhcmUgd2FpdGluZyBvbiB0aGUgR0lMCisgICogQyBmcmFtZXMgdGhhdCBhcmUgZ2FyYmFnZS1jb2xsZWN0aW5nCisgICogQyBmcmFtZXMgdGhhdCBhcmUgZHVlIHRvIHRoZSBpbnZvY2F0aW9uIG9mIGEgUHlDRnVuY3Rpb24KKworRG9jdW1lbnRhdGlvbgorLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNTQ0NDogVXNlIHByb3BlciBzcGVsbGluZyBmb3Igbm9uLUFTQ0lJIGNvbnRyaWJ1dG9yIG5hbWVzLiAgUGF0Y2gKKyAgYnkgU2VyaGl5IFN0b3JjaGFrYS4KKworLSBJc3N1ZSAjMTUyOTU6IFJlb3JnYW5pemUgYW5kIHJld3JpdGUgdGhlIGRvY3VtZW50YXRpb24gb24gdGhlIGltcG9ydCBzeXN0ZW0uCisKKy0gSXNzdWUgIzE1MjMwOiBDbGVhcmx5IGRvY3VtZW50IHNvbWUgb2YgdGhlIGxpbWl0YXRpb25zIG9mIHRoZSBydW5weSBtb2R1bGUgYW5kCisgIG51ZGdlIHJlYWRlcnMgdG93YXJkcyBpbXBvcnRsaWIgd2hlbiBhcHByb3ByaWF0ZS4KKworLSBJc3N1ZSAjMTUwNTM6IENvcHkgUHl0aG9uIDMuMyBpbXBvcnQgbG9jayBjaGFuZ2Ugbm90aWNlIHRvIGFsbCByZWxldmFudAorICBmdW5jdGlvbnMgaW4gaW1wIGluc3RlYWQgb2YganVzdCBhdCB0aGUgdG9wIG9mIHRoZSByZWxldmFudCBzZWN0aW9uLgorCistIElzc3VlICMxNTI4ODogTGluayB0byB0aGUgdGVybSAibG9hZGVyIiBpbiBub3RlcyBpbiBwa2d1dGlsIGFib3V0IGhvdyB0aGluZ3MKKyAgd29uJ3Qgd29yayBhcyBleHBlY3RlZCBpbiBQeXRob24gMy4zIGFuZCBtYXJrIHRoZSByZXF1aXNpdGUgZnVuY3Rpb25zIGFzCisgICJjaGFuZ2VkIiBzaW5jZSB0aGV5IHdpbGwgbm8gbG9uZ2VyIHdvcmsgd2l0aCBtb2R1bGVzIGRpcmVjdGx5IGltcG9ydGVkIGJ5CisgIGltcG9ydCBpdHNlbGYuCisKKy0gSXNzdWUgIzEzNTU3OiBDbGFyaWZ5IGVmZmVjdCBvZiBnaXZpbmcgdHdvIGRpZmZlcmVudCBuYW1lc3BhY2VzIHRvIGV4ZWMgb3IKKyAgZXhlY2ZpbGUoKS4KKworLSBJc3N1ZSAjMTUyNTA6IERvY3VtZW50IHRoYXQgZmlsZWNtcC5kaXJjbXAgY29tcGFyZXMgZmlsZXMgc2hhbGxvd2x5LiBQYXRjaAorICBjb250cmlidXRlZCBieSBDaHJpcyBKZXJkb25lay4KKworVGVzdHMKKy0tLS0tCisKKy0gSXNzdWUgIzE1NDY3OiBNb3ZlIGhlbHBlcnMgZm9yIF9fc2l6ZW9mX18gdGVzdHMgaW50byB0ZXN0X3N1cHBvcnQuICBQYXRjaCBieQorICBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxNTMyMDogTWFrZSBpdGVyYXRpbmcgdGhlIGxpc3Qgb2YgdGVzdHMgdGhyZWFkLXNhZmUgd2hlbiBydW5uaW5nIHRlc3RzCisgIGluIG11bHRpcHJvY2VzcyBtb2RlLiBQYXRjaCBieSBDaHJpcyBKZXJkb25lay4KKworLSBJc3N1ZSAjMTUxNjg6IE1vdmUgaW1wb3J0bGliLnRlc3QgdG8gdGVzdC50ZXN0X2ltcG9ydGxpYi4KKworLSBJc3N1ZSAjMTUwOTE6IFJlYWN0aXZhdGUgYSB0ZXN0IG9uIFVOSVggd2hpY2ggd2FzIGZhaWxpbmcgdGhhbmtzIHRvIGEKKyAgZm9yZ290dGVuIGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpIGNhbGwuCisKKy0gSXNzdWUgIzE1MjMwOiBBZG9wdGVkIGEgbW9yZSBzeXN0ZW1hdGljIGFwcHJvYWNoIGluIHRoZSBydW5weSB0ZXN0cy4KKworLSBJc3N1ZSAjMTUzMDA6IEVuc3VyZSB0aGUgdGVtcG9yYXJ5IHRlc3Qgd29ya2luZyBkaXJlY3RvcmllcyBhcmUgaW4gdGhlIHNhbWUKKyAgcGFyZW50IGZvbGRlciB3aGVuIHJ1bm5pbmcgdGVzdHMgaW4gbXVsdGlwcm9jZXNzIG1vZGUgZnJvbSBhIFB5dGhvbiBidWlsZC4KKyAgUGF0Y2ggYnkgQ2hyaXMgSmVyZG9uZWsuCisKKy0gSXNzdWUgIzE1Mjg0OiBTa2lwIHtzZW5kLHJlY3Z9bXNnIHRlc3RzIGluIHRlc3Rfc29ja2V0IHdoZW4gSVB2NiBpcyBub3QKKyAgZW5hYmxlZC4gUGF0Y2ggYnkgQnJpYW4gQnJhemlsLgorCistIElzc3VlICMxNTI3NzogRml4IGEgcmVzb3VyY2UgbGVhayBpbiBzdXBwb3J0LnB5IHdoZW4gSVB2NiBpcyBkaXNhYmxlZC4gIFBhdGNoCisgIGJ5IEJyaWFuIEJyYXppbC4KKworQnVpbGQKKy0tLS0tCisKKy0gSXNzdWUgIzExNzE1OiBGaXggbXVsdGlhcmNoIGRldGVjdGlvbiB3aXRob3V0IGhhdmluZyBEZWJpYW4gZGV2ZWxvcG1lbnQgdG9vbHMKKyAgKGRwa2ctZGV2KSBpbnN0YWxsZWQuCisKKy0gSXNzdWUgIzE1MDM3OiBCdWlsZCBPUyBYIGluc3RhbGxlcnMgd2l0aCBsb2NhbCBjb3B5IG9mIG5jdXJzZXMgNS45IGxpYnJhcmllcworICB0byBhdm9pZCBjdXJzZXMudW5nZXRfd2NoIGJ1ZyBwcmVzZW50IGluIG9sZGVyIHZlcnNpb25zIG9mIG5jdXJzZXMgc3VjaCBhcworICB0aG9zZSBzaGlwcGVkIHdpdGggT1MgWC4KKworLSBJc3N1ZSAjMTU1NjA6IEZpeCBidWlsZGluZyBfc3FsaXRlMyBleHRlbnNpb24gb24gT1MgWCB3aXRoIGFuIFNESy4gIEFsc28sIGZvcgorICBPUyBYIGluc3RhbGxlcnMsIGVuc3VyZSBjb25zaXN0ZW50IHNxbGl0ZTMgYmVoYXZpb3IgYW5kIGZlYXR1cmUgYXZhaWxhYmlsaXR5CisgIGJ5IGJ1aWxkaW5nIGEgbG9jYWwgY29weSBvZiBsaWJzcWxpdGUzIHJhdGhlciB0aGFuIGRlcGVuZGluZyBvbiB0aGUgd2lkZSByYW5nZQorICBvZiB2ZXJzaW9ucyBzdXBwbGllZCB3aXRoIHZhcmlvdXMgT1MgWCByZWxlYXNlcy4KKworLSBJc3N1ZSAjODg0NzogRGlzYWJsZSBDT01EQVQgZm9sZGluZyBpbiBXaW5kb3dzIFBHTyBidWlsZHMuCisKKy0gSXNzdWUgIzE0MDE4OiBGaXggT1MgWCBUY2wvVGsgZnJhbWV3b3JrIGNoZWNraW5nIHdoZW4gdXNpbmcgT1MgWCBTREtzLgorCistIElzc3VlICMxNTQzMTogQWRkIF9mcmVlemVfaW1wb3J0bGliIHByb2plY3QgdG8gcmVnZW5lcmF0ZSBpbXBvcnRsaWIuaCBvbgorICBXaW5kb3dzLiBQYXRjaCBieSBLcmlzdGrDoW4gVmFsdXIgSsOzbnNzb24uCisKKy0gSXNzdWUgIzE0MTk3OiBGb3IgT1MgWCBmcmFtZXdvcmsgYnVpbGRzLCBlbnN1cmUgbGlua3MgdG8gdGhlIHNoYXJlZCBsaWJyYXJ5CisgIGFyZSBjcmVhdGVkIHdpdGggdGhlIHByb3BlciBBQkkgc3VmZml4LgorCistIElzc3VlICMxNDMzMDogRm9yIGNyb3NzIGJ1aWxkcywgZG9uJ3QgdXNlIGhvc3QgcHl0aG9uLCB1c2UgaG9zdCBzZWFyY2ggcGF0aHMKKyAgZm9yIGhvc3QgY29tcGlsZXIuCisKKy0gSXNzdWUgIzE1MjM1OiBBbGxvdyBCZXJrbGV5IERCIHZlcnNpb25zIHVwIHRvIDUuMyB0byBidWlsZCB0aGUgZGJtIG1vZHVsZS4KKworLSBJc3N1ZSAjMTUyNjg6IFNlYXJjaCBjdXJzZXMuaCBpbiAvdXNyL2luY2x1ZGUvbmN1cnNlc3cuCisKKworV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQmV0YSAxPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisqUmVsZWFzZSBkYXRlOiAyNy1KdW4tMjAxMioKKworQ29yZSBhbmQgQnVpbHRpbnMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gRml4IGEgKG1vc3QgbGlrZWx5KSB2ZXJ5IHJhcmUgbWVtb3J5IGxlYWsgd2hlbiBjYWxsaW5nIG1haW4oKSBhbmQgbm90IGJlaW5nCisgIGFibGUgdG8gZGVjb2RlIGEgY29tbWFuZC1saW5lIGFyZ3VtZW50LgorCistIElzc3VlICMxNDgxNTogVXNlIFB5X3NzaXplX3QgaW5zdGVhZCBvZiBsb25nIGZvciB0aGUgb2JqZWN0IGhhc2gsIHRvCisgIHByZXNlcnZlIGFsbCA2NCBiaXRzIG9mIGhhc2ggb24gV2luNjQuCisKKy0gSXNzdWUgIzEyMjY4OiBGaWxlIHJlYWRsaW5lLCByZWFkbGluZXMgYW5kIHJlYWQoKSBvciByZWFkYWxsKCkgbWV0aG9kcworICBubyBsb25nZXIgbG9zZSBkYXRhIHdoZW4gYW4gdW5kZXJseWluZyByZWFkIHN5c3RlbSBjYWxsIGlzIGludGVycnVwdGVkLgorICBJT0Vycm9yIGlzIG5vIGxvbmdlciByYWlzZWQgZHVlIHRvIGEgcmVhZCBzeXN0ZW0gY2FsbCByZXR1cm5pbmcgRUlOVFIKKyAgZnJvbSB3aXRoaW4gdGhlc2UgbWV0aG9kcy4KKworLSBJc3N1ZSAjMTE2MjY6IEFkZCBfU2l6ZVQgZnVuY3Rpb25zIHRvIHN0YWJsZSBBQkkuCisKKy0gSXNzdWUgIzE1MTQ2OiBBZGQgUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKKy0gSXNzdWUgIzE1MTQyOiBGaXggcmVmZXJlbmNlIGxlYWsgd2hlbiBkZWFsbG9jYXRpbmcgaW5zdGFuY2VzIG9mIHR5cGVzCisgIGNyZWF0ZWQgdXNpbmcgUHlUeXBlX0Zyb21TcGVjKCkuCisKKy0gSXNzdWUgIzE1MDQyOiBBZGQgUHlTdGF0ZV9BZGRNb2R1bGUgYW5kIFB5U3RhdGVfUmVtb3ZlTW9kdWxlLiBBZGQgdmVyc2lvbgorICBndWFyZCBmb3IgUHlfTElNSVRFRF9BUEkgYWRkaXRpb25zLiBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKKy0gSXNzdWUgIzEwMDUzOiBEb24ndCBjbG9zZSBGRHMgd2hlbiBGaWxlSU8uX19pbml0X18gZmFpbHMuIExvb3NlbHkgYmFzZWQgb24KKyAgdGhlIHdvcmsgYnkgSGlyb2thenUgWWFtYW1vdG8uCisKKy0gSXNzdWUgIzE1MDk2OiBSZW1vdmVkIHN1cHBvcnQgZm9yIHVyJycgYXMgdGhlIHJhdyBub3RhdGlvbiBpc24ndAorICBjb21wYXRpYmxlIHdpdGggUHl0aG9uIDIueCdzIHJhdyB1bmljb2RlIHN0cmluZ3MuCisKKy0gSXNzdWUgIzEzNzgzOiBHZW5lcmF0b3Igb2JqZWN0cyBub3cgdXNlIHRoZSBpZGVudGlmaWVyIEFQSXMgaW50ZXJuYWxseQorCistIElzc3VlICMxNDg3NDogUmVzdG9yZSBjaGFybWFwIGRlY29kaW5nIHNwZWVkIHRvIHByZS1QRVAgMzkzIGxldmVscy4KKyAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KKworLSBJc3N1ZSAjMTUwMjY6IHV0Zi0xNiBlbmNvZGluZyBpcyBub3cgc2lnbmlmaWNhbnRseSBmYXN0ZXIgKHVwIHRvIDEweCkuCisgIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzExMDIyOiBvcGVuKCkgYW5kIGlvLlRleHRJT1dyYXBwZXIgYXJlIG5vdyBjYWxsaW5nCisgIGxvY2FsZS5nZXRwcmVmZXJyZWRlbmNvZGluZyhGYWxzZSkgaW5zdGVhZCBvZiBsb2NhbGUuZ2V0cHJlZmVycmVkZW5jb2RpbmcoKQorICBpbiB0ZXh0IG1vZGUgaWYgdGhlIGVuY29kaW5nIGlzIG5vdCBzcGVjaWZpZWQuIERvbid0IGNoYW5nZSB0ZW1wb3JhcnkgdGhlCisgIGxvY2FsZSBlbmNvZGluZyB1c2luZyBsb2NhbGUuc2V0bG9jYWxlKCksIHVzZSB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcKKyAgaW5zdGVhZCBvZiB0aGUgdXNlciBwcmVmZXJyZWQgZW5jb2RpbmcuCisKKy0gSXNzdWUgIzE0NjczOiBBZGQgRXJpYyBTbm93J3Mgc3lzLmltcGxlbWVudGF0aW9uIGltcGxlbWVudGF0aW9uLgorCistIElzc3VlICMxNTAzODogT3B0aW1pemUgcHl0aG9uIExvY2tzIG9uIFdpbmRvd3MuCisKK0xpYnJhcnkKKy0tLS0tLS0KKworLSBJc3N1ZSAjOTgwMzogRG9uJ3QgY2xvc2UgSURMRSBvbiBzYXZpbmcgaWYgYnJlYWtwb2ludCBpcyBvcGVuLgorICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMTIyODg6IENvbnNpZGVyICcwJyBhbmQgJzAuMCcgYXMgdmFsaWQgaW5pdGlhbHZhbHVlCisgIGZvciB0a2ludGVyIFNpbXBsZURpYWxvZy4KKworLSBJc3N1ZSAjMTU1MTI6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIHBhcnNlci4KKyAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KKworLSBJc3N1ZSAjMTU0Njk6IEFkZCBhIF9fc2l6ZW9mX18gaW1wbGVtZW50YXRpb24gZm9yIGRlcXVlIG9iamVjdHMuCisgIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzE1NDg5OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBCeXRlc0lPIG9iamVjdHMuCisgIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzE1NDg3OiBBZGQgYSBfX3NpemVvZl9fIGltcGxlbWVudGF0aW9uIGZvciBidWZmZXJlZCBJL08gb2JqZWN0cy4KKyAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KKworLSBJc3N1ZSAjMTU1MTQ6IENvcnJlY3QgX19zaXplb2ZfXyBzdXBwb3J0IGZvciBjcHVfc2V0LgorICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxNTE4NzogQnVnZml4OiByZW1vdmUgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHRlc3Rfc2h1dGlsIHdhcyBsZWF2aW5nCisgIGJlaGluZC4KKworLSBJc3N1ZSAjMTUxNzc6IEFkZGVkIGRpcl9mZCBwYXJhbWV0ZXIgdG8gb3MuZndhbGsoKS4KKworLSBJc3N1ZSAjMTUxNzY6IENsYXJpZmllZCBiZWhhdmlvciwgZG9jdW1lbnRhdGlvbiwgYW5kIGltcGxlbWVudGF0aW9uCisgIG9mIG9zLmxpc3RkaXIoKS4KKworLSBJc3N1ZSAjMTUwNjE6IFJlLWltcGxlbWVudGVkIGhtYWMuY29tcGFyZV9kaWdlc3QoKSBpbiBDIHRvIHByZXZlbnQgZnVydGhlcgorICB0aW1pbmcgYW5hbHlzaXMgYW5kIHRvIHN1cHBvcnQgYWxsIGJ1ZmZlciBwcm90b2NvbCBhd2FyZSBvYmplY3RzIGFzIHdlbGwgYXMKKyAgQVNDSUkgb25seSBzdHIgaW5zdGFuY2VzIHNhZmVseS4KKworLSBJc3N1ZSAjMTUxNjQ6IENoYW5nZSByZXR1cm4gdmFsdWUgb2YgcGxhdGZvcm0udW5hbWUoKSBmcm9tIGEKKyAgcGxhaW4gdHVwbGUgdG8gYSBjb2xsZWN0aW9ucy5uYW1lZHR1cGxlLgorCistIFN1cHBvcnQgTWFnZWlhIExpbnV4IGluIHRoZSBwbGF0Zm9ybSBtb2R1bGUuCisKKy0gSXNzdWUgIzExNjc4OiBTdXBwb3J0IEFyY2ggbGludXggaW4gdGhlIHBsYXRmb3JtIG1vZHVsZS4KKworLSBJc3N1ZSAjMTUxMTg6IENoYW5nZSByZXR1cm4gdmFsdWUgb2Ygb3MudW5hbWUoKSBhbmQgb3MudGltZXMoKSBmcm9tCisgIHBsYWluIHR1cGxlcyB0byBpbW11dGFibGUgaXRlcmFibGUgb2JqZWN0cyB3aXRoIG5hbWVkIGF0dHJpYnV0ZXMKKyAgKHN0cnVjdHNlcSBvYmplY3RzKS4KKworLSBTcGVlZCB1cCBfZGVjaW1hbCBieSBhbm90aGVyIDEwLTE1JSBieSBjYWNoaW5nIHRoZSB0aHJlYWQgbG9jYWwgY29udGV4dAorICB0aGF0IHdhcyBsYXN0IGFjY2Vzc2VkLiBJbiB0aGUgcGkgYmVuY2htYXJrICg2NC1iaXQgcGxhdGZvcm0sIHByZWM9OSksCisgIF9kZWNpbWFsIGlzIG5vdyBvbmx5IDEuNXggc2xvd2VyIHRoYW4gZmxvYXQuCisKKy0gUmVtb3ZlIHRoZSBwYWNrYWdpbmcgbW9kdWxlLCB3aGljaCBpcyBub3QgcmVhZHkgZm9yIHByaW1lIHRpbWUuCisKKy0gSXNzdWUgIzE1MTU0OiBBZGQgImRpcl9mZCIgcGFyYW1ldGVyIHRvIG9zLnJtZGlyLCByZW1vdmUgInJtZGlyIgorICBwYXJhbWV0ZXIgZnJvbSBvcy5yZW1vdmUgLyBvcy51bmxpbmsuCisKKy0gSXNzdWUgIzQ0ODk6IEFkZCBhIHNodXRpbC5ybXRyZWUgdGhhdCBpc24ndCBzdXNjZXB0aWJsZSB0byBzeW1saW5rIGF0dGFja3MuCisgIEl0IGlzIHVzZWQgYXV0b21hdGljYWxseSBvbiBwbGF0Zm9ybXMgc3VwcG9ydGluZyB0aGUgbmVjZXNzYXJ5IG9zLm9wZW5hdCgpCisgIGFuZCBvcy51bmxpbmthdCgpIGZ1bmN0aW9ucy4gTWFpbiBjb2RlIGJ5IE1hcnRpbiB2b24gTMO2d2lzLgorCistIElzc3VlICMxNTE1NjogSFRNTFBhcnNlciBub3cgdXNlcyB0aGUgbmV3ICJodG1sLmVudGl0aWVzLmh0bWw1IiBkaWN0aW9uYXJ5LgorCistIElzc3VlICMxMTExMzogYWRkIGEgbmV3ICJodG1sNSIgZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBuYW1lZCBjaGFyYWN0ZXIKKyAgcmVmZXJlbmNlcyBkZWZpbmVkIGJ5IHRoZSBIVE1MNSBzdGFuZGFyZCBhbmQgdGhlIGVxdWl2YWxlbnQgVW5pY29kZQorICBjaGFyYWN0ZXIocykgdG8gdGhlIGh0bWwuZW50aXRpZXMgbW9kdWxlLgorCistIElzc3VlICMxNTExNDogdGhlIHN0cmljdCBtb2RlIG9mIEhUTUxQYXJzZXIgYW5kIHRoZSBIVE1MUGFyc2VFcnJvciBleGNlcHRpb24KKyAgYXJlIGRlcHJlY2F0ZWQgbm93IHRoYXQgdGhlIHBhcnNlciBpcyBhYmxlIHRvIHBhcnNlIGludmFsaWQgbWFya3VwLgorCistIElzc3VlICMzNjY1OiBcdSBhbmQgXFUgZXNjYXBlcyBhcmUgbm93IHN1cHBvcnRlZCBpbiB1bmljb2RlIHJlZ3VsYXIKKyAgZXhwcmVzc2lvbnMuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxNTE1MzogQWRkZWQgaW5zcGVjdC5nZXRnZW5lcmF0b3Jsb2NhbHMgdG8gc2ltcGxpZnkgd2hpdGUgYm94CisgIHRlc3Rpbmcgb2YgZ2VuZXJhdG9yIHN0YXRlIHVwZGF0ZXMKKworLSBJc3N1ZSAjMTMwNjI6IEFkZGVkIGluc3BlY3QuZ2V0Y2xvc3VyZXZhcnMgdG8gc2ltcGxpZnkgdGVzdGluZyBzdGF0ZWZ1bAorICBjbG9zdXJlcworCistIElzc3VlICMxMTAyNDogRml4ZXMgYW5kIGFkZGl0aW9uYWwgdGVzdHMgZm9yIFRpbWUySW50ZXJuYWxkYXRlLgorCistIElzc3VlICMxNDYyNjogTGFyZ2UgcmVmYWN0b3Jpbmcgb2YgZnVuY3Rpb25zIC8gcGFyYW1ldGVycyBpbiB0aGUgb3MgbW9kdWxlLgorICBNYW55IGZ1bmN0aW9ucyBub3cgc3VwcG9ydCAiZGlyX2ZkIiBhbmQgImZvbGxvd19zeW1saW5rcyIgcGFyYW1ldGVyczsKKyAgc29tZSBhbHNvIHN1cHBvcnQgYWNjZXB0aW5nIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yIGluIHBsYWNlIG9mIGEgcGF0aAorICBzdHJpbmcuICBBZGRlZCBvcy5zdXBwb3J0XyogY29sbGVjdGlvbnMgYXMgTEJZTCBoZWxwZXJzLiAgUmVtb3ZlZCBtYW55CisgIGZ1bmN0aW9ucyBvbmx5IHByZXZpb3VzbHkgc2VlbiBpbiAzLjMgYWxwaGEgcmVsZWFzZXMgKG9mdGVuIHN0YXJ0aW5nIHdpdGgKKyAgImYiIG9yICJsIiwgb3IgZW5kaW5nIHdpdGggImF0IikuICBPcmlnaW5hbGx5IHN1Z2dlc3RlZCBieSBTZXJoaXkgU3RvcmNoYWthOworICBpbXBsZW1lbnRlZCBieSBMYXJyeSBIYXN0aW5ncy4KKworLSBJc3N1ZSAjMTUwMDg6IEltcGxlbWVudCBQRVAgMzYyICJTaWduYXR1cmUgT2JqZWN0cyIuCisgIFBhdGNoIGJ5IFl1cnkgU2VsaXZhbm92LgorCistIElzc3VlOiAjMTUxMzg6IGJhc2U2NC51cmxzYWZlX3tlbixkZX1jb2RlKCkgYXJlIG5vdyAzLTR4IGZhc3Rlci4KKworLSBJc3N1ZSAjNDQ0NTgyOiBBZGQgc2h1dGlsLndoaWNoLCBmb3IgZmluZGluZyBwcm9ncmFtcyBvbiB0aGUgc3lzdGVtIHBhdGguCisgIE9yaWdpbmFsIHBhdGNoIGJ5IEVyaWsgRGVtYWluZSwgd2l0aCBsYXRlciBpdGVyYXRpb25zIGJ5IEphbiBLaWxsaWFuCisgIGFuZCBCcmlhbiBDdXJ0aW4uCisKKy0gSXNzdWUgIzE0ODM3OiBTU0wgZXJyb3JzIG5vdyBoYXZlIGBgbGlicmFyeWBgIGFuZCBgYHJlYXNvbmBgIGF0dHJpYnV0ZXMKKyAgZGVzY3JpYmluZyBwcmVjaXNlbHkgd2hhdCBoYXBwZW5lZCBhbmQgaW4gd2hpY2ggT3BlblNTTCBzdWJtb2R1bGUuICBUaGUKKyAgc3RyKCkgb2YgYSBTU0xFcnJvciBpcyBhbHNvIGVuaGFuY2VkIGFjY29yZGluZ2x5LgorCistIElzc3VlICM5NTI3OiBkYXRldGltZS5hc3RpbWV6b25lKCkgbWV0aG9kIHdpbGwgbm93IHN1cHBseSBhIGNsYXNzCisgIHRpbWV6b25lIGluc3RhbmNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHN5c3RlbSBsb2NhbCB0aW1lem9uZSB3aGVuCisgIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cy4KKworLSBJc3N1ZSAjMTQ2NTM6IGVtYWlsLnV0aWxzLm1rdGltZV90eigpIG5vIGxvbmdlciByZWxpZXMgb24gc3lzdGVtCisgIG1rdGltZSgpIHdoZW4gdGltZXpvbmUgb2ZmZXN0IGlzIHN1cHBsaWVkLgorCistIElzc3VlICMxNDY4NDogemxpYi5jb21wcmVzc29iaigpIGFuZCB6bGliLmRlY29tcHJlc3NvYmooKSBub3cgc3VwcG9ydCB0aGUgdXNlCisgIG9mIHByZWRlZmluZWQgY29tcHJlc3Npb24gZGljdGlvbmFyaWVzLiBPcmlnaW5hbCBwYXRjaCBieSBTYW0gUnVzaGluZy4KKworLSBGaXggR3ppcEZpbGUncyBoYW5kbGluZyBvZiBmaWxlbmFtZXMgZ2l2ZW4gYXMgYnl0ZXMgb2JqZWN0cy4KKworLSBJc3N1ZSAjMTQ3NzI6IFJldHVybiBkZXN0aW5hdGlvbiB2YWx1ZXMgZnJvbSBzb21lIHNodXRpbCBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzE1MDY0OiBJbXBsZW1lbnQgY29udGV4dCBtYW5hZ2VyIHByb3RvY29sIGZvciBtdWx0aXByb2Nlc3NpbmcgdHlwZXMKKworLSBJc3N1ZSAjMTUxMDE6IE1ha2UgcG9vbCBmaW5hbGl6ZXIgYXZvaWQgam9pbmluZyBjdXJyZW50IHRocmVhZC4KKworLSBJc3N1ZSAjMTQ2NTc6IFRoZSBmcm96ZW4gaW5zdGFuY2Ugb2YgaW1wb3J0bGliIHVzZWQgZm9yIGJvb3RzdHJhcCBpcyBub3cKKyAgYWxzbyB0aGUgbW9kdWxlIGltcG9ydGVkIGFzIGltcG9ydGxpYi5fYm9vdHN0cmFwLgorCistIElzc3VlICMxNDA1NTogQWRkIF9fc2l6ZW9mX18gc3VwcG9ydCB0byBfZWxlbWVudHRyZWUuCisKKy0gSXNzdWUgIzE1MDU0OiBBIGJ1ZyBpbiB0b2tlbml6ZS50b2tlbml6ZSB0aGF0IGNhdXNlZCBzdHJpbmcgbGl0ZXJhbHMKKyAgd2l0aCAnYicgcHJlZml4ZXMgdG8gYmUgaW5jb3JyZWN0bHkgdG9rZW5pemVkIGhhcyBiZWVuIGZpeGVkLgorICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxNTAwNjogQWxsb3cgZXF1YWxpdHkgY29tcGFyaXNvbiBiZXR3ZWVuIG5haXZlIGFuZCBhd2FyZQorICB0aW1lIG9yIGRhdGV0aW1lIG9iamVjdHMuCisKKy0gSXNzdWUgIzE0OTgyOiBEb2N1bWVudCB0aGF0IHBrZ3V0aWwncyBpdGVyYXRpb24gZnVuY3Rpb25zIHJlcXVpcmUgdGhlCisgIG5vbi1zdGFuZGFyZCBpdGVyX21vZHVsZXMoKSBtZXRob2QgdG8gYmUgZGVmaW5lZCBieSBhbiBpbXBvcnRlciAoc29tZXRoaW5nCisgIHRoZSBpbXBvcnRsaWIgaW1wb3J0ZXJzIGRvIG5vdCBkZWZpbmUpLgorCistIElzc3VlICMxNTAzNjogTWFpbGJveCBubyBsb25nZXIgdGhyb3dzIGFuIGVycm9yIGlmIGEgZmx1c2ggaXMgZG9uZQorICBiZXR3ZWVuIG9wZXJhdGlvbnMgd2hlbiByZW1vdmluZyBvciBjaGFuZ2luZyBtdWx0aXBsZSBpdGVtcyBpbiBtYm94LAorICBNTURGLCBvciBCYWJ5bCBtYWlsYm94ZXMuCisKKy0gSXNzdWUgIzE0MDU5OiBJbXBsZW1lbnQgbXVsdGlwcm9jZXNzaW5nLkJhcnJpZXIuCisKKy0gSXNzdWUgIzE1MDYxOiBUaGUgaW5hcHByb3ByaWF0ZWx5IG5hbWVkIGhtYWMuc2VjdXJlX2NvbXBhcmUgaGFzIGJlZW4KKyAgcmVuYW1lZCB0byBobWFjLmNvbXBhcmVfZGlnZXN0LCByZXN0cmljdGVkIHRvIG9wZXJhdGluZyBvbiBieXRlcyBpbnB1dHMKKyAgb25seSBhbmQgaGFkIGl0cyBkb2N1bWVudGF0aW9uIHVwZGF0ZWQgdG8gbW9yZSBhY2N1cmF0ZWx5IHJlZmxlY3QgYm90aCBpdHMKKyAgaW50ZW50IGFuZCBpdHMgbGltaXRhdGlvbnMKKworLSBJc3N1ZSAjMTM4NDE6IE1ha2UgY2hpbGQgcHJvY2Vzc2VzIGV4aXQgdXNpbmcgc3lzLmV4aXQoKSBvbiBXaW5kb3dzLgorCistIElzc3VlICMxNDkzNjogY3Vyc2VzX3BhbmVsIHdhcyBjb252ZXJ0ZWQgdG8gUEVQIDMxMjEgYW5kIFBFUCAzODQgQVBJLgorICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKKy0gSXNzdWUgIzE2Njc1NDY6IE9uIHBsYXRmb3JtcyBzdXBwb3J0aW5nIHRtX3pvbmUgYW5kIHRtX2dtdG9mZiBmaWVsZHMKKyAgaW4gc3RydWN0IHRtLCB0aW1lLnN0cnVjdF90aW1lIG9iamVjdHMgcmV0dXJuZWQgYnkgdGltZS5nbXRpbWUoKSwKKyAgdGltZS5sb2NhbHRpbWUoKSBhbmQgdGltZS5zdHJwdGltZSgpIGZ1bmN0aW9ucyBub3cgaGF2ZSB0bV96b25lIGFuZAorICB0bV9nbXRvZmYgYXR0cmlidXRlcy4gIE9yaWdpbmFsIHBhdGNoIGJ5IFBhdWwgQm9kZGllLgorCistIFJlbmFtZSBhZGp1c3RlZCBhdHRyaWJ1dGUgdG8gYWRqdXN0YWJsZSBpbiB0aW1lLmdldF9jbG9ja19pbmZvKCkgcmVzdWx0LgorCistIElzc3VlICMzNTE4OiBSZW1vdmUgcmVmZXJlbmNlcyB0byBub24tZXhpc3RlbnQgQmFzZU1hbmFnZXIuZnJvbV9hZGRyZXNzKCkKKyAgbWV0aG9kLgorCistIElzc3VlICMxMzg1NzogQWRkZWQgdGV4dHdyYXAuaW5kZW50KCkgZnVuY3Rpb24gKGluaXRpYWwgcGF0Y2ggYnkgRXpyYQorICBCZXJjaCkKKworLSBJc3N1ZSAjMjczNjogQWRkZWQgZGF0ZXRpbWUudGltZXN0YW1wKCkgbWV0aG9kLgorCistIElzc3VlICMxMzg1NDogTWFrZSBtdWx0aXByb2Nlc3NpbmcgcHJvcGVybHkgaGFuZGxlIG5vbi1pbnRlZ2VyCisgIG5vbi1zdHJpbmcgYXJndW1lbnQgdG8gU3lzdGVtRXhpdC4KKworLSBJc3N1ZSAjMTIxNTc6IE1ha2UgcG9vbC5tYXAoKSBlbXB0eSBpdGVyYWJsZXMgY29ycmVjdGx5LiAgSW5pdGlhbAorICBwYXRjaCBieSBtb3VhZC4KKworLSBJc3N1ZSAjMTE4MjM6IGRpc2Fzc2VtYmx5IG5vdyBzaG93cyBhcmd1bWVudCBjb3VudHMgb24gY2FsbHMgd2l0aCBrZXl3b3JkIGFyZ3MuCisKKy0gSXNzdWUgIzE0NzExOiBvcy5zdGF0X2Zsb2F0X3RpbWVzKCkgaGFzIGJlZW4gZGVwcmVjYXRlZC4KKworLSBMWk1BRmlsZSBub3cgYWNjZXB0cyB0aGUgbW9kZXMgInJiIi8id2IiLyJhYiIgYXMgc3lub255bXMgb2YgInIiLyJ3Ii8iYSIuCisKKy0gVGhlIGJ6MiBhbmQgbHptYSBtb2R1bGVzIG5vdyBlYWNoIGNvbnRhaW4gYW4gb3BlbigpIGZ1bmN0aW9uLCBhbGxvd2luZworICBjb21wcmVzc2VkIGZpbGVzIHRvIHJlYWRpbHkgYmUgb3BlbmVkIGluIHRleHQgbW9kZSBhcyB3ZWxsIGFzIGJpbmFyeSBtb2RlLgorCistIEJaMkZpbGUuX19pbml0X18oKSBhbmQgTFpNQUZpbGUuX19pbml0X18oKSBub3cgYWNjZXB0IGEgZmlsZSBvYmplY3QgYXMgdGhlaXIKKyAgZmlyc3QgYXJndW1lbnQsIHJhdGhlciB0aGFuIHJlcXVpcmluZyBhIHNlcGFyYXRlICJmaWxlb2JqIiBhcmd1bWVudC4KKworLSBnemlwLm9wZW4oKSBub3cgYWNjZXB0cyBmaWxlIG9iamVjdHMgYXMgd2VsbCBhcyBmaWxlbmFtZXMuCisKKy0gSXNzdWUgIzE0OTkyOiBvcy5tYWtlZGlycyhwYXRoLCBleGlzdF9vaz1UcnVlKSB3b3VsZCByYWlzZSBhbiBPU0Vycm9yCisgIHdoZW4gdGhlIHBhdGggZXhpc3RlZCBhbmQgaGFkIHRoZSBTX0lTR0lEIG1vZGUgYml0IHNldCB3aGVuIGl0IHdhcworICBub3QgZXhwbGljaXRseSBhc2tlZCBmb3IuICBUaGlzIGlzIG5vIGxvbmdlciBhbiBleGNlcHRpb24gYXMgbWtkaXIKKyAgY2Fubm90IGNvbnRyb2wgaWYgdGhlIE9TIHNldHMgdGhhdCBiaXQgZm9yIGl0IG9yIG5vdC4KKworLSBJc3N1ZSAjMTQ5ODk6IE1ha2UgdGhlIENHSSBlbmFibGUgb3B0aW9uIHRvIGh0dHAuc2VydmVyIGF2YWlsYWJsZSB2aWEgY29tbWFuZAorICBsaW5lLgorCistIElzc3VlICMxNDk4NzogQWRkIGEgbWlzc2luZyBpbXBvcnQgc3RhdGVtZW50IHRvIGluc3BlY3QuCisKKy0gSXNzdWUgIzEwNzk6IGVtYWlsLmhlYWRlci5kZWNvZGVfaGVhZGVyIG5vdyBjb3JyZWN0bHkgcGFyc2VzIGFsbCB0aGUgZXhhbXBsZXMKKyAgaW4gUkZDMjA0Ny4gIFRoZXJlIGlzIGEgbmVjZXNzYXJ5IHZpc2libGUgYmVoYXZpb3IgY2hhbmdlOiB0aGUgbGVhZGluZyBhbmQvb3IKKyAgdHJhaWxpbmcgd2hpdGVzcGFjZSBvbiBBU0NJSSBwYXJ0cyBpcyBub3cgcHJlc2VydmVkLgorCistIElzc3VlICMxNDk2OTogQmV0dGVyIGhhbmRsaW5nIG9mIGV4Y2VwdGlvbiBjaGFpbmluZyBpbiBjb250ZXh0bGliLkV4aXRTdGFjaworCistIElzc3VlICMxNDk2MjogVXBkYXRlIHRleHQgY29sb3JpbmcgaW4gSURMRSBzaGVsbCB3aW5kb3cgYWZ0ZXIgY2hhbmdpbmcKKyAgb3B0aW9ucy4gIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMxNDk2MzogQ29udmVydCBjb250ZXh0bGliLkV4aXRTdGFjay5fX2V4aXRfXyB0byB1c2UgYW4gaXRlcmF0aXZlCisgIGFsZ29yaXRobSAoUGF0Y2ggYnkgQWxvbiBIb3JldikKKworLSBJc3N1ZSAjMTQ3ODU6IEFkZCBzeXMuX2RlYnVnbWFsbG9jc3RhdHMoKSB0byBoZWxwIGRlYnVnIGxvdy1sZXZlbCBtZW1vcnkKKyAgYWxsb2NhdGlvbiBpc3N1ZXMKKworLSBJc3N1ZSAjMTQ0NDM6IEVuc3VyZSB0aGF0IC5weSBmaWxlcyBhcmUgYnl0ZS1jb21waWxlZCB3aXRoIHRoZSBjb3JyZWN0IFB5dGhvbgorICBleGVjdXRhYmxlIHdpdGhpbiBiZGlzdF9ycG0gZXZlbiBvbiBvbGRlciB2ZXJzaW9ucyBvZiBSUE0KKworQy1BUEkKKy0tLS0tCisKKy0gSXNzdWUgIzEzNzgzOiBJbmFkdmVydGVudCBhZGRpdGlvbnMgdG8gdGhlIHB1YmxpYyBDIEFQSSBpbiB0aGUgUEVQIDM4MAorICBpbXBsZW1lbnRhdGlvbiBoYXZlIGVpdGhlciBiZWVuIHJlbW92ZWQgb3IgbWFya2VkIGFzIHByaXZhdGUgaW50ZXJmYWNlcy4KKworRXh0ZW5zaW9uIE1vZHVsZXMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzE1MDAwOiBTdXBwb3J0IHRoZSAidW5pcXVlIiB4MzIgYXJjaGl0ZWN0dXJlIGluIF9wb3NpeHN1YnByb2Nlc3MuYy4KKworRG9jdW1lbnRhdGlvbgorLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNTA4MTogRG9jdW1lbnQgUHlTdGF0ZV9GaW5kTW9kdWxlLgorICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKKy0gSXNzdWUgIzE0ODE0OiBBZGRlZCBmaXJzdCBkcmFmdCBvZiBpcGFkZHJlc3MgbW9kdWxlIEFQSSByZWZlcmVuY2UKKworVGVzdHMKKy0tLS0tCisKKy0gSXNzdWUgIzE0NzY5OiB0ZXN0X2NhcGkgbm93IGhhcyBTa2lwaXRlbVRlc3QsIHdoaWNoIGNsZXZlcmx5IGNoZWNrcworICBmb3IgInBhcml0eSIgYmV0d2VlbiBQeUFyZ19QYXJzZVR1cGxlKCkgYW5kIHRoZSBQeXRob24vZ2V0YXJncy5jIHN0YXRpYworICBmdW5jdGlvbiBza2lwaXRlbSgpIGZvciBhbGwgcG9zc2libGUgImZvcm1hdCB1bml0cyIuCisKKy0gdGVzdF9ubnRwbGliIG5vdyB0b2xlcmF0ZXMgYmVpbmcgcnVuIGZyb20gYmVoaW5kIE5OVFAgZ2F0ZXdheXMgdGhhdCBhZGQKKyAgIlgtQW50aXZpcnVzIiBoZWFkZXJzIHRvIGFydGljbGVzCisKKy0gSXNzdWUgIzE1MDQzOiB0ZXN0X2dkYiBpcyBub3cgc2tpcHBlZCBlbnRpcmVseSBpZiBnZGIgc2VjdXJpdHkgc2V0dGluZ3MKKyAgYmxvY2sgbG9hZGluZyBvZiB0aGUgZ2RiIGhvb2tzCisKKy0gSXNzdWUgIzE0OTYzOiBBZGQgdGVzdCBjYXNlcyBmb3IgZXhjZXB0aW9uIGhhbmRsaW5nIGJlaGF2aW91cgorICBpbiBjb250ZXh0bGliLkV4aXRTdGFjayAoSW5pdGlhbCBwYXRjaCBieSBBbG9uIEhvcmV2KQorCitCdWlsZAorLS0tLS0KKworLSBJc3N1ZSAjMTM1OTA6IEltcHJvdmUgc3VwcG9ydCBmb3IgT1MgWCBYY29kZSA0OgorICAgICogVHJ5IHRvIGF2b2lkIGJ1aWxkaW5nIFB5dGhvbiBvciBleHRlbnNpb24gbW9kdWxlcyB3aXRoIHByb2JsZW1hdGljCisgICAgICBsbHZtLWdjYyBjb21waWxlci4KKyAgICAqIFNpbmNlIFhjb2RlIDQgcmVtb3ZlcyBwcGMgc3VwcG9ydCwgZXh0ZW5zaW9uIG1vZHVsZSBidWlsZHMgbm93CisgICAgICBjaGVjayBmb3IgcHBjIGNvbXBpbGVyIHN1cHBvcnQgYW5kIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHBwYyBhbmQKKyAgICAgIHBwYzY0IGFyY2hzIHdoZW4gbm90IGF2YWlsYWJsZS4KKyAgICAqIFNpbmNlIFhjb2RlIDQgbm8gbG9uZ2VyIGluc3RhbGwgU0RLcyBpbiBkZWZhdWx0IGxvY2F0aW9ucywKKyAgICAgIGV4dGVuc2lvbiBtb2R1bGUgYnVpbGRzIG5vdyByZXZlcnQgdG8gdXNpbmcgaW5zdGFsbGVkIGhlYWRlcnMKKyAgICAgIGFuZCBsaWJzIGlmIHRoZSBTREsgdXNlZCB0byBidWlsZCB0aGUgaW50ZXJwcmV0ZXIgaXMgbm90CisgICAgICBhdmFpbGFibGUuCisgICAgKiBVcGRhdGUgLi9jb25maWd1cmUgdG8gdXNlIGJldHRlciBkZWZhdWx0cyBmb3IgdW5pdmVyc2FsIGJ1aWxkczsKKyAgICAgIGluIHBhcnRpY3VsYXIsIC0tZW5hYmxlLXVuaXZlcnNhbHNkaz15ZXMgdXNlcyB0aGUgWGNvZGUgZGVmYXVsdAorICAgICAgU0RLIGFuZCAtLXdpdGgtdW5pdmVyc2FsLWFyY2hzIG5vdyBkZWZhdWx0cyB0byAiaW50ZWwiIGlmIHBwYworICAgICAgbm90IGF2YWlsYWJsZS4KKworLSBJc3N1ZSAjMTQyMjU6IEZpeCBVbmljb2RlIHN1cHBvcnQgZm9yIGN1cnNlcyAoIzEyNTY3KSBvbiBPUyBYCisKKy0gSXNzdWUgIzE0OTI4OiBGaXggaW1wb3J0bGliIGJvb3RzdHJhcCBpc3N1ZXMgYnkgdXNpbmcgYSBjdXN0b20gZXhlY3V0YWJsZQorICAoTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYikgdG8gYnVpbGQgUHl0aG9uL2ltcG9ydGxpYi5oLgorCisKK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDQ/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisqUmVsZWFzZSBkYXRlOiAzMS1NYXktMjAxMioKKworQ29yZSBhbmQgQnVpbHRpbnMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzE0ODM1OiBNYWtlIHBsaXN0bGliIG91dHB1dCBlbXB0eSBhcnJheXMgJiBkaWN0cyBsaWtlIE9TIFguCisgIFBhdGNoIGJ5IFNpZG5leSBTYW4gTWFydMOtbi4KKworLSBJc3N1ZSAjMTQ3NDQ6IFVzZSB0aGUgbmV3IF9QeVVuaWNvZGVXcml0ZXIgaW50ZXJuYWwgQVBJIHRvIHNwZWVkIHVwCisgIHN0ciVhcmdzIGFuZCBzdHIuZm9ybWF0KGFyZ3MpLgorCistIElzc3VlICMxNDkzMDogTWFrZSBtZW1vcnl2aWV3IG9iamVjdHMgd2Vha3JlZmFibGUuCisKKy0gSXNzdWUgIzE0Nzc1OiBGaXggYSBwb3RlbnRpYWwgcXVhZHJhdGljIGRpY3QgYnVpbGQtdXAgZHVlIHRvIHRoZSBnYXJiYWdlCisgIGNvbGxlY3RvciByZXBlYXRlZGx5IHRyeWluZyB0byB1bnRyYWNrIGRpY3RzLgorCistIElzc3VlICMxNDg1NzogZml4IHJlZ3Jlc3Npb24gaW4gcmVmZXJlbmNlcyB0byBQRVAgMzEzNSBpbXBsaWNpdCBfX2NsYXNzX18KKyAgY2xvc3VyZSB2YXJpYWJsZSAoUmVvcGVucyBpc3N1ZSAjMTIzNzApCisKKy0gSXNzdWUgIzE0NzEyIChQRVAgNDA1KTogVmlydHVhbCBlbnZpcm9ubWVudHMuIEltcGxlbWVudGVkIGJ5IFZpbmF5IFNhamlwLgorCistIElzc3VlICMxNDY2MCAoUEVQIDQyMCk6IE5hbWVzcGFjZSBwYWNrYWdlcy4gSW1wbGVtZW50ZWQgYnkgRXJpYyBTbWl0aC4KKworLSBJc3N1ZSAjMTQ0OTQ6IEZpeCBfX2Z1dHVyZV9fLnB5IGFuZCBpdHMgZG9jdW1lbnRhdGlvbiB0byBub3RlIHRoYXQKKyAgYWJzb2x1dGUgaW1wb3J0cyBhcmUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgaW4gMy4wIGluc3RlYWQgb2YgMi43LgorICBQYXRjaCBieSBTdmVuIE1hcm5hY2guCisKKy0gSXNzdWUgIzkyNjA6IEEgZmluZXItZ3JhaW5lZCBpbXBvcnQgbG9jay4gIE1vc3Qgb2YgdGhlIGltcG9ydCBzZXF1ZW5jZQorICBub3cgdXNlcyBwZXItbW9kdWxlIGxvY2tzIHJhdGhlciB0aGFuIHRoZSBnbG9iYWwgaW1wb3J0IGxvY2ssIGVsaW1pbmF0aW5nCisgIHdlbGwta25vd24gaXNzdWVzIHdpdGggdGhyZWFkcyBhbmQgaW1wb3J0cy4KKworLSBJc3N1ZSAjMTQ2MjQ6IFVURi0xNiBkZWNvZGluZyBpcyBub3cgM3ggdG8gNHggZmFzdGVyIG9uIHZhcmlvdXMgaW5wdXRzLgorICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIGFzZGxfc2VxIGFuZCBhc2RsX2ludF9zZXEgYXJlIG5vdyBQeV9zc2l6ZV90IHNpemVkLgorCistIElzc3VlICMxNDEzMyAoUEVQIDQxNSk6IEltcGxlbWVudCBzdXBwcmVzc2lvbiBvZiBfX2NvbnRleHRfXyBkaXNwbGF5IHdpdGggYW4KKyAgYXR0cmlidXRlIG9uIEJhc2VFeGNlcHRpb24uIFRoaXMgcmVwbGFjZXMgdGhlIG9yaWdpbmFsIG1lY2hhbmlzbSBvZiBQRVAgNDA5LgorCistIElzc3VlICMxNDQxNzogTXV0YXRpbmcgYSBkaWN0IGR1cmluZyBsb29rdXAgbm93IHJlc3RhcnRzIHRoZSBsb29rdXAgaW5zdGVhZAorICBvZiByYWlzaW5nIGEgUnVudGltZUVycm9yICh1bmRvZXMgaXNzdWUgIzE0MjA1KS4KKworLSBJc3N1ZSAjMTQ3Mzg6IFNwZWVkLXVwIFVURi04IGRlY29kaW5nIG9uIG5vbi1BU0NJSSBkYXRhLiAgUGF0Y2ggYnkgU2VyaGl5CisgIFN0b3JjaGFrYS4KKworLSBJc3N1ZSAjMTQ3MDA6IEZpeCB0d28gYnJva2VuIGFuZCB1bmRlZmluZWQtYmVoYXZpb3VyLWluZHVjaW5nIG92ZXJmbG93IGNoZWNrcworICBpbiBvbGQtc3R5bGUgc3RyaW5nIGZvcm1hdHRpbmcuCisKKy0gSXNzdWUgIzE0NzA1OiBUaGUgUHlBcmdfUGFyc2UoKSBmYW1pbHkgb2YgZnVuY3Rpb25zIG5vdyBzdXBwb3J0IHRoZSAncCcgZm9ybWF0CisgIHVuaXQsIHdoaWNoIGFjY2VwdHMgYSAiYm9vbGVhbiBwcmVkaWNhdGUiIGFyZ3VtZW50LiAgSXQgY29udmVydHMgYW55IFB5dGhvbgorICB2YWx1ZSBpbnRvIGFuIGludGVnZXItLTAgaWYgaXQgaXMgImZhbHNlIiwgYW5kIDEgb3RoZXJ3aXNlLgorCitMaWJyYXJ5CistLS0tLS0tCisKKy0gSXNzdWUgIzE0NjkwOiBVc2UgbW9ub3RvbmljIGNsb2NrIGluc3RlYWQgb2Ygc3lzdGVtIGNsb2NrIGluIHRoZSBzY2hlZCwKKyAgc3VicHJvY2VzcyBhbmQgdHJhY2UgbW9kdWxlcy4KKworLSBJc3N1ZSAjMTQ5NTg6IENoYW5nZSBJRExFIHN5c3RheCBoaWdobGlnaHRpbmcgdG8gcmVjb2duaXplIGFsbCBzdHJpbmcgYW5kCisgIGJ5dGUgbGl0ZXJhbHMgc3VwcG9ydGVkIGluIFB5dGhvbiAzLjMuCisKKy0gSXNzdWUgIzEwOTk3OiBQcmV2ZW50IGEgZHVwbGljYXRlIGVudHJ5IGluIElETEUncyAiUmVjZW50IEZpbGVzIiBtZW51LgorCistIElzc3VlICMxNDQ0MzogVGVsbCBycG1idWlsZCB0byB1c2UgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBQeXRob24gaW4KKyAgYmRpc3RfcnBtLiBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgorCistIElzc3VlICMxNDkyOTogU3RvcCBJZGxlIDMueCBmcm9tIGNsb3Npbmcgb24gVW5pY29kZSBkZWNvZGUgZXJyb3JzIHdoZW4KKyAgZ3JlcHBpbmcuIFBhdGNoIGJ5IFJvZ2VyIFNlcnd5LgorCistIElzc3VlICMxMjUxNTogZW1haWwgbm93IHJlZ2lzdGVycyBhIGRlZmVjdCBpZiBpdCBnZXRzIHRvIEVPRiB3aGlsZSBwYXJzaW5nCisgIGEgTUlNRSBwYXJ0IHdpdGhvdXQgc2VlaW5nIHRoZSBjbG9zaW5nIE1JTUUgYm91bmRhcnkuCisKKy0gSXNzdWUgIzEyNTEwOiBBdHRlbXB0aW5nIHRvIGdldCBpbnZhbGlkIHRvb2x0aXAgbm8gbG9uZ2VyIGNsb3NlcyBJZGxlLgorICBPdGhlciB0b29sdGlwc3MgaGF2ZSBiZWVuIGNvcnJlY3RlZCBvciBpbXByb3ZlZCBhbmQgdGhlIG51bWJlciBvZiB0ZXN0cworICBoYXMgYmVlbiB0cmlwbGVkLiBPcmlnaW5hbCBwYXRjaCBieSBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMTY3MjU2ODogZW1haWwgbm93IGFsd2F5cyBkZWNvZGVzIGJhc2U2NCBwYXlsb2FkcywgYWRkaW5nIHBhZGRpbmcgYW5kCisgIGlnbm9yaW5nIG5vbi1iYXNlNjQtYWxwaGFiZXQgY2hhcmFjdGVycyBpZiBuZWVkZWQsIGFuZCByZWdpc3RlcmluZyBkZWZlY3RzCisgIGZvciBhbnkgc3VjaCBwcm9ibGVtcy4KKworLSBJc3N1ZSAjMTQ5MjU6IGVtYWlsIG5vdyByZWdpc3RlcnMgYSBkZWZlY3Qgd2hlbiB0aGUgcGFyc2VyIGRlY2lkZXMgdGhhdCB0aGVyZQorICBpcyBhIG1pc3NpbmcgaGVhZGVyL2JvZHkgc2VwYXJhdG9yIGxpbmUuICBNYWxmb3JtZWRIZWFkZXJEZWZlY3QsIHdoaWNoIHRoZQorICBleGlzdGluZyBjb2RlIHdvdWxkIG5ldmVyIGFjdHVhbGx5IGdlbmVyYXRlLCBpcyBkZXByZWNhdGVkLgorCistIElzc3VlICMxMDM2NTogRmlsZSBvcGVuIGRpYWxvZyBub3cgd29ya3MgaW5zdGVhZCBvZiBjcmFzaGluZyBldmVuIHdoZW4KKyAgdGhlIHBhcmVudCB3aW5kb3cgaXMgY2xvc2VkIGJlZm9yZSB0aGUgZGlhbG9nLiBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjODczOTogVXBkYXRlZCBzbXRwZCB0byBzdXBwb3J0IFJGQyA1MzIxLCBhbmQgYWRkZWQgc3VwcG9ydCBmb3IgdGhlCisgIFJGQyAxODcwIFNJWkUgZXh0ZW5zaW9uLgorCistIElzc3VlICM2NjUxOTQ6IEFkZGVkIGEgbG9jYWx0aW1lIGZ1bmN0aW9uIHRvIGVtYWlsLnV0aWxzIHRvIHByb3ZpZGUgYW4KKyAgYXdhcmUgbG9jYWwgZGF0ZXRpbWUgZm9yIHVzZSBpbiBzZXR0aW5nIERhdGUgaGVhZGVycy4KKworLSBJc3N1ZSAjMTI1ODY6IEFkZGVkIG5ldyBwcm92aXNpb25hbCBwb2xpY2llcyB0aGF0IGltcGxlbWVudCBjb252ZW5pZW50CisgIHVuaWNvZGUgc3VwcG9ydCBmb3IgZW1haWwgaGVhZGVycy4gIFNlZSBXaGF0J3MgTmV3IGZvciBkZXRhaWxzLgorCistIElzc3VlICMxNDczMTogUmVmYWN0b3JlZCBlbWFpbCBQb2xpY3kgZnJhbWV3b3JrIHRvIHN1cHBvcnQgZnVsbCBiYWNrd2FyZAorICBjb21wYXRpYmlsaXR5IHdpdGggUHl0aG9uIDMuMiBieSBkZWZhdWx0IHlldCBhbGxvdyBmb3IgdGhlIGludHJvZHVjdGlvbiBvZgorICBuZXcgZmVhdHVyZXMgdGhyb3VnaCBuZXcgcG9saWNpZXMuICBOb3RlIHRoYXQgUG9saWN5Lm11c3RfYmVfN2JpdCBpcyByZW5hbWVkCisgIHRvIGN0ZV90eXBlLgorCistIElzc3VlICMxNDg3NjogVXNlIHVzZXItc2VsZWN0ZWQgZm9udCBmb3IgaGlnaGxpZ2h0IGNvbmZpZ3VyYXRpb24uCisKKy0gSXNzdWUgIzE0OTIwOiBGaXggdGhlIGhlbHAodXJsbGliLnBhcnNlKSBmYWlsdXJlIG9uIGxvY2FsZSBDIG9uIHRlcm1pbmFscy4KKyAgSGF2ZSBhc2NpaSBjaGFyYWN0ZXJzIGluIGhlbHAuCisKKy0gSXNzdWUgIzE0NTQ4OiBNYWtlIG11bHRpcHJvY2Vzc2luZyBmaW5hbGl6ZXJzIGNoZWNrIHBpZCBiZWZvcmUKKyAgcnVubmluZyB0byBjb3BlIHdpdGggcG9zc2liaWxpdHkgb2YgZ2MgcnVubmluZyBqdXN0IGFmdGVyIGZvcmsuCisKKy0gSXNzdWUgIzE0ODYzOiBVcGRhdGUgdGhlIGRvY3VtZW50YXRpb24gb2Ygb3MuZmRvcGVuKCkgdG8gcmVmbGVjdCB0aGUKKyAgZmFjdCB0aGF0IGl0J3Mgb25seSBhIHRoaW4gd3JhcHBlciBhcm91bmQgb3BlbigpIGFueW1vcmUuCisKKy0gSXNzdWUgIzE0MDM2OiBBZGQgYW4gYWRkaXRpb25hbCBjaGVjayB0byB2YWxpZGF0ZSB0aGF0IHBvcnQgaW4gdXJscGFyc2UgZG9lcworICBub3QgZ28gaW4gaWxsZWdhbCByYW5nZSBhbmQgcmV0dXJucyBOb25lLgorCistIElzc3VlICMxNDg2MjogQWRkIG1pc3NpbmcgbmFtZXMgdG8gb3MuX19hbGxfXworCistIElzc3VlICMxNDg3NTogVXNlIGZsb2F0KCdpbmYnKSBpbnN0ZWFkIG9mIGZsb2F0KCcxZTY2NjY2JykgaW4gdGhlIGpzb24gbW9kdWxlLgorCistIElzc3VlICMxMzU4NTogQWRkZWQgY29udGV4dGxpYi5FeGl0U3RhY2sKKworLSBQRVAgMzE0NCwgSXNzdWUgIzE0ODE0OiBBZGRlZCB0aGUgaXBhZGRyZXNzIG1vZHVsZQorCistIElzc3VlICMxNDQyNjogQ29ycmVjdCB0aGUgRGF0ZSBmb3JtYXQgaW4gRXhwaXJlcyBhdHRyaWJ1dGUgb2YgU2V0LUNvb2tpZQorICBIZWFkZXIgaW4gQ29va2llLnB5LgorCistIElzc3VlICMxNDU4ODogVGhlIHR5cGVzIG1vZHVsZSBub3cgcHJvdmlkZSBuZXdfY2xhc3MoKSBhbmQgcHJlcGFyZV9jbGFzcygpCisgIGZ1bmN0aW9ucyB0byBzdXBwb3J0IFBFUCAzMTE1IGNvbXBsaWFudCBkeW5hbWljIGNsYXNzIGNyZWF0aW9uLiBQYXRjaCBieQorICBEYW5pZWwgVXJiYW4gYW5kIE5pY2sgQ29naGxhbi4KKworLSBJc3N1ZSAjMTMxNTI6IEFsbG93IHRvIHNwZWNpZnkgYSBjdXN0b20gdGFic2l6ZSBmb3IgZXhwYW5kaW5nIHRhYnMgaW4KKyAgdGV4dHdyYXAuIFBhdGNoIGJ5IEpvaG4gRmV1ZXJzdGVpbi4KKworLSBJc3N1ZSAjMTQ3MjE6IFNlbmQgdGhlIGNvcnJlY3QgJ0NvbnRlbnQtbGVuZ3RoOiAwJyBoZWFkZXIgd2hlbiB0aGUgYm9keSBpcyBhbgorICBlbXB0eSBzdHJpbmcgJycuIEluaXRpYWwgUGF0Y2ggY29udHJpYnV0ZWQgYnkgQXJ2ZSBLbnVkc2VuLgorCistIElzc3VlICMxNDA3MjogRml4IHBhcnNpbmcgb2YgJ3RlbCcgVVJJcyBpbiB1cmxwYXJzZSBieSBtYWtpbmcgdGhlIGNoZWNrIGZvcgorICBwb3J0cyBzdHJpY3Rlci4KKworLSBJc3N1ZSAjOTM3NDogR2VuZXJpYyBwYXJzaW5nIG9mIHF1ZXJ5IGFuZCBmcmFnbWVudCBwb3J0aW9ucyBvZiB1cmwgZm9yIGFueQorICBzY2hlbWUuIFN1cHBvcnRlZCBib3RoIGJ5IFJGQzM5ODYgYW5kIFJGQzIzOTYuCisKKy0gSXNzdWUgIzE0Nzk4OiBGaXggdGhlIGZ1bmN0aW9ucyBpbiBweWNsYnIgdG8gcmFpc2UgYW4gSW1wb3J0RXJyb3IKKyAgd2hlbiB0aGUgZmlyc3QgcGFydCBvZiBhIGRvdHRlZCBuYW1lIGlzIG5vdCBhIHBhY2thZ2UuIFBhdGNoIGJ5CisgIFhhdmllciBkZSBHYXllLgorCistIElzc3VlICMxMjA5ODogbXVsdGlwcm9jZXNzaW5nIG9uIFdpbmRvd3Mgbm93IHN0YXJ0cyBjaGlsZCBwcm9jZXNzZXMKKyAgdXNpbmcgdGhlIHNhbWUgc3lzLmZsYWdzIGFzIHRoZSBjdXJyZW50IHByb2Nlc3MuICBJbml0aWFsIHBhdGNoIGJ5CisgIFNlcmdleSBNZXplbnRzZXYuCisKKy0gSXNzdWUgIzEzMDMxOiBTbWFsbCBzcGVlZC11cCBmb3IgdGFyZmlsZSB3aGVuIHVuemlwcGluZyB0YXJmaWxlcy4KKyAgUGF0Y2ggYnkgSnVzdGluIFBlZWwuCisKKy0gSXNzdWUgIzE0NzgwOiB1cmxsaWIucmVxdWVzdC51cmxvcGVuKCkgbm93IGhhcyBhIGBgY2FkZWZhdWx0YGAgYXJndW1lbnQKKyAgdG8gdXNlIHRoZSBkZWZhdWx0IGNlcnRpZmljYXRlIHN0b3JlLiAgSW5pdGlhbCBwYXRjaCBieSBKYW1lcyBPYWtsZXkuCisKKy0gSXNzdWUgIzE0ODI5OiBGaXggYmlzZWN0IGFuZCByYW5nZSgpIGluZGV4aW5nIHdpdGggbGFyZ2UgaW5kaWNlcworICAoPj0gMiAqKiAzMikgdW5kZXIgNjQtYml0IFdpbmRvd3MuCisKKy0gSXNzdWUgIzE0NzMyOiBUaGUgX2NzdiBtb2R1bGUgbm93IHVzZXMgUEVQIDMxMjEgbW9kdWxlIGluaXRpYWxpemF0aW9uLgorICBQYXRjaCBieSBSb2JpbiBTY2hyZWliZXIuCisKKy0gSXNzdWUgIzE0ODA5OiBBZGQgSFRUUCBzdGF0dXMgY29kZXMgaW50cm9kdWNlZCBieSBSRkMgNjU4NSB0byBodHRwLnNlcnZlcgorICBhbmQgaHR0cC5jbGllbnQuIFBhdGNoIGJ5IEV1bmdKdW4gWWkuCisKKy0gSXNzdWUgIzE0Nzc3OiB0a2ludGVyIG1heSByZXR1cm4gdW5kZWNvZGVkIFVURi04IGJ5dGVzIGFzIGEgc3RyaW5nIHdoZW4KKyAgYWNjZXNzaW5nIHRoZSBUayBjbGlwYm9hcmQuICBNb2RpZnkgY2xpcGJvYWRfZ2V0KCkgdG8gZmlyc3QgcmVxdWVzdCB0eXBlCisgIFVURjhfU1RSSU5HIHdoZW4gbm8gc3BlY2lmaWMgdHlwZSBpcyByZXF1ZXN0ZWQgaW4gYW4gWDExIHdpbmRvd2luZworICBlbnZpcm9ubWVudCwgZmFsbGluZyBiYWNrIHRvIHRoZSBjdXJyZW50IGRlZmF1bHQgdHlwZSBTVFJJTkcgaWYgdGhhdCBmYWlscy4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgVGhvbWFzIEtsdXl2ZXIuCisKKy0gSXNzdWUgIzE0NzczOiBGaXggb3MuZndhbGsoKSBmYWlsaW5nIG9uIGRhbmdsaW5nIHN5bWxpbmtzLgorCistIElzc3VlICMxMjU0MTogQmUgbGVuaWVudCB3aXRoIHF1b3RlcyBhcm91bmQgUmVhbG0gZmllbGQgb2YgSFRUUCBCYXNpYworICBBdXRoZW50YXRpb24gaW4gdXJsbGliMi4KKworLSBJc3N1ZSAjMTQ4MDc6IG1vdmUgdW5kb2N1bWVudGVkIHRhcmZpbGUuZmlsZW1vZGUoKSB0byBzdGF0LmZpbGVtb2RlKCkgYW5kIGFkZAorICBkb2MgZW50cnkuIEFkZCB0YXJmaWxlLmZpbGVtb2RlIGFsaWFzIHdpdGggZGVwcmVjYXRpb24gd2FybmluZy4KKworLSBJc3N1ZSAjMTM4MTU6IFRhckZpbGUuZXh0cmFjdGZpbGUoKSBub3cgcmV0dXJucyBpby5CdWZmZXJlZFJlYWRlciBvYmplY3RzLgorCistIElzc3VlICMxNDUzMjogQWRkIGEgc2VjdXJlX2NvbXBhcmUoKSBoZWxwZXIgdG8gdGhlIGhtYWMgbW9kdWxlLCB0byBtaXRpZ2F0ZQorICB0aW1pbmcgYXR0YWNrcy4gUGF0Y2ggYnkgSm9uIE9iZXJoZWlkZS4KKworLSBBZGQgaW1wb3J0bGliLnV0aWwucmVzb2x2ZV9uYW1lKCkuCisKKy0gSXNzdWUgIzE0MzY2OiBTdXBwb3J0IGx6bWEgY29tcHJlc3Npb24gaW4gemlwIGZpbGVzLgorICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxMzk1OTogSW50cm9kdWNlIGltcG9ydGxpYi5maW5kX2xvYWRlcigpIGFuZCBkb2N1bWVudAorICBpbXAuZmluZF9tb2R1bGUvbG9hZF9tb2R1bGUgYXMgZGVwcmVjYXRlZC4KKworLSBJc3N1ZSAjMTQwODI6IHNodXRpbC5jb3B5MigpIG5vdyBjb3BpZXMgZXh0ZW5kZWQgYXR0cmlidXRlcywgaWYgcG9zc2libGUuCisgIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KKworLSBJc3N1ZSAjMTM5NTk6IE1ha2UgaW1wb3J0bGliLmFiYy5GaWxlTG9hZGVyLmxvYWRfbW9kdWxlKCkvZ2V0X2ZpbGVuYW1lKCkgYW5kCisgIGltcG9ydGxpYi5tYWNoaW5lcnkuRXh0ZW5zaW9uRmlsZUxvYWRlci5sb2FkX21vZHVsZSgpIGhhdmUgdGhlaXIgc2luZ2xlCisgIGFyZ3VtZW50IGJlIG9wdGlvbmFsLiBBbGxvd3MgZm9yIHRoZSByZXBsYWNlbWVudCAoYW5kIHRodXMgZGVwcmVjYXRpb24pIG9mCisgIGltcC5sb2FkX3NvdXJjZSgpL2xvYWRfcGFja2FnZSgpL2xvYWRfY29tcGlsZWQoKS4KKworLSBJc3N1ZSAjMTM5NTk6IGltcC5nZXRfc3VmZml4ZXMoKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91ciBvZiB0aGUgbmV3CisgIGF0dHJpYnV0ZXMgb24gaW1wb3J0bGliLm1hY2hpbmVyeTogU09VUkNFX1NVRkZJWEVTLCBERUJVR19CWVRFQ09ERV9TVUZGSVhFUywKKyAgT1BUSU1JWkVEX0JZVEVDT0RFX1NVRkZJWEVTLCBCWVRFQ09ERV9TVUZGSVhFUywgYW5kIEVYVEVOU0lPTl9TVUZGSVhFUy4gVGhpcworICBsZWQgdG8gYW4gaW5kaXJlY3QgZGVwcmVjYXRpb24gb2YgaW5zcGVjdC5nZXRtb2R1bGVpbmZvKCkuCisKKy0gSXNzdWUgIzE0NjYyOiBQcmV2ZW50IHNodXRpbCBmYWlsdXJlcyBvbiBPUyBYIHdoZW4gZGVzdGluYXRpb24gZG9lcyBub3QKKyAgc3VwcG9ydCBjaGZsYWcgb3BlcmF0aW9ucy4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KKworLSBJc3N1ZSAjMTQxNTc6IEZpeCB0aW1lLnN0cnB0aW1lIGZhaWxpbmcgd2l0aG91dCBhIHllYXIgb24gRmVicnVhcnkgMjl0aC4KKyAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgorCistIElzc3VlICMxNDc1MzogTWFrZSBtdWx0aXByb2Nlc3NpbmcncyBoYW5kbGluZyBvZiBuZWdhdGl2ZSB0aW1lb3V0cworICB0aGUgc2FtZSBhcyBpdCB3YXMgaW4gUHl0aG9uIDMuMi4KKworLSBJc3N1ZSAjMTQ1ODM6IEZpeCBpbXBvcnRsaWIgYnVnIHdoZW4gYSBwYWNrYWdlJ3MgX19pbml0X18ucHkgd291bGQgZmlyc3QKKyAgaW1wb3J0IG9uZSBvZiBpdHMgbW9kdWxlcyB0aGVuIHJhaXNlIGFuIGVycm9yLgorCistIElzc3VlICMxNDc0MTogRml4IG1pc3Npbmcgc3VwcG9ydCBmb3IgRWxsaXBzaXMgKCcuLi4nKSBpbiBwYXJzZXIgbW9kdWxlLgorCistIElzc3VlICMxNDY5NzogRml4IG1pc3Npbmcgc3VwcG9ydCBmb3Igc2V0IGRpc3BsYXlzIGFuZCBzZXQgY29tcHJlaGVuc2lvbnMgaW4KKyAgcGFyc2VyIG1vZHVsZS4KKworLSBJc3N1ZSAjMTQ3MDE6IEZpeCBtaXNzaW5nIHN1cHBvcnQgZm9yICdyYWlzZSAuLi4gZnJvbScgaW4gcGFyc2VyIG1vZHVsZS4KKworLSBBZGQgc3VwcG9ydCBmb3IgdGltZW91dHMgdG8gdGhlIGFjcXVpcmUoKSBtZXRob2RzIG9mCisgIG11bHRpcHJvY2Vzc2luZydzIGxvY2svc2VtYXBob3JlL2NvbmRpdGlvbiBwcm94aWVzLgorCistIElzc3VlICMxMzk4OTogQWRkIHN1cHBvcnQgZm9yIHRleHQgbW9kZSB0byBnemlwLm9wZW4oKS4KKworLSBJc3N1ZSAjMTQxMjc6IFRoZSBvcy5zdGF0KCkgcmVzdWx0IG9iamVjdCBub3cgcHJvdmlkZXMgdGhyZWUgYWRkaXRpb25hbAorICBmaWVsZHM6IHN0X2N0aW1lX25zLCBzdF9tdGltZV9ucywgYW5kIHN0X2F0aW1lX25zLCBwcm92aWRpbmcgdGhvc2UgdGltZXMgYXMgYW4KKyAgaW50ZWdlciB3aXRoIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gIFRoZSBmdW5jdGlvbnMgb3MudXRpbWUoKSwgb3MubHV0aW1lcygpLAorICBhbmQgb3MuZnV0aW1lcygpIG5vdyBhY2NlcHQgYSBuZXcgcGFyYW1ldGVyLCBucywgd2hpY2ggYWNjZXB0cyBtdGltZSBhbmQgYXRpbWUKKyAgYXMgaW50ZWdlcnMgd2l0aCBuYW5vc2Vjb25kIHJlc29sdXRpb24uCisKKy0gSXNzdWUgIzE0MTI3IGFuZCAjMTAxNDg6IHNodXRpbC5jb3B5c3RhdCBub3cgcHJlc2VydmVzIGV4YWN0IG10aW1lIGFuZCBhdGltZQorICBvbiBmaWxlc3lzdGVtcyBwcm92aWRpbmcgbmFub3NlY29uZCByZXNvbHV0aW9uLgorCitUb29scy9EZW1vcworLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTQ2OTU6IEJyaW5nIFRvb2xzL3BhcnNlci91bnBhcnNlLnB5IHN1cHBvcnQgdXAgdG8gZGF0ZSB3aXRoCisgIHRoZSBQeXRob24gMy4zIEdyYW1tYXIuCisKK0J1aWxkCistLS0tLQorCistIElzc3VlICMxNDQ3MjogVXBkYXRlIC5naXRpZ25vcmUuIFBhdGNoIGJ5IE1hdGVqIENlcGwuCisKKy0gVXBncmFkZSBXaW5kb3dzIGxpYnJhcnkgdmVyc2lvbnM6IGJ6aXAgMS4wLjYsIE9wZW5TU0wgMS4wLjFjLgorCistIElzc3VlICMxNDY5MzogVW5kZXIgbm9uLVdpbmRvd3MgcGxhdGZvcm1zLCBoYXNobGliJ3MgZmFsbGJhY2sgbW9kdWxlcyBhcmUKKyAgYWx3YXlzIGNvbXBpbGVkLCBldmVuIGlmIE9wZW5TU0wgaXMgcHJlc2VudCBhdCBidWlsZCB0aW1lLgorCistIElzc3VlICMxMzIxMDogV2luZG93cyBidWlsZCBub3cgdXNlcyBWUzIwMTAsIHBvcnRlZCBmcm9tIFZTMjAwOC4KKworRG9jdW1lbnRhdGlvbgorLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNDU4ODogVGhlIGxhbmd1YWdlIHJlZmVyZW5jZSBub3cgYWNjdXJhdGVseSBkb2N1bWVudHMgdGhlIFB5dGhvbiAzCisgIGNsYXNzIGRlZmluaXRpb24gcHJvY2Vzcy4gUGF0Y2ggYnkgTmljayBDb2dobGFuLgorCistIElzc3VlICMxNDk0MzogQ29ycmVjdCBhIGRlZmF1bHQgYXJndW1lbnQgdmFsdWUgZm9yIHdpbnJlZy5PcGVuS2V5CisgIGFuZCBjb3JyZWN0bHkgbGlzdCB0aGUgYXJndW1lbnQgbmFtZXMgaW4gdGhlIGZ1bmN0aW9uJ3MgZXhwbGFuYXRpb24uCisKKworV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjAgQWxwaGEgMz8KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKypSZWxlYXNlIGRhdGU6IDAxLU1heS0yMDEyKgorCitDb3JlIGFuZCBCdWlsdGlucworLS0tLS0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTQ2OTk6IEZpeCBjYWxsaW5nIHRoZSBjbGFzc21ldGhvZCBkZXNjcmlwdG9yIGRpcmVjdGx5LgorCistIElzc3VlICMxNDQzMzogUHJldmVudCBtc3ZjcnQgY3Jhc2ggaW4gaW50ZXJhY3RpdmUgcHJvbXB0IHdoZW4gc3RkaW4gaXMgY2xvc2VkLgorCistIElzc3VlICMxNDUyMTogTWFrZSByZXN1bHQgb2YgZmxvYXQoJ25hbicpIGFuZCBmbG9hdCgnLW5hbicpIG1vcmUgY29uc2lzdGVudAorICBhY3Jvc3MgcGxhdGZvcm1zLgorCistIElzc3VlICMxNDY0NjogX19pbXBvcnRfXygpIHNldHMgX19sb2FkZXJfXyBpZiB0aGUgbG9hZGVyIGRpZCBub3QuCisKKy0gSXNzdWUgIzE0NjA1OiBObyBsb25nZXIgaGF2ZSBpbXBsaWNpdCBlbnRyaWVzIGluIHN5cy5tZXRhX3BhdGguIElmCisgIHN5cy5tZXRhX3BhdGggaXMgZm91bmQgdG8gYmUgZW1wdHksIHJhaXNlIEltcG9ydFdhcm5pbmcuCisKKy0gSXNzdWUgIzE0NjA1OiBObyBsb25nZXIgaGF2ZSBpbXBsaWNpdCBlbnRyaWVzIGluIHN5cy5wYXRoX2hvb2tzLiBJZgorICBzeXMucGF0aF9ob29rcyBpcyBmb3VuZCB0byBiZSBlbXB0eSwgYSB3YXJuaW5nIHdpbGwgYmUgcmFpc2VkLiBOb25lIGlzIG5vdworICBpbnNlcnRlZCBpbnRvIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlIGlmIG5vIGZpbmRlciB3YXMgZGlzY292ZXJlZC4gVGhpcyBhbHNvCisgIG1lYW5zIGltcC5OdWxsSW1wb3J0ZXIgaXMgbm8gbG9uZ2VyIGltcGxpY2l0bHkgdXNlZC4KKworLSBJc3N1ZSAjMTM5MDM6IEltcGxlbWVudCBQRVAgNDEyLiBJbmRpdmlkdWFsIGRpY3Rpb25hcnkgaW5zdGFuY2VzIGNhbiBub3cgc2hhcmUKKyAgdGhlaXIga2V5cyB3aXRoIG90aGVyIGRpY3Rpb25hcmllcy4gQ2xhc3NlcyB0YWtlIGFkdmFudGFnZSBvZiB0aGlzIHRvIHNoYXJlCisgIHRoZWlyIGluc3RhbmNlIGRpY3Rpb25hcnkga2V5cyBmb3IgaW1wcm92ZWQgbWVtb3J5IGFuZCBwZXJmb3JtYW5jZS4KKworLSBJc3N1ZSAjMTE2MDMgKGFnYWluKTogU2V0dGluZyBfX3JlcHJfXyB0byBfX3N0cl9fIG5vdyByYWlzZXMgYSBSdW50aW1lRXJyb3IKKyAgd2hlbiByZXByKCkgb3Igc3RyKCkgaXMgY2FsbGVkIG9uIHN1Y2ggYW4gb2JqZWN0LgorCistIElzc3VlICMxNDY1ODogRml4IGJpbmRpbmcgYSBzcGVjaWFsIG1ldGhvZCB0byBhIGJ1aWx0aW4gaW1wbGVtZW50YXRpb24gb2YgYQorICBzcGVjaWFsIG1ldGhvZCB3aXRoIGEgZGlmZmVyZW50IG5hbWUuCisKKy0gSXNzdWUgIzE0NjMwOiBGaXggYSBtZW1vcnkgYWNjZXNzIGJ1ZyBmb3IgaW5zdGFuY2VzIG9mIGEgc3ViY2xhc3Mgb2YgaW50CisgIHdpdGggdmFsdWUgMC4KKworLSBJc3N1ZSAjMTQzMzk6IFNwZWVkIGltcHJvdmVtZW50cyB0byBiaW4sIG9jdCBhbmQgaGV4IGZ1bmN0aW9ucy4gIFBhdGNoIGJ5CisgIFNlcmhpeSBTdG9yY2hha2EuCisKKy0gSXNzdWUgIzE0MDk4OiBOZXcgZnVuY3Rpb25zIFB5RXJyX0dldEV4Y0luZm8gYW5kIFB5RXJyX1NldEV4Y0luZm8uCisgIFBhdGNoIGJ5IFN0ZWZhbiBCZWhuZWwuCisKKy0gSXNzdWUgIzE0Mzg1OiBJdCBpcyBub3cgcG9zc2libGUgdG8gdXNlIGEgY3VzdG9tIHR5cGUgZm9yIHRoZSBfX2J1aWx0aW5zX18KKyAgbmFtZXNwYWNlLCBpbnN0ZWFkIG9mIGEgZGljdC4gSXQgY2FuIGJlIHVzZWQgZm9yIHNhbmRib3hpbmcgZm9yIGV4YW1wbGUuCisgIFJhaXNlIGFsc28gYSBOYW1lRXJyb3IgaW5zdGVhZCBvZiBJbXBvcnRFcnJvciBpZiBfX2J1aWxkX2NsYXNzX18gbmFtZSBpZiBub3QKKyAgZm91bmQgaW4gX19idWlsdGluc19fLgorCistIElzc3VlICMxMjU5OTogQmUgbW9yZSBzdHJpY3QgaW4gYWNjZXB0aW5nIE5vbmUgY29tcGFyZWQgdG8gYSBmYWxzZS1saWtlCisgIG9iamVjdCBmb3IgaW1wb3J0bGliLnV0aWwubW9kdWxlX2Zvcl9sb2FkZXIgYW5kCisgIGltcG9ydGxpYi5tYWNoaW5lcnkuUGF0aEZpbmRlci4KKworLSBJc3N1ZSAjMTQ2MTI6IEZpeCBqdW1waW5nIGFyb3VuZCB3aXRoIGJsb2NrcyBieSBzZXR0aW5nIGZfbGluZW5vLgorCistIElzc3VlICMxNDU5MjogQXR0ZW1wdGluZyBhIHJlbGF0aXZlIGltcG9ydCB3L28gX19wYWNrYWdlX18gb3IgX19uYW1lX18gc2V0IGluCisgIGdsb2JhbHMgcmFpc2VzIGEgS2V5RXJyb3IuCisKKy0gSXNzdWUgIzE0NjA3OiBGaXgga2V5d29yZC1vbmx5IGFyZ3VtZW50cyB3aGljaCBzdGFydGVkIHdpdGggYGBfX2BgLgorCistIElzc3VlICMxMDg1NDogVGhlIEltcG9ydEVycm9yIHJhaXNlZCB3aGVuIGFuIGV4dGVuc2lvbiBtb2R1bGUgb24gV2luZG93cworICBmYWlscyB0byBpbXBvcnQgbm93IHVzZXMgdGhlIG5ldyBwYXRoIGFuZCBuYW1lIGF0dHJpYnV0ZXMgZnJvbQorICBJc3N1ZSAjMTU1OTU0OS4KKworLSBJc3N1ZSAjMTM4ODk6IENoZWNrIGFuZCAoaWYgbmVjZXNzYXJ5KSBzZXQgRlBVIGNvbnRyb2wgd29yZCBiZWZvcmUgY2FsbGluZworICBhbnkgb2YgdGhlIGR0b2EuYyBzdHJpbmcgPC0+IGZsb2F0IGNvbnZlcnNpb24gZnVuY3Rpb25zLCBvbiBNU1ZDIGJ1aWxkcyBvZgorICBQeXRob24uICBUaGlzIGZpeGVzIGlzc3VlcyB3aGVuIGVtYmVkZGluZyBQeXRob24gaW4gYSBEZWxwaGkgYXBwLgorCistIF9faW1wb3J0X18oKSBub3cgbWF0Y2hlcyBQRVAgMzI4IGFuZCBkb2N1bWVudGF0aW9uIGJ5IGRlZmF1bHRpbmcgJ2luZGV4JyB0byAwCisgIGluc3RlYWQgb2YgLTEgYW5kIHJlbW92aW5nIHN1cHBvcnQgZm9yIG5lZ2F0aXZlIHZhbHVlcy4KKworLSBJc3N1ZSAjMjM3NzogTWFrZSBpbXBvcnRsaWIgdGhlIGltcGxlbWVudGF0aW9uIG9mIF9faW1wb3J0X18oKS4KKworLSBJc3N1ZSAjMTU1OTU0OTogSW1wb3J0RXJyb3Igbm93IGhhcyAnbmFtZScgYW5kICdwYXRoJyBhdHRyaWJ1dGVzIHRoYXQgYXJlIHNldAorICB1c2luZyBrZXl3b3JkIGFyZ3VtZW50cyB0byBpdHMgY29uc3RydWN0b3IuIFRoZXkgYXJlIGN1cnJlbnRseSBub3Qgc2V0IGJ5CisgIGltcG9ydCBhcyB0aGV5IGFyZSBtZWFudCBmb3IgdXNlIGJ5IGltcG9ydGxpYi4KKworLSBJc3N1ZSAjMTQ0NzQ6IFNhdmUgYW5kIHJlc3RvcmUgZXhjZXB0aW9uIHN0YXRlIGluIHRocmVhZC5zdGFydF9uZXdfdGhyZWFkKCkKKyAgd2hpbGUgd3JpdGluZyBlcnJvciBtZXNzYWdlIGlmIHRoZSB0aHJlYWQgbGVhdmVzIGEgdW5oYW5kbGVkIGV4Y2VwdGlvbi4KKworLSBJc3N1ZSAjMTMwMTk6IEZpeCBwb3RlbnRpYWwgcmVmZXJlbmNlIGxlYWtzIGluIGJ5dGVhcnJheS5leHRlbmQoKS4gIFBhdGNoCisgIGJ5IFN1bWFuIFNhaGEuCisKK0xpYnJhcnkKKy0tLS0tLS0KKworLSBJc3N1ZSAjMTQ3Njg6IG9zLnBhdGguZXhwYW5kdXNlcignfi9hJykgZG9lc24ndCB3b3JrcyBjb3JyZWN0bHkgd2hlbiBIT01FIGlzICcvJy4KKworLSBJc3N1ZSAjMTQzNzE6IFN1cHBvcnQgYnppcDIgaW4gemlwZmlsZSBtb2R1bGUuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorCistIElzc3VlICMxMzE4MzogRml4IHBkYiBza2lwcGluZyBmcmFtZXMgYWZ0ZXIgaGl0dGluZyBhIGJyZWFrcG9pbnQgYW5kIHJ1bm5pbmcKKyAgc3RlcC4gIFBhdGNoIGJ5IFhhdmllciBkZSBHYXllLgorCistIElzc3VlICMxNDY5NjogRml4IHBhcnNlciBtb2R1bGUgdG8gdW5kZXJzdGFuZCAnbm9ubG9jYWwnIGRlY2xhcmF0aW9ucy4KKworLSBJc3N1ZSAjMTA5NDE6IEZpeCBpbWFwbGliLkludGVybmFsZGF0ZTJ0dXBsZSB0byBwcm9kdWNlIGNvcnJlY3QgcmVzdWx0IG5lYXIKKyAgdGhlIERTVCB0cmFuc2l0aW9uLiAgUGF0Y2ggYnkgSm9lIFBldGVyc29uLgorCistIElzc3VlICM5MTU0OiBGaXggcGFyc2VyIG1vZHVsZSB0byB1bmRlcnN0YW5kIGZ1bmN0aW9uIGFubm90YXRpb25zLgorCistIElzc3VlICM2MDg1OiBJbiBodHRwLnNlcnZlci5weSBTaW1wbGVIVFRQU2VydmVyLmFkZHJlc3Nfc3RyaW5nIHJldHVybnMgdGhlCisgIGNsaWVudCBpcCBhZGRyZXNzIGluc3RlYWQgY2xpZW50IGhvc3RuYW1lLiBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCisKKy0gSXNzdWUgIzE0MzA5OiBEZXByZWNhdGUgdGltZS5jbG9jaygpLCB1c2UgdGltZS5wZXJmX2NvdW50ZXIoKSBvcgorICB0aW1lLnByb2Nlc3NfdGltZSgpIGluc3RlYWQuCisKKy0gSXNzdWUgIzE0NDI4OiBJbXBsZW1lbnQgdGhlIFBFUCA0MTguIEFkZCB0aW1lLmdldF9jbG9ja19pbmZvKCksCisgIHRpbWUucGVyZl9jb3VudGVyKCkgYW5kIHRpbWUucHJvY2Vzc190aW1lKCkgZnVuY3Rpb25zLCBhbmQgcmVuYW1lCisgIHRpbWUuc3RlYWR5KCkgdG8gdGltZS5tb25vdG9uaWMoKS4KKworLSBJc3N1ZSAjMTQ2NDY6IGltcG9ydGxpYi51dGlsLm1vZHVsZV9mb3JfbG9hZGVyKCkgbm93IHNldHMgX19sb2FkZXJfXyBhbmQKKyAgX19wYWNrYWdlX18gKHdoZW4gcG9zc2libGUpLgorCistIElzc3VlICMxNDY2NDogSXQgaXMgbm93IHBvc3NpYmxlIHRvIHVzZSBAdW5pdHRlc3Quc2tpcHtJZixVbmxlc3N9IG9uIGEKKyAgdGVzdCBjbGFzcyB0aGF0IGRvZXNuJ3QgaW5oZXJpdCBmcm9tIFRlc3RDYXNlIChpLmUuIGEgbWl4aW4pLgorCistIElzc3VlICM0ODkyOiBtdWx0aXByb2Nlc3NpbmcgQ29ubmVjdGlvbnMgY2FuIG5vdyBiZSB0cmFuc2ZlcnJlZCBvdmVyCisgIG11bHRpcHJvY2Vzc2luZyBDb25uZWN0aW9ucy4gIFBhdGNoIGJ5IFJpY2hhcmQgT3Vka2VyayAoc2J0KS4KKworLSBJc3N1ZSAjMTQxNjA6IFRhckZpbGUuZXh0cmFjdGZpbGUoKSBmYWlsZWQgdG8gcmVzb2x2ZSBzeW1ib2xpYyBsaW5rcyB3aGVuCisgIHRoZSBsaW5rcyB3ZXJlIG5vdCBsb2NhdGVkIGluIGFuIGFyY2hpdmUgc3ViZGlyZWN0b3J5LgorCistIElzc3VlICMxNDYzODogcHlkb2Mgbm93IHRyZWF0cyBub24tc3RyaW5nIF9fbmFtZV9fIHZhbHVlcyBhcyBpZiB0aGV5CisgIHdlcmUgbWlzc2luZywgaW5zdGVhZCBvZiByYWlzaW5nIGFuIGVycm9yLgorCistIElzc3VlICMxMzY4NDogRml4IGh0dHBsaWIgdHVubmVsIGlzc3VlIG9mIGluZmluaXRlIGxvb3BzIGZvciBjZXJ0YWluIHNpdGVzCisgIHdoaWNoIHNlbmQgRU9GIHdpdGhvdXQgdHJhaWxpbmcgXHJcbi4KKworLSBJc3N1ZSAjMTQ2MDU6IEFkZCBpbXBvcnRsaWIuYWJjLkZpbGVMb2FkZXIsIGltcG9ydGxpYi5tYWNoaW5lcnkuKEZpbGVGaW5kZXIsCisgIFNvdXJjZUZpbGVMb2FkZXIsIFNvdXJjZWxlc3NGaWxlTG9hZGVyLCBFeHRlbnNpb25GaWxlTG9hZGVyKS4KKworLSBJc3N1ZSAjMTM5NTk6IGltcC5jYWNoZV9mcm9tX3NvdXJjZSgpL3NvdXJjZV9mcm9tX2NhY2hlKCkgbm93IGZvbGxvdworICBvcy5wYXRoLmpvaW4oKS9zcGxpdCgpIHNlbWFudGljcyBmb3IgcGF0aCBtYW5pcHVsYXRpb24gaW5zdGVhZCBvZiBpdHMgcHJpb3IsCisgIGN1c3RvbSBzZW1hbnRpY3Mgb2YgY2FyaW5nIHRoZSByaWdodC1tb3N0IHBhdGggc2VwYXJhdG9yIGZvcndhcmQgaW4gcGF0aAorICBqb2luaW5nLgorCistIElzc3VlICMyMTkzOiBBbGxvdyAiOiIgY2hhcmFjdGVyIGluIENvb2tpZSBOQU1FIHZhbHVlcy4KKworLSBJc3N1ZSAjMTQ2Mjk6IHRva2VuaXplci5kZXRlY3RfZW5jb2Rpbmcgd2lsbCBzcGVjaWZ5IHRoZSBmaWxlbmFtZSBpbiB0aGUKKyAgU3ludGF4RXJyb3IgZXhjZXB0aW9uIGlmIGZvdW5kIGF0IHJlYWRsaW5lLl9fc2VsZl9fLm5hbWUuCisKKy0gSXNzdWUgIzE0NjI5OiBSYWlzZSBTeW50YXhFcnJvciBpbiB0b2tlbml6ZXIuZGV0ZWN0X2VuY29kaW5nIGlmIHRoZQorICBmaXJzdCB0d28gbGluZXMgaGF2ZSBub24tVVRGLTggY2hhcmFjdGVycyB3aXRob3V0IGFuIGVuY29kaW5nIGRlY2xhcmF0aW9uLgorCistIElzc3VlICMxNDMwODogRml4IGFuIGV4Y2VwdGlvbiB3aGVuIGEgImR1bW15IiB0aHJlYWQgaXMgaW4gdGhlIHRocmVhZGluZworICBtb2R1bGUncyBhY3RpdmUgbGlzdCBhZnRlciBhIGZvcmsoKS4KKworLSBJc3N1ZSAjMTE3NTA6IFRoZSBXaW5kb3dzIEFQSSBmdW5jdGlvbnMgc2NhdHRlcmVkIGluIHRoZSBfc3VicHJvY2VzcyBhbmQKKyAgX211bHRpcHJvY2Vzc2luZy53aW4zMiBtb2R1bGVzIG5vdyBsaXZlIGluIGEgc2luZ2xlIG1vZHVsZSAiX3dpbmFwaSIuCisgIFBhdGNoIGJ5IHNidC4KKworLSBJc3N1ZSAjMTQwODc6IG11bHRpcHJvY2Vzc2luZzogYWRkIENvbmRpdGlvbi53YWl0X2ZvcigpLiBQYXRjaCBieSBzYnQuCisKKy0gSXNzdWUgIzE0NTM4OiBIVE1MUGFyc2VyIGNhbiBub3cgcGFyc2UgY29ycmVjdGx5IHN0YXJ0IHRhZ3MgdGhhdCBjb250YWluCisgIGEgYmFyZSAnLycuCisKKy0gSXNzdWUgIzE0NDUyOiBTeXNMb2dIYW5kbGVyIG5vIGxvbmdlciBpbnNlcnRzIGEgVVRGLTggQk9NIGludG8gdGhlIG1lc3NhZ2UuCisKKy0gSXNzdWUgIzE0Mzg2OiBFeHBvc2UgdGhlIGRpY3RfcHJveHkgaW50ZXJuYWwgdHlwZSBhcyB0eXBlcy5NYXBwaW5nUHJveHlUeXBlLgorCistIElzc3VlICMxMzk1OTogTWFrZSBpbXAucmVsb2FkKCkgYWx3YXlzIHVzZSBhIG1vZHVsZSdzIF9fbG9hZGVyX18gdG8gcGVyZm9ybQorICB0aGUgcmVsb2FkLgorCistIElzc3VlICMxMzk1OTogQWRkIGltcC5weSBhbmQgcmVuYW1lIHRoZSBidWlsdC1pbiBtb2R1bGUgdG8gX2ltcCwgYWxsb3dpbmcgZm9yCisgIHJlLWltcGxlbWVudGluZyBwYXJ0cyBvZiB0aGUgbW9kdWxlIGluIHB1cmUgUHl0aG9uLgorCistIElzc3VlICMxMzQ5NjogRml4IHBvdGVudGlhbCBvdmVyZmxvdyBpbiBiaXNlY3QuYmlzZWN0IGFsZ29yaXRobSB3aGVuIGFwcGxpZWQKKyAgdG8gYSBjb2xsZWN0aW9uIG9mIHNpemUgPiBzeXMubWF4c2l6ZSAvIDIuCisKKy0gSGF2ZSBpbXBvcnRsaWIgdGFrZSBhZHZhbnRhZ2Ugb2YgSW1wb3J0RXJyb3IncyBuZXcgJ25hbWUnIGFuZCAncGF0aCcKKyAgYXR0cmlidXRlcy4KKworLSBJc3N1ZSAjMTQzOTk6IHppcGZpbGUgbm93IHJlY29nbml6ZXMgdGhhdCB0aGUgYXJjaGl2ZSBoYXMgYmVlbiBtb2RpZmllZCBldmVuCisgIGlmIG9ubHkgdGhlIGNvbW1lbnQgaXMgY2hhbmdlZC4gIEluIGFkZGl0aW9uLCB0aGUgVHlwZUVycm9yIHRoYXQgcmVzdWx0cyBmcm9tCisgIHRyeWluZyB0byBzZXQgYSBub24tYmluYXJ5IHZhbHVlIGFzIGEgY29tbWVudCBpcyBub3cgcmFpc2VkIGF0IHRoZSB0aW1lCisgIHRoZSBjb21tZW50IGlzIHNldCByYXRoZXIgdGhhbiBhdCB0aGUgdGltZSB0aGUgemlwZmlsZSBpcyB3cml0dGVuLgorCistIHRyYWNlLkNvdmVyYWdlUmVzdWx0cy5pc19pZ25vcmVkX2ZpbGVuYW1lKCkgbm93IGlnbm9yZXMgYW55IG5hbWUgdGhhdCBzdGFydHMKKyAgd2l0aCAiPCIgYW5kIGVuZHMgd2l0aCAiPiIgaW5zdGVhZCBvZiBzcGVjaWFsLWNhc2luZyAiPHN0cmluZz4iIGFuZAorICAiPGRvY3Rlc3QgIi4KKworLSBJc3N1ZSAjMTI1Mzc6IFRoZSBtYWlsYm94IG1vZHVsZSBubyBsb25nZXIgZGVwZW5kcyBvbiBrbm93bGVkZ2Ugb2YgaW50ZXJuYWwKKyAgaW1wbGVtZW50YXRpb24gZGV0YWlscyBvZiB0aGUgZW1haWwgcGFja2FnZSBNZXNzYWdlIG9iamVjdC4KKworLSBJc3N1ZSAjNzk3ODogc29ja2V0c2VydmVyIG5vdyByZXN0YXJ0cyB0aGUgc2VsZWN0KCkgY2FsbCB3aGVuIEVJTlRSIGlzCisgIHJldHVybmVkLiAgVGhpcyBhdm9pZHMgY3Jhc2hpbmcgdGhlIHNlcnZlciBsb29wIHdoZW4gYSBzaWduYWwgaXMgcmVjZWl2ZWQuCisgIFBhdGNoIGJ5IEplcnp5IEtvemVyYS4KKworLSBJc3N1ZSAjMTQ1MjI6IEF2b2lkIGR1cGxpY2F0aW5nIHNvY2tldCBoYW5kbGVzIGluIG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uLgorICBQYXRjaCBieSBzYnQuCisKKy0gRG9uJ3QgUHlfREVDUkVGIE5VTEwgdmFyaWFibGUgaW4gaW8uSW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlci4KKworLSBJc3N1ZSAjODUxNTogU2V0IF9fZmlsZV9fIHdoZW4gcnVuIGZpbGUgaW4gSURMRS4KKyAgSW5pdGlhbCBwYXRjaCBieSBCcnVjZSBGcmVkZXJpa3Nlbi4KKworLSBJc3N1ZSAjMTQ0OTY6IEZpeCB3cm9uZyBuYW1lIGluIGlkbGVsaWIvdGFiYmVkcGFnZXMucHkuCisgIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KKworLSBJc3N1ZSAjMzAzMzogQWRkIGRpc3BsYXlvZiBwYXJhbWV0ZXIgdG8gdGtpbnRlciBmb250LiBQYXRjaCBieSBHdWlsaGVybWUgUG9sby4KKworLSBJc3N1ZSAjMTQ0ODI6IFJhaXNlIGEgVmFsdWVFcnJvciwgbm90IGEgTmFtZUVycm9yLCB3aGVuIHRyeWluZyB0byBjcmVhdGUKKyAgYSBtdWx0aXByb2Nlc3NpbmcgQ2xpZW50IG9yIExpc3RlbmVyIHdpdGggYW4gQUZfVU5JWCB0eXBlIGFkZHJlc3MgdW5kZXIKKyAgV2luZG93cy4gIFBhdGNoIGJ5IFBvcGEgQ2xhdWRpdS4KKworLSBJc3N1ZSAjODAyMzEwOiBHZW5lcmF0ZSBhbHdheXMgdW5pcXVlIHRraW50ZXIgZm9udCBuYW1lcyBpZiBub3QgZGlyZWN0bHkgcGFzc2VkLgorCistIElzc3VlICMxNDE1MTogUmFpc2UgYSBWYWx1ZUVycm9yLCBub3QgYSBOYW1lRXJyb3IsIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZQorICBhIG11bHRpcHJvY2Vzc2luZyBDbGllbnQgb3IgTGlzdGVuZXIgd2l0aCBhbiBBRl9QSVBFIHR5cGUgYWRkcmVzcyB1bmRlcgorICBub24tV2luZG93cyBwbGF0Zm9ybXMuICBQYXRjaCBieSBQb3BhIENsYXVkaXUuCisKKy0gSXNzdWUgIzE0NDkzOiBVc2UgZ3Zmcy1vcGVuIG9yIHhkZy1vcGVuIGluIHdlYmJyb3dzZXIuCisKK0J1aWxkCistLS0tLQorCistICJtYWtlIHRvdWNoIiB3aWxsIG5vdyB0b3VjaCBnZW5lcmF0ZWQgZmlsZXMgdGhhdCBhcmUgY2hlY2tlZCBpbnRvIE1lcmN1cmlhbCwKKyAgYWZ0ZXIgYSAiaGcgdXBkYXRlIiB3aGljaCBmYWlsZWQgdG8gYnJpbmcgdGhlIHRpbWVzdGFtcHMgaW50byB0aGUgcmlnaHQgb3JkZXIuCisKK1Rlc3RzCistLS0tLQorCistIElzc3VlICMxNDAyNjogSW4gdGVzdF9jbWRfbGluZV9zY3JpcHQsIGNoZWNrIHRoYXQgc3lzLmFyZ3YgaXMgcG9wdWxhdGVkCisgIGNvcnJlY3RseSBmb3IgdGhlIHZhcmlvdXMgaW52b2NhdGlvbiBhcHByb2FjaGVzIChQYXRjaCBieSBKYXNvbiBZZW8pCisKKy0gSXNzdWUgIzE0MDMyOiBGaXggaW5jb3JyZWN0IHZhcmlhYmxlIG5hbWUgaW4gdGVzdF9jbWRfbGluZV9zY3JpcHQgZGVidWdnaW5nCisgIG1lc3NhZ2UgKFBhdGNoIGJ5IEphc29uIFllbykKKworLSBJc3N1ZSAjMTQ1ODk6IFVwZGF0ZSBjZXJ0aWZpY2F0ZSBjaGFpbiBmb3Igc2hhMjU2LnRicy1pbnRlcm5ldC5jb20sIGZpeGluZworICBhIHRlc3QgZmFpbHVyZSBpbiB0ZXN0X3NzbC4KKworLSBJc3N1ZSAjMTQzNTU6IFJlZ3J0ZXN0IG5vdyBzdXBwb3J0cyB0aGUgc3RhbmRhcmQgdW5pdHRlc3QgdGVzdCBsb2FkaW5nLCBhbmQKKyAgd2lsbCB1c2UgaXQgaWYgYSB0ZXN0IGZpbGUgY29udGFpbnMgbm8gYHRlc3RfbWFpbmAgbWV0aG9kLgorCitUb29scyAvIERlbW9zCistLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzM1NjE6IFRoZSBXaW5kb3dzIGluc3RhbGxlciBub3cgaGFzIGFuIG9wdGlvbiwgb2ZmIGJ5IGRlZmF1bHQsIGZvcgorICBwbGFjaW5nIHRoZSBQeXRob24gaW5zdGFsbGF0aW9uIGludG8gdGhlIHN5c3RlbSAiUGF0aCIgZW52aXJvbm1lbnQgdmFyaWFibGUuCisKKy0gSXNzdWUgIzEzMTY1OiBzdHJpbmdiZW5jaCBpcyBub3cgYXZhaWxhYmxlIGluIHRoZSBUb29scy9zdHJpbmdiZW5jaCBmb2xkZXIuCisgIEl0IHVzZWQgdG8gbGl2ZSBpbiBpdHMgb3duIFNWTiBwcm9qZWN0LgorCisKK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDI/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisqUmVsZWFzZSBkYXRlOiAwMS1BcHItMjAxMioKKworQ29yZSBhbmQgQnVpbHRpbnMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzE2ODMzNjg6IG9iamVjdC5fX25ld19fIGFuZCBvYmplY3QuX19pbml0X18gcmFpc2UgYSBUeXBlRXJyb3IgaWYgdGhleQorICBhcmUgcGFzc2VkIGFyZ3VtZW50cyBhbmQgdGhlaXIgY29tcGxlbWVudGFyeSBtZXRob2QgaXMgbm90IG92ZXJyaWRkZW4uCisKKy0gSXNzdWUgIzE0Mzc4OiBGaXggY29tcGlsaW5nIGFzdC5JbXBvcnRGcm9tIG5vZGVzIHdpdGggYSAiX19mdXR1cmVfXyIgc3RyaW5nIGFzCisgIHRoZSBtb2R1bGUgbmFtZSB0aGF0IHdhcyBub3QgaW50ZXJuZWQuCisKKy0gSXNzdWUgIzE0MzMxOiBVc2Ugc2lnbmlmaWNhbnRseSBsZXNzIHN0YWNrIHNwYWNlIHdoZW4gaW1wb3J0aW5nIG1vZHVsZXMgYnkKKyAgYWxsb2NhdGluZyBwYXRoIGJ1ZmZlcnMgb24gdGhlIGhlYXAgaW5zdGVhZCBvZiB0aGUgc3RhY2suCisKKy0gSXNzdWUgIzE0MzM0OiBQcmV2ZW50IGluIGEgc2VnZmF1bHQgaW4gdHlwZS5fX2dldGF0dHJpYnV0ZV9fIHdoZW4gaXQgd2FzIG5vdAorICBwYXNzZWQgc3RyaW5ncy4KKworLSBJc3N1ZSAjMTQ2OTYyOTogQWxsb3cgY3ljbGVzIHRocm91Z2ggYW4gb2JqZWN0J3MgX19kaWN0X18gc2xvdCB0byBiZQorICBjb2xsZWN0ZWQuIChGb3IgZXhhbXBsZSBpZiBgYHguX19kaWN0X18gaXMgeGBgKS4KKworLSBJc3N1ZSAjMTQyMDU6IGRpY3QgbG9va3VwIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiB0aGUgZGljdCBpcyBtb2RpZmllZAorICBkdXJpbmcgYSBsb29rdXAuCisKKy0gSXNzdWUgIzE0MjIwOiBXaGVuIGEgZ2VuZXJhdG9yIGlzIGRlbGVnYXRpbmcgdG8gYW5vdGhlciBpdGVyYXRvciB3aXRoIHRoZQorICB5aWVsZCBmcm9tIHN5bnRheCwgaXQgbmVlZHMgdG8gaGF2ZSBpdHMgYGBnaV9ydW5uaW5nYGAgZmxhZyBzZXQgdG8gVHJ1ZS4KKworLSBJc3N1ZSAjMTQ0MzU6IFJlbW92ZSBkZWRpY2F0ZWQgYmxvY2sgYWxsb2NhdG9yIGZyb20gZmxvYXRvYmplY3QuYyBhbmQgcmVseQorICBvbiB0aGUgUHlPYmplY3RfTWFsbG9jKCkgYXBpIGxpa2UgYWxsIG90aGVyIG9iamVjdHMuCisKKy0gSXNzdWUgIzE0NDcxOiBGaXggYSBwb3NzaWJsZSBidWZmZXIgb3ZlcnJ1biBpbiB0aGUgd2lucmVnIG1vZHVsZS4KKworLSBJc3N1ZSAjMTQyODg6IEFsbG93IHRoZSBzZXJpYWxpemF0aW9uIG9mIGJ1aWx0aW4gaXRlcmF0b3JzCisKK0xpYnJhcnkKKy0tLS0tLS0KKworLSBJc3N1ZSAjMTQzMDA6IFVuZGVyIFdpbmRvd3MsIHNvY2tldHMgY3JlYXRlZCB1c2luZyBzb2NrZXQuZHVwKCkgbm93IGFsbG93CisgIG92ZXJsYXBwZWQgSS9PLiAgUGF0Y2ggYnkgc2J0LgorCistIElzc3VlICMxMzg3Mjogc29ja2V0LmRldGFjaCgpIG5vdyBtYXJrcyB0aGUgc29ja2V0IGNsb3NlZCAoYXMgbWlycm9yZWQKKyAgaW4gdGhlIHNvY2tldCByZXByKCkpLiAgUGF0Y2ggYnkgTWF0dCBKb2luZXIuCisKKy0gSXNzdWUgIzE0NDA2OiBGaXggYSByYWNlIGNvbmRpdGlvbiB3aGVuIHVzaW5nIGBgY29uY3VycmVudC5mdXR1cmVzLndhaXQoCisgIHJldHVybl93aGVuPUFMTF9DT01QTEVURUQpYGAuICBQYXRjaCBieSBNYXR0IEpvaW5lci4KKworLSBJc3N1ZSAjNTEzNjogZGVwcmVjYXRlIG9sZCwgdW51c2VkIGZ1bmN0aW9ucyBmcm9tIHRraW50ZXIuCisKKy0gSXNzdWUgIzE0NDA5OiBJRExFIG5vdyBwcm9wZXJseSBleGVjdXRlcyBjb21tYW5kcyBpbiB0aGUgU2hlbGwgd2luZG93CisgIHdoZW4gaXQgY2Fubm90IHJlYWQgdGhlIG5vcm1hbCBjb25maWcgZmlsZXMgb24gc3RhcnR1cCBhbmQKKyAgaGFzIHRvIHVzZSB0aGUgYnVpbHQtaW4gZGVmYXVsdCBrZXkgYmluZGluZ3MuCisgIFRoZXJlIHdhcyBwcmV2aW91c2x5IGEgYnVnIGluIG9uZSBvZiB0aGUgZGVmYXVsdHMuCisKKy0gSXNzdWUgIzE0NDE2OiBzeXNsb2cgbm93IGRlZmluZXMgdGhlIExPR19PREVMQVkgYW5kIExPR19BVVRIUFJJViBjb25zdGFudHMKKyAgaWYgdGhleSBhcmUgZGVmaW5lZCBpbiA8c3lzbG9nLmg+LgorCistIElETEUgY2FuIGJlIGxhdW5jaGVkIGFzIHB5dGhvbiAtbSBpZGxlbGliCisKKy0gSXNzdWUgIzE0Mjk1OiBBZGQgdW5pdHRlc3QubW9jaworCistIElzc3VlICM3NjUyOiBBZGQgLS13aXRoLXN5c3RlbS1saWJtcGRlYyBvcHRpb24gdG8gY29uZmlndXJlIGZvciBsaW5raW5nCisgIHRoZSBfZGVjaW1hbCBtb2R1bGUgYWdhaW5zdCBhbiBpbnN0YWxsZWQgbGlibXBkZWMuCisKKy0gSXNzdWUgIzE0MzgwOiBNSU1FVGV4dCBub3cgZGVmYXVsdHMgdG8gdXRmLTggd2hlbiBwYXNzZWQgbm9uLUFTQ0lJIHVuaWNvZGUKKyAgd2l0aCBubyBjaGFyc2V0IHNwZWNpZmllZC4KKworLSBJc3N1ZSAjMTAzNDA6IGFzeW5jb3JlIC0gcHJvcGVybHkgaGFuZGxlIEVJTlZBTCBpbiBkaXNwYXRjaGVyIGNvbnN0cnVjdG9yIG9uCisgIE9TWDsgYXZvaWQgdG8gY2FsbCBoYW5kbGVfY29ubmVjdCBpbiBjYXNlIG9mIGEgZGlzY29ubmVjdGVkIHNvY2tldCB3aGljaAorICB3YXMgbm90IG1lYW50IHRvIGNvbm5lY3QuCisKKy0gSXNzdWUgIzE0MjA0OiBUaGUgc3NsIG1vZHVsZSBub3cgaGFzIHN1cHBvcnQgZm9yIHRoZSBOZXh0IFByb3RvY29sCisgIE5lZ290aWF0aW9uIGV4dGVuc2lvbiwgaWYgYXZhaWxhYmxlIGluIHRoZSB1bmRlcmx5aW5nIE9wZW5TU0wgbGlicmFyeS4KKyAgUGF0Y2ggYnkgQ29saW4gTWFyYy4KKworLSBJc3N1ZSAjMzAzNTogVW51c2VkIGZ1bmN0aW9ucyBmcm9tIHRraW50ZXIgYXJlIG1hcmtlZCBhcyBwZW5kaW5nIGRlcHJlY2F0ZWQuCisKKy0gSXNzdWUgIzEyNzU3OiBGaXggdGhlIHNraXBwaW5nIG9mIGRvY3Rlc3RzIHdoZW4gcHl0aG9uIGlzIHJ1biB3aXRoIC1PTyBzbworICB0aGF0IGl0IHdvcmtzIGluIHVuaXR0ZXN0J3MgdmVyYm9zZSBtb2RlIGFzIHdlbGwgYXMgbm9uLXZlcmJvc2UgbW9kZS4KKworLSBJc3N1ZSAjNzY1MjogSW50ZWdyYXRlIHRoZSBkZWNpbWFsIGZsb2F0aW5nIHBvaW50IGxpYm1wZGVjIGxpYnJhcnkgdG8gc3BlZWQKKyAgdXAgdGhlIGRlY2ltYWwgbW9kdWxlLiBQZXJmb3JtYW5jZSBnYWlucyBvZiB0aGUgbmV3IEMgaW1wbGVtZW50YXRpb24gYXJlCisgIGJldHdlZW4gMTB4IGFuZCAxMDB4LCBkZXBlbmRpbmcgb24gdGhlIGFwcGxpY2F0aW9uLgorCistIElzc3VlICMzNTczOiBJRExFIGhhbmdzIHdoZW4gcGFzc2luZyBpbnZhbGlkIGNvbW1hbmQgbGluZSBhcmdzCisgIChkaXJlY3RvcnkoaWVzKSBpbnN0ZWFkIG9mIGZpbGUocykpIChQYXRjaCBieSBHdWlsaGVybWUgUG9sbykKKworLSBJc3N1ZSAjMTQyNjk6IFNNVFBEIG5vdyBjb25mb3JtcyB0byB0aGUgUkZDIGFuZCByZXF1aXJlcyBhIEhFTE8gY29tbWFuZAorICBiZWZvcmUgTUFJTCwgUkNQVCwgb3IgREFUQS4KKworLSBJc3N1ZSAjMTM2OTQ6IGFzeW5jaHJvbm91cyBjb25uZWN0IGluIGFzeW5jb3JlLmRpc3BhdGNoZXIgZG9lcyBub3Qgc2V0IGFkZHIKKyAgYXR0cmlidXRlLgorCistIElzc3VlICMxNDM0NDogZml4ZWQgdGhlIHJlcHIgb2YgZW1haWwucG9saWN5IG9iamVjdHMuCisKKy0gSXNzdWUgIzExNjg2OiBBZGRlZCBtaXNzaW5nIGVudHJpZXMgdG8gZW1haWwgcGFja2FnZSBfX2FsbF9fIGxpc3RzCisgIChtb3N0bHkgdGhlIG5ldyBCeXRlcyBjbGFzc2VzKS4KKworLSBJc3N1ZSAjMTQzMzU6IG11bHRpcHJvY2Vzc2luZydzIGN1c3RvbSBQaWNrbGVyIHN1YmNsYXNzIG5vdyBpbmhlcml0cyBmcm9tCisgIHRoZSBDLWFjY2VsZXJhdGVkIGltcGxlbWVudGF0aW9uLiAgUGF0Y2ggYnkgc2J0LgorCistIElzc3VlICMxMDQ4NDogRml4IHRoZSBDR0lIVFRQU2VydmVyJ3MgUEFUSF9JTkZPIGhhbmRsaW5nIHByb2JsZW0uCisKKy0gSXNzdWUgIzExMTk5OiBGaXggdGhlIHdpdGggdXJsbGliIHdoaWNoIGhhbmdzIG9uIHBhcnRpY3VsYXIgZnRwIHVybHMuCisKKy0gSW1wcm92ZSB0aGUgbWVtb3J5IHV0aWxpemF0aW9uIGFuZCBzcGVlZCBvZiBmdW5jdG9vbHMubHJ1X2NhY2hlLgorCistIElzc3VlICMxNDIyMjogVXNlIHRoZSBuZXcgdGltZS5zdGVhZHkoKSBmdW5jdGlvbiBpbnN0ZWFkIG9mIHRpbWUudGltZSgpIGZvcgorICB0aW1lb3V0IGluIHF1ZXVlIGFuZCB0aHJlYWRpbmcgbW9kdWxlcyB0byBub3QgYmUgYWZmZWN0ZWQgb2Ygc3lzdGVtIHRpbWUKKyAgdXBkYXRlLgorCistIElzc3VlICMxMzI0ODogUmVtb3ZlIGxpYjJ0bzMucHl0cmVlLkJhc2UuZ2V0X3ByZWZpeC9zZXRfcHJlZml4LgorCistIElzc3VlICMxNDIzNDogQ1ZFLTIwMTItMDg3NjogUmFuZG9taXplIGhhc2hlcyBvZiB4bWwgYXR0cmlidXRlcyBpbiB0aGUgaGFzaAorICB0YWJsZSBpbnRlcm5hbCB0byB0aGUgcHlleHBhdCBtb2R1bGUncyBjb3B5IG9mIHRoZSBleHBhdCBsaWJyYXJ5IHRvIGF2b2lkIGEKKyAgZGVuaWFsIG9mIHNlcnZpY2UgZHVlIHRvIGhhc2ggY29sbGlzaW9ucy4gIFBhdGNoIGJ5IERhdmlkIE1hbGNvbG0gd2l0aCBzb21lCisgIG1vZGlmaWNhdGlvbnMgYnkgdGhlIGV4cGF0IHByb2plY3QuCisKKy0gSXNzdWUgIzE0MjAwOiBJZGxlIHNoZWxsIGNyYXNoIG9uIHByaW50aW5nIG5vbi1CTVAgdW5pY29kZSBjaGFyYWN0ZXIuCisKKy0gSXNzdWUgIzEyODE4OiBmb3JtYXQgYWRkcmVzcyBubyBsb25nZXIgbmVlZGxlc3NseSBcIGVzY2FwZXMgKClzIGluIG5hbWVzIHdoZW4KKyAgdGhlIG5hbWUgZW5kcyB1cCBiZWluZyBxdW90ZWQuCisKKy0gSXNzdWUgIzE0MDYyOiBCeXRlc0dlbmVyYXRvciBub3cgY29ycmVjdGx5IGZvbGRzIEhlYWRlciBvYmplY3RzLAorICBpbmNsdWRpbmcgdXNpbmcgbGluZXNlcCB3aGVuIGZvbGRpbmcuCisKKy0gSXNzdWUgIzEzODM5OiBXaGVuIGludm9rZWQgb24gdGhlIGNvbW1hbmQtbGluZSwgdGhlIHBzdGF0cyBtb2R1bGUgbm93CisgIGFjY2VwdHMgc2V2ZXJhbCBmaWxlbmFtZXMgb2YgcHJvZmlsZSBzdGF0IGZpbGVzIGFuZCBtZXJnZXMgdGhlbSBhbGwuCisgIFBhdGNoIGJ5IE1hdHQgSm9pbmVyLgorCistIElzc3VlICMxNDI5MTogRW1haWwgbm93IGRlZmF1bHRzIHRvIHV0Zi04IGZvciBub24tQVNDSUkgdW5pY29kZSBoZWFkZXJzCisgIGluc3RlYWQgb2YgcmFpc2luZyBhbiBlcnJvci4gIFRoaXMgZml4ZXMgYSByZWdyZXNzaW9uIHJlbGF0aXZlIHRvIDIuNy4KKworLSBJc3N1ZSAjOTg5NzEyOiBTdXBwb3J0IHVzaW5nIFRrIHdpdGhvdXQgYSBtYWlubG9vcC4KKworLSBJc3N1ZSAjNTIxOTogUHJldmVudCBldmVudCBoYW5kbGVyIGNhc2NhZGUgaW4gSURMRS4KKworLSBJc3N1ZSAjMzgzNTogUmVmdXNlIHRvIHVzZSB1bnRocmVhZGVkIFRjbCBpbiB0aHJlYWRlZCBQeXRob24uCisKKy0gSXNzdWUgIzI4NDM6IEFkZCBuZXcgVGsgQVBJIHRvIFRraW50ZXIuCisKKy0gSXNzdWUgIzE0MTg0OiBJbmNyZWFzZSB0aGUgZGVmYXVsdCBzdGFjayBzaXplIGZvciBzZWNvbmRhcnkgdGhyZWFkcyBvbgorICBNYWMgT1MgWCB0byBhdm9pZCBpbnRlcnByZXRlciBjcmFzaGVzIHdoZW4gdXNpbmcgdGhyZWFkcyBvbiAxMC43LgorCistIElzc3VlICMxNDE4MDogZGF0ZXRpbWUuZGF0ZS5mcm9tdGltZXN0YW1wKCksCisgIGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoKSBhbmQgZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCgpCisgIG5vdyByYWlzZSBhbiBPU0Vycm9yIGluc3RlYWQgb2YgVmFsdWVFcnJvciBpZiBsb2NhbHRpbWUoKSBvciBnbXRpbWUoKSBmYWlsZWQuCisKKy0gSXNzdWUgIzE0MTgwOiB0aW1lLmN0aW1lKCksIGdtdGltZSgpLCB0aW1lLmxvY2FsdGltZSgpLAorICBkYXRldGltZS5kYXRlLmZyb210aW1lc3RhbXAoKSwgZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgpIGFuZAorICBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKCkgbm93IHJhaXNlcyBhbiBPdmVyZmxvd0Vycm9yLCBpbnN0ZWFkIG9mCisgIGEgVmFsdWVFcnJvciwgaWYgdGhlIHRpbWVzdGFtcCBkb2VzIG5vdCBmaXQgaW4gdGltZV90LgorCistIElzc3VlICMxNDE4MDogZGF0ZXRpbWUuZGF0ZXRpbWUuZnJvbXRpbWVzdGFtcCgpIGFuZAorICBkYXRldGltZS5kYXRldGltZS51dGNmcm9tdGltZXN0YW1wKCkgbm93IHJvdW5kIG1pY3Jvc2Vjb25kcyB0b3dhcmRzIHplcm8KKyAgaW5zdGVhZCBvZiByb3VuZGluZyB0byBuZWFyZXN0IHdpdGggdGllcyBnb2luZyBhd2F5IGZyb20gemVyby4KKworLSBJc3N1ZSAjMTA1NDM6IEZpeCB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeSB3aXRoIEp5dGhvbiBieXRlY29kZSBmaWxlcy4KKworLSBJc3N1ZSAjMTE3ODg2MzogU2VwYXJhdGUgaW5pdGlhbGlzYXRpb24gZnJvbSBzZXR0aW5nIHdoZW4gaW5pdGlhbGl6aW5nCisgIFRraW50ZXIuVmFyaWFibGVzOyBoYXJtb25pemUgZXhjZXB0aW9ucyB0byBWYWx1ZUVycm9yOyBvbmx5IGRlbGV0ZSB2YXJpYWJsZXMKKyAgdGhhdCBoYXZlIG5vdCBiZWVuIGRlbGV0ZWQ7IGFzc2VydCB0aGF0IHZhcmlhYmxlIG5hbWVzIGFyZSBzdHJpbmdzLgorCistIElzc3VlICMxNDEwNDogSW1wbGVtZW50IHRpbWUubW9ub3RvbmljKCkgb24gTWFjIE9TIFgsIHBhdGNoIHdyaXR0ZW4gYnkKKyAgTmljaG9sYXMgUmlsZXkuCisKKy0gSXNzdWUgIzEzMzk0OiB0aGUgYWlmYyBtb2R1bGUgbm93IHVzZXMgd2FybmluZ3Mud2FybigpIHRvIHNpZ25hbCB3YXJuaW5ncy4KKworLSBJc3N1ZSAjMTQyNTI6IEZpeCBzdWJwcm9jZXNzLlBvcGVuLnRlcm1pbmF0ZSgpIHRvIG5vdCByYWlzZSBhbiBlcnJvciB1bmRlcgorICBXaW5kb3dzIHdoZW4gdGhlIGNoaWxkIHByb2Nlc3MgaGFzIGFscmVhZHkgZXhpdGVkLgorCistIElzc3VlICMxNDIyMzogY3Vyc2VzLmFkZGNoKCkgaXMgbm8gbW9yZSBsaW1pdGVkIHRvIHRoZSByYW5nZSAwLTI1NSB3aGVuIHRoZQorICBQeXRob24gY3Vyc2VzIGlzIG5vdCBsaW5rZWQgdG8gbGlibmN1cnNlc3cuIEl0IHdhcyBhIHJlZ3Jlc3Npb24gaW50cm9kdWNlZAorICBpbiBQeXRob24gMy4zYTEuCisKKy0gSXNzdWUgIzE0MTY4OiBDaGVjayBmb3IgcHJlc2VuY2Ugb2YgRWxlbWVudC5fYXR0cnMgaW4gbWluaWRvbSBiZWZvcmUKKyAgYWNjZXNzaW5nIGl0LgorCistIElzc3VlICMxMjMyODogRml4IG11bHRpcHJvY2Vzc2luZydzIHVzZSBvZiBvdmVybGFwcGVkIEkvTyBvbiBXaW5kb3dzLgorICBBbHNvLCBhZGQgYSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbi53YWl0KHJsaXN0LCB0aW1lb3V0PU5vbmUpIGZ1bmN0aW9uCisgIGZvciBwb2xsaW5nIG11bHRpcGxlIG9iamVjdHMgYXQgb25jZS4gIFBhdGNoIGJ5IHNidC4KKworLSBJc3N1ZSAjMTQwMDc6IEFjY2VwdCBpbmNvbXBsZXRlIFRyZWVCdWlsZGVyIG9iamVjdHMgKG1pc3Npbmcgc3RhcnQsIGVuZCwKKyAgZGF0YSBvciBjbG9zZSBtZXRob2QpIGZvciB0aGUgUHl0aG9uIGltcGxlbWVudGF0aW9uIGFzIHdlbGwuCisgIERyb3AgdGhlIG5vLW9wIFRyZWVCdWlsZGVyKCkueG1sKCkgbWV0aG9kIGZyb20gdGhlIEMgaW1wbGVtZW50YXRpb24uCisKKy0gSXNzdWUgIzE0MjEwOiBwZGIgbm93IGhhcyB0YWItY29tcGxldGlvbiBub3Qgb25seSBmb3IgY29tbWFuZCBuYW1lcywgYnV0CisgIGFsc28gZm9yIHRoZWlyIGFyZ3VtZW50cywgd2hlcmV2ZXIgcG9zc2libGUuCisKKy0gSXNzdWUgIzE0MzEwOiBTb2NrZXRzIGNhbiBub3cgYmUgd2l0aCBvdGhlciBwcm9jZXNzZXMgb24gV2luZG93cyB1c2luZworICB0aGUgYXBpIHNvY2tldC5zb2NrZXQuc2hhcmUoKSBhbmQgc29ja2V0LmZyb21zaGFyZSgpLgorCistIElzc3VlICMxMDU3NjogVGhlIGdjIG1vZHVsZSBub3cgaGFzIGEgJ2NhbGxiYWNrcycgbWVtYmVyIHRoYXQgd2lsbCBnZXQKKyAgY2FsbGVkIHdoZW4gZ2FyYmFnZSBjb2xsZWN0aW9uIHRha2VzIHBsYWNlLgorCitCdWlsZAorLS0tLS0KKworLSBJc3N1ZSAjMTQ1NTc6IEZpeCBleHRlbnNpb25zIGJ1aWxkIG9uIEhQLVVYLiBQYXRjaCBieSBBZGkgUm9pYmFuLgorCistIElzc3VlICMxNDM4NzogRG8gbm90IGluY2x1ZGUgYWNjdS5oIGZyb20gUHl0aG9uLmguCisKKy0gSXNzdWUgIzE0MzU5OiBPbmx5IHVzZSBPX0NMT0VYRUMgaW4gX3Bvc2l4bW9kdWxlLmMgaWYgaXQgaXMgZGVmaW5lZC4KKyAgQmFzZWQgb24gcGF0Y2ggZnJvbSBIZXJ2w6kgQ29hdGFuaGF5LgorCistIElzc3VlICMxNDMyMTogRG8gbm90IHJ1biBwZ2VuIGR1cmluZyB0aGUgYnVpbGQgaWYgZmlsZXMgYXJlIHVwIHRvIGRhdGUuCisKK0RvY3VtZW50YXRpb24KKy0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjMTQwMzQ6IGFkZGVkIHRoZSBhcmdwYXJzZSB0dXRvcmlhbC4KKworLSBJc3N1ZSAjMTQzMjQ6IEZpeCBjb25maWd1cmUgdGVzdHMgZm9yIGNyb3NzIGJ1aWxkcy4KKworLSBJc3N1ZSAjMTQzMjc6IENhbGwgQUNfQ0FOT05JQ0FMX0hPU1QgaW4gY29uZmlndXJlLmFjIGFuZCBjaGVjayBpbgorICBjb25maWcue2d1ZXNzLHN1Yn0uIERvbid0IHVzZSB1bmFtZSBjYWxscyBmb3IgY3Jvc3MgYnVpbGRzLgorCitFeHRlbnNpb24gTW9kdWxlcworLS0tLS0tLS0tLS0tLS0tLS0KKworLSBJc3N1ZSAjOTA0MTogQW4gaXNzdWUgaW4gY3R5cGVzLmNfbG9uZ2RvdWJsZSwgY3R5cGVzLmNfZG91YmxlLCBhbmQKKyAgY3R5cGVzLmNfZmxvYXQgdGhhdCBjYXVzZWQgYW4gaW5jb3JyZWN0IGV4Y2VwdGlvbiB0byBiZSByZXR1cm5lZCBpbiB0aGUKKyAgY2FzZSBvZiBvdmVyZmxvdyBoYXMgYmVlbiBmaXhlZC4KKworLSBJc3N1ZSAjMTQyMTI6IFRoZSByZSBtb2R1bGUgZGlkbid0IHJldGFpbiBhIHJlZmVyZW5jZSB0byBidWZmZXJzIGl0IHdhcworICBzY2FubmluZywgcmVzdWx0aW5nIGluIHNlZ2ZhdWx0cy4KKworLSBJc3N1ZSAjMTQyNTk6IFRoZSBmaW5kaXRlcigpIG1ldGhvZCBvZiByZSBvYmplY3RzIGRpZCBub3QgdGFrZSBhbnkKKyAga2V5d29yZCBhcmd1bWVudHMsIGNvbnRyYXJ5IHRvIHRoZSBkb2N1bWVudGF0aW9uLgorCistIElzc3VlICMxMDE0MjogU3VwcG9ydCBmb3IgU0VFS19IT0xFL1NFRUtfREFUQSAoZm9yIGV4YW1wbGUsIHVuZGVyIFpGUykuCisKK1Rlc3RzCistLS0tLQorCistIElzc3VlICMxNDQ0MjogQWRkIG1pc3NpbmcgZXJybm8gaW1wb3J0IGluIHRlc3Rfc210cGxpYi4KKworLSBJc3N1ZSAjODMxNTogKHBhcnRpYWwgZml4KSBweXRob24gLW0gdW5pdHRlc3QgdGVzdC50ZXN0X2VtYWlsIG5vdyB3b3Jrcy4KKworCitXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSAxPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworKlJlbGVhc2UgZGF0ZTogMDUtTWFyLTIwMTIqCisKK0NvcmUgYW5kIEJ1aWx0aW5zCistLS0tLS0tLS0tLS0tLS0tLQorCistIElzc3VlICMxNDE3MjogRml4IHJlZmVyZW5jZSBsZWFrIHdoZW4gbWFyc2hhbGxpbmcgYSBidWZmZXItbGlrZSBvYmplY3QKKyAgKG90aGVyIHRoYW4gYSBieXRlcyBvYmplY3QpLgorCistIElzc3VlICMxMzUyMTogZGljdC5zZXRkZWZhdWx0KCkgbm93IGRvZXMgb25seSBvbmUgbG9va3VwIGZvciB0aGUgZ2l2ZW4ga2V5LAorICBtYWtpbmcgaXQgImF0b21pYyIgZm9yIG1hbnkgcHVycG9zZXMuICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgorCistIFBFUCA0MDksIElzc3VlICM2MjEwOiAicmFpc2UgWCBmcm9tIE5vbmUiIGlzIG5vdyBzdXBwb3J0ZWQgYXMgYSBtZWFucyBvZgorICBzdXBwcmVzc2luZyB0aGUgZGlzcGxheSBvZiB0aGUgY2hhaW5lZCBleGNlcHRpb24gY29udGV4dC4gVGhlIGNoYWluZWQKKyAgY29udGV4dCBzdGlsbCByZW1haW5zIGF2YWlsYWJsZSBhcyB0aGUgX19jb250ZXh0X18gYXR0cmlidXRlLgorCistIElzc3VlICMxMDE4MTogTmV3IG1lbW9yeXZpZXcgaW1wbGVtZW50YXRpb24gZml4ZXMgbXVsdGlwbGUgb3duZXJzaGlwCisgIGFuZCBsaWZldGltZSBpc3N1ZXMgb2YgZHluYW1pY2FsbHkgYWxsb2NhdGVkIFB5X2J1ZmZlciBtZW1iZXJzICgjOTk5MCkKKyAgYXMgd2VsbCBhcyBjcmFzaGVzICgjODMwNSwgIzc0MzMpLiBNYW55IG5ldyBmZWF0dXJlcyBoYXZlIGJlZW4gYWRkZWQKKyAgKFNlZSB3aGF0c25ldy8zLjMpLCBhbmQgdGhlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gdXBkYXRlZCBleHRlbnNpdmVseS4KKyAgVGhlIG5kYXJyYXkgdGVzdCBvYmplY3QgZnJvbSBfdGVzdGJ1ZmZlci5jIGltcGxlbWVudHMgYWxsIGFzcGVjdHMgb2YKKyAgUEVQLTMxMTgsIHNvIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgdG93YXJkcyB0aGUgY29tcGxldGUgaW1wbGVtZW50YXRpb24KKyAgb2YgdGhlIFBFUCBjYW4gcHJvY2VlZCBpbiBhIHRlc3QtZHJpdmVuIG1hbm5lci4KKworICBUaGFua3MgdG8gTmljayBDb2dobGFuLCBBbnRvaW5lIFBpdHJvdSBhbmQgUGF1bGkgVmlydGFuZW4gZm9yIHJldmlldworICBhbmQgbWFueSBpZGVhcy4KKworLSBJc3N1ZSAjMTI4MzQ6IEZpeCBpbmNvcnJlY3QgcmVzdWx0cyBvZiBtZW1vcnl2aWV3LnRvYnl0ZXMoKSBmb3IKKyAgbm9uLWNvbnRpZ3VvdXMgYXJyYXlzLgorCistIElzc3VlICM1MjMxOiBJbnRyb2R1Y2UgbWVtb3J5dmlldy5jYXN0KCkgbWV0aG9kIHRoYXQgYWxsb3dzIGNoYW5naW5nCisgIGZvcm1hdCBhbmQgc2hhcGUgd2l0aG91dCBtYWtpbmcgYSBjb3B5IG9mIHRoZSB1bmRlcmx5aW5nIG1lbW9yeS4KKworLSBJc3N1ZSAjMTQwODQ6IEZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gaW1wb3J0aW5nIGEgbW9kdWxlIHdpdGggYQorICBiYWQgZW5jb2RpbmcuCisKKy0gVXBncmFkZSBVbmljb2RlIGRhdGEgdG8gVW5pY29kZSA2LjEuCisKKy0gSXNzdWUgIzE0MDQwOiBSZW1vdmUgcmFyZWx5IHVzZWQgZmlsZSBuYW1lIHN1ZmZpeGVzIGZvciBDIGV4dGVuc2lvbnMKKyAgKHVuZGVyIFBPU0lYIG1haW5seSkuCisKKy0gSXNzdWUgIzE0MDUxOiBBbGxvdyBhcmJpdHJhcnkgYXR0cmlidXRlcyB0byBiZSBzZXQgb2YgY2xhc3NtZXRob2QgYW5kCisgIHN0YXRpY21ldGhvZC4KKworLSBJc3N1ZSAjMTM3MDM6IG9DRVJULTIwMTEtMDAzOiBSYW5kb21pemUgaGFzaGVzIG9mIHN0ciBhbmQgYnl0ZXMgdG8gcHJvdGVjdAorICBhZ2FpbnN0IGRlbmlhbCBvZiBzZXJ2aWNlIGF0dGFja3MgZHVlIHRvIGhhc2ggY29sbGlzaW9ucyB3aXRoaW4gdGhlIGRpY3QgYW5kCisgIHNldCB0eXBlcy4gIFBhdGNoIGJ5IERhdmlkIE1hbGNvbG0sIGJhc2VkIG9uIHdvcmsgYnkgVmljdG9yIFN0aW5uZXIuCisKKy0gSXNzdWUgIzEzMDIwOiBGaXggYSByZWZlcmVuY2UgbGVhayB3aGVuIGFsbG9jYXRpbmcgYSBzdHJ1Y3RzZXF1ZW5jZSBvYmplY3QKKyAgZmFpbHMuICBQYXRjaCBieSBTdW1hbiBTYWhhLgorCistIElzc3VlICMxMzkwODogUmVhZHkgdHlwZXMgcmV0dXJuZWQgZnJvbSBQeVR5cGVfRnJvbVNwZWMuCisKKy0gSXNzdWUgIzExMjM1OiBGaXggT3ZlcmZsb3dFcnJvciB3aGVuIHRyeWluZyB0byBpbXBvcnQgYSBzb3VyY2UgZmlsZSB3aG9zZQorICBtb2RpZmljYXRpb24gdGltZSBkb2Vzbid0IGZpdCBpbiBhIDMyLWJpdCB0aW1lc3RhbXAuCisKKy0gSXNzdWUgIzEyNzA1OiBBIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpcyBub3cgcmFpc2VkIHdoZW4gYXR0ZW1wdGluZyB0bworICBjb21waWxlIG11bHRpcGxlIHN0YXRlbWVudHMgYXMgYSBzaW5nbGUgaW50ZXJhY3RpdmUgc3RhdGVtZW50LgorCistIEZpeCB0aGUgYnVpbHRpbiBtb2R1bGUgaW5pdGlhbGl6YXRpb24gY29kZSB0byBzdG9yZSB0aGUgaW5pdCBmdW5jdGlvbiBmb3IKKyAgZnV0dXJlIHJlaW5pdGlhbGl6YXRpb24uCisKKy0gSXNzdWUgIzgwNTI6IFRoZSBwb3NpeCBzdWJwcm9jZXNzIG1vZHVsZSB3b3VsZCB0YWtlIGEgbG9uZyB0aW1lIGNsb3NpbmcKKyAgYWxsIHBvc3NpYmxlIGZpbGUgZGVzY3JpcHRvcnMgaW4gdGhlIGNoaWxkIHByb2Nlc3MgcmF0aGVyIHRoYW4ganVzdCBvcGVuCisgIGZpbGUgZGVzY3JpcHRvcnMuICBJdCBub3cgY2xvc2VzIG9ubHkgdGhlIG9wZW4gZmRzIGlmIHBvc3NpYmxlIGZvciB0aGUKKyAgZGVmYXVsdCBjbG9zZV9mZHM9VHJ1ZSBiZWhhdmlvci4KKworLSBJc3N1ZSAjMTM2Mjk6IFJlbnVtYmVyIHRoZSB0b2tlbnMgaW4gdG9rZW4uaCBzbyB0aGF0IHRoZXkgbWF0Y2ggdGhlIGluZGV4ZXMKKyAgaW50byBfUHlQYXJzZXJfVG9rZW5OYW1lcy4KKworLSBJc3N1ZSAjMTM3NTI6IEFkZCBhIGNhc2Vmb2xkKCkgbWV0aG9kIHRvIHN0ci4KKworLSBJc3N1ZSAjMTM3NjE6IEFkZCBhICJmbHVzaCIga2V5d29yZCBhcmd1bWVudCB0byB0aGUgcHJpbnQoKSBmdW5jdGlvbiwKKyAgdXNlZCB0byBlbnN1cmUgZmx1c2hpbmcgdGhlIG91dHB1dCBzdHJlYW0uCisKKy0gSXNzdWUgIzEzNjQ1OiBweWMgZmlsZXMgbm93IGNvbnRhaW4gdGhlIHNpemUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlCisgIGNvZGUsIHRvIGF2b2lkIHRpbWVzdGFtcCBjb2xsaXNpb25zIChlc3BlY2lhbGx5IG9uIGZpbGVzeXN0ZW1zIHdpdGggYSBsb3cKKyAgdGltZXN0YW1wIHJlc29sdXRpb24pIHdoZW4gY2hlY2tpbmcgZm9yIGZyZXNobmVzcyBvZiB0aGUgYnl0ZWNvZGUuCisKKy0gUEVQIDM4MCwgSXNzdWUgIzExNjgyOiBBZGQgInlpZWxkIGZyb20gPHg+IiB0byBzdXBwb3J0IGVhc3kgZGVsZWdhdGlvbiB0bworICBzdWJnZW5lcmF0b3JzIChpbml0aWFsIHBhdGNoIGJ5IEdyZWcgRXdpbmcsIGludGVncmF0aW9uIGludG8gMy4zIGJ5CisgIFJlbmF1ZCBCbGFuY2gsIFJ5YW4gS2VsbHksIFpiaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWsgYW5kIE5pY2sgQ29naGxhbikKKworLSBJc3N1ZSAjMTM3NDg6IFJhdyBieXRlcyBsaXRlcmFscyBjYW4gbm93IGJlIHdyaXR0ZW4gd2l0aCB0aGUgYGByYmBgIHByZWZpeAorICBhcyB3ZWxsIGFzIGBgYnJgYC4KKworLSBJc3N1ZSAjMTI3MzY6IFVzZSBmdWxsIHVuaWNvZGUgY2FzZSBtYXBwaW5ncyBmb3IgdXBwZXIsIGxvd2VyLCBhbmQgdGl0bGUgY2FzZS4KKworLSBJc3N1ZSAjMTI3NjA6IEFkZCBhIGNyZWF0ZSBtb2RlIHRvIG9wZW4oKS4gUGF0Y2ggYnkgRGF2aWQgVG93bnNoZW5kLgorCistIElzc3VlICMxMzczODogU2ltcGxpZnkgaW1wbGVtZW50YXRpb24gb2YgYnl0ZXMubG93ZXIoKSBhbmQgYnl0ZXMudXBwZXIoKS4KKworLSBJc3N1ZSAjMTM1Nzc6IEJ1aWx0LWluIG1ldGhvZHMgYW5kIGZ1bmN0aW9ucyBub3cgaGF2ZSBhIF9fcXVhbG5hbWVfXy4KKyAgUGF0Y2ggYnkgc2J0LgorCistIElzc3VlICM2Njk1OiBGdWxsIGdhcmJhZ2UgY29sbGVjdGlvbiBydW5zIG5vdyBjbGVhciB0aGUgZnJlZWxpc3Qgb2Ygc2V0CisgIG9iamVjdHMuICBJbml0aWFsIHBhdGNoIGJ5IE1hdHRoaWFzIFRyb2ZmYWVzLgorCistIEZpeCBPU0Vycm9yLl9faW5pdF9fIGFuZCBPU0Vycm9yLl9fbmV3X18gc28gdGhhdCBlYWNoIG9mIHRoZW0gY2FuIGJlCisgIG92ZXJyaWRlbiBhbmQgdGFrZSBhZGRpdGlvbmFsIGFyZ3VtZW50cyAoZm9sbG93dXAgdG8gaXNzdWUgIzEyNTU1KS4KKworLSBGaXggdGhlIGZpeCBmb3IgaXNzdWUgIzEyMTQ5OiBpdCB3YXMgaW5jb3JyZWN0LCBhbHRob3VnaCBpdCBoYWQgdGhlIHNpZGUKKyAgZWZmZWN0IG9mIGFwcGVhcmluZyB0byByZXNvbHZlIHRoZSBpc3N1ZS4gIFRoYW5rcyB0byBNYXJrIFNoYW5ub24gZm9yCisgIG5vdGljaW5nLgorCistIElzc3VlICMxMzUwNTogUGlja2xlIGJ5dGVzIG9iamVjdHMgaW4gYSB3YXkgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGgKKyAgUHl0aG9uIDIgd2hlbiB1c2luZyBwcm90b2NvbHMgPD0gMi4KKworLSBJc3N1ZSAjMTExNDc6IEZpeCBhbiB1bnVzZWQgYXJndW1lbnQgaW4gX1B5X0FOTk9UQVRFX01FTU9SWV9PUkRFUi4gIChGaXgKKyAgZ2l2ZW4gYnkgQ2FtcGJlbGwgQmFydG9uKS4KKworLSBJc3N1ZSAjMTM1MDM6IFVzZSBhIG1vcmUgZWZmaWNpZW50IHJlZHVjdGlvbiBmb3JtYXQgZm9yIGJ5dGVhcnJheXMgd2l0aAorICBwaWNrbGUgcHJvdG9jb2wgPj0gMy4gIFRoZSBvbGQgcmVkdWN0aW9uIGZvcm1hdCBpcyBrZXB0IHdpdGggb2xkZXIgcHJvdG9jb2xzCisgIGluIG9yZGVyIHRvIGFsbG93IHVucGlja2xpbmcgdW5kZXIgUHl0aG9uIDIuICBQYXRjaCBieSBJcm1lbiBkZSBKb25nLgorCistIElzc3VlICM3MTExOiBQeXRob24gY2FuIG5vdyBiZSBydW4gd2l0aG91dCBhIHN0ZGluLCBzdGRvdXQgb3Igc3RkZXJyCisgIHN0cmVhbS4gIEl0IHdhcyBhbHJlYWR5IHRoZSBjYXNlIHdpdGggUHl0aG9uIDIuICBIb3dldmVyLCB0aGUgY29ycmVzcG9uZGluZworICBzeXMgbW9kdWxlIGVudHJpZXMgYXJlIG5vdyBzZXQgdG8gTm9uZSAoaW5zdGVhZCBvZiBhbiB1bnVzYWJsZSBmaWxlIG9iamVjdCkuCisKKy0gSXNzdWUgIzExODQ5OiBFbnN1cmUgdGhhdCBmcmVlKClkIG1lbW9yeSBhcmVuYXMgYXJlIHJlYWxseSByZWxlYXNlZAorICBvbiBQT1NJWCBzeXN0ZW1zIHN1cHBvcnRpbmcgYW5vbnltb3VzIG1lbW9yeSBtYXBwaW5ncy4gIFBhdGNoIGJ5CisgIENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KKworLSBJc3N1ZSAjMTM0NTI6IFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsKCkgZG9lc24ndCBzdXBwb3J0IGVycm9yIGhhbmRsZXJzCisgIGRpZmZlcmVudCB0aGFuICJzdHJpY3QiIGFueW1vcmUuIFRoZSBjYWxsZXIgd2FzIHVuYWJsZSB0byBjb21wdXRlIHRoZQorICBzaXplIG9mIHRoZSBvdXRwdXQgYnVmZmVyOiBpdCBkZXBlbmRzIG9uIHRoZSBlcnJvciBoYW5kbGVyLgorCistIFBFUCAzMTU1IC8gaXNzdWUgIzEzNDQ4OiBRdWFsaWZpZWQgbmFtZSBmb3IgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLgorCistIElzc3VlICMxMzQzNjogRml4IGEgYm9ndXMgZXJyb3IgbWVzc2FnZSB3aGVuIGFuIEFTVCBvYmplY3Qgd2FzIHBhc3NlZAorICBhbiBpbnZhbGlkIGludGVnZXIgdmFsdWUuCisKKy0gSXNzdWUgIzEzNDExOiBtZW1vcnl2aWV3IG9iamVjdHMgYXJlIG5vdyBoYXNoYWJsZSB3aGVuIHRoZSB1bmRlcmx5aW5nCisgIG9iamVjdCBpcyBoYXNoYWJsZS4KKworLSBJc3N1ZSAjMTMzMzg6IEhhbmRsZSBhbGwgZW51bWVyYXRpb25zIGluIF9QeV9BTk5PVEFURV9NRU1PUllfT1JERVIKKyAgdG8gYWxsb3cgY29tcGlsaW5nIGV4dGVuc2lvbiBtb2R1bGVzIHdpdGggLVdzd2l0Y2gtZW51bSBvbiBnY2MuCisgIEluaXRpYWwgcGF0Y2ggYnkgRmxvcmlzIEJydXlub29naGUuCisKKy0gSXNzdWUgIzEwMjI3OiBBZGQgYW4gYWxsb2NhdGlvbiBjYWNoZSBmb3IgYSBzaW5nbGUgc2xpY2Ugb2JqZWN0LiAgUGF0Y2ggYnkKKyAgU3RlZmFuIEJlaG5lbC4KKworLSBJc3N1ZSAjMTMzOTM6IEJ1ZmZlcmVkUmVhZGVyLnJlYWQxKCkgbm93IGFza3MgdGhlIGZ1bGwgcmVxdWVzdGVkIHNpemUgdG8KKyAgdGhlIHJhdyBzdHJlYW0gaW5zdGVhZCBvZiBsaW1pdGluZyBpdHNlbGYgdG8gdGhlIGJ1ZmZlciBzaXplLgorCistIElzc3VlICMxMzM5MjogV3JpdGluZyBhIHB5YyBmaWxlIHNob3VsZCBub3cgYmUgYXRvbWljIHVuZGVyIFdpbmRvd3MgYXMgd2VsbC4KKworLSBJc3N1ZSAjMTMzMzM6IFRoZSBVVEYtNyBkZWNvZGVyIG5vdyBhY2NlcHRzIGxvbmUgc3Vycm9nYXRlcyAodGhlIGVuY29kZXIKKyAgYWxyZWFkeSBhY2NlcHRzIHRoZW0pLgorCistIElzc3VlICMxMzM4OTogRnVsbCBnYXJiYWdlIGNvbGxlY3Rpb24gcGFzc2VzIG5vdyBjbGVhciB0aGUgZnJlZWxpc3RzIGZvcgorICBsaXN0IGFuZCBkaWN0IG9iamVjdHMuICBUaGV5IGFscmVhZHkgY2xlYXJlZCBvdGhlciBmcmVlbGlzdHMgaW4gdGhlCisgIGludGVycHJldGVyLgorCistIElzc3VlICMxMzMyNzogUmVtb3ZlIHRoZSBuZWVkIGZvciBhbiBleHBsaWNpdCBOb25lIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQKKyAgdG8gb3MudXRpbWUsIG9zLmx1dGltZXMsIG9zLmZ1dGltZXMsIG9zLmZ1dGltZW5zLCBvcy5mdXRpbWVzYXQsIGluCisgIG9yZGVyIHRvIHVwZGF0ZSB0byB0aGUgY3VycmVudCB0aW1lLiBBbHNvIGFkZGVkIGtleXdvcmQgYXJndW1lbnQKKyAgaGFuZGxpbmcgdG8gb3MudXRpbWVuc2F0IGluIG9yZGVyIHRvIHJlbW92ZSB0aGUgbmVlZCBmb3IgZXhwbGljaXQgTm9uZS4KKworLSBJc3N1ZSAjMTMzNTA6IFNpbXBsaWZ5IHNvbWUgQyBjb2RlIGJ5IHJlcGxhY2luZyBtb3N0IHVzYWdlcyBvZgorICBQeVVuaWNvZGVfRm9ybWF0IGJ5IFB5VW5pY29kZV9Gcm9tRm9ybWF0LgorCistIElzc3VlICMxMzM0MjogaW5wdXQoKSB1c2VkIHRvIGlnbm9yZSBzeXMuc3RkaW4ncyBhbmQgc3lzLnN0ZG91dCdzIHVuaWNvZGUKKyAgZXJyb3IgaGFuZGxlciBpbiBpbnRlcmFjdGl2ZSBtb2RlICh3aGVuIGNhbGxpbmcgaW50byBQeU9TX1JlYWRsaW5lKCkpLgorCistIElzc3VlICM5ODk2OiBBZGQgc3RhcnQsIHN0b3AsIGFuZCBzdGVwIGF0dHJpYnV0ZXMgdG8gcmFuZ2Ugb2JqZWN0cy4KKworLSBJc3N1ZSAjMTMzNDM6IEZpeCBhIFN5c3RlbUVycm9yIHdoZW4gYSBsYW1iZGEgZXhwcmVzc2lvbiB1c2VzIGEgZ2xvYmFsCisgIHZhcmlhYmxlIGluIHRoZSBkZWZhdWx0IHZhbHVlIG9mIGEga2V5d29yZC1vbmx5IGFyZ3VtZW50OiBgYGxhbWJkYSAqLAorICBhcmc9R0xPQkFMX05BTUU6IE5vbmVgYAorCistIElzc3VlICMxMjc5NzogQWRkZWQgY3VzdG9tIG9wZW5lciBwYXJhbWV0ZXIgdG8gYnVpbHRpbiBvcGVuKCkgYW5kCisgIEZpbGVJTy5vcGVuKCkuCisKKy0gSXNzdWUgIzEwNTE5OiBBdm9pZCB1bm5lY2Vzc2FyeSByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbHMgaW4KKyAgc2V0b2JqZWN0LmMuCisKKy0gSXNzdWUgIzEwMzYzOiBEZWFsbG9jYXRlIGdsb2JhbCBsb2NrcyBpbiBQeV9GaW5hbGl6ZSgpLgorCistIElzc3VlICMxMzAxODogRml4IHJlZmVyZW5jZSBsZWFrcyBpbiBlcnJvciBwYXRocyBpbiBkaWN0b2JqZWN0LmMuCisgIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCisKKy0gSXNzdWUgIzEzMjAxOiBEZWZpbmUgJz09JyBhbmQgJyE9JyB0byBjb21wYXJlIHJhbmdlIG9iamVjdHMgYmFzZWQgb24KKyAgdGhlIHNlcXVlbmNlIG9mIHZhbHVlcyB0aGV5IGRlZmluZSAoaW5zdGVhZCBvZiBjb21wYXJpbmcgYmFzZWQgb24KKyAgb2JqZWN0IGlkZW50aXR5KS4KKworLSBJc3N1ZSAjMTI5NDIzMjogSW4gYSBmZXcgY2FzZXMgaW52b2x2aW5nIG1ldGFjbGFzcyBpbmhlcml0YW5jZSwgdGhlCisgIGludGVycHJldGVyIHdvdWxkIHNvbWV0aW1lcyBpbnZva2UgdGhlIHdyb25nIG1ldGFjbGFzcyB3aGVuIGJ1aWxkaW5nIGEgbmV3CisgIGNsYXNzIG9iamVjdC4gVGhlc2UgY2FzZXMgbm93IGJlaGF2ZSBjb3JyZWN0bHkuIFBhdGNoIGJ5IERhbmllbCBVcmJhbi4KKworLSBJc3N1ZSAjMTI3NTM6IEFkZCBzdXBwb3J0IGZvciBVbmljb2RlIG5hbWUgYWxpYXNlcyBhbmQgbmFtZWQgc2VxdWVuY2VzLgorICBCb3RoIGBgdW5pY29kZWRhdGEubG9va3VwKClgYCBhbmQgJ1xOey4uLn0nIG5vdyByZXNvbHZlIGFsaWFzZXMsCisgIGFuZCBgYHVuaWNvZGVkYXRhLmxvb2t1cCgpYGAgcmVzb2x2ZXMgbmFtZWQgc2VxdWVuY2VzIHRvby4KKworLSBJc3N1ZSAjMTIxNzA6IFRoZSBjb3VudCgpLCBmaW5kKCksIHJmaW5kKCksIGluZGV4KCkgYW5kIHJpbmRleCgpIG1ldGhvZHMKKyAgb2YgYnl0ZXMgYW5kIGJ5dGVhcnJheSBvYmplY3RzIG5vdyBhY2NlcHQgYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDI1NQorICBhcyB0aGVpciBmaXJzdCBhcmd1bWVudC4gIFBhdGNoIGJ5IFBldHJpIExlaHRpbmVuLgorCistIElzc3VlICMxMjYwNDogVlRSQUNFIG1hY3JvIGV4cGFuZGVkIHRvIG5vLW9wIGluIF9zcmUuYyB0byBhdm9pZCBjb21waWxlcgorICB3YXJuaW5ncy4gUGF0Y2ggYnkgSm9zaCBUcmlwbGV0dCBhbmQgUGV0cmkgTGVodGluZW4uCisKKy0gSXNzdWUgIzEyMjgxOiBSZXdyaXRlIHRoZSBNQkNTIGNvZGVjIHRvIGhhbmRsZSBjb3JyZWN0bHkgcmVwbGFjZSBhbmQgaWdub3JlCisgIGVycm9yIGhhbmRsZXJzIG9uIGFsbCBXaW5kb3dzIHZlcnNpb25zLiBUaGUgTUJDUyBjb2RlYyBpcyBub3cgc3VwcG9ydGluZyBhbGwKKyAgZXJyb3IgaGFuZGxlcnMsIGluc3RlYWQgb2Ygb25seSByZXBsYWNlIHRvIGVuY29kZSBhbmQgaWdub3JlIHRvIGRlY29kZS4KKworLSBJc3N1ZSAjMTMxODg6IFdoZW4gY2FsbGVkIHdpdGhvdXQgYW4gZXhwbGljaXQgdHJhY2ViYWNrIGFyZ3VtZW50LAorICBnZW5lcmF0b3IudGhyb3coKSBub3cgZ2V0cyB0aGUgdHJhY2ViYWNrIGZyb20gdGhlIHBhc3NlZCBleGNlcHRpb24ncworICBgYF9fdHJhY2ViYWNrX19gYCBhdHRyaWJ1dGUuICBQYXRjaCBieSBQZXRyaSBMZWh0aW5lbi4KKworLSBJc3N1ZSAjMTMxNDY6IFdyaXRpbmcgYSBweWMgZmlsZSBpcyBub3cgYXRvbWljIHVuZGVyIFBPU0lYLgorCistIElzc3VlICM3ODMzOiBFeHRlbnNpb24gbW9kdWxlcyBidWlsdCB1c2luZyBkaXN0dXRpbHMgb24gV2luZG93cyB3aWxsIG5vCisgIGxvbmdlciBpbmNsdWRlIGEgIm1hbmlmZXN0IiB0byBwcmV2ZW50IHRoZW0gZmFpbGluZyBhdCBpbXBvcnQgdGltZSBpbiBzb21lCisgIGVtYmVkZGVkIHNpdHVhdGlvbnMuCisKKy0gUEVQIDMxNTEgLyBpc3N1ZSAjMTI1NTU6IHJld29ya2luZyB0aGUgT1MgYW5kIElPIGV4Y2VwdGlvbiBoaWVyYXJjaHkuCisKKy0gSXNzdWUgIzEzNTYwOiBBZGQgUHlVbmljb2RlX0RlY29kZUxvY2FsZSgpLCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZSgpCisgIGFuZCBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKCkgZnVuY3Rpb25zIHRvIHRoZSBDIEFQSSB0byBkZWNvZGUvZW5jb2RlIGZyb20vdG8KKyAgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLgorCistIEFkZCBpbnRlcm5hbCBBUEkgZm9yIHN0YXRpYyBzdHJpbmdzIChfUHlfaWRlbnRpZmllciBldCBhbC4pLgorCistIElzc3VlICMxMzA2MzogdGhlIFdpbmRvd3MgZXJyb3IgRVJST1JfTk9fREFUQSAobnVtYmVyZWQgMjMyIGFuZCBkZXNjcmliZWQKKyAgYXMgIlRoZSBwaXBlIGlzIGJlaW5nIGNsb3NlZCIpIGlzIG5vdyBtYXBwZWQgdG8gUE9TSVggZXJybm8gRVBJUEUKKyAgKHByZXZpb3VzbHkgRUlOVkFMKS4KKworLSBJc3N1ZSAjMTI5MTE6IEZpeCBtZW1vcnkgY29uc3VtcHRpb24gd2hlbiBjYWxjdWxhdGluZyB0aGUgcmVwcigpIG9mIGh1Z2UKKyAgdHVwbGVzIG9yIGxpc3RzLgorCistIFBFUCAzOTM6IGZsZXhpYmxlIHN0cmluZyByZXByZXNlbnRhdGlvbi4gVGhhbmtzIHRvIFRvcnN0ZW4gQmVja2VyIGZvciB0aGUKKyAgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiwgYW5kIFZpY3RvciBTdGlubmVyIGZvciB2YXJpb3VzIGJ1ZyBmaXhlcy4KKworLSBJc3N1ZSAjMTQwODE6IFRoZSAnc2VwJyBhbmQgJ21heHNwbGl0JyBwYXJhbWV0ZXIgdG8gc3RyLnNwbGl0LCBieXRlcy5zcGxpdCwKKyAgYW5kIGJ5dGVhcnJheS5zcGxpdCBtYXkgbm93IGJlIHBhc3NlZCBhcyBrZXl3b3JkIGFyZ3VtZW50cy4KKworLSBJc3N1ZSAjMTMwMTI6IFRoZSAna2VlcGVuZHMnIHBhcmFtZXRlciB0byBzdHIuc3BsaXRsaW5lcyBtYXkgbm93IGJlIHBhc3NlZAorICBhcyBhIGtleXdvcmQgYXJndW1lbnQ6ICAibXlfc3RyaW5nLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkiLiAgVGhlIHNhbWUKKyAgY2hhbmdlIGFsc28gYXBwbGllcyB0byBieXRlcy5zcGxpdGxpbmVzIGFuZCBieXRlYXJyYXkuc3BsaXRsaW5lcy4KKworLSBJc3N1ZSAjNzczMjogRG9uJ3Qgb3BlbiBhIGRpcmVjdG9yeSBhcyBhIGZpbGUgYW55bW9yZSB3aGlsZSBpbXBvcnRpbmcgYQorICBtb2R1bGUuIElnbm9yZSB0aGUgZGlyZWNvdHJ5IGlmIGl0cyBuYW1lIG1hdGNocyB0aGUgbW9kdWxlIG5hbWUgKGUuZy4KKyAgIl9faW5pdF9fLnB5IikgYW5kIHJhaXNlIGEgSW1wb3J0RXJyb3IgaW5zdGVhZC4KKworLSBJc3N1ZSAjMTMwMjE6IE1pc3NpbmcgZGVjcmVmIG9uIGFuIGVycm9yIHBhdGguICBUaGFua3MgdG8gU3VtYW4gU2FoYSBmb3IKKyAgZmluZGluZyB0aGUgYnVnIGFuZCBwcm92aWRpbmcgYSBwYXRjaC4KKworLSBJc3N1ZSAjMTI5NzM6IEZpeCBvdmVyZmxvdyBjaGVja3MgdGhhdCByZWxpZWQgb24gdW5kZWZpbmVkIGJlaGF2aW91ciBpbgorICBsaXN0X3JlcGVhdCAobGlzdG9iamVjdC5jKSBhbmQgaXNsaWNlX25leHQgKGl0ZXJ0b29sc21vZHVsZS5jKS4gIFRoZXNlIGJ1Z3MKKyAgY2F1c2VkIHRlc3QgZmFpbHVyZXMgd2l0aCByZWNlbnQgdmVyc2lvbnMgb2YgQ2xhbmcuCisKKy0gSXNzdWUgIzEyOTA0OiBvcy51dGltZSwgb3MuZnV0aW1lcywgb3MubHV0aW1lcywgYW5kIG9zLmZ1dGltZXNhdCBub3cgd3JpdGUKKyAgYXRpbWUgYW5kIG10aW1lIHdpdGggbmFub3NlY29uZCBwcmVjaXNpb24gb24gbW9kZXJuIFBPU0lYIHBsYXRmb3Jtcy4KKworLSBJc3N1ZSAjMTI4MDI6IHRoZSBXaW5kb3dzIGVycm9yIEVSUk9SX0RJUkVDVE9SWSAobnVtYmVyZWQgMjY3KSBpcyBub3cKKyAgbWFwcGVkIHRvIFBPU0lYIGVycm5vIEVOT1RESVIgKHByZXZpb3VzbHkgRUlOVkFMKS4KKworLSBJc3N1ZSAjOTIwMDogVGhlIHN0ci5pcyogbWV0aG9kcyBub3cgd29yayB3aXRoIHN0cmluZ3MgdGhhdCBjb250YWluIG5vbi1CTVAKKyAgY2hhcmFjdGVycyBldmVuIGluIG5hcnJvdyBVbmljb2RlIGJ1aWxkcy4KKworLSBJc3N1ZSAjMTI3OTE6IEJyZWFrIHJlZmVyZW5jZSBjeWNsZXMgZWFybHkgd2hlbiBhIGdlbmVyYXRvciBleGl0cyB3aXRoCisgIGFuIGV4Y2VwdGlvbi4KKworLSBJc3N1ZSAjMTI3NzM6IE1ha2UgX19kb2NfXyBtdXRhYmxlIG9uIHVzZXItZGVmaW5lZCBjbGFzc2VzLgorCistIElzc3VlICMxMjc2NjogUmFpc2UgYSBWYWx1ZUVycm9yIHdoZW4gY3JlYXRpbmcgYSBjbGFzcyB3aXRoIGEgY2xhc3MgdmFyaWFibGUKKyAgdGhhdCBjb25mbGljdHMgd2l0aCBhIG5hbWUgaW4gX19zbG90c19fLgorCistIElzc3VlICMxMjI2NjogRml4IHN0ci5jYXBpdGFsaXplKCkgdG8gY29ycmVjdGx5IHVwcGVyY2FzZS9sb3dlcmNhc2UKKyAgdGl0bGVjYXNlZCBhbmQgY2FzZWQgbm9uLWxldHRlciBjaGFyYWN0ZXJzLgorCistIElzc3VlICMxMjczMjogSW4gbmFycm93IHVuaWNvZGUgYnVpbGRzLCBhbGxvdyBVbmljb2RlIGlkZW50aWZpZXJzIHdoaWNoIGZhbGwKKyAgb3V0c2lkZSB0aGUgQk1QLgorCistIElzc3VlICMxMjU3NTogVmFsaWRhdGUgdXNlci1nZW5lcmF0ZWQgQVNUIGJlZm9yZSBpdCBpcyBjb21waWxlZC4KKworLSBNYWtlIHR5cGUoTm9uZSksIHR5cGUoRWxsaXBzaXMpLCBhbmQgdHlwZShOb3RJbXBsZW1lbnRlZCkgY2FsbGFibGUuIFRoZXkKKyAgcmV0dXJuIHRoZSByZXNwZWN0aXZlIHNpbmdsZXRvbiBpbnN0YW5jZXMuCisKKy0gRm9yYmlkIHN1bW1pbmcgYnl0ZXMgd2l0aCBzdW0oKS4KKworLSBWZXJpZnkgdGhlIHR5cGVzIG9mIEFTVCBzdHJpbmdzIGFuZCBpZGVudGlmaWVycyBwcm92aWRlZCBieSB0aGUgdXNlciBiZWZvcmUKKyAgY29tcGlsaW5nIHRoZW0uCisKKy0gSXNzdWUgIzEyNjQ3OiBUaGUgTm9uZSBvYmplY3Qgbm93IGhhcyBhIF9fYm9vbF9fKCkgbWV0aG9kIHRoYXQgcmV0dXJucyBGYWxzZS4KKyAgRm9ybWVybHksIGJvb2woTm9uZSkgcmV0dXJuZWQgRmFsc2Ugb25seSBiZWNhdXNlIG9mIHNwZWNpYWwgY2FzZSBsb2dpYworICBpbiBQeU9iamVjdF9Jc1RydWUoKS4KKworLSBJc3N1ZSAjMTI1Nzk6IHN0ci5mb3JtYXRfbWFwKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IgaWYgdXNlZCBvbiBhCisgIGZvcm1hdCBzdHJpbmcgdGhhdCBjb250YWlucyBwb3NpdGlvbmFsIGZpZWxkcy4gSW5pdGlhbCBwYXRjaCBieQorICBKdWxpYW4gQmVybWFuLgorCistIElzc3VlICMxMDI3MTogQWxsb3cgd2FybmluZ3Muc2hvd3dhcm5pbmcoKSBiZSBhbnkgY2FsbGFibGUuCisKKy0gSXNzdWUgIzExNjI3OiBGaXggc2VnZmF1bHQgd2hlbiBfX25ld19fIG9uIGEgZXhjZXB0aW9uIHJldHVybnMgYQorICBub24tZXhjZXB0aW9uIGNsYXNzLgorCistIElzc3VlICMxMjE0OTogVXBkYXRlIHRoZSBtZXRob2QgY2FjaGUgYWZ0ZXIgYSB0eXBlJ3MgZGljdGlvbmFyeSBnZXRzCisgIGNsZWFyZWQgYnkgdGhlIGdhcmJhZ2UgY29sbGVjdG9yLiAgVGhpcyBmaXhlcyBhIHNlZ2ZhdWx0IHdoZW4gYW4gaW5zdGFuY2UKKyAgYW5kIGl0cyB0eXBlIGdldCBjYXVnaHQgaW4gYSByZWZlcmVuY2UgY3ljbGUsIGFuZCB0aGUgaW5zdGFuY2UncworICBkZWFsbG9jYXRvciBjYWxscyBvbmUgb2YgdGhlIG1ldGhvZHMgb24gdGhlIHR5cGUgKGUuZy4gd2hlbiBzdWJjbGFzc2luZworICBJT0Jhc2UpLiAgRGlhZ25vc2lzIGFuZCBwYXRjaCBieSBEYXZpZGUgUml6em8uCisKKy0gSXNzdWUgIzk2MTEsICM5MDE1OiBGaWxlSU8ucmVhZCgpIGNsYW1wcyB0aGUgbGVuZ3RoIHRvIElOVF9NQVggb24gV2luZG93cy4KKworLSBJc3N1ZSAjOTY0MjogVW5pZm9ybWl6ZSB0aGUgdGVzdHMgb24gdGhlIGF2YWlsYWJpbGl0eSBvZiB0aGUgbWJjcyBjb2RlYywgYWRkCisgIGEgbmV3IEhBVkVfTUJDUyBkZWZpbmUuCisKKy0gSXNzdWUgIzk2NDI6IEZpeCBmaWxlc3lzdGVtIGVuY29kaW5nIGluaXRpYWxpemF0aW9uOiB1c2UgdGhlIEFOU0kgY29kZSBwYWdlCisgIG9uIFdpbmRvd3MgaWYgdGhlIG1iY3MgY29kZWMgaXMgbm90IGF2YWlsYWJsZSwgYW5kIGZhaWwgd2l0aCBhIGZhdGFsIGVycm9yIGlmCisgIHdlIGNhbm5vdCBnZXQgdGhlIGxvY2FsZSBlbmNvZGluZyAoaWYgbmxfbGFuZ2luZm8oQ09ERVNFVCkgaXMgbm90IGF2YWlsYWJsZSkKKyAgaW5zdGVhZCBvZiB1c2luZyBVVEYtOC4KKworLSBXaGVuIGEgZ2VuZXJhdG9yIHlpZWxkcywgZG8gbm90IHJldGFpbiB0aGUgY2FsbGVyJ3MgZXhjZXB0aW9uIHN0YXRlIG9uIHRoZQorICBnZW5lcmF0b3IuCisKKy0gSXNzdWUgIzEyNDc1OiBQcmV2ZW50IGdlbmVyYXRvcnMgZnJvbSBsZWFraW5nIHRoZWlyIGV4Y2VwdGlvbiBzdGF0ZSBpbnRvIHRoZQorICBjYWxsZXIncyBmcmFtZSBhcyB0aGV5IHJldHVybiBmb3IgdGhlIGxhc3QgdGltZS4KKworLSBJc3N1ZSAjMTIyOTE6IFlvdSBjYW4gbm93IGxvYWQgbXVsdGlwbGUgbWFyc2hhbGxlZCBvYmplY3RzIGZyb20gYSBzdHJlYW0sCisgIHdpdGggb3RoZXIgZGF0YSBpbnRlcmxlYXZlZCBiZXR3ZWVuIG1hcnNoYWxsZWQgb2JqZWN0cy4KKworLSBJc3N1ZSAjMTIzNTY6IFdoZW4gcmVxdWlyZWQgcG9zaXRpb25hbCBvciBrZXl3b3JkLW9ubHkgYXJndW1lbnRzIGFyZSBub3QKKyAgZ2l2ZW4sIHByb2R1Y2UgYSBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlIHdoaWNoIGluY2x1ZGVzIHRoZSBuYW1lKHMpIG9mIHRoZQorICBtaXNzaW5nIGFyZ3VtZW50cy4KKworLSBJc3N1ZSAjMTIzNzA6IEZpeCBzdXBlciB3aXRoIG5vIGFyZ3VtZW50cyB3aGVuIF9fY2xhc3NfXyBpcyBvdmVycmlkZW4gaW4gdGhlCisgIGNsYXNzIGJvZHkuCisKKy0gSXNzdWUgIzEyMDg0OiBvcy5zdGF0IG9uIFdpbmRvd3Mgbm93IHdvcmtzIHByb3Blcmx5IHdpdGggcmVsYXRpdmUgc3ltYm9saWMKKyAgbGlua3Mgd2hlbiBjYWxsZWQgZnJvbSBhbnkgZGlyZWN0b3J5LgorCistIExvb3NlbiB0eXBlIHJlc3RyaWN0aW9ucyBvbiB0aGUgX19kaXJfXyBtZXRob2QuIF9fZGlyX18gY2FuIG5vdyByZXR1cm4gYW55CisgIHNlcXVlbmNlLCB3aGljaCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhIGxpc3QgYW5kIHNvcnRlZCBieSBkaXIoKS4KKworLSBJc3N1ZSAjMTIyNjU6IE1ha2UgZXJyb3IgbWVzc2FnZXMgcHJvZHVjZWQgYnkgcGFzc2luZyBhbiBpbnZhbGlkIHNldCBvZgorICBhcmd1bWVudHMgdG8gYSBmdW5jdGlvbiBtb3JlIGluZm9ybWF0aXZlLgorCistIElzc3VlICMxMjIyNTogU3RpbGwgYWxsb3cgUHl0aG9uIHRvIGJ1aWxkIGlmIFB5dGhvbiBpcyBub3QgaW4gaXRzIGhnIHJlcG8gb3IKKyAgbWVyY3VyaWFsIGlzIG5vdCBpbnN0YWxsZWQuCisKKy0gSXNzdWUgIzExOTU6IG15X2ZnZXRzKCkgbm93IGFsd2F5cyBjbGVhcnMgZXJyb3JzIGJlZm9yZSBjYWxsaW5nIGZnZXRzKCkuIEZpeAorICB0aGUgZm9sbG93aW5nIGNhc2U6IHN5cy5zdGRpbi5yZWFkKCkgc3RvcHBlZCB3aXRoIENUUkwrZCAoZW5kIG9mIGZpbGUpLAorICByYXdfaW5wdXQoKSBpbnRlcnJ1cHRlZCBieSBDVFJMK2MuCisKKy0gSXNzdWUgIzEyMjE2OiBBbGxvdyB1bmV4cGVjdGVkIEVPRiBlcnJvcnMgdG8gaGFwcGVuIG9uIGFueSBsaW5lIG9mIHRoZSBmaWxlLgorCistIElzc3VlICMxMjE5OTogVGhlIFRyeUV4Y2VwdCBhbmQgVHJ5RmluYWxseSBhbmQgQVNUIG5vZGVzIGhhdmUgYmVlbiB1bmlmaWVkCisgIGludG8gYSBUcnkgbm9kZS4KKworLSBJc3N1ZSAjOTY3MDogSW5jcmVhc2UgdGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3Igc2Vjb25kYXJ5IHRocmVhZHMgb24KKyAgTWFjIE9TIFggYW5kIEZyZWVCU0QgdG8gcmVkdWNlIHRoZSBjaGFuY2VzIG9mIGEgY3Jhc2ggaW5zdGVhZCBvZiBhCisgICJtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aCIgUnVudGltZUVycm9yIGV4Y2VwdGlvbi4KKyAgKHBhdGNoIGJ5IFJvbmFsZCBPdXNzb3JlbikKKworLSBJc3N1ZSAjMTIxMDY6IFRoZSB1c2Ugb2YgdGhlIG11bHRpcGxlLXdpdGggc2hvcnRoYW5kIHN5bnRheCBpcyBub3cgcmVmbGVjdGVkCisgIGluIHRoZSBBU1QuCisKKy0gSXNzdWUgIzEyMTkwOiBUcnkgdG8gdXNlIHRoZSBzYW1lIGZpbGVuYW1lIG9iamVjdCB3aGVuIGNvbXBpbGluZyB1bm1hcnNoYWxsaW5nCisgIGEgY29kZSBvYmplY3RzIGluIHRoZSBzYW1lIGZpbGUuCisKKy0gSXNzdWUgIzEyMTY2OiBNb3ZlIGltcGxlbWVudGF0aW9ucyBvZiBkaXIoKSBzcGVjaWFsaXplZCBmb3IgdmFyaW91cyB0eXBlcyBpbnRvCisgIHRoZSBfX2Rpcl9fKCkgbWV0aG9kcyBvZiB0aG9zZSB0eXBlcy4KKworLSBJc3N1ZSAjNTcxNTogSW4gc29ja2V0c2VydmVyLCBjbG9zZSB0aGUgc2VydmVyIHNvY2tldCBpbiB0aGUgY2hpbGQgcHJvY2Vzcy4KKworLSBDb3JyZWN0IGxvb2t1cCBvZiBfX2Rpcl9fIG9uIG9iamVjdHMuIEFtb25nIG90aGVyIHRoaW5ncywgdGhpcyBjYXVzZXMgZXJyb3JzCisgIGJlc2lkZXMgQXR0cmlidXRlRXJyb3IgZm91bmQgb24gbG9va3VwIHRvIGJlIHByb3BhZ2F0ZWQuCisKKy0gSXNzdWUgIzEyMDYwOiBVc2Ugc2lnX2F0b21pY190IHR5cGUgYW5kIHZvbGF0aWxlIGtleXdvcmQgaW4gdGhlIHNpZ25hbAorICBtb2R1bGUuIFBhdGNoIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxNzQ2NjU2OiBBZGRlZCB0aGUgaWZfbmFtZWluZGV4LCBpZl9pbmRleHRvbmFtZSwgaWZfbmFtZXRvaW5kZXgKKyAgbWV0aG9kcyB0byB0aGUgc29ja2V0IG1vZHVsZS4KKworLSBJc3N1ZSAjMTIwNDQ6IEZpeGVkIHN1YnByb2Nlc3MuUG9wZW4gd2hlbiB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyIHRvCisgIHdhaXQgZm9yIHRoZSBwcm9jZXNzIHRvIGVuZCB3aGVuIGV4aXRpbmcgdGhlIGNvbnRleHQgdG8gYXZvaWQgdW5pbnRlbnRpb25hbGx5CisgIGxlYXZpbmcgem9tYmllIHByb2Nlc3NlcyBhcm91bmQuCisKKy0gSXNzdWUgIzExOTU6IEZpeCBpbnB1dCgpIGlmIGl0IGlzIGludGVycnVwdGVkIGJ5IENUUkwrZCBhbmQgdGhlbiBDVFJMK2MsCisgIGNsZWFyIHRoZSBlbmQtb2YtZmlsZSBpbmRpY2F0b3IgYWZ0ZXIgQ1RSTCtkLgorCistIElzc3VlICMxODU2OiBBdm9pZCBjcmFzaGVzIGFuZCBsb2NrdXBzIHdoZW4gZGFlbW9uIHRocmVhZHMgcnVuIHdoaWxlIHRoZQorICBpbnRlcnByZXRlciBpcyBzaHV0dGluZyBkb3duOyBpbnN0ZWFkLCB0aGVzZSB0aHJlYWRzIGFyZSBub3cga2lsbGVkIHdoZW4KKyAgdGhleSB0cnkgdG8gdGFrZSB0aGUgR0lMLgorCistIElzc3VlICM5NzU2OiBXaGVuIGNhbGxpbmcgYSBtZXRob2QgZGVzY3JpcHRvciBvciBhIHNsb3Qgd3JhcHBlciBkZXNjcmlwdG9yLAorICB0aGUgY2hlY2sgb2YgdGhlIG9iamVjdCB0eXBlIGRvZXNuJ3QgcmVhZCB0aGUgX19jbGFzc19fIGF0dHJpYnV0ZSBhbnltb3JlLgorICBGaXggYSBjcmFzaCBpZiBhIGNsYXNzIG92ZXJyaWRlIGl0cyBfX2NsYXNzX18gYXR0cmlidXRlIChlLmcuIGEgcHJveHkgb2YgdGhlCisgIHN0ciB0eXBlKS4gUGF0Y2ggd3JpdHRlbiBieSBBbmRyZWFzIFN0w7xocmsuCisKKy0gSXNzdWUgIzEwNTE3OiBBZnRlciBmb3JrKCksIHJlaW5pdGlhbGl6ZSB0aGUgVExTIHVzZWQgYnkgdGhlIFB5R0lMU3RhdGVfKgorICBBUElzLCB0byBhdm9pZCBhIGNyYXNoIHdpdGggdGhlIHB0aHJlYWQgaW1wbGVtZW50YXRpb24gaW4gUkhFTCA1LiAgUGF0Y2gKKyAgYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxMDkxNDogSW5pdGlhbGl6ZSBjb3JyZWN0bHkgdGhlIGZpbGVzeXN0ZW0gY29kZWMgd2hlbiBjcmVhdGluZyBhIG5ldworICBzdWJpbnRlcnByZXRlciB0byBmaXggYSBib290c3RyYXAgaXNzdWUgd2l0aCBjb2RlY3MgaW1wbGVtZW50ZWQgaW4gUHl0aG9uLCBhcworICB0aGUgSVNPLTg4NTktMTUgY29kZWMuCisKKy0gSXNzdWUgIzExOTE4OiBPUy8yIGFuZCBWTVMgYXJlIG5vIG1vcmUgc3VwcG9ydGVkIGJlY2F1c2Ugb2YgdGhlIGxhY2sgb2YKKyAgbWFpbnRhaW5lci4KKworLSBJc3N1ZSAjNjc4MDogZml4IHN0YXJ0cy9lbmRzd2l0aCBlcnJvciBtZXNzYWdlIHRvIG1lbnRpb24gdGhhdCB0dXBsZXMgYXJlCisgIGFjY2VwdGVkIHRvby4KKworLSBJc3N1ZSAjNTA1NzogZml4IGEgYnVnIGluIHRoZSBwZWVwaG9sZXIgdGhhdCBsZWQgdG8gbm9uLXBvcnRhYmxlIHB5YyBmaWxlcworICBiZXR3ZWVuIG5hcnJvdyBhbmQgd2lkZSBidWlsZHMgd2hpbGUgb3B0aW1pemluZyBCSU5BUllfU1VCU0NSIG9uIG5vbi1CTVAKKyAgY2hhcnMgKGUuZy4gIlxVMDAwMTIzNDUiWzBdKS4KKworLSBJc3N1ZSAjMTE4NDU6IEZpeCB0eXBvIGluIHJhbmdlb2JqZWN0LmMgdGhhdCBjYXVzZWQgYSBjcmFzaCBpbgorICBjb21wdXRlX3NsaWNlX2luZGljZXMuICBQYXRjaCBieSBEYW5pZWwgVXJiYW4uCisKKy0gSXNzdWUgIzU2NzM6IEFkZGVkIGEgYHRpbWVvdXRgIGtleXdvcmQgYXJndW1lbnQgdG8gc3VicHJvY2Vzcy5Qb3Blbi53YWl0LAorICBzdWJwcm9jZXNzLlBvcGVuLmNvbW11bmljYXRlZCwgc3VicHJvY2Vzcy5jYWxsLCBzdWJwcm9jZXNzLmNoZWNrX2NhbGwsIGFuZAorICBzdWJwcm9jZXNzLmNoZWNrX291dHB1dC4gIElmIHRoZSBibG9ja2luZyBvcGVyYXRpb24gdGFrZXMgbW9yZSB0aGFuIGB0aW1lb3V0YAorICBzZWNvbmRzLCB0aGUgYHN1YnByb2Nlc3MuVGltZW91dEV4cGlyZWRgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisKKy0gSXNzdWUgIzExNjUwOiBQeU9TX1N0ZGlvUmVhZGxpbmUoKSByZXRyaWVzIGZnZXRzKCkgaWYgaXQgd2FzIGludGVycnVwdGVkCisgIChFSU5UUiksIGZvciBleGFtcGxlIGlmIHRoZSBwcm9ncmFtIGlzIHN0b3BwZWQgd2l0aCBDVFJMK3ogb24gTWFjIE9TIFguIFBhdGNoCisgIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuY29pcyBOYXRhbGkuCisKKy0gSXNzdWUgIzkzMTk6IEluY2x1ZGUgdGhlIGZpbGVuYW1lIGluICJOb24tVVRGOCBjb2RlIC4uLiIgc3ludGF4IGVycm9yLgorCistIElzc3VlICMxMDc4NTogU3RvcmUgdGhlIGZpbGVuYW1lIGFzIFVuaWNvZGUgaW4gdGhlIFB5dGhvbiBwYXJzZXIuCisKKy0gSXNzdWUgIzExNjE5OiBfUHlJbXBvcnRfTG9hZER5bmFtaWNNb2R1bGUoKSBkb2Vzbid0IGVuY29kZSB0aGUgcGF0aCB0byBieXRlcworICBvbiBXaW5kb3dzLgorCistIElzc3VlICMxMDk5ODogUmVtb3ZlIG1lbnRpb25zIG9mIC1RLCBzeXMuZmxhZ3MuZGl2aXNpb25fd2FybmluZyBhbmQKKyAgUHlfRGl2aXNpb25XYXJuaW5nRmxhZyBsZWZ0IG92ZXIgZnJvbSBQeXRob24gMi4KKworLSBJc3N1ZSAjMTEyNDQ6IFJlbW92ZSBhbiB1bm5lY2Vzc2FyeSBwZWVwaG9sZXIgY2hlY2sgdGhhdCB3YXMgcHJldmVudGluZworICBuZWdhdGl2ZSB6ZXJvcyBmcm9tIGJlaW5nIGNvbnN0YW50LWZvbGRlZCBwcm9wZXJseS4KKworLSBJc3N1ZSAjMTEzOTU6IGlvLkZpbGVJTygpLndyaXRlKCkgY2xhbXBzIHRoZSBkYXRhIGxlbmd0aCB0byAzMiw3NjcgYnl0ZXMgb24KKyAgV2luZG93cyBpZiB0aGUgZmlsZSBpcyBhIFRUWSB0byB3b3JrYXJvdW5kIGEgV2luZG93cyBidWcuIFRoZSBXaW5kb3dzIGNvbnNvbGUKKyAgcmV0dXJucyBhbiBlcnJvciAoMTI6IG5vdCBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYKKyAgc3Rkb3V0IG1vZGUgaXMgYmluYXJ5IGFuZCB0aGUgbGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbiA2NiwwMDAgYnl0ZXMgKG9yIGxlc3MsCisgIGRlcGVuZGluZyBvbiBoZWFwIHVzYWdlKS4KKworLSBJc3N1ZSAjMTEzMjA6IGZpeCBib2d1cyBtZW1vcnkgbWFuYWdlbWVudCBpbiBNb2R1bGVzL2dldHBhdGguYywgbGVhZGluZyB0bworICBhIHBvc3NpYmxlIGNyYXNoIHdoZW4gY2FsbGluZyBQeV9TZXRQYXRoKCkuCisKKy0gSXNzdWUgIzExNDMyOiBBIGJ1ZyB3YXMgaW50cm9kdWNlZCBpbiBzdWJwcm9jZXNzLlBvcGVuIG9uIHBvc2l4IHN5c3RlbXMgd2l0aAorICAzLjIuMCB3aGVyZSB0aGUgc3Rkb3V0IG9yIHN0ZGVyciBmaWxlIGRlc2NyaXB0b3IgYmVpbmcgdGhlIHNhbWUgYXMgdGhlIHN0ZGluCisgIGZpbGUgZGVzY3JpcHRvciB3b3VsZCByYWlzZSBhbiBleGNlcHRpb24uIHdlYmJyb3dzZXIub3BlbiB3b3VsZCBmYWlsLiBmaXhlZC4KKworLSBJc3N1ZSAjOTg1NjogQ2hhbmdlIG9iamVjdC5fX2Zvcm1hdF9fIHdpdGggYSBub24tZW1wdHkgZm9ybWF0IHN0cmluZworICB0byBiZSBhIERlcHJlY2F0aW9uV2FybmluZy4gSW4gMy4yIGl0IHdhcyBhIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcuCisgIEluIDMuNCBpdCB3aWxsIGJlIGEgVHlwZUVycm9yLgorCistIElzc3VlICMxMTI0NDogVGhlIHBlZXBob2xlIG9wdGltaXplciBpcyBub3cgYWJsZSB0byBjb25zdGFudC1mb2xkCisgIGFyYml0cmFyaWx5IGNvbXBsZXggZXhwcmVzc2lvbnMuICBUaGlzIGFsc28gZml4ZXMgYSAzLjIgcmVncmVzc2lvbiB3aGVyZQorICBvcGVyYXRpb25zIGludm9sdmluZyBuZWdhdGl2ZSBudW1iZXJzIHdlcmUgbm90IGNvbnN0YW50LWZvbGRlZC4KKworLSBJc3N1ZSAjMTE0NTA6IERvbid0IHRydW5jYXRlIGhnIHZlcnNpb24gaW5mbyBpbiBQeV9HZXRCdWlsZEluZm8oKSB3aGVuCisgIHRoZXJlIGFyZSBtYW55IHRhZ3MgKGUuZy4gd2hlbiB1c2luZyBtcSkuICBQYXRjaCBieSBOYWRlZW0gVmF3ZGEuCisKKy0gSXNzdWUgIzExMzM1OiBGaXhlZCBhIG1lbW9yeSBsZWFrIGluIGxpc3Quc29ydCB3aGVuIHRoZSBrZXkgZnVuY3Rpb24KKyAgdGhyb3dzIGFuIGV4Y2VwdGlvbi4KKworLSBJc3N1ZSAjODkyMzogV2hlbiBhIHN0cmluZyBpcyBlbmNvZGVkIHRvIFVURi04IGluIHN0cmljdCBtb2RlLCB0aGUgcmVzdWx0IGlzCisgIGNhY2hlZCBpbnRvIHRoZSBvYmplY3QuIEV4YW1wbGVzOiBzdHIuZW5jb2RlKCksIHN0ci5lbmNvZGUoJ3V0Zi04JyksCisgIFB5VW5pY29kZV9Bc1VURjhTdHJpbmcoKSBhbmQgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyh1bmljb2RlLCAidXRmLTgiLAorICBOVUxMKS4KKworLSBJc3N1ZSAjMTA4MzE6IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCkgc3VwcG9ydHMgJWxpLCAlbGxpIGFuZCAlemkgZm9ybWF0cy4KKworLSBJc3N1ZSAjMTA4Mjk6IFJlZmFjdG9yIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCksIHVzZSB0aGUgc2FtZSBmdW5jdGlvbiB0byBwYXJzZQorICB0aGUgZm9ybWF0IHN0cmluZyBpbiB0aGUgMyBzdGVwcywgZml4IGNyYXNocyBvbiBpbnZhbGlkIGZvcm1hdCBzdHJpbmdzLgorCistIElzc3VlICMxMzAwNzogd2hpY2hkYiBzaG91bGQgcmVjb2duaXplIGdkYm0gMS45IG1hZ2ljIG51bWJlcnMuCisKKy0gSXNzdWUgIzExMjQ2OiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVWIikgdG8gZGVjb2RlIHRoZSBieXRlIHN0cmluZyBmcm9tCisgIFVURi04ICh3aXRoIHJlcGxhY2UgZXJyb3IgaGFuZGxlcikgaW5zdGVhZCBvZiBJU08tODg1OS0xIChpbiBzdHJpY3QgbW9kZSkuCisgIFBhdGNoIHdyaXR0ZW4gYnkgUmF5IEFsbGVuLgorCistIElzc3VlICMxMTI4NjogUmFpc2UgYSBWYWx1ZUVycm9yIGZyb20gY2FsbGluZyBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlciB3aXRoCisgIGEgYnVmZmVyIHN0cnVjdCBoYXZpbmcgYSBOVUxMIGRhdGEgcG9pbnRlci4KKworLSBJc3N1ZSAjMTEyNzI6IE9uIFdpbmRvd3MsIGlucHV0KCkgc3RyaXBzICdccicgKGFuZCBub3Qgb25seSAnXG4nKSwgYW5kCisgIHN5cy5zdGRpbiB1c2VzIHVuaXZlcnNhbCBuZXdsaW5lIChyZXBsYWNlICdcclxuJyBieSAnXG4nKS4KKworLSBJc3N1ZSAjMTE4Mjg6IHN0YXJ0c3dpdGggYW5kIGVuZHN3aXRoIG5vdyBhY2NlcHQgTm9uZSBhcyBzbGljZSBpbmRleC4KKyAgUGF0Y2ggYnkgVG9yc3RlbiBCZWNrZXIuCisKKy0gSXNzdWUgIzEwODMwOiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCIlYyIpIGZvciBub24tQk1QIGNoYXJhY3RlcnMgb24KKyAgbmFycm93IGJ1aWxkLgorCistIElzc3VlICMxMTE2ODogUmVtb3ZlIGZpbGVuYW1lIGRlYnVnIHZhcmlhYmxlIGZyb20gUHlFdmFsX0V2YWxGcmFtZUV4KCkuCisgIEl0IGVuY29kZWQgdGhlIFVuaWNvZGUgZmlsZW5hbWUgdG8gVVRGLTgsIGJ1dCB0aGUgZW5jb2RpbmcgZmFpbHMgb24KKyAgdW5kZWNvZGFibGUgZmlsZW5hbWUgKG9uIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzKSB3aGljaCByYWlzZXMgYW4gdW5leHBlY3RlZAorICBVbmljb2RlRW5jb2RlRXJyb3Igb24gcmVjdXJzaW9uIGxpbWl0LgorCistIElzc3VlICMxMTE4NzogUmVtb3ZlIGJvb3RzdHJhcCBjb2RlICh1c2UgQVNDSUkpIG9mCisgIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoKSwgaXQgd2FzIHJlcGxhY2VkIGJ5IGEgYmV0dGVyIGZhbGxiYWNrICh1c2UgdGhlCisgIGxvY2FsZSBlbmNvZGluZykgaW4gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdCgpLgorCistIENoZWNrIGZvciBOVUxMIHJlc3VsdCBpbiBQeVR5cGVfRnJvbVNwZWMuCisKKy0gSXNzdWUgIzEwNTE2OiBOZXcgY29weSgpIGFuZCBjbGVhcigpIG1ldGhvZHMgZm9yIGxpc3RzIGFuZCBieXRlYXJyYXlzLgorCistIElzc3VlICMxMTM4NjogYnl0ZWFycmF5LnBvcCgpIG5vdyB0aHJvd3MgSW5kZXhFcnJvciB3aGVuIHRoZSBieXRlYXJyYXkgaXMKKyAgZW1wdHksIGluc3RlYWQgb2YgT3ZlcmZsb3dFcnJvci4KKworLSBJc3N1ZSAjMTIzODA6IFRoZSByanVzdCwgbGp1c3QgYW5kIGNlbnRlciBtZXRob2RzIG9mIGJ5dGVzIGFuZCBieXRlYXJyYXkKKyAgbm93IGFjY2VwdCBhIGJ5dGVhcnJheSBhcmd1bWVudC4KKworTGlicmFyeQorLS0tLS0tLQorCistIElzc3VlICMxNDE5NTogQW4gaXNzdWUgdGhhdCBjYXVzZWQgd2Vha3JlZi5XZWFrU2V0IGluc3RhbmNlcyB0byBpbmNvcnJlY3RseQorICByZXR1cm4gVHJ1ZSBmb3IgYSBXZWFrU2V0IGluc3RhbmNlICdhJyBpbiBib3RoICdhIDwgYScgYW5kICdhID4gYScgaGFzIGJlZW4KKyAgZml4ZWQuCisKKy0gSXNzdWUgIzE0MTY2OiBQaWNrbGVyIG9iamVjdHMgbm93IGhhdmUgYW4gb3B0aW9uYWwgYGBkaXNwYXRjaF90YWJsZWBgCisgIGF0dHJpYnV0ZSB3aGljaCBhbGxvd3MgdG8gc2V0IGN1c3RvbSBwZXItcGlja2xlciByZWR1Y3Rpb24gZnVuY3Rpb25zLgorICBQYXRjaCBieSBzYnQuCisKKy0gSXNzdWUgIzE0MTc3OiBtYXJzaGFsLmxvYWRzKCkgbm93IHJhaXNlcyBUeXBlRXJyb3Igd2hlbiBnaXZlbiBhbiB1bmljb2RlCisgIHN0cmluZy4gIFBhdGNoIGJ5IEd1aWxoZXJtZSBHb27Dp2FsdmVzLgorCistIElzc3VlICMxMzU1MDogUmVtb3ZlIHRoZSBkZWJ1ZyBtYWNoaW5lcnkgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZTogcmVtb3ZlCisgIHZlcmJvc2UgYXJndW1lbnRzIGZyb20gYWxsIHRocmVhZGluZyBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzE0MTU5OiBGaXggdGhlIGxlbigpIG9mIHdlYWsgY29udGFpbmVycyAoV2Vha1NldCwgV2Vha0tleURpY3Rpb25hcnksCisgIFdlYWtWYWx1ZURpY3Rpb25hcnkpIHRvIHJldHVybiBhIGJldHRlciBhcHByb3hpbWF0aW9uIHdoZW4gc29tZSBvYmplY3RzCisgIGFyZSBkZWFkIG9yIGR5aW5nLiAgTW9yZW92ZXIsIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3cgTygxKSByYXRoZXIgdGhhbgorICBPKG4pLgorCistIElzc3VlICMxMzEyNTogU2lsZW5jZSBzcHVyaW91cyB0ZXN0X2xpYjJ0bzMgb3V0cHV0IHdoZW4gaW4gbm9uLXZlcmJvc2UgbW9kZS4KKyAgUGF0Y2ggYnkgTWlraGFpbCBOb3Zpa292LgorCistIElzc3VlICMxMTg0MTogRml4IGNvbXBhcmlzb24gYnVnIHdpdGggJ3JjJyB2ZXJzaW9ucyBpbiBwYWNrYWdpbmcudmVyc2lvbi4KKyAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KKworLSBJc3N1ZSAjMTM0NDc6IEFkZCBhIHRlc3QgZmlsZSB0byBob3N0IHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGJ1Z3MgaW4gdGhlCisgIHNjcmlwdHMgZm91bmQgaW4gdGhlIFRvb2xzIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjNjg4NDogRml4IGxvbmctc3RhbmRpbmcgYnVncyB3aXRoIE1BTklGRVNULmluIHBhcnNpbmcgaW4gZGlzdHV0aWxzCisgIG9uIFdpbmRvd3MuICBBbHNvIGZpeGVkIGluIHBhY2thZ2luZy4KKworLSBJc3N1ZSAjODAzMzogc3FsaXRlMzogRml4IDY0LWJpdCBpbnRlZ2VyIGhhbmRsaW5nIGluIHVzZXIgZnVuY3Rpb25zCisgIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLiBJbml0aWFsIHBhdGNoIGJ5IFBoaWxpcHBlIERldmFsa2VuZWVyLgorCistIEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIHNsYXNoZXMgaW4gdGhlIHN0YXJ0IHRhZy4KKworLSBJc3N1ZSAjMTM2NDE6IERlY29kaW5nIGZ1bmN0aW9ucyBpbiB0aGUgYmFzZTY0IG1vZHVsZSBub3cgYWNjZXB0IEFTQ0lJLW9ubHkKKyAgdW5pY29kZSBzdHJpbmdzLiAgUGF0Y2ggYnkgQ2F0YWxpbiBJYWNvYi4KKworLSBJc3N1ZSAjMTQwNDM6IFNwZWVkIHVwIGltcG9ydGxpYidzIF9GaWxlRmluZGVyIGJ5IGF0IGxlYXN0IDh4LCBhbmQgYWRkIGEKKyAgbmV3IGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpIGZ1bmN0aW9uLgorCistIElzc3VlICMxNDAwMTogQ1ZFLTIwMTItMDg0NTogeG1scnBjOiBGaXggYW4gZW5kbGVzcyBsb29wIGluCisgIFNpbXBsZVhNTFJQQ1NlcnZlciB1cG9uIG1hbGZvcm1lZCBQT1NUIHJlcXVlc3QuCisKKy0gSXNzdWUgIzEzOTYxOiBNb3ZlIGltcG9ydGxpYiBvdmVyIHRvIHVzaW5nIG9zLnJlcGxhY2UoKSBmb3IgYXRvbWljIHJlbmFtaW5nLgorCistIERvIGF3YXkgd2l0aCBhbWJpZ3VvdXMgbGV2ZWwgdmFsdWVzIChhcyBzdWdnZXN0ZWQgYnkgUEVQIDMyOCkgaW4KKyAgaW1wb3J0bGliLl9faW1wb3J0X18oKSBieSByYWlzaW5nIFZhbHVlRXJyb3Igd2hlbiBsZXZlbCA8IDAuCisKKy0gSXNzdWUgIzI0ODk6IHB0eS5zcGF3biBjb3VsZCBjb25zdW1lIDEwMCUgY3B1IHdoZW4gaXQgZW5jb3VudGVyZWQgYW4gRU9GLgorCistIElzc3VlICMxMzAxNDogRml4IGEgcG9zc2libGUgcmVmZXJlbmNlIGxlYWsgaW4gU1NMU29ja2V0LmdldHBlZXJjZXJ0KCkuCisKKy0gSXNzdWUgIzEzNzc3OiBBZGQgUEZfU1lTVEVNIHNvY2tldHMgb24gT1MgWC4KKyAgUGF0Y2ggYnkgTWljaGFlbCBHb2RlcmJhdWVyLgorCistIElzc3VlICMxMzAxNTogRml4IGEgcG9zc2libGUgcmVmZXJlbmNlIGxlYWsgaW4gZGVmYXVsdGRpY3QuX19yZXByX18uCisgIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCisKKy0gSXNzdWUgIzEzMjYxMTM6IGRpc3R1dGlscycgYW5kIHBhY2thZ2luZydzIGJ1aWxkX2V4dCBjb21tYW5kcyBvcHRpb24gbm93CisgIGNvcnJlY3RseSBwYXJzZXMgbXVsdGlwbGUgdmFsdWVzIChzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBvciBjb21tYXMpIGdpdmVuCisgIHRvIHRoZWlyIC0tbGlicmFyaWVzIG9wdGlvbi4KKworLSBJc3N1ZSAjMTAyODc6IG5udHBsaWIgbm93IHF1ZXJpZXMgdGhlIHNlcnZlcidzIENBUEFCSUxJVElFUyBmaXJzdCBiZWZvcmUKKyAgc2VuZGluZyBNT0RFIFJFQURFUiwgYW5kIG9ubHkgc2VuZHMgaXQgaWYgbm90IGFscmVhZHkgaW4gUkVBREVSIG1vZGUuCisgIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KKworLSBJc3N1ZSAjMTM5OTM6IEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIGJyb2tlbiBlbmQgdGFncyB3aGVuCisgIHN0cmljdD1GYWxzZS4KKworLSBJc3N1ZSAjMTM5MzA6IGxpYjJ0bzMgbm93IHN1cHBvcnRzIHdyaXRpbmcgY29udmVydGVkIG91dHB1dCBmaWxlcyB0byBhbm90aGVyCisgIGRpcmVjdG9yeSB0cmVlIGFzIHdlbGwgYXMgY29weWluZyB1bmNoYW5nZWQgZmlsZXMgYW5kIGFsdGVyaW5nIHRoZSBmaWxlCisgIHN1ZmZpeC4KKworLSBJc3N1ZSAjOTc1MDogRml4IHNxbGl0ZTMuQ29ubmVjdGlvbi5pdGVyZHVtcCBvbiB0YWJsZXMgYW5kIGZpZWxkcworICB3aXRoIGEgbmFtZSB0aGF0IGlzIGEga2V5d29yZCBvciBjb250YWlucyBxdW90ZXMuIFBhdGNoIGJ5IE1hcmtvCisgIEtvaHRhbGEuCisKKy0gSXNzdWUgIzEwMjg3OiBubnRwbGliIG5vdyBxdWVyaWVzIHRoZSBzZXJ2ZXIncyBDQVBBQklMSVRJRVMgYWdhaW4gYWZ0ZXIKKyAgYXV0aGVudGljYXRpbmcgKHNpbmNlIHRoZSByZXN1bHQgbWF5IGNoYW5nZSwgYWNjb3JkaW5nIHRvIFJGQyA0NjQzKS4KKyAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgorCistIElzc3VlICMxMzk4OTogRG9jdW1lbnQgdGhhdCBHemlwRmlsZSBkb2VzIG5vdCBzdXBwb3J0IHRleHQgbW9kZSwgYW5kIGdpdmUgYQorICBtb3JlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSB3aGVuIG9wZW5lZCB3aXRoIGFuIGludmFsaWQgbW9kZSBzdHJpbmcuCisKKy0gSXNzdWUgIzEzNTkwOiBPbiBPUyBYIDEwLjcgYW5kIDEwLjYgd2l0aCBYY29kZSA0LjIsIGJ1aWxkaW5nCisgIERpc3R1dGlscy1iYXNlZCBwYWNrYWdlcyB3aXRoIEMgZXh0ZW5zaW9uIG1vZHVsZXMgbWF5IGZhaWwgYmVjYXVzZQorICBBcHBsZSBoYXMgcmVtb3ZlZCBnY2MtNC4yLCB0aGUgdmVyc2lvbiB1c2VkIHRvIGJ1aWxkIHB5dGhvbi5vcmcKKyAgNjQtYml0LzMyLWJpdCBQeXRob25zLiAgSWYgdGhlIHVzZXIgZG9lcyBub3QgZXhwbGljaXRseSBvdmVycmlkZQorICB0aGUgZGVmYXVsdCBDIGNvbXBpbGVyIGJ5IHNldHRpbmcgdGhlIENDIGVudmlyb25tZW50IHZhcmlhYmxlLAorICBEaXN0dXRpbHMgd2lsbCBub3cgYXR0ZW1wdCB0byBjb21waWxlIGV4dGVuc2lvbiBtb2R1bGVzIHdpdGggY2xhbmcKKyAgaWYgZ2NjLTQuMiBpcyByZXF1aXJlZCBidXQgbm90IGZvdW5kLiBBbHNvIGFzIGEgY29udmVuaWVuY2UsIGlmCisgIHRoZSB1c2VyIGRvZXMgZXhwbGljaXRseSBzZXQgQ0MsIHN1YnN0aXR1dGUgaXRzIHZhbHVlIGFzIHRoZSBkZWZhdWx0CisgIGNvbXBpbGVyIGluIHRoZSBEaXN0dXRpbHMgTERTSEFSRUQgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBmb3IgT1MgWC4KKyAgKE5vdGUsIHRoZSBweXRob24ub3JnIDMyLWJpdC1vbmx5IFB5dGhvbnMgdXNlIGdjYy00LjAgYW5kIHRoZSAxMC40dQorICBTREssIG5laXRoZXIgb2Ygd2hpY2ggYXJlIGF2YWlsYWJsZSBpbiBYY29kZSA0LiAgVGhpcyBjaGFuZ2UgZG9lcyBub3QKKyAgYXR0ZW1wdCB0byBvdmVycmlkZSBzZXR0aW5ncyB0byBzdXBwb3J0IHRoZWlyIHVzZSB3aXRoIFhjb2RlIDQuKQorCistIElzc3VlICMxMzk2MDogSFRNTFBhcnNlciBpcyBub3cgYWJsZSB0byBoYW5kbGUgYnJva2VuIGNvbW1lbnRzIHdoZW4KKyAgc3RyaWN0PUZhbHNlLgorCistIElzc3VlICMxMzkyMTogVW5kb2N1bWVudCBhbmQgY2xlYW4gdXAgc3FsaXRlMy5PcHRpbWl6ZWRVbmljb2RlLAorICB3aGljaCBpcyBvYnNvbGV0ZSBpbiBQeXRob24gMy54LiBJdCdzIG5vdyBhbGlhc2VkIHRvIHN0ciBmb3IKKyAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCisKKy0gV2hlbiAnJyBpcyBhIHBhdGggKGUuZy4gaW4gc3lzLnBhdGgpLCBtYWtlIHN1cmUgX19maWxlX18gdXNlcyB0aGUgY3VycmVudAorICB3b3JraW5nIGRpcmVjdG9yeSBpbnN0ZWFkIG9mICcnIGluIGltcG9ydGxpYi4KKworLSBJc3N1ZSAjMTM2MDk6IEFkZCB0d28gZnVuY3Rpb25zIHRvIHF1ZXJ5IHRoZSB0ZXJtaW5hbCBzaXplOgorICBvcy5nZXRfdGVybWluYWxfc2l6ZSAobG93IGxldmVsKSBhbmQgc2h1dGlsLmdldF90ZXJtaW5hbF9zaXplIChoaWdoIGxldmVsKS4KKyAgUGF0Y2ggYnkgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1lay4KKworLSBJc3N1ZSAjMTM4NDU6IE9uIFdpbmRvd3MsIHRpbWUudGltZSgpIG5vdyB1c2VzIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCkKKyAgaW5zdGVhZCBvZiBmdGltZSgpIHRvIGhhdmUgYSByZXNvbHV0aW9uIG9mIDEwMCBucyBpbnN0ZWFkIG9mIDEgbXMgKHRoZSBjbG9jaworICBhY2N1cmFjeSBpcyBiZXR3ZWVuIDAuNSBtcyBhbmQgMTUgbXMpLgorCistIElzc3VlICMxMzg0NjogQWRkIHRpbWUubW9ub3RvbmljKCksIG1vbm90b25pYyBjbG9jay4KKworLSBJc3N1ZSAjODE4NDogbXVsdGlwcm9jZXNzaW5nOiBPbiBXaW5kb3dzLCBkb24ndCBzZXQgU09fUkVVU0VBRERSIG9uCisgIENvbm5lY3Rpb24gc29ja2V0cywgYW5kIHNldCBGSUxFX0ZMQUdfRklSU1RfUElQRV9JTlNUQU5DRSBvbiBuYW1lZCBwaXBlcywgdG8KKyAgbWFrZSBzdXJlIHR3byBsaXN0ZW5lcnMgY2FuJ3QgYmluZCB0byB0aGUgc2FtZSBzb2NrZXQvcGlwZSAob3IgYW55IGV4aXN0aW5nCisgIHNvY2tldC9waXBlKS4KKworLSBJc3N1ZSAjMTA4MTE6IEZpeCByZWN1cnNpdmUgdXNhZ2Ugb2YgY3Vyc29ycy4gSW5zdGVhZCBvZiBjcmFzaGluZywKKyAgcmFpc2UgYSBQcm9ncmFtbWluZ0Vycm9yIG5vdy4KKworLSBJc3N1ZSAjMTA4ODE6IEZpeCB0ZXN0X3NpdGUgZmFpbHVyZSB3aXRoIE9TIFggZnJhbWV3b3JrIGJ1aWxkcy4KKworLSBJc3N1ZSAjOTY0NDM3OiBNYWtlIElETEUgaGVscCB3aW5kb3cgbm9uLW1vZGFsLgorICBQYXRjaCBieSBHdWlsaGVybWUgUG9sbyBhbmQgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzEzNzM0OiBBZGQgb3MuZndhbGsoKSwgYSBkaXJlY3Rvcnkgd2Fsa2luZyBmdW5jdGlvbiB5aWVsZGluZyBmaWxlCisgIGRlc2NyaXB0b3JzLgorCistIElzc3VlICMyOTQ1OiBNYWtlIHRoZSBkaXN0dXRpbHMgdXBsb2FkIGNvbW1hbmQgYXdhcmUgb2YgYmRpc3RfcnBtIHByb2R1Y3RzLgorCistIElzc3VlICMxMzcxMjogcHlzZXR1cCBjcmVhdGUgc2hvdWxkIG5vdCBjb252ZXJ0IHBhY2thZ2VfZGF0YSB0byBleHRyYV9maWxlcy4KKworLSBJc3N1ZSAjMTE4MDU6IHBhY2thZ2VfZGF0YSBpbiBzZXR1cC5jZmcgc2hvdWxkIGFsbG93IG1vcmUgdGhhbiBvbmUgdmFsdWUuCisKKy0gSXNzdWUgIzEzOTMzOiBJRExFIGF1dG8tY29tcGxldGUgZGlkIG5vdCB3b3JrIHdpdGggc29tZSBpbXBvcnRlZAorICBtb2R1bGUsIGxpa2UgaGFzaGxpYi4gIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKKworLSBJc3N1ZSAjMTM5MDE6IFByZXZlbnQgdGVzdF9kaXN0dXRpbHMgZmFpbHVyZXMgb24gT1MgWCB3aXRoIC0tZW5hYmxlLXNoYXJlZC4KKworLSBJc3N1ZSAjMTM2NzY6IEhhbmRsZSBzdHJpbmdzIHdpdGggZW1iZWRkZWQgemVyb3MgY29ycmVjdGx5IGluIHNxbGl0ZTMuCisKKy0gSXNzdWUgIzEzNTA2OiBBZGQgJycgdG8gcGF0aCBmb3IgSURMRSBTaGVsbCB3aGVuIHN0YXJ0ZWQgYW5kIHJlc3RhcnRlZCB3aXRoIFJlc3RhcnQgU2hlbGwuCisgIE9yaWdpbmFsIHBhdGNoZXMgYnkgTWFyY28gU2NhdGFnbGluaSBhbmQgUm9nZXIgU2Vyd3kuCisKKy0gSXNzdWUgIzg4Mjg6IEFkZCBuZXcgZnVuY3Rpb24gb3MucmVwbGFjZSgpLCBmb3IgY3Jvc3MtcGxhdGZvcm0gcmVuYW1pbmcKKyAgd2l0aCBvdmVyd3JpdGluZy4KKworLSBJc3N1ZSAjMTM4NDg6IG9wZW4oKSBhbmQgdGhlIEZpbGVJTyBjb25zdHJ1Y3RvciBub3cgY2hlY2sgZm9yIE5VTAorICBjaGFyYWN0ZXJzIGluIHRoZSBmaWxlIG5hbWUuICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCisKKy0gSXNzdWUgIzEzODA2OiBUaGUgc2l6ZSBjaGVjayBpbiBhdWRpb29wIGRlY29tcHJlc3Npb24gZnVuY3Rpb25zIHdhcyB0b28KKyAgc3RyaWN0IGFuZCBjb3VsZCByZWplY3QgdmFsaWQgY29tcHJlc3NlZCBkYXRhLiAgUGF0Y2ggYnkgT2xlZyBQbGFraG90bnl1ay4KKworLSBJc3N1ZSAjMTM4MTI6IFdoZW4gYSBtdWx0aXByb2Nlc3NpbmcgUHJvY2VzcyBjaGlsZCByYWlzZXMgYW4gZXhjZXB0aW9uLAorICBmbHVzaCBzdGRlcnIgYWZ0ZXIgcHJpbnRpbmcgdGhlIGV4Y2VwdGlvbiB0cmFjZWJhY2suCisKKy0gSXNzdWUgIzEzODg1OiBDVkUtMjAxMS0zMzg5OiB0aGUgX3NzbCBtb2R1bGUgd291bGQgYWx3YXlzIGRpc2FibGUgdGhlIENCQworICBJViBhdHRhY2sgY291bnRlcm1lYXN1cmUuCisKKy0gSXNzdWUgIzEzODQ3OiB0aW1lLmxvY2FsdGltZSgpIGFuZCB0aW1lLmdtdGltZSgpIG5vdyByYWlzZSBhbiBPU0Vycm9yIGluc3RlYWQKKyAgb2YgVmFsdWVFcnJvciBvbiBmYWlsdXJlLiB0aW1lLmN0aW1lKCkgYW5kIHRpbWUuYXNjdGltZSgpIG5vdyByYWlzZXMgYW4KKyAgT1NFcnJvciBpZiBsb2NhbHRpbWUoKSBmYWlsZWQuIHRpbWUuY2xvY2soKSBub3cgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZQorICBwcm9jZXNzb3IgdGltZSB1c2VkIGlzIG5vdCBhdmFpbGFibGUgb3IgaXRzIHZhbHVlIGNhbm5vdCBiZSByZXByZXNlbnRlZAorCistIElzc3VlICMxMzg2MjogRml4IHNwdXJpb3VzIGZhaWx1cmUgaW4gdGVzdF96bGliIGR1ZSB0byBydW50aW1lL2NvbXBpbGUgdGltZQorICBtaW5vciB2ZXJzaW9ucyBub3QgbWF0Y2hpbmcuCisKKy0gSXNzdWUgIzEyODA0OiBGaXggdGVzdF9zb2NrZXQgYW5kIHRlc3RfdXJsbGliMm5ldCBmYWlsdXJlcyB3aGVuIHJ1bm5pbmcgdGVzdHMKKyAgb24gYSBzeXN0ZW0gd2l0aG91dCBpbnRlcm5ldCBhY2Nlc3MuCisKKy0gSXNzdWUgIzEzNzcyOiBJbiBvcy5zeW1saW5rKCkgdW5kZXIgV2luZG93cywgZG8gbm90IHRyeSB0byBndWVzcyB0aGUgbGluaworICB0YXJnZXQncyB0eXBlIChmaWxlIG9yIGRpcmVjdG9yeSkuICBUaGUgZGV0ZWN0aW9uIHdhcyBidWdneSBhbmQgbWFkZSB0aGUKKyAgY2FsbCBub24tYXRvbWljICh0aGVyZWZvcmUgcHJvbmUgdG8gcmFjZSBjb25kaXRpb25zKS4KKworLSBJc3N1ZSAjNjYzMTogRGlzYWxsb3cgcmVsYXRpdmUgZmlsZSBwYXRocyBpbiB1cmxsaWIgdXJsb3BlbiBtZXRob2RzLgorCistIElzc3VlICMxMzcyMjogQXZvaWQgc2lsZW5jaW5nIEltcG9ydEVycm9ycyB3aGVuIGluaXRpYWxpemluZyB0aGUgY29kZWNzCisgIHJlZ2lzdHJ5LgorCistIElzc3VlICMxMzc4MTogRml4IEd6aXBGaWxlIGJ1ZyB0aGF0IGNhdXNlZCBhbiBleGNlcHRpb24gdG8gYmUgcmFpc2VkIHdoZW4KKyAgb3BlbmluZyBmb3Igd3JpdGluZyB1c2luZyBhIGZpbGVvYmogcmV0dXJuZWQgYnkgb3MuZmRvcGVuKCkuCisKKy0gSXNzdWUgIzEzODAzOiBVbmRlciBTb2xhcmlzLCBkaXN0dXRpbHMgZG9lc24ndCBpbmNsdWRlIGJpdG5lc3MKKyAgaW4gdGhlIGRpcmVjdG9yeSBuYW1lLgorCistIElzc3VlICMxMDI3ODogQWRkIHRpbWUud2FsbGNsb2NrKCkgZnVuY3Rpb24sIG1vbm90b25pYyBjbG9jay4KKworLSBJc3N1ZSAjMTM4MDk6IEZpeCByZWdyZXNzaW9uIHdoZXJlIGJ6MiBtb2R1bGUgd291bGRuJ3Qgd29yayB3aGVuIHRocmVhZHMgYXJlCisgIGRpc2FibGVkLiBPcmlnaW5hbCBwYXRjaCBieSBBbWF1cnkgRm9yZ2VvdCBkJ0FyYy4KKworLSBJc3N1ZSAjMTM1ODk6IEZpeCBzb21lIHNlcmlhbGl6YXRpb24gcHJpbWl0aXZlcyBpbiB0aGUgYWlmYyBtb2R1bGUuCisgIFBhdGNoIGJ5IE9sZWcgUGxha2hvdG55dWsuCisKKy0gSXNzdWUgIzEzNjQyOiBVbnF1b3RlIGJlZm9yZSBiNjRlbmNvZGluZyB1c2VyOnBhc3N3b3JkIGR1cmluZyBCYXNpYworICBBdXRoZW50aWNhdGlvbi4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgSm9vbmFzIEt1b3JpbGVodG8uCisKKy0gSXNzdWUgIzEzNzI2OiBGaXggdGhlIGFtYmlndW91cyAtUyBmbGFnIGluIHJlZ3J0ZXN0LiBJdCBpcyAtby8tLXNsb3cgZm9yIHNsb3cKKyAgdGVzdHMuCisKKy0gSXNzdWUgIzEyMzY0OiBGaXggYSBoYW5nIGluIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yLgorICBUaGUgaGFuZyB3b3VsZCBvY2N1ciB3aGVuIHJldHJpZXZpbmcgdGhlIHJlc3VsdCBvZiBhIHNjaGVkdWxlZCBmdXR1cmUgYWZ0ZXIKKyAgdGhlIGV4ZWN1dG9yIGhhZCBiZWVuIHNodXQgZG93bi4KKworLSBJc3N1ZSAjMTM1MDI6IHRocmVhZGluZzogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gRXZlbnQud2FpdCgpIHRoYXQgbWFkZSBpdAorICByZXR1cm4gRmFsc2Ugd2hlbiB0aGUgZXZlbnQgd2FzIHNldCBhbmQgY2xlYXJlZCByaWdodCBhZnRlci4KKworLSBJc3N1ZSAjOTk5MzogV2hlbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBhcmUgb24gZGlmZmVyZW50IGZpbGVzeXN0ZW1zLAorICBhbmQgdGhlIHNvdXJjZSBpcyBhIHN5bWxpbmssIHNodXRpbC5tb3ZlKCkgbm93IHJlY3JlYXRlcyBhIHN5bWxpbmsgb24gdGhlCisgIGRlc3RpbmF0aW9uIGluc3RlYWQgb2YgY29weWluZyB0aGUgZmlsZSBjb250ZW50cy4gIFBhdGNoIGJ5IEpvbmF0aGFuIE5pZWhvZgorICBhbmQgSHluZWsgU2NobGF3YWNrLgorCistIElzc3VlICMxMjkyNjogRml4IGEgYnVnIGluIHRhcmZpbGUncyBsaW5rIGV4dHJhY3Rpb24uCisKKy0gSXNzdWUgIzEzNjk2OiBGaXggdGhlIDMwMiBSZWxhdGl2ZSBVUkwgUmVkaXJlY3Rpb24gcHJvYmxlbS4KKworLSBJc3N1ZSAjMTM2MzY6IFdlYWsgY2lwaGVycyBhcmUgbm93IGRpc2FibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIHNzbCBtb2R1bGUKKyAgKGV4Y2VwdCB3aGVuIFNTTHYyIGlzIGV4cGxpY2l0bHkgYXNrZWQgZm9yKS4KKworLSBJc3N1ZSAjMTI3MTU6IEFkZCBhbiBvcHRpb25hbCBzeW1saW5rcyBhcmd1bWVudCB0byBzaHV0aWwgZnVuY3Rpb25zCisgIChjb3B5ZmlsZSwgY29weW1vZGUsIGNvcHlzdGF0LCBjb3B5LCBjb3B5MikuICBXaGVuIHRoYXQgcGFyYW1ldGVyIGlzCisgIHRydWUsIHN5bWxpbmtzIGFyZW4ndCBkZXJlZmVyZW5jZWQgYW5kIHRoZSBvcGVyYXRpb24gaW5zdGVhZCBhY3RzIG9uIHRoZQorICBzeW1saW5rIGl0c2VsZiAob3IgY3JlYXRlcyBvbmUsIGlmIHJlbGV2YW50KS4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KKworLSBBZGQgYSBmbGFncyBwYXJhbWV0ZXIgdG8gc2VsZWN0LmVwb2xsLgorCistIElzc3VlICMxMzYyNjogQWRkIHN1cHBvcnQgZm9yIFNTTCBEaWZmaWUtSGVsbG1hbiBrZXkgZXhjaGFuZ2UsIHRocm91Z2ggdGhlCisgIFNTTENvbnRleHQubG9hZF9kaF9wYXJhbXMoKSBtZXRob2QgYW5kIHRoZSBzc2wuT1BfU0lOR0xFX0RIX1VTRSBvcHRpb24uCisKKy0gSXNzdWUgIzExMDA2OiBEb24ndCBpc3N1ZSBsb3cgbGV2ZWwgd2FybmluZyBpbiBzdWJwcm9jZXNzIHdoZW4gcGlwZTIoKSBmYWlscy4KKworLSBJc3N1ZSAjMTM2MjA6IFN1cHBvcnQgZm9yIENocm9tZSBicm93c2VyIGluIHdlYmJyb3dzZXIuICBQYXRjaCBjb250cmlidXRlZAorICBieSBBcm5hdWQgQ2FsbWV0dGVzLgorCistIElzc3VlICMxMTgyOTogRml4IGNvZGUgZXhlY3V0aW9uIGhvbGVzIGluIGluc3BlY3QuZ2V0YXR0cl9zdGF0aWMgZm9yCisgIG1ldGFjbGFzc2VzIHdpdGggbWV0YWNsYXNzZXMuIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KKworLSBJc3N1ZSAjMTI3MDg6IEFkZCBzdGFybWFwKCkgYW5kIHN0YXJtYXBfYXN5bmMoKSBtZXRob2RzIChzaW1pbGFyIHRvCisgIGl0ZXJ0b29scy5zdGFybWFwKCkpIHRvIG11bHRpcHJvY2Vzc2luZy5Qb29sLiAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgorCistIElzc3VlICMxNzg1OiBGaXggaW5zcGVjdCBhbmQgcHlkb2Mgd2l0aCBtaXNiZWhhdmluZyBkZXNjcmlwdG9ycy4KKworLSBJc3N1ZSAjMTM2Mzc6ICJhMmIiIGZ1bmN0aW9ucyBpbiB0aGUgYmluYXNjaWkgbW9kdWxlIG5vdyBhY2NlcHQgQVNDSUktb25seQorICB1bmljb2RlIHN0cmluZ3MuCisKKy0gSXNzdWUgIzEzNjM0OiBBZGQgc3VwcG9ydCBmb3IgcXVlcnlpbmcgYW5kIGRpc2FibGluZyBTU0wgY29tcHJlc3Npb24uCisKKy0gSXNzdWUgIzEzNjI3OiBBZGQgc3VwcG9ydCBmb3IgU1NMIEVsbGlwdGljIEN1cnZlLWJhc2VkIERpZmZpZS1IZWxsbWFuCisgIGtleSBleGNoYW5nZSwgdGhyb3VnaCB0aGUgU1NMQ29udGV4dC5zZXRfZWNkaF9jdXJ2ZSgpIG1ldGhvZCBhbmQgdGhlCisgIHNzbC5PUF9TSU5HTEVfRUNESF9VU0Ugb3B0aW9uLgorCistIElzc3VlICMxMzYzNTogQWRkIHNzbC5PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsIHNvIHRoYXQgU1NMIHNlcnZlcnMKKyAgY2hvb3NlIHRoZSBjaXBoZXIgYmFzZWQgb24gdGhlaXIgb3duIHByZWZlcmVuY2VzLCByYXRoZXIgdGhhbiBvbiB0aGUKKyAgY2xpZW50J3MuCisKKy0gSXNzdWUgIzExODEzOiBGaXggaW5zcGVjdC5nZXRhdHRyX3N0YXRpYyBmb3IgbW9kdWxlcy4gUGF0Y2ggYnkgQW5kcmVhcworICBTdMO8aHJrLgorCistIElzc3VlICM3NTAyOiBGaXggZXF1YWxpdHkgY29tcGFyaXNvbiBmb3IgRG9jVGVzdENhc2UgaW5zdGFuY2VzLiAgUGF0Y2ggYnkKKyAgQ8OpZHJpYyBLcmllci4KKworLSBJc3N1ZSAjMTE4NzA6IHRocmVhZGluZzogUHJvcGVybHkgcmVpbml0aWFsaXplIHRocmVhZHMgaW50ZXJuYWwgbG9ja3MgYW5kCisgIGNvbmRpdGlvbiB2YXJpYWJsZXMgdG8gYXZvaWQgZGVhZGxvY2tzIGluIGNoaWxkIHByb2Nlc3Nlcy4KKworLSBJc3N1ZSAjODAzNTogdXJsbGliOiBGaXggYSBidWcgd2hlcmUgdGhlIGNsaWVudCBjb3VsZCByZW1haW4gc3R1Y2sgYWZ0ZXIgYQorICByZWRpcmVjdGlvbiBvciBhbiBlcnJvci4KKworLSBJc3N1ZSAjMTM1NjA6IG9zLnN0cmVycm9yKCkgbm93IHVzZXMgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nIGluc3RlYWQgb2YKKyAgVVRGLTguCisKKy0gSXNzdWUgIzgzNzM6IFRoZSBmaWxlc3lzdGVtIHBhdGggb2YgQUZfVU5JWCBzb2NrZXRzIG5vdyB1c2VzIHRoZSBmaWxlc3lzdGVtCisgIGVuY29kaW5nIGFuZCB0aGUgc3Vycm9nYXRlZXNjYXBlIGVycm9yIGhhbmRsZXIsIHJhdGhlciB0aGFuIFVURi04LiAgUGF0Y2gKKyAgYnkgRGF2aWQgV2F0c29uLgorCistIElzc3VlICMxMDM1MDogUmVhZCBhbmQgc2F2ZSBlcnJubyBiZWZvcmUgY2FsbGluZyBhIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0CisgIG92ZXJ3cml0ZSBpdC4gIE9yaWdpbmFsIHBhdGNoIGJ5IEhhbGx2YXJkIEIgRnVydXNldGguCisKKy0gSXNzdWUgIzExNjEwOiBJbnRyb2R1Y2UgYSBtb3JlIGdlbmVyYWwgd2F5IHRvIGRlY2xhcmUgYWJzdHJhY3QgcHJvcGVydGllcy4KKworLSBJc3N1ZSAjMTM1OTE6IEEgYnVnIGluIGltcG9ydGxpYiBoYXMgYmVlbiBmaXhlZCB0aGF0IGNhdXNlZCBpbXBvcnRfbW9kdWxlCisgIHRvIGxvYWQgYSBtb2R1bGUgdHdpY2UuCisKKy0gSXNzdWUgIzQ2MjU6IElmIElETEUgY2Fubm90IHdyaXRlIHRvIGl0cyByZWNlbnQgZmlsZSBvciBicmVha3BvaW50IGZpbGVzLAorICBkaXNwbGF5IGEgbWVzc2FnZSBwb3B1cCBhbmQgY29udGludWUgcmF0aGVyIHRoYW4gY3Jhc2guICBPcmlnaW5hbCBwYXRjaCBieQorICBSb2dlciBTZXJ3eS4KKworLSBJc3N1ZSAjMTM0NDkgc2NoZWQuc2NoZWR1bGVyLnJ1bigpIG1ldGhvZCBoYXMgYSBuZXcgImJsb2NraW5nIiBwYXJhbWV0ZXIgd2hpY2gKKyAgd2hlbiBzZXQgdG8gRmFsc2UgbWFrZXMgcnVuKCkgZXhlY3V0ZSB0aGUgc2NoZWR1bGVkIGV2ZW50cyBkdWUgdG8gZXhwaXJlCisgIHNvb25lc3QgKGlmIGFueSkgYW5kIHRoZW4gcmV0dXJuLiAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sw6AuCisKKy0gSXNzdWUgIzg2ODQgc2NoZWQuc2NoZWR1bGVyIGNsYXNzIGNhbiBiZSBzYWZlbHkgdXNlZCBpbiBtdWx0aS10aHJlYWRlZAorICBlbnZpcm9ubWVudHMuICBQYXRjaCBieSBKb3NpYWggQ2FybHNvbiBhbmQgR2lhbXBhb2xvIFJvZG9sw6AuCisKKy0gQWxpYXMgcmVzb3VyY2UuZXJyb3IgdG8gT1NFcnJvciBhbGEgUEVQIDMxNTEuCisKKy0gSXNzdWUgIzU2ODk6IEFkZCBzdXBwb3J0IGZvciBsem1hIGNvbXByZXNzaW9uIHRvIHRoZSB0YXJmaWxlIG1vZHVsZS4KKworLSBJc3N1ZSAjMTMyNDg6IFR1cm4gMy4yJ3MgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZyBpbnRvIDMuMydzCisgIERlcHJlY2F0aW9uV2FybmluZy4gIEl0IGNvdmVycyAnY2dpLmVzY2FwZScsICdpbXBvcnRsaWIuYWJjLlB5TG9hZGVyJywKKyAgJ2ltcG9ydGxpYi5hYmMuUHlQeWNMb2FkZXInLCAnbm50cGxpYi5OTlRQLnhndGl0bGUnLCAnbm50cGxpYi5OTlRQLnhwYXRoJywKKyAgYW5kIHByaXZhdGUgYXR0cmlidXRlcyBvZiAnc210cGQuU01UUENoYW5uZWwnLgorCistIElzc3VlICM1OTA1LCAjMTM1NjA6IHRpbWUuc3RyZnRpbWUoKSBpcyBub3cgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlCisgIGVuY29kaW5nLCBpbnN0ZWFkIG9mIFVURi04LCBpZiB0aGUgd2NzZnRpbWUoKSBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlLgorCistIElzc3VlICM4NjQxOiBVcGRhdGUgSURMRSAzIHN5bnRheCBjb2xvcmluZyB0byByZWNvZ25pemUgYiIuLiIgYW5kIG5vdCB1Ii4uIi4KKyAgUGF0Y2ggYnkgVGFsIEVpbmF0LgorCistIElzc3VlICMxMzQ2NDogQWRkIGEgcmVhZGludG8oKSBtZXRob2QgdG8gaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlLiAgUGF0Y2gKKyAgYnkgSm9uIEt1aG4uCisKKy0gdGFyZmlsZS5weTogQ29ycmVjdGx5IGRldGVjdCBiemlwMiBjb21wcmVzc2VkIHN0cmVhbXMgd2l0aCBibG9ja3NpemVzCisgIG90aGVyIHRoYW4gOTAway4KKworLSBJc3N1ZSAjMTM0Mzk6IEZpeCBtYW55IGVycm9ycyBpbiB0dXJ0bGUgZG9jc3RyaW5ncy4KKworLSBJc3N1ZSAjNjcxNTogQWRkIGEgbW9kdWxlICdsem1hJyBmb3IgY29tcHJlc3Npb24gdXNpbmcgdGhlIExaTUEgYWxnb3JpdGhtLgorICBUaGFua3MgdG8gUGVyIMOYeXZpbmQgS2FybHNlbiBmb3IgdGhlIGluaXRpYWwgaW1wbGVtZW50YXRpb24uCisKKy0gSXNzdWUgIzEzNDg3OiBNYWtlIGluc3BlY3QuZ2V0bW9kdWxlIHJvYnVzdCBhZ2FpbnN0IGNoYW5nZXMgZG9uZSB0bworICBzeXMubW9kdWxlcyB3aGlsZSBpdCBpcyBpdGVyYXRpbmcgb3ZlciBpdC4KKworLSBJc3N1ZSAjMTI2MTg6IEZpeCBhIGJ1ZyB0aGF0IHByZXZlbnRlZCBweV9jb21waWxlIGZyb20gY3JlYXRpbmcgYnl0ZQorICBjb21waWxlZCBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBJbml0aWFsIHBhdGNoIGJ5IFNqb2VyZCBkZSBWcmllcy4KKworLSBJc3N1ZSAjMTM0NDQ6IFdoZW4gc3Rkb3V0IGhhcyBiZWVuIGNsb3NlZCBleHBsaWNpdGx5LCB3ZSBzaG91bGQgbm90IGF0dGVtcHQKKyAgdG8gZmx1c2ggaXQgYXQgc2h1dGRvd24gYW5kIHByaW50IGFuIGVycm9yLgorCistIElzc3VlICMxMjU2NzogVGhlIGN1cnNlcyBtb2R1bGUgdXNlcyBVbmljb2RlIGZ1bmN0aW9ucyBmb3IgVW5pY29kZSBhcmd1bWVudHMKKyAgd2hlbiBpdCBpcyBsaW5rZWQgdG8gdGhlIG5jdXJzZXMgbGlicmFyeS4gSXQgZW5jb2RlcyBhbHNvIFVuaWNvZGUgc3RyaW5ncyB0bworICB0aGUgbG9jYWxlIGVuY29kaW5nIGluc3RlYWQgb2YgVVRGLTguCisKKy0gSXNzdWUgIzEyODU2OiBFbnN1cmUgY2hpbGQgcHJvY2Vzc2VzIGRvIG5vdCBpbmhlcml0IHRoZSBwYXJlbnQncyByYW5kb20KKyAgc2VlZCBmb3IgZmlsZW5hbWUgZ2VuZXJhdGlvbiBpbiB0aGUgdGVtcGZpbGUgbW9kdWxlLiAgUGF0Y2ggYnkgQnJpYW4KKyAgSGFycmluZy4KKworLSBJc3N1ZSAjOTk1NzogU3Bvb2xlZFRlbXBvcmFyeUZpbGUudHJ1bmNhdGUoKSBub3cgYWNjZXB0cyBhbiBvcHRpb25hbCBzaXplCisgIHBhcmFtZXRlciwgYXMgb3RoZXIgZmlsZS1saWtlIG9iamVjdHMuICBQYXRjaCBieSBSeWFuIEtlbGx5LgorCistIElzc3VlICMxMzQ1ODogRml4IGEgbWVtb3J5IGxlYWsgaW4gdGhlIHNzbCBtb2R1bGUgd2hlbiBkZWNvZGluZyBhCisgIGNlcnRpZmljYXRlIHdpdGggYSBzdWJqZWN0QWx0TmFtZS4gIFBhdGNoIGJ5IFJvYmVydCBYaWFvLgorCistIElzc3VlICMxMzQxNTogb3MudW5zZXRlbnYoKSBkb2Vzbid0IGlnbm9yZSBlcnJvcnMgYW55bW9yZS4KKworLSBJc3N1ZSAjMTMyNDU6IHNjaGVkLnNjaGVkdWxlciBjbGFzcyBjb25zdHJ1Y3RvcidzIHRpbWVmdW5jIGFuZAorICBkZWxheWZ1bmN0IHBhcmFtZXRlcnMgYXJlIG5vdyBvcHRpb25hbC4KKyAgc2NoZWR1bGVyLmVudGVyIGFuZCBzY2hlZHVsZXIuZW50ZXJhYnMgbWV0aG9kcyBnYWluZWQgYSBuZXcga3dhcmdzIHBhcmFtZXRlci4KKyAgUGF0Y2ggY29udHJpYnV0ZWQgYnkgQ2hyaXMgQ2xhcmsuCisKKy0gSXNzdWUgIzEyMzI4OiBVbmRlciBXaW5kb3dzLCByZWZhY3RvciBoYW5kbGluZyBvZiBDdHJsLUMgZXZlbnRzIGFuZAorICBtYWtlIF9tdWx0aXByb2Nlc3Npbmcud2luMzIuV2FpdEZvck11bHRpcGxlT2JqZWN0cyBpbnRlcnJ1cHRpYmxlIHdoZW4KKyAgdGhlIHdhaXRfZmxhZyBwYXJhbWV0ZXIgaXMgZmFsc2UuICBQYXRjaCBieSBzYnQuCisKKy0gSXNzdWUgIzEzMzIyOiBGaXggQnVmZmVyZWRXcml0ZXIud3JpdGUoKSB0byBlbnN1cmUgdGhhdCBCbG9ja2luZ0lPRXJyb3IgaXMKKyAgcmFpc2VkIHdoZW4gdGhlIHdyYXBwZWQgcmF3IGZpbGUgaXMgbm9uLWJsb2NraW5nIGFuZCB0aGUgd3JpdGUgd291bGQgYmxvY2suCisgIFByZXZpb3VzIGNvZGUgYXNzdW1lZCB0aGF0IHRoZSByYXcgd3JpdGUoKSB3b3VsZCByYWlzZSBCbG9ja2luZ0lPRXJyb3IsIGJ1dAorICBSYXdJT0Jhc2Uud3JpdGUoKSBpcyBkZWZpbmVkIHRvIHJldHVybmVkIE5vbmUgd2hlbiB0aGUgY2FsbCB3b3VsZCBibG9jay4KKyAgUGF0Y2ggYnkgc2J0LgorCistIElzc3VlICMxMzM1ODogSFRNTFBhcnNlciBub3cgY2FsbHMgaGFuZGxlX2RhdGEgb25seSBvbmNlIGZvciBlYWNoIENEQVRBLgorCistIElzc3VlICM0MTQ3OiBtaW5pZG9tJ3MgdG9wcmV0dHl4bWwgbm8gbG9uZ2VyIGFkZHMgd2hpdGVzcGFjZSBhcm91bmQgYSB0ZXh0CisgIG5vZGUgd2hlbiBpdCBpcyB0aGUgb25seSBjaGlsZCBvZiBhbiBlbGVtZW50LiAgSW5pdGlhbCBwYXRjaCBieSBEYW4KKyAgS2VuaWdzYmVyZy4KKworLSBJc3N1ZSAjMTMzNzQ6IFRoZSBXaW5kb3dzIGJ5dGVzIEFQSSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIHRoZSBvcyBtb2R1bGUuIFVzZQorICBVbmljb2RlIGZpbGVuYW1lcyBpbnN0ZWFkIG9mIGJ5dGVzIGZpbGVuYW1lcyB0byBub3QgZGVwZW5kIG9uIHRoZSBBTlNJIGNvZGUKKyAgcGFnZSBhbnltb3JlIGFuZCB0byBzdXBwb3J0IGFueSBmaWxlbmFtZS4KKworLSBJc3N1ZSAjMTMyOTc6IFVzZSBieXRlcyB0eXBlIHRvIHNlbmQgYW5kIHJlY2VpdmUgYmluYXJ5IGRhdGEgdGhyb3VnaCBYTUxSUEMuCisKKy0gSXNzdWUgIzYzOTc6IFN1cHBvcnQgIi9kZXYvcG9sbCIgcG9sbGluZyBvYmplY3RzIGluIHNlbGVjdCBtb2R1bGUsCisgIHVuZGVyIFNvbGFyaXMgJiBkZXJpdmF0aXZlcy4KKworLSBJc3N1ZXMgIzE3NDU3NjEsICM3NTU2NzAsICMxMzM1NywgIzEyNjI5LCAjMTIwMDMxMzogSFRNTFBhcnNlciBub3cgY29ycmVjdGx5CisgIGhhbmRsZXMgbm9uLXZhbGlkIGF0dHJpYnV0ZXMsIGluY2x1ZGluZyBhZGphY2VudCBhbmQgdW5xdW90ZWQgYXR0cmlidXRlcy4KKworLSBJc3N1ZSAjMTMxOTM6IEZpeCBkaXN0dXRpbHMuZmlsZWxpc3QuRmlsZUxpc3QgYW5kIHBhY2thZ2luZy5tYW5pZmVzdC5NYW5pZmVzdAorICB1bmRlciBXaW5kb3dzLgorCistIElzc3VlICMxMzM4NDogUmVtb3ZlIHVubmVjZXNzYXJ5IF9fZnV0dXJlX18gaW1wb3J0IGluIExpYi9yYW5kb20ucHkKKworLSBJc3N1ZSAjMTMxNDk6IFNwZWVkIHVwIGFwcGVuZC1vbmx5IFN0cmluZ0lPIG9iamVjdHMuCisKKy0gSXNzdWUgIzEzMzczOiBtdWx0aXByb2Nlc3NpbmcuUXVldWUuZ2V0KCkgY291bGQgc29tZXRpbWVzIGJsb2NrIGluZGVmaW5pdGVseQorICB3aGVuIGNhbGxlZCB3aXRoIGEgdGltZW91dC4gIFBhdGNoIGJ5IEFybmF1ZCBZc21hbC4KKworLSBJc3N1ZSAjMTMyNTQ6IEZpeCBNYWlsZGlyIGluaXRpYWxpemF0aW9uIHNvIHRoYXQgbWFpbGRpciBjb250ZW50cworICBhcmUgcmVhZCBjb3JyZWN0bHkuCisKKy0gSXNzdWUgIzMwNjc6IGxvY2FsZS5zZXRsb2NhbGUoKSBub3cgcmFpc2VzIFR5cGVFcnJvciBpZiB0aGUgc2Vjb25kCisgIGFyZ3VtZW50IGlzIGFuIGludmFsaWQgaXRlcmFibGUuIEl0cyBkb2N1bWVudGF0aW9uIGFuZCBkb2NzdHJpbmcKKyAgd2VyZSBhbHNvIHVwZGF0ZWQuIEluaXRpYWwgcGF0Y2ggYnkgSnlya2kgUHVsbGlhaW5lbi4KKworLSBJc3N1ZSAjMTMxNDA6IEZpeCB0aGUgZGFlbW9uX3RocmVhZHMgYXR0cmlidXRlIG9mIFRocmVhZGluZ01peEluLgorCistIElzc3VlICMxMzMzOTogRml4IGNvbXBpbGUgZXJyb3IgaW4gcG9zaXhtb2R1bGUuYyBkdWUgdG8gbWlzc2luZyBzZW1pY29sb24uCisgIFRoYW5rcyB0byBSb2JlcnQgWGlhby4KKworLSBCeXRlIGNvbXBpbGF0aW9uIGluIHBhY2thZ2luZyBpcyBub3cgaXNvbGF0ZWQgZnJvbSB0aGUgY2FsbGluZyBQeXRob24gLUIgb3IKKyAgLU8gb3B0aW9ucywgaW5zdGVhZCBvZiBiZWluZyBkaXNhbGxvd2VkIHVuZGVyIC1CIG9yIGJ1Z2d5IHVuZGVyIC1PLgorCistIElzc3VlICMxMDU3MDogY3Vyc2VzLnB1dHAoKSBhbmQgY3Vyc2VzLnRwYXJtKCkgYXJlIG5vdyBleHBlY3RpbmcgYSBieXRlCisgIHN0cmluZywgaW5zdGVhZCBvZiBhIFVuaWNvZGUgc3RyaW5nLgorCistIElzc3VlICMxMzI5NTogaHR0cC5zZXJ2ZXIgbm93IHByb2R1Y2VzIHZhbGlkIEhUTUwgNC4wMSBzdHJpY3QuCisKKy0gSXNzdWUgIzI4OTI6IHByZXNlcnZlIGl0ZXJwYXJzZSBldmVudHMgaW4gY2FzZSBvZiBTeW50YXhFcnJvci4KKworLSBJc3N1ZSAjMTMyODc6IHVybGxpYi5yZXF1ZXN0IGFuZCB1cmxsaWIuZXJyb3Igbm93IGNvbnRhaW5zIGFuIF9fYWxsX18KKyAgYXR0cmlidXRlIHRvIGV4cG9zZSBvbmx5IHJlbGV2YW50IGNsYXNzZXMgYW5kIGZ1bmN0aW9ucy4gIFBhdGNoIGJ5IEZsb3JlbnQKKyAgWGljbHVuYS4KKworLSBJc3N1ZSAjNjcwNjY0OiBGaXggSFRNTFBhcnNlciB0byBjb3JyZWN0bHkgaGFuZGxlIHRoZSBjb250ZW50IG9mCisgIGBgPHNjcmlwdD4uLi48L3NjcmlwdD5gYCBhbmQgYGA8c3R5bGU+Li4uPC9zdHlsZT5gYC4KKworLSBJc3N1ZSAjMTA4MTc6IEZpeCB1cmxyZXRyaWV2ZSBmdW5jdGlvbiB0byByYWlzZSBDb250ZW50VG9vU2hvcnRFcnJvciBldmVuCisgIHdoZW4gcmVwb3J0aG9vayBpcyBOb25lLiBQYXRjaCBieSBKeXJraSBQdWxsaWFpbmVuLgorCistIElzc3VlICMxMzI5NjogRml4IElETEUgdG8gY2xlYXIgY29tcGlsZSBfX2Z1dHVyZV9fIGZsYWdzIG9uIHNoZWxsIHJlc3RhcnQuCisgIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKKworLSBGaXggdGhlIHhtbHJwYy5jbGllbnQgdXNlciBhZ2VudCB0byByZXR1cm4gc29tZXRoaW5nIHNpbWlsYXIgdG8KKyAgdXJsbGliLnJlcXVlc3QgdXNlciBhZ2VudDogIlB5dGhvbi14bWxycGMvMy4zIi4KKworLSBJc3N1ZSAjMTMyOTM6IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIG1hcnNoYWwgYnl0ZXMgdXNpbmcKKyAgeG1scnBjLmNsaWVudC4KKworLSBJc3N1ZSAjMTMyOTE6IE5hbWVFcnJvciBpbiB4bWxycGMgcGFja2FnZS4KKworLSBJc3N1ZSAjMTMyNTg6IFVzZSBjYWxsYWJsZSgpIGJ1aWx0LWluIGluIHRoZSBzdGFuZGFyZCBsaWJyYXJ5LgorCistIElzc3VlICMxMzI3MzogZml4IGEgYnVnIHRoYXQgcHJldmVudGVkIEhUTUxQYXJzZXIgdG8gcHJvcGVybHkgZGV0ZWN0IHNvbWUKKyAgdGFncyB3aGVuIHN0cmljdD1GYWxzZS4KKworLSBJc3N1ZSAjMTExODM6IEFkZCBmaW5lci1ncmFpbmVkIGV4Y2VwdGlvbnMgdG8gdGhlIHNzbCBtb2R1bGUsIHNvIHRoYXQKKyAgeW91IGRvbid0IGhhdmUgdG8gaW5zcGVjdCB0aGUgZXhjZXB0aW9uJ3MgYXR0cmlidXRlcyBpbiB0aGUgY29tbW9uIGNhc2UuCisKKy0gSXNzdWUgIzEzMjE2OiBBZGQgY3A2NTAwMSBjb2RlYywgdGhlIFdpbmRvd3MgVVRGLTggKENQX1VURjgpLgorCistIElzc3VlICMxMzIyNjogQWRkIFJUTERfeHh4IGNvbnN0YW50cyB0byB0aGUgb3MgbW9kdWxlLiBUaGVzZSBjb25zdGFudHMgY2FuIGJlCisgIHVzZWQgd2l0aCBzeXMuc2V0ZGxvcGVuZmxhZ3MoKS4KKworLSBJc3N1ZSAjMTAyNzg6IEFkZCBjbG9ja19nZXRyZXMoKSwgY2xvY2tfZ2V0dGltZSgpIGFuZCBDTE9DS194eHggY29uc3RhbnRzIHRvCisgIHRoZSB0aW1lIG1vZHVsZS4gdGltZS5jbG9ja19nZXR0aW1lKHRpbWUuQ0xPQ0tfTU9OT1RPTklDKSBwcm92aWRlcyBhCisgIG1vbm90b25pYyBjbG9jaworCistIElzc3VlICMxMDMzMjogbXVsdGlwcm9jZXNzaW5nOiBmaXggYSByYWNlIGNvbmRpdGlvbiB3aGVuIGEgUG9vbCBpcyBjbG9zZWQKKyAgYmVmb3JlIGFsbCB0YXNrcyBoYXZlIGNvbXBsZXRlZC4KKworLSBJc3N1ZSAjMTMyNTU6IHdyb25nIGRvY3N0cmluZ3MgaW4gYXJyYXkgbW9kdWxlLgorCistIElzc3VlICM4NTQwOiBSZW1vdmUgZGVwcmVjYXRlZCBDb250ZXh0Ll9jbGFtcCBhdHRyaWJ1dGUgaW4gRGVjaW1hbCBtb2R1bGUuCisKKy0gSXNzdWUgIzEzMjM1OiBBZGRlZCBEZXByZWNhdGlvbldhcm5pbmcgdG8gbG9nZ2luZy53YXJuKCkgbWV0aG9kIGFuZCBmdW5jdGlvbi4KKworLSBJc3N1ZSAjOTE2ODogbm93IHNtdHBkIGlzIGFibGUgdG8gYmluZCBwcml2aWxlZ2VkIHBvcnQuCisKKy0gSXNzdWUgIzEyNTI5OiBmaXggY2dpLnBhcnNlX2hlYWRlciBpc3N1ZSBvbiBzdHJpbmdzIHdpdGggZG91YmxlLXF1b3RlcyBhbmQKKyAgc2VtaWNvbG9ucyB0b2dldGhlci4gUGF0Y2ggYnkgQmVuIERhcm5lbGwgYW5kIFBldHJpIExlaHRpbmVuLgorCistIElzc3VlICMxMzIyNzogZnVuY3Rvb2xzLmxydV9jYWNoZSgpIG5vdyBoYXMgYSBvcHRpb24gdG8gZGlzdGluZ3Vpc2gKKyAgY2FsbHMgd2l0aCBkaWZmZXJlbnQgYXJndW1lbnQgdHlwZXMuCisKKy0gSXNzdWUgIzYwOTA6IHppcGZpbGUgcmFpc2VzIGEgVmFsdWVFcnJvciB3aGVuIGEgZG9jdW1lbnQgd2l0aCBhIHRpbWVzdGFtcAorICBlYXJsaWVyIHRoYW4gMTk4MCBpcyBwcm92aWRlZC4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgUGV0cmkgTGVodGluZW4uCisKKy0gSXNzdWUgIzEzMTUwOiBzeXNjb25maWcgbm8gbG9uZ2VyIHBhcnNlcyB0aGUgTWFrZWZpbGUgYW5kIGNvbmZpZy5oIGZpbGVzCisgIHdoZW4gaW1wb3J0ZWQsIGluc3RlYWQgZG9pbmcgaXQgYXQgYnVpbGQgdGltZS4gIFRoaXMgbWFrZXMgaW1wb3J0aW5nCisgIHN5c2NvbmZpZyBmYXN0ZXIgYW5kIHJlZHVjZXMgUHl0aG9uIHN0YXJ0dXAgdGltZSBieSAyMCUuCisKKy0gSXNzdWUgIzEyNDQ4OiBzbXRwbGliIG5vdyBmbHVzaGVzIHN0ZG91dCB3aGlsZSBydW5uaW5nIGBgcHl0aG9uIC1tIHNtdHBsaWJgYAorICBpbiBvcmRlciB0byBkaXNwbGF5IHRoZSBwcm9tcHQgY29ycmVjdGx5LgorCistIElzc3VlICMxMjQ1NDogVGhlIG1haWxib3ggbW9kdWxlIGlzIG5vdyB1c2luZyBBU0NJSSwgaW5zdGVhZCBvZiB0aGUgbG9jYWxlCisgIGVuY29kaW5nLCB0byByZWFkIGFuZCB3cml0ZSAubWhfc2VxdWVuY2VzIGZpbGVzLgorCistIElzc3VlICMxMzE5NDogemxpYi5jb21wcmVzc29iaigpLmNvcHkoKSBhbmQgemxpYi5kZWNvbXByZXNzb2JqKCkuY29weSgpIGFyZQorICBub3cgYXZhaWxhYmxlIG9uIFdpbmRvd3MuCisKKy0gSXNzdWUgIzE2NzMwMDc6IHVybGxpYi5yZXF1ZXN0IG5vdyBzdXBwb3J0cyBIRUFEIHJlcXVlc3QgdmlhIG5ldyBtZXRob2QgYXJndW1lbnQuCisgIFBhdGNoIGNvbnRyaWJ1dGlvbnMgYnkgRGF2aWQgU3RhbmVrLCBQYXRyaWNrIFdlc3RlcmhvZmYgYW5kIEV6aW8gTWVsb3R0aS4KKworLSBJc3N1ZSAjMTIzODY6IHBhY2thZ2luZyBkb2VzIG5vdCBmYWlsIGFueW1vcmUgd2hlbiB3cml0aW5nIHRoZSBSRVNPVVJDRVMKKyAgZmlsZS4KKworLSBJc3N1ZSAjMTMxNTg6IEZpeCBkZWNvZGluZyBhbmQgZW5jb2Rpbmcgb2YgR05VIHRhciBzcGVjaWZpYyBiYXNlLTI1NiBudW1iZXIKKyAgZmllbGRzIGluIHRhcmZpbGUuCisKKy0gSXNzdWUgIzEzMDI1OiBtaW1ldHlwZXMgaXMgbm93IHJlYWRpbmcgTUlNRSB0eXBlcyB1c2luZyB0aGUgVVRGLTggZW5jb2RpbmcsCisgIGluc3RlYWQgb2YgdGhlIGxvY2FsZSBlbmNvZGluZy4KKworLSBJc3N1ZSAjMTA2NTM6IE9uIFdpbmRvd3MsIHVzZSBzdHJmdGltZSgpIGluc3RlYWQgb2Ygd2NzZnRpbWUoKSBiZWNhdXNlCisgIHdjc2Z0aW1lKCkgZG9lc24ndCBmb3JtYXQgdGltZSB6b25lIGNvcnJlY3RseS4KKworLSBJc3N1ZSAjMTMxNTA6IFRoZSB0b2tlbml6ZSBtb2R1bGUgZG9lc24ndCBjb21waWxlIGxhcmdlIHJlZ3VsYXIgZXhwcmVzc2lvbnMKKyAgYXQgc3RhcnR1cCBhbnltb3JlLgorCistIElzc3VlICMxMTE3MTogRml4IGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X21ha2VmaWxlX2ZpbGVuYW1lIHdoZW4gUHl0aG9uIHdhcworICBjb25maWd1cmVkIHdpdGggZGlmZmVyZW50IHByZWZpeCBhbmQgZXhlYy1wcmVmaXguCisKKy0gSXNzdWUgIzExMjU0OiBUZWFjaCBkaXN0dXRpbHMgYW5kIHBhY2thZ2luZyB0byBjb21waWxlIC5weWMgYW5kIC5weW8gZmlsZXMgaW4KKyAgUEVQIDMxNDctY29tcGxpYW50IF9fcHljYWNoZV9fIGRpcmVjdG9yaWVzLgorCistIElzc3VlICM3MzY3OiBGaXggcGtndXRpbC53YWxrX3BhdGhzIHRvIHNraXAgZGlyZWN0b3JpZXMgd2hvc2UKKyAgY29udGVudHMgY2Fubm90IGJlIHJlYWQuCisKKy0gSXNzdWUgIzMxNjM6IFRoZSBzdHJ1Y3QgbW9kdWxlIGdldHMgbmV3IGZvcm1hdCBjaGFyYWN0ZXJzICduJyBhbmQgJ04nCisgIHN1cHBvcnRpbmcgQyBpbnRlZ2VyIHR5cGVzIGBgc3NpemVfdGBgIGFuZCBgYHNpemVfdGBgLCByZXNwZWN0aXZlbHkuCisKKy0gSXNzdWUgIzEzMDk5OiBGaXggc3FsaXRlMy5DdXJzb3IubGFzdHJvd2lkIHVuZGVyIGEgVHVya2lzaCBsb2NhbGUuCisgIFJlcG9ydGVkIGFuZCBkaWFnbm9zZWQgYnkgVGhvbWFzIEtsdXl2ZXIuCisKKy0gSXNzdWUgIzEzMDg3OiBCdWZmZXJlZFJlYWRlci5zZWVrKCkgbm93IGFsd2F5cyByYWlzZXMgVW5zdXBwb3J0ZWRPcGVyYXRpb24KKyAgaWYgdGhlIHVuZGVybHlpbmcgcmF3IHN0cmVhbSBpcyB1bnNlZWthYmxlLCBldmVuIGlmIHRoZSBzZWVrIGNvdWxkIGJlCisgIHNhdGlzZmllZCB1c2luZyB0aGUgaW50ZXJuYWwgYnVmZmVyLiAgUGF0Y2ggYnkgSm9obiBPJ0Nvbm5vci4KKworLSBJc3N1ZSAjNzY4OTogQWxsb3cgcGlja2xpbmcgb2YgZHluYW1pY2FsbHkgY3JlYXRlZCBjbGFzc2VzIHdoZW4gdGhlaXIKKyAgbWV0YWNsYXNzIGlzIHJlZ2lzdGVyZWQgd2l0aCBjb3B5cmVnLiAgUGF0Y2ggYnkgTmljb2xhcyBNLiBUaGnDqXJ5IGFuZCBDcmFpZworICBDaXRyby4KKworLSBJc3N1ZSAjMTMwMzQ6IFdoZW4gZGVjb2Rpbmcgc29tZSBTU0wgY2VydGlmaWNhdGVzLCB0aGUgc3ViamVjdEFsdE5hbWUKKyAgZXh0ZW5zaW9uIGNvdWxkIGJlIHVucmVwb3J0ZWQuCisKKy0gSXNzdWUgIzk4NzE6IFByZXZlbnQgSURMRSAzIGNyYXNoIHdoZW4gZ2l2ZW4gYnl0ZSBzdGluZ3MKKyAgd2l0aCBpbnZhbGlkIGhleCBlc2NhcGUgc2VxdWVuY2VzLCBsaWtlIGInXHgwJy4KKyAgKE9yaWdpbmFsIHBhdGNoIGJ5IENsYXVkaXUgUG9wYS4pCisKKy0gSXNzdWUgIzEyMzA2OiBFeHBvc2UgdGhlIHJ1bnRpbWUgdmVyc2lvbiBvZiB0aGUgemxpYiBDIGxpYnJhcnkgYXMgYSBjb25zdGFudCwKKyAgWkxJQl9SVU5USU1FX1ZFUlNJT04sIGluIHRoZSB6bGliIG1vZHVsZS4gUGF0Y2ggYnkgVG9yc3RlbiBMYW5kc2Nob2ZmLgorCistIElzc3VlICMxMjk1OTogQWRkIGNvbGxlY3Rpb25zLkNoYWluTWFwIHRvIGNvbGxlY3Rpb25zLl9fYWxsX18uCisKKy0gSXNzdWUgIzg5MzM6IGRpc3R1dGlscycgUEtHLUlORk8gZmlsZXMgYW5kIHBhY2thZ2luZydzIE1FVEFEQVRBIGZpbGVzIHdpbGwKKyAgbm93IGNvcnJlY3RseSByZXBvcnQgTWV0YWRhdGEtVmVyc2lvbjogMS4xIGluc3RlYWQgb2YgMS4wIGlmIGEgQ2xhc3NpZmllciBvcgorICBEb3dubG9hZC1VUkwgZmllbGQgaXMgcHJlc2VudC4KKworLSBJc3N1ZSAjMTI1Njc6IEFkZCBjdXJzZXMudW5nZXRfd2NoKCkgZnVuY3Rpb24uIFB1c2ggYSBjaGFyYWN0ZXIgc28gdGhlIG5leHQKKyAgZ2V0X3djaCgpIHdpbGwgcmV0dXJuIGl0LgorCistIElzc3VlICM5NTYxOiBkaXN0dXRpbHMgYW5kIHBhY2thZ2luZyBub3cgd3JpdGVzIGVnZy1pbmZvIGZpbGVzIHVzaW5nIFVURi04LAorICBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcuCisKKy0gSXNzdWUgIzgyODY6IFRoZSBkaXN0dXRpbHMgY29tbWFuZCBzZGlzdCB3aWxsIHByaW50IGEgd2FybmluZyBtZXNzYWdlIGluc3RlYWQKKyAgb2YgY3Jhc2hpbmcgd2hlbiBhbiBpbnZhbGlkIHBhdGggaXMgZ2l2ZW4gaW4gdGhlIG1hbmlmZXN0IHRlbXBsYXRlLgorCistIElzc3VlICMxMjg0MTogdGFyZmlsZSB1bm5lY2Vzc2FyaWx5IGNoZWNrZWQgdGhlIGV4aXN0ZW5jZSBvZiBudW1lcmljYWwgdXNlcgorICBhbmQgZ3JvdXAgaWRzIG9uIGV4dHJhY3Rpb24uIElmIG9uZSBvZiB0aGVtIGRpZCBub3QgZXhpc3QgdGhlIHJlc3BlY3RpdmUgaWQKKyAgb2YgdGhlIGN1cnJlbnQgdXNlciAoaS5lLiByb290KSB3YXMgdXNlZCBmb3IgdGhlIGZpbGUgYW5kIG93bmVyc2hpcAorICBpbmZvcm1hdGlvbiB3YXMgbG9zdC4KKworLSBJc3N1ZSAjMTI4ODg6IEZpeCBhIGJ1ZyBpbiBIVE1MUGFyc2VyLnVuZXNjYXBlIHRoYXQgcHJldmVudGVkIGl0IHRvIGVzY2FwZQorICBtb3JlIHRoYW4gMTI4IGVudGl0aWVzLiAgUGF0Y2ggYnkgUGV0ZXIgT3R0ZW4uCisKKy0gSXNzdWUgIzEyODc4OiBFeHBvc2UgYSBfX2RpY3RfXyBhdHRyaWJ1dGUgb24gaW8uSU9CYXNlIGFuZCBpdHMgc3ViY2xhc3Nlcy4KKworLSBJc3N1ZSAjMTI2MzY6IElETEUgcmVhZHMgdGhlIGNvZGluZyBjb29raWUgd2hlbiBleGVjdXRpbmcgYSBQeXRob24gc2NyaXB0LgorCistIElzc3VlICMxMjQ5NDogT24gZXJyb3IsIGNhbGwoKSwgY2hlY2tfY2FsbCgpLCBjaGVja19vdXRwdXQoKSBhbmQKKyAgZ2V0c3RhdHVzb3V0cHV0KCkgZnVuY3Rpb25zIG9mIHRoZSBzdWJwcm9jZXNzIG1vZHVsZSBub3cga2lsbCB0aGUgcHJvY2VzcywKKyAgcmVhZCBpdHMgc3RhdHVzICh0byBhdm9pZCB6b21iaXMpIGFuZCBjbG9zZSBwaXBlcy4KKworLSBJc3N1ZSAjMTI3MjA6IEV4cG9zZSBsb3ctbGV2ZWwgTGludXggZXh0ZW5kZWQgZmlsZSBhdHRyaWJ1dGUgZnVuY3Rpb25zIGluIG9zLgorCistIElzc3VlICMxMDk0NjogVGhlIGRpc3R1dGlscyBjb21tYW5kcyBiZGlzdF9kdW1iLCBiZGlzdF93aW5pbnN0IGFuZCBiZGlzdF9tc2kKKyAgbm93IHJlc3BlY3QgYSAtLXNraXAtYnVpbGQgb3B0aW9uIGdpdmVuIHRvIGJkaXN0LiAgVGhlIHBhY2thZ2luZyBjb21tYW5kcworICB3ZXJlIGZpeGVkIHRvby4KKworLSBJc3N1ZSAjMTI4NDc6IEZpeCBhIGNyYXNoIHdpdGggbmVnYXRpdmUgUFVUIGFuZCBMT05HX0JJTlBVVCBhcmd1bWVudHMgaW4KKyAgdGhlIEMgcGlja2xlIGltcGxlbWVudGF0aW9uLgorCistIElzc3VlICMxMTU2NDogQXZvaWQgY3Jhc2hlcyB3aGVuIHRyeWluZyB0byBwaWNrbGUgaHVnZSBvYmplY3RzIG9yIGNvbnRhaW5lcnMKKyAgKG1vcmUgdGhhbiAyKiozMSBpdGVtcykuICBJbnN0ZWFkLCBpbiBtb3N0IGNhc2VzLCBhbiBPdmVyZmxvd0Vycm9yIGlzIHJhaXNlZC4KKworLSBJc3N1ZSAjMTIyODc6IEZpeCBhIHN0YWNrIGNvcnJ1cHRpb24gaW4gb3NzYXVkaW9kZXYgbW9kdWxlIHdoZW4gdGhlIEZEIGlzCisgIGdyZWF0ZXIgdGhhbiBGRF9TRVRTSVpFLgorCistIElzc3VlICMxMjgzOTogRml4IGNyYXNoIGluIHpsaWIgbW9kdWxlIGR1ZSB0byB2ZXJzaW9uIG1pc21hdGNoLgorICBGaXggYnkgUmljaGFyZCBNLiBUZXcuCisKKy0gSXNzdWUgIzk5MjM6IFRoZSBtYWlsY2FwIG1vZHVsZSBub3cgY29ycmVjdGx5IHVzZXMgdGhlIHBsYXRmb3JtIHBhdGgKKyAgc2VwYXJhdG9yIGZvciB0aGUgTUFJTENBUCBlbnZpcm9ubWVudCB2YXJpYWJsZSBvbiBub24tUE9TSVggcGxhdGZvcm1zLgorCistIElzc3VlICMxMjgzNTogRm9sbG93IHVwIHRvICM2NTYwIHRoYXQgdW5jb25kaXRpb25hbGx5IHByZXZlbnRzIHVzZSBvZiB0aGUKKyAgdW5lbmNyeXB0ZWQgc2VuZG1zZy9yZWN2bXNnIEFQSXMgb24gU1NMIHdyYXBwZWQgc29ja2V0cy4gUGF0Y2ggYnkgRGF2aWQKKyAgV2F0c29uLgorCistIElzc3VlICMxMjgwMzogU1NMQ29udGV4dC5sb2FkX2NlcnRfY2hhaW4oKSBub3cgYWNjZXB0cyBhIHBhc3N3b3JkIGFyZ3VtZW50CisgIHRvIGJlIHVzZWQgaWYgdGhlIHByaXZhdGUga2V5IGlzIGVuY3J5cHRlZC4gIFBhdGNoIGJ5IEFkYW0gU2ltcGtpbnMuCisKKy0gSXNzdWUgIzExNjU3OiBGaXggc2VuZGluZyBmaWxlIGRlc2NyaXB0b3JzIG92ZXIgMjU1IG92ZXIgYSBtdWx0aXByb2Nlc3NpbmcKKyAgUGlwZS4KKworLSBJc3N1ZSAjMTI4MTE6IHRhYm5hbm55LmNoZWNrKCkgbm93IHByb21wdGx5IGNsb3NlcyBjaGVja2VkIGZpbGVzLiBQYXRjaCBieQorICBBbnRob255IEJyaWdncy4KKworLSBJc3N1ZSAjNjU2MDogVGhlIHNlbmRtc2cvcmVjdm1zZyBBUEkgaXMgbm93IGV4cG9zZWQgYnkgdGhlIHNvY2tldCBtb2R1bGUKKyAgd2hlbiBwcm92aWRlZCBieSB0aGUgdW5kZXJseWluZyBwbGF0Zm9ybSwgc3VwcG9ydGluZyBwcm9jZXNzaW5nIG9mCisgIGFuY2lsbGFyeSBkYXRhIGluIHB1cmUgUHl0aG9uIGNvZGUuIFBhdGNoIGJ5IERhdmlkIFdhdHNvbiBhbmQgSGVpa28gV3VuZHJhbS4KKworLSBJc3N1ZSAjMTIzMjY6IE9uIExpbnV4LCBzeXMucGxhdGZvcm0gZG9lc24ndCBjb250YWluIHRoZSBtYWpvciB2ZXJzaW9uCisgIGFueW1vcmUuIEl0IGlzIG5vdyBhbHdheXMgJ2xpbnV4JywgaW5zdGVhZCBvZiAnbGludXgyJyBvciAnbGludXgzJyBkZXBlbmRpbmcKKyAgb24gdGhlIExpbnV4IHZlcnNpb24gdXNlZCB0byBidWlsZCBQeXRob24uCisKKy0gSXNzdWUgIzEyMjEzOiBGaXggYSBidWZmZXJpbmcgYnVnIHdpdGggaW50ZXJsZWF2ZWQgcmVhZHMgYW5kIHdyaXRlcyB0aGF0CisgIGNvdWxkIGFwcGVhciBvbiBCdWZmZXJlZFJhbmRvbSBzdHJlYW1zLgorCistIElzc3VlICMxMjc3ODogUmVkdWNlIG1lbW9yeSBjb25zdW1wdGlvbiB3aGVuIEpTT04tZW5jb2RpbmcgYSBsYXJnZQorICBjb250YWluZXIgb2YgbWFueSBzbWFsbCBvYmplY3RzLgorCistIElzc3VlICMxMjY1MDogRml4IGEgcmFjZSBjb25kaXRpb24gd2hlcmUgYSBzdWJwcm9jZXNzLlBvcGVuIGNvdWxkIGxlYWsKKyAgcmVzb3VyY2VzIChGRC96b21iaWUpIHdoZW4ga2lsbGVkIGF0IHRoZSB3cm9uZyB0aW1lLgorCistIElzc3VlICMxMjc0NDogRml4IGluZWZmaWNpZW50IHJlcHJlc2VudGF0aW9uIG9mIGludGVnZXJzIGJldHdlZW4gMioqMzEgYW5kCisgIDIqKjYzIG9uIHN5c3RlbXMgd2l0aCBhIDY0LWJpdCBDICJsb25nIi4KKworLSBJc3N1ZSAjMTI2NDY6IEFkZCBhbiAnZW9mJyBhdHRyaWJ1dGUgdG8gemxpYi5EZWNvbXByZXNzLCB0byBtYWtlIGl0IGVhc2llciB0bworICBkZXRlY3QgdHJ1bmNhdGVkIGlucHV0IHN0cmVhbXMuCisKKy0gSXNzdWUgIzExNTEzOiBGaXggZXhjZXB0aW9uIGhhbmRsaW5nIGBgdGFyZmlsZS5UYXJGaWxlLmd6b3BlbigpYGAgd2hlbgorICB0aGUgZmlsZSBjYW5ub3QgYmUgb3BlbmVkLgorCistIElzc3VlICMxMjY4NzogRml4IGEgcG9zc2libGUgYnVmZmVyaW5nIGJ1ZyB3aGVuIHVucGlja2xpbmcgdGV4dCBtb2RlCisgIChwcm90b2NvbCAwLCBtb3N0bHkpIHBpY2tsZXMuCisKKy0gSXNzdWUgIzEwMDg3OiBGaXggdGhlIGh0bWwgb3V0cHV0IGZvcm1hdCBvZiB0aGUgY2FsZW5kYXIgbW9kdWxlLgorCistIElzc3VlICMxMjU0MDogUHJldmVudCB6b21iaWUgSURMRSBwcm9jZXNzZXMgb24gV2luZG93cyBkdWUgdG8gY2hhbmdlcworICBpbiBvcy5raWxsKCkuCisKKy0gSXNzdWUgIzEzMTIxOiBhZGQgc3VwcG9ydCBmb3IgaW5wbGFjZSBtYXRoIG9wZXJhdG9ycyB0byBjb2xsZWN0aW9ucy5Db3VudGVyLgorCistIEFkZCBzdXBwb3J0IGZvciB1bmFyeSBwbHVzIGFuZCB1bmFyeSBtaW51cyB0byBjb2xsZWN0aW9ucy5Db3VudGVyLgorCistIElzc3VlICMxMjY4MzogdXJscGFyc2UgdXBkYXRlZCB0byBpbmNsdWRlIHN2biBhcyBzY2hlbWVzIHRoYXQgdXNlcyByZWxhdGl2ZQorICBwYXRocy4gKHN2biBmcm9tIDEuNSBvbndhcmRzIHN1cHBvcnQgcmVsYXRpdmUgcGF0aCkuCisKKy0gSXNzdWUgIzEyNjU1OiBFeHBvc2UgZnVuY3Rpb25zIGZyb20gc2NoZWQuaCBpbiB0aGUgb3MgbW9kdWxlOiBzY2hlZF95aWVsZCgpLAorICBzY2hlZF9zZXRzY2hlZHVsZXIoKSwgc2NoZWRfZ2V0c2NoZWR1bGVyKCksIHNjaGVkX3NldHBhcmFtKCksCisgIHNjaGVkX2dldF9taW5fcHJpb3JpdHkoKSwgc2NoZWRfZ2V0X21heF9wcmlvcml0eSgpLCBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwoKSwKKyAgc2NoZWRfZ2V0YWZmaW5pdHkoKSwgc2NoZWRfc2V0YWZmaW5pdHkoKS4KKworLSBBZGQgVGhyZWFkRXJyb3IgdG8gdGhyZWFkaW5nLl9fYWxsX18uCisKKy0gSXNzdWVzICMxMTEwNCwgIzg2ODg6IEZpeCB0aGUgYmVoYXZpb3Igb2YgZGlzdHV0aWxzJyBzZGlzdCBjb21tYW5kIHdpdGgKKyAgbWFudWFsbHktbWFpbnRhaW5lZCBNQU5JRkVTVCBmaWxlcy4KKworLSBJc3N1ZSAjMTEyODE6IHNtdHBsaWIuU1RNUCBnZXRzIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciwgd2hpY2ggYWRkcyB0aGUKKyAgYWJpbGl0eSB0byBiaW5kIHRvIHNwZWNpZmljIHNvdXJjZSBhZGRyZXNzIG9uIGEgbWFjaGluZSB3aXRoIG11bHRpcGxlCisgIGludGVyZmFjZXMuIFBhdGNoIGJ5IFBhdWxvIFNjYXJkaW5lLgorCistIElzc3VlICMxMjQ2NDogdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5LmNsZWFudXAoKSBzaG91bGQgbm90IGZvbGxvdworICBzeW1saW5rczogZml4IGl0LiBQYXRjaCBieSBQZXRyaSBMZWh0aW5lbi4KKworLSBJc3N1ZSAjODg4NzogInB5ZG9jIHNvbWVidWlsdGluLnNvbWVtZXRob2QiIChvciBoZWxwKCdzb21lYnVpbHRpbi5zb21lbWV0aG9kJykKKyAgaW4gUHl0aG9uIGNvZGUpIG5vdyBmaW5kcyB0aGUgZG9jIG9mIHRoZSBtZXRob2QuCisKKy0gSXNzdWUgIzEwOTY4OiBSZW1vdmUgaW5kaXJlY3Rpb24gaW4gdGhyZWFkaW5nLiAgVGhlIHB1YmxpYyBuYW1lcyAoRXZlbnQsCisgIENvbmRpdGlvbiwgZXRjLikgdXNlZCB0byBiZSBmYWN0b3J5IGZ1bmN0aW9ucyByZXR1cm5pbmcgaW5zdGFuY2VzIG9mIGhpZGRlbgorICBjbGFzc2VzIChfRXZlbnQsIF9Db25kaXRpb24sIGV0Yy4pLCBiZWNhdXNlIChpZiBHdWlkbyByZWNhbGxzIGNvcnJlY3RseSkgdGhpcworICBjb2RlIHByZS1kYXRlcyB0aGUgYWJpbGl0eSB0byBzdWJjbGFzcyBleHRlbnNpb24gdHlwZXMuICBJdCBpcyBub3cgcG9zc2libGUKKyAgdG8gaW5oZXJpdCBmcm9tIHRoZXNlIGNsYXNzZXMgd2l0aG91dCBoYXZpbmcgdG8gaW1wb3J0IHRoZSBwcml2YXRlCisgIHVuZGVyc2NvcmVkIG5hbWVzIGxpa2UgbXVsdGlwcm9jZXNzaW5nIGRpZC4KKworLSBJc3N1ZSAjOTcyMzogQWRkIHNobGV4LnF1b3RlIGZ1bmN0aW9ucywgdG8gZXNjYXBlIGZpbGVuYW1lcyBhbmQgY29tbWFuZAorICBsaW5lcy4KKworLSBJc3N1ZSAjMTI2MDM6IEZpeCBweWRvYy5zeW5vcHNpcygpIG9uIGZpbGVzIHdpdGggbm9uLW5lZ2F0aXZlIHN0X210aW1lLgorCistIElzc3VlICMxMjUxNDogVXNlIHRyeS9maW5hbGx5IHRvIGFzc3VyZSB0aGUgdGltZWl0IG1vZHVsZSByZXN0b3JlcyBnYXJiYWdlCisgIGNvbGxlY3Rpb25zIHdoZW4gaXQgaXMgZG9uZS4KKworLSBJc3N1ZSAjMTI2MDc6IEluIHN1YnByb2Nlc3MsIGZpeCBpc3N1ZSB3aGVyZSBpZiBzdGRpbiwgc3Rkb3V0IG9yIHN0ZGVyciBpcworICBnaXZlbiBhcyBhIGxvdyBmZCwgaXQgZ2V0cyBvdmVyd3JpdHRlbi4KKworLSBJc3N1ZSAjMTI1OTA6IElETEUgZWRpdG9yIHdpbmRvdyBub3cgYWx3YXlzIGRpc3BsYXlzIHRoZSBmaXJzdCBsaW5lCisgIHdoZW4gb3BlbmluZyBhIGxvbmcgZmlsZS4gIFdpdGggVGsgOC41LCB0aGUgZmlyc3QgbGluZSB3YXMgaGlkZGVuLgorCistIElzc3VlICMxMjU3NjogRml4IHVybG9wZW4gYmVoYXZpb3Igb24gc2l0ZXMgd2hpY2ggZG8gbm90IHNlbmQgKG9yIG9iZnVzY2F0ZXMpCisgIENvbm5lY3Rpb246Y2xvc2UgaGVhZGVyLgorCistIElzc3VlICMxMjEwMjogRG9jdW1lbnQgdGhhdCBidWZmZXJlZCBmaWxlcyBtdXN0IGJlIGZsdXNoZWQgYmVmb3JlIGJlaW5nIHVzZWQKKyAgd2l0aCBtbWFwLiBQYXRjaCBieSBTdGVmZmVuIERhb2RlIE51cnBtZXNvLgorCistIElzc3VlICMxMjU2MDogQnVpbGQgbGlicHl0aG9uLnNvIG9uIE9wZW5CU0QuIFBhdGNoIGJ5IFN0ZWZhbiBTcGVybGluZy4KKworLSBJc3N1ZSAjMTgxMzogRml4IGNvZGVjIGxvb2t1cCB1bmRlciBUdXJraXNoIGxvY2FsZXMuCisKKy0gSXNzdWUgIzEyNTkxOiBJbXByb3ZlIHN1cHBvcnQgb2YgInVuaXZlcnNhbCBuZXdsaW5lcyIgaW4gdGhlIHN1YnByb2Nlc3MKKyAgbW9kdWxlOiB0aGUgcGlwZWQgc3RyZWFtcyBjYW4gbm93IGJlIHByb3Blcmx5IHJlYWQgZnJvbSBvciB3cml0dGVuIHRvLgorCistIElzc3VlICMxMjU5MTogQWxsb3cgaW8uVGV4dElPV3JhcHBlciB0byB3b3JrIHdpdGggcmF3IElPIG9iamVjdHMgKHdpdGhvdXQKKyAgYSByZWFkMSgpIG1ldGhvZCksIGFuZCBhZGQgYSAqd3JpdGVfdGhyb3VnaCogcGFyYW1ldGVyIHRvIG1hbmRhdGUKKyAgdW5idWZmZXJlZCB3cml0ZXMuCisKKy0gSXNzdWUgIzEwODgzOiBGaXggc29ja2V0IGxlYWtzIGluIHVybGxpYi5yZXF1ZXN0IHdoZW4gdXNpbmcgRlRQLgorCistIElzc3VlICMxMjU5MjogTWFrZSBQeXRob24gYnVpbGQgb24gT3BlbkJTRCA1IChhbmQgZnV0dXJlIG1ham9yIHJlbGVhc2VzKS4KKworLSBJc3N1ZSAjMTIzNzI6IFBPU0lYIHNlbWFwaG9yZXMgYXJlIGJyb2tlbiBvbiBBSVg6IGRvbid0IHVzZSB0aGVtLgorCistIElzc3VlICMxMjU1MTogUHJvdmlkZSBhIGdldF9jaGFubmVsX2JpbmRpbmcoKSBtZXRob2Qgb24gU1NMIHNvY2tldHMgc28gYXMKKyAgdG8gZ2V0IGNoYW5uZWwgYmluZGluZyBkYXRhIGZvciB0aGUgY3VycmVudCBTU0wgc2Vzc2lvbiAob25seSB0aGUKKyAgInRscy11bmlxdWUiIGNoYW5uZWwgYmluZGluZyBpcyBpbXBsZW1lbnRlZCkuICBUaGlzIGFsbG93cyB0aGUgaW1wbGVtZW50YXRpb24KKyAgb2YgY2VydGFpbiBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zIHN1Y2ggYXMgU0NSQU0tU0hBLTEtUExVUy4gIFBhdGNoIGJ5CisgIEphY2VrIEtvbmllY3pueS4KKworLSBJc3N1ZSAjNjY1MTk0OiBlbWFpbC51dGlscyBub3cgaGFzIGZvcm1hdF9kYXRldGltZSBhbmQgcGFyc2VkYXRlX3RvX2RhdGV0aW1lCisgIGZ1bmN0aW9ucywgYWxsb3dpbmcgZm9yIHJvdW5kIHRyaXBwaW5nIG9mIFJGQzI4MjIgZm9ybWF0IGRhdGVzLgorCistIElzc3VlICMxMjU3MTogQWRkIGEgcGxhdC1saW51eDMgZGlyZWN0b3J5IG1pcnJvcmluZyB0aGUgcGxhdC1saW51eDIKKyAgZGlyZWN0b3J5LCBzbyB0aGF0ICJpbXBvcnQgRExGQ04iIGFuZCBvdGhlciBzaW1pbGFyIGltcG9ydHMgd29yayBvbgorICBMaW51eCAzLjAuCisKKy0gSXNzdWUgIzc0ODQ6IHNtdHBsaWIgbm8gbG9uZ2VyIHB1dHMgPD4gYXJvdW5kIGFkZHJlc3NlcyBpbiBWUkZZIGFuZCBFWFBOCisgIGNvbW1hbmRzOyB0aGV5IGFyZW4ndCByZXF1aXJlZCBhbmQgaW4gZmFjdCBwb3N0Zml4IGRvZXNuJ3Qgc3VwcG9ydCB0aGF0IGZvcm0uCisKKy0gSXNzdWUgIzEyMjczOiBSZW1vdmUgYXN0Ll9fdmVyc2lvbl9fLiBBU1QgY2hhbmdlcyBjYW4gYmUgYWNjb3VudGVkIGZvciBieQorICBjaGVja2luZyBzeXMudmVyc2lvbl9pbmZvIG9yIHN5cy5fbWVyY3VyaWFsLgorCistIFNpbGVuY2Ugc3B1cmlvdXMgImJyb2tlbiBwaXBlIiB0cmFjZWJhY2tzIHdoZW4gc2h1dHRpbmcgZG93biBhCisgIFByb2Nlc3NQb29sRXhlY3V0b3IuCisKKy0gRml4IHBvdGVudGlhbCByZXNvdXJjZSBsZWFrcyBpbiBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvcgorICBieSBqb2luaW5nIGFsbCBxdWV1ZXMgYW5kIHByb2Nlc3NlcyB3aGVuIHNodXRkb3duKCkgaXMgY2FsbGVkLgorCistIElzc3VlICMxMTYwMzogRml4IGEgY3Jhc2ggd2hlbiBfX3N0cl9fIGlzIHJlYm91bmQgYXMgX19yZXByX18uICBQYXRjaCBieQorICBBbmRyZWFzIFN0w7xocmsuCisKKy0gSXNzdWUgIzExMzIxOiBGaXggYSBjcmFzaCB3aXRoIG11bHRpcGxlIGltcG9ydHMgb2YgdGhlIF9waWNrbGUgbW9kdWxlIHdoZW4KKyAgZW1iZWRkaW5nIFB5dGhvbi4gIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KKworLSBJc3N1ZSAjNjc1NTogQWRkIGdldF93Y2goKSBtZXRob2QgdG8gY3Vyc2VzLndpbmRvdyBjbGFzcy4gUGF0Y2ggYnkgScOxaWdvCisgIFNlcm5hLgorCistIEFkZCBjZ2kuY2xvc2Vsb2coKSBmdW5jdGlvbiB0byBjbG9zZSB0aGUgbG9nIGZpbGUuCisKKy0gSXNzdWUgIzEyNTAyOiBhc3luY29yZTogZml4IHBvbGxpbmcgbG9vcCB3aXRoIEFGX1VOSVggc29ja2V0cy4KKworLSBJc3N1ZSAjNDM3NjogY3R5cGVzIG5vdyBzdXBwb3J0cyBuZXN0ZWQgc3RydWN0dXJlcyBpbiBhIGVuZGlhbiBkaWZmZXJlbnQgdGhhbgorICB0aGUgcGFyZW50IHN0cnVjdHVyZS4gUGF0Y2ggYnkgVmxhZCBSaXNjdXRpYS4KKworLSBSYWlzZSBWYWx1ZUVycm9yIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgdGhlIF9DSFVOS19TSVpFIGF0dHJpYnV0ZSBvZiBhCisgIFRleHRJT1dyYXBwZXIgdG8gYSBodWdlIHZhbHVlLCBub3QgVHlwZUVycm9yLgorCistIElzc3VlICMxMjUwNDogQ2xvc2UgZmlsZSBoYW5kbGVzIGluIGEgdGltZWx5IG1hbm5lciBpbiBwYWNrYWdpbmcuZGF0YWJhc2UuCisgIFRoaXMgZml4ZXMgYSBidWcgd2l0aCB0aGUgcmVtb3ZlICh1bmluc3RhbGwpIGZlYXR1cmUgb24gV2luZG93cy4KKworLSBJc3N1ZXMgIzEyMTY5IGFuZCAjMTA1MTA6IEZhY3RvciBvdXQgY29kZSB1c2VkIGJ5IHZhcmlvdXMgcGFja2FnaW5nIGNvbW1hbmRzCisgIHRvIG1ha2UgSFRUUCBQT1NUIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlIGl0IHVzZXMgQ1JMRi4KKworLSBJc3N1ZSAjMTIwMTY6IE11bHRpYnl0ZSBDSksgZGVjb2RlcnMgbm93IHJlc3luY2hyb25pemUgZmFzdGVyLiBUaGV5IG9ubHkKKyAgaWdub3JlIHRoZSBmaXJzdCBieXRlIG9mIGFuIGludmFsaWQgYnl0ZSBzZXF1ZW5jZS4gRm9yIGV4YW1wbGUsCisgIGInXHhmZlxuJy5kZWNvZGUoJ2diMjMxMicsICdyZXBsYWNlJykgZ2l2ZXMgJ1x1ZmZmZFxuJyBpbnN0ZWFkIG9mICdcdWZmZmQnLgorCistIElzc3VlICMxMjQ1OTogdGltZS5zbGVlcCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGlmIHRoZSBzbGVlcCBsZW5ndGggaXMKKyAgbmVnYXRpdmUsIGluc3RlYWQgb2YgYW4gaW5maW5pdGUgc2xlZXAgb24gV2luZG93cyBvciByYWlzaW5nIGFuIElPRXJyb3Igb24KKyAgTGludXggZm9yIGV4YW1wbGUsIHRvIGhhdmUgdGhlIHNhbWUgYmVoYXZpb3VyIG9uIGFsbCBwbGF0Zm9ybXMuCisKKy0gSXNzdWUgIzEyNDUxOiBweWRvYzogaHRtbF9nZXRmaWxlKCkgbm93IHVzZXMgdG9rZW5pemUub3BlbigpIHRvIHN1cHBvcnQKKyAgUHl0aG9uIHNjcmlwdHMgdXNpbmcgYSBlbmNvZGluZyBkaWZmZXJlbnQgdGhhbiBVVEYtOCAocmVhZCB0aGUgY29kaW5nIGNvb2tpZQorICBvZiB0aGUgc2NyaXB0KS4KKworLSBJc3N1ZSAjMTI0OTM6IHN1YnByb2Nlc3M6IFBvcGVuLmNvbW11bmljYXRlKCkgbm93IGFsc28gaGFuZGxlcyBFSU5UUiBlcnJvcnMKKyAgaWYgdGhlIHByb2Nlc3MgaGFzIG9ubHkgb25lIHBpcGUuCisKKy0gSXNzdWUgIzEyNDY3OiB3YXJuaW5nczogZml4IGEgcmFjZSBjb25kaXRpb24gaWYgYSB3YXJuaW5nIGlzIGVtaXR0ZWQgYXQKKyAgc2h1dGRvd24sIGlmIGdsb2JhbHMoKVsnX19maWxlX18nXSBpcyBOb25lLgorCistIElzc3VlICMxMjQ1MTogcHlkb2M6IGltcG9ydGZpbGUoKSBub3cgb3BlbnMgdGhlIFB5dGhvbiBzY3JpcHQgaW4gYmluYXJ5IG1vZGUsCisgIGluc3RlYWQgb2YgdGV4dCBtb2RlIHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcsIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KKworLSBJc3N1ZSAjMTI0NTE6IHJ1bnB5OiBydW5fcGF0aCgpIG5vdyBvcGVucyB0aGUgUHl0aG9uIHNjcmlwdCBpbiBiaW5hcnkgbW9kZSwKKyAgaW5zdGVhZCBvZiB0ZXh0IG1vZGUgdXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZywgdG8gc3VwcG9ydCBvdGhlciBlbmNvZGluZ3MKKyAgdGhhbiBVVEYtOCAoc2NyaXB0cyB1c2luZyB0aGUgY29kaW5nIGNvb2tpZSkuCisKKy0gSXNzdWUgIzEyNDUxOiB4bWwuZG9tLnB1bGxkb206IHBhcnNlKCkgbm93IG9wZW5zIGZpbGVzIGluIGJpbmFyeSBtb2RlIGluc3RlYWQKKyAgb2YgdGhlIHRleHQgbW9kZSAodXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZykgdG8gYXZvaWQgZW5jb2RpbmcgaXNzdWVzLgorCistIElzc3VlICMxMjE0NzogQWRqdXN0IHRoZSBuZXctaW4tMy4yIHNtdHBsaWIuc2VuZF9tZXNzYWdlIG1ldGhvZCBmb3IgYmV0dGVyCisgIGNvbmZvcm1hbmNlIHRvIHRoZSBSRkNzOiAgY29ycmVjdGx5IGhhbmRsZSBTZW5kZXIgYW5kIFJlc2VudC0gaGVhZGVycy4KKworLSBJc3N1ZSAjMTIzNTI6IEZpeCBhIGRlYWRsb2NrIGluIG11bHRpcHJvY2Vzc2luZy5IZWFwIHdoZW4gYSBibG9jayBpcyBmcmVlZCBieQorICB0aGUgZ2FyYmFnZSBjb2xsZWN0b3Igd2hpbGUgdGhlIEhlYXAgbG9jayBpcyBoZWxkLgorCistIElzc3VlICMxMjQ2MjogdGltZS5zbGVlcCgpIG5vdyBpbW1lZGlhdGVseSBjYWxscyB0aGUgKFB5dGhvbikgc2lnbmFsIGhhbmRsZXIKKyAgaWYgaXQgaXMgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwsIGluc3RlYWQgb2YgaGF2aW5nIHRvIHdhaXQgdW50aWwgdGhlIG5leHQKKyAgaW5zdHJ1Y3Rpb24uCisKKy0gSXNzdWUgIzEyNDQyOiBuZXcgc2h1dGlsLmRpc2tfdXNhZ2UgZnVuY3Rpb24sIHByb3ZpZGluZyB0b3RhbCwgdXNlZCBhbmQgZnJlZQorICBkaXNrIHNwYWNlIHN0YXRpc3RpY3MuCisKKy0gSXNzdWUgIzEyNDUxOiBUaGUgWEluY2x1ZGUgZGVmYXVsdCBsb2FkZXIgb2YgeG1sLmV0cmVlIG5vdyBkZWNvZGVzIGZpbGVzIGZyb20KKyAgVVRGLTggaW5zdGVhZCBvZiB0aGUgbG9jYWxlIGVuY29kaW5nIGlmIHRoZSBlbmNvZGluZyBpcyBub3Qgc3BlY2lmaWVkLiBJdCBub3cKKyAgYWxzbyBvcGVucyBYTUwgZmlsZXMgZm9yIHRoZSBwYXJzZXIgaW4gYmluYXJ5IG1vZGUgaW5zdGVhZCBvZiB0aGUgdGV4dCBtb2RlCisgIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KKworLSBJc3N1ZSAjMTI0NTE6IGRvY3Rlc3QuZGVidWdfc2NyaXB0KCkgZG9lc24ndCBjcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZQorICBhbnltb3JlIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KKworLSBJc3N1ZSAjMTI0NTE6IHB5ZG9jLnN5bm9wc2lzKCkgbm93IHJlYWRzIHRoZSBlbmNvZGluZyBjb29raWUgaWYgYXZhaWxhYmxlLAorICB0byByZWFkIHRoZSBQeXRob24gc2NyaXB0IGZyb20gdGhlIHJpZ2h0IGVuY29kaW5nLgorCistIElzc3VlICMxMjQ1MTogZGlzdHV0aWxzIG5vdyBvcGVucyB0aGUgc2V0dXAgc2NyaXB0IGluIGJpbmFyeSBtb2RlIHRvIHJlYWQgdGhlCisgIGVuY29kaW5nIGNvb2tpZSwgaW5zdGVhZCBvZiBvcGVuaW5nIGl0IGluIFVURi04LgorCistIElzc3VlICM5NTE2OiBPbiBNYWMgT1MgWCwgY2hhbmdlIERpc3R1dGlscyB0byBubyBsb25nZXIgZ2xvYmFsbHkgYXR0ZW1wdCB0bworICBjaGVjayBvciBzZXQgdGhlIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3IgdGhlCisgIGludGVycHJldGVyIHByb2Nlc3MuICBUaGlzIGNvdWxkIGNhdXNlIGZhaWx1cmVzIGluIG5vbi1EaXN0dXRpbHMgc3VicHJvY2Vzc2VzCisgIGFuZCB3YXMgdW5yZWxpYWJsZSBzaW5jZSB0ZXN0cyBvciB1c2VyIHByb2dyYW1zIGNvdWxkIG1vZGlmeSB0aGUgaW50ZXJwcmV0ZXIKKyAgZW52aXJvbm1lbnQgYWZ0ZXIgRGlzdHV0aWxzIHNldCBpdC4gIEluc3RlYWQsIGhhdmUgRGlzdHV0aWxzIHNldCB0aGUKKyAgZGVwbG95bWVudCB0YXJnZXQgb25seSBpbiB0aGUgZW52aXJvbm1lbnQgb2YgZWFjaCBidWlsZCBzdWJwcm9jZXNzLiAgSXQgaXMKKyAgc3RpbGwgcG9zc2libGUgdG8gZ2xvYmFsbHkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYnkgc2V0dGluZworICBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgYmVmb3JlIGxhdW5jaGluZyB0aGUgaW50ZXJwcmV0ZXI7IGl0cyB2YWx1ZSBtdXN0IGJlCisgIGdyZWF0ZXIgb3IgZXF1YWwgdG8gdGhlIGRlZmF1bHQgdmFsdWUsIHRoZSB2YWx1ZSB3aXRoIHdoaWNoIHRoZSBpbnRlcnByZXRlcgorICB3YXMgYnVpbHQuICBBbHNvLCBpbXBsZW1lbnQgdGhlIHNhbWUgaGFuZGxpbmcgaW4gcGFja2FnaW5nLgorCistIElzc3VlICMxMjQyMjogSW4gdGhlIGNvcHkgbW9kdWxlLCBkb24ndCBzdG9yZSBvYmplY3RzIHRoYXQgYXJlIHRoZWlyIG93biBjb3B5CisgIGluIHRoZSBtZW1vIGRpY3QuCisKKy0gSXNzdWUgIzEyMzAzOiBBZGQgc2lnd2FpdGluZm8oKSBhbmQgc2lndGltZWR3YWl0KCkgdG8gdGhlIHNpZ25hbCBtb2R1bGUuCisKKy0gSXNzdWUgIzEyNDA0OiBSZW1vdmUgQzg5IGluY29tcGF0aWJsZSBjb2RlIGZyb20gbW1hcCBtb2R1bGUuIFBhdGNoIGJ5IEFraXJhCisgIEtpdGFkYS4KKworLSBJc3N1ZSAjMTg3NDogZW1haWwgbm93IGRldGVjdHMgYW5kIHJlcG9ydHMgYXMgYSBkZWZlY3QgdGhlIHByZXNlbmNlIG9mCisgIGFueSBDVEUgb3RoZXIgdGhhbiA3Yml0LCA4Yml0LCBvciBiaW5hcnkgb24gYSBtdWx0aXBhcnQuCisKKy0gSXNzdWUgIzEyMzgzOiBGaXggc3VicHJvY2VzcyBtb2R1bGUgd2l0aCBlbnY9e306IGRvbid0IGNvcHkgdGhlIGVudmlyb25tZW50CisgIHZhcmlhYmxlcywgc3RhcnQgd2l0aCBhbiBlbXB0eSBlbnZpcm9ubWVudC4KKworLSBJc3N1ZSAjMTE2Mzc6IEZpeCBzdXBwb3J0IGZvciBpbXBvcnRpbmcgcGFja2FnaW5nIHNldHVwIGhvb2tzIGZyb20gdGhlCisgIHByb2plY3QgZGlyZWN0b3J5LgorCistIElzc3VlICM2NzcxOiBNb3ZlZCB0aGUgY3Vyc2VzLndyYXBwZXIgZnVuY3Rpb24gZnJvbSB0aGUgc2luZ2xlLWZ1bmN0aW9uCisgIHdyYXBwZXIgbW9kdWxlIGludG8gX19pbml0X18sIGVsaW1pbmF0aW5nIHRoZSBtb2R1bGUuICBTaW5jZSBfX2luaXRfXyB3YXMKKyAgYWxyZWFkeSBpbXBvcnRpbmcgdGhlIGZ1bmN0aW9uIHRvIGN1cnNlcy53cmFwcGVyLCB0aGVyZSBpcyBubyBBUEkgY2hhbmdlLgorCistIElzc3VlICMxMTU4NDogZW1haWwuaGVhZGVyLmRlY29kZV9oZWFkZXIgbm8gbG9uZ2VyIGZhaWxzIGlmIHRoZSBoZWFkZXIKKyAgcGFzc2VkIHRvIGl0IGlzIGEgSGVhZGVyIG9iamVjdCwgYW5kIEhlYWRlci9tYWtlX2hlYWRlciBubyBsb25nZXIgZmFpbAorICBpZiBnaXZlbiBiaW5hcnkgdW5rbm93bi04Yml0IGlucHV0LgorCistIElzc3VlICMxMTcwMDogbWFpbGJveCBwcm94eSBvYmplY3QgY2xvc2UgbWV0aG9kcyBjYW4gbm93IGJlIGNhbGxlZCBtdWx0aXBsZQorICB0aW1lcyB3aXRob3V0IGVycm9yLgorCistIElzc3VlICMxMTc2NzogQ29ycmVjdCBmaWxlIGRlc2NyaXB0b3IgbGVhayBpbiBtYWlsYm94J3MgX19nZXRpdGVtX18gbWV0aG9kLgorCistIElzc3VlICMxMjEzMzogQWJzdHJhY3RIVFRQSGFuZGxlci5kb19vcGVuKCkgb2YgdXJsbGliLnJlcXVlc3QgY2xvc2VzIHRoZSBIVFRQCisgIGNvbm5lY3Rpb24gaWYgaXRzIGdldHJlc3BvbnNlKCkgbWV0aG9kIGZhaWxzIHdpdGggYSBzb2NrZXQgZXJyb3IuIFBhdGNoCisgIHdyaXR0ZW4gYnkgRXppbyBNZWxvdHRpLgorCistIElzc3VlICMxMjI0MDogQWxsb3cgbXVsdGlwbGUgc2V0dXAgaG9va3MgaW4gcGFja2FnaW5nJ3Mgc2V0dXAuY2ZnIGZpbGVzLgorICBPcmlnaW5hbCBwYXRjaCBieSBFcmlrIEJyYXkuCisKKy0gSXNzdWUgIzkyODQ6IEFsbG93IGluc3BlY3QuZmluZHNvdXJjZSgpIHRvIGZpbmQgdGhlIHNvdXJjZSBvZiBkb2N0ZXN0CisgIGZ1bmN0aW9ucy4KKworLSBJc3N1ZSAjMTE1OTU6IEZpeCBhc3NvcnRlZCBidWdzIGluIHBhY2thZ2luZy51dGlsLmNmZ190b19hcmdzLCBhCisgIGNvbXBhdGliaWxpdHkgaGVscGVyIGZvciB0aGUgZGlzdHV0aWxzLXBhY2thZ2luZyB0cmFuc2l0aW9uLiAgT3JpZ2luYWwgcGF0Y2gKKyAgYnkgRXJpayBCcmF5LgorCistIElzc3VlICMxMjI4NzogSW4gb3NzYXVkaW9kZXYsIGNoZWNrIHRoYXQgdGhlIGRldmljZSBpc24ndCBjbG9zZWQgaW4gc2V2ZXJhbAorICBtZXRob2RzLgorCistIElzc3VlICMxMjAwOTogRml4ZWQgcmVncmVzc2lvbiBpbiBuZXRyYyBmaWxlIGNvbW1lbnQgaGFuZGxpbmcuCisKKy0gSXNzdWUgIzEyMjQ2OiBXYXJuIGFuZCBmYWlsIHdoZW4gdHJ5aW5nIHRvIGluc3RhbGwgYSB0aGlyZC1wYXJ0eSBwcm9qZWN0IGZyb20KKyAgYW4gdW5pbnN0YWxsZWQgUHl0aG9uIChidWlsdCBpbiBhIHNvdXJjZSBjaGVja291dCkuICBPcmlnaW5hbCBwYXRjaCBieQorICBUc2hlcGFuZyBMZWtob25raG9iZS4KKworLSBJc3N1ZSAjMTA2OTQ6IHppcGZpbGUgbm93IGlnbm9yZXMgZ2FyYmFnZSBhdCB0aGUgZW5kIG9mIGEgemlwZmlsZS4KKworLSBJc3N1ZSAjMTIyODM6IEZpeGVkIHJlZ3Jlc3Npb24gaW4gc210cGxpYiBxdW90aW5nIG9mIGxlYWRpbmcgZG90cyBpbiBEQVRBLgorCistIElzc3VlICMxMDQyNDogQXJncGFyc2Ugbm93IGluY2x1ZGVzIHRoZSBuYW1lcyBvZiB0aGUgbWlzc2luZyByZXF1aXJlZAorICBhcmd1bWVudHMgaW4gdGhlIG1pc3NpbmcgYXJndW1lbnRzIGVycm9yIG1lc3NhZ2UuCisKKy0gSXNzdWUgIzEyMTY4OiBTeXNMb2dIYW5kbGVyIG5vdyBhbGxvd3MgTlVMIHRlcm1pbmF0aW9uIHRvIGJlIGNvbnRyb2xsZWQgdXNpbmcKKyAgYSBuZXcgJ2FwcGVuZF9udWwnIGF0dHJpYnV0ZSBvbiB0aGUgaGFuZGxlci4KKworLSBJc3N1ZSAjMTE1ODM6IFNwZWVkIHVwIG9zLnBhdGguaXNkaXIgb24gV2luZG93cyBieSB1c2luZyBHZXRGaWxlQXR0cmlidXRlcworICBpbnN0ZWFkIG9mIG9zLnN0YXQuCisKKy0gSXNzdWUgIzEyMDIxOiBNYWtlIG1tYXAncyByZWFkKCkgbWV0aG9kIGFyZ3VtZW50IG9wdGlvbmFsLiBQYXRjaCBieSBQZXRyaQorICBMZWh0aW5lbi4KKworLSBJc3N1ZSAjOTIwNTogY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3Igbm93IGRldGVjdHMga2lsbGVkCisgIGNoaWxkcmVuIGFuZCByYWlzZXMgQnJva2VuUHJvY2Vzc1Bvb2wgaW4gc3VjaCBhIHNpdHVhdGlvbi4gIFByZXZpb3VzbHkgaXQKKyAgd291bGQgcmVsaWFibHkgZnJlZXplL2RlYWRsb2NrLgorCistIElzc3VlICMxMjA0MDogRXhwb3NlIGEgbmV3IGF0dHJpYnV0ZSBgYHNlbnRpbmVsYGAgb24gaW5zdGFuY2VzIG9mCisgIGBgbXVsdGlwcm9jZXNzaW5nLlByb2Nlc3NgYC4gIEFsc28sIGZpeCBQcm9jZXNzLmpvaW4oKSB0byBub3QgdXNlIHBvbGxpbmcKKyAgYW55bW9yZSwgd2hlbiBnaXZlbiBhIHRpbWVvdXQuCisKKy0gSXNzdWUgIzExODkzOiBSZW1vdmUgb2Jzb2xldGUgaW50ZXJuYWwgd3JhcHBlciBjbGFzcyBgYFNTTEZha2VGaWxlYGAgaW4gdGhlCisgIHNtdHBsaWIgbW9kdWxlLiAgUGF0Y2ggYnkgQ2F0YWxpbiBJYWNvYi4KKworLSBJc3N1ZSAjMTIwODA6IEZpeCBhIERlY2ltYWwucG93ZXIoKSBjYXNlIHRoYXQgdG9vayBhbiB1bnJlYXNvbmFibHkgbG9uZyB0aW1lCisgIHRvIGNvbXB1dGUuCisKKy0gSXNzdWUgIzEyMjIxOiBSZW1vdmUgX192ZXJzaW9uX18gYXR0cmlidXRlcyBmcm9tIHB5ZXhwYXQsIHBpY2tsZSwgdGFyZmlsZSwKKyAgcHlkb2MsIHRraW50ZXIsIGFuZCB4bWwucGFyc2Vycy5leHBhdC4gVGhpcyB3ZXJlIHVzZWxlc3MgdmVyc2lvbiBjb25zdGFudHMKKyAgbGVmdCBvdmVyIGZyb20gdGhlIE1lcmN1cmlhbCB0cmFuc2l0aW9uCisKKy0gTmFtZWQgdHVwbGVzIG5vdyB3b3JrIGNvcnJlY3RseSB3aXRoIHZhcnMoKS4KKworLSBJc3N1ZSAjMTIwODU6IEZpeCBhbiBhdHRyaWJ1dGUgZXJyb3IgaW4gc3VicHJvY2Vzcy5Qb3BlbiBkZXN0cnVjdG9yIGlmIHRoZQorICBjb25zdHJ1Y3RvciBoYXMgZmFpbGVkLCBlLmcuIGJlY2F1c2Ugb2YgYW4gdW5kZWNsYXJlZCBrZXl3b3JkIGFyZ3VtZW50LiBQYXRjaAorICB3cml0dGVuIGJ5IE9sZWcgT3NobXlhbi4KKworLSBJc3N1ZSAjMTIwMjg6IE1ha2UgdGhyZWFkaW5nLl9nZXRfaWRlbnQoKSBwdWJsaWMsIHJlbmFtZSBpdCB0bworICB0aHJlYWRpbmcuZ2V0X2lkZW50KCkgYW5kIGRvY3VtZW50IGl0LiBUaGlzIGZ1bmN0aW9uIHdhcyBhbHJlYWR5IHVzZWQgdXNpbmcKKyAgX3RocmVhZC5nZXRfaWRlbnQoKS4KKworLSBJc3N1ZSAjMTIxNzE6IEluY3JlbWVudGFsRW5jb2Rlci5yZXNldCgpIG9mIENKSyBjb2RlY3MgKG11bHRpYnl0ZWNvZGVjKSBjYWxscworICBlbmNyZXNldCgpIGluc3RlYWQgb2YgZGVjcmVzZXQoKS4KKworLSBJc3N1ZSAjMTIyMTg6IFJlbW92ZWQgd3NnaXJlZi5lZ2ctaW5mby4KKworLSBJc3N1ZSAjMTIxOTY6IEFkZCBwaXBlMigpIHRvIHRoZSBvcyBtb2R1bGUuCisKKy0gSXNzdWUgIzk4NTA2NDogTWFrZSBwbGlzdGxpYiBtb3JlIHJlc2lsaWVudCB0byBmYXVsdHkgaW5wdXQgcGxpc3RzLgorICBQYXRjaCBieSBNaGVyIE1vdnNpc3lhbi4KKworLSBJc3N1ZSAjMTYyNTogQloyRmlsZSBhbmQgYnoyLmRlY29tcHJlc3MoKSBub3cgc3VwcG9ydCBtdWx0aS1zdHJlYW0gZmlsZXMuCisgIEluaXRpYWwgcGF0Y2ggYnkgTmlyIEFpZGVzLgorCistIElzc3VlICMxMjE3NTogQnVmZmVyZWRSZWFkZXIucmVhZCgtMSkgbm93IGNhbGxzIHJhdy5yZWFkYWxsKCkgaWYgYXZhaWxhYmxlLgorCistIElzc3VlICMxMjE3NTogRmlsZUlPLnJlYWRhbGwoKSBub3cgb25seSByZWFkcyB0aGUgZmlsZSBwb3NpdGlvbiBhbmQgc2l6ZQorICBvbmNlLgorCistIElzc3VlICMxMjE3NTogUmF3SU9CYXNlLnJlYWRhbGwoKSBub3cgcmV0dXJucyBOb25lIGlmIHJlYWQoKSByZXR1cm5zIE5vbmUuCisKKy0gSXNzdWUgIzEyMTc1OiBGaWxlSU8ucmVhZGFsbCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGluc3RlYWQgb2YgYW4gSU9FcnJvcgorICBpZiB0aGUgZmlsZSBpcyBjbG9zZWQuCisKKy0gSXNzdWUgIzExMTA5OiBOZXcgc2VydmljZV9hY3Rpb24gbWV0aG9kIGZvciBCYXNlU2VydmVyLCB1c2VkIGJ5IEZvcmtpbmdNaXhJbgorICBjbGFzcyBmb3IgY2xlYW51cC4gSW5pdGlhbCBQYXRjaCBieSBKdXN0aW4gV2Fya2VudGluLgorCistIElzc3VlICMxMjA0NTogQXZvaWQgZHVwbGljYXRlIGV4ZWN1dGlvbiBvZiBjb21tYW5kIGluCisgIGN0eXBlcy51dGlsLl9nZXRfc29uYW1lKCkuICBQYXRjaCBieSBTaWppbiBKb3NlcGguCisKKy0gSXNzdWUgIzEwODE4OiBSZW1vdmUgdGhlIFRrIEdVSSBhbmQgdGhlIHNlcnZlKCkgZnVuY3Rpb24gb2YgdGhlIHB5ZG9jIG1vZHVsZSwKKyAgcHlkb2MgLWcgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBQeXRob24gMy4yIGFuZCBpdCBoYXMgYSBuZXcgZW5oYW5jZWQgd2ViCisgIHNlcnZlci4KKworLSBJc3N1ZSAjMTQ0MTUzMDogSW4gaW1hcGxpYiwgcmVhZCB0aGUgZGF0YSBpbiBvbmUgY2h1bmsgdG8gc3BlZWQgdXAgbGFyZ2UKKyAgcmVhZHMgYW5kIHNpbXBsaWZ5IGNvZGUuCisKKy0gSXNzdWUgIzEyMDcwOiBGaXggdGhlIE1ha2VmaWxlIHBhcnNlciBvZiB0aGUgc3lzY29uZmlnIG1vZHVsZSB0byBoYW5kbGUKKyAgY29ycmVjdGx5IHJlZmVyZW5jZXMgdG8gImJvZ3VzIHZhcmlhYmxlIiAoZS5nLiAicHJlZml4PSQvb3B0L3B5dGhvbiIpLgorCistIElzc3VlICMxMjEwMDogRG9uJ3QgcmVzZXQgaW5jcmVtZW50YWwgZW5jb2RlcnMgb2YgQ0pLIGNvZGVjcyBhdCBlYWNoIGNhbGwgdG8KKyAgdGhlaXIgZW5jb2RlKCkgbWV0aG9kIGFueW1vcmUsIGJ1dCBjb250aW51ZSB0byBjYWxsIHRoZSByZXNldCgpIG1ldGhvZCBpZiB0aGUKKyAgZmluYWwgYXJndW1lbnQgaXMgVHJ1ZS4KKworLSBJc3N1ZSAjMTIwNDk6IEFkZCBSQU5EX2J5dGVzKCkgYW5kIFJBTkRfcHNldWRvX2J5dGVzKCkgZnVuY3Rpb25zIHRvIHRoZSBzc2wKKyAgbW9kdWxlLgorCistIElzc3VlICM2NTAxOiBvcy5kZXZpY2VfZW5jb2RpbmcoKSByZXR1cm5zIE5vbmUgb24gV2luZG93cyBpZiB0aGUgYXBwbGljYXRpb24KKyAgaGFzIG5vIGNvbnNvbGUuCisKKy0gSXNzdWUgIzEyMTA1OiBBZGQgT19DTE9FWEVDIHRvIHRoZSBvcyBtb2R1bGUuCisKKy0gSXNzdWUgIzEyMDc5OiBEZWNpbWFsKCdJbmZpbml0eScpLmZtYShEZWNpbWFsKCcwJyksICgzLjkxMjI0MzE4MTI2Nzg2ZSsxOSswaikpCisgIG5vdyByYWlzZXMgVHlwZUVycm9yIChyZWZsZWN0aW5nIHRoZSBpbnZhbGlkIHR5cGUgb2YgdGhlIDNyZCBhcmd1bWVudCkgcmF0aGVyCisgIHRoYW4gRGVjaW1hbC5JbnZhbGlkT3BlcmF0aW9uLgorCistIElzc3VlICMxMjEyNDogemlwaW1wb3J0IGRvZXNuJ3Qga2VlcCBhIHJlZmVyZW5jZSB0byB6bGliLmRlY29tcHJlc3MoKSBhbnltb3JlCisgIHRvIGJlIGFibGUgdG8gdW5sb2FkIHRoZSBtb2R1bGUuCisKKy0gQWRkIHRoZSBwYWNrYWdpbmcgbW9kdWxlLCBhbiBpbXByb3ZlZCBmb3JrIG9mIGRpc3R1dGlscyAoYWxzbyBrbm93biBhcworICBkaXN0dXRpbHMyKS4KKworLSBJc3N1ZSAjMTIwNjU6IGNvbm5lY3RfZXgoKSBvbiBhbiBTU0wgc29ja2V0IG5vdyByZXR1cm5zIHRoZSBvcmlnaW5hbCBlcnJubworICB3aGVuIHRoZSBzb2NrZXQncyB0aW1lb3V0IGV4cGlyZXMgKGl0IHVzZWQgdG8gcmV0dXJuIE5vbmUpLgorCistIElzc3VlICM4ODA5OiBUaGUgU01UUF9TU0wgY29uc3RydWN0b3IgYW5kIFNNVFAuc3RhcnR0bHMoKSBub3cgc3VwcG9ydAorICBwYXNzaW5nIGEgYGBjb250ZXh0YGAgYXJndW1lbnQgcG9pbnRpbmcgdG8gYW4gc3NsLlNTTENvbnRleHQgaW5zdGFuY2UuCisgIFBhdGNoIGJ5IEthc3VuIEhlcmF0aC4KKworLSBJc3N1ZSAjMTEwODg6IGRvbid0IGNyYXNoIHdoZW4gdXNpbmcgRjUgdG8gcnVuIGEgc2NyaXB0IGluIElETEUgb24gTWFjT1NYCisgIHdpdGggVGsgOC41LgorCistIElzc3VlICM5NTE2OiBJc3N1ZSAjOTUxNjogYXZvaWQgZXJyb3JzIGluIHN5c2NvbmZpZyB3aGVuIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAorICBpcyBzZXQgaW4gc2hlbGwuCisKKy0gSXNzdWUgIzg2NTA6IE1ha2UgemxpYiBtb2R1bGUgNjQtYml0IGNsZWFuLiBjb21wcmVzcygpLCBkZWNvbXByZXNzKCkgYW5kCisgIHRoZWlyIGluY3JlbWVudGFsIGNvdW50ZXJwYXJ0cyBub3cgcmFpc2UgT3ZlcmZsb3dFcnJvciBpZiBnaXZlbiBhbiBpbnB1dAorICBsYXJnZXIgdGhhbiA0R0IsIGluc3RlYWQgb2Ygc2lsZW50bHkgdHJ1bmNhdGluZyB0aGUgaW5wdXQgYW5kIHJldHVybmluZworICBhbiBpbmNvcnJlY3QgcmVzdWx0LgorCistIElzc3VlICMxMjA1MDogemxpYi5kZWNvbXByZXNzb2JqKCkuZGVjb21wcmVzcygpIG5vdyBjbGVhcnMgdGhlIHVuY29uc3VtZWRfdGFpbAorICBhdHRyaWJ1dGUgd2hlbiBjYWxsZWQgd2l0aG91dCBhIG1heF9sZW5ndGggYXJndW1lbnQuCisKKy0gSXNzdWUgIzEyMDYyOiBGaXggYSBmbHVzaGluZyBidWcgd2hlbiBkb2luZyBhIGNlcnRhaW4gdHlwZSBvZiBJL08gc2VxdWVuY2UKKyAgb24gYSBmaWxlIG9wZW5lZCBpbiByZWFkK3dyaXRlIG1vZGUgKG5hbWVseTogcmVhZGluZywgc2Vla2luZyBhIGJpdCBmb3J3YXJkLAorICB3cml0aW5nLCB0aGVuIHNlZWtpbmcgYmVmb3JlIHRoZSBwcmV2aW91cyB3cml0ZSBidXQgc3RpbGwgd2l0aGluIGJ1ZmZlcmVkCisgIGRhdGEsIGFuZCB3cml0aW5nIGFnYWluKS4KKworLSBJc3N1ZSAjOTk3MTogV3JpdGUgYW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIG9mIEJ1ZmZlcmVkUmVhZGVyLnJlYWRpbnRvKCkuCisgIFBhdGNoIGJ5IEpvaG4gTydDb25ub3IuCisKKy0gSXNzdWUgIzEwMjg6IFRrIHJldHVybnMgaW52YWxpZCBVbmljb2RlIG51bGwgaW4gJUE6IFVuaWNvZGVEZWNvZGVFcnJvci4KKyAgV2l0aCBUayA8IDguNSBfdGtpbnRlci5jOlB5dGhvbkNtZCgpIHJhaXNlZCBVbmljb2RlRGVjb2RlRXJyb3IsIGNhdXNlZAorICBJRExFIHRvIGV4aXQuICBDb252ZXJ0ZWQgdG8gdmFsaWQgVW5pY29kZSBudWxsIGluIFB5dGhvbkNtZCgpLgorCistIElzc3VlICMxMTc5OTogdXJsbGliLnJlcXVlc3QgQXV0aGVudGljYXRpb24gSGFuZGxlcnMgd2lsbCByYWlzZSBhIFZhbHVlRXJyb3IKKyAgd2hlbiBwcmVzZW50ZWQgd2l0aCBhbiB1bnN1cHBvcnRlZCBBdXRoZW50aWNhdGlvbiBTY2hlbWUuIFBhdGNoIGNvbnRyaWJ1dGVkCisgIGJ5IFl1dmFsIEdyZWVuZmllbGQuCisKKy0gSXNzdWUgIzEwNDE5LCAjNjAxMTogYnVpbGRfc2NyaXB0cyBjb21tYW5kIG9mIGRpc3R1dGlscyBoYW5kbGVzIGNvcnJlY3RseQorICBub24tQVNDSUkgcGF0aCAocGF0aCB0byB0aGUgUHl0aG9uIGV4ZWN1dGFibGUpLiBPcGVuIGFuZCB3cml0ZSB0aGUgc2NyaXB0IGluCisgIGJpbmFyeSBtb2RlLCBidXQgZW5zdXJlIHRoYXQgdGhlIHNoZWJhbmcgaXMgZGVjb2RhYmxlIGZyb20gVVRGLTggYW5kIGZyb20gdGhlCisgIGVuY29kaW5nIG9mIHRoZSBzY3JpcHQuCisKKy0gSXNzdWUgIzg0OTg6IEluIHNvY2tldC5hY2NlcHQoKSwgYWxsb3cgdG8gc3BlY2lmeSAwIGFzIGEgYmFja2xvZyB2YWx1ZSBpbgorICBvcmRlciB0byBhY2NlcHQgZXhhY3RseSBvbmUgY29ubmVjdGlvbi4gIFBhdGNoIGJ5IERhbmllbCBFdmVycy4KKworLSBJc3N1ZSAjMTIwMTE6IHNpZ25hbC5zaWduYWwoKSBhbmQgc2lnbmFsLnNpZ2ludGVycnVwdCgpIHJhaXNlIGFuIE9TRXJyb3IsCisgIGluc3RlYWQgb2YgYSBSdW50aW1lRXJyb3I6IE9TRXJyb3IgaGFzIGFuIGVycm5vIGF0dHJpYnV0ZS4KKworLSBJc3N1ZSAjMzcwOTogYWRkIGEgZmx1c2hfaGVhZGVycyBtZXRob2QgdG8gQmFzZUhUVFBSZXF1ZXN0SGFuZGxlciwgd2hpY2gKKyAgbWFuYWdlcyB0aGUgc2VuZGluZyBvZiBoZWFkZXJzIHRvIG91dHB1dCBzdHJlYW0gYW5kIGZsdXNoaW5nIHRoZSBpbnRlcm5hbAorICBoZWFkZXJzIGJ1ZmZlci4gUGF0Y2ggY29udHJpYnV0aW9uIGJ5IEFuZHJldyBTY2hhYWYKKworLSBJc3N1ZSAjMTE3NDM6IFJld3JpdGUgbXVsdGlwcm9jZXNzaW5nIGNvbm5lY3Rpb24gY2xhc3NlcyBpbiBwdXJlIFB5dGhvbi4KKworLSBJc3N1ZSAjMTExNjQ6IFN0b3AgdHJ5aW5nIHRvIHVzZSBfeG1scGx1cyBpbiB0aGUgeG1sIG1vZHVsZS4KKworLSBJc3N1ZSAjMTE4ODg6IEFkZCBsb2cyIGZ1bmN0aW9uIHRvIG1hdGggbW9kdWxlLiBQYXRjaCB3cml0dGVuIGJ5IE1hcmsKKyAgRGlja2luc29uLgorCistIElzc3VlICMxMjAxMjogc3NsLlBST1RPQ09MX1NTTHYyIGJlY29tZXMgb3B0aW9uYWwuCisKKy0gSXNzdWUgIzg0MDc6IFRoZSBzaWduYWwgaGFuZGxlciB3cml0ZXMgdGhlIHNpZ25hbCBudW1iZXIgYXMgYSBzaW5nbGUgYnl0ZQorICBpbnN0ZWFkIG9mIGEgbnVsIGJ5dGUgaW50byB0aGUgd2FrZXVwIGZpbGUgZGVzY3JpcHRvci4gU28gaXQgaXMgcG9zc2libGUgdG8KKyAgd2FpdCBtb3JlIHRoYW4gb25lIHNpZ25hbCBhbmQga25vdyB3aGljaCBzaWduYWxzIHdlcmUgcmFpc2VkLgorCistIElzc3VlICM4NDA3OiBBZGQgcHRocmVhZF9raWxsKCksIHNpZ3BlbmRpbmcoKSBhbmQgc2lnd2FpdCgpIGZ1bmN0aW9ucyB0byB0aGUKKyAgc2lnbmFsIG1vZHVsZS4KKworLSBJc3N1ZSAjMTE5Mjc6IFNNVFBfU1NMIG5vdyB1c2VzIHBvcnQgNDY1IGJ5IGRlZmF1bHQgYXMgZG9jdW1lbnRlZC4gIFBhdGNoCisgIGJ5IEthc3VuIEhlcmF0aC4KKworLSBJc3N1ZSAjMTIwMDI6IGZ0cGxpYidzIGFib3J0KCkgbWV0aG9kIHJhaXNlcyBUeXBlRXJyb3IuCisKKy0gSXNzdWUgIzExOTE2OiBBZGQgYSBudW1iZXIgb2YgTWFjT1NYIHNwZWNpZmljIGRlZmluaXRpb25zIHRvIHRoZSBlcnJubyBtb2R1bGUuCisgIFBhdGNoIGJ5IFBpZXJyZSBDYXJyaWVyLgorCistIElzc3VlICMxMTk5OTogZml4ZWQgc3BvcmFkaWMgc3luYyBmYWlsdXJlIG1haWxib3guTWFpbGRpciBkdWUgdG8gaXRzIHRyeWluZyB0bworICBkZXRlY3QgbXRpbWUgY2hhbmdlcyBieSBjb21wYXJpbmcgdG8gdGhlIHN5c3RlbSBjbG9jayBpbnN0ZWFkIG9mIHRvIHRoZQorICBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgbXRpbWUuCisKKy0gSXNzdWUgIzExMDcyOiBhZGRlZCBNTFNEIGNvbW1hbmQgKFJGQy0zNjU5KSBzdXBwb3J0IHRvIGZ0cGxpYi4KKworLSBJc3N1ZSAjODgwODogVGhlIElNQVA0X1NTTCBjb25zdHJ1Y3RvciBub3cgYWxsb3dzIHBhc3NpbmcgYW4gU1NMQ29udGV4dAorICBwYXJhbWV0ZXIgdG8gY29udHJvbCBwYXJhbWV0ZXJzIG9mIHRoZSBzZWN1cmUgY2hhbm5lbC4gIFBhdGNoIGJ5IFNpamluCisgIEpvc2VwaC4KKworLSBudHBhdGguc2FtZWZpbGUgZmFpbGVkIHRvIG5vdGljZSB0aGF0ICJhLnR4dCIgYW5kICJBLlRYVCIgcmVmZXIgdG8gdGhlIHNhbWUKKyAgZmlsZSBvbiBXaW5kb3dzIFhQLiBBcyBub3RpY2VkIGluIGlzc3VlICMxMDY4NC4KKworLSBJc3N1ZSAjMTIwMDA6IFdoZW4gYSBTU0wgY2VydGlmaWNhdGUgaGFzIGEgc3ViamVjdEFsdE5hbWUgd2l0aG91dCBhbnkKKyAgZE5TTmFtZSBlbnRyeSwgc3NsLm1hdGNoX2hvc3RuYW1lKCkgc2hvdWxkIHVzZSB0aGUgc3ViamVjdCdzIGNvbW1vbk5hbWUuCisgIFBhdGNoIGJ5IE5pY29sYXMgQmFyZWlsLgorCistIElzc3VlICMxMDc3NTogYXNzZXJ0UmFpc2VzLCBhc3NlcnRSYWlzZXNSZWdleCwgYXNzZXJ0V2FybnMsIGFuZAorICBhc3NlcnRXYXJuc1JlZ2V4IG5vdyBhY2NlcHQgYSBrZXl3b3JkIGFyZ3VtZW50ICdtc2cnIHdoZW4gdXNlZCBhcyBjb250ZXh0CisgIG1hbmFnZXJzLiAgSW5pdGlhbCBwYXRjaCBieSBXaW5zdG9uIEV3ZXJ0LgorCistIElzc3VlICMxMDY4NDogc2h1dGlsLm1vdmUgdXNlZCB0byBkZWxldGUgYSBmb2xkZXIgb24gY2FzZSBpbnNlbnNpdGl2ZQorICBmaWxlc3lzdGVtcyB3aGVuIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIG5hbWUgd2hlcmUgdGhlIHNhbWUgZXhjZXB0CisgIGZvciB0aGUgY2FzZS4KKworLSBJc3N1ZSAjMTE2NDc6IG9iamVjdHMgY3JlYXRlZCB1c2luZyBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyIG5vdyBzdXBwb3J0CisgIG1vcmUgdGhhbiBvbmUgY2FsbCB0byB0aGUgZnVuY3Rpb24gd2hlbiB1c2VkIGFzIGEgZGVjb3JhdG9yLiBJbml0aWFsIHBhdGNoCisgIGJ5IFlzaiBSYXkuCisKKy0gSXNzdWUgIzExOTMwOiBSZW1vdmVkIGRlcHJlY2F0ZWQgdGltZS5hY2NlcHQyZHllYXIgdmFyaWFibGUuCisgIFJlbW92ZWQgeWVhciA+PSAxMDAwIHJlc3RyaWN0aW9uIGZyb20gZGF0ZXRpbWUuc3RyZnRpbWUuCisKKy0gbG9nZ2luZzogZG9uJ3QgZGVmaW5lIFF1ZXVlTGlzdGVuZXIgaWYgUHl0aG9uIGhhcyBubyB0aHJlYWQgc3VwcG9ydC4KKworLSBmdW5jdG9vbHMuY21wX3RvX2tleSgpIG5vdyB3b3JrcyB3aXRoIGNvbGxlY3Rpb25zLkhhc2hhYmxlKCkuCisKKy0gSXNzdWUgIzExMjc3OiBtbWFwLm1tYXAoKSBjYWxscyBmY250bChmZCwgRl9GVUxMRlNZTkMpIG9uIE1hYyBPUyBYIHRvIGdldAorICBhcm91bmQgYSBtbWFwIGJ1ZyB3aXRoIHNwYXJzZSBmaWxlcy4gUGF0Y2ggd3JpdHRlbiBieSBTdGVmZmVuIERhb2RlIE51cnBtZXNvLgorCistIElzc3VlICM4NDA3OiBBZGQgc2lnbmFsLnB0aHJlYWRfc2lnbWFzaygpIGZ1bmN0aW9uIHRvIGZldGNoIGFuZC9vciBjaGFuZ2UgdGhlCisgIHNpZ25hbCBtYXNrIG9mIHRoZSBjYWxsaW5nIHRocmVhZC4KKworLSBJc3N1ZSAjMTE4NTg6IGNvbmZpZ3BhcnNlci5FeHRlbmRlZEludGVycG9sYXRpb24gZXhwZWN0ZWQgbG93ZXItY2FzZSBzZWN0aW9uCisgIG5hbWVzLgorCistIElzc3VlICMxMTMyNDogQ29uZmlnUGFyc2VyKGludGVycG9sYXRpb249Tm9uZSkgbm93IHdvcmtzIGNvcnJlY3RseS4KKworLSBJc3N1ZSAjMTE4MTE6IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKCkgaXMgbm93IElQdjYtY29tcGF0aWJsZS4gIFBhdGNoCisgIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KKworLSBJc3N1ZSAjMTE3NjM6IGRvbid0IHVzZSBkaWZmbGliIGluIFRlc3RDYXNlLmFzc2VydE11bHRpTGluZUVxdWFsIGlmIHRoZQorICBzdHJpbmdzIGFyZSB0b28gbG9uZy4KKworLSBJc3N1ZSAjMTEyMzY6IGdldHBhc3MuZ2V0cGFzcyByZXNwb25kcyB0byBjdHJsLWMgb3IgY3RybC16IG9uIHRlcm1pbmFsLgorCistIElzc3VlICMxMTg1NjogU3BlZWQgdXAgcGFyc2luZyBvZiBKU09OIG51bWJlcnMuCisKKy0gSXNzdWUgIzExMDA1OiB0aHJlYWRpbmcuUkxvY2soKS5fcmVsZWFzZV9zYXZlKCkgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZQorICBsb2NrIHdhcyBub3QgYWNxdWlyZWQuCisKKy0gSXNzdWUgIzExMjU4OiBTcGVlZCB1cCBjdHlwZXMudXRpbC5maW5kX2xpYnJhcnkoKSB1bmRlciBMaW51eCBieSBhIGZhY3RvcgorICBvZiA1IHRvIDEwLiAgSW5pdGlhbCBwYXRjaCBieSBKb25hcyBILgorCistIElzc3VlICMxMTM4MjogVHJpdmlhbCBzeXN0ZW0gY2FsbHMsIHN1Y2ggYXMgZHVwKCkgb3IgcGlwZSgpLCBuZWVkbid0CisgIHJlbGVhc2UgdGhlIEdJTC4gIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KKworLSBJc3N1ZSAjMTEyMjM6IEFkZCB0aHJlYWRpbmcuX2luZm8oKSBmdW5jdGlvbiBwcm92aWRpbmcgaW5mb3JtYXRpb25zIGFib3V0CisgIHRoZSB0aHJlYWQgaW1wbGVtZW50YXRpb24uCisKKy0gSXNzdWUgIzExNzMxOiBzaW1wbGlmeS9lbmhhbmNlIGVtYWlsIHBhcnNlci9nZW5lcmF0b3IgQVBJIGJ5IGludHJvZHVjaW5nCisgIHBvbGljeSBvYmplY3RzLgorCistIElzc3VlICMxMTc2ODogVGhlIHNpZ25hbCBoYW5kbGVyIG9mIHRoZSBzaWduYWwgbW9kdWxlIG9ubHkgY2FsbHMKKyAgUHlfQWRkUGVuZGluZ0NhbGwoKSBmb3IgdGhlIGZpcnN0IHNpZ25hbCB0byBmaXggYSBkZWFkbG9jayBvbiByZWVudHJhbnQgb3IKKyAgcGFyYWxsZWwgY2FsbHMuIFB5RXJyX1NldEludGVycnVwdCgpIHdyaXRlcyBhbHNvIGludG8gdGhlIHdha2UgdXAgZmlsZS4KKworLSBJc3N1ZSAjMTE0OTI6IGZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIGhlYWRlciBmb2xkaW5nIGluIHRoZSBlbWFpbCBwYWNrYWdlLgorCistIElzc3VlICMxMTg1MjogQWRkIG1pc3NpbmcgaW1wb3J0cyBhbmQgdXBkYXRlIHRlc3RzLgorCistIElzc3VlICMxMTg3NTogY29sbGVjdGlvbnMuT3JkZXJlZERpY3QncyBfX3JlZHVjZV9fIHdhcyB0ZW1wb3JhcmlseQorICBtdXRhdGluZyB0aGUgb2JqZWN0IGluc3RlYWQgb2YganVzdCB3b3JraW5nIG9uIGEgY29weS4KKworLSBJc3N1ZSAjMTE0Njc6IEZpeCB1cmxwYXJzZSBiZWhhdmlvciB3aGVuIGhhbmRsaW5nIHVybHMgd2hpY2ggY29udGFpbnMgc2NoZW1lCisgIHNwZWNpZmljIHBhcnQgb25seSBkaWdpdHMuIFBhdGNoIGJ5IFNhbnRvc28gV2lqYXlhLgorCistIGNvbGxlY3Rpb25zLkNvdW50ZXIoKS5jb3B5KCkgbm93IHdvcmtzIGNvcnJlY3RseSBmb3Igc3ViY2xhc3Nlcy4KKworLSBJc3N1ZSAjMTE0NzQ6IEZpeCB0aGUgYnVnIHdpdGggdXJsMnBhdGhuYW1lKCkgaGFuZGxpbmcgb2YgJy9DfC8nIG9uIFdpbmRvd3MuCisgIFBhdGNoIGJ5IFNhbnRvc28gV2lqYXlhLgorCistIElzc3VlICMxMTY4NDogY29tcGxldGUgZW1haWwucGFyc2VyIGJ5dGVzIEFQSSBieSBhZGRpbmcgQnl0ZXNIZWFkZXJQYXJzZXIuCisKKy0gVGhlIGJ6MiBtb2R1bGUgbm93IGhhbmRsZXMgNEdpQisgaW5wdXQgYnVmZmVycyBjb3JyZWN0bHkuCisKKy0gSXNzdWUgIzkyMzM6IEZpeCBqc29uLmxvYWRzKCd7fScpIHRvIHJldHVybiBhIGRpY3QgKGluc3RlYWQgb2YgYSBsaXN0KSwgd2hlbgorICBfanNvbiBpcyBub3QgYXZhaWxhYmxlLgorCistIElzc3VlICMxMTgzMDogUmVtb3ZlIHVubmVjZXNzYXJ5IGludHJvc3BlY3Rpb24gY29kZSBpbiB0aGUgZGVjaW1hbCBtb2R1bGUuCisKKy0gSXNzdWUgIzExNzAzOiB1cmxsaWIyLmdldHVybCgpIGRvZXMgbm90IHJldHVybiBjb3JyZWN0IHVybCB3aGVuIHRoZSBvcmlnaW5hbAorICB1cmwgY29udGFpbnMgI2ZyYWdtZW50LgorCistIElzc3VlICMxMDAxOTogRml4ZWQgcmVncmVzc2lvbiBpbiBqc29uIG1vZHVsZSB3aGVyZSBhbiBpbmRlbnQgb2YgMCBzdG9wcGVkCisgIGFkZGluZyBuZXdsaW5lcyBhbmQgYWN0ZWQgaW5zdGVhZCBsaWtlICdOb25lJy4KKworLSBJc3N1ZSAjMTExODY6IHB5ZG9jIGlnbm9yZXMgYSBtb2R1bGUgaWYgaXRzIG5hbWUgY29udGFpbnMgYSBzdXJyb2dhdGUKKyAgY2hhcmFjdGVyIGluIHRoZSBpbmRleCBvZiBtb2R1bGVzLgorCistIElzc3VlICMxMTgxNTogVXNlIGEgbGlnaHQtd2VpZ2h0IFNpbXBsZVF1ZXVlIGZvciB0aGUgcmVzdWx0IHF1ZXVlIGluCisgIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yLgorCistIElzc3VlICM1MTYyOiBUcmVhdCBzZXJ2aWNlcyBsaWtlIGZyb3plbiBleGVjdXRhYmxlcyB0byBhbGxvdyBjaGlsZCBzcGF3bmluZworICBmcm9tIG11bHRpcHJvY2Vzc2luZy5mb3JraW5nIG9uIFdpbmRvd3MuCisKKy0gbG9nZ2luZy5iYXNpY0NvbmZpZyBub3cgc3VwcG9ydHMgYW4gb3B0aW9uYWwgJ2hhbmRsZXJzJyBhcmd1bWVudCB0YWtpbmcgYW4KKyAgaXRlcmFibGUgb2YgaGFuZGxlcnMgdG8gYmUgYWRkZWQgdG8gdGhlIHJvb3QgbG9nZ2VyLiBBZGRpdGlvbmFsIHBhcmFtZXRlcgorICBjaGVja3Mgd2VyZSBhbHNvIGFkZGVkIHRvIGJhc2ljQ29uZmlnLgorCistIElzc3VlICMxMTgxNDogRml4IGxpa2VseSB0eXBvIGluIG11bHRpcHJvY2Vzc2luZy5Qb29sLl90ZXJtaW5hdGUoKS4KKworLSBJc3N1ZSAjMTE3NDc6IEZpeCByYW5nZSBmb3JtYXR0aW5nIGluIGRpZmZsaWIuY29udGV4dF9kaWZmKCkgYW5kCisgIGRpZmZsaWIudW5pZmllZF9kaWZmKCkuCisKKy0gSXNzdWUgIzg0Mjg6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIG11bHRpcHJvY2Vzc2luZy5Qb29sIHdoZW4gdGVybWluYXRpbmcKKyAgd29ya2VyIHByb2Nlc3NlczogbmV3IHByb2Nlc3NlcyB3b3VsZCBiZSBzcGF3bmVkIHdoaWxlIHRoZSBwb29sIGlzIGJlaW5nCisgIHNodXQgZG93bi4gIFBhdGNoIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KKworLSBJc3N1ZSAjMjY1MDogcmUuZXNjYXBlKCkgbm8gbG9uZ2VyIGVzY2FwZXMgdGhlICdfJy4KKworLSBJc3N1ZSAjMTE3NTc6IHNlbGVjdC5zZWxlY3QoKSBub3cgcmFpc2VzIFZhbHVlRXJyb3Igd2hlbiBhIG5lZ2F0aXZlIHRpbWVvdXQKKyAgaXMgcGFzc2VkIChwcmV2aW91c2x5LCBhIHNlbGVjdC5lcnJvciB3aXRoIEVJTlZBTCB3b3VsZCBiZSByYWlzZWQpLiAgUGF0Y2gKKyAgYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICM3MzExOiBmaXggaHRtbC5wYXJzZXIgdG8gYWNjZXB0IG5vbi1BU0NJSSBhdHRyaWJ1dGUgdmFsdWVzLgorCistIElzc3VlICMxMTYwNTogZW1haWwucGFyc2VyLkJ5dGVzRmVlZFBhcnNlciB3YXMgaW5jb3JyZWN0bHkgY29udmVydGluZworICBtdWx0aXBhcnQgc3VicGFydHMgd2l0aCBhbiA4LWJpdCBDVEUgaW50byB1bmljb2RlIGluc3RlYWQgb2YgcHJlc2VydmluZyB0aGUKKyAgYnl0ZXMuCisKKy0gSXNzdWUgIzE2OTA2MDg6IGVtYWlsLnV0aWwuZm9ybWF0YWRkciBpcyBub3cgUkZDIDIwNDcgYXdhcmU6ICBpdCBub3cgaGFzIGEKKyAgY2hhcnNldCBwYXJhbWV0ZXIgdGhhdCBkZWZhdWx0cyB0byB1dGYtOCBhbmQgaXMgdXNlZCBhcyB0aGUgY2hhcnNldCBmb3IgUkZDCisgIDIwNDcgZW5jb2Rpbmcgd2hlbiB0aGUgcmVhbG5hbWUgY29udGFpbnMgbm9uLUFTQ0lJIGNoYXJhY3RlcnMuCisKKy0gSXNzdWUgIzEwOTYzOiBFbnN1cmUgdGhhdCBzdWJwcm9jZXNzLmNvbW11bmljYXRlKCkgbmV2ZXIgcmFpc2VzIEVQSVBFLgorCistIElzc3VlICMxMDc5MTogSW1wbGVtZW50IG1pc3NpbmcgbWV0aG9kIEd6aXBGaWxlLnJlYWQxKCksIGFsbG93aW5nIEd6aXBGaWxlCisgIHRvIGJlIHdyYXBwZWQgaW4gYSBUZXh0SU9XcmFwcGVyLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgorCistIElzc3VlICMxMTcwNzogQWRkZWQgYSBmYXN0IEMgdmVyc2lvbiBvZiBmdW5jdG9vbHMuY21wX3RvX2tleSgpLgorICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgorCistIElzc3VlICMxMTY4ODogQWRkIHNxbGl0ZTMuQ29ubmVjdGlvbi5zZXRfdHJhY2VfY2FsbGJhY2soKS4gIFBhdGNoIGJ5CisgIFRvcnN0ZW4gTGFuZHNjaG9mZi4KKworLSBJc3N1ZSAjMTE3NDY6IEZpeCBTU0xDb250ZXh0LmxvYWRfY2VydF9jaGFpbigpIHRvIGFjY2VwdCBlbGxpcHRpYyBjdXJ2ZQorICBwcml2YXRlIGtleXMuCisKKy0gSXNzdWUgIzU4NjM6IFJld3JpdGUgQloyRmlsZSBpbiBwdXJlIFB5dGhvbiwgYW5kIGFsbG93IGl0IHRvIGFjY2VwdAorICBmaWxlLWxpa2Ugb2JqZWN0cyB1c2luZyBhIG5ldyBgYGZpbGVvYmpgYCBjb25zdHJ1Y3RvciBhcmd1bWVudC4gIFBhdGNoIGJ5CisgIE5hZGVlbSBWYXdkYS4KKworLSB1bml0dGVzdC5UZXN0Q2FzZS5hc3NlcnRTYW1lRWxlbWVudHMgaGFzIGJlZW4gcmVtb3ZlZC4KKworLSBzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIGluaXRmc2VuY29kaW5nKCkgd2FzIG5vdAorICBjYWxsZWQgeWV0OiBkZXRlY3QgYm9vdHN0cmFwIChzdGFydHVwKSBpc3N1ZXMgZWFybGllci4KKworLSBJc3N1ZSAjMTEzOTM6IEFkZCB0aGUgbmV3IGZhdWx0aGFuZGxlciBtb2R1bGUuCisKKy0gSXNzdWUgIzExNjE4OiBGaXggdGhlIHRpbWVvdXQgbG9naWMgaW4gdGhyZWFkaW5nLkxvY2suYWNxdWlyZSgpIHVuZGVyIFdpbmRvd3MuCisKKy0gUmVtb3ZlZCB0aGUgJ3N0cmljdCcgYXJndW1lbnQgdG8gZW1haWwucGFyc2VyLlBhcnNlciwgd2hpY2ggaGFzIGJlZW4KKyAgZGVwcmVjYXRlZCBzaW5jZSBQeXRob24gMi40LgorCistIElzc3VlICMxMTI1NjogRml4IGluc3BlY3QuZ2V0Y2FsbGFyZ3Mgb24gZnVuY3Rpb25zIHRoYXQgdGFrZSBvbmx5IGtleXdvcmQKKyAgYXJndW1lbnRzLgorCistIElzc3VlICMxMTY5NjogRml4IElEIGdlbmVyYXRpb24gaW4gbXNpbGliLgorCistIGl0ZXJ0b29scy5hY2N1bXVsYXRlIG5vdyBzdXBwb3J0cyBhbiBvcHRpb25hbCAqZnVuYyogYXJndW1lbnQgZm9yCisgIGEgdXNlci1zdXBwbGllZCBiaW5hcnkgZnVuY3Rpb24uCisKKy0gSXNzdWUgIzExNjkyOiBSZW1vdmUgdW5uZWNlc3NhcnkgZGVtbyBmdW5jdGlvbnMgaW4gc3VicHJvY2VzcyBtb2R1bGUuCisKKy0gSXNzdWUgIzk2OTY6IEZpeCBleGNlcHRpb24gaW5jb3JyZWN0bHkgcmFpc2VkIGJ5IHhkcmxpYi5QYWNrZXIucGFja19pbnQgd2hlbgorICB0cnlpbmcgdG8gcGFjayBhIG5lZ2F0aXZlIChpbi1yYW5nZSkgaW50ZWdlci4KKworLSBJc3N1ZSAjMTE2NzU6IG11bHRpcHJvY2Vzc2luZy5bUmF3XUFycmF5IG9iamVjdHMgY3JlYXRlZCBmcm9tIGFuIGludGVnZXIgc2l6ZQorICBhcmUgbm93IHplcm9lZCBvbiBjcmVhdGlvbi4gIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZpb3VyIHNwZWNpZmllZCBieSB0aGUKKyAgZG9jdW1lbnRhdGlvbi4KKworLSBJc3N1ZSAjNzYzOTogRml4IHNob3J0IGZpbGUgbmFtZSBnZW5lcmF0aW9uIGluIGJkaXN0X21zaQorCistIElzc3VlICMxMTY1OTogRml4IFJlc291cmNlV2FybmluZyBpbiB0ZXN0X3N1YnByb2Nlc3MgaW50cm9kdWNlZCBieSAjMTE0NTkuCisgIFBhdGNoIGJ5IEJlbiBIYXlkZW4uCisKKy0gSXNzdWUgIzExNjM1OiBEb24ndCB1c2UgcG9sbGluZyBpbiB3b3JrZXIgdGhyZWFkcyBhbmQgcHJvY2Vzc2VzIGxhdW5jaGVkIGJ5CisgIGNvbmN1cnJlbnQuZnV0dXJlcy4KKworLSBJc3N1ZSAjNjgxMTogQWxsb3cgaW1wb3J0bGliIHRvIGNoYW5nZSBhIGNvZGUgb2JqZWN0J3MgY29fZmlsZW5hbWUgYXR0cmlidXRlCisgIHRvIG1hdGNoIHRoZSBwYXRoIHRvIHdoZXJlIHRoZSBzb3VyY2UgY29kZSBjdXJyZW50bHkgaXMsIG5vdCB3aGVyZSB0aGUgY29kZQorICBvYmplY3Qgb3JpZ2luYWxseSBjYW1lIGZyb20uCisKKy0gSXNzdWUgIzg3NTQ6IEhhdmUgaW1wb3J0bGliIHVzZSB0aGUgcmVwciBvZiBhIG1vZHVsZSBuYW1lIGluIGVycm9yIG1lc3NhZ2VzLgorCistIElzc3VlICMxMTU5MTogUHJldmVudCAiaW1wb3J0IHNpdGUiIGZyb20gbW9kaWZ5aW5nIHN5cy5wYXRoIHdoZW4gcHl0aG9uCisgIHdhcyBzdGFydGVkIHdpdGggLVMuCisKKy0gY29sbGVjdGlvbnMubmFtZWR0dXBsZSgpIG5vdyBhZGRzIGEgX3NvdXJjZSBhdHRyaWJ1dGUgdG8gdGhlIGdlbmVyYXRlZAorICBjbGFzcy4gIFRoaXMgbWFrZSB0aGUgc291cmNlIG1vcmUgYWNjZXNzaWJsZSB0aGFuIHRoZSBvdXRkYXRlZAorICAidmVyYm9zZSIgb3B0aW9uIHdoaWNoIHByaW50cyB0byBzdGRvdXQgYnV0IGRvZXNuJ3QgbWFrZSB0aGUgc291cmNlCisgIHN0cmluZyBhdmFpbGFibGUuCisKKy0gSXNzdWUgIzExMzcxOiBNYXJrIGdldG9wdCBlcnJvciBtZXNzYWdlcyBhcyBsb2NhbGl6YWJsZS4gIFBhdGNoIGJ5IEZpbGlwCisgIEdydXN6Y3p5xYRza2kuCisKKy0gSXNzdWUgIzExMzMzOiBBZGQgX19zbG90c19fIHRvIGNvbGxlY3Rpb25zIEFCQ3MuCisKKy0gSXNzdWUgIzExNjI4OiBjbXBfdG9fa2V5IGdlbmVyYXRlZCBjbGFzcyBzaG91bGQgdXNlIF9fc2xvdHNfXy4KKworLSBJc3N1ZSAjMTE2NjY6IGxldCBoZWxwKCkgZGlzcGxheSBuYW1lZCB0dXBsZSBhdHRyaWJ1dGVzIGFuZCBtZXRob2RzCisgIHRoYXQgc3RhcnQgd2l0aCBhIGxlYWRpbmcgdW5kZXJzY29yZS4KKworLSBJc3N1ZSAjMTE2NjI6IE1ha2UgdXJsbGliIGFuZCB1cmxsaWIyIGlnbm9yZSByZWRpcmVjdGlvbnMgaWYgdGhlCisgIHNjaGVtZSBpcyBub3QgSFRUUCwgSFRUUFMgb3IgRlRQIChDVkUtMjAxMS0xNTIxKS4KKworLSBJc3N1ZSAjNTUzNzogRml4IHRpbWUyaXNveigpIGFuZCB0aW1lMm5ldHNjYXBlKCkgZnVuY3Rpb25zIG9mCisgIGh0dHBsaWIuY29va2llamFyIGZvciBleHBpcmF0aW9uIHllYXIgZ3JlYXRlciB0aGFuIDIwMzggb24gMzItYml0IHN5c3RlbXMuCisKKy0gSXNzdWUgIzQzOTE6IFVzZSBwcm9wZXIgZ2V0dGV4dCBwbHVyYWwgZm9ybXMgaW4gb3B0cGFyc2UuCisKKy0gSXNzdWUgIzExMTI3OiBSYWlzZSBhIFR5cGVFcnJvciB3aGVuIHRyeWluZyB0byBwaWNrbGUgYSBzb2NrZXQgb2JqZWN0LgorCistIElzc3VlICMxMTU2MzogQ29ubmVjdGlvbjpjbG9zZSBoZWFkZXIgaXMgc2VudCBieSByZXF1ZXN0cyB1c2luZyBVUkxPcGVuZXIKKyAgY2xhc3Mgd2hpY2ggaGVscHMgaW4gY2xvc2luZyBvZiBzb2NrZXRzIGFmdGVyIGNvbm5lY3Rpb24gaXMgb3Zlci4gUGF0Y2gKKyAgY29udHJpYnV0aW9ucyBieSBKZWZmIE1jTmVpbCBhbmQgTmFkZWVtIFZhd2RhLgorCistIElzc3VlICMxMTQ1OTogQSBgYGJ1ZnNpemVgYCB2YWx1ZSBvZiAwIGluIHN1YnByb2Nlc3MuUG9wZW4oKSByZWFsbHkgY3JlYXRlcworICB1bmJ1ZmZlcmVkIHBpcGVzLCBzdWNoIHRoYXQgc2VsZWN0KCkgd29ya3MgcHJvcGVybHkgb24gdGhlbS4KKworLSBJc3N1ZSAjNTQyMTogRml4IG1pc2xlYWRpbmcgZXJyb3IgbWVzc2FnZSB3aGVuIG9uZSBvZiBzb2NrZXQuc2VuZHRvKCkncworICBhcmd1bWVudHMgaGFzIHRoZSB3cm9uZyB0eXBlLiAgUGF0Y2ggYnkgTmlraXRhIFZldG9zaGtpbi4KKworLSBJc3N1ZSAjMTA4MTI6IEFkZCBzb21lIGV4dHJhIHBvc2l4IGZ1bmN0aW9ucyB0byB0aGUgb3MgbW9kdWxlLgorCistIElzc3VlICMxMDk3OTogdW5pdHRlc3Qgc3Rkb3V0IGJ1ZmZlcmluZyBub3cgd29ya3Mgd2l0aCBjbGFzcyBhbmQgbW9kdWxlCisgIHNldHVwIGFuZCB0ZWFyZG93bi4KKworLSBJc3N1ZSAjMTE1Nzc6IGZpeCBSZXNvdXJjZVdhcm5pbmcgdHJpZ2dlcmVkIGJ5IGltcHJvdmVkIGJpbmhleCB0ZXN0IGNvdmVyYWdlCisKKy0gSXNzdWUgIzExMjQzOiBmaXggdGhlIHBhcmFtZXRlciBxdWVyeWluZyBtZXRob2RzIG9mIE1lc3NhZ2UgdG8gd29yayBpZgorICB0aGUgaGVhZGVycyBjb250YWluIHVuLWVuY29kZWQgbm9uLUFTQ0lJIGRhdGEuCisKKy0gSXNzdWUgIzExNDAxOiBmaXggaGFuZGxpbmcgb2YgaGVhZGVycyB3aXRoIG5vIHZhbHVlOyB0aGlzIGZpeGVzIGEgcmVncmVzc2lvbgorICByZWxhdGl2ZSB0byBQeXRob24yIGFuZCB0aGUgcmVzdWx0IGlzIG5vdyB0aGUgc2FtZSBhcyBpdCB3YXMgaW4gUHl0aG9uMi4KKworLSBJc3N1ZSAjOTI5ODogYmFzZTY0IGJvZGllcyB3ZXJlbid0IGJlaW5nIGZvbGRlZCB0byBsaW5lIGxlbmd0aHMgbGVzcyB0aGFuIDc4LAorICB3aGljaCB3YXMgYSByZWdyZXNzaW9uIHJlbGF0aXZlIHRvIFB5dGhvbjIuICBVbmxpa2UgUHl0aG9uMiwgdGhlIGxhc3QgbGluZQorICBvZiB0aGUgZm9sZGVkIGJvZHkgbm93IGVuZHMgd2l0aCBhIGNhcnJpYWdlIHJldHVybi4KKworLSBJc3N1ZSAjMTE1NjA6IHNodXRpbC51bnBhY2tfYXJjaGl2ZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgdGhlIGZvcm1hdAorICBwYXJhbWV0ZXIuIFBhdGNoIGJ5IEV2YW4gRGFuZHJlYS4KKworLSBJc3N1ZSAjNTg3MDogQWRkIGBzdWJwcm9jZXNzLkRFVk5VTExgIGNvbnN0YW50LgorCistIElzc3VlICMxMTEzMzogZml4IHR3byBjYXNlcyB3aGVyZSBpbnNwZWN0LmdldGF0dHJfc3RhdGljIGNhbiB0cmlnZ2VyIGNvZGUKKyAgZXhlY3V0aW9uLiBQYXRjaCBieSBBbmRyZWFzIFN0w7xocmsuCisKKy0gSXNzdWUgIzExNTY5OiB1c2UgYWJzb2x1dGUgcGF0aCB0byB0aGUgc3lzY3RsIGNvbW1hbmQgaW4gbXVsdGlwcm9jZXNzaW5nIHRvCisgIGVuc3VyZSB0aGF0IGl0IHdpbGwgYmUgZm91bmQgcmVnYXJkbGVzcyBvZiB0aGUgc2hlbGwgUEFUSC4gVGhpcyBlbnN1cmVzCisgIHRoYXQgbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCB3b3JrcyBvbiBkZWZhdWx0IGluc3RhbGxzIG9mIE1hY09TWC4KKworLSBJc3N1ZSAjMTE1MDE6IGRpc3V0aWxzLmFyY2hpdmVfdXRpbHMubWFrZV96aXBmaWxlIG5vIGxvbmdlciBmYWlscyBpZiB6bGliIGlzCisgIG5vdCBpbnN0YWxsZWQuIEluc3RlYWQsIHRoZSB6aXBmaWxlLlpJUF9TVE9SRUQgY29tcHJlc3Npb24gaXMgdXNlZCB0byBjcmVhdGUKKyAgdGhlIFppcEZpbGUuIFBhdGNoIGJ5IE5hdGFsaWEgQi4gQmlkYXJ0LgorCistIElzc3VlICMxMTI4OTogYHNtdHAuU01UUGAgY2xhc3MgaXMgbm93IGEgY29udGV4dCBtYW5hZ2VyIHNvIGl0IGNhbiBiZSB1c2VkCisgIGluIGEgYHdpdGhgIHN0YXRlbWVudC4gIENvbnRyaWJ1dGVkIGJ5IEdpYW1wYW9sbyBSb2RvbGEuCisKKy0gSXNzdWUgIzExNTU0OiBGaXhlZCBzdXBwb3J0IGZvciBKYXBhbmVzZSBjb2RlY3M7IHByZXZpb3VzbHkgdGhlIGJvZHkgb3V0cHV0CisgIGVuY29kaW5nIHdhcyBub3QgZG9uZSBpZiBldWMtanAgb3Igc2hpZnQtamlzIHdhcyBzcGVjaWZpZWQgYXMgdGhlIGNoYXJzZXQuCisKKy0gSXNzdWUgIzExNTA5OiBTaWduaWZpY2FudGx5IGluY3JlYXNlIHRlc3QgY292ZXJhZ2Ugb2YgZmlsZWlucHV0LgorICBQYXRjaCBieSBEZW52ZXIgQ29uZXliZWFyZSBhdCBQeUNvbiAyMDExIFNwcmludHMuCisKKy0gSXNzdWUgIzExNDA3OiBgVGVzdENhc2UucnVuYCByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0IHVzZWQgb3IgY3JlYXRlZC4KKyAgQ29udHJpYnV0ZWQgYnkgSmFuYXRoYW4gSGFydGxleS4KKworLSBJc3N1ZSAjMTE1MDA6IEZpeGVkIGEgYnVnIGluIHRoZSBPUyBYIHByb3h5IGJ5cGFzcyBjb2RlIGZvciBmdWxseSBxdWFsaWZpZWQKKyAgSVAgYWRkcmVzc2VzIGluIHRoZSBwcm94eSBleGNlcHRpb24gbGlzdC4KKworLSBJc3N1ZSAjMTE0OTE6IGRibS5lcnJvciBpcyBubyBsb25nZXIgcmFpc2VkIHdoZW4gZGJtLm9wZW4gaXMgY2FsbGVkIHdpdGgKKyAgdGhlICJuIiBhcyB0aGUgZmxhZyBhcmd1bWVudCBhbmQgdGhlIGZpbGUgZXhpc3RzLiBUaGUgYmVoYXZpb3IgbWF0Y2hlcworICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgZ2VuZXJhbCBsb2dpYy4KKworLSBJc3N1ZSAjMTE2MjQ3NzogUG9zdGVsIFByaW5jaXBsZSBhZGp1c3RtZW50IHRvIGVtYWlsIGRhdGUgcGFyc2luZzogaGFuZGxlIHRoZQorICBmYWN0IHRoYXQgc29tZSBub24tY29tcGxpYW50IE1VQXMgdXNlICcuJyBpbnN0ZWFkIG9mICc6JyBpbiB0aW1lIHNwZWNzLgorCistIElzc3VlICMxMTEzMTogRml4IHNpZ24gb2YgemVybyBpbiBkZWNpbWFsLkRlY2ltYWwgcGx1cyBhbmQgbWludXMKKyAgb3BlcmF0aW9ucyB3aGVuIHRoZSByb3VuZGluZyBtb2RlIGlzIFJPVU5EX0ZMT09SLgorCistIElzc3VlICM5OTM1OiBTcGVlZCB1cCBwaWNrbGluZyBvZiBpbnN0YW5jZXMgb2YgdXNlci1kZWZpbmVkIGNsYXNzZXMuCisKKy0gSXNzdWUgIzU2MjI6IEZpeCBjdXJzZXMud3JhcHBlciB0byByYWlzZSBjb3JyZWN0IGV4Y2VwdGlvbiBpZiBjdXJzZXMKKyAgaW5pdGlhbGl6YXRpb24gZmFpbHMuCisKKy0gSXNzdWUgIzExNDA4OiBJbiB0aHJlYWRpbmcuTG9jay5hY3F1aXJlKCksIG9ubHkgY2FsbCBnZXR0aW1lb2ZkYXkoKSB3aGVuCisgIHJlYWxseSBuZWNlc3NhcnkuICBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCisKKy0gSXNzdWUgIzExMzkxOiBXcml0aW5nIHRvIGEgbW1hcCBvYmplY3QgY3JlYXRlZCB3aXRoCisgIGBgbW1hcC5QUk9UX1JFQUR8bW1hcC5QUk9UX0VYRUNgYCB3b3VsZCBzZWdmYXVsdCBpbnN0ZWFkIG9mIHJhaXNpbmcgYQorICBUeXBlRXJyb3IuICBQYXRjaCBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCisKKy0gSXNzdWUgIzk3OTU6IGFkZCBjb250ZXh0IG1hbmFnZXIgcHJvdG9jb2wgc3VwcG9ydCBmb3Igbm50cGxpYi5OTlRQIGNsYXNzLgorCistIElzc3VlICMxMTMwNjogbWFpbGJveCBpbiBjZXJ0YWluIGNhc2VzIGFkYXB0cyB0byBhbiBpbmFiaWxpdHkgdG8gb3BlbgorICBjZXJ0YWluIGZpbGVzIGluIHJlYWQtd3JpdGUgbW9kZS4gIFByZXZpb3VzbHkgaXQgZGV0ZWN0ZWQgdGhpcyBieQorICBjaGVja2luZyBmb3IgRUFDQ0VTLCBub3cgaXQgYWxzbyBjaGVja3MgZm9yIEVST0ZTLgorCistIElzc3VlICMxMTI2NTogYXN5bmNvcmUgbm93IGNvcnJlY3RseSBoYW5kbGVzIEVQSVBFLCBFQkFERiBhbmQgRUFHQUlOIGVycm9ycworICBvbiBhY2NlcHQoKSwgc2VuZCgpIGFuZCByZWN2KCkuCisKKy0gSXNzdWUgIzExMzc3OiBEZXByZWNhdGUgcGxhdGZvcm0ucG9wZW4oKSBhbmQgcmVpbXBsZW1lbnQgaXQgd2l0aCBvcy5wb3BlbigpLgorCistIElzc3VlICM4NTEzOiBPbiBVTklYLCBzdWJwcm9jZXNzIHN1cHBvcnRzIGJ5dGVzIGNvbW1hbmQgc3RyaW5nLgorCistIElzc3VlICMxMDg2NjogQWRkIHNvY2tldC5zZXRob3N0bmFtZSgpLiAgSW5pdGlhbCBwYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KKworLSBJc3N1ZSAjMTExNDA6IExvY2sucmVsZWFzZSgpIG5vdyByYWlzZXMgYSBSdW50aW1lRXJyb3Igd2hlbiBhdHRlbXB0aW5nCisgIHRvIHJlbGVhc2UgYW4gdW5hY3F1aXJlZCBsb2NrLCBhcyBjbGFpbWVkIGluIHRoZSB0aHJlYWRpbmcgZG9jdW1lbnRhdGlvbi4KKyAgVGhlIF90aHJlYWQuZXJyb3IgZXhjZXB0aW9uIGlzIG5vdyBhbiBhbGlhcyBvZiBSdW50aW1lRXJyb3IuICBQYXRjaCBieQorICBGaWxpcCBHcnVzemN6ecWEc2tpLiAgUGF0Y2ggZm9yIF9kdW1teV90aHJlYWQgYnkgQXltZXJpYyBBdWd1c3Rpbi4KKworLSBJc3N1ZSAjODU5NDogZnRwbGliIG5vdyBwcm92aWRlcyBhIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciB0byBzcGVjaWZ5IHdoaWNoCisgIChhZGRyZXNzLCBwb3J0KSB0byBiaW5kIHRvIGJlZm9yZSBjb25uZWN0aW5nLgorCistIElzc3VlICMxMTMyNjogQWRkIHRoZSBtaXNzaW5nIGNvbm5lY3RfZXgoKSBpbXBsZW1lbnRhdGlvbiBmb3IgU1NMIHNvY2tldHMsCisgIGFuZCBtYWtlIGl0IHdvcmsgZm9yIG5vbi1ibG9ja2luZyBjb25uZWN0cy4KKworLSBJc3N1ZSAjMTEyOTc6IEFkZCBjb2xsZWN0aW9ucy5DaGFpbk1hcCgpLgorCistIElzc3VlICMxMDc1NTogQWRkIHRoZSBwb3NpeC5mbGlzdGRpcigpIGZ1bmN0aW9uLiAgUGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCisKKy0gSXNzdWUgIzQ3NjE6IEFkZCB0aGUgYGAqYXQoKWBgIGZhbWlseSBvZiBmdW5jdGlvbnMgKG9wZW5hdCgpLCBldGMuKSB0byB0aGUKKyAgcG9zaXggbW9kdWxlLiAgUGF0Y2ggYnkgUm9zcyBMYWdlcndhbGwuCisKKy0gSXNzdWUgIzczMjI6IFRyeWluZyB0byByZWFkIGZyb20gYSBzb2NrZXQncyBmaWxlLWxpa2Ugb2JqZWN0IGFmdGVyIGEgdGltZW91dAorICBvY2N1cnJlZCBub3cgcmFpc2VzIGFuIGVycm9yIGluc3RlYWQgb2Ygc2lsZW50bHkgbG9zaW5nIGRhdGEuCisKKy0gSXNzdWUgIzExMjkxOiBwb3BsaWIuUE9QIG5vIGxvbmdlciBzdXBwcmVzc2VzIGVycm9ycyBvbiBxdWl0KCkuCisKKy0gSXNzdWUgIzExMTc3OiBhc3luY29yZSdzIGNyZWF0ZV9zb2NrZXQoKSBhcmd1bWVudHMgY2FuIG5vdyBiZSBvbWl0dGVkLgorCistIElzc3VlICM2MDY0OiBBZGQgYSBgYGRhZW1vbmBgIGtleXdvcmQgYXJndW1lbnQgdG8gdGhlIHRocmVhZGluZy5UaHJlYWQKKyAgYW5kIG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzIGNvbnN0cnVjdG9ycyBpbiBvcmRlciB0byBvdmVycmlkZSB0aGUKKyAgZGVmYXVsdCBiZWhhdmlvdXIgb2YgaW5oZXJpdGluZyB0aGUgZGFlbW9uaWMgcHJvcGVydHkgZnJvbSB0aGUgY3VycmVudAorICB0aHJlYWQvcHJvY2Vzcy4KKworLSBJc3N1ZSAjMTA5NTY6IEJ1ZmZlcmVkIEkvTyBjbGFzc2VzIHJldHJ5IHJlYWRpbmcgb3Igd3JpdGluZyBhZnRlciBhIHNpZ25hbAorICBoYXMgYXJyaXZlZCBhbmQgdGhlIGhhbmRsZXIgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5LgorCistIElzc3VlICMxMDc4NDogTmV3IG9zLmdldHByaW9yaXR5KCkgYW5kIG9zLnNldHByaW9yaXR5KCkgZnVuY3Rpb25zLgorCistIElzc3VlICMxMTExNDogRml4IGNhdGFzdHJvcGhpYyBwZXJmb3JtYW5jZSBvZiB0ZWxsKCkgb24gdGV4dCBmaWxlcyAodXAKKyAgdG8gMTAwMHggZmFzdGVyIGluIHNvbWUgY2FzZXMpLiAgSXQgaXMgc3RpbGwgb25lIHRvIHR3byBvcmRlciBvZiBtYWduaXR1ZGVzCisgIHNsb3dlciB0aGFuIGJpbmFyeSB0ZWxsKCkuCisKKy0gSXNzdWUgIzEwODgyOiBBZGQgb3Muc2VuZGZpbGUgZnVuY3Rpb24uCisKKy0gSXNzdWUgIzEwODY4OiBBbGxvdyB1c2FnZSBvZiB0aGUgcmVnaXN0ZXIgbWV0aG9kIG9mIGFuIEFCQyBhcyBhIGNsYXNzCisgIGRlY29yYXRvci4KKworLSBJc3N1ZSAjMTEyMjQ6IEZpeGVkIGEgcmVncmVzc2lvbiBpbiB0YXJmaWxlIHRoYXQgYWZmZWN0ZWQgdGhlIGZpbGUtbGlrZQorICBvYmplY3RzIHJldHVybmVkIGJ5IFRhckZpbGUuZXh0cmFjdGZpbGUoKSByZWdhcmRpbmcgcGVyZm9ybWFuY2UsIG1lbW9yeQorICBjb25zdW1wdGlvbiBhbmQgZmFpbHVyZXMgd2l0aCB0aGUgc3RyZWFtIGludGVyZmFjZS4KKworLSBJc3N1ZSAjMTA5MjQ6IEFkZGluZyBzYWx0IGFuZCBNb2R1bGFyIENyeXB0IEZvcm1hdCB0byBjcnlwdCBsaWJyYXJ5LgorICBNb3ZlZCBvbGQgQyB3cmFwcGVyIHRvIF9jcnlwdCwgYW5kIGFkZGVkIGEgUHl0aG9uIHdyYXBwZXIgd2l0aAorICBlbmhhbmNlZCBzYWx0IGdlbmVyYXRpb24gYW5kIHNpbXBsZXIgQVBJIGZvciBwYXNzd29yZCBnZW5lcmF0aW9uLgorCistIElzc3VlICMxMTA3NDogTWFrZSAndG9rZW5pemUnIHNvIGl0IGNhbiBiZSByZWxvYWRlZC4KKworLSBJc3N1ZSAjMTEwODU6IE1vdmVkIGNvbGxlY3Rpb25zIGFic3RyYWN0IGJhc2UgY2xhc3NlcyBpbnRvIGEgc2VwYXJhdGUKKyAgbW9kdWxlIGNhbGxlZCBjb2xsZWN0aW9ucy5hYmMsIGZvbGxvd2luZyB0aGUgcGF0dGVybiB1c2VkIGJ5IGltcG9ydGxpYi5hYmMuCisgIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdGhlIG5hbWVzIGFyZSBpbXBvcnRlZCBpbnRvIHRoZSBjb2xsZWN0aW9ucworICBtb2R1bGUuCisKKy0gSXNzdWUgIzQ2ODE6IEFsbG93IG1tYXAoKSB0byB3b3JrIG9uIGZpbGUgc2l6ZXMgYW5kIG9mZnNldHMgbGFyZ2VyIHRoYW4KKyAgNEdCLCBldmVuIG9uIDMyLWJpdCBidWlsZHMuICBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLCBhZGFwdGVkIGZvcgorICAzMi1iaXQgV2luZG93cy4KKworLSBJc3N1ZSAjMTExNjk6IGNvbXBpbGVhbGwgbW9kdWxlIHVzZXMgcmVwcigpIHRvIGZvcm1hdCBmaWxlbmFtZXMgYW5kIHBhdGhzIHRvCisgIGVzY2FwZSBzdXJyb2dhdGUgY2hhcmFjdGVycyBhbmQgc2hvdyBzcGFjZXMuCisKKy0gSXNzdWUgIzExMDg5OiBGaXggcGVyZm9ybWFuY2UgaXNzdWUgbGltaXRpbmcgdGhlIHVzZSBvZiBDb25maWdQYXJzZXIoKQorICB3aXRoIGxhcmdlIGNvbmZpZyBmaWxlcy4KKworLSBJc3N1ZSAjMTAyNzY6IEZpeCB0aGUgcmVzdWx0cyBvZiB6bGliLmNyYzMyKCkgYW5kIHpsaWIuYWRsZXIzMigpIG9uIGJ1ZmZlcnMKKyAgbGFyZ2VyIHRoYW4gNEdCLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgorCistIElzc3VlICMxMTM4ODogQWRkZWQgYSBjbGVhcigpIG1ldGhvZCB0byBNdXRhYmxlU2VxdWVuY2UKKworLSBJc3N1ZSAjMTExNzQ6IEFkZCBhcmdwYXJzZS5NZXRhdmFyVHlwZUhlbHBGb3JtYXR0ZXIsIHdoaWNoIHVzZXMgdHlwZSBuYW1lcworICBmb3IgdGhlIG5hbWVzIG9mIG9wdGlvbmFsIGFuZCBwb3NpdGlvbmFsIGFyZ3VtZW50cyBpbiBoZWxwIG1lc3NhZ2VzLgorCistIElzc3VlICM5MzQ4OiBSYWlzZSBhbiBlYXJseSBlcnJvciBpZiBhcmdwYXJzZSBuYXJncyBhbmQgbWV0YXZhciBkb24ndCBtYXRjaC4KKworLSBJc3N1ZSAjODk4MjogSW1wcm92ZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGFyZ3BhcnNlIE5hbWVzcGFjZSBvYmplY3QuCisKKy0gSXNzdWUgIzkzNDM6IERvY3VtZW50IHRoYXQgYXJncGFyc2UgcGFyZW50IHBhcnNlcnMgbXVzdCBiZSBjb25maWd1cmVkIGJlZm9yZQorICB0aGVpciBjaGlsZHJlbi4KKworLSBJc3N1ZSAjOTAyNjogRml4IG9yZGVyIG9mIGFyZ3BhcnNlIHN1Yi1jb21tYW5kcyBpbiBoZWxwIG1lc3NhZ2VzLgorCistIElzc3VlICM5MzQ3OiBGaXggZm9ybWF0dGluZyBmb3IgdHVwbGVzIGluIGFyZ3BhcnNlIHR5cGU9IGVycm9yIG1lc3NhZ2VzLgorCistIElzc3VlICMxMjE5MTogQWRkZWQgc2h1dGlsLmNob3duKCkgdG8gY2hhbmdlIHVzZXIgYW5kL29yIGdyb3VwIG93bmVyIG9mIGEKKyAgZ2l2ZW4gcGF0aCBhbHNvIHNwZWNpZnlpbmcgdGhlaXIgbmFtZXMuCisKKy0gSXNzdWUgIzEzOTg4OiBUaGUgX2VsZW1lbnR0cmVlIGFjY2VsZXJhdG9yIGlzIHVzZWQgd2hlbmV2ZXIgYXZhaWxhYmxlLgorICBOb3cgeG1sLmV0cmVlLmNFbGVtZW50VHJlZSBiZWNvbWVzIGEgZGVwcmVjYXRlZCBhbGlhcyB0byBFbGVtZW50VHJlZS4KKworQnVpbGQKKy0tLS0tCisKKy0gSXNzdWUgIzY4MDc6IFJ1biBtc2lzdXBwb3J0Lm1hayBlYXJsaWVyLgorCistIElzc3VlICMxMDU4MDogTWlub3IgZ3JhbW1hciBjaGFuZ2UgaW4gV2luZG93cyBpbnN0YWxsZXIuCisKKy0gSXNzdWUgIzEzMzI2OiBDbGVhbiBfX3B5Y2FjaGVfXyBkaXJlY3RvcmllcyBjb3JyZWN0bHkgb24gT3BlbkJTRC4KKworLSBQRVAgMzkzOiB0aGUgY29uZmlndXJlIG9wdGlvbiAtLXdpdGgtd2lkZS11bmljb2RlIGlzIHJlbW92ZWQuCisKKy0gSXNzdWUgIzEyODUyOiBTZXQgX1hPUEVOX1NPVVJDRSB0byA3MDAsIGluc3RlYWQgb2YgNjAwLCB0byBnZXQgUE9TSVggMjAwOAorICBmdW5jdGlvbnMgb24gT3BlbkJTRCAoZS5nLiBmZG9wZW5kaXIpLgorCistIElzc3VlICMxMTg2MzogUmVtb3ZlIHN1cHBvcnQgZm9yIGxlZ2FjeSBzeXN0ZW1zIGRlcHJlY2F0ZWQgaW4gUHl0aG9uIDMuMgorICAoZm9sbG93aW5nIFBFUCAxMSkuICBUaGVzZSBzeXN0ZW1zIGFyZSBzeXN0ZW1zIHVzaW5nIE1hY2ggQyBUaHJlYWRzLAorICBTdW5PUyBsaWdodHdlaWdodCBwcm9jZXNzZXMsIEdOVSBwdGggdGhyZWFkcyBhbmQgSVJJWCB0aHJlYWRzLgorCistIElzc3VlICM4NzQ2OiBDb3JyZWN0IGZhdWx0eSBjb25maWd1cmUgY2hlY2tzIHNvIHRoYXQgb3MuY2hmbGFncygpIGFuZAorICBvcy5sY2hmbGFncygpIGFyZSBvbmNlIGFnYWluIGJ1aWx0IG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IHRoZXNlCisgIGZ1bmN0aW9ucyAoQlNEIGFuZCBPUyBYKS4gIEFsc28gYWRkIG5ldyBzdGF0IGZpbGUgZmxhZ3MgZm9yIE9TIFgKKyAgKFVGX0hJRERFTiBhbmQgVUZfQ09NUFJFU1NFRCkuCisKKy0gSXNzdWUgIzEwNjQ1OiBJbnN0YWxsaW5nIFB5dGhvbiBubyBsb25nZXIgY3JlYXRlcyBhCisgIFB5dGhvbi1YLlkuWi1weVguWS5lZ2ctaW5mbyBmaWxlIGluIHRoZSBsaWItZHlubG9hZCBkaXJlY3RvcnkuCisKKy0gRG8gbm90IGFjY2lkZW50YWxseSBpbmNsdWRlIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBzcWxpdGUuaCB0d2ljZSB3aGVuCisgIGJ1aWxkaW5nIHNxbGl0ZTMuCisKKy0gSXNzdWUgIzExMjE3OiBGb3IgNjQtYml0LzMyLWJpdCBNYWMgT1MgWCB1bml2ZXJzYWwgZnJhbWV3b3JrIGJ1aWxkcywKKyAgZW5zdXJlICJtYWtlIGluc3RhbGwiIGNyZWF0ZXMgc3ltbGlua3MgaW4gLS1wcmVmaXggYmluIGZvciB0aGUgIi0zMiIKKyAgZmlsZXMgaW4gdGhlIGZyYW1ld29yayBiaW4gZGlyZWN0b3J5IGxpa2UgdGhlIGluc3RhbGxlciBkb2VzLgorCistIElzc3VlICMxMTM0NzogVXNlIC0tbm8tYXMtbmVlZGVkIHdoZW4gbGlua2luZyBsaWJweXRob24zLnNvLgorCistIElzc3VlICMxMTQxMTogRml4ICdtYWtlIERFU1RESVI9JyB3aXRoIGEgcmVsYXRpdmUgZGVzdGluYXRpb24uCisKKy0gSXNzdWUgIzExMjY4OiBQcmV2ZW50IE1hYyBPUyBYIEluc3RhbGxlciBmYWlsdXJlIGlmIERvY3VtZW50YXRpb24KKyAgcGFja2FnZSBoYWQgcHJldmlvdXNseSBiZWVuIGluc3RhbGxlZC4KKworLSBJc3N1ZSAjMTE0OTU6IE9TRiBzdXBwb3J0IGlzIGVsaW1pbmF0ZWQuIEl0IHdhcyBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIuCisKKworSURMRQorLS0tLQorCistIElzc3VlICMxMTcxODogSURMRSdzIG9wZW4gbW9kdWxlIGRpYWxvZyBjb3VsZG4ndCBmaW5kIHRoZSBfX2luaXRfXy5weQorICBmaWxlIGluIGEgcGFja2FnZS4KKworVG9vbHMvRGVtb3MKKy0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzE0MDUzOiBwYXRjaGNoZWNrLnB5ICgibWFrZSBwYXRjaGNoZWNrIikgbm93IHdvcmtzIHdpdGggTVEgcGF0Y2hlcy4KKyAgUGF0Y2ggYnkgRnJhbmNpc2NvIE1hcnTDrW4gQnJ1Z3XDqS4KKworLSBJc3N1ZSAjMTM5MzA6IDJ0bzMgaXMgbm93IGFibGUgdG8gd3JpdGUgaXRzIGNvbnZlcnRlZCBvdXRwdXQgZmlsZXMgdG8gYW5vdGhlcgorICBkaXJlY3RvcnkgdHJlZSBhcyB3ZWxsIGFzIGNvcHlpbmcgdW5jaGFuZ2VkIGZpbGVzIGFuZCBhbHRlcmluZyB0aGUgZmlsZQorICBzdWZmaXguICBTZWUgaXRzIG5ldyAtbywgLVcgYW5kIC0tYWRkLXN1ZmZpeCBvcHRpb25zLiAgVGhpcyBtYWtlcyBpdCBtb3JlCisgIHVzZWZ1bCBpbiBtYW55IGF1dG9tYXRlZCBjb2RlIHRyYW5zbGF0aW9uIHdvcmtmbG93cy4KKworLSBJc3N1ZSAjMTM2Mjg6IHB5dGhvbi1nZGIucHkgaXMgbm93IGFibGUgdG8gcmV0cmlldmUgbW9yZSBmcmFtZXMgaW4gdGhlIFB5dGhvbgorICB0cmFjZWJhY2sgaWYgUHl0aG9uIGlzIG9wdGltaXplZC4KKworLSBJc3N1ZSAjMTE5OTY6IGxpYnB5dGhvbiAoZ2RiKSwgcmVwbGFjZSAicHktYnQiIGNvbW1hbmQgYnkgInB5LWJ0LWZ1bGwiIGFuZAorICBhZGQgYSBzbWFydGVyICJweS1idCIgY29tbWFuZCBwcmludGluZyBhIGNsYXNzaWMgUHl0aG9uIHRyYWNlYmFjay4KKworLSBJc3N1ZSAjMTExNzk6IE1ha2UgY2NiZW5jaCB3b3JrIHVuZGVyIFB5dGhvbiAzLjEgYW5kIDIuNyBhZ2Fpbi4KKworLSBJc3N1ZSAjMTA2Mzk6IHJlaW5kZW50LnB5IG5vIGxvbmdlciBjb252ZXJ0cyBuZXdsaW5lcyBhbmQgd2lsbCByYWlzZQorICBhbiBlcnJvciBpZiBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgYSBmaWxlIHdpdGggbWl4ZWQgbmV3bGluZXMuCisgICItLW5ld2xpbmUiIG9wdGlvbiBhZGRlZCB0byBzcGVjaWZ5IG5ldyBsaW5lIGNoYXJhY3Rlci4KKworRXh0ZW5zaW9uIE1vZHVsZXMKKy0tLS0tLS0tLS0tLS0tLS0tCisKKy0gSXNzdWUgIzEzODQwOiBUaGUgZXJyb3IgbWVzc2FnZSBwcm9kdWNlZCBieSBjdHlwZXMuY3JlYXRlX3N0cmluZ19idWZmZXIKKyAgd2hlbiBnaXZlbiBhIFVuaWNvZGUgc3RyaW5nIGhhcyBiZWVuIGZpeGVkLgorCistIElzc3VlICM5OTc1OiBzb2NrZXQ6IEZpeCBpbmNvcnJlY3QgdXNlIG9mIGZsb3dpbmZvIGFuZCBzY29wZV9pZC4gUGF0Y2ggYnkKKyAgVmlsbW9zIE5lYmVoYWouCisKKy0gSXNzdWUgIzc3Nzc6IHNvY2tldDogQWRkIFJlbGlhYmxlIERhdGFncmFtIFNvY2tldHMgKFBGX1JEUykgc3VwcG9ydC4KKworLSBJc3N1ZSAjMTMxNTk6IEZpbGVJTyBhbmQgQloyQ29tcHJlc3Nvci9CWjJEZWNvbXByZXNzb3Igbm93IHVzZSBhIGxpbmVhci10aW1lCisgIGJ1ZmZlciBncm93dGggc3RyYXRlZ3kgaW5zdGVhZCBvZiBhIHF1YWRyYXRpYy10aW1lIG9uZS4KKworLSBJc3N1ZSAjMTAxNDE6IHNvY2tldDogQWRkIFNvY2tldENBTiAoUEZfQ0FOKSBzdXBwb3J0LiBJbml0aWFsIHBhdGNoIGJ5CisgIE1hdHRoaWFzIEZ1Y2hzLCB1cGRhdGVkIGJ5IFRpYWdvIEdvbsOnYWx2ZXMuCisKKy0gSXNzdWUgIzEzMDcwOiBGaXggYSBjcmFzaCB3aGVuIGEgVGV4dElPV3JhcHBlciBjYXVnaHQgaW4gYSByZWZlcmVuY2UgY3ljbGUKKyAgd291bGQgYmUgZmluYWxpemVkIGFmdGVyIHRoZSByZWZlcmVuY2UgdG8gaXRzIHVuZGVybHlpbmcgQnVmZmVyZWRSV1BhaXIncworICB3cml0ZXIgZ290IGNsZWFyZWQgYnkgdGhlIEdDLgorCistIElzc3VlICMxMjg4MTogY3R5cGVzOiBGaXggc2VnZmF1bHQgd2l0aCBsYXJnZSBzdHJ1Y3R1cmUgZmllbGQgbmFtZXMuCisKKy0gSXNzdWUgIzEzMDU4OiBvc3NhdWRpb2RldjogZml4IGEgZmlsZSBkZXNjcmlwdG9yIGxlYWsgb24gZXJyb3IuIFBhdGNoIGJ5CisgIFRob21hcyBKYXJvc2NoLgorCistIElzc3VlICMxMzAxMzogY3R5cGVzOiBGaXggYSByZWZlcmVuY2UgbGVhayBpbiBQeUNBcnJheVR5cGVfZnJvbV9jdHlwZS4KKyAgVGhhbmtzIHRvIFN1bWFuIFNhaGEgZm9yIGZpbmRpbmcgdGhlIGJ1ZyBhbmQgcHJvdmlkaW5nIGEgcGF0Y2guCisKKy0gSXNzdWUgIzEzMDIyOiBGaXg6IF9tdWx0aXByb2Nlc3NpbmcucmVjdmZkKCkgZG9lc24ndCBjaGVjayB0aGF0CisgIGZpbGUgZGVzY3JpcHRvciB3YXMgYWN0dWFsbHkgcmVjZWl2ZWQuCisKKy0gSXNzdWUgIzExNzI3MTE6IEFkZCAnbG9uZyBsb25nJyBzdXBwb3J0IHRvIHRoZSBhcnJheSBtb2R1bGUuCisgIEluaXRpYWwgcGF0Y2ggYnkgT3JlbiBUaXJvc2ggYW5kIEhpcm9rYXp1IFlhbWFtb3RvLgorCistIElzc3VlICMxMjQ4MzogY3R5cGVzOiBGaXggYSBjcmFzaCB3aGVuIHRoZSBkZXN0cnVjdGlvbiBvZiBhIGNhbGxiYWNrCisgIG9iamVjdCB0cmlnZ2VycyB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuCisKKy0gSXNzdWUgIzEyOTUwOiBGaXggcGFzc2luZyBmaWxlIGRlc2NyaXB0b3JzIGluIG11bHRpcHJvY2Vzc2luZywgdW5kZXIKKyAgT3BlbkluZGlhbmEvSWxsdW1vcy4KKworLSBJc3N1ZSAjMTI3NjQ6IEZpeCBhIGNyYXNoIGluIGN0eXBlcyB3aGVuIHRoZSBuYW1lIG9mIGEgU3RydWN0dXJlIGZpZWxkIGlzIG5vdAorICBhIHN0cmluZy4KKworLSBJc3N1ZSAjMTEyNDE6IHN1YmNsYXNzZXMgb2YgY3R5cGVzLkFycmF5IGNhbiBub3cgYmUgc3ViY2xhc3NlZC4KKworLSBJc3N1ZSAjOTY1MTogRml4IGEgY3Jhc2ggd2hlbiBjdHlwZXMuY3JlYXRlX3N0cmluZ19idWZmZXIoMCkgd2FzIHBhc3NlZCB0bworICBzb21lIGZ1bmN0aW9ucyBsaWtlIGZpbGUud3JpdGUoKS4KKworLSBJc3N1ZSAjMTAzMDk6IERlZmluZSBfR05VX1NPVVJDRSBzbyB0aGF0IG1yZW1hcCgpIGdldHMgdGhlIHByb3BlcgorICBzaWduYXR1cmUuICBXaXRob3V0IHRoaXMsIGFyY2hpdGVjdHVyZXMgd2hlcmUgc2l6ZW9mIHZvaWQqICE9IHNpemVvZiBpbnQgYXJlCisgIGJyb2tlbi4gIFBhdGNoIGdpdmVuIGJ5IEhhbGx2YXJkIEIgRnVydXNldGguCisKKy0gSXNzdWUgIzEyMDUxOiBGaXggc2VnZmF1bHQgaW4ganNvbi5kdW1wcygpIHdoaWxlIGVuY29kaW5nIGhpZ2hseS1uZXN0ZWQKKyAgb2JqZWN0cyB1c2luZyB0aGUgQyBhY2NlbGVyYXRpb25zLgorCistIElzc3VlICMxMjAxNzogRml4IHNlZ2ZhdWx0IGluIGpzb24ubG9hZHMoKSB3aGlsZSBkZWNvZGluZyBoaWdobHktbmVzdGVkCisgIG9iamVjdHMgdXNpbmcgdGhlIEMgYWNjZWxlcmF0aW9ucy4KKworLSBJc3N1ZSAjMTgzODogUHJldmVudCBzZWdmYXVsdCBpbiBjdHlwZXMsIHdoZW4gX2FzX3BhcmFtZXRlcl8gb24gYSBjbGFzcyBpcyBzZXQKKyAgdG8gYW4gaW5zdGFuY2Ugb2YgdGhlIGNsYXNzLgorCitUZXN0cworLS0tLS0KKworLSBJc3N1ZSAjMTE2ODk6IEZpeCBhIHZhcmlhYmxlIHNjb3BpbmcgZXJyb3IgaW4gYW4gc3FsaXRlMyB0ZXN0CisKKy0gSXNzdWUgIzEzNzg2OiBSZW1vdmUgdW5pbXBsZW1lbnRlZCAndHJhY2UnIGxvbmcgb3B0aW9uIGZyb20gcmVncnRlc3QucHkuCisKKy0gSXNzdWUgIzEzNzI1OiBGaXggcmVncnRlc3QgdG8gcmVjb2duaXplIHRoZSBkb2N1bWVudGVkIC1kIGZsYWcuCisgIFBhdGNoIGJ5IEVybm8gVHVraWEuCisKKy0gSXNzdWUgIzEzMzA0OiBTa2lwIHRlc3QgY2FzZSBpZiB1c2VyIHNpdGUtcGFja2FnZXMgZGlzYWJsZWQgKC1zIG9yCisgIFBZVEhPTk5PVVNFUlNJVEUpLiAgKFBhdGNoIGJ5IENhcmwgTWV5ZXIpCisKKy0gSXNzdWUgIzU2NjE6IEFkZCBhIHRlc3QgZm9yIEVDT05OUkVTRVQvRVBJUEUgaGFuZGxpbmcgdG8gdGVzdF9hc3luY29yZS4gUGF0Y2gKKyAgYnkgWGF2aWVyIGRlIEdheWUuCisKKy0gSXNzdWUgIzEzMjE4OiBGaXggdGVzdF9zc2wgZmFpbHVyZXMgb24gRGViaWFuL1VidW50dS4KKworLSBSZS1lbmFibGUgbGliMnRvMydzIHRlc3RfcGFyc2VyLnB5IHRlc3RzLCB0aG91Z2ggd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlCisgIChzZWUgaXNzdWUgMTMxMjUpLgorCistIElzc3VlICMxMjY1NjogQWRkIHRlc3RzIGZvciBJUHY2IGFuZCBVbml4IHNvY2tldHMgdG8gdGVzdF9hc3luY29yZS4KKworLSBJc3N1ZSAjNjQ4NDogQWRkIHVuaXQgdGVzdHMgZm9yIG1haWxjYXAgbW9kdWxlIChwYXRjaCBieSBHcmVnb3J5IE5vZmkpCisKKy0gSXNzdWUgIzExNjUxOiBJbXByb3ZlIHRoZSBNYWtlZmlsZSB0ZXN0IHRhcmdldHMgdG8gcnVuIG1vcmUgb2YgdGhlIHRlc3Qgc3VpdGUKKyAgbW9yZSBxdWlja2x5LiBUaGUgLS1tdWx0aXByb2Nlc3Mgb3B0aW9uIGlzIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQsIHJlZHVjaW5nCisgIHRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gcnVuIHRoZSB0ZXN0cy4gIm1ha2UgdGVzdCIgYW5kICJtYWtlIHF1aWNrdGVzdCIKKyAgbm93IGluY2x1ZGUgc29tZSByZXNvdXJjZS1pbnRlbnNpdmUgdGVzdHMsIGJ1dCBubyBsb25nZXIgcnVuIHRoZSB0ZXN0IHN1aXRlCisgIHR3aWNlIHRvIGNoZWNrIGZvciBidWdzIGluIC5weWMgZ2VuZXJhdGlvbi4gVG9vbHMvc2NyaXB0cy9ydW5fdGVzdC5weSBwcm92aWRlcworICBhbiBlYXN5IHBsYXRmb3JtLWluZGVwZW5kZW50IHdheSB0byBydW4gdGVzdCBzdWl0ZSB3aXRoIHNlbnNpYmxlIGRlZmF1bHRzLgorCistIElzc3VlICMxMjMzMTogVGhlIHRlc3Qgc3VpdGUgZm9yIHRoZSBwYWNrYWdpbmcgbW9kdWxlIGNhbiBub3cgcnVuIGZyb20gYW4KKyAgaW5zdGFsbGVkIFB5dGhvbi4KKworLSBJc3N1ZSAjMTIzMzE6IFRoZSB0ZXN0IHN1aXRlIGZvciBsaWIydG8zIGNhbiBub3cgcnVuIGZyb20gYW4gaW5zdGFsbGVkCisgIFB5dGhvbi4KKworLSBJc3N1ZSAjMTI2MjY6IEluIHJlZ3J0ZXN0LCBhbGxvdyB0byBmaWx0ZXIgdGVzdHMgdXNpbmcgYSBnbG9iIGZpbHRlcgorICB3aXRoIHRoZSBgYC1tYGAgKG9yIGBgLS1tYXRjaGBgKSBvcHRpb24uICBUaGlzIHdvcmtzIHdpdGggYWxsIHRlc3QgY2FzZXMKKyAgdXNpbmcgdGhlIHVuaXR0ZXN0IG1vZHVsZS4gIFRoaXMgaXMgdXNlZnVsIHdpdGggbG9uZyB0ZXN0IHN1aXRlcworICBzdWNoIGFzIHRlc3RfaW8gb3IgdGVzdF9zdWJwcm9jZXNzLgorCistIElzc3VlICMxMjYyNDogSXQgaXMgbm93IHBvc3NpYmxlIHRvIGZhaWwgYWZ0ZXIgdGhlIGZpcnN0IGZhaWx1cmUgd2hlbgorICBydW5uaW5nIGluIHZlcmJvc2UgbW9kZSAoYGAtdmBgIG9yIGBgLVdgYCksIGJ5IHVzaW5nIHRoZSBgYC0tZmFpbGZhc3RgYAorICAob3IgYGAtR2BgKSBvcHRpb24gdG8gcmVncnRlc3QuICBUaGlzIGlzIHVzZWZ1bCB3aXRoIGxvbmcgdGVzdCBzdWl0ZXMKKyAgc3VjaCBhcyB0ZXN0X2lvIG9yIHRlc3Rfc3VicHJvY2Vzcy4KKworLSBJc3N1ZSAjMTI1ODc6IENvcnJlY3QgZmF1bHR5IHRlc3QgZmlsZSBhbmQgcmVmZXJlbmNlIGluIHRlc3RfdG9rZW5pemUuCisgIChQYXRjaCBieSBSb2JlcnQgWGlhbykKKworLSBJc3N1ZSAjMTI1NzM6IEFkZCByZXNvdXJjZSBjaGVja3MgZm9yIGRhbmdsaW5nIFRocmVhZCBhbmQgUHJvY2VzcyBvYmplY3RzLgorCistIElzc3VlICMxMjU0OTogQ29ycmVjdCB0ZXN0X3BsYXRmb3JtIHRvIG5vdCBmYWlsIHdoZW4gT1MgWCByZXR1cm5zICd4ODZfNjQnCisgIGFzIHRoZSBwcm9jZXNzb3IgdHlwZSBvbiBzb21lIE1hYyBzeXN0ZW1zLgorCistIFNraXAgbmV0d29yayB0ZXN0cyB3aGVuIGdldGFkZHJpbmZvKCkgcmV0dXJucyBFQUlfQUdBSU4sIG1lYW5pbmcgYSB0ZW1wb3JhcnkKKyAgZmFpbHVyZSBpbiBuYW1lIHJlc29sdXRpb24uCisKKy0gSXNzdWUgIzExODEyOiBTb2x2ZSB0cmFuc2llbnQgc29ja2V0IGZhaWx1cmUgdG8gY29ubmVjdCB0byAnbG9jYWxob3N0JworICBpbiB0ZXN0X3RlbG5ldGxpYi5weS4KKworLSBTb2x2ZWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgaW4gdGVzdF90ZWxuZXRsaWIucHkuIFJlbGF0ZWQgdG8gaXNzdWUgIzExODEyLgorCistIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF9yb2JvdHBhcnNlciB3aGVuIG11ZWJsZXNtb3JhbGVkYS5jb20gaXMgZmxha3kgYW5kCisgIGFuIG92ZXJ6ZWFsb3VzIEROUyBzZXJ2aWNlIChlLmcuIE9wZW5ETlMpIHJlZGlyZWN0cyB0byBhIHBsYWNlaG9sZGVyCisgIFdlYiBzaXRlLgorCistIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF91cmxsaWJuZXQudGVzdF9iYWRfYWRkcmVzcyB3aGVuIHNvbWUgb3ZlcnplYWxvdXMKKyAgRE5TIHNlcnZpY2UgKGUuZy4gT3BlbkROUykgcmVzb2x2ZXMgYSBub24tZXhpc3RlbnQgZG9tYWluIG5hbWUuICBUaGUgdGVzdAorICBpcyBub3cgc2tpcHBlZCBpbnN0ZWFkLgorCistIElzc3VlICMxMjQ0MDogV2hlbiB0ZXN0aW5nIHdoZXRoZXIgc29tZSBiaXRzIGluIFNTTENvbnRleHQub3B0aW9ucyBjYW4gYmUKKyAgcmVzZXQsIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGhlYWRlcnMgUHl0aG9uIHdhcyBjb21waWxlZCBhZ2FpbnN0LAorICByYXRoZXIgdGhhbiB0aGUgcnVudGltZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGxpYnJhcnkuCisKKy0gSXNzdWUgIzExNTEyOiBBZGQgYSB0ZXN0IHN1aXRlIGZvciB0aGUgY2dpdGIgbW9kdWxlLiBQYXRjaCBieSBSb2JiaWUgQ2xlbW9ucy4KKworLSBJc3N1ZSAjMTI0OTc6IEluc3RhbGwgdGVzdC9kYXRhIHRvIHByZXZlbnQgZmFpbHVyZXMgb2YgdGhlIHZhcmlvdXMgY29kZWNtYXBzCisgIHRlc3RzLgorCistIElzc3VlICMxMjQ5NjogSW5zdGFsbCB0ZXN0L2NhcGF0aCBkaXJlY3RvcnkgdG8gcHJldmVudCB0ZXN0X2Nvbm5lY3RfY2FwYXRoCisgIHRlc3RjYXNlIGZhaWx1cmUgaW4gdGVzdF9zc2wuCisKKy0gSXNzdWUgIzEyNDY5OiBSdW4gd2FrZXVwIGFuZCBwZW5kaW5nIHNpZ25hbCB0ZXN0cyBpbiBhIHN1YnByb2Nlc3MgdG8gcnVuIHRoZQorICB0ZXN0IGluIGEgZnJlc2ggcHJvY2VzcyB3aXRoIG9ubHkgb25lIHRocmVhZCBhbmQgdG8gbm90IGNoYW5nZSBzaWduYWwKKyAgaGFuZGxpbmcgb2YgdGhlIHBhcmVudCBwcm9jZXNzLgorCistIElzc3VlICM4NzE2OiBBdm9pZCBjcmFzaGVzIGNhdXNlZCBieSBBcXVhIFRrIG9uIE9TWCB3aGVuIGF0dGVtcHRpbmcgdG8gcnVuCisgIHRlc3RfdGsgb3IgdGVzdF90dGtfZ3Vpb25seSB1bmRlciBhIHVzZXJuYW1lIHRoYXQgaXMgbm90IGN1cnJlbnRseSBsb2dnZWQKKyAgaW4gdG8gdGhlIGNvbnNvbGUgd2luZG93c2VydmVyIChhcyBtYXkgYmUgdGhlIGNhc2UgdW5kZXIgYnVpbGRib3Qgb3Igc3NoKS4KKworLSBJc3N1ZSAjMTI0MDc6IEV4cGxpY2l0bHkgc2tpcCB0ZXN0X2NhcGkuRW1iZWRkaW5nVGVzdCB1bmRlciBXaW5kb3dzLgorCistIElzc3VlICMxMjQwMDogcmVncnRlc3QgLVcgZG9lc24ndCByZXJ1biB0aGUgdGVzdHMgdHdpY2UgYW55bW9yZSwgYnV0IGNhcHR1cmVzCisgIHRoZSBvdXRwdXQgYW5kIGRpc3BsYXlzIGl0IG9uIGZhaWx1cmUgaW5zdGVhZC4gcmVncnRlc3QgLXYgZG9lc24ndCBwcmludCB0aGUKKyAgZXJyb3IgdHdpY2UgYW55bW9yZSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBlcnJvci4KKworLSBJc3N1ZSAjMTIxNDE6IEluc3RhbGwgY29waWVzIG9mIHRlbXBsYXRlIEMgbW9kdWxlIGZpbGUgc28gdGhhdAorICB0ZXN0X2J1aWxkX2V4dCBvZiB0ZXN0X2Rpc3R1dGlscyBhbmQgdGVzdF9jb21tYW5kX2J1aWxkX2V4dCBvZgorICB0ZXN0X3BhY2thZ2luZyBhcmUgbm8gbG9uZ2VyIHNpbGVudGx5IHNraXBwZWQgd2hlbgorICBydW4gb3V0c2lkZSBvZiBhIGJ1aWxkIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjODc0NjogQWRkIGFkZGl0aW9uYWwgdGVzdHMgZm9yIG9zLmNoZmxhZ3MoKSBhbmQgb3MubGNoZmxhZ3MoKS4KKyAgUGF0Y2ggYnkgR2FycmV0dCBDb29wZXIuCisKKy0gSXNzdWUgIzEwNzM2OiBGaXggdGVzdF90dGsgdGVzdF93aWRnZXRzIGZhaWx1cmVzIHdpdGggQ29jb2EgVGsgOC41LjkKKyAgMi44ICsgIG9uIE1hYyBPUyBYLiAgKFBhdGNoIGJ5IFJvbmFsZCBPdXNzb3JlbikKKworLSBJc3N1ZSAjMTIwNTc6IEFkZCB0ZXN0cyBmb3IgSVNPIDIwMjIgY29kZWNzIChpc28yMDIyX2pwLCBpc28yMDIyX2pwXzIsCisgIGlzbzIwMjJfa3IpLgorCistIElzc3VlICMxMjA5NjogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gdGVzdF90aHJlYWRpbmcudGVzdF93YWl0Zm9yKCkuIFBhdGNoCisgIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxMTYxNDogaW1wb3J0IF9faGVsbG9fXyBwcmludHMgIkhlbGxvIFdvcmxkISIuIFBhdGNoIHdyaXR0ZW4gYnkKKyAgQW5kcmVhcyBTdMO8aHJrLgorCistIElzc3VlICM1NzIzOiBJbXByb3ZlIGpzb24gdGVzdHMgdG8gYmUgZXhlY3V0ZWQgd2l0aCBhbmQgd2l0aG91dCBhY2NlbGVyYXRpb25zLgorCistIElzc3VlICMxMjA0MTogTWFrZSB0ZXN0X3dhaXQzIG1vcmUgcm9idXN0LgorCistIElzc3VlICMxMTg3MzogQ2hhbmdlIHJlZ2V4IGluIHRlc3RfY29tcGlsZWFsbCB0byBmaXggb2NjYXNpb25hbCBmYWlsdXJlcyB3aGVuCisgIHdoZW4gdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCB0ZW1wb3JhcnkgcGF0aCBoYXBwZW5lZCB0byBtYXRjaCB0aGUgcmVnZXguCisKKy0gSXNzdWUgIzExOTU4OiBGaXggRlRQIHRlc3RzIGZvciBJUHY2LCBiaW5kIHRvICI6OjEiIGluc3RlYWQgb2YgImxvY2FsaG9zdCIuCisgIFBhdGNoIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuY29pcyBOYXRhbGkuCisKKy0gSXNzdWUgIzg0MDcsICMxMTg1OTogRml4IHRlc3RzIG9mIHRlc3RfaW8gdXNpbmcgdGhyZWFkcyBhbmQgYW4gYWxhcm06IHVzZQorICBwdGhyZWFkX3NpZ21hc2soKSB0byBlbnN1cmUgdGhhdCB0aGUgU0lHQUxSTSBzaWduYWwgaXMgcmVjZWl2ZWQgYnkgdGhlIG1haW4KKyAgdGhyZWFkLgorCistIElzc3VlICMxMTgxMTogRmFjdG9yIG91dCBkZXRlY3Rpb24gb2YgSVB2NiBzdXBwb3J0IG9uIHRoZSBjdXJyZW50IGhvc3QKKyAgYW5kIG1ha2UgaXQgYXZhaWxhYmxlIGFzIGBgdGVzdC5zdXBwb3J0LklQVjZfRU5BQkxFRGBgLiAgUGF0Y2ggYnkKKyAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxMDkxNDogQWRkIGEgbWluaW1hbCBlbWJlZGRpbmcgdGVzdCB0byB0ZXN0X2NhcGkuCisKKy0gSXNzdWUgIzExMjIzOiBTa2lwIHRlc3RfbG9ja19hY3F1aXJlX2ludGVycnVwdGlvbigpIGFuZAorICB0ZXN0X3Jsb2NrX2FjcXVpcmVfaW50ZXJydXB0aW9uKCkgb2YgdGVzdF90aHJlYWRzaWduYWxzIGlmIGEgdGhyZWFkIGxvY2sgaXMKKyAgaW1wbGVtZW50ZWQgdXNpbmcgYSBQT1NJWCBtdXRleCBhbmQgYSBQT1NJWCBjb25kaXRpb24gdmFyaWFibGUuIEEgUE9TSVgKKyAgY29uZGl0aW9uIHZhcmlhYmxlIGNhbm5vdCBiZSBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbCAoZS5nLiBvbiBMaW51eCwgdGhlCisgIGZ1dGV4IHN5c3RlbSBjYWxsIGlzIHJlc3RhcnRlZCkuCisKKy0gSXNzdWUgIzExNzkwOiBGaXggc3BvcmFkaWMgZmFpbHVyZXMgaW4gdGVzdF9tdWx0aXByb2Nlc3NpbmcuV2l0aFByb2Nlc3Nlc1Rlc3RDb25kaXRpb24uCisKKy0gRml4IHBvc3NpYmxlICJmaWxlIGFscmVhZHkgZXhpc3RzIiBlcnJvciB3aGVuIHJ1bm5pbmcgdGhlIHRlc3RzIGluIHBhcmFsbGVsLgorCistIElzc3VlICMxMTcxOTogRml4IG1lc3NhZ2UgYWJvdXQgdW5leHBlY3RlZCB0ZXN0X21zaWxpYiBza2lwIG9uIG5vbi1XaW5kb3dzCisgIHBsYXRmb3Jtcy4gUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgorCistIElzc3VlICMxMTcyNzogQWRkIGEgLS10aW1lb3V0IG9wdGlvbiB0byByZWdydGVzdDogaWYgYSB0ZXN0IHRha2VzIG1vcmUgdGhhbgorICBUSU1FT1VUIHNlY29uZHMsIGR1bXBzIHRoZSB0cmFjZWJhY2sgb2YgYWxsIHRocmVhZHMgYW5kIGV4aXRzLgorCistIElzc3VlICMxMTY1MzogZml4IC1XIHdpdGggLWogaW4gcmVncnRlc3QuCisKKy0gVGhlIGVtYWlsIHRlc3Qgc3VpdGUgbm93IGxpdmVzIGluIHRoZSBMaWIvdGVzdC90ZXN0X2VtYWlsIHBhY2thZ2UuICBUaGUgdGVzdAorICBoYXJuZXNzIGNvZGUgaGFzIGFsc28gYmVlbiBtb2Rlcm5pemVkIHRvIGFsbG93IHVzZSBvZiBuZXcgdW5pdHRlc3QgZmVhdHVyZXMuCisKKy0gcmVncnRlc3Qgbm93IGRpc2NvdmVycyB0ZXN0IHBhY2thZ2VzIGFzIHdlbGwgYXMgdGVzdCBtb2R1bGVzLgorCistIElzc3VlICMxMTU3NzogaW1wcm92ZSB0ZXN0IGNvdmVyYWdlIG9mIGJpbmhleC5weS4gUGF0Y2ggYnkgQXJrYWR5IEtvcGx5YXJvdi4KKworLSBOZXcgdGVzdF9jcmFzaGVycyBhZGRlZCB0byBleGVyY2lzZSB0aGUgc2NyaXB0cyBpbiB0aGUgTGliL3Rlc3QvY3Jhc2hlcnMKKyAgZGlyZWN0b3J5IGFuZCBjb25maXJtIHRoZXkgZmFpbCBhcyBleHBlY3RlZAorCistIElzc3VlICMxMTU3ODogYWRkZWQgdGVzdCBmb3IgdGhlIHRpbWVpdCBtb2R1bGUuICBQYXRjaCBieSBNaWNoYWVsIEhlbnJ5LgorCistIElzc3VlICMxMTUwMzogaW1wcm92ZSB0ZXN0IGNvdmVyYWdlIG9mIHBvc2l4cGF0aC5weS4gUGF0Y2ggYnkgRXZhbiBEYW5kcmVhLgorCistIElzc3VlICMxMTUwNTogaW1wcm92ZXMgdGVzdCBjb3ZlcmFnZSBvZiBzdHJpbmcucHksIGluY3JlYXNlcyBncmFudWxhcml0eSBvZgorICBzdHJpbmcuRm9ybWF0dGVyIHRlc3RzLiBJbml0aWFsIHBhdGNoIGJ5IEFsaWNpYSBBcmxlbi4KKworLSBJc3N1ZSAjMTE1NDg6IEltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiB0aGUgc2h1dGlsIG1vZHVsZS4gUGF0Y2ggYnkKKyAgRXZhbiBEYW5kcmVhLgorCistIElzc3VlICMxMTU1NDogUmVhY3RpdmF0ZWQgdGVzdF9lbWFpbF9jb2RlY3MuCisKKy0gSXNzdWUgIzExNTA1OiBpbXByb3ZlcyB0ZXN0IGNvdmVyYWdlIG9mIHN0cmluZy5weS4gUGF0Y2ggYnkgQWxpY2lhCisgIEFybGVuCisKKy0gSXNzdWUgIzExNDkwOiB0ZXN0X3N1YnByb2Nlc3M6dGVzdF9sZWFraW5nX2Zkc19vbl9lcnJvciBubyBsb25nZXIgZ2l2ZXMgYQorICBmYWxzZSBwb3NpdGl2ZSBpZiB0aGUgbGFzdCBkaXJlY3RvcnkgaW4gdGhlIHBhdGggaXMgaW5hY2Nlc3NpYmxlLgorCistIElzc3VlICMxMTIyMzogRml4IHRlc3RfdGhyZWFkc2lnbmFscyB0byBmYWlsLCBub3QgaGFuZywgd2hlbiB0aGUKKyAgbm9uLXNlbWFwaG9yZSBpbXBsZW1lbnRhdGlvbiBvZiBsb2NrcyBpcyB1c2VkIHVuZGVyIFBPU0lYLgorCistIElzc3VlICMxMDkxMTogQWRkIHRlc3RzIG9uIENHSSB3aXRoIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLiBQYXRjaCB3cml0dGVuIGJ5CisgIFBpZXJyZSBRdWVudGVsLgorCistIElzc3VlICM5OTMxOiBGaXggaGFuZ3MgaW4gR1VJIHRlc3RzIHVuZGVyIFdpbmRvd3MgaW4gY2VydGFpbiBjb25kaXRpb25zLgorICBQYXRjaCBieSBIaXJva2F6dSBZYW1hbW90by4KKworLSBJc3N1ZSAjMTA1MTI6IFByb3Blcmx5IGNsb3NlIHNvY2tldHMgdW5kZXIgdGVzdC50ZXN0X2NnaS4KKworLSBJc3N1ZSAjMTA5OTI6IE1ha2UgdGVzdHMgcGFzcyB1bmRlciBjb3ZlcmFnZS4KKworLSBJc3N1ZSAjMTA4MjY6IFByZXZlbnQgc3BvcmFkaWMgZmFpbHVyZSBpbiB0ZXN0X3N1YnByb2Nlc3Mgb24gU29sYXJpcyBkdWUKKyAgdG8gb3BlbiBkb29yIGZpbGVzLgorCistIElzc3VlICMxMDk5MDogUHJldmVudCB0ZXN0cyBmcm9tIGNsb2JiZXJpbmcgYSBzZXQgdHJhY2UgZnVuY3Rpb24uCisKK0MtQVBJCistLS0tLQorCistIEFkZCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCBhbmQgUHlPYmplY3RfR2VuZXJpU2V0RGljdC4gVGhleSBhcmUgZ2VuZXJpYworICBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBnZXR0ZXIgYW5kIHNldHRlciBvZiBhIGBgX19kaWN0X19gYCBkZXNjcmlwdG9yIG9mIEMKKyAgdHlwZXMuCisKKy0gSXNzdWUgIzEzNzI3OiBBZGQgMyBtYWNyb3MgdG8gYWNjZXNzIFB5RGF0ZVRpbWVfRGVsdGEgbWVtYmVyczoKKyAgUHlEYXRlVGltZV9ERUxUQV9HRVRfREFZUywgUHlEYXRlVGltZV9ERUxUQV9HRVRfU0VDT05EUywKKyAgUHlEYXRlVGltZV9ERUxUQV9HRVRfTUlDUk9TRUNPTkRTLgorCistIElzc3VlICMxMDU0MjogQWRkIDQgbWFjcm9zIHRvIHdvcmsgd2l0aCBzdXJyb2dhdGVzOiBQeV9VTklDT0RFX0lTX1NVUlJPR0FURSwKKyAgUHlfVU5JQ09ERV9JU19ISUdIX1NVUlJPR0FURSwgUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFLAorICBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUy4KKworLSBJc3N1ZSAjMTI3MjQ6IEFkZCBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQgbWFjcm8gZm9yIHJldHVybmluZyBOb3RJbXBsZW1lbnRlZC4KKworLSBQWV9QQVRDSExFVkVMX1JFVklTSU9OIGhhcyBiZWVuIHJlbW92ZWQsIHNpbmNlIGl0J3MgbWVhbmluZ2xlc3Mgd2l0aAorICBNZXJjdXJpYWwuCisKKy0gSXNzdWUgIzEyMTczOiBUaGUgZmlyc3QgYXJndW1lbnQgb2YgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwgaXMgbm93IGBjb25zdAorICBjaGFyICpgIGluc3RlYWQgb2YgYGNoYXIgKmAuCisKKy0gSXNzdWUgIzEyMzgwOiBQeUFyZ19QYXJzZVR1cGxlIG5vdyBhY2NlcHRzIGEgYnl0ZWFycmF5IGZvciB0aGUgJ2MnIGZvcm1hdC4KKworRG9jdW1lbnRhdGlvbgorLS0tLS0tLS0tLS0tLQorCistIElzc3VlcyAjMTM0OTEgYW5kICMxMzk5NTogRml4IG1hbnkgZXJyb3JzIGluIHNxbGl0ZTMgZG9jdW1lbnRhdGlvbi4KKyAgSW5pdGlhbCBwYXRjaCBmb3IgIzEzNDkxIGJ5IEpvaGFubmVzIFZvZ2VsLgorCistIElzc3VlICMxMzQwMjogRG9jdW1lbnQgYWJzb2x1dGVuZXNzIG9mIHN5cy5leGVjdXRhYmxlLgorCistIElzc3VlICMxMzg4MzogUFlUSE9OQ0FTRU9LIGFsc28gd29ya3Mgb24gT1MgWC4KKworLSBJc3N1ZSAjOTAyMTogQWRkIGFuIGludHJvZHVjdGlvbiB0byB0aGUgY29weSBtb2R1bGUgZG9jdW1lbnRhdGlvbi4KKworLSBJc3N1ZSAjNjAwNTogRXhhbXBsZXMgaW4gdGhlIHNvY2tldCBsaWJyYXJ5IGRvY3VtZW50YXRpb24gdXNlIHNlbmRhbGwsIHdoZXJlCisgIHJlbGV2YW50LCBpbnN0ZWFkIHNlbmQgbWV0aG9kLgorCistIElzc3VlICMxMjc5ODogVXBkYXRlZCB0aGUgbWltZXR5cGVzIGRvY3VtZW50YXRpb24uCisKKy0gSXNzdWUgIzEyOTQ5OiBEb2N1bWVudCB0aGUga3dvbmx5YXJnY291bnQgYXJndW1lbnQgZm9yIHRoZSBQeUNvZGVfTmV3CisgIEMgQVBJIGZ1bmN0aW9uLgorCistIElzc3VlICMxMzUxMzogRml4IGlvLklPQmFzZSBkb2N1bWVudGF0aW9uIHRvIGNvcnJlY3RseSBsaW5rIHRvIHRoZQorICBpby5JT0Jhc2UucmVhZGxpbmUgbWV0aG9kIGluc3RlYWQgb2YgdGhlIHJlYWRsaW5lIG1vZHVsZS4KKworLSBJc3N1ZSAjMTMyMzc6IFJlb3JnYW5pc2Ugc3VicHJvY2VzcyBkb2N1bWVudGF0aW9uIHRvIGVtcGhhc2lzZSBjb252ZW5pZW5jZQorICBmdW5jdGlvbnMgYW5kIHRoZSBtb3N0IGNvbW1vbmx5IG5lZWRlZCBhcmd1bWVudHMgdG8gUG9wZW4uCisKKy0gSXNzdWUgIzEzMTQxOiBEZW1vbnN0cmF0ZSByZWNvbW1lbmRlZCBzdHlsZSBmb3Igc29ja2V0c2VydmVyIGV4YW1wbGVzLgorCistIElzc3VlICMxMTgxODogRml4IHRlbXBmaWxlIGV4YW1wbGVzIGZvciBQeXRob24gMy4KKworCiBXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjI/CiA9PT09PT09PT09PT09PT09PT09PT09PT09CiAKZGlmZiAtLWdpdCBhL01pc2MvTkVXUyBiL01pc2MvTkVXUwppbmRleCBjNzk1ODQwLi40MzE0ODVhIDEwMDY0NAotLS0gYS9NaXNjL05FV1MKKysrIGIvTWlzYy9ORVdTCkBAIC0yLDEyICsyLDEwIEBACiBQeXRob24gTmV3cwogKysrKysrKysrKysKIAotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuNC4wIEFscGhhIDE/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0uLiAqUmVsZWFzZSBkYXRlOiBYWFhYLVhYLVhYKgotCi0qTm90IHlldCByZWxlYXNlZCwgc2VlIHNlY3Rpb25zIGJlbG93IGZvciBjaGFuZ2VzIHJlbGVhc2VkIGluIDMuMy4xKgorKlJlbGFzZSBkYXRlOiAyMDE0LVhYLVhYKgogCiBDb3JlIGFuZCBCdWlsdGlucwogLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTI3LDM4ICsyNSw3MSBAQAogLSBJc3N1ZSAjMTc3ODI6IEZpeCB1bmRlZmluZWQgYmVoYXZpb3VyIG9uIHBsYXRmb3JtcyB3aGVyZQogICBgYHN0cnVjdCB0aW1lc3BlY2BgJ3MgInR2X25zZWMiIG1lbWJlciBpcyBub3QgYSBDIGxvbmcuCiAKKy0gSXNzdWUgIzE3NzIyOiBXaGVuIGxvb2tpbmcgdXAgX19yb3VuZF9fLCByZXNvbHZlIGRlc2NyaXB0b3JzLgorCistIElzc3VlICMxNjA2MTogU3BlZWQgdXAgc3RyLnJlcGxhY2UoKSBmb3IgcmVwbGFjaW5nIDEtY2hhcmFjdGVyIHN0cmluZ3MuCisKIC0gSXNzdWUgIzE3NzE1OiBGaXggc2VnbWVudGF0aW9uIGZhdWx0IGZyb20gcmFpc2luZyBhbiBleGNlcHRpb24gaW4gYSBfX3RydW5jX18KICAgbWV0aG9kLgogCistIElzc3VlICMxNzY0MzogQWRkIF9fY2FsbGJhY2tfXyBhdHRyaWJ1dGUgdG8gd2Vha3JlZi5yZWYuCisKIC0gSXNzdWUgIzE2NDQ3OiBGaXhlZCBwb3RlbnRpYWwgc2VnbWVudGF0aW9uIGZhdWx0IHdoZW4gc2V0dGluZyBfX25hbWVfXyBvbiBhCiAgIGNsYXNzLgogCiAtIElzc3VlICMxNzY2OTogRml4IGNyYXNoIGludm9sdmluZyBmaW5hbGl6YXRpb24gb2YgZ2VuZXJhdG9ycyB1c2luZyB5aWVsZCBmcm9tLgogCistIElzc3VlICMxNDQzOTogUHl0aG9uIG5vdyBwcmludHMgdGhlIHRyYWNlYmFjayBvbiBydW5weSBmYWlsdXJlIGF0IHN0YXJ0dXAuCisKKy0gSXNzdWUgIzE3NDY5OiBGaXggX1B5X0dldEFsbG9jYXRlZEJsb2NrcygpIGFuZCBzeXMuZ2V0YWxsb2NhdGVkYmxvY2tzKCkKKyAgd2hlbiBydW5uaW5nIG9uIHZhbGdyaW5kLgorCiAtIElzc3VlICMxNzYxOTogTWFrZSBpbnB1dCgpIGNoZWNrIGZvciBDdHJsLUMgY29ycmVjdGx5IG9uIFdpbmRvd3MuCiAKKy0gSXNzdWUgIzE3MzU3OiBBZGQgbWlzc2luZyB2ZXJib3NpdHkgbWVzc2FnZXMgZm9yIC12Ly12diB0aGF0IHdlcmUgbG9zdCBkdXJpbmcKKyAgdGhlIGltcG9ydGxpYiB0cmFuc2l0aW9uLgorCiAtIElzc3VlICMxNzYxMDogRG9uJ3QgcmVseSBvbiBub24tc3RhbmRhcmQgYmVoYXZpb3Igb2YgdGhlIEMgcXNvcnQoKSBmdW5jdGlvbi4KIAotLSBJc3N1ZSAjMTczNTc6IEFkZCBtaXNzaW5nIHZlcmJvc2l0eSBvdXRwdXQgd2hlbiB1c2luZyAtdi8tdnYuCistIElzc3VlICMxNzMyMzogVGhlICJbWCByZWZzLCBZIGJsb2Nrc10iIHByaW50ZWQgYnkgZGVidWcgYnVpbGRzIGhhcyBiZWVuCisgIGRpc2FibGVkIGJ5IGRlZmF1bHQuICBJdCBjYW4gYmUgcmUtZW5hYmxlZCB3aXRoIHRoZSBgLVggc2hvd3JlZmNvdW50YCBvcHRpb24uCiAKIExpYnJhcnkKIC0tLS0tLS0KIAotLSBJc3N1ZSAjMTcxOTI6IFJlc3RvcmUgdGhlIHBhdGNoIGZvciBJc3N1ZSAjMTE3MjkgYW5kIElzc3VlICMxMDMwOQotICB3aGljaCB3ZXJlIG9tbWl0dGVkIGluIDMuMy4xIHdoZW4gdXBkYXRpbmcgdGhlIGJ1bmRsZWQgdmVyc2lvbiBvZgotICBsaWJmZmkgdXNlZCBieSBjdHlwZXMuCi0KIC0gSXNzdWUgIzE3MzU4OiBNb2R1bGVzIGxvYWRlZCBieSBpbXAubG9hZF9zb3VyY2UoKSBhbmQgbG9hZF9jb21waWxlZCgpIChhbmQgYnkKICAgZXh0ZW50aW9uIGxvYWRfbW9kdWxlKCkpIG5vdyBoYXZlIGEgYmV0dGVyIGNoYW5jZSBvZiB3b3JraW5nIHdoZW4gcmVsb2FkZWQuCiAKKy0gSXNzdWUgIzE3ODA0OiBOZXcgZnVuY3Rpb24gYGBzdHJ1Y3QuaXRlcl91bnBhY2tgYCBhbGxvd3MgZm9yIHN0cmVhbWluZworICBzdHJ1Y3QgdW5wYWNraW5nLgorCistIElzc3VlICMxNzgzMDogV2hlbiBrZXl3b3JkLnB5IGlzIHVzZWQgdG8gdXBkYXRlIGEga2V5d29yZCBmaWxlLCBpdCBub3cKKyAgcHJlc2VydmVzIHRoZSBsaW5lIGVuZGluZ3Mgb2YgdGhlIG9yaWdpbmFsIGZpbGUuCisKKy0gSXNzdWUgIzE3MjcyOiBNYWtpbmcgdGhlIHVybGxpYi5yZXF1ZXN0J3MgUmVxdWVzdC5mdWxsX3VybCBhIGRlc2NyaXB0b3IuCisgIEZpeGVzIGJ1Z3Mgd2l0aCBhc3NpZ25tZW50IHRvIGZ1bGxfdXJsLiBQYXRjaCBieSBEZW1pYW4gQnJlY2h0LgorCiAtIElzc3VlICMxNzM1MzogUGxpc3RsaWIgZW1pdHRlZCBlbXB0eSBkYXRhIHRhZ3Mgd2l0aCBkZWVwbHkgbmVzdGVkIGRhdGFzdHJ1Y3R1cmVzCiAKIC0gSXNzdWUgIzExNzE0OiBVc2UgJ3dpdGgnIHN0YXRlbWVudHMgdG8gYXNzdXJlIGEgU2VtYXBob3JlIHJlbGVhc2VzIGEKICAgY29uZGl0aW9uIHZhcmlhYmxlLiAgT3JpZ2luYWwgcGF0Y2ggYnkgVGhvbWFzIFJhY2hlbC4KIAorLSBJc3N1ZSAjMTY2MjQ6IGBzdWJwcm9jZXNzLmNoZWNrX291dHB1dGAgbm93IGFjY2VwdHMgYW4gYGlucHV0YCBhcmd1bWVudCwKKyAgYWxsb3dpbmcgdGhlIHN1YnByb2Nlc3MncyBzdGRpbiB0byBiZSBwcm92aWRlZCBhcyBhIChieXRlKSBzdHJpbmcuCisgIFBhdGNoIGJ5IFphY2sgV2VpbmJlcmcuCisKIC0gSXNzdWUgIzE3Nzk1OiBSZXZlcnRlZCBiYWNrd2FyZHMtaW5jb21wYXRpYmxlIGNoYW5nZSBpbiBTeXNMb2dIYW5kbGVyIHdpdGgKICAgVW5peCBkb21haW4gc29ja2V0cy4KIAorLSBJc3N1ZSAjMTY2OTQ6IEFkZCBhIHB1cmUgUHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIHRoZSBvcGVyYXRvciBtb2R1bGUuCisgIFBhdGNoIGJ5IFphY2hhcnkgV2FyZS4KKworLSBJc3N1ZSAjMTExODI6IHJlbW92ZSB0aGUgdW51c2VkIGFuZCB1bmRvY3VtZW50ZWQgcHlkb2MuU2Nhbm5lciBjbGFzcy4KKyAgUGF0Y2ggYnkgTWFydGluIE1vcnJpc29uLgorCistIElzc3VlICMxNzc0MTogQWRkIEVsZW1lbnRUcmVlLkluY3JlbWVudGFsUGFyc2VyLCBhbiBldmVudC1kcml2ZW4gcGFyc2VyCisgIGZvciBub24tYmxvY2tpbmcgYXBwbGljYXRpb25zLgorCiAtIElzc3VlICMxNzU1NTogRml4IEZvcmtBd2FyZVRocmVhZExvY2sgc28gdGhhdCBzaXplIG9mIGFmdGVyIGZvcmsKICAgcmVnaXN0cnkgZG9lcyBub3QgZ3JvdyBleHBvbmVudGlhbGx5IHdpdGggZ2VuZXJhdGlvbiBvZiBwcm9jZXNzLgogCkBAIC04Niw2MyArMTE3LDU4IEBACiAtIElzc3VlICMxNjgwNDogRml4IGEgYnVnIGluIHRoZSAnc2l0ZScgbW9kdWxlIHRoYXQgY2F1c2VkIHJ1bm5pbmcKICAgJ3B5dGhvbiAtUyAtbSBzaXRlJyB0byBpbmNvcnJlY3RseSB0aHJvdyBhbiBleGNlcHRpb24uCiAKKy0gSXNzdWUgIzE1NDgwOiBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgYW5kIHVudXNlZCBUWVBFX0lOVDY0IGNvZGUgZnJvbSBtYXJzaGFsLgorICBJbml0aWFsIHBhdGNoIGJ5IERhbmllbCBSaXRpLgorCistIElzc3VlICMyMTE4OiBTTVRQRXhjZXB0aW9uIGlzIG5vdyBhIHN1YmNsYXNzIG9mIElPRXJyb3IuCisKIC0gSXNzdWUgIzE3MDE2OiBHZXQgcmlkIG9mIHBvc3NpYmxlIHBvaW50ZXIgd3JhcGFyb3VuZHMgYW5kIGludGVnZXIgb3ZlcmZsb3dzCiAgIGluIHRoZSByZSBtb2R1bGUuICBQYXRjaCBieSBOaWNrb2xhaSBaZWxkb3ZpY2guCiAKIC0gSXNzdWUgIzE2NjU4OiBhZGQgbWlzc2luZyByZXR1cm4gdG8gSFRUUENvbm5lY3Rpb24uc2VuZCgpCiAgIFBhdGNoIGJ5IEplZmYgS251cHAuCiAKKy0gSXNzdWUgIzk1NTY6IEFsbG93ZWQgc3BlY2lmeWluZyBhIHRpbWUtb2YtZGF5IGZvciBhIFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcgorICB0byByb3RhdGUuCisKIC0gSXNzdWUgIzE0OTcxOiB1bml0dGVzdCB0ZXN0IGRpc2NvdmVyeSBubyBsb25nZXIgZ2V0cyBjb25mdXNlZCB3aGVuIGEgZnVuY3Rpb24KICAgaGFzIGEgZGlmZmVyZW50IF9fbmFtZV9fIHRoYW4gaXRzIG5hbWUgaW4gdGhlIFRlc3RDYXNlIGNsYXNzIGRpY3Rpb25hcnkuCiAKLS0gSXNzdWUgIzE3Njc4OiBGaXggRGVwcmVjYXRpb25XYXJuaW5nIGluIHRoZSBodHRwL2Nvb2tpZWphci5weSBieSBjaGFuZ2luZyB0aGUKLSAgdXNhZ2Ugb2YgZ2V0X29yaWdpbl9yZXFfaG9zdCgpIHRvIG9yaWdpbl9yZXFfaG9zdC4KKy0gSXNzdWUgIzE3NDg3OiBUaGUgd2F2ZSBnZXRwYXJhbXMgbWV0aG9kIG5vdyByZXR1cm5zIGEgbmFtZWR0dXBsZSByYXRoZXIgdGhhbgorICBhIHBsYWluIHR1cGxlLgorCistIElzc3VlICMxNzY3NTogc29ja2V0IHJlcHIoKSBwcm92aWRlcyBsb2NhbCBhbmQgcmVtb3RlIGFkZHJlc3NlcyAoaWYgYW55KS4KKyAgUGF0Y2ggYnkgR2lhbXBhb2xvIFJvZG9sYScKKworLSBJc3N1ZSAjMTcwOTM6IE1ha2UgdGhlIEFCQ3MgaW4gaW1wb3J0bGliLmFiYyBwcm92aWRlIGRlZmF1bHQgdmFsdWVzIG9yIHJhaXNlCisgIHJlYXNvbmFibGUgZXhjZXB0aW9ucyBmb3IgdGhlaXIgbWV0aG9kcyB0byBtYWtlIHRoZW0gbW9yZSBhbWVuYWJsZSB0byBzdXBlcigpCisgIGNhbGxzLgorCistIElzc3VlICMxNzU2NjogTWFrZSBpbXBvcnRsaWIuYWJjLkxvYWRlci5tb2R1bGVfcmVwcigpIG9wdGlvbmFsIGluc3RlYWQgb2YgYW4KKyAgYWJzdHJhY3RtZXRob2QgYW5kIHJhaXNpbmcgTm90SW1wbGVtZW50ZWRFcnJvciBzbyBhcyB0byBiZSBpZ25vcmVkIGJ5IGRlZmF1bHQuCisKKy0gSXNzdWUgIzE3Njc4OiBSZW1vdmUgdGhlIHVzZSBvZiBkZXByZWNhdGVkIG1ldGhvZCBpbiBodHRwL2Nvb2tpZWphci5weS4KKyAgQ2hhbmdpbmcgdGhlIHVzYWdlIG9mIGdldF9vcmlnaW5fcmVxX2hvc3QoKSB0byBvcmlnaW5fcmVxX2hvc3QuCiAKIC0gSXNzdWUgIzE3NjY2OiBGaXggcmVhZGluZyBnemlwIGZpbGVzIHdpdGggYW4gZXh0cmEgZmllbGQuCiAKKy0gSXNzdWUgIzE2NDc1OiBTdXBwb3J0IG9iamVjdCBpbnN0YW5jaW5nLCByZWN1cnNpb24gYW5kIGludGVybmVkIHN0cmluZ3MKKyAgaW4gbWFyc2hhbAorCiAtIElzc3VlICMxNzUwMjogUHJvY2VzcyBERUZBVUxUIHZhbHVlcyBpbiBtb2NrIHNpZGVfZWZmZWN0IHRoYXQgcmV0dXJucyBpdGVyYXRvci4KLSAgUGF0Y2ggYnkgTWljaGFlbCBGb29yZC4KIAotLSBJc3N1ZSAjMTc1NzI6IEF2b2lkIGNoYWluZWQgZXhjZXB0aW9ucyB3aGlsZSBwYXNzaW5nIGJhZCBkaXJlY3RpdmVzIHRvCi0gIHRpbWUuc3RycHRpbWUoKS4gIEluaXRpYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLgorLSBJc3N1ZSAjMTY3OTU6IE9uIHRoZSBhc3QuYXJndW1lbnRzIG9iamVjdCwgdW5pZnkgdmFyYXJnIHdpdGggdmFyYXJnYW5ub3RhdGlvbgorICBhbmQga3dhcmcgYW5kIGt3YXJnYW5ub3RhdGlvbi4gQ2hhbmdlIHRoZSBjb2x1bW4gb2Zmc2V0IG9mIGFzdC5BdHRyaWJ1dGUgdG8gYmUKKyAgYXQgdGhlIGF0dHJpYnV0ZSBuYW1lLgogCi0tIElzc3VlICMxNzQzNTogdGhyZWFkaW5nLlRpbWVyJ3MgX19pbml0X18gbWV0aG9kIG5vIGxvbmdlciB1c2VzIG11dGFibGUKLSAgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBhcmdzIGFuZCBrd2FyZ3MgcGFyYW1ldGVycy4KKy0gSXNzdWUgIzE3NDM0OiBQcm9wZXJseSByYWlzZSBhIFN5bnRheEVycm9yIHdoZW4gYSBzdHJpbmcgb2NjdXJzIGJldHdlZW4gZnV0dXJlCisgIGltcG9ydHMuCiAKLS0gSXNzdWUgIzE3NTI2OiBmaXggYW4gSW5kZXhFcnJvciByYWlzZWQgd2hpbGUgcGFzc2luZyBjb2RlIHdpdGhvdXQgZmlsZW5hbWUgdG8KLSAgaW5zcGVjdC5maW5kc291cmNlKCkuICBJbml0aWFsIHBhdGNoIGJ5IFR5bGVyIERveWxlLgorLSBJc3N1ZSAjMTcxMTc6IEltcG9ydCBhbmQgQGltcG9ydGxpYi51dGlsLnNldF9sb2FkZXIgbm93IHNldCBfX2xvYWRlcl9fIHdoZW4KKyAgaXQgaGFzIGEgdmFsdWUgb2YgTm9uZSBvciB0aGUgYXR0cmlidXRlIGRvZXNuJ3QgZXhpc3QuCiAKLS0gSXNzdWUgIzE2NTUwOiBVcGRhdGUgdGhlIG9wY29kZSBkZXNjcmlwdGlvbnMgb2YgcGlja2xldG9vbHMgdG8gdXNlIHVuc2lnbmVkCi0gIGludGVnZXJzIHdoZXJlIGFwcHJvcHJpYXRlLiAgSW5pdGlhbCBwYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgotCi1JRExFCi0tLS0tCi0KLS0gSXNzdWUgIzE0NzM1OiBVcGRhdGUgSURMRSBkb2NzIHRvIG9taXQgIkNvbnRyb2wteiBvbiBXaW5kb3dzIi4KLQotLSBJc3N1ZSAjMTc1ODU6IEZpeGVkIElETEUgcmVncmVzc2lvbi4gTm93IGNsb3NlcyB3aGVuIHVzaW5nIGV4aXQoKSBvciBxdWl0KCkuCi0KLS0gSXNzdWUgIzE3NjU3OiBTaG93IGZ1bGwgVGsgdmVyc2lvbiBpbiBJRExFJ3MgYWJvdXQgZGlhbG9nLgotICBQYXRjaCBieSBUb2RkIFJvdml0by4KLQotLSBJc3N1ZSAjMTc2MTM6IFByZXZlbnQgdHJhY2ViYWNrIHdoZW4gcmVtb3Zpbmcgc3ludGF4IGNvbG9yaXplciBpbiBJRExFLgotCi0tIElzc3VlICMxMjA3NTg5OiBCYWNrd2FyZHMtY29tcGF0aWJpbGl0eSBwYXRjaCBmb3IgcmlnaHQtY2xpY2sgbWVudSBpbiBJRExFLgotCi0tIElzc3VlICMxNjg4NzogSURMRSBub3cgYWNjZXB0cyBDYW5jZWwgaW4gdGFiaWZ5L3VudGFiaWZ5IGRpYWxvZyBib3guCi0KLS0gSXNzdWUgIzE3NjI1OiBJbiBJRExFLCBjbG9zZSB0aGUgcmVwbGFjZSBkaWFsb2cgYWZ0ZXIgaXQgaXMgdXNlZC4KLQotLSBJc3N1ZSAjMTQyNTQ6IElETEUgbm93IGhhbmRsZXMgcmVhZGxpbmUgY29ycmVjdGx5IGFjcm9zcyBzaGVsbCByZXN0YXJ0cy4KLQotLSBJc3N1ZSAjMTc2MTQ6IElETEUgbm8gbG9uZ2VyIHJhaXNlcyBleGNlcHRpb24gd2hlbiBxdWlja2x5IGNsb3NpbmcgYSBmaWxlLgotCi0tIElzc3VlICM2Njk4OiBJRExFIG5vdyBvcGVucyBqdXN0IGFuIGVkaXRvciB3aW5kb3cgd2hlbiBjb25maWd1cmVkIHRvIGRvIHNvLgotCi0tIElzc3VlICM4OTAwOiBVc2luZyBrZXlib2FyZCBzaG9ydGN1dHMgaW4gSURMRSB0byBvcGVuIGEgZmlsZSBubyBsb25nZXIKLSAgcmFpc2VzIGFuIGV4Y2VwdGlvbi4KLQotLSBJc3N1ZSAjNjY0OTogRml4ZWQgbWlzc2luZyBleGl0IHN0YXR1cyBpbiBJRExFLiBQYXRjaCBieSBHdWlsaGVybWUgUG9sby4KKy0gSXNzdWUgIzE3MDMyOiBUaGUgImdsb2JhbCIgaW4gdGhlICJOYW1lRXJyb3I6IGdsb2JhbCBuYW1lICd4JyBpcyBub3QgZGVmaW5lZCIKKyAgZXJyb3IgbWVzc2FnZSBoYXMgYmVlbiByZW1vdmVkLiAgUGF0Y2ggYnkgUmFtIFJhY2h1bS4KIAogVGVzdHMKIC0tLS0tCkBAIC0xNzQsMjkgKzIwMCwyMSBAQAogLSBJc3N1ZSAjMTc2OTI6IHRlc3Rfc3FsaXRlIG5vdyB3b3JrcyB3aXRoIHVuaXR0ZXN0IHRlc3QgZGlzY292ZXJ5LgogICBQYXRjaCBieSBaYWNoYXJ5IFdhcmUuCiAKLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTU5NDA6IFNwZWNpZnkgZWZmZWN0IG9mIGxvY2FsZSBvbiB0aW1lIGZ1bmN0aW9ucy4KLQogLSBJc3N1ZSAjNjY5NjogYWRkIGRvY3VtZW50YXRpb24gZm9yIHRoZSBQcm9maWxlIG9iamVjdHMsIGFuZCBpbXByb3ZlCiAgIHByb2ZpbGUvY1Byb2ZpbGUgZG9jcy4gIFBhdGNoIGJ5IFRvbSBQaW5ja25leS4KIAotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAwNy1BcHItMjAxMyoKLQotQnVpbGQKK0MtQVBJCiAtLS0tLQogCi0tIElzc3VlICMxNzU1MDogRml4IHRoZSAtLWVuYWJsZS1wcm9maWxpbmcgY29uZmlndXJlIHN3aXRjaC4KKy0gSXNzdWUgIzE3NTIyOiBBZGQgdGhlIFB5R0lMU3RhdGVfQ2hlY2soKSBBUEkuCisKKy0gSXNzdWUgIzE3MzI3OiBBZGQgUHlEaWN0X1NldERlZmF1bHQuCisKIAogSURMRQotLS0tLS0tLQorLS0tLQogCi0tIElzc3VlICMxNzYyNTogSW4gSURMRSwgY2xvc2UgdGhlIHJlcGxhY2UgZGlhbG9nIGFmdGVyIGl0IGlzIHVzZWQuCistIElzc3VlICMxNDczNTogVXBkYXRlIElETEUgZG9jcyB0byBvbWl0ICJDb250cm9sLXogb24gV2luZG93cyIuCiAKIAogV2hhdCdzIE5ldyBpbiBQeXRob24gMy4zLjEgcmVsZWFzZSBjYW5kaWRhdGUgMT8KQEAgLTIwOSwyNCArMjI3LDIzIEBACiAKIC0gSXNzdWUgIzE3MzI4OiBGaXggcG9zc2libGUgcmVmbGVhayBpbiBkaWN0LnNldGRlZmF1bHQuCiAKLS0gSXNzdWUgIzE3MjIzOiBGaXggUHlVbmljb2RlX0Zyb21Vbmljb2RlKCkgZm9yIHN0cmluZyBvZiAxIGNoYXJhY3RlciBvdXRzaWRlCi0gIHRoZSByYW5nZSBVKzAwMDAtVSsxMGZmZmYuCi0KLS0gSXNzdWUgIzE2OTIzMzU6IE1vdmUgaW5pdGlhbCBhcmdzIGFzc2lnbm1lbnQgdG8KLSAgQmFzZUV4Y2VwdGlvbi5fX25ld19fIHRvIGhlbHAgcGlja2xpbmcgb2YgbmFpdmUgc3ViY2xhc3Nlcy4KLQogLSBJc3N1ZSAjMTcyNzU6IENvcnJlY3RlZCBjbGFzcyBuYW1lIGluIGluaXQgZXJyb3IgbWVzc2FnZXMgb2YgdGhlIEMgdmVyc2lvbiBvZgogICBCdWZmZXJlZFdyaXRlciBhbmQgQnVmZmVyZWRSYW5kb20uCiAKIC0gSXNzdWUgIzc5NjM6IEZpeGVkIG1pc2xlYWRpbmcgZXJyb3IgbWVzc2FnZSB0aGF0IGlzc3VlZCB3aGVuIG9iamVjdCBpcwogICBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMuCiAKKy0gSXNzdWUgIzg3NDU6IFNtYWxsIHNwZWVkIHVwIHppcGltcG9ydCBvbiBXaW5kb3dzLiBQYXRjaCBieSBDYXRhbGluIElhY29iLgorCiAtIElzc3VlICM1MzA4OiBSYWlzZSBWYWx1ZUVycm9yIHdoZW4gbWFyc2hhbGxpbmcgdG9vIGxhcmdlIG9iamVjdCAoYSBzZXF1ZW5jZQogICB3aXRoIHNpemUgPj0gMioqMzEpLCBpbnN0ZWFkIG9mIHByb2R1Y2luZyBpbGxlZ2FsIG1hcnNoYWwgZGF0YS4KIAogLSBJc3N1ZSAjMTI5ODM6IEJ5dGVzIGxpdGVyYWxzIHdpdGggaW52YWxpZCBceCBlc2NhcGUgbm93IHJhaXNlIGEgU3ludGF4RXJyb3IKICAgYW5kIGEgZnVsbCB0cmFjZWJhY2sgaW5jbHVkaW5nIGxpbmUgbnVtYmVyLgogCistIElzc3VlICMxNjk2NzogSW4gZnVuY3Rpb24gZGVmaW5pdGlvbiwgZXZhbHVhdGUgcG9zaXRpb25hbCBkZWZhdWx0cyBiZWZvcmUKKyAga2V5d29yZC1vbmx5IGRlZmF1bHRzLgorCiAtIElzc3VlICMxNzE3MzogUmVtb3ZlIHVzZXMgb2YgbG9jYWxlLWRlcGVuZGVudCBDIGZ1bmN0aW9ucyAoaXNhbHBoYSgpIGV0Yy4pCiAgIGluIHRoZSBpbnRlcnByZXRlci4KIApAQCAtMjQxLDYgKzI1OCwxMCBAQAogCiAtIElzc3VlICMxNjk3OTogRml4IGVycm9yIGhhbmRsaW5nIGJ1Z3MgaW4gdGhlIHVuaWNvZGUtZXNjYXBlLWRlY29kZSBkZWNvZGVyLgogCistIElzc3VlICMxNjc3MjogVGhlIGJhc2UgYXJndW1lbnQgdG8gdGhlIGludCBjb25zdHJ1Y3RvciBubyBsb25nZXIgYWNjZXB0cworICBmbG9hdHMsIG9yIG90aGVyIG5vbi1pbnRlZ2VyIG9iamVjdHMgd2l0aCBhbiBfX2ludF9fIG1ldGhvZC4gIE9iamVjdHMKKyAgd2l0aCBhbiBfX2luZGV4X18gbWV0aG9kIGFyZSBub3cgYWNjZXB0ZWQuCisKIC0gSXNzdWUgIzEwMTU2OiBJbiB0aGUgaW50ZXJwcmV0ZXIncyBpbml0aWFsaXphdGlvbiBwaGFzZSwgdW5pY29kZSBnbG9iYWxzCiAgIGFyZSBub3cgaW5pdGlhbGl6ZWQgZHluYW1pY2FsbHkgYXMgbmVlZGVkLgogCkBAIC0yNjgsMTIgKzI4OSw2IEBACiAKIC0gSXNzdWUgIzE2MzY3OiBGaXggRmlsZUlPLnJlYWRhbGwoKSBvbiBXaW5kb3dzIGZvciBmaWxlcyBsYXJnZXIgdGhhbiAyIEdCLgogCi0tIElzc3VlICMxNjQ1NTogT24gRnJlZUJTRCBhbmQgU29sYXJpcywgaWYgdGhlIGxvY2FsZSBpcyBDLCB0aGUKLSAgQVNDSUkvc3Vycm9nYXRlZXNjYXBlIGNvZGVjIGlzIG5vdyB1c2VkLCBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcsIHRvCi0gIGRlY29kZSB0aGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4gVGhpcyBjaGFuZ2UgZml4ZXMgaW5jb25zaXN0ZW5jaWVzIHdpdGgKLSAgb3MuZnNlbmNvZGUoKSBhbmQgb3MuZnNkZWNvZGUoKSBiZWNhdXNlIHRoZXNlIG9wZXJhdGluZyBzeXN0ZW1zIGFubm91bmNlcyBhbgotICBBU0NJSSBsb2NhbGUgZW5jb2RpbmcsIHdoZXJlYXMgdGhlIElTTy04ODU5LTEgZW5jb2RpbmcgaXMgdXNlZCBpbiBwcmFjdGljZS4KLQogLSBJc3N1ZSAjMTY3NjE6IENhbGxpbmcgaW50KCkgd2l0aCBiYXNlIGFyZ3VtZW50IG9ubHkgbm93IHJhaXNlcyBUeXBlRXJyb3IuCiAKIC0gSXNzdWUgIzE2NzU5OiBTdXBwb3J0IHRoZSBmdWxsIERXT1JEICh1bnNpZ25lZCBsb25nKSByYW5nZSBpbiBSZWcyUHkKQEAgLTI4MywyNCArMjk4LDUxIEBACiAtIElzc3VlICMxNDQyMDogU3VwcG9ydCB0aGUgZnVsbCBEV09SRCAodW5zaWduZWQgbG9uZykgcmFuZ2UgaW4gUHkyUmVnCiAgIHdoZW4gcGFzc2VkIGEgUkVHX0RXT1JEIHZhbHVlLiBGaXhlcyBPdmVyZmxvd0Vycm9yIGluIHdpbnJlZy5TZXRWYWx1ZUV4LgogCistIElzc3VlICMxMTkzOTogU2V0IHRoZSBzdF9kZXYgYXR0cmlidXRlIG9mIHN0YXRfcmVzdWx0IHRvIGFsbG93IFdpbmRvd3MgdG8KKyAgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIG9zLnBhdGguc2FtZWZpbGUvc2FtZW9wZW5maWxlL3NhbWVzdGF0IGltcGxlbWVudGF0aW9ucworICB1c2VkIGJ5IG90aGVyIHBsYXRmb3Jtcy4KKworLSBJc3N1ZSAjMTY3NzI6IFRoZSBpbnQoKSBjb25zdHJ1Y3RvcidzIHNlY29uZCBhcmd1bWVudCAoYmFzZSkgbm8gbG9uZ2VyCisgIGFjY2VwdHMgbm9uIGludGVnZXIgdmFsdWVzLiAgQ29uc2lzdGVudCB3aXRoIHRoZSBiZWhhdmlvciBpbiBQeXRob24gMi4KKworLSBJc3N1ZSAjMTQ0NzA6IFJlbW92ZSB3OXhwb3BlbiBzdXBwb3J0IHBlciBQRVAgMTEuCisKKy0gSXNzdWUgIzk4NTY6IFJlcGxhY2UgZGVwcmVjYXRpb24gd2FybmluZyB3aXRoIHJhaXNpbmcgVHlwZUVycm9yCisgIGluIG9iamVjdC5fX2Zvcm1hdF9fLiBQYXRjaCBieSBGbG9yZW50IFhpY2x1bmEuCisKIC0gSXNzdWUgIzE2NTk3OiBJbiBidWZmZXJlZCBhbmQgdGV4dCBJTywgY2FsbCBjbG9zZSgpIG9uIHRoZSB1bmRlcmx5aW5nIHN0cmVhbQogICBpZiBpbnZva2luZyBmbHVzaCgpIGZhaWxzLgogCiAtIElzc3VlICMxNjcyMjogSW4gdGhlIGJ5dGVzKCkgY29uc3RydWN0b3IsIHRyeSB0byBjYWxsIF9fYnl0ZXNfXyBvbiB0aGUKICAgYXJndW1lbnQgYmVmb3JlIF9faW5kZXhfXy4KIAorLSBJc3N1ZSAjMTY0MjE6IGxvYWRpbmcgbXVsdGlwbGUgbW9kdWxlcyBmcm9tIG9uZSBzaGFyZWQgb2JqZWN0IGlzIG5vdworICBoYW5kbGVkIGNvcnJlY3RseSAocHJldmlvdXNseSwgdGhlIGZpcnN0IG1vZHVsZSBsb2FkZWQgZnJvbSB0aGF0IGZpbGUKKyAgd2FzIHNpbGVudGx5IHJldHVybmVkKS4gUGF0Y2ggYnkgVsOhY2xhdiDFoG1pbGF1ZXIuCisKIC0gSXNzdWUgIzE2NjAyOiBXaGVuIGEgd2Vha3JlZidzIHRhcmdldCB3YXMgcGFydCBvZiBhIGxvbmcgZGVhbGxvY2F0aW9uCiAgIGNoYWluLCB0aGUgb2JqZWN0IGNvdWxkIHJlbWFpbiByZWFjaGFibGUgdGhyb3VnaCBpdHMgd2Vha3JlZiBldmVuIHRob3VnaAogICBpdHMgcmVmY291bnQgaGFkIGRyb3BwZWQgdG8gemVyby4KIAotLSBJc3N1ZSAjMTY0MTY6IE9uIE1hYyBPUyBYLCBvcGVyYXRpbmcgc3lzdGVtIGRhdGEgYXJlIG5vdyBhbHdheXMKLSAgZW5jb2RlZC9kZWNvZGVkIHRvL2Zyb20gVVRGLTgvc3Vycm9nYXRlZXNjYXBlLCBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcKLSAgKHdoaWNoIG1heSBiZSBBU0NJSSBpZiBubyBsb2NhbGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0KSwgdG8gYXZvaWQKLSAgaW5jb25zaXN0ZW5jaWVzIHdpdGggb3MuZnNlbmNvZGUoKSBhbmQgb3MuZnNkZWNvZGUoKSBmdW5jdGlvbnMgd2hpY2ggYXJlCi0gIGFscmVhZHkgdXNpbmcgVVRGLTgvc3Vycm9nYXRlZXNjYXBlLgorLSBJc3N1ZSAjMTY0OTU6IFJlbW92ZSBleHRyYW5lb3VzIE5VTEwgZW5jb2RpbmcgY2hlY2sgZnJvbSBieXRlc19kZWNvZGUoKS4KKworLSBJc3N1ZSAjMTY2MTk6IENyZWF0ZSBOYW1lQ29uc3RhbnQgQVNUIGNsYXNzIHRvIHJlcHJlc2VudCBOb25lLCBUcnVlLCBhbmQgRmFsc2UKKyAgbGl0ZXJhbHMuIEFzIGEgcmVzdWx0LCB0aGVzZSBjb25zdGFudHMgYXJlIG5ldmVyIGxvYWRlZCBhdCBydW50aW1lIGZyb20KKyAgYnVpbHRpbnMuCisKKy0gSXNzdWUgIzE2NDU1OiBPbiBGcmVlQlNEIGFuZCBTb2xhcmlzLCBpZiB0aGUgbG9jYWxlIGlzIEMsIHRoZQorICBBU0NJSS9zdXJyb2dhdGVlc2NhcGUgY29kZWMgaXMgbm93IHVzZWQsIGluc3RlYWQgb2YgdGhlIGxvY2FsZSBlbmNvZGluZywgdG8KKyAgZGVjb2RlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzLiBUaGlzIGNoYW5nZSBmaXhlcyBpbmNvbnNpc3RlbmNpZXMgd2l0aAorICBvcy5mc2VuY29kZSgpIGFuZCBvcy5mc2RlY29kZSgpIGJlY2F1c2UgdGhlc2Ugb3BlcmF0aW5nIHN5c3RlbXMgYW5ub3VuY2VzIGFuCisgIEFTQ0lJIGxvY2FsZSBlbmNvZGluZywgd2hlcmVhcyB0aGUgSVNPLTg4NTktMSBlbmNvZGluZyBpcyB1c2VkIGluIHByYWN0aWNlLgorCistIElzc3VlICMxNjU2MjogT3B0aW1pemUgZGljdCBlcXVhbGl0eSB0ZXN0aW5nLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAogLSBJc3N1ZSAjMTY1ODg6IFNpbGVuY2UgdW51c2VkLWJ1dC1zZXQgd2FybmluZ3MgaW4gUHl0aG9uL3RocmVhZF9wdGhyZWFkCiAKKy0gSXNzdWUgIzE2NTkyOiBzdHJpbmdsaWJfYnl0ZXNfam9pbiBkb2Vzbid0IHJhaXNlIE1lbW9yeUVycm9yIG9uIGFsbG9jYXRpb24KKyAgZmFpbHVyZS4KKwogLSBJc3N1ZSAjMTY1NDY6IEZpeDogYXN0LllpZWxkRnJvbSBhcmd1bWVudCBpcyBub3cgbWFuZGF0b3J5LgogCiAtIElzc3VlICMxNjUxNDogRml4IHJlZ3Jlc3Npb24gY2F1c2luZyBhIHRyYWNlYmFjayB3aGVuIHN5cy5wYXRoWzBdIGlzIE5vbmUKQEAgLTMxMiwxMSArMzU0LDIzIEBACiAtIElzc3VlICMxNjIxNTogRml4IHBvdGVudGlhbCBkb3VibGUgbWVtb3J5IGZyZWUgaW4gc3RyLnJlcGxhY2UoKS4gIFBhdGNoCiAgIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKKy0gSXNzdWUgIzE2MjkwOiBBIGZsb2F0IHJldHVybiB2YWx1ZSBmcm9tIHRoZSBfX2NvbXBsZXhfXyBzcGVjaWFsIG1ldGhvZCBpcyBubworICBsb25nZXIgYWNjZXB0ZWQgaW4gdGhlIGNvbXBsZXgoKSBjb25zdHJ1Y3Rvci4KKworLSBJc3N1ZSAjMTY0MTY6IE9uIE1hYyBPUyBYLCBvcGVyYXRpbmcgc3lzdGVtIGRhdGEgYXJlIG5vdyBhbHdheXMKKyAgZW5jb2RlZC9kZWNvZGVkIHRvL2Zyb20gVVRGLTgvc3Vycm9nYXRlZXNjYXBlLCBpbnN0ZWFkIG9mIHRoZSBsb2NhbGUgZW5jb2RpbmcKKyAgKHdoaWNoIG1heSBiZSBBU0NJSSBpZiBubyBsb2NhbGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgc2V0KSwgdG8gYXZvaWQKKyAgaW5jb25zaXN0ZW5jaWVzIHdpdGggb3MuZnNlbmNvZGUoKSBhbmQgb3MuZnNkZWNvZGUoKSBmdW5jdGlvbnMgd2hpY2ggYXJlCisgIGFscmVhZHkgdXNpbmcgVVRGLTgvc3Vycm9nYXRlZXNjYXBlLgorCiAtIElzc3VlICMxNjQ1MzogRml4IGVxdWFsaXR5IHRlc3Rpbmcgb2YgZGVhZCB3ZWFrcmVmIG9iamVjdHMuCiAKIC0gSXNzdWUgIzk1MzU6IEZpeCBwZW5kaW5nIHNpZ25hbHMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQgYnV0IG5vdCB5ZXQKICAgaGFuZGxlZCBieSBQeXRob24gdG8gbm90IHBlcnNpc3QgYWZ0ZXIgb3MuZm9yaygpIGluIHRoZSBjaGlsZCBwcm9jZXNzLgogCistIElzc3VlICMxNDc5NDogRml4IHNsaWNlLmluZGljZXMgdG8gcmV0dXJuIGNvcnJlY3QgcmVzdWx0cyBmb3IgaHVnZSB2YWx1ZXMsCisgIHJhdGhlciB0aGFuIHJhaXNpbmcgT3ZlcmZsb3dFcnJvci4KKwogLSBJc3N1ZSAjMTUwMDE6IGZpeCBzZWdmYXVsdCBvbiAiZGVsIHN5cy5tb2R1bGVzWydfX21haW5fXyddIi4gUGF0Y2ggYnkgVmljdG9yCiAgIFN0aW5uZXIuCiAKQEAgLTMzNiwyMyArMzkwLDQzIEBACiAtIElzc3VlICM4NDAxOiBhc3NpZ25pbmcgYW4gaW50IHRvIGEgYnl0ZWFycmF5IHNsaWNlIChlLmcuIGJbMzo0XSA9IDUpIG5vdwogICByYWlzZXMgYW4gZXJyb3IuCiAKKy0gSXNzdWUgIzczMTc6IERpc3BsYXkgZnVsbCB0cmFjZWJhY2tzIHdoZW4gYW4gZXJyb3Igb2NjdXJzIGFzeW5jaHJvbm91c2x5LgorICBQYXRjaCBieSBBbG9uIEhvcmV2IHdpdGggdXBkYXRlIGJ5IEFsZXhleSBLYWNoYXlldi4KKworLSBJc3N1ZSAjMTYzMDk6IE1ha2UgUFlUSE9OUEFUSD0iIiBiZWhhdmlvciB0aGUgc2FtZSBhcyBpZiBQWVRIT05QQVRICisgIG5vdCBzZXQgYXQgYWxsLgorCistIElzc3VlICMxMDE4OTogSW1wcm92ZSB0aGUgZXJyb3IgcmVwb3J0aW5nIG9mIFN5bnRheEVycm9ycyByZWxhdGVkIHRvIGdsb2JhbAorICBhbmQgbm9ubG9jYWwgc3RhdGVtZW50cy4KKwogLSBGaXggc2VnZmF1bHRzIG9uIHNldHRpbmcgX19xdWFsbmFtZV9fIG9uIGJ1aWx0aW4gdHlwZXMgYW5kIGF0dGVtcHRpbmcgdG8KICAgZGVsZXRlIGl0IG9uIGFueSB0eXBlLgogCistIElzc3VlICMxNDYyNTogUmV3cml0ZSB0aGUgVVRGLTMyIGRlY29kZXIuIEl0IGlzIG5vdyAzeCB0byA0eCBmYXN0ZXIuIFBhdGNoCisgIHdyaXR0ZW4gYnkgU2VyaGl5IFN0b3JjaGFrYS4KKwogLSBJc3N1ZSAjMTYzNDU6IEZpeCBhbiBpbmZpbml0ZSBsb29wIHdoZW4gYGBmcm9ta2V5c2BgIG9uIGEgZGljdCBzdWJjbGFzcwogICByZWNlaXZlZCBhIG5vbmVtcHR5IGRpY3QgZnJvbSB0aGUgY29uc3RydWN0b3IuCiAKIC0gSXNzdWUgIzE2MjcxOiBGaXggc3RyYW5nZSBidWdzIHRoYXQgcmVzdWx0ZWQgZnJvbSBfX3F1YWxuYW1lX18gYXBwZWFyaW5nIGluIGEKICAgY2xhc3MncyBfX2RpY3RfXyBhbmQgb24gdHlwZS4KIAorLSBJc3N1ZSAjMTI4MDU6IE1ha2UgYnl0ZXMuam9pbiBhbmQgYnl0ZWFycmF5LmpvaW4gZmFzdGVyIHdoZW4gdGhlIHNlcGFyYXRvcgorICBpcyBlbXB0eS4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKIC0gSXNzdWUgIzYwNzQ6IEVuc3VyZSBjYWNoZWQgYnl0ZWNvZGUgZmlsZXMgY2FuIGFsd2F5cyBiZSB1cGRhdGVkIGJ5IHRoZQogICB1c2VyIHRoYXQgY3JlYXRlZCB0aGVtLCBldmVuIHdoZW4gdGhlIHNvdXJjZSBmaWxlIGlzIHJlYWQtb25seS4KIAorLSBJc3N1ZSAjMTU5NTg6IGJ5dGVzLmpvaW4gYW5kIGJ5dGVhcnJheS5qb2luIG5vdyBhY2NlcHQgYXJiaXRyYXJ5IGJ1ZmZlcgorICBvYmplY3RzLgorCiAtIElzc3VlICMxNDc4MzogSW1wcm92ZSBpbnQoKSBkb2NzdHJpbmcgYW5kIHN3aXRjaCBkb2NzdHJpbmdzIGZvciBzdHIoKSwKICAgcmFuZ2UoKSwgYW5kIHNsaWNlKCkgdG8gdXNlIG11bHRpLWxpbmUgc2lnbmF0dXJlcy4KIAogLSBJc3N1ZSAjMTYxNjA6IFN1YmNsYXNzIHN1cHBvcnQgbm93IHdvcmtzIGZvciB0eXBlcy5TaW1wbGVOYW1lc3BhY2UuCiAKKy0gVXBncmFkZSBVbmljb2RlIGRhdGEgKFVDRCkgdG8gdmVyc2lvbiA2LjIuCisKIC0gSXNzdWUgIzE1Mzc5OiBGaXggcGFzc2luZyBvZiBub24tQk1QIGNoYXJhY3RlcnMgYXMgaW50ZWdlcnMgZm9yIHRoZSBjaGFybWFwCiAgIGRlY29kZXIgKGFscmVhZHkgd29ya2luZyBhcyB1bmljb2RlIHN0cmluZ3MpLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIApAQCAtMzY1LDI1ICs0MzksNTAgQEAKIAogLSBJc3N1ZSAjMTU4Mzk6IENvbnZlcnQgU3lzdGVtRXJyb3JzIGluIGBzdXBlcigpYCB0byBSdW50aW1lRXJyb3JzLgogCistIElzc3VlICMxNTQ0ODogQnVmZmVyZWQgSU8gbm93IGZyZWVzIHRoZSBidWZmZXIgd2hlbiBjbG9zZWQsIGluc3RlYWQKKyAgb2Ygd2hlbiBkZWFsbG9jYXRpbmcuCisKIC0gSXNzdWUgIzE1ODQ2OiBGaXggU3lzdGVtRXJyb3Igd2hpY2ggaGFwcGVuZWQgd2hlbiB1c2luZyBgYXN0LnBhcnNlKClgIGluIGFuCiAgIGV4Y2VwdGlvbiBoYW5kbGVyIG9uIGNvZGUgd2l0aCBzeW50YXggZXJyb3JzLgogCistIElzc3VlICMxNTg5NzogemlwaW1wb3J0LmMgZG9lc24ndCBjaGVjayByZXR1cm4gdmFsdWUgb2YgZnNlZWsoKS4KKyAgUGF0Y2ggYnkgRmVsaXBlIENydXouCisKIC0gSXNzdWUgIzE1ODAxOiBNYWtlIHN1cmUgbWFwcGluZ3MgcGFzc2VkIHRvICclJyBmb3JtYXR0aW5nIGFyZSBhY3R1YWxseQogICBzdWJzY3JpcHRhYmxlLgogCi0tIElzc3VlICMxNTExMTogX19pbXBvcnRfXyBzaG91bGQgbGV0IEltcG9ydEVycm9yIHByb3BhZ2F0ZSB3aGVuIGEgbW9kdWxlIHRoYXQKLSAgaXMgaW1wb3J0ZWQgYXMgYSBzaWRlLWVmZmVjdCBvZiB1c2luZyBmcm9tbGlzdCB0cmllcyB0byBpbXBvcnQgYSBtb2R1bGUKLSAgdGhhdCBjYW5ub3QgYmUgZm91bmQuCistIElzc3VlICMxNTExMTogX19pbXBvcnRfXyBzaG91bGQgcHJvcGFnYXRlIEltcG9ydEVycm9yIHdoZW4gcmFpc2VkIGFzIGEKKyAgc2lkZS1lZmZlY3Qgb2YgYSBtb2R1bGUgdHJpZ2dlcmVkIGZyb20gdXNpbmcgZnJvbWxpc3QuCiAKKy0gSXNzdWUgIzE1MDIyOiBBZGQgcGlja2xlIGFuZCBjb21wYXJpc29uIHN1cHBvcnQgdG8gdHlwZXMuU2ltcGxlTmFtZXNwYWNlLgogCiBMaWJyYXJ5CiAtLS0tLS0tCiAKKy0gSXNzdWUgIzE1NTk2OiBGYXN0ZXIgcGlja2xpbmcgb2YgdW5pY29kZSBzdHJpbmdzLgorCistIElzc3VlICMxNzU3MjogQXZvaWQgY2hhaW5lZCBleGNlcHRpb25zIHdoaWxlIHBhc3NpbmcgYmFkIGRpcmVjdGl2ZXMgdG8KKyAgdGltZS5zdHJwdGltZSgpLiAgSW5pdGlhbCBwYXRjaCBieSBDbGF1ZGl1IFBvcGEuCisKKy0gSXNzdWUgIzE3NDM1OiB0aHJlYWRpbmcuVGltZXIncyBfX2luaXRfXyBtZXRob2Qgbm8gbG9uZ2VyIHVzZXMgbXV0YWJsZQorICBkZWZhdWx0IHZhbHVlcyBmb3IgdGhlIGFyZ3MgYW5kIGt3YXJncyBwYXJhbWV0ZXJzLgorCistIElzc3VlICMxNzUyNjogZml4IGFuIEluZGV4RXJyb3IgcmFpc2VkIHdoaWxlIHBhc3NpbmcgY29kZSB3aXRob3V0IGZpbGVuYW1lIHRvCisgIGluc3BlY3QuZmluZHNvdXJjZSgpLiAgSW5pdGlhbCBwYXRjaCBieSBUeWxlciBEb3lsZS4KKwogLSBJc3N1ZSAjMTc1NDA6IEFkZGVkIHN0eWxlIHRvIGZvcm1hdHRlciBjb25maWd1cmF0aW9uIGJ5IGRpY3QuCiAKKy0gSXNzdWUgIzE2NjkyOiBUaGUgc3NsIG1vZHVsZSBub3cgc3VwcG9ydHMgVExTIDEuMSBhbmQgVExTIDEuMi4gIEluaXRpYWwKKyAgcGF0Y2ggYnkgTWljaGVsZSBPcnLDuS4KKworLSBJc3N1ZSAjMTcwMjU6IG11bHRpcHJvY2Vzc2luZzogUmVkdWNlIFF1ZXVlIGFuZCBTaW1wbGVRdWV1ZSBjb250ZW50aW9uLgorCiAtIElzc3VlICMxNzUzNjogQWRkIHRvIHdlYmJyb3dzZXIncyBicm93c2VyIGxpc3Q6IHd3dy1icm93c2VyLCB4LXd3dy1icm93c2VyLAogICBpY2V3ZWFzZWwsIGljZWFwZS4KIAorLSBJc3N1ZSAjMTcxNTA6IHBwcmludCBub3cgdXNlcyBsaW5lIGNvbnRpbnVhdGlvbnMgdG8gd3JhcCBsb25nIHN0cmluZworICBsaXRlcmFscy4KKwogLSBJc3N1ZSAjMTc0ODg6IENoYW5nZSB0aGUgc3VicHJvY2Vzcy5Qb3BlbiBidWZzaXplIHBhcmFtZXRlciBkZWZhdWx0IHZhbHVlCiAgIGZyb20gdW5idWZmZXJlZCAoMCkgdG8gYnVmZmVyaW5nICgtMSkgdG8gbWF0Y2ggdGhlIGJlaGF2aW9yIGV4aXN0aW5nIGNvZGUKICAgZXhwZWN0cyBhbmQgbWF0Y2ggdGhlIGJlaGF2aW9yIG9mIHRoZSBzdWJwcm9jZXNzIG1vZHVsZSBpbiBQeXRob24gMiB0byBhdm9pZApAQCAtNDAyLDYgKzUwMSwxOCBAQAogICBzZW5kaW5nIG1haWwgYnkgY2xvc2luZyB0aGUgc29ja2V0IGFuZCByZXBvcnRpbmcgdGhlIDQyMSBlcnJvciBjb2RlIHZpYSB0aGUKICAgZXhjZXB0aW9uIGFwcHJvcHJpYXRlIHRvIHRoZSBjb21tYW5kIHRoYXQgcmVjZWl2ZWQgdGhlIGVycm9yIHJlc3BvbnNlLgogCistIElzc3VlICMxNjk5NzogdW5pdHRlc3QuVGVzdENhc2Ugbm93IHByb3ZpZGVzIGEgc3ViVGVzdCgpIGNvbnRleHQgbWFuYWdlcgorICB0byBwcm9jZWR1cmFsbHkgZ2VuZXJhdGUsIGluIGFuIGVhc3kgd2F5LCBzbWFsbCB0ZXN0IGluc3RhbmNlcy4KKworLSBJc3N1ZSAjMTc0ODU6IEFsc28gZGVsZXRlIHRoZSBSZXF1ZXN0IENvbnRlbnQtTGVuZ3RoIGhlYWRlciBpZiB0aGUgZGF0YQorICBhdHRyaWJ1dGUgaXMgZGVsZXRlZC4gIChGb2xsb3cgb24gdG8gaXNzdWUgMTY0NjQpLgorCistIElzc3VlICMxNTkyNzogQ1ZTIG5vdyBjb3JyZWN0bHkgcGFyc2VzIGVzY2FwZWQgbmV3bGluZXMgYW5kIGNhcnJpYWdlCisgIHdoZW4gcGFyc2luZyB3aXRoIHF1b3RpbmcgdHVybmVkIG9mZi4KKworLSBJc3N1ZSAjMTc0Njc6IGFkZCByZWFkbGluZSBhbmQgcmVhZGxpbmVzIHN1cHBvcnQgdG8gbW9ja19vcGVuIGluCisgIHVuaXR0ZXN0Lm1vY2suCisKIC0gSXNzdWUgIzE3MTkyOiBVcGRhdGUgdGhlIGN0eXBlcyBtb2R1bGUncyBsaWJmZmkgdG8gdjMuMC4xMy4gIFRoaXMKICAgc3BlY2lmaWNhbGx5IGFkZHJlc3NlcyBhIHN0YWNrIG1pc2FsaWdubWVudCBpc3N1ZSBvbiB4ODYgYW5kIGlzc3VlcyBvbgogICBzb21lIG1vcmUgcmVjZW50IHBsYXRmb3Jtcy4KQEAgLTQxNSwyMCArNTI2LDUxIEBACiAtIElzc3VlICMxNzQ3NjogRml4ZWQgcmVncmVzc2lvbiByZWxhdGl2ZSB0byBQeXRob24yIGluIHVuZG9jdW1lbnRlZCBweWRvYwogICAnYWxsbWV0aG9kcyc7IGl0IHdhcyBtaXNzaW5nIHVuYm91bmQgbWV0aG9kcyBvbiB0aGUgY2xhc3MuCiAKKy0gSXNzdWUgIzE3NDc0OiBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgbWV0aG9kcyBvZiBSZXF1ZXN0IGNsYXNzLgorCistIElzc3VlICMxNjcwOTogdW5pdHRlc3QgZGlzY292ZXIgb3JkZXIgaXMgbm8tbG9uZ2VyIGZpbGVzeXN0ZW0gc3BlY2lmaWMuIFBhdGNoCisgIGJ5IEplZmYgUmFtbmFuaS4KKworLSBVc2UgdGhlIEhUVFBTIFB5UEkgdXJsIGZvciB1cGxvYWQsIG92ZXJyaWRpbmcgYW55IHBsYWluIEhUVFAgVVJMIGluIHB5cGlyYy4KKworLSBJc3N1ZSAjNTAyNDogc25kaGRyLndoaWNoaGRyIG5vdyByZXR1cm5zIHRoZSBmcmFtZSBjb3VudCBmb3IgV0FWIGZpbGVzCisgIHJhdGhlciB0aGFuIC0xLgorCistIElzc3VlICMxNzQ2MDogUmVtb3ZlIHRoZSBzdHJpY3QgYXJndW1lbnQgb2YgSFRUUENvbm5lY3Rpb24gYW5kIHJlbW92aW5nIHRoZQorICBEZXByZWNhdGlvbldhcm5pbmcgYmVpbmcgaXNzdWVkIGZyb20gMy4yIG9ud2FyZHMuCisKIC0gSXNzdWUgIzE2ODgwOiBEbyBub3QgYXNzdW1lIF9pbXAubG9hZF9keW5hbWljKCkgaXMgZGVmaW5lZCBpbiB0aGUgaW1wIG1vZHVsZS4KIAogLSBJc3N1ZSAjMTYzODk6IEZpeGVkIGEgcGVyZm9ybWFuY2UgcmVncmVzc2lvbiByZWxhdGl2ZSB0byBQeXRob24gMy4xIGluIHRoZQogICBjYWNoaW5nIG9mIGNvbXBpbGVkIHJlZ3VsYXIgZXhwcmVzc2lvbnMuCiAKKy0gQWRkZWQgbWlzc2luZyBGZWVkUGFyc2VyIGFuZCBCeXRlc0ZlZWRQYXJzZXIgdG8gZW1haWwucGFyc2VyLl9fYWxsX18uCisKIC0gSXNzdWUgIzE3NDMxOiBGaXggbWlzc2luZyBpbXBvcnQgb2YgQnl0ZXNGZWVkUGFyc2VyIGluIGVtYWlsLnBhcnNlci4KIAorLSBJc3N1ZSAjMTI5MjE6IGh0dHAuc2VydmVyJ3Mgc2VuZF9lcnJvciB0YWtlcyBhbiBleHBsYWluIGFyZ3VtZW50IHRvIHNlbmQgbW9yZQorICBpbmZvcm1hdGlvbiBpbiByZXNwb25zZS4gUGF0Y2ggY29udHJpYnV0ZWQgYnkgS2FybC4KKworLSBJc3N1ZSAjMTc0MTQ6IEFkZCB0aW1laXQsIHJlcGVhdCwgYW5kIGRlZmF1bHRfdGltZXIgdG8gdGltZWl0Ll9fYWxsX18uCisKIC0gSXNzdWUgIzEyODUwODY6IEdldCByaWQgb2YgdGhlIHJlZmNvdW50aW5nIGhhY2sgYW5kIHNwZWVkIHVwCiAgIHVybGxpYi5wYXJzZS51bnF1b3RlKCkgYW5kIHVybGxpYi5wYXJzZS51bnF1b3RlX3RvX2J5dGVzKCkuCiAKKy0gSXNzdWUgIzE3MDk5OiBIYXZlIGltcG9ydGxpYi5maW5kX2xvYWRlcigpIHJhaXNlIFZhbHVlRXJyb3Igd2hlbiBfX2xvYWRlcl9fCisgIGlzIG5vdCBzZXQsIGhhcm1vbml6aW5nIHdpdGggd2hhdCBoYXBwZW5zIHdoZW4gdGhlIGF0dHJpYnV0ZSBpcyBzZXQgdG8gTm9uZS4KKworLSBFeHBvc2UgdGhlIE9fUEFUSCBjb25zdGFudCBpbiB0aGUgb3MgbW9kdWxlIGlmIGl0IGlzIGF2YWlsYWJsZS4KKwogLSBJc3N1ZSAjMTczNjg6IEZpeCBhbiBvZmYtYnktb25lIGVycm9yIGluIHRoZSBQeXRob24gSlNPTiBkZWNvZGVyIHRoYXQgY2F1c2VkCiAgIGEgZmFpbHVyZSB3aGlsZSBkZWNvZGluZyBlbXB0eSBvYmplY3QgbGl0ZXJhbHMgd2hlbiBvYmplY3RfcGFpcnNfaG9vayB3YXMKICAgc3BlY2lmaWVkLgogCistIElzc3VlICMxNzM4NTogRml4IHF1YWRyYXRpYyBiZWhhdmlvciBpbiB0aHJlYWRpbmcuQ29uZGl0aW9uLiAgVGhlIEZJRk8KKyAgcXVldWUgbm93IHVzZXMgYSBkZXF1ZSBpbnN0ZWFkIG9mIGEgbGlzdC4KKworLSBJc3N1ZSAjMTU4MDY6IEFkZCBjb250ZXh0bGliLmlnbm9yZWQoKS4gIFRoaXMgY3JlYXRlcyBhIGNvbnRleHQgbWFuYWdlcgorICB0byBpZ25vcmUgc3BlY2lmaWVkIGV4Y2VwdGlvbnMsIHJlcGxhY2luZyB0aGUgImV4Y2VwdCBFeGM6IHBhc3MiIGlkaW9tLgorCiAtIElzc3VlICMxNDY0NTogVGhlIGVtYWlsIGdlbmVyYXRvciBjbGFzc2VzIG5vdyBwcm9kdWNlIG91dHB1dCB1c2luZyB0aGUKICAgc3BlY2lmaWVkIGxpbmVzZXAgdGhyb3VnaG91dC4gIFByZXZpb3VzbHkgaWYgdGhlIHByb2xvZywgZXBpbG9nLCBvcgogICBib2R5IHdlcmUgc3RvcmVkIHdpdGggYSBkaWZmZXJlbnQgbGluZXNlcCwgdGhhdCBsaW5lc2VwIHdhcyB1c2VkLiAgVGhpcwpAQCAtNDQwLDE4ICs1ODIsMzAgQEAKIC0gSXNzdWUgIzE2OTYyOiBVc2UgZ2V0ZGVudHM2NCBpbnN0ZWFkIG9mIHRoZSBvYnNvbGV0ZSBnZXRkZW50cyBzeXNjYWxsCiAgIGluIHRoZSBzdWJwcm9jZXNzIG1vZHVsZSBvbiBMaW51eC4KIAorLSBJc3N1ZSAjMTY5MzU6IHVuaXR0ZXN0IG5vdyBjb3VudHMgdGhlIG1vZHVsZSBhcyBza2lwcGVkIGlmIGl0IHJhaXNlcyBTa2lwVGVzdCwKKyAgaW5zdGVhZCBvZiBjb3VudGluZyBpdCBhcyBhbiBlcnJvci4gIFBhdGNoIGJ5IFphY2hhcnkgV2FyZS4KKwogLSBJc3N1ZSAjMTcwMTg6IE1ha2UgUHJvY2Vzcy5qb2luKCkgcmV0cnkgaWYgb3Mud2FpdHBpZCgpIGZhaWxzIHdpdGggRUlOVFIuCiAKIC0gSXNzdWUgIzE3MjIzOiBhcnJheSBtb2R1bGU6IEZpeCBhIGNyYXNoZXIgd2hlbiBjb252ZXJ0aW5nIGFuIGFycmF5IGNvbnRhaW5pbmcKICAgaW52YWxpZCBjaGFyYWN0ZXJzIChvdXRzaWRlIHJhbmdlIFtVKzAwMDA7IFUrMTBmZmZmXSkgdG8gVW5pY29kZToKICAgcmVwcihhcnJheSksIHN0cihhcnJheSkgYW5kIGFycmF5LnRvdW5pY29kZSgpLiBQYXRjaCB3cml0dGVuIGJ5IE1hbnVlbCBKYWNvYi4KIAorLSBJc3N1ZSAjMTcxOTc6IHByb2ZpbGUvY1Byb2ZpbGUgbW9kdWxlcyByZWZhY3RvcmVkIHNvIHRoYXQgY29kZSBvZiBydW4oKSBhbmQKKyAgcnVuY3R4KCkgdXRpbGl0eSBmdW5jdGlvbnMgaXMgbm90IGR1cGxpY2F0ZWQgaW4gYm90aCBtb2R1bGVzLgorCiAtIElzc3VlICMxNDcyMDogc3FsaXRlMzogQ29udmVydCBkYXRldGltZSBtaWNyb3NlY29uZHMgY29ycmVjdGx5LgogICBQYXRjaCBieSBMb3dlIFRoaWRlcm1hbi4KIAorLSBJc3N1ZSAjMTUxMzI6IEFsbG93IGEgbGlzdCBmb3IgdGhlIGRlZmF1bHRUZXN0IGFyZ3VtZW50IG9mCisgIHVuaXR0ZXN0LlRlc3RQcm9ncmFtLiBQYXRjaCBieSBKeXJraSBQdWxsaWFpbmVuLgorCiAtIElzc3VlICMxNzIyNTogSlNPTiBkZWNvZGVyIG5vdyBjb3VudHMgY29sdW1ucyBpbiB0aGUgZmlyc3QgbGluZSBzdGFydGluZwogICB3aXRoIDEsIGFzIGluIG90aGVyIGxpbmVzLgogCistIElzc3VlICM2NjIzOiBBZGRlZCBleHBsaWNpdCBEZXByZWNhdGlvbldhcm5pbmcgZm9yIGZ0cGxpYi5uZXRyYywgd2hpY2ggaGFzCisgIGJlZW4gZGVwcmVjYXRlZCBhbmQgdW5kb2N1bWVudGVkIGZvciBhIGxvbmcgdGltZS4KKwogLSBJc3N1ZSAjMTM3MDA6IEZpeCBieXRlL3N0cmluZyBoYW5kbGluZyBpbiBpbWFwbGliIGF1dGhlbnRpY2F0aW9uIHdoZW4gYW4KICAgYXV0aG9iamVjdCBpcyBzcGVjaWZpZWQuCiAKQEAgLTQ2OCwxMSArNjIyLDE5IEBACiAtIElzc3VlICMxNzE0MzogRml4IGEgbWlzc2luZyBpbXBvcnQgaW4gdGhlIHRyYWNlIG1vZHVsZS4gIEluaXRpYWwgcGF0Y2ggYnkKICAgQmVya2VyIFBla3NhZy4KIAorLSBJc3N1ZSAjMTUyMjA6IGVtYWlsLmZlZWRwYXJzZXIncyBsaW5lIHNwbGl0dGluZyBhbGdvcml0aG0gaXMgbm93IHNpbXBsZXIgYW5kCisgIGZhc3Rlci4KKwogLSBJc3N1ZSAjMTY3NDM6IEZpeCBtbWFwIG92ZXJmbG93IGNoZWNrIG9uIDMyIGJpdCBXaW5kb3dzLgogCistIElzc3VlICMxNjk5Njogd2ViYnJvd3NlciBtb2R1bGUgbm93IHVzZXMgc2h1dGlsLndoaWNoKCkgdG8gZmluZCBhCisgIHdlYi1icm93c2VyIG9uIHRoZSBleGVjdXRhYmxlIHNlYXJjaCBwYXRoLgorCiAtIElzc3VlICMxNjgwMDogdGVtcGZpbGUuZ2V0dGVtcGRpcigpIG5vIGxvbmdlciBsZWZ0IHRlbXBvcmFyeSBmaWxlcyB3aGVuCiAgIHRoZSBkaXNrIGlzIGZ1bGwuICBPcmlnaW5hbCBwYXRjaCBieSBBbWlyIFN6ZWtlbHkuCiAKKy0gSXNzdWUgIzE3MTkyOiBJbXBvcnQgbGliZmZpLTMuMC4xMi4KKwogLSBJc3N1ZSAjMTY1NjQ6IEZpeGVkIHJlZ3Jlc3Npb24gcmVsYXRpdmUgdG8gUHl0aG9uMiBpbiB0aGUgb3BlcmF0aW9uIG9mCiAgIGVtYWlsLmVuY29kZXJzLmVuY29kZV83b3I4Yml0IHdoZW4gdXNlZCB3aXRoIGJpbmFyeSBkYXRhLgogCkBAIC00OTAsNiArNjUyLDkgQEAKIC0gSXNzdWUgIzY5NzU6IG9zLnBhdGgucmVhbHBhdGgoKSBub3cgY29ycmVjdGx5IHJlc29sdmVzIG11bHRpcGxlIG5lc3RlZAogICBzeW1saW5rcyBvbiBQT1NJWCBwbGF0Zm9ybXMuCiAKKy0gSXNzdWUgIzEzNzczOiBzcWxpdGUzLmNvbm5lY3QoKSBnZXRzIGEgbmV3IGB1cmlgIHBhcmFtZXRlciB0byBwYXNzIHRoZQorICBmaWxlbmFtZSBhcyBhIFVSSSwgYWxsb3dpbmcgdG8gcGFzcyBjdXN0b20gb3B0aW9ucy4KKwogLSBJc3N1ZSAjMTY1NjQ6IEZpeGVkIHJlZ3Jlc3Npb24gcmVsYXRpdmUgdG8gUHl0aG9uMiBpbiB0aGUgb3BlcmF0aW9uIG9mCiAgIGVtYWlsLmVuY29kZXJzLmVuY29kZV9ub29wIHdoZW4gdXNlZCB3aXRoIGJpbmFyeSBkYXRhLgogCkBAIC01MDgsNiArNjczLDkgQEAKIC0gSXNzdWUgIzE2NzIzOiBodHRwbGliLkhUVFBSZXNwb25zZSBubyBsb25nZXIgbWFya2VkIGNsb3NlZCB3aGVuIHRoZSBjb25uZWN0aW9uCiAgIGlzIGF1dG9tYXRpY2FsbHkgY2xvc2VkLgogCistIElzc3VlICMxNTM1OTogQWRkIENBTl9CQ00gcHJvdG9jb2wgc3VwcG9ydCB0byB0aGUgc29ja2V0IG1vZHVsZS4gUGF0Y2ggYnkKKyAgQnJpYW4gVGhvcm5lLgorCiAtIElzc3VlICMxNjk0ODogRml4IHF1b3RlZCBwcmludGFibGUgYm9keSBlbmNvZGluZyBmb3Igbm9uLWxhdGluMSBjaGFyYWN0ZXIKICAgc2V0cyBpbiB0aGUgZW1haWwgcGFja2FnZS4KIApAQCAtNTMyLDYgKzcwMCwxMCBAQAogICBzdHJlYW0gb3IgYSBkZWNvZGVyIHByb2R1Y2VzIGRhdGEgb2YgYW4gdW5leHBlY3RlZCB0eXBlIChpLmUuIHdoZW4KICAgaW8uVGV4dElPV3JhcHBlciBpbml0aWFsaXplZCB3aXRoIHRleHQgc3RyZWFtIG9yIHVzZSBieXRlcy10by1ieXRlcyBjb2RlYykuCiAKKy0gSXNzdWUgIzE3MDE1OiBXaGVuIGl0IGhhcyBhIHNwZWMsIGEgTW9jayBvYmplY3Qgbm93IGluc3BlY3RzIGl0cyBzaWduYXR1cmUKKyAgd2hlbiBtYXRjaGluZyBjYWxscywgc28gdGhhdCBhcmd1bWVudHMgY2FuIGJlIG1hdGNoZWQgcG9zaXRpb25hbGx5IG9yCisgIGJ5IG5hbWUuCisKIC0gSXNzdWUgIzE1NjMzOiBodHRwbGliLkhUVFBSZXNwb25zZSBpcyBub3cgbWFyayBjbG9zZWQgd2hlbiB0aGUgc2VydmVyCiAgIHNlbmRzIGxlc3MgdGhhbiB0aGUgYWR2ZXJ0aXNlZCBDb250ZW50LUxlbmd0aC4KIApAQCAtNTUxLDYgKzcyMywxMSBAQAogLSBJc3N1ZSAjMTIwMDQ6IEZpeCBhbiBpbnRlcm5hbCBlcnJvciBpbiBQeVppcEZpbGUgd2hlbiB3cml0aW5nIGFuIGludmFsaWQKICAgUHl0aG9uIGZpbGUuICBQYXRjaCBieSBCZW4gTW9yZ2FuLgogCistIEhhdmUgcHlfY29tcGlsZSB1c2UgaW1wb3J0bGliIGFzIG11Y2ggYXMgcG9zc2libGUgdG8gYXZvaWQgY29kZSBkdXBsaWNhdGlvbi4KKworLSBJc3N1ZSAjMTgwMDIyOiBIYXZlIHNpdGUuYWRkcGFja2FnZSgpIGNvbnNpZGVyIGFscmVhZHkga25vd24gcGF0aHMgZXZlbiB3aGVuCisgIG5vbmUgYXJlIGV4cGxpY2l0bHkgcGFzc2VkIGluLiBCdWcgcmVwb3J0IGFuZCBmaXggYnkgS2lyaWxsLgorCiAtIElzc3VlICMxNjAyMTMzOiBvbiBNYWMgT1MgWCBhIHNoYXJlZCBsaWJyYXJ5IGJ1aWxkIChgYC0tZW5hYmxlLXNoYXJlZGBgKQogICBub3cgZmlsbHMgdGhlIGBgb3MuZW52aXJvbmBgIHZhcmlhYmxlIGNvcnJlY3RseS4KIApAQCAtNTgyLDggKzc1OSw2IEBACiAtIElzc3VlICMxNTg2MTogdGtpbnRlciBub3cgY29ycmVjdGx5IHdvcmtzIHdpdGggbGlzdHMgYW5kIHR1cGxlcyBjb250YWluaW5nCiAgIHN0cmluZ3Mgd2l0aCB3aGl0ZXNwYWNlcywgYmFja3NsYXNoZXMgb3IgdW5iYWxhbmNlZCBicmFjZXMuCiAKLS0gSXNzdWUgIzEwNTI3OiBVc2UgcG9sbCgpIGluc3RlYWQgb2Ygc2VsZWN0KCkgZm9yIG11bHRpcHJvY2Vzc2luZyBwaXBlcy4KLQogLSBJc3N1ZSAjOTcyMDogemlwZmlsZSBub3cgd3JpdGVzIGNvcnJlY3QgbG9jYWwgaGVhZGVycyBmb3IgZmlsZXMgbGFyZ2VyIHRoYW4KICAgNCBHaUIuCiAKQEAgLTU5Miw2ICs3NjcsMTMgQEAKIAogLSBTU0xDb250ZXh0LmxvYWRfZGhfcGFyYW1zKCkgbm93IHByb3Blcmx5IGNsb3NlcyB0aGUgaW5wdXQgZmlsZS4KIAorLSBJc3N1ZSAjMTUwMzE6IFJlZmFjdG9yIHNvbWUgLnB5YyBtYW5hZ2VtZW50IGNvZGUgdG8gY3V0IGRvd24gb24gY29kZQorICBkdXBsaWNhdGlvbi4gVGhhbmtzIHRvIFJvbmFuIExhbXkgZm9yIHRoZSByZXBvcnQgYW5kIHRha2luZyBhbiBpbml0aWFsIHN0YWIKKyAgYXQgdGhlIHByb2JsZW0uCisKKy0gSXNzdWUgIzE2Mzk4OiBPcHRpbWl6ZSBkZXF1ZS5yb3RhdGUoKSBzbyB0aGF0IGl0IG9ubHkgbW92ZXMgcG9pbnRlcnMKKyAgYW5kIGRvZXNuJ3QgdG91Y2ggdGhlIHVuZGVybHlpbmcgZGF0YSB3aXRoIGluY3JlZnMgYW5kIGRlY3JlZnMuCisKIC0gSXNzdWUgIzE2OTAwOiBJc3N1ZSBhIFJlc291cmNlV2FybmluZyB3aGVuIGFuIHNzbCBzb2NrZXQgaXMgbGVmdCB1bmNsb3NlZC4KIAogLSBJc3N1ZSAjMTM4OTk6IFxBLCBcWiwgYW5kIFxCIG5vdyBjb3JyZWN0bHkgbWF0Y2ggdGhlIEEsIFosIGFuZCBCIGxpdGVyYWxzCkBAIC02MDEsMTIgKzc4MywyOSBAQAogICBmYWlsaW5nIGlmIHRoZSBjb25uZWN0aW9uIHVzZWQgYSByb3cgZmFjdG9yeSAoc3VjaCBhcyBzcWxpdGUzLlJvdykgdGhhdAogICBwcm9kdWNlZCB1bnNvcnRhYmxlIG9iamVjdHMuIChSZWdyZXNzaW9uIHdhcyBpbnRyb2R1Y2VkIGJ5IGZpeCBmb3IgOTc1MCkuCiAKKy0gZmNudGw6IGFkZCBGX0RVUEZEX0NMT0VYRUMgY29uc3RhbnQsIGF2YWlsYWJsZSBvbiBMaW51eCAyLjYuMjQrLgorCiAtIElzc3VlICMxNTk3MjogRml4IGVycm9yIG1lc3NhZ2VzIHdoZW4gb3MgZnVuY3Rpb25zIGV4cGVjdGluZyBhIGZpbGUgbmFtZSBvcgogICBmaWxlIGRlc2NyaXB0b3IgcmVjZWl2ZSB0aGUgaW5jb3JyZWN0IHR5cGUuCiAKKy0gSXNzdWUgIzgxMDk6IFRoZSBzc2wgbW9kdWxlIG5vdyBoYXMgc3VwcG9ydCBmb3Igc2VydmVyLXNpZGUgU05JLCB0aGFua3MKKyAgdG8gYSA6bWV0aDpgU1NMQ29udGV4dC5zZXRfc2VydmVybmFtZV9jYWxsYmFja2AgbWV0aG9kLiAgUGF0Y2ggYnkgRGFuaWVsCisgIEJsYWNrLgorCistIElzc3VlICMxNjg2MDogSW4gdGVtcGZpbGUsIHVzZSBPX0NMT0VYRUMgd2hlbiBhdmFpbGFibGUgdG8gc2V0IHRoZQorICBjbG9zZS1vbi1leGVjIGZsYWcgYXRvbWljYWxseS4KKworLSBJc3N1ZSAjMTY2NzQ6IHJhbmRvbS5nZXRyYW5kYml0cygpIGlzIG5vdyAyMC00MCUgZmFzdGVyIGZvciBzbWFsbCBpbnRlZ2Vycy4KKworLSBJc3N1ZSAjMTYwMDk6IEpTT04gZXJyb3IgbWVzc2FnZXMgbm93IHByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbi4KKwogLSBJc3N1ZSAjMTY4Mjg6IEZpeCBlcnJvciBpbmNvcnJlY3RseSByYWlzZWQgYnkgYnoyLmNvbXByZXNzKGInJykgYW5kCiAgIGJ6Mi5CWjJDb21wcmVzc29yLmNvbXByZXNzKGInJykuIEluaXRpYWwgcGF0Y2ggYnkgTWFydGluIFBhY2ttYW4uCiAKKy0gSXNzdWUgIzE2ODMzOiBJbiBodHRwLmNsaWVudC5IVFRQQ29ubmVjdGlvbiwgZG8gbm90IGNvbmNhdGVuYXRlIHRoZSByZXF1ZXN0CisgIGhlYWRlcnMgYW5kIGJvZHkgd2hlbiB0aGUgcGF5bG9hZCBleGNlZWRzIDE2IEtCLCBzaW5jZSBpdCBjYW4gY29uc3VtZSBtb3JlCisgIG1lbW9yeSBmb3Igbm8gYmVuZWZpdC4gIFBhdGNoIGJ5IEJlbm5vIExlc2xpZS4KKwogLSBJc3N1ZSAjMTY1NDE6IHRrX3NldFBhbGV0dGUoKSBub3cgd29ya3Mgd2l0aCBrZXl3b3JkIGFyZ3VtZW50cy4KIAogLSBJc3N1ZSAjMTY4MjA6IEluIGNvbmZpZ3BhcnNlciwgYHBhcnNlci5wb3BpdGVtKClgIG5vIGxvbmdlciByYWlzZXMgVmFsdWVFcnJvci4KQEAgLTYyMiwxNCArODIxLDIxIEBACiAKIC0gSXNzdWUgIzk1ODY6IFJlZGVmaW5lIFNFTV9GQUlMRUQgb24gTWFjT1NYIHRvIGtlZXAgY29tcGlsZXIgaGFwcHkuCiAKKy0gSXNzdWUgIzE2Nzg3OiBJbmNyZWFzZSBhc3luY29yZSBhbmQgYXN5bmNoYXQgZGVmYXVsdCBvdXRwdXQgYnVmZmVycyBzaXplLCB0bworICBkZWNyZWFzZSBDUFUgdXNhZ2UgYW5kIGluY3JlYXNlIHRocm91Z2hwdXQuCisKIC0gSXNzdWUgIzEwNTI3OiBtYWtlIG11bHRpcHJvY2Vzc2luZyB1c2UgcG9sbCgpIGluc3RlYWQgb2Ygc2VsZWN0KCkgaWYgYXZhaWxhYmxlLgogCiAtIElzc3VlICMxNjY4ODogTm93IHJlZ2V4ZXMgY29udGFpbmVkIGJhY2tyZWZlcmVuY2VzIGNvcnJlY3RseSB3b3JrIHdpdGgKICAgbm9uLUFTQ0lJIHN0cmluZ3MuICBQYXRjaCBieSBNYXR0aGV3IEJhcm5ldHQuCiAKKy0gSXNzdWUgIzE2NDg2OiBNYWtlIGFpZmMgZmlsZXMgYWN0IGFzIGNvbnRleHQgbWFuYWdlcnMuCisKIC0gSXNzdWUgIzE2NDg1OiBOb3cgZmlsZSBkZXNjcmlwdG9ycyBhcmUgY2xvc2VkIGlmIGZpbGUgaGVhZGVyIHBhdGNoaW5nIGZhaWxlZAogICBvbiBjbG9zaW5nIGFuIGFpZmMgZmlsZS4KIAorLSBJc3N1ZSAjMTY2NDA6IFJ1biBsZXNzIGNvZGUgdW5kZXIgYSBsb2NrIGluIHNjaGVkIG1vZHVsZS4KKwogLSBJc3N1ZSAjMTYxNjU6IHNjaGVkLnNjaGVkdWxlci5ydW4oKSBubyBsb25nZXIgYmxvY2tzIGEgc2NoZWR1bGVyIGZvciBvdGhlcgogICB0aHJlYWRzLgogCkBAIC02MzksNiArODQ1LDggQEAKIC0gSXNzdWUgIzE2NjE4OiBNYWtlIGdsb2IuZ2xvYiBtYXRjaCBjb25zaXN0ZW50bHkgYWNyb3NzIHN0cmluZ3MgYW5kIGJ5dGVzCiAgIHJlZ2FyZGluZyBsZWFkaW5nIGRvdHMuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCistIElzc3VlICMxNjc4ODogQWRkIHNhbWVzdGF0IHRvIExpYi9udHBhdGgucHkKKwogLSBJc3N1ZSAjMTY3MTM6IFBhcnNpbmcgb2YgJ3RlbCcgdXJscyB1c2luZyB1cmxwYXJzZSBzZXBhcmF0ZXMgcGFyYW1zIGZyb20KICAgcGF0aC4KIApAQCAtNjYwLDEwICs4NjgsMjUgQEAKICAgc3VwcG9ydHMgYWxsIE5vbmUgZGVmYXVsdCB2YWx1ZXMgcHJlc2VudCBpbiBkZWNpbWFsLnB5LiBUaGVzZSB2YWx1ZXMgd2VyZQogICBsYXJnZWx5IHVuZG9jdW1lbnRlZC4KIAorLSBJc3N1ZSAjMTExNzU6IGFyZ3BhcnNlLkZpbGVUeXBlIG5vdyBhY2NlcHRzIGVuY29kaW5nIGFuZCBlcnJvcnMKKyAgYXJndW1lbnRzLiBQYXRjaCBieSBMdWNhcyBNYXlzdHJlLgorCistIElzc3VlICMxNjQ4ODogZXBvbGwoKSBvYmplY3RzIG5vdyBzdXBwb3J0IHRoZSBgd2l0aGAgc3RhdGVtZW50LiAgUGF0Y2gKKyAgYnkgU2VyaGl5IFN0b3JjaGFrYS4KKwogLSBJc3N1ZSAjMTYyOTg6IEluIEhUVFBSZXNwb25zZS5yZWFkKCksIGNsb3NlIHRoZSBzb2NrZXQgd2hlbiB0aGVyZSBpcyBubwogICBDb250ZW50LUxlbmd0aCBhbmQgdGhlIGluY29taW5nIHN0cmVhbSBpcyBmaW5pc2hlZC4gIFBhdGNoIGJ5IEVyYW4KICAgUnVuZHN0ZWluLgogCistIEFkZCBhYmMuQUJDIGNsYXNzIHRvIHVzZSBpbmhlcml0YW5jZSByYXRoZXIgdGhhbiBhIGRpcmVjdCBpbnZvY2F0aW9uIG9mCisgIEFCQ01ldGEgbWV0YWNsYXNzLiBQYXRjaCBieSBCcnVubyBEdXB1aXMuCisKKy0gRXhwb3NlIHRoZSBUQ1BfRkFTVE9QRU4gYW5kIE1TR19GQVNUT1BFTiBmbGFncyBpbiBzb2NrZXQgd2hlbiB0aGV5J3JlCisgIGF2YWlsYWJsZS4KKworLSBJc3N1ZSAjMTU3MDE6IEFkZCBhIC5oZWFkZXJzIGF0dHJpYnV0ZSB0byB1cmxsaWIuZXJyb3IuSFRUUEVycm9yLiBQYXRjaAorICBjb250cmlidXRlZCBieSBCZXJrZXIgUGVrc2FnLgorCiAtIElzc3VlICMxNTg3MjogRml4IDMuMyByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgdGhlIG5ldyBmZC1iYXNlZCBzaHV0aWwucm10cmVlCiAgIHRoYXQgY2F1c2VkIGl0IHRvIG5vdCBpZ25vcmUgY2VydGFpbiBlcnJvcnMgd2hlbiBpZ25vcmVfZXJyb3JzIHdhcyBzZXQuCiAgIFBhdGNoIGJ5IEFsZXNzYW5kcm8gTW91cmEgYW5kIFNlcmhpeSBTdG9yY2hha2EuCkBAIC02NzEsNiArODk0LDkgQEAKIC0gSXNzdWUgIzE2MjQ4OiBEaXNhYmxlIGNvZGUgZXhlY3V0aW9uIGZyb20gdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSBieQogICB0a2ludGVyIHdoZW4gdGhlIC1FIGZsYWcgaXMgcGFzc2VkIHRvIFB5dGhvbi4gIFBhdGNoIGJ5IFphY2hhcnkgV2FyZS4KIAorLSBJc3N1ZSAjMTMzOTA6IE5ldyBmdW5jdGlvbiA6ZnVuYzpgc3lzLmdldGFsbG9jYXRlZGJsb2NrcygpYCByZXR1cm5zIHRoZQorICBudW1iZXIgb2YgbWVtb3J5IGJsb2NrcyBjdXJyZW50bHkgYWxsb2NhdGVkLgorCiAtIElzc3VlICMxNjYyODogRml4IGEgbWVtb3J5IGxlYWsgaW4gY3R5cGVzLnJlc2l6ZSgpLgogCiAtIElzc3VlICMxMzYxNDogRml4IHNldHVwLnB5IHJlZ2lzdGVyIGZhaWx1cmUgd2l0aCBpbnZhbGlkIHJzdCBpbiBkZXNjcmlwdGlvbi4KQEAgLTY5MSw2ICs5MTcsOSBAQAogLSBJc3N1ZSAjMTAxODI6IFRoZSByZSBtb2R1bGUgZG9lc24ndCB0cnVuY2F0ZSBpbmRpY2VzIHRvIDMyIGJpdHMgYW55bW9yZS4KICAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAorLSBJc3N1ZSAjMTYzMzM6IHVzZSAoIiwiLCAiOiAiKSBhcyBkZWZhdWx0IHNlcGFyYXRvciB3aGVuIGluZGVudCBpcyBzcGVjaWZpZWQKKyAgdG8gYXZvaWQgdHJhaWxpbmcgd2hpdGVzcGFjZS4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKIC0gSXNzdWUgIzE2NTczOiBJbiAydG8zLCB0cmVhdCBlbnVtZXJhdGUoKSBsaWtlIGEgY29uc3VtaW5nIGNhbGwsIHNvIHN1cGVyZmx1b3VzCiAgIGxpc3QoKSBjYWxscyBhcmVuJ3QgYWRkZWQgdG8gZmlsdGVyKCksIG1hcCgpLCBhbmQgemlwKCkgd2hpY2ggYXJlIGRpcmVjdGx5CiAgIHBhc3NlZCBlbnVtZXJhdGUoKS4KQEAgLTY5OSwxNyArOTI4LDQ2IEBACiAgIGxlbmd0aHMgYXMgdW5zaWduZWQgMzItYml0IGludGVnZXJzLCBsaWtlIHRoZSBDIGltcGxlbWVudGF0aW9uIGRvZXMuCiAgIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKKy0gSXNzdWUgIzE2NDIzOiB1cmxsaWIucmVxdWVzdCBub3cgaGFzIHN1cHBvcnQgZm9yIGBgZGF0YTpgYCBVUkxzLiAgUGF0Y2ggYnkKKyAgTWF0aGlhcyBQYW56ZW5iw7Zjay4KKworLSBJc3N1ZSAjNDQ3MzogQWRkIGEgUE9QMy5zdGxzKCkgdG8gc3dpdGNoIGEgY2xlYXItdGV4dCBQT1AzIHNlc3Npb24gaW50bworICBhbiBlbmNyeXB0ZWQgUE9QMyBzZXNzaW9uLCBvbiBzdXBwb3J0ZWQgc2VydmVycy4gIFBhdGNoIGJ5IExvcmVuem8gQ2F0dWNjaS4KKworLSBJc3N1ZSAjNDQ3MzogQWRkIGEgUE9QMy5jYXBhKCkgbWV0aG9kIHRvIHF1ZXJ5IHRoZSBjYXBhYmlsaXRpZXMgYWR2ZXJ0aXNlZAorICBieSB0aGUgUE9QMyBzZXJ2ZXIuICBQYXRjaCBieSBMb3JlbnpvIENhdHVjY2kuCisKKy0gSXNzdWUgIzQ0NzM6IEVuc3VyZSB0aGUgc29ja2V0IGlzIHNodXRkb3duIGNsZWFubHkgaW4gUE9QMy5jbG9zZSgpLgorICBQYXRjaCBieSBMb3JlbnpvIENhdHVjY2kuCisKKy0gSXNzdWUgIzE2NTIyOiBhZGRlZCBGQUlMX0ZBU1QgZmxhZyB0byBkb2N0ZXN0LgorCistIElzc3VlICMxNTYyNzogQWRkIHRoZSBpbXBvcnRsaWIuYWJjLlNvdXJjZUxvYWRlci5zb3VyY2VfdG9fY29kZSgpIG1ldGhvZC4KKwogLSBJc3N1ZSAjMTY0MDg6IEZpeCBmaWxlIGRlc2NyaXB0b3JzIG5vdCBiZWluZyBjbG9zZWQgaW4gZXJyb3IgY29uZGl0aW9ucwogICBpbiB0aGUgemlwZmlsZSBtb2R1bGUuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCistIElzc3VlICMxNDYzMTogQWRkIGEgbmV3IDpjbGFzczpgd2Vha3JlZi5XZWFrTWV0aG9kYCB0byBzaW11bGF0ZSB3ZWFrCisgIHJlZmVyZW5jZXMgdG8gYm91bmQgbWV0aG9kcy4KKworLSBJc3N1ZSAjMTY0Njk6IEZpeCBleGNlcHRpb25zIGZyb20gZmxvYXQgLT4gRnJhY3Rpb24gYW5kIERlY2ltYWwgLT4gRnJhY3Rpb24KKyAgY29udmVyc2lvbnMgZm9yIHNwZWNpYWwgdmFsdWVzIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aG9zZSBmb3IgZmxvYXQgLT4gaW50CisgIGFuZCBEZWNpbWFsIC0+IGludC4gIFBhdGNoIGJ5IEFsZXhleSBLYWNoYXlldi4KKwogLSBJc3N1ZSAjMTY0ODE6IG11bHRpcHJvY2Vzc2luZyBubyBsb25nZXIgbGVha3MgcHJvY2VzcyBoYW5kbGVzIG9uIFdpbmRvd3MuCiAKKy0gSXNzdWUgIzEyNDI4OiBBZGQgYSBwdXJlIFB5dGhvbiBpbXBsZW1lbnRhdGlvbiBvZiBmdW5jdG9vbHMucGFydGlhbCgpLgorICBQYXRjaCBieSBCcmlhbiBUaG9ybmUuCisKIC0gSXNzdWUgIzE2MTQwOiBUaGUgc3VicHJvY2VzcyBtb2R1bGUgbm8gbG9uZ2VyIGRvdWJsZSBjbG9zZXMgaXRzIGNoaWxkCiAgIHN1YnByb2Nlc3MuUElQRSBwYXJlbnQgZmlsZSBkZXNjcmlwdG9ycyBvbiBjaGlsZCBlcnJvciBwcmlvciB0byBleGVjKCkuCiAKIC0gUmVtb3ZlIGEgYmFyZSBwcmludCB0byBzdGRvdXQgZnJvbSB0aGUgc3VicHJvY2VzcyBtb2R1bGUgdGhhdCBjb3VsZCBoYXZlCiAgIGhhcHBlbmVkIGlmIHRoZSBjaGlsZCBwcm9jZXNzIHdyb3RlIGdhcmJhZ2UgdG8gaXRzIHByZS1leGVjIGVycm9yIHBpcGUuCiAKKy0gVGhlIHN1YnByb2Nlc3MgbW9kdWxlIG5vdyByYWlzZXMgaXRzIG93biBTdWJwcm9jZXNzRXJyb3IgaW5zdGVhZCBvZiBhCisgIFJ1bnRpbWVFcnJvciBpbiB2YXJpb3VzIGVycm9yIHNpdHVhdGlvbnMgd2hpY2ggc2hvdWxkIG5vdCBub3JtYWxseSBoYXBwZW4uCisKIC0gSXNzdWUgIzE2MzI3OiBUaGUgc3VicHJvY2VzcyBtb2R1bGUgbm8gbG9uZ2VyIGxlYWtzIGZpbGUgZGVzY3JpcHRvcnMKICAgdXNlZCBmb3Igc3RkaW4vc3Rkb3V0L3N0ZGVyciBwaXBlcyB0byB0aGUgY2hpbGQgd2hlbiBmb3JrKCkgZmFpbHMuCiAKQEAgLTczMCw2ICs5ODgsOSBAQAogLSBJc3N1ZSAjMTY0MzE6IFVzZSB0aGUgdHlwZSBpbmZvcm1hdGlvbiB3aGVuIGNvbnN0cnVjdGluZyBhIERlY2ltYWwgc3VidHlwZQogICBmcm9tIGEgRGVjaW1hbCBhcmd1bWVudC4KIAorLSBJc3N1ZSAjMTU2NDE6IENsZWFuIHVwIGRlcHJlY2F0ZWQgY2xhc3NlcyBmcm9tIGltcG9ydGxpYgorICBQYXRjaCBieSBUYXJhcyBMeWFwdW4uCisKIC0gSXNzdWUgIzE2MzUwOiB6bGliLmRlY29tcHJlc3NvYmooKS5kZWNvbXByZXNzKCkgbm93IGFjY3VtdWxhdGVzIGRhdGEgZnJvbQogICBzdWNjZXNzaXZlIGNhbGxzIGFmdGVyIEVPRiBpbiB1bnVzZWRfZGF0YSwgaW5zdGVhZCBvZiBvbmx5IHNhdmluZyB0aGUgYXJndW1lbnQKICAgdG8gdGhlIGxhc3QgY2FsbC4gZGVjb21wcmVzc29iaigpLmZsdXNoKCkgbm93IGNvcnJlY3RseSBzZXRzIHVudXNlZF9kYXRhIGFuZApAQCAtNzQyLDMwICsxMDAzLDU3IEBACiAtIElzc3VlICMxNjE1MjogZml4IHRva2VuaXplIHRvIGlnbm9yZSB3aGl0ZXNwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIGNvZGUgd2hlbgogICBubyBuZXdsaW5lIGlzIGZvdW5kLiAgUGF0Y2ggYnkgTmVkIEJhdGNoZWxkZXIuCiAKKy0gSXNzdWUgIzE2Mjg0OiBQcmV2ZW50IGtlZXBpbmcgdW5uZWNlc3NhcnkgcmVmZXJlbmNlcyB0byB3b3JrZXIgZnVuY3Rpb25zCisgIGluIGNvbmN1cnJlbnQuZnV0dXJlcyBUaHJlYWRQb29sRXhlY3V0b3IuCisKIC0gSXNzdWUgIzE2MjMwOiBGaXggYSBjcmFzaCBpbiBzZWxlY3Quc2VsZWN0KCkgd2hlbiBvbmUgdGhlIGxpc3RzIGNoYW5nZXMKICAgc2l6ZSB3aGlsZSBpdGVyYXRlZCBvbi4gIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCiAKIC0gSXNzdWUgIzE2MjI4OiBGaXggYSBjcmFzaCBpbiB0aGUganNvbiBtb2R1bGUgd2hlcmUgYSBsaXN0IGNoYW5nZXMgc2l6ZQogICB3aGlsZSBpdCBpcyBiZWluZyBlbmNvZGVkLiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAorLSBJc3N1ZSAjMTYzNTE6IE5ldyBmdW5jdGlvbiBnYy5nZXRfc3RhdHMoKSByZXR1cm5zIHBlci1nZW5lcmF0aW9uIGNvbGxlY3Rpb24KKyAgc3RhdGlzdGljcy4KKwogLSBJc3N1ZSAjMTQ4OTc6IEVuaGFuY2UgZXJyb3IgbWVzc2FnZXMgb2Ygc3RydWN0LnBhY2sgYW5kCiAgIHN0cnVjdC5wYWNrX2ludG8uIFBhdGNoIGJ5IE1hdHRpIE3DpGtpLgogCistIElzc3VlICMxNjMxNjogbWltZXR5cGVzIG5vdyByZWNvZ25pemVzIHRoZSAueHogYW5kIC50eHogKC50YXIueHopIGV4dGVuc2lvbnMuCisgIFBhdGNoIGJ5IFNlcmhpeSBTdG9yY2hha2EuCisKIC0gSXNzdWUgIzEyODkwOiBjZ2l0YiBubyBsb25nZXIgcHJpbnRzIHNwdXJpb3VzIDxwPiB0YWdzIGluIHRleHQKICAgbW9kZSB3aGVuIHRoZSBsb2dkaXIgb3B0aW9uIGlzIHNwZWNpZmllZC4KIAogLSBJc3N1ZSAjMTYzMDc6IEZpeCBtdWx0aXByb2Nlc3NpbmcuUG9vbC5tYXBfYXN5bmMgbm90IGNhbGxpbmcgaXRzIGNhbGxiYWNrcy4KICAgUGF0Y2ggYnkgSmFubmUgS2FyaWxhLgogCi0tIElzc3VlICMxNjI1MDogRml4IFVSTEVycm9yIGludm9jYXRpb24gd2l0aCBwcm9wZXIgYXJncy4KKy0gSXNzdWUgIzE2MzA1OiBGaXggYSBzZWdtZW50YXRpb24gZmF1bHQgb2NjdXJyaW5nIHdoZW4gaW50ZXJydXB0aW5nCisgIG1hdGguZmFjdG9yaWFsLgogCiAtIElzc3VlICMxNjExNjogRml4IGluY2x1ZGUgYW5kIGxpYnJhcnkgcGF0aHMgdG8gYmUgY29ycmVjdCB3aGVuIGJ1aWxkaW5nIEMKICAgZXh0ZW5zaW9ucyBpbiB2ZW52cy4KIAogLSBJc3N1ZSAjMTYyNDU6IEZpeCB0aGUgdmFsdWUgb2YgYSBmZXcgZW50aXRpZXMgaW4gaHRtbC5lbnRpdGllcy5odG1sNS4KIAorLSBJc3N1ZSAjMTYzMDE6IEZpeCB0aGUgbG9jYWxob3N0IHZlcmlmaWNhdGlvbiBpbiB1cmxsaWIvcmVxdWVzdC5weSBmb3IgZmlsZTovLworICB1cmxzLgorCistIElzc3VlICMxNjI1MDogRml4IHRoZSBpbnZvY2F0aW9ucyBvZiBVUkxFcnJvciB3aGljaCBoYWQgbWlzcGxhY2VkIGZpbGVuYW1lCisgIGF0dHJpYnV0ZSBmb3IgZXhjZXB0aW9uLgorCistIElzc3VlICMxMDgzNjogRml4IGV4Y2VwdGlvbiByYWlzZWQgd2hlbiBmaWxlIG5vdCBmb3VuZCBpbiB1cmxyZXRyaWV2ZQorICBJbml0aWFsIHBhdGNoIGJ5IEV6aW8gTWVsb3R0aS4KKwogLSBJc3N1ZSAjMTQzOTg6IEZpeCBzaXplIHRydW5jYXRpb24gYW5kIG92ZXJmbG93IGJ1Z3MgaW4gdGhlIGJ6MiBtb2R1bGUuCiAKKy0gSXNzdWUgIzEyNjkyOiBGaXggcmVzb3VyY2UgbGVhayBpbiB1cmxsaWIucmVxdWVzdCB3aGVuIHRhbGtpbmcgdG8gYW4gSFRUUAorICBzZXJ2ZXIgdGhhdCBkb2VzIG5vdCBpbmNsdWRlIGEgIkNvbm5lY3Rpb246IGNsb3NlIiBoZWFkZXIgaW4gaXRzIHJlc3BvbnNlcy4KKworLSBJc3N1ZSAjMTIwMzQ6IEZpeCBib2d1cyBjYWNoaW5nIG9mIHJlc3VsdCBpbiBjaGVja19HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUuCisgIFBhdGNoIGJ5IEF0c3VvIElzaGltb3RvLgorCistIEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgYGx6bWEuTFpNQUZpbGVgLgorCiAtIElzc3VlICMxNjIyMDogd3NnaXJlZiBub3cgYWx3YXlzIGNhbGxzIGNsb3NlKCkgb24gYW4gaXRlcmFibGUgcmVzcG9uc2UuCiAgIFBhdGNoIGJ5IEJyZW50IFR1YmJzLgogCkBAIC03NzcsMjcgKzEwNjUsMzcgQEAKIAogLSBJc3N1ZSAjMTYxNzY6IFByb3Blcmx5IGlkZW50aWZ5IFdpbmRvd3MgOCB2aWEgcGxhdGZvcm0ucGxhdGZvcm0oKQogCistIElzc3VlICMxNjA4ODogQmFzZUhUVFBSZXF1ZXN0SGFuZGxlcidzIHNlbmRfZXJyb3IgbWV0aG9kIGluY2x1ZGVzIGEKKyAgQ29udGVudC1MZW5ndGggaGVhZGVyIGluIGl0J3MgcmVzcG9uc2Ugbm93LiBQYXRjaCBieSBBbnRvaW5lIFBpdHJvdS4KKwogLSBJc3N1ZSAjMTYxMTQ6IFRoZSBzdWJwcm9jZXNzIG1vZHVsZSBubyBsb25nZXIgcHJvdmlkZXMgYSBtaXNsZWFkaW5nIGVycm9yCiAgIG1lc3NhZ2Ugc3RhdGluZyB0aGF0IGFyZ3NbMF0gZGlkIG5vdCBleGlzdCB3aGVuIGVpdGhlciB0aGUgY3dkIG9yIGV4ZWN1dGFibGUKICAga2V5d29yZCBhcmd1bWVudHMgc3BlY2lmaWVkIGEgcGF0aCB0aGF0IGRpZCBub3QgZXhpc3QuCiAKIC0gSXNzdWUgIzE2MTY5OiBGaXggY3R5cGVzLldpbkVycm9yKCkncyBjb25mdXNpb24gYmV0d2VlbiBlcnJubyBhbmQgd2luZXJyb3IuCiAKLS0gSXNzdWUgIzE2MDc2OiBNYWRlIF9lbGVtZW50dHJlZS5FbGVtZW50IHBpY2tsZWFibGUgaW4gYSB3YXkgdGhhdCBpcyBjb21wYXRpYmxlCi0gIHdpdGggdGhlIFB5dGhvbiBFbGVtZW50LiBQaWNrbGluZy91bnBpY2tsaW5nIG9mIHhtbC5ldHJlZS5FbGVtZW50VHJlZS5FbGVtZW50Ci0gIHdvcmtzIGFnYWluIC0gdGhpcyB3YXMgYSB0ZW1wb3JhcnkgcmVncmVzc2lvbiBmcm9tIDMuMiB3aGVyZSB0aGUgYnktZGVmYXVsdAotICBpbXBvcnRlZCBfZWxlbWVudHRyZWUgaGFkIG5vIHBpY2tsaW5nIGNhcGFiaWxpdHkuCistIElzc3VlICMxNDkyNzA0OiBzaHV0aWwuY29weWZpbGUoKSByYWlzZXMgYSBkaXN0aW5jdCBTYW1lRmlsZUVycm9yIG5vdyBpZgorICBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGFyZSB0aGUgc2FtZSBmaWxlLiBQYXRjaCBieSBBdHN1byBJc2hpbW90by4KKworLSBJc3N1ZSAjMTM4OTY6IE1ha2Ugc2hlbGYgaW5zdGFuY2VzIHdvcmsgd2l0aCAnd2l0aCcgYXMgY29udGV4dCBtYW5hZ2Vycy4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KKworLSBJc3N1ZSAjMTU0MTc6IEFkZCBzdXBwb3J0IGZvciBjc2ggYW5kIGZpc2ggaW4gdmVudiBhY3RpdmF0aW9uIHNjcmlwdHMuCisKKy0gSXNzdWUgIzE0Mzc3OiBFbGVtZW50VHJlZS53cml0ZSBhbmQgc29tZSBvZiB0aGUgbW9kdWxlLWxldmVsIGZ1bmN0aW9ucyBoYXZlCisgIGEgbmV3IHBhcmFtZXRlciAtICpzaG9ydF9lbXB0eV9lbGVtZW50cyouIEl0IGNvbnRyb2xzIGhvdyBlbGVtZW50cyB3aXRoIG5vCisgIGNvbnRlbnRzIGFyZSBlbWl0dGVkLgogCiAtIElzc3VlICMxNjA4OTogQWxsb3cgRWxlbWVudFRyZWUuVHJlZUJ1aWxkZXIgdG8gd29yayBhZ2FpbiB3aXRoIGEgbm9uLUVsZW1lbnQKICAgZWxlbWVudF9mYWN0b3J5IChmaXhlcyBhIHJlZ3Jlc3Npb24gaW4gU2ltcGxlVEFMKS4KIAotLSBJc3N1ZSAjMTY5MTM6IEZpeCBFbGVtZW50Lml0ZXJ0ZXh0KCkncyBoYW5kbGluZyBvZiB0ZXh0IHdpdGggWE1MIGVudGl0aWVzLiwKKy0gSXNzdWUgIzk2NTA6IExpc3QgY29tbW9ubHkgdXNlZCBmb3JtYXQgY29kZXMgaW4gdGltZS5zdHJmdGltZSBhbmQKKyAgdGltZS5zdHJwdGltZSBkb2NzdHRpbmdzLiAgT3JpZ2luYWwgcGF0Y2ggYnkgTWlrZSBIb3kuCiAKIC0gSXNzdWUgIzE2MDM0OiBGaXggcGVyZm9ybWFuY2UgcmVncmVzc2lvbnMgaW4gdGhlIG5ldyBgYnoyLkJaMkZpbGVgCiAgIGltcGxlbWVudGF0aW9uLiAgSW5pdGlhbCBwYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCi0tIElzc3VlICMxNjExMjogcGxhdGZvcm0uYXJjaGl0ZWN0dXJlIGRvZXMgbm90IGNvcnJlY3RseSBlc2NhcGUgYXJndW1lbnQgdG8KLSAgL3Vzci9iaW4vZmlsZS4gIFBhdGNoIGJ5IERhdmlkIEJlbmphbWluLgorLSBgcHR5LnNwYXduKClgIG5vdyByZXR1cm5zIHRoZSBjaGlsZCBwcm9jZXNzIHN0YXR1cyByZXR1cm5lZCBieSBgb3Mud2FpdHBpZCgpYC4KIAogLSBJc3N1ZSAjMTU3NTY6IGBzdWJwcm9jZXNzLnBvbGwoKWAgbm93IHByb3Blcmx5IGhhbmRsZXMgYGVycm5vLkVDSElMRGAgdG8KICAgcmV0dXJuIGEgcmV0dXJuY29kZSBvZiAwIHdoZW4gdGhlIGNoaWxkIGhhcyBhbHJlYWR5IGV4aXRlZCBvciBjYW5ub3QgYmUgd2FpdGVkCkBAIC04MTcsNiArMTExNSw5IEBACiAtIElzc3VlICMxNTQyMTogRml4IGFuIE92ZXJmbG93RXJyb3IgaW4gYENhbGVuZGFyLml0ZXJtb250aGRhdGVzKClgIGFmdGVyCiAgIGBkYXRldGltZS5NQVhZRUFSYC4gIFBhdGNoIGJ5IEPDqWRyaWMgS3JpZXIuCiAKKy0gSXNzdWUgIzE2MTEyOiBwbGF0Zm9ybS5hcmNoaXRlY3R1cmUgZG9lcyBub3QgY29ycmVjdGx5IGVzY2FwZSBhcmd1bWVudCB0bworICAvdXNyL2Jpbi9maWxlLiAgUGF0Y2ggYnkgRGF2aWQgQmVuamFtaW4uCisKIC0gSXNzdWUgIzE1OTcwOiBgeG1sLmV0cmVlLkVsZW1lbnRUcmVlYCBub3cgc2VyaWFsaXplcyBjb3JyZWN0bHkgdGhlIGVtcHR5IEhUTUwKICAgZWxlbWVudHMgJ21ldGEnIGFuZCAncGFyYW0nLgogCkBAIC04MzksMjIgKzExNDAsNTggQEAKICAgUG9wZW4gd2hlbiBgYCVhY3Rpb25gYCBzdWJzdGl0dXRpb25zIHByb2R1Y2UgZW1wdHkgc3RyaW5ncy4KIAogLSBJc3N1ZSAjMTI3NzYsIGlzc3VlICMxMTgzOTogQ2FsbCBgYXJncGFyc2VgIHR5cGUgZnVuY3Rpb24gKHNwZWNpZmllZCBieQotICBhZGRfYXJndW1lbnQpIG9ubHkgb25jZS4gIEJlZm9yZSwgdGhlIHR5cGUgZnVuY3Rpb24gd2FzIGNhbGxlZCB0d2ljZSBpbiB0aGUKKyAgYWRkX2FyZ3VtZW50KSBvbmx5IG9uY2UuIEJlZm9yZSwgdGhlIHR5cGUgZnVuY3Rpb24gd2FzIGNhbGxlZCB0d2ljZSBpbiB0aGUKICAgY2FzZSB3aGVyZSB0aGUgZGVmYXVsdCB3YXMgc3BlY2lmaWVkIGFuZCB0aGUgYXJndW1lbnQgd2FzIGdpdmVuIGFzIHdlbGwuICBUaGlzCiAgIHdhcyBlc3BlY2lhbGx5IHByb2JsZW1hdGljIGZvciB0aGUgRmlsZVR5cGUgdHlwZSwgYXMgYSBkZWZhdWx0IGZpbGUgd291bGQKICAgYWx3YXlzIGJlIG9wZW5lZCwgZXZlbiBpZiBhIGZpbGUgYXJndW1lbnQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLgogCi0tIElzc3VlICMxNTkwNjogRml4IGEgcmVncmVzc2lvbiBpbiBgYXJncGFyc2VgIGNhdXNlZCBieSB0aGUgcHJlY2VkaW5nIGNoYW5nZSwKKy0gSXNzdWUgIzE1OTA2OiBGaXggYSByZWdyZXNzaW9uIGluIGFyZ3BhcnNlIGNhdXNlZCBieSB0aGUgcHJlY2VkaW5nIGNoYW5nZSwKICAgd2hlbiBgYGFjdGlvbj0nYXBwZW5kJ2BgLCBgYHR5cGU9J3N0cidgYCBhbmQgYGBkZWZhdWx0PVtdYGAuCiAKKy0gSXNzdWUgIzE2MTEzOiBBZGRlZCBzaGEzIG1vZHVsZSBiYXNlZCBvbiB0aGUgS2VjY2FrIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbgorICAzLjIuIFRoZSBgaGFzaGxpYmAgbW9kdWxlIGhhcyBmb3VyIGFkZGl0aW9uYWwgaGFzaCBhbGdvcml0aG1zOiBgc2hhM18yMjRgLAorICBgc2hhM18yNTZgLCBgc2hhM18zODRgIGFuZCBgc2hhM181MTJgLiBBcyBwYXJ0IG9mIHRoZSBwYXRjaCBzb21lIGNvbW1vbgorICBjb2RlIHdhcyBtb3ZlZCBmcm9tIF9oYXNob3BlbnNzbC5jIHRvIGhhc2hsaWIuaC4KKworLSBjdHlwZXMuY2FsbF9jb21tZXRob2Qgd2FzIHJlbW92ZWQsIHNpbmNlIGl0cyBvbmx5IHVzYWdlIHdhcyBpbiB0aGUgZGVmdW5jdAorICBzYW1wbGVzIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjMTY2OTI6IEFkZGVkICBUTFN2MS4xIGFuZCBUTFN2MS4yIHN1cHBvcnQgZm9yIHRoZSBzc2wgbW9kdWxlcy4KKwogSURMRQogLS0tLQogCistIElzc3VlICMxNzU4NTogRml4ZWQgSURMRSByZWdyZXNzaW9uLiBOb3cgY2xvc2VzIHdoZW4gdXNpbmcgZXhpdCgpIG9yIHF1aXQoKS4KKworLSBJc3N1ZSAjMTc2NTc6IFNob3cgZnVsbCBUayB2ZXJzaW9uIGluIElETEUncyBhYm91dCBkaWFsb2cuCisgIFBhdGNoIGJ5IFRvZGQgUm92aXRvLgorCistIElzc3VlICMxNzYxMzogUHJldmVudCB0cmFjZWJhY2sgd2hlbiByZW1vdmluZyBzeW50YXggY29sb3JpemVyIGluIElETEUuCisKKy0gSXNzdWUgIzEyMDc1ODk6IEJhY2t3YXJkcy1jb21wYXRpYmlsaXR5IHBhdGNoIGZvciByaWdodC1jbGljayBtZW51IGluIElETEUuCisKKy0gSXNzdWUgIzE2ODg3OiBJRExFIG5vdyBhY2NlcHRzIENhbmNlbCBpbiB0YWJpZnkvdW50YWJpZnkgZGlhbG9nIGJveC4KKworLSBJc3N1ZSAjMTc2MjU6IEluIElETEUsIGNsb3NlIHRoZSByZXBsYWNlIGRpYWxvZyBhZnRlciBpdCBpcyB1c2VkLgorCistIElzc3VlICMxNDI1NDogSURMRSBub3cgaGFuZGxlcyByZWFkbGluZSBjb3JyZWN0bHkgYWNyb3NzIHNoZWxsIHJlc3RhcnRzLgorCistIElzc3VlICMxNzYxNDogSURMRSBubyBsb25nZXIgcmFpc2VzIGV4Y2VwdGlvbiB3aGVuIHF1aWNrbHkgY2xvc2luZyBhIGZpbGUuCisKKy0gSXNzdWUgIzY2OTg6IElETEUgbm93IG9wZW5zIGp1c3QgYW4gZWRpdG9yIHdpbmRvdyB3aGVuIGNvbmZpZ3VyZWQgdG8gZG8gc28uCisKKy0gSXNzdWUgIzg5MDA6IFVzaW5nIGtleWJvYXJkIHNob3J0Y3V0cyBpbiBJRExFIHRvIG9wZW4gYSBmaWxlIG5vIGxvbmdlcgorICByYWlzZXMgYW4gZXhjZXB0aW9uLgorCistIElzc3VlICM2NjQ5OiBGaXhlZCBtaXNzaW5nIGV4aXQgc3RhdHVzIGluIElETEUuIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvLgorCiAtIElzc3VlICMxNzExNDogSURMRSBub3cgdXNlcyBub24tc3RyaWN0IGNvbmZpZyBwYXJzZXIuCiAKIC0gSXNzdWUgIzkyOTA6IEluIElETEUgdGhlIHN5cy5zdGQqIHN0cmVhbXMgbm93IGltcGxlbWVudCBpby5UZXh0SU9CYXNlCiAgIGludGVyZmFjZSBhbmQgc3VwcG9ydCBhbGwgbWFuZGF0b3J5IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMuCiAKKy0gSXNzdWUgIzUwNjY6IFVwZGF0ZSBJRExFIGRvY3MuIFBhdGNoIGJ5IFRvZGQgUm92aXRvLgorCiAtIElzc3VlICMxNjgyOTogSURMRSBwcmludGluZyBubyBsb25nZXIgZmFpbHMgaWYgdGhlcmUgYXJlIHNwYWNlcyBvciBvdGhlcgogICBzcGVjaWFsIGNoYXJhY3RlcnMgaW4gdGhlIGZpbGUgcGF0aC4KIApAQCAtODcxLDYgKzEyMDgsOSBAQAogLSBJc3N1ZSAjMTIwNzU4OTogQWRkIEN1dC9Db3B5L1Bhc3RlIGl0ZW1zIHRvIElETEUgcmlnaHQgY2xpY2sgQ29udGV4dCBNZW51CiAgIFBhdGNoIGJ5IFRvZGQgUm92aXRvLgogCistIElzc3VlICMxNjEyMzogSURMRSAtIGRlcHJlY2F0ZSBydW5uaW5nIHdpdGhvdXQgYSBzdWJwcm9jZXNzLgorICBQYXRjaCBieSBSb2dlciBTZXJ3eS4KKwogVGVzdHMKIC0tLS0tCiAKQEAgLTg5MSw4ICsxMjMxLDE1IEBACiAKIC0gSXNzdWUgIzEzODk4OiB0ZXN0X3NzbCBubyBsb25nZXIgcHJpbnRzIGEgc3B1cmlvdXMgc3RhY2sgdHJhY2Ugb24gVWJ1bnR1LgogCistIElzc3VlICMxNzI4MzogU2hhcmUgY29kZSBiZXR3ZWVuIGBfX21haW5fXy5weWAgYW5kIGByZWdydGVzdC5weWAgaW4KKyAgYExpYi90ZXN0YC4KKwogLSBJc3N1ZSAjMTcyNDk6IGNvbnZlcnQgYSB0ZXN0IGluIHRlc3RfY2FwaSB0byB1c2UgdW5pdHRlc3QgYW5kIHJlYXAgdGhyZWFkcy4KIAorLSBJc3N1ZSAjMTcxMDc6IFRlc3QgY2xpZW50LXNpZGUgU05JIHN1cHBvcnQgaW4gdXJsbGliLnJlcXVlc3QgdGhhbmtzIHRvCisgIHRoZSBuZXcgc2VydmVyLXNpZGUgU05JIHN1cHBvcnQgaW4gdGhlIHNzbCBtb2R1bGUuICBJbml0aWFsIHBhdGNoIGJ5CisgIERhbmllbCBCbGFjay4KKwogLSBJc3N1ZSAjMTcwNDE6IEZpeCB0ZXN0aW5nIHdoZW4gUHl0aG9uIGlzIGNvbmZpZ3VyZWQgd2l0aCB0aGUKICAgLS13aXRob3V0LWRvYy1zdHJpbmdzLgogCkBAIC05MDAsNiArMTI0Nyw4IEBACiAKIC0gSXNzdWUgIzE1NTM5OiBBZGRlZCByZWdyZXNzaW9uIHRlc3RzIGZvciBUb29scy9zY3JpcHRzL3BpbmRlbnQucHkuCiAKKy0gSXNzdWUgIzE2ODM2OiBFbmFibGUgSVB2NiBzdXBwb3J0IGV2ZW4gaWYgSVB2NiBpcyBkaXNhYmxlZCBvbiB0aGUgYnVpbGQgaG9zdC4KKwogLSBJc3N1ZSAjMTc0Nzk6IHRlc3RfaW8gbm93IHdvcmtzIHdpdGggdW5pdHRlc3QgdGVzdCBkaXNjb3ZlcnkuCiAgIFBhdGNoIGJ5IFphY2hhcnkgV2FyZS4KIApAQCAtOTU5LDYgKzEzMDgsMTEgQEAKIAogLSBJc3N1ZSAjMTY3NDg6IHRlc3RfaGVhcHEgbm93IHdvcmtzIHdpdGggdW5pdHRlc3QgdGVzdCBkaXNjb3ZlcnkuCiAKKy0gSXNzdWUgIzEwNjQ2OiBUZXN0cyByZWFycmFuZ2VkIGZvciBvcy5zYW1lZmlsZS9zYW1lc3RhdCB0byBjaGVjayBmb3Igbm90CisgIGp1c3Qgc3ltbGlua3MgYnV0IGFsc28gaGFyZCBsaW5rcy4KKworLSBJc3N1ZSAjMTUzMDI6IFN3aXRjaCByZWdydGVzdCBmcm9tIHVzaW5nIGdldG9wdCB0byB1c2luZyBhcmdwYXJzZS4KKwogLSBJc3N1ZSAjMTUzMjQ6IEZpeCByZWdydGVzdCBwYXJzaW5nIG9mIC0tZnJvbWZpbGUsIC0tbWF0Y2gsIGFuZCAtLXJhbmRvbWl6ZQogICBvcHRpb25zLgogCkBAIC05NjgsNiArMTMyMiw5IEBACiAtIElzc3VlICMxNjY2NDogQWRkIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGdsb2IncyBiZWhhdmlvdXIgY29uY2VybmluZyBlbnRyaWVzCiAgIHN0YXJ0aW5nIHdpdGggYSAiLiIuICBQYXRjaCBieSBTZWJhc3RpYW4gS3JlZnQuCiAKKy0gSXNzdWUgIzEzMzkwOiBUaGUgYGAtUmBgIG9wdGlvbiB0byByZWdydGVzdCBub3cgYWxzbyBjaGVja3MgZm9yIG1lbW9yeQorICBhbGxvY2F0aW9uIGxlYWtzLCB1c2luZyA6ZnVuYzpgc3lzLmdldGFsbG9jYXRlZGJsb2NrcygpYC4KKwogLSBJc3N1ZSAjMTY1NTk6IEFkZCBtb3JlIHRlc3RzIGZvciB0aGUganNvbiBtb2R1bGUsIGluY2x1ZGluZyBzb21lIGZyb20gdGhlCiAgIG9mZmljaWFsIHRlc3Qgc3VpdGUgYXQganNvbi5vcmcuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgogCkBAIC05ODYsNyArMTM0Myw3IEBACiAtIElzc3VlICMxNTgwMjogRml4IHRlc3QgbG9naWMgaW4gYFRlc3RNYWlsZGlyLnRlc3RfY3JlYXRlX3RtcCgpYC4gUGF0Y2ggYnkKICAgU2VyaGl5IFN0b3JjaGFrYS4KIAotLSBJc3N1ZSAjMTU1NTc6IEFkZCBhIHRlc3Qgc3VpdGUgZm9yIHRoZSBgd2ViYnJvd3NlcmAgbW9kdWxlLCB0aGFua3MgdG8gQW50b24KKy0gSXNzdWUgIzE1NTU3OiBBZGRlZCBhIHRlc3Qgc3VpdGUgZm9yIHRoZSB3ZWJicm93c2VyIG1vZHVsZSwgdGhhbmtzIHRvIEFudG9uCiAgIEJhcmtvdnNreS4KIAogLSBJc3N1ZSAjMTY2OTg6IFNraXAgcG9zaXggdGVzdF9nZXRncm91cHMgd2hlbiBidWlsdCB3aXRoIE9TIFgKQEAgLTk5NSw2ICsxMzUyLDkgQEAKIEJ1aWxkCiAtLS0tLQogCistIElzc3VlICMxNzU5MTogVXNlIGxvd2VyY2FzZSBmaWxlbmFtZXMgd2hlbiBpbmNsdWRpbmcgV2luZG93cyBoZWFkZXIgZmlsZXMuCisgIFBhdGNoIGJ5IFJvdW1lbiBQZXRyb3YuCisKIC0gSXNzdWUgIzE3NTUwOiBGaXggdGhlIC0tZW5hYmxlLXByb2ZpbGluZyBjb25maWd1cmUgc3dpdGNoLgogCiAtIElzc3VlICMxNzQyNTogQnVpbGQgd2l0aCBvcGVuc3NsIDEuMC4xZCBvbiBXaW5kb3dzLgpAQCAtMTAxMCw2ICsxMzcwLDEwIEBACiAKIC0gSXNzdWUgIzM3MTg6IFVzZSBBQ19BUkdfVkFSIHRvIHNldCBNQUNIREVQIGluIGNvbmZpZ3VyZS5hYy4KIAorLSBJc3N1ZSAjMTYyMzU6IEltcGxlbWVudCBweXRob24tY29uZmlnIGFzIGEgc2hlbGwgc2NyaXB0LgorCistIElzc3VlICMxNjc2OTogUmVtb3ZlIG91dGRhdGVkIFZpc3VhbCBTdHVkaW8gcHJvamVjdHMuCisKIC0gSXNzdWUgIzE3MDMxOiBGaXggcnVubmluZyByZWdlbiBpbiBjcm9zcyBidWlsZHMuCiAKIC0gSXNzdWUgIzM3NTQ6IGZpeCB0eXBvIGluIHB0aHJlYWQgQUNfQ0FDSEVfVkFMLgpAQCAtMTAxNywxMiArMTM4MSwxNCBAQAogLSBJc3N1ZSAjMTU0ODQ6IEZpeCBfUFlUSE9OX1BST0pFQ1RfQkFTRSBmb3Igc3JjZGlyICE9IGJ1aWxkZGlyIGJ1aWxkczsKICAgdXNlIF9QWVRIT05fUFJPSkVDVF9CQVNFIGluIGRpc3R1dGlscy9zeXNjb25maWcucHkuCiAKKy0gRHJvcCBzdXBwb3J0IGZvciBXaW5kb3dzIDIwMDAuCisKIC0gSXNzdWUgIzE3MDI5OiBMZXQgaDJweSBzZWFyY2ggdGhlIG11bHRpYXJjaCBzeXN0ZW0gaW5jbHVkZSBkaXJlY3RvcnkuCiAKIC0gSXNzdWUgIzE2OTUzOiBGaXggc29ja2V0IG1vZHVsZSBjb21waWxhdGlvbiBvbiBwbGF0Zm9ybXMgd2l0aAogICBIQVZFX0JST0tFTl9QT0xMLiBQYXRjaCBieSBKZWZmcmV5IEFybXN0cm9uZy4KIAotLSBJc3N1ZSAjMTY4MzY6IEVuYWJsZSBJUHY2IHN1cHBvcnQgZXZlbiBpZiBJUHY2IGlzIGRpc2FibGVkIG9uIHRoZSBidWlsZCBob3N0LgorLSBJc3N1ZSAjMTYzMjA6IFJlbW92ZSByZWR1bmRhbnQgTWFrZWZpbGUgZGVwZW5kZW5jaWVzIGZvciBzdHJpbmdzIGFuZCBieXRlcy4KIAogLSBDcm9zcyBjb21waWxpbmcgbmVlZHMgaG9zdCBhbmQgYnVpbGQgc2V0dGluZ3MuIGNvbmZpZ3VyZSBubyBsb25nZXIKICAgY3JlYXRlcyBhIGJyb2tlbiBQWVRIT05fRk9SX0JVSUxEIHZhcmlhYmxlIHdoZW4gLS1idWlsZCBpcyBtaXNzaW5nLgpAQCAtMTA0NCw2ICsxNDEwLDggQEAKIC0gSXNzdWUgIzE1OTIzOiBGaXggYSBtaXN0YWtlIGluIGBgYXNkbF9jLnB5YGAgdGhhdCByZXN1bHRlZCBpbiBhIFR5cGVFcnJvcgogICBhZnRlciAyODAxYmY4NzVhMjQgKHNlZSAjMTU4MDEpLgogCistIElzc3VlICMxNjEzNTogUmVtb3ZlIE9TLzIgc3VwcG9ydC4KKwogLSBJc3N1ZSAjMTU4MTk6IE1ha2Ugc3VyZSB3ZSBjYW4gYnVpbGQgUHl0aG9uIG91dC1vZi10cmVlIGZyb20gYSByZWFkLW9ubHkKICAgc291cmNlIGRpcmVjdG9yeS4gIChTb21ld2hhdCByZWxhdGVkIHRvIGlzc3VlICM5ODYwLikKIApAQCAtMTA1OCw5ICsxNDI2LDI0IEBACiAKIC0gSXNzdWUgIzE2ODgxOiBGaXggUHlfQVJSQVlfTEVOR1RIIG1hY3JvIGZvciBHQ0MgPCAzLjEuCiAKKy0gSXNzdWUgIzE1NDIyOiBHZXQgcmlkIG9mIFB5Q0Z1bmN0aW9uX05ldyBtYWNyby4gVXNlIFB5Q0Z1bmN0aW9uX05ld0V4CisgIGZ1bmN0aW9uIChQeUNGdW5jdGlvbl9OZXcgZnVuYyBpcyBzdGlsbCBwcmVzZW50IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KS4KKworLSBJc3N1ZSAjMTY1MDU6IFJlbW92ZSB1bnVzZWQgUHlfVFBGTEFHU19JTlRfU1VCQ0xBU1MuCisKKy0gSXNzdWUgIzE2MDg2OiBQeVR5cGVPYmplY3QudHBfZmxhZ3MgYW5kIFB5VHlwZV9TcGVjLmZsYWdzIGFyZSBub3cgdW5zaWduZWQKKyAgKHVuc2lnbmVkIGxvbmcgYW5kIHVuc2lnbmVkIGludCkgdG8gYXZvaWQgYW4gdW5kZWZpbmVkIGJlaGF2aW91ciB3aXRoCisgIFB5X1RQRkxBR1NfVFlQRV9TVUJDTEFTUyAoKDEgPDwgMzEpLiBQeVR5cGVfR2V0RmxhZ3MoKSByZXN1bHQgdHlwZSBpcworICBub3cgdW5zaWduZWQgdG9vICh1bnNpZ25lZCBsb25nLCBpbnN0ZWFkIG9mIGxvbmcpLgorCistIElzc3VlICMxNjE2NjogQWRkIFBZX0xJVFRMRV9FTkRJQU4gYW5kIFBZX0JJR19FTkRJQU4gbWFjcm9zIGFuZCB1bmlmaWVkCisgIGVuZGlhbm5lc3MgZGV0ZWN0aW9uIGFuZCBoYW5kbGluZy4KKwogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlICMxNTk0MDogU3BlY2lmeSBlZmZlY3Qgb2YgbG9jYWxlIG9uIHRpbWUgZnVuY3Rpb25zLgorCiAtIElzc3VlIDE3NTM4OiBEb2N1bWVudCBYTUwgdnVsbmVyYWJpbHRpZXMKIAogLSBJc3N1ZSAjMTY2NDI6IHNjaGVkLnNjaGVkdWxlciB0aW1lZnVuYyBpbml0aWFsIGRlZmF1bHQgaXMgdGltZS5tb25vdG9uaWMuCkBAIC0xMTA1LDggKzE0ODgsOCBAQAogCiAtIElzc3VlICMxMzUzODogSW1wcm92ZSBzdHIoKSBhbmQgb2JqZWN0Ll9fc3RyX18oKSBkb2N1bWVudGF0aW9uLgogCi0tIElzc3VlICMxNjQ4OTogTWFrZSBpdCBjbGVhcmVyIHRoYXQgaW1wb3J0bGliLmZpbmRfbG9hZGVyKCkgcmVxdWlyZXMgYW55IGFuZAotICBhbGwgcGFja2FnZXMgdG8gYmUgc2VwYXJhdGVseSBpbXBvcnRlZC4KKy0gSXNzdWUgIzE2NDg5OiBNYWtlIGl0IGNsZWFyZXIgdGhhdCBpbXBvcnRsaWIuZmluZF9sb2FkZXIoKSBuZWVkcyBwYXJlbnQKKyAgcGFja2FnZXMgdG8gYmUgZXhwbGljaXRseSBpbXBvcnRlZC4KIAogLSBJc3N1ZSAjMTY0MDA6IFVwZGF0ZSB0aGUgZGVzY3JpcHRpb24gb2Ygd2hpY2ggdmVyc2lvbnMgb2YgYSBnaXZlbiBwYWNrYWdlCiAgIFB5UEkgZGlzcGxheXMuCkBAIC0xMTI5LDYgKzE1MTIsOSBAQAogLSBJc3N1ZSAjMTYxMTU6IEltcHJvdmUgc3VicHJvY2Vzcy5Qb3BlbigpIGRvY3VtZW50YXRpb24gYXJvdW5kIGFyZ3MsIHNoZWxsLAogICBhbmQgZXhlY3V0YWJsZSBhcmd1bWVudHMuCiAKKy0gSXNzdWUgIzEzNDk4OiBDbGFyaWZ5IGRvY3Mgb2Ygb3MubWFrZWRpcnMoKSdzIGV4aXN0X29rIGFyZ3VtZW50LiAgRG9uZSB3aXRoCisgIGdyZWF0IG5hdGl2ZS1zcGVha2VyIGhlbHAgZnJvbSBSLiBEYXZpZCBNdXJyYXkuCisKIC0gSXNzdWUgIzE1NTMzOiBDbGFyaWZ5IGRvY3MgYW5kIGFkZCB0ZXN0cyBmb3IgYHN1YnByb2Nlc3MuUG9wZW4oKWAncyBjd2QKICAgYXJndW1lbnQuCiAKQEAgLTExNDksNiArMTUzNSw5IEBACiBUb29scy9EZW1vcwogLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTcwMjg6IEFsbG93ZWQgUHl0aG9uIGFyZ3VtZW50cyB0byBiZSBzdXBwbGllZCB0byB0aGUgV2luZG93cworICBsYXVuY2hlci4KKwogLSBJc3N1ZSAjMTcxNTY6IHB5Z2V0dGV4dC5weSBub3cgdXNlcyBhbiBlbmNvZGluZyBvZiBzb3VyY2UgZmlsZSBhbmQgY29ycmVjdGx5CiAgIHdyaXRlcyBhbmQgZXNjYXBlcyBub24tYXNjaWkgY2hhcmFjdGVycy4KIApAQCAtMTE1Nyw5ICsxNTQ2LDE4IEBACiAgIGltcHJvcGVyIGluZGVudGF0aW9uLiAgcGluZGVudC5weSBub3cgd29ya3Mgd2l0aCBjb250aW51ZWQgbGluZXMgYnJva2VuIGFmdGVyCiAgICJjbGFzcyIgb3IgImRlZiIga2V5d29yZHMgYW5kIHdpdGggY29udGludWF0aW9ucyBhdCB0aGUgc3RhcnQgb2YgbGluZS4KIAotLSBJc3N1ZSAjMTUzNzg6IEZpeCBUb29scy91bmljb2RlL2NvbXBhcmVjb2RlY3MucHkuICBQYXRjaCBieSBTZXJoaXkgU3RvcmNoYWthLgorLSBJc3N1ZSAjMTE3OTc6IEFkZCBhIDJ0bzMgZml4ZXIgdGhhdCBtYXBzIHJlbG9hZCgpIHRvIGltcC5yZWxvYWQoKS4KIAotLSBJc3N1ZSAjMTY0NzY6IEZpeCBqc29uLnRvb2wgdG8gYXZvaWQgaW5jbHVkaW5nIHRyYWlsaW5nIHdoaXRlc3BhY2UuCistIElzc3VlICMxMDk2NjogUmVtb3ZlIHRoZSBjb25jZXB0IG9mIHVuZXhwZWN0ZWQgc2tpcHBlZCB0ZXN0cy4KKworLSBJc3N1ZSAjOTg5MzogUmVtb3ZlZCB0aGUgTWlzYy9WaW0gZGlyZWN0b3J5LgorCistIFJlbW92ZWQgdGhlIE1pc2MvVGV4dE1hdGUgZGlyZWN0b3J5LgorCistIElzc3VlICMxNjI0NTogQWRkIHRoZSBUb29scy9zY3JpcHRzL3BhcnNlX2h0bWw1X2VudGl0aWVzLnB5IHNjcmlwdCB0byBwYXJzZQorICB0aGUgbGlzdCBvZiBIVE1MNSBlbnRpdGllcyBhbmQgdXBkYXRlIHRoZSBodG1sLmVudGl0aWVzLmh0bWw1IGRpY3Rpb25hcnkuCisKKy0gSXNzdWUgIzE1Mzc4OiBGaXggVG9vbHMvdW5pY29kZS9jb21wYXJlY29kZWNzLnB5LiAgUGF0Y2ggYnkgU2VyaGl5IFN0b3JjaGFrYS4KIAogLSBJc3N1ZSAjMTY1NDk6IE1ha2UganNvbi50b29sIHdvcmsgYWdhaW4gb24gUHl0aG9uIDMgYW5kIGFkZCB0ZXN0cy4KICAgSW5pdGlhbCBwYXRjaCBieSBCZXJrZXIgUGVrc2FnIGFuZCBTZXJoaXkgU3RvcmNoYWthLgpAQCAtMTI1NCw2ICsxNjUyLDkgQEAKIExpYnJhcnkKIC0tLS0tLS0KIAorLSBJc3N1ZSAjMTcxNTg6IEFkZCAnc3ltYm9scycgdG8gaGVscCgpIHdlbGNvbWUgbWVzc2FnZTsgY2xhcmlmeQorICAnbW9kdWxlcyBzcGFtJyBtZXNzYWdlcy4KKwogLSBJc3N1ZSAjMTU4NDc6IEZpeCBhIHJlZ3Jlc3Npb24gaW4gYXJncGFyc2UsIHdoaWNoIGRpZCBub3QgYWNjZXB0IHR1cGxlcyBhcwogICBhcmd1bWVudCBsaXN0cyBhbnltb3JlLgogCkBAIC0xMzI5LDYgKzE3MzAsOCBAQAogTGlicmFyeQogLS0tLS0tLQogCistIElzc3VlICMxMzI0ODogcmVtb3ZlZCBkZXByZWNhdGVkIGFuZCB1bmRvY3VtZW50ZWQgZGlmZmxpYi5pc2JqdW5rLCBpc2Jwb3B1bGFyLgorCiAtIElzc3VlICMxMzM3MDogRW5zdXJlIHRoYXQgY3R5cGVzIHdvcmtzIG9uIE1hYyBPUyBYIHdoZW4gUHl0aG9uIGlzIGNvbXBpbGVkCiAgIHVzaW5nIHRoZSBjbGFuZyBjb21waWxlci4KIApAQCAtMTc0NCw2ICsyMTQ3LDEwIEBACiAtIElzc3VlICMxNTI1MDogRG9jdW1lbnQgdGhhdCBgZmlsZWNtcC5kaXJjbXAoKWAgY29tcGFyZXMgZmlsZXMgc2hhbGxvd2x5LiBQYXRjaAogICBjb250cmlidXRlZCBieSBDaHJpcyBKZXJkb25lay4KIAorLSBJc3N1ZSAjMTU0NDI6IEV4cG9zZSB0aGUgZGVmYXVsdCBsaXN0IG9mIGRpcmVjdG9yaWVzIGlnbm9yZWQgYnkKKyAgYGZpbGVjbXAuZGlyY21wKClgIGFzIGEgbW9kdWxlIGF0dHJpYnV0ZSwgYW5kIGV4cGFuZCB0aGUgbGlzdCB0byBtb3JlIG1vZGVybgorICB2YWx1ZXMuCisKIFRlc3RzCiAtLS0tLQogCkBAIC0xODU2LDkgKzIyNjMsNiBAQAogTGlicmFyeQogLS0tLS0tLQogCi0tIElzc3VlICMxNjMwNTogRml4IGEgc2VnbWVudGF0aW9uIGZhdWx0IG9jY3VycmluZyB3aGVuIGludGVycnVwdGluZwotICBtYXRoLmZhY3RvcmlhbC4KLQogLSBJc3N1ZSAjMTIyODg6IENvbnNpZGVyICcwJyBhbmQgJzAuMCcgYXMgdmFsaWQgaW5pdGlhbHZhbHVlCiAgIGZvciB0a2ludGVyIFNpbXBsZURpYWxvZy4KIApAQCAtMzU1Myw3ICszOTU3LDcgQEAKIC0gSXNzdWUgIzEzNTg5OiBGaXggc29tZSBzZXJpYWxpemF0aW9uIHByaW1pdGl2ZXMgaW4gdGhlIGFpZmMgbW9kdWxlLgogICBQYXRjaCBieSBPbGVnIFBsYWtob3RueXVrLgogCi0tIElzc3VlICMxMzY0MjogVW5xdW90ZSBiZWZvcmUgYjY0ZW5jb2RpbmcgYGB1c2VyOnBhc3N3b3JkYGAgZHVyaW5nIEJhc2ljCistIElzc3VlICMxMzY0MjogVW5xdW90ZSBiZWZvcmUgYjY0ZW5jb2RpbmcgdXNlcjpwYXNzd29yZCBkdXJpbmcgQmFzaWMKICAgQXV0aGVudGljYXRpb24uIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IEpvb25hcyBLdW9yaWxlaHRvLgogCiAtIElzc3VlICMxMjM2NDogRml4IGEgaGFuZyBpbiBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvci4KQEAgLTQwMTIsOCArNDQxNiw4IEBACiAtIElzc3VlICMxMjYwNzogSW4gc3VicHJvY2VzcywgZml4IGlzc3VlIHdoZXJlIGlmIHN0ZGluLCBzdGRvdXQgb3Igc3RkZXJyIGlzCiAgIGdpdmVuIGFzIGEgbG93IGZkLCBpdCBnZXRzIG92ZXJ3cml0dGVuLgogCi0tIElzc3VlICMxMjU3NjogRml4IHVybG9wZW4gYmVoYXZpb3Igb24gc2l0ZXMgd2hpY2ggZG8gbm90IHNlbmQgKG9yIG9iZnVzY2F0ZSkKLSAgYSBgYENvbm5lY3Rpb246IGNsb3NlYGAgaGVhZGVyLgorLSBJc3N1ZSAjMTI1NzY6IEZpeCB1cmxvcGVuIGJlaGF2aW9yIG9uIHNpdGVzIHdoaWNoIGRvIG5vdCBzZW5kIChvciBvYmZ1c2NhdGVzKQorICBDb25uZWN0aW9uOmNsb3NlIGhlYWRlci4KIAogLSBJc3N1ZSAjMTI1NjA6IEJ1aWxkIGxpYnB5dGhvbi5zbyBvbiBPcGVuQlNELiBQYXRjaCBieSBTdGVmYW4gU3BlcmxpbmcuCiAKQEAgLTQ2MDUsNyArNTAwOSw3IEBACiAKIC0gSXNzdWUgIzExMTI3OiBSYWlzZSBhIFR5cGVFcnJvciB3aGVuIHRyeWluZyB0byBwaWNrbGUgYSBzb2NrZXQgb2JqZWN0LgogCi0tIElzc3VlICMxMTU2MzogYGBDb25uZWN0aW9uOiBjbG9zZWBgIGhlYWRlciBpcyBzZW50IGJ5IHJlcXVlc3RzIHVzaW5nIFVSTE9wZW5lcgorLSBJc3N1ZSAjMTE1NjM6IENvbm5lY3Rpb246Y2xvc2UgaGVhZGVyIGlzIHNlbnQgYnkgcmVxdWVzdHMgdXNpbmcgVVJMT3BlbmVyCiAgIGNsYXNzIHdoaWNoIGhlbHBzIGluIGNsb3Npbmcgb2Ygc29ja2V0cyBhZnRlciBjb25uZWN0aW9uIGlzIG92ZXIuIFBhdGNoCiAgIGNvbnRyaWJ1dGlvbnMgYnkgSmVmZiBNY05laWwgYW5kIE5hZGVlbSBWYXdkYS4KIApAQCAtNTE4MSw3ICs1NTg1LDcgQEAKIC0gSXNzdWUgIzExNTA1OiBpbXByb3ZlcyB0ZXN0IGNvdmVyYWdlIG9mIHN0cmluZy5weS4gUGF0Y2ggYnkgQWxpY2lhCiAgIEFybGVuCiAKLS0gSXNzdWUgIzExNDkwOiB0ZXN0X3N1YnByb2Nlc3MudGVzdF9sZWFraW5nX2Zkc19vbl9lcnJvciBubyBsb25nZXIgZ2l2ZXMgYQorLSBJc3N1ZSAjMTE0OTA6IHRlc3Rfc3VicHJvY2Vzczp0ZXN0X2xlYWtpbmdfZmRzX29uX2Vycm9yIG5vIGxvbmdlciBnaXZlcyBhCiAgIGZhbHNlIHBvc2l0aXZlIGlmIHRoZSBsYXN0IGRpcmVjdG9yeSBpbiB0aGUgcGF0aCBpcyBpbmFjY2Vzc2libGUuCiAKIC0gSXNzdWUgIzExMjIzOiBGaXggdGVzdF90aHJlYWRzaWduYWxzIHRvIGZhaWwsIG5vdCBoYW5nLCB3aGVuIHRoZQpkaWZmIC0tZ2l0IGEvTWlzYy9SUE0vcHl0aG9uLTMuMy5zcGVjIGIvTWlzYy9SUE0vcHl0aG9uLTMuNC5zcGVjCnNpbWlsYXJpdHkgaW5kZXggOTglCnJlbmFtZSBmcm9tIE1pc2MvUlBNL3B5dGhvbi0zLjMuc3BlYwpyZW5hbWUgdG8gTWlzYy9SUE0vcHl0aG9uLTMuNC5zcGVjCmluZGV4IDdlYjFjYzYuLmIxYWY1NWMgMTAwNjQ0Ci0tLSBhL01pc2MvUlBNL3B5dGhvbi0zLjMuc3BlYworKysgYi9NaXNjL1JQTS9weXRob24tMy40LnNwZWMKQEAgLTM5LDggKzM5LDggQEAKIAogJWRlZmluZSBuYW1lIHB5dGhvbgogIy0tc3RhcnQgY29uc3RhbnRzLS0KLSVkZWZpbmUgdmVyc2lvbiAzLjMuMQotJWRlZmluZSBsaWJ2ZXJzIDMuMworJWRlZmluZSB2ZXJzaW9uIDMuNC4wYTAKKyVkZWZpbmUgbGlidmVycyAzLjQKICMtLWVuZCBjb25zdGFudHMtLQogJWRlZmluZSByZWxlYXNlIDFweWRvdG9yZwogJWRlZmluZSBfX3ByZWZpeCAvdXNyCkBAIC04Myw4ICs4Myw3IEBACiBsaWJyYXJpZXMsIGFzIHdlbGwgYXMgdG8gdmFyaW91cyB3aW5kb3cgc3lzdGVtcywgYW5kIGlzIGV4dGVuc2libGUgaW4gQyBvcgogQysrLiBJdCBpcyBhbHNvIHVzYWJsZSBhcyBhbiBleHRlbnNpb24gbGFuZ3VhZ2UgZm9yIGFwcGxpY2F0aW9ucyB0aGF0IG5lZWQKIGEgcHJvZ3JhbW1hYmxlIGludGVyZmFjZS4gIEZpbmFsbHksIFB5dGhvbiBpcyBwb3J0YWJsZTogaXQgcnVucyBvbiBtYW55Ci1icmFuZHMgb2YgVU5JWCwgb24gUENzIHVuZGVyIFdpbmRvd3MsIE1TLURPUywgYW5kIE9TLzIsIGFuZCBvbiB0aGUKLU1hYy4KK2JyYW5kcyBvZiBVTklYLCBvbiBQQ3MgdW5kZXIgV2luZG93cywgTVMtRE9TLCBhbmQgb24gdGhlIE1hYy4KIAogJXBhY2thZ2UgZGV2ZWwKIFN1bW1hcnk6IFRoZSBsaWJyYXJpZXMgYW5kIGhlYWRlciBmaWxlcyBuZWVkZWQgZm9yIFB5dGhvbiBleHRlbnNpb24gZGV2ZWxvcG1lbnQuCmRpZmYgLS1naXQgYS9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvQ29tbWFuZHMvMiB0byAzIC0gTW9kdWxlIERlbGV0aW9uLnRtQ29tbWFuZCBiL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9Db21tYW5kcy8yIHRvIDMgLSBNb2R1bGUgRGVsZXRpb24udG1Db21tYW5kCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2ZhZGE4Li4wMDAwMDAwCi0tLSBhL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9Db21tYW5kcy8yIHRvIDMgLSBNb2R1bGUgRGVsZXRpb24udG1Db21tYW5kCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBsaXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdD4KLQk8a2V5PmJlZm9yZVJ1bm5pbmdDb21tYW5kPC9rZXk+Ci0JPHN0cmluZz5ub3A8L3N0cmluZz4KLQk8a2V5PmNvbW1hbmQ8L2tleT4KLQk8c3RyaW5nPiMhL3Vzci9iaW4vcHl0aG9uCi0iIiJHZW5lcmF0ZSBjb2RlIHRvIHdhcm4gYWJvdXQgYSBtb2R1bGUncyByZW1vdmFsIGluIFB5dGhvbiAzLjAuCi0KLVhYWCBOb3Qgc3VwcG9ydGVkOgotLSBNb2R1bGUncyBpbiBhIHBhY2thZ2UgZG8gbm90IGhhdmUgdGhlaXIgZnVsbCBuYW1lIGdlbmVyYXRlZC4KLS0gUGFja2FnZSdzIF9faW5pdF9fIG1vZHVsZTsgc2hvdWxkIGRldGVjdCBhbmQgdXNlIHRoZSBwYWNrYWdlJ3MgbmFtZSBpbnN0ZWFkLgotCi0iIiIKLXB5X3RlbXBsYXRlID0gIiIiZnJvbSB3YXJuaW5ncyBpbXBvcnQgd2FybnB5M2sKLXdhcm5weTNrKCJ0aGUgJHsxOiVzfSBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCBpbiBQeXRob24gMy4wIiwgc3RhY2tsZXZlbD0yKQotZGVsIHdhcm5weTNrJDAiIiIKLQotY190ZW1wbGF0ZSA9ICIiIgotaWYgKFB5RXJyX1dhcm5QeTNrKCJ0aGUgJHsxOiVzfSBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCBpbiAiCi0gICAgICAgICAgICAgICAgICAgIlB5dGhvbiAzLjAiLCAyKSAmbHQ7IDApCi0gICAgcmV0dXJuOyQwIiIiCi0KLQotaW1wb3J0IGltcAotaW1wb3J0IG9zCi0KLWZpbGVfbmFtZSA9IG9zLnBhdGguc3BsaXQob3MuZW52aXJvblsnVE1fRklMRVBBVEgnXSlbMV0KLQotcHlfc3VmZml4ZXMgPSByZXZlcnNlZChzb3J0ZWQoKHN1ZmZpeFswXSBmb3Igc3VmZml4IGluIGltcC5nZXRfc3VmZml4ZXMoKSBpZiBzdWZmaXhbMl0gPT0gaW1wLlBZX1NPVVJDRSksIGtleT1sZW4pKQotY19zdWZmaXhlcyA9IHJldmVyc2VkKHNvcnRlZCgob3MucGF0aC5zcGxpdGV4dChzdWZmaXhbMF0pWzBdICsgJy5jJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3VmZml4IGluIGltcC5nZXRfc3VmZml4ZXMoKSBpZiBzdWZmaXhbMl0gPT0gaW1wLkNfRVhURU5TSU9OKSwga2V5PWxlbikpCi0KLXBhaXJpbmdzID0gKChweV9zdWZmaXhlcywgcHlfdGVtcGxhdGUpLCAoY19zdWZmaXhlcywgY190ZW1wbGF0ZSkpCi0KLWRlZiBjcmVhdGVfdGVtcGxhdGUoc3VmZml4ZXMsIHRlbXBsYXRlKToKLSAgICBmb3Igc3VmZml4IGluIHN1ZmZpeGVzOgotICAgICAgICBpZiBub3QgZmlsZV9uYW1lLmVuZHN3aXRoKHN1ZmZpeCk6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBtb2R1bGVfbmFtZSA9IGZpbGVfbmFtZVs6LWxlbihzdWZmaXgpXQotICAgICAgICByZXR1cm4gdGVtcGxhdGUgJSBtb2R1bGVfbmFtZQotICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBOb25lCi0KLWZvciB0ZW1wbGF0ZSBpbiAoY3JlYXRlX3RlbXBsYXRlKCpwYWlyKSBmb3IgcGFpciBpbiBwYWlyaW5ncyk6Ci0gICAgaWYgbm90IHRlbXBsYXRlOgotICAgICAgICBjb250aW51ZQotICAgIHByaW50IHRlbXBsYXRlLAotICAgIGJyZWFrCi1lbHNlOgotICAgIHByaW50ICdYWFggQ291bGQgbm90IGdlbmVyYXRlIGNvZGUuJzwvc3RyaW5nPgotCTxrZXk+aW5wdXQ8L2tleT4KLQk8c3RyaW5nPm5vbmU8L3N0cmluZz4KLQk8a2V5Pm5hbWU8L2tleT4KLQk8c3RyaW5nPjIgdG8gMyAtIE1vZHVsZSBEZWxldGlvbjwvc3RyaW5nPgotCTxrZXk+b3V0cHV0PC9rZXk+Ci0JPHN0cmluZz5pbnNlcnRBc1NuaXBwZXQ8L3N0cmluZz4KLQk8a2V5PnRhYlRyaWdnZXI8L2tleT4KLQk8c3RyaW5nPjJ0bzNtb2RkZWw8L3N0cmluZz4KLQk8a2V5PnV1aWQ8L2tleT4KLQk8c3RyaW5nPjk1MTlDMjJCLTZBQjgtNDFBMS05NEY2LTA3OUUwQjQ1QzE0Nzwvc3RyaW5nPgotPC9kaWN0PgotPC9wbGlzdD4KZGlmZiAtLWdpdCBhL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9Db21tYW5kcy9CdWlsZCBEb2NzLnRtQ29tbWFuZCBiL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9Db21tYW5kcy9CdWlsZCBEb2NzLnRtQ29tbWFuZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2U0ZDUzYi4uMDAwMDAwMAotLS0gYS9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvQ29tbWFuZHMvQnVpbGQgRG9jcy50bUNvbW1hbmQKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+YmVmb3JlUnVubmluZ0NvbW1hbmQ8L2tleT4KLQk8c3RyaW5nPm5vcDwvc3RyaW5nPgotCTxrZXk+Y29tbWFuZDwva2V5PgotCTxzdHJpbmc+IyBYWFggTGVvcGFyZC1zcGVjaWZpYyB1bmxlc3MgaGF2ZSBlYXN5IHdheSB0byBzcGVjaWZpYyBhbHRlcm5hdGl2ZSBQeXRob24gZXhlY3V0YWJsZS4KLQotY2QgJFRNX1BST0pFQ1RfRElSRUNUT1JZL0RvYwotbWFrZSBodG1sIDImZ3Q7JmFtcDsxIHwgcHJlCi0KLXJlc2Nhbl9wcm9qZWN0PC9zdHJpbmc+Ci0JPGtleT5pbnB1dDwva2V5PgotCTxzdHJpbmc+bm9uZTwvc3RyaW5nPgotCTxrZXk+bmFtZTwva2V5PgotCTxzdHJpbmc+QnVpbGQgRG9jczwvc3RyaW5nPgotCTxrZXk+b3V0cHV0PC9rZXk+Ci0JPHN0cmluZz5zaG93QXNIVE1MPC9zdHJpbmc+Ci0JPGtleT51dWlkPC9rZXk+Ci0JPHN0cmluZz42RUYxNTFFNS03MTQ5LTRGODItODc5Ni0wQ0M0MEZFNTg5RkE8L3N0cmluZz4KLTwvZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvQ29tbWFuZHMvQnVpbGQudG1Db21tYW5kIGIvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL0NvbW1hbmRzL0J1aWxkLnRtQ29tbWFuZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmZmZGE1Yy4uMDAwMDAwMAotLS0gYS9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvQ29tbWFuZHMvQnVpbGQudG1Db21tYW5kCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KLTwhRE9DVFlQRSBwbGlzdCBQVUJMSUMgIi0vL0FwcGxlLy9EVEQgUExJU1QgMS4wLy9FTiIgImh0dHA6Ly93d3cuYXBwbGUuY29tL0RURHMvUHJvcGVydHlMaXN0LTEuMC5kdGQiPgotPHBsaXN0IHZlcnNpb249IjEuMCI+Ci08ZGljdD4KLQk8a2V5PmJlZm9yZVJ1bm5pbmdDb21tYW5kPC9rZXk+Ci0JPHN0cmluZz5ub3A8L3N0cmluZz4KLQk8a2V5PmNvbW1hbmQ8L2tleT4KLQk8c3RyaW5nPiMgWFhYIFRPRE8KLSMgLSBIaWdobGlnaHQgYW55IGNvbXBpbGVyIHdhcm5pbmdzIGZvciBQeXRob24gY29kZS4KLSMgLSBQb2ludCBvdXQgaWYgY29tcGlsZSBmYWlsZWQuCi0KLWNkICRUTV9QUk9KRUNUX0RJUkVDVE9SWQotbWFrZSAtcyAtajIgMiZndDsmYW1wOzEgfCBwcmUKLQotcmVzY2FuX3Byb2plY3Q8L3N0cmluZz4KLQk8a2V5PmlucHV0PC9rZXk+Ci0JPHN0cmluZz5ub25lPC9zdHJpbmc+Ci0JPGtleT5uYW1lPC9rZXk+Ci0JPHN0cmluZz5CdWlsZCBQeXRob248L3N0cmluZz4KLQk8a2V5Pm91dHB1dDwva2V5PgotCTxzdHJpbmc+c2hvd0FzSFRNTDwvc3RyaW5nPgotCTxrZXk+dXVpZDwva2V5PgotCTxzdHJpbmc+QjU0NUJCMUItQThFMS00MjZDLUI1MEEtNDI2RTc4Qjk2RDM4PC9zdHJpbmc+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL0NvbW1hbmRzL0dvIHRvIElzc3VlLnRtQ29tbWFuZCBiL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9Db21tYW5kcy9HbyB0byBJc3N1ZS50bUNvbW1hbmQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY1ZDMwYmMuLjAwMDAwMDAKLS0tIGEvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL0NvbW1hbmRzL0dvIHRvIElzc3VlLnRtQ29tbWFuZAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5iZWZvcmVSdW5uaW5nQ29tbWFuZDwva2V5PgotCTxzdHJpbmc+bm9wPC9zdHJpbmc+Ci0JPGtleT5jb21tYW5kPC9rZXk+Ci0JPHN0cmluZz5vcGVuICJodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlJChjYXQpIjwvc3RyaW5nPgotCTxrZXk+ZmFsbGJhY2tJbnB1dDwva2V5PgotCTxzdHJpbmc+d29yZDwvc3RyaW5nPgotCTxrZXk+aW5wdXQ8L2tleT4KLQk8c3RyaW5nPnNlbGVjdGlvbjwvc3RyaW5nPgotCTxrZXk+bmFtZTwva2V5PgotCTxzdHJpbmc+R28gdG8gSXNzdWU8L3N0cmluZz4KLQk8a2V5Pm91dHB1dDwva2V5PgotCTxzdHJpbmc+ZGlzY2FyZDwvc3RyaW5nPgotCTxrZXk+dXVpZDwva2V5PgotCTxzdHJpbmc+RkQyNUE4REMtMjJEQy00RUQ0LUIyMjItQjk0M0M4QTkxMTdEPC9zdHJpbmc+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL0NvbW1hbmRzL09wZW4gRG9jcy50bUNvbW1hbmQgYi9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvQ29tbWFuZHMvT3BlbiBEb2NzLnRtQ29tbWFuZApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTAxYmU0My4uMDAwMDAwMAotLS0gYS9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvQ29tbWFuZHMvT3BlbiBEb2NzLnRtQ29tbWFuZAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5iZWZvcmVSdW5uaW5nQ29tbWFuZDwva2V5PgotCTxzdHJpbmc+bm9wPC9zdHJpbmc+Ci0JPGtleT5jb21tYW5kPC9rZXk+Ci0JPHN0cmluZz4jIFNlYXJjaCBvcmRlcjoKLSMgIC0gQ3VycmVudCBwcm9qZWN0LgotIyAgLSBUTV9QWVRIT05ERVZfRE9DUy4KLSMgIC0gT25saW5lIGRvY3MgaW4gZGV2ZWxvcG1lbnQuCi0KLWh0bWxfaW5kZXg9JFRNX1BST0pFQ1RfRElSRUNUT1JZL0RvYy9idWlsZC9odG1sL2luZGV4Lmh0bWwKLWlmIFtbIC1mICRodG1sX2luZGV4IF1dOyB0aGVuCi0Jb3BlbiAkaHRtbF9pbmRleAotZWxpZiBbWyAkVE1fUFlUSE9OREVWX0RPQ1MgXV07IHRoZW4KLQlvcGVuICRUTV9QWVRIT05ERVZfRE9DUwotZWxzZQotCW9wZW4gaHR0cDovL2RvY3MucHl0aG9uLm9yZy9kZXYvCi1maTwvc3RyaW5nPgotCTxrZXk+aW5wdXQ8L2tleT4KLQk8c3RyaW5nPm5vbmU8L3N0cmluZz4KLQk8a2V5PmtleUVxdWl2YWxlbnQ8L2tleT4KLQk8c3RyaW5nPkBIPC9zdHJpbmc+Ci0JPGtleT5uYW1lPC9rZXk+Ci0JPHN0cmluZz5PcGVuIERvY3M8L3N0cmluZz4KLQk8a2V5Pm91dHB1dDwva2V5PgotCTxzdHJpbmc+ZGlzY2FyZDwvc3RyaW5nPgotCTxrZXk+dXVpZDwva2V5PgotCTxzdHJpbmc+QkYzMzZGRkYtRTE0RC00QkYxLUExNTYtNzFDRjc2OEFDMDM0PC9zdHJpbmc+Ci08L2RpY3Q+Ci08L3BsaXN0PgpkaWZmIC0tZ2l0IGEvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL0NvbW1hbmRzL09wZW4gUEVQLnRtQ29tbWFuZCBiL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9Db21tYW5kcy9PcGVuIFBFUC50bUNvbW1hbmQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmNTUzM2EuLjAwMDAwMDAKLS0tIGEvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL0NvbW1hbmRzL09wZW4gUEVQLnRtQ29tbWFuZAorKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Ci08IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZS8vRFREIFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5TGlzdC0xLjAuZHRkIj4KLTxwbGlzdCB2ZXJzaW9uPSIxLjAiPgotPGRpY3Q+Ci0JPGtleT5iZWZvcmVSdW5uaW5nQ29tbWFuZDwva2V5PgotCTxzdHJpbmc+bm9wPC9zdHJpbmc+Ci0JPGtleT5jb21tYW5kPC9rZXk+Ci0JPHN0cmluZz4jIFhYWCBXb3J0aCBzdXBwb3J0aW5nIHVzaW5nIGEgbG9jYWwgY29weT8KLQotIyBEdW1iIGx1Y2sgdGhhdCBhbiB1bnJlY29nbml6ZWQgbnVtYmVyIGxlYWRzIHRvIGEgMCBiZWluZyB1c2VkLgotb3BlbiBgcHJpbnRmICJodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLSUwNGQiICQoY2F0KWA8L3N0cmluZz4KLQk8a2V5PmZhbGxiYWNrSW5wdXQ8L2tleT4KLQk8c3RyaW5nPndvcmQ8L3N0cmluZz4KLQk8a2V5PmlucHV0PC9rZXk+Ci0JPHN0cmluZz5zZWxlY3Rpb248L3N0cmluZz4KLQk8a2V5Pm5hbWU8L2tleT4KLQk8c3RyaW5nPk9wZW4gUEVQPC9zdHJpbmc+Ci0JPGtleT5vdXRwdXQ8L2tleT4KLQk8c3RyaW5nPmRpc2NhcmQ8L3N0cmluZz4KLQk8a2V5PnV1aWQ8L2tleT4KLQk8c3RyaW5nPkVEQkIwMzdGLUFBRTMtNDUxMi04NjNGLUQ5QUE4MkM5RTUxRTwvc3RyaW5nPgotPC9kaWN0PgotPC9wbGlzdD4KZGlmZiAtLWdpdCAiYS9NaXNjL1RleHRNYXRlL1B5dGhvbi1EZXYudG1idW5kbGUvU25pcHBldHMvMiB0byAzIC0gTW9kdWxlIERlbGV0aW9uIFwwNTBkb2NzXDA1MS50bVNuaXBwZXQiICJiL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9TbmlwcGV0cy8yIHRvIDMgLSBNb2R1bGUgRGVsZXRpb24gXDA1MGRvY3NcMDUxLnRtU25pcHBldCIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkZThiYWUuLjAwMDAwMDAKLS0tICJhL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9TbmlwcGV0cy8yIHRvIDMgLSBNb2R1bGUgRGVsZXRpb24gXDA1MGRvY3NcMDUxLnRtU25pcHBldCIKKysrIC9kZXYvbnVsbApAQCAtMSwxNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+Y29udGVudDwva2V5PgotCTxzdHJpbmc+Li4gZGVwcmVjYXRlZDo6IDIuNgotICAgVGhlIDptb2Q6XGAkezF9XGAgbW9kdWxlIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIHJlbW92YWwgaW4gUHl0aG9uIDMuMC4KLSR7MH08L3N0cmluZz4KLQk8a2V5Pm5hbWU8L2tleT4KLQk8c3RyaW5nPjIgdG8gMyAtIE1vZHVsZSBEZWxldGlvbiAoZG9jcyk8L3N0cmluZz4KLQk8a2V5PnRhYlRyaWdnZXI8L2tleT4KLQk8c3RyaW5nPjJ0bzNkb2NkZWw8L3N0cmluZz4KLQk8a2V5PnV1aWQ8L2tleT4KLQk8c3RyaW5nPjA1Njg0MTBELUVBRjEtNEFGMy1CNkRFLThBRjEzM0E5MTgyMTwvc3RyaW5nPgotPC9kaWN0PgotPC9wbGlzdD4KZGlmZiAtLWdpdCBhL01pc2MvVGV4dE1hdGUvUHl0aG9uLURldi50bWJ1bmRsZS9pbmZvLnBsaXN0IGIvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL2luZm8ucGxpc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA1MTBkNWQuLjAwMDAwMDAKLS0tIGEvTWlzYy9UZXh0TWF0ZS9QeXRob24tRGV2LnRtYnVuZGxlL2luZm8ucGxpc3QKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgotPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3QtMS4wLmR0ZCI+Ci08cGxpc3QgdmVyc2lvbj0iMS4wIj4KLTxkaWN0PgotCTxrZXk+bWFpbk1lbnU8L2tleT4KLQk8ZGljdD4KLQkJPGtleT5pdGVtczwva2V5PgotCQk8YXJyYXk+Ci0JCQk8c3RyaW5nPjk1MTlDMjJCLTZBQjgtNDFBMS05NEY2LTA3OUUwQjQ1QzE0Nzwvc3RyaW5nPgotCQkJPHN0cmluZz4wNTY4NDEwRC1FQUYxLTRBRjMtQjZERS04QUYxMzNBOTE4MjE8L3N0cmluZz4KLQkJCTxzdHJpbmc+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9zdHJpbmc+Ci0JCQk8c3RyaW5nPkI1NDVCQjFCLUE4RTEtNDI2Qy1CNTBBLTQyNkU3OEI5NkQzODwvc3RyaW5nPgotCQkJPHN0cmluZz42RUYxNTFFNS03MTQ5LTRGODItODc5Ni0wQ0M0MEZFNTg5RkE8L3N0cmluZz4KLQkJCTxzdHJpbmc+LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9zdHJpbmc+Ci0JCQk8c3RyaW5nPkJGMzM2RkZGLUUxNEQtNEJGMS1BMTU2LTcxQ0Y3NjhBQzAzNDwvc3RyaW5nPgotCQkJPHN0cmluZz5GRDI1QThEQy0yMkRDLTRFRDQtQjIyMi1COTQzQzhBOTExN0Q8L3N0cmluZz4KLQkJCTxzdHJpbmc+RURCQjAzN0YtQUFFMy00NTEyLTg2M0YtRDlBQTgyQzlFNTFFPC9zdHJpbmc+Ci0JCTwvYXJyYXk+Ci0JCTxrZXk+c3VibWVudXM8L2tleT4KLQkJPGRpY3QvPgotCTwvZGljdD4KLQk8a2V5Pm5hbWU8L2tleT4KLQk8c3RyaW5nPlB5dGhvbi1EZXY8L3N0cmluZz4KLQk8a2V5Pm9yZGVyaW5nPC9rZXk+Ci0JPGFycmF5PgotCQk8c3RyaW5nPjk1MTlDMjJCLTZBQjgtNDFBMS05NEY2LTA3OUUwQjQ1QzE0Nzwvc3RyaW5nPgotCQk8c3RyaW5nPjA1Njg0MTBELUVBRjEtNEFGMy1CNkRFLThBRjEzM0E5MTgyMTwvc3RyaW5nPgotCQk8c3RyaW5nPkI1NDVCQjFCLUE4RTEtNDI2Qy1CNTBBLTQyNkU3OEI5NkQzODwvc3RyaW5nPgotCQk8c3RyaW5nPjZFRjE1MUU1LTcxNDktNEY4Mi04Nzk2LTBDQzQwRkU1ODlGQTwvc3RyaW5nPgotCQk8c3RyaW5nPkZEMjVBOERDLTIyREMtNEVENC1CMjIyLUI5NDNDOEE5MTE3RDwvc3RyaW5nPgotCQk8c3RyaW5nPkJGMzM2RkZGLUUxNEQtNEJGMS1BMTU2LTcxQ0Y3NjhBQzAzNDwvc3RyaW5nPgotCQk8c3RyaW5nPkVEQkIwMzdGLUFBRTMtNDUxMi04NjNGLUQ5QUE4MkM5RTUxRTwvc3RyaW5nPgotCTwvYXJyYXk+Ci0JPGtleT51dWlkPC9rZXk+Ci0JPHN0cmluZz5BOTMyRUNEMS1ENDNBLTRGNTctQjdGQi1BMUNFQzNCNjVEMjA8L3N0cmluZz4KLTwvZGljdD4KLTwvcGxpc3Q+CmRpZmYgLS1naXQgYS9NaXNjL1ZpbS9weXRob24udmltIGIvTWlzYy9WaW0vcHl0aG9uLnZpbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTFlZTdlYi4uMDAwMDAwMAotLS0gYS9NaXNjL1ZpbS9weXRob24udmltCisrKyAvZGV2L251bGwKQEAgLTEsMTQ4ICswLDAgQEAKLSIgQXV0by1nZW5lcmF0ZWQgVmltIHN5bnRheCBmaWxlIGZvciBQeXRob24gKHRydW5rOiByNjAzNzZNKS4KLSIKLSIgVG8gdXNlOiBjb3B5IG9yIHN5bWxpbmsgdG8gfi8udmltL3N5bnRheC9weXRob24udmltCi0KLQotaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKLSAgZmluaXNoCi1lbmRpZgotCi1pZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfYWxsIikKLSAgbGV0IHB5dGhvbl9oaWdobGlnaHRfbnVtYmVycyA9IDEKLSAgbGV0IHB5dGhvbl9oaWdobGlnaHRfYnVpbHRpbnMgPSAxCi0gIGxldCBweXRob25faGlnaGxpZ2h0X2V4Y2VwdGlvbnMgPSAxCi0gIGxldCBweXRob25faGlnaGxpZ2h0X3NwYWNlX2Vycm9ycyA9IDEKLWVuZGlmCi0KLXN5biBrZXl3b3JkIHB5dGhvblN0YXRlbWVudCAgICBhcyBhc3NlcnQgYnJlYWsgY29udGludWUgZGVsIGV4Y2VwdCBleGVjIGZpbmFsbHkKLXN5biBrZXl3b3JkIHB5dGhvblN0YXRlbWVudCAgICBnbG9iYWwgbGFtYmRhIHBhc3MgcHJpbnQgcmFpc2UgcmV0dXJuIHRyeSB3aXRoCi1zeW4ga2V5d29yZCBweXRob25TdGF0ZW1lbnQgICAgeWllbGQKLQotc3luIGtleXdvcmQgcHl0aG9uU3RhdGVtZW50ICAgIGRlZiBjbGFzcyBuZXh0Z3JvdXA9cHl0aG9uRnVuY3Rpb24gc2tpcHdoaXRlCi0KLXN5biBtYXRjaCBweXRob25GdW5jdGlvbiAgICAiW2EtekEtWl9dW2EtekEtWjAtOV9dKiIgY29udGFpbmVkCi0KLXN5biBrZXl3b3JkIHB5dGhvblJlcGVhdCAgICBmb3Igd2hpbGUKLQotc3luIGtleXdvcmQgcHl0aG9uQ29uZGl0aW9uYWwgICAgaWYgZWxpZiBlbHNlCi0KLXN5biBrZXl3b3JkIHB5dGhvbk9wZXJhdG9yICAgIGFuZCBpbiBpcyBub3Qgb3IKLQotc3luIGtleXdvcmQgcHl0aG9uUHJlQ29uZGl0ICAgIGltcG9ydCBmcm9tCi0KLXN5biBtYXRjaCBweXRob25Db21tZW50ICAgICIjLiokIiBjb250YWlucz1weXRob25Ub2RvCi0KLXN5biBrZXl3b3JkIHB5dGhvblRvZG8gICAgVE9ETyBGSVhNRSBYWFggY29udGFpbmVkCi0KLXN5biByZWdpb24gcHl0aG9uU3RyaW5nICAgIG1hdGNoZ3JvdXA9Tm9ybWFsIHN0YXJ0PStbdVVdXD0nKyBlbmQ9KycrIHNraXA9K1xcXFxcfFxcJysgY29udGFpbnM9cHl0aG9uRXNjYXBlCi1zeW4gcmVnaW9uIHB5dGhvblN0cmluZyAgICBtYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rW3VVXVw9IisgZW5kPSsiKyBza2lwPStcXFxcXHxcXCIrIGNvbnRhaW5zPXB5dGhvbkVzY2FwZQotc3luIHJlZ2lvbiBweXRob25TdHJpbmcgICAgbWF0Y2hncm91cD1Ob3JtYWwgc3RhcnQ9K1t1VV1cPSIiIisgZW5kPSsiIiIrICBjb250YWlucz1weXRob25Fc2NhcGUKLXN5biByZWdpb24gcHl0aG9uU3RyaW5nICAgIG1hdGNoZ3JvdXA9Tm9ybWFsIHN0YXJ0PStbdVVdXD0nJycrIGVuZD0rJycnKyAgY29udGFpbnM9cHl0aG9uRXNjYXBlCi1zeW4gcmVnaW9uIHB5dGhvblN0cmluZyAgICBtYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rW3VVXVw9W3JSXScrIGVuZD0rJysgc2tpcD0rXFxcXFx8XFwnKyAKLXN5biByZWdpb24gcHl0aG9uU3RyaW5nICAgIG1hdGNoZ3JvdXA9Tm9ybWFsIHN0YXJ0PStbdVVdXD1bclJdIisgZW5kPSsiKyBza2lwPStcXFxcXHxcXCIrIAotc3luIHJlZ2lvbiBweXRob25TdHJpbmcgICAgbWF0Y2hncm91cD1Ob3JtYWwgc3RhcnQ9K1t1VV1cPVtyUl0iIiIrIGVuZD0rIiIiKyAgCi1zeW4gcmVnaW9uIHB5dGhvblN0cmluZyAgICBtYXRjaGdyb3VwPU5vcm1hbCBzdGFydD0rW3VVXVw9W3JSXScnJysgZW5kPSsnJycrICAKLQotc3luIG1hdGNoIHB5dGhvbkVzY2FwZSAgICArXFxbYWJmbnJ0dlwnIlxcXSsgY29udGFpbmVkCi1zeW4gbWF0Y2ggcHl0aG9uRXNjYXBlICAgICJcXFxvXHsxLDN9IiBjb250YWluZWQKLXN5biBtYXRjaCBweXRob25Fc2NhcGUgICAgIlxceFx4XHsyfSIgY29udGFpbmVkCi1zeW4gbWF0Y2ggcHl0aG9uRXNjYXBlICAgICJcKFxcdVx4XHs0fVx8XFxVXHhcezh9XCkiIGNvbnRhaW5lZAotCi1zeW4gbWF0Y2ggcHl0aG9uRXNjYXBlICAgICJcXCQiCi0KLQotaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X251bWJlcnMiKQotICBzeW4gbWF0Y2ggcHl0aG9uTnVtYmVyICAgICJcPDB4XHhcK1tMbF1cPVw+IgotICBzeW4gbWF0Y2ggcHl0aG9uTnVtYmVyICAgICJcPFxkXCtbTGxqSl1cPVw+IgotICBzeW4gbWF0Y2ggcHl0aG9uTnVtYmVyICAgICJcLlxkXCtcKFtlRV1bKy1dXD1cZFwrXClcPVtqSl1cPVw+IgotICBzeW4gbWF0Y2ggcHl0aG9uTnVtYmVyICAgICJcPFxkXCtcLlwoW2VFXVsrLV1cPVxkXCtcKVw9W2pKXVw9XD4iCi0gIHN5biBtYXRjaCBweXRob25OdW1iZXIgICAgIlw8XGRcK1wuXGRcK1woW2VFXVsrLV1cPVxkXCtcKVw9W2pKXVw9XD4iCi0KLWVuZGlmCi0KLQotaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X2J1aWx0aW5zIikKLSAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbiAgICBFbGxpcHNpcyBGYWxzZSBOb25lIE5vdEltcGxlbWVudGVkIFRydWUgX19kZWJ1Z19fCi0gIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4gICAgX19pbXBvcnRfXyBhYnMgYWxsIGFueSBib29sCi0gIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4gICAgYnVmZmVyIGNhbGxhYmxlIGNociBjbGFzc21ldGhvZCBjbXAKLSAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbiAgICBjb21wbGV4IGNvcHlyaWdodCBjcmVkaXRzIGRlbGF0dHIgZGljdAotICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluICAgIGRpciBkaXZtb2QgZW51bWVyYXRlIGV2YWwgZXhlYyBleGl0Ci0gIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4gICAgZmlsdGVyIGZsb2F0IGZyb3plbnNldCBnZXRhdHRyIGdsb2JhbHMgaGFzYXR0cgotICBzeW4ga2V5d29yZCBweXRob25CdWlsdGluICAgIGhhc2ggaGVscCBoZXggaWQgaW50IGlzaW5zdGFuY2UKLSAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbiAgICBpc3N1YmNsYXNzIGl0ZXIgbGVuIGxpY2Vuc2UgbGlzdCBsb2NhbHMgbWFwCi0gIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4gICAgbWF4IG1pbiBvYmplY3Qgb2N0IG9wZW4gb3JkIHBvdyBwcm9wZXJ0eSBxdWl0Ci0gIHN5biBrZXl3b3JkIHB5dGhvbkJ1aWx0aW4gICAgcmFuZ2UgcmVsb2FkIHJlcHIgcmV2ZXJzZWQgcm91bmQKLSAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbiAgICBzZXQgc2V0YXR0ciBzbGljZSBzb3J0ZWQgc3RhdGljbWV0aG9kIHN0ciBzdW0KLSAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbiAgICBzdXBlciB0cnVuYyB0dXBsZSB0eXBlIHVuaWNvZGUgdmFycyAKLSAgc3luIGtleXdvcmQgcHl0aG9uQnVpbHRpbiAgICB6aXAKLQotZW5kaWYKLQotCi1pZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfZXhjZXB0aW9ucyIpCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBBcml0aG1ldGljRXJyb3IgQXNzZXJ0aW9uRXJyb3IgQXR0cmlidXRlRXJyb3IKLSAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uICAgIEJhc2VFeGNlcHRpb24gRGVwcmVjYXRpb25XYXJuaW5nIEVPRkVycm9yCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBFbnZpcm9ubWVudEVycm9yIEV4Y2VwdGlvbiBGbG9hdGluZ1BvaW50RXJyb3IKLSAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uICAgIEZ1dHVyZVdhcm5pbmcgR2VuZXJhdG9yRXhpdCBJT0Vycm9yIEltcG9ydEVycm9yCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBJbXBvcnRXYXJuaW5nIEluZGVudGF0aW9uRXJyb3IgSW5kZXhFcnJvcgotICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24gICAgS2V5RXJyb3IgS2V5Ym9hcmRJbnRlcnJ1cHQgTG9va3VwRXJyb3IKLSAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uICAgIE1lbW9yeUVycm9yIE5hbWVFcnJvciBOb3RJbXBsZW1lbnRlZEVycm9yCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBPU0Vycm9yIE92ZXJmbG93RXJyb3IgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZwotICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24gICAgUmVmZXJlbmNlRXJyb3IgUnVudGltZUVycm9yIFJ1bnRpbWVXYXJuaW5nCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBTdG9wSXRlcmF0aW9uIFN5bnRheEVycm9yCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBTeW50YXhXYXJuaW5nIFN5c3RlbUVycm9yIFN5c3RlbUV4aXQgVGFiRXJyb3IKLSAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uICAgIFR5cGVFcnJvciBVbmJvdW5kTG9jYWxFcnJvciBVbmljb2RlRGVjb2RlRXJyb3IKLSAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uICAgIFVuaWNvZGVFbmNvZGVFcnJvciBVbmljb2RlRXJyb3IKLSAgc3luIGtleXdvcmQgcHl0aG9uRXhjZXB0aW9uICAgIFVuaWNvZGVUcmFuc2xhdGVFcnJvciBVbmljb2RlV2FybmluZwotICBzeW4ga2V5d29yZCBweXRob25FeGNlcHRpb24gICAgVXNlcldhcm5pbmcgVmFsdWVFcnJvciBXYXJuaW5nCi0gIHN5biBrZXl3b3JkIHB5dGhvbkV4Y2VwdGlvbiAgICBaZXJvRGl2aXNpb25FcnJvcgotCi1lbmRpZgotCi0KLWlmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9zcGFjZV9lcnJvcnMiKQotICBzeW4gbWF0Y2ggcHl0aG9uU3BhY2VFcnJvciAgICBkaXNwbGF5IGV4Y2x1ZGVubCAiXFNcc1wrJCJtcz1zKzEKLSAgc3luIG1hdGNoIHB5dGhvblNwYWNlRXJyb3IgICAgZGlzcGxheSAiIFwrXHQiCi0gIHN5biBtYXRjaCBweXRob25TcGFjZUVycm9yICAgIGRpc3BsYXkgIlx0XCsgIgotCi1lbmRpZgotCi0KLSAgaGkgZGVmIGxpbmsgcHl0aG9uU3RhdGVtZW50IFN0YXRlbWVudAotICBoaSBkZWYgbGluayBweXRob25TdGF0ZW1lbnQgU3RhdGVtZW50Ci0gIGhpIGRlZiBsaW5rIHB5dGhvbkZ1bmN0aW9uIEZ1bmN0aW9uCi0gIGhpIGRlZiBsaW5rIHB5dGhvblJlcGVhdCBSZXBlYXQKLSAgaGkgZGVmIGxpbmsgcHl0aG9uQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKLSAgaGkgZGVmIGxpbmsgcHl0aG9uT3BlcmF0b3IgT3BlcmF0b3IKLSAgaGkgZGVmIGxpbmsgcHl0aG9uUHJlQ29uZGl0IFByZUNvbmRpdAotICBoaSBkZWYgbGluayBweXRob25Db21tZW50IENvbW1lbnQKLSAgaGkgZGVmIGxpbmsgcHl0aG9uVG9kbyBUb2RvCi0gIGhpIGRlZiBsaW5rIHB5dGhvblN0cmluZyBTdHJpbmcKLSAgaGkgZGVmIGxpbmsgcHl0aG9uRXNjYXBlIFNwZWNpYWwKLSAgaGkgZGVmIGxpbmsgcHl0aG9uRXNjYXBlIFNwZWNpYWwKLQotICBpZiBleGlzdHMoInB5dGhvbl9oaWdobGlnaHRfbnVtYmVycyIpCi0gICAgaGkgZGVmIGxpbmsgcHl0aG9uTnVtYmVyIE51bWJlcgotICBlbmRpZgotCi0gIGlmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9idWlsdGlucyIpCi0gICAgaGkgZGVmIGxpbmsgcHl0aG9uQnVpbHRpbiBGdW5jdGlvbgotICBlbmRpZgotCi0gIGlmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9leGNlcHRpb25zIikKLSAgICBoaSBkZWYgbGluayBweXRob25FeGNlcHRpb24gRXhjZXB0aW9uCi0gIGVuZGlmCi0KLSAgaWYgZXhpc3RzKCJweXRob25faGlnaGxpZ2h0X3NwYWNlX2Vycm9ycyIpCi0gICAgaGkgZGVmIGxpbmsgcHl0aG9uU3BhY2VFcnJvciBFcnJvcgotICBlbmRpZgotCi0KLSIgVW5jb21tZW50IHRoZSAnbWlubGluZXMnIHN0YXRlbWVudCBsaW5lIGFuZCBjb21tZW50IG91dCB0aGUgJ21heGxpbmVzJwotIiBzdGF0ZW1lbnQgbGluZTsgY2hhbmdlcyBiZWhhdmlvdXIgdG8gbG9vayBhdCBsZWFzdCAyMDAwIGxpbmVzIHByZXZpb3VzbHkgZm9yCi0iIHN5bnRheCBtYXRjaGVzIGluc3RlYWQgb2YgYXQgbW9zdCAyMDAgbGluZXMKLXN5biBzeW5jIG1hdGNoIHB5dGhvblN5bmMgZ3JvdXBoZXJlIE5PTkUgIik6JCIKLXN5biBzeW5jIG1heGxpbmVzPTIwMAotInN5biBzeW5jIG1pbmxpbmVzPTIwMDAKLQotbGV0IGI6Y3VycmVudF9zeW50YXggPSAicHl0aG9uIgpkaWZmIC0tZ2l0IGEvTWlzYy9WaW0vc3ludGF4X3Rlc3QucHkgYi9NaXNjL1ZpbS9zeW50YXhfdGVzdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWQyMDg2Ni4uMDAwMDAwMAotLS0gYS9NaXNjL1ZpbS9zeW50YXhfdGVzdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLSIiIlRlc3QgZmlsZSBmb3Igc3ludGF4IGhpZ2hsaWdodGluZyBvZiBlZGl0b3JzLgotCi1NZWFudCB0byBjb3ZlciBhIHdpZGUgcmFuZ2Ugb2YgZGlmZmVyZW50IHR5cGVzIG9mIHN0YXRlbWVudHMgYW5kIGV4cHJlc3Npb25zLgotTm90IG5lY2Vzc2FyaWx5IHNlbnNpY2FsIG9yIGNvbXByZWhlbnNpdmUgKGFzc3VtZSB0aGF0IGlmIG9uZSBleGNlcHRpb24gaXMKLWhpZ2hsaWdodGVkIHRoYXQgYWxsIGFyZSwgZm9yIGluc3RhbmNlKS4KLQotRXh0cmFuZW91cyB0cmFpbGluZyB3aGl0ZXNwYWNlIGNhbid0IGJlIHRlc3RlZCBiZWNhdXNlIG9mIHN2biBwcmUtY29tbWl0IGhvb2sKLWNoZWNrcyBmb3Igc3VjaCB0aGluZ3MuCi0KLSIiIgotIyBDb21tZW50Ci0jIE9QVElPTkFMOiBYWFggY2F0Y2ggeW91ciBhdHRlbnRpb24KLQotIyBTdGF0ZW1lbnRzCi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHdpdGhfc3RhdGVtZW50ICAjIEltcG9ydAotZnJvbSBzeXMgaW1wb3J0IHBhdGggYXMgdGhpbmcKLWFzc2VydCBUcnVlICMga2V5d29yZAotZGVmIGZvbygpOiAgIyBmdW5jdGlvbiBkZWZpbml0aW9uCi0gICAgcmV0dXJuIFtdCi1jbGFzcyBCYXIob2JqZWN0KTogICMgQ2xhc3MgZGVmaW5pdGlvbgotICAgIGRlZiBfX2VudGVyX18oc2VsZik6Ci0gICAgICAgIHBhc3MKLSAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgotICAgICAgICBwYXNzCi1mb28oKSAgIyBVTkNPTE9VUkVEOiBmdW5jdGlvbiBjYWxsCi13aGlsZSBGYWxzZTogICMgJ3doaWxlJwotICAgIGNvbnRpbnVlCi1mb3IgeCBpbiBmb28oKTogICMgJ2ZvcicKLSAgICBicmVhawotd2l0aCBCYXIoKSBhcyBzdHVmZjoKLSAgICBwYXNzCi1pZiBGYWxzZTogcGFzcyAgIyAnaWYnCi1lbGlmIEZhbHNlOiBwYXNzCi1lbHNlOiBwYXNzCi0KLSMgQ29uc3RhbnRzCi0nc2luZ2xlLXF1b3RlJywgdSd1bmljb2RlJyAjIFN0cmluZ3Mgb2YgYWxsIGtpbmRzOyBwcmVmaXhlcyBub3QgaGlnaGxpZ2h0ZWQKLSJkb3VibGUtcXVvdGUiCi0iIiJ0cmlwbGUgZG91YmxlLXF1b3RlIiIiCi0nJyd0cmlwbGUgc2luZ2xlLXF1b3RlJycnCi1yJ3JhdycKLXVyJ3VuaWNvZGUgcmF3JwotJ2VzY2FwZVxuJwotJ1wwNCcgICMgb2N0YWwKLSdceEZGJyAjIGhleAotJ1x1MTExMScgIyB1bmljb2RlIGNoYXJhY3RlcgotMSAgIyBJbnRlZ3JhbAotMUwKLTEuMCAgIyBGbG9hdAotLjEKLTErMmogICMgQ29tcGxleAotCi0jIEV4cHJlc3Npb25zCi0xIGFuZCAyIG9yIDMgICMgQm9vbGVhbiBvcGVyYXRvcnMKLTIgPCAzICAjIFVOQ09MT1VSRUQ6IGNvbXBhcmlzb24gb3BlcmF0b3JzCi1zcGFtID0gNDIgICMgVU5DT0xPVVJFRDogYXNzaWdubWVudAotMiArIDMgICMgVU5DT0xPVVJFRDogbnVtYmVyIG9wZXJhdG9ycwotW10gICMgVU5DT0xPVVJFRDogbGlzdAote30gICMgVU5DT0xPVVJFRDogZGljdAotKDEsKSAgIyBVTkNPTE9VUkVEOiB0dXBsZQotYWxsICAjIEJ1aWx0LWluIGZ1bmN0aW9ucwotR2VuZXJhdG9yRXhpdCAgIyBFeGNlcHRpb25zCmRpZmYgLS1naXQgYS9NaXNjL1ZpbS92aW1fc3ludGF4LnB5IGIvTWlzYy9WaW0vdmltX3N5bnRheC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTcyYjM1MC4uMDAwMDAwMAotLS0gYS9NaXNjL1ZpbS92aW1fc3ludGF4LnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjI5ICswLDAgQEAKLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgd2l0aF9zdGF0ZW1lbnQKLSMgWFhYKG5ub3J3aXR6KTogd2hhdCB2ZXJzaW9ucyBvZiBweXRob24gaXMgdGhpcyBmaWxlIHN1cHBvc2VkIHRvIHdvcmsgd2l0aD8KLSMgSXQgdXNlcyB0aGUgb2xkIHByaW50IHN0YXRlbWVudCBub3QgaW4gcHkzay4KLQotaW1wb3J0IGtleXdvcmQKLWltcG9ydCBleGNlcHRpb25zCi1pbXBvcnQgYnVpbHRpbnMKLWZyb20gc3RyaW5nIGltcG9ydCBUZW1wbGF0ZQotZnJvbSBzeXMgaW1wb3J0IHN1YnZlcnNpb24KLQotY29tbWVudF9oZWFkZXIgPSAnJyciIEF1dG8tZ2VuZXJhdGVkIFZpbSBzeW50YXggZmlsZSBmb3IgUHl0aG9uICglczogciVzKS4KLSIKLSIgVG8gdXNlOiBjb3B5IG9yIHN5bWxpbmsgdG8gfi8udmltL3N5bnRheC9weXRob24udmltJycnCi0KLXN0YXRlbWVudF9oZWFkZXIgPSAiIiIKLWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0gIGZpbmlzaAotZW5kaWYiIiIKLQotc3RhdGVtZW50X2Zvb3RlciA9ICcnJwotIiBVbmNvbW1lbnQgdGhlICdtaW5saW5lcycgc3RhdGVtZW50IGxpbmUgYW5kIGNvbW1lbnQgb3V0IHRoZSAnbWF4bGluZXMnCi0iIHN0YXRlbWVudCBsaW5lOyBjaGFuZ2VzIGJlaGF2aW91ciB0byBsb29rIGF0IGxlYXN0IDIwMDAgbGluZXMgcHJldmlvdXNseSBmb3IKLSIgc3ludGF4IG1hdGNoZXMgaW5zdGVhZCBvZiBhdCBtb3N0IDIwMCBsaW5lcwotc3luIHN5bmMgbWF0Y2ggcHl0aG9uU3luYyBncm91cGhlcmUgTk9ORSAiKTokIgotc3luIHN5bmMgbWF4bGluZXM9MjAwCi0ic3luIHN5bmMgbWlubGluZXM9MjAwMAotCi1sZXQgYjpjdXJyZW50X3N5bnRheCA9ICJweXRob24iJycnCi0KLWxvb3BpbmcgPSAoJ2ZvcicsICd3aGlsZScpCi1jb25kaXRpb25hbHMgPSAoJ2lmJywgJ2VsaWYnLCAnZWxzZScpCi1ib29sZWFuX29wcyA9ICgnYW5kJywgJ2luJywgJ2lzJywgJ25vdCcsICdvcicpCi1pbXBvcnRfc3RtdHMgPSAoJ2ltcG9ydCcsICdmcm9tJykKLW9iamVjdF9kZWZzID0gKCdkZWYnLCAnY2xhc3MnKQotCi1leGNlcHRpb25fbmFtZXMgPSBzb3J0ZWQoZXhjIGZvciBleGMgaW4gZGlyKGV4Y2VwdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBleGMuc3RhcnRzd2l0aCgnX18nKSkKLQotIyBOZWVkIHRvIGluY2x1ZGUgZnVuY3Rpb25zIHRoYXQgc3RhcnQgd2l0aCAnX18nIChlLmcuLCBfX2ltcG9ydF9fKSwgYnV0Ci0jIG5vdGhpbmcgdGhhdCBjb21lcyB3aXRoIG1vZHVsZXMgKGUuZy4sIF9fbmFtZV9fKSwgc28ganVzdCBleGNsdWRlIGFueXRoaW5nIGluCi0jIHRoZSAnZXhjZXB0aW9ucycgbW9kdWxlIHNpbmNlIHdlIHdhbnQgdG8gaWdub3JlIGV4Y2VwdGlvbnMgKmFuZCogd2hhdCBhbnkKLSMgbW9kdWxlIHdvdWxkIGhhdmUKLWJ1aWx0aW5fbmFtZXMgPSBzb3J0ZWQoYnVpbHRpbiBmb3IgYnVpbHRpbiBpbiBkaXIoYnVpbHRpbnMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgYnVpbHRpbiBub3QgaW4gZGlyKGV4Y2VwdGlvbnMpKQotCi1lc2NhcGVzID0gKHInK1xcW2FiZm5ydHZcJyJcXF0rJywgciciXFxcb1x7MSwzfSInLCByJyJcXHhceFx7Mn0iJywKLSAgICAgICAgICAgIHInIlwoXFx1XHhcezR9XHxcXFVceFx7OH1cKSInLCByJyJcXCQiJykKLQotdG9kb3MgPSAoIlRPRE8iLCAiRklYTUUiLCAiWFhYIikKLQotIyBYWFggY29kaWZ5PwotbnVtYmVycyA9IChyJyJcPDB4XHhcK1tMbF1cPVw+IicsIHInIlw8XGRcK1tMbGpKXVw9XD4iJywKLSAgICAgICAgICAgICciXC5cZFwrXChbZUVdWystXVw9XGRcK1wpXD1bakpdXD1cPiInLAotICAgICAgICAgICAgJyJcPFxkXCtcLlwoW2VFXVsrLV1cPVxkXCtcKVw9W2pKXVw9XD4iJywKLSAgICAgICAgICAgICciXDxcZFwrXC5cZFwrXChbZUVdWystXVw9XGRcK1wpXD1bakpdXD1cPiInKQotCi1jb250YWluZWQgPSBsYW1iZGEgeDogIiVzIGNvbnRhaW5lZCIgJSB4Ci0KLWRlZiBzdHJfcmVnZXhlcygpOgotICAgICIiIkdlbmVyYXRvciB0byB5aWVsZCB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBzdHJpbmdzIHJlZ2V4ZXMiIiIKLSAgICByZWdleF90ZW1wbGF0ZSA9IFRlbXBsYXRlKCdtYXRjaGdyb3VwPU5vcm1hbCAnICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YXJ0PStbdVVdXD0ke3Jhd30ke3NlcH0rICcgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZW5kPSske3NlcH0rICcgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJHtza2lwfSAnICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyR7Y29udGFpbnN9JykKLSAgICBza2lwX3JlZ2V4ID0gVGVtcGxhdGUocidza2lwPStcXFxcXHxcXCR7c2VwfSsnKQotICAgIGZvciByYXcgaW4gKCcnLCAnW3JSXScpOgotICAgICAgICBmb3Igc2VwYXJhdG9yIGluICgiJyIsICciJywgJyIiIicsICInJyciKToKLSAgICAgICAgICAgIGlmIGxlbihzZXBhcmF0b3IpID09IDE6Ci0gICAgICAgICAgICAgICAgc2tpcCA9IHNraXBfcmVnZXguc3Vic3RpdHV0ZShzZXA9c2VwYXJhdG9yKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBza2lwID0gJycKLSAgICAgICAgICAgIGNvbnRhaW5zID0gJ2NvbnRhaW5zPXB5dGhvbkVzY2FwZScgaWYgbm90IHJhdyBlbHNlICcnCi0gICAgICAgICAgICB5aWVsZCByZWdleF90ZW1wbGF0ZS5zdWJzdGl0dXRlKHJhdz1yYXcsIHNlcD1zZXBhcmF0b3IsIHNraXA9c2tpcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbnMgPSBjb250YWlucykKLQotc3BhY2VfZXJyb3JzID0gKHInZXhjbHVkZW5sICJcU1xzXCskIm1zPXMrMScsIHInIiBcK1x0IicsIHInIlx0XCsgIicpCi0KLXN0YXRlbWVudHMgPSAoCi0gICAgICAgICAgICAgICAgKCcnLAotICAgICAgICAgICAgICAgICAgICAjIFhYWCBNaWdodCBuZWVkIHRvIGNoYW5nZSBweXRob25TdGF0ZW1lbnQgc2luY2UgaGF2ZQotICAgICAgICAgICAgICAgICAgICAjIHNwZWNpZmljIFJlcGVhdCwgQ29uZGl0aW9uYWwsIE9wZXJhdG9yLCBldGMuIGZvciAnd2hpbGUnLAotICAgICAgICAgICAgICAgICAgICAjIGV0Yy4KLSAgICAgICAgICAgICAgICAgICAgWygiU3RhdGVtZW50IiwgInB5dGhvblN0YXRlbWVudCIsICJrZXl3b3JkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIChrdyBmb3Iga3cgaW4ga2V5d29yZC5rd2xpc3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBrdyBub3QgaW4gKGxvb3BpbmcgKyBjb25kaXRpb25hbHMgKyBib29sZWFuX29wcyArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0X3N0bXRzICsgb2JqZWN0X2RlZnMpKQotICAgICAgICAgICAgICAgICAgICAgICksCi0gICAgICAgICAgICAgICAgICAgICAoIlN0YXRlbWVudCIsICJweXRob25TdGF0ZW1lbnQiLCAia2V5d29yZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgKCcgJy5qb2luKG9iamVjdF9kZWZzKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgbmV4dGdyb3VwPXB5dGhvbkZ1bmN0aW9uIHNraXB3aGl0ZScpKSwKLSAgICAgICAgICAgICAgICAgICAgICgiRnVuY3Rpb24iLCJweXRob25GdW5jdGlvbiIsICJtYXRjaCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVkKCciW2EtekEtWl9dW2EtekEtWjAtOV9dKiInKSksCi0gICAgICAgICAgICAgICAgICAgICAoIlJlcGVhdCIsICJweXRob25SZXBlYXQiLCAia2V5d29yZCIsIGxvb3BpbmcpLAotICAgICAgICAgICAgICAgICAgICAgKCJDb25kaXRpb25hbCIsICJweXRob25Db25kaXRpb25hbCIsICJrZXl3b3JkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbHMpLAotICAgICAgICAgICAgICAgICAgICAgKCJPcGVyYXRvciIsICJweXRob25PcGVyYXRvciIsICJrZXl3b3JkIiwgYm9vbGVhbl9vcHMpLAotICAgICAgICAgICAgICAgICAgICAgKCJQcmVDb25kaXQiLCAicHl0aG9uUHJlQ29uZGl0IiwgImtleXdvcmQiLCBpbXBvcnRfc3RtdHMpLAotICAgICAgICAgICAgICAgICAgICAgKCJDb21tZW50IiwgInB5dGhvbkNvbW1lbnQiLCAibWF0Y2giLAotICAgICAgICAgICAgICAgICAgICAgICAgICciIy4qJCIgY29udGFpbnM9cHl0aG9uVG9kbycpLAotICAgICAgICAgICAgICAgICAgICAgKCJUb2RvIiwgInB5dGhvblRvZG8iLCAia2V5d29yZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVkKCcgJy5qb2luKHRvZG9zKSkpLAotICAgICAgICAgICAgICAgICAgICAgKCJTdHJpbmciLCAicHl0aG9uU3RyaW5nIiwgInJlZ2lvbiIsIHN0cl9yZWdleGVzKCkpLAotICAgICAgICAgICAgICAgICAgICAgKCJTcGVjaWFsIiwgInB5dGhvbkVzY2FwZSIsICJtYXRjaCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnRhaW5lZChlc2MpIGZvciBlc2MgaW4gZXNjYXBlcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgJyQnIGluIGVzYykpLAotICAgICAgICAgICAgICAgICAgICAgKCJTcGVjaWFsIiwgInB5dGhvbkVzY2FwZSIsICJtYXRjaCIsIHInIlxcJCInKSwKLSAgICAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICksCi0gICAgICAgICAgICAgICAgKCJweXRob25faGlnaGxpZ2h0X251bWJlcnMiLAotICAgICAgICAgICAgICAgICAgICBbKCJOdW1iZXIiLCAicHl0aG9uTnVtYmVyIiwgIm1hdGNoIiwgbnVtYmVycyldCi0gICAgICAgICAgICAgICAgKSwKLSAgICAgICAgICAgICAgICAoInB5dGhvbl9oaWdobGlnaHRfYnVpbHRpbnMiLAotICAgICAgICAgICAgICAgICAgICBbKCJGdW5jdGlvbiIsICJweXRob25CdWlsdGluIiwgImtleXdvcmQiLCBidWlsdGluX25hbWVzKV0KLSAgICAgICAgICAgICAgICApLAotICAgICAgICAgICAgICAgICgicHl0aG9uX2hpZ2hsaWdodF9leGNlcHRpb25zIiwKLSAgICAgICAgICAgICAgICAgICAgWygiRXhjZXB0aW9uIiwgInB5dGhvbkV4Y2VwdGlvbiIsICJrZXl3b3JkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbl9uYW1lcyldCi0gICAgICAgICAgICAgICAgKSwKLSAgICAgICAgICAgICAgICAoInB5dGhvbl9oaWdobGlnaHRfc3BhY2VfZXJyb3JzIiwKLSAgICAgICAgICAgICAgICAgICAgWygiRXJyb3IiLCAicHl0aG9uU3BhY2VFcnJvciIsICJtYXRjaCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAoImRpc3BsYXkgIiArIGVyciBmb3IgZXJyIGluIHNwYWNlX2Vycm9ycykpXQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICApCi0KLWRlZiBzeW5fcHJlZml4KHR5cGVfLCBraW5kKToKLSAgICByZXR1cm4gJ3N5biAlcyAlcyAgICAnICUgKHR5cGVfLCBraW5kKQotCi1kZWYgZmlsbF9zdG10KGl0ZXJhYmxlLCBmaWxsX2xlbik6Ci0gICAgIiIiWWllbGQgYSBzdHJpbmcgdGhhdCBmaWxscyBhdCBtb3N0IGZpbGxfbGVuIGNoYXJhY3RlcnMgd2l0aCBzdHJpbmdzCi0gICAgcmV0dXJuZWQgYnkgJ2l0ZXJhYmxlJyBhbmQgc2VwYXJhdGVkIGJ5IGEgc3BhY2UiIiIKLSAgICAjIERlYWwgd2l0aCB0cmFpbGluZyBjaGFyIHRvIGhhbmRsZSAnICcuam9pbigpIGNhbGN1bGF0aW9uCi0gICAgZmlsbF9sZW4gKz0gMQotICAgIG92ZXJmbG93ID0gTm9uZQotICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKLSAgICB3aGlsZSBUcnVlOgotICAgICAgICBidWZmZXJfID0gW10KLSAgICAgICAgdG90YWxfbGVuID0gMAotICAgICAgICBpZiBvdmVyZmxvdzoKLSAgICAgICAgICAgIGJ1ZmZlcl8uYXBwZW5kKG92ZXJmbG93KQotICAgICAgICAgICAgdG90YWxfbGVuICs9IGxlbihvdmVyZmxvdykgKyAxCi0gICAgICAgICAgICBvdmVyZmxvdyA9IE5vbmUKLSAgICAgICAgd2hpbGUgdG90YWxfbGVuIDwgZmlsbF9sZW46Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgbmV3X2l0ZW0gPSBuZXh0KGl0KQotICAgICAgICAgICAgICAgIGJ1ZmZlcl8uYXBwZW5kKG5ld19pdGVtKQotICAgICAgICAgICAgICAgIHRvdGFsX2xlbiArPSBsZW4obmV3X2l0ZW0pICsgMQotICAgICAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246Ci0gICAgICAgICAgICAgICAgaWYgYnVmZmVyXzoKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBpZiBvdmVyZmxvdzoKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgb3ZlcmZsb3cKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgaWYgdG90YWxfbGVuID4gZmlsbF9sZW46Ci0gICAgICAgICAgICBvdmVyZmxvdyA9IGJ1ZmZlcl8ucG9wKCkKLSAgICAgICAgICAgIHRvdGFsX2xlbiAtPSBsZW4ob3ZlcmZsb3cpIC0gMQotICAgICAgICByZXQgPSAnICcuam9pbihidWZmZXJfKQotICAgICAgICBhc3NlcnQgbGVuKHJldCkgPD0gZmlsbF9sZW4KLSAgICAgICAgeWllbGQgcmV0Ci0KLUZJTEwgPSA4MAotCi1kZWYgbWFpbihmaWxlX3BhdGgpOgotICAgIHdpdGggb3BlbihmaWxlX3BhdGgsICd3JykgYXMgRklMRToKLSAgICAgICAgIyBDb21tZW50IGZvciBmaWxlCi0gICAgICAgIHByaW50Pj5GSUxFLCBjb21tZW50X2hlYWRlciAlIHN1YnZlcnNpb25bMTpdCi0gICAgICAgIHByaW50Pj5GSUxFLCAnJwotICAgICAgICAjIFN0YXRlbWVudHMgYXQgc3RhcnQgb2YgZmlsZQotICAgICAgICBwcmludD4+RklMRSwgc3RhdGVtZW50X2hlYWRlcgotICAgICAgICBwcmludD4+RklMRSwgJycKLSAgICAgICAgIyBHZW5lcmF0ZSBjYXNlIGZvciBweXRob25faGlnaGxpZ2h0X2FsbAotICAgICAgICBwcmludD4+RklMRSwgJ2lmIGV4aXN0cygicHl0aG9uX2hpZ2hsaWdodF9hbGwiKScKLSAgICAgICAgZm9yIHN0YXRlbWVudF92YXIsIHN0YXRlbWVudF9wYXJ0cyBpbiBzdGF0ZW1lbnRzOgotICAgICAgICAgICAgaWYgc3RhdGVtZW50X3ZhcjoKLSAgICAgICAgICAgICAgICBwcmludD4+RklMRSwgJyAgbGV0ICVzID0gMScgJSBzdGF0ZW1lbnRfdmFyCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwcmludD4+RklMRSwgJ2VuZGlmJwotICAgICAgICAgICAgcHJpbnQ+PkZJTEUsICcnCi0gICAgICAgICMgR2VuZXJhdGUgUHl0aG9uIGdyb3VwcwotICAgICAgICBmb3Igc3RhdGVtZW50X3Zhciwgc3RhdGVtZW50X3BhcnRzIGluIHN0YXRlbWVudHM6Ci0gICAgICAgICAgICBpZiBzdGF0ZW1lbnRfdmFyOgotICAgICAgICAgICAgICAgIHByaW50Pj5GSUxFLCAnaWYgZXhpc3RzKCIlcyIpJyAlIHN0YXRlbWVudF92YXIKLSAgICAgICAgICAgICAgICBpbmRlbnQgPSAnICAnCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGluZGVudCA9ICcnCi0gICAgICAgICAgICBmb3IgY29sb3VyX2dyb3VwLCBncm91cCwgdHlwZV8sIGFyZ3VtZW50cyBpbiBzdGF0ZW1lbnRfcGFydHM6Ci0gICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXJndW1lbnRzLCBiYXNlc3RyaW5nKToKLSAgICAgICAgICAgICAgICAgICAgcHJlZml4ID0gc3luX3ByZWZpeCh0eXBlXywgZ3JvdXApCi0gICAgICAgICAgICAgICAgICAgIGlmIHR5cGVfID09ICdrZXl3b3JkJzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0bXRfaXRlciA9IGZpbGxfc3RtdChhcmd1bWVudHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEwgLSBsZW4ocHJlZml4KSAtIGxlbihpbmRlbnQpKQotICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50Pj5GSUxFLCBpbmRlbnQgKyBwcmVmaXggKyBuZXh0KHN0bXRfaXRlcikKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50Pj5GSUxFLCAnJwotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGFyZ3VtZW50IGluIGFyZ3VtZW50czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludD4+RklMRSwgaW5kZW50ICsgcHJlZml4ICsgYXJndW1lbnQKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQ+PkZJTEUsICcnCi0KLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBwcmludD4+RklMRSwgaW5kZW50ICsgc3luX3ByZWZpeCh0eXBlXywgZ3JvdXApICsgYXJndW1lbnRzCi0gICAgICAgICAgICAgICAgICAgIHByaW50Pj5GSUxFLCAnJwotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBpZiBzdGF0ZW1lbnRfdmFyOgotICAgICAgICAgICAgICAgICAgICBwcmludD4+RklMRSwgJ2VuZGlmJwotICAgICAgICAgICAgICAgICAgICBwcmludD4+RklMRSwgJycKLSAgICAgICAgICAgIHByaW50Pj5GSUxFLCAnJwotICAgICAgICAjIEFzc29jaWF0aW5nIFB5dGhvbiBncm91cCB3aXRoIFZpbSBjb2xvdXIgZ3JvdXAKLSAgICAgICAgZm9yIHN0YXRlbWVudF92YXIsIHN0YXRlbWVudF9wYXJ0cyBpbiBzdGF0ZW1lbnRzOgotICAgICAgICAgICAgaWYgc3RhdGVtZW50X3ZhcjoKLSAgICAgICAgICAgICAgICBwcmludD4+RklMRSwgJyAgaWYgZXhpc3RzKCIlcyIpJyAlIHN0YXRlbWVudF92YXIKLSAgICAgICAgICAgICAgICBpbmRlbnQgPSAnICAgICcKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaW5kZW50ID0gJyAgJwotICAgICAgICAgICAgZm9yIGNvbG91cl9ncm91cCwgZ3JvdXAsIHR5cGVfLCBhcmd1bWVudHMgaW4gc3RhdGVtZW50X3BhcnRzOgotICAgICAgICAgICAgICAgIHByaW50Pj5GSUxFLCAoaW5kZW50ICsgImhpIGRlZiBsaW5rICVzICVzIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChncm91cCwgY29sb3VyX2dyb3VwKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaWYgc3RhdGVtZW50X3ZhcjoKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQ+PkZJTEUsICcgIGVuZGlmJwotICAgICAgICAgICAgICAgIHByaW50Pj5GSUxFLCAnJwotICAgICAgICAjIFN0YXRlbWVudHMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZQotICAgICAgICBwcmludD4+RklMRSwgc3RhdGVtZW50X2Zvb3RlcgotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIG1haW4oInB5dGhvbi52aW0iKQpkaWZmIC0tZ2l0IGEvTWlzYy9WaW0vdmltcmMgYi9NaXNjL1ZpbS92aW1yYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzM5OGNjYS4uMDAwMDAwMAotLS0gYS9NaXNjL1ZpbS92aW1yYworKysgL2Rldi9udWxsCkBAIC0xLDg3ICswLDAgQEAKLSIgdmltcmMgZmlsZSBmb3IgZm9sbG93aW5nIHRoZSBjb2Rpbmcgc3RhbmRhcmRzIHNwZWNpZmllZCBpbiBQRVAgNyAmIDguCi0iCi0iIFRvIHVzZSB0aGlzIGZpbGUsIHNvdXJjZSBpdCBpbiB5b3VyIG93biBwZXJzb25hbCAudmltcmMgZmlsZSAoYGBzb3VyY2UKLSIgPGZpbGVuYW1lPmBgKSBvciwgaWYgeW91IGRvbid0IGhhdmUgYSAudmltcmMgZmlsZSwgeW91IGNhbiBqdXN0IHN5bWxpbmsgdG8gaXQKLSIgKGBgbG4gLXMgPHRoaXMgZmlsZT4gfi8udmltcmNgYCkuICBBbGwgb3B0aW9ucyBhcmUgcHJvdGVjdGVkIGJ5IGF1dG9jbWRzCi0iIChyZWFkIGJlbG93IGZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUgY29tbWFuZCkgc28gYmxpbmQgc291cmNpbmcgb2YgdGhpcyBmaWxlCi0iIGlzIHNhZmUgYW5kIHdpbGwgbm90IGFmZmVjdCB5b3VyIHNldHRpbmdzIGZvciBub24tUHl0aG9uIG9yIG5vbi1DIGZpbGVzLgotIgotIgotIiBBbGwgc2V0dGluZyBhcmUgcHJvdGVjdGVkIGJ5ICdhdScgKCdhdXRvY21kJykgc3RhdGVtZW50cy4gIE9ubHkgZmlsZXMgZW5kaW5nCi0iIGluIC5weSBvciAucHl3IHdpbGwgdHJpZ2dlciB0aGUgUHl0aG9uIHNldHRpbmdzIHdoaWxlIGZpbGVzIGVuZGluZyBpbiAqLmMgb3IKLSIgKi5oIHdpbGwgdHJpZ2dlciB0aGUgQyBzZXR0aW5ncy4gIFRoaXMgbWFrZXMgdGhlIGZpbGUgInNhZmUiIGluIHRlcm1zIG9mIG9ubHkKLSIgYWRqdXN0aW5nIHNldHRpbmdzIGZvciBQeXRob24gYW5kIEMgZmlsZXMuCi0iCi0iIE9ubHkgYmFzaWMgc2V0dGluZ3MgbmVlZGVkIHRvIGVuZm9yY2UgdGhlIHN0eWxlIGd1aWRlbGluZXMgYXJlIHNldC4KLSIgU29tZSBzdWdnZXN0ZWQgb3B0aW9ucyBhcmUgbGlzdGVkIGJ1dCBjb21tZW50ZWQgb3V0IGF0IHRoZSBlbmQgb2YgdGhpcyBmaWxlLgotCi0iIE51bWJlciBvZiBzcGFjZXMgdGhhdCBhIHByZS1leGlzdGluZyB0YWIgaXMgZXF1YWwgdG8uCi0iIEZvciB0aGUgYW1vdW50IG9mIHNwYWNlIHVzZWQgZm9yIGEgbmV3IHRhYiB1c2Ugc2hpZnR3aWR0aC4KLWF1IEJ1ZlJlYWQsQnVmTmV3RmlsZSAqcHksKnB5dywqLmMsKi5oIHNldCB0YWJzdG9wPTgKLQotIiBXaGF0IHRvIHVzZSBmb3IgYW4gaW5kZW50LgotIiBUaGlzIHdpbGwgYWZmZWN0IEN0cmwtVCBhbmQgJ2F1dG9pbmRlbnQnLgotIiBQeXRob246IDQgc3BhY2VzCi0iIEM6IHRhYnMgKHByZS1leGlzdGluZyBmaWxlcykgb3IgNCBzcGFjZXMgKG5ldyBmaWxlcykKLWF1IEJ1ZlJlYWQsQnVmTmV3RmlsZSAqLnB5LCpweXcgc2V0IHNoaWZ0d2lkdGg9NAotYXUgQnVmUmVhZCxCdWZOZXdGaWxlICoucHksKi5weXcgc2V0IGV4cGFuZHRhYgotZnUgU2VsZWN0X2Nfc3R5bGUoKQotICAgIGlmIHNlYXJjaCgnXlx0JywgJ24nLCAxNTApCi0gICAgICAgIHNldCBzaGlmdHdpZHRoPTgKLSAgICAgICAgc2V0IG5vZXhwYW5kdGFiCi0gICAgZWwgCi0gICAgICAgIHNldCBzaGlmdHdpZHRoPTQKLSAgICAgICAgc2V0IGV4cGFuZHRhYgotICAgIGVuCi1lbmRmCi1hdSBCdWZSZWFkLEJ1Zk5ld0ZpbGUgKi5jLCouaCBjYWxsIFNlbGVjdF9jX3N0eWxlKCkKLWF1IEJ1ZlJlYWQsQnVmTmV3RmlsZSBNYWtlZmlsZSogc2V0IG5vZXhwYW5kdGFiCi0KLSIgVXNlIHRoZSBiZWxvdyBoaWdobGlnaHQgZ3JvdXAgd2hlbiBkaXNwbGF5aW5nIGJhZCB3aGl0ZXNwYWNlIGlzIGRlc2lyZWQuCi1oaWdobGlnaHQgQmFkV2hpdGVzcGFjZSBjdGVybWJnPXJlZCBndWliZz1yZWQKLQotIiBEaXNwbGF5IHRhYnMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgaW4gUHl0aG9uIG1vZGUgYXMgYmFkLgotYXUgQnVmUmVhZCxCdWZOZXdGaWxlICoucHksKi5weXcgbWF0Y2ggQmFkV2hpdGVzcGFjZSAvXlx0XCsvCi0iIE1ha2UgdHJhaWxpbmcgd2hpdGVzcGFjZSBiZSBmbGFnZ2VkIGFzIGJhZC4KLWF1IEJ1ZlJlYWQsQnVmTmV3RmlsZSAqLnB5LCoucHl3LCouYywqLmgsKi5yc3QgbWF0Y2ggQmFkV2hpdGVzcGFjZSAvXHNcKyQvCi0KLSIgV3JhcCB0ZXh0IGFmdGVyIGEgY2VydGFpbiBudW1iZXIgb2YgY2hhcmFjdGVycwotIiBQeXRob246IDc5IAotIiBDOiA3OQotYXUgQnVmUmVhZCxCdWZOZXdGaWxlICoucHksKi5weXcsKi5jLCouaCBzZXQgdGV4dHdpZHRoPTc5Ci0KLSIgVHVybiBvZmYgc2V0dGluZ3MgaW4gJ2Zvcm1hdG9wdGlvbnMnIHJlbGF0aW5nIHRvIGNvbW1lbnQgZm9ybWF0dGluZy4KLSIgLSBjIDogZG8gbm90IGF1dG9tYXRpY2FsbHkgaW5zZXJ0IHRoZSBjb21tZW50IGxlYWRlciB3aGVuIHdyYXBwaW5nIGJhc2VkIG9uCi0iICAgICd0ZXh0d2lkdGgnCi0iIC0gbyA6IGRvIG5vdCBpbnNlcnQgdGhlIGNvbW1lbnQgbGVhZGVyIHdoZW4gdXNpbmcgJ28nIG9yICdPJyBmcm9tIGNvbW1hbmQgbW9kZQotIiAtIHIgOiBkbyBub3QgaW5zZXJ0IHRoZSBjb21tZW50IGxlYWRlciB3aGVuIGhpdHRpbmcgPEVudGVyPiBpbiBpbnNlcnQgbW9kZQotIiBQeXRob246IG5vdCBuZWVkZWQKLSIgQzogcHJldmVudHMgaW5zZXJ0aW9uIG9mICcqJyBhdCB0aGUgYmVnaW5uaW5nIG9mIGV2ZXJ5IGxpbmUgaW4gYSBjb21tZW50Ci1hdSBCdWZSZWFkLEJ1Zk5ld0ZpbGUgKi5jLCouaCBzZXQgZm9ybWF0b3B0aW9ucy09YyBmb3JtYXRvcHRpb25zLT1vIGZvcm1hdG9wdGlvbnMtPXIKLQotIiBVc2UgVU5JWCAoXG4pIGxpbmUgZW5kaW5ncy4KLSIgT25seSB1c2VkIGZvciBuZXcgZmlsZXMgc28gYXMgdG8gbm90IGZvcmNlIGV4aXN0aW5nIGZpbGVzIHRvIGNoYW5nZSB0aGVpcgotIiBsaW5lIGVuZGluZ3MuCi0iIFB5dGhvbjogeWVzCi0iIEM6IHllcwotYXUgQnVmTmV3RmlsZSAqLnB5LCoucHl3LCouYywqLmggc2V0IGZpbGVmb3JtYXQ9dW5peAotCi0KLSIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBUaGUgZm9sbG93aW5nIHNlY3Rpb24gY29udGFpbnMgc3VnZ2VzdGVkIHNldHRpbmdzLiAgV2hpbGUgaW4gbm8gd2F5IHJlcXVpcmVkCi0iIHRvIG1lZXQgY29kaW5nIHN0YW5kYXJkcywgdGhleSBhcmUgaGVscGZ1bC4KLQotIiBTZXQgdGhlIGRlZmF1bHQgZmlsZSBlbmNvZGluZyB0byBVVEYtODogYGBzZXQgZW5jb2Rpbmc9dXRmLThgYAotCi0iIFB1dHMgYSBtYXJrZXIgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gVVRGIGFuZAotIiBVQ1MgZW5jb2RpbmcgKFdBUk5JTkc6IGNhbiB0cmljayBzaGVsbHMgaW50byB0aGlua2luZyBhIHRleHQgZmlsZSBpcyBhY3R1YWxseQotIiBhIGJpbmFyeSBmaWxlIHdoZW4gZXhlY3V0aW5nIHRoZSB0ZXh0IGZpbGUpOiBgYHNldCBib21iYGAKLQotIiBGb3IgZnVsbCBzeW50YXggaGlnaGxpZ2h0aW5nOgotImBgbGV0IHB5dGhvbl9oaWdobGlnaHRfYWxsPTFgYAotImBgc3ludGF4IG9uYGAKLQotIiBBdXRvbWF0aWNhbGx5IGluZGVudCBiYXNlZCBvbiBmaWxlIHR5cGU6IGBgZmlsZXR5cGUgaW5kZW50IG9uYGAKLSIgS2VlcCBpbmRlbnRhdGlvbiBsZXZlbCBmcm9tIHByZXZpb3VzIGxpbmU6IGBgc2V0IGF1dG9pbmRlbnRgYAotCi0iIEZvbGRpbmcgYmFzZWQgb24gaW5kZW50YXRpb246IGBgc2V0IGZvbGRtZXRob2Q9aW5kZW50YGAKZGlmZiAtLWdpdCBhL01pc2MvcHl0aG9uLWNvbmZpZy5zaC5pbiBiL01pc2MvcHl0aG9uLWNvbmZpZy5zaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzkwYmY2Ci0tLSAvZGV2L251bGwKKysrIGIvTWlzYy9weXRob24tY29uZmlnLnNoLmluCkBAIC0wLDAgKzEsMTA2IEBACisjIS9iaW4vc2gKKworZXhpdF93aXRoX3VzYWdlICgpCit7CisgICAgZWNobyAiVXNhZ2U6ICQwIC0tcHJlZml4fC0tZXhlYy1wcmVmaXh8LS1pbmNsdWRlc3wtLWxpYnN8LS1jZmxhZ3N8LS1sZGZsYWdzfC0tZXh0ZW5zaW9uLXN1ZmZpeHwtLWhlbHB8LS1hYmlmbGFnc3wtLWNvbmZpZ2RpciIKKyAgICBleGl0ICQxCit9CisKK2lmIFsgIiQxIiA9ICIiIF0gOyB0aGVuCisgICAgZXhpdF93aXRoX3VzYWdlIDEKK2ZpCisKKyMgUmV0dXJucyB0aGUgYWN0dWFsIHByZWZpeCB3aGVyZSB0aGlzIHNjcmlwdCB3YXMgaW5zdGFsbGVkIHRvLgoraW5zdGFsbGVkX3ByZWZpeCAoKQoreworICAgIFJFU1VMVD0kKGRpcm5hbWUgJChjZCAkKGRpcm5hbWUgIiQxIikgJiYgcHdkIC1QKSkKKyAgICBpZiB3aGljaCByZWFkbGluayA+L2Rldi9udWxsIDI+JjEgOyB0aGVuCisgICAgICAgIFJFU1VMVD0kKHJlYWRsaW5rIC1mICIkUkVTVUxUIikKKyAgICBmaQorICAgIGVjaG8gJFJFU1VMVAorfQorCitwcmVmaXhfYnVpbGQ9IkBwcmVmaXhAIgorcHJlZml4X3JlYWw9JChpbnN0YWxsZWRfcHJlZml4ICIkMCIpCisKKyMgVXNlIHNlZCB0byBmaXggcGF0aHMgZnJvbSB0aGVpciBidWlsdCB0byBsb2NhdGlvbnMgdG8gdGhlaXIgaW5zdGFsbGVkIHRvIGxvY2F0aW9ucy4KK3ByZWZpeD0kKGVjaG8gIiRwcmVmaXhfYnVpbGQiIHwgc2VkICJzIyRwcmVmaXhfYnVpbGQjJHByZWZpeF9yZWFsIyIpCitleGVjX3ByZWZpeF9idWlsZD0iQGV4ZWNfcHJlZml4QCIKK2V4ZWNfcHJlZml4PSQoZWNobyAiJGV4ZWNfcHJlZml4X2J1aWxkIiB8IHNlZCAicyMkZXhlY19wcmVmaXhfYnVpbGQjJHByZWZpeF9yZWFsIyIpCitpbmNsdWRlZGlyPSQoZWNobyAiQGluY2x1ZGVkaXJAIiB8IHNlZCAicyMkcHJlZml4X2J1aWxkIyRwcmVmaXhfcmVhbCMiKQorbGliZGlyPSQoZWNobyAiQGxpYmRpckAiIHwgc2VkICJzIyRwcmVmaXhfYnVpbGQjJHByZWZpeF9yZWFsIyIpCitDRkxBR1M9JChlY2hvICJAQ0ZMQUdTQCIgfCBzZWQgInMjJHByZWZpeF9idWlsZCMkcHJlZml4X3JlYWwjIikKK1ZFUlNJT049IkBWRVJTSU9OQCIKK0xJQk09IkBMSUJNQCIKK0xJQkM9IkBMSUJDQCIKK1NZU0xJQlM9IiRMSUJNICRMSUJDIgorQUJJRkxBR1M9IkBBQklGTEFHU0AiCitMSUJTPSJATElCU0AgJFNZU0xJQlMgLWxweXRob24ke1ZFUlNJT059JHtBQklGTEFHU30iCitCQVNFQ0ZMQUdTPSJAQkFTRUNGTEFHU0AiCitMRExJQlJBUlk9IkBMRExJQlJBUllAIgorTElOS0ZPUlNIQVJFRD0iQExJTktGT1JTSEFSRURAIgorT1BUPSJAT1BUQCIKK1BZX0VOQUJMRV9TSEFSRUQ9IkBQWV9FTkFCTEVfU0hBUkVEQCIKK0xEVkVSU0lPTj0iQExEVkVSU0lPTkAiCitMSUJERVNUPSR7cHJlZml4fS9saWIvcHl0aG9uJHtWRVJTSU9OfQorTElCUEw9JChlY2hvICJATElCUExAIiB8IHNlZCAicyMkcHJlZml4X2J1aWxkIyRwcmVmaXhfcmVhbCMiKQorU089IkBTT0AiCitQWVRIT05GUkFNRVdPUks9IkBQWVRIT05GUkFNRVdPUktAIgorSU5DRElSPSItSSRpbmNsdWRlZGlyL3B5dGhvbiR7VkVSU0lPTn0ke0FCSUZMQUdTfSIKK1BMQVRJTkNESVI9Ii1JJGluY2x1ZGVkaXIvcHl0aG9uJHtWRVJTSU9OfSR7QUJJRkxBR1N9IgorCisjIFNjYW4gZm9yIC0taGVscCBvciB1bmtub3duIGFyZ3VtZW50LgorZm9yIEFSRyBpbiAkKgorZG8KKyAgICBjYXNlICRBUkcgaW4KKyAgICAgICAgLS1oZWxwKQorICAgICAgICAgICAgZXhpdF93aXRoX3VzYWdlIDAKKyAgICAgICAgOzsKKyAgICAgICAgLS1wcmVmaXh8LS1leGVjLXByZWZpeHwtLWluY2x1ZGVzfC0tbGlic3wtLWNmbGFnc3wtLWxkZmxhZ3N8LS1leHRlbnNpb24tc3VmZml4fC0tYWJpZmxhZ3N8LS1jb25maWdkaXIpCisgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICBleGl0X3dpdGhfdXNhZ2UgMQorICAgICAgICA7OworICAgIGVzYWMKK2RvbmUKKworZm9yIEFSRyBpbiAiJEAiCitkbworICAgIGNhc2UgIiRBUkciIGluCisgICAgICAgIC0tcHJlZml4KQorICAgICAgICAgICAgZWNobyAiJHByZWZpeCIKKyAgICAgICAgOzsKKyAgICAgICAgLS1leGVjLXByZWZpeCkKKyAgICAgICAgICAgIGVjaG8gIiRleGVjX3ByZWZpeCIKKyAgICAgICAgOzsKKyAgICAgICAgLS1pbmNsdWRlcykKKyAgICAgICAgICAgIGVjaG8gIiRJTkNESVIgJFBMQVRJTkNESVIiCisgICAgICAgIDs7CisgICAgICAgIC0tY2ZsYWdzKQorICAgICAgICAgICAgZWNobyAiJElOQ0RJUiAkUExBVElOQ0RJUiAkQkFTRUNGTEFHUyAkQ0ZMQUdTICRPUFQiCisgICAgICAgIDs7CisgICAgICAgIC0tbGlicykKKyAgICAgICAgICAgIGVjaG8gIiRMSUJTIgorICAgICAgICA7OworICAgICAgICAtLWxkZmxhZ3MpCisgICAgICAgICAgICBMSU5LRk9SU0hBUkVEVVNFRD0KKyAgICAgICAgICAgIGlmIFsgLXogIiRQWVRIT05GUkFNRVdPUksiIF0gOyB0aGVuCisgICAgICAgICAgICAgICAgTElOS0ZPUlNIQVJFRFVTRUQ9JExJTktGT1JTSEFSRUQKKyAgICAgICAgICAgIGZpCisgICAgICAgICAgICBMSUJQTFVTRUQ9CisgICAgICAgICAgICBpZiBbICIkUFlfRU5BQkxFX1NIQVJFRCIgPSAiMCIgXSA7IHRoZW4KKyAgICAgICAgICAgICAgICBMSUJQTFVTRUQ9Ii1MJExJQlBMIgorICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIGVjaG8gIiRMSUJQTFVTRUQgLUwkbGliZGlyICRMSUJTICRMSU5LRk9SU0hBUkVEVVNFRCIKKyAgICAgICAgOzsKKyAgICAgICAgLS1leHRlbnNpb24tc3VmZml4KQorICAgICAgICAgICAgZWNobyAiJFNPIgorICAgICAgICA7OworICAgICAgICAtLWFiaWZsYWdzKQorICAgICAgICAgICAgZWNobyAiJEFCSUZMQUdTIgorICAgICAgICA7OworICAgICAgICAtLWNvbmZpZ2RpcikKKyAgICAgICAgICAgIGVjaG8gIiRMSUJQTCIKKyAgICAgICAgOzsKK2VzYWMKK2RvbmUKZGlmZiAtLWdpdCBhL01vZHVsZXMvU2V0dXAuZGlzdCBiL01vZHVsZXMvU2V0dXAuZGlzdAppbmRleCBmNDVkZTVjLi44ZWEyYjVlIDEwMDY0NAotLS0gYS9Nb2R1bGVzL1NldHVwLmRpc3QKKysrIGIvTW9kdWxlcy9TZXR1cC5kaXN0CkBAIC0xMTMsNyArMTEzLDcgQEAKIF9jb2RlY3MgX2NvZGVjc21vZHVsZS5jCQkjIGFjY2VzcyB0byB0aGUgYnVpbHRpbiBjb2RlY3MgYW5kIGNvZGVjIHJlZ2lzdHJ5CiBfd2Vha3JlZiBfd2Vha3JlZi5jCQkjIHdlYWsgcmVmZXJlbmNlcwogX2Z1bmN0b29scyBfZnVuY3Rvb2xzbW9kdWxlLmMgICAjIFRvb2xzIGZvciB3b3JraW5nIHdpdGggZnVuY3Rpb25zIGFuZCBjYWxsYWJsZSBvYmplY3RzCi1vcGVyYXRvciBvcGVyYXRvci5jCSAgICAgICAgIyBvcGVyYXRvci5hZGQoKSBhbmQgc2ltaWxhciBnb29kaWVzCitfb3BlcmF0b3IgX29wZXJhdG9yLmMJICAgICAgICAjIG9wZXJhdG9yLmFkZCgpIGFuZCBzaW1pbGFyIGdvb2RpZXMKIF9jb2xsZWN0aW9ucyBfY29sbGVjdGlvbnNtb2R1bGUuYyAjIENvbnRhaW5lciB0eXBlcwogaXRlcnRvb2xzIGl0ZXJ0b29sc21vZHVsZS5jICAgICMgRnVuY3Rpb25zIGNyZWF0aW5nIGl0ZXJhdG9ycyBmb3IgZWZmaWNpZW50IGxvb3BpbmcgCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMgYi9Nb2R1bGVzL19jb2xsZWN0aW9uc21vZHVsZS5jCmluZGV4IDM0YTFhOTAuLmEyM2Y3MTQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYwpAQCAtMywxMyArMywxMyBAQAogCiAvKiBjb2xsZWN0aW9ucyBtb2R1bGUgaW1wbGVtZW50YXRpb24gb2YgYSBkZXF1ZSgpIGRhdGF0eXBlCiAgICBXcml0dGVuIGFuZCBtYWludGFpbmVkIGJ5IFJheW1vbmQgRC4gSGV0dGluZ2VyIDxweXRob25AcmNuLmNvbT4KLSAgIENvcHlyaWdodCAoYykgMjAwNCBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIENvcHlyaWdodCAoYykgMjAwNC0yMDEzIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICovCiAKIC8qIFRoZSBibG9jayBsZW5ndGggbWF5IGJlIHNldCB0byBhbnkgbnVtYmVyIG92ZXIgMS4gIExhcmdlciBudW1iZXJzCiAgKiByZWR1Y2UgdGhlIG51bWJlciBvZiBjYWxscyB0byB0aGUgbWVtb3J5IGFsbG9jYXRvciBidXQgdGFrZSBtb3JlCi0gKiBtZW1vcnkuICBJZGVhbGx5LCBCTE9DS0xFTiBzaG91bGQgYmUgc2V0IHdpdGggYW4gZXllIHRvIHRoZQorICogbWVtb3J5LiAgSWRlYWxseSwgKEJMT0NLTEVOKzIpIHNob3VsZCBiZSBzZXQgdG8gYSBtdWx0aXBsZSBvZiB0aGUKICAqIGxlbmd0aCBvZiBhIGNhY2hlIGxpbmUuCiAgKi8KIApAQCAtNzEsNyArNzEsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKG51bWZyZWVibG9ja3MpIHsKLSAgICAgICAgbnVtZnJlZWJsb2NrcyAtPSAxOworICAgICAgICBudW1mcmVlYmxvY2tzLS07CiAgICAgICAgIGIgPSBmcmVlYmxvY2tzW251bWZyZWVibG9ja3NdOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGIgPSBQeU1lbV9NYWxsb2Moc2l6ZW9mKGJsb2NrKSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jc3YuYyBiL01vZHVsZXMvX2Nzdi5jCmluZGV4IDQ4YTVjZjguLjIyYWMyNjYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2Nzdi5jCisrKyBiL01vZHVsZXMvX2Nzdi5jCkBAIC01MSw3ICs1MSw3IEBACiB0eXBlZGVmIGVudW0gewogICAgIFNUQVJUX1JFQ09SRCwgU1RBUlRfRklFTEQsIEVTQ0FQRURfQ0hBUiwgSU5fRklFTEQsCiAgICAgSU5fUVVPVEVEX0ZJRUxELCBFU0NBUEVfSU5fUVVPVEVEX0ZJRUxELCBRVU9URV9JTl9RVU9URURfRklFTEQsCi0gICAgRUFUX0NSTkwKKyAgICBFQVRfQ1JOTCxBRlRFUl9FU0NBUEVEX0NSTkwKIH0gUGFyc2VyU3RhdGU7CiAKIHR5cGVkZWYgZW51bSB7CkBAIC02NDQsNiArNjQ0LDEyIEBACiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBFU0NBUEVEX0NIQVI6CisgICAgICAgIGlmIChjID09ICdcbicgfHwgYz09J1xyJykgeworICAgICAgICAgICAgaWYgKHBhcnNlX2FkZF9jaGFyKHNlbGYsIGMpIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBzZWxmLT5zdGF0ZSA9IEFGVEVSX0VTQ0FQRURfQ1JOTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgICAgIGlmIChjID09ICdcMCcpCiAgICAgICAgICAgICBjID0gJ1xuJzsKICAgICAgICAgaWYgKHBhcnNlX2FkZF9jaGFyKHNlbGYsIGMpIDwgMCkKQEAgLTY1MSw2ICs2NTcsMTEgQEAKICAgICAgICAgc2VsZi0+c3RhdGUgPSBJTl9GSUVMRDsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIEFGVEVSX0VTQ0FQRURfQ1JOTDoKKyAgICAgICAgaWYgKGMgPT0gJ1wwJykKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAvKmZhbGx0aHJ1Ki8KKwogICAgIGNhc2UgSU5fRklFTEQ6CiAgICAgICAgIC8qIGluIHVucXVvdGVkIGZpZWxkICovCiAgICAgICAgIGlmIChjID09ICdcbicgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1wwJykgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3R5cGVzL2NhbGxwcm9jLmMgYi9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYwppbmRleCBmNWQ4ZjUyLi5kOTg1NzgzIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYworKysgYi9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYwpAQCAtMjU3LDE4ICsyNTcsMTggQEAKICAgICAgICAgICAgdG8gYSB2aXJ0dWFsIGFkZHJlc3MgZm9yIHdoaWNoIGl0IGRvZXMgbm90CiAgICAgICAgICAgIGhhdmUgdGhlIGFwcHJvcHJpYXRlIGFjY2Vzcy4gKi8KICAgICAgICAgaWYgKHByLT5FeGNlcHRpb25JbmZvcm1hdGlvblswXSA9PSAwKQotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGFjY2VzcyB2aW9sYXRpb24gcmVhZGluZyAlcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHItPkV4Y2VwdGlvbkluZm9ybWF0aW9uWzFdKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGFjY2VzcyB2aW9sYXRpb24gd3JpdGluZyAlcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgcHItPkV4Y2VwdGlvbkluZm9ybWF0aW9uWzFdKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEVYQ0VQVElPTl9CUkVBS1BPSU5UOgogICAgICAgICAvKiBBIGJyZWFrcG9pbnQgd2FzIGVuY291bnRlcmVkLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGJyZWFrcG9pbnQgZW5jb3VudGVyZWQiKTsKICAgICAgICAgYnJlYWs7CiAKQEAgLTI3OCwxNCArMjc4LDE0IEBACiAgICAgICAgICAgIGFsaWdubWVudC4gRm9yIGV4YW1wbGUsIDE2LWJpdCB2YWx1ZXMgbXVzdCBiZQogICAgICAgICAgICBhbGlnbmVkIG9uIDItYnl0ZSBib3VuZGFyaWVzLCAzMi1iaXQgdmFsdWVzIG9uCiAgICAgICAgICAgIDQtYnl0ZSBib3VuZGFyaWVzLCBhbmQgc28gb24uICovCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19XaW5kb3dzRXJyb3IsCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2VwdGlvbjogZGF0YXR5cGUgbWlzYWxpZ25tZW50Iik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBFWENFUFRJT05fU0lOR0xFX1NURVA6CiAgICAgICAgIC8qIEEgdHJhY2UgdHJhcCBvciBvdGhlciBzaW5nbGUtaW5zdHJ1Y3Rpb24gbWVjaGFuaXNtCiAgICAgICAgICAgIHNpZ25hbGVkIHRoYXQgb25lIGluc3RydWN0aW9uIGhhcyBiZWVuIGV4ZWN1dGVkLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IHNpbmdsZSBzdGVwIik7CiAgICAgICAgIGJyZWFrOwogCkBAIC0yOTMsNyArMjkzLDcgQEAKICAgICAgICAgLyogVGhlIHRocmVhZCBhdHRlbXB0ZWQgdG8gYWNjZXNzIGFuIGFycmF5IGVsZW1lbnQKICAgICAgICAgICAgdGhhdCBpcyBvdXQgb2YgYm91bmRzLCBhbmQgdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUKICAgICAgICAgICAgc3VwcG9ydHMgYm91bmRzIGNoZWNraW5nLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGFycmF5IGJvdW5kcyBleGNlZWRlZCIpOwogICAgICAgICBicmVhazsKIApAQCAtMzAyLDI4ICszMDIsMjggQEAKICAgICAgICAgICAgaXMgZGVub3JtYWwuIEEgZGVub3JtYWwgdmFsdWUgaXMgb25lIHRoYXQgaXMgdG9vCiAgICAgICAgICAgIHNtYWxsIHRvIHJlcHJlc2VudCBhcyBhIHN0YW5kYXJkIGZsb2F0aW5nLXBvaW50CiAgICAgICAgICAgIHZhbHVlLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGZsb2F0aW5nLXBvaW50IG9wZXJhbmQgZGVub3JtYWwiKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEVYQ0VQVElPTl9GTFRfRElWSURFX0JZX1pFUk86CiAgICAgICAgIC8qIFRoZSB0aHJlYWQgYXR0ZW1wdGVkIHRvIGRpdmlkZSBhIGZsb2F0aW5nLXBvaW50CiAgICAgICAgICAgIHZhbHVlIGJ5IGEgZmxvYXRpbmctcG9pbnQgZGl2aXNvciBvZiB6ZXJvLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGZsb2F0IGRpdmlkZSBieSB6ZXJvIik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBFWENFUFRJT05fRkxUX0lORVhBQ1RfUkVTVUxUOgogICAgICAgICAvKiBUaGUgcmVzdWx0IG9mIGEgZmxvYXRpbmctcG9pbnQgb3BlcmF0aW9uIGNhbm5vdCBiZQogICAgICAgICAgICByZXByZXNlbnRlZCBleGFjdGx5IGFzIGEgZGVjaW1hbCBmcmFjdGlvbi4gKi8KLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZXhjZXB0aW9uOiBmbG9hdCBpbmV4YWN0Iik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBFWENFUFRJT05fRkxUX0lOVkFMSURfT1BFUkFUSU9OOgogICAgICAgICAvKiBUaGlzIGV4Y2VwdGlvbiByZXByZXNlbnRzIGFueSBmbG9hdGluZy1wb2ludAogICAgICAgICAgICBleGNlcHRpb24gbm90IGluY2x1ZGVkIGluIHRoaXMgbGlzdC4gKi8KLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZXhjZXB0aW9uOiBmbG9hdCBpbnZhbGlkIG9wZXJhdGlvbiIpOwogICAgICAgICBicmVhazsKIApAQCAtMzMxLDIxICszMzEsMjEgQEAKICAgICAgICAgLyogVGhlIGV4cG9uZW50IG9mIGEgZmxvYXRpbmctcG9pbnQgb3BlcmF0aW9uIGlzCiAgICAgICAgICAgIGdyZWF0ZXIgdGhhbiB0aGUgbWFnbml0dWRlIGFsbG93ZWQgYnkgdGhlCiAgICAgICAgICAgIGNvcnJlc3BvbmRpbmcgdHlwZS4gKi8KLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZXhjZXB0aW9uOiBmbG9hdCBvdmVyZmxvdyIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgRVhDRVBUSU9OX0ZMVF9TVEFDS19DSEVDSzoKICAgICAgICAgLyogVGhlIHN0YWNrIG92ZXJmbG93ZWQgb3IgdW5kZXJmbG93ZWQgYXMgdGhlIHJlc3VsdAogICAgICAgICAgICBvZiBhIGZsb2F0aW5nLXBvaW50IG9wZXJhdGlvbi4gKi8KLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiZXhjZXB0aW9uOiBzdGFjayBvdmVyL3VuZGVyZmxvdyIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgRVhDRVBUSU9OX1NUQUNLX09WRVJGTE9XOgogICAgICAgICAvKiBUaGUgc3RhY2sgb3ZlcmZsb3dlZCBvciB1bmRlcmZsb3dlZCBhcyB0aGUgcmVzdWx0CiAgICAgICAgICAgIG9mIGEgZmxvYXRpbmctcG9pbnQgb3BlcmF0aW9uLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IHN0YWNrIG92ZXJmbG93Iik7CiAgICAgICAgIGJyZWFrOwogCkBAIC0zNTMsMjEgKzM1MywyMSBAQAogICAgICAgICAvKiBUaGUgZXhwb25lbnQgb2YgYSBmbG9hdGluZy1wb2ludCBvcGVyYXRpb24gaXMgbGVzcwogICAgICAgICAgICB0aGFuIHRoZSBtYWduaXR1ZGUgYWxsb3dlZCBieSB0aGUgY29ycmVzcG9uZGluZwogICAgICAgICAgICB0eXBlLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IGZsb2F0IHVuZGVyZmxvdyIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgRVhDRVBUSU9OX0lOVF9ESVZJREVfQllfWkVSTzoKICAgICAgICAgLyogVGhlIHRocmVhZCBhdHRlbXB0ZWQgdG8gZGl2aWRlIGFuIGludGVnZXIgdmFsdWUgYnkKICAgICAgICAgICAgYW4gaW50ZWdlciBkaXZpc29yIG9mIHplcm8uICovCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19XaW5kb3dzRXJyb3IsCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2VwdGlvbjogaW50ZWdlciBkaXZpZGUgYnkgemVybyIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgRVhDRVBUSU9OX0lOVF9PVkVSRkxPVzoKICAgICAgICAgLyogVGhlIHJlc3VsdCBvZiBhbiBpbnRlZ2VyIG9wZXJhdGlvbiBjYXVzZWQgYSBjYXJyeQogICAgICAgICAgICBvdXQgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYml0IG9mIHRoZSByZXN1bHQuICovCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19XaW5kb3dzRXJyb3IsCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2VwdGlvbjogaW50ZWdlciBvdmVyZmxvdyIpOwogICAgICAgICBicmVhazsKIApAQCAtMzc1LDE0ICszNzUsMTQgQEAKICAgICAgICAgLyogVGhlIHRocmVhZCBhdHRlbXB0ZWQgdG8gZXhlY3V0ZSBhbiBpbnN0cnVjdGlvbgogICAgICAgICAgICB3aG9zZSBvcGVyYXRpb24gaXMgbm90IGFsbG93ZWQgaW4gdGhlIGN1cnJlbnQKICAgICAgICAgICAgbWFjaGluZSBtb2RlLiAqLwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb246IHByaXZpbGVkZ2VkIGluc3RydWN0aW9uIik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBFWENFUFRJT05fTk9OQ09OVElOVUFCTEVfRVhDRVBUSU9OOgogICAgICAgICAvKiBUaGUgdGhyZWFkIGF0dGVtcHRlZCB0byBjb250aW51ZSBleGVjdXRpb24gYWZ0ZXIgYQogICAgICAgICAgICBub25jb250aW51YWJsZSBleGNlcHRpb24gb2NjdXJyZWQuICovCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19XaW5kb3dzRXJyb3IsCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2VwdGlvbjogbm9jb250aW51YWJsZSIpOwogICAgICAgICBicmVhazsKIApAQCAtMTEwMSw5ICsxMTAxLDcgQEAKICAgICAgICAgaWYgKGFyZ3R5cGVzICYmIGFyZ3R5cGVfY291bnQgPiBpKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqdjsKICAgICAgICAgICAgIGNvbnZlcnRlciA9IFB5VHVwbGVfR0VUX0lURU0oYXJndHlwZXMsIGkpOwotICAgICAgICAgICAgdiA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoY29udmVydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgdiA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoY29udmVydGVyLCBhcmcsIE5VTEwpOwogICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIF9jdHlwZXNfZXh0ZW5kX2Vycm9yKFB5RXhjX0FyZ0Vycm9yLCAiYXJndW1lbnQgJWQ6ICIsIGkrMSk7CiAgICAgICAgICAgICAgICAgZ290byBjbGVhbnVwOwpAQCAtMTI2OCw2MiArMTI2Niw2IEBACiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKLS8qIG9ic29sZXRlLCBzaG91bGQgYmUgcmVtb3ZlZCAqLwotLyogT25seSB1c2VkIGJ5IHNhbXBsZSBjb2RlIChpbiBzYW1wbGVzXFdpbmRvd3NcQ09NLnB5KSAqLwotc3RhdGljIFB5T2JqZWN0ICoKLWNhbGxfY29tbWV0aG9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBJVW5rbm93biAqcEl1bms7Ci0gICAgaW50IGluZGV4OwotICAgIFB5T2JqZWN0ICphcmd1bWVudHM7Ci0gICAgUFBST0MgKmxwVnRibDsKLSAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIENEYXRhT2JqZWN0ICpwY29tOwotICAgIFB5T2JqZWN0ICphcmd0eXBlcyA9IE5VTEw7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIk9pTyF8TyEiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcGNvbSwgJmluZGV4LAotICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlUdXBsZV9UeXBlLCAmYXJndW1lbnRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlUdXBsZV9UeXBlLCAmYXJndHlwZXMpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmIChhcmd0eXBlcyAmJiAoUHlUdXBsZV9HRVRfU0laRShhcmd1bWVudHMpICE9IFB5VHVwbGVfR0VUX1NJWkUoYXJndHlwZXMpKSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIk1ldGhvZCB0YWtlcyAlZCBhcmd1bWVudHMgKCVkIGdpdmVuKSIsCi0gICAgICAgICAgICAgICAgICAgICBQeVR1cGxlX0dFVF9TSVpFKGFyZ3R5cGVzKSwgUHlUdXBsZV9HRVRfU0laRShhcmd1bWVudHMpKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKCFDRGF0YU9iamVjdF9DaGVjayhwY29tKSB8fCAocGNvbS0+Yl9zaXplICE9IHNpemVvZih2b2lkICopKSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIkNPTSBQb2ludGVyIGV4cGVjdGVkIGluc3RlYWQgb2YgJXMgaW5zdGFuY2UiLAotICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShwY29tKS0+dHBfbmFtZSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmICgoKih2b2lkICoqKShwY29tLT5iX3B0cikpID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiVGhlIENPTSAndGhpcycgcG9pbnRlciBpcyBOVUxMIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIHBJdW5rID0gKElVbmtub3duICopKCoodm9pZCAqKikocGNvbS0+Yl9wdHIpKTsKLSAgICBscFZ0YmwgPSAoUFBST0MgKikocEl1bmstPmxwVnRibCk7Ci0KLSAgICByZXN1bHQgPSAgX2N0eXBlc19jYWxscHJvYyhscFZ0YmxbaW5kZXhdLAotICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzLAotI2lmZGVmIE1TX1dJTjMyCi0gICAgICAgICAgICAgICAgICAgICAgICBwSXVuaywKLSAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0jZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgIEZVTkNGTEFHX0hSRVNVTFQsIC8qIGZsYWdzICovCi0gICAgICAgICAgICAgICAgYXJndHlwZXMsIC8qIHNlbGYtPmFyZ3R5cGVzICovCi0gICAgICAgICAgICAgICAgTlVMTCwgLyogc2VsZi0+cmVzdHlwZSAqLwotICAgICAgICAgICAgICAgIE5VTEwpOyAvKiBjaGVja2VyICovCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQogc3RhdGljIGNoYXIgY29weV9jb21fcG9pbnRlcl9kb2NbXSA9CiAiQ29weUNvbVBvaW50ZXIoc3JjLCBkc3QpIC0+IEhSRVNVTFQgdmFsdWVcbiI7CiAKQEAgLTE0ODUsOSArMTQyNyw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogI2VuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgICBGVU5DRkxBR19DREVDTCwgLyogZmxhZ3MgKi8KLSAgICAgICAgICAgICAgICBOVUxMLCAvKiBzZWxmLT5hcmd0eXBlcyAqLwotICAgICAgICAgICAgICAgIE5VTEwsIC8qIHNlbGYtPnJlc3R5cGUgKi8KLSAgICAgICAgICAgICAgICBOVUxMKTsgLyogY2hlY2tlciAqLworICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgLyogc2VsZi0+YXJndHlwZXMgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIC8qIHNlbGYtPnJlc3R5cGUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOyAvKiBjaGVja2VyICovCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTgxOCw3ICsxNzYwLDYgQEAKICAgICB7IkZvcm1hdEVycm9yIiwgZm9ybWF0X2Vycm9yLCBNRVRIX1ZBUkFSR1MsIGZvcm1hdF9lcnJvcl9kb2N9LAogICAgIHsiTG9hZExpYnJhcnkiLCBsb2FkX2xpYnJhcnksIE1FVEhfVkFSQVJHUywgbG9hZF9saWJyYXJ5X2RvY30sCiAgICAgeyJGcmVlTGlicmFyeSIsIGZyZWVfbGlicmFyeSwgTUVUSF9WQVJBUkdTLCBmcmVlX2xpYnJhcnlfZG9jfSwKLSAgICB7ImNhbGxfY29tbWV0aG9kIiwgY2FsbF9jb21tZXRob2QsIE1FVEhfVkFSQVJHUyB9LAogICAgIHsiX2NoZWNrX0hSRVNVTFQiLCBjaGVja19ocmVzdWx0LCBNRVRIX1ZBUkFSR1N9LAogI2Vsc2UKICAgICB7ImRsb3BlbiIsIHB5X2RsX29wZW4sIE1FVEhfVkFSQVJHUywKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2RibW1vZHVsZS5jIGIvTW9kdWxlcy9fZGJtbW9kdWxlLmMKaW5kZXggMzI3Yjg3My4uMWNlODVmNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZGJtbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fZGJtbW9kdWxlLmMKQEAgLTE0LDExICsxNCw3IEBACiAgKi8KICNpZiBkZWZpbmVkKEhBVkVfTkRCTV9IKQogI2luY2x1ZGUgPG5kYm0uaD4KLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKLXN0YXRpYyBjaGFyICp3aGljaF9kYm0gPSAibmRibSI7Ci0jZWxzZQogc3RhdGljIGNoYXIgKndoaWNoX2RibSA9ICJHTlUgZ2RibSI7ICAvKiBFTVggcG9ydCBvZiBHREJNICovCi0jZW5kaWYKICNlbGlmIGRlZmluZWQoSEFWRV9HREJNX05EQk1fSCkKICNpbmNsdWRlIDxnZGJtL25kYm0uaD4KIHN0YXRpYyBjaGFyICp3aGljaF9kYm0gPSAiR05VIGdkYm0iOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZWxlbWVudHRyZWUuYyBiL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMKaW5kZXggODZmZGQyZi4uZjViMDkxNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZWxlbWVudHRyZWUuYworKysgYi9Nb2R1bGVzL19lbGVtZW50dHJlZS5jCkBAIC0xLDYzICsxLDIyIEBACi0vKgotICogRWxlbWVudFRyZWUKLSAqICRJZDogX2VsZW1lbnR0cmVlLmMgMzQ3MyAyMDA5LTAxLTExIDIyOjUzOjU1WiBmcmVkcmlrICQKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIExpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4KKyAqIFNlZSBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcHNmL2xpY2Vuc2UgZm9yIGxpY2Vuc2luZyBkZXRhaWxzLgogICoKLSAqIGVsZW1lbnR0cmVlIGFjY2VsZXJhdG9yCi0gKgotICogSGlzdG9yeToKLSAqIDE5OTktMDYtMjAgZmwgIGNyZWF0ZWQgKGFzIHBhcnQgb2Ygc2dtbG9wKQotICogMjAwMS0wNS0yOSBmbCAgZWZmZG9tIGVkaXRpb24KLSAqIDIwMDMtMDItMjcgZmwgIGVsZW1lbnR0cmVlIGVkaXRpb24gKGFscGhhKQotICogMjAwNC0wNi0wMyBmbCAgdXBkYXRlcyBmb3IgZWxlbWVudHRyZWUgMS4yCi0gKiAyMDA1LTAxLTA1IGZsICBtYWpvciBvcHRpbWl6YXRpb24gZWZmb3J0Ci0gKiAyMDA1LTAxLTExIGZsICBmaXJzdCBwdWJsaWMgcmVsZWFzZSAoY0VsZW1lbnRUcmVlIDAuOCkKLSAqIDIwMDUtMDEtMTIgZmwgIHNwbGl0IGVsZW1lbnQgb2JqZWN0IGludG8gYmFzZSBhbmQgZXh0cmFzCi0gKiAyMDA1LTAxLTEzIGZsICB1c2UgdGFnZ2VkIHBvaW50ZXJzIGZvciB0YWlsL3RleHQgKGNFbGVtZW50VHJlZSAwLjkpCi0gKiAyMDA1LTAxLTE3IGZsICBhZGRlZCB0cmVlYnVpbGRlciBjbG9zZSBtZXRob2QKLSAqIDIwMDUtMDEtMTcgZmwgIGZpeGVkIGNyYXNoIGluIGdldGNoaWxkcmVuCi0gKiAyMDA1LTAxLTE4IGZsICByZW1vdmVkIG9ic2VydmVyIGFwaSwgYWRkZWQgaXRlcnBhcnNlIChjRWxlbWVudFRyZWUgMC45LjMpCi0gKiAyMDA1LTAxLTIzIGZsICByZXZpc2VkIGl0ZXJwYXJzZSBhcGk7IGFkZGVkIG5hbWVzcGFjZSBldmVudCBzdXBwb3J0ICgwLjkuOCkKLSAqIDIwMDUtMDEtMjYgZmwgIGFkZGVkIFZFUlNJT04gbW9kdWxlIHByb3BlcnR5IChjRWxlbWVudFRyZWUgMS4wKQotICogMjAwNS0wMS0yOCBmbCAgYWRkZWQgcmVtb3ZlIG1ldGhvZCAoMS4wLjEpCi0gKiAyMDA1LTAzLTAxIGZsICBhZGRlZCBpc2VsZW1lbnQgZnVuY3Rpb247IGZpeGVkIG1ha2VlbGVtZW50IGFsaWFzaW5nICgxLjAuMikKLSAqIDIwMDUtMDMtMTMgZmwgIGV4cG9ydCBDb21tZW50IGFuZCBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24vUEkgaGVscGVycwotICogMjAwNS0wMy0yNiBmbCAgYWRkZWQgQ29tbWVudCBhbmQgUEkgc3VwcG9ydCB0byBYTUxQYXJzZXIKLSAqIDIwMDUtMDMtMjcgZmwgIGV2ZW50IG9wdGltaXphdGlvbnM7IGNvbXBsYWluIGFib3V0IGJvZ3VzIGV2ZW50cwotICogMjAwNS0wOC0wOCBmbCAgZml4ZWQgcmVhZCBlcnJvciBoYW5kbGluZyBpbiBwYXJzZQotICogMjAwNS0wOC0xMSBmbCAgYWRkZWQgcnVudGltZSB0ZXN0IGZvciBjb3B5IHdvcmthcm91bmQgKDEuMC4zKQotICogMjAwNS0xMi0xMyBmbCAgYWRkZWQgZXhwYXRfY2FwaSBzdXBwb3J0IChmb3IgeG1sLmV0cmVlKSAoMS4wLjQpCi0gKiAyMDA1LTEyLTE2IGZsICBhZGRlZCBzdXBwb3J0IGZvciBub24tc3RhbmRhcmQgZW5jb2RpbmdzCi0gKiAyMDA2LTAzLTA4IGZsICBmaXhlZCBhIGNvdXBsZSBvZiBwb3RlbnRpYWwgbnVsbC1yZWZzIGFuZCBsZWFrcwotICogMjAwNi0wMy0xMiBmbCAgbWVyZ2UgaW4gMi41IHNzaXplX3QgY2hhbmdlcwotICogMjAwNy0wOC0yNSBmbCAgY2FsbCBjdXN0b20gYnVpbGRlcidzIGNsb3NlIG1ldGhvZCBmcm9tIFhNTFBhcnNlcgotICogMjAwNy0wOC0zMSBmbCAgYWRkZWQgaXRlciwgZXh0ZW5kIGZyb20gRVQgMS4zCi0gKiAyMDA3LTA5LTAxIGZsICBmaXhlZCBQYXJzZUVycm9yIGV4Y2VwdGlvbiwgc2V0c2xpY2Ugc291cmNlIHR5cGUsIGV0YwotICogMjAwNy0wOS0wMyBmbCAgZml4ZWQgaGFuZGxpbmcgb2YgbmVnYXRpdmUgaW5zZXJ0IGluZGV4ZXMKLSAqIDIwMDctMDktMDQgZmwgIGFkZGVkIGl0ZXJ0ZXh0IGZyb20gRVQgMS4zCi0gKiAyMDA3LTA5LTA2IGZsICBhZGRlZCBwb3NpdGlvbiBhdHRyaWJ1dGUgdG8gUGFyc2VFcnJvciBleGNlcHRpb24KLSAqIDIwMDgtMDYtMDYgZmwgIGRlbGF5IGVycm9yIHJlcG9ydGluZyBpbiBpdGVycGFyc2UgKGZyb20gSHJ2b2plIE5pa3NpYykKLSAqCisgKiBfZWxlbWVudHRyZWUgLSBDIGFjY2VsZXJhdG9yIGZvciB4bWwuZXRyZWUuRWxlbWVudFRyZWUKICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA5IGJ5IFNlY3JldCBMYWJzIEFCLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA5IGJ5IEZyZWRyaWsgTHVuZGguCiAgKgogICogaW5mb0BweXRob253YXJlLmNvbQogICogaHR0cDovL3d3dy5weXRob253YXJlLmNvbQorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICovCiAKLS8qIExpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4gKi8KLS8qIFNlZSBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcHNmL2xpY2Vuc2UgZm9yIGxpY2Vuc2luZyBkZXRhaWxzLiAqLwotCiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAKLSNkZWZpbmUgVkVSU0lPTiAiMS4wLjYiCi0KIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAvKiBjb25maWd1cmF0aW9uICovCiAKLS8qIExlYXZlIGRlZmluZWQgdG8gaW5jbHVkZSB0aGUgZXhwYXQtYmFzZWQgWE1MUGFyc2VyIHR5cGUgKi8KLSNkZWZpbmUgVVNFX0VYUEFUCi0KIC8qIEFuIGVsZW1lbnQgY2FuIGhvbGQgdGhpcyBtYW55IGNoaWxkcmVuIHdpdGhvdXQgZXh0cmEgbWVtb3J5CiAgICBhbGxvY2F0aW9ucy4gKi8KICNkZWZpbmUgU1RBVElDX0NISUxEUkVOIDQKQEAgLTM0MCw2ICsyOTksNyBAQAogCiAgICAgUHlfREVDUkVGKGF0dHJpYl9zdHIpOwogCisgICAgLyogYXR0cmliIGNhbiBiZSBOVUxMIGlmIFB5RGljdF9OZXcgZmFpbGVkICovCiAgICAgaWYgKGF0dHJpYikKICAgICAgICAgUHlEaWN0X1VwZGF0ZShhdHRyaWIsIGt3ZHMpOwogICAgIHJldHVybiBhdHRyaWI7CkBAIC0yNjg1LDggKzI2NDUsNiBAQAogLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KIC8qIHRoZSBleHBhdCBpbnRlcmZhY2UgKi8KIAotI2lmIGRlZmluZWQoVVNFX0VYUEFUKQotCiAjaW5jbHVkZSAiZXhwYXQuaCIKICNpbmNsdWRlICJweWV4cGF0LmgiCiBzdGF0aWMgc3RydWN0IFB5RXhwYXRfQ0FQSSAqZXhwYXRfY2FwaTsKQEAgLTM2NDQsOCArMzYwMiw2IEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZnJlZSAqLwogfTsKIAotI2VuZGlmCi0KIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAvKiBweXRob24gbW9kdWxlIGludGVyZmFjZSAqLwogCkBAIC0zNjc3LDEwICszNjMzLDggQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmRWxlbWVudF9UeXBlKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotI2lmIGRlZmluZWQoVVNFX0VYUEFUKQogICAgIGlmIChQeVR5cGVfUmVhZHkoJlhNTFBhcnNlcl9UeXBlKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotI2VuZGlmCiAKICAgICBtID0gUHlNb2R1bGVfQ3JlYXRlKCZfZWxlbWVudHRyZWVtb2R1bGUpOwogICAgIGlmICghbSkKQEAgLTM3MjMsMTAgKzM2NzcsOCBAQAogICAgIFB5X0lOQ1JFRigoUHlPYmplY3QgKikmVHJlZUJ1aWxkZXJfVHlwZSk7CiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJUcmVlQnVpbGRlciIsIChQeU9iamVjdCAqKSZUcmVlQnVpbGRlcl9UeXBlKTsKIAotI2lmIGRlZmluZWQoVVNFX0VYUEFUKQogICAgIFB5X0lOQ1JFRigoUHlPYmplY3QgKikmWE1MUGFyc2VyX1R5cGUpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiWE1MUGFyc2VyIiwgKFB5T2JqZWN0ICopJlhNTFBhcnNlcl9UeXBlKTsKLSNlbmRpZgogCiAgICAgcmV0dXJuIG07CiB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgYi9Nb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMKaW5kZXggNjViMjllMS4uMDQzNWE4YSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZnJlZXplX2ltcG9ydGxpYi5jCisrKyBiL01vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYwpAQCAtMTcsNyArMTcsNyBAQAogICAgb2YgZnJvemVuIG1vZHVsZXMgaW5zdGVhZCwgbGVmdCBkZWxpYmVyYXRlbHkgYmxhbmsgc28gYXMgdG8gYXZvaWQKICAgIHVuaW50ZW50aW9uYWwgaW1wb3J0IG9mIGEgc3RhbGUgdmVyc2lvbiBvZiBfZnJvemVuX2ltcG9ydGxpYi4gKi8KIAotc3RhdGljIHN0cnVjdCBfZnJvemVuIF9QeUltcG9ydF9Gcm96ZW5Nb2R1bGVzW10gPSB7Citjb25zdCBzdGF0aWMgc3RydWN0IF9mcm96ZW4gX1B5SW1wb3J0X0Zyb3plbk1vZHVsZXNbXSA9IHsKICAgICB7MCwgMCwgMH0gLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTI1LDcgKzI1LDcgQEAKIC8qIE9uIFdpbmRvd3MsIHRoaXMgbGlua3Mgd2l0aCB0aGUgcmVndWxhciBweXRob25YWS5kbGwsIHNvIHRoaXMgdmFyaWFibGUgY29tZXMKICAgIGZyb20gZnJvemVuLm9iai4gSW4gdGhlIE1ha2VmaWxlLCBmcm96ZW4ubyBpcyBub3QgbGlua2VkIGludG8gdGhpcyBleGVjdXRhYmxlLAogICAgc28gd2UgZGVmaW5lIHRoZSB2YXJpYWJsZSBoZXJlLiAqLwotc3RydWN0IF9mcm96ZW4gKlB5SW1wb3J0X0Zyb3plbk1vZHVsZXM7Citjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqUHlJbXBvcnRfRnJvemVuTW9kdWxlczsKICNlbmRpZgogCiBjb25zdCBjaGFyIGhlYWRlcltdID0gIi8qIEF1dG8tZ2VuZXJhdGVkIGJ5IE1vZHVsZXMvX2ZyZWV6ZV9pbXBvcnRsaWIuYyAqLyI7CkBAIC0xMDUsNyArMTA1LDcgQEAKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogICAgIGZwcmludGYob3V0ZmlsZSwgIiVzXG4iLCBoZWFkZXIpOwotICAgIGZwcmludGYob3V0ZmlsZSwgInVuc2lnbmVkIGNoYXIgX1B5X01fX2ltcG9ydGxpYltdID0ge1xuIik7CisgICAgZnByaW50ZihvdXRmaWxlLCAiY29uc3QgdW5zaWduZWQgY2hhciBfUHlfTV9faW1wb3J0bGliW10gPSB7XG4iKTsKICAgICBmb3IgKG4gPSAwOyBuIDwgZGF0YV9zaXplOyBuICs9IDE2KSB7CiAgICAgICAgIHNpemVfdCBpLCBlbmQgPSBQeV9NSU4obiArIDE2LCBkYXRhX3NpemUpOwogICAgICAgICBmcHJpbnRmKG91dGZpbGUsICIgICAgIik7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19oYXNob3BlbnNzbC5jIGIvTW9kdWxlcy9faGFzaG9wZW5zc2wuYwppbmRleCAzYWIxYzBjLi5jOGRiNWVkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19oYXNob3BlbnNzbC5jCisrKyBiL01vZHVsZXMvX2hhc2hvcGVuc3NsLmMKQEAgLTE3LDI0ICsxNyw2IEBACiAjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAjaW5jbHVkZSAiaGFzaGxpYi5oIgogCi0jaWZkZWYgV0lUSF9USFJFQUQKLSNpbmNsdWRlICJweXRocmVhZC5oIgotICAgICNkZWZpbmUgRU5URVJfSEFTSExJQihvYmopIFwKLSAgICAgICAgaWYgKChvYmopLT5sb2NrKSB7IFwKLSAgICAgICAgICAgIGlmICghUHlUaHJlYWRfYWNxdWlyZV9sb2NrKChvYmopLT5sb2NrLCAwKSkgeyBcCi0gICAgICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUyBcCi0gICAgICAgICAgICAgICAgUHlUaHJlYWRfYWNxdWlyZV9sb2NrKChvYmopLT5sb2NrLCAxKTsgXAotICAgICAgICAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTIFwKLSAgICAgICAgICAgIH0gXAotICAgICAgICB9Ci0gICAgI2RlZmluZSBMRUFWRV9IQVNITElCKG9iaikgXAotICAgICAgICBpZiAoKG9iaiktPmxvY2spIHsgXAotICAgICAgICAgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKChvYmopLT5sb2NrKTsgXAotICAgICAgICB9Ci0jZWxzZQotICAgICNkZWZpbmUgRU5URVJfSEFTSExJQihvYmopCi0gICAgI2RlZmluZSBMRUFWRV9IQVNITElCKG9iaikKLSNlbmRpZgogCiAvKiBFVlAgaXMgdGhlIHByZWZlcnJlZCBpbnRlcmZhY2UgdG8gaGFzaGluZyBpbiBPcGVuU1NMICovCiAjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KQEAgLTQzLDEwICsyNSw2IEBACiAKICNkZWZpbmUgTVVOQ0hfU0laRSBJTlRfTUFYCiAKLS8qIFRPRE8oZ3BzKTogV2Ugc2hvdWxkIHByb2JhYmx5IG1ha2UgdGhpcyBhIG1vZHVsZSBvciBFVlBvYmplY3QgYXR0cmlidXRlCi0gKiB0byBhbGxvdyB0aGUgdXNlciB0byBvcHRpbWl6ZSBiYXNlZCBvbiB0aGUgcGxhdGZvcm0gdGhleSdyZSB1c2luZy4gKi8KLSNkZWZpbmUgSEFTSExJQl9HSUxfTUlOU0laRSAyMDQ4Ci0KICNpZm5kZWYgSEFTSF9PQkpfQ09OU1RSVUNUT1IKICNkZWZpbmUgSEFTSF9PQkpfQ09OU1RSVUNUT1IgMAogI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMgYi9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMKaW5kZXggMmIzOWY2Ni4uOTQzYWFjYiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vYnVmZmVyZWRpby5jCisrKyBiL01vZHVsZXMvX2lvL2J1ZmZlcmVkaW8uYwpAQCAtNTE5LDYgKzUxOSwxMSBAQAogCiAgICAgcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc2VsZi0+cmF3LCBfUHlJT19zdHJfY2xvc2UsIE5VTEwpOwogCisgICAgaWYgKHNlbGYtPmJ1ZmZlcikgeworICAgICAgICBQeU1lbV9GcmVlKHNlbGYtPmJ1ZmZlcik7CisgICAgICAgIHNlbGYtPmJ1ZmZlciA9IE5VTEw7CisgICAgfQorCiAgICAgaWYgKGV4YyAhPSBOVUxMKSB7CiAgICAgICAgIGlmIChyZXMgIT0gTlVMTCkgewogICAgICAgICAgICAgUHlfQ0xFQVIocmVzKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL2ZpbGVpby5jIGIvTW9kdWxlcy9faW8vZmlsZWlvLmMKaW5kZXggOGMxZmFiZS4uZmQ3YzFmYyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vZmlsZWlvLmMKKysrIGIvTW9kdWxlcy9faW8vZmlsZWlvLmMKQEAgLTM5MSwxMiArMzkxLDcgQEAKIAogICAgICAgICBmZF9pc19vd24gPSAxOwogICAgICAgICBpZiAoc2VsZi0+ZmQgPCAwKSB7Ci0jaWZkZWYgTVNfV0lORE9XUwotICAgICAgICAgICAgaWYgKHdpZGVuYW1lICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX0lPRXJyb3IsIG5hbWVvYmopOwotICAgICAgICAgICAgZWxzZQotI2VuZGlmCi0gICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lKFB5RXhjX0lPRXJyb3IsIG5hbWUpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX09TRXJyb3IsIG5hbWVvYmopOwogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL3RleHRpby5jIGIvTW9kdWxlcy9faW8vdGV4dGlvLmMKaW5kZXggY2ZmOWM2ZS4uOGJkOWJhMSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vdGV4dGlvLmMKKysrIGIvTW9kdWxlcy9faW8vdGV4dGlvLmMKQEAgLTc1Nyw3ICs3NTcsNyBAQAogewogICAgIGlmICghc2VsZi0+ZW5jb2Rpbmdfc3RhcnRfb2Zfc3RyZWFtKSB7CiAgICAgICAgIC8qIFNraXAgdGhlIEJPTSBhbmQgdXNlIG5hdGl2ZSBieXRlIG9yZGVyaW5nICovCi0jaWYgZGVmaW5lZChXT1JEU19CSUdFTkRJQU4pCisjaWYgUFlfQklHX0VORElBTgogICAgICAgICByZXR1cm4gdXRmMTZiZV9lbmNvZGUoc2VsZiwgdGV4dCk7CiAjZWxzZQogICAgICAgICByZXR1cm4gdXRmMTZsZV9lbmNvZGUoc2VsZiwgdGV4dCk7CkBAIC03ODYsNyArNzg2LDcgQEAKIHsKICAgICBpZiAoIXNlbGYtPmVuY29kaW5nX3N0YXJ0X29mX3N0cmVhbSkgewogICAgICAgICAvKiBTa2lwIHRoZSBCT00gYW5kIHVzZSBuYXRpdmUgYnl0ZSBvcmRlcmluZyAqLwotI2lmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKQorI2lmIFBZX0JJR19FTkRJQU4KICAgICAgICAgcmV0dXJuIHV0ZjMyYmVfZW5jb2RlKHNlbGYsIHRleHQpOwogI2Vsc2UKICAgICAgICAgcmV0dXJuIHV0ZjMybGVfZW5jb2RlKHNlbGYsIHRleHQpOwpAQCAtMTkzNiwxMCArMTkzNiw3IEBACiAKICNkZWZpbmUgQ09PS0lFX0JVRl9MRU4gICAgICAoc2l6ZW9mKFB5X29mZl90KSArIDMgKiBzaXplb2YoaW50KSArIHNpemVvZihjaGFyKSkKIAotI2lmIGRlZmluZWQoV09SRFNfQklHRU5ESUFOKQotCi0jIGRlZmluZSBJU19MSVRUTEVfRU5ESUFOICAgMAotCisjaWYgUFlfQklHX0VORElBTgogLyogV2Ugd2FudCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiBzdGFydF9wb3MgdG8gYWxzbyBiZSB0aGUgbGVhc3QKICAgIHNpZ25pZmljYW50IGJ5dGUgb2YgdGhlIGNvb2tpZSwgd2hpY2ggbWVhbnMgdGhhdCBpbiBiaWctZW5kaWFuIG1vZGUgd2UKICAgIG11c3QgY29weSB0aGUgZmllbGRzIGluIHJldmVyc2Ugb3JkZXIuICovCkBAIC0xOTUxLDkgKzE5NDgsNiBAQAogIyBkZWZpbmUgT0ZGX05FRURfRU9GICAgICAgIDAKIAogI2Vsc2UKLQotIyBkZWZpbmUgSVNfTElUVExFX0VORElBTiAgIDEKLQogLyogTGl0dGxlLWVuZGlhbiBtb2RlOiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiBzdGFydF9wb3Mgd2lsbAogICAgbmF0dXJhbGx5IGVuZCB1cCB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYnl0ZSBvZiB0aGUgY29va2llLiAqLwogCkBAIC0xOTc0LDcgKzE5NjgsNyBAQAogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpZiAoX1B5TG9uZ19Bc0J5dGVBcnJheShjb29raWVMb25nLCBidWZmZXIsIHNpemVvZihidWZmZXIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIElTX0xJVFRMRV9FTkRJQU4sIDApIDwgMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX0xJVFRMRV9FTkRJQU4sIDApIDwgMCkgewogICAgICAgICBQeV9ERUNSRUYoY29va2llTG9uZyk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC0yMDAwLDkgKzE5OTQsOSBAQAogICAgIG1lbWNweShidWZmZXIgKyBPRkZfQ0hBUlNfVE9fU0tJUCwgJmNvb2tpZS0+Y2hhcnNfdG9fc2tpcCwgc2l6ZW9mKGNvb2tpZS0+Y2hhcnNfdG9fc2tpcCkpOwogICAgIG1lbWNweShidWZmZXIgKyBPRkZfTkVFRF9FT0YsICZjb29raWUtPm5lZWRfZW9mLCBzaXplb2YoY29va2llLT5uZWVkX2VvZikpOwogCi0gICAgcmV0dXJuIF9QeUxvbmdfRnJvbUJ5dGVBcnJheShidWZmZXIsIHNpemVvZihidWZmZXIpLCBJU19MSVRUTEVfRU5ESUFOLCAwKTsKKyAgICByZXR1cm4gX1B5TG9uZ19Gcm9tQnl0ZUFycmF5KGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQWV9MSVRUTEVfRU5ESUFOLCAwKTsKIH0KLSN1bmRlZiBJU19MSVRUTEVfRU5ESUFOCiAKIHN0YXRpYyBpbnQKIF90ZXh0aW93cmFwcGVyX2RlY29kZXJfc2V0c3RhdGUodGV4dGlvICpzZWxmLCBjb29raWVfdHlwZSAqY29va2llKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fanNvbi5jIGIvTW9kdWxlcy9fanNvbi5jCmluZGV4IGRiNDVjMjguLjJlMTY1OWUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2pzb24uYworKysgYi9Nb2R1bGVzL19qc29uLmMKQEAgLTIsMjAgKzIsNiBAQAogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogI2luY2x1ZGUgImFjY3UuaCIKIAotI2lmIFBZX1ZFUlNJT05fSEVYIDwgMHgwMjA2MDAwMCAmJiAhZGVmaW5lZChQeV9UWVBFKQotI2RlZmluZSBQeV9UWVBFKG9iKSAgICAgKCgoUHlPYmplY3QqKShvYikpLT5vYl90eXBlKQotI2VuZGlmCi0jaWYgUFlfVkVSU0lPTl9IRVggPCAweDAyMDUwMDAwICYmICFkZWZpbmVkKFBZX1NTSVpFX1RfTUlOKQotdHlwZWRlZiBpbnQgUHlfc3NpemVfdDsKLSNkZWZpbmUgUFlfU1NJWkVfVF9NQVggSU5UX01BWAotI2RlZmluZSBQWV9TU0laRV9UX01JTiBJTlRfTUlOCi0jZGVmaW5lIFB5SW50X0Zyb21Tc2l6ZV90IFB5SW50X0Zyb21Mb25nCi0jZGVmaW5lIFB5SW50X0FzU3NpemVfdCBQeUludF9Bc0xvbmcKLSNlbmRpZgotI2lmbmRlZiBQeV9JU19GSU5JVEUKLSNkZWZpbmUgUHlfSVNfRklOSVRFKFgpICghUHlfSVNfSU5GSU5JVFkoWCkgJiYgIVB5X0lTX05BTihYKSkKLSNlbmRpZgotCiAjaWZkZWYgX19HTlVDX18KICNkZWZpbmUgVU5VU0VEIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKQogI2Vsc2UKQEAgLTEyOSwzMyArMTE1LDEyIEBACiByYWlzZV9lcnJtc2coY2hhciAqbXNnLCBQeU9iamVjdCAqcywgUHlfc3NpemVfdCBlbmQpOwogc3RhdGljIFB5T2JqZWN0ICoKIGVuY29kZXJfZW5jb2RlX3N0cmluZyhQeUVuY29kZXJPYmplY3QgKnMsIFB5T2JqZWN0ICpvYmopOwotc3RhdGljIGludAotX2NvbnZlcnRQeUludF9Bc1NzaXplX3QoUHlPYmplY3QgKm8sIFB5X3NzaXplX3QgKnNpemVfcHRyKTsKLXN0YXRpYyBQeU9iamVjdCAqCi1fY29udmVydFB5SW50X0Zyb21Tc2l6ZV90KFB5X3NzaXplX3QgKnNpemVfcHRyKTsKIHN0YXRpYyBQeU9iamVjdCAqCiBlbmNvZGVyX2VuY29kZV9mbG9hdChQeUVuY29kZXJPYmplY3QgKnMsIFB5T2JqZWN0ICpvYmopOwogCiAjZGVmaW5lIFNfQ0hBUihjKSAoYyA+PSAnICcgJiYgYyA8PSAnficgJiYgYyAhPSAnXFwnICYmIGMgIT0gJyInKQogI2RlZmluZSBJU19XSElURVNQQUNFKGMpICgoKGMpID09ICcgJykgfHwgKChjKSA9PSAnXHQnKSB8fCAoKGMpID09ICdcbicpIHx8ICgoYykgPT0gJ1xyJykpCiAKLXN0YXRpYyBpbnQKLV9jb252ZXJ0UHlJbnRfQXNTc2l6ZV90KFB5T2JqZWN0ICpvLCBQeV9zc2l6ZV90ICpzaXplX3B0cikKLXsKLSAgICAvKiBQeU9iamVjdCB0byBQeV9zc2l6ZV90IGNvbnZlcnRlciAqLwotICAgICpzaXplX3B0ciA9IFB5TG9uZ19Bc1NzaXplX3Qobyk7Ci0gICAgaWYgKCpzaXplX3B0ciA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gMTsKLX0KLQotc3RhdGljIFB5T2JqZWN0ICoKLV9jb252ZXJ0UHlJbnRfRnJvbVNzaXplX3QoUHlfc3NpemVfdCAqc2l6ZV9wdHIpCi17Ci0gICAgLyogUHlfc3NpemVfdCB0byBQeU9iamVjdCBjb252ZXJ0ZXIgKi8KLSAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KCpzaXplX3B0cik7Ci19Ci0KIHN0YXRpYyBQeV9zc2l6ZV90CiBhc2NpaV9lc2NhcGVfdW5pY2hhcihQeV9VQ1M0IGMsIHVuc2lnbmVkIGNoYXIgKm91dHB1dCwgUHlfc3NpemVfdCBjaGFycykKIHsKQEAgLTE3NCwxNCArMTM5LDEzIEBACiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBpZiAoYyA+PSAweDEwMDAwKSB7CiAgICAgICAgICAgICAgICAgLyogVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyICovCi0gICAgICAgICAgICAgICAgUHlfVUNTNCB2ID0gYyAtIDB4MTAwMDA7Ci0gICAgICAgICAgICAgICAgYyA9IDB4ZDgwMCB8ICgodiA+PiAxMCkgJiAweDNmZik7CisgICAgICAgICAgICAgICAgUHlfVUNTNCB2ID0gUHlfVU5JQ09ERV9ISUdIX1NVUlJPR0FURShjKTsKICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAndSc7Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+IDEyKSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+ICA4KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+ICA0KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjICAgICAgKSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgYyA9IDB4ZGMwMCB8ICh2ICYgMHgzZmYpOworICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1sodiA+PiAxMikgJiAweGZdOworICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1sodiA+PiAgOCkgJiAweGZdOworICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1sodiA+PiAgNCkgJiAweGZdOworICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1sodiAgICAgICkgJiAweGZdOworICAgICAgICAgICAgICAgIGMgPSBQeV9VTklDT0RFX0xPV19TVVJST0dBVEUoYyk7CiAgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gJ1xcJzsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICd1JzsKQEAgLTI2OCwxMyArMjMyLDIzIEBACiAgICAgICAgIGlmIChlcnJtc2dfZm4gPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgcHltc2cgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oZXJybXNnX2ZuLCAiKHpPTyYpIiwgbXNnLCBzLCBfY29udmVydFB5SW50X0Zyb21Tc2l6ZV90LCAmZW5kKTsKKyAgICBweW1zZyA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihlcnJtc2dfZm4sICIoek9uKSIsIG1zZywgcywgZW5kKTsKICAgICBpZiAocHltc2cpIHsKICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjX1ZhbHVlRXJyb3IsIHB5bXNnKTsKICAgICAgICAgUHlfREVDUkVGKHB5bXNnKTsKICAgICB9CiB9CiAKK3N0YXRpYyB2b2lkCityYWlzZV9zdG9wX2l0ZXJhdGlvbihQeV9zc2l6ZV90IGlkeCkKK3sKKyAgICBQeU9iamVjdCAqdmFsdWUgPSBQeUxvbmdfRnJvbVNzaXplX3QoaWR4KTsKKyAgICBpZiAodmFsdWUgIT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfU3RvcEl0ZXJhdGlvbiwgdmFsdWUpOworICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworICAgIH0KK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIF9idWlsZF9ydmFsX2luZGV4X3R1cGxlKFB5T2JqZWN0ICpydmFsLCBQeV9zc2l6ZV90IGlkeCkgewogICAgIC8qIHJldHVybiAocnZhbCwgaWR4KSB0dXBsZSwgc3RlYWxpbmcgcmVmZXJlbmNlIHRvIHJ2YWwgKi8KQEAgLTM0NCw3ICszMTgsNyBAQAogICAgIGJ1ZiA9IFB5VW5pY29kZV9EQVRBKHB5c3RyKTsKICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocHlzdHIpOwogCi0gICAgaWYgKGVuZCA8IDAgfHwgbGVuIDw9IGVuZCkgeworICAgIGlmIChlbmQgPCAwIHx8IGxlbiA8IGVuZCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImVuZCBpcyBvdXQgb2YgYm91bmRzIik7CiAgICAgICAgIGdvdG8gYmFpbDsKICAgICB9CkBAIC00MzMsNyArNDA3LDcgQEAKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiBTdXJyb2dhdGUgcGFpciAqLwotICAgICAgICAgICAgaWYgKChjICYgMHhmYzAwKSA9PSAweGQ4MDApIHsKKyAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFKGMpKSB7CiAgICAgICAgICAgICAgICAgUHlfVUNTNCBjMiA9IDA7CiAgICAgICAgICAgICAgICAgaWYgKGVuZCArIDYgPj0gbGVuKSB7CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlX2Vycm1zZygiVW5wYWlyZWQgaGlnaCBzdXJyb2dhdGUiLCBweXN0ciwgZW5kIC0gNSk7CkBAIC00NjQsMTMgKzQzOCwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoKGMyICYgMHhmYzAwKSAhPSAweGRjMDApIHsKKyAgICAgICAgICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURShjMikpIHsKICAgICAgICAgICAgICAgICAgICAgcmFpc2VfZXJybXNnKCJVbnBhaXJlZCBoaWdoIHN1cnJvZ2F0ZSIsIHB5c3RyLCBlbmQgLSA1KTsKICAgICAgICAgICAgICAgICAgICAgZ290byBiYWlsOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBjID0gMHgxMDAwMCArICgoKGMgLSAweGQ4MDApIDw8IDEwKSB8IChjMiAtIDB4ZGMwMCkpOworICAgICAgICAgICAgICAgIGMgPSBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUyhjLCBjMik7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmICgoYyAmIDB4ZmMwMCkgPT0gMHhkYzAwKSB7CisgICAgICAgICAgICBlbHNlIGlmIChQeV9VTklDT0RFX0lTX0xPV19TVVJST0dBVEUoYykpIHsKICAgICAgICAgICAgICAgICByYWlzZV9lcnJtc2coIlVucGFpcmVkIGxvdyBzdXJyb2dhdGUiLCBweXN0ciwgZW5kIC0gNSk7CiAgICAgICAgICAgICAgICAgZ290byBiYWlsOwogICAgICAgICAgICAgfQpAQCAtNTI3LDcgKzUwMSw3IEBACiAgICAgUHlfc3NpemVfdCBlbmQ7CiAgICAgUHlfc3NpemVfdCBuZXh0X2VuZCA9IC0xOwogICAgIGludCBzdHJpY3QgPSAxOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT08mfGk6c2NhbnN0cmluZyIsICZweXN0ciwgX2NvbnZlcnRQeUludF9Bc1NzaXplX3QsICZlbmQsICZzdHJpY3QpKSB7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPbnxpOnNjYW5zdHJpbmciLCAmcHlzdHIsICZlbmQsICZzdHJpY3QpKSB7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHB5c3RyKSkgewpAQCAtNjQyLDEyICs2MTYsMTIgQEAKICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgSVNfV0hJVEVTUEFDRShQeVVuaWNvZGVfUkVBRChraW5kLHN0ciwgaWR4KSkpIGlkeCsrOwogCiAgICAgLyogb25seSBsb29wIGlmIHRoZSBvYmplY3QgaXMgbm9uLWVtcHR5ICovCi0gICAgaWYgKGlkeCA8PSBlbmRfaWR4ICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSAhPSAnfScpIHsKLSAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4KSB7CisgICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICd9JykgeworICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAgUHlPYmplY3QgKm1lbW9rZXk7CiAKICAgICAgICAgICAgIC8qIHJlYWQga2V5ICovCi0gICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICciJykgeworICAgICAgICAgICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICciJykgewogICAgICAgICAgICAgICAgIHJhaXNlX2Vycm1zZygiRXhwZWN0aW5nIHByb3BlcnR5IG5hbWUgZW5jbG9zZWQgaW4gZG91YmxlIHF1b3RlcyIsIHB5c3RyLCBpZHgpOwogICAgICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgICAgIH0KQEAgLTcwNCwxMSArNjc4LDkgQEAKICAgICAgICAgICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBJU19XSElURVNQQUNFKFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSkpIGlkeCsrOwogCiAgICAgICAgICAgICAvKiBiYWlsIGlmIHRoZSBvYmplY3QgaXMgY2xvc2VkIG9yIHdlIGRpZG4ndCBnZXQgdGhlICwgZGVsaW1pdGVyICovCi0gICAgICAgICAgICBpZiAoaWR4ID4gZW5kX2lkeCkgYnJlYWs7Ci0gICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpID09ICd9JykgeworICAgICAgICAgICAgaWYgKGlkeCA8PSBlbmRfaWR4ICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA9PSAnfScpCiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgIT0gJywnKSB7CisgICAgICAgICAgICBpZiAoaWR4ID4gZW5kX2lkeCB8fCBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgIT0gJywnKSB7CiAgICAgICAgICAgICAgICAgcmFpc2VfZXJybXNnKCJFeHBlY3RpbmcgJywnIGRlbGltaXRlciIsIHB5c3RyLCBpZHgpOwogICAgICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgICAgIH0KQEAgLTcxOSwxMiArNjkxLDYgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIHZlcmlmeSB0aGF0IGlkeCA8IGVuZF9pZHgsIHN0cltpZHhdIHNob3VsZCBiZSAnfScgKi8KLSAgICBpZiAoaWR4ID4gZW5kX2lkeCB8fCBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgIT0gJ30nKSB7Ci0gICAgICAgIHJhaXNlX2Vycm1zZygiRXhwZWN0aW5nIG9iamVjdCIsIHB5c3RyLCBlbmRfaWR4KTsKLSAgICAgICAgZ290byBiYWlsOwotICAgIH0KLQogICAgICpuZXh0X2lkeF9wdHIgPSBpZHggKyAxOwogCiAgICAgaWYgKGhhc19wYWlyc19ob29rKSB7CkBAIC03NzYsOCArNzQyLDggQEAKICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgSVNfV0hJVEVTUEFDRShQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkpKSBpZHgrKzsKIAogICAgIC8qIG9ubHkgbG9vcCBpZiB0aGUgYXJyYXkgaXMgbm9uLWVtcHR5ICovCi0gICAgaWYgKGlkeCA8PSBlbmRfaWR4ICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSAhPSAnXScpIHsKLSAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4KSB7CisgICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICddJykgeworICAgICAgICB3aGlsZSAoMSkgewogCiAgICAgICAgICAgICAvKiByZWFkIGFueSBKU09OIHRlcm0gICovCiAgICAgICAgICAgICB2YWwgPSBzY2FuX29uY2VfdW5pY29kZShzLCBweXN0ciwgaWR4LCAmbmV4dF9pZHgpOwpAQCAtNzk0LDExICs3NjAsOSBAQAogICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSkgaWR4Kys7CiAKICAgICAgICAgICAgIC8qIGJhaWwgaWYgdGhlIGFycmF5IGlzIGNsb3NlZCBvciB3ZSBkaWRuJ3QgZ2V0IHRoZSAsIGRlbGltaXRlciAqLwotICAgICAgICAgICAgaWYgKGlkeCA+IGVuZF9pZHgpIGJyZWFrOwotICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA9PSAnXScpIHsKKyAgICAgICAgICAgIGlmIChpZHggPD0gZW5kX2lkeCAmJiBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPT0gJ10nKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICcsJykgeworICAgICAgICAgICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICcsJykgewogICAgICAgICAgICAgICAgIHJhaXNlX2Vycm1zZygiRXhwZWN0aW5nICcsJyBkZWxpbWl0ZXIiLCBweXN0ciwgaWR4KTsKICAgICAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgICAgICB9CkBAIC04MTEsNyArNzc1LDcgQEAKIAogICAgIC8qIHZlcmlmeSB0aGF0IGlkeCA8IGVuZF9pZHgsIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSBzaG91bGQgYmUgJ10nICovCiAgICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICddJykgewotICAgICAgICByYWlzZV9lcnJtc2coIkV4cGVjdGluZyBvYmplY3QiLCBweXN0ciwgZW5kX2lkeCk7CisgICAgICAgIHJhaXNlX2Vycm1zZygiRXhwZWN0aW5nIHZhbHVlIiwgcHlzdHIsIGVuZF9pZHgpOwogICAgICAgICBnb3RvIGJhaWw7CiAgICAgfQogICAgICpuZXh0X2lkeF9wdHIgPSBpZHggKyAxOwpAQCAtODc5LDcgKzg0Myw3IEBACiAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA9PSAnLScpIHsKICAgICAgICAgaWR4Kys7CiAgICAgICAgIGlmIChpZHggPiBlbmRfaWR4KSB7Ci0gICAgICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX1N0b3BJdGVyYXRpb24pOworICAgICAgICAgICAgcmFpc2Vfc3RvcF9pdGVyYXRpb24oc3RhcnQpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICB9CkBAIC04OTUsNyArODU5LDcgQEAKICAgICB9CiAgICAgLyogbm8gaW50ZWdlciBkaWdpdHMsIGVycm9yICovCiAgICAgZWxzZSB7Ci0gICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfU3RvcEl0ZXJhdGlvbik7CisgICAgICAgIHJhaXNlX3N0b3BfaXRlcmF0aW9uKHN0YXJ0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC05ODgsNyArOTUyLDcgQEAKICAgICBsZW5ndGggPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChweXN0cik7CiAKICAgICBpZiAoaWR4ID49IGxlbmd0aCkgewotICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX1N0b3BJdGVyYXRpb24pOworICAgICAgICByYWlzZV9zdG9wX2l0ZXJhdGlvbihpZHgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTEwOTAsNyArMTA1NCw3IEBACiAgICAgUHlTY2FubmVyT2JqZWN0ICpzOwogICAgIGFzc2VydChQeVNjYW5uZXJfQ2hlY2soc2VsZikpOwogICAgIHMgPSAoUHlTY2FubmVyT2JqZWN0ICopc2VsZjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT08mOnNjYW5fb25jZSIsIGt3bGlzdCwgJnB5c3RyLCBfY29udmVydFB5SW50X0FzU3NpemVfdCwgJmlkeCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk9uOnNjYW5fb25jZSIsIGt3bGlzdCwgJnB5c3RyLCAmaWR4KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHB5c3RyKSkgewpAQCAtMTI5MSw4ICsxMjU1LDggQEAKIAogICAgIGFzc2VydChQeUVuY29kZXJfQ2hlY2soc2VsZikpOwogICAgIHMgPSAoUHlFbmNvZGVyT2JqZWN0ICopc2VsZjsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT08mOl9pdGVyZW5jb2RlIiwga3dsaXN0LAotICAgICAgICAmb2JqLCBfY29udmVydFB5SW50X0FzU3NpemVfdCwgJmluZGVudF9sZXZlbCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk9uOl9pdGVyZW5jb2RlIiwga3dsaXN0LAorICAgICAgICAmb2JqLCAmaW5kZW50X2xldmVsKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKF9QeUFjY3VfSW5pdCgmYWNjKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19sc3Byb2YuYyBiL01vZHVsZXMvX2xzcHJvZi5jCmluZGV4IGIwYTIyNmIuLjU2NTdmMmYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2xzcHJvZi5jCisrKyBiL01vZHVsZXMvX2xzcHJvZi5jCkBAIC0zNiwxMiArMzYsOCBAQAogI2Vycm9yICJUaGlzIG1vZHVsZSByZXF1aXJlcyBnZXR0aW1lb2ZkYXkoKSBvbiBub24tV2luZG93cyBwbGF0Zm9ybXMhIgogI2VuZGlmCiAKLSNpZiAoZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykpCi0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNlbHNlCiAjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CiAjaW5jbHVkZSA8c3lzL3RpbWVzLmg+Ci0jZW5kaWYKIAogc3RhdGljIFBZX0xPTkdfTE9ORwogaHBUaW1lcih2b2lkKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5jIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5jCmluZGV4IGViMDVjNjIuLmE3N2MzYjMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9tdWx0aXByb2Nlc3NpbmcuYworKysgYi9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvbXVsdGlwcm9jZXNzaW5nLmMKQEAgLTEwLDI1ICsxMCwyMyBAQAogI2luY2x1ZGUgIm11bHRpcHJvY2Vzc2luZy5oIgogCiAKLVB5T2JqZWN0ICpQcm9jZXNzRXJyb3IsICpCdWZmZXJUb29TaG9ydDsKLQogLyoKICAqIEZ1bmN0aW9uIHdoaWNoIHJhaXNlcyBleGNlcHRpb25zIGJhc2VkIG9uIGVycm9yIGNvZGVzCiAgKi8KIAogUHlPYmplY3QgKgotbXBfU2V0RXJyb3IoUHlPYmplY3QgKlR5cGUsIGludCBudW0pCitfUHlNcF9TZXRFcnJvcihQeU9iamVjdCAqVHlwZSwgaW50IG51bSkKIHsKICAgICBzd2l0Y2ggKG51bSkgewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBjYXNlIE1QX1NUQU5EQVJEX0VSUk9SOgogICAgICAgICBpZiAoVHlwZSA9PSBOVUxMKQotICAgICAgICAgICAgVHlwZSA9IFB5RXhjX1dpbmRvd3NFcnJvcjsKKyAgICAgICAgICAgIFR5cGUgPSBQeUV4Y19PU0Vycm9yOwogICAgICAgICBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihUeXBlLCAwKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNUF9TT0NLRVRfRVJST1I6CiAgICAgICAgIGlmIChUeXBlID09IE5VTEwpCi0gICAgICAgICAgICBUeXBlID0gUHlFeGNfV2luZG93c0Vycm9yOworICAgICAgICAgICAgVHlwZSA9IFB5RXhjX09TRXJyb3I7CiAgICAgICAgIFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyKFR5cGUsIFdTQUdldExhc3RFcnJvcigpKTsKICAgICAgICAgYnJlYWs7CiAjZWxzZSAvKiAhTVNfV0lORE9XUyAqLwpAQCAtMTU5LDE5ICsxNTcsMTIgQEAKICAgICBpZiAoIW1vZHVsZSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICAvKiBHZXQgY29weSBvZiBCdWZmZXJUb29TaG9ydCAqLwotICAgIHRlbXAgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoIm11bHRpcHJvY2Vzc2luZyIpOwotICAgIGlmICghdGVtcCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgQnVmZmVyVG9vU2hvcnQgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHRlbXAsICJCdWZmZXJUb29TaG9ydCIpOwotICAgIFB5X1hERUNSRUYodGVtcCk7Ci0KICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgKGRlZmluZWQoSEFWRV9TRU1fT1BFTikgJiYgIWRlZmluZWQoUE9TSVhfU0VNQVBIT1JFU19OT1RfRU5BQkxFRCkpCi0gICAgLyogQWRkIFNlbUxvY2sgdHlwZSB0byBtb2R1bGUgKi8KLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZTZW1Mb2NrVHlwZSkgPCAwKQorICAgIC8qIEFkZCBfUHlNcF9TZW1Mb2NrIHR5cGUgdG8gbW9kdWxlICovCisgICAgaWYgKFB5VHlwZV9SZWFkeSgmX1B5TXBfU2VtTG9ja1R5cGUpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfSU5DUkVGKCZTZW1Mb2NrVHlwZSk7CisgICAgUHlfSU5DUkVGKCZfUHlNcF9TZW1Mb2NrVHlwZSk7CiAgICAgewogICAgICAgICBQeU9iamVjdCAqcHlfc2VtX3ZhbHVlX21heDsKICAgICAgICAgLyogU29tZSBzeXN0ZW1zIGRlZmluZSBTRU1fVkFMVUVfTUFYIGFzIGFuIHVuc2lnbmVkIHZhbHVlIHRoYXQKQEAgLTE4MiwxMCArMTczLDEwIEBACiAgICAgICAgICAgICBweV9zZW1fdmFsdWVfbWF4ID0gUHlMb25nX0Zyb21Mb25nKFNFTV9WQUxVRV9NQVgpOwogICAgICAgICBpZiAocHlfc2VtX3ZhbHVlX21heCA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKFNlbUxvY2tUeXBlLnRwX2RpY3QsICJTRU1fVkFMVUVfTUFYIiwKKyAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoX1B5TXBfU2VtTG9ja1R5cGUudHBfZGljdCwgIlNFTV9WQUxVRV9NQVgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweV9zZW1fdmFsdWVfbWF4KTsKICAgICB9Ci0gICAgUHlNb2R1bGVfQWRkT2JqZWN0KG1vZHVsZSwgIlNlbUxvY2siLCAoUHlPYmplY3QqKSZTZW1Mb2NrVHlwZSk7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG1vZHVsZSwgIlNlbUxvY2siLCAoUHlPYmplY3QqKSZfUHlNcF9TZW1Mb2NrVHlwZSk7CiAjZW5kaWYKIAogICAgIC8qIEFkZCBjb25maWd1cmF0aW9uIG1hY3JvcyAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5oIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5oCmluZGV4IGUzZGU5YmEuLjA3NTlhODAgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9tdWx0aXByb2Nlc3NpbmcuaAorKysgYi9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvbXVsdGlwcm9jZXNzaW5nLmgKQEAgLTkxLDE1ICs5MSwxMyBAQAogI2RlZmluZSBNUF9TT0NLRVRfRVJST1IgKC0xMDAyKQogI2RlZmluZSBNUF9FWENFUFRJT05fSEFTX0JFRU5fU0VUICgtMTAwMykKIAotUHlPYmplY3QgKm1wX1NldEVycm9yKFB5T2JqZWN0ICpUeXBlLCBpbnQgbnVtKTsKK1B5T2JqZWN0ICpfUHlNcF9TZXRFcnJvcihQeU9iamVjdCAqVHlwZSwgaW50IG51bSk7CiAKIC8qCiAgKiBFeHRlcm5zIC0gbm90IGFsbCB3aWxsIHJlYWxseSBleGlzdCBvbiBhbGwgcGxhdGZvcm1zCiAgKi8KIAotZXh0ZXJuIFB5T2JqZWN0ICpCdWZmZXJUb29TaG9ydDsKLWV4dGVybiBQeVR5cGVPYmplY3QgU2VtTG9ja1R5cGU7Ci1leHRlcm4gUHlUeXBlT2JqZWN0IFBpcGVDb25uZWN0aW9uVHlwZTsKK2V4dGVybiBQeVR5cGVPYmplY3QgX1B5TXBfU2VtTG9ja1R5cGU7CiAKIC8qCiAgKiBNaXNjZWxsYW5lb3VzCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19tdWx0aXByb2Nlc3Npbmcvc2VtYXBob3JlLmMgYi9Nb2R1bGVzL19tdWx0aXByb2Nlc3Npbmcvc2VtYXBob3JlLmMKaW5kZXggMmMyYjAyMC4uZGNmM2I0MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3NlbWFwaG9yZS5jCisrKyBiL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYwpAQCAtNDMsNyArNDMsNyBAQAogewogICAgIGxvbmcgcHJldmlvdXM7CiAKLSAgICBzd2l0Y2ggKFdhaXRGb3JTaW5nbGVPYmplY3QoaGFuZGxlLCAwKSkgeworICAgIHN3aXRjaCAoV2FpdEZvclNpbmdsZU9iamVjdEV4KGhhbmRsZSwgMCwgRkFMU0UpKSB7CiAgICAgY2FzZSBXQUlUX09CSkVDVF8wOgogICAgICAgICBpZiAoIVJlbGVhc2VTZW1hcGhvcmUoaGFuZGxlLCAxLCAmcHJldmlvdXMpKQogICAgICAgICAgICAgcmV0dXJuIE1QX1NUQU5EQVJEX0VSUk9SOwpAQCAtOTksNyArOTksNyBAQAogICAgIH0KIAogICAgIC8qIGNoZWNrIHdoZXRoZXIgd2UgY2FuIGFjcXVpcmUgd2l0aG91dCByZWxlYXNpbmcgdGhlIEdJTCBhbmQgYmxvY2tpbmcgKi8KLSAgICBpZiAoV2FpdEZvclNpbmdsZU9iamVjdChzZWxmLT5oYW5kbGUsIDApID09IFdBSVRfT0JKRUNUXzApIHsKKyAgICBpZiAoV2FpdEZvclNpbmdsZU9iamVjdEV4KHNlbGYtPmhhbmRsZSwgMCwgRkFMU0UpID09IFdBSVRfT0JKRUNUXzApIHsKICAgICAgICAgc2VsZi0+bGFzdF90aWQgPSBHZXRDdXJyZW50VGhyZWFkSWQoKTsKICAgICAgICAgKytzZWxmLT5jb3VudDsKICAgICAgICAgUHlfUkVUVVJOX1RSVUU7CkBAIC0xMTgsNyArMTE4LDcgQEAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgaWYgKHNpZ2ludF9ldmVudCAhPSBOVUxMKQogICAgICAgICBSZXNldEV2ZW50KHNpZ2ludF9ldmVudCk7Ci0gICAgcmVzID0gV2FpdEZvck11bHRpcGxlT2JqZWN0cyhuaGFuZGxlcywgaGFuZGxlcywgRkFMU0UsIGZ1bGxfbXNlY3MpOworICAgIHJlcyA9IFdhaXRGb3JNdWx0aXBsZU9iamVjdHNFeChuaGFuZGxlcywgaGFuZGxlcywgRkFMU0UsIGZ1bGxfbXNlY3MsIEZBTFNFKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgLyogaGFuZGxlIHJlc3VsdCAqLwpAQCAtMjAwLDcgKzIwMCw3IEBACiAjaWZuZGVmIEhBVkVfU0VNX1RJTUVEV0FJVAogIyAgZGVmaW5lIHNlbV90aW1lZHdhaXQoc2VtLGRlYWRsaW5lKSBzZW1fdGltZWR3YWl0X3NhdmUoc2VtLGRlYWRsaW5lLF9zYXZlKQogCi1pbnQKK3N0YXRpYyBpbnQKIHNlbV90aW1lZHdhaXRfc2F2ZShzZW1fdCAqc2VtLCBzdHJ1Y3QgdGltZXNwZWMgKmRlYWRsaW5lLCBQeVRocmVhZFN0YXRlICpfc2F2ZSkKIHsKICAgICBpbnQgcmVzOwpAQCAtNDUxLDcgKzQ1MSw3IEBACiAgIGZhaWx1cmU6CiAgICAgaWYgKGhhbmRsZSAhPSBTRU1fRkFJTEVEKQogICAgICAgICBTRU1fQ0xPU0UoaGFuZGxlKTsKLSAgICBtcF9TZXRFcnJvcihOVUxMLCBNUF9TVEFOREFSRF9FUlJPUik7CisgICAgX1B5TXBfU2V0RXJyb3IoTlVMTCwgTVBfU1RBTkRBUkRfRVJST1IpOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC00OTgsNyArNDk4LDcgQEAKICNlbHNlCiAgICAgaW50IHN2YWw7CiAgICAgaWYgKFNFTV9HRVRWQUxVRShzZWxmLT5oYW5kbGUsICZzdmFsKSA8IDApCi0gICAgICAgIHJldHVybiBtcF9TZXRFcnJvcihOVUxMLCBNUF9TVEFOREFSRF9FUlJPUik7CisgICAgICAgIHJldHVybiBfUHlNcF9TZXRFcnJvcihOVUxMLCBNUF9TVEFOREFSRF9FUlJPUik7CiAgICAgLyogc29tZSBwb3NpeCBpbXBsZW1lbnRhdGlvbnMgdXNlIG5lZ2F0aXZlIG51bWJlcnMgdG8gaW5kaWNhdGUKICAgICAgICB0aGUgbnVtYmVyIG9mIHdhaXRpbmcgdGhyZWFkcyAqLwogICAgIGlmIChzdmFsIDwgMCkKQEAgLTUxNCwxNiArNTE0LDE2IEBACiAgICAgaWYgKHNlbV90cnl3YWl0KHNlbGYtPmhhbmRsZSkgPCAwKSB7CiAgICAgICAgIGlmIChlcnJubyA9PSBFQUdBSU4pCiAgICAgICAgICAgICBQeV9SRVRVUk5fVFJVRTsKLSAgICAgICAgcmV0dXJuIG1wX1NldEVycm9yKE5VTEwsIE1QX1NUQU5EQVJEX0VSUk9SKTsKKyAgICAgICAgcmV0dXJuIF9QeU1wX1NldEVycm9yKE5VTEwsIE1QX1NUQU5EQVJEX0VSUk9SKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoc2VtX3Bvc3Qoc2VsZi0+aGFuZGxlKSA8IDApCi0gICAgICAgICAgICByZXR1cm4gbXBfU2V0RXJyb3IoTlVMTCwgTVBfU1RBTkRBUkRfRVJST1IpOworICAgICAgICAgICAgcmV0dXJuIF9QeU1wX1NldEVycm9yKE5VTEwsIE1QX1NUQU5EQVJEX0VSUk9SKTsKICAgICAgICAgUHlfUkVUVVJOX0ZBTFNFOwogICAgIH0KICNlbHNlCiAgICAgaW50IHN2YWw7CiAgICAgaWYgKFNFTV9HRVRWQUxVRShzZWxmLT5oYW5kbGUsICZzdmFsKSA8IDApCi0gICAgICAgIHJldHVybiBtcF9TZXRFcnJvcihOVUxMLCBNUF9TVEFOREFSRF9FUlJPUik7CisgICAgICAgIHJldHVybiBfUHlNcF9TZXRFcnJvcihOVUxMLCBNUF9TVEFOREFSRF9FUlJPUik7CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygobG9uZylzdmFsID09IDApOwogI2VuZGlmCiB9CkBAIC01ODEsNyArNTgxLDcgQEAKICAqIFNlbWFwaG9yZSB0eXBlCiAgKi8KIAotUHlUeXBlT2JqZWN0IFNlbUxvY2tUeXBlID0geworUHlUeXBlT2JqZWN0IF9QeU1wX1NlbUxvY2tUeXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQogICAgIC8qIHRwX25hbWUgICAgICAgICAgICovICJfbXVsdGlwcm9jZXNzaW5nLlNlbUxvY2siLAogICAgIC8qIHRwX2Jhc2ljc2l6ZSAgICAgICovIHNpemVvZihTZW1Mb2NrT2JqZWN0KSwKZGlmZiAtLWdpdCBhL01vZHVsZXMvb3BlcmF0b3IuYyBiL01vZHVsZXMvX29wZXJhdG9yLmMKc2ltaWxhcml0eSBpbmRleCA4OSUKcmVuYW1lIGZyb20gTW9kdWxlcy9vcGVyYXRvci5jCnJlbmFtZSB0byBNb2R1bGVzL19vcGVyYXRvci5jCmluZGV4IDEyZmRhZDUuLmFiODljNmQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvb3BlcmF0b3IuYworKysgYi9Nb2R1bGVzL19vcGVyYXRvci5jCkBAIC0yMDgsNiArMjA4LDMxIEBACiAgICAgcmV0dXJuIChyZXN1bHQgPT0gMCk7CiB9CiAKK1B5RG9jX1NUUlZBUihsZW5ndGhfaGludF9fZG9jX18sCisibGVuZ3RoX2hpbnQob2JqLCBkZWZhdWx0PTApIC0+IGludFxuIgorIlJldHVybiBhbiBlc3RpbWF0ZSBvZiB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIG9iai5cbiIKKyJUaGlzIGlzIHVzZWZ1bCBmb3IgcHJlc2l6aW5nIGNvbnRhaW5lcnMgd2hlbiBidWlsZGluZyBmcm9tIGFuXG4iCisiaXRlcmFibGUuXG4iCisiXG4iCisiSWYgdGhlIG9iamVjdCBzdXBwb3J0cyBsZW4oKSwgdGhlIHJlc3VsdCB3aWxsIGJlXG4iCisiZXhhY3QuIE90aGVyd2lzZSwgaXQgbWF5IG92ZXItIG9yIHVuZGVyLWVzdGltYXRlIGJ5IGFuXG4iCisiYXJiaXRyYXJ5IGFtb3VudC4gVGhlIHJlc3VsdCB3aWxsIGJlIGFuIGludGVnZXIgPj0gMC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICpsZW5ndGhfaGludChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm9iajsKKyAgICBQeV9zc2l6ZV90IGRlZmF1bHR2YWx1ZSA9IDAsIHJlczsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98bjpsZW5ndGhfaGludCIsICZvYmosICZkZWZhdWx0dmFsdWUpKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXMgPSBQeU9iamVjdF9MZW5ndGhIaW50KG9iaiwgZGVmYXVsdHZhbHVlKTsKKyAgICBpZiAocmVzID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QocmVzKTsKK30KKworCiBQeURvY19TVFJWQVIoY29tcGFyZV9kaWdlc3RfX2RvY19fLAogImNvbXBhcmVfZGlnZXN0KGEsIGIpIC0+IGJvb2xcbiIKICJcbiIKQEAgLTI5NywxNyArMzIyLDE1IEBACiAvKiBvcGVyYXRvciBtZXRob2RzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKICNkZWZpbmUgc3BhbTEoT1AsRE9DKSB7I09QLCBPUCwgTUVUSF9WQVJBUkdTLCBQeURvY19TVFIoRE9DKX0sCi0jZGVmaW5lIHNwYW0yKE9QLEFMVE9QLERPQykgeyNPUCwgb3BfIyNPUCwgTUVUSF9WQVJBUkdTLCBQeURvY19TVFIoRE9DKX0sIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHsjQUxUT1AsIG9wXyMjT1AsIE1FVEhfVkFSQVJHUywgUHlEb2NfU1RSKERPQyl9LAorI2RlZmluZSBzcGFtMihPUCxET0MpIHsjT1AsIG9wXyMjT1AsIE1FVEhfVkFSQVJHUywgUHlEb2NfU1RSKERPQyl9LAogI2RlZmluZSBzcGFtMW8oT1AsRE9DKSB7I09QLCBPUCwgTUVUSF9PLCBQeURvY19TVFIoRE9DKX0sCi0jZGVmaW5lIHNwYW0ybyhPUCxBTFRPUCxET0MpIHsjT1AsIG9wXyMjT1AsIE1FVEhfTywgUHlEb2NfU1RSKERPQyl9LCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB7I0FMVE9QLCBvcF8jI09QLCBNRVRIX08sIFB5RG9jX1NUUihET0MpfSwKKyNkZWZpbmUgc3BhbTJvKE9QLERPQykgeyNPUCwgb3BfIyNPUCwgTUVUSF9PLCBQeURvY19TVFIoRE9DKX0sCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgb3BlcmF0b3JfbWV0aG9kc1tdID0gewogCiBzcGFtMW8odHJ1dGgsCiAgInRydXRoKGEpIC0tIFJldHVybiBUcnVlIGlmIGEgaXMgdHJ1ZSwgRmFsc2Ugb3RoZXJ3aXNlLiIpCi1zcGFtMihjb250YWlucyxfX2NvbnRhaW5zX18sCitzcGFtMihjb250YWlucywKICAiY29udGFpbnMoYSwgYikgLS0gU2FtZSBhcyBiIGluIGEgKG5vdGUgcmV2ZXJzZWQgb3BlcmFuZHMpLiIpCiBzcGFtMShpbmRleE9mLAogICJpbmRleE9mKGEsIGIpIC0tIFJldHVybiB0aGUgZmlyc3QgaW5kZXggb2YgYiBpbiBhLiIpCkBAIC0zMTYsNTYgKzMzOSw1OCBAQAogCiBzcGFtMShpc18sICJpc18oYSwgYikgLS0gU2FtZSBhcyBhIGlzIGIuIikKIHNwYW0xKGlzX25vdCwgImlzX25vdChhLCBiKSAtLSBTYW1lIGFzIGEgaXMgbm90IGIuIikKLXNwYW0ybyhpbmRleCwgX19pbmRleF9fLCAiaW5kZXgoYSkgLS0gU2FtZSBhcyBhLl9faW5kZXhfXygpIikKLXNwYW0yKGFkZCxfX2FkZF9fLCAiYWRkKGEsIGIpIC0tIFNhbWUgYXMgYSArIGIuIikKLXNwYW0yKHN1YixfX3N1Yl9fLCAic3ViKGEsIGIpIC0tIFNhbWUgYXMgYSAtIGIuIikKLXNwYW0yKG11bCxfX211bF9fLCAibXVsKGEsIGIpIC0tIFNhbWUgYXMgYSAqIGIuIikKLXNwYW0yKGZsb29yZGl2LF9fZmxvb3JkaXZfXywgImZsb29yZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvLyBiLiIpCi1zcGFtMih0cnVlZGl2LF9fdHJ1ZWRpdl9fLCAidHJ1ZWRpdihhLCBiKSAtLSBTYW1lIGFzIGEgLyBiLiIpCi1zcGFtMihtb2QsX19tb2RfXywgIm1vZChhLCBiKSAtLSBTYW1lIGFzIGEgJSBiLiIpCi1zcGFtMm8obmVnLF9fbmVnX18sICJuZWcoYSkgLS0gU2FtZSBhcyAtYS4iKQotc3BhbTJvKHBvcyxfX3Bvc19fLCAicG9zKGEpIC0tIFNhbWUgYXMgK2EuIikKLXNwYW0ybyhhYnMsX19hYnNfXywgImFicyhhKSAtLSBTYW1lIGFzIGFicyhhKS4iKQotc3BhbTJvKGludixfX2ludl9fLCAiaW52KGEpIC0tIFNhbWUgYXMgfmEuIikKLXNwYW0ybyhpbnZlcnQsX19pbnZlcnRfXywgImludmVydChhKSAtLSBTYW1lIGFzIH5hLiIpCi1zcGFtMihsc2hpZnQsX19sc2hpZnRfXywgImxzaGlmdChhLCBiKSAtLSBTYW1lIGFzIGEgPDwgYi4iKQotc3BhbTIocnNoaWZ0LF9fcnNoaWZ0X18sICJyc2hpZnQoYSwgYikgLS0gU2FtZSBhcyBhID4+IGIuIikKLXNwYW0ybyhub3RfLF9fbm90X18sICJub3RfKGEpIC0tIFNhbWUgYXMgbm90IGEuIikKLXNwYW0yKGFuZF8sX19hbmRfXywgImFuZF8oYSwgYikgLS0gU2FtZSBhcyBhICYgYi4iKQotc3BhbTIoeG9yLF9feG9yX18sICJ4b3IoYSwgYikgLS0gU2FtZSBhcyBhIF4gYi4iKQotc3BhbTIob3JfLF9fb3JfXywgIm9yXyhhLCBiKSAtLSBTYW1lIGFzIGEgfCBiLiIpCi1zcGFtMihpYWRkLF9faWFkZF9fLCAiYSA9IGlhZGQoYSwgYikgLS0gU2FtZSBhcyBhICs9IGIuIikKLXNwYW0yKGlzdWIsX19pc3ViX18sICJhID0gaXN1YihhLCBiKSAtLSBTYW1lIGFzIGEgLT0gYi4iKQotc3BhbTIoaW11bCxfX2ltdWxfXywgImEgPSBpbXVsKGEsIGIpIC0tIFNhbWUgYXMgYSAqPSBiLiIpCi1zcGFtMihpZmxvb3JkaXYsX19pZmxvb3JkaXZfXywgImEgPSBpZmxvb3JkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC8vPSBiLiIpCi1zcGFtMihpdHJ1ZWRpdixfX2l0cnVlZGl2X18sICJhID0gaXRydWVkaXYoYSwgYikgLS0gU2FtZSBhcyBhIC89IGIiKQotc3BhbTIoaW1vZCxfX2ltb2RfXywgImEgPSBpbW9kKGEsIGIpIC0tIFNhbWUgYXMgYSAlPSBiLiIpCi1zcGFtMihpbHNoaWZ0LF9faWxzaGlmdF9fLCAiYSA9IGlsc2hpZnQoYSwgYikgLS0gU2FtZSBhcyBhIDw8PSBiLiIpCi1zcGFtMihpcnNoaWZ0LF9faXJzaGlmdF9fLCAiYSA9IGlyc2hpZnQoYSwgYikgLS0gU2FtZSBhcyBhID4+PSBiLiIpCi1zcGFtMihpYW5kLF9faWFuZF9fLCAiYSA9IGlhbmQoYSwgYikgLS0gU2FtZSBhcyBhICY9IGIuIikKLXNwYW0yKGl4b3IsX19peG9yX18sICJhID0gaXhvcihhLCBiKSAtLSBTYW1lIGFzIGEgXj0gYi4iKQotc3BhbTIoaW9yLF9faW9yX18sICJhID0gaW9yKGEsIGIpIC0tIFNhbWUgYXMgYSB8PSBiLiIpCi1zcGFtMihjb25jYXQsX19jb25jYXRfXywKK3NwYW0ybyhpbmRleCwgImluZGV4KGEpIC0tIFNhbWUgYXMgYS5fX2luZGV4X18oKSIpCitzcGFtMihhZGQsICJhZGQoYSwgYikgLS0gU2FtZSBhcyBhICsgYi4iKQorc3BhbTIoc3ViLCAic3ViKGEsIGIpIC0tIFNhbWUgYXMgYSAtIGIuIikKK3NwYW0yKG11bCwgIm11bChhLCBiKSAtLSBTYW1lIGFzIGEgKiBiLiIpCitzcGFtMihmbG9vcmRpdiwgImZsb29yZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvLyBiLiIpCitzcGFtMih0cnVlZGl2LCAidHJ1ZWRpdihhLCBiKSAtLSBTYW1lIGFzIGEgLyBiLiIpCitzcGFtMihtb2QsICJtb2QoYSwgYikgLS0gU2FtZSBhcyBhICUgYi4iKQorc3BhbTJvKG5lZywgIm5lZyhhKSAtLSBTYW1lIGFzIC1hLiIpCitzcGFtMm8ocG9zLCAicG9zKGEpIC0tIFNhbWUgYXMgK2EuIikKK3NwYW0ybyhhYnMsICJhYnMoYSkgLS0gU2FtZSBhcyBhYnMoYSkuIikKK3NwYW0ybyhpbnYsICJpbnYoYSkgLS0gU2FtZSBhcyB+YS4iKQorc3BhbTJvKGludmVydCwgImludmVydChhKSAtLSBTYW1lIGFzIH5hLiIpCitzcGFtMihsc2hpZnQsICJsc2hpZnQoYSwgYikgLS0gU2FtZSBhcyBhIDw8IGIuIikKK3NwYW0yKHJzaGlmdCwgInJzaGlmdChhLCBiKSAtLSBTYW1lIGFzIGEgPj4gYi4iKQorc3BhbTJvKG5vdF8sICJub3RfKGEpIC0tIFNhbWUgYXMgbm90IGEuIikKK3NwYW0yKGFuZF8sICJhbmRfKGEsIGIpIC0tIFNhbWUgYXMgYSAmIGIuIikKK3NwYW0yKHhvciwgInhvcihhLCBiKSAtLSBTYW1lIGFzIGEgXiBiLiIpCitzcGFtMihvcl8sICJvcl8oYSwgYikgLS0gU2FtZSBhcyBhIHwgYi4iKQorc3BhbTIoaWFkZCwgImEgPSBpYWRkKGEsIGIpIC0tIFNhbWUgYXMgYSArPSBiLiIpCitzcGFtMihpc3ViLCAiYSA9IGlzdWIoYSwgYikgLS0gU2FtZSBhcyBhIC09IGIuIikKK3NwYW0yKGltdWwsICJhID0gaW11bChhLCBiKSAtLSBTYW1lIGFzIGEgKj0gYi4iKQorc3BhbTIoaWZsb29yZGl2LCAiYSA9IGlmbG9vcmRpdihhLCBiKSAtLSBTYW1lIGFzIGEgLy89IGIuIikKK3NwYW0yKGl0cnVlZGl2LCAiYSA9IGl0cnVlZGl2KGEsIGIpIC0tIFNhbWUgYXMgYSAvPSBiIikKK3NwYW0yKGltb2QsICJhID0gaW1vZChhLCBiKSAtLSBTYW1lIGFzIGEgJT0gYi4iKQorc3BhbTIoaWxzaGlmdCwgImEgPSBpbHNoaWZ0KGEsIGIpIC0tIFNhbWUgYXMgYSA8PD0gYi4iKQorc3BhbTIoaXJzaGlmdCwgImEgPSBpcnNoaWZ0KGEsIGIpIC0tIFNhbWUgYXMgYSA+Pj0gYi4iKQorc3BhbTIoaWFuZCwgImEgPSBpYW5kKGEsIGIpIC0tIFNhbWUgYXMgYSAmPSBiLiIpCitzcGFtMihpeG9yLCAiYSA9IGl4b3IoYSwgYikgLS0gU2FtZSBhcyBhIF49IGIuIikKK3NwYW0yKGlvciwgImEgPSBpb3IoYSwgYikgLS0gU2FtZSBhcyBhIHw9IGIuIikKK3NwYW0yKGNvbmNhdCwKICAiY29uY2F0KGEsIGIpIC0tIFNhbWUgYXMgYSArIGIsIGZvciBhIGFuZCBiIHNlcXVlbmNlcy4iKQotc3BhbTIoaWNvbmNhdCxfX2ljb25jYXRfXywKK3NwYW0yKGljb25jYXQsCiAgImEgPSBpY29uY2F0KGEsIGIpIC0tIFNhbWUgYXMgYSArPSBiLCBmb3IgYSBhbmQgYiBzZXF1ZW5jZXMuIikKLXNwYW0yKGdldGl0ZW0sX19nZXRpdGVtX18sCitzcGFtMihnZXRpdGVtLAogICJnZXRpdGVtKGEsIGIpIC0tIFNhbWUgYXMgYVtiXS4iKQotc3BhbTIoc2V0aXRlbSxfX3NldGl0ZW1fXywKK3NwYW0yKHNldGl0ZW0sCiAgInNldGl0ZW0oYSwgYiwgYykgLS0gU2FtZSBhcyBhW2JdID0gYy4iKQotc3BhbTIoZGVsaXRlbSxfX2RlbGl0ZW1fXywKK3NwYW0yKGRlbGl0ZW0sCiAgImRlbGl0ZW0oYSwgYikgLS0gU2FtZSBhcyBkZWwgYVtiXS4iKQotc3BhbTIocG93LF9fcG93X18sICJwb3coYSwgYikgLS0gU2FtZSBhcyBhICoqIGIuIikKLXNwYW0yKGlwb3csX19pcG93X18sICJhID0gaXBvdyhhLCBiKSAtLSBTYW1lIGFzIGEgKio9IGIuIikKLXNwYW0yKGx0LF9fbHRfXywgImx0KGEsIGIpIC0tIFNhbWUgYXMgYTxiLiIpCi1zcGFtMihsZSxfX2xlX18sICJsZShhLCBiKSAtLSBTYW1lIGFzIGE8PWIuIikKLXNwYW0yKGVxLF9fZXFfXywgImVxKGEsIGIpIC0tIFNhbWUgYXMgYT09Yi4iKQotc3BhbTIobmUsX19uZV9fLCAibmUoYSwgYikgLS0gU2FtZSBhcyBhIT1iLiIpCi1zcGFtMihndCxfX2d0X18sICJndChhLCBiKSAtLSBTYW1lIGFzIGE+Yi4iKQotc3BhbTIoZ2UsX19nZV9fLCAiZ2UoYSwgYikgLS0gU2FtZSBhcyBhPj1iLiIpCitzcGFtMihwb3csICJwb3coYSwgYikgLS0gU2FtZSBhcyBhICoqIGIuIikKK3NwYW0yKGlwb3csICJhID0gaXBvdyhhLCBiKSAtLSBTYW1lIGFzIGEgKio9IGIuIikKK3NwYW0yKGx0LCAibHQoYSwgYikgLS0gU2FtZSBhcyBhPGIuIikKK3NwYW0yKGxlLCAibGUoYSwgYikgLS0gU2FtZSBhcyBhPD1iLiIpCitzcGFtMihlcSwgImVxKGEsIGIpIC0tIFNhbWUgYXMgYT09Yi4iKQorc3BhbTIobmUsICJuZShhLCBiKSAtLSBTYW1lIGFzIGEhPWIuIikKK3NwYW0yKGd0LCAiZ3QoYSwgYikgLS0gU2FtZSBhcyBhPmIuIikKK3NwYW0yKGdlLCAiZ2UoYSwgYikgLS0gU2FtZSBhcyBhPj1iLiIpCiAKICAgICB7Il9jb21wYXJlX2RpZ2VzdCIsIChQeUNGdW5jdGlvbiljb21wYXJlX2RpZ2VzdCwgTUVUSF9WQVJBUkdTLAogICAgICBjb21wYXJlX2RpZ2VzdF9fZG9jX199LAorICAgICB7Imxlbmd0aF9oaW50IiwgKFB5Q0Z1bmN0aW9uKWxlbmd0aF9oaW50LCBNRVRIX1ZBUkFSR1MsCisgICAgIGxlbmd0aF9oaW50X19kb2NfX30sCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KIAogfTsKQEAgLTQ2MCw4ICs0ODUsOCBAQAogIml0ZW1nZXR0ZXIoaXRlbSwgLi4uKSAtLT4gaXRlbWdldHRlciBvYmplY3RcblwKIFxuXAogUmV0dXJuIGEgY2FsbGFibGUgb2JqZWN0IHRoYXQgZmV0Y2hlcyB0aGUgZ2l2ZW4gaXRlbShzKSBmcm9tIGl0cyBvcGVyYW5kLlxuXAotQWZ0ZXIsIGY9aXRlbWdldHRlcigyKSwgdGhlIGNhbGwgZihyKSByZXR1cm5zIHJbMl0uXG5cCi1BZnRlciwgZz1pdGVtZ2V0dGVyKDIsNSwzKSwgdGhlIGNhbGwgZyhyKSByZXR1cm5zIChyWzJdLCByWzVdLCByWzNdKSIpOworQWZ0ZXIgZj1pdGVtZ2V0dGVyKDIpLCB0aGUgY2FsbCBmKHIpIHJldHVybnMgclsyXS5cblwKK0FmdGVyIGc9aXRlbWdldHRlcigyLDUsMyksIHRoZSBjYWxsIGcocikgcmV0dXJucyAoclsyXSwgcls1XSwgclszXSkiKTsKIAogc3RhdGljIFB5VHlwZU9iamVjdCBpdGVtZ2V0dGVyX3R5cGUgPSB7CiAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCkBAIC03MTIsOSArNzM3LDkgQEAKICJhdHRyZ2V0dGVyKGF0dHIsIC4uLikgLS0+IGF0dHJnZXR0ZXIgb2JqZWN0XG5cCiBcblwKIFJldHVybiBhIGNhbGxhYmxlIG9iamVjdCB0aGF0IGZldGNoZXMgdGhlIGdpdmVuIGF0dHJpYnV0ZShzKSBmcm9tIGl0cyBvcGVyYW5kLlxuXAotQWZ0ZXIsIGY9YXR0cmdldHRlcignbmFtZScpLCB0aGUgY2FsbCBmKHIpIHJldHVybnMgci5uYW1lLlxuXAotQWZ0ZXIsIGc9YXR0cmdldHRlcignbmFtZScsICdkYXRlJyksIHRoZSBjYWxsIGcocikgcmV0dXJucyAoci5uYW1lLCByLmRhdGUpLlxuXAotQWZ0ZXIsIGg9YXR0cmdldHRlcignbmFtZS5maXJzdCcsICduYW1lLmxhc3QnKSwgdGhlIGNhbGwgaChyKSByZXR1cm5zXG5cCitBZnRlciBmPWF0dHJnZXR0ZXIoJ25hbWUnKSwgdGhlIGNhbGwgZihyKSByZXR1cm5zIHIubmFtZS5cblwKK0FmdGVyIGc9YXR0cmdldHRlcignbmFtZScsICdkYXRlJyksIHRoZSBjYWxsIGcocikgcmV0dXJucyAoci5uYW1lLCByLmRhdGUpLlxuXAorQWZ0ZXIgaD1hdHRyZ2V0dGVyKCduYW1lLmZpcnN0JywgJ25hbWUubGFzdCcpLCB0aGUgY2FsbCBoKHIpIHJldHVybnNcblwKIChyLm5hbWUuZmlyc3QsIHIubmFtZS5sYXN0KS4iKTsKIAogc3RhdGljIFB5VHlwZU9iamVjdCBhdHRyZ2V0dGVyX3R5cGUgPSB7CkBAIC04NDQsOCArODY5LDggQEAKICJtZXRob2RjYWxsZXIobmFtZSwgLi4uKSAtLT4gbWV0aG9kY2FsbGVyIG9iamVjdFxuXAogXG5cCiBSZXR1cm4gYSBjYWxsYWJsZSBvYmplY3QgdGhhdCBjYWxscyB0aGUgZ2l2ZW4gbWV0aG9kIG9uIGl0cyBvcGVyYW5kLlxuXAotQWZ0ZXIsIGYgPSBtZXRob2RjYWxsZXIoJ25hbWUnKSwgdGhlIGNhbGwgZihyKSByZXR1cm5zIHIubmFtZSgpLlxuXAotQWZ0ZXIsIGcgPSBtZXRob2RjYWxsZXIoJ25hbWUnLCAnZGF0ZScsIGZvbz0xKSwgdGhlIGNhbGwgZyhyKSByZXR1cm5zXG5cCitBZnRlciBmID0gbWV0aG9kY2FsbGVyKCduYW1lJyksIHRoZSBjYWxsIGYocikgcmV0dXJucyByLm5hbWUoKS5cblwKK0FmdGVyIGcgPSBtZXRob2RjYWxsZXIoJ25hbWUnLCAnZGF0ZScsIGZvbz0xKSwgdGhlIGNhbGwgZyhyKSByZXR1cm5zXG5cCiByLm5hbWUoJ2RhdGUnLCBmb289MSkuIik7CiAKIHN0YXRpYyBQeVR5cGVPYmplY3QgbWV0aG9kY2FsbGVyX3R5cGUgPSB7CkBAIC04OTIsMTIgKzkxNywxMiBAQAogfTsKIAogCi0vKiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIG1vZHVsZSAoKm11c3QqIGJlIGNhbGxlZCBQeUluaXRfb3BlcmF0b3IpICovCisvKiBJbml0aWFsaXphdGlvbiBmdW5jdGlvbiBmb3IgdGhlIG1vZHVsZSAoKm11c3QqIGJlIGNhbGxlZCBQeUluaXRfX29wZXJhdG9yKSAqLwogCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgb3BlcmF0b3Jtb2R1bGUgPSB7CiAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAotICAgICJvcGVyYXRvciIsCisgICAgIl9vcGVyYXRvciIsCiAgICAgb3BlcmF0b3JfZG9jLAogICAgIC0xLAogICAgIG9wZXJhdG9yX21ldGhvZHMsCkBAIC05MDgsNyArOTMzLDcgQEAKIH07CiAKIFB5TU9ESU5JVF9GVU5DCi1QeUluaXRfb3BlcmF0b3Iodm9pZCkKK1B5SW5pdF9fb3BlcmF0b3Iodm9pZCkKIHsKICAgICBQeU9iamVjdCAqbTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fcGlja2xlLmMgYi9Nb2R1bGVzL19waWNrbGUuYwppbmRleCBhOGQ2Njg0Li40NDNmYmUyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19waWNrbGUuYworKysgYi9Nb2R1bGVzL19waWNrbGUuYwpAQCAtMTg3Myw2MyArMTg3Myw5NyBAQAogfQogCiBzdGF0aWMgaW50Cit3cml0ZV91dGY4KFBpY2tsZXJPYmplY3QgKnNlbGYsIGNoYXIgKmRhdGEsIFB5X3NzaXplX3Qgc2l6ZSkKK3sKKyAgICBjaGFyIHBkYXRhWzVdOworCisjaWYgU0laRU9GX1NJWkVfVCA+IDQKKyAgICBpZiAoc2l6ZSA+IDB4ZmZmZmZmZmZVTCkgeworICAgICAgICAvKiBzdHJpbmcgdG9vIGxhcmdlICovCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImNhbm5vdCBzZXJpYWxpemUgYSBzdHJpbmcgbGFyZ2VyIHRoYW4gNEdpQiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorI2VuZGlmCisKKyAgICBwZGF0YVswXSA9IEJJTlVOSUNPREU7CisgICAgcGRhdGFbMV0gPSAodW5zaWduZWQgY2hhcikoc2l6ZSAmIDB4ZmYpOworICAgIHBkYXRhWzJdID0gKHVuc2lnbmVkIGNoYXIpKChzaXplID4+IDgpICYgMHhmZik7CisgICAgcGRhdGFbM10gPSAodW5zaWduZWQgY2hhcikoKHNpemUgPj4gMTYpICYgMHhmZik7CisgICAgcGRhdGFbNF0gPSAodW5zaWduZWQgY2hhcikoKHNpemUgPj4gMjQpICYgMHhmZik7CisKKyAgICBpZiAoX1BpY2tsZXJfV3JpdGUoc2VsZiwgcGRhdGEsIHNpemVvZihwZGF0YSkpIDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKF9QaWNrbGVyX1dyaXRlKHNlbGYsIGRhdGEsIHNpemUpIDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3dyaXRlX3VuaWNvZGVfYmluYXJ5KFBpY2tsZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCit7CisgICAgUHlPYmplY3QgKmVuY29kZWQgPSBOVUxMOworICAgIFB5X3NzaXplX3Qgc2l6ZTsKKyAgICBjaGFyICpkYXRhOworICAgIGludCByOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvYmopKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBkYXRhID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUob2JqLCAmc2l6ZSk7CisgICAgaWYgKGRhdGEgIT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIHdyaXRlX3V0Zjgoc2VsZiwgZGF0YSwgc2l6ZSk7CisKKyAgICAvKiBJc3N1ZSAjODM4MzogZm9yIHN0cmluZ3Mgd2l0aCBsb25lIHN1cnJvZ2F0ZXMsIGZhbGxiYWNrIG9uIHRoZQorICAgICAgICJzdXJyb2dhdGVwYXNzIiBlcnJvciBoYW5kbGVyLiAqLworICAgIFB5RXJyX0NsZWFyKCk7CisgICAgZW5jb2RlZCA9IFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcob2JqLCAidXRmLTgiLCAic3Vycm9nYXRlcGFzcyIpOworICAgIGlmIChlbmNvZGVkID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHIgPSB3cml0ZV91dGY4KHNlbGYsIFB5Qnl0ZXNfQVNfU1RSSU5HKGVuY29kZWQpLAorICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUoZW5jb2RlZCkpOworICAgIFB5X0RFQ1JFRihlbmNvZGVkKTsKKyAgICByZXR1cm4gcjsKK30KKworc3RhdGljIGludAogc2F2ZV91bmljb2RlKFBpY2tsZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCiB7Ci0gICAgUHlfc3NpemVfdCBzaXplOwotICAgIFB5T2JqZWN0ICplbmNvZGVkID0gTlVMTDsKLQogICAgIGlmIChzZWxmLT5iaW4pIHsKLSAgICAgICAgY2hhciBwZGF0YVs1XTsKLQotICAgICAgICBlbmNvZGVkID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhvYmosICJ1dGYtOCIsICJzdXJyb2dhdGVwYXNzIik7Ci0gICAgICAgIGlmIChlbmNvZGVkID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKGVuY29kZWQpOwotICAgICAgICBpZiAoc2l6ZSA+IDB4ZmZmZmZmZmZMKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IHNlcmlhbGl6ZSBhIHN0cmluZyBsYXJnZXIgdGhhbiA0IEdpQiIpOwotICAgICAgICAgICAgZ290byBlcnJvcjsgICAgICAgICAgLyogc3RyaW5nIHRvbyBsYXJnZSAqLwotICAgICAgICB9Ci0KLSAgICAgICAgcGRhdGFbMF0gPSBCSU5VTklDT0RFOwotICAgICAgICBwZGF0YVsxXSA9ICh1bnNpZ25lZCBjaGFyKShzaXplICYgMHhmZik7Ci0gICAgICAgIHBkYXRhWzJdID0gKHVuc2lnbmVkIGNoYXIpKChzaXplID4+IDgpICYgMHhmZik7Ci0gICAgICAgIHBkYXRhWzNdID0gKHVuc2lnbmVkIGNoYXIpKChzaXplID4+IDE2KSAmIDB4ZmYpOwotICAgICAgICBwZGF0YVs0XSA9ICh1bnNpZ25lZCBjaGFyKSgoc2l6ZSA+PiAyNCkgJiAweGZmKTsKLQotICAgICAgICBpZiAoX1BpY2tsZXJfV3JpdGUoc2VsZiwgcGRhdGEsIDUpIDwgMCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICAgICAgaWYgKF9QaWNrbGVyX1dyaXRlKHNlbGYsIFB5Qnl0ZXNfQVNfU1RSSU5HKGVuY29kZWQpLCBzaXplKSA8IDApCi0gICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAod3JpdGVfdW5pY29kZV9iaW5hcnkoc2VsZiwgb2JqKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGVsc2UgeworICAgICAgICBQeU9iamVjdCAqZW5jb2RlZDsKKyAgICAgICAgUHlfc3NpemVfdCBzaXplOwogICAgICAgICBjb25zdCBjaGFyIHVuaWNvZGVfb3AgPSBVTklDT0RFOwogCiAgICAgICAgIGVuY29kZWQgPSByYXdfdW5pY29kZV9lc2NhcGUob2JqKTsKICAgICAgICAgaWYgKGVuY29kZWQgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICByZXR1cm4gLTE7CiAKLSAgICAgICAgaWYgKF9QaWNrbGVyX1dyaXRlKHNlbGYsICZ1bmljb2RlX29wLCAxKSA8IDApCi0gICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAoX1BpY2tsZXJfV3JpdGUoc2VsZiwgJnVuaWNvZGVfb3AsIDEpIDwgMCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGVuY29kZWQpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CiAKICAgICAgICAgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoZW5jb2RlZCk7Ci0gICAgICAgIGlmIChfUGlja2xlcl9Xcml0ZShzZWxmLCBQeUJ5dGVzX0FTX1NUUklORyhlbmNvZGVkKSwgc2l6ZSkgPCAwKQotICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgaWYgKF9QaWNrbGVyX1dyaXRlKHNlbGYsIFB5Qnl0ZXNfQVNfU1RSSU5HKGVuY29kZWQpLCBzaXplKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihlbmNvZGVkKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYoZW5jb2RlZCk7CiAKICAgICAgICAgaWYgKF9QaWNrbGVyX1dyaXRlKHNlbGYsICJcbiIsIDEpIDwgMCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGlmIChtZW1vX3B1dChzZWxmLCBvYmopIDwgMCkKLSAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgUHlfREVDUkVGKGVuY29kZWQpOwogICAgIHJldHVybiAwOwotCi0gIGVycm9yOgotICAgIFB5X1hERUNSRUYoZW5jb2RlZCk7Ci0gICAgcmV0dXJuIC0xOwogfQogCiAvKiBBIGhlbHBlciBmb3Igc2F2ZV90dXBsZS4gIFB1c2ggdGhlIGxlbiBlbGVtZW50cyBpbiB0dXBsZSB0IG9uIHRoZSBzdGFjay4gKi8KQEAgLTQxNzEsMzYgKzQyMDUsMjMgQEAKIAogICAgIGlmICgobGVuID0gX1VucGlja2xlcl9SZWFkbGluZShzZWxmLCAmcykpIDwgMCkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmIChsZW4gPCAyKQotICAgICAgICByZXR1cm4gYmFkX3JlYWRsaW5lKCk7Ci0gICAgaWYgKChzID0gc3RyZHVwKHMpKSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KKyAgICAvKiBTdHJpcCB0aGUgbmV3bGluZSAqLworICAgIGxlbi0tOwogICAgIC8qIFN0cmlwIG91dGVybW9zdCBxdW90ZXMgKi8KLSAgICB3aGlsZSAobGVuID4gMCAmJiBzW2xlbiAtIDFdIDw9ICcgJykKLSAgICAgICAgbGVuLS07Ci0gICAgaWYgKGxlbiA+IDEgJiYgc1swXSA9PSAnIicgJiYgc1tsZW4gLSAxXSA9PSAnIicpIHsKLSAgICAgICAgc1tsZW4gLSAxXSA9ICdcMCc7Ci0gICAgICAgIHAgPSBzICsgMTsKLSAgICAgICAgbGVuIC09IDI7Ci0gICAgfQotICAgIGVsc2UgaWYgKGxlbiA+IDEgJiYgc1swXSA9PSAnXCcnICYmIHNbbGVuIC0gMV0gPT0gJ1wnJykgewotICAgICAgICBzW2xlbiAtIDFdID0gJ1wwJzsKKyAgICBpZiAobGVuID49IDIgJiYgc1swXSA9PSBzW2xlbiAtIDFdICYmIChzWzBdID09ICdcJycgfHwgc1swXSA9PSAnIicpKSB7CiAgICAgICAgIHAgPSBzICsgMTsKICAgICAgICAgbGVuIC09IDI7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBmcmVlKHMpOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImluc2VjdXJlIHN0cmluZyBwaWNrbGUiKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFVucGlja2xpbmdFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgU1RSSU5HIG9wY29kZSBhcmd1bWVudCBtdXN0IGJlIHF1b3RlZCIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQorICAgIGFzc2VydChsZW4gPj0gMCk7CiAKICAgICAvKiBVc2UgdGhlIFB5Qnl0ZXMgQVBJIHRvIGRlY29kZSB0aGUgc3RyaW5nLCBzaW5jZSB0aGF0IGlzIHdoYXQgaXMgdXNlZAogICAgICAgIHRvIGVuY29kZSwgYW5kIHRoZW4gY29lcmNlIHRoZSByZXN1bHQgdG8gVW5pY29kZS4gKi8KICAgICBieXRlcyA9IFB5Qnl0ZXNfRGVjb2RlRXNjYXBlKHAsIGxlbiwgTlVMTCwgMCwgTlVMTCk7Ci0gICAgZnJlZShzKTsKICAgICBpZiAoYnl0ZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdChieXRlcywgc2VsZi0+ZW5jb2RpbmcsIHNlbGYtPmVycm9ycyk7CkBAIC00MjI2LDggKzQyNDcsNyBAQAogICAgIGlmICh4IDwgMCkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfT3ZlcmZsb3dFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJCSU5CWVRFUyBleGNlZWRzIHN5c3RlbSdzIG1heGltdW0gc2l6ZSBvZiAlemQgYnl0ZXMiLAotICAgICAgICAgICAgICAgICAgICAgUFlfU1NJWkVfVF9NQVgKLSAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICAgICAgIFBZX1NTSVpFX1RfTUFYKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApAQCAtNDM1MSw4ICs0MzcxLDcgQEAKICAgICBpZiAoc2l6ZSA8IDApIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX092ZXJmbG93RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAiQklOVU5JQ09ERSBleGNlZWRzIHN5c3RlbSdzIG1heGltdW0gc2l6ZSBvZiAlemQgYnl0ZXMiLAotICAgICAgICAgICAgICAgICAgICAgUFlfU1NJWkVfVF9NQVgKLSAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICAgICAgIFBZX1NTSVpFX1RfTUFYKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fcG9zaXhzdWJwcm9jZXNzLmMgYi9Nb2R1bGVzL19wb3NpeHN1YnByb2Nlc3MuYwppbmRleCAwN2Q3MDk2Li5jNGE2YjdiIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19wb3NpeHN1YnByb2Nlc3MuYworKysgYi9Nb2R1bGVzL19wb3NpeHN1YnByb2Nlc3MuYwpAQCAtNDkxLDcgKzQ5MSw3IEBACiAgICAgICAgIC8qIFdlIGNhbid0IGNhbGwgc3RyZXJyb3Ioc2F2ZWRfZXJybm8pLiAgSXQgaXMgbm90IGFzeW5jIHNpZ25hbCBzYWZlLgogICAgICAgICAgKiBUaGUgcGFyZW50IHByb2Nlc3Mgd2lsbCBsb29rIHRoZSBlcnJvciBtZXNzYWdlIHVwLiAqLwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHVudXNlZCA9IHdyaXRlKGVycnBpcGVfd3JpdGUsICJSdW50aW1lRXJyb3I6MDoiLCAxNSk7CisgICAgICAgIHVudXNlZCA9IHdyaXRlKGVycnBpcGVfd3JpdGUsICJTdWJwcm9jZXNzRXJyb3I6MDoiLCAxOCk7CiAgICAgICAgIHVudXNlZCA9IHdyaXRlKGVycnBpcGVfd3JpdGUsIGVycl9tc2csIHN0cmxlbihlcnJfbXNnKSk7CiAgICAgfQogICAgIGlmICh1bnVzZWQpIHJldHVybjsgIC8qIHNpbGx5PyB5ZXMhIGF2b2lkcyBnY2MgY29tcGlsZXIgd2FybmluZy4gKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvX3JhbmRvbW1vZHVsZS5jIGIvTW9kdWxlcy9fcmFuZG9tbW9kdWxlLmMKaW5kZXggNjU0MGFiOS4uYTcyOTgxNyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fcmFuZG9tbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fcmFuZG9tbW9kdWxlLmMKQEAgLTE2OCw5ICsxNjgsOSBAQAogLyogaW5pdF9rZXkgaXMgdGhlIGFycmF5IGZvciBpbml0aWFsaXppbmcga2V5cyAqLwogLyoga2V5X2xlbmd0aCBpcyBpdHMgbGVuZ3RoICovCiBzdGF0aWMgUHlPYmplY3QgKgotaW5pdF9ieV9hcnJheShSYW5kb21PYmplY3QgKnNlbGYsIHVuc2lnbmVkIGxvbmcgaW5pdF9rZXlbXSwgdW5zaWduZWQgbG9uZyBrZXlfbGVuZ3RoKQoraW5pdF9ieV9hcnJheShSYW5kb21PYmplY3QgKnNlbGYsIHVuc2lnbmVkIGxvbmcgaW5pdF9rZXlbXSwgc2l6ZV90IGtleV9sZW5ndGgpCiB7Ci0gICAgdW5zaWduZWQgaW50IGksIGosIGs7ICAgICAgIC8qIHdhcyBzaWduZWQgaW4gdGhlIG9yaWdpbmFsIGNvZGUuIFJESCAxMi8xNi8yMDAyICovCisgICAgc2l6ZV90IGksIGosIGs7ICAgICAgIC8qIHdhcyBzaWduZWQgaW4gdGhlIG9yaWdpbmFsIGNvZGUuIFJESCAxMi8xNi8yMDAyICovCiAgICAgdW5zaWduZWQgbG9uZyAqbXQ7CiAKICAgICBtdCA9IHNlbGYtPnN0YXRlOwpAQCAtMjA3LDE0ICsyMDcsMTEgQEAKIHJhbmRvbV9zZWVkKFJhbmRvbU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7ICAgICAgICAgICAgLyogZ3VpbHR5IHVudGlsIHByb3ZlZCBpbm5vY2VudCAqLwotICAgIFB5T2JqZWN0ICptYXNrbG93ZXIgPSBOVUxMOwotICAgIFB5T2JqZWN0ICp0aGlydHl0d28gPSBOVUxMOwogICAgIFB5T2JqZWN0ICpuID0gTlVMTDsKLSAgICB1bnNpZ25lZCBsb25nICpuZXdfa2V5LCAqa2V5ID0gTlVMTDsKLSAgICB1bnNpZ25lZCBsb25nIGtleW1heDsgICAgICAgICAgICAgICAvKiAjIG9mIGFsbG9jYXRlZCBzbG90cyBpbiBrZXkgKi8KLSAgICB1bnNpZ25lZCBsb25nIGtleXVzZWQ7ICAgICAgICAgICAgICAvKiAjIG9mIHVzZWQgc2xvdHMgaW4ga2V5ICovCi0gICAgaW50IGVycjsKLQorICAgIHVuc2lnbmVkIGxvbmcgKmtleSA9IE5VTEw7CisgICAgdW5zaWduZWQgY2hhciAqa2V5X2FzX2J5dGVzID0gTlVMTDsKKyAgICBzaXplX3QgYml0cywga2V5dXNlZCwgaTsKKyAgICBpbnQgcmVzOwogICAgIFB5T2JqZWN0ICphcmcgPSBOVUxMOwogCiAgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic2VlZCIsIDAsIDEsICZhcmcpKQpAQCAtMjQzLDY5ICsyNDAsNDMgQEAKICAgICBpZiAobiA9PSBOVUxMKQogICAgICAgICBnb3RvIERvbmU7CiAKLSAgICAvKiBOb3cgc3BsaXQgbiBpbnRvIDMyLWJpdCBjaHVua3MsIGZyb20gdGhlIHJpZ2h0LiAgRWFjaCBwaWVjZSBpcwotICAgICAqIHN0b3JlZCBpbnRvIGtleSwgd2hpY2ggaGFzIGEgY2FwYWNpdHkgb2Yga2V5bWF4IGNodW5rcywgb2Ygd2hpY2gKLSAgICAgKiBrZXl1c2VkIGFyZSBmaWxsZWQuICBBbGFzLCB0aGUgcmVwZWF0ZWQgc2hpZnRpbmcgbWFrZXMgdGhpcyBhCi0gICAgICogcXVhZHJhdGljLXRpbWUgYWxnb3JpdGhtOyB3ZSdkIHJlYWxseSBsaWtlIHRvIHVzZQotICAgICAqIF9QeUxvbmdfQXNCeXRlQXJyYXkgaGVyZSwgYnV0IHRoZW4gd2UnZCBoYXZlIHRvIGJyZWFrIGludG8gdGhlCi0gICAgICogbG9uZyByZXByZXNlbnRhdGlvbiB0byBmaWd1cmUgb3V0IGhvdyBiaWcgYW4gYXJyYXkgd2FzIG5lZWRlZAotICAgICAqIGluIGFkdmFuY2UuCi0gICAgICovCi0gICAga2V5bWF4ID0gODsgICAgICAgICAvKiBhcmJpdHJhcnk7IGdyb3dzIGxhdGVyIGlmIG5lZWRlZCAqLwotICAgIGtleXVzZWQgPSAwOwotICAgIGtleSA9ICh1bnNpZ25lZCBsb25nICopUHlNZW1fTWFsbG9jKGtleW1heCAqIHNpemVvZigqa2V5KSk7Ci0gICAgaWYgKGtleSA9PSBOVUxMKQorICAgIC8qIE5vdyBzcGxpdCBuIGludG8gMzItYml0IGNodW5rcywgZnJvbSB0aGUgcmlnaHQuICovCisgICAgYml0cyA9IF9QeUxvbmdfTnVtQml0cyhuKTsKKyAgICBpZiAoYml0cyA9PSAoc2l6ZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIGdvdG8gRG9uZTsKIAotICAgIG1hc2tsb3dlciA9IFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKDB4ZmZmZmZmZmZVKTsKLSAgICBpZiAobWFza2xvd2VyID09IE5VTEwpCi0gICAgICAgIGdvdG8gRG9uZTsKLSAgICB0aGlydHl0d28gPSBQeUxvbmdfRnJvbUxvbmcoMzJMKTsKLSAgICBpZiAodGhpcnR5dHdvID09IE5VTEwpCi0gICAgICAgIGdvdG8gRG9uZTsKLSAgICB3aGlsZSAoKGVycj1QeU9iamVjdF9Jc1RydWUobikpKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpuZXduOwotICAgICAgICBQeU9iamVjdCAqcHljaHVuazsKLSAgICAgICAgdW5zaWduZWQgbG9uZyBjaHVuazsKKyAgICAvKiBGaWd1cmUgb3V0IGhvdyBtYW55IDMyLWJpdCBjaHVua3MgdGhpcyBnaXZlcyB1cy4gKi8KKyAgICBrZXl1c2VkID0gYml0cyA9PSAwID8gMSA6IChiaXRzIC0gMSkgLyAzMiArIDE7CiAKLSAgICAgICAgaWYgKGVyciA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gRG9uZTsKLSAgICAgICAgcHljaHVuayA9IFB5TnVtYmVyX0FuZChuLCBtYXNrbG93ZXIpOwotICAgICAgICBpZiAocHljaHVuayA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBEb25lOwotICAgICAgICBjaHVuayA9IFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZyhweWNodW5rKTsKLSAgICAgICAgUHlfREVDUkVGKHB5Y2h1bmspOwotICAgICAgICBpZiAoY2h1bmsgPT0gKHVuc2lnbmVkIGxvbmcpLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgIGdvdG8gRG9uZTsKLSAgICAgICAgbmV3biA9IFB5TnVtYmVyX1JzaGlmdChuLCB0aGlydHl0d28pOwotICAgICAgICBpZiAobmV3biA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBEb25lOwotICAgICAgICBQeV9ERUNSRUYobik7Ci0gICAgICAgIG4gPSBuZXduOwotICAgICAgICBpZiAoa2V5dXNlZCA+PSBrZXltYXgpIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYmlnZ2VyID0ga2V5bWF4IDw8IDE7Ci0gICAgICAgICAgICBpZiAoKGJpZ2dlciA+PiAxKSAhPSBrZXltYXggfHwKLSAgICAgICAgICAgICAgICBiaWdnZXIgPiBQWV9TU0laRV9UX01BWCAvIHNpemVvZigqa2V5KSkgewotICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgICAgICAgICAgZ290byBEb25lOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgbmV3X2tleSA9ICh1bnNpZ25lZCBsb25nICopUHlNZW1fUmVhbGxvYyhrZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWdnZXIgKiBzaXplb2YoKmtleSkpOwotICAgICAgICAgICAgaWYgKG5ld19rZXkgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIERvbmU7Ci0gICAgICAgICAgICBrZXkgPSBuZXdfa2V5OwotICAgICAgICAgICAga2V5bWF4ID0gYmlnZ2VyOwotICAgICAgICB9Ci0gICAgICAgIGFzc2VydChrZXl1c2VkIDwga2V5bWF4KTsKLSAgICAgICAga2V5W2tleXVzZWQrK10gPSBjaHVuazsKKyAgICAvKiBDb252ZXJ0IHNlZWQgdG8gYnl0ZSBzZXF1ZW5jZS4gKi8KKyAgICBrZXlfYXNfYnl0ZXMgPSAodW5zaWduZWQgY2hhciAqKVB5TWVtX01hbGxvYygoc2l6ZV90KTQgKiBrZXl1c2VkKTsKKyAgICBpZiAoa2V5X2FzX2J5dGVzID09IE5VTEwpCisgICAgICAgIGdvdG8gRG9uZTsKKyAgICByZXMgPSBfUHlMb25nX0FzQnl0ZUFycmF5KChQeUxvbmdPYmplY3QgKiluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5X2FzX2J5dGVzLCBrZXl1c2VkICogNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsICAvKiBsaXR0bGUtZW5kaWFuICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsgLyogdW5zaWduZWQgKi8KKyAgICBpZiAocmVzID09IC0xKSB7CisgICAgICAgIFB5TWVtX0ZyZWUoa2V5X2FzX2J5dGVzKTsKKyAgICAgICAgZ290byBEb25lOwogICAgIH0KIAotICAgIGlmIChrZXl1c2VkID09IDApCi0gICAgICAgIGtleVtrZXl1c2VkKytdID0gMFVMOworICAgIC8qIEZpbGwgYXJyYXkgb2YgdW5zaWduZWQgbG9uZ3MgZnJvbSBieXRlIHNlcXVlbmNlLiAqLworICAgIGtleSA9ICh1bnNpZ25lZCBsb25nICopUHlNZW1fTWFsbG9jKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIGtleXVzZWQpOworICAgIGlmIChrZXkgPT0gTlVMTCkgeworICAgICAgICBQeU1lbV9GcmVlKGtleV9hc19ieXRlcyk7CisgICAgICAgIGdvdG8gRG9uZTsKKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IGtleXVzZWQ7IGkrKykgeworICAgICAgICBrZXlbaV0gPQorICAgICAgICAgICAgKCh1bnNpZ25lZCBsb25nKWtleV9hc19ieXRlc1s0KmkgKyAwXSA8PCAwKSArCisgICAgICAgICAgICAoKHVuc2lnbmVkIGxvbmcpa2V5X2FzX2J5dGVzWzQqaSArIDFdIDw8IDgpICsKKyAgICAgICAgICAgICgodW5zaWduZWQgbG9uZylrZXlfYXNfYnl0ZXNbNCppICsgMl0gPDwgMTYpICsKKyAgICAgICAgICAgICgodW5zaWduZWQgbG9uZylrZXlfYXNfYnl0ZXNbNCppICsgM10gPDwgMjQpOworICAgIH0KKyAgICBQeU1lbV9GcmVlKGtleV9hc19ieXRlcyk7CiAgICAgcmVzdWx0ID0gaW5pdF9ieV9hcnJheShzZWxmLCBrZXksIGtleXVzZWQpOwogRG9uZToKLSAgICBQeV9YREVDUkVGKG1hc2tsb3dlcik7Ci0gICAgUHlfWERFQ1JFRih0aGlydHl0d28pOwogICAgIFB5X1hERUNSRUYobik7CiAgICAgUHlNZW1fRnJlZShrZXkpOwogICAgIHJldHVybiByZXN1bHQ7CkBAIC0zODksNiArMzYwLDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisgICAgaWYgKGsgPD0gMzIpICAvKiBGYXN0IHBhdGggKi8KKyAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKGdlbnJhbmRfaW50MzIoc2VsZikgPj4gKDMyIC0gaykpOworCiAgICAgYnl0ZXMgPSAoKGsgLSAxKSAvIDMyICsgMSkgKiA0OwogICAgIGJ5dGVhcnJheSA9ICh1bnNpZ25lZCBjaGFyICopUHlNZW1fTWFsbG9jKGJ5dGVzKTsKICAgICBpZiAoYnl0ZWFycmF5ID09IE5VTEwpIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NoYTMvY2xlYW51cC5weSBiL01vZHVsZXMvX3NoYTMvY2xlYW51cC5weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hYWJjYjA0Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9jbGVhbnVwLnB5CkBAIC0wLDAgKzEsNDkgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTIgICBDaHJpc3RpYW4gSGVpbWVzIChjaHJpc3RpYW5AcHl0aG9uLm9yZykKKyMgTGljZW5zZWQgdG8gUFNGIHVuZGVyIGEgQ29udHJpYnV0b3IgQWdyZWVtZW50LgorIworIyBjbGVhbnVwIEtlY2NhayBzb3VyY2VzCisKK2ltcG9ydCBvcworaW1wb3J0IHJlCisKK0NQUDEgPSByZS5jb21waWxlKCJeLy8oLiopIikKK0NQUDIgPSByZS5jb21waWxlKCJcIC8vKC4qKSIpCisKK1NUQVRJQ1MgPSAoInZvaWQgIiwgImludCAiLCAiSGFzaFJldHVybiAiLCAiY29uc3QgVUlOVDY0ICIsICJVSU5UMTYgIikKKworSEVSRSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxlX18pKQorS0VDQ0FLID0gb3MucGF0aC5qb2luKEhFUkUsICJrZWNjYWsiKQorCitkZWYgZ2V0ZmlsZXMoKToKKyAgICBmb3IgbmFtZSBpbiBvcy5saXN0ZGlyKEtFQ0NBSyk6CisgICAgICAgIG5hbWUgPSBvcy5wYXRoLmpvaW4oS0VDQ0FLLCBuYW1lKQorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShuYW1lKToKKyAgICAgICAgICAgIHlpZWxkIG5hbWUKKworZGVmIGNsZWFudXAoZik6CisgICAgYnVmID0gW10KKyAgICBmb3IgbGluZSBpbiBmOgorICAgICAgICAjIG1hcmsgYWxsIGZ1bmN0aW9ucyBhbmQgZ2xvYmFsIGRhdGEgYXMgc3RhdGljCisgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aChTVEFUSUNTKToKKyAgICAgICAgICAgIGJ1Zi5hcHBlbmQoInN0YXRpYyAiICsgbGluZSkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICMgcmVtb3ZlIFVJTlQ2NCB0eXBlZGVmLCB3ZSBoYXZlIG91ciBvd24KKyAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJ0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQiKToKKyAgICAgICAgICAgIGJ1Zi5hcHBlbmQoIi8qICVzICovXG4iICUgbGluZS5zdHJpcCgpKQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgIyByZW1vdmUgI2luY2x1ZGUgImJyZ19lbmRpYW4uaCIKKyAgICAgICAgaWYgImJyZ19lbmRpYW4uaCIgaW4gbGluZToKKyAgICAgICAgICAgIGJ1Zi5hcHBlbmQoIi8qICVzICovXG4iICUgbGluZS5zdHJpcCgpKQorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgIyB0cmFuc2Zvcm0gQysrIGNvbW1lbnRzIGludG8gQU5TSSBDIGNvbW1lbnRzCisgICAgICAgIGxpbmUgPSBDUFAxLnN1YihyIi8qIFwxICovIiwgbGluZSkKKyAgICAgICAgbGluZSA9IENQUDIuc3ViKHIiIC8qIFwxICovIiwgbGluZSkKKyAgICAgICAgYnVmLmFwcGVuZChsaW5lKQorICAgIHJldHVybiAiIi5qb2luKGJ1ZikKKworZm9yIG5hbWUgaW4gZ2V0ZmlsZXMoKToKKyAgICB3aXRoIG9wZW4obmFtZSkgYXMgZjoKKyAgICAgICAgcmVzID0gY2xlYW51cChmKQorICAgIHdpdGggb3BlbihuYW1lLCAidyIpIGFzIGY6CisgICAgICAgIGYud3JpdGUocmVzKQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLXJ2ay5tYWNyb3MgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtMzItcnZrLm1hY3JvcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGM5MDI5Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLXJ2ay5tYWNyb3MKQEAgLTAsMCArMSw1NTUgQEAKKy8qCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgUm9ubnkgVmFuIEtlZXIsCitoZXJlYnkgZGVub3RlZCBhcyAidGhlIGltcGxlbWVudGVyIi4KKworVG8gdGhlIGV4dGVudCBwb3NzaWJsZSB1bmRlciBsYXcsIHRoZSBpbXBsZW1lbnRlciBoYXMgd2FpdmVkIGFsbCBjb3B5cmlnaHQKK2FuZCByZWxhdGVkIG9yIG5laWdoYm9yaW5nIHJpZ2h0cyB0byB0aGUgc291cmNlIGNvZGUgaW4gdGhpcyBmaWxlLgoraHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworKi8KKworc3RhdGljIGNvbnN0IFVJTlQzMiBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzX2ludDJbMioyNF0gPQoreworICAgIDB4MDAwMDAwMDFVTCwgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHgwMDAwMDA4OVVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwMDA4YlVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwODA4MFVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHgwMDAwMDA4YlVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHgwMDAwODAwMFVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHg4MDAwODA4OFVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHg4MDAwMDA4MlVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHgwMDAwMDAwYlVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHgwMDAwMDAwYVVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHgwMDAwODA4MlVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHgwMDAwODAwM1VMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHgwMDAwODA4YlVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHg4MDAwMDAwYlVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHg4MDAwMDA4YVVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHg4MDAwMDA4MVVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwMDA4MVVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwMDAwOFVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHgwMDAwMDA4M1VMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwODAwM1VMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHg4MDAwODA4OFVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwMDA4OFVMLAorICAgIDB4MDAwMDAwMDFVTCwgICAgMHgwMDAwODAwMFVMLAorICAgIDB4MDAwMDAwMDBVTCwgICAgMHg4MDAwODA4MlVMCit9OworCisjdW5kZWYgcm91bmRzCisKKyNkZWZpbmUgcm91bmRzIFwKK3sgXAorICAgIFVJTlQzMiBEYTAsIERlMCwgRGkwLCBEbzAsIER1MDsgXAorICAgIFVJTlQzMiBEYTEsIERlMSwgRGkxLCBEbzEsIER1MTsgXAorICAgIFVJTlQzMiBCYSwgQmUsIEJpLCBCbywgQnU7IFwKKyAgICBVSU5UMzIgQWJhMCwgQWJlMCwgQWJpMCwgQWJvMCwgQWJ1MDsgXAorICAgIFVJTlQzMiBBYmExLCBBYmUxLCBBYmkxLCBBYm8xLCBBYnUxOyBcCisgICAgVUlOVDMyIEFnYTAsIEFnZTAsIEFnaTAsIEFnbzAsIEFndTA7IFwKKyAgICBVSU5UMzIgQWdhMSwgQWdlMSwgQWdpMSwgQWdvMSwgQWd1MTsgXAorICAgIFVJTlQzMiBBa2EwLCBBa2UwLCBBa2kwLCBBa28wLCBBa3UwOyBcCisgICAgVUlOVDMyIEFrYTEsIEFrZTEsIEFraTEsIEFrbzEsIEFrdTE7IFwKKyAgICBVSU5UMzIgQW1hMCwgQW1lMCwgQW1pMCwgQW1vMCwgQW11MDsgXAorICAgIFVJTlQzMiBBbWExLCBBbWUxLCBBbWkxLCBBbW8xLCBBbXUxOyBcCisgICAgVUlOVDMyIEFzYTAsIEFzZTAsIEFzaTAsIEFzbzAsIEFzdTA7IFwKKyAgICBVSU5UMzIgQXNhMSwgQXNlMSwgQXNpMSwgQXNvMSwgQXN1MTsgXAorICAgIFVJTlQzMiBDdywgQ3gsIEN5LCBDejsgXAorICAgIFVJTlQzMiBFYmEwLCBFYmUwLCBFYmkwLCBFYm8wLCBFYnUwOyBcCisgICAgVUlOVDMyIEViYTEsIEViZTEsIEViaTEsIEVibzEsIEVidTE7IFwKKyAgICBVSU5UMzIgRWdhMCwgRWdlMCwgRWdpMCwgRWdvMCwgRWd1MDsgXAorICAgIFVJTlQzMiBFZ2ExLCBFZ2UxLCBFZ2kxLCBFZ28xLCBFZ3UxOyBcCisgICAgVUlOVDMyIEVrYTAsIEVrZTAsIEVraTAsIEVrbzAsIEVrdTA7IFwKKyAgICBVSU5UMzIgRWthMSwgRWtlMSwgRWtpMSwgRWtvMSwgRWt1MTsgXAorICAgIFVJTlQzMiBFbWEwLCBFbWUwLCBFbWkwLCBFbW8wLCBFbXUwOyBcCisgICAgVUlOVDMyIEVtYTEsIEVtZTEsIEVtaTEsIEVtbzEsIEVtdTE7IFwKKyAgICBVSU5UMzIgRXNhMCwgRXNlMCwgRXNpMCwgRXNvMCwgRXN1MDsgXAorICAgIFVJTlQzMiBFc2ExLCBFc2UxLCBFc2kxLCBFc28xLCBFc3UxOyBcCisJY29uc3QgVUlOVDMyICogcFJvdW5kQ29uc3RhbnRzID0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyOyBcCisgICAgVUlOVDMyIGk7IFwKK1wKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKSBcCitcCisgICAgZm9yKCBpID0gMTI7IGkgIT0gMDsgLS1pICkgeyBcCisJICAgIEN4ID0gQWJ1MF5BZ3UwXkFrdTBeQW11MF5Bc3UwOyBcCisJICAgIER1MSA9IEFiZTFeQWdlMV5Ba2UxXkFtZTFeQXNlMTsgXAorCSAgICBEYTAgPSBDeF5ST0wzMihEdTEsIDEpOyBcCisJICAgIEN6ID0gQWJ1MV5BZ3UxXkFrdTFeQW11MV5Bc3UxOyBcCisJICAgIER1MCA9IEFiZTBeQWdlMF5Ba2UwXkFtZTBeQXNlMDsgXAorCSAgICBEYTEgPSBDel5EdTA7IFwKK1wKKwkgICAgQ3cgPSBBYmkwXkFnaTBeQWtpMF5BbWkwXkFzaTA7IFwKKwkgICAgRG8wID0gQ3deUk9MMzIoQ3osIDEpOyBcCisJICAgIEN5ID0gQWJpMV5BZ2kxXkFraTFeQW1pMV5Bc2kxOyBcCisJICAgIERvMSA9IEN5XkN4OyBcCitcCisJICAgIEN4ID0gQWJhMF5BZ2EwXkFrYTBeQW1hMF5Bc2EwOyBcCisJICAgIERlMCA9IEN4XlJPTDMyKEN5LCAxKTsgXAorCSAgICBDeiA9IEFiYTFeQWdhMV5Ba2ExXkFtYTFeQXNhMTsgXAorCSAgICBEZTEgPSBDel5DdzsgXAorXAorCSAgICBDeSA9IEFibzFeQWdvMV5Ba28xXkFtbzFeQXNvMTsgXAorCSAgICBEaTAgPSBEdTBeUk9MMzIoQ3ksIDEpOyBcCisJICAgIEN3ID0gQWJvMF5BZ28wXkFrbzBeQW1vMF5Bc28wOyBcCisJICAgIERpMSA9IER1MV5DdzsgXAorXAorCSAgICBEdTAgPSBDd15ST0wzMihDeiwgMSk7IFwKKwkgICAgRHUxID0gQ3leQ3g7IFwKK1wKKwkgICAgQWJhMCBePSBEYTA7IFwKKwkgICAgQmEgPSBBYmEwOyBcCisJICAgIEFnZTAgXj0gRGUwOyBcCisJICAgIEJlID0gUk9MMzIoQWdlMCwgMjIpOyBcCisJICAgIEFraTEgXj0gRGkxOyBcCisJICAgIEJpID0gUk9MMzIoQWtpMSwgMjIpOyBcCisJICAgIEFtbzEgXj0gRG8xOyBcCisJICAgIEJvID0gUk9MMzIoQW1vMSwgMTEpOyBcCisJICAgIEFzdTAgXj0gRHUwOyBcCisJICAgIEJ1ID0gUk9MMzIoQXN1MCwgNyk7IFwKKwkgICAgRWJhMCA9ICAgQmEgXigofkJlKSYgIEJpICkgXiAqKHBSb3VuZENvbnN0YW50cysrKTsgXAorCSAgICBFYmUwID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBFYmkwID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBFYm8wID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBFYnUwID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBBYm8wIF49IERvMDsgXAorCSAgICBCYSA9IFJPTDMyKEFibzAsIDE0KTsgXAorCSAgICBBZ3UwIF49IER1MDsgXAorCSAgICBCZSA9IFJPTDMyKEFndTAsIDEwKTsgXAorCSAgICBBa2ExIF49IERhMTsgXAorCSAgICBCaSA9IFJPTDMyKEFrYTEsIDIpOyBcCisJICAgIEFtZTEgXj0gRGUxOyBcCisJICAgIEJvID0gUk9MMzIoQW1lMSwgMjMpOyBcCisJICAgIEFzaTEgXj0gRGkxOyBcCisJICAgIEJ1ID0gUk9MMzIoQXNpMSwgMzEpOyBcCisJICAgIEVnYTAgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEVnZTAgPSAgIEJlIF4oKH5CaSkmICBCbyApOyBcCisJICAgIEVnaTAgPSAgIEJpIF4oKH5CbykmICBCdSApOyBcCisJICAgIEVnbzAgPSAgIEJvIF4oKH5CdSkmICBCYSApOyBcCisJICAgIEVndTAgPSAgIEJ1IF4oKH5CYSkmICBCZSApOyBcCitcCisJICAgIEFiZTEgXj0gRGUxOyBcCisJICAgIEJhID0gUk9MMzIoQWJlMSwgMSk7IFwKKwkgICAgQWdpMCBePSBEaTA7IFwKKwkgICAgQmUgPSBST0wzMihBZ2kwLCAzKTsgXAorCSAgICBBa28xIF49IERvMTsgXAorCSAgICBCaSA9IFJPTDMyKEFrbzEsIDEzKTsgXAorCSAgICBBbXUwIF49IER1MDsgXAorCSAgICBCbyA9IFJPTDMyKEFtdTAsIDQpOyBcCisJICAgIEFzYTAgXj0gRGEwOyBcCisJICAgIEJ1ID0gUk9MMzIoQXNhMCwgOSk7IFwKKwkgICAgRWthMCA9ICAgQmEgXigofkJlKSYgIEJpICk7IFwKKwkgICAgRWtlMCA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgRWtpMCA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgRWtvMCA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgRWt1MCA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKK1wKKwkgICAgQWJ1MSBePSBEdTE7IFwKKwkgICAgQmEgPSBST0wzMihBYnUxLCAxNCk7IFwKKwkgICAgQWdhMCBePSBEYTA7IFwKKwkgICAgQmUgPSBST0wzMihBZ2EwLCAxOCk7IFwKKwkgICAgQWtlMCBePSBEZTA7IFwKKwkgICAgQmkgPSBST0wzMihBa2UwLCA1KTsgXAorCSAgICBBbWkxIF49IERpMTsgXAorCSAgICBCbyA9IFJPTDMyKEFtaTEsIDgpOyBcCisJICAgIEFzbzAgXj0gRG8wOyBcCisJICAgIEJ1ID0gUk9MMzIoQXNvMCwgMjgpOyBcCisJICAgIEVtYTAgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEVtZTAgPSAgIEJlIF4oKH5CaSkmICBCbyApOyBcCisJICAgIEVtaTAgPSAgIEJpIF4oKH5CbykmICBCdSApOyBcCisJICAgIEVtbzAgPSAgIEJvIF4oKH5CdSkmICBCYSApOyBcCisJICAgIEVtdTAgPSAgIEJ1IF4oKH5CYSkmICBCZSApOyBcCitcCisJICAgIEFiaTAgXj0gRGkwOyBcCisJICAgIEJhID0gUk9MMzIoQWJpMCwgMzEpOyBcCisJICAgIEFnbzEgXj0gRG8xOyBcCisJICAgIEJlID0gUk9MMzIoQWdvMSwgMjgpOyBcCisJICAgIEFrdTEgXj0gRHUxOyBcCisJICAgIEJpID0gUk9MMzIoQWt1MSwgMjApOyBcCisJICAgIEFtYTEgXj0gRGExOyBcCisJICAgIEJvID0gUk9MMzIoQW1hMSwgMjEpOyBcCisJICAgIEFzZTAgXj0gRGUwOyBcCisJICAgIEJ1ID0gUk9MMzIoQXNlMCwgMSk7IFwKKwkgICAgRXNhMCA9ICAgQmEgXigofkJlKSYgIEJpICk7IFwKKwkgICAgRXNlMCA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgRXNpMCA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgRXNvMCA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgRXN1MCA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKK1wKKwkgICAgQWJhMSBePSBEYTE7IFwKKwkgICAgQmEgPSBBYmExOyBcCisJICAgIEFnZTEgXj0gRGUxOyBcCisJICAgIEJlID0gUk9MMzIoQWdlMSwgMjIpOyBcCisJICAgIEFraTAgXj0gRGkwOyBcCisJICAgIEJpID0gUk9MMzIoQWtpMCwgMjEpOyBcCisJICAgIEFtbzAgXj0gRG8wOyBcCisJICAgIEJvID0gUk9MMzIoQW1vMCwgMTApOyBcCisJICAgIEFzdTEgXj0gRHUxOyBcCisJICAgIEJ1ID0gUk9MMzIoQXN1MSwgNyk7IFwKKwkgICAgRWJhMSA9ICAgQmEgXigofkJlKSYgIEJpICk7IFwKKwkgICAgRWJhMSBePSAqKHBSb3VuZENvbnN0YW50cysrKTsgXAorCSAgICBFYmUxID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBFYmkxID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBFYm8xID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBFYnUxID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBBYm8xIF49IERvMTsgXAorCSAgICBCYSA9IFJPTDMyKEFibzEsIDE0KTsgXAorCSAgICBBZ3UxIF49IER1MTsgXAorCSAgICBCZSA9IFJPTDMyKEFndTEsIDEwKTsgXAorCSAgICBBa2EwIF49IERhMDsgXAorCSAgICBCaSA9IFJPTDMyKEFrYTAsIDEpOyBcCisJICAgIEFtZTAgXj0gRGUwOyBcCisJICAgIEJvID0gUk9MMzIoQW1lMCwgMjIpOyBcCisJICAgIEFzaTAgXj0gRGkwOyBcCisJICAgIEJ1ID0gUk9MMzIoQXNpMCwgMzApOyBcCisJICAgIEVnYTEgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEVnZTEgPSAgIEJlIF4oKH5CaSkmICBCbyApOyBcCisJICAgIEVnaTEgPSAgIEJpIF4oKH5CbykmICBCdSApOyBcCisJICAgIEVnbzEgPSAgIEJvIF4oKH5CdSkmICBCYSApOyBcCisJICAgIEVndTEgPSAgIEJ1IF4oKH5CYSkmICBCZSApOyBcCitcCisJICAgIEFiZTAgXj0gRGUwOyBcCisJICAgIEJhID0gQWJlMDsgXAorCSAgICBBZ2kxIF49IERpMTsgXAorCSAgICBCZSA9IFJPTDMyKEFnaTEsIDMpOyBcCisJICAgIEFrbzAgXj0gRG8wOyBcCisJICAgIEJpID0gUk9MMzIoQWtvMCwgMTIpOyBcCisJICAgIEFtdTEgXj0gRHUxOyBcCisJICAgIEJvID0gUk9MMzIoQW11MSwgNCk7IFwKKwkgICAgQXNhMSBePSBEYTE7IFwKKwkgICAgQnUgPSBST0wzMihBc2ExLCA5KTsgXAorCSAgICBFa2ExID0gICBCYSBeKCh+QmUpJiAgQmkgKTsgXAorCSAgICBFa2UxID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBFa2kxID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBFa28xID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBFa3UxID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBBYnUwIF49IER1MDsgXAorCSAgICBCYSA9IFJPTDMyKEFidTAsIDEzKTsgXAorCSAgICBBZ2ExIF49IERhMTsgXAorCSAgICBCZSA9IFJPTDMyKEFnYTEsIDE4KTsgXAorCSAgICBBa2UxIF49IERlMTsgXAorCSAgICBCaSA9IFJPTDMyKEFrZTEsIDUpOyBcCisJICAgIEFtaTAgXj0gRGkwOyBcCisJICAgIEJvID0gUk9MMzIoQW1pMCwgNyk7IFwKKwkgICAgQXNvMSBePSBEbzE7IFwKKwkgICAgQnUgPSBST0wzMihBc28xLCAyOCk7IFwKKwkgICAgRW1hMSA9ICAgQmEgXigofkJlKSYgIEJpICk7IFwKKwkgICAgRW1lMSA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgRW1pMSA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgRW1vMSA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgRW11MSA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKK1wKKwkgICAgQWJpMSBePSBEaTE7IFwKKwkgICAgQmEgPSBST0wzMihBYmkxLCAzMSk7IFwKKwkgICAgQWdvMCBePSBEbzA7IFwKKwkgICAgQmUgPSBST0wzMihBZ28wLCAyNyk7IFwKKwkgICAgQWt1MCBePSBEdTA7IFwKKwkgICAgQmkgPSBST0wzMihBa3UwLCAxOSk7IFwKKwkgICAgQW1hMCBePSBEYTA7IFwKKwkgICAgQm8gPSBST0wzMihBbWEwLCAyMCk7IFwKKwkgICAgQXNlMSBePSBEZTE7IFwKKwkgICAgQnUgPSBST0wzMihBc2UxLCAxKTsgXAorCSAgICBFc2ExID0gICBCYSBeKCh+QmUpJiAgQmkgKTsgXAorCSAgICBFc2UxID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBFc2kxID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBFc28xID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBFc3UxID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBDeCA9IEVidTBeRWd1MF5Fa3UwXkVtdTBeRXN1MDsgXAorCSAgICBEdTEgPSBFYmUxXkVnZTFeRWtlMV5FbWUxXkVzZTE7IFwKKwkgICAgRGEwID0gQ3heUk9MMzIoRHUxLCAxKTsgXAorCSAgICBDeiA9IEVidTFeRWd1MV5Fa3UxXkVtdTFeRXN1MTsgXAorCSAgICBEdTAgPSBFYmUwXkVnZTBeRWtlMF5FbWUwXkVzZTA7IFwKKwkgICAgRGExID0gQ3peRHUwOyBcCitcCisJICAgIEN3ID0gRWJpMF5FZ2kwXkVraTBeRW1pMF5Fc2kwOyBcCisJICAgIERvMCA9IEN3XlJPTDMyKEN6LCAxKTsgXAorCSAgICBDeSA9IEViaTFeRWdpMV5Fa2kxXkVtaTFeRXNpMTsgXAorCSAgICBEbzEgPSBDeV5DeDsgXAorXAorCSAgICBDeCA9IEViYTBeRWdhMF5Fa2EwXkVtYTBeRXNhMDsgXAorCSAgICBEZTAgPSBDeF5ST0wzMihDeSwgMSk7IFwKKwkgICAgQ3ogPSBFYmExXkVnYTFeRWthMV5FbWExXkVzYTE7IFwKKwkgICAgRGUxID0gQ3peQ3c7IFwKK1wKKwkgICAgQ3kgPSBFYm8xXkVnbzFeRWtvMV5FbW8xXkVzbzE7IFwKKwkgICAgRGkwID0gRHUwXlJPTDMyKEN5LCAxKTsgXAorCSAgICBDdyA9IEVibzBeRWdvMF5Fa28wXkVtbzBeRXNvMDsgXAorCSAgICBEaTEgPSBEdTFeQ3c7IFwKK1wKKwkgICAgRHUwID0gQ3deUk9MMzIoQ3osIDEpOyBcCisJICAgIER1MSA9IEN5XkN4OyBcCitcCisJICAgIEViYTAgXj0gRGEwOyBcCisJICAgIEJhID0gRWJhMDsgXAorCSAgICBFZ2UwIF49IERlMDsgXAorCSAgICBCZSA9IFJPTDMyKEVnZTAsIDIyKTsgXAorCSAgICBFa2kxIF49IERpMTsgXAorCSAgICBCaSA9IFJPTDMyKEVraTEsIDIyKTsgXAorCSAgICBFbW8xIF49IERvMTsgXAorCSAgICBCbyA9IFJPTDMyKEVtbzEsIDExKTsgXAorCSAgICBFc3UwIF49IER1MDsgXAorCSAgICBCdSA9IFJPTDMyKEVzdTAsIDcpOyBcCisJICAgIEFiYTAgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEFiYTAgXj0gKihwUm91bmRDb25zdGFudHMrKyk7IFwKKwkgICAgQWJlMCA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgQWJpMCA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgQWJvMCA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgQWJ1MCA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKK1wKKwkgICAgRWJvMCBePSBEbzA7IFwKKwkgICAgQmEgPSBST0wzMihFYm8wLCAxNCk7IFwKKwkgICAgRWd1MCBePSBEdTA7IFwKKwkgICAgQmUgPSBST0wzMihFZ3UwLCAxMCk7IFwKKwkgICAgRWthMSBePSBEYTE7IFwKKwkgICAgQmkgPSBST0wzMihFa2ExLCAyKTsgXAorCSAgICBFbWUxIF49IERlMTsgXAorCSAgICBCbyA9IFJPTDMyKEVtZTEsIDIzKTsgXAorCSAgICBFc2kxIF49IERpMTsgXAorCSAgICBCdSA9IFJPTDMyKEVzaTEsIDMxKTsgXAorCSAgICBBZ2EwID0gICBCYSBeKCh+QmUpJiAgQmkgKTsgXAorCSAgICBBZ2UwID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBBZ2kwID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBBZ28wID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBBZ3UwID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBFYmUxIF49IERlMTsgXAorCSAgICBCYSA9IFJPTDMyKEViZTEsIDEpOyBcCisJICAgIEVnaTAgXj0gRGkwOyBcCisJICAgIEJlID0gUk9MMzIoRWdpMCwgMyk7IFwKKwkgICAgRWtvMSBePSBEbzE7IFwKKwkgICAgQmkgPSBST0wzMihFa28xLCAxMyk7IFwKKwkgICAgRW11MCBePSBEdTA7IFwKKwkgICAgQm8gPSBST0wzMihFbXUwLCA0KTsgXAorCSAgICBFc2EwIF49IERhMDsgXAorCSAgICBCdSA9IFJPTDMyKEVzYTAsIDkpOyBcCisJICAgIEFrYTAgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEFrZTAgPSAgIEJlIF4oKH5CaSkmICBCbyApOyBcCisJICAgIEFraTAgPSAgIEJpIF4oKH5CbykmICBCdSApOyBcCisJICAgIEFrbzAgPSAgIEJvIF4oKH5CdSkmICBCYSApOyBcCisJICAgIEFrdTAgPSAgIEJ1IF4oKH5CYSkmICBCZSApOyBcCitcCisJICAgIEVidTEgXj0gRHUxOyBcCisJICAgIEJhID0gUk9MMzIoRWJ1MSwgMTQpOyBcCisJICAgIEVnYTAgXj0gRGEwOyBcCisJICAgIEJlID0gUk9MMzIoRWdhMCwgMTgpOyBcCisJICAgIEVrZTAgXj0gRGUwOyBcCisJICAgIEJpID0gUk9MMzIoRWtlMCwgNSk7IFwKKwkgICAgRW1pMSBePSBEaTE7IFwKKwkgICAgQm8gPSBST0wzMihFbWkxLCA4KTsgXAorCSAgICBFc28wIF49IERvMDsgXAorCSAgICBCdSA9IFJPTDMyKEVzbzAsIDI4KTsgXAorCSAgICBBbWEwID0gICBCYSBeKCh+QmUpJiAgQmkgKTsgXAorCSAgICBBbWUwID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBBbWkwID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBBbW8wID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBBbXUwID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBFYmkwIF49IERpMDsgXAorCSAgICBCYSA9IFJPTDMyKEViaTAsIDMxKTsgXAorCSAgICBFZ28xIF49IERvMTsgXAorCSAgICBCZSA9IFJPTDMyKEVnbzEsIDI4KTsgXAorCSAgICBFa3UxIF49IER1MTsgXAorCSAgICBCaSA9IFJPTDMyKEVrdTEsIDIwKTsgXAorCSAgICBFbWExIF49IERhMTsgXAorCSAgICBCbyA9IFJPTDMyKEVtYTEsIDIxKTsgXAorCSAgICBFc2UwIF49IERlMDsgXAorCSAgICBCdSA9IFJPTDMyKEVzZTAsIDEpOyBcCisJICAgIEFzYTAgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEFzZTAgPSAgIEJlIF4oKH5CaSkmICBCbyApOyBcCisJICAgIEFzaTAgPSAgIEJpIF4oKH5CbykmICBCdSApOyBcCisJICAgIEFzbzAgPSAgIEJvIF4oKH5CdSkmICBCYSApOyBcCisJICAgIEFzdTAgPSAgIEJ1IF4oKH5CYSkmICBCZSApOyBcCitcCisJICAgIEViYTEgXj0gRGExOyBcCisJICAgIEJhID0gRWJhMTsgXAorCSAgICBFZ2UxIF49IERlMTsgXAorCSAgICBCZSA9IFJPTDMyKEVnZTEsIDIyKTsgXAorCSAgICBFa2kwIF49IERpMDsgXAorCSAgICBCaSA9IFJPTDMyKEVraTAsIDIxKTsgXAorCSAgICBFbW8wIF49IERvMDsgXAorCSAgICBCbyA9IFJPTDMyKEVtbzAsIDEwKTsgXAorCSAgICBFc3UxIF49IER1MTsgXAorCSAgICBCdSA9IFJPTDMyKEVzdTEsIDcpOyBcCisJICAgIEFiYTEgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEFiYTEgXj0gKihwUm91bmRDb25zdGFudHMrKyk7IFwKKwkgICAgQWJlMSA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgQWJpMSA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgQWJvMSA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgQWJ1MSA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKK1wKKwkgICAgRWJvMSBePSBEbzE7IFwKKwkgICAgQmEgPSBST0wzMihFYm8xLCAxNCk7IFwKKwkgICAgRWd1MSBePSBEdTE7IFwKKwkgICAgQmUgPSBST0wzMihFZ3UxLCAxMCk7IFwKKwkgICAgRWthMCBePSBEYTA7IFwKKwkgICAgQmkgPSBST0wzMihFa2EwLCAxKTsgXAorCSAgICBFbWUwIF49IERlMDsgXAorCSAgICBCbyA9IFJPTDMyKEVtZTAsIDIyKTsgXAorCSAgICBFc2kwIF49IERpMDsgXAorCSAgICBCdSA9IFJPTDMyKEVzaTAsIDMwKTsgXAorCSAgICBBZ2ExID0gICBCYSBeKCh+QmUpJiAgQmkgKTsgXAorCSAgICBBZ2UxID0gICBCZSBeKCh+QmkpJiAgQm8gKTsgXAorCSAgICBBZ2kxID0gICBCaSBeKCh+Qm8pJiAgQnUgKTsgXAorCSAgICBBZ28xID0gICBCbyBeKCh+QnUpJiAgQmEgKTsgXAorCSAgICBBZ3UxID0gICBCdSBeKCh+QmEpJiAgQmUgKTsgXAorXAorCSAgICBFYmUwIF49IERlMDsgXAorCSAgICBCYSA9IEViZTA7IFwKKwkgICAgRWdpMSBePSBEaTE7IFwKKwkgICAgQmUgPSBST0wzMihFZ2kxLCAzKTsgXAorCSAgICBFa28wIF49IERvMDsgXAorCSAgICBCaSA9IFJPTDMyKEVrbzAsIDEyKTsgXAorCSAgICBFbXUxIF49IER1MTsgXAorCSAgICBCbyA9IFJPTDMyKEVtdTEsIDQpOyBcCisJICAgIEVzYTEgXj0gRGExOyBcCisJICAgIEJ1ID0gUk9MMzIoRXNhMSwgOSk7IFwKKwkgICAgQWthMSA9ICAgQmEgXigofkJlKSYgIEJpICk7IFwKKwkgICAgQWtlMSA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgQWtpMSA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgQWtvMSA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgQWt1MSA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKK1wKKwkgICAgRWJ1MCBePSBEdTA7IFwKKwkgICAgQmEgPSBST0wzMihFYnUwLCAxMyk7IFwKKwkgICAgRWdhMSBePSBEYTE7IFwKKwkgICAgQmUgPSBST0wzMihFZ2ExLCAxOCk7IFwKKwkgICAgRWtlMSBePSBEZTE7IFwKKwkgICAgQmkgPSBST0wzMihFa2UxLCA1KTsgXAorCSAgICBFbWkwIF49IERpMDsgXAorCSAgICBCbyA9IFJPTDMyKEVtaTAsIDcpOyBcCisJICAgIEVzbzEgXj0gRG8xOyBcCisJICAgIEJ1ID0gUk9MMzIoRXNvMSwgMjgpOyBcCisJICAgIEFtYTEgPSAgIEJhIF4oKH5CZSkmICBCaSApOyBcCisJICAgIEFtZTEgPSAgIEJlIF4oKH5CaSkmICBCbyApOyBcCisJICAgIEFtaTEgPSAgIEJpIF4oKH5CbykmICBCdSApOyBcCisJICAgIEFtbzEgPSAgIEJvIF4oKH5CdSkmICBCYSApOyBcCisJICAgIEFtdTEgPSAgIEJ1IF4oKH5CYSkmICBCZSApOyBcCitcCisJICAgIEViaTEgXj0gRGkxOyBcCisJICAgIEJhID0gUk9MMzIoRWJpMSwgMzEpOyBcCisJICAgIEVnbzAgXj0gRG8wOyBcCisJICAgIEJlID0gUk9MMzIoRWdvMCwgMjcpOyBcCisJICAgIEVrdTAgXj0gRHUwOyBcCisJICAgIEJpID0gUk9MMzIoRWt1MCwgMTkpOyBcCisJICAgIEVtYTAgXj0gRGEwOyBcCisJICAgIEJvID0gUk9MMzIoRW1hMCwgMjApOyBcCisJICAgIEVzZTEgXj0gRGUxOyBcCisJICAgIEJ1ID0gUk9MMzIoRXNlMSwgMSk7IFwKKwkgICAgQXNhMSA9ICAgQmEgXigofkJlKSYgIEJpICk7IFwKKwkgICAgQXNlMSA9ICAgQmUgXigofkJpKSYgIEJvICk7IFwKKwkgICAgQXNpMSA9ICAgQmkgXigofkJvKSYgIEJ1ICk7IFwKKwkgICAgQXNvMSA9ICAgQm8gXigofkJ1KSYgIEJhICk7IFwKKwkgICAgQXN1MSA9ICAgQnUgXigofkJhKSYgIEJlICk7IFwKKyAgICB9IFwKKyAgICBjb3B5VG9TdGF0ZShzdGF0ZSwgQSkgXAorfQorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGUoWCwgc3RhdGUpIFwKKyAgICBYIyNiYTAgPSBzdGF0ZVsgMF07IFwKKyAgICBYIyNiYTEgPSBzdGF0ZVsgMV07IFwKKyAgICBYIyNiZTAgPSBzdGF0ZVsgMl07IFwKKyAgICBYIyNiZTEgPSBzdGF0ZVsgM107IFwKKyAgICBYIyNiaTAgPSBzdGF0ZVsgNF07IFwKKyAgICBYIyNiaTEgPSBzdGF0ZVsgNV07IFwKKyAgICBYIyNibzAgPSBzdGF0ZVsgNl07IFwKKyAgICBYIyNibzEgPSBzdGF0ZVsgN107IFwKKyAgICBYIyNidTAgPSBzdGF0ZVsgOF07IFwKKyAgICBYIyNidTEgPSBzdGF0ZVsgOV07IFwKKyAgICBYIyNnYTAgPSBzdGF0ZVsxMF07IFwKKyAgICBYIyNnYTEgPSBzdGF0ZVsxMV07IFwKKyAgICBYIyNnZTAgPSBzdGF0ZVsxMl07IFwKKyAgICBYIyNnZTEgPSBzdGF0ZVsxM107IFwKKyAgICBYIyNnaTAgPSBzdGF0ZVsxNF07IFwKKyAgICBYIyNnaTEgPSBzdGF0ZVsxNV07IFwKKyAgICBYIyNnbzAgPSBzdGF0ZVsxNl07IFwKKyAgICBYIyNnbzEgPSBzdGF0ZVsxN107IFwKKyAgICBYIyNndTAgPSBzdGF0ZVsxOF07IFwKKyAgICBYIyNndTEgPSBzdGF0ZVsxOV07IFwKKyAgICBYIyNrYTAgPSBzdGF0ZVsyMF07IFwKKyAgICBYIyNrYTEgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNrZTAgPSBzdGF0ZVsyMl07IFwKKyAgICBYIyNrZTEgPSBzdGF0ZVsyM107IFwKKyAgICBYIyNraTAgPSBzdGF0ZVsyNF07IFwKKyAgICBYIyNraTEgPSBzdGF0ZVsyNV07IFwKKyAgICBYIyNrbzAgPSBzdGF0ZVsyNl07IFwKKyAgICBYIyNrbzEgPSBzdGF0ZVsyN107IFwKKyAgICBYIyNrdTAgPSBzdGF0ZVsyOF07IFwKKyAgICBYIyNrdTEgPSBzdGF0ZVsyOV07IFwKKyAgICBYIyNtYTAgPSBzdGF0ZVszMF07IFwKKyAgICBYIyNtYTEgPSBzdGF0ZVszMV07IFwKKyAgICBYIyNtZTAgPSBzdGF0ZVszMl07IFwKKyAgICBYIyNtZTEgPSBzdGF0ZVszM107IFwKKyAgICBYIyNtaTAgPSBzdGF0ZVszNF07IFwKKyAgICBYIyNtaTEgPSBzdGF0ZVszNV07IFwKKyAgICBYIyNtbzAgPSBzdGF0ZVszNl07IFwKKyAgICBYIyNtbzEgPSBzdGF0ZVszN107IFwKKyAgICBYIyNtdTAgPSBzdGF0ZVszOF07IFwKKyAgICBYIyNtdTEgPSBzdGF0ZVszOV07IFwKKyAgICBYIyNzYTAgPSBzdGF0ZVs0MF07IFwKKyAgICBYIyNzYTEgPSBzdGF0ZVs0MV07IFwKKyAgICBYIyNzZTAgPSBzdGF0ZVs0Ml07IFwKKyAgICBYIyNzZTEgPSBzdGF0ZVs0M107IFwKKyAgICBYIyNzaTAgPSBzdGF0ZVs0NF07IFwKKyAgICBYIyNzaTEgPSBzdGF0ZVs0NV07IFwKKyAgICBYIyNzbzAgPSBzdGF0ZVs0Nl07IFwKKyAgICBYIyNzbzEgPSBzdGF0ZVs0N107IFwKKyAgICBYIyNzdTAgPSBzdGF0ZVs0OF07IFwKKyAgICBYIyNzdTEgPSBzdGF0ZVs0OV07IFwKKworI2RlZmluZSBjb3B5VG9TdGF0ZShzdGF0ZSwgWCkgXAorICAgIHN0YXRlWyAwXSA9IFgjI2JhMDsgXAorICAgIHN0YXRlWyAxXSA9IFgjI2JhMTsgXAorICAgIHN0YXRlWyAyXSA9IFgjI2JlMDsgXAorICAgIHN0YXRlWyAzXSA9IFgjI2JlMTsgXAorICAgIHN0YXRlWyA0XSA9IFgjI2JpMDsgXAorICAgIHN0YXRlWyA1XSA9IFgjI2JpMTsgXAorICAgIHN0YXRlWyA2XSA9IFgjI2JvMDsgXAorICAgIHN0YXRlWyA3XSA9IFgjI2JvMTsgXAorICAgIHN0YXRlWyA4XSA9IFgjI2J1MDsgXAorICAgIHN0YXRlWyA5XSA9IFgjI2J1MTsgXAorICAgIHN0YXRlWzEwXSA9IFgjI2dhMDsgXAorICAgIHN0YXRlWzExXSA9IFgjI2dhMTsgXAorICAgIHN0YXRlWzEyXSA9IFgjI2dlMDsgXAorICAgIHN0YXRlWzEzXSA9IFgjI2dlMTsgXAorICAgIHN0YXRlWzE0XSA9IFgjI2dpMDsgXAorICAgIHN0YXRlWzE1XSA9IFgjI2dpMTsgXAorICAgIHN0YXRlWzE2XSA9IFgjI2dvMDsgXAorICAgIHN0YXRlWzE3XSA9IFgjI2dvMTsgXAorICAgIHN0YXRlWzE4XSA9IFgjI2d1MDsgXAorICAgIHN0YXRlWzE5XSA9IFgjI2d1MTsgXAorICAgIHN0YXRlWzIwXSA9IFgjI2thMDsgXAorICAgIHN0YXRlWzIxXSA9IFgjI2thMTsgXAorICAgIHN0YXRlWzIyXSA9IFgjI2tlMDsgXAorICAgIHN0YXRlWzIzXSA9IFgjI2tlMTsgXAorICAgIHN0YXRlWzI0XSA9IFgjI2tpMDsgXAorICAgIHN0YXRlWzI1XSA9IFgjI2tpMTsgXAorICAgIHN0YXRlWzI2XSA9IFgjI2tvMDsgXAorICAgIHN0YXRlWzI3XSA9IFgjI2tvMTsgXAorICAgIHN0YXRlWzI4XSA9IFgjI2t1MDsgXAorICAgIHN0YXRlWzI5XSA9IFgjI2t1MTsgXAorICAgIHN0YXRlWzMwXSA9IFgjI21hMDsgXAorICAgIHN0YXRlWzMxXSA9IFgjI21hMTsgXAorICAgIHN0YXRlWzMyXSA9IFgjI21lMDsgXAorICAgIHN0YXRlWzMzXSA9IFgjI21lMTsgXAorICAgIHN0YXRlWzM0XSA9IFgjI21pMDsgXAorICAgIHN0YXRlWzM1XSA9IFgjI21pMTsgXAorICAgIHN0YXRlWzM2XSA9IFgjI21vMDsgXAorICAgIHN0YXRlWzM3XSA9IFgjI21vMTsgXAorICAgIHN0YXRlWzM4XSA9IFgjI211MDsgXAorICAgIHN0YXRlWzM5XSA9IFgjI211MTsgXAorICAgIHN0YXRlWzQwXSA9IFgjI3NhMDsgXAorICAgIHN0YXRlWzQxXSA9IFgjI3NhMTsgXAorICAgIHN0YXRlWzQyXSA9IFgjI3NlMDsgXAorICAgIHN0YXRlWzQzXSA9IFgjI3NlMTsgXAorICAgIHN0YXRlWzQ0XSA9IFgjI3NpMDsgXAorICAgIHN0YXRlWzQ1XSA9IFgjI3NpMTsgXAorICAgIHN0YXRlWzQ2XSA9IFgjI3NvMDsgXAorICAgIHN0YXRlWzQ3XSA9IFgjI3NvMTsgXAorICAgIHN0YXRlWzQ4XSA9IFgjI3N1MDsgXAorICAgIHN0YXRlWzQ5XSA9IFgjI3N1MTsgXAorCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtMzItczEubWFjcm9zIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLXMxLm1hY3JvcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzNkNjFkCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLXMxLm1hY3JvcwpAQCAtMCwwICsxLDExODcgQEAKKy8qCitDb2RlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IEtlY2Nha1Rvb2xzIQorCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgdGhlIGRlc2lnbmVycywKK2hlcmVieSBkZW5vdGVkIGFzICJ0aGUgaW1wbGVtZW50ZXIiLgorCitUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3JpbmcgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGZpbGUuCitodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisqLworCisjZGVmaW5lIGRlY2xhcmVBQkNERSBcCisgICAgVUlOVDMyIEFiYTAsIEFiZTAsIEFiaTAsIEFibzAsIEFidTA7IFwKKyAgICBVSU5UMzIgQWJhMSwgQWJlMSwgQWJpMSwgQWJvMSwgQWJ1MTsgXAorICAgIFVJTlQzMiBBZ2EwLCBBZ2UwLCBBZ2kwLCBBZ28wLCBBZ3UwOyBcCisgICAgVUlOVDMyIEFnYTEsIEFnZTEsIEFnaTEsIEFnbzEsIEFndTE7IFwKKyAgICBVSU5UMzIgQWthMCwgQWtlMCwgQWtpMCwgQWtvMCwgQWt1MDsgXAorICAgIFVJTlQzMiBBa2ExLCBBa2UxLCBBa2kxLCBBa28xLCBBa3UxOyBcCisgICAgVUlOVDMyIEFtYTAsIEFtZTAsIEFtaTAsIEFtbzAsIEFtdTA7IFwKKyAgICBVSU5UMzIgQW1hMSwgQW1lMSwgQW1pMSwgQW1vMSwgQW11MTsgXAorICAgIFVJTlQzMiBBc2EwLCBBc2UwLCBBc2kwLCBBc28wLCBBc3UwOyBcCisgICAgVUlOVDMyIEFzYTEsIEFzZTEsIEFzaTEsIEFzbzEsIEFzdTE7IFwKKyAgICBVSU5UMzIgQmJhMCwgQmJlMCwgQmJpMCwgQmJvMCwgQmJ1MDsgXAorICAgIFVJTlQzMiBCYmExLCBCYmUxLCBCYmkxLCBCYm8xLCBCYnUxOyBcCisgICAgVUlOVDMyIEJnYTAsIEJnZTAsIEJnaTAsIEJnbzAsIEJndTA7IFwKKyAgICBVSU5UMzIgQmdhMSwgQmdlMSwgQmdpMSwgQmdvMSwgQmd1MTsgXAorICAgIFVJTlQzMiBCa2EwLCBCa2UwLCBCa2kwLCBCa28wLCBCa3UwOyBcCisgICAgVUlOVDMyIEJrYTEsIEJrZTEsIEJraTEsIEJrbzEsIEJrdTE7IFwKKyAgICBVSU5UMzIgQm1hMCwgQm1lMCwgQm1pMCwgQm1vMCwgQm11MDsgXAorICAgIFVJTlQzMiBCbWExLCBCbWUxLCBCbWkxLCBCbW8xLCBCbXUxOyBcCisgICAgVUlOVDMyIEJzYTAsIEJzZTAsIEJzaTAsIEJzbzAsIEJzdTA7IFwKKyAgICBVSU5UMzIgQnNhMSwgQnNlMSwgQnNpMSwgQnNvMSwgQnN1MTsgXAorICAgIFVJTlQzMiBDYTAsIENlMCwgQ2kwLCBDbzAsIEN1MDsgXAorICAgIFVJTlQzMiBDYTEsIENlMSwgQ2kxLCBDbzEsIEN1MTsgXAorICAgIFVJTlQzMiBEYTAsIERlMCwgRGkwLCBEbzAsIER1MDsgXAorICAgIFVJTlQzMiBEYTEsIERlMSwgRGkxLCBEbzEsIER1MTsgXAorICAgIFVJTlQzMiBFYmEwLCBFYmUwLCBFYmkwLCBFYm8wLCBFYnUwOyBcCisgICAgVUlOVDMyIEViYTEsIEViZTEsIEViaTEsIEVibzEsIEVidTE7IFwKKyAgICBVSU5UMzIgRWdhMCwgRWdlMCwgRWdpMCwgRWdvMCwgRWd1MDsgXAorICAgIFVJTlQzMiBFZ2ExLCBFZ2UxLCBFZ2kxLCBFZ28xLCBFZ3UxOyBcCisgICAgVUlOVDMyIEVrYTAsIEVrZTAsIEVraTAsIEVrbzAsIEVrdTA7IFwKKyAgICBVSU5UMzIgRWthMSwgRWtlMSwgRWtpMSwgRWtvMSwgRWt1MTsgXAorICAgIFVJTlQzMiBFbWEwLCBFbWUwLCBFbWkwLCBFbW8wLCBFbXUwOyBcCisgICAgVUlOVDMyIEVtYTEsIEVtZTEsIEVtaTEsIEVtbzEsIEVtdTE7IFwKKyAgICBVSU5UMzIgRXNhMCwgRXNlMCwgRXNpMCwgRXNvMCwgRXN1MDsgXAorICAgIFVJTlQzMiBFc2ExLCBFc2UxLCBFc2kxLCBFc28xLCBFc3UxOyBcCisKKyNkZWZpbmUgcHJlcGFyZVRoZXRhIFwKKyAgICBDYTAgPSBBYmEwXkFnYTBeQWthMF5BbWEwXkFzYTA7IFwKKyAgICBDYTEgPSBBYmExXkFnYTFeQWthMV5BbWExXkFzYTE7IFwKKyAgICBDZTAgPSBBYmUwXkFnZTBeQWtlMF5BbWUwXkFzZTA7IFwKKyAgICBDZTEgPSBBYmUxXkFnZTFeQWtlMV5BbWUxXkFzZTE7IFwKKyAgICBDaTAgPSBBYmkwXkFnaTBeQWtpMF5BbWkwXkFzaTA7IFwKKyAgICBDaTEgPSBBYmkxXkFnaTFeQWtpMV5BbWkxXkFzaTE7IFwKKyAgICBDbzAgPSBBYm8wXkFnbzBeQWtvMF5BbW8wXkFzbzA7IFwKKyAgICBDbzEgPSBBYm8xXkFnbzFeQWtvMV5BbW8xXkFzbzE7IFwKKyAgICBDdTAgPSBBYnUwXkFndTBeQWt1MF5BbXUwXkFzdTA7IFwKKyAgICBDdTEgPSBBYnUxXkFndTFeQWt1MV5BbXUxXkFzdTE7IFwKKworI2lmZGVmIFVzZUJlYmlnb2tpbWlzYQorLyogIC0tLSBDb2RlIGZvciByb3VuZCwgd2l0aCBwcmVwYXJlLXRoZXRhIChsYW5lIGNvbXBsZW1lbnRpbmcgcGF0dGVybiAnYmViaWdva2ltaXNhJykgKi8KKy8qICAtLS0gdXNpbmcgZmFjdG9yIDIgaW50ZXJsZWF2aW5nLCA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpLCBBLCBFKSBcCisgICAgRGEwID0gQ3UwXlJPTDMyKENlMSwgMSk7IFwKKyAgICBEYTEgPSBDdTFeQ2UwOyBcCisgICAgRGUwID0gQ2EwXlJPTDMyKENpMSwgMSk7IFwKKyAgICBEZTEgPSBDYTFeQ2kwOyBcCisgICAgRGkwID0gQ2UwXlJPTDMyKENvMSwgMSk7IFwKKyAgICBEaTEgPSBDZTFeQ28wOyBcCisgICAgRG8wID0gQ2kwXlJPTDMyKEN1MSwgMSk7IFwKKyAgICBEbzEgPSBDaTFeQ3UwOyBcCisgICAgRHUwID0gQ28wXlJPTDMyKENhMSwgMSk7IFwKKyAgICBEdTEgPSBDbzFeQ2EwOyBcCitcCisgICAgQSMjYmEwIF49IERhMDsgXAorICAgIEJiYTAgPSBBIyNiYTA7IFwKKyAgICBBIyNnZTAgXj0gRGUwOyBcCisgICAgQmJlMCA9IFJPTDMyKEEjI2dlMCwgMjIpOyBcCisgICAgQSMja2kxIF49IERpMTsgXAorICAgIEJiaTAgPSBST0wzMihBIyNraTEsIDIyKTsgXAorICAgIEEjI21vMSBePSBEbzE7IFwKKyAgICBCYm8wID0gUk9MMzIoQSMjbW8xLCAxMSk7IFwKKyAgICBBIyNzdTAgXj0gRHUwOyBcCisgICAgQmJ1MCA9IFJPTDMyKEEjI3N1MCwgNyk7IFwKKyAgICBFIyNiYTAgPSAgIEJiYTAgXiggIEJiZTAgfCAgQmJpMCApOyBcCisgICAgRSMjYmEwIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8wW2ldOyBcCisgICAgQ2EwID0gRSMjYmEwOyBcCisgICAgRSMjYmUwID0gICBCYmUwIF4oKH5CYmkwKXwgIEJibzAgKTsgXAorICAgIENlMCA9IEUjI2JlMDsgXAorICAgIEUjI2JpMCA9ICAgQmJpMCBeKCAgQmJvMCAmICBCYnUwICk7IFwKKyAgICBDaTAgPSBFIyNiaTA7IFwKKyAgICBFIyNibzAgPSAgIEJibzAgXiggIEJidTAgfCAgQmJhMCApOyBcCisgICAgQ28wID0gRSMjYm8wOyBcCisgICAgRSMjYnUwID0gICBCYnUwIF4oICBCYmEwICYgIEJiZTAgKTsgXAorICAgIEN1MCA9IEUjI2J1MDsgXAorXAorICAgIEEjI2JhMSBePSBEYTE7IFwKKyAgICBCYmExID0gQSMjYmExOyBcCisgICAgQSMjZ2UxIF49IERlMTsgXAorICAgIEJiZTEgPSBST0wzMihBIyNnZTEsIDIyKTsgXAorICAgIEEjI2tpMCBePSBEaTA7IFwKKyAgICBCYmkxID0gUk9MMzIoQSMja2kwLCAyMSk7IFwKKyAgICBBIyNtbzAgXj0gRG8wOyBcCisgICAgQmJvMSA9IFJPTDMyKEEjI21vMCwgMTApOyBcCisgICAgQSMjc3UxIF49IER1MTsgXAorICAgIEJidTEgPSBST0wzMihBIyNzdTEsIDcpOyBcCisgICAgRSMjYmExID0gICBCYmExIF4oICBCYmUxIHwgIEJiaTEgKTsgXAorICAgIEUjI2JhMSBePSBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzX2ludDJfMVtpXTsgXAorICAgIENhMSA9IEUjI2JhMTsgXAorICAgIEUjI2JlMSA9ICAgQmJlMSBeKCh+QmJpMSl8ICBCYm8xICk7IFwKKyAgICBDZTEgPSBFIyNiZTE7IFwKKyAgICBFIyNiaTEgPSAgIEJiaTEgXiggIEJibzEgJiAgQmJ1MSApOyBcCisgICAgQ2kxID0gRSMjYmkxOyBcCisgICAgRSMjYm8xID0gICBCYm8xIF4oICBCYnUxIHwgIEJiYTEgKTsgXAorICAgIENvMSA9IEUjI2JvMTsgXAorICAgIEUjI2J1MSA9ICAgQmJ1MSBeKCAgQmJhMSAmICBCYmUxICk7IFwKKyAgICBDdTEgPSBFIyNidTE7IFwKK1wKKyAgICBBIyNibzAgXj0gRG8wOyBcCisgICAgQmdhMCA9IFJPTDMyKEEjI2JvMCwgMTQpOyBcCisgICAgQSMjZ3UwIF49IER1MDsgXAorICAgIEJnZTAgPSBST0wzMihBIyNndTAsIDEwKTsgXAorICAgIEEjI2thMSBePSBEYTE7IFwKKyAgICBCZ2kwID0gUk9MMzIoQSMja2ExLCAyKTsgXAorICAgIEEjI21lMSBePSBEZTE7IFwKKyAgICBCZ28wID0gUk9MMzIoQSMjbWUxLCAyMyk7IFwKKyAgICBBIyNzaTEgXj0gRGkxOyBcCisgICAgQmd1MCA9IFJPTDMyKEEjI3NpMSwgMzEpOyBcCisgICAgRSMjZ2EwID0gICBCZ2EwIF4oICBCZ2UwIHwgIEJnaTAgKTsgXAorICAgIENhMCBePSBFIyNnYTA7IFwKKyAgICBFIyNnZTAgPSAgIEJnZTAgXiggIEJnaTAgJiAgQmdvMCApOyBcCisgICAgQ2UwIF49IEUjI2dlMDsgXAorICAgIEUjI2dpMCA9ICAgQmdpMCBeKCAgQmdvMCB8KH5CZ3UwKSk7IFwKKyAgICBDaTAgXj0gRSMjZ2kwOyBcCisgICAgRSMjZ28wID0gICBCZ28wIF4oICBCZ3UwIHwgIEJnYTAgKTsgXAorICAgIENvMCBePSBFIyNnbzA7IFwKKyAgICBFIyNndTAgPSAgIEJndTAgXiggIEJnYTAgJiAgQmdlMCApOyBcCisgICAgQ3UwIF49IEUjI2d1MDsgXAorXAorICAgIEEjI2JvMSBePSBEbzE7IFwKKyAgICBCZ2ExID0gUk9MMzIoQSMjYm8xLCAxNCk7IFwKKyAgICBBIyNndTEgXj0gRHUxOyBcCisgICAgQmdlMSA9IFJPTDMyKEEjI2d1MSwgMTApOyBcCisgICAgQSMja2EwIF49IERhMDsgXAorICAgIEJnaTEgPSBST0wzMihBIyNrYTAsIDEpOyBcCisgICAgQSMjbWUwIF49IERlMDsgXAorICAgIEJnbzEgPSBST0wzMihBIyNtZTAsIDIyKTsgXAorICAgIEEjI3NpMCBePSBEaTA7IFwKKyAgICBCZ3UxID0gUk9MMzIoQSMjc2kwLCAzMCk7IFwKKyAgICBFIyNnYTEgPSAgIEJnYTEgXiggIEJnZTEgfCAgQmdpMSApOyBcCisgICAgQ2ExIF49IEUjI2dhMTsgXAorICAgIEUjI2dlMSA9ICAgQmdlMSBeKCAgQmdpMSAmICBCZ28xICk7IFwKKyAgICBDZTEgXj0gRSMjZ2UxOyBcCisgICAgRSMjZ2kxID0gICBCZ2kxIF4oICBCZ28xIHwofkJndTEpKTsgXAorICAgIENpMSBePSBFIyNnaTE7IFwKKyAgICBFIyNnbzEgPSAgIEJnbzEgXiggIEJndTEgfCAgQmdhMSApOyBcCisgICAgQ28xIF49IEUjI2dvMTsgXAorICAgIEUjI2d1MSA9ICAgQmd1MSBeKCAgQmdhMSAmICBCZ2UxICk7IFwKKyAgICBDdTEgXj0gRSMjZ3UxOyBcCitcCisgICAgQSMjYmUxIF49IERlMTsgXAorICAgIEJrYTAgPSBST0wzMihBIyNiZTEsIDEpOyBcCisgICAgQSMjZ2kwIF49IERpMDsgXAorICAgIEJrZTAgPSBST0wzMihBIyNnaTAsIDMpOyBcCisgICAgQSMja28xIF49IERvMTsgXAorICAgIEJraTAgPSBST0wzMihBIyNrbzEsIDEzKTsgXAorICAgIEEjI211MCBePSBEdTA7IFwKKyAgICBCa28wID0gUk9MMzIoQSMjbXUwLCA0KTsgXAorICAgIEEjI3NhMCBePSBEYTA7IFwKKyAgICBCa3UwID0gUk9MMzIoQSMjc2EwLCA5KTsgXAorICAgIEUjI2thMCA9ICAgQmthMCBeKCAgQmtlMCB8ICBCa2kwICk7IFwKKyAgICBDYTAgXj0gRSMja2EwOyBcCisgICAgRSMja2UwID0gICBCa2UwIF4oICBCa2kwICYgIEJrbzAgKTsgXAorICAgIENlMCBePSBFIyNrZTA7IFwKKyAgICBFIyNraTAgPSAgIEJraTAgXigofkJrbzApJiAgQmt1MCApOyBcCisgICAgQ2kwIF49IEUjI2tpMDsgXAorICAgIEUjI2tvMCA9ICh+QmtvMCleKCAgQmt1MCB8ICBCa2EwICk7IFwKKyAgICBDbzAgXj0gRSMja28wOyBcCisgICAgRSMja3UwID0gICBCa3UwIF4oICBCa2EwICYgIEJrZTAgKTsgXAorICAgIEN1MCBePSBFIyNrdTA7IFwKK1wKKyAgICBBIyNiZTAgXj0gRGUwOyBcCisgICAgQmthMSA9IEEjI2JlMDsgXAorICAgIEEjI2dpMSBePSBEaTE7IFwKKyAgICBCa2UxID0gUk9MMzIoQSMjZ2kxLCAzKTsgXAorICAgIEEjI2tvMCBePSBEbzA7IFwKKyAgICBCa2kxID0gUk9MMzIoQSMja28wLCAxMik7IFwKKyAgICBBIyNtdTEgXj0gRHUxOyBcCisgICAgQmtvMSA9IFJPTDMyKEEjI211MSwgNCk7IFwKKyAgICBBIyNzYTEgXj0gRGExOyBcCisgICAgQmt1MSA9IFJPTDMyKEEjI3NhMSwgOSk7IFwKKyAgICBFIyNrYTEgPSAgIEJrYTEgXiggIEJrZTEgfCAgQmtpMSApOyBcCisgICAgQ2ExIF49IEUjI2thMTsgXAorICAgIEUjI2tlMSA9ICAgQmtlMSBeKCAgQmtpMSAmICBCa28xICk7IFwKKyAgICBDZTEgXj0gRSMja2UxOyBcCisgICAgRSMja2kxID0gICBCa2kxIF4oKH5Ca28xKSYgIEJrdTEgKTsgXAorICAgIENpMSBePSBFIyNraTE7IFwKKyAgICBFIyNrbzEgPSAofkJrbzEpXiggIEJrdTEgfCAgQmthMSApOyBcCisgICAgQ28xIF49IEUjI2tvMTsgXAorICAgIEUjI2t1MSA9ICAgQmt1MSBeKCAgQmthMSAmICBCa2UxICk7IFwKKyAgICBDdTEgXj0gRSMja3UxOyBcCitcCisgICAgQSMjYnUxIF49IER1MTsgXAorICAgIEJtYTAgPSBST0wzMihBIyNidTEsIDE0KTsgXAorICAgIEEjI2dhMCBePSBEYTA7IFwKKyAgICBCbWUwID0gUk9MMzIoQSMjZ2EwLCAxOCk7IFwKKyAgICBBIyNrZTAgXj0gRGUwOyBcCisgICAgQm1pMCA9IFJPTDMyKEEjI2tlMCwgNSk7IFwKKyAgICBBIyNtaTEgXj0gRGkxOyBcCisgICAgQm1vMCA9IFJPTDMyKEEjI21pMSwgOCk7IFwKKyAgICBBIyNzbzAgXj0gRG8wOyBcCisgICAgQm11MCA9IFJPTDMyKEEjI3NvMCwgMjgpOyBcCisgICAgRSMjbWEwID0gICBCbWEwIF4oICBCbWUwICYgIEJtaTAgKTsgXAorICAgIENhMCBePSBFIyNtYTA7IFwKKyAgICBFIyNtZTAgPSAgIEJtZTAgXiggIEJtaTAgfCAgQm1vMCApOyBcCisgICAgQ2UwIF49IEUjI21lMDsgXAorICAgIEUjI21pMCA9ICAgQm1pMCBeKCh+Qm1vMCl8ICBCbXUwICk7IFwKKyAgICBDaTAgXj0gRSMjbWkwOyBcCisgICAgRSMjbW8wID0gKH5CbW8wKV4oICBCbXUwICYgIEJtYTAgKTsgXAorICAgIENvMCBePSBFIyNtbzA7IFwKKyAgICBFIyNtdTAgPSAgIEJtdTAgXiggIEJtYTAgfCAgQm1lMCApOyBcCisgICAgQ3UwIF49IEUjI211MDsgXAorXAorICAgIEEjI2J1MCBePSBEdTA7IFwKKyAgICBCbWExID0gUk9MMzIoQSMjYnUwLCAxMyk7IFwKKyAgICBBIyNnYTEgXj0gRGExOyBcCisgICAgQm1lMSA9IFJPTDMyKEEjI2dhMSwgMTgpOyBcCisgICAgQSMja2UxIF49IERlMTsgXAorICAgIEJtaTEgPSBST0wzMihBIyNrZTEsIDUpOyBcCisgICAgQSMjbWkwIF49IERpMDsgXAorICAgIEJtbzEgPSBST0wzMihBIyNtaTAsIDcpOyBcCisgICAgQSMjc28xIF49IERvMTsgXAorICAgIEJtdTEgPSBST0wzMihBIyNzbzEsIDI4KTsgXAorICAgIEUjI21hMSA9ICAgQm1hMSBeKCAgQm1lMSAmICBCbWkxICk7IFwKKyAgICBDYTEgXj0gRSMjbWExOyBcCisgICAgRSMjbWUxID0gICBCbWUxIF4oICBCbWkxIHwgIEJtbzEgKTsgXAorICAgIENlMSBePSBFIyNtZTE7IFwKKyAgICBFIyNtaTEgPSAgIEJtaTEgXigofkJtbzEpfCAgQm11MSApOyBcCisgICAgQ2kxIF49IEUjI21pMTsgXAorICAgIEUjI21vMSA9ICh+Qm1vMSleKCAgQm11MSAmICBCbWExICk7IFwKKyAgICBDbzEgXj0gRSMjbW8xOyBcCisgICAgRSMjbXUxID0gICBCbXUxIF4oICBCbWExIHwgIEJtZTEgKTsgXAorICAgIEN1MSBePSBFIyNtdTE7IFwKK1wKKyAgICBBIyNiaTAgXj0gRGkwOyBcCisgICAgQnNhMCA9IFJPTDMyKEEjI2JpMCwgMzEpOyBcCisgICAgQSMjZ28xIF49IERvMTsgXAorICAgIEJzZTAgPSBST0wzMihBIyNnbzEsIDI4KTsgXAorICAgIEEjI2t1MSBePSBEdTE7IFwKKyAgICBCc2kwID0gUk9MMzIoQSMja3UxLCAyMCk7IFwKKyAgICBBIyNtYTEgXj0gRGExOyBcCisgICAgQnNvMCA9IFJPTDMyKEEjI21hMSwgMjEpOyBcCisgICAgQSMjc2UwIF49IERlMDsgXAorICAgIEJzdTAgPSBST0wzMihBIyNzZTAsIDEpOyBcCisgICAgRSMjc2EwID0gICBCc2EwIF4oKH5Cc2UwKSYgIEJzaTAgKTsgXAorICAgIENhMCBePSBFIyNzYTA7IFwKKyAgICBFIyNzZTAgPSAofkJzZTApXiggIEJzaTAgfCAgQnNvMCApOyBcCisgICAgQ2UwIF49IEUjI3NlMDsgXAorICAgIEUjI3NpMCA9ICAgQnNpMCBeKCAgQnNvMCAmICBCc3UwICk7IFwKKyAgICBDaTAgXj0gRSMjc2kwOyBcCisgICAgRSMjc28wID0gICBCc28wIF4oICBCc3UwIHwgIEJzYTAgKTsgXAorICAgIENvMCBePSBFIyNzbzA7IFwKKyAgICBFIyNzdTAgPSAgIEJzdTAgXiggIEJzYTAgJiAgQnNlMCApOyBcCisgICAgQ3UwIF49IEUjI3N1MDsgXAorXAorICAgIEEjI2JpMSBePSBEaTE7IFwKKyAgICBCc2ExID0gUk9MMzIoQSMjYmkxLCAzMSk7IFwKKyAgICBBIyNnbzAgXj0gRG8wOyBcCisgICAgQnNlMSA9IFJPTDMyKEEjI2dvMCwgMjcpOyBcCisgICAgQSMja3UwIF49IER1MDsgXAorICAgIEJzaTEgPSBST0wzMihBIyNrdTAsIDE5KTsgXAorICAgIEEjI21hMCBePSBEYTA7IFwKKyAgICBCc28xID0gUk9MMzIoQSMjbWEwLCAyMCk7IFwKKyAgICBBIyNzZTEgXj0gRGUxOyBcCisgICAgQnN1MSA9IFJPTDMyKEEjI3NlMSwgMSk7IFwKKyAgICBFIyNzYTEgPSAgIEJzYTEgXigofkJzZTEpJiAgQnNpMSApOyBcCisgICAgQ2ExIF49IEUjI3NhMTsgXAorICAgIEUjI3NlMSA9ICh+QnNlMSleKCAgQnNpMSB8ICBCc28xICk7IFwKKyAgICBDZTEgXj0gRSMjc2UxOyBcCisgICAgRSMjc2kxID0gICBCc2kxIF4oICBCc28xICYgIEJzdTEgKTsgXAorICAgIENpMSBePSBFIyNzaTE7IFwKKyAgICBFIyNzbzEgPSAgIEJzbzEgXiggIEJzdTEgfCAgQnNhMSApOyBcCisgICAgQ28xIF49IEUjI3NvMTsgXAorICAgIEUjI3N1MSA9ICAgQnN1MSBeKCAgQnNhMSAmICBCc2UxICk7IFwKKyAgICBDdTEgXj0gRSMjc3UxOyBcCitcCisKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQgKGxhbmUgY29tcGxlbWVudGluZyBwYXR0ZXJuICdiZWJpZ29raW1pc2EnKSAqLworLyogIC0tLSB1c2luZyBmYWN0b3IgMiBpbnRlcmxlYXZpbmcsIDY0LWJpdCBsYW5lcyBtYXBwZWQgdG8gMzItYml0IHdvcmRzICovCisjZGVmaW5lIHRoZXRhUmhvUGlDaGlJb3RhKGksIEEsIEUpIFwKKyAgICBEYTAgPSBDdTBeUk9MMzIoQ2UxLCAxKTsgXAorICAgIERhMSA9IEN1MV5DZTA7IFwKKyAgICBEZTAgPSBDYTBeUk9MMzIoQ2kxLCAxKTsgXAorICAgIERlMSA9IENhMV5DaTA7IFwKKyAgICBEaTAgPSBDZTBeUk9MMzIoQ28xLCAxKTsgXAorICAgIERpMSA9IENlMV5DbzA7IFwKKyAgICBEbzAgPSBDaTBeUk9MMzIoQ3UxLCAxKTsgXAorICAgIERvMSA9IENpMV5DdTA7IFwKKyAgICBEdTAgPSBDbzBeUk9MMzIoQ2ExLCAxKTsgXAorICAgIER1MSA9IENvMV5DYTA7IFwKK1wKKyAgICBBIyNiYTAgXj0gRGEwOyBcCisgICAgQmJhMCA9IEEjI2JhMDsgXAorICAgIEEjI2dlMCBePSBEZTA7IFwKKyAgICBCYmUwID0gUk9MMzIoQSMjZ2UwLCAyMik7IFwKKyAgICBBIyNraTEgXj0gRGkxOyBcCisgICAgQmJpMCA9IFJPTDMyKEEjI2tpMSwgMjIpOyBcCisgICAgQSMjbW8xIF49IERvMTsgXAorICAgIEJibzAgPSBST0wzMihBIyNtbzEsIDExKTsgXAorICAgIEEjI3N1MCBePSBEdTA7IFwKKyAgICBCYnUwID0gUk9MMzIoQSMjc3UwLCA3KTsgXAorICAgIEUjI2JhMCA9ICAgQmJhMCBeKCAgQmJlMCB8ICBCYmkwICk7IFwKKyAgICBFIyNiYTAgXj0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzBbaV07IFwKKyAgICBFIyNiZTAgPSAgIEJiZTAgXigofkJiaTApfCAgQmJvMCApOyBcCisgICAgRSMjYmkwID0gICBCYmkwIF4oICBCYm8wICYgIEJidTAgKTsgXAorICAgIEUjI2JvMCA9ICAgQmJvMCBeKCAgQmJ1MCB8ICBCYmEwICk7IFwKKyAgICBFIyNidTAgPSAgIEJidTAgXiggIEJiYTAgJiAgQmJlMCApOyBcCitcCisgICAgQSMjYmExIF49IERhMTsgXAorICAgIEJiYTEgPSBBIyNiYTE7IFwKKyAgICBBIyNnZTEgXj0gRGUxOyBcCisgICAgQmJlMSA9IFJPTDMyKEEjI2dlMSwgMjIpOyBcCisgICAgQSMja2kwIF49IERpMDsgXAorICAgIEJiaTEgPSBST0wzMihBIyNraTAsIDIxKTsgXAorICAgIEEjI21vMCBePSBEbzA7IFwKKyAgICBCYm8xID0gUk9MMzIoQSMjbW8wLCAxMCk7IFwKKyAgICBBIyNzdTEgXj0gRHUxOyBcCisgICAgQmJ1MSA9IFJPTDMyKEEjI3N1MSwgNyk7IFwKKyAgICBFIyNiYTEgPSAgIEJiYTEgXiggIEJiZTEgfCAgQmJpMSApOyBcCisgICAgRSMjYmExIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8xW2ldOyBcCisgICAgRSMjYmUxID0gICBCYmUxIF4oKH5CYmkxKXwgIEJibzEgKTsgXAorICAgIEUjI2JpMSA9ICAgQmJpMSBeKCAgQmJvMSAmICBCYnUxICk7IFwKKyAgICBFIyNibzEgPSAgIEJibzEgXiggIEJidTEgfCAgQmJhMSApOyBcCisgICAgRSMjYnUxID0gICBCYnUxIF4oICBCYmExICYgIEJiZTEgKTsgXAorXAorICAgIEEjI2JvMCBePSBEbzA7IFwKKyAgICBCZ2EwID0gUk9MMzIoQSMjYm8wLCAxNCk7IFwKKyAgICBBIyNndTAgXj0gRHUwOyBcCisgICAgQmdlMCA9IFJPTDMyKEEjI2d1MCwgMTApOyBcCisgICAgQSMja2ExIF49IERhMTsgXAorICAgIEJnaTAgPSBST0wzMihBIyNrYTEsIDIpOyBcCisgICAgQSMjbWUxIF49IERlMTsgXAorICAgIEJnbzAgPSBST0wzMihBIyNtZTEsIDIzKTsgXAorICAgIEEjI3NpMSBePSBEaTE7IFwKKyAgICBCZ3UwID0gUk9MMzIoQSMjc2kxLCAzMSk7IFwKKyAgICBFIyNnYTAgPSAgIEJnYTAgXiggIEJnZTAgfCAgQmdpMCApOyBcCisgICAgRSMjZ2UwID0gICBCZ2UwIF4oICBCZ2kwICYgIEJnbzAgKTsgXAorICAgIEUjI2dpMCA9ICAgQmdpMCBeKCAgQmdvMCB8KH5CZ3UwKSk7IFwKKyAgICBFIyNnbzAgPSAgIEJnbzAgXiggIEJndTAgfCAgQmdhMCApOyBcCisgICAgRSMjZ3UwID0gICBCZ3UwIF4oICBCZ2EwICYgIEJnZTAgKTsgXAorXAorICAgIEEjI2JvMSBePSBEbzE7IFwKKyAgICBCZ2ExID0gUk9MMzIoQSMjYm8xLCAxNCk7IFwKKyAgICBBIyNndTEgXj0gRHUxOyBcCisgICAgQmdlMSA9IFJPTDMyKEEjI2d1MSwgMTApOyBcCisgICAgQSMja2EwIF49IERhMDsgXAorICAgIEJnaTEgPSBST0wzMihBIyNrYTAsIDEpOyBcCisgICAgQSMjbWUwIF49IERlMDsgXAorICAgIEJnbzEgPSBST0wzMihBIyNtZTAsIDIyKTsgXAorICAgIEEjI3NpMCBePSBEaTA7IFwKKyAgICBCZ3UxID0gUk9MMzIoQSMjc2kwLCAzMCk7IFwKKyAgICBFIyNnYTEgPSAgIEJnYTEgXiggIEJnZTEgfCAgQmdpMSApOyBcCisgICAgRSMjZ2UxID0gICBCZ2UxIF4oICBCZ2kxICYgIEJnbzEgKTsgXAorICAgIEUjI2dpMSA9ICAgQmdpMSBeKCAgQmdvMSB8KH5CZ3UxKSk7IFwKKyAgICBFIyNnbzEgPSAgIEJnbzEgXiggIEJndTEgfCAgQmdhMSApOyBcCisgICAgRSMjZ3UxID0gICBCZ3UxIF4oICBCZ2ExICYgIEJnZTEgKTsgXAorXAorICAgIEEjI2JlMSBePSBEZTE7IFwKKyAgICBCa2EwID0gUk9MMzIoQSMjYmUxLCAxKTsgXAorICAgIEEjI2dpMCBePSBEaTA7IFwKKyAgICBCa2UwID0gUk9MMzIoQSMjZ2kwLCAzKTsgXAorICAgIEEjI2tvMSBePSBEbzE7IFwKKyAgICBCa2kwID0gUk9MMzIoQSMja28xLCAxMyk7IFwKKyAgICBBIyNtdTAgXj0gRHUwOyBcCisgICAgQmtvMCA9IFJPTDMyKEEjI211MCwgNCk7IFwKKyAgICBBIyNzYTAgXj0gRGEwOyBcCisgICAgQmt1MCA9IFJPTDMyKEEjI3NhMCwgOSk7IFwKKyAgICBFIyNrYTAgPSAgIEJrYTAgXiggIEJrZTAgfCAgQmtpMCApOyBcCisgICAgRSMja2UwID0gICBCa2UwIF4oICBCa2kwICYgIEJrbzAgKTsgXAorICAgIEUjI2tpMCA9ICAgQmtpMCBeKCh+QmtvMCkmICBCa3UwICk7IFwKKyAgICBFIyNrbzAgPSAofkJrbzApXiggIEJrdTAgfCAgQmthMCApOyBcCisgICAgRSMja3UwID0gICBCa3UwIF4oICBCa2EwICYgIEJrZTAgKTsgXAorXAorICAgIEEjI2JlMCBePSBEZTA7IFwKKyAgICBCa2ExID0gQSMjYmUwOyBcCisgICAgQSMjZ2kxIF49IERpMTsgXAorICAgIEJrZTEgPSBST0wzMihBIyNnaTEsIDMpOyBcCisgICAgQSMja28wIF49IERvMDsgXAorICAgIEJraTEgPSBST0wzMihBIyNrbzAsIDEyKTsgXAorICAgIEEjI211MSBePSBEdTE7IFwKKyAgICBCa28xID0gUk9MMzIoQSMjbXUxLCA0KTsgXAorICAgIEEjI3NhMSBePSBEYTE7IFwKKyAgICBCa3UxID0gUk9MMzIoQSMjc2ExLCA5KTsgXAorICAgIEUjI2thMSA9ICAgQmthMSBeKCAgQmtlMSB8ICBCa2kxICk7IFwKKyAgICBFIyNrZTEgPSAgIEJrZTEgXiggIEJraTEgJiAgQmtvMSApOyBcCisgICAgRSMja2kxID0gICBCa2kxIF4oKH5Ca28xKSYgIEJrdTEgKTsgXAorICAgIEUjI2tvMSA9ICh+QmtvMSleKCAgQmt1MSB8ICBCa2ExICk7IFwKKyAgICBFIyNrdTEgPSAgIEJrdTEgXiggIEJrYTEgJiAgQmtlMSApOyBcCitcCisgICAgQSMjYnUxIF49IER1MTsgXAorICAgIEJtYTAgPSBST0wzMihBIyNidTEsIDE0KTsgXAorICAgIEEjI2dhMCBePSBEYTA7IFwKKyAgICBCbWUwID0gUk9MMzIoQSMjZ2EwLCAxOCk7IFwKKyAgICBBIyNrZTAgXj0gRGUwOyBcCisgICAgQm1pMCA9IFJPTDMyKEEjI2tlMCwgNSk7IFwKKyAgICBBIyNtaTEgXj0gRGkxOyBcCisgICAgQm1vMCA9IFJPTDMyKEEjI21pMSwgOCk7IFwKKyAgICBBIyNzbzAgXj0gRG8wOyBcCisgICAgQm11MCA9IFJPTDMyKEEjI3NvMCwgMjgpOyBcCisgICAgRSMjbWEwID0gICBCbWEwIF4oICBCbWUwICYgIEJtaTAgKTsgXAorICAgIEUjI21lMCA9ICAgQm1lMCBeKCAgQm1pMCB8ICBCbW8wICk7IFwKKyAgICBFIyNtaTAgPSAgIEJtaTAgXigofkJtbzApfCAgQm11MCApOyBcCisgICAgRSMjbW8wID0gKH5CbW8wKV4oICBCbXUwICYgIEJtYTAgKTsgXAorICAgIEUjI211MCA9ICAgQm11MCBeKCAgQm1hMCB8ICBCbWUwICk7IFwKK1wKKyAgICBBIyNidTAgXj0gRHUwOyBcCisgICAgQm1hMSA9IFJPTDMyKEEjI2J1MCwgMTMpOyBcCisgICAgQSMjZ2ExIF49IERhMTsgXAorICAgIEJtZTEgPSBST0wzMihBIyNnYTEsIDE4KTsgXAorICAgIEEjI2tlMSBePSBEZTE7IFwKKyAgICBCbWkxID0gUk9MMzIoQSMja2UxLCA1KTsgXAorICAgIEEjI21pMCBePSBEaTA7IFwKKyAgICBCbW8xID0gUk9MMzIoQSMjbWkwLCA3KTsgXAorICAgIEEjI3NvMSBePSBEbzE7IFwKKyAgICBCbXUxID0gUk9MMzIoQSMjc28xLCAyOCk7IFwKKyAgICBFIyNtYTEgPSAgIEJtYTEgXiggIEJtZTEgJiAgQm1pMSApOyBcCisgICAgRSMjbWUxID0gICBCbWUxIF4oICBCbWkxIHwgIEJtbzEgKTsgXAorICAgIEUjI21pMSA9ICAgQm1pMSBeKCh+Qm1vMSl8ICBCbXUxICk7IFwKKyAgICBFIyNtbzEgPSAofkJtbzEpXiggIEJtdTEgJiAgQm1hMSApOyBcCisgICAgRSMjbXUxID0gICBCbXUxIF4oICBCbWExIHwgIEJtZTEgKTsgXAorXAorICAgIEEjI2JpMCBePSBEaTA7IFwKKyAgICBCc2EwID0gUk9MMzIoQSMjYmkwLCAzMSk7IFwKKyAgICBBIyNnbzEgXj0gRG8xOyBcCisgICAgQnNlMCA9IFJPTDMyKEEjI2dvMSwgMjgpOyBcCisgICAgQSMja3UxIF49IER1MTsgXAorICAgIEJzaTAgPSBST0wzMihBIyNrdTEsIDIwKTsgXAorICAgIEEjI21hMSBePSBEYTE7IFwKKyAgICBCc28wID0gUk9MMzIoQSMjbWExLCAyMSk7IFwKKyAgICBBIyNzZTAgXj0gRGUwOyBcCisgICAgQnN1MCA9IFJPTDMyKEEjI3NlMCwgMSk7IFwKKyAgICBFIyNzYTAgPSAgIEJzYTAgXigofkJzZTApJiAgQnNpMCApOyBcCisgICAgRSMjc2UwID0gKH5Cc2UwKV4oICBCc2kwIHwgIEJzbzAgKTsgXAorICAgIEUjI3NpMCA9ICAgQnNpMCBeKCAgQnNvMCAmICBCc3UwICk7IFwKKyAgICBFIyNzbzAgPSAgIEJzbzAgXiggIEJzdTAgfCAgQnNhMCApOyBcCisgICAgRSMjc3UwID0gICBCc3UwIF4oICBCc2EwICYgIEJzZTAgKTsgXAorXAorICAgIEEjI2JpMSBePSBEaTE7IFwKKyAgICBCc2ExID0gUk9MMzIoQSMjYmkxLCAzMSk7IFwKKyAgICBBIyNnbzAgXj0gRG8wOyBcCisgICAgQnNlMSA9IFJPTDMyKEEjI2dvMCwgMjcpOyBcCisgICAgQSMja3UwIF49IER1MDsgXAorICAgIEJzaTEgPSBST0wzMihBIyNrdTAsIDE5KTsgXAorICAgIEEjI21hMCBePSBEYTA7IFwKKyAgICBCc28xID0gUk9MMzIoQSMjbWEwLCAyMCk7IFwKKyAgICBBIyNzZTEgXj0gRGUxOyBcCisgICAgQnN1MSA9IFJPTDMyKEEjI3NlMSwgMSk7IFwKKyAgICBFIyNzYTEgPSAgIEJzYTEgXigofkJzZTEpJiAgQnNpMSApOyBcCisgICAgRSMjc2UxID0gKH5Cc2UxKV4oICBCc2kxIHwgIEJzbzEgKTsgXAorICAgIEUjI3NpMSA9ICAgQnNpMSBeKCAgQnNvMSAmICBCc3UxICk7IFwKKyAgICBFIyNzbzEgPSAgIEJzbzEgXiggIEJzdTEgfCAgQnNhMSApOyBcCisgICAgRSMjc3UxID0gICBCc3UxIF4oICBCc2ExICYgIEJzZTEgKTsgXAorXAorCisjZWxzZSAvKiAgVXNlQmViaWdva2ltaXNhICovCisvKiAgLS0tIENvZGUgZm9yIHJvdW5kLCB3aXRoIHByZXBhcmUtdGhldGEgKi8KKy8qICAtLS0gdXNpbmcgZmFjdG9yIDIgaW50ZXJsZWF2aW5nLCA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpLCBBLCBFKSBcCisgICAgRGEwID0gQ3UwXlJPTDMyKENlMSwgMSk7IFwKKyAgICBEYTEgPSBDdTFeQ2UwOyBcCisgICAgRGUwID0gQ2EwXlJPTDMyKENpMSwgMSk7IFwKKyAgICBEZTEgPSBDYTFeQ2kwOyBcCisgICAgRGkwID0gQ2UwXlJPTDMyKENvMSwgMSk7IFwKKyAgICBEaTEgPSBDZTFeQ28wOyBcCisgICAgRG8wID0gQ2kwXlJPTDMyKEN1MSwgMSk7IFwKKyAgICBEbzEgPSBDaTFeQ3UwOyBcCisgICAgRHUwID0gQ28wXlJPTDMyKENhMSwgMSk7IFwKKyAgICBEdTEgPSBDbzFeQ2EwOyBcCitcCisgICAgQSMjYmEwIF49IERhMDsgXAorICAgIEJiYTAgPSBBIyNiYTA7IFwKKyAgICBBIyNnZTAgXj0gRGUwOyBcCisgICAgQmJlMCA9IFJPTDMyKEEjI2dlMCwgMjIpOyBcCisgICAgQSMja2kxIF49IERpMTsgXAorICAgIEJiaTAgPSBST0wzMihBIyNraTEsIDIyKTsgXAorICAgIEEjI21vMSBePSBEbzE7IFwKKyAgICBCYm8wID0gUk9MMzIoQSMjbW8xLCAxMSk7IFwKKyAgICBBIyNzdTAgXj0gRHUwOyBcCisgICAgQmJ1MCA9IFJPTDMyKEEjI3N1MCwgNyk7IFwKKyAgICBFIyNiYTAgPSAgIEJiYTAgXigofkJiZTApJiAgQmJpMCApOyBcCisgICAgRSMjYmEwIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8wW2ldOyBcCisgICAgQ2EwID0gRSMjYmEwOyBcCisgICAgRSMjYmUwID0gICBCYmUwIF4oKH5CYmkwKSYgIEJibzAgKTsgXAorICAgIENlMCA9IEUjI2JlMDsgXAorICAgIEUjI2JpMCA9ICAgQmJpMCBeKCh+QmJvMCkmICBCYnUwICk7IFwKKyAgICBDaTAgPSBFIyNiaTA7IFwKKyAgICBFIyNibzAgPSAgIEJibzAgXigofkJidTApJiAgQmJhMCApOyBcCisgICAgQ28wID0gRSMjYm8wOyBcCisgICAgRSMjYnUwID0gICBCYnUwIF4oKH5CYmEwKSYgIEJiZTAgKTsgXAorICAgIEN1MCA9IEUjI2J1MDsgXAorXAorICAgIEEjI2JhMSBePSBEYTE7IFwKKyAgICBCYmExID0gQSMjYmExOyBcCisgICAgQSMjZ2UxIF49IERlMTsgXAorICAgIEJiZTEgPSBST0wzMihBIyNnZTEsIDIyKTsgXAorICAgIEEjI2tpMCBePSBEaTA7IFwKKyAgICBCYmkxID0gUk9MMzIoQSMja2kwLCAyMSk7IFwKKyAgICBBIyNtbzAgXj0gRG8wOyBcCisgICAgQmJvMSA9IFJPTDMyKEEjI21vMCwgMTApOyBcCisgICAgQSMjc3UxIF49IER1MTsgXAorICAgIEJidTEgPSBST0wzMihBIyNzdTEsIDcpOyBcCisgICAgRSMjYmExID0gICBCYmExIF4oKH5CYmUxKSYgIEJiaTEgKTsgXAorICAgIEUjI2JhMSBePSBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzX2ludDJfMVtpXTsgXAorICAgIENhMSA9IEUjI2JhMTsgXAorICAgIEUjI2JlMSA9ICAgQmJlMSBeKCh+QmJpMSkmICBCYm8xICk7IFwKKyAgICBDZTEgPSBFIyNiZTE7IFwKKyAgICBFIyNiaTEgPSAgIEJiaTEgXigofkJibzEpJiAgQmJ1MSApOyBcCisgICAgQ2kxID0gRSMjYmkxOyBcCisgICAgRSMjYm8xID0gICBCYm8xIF4oKH5CYnUxKSYgIEJiYTEgKTsgXAorICAgIENvMSA9IEUjI2JvMTsgXAorICAgIEUjI2J1MSA9ICAgQmJ1MSBeKCh+QmJhMSkmICBCYmUxICk7IFwKKyAgICBDdTEgPSBFIyNidTE7IFwKK1wKKyAgICBBIyNibzAgXj0gRG8wOyBcCisgICAgQmdhMCA9IFJPTDMyKEEjI2JvMCwgMTQpOyBcCisgICAgQSMjZ3UwIF49IER1MDsgXAorICAgIEJnZTAgPSBST0wzMihBIyNndTAsIDEwKTsgXAorICAgIEEjI2thMSBePSBEYTE7IFwKKyAgICBCZ2kwID0gUk9MMzIoQSMja2ExLCAyKTsgXAorICAgIEEjI21lMSBePSBEZTE7IFwKKyAgICBCZ28wID0gUk9MMzIoQSMjbWUxLCAyMyk7IFwKKyAgICBBIyNzaTEgXj0gRGkxOyBcCisgICAgQmd1MCA9IFJPTDMyKEEjI3NpMSwgMzEpOyBcCisgICAgRSMjZ2EwID0gICBCZ2EwIF4oKH5CZ2UwKSYgIEJnaTAgKTsgXAorICAgIENhMCBePSBFIyNnYTA7IFwKKyAgICBFIyNnZTAgPSAgIEJnZTAgXigofkJnaTApJiAgQmdvMCApOyBcCisgICAgQ2UwIF49IEUjI2dlMDsgXAorICAgIEUjI2dpMCA9ICAgQmdpMCBeKCh+QmdvMCkmICBCZ3UwICk7IFwKKyAgICBDaTAgXj0gRSMjZ2kwOyBcCisgICAgRSMjZ28wID0gICBCZ28wIF4oKH5CZ3UwKSYgIEJnYTAgKTsgXAorICAgIENvMCBePSBFIyNnbzA7IFwKKyAgICBFIyNndTAgPSAgIEJndTAgXigofkJnYTApJiAgQmdlMCApOyBcCisgICAgQ3UwIF49IEUjI2d1MDsgXAorXAorICAgIEEjI2JvMSBePSBEbzE7IFwKKyAgICBCZ2ExID0gUk9MMzIoQSMjYm8xLCAxNCk7IFwKKyAgICBBIyNndTEgXj0gRHUxOyBcCisgICAgQmdlMSA9IFJPTDMyKEEjI2d1MSwgMTApOyBcCisgICAgQSMja2EwIF49IERhMDsgXAorICAgIEJnaTEgPSBST0wzMihBIyNrYTAsIDEpOyBcCisgICAgQSMjbWUwIF49IERlMDsgXAorICAgIEJnbzEgPSBST0wzMihBIyNtZTAsIDIyKTsgXAorICAgIEEjI3NpMCBePSBEaTA7IFwKKyAgICBCZ3UxID0gUk9MMzIoQSMjc2kwLCAzMCk7IFwKKyAgICBFIyNnYTEgPSAgIEJnYTEgXigofkJnZTEpJiAgQmdpMSApOyBcCisgICAgQ2ExIF49IEUjI2dhMTsgXAorICAgIEUjI2dlMSA9ICAgQmdlMSBeKCh+QmdpMSkmICBCZ28xICk7IFwKKyAgICBDZTEgXj0gRSMjZ2UxOyBcCisgICAgRSMjZ2kxID0gICBCZ2kxIF4oKH5CZ28xKSYgIEJndTEgKTsgXAorICAgIENpMSBePSBFIyNnaTE7IFwKKyAgICBFIyNnbzEgPSAgIEJnbzEgXigofkJndTEpJiAgQmdhMSApOyBcCisgICAgQ28xIF49IEUjI2dvMTsgXAorICAgIEUjI2d1MSA9ICAgQmd1MSBeKCh+QmdhMSkmICBCZ2UxICk7IFwKKyAgICBDdTEgXj0gRSMjZ3UxOyBcCitcCisgICAgQSMjYmUxIF49IERlMTsgXAorICAgIEJrYTAgPSBST0wzMihBIyNiZTEsIDEpOyBcCisgICAgQSMjZ2kwIF49IERpMDsgXAorICAgIEJrZTAgPSBST0wzMihBIyNnaTAsIDMpOyBcCisgICAgQSMja28xIF49IERvMTsgXAorICAgIEJraTAgPSBST0wzMihBIyNrbzEsIDEzKTsgXAorICAgIEEjI211MCBePSBEdTA7IFwKKyAgICBCa28wID0gUk9MMzIoQSMjbXUwLCA0KTsgXAorICAgIEEjI3NhMCBePSBEYTA7IFwKKyAgICBCa3UwID0gUk9MMzIoQSMjc2EwLCA5KTsgXAorICAgIEUjI2thMCA9ICAgQmthMCBeKCh+QmtlMCkmICBCa2kwICk7IFwKKyAgICBDYTAgXj0gRSMja2EwOyBcCisgICAgRSMja2UwID0gICBCa2UwIF4oKH5Ca2kwKSYgIEJrbzAgKTsgXAorICAgIENlMCBePSBFIyNrZTA7IFwKKyAgICBFIyNraTAgPSAgIEJraTAgXigofkJrbzApJiAgQmt1MCApOyBcCisgICAgQ2kwIF49IEUjI2tpMDsgXAorICAgIEUjI2tvMCA9ICAgQmtvMCBeKCh+Qmt1MCkmICBCa2EwICk7IFwKKyAgICBDbzAgXj0gRSMja28wOyBcCisgICAgRSMja3UwID0gICBCa3UwIF4oKH5Ca2EwKSYgIEJrZTAgKTsgXAorICAgIEN1MCBePSBFIyNrdTA7IFwKK1wKKyAgICBBIyNiZTAgXj0gRGUwOyBcCisgICAgQmthMSA9IEEjI2JlMDsgXAorICAgIEEjI2dpMSBePSBEaTE7IFwKKyAgICBCa2UxID0gUk9MMzIoQSMjZ2kxLCAzKTsgXAorICAgIEEjI2tvMCBePSBEbzA7IFwKKyAgICBCa2kxID0gUk9MMzIoQSMja28wLCAxMik7IFwKKyAgICBBIyNtdTEgXj0gRHUxOyBcCisgICAgQmtvMSA9IFJPTDMyKEEjI211MSwgNCk7IFwKKyAgICBBIyNzYTEgXj0gRGExOyBcCisgICAgQmt1MSA9IFJPTDMyKEEjI3NhMSwgOSk7IFwKKyAgICBFIyNrYTEgPSAgIEJrYTEgXigofkJrZTEpJiAgQmtpMSApOyBcCisgICAgQ2ExIF49IEUjI2thMTsgXAorICAgIEUjI2tlMSA9ICAgQmtlMSBeKCh+QmtpMSkmICBCa28xICk7IFwKKyAgICBDZTEgXj0gRSMja2UxOyBcCisgICAgRSMja2kxID0gICBCa2kxIF4oKH5Ca28xKSYgIEJrdTEgKTsgXAorICAgIENpMSBePSBFIyNraTE7IFwKKyAgICBFIyNrbzEgPSAgIEJrbzEgXigofkJrdTEpJiAgQmthMSApOyBcCisgICAgQ28xIF49IEUjI2tvMTsgXAorICAgIEUjI2t1MSA9ICAgQmt1MSBeKCh+QmthMSkmICBCa2UxICk7IFwKKyAgICBDdTEgXj0gRSMja3UxOyBcCitcCisgICAgQSMjYnUxIF49IER1MTsgXAorICAgIEJtYTAgPSBST0wzMihBIyNidTEsIDE0KTsgXAorICAgIEEjI2dhMCBePSBEYTA7IFwKKyAgICBCbWUwID0gUk9MMzIoQSMjZ2EwLCAxOCk7IFwKKyAgICBBIyNrZTAgXj0gRGUwOyBcCisgICAgQm1pMCA9IFJPTDMyKEEjI2tlMCwgNSk7IFwKKyAgICBBIyNtaTEgXj0gRGkxOyBcCisgICAgQm1vMCA9IFJPTDMyKEEjI21pMSwgOCk7IFwKKyAgICBBIyNzbzAgXj0gRG8wOyBcCisgICAgQm11MCA9IFJPTDMyKEEjI3NvMCwgMjgpOyBcCisgICAgRSMjbWEwID0gICBCbWEwIF4oKH5CbWUwKSYgIEJtaTAgKTsgXAorICAgIENhMCBePSBFIyNtYTA7IFwKKyAgICBFIyNtZTAgPSAgIEJtZTAgXigofkJtaTApJiAgQm1vMCApOyBcCisgICAgQ2UwIF49IEUjI21lMDsgXAorICAgIEUjI21pMCA9ICAgQm1pMCBeKCh+Qm1vMCkmICBCbXUwICk7IFwKKyAgICBDaTAgXj0gRSMjbWkwOyBcCisgICAgRSMjbW8wID0gICBCbW8wIF4oKH5CbXUwKSYgIEJtYTAgKTsgXAorICAgIENvMCBePSBFIyNtbzA7IFwKKyAgICBFIyNtdTAgPSAgIEJtdTAgXigofkJtYTApJiAgQm1lMCApOyBcCisgICAgQ3UwIF49IEUjI211MDsgXAorXAorICAgIEEjI2J1MCBePSBEdTA7IFwKKyAgICBCbWExID0gUk9MMzIoQSMjYnUwLCAxMyk7IFwKKyAgICBBIyNnYTEgXj0gRGExOyBcCisgICAgQm1lMSA9IFJPTDMyKEEjI2dhMSwgMTgpOyBcCisgICAgQSMja2UxIF49IERlMTsgXAorICAgIEJtaTEgPSBST0wzMihBIyNrZTEsIDUpOyBcCisgICAgQSMjbWkwIF49IERpMDsgXAorICAgIEJtbzEgPSBST0wzMihBIyNtaTAsIDcpOyBcCisgICAgQSMjc28xIF49IERvMTsgXAorICAgIEJtdTEgPSBST0wzMihBIyNzbzEsIDI4KTsgXAorICAgIEUjI21hMSA9ICAgQm1hMSBeKCh+Qm1lMSkmICBCbWkxICk7IFwKKyAgICBDYTEgXj0gRSMjbWExOyBcCisgICAgRSMjbWUxID0gICBCbWUxIF4oKH5CbWkxKSYgIEJtbzEgKTsgXAorICAgIENlMSBePSBFIyNtZTE7IFwKKyAgICBFIyNtaTEgPSAgIEJtaTEgXigofkJtbzEpJiAgQm11MSApOyBcCisgICAgQ2kxIF49IEUjI21pMTsgXAorICAgIEUjI21vMSA9ICAgQm1vMSBeKCh+Qm11MSkmICBCbWExICk7IFwKKyAgICBDbzEgXj0gRSMjbW8xOyBcCisgICAgRSMjbXUxID0gICBCbXUxIF4oKH5CbWExKSYgIEJtZTEgKTsgXAorICAgIEN1MSBePSBFIyNtdTE7IFwKK1wKKyAgICBBIyNiaTAgXj0gRGkwOyBcCisgICAgQnNhMCA9IFJPTDMyKEEjI2JpMCwgMzEpOyBcCisgICAgQSMjZ28xIF49IERvMTsgXAorICAgIEJzZTAgPSBST0wzMihBIyNnbzEsIDI4KTsgXAorICAgIEEjI2t1MSBePSBEdTE7IFwKKyAgICBCc2kwID0gUk9MMzIoQSMja3UxLCAyMCk7IFwKKyAgICBBIyNtYTEgXj0gRGExOyBcCisgICAgQnNvMCA9IFJPTDMyKEEjI21hMSwgMjEpOyBcCisgICAgQSMjc2UwIF49IERlMDsgXAorICAgIEJzdTAgPSBST0wzMihBIyNzZTAsIDEpOyBcCisgICAgRSMjc2EwID0gICBCc2EwIF4oKH5Cc2UwKSYgIEJzaTAgKTsgXAorICAgIENhMCBePSBFIyNzYTA7IFwKKyAgICBFIyNzZTAgPSAgIEJzZTAgXigofkJzaTApJiAgQnNvMCApOyBcCisgICAgQ2UwIF49IEUjI3NlMDsgXAorICAgIEUjI3NpMCA9ICAgQnNpMCBeKCh+QnNvMCkmICBCc3UwICk7IFwKKyAgICBDaTAgXj0gRSMjc2kwOyBcCisgICAgRSMjc28wID0gICBCc28wIF4oKH5Cc3UwKSYgIEJzYTAgKTsgXAorICAgIENvMCBePSBFIyNzbzA7IFwKKyAgICBFIyNzdTAgPSAgIEJzdTAgXigofkJzYTApJiAgQnNlMCApOyBcCisgICAgQ3UwIF49IEUjI3N1MDsgXAorXAorICAgIEEjI2JpMSBePSBEaTE7IFwKKyAgICBCc2ExID0gUk9MMzIoQSMjYmkxLCAzMSk7IFwKKyAgICBBIyNnbzAgXj0gRG8wOyBcCisgICAgQnNlMSA9IFJPTDMyKEEjI2dvMCwgMjcpOyBcCisgICAgQSMja3UwIF49IER1MDsgXAorICAgIEJzaTEgPSBST0wzMihBIyNrdTAsIDE5KTsgXAorICAgIEEjI21hMCBePSBEYTA7IFwKKyAgICBCc28xID0gUk9MMzIoQSMjbWEwLCAyMCk7IFwKKyAgICBBIyNzZTEgXj0gRGUxOyBcCisgICAgQnN1MSA9IFJPTDMyKEEjI3NlMSwgMSk7IFwKKyAgICBFIyNzYTEgPSAgIEJzYTEgXigofkJzZTEpJiAgQnNpMSApOyBcCisgICAgQ2ExIF49IEUjI3NhMTsgXAorICAgIEUjI3NlMSA9ICAgQnNlMSBeKCh+QnNpMSkmICBCc28xICk7IFwKKyAgICBDZTEgXj0gRSMjc2UxOyBcCisgICAgRSMjc2kxID0gICBCc2kxIF4oKH5Cc28xKSYgIEJzdTEgKTsgXAorICAgIENpMSBePSBFIyNzaTE7IFwKKyAgICBFIyNzbzEgPSAgIEJzbzEgXigofkJzdTEpJiAgQnNhMSApOyBcCisgICAgQ28xIF49IEUjI3NvMTsgXAorICAgIEUjI3N1MSA9ICAgQnN1MSBeKCh+QnNhMSkmICBCc2UxICk7IFwKKyAgICBDdTEgXj0gRSMjc3UxOyBcCitcCisKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQgKi8KKy8qICAtLS0gdXNpbmcgZmFjdG9yIDIgaW50ZXJsZWF2aW5nLCA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YShpLCBBLCBFKSBcCisgICAgRGEwID0gQ3UwXlJPTDMyKENlMSwgMSk7IFwKKyAgICBEYTEgPSBDdTFeQ2UwOyBcCisgICAgRGUwID0gQ2EwXlJPTDMyKENpMSwgMSk7IFwKKyAgICBEZTEgPSBDYTFeQ2kwOyBcCisgICAgRGkwID0gQ2UwXlJPTDMyKENvMSwgMSk7IFwKKyAgICBEaTEgPSBDZTFeQ28wOyBcCisgICAgRG8wID0gQ2kwXlJPTDMyKEN1MSwgMSk7IFwKKyAgICBEbzEgPSBDaTFeQ3UwOyBcCisgICAgRHUwID0gQ28wXlJPTDMyKENhMSwgMSk7IFwKKyAgICBEdTEgPSBDbzFeQ2EwOyBcCitcCisgICAgQSMjYmEwIF49IERhMDsgXAorICAgIEJiYTAgPSBBIyNiYTA7IFwKKyAgICBBIyNnZTAgXj0gRGUwOyBcCisgICAgQmJlMCA9IFJPTDMyKEEjI2dlMCwgMjIpOyBcCisgICAgQSMja2kxIF49IERpMTsgXAorICAgIEJiaTAgPSBST0wzMihBIyNraTEsIDIyKTsgXAorICAgIEEjI21vMSBePSBEbzE7IFwKKyAgICBCYm8wID0gUk9MMzIoQSMjbW8xLCAxMSk7IFwKKyAgICBBIyNzdTAgXj0gRHUwOyBcCisgICAgQmJ1MCA9IFJPTDMyKEEjI3N1MCwgNyk7IFwKKyAgICBFIyNiYTAgPSAgIEJiYTAgXigofkJiZTApJiAgQmJpMCApOyBcCisgICAgRSMjYmEwIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8wW2ldOyBcCisgICAgRSMjYmUwID0gICBCYmUwIF4oKH5CYmkwKSYgIEJibzAgKTsgXAorICAgIEUjI2JpMCA9ICAgQmJpMCBeKCh+QmJvMCkmICBCYnUwICk7IFwKKyAgICBFIyNibzAgPSAgIEJibzAgXigofkJidTApJiAgQmJhMCApOyBcCisgICAgRSMjYnUwID0gICBCYnUwIF4oKH5CYmEwKSYgIEJiZTAgKTsgXAorXAorICAgIEEjI2JhMSBePSBEYTE7IFwKKyAgICBCYmExID0gQSMjYmExOyBcCisgICAgQSMjZ2UxIF49IERlMTsgXAorICAgIEJiZTEgPSBST0wzMihBIyNnZTEsIDIyKTsgXAorICAgIEEjI2tpMCBePSBEaTA7IFwKKyAgICBCYmkxID0gUk9MMzIoQSMja2kwLCAyMSk7IFwKKyAgICBBIyNtbzAgXj0gRG8wOyBcCisgICAgQmJvMSA9IFJPTDMyKEEjI21vMCwgMTApOyBcCisgICAgQSMjc3UxIF49IER1MTsgXAorICAgIEJidTEgPSBST0wzMihBIyNzdTEsIDcpOyBcCisgICAgRSMjYmExID0gICBCYmExIF4oKH5CYmUxKSYgIEJiaTEgKTsgXAorICAgIEUjI2JhMSBePSBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzX2ludDJfMVtpXTsgXAorICAgIEUjI2JlMSA9ICAgQmJlMSBeKCh+QmJpMSkmICBCYm8xICk7IFwKKyAgICBFIyNiaTEgPSAgIEJiaTEgXigofkJibzEpJiAgQmJ1MSApOyBcCisgICAgRSMjYm8xID0gICBCYm8xIF4oKH5CYnUxKSYgIEJiYTEgKTsgXAorICAgIEUjI2J1MSA9ICAgQmJ1MSBeKCh+QmJhMSkmICBCYmUxICk7IFwKK1wKKyAgICBBIyNibzAgXj0gRG8wOyBcCisgICAgQmdhMCA9IFJPTDMyKEEjI2JvMCwgMTQpOyBcCisgICAgQSMjZ3UwIF49IER1MDsgXAorICAgIEJnZTAgPSBST0wzMihBIyNndTAsIDEwKTsgXAorICAgIEEjI2thMSBePSBEYTE7IFwKKyAgICBCZ2kwID0gUk9MMzIoQSMja2ExLCAyKTsgXAorICAgIEEjI21lMSBePSBEZTE7IFwKKyAgICBCZ28wID0gUk9MMzIoQSMjbWUxLCAyMyk7IFwKKyAgICBBIyNzaTEgXj0gRGkxOyBcCisgICAgQmd1MCA9IFJPTDMyKEEjI3NpMSwgMzEpOyBcCisgICAgRSMjZ2EwID0gICBCZ2EwIF4oKH5CZ2UwKSYgIEJnaTAgKTsgXAorICAgIEUjI2dlMCA9ICAgQmdlMCBeKCh+QmdpMCkmICBCZ28wICk7IFwKKyAgICBFIyNnaTAgPSAgIEJnaTAgXigofkJnbzApJiAgQmd1MCApOyBcCisgICAgRSMjZ28wID0gICBCZ28wIF4oKH5CZ3UwKSYgIEJnYTAgKTsgXAorICAgIEUjI2d1MCA9ICAgQmd1MCBeKCh+QmdhMCkmICBCZ2UwICk7IFwKK1wKKyAgICBBIyNibzEgXj0gRG8xOyBcCisgICAgQmdhMSA9IFJPTDMyKEEjI2JvMSwgMTQpOyBcCisgICAgQSMjZ3UxIF49IER1MTsgXAorICAgIEJnZTEgPSBST0wzMihBIyNndTEsIDEwKTsgXAorICAgIEEjI2thMCBePSBEYTA7IFwKKyAgICBCZ2kxID0gUk9MMzIoQSMja2EwLCAxKTsgXAorICAgIEEjI21lMCBePSBEZTA7IFwKKyAgICBCZ28xID0gUk9MMzIoQSMjbWUwLCAyMik7IFwKKyAgICBBIyNzaTAgXj0gRGkwOyBcCisgICAgQmd1MSA9IFJPTDMyKEEjI3NpMCwgMzApOyBcCisgICAgRSMjZ2ExID0gICBCZ2ExIF4oKH5CZ2UxKSYgIEJnaTEgKTsgXAorICAgIEUjI2dlMSA9ICAgQmdlMSBeKCh+QmdpMSkmICBCZ28xICk7IFwKKyAgICBFIyNnaTEgPSAgIEJnaTEgXigofkJnbzEpJiAgQmd1MSApOyBcCisgICAgRSMjZ28xID0gICBCZ28xIF4oKH5CZ3UxKSYgIEJnYTEgKTsgXAorICAgIEUjI2d1MSA9ICAgQmd1MSBeKCh+QmdhMSkmICBCZ2UxICk7IFwKK1wKKyAgICBBIyNiZTEgXj0gRGUxOyBcCisgICAgQmthMCA9IFJPTDMyKEEjI2JlMSwgMSk7IFwKKyAgICBBIyNnaTAgXj0gRGkwOyBcCisgICAgQmtlMCA9IFJPTDMyKEEjI2dpMCwgMyk7IFwKKyAgICBBIyNrbzEgXj0gRG8xOyBcCisgICAgQmtpMCA9IFJPTDMyKEEjI2tvMSwgMTMpOyBcCisgICAgQSMjbXUwIF49IER1MDsgXAorICAgIEJrbzAgPSBST0wzMihBIyNtdTAsIDQpOyBcCisgICAgQSMjc2EwIF49IERhMDsgXAorICAgIEJrdTAgPSBST0wzMihBIyNzYTAsIDkpOyBcCisgICAgRSMja2EwID0gICBCa2EwIF4oKH5Ca2UwKSYgIEJraTAgKTsgXAorICAgIEUjI2tlMCA9ICAgQmtlMCBeKCh+QmtpMCkmICBCa28wICk7IFwKKyAgICBFIyNraTAgPSAgIEJraTAgXigofkJrbzApJiAgQmt1MCApOyBcCisgICAgRSMja28wID0gICBCa28wIF4oKH5Ca3UwKSYgIEJrYTAgKTsgXAorICAgIEUjI2t1MCA9ICAgQmt1MCBeKCh+QmthMCkmICBCa2UwICk7IFwKK1wKKyAgICBBIyNiZTAgXj0gRGUwOyBcCisgICAgQmthMSA9IEEjI2JlMDsgXAorICAgIEEjI2dpMSBePSBEaTE7IFwKKyAgICBCa2UxID0gUk9MMzIoQSMjZ2kxLCAzKTsgXAorICAgIEEjI2tvMCBePSBEbzA7IFwKKyAgICBCa2kxID0gUk9MMzIoQSMja28wLCAxMik7IFwKKyAgICBBIyNtdTEgXj0gRHUxOyBcCisgICAgQmtvMSA9IFJPTDMyKEEjI211MSwgNCk7IFwKKyAgICBBIyNzYTEgXj0gRGExOyBcCisgICAgQmt1MSA9IFJPTDMyKEEjI3NhMSwgOSk7IFwKKyAgICBFIyNrYTEgPSAgIEJrYTEgXigofkJrZTEpJiAgQmtpMSApOyBcCisgICAgRSMja2UxID0gICBCa2UxIF4oKH5Ca2kxKSYgIEJrbzEgKTsgXAorICAgIEUjI2tpMSA9ICAgQmtpMSBeKCh+QmtvMSkmICBCa3UxICk7IFwKKyAgICBFIyNrbzEgPSAgIEJrbzEgXigofkJrdTEpJiAgQmthMSApOyBcCisgICAgRSMja3UxID0gICBCa3UxIF4oKH5Ca2ExKSYgIEJrZTEgKTsgXAorXAorICAgIEEjI2J1MSBePSBEdTE7IFwKKyAgICBCbWEwID0gUk9MMzIoQSMjYnUxLCAxNCk7IFwKKyAgICBBIyNnYTAgXj0gRGEwOyBcCisgICAgQm1lMCA9IFJPTDMyKEEjI2dhMCwgMTgpOyBcCisgICAgQSMja2UwIF49IERlMDsgXAorICAgIEJtaTAgPSBST0wzMihBIyNrZTAsIDUpOyBcCisgICAgQSMjbWkxIF49IERpMTsgXAorICAgIEJtbzAgPSBST0wzMihBIyNtaTEsIDgpOyBcCisgICAgQSMjc28wIF49IERvMDsgXAorICAgIEJtdTAgPSBST0wzMihBIyNzbzAsIDI4KTsgXAorICAgIEUjI21hMCA9ICAgQm1hMCBeKCh+Qm1lMCkmICBCbWkwICk7IFwKKyAgICBFIyNtZTAgPSAgIEJtZTAgXigofkJtaTApJiAgQm1vMCApOyBcCisgICAgRSMjbWkwID0gICBCbWkwIF4oKH5CbW8wKSYgIEJtdTAgKTsgXAorICAgIEUjI21vMCA9ICAgQm1vMCBeKCh+Qm11MCkmICBCbWEwICk7IFwKKyAgICBFIyNtdTAgPSAgIEJtdTAgXigofkJtYTApJiAgQm1lMCApOyBcCitcCisgICAgQSMjYnUwIF49IER1MDsgXAorICAgIEJtYTEgPSBST0wzMihBIyNidTAsIDEzKTsgXAorICAgIEEjI2dhMSBePSBEYTE7IFwKKyAgICBCbWUxID0gUk9MMzIoQSMjZ2ExLCAxOCk7IFwKKyAgICBBIyNrZTEgXj0gRGUxOyBcCisgICAgQm1pMSA9IFJPTDMyKEEjI2tlMSwgNSk7IFwKKyAgICBBIyNtaTAgXj0gRGkwOyBcCisgICAgQm1vMSA9IFJPTDMyKEEjI21pMCwgNyk7IFwKKyAgICBBIyNzbzEgXj0gRG8xOyBcCisgICAgQm11MSA9IFJPTDMyKEEjI3NvMSwgMjgpOyBcCisgICAgRSMjbWExID0gICBCbWExIF4oKH5CbWUxKSYgIEJtaTEgKTsgXAorICAgIEUjI21lMSA9ICAgQm1lMSBeKCh+Qm1pMSkmICBCbW8xICk7IFwKKyAgICBFIyNtaTEgPSAgIEJtaTEgXigofkJtbzEpJiAgQm11MSApOyBcCisgICAgRSMjbW8xID0gICBCbW8xIF4oKH5CbXUxKSYgIEJtYTEgKTsgXAorICAgIEUjI211MSA9ICAgQm11MSBeKCh+Qm1hMSkmICBCbWUxICk7IFwKK1wKKyAgICBBIyNiaTAgXj0gRGkwOyBcCisgICAgQnNhMCA9IFJPTDMyKEEjI2JpMCwgMzEpOyBcCisgICAgQSMjZ28xIF49IERvMTsgXAorICAgIEJzZTAgPSBST0wzMihBIyNnbzEsIDI4KTsgXAorICAgIEEjI2t1MSBePSBEdTE7IFwKKyAgICBCc2kwID0gUk9MMzIoQSMja3UxLCAyMCk7IFwKKyAgICBBIyNtYTEgXj0gRGExOyBcCisgICAgQnNvMCA9IFJPTDMyKEEjI21hMSwgMjEpOyBcCisgICAgQSMjc2UwIF49IERlMDsgXAorICAgIEJzdTAgPSBST0wzMihBIyNzZTAsIDEpOyBcCisgICAgRSMjc2EwID0gICBCc2EwIF4oKH5Cc2UwKSYgIEJzaTAgKTsgXAorICAgIEUjI3NlMCA9ICAgQnNlMCBeKCh+QnNpMCkmICBCc28wICk7IFwKKyAgICBFIyNzaTAgPSAgIEJzaTAgXigofkJzbzApJiAgQnN1MCApOyBcCisgICAgRSMjc28wID0gICBCc28wIF4oKH5Cc3UwKSYgIEJzYTAgKTsgXAorICAgIEUjI3N1MCA9ICAgQnN1MCBeKCh+QnNhMCkmICBCc2UwICk7IFwKK1wKKyAgICBBIyNiaTEgXj0gRGkxOyBcCisgICAgQnNhMSA9IFJPTDMyKEEjI2JpMSwgMzEpOyBcCisgICAgQSMjZ28wIF49IERvMDsgXAorICAgIEJzZTEgPSBST0wzMihBIyNnbzAsIDI3KTsgXAorICAgIEEjI2t1MCBePSBEdTA7IFwKKyAgICBCc2kxID0gUk9MMzIoQSMja3UwLCAxOSk7IFwKKyAgICBBIyNtYTAgXj0gRGEwOyBcCisgICAgQnNvMSA9IFJPTDMyKEEjI21hMCwgMjApOyBcCisgICAgQSMjc2UxIF49IERlMTsgXAorICAgIEJzdTEgPSBST0wzMihBIyNzZTEsIDEpOyBcCisgICAgRSMjc2ExID0gICBCc2ExIF4oKH5Cc2UxKSYgIEJzaTEgKTsgXAorICAgIEUjI3NlMSA9ICAgQnNlMSBeKCh+QnNpMSkmICBCc28xICk7IFwKKyAgICBFIyNzaTEgPSAgIEJzaTEgXigofkJzbzEpJiAgQnN1MSApOyBcCisgICAgRSMjc28xID0gICBCc28xIF4oKH5Cc3UxKSYgIEJzYTEgKTsgXAorICAgIEUjI3N1MSA9ICAgQnN1MSBeKCh+QnNhMSkmICBCc2UxICk7IFwKK1wKKworI2VuZGlmIC8qICBVc2VCZWJpZ29raW1pc2EgKi8KKworY29uc3QgVUlOVDMyIEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8wWzI0XSA9IHsKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDFVTCwKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDFVTCwKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDFVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDBVTCB9OworCitjb25zdCBVSU5UMzIgS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzFbMjRdID0geworICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDg5VUwsCisgICAgMHg4MDAwMDA4YlVMLAorICAgIDB4ODAwMDgwODBVTCwKKyAgICAweDAwMDAwMDhiVUwsCisgICAgMHgwMDAwODAwMFVMLAorICAgIDB4ODAwMDgwODhVTCwKKyAgICAweDgwMDAwMDgyVUwsCisgICAgMHgwMDAwMDAwYlVMLAorICAgIDB4MDAwMDAwMGFVTCwKKyAgICAweDAwMDA4MDgyVUwsCisgICAgMHgwMDAwODAwM1VMLAorICAgIDB4MDAwMDgwOGJVTCwKKyAgICAweDgwMDAwMDBiVUwsCisgICAgMHg4MDAwMDA4YVVMLAorICAgIDB4ODAwMDAwODFVTCwKKyAgICAweDgwMDAwMDgxVUwsCisgICAgMHg4MDAwMDAwOFVMLAorICAgIDB4MDAwMDAwODNVTCwKKyAgICAweDgwMDA4MDAzVUwsCisgICAgMHg4MDAwODA4OFVMLAorICAgIDB4ODAwMDAwODhVTCwKKyAgICAweDAwMDA4MDAwVUwsCisgICAgMHg4MDAwODA4MlVMIH07CisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwMjRiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhMCA9IHN0YXRlWyAwXV5pbnB1dFsgMF07IFwKKyAgICBYIyNiYTEgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmUwID0gc3RhdGVbIDJdXmlucHV0WyAyXTsgXAorICAgIFgjI2JlMSA9IHN0YXRlWyAzXV5pbnB1dFsgM107IFwKKyAgICBYIyNiaTAgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjYmkxID0gc3RhdGVbIDVdXmlucHV0WyA1XTsgXAorICAgIFgjI2JvMCA9IHN0YXRlWyA2XV5pbnB1dFsgNl07IFwKKyAgICBYIyNibzEgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjYnUwID0gc3RhdGVbIDhdXmlucHV0WyA4XTsgXAorICAgIFgjI2J1MSA9IHN0YXRlWyA5XV5pbnB1dFsgOV07IFwKKyAgICBYIyNnYTAgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMjZ2ExID0gc3RhdGVbMTFdXmlucHV0WzExXTsgXAorICAgIFgjI2dlMCA9IHN0YXRlWzEyXV5pbnB1dFsxMl07IFwKKyAgICBYIyNnZTEgPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMjZ2kwID0gc3RhdGVbMTRdXmlucHV0WzE0XTsgXAorICAgIFgjI2dpMSA9IHN0YXRlWzE1XV5pbnB1dFsxNV07IFwKKyAgICBYIyNnbzAgPSBzdGF0ZVsxNl1eaW5wdXRbMTZdOyBcCisgICAgWCMjZ28xID0gc3RhdGVbMTddXmlucHV0WzE3XTsgXAorICAgIFgjI2d1MCA9IHN0YXRlWzE4XV5pbnB1dFsxOF07IFwKKyAgICBYIyNndTEgPSBzdGF0ZVsxOV1eaW5wdXRbMTldOyBcCisgICAgWCMja2EwID0gc3RhdGVbMjBdXmlucHV0WzIwXTsgXAorICAgIFgjI2thMSA9IHN0YXRlWzIxXV5pbnB1dFsyMV07IFwKKyAgICBYIyNrZTAgPSBzdGF0ZVsyMl1eaW5wdXRbMjJdOyBcCisgICAgWCMja2UxID0gc3RhdGVbMjNdXmlucHV0WzIzXTsgXAorICAgIFgjI2tpMCA9IHN0YXRlWzI0XV5pbnB1dFsyNF07IFwKKyAgICBYIyNraTEgPSBzdGF0ZVsyNV1eaW5wdXRbMjVdOyBcCisgICAgWCMja28wID0gc3RhdGVbMjZdXmlucHV0WzI2XTsgXAorICAgIFgjI2tvMSA9IHN0YXRlWzI3XV5pbnB1dFsyN107IFwKKyAgICBYIyNrdTAgPSBzdGF0ZVsyOF1eaW5wdXRbMjhdOyBcCisgICAgWCMja3UxID0gc3RhdGVbMjldXmlucHV0WzI5XTsgXAorICAgIFgjI21hMCA9IHN0YXRlWzMwXV5pbnB1dFszMF07IFwKKyAgICBYIyNtYTEgPSBzdGF0ZVszMV1eaW5wdXRbMzFdOyBcCisgICAgWCMjbWUwID0gc3RhdGVbMzJdOyBcCisgICAgWCMjbWUxID0gc3RhdGVbMzNdOyBcCisgICAgWCMjbWkwID0gc3RhdGVbMzRdOyBcCisgICAgWCMjbWkxID0gc3RhdGVbMzVdOyBcCisgICAgWCMjbW8wID0gc3RhdGVbMzZdOyBcCisgICAgWCMjbW8xID0gc3RhdGVbMzddOyBcCisgICAgWCMjbXUwID0gc3RhdGVbMzhdOyBcCisgICAgWCMjbXUxID0gc3RhdGVbMzldOyBcCisgICAgWCMjc2EwID0gc3RhdGVbNDBdOyBcCisgICAgWCMjc2ExID0gc3RhdGVbNDFdOyBcCisgICAgWCMjc2UwID0gc3RhdGVbNDJdOyBcCisgICAgWCMjc2UxID0gc3RhdGVbNDNdOyBcCisgICAgWCMjc2kwID0gc3RhdGVbNDRdOyBcCisgICAgWCMjc2kxID0gc3RhdGVbNDVdOyBcCisgICAgWCMjc28wID0gc3RhdGVbNDZdOyBcCisgICAgWCMjc28xID0gc3RhdGVbNDddOyBcCisgICAgWCMjc3UwID0gc3RhdGVbNDhdOyBcCisgICAgWCMjc3UxID0gc3RhdGVbNDldOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwODhiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhMCA9IHN0YXRlWyAwXV5pbnB1dFsgMF07IFwKKyAgICBYIyNiYTEgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmUwID0gc3RhdGVbIDJdXmlucHV0WyAyXTsgXAorICAgIFgjI2JlMSA9IHN0YXRlWyAzXV5pbnB1dFsgM107IFwKKyAgICBYIyNiaTAgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjYmkxID0gc3RhdGVbIDVdXmlucHV0WyA1XTsgXAorICAgIFgjI2JvMCA9IHN0YXRlWyA2XV5pbnB1dFsgNl07IFwKKyAgICBYIyNibzEgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjYnUwID0gc3RhdGVbIDhdXmlucHV0WyA4XTsgXAorICAgIFgjI2J1MSA9IHN0YXRlWyA5XV5pbnB1dFsgOV07IFwKKyAgICBYIyNnYTAgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMjZ2ExID0gc3RhdGVbMTFdXmlucHV0WzExXTsgXAorICAgIFgjI2dlMCA9IHN0YXRlWzEyXV5pbnB1dFsxMl07IFwKKyAgICBYIyNnZTEgPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMjZ2kwID0gc3RhdGVbMTRdXmlucHV0WzE0XTsgXAorICAgIFgjI2dpMSA9IHN0YXRlWzE1XV5pbnB1dFsxNV07IFwKKyAgICBYIyNnbzAgPSBzdGF0ZVsxNl1eaW5wdXRbMTZdOyBcCisgICAgWCMjZ28xID0gc3RhdGVbMTddXmlucHV0WzE3XTsgXAorICAgIFgjI2d1MCA9IHN0YXRlWzE4XV5pbnB1dFsxOF07IFwKKyAgICBYIyNndTEgPSBzdGF0ZVsxOV1eaW5wdXRbMTldOyBcCisgICAgWCMja2EwID0gc3RhdGVbMjBdXmlucHV0WzIwXTsgXAorICAgIFgjI2thMSA9IHN0YXRlWzIxXV5pbnB1dFsyMV07IFwKKyAgICBYIyNrZTAgPSBzdGF0ZVsyMl1eaW5wdXRbMjJdOyBcCisgICAgWCMja2UxID0gc3RhdGVbMjNdXmlucHV0WzIzXTsgXAorICAgIFgjI2tpMCA9IHN0YXRlWzI0XV5pbnB1dFsyNF07IFwKKyAgICBYIyNraTEgPSBzdGF0ZVsyNV1eaW5wdXRbMjVdOyBcCisgICAgWCMja28wID0gc3RhdGVbMjZdXmlucHV0WzI2XTsgXAorICAgIFgjI2tvMSA9IHN0YXRlWzI3XV5pbnB1dFsyN107IFwKKyAgICBYIyNrdTAgPSBzdGF0ZVsyOF1eaW5wdXRbMjhdOyBcCisgICAgWCMja3UxID0gc3RhdGVbMjldXmlucHV0WzI5XTsgXAorICAgIFgjI21hMCA9IHN0YXRlWzMwXV5pbnB1dFszMF07IFwKKyAgICBYIyNtYTEgPSBzdGF0ZVszMV1eaW5wdXRbMzFdOyBcCisgICAgWCMjbWUwID0gc3RhdGVbMzJdXmlucHV0WzMyXTsgXAorICAgIFgjI21lMSA9IHN0YXRlWzMzXV5pbnB1dFszM107IFwKKyAgICBYIyNtaTAgPSBzdGF0ZVszNF07IFwKKyAgICBYIyNtaTEgPSBzdGF0ZVszNV07IFwKKyAgICBYIyNtbzAgPSBzdGF0ZVszNl07IFwKKyAgICBYIyNtbzEgPSBzdGF0ZVszN107IFwKKyAgICBYIyNtdTAgPSBzdGF0ZVszOF07IFwKKyAgICBYIyNtdTEgPSBzdGF0ZVszOV07IFwKKyAgICBYIyNzYTAgPSBzdGF0ZVs0MF07IFwKKyAgICBYIyNzYTEgPSBzdGF0ZVs0MV07IFwKKyAgICBYIyNzZTAgPSBzdGF0ZVs0Ml07IFwKKyAgICBYIyNzZTEgPSBzdGF0ZVs0M107IFwKKyAgICBYIyNzaTAgPSBzdGF0ZVs0NF07IFwKKyAgICBYIyNzaTEgPSBzdGF0ZVs0NV07IFwKKyAgICBYIyNzbzAgPSBzdGF0ZVs0Nl07IFwKKyAgICBYIyNzbzEgPSBzdGF0ZVs0N107IFwKKyAgICBYIyNzdTAgPSBzdGF0ZVs0OF07IFwKKyAgICBYIyNzdTEgPSBzdGF0ZVs0OV07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlKFgsIHN0YXRlKSBcCisgICAgWCMjYmEwID0gc3RhdGVbIDBdOyBcCisgICAgWCMjYmExID0gc3RhdGVbIDFdOyBcCisgICAgWCMjYmUwID0gc3RhdGVbIDJdOyBcCisgICAgWCMjYmUxID0gc3RhdGVbIDNdOyBcCisgICAgWCMjYmkwID0gc3RhdGVbIDRdOyBcCisgICAgWCMjYmkxID0gc3RhdGVbIDVdOyBcCisgICAgWCMjYm8wID0gc3RhdGVbIDZdOyBcCisgICAgWCMjYm8xID0gc3RhdGVbIDddOyBcCisgICAgWCMjYnUwID0gc3RhdGVbIDhdOyBcCisgICAgWCMjYnUxID0gc3RhdGVbIDldOyBcCisgICAgWCMjZ2EwID0gc3RhdGVbMTBdOyBcCisgICAgWCMjZ2ExID0gc3RhdGVbMTFdOyBcCisgICAgWCMjZ2UwID0gc3RhdGVbMTJdOyBcCisgICAgWCMjZ2UxID0gc3RhdGVbMTNdOyBcCisgICAgWCMjZ2kwID0gc3RhdGVbMTRdOyBcCisgICAgWCMjZ2kxID0gc3RhdGVbMTVdOyBcCisgICAgWCMjZ28wID0gc3RhdGVbMTZdOyBcCisgICAgWCMjZ28xID0gc3RhdGVbMTddOyBcCisgICAgWCMjZ3UwID0gc3RhdGVbMThdOyBcCisgICAgWCMjZ3UxID0gc3RhdGVbMTldOyBcCisgICAgWCMja2EwID0gc3RhdGVbMjBdOyBcCisgICAgWCMja2ExID0gc3RhdGVbMjFdOyBcCisgICAgWCMja2UwID0gc3RhdGVbMjJdOyBcCisgICAgWCMja2UxID0gc3RhdGVbMjNdOyBcCisgICAgWCMja2kwID0gc3RhdGVbMjRdOyBcCisgICAgWCMja2kxID0gc3RhdGVbMjVdOyBcCisgICAgWCMja28wID0gc3RhdGVbMjZdOyBcCisgICAgWCMja28xID0gc3RhdGVbMjddOyBcCisgICAgWCMja3UwID0gc3RhdGVbMjhdOyBcCisgICAgWCMja3UxID0gc3RhdGVbMjldOyBcCisgICAgWCMjbWEwID0gc3RhdGVbMzBdOyBcCisgICAgWCMjbWExID0gc3RhdGVbMzFdOyBcCisgICAgWCMjbWUwID0gc3RhdGVbMzJdOyBcCisgICAgWCMjbWUxID0gc3RhdGVbMzNdOyBcCisgICAgWCMjbWkwID0gc3RhdGVbMzRdOyBcCisgICAgWCMjbWkxID0gc3RhdGVbMzVdOyBcCisgICAgWCMjbW8wID0gc3RhdGVbMzZdOyBcCisgICAgWCMjbW8xID0gc3RhdGVbMzddOyBcCisgICAgWCMjbXUwID0gc3RhdGVbMzhdOyBcCisgICAgWCMjbXUxID0gc3RhdGVbMzldOyBcCisgICAgWCMjc2EwID0gc3RhdGVbNDBdOyBcCisgICAgWCMjc2ExID0gc3RhdGVbNDFdOyBcCisgICAgWCMjc2UwID0gc3RhdGVbNDJdOyBcCisgICAgWCMjc2UxID0gc3RhdGVbNDNdOyBcCisgICAgWCMjc2kwID0gc3RhdGVbNDRdOyBcCisgICAgWCMjc2kxID0gc3RhdGVbNDVdOyBcCisgICAgWCMjc28wID0gc3RhdGVbNDZdOyBcCisgICAgWCMjc28xID0gc3RhdGVbNDddOyBcCisgICAgWCMjc3UwID0gc3RhdGVbNDhdOyBcCisgICAgWCMjc3UxID0gc3RhdGVbNDldOyBcCisKKyNkZWZpbmUgY29weVRvU3RhdGUoc3RhdGUsIFgpIFwKKyAgICBzdGF0ZVsgMF0gPSBYIyNiYTA7IFwKKyAgICBzdGF0ZVsgMV0gPSBYIyNiYTE7IFwKKyAgICBzdGF0ZVsgMl0gPSBYIyNiZTA7IFwKKyAgICBzdGF0ZVsgM10gPSBYIyNiZTE7IFwKKyAgICBzdGF0ZVsgNF0gPSBYIyNiaTA7IFwKKyAgICBzdGF0ZVsgNV0gPSBYIyNiaTE7IFwKKyAgICBzdGF0ZVsgNl0gPSBYIyNibzA7IFwKKyAgICBzdGF0ZVsgN10gPSBYIyNibzE7IFwKKyAgICBzdGF0ZVsgOF0gPSBYIyNidTA7IFwKKyAgICBzdGF0ZVsgOV0gPSBYIyNidTE7IFwKKyAgICBzdGF0ZVsxMF0gPSBYIyNnYTA7IFwKKyAgICBzdGF0ZVsxMV0gPSBYIyNnYTE7IFwKKyAgICBzdGF0ZVsxMl0gPSBYIyNnZTA7IFwKKyAgICBzdGF0ZVsxM10gPSBYIyNnZTE7IFwKKyAgICBzdGF0ZVsxNF0gPSBYIyNnaTA7IFwKKyAgICBzdGF0ZVsxNV0gPSBYIyNnaTE7IFwKKyAgICBzdGF0ZVsxNl0gPSBYIyNnbzA7IFwKKyAgICBzdGF0ZVsxN10gPSBYIyNnbzE7IFwKKyAgICBzdGF0ZVsxOF0gPSBYIyNndTA7IFwKKyAgICBzdGF0ZVsxOV0gPSBYIyNndTE7IFwKKyAgICBzdGF0ZVsyMF0gPSBYIyNrYTA7IFwKKyAgICBzdGF0ZVsyMV0gPSBYIyNrYTE7IFwKKyAgICBzdGF0ZVsyMl0gPSBYIyNrZTA7IFwKKyAgICBzdGF0ZVsyM10gPSBYIyNrZTE7IFwKKyAgICBzdGF0ZVsyNF0gPSBYIyNraTA7IFwKKyAgICBzdGF0ZVsyNV0gPSBYIyNraTE7IFwKKyAgICBzdGF0ZVsyNl0gPSBYIyNrbzA7IFwKKyAgICBzdGF0ZVsyN10gPSBYIyNrbzE7IFwKKyAgICBzdGF0ZVsyOF0gPSBYIyNrdTA7IFwKKyAgICBzdGF0ZVsyOV0gPSBYIyNrdTE7IFwKKyAgICBzdGF0ZVszMF0gPSBYIyNtYTA7IFwKKyAgICBzdGF0ZVszMV0gPSBYIyNtYTE7IFwKKyAgICBzdGF0ZVszMl0gPSBYIyNtZTA7IFwKKyAgICBzdGF0ZVszM10gPSBYIyNtZTE7IFwKKyAgICBzdGF0ZVszNF0gPSBYIyNtaTA7IFwKKyAgICBzdGF0ZVszNV0gPSBYIyNtaTE7IFwKKyAgICBzdGF0ZVszNl0gPSBYIyNtbzA7IFwKKyAgICBzdGF0ZVszN10gPSBYIyNtbzE7IFwKKyAgICBzdGF0ZVszOF0gPSBYIyNtdTA7IFwKKyAgICBzdGF0ZVszOV0gPSBYIyNtdTE7IFwKKyAgICBzdGF0ZVs0MF0gPSBYIyNzYTA7IFwKKyAgICBzdGF0ZVs0MV0gPSBYIyNzYTE7IFwKKyAgICBzdGF0ZVs0Ml0gPSBYIyNzZTA7IFwKKyAgICBzdGF0ZVs0M10gPSBYIyNzZTE7IFwKKyAgICBzdGF0ZVs0NF0gPSBYIyNzaTA7IFwKKyAgICBzdGF0ZVs0NV0gPSBYIyNzaTE7IFwKKyAgICBzdGF0ZVs0Nl0gPSBYIyNzbzA7IFwKKyAgICBzdGF0ZVs0N10gPSBYIyNzbzE7IFwKKyAgICBzdGF0ZVs0OF0gPSBYIyNzdTA7IFwKKyAgICBzdGF0ZVs0OV0gPSBYIyNzdTE7IFwKKworI2RlZmluZSBjb3B5U3RhdGVWYXJpYWJsZXMoWCwgWSkgXAorICAgIFgjI2JhMCA9IFkjI2JhMDsgXAorICAgIFgjI2JhMSA9IFkjI2JhMTsgXAorICAgIFgjI2JlMCA9IFkjI2JlMDsgXAorICAgIFgjI2JlMSA9IFkjI2JlMTsgXAorICAgIFgjI2JpMCA9IFkjI2JpMDsgXAorICAgIFgjI2JpMSA9IFkjI2JpMTsgXAorICAgIFgjI2JvMCA9IFkjI2JvMDsgXAorICAgIFgjI2JvMSA9IFkjI2JvMTsgXAorICAgIFgjI2J1MCA9IFkjI2J1MDsgXAorICAgIFgjI2J1MSA9IFkjI2J1MTsgXAorICAgIFgjI2dhMCA9IFkjI2dhMDsgXAorICAgIFgjI2dhMSA9IFkjI2dhMTsgXAorICAgIFgjI2dlMCA9IFkjI2dlMDsgXAorICAgIFgjI2dlMSA9IFkjI2dlMTsgXAorICAgIFgjI2dpMCA9IFkjI2dpMDsgXAorICAgIFgjI2dpMSA9IFkjI2dpMTsgXAorICAgIFgjI2dvMCA9IFkjI2dvMDsgXAorICAgIFgjI2dvMSA9IFkjI2dvMTsgXAorICAgIFgjI2d1MCA9IFkjI2d1MDsgXAorICAgIFgjI2d1MSA9IFkjI2d1MTsgXAorICAgIFgjI2thMCA9IFkjI2thMDsgXAorICAgIFgjI2thMSA9IFkjI2thMTsgXAorICAgIFgjI2tlMCA9IFkjI2tlMDsgXAorICAgIFgjI2tlMSA9IFkjI2tlMTsgXAorICAgIFgjI2tpMCA9IFkjI2tpMDsgXAorICAgIFgjI2tpMSA9IFkjI2tpMTsgXAorICAgIFgjI2tvMCA9IFkjI2tvMDsgXAorICAgIFgjI2tvMSA9IFkjI2tvMTsgXAorICAgIFgjI2t1MCA9IFkjI2t1MDsgXAorICAgIFgjI2t1MSA9IFkjI2t1MTsgXAorICAgIFgjI21hMCA9IFkjI21hMDsgXAorICAgIFgjI21hMSA9IFkjI21hMTsgXAorICAgIFgjI21lMCA9IFkjI21lMDsgXAorICAgIFgjI21lMSA9IFkjI21lMTsgXAorICAgIFgjI21pMCA9IFkjI21pMDsgXAorICAgIFgjI21pMSA9IFkjI21pMTsgXAorICAgIFgjI21vMCA9IFkjI21vMDsgXAorICAgIFgjI21vMSA9IFkjI21vMTsgXAorICAgIFgjI211MCA9IFkjI211MDsgXAorICAgIFgjI211MSA9IFkjI211MTsgXAorICAgIFgjI3NhMCA9IFkjI3NhMDsgXAorICAgIFgjI3NhMSA9IFkjI3NhMTsgXAorICAgIFgjI3NlMCA9IFkjI3NlMDsgXAorICAgIFgjI3NlMSA9IFkjI3NlMTsgXAorICAgIFgjI3NpMCA9IFkjI3NpMDsgXAorICAgIFgjI3NpMSA9IFkjI3NpMTsgXAorICAgIFgjI3NvMCA9IFkjI3NvMDsgXAorICAgIFgjI3NvMSA9IFkjI3NvMTsgXAorICAgIFgjI3N1MCA9IFkjI3N1MDsgXAorICAgIFgjI3N1MSA9IFkjI3N1MTsgXAorCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtMzItczIubWFjcm9zIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLXMyLm1hY3JvcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTExNzYyCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLXMyLm1hY3JvcwpAQCAtMCwwICsxLDExODcgQEAKKy8qCitDb2RlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IEtlY2Nha1Rvb2xzIQorCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgdGhlIGRlc2lnbmVycywKK2hlcmVieSBkZW5vdGVkIGFzICJ0aGUgaW1wbGVtZW50ZXIiLgorCitUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3JpbmcgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGZpbGUuCitodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisqLworCisjZGVmaW5lIGRlY2xhcmVBQkNERSBcCisgICAgVUlOVDMyIEFiYTAsIEFiZTAsIEFiaTAsIEFibzAsIEFidTA7IFwKKyAgICBVSU5UMzIgQWJhMSwgQWJlMSwgQWJpMSwgQWJvMSwgQWJ1MTsgXAorICAgIFVJTlQzMiBBZ2EwLCBBZ2UwLCBBZ2kwLCBBZ28wLCBBZ3UwOyBcCisgICAgVUlOVDMyIEFnYTEsIEFnZTEsIEFnaTEsIEFnbzEsIEFndTE7IFwKKyAgICBVSU5UMzIgQWthMCwgQWtlMCwgQWtpMCwgQWtvMCwgQWt1MDsgXAorICAgIFVJTlQzMiBBa2ExLCBBa2UxLCBBa2kxLCBBa28xLCBBa3UxOyBcCisgICAgVUlOVDMyIEFtYTAsIEFtZTAsIEFtaTAsIEFtbzAsIEFtdTA7IFwKKyAgICBVSU5UMzIgQW1hMSwgQW1lMSwgQW1pMSwgQW1vMSwgQW11MTsgXAorICAgIFVJTlQzMiBBc2EwLCBBc2UwLCBBc2kwLCBBc28wLCBBc3UwOyBcCisgICAgVUlOVDMyIEFzYTEsIEFzZTEsIEFzaTEsIEFzbzEsIEFzdTE7IFwKKyAgICBVSU5UMzIgQmJhMCwgQmJlMCwgQmJpMCwgQmJvMCwgQmJ1MDsgXAorICAgIFVJTlQzMiBCYmExLCBCYmUxLCBCYmkxLCBCYm8xLCBCYnUxOyBcCisgICAgVUlOVDMyIEJnYTAsIEJnZTAsIEJnaTAsIEJnbzAsIEJndTA7IFwKKyAgICBVSU5UMzIgQmdhMSwgQmdlMSwgQmdpMSwgQmdvMSwgQmd1MTsgXAorICAgIFVJTlQzMiBCa2EwLCBCa2UwLCBCa2kwLCBCa28wLCBCa3UwOyBcCisgICAgVUlOVDMyIEJrYTEsIEJrZTEsIEJraTEsIEJrbzEsIEJrdTE7IFwKKyAgICBVSU5UMzIgQm1hMCwgQm1lMCwgQm1pMCwgQm1vMCwgQm11MDsgXAorICAgIFVJTlQzMiBCbWExLCBCbWUxLCBCbWkxLCBCbW8xLCBCbXUxOyBcCisgICAgVUlOVDMyIEJzYTAsIEJzZTAsIEJzaTAsIEJzbzAsIEJzdTA7IFwKKyAgICBVSU5UMzIgQnNhMSwgQnNlMSwgQnNpMSwgQnNvMSwgQnN1MTsgXAorICAgIFVJTlQzMiBDYTAsIENlMCwgQ2kwLCBDbzAsIEN1MDsgXAorICAgIFVJTlQzMiBDYTEsIENlMSwgQ2kxLCBDbzEsIEN1MTsgXAorICAgIFVJTlQzMiBEYTAsIERlMCwgRGkwLCBEbzAsIER1MDsgXAorICAgIFVJTlQzMiBEYTEsIERlMSwgRGkxLCBEbzEsIER1MTsgXAorICAgIFVJTlQzMiBFYmEwLCBFYmUwLCBFYmkwLCBFYm8wLCBFYnUwOyBcCisgICAgVUlOVDMyIEViYTEsIEViZTEsIEViaTEsIEVibzEsIEVidTE7IFwKKyAgICBVSU5UMzIgRWdhMCwgRWdlMCwgRWdpMCwgRWdvMCwgRWd1MDsgXAorICAgIFVJTlQzMiBFZ2ExLCBFZ2UxLCBFZ2kxLCBFZ28xLCBFZ3UxOyBcCisgICAgVUlOVDMyIEVrYTAsIEVrZTAsIEVraTAsIEVrbzAsIEVrdTA7IFwKKyAgICBVSU5UMzIgRWthMSwgRWtlMSwgRWtpMSwgRWtvMSwgRWt1MTsgXAorICAgIFVJTlQzMiBFbWEwLCBFbWUwLCBFbWkwLCBFbW8wLCBFbXUwOyBcCisgICAgVUlOVDMyIEVtYTEsIEVtZTEsIEVtaTEsIEVtbzEsIEVtdTE7IFwKKyAgICBVSU5UMzIgRXNhMCwgRXNlMCwgRXNpMCwgRXNvMCwgRXN1MDsgXAorICAgIFVJTlQzMiBFc2ExLCBFc2UxLCBFc2kxLCBFc28xLCBFc3UxOyBcCisKKyNkZWZpbmUgcHJlcGFyZVRoZXRhIFwKKyAgICBDYTAgPSBBYmEwXkFnYTBeQWthMF5BbWEwXkFzYTA7IFwKKyAgICBDYTEgPSBBYmExXkFnYTFeQWthMV5BbWExXkFzYTE7IFwKKyAgICBDZTAgPSBBYmUwXkFnZTBeQWtlMF5BbWUwXkFzZTA7IFwKKyAgICBDZTEgPSBBYmUxXkFnZTFeQWtlMV5BbWUxXkFzZTE7IFwKKyAgICBDaTAgPSBBYmkwXkFnaTBeQWtpMF5BbWkwXkFzaTA7IFwKKyAgICBDaTEgPSBBYmkxXkFnaTFeQWtpMV5BbWkxXkFzaTE7IFwKKyAgICBDbzAgPSBBYm8wXkFnbzBeQWtvMF5BbW8wXkFzbzA7IFwKKyAgICBDbzEgPSBBYm8xXkFnbzFeQWtvMV5BbW8xXkFzbzE7IFwKKyAgICBDdTAgPSBBYnUwXkFndTBeQWt1MF5BbXUwXkFzdTA7IFwKKyAgICBDdTEgPSBBYnUxXkFndTFeQWt1MV5BbXUxXkFzdTE7IFwKKworI2lmZGVmIFVzZUJlYmlnb2tpbWlzYQorLyogIC0tLSBDb2RlIGZvciByb3VuZCwgd2l0aCBwcmVwYXJlLXRoZXRhIChsYW5lIGNvbXBsZW1lbnRpbmcgcGF0dGVybiAnYmViaWdva2ltaXNhJykgKi8KKy8qICAtLS0gdXNpbmcgZmFjdG9yIDIgaW50ZXJsZWF2aW5nLCA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpLCBBLCBFKSBcCisgICAgRGEwID0gQ3UwXlJPTDMyKENlMSwgMSk7IFwKKyAgICBEYTEgPSBDdTFeQ2UwOyBcCisgICAgRGUwID0gQ2EwXlJPTDMyKENpMSwgMSk7IFwKKyAgICBEZTEgPSBDYTFeQ2kwOyBcCisgICAgRGkwID0gQ2UwXlJPTDMyKENvMSwgMSk7IFwKKyAgICBEaTEgPSBDZTFeQ28wOyBcCisgICAgRG8wID0gQ2kwXlJPTDMyKEN1MSwgMSk7IFwKKyAgICBEbzEgPSBDaTFeQ3UwOyBcCisgICAgRHUwID0gQ28wXlJPTDMyKENhMSwgMSk7IFwKKyAgICBEdTEgPSBDbzFeQ2EwOyBcCitcCisgICAgQSMjYmEwIF49IERhMDsgXAorICAgIEJiYTAgPSBBIyNiYTA7IFwKKyAgICBBIyNnZTAgXj0gRGUwOyBcCisgICAgQmJlMCA9IFJPTDMyKEEjI2dlMCwgMjIpOyBcCisgICAgQSMja2kxIF49IERpMTsgXAorICAgIEJiaTAgPSBST0wzMihBIyNraTEsIDIyKTsgXAorICAgIEUjI2JhMCA9ICAgQmJhMCBeKCAgQmJlMCB8ICBCYmkwICk7IFwKKyAgICBFIyNiYTAgXj0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzBbaV07IFwKKyAgICBDYTAgPSBFIyNiYTA7IFwKKyAgICBBIyNtbzEgXj0gRG8xOyBcCisgICAgQmJvMCA9IFJPTDMyKEEjI21vMSwgMTEpOyBcCisgICAgRSMjYmUwID0gICBCYmUwIF4oKH5CYmkwKXwgIEJibzAgKTsgXAorICAgIENlMCA9IEUjI2JlMDsgXAorICAgIEEjI3N1MCBePSBEdTA7IFwKKyAgICBCYnUwID0gUk9MMzIoQSMjc3UwLCA3KTsgXAorICAgIEUjI2JpMCA9ICAgQmJpMCBeKCAgQmJvMCAmICBCYnUwICk7IFwKKyAgICBDaTAgPSBFIyNiaTA7IFwKKyAgICBFIyNibzAgPSAgIEJibzAgXiggIEJidTAgfCAgQmJhMCApOyBcCisgICAgQ28wID0gRSMjYm8wOyBcCisgICAgRSMjYnUwID0gICBCYnUwIF4oICBCYmEwICYgIEJiZTAgKTsgXAorICAgIEN1MCA9IEUjI2J1MDsgXAorXAorICAgIEEjI2JhMSBePSBEYTE7IFwKKyAgICBCYmExID0gQSMjYmExOyBcCisgICAgQSMjZ2UxIF49IERlMTsgXAorICAgIEJiZTEgPSBST0wzMihBIyNnZTEsIDIyKTsgXAorICAgIEEjI2tpMCBePSBEaTA7IFwKKyAgICBCYmkxID0gUk9MMzIoQSMja2kwLCAyMSk7IFwKKyAgICBFIyNiYTEgPSAgIEJiYTEgXiggIEJiZTEgfCAgQmJpMSApOyBcCisgICAgRSMjYmExIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8xW2ldOyBcCisgICAgQ2ExID0gRSMjYmExOyBcCisgICAgQSMjbW8wIF49IERvMDsgXAorICAgIEJibzEgPSBST0wzMihBIyNtbzAsIDEwKTsgXAorICAgIEUjI2JlMSA9ICAgQmJlMSBeKCh+QmJpMSl8ICBCYm8xICk7IFwKKyAgICBDZTEgPSBFIyNiZTE7IFwKKyAgICBBIyNzdTEgXj0gRHUxOyBcCisgICAgQmJ1MSA9IFJPTDMyKEEjI3N1MSwgNyk7IFwKKyAgICBFIyNiaTEgPSAgIEJiaTEgXiggIEJibzEgJiAgQmJ1MSApOyBcCisgICAgQ2kxID0gRSMjYmkxOyBcCisgICAgRSMjYm8xID0gICBCYm8xIF4oICBCYnUxIHwgIEJiYTEgKTsgXAorICAgIENvMSA9IEUjI2JvMTsgXAorICAgIEUjI2J1MSA9ICAgQmJ1MSBeKCAgQmJhMSAmICBCYmUxICk7IFwKKyAgICBDdTEgPSBFIyNidTE7IFwKK1wKKyAgICBBIyNibzAgXj0gRG8wOyBcCisgICAgQmdhMCA9IFJPTDMyKEEjI2JvMCwgMTQpOyBcCisgICAgQSMjZ3UwIF49IER1MDsgXAorICAgIEJnZTAgPSBST0wzMihBIyNndTAsIDEwKTsgXAorICAgIEEjI2thMSBePSBEYTE7IFwKKyAgICBCZ2kwID0gUk9MMzIoQSMja2ExLCAyKTsgXAorICAgIEUjI2dhMCA9ICAgQmdhMCBeKCAgQmdlMCB8ICBCZ2kwICk7IFwKKyAgICBDYTAgXj0gRSMjZ2EwOyBcCisgICAgQSMjbWUxIF49IERlMTsgXAorICAgIEJnbzAgPSBST0wzMihBIyNtZTEsIDIzKTsgXAorICAgIEUjI2dlMCA9ICAgQmdlMCBeKCAgQmdpMCAmICBCZ28wICk7IFwKKyAgICBDZTAgXj0gRSMjZ2UwOyBcCisgICAgQSMjc2kxIF49IERpMTsgXAorICAgIEJndTAgPSBST0wzMihBIyNzaTEsIDMxKTsgXAorICAgIEUjI2dpMCA9ICAgQmdpMCBeKCAgQmdvMCB8KH5CZ3UwKSk7IFwKKyAgICBDaTAgXj0gRSMjZ2kwOyBcCisgICAgRSMjZ28wID0gICBCZ28wIF4oICBCZ3UwIHwgIEJnYTAgKTsgXAorICAgIENvMCBePSBFIyNnbzA7IFwKKyAgICBFIyNndTAgPSAgIEJndTAgXiggIEJnYTAgJiAgQmdlMCApOyBcCisgICAgQ3UwIF49IEUjI2d1MDsgXAorXAorICAgIEEjI2JvMSBePSBEbzE7IFwKKyAgICBCZ2ExID0gUk9MMzIoQSMjYm8xLCAxNCk7IFwKKyAgICBBIyNndTEgXj0gRHUxOyBcCisgICAgQmdlMSA9IFJPTDMyKEEjI2d1MSwgMTApOyBcCisgICAgQSMja2EwIF49IERhMDsgXAorICAgIEJnaTEgPSBST0wzMihBIyNrYTAsIDEpOyBcCisgICAgRSMjZ2ExID0gICBCZ2ExIF4oICBCZ2UxIHwgIEJnaTEgKTsgXAorICAgIENhMSBePSBFIyNnYTE7IFwKKyAgICBBIyNtZTAgXj0gRGUwOyBcCisgICAgQmdvMSA9IFJPTDMyKEEjI21lMCwgMjIpOyBcCisgICAgRSMjZ2UxID0gICBCZ2UxIF4oICBCZ2kxICYgIEJnbzEgKTsgXAorICAgIENlMSBePSBFIyNnZTE7IFwKKyAgICBBIyNzaTAgXj0gRGkwOyBcCisgICAgQmd1MSA9IFJPTDMyKEEjI3NpMCwgMzApOyBcCisgICAgRSMjZ2kxID0gICBCZ2kxIF4oICBCZ28xIHwofkJndTEpKTsgXAorICAgIENpMSBePSBFIyNnaTE7IFwKKyAgICBFIyNnbzEgPSAgIEJnbzEgXiggIEJndTEgfCAgQmdhMSApOyBcCisgICAgQ28xIF49IEUjI2dvMTsgXAorICAgIEUjI2d1MSA9ICAgQmd1MSBeKCAgQmdhMSAmICBCZ2UxICk7IFwKKyAgICBDdTEgXj0gRSMjZ3UxOyBcCitcCisgICAgQSMjYmUxIF49IERlMTsgXAorICAgIEJrYTAgPSBST0wzMihBIyNiZTEsIDEpOyBcCisgICAgQSMjZ2kwIF49IERpMDsgXAorICAgIEJrZTAgPSBST0wzMihBIyNnaTAsIDMpOyBcCisgICAgQSMja28xIF49IERvMTsgXAorICAgIEJraTAgPSBST0wzMihBIyNrbzEsIDEzKTsgXAorICAgIEUjI2thMCA9ICAgQmthMCBeKCAgQmtlMCB8ICBCa2kwICk7IFwKKyAgICBDYTAgXj0gRSMja2EwOyBcCisgICAgQSMjbXUwIF49IER1MDsgXAorICAgIEJrbzAgPSBST0wzMihBIyNtdTAsIDQpOyBcCisgICAgRSMja2UwID0gICBCa2UwIF4oICBCa2kwICYgIEJrbzAgKTsgXAorICAgIENlMCBePSBFIyNrZTA7IFwKKyAgICBBIyNzYTAgXj0gRGEwOyBcCisgICAgQmt1MCA9IFJPTDMyKEEjI3NhMCwgOSk7IFwKKyAgICBFIyNraTAgPSAgIEJraTAgXigofkJrbzApJiAgQmt1MCApOyBcCisgICAgQ2kwIF49IEUjI2tpMDsgXAorICAgIEUjI2tvMCA9ICh+QmtvMCleKCAgQmt1MCB8ICBCa2EwICk7IFwKKyAgICBDbzAgXj0gRSMja28wOyBcCisgICAgRSMja3UwID0gICBCa3UwIF4oICBCa2EwICYgIEJrZTAgKTsgXAorICAgIEN1MCBePSBFIyNrdTA7IFwKK1wKKyAgICBBIyNiZTAgXj0gRGUwOyBcCisgICAgQmthMSA9IEEjI2JlMDsgXAorICAgIEEjI2dpMSBePSBEaTE7IFwKKyAgICBCa2UxID0gUk9MMzIoQSMjZ2kxLCAzKTsgXAorICAgIEEjI2tvMCBePSBEbzA7IFwKKyAgICBCa2kxID0gUk9MMzIoQSMja28wLCAxMik7IFwKKyAgICBFIyNrYTEgPSAgIEJrYTEgXiggIEJrZTEgfCAgQmtpMSApOyBcCisgICAgQ2ExIF49IEUjI2thMTsgXAorICAgIEEjI211MSBePSBEdTE7IFwKKyAgICBCa28xID0gUk9MMzIoQSMjbXUxLCA0KTsgXAorICAgIEUjI2tlMSA9ICAgQmtlMSBeKCAgQmtpMSAmICBCa28xICk7IFwKKyAgICBDZTEgXj0gRSMja2UxOyBcCisgICAgQSMjc2ExIF49IERhMTsgXAorICAgIEJrdTEgPSBST0wzMihBIyNzYTEsIDkpOyBcCisgICAgRSMja2kxID0gICBCa2kxIF4oKH5Ca28xKSYgIEJrdTEgKTsgXAorICAgIENpMSBePSBFIyNraTE7IFwKKyAgICBFIyNrbzEgPSAofkJrbzEpXiggIEJrdTEgfCAgQmthMSApOyBcCisgICAgQ28xIF49IEUjI2tvMTsgXAorICAgIEUjI2t1MSA9ICAgQmt1MSBeKCAgQmthMSAmICBCa2UxICk7IFwKKyAgICBDdTEgXj0gRSMja3UxOyBcCitcCisgICAgQSMjYnUxIF49IER1MTsgXAorICAgIEJtYTAgPSBST0wzMihBIyNidTEsIDE0KTsgXAorICAgIEEjI2dhMCBePSBEYTA7IFwKKyAgICBCbWUwID0gUk9MMzIoQSMjZ2EwLCAxOCk7IFwKKyAgICBBIyNrZTAgXj0gRGUwOyBcCisgICAgQm1pMCA9IFJPTDMyKEEjI2tlMCwgNSk7IFwKKyAgICBFIyNtYTAgPSAgIEJtYTAgXiggIEJtZTAgJiAgQm1pMCApOyBcCisgICAgQ2EwIF49IEUjI21hMDsgXAorICAgIEEjI21pMSBePSBEaTE7IFwKKyAgICBCbW8wID0gUk9MMzIoQSMjbWkxLCA4KTsgXAorICAgIEUjI21lMCA9ICAgQm1lMCBeKCAgQm1pMCB8ICBCbW8wICk7IFwKKyAgICBDZTAgXj0gRSMjbWUwOyBcCisgICAgQSMjc28wIF49IERvMDsgXAorICAgIEJtdTAgPSBST0wzMihBIyNzbzAsIDI4KTsgXAorICAgIEUjI21pMCA9ICAgQm1pMCBeKCh+Qm1vMCl8ICBCbXUwICk7IFwKKyAgICBDaTAgXj0gRSMjbWkwOyBcCisgICAgRSMjbW8wID0gKH5CbW8wKV4oICBCbXUwICYgIEJtYTAgKTsgXAorICAgIENvMCBePSBFIyNtbzA7IFwKKyAgICBFIyNtdTAgPSAgIEJtdTAgXiggIEJtYTAgfCAgQm1lMCApOyBcCisgICAgQ3UwIF49IEUjI211MDsgXAorXAorICAgIEEjI2J1MCBePSBEdTA7IFwKKyAgICBCbWExID0gUk9MMzIoQSMjYnUwLCAxMyk7IFwKKyAgICBBIyNnYTEgXj0gRGExOyBcCisgICAgQm1lMSA9IFJPTDMyKEEjI2dhMSwgMTgpOyBcCisgICAgQSMja2UxIF49IERlMTsgXAorICAgIEJtaTEgPSBST0wzMihBIyNrZTEsIDUpOyBcCisgICAgRSMjbWExID0gICBCbWExIF4oICBCbWUxICYgIEJtaTEgKTsgXAorICAgIENhMSBePSBFIyNtYTE7IFwKKyAgICBBIyNtaTAgXj0gRGkwOyBcCisgICAgQm1vMSA9IFJPTDMyKEEjI21pMCwgNyk7IFwKKyAgICBFIyNtZTEgPSAgIEJtZTEgXiggIEJtaTEgfCAgQm1vMSApOyBcCisgICAgQ2UxIF49IEUjI21lMTsgXAorICAgIEEjI3NvMSBePSBEbzE7IFwKKyAgICBCbXUxID0gUk9MMzIoQSMjc28xLCAyOCk7IFwKKyAgICBFIyNtaTEgPSAgIEJtaTEgXigofkJtbzEpfCAgQm11MSApOyBcCisgICAgQ2kxIF49IEUjI21pMTsgXAorICAgIEUjI21vMSA9ICh+Qm1vMSleKCAgQm11MSAmICBCbWExICk7IFwKKyAgICBDbzEgXj0gRSMjbW8xOyBcCisgICAgRSMjbXUxID0gICBCbXUxIF4oICBCbWExIHwgIEJtZTEgKTsgXAorICAgIEN1MSBePSBFIyNtdTE7IFwKK1wKKyAgICBBIyNiaTAgXj0gRGkwOyBcCisgICAgQnNhMCA9IFJPTDMyKEEjI2JpMCwgMzEpOyBcCisgICAgQSMjZ28xIF49IERvMTsgXAorICAgIEJzZTAgPSBST0wzMihBIyNnbzEsIDI4KTsgXAorICAgIEEjI2t1MSBePSBEdTE7IFwKKyAgICBCc2kwID0gUk9MMzIoQSMja3UxLCAyMCk7IFwKKyAgICBFIyNzYTAgPSAgIEJzYTAgXigofkJzZTApJiAgQnNpMCApOyBcCisgICAgQ2EwIF49IEUjI3NhMDsgXAorICAgIEEjI21hMSBePSBEYTE7IFwKKyAgICBCc28wID0gUk9MMzIoQSMjbWExLCAyMSk7IFwKKyAgICBFIyNzZTAgPSAofkJzZTApXiggIEJzaTAgfCAgQnNvMCApOyBcCisgICAgQ2UwIF49IEUjI3NlMDsgXAorICAgIEEjI3NlMCBePSBEZTA7IFwKKyAgICBCc3UwID0gUk9MMzIoQSMjc2UwLCAxKTsgXAorICAgIEUjI3NpMCA9ICAgQnNpMCBeKCAgQnNvMCAmICBCc3UwICk7IFwKKyAgICBDaTAgXj0gRSMjc2kwOyBcCisgICAgRSMjc28wID0gICBCc28wIF4oICBCc3UwIHwgIEJzYTAgKTsgXAorICAgIENvMCBePSBFIyNzbzA7IFwKKyAgICBFIyNzdTAgPSAgIEJzdTAgXiggIEJzYTAgJiAgQnNlMCApOyBcCisgICAgQ3UwIF49IEUjI3N1MDsgXAorXAorICAgIEEjI2JpMSBePSBEaTE7IFwKKyAgICBCc2ExID0gUk9MMzIoQSMjYmkxLCAzMSk7IFwKKyAgICBBIyNnbzAgXj0gRG8wOyBcCisgICAgQnNlMSA9IFJPTDMyKEEjI2dvMCwgMjcpOyBcCisgICAgQSMja3UwIF49IER1MDsgXAorICAgIEJzaTEgPSBST0wzMihBIyNrdTAsIDE5KTsgXAorICAgIEUjI3NhMSA9ICAgQnNhMSBeKCh+QnNlMSkmICBCc2kxICk7IFwKKyAgICBDYTEgXj0gRSMjc2ExOyBcCisgICAgQSMjbWEwIF49IERhMDsgXAorICAgIEJzbzEgPSBST0wzMihBIyNtYTAsIDIwKTsgXAorICAgIEUjI3NlMSA9ICh+QnNlMSleKCAgQnNpMSB8ICBCc28xICk7IFwKKyAgICBDZTEgXj0gRSMjc2UxOyBcCisgICAgQSMjc2UxIF49IERlMTsgXAorICAgIEJzdTEgPSBST0wzMihBIyNzZTEsIDEpOyBcCisgICAgRSMjc2kxID0gICBCc2kxIF4oICBCc28xICYgIEJzdTEgKTsgXAorICAgIENpMSBePSBFIyNzaTE7IFwKKyAgICBFIyNzbzEgPSAgIEJzbzEgXiggIEJzdTEgfCAgQnNhMSApOyBcCisgICAgQ28xIF49IEUjI3NvMTsgXAorICAgIEUjI3N1MSA9ICAgQnN1MSBeKCAgQnNhMSAmICBCc2UxICk7IFwKKyAgICBDdTEgXj0gRSMjc3UxOyBcCitcCisKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQgKGxhbmUgY29tcGxlbWVudGluZyBwYXR0ZXJuICdiZWJpZ29raW1pc2EnKSAqLworLyogIC0tLSB1c2luZyBmYWN0b3IgMiBpbnRlcmxlYXZpbmcsIDY0LWJpdCBsYW5lcyBtYXBwZWQgdG8gMzItYml0IHdvcmRzICovCisjZGVmaW5lIHRoZXRhUmhvUGlDaGlJb3RhKGksIEEsIEUpIFwKKyAgICBEYTAgPSBDdTBeUk9MMzIoQ2UxLCAxKTsgXAorICAgIERhMSA9IEN1MV5DZTA7IFwKKyAgICBEZTAgPSBDYTBeUk9MMzIoQ2kxLCAxKTsgXAorICAgIERlMSA9IENhMV5DaTA7IFwKKyAgICBEaTAgPSBDZTBeUk9MMzIoQ28xLCAxKTsgXAorICAgIERpMSA9IENlMV5DbzA7IFwKKyAgICBEbzAgPSBDaTBeUk9MMzIoQ3UxLCAxKTsgXAorICAgIERvMSA9IENpMV5DdTA7IFwKKyAgICBEdTAgPSBDbzBeUk9MMzIoQ2ExLCAxKTsgXAorICAgIER1MSA9IENvMV5DYTA7IFwKK1wKKyAgICBBIyNiYTAgXj0gRGEwOyBcCisgICAgQmJhMCA9IEEjI2JhMDsgXAorICAgIEEjI2dlMCBePSBEZTA7IFwKKyAgICBCYmUwID0gUk9MMzIoQSMjZ2UwLCAyMik7IFwKKyAgICBBIyNraTEgXj0gRGkxOyBcCisgICAgQmJpMCA9IFJPTDMyKEEjI2tpMSwgMjIpOyBcCisgICAgRSMjYmEwID0gICBCYmEwIF4oICBCYmUwIHwgIEJiaTAgKTsgXAorICAgIEUjI2JhMCBePSBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzX2ludDJfMFtpXTsgXAorICAgIEEjI21vMSBePSBEbzE7IFwKKyAgICBCYm8wID0gUk9MMzIoQSMjbW8xLCAxMSk7IFwKKyAgICBFIyNiZTAgPSAgIEJiZTAgXigofkJiaTApfCAgQmJvMCApOyBcCisgICAgQSMjc3UwIF49IER1MDsgXAorICAgIEJidTAgPSBST0wzMihBIyNzdTAsIDcpOyBcCisgICAgRSMjYmkwID0gICBCYmkwIF4oICBCYm8wICYgIEJidTAgKTsgXAorICAgIEUjI2JvMCA9ICAgQmJvMCBeKCAgQmJ1MCB8ICBCYmEwICk7IFwKKyAgICBFIyNidTAgPSAgIEJidTAgXiggIEJiYTAgJiAgQmJlMCApOyBcCitcCisgICAgQSMjYmExIF49IERhMTsgXAorICAgIEJiYTEgPSBBIyNiYTE7IFwKKyAgICBBIyNnZTEgXj0gRGUxOyBcCisgICAgQmJlMSA9IFJPTDMyKEEjI2dlMSwgMjIpOyBcCisgICAgQSMja2kwIF49IERpMDsgXAorICAgIEJiaTEgPSBST0wzMihBIyNraTAsIDIxKTsgXAorICAgIEUjI2JhMSA9ICAgQmJhMSBeKCAgQmJlMSB8ICBCYmkxICk7IFwKKyAgICBFIyNiYTEgXj0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzFbaV07IFwKKyAgICBBIyNtbzAgXj0gRG8wOyBcCisgICAgQmJvMSA9IFJPTDMyKEEjI21vMCwgMTApOyBcCisgICAgRSMjYmUxID0gICBCYmUxIF4oKH5CYmkxKXwgIEJibzEgKTsgXAorICAgIEEjI3N1MSBePSBEdTE7IFwKKyAgICBCYnUxID0gUk9MMzIoQSMjc3UxLCA3KTsgXAorICAgIEUjI2JpMSA9ICAgQmJpMSBeKCAgQmJvMSAmICBCYnUxICk7IFwKKyAgICBFIyNibzEgPSAgIEJibzEgXiggIEJidTEgfCAgQmJhMSApOyBcCisgICAgRSMjYnUxID0gICBCYnUxIF4oICBCYmExICYgIEJiZTEgKTsgXAorXAorICAgIEEjI2JvMCBePSBEbzA7IFwKKyAgICBCZ2EwID0gUk9MMzIoQSMjYm8wLCAxNCk7IFwKKyAgICBBIyNndTAgXj0gRHUwOyBcCisgICAgQmdlMCA9IFJPTDMyKEEjI2d1MCwgMTApOyBcCisgICAgQSMja2ExIF49IERhMTsgXAorICAgIEJnaTAgPSBST0wzMihBIyNrYTEsIDIpOyBcCisgICAgRSMjZ2EwID0gICBCZ2EwIF4oICBCZ2UwIHwgIEJnaTAgKTsgXAorICAgIEEjI21lMSBePSBEZTE7IFwKKyAgICBCZ28wID0gUk9MMzIoQSMjbWUxLCAyMyk7IFwKKyAgICBFIyNnZTAgPSAgIEJnZTAgXiggIEJnaTAgJiAgQmdvMCApOyBcCisgICAgQSMjc2kxIF49IERpMTsgXAorICAgIEJndTAgPSBST0wzMihBIyNzaTEsIDMxKTsgXAorICAgIEUjI2dpMCA9ICAgQmdpMCBeKCAgQmdvMCB8KH5CZ3UwKSk7IFwKKyAgICBFIyNnbzAgPSAgIEJnbzAgXiggIEJndTAgfCAgQmdhMCApOyBcCisgICAgRSMjZ3UwID0gICBCZ3UwIF4oICBCZ2EwICYgIEJnZTAgKTsgXAorXAorICAgIEEjI2JvMSBePSBEbzE7IFwKKyAgICBCZ2ExID0gUk9MMzIoQSMjYm8xLCAxNCk7IFwKKyAgICBBIyNndTEgXj0gRHUxOyBcCisgICAgQmdlMSA9IFJPTDMyKEEjI2d1MSwgMTApOyBcCisgICAgQSMja2EwIF49IERhMDsgXAorICAgIEJnaTEgPSBST0wzMihBIyNrYTAsIDEpOyBcCisgICAgRSMjZ2ExID0gICBCZ2ExIF4oICBCZ2UxIHwgIEJnaTEgKTsgXAorICAgIEEjI21lMCBePSBEZTA7IFwKKyAgICBCZ28xID0gUk9MMzIoQSMjbWUwLCAyMik7IFwKKyAgICBFIyNnZTEgPSAgIEJnZTEgXiggIEJnaTEgJiAgQmdvMSApOyBcCisgICAgQSMjc2kwIF49IERpMDsgXAorICAgIEJndTEgPSBST0wzMihBIyNzaTAsIDMwKTsgXAorICAgIEUjI2dpMSA9ICAgQmdpMSBeKCAgQmdvMSB8KH5CZ3UxKSk7IFwKKyAgICBFIyNnbzEgPSAgIEJnbzEgXiggIEJndTEgfCAgQmdhMSApOyBcCisgICAgRSMjZ3UxID0gICBCZ3UxIF4oICBCZ2ExICYgIEJnZTEgKTsgXAorXAorICAgIEEjI2JlMSBePSBEZTE7IFwKKyAgICBCa2EwID0gUk9MMzIoQSMjYmUxLCAxKTsgXAorICAgIEEjI2dpMCBePSBEaTA7IFwKKyAgICBCa2UwID0gUk9MMzIoQSMjZ2kwLCAzKTsgXAorICAgIEEjI2tvMSBePSBEbzE7IFwKKyAgICBCa2kwID0gUk9MMzIoQSMja28xLCAxMyk7IFwKKyAgICBFIyNrYTAgPSAgIEJrYTAgXiggIEJrZTAgfCAgQmtpMCApOyBcCisgICAgQSMjbXUwIF49IER1MDsgXAorICAgIEJrbzAgPSBST0wzMihBIyNtdTAsIDQpOyBcCisgICAgRSMja2UwID0gICBCa2UwIF4oICBCa2kwICYgIEJrbzAgKTsgXAorICAgIEEjI3NhMCBePSBEYTA7IFwKKyAgICBCa3UwID0gUk9MMzIoQSMjc2EwLCA5KTsgXAorICAgIEUjI2tpMCA9ICAgQmtpMCBeKCh+QmtvMCkmICBCa3UwICk7IFwKKyAgICBFIyNrbzAgPSAofkJrbzApXiggIEJrdTAgfCAgQmthMCApOyBcCisgICAgRSMja3UwID0gICBCa3UwIF4oICBCa2EwICYgIEJrZTAgKTsgXAorXAorICAgIEEjI2JlMCBePSBEZTA7IFwKKyAgICBCa2ExID0gQSMjYmUwOyBcCisgICAgQSMjZ2kxIF49IERpMTsgXAorICAgIEJrZTEgPSBST0wzMihBIyNnaTEsIDMpOyBcCisgICAgQSMja28wIF49IERvMDsgXAorICAgIEJraTEgPSBST0wzMihBIyNrbzAsIDEyKTsgXAorICAgIEUjI2thMSA9ICAgQmthMSBeKCAgQmtlMSB8ICBCa2kxICk7IFwKKyAgICBBIyNtdTEgXj0gRHUxOyBcCisgICAgQmtvMSA9IFJPTDMyKEEjI211MSwgNCk7IFwKKyAgICBFIyNrZTEgPSAgIEJrZTEgXiggIEJraTEgJiAgQmtvMSApOyBcCisgICAgQSMjc2ExIF49IERhMTsgXAorICAgIEJrdTEgPSBST0wzMihBIyNzYTEsIDkpOyBcCisgICAgRSMja2kxID0gICBCa2kxIF4oKH5Ca28xKSYgIEJrdTEgKTsgXAorICAgIEUjI2tvMSA9ICh+QmtvMSleKCAgQmt1MSB8ICBCa2ExICk7IFwKKyAgICBFIyNrdTEgPSAgIEJrdTEgXiggIEJrYTEgJiAgQmtlMSApOyBcCitcCisgICAgQSMjYnUxIF49IER1MTsgXAorICAgIEJtYTAgPSBST0wzMihBIyNidTEsIDE0KTsgXAorICAgIEEjI2dhMCBePSBEYTA7IFwKKyAgICBCbWUwID0gUk9MMzIoQSMjZ2EwLCAxOCk7IFwKKyAgICBBIyNrZTAgXj0gRGUwOyBcCisgICAgQm1pMCA9IFJPTDMyKEEjI2tlMCwgNSk7IFwKKyAgICBFIyNtYTAgPSAgIEJtYTAgXiggIEJtZTAgJiAgQm1pMCApOyBcCisgICAgQSMjbWkxIF49IERpMTsgXAorICAgIEJtbzAgPSBST0wzMihBIyNtaTEsIDgpOyBcCisgICAgRSMjbWUwID0gICBCbWUwIF4oICBCbWkwIHwgIEJtbzAgKTsgXAorICAgIEEjI3NvMCBePSBEbzA7IFwKKyAgICBCbXUwID0gUk9MMzIoQSMjc28wLCAyOCk7IFwKKyAgICBFIyNtaTAgPSAgIEJtaTAgXigofkJtbzApfCAgQm11MCApOyBcCisgICAgRSMjbW8wID0gKH5CbW8wKV4oICBCbXUwICYgIEJtYTAgKTsgXAorICAgIEUjI211MCA9ICAgQm11MCBeKCAgQm1hMCB8ICBCbWUwICk7IFwKK1wKKyAgICBBIyNidTAgXj0gRHUwOyBcCisgICAgQm1hMSA9IFJPTDMyKEEjI2J1MCwgMTMpOyBcCisgICAgQSMjZ2ExIF49IERhMTsgXAorICAgIEJtZTEgPSBST0wzMihBIyNnYTEsIDE4KTsgXAorICAgIEEjI2tlMSBePSBEZTE7IFwKKyAgICBCbWkxID0gUk9MMzIoQSMja2UxLCA1KTsgXAorICAgIEUjI21hMSA9ICAgQm1hMSBeKCAgQm1lMSAmICBCbWkxICk7IFwKKyAgICBBIyNtaTAgXj0gRGkwOyBcCisgICAgQm1vMSA9IFJPTDMyKEEjI21pMCwgNyk7IFwKKyAgICBFIyNtZTEgPSAgIEJtZTEgXiggIEJtaTEgfCAgQm1vMSApOyBcCisgICAgQSMjc28xIF49IERvMTsgXAorICAgIEJtdTEgPSBST0wzMihBIyNzbzEsIDI4KTsgXAorICAgIEUjI21pMSA9ICAgQm1pMSBeKCh+Qm1vMSl8ICBCbXUxICk7IFwKKyAgICBFIyNtbzEgPSAofkJtbzEpXiggIEJtdTEgJiAgQm1hMSApOyBcCisgICAgRSMjbXUxID0gICBCbXUxIF4oICBCbWExIHwgIEJtZTEgKTsgXAorXAorICAgIEEjI2JpMCBePSBEaTA7IFwKKyAgICBCc2EwID0gUk9MMzIoQSMjYmkwLCAzMSk7IFwKKyAgICBBIyNnbzEgXj0gRG8xOyBcCisgICAgQnNlMCA9IFJPTDMyKEEjI2dvMSwgMjgpOyBcCisgICAgQSMja3UxIF49IER1MTsgXAorICAgIEJzaTAgPSBST0wzMihBIyNrdTEsIDIwKTsgXAorICAgIEUjI3NhMCA9ICAgQnNhMCBeKCh+QnNlMCkmICBCc2kwICk7IFwKKyAgICBBIyNtYTEgXj0gRGExOyBcCisgICAgQnNvMCA9IFJPTDMyKEEjI21hMSwgMjEpOyBcCisgICAgRSMjc2UwID0gKH5Cc2UwKV4oICBCc2kwIHwgIEJzbzAgKTsgXAorICAgIEEjI3NlMCBePSBEZTA7IFwKKyAgICBCc3UwID0gUk9MMzIoQSMjc2UwLCAxKTsgXAorICAgIEUjI3NpMCA9ICAgQnNpMCBeKCAgQnNvMCAmICBCc3UwICk7IFwKKyAgICBFIyNzbzAgPSAgIEJzbzAgXiggIEJzdTAgfCAgQnNhMCApOyBcCisgICAgRSMjc3UwID0gICBCc3UwIF4oICBCc2EwICYgIEJzZTAgKTsgXAorXAorICAgIEEjI2JpMSBePSBEaTE7IFwKKyAgICBCc2ExID0gUk9MMzIoQSMjYmkxLCAzMSk7IFwKKyAgICBBIyNnbzAgXj0gRG8wOyBcCisgICAgQnNlMSA9IFJPTDMyKEEjI2dvMCwgMjcpOyBcCisgICAgQSMja3UwIF49IER1MDsgXAorICAgIEJzaTEgPSBST0wzMihBIyNrdTAsIDE5KTsgXAorICAgIEUjI3NhMSA9ICAgQnNhMSBeKCh+QnNlMSkmICBCc2kxICk7IFwKKyAgICBBIyNtYTAgXj0gRGEwOyBcCisgICAgQnNvMSA9IFJPTDMyKEEjI21hMCwgMjApOyBcCisgICAgRSMjc2UxID0gKH5Cc2UxKV4oICBCc2kxIHwgIEJzbzEgKTsgXAorICAgIEEjI3NlMSBePSBEZTE7IFwKKyAgICBCc3UxID0gUk9MMzIoQSMjc2UxLCAxKTsgXAorICAgIEUjI3NpMSA9ICAgQnNpMSBeKCAgQnNvMSAmICBCc3UxICk7IFwKKyAgICBFIyNzbzEgPSAgIEJzbzEgXiggIEJzdTEgfCAgQnNhMSApOyBcCisgICAgRSMjc3UxID0gICBCc3UxIF4oICBCc2ExICYgIEJzZTEgKTsgXAorXAorCisjZWxzZSAvKiAgVXNlQmViaWdva2ltaXNhICovCisvKiAgLS0tIENvZGUgZm9yIHJvdW5kLCB3aXRoIHByZXBhcmUtdGhldGEgKi8KKy8qICAtLS0gdXNpbmcgZmFjdG9yIDIgaW50ZXJsZWF2aW5nLCA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpLCBBLCBFKSBcCisgICAgRGEwID0gQ3UwXlJPTDMyKENlMSwgMSk7IFwKKyAgICBEYTEgPSBDdTFeQ2UwOyBcCisgICAgRGUwID0gQ2EwXlJPTDMyKENpMSwgMSk7IFwKKyAgICBEZTEgPSBDYTFeQ2kwOyBcCisgICAgRGkwID0gQ2UwXlJPTDMyKENvMSwgMSk7IFwKKyAgICBEaTEgPSBDZTFeQ28wOyBcCisgICAgRG8wID0gQ2kwXlJPTDMyKEN1MSwgMSk7IFwKKyAgICBEbzEgPSBDaTFeQ3UwOyBcCisgICAgRHUwID0gQ28wXlJPTDMyKENhMSwgMSk7IFwKKyAgICBEdTEgPSBDbzFeQ2EwOyBcCitcCisgICAgQSMjYmEwIF49IERhMDsgXAorICAgIEJiYTAgPSBBIyNiYTA7IFwKKyAgICBBIyNnZTAgXj0gRGUwOyBcCisgICAgQmJlMCA9IFJPTDMyKEEjI2dlMCwgMjIpOyBcCisgICAgQSMja2kxIF49IERpMTsgXAorICAgIEJiaTAgPSBST0wzMihBIyNraTEsIDIyKTsgXAorICAgIEUjI2JhMCA9ICAgQmJhMCBeKCh+QmJlMCkmICBCYmkwICk7IFwKKyAgICBFIyNiYTAgXj0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzBbaV07IFwKKyAgICBDYTAgPSBFIyNiYTA7IFwKKyAgICBBIyNtbzEgXj0gRG8xOyBcCisgICAgQmJvMCA9IFJPTDMyKEEjI21vMSwgMTEpOyBcCisgICAgRSMjYmUwID0gICBCYmUwIF4oKH5CYmkwKSYgIEJibzAgKTsgXAorICAgIENlMCA9IEUjI2JlMDsgXAorICAgIEEjI3N1MCBePSBEdTA7IFwKKyAgICBCYnUwID0gUk9MMzIoQSMjc3UwLCA3KTsgXAorICAgIEUjI2JpMCA9ICAgQmJpMCBeKCh+QmJvMCkmICBCYnUwICk7IFwKKyAgICBDaTAgPSBFIyNiaTA7IFwKKyAgICBFIyNibzAgPSAgIEJibzAgXigofkJidTApJiAgQmJhMCApOyBcCisgICAgQ28wID0gRSMjYm8wOyBcCisgICAgRSMjYnUwID0gICBCYnUwIF4oKH5CYmEwKSYgIEJiZTAgKTsgXAorICAgIEN1MCA9IEUjI2J1MDsgXAorXAorICAgIEEjI2JhMSBePSBEYTE7IFwKKyAgICBCYmExID0gQSMjYmExOyBcCisgICAgQSMjZ2UxIF49IERlMTsgXAorICAgIEJiZTEgPSBST0wzMihBIyNnZTEsIDIyKTsgXAorICAgIEEjI2tpMCBePSBEaTA7IFwKKyAgICBCYmkxID0gUk9MMzIoQSMja2kwLCAyMSk7IFwKKyAgICBFIyNiYTEgPSAgIEJiYTEgXigofkJiZTEpJiAgQmJpMSApOyBcCisgICAgRSMjYmExIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8xW2ldOyBcCisgICAgQ2ExID0gRSMjYmExOyBcCisgICAgQSMjbW8wIF49IERvMDsgXAorICAgIEJibzEgPSBST0wzMihBIyNtbzAsIDEwKTsgXAorICAgIEUjI2JlMSA9ICAgQmJlMSBeKCh+QmJpMSkmICBCYm8xICk7IFwKKyAgICBDZTEgPSBFIyNiZTE7IFwKKyAgICBBIyNzdTEgXj0gRHUxOyBcCisgICAgQmJ1MSA9IFJPTDMyKEEjI3N1MSwgNyk7IFwKKyAgICBFIyNiaTEgPSAgIEJiaTEgXigofkJibzEpJiAgQmJ1MSApOyBcCisgICAgQ2kxID0gRSMjYmkxOyBcCisgICAgRSMjYm8xID0gICBCYm8xIF4oKH5CYnUxKSYgIEJiYTEgKTsgXAorICAgIENvMSA9IEUjI2JvMTsgXAorICAgIEUjI2J1MSA9ICAgQmJ1MSBeKCh+QmJhMSkmICBCYmUxICk7IFwKKyAgICBDdTEgPSBFIyNidTE7IFwKK1wKKyAgICBBIyNibzAgXj0gRG8wOyBcCisgICAgQmdhMCA9IFJPTDMyKEEjI2JvMCwgMTQpOyBcCisgICAgQSMjZ3UwIF49IER1MDsgXAorICAgIEJnZTAgPSBST0wzMihBIyNndTAsIDEwKTsgXAorICAgIEEjI2thMSBePSBEYTE7IFwKKyAgICBCZ2kwID0gUk9MMzIoQSMja2ExLCAyKTsgXAorICAgIEUjI2dhMCA9ICAgQmdhMCBeKCh+QmdlMCkmICBCZ2kwICk7IFwKKyAgICBDYTAgXj0gRSMjZ2EwOyBcCisgICAgQSMjbWUxIF49IERlMTsgXAorICAgIEJnbzAgPSBST0wzMihBIyNtZTEsIDIzKTsgXAorICAgIEUjI2dlMCA9ICAgQmdlMCBeKCh+QmdpMCkmICBCZ28wICk7IFwKKyAgICBDZTAgXj0gRSMjZ2UwOyBcCisgICAgQSMjc2kxIF49IERpMTsgXAorICAgIEJndTAgPSBST0wzMihBIyNzaTEsIDMxKTsgXAorICAgIEUjI2dpMCA9ICAgQmdpMCBeKCh+QmdvMCkmICBCZ3UwICk7IFwKKyAgICBDaTAgXj0gRSMjZ2kwOyBcCisgICAgRSMjZ28wID0gICBCZ28wIF4oKH5CZ3UwKSYgIEJnYTAgKTsgXAorICAgIENvMCBePSBFIyNnbzA7IFwKKyAgICBFIyNndTAgPSAgIEJndTAgXigofkJnYTApJiAgQmdlMCApOyBcCisgICAgQ3UwIF49IEUjI2d1MDsgXAorXAorICAgIEEjI2JvMSBePSBEbzE7IFwKKyAgICBCZ2ExID0gUk9MMzIoQSMjYm8xLCAxNCk7IFwKKyAgICBBIyNndTEgXj0gRHUxOyBcCisgICAgQmdlMSA9IFJPTDMyKEEjI2d1MSwgMTApOyBcCisgICAgQSMja2EwIF49IERhMDsgXAorICAgIEJnaTEgPSBST0wzMihBIyNrYTAsIDEpOyBcCisgICAgRSMjZ2ExID0gICBCZ2ExIF4oKH5CZ2UxKSYgIEJnaTEgKTsgXAorICAgIENhMSBePSBFIyNnYTE7IFwKKyAgICBBIyNtZTAgXj0gRGUwOyBcCisgICAgQmdvMSA9IFJPTDMyKEEjI21lMCwgMjIpOyBcCisgICAgRSMjZ2UxID0gICBCZ2UxIF4oKH5CZ2kxKSYgIEJnbzEgKTsgXAorICAgIENlMSBePSBFIyNnZTE7IFwKKyAgICBBIyNzaTAgXj0gRGkwOyBcCisgICAgQmd1MSA9IFJPTDMyKEEjI3NpMCwgMzApOyBcCisgICAgRSMjZ2kxID0gICBCZ2kxIF4oKH5CZ28xKSYgIEJndTEgKTsgXAorICAgIENpMSBePSBFIyNnaTE7IFwKKyAgICBFIyNnbzEgPSAgIEJnbzEgXigofkJndTEpJiAgQmdhMSApOyBcCisgICAgQ28xIF49IEUjI2dvMTsgXAorICAgIEUjI2d1MSA9ICAgQmd1MSBeKCh+QmdhMSkmICBCZ2UxICk7IFwKKyAgICBDdTEgXj0gRSMjZ3UxOyBcCitcCisgICAgQSMjYmUxIF49IERlMTsgXAorICAgIEJrYTAgPSBST0wzMihBIyNiZTEsIDEpOyBcCisgICAgQSMjZ2kwIF49IERpMDsgXAorICAgIEJrZTAgPSBST0wzMihBIyNnaTAsIDMpOyBcCisgICAgQSMja28xIF49IERvMTsgXAorICAgIEJraTAgPSBST0wzMihBIyNrbzEsIDEzKTsgXAorICAgIEUjI2thMCA9ICAgQmthMCBeKCh+QmtlMCkmICBCa2kwICk7IFwKKyAgICBDYTAgXj0gRSMja2EwOyBcCisgICAgQSMjbXUwIF49IER1MDsgXAorICAgIEJrbzAgPSBST0wzMihBIyNtdTAsIDQpOyBcCisgICAgRSMja2UwID0gICBCa2UwIF4oKH5Ca2kwKSYgIEJrbzAgKTsgXAorICAgIENlMCBePSBFIyNrZTA7IFwKKyAgICBBIyNzYTAgXj0gRGEwOyBcCisgICAgQmt1MCA9IFJPTDMyKEEjI3NhMCwgOSk7IFwKKyAgICBFIyNraTAgPSAgIEJraTAgXigofkJrbzApJiAgQmt1MCApOyBcCisgICAgQ2kwIF49IEUjI2tpMDsgXAorICAgIEUjI2tvMCA9ICAgQmtvMCBeKCh+Qmt1MCkmICBCa2EwICk7IFwKKyAgICBDbzAgXj0gRSMja28wOyBcCisgICAgRSMja3UwID0gICBCa3UwIF4oKH5Ca2EwKSYgIEJrZTAgKTsgXAorICAgIEN1MCBePSBFIyNrdTA7IFwKK1wKKyAgICBBIyNiZTAgXj0gRGUwOyBcCisgICAgQmthMSA9IEEjI2JlMDsgXAorICAgIEEjI2dpMSBePSBEaTE7IFwKKyAgICBCa2UxID0gUk9MMzIoQSMjZ2kxLCAzKTsgXAorICAgIEEjI2tvMCBePSBEbzA7IFwKKyAgICBCa2kxID0gUk9MMzIoQSMja28wLCAxMik7IFwKKyAgICBFIyNrYTEgPSAgIEJrYTEgXigofkJrZTEpJiAgQmtpMSApOyBcCisgICAgQ2ExIF49IEUjI2thMTsgXAorICAgIEEjI211MSBePSBEdTE7IFwKKyAgICBCa28xID0gUk9MMzIoQSMjbXUxLCA0KTsgXAorICAgIEUjI2tlMSA9ICAgQmtlMSBeKCh+QmtpMSkmICBCa28xICk7IFwKKyAgICBDZTEgXj0gRSMja2UxOyBcCisgICAgQSMjc2ExIF49IERhMTsgXAorICAgIEJrdTEgPSBST0wzMihBIyNzYTEsIDkpOyBcCisgICAgRSMja2kxID0gICBCa2kxIF4oKH5Ca28xKSYgIEJrdTEgKTsgXAorICAgIENpMSBePSBFIyNraTE7IFwKKyAgICBFIyNrbzEgPSAgIEJrbzEgXigofkJrdTEpJiAgQmthMSApOyBcCisgICAgQ28xIF49IEUjI2tvMTsgXAorICAgIEUjI2t1MSA9ICAgQmt1MSBeKCh+QmthMSkmICBCa2UxICk7IFwKKyAgICBDdTEgXj0gRSMja3UxOyBcCitcCisgICAgQSMjYnUxIF49IER1MTsgXAorICAgIEJtYTAgPSBST0wzMihBIyNidTEsIDE0KTsgXAorICAgIEEjI2dhMCBePSBEYTA7IFwKKyAgICBCbWUwID0gUk9MMzIoQSMjZ2EwLCAxOCk7IFwKKyAgICBBIyNrZTAgXj0gRGUwOyBcCisgICAgQm1pMCA9IFJPTDMyKEEjI2tlMCwgNSk7IFwKKyAgICBFIyNtYTAgPSAgIEJtYTAgXigofkJtZTApJiAgQm1pMCApOyBcCisgICAgQ2EwIF49IEUjI21hMDsgXAorICAgIEEjI21pMSBePSBEaTE7IFwKKyAgICBCbW8wID0gUk9MMzIoQSMjbWkxLCA4KTsgXAorICAgIEUjI21lMCA9ICAgQm1lMCBeKCh+Qm1pMCkmICBCbW8wICk7IFwKKyAgICBDZTAgXj0gRSMjbWUwOyBcCisgICAgQSMjc28wIF49IERvMDsgXAorICAgIEJtdTAgPSBST0wzMihBIyNzbzAsIDI4KTsgXAorICAgIEUjI21pMCA9ICAgQm1pMCBeKCh+Qm1vMCkmICBCbXUwICk7IFwKKyAgICBDaTAgXj0gRSMjbWkwOyBcCisgICAgRSMjbW8wID0gICBCbW8wIF4oKH5CbXUwKSYgIEJtYTAgKTsgXAorICAgIENvMCBePSBFIyNtbzA7IFwKKyAgICBFIyNtdTAgPSAgIEJtdTAgXigofkJtYTApJiAgQm1lMCApOyBcCisgICAgQ3UwIF49IEUjI211MDsgXAorXAorICAgIEEjI2J1MCBePSBEdTA7IFwKKyAgICBCbWExID0gUk9MMzIoQSMjYnUwLCAxMyk7IFwKKyAgICBBIyNnYTEgXj0gRGExOyBcCisgICAgQm1lMSA9IFJPTDMyKEEjI2dhMSwgMTgpOyBcCisgICAgQSMja2UxIF49IERlMTsgXAorICAgIEJtaTEgPSBST0wzMihBIyNrZTEsIDUpOyBcCisgICAgRSMjbWExID0gICBCbWExIF4oKH5CbWUxKSYgIEJtaTEgKTsgXAorICAgIENhMSBePSBFIyNtYTE7IFwKKyAgICBBIyNtaTAgXj0gRGkwOyBcCisgICAgQm1vMSA9IFJPTDMyKEEjI21pMCwgNyk7IFwKKyAgICBFIyNtZTEgPSAgIEJtZTEgXigofkJtaTEpJiAgQm1vMSApOyBcCisgICAgQ2UxIF49IEUjI21lMTsgXAorICAgIEEjI3NvMSBePSBEbzE7IFwKKyAgICBCbXUxID0gUk9MMzIoQSMjc28xLCAyOCk7IFwKKyAgICBFIyNtaTEgPSAgIEJtaTEgXigofkJtbzEpJiAgQm11MSApOyBcCisgICAgQ2kxIF49IEUjI21pMTsgXAorICAgIEUjI21vMSA9ICAgQm1vMSBeKCh+Qm11MSkmICBCbWExICk7IFwKKyAgICBDbzEgXj0gRSMjbW8xOyBcCisgICAgRSMjbXUxID0gICBCbXUxIF4oKH5CbWExKSYgIEJtZTEgKTsgXAorICAgIEN1MSBePSBFIyNtdTE7IFwKK1wKKyAgICBBIyNiaTAgXj0gRGkwOyBcCisgICAgQnNhMCA9IFJPTDMyKEEjI2JpMCwgMzEpOyBcCisgICAgQSMjZ28xIF49IERvMTsgXAorICAgIEJzZTAgPSBST0wzMihBIyNnbzEsIDI4KTsgXAorICAgIEEjI2t1MSBePSBEdTE7IFwKKyAgICBCc2kwID0gUk9MMzIoQSMja3UxLCAyMCk7IFwKKyAgICBFIyNzYTAgPSAgIEJzYTAgXigofkJzZTApJiAgQnNpMCApOyBcCisgICAgQ2EwIF49IEUjI3NhMDsgXAorICAgIEEjI21hMSBePSBEYTE7IFwKKyAgICBCc28wID0gUk9MMzIoQSMjbWExLCAyMSk7IFwKKyAgICBFIyNzZTAgPSAgIEJzZTAgXigofkJzaTApJiAgQnNvMCApOyBcCisgICAgQ2UwIF49IEUjI3NlMDsgXAorICAgIEEjI3NlMCBePSBEZTA7IFwKKyAgICBCc3UwID0gUk9MMzIoQSMjc2UwLCAxKTsgXAorICAgIEUjI3NpMCA9ICAgQnNpMCBeKCh+QnNvMCkmICBCc3UwICk7IFwKKyAgICBDaTAgXj0gRSMjc2kwOyBcCisgICAgRSMjc28wID0gICBCc28wIF4oKH5Cc3UwKSYgIEJzYTAgKTsgXAorICAgIENvMCBePSBFIyNzbzA7IFwKKyAgICBFIyNzdTAgPSAgIEJzdTAgXigofkJzYTApJiAgQnNlMCApOyBcCisgICAgQ3UwIF49IEUjI3N1MDsgXAorXAorICAgIEEjI2JpMSBePSBEaTE7IFwKKyAgICBCc2ExID0gUk9MMzIoQSMjYmkxLCAzMSk7IFwKKyAgICBBIyNnbzAgXj0gRG8wOyBcCisgICAgQnNlMSA9IFJPTDMyKEEjI2dvMCwgMjcpOyBcCisgICAgQSMja3UwIF49IER1MDsgXAorICAgIEJzaTEgPSBST0wzMihBIyNrdTAsIDE5KTsgXAorICAgIEUjI3NhMSA9ICAgQnNhMSBeKCh+QnNlMSkmICBCc2kxICk7IFwKKyAgICBDYTEgXj0gRSMjc2ExOyBcCisgICAgQSMjbWEwIF49IERhMDsgXAorICAgIEJzbzEgPSBST0wzMihBIyNtYTAsIDIwKTsgXAorICAgIEUjI3NlMSA9ICAgQnNlMSBeKCh+QnNpMSkmICBCc28xICk7IFwKKyAgICBDZTEgXj0gRSMjc2UxOyBcCisgICAgQSMjc2UxIF49IERlMTsgXAorICAgIEJzdTEgPSBST0wzMihBIyNzZTEsIDEpOyBcCisgICAgRSMjc2kxID0gICBCc2kxIF4oKH5Cc28xKSYgIEJzdTEgKTsgXAorICAgIENpMSBePSBFIyNzaTE7IFwKKyAgICBFIyNzbzEgPSAgIEJzbzEgXigofkJzdTEpJiAgQnNhMSApOyBcCisgICAgQ28xIF49IEUjI3NvMTsgXAorICAgIEUjI3N1MSA9ICAgQnN1MSBeKCh+QnNhMSkmICBCc2UxICk7IFwKKyAgICBDdTEgXj0gRSMjc3UxOyBcCitcCisKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQgKi8KKy8qICAtLS0gdXNpbmcgZmFjdG9yIDIgaW50ZXJsZWF2aW5nLCA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDMyLWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YShpLCBBLCBFKSBcCisgICAgRGEwID0gQ3UwXlJPTDMyKENlMSwgMSk7IFwKKyAgICBEYTEgPSBDdTFeQ2UwOyBcCisgICAgRGUwID0gQ2EwXlJPTDMyKENpMSwgMSk7IFwKKyAgICBEZTEgPSBDYTFeQ2kwOyBcCisgICAgRGkwID0gQ2UwXlJPTDMyKENvMSwgMSk7IFwKKyAgICBEaTEgPSBDZTFeQ28wOyBcCisgICAgRG8wID0gQ2kwXlJPTDMyKEN1MSwgMSk7IFwKKyAgICBEbzEgPSBDaTFeQ3UwOyBcCisgICAgRHUwID0gQ28wXlJPTDMyKENhMSwgMSk7IFwKKyAgICBEdTEgPSBDbzFeQ2EwOyBcCitcCisgICAgQSMjYmEwIF49IERhMDsgXAorICAgIEJiYTAgPSBBIyNiYTA7IFwKKyAgICBBIyNnZTAgXj0gRGUwOyBcCisgICAgQmJlMCA9IFJPTDMyKEEjI2dlMCwgMjIpOyBcCisgICAgQSMja2kxIF49IERpMTsgXAorICAgIEJiaTAgPSBST0wzMihBIyNraTEsIDIyKTsgXAorICAgIEUjI2JhMCA9ICAgQmJhMCBeKCh+QmJlMCkmICBCYmkwICk7IFwKKyAgICBFIyNiYTAgXj0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzBbaV07IFwKKyAgICBBIyNtbzEgXj0gRG8xOyBcCisgICAgQmJvMCA9IFJPTDMyKEEjI21vMSwgMTEpOyBcCisgICAgRSMjYmUwID0gICBCYmUwIF4oKH5CYmkwKSYgIEJibzAgKTsgXAorICAgIEEjI3N1MCBePSBEdTA7IFwKKyAgICBCYnUwID0gUk9MMzIoQSMjc3UwLCA3KTsgXAorICAgIEUjI2JpMCA9ICAgQmJpMCBeKCh+QmJvMCkmICBCYnUwICk7IFwKKyAgICBFIyNibzAgPSAgIEJibzAgXigofkJidTApJiAgQmJhMCApOyBcCisgICAgRSMjYnUwID0gICBCYnUwIF4oKH5CYmEwKSYgIEJiZTAgKTsgXAorXAorICAgIEEjI2JhMSBePSBEYTE7IFwKKyAgICBCYmExID0gQSMjYmExOyBcCisgICAgQSMjZ2UxIF49IERlMTsgXAorICAgIEJiZTEgPSBST0wzMihBIyNnZTEsIDIyKTsgXAorICAgIEEjI2tpMCBePSBEaTA7IFwKKyAgICBCYmkxID0gUk9MMzIoQSMja2kwLCAyMSk7IFwKKyAgICBFIyNiYTEgPSAgIEJiYTEgXigofkJiZTEpJiAgQmJpMSApOyBcCisgICAgRSMjYmExIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8xW2ldOyBcCisgICAgQSMjbW8wIF49IERvMDsgXAorICAgIEJibzEgPSBST0wzMihBIyNtbzAsIDEwKTsgXAorICAgIEUjI2JlMSA9ICAgQmJlMSBeKCh+QmJpMSkmICBCYm8xICk7IFwKKyAgICBBIyNzdTEgXj0gRHUxOyBcCisgICAgQmJ1MSA9IFJPTDMyKEEjI3N1MSwgNyk7IFwKKyAgICBFIyNiaTEgPSAgIEJiaTEgXigofkJibzEpJiAgQmJ1MSApOyBcCisgICAgRSMjYm8xID0gICBCYm8xIF4oKH5CYnUxKSYgIEJiYTEgKTsgXAorICAgIEUjI2J1MSA9ICAgQmJ1MSBeKCh+QmJhMSkmICBCYmUxICk7IFwKK1wKKyAgICBBIyNibzAgXj0gRG8wOyBcCisgICAgQmdhMCA9IFJPTDMyKEEjI2JvMCwgMTQpOyBcCisgICAgQSMjZ3UwIF49IER1MDsgXAorICAgIEJnZTAgPSBST0wzMihBIyNndTAsIDEwKTsgXAorICAgIEEjI2thMSBePSBEYTE7IFwKKyAgICBCZ2kwID0gUk9MMzIoQSMja2ExLCAyKTsgXAorICAgIEUjI2dhMCA9ICAgQmdhMCBeKCh+QmdlMCkmICBCZ2kwICk7IFwKKyAgICBBIyNtZTEgXj0gRGUxOyBcCisgICAgQmdvMCA9IFJPTDMyKEEjI21lMSwgMjMpOyBcCisgICAgRSMjZ2UwID0gICBCZ2UwIF4oKH5CZ2kwKSYgIEJnbzAgKTsgXAorICAgIEEjI3NpMSBePSBEaTE7IFwKKyAgICBCZ3UwID0gUk9MMzIoQSMjc2kxLCAzMSk7IFwKKyAgICBFIyNnaTAgPSAgIEJnaTAgXigofkJnbzApJiAgQmd1MCApOyBcCisgICAgRSMjZ28wID0gICBCZ28wIF4oKH5CZ3UwKSYgIEJnYTAgKTsgXAorICAgIEUjI2d1MCA9ICAgQmd1MCBeKCh+QmdhMCkmICBCZ2UwICk7IFwKK1wKKyAgICBBIyNibzEgXj0gRG8xOyBcCisgICAgQmdhMSA9IFJPTDMyKEEjI2JvMSwgMTQpOyBcCisgICAgQSMjZ3UxIF49IER1MTsgXAorICAgIEJnZTEgPSBST0wzMihBIyNndTEsIDEwKTsgXAorICAgIEEjI2thMCBePSBEYTA7IFwKKyAgICBCZ2kxID0gUk9MMzIoQSMja2EwLCAxKTsgXAorICAgIEUjI2dhMSA9ICAgQmdhMSBeKCh+QmdlMSkmICBCZ2kxICk7IFwKKyAgICBBIyNtZTAgXj0gRGUwOyBcCisgICAgQmdvMSA9IFJPTDMyKEEjI21lMCwgMjIpOyBcCisgICAgRSMjZ2UxID0gICBCZ2UxIF4oKH5CZ2kxKSYgIEJnbzEgKTsgXAorICAgIEEjI3NpMCBePSBEaTA7IFwKKyAgICBCZ3UxID0gUk9MMzIoQSMjc2kwLCAzMCk7IFwKKyAgICBFIyNnaTEgPSAgIEJnaTEgXigofkJnbzEpJiAgQmd1MSApOyBcCisgICAgRSMjZ28xID0gICBCZ28xIF4oKH5CZ3UxKSYgIEJnYTEgKTsgXAorICAgIEUjI2d1MSA9ICAgQmd1MSBeKCh+QmdhMSkmICBCZ2UxICk7IFwKK1wKKyAgICBBIyNiZTEgXj0gRGUxOyBcCisgICAgQmthMCA9IFJPTDMyKEEjI2JlMSwgMSk7IFwKKyAgICBBIyNnaTAgXj0gRGkwOyBcCisgICAgQmtlMCA9IFJPTDMyKEEjI2dpMCwgMyk7IFwKKyAgICBBIyNrbzEgXj0gRG8xOyBcCisgICAgQmtpMCA9IFJPTDMyKEEjI2tvMSwgMTMpOyBcCisgICAgRSMja2EwID0gICBCa2EwIF4oKH5Ca2UwKSYgIEJraTAgKTsgXAorICAgIEEjI211MCBePSBEdTA7IFwKKyAgICBCa28wID0gUk9MMzIoQSMjbXUwLCA0KTsgXAorICAgIEUjI2tlMCA9ICAgQmtlMCBeKCh+QmtpMCkmICBCa28wICk7IFwKKyAgICBBIyNzYTAgXj0gRGEwOyBcCisgICAgQmt1MCA9IFJPTDMyKEEjI3NhMCwgOSk7IFwKKyAgICBFIyNraTAgPSAgIEJraTAgXigofkJrbzApJiAgQmt1MCApOyBcCisgICAgRSMja28wID0gICBCa28wIF4oKH5Ca3UwKSYgIEJrYTAgKTsgXAorICAgIEUjI2t1MCA9ICAgQmt1MCBeKCh+QmthMCkmICBCa2UwICk7IFwKK1wKKyAgICBBIyNiZTAgXj0gRGUwOyBcCisgICAgQmthMSA9IEEjI2JlMDsgXAorICAgIEEjI2dpMSBePSBEaTE7IFwKKyAgICBCa2UxID0gUk9MMzIoQSMjZ2kxLCAzKTsgXAorICAgIEEjI2tvMCBePSBEbzA7IFwKKyAgICBCa2kxID0gUk9MMzIoQSMja28wLCAxMik7IFwKKyAgICBFIyNrYTEgPSAgIEJrYTEgXigofkJrZTEpJiAgQmtpMSApOyBcCisgICAgQSMjbXUxIF49IER1MTsgXAorICAgIEJrbzEgPSBST0wzMihBIyNtdTEsIDQpOyBcCisgICAgRSMja2UxID0gICBCa2UxIF4oKH5Ca2kxKSYgIEJrbzEgKTsgXAorICAgIEEjI3NhMSBePSBEYTE7IFwKKyAgICBCa3UxID0gUk9MMzIoQSMjc2ExLCA5KTsgXAorICAgIEUjI2tpMSA9ICAgQmtpMSBeKCh+QmtvMSkmICBCa3UxICk7IFwKKyAgICBFIyNrbzEgPSAgIEJrbzEgXigofkJrdTEpJiAgQmthMSApOyBcCisgICAgRSMja3UxID0gICBCa3UxIF4oKH5Ca2ExKSYgIEJrZTEgKTsgXAorXAorICAgIEEjI2J1MSBePSBEdTE7IFwKKyAgICBCbWEwID0gUk9MMzIoQSMjYnUxLCAxNCk7IFwKKyAgICBBIyNnYTAgXj0gRGEwOyBcCisgICAgQm1lMCA9IFJPTDMyKEEjI2dhMCwgMTgpOyBcCisgICAgQSMja2UwIF49IERlMDsgXAorICAgIEJtaTAgPSBST0wzMihBIyNrZTAsIDUpOyBcCisgICAgRSMjbWEwID0gICBCbWEwIF4oKH5CbWUwKSYgIEJtaTAgKTsgXAorICAgIEEjI21pMSBePSBEaTE7IFwKKyAgICBCbW8wID0gUk9MMzIoQSMjbWkxLCA4KTsgXAorICAgIEUjI21lMCA9ICAgQm1lMCBeKCh+Qm1pMCkmICBCbW8wICk7IFwKKyAgICBBIyNzbzAgXj0gRG8wOyBcCisgICAgQm11MCA9IFJPTDMyKEEjI3NvMCwgMjgpOyBcCisgICAgRSMjbWkwID0gICBCbWkwIF4oKH5CbW8wKSYgIEJtdTAgKTsgXAorICAgIEUjI21vMCA9ICAgQm1vMCBeKCh+Qm11MCkmICBCbWEwICk7IFwKKyAgICBFIyNtdTAgPSAgIEJtdTAgXigofkJtYTApJiAgQm1lMCApOyBcCitcCisgICAgQSMjYnUwIF49IER1MDsgXAorICAgIEJtYTEgPSBST0wzMihBIyNidTAsIDEzKTsgXAorICAgIEEjI2dhMSBePSBEYTE7IFwKKyAgICBCbWUxID0gUk9MMzIoQSMjZ2ExLCAxOCk7IFwKKyAgICBBIyNrZTEgXj0gRGUxOyBcCisgICAgQm1pMSA9IFJPTDMyKEEjI2tlMSwgNSk7IFwKKyAgICBFIyNtYTEgPSAgIEJtYTEgXigofkJtZTEpJiAgQm1pMSApOyBcCisgICAgQSMjbWkwIF49IERpMDsgXAorICAgIEJtbzEgPSBST0wzMihBIyNtaTAsIDcpOyBcCisgICAgRSMjbWUxID0gICBCbWUxIF4oKH5CbWkxKSYgIEJtbzEgKTsgXAorICAgIEEjI3NvMSBePSBEbzE7IFwKKyAgICBCbXUxID0gUk9MMzIoQSMjc28xLCAyOCk7IFwKKyAgICBFIyNtaTEgPSAgIEJtaTEgXigofkJtbzEpJiAgQm11MSApOyBcCisgICAgRSMjbW8xID0gICBCbW8xIF4oKH5CbXUxKSYgIEJtYTEgKTsgXAorICAgIEUjI211MSA9ICAgQm11MSBeKCh+Qm1hMSkmICBCbWUxICk7IFwKK1wKKyAgICBBIyNiaTAgXj0gRGkwOyBcCisgICAgQnNhMCA9IFJPTDMyKEEjI2JpMCwgMzEpOyBcCisgICAgQSMjZ28xIF49IERvMTsgXAorICAgIEJzZTAgPSBST0wzMihBIyNnbzEsIDI4KTsgXAorICAgIEEjI2t1MSBePSBEdTE7IFwKKyAgICBCc2kwID0gUk9MMzIoQSMja3UxLCAyMCk7IFwKKyAgICBFIyNzYTAgPSAgIEJzYTAgXigofkJzZTApJiAgQnNpMCApOyBcCisgICAgQSMjbWExIF49IERhMTsgXAorICAgIEJzbzAgPSBST0wzMihBIyNtYTEsIDIxKTsgXAorICAgIEUjI3NlMCA9ICAgQnNlMCBeKCh+QnNpMCkmICBCc28wICk7IFwKKyAgICBBIyNzZTAgXj0gRGUwOyBcCisgICAgQnN1MCA9IFJPTDMyKEEjI3NlMCwgMSk7IFwKKyAgICBFIyNzaTAgPSAgIEJzaTAgXigofkJzbzApJiAgQnN1MCApOyBcCisgICAgRSMjc28wID0gICBCc28wIF4oKH5Cc3UwKSYgIEJzYTAgKTsgXAorICAgIEUjI3N1MCA9ICAgQnN1MCBeKCh+QnNhMCkmICBCc2UwICk7IFwKK1wKKyAgICBBIyNiaTEgXj0gRGkxOyBcCisgICAgQnNhMSA9IFJPTDMyKEEjI2JpMSwgMzEpOyBcCisgICAgQSMjZ28wIF49IERvMDsgXAorICAgIEJzZTEgPSBST0wzMihBIyNnbzAsIDI3KTsgXAorICAgIEEjI2t1MCBePSBEdTA7IFwKKyAgICBCc2kxID0gUk9MMzIoQSMja3UwLCAxOSk7IFwKKyAgICBFIyNzYTEgPSAgIEJzYTEgXigofkJzZTEpJiAgQnNpMSApOyBcCisgICAgQSMjbWEwIF49IERhMDsgXAorICAgIEJzbzEgPSBST0wzMihBIyNtYTAsIDIwKTsgXAorICAgIEUjI3NlMSA9ICAgQnNlMSBeKCh+QnNpMSkmICBCc28xICk7IFwKKyAgICBBIyNzZTEgXj0gRGUxOyBcCisgICAgQnN1MSA9IFJPTDMyKEEjI3NlMSwgMSk7IFwKKyAgICBFIyNzaTEgPSAgIEJzaTEgXigofkJzbzEpJiAgQnN1MSApOyBcCisgICAgRSMjc28xID0gICBCc28xIF4oKH5Cc3UxKSYgIEJzYTEgKTsgXAorICAgIEUjI3N1MSA9ICAgQnN1MSBeKCh+QnNhMSkmICBCc2UxICk7IFwKK1wKKworI2VuZGlmIC8qICBVc2VCZWJpZ29raW1pc2EgKi8KKworY29uc3QgVUlOVDMyIEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNfaW50Ml8wWzI0XSA9IHsKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDFVTCwKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDFVTCwKKyAgICAweDAwMDAwMDAxVUwsCisgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMFVMLAorICAgIDB4MDAwMDAwMDFVTCwKKyAgICAweDAwMDAwMDAwVUwsCisgICAgMHgwMDAwMDAwMVVMLAorICAgIDB4MDAwMDAwMDBVTCB9OworCitjb25zdCBVSU5UMzIgS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c19pbnQyXzFbMjRdID0geworICAgIDB4MDAwMDAwMDBVTCwKKyAgICAweDAwMDAwMDg5VUwsCisgICAgMHg4MDAwMDA4YlVMLAorICAgIDB4ODAwMDgwODBVTCwKKyAgICAweDAwMDAwMDhiVUwsCisgICAgMHgwMDAwODAwMFVMLAorICAgIDB4ODAwMDgwODhVTCwKKyAgICAweDgwMDAwMDgyVUwsCisgICAgMHgwMDAwMDAwYlVMLAorICAgIDB4MDAwMDAwMGFVTCwKKyAgICAweDAwMDA4MDgyVUwsCisgICAgMHgwMDAwODAwM1VMLAorICAgIDB4MDAwMDgwOGJVTCwKKyAgICAweDgwMDAwMDBiVUwsCisgICAgMHg4MDAwMDA4YVVMLAorICAgIDB4ODAwMDAwODFVTCwKKyAgICAweDgwMDAwMDgxVUwsCisgICAgMHg4MDAwMDAwOFVMLAorICAgIDB4MDAwMDAwODNVTCwKKyAgICAweDgwMDA4MDAzVUwsCisgICAgMHg4MDAwODA4OFVMLAorICAgIDB4ODAwMDAwODhVTCwKKyAgICAweDAwMDA4MDAwVUwsCisgICAgMHg4MDAwODA4MlVMIH07CisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwMjRiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhMCA9IHN0YXRlWyAwXV5pbnB1dFsgMF07IFwKKyAgICBYIyNiYTEgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmUwID0gc3RhdGVbIDJdXmlucHV0WyAyXTsgXAorICAgIFgjI2JlMSA9IHN0YXRlWyAzXV5pbnB1dFsgM107IFwKKyAgICBYIyNiaTAgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjYmkxID0gc3RhdGVbIDVdXmlucHV0WyA1XTsgXAorICAgIFgjI2JvMCA9IHN0YXRlWyA2XV5pbnB1dFsgNl07IFwKKyAgICBYIyNibzEgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjYnUwID0gc3RhdGVbIDhdXmlucHV0WyA4XTsgXAorICAgIFgjI2J1MSA9IHN0YXRlWyA5XV5pbnB1dFsgOV07IFwKKyAgICBYIyNnYTAgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMjZ2ExID0gc3RhdGVbMTFdXmlucHV0WzExXTsgXAorICAgIFgjI2dlMCA9IHN0YXRlWzEyXV5pbnB1dFsxMl07IFwKKyAgICBYIyNnZTEgPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMjZ2kwID0gc3RhdGVbMTRdXmlucHV0WzE0XTsgXAorICAgIFgjI2dpMSA9IHN0YXRlWzE1XV5pbnB1dFsxNV07IFwKKyAgICBYIyNnbzAgPSBzdGF0ZVsxNl1eaW5wdXRbMTZdOyBcCisgICAgWCMjZ28xID0gc3RhdGVbMTddXmlucHV0WzE3XTsgXAorICAgIFgjI2d1MCA9IHN0YXRlWzE4XV5pbnB1dFsxOF07IFwKKyAgICBYIyNndTEgPSBzdGF0ZVsxOV1eaW5wdXRbMTldOyBcCisgICAgWCMja2EwID0gc3RhdGVbMjBdXmlucHV0WzIwXTsgXAorICAgIFgjI2thMSA9IHN0YXRlWzIxXV5pbnB1dFsyMV07IFwKKyAgICBYIyNrZTAgPSBzdGF0ZVsyMl1eaW5wdXRbMjJdOyBcCisgICAgWCMja2UxID0gc3RhdGVbMjNdXmlucHV0WzIzXTsgXAorICAgIFgjI2tpMCA9IHN0YXRlWzI0XV5pbnB1dFsyNF07IFwKKyAgICBYIyNraTEgPSBzdGF0ZVsyNV1eaW5wdXRbMjVdOyBcCisgICAgWCMja28wID0gc3RhdGVbMjZdXmlucHV0WzI2XTsgXAorICAgIFgjI2tvMSA9IHN0YXRlWzI3XV5pbnB1dFsyN107IFwKKyAgICBYIyNrdTAgPSBzdGF0ZVsyOF1eaW5wdXRbMjhdOyBcCisgICAgWCMja3UxID0gc3RhdGVbMjldXmlucHV0WzI5XTsgXAorICAgIFgjI21hMCA9IHN0YXRlWzMwXV5pbnB1dFszMF07IFwKKyAgICBYIyNtYTEgPSBzdGF0ZVszMV1eaW5wdXRbMzFdOyBcCisgICAgWCMjbWUwID0gc3RhdGVbMzJdOyBcCisgICAgWCMjbWUxID0gc3RhdGVbMzNdOyBcCisgICAgWCMjbWkwID0gc3RhdGVbMzRdOyBcCisgICAgWCMjbWkxID0gc3RhdGVbMzVdOyBcCisgICAgWCMjbW8wID0gc3RhdGVbMzZdOyBcCisgICAgWCMjbW8xID0gc3RhdGVbMzddOyBcCisgICAgWCMjbXUwID0gc3RhdGVbMzhdOyBcCisgICAgWCMjbXUxID0gc3RhdGVbMzldOyBcCisgICAgWCMjc2EwID0gc3RhdGVbNDBdOyBcCisgICAgWCMjc2ExID0gc3RhdGVbNDFdOyBcCisgICAgWCMjc2UwID0gc3RhdGVbNDJdOyBcCisgICAgWCMjc2UxID0gc3RhdGVbNDNdOyBcCisgICAgWCMjc2kwID0gc3RhdGVbNDRdOyBcCisgICAgWCMjc2kxID0gc3RhdGVbNDVdOyBcCisgICAgWCMjc28wID0gc3RhdGVbNDZdOyBcCisgICAgWCMjc28xID0gc3RhdGVbNDddOyBcCisgICAgWCMjc3UwID0gc3RhdGVbNDhdOyBcCisgICAgWCMjc3UxID0gc3RhdGVbNDldOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwODhiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhMCA9IHN0YXRlWyAwXV5pbnB1dFsgMF07IFwKKyAgICBYIyNiYTEgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmUwID0gc3RhdGVbIDJdXmlucHV0WyAyXTsgXAorICAgIFgjI2JlMSA9IHN0YXRlWyAzXV5pbnB1dFsgM107IFwKKyAgICBYIyNiaTAgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjYmkxID0gc3RhdGVbIDVdXmlucHV0WyA1XTsgXAorICAgIFgjI2JvMCA9IHN0YXRlWyA2XV5pbnB1dFsgNl07IFwKKyAgICBYIyNibzEgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjYnUwID0gc3RhdGVbIDhdXmlucHV0WyA4XTsgXAorICAgIFgjI2J1MSA9IHN0YXRlWyA5XV5pbnB1dFsgOV07IFwKKyAgICBYIyNnYTAgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMjZ2ExID0gc3RhdGVbMTFdXmlucHV0WzExXTsgXAorICAgIFgjI2dlMCA9IHN0YXRlWzEyXV5pbnB1dFsxMl07IFwKKyAgICBYIyNnZTEgPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMjZ2kwID0gc3RhdGVbMTRdXmlucHV0WzE0XTsgXAorICAgIFgjI2dpMSA9IHN0YXRlWzE1XV5pbnB1dFsxNV07IFwKKyAgICBYIyNnbzAgPSBzdGF0ZVsxNl1eaW5wdXRbMTZdOyBcCisgICAgWCMjZ28xID0gc3RhdGVbMTddXmlucHV0WzE3XTsgXAorICAgIFgjI2d1MCA9IHN0YXRlWzE4XV5pbnB1dFsxOF07IFwKKyAgICBYIyNndTEgPSBzdGF0ZVsxOV1eaW5wdXRbMTldOyBcCisgICAgWCMja2EwID0gc3RhdGVbMjBdXmlucHV0WzIwXTsgXAorICAgIFgjI2thMSA9IHN0YXRlWzIxXV5pbnB1dFsyMV07IFwKKyAgICBYIyNrZTAgPSBzdGF0ZVsyMl1eaW5wdXRbMjJdOyBcCisgICAgWCMja2UxID0gc3RhdGVbMjNdXmlucHV0WzIzXTsgXAorICAgIFgjI2tpMCA9IHN0YXRlWzI0XV5pbnB1dFsyNF07IFwKKyAgICBYIyNraTEgPSBzdGF0ZVsyNV1eaW5wdXRbMjVdOyBcCisgICAgWCMja28wID0gc3RhdGVbMjZdXmlucHV0WzI2XTsgXAorICAgIFgjI2tvMSA9IHN0YXRlWzI3XV5pbnB1dFsyN107IFwKKyAgICBYIyNrdTAgPSBzdGF0ZVsyOF1eaW5wdXRbMjhdOyBcCisgICAgWCMja3UxID0gc3RhdGVbMjldXmlucHV0WzI5XTsgXAorICAgIFgjI21hMCA9IHN0YXRlWzMwXV5pbnB1dFszMF07IFwKKyAgICBYIyNtYTEgPSBzdGF0ZVszMV1eaW5wdXRbMzFdOyBcCisgICAgWCMjbWUwID0gc3RhdGVbMzJdXmlucHV0WzMyXTsgXAorICAgIFgjI21lMSA9IHN0YXRlWzMzXV5pbnB1dFszM107IFwKKyAgICBYIyNtaTAgPSBzdGF0ZVszNF07IFwKKyAgICBYIyNtaTEgPSBzdGF0ZVszNV07IFwKKyAgICBYIyNtbzAgPSBzdGF0ZVszNl07IFwKKyAgICBYIyNtbzEgPSBzdGF0ZVszN107IFwKKyAgICBYIyNtdTAgPSBzdGF0ZVszOF07IFwKKyAgICBYIyNtdTEgPSBzdGF0ZVszOV07IFwKKyAgICBYIyNzYTAgPSBzdGF0ZVs0MF07IFwKKyAgICBYIyNzYTEgPSBzdGF0ZVs0MV07IFwKKyAgICBYIyNzZTAgPSBzdGF0ZVs0Ml07IFwKKyAgICBYIyNzZTEgPSBzdGF0ZVs0M107IFwKKyAgICBYIyNzaTAgPSBzdGF0ZVs0NF07IFwKKyAgICBYIyNzaTEgPSBzdGF0ZVs0NV07IFwKKyAgICBYIyNzbzAgPSBzdGF0ZVs0Nl07IFwKKyAgICBYIyNzbzEgPSBzdGF0ZVs0N107IFwKKyAgICBYIyNzdTAgPSBzdGF0ZVs0OF07IFwKKyAgICBYIyNzdTEgPSBzdGF0ZVs0OV07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlKFgsIHN0YXRlKSBcCisgICAgWCMjYmEwID0gc3RhdGVbIDBdOyBcCisgICAgWCMjYmExID0gc3RhdGVbIDFdOyBcCisgICAgWCMjYmUwID0gc3RhdGVbIDJdOyBcCisgICAgWCMjYmUxID0gc3RhdGVbIDNdOyBcCisgICAgWCMjYmkwID0gc3RhdGVbIDRdOyBcCisgICAgWCMjYmkxID0gc3RhdGVbIDVdOyBcCisgICAgWCMjYm8wID0gc3RhdGVbIDZdOyBcCisgICAgWCMjYm8xID0gc3RhdGVbIDddOyBcCisgICAgWCMjYnUwID0gc3RhdGVbIDhdOyBcCisgICAgWCMjYnUxID0gc3RhdGVbIDldOyBcCisgICAgWCMjZ2EwID0gc3RhdGVbMTBdOyBcCisgICAgWCMjZ2ExID0gc3RhdGVbMTFdOyBcCisgICAgWCMjZ2UwID0gc3RhdGVbMTJdOyBcCisgICAgWCMjZ2UxID0gc3RhdGVbMTNdOyBcCisgICAgWCMjZ2kwID0gc3RhdGVbMTRdOyBcCisgICAgWCMjZ2kxID0gc3RhdGVbMTVdOyBcCisgICAgWCMjZ28wID0gc3RhdGVbMTZdOyBcCisgICAgWCMjZ28xID0gc3RhdGVbMTddOyBcCisgICAgWCMjZ3UwID0gc3RhdGVbMThdOyBcCisgICAgWCMjZ3UxID0gc3RhdGVbMTldOyBcCisgICAgWCMja2EwID0gc3RhdGVbMjBdOyBcCisgICAgWCMja2ExID0gc3RhdGVbMjFdOyBcCisgICAgWCMja2UwID0gc3RhdGVbMjJdOyBcCisgICAgWCMja2UxID0gc3RhdGVbMjNdOyBcCisgICAgWCMja2kwID0gc3RhdGVbMjRdOyBcCisgICAgWCMja2kxID0gc3RhdGVbMjVdOyBcCisgICAgWCMja28wID0gc3RhdGVbMjZdOyBcCisgICAgWCMja28xID0gc3RhdGVbMjddOyBcCisgICAgWCMja3UwID0gc3RhdGVbMjhdOyBcCisgICAgWCMja3UxID0gc3RhdGVbMjldOyBcCisgICAgWCMjbWEwID0gc3RhdGVbMzBdOyBcCisgICAgWCMjbWExID0gc3RhdGVbMzFdOyBcCisgICAgWCMjbWUwID0gc3RhdGVbMzJdOyBcCisgICAgWCMjbWUxID0gc3RhdGVbMzNdOyBcCisgICAgWCMjbWkwID0gc3RhdGVbMzRdOyBcCisgICAgWCMjbWkxID0gc3RhdGVbMzVdOyBcCisgICAgWCMjbW8wID0gc3RhdGVbMzZdOyBcCisgICAgWCMjbW8xID0gc3RhdGVbMzddOyBcCisgICAgWCMjbXUwID0gc3RhdGVbMzhdOyBcCisgICAgWCMjbXUxID0gc3RhdGVbMzldOyBcCisgICAgWCMjc2EwID0gc3RhdGVbNDBdOyBcCisgICAgWCMjc2ExID0gc3RhdGVbNDFdOyBcCisgICAgWCMjc2UwID0gc3RhdGVbNDJdOyBcCisgICAgWCMjc2UxID0gc3RhdGVbNDNdOyBcCisgICAgWCMjc2kwID0gc3RhdGVbNDRdOyBcCisgICAgWCMjc2kxID0gc3RhdGVbNDVdOyBcCisgICAgWCMjc28wID0gc3RhdGVbNDZdOyBcCisgICAgWCMjc28xID0gc3RhdGVbNDddOyBcCisgICAgWCMjc3UwID0gc3RhdGVbNDhdOyBcCisgICAgWCMjc3UxID0gc3RhdGVbNDldOyBcCisKKyNkZWZpbmUgY29weVRvU3RhdGUoc3RhdGUsIFgpIFwKKyAgICBzdGF0ZVsgMF0gPSBYIyNiYTA7IFwKKyAgICBzdGF0ZVsgMV0gPSBYIyNiYTE7IFwKKyAgICBzdGF0ZVsgMl0gPSBYIyNiZTA7IFwKKyAgICBzdGF0ZVsgM10gPSBYIyNiZTE7IFwKKyAgICBzdGF0ZVsgNF0gPSBYIyNiaTA7IFwKKyAgICBzdGF0ZVsgNV0gPSBYIyNiaTE7IFwKKyAgICBzdGF0ZVsgNl0gPSBYIyNibzA7IFwKKyAgICBzdGF0ZVsgN10gPSBYIyNibzE7IFwKKyAgICBzdGF0ZVsgOF0gPSBYIyNidTA7IFwKKyAgICBzdGF0ZVsgOV0gPSBYIyNidTE7IFwKKyAgICBzdGF0ZVsxMF0gPSBYIyNnYTA7IFwKKyAgICBzdGF0ZVsxMV0gPSBYIyNnYTE7IFwKKyAgICBzdGF0ZVsxMl0gPSBYIyNnZTA7IFwKKyAgICBzdGF0ZVsxM10gPSBYIyNnZTE7IFwKKyAgICBzdGF0ZVsxNF0gPSBYIyNnaTA7IFwKKyAgICBzdGF0ZVsxNV0gPSBYIyNnaTE7IFwKKyAgICBzdGF0ZVsxNl0gPSBYIyNnbzA7IFwKKyAgICBzdGF0ZVsxN10gPSBYIyNnbzE7IFwKKyAgICBzdGF0ZVsxOF0gPSBYIyNndTA7IFwKKyAgICBzdGF0ZVsxOV0gPSBYIyNndTE7IFwKKyAgICBzdGF0ZVsyMF0gPSBYIyNrYTA7IFwKKyAgICBzdGF0ZVsyMV0gPSBYIyNrYTE7IFwKKyAgICBzdGF0ZVsyMl0gPSBYIyNrZTA7IFwKKyAgICBzdGF0ZVsyM10gPSBYIyNrZTE7IFwKKyAgICBzdGF0ZVsyNF0gPSBYIyNraTA7IFwKKyAgICBzdGF0ZVsyNV0gPSBYIyNraTE7IFwKKyAgICBzdGF0ZVsyNl0gPSBYIyNrbzA7IFwKKyAgICBzdGF0ZVsyN10gPSBYIyNrbzE7IFwKKyAgICBzdGF0ZVsyOF0gPSBYIyNrdTA7IFwKKyAgICBzdGF0ZVsyOV0gPSBYIyNrdTE7IFwKKyAgICBzdGF0ZVszMF0gPSBYIyNtYTA7IFwKKyAgICBzdGF0ZVszMV0gPSBYIyNtYTE7IFwKKyAgICBzdGF0ZVszMl0gPSBYIyNtZTA7IFwKKyAgICBzdGF0ZVszM10gPSBYIyNtZTE7IFwKKyAgICBzdGF0ZVszNF0gPSBYIyNtaTA7IFwKKyAgICBzdGF0ZVszNV0gPSBYIyNtaTE7IFwKKyAgICBzdGF0ZVszNl0gPSBYIyNtbzA7IFwKKyAgICBzdGF0ZVszN10gPSBYIyNtbzE7IFwKKyAgICBzdGF0ZVszOF0gPSBYIyNtdTA7IFwKKyAgICBzdGF0ZVszOV0gPSBYIyNtdTE7IFwKKyAgICBzdGF0ZVs0MF0gPSBYIyNzYTA7IFwKKyAgICBzdGF0ZVs0MV0gPSBYIyNzYTE7IFwKKyAgICBzdGF0ZVs0Ml0gPSBYIyNzZTA7IFwKKyAgICBzdGF0ZVs0M10gPSBYIyNzZTE7IFwKKyAgICBzdGF0ZVs0NF0gPSBYIyNzaTA7IFwKKyAgICBzdGF0ZVs0NV0gPSBYIyNzaTE7IFwKKyAgICBzdGF0ZVs0Nl0gPSBYIyNzbzA7IFwKKyAgICBzdGF0ZVs0N10gPSBYIyNzbzE7IFwKKyAgICBzdGF0ZVs0OF0gPSBYIyNzdTA7IFwKKyAgICBzdGF0ZVs0OV0gPSBYIyNzdTE7IFwKKworI2RlZmluZSBjb3B5U3RhdGVWYXJpYWJsZXMoWCwgWSkgXAorICAgIFgjI2JhMCA9IFkjI2JhMDsgXAorICAgIFgjI2JhMSA9IFkjI2JhMTsgXAorICAgIFgjI2JlMCA9IFkjI2JlMDsgXAorICAgIFgjI2JlMSA9IFkjI2JlMTsgXAorICAgIFgjI2JpMCA9IFkjI2JpMDsgXAorICAgIFgjI2JpMSA9IFkjI2JpMTsgXAorICAgIFgjI2JvMCA9IFkjI2JvMDsgXAorICAgIFgjI2JvMSA9IFkjI2JvMTsgXAorICAgIFgjI2J1MCA9IFkjI2J1MDsgXAorICAgIFgjI2J1MSA9IFkjI2J1MTsgXAorICAgIFgjI2dhMCA9IFkjI2dhMDsgXAorICAgIFgjI2dhMSA9IFkjI2dhMTsgXAorICAgIFgjI2dlMCA9IFkjI2dlMDsgXAorICAgIFgjI2dlMSA9IFkjI2dlMTsgXAorICAgIFgjI2dpMCA9IFkjI2dpMDsgXAorICAgIFgjI2dpMSA9IFkjI2dpMTsgXAorICAgIFgjI2dvMCA9IFkjI2dvMDsgXAorICAgIFgjI2dvMSA9IFkjI2dvMTsgXAorICAgIFgjI2d1MCA9IFkjI2d1MDsgXAorICAgIFgjI2d1MSA9IFkjI2d1MTsgXAorICAgIFgjI2thMCA9IFkjI2thMDsgXAorICAgIFgjI2thMSA9IFkjI2thMTsgXAorICAgIFgjI2tlMCA9IFkjI2tlMDsgXAorICAgIFgjI2tlMSA9IFkjI2tlMTsgXAorICAgIFgjI2tpMCA9IFkjI2tpMDsgXAorICAgIFgjI2tpMSA9IFkjI2tpMTsgXAorICAgIFgjI2tvMCA9IFkjI2tvMDsgXAorICAgIFgjI2tvMSA9IFkjI2tvMTsgXAorICAgIFgjI2t1MCA9IFkjI2t1MDsgXAorICAgIFgjI2t1MSA9IFkjI2t1MTsgXAorICAgIFgjI21hMCA9IFkjI21hMDsgXAorICAgIFgjI21hMSA9IFkjI21hMTsgXAorICAgIFgjI21lMCA9IFkjI21lMDsgXAorICAgIFgjI21lMSA9IFkjI21lMTsgXAorICAgIFgjI21pMCA9IFkjI21pMDsgXAorICAgIFgjI21pMSA9IFkjI21pMTsgXAorICAgIFgjI21vMCA9IFkjI21vMDsgXAorICAgIFgjI21vMSA9IFkjI21vMTsgXAorICAgIFgjI211MCA9IFkjI211MDsgXAorICAgIFgjI211MSA9IFkjI211MTsgXAorICAgIFgjI3NhMCA9IFkjI3NhMDsgXAorICAgIFgjI3NhMSA9IFkjI3NhMTsgXAorICAgIFgjI3NlMCA9IFkjI3NlMDsgXAorICAgIFgjI3NlMSA9IFkjI3NlMTsgXAorICAgIFgjI3NpMCA9IFkjI3NpMDsgXAorICAgIFgjI3NpMSA9IFkjI3NpMTsgXAorICAgIFgjI3NvMCA9IFkjI3NvMDsgXAorICAgIFgjI3NvMSA9IFkjI3NvMTsgXAorICAgIFgjI3N1MCA9IFkjI3N1MDsgXAorICAgIFgjI3N1MSA9IFkjI3N1MTsgXAorCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtMzIubWFjcm9zIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLm1hY3JvcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWRlNjAwCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTMyLm1hY3JvcwpAQCAtMCwwICsxLDI2IEBACisvKgorVGhlIEtlY2NhayBzcG9uZ2UgZnVuY3Rpb24sIGRlc2lnbmVkIGJ5IEd1aWRvIEJlcnRvbmksIEpvYW4gRGFlbWVuLAorTWljaGHDq2wgUGVldGVycyBhbmQgR2lsbGVzIFZhbiBBc3NjaGUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBmZWVkYmFjayBvcgorcXVlc3Rpb25zLCBwbGVhc2UgcmVmZXIgdG8gb3VyIHdlYnNpdGU6IGh0dHA6Ly9rZWNjYWsubm9la2Vvbi5vcmcvCisKK0ltcGxlbWVudGF0aW9uIGJ5IHRoZSBkZXNpZ25lcnMsCitoZXJlYnkgZGVub3RlZCBhcyAidGhlIGltcGxlbWVudGVyIi4KKworVG8gdGhlIGV4dGVudCBwb3NzaWJsZSB1bmRlciBsYXcsIHRoZSBpbXBsZW1lbnRlciBoYXMgd2FpdmVkIGFsbCBjb3B5cmlnaHQKK2FuZCByZWxhdGVkIG9yIG5laWdoYm9yaW5nIHJpZ2h0cyB0byB0aGUgc291cmNlIGNvZGUgaW4gdGhpcyBmaWxlLgoraHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworKi8KKworI2lmZGVmIFVzZVNjaGVkdWxlCisgICAgI2lmIChVc2VTY2hlZHVsZSA9PSAxKQorICAgICAgICAjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLTMyLXMxLm1hY3JvcyIKKyAgICAjZWxpZiAoVXNlU2NoZWR1bGUgPT0gMikKKyAgICAgICAgI2luY2x1ZGUgIktlY2Nha0YtMTYwMC0zMi1zMi5tYWNyb3MiCisgICAgI2VsaWYgKFVzZVNjaGVkdWxlID09IDMpCisgICAgICAgICNpbmNsdWRlICJLZWNjYWtGLTE2MDAtMzItcnZrLm1hY3JvcyIKKyAgICAjZWxzZQorICAgICAgICAjZXJyb3IgIlRoaXMgc2NoZWR1bGUgaXMgbm90IHN1cHBvcnRlZC4iCisgICAgI2VuZGlmCisjZWxzZQorICAgICNpbmNsdWRlICJLZWNjYWtGLTE2MDAtMzItczEubWFjcm9zIgorI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtNjQubWFjcm9zIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTY0Lm1hY3JvcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzBmNzg5Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLTY0Lm1hY3JvcwpAQCAtMCwwICsxLDcyOCBAQAorLyoKK0NvZGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgS2VjY2FrVG9vbHMhCisKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNkZWZpbmUgZGVjbGFyZUFCQ0RFIFwKKyAgICBVSU5UNjQgQWJhLCBBYmUsIEFiaSwgQWJvLCBBYnU7IFwKKyAgICBVSU5UNjQgQWdhLCBBZ2UsIEFnaSwgQWdvLCBBZ3U7IFwKKyAgICBVSU5UNjQgQWthLCBBa2UsIEFraSwgQWtvLCBBa3U7IFwKKyAgICBVSU5UNjQgQW1hLCBBbWUsIEFtaSwgQW1vLCBBbXU7IFwKKyAgICBVSU5UNjQgQXNhLCBBc2UsIEFzaSwgQXNvLCBBc3U7IFwKKyAgICBVSU5UNjQgQmJhLCBCYmUsIEJiaSwgQmJvLCBCYnU7IFwKKyAgICBVSU5UNjQgQmdhLCBCZ2UsIEJnaSwgQmdvLCBCZ3U7IFwKKyAgICBVSU5UNjQgQmthLCBCa2UsIEJraSwgQmtvLCBCa3U7IFwKKyAgICBVSU5UNjQgQm1hLCBCbWUsIEJtaSwgQm1vLCBCbXU7IFwKKyAgICBVSU5UNjQgQnNhLCBCc2UsIEJzaSwgQnNvLCBCc3U7IFwKKyAgICBVSU5UNjQgQ2EsIENlLCBDaSwgQ28sIEN1OyBcCisgICAgVUlOVDY0IERhLCBEZSwgRGksIERvLCBEdTsgXAorICAgIFVJTlQ2NCBFYmEsIEViZSwgRWJpLCBFYm8sIEVidTsgXAorICAgIFVJTlQ2NCBFZ2EsIEVnZSwgRWdpLCBFZ28sIEVndTsgXAorICAgIFVJTlQ2NCBFa2EsIEVrZSwgRWtpLCBFa28sIEVrdTsgXAorICAgIFVJTlQ2NCBFbWEsIEVtZSwgRW1pLCBFbW8sIEVtdTsgXAorICAgIFVJTlQ2NCBFc2EsIEVzZSwgRXNpLCBFc28sIEVzdTsgXAorCisjZGVmaW5lIHByZXBhcmVUaGV0YSBcCisgICAgQ2EgPSBBYmFeQWdhXkFrYV5BbWFeQXNhOyBcCisgICAgQ2UgPSBBYmVeQWdlXkFrZV5BbWVeQXNlOyBcCisgICAgQ2kgPSBBYmleQWdpXkFraV5BbWleQXNpOyBcCisgICAgQ28gPSBBYm9eQWdvXkFrb15BbW9eQXNvOyBcCisgICAgQ3UgPSBBYnVeQWd1XkFrdV5BbXVeQXN1OyBcCisKKyNpZmRlZiBVc2VCZWJpZ29raW1pc2EKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQsIHdpdGggcHJlcGFyZS10aGV0YSAobGFuZSBjb21wbGVtZW50aW5nIHBhdHRlcm4gJ2JlYmlnb2tpbWlzYScpICovCisvKiAgLS0tIDY0LWJpdCBsYW5lcyBtYXBwZWQgdG8gNjQtYml0IHdvcmRzICovCisjZGVmaW5lIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGksIEEsIEUpIFwKKyAgICBEYSA9IEN1XlJPTDY0KENlLCAxKTsgXAorICAgIERlID0gQ2FeUk9MNjQoQ2ksIDEpOyBcCisgICAgRGkgPSBDZV5ST0w2NChDbywgMSk7IFwKKyAgICBEbyA9IENpXlJPTDY0KEN1LCAxKTsgXAorICAgIER1ID0gQ29eUk9MNjQoQ2EsIDEpOyBcCitcCisgICAgQSMjYmEgXj0gRGE7IFwKKyAgICBCYmEgPSBBIyNiYTsgXAorICAgIEEjI2dlIF49IERlOyBcCisgICAgQmJlID0gUk9MNjQoQSMjZ2UsIDQ0KTsgXAorICAgIEEjI2tpIF49IERpOyBcCisgICAgQmJpID0gUk9MNjQoQSMja2ksIDQzKTsgXAorICAgIEEjI21vIF49IERvOyBcCisgICAgQmJvID0gUk9MNjQoQSMjbW8sIDIxKTsgXAorICAgIEEjI3N1IF49IER1OyBcCisgICAgQmJ1ID0gUk9MNjQoQSMjc3UsIDE0KTsgXAorICAgIEUjI2JhID0gICBCYmEgXiggIEJiZSB8ICBCYmkgKTsgXAorICAgIEUjI2JhIF49IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNbaV07IFwKKyAgICBDYSA9IEUjI2JhOyBcCisgICAgRSMjYmUgPSAgIEJiZSBeKCh+QmJpKXwgIEJibyApOyBcCisgICAgQ2UgPSBFIyNiZTsgXAorICAgIEUjI2JpID0gICBCYmkgXiggIEJibyAmICBCYnUgKTsgXAorICAgIENpID0gRSMjYmk7IFwKKyAgICBFIyNibyA9ICAgQmJvIF4oICBCYnUgfCAgQmJhICk7IFwKKyAgICBDbyA9IEUjI2JvOyBcCisgICAgRSMjYnUgPSAgIEJidSBeKCAgQmJhICYgIEJiZSApOyBcCisgICAgQ3UgPSBFIyNidTsgXAorXAorICAgIEEjI2JvIF49IERvOyBcCisgICAgQmdhID0gUk9MNjQoQSMjYm8sIDI4KTsgXAorICAgIEEjI2d1IF49IER1OyBcCisgICAgQmdlID0gUk9MNjQoQSMjZ3UsIDIwKTsgXAorICAgIEEjI2thIF49IERhOyBcCisgICAgQmdpID0gUk9MNjQoQSMja2EsIDMpOyBcCisgICAgQSMjbWUgXj0gRGU7IFwKKyAgICBCZ28gPSBST0w2NChBIyNtZSwgNDUpOyBcCisgICAgQSMjc2kgXj0gRGk7IFwKKyAgICBCZ3UgPSBST0w2NChBIyNzaSwgNjEpOyBcCisgICAgRSMjZ2EgPSAgIEJnYSBeKCAgQmdlIHwgIEJnaSApOyBcCisgICAgQ2EgXj0gRSMjZ2E7IFwKKyAgICBFIyNnZSA9ICAgQmdlIF4oICBCZ2kgJiAgQmdvICk7IFwKKyAgICBDZSBePSBFIyNnZTsgXAorICAgIEUjI2dpID0gICBCZ2kgXiggIEJnbyB8KH5CZ3UpKTsgXAorICAgIENpIF49IEUjI2dpOyBcCisgICAgRSMjZ28gPSAgIEJnbyBeKCAgQmd1IHwgIEJnYSApOyBcCisgICAgQ28gXj0gRSMjZ287IFwKKyAgICBFIyNndSA9ICAgQmd1IF4oICBCZ2EgJiAgQmdlICk7IFwKKyAgICBDdSBePSBFIyNndTsgXAorXAorICAgIEEjI2JlIF49IERlOyBcCisgICAgQmthID0gUk9MNjQoQSMjYmUsIDEpOyBcCisgICAgQSMjZ2kgXj0gRGk7IFwKKyAgICBCa2UgPSBST0w2NChBIyNnaSwgNik7IFwKKyAgICBBIyNrbyBePSBEbzsgXAorICAgIEJraSA9IFJPTDY0KEEjI2tvLCAyNSk7IFwKKyAgICBBIyNtdSBePSBEdTsgXAorICAgIEJrbyA9IFJPTDY0KEEjI211LCA4KTsgXAorICAgIEEjI3NhIF49IERhOyBcCisgICAgQmt1ID0gUk9MNjQoQSMjc2EsIDE4KTsgXAorICAgIEUjI2thID0gICBCa2EgXiggIEJrZSB8ICBCa2kgKTsgXAorICAgIENhIF49IEUjI2thOyBcCisgICAgRSMja2UgPSAgIEJrZSBeKCAgQmtpICYgIEJrbyApOyBcCisgICAgQ2UgXj0gRSMja2U7IFwKKyAgICBFIyNraSA9ICAgQmtpIF4oKH5Ca28pJiAgQmt1ICk7IFwKKyAgICBDaSBePSBFIyNraTsgXAorICAgIEUjI2tvID0gKH5Ca28pXiggIEJrdSB8ICBCa2EgKTsgXAorICAgIENvIF49IEUjI2tvOyBcCisgICAgRSMja3UgPSAgIEJrdSBeKCAgQmthICYgIEJrZSApOyBcCisgICAgQ3UgXj0gRSMja3U7IFwKK1wKKyAgICBBIyNidSBePSBEdTsgXAorICAgIEJtYSA9IFJPTDY0KEEjI2J1LCAyNyk7IFwKKyAgICBBIyNnYSBePSBEYTsgXAorICAgIEJtZSA9IFJPTDY0KEEjI2dhLCAzNik7IFwKKyAgICBBIyNrZSBePSBEZTsgXAorICAgIEJtaSA9IFJPTDY0KEEjI2tlLCAxMCk7IFwKKyAgICBBIyNtaSBePSBEaTsgXAorICAgIEJtbyA9IFJPTDY0KEEjI21pLCAxNSk7IFwKKyAgICBBIyNzbyBePSBEbzsgXAorICAgIEJtdSA9IFJPTDY0KEEjI3NvLCA1Nik7IFwKKyAgICBFIyNtYSA9ICAgQm1hIF4oICBCbWUgJiAgQm1pICk7IFwKKyAgICBDYSBePSBFIyNtYTsgXAorICAgIEUjI21lID0gICBCbWUgXiggIEJtaSB8ICBCbW8gKTsgXAorICAgIENlIF49IEUjI21lOyBcCisgICAgRSMjbWkgPSAgIEJtaSBeKCh+Qm1vKXwgIEJtdSApOyBcCisgICAgQ2kgXj0gRSMjbWk7IFwKKyAgICBFIyNtbyA9ICh+Qm1vKV4oICBCbXUgJiAgQm1hICk7IFwKKyAgICBDbyBePSBFIyNtbzsgXAorICAgIEUjI211ID0gICBCbXUgXiggIEJtYSB8ICBCbWUgKTsgXAorICAgIEN1IF49IEUjI211OyBcCitcCisgICAgQSMjYmkgXj0gRGk7IFwKKyAgICBCc2EgPSBST0w2NChBIyNiaSwgNjIpOyBcCisgICAgQSMjZ28gXj0gRG87IFwKKyAgICBCc2UgPSBST0w2NChBIyNnbywgNTUpOyBcCisgICAgQSMja3UgXj0gRHU7IFwKKyAgICBCc2kgPSBST0w2NChBIyNrdSwgMzkpOyBcCisgICAgQSMjbWEgXj0gRGE7IFwKKyAgICBCc28gPSBST0w2NChBIyNtYSwgNDEpOyBcCisgICAgQSMjc2UgXj0gRGU7IFwKKyAgICBCc3UgPSBST0w2NChBIyNzZSwgMik7IFwKKyAgICBFIyNzYSA9ICAgQnNhIF4oKH5Cc2UpJiAgQnNpICk7IFwKKyAgICBDYSBePSBFIyNzYTsgXAorICAgIEUjI3NlID0gKH5Cc2UpXiggIEJzaSB8ICBCc28gKTsgXAorICAgIENlIF49IEUjI3NlOyBcCisgICAgRSMjc2kgPSAgIEJzaSBeKCAgQnNvICYgIEJzdSApOyBcCisgICAgQ2kgXj0gRSMjc2k7IFwKKyAgICBFIyNzbyA9ICAgQnNvIF4oICBCc3UgfCAgQnNhICk7IFwKKyAgICBDbyBePSBFIyNzbzsgXAorICAgIEUjI3N1ID0gICBCc3UgXiggIEJzYSAmICBCc2UgKTsgXAorICAgIEN1IF49IEUjI3N1OyBcCitcCisKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQgKGxhbmUgY29tcGxlbWVudGluZyBwYXR0ZXJuICdiZWJpZ29raW1pc2EnKSAqLworLyogIC0tLSA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDY0LWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YShpLCBBLCBFKSBcCisgICAgRGEgPSBDdV5ST0w2NChDZSwgMSk7IFwKKyAgICBEZSA9IENhXlJPTDY0KENpLCAxKTsgXAorICAgIERpID0gQ2VeUk9MNjQoQ28sIDEpOyBcCisgICAgRG8gPSBDaV5ST0w2NChDdSwgMSk7IFwKKyAgICBEdSA9IENvXlJPTDY0KENhLCAxKTsgXAorXAorICAgIEEjI2JhIF49IERhOyBcCisgICAgQmJhID0gQSMjYmE7IFwKKyAgICBBIyNnZSBePSBEZTsgXAorICAgIEJiZSA9IFJPTDY0KEEjI2dlLCA0NCk7IFwKKyAgICBBIyNraSBePSBEaTsgXAorICAgIEJiaSA9IFJPTDY0KEEjI2tpLCA0Myk7IFwKKyAgICBBIyNtbyBePSBEbzsgXAorICAgIEJibyA9IFJPTDY0KEEjI21vLCAyMSk7IFwKKyAgICBBIyNzdSBePSBEdTsgXAorICAgIEJidSA9IFJPTDY0KEEjI3N1LCAxNCk7IFwKKyAgICBFIyNiYSA9ICAgQmJhIF4oICBCYmUgfCAgQmJpICk7IFwKKyAgICBFIyNiYSBePSBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzW2ldOyBcCisgICAgRSMjYmUgPSAgIEJiZSBeKCh+QmJpKXwgIEJibyApOyBcCisgICAgRSMjYmkgPSAgIEJiaSBeKCAgQmJvICYgIEJidSApOyBcCisgICAgRSMjYm8gPSAgIEJibyBeKCAgQmJ1IHwgIEJiYSApOyBcCisgICAgRSMjYnUgPSAgIEJidSBeKCAgQmJhICYgIEJiZSApOyBcCitcCisgICAgQSMjYm8gXj0gRG87IFwKKyAgICBCZ2EgPSBST0w2NChBIyNibywgMjgpOyBcCisgICAgQSMjZ3UgXj0gRHU7IFwKKyAgICBCZ2UgPSBST0w2NChBIyNndSwgMjApOyBcCisgICAgQSMja2EgXj0gRGE7IFwKKyAgICBCZ2kgPSBST0w2NChBIyNrYSwgMyk7IFwKKyAgICBBIyNtZSBePSBEZTsgXAorICAgIEJnbyA9IFJPTDY0KEEjI21lLCA0NSk7IFwKKyAgICBBIyNzaSBePSBEaTsgXAorICAgIEJndSA9IFJPTDY0KEEjI3NpLCA2MSk7IFwKKyAgICBFIyNnYSA9ICAgQmdhIF4oICBCZ2UgfCAgQmdpICk7IFwKKyAgICBFIyNnZSA9ICAgQmdlIF4oICBCZ2kgJiAgQmdvICk7IFwKKyAgICBFIyNnaSA9ICAgQmdpIF4oICBCZ28gfCh+Qmd1KSk7IFwKKyAgICBFIyNnbyA9ICAgQmdvIF4oICBCZ3UgfCAgQmdhICk7IFwKKyAgICBFIyNndSA9ICAgQmd1IF4oICBCZ2EgJiAgQmdlICk7IFwKK1wKKyAgICBBIyNiZSBePSBEZTsgXAorICAgIEJrYSA9IFJPTDY0KEEjI2JlLCAxKTsgXAorICAgIEEjI2dpIF49IERpOyBcCisgICAgQmtlID0gUk9MNjQoQSMjZ2ksIDYpOyBcCisgICAgQSMja28gXj0gRG87IFwKKyAgICBCa2kgPSBST0w2NChBIyNrbywgMjUpOyBcCisgICAgQSMjbXUgXj0gRHU7IFwKKyAgICBCa28gPSBST0w2NChBIyNtdSwgOCk7IFwKKyAgICBBIyNzYSBePSBEYTsgXAorICAgIEJrdSA9IFJPTDY0KEEjI3NhLCAxOCk7IFwKKyAgICBFIyNrYSA9ICAgQmthIF4oICBCa2UgfCAgQmtpICk7IFwKKyAgICBFIyNrZSA9ICAgQmtlIF4oICBCa2kgJiAgQmtvICk7IFwKKyAgICBFIyNraSA9ICAgQmtpIF4oKH5Ca28pJiAgQmt1ICk7IFwKKyAgICBFIyNrbyA9ICh+QmtvKV4oICBCa3UgfCAgQmthICk7IFwKKyAgICBFIyNrdSA9ICAgQmt1IF4oICBCa2EgJiAgQmtlICk7IFwKK1wKKyAgICBBIyNidSBePSBEdTsgXAorICAgIEJtYSA9IFJPTDY0KEEjI2J1LCAyNyk7IFwKKyAgICBBIyNnYSBePSBEYTsgXAorICAgIEJtZSA9IFJPTDY0KEEjI2dhLCAzNik7IFwKKyAgICBBIyNrZSBePSBEZTsgXAorICAgIEJtaSA9IFJPTDY0KEEjI2tlLCAxMCk7IFwKKyAgICBBIyNtaSBePSBEaTsgXAorICAgIEJtbyA9IFJPTDY0KEEjI21pLCAxNSk7IFwKKyAgICBBIyNzbyBePSBEbzsgXAorICAgIEJtdSA9IFJPTDY0KEEjI3NvLCA1Nik7IFwKKyAgICBFIyNtYSA9ICAgQm1hIF4oICBCbWUgJiAgQm1pICk7IFwKKyAgICBFIyNtZSA9ICAgQm1lIF4oICBCbWkgfCAgQm1vICk7IFwKKyAgICBFIyNtaSA9ICAgQm1pIF4oKH5CbW8pfCAgQm11ICk7IFwKKyAgICBFIyNtbyA9ICh+Qm1vKV4oICBCbXUgJiAgQm1hICk7IFwKKyAgICBFIyNtdSA9ICAgQm11IF4oICBCbWEgfCAgQm1lICk7IFwKK1wKKyAgICBBIyNiaSBePSBEaTsgXAorICAgIEJzYSA9IFJPTDY0KEEjI2JpLCA2Mik7IFwKKyAgICBBIyNnbyBePSBEbzsgXAorICAgIEJzZSA9IFJPTDY0KEEjI2dvLCA1NSk7IFwKKyAgICBBIyNrdSBePSBEdTsgXAorICAgIEJzaSA9IFJPTDY0KEEjI2t1LCAzOSk7IFwKKyAgICBBIyNtYSBePSBEYTsgXAorICAgIEJzbyA9IFJPTDY0KEEjI21hLCA0MSk7IFwKKyAgICBBIyNzZSBePSBEZTsgXAorICAgIEJzdSA9IFJPTDY0KEEjI3NlLCAyKTsgXAorICAgIEUjI3NhID0gICBCc2EgXigofkJzZSkmICBCc2kgKTsgXAorICAgIEUjI3NlID0gKH5Cc2UpXiggIEJzaSB8ICBCc28gKTsgXAorICAgIEUjI3NpID0gICBCc2kgXiggIEJzbyAmICBCc3UgKTsgXAorICAgIEUjI3NvID0gICBCc28gXiggIEJzdSB8ICBCc2EgKTsgXAorICAgIEUjI3N1ID0gICBCc3UgXiggIEJzYSAmICBCc2UgKTsgXAorXAorCisjZWxzZSAvKiAgVXNlQmViaWdva2ltaXNhICovCisvKiAgLS0tIENvZGUgZm9yIHJvdW5kLCB3aXRoIHByZXBhcmUtdGhldGEgKi8KKy8qICAtLS0gNjQtYml0IGxhbmVzIG1hcHBlZCB0byA2NC1iaXQgd29yZHMgKi8KKyNkZWZpbmUgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSwgQSwgRSkgXAorICAgIERhID0gQ3VeUk9MNjQoQ2UsIDEpOyBcCisgICAgRGUgPSBDYV5ST0w2NChDaSwgMSk7IFwKKyAgICBEaSA9IENlXlJPTDY0KENvLCAxKTsgXAorICAgIERvID0gQ2leUk9MNjQoQ3UsIDEpOyBcCisgICAgRHUgPSBDb15ST0w2NChDYSwgMSk7IFwKK1wKKyAgICBBIyNiYSBePSBEYTsgXAorICAgIEJiYSA9IEEjI2JhOyBcCisgICAgQSMjZ2UgXj0gRGU7IFwKKyAgICBCYmUgPSBST0w2NChBIyNnZSwgNDQpOyBcCisgICAgQSMja2kgXj0gRGk7IFwKKyAgICBCYmkgPSBST0w2NChBIyNraSwgNDMpOyBcCisgICAgQSMjbW8gXj0gRG87IFwKKyAgICBCYm8gPSBST0w2NChBIyNtbywgMjEpOyBcCisgICAgQSMjc3UgXj0gRHU7IFwKKyAgICBCYnUgPSBST0w2NChBIyNzdSwgMTQpOyBcCisgICAgRSMjYmEgPSAgIEJiYSBeKCh+QmJlKSYgIEJiaSApOyBcCisgICAgRSMjYmEgXj0gS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c1tpXTsgXAorICAgIENhID0gRSMjYmE7IFwKKyAgICBFIyNiZSA9ICAgQmJlIF4oKH5CYmkpJiAgQmJvICk7IFwKKyAgICBDZSA9IEUjI2JlOyBcCisgICAgRSMjYmkgPSAgIEJiaSBeKCh+QmJvKSYgIEJidSApOyBcCisgICAgQ2kgPSBFIyNiaTsgXAorICAgIEUjI2JvID0gICBCYm8gXigofkJidSkmICBCYmEgKTsgXAorICAgIENvID0gRSMjYm87IFwKKyAgICBFIyNidSA9ICAgQmJ1IF4oKH5CYmEpJiAgQmJlICk7IFwKKyAgICBDdSA9IEUjI2J1OyBcCitcCisgICAgQSMjYm8gXj0gRG87IFwKKyAgICBCZ2EgPSBST0w2NChBIyNibywgMjgpOyBcCisgICAgQSMjZ3UgXj0gRHU7IFwKKyAgICBCZ2UgPSBST0w2NChBIyNndSwgMjApOyBcCisgICAgQSMja2EgXj0gRGE7IFwKKyAgICBCZ2kgPSBST0w2NChBIyNrYSwgMyk7IFwKKyAgICBBIyNtZSBePSBEZTsgXAorICAgIEJnbyA9IFJPTDY0KEEjI21lLCA0NSk7IFwKKyAgICBBIyNzaSBePSBEaTsgXAorICAgIEJndSA9IFJPTDY0KEEjI3NpLCA2MSk7IFwKKyAgICBFIyNnYSA9ICAgQmdhIF4oKH5CZ2UpJiAgQmdpICk7IFwKKyAgICBDYSBePSBFIyNnYTsgXAorICAgIEUjI2dlID0gICBCZ2UgXigofkJnaSkmICBCZ28gKTsgXAorICAgIENlIF49IEUjI2dlOyBcCisgICAgRSMjZ2kgPSAgIEJnaSBeKCh+QmdvKSYgIEJndSApOyBcCisgICAgQ2kgXj0gRSMjZ2k7IFwKKyAgICBFIyNnbyA9ICAgQmdvIF4oKH5CZ3UpJiAgQmdhICk7IFwKKyAgICBDbyBePSBFIyNnbzsgXAorICAgIEUjI2d1ID0gICBCZ3UgXigofkJnYSkmICBCZ2UgKTsgXAorICAgIEN1IF49IEUjI2d1OyBcCitcCisgICAgQSMjYmUgXj0gRGU7IFwKKyAgICBCa2EgPSBST0w2NChBIyNiZSwgMSk7IFwKKyAgICBBIyNnaSBePSBEaTsgXAorICAgIEJrZSA9IFJPTDY0KEEjI2dpLCA2KTsgXAorICAgIEEjI2tvIF49IERvOyBcCisgICAgQmtpID0gUk9MNjQoQSMja28sIDI1KTsgXAorICAgIEEjI211IF49IER1OyBcCisgICAgQmtvID0gUk9MNjQoQSMjbXUsIDgpOyBcCisgICAgQSMjc2EgXj0gRGE7IFwKKyAgICBCa3UgPSBST0w2NChBIyNzYSwgMTgpOyBcCisgICAgRSMja2EgPSAgIEJrYSBeKCh+QmtlKSYgIEJraSApOyBcCisgICAgQ2EgXj0gRSMja2E7IFwKKyAgICBFIyNrZSA9ICAgQmtlIF4oKH5Ca2kpJiAgQmtvICk7IFwKKyAgICBDZSBePSBFIyNrZTsgXAorICAgIEUjI2tpID0gICBCa2kgXigofkJrbykmICBCa3UgKTsgXAorICAgIENpIF49IEUjI2tpOyBcCisgICAgRSMja28gPSAgIEJrbyBeKCh+Qmt1KSYgIEJrYSApOyBcCisgICAgQ28gXj0gRSMja287IFwKKyAgICBFIyNrdSA9ICAgQmt1IF4oKH5Ca2EpJiAgQmtlICk7IFwKKyAgICBDdSBePSBFIyNrdTsgXAorXAorICAgIEEjI2J1IF49IER1OyBcCisgICAgQm1hID0gUk9MNjQoQSMjYnUsIDI3KTsgXAorICAgIEEjI2dhIF49IERhOyBcCisgICAgQm1lID0gUk9MNjQoQSMjZ2EsIDM2KTsgXAorICAgIEEjI2tlIF49IERlOyBcCisgICAgQm1pID0gUk9MNjQoQSMja2UsIDEwKTsgXAorICAgIEEjI21pIF49IERpOyBcCisgICAgQm1vID0gUk9MNjQoQSMjbWksIDE1KTsgXAorICAgIEEjI3NvIF49IERvOyBcCisgICAgQm11ID0gUk9MNjQoQSMjc28sIDU2KTsgXAorICAgIEUjI21hID0gICBCbWEgXigofkJtZSkmICBCbWkgKTsgXAorICAgIENhIF49IEUjI21hOyBcCisgICAgRSMjbWUgPSAgIEJtZSBeKCh+Qm1pKSYgIEJtbyApOyBcCisgICAgQ2UgXj0gRSMjbWU7IFwKKyAgICBFIyNtaSA9ICAgQm1pIF4oKH5CbW8pJiAgQm11ICk7IFwKKyAgICBDaSBePSBFIyNtaTsgXAorICAgIEUjI21vID0gICBCbW8gXigofkJtdSkmICBCbWEgKTsgXAorICAgIENvIF49IEUjI21vOyBcCisgICAgRSMjbXUgPSAgIEJtdSBeKCh+Qm1hKSYgIEJtZSApOyBcCisgICAgQ3UgXj0gRSMjbXU7IFwKK1wKKyAgICBBIyNiaSBePSBEaTsgXAorICAgIEJzYSA9IFJPTDY0KEEjI2JpLCA2Mik7IFwKKyAgICBBIyNnbyBePSBEbzsgXAorICAgIEJzZSA9IFJPTDY0KEEjI2dvLCA1NSk7IFwKKyAgICBBIyNrdSBePSBEdTsgXAorICAgIEJzaSA9IFJPTDY0KEEjI2t1LCAzOSk7IFwKKyAgICBBIyNtYSBePSBEYTsgXAorICAgIEJzbyA9IFJPTDY0KEEjI21hLCA0MSk7IFwKKyAgICBBIyNzZSBePSBEZTsgXAorICAgIEJzdSA9IFJPTDY0KEEjI3NlLCAyKTsgXAorICAgIEUjI3NhID0gICBCc2EgXigofkJzZSkmICBCc2kgKTsgXAorICAgIENhIF49IEUjI3NhOyBcCisgICAgRSMjc2UgPSAgIEJzZSBeKCh+QnNpKSYgIEJzbyApOyBcCisgICAgQ2UgXj0gRSMjc2U7IFwKKyAgICBFIyNzaSA9ICAgQnNpIF4oKH5Cc28pJiAgQnN1ICk7IFwKKyAgICBDaSBePSBFIyNzaTsgXAorICAgIEUjI3NvID0gICBCc28gXigofkJzdSkmICBCc2EgKTsgXAorICAgIENvIF49IEUjI3NvOyBcCisgICAgRSMjc3UgPSAgIEJzdSBeKCh+QnNhKSYgIEJzZSApOyBcCisgICAgQ3UgXj0gRSMjc3U7IFwKK1wKKworLyogIC0tLSBDb2RlIGZvciByb3VuZCAqLworLyogIC0tLSA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDY0LWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YShpLCBBLCBFKSBcCisgICAgRGEgPSBDdV5ST0w2NChDZSwgMSk7IFwKKyAgICBEZSA9IENhXlJPTDY0KENpLCAxKTsgXAorICAgIERpID0gQ2VeUk9MNjQoQ28sIDEpOyBcCisgICAgRG8gPSBDaV5ST0w2NChDdSwgMSk7IFwKKyAgICBEdSA9IENvXlJPTDY0KENhLCAxKTsgXAorXAorICAgIEEjI2JhIF49IERhOyBcCisgICAgQmJhID0gQSMjYmE7IFwKKyAgICBBIyNnZSBePSBEZTsgXAorICAgIEJiZSA9IFJPTDY0KEEjI2dlLCA0NCk7IFwKKyAgICBBIyNraSBePSBEaTsgXAorICAgIEJiaSA9IFJPTDY0KEEjI2tpLCA0Myk7IFwKKyAgICBBIyNtbyBePSBEbzsgXAorICAgIEJibyA9IFJPTDY0KEEjI21vLCAyMSk7IFwKKyAgICBBIyNzdSBePSBEdTsgXAorICAgIEJidSA9IFJPTDY0KEEjI3N1LCAxNCk7IFwKKyAgICBFIyNiYSA9ICAgQmJhIF4oKH5CYmUpJiAgQmJpICk7IFwKKyAgICBFIyNiYSBePSBLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzW2ldOyBcCisgICAgRSMjYmUgPSAgIEJiZSBeKCh+QmJpKSYgIEJibyApOyBcCisgICAgRSMjYmkgPSAgIEJiaSBeKCh+QmJvKSYgIEJidSApOyBcCisgICAgRSMjYm8gPSAgIEJibyBeKCh+QmJ1KSYgIEJiYSApOyBcCisgICAgRSMjYnUgPSAgIEJidSBeKCh+QmJhKSYgIEJiZSApOyBcCitcCisgICAgQSMjYm8gXj0gRG87IFwKKyAgICBCZ2EgPSBST0w2NChBIyNibywgMjgpOyBcCisgICAgQSMjZ3UgXj0gRHU7IFwKKyAgICBCZ2UgPSBST0w2NChBIyNndSwgMjApOyBcCisgICAgQSMja2EgXj0gRGE7IFwKKyAgICBCZ2kgPSBST0w2NChBIyNrYSwgMyk7IFwKKyAgICBBIyNtZSBePSBEZTsgXAorICAgIEJnbyA9IFJPTDY0KEEjI21lLCA0NSk7IFwKKyAgICBBIyNzaSBePSBEaTsgXAorICAgIEJndSA9IFJPTDY0KEEjI3NpLCA2MSk7IFwKKyAgICBFIyNnYSA9ICAgQmdhIF4oKH5CZ2UpJiAgQmdpICk7IFwKKyAgICBFIyNnZSA9ICAgQmdlIF4oKH5CZ2kpJiAgQmdvICk7IFwKKyAgICBFIyNnaSA9ICAgQmdpIF4oKH5CZ28pJiAgQmd1ICk7IFwKKyAgICBFIyNnbyA9ICAgQmdvIF4oKH5CZ3UpJiAgQmdhICk7IFwKKyAgICBFIyNndSA9ICAgQmd1IF4oKH5CZ2EpJiAgQmdlICk7IFwKK1wKKyAgICBBIyNiZSBePSBEZTsgXAorICAgIEJrYSA9IFJPTDY0KEEjI2JlLCAxKTsgXAorICAgIEEjI2dpIF49IERpOyBcCisgICAgQmtlID0gUk9MNjQoQSMjZ2ksIDYpOyBcCisgICAgQSMja28gXj0gRG87IFwKKyAgICBCa2kgPSBST0w2NChBIyNrbywgMjUpOyBcCisgICAgQSMjbXUgXj0gRHU7IFwKKyAgICBCa28gPSBST0w2NChBIyNtdSwgOCk7IFwKKyAgICBBIyNzYSBePSBEYTsgXAorICAgIEJrdSA9IFJPTDY0KEEjI3NhLCAxOCk7IFwKKyAgICBFIyNrYSA9ICAgQmthIF4oKH5Ca2UpJiAgQmtpICk7IFwKKyAgICBFIyNrZSA9ICAgQmtlIF4oKH5Ca2kpJiAgQmtvICk7IFwKKyAgICBFIyNraSA9ICAgQmtpIF4oKH5Ca28pJiAgQmt1ICk7IFwKKyAgICBFIyNrbyA9ICAgQmtvIF4oKH5Ca3UpJiAgQmthICk7IFwKKyAgICBFIyNrdSA9ICAgQmt1IF4oKH5Ca2EpJiAgQmtlICk7IFwKK1wKKyAgICBBIyNidSBePSBEdTsgXAorICAgIEJtYSA9IFJPTDY0KEEjI2J1LCAyNyk7IFwKKyAgICBBIyNnYSBePSBEYTsgXAorICAgIEJtZSA9IFJPTDY0KEEjI2dhLCAzNik7IFwKKyAgICBBIyNrZSBePSBEZTsgXAorICAgIEJtaSA9IFJPTDY0KEEjI2tlLCAxMCk7IFwKKyAgICBBIyNtaSBePSBEaTsgXAorICAgIEJtbyA9IFJPTDY0KEEjI21pLCAxNSk7IFwKKyAgICBBIyNzbyBePSBEbzsgXAorICAgIEJtdSA9IFJPTDY0KEEjI3NvLCA1Nik7IFwKKyAgICBFIyNtYSA9ICAgQm1hIF4oKH5CbWUpJiAgQm1pICk7IFwKKyAgICBFIyNtZSA9ICAgQm1lIF4oKH5CbWkpJiAgQm1vICk7IFwKKyAgICBFIyNtaSA9ICAgQm1pIF4oKH5CbW8pJiAgQm11ICk7IFwKKyAgICBFIyNtbyA9ICAgQm1vIF4oKH5CbXUpJiAgQm1hICk7IFwKKyAgICBFIyNtdSA9ICAgQm11IF4oKH5CbWEpJiAgQm1lICk7IFwKK1wKKyAgICBBIyNiaSBePSBEaTsgXAorICAgIEJzYSA9IFJPTDY0KEEjI2JpLCA2Mik7IFwKKyAgICBBIyNnbyBePSBEbzsgXAorICAgIEJzZSA9IFJPTDY0KEEjI2dvLCA1NSk7IFwKKyAgICBBIyNrdSBePSBEdTsgXAorICAgIEJzaSA9IFJPTDY0KEEjI2t1LCAzOSk7IFwKKyAgICBBIyNtYSBePSBEYTsgXAorICAgIEJzbyA9IFJPTDY0KEEjI21hLCA0MSk7IFwKKyAgICBBIyNzZSBePSBEZTsgXAorICAgIEJzdSA9IFJPTDY0KEEjI3NlLCAyKTsgXAorICAgIEUjI3NhID0gICBCc2EgXigofkJzZSkmICBCc2kgKTsgXAorICAgIEUjI3NlID0gICBCc2UgXigofkJzaSkmICBCc28gKTsgXAorICAgIEUjI3NpID0gICBCc2kgXigofkJzbykmICBCc3UgKTsgXAorICAgIEUjI3NvID0gICBCc28gXigofkJzdSkmICBCc2EgKTsgXAorICAgIEUjI3N1ID0gICBCc3UgXigofkJzYSkmICBCc2UgKTsgXAorXAorCisjZW5kaWYgLyogIFVzZUJlYmlnb2tpbWlzYSAqLworCitzdGF0aWMgY29uc3QgVUlOVDY0IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNbMjRdID0geworICAgIDB4MDAwMDAwMDAwMDAwMDAwMVVMTCwKKyAgICAweDAwMDAwMDAwMDAwMDgwODJVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDhhVUxMLAorICAgIDB4ODAwMDAwMDA4MDAwODAwMFVMTCwKKyAgICAweDAwMDAwMDAwMDAwMDgwOGJVTEwsCisgICAgMHgwMDAwMDAwMDgwMDAwMDAxVUxMLAorICAgIDB4ODAwMDAwMDA4MDAwODA4MVVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwMDlVTEwsCisgICAgMHgwMDAwMDAwMDAwMDAwMDhhVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwMDA4OFVMTCwKKyAgICAweDAwMDAwMDAwODAwMDgwMDlVTEwsCisgICAgMHgwMDAwMDAwMDgwMDAwMDBhVUxMLAorICAgIDB4MDAwMDAwMDA4MDAwODA4YlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDAwOGJVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDg5VUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODAwM1VMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwMDJVTEwsCisgICAgMHg4MDAwMDAwMDAwMDAwMDgwVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwODAwYVVMTCwKKyAgICAweDgwMDAwMDAwODAwMDAwMGFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDgxVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODA4MFVMTCwKKyAgICAweDAwMDAwMDAwODAwMDAwMDFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDA4VUxMIH07CisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjU3NmJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmEgPSBzdGF0ZVsgMF1eaW5wdXRbIDBdOyBcCisgICAgWCMjYmUgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmkgPSBzdGF0ZVsgMl1eaW5wdXRbIDJdOyBcCisgICAgWCMjYm8gPSBzdGF0ZVsgM11eaW5wdXRbIDNdOyBcCisgICAgWCMjYnUgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjZ2EgPSBzdGF0ZVsgNV1eaW5wdXRbIDVdOyBcCisgICAgWCMjZ2UgPSBzdGF0ZVsgNl1eaW5wdXRbIDZdOyBcCisgICAgWCMjZ2kgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjZ28gPSBzdGF0ZVsgOF1eaW5wdXRbIDhdOyBcCisgICAgWCMjZ3UgPSBzdGF0ZVsgOV07IFwKKyAgICBYIyNrYSA9IHN0YXRlWzEwXTsgXAorICAgIFgjI2tlID0gc3RhdGVbMTFdOyBcCisgICAgWCMja2kgPSBzdGF0ZVsxMl07IFwKKyAgICBYIyNrbyA9IHN0YXRlWzEzXTsgXAorICAgIFgjI2t1ID0gc3RhdGVbMTRdOyBcCisgICAgWCMjbWEgPSBzdGF0ZVsxNV07IFwKKyAgICBYIyNtZSA9IHN0YXRlWzE2XTsgXAorICAgIFgjI21pID0gc3RhdGVbMTddOyBcCisgICAgWCMjbW8gPSBzdGF0ZVsxOF07IFwKKyAgICBYIyNtdSA9IHN0YXRlWzE5XTsgXAorICAgIFgjI3NhID0gc3RhdGVbMjBdOyBcCisgICAgWCMjc2UgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNzaSA9IHN0YXRlWzIyXTsgXAorICAgIFgjI3NvID0gc3RhdGVbMjNdOyBcCisgICAgWCMjc3UgPSBzdGF0ZVsyNF07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yODMyYml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYSA9IHN0YXRlWyAwXV5pbnB1dFsgMF07IFwKKyAgICBYIyNiZSA9IHN0YXRlWyAxXV5pbnB1dFsgMV07IFwKKyAgICBYIyNiaSA9IHN0YXRlWyAyXV5pbnB1dFsgMl07IFwKKyAgICBYIyNibyA9IHN0YXRlWyAzXV5pbnB1dFsgM107IFwKKyAgICBYIyNidSA9IHN0YXRlWyA0XV5pbnB1dFsgNF07IFwKKyAgICBYIyNnYSA9IHN0YXRlWyA1XV5pbnB1dFsgNV07IFwKKyAgICBYIyNnZSA9IHN0YXRlWyA2XV5pbnB1dFsgNl07IFwKKyAgICBYIyNnaSA9IHN0YXRlWyA3XV5pbnB1dFsgN107IFwKKyAgICBYIyNnbyA9IHN0YXRlWyA4XV5pbnB1dFsgOF07IFwKKyAgICBYIyNndSA9IHN0YXRlWyA5XV5pbnB1dFsgOV07IFwKKyAgICBYIyNrYSA9IHN0YXRlWzEwXV5pbnB1dFsxMF07IFwKKyAgICBYIyNrZSA9IHN0YXRlWzExXV5pbnB1dFsxMV07IFwKKyAgICBYIyNraSA9IHN0YXRlWzEyXV5pbnB1dFsxMl07IFwKKyAgICBYIyNrbyA9IHN0YXRlWzEzXTsgXAorICAgIFgjI2t1ID0gc3RhdGVbMTRdOyBcCisgICAgWCMjbWEgPSBzdGF0ZVsxNV07IFwKKyAgICBYIyNtZSA9IHN0YXRlWzE2XTsgXAorICAgIFgjI21pID0gc3RhdGVbMTddOyBcCisgICAgWCMjbW8gPSBzdGF0ZVsxOF07IFwKKyAgICBYIyNtdSA9IHN0YXRlWzE5XTsgXAorICAgIFgjI3NhID0gc3RhdGVbMjBdOyBcCisgICAgWCMjc2UgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNzaSA9IHN0YXRlWzIyXTsgXAorICAgIFgjI3NvID0gc3RhdGVbMjNdOyBcCisgICAgWCMjc3UgPSBzdGF0ZVsyNF07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yMTAyNGJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmEgPSBzdGF0ZVsgMF1eaW5wdXRbIDBdOyBcCisgICAgWCMjYmUgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmkgPSBzdGF0ZVsgMl1eaW5wdXRbIDJdOyBcCisgICAgWCMjYm8gPSBzdGF0ZVsgM11eaW5wdXRbIDNdOyBcCisgICAgWCMjYnUgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjZ2EgPSBzdGF0ZVsgNV1eaW5wdXRbIDVdOyBcCisgICAgWCMjZ2UgPSBzdGF0ZVsgNl1eaW5wdXRbIDZdOyBcCisgICAgWCMjZ2kgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjZ28gPSBzdGF0ZVsgOF1eaW5wdXRbIDhdOyBcCisgICAgWCMjZ3UgPSBzdGF0ZVsgOV1eaW5wdXRbIDldOyBcCisgICAgWCMja2EgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMja2UgPSBzdGF0ZVsxMV1eaW5wdXRbMTFdOyBcCisgICAgWCMja2kgPSBzdGF0ZVsxMl1eaW5wdXRbMTJdOyBcCisgICAgWCMja28gPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMja3UgPSBzdGF0ZVsxNF1eaW5wdXRbMTRdOyBcCisgICAgWCMjbWEgPSBzdGF0ZVsxNV1eaW5wdXRbMTVdOyBcCisgICAgWCMjbWUgPSBzdGF0ZVsxNl07IFwKKyAgICBYIyNtaSA9IHN0YXRlWzE3XTsgXAorICAgIFgjI21vID0gc3RhdGVbMThdOyBcCisgICAgWCMjbXUgPSBzdGF0ZVsxOV07IFwKKyAgICBYIyNzYSA9IHN0YXRlWzIwXTsgXAorICAgIFgjI3NlID0gc3RhdGVbMjFdOyBcCisgICAgWCMjc2kgPSBzdGF0ZVsyMl07IFwKKyAgICBYIyNzbyA9IHN0YXRlWzIzXTsgXAorICAgIFgjI3N1ID0gc3RhdGVbMjRdOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwODhiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhID0gc3RhdGVbIDBdXmlucHV0WyAwXTsgXAorICAgIFgjI2JlID0gc3RhdGVbIDFdXmlucHV0WyAxXTsgXAorICAgIFgjI2JpID0gc3RhdGVbIDJdXmlucHV0WyAyXTsgXAorICAgIFgjI2JvID0gc3RhdGVbIDNdXmlucHV0WyAzXTsgXAorICAgIFgjI2J1ID0gc3RhdGVbIDRdXmlucHV0WyA0XTsgXAorICAgIFgjI2dhID0gc3RhdGVbIDVdXmlucHV0WyA1XTsgXAorICAgIFgjI2dlID0gc3RhdGVbIDZdXmlucHV0WyA2XTsgXAorICAgIFgjI2dpID0gc3RhdGVbIDddXmlucHV0WyA3XTsgXAorICAgIFgjI2dvID0gc3RhdGVbIDhdXmlucHV0WyA4XTsgXAorICAgIFgjI2d1ID0gc3RhdGVbIDldXmlucHV0WyA5XTsgXAorICAgIFgjI2thID0gc3RhdGVbMTBdXmlucHV0WzEwXTsgXAorICAgIFgjI2tlID0gc3RhdGVbMTFdXmlucHV0WzExXTsgXAorICAgIFgjI2tpID0gc3RhdGVbMTJdXmlucHV0WzEyXTsgXAorICAgIFgjI2tvID0gc3RhdGVbMTNdXmlucHV0WzEzXTsgXAorICAgIFgjI2t1ID0gc3RhdGVbMTRdXmlucHV0WzE0XTsgXAorICAgIFgjI21hID0gc3RhdGVbMTVdXmlucHV0WzE1XTsgXAorICAgIFgjI21lID0gc3RhdGVbMTZdXmlucHV0WzE2XTsgXAorICAgIFgjI21pID0gc3RhdGVbMTddOyBcCisgICAgWCMjbW8gPSBzdGF0ZVsxOF07IFwKKyAgICBYIyNtdSA9IHN0YXRlWzE5XTsgXAorICAgIFgjI3NhID0gc3RhdGVbMjBdOyBcCisgICAgWCMjc2UgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNzaSA9IHN0YXRlWzIyXTsgXAorICAgIFgjI3NvID0gc3RhdGVbMjNdOyBcCisgICAgWCMjc3UgPSBzdGF0ZVsyNF07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yMTE1MmJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmEgPSBzdGF0ZVsgMF1eaW5wdXRbIDBdOyBcCisgICAgWCMjYmUgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmkgPSBzdGF0ZVsgMl1eaW5wdXRbIDJdOyBcCisgICAgWCMjYm8gPSBzdGF0ZVsgM11eaW5wdXRbIDNdOyBcCisgICAgWCMjYnUgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjZ2EgPSBzdGF0ZVsgNV1eaW5wdXRbIDVdOyBcCisgICAgWCMjZ2UgPSBzdGF0ZVsgNl1eaW5wdXRbIDZdOyBcCisgICAgWCMjZ2kgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjZ28gPSBzdGF0ZVsgOF1eaW5wdXRbIDhdOyBcCisgICAgWCMjZ3UgPSBzdGF0ZVsgOV1eaW5wdXRbIDldOyBcCisgICAgWCMja2EgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMja2UgPSBzdGF0ZVsxMV1eaW5wdXRbMTFdOyBcCisgICAgWCMja2kgPSBzdGF0ZVsxMl1eaW5wdXRbMTJdOyBcCisgICAgWCMja28gPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMja3UgPSBzdGF0ZVsxNF1eaW5wdXRbMTRdOyBcCisgICAgWCMjbWEgPSBzdGF0ZVsxNV1eaW5wdXRbMTVdOyBcCisgICAgWCMjbWUgPSBzdGF0ZVsxNl1eaW5wdXRbMTZdOyBcCisgICAgWCMjbWkgPSBzdGF0ZVsxN11eaW5wdXRbMTddOyBcCisgICAgWCMjbW8gPSBzdGF0ZVsxOF07IFwKKyAgICBYIyNtdSA9IHN0YXRlWzE5XTsgXAorICAgIFgjI3NhID0gc3RhdGVbMjBdOyBcCisgICAgWCMjc2UgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNzaSA9IHN0YXRlWzIyXTsgXAorICAgIFgjI3NvID0gc3RhdGVbMjNdOyBcCisgICAgWCMjc3UgPSBzdGF0ZVsyNF07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yMTM0NGJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmEgPSBzdGF0ZVsgMF1eaW5wdXRbIDBdOyBcCisgICAgWCMjYmUgPSBzdGF0ZVsgMV1eaW5wdXRbIDFdOyBcCisgICAgWCMjYmkgPSBzdGF0ZVsgMl1eaW5wdXRbIDJdOyBcCisgICAgWCMjYm8gPSBzdGF0ZVsgM11eaW5wdXRbIDNdOyBcCisgICAgWCMjYnUgPSBzdGF0ZVsgNF1eaW5wdXRbIDRdOyBcCisgICAgWCMjZ2EgPSBzdGF0ZVsgNV1eaW5wdXRbIDVdOyBcCisgICAgWCMjZ2UgPSBzdGF0ZVsgNl1eaW5wdXRbIDZdOyBcCisgICAgWCMjZ2kgPSBzdGF0ZVsgN11eaW5wdXRbIDddOyBcCisgICAgWCMjZ28gPSBzdGF0ZVsgOF1eaW5wdXRbIDhdOyBcCisgICAgWCMjZ3UgPSBzdGF0ZVsgOV1eaW5wdXRbIDldOyBcCisgICAgWCMja2EgPSBzdGF0ZVsxMF1eaW5wdXRbMTBdOyBcCisgICAgWCMja2UgPSBzdGF0ZVsxMV1eaW5wdXRbMTFdOyBcCisgICAgWCMja2kgPSBzdGF0ZVsxMl1eaW5wdXRbMTJdOyBcCisgICAgWCMja28gPSBzdGF0ZVsxM11eaW5wdXRbMTNdOyBcCisgICAgWCMja3UgPSBzdGF0ZVsxNF1eaW5wdXRbMTRdOyBcCisgICAgWCMjbWEgPSBzdGF0ZVsxNV1eaW5wdXRbMTVdOyBcCisgICAgWCMjbWUgPSBzdGF0ZVsxNl1eaW5wdXRbMTZdOyBcCisgICAgWCMjbWkgPSBzdGF0ZVsxN11eaW5wdXRbMTddOyBcCisgICAgWCMjbW8gPSBzdGF0ZVsxOF1eaW5wdXRbMThdOyBcCisgICAgWCMjbXUgPSBzdGF0ZVsxOV1eaW5wdXRbMTldOyBcCisgICAgWCMjc2EgPSBzdGF0ZVsyMF1eaW5wdXRbMjBdOyBcCisgICAgWCMjc2UgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNzaSA9IHN0YXRlWzIyXTsgXAorICAgIFgjI3NvID0gc3RhdGVbMjNdOyBcCisgICAgWCMjc3UgPSBzdGF0ZVsyNF07IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlKFgsIHN0YXRlKSBcCisgICAgWCMjYmEgPSBzdGF0ZVsgMF07IFwKKyAgICBYIyNiZSA9IHN0YXRlWyAxXTsgXAorICAgIFgjI2JpID0gc3RhdGVbIDJdOyBcCisgICAgWCMjYm8gPSBzdGF0ZVsgM107IFwKKyAgICBYIyNidSA9IHN0YXRlWyA0XTsgXAorICAgIFgjI2dhID0gc3RhdGVbIDVdOyBcCisgICAgWCMjZ2UgPSBzdGF0ZVsgNl07IFwKKyAgICBYIyNnaSA9IHN0YXRlWyA3XTsgXAorICAgIFgjI2dvID0gc3RhdGVbIDhdOyBcCisgICAgWCMjZ3UgPSBzdGF0ZVsgOV07IFwKKyAgICBYIyNrYSA9IHN0YXRlWzEwXTsgXAorICAgIFgjI2tlID0gc3RhdGVbMTFdOyBcCisgICAgWCMja2kgPSBzdGF0ZVsxMl07IFwKKyAgICBYIyNrbyA9IHN0YXRlWzEzXTsgXAorICAgIFgjI2t1ID0gc3RhdGVbMTRdOyBcCisgICAgWCMjbWEgPSBzdGF0ZVsxNV07IFwKKyAgICBYIyNtZSA9IHN0YXRlWzE2XTsgXAorICAgIFgjI21pID0gc3RhdGVbMTddOyBcCisgICAgWCMjbW8gPSBzdGF0ZVsxOF07IFwKKyAgICBYIyNtdSA9IHN0YXRlWzE5XTsgXAorICAgIFgjI3NhID0gc3RhdGVbMjBdOyBcCisgICAgWCMjc2UgPSBzdGF0ZVsyMV07IFwKKyAgICBYIyNzaSA9IHN0YXRlWzIyXTsgXAorICAgIFgjI3NvID0gc3RhdGVbMjNdOyBcCisgICAgWCMjc3UgPSBzdGF0ZVsyNF07IFwKKworI2RlZmluZSBjb3B5VG9TdGF0ZShzdGF0ZSwgWCkgXAorICAgIHN0YXRlWyAwXSA9IFgjI2JhOyBcCisgICAgc3RhdGVbIDFdID0gWCMjYmU7IFwKKyAgICBzdGF0ZVsgMl0gPSBYIyNiaTsgXAorICAgIHN0YXRlWyAzXSA9IFgjI2JvOyBcCisgICAgc3RhdGVbIDRdID0gWCMjYnU7IFwKKyAgICBzdGF0ZVsgNV0gPSBYIyNnYTsgXAorICAgIHN0YXRlWyA2XSA9IFgjI2dlOyBcCisgICAgc3RhdGVbIDddID0gWCMjZ2k7IFwKKyAgICBzdGF0ZVsgOF0gPSBYIyNnbzsgXAorICAgIHN0YXRlWyA5XSA9IFgjI2d1OyBcCisgICAgc3RhdGVbMTBdID0gWCMja2E7IFwKKyAgICBzdGF0ZVsxMV0gPSBYIyNrZTsgXAorICAgIHN0YXRlWzEyXSA9IFgjI2tpOyBcCisgICAgc3RhdGVbMTNdID0gWCMja287IFwKKyAgICBzdGF0ZVsxNF0gPSBYIyNrdTsgXAorICAgIHN0YXRlWzE1XSA9IFgjI21hOyBcCisgICAgc3RhdGVbMTZdID0gWCMjbWU7IFwKKyAgICBzdGF0ZVsxN10gPSBYIyNtaTsgXAorICAgIHN0YXRlWzE4XSA9IFgjI21vOyBcCisgICAgc3RhdGVbMTldID0gWCMjbXU7IFwKKyAgICBzdGF0ZVsyMF0gPSBYIyNzYTsgXAorICAgIHN0YXRlWzIxXSA9IFgjI3NlOyBcCisgICAgc3RhdGVbMjJdID0gWCMjc2k7IFwKKyAgICBzdGF0ZVsyM10gPSBYIyNzbzsgXAorICAgIHN0YXRlWzI0XSA9IFgjI3N1OyBcCisKKyNkZWZpbmUgY29weVN0YXRlVmFyaWFibGVzKFgsIFkpIFwKKyAgICBYIyNiYSA9IFkjI2JhOyBcCisgICAgWCMjYmUgPSBZIyNiZTsgXAorICAgIFgjI2JpID0gWSMjYmk7IFwKKyAgICBYIyNibyA9IFkjI2JvOyBcCisgICAgWCMjYnUgPSBZIyNidTsgXAorICAgIFgjI2dhID0gWSMjZ2E7IFwKKyAgICBYIyNnZSA9IFkjI2dlOyBcCisgICAgWCMjZ2kgPSBZIyNnaTsgXAorICAgIFgjI2dvID0gWSMjZ287IFwKKyAgICBYIyNndSA9IFkjI2d1OyBcCisgICAgWCMja2EgPSBZIyNrYTsgXAorICAgIFgjI2tlID0gWSMja2U7IFwKKyAgICBYIyNraSA9IFkjI2tpOyBcCisgICAgWCMja28gPSBZIyNrbzsgXAorICAgIFgjI2t1ID0gWSMja3U7IFwKKyAgICBYIyNtYSA9IFkjI21hOyBcCisgICAgWCMjbWUgPSBZIyNtZTsgXAorICAgIFgjI21pID0gWSMjbWk7IFwKKyAgICBYIyNtbyA9IFkjI21vOyBcCisgICAgWCMjbXUgPSBZIyNtdTsgXAorICAgIFgjI3NhID0gWSMjc2E7IFwKKyAgICBYIyNzZSA9IFkjI3NlOyBcCisgICAgWCMjc2kgPSBZIyNzaTsgXAorICAgIFgjI3NvID0gWSMjc287IFwKKyAgICBYIyNzdSA9IFkjI3N1OyBcCisKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1pbnQtc2V0LmggYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtaW50LXNldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlZDFkODAKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtaW50LXNldC5oCkBAIC0wLDAgKzEsNiBAQAorI2RlZmluZSBQcm92aWRlRmFzdDU3NgorI2RlZmluZSBQcm92aWRlRmFzdDgzMgorI2RlZmluZSBQcm92aWRlRmFzdDEwMjQKKyNkZWZpbmUgUHJvdmlkZUZhc3QxMDg4CisjZGVmaW5lIFByb3ZpZGVGYXN0MTE1MgorI2RlZmluZSBQcm92aWRlRmFzdDEzNDQKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1pbnRlcmZhY2UuaCBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1pbnRlcmZhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTI3MTBlCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLWludGVyZmFjZS5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgdGhlIGRlc2lnbmVycywKK2hlcmVieSBkZW5vdGVkIGFzICJ0aGUgaW1wbGVtZW50ZXIiLgorCitUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3JpbmcgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGZpbGUuCitodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisqLworCisjaWZuZGVmIF9LZWNjYWtQZXJtdXRhdGlvbkludGVyZmFjZV9oXworI2RlZmluZSBfS2VjY2FrUGVybXV0YXRpb25JbnRlcmZhY2VfaF8KKworI2luY2x1ZGUgIktlY2Nha0YtMTYwMC1pbnQtc2V0LmgiCisKK3N0YXRpYyB2b2lkIEtlY2Nha0luaXRpYWxpemUoIHZvaWQgKTsKK3N0YXRpYyB2b2lkIEtlY2Nha0luaXRpYWxpemVTdGF0ZSh1bnNpZ25lZCBjaGFyICpzdGF0ZSk7CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbih1bnNpZ25lZCBjaGFyICpzdGF0ZSk7CisjaWZkZWYgUHJvdmlkZUZhc3Q1NzYKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjU3NmJpdHModW5zaWduZWQgY2hhciAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpOworI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3Q4MzIKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjgzMmJpdHModW5zaWduZWQgY2hhciAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpOworI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CitzdGF0aWMgdm9pZCBLZWNjYWtBYnNvcmIxMDI0Yml0cyh1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSk7CisjZW5kaWYKKyNpZmRlZiBQcm92aWRlRmFzdDEwODgKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjEwODhiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKTsKKyNlbmRpZgorI2lmZGVmIFByb3ZpZGVGYXN0MTE1Mgorc3RhdGljIHZvaWQgS2VjY2FrQWJzb3JiMTE1MmJpdHModW5zaWduZWQgY2hhciAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpOworI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3QxMzQ0CitzdGF0aWMgdm9pZCBLZWNjYWtBYnNvcmIxMzQ0Yml0cyh1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSk7CisjZW5kaWYKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYih1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgdW5zaWduZWQgaW50IGxhbmVDb3VudCk7CisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CitzdGF0aWMgdm9pZCBLZWNjYWtFeHRyYWN0MTAyNGJpdHMoY29uc3QgdW5zaWduZWQgY2hhciAqc3RhdGUsIHVuc2lnbmVkIGNoYXIgKmRhdGEpOworI2VuZGlmCitzdGF0aWMgdm9pZCBLZWNjYWtFeHRyYWN0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0YXRlLCB1bnNpZ25lZCBjaGFyICpkYXRhLCB1bnNpZ25lZCBpbnQgbGFuZUNvdW50KTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtb3B0MzItc2V0dGluZ3MuaCBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1vcHQzMi1zZXR0aW5ncy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNWM3ODIKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtb3B0MzItc2V0dGluZ3MuaApAQCAtMCwwICsxLDYgQEAKKy8qCisjZGVmaW5lIFVucm9sbGluZyAyCisjZGVmaW5lIFVzZUJlYmlnb2tpbWlzYQorI2RlZmluZSBVc2VJbnRlcmxlYXZlVGFibGVzCisjZGVmaW5lIFVzZVNjaGVkdWxlIDMKKyovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtb3B0MzIuYyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1vcHQzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiYTZkNTkKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtb3B0MzIuYwpAQCAtMCwwICsxLDUyNCBAQAorLyoKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKy8qICNpbmNsdWRlICJicmdfZW5kaWFuLmgiICovCisjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLW9wdDMyLXNldHRpbmdzLmgiCisjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLWludGVyZmFjZS5oIgorCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgVUlOVDg7Cit0eXBlZGVmIHVuc2lnbmVkIHNob3J0IFVJTlQxNjsKK3R5cGVkZWYgdW5zaWduZWQgaW50IFVJTlQzMjsKKy8qIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGludCBVSU5UNjQ7ICovCisKKyNpZmRlZiBVc2VJbnRlcmxlYXZlVGFibGVzCitzdGF0aWMgaW50IGludGVybGVhdmVUYWJsZXNCdWlsdCA9IDA7CitzdGF0aWMgVUlOVDE2IGludGVybGVhdmVUYWJsZVs2NTUzNl07CitzdGF0aWMgVUlOVDE2IGRlaW50ZXJsZWF2ZVRhYmxlWzY1NTM2XTsKKworc3RhdGljIHZvaWQgYnVpbGRJbnRlcmxlYXZlVGFibGVzKCkKK3sKKyAgICBVSU5UMzIgaSwgajsKKyAgICBVSU5UMTYgeDsKKworICAgIGlmICghaW50ZXJsZWF2ZVRhYmxlc0J1aWx0KSB7CisgICAgICAgIGZvcihpPTA7IGk8NjU1MzY7IGkrKykgeworICAgICAgICAgICAgeCA9IDA7CisgICAgICAgICAgICBmb3Ioaj0wOyBqPDE2OyBqKyspIHsKKyAgICAgICAgICAgICAgICBpZiAoaSAmICgxIDw8IGopKQorICAgICAgICAgICAgICAgICAgICB4IHw9ICgxIDw8IChqLzIgKyA4KihqJTIpKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpbnRlcmxlYXZlVGFibGVbaV0gPSB4OworICAgICAgICAgICAgZGVpbnRlcmxlYXZlVGFibGVbeF0gPSAoVUlOVDE2KWk7CisgICAgICAgIH0KKyAgICAgICAgaW50ZXJsZWF2ZVRhYmxlc0J1aWx0ID0gMTsKKyAgICB9Cit9CisKKyNpZiAoUExBVEZPUk1fQllURV9PUkRFUiA9PSBJU19MSVRUTEVfRU5ESUFOKQorCisjZGVmaW5lIHhvcjJieXRlc0ludG9JbnRlcmxlYXZlZFdvcmRzKGV2ZW4sIG9kZCwgc291cmNlLCBqKSBcCisgICAgaSMjaiA9IGludGVybGVhdmVUYWJsZVsoKGNvbnN0IFVJTlQxNiopc291cmNlKVtqXV07IFwKKyAgICAoKFVJTlQ4KilldmVuKVtqXSBePSBpIyNqICYgMHhGRjsgXAorICAgICgoVUlOVDgqKW9kZClbal0gXj0gaSMjaiA+PiA4OworCisjZGVmaW5lIHNldEludGVybGVhdmVkV29yZHNJbnRvMmJ5dGVzKGRlc3QsIGV2ZW4sIG9kZCwgaikgXAorICAgIGQjI2ogPSBkZWludGVybGVhdmVUYWJsZVsoKGV2ZW4gPj4gKGoqOCkpICYgMHhGRikgXiAoKChvZGQgPj4gKGoqOCkpICYgMHhGRikgPDwgOCldOyBcCisgICAgKChVSU5UMTYqKWRlc3QpW2pdID0gZCMjajsKKworI2Vsc2UgLyogIChQTEFURk9STV9CWVRFX09SREVSID09IElTX0JJR19FTkRJQU4pICovCisKKyNkZWZpbmUgeG9yMmJ5dGVzSW50b0ludGVybGVhdmVkV29yZHMoZXZlbiwgb2RkLCBzb3VyY2UsIGopIFwKKyAgICBpIyNqID0gaW50ZXJsZWF2ZVRhYmxlW3NvdXJjZVsyKmpdIF4gKChVSU5UMTYpc291cmNlWzIqaisxXSA8PCA4KV07IFwKKyAgICAqZXZlbiBePSAoaSMjaiAmIDB4RkYpIDw8IChqKjgpOyBcCisgICAgKm9kZCBePSAoKGkjI2ogPj4gOCkgJiAweEZGKSA8PCAoaio4KTsKKworI2RlZmluZSBzZXRJbnRlcmxlYXZlZFdvcmRzSW50bzJieXRlcyhkZXN0LCBldmVuLCBvZGQsIGopIFwKKyAgICBkIyNqID0gZGVpbnRlcmxlYXZlVGFibGVbKChldmVuID4+IChqKjgpKSAmIDB4RkYpIF4gKCgob2RkID4+IChqKjgpKSAmIDB4RkYpIDw8IDgpXTsgXAorICAgIGRlc3RbMipqXSA9IGQjI2ogJiAweEZGOyBcCisgICAgZGVzdFsyKmorMV0gPSBkIyNqID4+IDg7CisKKyNlbmRpZiAvKiAgRW5kaWFubmVzcyAqLworCitzdGF0aWMgdm9pZCB4b3I4Ynl0ZXNJbnRvSW50ZXJsZWF2ZWRXb3JkcyhVSU5UMzIgKmV2ZW4sIFVJTlQzMiAqb2RkLCBjb25zdCBVSU5UOCogc291cmNlKQoreworICAgIFVJTlQxNiBpMCwgaTEsIGkyLCBpMzsKKworICAgIHhvcjJieXRlc0ludG9JbnRlcmxlYXZlZFdvcmRzKGV2ZW4sIG9kZCwgc291cmNlLCAwKQorICAgIHhvcjJieXRlc0ludG9JbnRlcmxlYXZlZFdvcmRzKGV2ZW4sIG9kZCwgc291cmNlLCAxKQorICAgIHhvcjJieXRlc0ludG9JbnRlcmxlYXZlZFdvcmRzKGV2ZW4sIG9kZCwgc291cmNlLCAyKQorICAgIHhvcjJieXRlc0ludG9JbnRlcmxlYXZlZFdvcmRzKGV2ZW4sIG9kZCwgc291cmNlLCAzKQorfQorCisjZGVmaW5lIHhvckxhbmVzSW50b1N0YXRlKGxhbmVDb3VudCwgc3RhdGUsIGlucHV0KSBcCisgICAgeyBcCisgICAgICAgIGludCBpOyBcCisgICAgICAgIGZvcihpPTA7IGk8KGxhbmVDb3VudCk7IGkrKykgXAorICAgICAgICAgICAgeG9yOGJ5dGVzSW50b0ludGVybGVhdmVkV29yZHMoc3RhdGUraSoyLCBzdGF0ZStpKjIrMSwgaW5wdXQraSo4KTsgXAorICAgIH0KKworc3RhdGljIHZvaWQgc2V0SW50ZXJsZWF2ZWRXb3Jkc0ludG84Ynl0ZXMoVUlOVDgqIGRlc3QsIFVJTlQzMiBldmVuLCBVSU5UMzIgb2RkKQoreworICAgIFVJTlQxNiBkMCwgZDEsIGQyLCBkMzsKKworICAgIHNldEludGVybGVhdmVkV29yZHNJbnRvMmJ5dGVzKGRlc3QsIGV2ZW4sIG9kZCwgMCkKKyAgICBzZXRJbnRlcmxlYXZlZFdvcmRzSW50bzJieXRlcyhkZXN0LCBldmVuLCBvZGQsIDEpCisgICAgc2V0SW50ZXJsZWF2ZWRXb3Jkc0ludG8yYnl0ZXMoZGVzdCwgZXZlbiwgb2RkLCAyKQorICAgIHNldEludGVybGVhdmVkV29yZHNJbnRvMmJ5dGVzKGRlc3QsIGV2ZW4sIG9kZCwgMykKK30KKworI2RlZmluZSBleHRyYWN0TGFuZXMobGFuZUNvdW50LCBzdGF0ZSwgZGF0YSkgXAorICAgIHsgXAorICAgICAgICBpbnQgaTsgXAorICAgICAgICBmb3IoaT0wOyBpPChsYW5lQ291bnQpOyBpKyspIFwKKyAgICAgICAgICAgIHNldEludGVybGVhdmVkV29yZHNJbnRvOGJ5dGVzKGRhdGEraSo4LCAoKFVJTlQzMiopc3RhdGUpW2kqMl0sICgoVUlOVDMyKilzdGF0ZSlbaSoyKzFdKTsgXAorICAgIH0KKworI2Vsc2UgLyogIE5vIGludGVybGVhdmluZyB0YWJsZXMgKi8KKworI2lmIChQTEFURk9STV9CWVRFX09SREVSID09IElTX0xJVFRMRV9FTkRJQU4pCisKKy8qICBDcmVkaXQ6IEhlbnJ5IFMuIFdhcnJlbiwgSGFja2VyJ3MgRGVsaWdodCwgQWRkaXNvbi1XZXNsZXksIDIwMDIgKi8KKyNkZWZpbmUgeG9ySW50ZXJsZWF2ZWRMRShyYXRlSW5MYW5lcywgc3RhdGUsIGlucHV0KSBcCisJeyBcCisJCWNvbnN0IFVJTlQzMiAqIHBJID0gKGNvbnN0IFVJTlQzMiAqKWlucHV0OyBcCisJCVVJTlQzMiAqIHBTID0gc3RhdGU7IFwKKwkJVUlOVDMyIHQsIHgwLCB4MTsgXAorCSAgICBpbnQgaTsgXAorCSAgICBmb3IgKGkgPSAocmF0ZUluTGFuZXMpLTE7IGkgPj0gMDsgLS1pKSBcCisJCXsgXAorCQkJeDAgPSAqKHBJKyspOyBcCisJCQl0ID0gKHgwIF4gKHgwID4+ICAxKSkgJiAweDIyMjIyMjIyVUw7ICB4MCA9IHgwIF4gdCBeICh0IDw8ICAxKTsgXAorCQkJdCA9ICh4MCBeICh4MCA+PiAgMikpICYgMHgwQzBDMEMwQ1VMOyAgeDAgPSB4MCBeIHQgXiAodCA8PCAgMik7IFwKKwkJCXQgPSAoeDAgXiAoeDAgPj4gIDQpKSAmIDB4MDBGMDAwRjBVTDsgIHgwID0geDAgXiB0IF4gKHQgPDwgIDQpOyBcCisJCQl0ID0gKHgwIF4gKHgwID4+ICA4KSkgJiAweDAwMDBGRjAwVUw7ICB4MCA9IHgwIF4gdCBeICh0IDw8ICA4KTsgXAorIAkJCXgxID0gKihwSSsrKTsgXAorCQkJdCA9ICh4MSBeICh4MSA+PiAgMSkpICYgMHgyMjIyMjIyMlVMOyAgeDEgPSB4MSBeIHQgXiAodCA8PCAgMSk7IFwKKwkJCXQgPSAoeDEgXiAoeDEgPj4gIDIpKSAmIDB4MEMwQzBDMENVTDsgIHgxID0geDEgXiB0IF4gKHQgPDwgIDIpOyBcCisJCQl0ID0gKHgxIF4gKHgxID4+ICA0KSkgJiAweDAwRjAwMEYwVUw7ICB4MSA9IHgxIF4gdCBeICh0IDw8ICA0KTsgXAorCQkJdCA9ICh4MSBeICh4MSA+PiAgOCkpICYgMHgwMDAwRkYwMFVMOyAgeDEgPSB4MSBeIHQgXiAodCA8PCAgOCk7IFwKKwkJCSoocFMrKykgXj0gKFVJTlQxNil4MCB8ICh4MSA8PCAxNik7IFwKKwkJCSoocFMrKykgXj0gKHgwID4+IDE2KSB8ICh4MSAmIDB4RkZGRjAwMDApOyBcCisJCX0gXAorCX0KKworI2RlZmluZSB4b3JMYW5lc0ludG9TdGF0ZShsYW5lQ291bnQsIHN0YXRlLCBpbnB1dCkgXAorICAgIHhvckludGVybGVhdmVkTEUobGFuZUNvdW50LCBzdGF0ZSwgaW5wdXQpCisKKyNlbHNlIC8qICAoUExBVEZPUk1fQllURV9PUkRFUiA9PSBJU19CSUdfRU5ESUFOKSAqLworCisvKiAgQ3JlZGl0OiBIZW5yeSBTLiBXYXJyZW4sIEhhY2tlcidzIERlbGlnaHQsIEFkZGlzb24tV2VzbGV5LCAyMDAyICovCitVSU5UNjQgdG9JbnRlcmxlYXZpbmcoVUlOVDY0IHgpIAoreworICAgVUlOVDY0IHQ7CisKKyAgIHQgPSAoeCBeICh4ID4+ICAxKSkgJiAweDIyMjIyMjIyMjIyMjIyMjJVTEw7ICB4ID0geCBeIHQgXiAodCA8PCAgMSk7CisgICB0ID0gKHggXiAoeCA+PiAgMikpICYgMHgwQzBDMEMwQzBDMEMwQzBDVUxMOyAgeCA9IHggXiB0IF4gKHQgPDwgIDIpOworICAgdCA9ICh4IF4gKHggPj4gIDQpKSAmIDB4MDBGMDAwRjAwMEYwMDBGMFVMTDsgIHggPSB4IF4gdCBeICh0IDw8ICA0KTsKKyAgIHQgPSAoeCBeICh4ID4+ICA4KSkgJiAweDAwMDBGRjAwMDAwMEZGMDBVTEw7ICB4ID0geCBeIHQgXiAodCA8PCAgOCk7CisgICB0ID0gKHggXiAoeCA+PiAxNikpICYgMHgwMDAwMDAwMEZGRkYwMDAwVUxMOyAgeCA9IHggXiB0IF4gKHQgPDwgMTYpOworCisgICByZXR1cm4geDsKK30KKworc3RhdGljIHZvaWQgeG9yOGJ5dGVzSW50b0ludGVybGVhdmVkV29yZHMoVUlOVDMyKiBldmVuQW5kT2RkLCBjb25zdCBVSU5UOCogc291cmNlKQoreworICAgIC8qICBUaGlzIGNhbiBiZSBvcHRpbWl6ZWQgKi8KKyAgICBVSU5UNjQgc291cmNlV29yZCA9CisgICAgICAgIChVSU5UNjQpc291cmNlWzBdCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVsxXSkgPDwgIDgpCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVsyXSkgPDwgMTYpCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVszXSkgPDwgMjQpCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVs0XSkgPDwgMzIpCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVs1XSkgPDwgNDApCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVs2XSkgPDwgNDgpCisgICAgICAgIF4gKCgoVUlOVDY0KXNvdXJjZVs3XSkgPDwgNTYpOworICAgIFVJTlQ2NCBldmVuQW5kT2RkV29yZCA9IHRvSW50ZXJsZWF2aW5nKHNvdXJjZVdvcmQpOworICAgIGV2ZW5BbmRPZGRbMF0gXj0gKFVJTlQzMilldmVuQW5kT2RkV29yZDsKKyAgICBldmVuQW5kT2RkWzFdIF49IChVSU5UMzIpKGV2ZW5BbmRPZGRXb3JkID4+IDMyKTsKK30KKworI2RlZmluZSB4b3JMYW5lc0ludG9TdGF0ZShsYW5lQ291bnQsIHN0YXRlLCBpbnB1dCkgXAorICAgIHsgXAorICAgICAgICBpbnQgaTsgXAorICAgICAgICBmb3IoaT0wOyBpPChsYW5lQ291bnQpOyBpKyspIFwKKyAgICAgICAgICAgIHhvcjhieXRlc0ludG9JbnRlcmxlYXZlZFdvcmRzKHN0YXRlK2kqMiwgaW5wdXQraSo4KTsgXAorICAgIH0KKworI2VuZGlmIC8qICBFbmRpYW5uZXNzICovCisKKy8qICBDcmVkaXQ6IEhlbnJ5IFMuIFdhcnJlbiwgSGFja2VyJ3MgRGVsaWdodCwgQWRkaXNvbi1XZXNsZXksIDIwMDIgKi8KK1VJTlQ2NCBmcm9tSW50ZXJsZWF2aW5nKFVJTlQ2NCB4KQoreworICAgVUlOVDY0IHQ7CisKKyAgIHQgPSAoeCBeICh4ID4+IDE2KSkgJiAweDAwMDAwMDAwRkZGRjAwMDBVTEw7ICB4ID0geCBeIHQgXiAodCA8PCAxNik7CisgICB0ID0gKHggXiAoeCA+PiAgOCkpICYgMHgwMDAwRkYwMDAwMDBGRjAwVUxMOyAgeCA9IHggXiB0IF4gKHQgPDwgIDgpOworICAgdCA9ICh4IF4gKHggPj4gIDQpKSAmIDB4MDBGMDAwRjAwMEYwMDBGMFVMTDsgIHggPSB4IF4gdCBeICh0IDw8ICA0KTsKKyAgIHQgPSAoeCBeICh4ID4+ICAyKSkgJiAweDBDMEMwQzBDMEMwQzBDMENVTEw7ICB4ID0geCBeIHQgXiAodCA8PCAgMik7CisgICB0ID0gKHggXiAoeCA+PiAgMSkpICYgMHgyMjIyMjIyMjIyMjIyMjIyVUxMOyAgeCA9IHggXiB0IF4gKHQgPDwgIDEpOworCisgICByZXR1cm4geDsKK30KKworc3RhdGljIHZvaWQgc2V0SW50ZXJsZWF2ZWRXb3Jkc0ludG84Ynl0ZXMoVUlOVDgqIGRlc3QsIFVJTlQzMiogZXZlbkFuZE9kZCkKK3sKKyNpZiAoUExBVEZPUk1fQllURV9PUkRFUiA9PSBJU19MSVRUTEVfRU5ESUFOKQorICAgICgoVUlOVDY0KilkZXN0KVswXSA9IGZyb21JbnRlcmxlYXZpbmcoKihVSU5UNjQqKWV2ZW5BbmRPZGQpOworI2Vsc2UgLyogIChQTEFURk9STV9CWVRFX09SREVSID09IElTX0JJR19FTkRJQU4pICovCisgICAgLyogIFRoaXMgY2FuIGJlIG9wdGltaXplZCAqLworICAgIFVJTlQ2NCBldmVuQW5kT2RkV29yZCA9IChVSU5UNjQpZXZlbkFuZE9kZFswXSBeICgoVUlOVDY0KWV2ZW5BbmRPZGRbMV0gPDwgMzIpOworICAgIFVJTlQ2NCBkZXN0V29yZCA9IGZyb21JbnRlcmxlYXZpbmcoZXZlbkFuZE9kZFdvcmQpOworICAgIGRlc3RbMF0gPSBkZXN0V29yZCAmIDB4RkY7CisgICAgZGVzdFsxXSA9IChkZXN0V29yZCA+PiA4KSAmIDB4RkY7CisgICAgZGVzdFsyXSA9IChkZXN0V29yZCA+PiAxNikgJiAweEZGOworICAgIGRlc3RbM10gPSAoZGVzdFdvcmQgPj4gMjQpICYgMHhGRjsKKyAgICBkZXN0WzRdID0gKGRlc3RXb3JkID4+IDMyKSAmIDB4RkY7CisgICAgZGVzdFs1XSA9IChkZXN0V29yZCA+PiA0MCkgJiAweEZGOworICAgIGRlc3RbNl0gPSAoZGVzdFdvcmQgPj4gNDgpICYgMHhGRjsKKyAgICBkZXN0WzddID0gKGRlc3RXb3JkID4+IDU2KSAmIDB4RkY7CisjZW5kaWYgLyogIEVuZGlhbm5lc3MgKi8KK30KKworI2RlZmluZSBleHRyYWN0TGFuZXMobGFuZUNvdW50LCBzdGF0ZSwgZGF0YSkgXAorICAgIHsgXAorICAgICAgICBpbnQgaTsgXAorICAgICAgICBmb3IoaT0wOyBpPChsYW5lQ291bnQpOyBpKyspIFwKKyAgICAgICAgICAgIHNldEludGVybGVhdmVkV29yZHNJbnRvOGJ5dGVzKGRhdGEraSo4LCAoVUlOVDMyKilzdGF0ZStpKjIpOyBcCisgICAgfQorCisjZW5kaWYgLyogIFdpdGggb3Igd2l0aG91dCBpbnRlcmxlYXZpbmcgdGFibGVzICovCisKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKQorI2RlZmluZSBST0wzMihhLCBvZmZzZXQpIF9yb3RsKGEsIG9mZnNldCkKKyNlbGlmIChkZWZpbmVkIChfX2FybV9fKSAmJiBkZWZpbmVkKF9fQVJNQ0NfVkVSU0lPTikpCisjZGVmaW5lIFJPTDMyKGEsIG9mZnNldCkgX19yb3IoYSwgMzItKG9mZnNldCkpCisjZWxzZQorI2RlZmluZSBST0wzMihhLCBvZmZzZXQpICgoKChVSU5UMzIpYSkgPDwgKG9mZnNldCkpIF4gKCgoVUlOVDMyKWEpID4+ICgzMi0ob2Zmc2V0KSkpKQorI2VuZGlmCisKKyNpbmNsdWRlICJLZWNjYWtGLTE2MDAtdW5yb2xsaW5nLm1hY3JvcyIKKyNpbmNsdWRlICJLZWNjYWtGLTE2MDAtMzIubWFjcm9zIgorCisjaWYgKFVzZVNjaGVkdWxlID09IDMpCisKKyNpZmRlZiBVc2VCZWJpZ29raW1pc2EKKyNlcnJvciAiTm8gbGFuZSBjb21wbGVtZW50aW5nIHdpdGggc2NoZWR1bGUgMy4iCisjZW5kaWYKKworI2lmIChVbnJvbGxpbmcgIT0gMikKKyNlcnJvciAiT25seSB1bnJvbGxpbmcgMiBpcyBzdXBwb3J0ZWQgYnkgc2NoZWR1bGUgMy4iCisjZW5kaWYKKworc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzKFVJTlQzMiAqc3RhdGUpCit7CisgICAgcm91bmRzCit9CisKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nKFVJTlQzMiAqc3RhdGUsIGNvbnN0IFVJTlQ4ICppbnB1dCwgdW5zaWduZWQgaW50IGxhbmVDb3VudCkKK3sKKyAgICB4b3JMYW5lc0ludG9TdGF0ZShsYW5lQ291bnQsIHN0YXRlLCBpbnB1dCkKKyAgICByb3VuZHMKK30KKworI2lmZGVmIFByb3ZpZGVGYXN0NTc2CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzU3NmJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIHhvckxhbmVzSW50b1N0YXRlKDksIHN0YXRlLCBpbnB1dCkKKyAgICByb3VuZHMKK30KKyNlbmRpZgorCisjaWZkZWYgUHJvdmlkZUZhc3Q4MzIKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nODMyYml0cyhVSU5UMzIgKnN0YXRlLCBjb25zdCBVSU5UOCAqaW5wdXQpCit7CisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMTMsIHN0YXRlLCBpbnB1dCkKKyAgICByb3VuZHMKK30KKyNlbmRpZgorCisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEwMjRiaXRzKFVJTlQzMiAqc3RhdGUsIGNvbnN0IFVJTlQ4ICppbnB1dCkKK3sKKyAgICB4b3JMYW5lc0ludG9TdGF0ZSgxNiwgc3RhdGUsIGlucHV0KQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwODgKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTA4OGJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIHhvckxhbmVzSW50b1N0YXRlKDE3LCBzdGF0ZSwgaW5wdXQpCisgICAgcm91bmRzCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0MTE1Mgorc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3JpbmcxMTUyYml0cyhVSU5UMzIgKnN0YXRlLCBjb25zdCBVSU5UOCAqaW5wdXQpCit7CisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMTgsIHN0YXRlLCBpbnB1dCkKKyAgICByb3VuZHMKK30KKyNlbmRpZgorCisjaWZkZWYgUHJvdmlkZUZhc3QxMzQ0CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEzNDRiaXRzKFVJTlQzMiAqc3RhdGUsIGNvbnN0IFVJTlQ4ICppbnB1dCkKK3sKKyAgICB4b3JMYW5lc0ludG9TdGF0ZSgyMSwgc3RhdGUsIGlucHV0KQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNlbHNlIC8qICAoU2NoZWR1bGUgIT0gMykgKi8KKworc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzKFVJTlQzMiAqc3RhdGUpCit7CisgICAgZGVjbGFyZUFCQ0RFCisjaWYgKFVucm9sbGluZyAhPSAyNCkKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyNlbmRpZgorCisgICAgY29weUZyb21TdGF0ZShBLCBzdGF0ZSkKKyAgICByb3VuZHMKK30KKworc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3JpbmcoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0LCB1bnNpZ25lZCBpbnQgbGFuZUNvdW50KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUobGFuZUNvdW50LCBzdGF0ZSwgaW5wdXQpCisgICAgY29weUZyb21TdGF0ZShBLCBzdGF0ZSkKKyAgICByb3VuZHMKK30KKworI2lmZGVmIFByb3ZpZGVGYXN0NTc2CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzU3NmJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUoOSwgc3RhdGUsIGlucHV0KQorICAgIGNvcHlGcm9tU3RhdGUoQSwgc3RhdGUpCisgICAgcm91bmRzCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0ODMyCitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzgzMmJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMTMsIHN0YXRlLCBpbnB1dCkKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwMjQKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTAyNGJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMTYsIHN0YXRlLCBpbnB1dCkKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwODgKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTA4OGJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMTcsIHN0YXRlLCBpbnB1dCkKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDExNTIKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTE1MmJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMTgsIHN0YXRlLCBpbnB1dCkKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEzNDQKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTM0NGJpdHMoVUlOVDMyICpzdGF0ZSwgY29uc3QgVUlOVDggKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorICAgIHVuc2lnbmVkIGludCBpOworCisgICAgeG9yTGFuZXNJbnRvU3RhdGUoMjEsIHN0YXRlLCBpbnB1dCkKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKQorICAgIHJvdW5kcworfQorI2VuZGlmCisKKyNlbmRpZgorCitzdGF0aWMgdm9pZCBLZWNjYWtJbml0aWFsaXplKCkKK3sKKyNpZmRlZiBVc2VJbnRlcmxlYXZlVGFibGVzCisgICAgYnVpbGRJbnRlcmxlYXZlVGFibGVzKCk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgS2VjY2FrSW5pdGlhbGl6ZVN0YXRlKHVuc2lnbmVkIGNoYXIgKnN0YXRlKQoreworICAgIG1lbXNldChzdGF0ZSwgMCwgMjAwKTsKKyNpZmRlZiBVc2VCZWJpZ29raW1pc2EKKyAgICAoKFVJTlQzMiopc3RhdGUpWyAyXSA9IH4oVUlOVDMyKTA7CisgICAgKChVSU5UMzIqKXN0YXRlKVsgM10gPSB+KFVJTlQzMikwOworICAgICgoVUlOVDMyKilzdGF0ZSlbIDRdID0gfihVSU5UMzIpMDsKKyAgICAoKFVJTlQzMiopc3RhdGUpWyA1XSA9IH4oVUlOVDMyKTA7CisgICAgKChVSU5UMzIqKXN0YXRlKVsxNl0gPSB+KFVJTlQzMikwOworICAgICgoVUlOVDMyKilzdGF0ZSlbMTddID0gfihVSU5UMzIpMDsKKyAgICAoKFVJTlQzMiopc3RhdGUpWzI0XSA9IH4oVUlOVDMyKTA7CisgICAgKChVSU5UMzIqKXN0YXRlKVsyNV0gPSB+KFVJTlQzMikwOworICAgICgoVUlOVDMyKilzdGF0ZSlbMzRdID0gfihVSU5UMzIpMDsKKyAgICAoKFVJTlQzMiopc3RhdGUpWzM1XSA9IH4oVUlOVDMyKTA7CisgICAgKChVSU5UMzIqKXN0YXRlKVs0MF0gPSB+KFVJTlQzMikwOworICAgICgoVUlOVDMyKilzdGF0ZSlbNDFdID0gfihVSU5UMzIpMDsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbih1bnNpZ25lZCBjaGFyICpzdGF0ZSkKK3sKKyAgICAvKiAgV2UgYXNzdW1lIHRoZSBzdGF0ZSBpcyBhbHdheXMgc3RvcmVkIGFzIGludGVybGVhdmVkIDMyLWJpdCB3b3JkcyAqLworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3JkcygoVUlOVDMyKilzdGF0ZSk7Cit9CisKKyNpZmRlZiBQcm92aWRlRmFzdDU3Ngorc3RhdGljIHZvaWQgS2VjY2FrQWJzb3JiNTc2Yml0cyh1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKK3sKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzU3NmJpdHMoKFVJTlQzMiopc3RhdGUsIGRhdGEpOworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDgzMgorc3RhdGljIHZvaWQgS2VjY2FrQWJzb3JiODMyYml0cyh1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKK3sKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzgzMmJpdHMoKFVJTlQzMiopc3RhdGUsIGRhdGEpOworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwMjQKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjEwMjRiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTAyNGJpdHMoKFVJTlQzMiopc3RhdGUsIGRhdGEpOworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwODgKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjEwODhiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTA4OGJpdHMoKFVJTlQzMiopc3RhdGUsIGRhdGEpOworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDExNTIKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjExNTJiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTE1MmJpdHMoKFVJTlQzMiopc3RhdGUsIGRhdGEpOworfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEzNDQKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjEzNDRiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTM0NGJpdHMoKFVJTlQzMiopc3RhdGUsIGRhdGEpOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYih1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgdW5zaWduZWQgaW50IGxhbmVDb3VudCkKK3sKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZygoVUlOVDMyKilzdGF0ZSwgZGF0YSwgbGFuZUNvdW50KTsKK30KKworI2lmZGVmIFByb3ZpZGVGYXN0MTAyNAorc3RhdGljIHZvaWQgS2VjY2FrRXh0cmFjdDEwMjRiaXRzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0YXRlLCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworICAgIGV4dHJhY3RMYW5lcygxNiwgc3RhdGUsIGRhdGEpCisjaWZkZWYgVXNlQmViaWdva2ltaXNhCisgICAgKChVSU5UMzIqKWRhdGEpWyAyXSA9IH4oKFVJTlQzMiopZGF0YSlbIDJdOworICAgICgoVUlOVDMyKilkYXRhKVsgM10gPSB+KChVSU5UMzIqKWRhdGEpWyAzXTsKKyAgICAoKFVJTlQzMiopZGF0YSlbIDRdID0gfigoVUlOVDMyKilkYXRhKVsgNF07CisgICAgKChVSU5UMzIqKWRhdGEpWyA1XSA9IH4oKFVJTlQzMiopZGF0YSlbIDVdOworICAgICgoVUlOVDMyKilkYXRhKVsxNl0gPSB+KChVSU5UMzIqKWRhdGEpWzE2XTsKKyAgICAoKFVJTlQzMiopZGF0YSlbMTddID0gfigoVUlOVDMyKilkYXRhKVsxN107CisgICAgKChVSU5UMzIqKWRhdGEpWzI0XSA9IH4oKFVJTlQzMiopZGF0YSlbMjRdOworICAgICgoVUlOVDMyKilkYXRhKVsyNV0gPSB+KChVSU5UMzIqKWRhdGEpWzI1XTsKKyNlbmRpZgorfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIEtlY2Nha0V4dHJhY3QoY29uc3QgdW5zaWduZWQgY2hhciAqc3RhdGUsIHVuc2lnbmVkIGNoYXIgKmRhdGEsIHVuc2lnbmVkIGludCBsYW5lQ291bnQpCit7CisgICAgZXh0cmFjdExhbmVzKGxhbmVDb3VudCwgc3RhdGUsIGRhdGEpCisjaWZkZWYgVXNlQmViaWdva2ltaXNhCisgICAgaWYgKGxhbmVDb3VudCA+IDEpIHsKKyAgICAgICAgKChVSU5UMzIqKWRhdGEpWyAyXSA9IH4oKFVJTlQzMiopZGF0YSlbIDJdOworICAgICAgICAoKFVJTlQzMiopZGF0YSlbIDNdID0gfigoVUlOVDMyKilkYXRhKVsgM107CisgICAgICAgIGlmIChsYW5lQ291bnQgPiAyKSB7CisgICAgICAgICAgICAoKFVJTlQzMiopZGF0YSlbIDRdID0gfigoVUlOVDMyKilkYXRhKVsgNF07CisgICAgICAgICAgICAoKFVJTlQzMiopZGF0YSlbIDVdID0gfigoVUlOVDMyKilkYXRhKVsgNV07CisgICAgICAgICAgICBpZiAobGFuZUNvdW50ID4gOCkgeworICAgICAgICAgICAgICAgICgoVUlOVDMyKilkYXRhKVsxNl0gPSB+KChVSU5UMzIqKWRhdGEpWzE2XTsKKyAgICAgICAgICAgICAgICAoKFVJTlQzMiopZGF0YSlbMTddID0gfigoVUlOVDMyKilkYXRhKVsxN107CisgICAgICAgICAgICAgICAgaWYgKGxhbmVDb3VudCA+IDEyKSB7CisgICAgICAgICAgICAgICAgICAgICgoVUlOVDMyKilkYXRhKVsyNF0gPSB+KChVSU5UMzIqKWRhdGEpWzI0XTsKKyAgICAgICAgICAgICAgICAgICAgKChVSU5UMzIqKWRhdGEpWzI1XSA9IH4oKFVJTlQzMiopZGF0YSlbMjVdOworICAgICAgICAgICAgICAgICAgICBpZiAobGFuZUNvdW50ID4gMTcpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICgoVUlOVDMyKilkYXRhKVszNF0gPSB+KChVSU5UMzIqKWRhdGEpWzM0XTsKKyAgICAgICAgICAgICAgICAgICAgICAgICgoVUlOVDMyKilkYXRhKVszNV0gPSB+KChVSU5UMzIqKWRhdGEpWzM1XTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYW5lQ291bnQgPiAyMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVUlOVDMyKilkYXRhKVs0MF0gPSB+KChVSU5UMzIqKWRhdGEpWzQwXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFVJTlQzMiopZGF0YSlbNDFdID0gfigoVUlOVDMyKilkYXRhKVs0MV07CisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1vcHQ2NC1zZXR0aW5ncy5oIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLW9wdDY0LXNldHRpbmdzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY4M2U2MwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1vcHQ2NC1zZXR0aW5ncy5oCkBAIC0wLDAgKzEsOSBAQAorLyoKKyNkZWZpbmUgVW5yb2xsaW5nIDI0CisjZGVmaW5lIFVzZUJlYmlnb2tpbWlzYQorI2RlZmluZSBVc2VTU0UKKyNkZWZpbmUgVXNlT25seVNJTUQ2NAorI2RlZmluZSBVc2VNTVgKKyNkZWZpbmUgVXNlU0hMRAorI2RlZmluZSBVc2VYT1AKKyovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtb3B0NjQuYyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1vcHQ2NC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOWIxOGIKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtb3B0NjQuYwpAQCAtMCwwICsxLDUxMCBAQAorLyoKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKy8qICNpbmNsdWRlICJicmdfZW5kaWFuLmgiICovCisjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLW9wdDY0LXNldHRpbmdzLmgiCisjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLWludGVyZmFjZS5oIgorCit0eXBlZGVmIHVuc2lnbmVkIGNoYXIgVUlOVDg7CisvKiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgVUlOVDY0OyAqLworCisjaWYgZGVmaW5lZChfX0dOVUNfXykKKyNkZWZpbmUgQUxJR04gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQoMzIpKSkKKyNlbGlmIGRlZmluZWQoX01TQ19WRVIpCisjZGVmaW5lIEFMSUdOIF9fZGVjbHNwZWMoYWxpZ24oMzIpKQorI2Vsc2UKKyNkZWZpbmUgQUxJR04KKyNlbmRpZgorCisjaWYgZGVmaW5lZChVc2VTU0UpCisgICAgI2luY2x1ZGUgPHg4NmludHJpbi5oPgorICAgIHR5cGVkZWYgX19tMTI4aSBWNjQ7CisgICAgdHlwZWRlZiBfX20xMjhpIFYxMjg7CisgICAgdHlwZWRlZiB1bmlvbiB7CisgICAgICAgIFYxMjggdjEyODsKKyAgICAgICAgVUlOVDY0IHY2NFsyXTsKKyAgICB9IFY2NDY0OworCisgICAgI2RlZmluZSBBTkRudTY0KGEsIGIpICAgICAgIF9tbV9hbmRub3Rfc2kxMjgoYSwgYikKKyAgICAjZGVmaW5lIExPQUQ2NChhKSAgICAgICAgICAgX21tX2xvYWRsX2VwaTY0KChjb25zdCBWNjQgKikmKGEpKQorICAgICNkZWZpbmUgQ09OU1Q2NChhKSAgICAgICAgICBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IFY2NCAqKSYoYSkpCisgICAgI2RlZmluZSBST0w2NChhLCBvKSAgICAgICAgIF9tbV9vcl9zaTEyOChfbW1fc2xsaV9lcGk2NChhLCBvKSwgX21tX3NybGlfZXBpNjQoYSwgNjQtKG8pKSkKKyAgICAjZGVmaW5lIFNUT1JFNjQoYSwgYikgICAgICAgX21tX3N0b3JlbF9lcGk2NCgoVjY0ICopJihhKSwgYikKKyAgICAjZGVmaW5lIFhPUjY0KGEsIGIpICAgICAgICAgX21tX3hvcl9zaTEyOChhLCBiKQorICAgICNkZWZpbmUgWE9SZXE2NChhLCBiKSAgICAgICBhID0gX21tX3hvcl9zaTEyOChhLCBiKQorICAgICNkZWZpbmUgU0hVRkZMRUJZVEVTMTI4KGEsIGIpICAgX21tX3NodWZmbGVfZXBpOChhLCBiKQorCisgICAgI2RlZmluZSBBTkRudTEyOChhLCBiKSAgICAgIF9tbV9hbmRub3Rfc2kxMjgoYSwgYikKKyAgICAjZGVmaW5lIExPQUQ2NDY0KGEsIGIpICAgICAgX21tX3NldF9lcGk2NCgoX19tNjQpKGEpLCAoX19tNjQpKGIpKQorICAgICNkZWZpbmUgQ09OU1QxMjgoYSkgICAgICAgICBfbW1fbG9hZF9zaTEyOCgoY29uc3QgVjEyOCAqKSYoYSkpCisgICAgI2RlZmluZSBMT0FEMTI4KGEpICAgICAgICAgIF9tbV9sb2FkX3NpMTI4KChjb25zdCBWMTI4ICopJihhKSkKKyAgICAjZGVmaW5lIExPQUQxMjh1KGEpICAgICAgICAgX21tX2xvYWR1X3NpMTI4KChjb25zdCBWMTI4ICopJihhKSkKKyAgICAjZGVmaW5lIFJPTDY0aW4xMjgoYSwgbykgICAgX21tX29yX3NpMTI4KF9tbV9zbGxpX2VwaTY0KGEsIG8pLCBfbW1fc3JsaV9lcGk2NChhLCA2NC0obykpKQorICAgICNkZWZpbmUgU1RPUkUxMjgoYSwgYikgICAgICBfbW1fc3RvcmVfc2kxMjgoKFYxMjggKikmKGEpLCBiKQorICAgICNkZWZpbmUgWE9SMTI4KGEsIGIpICAgICAgICBfbW1feG9yX3NpMTI4KGEsIGIpCisgICAgI2RlZmluZSBYT1JlcTEyOChhLCBiKSAgICAgIGEgPSBfbW1feG9yX3NpMTI4KGEsIGIpCisgICAgI2RlZmluZSBHRVQ2NExPTE8oYSwgYikgICAgIF9tbV91bnBhY2tsb19lcGk2NChhLCBiKQorICAgICNkZWZpbmUgR0VUNjRISUhJKGEsIGIpICAgICBfbW1fdW5wYWNraGlfZXBpNjQoYSwgYikKKyAgICAjZGVmaW5lIENPUFk2NEhJMkxPKGEpICAgICAgX21tX3NodWZmbGVfZXBpMzIoYSwgMHhFRSkKKyAgICAjZGVmaW5lIENPUFk2NExPMkhJKGEpICAgICAgX21tX3NodWZmbGVfZXBpMzIoYSwgMHg0NCkKKyAgICAjZGVmaW5lIFpFUk8xMjgoKSAgICAgICAgICAgX21tX3NldHplcm9fc2kxMjgoKQorCisgICAgI2lmZGVmIFVzZU9ubHlTSU1ENjQKKyAgICAjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLXNpbWQ2NC5tYWNyb3MiCisgICAgI2Vsc2UKK0FMSUdOIGNvbnN0IFVJTlQ2NCByaG84XzU2WzJdID0gezB4MDYwNTA0MDMwMjAxMDAwNywgMHgwODBGMEUwRDBDMEIwQTA5fTsKKyAgICAjaW5jbHVkZSAiS2VjY2FrRi0xNjAwLXNpbWQxMjgubWFjcm9zIgorICAgICNlbmRpZgorCisgICAgI2lmZGVmIFVzZUJlYmlnb2tpbWlzYQorICAgICNlcnJvciAiVXNlQmViaWdva2ltaXNhIGNhbm5vdCBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggVXNlU1NFIgorICAgICNlbmRpZgorI2VsaWYgZGVmaW5lZChVc2VYT1ApCisgICAgI2luY2x1ZGUgPHg4NmludHJpbi5oPgorICAgIHR5cGVkZWYgX19tMTI4aSBWNjQ7CisgICAgdHlwZWRlZiBfX20xMjhpIFYxMjg7CisgICAKKyAgICAjZGVmaW5lIExPQUQ2NChhKSAgICAgICAgICAgX21tX2xvYWRsX2VwaTY0KChjb25zdCBWNjQgKikmKGEpKQorICAgICNkZWZpbmUgQ09OU1Q2NChhKSAgICAgICAgICBfbW1fbG9hZGxfZXBpNjQoKGNvbnN0IFY2NCAqKSYoYSkpCisgICAgI2RlZmluZSBTVE9SRTY0KGEsIGIpICAgICAgIF9tbV9zdG9yZWxfZXBpNjQoKFY2NCAqKSYoYSksIGIpCisgICAgI2RlZmluZSBYT1I2NChhLCBiKSAgICAgICAgIF9tbV94b3Jfc2kxMjgoYSwgYikKKyAgICAjZGVmaW5lIFhPUmVxNjQoYSwgYikgICAgICAgYSA9IF9tbV94b3Jfc2kxMjgoYSwgYikKKworICAgICNkZWZpbmUgQU5EbnUxMjgoYSwgYikgICAgICBfbW1fYW5kbm90X3NpMTI4KGEsIGIpCisgICAgI2RlZmluZSBMT0FENjQ2NChhLCBiKSAgICAgIF9tbV9zZXRfZXBpNjQoKF9fbTY0KShhKSwgKF9fbTY0KShiKSkKKyAgICAjZGVmaW5lIENPTlNUMTI4KGEpICAgICAgICAgX21tX2xvYWRfc2kxMjgoKGNvbnN0IFYxMjggKikmKGEpKQorICAgICNkZWZpbmUgTE9BRDEyOChhKSAgICAgICAgICBfbW1fbG9hZF9zaTEyOCgoY29uc3QgVjEyOCAqKSYoYSkpCisgICAgI2RlZmluZSBMT0FEMTI4dShhKSAgICAgICAgIF9tbV9sb2FkdV9zaTEyOCgoY29uc3QgVjEyOCAqKSYoYSkpCisgICAgI2RlZmluZSBTVE9SRTEyOChhLCBiKSAgICAgIF9tbV9zdG9yZV9zaTEyOCgoVjEyOCAqKSYoYSksIGIpCisgICAgI2RlZmluZSBYT1IxMjgoYSwgYikgICAgICAgIF9tbV94b3Jfc2kxMjgoYSwgYikKKyAgICAjZGVmaW5lIFhPUmVxMTI4KGEsIGIpICAgICAgYSA9IF9tbV94b3Jfc2kxMjgoYSwgYikKKyAgICAjZGVmaW5lIFpFUk8xMjgoKSAgICAgICAgICAgX21tX3NldHplcm9fc2kxMjgoKQorCisgICAgI2RlZmluZSBTV0FQNjQoYSkgICAgICAgICAgIF9tbV9zaHVmZmxlX2VwaTMyKGEsIDB4NEUpCisgICAgI2RlZmluZSBHRVQ2NExPTE8oYSwgYikgICAgIF9tbV91bnBhY2tsb19lcGk2NChhLCBiKQorICAgICNkZWZpbmUgR0VUNjRISUhJKGEsIGIpICAgICBfbW1fdW5wYWNraGlfZXBpNjQoYSwgYikKKyAgICAjZGVmaW5lIEdFVDY0TE9ISShhLCBiKSAgICAgKChfX20xMjhpKV9tbV9ibGVuZF9wZCgoX19tMTI4ZClhLCAoX19tMTI4ZCliLCAyKSkKKyAgICAjZGVmaW5lIEdFVDY0SElMTyhhLCBiKSAgICAgU1dBUDY0KEdFVDY0TE9ISShiLCBhKSkKKyAgICAjZGVmaW5lIENPUFk2NEhJMkxPKGEpICAgICAgX21tX3NodWZmbGVfZXBpMzIoYSwgMHhFRSkKKyAgICAjZGVmaW5lIENPUFk2NExPMkhJKGEpICAgICAgX21tX3NodWZmbGVfZXBpMzIoYSwgMHg0NCkKKyAKKyAgICAjZGVmaW5lIFJPTDY0NjRzYW1lKGEsIG8pICAgX21tX3JvdGlfZXBpNjQoYSwgbykKKyAgICAjZGVmaW5lIFJPTDY0NjQoYSwgcjEsIHIyKSAgX21tX3JvdF9lcGk2NChhLCBDT05TVDEyOCggcm90XyMjcjEjI18jI3IyICkpCitBTElHTiBjb25zdCBVSU5UNjQgcm90XzBfMjBbMl0gID0geyAwLCAyMH07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzQ0XzNbMl0gID0gezQ0LCAgM307CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzQzXzQ1WzJdID0gezQzLCA0NX07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzIxXzYxWzJdID0gezIxLCA2MX07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzE0XzI4WzJdID0gezE0LCAyOH07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzFfMzZbMl0gID0geyAxLCAzNn07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzZfMTBbMl0gID0geyA2LCAxMH07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzI1XzE1WzJdID0gezI1LCAxNX07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzhfNTZbMl0gID0geyA4LCA1Nn07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzE4XzI3WzJdID0gezE4LCAyN307CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzYyXzU1WzJdID0gezYyLCA1NX07CitBTElHTiBjb25zdCBVSU5UNjQgcm90XzM5XzQxWzJdID0gezM5LCA0MX07CisKKyNpZiBkZWZpbmVkKFVzZVNpbXVsYXRlZFhPUCkKKyAgICAvKiAgRm9yIGRlYnVnZ2luZyBwdXJwb3Nlcywgd2hlbiBYT1AgaXMgbm90IGF2YWlsYWJsZSAqLworICAgICN1bmRlZiBST0w2NDY0CisgICAgI3VuZGVmIFJPTDY0NjRzYW1lCisgICAgI2RlZmluZSBST0w2NDY0c2FtZShhLCBvKSAgIF9tbV9vcl9zaTEyOChfbW1fc2xsaV9lcGk2NChhLCBvKSwgX21tX3NybGlfZXBpNjQoYSwgNjQtKG8pKSkKKyAgICBWMTI4IFJPTDY0NjQoVjEyOCBhLCBpbnQgcjAsIGludCByMSkKKyAgICB7CisgICAgICAgIFYxMjggYTAgPSBST0w2NChhLCByMCk7CisgICAgICAgIFYxMjggYTEgPSBDT1BZNjRISTJMTyhST0w2NChhLCByMSkpOworICAgICAgICByZXR1cm4gR0VUNjRMT0xPKGEwLCBhMSk7CisgICAgfQorI2VuZGlmCisgICAgCisgICAgI2luY2x1ZGUgIktlY2Nha0YtMTYwMC14b3AubWFjcm9zIgorCisgICAgI2lmZGVmIFVzZUJlYmlnb2tpbWlzYQorICAgICNlcnJvciAiVXNlQmViaWdva2ltaXNhIGNhbm5vdCBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggVXNlWE9QIgorICAgICNlbmRpZgorI2VsaWYgZGVmaW5lZChVc2VNTVgpCisgICAgI2luY2x1ZGUgPG1taW50cmluLmg+CisgICAgdHlwZWRlZiBfX202NCBWNjQ7CisgICAgI2RlZmluZSBBTkRudTY0KGEsIGIpICAgICAgIF9tbV9hbmRub3Rfc2k2NChhLCBiKQorCisgICAgI2lmIChkZWZpbmVkKF9NU0NfVkVSKSB8fCBkZWZpbmVkIChfX0lOVEVMX0NPTVBJTEVSKSkKKyAgICAgICAgI2RlZmluZSBMT0FENjQoYSkgICAgICAgKihWNjQqKSYoYSkKKyAgICAgICAgI2RlZmluZSBDT05TVDY0KGEpICAgICAgKihWNjQqKSYoYSkKKyAgICAgICAgI2RlZmluZSBTVE9SRTY0KGEsIGIpICAgKihWNjQqKSYoYSkgPSBiCisgICAgI2Vsc2UKKyAgICAgICAgI2RlZmluZSBMT0FENjQoYSkgICAgICAgKFY2NClhCisgICAgICAgICNkZWZpbmUgQ09OU1Q2NChhKSAgICAgIChWNjQpYQorICAgICAgICAjZGVmaW5lIFNUT1JFNjQoYSwgYikgICBhID0gKFVJTlQ2NCliCisgICAgI2VuZGlmCisgICAgI2RlZmluZSBST0w2NChhLCBvKSAgICAgICAgIF9tbV9vcl9zaTY0KF9tbV9zbGxpX3NpNjQoYSwgbyksIF9tbV9zcmxpX3NpNjQoYSwgNjQtKG8pKSkKKyAgICAjZGVmaW5lIFhPUjY0KGEsIGIpICAgICAgICAgX21tX3hvcl9zaTY0KGEsIGIpCisgICAgI2RlZmluZSBYT1JlcTY0KGEsIGIpICAgICAgIGEgPSBfbW1feG9yX3NpNjQoYSwgYikKKworICAgICNpbmNsdWRlICJLZWNjYWtGLTE2MDAtc2ltZDY0Lm1hY3JvcyIKKworICAgICNpZmRlZiBVc2VCZWJpZ29raW1pc2EKKyAgICAjZXJyb3IgIlVzZUJlYmlnb2tpbWlzYSBjYW5ub3QgYmUgdXNlZCBpbiBjb21iaW5hdGlvbiB3aXRoIFVzZU1NWCIKKyAgICAjZW5kaWYKKyNlbHNlCisgICAgI2lmIGRlZmluZWQoX01TQ19WRVIpCisgICAgI2RlZmluZSBST0w2NChhLCBvZmZzZXQpIF9yb3RsNjQoYSwgb2Zmc2V0KQorICAgICNlbGlmIGRlZmluZWQoVXNlU0hMRCkKKyAgICAgICNkZWZpbmUgUk9MNjQoeCxOKSAoeyBcCisgICAgICAgIHJlZ2lzdGVyIFVJTlQ2NCBfX291dDsgXAorICAgICAgICByZWdpc3RlciBVSU5UNjQgX19pbiA9IHg7IFwKKyAgICAgICAgX19hc21fXyAoInNobGQgJTIsJTAsJTAiIDogIj1yIihfX291dCkgOiAiMCIoX19pbiksICJpIihOKSk7IFwKKyAgICAgICAgX19vdXQ7IFwKKyAgICAgIH0pCisgICAgI2Vsc2UKKyAgICAjZGVmaW5lIFJPTDY0KGEsIG9mZnNldCkgKCgoKFVJTlQ2NClhKSA8PCBvZmZzZXQpIF4gKCgoVUlOVDY0KWEpID4+ICg2NC1vZmZzZXQpKSkKKyAgICAjZW5kaWYKKworICAgICNpbmNsdWRlICJLZWNjYWtGLTE2MDAtNjQubWFjcm9zIgorI2VuZGlmCisKKyNpbmNsdWRlICJLZWNjYWtGLTE2MDAtdW5yb2xsaW5nLm1hY3JvcyIKKworc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzKFVJTlQ2NCAqc3RhdGUpCit7CisgICAgZGVjbGFyZUFCQ0RFCisjaWYgKFVucm9sbGluZyAhPSAyNCkKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyNlbmRpZgorCisgICAgY29weUZyb21TdGF0ZShBLCBzdGF0ZSkKKyAgICByb3VuZHMKKyNpZiBkZWZpbmVkKFVzZU1NWCkKKyAgICBfbW1fZW1wdHkoKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZyhVSU5UNjQgKnN0YXRlLCBjb25zdCBVSU5UNjQgKmlucHV0LCB1bnNpZ25lZCBpbnQgbGFuZUNvdW50KQoreworICAgIGRlY2xhcmVBQkNERQorI2lmIChVbnJvbGxpbmcgIT0gMjQpCisgICAgdW5zaWduZWQgaW50IGk7CisjZW5kaWYKKwl1bnNpZ25lZCBpbnQgajsKKworICAgIGZvcihqPTA7IGo8bGFuZUNvdW50OyBqKyspCisgICAgICAgIHN0YXRlW2pdIF49IGlucHV0W2pdOwkKKyAgICBjb3B5RnJvbVN0YXRlKEEsIHN0YXRlKQorICAgIHJvdW5kcworI2lmIGRlZmluZWQoVXNlTU1YKQorICAgIF9tbV9lbXB0eSgpOworI2VuZGlmCit9CisKKyNpZmRlZiBQcm92aWRlRmFzdDU3Ngorc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3Jpbmc1NzZiaXRzKFVJTlQ2NCAqc3RhdGUsIGNvbnN0IFVJTlQ2NCAqaW5wdXQpCit7CisgICAgZGVjbGFyZUFCQ0RFCisjaWYgKFVucm9sbGluZyAhPSAyNCkKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyNlbmRpZgorCisgICAgY29weUZyb21TdGF0ZUFuZFhvcjU3NmJpdHMoQSwgc3RhdGUsIGlucHV0KQorICAgIHJvdW5kcworI2lmIGRlZmluZWQoVXNlTU1YKQorICAgIF9tbV9lbXB0eSgpOworI2VuZGlmCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0ODMyCitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzgzMmJpdHMoVUlOVDY0ICpzdGF0ZSwgY29uc3QgVUlOVDY0ICppbnB1dCkKK3sKKyAgICBkZWNsYXJlQUJDREUKKyNpZiAoVW5yb2xsaW5nICE9IDI0KQorICAgIHVuc2lnbmVkIGludCBpOworI2VuZGlmCisKKyAgICBjb3B5RnJvbVN0YXRlQW5kWG9yODMyYml0cyhBLCBzdGF0ZSwgaW5wdXQpCisgICAgcm91bmRzCisjaWYgZGVmaW5lZChVc2VNTVgpCisgICAgX21tX2VtcHR5KCk7CisjZW5kaWYKK30KKyNlbmRpZgorCisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEwMjRiaXRzKFVJTlQ2NCAqc3RhdGUsIGNvbnN0IFVJTlQ2NCAqaW5wdXQpCit7CisgICAgZGVjbGFyZUFCQ0RFCisjaWYgKFVucm9sbGluZyAhPSAyNCkKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyNlbmRpZgorCisgICAgY29weUZyb21TdGF0ZUFuZFhvcjEwMjRiaXRzKEEsIHN0YXRlLCBpbnB1dCkKKyAgICByb3VuZHMKKyNpZiBkZWZpbmVkKFVzZU1NWCkKKyAgICBfbW1fZW1wdHkoKTsKKyNlbmRpZgorfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwODgKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTA4OGJpdHMoVUlOVDY0ICpzdGF0ZSwgY29uc3QgVUlOVDY0ICppbnB1dCkKK3sKKyAgICBkZWNsYXJlQUJDREUKKyNpZiAoVW5yb2xsaW5nICE9IDI0KQorICAgIHVuc2lnbmVkIGludCBpOworI2VuZGlmCisKKyAgICBjb3B5RnJvbVN0YXRlQW5kWG9yMTA4OGJpdHMoQSwgc3RhdGUsIGlucHV0KQorICAgIHJvdW5kcworI2lmIGRlZmluZWQoVXNlTU1YKQorICAgIF9tbV9lbXB0eSgpOworI2VuZGlmCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0MTE1Mgorc3RhdGljIHZvaWQgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3JpbmcxMTUyYml0cyhVSU5UNjQgKnN0YXRlLCBjb25zdCBVSU5UNjQgKmlucHV0KQoreworICAgIGRlY2xhcmVBQkNERQorI2lmIChVbnJvbGxpbmcgIT0gMjQpCisgICAgdW5zaWduZWQgaW50IGk7CisjZW5kaWYKKworICAgIGNvcHlGcm9tU3RhdGVBbmRYb3IxMTUyYml0cyhBLCBzdGF0ZSwgaW5wdXQpCisgICAgcm91bmRzCisjaWYgZGVmaW5lZChVc2VNTVgpCisgICAgX21tX2VtcHR5KCk7CisjZW5kaWYKK30KKyNlbmRpZgorCisjaWZkZWYgUHJvdmlkZUZhc3QxMzQ0CitzdGF0aWMgdm9pZCBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEzNDRiaXRzKFVJTlQ2NCAqc3RhdGUsIGNvbnN0IFVJTlQ2NCAqaW5wdXQpCit7CisgICAgZGVjbGFyZUFCQ0RFCisjaWYgKFVucm9sbGluZyAhPSAyNCkKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyNlbmRpZgorCisgICAgY29weUZyb21TdGF0ZUFuZFhvcjEzNDRiaXRzKEEsIHN0YXRlLCBpbnB1dCkKKyAgICByb3VuZHMKKyNpZiBkZWZpbmVkKFVzZU1NWCkKKyAgICBfbW1fZW1wdHkoKTsKKyNlbmRpZgorfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIEtlY2Nha0luaXRpYWxpemUoKQoreworfQorCitzdGF0aWMgdm9pZCBLZWNjYWtJbml0aWFsaXplU3RhdGUodW5zaWduZWQgY2hhciAqc3RhdGUpCit7CisgICAgbWVtc2V0KHN0YXRlLCAwLCAyMDApOworI2lmZGVmIFVzZUJlYmlnb2tpbWlzYQorICAgICgoVUlOVDY0KilzdGF0ZSlbIDFdID0gfihVSU5UNjQpMDsKKyAgICAoKFVJTlQ2NCopc3RhdGUpWyAyXSA9IH4oVUlOVDY0KTA7CisgICAgKChVSU5UNjQqKXN0YXRlKVsgOF0gPSB+KFVJTlQ2NCkwOworICAgICgoVUlOVDY0KilzdGF0ZSlbMTJdID0gfihVSU5UNjQpMDsKKyAgICAoKFVJTlQ2NCopc3RhdGUpWzE3XSA9IH4oVUlOVDY0KTA7CisgICAgKChVSU5UNjQqKXN0YXRlKVsyMF0gPSB+KFVJTlQ2NCkwOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIEtlY2Nha1Blcm11dGF0aW9uKHVuc2lnbmVkIGNoYXIgKnN0YXRlKQoreworICAgIC8qICBXZSBhc3N1bWUgdGhlIHN0YXRlIGlzIGFsd2F5cyBzdG9yZWQgYXMgd29yZHMgKi8KKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHMoKFVJTlQ2NCopc3RhdGUpOworfQorCisjaWYgKFBMQVRGT1JNX0JZVEVfT1JERVIgPT0gSVNfQklHX0VORElBTikKK3N0YXRpYyB2b2lkIGZyb21CeXRlc1RvV29yZChVSU5UNjQgKndvcmQsIGNvbnN0IFVJTlQ4ICpieXRlcykKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgICp3b3JkID0gMDsKKyAgICBmb3IoaT0wOyBpPCg2NC84KTsgaSsrKQorICAgICAgICAqd29yZCB8PSAoVUlOVDY0KShieXRlc1tpXSkgPDwgKDgqaSk7Cit9CisjZW5kaWYKKworCisjaWZkZWYgUHJvdmlkZUZhc3Q1NzYKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjU3NmJpdHModW5zaWduZWQgY2hhciAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCit7CisjaWYgKFBMQVRGT1JNX0JZVEVfT1JERVIgPT0gSVNfTElUVExFX0VORElBTikKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzU3NmJpdHMoKFVJTlQ2NCopc3RhdGUsIChjb25zdCBVSU5UNjQqKWRhdGEpOworI2Vsc2UKKyAgICBVSU5UNjQgZGF0YUFzV29yZHNbOV07CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBmb3IoaT0wOyBpPDk7IGkrKykKKyAgICAgICAgZnJvbUJ5dGVzVG9Xb3JkKGRhdGFBc1dvcmRzK2ksIGRhdGErKGkqOCkpOworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nNTc2Yml0cygoVUlOVDY0KilzdGF0ZSwgZGF0YUFzV29yZHMpOworI2VuZGlmCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0ODMyCitzdGF0aWMgdm9pZCBLZWNjYWtBYnNvcmI4MzJiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworI2lmIChQTEFURk9STV9CWVRFX09SREVSID09IElTX0xJVFRMRV9FTkRJQU4pCisgICAgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3Jpbmc4MzJiaXRzKChVSU5UNjQqKXN0YXRlLCAoY29uc3QgVUlOVDY0KilkYXRhKTsKKyNlbHNlCisgICAgVUlOVDY0IGRhdGFBc1dvcmRzWzEzXTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvcihpPTA7IGk8MTM7IGkrKykKKyAgICAgICAgZnJvbUJ5dGVzVG9Xb3JkKGRhdGFBc1dvcmRzK2ksIGRhdGErKGkqOCkpOworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nODMyYml0cygoVUlOVDY0KilzdGF0ZSwgZGF0YUFzV29yZHMpOworI2VuZGlmCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0MTAyNAorc3RhdGljIHZvaWQgS2VjY2FrQWJzb3JiMTAyNGJpdHModW5zaWduZWQgY2hhciAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCit7CisjaWYgKFBMQVRGT1JNX0JZVEVfT1JERVIgPT0gSVNfTElUVExFX0VORElBTikKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEwMjRiaXRzKChVSU5UNjQqKXN0YXRlLCAoY29uc3QgVUlOVDY0KilkYXRhKTsKKyNlbHNlCisgICAgVUlOVDY0IGRhdGFBc1dvcmRzWzE2XTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvcihpPTA7IGk8MTY7IGkrKykKKyAgICAgICAgZnJvbUJ5dGVzVG9Xb3JkKGRhdGFBc1dvcmRzK2ksIGRhdGErKGkqOCkpOworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTAyNGJpdHMoKFVJTlQ2NCopc3RhdGUsIGRhdGFBc1dvcmRzKTsKKyNlbmRpZgorfQorI2VuZGlmCisKKyNpZmRlZiBQcm92aWRlRmFzdDEwODgKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYjEwODhiaXRzKHVuc2lnbmVkIGNoYXIgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworI2lmIChQTEFURk9STV9CWVRFX09SREVSID09IElTX0xJVFRMRV9FTkRJQU4pCisgICAgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3JpbmcxMDg4Yml0cygoVUlOVDY0KilzdGF0ZSwgKGNvbnN0IFVJTlQ2NCopZGF0YSk7CisjZWxzZQorICAgIFVJTlQ2NCBkYXRhQXNXb3Jkc1sxN107CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBmb3IoaT0wOyBpPDE3OyBpKyspCisgICAgICAgIGZyb21CeXRlc1RvV29yZChkYXRhQXNXb3JkcytpLCBkYXRhKyhpKjgpKTsKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEwODhiaXRzKChVSU5UNjQqKXN0YXRlLCBkYXRhQXNXb3Jkcyk7CisjZW5kaWYKK30KKyNlbmRpZgorCisjaWZkZWYgUHJvdmlkZUZhc3QxMTUyCitzdGF0aWMgdm9pZCBLZWNjYWtBYnNvcmIxMTUyYml0cyh1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKK3sKKyNpZiAoUExBVEZPUk1fQllURV9PUkRFUiA9PSBJU19MSVRUTEVfRU5ESUFOKQorICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTE1MmJpdHMoKFVJTlQ2NCopc3RhdGUsIChjb25zdCBVSU5UNjQqKWRhdGEpOworI2Vsc2UKKyAgICBVSU5UNjQgZGF0YUFzV29yZHNbMThdOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgZm9yKGk9MDsgaTwxODsgaSsrKQorICAgICAgICBmcm9tQnl0ZXNUb1dvcmQoZGF0YUFzV29yZHMraSwgZGF0YSsoaSo4KSk7CisgICAgS2VjY2FrUGVybXV0YXRpb25PbldvcmRzQWZ0ZXJYb3JpbmcxMTUyYml0cygoVUlOVDY0KilzdGF0ZSwgZGF0YUFzV29yZHMpOworI2VuZGlmCit9CisjZW5kaWYKKworI2lmZGVmIFByb3ZpZGVGYXN0MTM0NAorc3RhdGljIHZvaWQgS2VjY2FrQWJzb3JiMTM0NGJpdHModW5zaWduZWQgY2hhciAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCit7CisjaWYgKFBMQVRGT1JNX0JZVEVfT1JERVIgPT0gSVNfTElUVExFX0VORElBTikKKyAgICBLZWNjYWtQZXJtdXRhdGlvbk9uV29yZHNBZnRlclhvcmluZzEzNDRiaXRzKChVSU5UNjQqKXN0YXRlLCAoY29uc3QgVUlOVDY0KilkYXRhKTsKKyNlbHNlCisgICAgVUlOVDY0IGRhdGFBc1dvcmRzWzIxXTsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvcihpPTA7IGk8MjE7IGkrKykKKyAgICAgICAgZnJvbUJ5dGVzVG9Xb3JkKGRhdGFBc1dvcmRzK2ksIGRhdGErKGkqOCkpOworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nMTM0NGJpdHMoKFVJTlQ2NCopc3RhdGUsIGRhdGFBc1dvcmRzKTsKKyNlbmRpZgorfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIEtlY2Nha0Fic29yYih1bnNpZ25lZCBjaGFyICpzdGF0ZSwgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgdW5zaWduZWQgaW50IGxhbmVDb3VudCkKK3sKKyNpZiAoUExBVEZPUk1fQllURV9PUkRFUiA9PSBJU19MSVRUTEVfRU5ESUFOKQorICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nKChVSU5UNjQqKXN0YXRlLCAoY29uc3QgVUlOVDY0KilkYXRhLCBsYW5lQ291bnQpOworI2Vsc2UKKyAgICBVSU5UNjQgZGF0YUFzV29yZHNbMjVdOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgZm9yKGk9MDsgaTxsYW5lQ291bnQ7IGkrKykKKyAgICAgICAgZnJvbUJ5dGVzVG9Xb3JkKGRhdGFBc1dvcmRzK2ksIGRhdGErKGkqOCkpOworICAgIEtlY2Nha1Blcm11dGF0aW9uT25Xb3Jkc0FmdGVyWG9yaW5nKChVSU5UNjQqKXN0YXRlLCBkYXRhQXNXb3JkcywgbGFuZUNvdW50KTsKKyNlbmRpZgorfQorCisjaWYgKFBMQVRGT1JNX0JZVEVfT1JERVIgPT0gSVNfQklHX0VORElBTikKK3N0YXRpYyB2b2lkIGZyb21Xb3JkVG9CeXRlcyhVSU5UOCAqYnl0ZXMsIGNvbnN0IFVJTlQ2NCB3b3JkKQoreworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgZm9yKGk9MDsgaTwoNjQvOCk7IGkrKykKKyAgICAgICAgYnl0ZXNbaV0gPSAod29yZCA+PiAoOCppKSkgJiAweEZGOworfQorI2VuZGlmCisKKworI2lmZGVmIFByb3ZpZGVGYXN0MTAyNAorc3RhdGljIHZvaWQgS2VjY2FrRXh0cmFjdDEwMjRiaXRzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0YXRlLCB1bnNpZ25lZCBjaGFyICpkYXRhKQoreworI2lmIChQTEFURk9STV9CWVRFX09SREVSID09IElTX0xJVFRMRV9FTkRJQU4pCisgICAgbWVtY3B5KGRhdGEsIHN0YXRlLCAxMjgpOworI2Vsc2UKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvcihpPTA7IGk8MTY7IGkrKykKKyAgICAgICAgZnJvbVdvcmRUb0J5dGVzKGRhdGErKGkqOCksICgoY29uc3QgVUlOVDY0KilzdGF0ZSlbaV0pOworI2VuZGlmCisjaWZkZWYgVXNlQmViaWdva2ltaXNhCisgICAgKChVSU5UNjQqKWRhdGEpWyAxXSA9IH4oKFVJTlQ2NCopZGF0YSlbIDFdOworICAgICgoVUlOVDY0KilkYXRhKVsgMl0gPSB+KChVSU5UNjQqKWRhdGEpWyAyXTsKKyAgICAoKFVJTlQ2NCopZGF0YSlbIDhdID0gfigoVUlOVDY0KilkYXRhKVsgOF07CisgICAgKChVSU5UNjQqKWRhdGEpWzEyXSA9IH4oKFVJTlQ2NCopZGF0YSlbMTJdOworI2VuZGlmCit9CisjZW5kaWYKKworc3RhdGljIHZvaWQgS2VjY2FrRXh0cmFjdChjb25zdCB1bnNpZ25lZCBjaGFyICpzdGF0ZSwgdW5zaWduZWQgY2hhciAqZGF0YSwgdW5zaWduZWQgaW50IGxhbmVDb3VudCkKK3sKKyNpZiAoUExBVEZPUk1fQllURV9PUkRFUiA9PSBJU19MSVRUTEVfRU5ESUFOKQorICAgIG1lbWNweShkYXRhLCBzdGF0ZSwgbGFuZUNvdW50KjgpOworI2Vsc2UKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvcihpPTA7IGk8bGFuZUNvdW50OyBpKyspCisgICAgICAgIGZyb21Xb3JkVG9CeXRlcyhkYXRhKyhpKjgpLCAoKGNvbnN0IFVJTlQ2NCopc3RhdGUpW2ldKTsKKyNlbmRpZgorI2lmZGVmIFVzZUJlYmlnb2tpbWlzYQorICAgIGlmIChsYW5lQ291bnQgPiAxKSB7CisgICAgICAgICgoVUlOVDY0KilkYXRhKVsgMV0gPSB+KChVSU5UNjQqKWRhdGEpWyAxXTsKKyAgICAgICAgaWYgKGxhbmVDb3VudCA+IDIpIHsKKyAgICAgICAgICAgICgoVUlOVDY0KilkYXRhKVsgMl0gPSB+KChVSU5UNjQqKWRhdGEpWyAyXTsKKyAgICAgICAgICAgIGlmIChsYW5lQ291bnQgPiA4KSB7CisgICAgICAgICAgICAgICAgKChVSU5UNjQqKWRhdGEpWyA4XSA9IH4oKFVJTlQ2NCopZGF0YSlbIDhdOworICAgICAgICAgICAgICAgIGlmIChsYW5lQ291bnQgPiAxMikgeworICAgICAgICAgICAgICAgICAgICAoKFVJTlQ2NCopZGF0YSlbMTJdID0gfigoVUlOVDY0KilkYXRhKVsxMl07CisgICAgICAgICAgICAgICAgICAgIGlmIChsYW5lQ291bnQgPiAxNykgeworICAgICAgICAgICAgICAgICAgICAgICAgKChVSU5UNjQqKWRhdGEpWzE3XSA9IH4oKFVJTlQ2NCopZGF0YSlbMTddOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhbmVDb3VudCA+IDIwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChVSU5UNjQqKWRhdGEpWzIwXSA9IH4oKFVJTlQ2NCopZGF0YSlbMjBdOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorI2VuZGlmCit9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtc2ltZDEyOC5tYWNyb3MgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtc2ltZDEyOC5tYWNyb3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThlNDdmNQotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC1zaW1kMTI4Lm1hY3JvcwpAQCAtMCwwICsxLDY1MSBAQAorLyoKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNkZWZpbmUgZGVjbGFyZUFCQ0RFIFwKKyAgICBWNjQ2NCBBYmFnZSwgQWJlZ2ksIEFiaWdvLCBBYm9ndSwgQWJ1Z2E7IFwKKyAgICBWNjQ2NCBBa2FtZSwgQWtlbWksIEFraW1vLCBBa29tdSwgQWt1bWE7IFwKKyAgICBWNjQ2NCBBYmFlLCBBYmlvLCBBZ2FlLCBBZ2lvLCBBa2FlLCBBa2lvLCBBbWFlLCBBbWlvLCBBc2FlLCBBc2lvOyBcCisgICAgVjY0IEFiYSwgQWJlLCBBYmksIEFibywgQWJ1OyBcCisgICAgVjY0IEFnYSwgQWdlLCBBZ2ksIEFnbywgQWd1OyBcCisgICAgVjY0IEFrYSwgQWtlLCBBa2ksIEFrbywgQWt1OyBcCisgICAgVjY0IEFtYSwgQW1lLCBBbWksIEFtbywgQW11OyBcCisgICAgVjY0IEFzYSwgQXNlLCBBc2ksIEFzbywgQXN1OyBcCisgICAgVjEyOCBCYmFnZSwgQmJlZ2ksIEJiaWdvLCBCYm9ndSwgQmJ1Z2E7IFwKKyAgICBWMTI4IEJrYW1lLCBCa2VtaSwgQmtpbW8sIEJrb211LCBCa3VtYTsgXAorICAgIFY2NCBCYmEsIEJiZSwgQmJpLCBCYm8sIEJidTsgXAorICAgIFY2NCBCZ2EsIEJnZSwgQmdpLCBCZ28sIEJndTsgXAorICAgIFY2NCBCa2EsIEJrZSwgQmtpLCBCa28sIEJrdTsgXAorICAgIFY2NCBCbWEsIEJtZSwgQm1pLCBCbW8sIEJtdTsgXAorICAgIFY2NCBCc2EsIEJzZSwgQnNpLCBCc28sIEJzdTsgXAorICAgIFYxMjggQ2FlLCBDZWksIENpbywgQ291LCBDdWEsIERlaSwgRG91OyBcCisgICAgVjY0IENhLCBDZSwgQ2ksIENvLCBDdTsgXAorICAgIFY2NCBEYSwgRGUsIERpLCBEbywgRHU7IFwKKyAgICBWNjQ2NCBFYmFnZSwgRWJlZ2ksIEViaWdvLCBFYm9ndSwgRWJ1Z2E7IFwKKyAgICBWNjQ2NCBFa2FtZSwgRWtlbWksIEVraW1vLCBFa29tdSwgRWt1bWE7IFwKKyAgICBWNjQgRWJhLCBFYmUsIEViaSwgRWJvLCBFYnU7IFwKKyAgICBWNjQgRWdhLCBFZ2UsIEVnaSwgRWdvLCBFZ3U7IFwKKyAgICBWNjQgRWthLCBFa2UsIEVraSwgRWtvLCBFa3U7IFwKKyAgICBWNjQgRW1hLCBFbWUsIEVtaSwgRW1vLCBFbXU7IFwKKyAgICBWNjQgRXNhLCBFc2UsIEVzaSwgRXNvLCBFc3U7IFwKKyAgICBWMTI4IFplcm87CisKKyNkZWZpbmUgcHJlcGFyZVRoZXRhCisKKyNkZWZpbmUgY29tcHV0ZUQgXAorICAgIEN1YSA9IEdFVDY0TE9MTyhDdSwgQ2FlKTsgXAorICAgIERlaSA9IFhPUjEyOChDYWUsIFJPTDY0aW4xMjgoQ2lvLCAxKSk7IFwKKyAgICBEb3UgPSBYT1IxMjgoQ2lvLCBST0w2NGluMTI4KEN1YSwgMSkpOyBcCisgICAgRGEgPSBYT1I2NChDdSwgUk9MNjRpbjEyOChDT1BZNjRISTJMTyhDYWUpLCAxKSk7IFwKKyAgICBEZSA9IERlaTsgXAorICAgIERpID0gQ09QWTY0SEkyTE8oRGVpKTsgXAorICAgIERvID0gRG91OyBcCisgICAgRHUgPSBDT1BZNjRISTJMTyhEb3UpOworCisvKiAgLS0tIFRoZXRhIFJobyBQaSBDaGkgSW90YSBQcmVwYXJlLXRoZXRhICovCisvKiAgLS0tIDY0LWJpdCBsYW5lcyBtYXBwZWQgdG8gNjQtYml0IGFuZCAxMjgtYml0IHdvcmRzICovCisjZGVmaW5lIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGksIEEsIEUpIFwKKyAgICBjb21wdXRlRCBcCisgICAgXAorICAgIEEjI2JhID0gTE9BRDY0KEEjI2JhZ2UudjY0WzBdKTsgXAorICAgIFhPUmVxNjQoQSMjYmEsIERhKTsgXAorICAgIEJiYSA9IEEjI2JhOyBcCisgICAgWE9SZXE2NChBIyNndSwgRHUpOyBcCisgICAgQmdlID0gUk9MNjQoQSMjZ3UsIDIwKTsgXAorICAgIEJiYWdlID0gR0VUNjRMT0xPKEJiYSwgQmdlKTsgXAorICAgIEEjI2dlID0gTE9BRDY0KEEjI2JhZ2UudjY0WzFdKTsgXAorICAgIFhPUmVxNjQoQSMjZ2UsIERlKTsgXAorICAgIEJiZSA9IFJPTDY0KEEjI2dlLCA0NCk7IFwKKyAgICBBIyNrYSA9IExPQUQ2NChBIyNrYW1lLnY2NFswXSk7IFwKKyAgICBYT1JlcTY0KEEjI2thLCBEYSk7IFwKKyAgICBCZ2kgPSBST0w2NChBIyNrYSwgMyk7IFwKKyAgICBCYmVnaSA9IEdFVDY0TE9MTyhCYmUsIEJnaSk7IFwKKyAgICBYT1JlcTY0KEEjI2tpLCBEaSk7IFwKKyAgICBCYmkgPSBST0w2NChBIyNraSwgNDMpOyBcCisgICAgQSMjbWUgPSBMT0FENjQoQSMja2FtZS52NjRbMV0pOyBcCisgICAgWE9SZXE2NChBIyNtZSwgRGUpOyBcCisgICAgQmdvID0gUk9MNjQoQSMjbWUsIDQ1KTsgXAorICAgIEJiaWdvID0gR0VUNjRMT0xPKEJiaSwgQmdvKTsgXAorICAgIEUjI2JhZ2UudjEyOCA9IFhPUjEyOChCYmFnZSwgQU5EbnUxMjgoQmJlZ2ksIEJiaWdvKSk7IFwKKyAgICBYT1JlcTEyOChFIyNiYWdlLnYxMjgsIENPTlNUNjQoS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c1tpXSkpOyBcCisgICAgQ2FlID0gRSMjYmFnZS52MTI4OyBcCisgICAgWE9SZXE2NChBIyNtbywgRG8pOyBcCisgICAgQmJvID0gUk9MNjQoQSMjbW8sIDIxKTsgXAorICAgIFhPUmVxNjQoQSMjc2ksIERpKTsgXAorICAgIEJndSA9IFJPTDY0KEEjI3NpLCA2MSk7IFwKKyAgICBCYm9ndSA9IEdFVDY0TE9MTyhCYm8sIEJndSk7IFwKKyAgICBFIyNiZWdpLnYxMjggPSBYT1IxMjgoQmJlZ2ksIEFORG51MTI4KEJiaWdvLCBCYm9ndSkpOyBcCisgICAgQ2VpID0gRSMjYmVnaS52MTI4OyBcCisgICAgWE9SZXE2NChBIyNzdSwgRHUpOyBcCisgICAgQmJ1ID0gUk9MNjQoQSMjc3UsIDE0KTsgXAorICAgIFhPUmVxNjQoQSMjYm8sIERvKTsgXAorICAgIEJnYSA9IFJPTDY0KEEjI2JvLCAyOCk7IFwKKyAgICBCYnVnYSA9IEdFVDY0TE9MTyhCYnUsIEJnYSk7IFwKKyAgICBFIyNiaWdvLnYxMjggPSBYT1IxMjgoQmJpZ28sIEFORG51MTI4KEJib2d1LCBCYnVnYSkpOyBcCisgICAgRSMjYmkgPSBFIyNiaWdvLnYxMjg7IFwKKyAgICBFIyNnbyA9IEdFVDY0SElISShFIyNiaWdvLnYxMjgsIEUjI2JpZ28udjEyOCk7IFwKKyAgICBDaW8gPSBFIyNiaWdvLnYxMjg7IFwKKyAgICBFIyNib2d1LnYxMjggPSBYT1IxMjgoQmJvZ3UsIEFORG51MTI4KEJidWdhLCBCYmFnZSkpOyBcCisgICAgRSMjYm8gPSBFIyNib2d1LnYxMjg7IFwKKyAgICBFIyNndSA9IEdFVDY0SElISShFIyNib2d1LnYxMjgsIEUjI2JvZ3UudjEyOCk7IFwKKyAgICBDb3UgPSBFIyNib2d1LnYxMjg7IFwKKyAgICBFIyNidWdhLnYxMjggPSBYT1IxMjgoQmJ1Z2EsIEFORG51MTI4KEJiYWdlLCBCYmVnaSkpOyBcCisgICAgRSMjYnUgPSBFIyNidWdhLnYxMjg7IFwKKyAgICBFIyNnYSA9IEdFVDY0SElISShFIyNidWdhLnYxMjgsIEUjI2J1Z2EudjEyOCk7IFwKKyAgICBDdWEgPSBFIyNidWdhLnYxMjg7IFwKK1wKKyAgICBBIyNiZSA9IExPQUQ2NChBIyNiZWdpLnY2NFswXSk7IFwKKyAgICBYT1JlcTY0KEEjI2JlLCBEZSk7IFwKKyAgICBCa2EgPSBST0w2NChBIyNiZSwgMSk7IFwKKyAgICBYT1JlcTY0KEEjI2dhLCBEYSk7IFwKKyAgICBCbWUgPSBST0w2NChBIyNnYSwgMzYpOyBcCisgICAgQmthbWUgPSBHRVQ2NExPTE8oQmthLCBCbWUpOyBcCisgICAgQSMjZ2kgPSBMT0FENjQoQSMjYmVnaS52NjRbMV0pOyBcCisgICAgWE9SZXE2NChBIyNnaSwgRGkpOyBcCisgICAgQmtlID0gUk9MNjQoQSMjZ2ksIDYpOyBcCisgICAgQSMja2UgPSBMT0FENjQoQSMja2VtaS52NjRbMF0pOyBcCisgICAgWE9SZXE2NChBIyNrZSwgRGUpOyBcCisgICAgQm1pID0gUk9MNjQoQSMja2UsIDEwKTsgXAorICAgIEJrZW1pID0gR0VUNjRMT0xPKEJrZSwgQm1pKTsgXAorICAgIFhPUmVxNjQoQSMja28sIERvKTsgXAorICAgIEJraSA9IFJPTDY0KEEjI2tvLCAyNSk7IFwKKyAgICBBIyNtaSA9IExPQUQ2NChBIyNrZW1pLnY2NFsxXSk7IFwKKyAgICBYT1JlcTY0KEEjI21pLCBEaSk7IFwKKyAgICBCbW8gPSBST0w2NChBIyNtaSwgMTUpOyBcCisgICAgQmtpbW8gPSBHRVQ2NExPTE8oQmtpLCBCbW8pOyBcCisgICAgRSMja2FtZS52MTI4ID0gWE9SMTI4KEJrYW1lLCBBTkRudTEyOChCa2VtaSwgQmtpbW8pKTsgXAorICAgIFhPUmVxMTI4KENhZSwgRSMja2FtZS52MTI4KTsgXAorICAgIEJrb211ID0gR0VUNjRMT0xPKFhPUjY0KEEjI211LCBEdSksIFhPUjY0KEEjI3NvLCBEbykpOyBcCisgICAgQmtvbXUgPSBTSFVGRkxFQllURVMxMjgoQmtvbXUsIENPTlNUMTI4KHJobzhfNTYpKTsgXAorICAgIEUjI2tlbWkudjEyOCA9IFhPUjEyOChCa2VtaSwgQU5EbnUxMjgoQmtpbW8sIEJrb211KSk7IFwKKyAgICBYT1JlcTEyOChDZWksIEUjI2tlbWkudjEyOCk7IFwKKyAgICBYT1JlcTY0KEEjI3NhLCBEYSk7IFwKKyAgICBCa3UgPSBST0w2NChBIyNzYSwgMTgpOyBcCisgICAgWE9SZXE2NChBIyNidSwgRHUpOyBcCisgICAgQm1hID0gUk9MNjQoQSMjYnUsIDI3KTsgXAorICAgIEJrdW1hID0gR0VUNjRMT0xPKEJrdSwgQm1hKTsgXAorICAgIEUjI2tpbW8udjEyOCA9IFhPUjEyOChCa2ltbywgQU5EbnUxMjgoQmtvbXUsIEJrdW1hKSk7IFwKKyAgICBFIyNraSA9IEUjI2tpbW8udjEyODsgXAorICAgIEUjI21vID0gR0VUNjRISUhJKEUjI2tpbW8udjEyOCwgRSMja2ltby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgRSMja2ltby52MTI4KTsgXAorICAgIEUjI2tvbXUudjEyOCA9IFhPUjEyOChCa29tdSwgQU5EbnUxMjgoQmt1bWEsIEJrYW1lKSk7IFwKKyAgICBFIyNrbyA9IEUjI2tvbXUudjEyODsgXAorICAgIEUjI211ID0gR0VUNjRISUhJKEUjI2tvbXUudjEyOCwgRSMja29tdS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENvdSwgRSMja29tdS52MTI4KTsgXAorICAgIEUjI2t1bWEudjEyOCA9IFhPUjEyOChCa3VtYSwgQU5EbnUxMjgoQmthbWUsIEJrZW1pKSk7IFwKKyAgICBFIyNrdSA9IEUjI2t1bWEudjEyODsgXAorICAgIEUjI21hID0gR0VUNjRISUhJKEUjI2t1bWEudjEyOCwgRSMja3VtYS52MTI4KTsgXAorICAgIFhPUmVxMTI4KEN1YSwgRSMja3VtYS52MTI4KTsgXAorXAorICAgIFhPUmVxNjQoQSMjYmksIERpKTsgXAorICAgIEJzYSA9IFJPTDY0KEEjI2JpLCA2Mik7IFwKKyAgICBYT1JlcTY0KEEjI2dvLCBEbyk7IFwKKyAgICBCc2UgPSBST0w2NChBIyNnbywgNTUpOyBcCisgICAgWE9SZXE2NChBIyNrdSwgRHUpOyBcCisgICAgQnNpID0gUk9MNjQoQSMja3UsIDM5KTsgXAorICAgIEUjI3NhID0gWE9SNjQoQnNhLCBBTkRudTY0KEJzZSwgQnNpKSk7IFwKKyAgICBDYSA9IEUjI3NhOyBcCisgICAgWE9SZXE2NChBIyNtYSwgRGEpOyBcCisgICAgQnNvID0gUk9MNjQoQSMjbWEsIDQxKTsgXAorICAgIEUjI3NlID0gWE9SNjQoQnNlLCBBTkRudTY0KEJzaSwgQnNvKSk7IFwKKyAgICBDZSA9IEUjI3NlOyBcCisgICAgWE9SZXExMjgoQ2FlLCBHRVQ2NExPTE8oQ2EsIENlKSk7IFwKKyAgICBYT1JlcTY0KEEjI3NlLCBEZSk7IFwKKyAgICBCc3UgPSBST0w2NChBIyNzZSwgMik7IFwKKyAgICBFIyNzaSA9IFhPUjY0KEJzaSwgQU5EbnU2NChCc28sIEJzdSkpOyBcCisgICAgQ2kgPSBFIyNzaTsgXAorICAgIEUjI3NvID0gWE9SNjQoQnNvLCBBTkRudTY0KEJzdSwgQnNhKSk7IFwKKyAgICBDbyA9IEUjI3NvOyBcCisgICAgWE9SZXExMjgoQ2lvLCBHRVQ2NExPTE8oQ2ksIENvKSk7IFwKKyAgICBFIyNzdSA9IFhPUjY0KEJzdSwgQU5EbnU2NChCc2EsIEJzZSkpOyBcCisgICAgQ3UgPSBFIyNzdTsgXAorXAorICAgIFplcm8gPSBaRVJPMTI4KCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIEdFVDY0SElISShDdWEsIFplcm8pKTsgXAorICAgIFhPUmVxMTI4KENhZSwgR0VUNjRMT0xPKFplcm8sIENlaSkpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBHRVQ2NEhJSEkoQ2VpLCBaZXJvKSk7IFwKKyAgICBYT1JlcTEyOChDaW8sIEdFVDY0TE9MTyhaZXJvLCBDb3UpKTsgXAorICAgIFhPUmVxMTI4KEN1YSwgR0VUNjRISUhJKENvdSwgWmVybykpOyBcCisgICAgWE9SZXE2NChDdSwgQ3VhKTsgXAorCisvKiAgLS0tIFRoZXRhIFJobyBQaSBDaGkgSW90YSAqLworLyogIC0tLSA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDY0LWJpdCBhbmQgMTI4LWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YShpLCBBLCBFKSB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpLCBBLCBFKQorCitzdGF0aWMgY29uc3QgVUlOVDY0IEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNbMjRdID0geworICAgIDB4MDAwMDAwMDAwMDAwMDAwMVVMTCwKKyAgICAweDAwMDAwMDAwMDAwMDgwODJVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDhhVUxMLAorICAgIDB4ODAwMDAwMDA4MDAwODAwMFVMTCwKKyAgICAweDAwMDAwMDAwMDAwMDgwOGJVTEwsCisgICAgMHgwMDAwMDAwMDgwMDAwMDAxVUxMLAorICAgIDB4ODAwMDAwMDA4MDAwODA4MVVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwMDlVTEwsCisgICAgMHgwMDAwMDAwMDAwMDAwMDhhVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwMDA4OFVMTCwKKyAgICAweDAwMDAwMDAwODAwMDgwMDlVTEwsCisgICAgMHgwMDAwMDAwMDgwMDAwMDBhVUxMLAorICAgIDB4MDAwMDAwMDA4MDAwODA4YlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDAwOGJVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDg5VUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODAwM1VMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwMDJVTEwsCisgICAgMHg4MDAwMDAwMDAwMDAwMDgwVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwODAwYVVMTCwKKyAgICAweDgwMDAwMDAwODAwMDAwMGFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDgxVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODA4MFVMTCwKKyAgICAweDAwMDAwMDAwODAwMDAwMDFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDA4VUxMIH07CisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjU3NmJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmFlLnYxMjggPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMF0pLCBMT0FEMTI4dShpbnB1dFsgMF0pKTsgXAorICAgIFgjI2JhID0gWCMjYmFlLnYxMjg7IFwKKyAgICBYIyNiZSA9IEdFVDY0SElISShYIyNiYWUudjEyOCwgWCMjYmFlLnYxMjgpOyBcCisgICAgQ2FlID0gWCMjYmFlLnYxMjg7IFwKKyAgICBYIyNiaW8udjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAyXSksIExPQUQxMjh1KGlucHV0WyAyXSkpOyBcCisgICAgWCMjYmkgPSBYIyNiaW8udjEyODsgXAorICAgIFgjI2JvID0gR0VUNjRISUhJKFgjI2Jpby52MTI4LCBYIyNiaW8udjEyOCk7IFwKKyAgICBDaW8gPSBYIyNiaW8udjEyODsgXAorICAgIFgjI2J1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA0XSksIExPQUQ2NChpbnB1dFsgNF0pKTsgXAorICAgIEN1ID0gWCMjYnU7IFwKKyAgICBYIyNnYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsgNV0pLCBMT0FEMTI4dShpbnB1dFsgNV0pKTsgXAorICAgIFgjI2dhID0gWCMjZ2FlLnYxMjg7IFwKKyAgICBYIyNnZSA9IEdFVDY0SElISShYIyNnYWUudjEyOCwgWCMjZ2FlLnYxMjgpOyBcCisgICAgWCMjYmFnZS52MTI4ID0gR0VUNjRMT0xPKFgjI2JhLCBYIyNnZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2dhZS52MTI4KTsgXAorICAgIFgjI2dpby52MTI4ID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA3XSksIExPQUQxMjh1KGlucHV0WyA3XSkpOyBcCisgICAgWCMjZ2kgPSBYIyNnaW8udjEyODsgXAorICAgIFgjI2JlZ2kudjEyOCA9IEdFVDY0TE9MTyhYIyNiZSwgWCMjZ2kpOyBcCisgICAgWCMjZ28gPSBHRVQ2NEhJSEkoWCMjZ2lvLnYxMjgsIFgjI2dpby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjZ2lvLnYxMjgpOyBcCisgICAgWCMjZ3UgPSBMT0FENjQoc3RhdGVbIDldKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI2d1KTsgXAorICAgIFgjI2thZS52MTI4ID0gTE9BRDEyOChzdGF0ZVsxMF0pOyBcCisgICAgWCMja2EgPSBYIyNrYWUudjEyODsgXAorICAgIFgjI2tlID0gR0VUNjRISUhJKFgjI2thZS52MTI4LCBYIyNrYWUudjEyOCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZS52MTI4KTsgXAorICAgIFgjI2tpby52MTI4ID0gTE9BRDEyOChzdGF0ZVsxMl0pOyBcCisgICAgWCMja2kgPSBYIyNraW8udjEyODsgXAorICAgIFgjI2tvID0gR0VUNjRISUhJKFgjI2tpby52MTI4LCBYIyNraW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2tpby52MTI4KTsgXAorICAgIFgjI2t1ID0gTE9BRDY0KHN0YXRlWzE0XSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNrdSk7IFwKKyAgICBYIyNtYWUudjEyOCA9IExPQUQxMjh1KHN0YXRlWzE1XSk7IFwKKyAgICBYIyNtYSA9IFgjI21hZS52MTI4OyBcCisgICAgWCMjbWUgPSBHRVQ2NEhJSEkoWCMjbWFlLnYxMjgsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI2thbWUudjEyOCA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNtYWUudjEyOCk7IFwKKyAgICBYIyNtaW8udjEyOCA9IExPQUQxMjh1KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtaSA9IFgjI21pby52MTI4OyBcCisgICAgWCMja2VtaS52MTI4ID0gR0VUNjRMT0xPKFgjI2tlLCBYIyNtaSk7IFwKKyAgICBYIyNtbyA9IEdFVDY0SElISShYIyNtaW8udjEyOCwgWCMjbWlvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNtaW8udjEyOCk7IFwKKyAgICBYIyNtdSA9IExPQUQ2NChzdGF0ZVsxOV0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjbXUpOyBcCisgICAgWCMjc2FlLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzYSA9IFgjI3NhZS52MTI4OyBcCisgICAgWCMjc2UgPSBHRVQ2NEhJSEkoWCMjc2FlLnYxMjgsIFgjI3NhZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FlLnYxMjgpOyBcCisgICAgWCMjc2lvLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzaSA9IFgjI3Npby52MTI4OyBcCisgICAgWCMjc28gPSBHRVQ2NEhJSEkoWCMjc2lvLnYxMjgsIFgjI3Npby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjc2lvLnYxMjgpOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI3N1KTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3I4MzJiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhZS52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDBdKSwgTE9BRDEyOHUoaW5wdXRbIDBdKSk7IFwKKyAgICBYIyNiYSA9IFgjI2JhZS52MTI4OyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLnYxMjgsIFgjI2JhZS52MTI4KTsgXAorICAgIENhZSA9IFgjI2JhZS52MTI4OyBcCisgICAgWCMjYmlvLnYxMjggPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMl0pLCBMT0FEMTI4dShpbnB1dFsgMl0pKTsgXAorICAgIFgjI2JpID0gWCMjYmlvLnYxMjg7IFwKKyAgICBYIyNibyA9IEdFVDY0SElISShYIyNiaW8udjEyOCwgWCMjYmlvLnYxMjgpOyBcCisgICAgQ2lvID0gWCMjYmlvLnYxMjg7IFwKKyAgICBYIyNidSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNF0pLCBMT0FENjQoaW5wdXRbIDRdKSk7IFwKKyAgICBDdSA9IFgjI2J1OyBcCisgICAgWCMjZ2FlLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDVdKSwgTE9BRDEyOHUoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnYSA9IFgjI2dhZS52MTI4OyBcCisgICAgWCMjZ2UgPSBHRVQ2NEhJSEkoWCMjZ2FlLnYxMjgsIFgjI2dhZS52MTI4KTsgXAorICAgIFgjI2JhZ2UudjEyOCA9IEdFVDY0TE9MTyhYIyNiYSwgWCMjZ2UpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNnYWUudjEyOCk7IFwKKyAgICBYIyNnaW8udjEyOCA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsgN10pLCBMT0FEMTI4dShpbnB1dFsgN10pKTsgXAorICAgIFgjI2dpID0gWCMjZ2lvLnYxMjg7IFwKKyAgICBYIyNiZWdpLnYxMjggPSBHRVQ2NExPTE8oWCMjYmUsIFgjI2dpKTsgXAorICAgIFgjI2dvID0gR0VUNjRISUhJKFgjI2dpby52MTI4LCBYIyNnaW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2dpby52MTI4KTsgXAorICAgIFgjI2d1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA5XSksIExPQUQ2NChpbnB1dFsgOV0pKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI2d1KTsgXAorICAgIFgjI2thZS52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTBdKSwgTE9BRDEyOHUoaW5wdXRbMTBdKSk7IFwKKyAgICBYIyNrYSA9IFgjI2thZS52MTI4OyBcCisgICAgWCMja2UgPSBHRVQ2NEhJSEkoWCMja2FlLnYxMjgsIFgjI2thZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMja2FlLnYxMjgpOyBcCisgICAgWCMja2lvLnYxMjggPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxMl0pLCBMT0FENjQoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNraSA9IFgjI2tpby52MTI4OyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLnYxMjgsIFgjI2tpby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvLnYxMjgpOyBcCisgICAgWCMja3UgPSBMT0FENjQoc3RhdGVbMTRdKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI2t1KTsgXAorICAgIFgjI21hZS52MTI4ID0gTE9BRDEyOHUoc3RhdGVbMTVdKTsgXAorICAgIFgjI21hID0gWCMjbWFlLnYxMjg7IFwKKyAgICBYIyNtZSA9IEdFVDY0SElISShYIyNtYWUudjEyOCwgWCMjbWFlLnYxMjgpOyBcCisgICAgWCMja2FtZS52MTI4ID0gR0VUNjRMT0xPKFgjI2thLCBYIyNtZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI21pby52MTI4ID0gTE9BRDEyOHUoc3RhdGVbMTddKTsgXAorICAgIFgjI21pID0gWCMjbWlvLnYxMjg7IFwKKyAgICBYIyNrZW1pLnYxMjggPSBHRVQ2NExPTE8oWCMja2UsIFgjI21pKTsgXAorICAgIFgjI21vID0gR0VUNjRISUhJKFgjI21pby52MTI4LCBYIyNtaW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI21pby52MTI4KTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNtdSk7IFwKKyAgICBYIyNzYWUudjEyOCA9IExPQUQxMjgoc3RhdGVbMjBdKTsgXAorICAgIFgjI3NhID0gWCMjc2FlLnYxMjg7IFwKKyAgICBYIyNzZSA9IEdFVDY0SElISShYIyNzYWUudjEyOCwgWCMjc2FlLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNzYWUudjEyOCk7IFwKKyAgICBYIyNzaW8udjEyOCA9IExPQUQxMjgoc3RhdGVbMjJdKTsgXAorICAgIFgjI3NpID0gWCMjc2lvLnYxMjg7IFwKKyAgICBYIyNzbyA9IEdFVDY0SElISShYIyNzaW8udjEyOCwgWCMjc2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNzaW8udjEyOCk7IFwKKyAgICBYIyNzdSA9IExPQUQ2NChzdGF0ZVsyNF0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwMjRiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhZS52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDBdKSwgTE9BRDEyOHUoaW5wdXRbIDBdKSk7IFwKKyAgICBYIyNiYSA9IFgjI2JhZS52MTI4OyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLnYxMjgsIFgjI2JhZS52MTI4KTsgXAorICAgIENhZSA9IFgjI2JhZS52MTI4OyBcCisgICAgWCMjYmlvLnYxMjggPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMl0pLCBMT0FEMTI4dShpbnB1dFsgMl0pKTsgXAorICAgIFgjI2JpID0gWCMjYmlvLnYxMjg7IFwKKyAgICBYIyNibyA9IEdFVDY0SElISShYIyNiaW8udjEyOCwgWCMjYmlvLnYxMjgpOyBcCisgICAgQ2lvID0gWCMjYmlvLnYxMjg7IFwKKyAgICBYIyNidSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNF0pLCBMT0FENjQoaW5wdXRbIDRdKSk7IFwKKyAgICBDdSA9IFgjI2J1OyBcCisgICAgWCMjZ2FlLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDVdKSwgTE9BRDEyOHUoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnYSA9IFgjI2dhZS52MTI4OyBcCisgICAgWCMjZ2UgPSBHRVQ2NEhJSEkoWCMjZ2FlLnYxMjgsIFgjI2dhZS52MTI4KTsgXAorICAgIFgjI2JhZ2UudjEyOCA9IEdFVDY0TE9MTyhYIyNiYSwgWCMjZ2UpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNnYWUudjEyOCk7IFwKKyAgICBYIyNnaW8udjEyOCA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsgN10pLCBMT0FEMTI4dShpbnB1dFsgN10pKTsgXAorICAgIFgjI2dpID0gWCMjZ2lvLnYxMjg7IFwKKyAgICBYIyNiZWdpLnYxMjggPSBHRVQ2NExPTE8oWCMjYmUsIFgjI2dpKTsgXAorICAgIFgjI2dvID0gR0VUNjRISUhJKFgjI2dpby52MTI4LCBYIyNnaW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2dpby52MTI4KTsgXAorICAgIFgjI2d1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA5XSksIExPQUQ2NChpbnB1dFsgOV0pKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI2d1KTsgXAorICAgIFgjI2thZS52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTBdKSwgTE9BRDEyOHUoaW5wdXRbMTBdKSk7IFwKKyAgICBYIyNrYSA9IFgjI2thZS52MTI4OyBcCisgICAgWCMja2UgPSBHRVQ2NEhJSEkoWCMja2FlLnYxMjgsIFgjI2thZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMja2FlLnYxMjgpOyBcCisgICAgWCMja2lvLnYxMjggPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxMl0pLCBMT0FEMTI4dShpbnB1dFsxMl0pKTsgXAorICAgIFgjI2tpID0gWCMja2lvLnYxMjg7IFwKKyAgICBYIyNrbyA9IEdFVDY0SElISShYIyNraW8udjEyOCwgWCMja2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNraW8udjEyOCk7IFwKKyAgICBYIyNrdSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNF0pLCBMT0FENjQoaW5wdXRbMTRdKSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNrdSk7IFwKKyAgICBYIyNtYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsxNV0pLCBMT0FENjQoaW5wdXRbMTVdKSk7IFwKKyAgICBYIyNtYSA9IFgjI21hZS52MTI4OyBcCisgICAgWCMjbWUgPSBHRVQ2NEhJSEkoWCMjbWFlLnYxMjgsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI2thbWUudjEyOCA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNtYWUudjEyOCk7IFwKKyAgICBYIyNtaW8udjEyOCA9IExPQUQxMjh1KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtaSA9IFgjI21pby52MTI4OyBcCisgICAgWCMja2VtaS52MTI4ID0gR0VUNjRMT0xPKFgjI2tlLCBYIyNtaSk7IFwKKyAgICBYIyNtbyA9IEdFVDY0SElISShYIyNtaW8udjEyOCwgWCMjbWlvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNtaW8udjEyOCk7IFwKKyAgICBYIyNtdSA9IExPQUQ2NChzdGF0ZVsxOV0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjbXUpOyBcCisgICAgWCMjc2FlLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzYSA9IFgjI3NhZS52MTI4OyBcCisgICAgWCMjc2UgPSBHRVQ2NEhJSEkoWCMjc2FlLnYxMjgsIFgjI3NhZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FlLnYxMjgpOyBcCisgICAgWCMjc2lvLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzaSA9IFgjI3Npby52MTI4OyBcCisgICAgWCMjc28gPSBHRVQ2NEhJSEkoWCMjc2lvLnYxMjgsIFgjI3Npby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjc2lvLnYxMjgpOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI3N1KTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3IxMDg4Yml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAwXSksIExPQUQxMjh1KGlucHV0WyAwXSkpOyBcCisgICAgWCMjYmEgPSBYIyNiYWUudjEyODsgXAorICAgIFgjI2JlID0gR0VUNjRISUhJKFgjI2JhZS52MTI4LCBYIyNiYWUudjEyOCk7IFwKKyAgICBDYWUgPSBYIyNiYWUudjEyODsgXAorICAgIFgjI2Jpby52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDJdKSwgTE9BRDEyOHUoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNiaSA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYm8gPSBHRVQ2NEhJSEkoWCMjYmlvLnYxMjgsIFgjI2Jpby52MTI4KTsgXAorICAgIENpbyA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYnUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDRdKSwgTE9BRDY0KGlucHV0WyA0XSkpOyBcCisgICAgQ3UgPSBYIyNidTsgXAorICAgIFgjI2dhZS52MTI4ID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA1XSksIExPQUQxMjh1KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2EgPSBYIyNnYWUudjEyODsgXAorICAgIFgjI2dlID0gR0VUNjRISUhJKFgjI2dhZS52MTI4LCBYIyNnYWUudjEyOCk7IFwKKyAgICBYIyNiYWdlLnYxMjggPSBHRVQ2NExPTE8oWCMjYmEsIFgjI2dlKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjZ2FlLnYxMjgpOyBcCisgICAgWCMjZ2lvLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDddKSwgTE9BRDEyOHUoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpby52MTI4OyBcCisgICAgWCMjYmVnaS52MTI4ID0gR0VUNjRMT0xPKFgjI2JlLCBYIyNnaSk7IFwKKyAgICBYIyNnbyA9IEdFVDY0SElISShYIyNnaW8udjEyOCwgWCMjZ2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNnaW8udjEyOCk7IFwKKyAgICBYIyNndSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOV0pLCBMT0FENjQoaW5wdXRbIDldKSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNndSk7IFwKKyAgICBYIyNrYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzEwXSksIExPQUQxMjh1KGlucHV0WzEwXSkpOyBcCisgICAgWCMja2EgPSBYIyNrYWUudjEyODsgXAorICAgIFgjI2tlID0gR0VUNjRISUhJKFgjI2thZS52MTI4LCBYIyNrYWUudjEyOCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZS52MTI4KTsgXAorICAgIFgjI2tpby52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTJdKSwgTE9BRDEyOHUoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNraSA9IFgjI2tpby52MTI4OyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLnYxMjgsIFgjI2tpby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvLnYxMjgpOyBcCisgICAgWCMja3UgPSBYT1I2NChMT0FENjQoc3RhdGVbMTRdKSwgTE9BRDY0KGlucHV0WzE0XSkpOyBcCisgICAgWE9SZXE2NChDdSwgWCMja3UpOyBcCisgICAgWCMjbWFlLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbMTVdKSwgTE9BRDEyOHUoaW5wdXRbMTVdKSk7IFwKKyAgICBYIyNtYSA9IFgjI21hZS52MTI4OyBcCisgICAgWCMjbWUgPSBHRVQ2NEhJSEkoWCMjbWFlLnYxMjgsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI2thbWUudjEyOCA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNtYWUudjEyOCk7IFwKKyAgICBYIyNtaW8udjEyOCA9IExPQUQxMjh1KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtaSA9IFgjI21pby52MTI4OyBcCisgICAgWCMja2VtaS52MTI4ID0gR0VUNjRMT0xPKFgjI2tlLCBYIyNtaSk7IFwKKyAgICBYIyNtbyA9IEdFVDY0SElISShYIyNtaW8udjEyOCwgWCMjbWlvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNtaW8udjEyOCk7IFwKKyAgICBYIyNtdSA9IExPQUQ2NChzdGF0ZVsxOV0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjbXUpOyBcCisgICAgWCMjc2FlLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzYSA9IFgjI3NhZS52MTI4OyBcCisgICAgWCMjc2UgPSBHRVQ2NEhJSEkoWCMjc2FlLnYxMjgsIFgjI3NhZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FlLnYxMjgpOyBcCisgICAgWCMjc2lvLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzaSA9IFgjI3Npby52MTI4OyBcCisgICAgWCMjc28gPSBHRVQ2NEhJSEkoWCMjc2lvLnYxMjgsIFgjI3Npby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjc2lvLnYxMjgpOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI3N1KTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3IxMTUyYml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAwXSksIExPQUQxMjh1KGlucHV0WyAwXSkpOyBcCisgICAgWCMjYmEgPSBYIyNiYWUudjEyODsgXAorICAgIFgjI2JlID0gR0VUNjRISUhJKFgjI2JhZS52MTI4LCBYIyNiYWUudjEyOCk7IFwKKyAgICBDYWUgPSBYIyNiYWUudjEyODsgXAorICAgIFgjI2Jpby52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDJdKSwgTE9BRDEyOHUoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNiaSA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYm8gPSBHRVQ2NEhJSEkoWCMjYmlvLnYxMjgsIFgjI2Jpby52MTI4KTsgXAorICAgIENpbyA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYnUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDRdKSwgTE9BRDY0KGlucHV0WyA0XSkpOyBcCisgICAgQ3UgPSBYIyNidTsgXAorICAgIFgjI2dhZS52MTI4ID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA1XSksIExPQUQxMjh1KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2EgPSBYIyNnYWUudjEyODsgXAorICAgIFgjI2dlID0gR0VUNjRISUhJKFgjI2dhZS52MTI4LCBYIyNnYWUudjEyOCk7IFwKKyAgICBYIyNiYWdlLnYxMjggPSBHRVQ2NExPTE8oWCMjYmEsIFgjI2dlKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjZ2FlLnYxMjgpOyBcCisgICAgWCMjZ2lvLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDddKSwgTE9BRDEyOHUoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpby52MTI4OyBcCisgICAgWCMjYmVnaS52MTI4ID0gR0VUNjRMT0xPKFgjI2JlLCBYIyNnaSk7IFwKKyAgICBYIyNnbyA9IEdFVDY0SElISShYIyNnaW8udjEyOCwgWCMjZ2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNnaW8udjEyOCk7IFwKKyAgICBYIyNndSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOV0pLCBMT0FENjQoaW5wdXRbIDldKSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNndSk7IFwKKyAgICBYIyNrYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzEwXSksIExPQUQxMjh1KGlucHV0WzEwXSkpOyBcCisgICAgWCMja2EgPSBYIyNrYWUudjEyODsgXAorICAgIFgjI2tlID0gR0VUNjRISUhJKFgjI2thZS52MTI4LCBYIyNrYWUudjEyOCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZS52MTI4KTsgXAorICAgIFgjI2tpby52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTJdKSwgTE9BRDEyOHUoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNraSA9IFgjI2tpby52MTI4OyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLnYxMjgsIFgjI2tpby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvLnYxMjgpOyBcCisgICAgWCMja3UgPSBYT1I2NChMT0FENjQoc3RhdGVbMTRdKSwgTE9BRDY0KGlucHV0WzE0XSkpOyBcCisgICAgWE9SZXE2NChDdSwgWCMja3UpOyBcCisgICAgWCMjbWFlLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbMTVdKSwgTE9BRDEyOHUoaW5wdXRbMTVdKSk7IFwKKyAgICBYIyNtYSA9IFgjI21hZS52MTI4OyBcCisgICAgWCMjbWUgPSBHRVQ2NEhJSEkoWCMjbWFlLnYxMjgsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI2thbWUudjEyOCA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNtYWUudjEyOCk7IFwKKyAgICBYIyNtaW8udjEyOCA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsxN10pLCBMT0FENjQoaW5wdXRbMTddKSk7IFwKKyAgICBYIyNtaSA9IFgjI21pby52MTI4OyBcCisgICAgWCMja2VtaS52MTI4ID0gR0VUNjRMT0xPKFgjI2tlLCBYIyNtaSk7IFwKKyAgICBYIyNtbyA9IEdFVDY0SElISShYIyNtaW8udjEyOCwgWCMjbWlvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNtaW8udjEyOCk7IFwKKyAgICBYIyNtdSA9IExPQUQ2NChzdGF0ZVsxOV0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjbXUpOyBcCisgICAgWCMjc2FlLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzYSA9IFgjI3NhZS52MTI4OyBcCisgICAgWCMjc2UgPSBHRVQ2NEhJSEkoWCMjc2FlLnYxMjgsIFgjI3NhZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FlLnYxMjgpOyBcCisgICAgWCMjc2lvLnYxMjggPSBMT0FEMTI4KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzaSA9IFgjI3Npby52MTI4OyBcCisgICAgWCMjc28gPSBHRVQ2NEhJSEkoWCMjc2lvLnYxMjgsIFgjI3Npby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjc2lvLnYxMjgpOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI3N1KTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3IxMzQ0Yml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAwXSksIExPQUQxMjh1KGlucHV0WyAwXSkpOyBcCisgICAgWCMjYmEgPSBYIyNiYWUudjEyODsgXAorICAgIFgjI2JlID0gR0VUNjRISUhJKFgjI2JhZS52MTI4LCBYIyNiYWUudjEyOCk7IFwKKyAgICBDYWUgPSBYIyNiYWUudjEyODsgXAorICAgIFgjI2Jpby52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDJdKSwgTE9BRDEyOHUoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNiaSA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYm8gPSBHRVQ2NEhJSEkoWCMjYmlvLnYxMjgsIFgjI2Jpby52MTI4KTsgXAorICAgIENpbyA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYnUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDRdKSwgTE9BRDY0KGlucHV0WyA0XSkpOyBcCisgICAgQ3UgPSBYIyNidTsgXAorICAgIFgjI2dhZS52MTI4ID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA1XSksIExPQUQxMjh1KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2EgPSBYIyNnYWUudjEyODsgXAorICAgIFgjI2dlID0gR0VUNjRISUhJKFgjI2dhZS52MTI4LCBYIyNnYWUudjEyOCk7IFwKKyAgICBYIyNiYWdlLnYxMjggPSBHRVQ2NExPTE8oWCMjYmEsIFgjI2dlKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjZ2FlLnYxMjgpOyBcCisgICAgWCMjZ2lvLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDddKSwgTE9BRDEyOHUoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpby52MTI4OyBcCisgICAgWCMjYmVnaS52MTI4ID0gR0VUNjRMT0xPKFgjI2JlLCBYIyNnaSk7IFwKKyAgICBYIyNnbyA9IEdFVDY0SElISShYIyNnaW8udjEyOCwgWCMjZ2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNnaW8udjEyOCk7IFwKKyAgICBYIyNndSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOV0pLCBMT0FENjQoaW5wdXRbIDldKSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNndSk7IFwKKyAgICBYIyNrYWUudjEyOCA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzEwXSksIExPQUQxMjh1KGlucHV0WzEwXSkpOyBcCisgICAgWCMja2EgPSBYIyNrYWUudjEyODsgXAorICAgIFgjI2tlID0gR0VUNjRISUhJKFgjI2thZS52MTI4LCBYIyNrYWUudjEyOCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZS52MTI4KTsgXAorICAgIFgjI2tpby52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTJdKSwgTE9BRDEyOHUoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNraSA9IFgjI2tpby52MTI4OyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLnYxMjgsIFgjI2tpby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvLnYxMjgpOyBcCisgICAgWCMja3UgPSBYT1I2NChMT0FENjQoc3RhdGVbMTRdKSwgTE9BRDY0KGlucHV0WzE0XSkpOyBcCisgICAgWE9SZXE2NChDdSwgWCMja3UpOyBcCisgICAgWCMjbWFlLnYxMjggPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbMTVdKSwgTE9BRDEyOHUoaW5wdXRbMTVdKSk7IFwKKyAgICBYIyNtYSA9IFgjI21hZS52MTI4OyBcCisgICAgWCMjbWUgPSBHRVQ2NEhJSEkoWCMjbWFlLnYxMjgsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI2thbWUudjEyOCA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNtYWUudjEyOCk7IFwKKyAgICBYIyNtaW8udjEyOCA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsxN10pLCBMT0FEMTI4dShpbnB1dFsxN10pKTsgXAorICAgIFgjI21pID0gWCMjbWlvLnYxMjg7IFwKKyAgICBYIyNrZW1pLnYxMjggPSBHRVQ2NExPTE8oWCMja2UsIFgjI21pKTsgXAorICAgIFgjI21vID0gR0VUNjRISUhJKFgjI21pby52MTI4LCBYIyNtaW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI21pby52MTI4KTsgXAorICAgIFgjI211ID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE5XSksIExPQUQ2NChpbnB1dFsxOV0pKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI211KTsgXAorICAgIFgjI3NhZS52MTI4ID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMjBdKSwgTE9BRDY0KGlucHV0WzIwXSkpOyBcCisgICAgWCMjc2EgPSBYIyNzYWUudjEyODsgXAorICAgIFgjI3NlID0gR0VUNjRISUhJKFgjI3NhZS52MTI4LCBYIyNzYWUudjEyOCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI3NhZS52MTI4KTsgXAorICAgIFgjI3Npby52MTI4ID0gTE9BRDEyOChzdGF0ZVsyMl0pOyBcCisgICAgWCMjc2kgPSBYIyNzaW8udjEyODsgXAorICAgIFgjI3NvID0gR0VUNjRISUhJKFgjI3Npby52MTI4LCBYIyNzaW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI3Npby52MTI4KTsgXAorICAgIFgjI3N1ID0gTE9BRDY0KHN0YXRlWzI0XSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNzdSk7IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlKFgsIHN0YXRlKSBcCisgICAgWCMjYmFlLnYxMjggPSBMT0FEMTI4KHN0YXRlWyAwXSk7IFwKKyAgICBYIyNiYSA9IFgjI2JhZS52MTI4OyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLnYxMjgsIFgjI2JhZS52MTI4KTsgXAorICAgIENhZSA9IFgjI2JhZS52MTI4OyBcCisgICAgWCMjYmlvLnYxMjggPSBMT0FEMTI4KHN0YXRlWyAyXSk7IFwKKyAgICBYIyNiaSA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYm8gPSBHRVQ2NEhJSEkoWCMjYmlvLnYxMjgsIFgjI2Jpby52MTI4KTsgXAorICAgIENpbyA9IFgjI2Jpby52MTI4OyBcCisgICAgWCMjYnUgPSBMT0FENjQoc3RhdGVbIDRdKTsgXAorICAgIEN1ID0gWCMjYnU7IFwKKyAgICBYIyNnYWUudjEyOCA9IExPQUQxMjh1KHN0YXRlWyA1XSk7IFwKKyAgICBYIyNnYSA9IFgjI2dhZS52MTI4OyBcCisgICAgWCMjZ2UgPSBHRVQ2NEhJSEkoWCMjZ2FlLnYxMjgsIFgjI2dhZS52MTI4KTsgXAorICAgIFgjI2JhZ2UudjEyOCA9IEdFVDY0TE9MTyhYIyNiYSwgWCMjZ2UpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNnYWUudjEyOCk7IFwKKyAgICBYIyNnaW8udjEyOCA9IExPQUQxMjh1KHN0YXRlWyA3XSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpby52MTI4OyBcCisgICAgWCMjYmVnaS52MTI4ID0gR0VUNjRMT0xPKFgjI2JlLCBYIyNnaSk7IFwKKyAgICBYIyNnbyA9IEdFVDY0SElISShYIyNnaW8udjEyOCwgWCMjZ2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNnaW8udjEyOCk7IFwKKyAgICBYIyNndSA9IExPQUQ2NChzdGF0ZVsgOV0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjZ3UpOyBcCisgICAgWCMja2FlLnYxMjggPSBMT0FEMTI4KHN0YXRlWzEwXSk7IFwKKyAgICBYIyNrYSA9IFgjI2thZS52MTI4OyBcCisgICAgWCMja2UgPSBHRVQ2NEhJSEkoWCMja2FlLnYxMjgsIFgjI2thZS52MTI4KTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMja2FlLnYxMjgpOyBcCisgICAgWCMja2lvLnYxMjggPSBMT0FEMTI4KHN0YXRlWzEyXSk7IFwKKyAgICBYIyNraSA9IFgjI2tpby52MTI4OyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLnYxMjgsIFgjI2tpby52MTI4KTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvLnYxMjgpOyBcCisgICAgWCMja3UgPSBMT0FENjQoc3RhdGVbMTRdKTsgXAorICAgIFhPUmVxNjQoQ3UsIFgjI2t1KTsgXAorICAgIFgjI21hZS52MTI4ID0gTE9BRDEyOHUoc3RhdGVbMTVdKTsgXAorICAgIFgjI21hID0gWCMjbWFlLnYxMjg7IFwKKyAgICBYIyNtZSA9IEdFVDY0SElISShYIyNtYWUudjEyOCwgWCMjbWFlLnYxMjgpOyBcCisgICAgWCMja2FtZS52MTI4ID0gR0VUNjRMT0xPKFgjI2thLCBYIyNtZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI21hZS52MTI4KTsgXAorICAgIFgjI21pby52MTI4ID0gTE9BRDEyOHUoc3RhdGVbMTddKTsgXAorICAgIFgjI21pID0gWCMjbWlvLnYxMjg7IFwKKyAgICBYIyNrZW1pLnYxMjggPSBHRVQ2NExPTE8oWCMja2UsIFgjI21pKTsgXAorICAgIFgjI21vID0gR0VUNjRISUhJKFgjI21pby52MTI4LCBYIyNtaW8udjEyOCk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI21pby52MTI4KTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYT1JlcTY0KEN1LCBYIyNtdSk7IFwKKyAgICBYIyNzYWUudjEyOCA9IExPQUQxMjgoc3RhdGVbMjBdKTsgXAorICAgIFgjI3NhID0gWCMjc2FlLnYxMjg7IFwKKyAgICBYIyNzZSA9IEdFVDY0SElISShYIyNzYWUudjEyOCwgWCMjc2FlLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNzYWUudjEyOCk7IFwKKyAgICBYIyNzaW8udjEyOCA9IExPQUQxMjgoc3RhdGVbMjJdKTsgXAorICAgIFgjI3NpID0gWCMjc2lvLnYxMjg7IFwKKyAgICBYIyNzbyA9IEdFVDY0SElISShYIyNzaW8udjEyOCwgWCMjc2lvLnYxMjgpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNzaW8udjEyOCk7IFwKKyAgICBYIyNzdSA9IExPQUQ2NChzdGF0ZVsyNF0pOyBcCisgICAgWE9SZXE2NChDdSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weVRvU3RhdGUoc3RhdGUsIFgpIFwKKyAgICBzdGF0ZVsgMF0gPSBBIyNiYWdlLnY2NFswXTsgXAorICAgIHN0YXRlWyAxXSA9IEEjI2JlZ2kudjY0WzBdOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgMl0sIFgjI2JpKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbIDNdLCBYIyNibyk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyA0XSwgWCMjYnUpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgNV0sIFgjI2dhKTsgXAorICAgIHN0YXRlWyA2XSA9IEEjI2JhZ2UudjY0WzFdOyBcCisgICAgc3RhdGVbIDddID0gQSMjYmVnaS52NjRbMV07IFwKKyAgICBTVE9SRTY0KHN0YXRlWyA4XSwgWCMjZ28pOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgOV0sIFgjI2d1KTsgXAorICAgIHN0YXRlWzEwXSA9IFgjI2thbWUudjY0WzBdOyBcCisgICAgc3RhdGVbMTFdID0gWCMja2VtaS52NjRbMF07IFwKKyAgICBTVE9SRTY0KHN0YXRlWzEyXSwgWCMja2kpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsxM10sIFgjI2tvKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTRdLCBYIyNrdSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzE1XSwgWCMjbWEpOyBcCisgICAgc3RhdGVbMTZdID0gWCMja2FtZS52NjRbMV07IFwKKyAgICBzdGF0ZVsxN10gPSBYIyNrZW1pLnY2NFsxXTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMThdLCBYIyNtbyk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzE5XSwgWCMjbXUpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsyMF0sIFgjI3NhKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMjFdLCBYIyNzZSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzIyXSwgWCMjc2kpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsyM10sIFgjI3NvKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMjRdLCBYIyNzdSk7IFwKKworI2RlZmluZSBjb3B5U3RhdGVWYXJpYWJsZXMoWCwgWSkgXAorICAgIFgjI2JhZ2UgPSBZIyNiYWdlOyBcCisgICAgWCMjYmVnaSA9IFkjI2JlZ2k7IFwKKyAgICBYIyNiaSA9IFkjI2JpOyBcCisgICAgWCMjYm8gPSBZIyNibzsgXAorICAgIFgjI2J1ID0gWSMjYnU7IFwKKyAgICBYIyNnYSA9IFkjI2dhOyBcCisgICAgWCMjZ28gPSBZIyNnbzsgXAorICAgIFgjI2d1ID0gWSMjZ3U7IFwKKyAgICBYIyNrYW1lID0gWSMja2FtZTsgXAorICAgIFgjI2tlbWkgPSBZIyNrZW1pOyBcCisgICAgWCMja2kgPSBZIyNraTsgXAorICAgIFgjI2tvID0gWSMja287IFwKKyAgICBYIyNrdSA9IFkjI2t1OyBcCisgICAgWCMjbWEgPSBZIyNtYTsgXAorICAgIFgjI21vID0gWSMjbW87IFwKKyAgICBYIyNtdSA9IFkjI211OyBcCisgICAgWCMjc2EgPSBZIyNzYTsgXAorICAgIFgjI3NlID0gWSMjc2U7IFwKKyAgICBYIyNzaSA9IFkjI3NpOyBcCisgICAgWCMjc28gPSBZIyNzbzsgXAorICAgIFgjI3N1ID0gWSMjc3U7IFwKKwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLXNpbWQ2NC5tYWNyb3MgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtc2ltZDY0Lm1hY3JvcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmEzMGUyCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrRi0xNjAwLXNpbWQ2NC5tYWNyb3MKQEAgLTAsMCArMSw1MTcgQEAKKy8qCitDb2RlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IEtlY2Nha1Rvb2xzIQorCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgdGhlIGRlc2lnbmVycywKK2hlcmVieSBkZW5vdGVkIGFzICJ0aGUgaW1wbGVtZW50ZXIiLgorCitUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3JpbmcgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGZpbGUuCitodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisqLworCisjZGVmaW5lIGRlY2xhcmVBQkNERSBcCisgICAgVjY0IEFiYSwgQWJlLCBBYmksIEFibywgQWJ1OyBcCisgICAgVjY0IEFnYSwgQWdlLCBBZ2ksIEFnbywgQWd1OyBcCisgICAgVjY0IEFrYSwgQWtlLCBBa2ksIEFrbywgQWt1OyBcCisgICAgVjY0IEFtYSwgQW1lLCBBbWksIEFtbywgQW11OyBcCisgICAgVjY0IEFzYSwgQXNlLCBBc2ksIEFzbywgQXN1OyBcCisgICAgVjY0IEJiYSwgQmJlLCBCYmksIEJibywgQmJ1OyBcCisgICAgVjY0IEJnYSwgQmdlLCBCZ2ksIEJnbywgQmd1OyBcCisgICAgVjY0IEJrYSwgQmtlLCBCa2ksIEJrbywgQmt1OyBcCisgICAgVjY0IEJtYSwgQm1lLCBCbWksIEJtbywgQm11OyBcCisgICAgVjY0IEJzYSwgQnNlLCBCc2ksIEJzbywgQnN1OyBcCisgICAgVjY0IENhLCBDZSwgQ2ksIENvLCBDdTsgXAorICAgIFY2NCBEYSwgRGUsIERpLCBEbywgRHU7IFwKKyAgICBWNjQgRWJhLCBFYmUsIEViaSwgRWJvLCBFYnU7IFwKKyAgICBWNjQgRWdhLCBFZ2UsIEVnaSwgRWdvLCBFZ3U7IFwKKyAgICBWNjQgRWthLCBFa2UsIEVraSwgRWtvLCBFa3U7IFwKKyAgICBWNjQgRW1hLCBFbWUsIEVtaSwgRW1vLCBFbXU7IFwKKyAgICBWNjQgRXNhLCBFc2UsIEVzaSwgRXNvLCBFc3U7IFwKKworI2RlZmluZSBwcmVwYXJlVGhldGEgXAorICAgIENhID0gWE9SNjQoQWJhLCBYT1I2NChBZ2EsIFhPUjY0KEFrYSwgWE9SNjQoQW1hLCBBc2EpKSkpOyBcCisgICAgQ2UgPSBYT1I2NChBYmUsIFhPUjY0KEFnZSwgWE9SNjQoQWtlLCBYT1I2NChBbWUsIEFzZSkpKSk7IFwKKyAgICBDaSA9IFhPUjY0KEFiaSwgWE9SNjQoQWdpLCBYT1I2NChBa2ksIFhPUjY0KEFtaSwgQXNpKSkpKTsgXAorICAgIENvID0gWE9SNjQoQWJvLCBYT1I2NChBZ28sIFhPUjY0KEFrbywgWE9SNjQoQW1vLCBBc28pKSkpOyBcCisgICAgQ3UgPSBYT1I2NChBYnUsIFhPUjY0KEFndSwgWE9SNjQoQWt1LCBYT1I2NChBbXUsIEFzdSkpKSk7IFwKKworLyogIC0tLSBDb2RlIGZvciByb3VuZCwgd2l0aCBwcmVwYXJlLXRoZXRhICovCisvKiAgLS0tIDY0LWJpdCBsYW5lcyBtYXBwZWQgdG8gNjQtYml0IHdvcmRzICovCisjZGVmaW5lIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGksIEEsIEUpIFwKKyAgICBEYSA9IFhPUjY0KEN1LCBST0w2NChDZSwgMSkpOyBcCisgICAgRGUgPSBYT1I2NChDYSwgUk9MNjQoQ2ksIDEpKTsgXAorICAgIERpID0gWE9SNjQoQ2UsIFJPTDY0KENvLCAxKSk7IFwKKyAgICBEbyA9IFhPUjY0KENpLCBST0w2NChDdSwgMSkpOyBcCisgICAgRHUgPSBYT1I2NChDbywgUk9MNjQoQ2EsIDEpKTsgXAorXAorICAgIFhPUmVxNjQoQSMjYmEsIERhKTsgXAorICAgIEJiYSA9IEEjI2JhOyBcCisgICAgWE9SZXE2NChBIyNnZSwgRGUpOyBcCisgICAgQmJlID0gUk9MNjQoQSMjZ2UsIDQ0KTsgXAorICAgIFhPUmVxNjQoQSMja2ksIERpKTsgXAorICAgIEJiaSA9IFJPTDY0KEEjI2tpLCA0Myk7IFwKKyAgICBFIyNiYSA9IFhPUjY0KEJiYSwgQU5EbnU2NChCYmUsIEJiaSkpOyBcCisgICAgWE9SZXE2NChFIyNiYSwgQ09OU1Q2NChLZWNjYWtGMTYwMFJvdW5kQ29uc3RhbnRzW2ldKSk7IFwKKyAgICBDYSA9IEUjI2JhOyBcCisgICAgWE9SZXE2NChBIyNtbywgRG8pOyBcCisgICAgQmJvID0gUk9MNjQoQSMjbW8sIDIxKTsgXAorICAgIEUjI2JlID0gWE9SNjQoQmJlLCBBTkRudTY0KEJiaSwgQmJvKSk7IFwKKyAgICBDZSA9IEUjI2JlOyBcCisgICAgWE9SZXE2NChBIyNzdSwgRHUpOyBcCisgICAgQmJ1ID0gUk9MNjQoQSMjc3UsIDE0KTsgXAorICAgIEUjI2JpID0gWE9SNjQoQmJpLCBBTkRudTY0KEJibywgQmJ1KSk7IFwKKyAgICBDaSA9IEUjI2JpOyBcCisgICAgRSMjYm8gPSBYT1I2NChCYm8sIEFORG51NjQoQmJ1LCBCYmEpKTsgXAorICAgIENvID0gRSMjYm87IFwKKyAgICBFIyNidSA9IFhPUjY0KEJidSwgQU5EbnU2NChCYmEsIEJiZSkpOyBcCisgICAgQ3UgPSBFIyNidTsgXAorXAorICAgIFhPUmVxNjQoQSMjYm8sIERvKTsgXAorICAgIEJnYSA9IFJPTDY0KEEjI2JvLCAyOCk7IFwKKyAgICBYT1JlcTY0KEEjI2d1LCBEdSk7IFwKKyAgICBCZ2UgPSBST0w2NChBIyNndSwgMjApOyBcCisgICAgWE9SZXE2NChBIyNrYSwgRGEpOyBcCisgICAgQmdpID0gUk9MNjQoQSMja2EsIDMpOyBcCisgICAgRSMjZ2EgPSBYT1I2NChCZ2EsIEFORG51NjQoQmdlLCBCZ2kpKTsgXAorICAgIFhPUmVxNjQoQ2EsIEUjI2dhKTsgXAorICAgIFhPUmVxNjQoQSMjbWUsIERlKTsgXAorICAgIEJnbyA9IFJPTDY0KEEjI21lLCA0NSk7IFwKKyAgICBFIyNnZSA9IFhPUjY0KEJnZSwgQU5EbnU2NChCZ2ksIEJnbykpOyBcCisgICAgWE9SZXE2NChDZSwgRSMjZ2UpOyBcCisgICAgWE9SZXE2NChBIyNzaSwgRGkpOyBcCisgICAgQmd1ID0gUk9MNjQoQSMjc2ksIDYxKTsgXAorICAgIEUjI2dpID0gWE9SNjQoQmdpLCBBTkRudTY0KEJnbywgQmd1KSk7IFwKKyAgICBYT1JlcTY0KENpLCBFIyNnaSk7IFwKKyAgICBFIyNnbyA9IFhPUjY0KEJnbywgQU5EbnU2NChCZ3UsIEJnYSkpOyBcCisgICAgWE9SZXE2NChDbywgRSMjZ28pOyBcCisgICAgRSMjZ3UgPSBYT1I2NChCZ3UsIEFORG51NjQoQmdhLCBCZ2UpKTsgXAorICAgIFhPUmVxNjQoQ3UsIEUjI2d1KTsgXAorXAorICAgIFhPUmVxNjQoQSMjYmUsIERlKTsgXAorICAgIEJrYSA9IFJPTDY0KEEjI2JlLCAxKTsgXAorICAgIFhPUmVxNjQoQSMjZ2ksIERpKTsgXAorICAgIEJrZSA9IFJPTDY0KEEjI2dpLCA2KTsgXAorICAgIFhPUmVxNjQoQSMja28sIERvKTsgXAorICAgIEJraSA9IFJPTDY0KEEjI2tvLCAyNSk7IFwKKyAgICBFIyNrYSA9IFhPUjY0KEJrYSwgQU5EbnU2NChCa2UsIEJraSkpOyBcCisgICAgWE9SZXE2NChDYSwgRSMja2EpOyBcCisgICAgWE9SZXE2NChBIyNtdSwgRHUpOyBcCisgICAgQmtvID0gUk9MNjQoQSMjbXUsIDgpOyBcCisgICAgRSMja2UgPSBYT1I2NChCa2UsIEFORG51NjQoQmtpLCBCa28pKTsgXAorICAgIFhPUmVxNjQoQ2UsIEUjI2tlKTsgXAorICAgIFhPUmVxNjQoQSMjc2EsIERhKTsgXAorICAgIEJrdSA9IFJPTDY0KEEjI3NhLCAxOCk7IFwKKyAgICBFIyNraSA9IFhPUjY0KEJraSwgQU5EbnU2NChCa28sIEJrdSkpOyBcCisgICAgWE9SZXE2NChDaSwgRSMja2kpOyBcCisgICAgRSMja28gPSBYT1I2NChCa28sIEFORG51NjQoQmt1LCBCa2EpKTsgXAorICAgIFhPUmVxNjQoQ28sIEUjI2tvKTsgXAorICAgIEUjI2t1ID0gWE9SNjQoQmt1LCBBTkRudTY0KEJrYSwgQmtlKSk7IFwKKyAgICBYT1JlcTY0KEN1LCBFIyNrdSk7IFwKK1wKKyAgICBYT1JlcTY0KEEjI2J1LCBEdSk7IFwKKyAgICBCbWEgPSBST0w2NChBIyNidSwgMjcpOyBcCisgICAgWE9SZXE2NChBIyNnYSwgRGEpOyBcCisgICAgQm1lID0gUk9MNjQoQSMjZ2EsIDM2KTsgXAorICAgIFhPUmVxNjQoQSMja2UsIERlKTsgXAorICAgIEJtaSA9IFJPTDY0KEEjI2tlLCAxMCk7IFwKKyAgICBFIyNtYSA9IFhPUjY0KEJtYSwgQU5EbnU2NChCbWUsIEJtaSkpOyBcCisgICAgWE9SZXE2NChDYSwgRSMjbWEpOyBcCisgICAgWE9SZXE2NChBIyNtaSwgRGkpOyBcCisgICAgQm1vID0gUk9MNjQoQSMjbWksIDE1KTsgXAorICAgIEUjI21lID0gWE9SNjQoQm1lLCBBTkRudTY0KEJtaSwgQm1vKSk7IFwKKyAgICBYT1JlcTY0KENlLCBFIyNtZSk7IFwKKyAgICBYT1JlcTY0KEEjI3NvLCBEbyk7IFwKKyAgICBCbXUgPSBST0w2NChBIyNzbywgNTYpOyBcCisgICAgRSMjbWkgPSBYT1I2NChCbWksIEFORG51NjQoQm1vLCBCbXUpKTsgXAorICAgIFhPUmVxNjQoQ2ksIEUjI21pKTsgXAorICAgIEUjI21vID0gWE9SNjQoQm1vLCBBTkRudTY0KEJtdSwgQm1hKSk7IFwKKyAgICBYT1JlcTY0KENvLCBFIyNtbyk7IFwKKyAgICBFIyNtdSA9IFhPUjY0KEJtdSwgQU5EbnU2NChCbWEsIEJtZSkpOyBcCisgICAgWE9SZXE2NChDdSwgRSMjbXUpOyBcCitcCisgICAgWE9SZXE2NChBIyNiaSwgRGkpOyBcCisgICAgQnNhID0gUk9MNjQoQSMjYmksIDYyKTsgXAorICAgIFhPUmVxNjQoQSMjZ28sIERvKTsgXAorICAgIEJzZSA9IFJPTDY0KEEjI2dvLCA1NSk7IFwKKyAgICBYT1JlcTY0KEEjI2t1LCBEdSk7IFwKKyAgICBCc2kgPSBST0w2NChBIyNrdSwgMzkpOyBcCisgICAgRSMjc2EgPSBYT1I2NChCc2EsIEFORG51NjQoQnNlLCBCc2kpKTsgXAorICAgIFhPUmVxNjQoQ2EsIEUjI3NhKTsgXAorICAgIFhPUmVxNjQoQSMjbWEsIERhKTsgXAorICAgIEJzbyA9IFJPTDY0KEEjI21hLCA0MSk7IFwKKyAgICBFIyNzZSA9IFhPUjY0KEJzZSwgQU5EbnU2NChCc2ksIEJzbykpOyBcCisgICAgWE9SZXE2NChDZSwgRSMjc2UpOyBcCisgICAgWE9SZXE2NChBIyNzZSwgRGUpOyBcCisgICAgQnN1ID0gUk9MNjQoQSMjc2UsIDIpOyBcCisgICAgRSMjc2kgPSBYT1I2NChCc2ksIEFORG51NjQoQnNvLCBCc3UpKTsgXAorICAgIFhPUmVxNjQoQ2ksIEUjI3NpKTsgXAorICAgIEUjI3NvID0gWE9SNjQoQnNvLCBBTkRudTY0KEJzdSwgQnNhKSk7IFwKKyAgICBYT1JlcTY0KENvLCBFIyNzbyk7IFwKKyAgICBFIyNzdSA9IFhPUjY0KEJzdSwgQU5EbnU2NChCc2EsIEJzZSkpOyBcCisgICAgWE9SZXE2NChDdSwgRSMjc3UpOyBcCitcCisKKy8qICAtLS0gQ29kZSBmb3Igcm91bmQgKi8KKy8qICAtLS0gNjQtYml0IGxhbmVzIG1hcHBlZCB0byA2NC1iaXQgd29yZHMgKi8KKyNkZWZpbmUgdGhldGFSaG9QaUNoaUlvdGEoaSwgQSwgRSkgXAorICAgIERhID0gWE9SNjQoQ3UsIFJPTDY0KENlLCAxKSk7IFwKKyAgICBEZSA9IFhPUjY0KENhLCBST0w2NChDaSwgMSkpOyBcCisgICAgRGkgPSBYT1I2NChDZSwgUk9MNjQoQ28sIDEpKTsgXAorICAgIERvID0gWE9SNjQoQ2ksIFJPTDY0KEN1LCAxKSk7IFwKKyAgICBEdSA9IFhPUjY0KENvLCBST0w2NChDYSwgMSkpOyBcCitcCisgICAgWE9SZXE2NChBIyNiYSwgRGEpOyBcCisgICAgQmJhID0gQSMjYmE7IFwKKyAgICBYT1JlcTY0KEEjI2dlLCBEZSk7IFwKKyAgICBCYmUgPSBST0w2NChBIyNnZSwgNDQpOyBcCisgICAgWE9SZXE2NChBIyNraSwgRGkpOyBcCisgICAgQmJpID0gUk9MNjQoQSMja2ksIDQzKTsgXAorICAgIEUjI2JhID0gWE9SNjQoQmJhLCBBTkRudTY0KEJiZSwgQmJpKSk7IFwKKyAgICBYT1JlcTY0KEUjI2JhLCBDT05TVDY0KEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNbaV0pKTsgXAorICAgIFhPUmVxNjQoQSMjbW8sIERvKTsgXAorICAgIEJibyA9IFJPTDY0KEEjI21vLCAyMSk7IFwKKyAgICBFIyNiZSA9IFhPUjY0KEJiZSwgQU5EbnU2NChCYmksIEJibykpOyBcCisgICAgWE9SZXE2NChBIyNzdSwgRHUpOyBcCisgICAgQmJ1ID0gUk9MNjQoQSMjc3UsIDE0KTsgXAorICAgIEUjI2JpID0gWE9SNjQoQmJpLCBBTkRudTY0KEJibywgQmJ1KSk7IFwKKyAgICBFIyNibyA9IFhPUjY0KEJibywgQU5EbnU2NChCYnUsIEJiYSkpOyBcCisgICAgRSMjYnUgPSBYT1I2NChCYnUsIEFORG51NjQoQmJhLCBCYmUpKTsgXAorXAorICAgIFhPUmVxNjQoQSMjYm8sIERvKTsgXAorICAgIEJnYSA9IFJPTDY0KEEjI2JvLCAyOCk7IFwKKyAgICBYT1JlcTY0KEEjI2d1LCBEdSk7IFwKKyAgICBCZ2UgPSBST0w2NChBIyNndSwgMjApOyBcCisgICAgWE9SZXE2NChBIyNrYSwgRGEpOyBcCisgICAgQmdpID0gUk9MNjQoQSMja2EsIDMpOyBcCisgICAgRSMjZ2EgPSBYT1I2NChCZ2EsIEFORG51NjQoQmdlLCBCZ2kpKTsgXAorICAgIFhPUmVxNjQoQSMjbWUsIERlKTsgXAorICAgIEJnbyA9IFJPTDY0KEEjI21lLCA0NSk7IFwKKyAgICBFIyNnZSA9IFhPUjY0KEJnZSwgQU5EbnU2NChCZ2ksIEJnbykpOyBcCisgICAgWE9SZXE2NChBIyNzaSwgRGkpOyBcCisgICAgQmd1ID0gUk9MNjQoQSMjc2ksIDYxKTsgXAorICAgIEUjI2dpID0gWE9SNjQoQmdpLCBBTkRudTY0KEJnbywgQmd1KSk7IFwKKyAgICBFIyNnbyA9IFhPUjY0KEJnbywgQU5EbnU2NChCZ3UsIEJnYSkpOyBcCisgICAgRSMjZ3UgPSBYT1I2NChCZ3UsIEFORG51NjQoQmdhLCBCZ2UpKTsgXAorXAorICAgIFhPUmVxNjQoQSMjYmUsIERlKTsgXAorICAgIEJrYSA9IFJPTDY0KEEjI2JlLCAxKTsgXAorICAgIFhPUmVxNjQoQSMjZ2ksIERpKTsgXAorICAgIEJrZSA9IFJPTDY0KEEjI2dpLCA2KTsgXAorICAgIFhPUmVxNjQoQSMja28sIERvKTsgXAorICAgIEJraSA9IFJPTDY0KEEjI2tvLCAyNSk7IFwKKyAgICBFIyNrYSA9IFhPUjY0KEJrYSwgQU5EbnU2NChCa2UsIEJraSkpOyBcCisgICAgWE9SZXE2NChBIyNtdSwgRHUpOyBcCisgICAgQmtvID0gUk9MNjQoQSMjbXUsIDgpOyBcCisgICAgRSMja2UgPSBYT1I2NChCa2UsIEFORG51NjQoQmtpLCBCa28pKTsgXAorICAgIFhPUmVxNjQoQSMjc2EsIERhKTsgXAorICAgIEJrdSA9IFJPTDY0KEEjI3NhLCAxOCk7IFwKKyAgICBFIyNraSA9IFhPUjY0KEJraSwgQU5EbnU2NChCa28sIEJrdSkpOyBcCisgICAgRSMja28gPSBYT1I2NChCa28sIEFORG51NjQoQmt1LCBCa2EpKTsgXAorICAgIEUjI2t1ID0gWE9SNjQoQmt1LCBBTkRudTY0KEJrYSwgQmtlKSk7IFwKK1wKKyAgICBYT1JlcTY0KEEjI2J1LCBEdSk7IFwKKyAgICBCbWEgPSBST0w2NChBIyNidSwgMjcpOyBcCisgICAgWE9SZXE2NChBIyNnYSwgRGEpOyBcCisgICAgQm1lID0gUk9MNjQoQSMjZ2EsIDM2KTsgXAorICAgIFhPUmVxNjQoQSMja2UsIERlKTsgXAorICAgIEJtaSA9IFJPTDY0KEEjI2tlLCAxMCk7IFwKKyAgICBFIyNtYSA9IFhPUjY0KEJtYSwgQU5EbnU2NChCbWUsIEJtaSkpOyBcCisgICAgWE9SZXE2NChBIyNtaSwgRGkpOyBcCisgICAgQm1vID0gUk9MNjQoQSMjbWksIDE1KTsgXAorICAgIEUjI21lID0gWE9SNjQoQm1lLCBBTkRudTY0KEJtaSwgQm1vKSk7IFwKKyAgICBYT1JlcTY0KEEjI3NvLCBEbyk7IFwKKyAgICBCbXUgPSBST0w2NChBIyNzbywgNTYpOyBcCisgICAgRSMjbWkgPSBYT1I2NChCbWksIEFORG51NjQoQm1vLCBCbXUpKTsgXAorICAgIEUjI21vID0gWE9SNjQoQm1vLCBBTkRudTY0KEJtdSwgQm1hKSk7IFwKKyAgICBFIyNtdSA9IFhPUjY0KEJtdSwgQU5EbnU2NChCbWEsIEJtZSkpOyBcCitcCisgICAgWE9SZXE2NChBIyNiaSwgRGkpOyBcCisgICAgQnNhID0gUk9MNjQoQSMjYmksIDYyKTsgXAorICAgIFhPUmVxNjQoQSMjZ28sIERvKTsgXAorICAgIEJzZSA9IFJPTDY0KEEjI2dvLCA1NSk7IFwKKyAgICBYT1JlcTY0KEEjI2t1LCBEdSk7IFwKKyAgICBCc2kgPSBST0w2NChBIyNrdSwgMzkpOyBcCisgICAgRSMjc2EgPSBYT1I2NChCc2EsIEFORG51NjQoQnNlLCBCc2kpKTsgXAorICAgIFhPUmVxNjQoQSMjbWEsIERhKTsgXAorICAgIEJzbyA9IFJPTDY0KEEjI21hLCA0MSk7IFwKKyAgICBFIyNzZSA9IFhPUjY0KEJzZSwgQU5EbnU2NChCc2ksIEJzbykpOyBcCisgICAgWE9SZXE2NChBIyNzZSwgRGUpOyBcCisgICAgQnN1ID0gUk9MNjQoQSMjc2UsIDIpOyBcCisgICAgRSMjc2kgPSBYT1I2NChCc2ksIEFORG51NjQoQnNvLCBCc3UpKTsgXAorICAgIEUjI3NvID0gWE9SNjQoQnNvLCBBTkRudTY0KEJzdSwgQnNhKSk7IFwKKyAgICBFIyNzdSA9IFhPUjY0KEJzdSwgQU5EbnU2NChCc2EsIEJzZSkpOyBcCitcCisKK3N0YXRpYyBjb25zdCBVSU5UNjQgS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c1syNF0gPSB7CisgICAgMHgwMDAwMDAwMDAwMDAwMDAxVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwODA4MlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwOGFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDAwVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwODA4YlVMTCwKKyAgICAweDAwMDAwMDAwODAwMDAwMDFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDgxVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODAwOVVMTCwKKyAgICAweDAwMDAwMDAwMDAwMDAwOGFVTEwsCisgICAgMHgwMDAwMDAwMDAwMDAwMDg4VUxMLAorICAgIDB4MDAwMDAwMDA4MDAwODAwOVVMTCwKKyAgICAweDAwMDAwMDAwODAwMDAwMGFVTEwsCisgICAgMHgwMDAwMDAwMDgwMDA4MDhiVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwMDA4YlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwODlVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDAzVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODAwMlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDAwODBVTEwsCisgICAgMHgwMDAwMDAwMDAwMDA4MDBhVUxMLAorICAgIDB4ODAwMDAwMDA4MDAwMDAwYVVMTCwKKyAgICAweDgwMDAwMDAwODAwMDgwODFVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDgwVUxMLAorICAgIDB4MDAwMDAwMDA4MDAwMDAwMVVMTCwKKyAgICAweDgwMDAwMDAwODAwMDgwMDhVTEwgfTsKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yNTc2Yml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMF0pLCBMT0FENjQoaW5wdXRbIDBdKSk7IFwKKyAgICBYIyNiZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMV0pLCBMT0FENjQoaW5wdXRbIDFdKSk7IFwKKyAgICBYIyNiaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMl0pLCBMT0FENjQoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNibyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgM10pLCBMT0FENjQoaW5wdXRbIDNdKSk7IFwKKyAgICBYIyNidSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNF0pLCBMT0FENjQoaW5wdXRbIDRdKSk7IFwKKyAgICBYIyNnYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNV0pLCBMT0FENjQoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNl0pLCBMT0FENjQoaW5wdXRbIDZdKSk7IFwKKyAgICBYIyNnaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgN10pLCBMT0FENjQoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnbyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOF0pLCBMT0FENjQoaW5wdXRbIDhdKSk7IFwKKyAgICBYIyNndSA9IExPQUQ2NChzdGF0ZVsgOV0pOyBcCisgICAgWCMja2EgPSBMT0FENjQoc3RhdGVbMTBdKTsgXAorICAgIFgjI2tlID0gTE9BRDY0KHN0YXRlWzExXSk7IFwKKyAgICBYIyNraSA9IExPQUQ2NChzdGF0ZVsxMl0pOyBcCisgICAgWCMja28gPSBMT0FENjQoc3RhdGVbMTNdKTsgXAorICAgIFgjI2t1ID0gTE9BRDY0KHN0YXRlWzE0XSk7IFwKKyAgICBYIyNtYSA9IExPQUQ2NChzdGF0ZVsxNV0pOyBcCisgICAgWCMjbWUgPSBMT0FENjQoc3RhdGVbMTZdKTsgXAorICAgIFgjI21pID0gTE9BRDY0KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtbyA9IExPQUQ2NChzdGF0ZVsxOF0pOyBcCisgICAgWCMjbXUgPSBMT0FENjQoc3RhdGVbMTldKTsgXAorICAgIFgjI3NhID0gTE9BRDY0KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzZSA9IExPQUQ2NChzdGF0ZVsyMV0pOyBcCisgICAgWCMjc2kgPSBMT0FENjQoc3RhdGVbMjJdKTsgXAorICAgIFgjI3NvID0gTE9BRDY0KHN0YXRlWzIzXSk7IFwKKyAgICBYIyNzdSA9IExPQUQ2NChzdGF0ZVsyNF0pOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjgzMmJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmEgPSBYT1I2NChMT0FENjQoc3RhdGVbIDBdKSwgTE9BRDY0KGlucHV0WyAwXSkpOyBcCisgICAgWCMjYmUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDFdKSwgTE9BRDY0KGlucHV0WyAxXSkpOyBcCisgICAgWCMjYmkgPSBYT1I2NChMT0FENjQoc3RhdGVbIDJdKSwgTE9BRDY0KGlucHV0WyAyXSkpOyBcCisgICAgWCMjYm8gPSBYT1I2NChMT0FENjQoc3RhdGVbIDNdKSwgTE9BRDY0KGlucHV0WyAzXSkpOyBcCisgICAgWCMjYnUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDRdKSwgTE9BRDY0KGlucHV0WyA0XSkpOyBcCisgICAgWCMjZ2EgPSBYT1I2NChMT0FENjQoc3RhdGVbIDVdKSwgTE9BRDY0KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2UgPSBYT1I2NChMT0FENjQoc3RhdGVbIDZdKSwgTE9BRDY0KGlucHV0WyA2XSkpOyBcCisgICAgWCMjZ2kgPSBYT1I2NChMT0FENjQoc3RhdGVbIDddKSwgTE9BRDY0KGlucHV0WyA3XSkpOyBcCisgICAgWCMjZ28gPSBYT1I2NChMT0FENjQoc3RhdGVbIDhdKSwgTE9BRDY0KGlucHV0WyA4XSkpOyBcCisgICAgWCMjZ3UgPSBYT1I2NChMT0FENjQoc3RhdGVbIDldKSwgTE9BRDY0KGlucHV0WyA5XSkpOyBcCisgICAgWCMja2EgPSBYT1I2NChMT0FENjQoc3RhdGVbMTBdKSwgTE9BRDY0KGlucHV0WzEwXSkpOyBcCisgICAgWCMja2UgPSBYT1I2NChMT0FENjQoc3RhdGVbMTFdKSwgTE9BRDY0KGlucHV0WzExXSkpOyBcCisgICAgWCMja2kgPSBYT1I2NChMT0FENjQoc3RhdGVbMTJdKSwgTE9BRDY0KGlucHV0WzEyXSkpOyBcCisgICAgWCMja28gPSBMT0FENjQoc3RhdGVbMTNdKTsgXAorICAgIFgjI2t1ID0gTE9BRDY0KHN0YXRlWzE0XSk7IFwKKyAgICBYIyNtYSA9IExPQUQ2NChzdGF0ZVsxNV0pOyBcCisgICAgWCMjbWUgPSBMT0FENjQoc3RhdGVbMTZdKTsgXAorICAgIFgjI21pID0gTE9BRDY0KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtbyA9IExPQUQ2NChzdGF0ZVsxOF0pOyBcCisgICAgWCMjbXUgPSBMT0FENjQoc3RhdGVbMTldKTsgXAorICAgIFgjI3NhID0gTE9BRDY0KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzZSA9IExPQUQ2NChzdGF0ZVsyMV0pOyBcCisgICAgWCMjc2kgPSBMT0FENjQoc3RhdGVbMjJdKTsgXAorICAgIFgjI3NvID0gTE9BRDY0KHN0YXRlWzIzXSk7IFwKKyAgICBYIyNzdSA9IExPQUQ2NChzdGF0ZVsyNF0pOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwMjRiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAwXSksIExPQUQ2NChpbnB1dFsgMF0pKTsgXAorICAgIFgjI2JlID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAxXSksIExPQUQ2NChpbnB1dFsgMV0pKTsgXAorICAgIFgjI2JpID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAyXSksIExPQUQ2NChpbnB1dFsgMl0pKTsgXAorICAgIFgjI2JvID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAzXSksIExPQUQ2NChpbnB1dFsgM10pKTsgXAorICAgIFgjI2J1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA0XSksIExPQUQ2NChpbnB1dFsgNF0pKTsgXAorICAgIFgjI2dhID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA1XSksIExPQUQ2NChpbnB1dFsgNV0pKTsgXAorICAgIFgjI2dlID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA2XSksIExPQUQ2NChpbnB1dFsgNl0pKTsgXAorICAgIFgjI2dpID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA3XSksIExPQUQ2NChpbnB1dFsgN10pKTsgXAorICAgIFgjI2dvID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA4XSksIExPQUQ2NChpbnB1dFsgOF0pKTsgXAorICAgIFgjI2d1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA5XSksIExPQUQ2NChpbnB1dFsgOV0pKTsgXAorICAgIFgjI2thID0gWE9SNjQoTE9BRDY0KHN0YXRlWzEwXSksIExPQUQ2NChpbnB1dFsxMF0pKTsgXAorICAgIFgjI2tlID0gWE9SNjQoTE9BRDY0KHN0YXRlWzExXSksIExPQUQ2NChpbnB1dFsxMV0pKTsgXAorICAgIFgjI2tpID0gWE9SNjQoTE9BRDY0KHN0YXRlWzEyXSksIExPQUQ2NChpbnB1dFsxMl0pKTsgXAorICAgIFgjI2tvID0gWE9SNjQoTE9BRDY0KHN0YXRlWzEzXSksIExPQUQ2NChpbnB1dFsxM10pKTsgXAorICAgIFgjI2t1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE0XSksIExPQUQ2NChpbnB1dFsxNF0pKTsgXAorICAgIFgjI21hID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE1XSksIExPQUQ2NChpbnB1dFsxNV0pKTsgXAorICAgIFgjI21lID0gTE9BRDY0KHN0YXRlWzE2XSk7IFwKKyAgICBYIyNtaSA9IExPQUQ2NChzdGF0ZVsxN10pOyBcCisgICAgWCMjbW8gPSBMT0FENjQoc3RhdGVbMThdKTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYIyNzYSA9IExPQUQ2NChzdGF0ZVsyMF0pOyBcCisgICAgWCMjc2UgPSBMT0FENjQoc3RhdGVbMjFdKTsgXAorICAgIFgjI3NpID0gTE9BRDY0KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzbyA9IExPQUQ2NChzdGF0ZVsyM10pOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3IxMDg4Yml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMF0pLCBMT0FENjQoaW5wdXRbIDBdKSk7IFwKKyAgICBYIyNiZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMV0pLCBMT0FENjQoaW5wdXRbIDFdKSk7IFwKKyAgICBYIyNiaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMl0pLCBMT0FENjQoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNibyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgM10pLCBMT0FENjQoaW5wdXRbIDNdKSk7IFwKKyAgICBYIyNidSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNF0pLCBMT0FENjQoaW5wdXRbIDRdKSk7IFwKKyAgICBYIyNnYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNV0pLCBMT0FENjQoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNl0pLCBMT0FENjQoaW5wdXRbIDZdKSk7IFwKKyAgICBYIyNnaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgN10pLCBMT0FENjQoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnbyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOF0pLCBMT0FENjQoaW5wdXRbIDhdKSk7IFwKKyAgICBYIyNndSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOV0pLCBMT0FENjQoaW5wdXRbIDldKSk7IFwKKyAgICBYIyNrYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxMF0pLCBMT0FENjQoaW5wdXRbMTBdKSk7IFwKKyAgICBYIyNrZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxMV0pLCBMT0FENjQoaW5wdXRbMTFdKSk7IFwKKyAgICBYIyNraSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxMl0pLCBMT0FENjQoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNrbyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxM10pLCBMT0FENjQoaW5wdXRbMTNdKSk7IFwKKyAgICBYIyNrdSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNF0pLCBMT0FENjQoaW5wdXRbMTRdKSk7IFwKKyAgICBYIyNtYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNV0pLCBMT0FENjQoaW5wdXRbMTVdKSk7IFwKKyAgICBYIyNtZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNl0pLCBMT0FENjQoaW5wdXRbMTZdKSk7IFwKKyAgICBYIyNtaSA9IExPQUQ2NChzdGF0ZVsxN10pOyBcCisgICAgWCMjbW8gPSBMT0FENjQoc3RhdGVbMThdKTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYIyNzYSA9IExPQUQ2NChzdGF0ZVsyMF0pOyBcCisgICAgWCMjc2UgPSBMT0FENjQoc3RhdGVbMjFdKTsgXAorICAgIFgjI3NpID0gTE9BRDY0KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzbyA9IExPQUQ2NChzdGF0ZVsyM10pOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3IxMTUyYml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMF0pLCBMT0FENjQoaW5wdXRbIDBdKSk7IFwKKyAgICBYIyNiZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMV0pLCBMT0FENjQoaW5wdXRbIDFdKSk7IFwKKyAgICBYIyNiaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgMl0pLCBMT0FENjQoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNibyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgM10pLCBMT0FENjQoaW5wdXRbIDNdKSk7IFwKKyAgICBYIyNidSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNF0pLCBMT0FENjQoaW5wdXRbIDRdKSk7IFwKKyAgICBYIyNnYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNV0pLCBMT0FENjQoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNl0pLCBMT0FENjQoaW5wdXRbIDZdKSk7IFwKKyAgICBYIyNnaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgN10pLCBMT0FENjQoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnbyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOF0pLCBMT0FENjQoaW5wdXRbIDhdKSk7IFwKKyAgICBYIyNndSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOV0pLCBMT0FENjQoaW5wdXRbIDldKSk7IFwKKyAgICBYIyNrYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxMF0pLCBMT0FENjQoaW5wdXRbMTBdKSk7IFwKKyAgICBYIyNrZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxMV0pLCBMT0FENjQoaW5wdXRbMTFdKSk7IFwKKyAgICBYIyNraSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxMl0pLCBMT0FENjQoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNrbyA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxM10pLCBMT0FENjQoaW5wdXRbMTNdKSk7IFwKKyAgICBYIyNrdSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNF0pLCBMT0FENjQoaW5wdXRbMTRdKSk7IFwKKyAgICBYIyNtYSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNV0pLCBMT0FENjQoaW5wdXRbMTVdKSk7IFwKKyAgICBYIyNtZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNl0pLCBMT0FENjQoaW5wdXRbMTZdKSk7IFwKKyAgICBYIyNtaSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxN10pLCBMT0FENjQoaW5wdXRbMTddKSk7IFwKKyAgICBYIyNtbyA9IExPQUQ2NChzdGF0ZVsxOF0pOyBcCisgICAgWCMjbXUgPSBMT0FENjQoc3RhdGVbMTldKTsgXAorICAgIFgjI3NhID0gTE9BRDY0KHN0YXRlWzIwXSk7IFwKKyAgICBYIyNzZSA9IExPQUQ2NChzdGF0ZVsyMV0pOyBcCisgICAgWCMjc2kgPSBMT0FENjQoc3RhdGVbMjJdKTsgXAorICAgIFgjI3NvID0gTE9BRDY0KHN0YXRlWzIzXSk7IFwKKyAgICBYIyNzdSA9IExPQUQ2NChzdGF0ZVsyNF0pOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEzNDRiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAwXSksIExPQUQ2NChpbnB1dFsgMF0pKTsgXAorICAgIFgjI2JlID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAxXSksIExPQUQ2NChpbnB1dFsgMV0pKTsgXAorICAgIFgjI2JpID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAyXSksIExPQUQ2NChpbnB1dFsgMl0pKTsgXAorICAgIFgjI2JvID0gWE9SNjQoTE9BRDY0KHN0YXRlWyAzXSksIExPQUQ2NChpbnB1dFsgM10pKTsgXAorICAgIFgjI2J1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA0XSksIExPQUQ2NChpbnB1dFsgNF0pKTsgXAorICAgIFgjI2dhID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA1XSksIExPQUQ2NChpbnB1dFsgNV0pKTsgXAorICAgIFgjI2dlID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA2XSksIExPQUQ2NChpbnB1dFsgNl0pKTsgXAorICAgIFgjI2dpID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA3XSksIExPQUQ2NChpbnB1dFsgN10pKTsgXAorICAgIFgjI2dvID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA4XSksIExPQUQ2NChpbnB1dFsgOF0pKTsgXAorICAgIFgjI2d1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA5XSksIExPQUQ2NChpbnB1dFsgOV0pKTsgXAorICAgIFgjI2thID0gWE9SNjQoTE9BRDY0KHN0YXRlWzEwXSksIExPQUQ2NChpbnB1dFsxMF0pKTsgXAorICAgIFgjI2tlID0gWE9SNjQoTE9BRDY0KHN0YXRlWzExXSksIExPQUQ2NChpbnB1dFsxMV0pKTsgXAorICAgIFgjI2tpID0gWE9SNjQoTE9BRDY0KHN0YXRlWzEyXSksIExPQUQ2NChpbnB1dFsxMl0pKTsgXAorICAgIFgjI2tvID0gWE9SNjQoTE9BRDY0KHN0YXRlWzEzXSksIExPQUQ2NChpbnB1dFsxM10pKTsgXAorICAgIFgjI2t1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE0XSksIExPQUQ2NChpbnB1dFsxNF0pKTsgXAorICAgIFgjI21hID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE1XSksIExPQUQ2NChpbnB1dFsxNV0pKTsgXAorICAgIFgjI21lID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE2XSksIExPQUQ2NChpbnB1dFsxNl0pKTsgXAorICAgIFgjI21pID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE3XSksIExPQUQ2NChpbnB1dFsxN10pKTsgXAorICAgIFgjI21vID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE4XSksIExPQUQ2NChpbnB1dFsxOF0pKTsgXAorICAgIFgjI211ID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE5XSksIExPQUQ2NChpbnB1dFsxOV0pKTsgXAorICAgIFgjI3NhID0gWE9SNjQoTE9BRDY0KHN0YXRlWzIwXSksIExPQUQ2NChpbnB1dFsyMF0pKTsgXAorICAgIFgjI3NlID0gTE9BRDY0KHN0YXRlWzIxXSk7IFwKKyAgICBYIyNzaSA9IExPQUQ2NChzdGF0ZVsyMl0pOyBcCisgICAgWCMjc28gPSBMT0FENjQoc3RhdGVbMjNdKTsgXAorICAgIFgjI3N1ID0gTE9BRDY0KHN0YXRlWzI0XSk7IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlKFgsIHN0YXRlKSBcCisgICAgWCMjYmEgPSBMT0FENjQoc3RhdGVbIDBdKTsgXAorICAgIFgjI2JlID0gTE9BRDY0KHN0YXRlWyAxXSk7IFwKKyAgICBYIyNiaSA9IExPQUQ2NChzdGF0ZVsgMl0pOyBcCisgICAgWCMjYm8gPSBMT0FENjQoc3RhdGVbIDNdKTsgXAorICAgIFgjI2J1ID0gTE9BRDY0KHN0YXRlWyA0XSk7IFwKKyAgICBYIyNnYSA9IExPQUQ2NChzdGF0ZVsgNV0pOyBcCisgICAgWCMjZ2UgPSBMT0FENjQoc3RhdGVbIDZdKTsgXAorICAgIFgjI2dpID0gTE9BRDY0KHN0YXRlWyA3XSk7IFwKKyAgICBYIyNnbyA9IExPQUQ2NChzdGF0ZVsgOF0pOyBcCisgICAgWCMjZ3UgPSBMT0FENjQoc3RhdGVbIDldKTsgXAorICAgIFgjI2thID0gTE9BRDY0KHN0YXRlWzEwXSk7IFwKKyAgICBYIyNrZSA9IExPQUQ2NChzdGF0ZVsxMV0pOyBcCisgICAgWCMja2kgPSBMT0FENjQoc3RhdGVbMTJdKTsgXAorICAgIFgjI2tvID0gTE9BRDY0KHN0YXRlWzEzXSk7IFwKKyAgICBYIyNrdSA9IExPQUQ2NChzdGF0ZVsxNF0pOyBcCisgICAgWCMjbWEgPSBMT0FENjQoc3RhdGVbMTVdKTsgXAorICAgIFgjI21lID0gTE9BRDY0KHN0YXRlWzE2XSk7IFwKKyAgICBYIyNtaSA9IExPQUQ2NChzdGF0ZVsxN10pOyBcCisgICAgWCMjbW8gPSBMT0FENjQoc3RhdGVbMThdKTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYIyNzYSA9IExPQUQ2NChzdGF0ZVsyMF0pOyBcCisgICAgWCMjc2UgPSBMT0FENjQoc3RhdGVbMjFdKTsgXAorICAgIFgjI3NpID0gTE9BRDY0KHN0YXRlWzIyXSk7IFwKKyAgICBYIyNzbyA9IExPQUQ2NChzdGF0ZVsyM10pOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorCisjZGVmaW5lIGNvcHlUb1N0YXRlKHN0YXRlLCBYKSBcCisgICAgU1RPUkU2NChzdGF0ZVsgMF0sIFgjI2JhKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbIDFdLCBYIyNiZSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyAyXSwgWCMjYmkpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgM10sIFgjI2JvKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbIDRdLCBYIyNidSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyA1XSwgWCMjZ2EpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgNl0sIFgjI2dlKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbIDddLCBYIyNnaSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyA4XSwgWCMjZ28pOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgOV0sIFgjI2d1KTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTBdLCBYIyNrYSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzExXSwgWCMja2UpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsxMl0sIFgjI2tpKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTNdLCBYIyNrbyk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzE0XSwgWCMja3UpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsxNV0sIFgjI21hKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTZdLCBYIyNtZSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzE3XSwgWCMjbWkpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsxOF0sIFgjI21vKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTldLCBYIyNtdSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzIwXSwgWCMjc2EpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsyMV0sIFgjI3NlKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMjJdLCBYIyNzaSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzIzXSwgWCMjc28pOyBcCisgICAgU1RPUkU2NChzdGF0ZVsyNF0sIFgjI3N1KTsgXAorCisjZGVmaW5lIGNvcHlTdGF0ZVZhcmlhYmxlcyhYLCBZKSBcCisgICAgWCMjYmEgPSBZIyNiYTsgXAorICAgIFgjI2JlID0gWSMjYmU7IFwKKyAgICBYIyNiaSA9IFkjI2JpOyBcCisgICAgWCMjYm8gPSBZIyNibzsgXAorICAgIFgjI2J1ID0gWSMjYnU7IFwKKyAgICBYIyNnYSA9IFkjI2dhOyBcCisgICAgWCMjZ2UgPSBZIyNnZTsgXAorICAgIFgjI2dpID0gWSMjZ2k7IFwKKyAgICBYIyNnbyA9IFkjI2dvOyBcCisgICAgWCMjZ3UgPSBZIyNndTsgXAorICAgIFgjI2thID0gWSMja2E7IFwKKyAgICBYIyNrZSA9IFkjI2tlOyBcCisgICAgWCMja2kgPSBZIyNraTsgXAorICAgIFgjI2tvID0gWSMja287IFwKKyAgICBYIyNrdSA9IFkjI2t1OyBcCisgICAgWCMjbWEgPSBZIyNtYTsgXAorICAgIFgjI21lID0gWSMjbWU7IFwKKyAgICBYIyNtaSA9IFkjI21pOyBcCisgICAgWCMjbW8gPSBZIyNtbzsgXAorICAgIFgjI211ID0gWSMjbXU7IFwKKyAgICBYIyNzYSA9IFkjI3NhOyBcCisgICAgWCMjc2UgPSBZIyNzZTsgXAorICAgIFgjI3NpID0gWSMjc2k7IFwKKyAgICBYIyNzbyA9IFkjI3NvOyBcCisgICAgWCMjc3UgPSBZIyNzdTsgXAorCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtdW5yb2xsaW5nLm1hY3JvcyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC11bnJvbGxpbmcubWFjcm9zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzYzY5NGMKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAtdW5yb2xsaW5nLm1hY3JvcwpAQCAtMCwwICsxLDEyNCBAQAorLyoKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNpZiAoVW5yb2xsaW5nID09IDI0KQorI2RlZmluZSByb3VuZHMgXAorICAgIHByZXBhcmVUaGV0YSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoIDAsIEEsIEUpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSggMSwgRSwgQSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKCAyLCBBLCBFKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoIDMsIEUsIEEpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSggNCwgQSwgRSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKCA1LCBFLCBBKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoIDYsIEEsIEUpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSggNywgRSwgQSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKCA4LCBBLCBFKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoIDksIEUsIEEpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSgxMCwgQSwgRSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKDExLCBFLCBBKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoMTIsIEEsIEUpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSgxMywgRSwgQSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKDE0LCBBLCBFKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoMTUsIEUsIEEpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSgxNiwgQSwgRSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKDE3LCBFLCBBKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoMTgsIEEsIEUpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSgxOSwgRSwgQSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKDIwLCBBLCBFKSBcCisgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoMjEsIEUsIEEpIFwKKyAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YSgyMiwgQSwgRSkgXAorICAgIHRoZXRhUmhvUGlDaGlJb3RhKDIzLCBFLCBBKSBcCisgICAgY29weVRvU3RhdGUoc3RhdGUsIEEpCisjZWxpZiAoVW5yb2xsaW5nID09IDEyKQorI2RlZmluZSByb3VuZHMgXAorICAgIHByZXBhcmVUaGV0YSBcCisgICAgZm9yKGk9MDsgaTwyNDsgaSs9MTIpIHsgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpICAgLCBBLCBFKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrIDEsIEUsIEEpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsgMiwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKyAzLCBFLCBBKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrIDQsIEEsIEUpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsgNSwgRSwgQSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKyA2LCBBLCBFKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrIDcsIEUsIEEpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsgOCwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKyA5LCBFLCBBKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrMTAsIEEsIEUpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsxMSwgRSwgQSkgXAorICAgIH0gXAorICAgIGNvcHlUb1N0YXRlKHN0YXRlLCBBKQorI2VsaWYgKFVucm9sbGluZyA9PSA4KQorI2RlZmluZSByb3VuZHMgXAorICAgIHByZXBhcmVUaGV0YSBcCisgICAgZm9yKGk9MDsgaTwyNDsgaSs9OCkgeyBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkgICwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKzEsIEUsIEEpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsyLCBBLCBFKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrMywgRSwgQSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKzQsIEEsIEUpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSs1LCBFLCBBKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrNiwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKzcsIEUsIEEpIFwKKyAgICB9IFwKKyAgICBjb3B5VG9TdGF0ZShzdGF0ZSwgQSkKKyNlbGlmIChVbnJvbGxpbmcgPT0gNikKKyNkZWZpbmUgcm91bmRzIFwKKyAgICBwcmVwYXJlVGhldGEgXAorICAgIGZvcihpPTA7IGk8MjQ7IGkrPTYpIHsgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpICAsIEEsIEUpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsxLCBFLCBBKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrMiwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKzMsIEUsIEEpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSs0LCBBLCBFKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrNSwgRSwgQSkgXAorICAgIH0gXAorICAgIGNvcHlUb1N0YXRlKHN0YXRlLCBBKQorI2VsaWYgKFVucm9sbGluZyA9PSA0KQorI2RlZmluZSByb3VuZHMgXAorICAgIHByZXBhcmVUaGV0YSBcCisgICAgZm9yKGk9MDsgaTwyNDsgaSs9NCkgeyBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkgICwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKzEsIEUsIEEpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsyLCBBLCBFKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrMywgRSwgQSkgXAorICAgIH0gXAorICAgIGNvcHlUb1N0YXRlKHN0YXRlLCBBKQorI2VsaWYgKFVucm9sbGluZyA9PSAzKQorI2RlZmluZSByb3VuZHMgXAorICAgIHByZXBhcmVUaGV0YSBcCisgICAgZm9yKGk9MDsgaTwyNDsgaSs9MykgeyBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkgICwgQSwgRSkgXAorICAgICAgICB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpKzEsIEUsIEEpIFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSsyLCBBLCBFKSBcCisgICAgICAgIGNvcHlTdGF0ZVZhcmlhYmxlcyhBLCBFKSBcCisgICAgfSBcCisgICAgY29weVRvU3RhdGUoc3RhdGUsIEEpCisjZWxpZiAoVW5yb2xsaW5nID09IDIpCisjZGVmaW5lIHJvdW5kcyBcCisgICAgcHJlcGFyZVRoZXRhIFwKKyAgICBmb3IoaT0wOyBpPDI0OyBpKz0yKSB7IFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSAgLCBBLCBFKSBcCisgICAgICAgIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGkrMSwgRSwgQSkgXAorICAgIH0gXAorICAgIGNvcHlUb1N0YXRlKHN0YXRlLCBBKQorI2VsaWYgKFVucm9sbGluZyA9PSAxKQorI2RlZmluZSByb3VuZHMgXAorICAgIHByZXBhcmVUaGV0YSBcCisgICAgZm9yKGk9MDsgaTwyNDsgaSsrKSB7IFwKKyAgICAgICAgdGhldGFSaG9QaUNoaUlvdGFQcmVwYXJlVGhldGEoaSAgLCBBLCBFKSBcCisgICAgICAgIGNvcHlTdGF0ZVZhcmlhYmxlcyhBLCBFKSBcCisgICAgfSBcCisgICAgY29weVRvU3RhdGUoc3RhdGUsIEEpCisjZWxzZQorI2Vycm9yICJVbnJvbGxpbmcgaXMgbm90IGNvcnJlY3RseSBzcGVjaWZpZWQhIgorI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAteG9wLm1hY3JvcyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha0YtMTYwMC14b3AubWFjcm9zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyM2M5NDYKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtGLTE2MDAteG9wLm1hY3JvcwpAQCAtMCwwICsxLDU3MyBAQAorLyoKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNkZWZpbmUgZGVjbGFyZUFCQ0RFIFwKKyAgICBWMTI4IEFiYWdlLCBBYmVnaSwgQWJpZ28sIEFib2d1LCBBYnVnYTsgXAorICAgIFYxMjggQWthbWUsIEFrZW1pLCBBa2ltbywgQWtvbXUsIEFrdW1hOyBcCisgICAgVjEyOCBBYmFlLCBBYmlvLCBBZ2FlLCBBZ2lvLCBBa2FlLCBBa2lvLCBBbWFlLCBBbWlvOyBcCisgICAgVjY0IEFiYSwgQWJlLCBBYmksIEFibywgQWJ1OyBcCisgICAgVjY0IEFnYSwgQWdlLCBBZ2ksIEFnbywgQWd1OyBcCisgICAgVjY0IEFrYSwgQWtlLCBBa2ksIEFrbywgQWt1OyBcCisgICAgVjY0IEFtYSwgQW1lLCBBbWksIEFtbywgQW11OyBcCisgICAgVjEyOCBBc2FzZSwgQXNpc287IFwKKyAgICBWNjQgQXN1OyBcCisgICAgVjEyOCBCYmFnZSwgQmJlZ2ksIEJiaWdvLCBCYm9ndSwgQmJ1Z2E7IFwKKyAgICBWMTI4IEJrYW1lLCBCa2VtaSwgQmtpbW8sIEJrb211LCBCa3VtYTsgXAorICAgIFYxMjggQnNhc2UsIEJzZXNpLCBCc2lzbywgQnNvc3UsIEJzdXNhOyBcCisgICAgVjEyOCBDYWUsIENlaSwgQ2lvLCBDb3UsIEN1YTsgXAorICAgIFYxMjggRGF1LCBEZWEsIERpZSwgRG9pLCBEdW87IFwKKyAgICBWMTI4IER1YSwgRGFlLCBEZWksIERpbywgRG91OyBcCisgICAgVjEyOCBFYmFnZSwgRWJlZ2ksIEViaWdvLCBFYm9ndSwgRWJ1Z2E7IFwKKyAgICBWMTI4IEVrYW1lLCBFa2VtaSwgRWtpbW8sIEVrb211LCBFa3VtYTsgXAorICAgIFYxMjggRXNhc2UsIEVzaXNvOyBcCisgICAgVjY0IEVzdTsgXAorICAgIFYxMjggWmVybzsKKworI2RlZmluZSBwcmVwYXJlVGhldGEKKworI2RlZmluZSBjb21wdXRlRCBcCisgICAgQ3VhID0gR0VUNjRMT0xPKEN1YSwgQ2FlKTsgXAorICAgIERlaSA9IFhPUjEyOChDYWUsIFJPTDY0NjRzYW1lKENpbywgMSkpOyBcCisgICAgRG91ID0gWE9SMTI4KENpbywgUk9MNjQ2NHNhbWUoQ3VhLCAxKSk7IFwKKyAgICBDZWkgPSBHRVQ2NEhJTE8oQ2FlLCBDaW8pOyBcCisgICAgRGFlID0gWE9SMTI4KEN1YSwgUk9MNjQ2NHNhbWUoQ2VpLCAxKSk7IFwKKyAgICBEYXUgPSBHRVQ2NExPSEkoRGFlLCBEb3UpOyBcCisgICAgRGVhID0gU1dBUDY0KERhZSk7IFwKKyAgICBEaWUgPSBTV0FQNjQoRGVpKTsgXAorICAgIERvaSA9IEdFVDY0TE9MTyhEb3UsIERpZSk7IFwKKyAgICBEdW8gPSBTV0FQNjQoRG91KTsKKworLyogIC0tLSBUaGV0YSBSaG8gUGkgQ2hpIElvdGEgUHJlcGFyZS10aGV0YSAqLworLyogIC0tLSA2NC1iaXQgbGFuZXMgbWFwcGVkIHRvIDY0LWJpdCBhbmQgMTI4LWJpdCB3b3JkcyAqLworI2RlZmluZSB0aGV0YVJob1BpQ2hpSW90YVByZXBhcmVUaGV0YShpLCBBLCBFKSBcCisgICAgY29tcHV0ZUQgXAorICAgIFwKKyAgICBCYmFnZSA9IFhPUjEyOChHRVQ2NExPSEkoQSMjYmFnZSwgQSMjYm9ndSksIERhdSk7IFwKKyAgICBCYmFnZSA9IFJPTDY0NjQoQmJhZ2UsIDAsIDIwKTsgXAorICAgIEJiZWdpID0gWE9SMTI4KEdFVDY0SElMTyhBIyNiYWdlLCBBIyNrYW1lKSwgRGVhKTsgXAorICAgIEJiZWdpID0gUk9MNjQ2NChCYmVnaSwgNDQsIDMpOyBcCisgICAgQmJpZ28gPSBYT1IxMjgoR0VUNjRMT0hJKEEjI2tpbW8sIEEjI2thbWUpLCBEaWUpOyBcCisgICAgQmJpZ28gPSBST0w2NDY0KEJiaWdvLCA0MywgNDUpOyBcCisgICAgRSMjYmFnZSA9IFhPUjEyOChCYmFnZSwgQU5EbnUxMjgoQmJlZ2ksIEJiaWdvKSk7IFwKKyAgICBYT1JlcTEyOChFIyNiYWdlLCBDT05TVDY0KEtlY2Nha0YxNjAwUm91bmRDb25zdGFudHNbaV0pKTsgXAorICAgIENhZSA9IEUjI2JhZ2U7IFwKKyAgICBCYm9ndSA9IFhPUjEyOChHRVQ2NEhJTE8oQSMja2ltbywgQSMjc2lzbyksIERvaSk7IFwKKyAgICBCYm9ndSA9IFJPTDY0NjQoQmJvZ3UsIDIxLCA2MSk7IFwKKyAgICBFIyNiZWdpID0gWE9SMTI4KEJiZWdpLCBBTkRudTEyOChCYmlnbywgQmJvZ3UpKTsgXAorICAgIENlaSA9IEUjI2JlZ2k7IFwKKyAgICBCYnVnYSA9IFhPUjEyOChHRVQ2NExPTE8oQSMjc3UsIEEjI2JvZ3UpLCBEdW8pOyBcCisgICAgQmJ1Z2EgPSBST0w2NDY0KEJidWdhLCAxNCwgMjgpOyBcCisgICAgRSMjYmlnbyA9IFhPUjEyOChCYmlnbywgQU5EbnUxMjgoQmJvZ3UsIEJidWdhKSk7IFwKKyAgICBDaW8gPSBFIyNiaWdvOyBcCisgICAgRSMjYm9ndSA9IFhPUjEyOChCYm9ndSwgQU5EbnUxMjgoQmJ1Z2EsIEJiYWdlKSk7IFwKKyAgICBDb3UgPSBFIyNib2d1OyBcCisgICAgRSMjYnVnYSA9IFhPUjEyOChCYnVnYSwgQU5EbnUxMjgoQmJhZ2UsIEJiZWdpKSk7IFwKKyAgICBDdWEgPSBFIyNidWdhOyBcCitcCisgICAgQmthbWUgPSBYT1IxMjgoR0VUNjRMT0hJKEEjI2JlZ2ksIEEjI2J1Z2EpLCBEZWEpOyBcCisgICAgQmthbWUgPSBST0w2NDY0KEJrYW1lLCAxLCAzNik7IFwKKyAgICBCa2VtaSA9IFhPUjEyOChHRVQ2NEhJTE8oQSMjYmVnaSwgQSMja2VtaSksIERpZSk7IFwKKyAgICBCa2VtaSA9IFJPTDY0NjQoQmtlbWksIDYsIDEwKTsgXAorICAgIEJraW1vID0gWE9SMTI4KEdFVDY0TE9ISShBIyNrb211LCBBIyNrZW1pKSwgRG9pKTsgXAorICAgIEJraW1vID0gUk9MNjQ2NChCa2ltbywgMjUsIDE1KTsgXAorICAgIEUjI2thbWUgPSBYT1IxMjgoQmthbWUsIEFORG51MTI4KEJrZW1pLCBCa2ltbykpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBFIyNrYW1lKTsgXAorICAgIEJrb211ID0gWE9SMTI4KEdFVDY0SElISShBIyNrb211LCBBIyNzaXNvKSwgRHVvKTsgXAorICAgIEJrb211ID0gUk9MNjQ2NChCa29tdSwgOCwgNTYpOyBcCisgICAgRSMja2VtaSA9IFhPUjEyOChCa2VtaSwgQU5EbnUxMjgoQmtpbW8sIEJrb211KSk7IFwKKyAgICBYT1JlcTEyOChDZWksIEUjI2tlbWkpOyBcCisgICAgQmt1bWEgPSBYT1IxMjgoR0VUNjRMT0xPKEEjI3Nhc2UsIEEjI2J1Z2EpLCBEYXUpOyBcCisgICAgQmt1bWEgPSBST0w2NDY0KEJrdW1hLCAxOCwgMjcpOyBcCisgICAgRSMja2ltbyA9IFhPUjEyOChCa2ltbywgQU5EbnUxMjgoQmtvbXUsIEJrdW1hKSk7IFwKKyAgICBYT1JlcTEyOChDaW8sIEUjI2tpbW8pOyBcCisgICAgRSMja29tdSA9IFhPUjEyOChCa29tdSwgQU5EbnUxMjgoQmt1bWEsIEJrYW1lKSk7IFwKKyAgICBYT1JlcTEyOChDb3UsIEUjI2tvbXUpOyBcCisgICAgRSMja3VtYSA9IFhPUjEyOChCa3VtYSwgQU5EbnUxMjgoQmthbWUsIEJrZW1pKSk7IFwKKyAgICBYT1JlcTEyOChDdWEsIEUjI2t1bWEpOyBcCitcCisgICAgQnNhc2UgPSBYT1IxMjgoQSMjYmlnbywgU1dBUDY0KERvaSkpOyBcCisgICAgQnNhc2UgPSBST0w2NDY0KEJzYXNlLCA2MiwgNTUpOyBcCisgICAgQnNpc28gPSBYT1IxMjgoQSMja3VtYSwgU1dBUDY0KERhdSkpOyBcCisgICAgQnNpc28gPSBST0w2NDY0KEJzaXNvLCAzOSwgNDEpOyBcCisgICAgQnN1c2EgPSBYT1I2NChDT1BZNjRISTJMTyhBIyNzYXNlKSwgRGVpKTsgXAorICAgIEJzdXNhID0gUk9MNjQ2NHNhbWUoQnN1c2EsIDIpOyBcCisgICAgQnN1c2EgPSBHRVQ2NExPTE8oQnN1c2EsIEJzYXNlKTsgXAorICAgIEJzZXNpID0gR0VUNjRISUxPKEJzYXNlLCBCc2lzbyk7IFwKKyAgICBCc29zdSA9IEdFVDY0SElMTyhCc2lzbywgQnN1c2EpOyBcCisgICAgRSMjc2FzZSA9IFhPUjEyOChCc2FzZSwgQU5EbnUxMjgoQnNlc2ksIEJzaXNvKSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIEUjI3Nhc2UpOyBcCisgICAgRSMjc2lzbyA9IFhPUjEyOChCc2lzbywgQU5EbnUxMjgoQnNvc3UsIEJzdXNhKSk7IFwKKyAgICBYT1JlcTEyOChDaW8sIEUjI3Npc28pOyBcCisgICAgRSMjc3UgPSBHRVQ2NExPTE8oWE9SMTI4KEJzdXNhLCBBTkRudTEyOChCc2FzZSwgQnNlc2kpKSwgWmVybyk7IFwKKyAgICBYT1JlcTEyOChDdWEsIEUjI3N1KTsgXAorXAorICAgIFplcm8gPSBaRVJPMTI4KCk7IFwKKyAgICBYT1JlcTEyOChDYWUsIEdFVDY0SElISShDdWEsIFplcm8pKTsgXAorICAgIFhPUmVxMTI4KENhZSwgR0VUNjRMT0xPKFplcm8sIENlaSkpOyBcCisgICAgWE9SZXExMjgoQ2lvLCBHRVQ2NEhJSEkoQ2VpLCBaZXJvKSk7IFwKKyAgICBYT1JlcTEyOChDaW8sIEdFVDY0TE9MTyhaZXJvLCBDb3UpKTsgXAorICAgIFhPUmVxMTI4KEN1YSwgR0VUNjRISUhJKENvdSwgWmVybykpOyBcCisKKy8qICAtLS0gVGhldGEgUmhvIFBpIENoaSBJb3RhICovCisvKiAgLS0tIDY0LWJpdCBsYW5lcyBtYXBwZWQgdG8gNjQtYml0IGFuZCAxMjgtYml0IHdvcmRzICovCisjZGVmaW5lIHRoZXRhUmhvUGlDaGlJb3RhKGksIEEsIEUpIHRoZXRhUmhvUGlDaGlJb3RhUHJlcGFyZVRoZXRhKGksIEEsIEUpCisKK3N0YXRpYyBjb25zdCBVSU5UNjQgS2VjY2FrRjE2MDBSb3VuZENvbnN0YW50c1syNF0gPSB7CisgICAgMHgwMDAwMDAwMDAwMDAwMDAxVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwODA4MlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwOGFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDAwVUxMLAorICAgIDB4MDAwMDAwMDAwMDAwODA4YlVMTCwKKyAgICAweDAwMDAwMDAwODAwMDAwMDFVTEwsCisgICAgMHg4MDAwMDAwMDgwMDA4MDgxVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODAwOVVMTCwKKyAgICAweDAwMDAwMDAwMDAwMDAwOGFVTEwsCisgICAgMHgwMDAwMDAwMDAwMDAwMDg4VUxMLAorICAgIDB4MDAwMDAwMDA4MDAwODAwOVVMTCwKKyAgICAweDAwMDAwMDAwODAwMDAwMGFVTEwsCisgICAgMHgwMDAwMDAwMDgwMDA4MDhiVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwMDA4YlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDgwODlVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDAzVUxMLAorICAgIDB4ODAwMDAwMDAwMDAwODAwMlVMTCwKKyAgICAweDgwMDAwMDAwMDAwMDAwODBVTEwsCisgICAgMHgwMDAwMDAwMDAwMDA4MDBhVUxMLAorICAgIDB4ODAwMDAwMDA4MDAwMDAwYVVMTCwKKyAgICAweDgwMDAwMDAwODAwMDgwODFVTEwsCisgICAgMHg4MDAwMDAwMDAwMDA4MDgwVUxMLAorICAgIDB4MDAwMDAwMDA4MDAwMDAwMVVMTCwKKyAgICAweDgwMDAwMDAwODAwMDgwMDhVTEwgfTsKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yNTc2Yml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYWUgPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMF0pLCBMT0FEMTI4dShpbnB1dFsgMF0pKTsgXAorICAgIFgjI2JhID0gWCMjYmFlOyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLCBYIyNiYWUpOyBcCisgICAgQ2FlID0gWCMjYmFlOyBcCisgICAgWCMjYmlvID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDJdKSwgTE9BRDEyOHUoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNiaSA9IFgjI2JpbzsgXAorICAgIFgjI2JvID0gR0VUNjRISUhJKFgjI2JpbywgWCMjYmlvKTsgXAorICAgIENpbyA9IFgjI2JpbzsgXAorICAgIFgjI2J1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA0XSksIExPQUQ2NChpbnB1dFsgNF0pKTsgXAorICAgIEN1YSA9IFgjI2J1OyBcCisgICAgWCMjZ2FlID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA1XSksIExPQUQxMjh1KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2EgPSBYIyNnYWU7IFwKKyAgICBYIyNidWdhID0gR0VUNjRMT0xPKFgjI2J1LCBYIyNnYSk7IFwKKyAgICBYIyNnZSA9IEdFVDY0SElISShYIyNnYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNiYWdlID0gR0VUNjRMT0xPKFgjI2JhLCBYIyNnZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNnaW8gPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDddKSwgTE9BRDEyOHUoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpbzsgXAorICAgIFgjI2JlZ2kgPSBHRVQ2NExPTE8oWCMjYmUsIFgjI2dpKTsgXAorICAgIFgjI2dvID0gR0VUNjRISUhJKFgjI2dpbywgWCMjZ2lvKTsgXAorICAgIFgjI2JpZ28gPSBHRVQ2NExPTE8oWCMjYmksIFgjI2dvKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjZ2lvKTsgXAorICAgIFgjI2d1ID0gTE9BRDY0KHN0YXRlWyA5XSk7IFwKKyAgICBYIyNib2d1ID0gR0VUNjRMT0xPKFgjI2JvLCBYIyNndSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjZ3UpOyBcCisgICAgWCMja2FlID0gTE9BRDEyOChzdGF0ZVsxMF0pOyBcCisgICAgWCMja2EgPSBYIyNrYWU7IFwKKyAgICBYIyNrZSA9IEdFVDY0SElISShYIyNrYWUsIFgjI2thZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZSk7IFwKKyAgICBYIyNraW8gPSBMT0FEMTI4KHN0YXRlWzEyXSk7IFwKKyAgICBYIyNraSA9IFgjI2tpbzsgXAorICAgIFgjI2tvID0gR0VUNjRISUhJKFgjI2tpbywgWCMja2lvKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvKTsgXAorICAgIFgjI2t1bWEgPSBMT0FEMTI4KHN0YXRlWzE0XSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMja3VtYSk7IFwKKyAgICBYIyNtZSA9IExPQUQ2NChzdGF0ZVsxNl0pOyBcCisgICAgWCMja2FtZSA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBHRVQ2NEhJSEkoWCMja3VtYSwgWCMja2FtZSkpOyBcCisgICAgWCMjbWlvID0gTE9BRDEyOHUoc3RhdGVbMTddKTsgXAorICAgIFgjI21pID0gWCMjbWlvOyBcCisgICAgWCMja2VtaSA9IEdFVDY0TE9MTyhYIyNrZSwgWCMjbWkpOyBcCisgICAgWCMjbW8gPSBHRVQ2NEhJSEkoWCMjbWlvLCBYIyNtaW8pOyBcCisgICAgWCMja2ltbyA9IEdFVDY0TE9MTyhYIyNraSwgWCMjbW8pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNtaW8pOyBcCisgICAgWCMjbXUgPSBMT0FENjQoc3RhdGVbMTldKTsgXAorICAgIFgjI2tvbXUgPSBHRVQ2NExPTE8oWCMja28sIFgjI211KTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNtdSk7IFwKKyAgICBYIyNzYXNlID0gTE9BRDEyOChzdGF0ZVsyMF0pOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNzYXNlKTsgXAorICAgIFgjI3Npc28gPSBMT0FEMTI4KHN0YXRlWzIyXSk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI3Npc28pOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNzdSk7IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yODMyYml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYWUgPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMF0pLCBMT0FEMTI4dShpbnB1dFsgMF0pKTsgXAorICAgIFgjI2JhID0gWCMjYmFlOyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLCBYIyNiYWUpOyBcCisgICAgQ2FlID0gWCMjYmFlOyBcCisgICAgWCMjYmlvID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDJdKSwgTE9BRDEyOHUoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNiaSA9IFgjI2JpbzsgXAorICAgIFgjI2JvID0gR0VUNjRISUhJKFgjI2JpbywgWCMjYmlvKTsgXAorICAgIENpbyA9IFgjI2JpbzsgXAorICAgIFgjI2J1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA0XSksIExPQUQ2NChpbnB1dFsgNF0pKTsgXAorICAgIEN1YSA9IFgjI2J1OyBcCisgICAgWCMjZ2FlID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA1XSksIExPQUQxMjh1KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2EgPSBYIyNnYWU7IFwKKyAgICBYIyNidWdhID0gR0VUNjRMT0xPKFgjI2J1LCBYIyNnYSk7IFwKKyAgICBYIyNnZSA9IEdFVDY0SElISShYIyNnYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNiYWdlID0gR0VUNjRMT0xPKFgjI2JhLCBYIyNnZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNnaW8gPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDddKSwgTE9BRDEyOHUoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpbzsgXAorICAgIFgjI2JlZ2kgPSBHRVQ2NExPTE8oWCMjYmUsIFgjI2dpKTsgXAorICAgIFgjI2dvID0gR0VUNjRISUhJKFgjI2dpbywgWCMjZ2lvKTsgXAorICAgIFgjI2JpZ28gPSBHRVQ2NExPTE8oWCMjYmksIFgjI2dvKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjZ2lvKTsgXAorICAgIFgjI2d1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA5XSksIExPQUQ2NChpbnB1dFsgOV0pKTsgXAorICAgIFgjI2JvZ3UgPSBHRVQ2NExPTE8oWCMjYm8sIFgjI2d1KTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNndSk7IFwKKyAgICBYIyNrYWUgPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxMF0pLCBMT0FEMTI4dShpbnB1dFsxMF0pKTsgXAorICAgIFgjI2thID0gWCMja2FlOyBcCisgICAgWCMja2UgPSBHRVQ2NEhJSEkoWCMja2FlLCBYIyNrYWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNrYWUpOyBcCisgICAgWCMja2lvID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTJdKSwgTE9BRDY0KGlucHV0WzEyXSkpOyBcCisgICAgWCMja2kgPSBYIyNraW87IFwKKyAgICBYIyNrbyA9IEdFVDY0SElISShYIyNraW8sIFgjI2tpbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2tpbyk7IFwKKyAgICBYIyNrdW1hID0gTE9BRDEyOChzdGF0ZVsxNF0pOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI2t1bWEpOyBcCisgICAgWCMjbWUgPSBMT0FENjQoc3RhdGVbMTZdKTsgXAorICAgIFgjI2thbWUgPSBHRVQ2NExPTE8oWCMja2EsIFgjI21lKTsgXAorICAgIFhPUmVxMTI4KENhZSwgR0VUNjRISUhJKFgjI2t1bWEsIFgjI2thbWUpKTsgXAorICAgIFgjI21pbyA9IExPQUQxMjh1KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtaSA9IFgjI21pbzsgXAorICAgIFgjI2tlbWkgPSBHRVQ2NExPTE8oWCMja2UsIFgjI21pKTsgXAorICAgIFgjI21vID0gR0VUNjRISUhJKFgjI21pbywgWCMjbWlvKTsgXAorICAgIFgjI2tpbW8gPSBHRVQ2NExPTE8oWCMja2ksIFgjI21vKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjbWlvKTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYIyNrb211ID0gR0VUNjRMT0xPKFgjI2tvLCBYIyNtdSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjbXUpOyBcCisgICAgWCMjc2FzZSA9IExPQUQxMjgoc3RhdGVbMjBdKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FzZSk7IFwKKyAgICBYIyNzaXNvID0gTE9BRDEyOChzdGF0ZVsyMl0pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNzaXNvKTsgXAorICAgIFgjI3N1ID0gTE9BRDY0KHN0YXRlWzI0XSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjEwMjRiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhZSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAwXSksIExPQUQxMjh1KGlucHV0WyAwXSkpOyBcCisgICAgWCMjYmEgPSBYIyNiYWU7IFwKKyAgICBYIyNiZSA9IEdFVDY0SElISShYIyNiYWUsIFgjI2JhZSk7IFwKKyAgICBDYWUgPSBYIyNiYWU7IFwKKyAgICBYIyNiaW8gPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMl0pLCBMT0FEMTI4dShpbnB1dFsgMl0pKTsgXAorICAgIFgjI2JpID0gWCMjYmlvOyBcCisgICAgWCMjYm8gPSBHRVQ2NEhJSEkoWCMjYmlvLCBYIyNiaW8pOyBcCisgICAgQ2lvID0gWCMjYmlvOyBcCisgICAgWCMjYnUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDRdKSwgTE9BRDY0KGlucHV0WyA0XSkpOyBcCisgICAgQ3VhID0gWCMjYnU7IFwKKyAgICBYIyNnYWUgPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDVdKSwgTE9BRDEyOHUoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnYSA9IFgjI2dhZTsgXAorICAgIFgjI2J1Z2EgPSBHRVQ2NExPTE8oWCMjYnUsIFgjI2dhKTsgXAorICAgIFgjI2dlID0gR0VUNjRISUhJKFgjI2dhZSwgWCMjZ2FlKTsgXAorICAgIFgjI2JhZ2UgPSBHRVQ2NExPTE8oWCMjYmEsIFgjI2dlKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjZ2FlKTsgXAorICAgIFgjI2dpbyA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsgN10pLCBMT0FEMTI4dShpbnB1dFsgN10pKTsgXAorICAgIFgjI2dpID0gWCMjZ2lvOyBcCisgICAgWCMjYmVnaSA9IEdFVDY0TE9MTyhYIyNiZSwgWCMjZ2kpOyBcCisgICAgWCMjZ28gPSBHRVQ2NEhJSEkoWCMjZ2lvLCBYIyNnaW8pOyBcCisgICAgWCMjYmlnbyA9IEdFVDY0TE9MTyhYIyNiaSwgWCMjZ28pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNnaW8pOyBcCisgICAgWCMjZ3UgPSBYT1I2NChMT0FENjQoc3RhdGVbIDldKSwgTE9BRDY0KGlucHV0WyA5XSkpOyBcCisgICAgWCMjYm9ndSA9IEdFVDY0TE9MTyhYIyNibywgWCMjZ3UpOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI2d1KTsgXAorICAgIFgjI2thZSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzEwXSksIExPQUQxMjh1KGlucHV0WzEwXSkpOyBcCisgICAgWCMja2EgPSBYIyNrYWU7IFwKKyAgICBYIyNrZSA9IEdFVDY0SElISShYIyNrYWUsIFgjI2thZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZSk7IFwKKyAgICBYIyNraW8gPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxMl0pLCBMT0FEMTI4dShpbnB1dFsxMl0pKTsgXAorICAgIFgjI2tpID0gWCMja2lvOyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLCBYIyNraW8pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNraW8pOyBcCisgICAgWCMja3VtYSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzE0XSksIExPQUQxMjgoaW5wdXRbMTRdKSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMja3VtYSk7IFwKKyAgICBYIyNtZSA9IExPQUQ2NChzdGF0ZVsxNl0pOyBcCisgICAgWCMja2FtZSA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBHRVQ2NEhJSEkoWCMja3VtYSwgWCMja2FtZSkpOyBcCisgICAgWCMjbWlvID0gTE9BRDEyOHUoc3RhdGVbMTddKTsgXAorICAgIFgjI21pID0gWCMjbWlvOyBcCisgICAgWCMja2VtaSA9IEdFVDY0TE9MTyhYIyNrZSwgWCMjbWkpOyBcCisgICAgWCMjbW8gPSBHRVQ2NEhJSEkoWCMjbWlvLCBYIyNtaW8pOyBcCisgICAgWCMja2ltbyA9IEdFVDY0TE9MTyhYIyNraSwgWCMjbW8pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNtaW8pOyBcCisgICAgWCMjbXUgPSBMT0FENjQoc3RhdGVbMTldKTsgXAorICAgIFgjI2tvbXUgPSBHRVQ2NExPTE8oWCMja28sIFgjI211KTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNtdSk7IFwKKyAgICBYIyNzYXNlID0gTE9BRDEyOChzdGF0ZVsyMF0pOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNzYXNlKTsgXAorICAgIFgjI3Npc28gPSBMT0FEMTI4KHN0YXRlWzIyXSk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI3Npc28pOyBcCisgICAgWCMjc3UgPSBMT0FENjQoc3RhdGVbMjRdKTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNzdSk7IFwKKworI2RlZmluZSBjb3B5RnJvbVN0YXRlQW5kWG9yMTA4OGJpdHMoWCwgc3RhdGUsIGlucHV0KSBcCisgICAgWCMjYmFlID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDBdKSwgTE9BRDEyOHUoaW5wdXRbIDBdKSk7IFwKKyAgICBYIyNiYSA9IFgjI2JhZTsgXAorICAgIFgjI2JlID0gR0VUNjRISUhJKFgjI2JhZSwgWCMjYmFlKTsgXAorICAgIENhZSA9IFgjI2JhZTsgXAorICAgIFgjI2JpbyA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAyXSksIExPQUQxMjh1KGlucHV0WyAyXSkpOyBcCisgICAgWCMjYmkgPSBYIyNiaW87IFwKKyAgICBYIyNibyA9IEdFVDY0SElISShYIyNiaW8sIFgjI2Jpbyk7IFwKKyAgICBDaW8gPSBYIyNiaW87IFwKKyAgICBYIyNidSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgNF0pLCBMT0FENjQoaW5wdXRbIDRdKSk7IFwKKyAgICBDdWEgPSBYIyNidTsgXAorICAgIFgjI2dhZSA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsgNV0pLCBMT0FEMTI4dShpbnB1dFsgNV0pKTsgXAorICAgIFgjI2dhID0gWCMjZ2FlOyBcCisgICAgWCMjYnVnYSA9IEdFVDY0TE9MTyhYIyNidSwgWCMjZ2EpOyBcCisgICAgWCMjZ2UgPSBHRVQ2NEhJSEkoWCMjZ2FlLCBYIyNnYWUpOyBcCisgICAgWCMjYmFnZSA9IEdFVDY0TE9MTyhYIyNiYSwgWCMjZ2UpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNnYWUpOyBcCisgICAgWCMjZ2lvID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA3XSksIExPQUQxMjh1KGlucHV0WyA3XSkpOyBcCisgICAgWCMjZ2kgPSBYIyNnaW87IFwKKyAgICBYIyNiZWdpID0gR0VUNjRMT0xPKFgjI2JlLCBYIyNnaSk7IFwKKyAgICBYIyNnbyA9IEdFVDY0SElISShYIyNnaW8sIFgjI2dpbyk7IFwKKyAgICBYIyNiaWdvID0gR0VUNjRMT0xPKFgjI2JpLCBYIyNnbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2dpbyk7IFwKKyAgICBYIyNndSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsgOV0pLCBMT0FENjQoaW5wdXRbIDldKSk7IFwKKyAgICBYIyNib2d1ID0gR0VUNjRMT0xPKFgjI2JvLCBYIyNndSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjZ3UpOyBcCisgICAgWCMja2FlID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTBdKSwgTE9BRDEyOHUoaW5wdXRbMTBdKSk7IFwKKyAgICBYIyNrYSA9IFgjI2thZTsgXAorICAgIFgjI2tlID0gR0VUNjRISUhJKFgjI2thZSwgWCMja2FlKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMja2FlKTsgXAorICAgIFgjI2tpbyA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzEyXSksIExPQUQxMjh1KGlucHV0WzEyXSkpOyBcCisgICAgWCMja2kgPSBYIyNraW87IFwKKyAgICBYIyNrbyA9IEdFVDY0SElISShYIyNraW8sIFgjI2tpbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2tpbyk7IFwKKyAgICBYIyNrdW1hID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTRdKSwgTE9BRDEyOChpbnB1dFsxNF0pKTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNrdW1hKTsgXAorICAgIFgjI21lID0gWE9SNjQoTE9BRDY0KHN0YXRlWzE2XSksIExPQUQ2NChpbnB1dFsxNl0pKTsgXAorICAgIFgjI2thbWUgPSBHRVQ2NExPTE8oWCMja2EsIFgjI21lKTsgXAorICAgIFhPUmVxMTI4KENhZSwgR0VUNjRISUhJKFgjI2t1bWEsIFgjI2thbWUpKTsgXAorICAgIFgjI21pbyA9IExPQUQxMjh1KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtaSA9IFgjI21pbzsgXAorICAgIFgjI2tlbWkgPSBHRVQ2NExPTE8oWCMja2UsIFgjI21pKTsgXAorICAgIFgjI21vID0gR0VUNjRISUhJKFgjI21pbywgWCMjbWlvKTsgXAorICAgIFgjI2tpbW8gPSBHRVQ2NExPTE8oWCMja2ksIFgjI21vKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjbWlvKTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYIyNrb211ID0gR0VUNjRMT0xPKFgjI2tvLCBYIyNtdSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjbXUpOyBcCisgICAgWCMjc2FzZSA9IExPQUQxMjgoc3RhdGVbMjBdKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FzZSk7IFwKKyAgICBYIyNzaXNvID0gTE9BRDEyOChzdGF0ZVsyMl0pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNzaXNvKTsgXAorICAgIFgjI3N1ID0gTE9BRDY0KHN0YXRlWzI0XSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZUFuZFhvcjExNTJiaXRzKFgsIHN0YXRlLCBpbnB1dCkgXAorICAgIFgjI2JhZSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWyAwXSksIExPQUQxMjh1KGlucHV0WyAwXSkpOyBcCisgICAgWCMjYmEgPSBYIyNiYWU7IFwKKyAgICBYIyNiZSA9IEdFVDY0SElISShYIyNiYWUsIFgjI2JhZSk7IFwKKyAgICBDYWUgPSBYIyNiYWU7IFwKKyAgICBYIyNiaW8gPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMl0pLCBMT0FEMTI4dShpbnB1dFsgMl0pKTsgXAorICAgIFgjI2JpID0gWCMjYmlvOyBcCisgICAgWCMjYm8gPSBHRVQ2NEhJSEkoWCMjYmlvLCBYIyNiaW8pOyBcCisgICAgQ2lvID0gWCMjYmlvOyBcCisgICAgWCMjYnUgPSBYT1I2NChMT0FENjQoc3RhdGVbIDRdKSwgTE9BRDY0KGlucHV0WyA0XSkpOyBcCisgICAgQ3VhID0gWCMjYnU7IFwKKyAgICBYIyNnYWUgPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDVdKSwgTE9BRDEyOHUoaW5wdXRbIDVdKSk7IFwKKyAgICBYIyNnYSA9IFgjI2dhZTsgXAorICAgIFgjI2J1Z2EgPSBHRVQ2NExPTE8oWCMjYnUsIFgjI2dhKTsgXAorICAgIFgjI2dlID0gR0VUNjRISUhJKFgjI2dhZSwgWCMjZ2FlKTsgXAorICAgIFgjI2JhZ2UgPSBHRVQ2NExPTE8oWCMjYmEsIFgjI2dlKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjZ2FlKTsgXAorICAgIFgjI2dpbyA9IFhPUjEyOChMT0FEMTI4dShzdGF0ZVsgN10pLCBMT0FEMTI4dShpbnB1dFsgN10pKTsgXAorICAgIFgjI2dpID0gWCMjZ2lvOyBcCisgICAgWCMjYmVnaSA9IEdFVDY0TE9MTyhYIyNiZSwgWCMjZ2kpOyBcCisgICAgWCMjZ28gPSBHRVQ2NEhJSEkoWCMjZ2lvLCBYIyNnaW8pOyBcCisgICAgWCMjYmlnbyA9IEdFVDY0TE9MTyhYIyNiaSwgWCMjZ28pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNnaW8pOyBcCisgICAgWCMjZ3UgPSBYT1I2NChMT0FENjQoc3RhdGVbIDldKSwgTE9BRDY0KGlucHV0WyA5XSkpOyBcCisgICAgWCMjYm9ndSA9IEdFVDY0TE9MTyhYIyNibywgWCMjZ3UpOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI2d1KTsgXAorICAgIFgjI2thZSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzEwXSksIExPQUQxMjh1KGlucHV0WzEwXSkpOyBcCisgICAgWCMja2EgPSBYIyNrYWU7IFwKKyAgICBYIyNrZSA9IEdFVDY0SElISShYIyNrYWUsIFgjI2thZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2thZSk7IFwKKyAgICBYIyNraW8gPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxMl0pLCBMT0FEMTI4dShpbnB1dFsxMl0pKTsgXAorICAgIFgjI2tpID0gWCMja2lvOyBcCisgICAgWCMja28gPSBHRVQ2NEhJSEkoWCMja2lvLCBYIyNraW8pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNraW8pOyBcCisgICAgWCMja3VtYSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzE0XSksIExPQUQxMjgoaW5wdXRbMTRdKSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMja3VtYSk7IFwKKyAgICBYIyNtZSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxNl0pLCBMT0FENjQoaW5wdXRbMTZdKSk7IFwKKyAgICBYIyNrYW1lID0gR0VUNjRMT0xPKFgjI2thLCBYIyNtZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIEdFVDY0SElISShYIyNrdW1hLCBYIyNrYW1lKSk7IFwKKyAgICBYIyNtaW8gPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbMTddKSwgTE9BRDY0KGlucHV0WzE3XSkpOyBcCisgICAgWCMjbWkgPSBYIyNtaW87IFwKKyAgICBYIyNrZW1pID0gR0VUNjRMT0xPKFgjI2tlLCBYIyNtaSk7IFwKKyAgICBYIyNtbyA9IEdFVDY0SElISShYIyNtaW8sIFgjI21pbyk7IFwKKyAgICBYIyNraW1vID0gR0VUNjRMT0xPKFgjI2tpLCBYIyNtbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI21pbyk7IFwKKyAgICBYIyNtdSA9IExPQUQ2NChzdGF0ZVsxOV0pOyBcCisgICAgWCMja29tdSA9IEdFVDY0TE9MTyhYIyNrbywgWCMjbXUpOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI211KTsgXAorICAgIFgjI3Nhc2UgPSBMT0FEMTI4KHN0YXRlWzIwXSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI3Nhc2UpOyBcCisgICAgWCMjc2lzbyA9IExPQUQxMjgoc3RhdGVbMjJdKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjc2lzbyk7IFwKKyAgICBYIyNzdSA9IExPQUQ2NChzdGF0ZVsyNF0pOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI3N1KTsgXAorCisjZGVmaW5lIGNvcHlGcm9tU3RhdGVBbmRYb3IxMzQ0Yml0cyhYLCBzdGF0ZSwgaW5wdXQpIFwKKyAgICBYIyNiYWUgPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsgMF0pLCBMT0FEMTI4dShpbnB1dFsgMF0pKTsgXAorICAgIFgjI2JhID0gWCMjYmFlOyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLCBYIyNiYWUpOyBcCisgICAgQ2FlID0gWCMjYmFlOyBcCisgICAgWCMjYmlvID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbIDJdKSwgTE9BRDEyOHUoaW5wdXRbIDJdKSk7IFwKKyAgICBYIyNiaSA9IFgjI2JpbzsgXAorICAgIFgjI2JvID0gR0VUNjRISUhJKFgjI2JpbywgWCMjYmlvKTsgXAorICAgIENpbyA9IFgjI2JpbzsgXAorICAgIFgjI2J1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA0XSksIExPQUQ2NChpbnB1dFsgNF0pKTsgXAorICAgIEN1YSA9IFgjI2J1OyBcCisgICAgWCMjZ2FlID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWyA1XSksIExPQUQxMjh1KGlucHV0WyA1XSkpOyBcCisgICAgWCMjZ2EgPSBYIyNnYWU7IFwKKyAgICBYIyNidWdhID0gR0VUNjRMT0xPKFgjI2J1LCBYIyNnYSk7IFwKKyAgICBYIyNnZSA9IEdFVDY0SElISShYIyNnYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNiYWdlID0gR0VUNjRMT0xPKFgjI2JhLCBYIyNnZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNnaW8gPSBYT1IxMjgoTE9BRDEyOHUoc3RhdGVbIDddKSwgTE9BRDEyOHUoaW5wdXRbIDddKSk7IFwKKyAgICBYIyNnaSA9IFgjI2dpbzsgXAorICAgIFgjI2JlZ2kgPSBHRVQ2NExPTE8oWCMjYmUsIFgjI2dpKTsgXAorICAgIFgjI2dvID0gR0VUNjRISUhJKFgjI2dpbywgWCMjZ2lvKTsgXAorICAgIFgjI2JpZ28gPSBHRVQ2NExPTE8oWCMjYmksIFgjI2dvKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjZ2lvKTsgXAorICAgIFgjI2d1ID0gWE9SNjQoTE9BRDY0KHN0YXRlWyA5XSksIExPQUQ2NChpbnB1dFsgOV0pKTsgXAorICAgIFgjI2JvZ3UgPSBHRVQ2NExPTE8oWCMjYm8sIFgjI2d1KTsgXAorICAgIFhPUmVxNjQoQ3VhLCBYIyNndSk7IFwKKyAgICBYIyNrYWUgPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxMF0pLCBMT0FEMTI4dShpbnB1dFsxMF0pKTsgXAorICAgIFgjI2thID0gWCMja2FlOyBcCisgICAgWCMja2UgPSBHRVQ2NEhJSEkoWCMja2FlLCBYIyNrYWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNrYWUpOyBcCisgICAgWCMja2lvID0gWE9SMTI4KExPQUQxMjgoc3RhdGVbMTJdKSwgTE9BRDEyOHUoaW5wdXRbMTJdKSk7IFwKKyAgICBYIyNraSA9IFgjI2tpbzsgXAorICAgIFgjI2tvID0gR0VUNjRISUhJKFgjI2tpbywgWCMja2lvKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMja2lvKTsgXAorICAgIFgjI2t1bWEgPSBYT1IxMjgoTE9BRDEyOChzdGF0ZVsxNF0pLCBMT0FEMTI4KGlucHV0WzE0XSkpOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI2t1bWEpOyBcCisgICAgWCMjbWUgPSBYT1I2NChMT0FENjQoc3RhdGVbMTZdKSwgTE9BRDY0KGlucHV0WzE2XSkpOyBcCisgICAgWCMja2FtZSA9IEdFVDY0TE9MTyhYIyNrYSwgWCMjbWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBHRVQ2NEhJSEkoWCMja3VtYSwgWCMja2FtZSkpOyBcCisgICAgWCMjbWlvID0gWE9SMTI4KExPQUQxMjh1KHN0YXRlWzE3XSksIExPQUQxMjh1KGlucHV0WzE3XSkpOyBcCisgICAgWCMjbWkgPSBYIyNtaW87IFwKKyAgICBYIyNrZW1pID0gR0VUNjRMT0xPKFgjI2tlLCBYIyNtaSk7IFwKKyAgICBYIyNtbyA9IEdFVDY0SElISShYIyNtaW8sIFgjI21pbyk7IFwKKyAgICBYIyNraW1vID0gR0VUNjRMT0xPKFgjI2tpLCBYIyNtbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI21pbyk7IFwKKyAgICBYIyNtdSA9IFhPUjY0KExPQUQ2NChzdGF0ZVsxOV0pLCBMT0FENjQoaW5wdXRbMTldKSk7IFwKKyAgICBYIyNrb211ID0gR0VUNjRMT0xPKFgjI2tvLCBYIyNtdSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjbXUpOyBcCisgICAgWCMjc2FzZSA9IFhPUjEyOChMT0FEMTI4KHN0YXRlWzIwXSksIExPQUQ2NChpbnB1dFsyMF0pKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FzZSk7IFwKKyAgICBYIyNzaXNvID0gTE9BRDEyOChzdGF0ZVsyMl0pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNzaXNvKTsgXAorICAgIFgjI3N1ID0gTE9BRDY0KHN0YXRlWzI0XSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weUZyb21TdGF0ZShYLCBzdGF0ZSkgXAorICAgIFgjI2JhZSA9IExPQUQxMjgoc3RhdGVbIDBdKTsgXAorICAgIFgjI2JhID0gWCMjYmFlOyBcCisgICAgWCMjYmUgPSBHRVQ2NEhJSEkoWCMjYmFlLCBYIyNiYWUpOyBcCisgICAgQ2FlID0gWCMjYmFlOyBcCisgICAgWCMjYmlvID0gTE9BRDEyOChzdGF0ZVsgMl0pOyBcCisgICAgWCMjYmkgPSBYIyNiaW87IFwKKyAgICBYIyNibyA9IEdFVDY0SElISShYIyNiaW8sIFgjI2Jpbyk7IFwKKyAgICBDaW8gPSBYIyNiaW87IFwKKyAgICBYIyNidSA9IExPQUQ2NChzdGF0ZVsgNF0pOyBcCisgICAgQ3VhID0gWCMjYnU7IFwKKyAgICBYIyNnYWUgPSBMT0FEMTI4dShzdGF0ZVsgNV0pOyBcCisgICAgWCMjZ2EgPSBYIyNnYWU7IFwKKyAgICBYIyNidWdhID0gR0VUNjRMT0xPKFgjI2J1LCBYIyNnYSk7IFwKKyAgICBYIyNnZSA9IEdFVDY0SElISShYIyNnYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNiYWdlID0gR0VUNjRMT0xPKFgjI2JhLCBYIyNnZSk7IFwKKyAgICBYT1JlcTEyOChDYWUsIFgjI2dhZSk7IFwKKyAgICBYIyNnaW8gPSBMT0FEMTI4dShzdGF0ZVsgN10pOyBcCisgICAgWCMjZ2kgPSBYIyNnaW87IFwKKyAgICBYIyNiZWdpID0gR0VUNjRMT0xPKFgjI2JlLCBYIyNnaSk7IFwKKyAgICBYIyNnbyA9IEdFVDY0SElISShYIyNnaW8sIFgjI2dpbyk7IFwKKyAgICBYIyNiaWdvID0gR0VUNjRMT0xPKFgjI2JpLCBYIyNnbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2dpbyk7IFwKKyAgICBYIyNndSA9IExPQUQ2NChzdGF0ZVsgOV0pOyBcCisgICAgWCMjYm9ndSA9IEdFVDY0TE9MTyhYIyNibywgWCMjZ3UpOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI2d1KTsgXAorICAgIFgjI2thZSA9IExPQUQxMjgoc3RhdGVbMTBdKTsgXAorICAgIFgjI2thID0gWCMja2FlOyBcCisgICAgWCMja2UgPSBHRVQ2NEhJSEkoWCMja2FlLCBYIyNrYWUpOyBcCisgICAgWE9SZXExMjgoQ2FlLCBYIyNrYWUpOyBcCisgICAgWCMja2lvID0gTE9BRDEyOChzdGF0ZVsxMl0pOyBcCisgICAgWCMja2kgPSBYIyNraW87IFwKKyAgICBYIyNrbyA9IEdFVDY0SElISShYIyNraW8sIFgjI2tpbyk7IFwKKyAgICBYT1JlcTEyOChDaW8sIFgjI2tpbyk7IFwKKyAgICBYIyNrdW1hID0gTE9BRDEyOChzdGF0ZVsxNF0pOyBcCisgICAgWE9SZXE2NChDdWEsIFgjI2t1bWEpOyBcCisgICAgWCMjbWUgPSBMT0FENjQoc3RhdGVbMTZdKTsgXAorICAgIFgjI2thbWUgPSBHRVQ2NExPTE8oWCMja2EsIFgjI21lKTsgXAorICAgIFhPUmVxMTI4KENhZSwgR0VUNjRISUhJKFgjI2t1bWEsIFgjI2thbWUpKTsgXAorICAgIFgjI21pbyA9IExPQUQxMjh1KHN0YXRlWzE3XSk7IFwKKyAgICBYIyNtaSA9IFgjI21pbzsgXAorICAgIFgjI2tlbWkgPSBHRVQ2NExPTE8oWCMja2UsIFgjI21pKTsgXAorICAgIFgjI21vID0gR0VUNjRISUhJKFgjI21pbywgWCMjbWlvKTsgXAorICAgIFgjI2tpbW8gPSBHRVQ2NExPTE8oWCMja2ksIFgjI21vKTsgXAorICAgIFhPUmVxMTI4KENpbywgWCMjbWlvKTsgXAorICAgIFgjI211ID0gTE9BRDY0KHN0YXRlWzE5XSk7IFwKKyAgICBYIyNrb211ID0gR0VUNjRMT0xPKFgjI2tvLCBYIyNtdSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjbXUpOyBcCisgICAgWCMjc2FzZSA9IExPQUQxMjgoc3RhdGVbMjBdKTsgXAorICAgIFhPUmVxMTI4KENhZSwgWCMjc2FzZSk7IFwKKyAgICBYIyNzaXNvID0gTE9BRDEyOChzdGF0ZVsyMl0pOyBcCisgICAgWE9SZXExMjgoQ2lvLCBYIyNzaXNvKTsgXAorICAgIFgjI3N1ID0gTE9BRDY0KHN0YXRlWzI0XSk7IFwKKyAgICBYT1JlcTY0KEN1YSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weVRvU3RhdGUoc3RhdGUsIFgpIFwKKyAgICBTVE9SRTY0KHN0YXRlWyAwXSwgWCMjYmFnZSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyAxXSwgWCMjYmVnaSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyAyXSwgWCMjYmlnbyk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyAzXSwgWCMjYm9ndSk7IFwKKyAgICBTVE9SRTEyOChzdGF0ZVsgNF0sIFgjI2J1Z2EpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgNl0sIENPUFk2NEhJMkxPKFgjI2JhZ2UpKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbIDddLCBDT1BZNjRISTJMTyhYIyNiZWdpKSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWyA4XSwgQ09QWTY0SEkyTE8oWCMjYmlnbykpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsgOV0sIENPUFk2NEhJMkxPKFgjI2JvZ3UpKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTBdLCBYIyNrYW1lKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTFdLCBYIyNrZW1pKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTJdLCBYIyNraW1vKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMTNdLCBYIyNrb211KTsgXAorICAgIFNUT1JFMTI4KHN0YXRlWzE0XSwgWCMja3VtYSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzE2XSwgQ09QWTY0SEkyTE8oWCMja2FtZSkpOyBcCisgICAgU1RPUkU2NChzdGF0ZVsxN10sIENPUFk2NEhJMkxPKFgjI2tlbWkpKTsgXAorICAgIFNUT1JFNjQoc3RhdGVbMThdLCBDT1BZNjRISTJMTyhYIyNraW1vKSk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzE5XSwgQ09QWTY0SEkyTE8oWCMja29tdSkpOyBcCisgICAgU1RPUkUxMjgoc3RhdGVbMjBdLCBYIyNzYXNlKTsgXAorICAgIFNUT1JFMTI4KHN0YXRlWzIyXSwgWCMjc2lzbyk7IFwKKyAgICBTVE9SRTY0KHN0YXRlWzI0XSwgWCMjc3UpOyBcCisKKyNkZWZpbmUgY29weVN0YXRlVmFyaWFibGVzKFgsIFkpIFwKKyAgICBYIyNiYWdlID0gWSMjYmFnZTsgXAorICAgIFgjI2JlZ2kgPSBZIyNiZWdpOyBcCisgICAgWCMjYmlnbyA9IFkjI2JpZ287IFwKKyAgICBYIyNib2d1ID0gWSMjYm9ndTsgXAorICAgIFgjI2J1Z2EgPSBZIyNidWdhOyBcCisgICAgWCMja2FtZSA9IFkjI2thbWU7IFwKKyAgICBYIyNrZW1pID0gWSMja2VtaTsgXAorICAgIFgjI2tpbW8gPSBZIyNraW1vOyBcCisgICAgWCMja29tdSA9IFkjI2tvbXU7IFwKKyAgICBYIyNrdW1hID0gWSMja3VtYTsgXAorICAgIFgjI3Nhc2UgPSBZIyNzYXNlOyBcCisgICAgWCMjc2lzbyA9IFkjI3Npc287IFwKKyAgICBYIyNzdSA9IFkjI3N1OyBcCisKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha05JU1RJbnRlcmZhY2UuYyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha05JU1RJbnRlcmZhY2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTQwODJiCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrTklTVEludGVyZmFjZS5jCkBAIC0wLDAgKzEsODMgQEAKKy8qCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgdGhlIGRlc2lnbmVycywKK2hlcmVieSBkZW5vdGVkIGFzICJ0aGUgaW1wbGVtZW50ZXIiLgorCitUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3JpbmcgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGZpbGUuCitodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAiS2VjY2FrTklTVEludGVyZmFjZS5oIgorI2luY2x1ZGUgIktlY2Nha0YtMTYwMC1pbnRlcmZhY2UuaCIKKworc3RhdGljIEhhc2hSZXR1cm4gSW5pdChoYXNoU3RhdGUgKnN0YXRlLCBpbnQgaGFzaGJpdGxlbikKK3sKKyAgICBzd2l0Y2goaGFzaGJpdGxlbikgeworICAgICAgICBjYXNlIDA6IC8qICBEZWZhdWx0IHBhcmFtZXRlcnMsIGFyYml0cmFyeSBsZW5ndGggb3V0cHV0ICovCisgICAgICAgICAgICBJbml0U3BvbmdlKChzcG9uZ2VTdGF0ZSopc3RhdGUsIDEwMjQsIDU3Nik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyMjQ6CisgICAgICAgICAgICBJbml0U3BvbmdlKChzcG9uZ2VTdGF0ZSopc3RhdGUsIDExNTIsIDQ0OCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyNTY6CisgICAgICAgICAgICBJbml0U3BvbmdlKChzcG9uZ2VTdGF0ZSopc3RhdGUsIDEwODgsIDUxMik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAzODQ6CisgICAgICAgICAgICBJbml0U3BvbmdlKChzcG9uZ2VTdGF0ZSopc3RhdGUsIDgzMiwgNzY4KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDUxMjoKKyAgICAgICAgICAgIEluaXRTcG9uZ2UoKHNwb25nZVN0YXRlKilzdGF0ZSwgNTc2LCAxMDI0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIEJBRF9IQVNITEVOOworICAgIH0KKyAgICBzdGF0ZS0+Zml4ZWRPdXRwdXRMZW5ndGggPSBoYXNoYml0bGVuOworICAgIHJldHVybiBTVUNDRVNTOworfQorCitzdGF0aWMgSGFzaFJldHVybiBVcGRhdGUoaGFzaFN0YXRlICpzdGF0ZSwgY29uc3QgQml0U2VxdWVuY2UgKmRhdGEsIERhdGFMZW5ndGggZGF0YWJpdGxlbikKK3sKKyAgICBpZiAoKGRhdGFiaXRsZW4gJSA4KSA9PSAwKQorICAgICAgICByZXR1cm4gQWJzb3JiKChzcG9uZ2VTdGF0ZSopc3RhdGUsIGRhdGEsIGRhdGFiaXRsZW4pOworICAgIGVsc2UgeworICAgICAgICBIYXNoUmV0dXJuIHJldCA9IEFic29yYigoc3BvbmdlU3RhdGUqKXN0YXRlLCBkYXRhLCBkYXRhYml0bGVuIC0gKGRhdGFiaXRsZW4gJSA4KSk7CisgICAgICAgIGlmIChyZXQgPT0gU1VDQ0VTUykgeworICAgICAgICAgICAgdW5zaWduZWQgY2hhciBsYXN0Qnl0ZTsgCisgICAgICAgICAgICAvKiAgQWxpZ24gdGhlIGxhc3QgcGFydGlhbCBieXRlIHRvIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXRzICovCisgICAgICAgICAgICBsYXN0Qnl0ZSA9IGRhdGFbZGF0YWJpdGxlbi84XSA+PiAoOCAtIChkYXRhYml0bGVuICUgOCkpOworICAgICAgICAgICAgcmV0dXJuIEFic29yYigoc3BvbmdlU3RhdGUqKXN0YXRlLCAmbGFzdEJ5dGUsIGRhdGFiaXRsZW4gJSA4KTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgIH0KK30KKworc3RhdGljIEhhc2hSZXR1cm4gRmluYWwoaGFzaFN0YXRlICpzdGF0ZSwgQml0U2VxdWVuY2UgKmhhc2h2YWwpCit7CisgICAgcmV0dXJuIFNxdWVlemUoc3RhdGUsIGhhc2h2YWwsIHN0YXRlLT5maXhlZE91dHB1dExlbmd0aCk7Cit9CisKKy8qCitzdGF0aWMgSGFzaFJldHVybiBIYXNoKGludCBoYXNoYml0bGVuLCBjb25zdCBCaXRTZXF1ZW5jZSAqZGF0YSwgRGF0YUxlbmd0aCBkYXRhYml0bGVuLCBCaXRTZXF1ZW5jZSAqaGFzaHZhbCkKK3sKKyAgICBoYXNoU3RhdGUgc3RhdGU7CisgICAgSGFzaFJldHVybiByZXN1bHQ7CisKKyAgICBpZiAoKGhhc2hiaXRsZW4gIT0gMjI0KSAmJiAoaGFzaGJpdGxlbiAhPSAyNTYpICYmIChoYXNoYml0bGVuICE9IDM4NCkgJiYgKGhhc2hiaXRsZW4gIT0gNTEyKSkKKyAgICAgICAgcmV0dXJuIEJBRF9IQVNITEVOOyAqICBPbmx5IHRoZSBmb3VyIGZpeGVkIG91dHB1dCBsZW5ndGhzIGF2YWlsYWJsZSB0aHJvdWdoIHRoaXMgQVBJICoKKyAgICByZXN1bHQgPSBJbml0KCZzdGF0ZSwgaGFzaGJpdGxlbik7CisgICAgaWYgKHJlc3VsdCAhPSBTVUNDRVNTKQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIHJlc3VsdCA9IFVwZGF0ZSgmc3RhdGUsIGRhdGEsIGRhdGFiaXRsZW4pOworICAgIGlmIChyZXN1bHQgIT0gU1VDQ0VTUykKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXN1bHQgPSBGaW5hbCgmc3RhdGUsIGhhc2h2YWwpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisqLworCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtOSVNUSW50ZXJmYWNlLmggYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtOSVNUSW50ZXJmYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjQ0NDMxYgotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha05JU1RJbnRlcmZhY2UuaApAQCAtMCwwICsxLDcyIEBACisvKgorVGhlIEtlY2NhayBzcG9uZ2UgZnVuY3Rpb24sIGRlc2lnbmVkIGJ5IEd1aWRvIEJlcnRvbmksIEpvYW4gRGFlbWVuLAorTWljaGHDq2wgUGVldGVycyBhbmQgR2lsbGVzIFZhbiBBc3NjaGUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBmZWVkYmFjayBvcgorcXVlc3Rpb25zLCBwbGVhc2UgcmVmZXIgdG8gb3VyIHdlYnNpdGU6IGh0dHA6Ly9rZWNjYWsubm9la2Vvbi5vcmcvCisKK0ltcGxlbWVudGF0aW9uIGJ5IHRoZSBkZXNpZ25lcnMsCitoZXJlYnkgZGVub3RlZCBhcyAidGhlIGltcGxlbWVudGVyIi4KKworVG8gdGhlIGV4dGVudCBwb3NzaWJsZSB1bmRlciBsYXcsIHRoZSBpbXBsZW1lbnRlciBoYXMgd2FpdmVkIGFsbCBjb3B5cmlnaHQKK2FuZCByZWxhdGVkIG9yIG5laWdoYm9yaW5nIHJpZ2h0cyB0byB0aGUgc291cmNlIGNvZGUgaW4gdGhpcyBmaWxlLgoraHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworKi8KKworI2lmbmRlZiBfS2VjY2FrTklTVEludGVyZmFjZV9oXworI2RlZmluZSBfS2VjY2FrTklTVEludGVyZmFjZV9oXworCisjaW5jbHVkZSAiS2VjY2FrU3BvbmdlLmgiCisKK3R5cGVkZWYgdW5zaWduZWQgY2hhciBCaXRTZXF1ZW5jZTsKK3R5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIERhdGFMZW5ndGg7Cit0eXBlZGVmIGVudW0geyBTVUNDRVNTID0gMCwgRkFJTCA9IDEsIEJBRF9IQVNITEVOID0gMiB9IEhhc2hSZXR1cm47CisKK3R5cGVkZWYgc3BvbmdlU3RhdGUgaGFzaFN0YXRlOworCisvKioKKyAgKiBGdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBzdGF0ZSBvZiB0aGUgS2VjY2FrW3IsIGNdIHNwb25nZSBmdW5jdGlvbi4KKyAgKiBUaGUgcmF0ZSByIGFuZCBjYXBhY2l0eSBjIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBmcm9tIEBhIGhhc2hiaXRsZW4uCisgICogQHBhcmFtICBzdGF0ZSAgICAgICBQb2ludGVyIHRvIHRoZSBzdGF0ZSBvZiB0aGUgc3BvbmdlIGZ1bmN0aW9uIHRvIGJlIGluaXRpYWxpemVkLgorICAqIEBwYXJhbSAgaGFzaGJpdGxlbiAgVGhlIGRlc2lyZWQgbnVtYmVyIG9mIG91dHB1dCBiaXRzLCAKKyAgKiAgICAgICAgICAgICAgICAgICAgIG9yIDAgZm9yIEtlY2Nha1tdIHdpdGggZGVmYXVsdCBwYXJhbWV0ZXJzCisgICogICAgICAgICAgICAgICAgICAgICBhbmQgYXJiaXRyYXJpbHktbG9uZyBvdXRwdXQuCisgICogQHByZSAgICBUaGUgdmFsdWUgb2YgaGFzaGJpdGxlbiBtdXN0IGJlIG9uZSBvZiAwLCAyMjQsIDI1NiwgMzg0IGFuZCA1MTIuCisgICogQHJldHVybiBTVUNDRVNTIGlmIHN1Y2Nlc3NmdWwsIEJBRF9IQVNITEVOIGlmIHRoZSB2YWx1ZSBvZiBoYXNoYml0bGVuIGlzIGluY29ycmVjdC4KKyAgKi8KK3N0YXRpYyBIYXNoUmV0dXJuIEluaXQoaGFzaFN0YXRlICpzdGF0ZSwgaW50IGhhc2hiaXRsZW4pOworLyoqCisgICogRnVuY3Rpb24gdG8gZ2l2ZSBpbnB1dCBkYXRhIGZvciB0aGUgc3BvbmdlIGZ1bmN0aW9uIHRvIGFic29yYi4KKyAgKiBAcGFyYW0gIHN0YXRlICAgICAgIFBvaW50ZXIgdG8gdGhlIHN0YXRlIG9mIHRoZSBzcG9uZ2UgZnVuY3Rpb24gaW5pdGlhbGl6ZWQgYnkgSW5pdCgpLgorICAqIEBwYXJhbSAgZGF0YSAgICAgICAgUG9pbnRlciB0byB0aGUgaW5wdXQgZGF0YS4gCisgICogICAgICAgICAgICAgICAgICAgICBXaGVuIEBhIGRhdGFiaXRMZW4gaXMgbm90IGEgbXVsdGlwbGUgb2YgOCwgdGhlIGxhc3QgYml0cyBvZiBkYXRhIG11c3QgYmUKKyAgKiAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBtb3N0IHNpZ25pZmljYW50IGJpdHMgb2YgdGhlIGxhc3QgYnl0ZS4KKyAgKiBAcGFyYW0gIGRhdGFiaXRMZW4gIFRoZSBudW1iZXIgb2YgaW5wdXQgYml0cyBwcm92aWRlZCBpbiB0aGUgaW5wdXQgZGF0YS4KKyAgKiBAcHJlICAgIEluIHRoZSBwcmV2aW91cyBjYWxsIHRvIEFic29yYigpLCBkYXRhYml0TGVuIHdhcyBhIG11bHRpcGxlIG9mIDguCisgICogQHJldHVybiBTVUNDRVNTIGlmIHN1Y2Nlc3NmdWwsIEZBSUwgb3RoZXJ3aXNlLgorICAqLworc3RhdGljIEhhc2hSZXR1cm4gVXBkYXRlKGhhc2hTdGF0ZSAqc3RhdGUsIGNvbnN0IEJpdFNlcXVlbmNlICpkYXRhLCBEYXRhTGVuZ3RoIGRhdGFiaXRsZW4pOworLyoqCisgICogRnVuY3Rpb24gdG8gc3F1ZWV6ZSBvdXRwdXQgZGF0YSBmcm9tIHRoZSBzcG9uZ2UgZnVuY3Rpb24uCisgICogSWYgQGEgaGFzaGJpdGxlbiB3YXMgbm90IDAgaW4gdGhlIGNhbGwgdG8gSW5pdCgpLCB0aGUgbnVtYmVyIG9mIG91dHB1dCBiaXRzIGlzIGVxdWFsIHRvIEBhIGhhc2hiaXRsZW4uCisgICogSWYgQGEgaGFzaGJpdGxlbiB3YXMgMCBpbiB0aGUgY2FsbCB0byBJbml0KCksIHRoZSBvdXRwdXQgYml0cyBtdXN0IGJlIGV4dHJhY3RlZCB1c2luZyB0aGUgU3F1ZWV6ZSgpIGZ1bmN0aW9uLgorICAqIEBwYXJhbSAgc3RhdGUgICAgICAgUG9pbnRlciB0byB0aGUgc3RhdGUgb2YgdGhlIHNwb25nZSBmdW5jdGlvbiBpbml0aWFsaXplZCBieSBJbml0KCkuCisgICogQHBhcmFtICBoYXNodmFsICAgICBQb2ludGVyIHRvIHRoZSBidWZmZXIgd2hlcmUgdG8gc3RvcmUgdGhlIG91dHB1dCBkYXRhLgorICAqIEByZXR1cm4gU1VDQ0VTUyBpZiBzdWNjZXNzZnVsLCBGQUlMIG90aGVyd2lzZS4KKyAgKi8KK3N0YXRpYyBIYXNoUmV0dXJuIEZpbmFsKGhhc2hTdGF0ZSAqc3RhdGUsIEJpdFNlcXVlbmNlICpoYXNodmFsKTsKKy8qKgorICAqIEZ1bmN0aW9uIHRvIGNvbXB1dGUgYSBoYXNoIHVzaW5nIHRoZSBLZWNjYWtbciwgY10gc3BvbmdlIGZ1bmN0aW9uLgorICAqIFRoZSByYXRlIHIgYW5kIGNhcGFjaXR5IGMgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGZyb20gQGEgaGFzaGJpdGxlbi4KKyAgKiBAcGFyYW0gIGhhc2hiaXRsZW4gIFRoZSBkZXNpcmVkIG51bWJlciBvZiBvdXRwdXQgYml0cy4KKyAgKiBAcGFyYW0gIGRhdGEgICAgICAgIFBvaW50ZXIgdG8gdGhlIGlucHV0IGRhdGEuIAorICAqICAgICAgICAgICAgICAgICAgICAgV2hlbiBAYSBkYXRhYml0TGVuIGlzIG5vdCBhIG11bHRpcGxlIG9mIDgsIHRoZSBsYXN0IGJpdHMgb2YgZGF0YSBtdXN0IGJlCisgICogICAgICAgICAgICAgICAgICAgICBpbiB0aGUgbW9zdCBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBsYXN0IGJ5dGUuCisgICogQHBhcmFtICBkYXRhYml0TGVuICBUaGUgbnVtYmVyIG9mIGlucHV0IGJpdHMgcHJvdmlkZWQgaW4gdGhlIGlucHV0IGRhdGEuCisgICogQHBhcmFtICBoYXNodmFsICAgICBQb2ludGVyIHRvIHRoZSBidWZmZXIgd2hlcmUgdG8gc3RvcmUgdGhlIG91dHB1dCBkYXRhLgorICAqIEBwcmUgICAgVGhlIHZhbHVlIG9mIGhhc2hiaXRsZW4gbXVzdCBiZSBvbmUgb2YgMjI0LCAyNTYsIDM4NCBhbmQgNTEyLgorICAqIEByZXR1cm4gU1VDQ0VTUyBpZiBzdWNjZXNzZnVsLCBCQURfSEFTSExFTiBpZiB0aGUgdmFsdWUgb2YgaGFzaGJpdGxlbiBpcyBpbmNvcnJlY3QuCisgICovCisvKgorc3RhdGljIEhhc2hSZXR1cm4gSGFzaChpbnQgaGFzaGJpdGxlbiwgY29uc3QgQml0U2VxdWVuY2UgKmRhdGEsIERhdGFMZW5ndGggZGF0YWJpdGxlbiwgQml0U2VxdWVuY2UgKmhhc2h2YWwpOworKi8KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtTcG9uZ2UuYyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha1Nwb25nZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYTZiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9LZWNjYWtTcG9uZ2UuYwpAQCAtMCwwICsxLDI2NiBAQAorLyoKK1RoZSBLZWNjYWsgc3BvbmdlIGZ1bmN0aW9uLCBkZXNpZ25lZCBieSBHdWlkbyBCZXJ0b25pLCBKb2FuIERhZW1lbiwKK01pY2hhw6tsIFBlZXRlcnMgYW5kIEdpbGxlcyBWYW4gQXNzY2hlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgZmVlZGJhY2sgb3IKK3F1ZXN0aW9ucywgcGxlYXNlIHJlZmVyIHRvIG91ciB3ZWJzaXRlOiBodHRwOi8va2VjY2FrLm5vZWtlb24ub3JnLworCitJbXBsZW1lbnRhdGlvbiBieSB0aGUgZGVzaWduZXJzLAoraGVyZWJ5IGRlbm90ZWQgYXMgInRoZSBpbXBsZW1lbnRlciIuCisKK1RvIHRoZSBleHRlbnQgcG9zc2libGUgdW5kZXIgbGF3LCB0aGUgaW1wbGVtZW50ZXIgaGFzIHdhaXZlZCBhbGwgY29weXJpZ2h0CithbmQgcmVsYXRlZCBvciBuZWlnaGJvcmluZyByaWdodHMgdG8gdGhlIHNvdXJjZSBjb2RlIGluIHRoaXMgZmlsZS4KK2h0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKyovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJLZWNjYWtTcG9uZ2UuaCIKKyNpbmNsdWRlICJLZWNjYWtGLTE2MDAtaW50ZXJmYWNlLmgiCisjaWZkZWYgS2VjY2FrUmVmZXJlbmNlCisjaW5jbHVkZSAiZGlzcGxheUludGVybWVkaWF0ZVZhbHVlcy5oIgorI2VuZGlmCisKK3N0YXRpYyBpbnQgSW5pdFNwb25nZShzcG9uZ2VTdGF0ZSAqc3RhdGUsIHVuc2lnbmVkIGludCByYXRlLCB1bnNpZ25lZCBpbnQgY2FwYWNpdHkpCit7CisgICAgaWYgKHJhdGUrY2FwYWNpdHkgIT0gMTYwMCkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKChyYXRlIDw9IDApIHx8IChyYXRlID49IDE2MDApIHx8ICgocmF0ZSAlIDY0KSAhPSAwKSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgS2VjY2FrSW5pdGlhbGl6ZSgpOworICAgIHN0YXRlLT5yYXRlID0gcmF0ZTsKKyAgICBzdGF0ZS0+Y2FwYWNpdHkgPSBjYXBhY2l0eTsKKyAgICBzdGF0ZS0+Zml4ZWRPdXRwdXRMZW5ndGggPSAwOworICAgIEtlY2Nha0luaXRpYWxpemVTdGF0ZShzdGF0ZS0+c3RhdGUpOworICAgIG1lbXNldChzdGF0ZS0+ZGF0YVF1ZXVlLCAwLCBLZWNjYWtNYXhpbXVtUmF0ZUluQnl0ZXMpOworICAgIHN0YXRlLT5iaXRzSW5RdWV1ZSA9IDA7CisgICAgc3RhdGUtPnNxdWVlemluZyA9IDA7CisgICAgc3RhdGUtPmJpdHNBdmFpbGFibGVGb3JTcXVlZXppbmcgPSAwOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIEFic29yYlF1ZXVlKHNwb25nZVN0YXRlICpzdGF0ZSkKK3sKKyAgICAvKiAgc3RhdGUtPmJpdHNJblF1ZXVlIGlzIGFzc3VtZWQgdG8gYmUgZXF1YWwgdG8gc3RhdGUtPnJhdGUgKi8KKyAgICAjaWZkZWYgS2VjY2FrUmVmZXJlbmNlCisgICAgZGlzcGxheUJ5dGVzKDEsICJCbG9jayB0byBiZSBhYnNvcmJlZCIsIHN0YXRlLT5kYXRhUXVldWUsIHN0YXRlLT5yYXRlLzgpOworICAgICNlbmRpZgorI2lmZGVmIFByb3ZpZGVGYXN0NTc2CisgICAgaWYgKHN0YXRlLT5yYXRlID09IDU3NikKKyAgICAgICAgS2VjY2FrQWJzb3JiNTc2Yml0cyhzdGF0ZS0+c3RhdGUsIHN0YXRlLT5kYXRhUXVldWUpOworICAgIGVsc2UgCisjZW5kaWYKKyNpZmRlZiBQcm92aWRlRmFzdDgzMgorICAgIGlmIChzdGF0ZS0+cmF0ZSA9PSA4MzIpCisgICAgICAgIEtlY2Nha0Fic29yYjgzMmJpdHMoc3RhdGUtPnN0YXRlLCBzdGF0ZS0+ZGF0YVF1ZXVlKTsKKyAgICBlbHNlIAorI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CisgICAgaWYgKHN0YXRlLT5yYXRlID09IDEwMjQpCisgICAgICAgIEtlY2Nha0Fic29yYjEwMjRiaXRzKHN0YXRlLT5zdGF0ZSwgc3RhdGUtPmRhdGFRdWV1ZSk7CisgICAgZWxzZSAKKyNlbmRpZgorI2lmZGVmIFByb3ZpZGVGYXN0MTA4OAorICAgIGlmIChzdGF0ZS0+cmF0ZSA9PSAxMDg4KQorICAgICAgICBLZWNjYWtBYnNvcmIxMDg4Yml0cyhzdGF0ZS0+c3RhdGUsIHN0YXRlLT5kYXRhUXVldWUpOworICAgIGVsc2UKKyNlbmRpZgorI2lmZGVmIFByb3ZpZGVGYXN0MTE1MgorICAgIGlmIChzdGF0ZS0+cmF0ZSA9PSAxMTUyKQorICAgICAgICBLZWNjYWtBYnNvcmIxMTUyYml0cyhzdGF0ZS0+c3RhdGUsIHN0YXRlLT5kYXRhUXVldWUpOworICAgIGVsc2UgCisjZW5kaWYKKyNpZmRlZiBQcm92aWRlRmFzdDEzNDQKKyAgICBpZiAoc3RhdGUtPnJhdGUgPT0gMTM0NCkKKyAgICAgICAgS2VjY2FrQWJzb3JiMTM0NGJpdHMoc3RhdGUtPnN0YXRlLCBzdGF0ZS0+ZGF0YVF1ZXVlKTsKKyAgICBlbHNlIAorI2VuZGlmCisgICAgICAgIEtlY2Nha0Fic29yYihzdGF0ZS0+c3RhdGUsIHN0YXRlLT5kYXRhUXVldWUsIHN0YXRlLT5yYXRlLzY0KTsKKyAgICBzdGF0ZS0+Yml0c0luUXVldWUgPSAwOworfQorCitzdGF0aWMgaW50IEFic29yYihzcG9uZ2VTdGF0ZSAqc3RhdGUsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIHVuc2lnbmVkIGxvbmcgbG9uZyBkYXRhYml0bGVuKQoreworICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpLCBqLCB3aG9sZUJsb2NrczsKKyAgICB1bnNpZ25lZCBpbnQgcGFydGlhbEJsb2NrLCBwYXJ0aWFsQnl0ZTsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjdXJEYXRhOworCisgICAgaWYgKChzdGF0ZS0+Yml0c0luUXVldWUgJSA4KSAhPSAwKQorICAgICAgICByZXR1cm4gMTsgLyogIE9ubHkgdGhlIGxhc3QgY2FsbCBtYXkgY29udGFpbiBhIHBhcnRpYWwgYnl0ZSAqLworICAgIGlmIChzdGF0ZS0+c3F1ZWV6aW5nKQorICAgICAgICByZXR1cm4gMTsgLyogIFRvbyBsYXRlIGZvciBhZGRpdGlvbmFsIGlucHV0ICovCisKKyAgICBpID0gMDsKKyAgICB3aGlsZShpIDwgZGF0YWJpdGxlbikgeworICAgICAgICBpZiAoKHN0YXRlLT5iaXRzSW5RdWV1ZSA9PSAwKSAmJiAoZGF0YWJpdGxlbiA+PSBzdGF0ZS0+cmF0ZSkgJiYgKGkgPD0gKGRhdGFiaXRsZW4tc3RhdGUtPnJhdGUpKSkgeworICAgICAgICAgICAgd2hvbGVCbG9ja3MgPSAoZGF0YWJpdGxlbi1pKS9zdGF0ZS0+cmF0ZTsKKyAgICAgICAgICAgIGN1ckRhdGEgPSBkYXRhK2kvODsKKyNpZmRlZiBQcm92aWRlRmFzdDU3NgorICAgICAgICAgICAgaWYgKHN0YXRlLT5yYXRlID09IDU3NikgeworICAgICAgICAgICAgICAgIGZvcihqPTA7IGo8d2hvbGVCbG9ja3M7IGorKywgY3VyRGF0YSs9NTc2LzgpIHsKKyAgICAgICAgICAgICAgICAgICAgI2lmZGVmIEtlY2Nha1JlZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Qnl0ZXMoMSwgIkJsb2NrIHRvIGJlIGFic29yYmVkIiwgY3VyRGF0YSwgc3RhdGUtPnJhdGUvOCk7CisgICAgICAgICAgICAgICAgICAgICNlbmRpZgorICAgICAgICAgICAgICAgICAgICBLZWNjYWtBYnNvcmI1NzZiaXRzKHN0YXRlLT5zdGF0ZSwgY3VyRGF0YSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3Q4MzIKKyAgICAgICAgICAgIGlmIChzdGF0ZS0+cmF0ZSA9PSA4MzIpIHsKKyAgICAgICAgICAgICAgICBmb3Ioaj0wOyBqPHdob2xlQmxvY2tzOyBqKyssIGN1ckRhdGErPTgzMi84KSB7CisgICAgICAgICAgICAgICAgICAgICNpZmRlZiBLZWNjYWtSZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgZGlzcGxheUJ5dGVzKDEsICJCbG9jayB0byBiZSBhYnNvcmJlZCIsIGN1ckRhdGEsIHN0YXRlLT5yYXRlLzgpOworICAgICAgICAgICAgICAgICAgICAjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgS2VjY2FrQWJzb3JiODMyYml0cyhzdGF0ZS0+c3RhdGUsIGN1ckRhdGEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyNlbmRpZgorI2lmZGVmIFByb3ZpZGVGYXN0MTAyNAorICAgICAgICAgICAgaWYgKHN0YXRlLT5yYXRlID09IDEwMjQpIHsKKyAgICAgICAgICAgICAgICBmb3Ioaj0wOyBqPHdob2xlQmxvY2tzOyBqKyssIGN1ckRhdGErPTEwMjQvOCkgeworICAgICAgICAgICAgICAgICAgICAjaWZkZWYgS2VjY2FrUmVmZXJlbmNlCisgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlCeXRlcygxLCAiQmxvY2sgdG8gYmUgYWJzb3JiZWQiLCBjdXJEYXRhLCBzdGF0ZS0+cmF0ZS84KTsKKyAgICAgICAgICAgICAgICAgICAgI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIEtlY2Nha0Fic29yYjEwMjRiaXRzKHN0YXRlLT5zdGF0ZSwgY3VyRGF0YSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3QxMDg4CisgICAgICAgICAgICBpZiAoc3RhdGUtPnJhdGUgPT0gMTA4OCkgeworICAgICAgICAgICAgICAgIGZvcihqPTA7IGo8d2hvbGVCbG9ja3M7IGorKywgY3VyRGF0YSs9MTA4OC84KSB7CisgICAgICAgICAgICAgICAgICAgICNpZmRlZiBLZWNjYWtSZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgZGlzcGxheUJ5dGVzKDEsICJCbG9jayB0byBiZSBhYnNvcmJlZCIsIGN1ckRhdGEsIHN0YXRlLT5yYXRlLzgpOworICAgICAgICAgICAgICAgICAgICAjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgS2VjY2FrQWJzb3JiMTA4OGJpdHMoc3RhdGUtPnN0YXRlLCBjdXJEYXRhKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisjZW5kaWYKKyNpZmRlZiBQcm92aWRlRmFzdDExNTIKKyAgICAgICAgICAgIGlmIChzdGF0ZS0+cmF0ZSA9PSAxMTUyKSB7CisgICAgICAgICAgICAgICAgZm9yKGo9MDsgajx3aG9sZUJsb2NrczsgaisrLCBjdXJEYXRhKz0xMTUyLzgpIHsKKyAgICAgICAgICAgICAgICAgICAgI2lmZGVmIEtlY2Nha1JlZmVyZW5jZQorICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Qnl0ZXMoMSwgIkJsb2NrIHRvIGJlIGFic29yYmVkIiwgY3VyRGF0YSwgc3RhdGUtPnJhdGUvOCk7CisgICAgICAgICAgICAgICAgICAgICNlbmRpZgorICAgICAgICAgICAgICAgICAgICBLZWNjYWtBYnNvcmIxMTUyYml0cyhzdGF0ZS0+c3RhdGUsIGN1ckRhdGEpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyNlbmRpZgorI2lmZGVmIFByb3ZpZGVGYXN0MTM0NAorICAgICAgICAgICAgaWYgKHN0YXRlLT5yYXRlID09IDEzNDQpIHsKKyAgICAgICAgICAgICAgICBmb3Ioaj0wOyBqPHdob2xlQmxvY2tzOyBqKyssIGN1ckRhdGErPTEzNDQvOCkgeworICAgICAgICAgICAgICAgICAgICAjaWZkZWYgS2VjY2FrUmVmZXJlbmNlCisgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlCeXRlcygxLCAiQmxvY2sgdG8gYmUgYWJzb3JiZWQiLCBjdXJEYXRhLCBzdGF0ZS0+cmF0ZS84KTsKKyAgICAgICAgICAgICAgICAgICAgI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIEtlY2Nha0Fic29yYjEzNDRiaXRzKHN0YXRlLT5zdGF0ZSwgY3VyRGF0YSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZm9yKGo9MDsgajx3aG9sZUJsb2NrczsgaisrLCBjdXJEYXRhKz1zdGF0ZS0+cmF0ZS84KSB7CisgICAgICAgICAgICAgICAgICAgICNpZmRlZiBLZWNjYWtSZWZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgZGlzcGxheUJ5dGVzKDEsICJCbG9jayB0byBiZSBhYnNvcmJlZCIsIGN1ckRhdGEsIHN0YXRlLT5yYXRlLzgpOworICAgICAgICAgICAgICAgICAgICAjZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgS2VjY2FrQWJzb3JiKHN0YXRlLT5zdGF0ZSwgY3VyRGF0YSwgc3RhdGUtPnJhdGUvNjQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGkgKz0gd2hvbGVCbG9ja3Mqc3RhdGUtPnJhdGU7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBwYXJ0aWFsQmxvY2sgPSAodW5zaWduZWQgaW50KShkYXRhYml0bGVuIC0gaSk7CisgICAgICAgICAgICBpZiAocGFydGlhbEJsb2NrK3N0YXRlLT5iaXRzSW5RdWV1ZSA+IHN0YXRlLT5yYXRlKQorICAgICAgICAgICAgICAgIHBhcnRpYWxCbG9jayA9IHN0YXRlLT5yYXRlLXN0YXRlLT5iaXRzSW5RdWV1ZTsKKyAgICAgICAgICAgIHBhcnRpYWxCeXRlID0gcGFydGlhbEJsb2NrICUgODsKKyAgICAgICAgICAgIHBhcnRpYWxCbG9jayAtPSBwYXJ0aWFsQnl0ZTsKKyAgICAgICAgICAgIG1lbWNweShzdGF0ZS0+ZGF0YVF1ZXVlK3N0YXRlLT5iaXRzSW5RdWV1ZS84LCBkYXRhK2kvOCwgcGFydGlhbEJsb2NrLzgpOworICAgICAgICAgICAgc3RhdGUtPmJpdHNJblF1ZXVlICs9IHBhcnRpYWxCbG9jazsKKyAgICAgICAgICAgIGkgKz0gcGFydGlhbEJsb2NrOworICAgICAgICAgICAgaWYgKHN0YXRlLT5iaXRzSW5RdWV1ZSA9PSBzdGF0ZS0+cmF0ZSkKKyAgICAgICAgICAgICAgICBBYnNvcmJRdWV1ZShzdGF0ZSk7CisgICAgICAgICAgICBpZiAocGFydGlhbEJ5dGUgPiAwKSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBtYXNrID0gKDEgPDwgcGFydGlhbEJ5dGUpLTE7CisgICAgICAgICAgICAgICAgc3RhdGUtPmRhdGFRdWV1ZVtzdGF0ZS0+Yml0c0luUXVldWUvOF0gPSBkYXRhW2kvOF0gJiBtYXNrOworICAgICAgICAgICAgICAgIHN0YXRlLT5iaXRzSW5RdWV1ZSArPSBwYXJ0aWFsQnl0ZTsKKyAgICAgICAgICAgICAgICBpICs9IHBhcnRpYWxCeXRlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBQYWRBbmRTd2l0Y2hUb1NxdWVlemluZ1BoYXNlKHNwb25nZVN0YXRlICpzdGF0ZSkKK3sKKyAgICAvKiAgTm90ZTogdGhlIGJpdHMgYXJlIG51bWJlcmVkIGZyb20gMD1MU0IgdG8gNz1NU0IgKi8KKyAgICBpZiAoc3RhdGUtPmJpdHNJblF1ZXVlICsgMSA9PSBzdGF0ZS0+cmF0ZSkgeworICAgICAgICBzdGF0ZS0+ZGF0YVF1ZXVlW3N0YXRlLT5iaXRzSW5RdWV1ZS84IF0gfD0gMSA8PCAoc3RhdGUtPmJpdHNJblF1ZXVlICUgOCk7CisgICAgICAgIEFic29yYlF1ZXVlKHN0YXRlKTsKKyAgICAgICAgbWVtc2V0KHN0YXRlLT5kYXRhUXVldWUsIDAsIHN0YXRlLT5yYXRlLzgpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgbWVtc2V0KHN0YXRlLT5kYXRhUXVldWUgKyAoc3RhdGUtPmJpdHNJblF1ZXVlKzcpLzgsIDAsIHN0YXRlLT5yYXRlLzggLSAoc3RhdGUtPmJpdHNJblF1ZXVlKzcpLzgpOworICAgICAgICBzdGF0ZS0+ZGF0YVF1ZXVlW3N0YXRlLT5iaXRzSW5RdWV1ZS84IF0gfD0gMSA8PCAoc3RhdGUtPmJpdHNJblF1ZXVlICUgOCk7CisgICAgfQorICAgIHN0YXRlLT5kYXRhUXVldWVbKHN0YXRlLT5yYXRlLTEpLzhdIHw9IDEgPDwgKChzdGF0ZS0+cmF0ZS0xKSAlIDgpOworICAgIEFic29yYlF1ZXVlKHN0YXRlKTsKKworICAgICNpZmRlZiBLZWNjYWtSZWZlcmVuY2UKKyAgICBkaXNwbGF5VGV4dCgxLCAiLS0tIFN3aXRjaGluZyB0byBzcXVlZXppbmcgcGhhc2UgLS0tIik7CisgICAgI2VuZGlmCisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CisgICAgaWYgKHN0YXRlLT5yYXRlID09IDEwMjQpIHsKKyAgICAgICAgS2VjY2FrRXh0cmFjdDEwMjRiaXRzKHN0YXRlLT5zdGF0ZSwgc3RhdGUtPmRhdGFRdWV1ZSk7CisgICAgICAgIHN0YXRlLT5iaXRzQXZhaWxhYmxlRm9yU3F1ZWV6aW5nID0gMTAyNDsKKyAgICB9CisgICAgZWxzZQorI2VuZGlmCisgICAgeworICAgICAgICBLZWNjYWtFeHRyYWN0KHN0YXRlLT5zdGF0ZSwgc3RhdGUtPmRhdGFRdWV1ZSwgc3RhdGUtPnJhdGUvNjQpOworICAgICAgICBzdGF0ZS0+Yml0c0F2YWlsYWJsZUZvclNxdWVlemluZyA9IHN0YXRlLT5yYXRlOworICAgIH0KKyAgICAjaWZkZWYgS2VjY2FrUmVmZXJlbmNlCisgICAgZGlzcGxheUJ5dGVzKDEsICJCbG9jayBhdmFpbGFibGUgZm9yIHNxdWVlemluZyIsIHN0YXRlLT5kYXRhUXVldWUsIHN0YXRlLT5iaXRzQXZhaWxhYmxlRm9yU3F1ZWV6aW5nLzgpOworICAgICNlbmRpZgorICAgIHN0YXRlLT5zcXVlZXppbmcgPSAxOworfQorCitzdGF0aWMgaW50IFNxdWVlemUoc3BvbmdlU3RhdGUgKnN0YXRlLCB1bnNpZ25lZCBjaGFyICpvdXRwdXQsIHVuc2lnbmVkIGxvbmcgbG9uZyBvdXRwdXRMZW5ndGgpCit7CisgICAgdW5zaWduZWQgbG9uZyBsb25nIGk7CisgICAgdW5zaWduZWQgaW50IHBhcnRpYWxCbG9jazsKKworICAgIGlmICghc3RhdGUtPnNxdWVlemluZykKKyAgICAgICAgUGFkQW5kU3dpdGNoVG9TcXVlZXppbmdQaGFzZShzdGF0ZSk7CisgICAgaWYgKChvdXRwdXRMZW5ndGggJSA4KSAhPSAwKQorICAgICAgICByZXR1cm4gMTsgLyogIE9ubHkgbXVsdGlwbGUgb2YgOCBiaXRzIGFyZSBhbGxvd2VkLCB0cnVuY2F0aW9uIGNhbiBiZSBkb25lIGF0IHVzZXIgbGV2ZWwgKi8KKworICAgIGkgPSAwOworICAgIHdoaWxlKGkgPCBvdXRwdXRMZW5ndGgpIHsKKyAgICAgICAgaWYgKHN0YXRlLT5iaXRzQXZhaWxhYmxlRm9yU3F1ZWV6aW5nID09IDApIHsKKyAgICAgICAgICAgIEtlY2Nha1Blcm11dGF0aW9uKHN0YXRlLT5zdGF0ZSk7CisjaWZkZWYgUHJvdmlkZUZhc3QxMDI0CisgICAgICAgICAgICBpZiAoc3RhdGUtPnJhdGUgPT0gMTAyNCkgeworICAgICAgICAgICAgICAgIEtlY2Nha0V4dHJhY3QxMDI0Yml0cyhzdGF0ZS0+c3RhdGUsIHN0YXRlLT5kYXRhUXVldWUpOworICAgICAgICAgICAgICAgIHN0YXRlLT5iaXRzQXZhaWxhYmxlRm9yU3F1ZWV6aW5nID0gMTAyNDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UKKyNlbmRpZgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEtlY2Nha0V4dHJhY3Qoc3RhdGUtPnN0YXRlLCBzdGF0ZS0+ZGF0YVF1ZXVlLCBzdGF0ZS0+cmF0ZS82NCk7CisgICAgICAgICAgICAgICAgc3RhdGUtPmJpdHNBdmFpbGFibGVGb3JTcXVlZXppbmcgPSBzdGF0ZS0+cmF0ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNpZmRlZiBLZWNjYWtSZWZlcmVuY2UKKyAgICAgICAgICAgIGRpc3BsYXlCeXRlcygxLCAiQmxvY2sgYXZhaWxhYmxlIGZvciBzcXVlZXppbmciLCBzdGF0ZS0+ZGF0YVF1ZXVlLCBzdGF0ZS0+Yml0c0F2YWlsYWJsZUZvclNxdWVlemluZy84KTsKKyAgICAgICAgICAgICNlbmRpZgorICAgICAgICB9CisgICAgICAgIHBhcnRpYWxCbG9jayA9IHN0YXRlLT5iaXRzQXZhaWxhYmxlRm9yU3F1ZWV6aW5nOworICAgICAgICBpZiAoKHVuc2lnbmVkIGxvbmcgbG9uZylwYXJ0aWFsQmxvY2sgPiBvdXRwdXRMZW5ndGggLSBpKQorICAgICAgICAgICAgcGFydGlhbEJsb2NrID0gKHVuc2lnbmVkIGludCkob3V0cHV0TGVuZ3RoIC0gaSk7CisgICAgICAgIG1lbWNweShvdXRwdXQraS84LCBzdGF0ZS0+ZGF0YVF1ZXVlKyhzdGF0ZS0+cmF0ZS1zdGF0ZS0+Yml0c0F2YWlsYWJsZUZvclNxdWVlemluZykvOCwgcGFydGlhbEJsb2NrLzgpOworICAgICAgICBzdGF0ZS0+Yml0c0F2YWlsYWJsZUZvclNxdWVlemluZyAtPSBwYXJ0aWFsQmxvY2s7CisgICAgICAgIGkgKz0gcGFydGlhbEJsb2NrOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha1Nwb25nZS5oIGIvTW9kdWxlcy9fc2hhMy9rZWNjYWsvS2VjY2FrU3BvbmdlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTU0NWNhYwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL0tlY2Nha1Nwb25nZS5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCitUaGUgS2VjY2FrIHNwb25nZSBmdW5jdGlvbiwgZGVzaWduZWQgYnkgR3VpZG8gQmVydG9uaSwgSm9hbiBEYWVtZW4sCitNaWNoYcOrbCBQZWV0ZXJzIGFuZCBHaWxsZXMgVmFuIEFzc2NoZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIGZlZWRiYWNrIG9yCitxdWVzdGlvbnMsIHBsZWFzZSByZWZlciB0byBvdXIgd2Vic2l0ZTogaHR0cDovL2tlY2Nhay5ub2VrZW9uLm9yZy8KKworSW1wbGVtZW50YXRpb24gYnkgdGhlIGRlc2lnbmVycywKK2hlcmVieSBkZW5vdGVkIGFzICJ0aGUgaW1wbGVtZW50ZXIiLgorCitUbyB0aGUgZXh0ZW50IHBvc3NpYmxlIHVuZGVyIGxhdywgdGhlIGltcGxlbWVudGVyIGhhcyB3YWl2ZWQgYWxsIGNvcHlyaWdodAorYW5kIHJlbGF0ZWQgb3IgbmVpZ2hib3JpbmcgcmlnaHRzIHRvIHRoZSBzb3VyY2UgY29kZSBpbiB0aGlzIGZpbGUuCitodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCisqLworCisjaWZuZGVmIF9LZWNjYWtTcG9uZ2VfaF8KKyNkZWZpbmUgX0tlY2Nha1Nwb25nZV9oXworCisjZGVmaW5lIEtlY2Nha1Blcm11dGF0aW9uU2l6ZSAxNjAwCisjZGVmaW5lIEtlY2Nha1Blcm11dGF0aW9uU2l6ZUluQnl0ZXMgKEtlY2Nha1Blcm11dGF0aW9uU2l6ZS84KQorI2RlZmluZSBLZWNjYWtNYXhpbXVtUmF0ZSAxNTM2CisjZGVmaW5lIEtlY2Nha01heGltdW1SYXRlSW5CeXRlcyAoS2VjY2FrTWF4aW11bVJhdGUvOCkKKworI2lmIGRlZmluZWQoX19HTlVDX18pCisjZGVmaW5lIEFMSUdOIF9fYXR0cmlidXRlX18gKChhbGlnbmVkKDMyKSkpCisjZWxpZiBkZWZpbmVkKF9NU0NfVkVSKQorI2RlZmluZSBBTElHTiBfX2RlY2xzcGVjKGFsaWduKDMyKSkKKyNlbHNlCisjZGVmaW5lIEFMSUdOCisjZW5kaWYKKworQUxJR04gdHlwZWRlZiBzdHJ1Y3Qgc3BvbmdlU3RhdGVTdHJ1Y3QgeworICAgIEFMSUdOIHVuc2lnbmVkIGNoYXIgc3RhdGVbS2VjY2FrUGVybXV0YXRpb25TaXplSW5CeXRlc107CisgICAgQUxJR04gdW5zaWduZWQgY2hhciBkYXRhUXVldWVbS2VjY2FrTWF4aW11bVJhdGVJbkJ5dGVzXTsKKyAgICB1bnNpZ25lZCBpbnQgcmF0ZTsKKyAgICB1bnNpZ25lZCBpbnQgY2FwYWNpdHk7CisgICAgdW5zaWduZWQgaW50IGJpdHNJblF1ZXVlOworICAgIHVuc2lnbmVkIGludCBmaXhlZE91dHB1dExlbmd0aDsKKyAgICBpbnQgc3F1ZWV6aW5nOworICAgIHVuc2lnbmVkIGludCBiaXRzQXZhaWxhYmxlRm9yU3F1ZWV6aW5nOworfSBzcG9uZ2VTdGF0ZTsKKworLyoqCisgICogRnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSB0aGUgc3RhdGUgb2YgdGhlIEtlY2Nha1tyLCBjXSBzcG9uZ2UgZnVuY3Rpb24uCisgICogVGhlIHNwb25nZSBmdW5jdGlvbiBpcyBzZXQgdG8gdGhlIGFic29yYmluZyBwaGFzZS4KKyAgKiBAcGFyYW0gIHN0YXRlICAgICAgIFBvaW50ZXIgdG8gdGhlIHN0YXRlIG9mIHRoZSBzcG9uZ2UgZnVuY3Rpb24gdG8gYmUgaW5pdGlhbGl6ZWQuCisgICogQHBhcmFtICByYXRlICAgICAgICBUaGUgdmFsdWUgb2YgdGhlIHJhdGUgci4KKyAgKiBAcGFyYW0gIGNhcGFjaXR5ICAgIFRoZSB2YWx1ZSBvZiB0aGUgY2FwYWNpdHkgYy4KKyAgKiBAcHJlICAgIE9uZSBtdXN0IGhhdmUgcitjPTE2MDAgYW5kIHRoZSByYXRlIGEgbXVsdGlwbGUgb2YgNjQgYml0cyBpbiB0aGlzIGltcGxlbWVudGF0aW9uLgorICAqIEByZXR1cm4gWmVybyBpZiBzdWNjZXNzZnVsLCAxIG90aGVyd2lzZS4KKyAgKi8KK3N0YXRpYyBpbnQgSW5pdFNwb25nZShzcG9uZ2VTdGF0ZSAqc3RhdGUsIHVuc2lnbmVkIGludCByYXRlLCB1bnNpZ25lZCBpbnQgY2FwYWNpdHkpOworLyoqCisgICogRnVuY3Rpb24gdG8gZ2l2ZSBpbnB1dCBkYXRhIGZvciB0aGUgc3BvbmdlIGZ1bmN0aW9uIHRvIGFic29yYi4KKyAgKiBAcGFyYW0gIHN0YXRlICAgICAgIFBvaW50ZXIgdG8gdGhlIHN0YXRlIG9mIHRoZSBzcG9uZ2UgZnVuY3Rpb24gaW5pdGlhbGl6ZWQgYnkgSW5pdFNwb25nZSgpLgorICAqIEBwYXJhbSAgZGF0YSAgICAgICAgUG9pbnRlciB0byB0aGUgaW5wdXQgZGF0YS4gCisgICogICAgICAgICAgICAgICAgICAgICBXaGVuIEBhIGRhdGFiaXRMZW4gaXMgbm90IGEgbXVsdGlwbGUgb2YgOCwgdGhlIGxhc3QgYml0cyBvZiBkYXRhIG11c3QgYmUKKyAgKiAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBsYXN0IGJ5dGUuCisgICogQHBhcmFtICBkYXRhYml0TGVuICBUaGUgbnVtYmVyIG9mIGlucHV0IGJpdHMgcHJvdmlkZWQgaW4gdGhlIGlucHV0IGRhdGEuCisgICogQHByZSAgICBJbiB0aGUgcHJldmlvdXMgY2FsbCB0byBBYnNvcmIoKSwgZGF0YWJpdExlbiB3YXMgYSBtdWx0aXBsZSBvZiA4LgorICAqIEBwcmUgICAgVGhlIHNwb25nZSBmdW5jdGlvbiBtdXN0IGJlIGluIHRoZSBhYnNvcmJpbmcgcGhhc2UsCisgICogICAgICAgICBpLmUuLCBTcXVlZXplKCkgbXVzdCBub3QgaGF2ZSBiZWVuIGNhbGxlZCBiZWZvcmUuCisgICogQHJldHVybiBaZXJvIGlmIHN1Y2Nlc3NmdWwsIDEgb3RoZXJ3aXNlLgorICAqLworc3RhdGljIGludCBBYnNvcmIoc3BvbmdlU3RhdGUgKnN0YXRlLCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCB1bnNpZ25lZCBsb25nIGxvbmcgZGF0YWJpdGxlbik7CisvKioKKyAgKiBGdW5jdGlvbiB0byBzcXVlZXplIG91dHB1dCBkYXRhIGZyb20gdGhlIHNwb25nZSBmdW5jdGlvbi4KKyAgKiBJZiB0aGUgc3BvbmdlIGZ1bmN0aW9uIHdhcyBpbiB0aGUgYWJzb3JiaW5nIHBoYXNlLCB0aGlzIGZ1bmN0aW9uIAorICAqIHN3aXRjaGVzIGl0IHRvIHRoZSBzcXVlZXppbmcgcGhhc2UuCisgICogQHBhcmFtICBzdGF0ZSAgICAgICBQb2ludGVyIHRvIHRoZSBzdGF0ZSBvZiB0aGUgc3BvbmdlIGZ1bmN0aW9uIGluaXRpYWxpemVkIGJ5IEluaXRTcG9uZ2UoKS4KKyAgKiBAcGFyYW0gIG91dHB1dCAgICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciB3aGVyZSB0byBzdG9yZSB0aGUgb3V0cHV0IGRhdGEuCisgICogQHBhcmFtICBvdXRwdXRMZW5ndGggICAgVGhlIG51bWJlciBvZiBvdXRwdXQgYml0cyBkZXNpcmVkLgorICAqICAgICAgICAgICAgICAgICAgICAgSXQgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDguCisgICogQHJldHVybiBaZXJvIGlmIHN1Y2Nlc3NmdWwsIDEgb3RoZXJ3aXNlLgorICAqLworc3RhdGljIGludCBTcXVlZXplKHNwb25nZVN0YXRlICpzdGF0ZSwgdW5zaWduZWQgY2hhciAqb3V0cHV0LCB1bnNpZ25lZCBsb25nIGxvbmcgb3V0cHV0TGVuZ3RoKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zaGEzL2tlY2Nhay9icmdfZW5kaWFuLmggYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9icmdfZW5kaWFuLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzIyNmViMwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvX3NoYTMva2VjY2FrL2JyZ19lbmRpYW4uaApAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDb3B5cmlnaHQgKGMpIDE5OTgtMjAwOCwgQnJpYW4gR2xhZG1hbiwgV29yY2VzdGVyLCBVSy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworIExJQ0VOU0UgVEVSTVMKKworIFRoZSByZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIG9mIHRoaXMgc29mdHdhcmUgKHdpdGggb3Igd2l0aG91dCBjaGFuZ2VzKQorIGlzIGFsbG93ZWQgd2l0aG91dCB0aGUgcGF5bWVudCBvZiBmZWVzIG9yIHJveWFsdGllcyBwcm92aWRlZCB0aGF0OgorCisgIDEuIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGlvbnMgaW5jbHVkZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcworICAgICBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcjsKKworICAyLiBiaW5hcnkgZGlzdHJpYnV0aW9ucyBpbmNsdWRlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3QKKyAgICAgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZWlyIGRvY3VtZW50YXRpb247CisKKyAgMy4gdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgaXMgbm90IHVzZWQgdG8gZW5kb3JzZSBwcm9kdWN0cworICAgICBidWlsdCB1c2luZyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgd3JpdHRlbiBwZXJtaXNzaW9uLgorCisgRElTQ0xBSU1FUgorCisgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMgaXMnIHdpdGggbm8gZXhwbGljaXQgb3IgaW1wbGllZCB3YXJyYW50aWVzCisgaW4gcmVzcGVjdCBvZiBpdHMgcHJvcGVydGllcywgaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIGNvcnJlY3RuZXNzCisgYW5kL29yIGZpdG5lc3MgZm9yIHB1cnBvc2UuCisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgSXNzdWUgRGF0ZTogMjAvMTIvMjAwNworIENoYW5nZXMgZm9yIEFSTSA5LzkvMjAxMAorKi8KKworI2lmbmRlZiBfQlJHX0VORElBTl9ICisjZGVmaW5lIF9CUkdfRU5ESUFOX0gKKworI2RlZmluZSBJU19CSUdfRU5ESUFOICAgICAgNDMyMSAvKiBieXRlIDAgaXMgbW9zdCBzaWduaWZpY2FudCAobWM2OGspICovCisjZGVmaW5lIElTX0xJVFRMRV9FTkRJQU4gICAxMjM0IC8qIGJ5dGUgMCBpcyBsZWFzdCBzaWduaWZpY2FudCAoaTM4NikgKi8KKworI2lmIDAKKy8qIEluY2x1ZGUgZmlsZXMgd2hlcmUgZW5kaWFuIGRlZmluZXMgYW5kIGJ5dGVzd2FwIGZ1bmN0aW9ucyBtYXkgcmVzaWRlICovCisjaWYgZGVmaW5lZCggX19zdW4gKQorIyAgaW5jbHVkZSA8c3lzL2lzYV9kZWZzLmg+CisjZWxpZiBkZWZpbmVkKCBfX0ZyZWVCU0RfXyApIHx8IGRlZmluZWQoIF9fT3BlbkJTRF9fICkgfHwgZGVmaW5lZCggX19OZXRCU0RfXyApCisjICBpbmNsdWRlIDxzeXMvZW5kaWFuLmg+CisjZWxpZiBkZWZpbmVkKCBCU0QgKSAmJiAoIEJTRCA+PSAxOTkxMDMgKSB8fCBkZWZpbmVkKCBfX0FQUExFX18gKSB8fCBcCisgICAgICBkZWZpbmVkKCBfX0NZR1dJTjMyX18gKSB8fCBkZWZpbmVkKCBfX0RKR1BQX18gKSB8fCBkZWZpbmVkKCBfX29zZl9fICkKKyMgIGluY2x1ZGUgPG1hY2hpbmUvZW5kaWFuLmg+CisjZWxpZiBkZWZpbmVkKCBfX2xpbnV4X18gKSB8fCBkZWZpbmVkKCBfX0dOVUNfXyApIHx8IGRlZmluZWQoIF9fR05VX0xJQlJBUllfXyApCisjICBpZiAhZGVmaW5lZCggX19NSU5HVzMyX18gKSAmJiAhZGVmaW5lZCggX0FJWCApCisjICAgIGluY2x1ZGUgPGVuZGlhbi5oPgorIyAgICBpZiAhZGVmaW5lZCggX19CRU9TX18gKQorIyAgICAgIGluY2x1ZGUgPGJ5dGVzd2FwLmg+CisjICAgIGVuZGlmCisjICBlbmRpZgorI2VuZGlmCisjZW5kaWYKKworLyogTm93IGF0dGVtcHQgdG8gc2V0IHRoZSBkZWZpbmUgZm9yIHBsYXRmb3JtIGJ5dGUgb3JkZXIgdXNpbmcgYW55ICAqLworLyogb2YgdGhlIGZvdXIgZm9ybXMgU1lNQk9MLCBfU1lNQk9MLCBfX1NZTUJPTCAmIF9fU1lNQk9MX18sIHdoaWNoICAqLworLyogc2VlbSB0byBlbmNvbXBhc3MgbW9zdCBlbmRpYW4gc3ltYm9sIGRlZmluaXRpb25zICAgICAgICAgICAgICAgICAqLworCisjaWYgZGVmaW5lZCggQklHX0VORElBTiApICYmIGRlZmluZWQoIExJVFRMRV9FTkRJQU4gKQorIyAgaWYgZGVmaW5lZCggQllURV9PUkRFUiApICYmIEJZVEVfT1JERVIgPT0gQklHX0VORElBTgorIyAgICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19CSUdfRU5ESUFOCisjICBlbGlmIGRlZmluZWQoIEJZVEVfT1JERVIgKSAmJiBCWVRFX09SREVSID09IExJVFRMRV9FTkRJQU4KKyMgICAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfTElUVExFX0VORElBTgorIyAgZW5kaWYKKyNlbGlmIGRlZmluZWQoIEJJR19FTkRJQU4gKQorIyAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfQklHX0VORElBTgorI2VsaWYgZGVmaW5lZCggTElUVExFX0VORElBTiApCisjICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19MSVRUTEVfRU5ESUFOCisjZW5kaWYKKworI2lmIGRlZmluZWQoIF9CSUdfRU5ESUFOICkgJiYgZGVmaW5lZCggX0xJVFRMRV9FTkRJQU4gKQorIyAgaWYgZGVmaW5lZCggX0JZVEVfT1JERVIgKSAmJiBfQllURV9PUkRFUiA9PSBfQklHX0VORElBTgorIyAgICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19CSUdfRU5ESUFOCisjICBlbGlmIGRlZmluZWQoIF9CWVRFX09SREVSICkgJiYgX0JZVEVfT1JERVIgPT0gX0xJVFRMRV9FTkRJQU4KKyMgICAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfTElUVExFX0VORElBTgorIyAgZW5kaWYKKyNlbGlmIGRlZmluZWQoIF9CSUdfRU5ESUFOICkKKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0JJR19FTkRJQU4KKyNlbGlmIGRlZmluZWQoIF9MSVRUTEVfRU5ESUFOICkKKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0xJVFRMRV9FTkRJQU4KKyNlbmRpZgorCisjaWYgZGVmaW5lZCggX19CSUdfRU5ESUFOICkgJiYgZGVmaW5lZCggX19MSVRUTEVfRU5ESUFOICkKKyMgIGlmIGRlZmluZWQoIF9fQllURV9PUkRFUiApICYmIF9fQllURV9PUkRFUiA9PSBfX0JJR19FTkRJQU4KKyMgICAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfQklHX0VORElBTgorIyAgZWxpZiBkZWZpbmVkKCBfX0JZVEVfT1JERVIgKSAmJiBfX0JZVEVfT1JERVIgPT0gX19MSVRUTEVfRU5ESUFOCisjICAgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0xJVFRMRV9FTkRJQU4KKyMgIGVuZGlmCisjZWxpZiBkZWZpbmVkKCBfX0JJR19FTkRJQU4gKQorIyAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfQklHX0VORElBTgorI2VsaWYgZGVmaW5lZCggX19MSVRUTEVfRU5ESUFOICkKKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0xJVFRMRV9FTkRJQU4KKyNlbmRpZgorCisjaWYgZGVmaW5lZCggX19CSUdfRU5ESUFOX18gKSAmJiBkZWZpbmVkKCBfX0xJVFRMRV9FTkRJQU5fXyApCisjICBpZiBkZWZpbmVkKCBfX0JZVEVfT1JERVJfXyApICYmIF9fQllURV9PUkRFUl9fID09IF9fQklHX0VORElBTl9fCisjICAgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0JJR19FTkRJQU4KKyMgIGVsaWYgZGVmaW5lZCggX19CWVRFX09SREVSX18gKSAmJiBfX0JZVEVfT1JERVJfXyA9PSBfX0xJVFRMRV9FTkRJQU5fXworIyAgICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19MSVRUTEVfRU5ESUFOCisjICBlbmRpZgorI2VsaWYgZGVmaW5lZCggX19CSUdfRU5ESUFOX18gKQorIyAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfQklHX0VORElBTgorI2VsaWYgZGVmaW5lZCggX19MSVRUTEVfRU5ESUFOX18gKQorIyAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfTElUVExFX0VORElBTgorI2VuZGlmCisKKy8qICBpZiB0aGUgcGxhdGZvcm0gYnl0ZSBvcmRlciBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZCwgdGhlbiB0cnkgdG8gKi8KKy8qICBzZXQgdGhpcyBkZWZpbmUgdXNpbmcgY29tbW9uIG1hY2hpbmUgZGVmaW5lcyAgICAgICAgICAgICAgICAgICAgKi8KKyNpZiAhZGVmaW5lZChQTEFURk9STV9CWVRFX09SREVSKQorCisjaWYgICBkZWZpbmVkKCBfX2FscGhhX18gKSB8fCBkZWZpbmVkKCBfX2FscGhhICkgfHwgZGVmaW5lZCggaTM4NiApICAgICAgIHx8IFwKKyAgICAgIGRlZmluZWQoIF9faTM4Nl9fICkgIHx8IGRlZmluZWQoIF9NX0k4NiApICB8fCBkZWZpbmVkKCBfTV9JWDg2ICkgICAgfHwgXAorICAgICAgZGVmaW5lZCggX19PUzJfXyApICAgfHwgZGVmaW5lZCggc3VuMzg2ICkgIHx8IGRlZmluZWQoIF9fVFVSQk9DX18gKSB8fCBcCisgICAgICBkZWZpbmVkKCB2YXggKSAgICAgICB8fCBkZWZpbmVkKCB2bXMgKSAgICAgfHwgZGVmaW5lZCggVk1TICkgICAgICAgIHx8IFwKKyAgICAgIGRlZmluZWQoIF9fVk1TICkgICAgIHx8IGRlZmluZWQoIF9NX1g2NCApCisjICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19MSVRUTEVfRU5ESUFOCisKKyNlbGlmIGRlZmluZWQoIEFNSUdBICkgICB8fCBkZWZpbmVkKCBhcHBsZWMgKSAgICB8fCBkZWZpbmVkKCBfX0FTNDAwX18gKSAgfHwgXAorICAgICAgZGVmaW5lZCggX0NSQVkgKSAgIHx8IGRlZmluZWQoIF9faHBwYSApICAgIHx8IGRlZmluZWQoIF9faHA5MDAwICkgICB8fCBcCisgICAgICBkZWZpbmVkKCBpYm0zNzAgKSAgfHwgZGVmaW5lZCggbWM2ODAwMCApICAgfHwgZGVmaW5lZCggbTY4ayApICAgICAgIHx8IFwKKyAgICAgIGRlZmluZWQoIF9fTVJDX18gKSB8fCBkZWZpbmVkKCBfX01WU19fICkgICB8fCBkZWZpbmVkKCBfX01XRVJLU19fICkgfHwgXAorICAgICAgZGVmaW5lZCggc3BhcmMgKSAgIHx8IGRlZmluZWQoIF9fc3BhcmMpICAgIHx8IGRlZmluZWQoIFNZTUFOVEVDX0MgKSB8fCBcCisgICAgICBkZWZpbmVkKCBfX1ZPU19fICkgfHwgZGVmaW5lZCggX19USUdDQ19fICkgfHwgZGVmaW5lZCggX19UQU5ERU0gKSAgIHx8IFwKKyAgICAgIGRlZmluZWQoIFRISU5LX0MgKSB8fCBkZWZpbmVkKCBfX1ZNQ01TX18gKSB8fCBkZWZpbmVkKCBfQUlYICkKKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0JJR19FTkRJQU4KKworI2VsaWYgZGVmaW5lZChfX2FybV9fKQorIyBpZmRlZiBfX0JJR19FTkRJQU4KKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0JJR19FTkRJQU4KKyMgZWxzZQorIyAgZGVmaW5lIFBMQVRGT1JNX0JZVEVfT1JERVIgSVNfTElUVExFX0VORElBTgorIyBlbmRpZgorI2VsaWYgMSAgICAgLyogKioqKiBFRElUIEhFUkUgSUYgTkVDRVNTQVJZICoqKiogKi8KKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0xJVFRMRV9FTkRJQU4KKyNlbGlmIDAgICAgIC8qICoqKiogRURJVCBIRVJFIElGIE5FQ0VTU0FSWSAqKioqICovCisjICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19CSUdfRU5ESUFOCisjZWxzZQorIyAgZXJyb3IgUGxlYXNlIGVkaXQgbGluZXMgMTMyIG9yIDEzNCBpbiBicmdfZW5kaWFuLmggdG8gc2V0IHRoZSBwbGF0Zm9ybSBieXRlIG9yZGVyCisjZW5kaWYKKworI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3R5cGVzL2xpYmZmaS90ZXN0c3VpdGUvbGliZmZpLmNhbGwvYS5vdXQgYi9Nb2R1bGVzL19zaGEzL2tlY2Nhay9jcnlwdG9faGFzaC5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBNb2R1bGVzL19jdHlwZXMvbGliZmZpL3Rlc3RzdWl0ZS9saWJmZmkuY2FsbC9hLm91dApyZW5hbWUgdG8gTW9kdWxlcy9fc2hhMy9rZWNjYWsvY3J5cHRvX2hhc2guaApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc2hhMy9zaGEzbW9kdWxlLmMgYi9Nb2R1bGVzL19zaGEzL3NoYTNtb2R1bGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMmNkODVhCi0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fc2hhMy9zaGEzbW9kdWxlLmMKQEAgLTAsMCArMSw1ODUgQEAKKy8qIFNIQTMgbW9kdWxlCisgKgorICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRvIHRoZSBTSEEzIGFsZ29yaXRobQorICoKKyAqIFNlZSBiZWxvdyBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9yaWdpbmFsIGNvZGUgdGhpcyBtb2R1bGUgd2FzCisgKiBiYXNlZCB1cG9uLiBBZGRpdGlvbmFsIHdvcmsgcGVyZm9ybWVkIGJ5OgorICoKKyAqICBBbmRyZXcgS3VjaGxpbmcgKGFta0BhbWsuY2EpCisgKiAgR3JlZyBTdGVpbiAoZ3N0ZWluQGx5cmEub3JnKQorICogIFRyZXZvciBQZXJyaW4gKHRyZXZwQHRyZXZwLm5ldCkKKyAqICBHcmVnb3J5IFAuIFNtaXRoIChncmVnQGtyeXB0by5vcmcpCisgKgorICogIENvcHlyaWdodCAoQykgMjAxMiAgIENocmlzdGlhbiBIZWltZXMgKGNocmlzdGlhbkBweXRob24ub3JnKQorICogIExpY2Vuc2VkIHRvIFBTRiB1bmRlciBhIENvbnRyaWJ1dG9yIEFncmVlbWVudC4KKyAqCisgKi8KKworI2luY2x1ZGUgIlB5dGhvbi5oIgorI2luY2x1ZGUgIi4uL2hhc2hsaWIuaCIKKworLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSEEtMyAoS2VjY2FrKQorICoKKyAqIFRoZSBjb2RlIGlzIGJhc2VkIG9uIEtlY2Nha1JlZmVyZW5jZUFuZE9wdGltaXplZC0zLjIuemlwIGZyb20gMjkgTWF5IDIwMTIuCisgKgorICogVGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBpcyBhbHRlcmVkIGluIHRoaXMgcG9pbnRzOgorICogIC0gQysrIGNvbW1lbnRzIGFyZSBjb252ZXJ0ZWQgdG8gQU5TSSBDIGNvbW1lbnRzLgorICogIC0gQWxsIGZ1bmN0aW9ucyBhbmQgZ2xvYmFscyBhcmUgZGVjbGFyZWQgc3RhdGljLgorICogIC0gVGhlIHR5cGVkZWYgZm9yIFVJTlQ2NCBpcyBjb21tZW50ZWQgb3V0LgorICogIC0gS2VjY2FrRi0xNjAwLW9wdFszMnw2NF0tc2V0dGluZ3MuaCBhcmUgY29tbWVudGVkIG91dAorICogIC0gU29tZSB1bnVzZWQgZnVuY3Rpb25zIGFyZSBjb21tZW50ZWQgb3V0IHRvIHNpbGVuY2UgY29tcGlsZXIgd2FybmluZ3MuCisgKgorICogSW4gb3JkZXIgdG8gYXZvaWQgbmFtZSBjbGFzaGVzIHdpdGggb3RoZXIgc29mdHdhcmUgSSBoYXZlIHRvIGRlY2xhcmUgYWxsCisgKiBLZWNjYWsgZnVuY3Rpb25zIGFuZCBnbG9iYWwgZGF0YSBhcyBzdGF0aWMuIFRoZSBDIGNvZGUgaXMgZGlyZWN0bHkKKyAqIGluY2x1ZGVkIGludG8gdGhpcyBmaWxlIGluIG9yZGVyIHRvIGFjY2VzcyB0aGUgc3RhdGljIGZ1bmN0aW9ucy4KKyAqCisgKiBLZWNjYWsgY2FuIGJlIHR1bmVkIHdpdGggc2V2ZXJhbCBwYXJhbWVudGVycy4gSSB0cnkgdG8gZXhwbGFpbiBhbGwgb3B0aW9ucworICogYXMgZmFyIGFzIEkgdW5kZXJzdGFuZCB0aGVtLiBUaGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGFsc28gY29udGFpbnMKKyAqIGFzc2VtYmxlciBjb2RlIGZvciBBUk0gcGxhdGZvcm1zIChORU9OIGluc3RydWN0aW9ucykuCisgKgorICogQ29tbW9uCisgKiA9PT09PT0KKyAqCisgKiBPcHRpb25zOgorICogICBVc2VCZWJpZ29raW1pc2EsIFVucm9sbGluZworICoKKyAqIC0gVW5yb2xsaW5nOiBsb29wIHVucm9sbGluZyAoMjQsIDEyLCA4LCA2LCA0LCAzLCAyLCAxKQorICogLSBVc2VCZWJpZ29raW1pc2E6IGxhbmUgY29tcGxlbWVudGluZworICoKKyAqIDY0Yml0IHBsYXRmb3JtcworICogPT09PT09PT09PT09PT09CisgKgorICogQWRkaXRpb25hbCBvcHRpb25zOgorICogICBVc2VTU0UsIFVzZU9ubHlTSU1ENjQsIFVzZU1NWCwgVXNlWE9QLCBVc2VTSExECisgKgorICogT3B0aW1pemVkIGluc3RydWN0aW9ucyAoZGlzYWJsZWQgYnkgZGVmYXVsdCk6CisgKiAgIC0gVXNlU1NFOiB1c2UgU3RyZWFtIFNJTUQgZXh0ZW5zaW9ucworICogICAgIG8gVXNlT25seVNJTUQ2NDogbGltaXQgdG8gNjRiaXQgaW5zdHJ1Y3Rpb25zLCBvdGhlcndpc2UgMTI4Yml0CisgKiAgICAgbyB3L28gVXNlT25seVNJTUQ2NDogcmVxdWlyZXMgY29tcGlsZXIgYWd1bWVudCAtbXNzc2UzIG9yIC1tdHVuZQorICogICAtIFVzZU1NWDogdXNlIDY0Yml0IE1NWCBpbnN0cnVjdGlvbnMKKyAqICAgLSBVc2VYT1A6IHVzZSBBTUQncyBlWHRlbmRlZCBPcGVyYXRpb25zICgxMjhiaXQgU1NFIGV4dGVuc2lvbikKKyAqCisgKiBPdGhlcjoKKyAqICAgLSBVbnJvbGxpbmc6IGRlZmF1bHQgMjQKKyAqICAgLSBVc2VCZWJpZ29raW1pc2E6IGRlZmF1bHQgMQorICoKKyAqIFdoZW4gbmVpdGhlciBVc2VTU0UsIFVzZU1NWCBub3IgVXNlWE9QIGlzIGNvbmZpZ3VyZWQsIFJPTDY0IChyb3RhdGUgbGVmdAorICogNjQpIGlzIGltcGxlbWVudGVkIGFzOgorICogICAtIFdpbmRvd3M6IF9yb3RsNjQoKQorICogICAtIFVzZVNITEQ6IHVzZSBzaGxkIChzaGlmdCBsZWZ0KSBhc20gb3B0aW1pemF0aW9uCisgKiAgIC0gb3RoZXJ3aXNlOiBzaGlmdCBhbmQgeG9yCisgKgorICogVXNlQmViaWdva2ltaXNhIGNhbid0IGJlIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBVc2VTU0UsIFVzZU1NWCBvcgorICogVXNlWE9QLiBVc2VPbmx5U0lNRDY0IGhhcyBubyBlZmZlY3QgdW5sZXNzIFVzZVNTRSBpcyBzcGVjaWZpZWQuCisgKgorICogVGVzdHMgaGF2ZSBzaG93biB0aGF0IFVzZVNTRSArIFVzZU9ubHlTSU1ENjQgaXMgYWJvdXQgdGhyZWUgdG8gZm91cgorICogdGltZXMgU0xPV0VSIHRoYW4gVXNlQmViaWdva2ltaXNhLiBVc2VTU0UgYW5kIFVzZU1NWCBhcmUgYWJvdXQgdHdvIHRpbWVzCisgKiBzbG93ZXIuICh0ZXN0ZWQgYnkgQ0ggYW5kIEFQKQorICoKKyAqIDMyYml0IHBsYXRmb3JtcworICogPT09PT09PT09PT09PT09CisgKgorICogQWRkaXRpb25hbCBvcHRpb25zOgorICogICBVc2VJbnRlcmxlYXZlVGFibGVzLCBVc2VTY2hlZHVsZQorICoKKyAqICAgLSBVbnJvbGxpbmc6IGRlZmF1bHQgMgorICogICAtIFVzZUJlYmlnb2tpbWlzYTogZGVmYXVsdCBuL2EKKyAqICAgLSBVc2VTY2hlZHVsZTogPz8/LCAoMSwgMiwgMzsgZGVmYXVsdCAzKQorICogICAtIFVzZUludGVybGVhdmVUYWJsZXM6IHVzZSB0d28gNjRrIGxvb2t1cCB0YWJsZXMgZm9yIChkZSlpbnRlcmxlYXZpbmcKKyAqICAgICBkZWZhdWx0OiBuL2EKKyAqCisgKiBzY2hlZHVsZXM6CisgKiAgIC0gMzogbm8gVXNlQmViaWdva2ltaXNhLCBVbnJvbGxpbmcgbXVzdCBiZSAyCisgKiAgIC0gMiArIDE6ID8/PworICoKKyAqICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpZmRlZiBfX3NwYXJjCisgIC8qIG9wdDY0IHVzZXMgdW4tYWxpZ25lZCBtZW1vcnkgYWNjZXNzIHRoYXQgY2F1c2VzIGEgQlVTIGVycm9yIHdpdGggbXNnCisgICAqICdpbnZhbGlkIGFkZHJlc3MgYWxpZ25tZW50JyBvbiBTUEFSQy4gKi8KKyAgI2RlZmluZSBLZWNjYWtPcHQgMzIKKyNlbGlmIFNJWkVPRl9WT0lEX1AgPT0gOCAmJiBkZWZpbmVkKFBZX1VJTlQ2NF9UKQorICAvKiBvcHQ2NCB3b3JrcyBvbmx5IGZvciA2NGJpdCBwbGF0Zm9ybXMgd2l0aCB1bnNpZ25lZCBpbnQ2NCAqLworICAjZGVmaW5lIEtlY2Nha09wdCA2NAorI2Vsc2UKKyAgLyogb3B0MzIgaXMgdXNlZCBmb3IgdGhlIHJlbWFpbmluZyAzMiBhbmQgNjRiaXQgcGxhdGZvcm1zICovCisgICNkZWZpbmUgS2VjY2FrT3B0IDMyCisjZW5kaWYKKworI2lmIEtlY2Nha09wdCA9PSA2NCAmJiBkZWZpbmVkKFBZX1VJTlQ2NF9UKQorICAvKiA2NGJpdCBwbGF0Zm9ybXMgd2l0aCB1bnNpZ25lZCBpbnQ2NCAqLworICAjZGVmaW5lIFVucm9sbGluZyAyNAorICAjZGVmaW5lIFVzZUJlYmlnb2tpbWlzYQorICB0eXBlZGVmIFBZX1VJTlQ2NF9UIFVJTlQ2NDsKKyNlbGlmIEtlY2Nha09wdCA9PSAzMiAmJiBkZWZpbmVkKFBZX1VJTlQ2NF9UKQorICAvKiAzMmJpdCBwbGF0Zm9ybXMgd2l0aCB1bnNpZ25lZCBpbnQ2NCAqLworICAjZGVmaW5lIFVucm9sbGluZyAyCisgICNkZWZpbmUgVXNlU2NoZWR1bGUgMworICB0eXBlZGVmIFBZX1VJTlQ2NF9UIFVJTlQ2NDsKKyNlbHNlCisgIC8qIDMyIG9yIDY0Yml0IHBsYXRmb3JtcyB3aXRob3V0IHVuc2lnbmVkIGludDY0ICovCisgICNkZWZpbmUgVW5yb2xsaW5nIDIKKyAgI2RlZmluZSBVc2VTY2hlZHVsZSAzCisgICNkZWZpbmUgVXNlSW50ZXJsZWF2ZVRhYmxlcworI2VuZGlmCisKKy8qIHJlcGxhY2VtZW50IGZvciBicmdfZW5kaWFuLmggKi8KKyNkZWZpbmUgSVNfQklHX0VORElBTiA0MzIxCisjZGVmaW5lIElTX0xJVFRMRV9FTkRJQU4gMTIzNAorI2lmIFBZX0JJR19FTkRJQU4KKyMgIGRlZmluZSBQTEFURk9STV9CWVRFX09SREVSIElTX0JJR19FTkRJQU4KKyNlbHNlCisjICBkZWZpbmUgUExBVEZPUk1fQllURV9PUkRFUiBJU19MSVRUTEVfRU5ESUFOCisjZW5kaWYKKworLyogaW5saW5lIGFsbCBLZWNjYWsgZGVwZW5kZW5jaWVzICovCisjaW5jbHVkZSAia2VjY2FrL0tlY2Nha05JU1RJbnRlcmZhY2UuaCIKKyNpbmNsdWRlICJrZWNjYWsvS2VjY2FrTklTVEludGVyZmFjZS5jIgorI2luY2x1ZGUgImtlY2Nhay9LZWNjYWtTcG9uZ2UuYyIKKyNpZiBLZWNjYWtPcHQgPT0gNjQKKyAgI2luY2x1ZGUgImtlY2Nhay9LZWNjYWtGLTE2MDAtb3B0NjQuYyIKKyNlbGlmIEtlY2Nha09wdCA9PSAzMgorICAjaW5jbHVkZSAia2VjY2FrL0tlY2Nha0YtMTYwMC1vcHQzMi5jIgorI2VuZGlmCisKKy8qICNkZWZpbmUgU0hBM19CTE9DS1NJWkUgMjAwIC8vIDE2MDAgYml0cyAgKi8KKyNkZWZpbmUgU0hBM19NQVhfRElHRVNUU0laRSA2NCAvKiA1MTIgYml0cyAqLworI2RlZmluZSBTSEEzX3N0YXRlIGhhc2hTdGF0ZQorI2RlZmluZSBTSEEzX2luaXQgSW5pdAorI2RlZmluZSBTSEEzX3Byb2Nlc3MgVXBkYXRlCisjZGVmaW5lIFNIQTNfZG9uZSBGaW5hbAorI2RlZmluZSBTSEEzX2NvcHlzdGF0ZShkZXN0LCBzcmMpIG1lbWNweSgmKGRlc3QpLCAmKHNyYyksIHNpemVvZihTSEEzX3N0YXRlKSkKKyNkZWZpbmUgU0hBM19jbGVhcnN0YXRlKHN0YXRlKSBtZW1zZXQoJihzdGF0ZSksIDAsIHNpemVvZihTSEEzX3N0YXRlKSkKKworLyogVGhlIHN0cnVjdHVyZSBmb3Igc3RvcmluZyBTSEEzIGluZm8gKi8KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBpbnQgaGFzaGJpdGxlbjsKKyAgICBTSEEzX3N0YXRlIGhhc2hfc3RhdGU7CisjaWZkZWYgV0lUSF9USFJFQUQKKyAgICBQeVRocmVhZF90eXBlX2xvY2sgbG9jazsKKyNlbmRpZgorCit9IFNIQTNvYmplY3Q7CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgU0hBM3R5cGU7CisKKworc3RhdGljIFNIQTNvYmplY3QgKgorbmV3U0hBM29iamVjdChpbnQgaGFzaGJpdGxlbikKK3sKKyAgICBTSEEzb2JqZWN0ICpuZXdvYmo7CisKKyAgICAvKiBjaGVjayBoYXNoYml0bGVuICovCisgICAgc3dpdGNoKGhhc2hiaXRsZW4pIHsKKyAgICAgICAgLyogc3VwcG9ydGVkIGhhc2ggbGVuZ3RoICovCisgICAgICAgIGNhc2UgMjI0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMjU2OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMzg0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgNTEyOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgMDoKKyAgICAgICAgICAgIC8qICBhcmJpdHJhcmlseS1sb25nIG91dHB1dCBpc24ndCBzdXBwb3J0ZWQgYnkgdGhpcyBtb2R1bGUgKi8KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIGV2ZXJ5dGhpbmcgZWxzZSBpcyBhbiBlcnJvciAqLworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICJoYXNoYml0bGVuIG11c3QgYmUgb25lIG9mIDIyNCwgMjU2LCAzODQgb3IgNTEyLiIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIG5ld29iaiA9IChTSEEzb2JqZWN0ICopUHlPYmplY3RfTmV3KFNIQTNvYmplY3QsICZTSEEzdHlwZSk7CisgICAgaWYgKG5ld29iaiA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBuZXdvYmotPmhhc2hiaXRsZW4gPSBoYXNoYml0bGVuOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgbmV3b2JqLT5sb2NrID0gTlVMTDsKKyNlbmRpZgorICAgIHJldHVybiBuZXdvYmo7Cit9CisKKworLyogSW50ZXJuYWwgbWV0aG9kcyBmb3IgYSBoYXNoIG9iamVjdCAqLworCitzdGF0aWMgdm9pZAorU0hBM19kZWFsbG9jKFNIQTNvYmplY3QgKnNlbGYpCit7CisgICAgU0hBM19jbGVhcnN0YXRlKHNlbGYtPmhhc2hfc3RhdGUpOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgaWYgKHNlbGYtPmxvY2spIHsKKyAgICAgICAgUHlUaHJlYWRfZnJlZV9sb2NrKHNlbGYtPmxvY2spOworICAgIH0KKyNlbmRpZgorICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKK30KKworCisvKiBFeHRlcm5hbCBtZXRob2RzIGZvciBhIGhhc2ggb2JqZWN0ICovCisKK1B5RG9jX1NUUlZBUihTSEEzX2NvcHlfX2RvY19fLCAiUmV0dXJuIGEgY29weSBvZiB0aGUgaGFzaCBvYmplY3QuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEzX2NvcHkoU0hBM29iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK3sKKyAgICBTSEEzb2JqZWN0ICpuZXdvYmo7CisKKyAgICBpZiAoKG5ld29iaiA9IG5ld1NIQTNvYmplY3Qoc2VsZi0+aGFzaGJpdGxlbikpID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIEVOVEVSX0hBU0hMSUIoc2VsZik7CisgICAgU0hBM19jb3B5c3RhdGUobmV3b2JqLT5oYXNoX3N0YXRlLCBzZWxmLT5oYXNoX3N0YXRlKTsKKyAgICBMRUFWRV9IQVNITElCKHNlbGYpOworICAgIHJldHVybiAoUHlPYmplY3QgKiluZXdvYmo7Cit9CisKKworUHlEb2NfU1RSVkFSKFNIQTNfZGlnZXN0X19kb2NfXywKKyJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBiaW5hcnkgZGF0YS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTNfZGlnZXN0KFNIQTNvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCit7CisgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBM19NQVhfRElHRVNUU0laRV07CisgICAgU0hBM19zdGF0ZSB0ZW1wOworICAgIEhhc2hSZXR1cm4gcmVzOworCisgICAgRU5URVJfSEFTSExJQihzZWxmKTsKKyAgICBTSEEzX2NvcHlzdGF0ZSh0ZW1wLCBzZWxmLT5oYXNoX3N0YXRlKTsKKyAgICBMRUFWRV9IQVNITElCKHNlbGYpOworICAgIHJlcyA9IFNIQTNfZG9uZSgmdGVtcCwgZGlnZXN0KTsKKyAgICBTSEEzX2NsZWFyc3RhdGUodGVtcCk7CisgICAgaWYgKHJlcyAhPSBTVUNDRVNTKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJpbnRlcm5hbCBlcnJvciBpbiBTSEEzIEZpbmFsKCkiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjb25zdCBjaGFyICopZGlnZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5oYXNoYml0bGVuIC8gOCk7Cit9CisKKworUHlEb2NfU1RSVkFSKFNIQTNfaGV4ZGlnZXN0X19kb2NfXywKKyJSZXR1cm4gdGhlIGRpZ2VzdCB2YWx1ZSBhcyBhIHN0cmluZyBvZiBoZXhhZGVjaW1hbCBkaWdpdHMuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEzX2hleGRpZ2VzdChTSEEzb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQoreworICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQTNfTUFYX0RJR0VTVFNJWkVdOworICAgIFNIQTNfc3RhdGUgdGVtcDsKKyAgICBIYXNoUmV0dXJuIHJlczsKKyAgICBQeU9iamVjdCAqcmV0dmFsOworICAgIFB5X1VDUzEgKmhleF9kaWdlc3Q7CisgICAgaW50IGRpZ2VzdGxlbiwgaSwgajsKKworICAgIC8qIEdldCB0aGUgcmF3IChiaW5hcnkpIGRpZ2VzdCB2YWx1ZSAqLworICAgIEVOVEVSX0hBU0hMSUIoc2VsZik7CisgICAgU0hBM19jb3B5c3RhdGUodGVtcCwgc2VsZi0+aGFzaF9zdGF0ZSk7CisgICAgTEVBVkVfSEFTSExJQihzZWxmKTsKKyAgICByZXMgPSBTSEEzX2RvbmUoJnRlbXAsIGRpZ2VzdCk7CisgICAgU0hBM19jbGVhcnN0YXRlKHRlbXApOworICAgIGlmIChyZXMgIT0gU1VDQ0VTUykgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiaW50ZXJuYWwgZXJyb3IgaW4gU0hBMyBGaW5hbCgpIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIENyZWF0ZSBhIG5ldyBzdHJpbmcgKi8KKyAgICBkaWdlc3RsZW4gPSBzZWxmLT5oYXNoYml0bGVuIC8gODsKKyAgICByZXR2YWwgPSBQeVVuaWNvZGVfTmV3KGRpZ2VzdGxlbiAqIDIsIDEyNyk7CisgICAgaWYgKCFyZXR2YWwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBoZXhfZGlnZXN0ID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmV0dmFsKTsKKworICAgIC8qIE1ha2UgaGV4IHZlcnNpb24gb2YgdGhlIGRpZ2VzdCAqLworICAgIGZvcihpPWo9MDsgaSA8IGRpZ2VzdGxlbjsgaSsrKSB7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKKyAgICAgICAgYyA9IChkaWdlc3RbaV0gPj4gNCkgJiAweGY7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKKyAgICAgICAgYyA9IChkaWdlc3RbaV0gJiAweGYpOworICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBQeV9oZXhkaWdpdHNbY107CisgICAgfQorI2lmZGVmIFB5X0RFQlVHCisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXR2YWwsIDEpKTsKKyNlbmRpZgorICAgIHJldHVybiByZXR2YWw7Cit9CisKK1B5RG9jX1NUUlZBUihTSEEzX3VwZGF0ZV9fZG9jX18sCisiVXBkYXRlIHRoaXMgaGFzaCBvYmplY3QncyBzdGF0ZSB3aXRoIHRoZSBwcm92aWRlZCBzdHJpbmcuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEzX3VwZGF0ZShTSEEzb2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqb2JqOworICAgIFB5X2J1ZmZlciBidWY7CisgICAgSGFzaFJldHVybiByZXM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dXBkYXRlIiwgJm9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgR0VUX0JVRkZFUl9WSUVXX09SX0VSUk9VVChvYmosICZidWYpOworCisgICAgLyogYWRkIG5ldyBkYXRhLCB0aGUgZnVuY3Rpb24gdGFrZXMgdGhlIGxlbmd0aCBpbiBiaXRzIG5vdCBieXRlcyAqLworI2lmZGVmIFdJVEhfVEhSRUFEUworICAgIGlmIChzZWxmLT5sb2NrID09IE5VTEwgJiYgYnVmLmxlbiA+PSBIQVNITElCX0dJTF9NSU5TSVpFKSB7CisgICAgICAgIHNlbGYtPmxvY2sgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CisgICAgfQorICAgIC8qIE9uY2UgYSBsb2NrIGV4aXN0cyBhbGwgY29kZSBwYXRocyBtdXN0IGJlIHN5bmNocm9uaXplZC4gV2UgaGF2ZSB0bworICAgICAqIHJlbGVhc2UgdGhlIEdJTCBldmVuIGZvciBzbWFsbCBidWZmZXJzIGFzIGFjcXVpcmluZyB0aGUgbG9jayBtYXkgdGFrZQorICAgICAqIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSB3aGVuIGFub3RoZXIgdGhyZWFkIHVwZGF0ZXMgdGhpcyBvYmplY3QKKyAgICAgKiB3aXRoIGxvdHMgb2YgZGF0YS4gKi8KKyAgICBpZiAoc2VsZi0+bG9jaykgeworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jayhzZWxmLT5sb2NrLCAxKTsKKyAgICAgICAgcmVzID0gU0hBM19wcm9jZXNzKCZzZWxmLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuICogOCk7CisgICAgICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jayhzZWxmLT5sb2NrKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJlcyA9IFNIQTNfcHJvY2Vzcygmc2VsZi0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbiAqIDgpOworICAgIH0KKyNlbHNlCisgICAgcmVzID0gU0hBM19wcm9jZXNzKCZzZWxmLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuICogOCk7CisjZW5kaWYKKyAgICBMRUFWRV9IQVNITElCKHNlbGYpOworCisgICAgaWYgKHJlcyAhPSBTVUNDRVNTKSB7CisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZXJuYWwgZXJyb3IgaW4gU0hBMyBVcGRhdGUoKSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWYpOworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICByZXR1cm4gUHlfTm9uZTsKK30KKworc3RhdGljIFB5TWV0aG9kRGVmIFNIQTNfbWV0aG9kc1tdID0geworICAgIHsiY29weSIsICAgICAgKFB5Q0Z1bmN0aW9uKVNIQTNfY29weSwgICAgICBNRVRIX05PQVJHUywKKyAgICAgICAgIFNIQTNfY29weV9fZG9jX199LAorICAgIHsiZGlnZXN0IiwgICAgKFB5Q0Z1bmN0aW9uKVNIQTNfZGlnZXN0LCAgICBNRVRIX05PQVJHUywKKyAgICAgICAgIFNIQTNfZGlnZXN0X19kb2NfX30sCisgICAgeyJoZXhkaWdlc3QiLCAoUHlDRnVuY3Rpb24pU0hBM19oZXhkaWdlc3QsIE1FVEhfTk9BUkdTLAorICAgICAgICAgU0hBM19oZXhkaWdlc3RfX2RvY19ffSwKKyAgICB7InVwZGF0ZSIsICAgIChQeUNGdW5jdGlvbilTSEEzX3VwZGF0ZSwgICAgTUVUSF9WQVJBUkdTLAorICAgICAgICAgU0hBM191cGRhdGVfX2RvY19ffSwKKyAgICB7TlVMTCwgICAgICAgIE5VTEx9ICAgICAgICAgLyogc2VudGluZWwgKi8KK307CisKK3N0YXRpYyBQeU9iamVjdCAqCitTSEEzX2dldF9ibG9ja19zaXplKFNIQTNvYmplY3QgKnNlbGYsIHZvaWQgKmNsb3N1cmUpCit7CisgICAgLyogSE1BQy1TSEEzIGhhc24ndCBiZWVuIHNwZWNpZmllZCB5ZXQgYW5kIG5vIG9mZmljaWFsIHRlc3QgdmVjdG9ycyBhcmUKKyAgICAgKiBhdmFpbGFibGUuIFRodXMgYmxvY2tfc2l6ZSByZXR1cm5zIE5vdEltcGxlbWVudGVkIHRvIHByZXZlbnQgcGVvcGxlCisgICAgICogZnJvbSB1c2luZyBTSEEzIHdpdGggdGhlIGhtYWMgbW9kdWxlLgorICAgICAqLworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTNfZ2V0X25hbWUoU0hBM29iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoInNoYTNfJWkiLCBzZWxmLT5oYXNoYml0bGVuKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK1NIQTNfZ2V0X2RpZ2VzdF9zaXplKFNIQTNvYmplY3QgKnNlbGYsIHZvaWQgKmNsb3N1cmUpCit7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhzZWxmLT5oYXNoYml0bGVuIC8gOCk7Cit9CisKKworc3RhdGljIFB5R2V0U2V0RGVmIFNIQTNfZ2V0c2V0ZXJzW10gPSB7CisgICAgeyJibG9ja19zaXplIiwgKGdldHRlcilTSEEzX2dldF9ibG9ja19zaXplLCBOVUxMLCBOVUxMLCBOVUxMfSwKKyAgICB7Im5hbWUiLCAoZ2V0dGVyKVNIQTNfZ2V0X25hbWUsIE5VTEwsIE5VTEwsIE5VTEx9LAorICAgIHsiZGlnZXN0X3NpemUiLCAoZ2V0dGVyKVNIQTNfZ2V0X2RpZ2VzdF9zaXplLCBOVUxMLCBOVUxMLCBOVUxMfSwKKyAgICB7TlVMTH0gIC8qIFNlbnRpbmVsICovCit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IFNIQTN0eXBlID0geworICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorICAgICJfc2hhMy5TSEEzIiwgICAgICAgLyogdHBfbmFtZSAqLworICAgIHNpemVvZihTSEEzb2JqZWN0KSwgLyogdHBfc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfaXRlbXNpemUgKi8KKyAgICAvKiAgbWV0aG9kcyAgKi8KKyAgICAoZGVzdHJ1Y3RvcilTSEEzX2RlYWxsb2MsIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgLyogdHBfZmxhZ3MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qIHRwX2RvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCisgICAgU0hBM19tZXRob2RzLCAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgTlVMTCwgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgU0hBM19nZXRzZXRlcnMsICAgICAvKiB0cF9nZXRzZXQgKi8KK307CisKKworLyogY29uc3RydWN0b3IgaGVscGVyICovCitzdGF0aWMgUHlPYmplY3QgKgorU0hBM19mYWN0b3J5KFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0LCBjb25zdCBjaGFyICpmbXQsCisgICAgICAgICAgICAgaW50IGhhc2hiaXRsZW4pCit7CisgICAgU0hBM29iamVjdCAqbmV3b2JqID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InN0cmluZyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpkYXRhX29iaiA9IE5VTEw7CisgICAgUHlfYnVmZmVyIGJ1ZjsKKyAgICBIYXNoUmV0dXJuIHJlczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgZm10LCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfb2JqKSkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoZGF0YV9vYmopCisgICAgICAgIEdFVF9CVUZGRVJfVklFV19PUl9FUlJPVVQoZGF0YV9vYmosICZidWYpOworCisgICAgaWYgKChuZXdvYmogPSBuZXdTSEEzb2JqZWN0KGhhc2hiaXRsZW4pKSA9PSBOVUxMKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgaWYgKFNIQTNfaW5pdCgmbmV3b2JqLT5oYXNoX3N0YXRlLCBoYXNoYml0bGVuKSAhPSBTVUNDRVNTKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiaW50ZXJuYWwgZXJyb3IgaW4gU0hBMyBVcGRhdGUoKSIpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmIChkYXRhX29iaikgeworI2lmZGVmIFdJVEhfVEhSRUFEUworICAgICAgICBpZiAoYnVmLmxlbiA+PSBIQVNITElCX0dJTF9NSU5TSVpFKSB7CisgICAgICAgICAgICAvKiBpbnZhcmlhbnQ6IE5ldyBvYmplY3RzIGNhbid0IGJlIGFjY2Vzc2VkIGJ5IG90aGVyIGNvZGUgeWV0LAorICAgICAgICAgICAgICogdGh1cyBpdCdzIHNhZmUgdG8gcmVsZWFzZSB0aGUgR0lMIHdpdGhvdXQgbG9ja2luZyB0aGUgb2JqZWN0LgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgICAgICByZXMgPSBTSEEzX3Byb2Nlc3MoJm5ld29iai0+aGFzaF9zdGF0ZSwgYnVmLmJ1ZiwgYnVmLmxlbiAqIDgpOworICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHJlcyA9IFNIQTNfcHJvY2VzcygmbmV3b2JqLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuICogOCk7CisgICAgICAgIH0KKyNlbHNlCisgICAgICAgIHJlcyA9IFNIQTNfcHJvY2VzcygmbmV3b2JqLT5oYXNoX3N0YXRlLCBidWYuYnVmLCBidWYubGVuICogOCk7CisjZW5kaWYKKyAgICAgICAgaWYgKHJlcyAhPSBTVUNDRVNTKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnRlcm5hbCBlcnJvciBpbiBTSEEzIFVwZGF0ZSgpIik7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgfQorCisgICAgcmV0dXJuIChQeU9iamVjdCAqKW5ld29iajsKKworICBlcnJvcjoKKyAgICBpZiAobmV3b2JqKSB7CisgICAgICAgIFNIQTNfZGVhbGxvYyhuZXdvYmopOworICAgIH0KKyAgICBpZiAoZGF0YV9vYmopIHsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKKyAgICB9CisgICAgcmV0dXJuIE5VTEw7CisKK30KKworUHlEb2NfU1RSVkFSKHNoYTNfMjI0X19kb2NfXywKKyJzaGEzXzIyNChbc3RyaW5nXSkgLT4gU0hBMyBvYmplY3RcblwKK1xuXAorUmV0dXJuIGEgbmV3IFNIQTMgaGFzaCBvYmplY3Qgd2l0aCBhIGhhc2hiaXQgbGVuZ3RoIG9mIDI4IGJ5dGVzLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorc2hhM18yMjQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQoreworICAgIHJldHVybiBTSEEzX2ZhY3RvcnkoYXJncywga3dkaWN0LCAifE86c2hhM18yMjQiLCAyMjQpOworfQorCisKK1B5RG9jX1NUUlZBUihzaGEzXzI1Nl9fZG9jX18sCisic2hhM18yNTYoW3N0cmluZ10pIC0+IFNIQTMgb2JqZWN0XG5cCitcblwKK1JldHVybiBhIG5ldyBTSEEzIGhhc2ggb2JqZWN0IHdpdGggYSBoYXNoYml0IGxlbmd0aCBvZiAzMiBieXRlcy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3NoYTNfMjU2KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK3sKKyAgICByZXR1cm4gU0hBM19mYWN0b3J5KGFyZ3MsIGt3ZGljdCwgInxPOnNoYTNfMjU2IiwgMjU2KTsKK30KKworUHlEb2NfU1RSVkFSKHNoYTNfMzg0X19kb2NfXywKKyJzaGEzXzM4NChbc3RyaW5nXSkgLT4gU0hBMyBvYmplY3RcblwKK1xuXAorUmV0dXJuIGEgbmV3IFNIQTMgaGFzaCBvYmplY3Qgd2l0aCBhIGhhc2hiaXQgbGVuZ3RoIG9mIDQ4IGJ5dGVzLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorc2hhM18zODQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkaWN0KQoreworICAgIHJldHVybiBTSEEzX2ZhY3RvcnkoYXJncywga3dkaWN0LCAifE86c2hhM18zODQiLCAzODQpOworfQorCitQeURvY19TVFJWQVIoc2hhM181MTJfX2RvY19fLAorInNoYTNfNTEyKFtzdHJpbmddKSAtPiBTSEEzIG9iamVjdFxuXAorXG5cCitSZXR1cm4gYSBuZXcgU0hBMyBoYXNoIG9iamVjdCB3aXRoIGEgaGFzaGJpdCBsZW5ndGggb2YgNjQgYnl0ZXMuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzaGEzXzUxMihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RpY3QpCit7CisgICAgcmV0dXJuIFNIQTNfZmFjdG9yeShhcmdzLCBrd2RpY3QsICJ8TzpzaGEzXzUxMiIsIDUxMik7Cit9CisKKworLyogTGlzdCBvZiBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhpcyBtb2R1bGUgKi8KK3N0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgU0hBM19mdW5jdGlvbnNbXSA9IHsKKyAgICB7InNoYTNfMjI0IiwgKFB5Q0Z1bmN0aW9uKXNoYTNfMjI0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKKyAgICAgICAgIHNoYTNfMjI0X19kb2NfX30sCisgICAgeyJzaGEzXzI1NiIsIChQeUNGdW5jdGlvbilzaGEzXzI1NiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsCisgICAgICAgICBzaGEzXzI1Nl9fZG9jX199LAorICAgIHsic2hhM18zODQiLCAoUHlDRnVuY3Rpb24pc2hhM18zODQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAorICAgICAgICAgc2hhM18zODRfX2RvY19ffSwKKyAgICB7InNoYTNfNTEyIiwgKFB5Q0Z1bmN0aW9uKXNoYTNfNTEyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKKyAgICAgICAgIHNoYTNfNTEyX19kb2NfX30sCisgICAge05VTEwsICAgICAgTlVMTH0gICAgICAgICAgICAvKiBTZW50aW5lbCAqLworfTsKKworCisvKiBJbml0aWFsaXplIHRoaXMgbW9kdWxlLiAqLworc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBfU0hBM21vZHVsZSA9IHsKKyAgICAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAorICAgICAgICAiX3NoYTMiLAorICAgICAgICBOVUxMLAorICAgICAgICAtMSwKKyAgICAgICAgU0hBM19mdW5jdGlvbnMsCisgICAgICAgIE5VTEwsCisgICAgICAgIE5VTEwsCisgICAgICAgIE5VTEwsCisgICAgICAgIE5VTEwKK307CisKK1B5TU9ESU5JVF9GVU5DCitQeUluaXRfX3NoYTModm9pZCkKK3sKKyAgICBQeV9UWVBFKCZTSEEzdHlwZSkgPSAmUHlUeXBlX1R5cGU7CisgICAgaWYgKFB5VHlwZV9SZWFkeSgmU0hBM3R5cGUpIDwgMCkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gUHlNb2R1bGVfQ3JlYXRlKCZfU0hBM21vZHVsZSk7Cit9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5jIGIvTW9kdWxlcy9fc3FsaXRlL2Nvbm5lY3Rpb24uYwppbmRleCAyOGJkNjQ3Li4wNGJjZGYyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5jCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9jb25uZWN0aW9uLmMKQEAgLTYwLDcgKzYwLDExIEBACiAKIGludCBweXNxbGl0ZV9jb25uZWN0aW9uX2luaXQocHlzcWxpdGVfQ29ubmVjdGlvbiogc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0KiBrd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJkYXRhYmFzZSIsICJ0aW1lb3V0IiwgImRldGVjdF90eXBlcyIsICJpc29sYXRpb25fbGV2ZWwiLCAiY2hlY2tfc2FtZV90aHJlYWQiLCAiZmFjdG9yeSIsICJjYWNoZWRfc3RhdGVtZW50cyIsIE5VTEwsIE5VTEx9OworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsKKyAgICAgICAgImRhdGFiYXNlIiwgInRpbWVvdXQiLCAiZGV0ZWN0X3R5cGVzIiwgImlzb2xhdGlvbl9sZXZlbCIsCisgICAgICAgICJjaGVja19zYW1lX3RocmVhZCIsICJmYWN0b3J5IiwgImNhY2hlZF9zdGF0ZW1lbnRzIiwgInVyaSIsCisgICAgICAgIE5VTEwKKyAgICB9OwogCiAgICAgY2hhciogZGF0YWJhc2U7CiAgICAgaW50IGRldGVjdF90eXBlcyA9IDA7CkBAIC02OCwxMSArNzIsMTQgQEAKICAgICBQeU9iamVjdCogZmFjdG9yeSA9IE5VTEw7CiAgICAgaW50IGNoZWNrX3NhbWVfdGhyZWFkID0gMTsKICAgICBpbnQgY2FjaGVkX3N0YXRlbWVudHMgPSAxMDA7CisgICAgaW50IHVyaSA9IDA7CiAgICAgZG91YmxlIHRpbWVvdXQgPSA1LjA7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAic3xkaU9pT2kiLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFiYXNlLCAmdGltZW91dCwgJmRldGVjdF90eXBlcywgJmlzb2xhdGlvbl9sZXZlbCwgJmNoZWNrX3NhbWVfdGhyZWFkLCAmZmFjdG9yeSwgJmNhY2hlZF9zdGF0ZW1lbnRzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJzfGRpT2lPaXAiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFiYXNlLCAmdGltZW91dCwgJmRldGVjdF90eXBlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXNvbGF0aW9uX2xldmVsLCAmY2hlY2tfc2FtZV90aHJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZhY3RvcnksICZjYWNoZWRfc3RhdGVtZW50cywgJnVyaSkpCiAgICAgewogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtOTEsOCArOTgsMTkgQEAKICAgICBQeV9JTkNSRUYoJlB5VW5pY29kZV9UeXBlKTsKICAgICBzZWxmLT50ZXh0X2ZhY3RvcnkgPSAoUHlPYmplY3QqKSZQeVVuaWNvZGVfVHlwZTsKIAorI2lmZGVmIFNRTElURV9PUEVOX1VSSQorICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByYyA9IHNxbGl0ZTNfb3Blbl92MihkYXRhYmFzZSwgJnNlbGYtPmRiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFNRTElURV9PUEVOX1JFQURXUklURSB8IFNRTElURV9PUEVOX0NSRUFURSB8CisgICAgICAgICAgICAgICAgICAgICAgICAgKHVyaSA/IFNRTElURV9PUEVOX1VSSSA6IDApLCBOVUxMKTsKKyNlbHNlCisgICAgaWYgKHVyaSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcocHlzcWxpdGVfTm90U3VwcG9ydGVkRXJyb3IsICJVUklzIG5vdCBzdXBwb3J0ZWQiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmMgPSBzcWxpdGUzX29wZW4oZGF0YWJhc2UsICZzZWxmLT5kYik7CisjZW5kaWYKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJjICE9IFNRTElURV9PSykgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3FsaXRlL21vZHVsZS5jIGIvTW9kdWxlcy9fc3FsaXRlL21vZHVsZS5jCmluZGV4IGJlYTZkNmEuLjdhN2U4NjAgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NxbGl0ZS9tb2R1bGUuYworKysgYi9Nb2R1bGVzL19zcWxpdGUvbW9kdWxlLmMKQEAgLTUwLDE5ICs1MCwyNiBAQAogICAgICAqIEMtbGV2ZWwsIHNvIHRoaXMgY29kZSBpcyByZWR1bmRhbnQgd2l0aCB0aGUgb25lIGluIGNvbm5lY3Rpb25faW5pdCBpbgogICAgICAqIGNvbm5lY3Rpb24uYyBhbmQgbXVzdCBhbHdheXMgYmUgY29waWVkIGZyb20gdGhlcmUgLi4uICovCiAKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImRhdGFiYXNlIiwgInRpbWVvdXQiLCAiZGV0ZWN0X3R5cGVzIiwgImlzb2xhdGlvbl9sZXZlbCIsICJjaGVja19zYW1lX3RocmVhZCIsICJmYWN0b3J5IiwgImNhY2hlZF9zdGF0ZW1lbnRzIiwgTlVMTCwgTlVMTH07CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geworICAgICAgICAiZGF0YWJhc2UiLCAidGltZW91dCIsICJkZXRlY3RfdHlwZXMiLCAiaXNvbGF0aW9uX2xldmVsIiwKKyAgICAgICAgImNoZWNrX3NhbWVfdGhyZWFkIiwgImZhY3RvcnkiLCAiY2FjaGVkX3N0YXRlbWVudHMiLCAidXJpIiwKKyAgICAgICAgTlVMTAorICAgIH07CiAgICAgY2hhciogZGF0YWJhc2U7CiAgICAgaW50IGRldGVjdF90eXBlcyA9IDA7CiAgICAgUHlPYmplY3QqIGlzb2xhdGlvbl9sZXZlbDsKICAgICBQeU9iamVjdCogZmFjdG9yeSA9IE5VTEw7CiAgICAgaW50IGNoZWNrX3NhbWVfdGhyZWFkID0gMTsKICAgICBpbnQgY2FjaGVkX3N0YXRlbWVudHM7CisgICAgaW50IHVyaSA9IDA7CiAgICAgZG91YmxlIHRpbWVvdXQgPSA1LjA7CiAKICAgICBQeU9iamVjdCogcmVzdWx0OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAic3xkaU9pT2kiLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFiYXNlLCAmdGltZW91dCwgJmRldGVjdF90eXBlcywgJmlzb2xhdGlvbl9sZXZlbCwgJmNoZWNrX3NhbWVfdGhyZWFkLCAmZmFjdG9yeSwgJmNhY2hlZF9zdGF0ZW1lbnRzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJzfGRpT2lPaXAiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFiYXNlLCAmdGltZW91dCwgJmRldGVjdF90eXBlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXNvbGF0aW9uX2xldmVsLCAmY2hlY2tfc2FtZV90aHJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZhY3RvcnksICZjYWNoZWRfc3RhdGVtZW50cywgJnVyaSkpCiAgICAgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC03Nyw3ICs4NCw4IEBACiB9CiAKIFB5RG9jX1NUUlZBUihtb2R1bGVfY29ubmVjdF9kb2MsCi0iY29ubmVjdChkYXRhYmFzZVssIHRpbWVvdXQsIGlzb2xhdGlvbl9sZXZlbCwgZGV0ZWN0X3R5cGVzLCBmYWN0b3J5XSlcblwKKyJjb25uZWN0KGRhdGFiYXNlWywgdGltZW91dCwgZGV0ZWN0X3R5cGVzLCBpc29sYXRpb25fbGV2ZWwsXG5cCisgICAgICAgIGNoZWNrX3NhbWVfdGhyZWFkLCBmYWN0b3J5LCBjYWNoZWRfc3RhdGVtZW50cywgdXJpXSlcblwKIFxuXAogT3BlbnMgYSBjb25uZWN0aW9uIHRvIHRoZSBTUUxpdGUgZGF0YWJhc2UgZmlsZSAqZGF0YWJhc2UqLiBZb3UgY2FuIHVzZVxuXAogXCI6bWVtb3J5OlwiIHRvIG9wZW4gYSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIGEgZGF0YWJhc2UgdGhhdCByZXNpZGVzIGluXG5cCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcmUuYyBiL01vZHVsZXMvX3NyZS5jCmluZGV4IDE5NTcxZmIuLjliNDk5NTEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NyZS5jCisrKyBiL01vZHVsZXMvX3NyZS5jCkBAIC0xODcxLDcgKzE4NzEsNyBAQAogcGF0dGVybl9tYXRjaChQYXR0ZXJuT2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncywgUHlPYmplY3QqIGt3KQogewogICAgIFNSRV9TVEFURSBzdGF0ZTsKLSAgICBpbnQgc3RhdHVzOworICAgIFB5X3NzaXplX3Qgc3RhdHVzOwogCiAgICAgUHlPYmplY3QqIHN0cmluZzsKICAgICBQeV9zc2l6ZV90IHN0YXJ0ID0gMDsKQEAgLTIwNDAsNyArMjA0MCw3IEBACiB7CiAgICAgU1JFX1NUQVRFIHN0YXRlOwogICAgIFB5T2JqZWN0KiBsaXN0OwotICAgIGludCBzdGF0dXM7CisgICAgUHlfc3NpemVfdCBzdGF0dXM7CiAgICAgUHlfc3NpemVfdCBpLCBiLCBlOwogCiAgICAgUHlPYmplY3QqIHN0cmluZzsKQEAgLTIxNjYsNyArMjE2Niw3IEBACiAgICAgU1JFX1NUQVRFIHN0YXRlOwogICAgIFB5T2JqZWN0KiBsaXN0OwogICAgIFB5T2JqZWN0KiBpdGVtOwotICAgIGludCBzdGF0dXM7CisgICAgUHlfc3NpemVfdCBzdGF0dXM7CiAgICAgUHlfc3NpemVfdCBuOwogICAgIFB5X3NzaXplX3QgaTsKICAgICB2b2lkKiBsYXN0OwpAQCAtMjI4Miw3ICsyMjgyLDcgQEAKICAgICBQeU9iamVjdCogYXJnczsKICAgICBQeU9iamVjdCogbWF0Y2g7CiAgICAgdm9pZCogcHRyOwotICAgIGludCBzdGF0dXM7CisgICAgUHlfc3NpemVfdCBzdGF0dXM7CiAgICAgUHlfc3NpemVfdCBuOwogICAgIFB5X3NzaXplX3QgaSwgYiwgZTsKICAgICBpbnQgbG9naWNhbF9jaGFyc2l6ZSwgY2hhcnNpemU7CkBAIC0yMzAxLDcgKzIzMDEsNyBAQAogICAgICAgICBwdHIgPSBnZXRzdHJpbmcocHRlbXBsYXRlLCAmbiwgJmxvZ2ljYWxfY2hhcnNpemUsICZjaGFyc2l6ZSwgJnZpZXcpOwogICAgICAgICBiID0gY2hhcnNpemU7CiAgICAgICAgIGlmIChwdHIpIHsKLSAgICAgICAgICAgIGxpdGVyYWwgPSBzcmVfbGl0ZXJhbF90ZW1wbGF0ZShiLCBwdHIsIG4pOworICAgICAgICAgICAgbGl0ZXJhbCA9IHNyZV9saXRlcmFsX3RlbXBsYXRlKGNoYXJzaXplLCBwdHIsIG4pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgIGxpdGVyYWwgPSAwOwpAQCAtMzc2Nyw3ICszNzY3LDcgQEAKIHsKICAgICBTUkVfU1RBVEUqIHN0YXRlID0gJnNlbGYtPnN0YXRlOwogICAgIFB5T2JqZWN0KiBtYXRjaDsKLSAgICBpbnQgc3RhdHVzOworICAgIFB5X3NzaXplX3Qgc3RhdHVzOwogCiAgICAgc3RhdGVfcmVzZXQoc3RhdGUpOwogCkBAIC0zNzk4LDcgKzM3OTgsNyBAQAogewogICAgIFNSRV9TVEFURSogc3RhdGUgPSAmc2VsZi0+c3RhdGU7CiAgICAgUHlPYmplY3QqIG1hdGNoOwotICAgIGludCBzdGF0dXM7CisgICAgUHlfc3NpemVfdCBzdGF0dXM7CiAKICAgICBzdGF0ZV9yZXNldChzdGF0ZSk7CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NzbC5jIGIvTW9kdWxlcy9fc3NsLmMKaW5kZXggYWJiNDhiOS4uYzY0OTNiYSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3NsLmMKKysrIGIvTW9kdWxlcy9fc3NsLmMKQEAgLTQwLDYgKzQwLDcwIEBACiAKICNlbmRpZgogCisvKiBJbmNsdWRlIHN5bWJvbHMgZnJvbSBfc29ja2V0IG1vZHVsZSAqLworI2luY2x1ZGUgInNvY2tldG1vZHVsZS5oIgorCitzdGF0aWMgUHlTb2NrZXRNb2R1bGVfQVBJT2JqZWN0IFB5U29ja2V0TW9kdWxlOworCisjaWYgZGVmaW5lZChIQVZFX1BPTExfSCkKKyNpbmNsdWRlIDxwb2xsLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfU1lTX1BPTExfSCkKKyNpbmNsdWRlIDxzeXMvcG9sbC5oPgorI2VuZGlmCisKKy8qIEluY2x1ZGUgT3BlblNTTCBoZWFkZXIgZmlsZXMgKi8KKyNpbmNsdWRlICJvcGVuc3NsL3JzYS5oIgorI2luY2x1ZGUgIm9wZW5zc2wvY3J5cHRvLmgiCisjaW5jbHVkZSAib3BlbnNzbC94NTA5LmgiCisjaW5jbHVkZSAib3BlbnNzbC94NTA5djMuaCIKKyNpbmNsdWRlICJvcGVuc3NsL3BlbS5oIgorI2luY2x1ZGUgIm9wZW5zc2wvc3NsLmgiCisjaW5jbHVkZSAib3BlbnNzbC9lcnIuaCIKKyNpbmNsdWRlICJvcGVuc3NsL3JhbmQuaCIKKworLyogU1NMIGVycm9yIG9iamVjdCAqLworc3RhdGljIFB5T2JqZWN0ICpQeVNTTEVycm9yT2JqZWN0Oworc3RhdGljIFB5T2JqZWN0ICpQeVNTTFplcm9SZXR1cm5FcnJvck9iamVjdDsKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xXYW50UmVhZEVycm9yT2JqZWN0Oworc3RhdGljIFB5T2JqZWN0ICpQeVNTTFdhbnRXcml0ZUVycm9yT2JqZWN0Oworc3RhdGljIFB5T2JqZWN0ICpQeVNTTFN5c2NhbGxFcnJvck9iamVjdDsKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xFT0ZFcnJvck9iamVjdDsKKworLyogRXJyb3IgbWFwcGluZ3MgKi8KK3N0YXRpYyBQeU9iamVjdCAqZXJyX2NvZGVzX3RvX25hbWVzOworc3RhdGljIFB5T2JqZWN0ICplcnJfbmFtZXNfdG9fY29kZXM7CitzdGF0aWMgUHlPYmplY3QgKmxpYl9jb2Rlc190b19uYW1lczsKKworc3RydWN0IHB5X3NzbF9lcnJvcl9jb2RlIHsKKyAgICBjb25zdCBjaGFyICptbmVtb25pYzsKKyAgICBpbnQgbGlicmFyeSwgcmVhc29uOworfTsKK3N0cnVjdCBweV9zc2xfbGlicmFyeV9jb2RlIHsKKyAgICBjb25zdCBjaGFyICpsaWJyYXJ5OworICAgIGludCBjb2RlOworfTsKKworLyogSW5jbHVkZSBnZW5lcmF0ZWQgZGF0YSAoZXJyb3IgY29kZXMpICovCisjaW5jbHVkZSAiX3NzbF9kYXRhLmgiCisKKy8qIE9wZW5zc2wgY29tZXMgd2l0aCBUTFN2MS4xIGFuZCBUTFN2MS4yIGJldHdlZW4gMS4wLjBoIGFuZCAxLjAuMQorICAgIGh0dHA6Ly93d3cub3BlbnNzbC5vcmcvbmV3cy9jaGFuZ2Vsb2cuaHRtbAorICovCisjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMDAxMDAwTAorIyBkZWZpbmUgSEFWRV9UTFN2MV8yIDEKKyNlbHNlCisjIGRlZmluZSBIQVZFX1RMU3YxXzIgMAorI2VuZGlmCisKKy8qIFNOSSBzdXBwb3J0IChjbGllbnQtIGFuZCBzZXJ2ZXItc2lkZSkgYXBwZWFyZWQgaW4gT3BlblNTTCAxLjAuMC4KKyAqIFRoaXMgaW5jbHVkZXMgdGhlIFNTTF9zZXRfU1NMX0NUWCgpIGZ1bmN0aW9uLgorICovCisjaWZkZWYgU1NMX0NUUkxfU0VUX1RMU0VYVF9IT1NUTkFNRQorIyBkZWZpbmUgSEFWRV9TTkkgMQorI2Vsc2UKKyMgZGVmaW5lIEhBVkVfU05JIDAKKyNlbmRpZgorCiBlbnVtIHB5X3NzbF9lcnJvciB7CiAgICAgLyogdGhlc2UgbWlycm9yIHNzbC5oICovCiAgICAgUFlfU1NMX0VSUk9SX05PTkUsCkBAIC03Myw1NSArMTM3LDE0IEBACiAjZW5kaWYKICAgICBQWV9TU0xfVkVSU0lPTl9TU0wzPTEsCiAgICAgUFlfU1NMX1ZFUlNJT05fU1NMMjMsCisjaWYgSEFWRV9UTFN2MV8yCisgICAgUFlfU1NMX1ZFUlNJT05fVExTMSwKKyAgICBQWV9TU0xfVkVSU0lPTl9UTFMxXzEsCisgICAgUFlfU1NMX1ZFUlNJT05fVExTMV8yCisjZWxzZQogICAgIFBZX1NTTF9WRVJTSU9OX1RMUzEKLX07Ci0KLXN0cnVjdCBweV9zc2xfZXJyb3JfY29kZSB7Ci0gICAgY29uc3QgY2hhciAqbW5lbW9uaWM7Ci0gICAgaW50IGxpYnJhcnksIHJlYXNvbjsKLX07Ci0KLXN0cnVjdCBweV9zc2xfbGlicmFyeV9jb2RlIHsKLSAgICBjb25zdCBjaGFyICpsaWJyYXJ5OwotICAgIGludCBjb2RlOwotfTsKLQotLyogSW5jbHVkZSBzeW1ib2xzIGZyb20gX3NvY2tldCBtb2R1bGUgKi8KLSNpbmNsdWRlICJzb2NrZXRtb2R1bGUuaCIKLQotc3RhdGljIFB5U29ja2V0TW9kdWxlX0FQSU9iamVjdCBQeVNvY2tldE1vZHVsZTsKLQotI2lmIGRlZmluZWQoSEFWRV9QT0xMX0gpCi0jaW5jbHVkZSA8cG9sbC5oPgotI2VsaWYgZGVmaW5lZChIQVZFX1NZU19QT0xMX0gpCi0jaW5jbHVkZSA8c3lzL3BvbGwuaD4KICNlbmRpZgotCi0vKiBJbmNsdWRlIE9wZW5TU0wgaGVhZGVyIGZpbGVzICovCi0jaW5jbHVkZSAib3BlbnNzbC9yc2EuaCIKLSNpbmNsdWRlICJvcGVuc3NsL2NyeXB0by5oIgotI2luY2x1ZGUgIm9wZW5zc2wveDUwOS5oIgotI2luY2x1ZGUgIm9wZW5zc2wveDUwOXYzLmgiCi0jaW5jbHVkZSAib3BlbnNzbC9wZW0uaCIKLSNpbmNsdWRlICJvcGVuc3NsL3NzbC5oIgotI2luY2x1ZGUgIm9wZW5zc2wvZXJyLmgiCi0jaW5jbHVkZSAib3BlbnNzbC9yYW5kLmgiCi0KLS8qIEluY2x1ZGUgZ2VuZXJhdGVkIGRhdGEgKGVycm9yIGNvZGVzKSAqLwotI2luY2x1ZGUgIl9zc2xfZGF0YS5oIgotCi0vKiBTU0wgZXJyb3Igb2JqZWN0ICovCi1zdGF0aWMgUHlPYmplY3QgKlB5U1NMRXJyb3JPYmplY3Q7Ci1zdGF0aWMgUHlPYmplY3QgKlB5U1NMWmVyb1JldHVybkVycm9yT2JqZWN0Owotc3RhdGljIFB5T2JqZWN0ICpQeVNTTFdhbnRSZWFkRXJyb3JPYmplY3Q7Ci1zdGF0aWMgUHlPYmplY3QgKlB5U1NMV2FudFdyaXRlRXJyb3JPYmplY3Q7Ci1zdGF0aWMgUHlPYmplY3QgKlB5U1NMU3lzY2FsbEVycm9yT2JqZWN0Owotc3RhdGljIFB5T2JqZWN0ICpQeVNTTEVPRkVycm9yT2JqZWN0OwotCi0vKiBFcnJvciBtYXBwaW5ncyAqLwotc3RhdGljIFB5T2JqZWN0ICplcnJfY29kZXNfdG9fbmFtZXM7Ci1zdGF0aWMgUHlPYmplY3QgKmVycl9uYW1lc190b19jb2RlczsKLXN0YXRpYyBQeU9iamVjdCAqbGliX2NvZGVzX3RvX25hbWVzOworfTsKIAogI2lmZGVmIFdJVEhfVEhSRUFECiAKQEAgLTE4MSwxMiArMjA0LDE2IEBACiAgICAgY2hhciAqbnBuX3Byb3RvY29sczsKICAgICBpbnQgbnBuX3Byb3RvY29sc19sZW47CiAjZW5kaWYKKyNpZm5kZWYgT1BFTlNTTF9OT19UTFNFWFQKKyAgICBQeU9iamVjdCAqc2V0X2hvc3RuYW1lOyAKKyNlbmRpZgogfSBQeVNTTENvbnRleHQ7CiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECiAgICAgUHlPYmplY3QgKlNvY2tldDsgLyogd2Vha3JlZiB0byBzb2NrZXQgb24gd2hpY2ggd2UncmUgbGF5ZXJlZCAqLwogICAgIFNTTCAqc3NsOworICAgIFB5U1NMQ29udGV4dCAqY3R4OyAvKiB3ZWFrcmVmIHRvIFNTTCBjb250ZXh0ICovCiAgICAgWDUwOSAqcGVlcl9jZXJ0OwogICAgIGludCBzaHV0ZG93bl9zZWVuX3plcm87CiAgICAgZW51bSBweV9zc2xfc2VydmVyX29yX2NsaWVudCBzb2NrZXRfdHlwZTsKQEAgLTQzNywxMSArNDY0LDEyIEBACiAgKi8KIAogc3RhdGljIFB5U1NMU29ja2V0ICoKLW5ld1B5U1NMU29ja2V0KFNTTF9DVFggKmN0eCwgUHlTb2NrZXRTb2NrT2JqZWN0ICpzb2NrLAorbmV3UHlTU0xTb2NrZXQoUHlTU0xDb250ZXh0ICpzc2xjdHgsIFB5U29ja2V0U29ja09iamVjdCAqc29jaywKICAgICAgICAgICAgICAgIGVudW0gcHlfc3NsX3NlcnZlcl9vcl9jbGllbnQgc29ja2V0X3R5cGUsCiAgICAgICAgICAgICAgICBjaGFyICpzZXJ2ZXJfaG9zdG5hbWUpCiB7CiAgICAgUHlTU0xTb2NrZXQgKnNlbGY7CisgICAgU1NMX0NUWCAqY3R4ID0gc3NsY3R4LT5jdHg7CiAKICAgICBzZWxmID0gUHlPYmplY3RfTmV3KFB5U1NMU29ja2V0LCAmUHlTU0xTb2NrZXRfVHlwZSk7CiAgICAgaWYgKHNlbGYgPT0gTlVMTCkKQEAgLTQ1MCw2ICs0NzgsOCBAQAogICAgIHNlbGYtPnBlZXJfY2VydCA9IE5VTEw7CiAgICAgc2VsZi0+c3NsID0gTlVMTDsKICAgICBzZWxmLT5Tb2NrZXQgPSBOVUxMOworICAgIHNlbGYtPmN0eCA9IHNzbGN0eDsKKyAgICBQeV9JTkNSRUYoc3NsY3R4KTsKIAogICAgIC8qIE1ha2Ugc3VyZSB0aGUgU1NMIGVycm9yIHN0YXRlIGlzIGluaXRpYWxpemVkICovCiAgICAgKHZvaWQpIEVSUl9nZXRfc3RhdGUoKTsKQEAgLTQ1OCwxMiArNDg4LDEzIEBACiAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHNlbGYtPnNzbCA9IFNTTF9uZXcoY3R4KTsKICAgICBQeVNTTF9FTkRfQUxMT1dfVEhSRUFEUworICAgIFNTTF9zZXRfYXBwX2RhdGEoc2VsZi0+c3NsLHNlbGYpOwogICAgIFNTTF9zZXRfZmQoc2VsZi0+c3NsLCBzb2NrLT5zb2NrX2ZkKTsKICNpZmRlZiBTU0xfTU9ERV9BVVRPX1JFVFJZCiAgICAgU1NMX3NldF9tb2RlKHNlbGYtPnNzbCwgU1NMX01PREVfQVVUT19SRVRSWSk7CiAjZW5kaWYKIAotI2lmZGVmIFNTTF9DVFJMX1NFVF9UTFNFWFRfSE9TVE5BTUUKKyNpZiBIQVZFX1NOSQogICAgIGlmIChzZXJ2ZXJfaG9zdG5hbWUgIT0gTlVMTCkKICAgICAgICAgU1NMX3NldF90bHNleHRfaG9zdF9uYW1lKHNlbGYtPnNzbCwgc2VydmVyX2hvc3RuYW1lKTsKICNlbmRpZgpAQCAtMTE2NCw2ICsxMTk1LDQzIEBACiAjZW5kaWYKIH0KIAorc3RhdGljIFB5U1NMQ29udGV4dCAqUHlTU0xfZ2V0X2NvbnRleHQoUHlTU0xTb2NrZXQgKnNlbGYsIHZvaWQgKmNsb3N1cmUpIHsKKyAgICBQeV9JTkNSRUYoc2VsZi0+Y3R4KTsKKyAgICByZXR1cm4gc2VsZi0+Y3R4OworfQorCitzdGF0aWMgaW50IFB5U1NMX3NldF9jb250ZXh0KFB5U1NMU29ja2V0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmNsb3N1cmUpIHsKKworICAgIGlmIChQeU9iamVjdF9UeXBlQ2hlY2sodmFsdWUsICZQeVNTTENvbnRleHRfVHlwZSkpIHsKKyNpZiAhSEFWRV9TTkkKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsICJzZXR0aW5nIGEgc29ja2V0J3MgIgorICAgICAgICAgICAgICAgICAgICAgICAgImNvbnRleHQgaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIE9wZW5TU0wgbGlicmFyeSIpOworICAgICAgICByZXR1cm4gLTE7CisjZWxzZQorICAgICAgICBQeV9JTkNSRUYodmFsdWUpOworICAgICAgICBQeV9ERUNSRUYoc2VsZi0+Y3R4KTsKKyAgICAgICAgc2VsZi0+Y3R4ID0gKFB5U1NMQ29udGV4dCAqKSB2YWx1ZTsKKyAgICAgICAgU1NMX3NldF9TU0xfQ1RYKHNlbGYtPnNzbCwgc2VsZi0+Y3R4LT5jdHgpOworI2VuZGlmCisgICAgfSBlbHNlIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIlRoZSB2YWx1ZSBtdXN0IGJlIGEgU1NMQ29udGV4dCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9zZXRfY29udGV4dF9kb2MsCisiX3NldHRlcl9jb250ZXh0KGN0eClcblwKK1wKK1RoaXMgY2hhbmdlcyB0aGUgY29udGV4dCBhc3NvY2lhdGVkIHdpdGggdGhlIFNTTFNvY2tldC4gVGhpcyBpcyB0eXBpY2FsbHlcblwKK3VzZWQgZnJvbSB3aXRoaW4gYSBjYWxsYmFjayBmdW5jdGlvbiBzZXQgYnkgdGhlIHNldF9zZXJ2ZXJuYW1lX2NhbGxiYWNrXG5cCitvbiB0aGUgU1NMQ29udGV4dCB0byBjaGFuZ2UgdGhlIGNlcnRpZmljYXRlIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGVcblwKK1NTTFNvY2tldCBiZWZvcmUgdGhlIGNyeXB0b2dyYXBoaWMgZXhjaGFuZ2UgaGFuZHNoYWtlIG1lc3NhZ2VzXG4iKTsKKworCisKIHN0YXRpYyB2b2lkIFB5U1NMX2RlYWxsb2MoUHlTU0xTb2NrZXQgKnNlbGYpCiB7CiAgICAgaWYgKHNlbGYtPnBlZXJfY2VydCkgICAgICAgIC8qIFBvc3NpYmxlIG5vdCB0byBoYXZlIG9uZT8gKi8KQEAgLTExNzEsNiArMTIzOSw3IEBACiAgICAgaWYgKHNlbGYtPnNzbCkKICAgICAgICAgU1NMX2ZyZWUoc2VsZi0+c3NsKTsKICAgICBQeV9YREVDUkVGKHNlbGYtPlNvY2tldCk7CisgICAgUHlfWERFQ1JFRihzZWxmLT5jdHgpOwogICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKIH0KIApAQCAtMTYwNiw2ICsxNjc1LDEyIEBACiAKICNlbmRpZiAvKiBIQVZFX09QRU5TU0xfRklOSVNIRUQgKi8KIAorc3RhdGljIFB5R2V0U2V0RGVmIHNzbF9nZXRzZXRsaXN0W10gPSB7CisgICAgeyJjb250ZXh0IiwgKGdldHRlcikgUHlTU0xfZ2V0X2NvbnRleHQsCisgICAgICAgICAgICAgICAgKHNldHRlcikgUHlTU0xfc2V0X2NvbnRleHQsIFB5U1NMX3NldF9jb250ZXh0X2RvY30sCisgICAge05VTEx9LCAgICAgICAgICAgIC8qIHNlbnRpbmVsICovCit9OworCiBzdGF0aWMgUHlNZXRob2REZWYgUHlTU0xNZXRob2RzW10gPSB7CiAgICAgeyJkb19oYW5kc2hha2UiLCAoUHlDRnVuY3Rpb24pUHlTU0xfU1NMZG9faGFuZHNoYWtlLCBNRVRIX05PQVJHU30sCiAgICAgeyJ3cml0ZSIsIChQeUNGdW5jdGlvbilQeVNTTF9TU0x3cml0ZSwgTUVUSF9WQVJBUkdTLApAQCAtMTY2MCw2ICsxNzM1LDggQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXIqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlcm5leHQqLwogICAgIFB5U1NMTWV0aG9kcywgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbWV0aG9kcyovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9tZW1iZXJzKi8KKyAgICBzc2xfZ2V0c2V0bGlzdCwgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldHNldCovCiB9OwogCiAKQEAgLTE2ODMsNiArMTc2MCwxMiBAQAogICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocHJvdG9fdmVyc2lvbiA9PSBQWV9TU0xfVkVSU0lPTl9UTFMxKQogICAgICAgICBjdHggPSBTU0xfQ1RYX25ldyhUTFN2MV9tZXRob2QoKSk7CisjaWYgSEFWRV9UTFN2MV8yCisgICAgZWxzZSBpZiAocHJvdG9fdmVyc2lvbiA9PSBQWV9TU0xfVkVSU0lPTl9UTFMxXzEpCisgICAgICAgIGN0eCA9IFNTTF9DVFhfbmV3KFRMU3YxXzFfbWV0aG9kKCkpOworICAgIGVsc2UgaWYgKHByb3RvX3ZlcnNpb24gPT0gUFlfU1NMX1ZFUlNJT05fVExTMV8yKQorICAgICAgICBjdHggPSBTU0xfQ1RYX25ldyhUTFN2MV8yX21ldGhvZCgpKTsKKyNlbmRpZgogICAgIGVsc2UgaWYgKHByb3RvX3ZlcnNpb24gPT0gUFlfU1NMX1ZFUlNJT05fU1NMMykKICAgICAgICAgY3R4ID0gU1NMX0NUWF9uZXcoU1NMdjNfbWV0aG9kKCkpOwogI2lmbmRlZiBPUEVOU1NMX05PX1NTTDIKQEAgLTE3MTYsNiArMTc5OSw5IEBACiAjaWZkZWYgT1BFTlNTTF9OUE5fTkVHT1RJQVRFRAogICAgIHNlbGYtPm5wbl9wcm90b2NvbHMgPSBOVUxMOwogI2VuZGlmCisjaWZuZGVmIE9QRU5TU0xfTk9fVExTRVhUCisgICAgc2VsZi0+c2V0X2hvc3RuYW1lID0gTlVMTDsgCisjZW5kaWYKICAgICAvKiBEZWZhdWx0cyAqLwogICAgIFNTTF9DVFhfc2V0X3ZlcmlmeShzZWxmLT5jdHgsIFNTTF9WRVJJRllfTk9ORSwgTlVMTCk7CiAgICAgU1NMX0NUWF9zZXRfb3B0aW9ucyhzZWxmLT5jdHgsCkBAIC0xNzI5LDkgKzE4MTUsMjggQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopc2VsZjsKIH0KIAorc3RhdGljIGludAorY29udGV4dF90cmF2ZXJzZShQeVNTTENvbnRleHQgKnNlbGYsIHZpc2l0cHJvYyB2aXNpdCwgdm9pZCAqYXJnKQoreworI2lmbmRlZiBPUEVOU1NMX05PX1RMU0VYVAorICAgIFB5X1ZJU0lUKHNlbGYtPnNldF9ob3N0bmFtZSk7CisjZW5kaWYKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAorY29udGV4dF9jbGVhcihQeVNTTENvbnRleHQgKnNlbGYpCit7CisjaWZuZGVmIE9QRU5TU0xfTk9fVExTRVhUCisgICAgUHlfQ0xFQVIoc2VsZi0+c2V0X2hvc3RuYW1lKTsKKyNlbmRpZgorICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgdm9pZAogY29udGV4dF9kZWFsbG9jKFB5U1NMQ29udGV4dCAqc2VsZikKIHsKKyAgICBjb250ZXh0X2NsZWFyKHNlbGYpOwogICAgIFNTTF9DVFhfZnJlZShzZWxmLT5jdHgpOwogI2lmZGVmIE9QRU5TU0xfTlBOX05FR09USUFURUQKICAgICBQeU1lbV9GcmVlKHNlbGYtPm5wbl9wcm90b2NvbHMpOwpAQCAtMjIxNiw3ICsyMzIxLDcgQEAKICAgICAgICAgICAgICZzb2NrLCAmc2VydmVyX3NpZGUsCiAgICAgICAgICAgICAiaWRuYSIsICZob3N0bmFtZSkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSNpZm5kZWYgU1NMX0NUUkxfU0VUX1RMU0VYVF9IT1NUTkFNRQorI2lmICFIQVZFX1NOSQogICAgICAgICBQeU1lbV9GcmVlKGhvc3RuYW1lKTsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJzZXJ2ZXJfaG9zdG5hbWUgaXMgbm90IHN1cHBvcnRlZCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAiYnkgeW91ciBPcGVuU1NMIGxpYnJhcnkiKTsKQEAgLTIyMjQsNyArMjMyOSw3IEBACiAjZW5kaWYKICAgICB9CiAKLSAgICByZXMgPSAoUHlPYmplY3QgKikgbmV3UHlTU0xTb2NrZXQoc2VsZi0+Y3R4LCBzb2NrLCBzZXJ2ZXJfc2lkZSwKKyAgICByZXMgPSAoUHlPYmplY3QgKikgbmV3UHlTU0xTb2NrZXQoc2VsZiwgc29jaywgc2VydmVyX3NpZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3RuYW1lKTsKICAgICBpZiAoaG9zdG5hbWUgIT0gTlVMTCkKICAgICAgICAgUHlNZW1fRnJlZShob3N0bmFtZSk7CkBAIC0yMzA5LDYgKzI0MTQsMTQ0IEBACiB9CiAjZW5kaWYKIAorI2lmIEhBVkVfU05JICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fVExTRVhUKQorc3RhdGljIGludAorX3NlcnZlcm5hbWVfY2FsbGJhY2soU1NMICpzLCBpbnQgKmFsLCB2b2lkICphcmdzKQoreworICAgIGludCByZXQ7CisgICAgUHlTU0xDb250ZXh0ICpzc2xfY3R4ID0gKFB5U1NMQ29udGV4dCAqKSBhcmdzOworICAgIFB5U1NMU29ja2V0ICpzc2w7CisgICAgUHlPYmplY3QgKnNlcnZlcm5hbWVfbzsKKyAgICBQeU9iamVjdCAqc2VydmVybmFtZV9pZG5hOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgLyogVGhlIGhpZ2gtbGV2ZWwgc3NsLlNTTFNvY2tldCBvYmplY3QgKi8KKyAgICBQeU9iamVjdCAqc3NsX3NvY2tldDsKKyAgICBjb25zdCBjaGFyICpzZXJ2ZXJuYW1lID0gU1NMX2dldF9zZXJ2ZXJuYW1lKHMsIFRMU0VYVF9OQU1FVFlQRV9ob3N0X25hbWUpOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlHSUxTdGF0ZV9TVEFURSBnc3RhdGUgPSBQeUdJTFN0YXRlX0Vuc3VyZSgpOworI2VuZGlmCisKKyAgICBpZiAoc3NsX2N0eC0+c2V0X2hvc3RuYW1lID09IE5VTEwpIHsKKyAgICAgICAgLyogcmVtb3ZlIHJhY2UgY29uZGl0aW9uIGluIHRoaXMgdGhlIGNhbGwgYmFjayB3aGlsZSBpZiByZW1vdmluZyB0aGUKKyAgICAgICAgICogY2FsbGJhY2sgaXMgaW4gcHJvZ3Jlc3MgKi8KKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgICAgICBQeUdJTFN0YXRlX1JlbGVhc2UoZ3N0YXRlKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gU1NMX1RMU0VYVF9FUlJfT0s7CisgICAgfQorCisgICAgc3NsID0gU1NMX2dldF9hcHBfZGF0YShzKTsKKyAgICBhc3NlcnQoUHlTU0xTb2NrZXRfQ2hlY2soc3NsKSk7CisgICAgc3NsX3NvY2tldCA9IFB5V2Vha3JlZl9HZXRPYmplY3Qoc3NsLT5Tb2NrZXQpOworICAgIFB5X0lOQ1JFRihzc2xfc29ja2V0KTsKKyAgICBpZiAoc3NsX3NvY2tldCA9PSBQeV9Ob25lKSB7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorIAorICAgIGlmIChzZXJ2ZXJuYW1lID09IE5VTEwpIHsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzc2xfY3R4LT5zZXRfaG9zdG5hbWUsIHNzbF9zb2NrZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSwgc3NsX2N0eCwgTlVMTCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzZXJ2ZXJuYW1lX28gPSBQeUJ5dGVzX0Zyb21TdHJpbmcoc2VydmVybmFtZSk7CisgICAgICAgIGlmIChzZXJ2ZXJuYW1lX28gPT0gTlVMTCkgeworICAgICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKChQeU9iamVjdCAqKSBzc2xfY3R4KTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgc2VydmVybmFtZV9pZG5hID0gUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KHNlcnZlcm5hbWVfbywgImlkbmEiLCBOVUxMKTsKKyAgICAgICAgaWYgKHNlcnZlcm5hbWVfaWRuYSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUoc2VydmVybmFtZV9vKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzZXJ2ZXJuYW1lX28pOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYoc2VydmVybmFtZV9vKTsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzc2xfY3R4LT5zZXRfaG9zdG5hbWUsIHNzbF9zb2NrZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVybmFtZV9pZG5hLCBzc2xfY3R4LCBOVUxMKTsKKyAgICAgICAgUHlfREVDUkVGKHNlcnZlcm5hbWVfaWRuYSk7CisgICAgfQorICAgIFB5X0RFQ1JFRihzc2xfc29ja2V0KTsKKworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUoc3NsX2N0eC0+c2V0X2hvc3RuYW1lKTsKKyAgICAgICAgKmFsID0gU1NMX0FEX0hBTkRTSEFLRV9GQUlMVVJFOworICAgICAgICByZXQgPSBTU0xfVExTRVhUX0VSUl9BTEVSVF9GQVRBTDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGlmIChyZXN1bHQgIT0gUHlfTm9uZSkgeworICAgICAgICAgICAgKmFsID0gKGludCkgUHlMb25nX0FzTG9uZyhyZXN1bHQpOworICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUocmVzdWx0KTsKKyAgICAgICAgICAgICAgICAqYWwgPSBTU0xfQURfSU5URVJOQUxfRVJST1I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXQgPSBTU0xfVExTRVhUX0VSUl9BTEVSVF9GQVRBTDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHJldCA9IFNTTF9UTFNFWFRfRVJSX09LOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgIH0KKworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlHSUxTdGF0ZV9SZWxlYXNlKGdzdGF0ZSk7CisjZW5kaWYKKyAgICByZXR1cm4gcmV0OworCitlcnJvcjoKKyAgICBQeV9ERUNSRUYoc3NsX3NvY2tldCk7CisgICAgKmFsID0gU1NMX0FEX0lOVEVSTkFMX0VSUk9SOworICAgIHJldCA9IFNTTF9UTFNFWFRfRVJSX0FMRVJUX0ZBVEFMOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlHSUxTdGF0ZV9SZWxlYXNlKGdzdGF0ZSk7CisjZW5kaWYKKyAgICByZXR1cm4gcmV0OworfQorI2VuZGlmCisKK1B5RG9jX1NUUlZBUihQeVNTTF9zZXRfc2VydmVybmFtZV9jYWxsYmFja19kb2MsCisic2V0X3NlcnZlcm5hbWVfY2FsbGJhY2sobWV0aG9kKVxuXAorXG5cCitUaGlzIHNldHMgYSBjYWxsYmFjayB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gYSBzZXJ2ZXIgbmFtZSBpcyBwcm92aWRlZCBieVxuXAordGhlIFNTTC9UTFMgY2xpZW50IGluIHRoZSBTTkkgZXh0ZW5zaW9uLlxuXAorXG5cCitJZiB0aGUgYXJndW1lbnQgaXMgTm9uZSB0aGVuIHRoZSBjYWxsYmFjayBpcyBkaXNhYmxlZC4gVGhlIG1ldGhvZCBpcyBjYWxsZWRcblwKK3dpdGggdGhlIFNTTFNvY2tldCwgdGhlIHNlcnZlciBuYW1lIGFzIGEgc3RyaW5nLCBhbmQgdGhlIFNTTENvbnRleHQgb2JqZWN0LlxuXAorU2VlIFJGQyA2MDY2IGZvciBkZXRhaWxzIG9mIHRoZSBTTkkgZXh0ZW5zaW9uLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2soUHlTU0xDb250ZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyNpZiBIQVZFX1NOSSAmJiAhZGVmaW5lZChPUEVOU1NMX05PX1RMU0VYVCkKKyAgICBQeU9iamVjdCAqY2I7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8iLCAmY2IpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X0NMRUFSKHNlbGYtPnNldF9ob3N0bmFtZSk7CisgICAgaWYgKGNiID09IFB5X05vbmUpIHsKKyAgICAgICAgU1NMX0NUWF9zZXRfdGxzZXh0X3NlcnZlcm5hbWVfY2FsbGJhY2soc2VsZi0+Y3R4LCBOVUxMKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGlmICghUHlDYWxsYWJsZV9DaGVjayhjYikpIHsKKyAgICAgICAgICAgIFNTTF9DVFhfc2V0X3Rsc2V4dF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKHNlbGYtPmN0eCwgTlVMTCk7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3QgYSBjYWxsYWJsZSBvYmplY3QiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRihjYik7CisgICAgICAgIHNlbGYtPnNldF9ob3N0bmFtZSA9IGNiOworICAgICAgICBTU0xfQ1RYX3NldF90bHNleHRfc2VydmVybmFtZV9jYWxsYmFjayhzZWxmLT5jdHgsIF9zZXJ2ZXJuYW1lX2NhbGxiYWNrKTsKKyAgICAgICAgU1NMX0NUWF9zZXRfdGxzZXh0X3NlcnZlcm5hbWVfYXJnKHNlbGYtPmN0eCwgc2VsZik7CisgICAgfQorICAgIFB5X1JFVFVSTl9OT05FOworI2Vsc2UKKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgIlRoZSBUTFMgZXh0ZW5zaW9uIHNlcnZlcm5hbWUgY2FsbGJhY2ssICIKKyAgICAgICAgICAgICAgICAgICAgIlNTTF9DVFhfc2V0X3Rsc2V4dF9zZXJ2ZXJuYW1lX2NhbGxiYWNrLCAiCisgICAgICAgICAgICAgICAgICAgICJpcyBub3QgaW4gdGhlIGN1cnJlbnQgT3BlblNTTCBsaWJyYXJ5LiIpOworICAgIHJldHVybiBOVUxMOworI2VuZGlmCit9CisKIHN0YXRpYyBQeUdldFNldERlZiBjb250ZXh0X2dldHNldGxpc3RbXSA9IHsKICAgICB7Im9wdGlvbnMiLCAoZ2V0dGVyKSBnZXRfb3B0aW9ucywKICAgICAgICAgICAgICAgICAoc2V0dGVyKSBzZXRfb3B0aW9ucywgTlVMTH0sCkBAIC0yMzM4LDYgKzI1ODEsOCBAQAogICAgIHsic2V0X2VjZGhfY3VydmUiLCAoUHlDRnVuY3Rpb24pIHNldF9lY2RoX2N1cnZlLAogICAgICAgICAgICAgICAgICAgICAgICBNRVRIX08sIE5VTEx9LAogI2VuZGlmCisgICAgeyJzZXRfc2VydmVybmFtZV9jYWxsYmFjayIsIChQeUNGdW5jdGlvbikgc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2ssCisgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgUHlTU0xfc2V0X3NlcnZlcm5hbWVfY2FsbGJhY2tfZG9jfSwKICAgICB7TlVMTCwgTlVMTH0gICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC0yMzYxLDEwICsyNjA2LDEwIEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0cm8qLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHJvKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19idWZmZXIqLwotICAgIFB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfQkFTRVRZUEUsICAvKnRwX2ZsYWdzKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0JBU0VUWVBFIHwgUHlfVFBGTEFHU19IQVZFX0dDLCAvKnRwX2ZsYWdzKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kb2MqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9jbGVhciovCisgICAgKHRyYXZlcnNlcHJvYykgY29udGV4dF90cmF2ZXJzZSwgICAgICAgICAgIC8qdHBfdHJhdmVyc2UqLworICAgIChpbnF1aXJ5KSBjb250ZXh0X2NsZWFyLCAgICAgICAgICAgICAgICAgICAvKnRwX2NsZWFyKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yaWNoY29tcGFyZSovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfd2Vha2xpc3RvZmZzZXQqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXIqLwpAQCAtMjc0NCw2ICsyOTg5LDU3IEBACiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkNFUlRfUkVRVUlSRUQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9DRVJUX1JFUVVJUkVEKTsKIAorICAgIC8qIEFsZXJ0IERlc2NyaXB0aW9ucyBmcm9tIHNzbC5oICovCisgICAgLyogbm90ZSBSRVNFUlZFRCBjb25zdGFudHMgbm8gbG9uZ2VyIGludGVuZGVkIGZvciB1c2UgaGF2ZSBiZWVuIHJlbW92ZWQgKi8KKyAgICAvKiBodHRwOi8vd3d3LmlhbmEub3JnL2Fzc2lnbm1lbnRzL3Rscy1wYXJhbWV0ZXJzL3Rscy1wYXJhbWV0ZXJzLnhtbCN0bHMtcGFyYW1ldGVycy02ICovCisKKyNkZWZpbmUgQUREX0FEX0NPTlNUQU5UKHMpIFwKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQUxFUlRfREVTQ1JJUFRJT05fIiNzLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1NMX0FEXyMjcykKKworICAgIEFERF9BRF9DT05TVEFOVChDTE9TRV9OT1RJRlkpOworICAgIEFERF9BRF9DT05TVEFOVChVTkVYUEVDVEVEX01FU1NBR0UpOworICAgIEFERF9BRF9DT05TVEFOVChCQURfUkVDT1JEX01BQyk7CisgICAgQUREX0FEX0NPTlNUQU5UKFJFQ09SRF9PVkVSRkxPVyk7CisgICAgQUREX0FEX0NPTlNUQU5UKERFQ09NUFJFU1NJT05fRkFJTFVSRSk7CisgICAgQUREX0FEX0NPTlNUQU5UKEhBTkRTSEFLRV9GQUlMVVJFKTsKKyAgICBBRERfQURfQ09OU1RBTlQoQkFEX0NFUlRJRklDQVRFKTsKKyAgICBBRERfQURfQ09OU1RBTlQoVU5TVVBQT1JURURfQ0VSVElGSUNBVEUpOworICAgIEFERF9BRF9DT05TVEFOVChDRVJUSUZJQ0FURV9SRVZPS0VEKTsKKyAgICBBRERfQURfQ09OU1RBTlQoQ0VSVElGSUNBVEVfRVhQSVJFRCk7CisgICAgQUREX0FEX0NPTlNUQU5UKENFUlRJRklDQVRFX1VOS05PV04pOworICAgIEFERF9BRF9DT05TVEFOVChJTExFR0FMX1BBUkFNRVRFUik7CisgICAgQUREX0FEX0NPTlNUQU5UKFVOS05PV05fQ0EpOworICAgIEFERF9BRF9DT05TVEFOVChBQ0NFU1NfREVOSUVEKTsKKyAgICBBRERfQURfQ09OU1RBTlQoREVDT0RFX0VSUk9SKTsKKyAgICBBRERfQURfQ09OU1RBTlQoREVDUllQVF9FUlJPUik7CisgICAgQUREX0FEX0NPTlNUQU5UKFBST1RPQ09MX1ZFUlNJT04pOworICAgIEFERF9BRF9DT05TVEFOVChJTlNVRkZJQ0lFTlRfU0VDVVJJVFkpOworICAgIEFERF9BRF9DT05TVEFOVChJTlRFUk5BTF9FUlJPUik7CisgICAgQUREX0FEX0NPTlNUQU5UKFVTRVJfQ0FOQ0VMTEVEKTsKKyAgICBBRERfQURfQ09OU1RBTlQoTk9fUkVORUdPVElBVElPTik7CisgICAgLyogTm90IGFsbCBjb25zdGFudHMgYXJlIGluIG9sZCBPcGVuU1NMIHZlcnNpb25zICovCisjaWZkZWYgU1NMX0FEX1VOU1VQUE9SVEVEX0VYVEVOU0lPTgorICAgIEFERF9BRF9DT05TVEFOVChVTlNVUFBPUlRFRF9FWFRFTlNJT04pOworI2VuZGlmCisjaWZkZWYgU1NMX0FEX0NFUlRJRklDQVRFX1VOT0JUQUlOQUJMRQorICAgIEFERF9BRF9DT05TVEFOVChDRVJUSUZJQ0FURV9VTk9CVEFJTkFCTEUpOworI2VuZGlmCisjaWZkZWYgU1NMX0FEX1VOUkVDT0dOSVpFRF9OQU1FCisgICAgQUREX0FEX0NPTlNUQU5UKFVOUkVDT0dOSVpFRF9OQU1FKTsKKyNlbmRpZgorI2lmZGVmIFNTTF9BRF9CQURfQ0VSVElGSUNBVEVfU1RBVFVTX1JFU1BPTlNFCisgICAgQUREX0FEX0NPTlNUQU5UKEJBRF9DRVJUSUZJQ0FURV9TVEFUVVNfUkVTUE9OU0UpOworI2VuZGlmCisjaWZkZWYgU1NMX0FEX0JBRF9DRVJUSUZJQ0FURV9IQVNIX1ZBTFVFCisgICAgQUREX0FEX0NPTlNUQU5UKEJBRF9DRVJUSUZJQ0FURV9IQVNIX1ZBTFVFKTsKKyNlbmRpZgorI2lmZGVmIFNTTF9BRF9VTktOT1dOX1BTS19JREVOVElUWQorICAgIEFERF9BRF9DT05TVEFOVChVTktOT1dOX1BTS19JREVOVElUWSk7CisjZW5kaWYKKworI3VuZGVmIEFERF9BRF9DT05TVEFOVAorCiAgICAgLyogcHJvdG9jb2wgdmVyc2lvbnMgKi8KICNpZm5kZWYgT1BFTlNTTF9OT19TU0wyCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlBST1RPQ09MX1NTTHYyIiwKQEAgLTI3NTUsNiArMzA1MSwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9WRVJTSU9OX1NTTDIzKTsKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUFJPVE9DT0xfVExTdjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX1NTTF9WRVJTSU9OX1RMUzEpOworI2lmIEhBVkVfVExTdjFfMgorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQUk9UT0NPTF9UTFN2MV8xIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfVkVSU0lPTl9UTFMxXzEpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQUk9UT0NPTF9UTFN2MV8yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQWV9TU0xfVkVSU0lPTl9UTFMxXzIpOworI2VuZGlmCiAKICAgICAvKiBwcm90b2NvbCBvcHRpb25zICovCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX0FMTCIsCkBAIC0yNzYyLDYgKzMwNjQsMTAgQEAKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fU1NMdjIiLCBTU0xfT1BfTk9fU1NMdjIpOwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9OT19TU0x2MyIsIFNTTF9PUF9OT19TU0x2Myk7CiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX1RMU3YxIiwgU1NMX09QX05PX1RMU3YxKTsKKyNpZiBIQVZFX1RMU3YxXzIKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMSIsIFNTTF9PUF9OT19UTFN2MV8xKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjFfMiIsIFNTTF9PUF9OT19UTFN2MV8yKTsKKyNlbmRpZgogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UpOwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9TSU5HTEVfREhfVVNFIiwgU1NMX09QX1NJTkdMRV9ESF9VU0UpOwpAQCAtMjc3Myw3ICszMDc5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTU0xfT1BfTk9fQ09NUFJFU1NJT04pOwogI2VuZGlmCiAKLSNpZmRlZiBTU0xfQ1RSTF9TRVRfVExTRVhUX0hPU1ROQU1FCisjaWYgSEFWRV9TTkkKICAgICByID0gUHlfVHJ1ZTsKICNlbHNlCiAgICAgciA9IFB5X0ZhbHNlOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3RydWN0LmMgYi9Nb2R1bGVzL19zdHJ1Y3QuYwppbmRleCAyODQ4NjE0Li4yZGVjNGVkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zdHJ1Y3QuYworKysgYi9Nb2R1bGVzL19zdHJ1Y3QuYwpAQCAtMTE5OSwxMiArMTE5OSwxMSBAQAogICAgIGNhc2UgJyEnOiAvKiBOZXR3b3JrIGJ5dGUgb3JkZXIgaXMgYmlnLWVuZGlhbiAqLwogICAgICAgICByZXR1cm4gYmlnZW5kaWFuX3RhYmxlOwogICAgIGNhc2UgJz0nOiB7IC8qIEhvc3QgYnl0ZSBvcmRlciAtLSBkaWZmZXJlbnQgZnJvbSBuYXRpdmUgaW4gYWxpZ25tZW50ISAqLwotICAgICAgICBpbnQgbiA9IDE7Ci0gICAgICAgIGNoYXIgKnAgPSAoY2hhciAqKSAmbjsKLSAgICAgICAgaWYgKCpwID09IDEpCi0gICAgICAgICAgICByZXR1cm4gbGlsZW5kaWFuX3RhYmxlOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gYmlnZW5kaWFuX3RhYmxlOworI2lmIFBZX0xJVFRMRV9FTkRJQU4KKyAgICAgICAgcmV0dXJuIGxpbGVuZGlhbl90YWJsZTsKKyNlbHNlCisgICAgICAgIHJldHVybiBiaWdlbmRpYW5fdGFibGU7CisjZW5kaWYKICAgICB9CiAgICAgZGVmYXVsdDoKICAgICAgICAgLS0qcGZtdDsgLyogQmFjayBvdXQgb2YgcG9pbnRlciBpbmNyZW1lbnQgKi8KQEAgLTEyNDgsNiArMTI0Nyw5IEBACiAgICAgcmV0dXJuIHNpemU7CiB9CiAKKy8qCisgKiBTdHJ1Y3Qgb2JqZWN0IGltcGxlbWVudGF0aW9uLgorICovCiAKIC8qIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGZvcm1hdCBzdHJpbmcgKi8KIApAQCAtMTU1Nyw2ICsxNTU5LDE0MiBAQAogfQogCiAKKy8qIFVucGFjayBpdGVyYXRvciB0eXBlICovCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgUHlTdHJ1Y3RPYmplY3QgKnNvOworICAgIFB5X2J1ZmZlciBidWY7CisgICAgUHlfc3NpemVfdCBpbmRleDsKK30gdW5wYWNraXRlcm9iamVjdDsKKworc3RhdGljIHZvaWQKK3VucGFja2l0ZXJfZGVhbGxvYyh1bnBhY2tpdGVyb2JqZWN0ICpzZWxmKQoreworICAgIFB5X1hERUNSRUYoc2VsZi0+c28pOworICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlbGYtPmJ1Zik7CisgICAgUHlPYmplY3RfR0NfRGVsKHNlbGYpOworfQorCitzdGF0aWMgaW50Cit1bnBhY2tpdGVyX3RyYXZlcnNlKHVucGFja2l0ZXJvYmplY3QgKnNlbGYsIHZpc2l0cHJvYyB2aXNpdCwgdm9pZCAqYXJnKQoreworICAgIFB5X1ZJU0lUKHNlbGYtPnNvKTsKKyAgICBQeV9WSVNJVChzZWxmLT5idWYub2JqKTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3VucGFja2l0ZXJfbGVuKHVucGFja2l0ZXJvYmplY3QgKnNlbGYpCit7CisgICAgUHlfc3NpemVfdCBsZW47CisgICAgaWYgKHNlbGYtPnNvID09IE5VTEwpCisgICAgICAgIGxlbiA9IDA7CisgICAgZWxzZQorICAgICAgICBsZW4gPSAoc2VsZi0+YnVmLmxlbiAtIHNlbGYtPmluZGV4KSAvIHNlbGYtPnNvLT5zX3NpemU7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChsZW4pOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgdW5wYWNraXRlcl9tZXRob2RzW10gPSB7CisgICAgeyJfX2xlbmd0aF9oaW50X18iLCAoUHlDRnVuY3Rpb24pIHVucGFja2l0ZXJfbGVuLCBNRVRIX05PQVJHUywgTlVMTH0sCisgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KK307CisKK3N0YXRpYyBQeU9iamVjdCAqCit1bnBhY2tpdGVyX2l0ZXJuZXh0KHVucGFja2l0ZXJvYmplY3QgKnNlbGYpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBpZiAoc2VsZi0+c28gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNlbGYtPmluZGV4ID49IHNlbGYtPmJ1Zi5sZW4pIHsKKyAgICAgICAgLyogSXRlcmF0b3IgZXhoYXVzdGVkICovCisgICAgICAgIFB5X0NMRUFSKHNlbGYtPnNvKTsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc2VsZi0+YnVmKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGFzc2VydChzZWxmLT5pbmRleCArIHNlbGYtPnNvLT5zX3NpemUgPD0gc2VsZi0+YnVmLmxlbik7CisgICAgcmVzdWx0ID0gc191bnBhY2tfaW50ZXJuYWwoc2VsZi0+c28sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIqKSBzZWxmLT5idWYuYnVmICsgc2VsZi0+aW5kZXgpOworICAgIHNlbGYtPmluZGV4ICs9IHNlbGYtPnNvLT5zX3NpemU7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUHlUeXBlT2JqZWN0IHVucGFja2l0ZXJfdHlwZSA9IHsKKyAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoJlB5VHlwZV9UeXBlLCAwKQorICAgICJ1bnBhY2tfaXRlcmF0b3IiLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbmFtZSAqLworICAgIHNpemVvZih1bnBhY2tpdGVyb2JqZWN0KSwgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzaWNzaXplICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVtc2l6ZSAqLworICAgIChkZXN0cnVjdG9yKXVucGFja2l0ZXJfZGVhbGxvYywgICAgICAgICAgICAgLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19IQVZFX0dDLCAgICAvKiB0cF9mbGFncyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCisgICAgKHRyYXZlcnNlcHJvYyl1bnBhY2tpdGVyX3RyYXZlcnNlLCAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIFB5T2JqZWN0X1NlbGZJdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIChpdGVybmV4dGZ1bmMpdW5wYWNraXRlcl9pdGVybmV4dCwgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICB1bnBhY2tpdGVyX21ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KK307CisKK1B5RG9jX1NUUlZBUihzX2l0ZXJfdW5wYWNrX19kb2NfXywKKyJTLml0ZXJfdW5wYWNrKGJ1ZmZlcikgLT4gaXRlcmF0b3IodjEsIHYyLCAuLi4pXG5cCitcblwKK1JldHVybiBhbiBpdGVyYXRvciB5aWVsZGluZyB0dXBsZXMgdW5wYWNrZWQgZnJvbSB0aGUgZ2l2ZW4gYnl0ZXNcblwKK3NvdXJjZSwgbGlrZSBhIHJlcGVhdGVkIGludm9jYXRpb24gb2YgdW5wYWNrX2Zyb20oKS4gIFJlcXVpcmVzXG5cCit0aGF0IHRoZSBieXRlcyBsZW5ndGggYmUgYSBtdWx0aXBsZSBvZiB0aGUgc3RydWN0IHNpemUuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzX2l0ZXJfdW5wYWNrKFB5T2JqZWN0ICpfc28sIFB5T2JqZWN0ICppbnB1dCkKK3sKKyAgICBQeVN0cnVjdE9iamVjdCAqc28gPSAoUHlTdHJ1Y3RPYmplY3QgKikgX3NvOworICAgIHVucGFja2l0ZXJvYmplY3QgKnNlbGY7CisKKyAgICBhc3NlcnQoUHlTdHJ1Y3RfQ2hlY2soX3NvKSk7CisgICAgYXNzZXJ0KHNvLT5zX2NvZGVzICE9IE5VTEwpOworCisgICAgaWYgKHNvLT5zX3NpemUgPT0gMCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoU3RydWN0RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiY2Fubm90IGl0ZXJhdGl2ZWx5IHVucGFjayB3aXRoIGEgc3RydWN0IG9mIGxlbmd0aCAwIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHNlbGYgPSAodW5wYWNraXRlcm9iamVjdCAqKSBQeVR5cGVfR2VuZXJpY0FsbG9jKCZ1bnBhY2tpdGVyX3R5cGUsIDApOworICAgIGlmIChzZWxmID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihpbnB1dCwgJnNlbGYtPmJ1ZiwgUHlCVUZfU0lNUExFKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHNlbGYpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKHNlbGYtPmJ1Zi5sZW4gJSBzby0+c19zaXplICE9IDApIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFN0cnVjdEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgIml0ZXJhdGl2ZSB1bnBhY2tpbmcgcmVxdWlyZXMgYSBieXRlcyBsZW5ndGggIgorICAgICAgICAgICAgICAgICAgICAgIm11bHRpcGxlIG9mICV6ZCIsCisgICAgICAgICAgICAgICAgICAgICBzby0+c19zaXplKTsKKyAgICAgICAgUHlfREVDUkVGKHNlbGYpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgUHlfSU5DUkVGKHNvKTsKKyAgICBzZWxmLT5zbyA9IHNvOworICAgIHNlbGYtPmluZGV4ID0gMDsKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopIHNlbGY7Cit9CisKKwogLyoKICAqIEd1dHMgb2YgdGhlIHBhY2sgZnVuY3Rpb24uCiAgKgpAQCAtMTc3Nyw2ICsxOTE1LDcgQEAKIC8qIExpc3Qgb2YgZnVuY3Rpb25zICovCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgc19tZXRob2RzW10gPSB7CisgICAgeyJpdGVyX3VucGFjayIsICAgICBzX2l0ZXJfdW5wYWNrLCAgTUVUSF9PLCBzX2l0ZXJfdW5wYWNrX19kb2NfX30sCiAgICAgeyJwYWNrIiwgICAgICAgICAgICBzX3BhY2ssICAgICAgICAgTUVUSF9WQVJBUkdTLCBzX3BhY2tfX2RvY19ffSwKICAgICB7InBhY2tfaW50byIsICAgICAgIHNfcGFja19pbnRvLCAgICBNRVRIX1ZBUkFSR1MsIHNfcGFja19pbnRvX19kb2NfX30sCiAgICAgeyJ1bnBhY2siLCAgICAgICAgICBzX3VucGFjaywgICAgICAgTUVUSF9PLCBzX3VucGFja19fZG9jX199LApAQCAtMjAyNiw5ICsyMTY1LDM0IEBACiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorUHlEb2NfU1RSVkFSKGl0ZXJfdW5wYWNrX2RvYywKKyJpdGVyX3VucGFjayhmbXQsIGJ1ZmZlcikgLT4gaXRlcmF0b3IodjEsIHYyLCAuLi4pXG5cCitcblwKK1JldHVybiBhbiBpdGVyYXRvciB5aWVsZGluZyB0dXBsZXMgdW5wYWNrZWQgZnJvbSB0aGUgZ2l2ZW4gYnl0ZXNcblwKK3NvdXJjZSBhY2NvcmRpbmcgdG8gdGhlIGZvcm1hdCBzdHJpbmcsIGxpa2UgYSByZXBlYXRlZCBpbnZvY2F0aW9uIG9mXG5cCit1bnBhY2tfZnJvbSgpLiAgUmVxdWlyZXMgdGhhdCB0aGUgYnl0ZXMgbGVuZ3RoIGJlIGEgbXVsdGlwbGUgb2YgdGhlXG5cCitmb3JtYXQgc3RydWN0IHNpemUuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitpdGVyX3VucGFjayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnNfb2JqZWN0LCAqZm10LCAqaW5wdXQsICpyZXN1bHQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9POml0ZXJfdW5wYWNrIiwgJmZtdCwgJmlucHV0KSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBzX29iamVjdCA9IGNhY2hlX3N0cnVjdChmbXQpOworICAgIGlmIChzX29iamVjdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXN1bHQgPSBzX2l0ZXJfdW5wYWNrKHNfb2JqZWN0LCBpbnB1dCk7CisgICAgUHlfREVDUkVGKHNfb2JqZWN0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIG1vZHVsZV9mdW5jdGlvbnNbXSA9IHsKICAgICB7Il9jbGVhcmNhY2hlIiwgICAgIChQeUNGdW5jdGlvbiljbGVhcmNhY2hlLCAgICAgICAgTUVUSF9OT0FSR1MsICAgIGNsZWFyY2FjaGVfZG9jfSwKICAgICB7ImNhbGNzaXplIiwgICAgICAgIGNhbGNzaXplLCAgICAgICBNRVRIX08sIGNhbGNzaXplX2RvY30sCisgICAgeyJpdGVyX3VucGFjayIsICAgICBpdGVyX3VucGFjaywgICAgTUVUSF9WQVJBUkdTLCAgIGl0ZXJfdW5wYWNrX2RvY30sCiAgICAgeyJwYWNrIiwgICAgICAgICAgICBwYWNrLCAgICAgICAgICAgTUVUSF9WQVJBUkdTLCAgIHBhY2tfZG9jfSwKICAgICB7InBhY2tfaW50byIsICAgICAgIHBhY2tfaW50bywgICAgICBNRVRIX1ZBUkFSR1MsICAgcGFja19pbnRvX2RvY30sCiAgICAgeyJ1bnBhY2siLCAgICAgICAgICB1bnBhY2ssIE1FVEhfVkFSQVJHUywgICB1bnBhY2tfZG9jfSwKQEAgLTIwOTgsMTMgKzIyNjIsMTMgQEAKIAogICAgIC8qIENoZWNrIGVuZGlhbiBhbmQgc3dhcCBpbiBmYXN0ZXIgZnVuY3Rpb25zICovCiAgICAgewotICAgICAgICBpbnQgb25lID0gMTsKICAgICAgICAgZm9ybWF0ZGVmICpuYXRpdmUgPSBuYXRpdmVfdGFibGU7CiAgICAgICAgIGZvcm1hdGRlZiAqb3RoZXIsICpwdHI7Ci0gICAgICAgIGlmICgoaW50KSoodW5zaWduZWQgY2hhciopJm9uZSkKLSAgICAgICAgICAgIG90aGVyID0gbGlsZW5kaWFuX3RhYmxlOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBvdGhlciA9IGJpZ2VuZGlhbl90YWJsZTsKKyNpZiBQWV9MSVRUTEVfRU5ESUFOCisgICAgICAgIG90aGVyID0gbGlsZW5kaWFuX3RhYmxlOworI2Vsc2UKKyAgICAgICAgb3RoZXIgPSBiaWdlbmRpYW5fdGFibGU7CisjZW5kaWYKICAgICAgICAgLyogU2NhbiB0aHJvdWdoIHRoZSBuYXRpdmUgdGFibGUsIGZpbmQgYSBtYXRjaGluZwogICAgICAgICAgICBlbnRyeSBpbiB0aGUgZW5kaWFuIHRhYmxlIGFuZCBzd2FwIGluIHRoZQogICAgICAgICAgICBuYXRpdmUgaW1wbGVtZW50YXRpb25zIHdoZW5ldmVyIHBvc3NpYmxlCmRpZmYgLS1naXQgYS9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jIGIvTW9kdWxlcy9fdGVzdGNhcGltb2R1bGUuYwppbmRleCAyZjQzODEzLi45YTE0ZmEyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCisrKyBiL01vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMKQEAgLTE0MTgsNiArMTQxOCwyMCBAQAogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIHJhaXNlVGVzdEVycm9yKCJ0ZXN0X3dpZGVjaGFyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTFwiXFxVMDAxMTAwMDBcIiwgMSkgZGlkbid0IGZhaWwiKTsKKworICAgIHdpZGUgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgMSk7CisgICAgaWYgKHdpZGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlVbmljb2RlX0FTX1VOSUNPREUod2lkZSlbMF0gPSBpbnZhbGlkWzBdOworICAgIGlmIChfUHlVbmljb2RlX1JlYWR5KHdpZGUpIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYod2lkZSk7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBQeV9ERUNSRUYod2lkZSk7CisgICAgICAgIHJldHVybiByYWlzZVRlc3RFcnJvcigidGVzdF93aWRlY2hhciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHlVbmljb2RlX1JlYWR5KCkgZGlkbid0IGZhaWwiKTsKKyAgICB9CiAjZW5kaWYKIAogICAgIFB5X1JFVFVSTl9OT05FOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGVzdGltcG9ydG11bHRpcGxlLmMgYi9Nb2R1bGVzL190ZXN0aW1wb3J0bXVsdGlwbGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xY2FlYjY2Ci0tLSAvZGV2L251bGwKKysrIGIvTW9kdWxlcy9fdGVzdGltcG9ydG11bHRpcGxlLmMKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIEMgZXh0ZW5zaW9ucyBtb2R1bGUgdG8gdGVzdCBpbXBvcnRpbmcgbXVsdGlwbGUgbW9kdWxlcyBmcm9tIG9uZSBjb21waWxlZAorICogZmlsZSAoaXNzdWUxNjQyMSkuIFRoaXMgZmlsZSBkZWZpbmVzIDMgbW9kdWxlcyAoX3Rlc3RpbXBvcnRtb2R1bGUsCisgKiBmb28sIGJhciksIG9ubHkgdGhlIGZpcnN0IG9uZSBpcyBjYWxsZWQgdGhlIHNhbWUgYXMgdGhlIGNvbXBpbGVkIGZpbGUuCisgKi8KKyNpbmNsdWRlPFB5dGhvbi5oPgorCitzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIF90ZXN0aW1wb3J0bXVsdGlwbGUgPSB7CisgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAorICAgICJfdGVzdGltcG9ydG11bHRpcGxlIiwKKyAgICAiX3Rlc3RpbXBvcnRtdWx0aXBsZSBkb2MiLAorICAgIC0xLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworUHlNT0RJTklUX0ZVTkMgUHlJbml0X190ZXN0aW1wb3J0bXVsdGlwbGUodm9pZCkKK3sKKyAgICByZXR1cm4gUHlNb2R1bGVfQ3JlYXRlKCZfdGVzdGltcG9ydG11bHRpcGxlKTsKK30KKworc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBfZm9vbW9kdWxlID0geworICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKKyAgICAiX3Rlc3RpbXBvcnRtdWx0aXBsZV9mb28iLAorICAgICJfdGVzdGltcG9ydG11bHRpcGxlX2ZvbyBkb2MiLAorICAgIC0xLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTAorfTsKKworUHlNT0RJTklUX0ZVTkMgUHlJbml0X190ZXN0aW1wb3J0bXVsdGlwbGVfZm9vKHZvaWQpCit7CisgICAgcmV0dXJuIFB5TW9kdWxlX0NyZWF0ZSgmX2Zvb21vZHVsZSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgX2Jhcm1vZHVsZSA9IHsKKyAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCisgICAgIl90ZXN0aW1wb3J0bXVsdGlwbGVfYmFyIiwKKyAgICAiX3Rlc3RpbXBvcnRtdWx0aXBsZV9iYXIgZG9jIiwKKyAgICAtMSwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwKK307CisKK1B5TU9ESU5JVF9GVU5DIFB5SW5pdF9fdGVzdGltcG9ydG11bHRpcGxlX2Jhcih2b2lkKXsKKyAgICByZXR1cm4gUHlNb2R1bGVfQ3JlYXRlKCZfYmFybW9kdWxlKTsKK30KKwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMgYi9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYwppbmRleCBkMWRjNjFkLi5jYmIyOTAxIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYworKysgYi9Nb2R1bGVzL190aHJlYWRtb2R1bGUuYwpAQCAtNzQxLDcgKzc0MSw3IEBACiAgICAgd3IgPSBQeVdlYWtyZWZfTmV3UmVmKChQeU9iamVjdCAqKSBzZWxmLCBOVUxMKTsKICAgICBpZiAod3IgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnI7Ci0gICAgc2VsZi0+d3JfY2FsbGJhY2sgPSBQeUNGdW5jdGlvbl9OZXcoJndyX2NhbGxiYWNrX2RlZiwgd3IpOworICAgIHNlbGYtPndyX2NhbGxiYWNrID0gUHlDRnVuY3Rpb25fTmV3RXgoJndyX2NhbGxiYWNrX2RlZiwgd3IsIE5VTEwpOwogICAgIFB5X0RFQ1JFRih3cik7CiAgICAgaWYgKHNlbGYtPndyX2NhbGxiYWNrID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGtpbnRlci5jIGIvTW9kdWxlcy9fdGtpbnRlci5jCmluZGV4IGQxOGM3ZjAuLmViMTQ4MjcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3RraW50ZXIuYworKysgYi9Nb2R1bGVzL190a2ludGVyLmMKQEAgLTEyNSw1MiArMTI1LDYwIEBACiAKIC8qIFRoZSB0aHJlYWRpbmcgc2l0dWF0aW9uIGlzIGNvbXBsaWNhdGVkLiAgVGNsIGlzIG5vdCB0aHJlYWQtc2FmZSwgZXhjZXB0CiAgICB3aGVuIGNvbmZpZ3VyZWQgd2l0aCAtLWVuYWJsZS10aHJlYWRzLgotICAgU28gd2UgbmVlZCB0byB1c2UgYSBsb2NrIGFyb3VuZCBhbGwgdXNlcyBvZiBUY2wuICBQcmV2aW91c2x5LCB0aGUgUHl0aG9uCi0gICBpbnRlcnByZXRlciBsb2NrIHdhcyB1c2VkIGZvciB0aGlzLiAgSG93ZXZlciwgdGhpcyBjYXVzZXMgcHJvYmxlbXMgd2hlbgotICAgb3RoZXIgUHl0aG9uIHRocmVhZHMgbmVlZCB0byBydW4gd2hpbGUgVGNsIGlzIGJsb2NrZWQgd2FpdGluZyBmb3IgZXZlbnRzLgogCi0gICBUbyBzb2x2ZSB0aGlzIHByb2JsZW0sIGEgc2VwYXJhdGUgbG9jayBmb3IgVGNsIGlzIGludHJvZHVjZWQuICBIb2xkaW5nIGl0Ci0gICBpcyBpbmNvbXBhdGlibGUgd2l0aCBob2xkaW5nIFB5dGhvbidzIGludGVycHJldGVyIGxvY2suICBUaGUgZm9sbG93aW5nIGZvdXIKLSAgIG1hY3JvcyBtYW5pcHVsYXRlIGJvdGggbG9ja3MgdG9nZXRoZXIuCisgICBTbyB3ZSBuZWVkIHRvIHVzZSBhIGxvY2sgYXJvdW5kIGFsbCB1c2VzIG9mIFRjbC4gIFByZXZpb3VzbHksIHRoZQorICAgUHl0aG9uIGludGVycHJldGVyIGxvY2sgd2FzIHVzZWQgZm9yIHRoaXMuICBIb3dldmVyLCB0aGlzIGNhdXNlcworICAgcHJvYmxlbXMgd2hlbiBvdGhlciBQeXRob24gdGhyZWFkcyBuZWVkIHRvIHJ1biB3aGlsZSBUY2wgaXMgYmxvY2tlZAorICAgd2FpdGluZyBmb3IgZXZlbnRzLgogCi0gICBFTlRFUl9UQ0wgYW5kIExFQVZFX1RDTCBhcmUgYnJhY2tldHMsIGp1c3QgbGlrZSBQeV9CRUdJTl9BTExPV19USFJFQURTIGFuZAotICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMuICBUaGV5IHNob3VsZCBiZSB1c2VkIHdoZW5ldmVyIGEgY2FsbCBpbnRvIFRjbCBpcyBtYWRlCi0gICB0aGF0IGNvdWxkIGNhbGwgYW4gZXZlbnQgaGFuZGxlciwgb3Igb3RoZXJ3aXNlIGFmZmVjdCB0aGUgc3RhdGUgb2YgYSBUY2wKLSAgIGludGVycHJldGVyLiAgVGhlc2UgYXNzdW1lIHRoYXQgdGhlIHN1cnJvdW5kaW5nIGNvZGUgaGFzIHRoZSBQeXRob24KLSAgIGludGVycHJldGVyIGxvY2s7IGluc2lkZSB0aGUgYnJhY2tldHMsIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgbG9jayBoYXMgYmVlbgotICAgcmVsZWFzZWQgYW5kIHRoZSBsb2NrIGZvciBUY2wgaGFzIGJlZW4gYWNxdWlyZWQuCisgICBUbyBzb2x2ZSB0aGlzIHByb2JsZW0sIGEgc2VwYXJhdGUgbG9jayBmb3IgVGNsIGlzIGludHJvZHVjZWQuCisgICBIb2xkaW5nIGl0IGlzIGluY29tcGF0aWJsZSB3aXRoIGhvbGRpbmcgUHl0aG9uJ3MgaW50ZXJwcmV0ZXIgbG9jay4KKyAgIFRoZSBmb2xsb3dpbmcgZm91ciBtYWNyb3MgbWFuaXB1bGF0ZSBib3RoIGxvY2tzIHRvZ2V0aGVyLgogCi0gICBTb21ldGltZXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBoYXZlIGJvdGggdGhlIFB5dGhvbiBsb2NrIGFuZCB0aGUgVGNsIGxvY2suCi0gICAoRm9yIGV4YW1wbGUsIHdoZW4gdHJhbnNmZXJyaW5nIGRhdGEgZnJvbSB0aGUgVGNsIGludGVycHJldGVyIHJlc3VsdCB0byBhCi0gICBQeXRob24gc3RyaW5nIG9iamVjdC4pICBUaGlzIGNhbiBiZSBkb25lIGJ5IHVzaW5nIGRpZmZlcmVudCBtYWNyb3MgdG8gY2xvc2UKLSAgIHRoZSBFTlRFUl9UQ0wgYmxvY2s6IEVOVEVSX09WRVJMQVAgcmVhY3F1aXJlcyB0aGUgUHl0aG9uIGxvY2sgKGFuZCByZXN0b3JlcwotICAgdGhlIHRocmVhZCBzdGF0ZSkgYnV0IGRvZXNuJ3QgcmVsZWFzZSB0aGUgVGNsIGxvY2s7IExFQVZFX09WRVJMQVBfVENMCi0gICByZWxlYXNlcyB0aGUgVGNsIGxvY2suCisgICBFTlRFUl9UQ0wgYW5kIExFQVZFX1RDTCBhcmUgYnJhY2tldHMsIGp1c3QgbGlrZQorICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUyBhbmQgUHlfRU5EX0FMTE9XX1RIUkVBRFMuICBUaGV5IHNob3VsZCBiZQorICAgdXNlZCB3aGVuZXZlciBhIGNhbGwgaW50byBUY2wgaXMgbWFkZSB0aGF0IGNvdWxkIGNhbGwgYW4gZXZlbnQKKyAgIGhhbmRsZXIsIG9yIG90aGVyd2lzZSBhZmZlY3QgdGhlIHN0YXRlIG9mIGEgVGNsIGludGVycHJldGVyLiAgVGhlc2UKKyAgIGFzc3VtZSB0aGF0IHRoZSBzdXJyb3VuZGluZyBjb2RlIGhhcyB0aGUgUHl0aG9uIGludGVycHJldGVyIGxvY2s7CisgICBpbnNpZGUgdGhlIGJyYWNrZXRzLCB0aGUgUHl0aG9uIGludGVycHJldGVyIGxvY2sgaGFzIGJlZW4gcmVsZWFzZWQKKyAgIGFuZCB0aGUgbG9jayBmb3IgVGNsIGhhcyBiZWVuIGFjcXVpcmVkLgorCisgICBTb21ldGltZXMsIGl0IGlzIG5lY2Vzc2FyeSB0byBoYXZlIGJvdGggdGhlIFB5dGhvbiBsb2NrIGFuZCB0aGUgVGNsCisgICBsb2NrLiAgKEZvciBleGFtcGxlLCB3aGVuIHRyYW5zZmVycmluZyBkYXRhIGZyb20gdGhlIFRjbAorICAgaW50ZXJwcmV0ZXIgcmVzdWx0IHRvIGEgUHl0aG9uIHN0cmluZyBvYmplY3QuKSAgVGhpcyBjYW4gYmUgZG9uZSBieQorICAgdXNpbmcgZGlmZmVyZW50IG1hY3JvcyB0byBjbG9zZSB0aGUgRU5URVJfVENMIGJsb2NrOiBFTlRFUl9PVkVSTEFQCisgICByZWFjcXVpcmVzIHRoZSBQeXRob24gbG9jayAoYW5kIHJlc3RvcmVzIHRoZSB0aHJlYWQgc3RhdGUpIGJ1dAorICAgZG9lc24ndCByZWxlYXNlIHRoZSBUY2wgbG9jazsgTEVBVkVfT1ZFUkxBUF9UQ0wgcmVsZWFzZXMgdGhlIFRjbAorICAgbG9jay4KIAogICAgQnkgY29udHJhc3QsIEVOVEVSX1BZVEhPTiBhbmQgTEVBVkVfUFlUSE9OIGFyZSB1c2VkIGluIFRjbCBldmVudAotICAgaGFuZGxlcnMgd2hlbiB0aGUgaGFuZGxlciBuZWVkcyB0byB1c2UgUHl0aG9uLiAgU3VjaCBldmVudCBoYW5kbGVycyBhcmUKLSAgIGVudGVyZWQgd2hpbGUgdGhlIGxvY2sgZm9yIFRjbCBpcyBoZWxkOyB0aGUgZXZlbnQgaGFuZGxlciBwcmVzdW1hYmx5IG5lZWRzCi0gICB0byB1c2UgUHl0aG9uLiAgRU5URVJfUFlUSE9OIHJlbGVhc2VzIHRoZSBsb2NrIGZvciBUY2wgYW5kIGFjcXVpcmVzCi0gICB0aGUgUHl0aG9uIGludGVycHJldGVyIGxvY2ssIHJlc3RvcmluZyB0aGUgYXBwcm9wcmlhdGUgdGhyZWFkIHN0YXRlLCBhbmQKLSAgIExFQVZFX1BZVEhPTiByZWxlYXNlcyB0aGUgUHl0aG9uIGludGVycHJldGVyIGxvY2sgYW5kIHJlLWFjcXVpcmVzIHRoZSBsb2NrCi0gICBmb3IgVGNsLiAgSXQgaXMgb2theSBmb3IgRU5URVJfVENML0xFQVZFX1RDTCBwYWlycyB0byBiZSBjb250YWluZWQgaW5zaWRlCi0gICB0aGUgY29kZSBiZXR3ZWVuIEVOVEVSX1BZVEhPTiBhbmQgTEVBVkVfUFlUSE9OLgorICAgaGFuZGxlcnMgd2hlbiB0aGUgaGFuZGxlciBuZWVkcyB0byB1c2UgUHl0aG9uLiAgU3VjaCBldmVudCBoYW5kbGVycworICAgYXJlIGVudGVyZWQgd2hpbGUgdGhlIGxvY2sgZm9yIFRjbCBpcyBoZWxkOyB0aGUgZXZlbnQgaGFuZGxlcgorICAgcHJlc3VtYWJseSBuZWVkcyB0byB1c2UgUHl0aG9uLiAgRU5URVJfUFlUSE9OIHJlbGVhc2VzIHRoZSBsb2NrIGZvcgorICAgVGNsIGFuZCBhY3F1aXJlcyB0aGUgUHl0aG9uIGludGVycHJldGVyIGxvY2ssIHJlc3RvcmluZyB0aGUKKyAgIGFwcHJvcHJpYXRlIHRocmVhZCBzdGF0ZSwgYW5kIExFQVZFX1BZVEhPTiByZWxlYXNlcyB0aGUgUHl0aG9uCisgICBpbnRlcnByZXRlciBsb2NrIGFuZCByZS1hY3F1aXJlcyB0aGUgbG9jayBmb3IgVGNsLiAgSXQgaXMgb2theSBmb3IKKyAgIEVOVEVSX1RDTC9MRUFWRV9UQ0wgcGFpcnMgdG8gYmUgY29udGFpbmVkIGluc2lkZSB0aGUgY29kZSBiZXR3ZWVuCisgICBFTlRFUl9QWVRIT04gYW5kIExFQVZFX1BZVEhPTi4KIAotICAgVGhlc2UgbG9ja3MgZXhwYW5kIHRvIHNldmVyYWwgc3RhdGVtZW50cyBhbmQgYnJhY2tldHM7IHRoZXkgc2hvdWxkIG5vdCBiZQotICAgdXNlZCBpbiBicmFuY2hlcyBvZiBpZiBzdGF0ZW1lbnRzIGFuZCB0aGUgbGlrZS4KKyAgIFRoZXNlIGxvY2tzIGV4cGFuZCB0byBzZXZlcmFsIHN0YXRlbWVudHMgYW5kIGJyYWNrZXRzOyB0aGV5IHNob3VsZAorICAgbm90IGJlIHVzZWQgaW4gYnJhbmNoZXMgb2YgaWYgc3RhdGVtZW50cyBhbmQgdGhlIGxpa2UuCiAKLSAgIElmIFRjbCBpcyB0aHJlYWRlZCwgdGhpcyBhcHByb2FjaCB3b24ndCB3b3JrIGFueW1vcmUuIFRoZSBUY2wgaW50ZXJwcmV0ZXIgaXMKLSAgIG9ubHkgdmFsaWQgaW4gdGhlIHRocmVhZCB0aGF0IGNyZWF0ZWQgaXQsIGFuZCBhbGwgVGsgYWN0aXZpdHkgbXVzdCBoYXBwZW4gaW4gdGhpcwotICAgdGhyZWFkLCBhbHNvLiBUaGF0IG1lYW5zIHRoYXQgdGhlIG1haW5sb29wIG11c3QgYmUgaW52b2tlZCBpbiB0aGUgdGhyZWFkIHRoYXQKLSAgIGNyZWF0ZWQgdGhlIGludGVycHJldGVyLiBJbnZva2luZyBjb21tYW5kcyBmcm9tIG90aGVyIHRocmVhZHMgaXMgcG9zc2libGU7Ci0gICBfdGtpbnRlciB3aWxsIHF1ZXVlIGFuIGV2ZW50IGZvciB0aGUgaW50ZXJwcmV0ZXIgdGhyZWFkLCB3aGljaCB3aWxsIHRoZW4KLSAgIGV4ZWN1dGUgdGhlIGNvbW1hbmQgYW5kIHBhc3MgYmFjayB0aGUgcmVzdWx0LiBJZiB0aGUgbWFpbiB0aHJlYWQgaXMgbm90IGluIHRoZQotICAgbWFpbmxvb3AsIGFuZCBpbnZva2luZyBjb21tYW5kcyBjYXVzZXMgYW4gZXhjZXB0aW9uOyBpZiB0aGUgbWFpbiBsb29wIGlzIHJ1bm5pbmcKLSAgIGJ1dCBub3QgcHJvY2Vzc2luZyBldmVudHMsIHRoZSBjb21tYW5kIGludm9jYXRpb24gd2lsbCBibG9jay4KKyAgIElmIFRjbCBpcyB0aHJlYWRlZCwgdGhpcyBhcHByb2FjaCB3b24ndCB3b3JrIGFueW1vcmUuIFRoZSBUY2wKKyAgIGludGVycHJldGVyIGlzIG9ubHkgdmFsaWQgaW4gdGhlIHRocmVhZCB0aGF0IGNyZWF0ZWQgaXQsIGFuZCBhbGwgVGsKKyAgIGFjdGl2aXR5IG11c3QgaGFwcGVuIGluIHRoaXMgdGhyZWFkLCBhbHNvLiBUaGF0IG1lYW5zIHRoYXQgdGhlCisgICBtYWlubG9vcCBtdXN0IGJlIGludm9rZWQgaW4gdGhlIHRocmVhZCB0aGF0IGNyZWF0ZWQgdGhlCisgICBpbnRlcnByZXRlci4gSW52b2tpbmcgY29tbWFuZHMgZnJvbSBvdGhlciB0aHJlYWRzIGlzIHBvc3NpYmxlOworICAgX3RraW50ZXIgd2lsbCBxdWV1ZSBhbiBldmVudCBmb3IgdGhlIGludGVycHJldGVyIHRocmVhZCwgd2hpY2ggd2lsbAorICAgdGhlbiBleGVjdXRlIHRoZSBjb21tYW5kIGFuZCBwYXNzIGJhY2sgdGhlIHJlc3VsdC4gSWYgdGhlIG1haW4KKyAgIHRocmVhZCBpcyBub3QgaW4gdGhlIG1haW5sb29wLCBhbmQgaW52b2tpbmcgY29tbWFuZHMgY2F1c2VzIGFuCisgICBleGNlcHRpb247IGlmIHRoZSBtYWluIGxvb3AgaXMgcnVubmluZyBidXQgbm90IHByb2Nlc3NpbmcgZXZlbnRzLAorICAgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiB3aWxsIGJsb2NrLgogCi0gICBJbiBhZGRpdGlvbiwgZm9yIGEgdGhyZWFkZWQgVGNsLCBhIHNpbmdsZSBnbG9iYWwgdGNsX3RzdGF0ZSB3b24ndCBiZSBzdWZmaWNpZW50Ci0gICBhbnltb3JlLCBzaW5jZSBtdWx0aXBsZSBUY2wgaW50ZXJwcmV0ZXJzIG1heSBzaW11bHRhbmVvdXNseSBkaXNwYXRjaCBpbiBkaWZmZXJlbnQKLSAgIHRocmVhZHMuIFNvIHdlIHVzZSB0aGUgVGNsIFRMUyBBUEkuCisgICBJbiBhZGRpdGlvbiwgZm9yIGEgdGhyZWFkZWQgVGNsLCBhIHNpbmdsZSBnbG9iYWwgdGNsX3RzdGF0ZSB3b24ndAorICAgYmUgc3VmZmljaWVudCBhbnltb3JlLCBzaW5jZSBtdWx0aXBsZSBUY2wgaW50ZXJwcmV0ZXJzIG1heQorICAgc2ltdWx0YW5lb3VzbHkgZGlzcGF0Y2ggaW4gZGlmZmVyZW50IHRocmVhZHMuIFNvIHdlIHVzZSB0aGUgVGNsIFRMUworICAgQVBJLgogCiAqLwogCkBAIC0xNzksNyArMTg3LDggQEAKICNpZmRlZiBUQ0xfVEhSRUFEUwogc3RhdGljIFRjbF9UaHJlYWREYXRhS2V5IHN0YXRlX2tleTsKIHR5cGVkZWYgUHlUaHJlYWRTdGF0ZSAqVGhyZWFkU3BlY2lmaWNEYXRhOwotI2RlZmluZSB0Y2xfdHN0YXRlICgqKFB5VGhyZWFkU3RhdGUqKilUY2xfR2V0VGhyZWFkRGF0YSgmc3RhdGVfa2V5LCBzaXplb2YoUHlUaHJlYWRTdGF0ZSopKSkKKyNkZWZpbmUgdGNsX3RzdGF0ZSBcCisgICAgKCooUHlUaHJlYWRTdGF0ZSoqKVRjbF9HZXRUaHJlYWREYXRhKCZzdGF0ZV9rZXksIHNpemVvZihQeVRocmVhZFN0YXRlKikpKQogI2Vsc2UKIHN0YXRpYyBQeVRocmVhZFN0YXRlICp0Y2xfdHN0YXRlID0gTlVMTDsKICNlbmRpZgpAQCAtMTg5LDcgKzE5OCw4IEBACiAgICAgICAgIGlmKHRjbF9sb2NrKVB5VGhyZWFkX2FjcXVpcmVfbG9jayh0Y2xfbG9jaywgMSk7IHRjbF90c3RhdGUgPSB0c3RhdGU7CiAKICNkZWZpbmUgTEVBVkVfVENMIFwKLSAgICB0Y2xfdHN0YXRlID0gTlVMTDsgaWYodGNsX2xvY2spUHlUaHJlYWRfcmVsZWFzZV9sb2NrKHRjbF9sb2NrKTsgUHlfRU5EX0FMTE9XX1RIUkVBRFN9CisgICAgdGNsX3RzdGF0ZSA9IE5VTEw7IFwKKyAgICBpZih0Y2xfbG9jaylQeVRocmVhZF9yZWxlYXNlX2xvY2sodGNsX2xvY2spOyBQeV9FTkRfQUxMT1dfVEhSRUFEU30KIAogI2RlZmluZSBFTlRFUl9PVkVSTEFQIFwKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwpAQCAtMTk5LDcgKzIwOSw4IEBACiAKICNkZWZpbmUgRU5URVJfUFlUSE9OIFwKICAgICB7IFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IHRjbF90c3RhdGU7IHRjbF90c3RhdGUgPSBOVUxMOyBcCi0gICAgICAgIGlmKHRjbF9sb2NrKVB5VGhyZWFkX3JlbGVhc2VfbG9jayh0Y2xfbG9jayk7IFB5RXZhbF9SZXN0b3JlVGhyZWFkKCh0c3RhdGUpKTsgfQorICAgICAgICBpZih0Y2xfbG9jaykgXAorICAgICAgICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jayh0Y2xfbG9jayk7IFB5RXZhbF9SZXN0b3JlVGhyZWFkKCh0c3RhdGUpKTsgfQogCiAjZGVmaW5lIExFQVZFX1BZVEhPTiBcCiAgICAgeyBQeVRocmVhZFN0YXRlICp0c3RhdGUgPSBQeUV2YWxfU2F2ZVRocmVhZCgpOyBcCkBAIC0yMDgsNyArMjE5LDggQEAKICNkZWZpbmUgQ0hFQ0tfVENMX0FQUEFSVE1FTlQgXAogICAgIGlmICgoKFRrYXBwT2JqZWN0ICopc2VsZiktPnRocmVhZGVkICYmIFwKICAgICAgICAgKChUa2FwcE9iamVjdCAqKXNlbGYpLT50aHJlYWRfaWQgIT0gVGNsX0dldEN1cnJlbnRUaHJlYWQoKSkgeyBcCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJDYWxsaW5nIFRjbCBmcm9tIGRpZmZlcmVudCBhcHBhcnRtZW50Iik7IFwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgXAorICAgICAgICAgICAgICAgICAgICAgICAgIkNhbGxpbmcgVGNsIGZyb20gZGlmZmVyZW50IGFwcGFydG1lbnQiKTsgXAogICAgICAgICByZXR1cm4gMDsgXAogICAgIH0KIApAQCAtMjMwLDcgKzI0Miw3IEBACiAKIC8qKioqIFRrYXBwIE9iamVjdCBEZWNsYXJhdGlvbiAqKioqLwogCi1zdGF0aWMgUHlUeXBlT2JqZWN0IFRrYXBwX1R5cGU7CitzdGF0aWMgUHlPYmplY3QgKlRrYXBwX1R5cGU7CiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBQeU9iamVjdF9IRUFECkBAIC0yNTAsNyArMjYyLDYgQEAKICAgICBUY2xfT2JqVHlwZSAqU3RyaW5nVHlwZTsKIH0gVGthcHBPYmplY3Q7CiAKLSNkZWZpbmUgVGthcHBfQ2hlY2sodikgKFB5X1RZUEUodikgPT0gJlRrYXBwX1R5cGUpCiAjZGVmaW5lIFRrYXBwX0ludGVycCh2KSAoKChUa2FwcE9iamVjdCAqKSAodikpLT5pbnRlcnApCiAjZGVmaW5lIFRrYXBwX1Jlc3VsdCh2KSBUY2xfR2V0U3RyaW5nUmVzdWx0KFRrYXBwX0ludGVycCh2KSkKIApAQCAtMzIzLDExNSArMzM0LDkgQEAKICNlbmRpZiAvKiBXSVRIX1RIUkVBRCAqLwogCiAKLXN0YXRpYyBjaGFyICoKLUFzU3RyaW5nKFB5T2JqZWN0ICp2YWx1ZSwgUHlPYmplY3QgKnRtcCkKLXsKLSAgICBpZiAoUHlCeXRlc19DaGVjayh2YWx1ZSkpCi0gICAgICAgIHJldHVybiBQeUJ5dGVzX0FzU3RyaW5nKHZhbHVlKTsKLSAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7Ci0gICAgICAgIFB5T2JqZWN0ICp2ID0gUHlVbmljb2RlX0FzVVRGOFN0cmluZyh2YWx1ZSk7Ci0gICAgICAgIGlmICh2ID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQodG1wLCB2KSAhPSAwKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgIHJldHVybiBQeUJ5dGVzX0FzU3RyaW5nKHYpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgUHlPYmplY3QgKnYgPSBQeU9iamVjdF9TdHIodmFsdWUpOwotICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKHRtcCwgdikgIT0gMCkgewotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICByZXR1cm4gUHlCeXRlc19Bc1N0cmluZyh2KTsKLSAgICB9Ci19Ci0KLQogCiAjZGVmaW5lIEFSR1NaIDY0CiAKLXN0YXRpYyBjaGFyICoKLU1lcmdlKFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICp0bXAgPSBOVUxMOwotICAgIGNoYXIgKmFyZ3ZTdG9yZVtBUkdTWl07Ci0gICAgY2hhciAqKmFyZ3YgPSBOVUxMOwotICAgIGludCBmdlN0b3JlW0FSR1NaXTsKLSAgICBpbnQgKmZ2ID0gTlVMTDsKLSAgICBpbnQgYXJnYyA9IDAsIGZ2YyA9IDAsIGk7Ci0gICAgY2hhciAqcmVzID0gTlVMTDsKLQotICAgIGlmICghKHRtcCA9IFB5TGlzdF9OZXcoMCkpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGFyZ3YgPSBhcmd2U3RvcmU7Ci0gICAgZnYgPSBmdlN0b3JlOwotCi0gICAgaWYgKGFyZ3MgPT0gTlVMTCkKLSAgICAgICAgYXJnYyA9IDA7Ci0KLSAgICBlbHNlIGlmICghUHlUdXBsZV9DaGVjayhhcmdzKSkgewotICAgICAgICBhcmdjID0gMTsKLSAgICAgICAgZnZbMF0gPSAwOwotICAgICAgICBpZiAoIShhcmd2WzBdID0gQXNTdHJpbmcoYXJncywgdG1wKSkpCi0gICAgICAgICAgICBnb3RvIGZpbmFsbHk7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBhcmdjID0gUHlUdXBsZV9TaXplKGFyZ3MpOwotCi0gICAgICAgIGlmIChhcmdjID4gQVJHU1opIHsKLSAgICAgICAgICAgIGFyZ3YgPSAoY2hhciAqKilja2FsbG9jKGFyZ2MgKiBzaXplb2YoY2hhciAqKSk7Ci0gICAgICAgICAgICBmdiA9IChpbnQgKilja2FsbG9jKGFyZ2MgKiBzaXplb2YoaW50KSk7Ci0gICAgICAgICAgICBpZiAoYXJndiA9PSBOVUxMIHx8IGZ2ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICAgICAgICAgIGdvdG8gZmluYWxseTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gUHlUdXBsZV9HZXRJdGVtKGFyZ3MsIGkpOwotICAgICAgICAgICAgaWYgKFB5VHVwbGVfQ2hlY2sodikpIHsKLSAgICAgICAgICAgICAgICBmdltpXSA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKCEoYXJndltpXSA9IE1lcmdlKHYpKSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBmaW5hbGx5OwotICAgICAgICAgICAgICAgIGZ2YysrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBpZiAodiA9PSBQeV9Ob25lKSB7Ci0gICAgICAgICAgICAgICAgYXJnYyA9IGk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBmdltpXSA9IDA7Ci0gICAgICAgICAgICAgICAgaWYgKCEoYXJndltpXSA9IEFzU3RyaW5nKHYsIHRtcCkpKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGZpbmFsbHk7Ci0gICAgICAgICAgICAgICAgZnZjKys7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmVzID0gVGNsX01lcmdlKGFyZ2MsIGFyZ3YpOwotICAgIGlmIChyZXMgPT0gTlVMTCkKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFRraW50ZXJfVGNsRXJyb3IsICJtZXJnZSBmYWlsZWQiKTsKLQotICBmaW5hbGx5OgotICAgIGZvciAoaSA9IDA7IGkgPCBmdmM7IGkrKykKLSAgICAgICAgaWYgKGZ2W2ldKSB7Ci0gICAgICAgICAgICBja2ZyZWUoYXJndltpXSk7Ci0gICAgICAgIH0KLSAgICBpZiAoYXJndiAhPSBhcmd2U3RvcmUpCi0gICAgICAgIGNrZnJlZShGUkVFQ0FTVCBhcmd2KTsKLSAgICBpZiAoZnYgIT0gZnZTdG9yZSkKLSAgICAgICAgY2tmcmVlKEZSRUVDQVNUIGZ2KTsKLQotICAgIFB5X0RFQ1JFRih0bXApOwotICAgIHJldHVybiByZXM7Ci19Ci0KIAogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNDQyLDggKzM0Nyw3IEBACiAgICAgUHlPYmplY3QgKnY7CiAKICAgICBpZiAobGlzdCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgcmV0dXJuIFB5X05vbmU7CisgICAgICAgIFB5X1JFVFVSTl9OT05FOwogICAgIH0KIAogICAgIGlmIChUY2xfU3BsaXRMaXN0KChUY2xfSW50ZXJwICopTlVMTCwgbGlzdCwgJmFyZ2MsICZhcmd2KSAhPSBUQ0xfT0spIHsKQEAgLTQ3NSw5ICszNzksOSBAQAogICAgIHJldHVybiB2OwogfQogCi0vKiBJbiBzb21lIGNhc2VzLCBUY2wgd2lsbCBzdGlsbCByZXR1cm4gc3RyaW5ncyB0aGF0IGFyZSBzdXBwb3NlZCB0byBiZQotICAgbGlzdHMuIFNwbGl0T2JqIHdhbGtzIHRocm91Z2ggYSBuZXN0ZWQgdHVwbGUsIGZpbmRpbmcgc3RyaW5nIG9iamVjdHMgdGhhdAotICAgbmVlZCB0byBiZSBzcGxpdC4gKi8KKy8qIEluIHNvbWUgY2FzZXMsIFRjbCB3aWxsIHN0aWxsIHJldHVybiBzdHJpbmdzIHRoYXQgYXJlIHN1cHBvc2VkIHRvCisgICBiZSBsaXN0cy4gU3BsaXRPYmogd2Fsa3MgdGhyb3VnaCBhIG5lc3RlZCB0dXBsZSwgZmluZGluZyBzdHJpbmcKKyAgIG9iamVjdHMgdGhhdCBuZWVkIHRvIGJlIHNwbGl0LiAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgogU3BsaXRPYmooUHlPYmplY3QgKmFyZykKQEAgLTU5NCw3ICs0OTgsNyBAQAogICAgIFRrYXBwT2JqZWN0ICp2OwogICAgIGNoYXIgKmFyZ3YwOwogCi0gICAgdiA9IFB5T2JqZWN0X05ldyhUa2FwcE9iamVjdCwgJlRrYXBwX1R5cGUpOworICAgIHYgPSBQeU9iamVjdF9OZXcoVGthcHBPYmplY3QsIChQeVR5cGVPYmplY3QgKikgVGthcHBfVHlwZSk7CiAgICAgaWYgKHYgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTYwNyw3ICs1MTEsOCBAQAogCiAjaWZuZGVmIFRDTF9USFJFQURTCiAgICAgaWYgKHYtPnRocmVhZGVkKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJUY2wgaXMgdGhyZWFkZWQgYnV0IF90a2ludGVyIGlzIG5vdCIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIlRjbCBpcyB0aHJlYWRlZCBidXQgX3RraW50ZXIgaXMgbm90Iik7CiAgICAgICAgIFB5X0RFQ1JFRih2KTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtNzQ0LDE0ICs2NDksMTQgQEAKICAgICBQeU9iamVjdCAqc3RyaW5nOyAvKiBUaGlzIGNhbm5vdCBjYXVzZSBjeWNsZXMuICovCiB9IFB5VGNsT2JqZWN0OwogCi1zdGF0aWMgUHlUeXBlT2JqZWN0IFB5VGNsT2JqZWN0X1R5cGU7Ci0jZGVmaW5lIFB5VGNsT2JqZWN0X0NoZWNrKHYpICAgICgodiktPm9iX3R5cGUgPT0gJlB5VGNsT2JqZWN0X1R5cGUpCitzdGF0aWMgUHlPYmplY3QgKlB5VGNsT2JqZWN0X1R5cGU7CisjZGVmaW5lIFB5VGNsT2JqZWN0X0NoZWNrKHYpICgodiktPm9iX3R5cGUgPT0gKFB5VHlwZU9iamVjdCAqKSBQeVRjbE9iamVjdF9UeXBlKQogCiBzdGF0aWMgUHlPYmplY3QgKgogbmV3UHlUY2xPYmplY3QoVGNsX09iaiAqYXJnKQogewogICAgIFB5VGNsT2JqZWN0ICpzZWxmOwotICAgIHNlbGYgPSBQeU9iamVjdF9OZXcoUHlUY2xPYmplY3QsICZQeVRjbE9iamVjdF9UeXBlKTsKKyAgICBzZWxmID0gUHlPYmplY3RfTmV3KFB5VGNsT2JqZWN0LCAoUHlUeXBlT2JqZWN0ICopIFB5VGNsT2JqZWN0X1R5cGUpOwogICAgIGlmIChzZWxmID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFRjbF9JbmNyUmVmQ291bnQoYXJnKTsKQEAgLTg4NSw1MCArNzkwLDI1IEBACiAgICAgezB9LAogfTsKIAotc3RhdGljIFB5VHlwZU9iamVjdCBQeVRjbE9iamVjdF9UeXBlID0gewotICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQotICAgICJfdGtpbnRlci5UY2xfT2JqIiwgICAgICAgICAgICAgICAgIC8qdHBfbmFtZSovCi0gICAgc2l6ZW9mKFB5VGNsT2JqZWN0KSwgICAgICAgICAgICAgICAgLyp0cF9iYXNpY3NpemUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlbXNpemUqLwotICAgIC8qIG1ldGhvZHMgKi8KLSAgICAoZGVzdHJ1Y3RvcilQeVRjbE9iamVjdF9kZWFsbG9jLC8qdHBfZGVhbGxvYyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9wcmludCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVzZXJ2ZWQqLwotICAgIChyZXByZnVuYylQeVRjbE9iamVjdF9yZXByLCAgICAgICAgIC8qdHBfcmVwciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19udW1iZXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbWFwcGluZyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9oYXNoKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLwotICAgIChyZXByZnVuYylQeVRjbE9iamVjdF9zdHIsICAgICAgICAgIC8qdHBfc3RyKi8KLSAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAvKnRwX2dldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX2J1ZmZlciovCi0gICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyp0cF9mbGFncyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kb2MqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfdHJhdmVyc2UqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2xlYXIqLwotICAgIFB5VGNsT2JqZWN0X3JpY2hjb21wYXJlLCAgICAgICAgICAgIC8qdHBfcmljaGNvbXBhcmUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfd2Vha2xpc3RvZmZzZXQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVybmV4dCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9tZXRob2RzKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX21lbWJlcnMqLwotICAgIFB5VGNsT2JqZWN0X2dldHNldGxpc3QsICAgICAgICAgICAgIC8qdHBfZ2V0c2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Jhc2UqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGljdCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kZXNjcl9nZXQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3Jfc2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RpY3RvZmZzZXQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaW5pdCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hbGxvYyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9uZXcqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZnJlZSovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pc19nYyovCitzdGF0aWMgUHlUeXBlX1Nsb3QgUHlUY2xPYmplY3RfVHlwZV9zbG90c1tdID0geworICAgIHtQeV90cF9kZWFsbG9jLCAoZGVzdHJ1Y3RvcilQeVRjbE9iamVjdF9kZWFsbG9jfSwKKyAgICB7UHlfdHBfcmVwciwgKHJlcHJmdW5jKVB5VGNsT2JqZWN0X3JlcHJ9LAorICAgIHtQeV90cF9zdHIsIChyZXByZnVuYylQeVRjbE9iamVjdF9zdHJ9LAorICAgIHtQeV90cF9nZXRhdHRybywgUHlPYmplY3RfR2VuZXJpY0dldEF0dHJ9LAorICAgIHtQeV90cF9yaWNoY29tcGFyZSwgUHlUY2xPYmplY3RfcmljaGNvbXBhcmV9LAorICAgIHtQeV90cF9nZXRzZXQsIFB5VGNsT2JqZWN0X2dldHNldGxpc3R9LAorICAgIHswLCAwfQogfTsKIAorc3RhdGljIFB5VHlwZV9TcGVjIFB5VGNsT2JqZWN0X1R5cGVfc3BlYyA9IHsKKyAgICAiX3RraW50ZXIuVGNsX09iaiIsCisgICAgc2l6ZW9mKFB5VGNsT2JqZWN0KSwKKyAgICAwLAorICAgIFB5X1RQRkxBR1NfREVGQVVMVCwKKyAgICBQeVRjbE9iamVjdF9UeXBlX3Nsb3RzLAorfTsKKworCiBzdGF0aWMgVGNsX09iaioKIEFzT2JqKFB5T2JqZWN0ICp2YWx1ZSkKIHsKQEAgLTEzMzIsNDIgKzEyMTIsNiBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1Ua2FwcF9HbG9iYWxDYWxsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICAvKiBDb3VsZCBkbyB0aGUgc2FtZSBoZXJlIGFzIGZvciBUa2FwcF9DYWxsKCksIGJ1dCB0aGlzIGlzIG5vdCB1c2VkCi0gICAgICAgbXVjaCwgc28gSSBjYW4ndCBiZSBib3RoZXJlZC4gIFVuZm9ydHVuYXRlbHkgVGNsIGRvZXNuJ3QgZXhwb3J0IGEKLSAgICAgICB3YXkgZm9yIHRoZSB1c2VyIHRvIGRvIHdoYXQgYWxsIGl0cyBHbG9iYWwqIHZhcmlhbnRzIGRvIChzYXZlIGFuZAotICAgICAgIHJlc2V0IHRoZSBzY29wZSBwb2ludGVyLCBjYWxsIHRoZSBsb2NhbCB2ZXJzaW9uLCByZXN0b3JlIHRoZSBzYXZlZAotICAgICAgIHNjb3BlIHBvaW50ZXIpLiAqLwotCi0gICAgY2hhciAqY21kOwotICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwotCi0gICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCi0gICAgICAgICAgICAgICAgICAgICAiZ2xvYmFsY2FsbCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMy40IiwKLSAgICAgICAgICAgICAgICAgICAgIDEpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBDSEVDS19UQ0xfQVBQQVJUTUVOVDsKLQotICAgIGNtZCAgPSBNZXJnZShhcmdzKTsKLSAgICBpZiAoY21kKSB7Ci0gICAgICAgIGludCBlcnI7Ci0gICAgICAgIEVOVEVSX1RDTAotICAgICAgICBlcnIgPSBUY2xfR2xvYmFsRXZhbChUa2FwcF9JbnRlcnAoc2VsZiksIGNtZCk7Ci0gICAgICAgIEVOVEVSX09WRVJMQVAKLSAgICAgICAgaWYgKGVyciA9PSBUQ0xfRVJST1IpCi0gICAgICAgICAgICByZXMgPSBUa2ludGVyX0Vycm9yKHNlbGYpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhUa2FwcF9SZXN1bHQoc2VsZikpOwotICAgICAgICBMRUFWRV9PVkVSTEFQX1RDTAotICAgICAgICBja2ZyZWUoY21kKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmVzOwotfQotCi1zdGF0aWMgUHlPYmplY3QgKgogVGthcHBfRXZhbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgY2hhciAqc2NyaXB0OwpAQCAtMTM5MSwzNCArMTIzNSw2IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1Ua2FwcF9HbG9iYWxFdmFsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBjaGFyICpzY3JpcHQ7Ci0gICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7Ci0gICAgaW50IGVycjsKLQotICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgImdsb2JhbGV2YWwgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIDMuNCIsCi0gICAgICAgICAgICAgICAgICAgICAxKSA8IDApCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzOmdsb2JhbGV2YWwiLCAmc2NyaXB0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBDSEVDS19UQ0xfQVBQQVJUTUVOVDsKLQotICAgIEVOVEVSX1RDTAotICAgIGVyciA9IFRjbF9HbG9iYWxFdmFsKFRrYXBwX0ludGVycChzZWxmKSwgc2NyaXB0KTsKLSAgICBFTlRFUl9PVkVSTEFQCi0gICAgaWYgKGVyciA9PSBUQ0xfRVJST1IpCi0gICAgICAgIHJlcyA9IFRraW50ZXJfRXJyb3Ioc2VsZik7Ci0gICAgZWxzZQotICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhUa2FwcF9SZXN1bHQoc2VsZikpOwotICAgIExFQVZFX09WRVJMQVBfVENMCi0gICAgcmV0dXJuIHJlczsKLX0KLQotc3RhdGljIFB5T2JqZWN0ICoKIFRrYXBwX0V2YWxGaWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBjaGFyICpmaWxlTmFtZTsKQEAgLTE0NzgsOCArMTI5NCw3IEBACiAgICAgVGNsX0FkZEVycm9ySW5mbyhUa2FwcF9JbnRlcnAoc2VsZiksIG1zZyk7CiAgICAgTEVBVkVfVENMCiAKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIApAQCAtMTY3Nyw3ICsxNDkyLDggQEAKICAgICB0cmVzID0gVGNsX0dldFZhcjJFeChUa2FwcF9JbnRlcnAoc2VsZiksIG5hbWUxLCBuYW1lMiwgZmxhZ3MpOwogICAgIEVOVEVSX09WRVJMQVAKICAgICBpZiAodHJlcyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhUa2ludGVyX1RjbEVycm9yLCBUY2xfR2V0U3RyaW5nUmVzdWx0KFRrYXBwX0ludGVycChzZWxmKSkpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoVGtpbnRlcl9UY2xFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgIFRjbF9HZXRTdHJpbmdSZXN1bHQoVGthcHBfSW50ZXJwKHNlbGYpKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKCgoVGthcHBPYmplY3QqKXNlbGYpLT53YW50b2JqZWN0cykgewogICAgICAgICAgICAgcmVzID0gRnJvbU9iaihzZWxmLCB0cmVzKTsKQEAgLTE3MzYsNyArMTU1Miw4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogVGthcHBfR2xvYmFsVW5zZXRWYXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHJldHVybiB2YXJfaW52b2tlKFVuc2V0VmFyLCBzZWxmLCBhcmdzLCBUQ0xfTEVBVkVfRVJSX01TRyB8IFRDTF9HTE9CQUxfT05MWSk7CisgICAgcmV0dXJuIHZhcl9pbnZva2UoVW5zZXRWYXIsIHNlbGYsIGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgVENMX0xFQVZFX0VSUl9NU0cgfCBUQ0xfR0xPQkFMX09OTFkpOwogfQogCiAKQEAgLTE5NjEsMjcgKzE3NzgsNiBAQAogICAgIHJldHVybiB2OwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotVGthcHBfTWVyZ2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGNoYXIgKnM7Ci0gICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7Ci0KLSAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICJtZXJnZSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gMy40IiwKLSAgICAgICAgICAgICAgICAgICAgIDEpIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBzID0gTWVyZ2UoYXJncyk7Ci0KLSAgICBpZiAocykgewotICAgICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhzKTsKLSAgICAgICAgY2tmcmVlKHMpOwotICAgIH0KLQotICAgIHJldHVybiByZXM7Ci19Ci0KIAogCiAvKiogVGNsIENvbW1hbmQgKiovCkBAIC0yMTY3LDggKzE5NjMsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIApAQCAtMjIwOSw4ICsyMDA0LDcgQEAKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFRraW50ZXJfVGNsRXJyb3IsICJjYW4ndCBkZWxldGUgVGNsIGNvbW1hbmQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogCkBAIC0yMzE0LDggKzIxMDgsNyBAQAogICAgIEVOVEVSX1RDTAogICAgIFRjbF9DcmVhdGVGaWxlSGFuZGxlcih0ZmlsZSwgbWFzaywgRmlsZUhhbmRsZXIsIChDbGllbnREYXRhKSBkYXRhKTsKICAgICBMRUFWRV9UQ0wKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yMzM5LDE1ICsyMTMyLDE0IEBACiAgICAgRU5URVJfVENMCiAgICAgVGNsX0RlbGV0ZUZpbGVIYW5kbGVyKHRmaWxlKTsKICAgICBMRUFWRV9UQ0wKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYgLyogSEFWRV9DUkVBVEVGSUxFSEFORExFUiAqLwogCiAKIC8qKioqIFRrdHQgT2JqZWN0ICh0aW1lciB0b2tlbikgKioqKi8KIAotc3RhdGljIFB5VHlwZU9iamVjdCBUa3R0X1R5cGU7CitzdGF0aWMgUHlPYmplY3QgKlRrdHRfVHlwZTsKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKQEAgLTIzNzIsOCArMjE2NCw3IEBACiAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKICAgICAgICAgUHlfREVDUkVGKHYpOyAvKiBTZWUgVGt0dF9OZXcoKSAqLwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIHN0YXRpYyBQeU1ldGhvZERlZiBUa3R0X21ldGhvZHNbXSA9CkBAIC0yMzg3LDcgKzIxNzgsNyBAQAogewogICAgIFRrdHRPYmplY3QgKnY7CiAKLSAgICB2ID0gUHlPYmplY3RfTmV3KFRrdHRPYmplY3QsICZUa3R0X1R5cGUpOworICAgIHYgPSBQeU9iamVjdF9OZXcoVGt0dE9iamVjdCwgKFB5VHlwZU9iamVjdCAqKSBUa3R0X1R5cGUpOwogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0yNDIwLDM4ICsyMjExLDIwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPmZ1bmMgPT0gTlVMTCA/ICIsIGhhbmRsZXIgZGVsZXRlZCIgOiAiIik7CiB9CiAKLXN0YXRpYyBQeVR5cGVPYmplY3QgVGt0dF9UeXBlID0KLXsKLSAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAidGt0aW1lcnRva2VuIiwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbmFtZSAqLwotICAgIHNpemVvZihUa3R0T2JqZWN0KSwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9iYXNpY3NpemUgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlbXNpemUgKi8KLSAgICBUa3R0X0RlYWxsb2MsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVhbGxvYyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9wcmludCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRyICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVzZXJ2ZWQgKi8KLSAgICBUa3R0X1JlcHIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVwciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19udW1iZXIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbWFwcGluZyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9oYXNoICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zdHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRybyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfYnVmZmVyKi8KLSAgICBQeV9UUEZMQUdTX0RFRkFVTFQsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZmxhZ3MqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kb2MqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF90cmF2ZXJzZSovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NsZWFyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmljaGNvbXBhcmUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF93ZWFrbGlzdG9mZnNldCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVybmV4dCovCi0gICAgVGt0dF9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX21ldGhvZHMqLworc3RhdGljIFB5VHlwZV9TbG90IFRrdHRfVHlwZV9zbG90c1tdID0geworICAgIHtQeV90cF9kZWFsbG9jLCBUa3R0X0RlYWxsb2N9LAorICAgIHtQeV90cF9yZXByLCBUa3R0X1JlcHJ9LAorICAgIHtQeV90cF9tZXRob2RzLCBUa3R0X21ldGhvZHN9LAorICAgIHswLCAwfQogfTsKIAorc3RhdGljIFB5VHlwZV9TcGVjIFRrdHRfVHlwZV9zcGVjID0geworICAgICJ0a3RpbWVydG9rZW4iLAorICAgIHNpemVvZihUa3R0T2JqZWN0KSwKKyAgICAwLAorICAgIFB5X1RQRkxBR1NfREVGQVVMVCwKKyAgICBUa3R0X1R5cGVfc2xvdHMsCit9OwogCiAKIC8qKiBUaW1lciBIYW5kbGVyICoqLwpAQCAtMjU3Myw4ICsyMzQ2LDcgQEAKICAgICAgICAgZXhjSW5DbWQgPSB2YWxJbkNtZCA9IHRyYkluQ21kID0gTlVMTDsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI2MDAsOCArMjM3Miw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgcXVpdE1haW5Mb29wID0gMTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yNjUxLDE1ICsyNDIyLDE1IEBACiAgICAgfQogICAgIGlmIChfdGtfZXhpc3RzID09IE5VTEwgfHwgc3RyY21wKF90a19leGlzdHMsICIxIikgIT0gMCkgICAgIHsKICAgICAgICAgaWYgKFRrX0luaXQoaW50ZXJwKSAgICAgICAgICAgICA9PSBUQ0xfRVJST1IpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhUa2ludGVyX1RjbEVycm9yLCBUY2xfR2V0U3RyaW5nUmVzdWx0KFRrYXBwX0ludGVycChzZWxmKSkpOworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFRraW50ZXJfVGNsRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGNsX0dldFN0cmluZ1Jlc3VsdChUa2FwcF9JbnRlcnAoc2VsZikpKTsKICNpZmRlZiBUS0lOVEVSX1BST1RFQ1RfTE9BRFRLCiAgICAgICAgICAgICB0a19sb2FkX2ZhaWxlZCA9IDE7CiAjZW5kaWYKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI2NzMsOCArMjQ0NCw3IEBACiAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoKChUa2FwcE9iamVjdCopc2VsZiktPndhbnRvYmplY3RzKTsKICAgICAoKFRrYXBwT2JqZWN0KilzZWxmKS0+d2FudG9iamVjdHMgPSB3YW50b2JqZWN0czsKIAotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI2ODMsOCArMjQ1Myw3IEBACiAKICAgICAoKFRrYXBwT2JqZWN0KilzZWxmKS0+ZGlzcGF0Y2hpbmcgPSAxOwogCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldHVybiBQeV9Ob25lOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogCiAKQEAgLTI2OTUsOSArMjQ2NCw3IEBACiAgICAgeyJ3aWxsZGlzcGF0Y2giLCAgICAgICBUa2FwcF9XaWxsRGlzcGF0Y2gsIE1FVEhfTk9BUkdTfSwKICAgICB7IndhbnRvYmplY3RzIiwgICAgICAgICAgICBUa2FwcF9XYW50T2JqZWN0cywgTUVUSF9WQVJBUkdTfSwKICAgICB7ImNhbGwiLCAgICAgICAgICAgICAgICAgICBUa2FwcF9DYWxsLCBNRVRIX1ZBUkFSR1N9LAotICAgIHsiZ2xvYmFsY2FsbCIsICAgICAgICAgICAgIFRrYXBwX0dsb2JhbENhbGwsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJldmFsIiwgICAgICAgICAgICAgICAgICAgVGthcHBfRXZhbCwgTUVUSF9WQVJBUkdTfSwKLSAgICB7Imdsb2JhbGV2YWwiLCAgICAgICAgICAgICBUa2FwcF9HbG9iYWxFdmFsLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsiZXZhbGZpbGUiLCAgICAgICAgICAgICAgIFRrYXBwX0V2YWxGaWxlLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVjb3JkIiwgICAgICAgICAgICAgICAgIFRrYXBwX1JlY29yZCwgTUVUSF9WQVJBUkdTfSwKICAgICB7ImFkZGVycm9yaW5mbyIsICAgICAgIFRrYXBwX0FkZEVycm9ySW5mbywgTUVUSF9WQVJBUkdTfSwKQEAgLTI3MTYsNyArMjQ4Myw2IEBACiAgICAgeyJleHByYm9vbGVhbiIsICAgICAgICBUa2FwcF9FeHByQm9vbGVhbiwgTUVUSF9WQVJBUkdTfSwKICAgICB7InNwbGl0bGlzdCIsICAgICAgICAgICAgICBUa2FwcF9TcGxpdExpc3QsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJzcGxpdCIsICAgICAgICAgICAgICAgICAgVGthcHBfU3BsaXQsIE1FVEhfVkFSQVJHU30sCi0gICAgeyJtZXJnZSIsICAgICAgICAgICAgICAgICAgVGthcHBfTWVyZ2UsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJjcmVhdGVjb21tYW5kIiwgICAgICBUa2FwcF9DcmVhdGVDb21tYW5kLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsiZGVsZXRlY29tbWFuZCIsICAgICAgVGthcHBfRGVsZXRlQ29tbWFuZCwgTUVUSF9WQVJBUkdTfSwKICNpZmRlZiBIQVZFX0NSRUFURUZJTEVIQU5ETEVSCkBAIC0yNzQ3LDM2ICsyNTEzLDE5IEBACiAgICAgRGlzYWJsZUV2ZW50SG9vaygpOwogfQogCi1zdGF0aWMgUHlUeXBlT2JqZWN0IFRrYXBwX1R5cGUgPQotewotICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQotICAgICJ0a2FwcCIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9uYW1lICovCi0gICAgc2l6ZW9mKFRrYXBwT2JqZWN0KSwgICAgICAgICAgICAgICAgICAgICAvKnRwX2Jhc2ljc2l6ZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVtc2l6ZSAqLwotICAgIFRrYXBwX0RlYWxsb2MsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kZWFsbG9jICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3ByaW50ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0ciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXNlcnZlZCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXByICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX251bWJlciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19zZXF1ZW5jZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19tYXBwaW5nICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2hhc2ggKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2FsbCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3N0ciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0cm8qLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19idWZmZXIqLwotICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9mbGFncyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RvYyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2xlYXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yaWNoY29tcGFyZSovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3dlYWtsaXN0b2Zmc2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXJuZXh0Ki8KLSAgICBUa2FwcF9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbWV0aG9kcyovCitzdGF0aWMgUHlUeXBlX1Nsb3QgVGthcHBfVHlwZV9zbG90c1tdID0geworICAgIHtQeV90cF9kZWFsbG9jLCBUa2FwcF9EZWFsbG9jfSwKKyAgICB7UHlfdHBfbWV0aG9kcywgVGthcHBfbWV0aG9kc30sCisgICAgezAsIDB9Cit9OworCisKK3N0YXRpYyBQeVR5cGVfU3BlYyBUa2FwcF9UeXBlX3NwZWMgPSB7CisgICAgInRrYXBwIiwKKyAgICBzaXplb2YoVGthcHBPYmplY3QpLAorICAgIDAsCisgICAgUHlfVFBGTEFHU19ERUZBVUxULAorICAgIFRrYXBwX1R5cGVfc2xvdHMsCiB9OwogCiAKQEAgLTI5MTYsNyArMjY2NSw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgcmV0dXJuIChQeU9iamVjdCAqKSBUa2FwcF9OZXcoc2NyZWVuTmFtZSwgY2xhc3NOYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVyYWN0aXZlLCB3YW50b2JqZWN0cywgICAgIHdhbnRUaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmFjdGl2ZSwgd2FudG9iamVjdHMsIHdhbnRUaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW5jLCB1c2UpOwogfQogCkBAIC0yOTMyLDggKzI2ODEsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgVGtpbnRlcl9idXN5d2FpdGludGVydmFsID0gbmV3X3ZhbDsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKIHN0YXRpYyBjaGFyIHNldGJ1c3l3YWl0aW50ZXJ2YWxfZG9jW10gPQpAQCAtMzA2NiwyNyArMjgxNCw2IEBACiB9CiAKIAotLyogYWxsIGVycm9ycyB3aWxsIGJlIGNoZWNrZWQgaW4gb25lIGZlbGwgc3dvb3AgaW4gaW5pdF90a2ludGVyKCkgKi8KLXN0YXRpYyB2b2lkCi1pbnNfbG9uZyhQeU9iamVjdCAqZCwgY2hhciAqbmFtZSwgbG9uZyB2YWwpCi17Ci0gICAgUHlPYmplY3QgKnYgPSBQeUxvbmdfRnJvbUxvbmcodmFsKTsKLSAgICBpZiAodikgewotICAgICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCBuYW1lLCB2KTsKLSAgICAgICAgUHlfREVDUkVGKHYpOwotICAgIH0KLX0KLXN0YXRpYyB2b2lkCi1pbnNfc3RyaW5nKFB5T2JqZWN0ICpkLCBjaGFyICpuYW1lLCBjaGFyICp2YWwpCi17Ci0gICAgUHlPYmplY3QgKnYgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyh2YWwpOwotICAgIGlmICh2KSB7Ci0gICAgICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsIG5hbWUsIHYpOwotICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgfQotfQotCi0KIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgX3RraW50ZXJtb2R1bGUgPSB7CiAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAogICAgICJfdGtpbnRlciIsCkBAIC0zMTAyLDQ1ICsyODI5LDExMSBAQAogUHlNT0RJTklUX0ZVTkMKIFB5SW5pdF9fdGtpbnRlcih2b2lkKQogewotICAgIFB5T2JqZWN0ICptLCAqZCwgKnVleGUsICpjZXhlOwotCi0gICAgaWYgKFB5VHlwZV9SZWFkeSgmVGthcHBfVHlwZSkgPCAwKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgUHlPYmplY3QgKm0sICp1ZXhlLCAqY2V4ZSwgKm87CiAKICNpZmRlZiBXSVRIX1RIUkVBRAogICAgIHRjbF9sb2NrID0gUHlUaHJlYWRfYWxsb2NhdGVfbG9jaygpOworICAgIGlmICh0Y2xfbG9jayA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKICNlbmRpZgogCiAgICAgbSA9IFB5TW9kdWxlX0NyZWF0ZSgmX3RraW50ZXJtb2R1bGUpOwogICAgIGlmIChtID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgZCA9IFB5TW9kdWxlX0dldERpY3QobSk7Ci0gICAgVGtpbnRlcl9UY2xFcnJvciA9IFB5RXJyX05ld0V4Y2VwdGlvbigiX3RraW50ZXIuVGNsRXJyb3IiLCBOVUxMLCBOVUxMKTsKLSAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiVGNsRXJyb3IiLCBUa2ludGVyX1RjbEVycm9yKTsKLQotICAgIGluc19sb25nKGQsICJSRUFEQUJMRSIsIFRDTF9SRUFEQUJMRSk7Ci0gICAgaW5zX2xvbmcoZCwgIldSSVRBQkxFIiwgVENMX1dSSVRBQkxFKTsKLSAgICBpbnNfbG9uZyhkLCAiRVhDRVBUSU9OIiwgVENMX0VYQ0VQVElPTik7Ci0gICAgaW5zX2xvbmcoZCwgIldJTkRPV19FVkVOVFMiLCBUQ0xfV0lORE9XX0VWRU5UUyk7Ci0gICAgaW5zX2xvbmcoZCwgIkZJTEVfRVZFTlRTIiwgVENMX0ZJTEVfRVZFTlRTKTsKLSAgICBpbnNfbG9uZyhkLCAiVElNRVJfRVZFTlRTIiwgVENMX1RJTUVSX0VWRU5UUyk7Ci0gICAgaW5zX2xvbmcoZCwgIklETEVfRVZFTlRTIiwgVENMX0lETEVfRVZFTlRTKTsKLSAgICBpbnNfbG9uZyhkLCAiQUxMX0VWRU5UUyIsIFRDTF9BTExfRVZFTlRTKTsKLSAgICBpbnNfbG9uZyhkLCAiRE9OVF9XQUlUIiwgVENMX0RPTlRfV0FJVCk7Ci0gICAgaW5zX3N0cmluZyhkLCAiVEtfVkVSU0lPTiIsIFRLX1ZFUlNJT04pOwotICAgIGluc19zdHJpbmcoZCwgIlRDTF9WRVJTSU9OIiwgVENMX1ZFUlNJT04pOwotCi0gICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlRrYXBwVHlwZSIsIChQeU9iamVjdCAqKSZUa2FwcF9UeXBlKTsKLQotICAgIGlmIChQeVR5cGVfUmVhZHkoJlRrdHRfVHlwZSkgPCAwKSB7CisgICAgbyA9IFB5RXJyX05ld0V4Y2VwdGlvbigiX3RraW50ZXIuVGNsRXJyb3IiLCBOVUxMLCBOVUxMKTsKKyAgICBpZiAobyA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihtKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJUa3R0VHlwZSIsIChQeU9iamVjdCAqKSZUa3R0X1R5cGUpOworICAgIFB5X0lOQ1JFRihvKTsKKyAgICBpZiAoUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJUY2xFcnJvciIsIG8pKSB7CisgICAgICAgIFB5X0RFQ1JFRihvKTsKKyAgICAgICAgUHlfREVDUkVGKG0pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgVGtpbnRlcl9UY2xFcnJvciA9IG87CiAKLSAgICBQeV9UWVBFKCZQeVRjbE9iamVjdF9UeXBlKSA9ICZQeVR5cGVfVHlwZTsKLSAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiVGNsX09iaiIsIChQeU9iamVjdCAqKSZQeVRjbE9iamVjdF9UeXBlKTsKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlJFQURBQkxFIiwgVENMX1JFQURBQkxFKSkgeworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIldSSVRBQkxFIiwgVENMX1dSSVRBQkxFKSkgeworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkVYQ0VQVElPTiIsIFRDTF9FWENFUFRJT04pKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiV0lORE9XX0VWRU5UUyIsIFRDTF9XSU5ET1dfRVZFTlRTKSkgeworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkZJTEVfRVZFTlRTIiwgVENMX0ZJTEVfRVZFTlRTKSkgeworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlRJTUVSX0VWRU5UUyIsIFRDTF9USU1FUl9FVkVOVFMpKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiSURMRV9FVkVOVFMiLCBUQ0xfSURMRV9FVkVOVFMpKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQUxMX0VWRU5UUyIsIFRDTF9BTExfRVZFTlRTKSkgeworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkRPTlRfV0FJVCIsIFRDTF9ET05UX1dBSVQpKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChtLCAiVEtfVkVSU0lPTiIsIFRLX1ZFUlNJT04pKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChtLCAiVENMX1ZFUlNJT04iLCBUQ0xfVkVSU0lPTikpIHsKKyAgICAgICAgUHlfREVDUkVGKG0pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBvID0gUHlUeXBlX0Zyb21TcGVjKCZUa2FwcF9UeXBlX3NwZWMpOworICAgIGlmIChvID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKG0pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKFB5TW9kdWxlX0FkZE9iamVjdChtLCAiVGthcHBUeXBlIiwgbykpIHsKKyAgICAgICAgUHlfREVDUkVGKG8pOworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBUa2FwcF9UeXBlID0gbzsKKworICAgIG8gPSBQeVR5cGVfRnJvbVNwZWMoJlRrdHRfVHlwZV9zcGVjKTsKKyAgICBpZiAobyA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRPYmplY3QobSwgIlRrdHRUeXBlIiwgbykpIHsKKyAgICAgICAgUHlfREVDUkVGKG8pOworICAgICAgICBQeV9ERUNSRUYobSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBUa3R0X1R5cGUgPSBvOworCisgICAgbyA9IFB5VHlwZV9Gcm9tU3BlYygmUHlUY2xPYmplY3RfVHlwZV9zcGVjKTsKKyAgICBpZiAobyA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeU1vZHVsZV9BZGRPYmplY3QobSwgIlRjbF9PYmoiLCBvKSkgeworICAgICAgICBQeV9ERUNSRUYobyk7CisgICAgICAgIFB5X0RFQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5VGNsT2JqZWN0X1R5cGUgPSBvOwogCiAjaWZkZWYgVEtfQVFVQQogICAgIC8qIFRrX01hY09TWFNldHVwVGtOb3RpZmllciBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgVGNsJ3Mgc3Vic3lzdGVtcwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9hcnJheW1vZHVsZS5jIGIvTW9kdWxlcy9hcnJheW1vZHVsZS5jCmluZGV4IDk2YzllNWIuLjFjNzU5ODkgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvYXJyYXltb2R1bGUuYworKysgYi9Nb2R1bGVzL2FycmF5bW9kdWxlLmMKQEAgLTE2NjQsMTEgKzE2NjQsOCBAQAogc3RhdGljIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZQogdHlwZWNvZGVfdG9fbWZvcm1hdF9jb2RlKGNoYXIgdHlwZWNvZGUpCiB7Ci0jaWZkZWYgV09SRFNfQklHRU5ESUFOCi0gICAgY29uc3QgaW50IGlzX2JpZ19lbmRpYW4gPSAxOwotI2Vsc2UKLSAgICBjb25zdCBpbnQgaXNfYmlnX2VuZGlhbiA9IDA7Ci0jZW5kaWYKKyAgICBjb25zdCBpbnQgaXNfYmlnX2VuZGlhbiA9IFBZX0JJR19FTkRJQU47CisKICAgICBzaXplX3QgaW50c2l6ZTsKICAgICBpbnQgaXNfc2lnbmVkOwogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2NuLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2NuLmMKaW5kZXggOWU5ZTk2Yy4uMjg1ZGExZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19jbi5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfY24uYwpAQCAtMjMsMTIgKzIzLDEyIEBACiAgKiBBODQ0ICAgICAgICAgdW5kZWZpbmVkICAgICAgICAgICAgICAgICAgICAgICBVKzIwMTUgSE9SSVpPTlRBTCBCQVIKICAqLwogCi0jZGVmaW5lIEdCS19ERUNPREUoZGMxLCBkYzIsIGFzc2kpIFwKLSAgICBpZiAoKGRjMSkgPT0gMHhhMSAmJiAoZGMyKSA9PSAweGFhKSAoYXNzaSkgPSAweDIwMTQ7IFwKLSAgICBlbHNlIGlmICgoZGMxKSA9PSAweGE4ICYmIChkYzIpID09IDB4NDQpIChhc3NpKSA9IDB4MjAxNTsgXAotICAgIGVsc2UgaWYgKChkYzEpID09IDB4YTEgJiYgKGRjMikgPT0gMHhhNCkgKGFzc2kpID0gMHgwMGI3OyBcCi0gICAgZWxzZSBUUllNQVBfREVDKGdiMjMxMiwgYXNzaSwgZGMxIF4gMHg4MCwgZGMyIF4gMHg4MCk7IFwKLSAgICBlbHNlIFRSWU1BUF9ERUMoZ2JrZXh0LCBhc3NpLCBkYzEsIGRjMik7CisjZGVmaW5lIEdCS19ERUNPREUoZGMxLCBkYzIsIHdyaXRlcikgXAorICAgIGlmICgoZGMxKSA9PSAweGExICYmIChkYzIpID09IDB4YWEpIE9VVENIQVIoMHgyMDE0KTsgXAorICAgIGVsc2UgaWYgKChkYzEpID09IDB4YTggJiYgKGRjMikgPT0gMHg0NCkgT1VUQ0hBUigweDIwMTUpOyBcCisgICAgZWxzZSBpZiAoKGRjMSkgPT0gMHhhMSAmJiAoZGMyKSA9PSAweGE0KSBPVVRDSEFSKDB4MDBiNyk7IFwKKyAgICBlbHNlIFRSWU1BUF9ERUMoZ2IyMzEyLCB3cml0ZXIsIGRjMSBeIDB4ODAsIGRjMiBeIDB4ODApOyBcCisgICAgZWxzZSBUUllNQVBfREVDKGdia2V4dCwgd3JpdGVyLCBkYzEsIGRjMik7CiAKICNkZWZpbmUgR0JLX0VOQ09ERShjb2RlLCBhc3NpKSBcCiAgICAgaWYgKChjb2RlKSA9PSAweDIwMTQpIChhc3NpKSA9IDB4YTFhYTsgXApAQCAtNDIsMTYgKzQyLDE4IEBACiAKIEVOQ09ERVIoZ2IyMzEyKQogewotICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgYyA9IElOMTsKKyAgICB3aGlsZSAoKmlucG9zIDwgaW5sZW4pIHsKKyAgICAgICAgUHlfVUNTNCBjID0gSU5DSEFSMTsKICAgICAgICAgREJDSEFSIGNvZGU7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBXUklURTEoKHVuc2lnbmVkIGNoYXIpYykKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIFdSSVRFQllURTEoKHVuc2lnbmVkIGNoYXIpYykKKyAgICAgICAgICAgIE5FWFQoMSwgMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBVQ1M0SU5WQUxJRChjKQorCisgICAgICAgIGlmIChjID4gMHhGRkZGKQorICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgUkVRVUlSRV9PVVRCVUYoMikKICAgICAgICAgVFJZTUFQX0VOQyhnYmNvbW1vbiwgY29kZSwgYyk7CkBAIC02MCw5ICs2Miw5IEBACiAgICAgICAgIGlmIChjb2RlICYgMHg4MDAwKSAvKiBNU0Igc2V0OiBHQksgKi8KICAgICAgICAgICAgIHJldHVybiAxOwogCi0gICAgICAgIE9VVDEoKGNvZGUgPj4gOCkgfCAweDgwKQotICAgICAgICBPVVQyKChjb2RlICYgMHhGRikgfCAweDgwKQotICAgICAgICBORVhUKDEsIDIpCisgICAgICAgIE9VVEJZVEUxKChjb2RlID4+IDgpIHwgMHg4MCkKKyAgICAgICAgT1VUQllURTIoKGNvZGUgJiAweEZGKSB8IDB4ODApCisgICAgICAgIE5FWFQoMSwgMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC03MywxNyArNzUsMTUgQEAKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewogICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSAqKmluYnVmOwogCi0gICAgICAgIFJFUVVJUkVfT1VUQlVGKDEpCi0KICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBPVVQxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQotICAgICAgICBUUllNQVBfREVDKGdiMjMxMiwgKipvdXRidWYsIGMgXiAweDgwLCBJTjIgXiAweDgwKSB7Ci0gICAgICAgICAgICBORVhUKDIsIDEpCisgICAgICAgIFRSWU1BUF9ERUMoZ2IyMzEyLCB3cml0ZXIsIGMgXiAweDgwLCBJTkJZVEUyIF4gMHg4MCkgeworICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHJldHVybiAxOwogICAgIH0KQEAgLTk4LDI4ICs5OCwzMCBAQAogCiBFTkNPREVSKGdiaykKIHsKLSAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICBQeV9VTklDT0RFIGMgPSBJTjE7CisgICAgd2hpbGUgKCppbnBvcyA8IGlubGVuKSB7CisgICAgICAgIFB5X1VDUzQgYyA9IElOQ0hBUjE7CiAgICAgICAgIERCQ0hBUiBjb2RlOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewotICAgICAgICAgICAgV1JJVEUxKCh1bnNpZ25lZCBjaGFyKWMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBXUklURUJZVEUxKCh1bnNpZ25lZCBjaGFyKWMpCisgICAgICAgICAgICBORVhUKDEsIDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgVUNTNElOVkFMSUQoYykKKworICAgICAgICBpZiAoYyA+IDB4RkZGRikKKyAgICAgICAgICAgIHJldHVybiAxOwogCiAgICAgICAgIFJFUVVJUkVfT1VUQlVGKDIpCiAKICAgICAgICAgR0JLX0VOQ09ERShjLCBjb2RlKQogICAgICAgICBlbHNlIHJldHVybiAxOwogCi0gICAgICAgIE9VVDEoKGNvZGUgPj4gOCkgfCAweDgwKQorICAgICAgICBPVVRCWVRFMSgoY29kZSA+PiA4KSB8IDB4ODApCiAgICAgICAgIGlmIChjb2RlICYgMHg4MDAwKQotICAgICAgICAgICAgT1VUMigoY29kZSAmIDB4RkYpKSAvKiBNU0Igc2V0OiBHQksgKi8KKyAgICAgICAgICAgIE9VVEJZVEUyKChjb2RlICYgMHhGRikpIC8qIE1TQiBzZXQ6IEdCSyAqLwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBPVVQyKChjb2RlICYgMHhGRikgfCAweDgwKSAvKiBNU0IgdW5zZXQ6IEdCMjMxMiAqLwotICAgICAgICBORVhUKDEsIDIpCisgICAgICAgICAgICBPVVRCWVRFMigoY29kZSAmIDB4RkYpIHwgMHg4MCkgLyogTVNCIHVuc2V0OiBHQjIzMTIgKi8KKyAgICAgICAgTkVYVCgxLCAyKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTEyOCwyMiArMTMwLDIwIEBACiBERUNPREVSKGdiaykKIHsKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTjE7Ci0KLSAgICAgICAgUkVRVUlSRV9PVVRCVUYoMSkKKyAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU5CWVRFMTsKIAogICAgICAgICBpZiAoYyA8IDB4ODApIHsKLSAgICAgICAgICAgIE9VVDEoYykKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIE9VVENIQVIoYyk7CisgICAgICAgICAgICBORVhUX0lOKDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAogICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCiAKLSAgICAgICAgR0JLX0RFQ09ERShjLCBJTjIsICoqb3V0YnVmKQorICAgICAgICBHQktfREVDT0RFKGMsIElOQllURTIsIHdyaXRlcikKICAgICAgICAgZWxzZSByZXR1cm4gMTsKIAotICAgICAgICBORVhUKDIsIDEpCisgICAgICAgIE5FWFRfSU4oMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xNTYsNDEgKzE1NiwzMSBAQAogCiBFTkNPREVSKGdiMTgwMzApCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdWNzNF90IGMgPSBJTjE7CisgICAgd2hpbGUgKCppbnBvcyA8IGlubGVuKSB7CisgICAgICAgIFB5X1VDUzQgYyA9IElOQ0hBUjE7CiAgICAgICAgIERCQ0hBUiBjb2RlOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewotICAgICAgICAgICAgV1JJVEUxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBXUklURUJZVEUxKGMpCisgICAgICAgICAgICBORVhUKDEsIDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBERUNPREVfU1VSUk9HQVRFKGMpCi0gICAgICAgIGlmIChjID4gMHgxMEZGRkYpCi0jaWYgUHlfVU5JQ09ERV9TSVpFID09IDIKLSAgICAgICAgICAgIHJldHVybiAyOyAvKiBzdXJyb2dhdGVzIHBhaXIgKi8KLSNlbHNlCi0gICAgICAgICAgICByZXR1cm4gMTsKLSNlbmRpZgotICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwMDApIHsKLSAgICAgICAgICAgIHVjczRfdCB0YyA9IGMgLSAweDEwMDAwOworICAgICAgICBpZiAoYyA+PSAweDEwMDAwKSB7CisgICAgICAgICAgICBQeV9VQ1M0IHRjID0gYyAtIDB4MTAwMDA7CisgICAgICAgICAgICBhc3NlcnQgKGMgPD0gMHgxMEZGRkYpOwogCiAgICAgICAgICAgICBSRVFVSVJFX09VVEJVRig0KQogCi0gICAgICAgICAgICBPVVQ0KCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEwKSArIDB4MzApCisgICAgICAgICAgICBPVVRCWVRFNCgodW5zaWduZWQgY2hhcikodGMgJSAxMCkgKyAweDMwKQogICAgICAgICAgICAgdGMgLz0gMTA7Ci0gICAgICAgICAgICBPVVQzKCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEyNikgKyAweDgxKQorICAgICAgICAgICAgT1VUQllURTMoKHVuc2lnbmVkIGNoYXIpKHRjICUgMTI2KSArIDB4ODEpCiAgICAgICAgICAgICB0YyAvPSAxMjY7Ci0gICAgICAgICAgICBPVVQyKCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEwKSArIDB4MzApCisgICAgICAgICAgICBPVVRCWVRFMigodW5zaWduZWQgY2hhcikodGMgJSAxMCkgKyAweDMwKQogICAgICAgICAgICAgdGMgLz0gMTA7Ci0gICAgICAgICAgICBPVVQxKCh1bnNpZ25lZCBjaGFyKSh0YyArIDB4OTApKQorICAgICAgICAgICAgT1VUQllURTEoKHVuc2lnbmVkIGNoYXIpKHRjICsgMHg5MCkpCiAKLSNpZiBQeV9VTklDT0RFX1NJWkUgPT0gMgotICAgICAgICAgICAgTkVYVCgyLCA0KSAvKiBzdXJyb2dhdGVzIHBhaXIgKi8KLSNlbHNlCi0gICAgICAgICAgICBORVhUKDEsIDQpCi0jZW5kaWYKKyAgICAgICAgICAgIE5FWFQoMSwgNCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCkBAIC0yMDgsMjAgKzE5OCwyMCBAQAogICAgICAgICAgICAgICAgICB1dHJyYW5nZSsrKQogICAgICAgICAgICAgICAgIGlmICh1dHJyYW5nZS0+Zmlyc3QgPD0gYyAmJgogICAgICAgICAgICAgICAgICAgICBjIDw9IHV0cnJhbmdlLT5sYXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgdGM7CisgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgdGM7CiAKICAgICAgICAgICAgICAgICAgICAgdGMgPSBjIC0gdXRycmFuZ2UtPmZpcnN0ICsKICAgICAgICAgICAgICAgICAgICAgICAgICB1dHJyYW5nZS0+YmFzZTsKIAotICAgICAgICAgICAgICAgICAgICBPVVQ0KCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEwKSArIDB4MzApCisgICAgICAgICAgICAgICAgICAgIE9VVEJZVEU0KCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEwKSArIDB4MzApCiAgICAgICAgICAgICAgICAgICAgIHRjIC89IDEwOwotICAgICAgICAgICAgICAgICAgICBPVVQzKCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEyNikgKyAweDgxKQorICAgICAgICAgICAgICAgICAgICBPVVRCWVRFMygodW5zaWduZWQgY2hhcikodGMgJSAxMjYpICsgMHg4MSkKICAgICAgICAgICAgICAgICAgICAgdGMgLz0gMTI2OwotICAgICAgICAgICAgICAgICAgICBPVVQyKCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEwKSArIDB4MzApCisgICAgICAgICAgICAgICAgICAgIE9VVEJZVEUyKCh1bnNpZ25lZCBjaGFyKSh0YyAlIDEwKSArIDB4MzApCiAgICAgICAgICAgICAgICAgICAgIHRjIC89IDEwOwotICAgICAgICAgICAgICAgICAgICBPVVQxKCh1bnNpZ25lZCBjaGFyKXRjICsgMHg4MSkKKyAgICAgICAgICAgICAgICAgICAgT1VUQllURTEoKHVuc2lnbmVkIGNoYXIpdGMgKyAweDgxKQogCi0gICAgICAgICAgICAgICAgICAgIE5FWFQoMSwgNCkKKyAgICAgICAgICAgICAgICAgICAgTkVYVCgxLCA0KTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogCkBAIC0yMzAsMTMgKzIyMCwxMyBAQAogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBPVVQxKChjb2RlID4+IDgpIHwgMHg4MCkKKyAgICAgICAgT1VUQllURTEoKGNvZGUgPj4gOCkgfCAweDgwKQogICAgICAgICBpZiAoY29kZSAmIDB4ODAwMCkKLSAgICAgICAgICAgIE9VVDIoKGNvZGUgJiAweEZGKSkgLyogTVNCIHNldDogR0JLIG9yIEdCMTgwMzBleHQgKi8KKyAgICAgICAgICAgIE9VVEJZVEUyKChjb2RlICYgMHhGRikpIC8qIE1TQiBzZXQ6IEdCSyBvciBHQjE4MDMwZXh0ICovCiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIE9VVDIoKGNvZGUgJiAweEZGKSB8IDB4ODApIC8qIE1TQiB1bnNldDogR0IyMzEyICovCisgICAgICAgICAgICBPVVRCWVRFMigoY29kZSAmIDB4RkYpIHwgMHg4MCkgLyogTVNCIHVuc2V0OiBHQjIzMTIgKi8KIAotICAgICAgICBORVhUKDEsIDIpCisgICAgICAgIE5FWFQoMSwgMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0yNDUsNjEgKzIzNSw1OSBAQAogREVDT0RFUihnYjE4MDMwKQogewogICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOMSwgYzI7Ci0KLSAgICAgICAgUkVRVUlSRV9PVVRCVUYoMSkKKyAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU5CWVRFMSwgYzI7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBPVVQxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQogCi0gICAgICAgIGMyID0gSU4yOworICAgICAgICBjMiA9IElOQllURTI7CiAgICAgICAgIGlmIChjMiA+PSAweDMwICYmIGMyIDw9IDB4MzkpIHsgLyogNCBieXRlcyBzZXEgKi8KICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBfZ2IxODAzMF90b191bmlibXBfcmFuZ2VzICp1dHI7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMzLCBjNDsKLSAgICAgICAgICAgIHVjczRfdCBsc2VxOworICAgICAgICAgICAgUHlfVUNTNCBsc2VxOwogCiAgICAgICAgICAgICBSRVFVSVJFX0lOQlVGKDQpCi0gICAgICAgICAgICBjMyA9IElOMzsKLSAgICAgICAgICAgIGM0ID0gSU40OworICAgICAgICAgICAgYzMgPSBJTkJZVEUzOworICAgICAgICAgICAgYzQgPSBJTkJZVEU0OwogICAgICAgICAgICAgaWYgKGMgPCAweDgxIHx8IGMzIDwgMHg4MSB8fCBjNCA8IDB4MzAgfHwgYzQgPiAweDM5KQogICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgYyAtPSAweDgxOyAgYzIgLT0gMHgzMDsKICAgICAgICAgICAgIGMzIC09IDB4ODE7IGM0IC09IDB4MzA7CiAKICAgICAgICAgICAgIGlmIChjIDwgNCkgeyAvKiBVKzAwODAgLSBVK0ZGRkYgKi8KLSAgICAgICAgICAgICAgICBsc2VxID0gKCh1Y3M0X3QpYyAqIDEwICsgYzIpICogMTI2MCArCi0gICAgICAgICAgICAgICAgICAgICh1Y3M0X3QpYzMgKiAxMCArIGM0OworICAgICAgICAgICAgICAgIGxzZXEgPSAoKFB5X1VDUzQpYyAqIDEwICsgYzIpICogMTI2MCArCisgICAgICAgICAgICAgICAgICAgIChQeV9VQ1M0KWMzICogMTAgKyBjNDsKICAgICAgICAgICAgICAgICBpZiAobHNlcSA8IDM5NDIwKSB7CiAgICAgICAgICAgICAgICAgICAgIGZvciAodXRyID0gZ2IxODAzMF90b191bmlibXBfcmFuZ2VzOwogICAgICAgICAgICAgICAgICAgICAgICAgIGxzZXEgPj0gKHV0ciArIDEpLT5iYXNlOwogICAgICAgICAgICAgICAgICAgICAgICAgIHV0cisrKSA7Ci0gICAgICAgICAgICAgICAgICAgIE9VVDEodXRyLT5maXJzdCAtIHV0ci0+YmFzZSArIGxzZXEpCi0gICAgICAgICAgICAgICAgICAgIE5FWFQoNCwgMSkKKyAgICAgICAgICAgICAgICAgICAgT1VUQ0hBUih1dHItPmZpcnN0IC0gdXRyLT5iYXNlICsgbHNlcSk7CisgICAgICAgICAgICAgICAgICAgIE5FWFRfSU4oNCk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKGMgPj0gMTUpIHsgLyogVSsxMDAwMCAtIFUrMTBGRkZGICovCi0gICAgICAgICAgICAgICAgbHNlcSA9IDB4MTAwMDAgKyAoKCh1Y3M0X3QpYy0xNSkgKiAxMCArIGMyKQotICAgICAgICAgICAgICAgICAgICAqIDEyNjAgKyAodWNzNF90KWMzICogMTAgKyBjNDsKKyAgICAgICAgICAgICAgICBsc2VxID0gMHgxMDAwMCArICgoKFB5X1VDUzQpYy0xNSkgKiAxMCArIGMyKQorICAgICAgICAgICAgICAgICAgICAqIDEyNjAgKyAoUHlfVUNTNCljMyAqIDEwICsgYzQ7CiAgICAgICAgICAgICAgICAgaWYgKGxzZXEgPD0gMHgxMEZGRkYpIHsKLSAgICAgICAgICAgICAgICAgICAgV1JJVEVVQ1M0KGxzZXEpOwotICAgICAgICAgICAgICAgICAgICBORVhUX0lOKDQpCisgICAgICAgICAgICAgICAgICAgIE9VVENIQVIobHNlcSk7CisgICAgICAgICAgICAgICAgICAgIE5FWFRfSU4oNCk7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9CiAKLSAgICAgICAgR0JLX0RFQ09ERShjLCBjMiwgKipvdXRidWYpCi0gICAgICAgIGVsc2UgVFJZTUFQX0RFQyhnYjE4MDMwZXh0LCAqKm91dGJ1ZiwgYywgYzIpOworICAgICAgICBHQktfREVDT0RFKGMsIGMyLCB3cml0ZXIpCisgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhnYjE4MDMwZXh0LCB3cml0ZXIsIGMsIGMyKTsKICAgICAgICAgZWxzZSByZXR1cm4gMTsKIAotICAgICAgICBORVhUKDIsIDEpCisgICAgICAgIE5FWFRfSU4oMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0zMTksMzMgKzMwNywzNCBAQAogRU5DT0RFUl9SRVNFVChoeikKIHsKICAgICBpZiAoc3RhdGUtPmkgIT0gMCkgewotICAgICAgICBXUklURTIoJ34nLCAnfScpCisgICAgICAgIFdSSVRFQllURTIoJ34nLCAnfScpCiAgICAgICAgIHN0YXRlLT5pID0gMDsKLSAgICAgICAgTkVYVF9PVVQoMikKKyAgICAgICAgTkVYVF9PVVQoMik7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCiBFTkNPREVSKGh6KQogewotICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgYyA9IElOMTsKKyAgICB3aGlsZSAoKmlucG9zIDwgaW5sZW4pIHsKKyAgICAgICAgUHlfVUNTNCBjID0gSU5DSEFSMTsKICAgICAgICAgREJDSEFSIGNvZGU7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7CiAgICAgICAgICAgICBpZiAoc3RhdGUtPmkgPT0gMCkgewotICAgICAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhciljKQotICAgICAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgICAgICBXUklURUJZVEUxKCh1bnNpZ25lZCBjaGFyKWMpCisgICAgICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIFdSSVRFMygnficsICd9JywgKHVuc2lnbmVkIGNoYXIpYykKLSAgICAgICAgICAgICAgICBORVhUKDEsIDMpCisgICAgICAgICAgICAgICAgV1JJVEVCWVRFMygnficsICd9JywgKHVuc2lnbmVkIGNoYXIpYykKKyAgICAgICAgICAgICAgICBORVhUKDEsIDMpOwogICAgICAgICAgICAgICAgIHN0YXRlLT5pID0gMDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgVUNTNElOVkFMSUQoYykKKyAgICAgICAgaWYgKGMgPiAweEZGRkYpCisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBUUllNQVBfRU5DKGdiY29tbW9uLCBjb2RlLCBjKTsKICAgICAgICAgZWxzZSByZXR1cm4gMTsKQEAgLTM1NCwxMyArMzQzLDEzIEBACiAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBpZiAoc3RhdGUtPmkgPT0gMCkgewotICAgICAgICAgICAgV1JJVEU0KCd+JywgJ3snLCBjb2RlID4+IDgsIGNvZGUgJiAweGZmKQotICAgICAgICAgICAgTkVYVCgxLCA0KQorICAgICAgICAgICAgV1JJVEVCWVRFNCgnficsICd7JywgY29kZSA+PiA4LCBjb2RlICYgMHhmZikKKyAgICAgICAgICAgIE5FWFQoMSwgNCk7CiAgICAgICAgICAgICBzdGF0ZS0+aSA9IDE7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBXUklURTIoY29kZSA+PiA4LCBjb2RlICYgMHhmZikKLSAgICAgICAgICAgIE5FWFQoMSwgMikKKyAgICAgICAgICAgIFdSSVRFQllURTIoY29kZSA+PiA4LCBjb2RlICYgMHhmZikKKyAgICAgICAgICAgIE5FWFQoMSwgMik7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTM4MiwxNSArMzcxLDE1IEBACiBERUNPREVSKGh6KQogewogICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOMTsKKyAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU5CWVRFMTsKIAogICAgICAgICBpZiAoYyA9PSAnficpIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzIgPSBJTjI7CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMyID0gSU5CWVRFMjsKIAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQogICAgICAgICAgICAgaWYgKGMyID09ICd+JykgewotICAgICAgICAgICAgICAgIFdSSVRFMSgnficpCi0gICAgICAgICAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICAgICAgICAgIE9VVENIQVIoJ34nKTsKKyAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAoYzIgPT0gJ3snICYmIHN0YXRlLT5pID09IDApCkBAIC00MDEsNyArMzkwLDcgQEAKICAgICAgICAgICAgICAgICA7IC8qIGxpbmUtY29udGludWF0aW9uICovCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICBORVhUKDIsIDApOworICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTQwOSwxNCArMzk4LDEzIEBACiAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBpZiAoc3RhdGUtPmkgPT0gMCkgeyAvKiBBU0NJSSBtb2RlICovCi0gICAgICAgICAgICBXUklURTEoYykKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIE9VVENIQVIoYyk7CisgICAgICAgICAgICBORVhUX0lOKDEpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgeyAvKiBHQiBtb2RlICovCiAgICAgICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCi0gICAgICAgICAgICBSRVFVSVJFX09VVEJVRigxKQotICAgICAgICAgICAgVFJZTUFQX0RFQyhnYjIzMTIsICoqb3V0YnVmLCBjLCBJTjIpIHsKLSAgICAgICAgICAgICAgICBORVhUKDIsIDEpCisgICAgICAgICAgICBUUllNQVBfREVDKGdiMjMxMiwgd3JpdGVyLCBjLCBJTkJZVEUyKSB7CisgICAgICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaGsuYyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaGsuYwppbmRleCBkM2FkMDRiLi5mZTVmNTk3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2hrLmMKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19oay5jCkBAIC0zOCwzNSArMzgsMzkgQEAKIAogRU5DT0RFUihiaWc1aGtzY3MpCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdWNzNF90IGMgPSAqKmluYnVmOworICAgIHdoaWxlICgqaW5wb3MgPCBpbmxlbikgeworICAgICAgICBQeV9VQ1M0IGMgPSBJTkNIQVIxOwogICAgICAgICBEQkNIQVIgY29kZTsKICAgICAgICAgUHlfc3NpemVfdCBpbnNpemU7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7CiAgICAgICAgICAgICBSRVFVSVJFX09VVEJVRigxKQogICAgICAgICAgICAgKipvdXRidWYgPSAodW5zaWduZWQgY2hhciljOwotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgREVDT0RFX1NVUlJPR0FURShjKQotICAgICAgICBpbnNpemUgPSBHRVRfSU5TSVpFKGMpOwotCisgICAgICAgIGluc2l6ZSA9IDE7CiAgICAgICAgIFJFUVVJUkVfT1VUQlVGKDIpCiAKICAgICAgICAgaWYgKGMgPCAweDEwMDAwKSB7CiAgICAgICAgICAgICBUUllNQVBfRU5DKGJpZzVoa3Njc19ibXAsIGNvZGUsIGMpIHsKICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSBNVUxUSUMpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGlubGVmdCA+PSAyICYmCisgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgYzI7CisgICAgICAgICAgICAgICAgICAgIGlmIChpbmxlbiAtICppbnBvcyA+PSAyKQorICAgICAgICAgICAgICAgICAgICAgICAgYzIgPSBJTkNIQVIyOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBjMiA9IDA7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlubGVuIC0gKmlucG9zID49IDIgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICgoYyAmIDB4ZmZkZikgPT0gMHgwMGNhKSAmJgotICAgICAgICAgICAgICAgICAgICAgICAgKCgoKmluYnVmKVsxXSAmIDB4ZmZmNykgPT0gMHgwMzA0KSkgeworICAgICAgICAgICAgICAgICAgICAgICAgKChjMiAmIDB4ZmZmNykgPT0gMHgwMzA0KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgY29kZSA9IGJpZzVoa3Njc19wYWlyZW5jX3RhYmxlWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoYyA+PiA0KSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKmluYnVmKVsxXSA+PiAzKSkgJiAzXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGMyID4+IDMpKSAmIDNdOwogICAgICAgICAgICAgICAgICAgICAgICAgaW5zaXplID0gMjsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpbmxlZnQgPCAyICYmCisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlubGVuIC0gKmlucG9zIDwgMiAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhKGZsYWdzICYgTUJFTkNfRkxVU0gpKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE1CRVJSX1RPT0ZFVzsKICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC04OSw5ICs5Myw5IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiBpbnNpemU7CiAKLSAgICAgICAgT1VUMShjb2RlID4+IDgpCi0gICAgICAgIE9VVDIoY29kZSAmIDB4RkYpCi0gICAgICAgIE5FWFQoaW5zaXplLCAyKQorICAgICAgICBPVVRCWVRFMShjb2RlID4+IDgpCisgICAgICAgIE9VVEJZVEUyKGNvZGUgJiAweEZGKQorICAgICAgICBORVhUKGluc2l6ZSwgMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xMDIsMzMgKzEwNiwzMSBAQAogREVDT0RFUihiaWc1aGtzY3MpCiB7CiAgICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU4xOwotICAgICAgICB1Y3M0X3QgZGVjb2RlZDsKLQotICAgICAgICBSRVFVSVJFX09VVEJVRigxKQorICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTkJZVEUxOworICAgICAgICBQeV9VQ1M0IGRlY29kZWQ7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBPVVQxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQogCi0gICAgICAgIGlmICgweGM2ID4gYyB8fCBjID4gMHhjOCB8fCAoYyA8IDB4YzcgJiYgSU4yIDwgMHhhMSkpIHsKLSAgICAgICAgICAgIFRSWU1BUF9ERUMoYmlnNSwgKipvdXRidWYsIGMsIElOMikgewotICAgICAgICAgICAgICAgIE5FWFQoMiwgMSkKKyAgICAgICAgaWYgKDB4YzYgPiBjIHx8IGMgPiAweGM4IHx8IChjIDwgMHhjNyAmJiBJTkJZVEUyIDwgMHhhMSkpIHsKKyAgICAgICAgICAgIFRSWU1BUF9ERUMoYmlnNSwgd3JpdGVyLCBjLCBJTkJZVEUyKSB7CisgICAgICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIFRSWU1BUF9ERUMoYmlnNWhrc2NzLCBkZWNvZGVkLCBjLCBJTjIpCisgICAgICAgIFRSWU1BUF9ERUNfQ0hBUihiaWc1aGtzY3MsIGRlY29kZWQsIGMsIElOQllURTIpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGludCBzID0gQkgyUyhjLCBJTjIpOworICAgICAgICAgICAgaW50IHMgPSBCSDJTKGMsIElOQllURTIpOwogICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqaGludGJhc2U7CiAKICAgICAgICAgICAgIGFzc2VydCgweDg3IDw9IGMgJiYgYyA8PSAweGZlKTsKLSAgICAgICAgICAgIGFzc2VydCgweDQwIDw9IElOMiAmJiBJTjIgPD0gMHhmZSk7CisgICAgICAgICAgICBhc3NlcnQoMHg0MCA8PSBJTkJZVEUyICYmIElOQllURTIgPD0gMHhmZSk7CiAKICAgICAgICAgICAgIGlmIChCSDJTKDB4ODcsIDB4NDApIDw9IHMgJiYgcyA8PSBCSDJTKDB4YTAsIDB4ZmUpKSB7CiAgICAgICAgICAgICAgICAgICAgIGhpbnRiYXNlID0gYmlnNWhrc2NzX3BoaW50XzA7CkBAIC0xNDYsMjUgKzE0OCwyNSBAQAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTUJFUlJfSU5URVJOQUw7CiAKICAgICAgICAgICAgIGlmIChoaW50YmFzZVtzID4+IDNdICYgKDEgPDwgKHMgJiA3KSkpIHsKLSAgICAgICAgICAgICAgICAgICAgV1JJVEVVQ1M0KGRlY29kZWQgfCAweDIwMDAwKQotICAgICAgICAgICAgICAgICAgICBORVhUX0lOKDIpCisgICAgICAgICAgICAgICAgICAgIE9VVENIQVIoZGVjb2RlZCB8IDB4MjAwMDApOworICAgICAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIE9VVDEoZGVjb2RlZCkKLSAgICAgICAgICAgICAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICAgICAgICAgICAgICBPVVRDSEFSKGRlY29kZWQpOworICAgICAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBzd2l0Y2ggKChjIDw8IDgpIHwgSU4yKSB7Ci0gICAgICAgIGNhc2UgMHg4ODYyOiBXUklURTIoMHgwMGNhLCAweDAzMDQpOyBicmVhazsKLSAgICAgICAgY2FzZSAweDg4NjQ6IFdSSVRFMigweDAwY2EsIDB4MDMwYyk7IGJyZWFrOwotICAgICAgICBjYXNlIDB4ODhhMzogV1JJVEUyKDB4MDBlYSwgMHgwMzA0KTsgYnJlYWs7Ci0gICAgICAgIGNhc2UgMHg4OGE1OiBXUklURTIoMHgwMGVhLCAweDAzMGMpOyBicmVhazsKKyAgICAgICAgc3dpdGNoICgoYyA8PCA4KSB8IElOQllURTIpIHsKKyAgICAgICAgY2FzZSAweDg4NjI6IE9VVENIQVIyKDB4MDBjYSwgMHgwMzA0KTsgYnJlYWs7CisgICAgICAgIGNhc2UgMHg4ODY0OiBPVVRDSEFSMigweDAwY2EsIDB4MDMwYyk7IGJyZWFrOworICAgICAgICBjYXNlIDB4ODhhMzogT1VUQ0hBUjIoMHgwMGVhLCAweDAzMDQpOyBicmVhazsKKyAgICAgICAgY2FzZSAweDg4YTU6IE9VVENIQVIyKDB4MDBlYSwgMHgwMzBjKTsgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6IHJldHVybiAxOwogICAgICAgICB9CiAKLSAgICAgICAgTkVYVCgyLCAyKSAvKiBhbGwgZGVjb2RlZCBjb2RlcG9pbnRzIGFyZSBwYWlycywgYWJvdmUuICovCisgICAgICAgIE5FWFRfSU4oMik7IC8qIGFsbCBkZWNvZGVkIGNvZGVwb2ludHMgYXJlIHBhaXJzLCBhYm92ZS4gKi8KICAgICB9CiAKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaXNvMjAyMi5jIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMKaW5kZXggY2JjMTU0Mi4uYmI2MzgzNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMKQEAgLTEwMiw4ICsxMDIsOCBAQAogLyotKi0gaW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmVzIC0qLSovCiAKIHR5cGVkZWYgaW50ICgqaXNvMjAyMl9pbml0X2Z1bmMpKHZvaWQpOwotdHlwZWRlZiB1Y3M0X3QgKCppc28yMDIyX2RlY29kZV9mdW5jKShjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKTsKLXR5cGVkZWYgREJDSEFSICgqaXNvMjAyMl9lbmNvZGVfZnVuYykoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpOwordHlwZWRlZiBQeV9VQ1M0ICgqaXNvMjAyMl9kZWNvZGVfZnVuYykoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSk7Cit0eXBlZGVmIERCQ0hBUiAoKmlzbzIwMjJfZW5jb2RlX2Z1bmMpKGNvbnN0IFB5X1VDUzQgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCk7CiAKIHN0cnVjdCBpc28yMDIyX2Rlc2lnbmF0aW9uIHsKICAgICB1bnNpZ25lZCBjaGFyIG1hcms7CkBAIC0xNDEsMTMgKzE0MSwxMyBAQAogRU5DT0RFUl9SRVNFVChpc28yMDIyKQogewogICAgIGlmIChTVEFURV9HRVRGTEFHKEZfU0hJRlRFRCkpIHsKLSAgICAgICAgV1JJVEUxKFNJKQotICAgICAgICBORVhUX09VVCgxKQorICAgICAgICBXUklURUJZVEUxKFNJKQorICAgICAgICBORVhUX09VVCgxKTsKICAgICAgICAgU1RBVEVfQ0xFQVJGTEFHKEZfU0hJRlRFRCkKICAgICB9CiAgICAgaWYgKFNUQVRFX0cwICE9IENIQVJTRVRfQVNDSUkpIHsKLSAgICAgICAgV1JJVEUzKEVTQywgJygnLCAnQicpCi0gICAgICAgIE5FWFRfT1VUKDMpCisgICAgICAgIFdSSVRFQllURTMoRVNDLCAnKCcsICdCJykKKyAgICAgICAgTkVYVF9PVVQoMyk7CiAgICAgICAgIFNUQVRFX1NFVEcwKENIQVJTRVRfQVNDSUkpCiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtMTU1LDMwICsxNTUsMjkgQEAKIAogRU5DT0RFUihpc28yMDIyKQogewotICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7CisgICAgd2hpbGUgKCppbnBvcyA8IGlubGVuKSB7CiAgICAgICAgIGNvbnN0IHN0cnVjdCBpc28yMDIyX2Rlc2lnbmF0aW9uICpkc2c7CiAgICAgICAgIERCQ0hBUiBlbmNvZGVkOwotICAgICAgICB1Y3M0X3QgYyA9ICoqaW5idWY7CisgICAgICAgIFB5X1VDUzQgYyA9IElOQ0hBUjE7CiAgICAgICAgIFB5X3NzaXplX3QgaW5zaXplOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewogICAgICAgICAgICAgaWYgKFNUQVRFX0cwICE9IENIQVJTRVRfQVNDSUkpIHsKLSAgICAgICAgICAgICAgICBXUklURTMoRVNDLCAnKCcsICdCJykKKyAgICAgICAgICAgICAgICBXUklURUJZVEUzKEVTQywgJygnLCAnQicpCiAgICAgICAgICAgICAgICAgU1RBVEVfU0VURzAoQ0hBUlNFVF9BU0NJSSkKLSAgICAgICAgICAgICAgICBORVhUX09VVCgzKQorICAgICAgICAgICAgICAgIE5FWFRfT1VUKDMpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKFNUQVRFX0dFVEZMQUcoRl9TSElGVEVEKSkgewotICAgICAgICAgICAgICAgIFdSSVRFMShTSSkKKyAgICAgICAgICAgICAgICBXUklURUJZVEUxKFNJKQogICAgICAgICAgICAgICAgIFNUQVRFX0NMRUFSRkxBRyhGX1NISUZURUQpCi0gICAgICAgICAgICAgICAgTkVYVF9PVVQoMSkKKyAgICAgICAgICAgICAgICBORVhUX09VVCgxKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhciljKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMSgodW5zaWduZWQgY2hhciljKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgREVDT0RFX1NVUlJPR0FURShjKQotICAgICAgICBpbnNpemUgPSBHRVRfSU5TSVpFKGMpOworICAgICAgICBpbnNpemUgPSAxOwogCiAgICAgICAgIGVuY29kZWQgPSBNQVBfVU5NQVBQQUJMRTsKICAgICAgICAgZm9yIChkc2cgPSBDT05GSUdfREVTSUdOQVRJT05TOyBkc2ctPm1hcms7IGRzZysrKSB7CkBAIC0xODcsMjQgKzE4NiwxNCBAQAogICAgICAgICAgICAgaWYgKGVuY29kZWQgPT0gTUFQX01VTFRJUExFX0FWQUlMKSB7CiAgICAgICAgICAgICAgICAgLyogdGhpcyBpbXBsZW1lbnRhdGlvbiB3b24ndCB3b3JrIGZvciBwYWlyCiAgICAgICAgICAgICAgICAgICogb2Ygbm9uLWJtcCBjaGFyYWN0ZXJzLiAqLwotICAgICAgICAgICAgICAgIGlmIChpbmxlZnQgPCAyKSB7CisgICAgICAgICAgICAgICAgaWYgKGlubGVuIC0gKmlucG9zIDwgMikgewogICAgICAgICAgICAgICAgICAgICBpZiAoIShmbGFncyAmIE1CRU5DX0ZMVVNIKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBNQkVSUl9UT09GRVc7CiAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IC0xOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IDI7Ci0jaWYgUHlfVU5JQ09ERV9TSVpFID09IDIKLSAgICAgICAgICAgICAgICBpZiAobGVuZ3RoID09IDIpIHsKLSAgICAgICAgICAgICAgICAgICAgdWNzNF90IHU0aW5bMl07Ci0gICAgICAgICAgICAgICAgICAgIHU0aW5bMF0gPSAodWNzNF90KUlOMTsKLSAgICAgICAgICAgICAgICAgICAgdTRpblsxXSA9ICh1Y3M0X3QpSU4yOwotICAgICAgICAgICAgICAgICAgICBlbmNvZGVkID0gZHNnLT5lbmNvZGVyKHU0aW4sICZsZW5ndGgpOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBlbmNvZGVkID0gZHNnLT5lbmNvZGVyKCZjLCAmbGVuZ3RoKTsKLSNlbHNlCiAgICAgICAgICAgICAgICAgZW5jb2RlZCA9IGRzZy0+ZW5jb2RlcigmYywgJmxlbmd0aCk7Ci0jZW5kaWYKICAgICAgICAgICAgICAgICBpZiAoZW5jb2RlZCAhPSBNQVBfVU5NQVBQQUJMRSkgewogICAgICAgICAgICAgICAgICAgICBpbnNpemUgPSBsZW5ndGg7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjIxLDQ3ICsyMTAsNDcgQEAKICAgICAgICAgc3dpdGNoIChkc2ctPnBsYW5lKSB7CiAgICAgICAgIGNhc2UgMDogLyogRzAgKi8KICAgICAgICAgICAgIGlmIChTVEFURV9HRVRGTEFHKEZfU0hJRlRFRCkpIHsKLSAgICAgICAgICAgICAgICBXUklURTEoU0kpCisgICAgICAgICAgICAgICAgV1JJVEVCWVRFMShTSSkKICAgICAgICAgICAgICAgICBTVEFURV9DTEVBUkZMQUcoRl9TSElGVEVEKQotICAgICAgICAgICAgICAgIE5FWFRfT1VUKDEpCisgICAgICAgICAgICAgICAgTkVYVF9PVVQoMSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoU1RBVEVfRzAgIT0gZHNnLT5tYXJrKSB7CiAgICAgICAgICAgICAgICAgaWYgKGRzZy0+d2lkdGggPT0gMSkgewotICAgICAgICAgICAgICAgICAgICBXUklURTMoRVNDLCAnKCcsIEVTQ01BUksoZHNnLT5tYXJrKSkKKyAgICAgICAgICAgICAgICAgICAgV1JJVEVCWVRFMyhFU0MsICcoJywgRVNDTUFSSyhkc2ctPm1hcmspKQogICAgICAgICAgICAgICAgICAgICBTVEFURV9TRVRHMChkc2ctPm1hcmspCi0gICAgICAgICAgICAgICAgICAgIE5FWFRfT1VUKDMpCisgICAgICAgICAgICAgICAgICAgIE5FWFRfT1VUKDMpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIGlmIChkc2ctPm1hcmsgPT0gQ0hBUlNFVF9KSVNYMDIwOCkgewotICAgICAgICAgICAgICAgICAgICBXUklURTMoRVNDLCAnJCcsIEVTQ01BUksoZHNnLT5tYXJrKSkKKyAgICAgICAgICAgICAgICAgICAgV1JJVEVCWVRFMyhFU0MsICckJywgRVNDTUFSSyhkc2ctPm1hcmspKQogICAgICAgICAgICAgICAgICAgICBTVEFURV9TRVRHMChkc2ctPm1hcmspCi0gICAgICAgICAgICAgICAgICAgIE5FWFRfT1VUKDMpCisgICAgICAgICAgICAgICAgICAgIE5FWFRfT1VUKDMpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgV1JJVEU0KEVTQywgJyQnLCAnKCcsCisgICAgICAgICAgICAgICAgICAgIFdSSVRFQllURTQoRVNDLCAnJCcsICcoJywKICAgICAgICAgICAgICAgICAgICAgICAgIEVTQ01BUksoZHNnLT5tYXJrKSkKICAgICAgICAgICAgICAgICAgICAgU1RBVEVfU0VURzAoZHNnLT5tYXJrKQotICAgICAgICAgICAgICAgICAgICBORVhUX09VVCg0KQorICAgICAgICAgICAgICAgICAgICBORVhUX09VVCg0KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSAxOiAvKiBHMSAqLwogICAgICAgICAgICAgaWYgKFNUQVRFX0cxICE9IGRzZy0+bWFyaykgewogICAgICAgICAgICAgICAgIGlmIChkc2ctPndpZHRoID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgV1JJVEUzKEVTQywgJyknLCBFU0NNQVJLKGRzZy0+bWFyaykpCisgICAgICAgICAgICAgICAgICAgIFdSSVRFQllURTMoRVNDLCAnKScsIEVTQ01BUksoZHNnLT5tYXJrKSkKICAgICAgICAgICAgICAgICAgICAgU1RBVEVfU0VURzEoZHNnLT5tYXJrKQotICAgICAgICAgICAgICAgICAgICBORVhUX09VVCgzKQorICAgICAgICAgICAgICAgICAgICBORVhUX09VVCgzKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIFdSSVRFNChFU0MsICckJywgJyknLAorICAgICAgICAgICAgICAgICAgICBXUklURUJZVEU0KEVTQywgJyQnLCAnKScsCiAgICAgICAgICAgICAgICAgICAgICAgICBFU0NNQVJLKGRzZy0+bWFyaykpCiAgICAgICAgICAgICAgICAgICAgIFNUQVRFX1NFVEcxKGRzZy0+bWFyaykKLSAgICAgICAgICAgICAgICAgICAgTkVYVF9PVVQoNCkKKyAgICAgICAgICAgICAgICAgICAgTkVYVF9PVVQoNCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFTVEFURV9HRVRGTEFHKEZfU0hJRlRFRCkpIHsKLSAgICAgICAgICAgICAgICBXUklURTEoU08pCisgICAgICAgICAgICAgICAgV1JJVEVCWVRFMShTTykKICAgICAgICAgICAgICAgICBTVEFURV9TRVRGTEFHKEZfU0hJRlRFRCkKLSAgICAgICAgICAgICAgICBORVhUX09VVCgxKQorICAgICAgICAgICAgICAgIE5FWFRfT1VUKDEpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6IC8qIEcyIGFuZCBHMyBpcyBub3Qgc3VwcG9ydGVkOiBubyBlbmNvZGluZyBpbgpAQCAtMjcwLDE0ICsyNTksMTQgQEAKICAgICAgICAgfQogCiAgICAgICAgIGlmIChkc2ctPndpZHRoID09IDEpIHsKLSAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhcillbmNvZGVkKQotICAgICAgICAgICAgTkVYVF9PVVQoMSkKKyAgICAgICAgICAgIFdSSVRFQllURTEoKHVuc2lnbmVkIGNoYXIpZW5jb2RlZCkKKyAgICAgICAgICAgIE5FWFRfT1VUKDEpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgV1JJVEUyKGVuY29kZWQgPj4gOCwgZW5jb2RlZCAmIDB4ZmYpCi0gICAgICAgICAgICBORVhUX09VVCgyKQorICAgICAgICAgICAgV1JJVEVCWVRFMihlbmNvZGVkID4+IDgsIGVuY29kZWQgJiAweGZmKQorICAgICAgICAgICAgTkVYVF9PVVQoMik7CiAgICAgICAgIH0KLSAgICAgICAgTkVYVF9JTihpbnNpemUpCisgICAgICAgIE5FWFRfSU5DSEFSKGluc2l6ZSk7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0zMjMsMjYgKzMxMiwyNiBAQAogCiAgICAgc3dpdGNoIChlc2NsZW4pIHsKICAgICBjYXNlIDM6Ci0gICAgICAgIGlmIChJTjIgPT0gJyQnKSB7Ci0gICAgICAgICAgICBjaGFyc2V0ID0gSU4zIHwgQ0hBUlNFVF9EQkNTOworICAgICAgICBpZiAoSU5CWVRFMiA9PSAnJCcpIHsKKyAgICAgICAgICAgIGNoYXJzZXQgPSBJTkJZVEUzIHwgQ0hBUlNFVF9EQkNTOwogICAgICAgICAgICAgZGVzaWduYXRpb24gPSAwOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgY2hhcnNldCA9IElOMzsKLSAgICAgICAgICAgIGlmIChJTjIgPT0gJygnKSBkZXNpZ25hdGlvbiA9IDA7Ci0gICAgICAgICAgICBlbHNlIGlmIChJTjIgPT0gJyknKSBkZXNpZ25hdGlvbiA9IDE7Ci0gICAgICAgICAgICBlbHNlIGlmIChDT05GSUdfSVNTRVQoVVNFX0cyKSAmJiBJTjIgPT0gJy4nKQorICAgICAgICAgICAgY2hhcnNldCA9IElOQllURTM7CisgICAgICAgICAgICBpZiAoSU5CWVRFMiA9PSAnKCcpIGRlc2lnbmF0aW9uID0gMDsKKyAgICAgICAgICAgIGVsc2UgaWYgKElOQllURTIgPT0gJyknKSBkZXNpZ25hdGlvbiA9IDE7CisgICAgICAgICAgICBlbHNlIGlmIChDT05GSUdfSVNTRVQoVVNFX0cyKSAmJiBJTkJZVEUyID09ICcuJykKICAgICAgICAgICAgICAgICBkZXNpZ25hdGlvbiA9IDI7CiAgICAgICAgICAgICBlbHNlIHJldHVybiAzOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgNDoKLSAgICAgICAgaWYgKElOMiAhPSAnJCcpCisgICAgICAgIGlmIChJTkJZVEUyICE9ICckJykKICAgICAgICAgICAgIHJldHVybiA0OwogCi0gICAgICAgIGNoYXJzZXQgPSBJTjQgfCBDSEFSU0VUX0RCQ1M7Ci0gICAgICAgIGlmIChJTjMgPT0gJygnKSBkZXNpZ25hdGlvbiA9IDA7Ci0gICAgICAgIGVsc2UgaWYgKElOMyA9PSAnKScpIGRlc2lnbmF0aW9uID0gMTsKKyAgICAgICAgY2hhcnNldCA9IElOQllURTQgfCBDSEFSU0VUX0RCQ1M7CisgICAgICAgIGlmIChJTkJZVEUzID09ICcoJykgZGVzaWduYXRpb24gPSAwOworICAgICAgICBlbHNlIGlmIChJTkJZVEUzID09ICcpJykgZGVzaWduYXRpb24gPSAxOwogICAgICAgICBlbHNlIHJldHVybiA0OwogICAgICAgICBicmVhazsKICAgICBjYXNlIDY6IC8qIGRlc2lnbmF0aW9uIHdpdGggcHJlZml4ICovCkBAIC0zNzYsNDUgKzM2NSw0MyBAQAogICAgIHJldHVybiAwOwogfQogCi0jZGVmaW5lIElTTzg4NTlfN19ERUNPREUoYywgYXNzaSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKChjKSA8IDB4YTApIChhc3NpKSA9IChjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZWxzZSBpZiAoKGMpIDwgMHhjMCAmJiAoMHgyODhmM2JjOUwgJiAoMUwgPDwgKChjKS0weGEwKSkpKSAgICAgICAgICBcCi0gICAgICAgIChhc3NpKSA9IChjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZWxzZSBpZiAoKGMpID49IDB4YjQgJiYgKGMpIDw9IDB4ZmUgJiYgKChjKSA+PSAweGQ0IHx8ICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgKDB4YmZmZmZkNzdMICYgKDFMIDw8ICgoYyktMHhiNCkpKSkpICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIChhc3NpKSA9IDB4MDJkMCArIChjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZWxzZSBpZiAoKGMpID09IDB4YTEpIChhc3NpKSA9IDB4MjAxODsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZWxzZSBpZiAoKGMpID09IDB4YTIpIChhc3NpKSA9IDB4MjAxOTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgZWxzZSBpZiAoKGMpID09IDB4YWYpIChhc3NpKSA9IDB4MjAxNTsKKyNkZWZpbmUgSVNPODg1OV83X0RFQ09ERShjLCB3cml0ZXIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiAoKGMpIDwgMHhhMCkgT1VUQ0hBUihjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZWxzZSBpZiAoKGMpIDwgMHhjMCAmJiAoMHgyODhmM2JjOUwgJiAoMUwgPDwgKChjKS0weGEwKSkpKSAgICBcCisgICAgICAgIE9VVENIQVIoYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaWYgKChjKSA+PSAweGI0ICYmIChjKSA8PSAweGZlICYmICgoYykgPj0gMHhkNCB8fCAgICAgICAgXAorICAgICAgICAgICAgICgweGJmZmZmZDc3TCAmICgxTCA8PCAoKGMpLTB4YjQpKSkpKSAgICAgICAgICAgICAgICAgXAorICAgICAgICBPVVRDSEFSKDB4MDJkMCArIChjKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBlbHNlIGlmICgoYykgPT0gMHhhMSkgT1VUQ0hBUigweDIwMTgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZWxzZSBpZiAoKGMpID09IDB4YTIpIE9VVENIQVIoMHgyMDE5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaWYgKChjKSA9PSAweGFmKSBPVVRDSEFSKDB4MjAxNSk7CiAKIHN0YXRpYyBQeV9zc2l6ZV90CiBpc28yMDIycHJvY2Vzc2cyKGNvbnN0IHZvaWQgKmNvbmZpZywgTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLAogICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICoqaW5idWYsIFB5X3NzaXplX3QgKmlubGVmdCwKLSAgICAgICAgICAgICAgICAgUHlfVU5JQ09ERSAqKm91dGJ1ZiwgUHlfc3NpemVfdCAqb3V0bGVmdCkKKyAgICAgICAgICAgICAgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKQogewogICAgIC8qIG5vdCB3cml0dGVuIHRvIHVzZSBlbmNvZGVyLCBkZWNvZGVyIGZ1bmN0aW9ucyBiZWNhdXNlIG9ubHkgZmV3CiAgICAgICogZW5jb2RpbmdzIHVzZSBHMiBkZXNpZ25hdGlvbnMgaW4gQ0pLQ29kZWNzICovCiAgICAgaWYgKFNUQVRFX0cyID09IENIQVJTRVRfSVNPODg1OV8xKSB7Ci0gICAgICAgIGlmIChJTjMgPCAweDgwKQotICAgICAgICAgICAgT1VUMShJTjMgKyAweDgwKQorICAgICAgICBpZiAoSU5CWVRFMyA8IDB4ODApCisgICAgICAgICAgICBPVVRDSEFSKElOQllURTMgKyAweDgwKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0dXJuIDM7CiAgICAgfQogICAgIGVsc2UgaWYgKFNUQVRFX0cyID09IENIQVJTRVRfSVNPODg1OV83KSB7Ci0gICAgICAgIElTTzg4NTlfN19ERUNPREUoSU4zIF4gMHg4MCwgKipvdXRidWYpCisgICAgICAgIElTTzg4NTlfN19ERUNPREUoSU5CWVRFMyBeIDB4ODAsIHdyaXRlcikKICAgICAgICAgZWxzZSByZXR1cm4gMzsKICAgICB9CiAgICAgZWxzZSBpZiAoU1RBVEVfRzIgPT0gQ0hBUlNFVF9BU0NJSSkgewotICAgICAgICBpZiAoSU4zICYgMHg4MCkgcmV0dXJuIDM7Ci0gICAgICAgIGVsc2UgKipvdXRidWYgPSBJTjM7CisgICAgICAgIGlmIChJTkJZVEUzICYgMHg4MCkgcmV0dXJuIDM7CisgICAgICAgIGVsc2UgT1VUQ0hBUihJTkJZVEUzKTsKICAgICB9CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gTUJFUlJfSU5URVJOQUw7CiAKICAgICAoKmluYnVmKSArPSAzOwogICAgICppbmxlZnQgLT0gMzsKLSAgICAoKm91dGJ1ZikgKz0gMTsKLSAgICAqb3V0bGVmdCAtPSAxOwogICAgIHJldHVybiAwOwogfQogCkBAIC00MjMsMTQgKzQxMCwxNCBAQAogICAgIGNvbnN0IHN0cnVjdCBpc28yMDIyX2Rlc2lnbmF0aW9uICpkc2djYWNoZSA9IE5VTEw7CiAKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTjE7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOQllURTE7CiAgICAgICAgIFB5X3NzaXplX3QgZXJyOwogCiAgICAgICAgIGlmIChTVEFURV9HRVRGTEFHKEZfRVNDVEhST1VHSE9VVCkpIHsKICAgICAgICAgICAgIC8qIEVTQyB0aHJvdWdob3V0IG1vZGU6CiAgICAgICAgICAgICAgKiBmb3Igbm9uLWlzbzIwMjIgZXNjYXBlIHNlcXVlbmNlcyAqLwotICAgICAgICAgICAgV1JJVEUxKGMpIC8qIGFzc3VtZSBhcyBJU08tODg1OS0xICovCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOyAvKiBhc3N1bWUgYXMgSVNPLTg4NTktMSAqLworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGlmIChJU19FU0NFTkQoYykpIHsKICAgICAgICAgICAgICAgICBTVEFURV9DTEVBUkZMQUcoRl9FU0NUSFJPVUdIT1VUKQogICAgICAgICAgICAgfQpAQCAtNDQwLDQxICs0MjcsNDEgQEAKICAgICAgICAgc3dpdGNoIChjKSB7CiAgICAgICAgIGNhc2UgRVNDOgogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQotICAgICAgICAgICAgaWYgKElTX0lTTzIwMjJFU0MoSU4yKSkgeworICAgICAgICAgICAgaWYgKElTX0lTTzIwMjJFU0MoSU5CWVRFMikpIHsKICAgICAgICAgICAgICAgICBlcnIgPSBpc28yMDIycHJvY2Vzc2VzYyhjb25maWcsIHN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYnVmLCAmaW5sZWZ0KTsKICAgICAgICAgICAgICAgICBpZiAoZXJyICE9IDApCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnI7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChDT05GSUdfSVNTRVQoVVNFX0cyKSAmJiBJTjIgPT0gJ04nKSB7LyogU1MyICovCisgICAgICAgICAgICBlbHNlIGlmIChDT05GSUdfSVNTRVQoVVNFX0cyKSAmJiBJTkJZVEUyID09ICdOJykgey8qIFNTMiAqLwogICAgICAgICAgICAgICAgIFJFUVVJUkVfSU5CVUYoMykKICAgICAgICAgICAgICAgICBlcnIgPSBpc28yMDIycHJvY2Vzc2cyKGNvbmZpZywgc3RhdGUsCi0gICAgICAgICAgICAgICAgICAgIGluYnVmLCAmaW5sZWZ0LCBvdXRidWYsICZvdXRsZWZ0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYnVmLCAmaW5sZWZ0LCB3cml0ZXIpOwogICAgICAgICAgICAgICAgIGlmIChlcnIgIT0gMCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIFdSSVRFMShFU0MpCisgICAgICAgICAgICAgICAgT1VUQ0hBUihFU0MpOwogICAgICAgICAgICAgICAgIFNUQVRFX1NFVEZMQUcoRl9FU0NUSFJPVUdIT1VUKQotICAgICAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgICAgICBORVhUX0lOKDEpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU0k6CiAgICAgICAgICAgICBpZiAoQ09ORklHX0lTU0VUKE5PX1NISUZUKSkKICAgICAgICAgICAgICAgICBnb3RvIGJ5cGFzczsKICAgICAgICAgICAgIFNUQVRFX0NMRUFSRkxBRyhGX1NISUZURUQpCi0gICAgICAgICAgICBORVhUX0lOKDEpCisgICAgICAgICAgICBORVhUX0lOKDEpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU086CiAgICAgICAgICAgICBpZiAoQ09ORklHX0lTU0VUKE5PX1NISUZUKSkKICAgICAgICAgICAgICAgICBnb3RvIGJ5cGFzczsKICAgICAgICAgICAgIFNUQVRFX1NFVEZMQUcoRl9TSElGVEVEKQotICAgICAgICAgICAgTkVYVF9JTigxKQorICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIExGOgogICAgICAgICAgICAgU1RBVEVfQ0xFQVJGTEFHKEZfU0hJRlRFRCkKLSAgICAgICAgICAgIFdSSVRFMShMRikKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIE9VVENIQVIoTEYpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgaWYgKGMgPCAweDIwKSAvKiBDMCAqLwpAQCAtNDg0LDcgKzQ3MSw3IEBACiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgaXNvMjAyMl9kZXNpZ25hdGlvbiAqZHNnOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgY2hhcnNldDsKLSAgICAgICAgICAgICAgICB1Y3M0X3QgZGVjb2RlZDsKKyAgICAgICAgICAgICAgICBQeV9VQ1M0IGRlY29kZWQ7CiAKICAgICAgICAgICAgICAgICBpZiAoU1RBVEVfR0VURkxBRyhGX1NISUZURUQpKQogICAgICAgICAgICAgICAgICAgICBjaGFyc2V0ID0gU1RBVEVfRzE7CkBAIC00OTIsOCArNDc5LDggQEAKICAgICAgICAgICAgICAgICAgICAgY2hhcnNldCA9IFNUQVRFX0cwOwogCiAgICAgICAgICAgICAgICAgaWYgKGNoYXJzZXQgPT0gQ0hBUlNFVF9BU0NJSSkgewotYnlwYXNzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdSSVRFMShjKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5FWFQoMSwgMSkKK2J5cGFzczogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5FWFRfSU4oMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KIApAQCAtNTE4LDE3ICs1MDUsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZHNnLT53aWR0aDsKIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVjb2RlZCA8IDB4MTAwMDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURTEoZGVjb2RlZCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBORVhUX09VVCgxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9VVENIQVIoZGVjb2RlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVjb2RlZCA8IDB4MzAwMDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXUklURVVDUzQoZGVjb2RlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVVRDSEFSKGRlY29kZWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeyAvKiBKSVMgWCAwMjEzIHBhaXJzICovCi0gICAgICAgICAgICAgICAgICAgIFdSSVRFMihkZWNvZGVkID4+IDE2LCBkZWNvZGVkICYgMHhmZmZmKQotICAgICAgICAgICAgICAgICAgICBORVhUX09VVCgyKQorICAgICAgICAgICAgICAgICAgICBPVVRDSEFSMihkZWNvZGVkID4+IDE2LCBkZWNvZGVkICYgMHhmZmZmKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgTkVYVF9JTihkc2ctPndpZHRoKQorICAgICAgICAgICAgICAgIE5FWFRfSU4oZHNnLT53aWR0aCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtNTc3LDE4ICs1NjIsMTggQEAKICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIHVjczRfdAorc3RhdGljIFB5X1VDUzQKIGtzeDEwMDFfZGVjb2Rlcihjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQogewotICAgIHVjczRfdCB1OwotICAgIFRSWU1BUF9ERUMoa3N4MTAwMSwgdSwgZGF0YVswXSwgZGF0YVsxXSkKKyAgICBQeV9VQ1M0IHU7CisgICAgVFJZTUFQX0RFQ19DSEFSKGtzeDEwMDEsIHUsIGRhdGFbMF0sIGRhdGFbMV0pCiAgICAgICAgIHJldHVybiB1OwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIE1BUF9VTk1BUFBBQkxFOwogfQogCiBzdGF0aWMgREJDSEFSCi1rc3gxMDAxX2VuY29kZXIoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCitrc3gxMDAxX2VuY29kZXIoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZDsKICAgICBhc3NlcnQoKmxlbmd0aCA9PSAxKTsKQEAgLTYxMywyMCArNTk4LDIwIEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB1Y3M0X3QKK3N0YXRpYyBQeV9VQ1M0CiBqaXN4MDIwOF9kZWNvZGVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCiB7Ci0gICAgdWNzNF90IHU7CisgICAgUHlfVUNTNCB1OwogICAgIGlmIChkYXRhWzBdID09IDB4MjEgJiYgZGF0YVsxXSA9PSAweDQwKSAvKiBGL1cgUkVWRVJTRSBTT0xJRFVTICovCiAgICAgICAgIHJldHVybiAweGZmM2M7Ci0gICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjA4LCB1LCBkYXRhWzBdLCBkYXRhWzFdKQorICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjA4LCB1LCBkYXRhWzBdLCBkYXRhWzFdKQogICAgICAgICByZXR1cm4gdTsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBNQVBfVU5NQVBQQUJMRTsKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMDhfZW5jb2Rlcihjb25zdCB1Y3M0X3QgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCkKK2ppc3gwMjA4X2VuY29kZXIoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZDsKICAgICBhc3NlcnQoKmxlbmd0aCA9PSAxKTsKQEAgLTY1NCwxOCArNjM5LDE4IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB1Y3M0X3QKK3N0YXRpYyBQeV9VQ1M0CiBqaXN4MDIxMl9kZWNvZGVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCiB7Ci0gICAgdWNzNF90IHU7Ci0gICAgVFJZTUFQX0RFQyhqaXN4MDIxMiwgdSwgZGF0YVswXSwgZGF0YVsxXSkKKyAgICBQeV9VQ1M0IHU7CisgICAgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEyLCB1LCBkYXRhWzBdLCBkYXRhWzFdKQogICAgICAgICByZXR1cm4gdTsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBNQVBfVU5NQVBQQUJMRTsKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMTJfZW5jb2Rlcihjb25zdCB1Y3M0X3QgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCkKK2ppc3gwMjEyX2VuY29kZXIoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZDsKICAgICBhc3NlcnQoKmxlbmd0aCA9PSAxKTsKQEAgLTcwNSwzMCArNjkwLDMwIEBACiB9CiAKICNkZWZpbmUgY29uZmlnICgodm9pZCAqKTIwMDApCi1zdGF0aWMgdWNzNF90CitzdGF0aWMgUHlfVUNTNAogamlzeDAyMTNfMjAwMF8xX2RlY29kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLSAgICB1Y3M0X3QgdTsKKyAgICBQeV9VQ1M0IHU7CiAgICAgRU1VTEFURV9KSVNYMDIxM18yMDAwX0RFQ09ERV9QTEFORTEodSwgZGF0YVswXSwgZGF0YVsxXSkKICAgICBlbHNlIGlmIChkYXRhWzBdID09IDB4MjEgJiYgZGF0YVsxXSA9PSAweDQwKSAvKiBGL1cgUkVWRVJTRSBTT0xJRFVTICovCiAgICAgICAgIHJldHVybiAweGZmM2M7Ci0gICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjA4LCB1LCBkYXRhWzBdLCBkYXRhWzFdKTsKLSAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMV9ibXAsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOwotICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIxM18xX2VtcCwgdSwgZGF0YVswXSwgZGF0YVsxXSkKKyAgICBlbHNlIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIwOCwgdSwgZGF0YVswXSwgZGF0YVsxXSk7CisgICAgZWxzZSBUUllNQVBfREVDX0NIQVIoamlzeDAyMTNfMV9ibXAsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOworICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEzXzFfZW1wLCB1LCBkYXRhWzBdLCBkYXRhWzFdKQogICAgICAgICB1IHw9IDB4MjAwMDA7Ci0gICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzX3BhaXIsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOworICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEzX3BhaXIsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOwogICAgIGVsc2UKICAgICAgICAgcmV0dXJuIE1BUF9VTk1BUFBBQkxFOwogICAgIHJldHVybiB1OwogfQogCi1zdGF0aWMgdWNzNF90CitzdGF0aWMgUHlfVUNTNAogamlzeDAyMTNfMjAwMF8yX2RlY29kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLSAgICB1Y3M0X3QgdTsKLSAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMih1LCBkYXRhWzBdLCBkYXRhWzFdKQotICAgIFRSWU1BUF9ERUMoamlzeDAyMTNfMl9ibXAsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOwotICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIxM18yX2VtcCwgdSwgZGF0YVswXSwgZGF0YVsxXSkKKyAgICBQeV9VQ1M0IHU7CisgICAgRU1VTEFURV9KSVNYMDIxM18yMDAwX0RFQ09ERV9QTEFORTJfQ0hBUih1LCBkYXRhWzBdLCBkYXRhWzFdKQorICAgIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIxM18yX2JtcCwgdSwgZGF0YVswXSwgZGF0YVsxXSk7CisgICAgZWxzZSBUUllNQVBfREVDX0NIQVIoamlzeDAyMTNfMl9lbXAsIHUsIGRhdGFbMF0sIGRhdGFbMV0pCiAgICAgICAgIHUgfD0gMHgyMDAwMDsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBNQVBfVU5NQVBQQUJMRTsKQEAgLTczNiwyOCArNzIxLDI4IEBACiB9CiAjdW5kZWYgY29uZmlnCiAKLXN0YXRpYyB1Y3M0X3QKK3N0YXRpYyBQeV9VQ1M0CiBqaXN4MDIxM18yMDA0XzFfZGVjb2Rlcihjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhKQogewotICAgIHVjczRfdCB1OworICAgIFB5X1VDUzQgdTsKICAgICBpZiAoZGF0YVswXSA9PSAweDIxICYmIGRhdGFbMV0gPT0gMHg0MCkgLyogRi9XIFJFVkVSU0UgU09MSURVUyAqLwogICAgICAgICByZXR1cm4gMHhmZjNjOwotICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIwOCwgdSwgZGF0YVswXSwgZGF0YVsxXSk7Ci0gICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzFfYm1wLCB1LCBkYXRhWzBdLCBkYXRhWzFdKTsKLSAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMV9lbXAsIHUsIGRhdGFbMF0sIGRhdGFbMV0pCisgICAgZWxzZSBUUllNQVBfREVDX0NIQVIoamlzeDAyMDgsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOworICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEzXzFfYm1wLCB1LCBkYXRhWzBdLCBkYXRhWzFdKTsKKyAgICBlbHNlIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIxM18xX2VtcCwgdSwgZGF0YVswXSwgZGF0YVsxXSkKICAgICAgICAgdSB8PSAweDIwMDAwOwotICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIxM19wYWlyLCB1LCBkYXRhWzBdLCBkYXRhWzFdKTsKKyAgICBlbHNlIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIxM19wYWlyLCB1LCBkYXRhWzBdLCBkYXRhWzFdKTsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBNQVBfVU5NQVBQQUJMRTsKICAgICByZXR1cm4gdTsKIH0KIAotc3RhdGljIHVjczRfdAorc3RhdGljIFB5X1VDUzQKIGppc3gwMjEzXzIwMDRfMl9kZWNvZGVyKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEpCiB7Ci0gICAgdWNzNF90IHU7Ci0gICAgVFJZTUFQX0RFQyhqaXN4MDIxM18yX2JtcCwgdSwgZGF0YVswXSwgZGF0YVsxXSk7Ci0gICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzJfZW1wLCB1LCBkYXRhWzBdLCBkYXRhWzFdKQorICAgIFB5X1VDUzQgdTsKKyAgICBUUllNQVBfREVDX0NIQVIoamlzeDAyMTNfMl9ibXAsIHUsIGRhdGFbMF0sIGRhdGFbMV0pOworICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEzXzJfZW1wLCB1LCBkYXRhWzBdLCBkYXRhWzFdKQogICAgICAgICB1IHw9IDB4MjAwMDA7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gTUFQX1VOTUFQUEFCTEU7CkBAIC03NjUsNyArNzUwLDcgQEAKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMTNfZW5jb2Rlcihjb25zdCB1Y3M0X3QgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCwgdm9pZCAqY29uZmlnKQoramlzeDAyMTNfZW5jb2Rlcihjb25zdCBQeV9VQ1M0ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgsIHZvaWQgKmNvbmZpZykKIHsKICAgICBEQkNIQVIgY29kZWQ7CiAKQEAgLTgxOSw3ICs4MDQsNyBAQAogfQogCiBzdGF0aWMgREJDSEFSCi1qaXN4MDIxM18yMDAwXzFfZW5jb2Rlcihjb25zdCB1Y3M0X3QgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCkKK2ppc3gwMjEzXzIwMDBfMV9lbmNvZGVyKGNvbnN0IFB5X1VDUzQgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCkKIHsKICAgICBEQkNIQVIgY29kZWQgPSBqaXN4MDIxM19lbmNvZGVyKGRhdGEsIGxlbmd0aCwgKHZvaWQgKikyMDAwKTsKICAgICBpZiAoY29kZWQgPT0gTUFQX1VOTUFQUEFCTEUgfHwgY29kZWQgPT0gTUFQX01VTFRJUExFX0FWQUlMKQpAQCAtODMxLDcgKzgxNiw3IEBACiB9CiAKIHN0YXRpYyBEQkNIQVIKLWppc3gwMjEzXzIwMDBfMV9lbmNvZGVyX3BhaXJvbmx5KGNvbnN0IHVjczRfdCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQoramlzeDAyMTNfMjAwMF8xX2VuY29kZXJfcGFpcm9ubHkoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZDsKICAgICBQeV9zc2l6ZV90IGlsZW5ndGggPSAqbGVuZ3RoOwpAQCAtODU0LDcgKzgzOSw3IEBACiB9CiAKIHN0YXRpYyBEQkNIQVIKLWppc3gwMjEzXzIwMDBfMl9lbmNvZGVyKGNvbnN0IHVjczRfdCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQoramlzeDAyMTNfMjAwMF8yX2VuY29kZXIoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZCA9IGppc3gwMjEzX2VuY29kZXIoZGF0YSwgbGVuZ3RoLCAodm9pZCAqKTIwMDApOwogICAgIGlmIChjb2RlZCA9PSBNQVBfVU5NQVBQQUJMRSB8fCBjb2RlZCA9PSBNQVBfTVVMVElQTEVfQVZBSUwpCkBAIC04NjYsNyArODUxLDcgQEAKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMTNfMjAwNF8xX2VuY29kZXIoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCitqaXN4MDIxM18yMDA0XzFfZW5jb2Rlcihjb25zdCBQeV9VQ1M0ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCiB7CiAgICAgREJDSEFSIGNvZGVkID0gamlzeDAyMTNfZW5jb2RlcihkYXRhLCBsZW5ndGgsIE5VTEwpOwogICAgIGlmIChjb2RlZCA9PSBNQVBfVU5NQVBQQUJMRSB8fCBjb2RlZCA9PSBNQVBfTVVMVElQTEVfQVZBSUwpCkBAIC04NzgsNyArODYzLDcgQEAKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMTNfMjAwNF8xX2VuY29kZXJfcGFpcm9ubHkoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCitqaXN4MDIxM18yMDA0XzFfZW5jb2Rlcl9wYWlyb25seShjb25zdCBQeV9VQ1M0ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCiB7CiAgICAgREJDSEFSIGNvZGVkOwogICAgIFB5X3NzaXplX3QgaWxlbmd0aCA9ICpsZW5ndGg7CkBAIC05MDEsNyArODg2LDcgQEAKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMTNfMjAwNF8yX2VuY29kZXIoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCitqaXN4MDIxM18yMDA0XzJfZW5jb2Rlcihjb25zdCBQeV9VQ1M0ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCiB7CiAgICAgREJDSEFSIGNvZGVkID0gamlzeDAyMTNfZW5jb2RlcihkYXRhLCBsZW5ndGgsIE5VTEwpOwogICAgIGlmIChjb2RlZCA9PSBNQVBfVU5NQVBQQUJMRSB8fCBjb2RlZCA9PSBNQVBfTVVMVElQTEVfQVZBSUwpCkBAIC05MTIsMTcgKzg5NywxNyBAQAogICAgICAgICByZXR1cm4gTUFQX1VOTUFQUEFCTEU7CiB9CiAKLXN0YXRpYyB1Y3M0X3QKK3N0YXRpYyBQeV9VQ1M0CiBqaXN4MDIwMV9yX2RlY29kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLSAgICB1Y3M0X3QgdTsKLSAgICBKSVNYMDIwMV9SX0RFQ09ERSgqZGF0YSwgdSkKKyAgICBQeV9VQ1M0IHU7CisgICAgSklTWDAyMDFfUl9ERUNPREVfQ0hBUigqZGF0YSwgdSkKICAgICBlbHNlIHJldHVybiBNQVBfVU5NQVBQQUJMRTsKICAgICByZXR1cm4gdTsKIH0KIAogc3RhdGljIERCQ0hBUgotamlzeDAyMDFfcl9lbmNvZGVyKGNvbnN0IHVjczRfdCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQoramlzeDAyMDFfcl9lbmNvZGVyKGNvbnN0IFB5X1VDUzQgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCkKIHsKICAgICBEQkNIQVIgY29kZWQ7CiAgICAgSklTWDAyMDFfUl9FTkNPREUoKmRhdGEsIGNvZGVkKQpAQCAtOTMwLDE3ICs5MTUsMTcgQEAKICAgICByZXR1cm4gY29kZWQ7CiB9CiAKLXN0YXRpYyB1Y3M0X3QKK3N0YXRpYyBQeV9VQ1M0CiBqaXN4MDIwMV9rX2RlY29kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLSAgICB1Y3M0X3QgdTsKLSAgICBKSVNYMDIwMV9LX0RFQ09ERSgqZGF0YSBeIDB4ODAsIHUpCisgICAgUHlfVUNTNCB1OworICAgIEpJU1gwMjAxX0tfREVDT0RFX0NIQVIoKmRhdGEgXiAweDgwLCB1KQogICAgIGVsc2UgcmV0dXJuIE1BUF9VTk1BUFBBQkxFOwogICAgIHJldHVybiB1OwogfQogCiBzdGF0aWMgREJDSEFSCi1qaXN4MDIwMV9rX2VuY29kZXIoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCitqaXN4MDIwMV9rX2VuY29kZXIoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZDsKICAgICBKSVNYMDIwMV9LX0VOQ09ERSgqZGF0YSwgY29kZWQpCkBAIC05NjEsMTggKzk0NiwxOCBAQAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgdWNzNF90CitzdGF0aWMgUHlfVUNTNAogZ2IyMzEyX2RlY29kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKLSAgICB1Y3M0X3QgdTsKLSAgICBUUllNQVBfREVDKGdiMjMxMiwgdSwgZGF0YVswXSwgZGF0YVsxXSkKKyAgICBQeV9VQ1M0IHU7CisgICAgVFJZTUFQX0RFQ19DSEFSKGdiMjMxMiwgdSwgZGF0YVswXSwgZGF0YVsxXSkKICAgICAgICAgcmV0dXJuIHU7CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gTUFQX1VOTUFQUEFCTEU7CiB9CiAKIHN0YXRpYyBEQkNIQVIKLWdiMjMxMl9lbmNvZGVyKGNvbnN0IHVjczRfdCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQorZ2IyMzEyX2VuY29kZXIoY29uc3QgUHlfVUNTNCAqZGF0YSwgUHlfc3NpemVfdCAqbGVuZ3RoKQogewogICAgIERCQ0hBUiBjb2RlZDsKICAgICBhc3NlcnQoKmxlbmd0aCA9PSAxKTsKQEAgLTk4NiwxNCArOTcxLDE0IEBACiB9CiAKIAotc3RhdGljIHVjczRfdAorc3RhdGljIFB5X1VDUzQKIGR1bW15X2RlY29kZXIoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSkKIHsKICAgICByZXR1cm4gTUFQX1VOTUFQUEFCTEU7CiB9CiAKIHN0YXRpYyBEQkNIQVIKLWR1bW15X2VuY29kZXIoY29uc3QgdWNzNF90ICpkYXRhLCBQeV9zc2l6ZV90ICpsZW5ndGgpCitkdW1teV9lbmNvZGVyKGNvbnN0IFB5X1VDUzQgKmRhdGEsIFB5X3NzaXplX3QgKmxlbmd0aCkKIHsKICAgICByZXR1cm4gTUFQX1VOTUFQUEFCTEU7CiB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2pwLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2pwLmMKaW5kZXggYTUwMDY5Ni4uN2FiMzE4YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19qcC5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfanAuYwpAQCAtMTksMzggKzE5LDM5IEBACiAKIEVOQ09ERVIoY3A5MzIpCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gSU4xOworICAgIHdoaWxlICgqaW5wb3MgPCBpbmxlbikgeworICAgICAgICBQeV9VQ1M0IGMgPSBJTkNIQVIxOwogICAgICAgICBEQkNIQVIgY29kZTsKICAgICAgICAgdW5zaWduZWQgY2hhciBjMSwgYzI7CiAKICAgICAgICAgaWYgKGMgPD0gMHg4MCkgewotICAgICAgICAgICAgV1JJVEUxKCh1bnNpZ25lZCBjaGFyKWMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBXUklURUJZVEUxKCh1bnNpZ25lZCBjaGFyKWMpCisgICAgICAgICAgICBORVhUKDEsIDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoYyA+PSAweGZmNjEgJiYgYyA8PSAweGZmOWYpIHsKLSAgICAgICAgICAgIFdSSVRFMShjIC0gMHhmZWMwKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMShjIC0gMHhmZWMwKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGMgPj0gMHhmOGYwICYmIGMgPD0gMHhmOGYzKSB7CiAgICAgICAgICAgICAvKiBXaW5kb3dzIGNvbXBhdGliaWxpdHkgKi8KICAgICAgICAgICAgIFJFUVVJUkVfT1VUQlVGKDEpCiAgICAgICAgICAgICBpZiAoYyA9PSAweGY4ZjApCi0gICAgICAgICAgICAgICAgT1VUMSgweGEwKQorICAgICAgICAgICAgICAgIE9VVEJZVEUxKDB4YTApCiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgT1VUMShjIC0gMHhmZWYxICsgMHhmZCkKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgICAgICBPVVRCWVRFMShjIC0gMHhmZWYxICsgMHhmZCkKKyAgICAgICAgICAgIE5FWFQoMSwgMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIFVDUzRJTlZBTElEKGMpCisgICAgICAgIGlmIChjID4gMHhGRkZGKQorICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIFJFUVVJUkVfT1VUQlVGKDIpCiAKICAgICAgICAgVFJZTUFQX0VOQyhjcDkzMmV4dCwgY29kZSwgYykgewotICAgICAgICAgICAgT1VUMShjb2RlID4+IDgpCi0gICAgICAgICAgICBPVVQyKGNvZGUgJiAweGZmKQorICAgICAgICAgICAgT1VUQllURTEoY29kZSA+PiA4KQorICAgICAgICAgICAgT1VUQllURTIoY29kZSAmIDB4ZmYpCiAgICAgICAgIH0KICAgICAgICAgZWxzZSBUUllNQVBfRU5DKGppc3hjb21tb24sIGNvZGUsIGMpIHsKICAgICAgICAgICAgIGlmIChjb2RlICYgMHg4MDAwKSAvKiBNU0Igc2V0OiBKSVMgWCAwMjEyICovCkBAIC02MSwyMCArNjIsMjAgQEAKICAgICAgICAgICAgIGMyID0gY29kZSAmIDB4ZmY7CiAgICAgICAgICAgICBjMiA9ICgoKGMxIC0gMHgyMSkgJiAxKSA/IDB4NWUgOiAwKSArIChjMiAtIDB4MjEpOwogICAgICAgICAgICAgYzEgPSAoYzEgLSAweDIxKSA+PiAxOwotICAgICAgICAgICAgT1VUMShjMSA8IDB4MWYgPyBjMSArIDB4ODEgOiBjMSArIDB4YzEpCi0gICAgICAgICAgICBPVVQyKGMyIDwgMHgzZiA/IGMyICsgMHg0MCA6IGMyICsgMHg0MSkKKyAgICAgICAgICAgIE9VVEJZVEUxKGMxIDwgMHgxZiA/IGMxICsgMHg4MSA6IGMxICsgMHhjMSkKKyAgICAgICAgICAgIE9VVEJZVEUyKGMyIDwgMHgzZiA/IGMyICsgMHg0MCA6IGMyICsgMHg0MSkKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChjID49IDB4ZTAwMCAmJiBjIDwgMHhlNzU4KSB7CiAgICAgICAgICAgICAvKiBVc2VyLWRlZmluZWQgYXJlYSAqLwotICAgICAgICAgICAgYzEgPSAoUHlfVU5JQ09ERSkoYyAtIDB4ZTAwMCkgLyAxODg7Ci0gICAgICAgICAgICBjMiA9IChQeV9VTklDT0RFKShjIC0gMHhlMDAwKSAlIDE4ODsKLSAgICAgICAgICAgIE9VVDEoYzEgKyAweGYwKQotICAgICAgICAgICAgT1VUMihjMiA8IDB4M2YgPyBjMiArIDB4NDAgOiBjMiArIDB4NDEpCisgICAgICAgICAgICBjMSA9IChQeV9VQ1M0KShjIC0gMHhlMDAwKSAvIDE4ODsKKyAgICAgICAgICAgIGMyID0gKFB5X1VDUzQpKGMgLSAweGUwMDApICUgMTg4OworICAgICAgICAgICAgT1VUQllURTEoYzEgKyAweGYwKQorICAgICAgICAgICAgT1VUQllURTIoYzIgPCAweDNmID8gYzIgKyAweDQwIDogYzIgKyAweDQxKQogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiAxOwogCi0gICAgICAgIE5FWFQoMSwgMikKKyAgICAgICAgTkVYVCgxLCAyKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTgzLDMzICs4NCwzMiBAQAogREVDT0RFUihjcDkzMikKIHsKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTjEsIGMyOworICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTkJZVEUxLCBjMjsKIAotICAgICAgICBSRVFVSVJFX09VVEJVRigxKQogICAgICAgICBpZiAoYyA8PSAweDgwKSB7Ci0gICAgICAgICAgICBPVVQxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGMgPj0gMHhhMCAmJiBjIDw9IDB4ZGYpIHsKICAgICAgICAgICAgIGlmIChjID09IDB4YTApCi0gICAgICAgICAgICAgICAgT1VUMSgweGY4ZjApIC8qIGhhbGYtd2lkdGgga2F0YWthbmEgKi8KKyAgICAgICAgICAgICAgICBPVVRDSEFSKDB4ZjhmMCk7IC8qIGhhbGYtd2lkdGgga2F0YWthbmEgKi8KICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBPVVQxKDB4ZmVjMCArIGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICAgICAgT1VUQ0hBUigweGZlYzAgKyBjKTsKKyAgICAgICAgICAgIE5FWFRfSU4oMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChjID49IDB4ZmQvKiAmJiBjIDw9IDB4ZmYqLykgewogICAgICAgICAgICAgLyogV2luZG93cyBjb21wYXRpYmlsaXR5ICovCi0gICAgICAgICAgICBPVVQxKDB4ZjhmMSAtIDB4ZmQgKyBjKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgT1VUQ0hBUigweGY4ZjEgLSAweGZkICsgYyk7CisgICAgICAgICAgICBORVhUX0lOKDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAogICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCi0gICAgICAgIGMyID0gSU4yOworICAgICAgICBjMiA9IElOQllURTI7CiAKLSAgICAgICAgVFJZTUFQX0RFQyhjcDkzMmV4dCwgKipvdXRidWYsIGMsIGMyKTsKKyAgICAgICAgVFJZTUFQX0RFQyhjcDkzMmV4dCwgd3JpdGVyLCBjLCBjMik7CiAgICAgICAgIGVsc2UgaWYgKChjID49IDB4ODEgJiYgYyA8PSAweDlmKSB8fCAoYyA+PSAweGUwICYmIGMgPD0gMHhlYSkpewogICAgICAgICAgICAgaWYgKGMyIDwgMHg0MCB8fCAoYzIgPiAweDdlICYmIGMyIDwgMHg4MCkgfHwgYzIgPiAweGZjKQogICAgICAgICAgICAgICAgIHJldHVybiAxOwpAQCAtMTE5LDIxICsxMTksMjEgQEAKICAgICAgICAgICAgIGMgPSAoMiAqIGMgKyAoYzIgPCAweDVlID8gMCA6IDEpICsgMHgyMSk7CiAgICAgICAgICAgICBjMiA9IChjMiA8IDB4NWUgPyBjMiA6IGMyIC0gMHg1ZSkgKyAweDIxOwogCi0gICAgICAgICAgICBUUllNQVBfREVDKGppc3gwMjA4LCAqKm91dGJ1ZiwgYywgYzIpOworICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIwOCwgd3JpdGVyLCBjLCBjMik7CiAgICAgICAgICAgICBlbHNlIHJldHVybiAxOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGMgPj0gMHhmMCAmJiBjIDw9IDB4ZjkpIHsKICAgICAgICAgICAgIGlmICgoYzIgPj0gMHg0MCAmJiBjMiA8PSAweDdlKSB8fAogICAgICAgICAgICAgICAgIChjMiA+PSAweDgwICYmIGMyIDw9IDB4ZmMpKQotICAgICAgICAgICAgICAgIE9VVDEoMHhlMDAwICsgMTg4ICogKGMgLSAweGYwKSArCi0gICAgICAgICAgICAgICAgICAgICAoYzIgPCAweDgwID8gYzIgLSAweDQwIDogYzIgLSAweDQxKSkKKyAgICAgICAgICAgICAgICBPVVRDSEFSKDB4ZTAwMCArIDE4OCAqIChjIC0gMHhmMCkgKworICAgICAgICAgICAgICAgICAgICAoYzIgPCAweDgwID8gYzIgLSAweDQwIDogYzIgLSAweDQxKSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0dXJuIDE7CiAKLSAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICBORVhUX0lOKDIpOwogICAgIH0KIAogICAgIHJldHVybiAwOwpAQCAtMTQ2LDI1ICsxNDYsMjQgQEAKIAogRU5DT0RFUihldWNfamlzXzIwMDQpCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdWNzNF90IGMgPSBJTjE7CisgICAgd2hpbGUgKCppbnBvcyA8IGlubGVuKSB7CisgICAgICAgIFB5X1VDUzQgYyA9IElOQ0hBUjE7CiAgICAgICAgIERCQ0hBUiBjb2RlOwogICAgICAgICBQeV9zc2l6ZV90IGluc2l6ZTsKIAogICAgICAgICBpZiAoYyA8IDB4ODApIHsKLSAgICAgICAgICAgIFdSSVRFMShjKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMShjKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgREVDT0RFX1NVUlJPR0FURShjKQotICAgICAgICBpbnNpemUgPSBHRVRfSU5TSVpFKGMpOworICAgICAgICBpbnNpemUgPSAxOwogCiAgICAgICAgIGlmIChjIDw9IDB4RkZGRikgewogICAgICAgICAgICAgRU1VTEFURV9KSVNYMDIxM18yMDAwX0VOQ09ERV9CTVAoY29kZSwgYykKICAgICAgICAgICAgIGVsc2UgVFJZTUFQX0VOQyhqaXN4MDIxM19ibXAsIGNvZGUsIGMpIHsKICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSBNVUxUSUMpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGlubGVmdCA8IDIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlubGVuIC0gKmlucG9zIDwgMikgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdzICYgTUJFTkNfRkxVU0gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gZmluZF9wYWlyZW5jbWFwKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWNzMl90KWMsIDAsCkBAIC0xNzcsOCArMTc2LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTUJFUlJfVE9PRkVXOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCBjMiA9IElOQ0hBUjI7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gZmluZF9wYWlyZW5jbWFwKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1Y3MyX3QpYywgKCppbmJ1ZilbMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVjczJfdCljLCBjMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqaXN4MDIxM19wYWlyX2VuY21hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKSVNYMDIxM19FTkNQQUlSUyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSBEQkNJTlYpIHsKQEAgLTE5Niw4ICsxOTYsOCBAQAogICAgICAgICAgICAgZWxzZSBUUllNQVBfRU5DKGppc3hjb21tb24sIGNvZGUsIGMpOwogICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAweGZmNjEgJiYgYyA8PSAweGZmOWYpIHsKICAgICAgICAgICAgICAgICAvKiBKSVMgWCAwMjAxIGhhbGYtd2lkdGgga2F0YWthbmEgKi8KLSAgICAgICAgICAgICAgICBXUklURTIoMHg4ZSwgYyAtIDB4ZmVjMCkKLSAgICAgICAgICAgICAgICBORVhUKDEsIDIpCisgICAgICAgICAgICAgICAgV1JJVEVCWVRFMigweDhlLCBjIC0gMHhmZWMwKQorICAgICAgICAgICAgICAgIE5FWFQoMSwgMik7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChjID09IDB4ZmYzYykKQEAgLTIxOSwxMiArMjE5LDEyIEBACiAKICAgICAgICAgaWYgKGNvZGUgJiAweDgwMDApIHsKICAgICAgICAgICAgIC8qIENvZGVzZXQgMiAqLwotICAgICAgICAgICAgV1JJVEUzKDB4OGYsIGNvZGUgPj4gOCwgKGNvZGUgJiAweEZGKSB8IDB4ODApCi0gICAgICAgICAgICBORVhUKGluc2l6ZSwgMykKKyAgICAgICAgICAgIFdSSVRFQllURTMoMHg4ZiwgY29kZSA+PiA4LCAoY29kZSAmIDB4RkYpIHwgMHg4MCkKKyAgICAgICAgICAgIE5FWFQoaW5zaXplLCAzKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8qIENvZGVzZXQgMSAqLwotICAgICAgICAgICAgV1JJVEUyKChjb2RlID4+IDgpIHwgMHg4MCwgKGNvZGUgJiAweEZGKSB8IDB4ODApCi0gICAgICAgICAgICBORVhUKGluc2l6ZSwgMikKKyAgICAgICAgICAgIFdSSVRFQllURTIoKGNvZGUgPj4gOCkgfCAweDgwLCAoY29kZSAmIDB4RkYpIHwgMHg4MCkKKyAgICAgICAgICAgIE5FWFQoaW5zaXplLCAyKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMjM0LDE0ICsyMzQsMTIgQEAKIERFQ09ERVIoZXVjX2ppc18yMDA0KQogewogICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOMTsKLSAgICAgICAgdWNzNF90IGNvZGU7Ci0KLSAgICAgICAgUkVRVUlSRV9PVVRCVUYoMSkKKyAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU5CWVRFMTsKKyAgICAgICAgUHlfVUNTNCBjb2RlOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewotICAgICAgICAgICAgT1VUMShjKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgT1VUQ0hBUihjKTsKKyAgICAgICAgICAgIE5FWFRfSU4oMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCkBAIC0yNTAsMTAgKzI0OCwxMCBAQAogICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjMjsKIAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQotICAgICAgICAgICAgYzIgPSBJTjI7CisgICAgICAgICAgICBjMiA9IElOQllURTI7CiAgICAgICAgICAgICBpZiAoYzIgPj0gMHhhMSAmJiBjMiA8PSAweGRmKSB7Ci0gICAgICAgICAgICAgICAgT1VUMSgweGZlYzAgKyBjMikKLSAgICAgICAgICAgICAgICBORVhUKDIsIDEpCisgICAgICAgICAgICAgICAgT1VUQ0hBUigweGZlYzAgKyBjMik7CisgICAgICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKQEAgLTI2Miw0NiArMjYwLDQ2IEBACiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMyLCBjMzsKIAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigzKQotICAgICAgICAgICAgYzIgPSBJTjIgXiAweDgwOwotICAgICAgICAgICAgYzMgPSBJTjMgXiAweDgwOworICAgICAgICAgICAgYzIgPSBJTkJZVEUyIF4gMHg4MDsKKyAgICAgICAgICAgIGMzID0gSU5CWVRFMyBeIDB4ODA7CiAKICAgICAgICAgICAgIC8qIEpJUyBYIDAyMTMgUGxhbmUgMiBvciBKSVMgWCAwMjEyIChzZWUgTk9URVMpICovCi0gICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMigqKm91dGJ1ZiwgYzIsIGMzKQotICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzJfYm1wLCAqKm91dGJ1ZiwgYzIsIGMzKSA7Ci0gICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMl9lbXAsIGNvZGUsIGMyLCBjMykgewotICAgICAgICAgICAgICAgIFdSSVRFVUNTNChFTVBCQVNFIHwgY29kZSkKLSAgICAgICAgICAgICAgICBORVhUX0lOKDMpCisgICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMih3cml0ZXIsIGMyLCBjMykKKyAgICAgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIxM18yX2JtcCwgd3JpdGVyLCBjMiwgYzMpIDsKKyAgICAgICAgICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEzXzJfZW1wLCBjb2RlLCBjMiwgYzMpIHsKKyAgICAgICAgICAgICAgICBPVVRDSEFSKEVNUEJBU0UgfCBjb2RlKTsKKyAgICAgICAgICAgICAgICBORVhUX0lOKDMpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEyLCAqKm91dGJ1ZiwgYzIsIGMzKSA7CisgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTIsIHdyaXRlciwgYzIsIGMzKSA7CiAgICAgICAgICAgICBlbHNlIHJldHVybiAxOwotICAgICAgICAgICAgTkVYVCgzLCAxKQorICAgICAgICAgICAgTkVYVF9JTigzKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzI7CiAKICAgICAgICAgICAgIFJFUVVJUkVfSU5CVUYoMikKICAgICAgICAgICAgIGMgXj0gMHg4MDsKLSAgICAgICAgICAgIGMyID0gSU4yIF4gMHg4MDsKKyAgICAgICAgICAgIGMyID0gSU5CWVRFMiBeIDB4ODA7CiAKICAgICAgICAgICAgIC8qIEpJUyBYIDAyMTMgUGxhbmUgMSAqLwotICAgICAgICAgICAgRU1VTEFURV9KSVNYMDIxM18yMDAwX0RFQ09ERV9QTEFORTEoKipvdXRidWYsIGMsIGMyKQotICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAweDIxICYmIGMyID09IDB4NDApICoqb3V0YnVmID0gMHhmZjNjOwotICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAweDIyICYmIGMyID09IDB4MzIpICoqb3V0YnVmID0gMHhmZjVlOwotICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjA4LCAqKm91dGJ1ZiwgYywgYzIpOwotICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzFfYm1wLCAqKm91dGJ1ZiwgYywgYzIpOwotICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzFfZW1wLCBjb2RlLCBjLCBjMikgewotICAgICAgICAgICAgICAgIFdSSVRFVUNTNChFTVBCQVNFIHwgY29kZSkKLSAgICAgICAgICAgICAgICBORVhUX0lOKDIpCisgICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMSh3cml0ZXIsIGMsIGMyKQorICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAweDIxICYmIGMyID09IDB4NDApIE9VVENIQVIoMHhmZjNjKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gMHgyMiAmJiBjMiA9PSAweDMyKSBPVVRDSEFSKDB4ZmY1ZSk7CisgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMDgsIHdyaXRlciwgYywgYzIpOworICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzFfYm1wLCB3cml0ZXIsIGMsIGMyKTsKKyAgICAgICAgICAgIGVsc2UgVFJZTUFQX0RFQ19DSEFSKGppc3gwMjEzXzFfZW1wLCBjb2RlLCBjLCBjMikgeworICAgICAgICAgICAgICAgIE9VVENIQVIoRU1QQkFTRSB8IGNvZGUpOworICAgICAgICAgICAgICAgIE5FWFRfSU4oMik7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfcGFpciwgY29kZSwgYywgYzIpIHsKLSAgICAgICAgICAgICAgICBXUklURTIoY29kZSA+PiAxNiwgY29kZSAmIDB4ZmZmZikKLSAgICAgICAgICAgICAgICBORVhUKDIsIDIpCisgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIxM19wYWlyLCBjb2RlLCBjLCBjMikgeworICAgICAgICAgICAgICAgIE9VVENIQVIyKGNvZGUgPj4gMTYsIGNvZGUgJiAweGZmZmYpOworICAgICAgICAgICAgICAgIE5FWFRfSU4oMik7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHJldHVybiAxOwotICAgICAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMzE1LDM1ICszMTMsMzYgQEAKIAogRU5DT0RFUihldWNfanApCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gSU4xOworICAgIHdoaWxlICgqaW5wb3MgPCBpbmxlbikgeworICAgICAgICBQeV9VQ1M0IGMgPSBJTkNIQVIxOwogICAgICAgICBEQkNIQVIgY29kZTsKIAogICAgICAgICBpZiAoYyA8IDB4ODApIHsKLSAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhciljKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMSgodW5zaWduZWQgY2hhciljKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgVUNTNElOVkFMSUQoYykKKyAgICAgICAgaWYgKGMgPiAweEZGRkYpCisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBUUllNQVBfRU5DKGppc3hjb21tb24sIGNvZGUsIGMpOwogICAgICAgICBlbHNlIGlmIChjID49IDB4ZmY2MSAmJiBjIDw9IDB4ZmY5ZikgewogICAgICAgICAgICAgLyogSklTIFggMDIwMSBoYWxmLXdpZHRoIGthdGFrYW5hICovCi0gICAgICAgICAgICBXUklURTIoMHg4ZSwgYyAtIDB4ZmVjMCkKLSAgICAgICAgICAgIE5FWFQoMSwgMikKKyAgICAgICAgICAgIFdSSVRFQllURTIoMHg4ZSwgYyAtIDB4ZmVjMCkKKyAgICAgICAgICAgIE5FWFQoMSwgMik7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogI2lmbmRlZiBTVFJJQ1RfQlVJTEQKICAgICAgICAgZWxzZSBpZiAoYyA9PSAweGZmM2MpIC8qIEZVTEwtV0lEVEggUkVWRVJTRSBTT0xJRFVTICovCiAgICAgICAgICAgICBjb2RlID0gMHgyMTQwOwogICAgICAgICBlbHNlIGlmIChjID09IDB4YTUpIHsgLyogWUVOIFNJR04gKi8KLSAgICAgICAgICAgIFdSSVRFMSgweDVjKTsKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIFdSSVRFQllURTEoMHg1Yyk7CisgICAgICAgICAgICBORVhUKDEsIDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSAweDIwM2UpIHsgLyogT1ZFUkxJTkUgKi8KLSAgICAgICAgICAgIFdSSVRFMSgweDdlKTsKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIFdSSVRFQllURTEoMHg3ZSk7CisgICAgICAgICAgICBORVhUKDEsIDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICNlbmRpZgpAQCAtMzUyLDEyICszNTEsMTIgQEAKIAogICAgICAgICBpZiAoY29kZSAmIDB4ODAwMCkgewogICAgICAgICAgICAgLyogSklTIFggMDIxMiAqLwotICAgICAgICAgICAgV1JJVEUzKDB4OGYsIGNvZGUgPj4gOCwgKGNvZGUgJiAweEZGKSB8IDB4ODApCi0gICAgICAgICAgICBORVhUKDEsIDMpCisgICAgICAgICAgICBXUklURUJZVEUzKDB4OGYsIGNvZGUgPj4gOCwgKGNvZGUgJiAweEZGKSB8IDB4ODApCisgICAgICAgICAgICBORVhUKDEsIDMpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLyogSklTIFggMDIwOCAqLwotICAgICAgICAgICAgV1JJVEUyKChjb2RlID4+IDgpIHwgMHg4MCwgKGNvZGUgJiAweEZGKSB8IDB4ODApCi0gICAgICAgICAgICBORVhUKDEsIDIpCisgICAgICAgICAgICBXUklURUJZVEUyKChjb2RlID4+IDgpIHwgMHg4MCwgKGNvZGUgJiAweEZGKSB8IDB4ODApCisgICAgICAgICAgICBORVhUKDEsIDIpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0zNjcsMTMgKzM2NiwxMSBAQAogREVDT0RFUihldWNfanApCiB7CiAgICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU4xOwotCi0gICAgICAgIFJFUVVJUkVfT1VUQlVGKDEpCisgICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOQllURTE7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBPVVQxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTM4MiwxMCArMzc5LDEwIEBACiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMyOwogCiAgICAgICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCi0gICAgICAgICAgICBjMiA9IElOMjsKKyAgICAgICAgICAgIGMyID0gSU5CWVRFMjsKICAgICAgICAgICAgIGlmIChjMiA+PSAweGExICYmIGMyIDw9IDB4ZGYpIHsKLSAgICAgICAgICAgICAgICBPVVQxKDB4ZmVjMCArIGMyKQotICAgICAgICAgICAgICAgIE5FWFQoMiwgMSkKKyAgICAgICAgICAgICAgICBPVVRDSEFSKDB4ZmVjMCArIGMyKTsKKyAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJldHVybiAxOwpAQCAtMzk0LDExICszOTEsMTEgQEAKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzIsIGMzOwogCiAgICAgICAgICAgICBSRVFVSVJFX0lOQlVGKDMpCi0gICAgICAgICAgICBjMiA9IElOMjsKLSAgICAgICAgICAgIGMzID0gSU4zOworICAgICAgICAgICAgYzIgPSBJTkJZVEUyOworICAgICAgICAgICAgYzMgPSBJTkJZVEUzOwogICAgICAgICAgICAgLyogSklTIFggMDIxMiAqLwotICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIxMiwgKipvdXRidWYsIGMyIF4gMHg4MCwgYzMgXiAweDgwKSB7Ci0gICAgICAgICAgICAgICAgTkVYVCgzLCAxKQorICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIxMiwgd3JpdGVyLCBjMiBeIDB4ODAsIGMzIF4gMHg4MCkgeworICAgICAgICAgICAgICAgIE5FWFRfSU4oMyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CkBAIC00MDcsMTggKzQwNCwxOCBAQAogICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjMjsKIAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQotICAgICAgICAgICAgYzIgPSBJTjI7CisgICAgICAgICAgICBjMiA9IElOQllURTI7CiAgICAgICAgICAgICAvKiBKSVMgWCAwMjA4ICovCiAjaWZuZGVmIFNUUklDVF9CVUlMRAogICAgICAgICAgICAgaWYgKGMgPT0gMHhhMSAmJiBjMiA9PSAweGMwKQogICAgICAgICAgICAgICAgIC8qIEZVTEwtV0lEVEggUkVWRVJTRSBTT0xJRFVTICovCi0gICAgICAgICAgICAgICAgKipvdXRidWYgPSAweGZmM2M7CisgICAgICAgICAgICAgICAgT1VUQ0hBUigweGZmM2MpOwogICAgICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIwOCwgKipvdXRidWYsCisgICAgICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIwOCwgd3JpdGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYyBeIDB4ODAsIGMyIF4gMHg4MCkgOwogICAgICAgICAgICAgZWxzZSByZXR1cm4gMTsKLSAgICAgICAgICAgIE5FWFQoMiwgMSkKKyAgICAgICAgICAgIE5FWFRfSU4oMik7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTQzMiw4ICs0MjksOCBAQAogCiBFTkNPREVSKHNoaWZ0X2ppcykKIHsKLSAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICBQeV9VTklDT0RFIGMgPSBJTjE7CisgICAgd2hpbGUgKCppbnBvcyA8IGlubGVuKSB7CisgICAgICAgIFB5X1VDUzQgYyA9IElOQ0hBUjE7CiAgICAgICAgIERCQ0hBUiBjb2RlOwogICAgICAgICB1bnNpZ25lZCBjaGFyIGMxLCBjMjsKIApAQCAtNDQ1LDE0ICs0NDIsMTYgQEAKICAgICAgICAgZWxzZSBpZiAoYyA9PSAweDIwM2UpIGNvZGUgPSAweDdlOyAvKiBPVkVSTElORSAqLwogI2VuZGlmCiAgICAgICAgIGVsc2UgSklTWDAyMDFfS19FTkNPREUoYywgY29kZSkKLSAgICAgICAgZWxzZSBVQ1M0SU5WQUxJRChjKQotICAgICAgICBlbHNlIGNvZGUgPSBOT0NIQVI7CisgICAgICAgIGVsc2UgaWYgKGMgPiAweEZGRkYpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29kZSA9IE5PQ0hBUjsKIAogICAgICAgICBpZiAoY29kZSA8IDB4ODAgfHwgKGNvZGUgPj0gMHhhMSAmJiBjb2RlIDw9IDB4ZGYpKSB7CiAgICAgICAgICAgICBSRVFVSVJFX09VVEJVRigxKQogCi0gICAgICAgICAgICBPVVQxKCh1bnNpZ25lZCBjaGFyKWNvZGUpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRCWVRFMSgodW5zaWduZWQgY2hhciljb2RlKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTQ3NSw5ICs0NzQsOSBAQAogICAgICAgICBjMiA9IGNvZGUgJiAweGZmOwogICAgICAgICBjMiA9ICgoKGMxIC0gMHgyMSkgJiAxKSA/IDB4NWUgOiAwKSArIChjMiAtIDB4MjEpOwogICAgICAgICBjMSA9IChjMSAtIDB4MjEpID4+IDE7Ci0gICAgICAgIE9VVDEoYzEgPCAweDFmID8gYzEgKyAweDgxIDogYzEgKyAweGMxKQotICAgICAgICBPVVQyKGMyIDwgMHgzZiA/IGMyICsgMHg0MCA6IGMyICsgMHg0MSkKLSAgICAgICAgTkVYVCgxLCAyKQorICAgICAgICBPVVRCWVRFMShjMSA8IDB4MWYgPyBjMSArIDB4ODEgOiBjMSArIDB4YzEpCisgICAgICAgIE9VVEJZVEUyKGMyIDwgMHgzZiA/IGMyICsgMHg0MCA6IGMyICsgMHg0MSkKKyAgICAgICAgTkVYVCgxLCAyKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTQ4NiwyMSArNDg1LDE5IEBACiBERUNPREVSKHNoaWZ0X2ppcykKIHsKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTjE7Ci0KLSAgICAgICAgUkVRVUlSRV9PVVRCVUYoMSkKKyAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU5CWVRFMTsKIAogI2lmZGVmIFNUUklDVF9CVUlMRAotICAgICAgICBKSVNYMDIwMV9SX0RFQ09ERShjLCAqKm91dGJ1ZikKKyAgICAgICAgSklTWDAyMDFfUl9ERUNPREUoYywgd3JpdGVyKQogI2Vsc2UKLSAgICAgICAgaWYgKGMgPCAweDgwKSAqKm91dGJ1ZiA9IGM7CisgICAgICAgIGlmIChjIDwgMHg4MCkgT1VUQ0hBUihjKTsKICNlbmRpZgotICAgICAgICBlbHNlIEpJU1gwMjAxX0tfREVDT0RFKGMsICoqb3V0YnVmKQorICAgICAgICBlbHNlIEpJU1gwMjAxX0tfREVDT0RFKGMsIHdyaXRlcikKICAgICAgICAgZWxzZSBpZiAoKGMgPj0gMHg4MSAmJiBjIDw9IDB4OWYpIHx8IChjID49IDB4ZTAgJiYgYyA8PSAweGVhKSl7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMxLCBjMjsKIAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQotICAgICAgICAgICAgYzIgPSBJTjI7CisgICAgICAgICAgICBjMiA9IElOQllURTI7CiAgICAgICAgICAgICBpZiAoYzIgPCAweDQwIHx8IChjMiA+IDB4N2UgJiYgYzIgPCAweDgwKSB8fCBjMiA+IDB4ZmMpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAKQEAgLTUxMiwxMyArNTA5LDEzIEBACiAjaWZuZGVmIFNUUklDVF9CVUlMRAogICAgICAgICAgICAgaWYgKGMxID09IDB4MjEgJiYgYzIgPT0gMHg0MCkgewogICAgICAgICAgICAgICAgIC8qIEZVTEwtV0lEVEggUkVWRVJTRSBTT0xJRFVTICovCi0gICAgICAgICAgICAgICAgT1VUMSgweGZmM2MpCi0gICAgICAgICAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICAgICAgICAgIE9VVENIQVIoMHhmZjNjKTsKKyAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogI2VuZGlmCi0gICAgICAgICAgICBUUllNQVBfREVDKGppc3gwMjA4LCAqKm91dGJ1ZiwgYzEsIGMyKSB7Ci0gICAgICAgICAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIwOCwgd3JpdGVyLCBjMSwgYzIpIHsKKyAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQpAQCAtNTI3LDcgKzUyNCw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiAxOwogCi0gICAgICAgIE5FWFQoMSwgMSkgLyogSklTIFggMDIwMSAqLworICAgICAgICBORVhUX0lOKDEpOyAvKiBKSVMgWCAwMjAxICovCiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC01NDAsMzAgKzUzNywyOSBAQAogCiBFTkNPREVSKHNoaWZ0X2ppc18yMDA0KQogewotICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIHVjczRfdCBjID0gSU4xOworICAgIHdoaWxlICgqaW5wb3MgPCBpbmxlbikgeworICAgICAgICBQeV9VQ1M0IGMgPSBJTkNIQVIxOwogICAgICAgICBEQkNIQVIgY29kZSA9IE5PQ0hBUjsKICAgICAgICAgaW50IGMxLCBjMjsKICAgICAgICAgUHlfc3NpemVfdCBpbnNpemU7CiAKICAgICAgICAgSklTWDAyMDFfRU5DT0RFKGMsIGNvZGUpCi0gICAgICAgIGVsc2UgREVDT0RFX1NVUlJPR0FURShjKQogCiAgICAgICAgIGlmIChjb2RlIDwgMHg4MCB8fCAoY29kZSA+PSAweGExICYmIGNvZGUgPD0gMHhkZikpIHsKLSAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhciljb2RlKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMSgodW5zaWduZWQgY2hhciljb2RlKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgUkVRVUlSRV9PVVRCVUYoMikKLSAgICAgICAgaW5zaXplID0gR0VUX0lOU0laRShjKTsKKyAgICAgICAgaW5zaXplID0gMTsKIAogICAgICAgICBpZiAoY29kZSA9PSBOT0NIQVIpIHsKICAgICAgICAgICAgIGlmIChjIDw9IDB4ZmZmZikgewogICAgICAgICAgICAgICAgIEVNVUxBVEVfSklTWDAyMTNfMjAwMF9FTkNPREVfQk1QKGNvZGUsIGMpCiAgICAgICAgICAgICAgICAgZWxzZSBUUllNQVBfRU5DKGppc3gwMjEzX2JtcCwgY29kZSwgYykgewogICAgICAgICAgICAgICAgICAgICBpZiAoY29kZSA9PSBNVUxUSUMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpbmxlZnQgPCAyKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5sZW4gLSAqaW5wb3MgPCAyKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdzICYgTUJFTkNfRkxVU0gpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gZmluZF9wYWlyZW5jbWFwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWNzMl90KWMsIDAsCkBAIC01NzYsOCArNTcyLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE1CRVJSX1RPT0ZFVzsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgY2gyID0gSU5DSEFSMjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlID0gZmluZF9wYWlyZW5jbWFwKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWNzMl90KWMsIElOMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVjczJfdCljLCBjaDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqaXN4MDIxM19wYWlyX2VuY21hcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSklTWDAyMTNfRU5DUEFJUlMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb2RlID09IERCQ0lOVikgewpAQCAtNjIyLDEwICs2MTksMTAgQEAKIAogICAgICAgICBpZiAoYzEgJiAxKSBjMiArPSAweDVlOwogICAgICAgICBjMSA+Pj0gMTsKLSAgICAgICAgT1VUMShjMSArIChjMSA8IDB4MWYgPyAweDgxIDogMHhjMSkpCi0gICAgICAgIE9VVDIoYzIgKyAoYzIgPCAweDNmID8gMHg0MCA6IDB4NDEpKQorICAgICAgICBPVVRCWVRFMShjMSArIChjMSA8IDB4MWYgPyAweDgxIDogMHhjMSkpCisgICAgICAgIE9VVEJZVEUyKGMyICsgKGMyIDwgMHgzZiA/IDB4NDAgOiAweDQxKSkKIAotICAgICAgICBORVhUKGluc2l6ZSwgMikKKyAgICAgICAgTkVYVChpbnNpemUsIDIpOwogICAgIH0KIAogICAgIHJldHVybiAwOwpAQCAtNjM0LDE2ICs2MzEsMTUgQEAKIERFQ09ERVIoc2hpZnRfamlzXzIwMDQpCiB7CiAgICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU4xOworICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTkJZVEUxOwogCi0gICAgICAgIFJFUVVJUkVfT1VUQlVGKDEpCi0gICAgICAgIEpJU1gwMjAxX0RFQ09ERShjLCAqKm91dGJ1ZikKKyAgICAgICAgSklTWDAyMDFfREVDT0RFKGMsIHdyaXRlcikKICAgICAgICAgZWxzZSBpZiAoKGMgPj0gMHg4MSAmJiBjIDw9IDB4OWYpIHx8IChjID49IDB4ZTAgJiYgYyA8PSAweGZjKSl7CiAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGMxLCBjMjsKLSAgICAgICAgICAgIHVjczRfdCBjb2RlOworICAgICAgICAgICAgUHlfVUNTNCBjb2RlOwogCiAgICAgICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCi0gICAgICAgICAgICBjMiA9IElOMjsKKyAgICAgICAgICAgIGMyID0gSU5CWVRFMjsKICAgICAgICAgICAgIGlmIChjMiA8IDB4NDAgfHwgKGMyID4gMHg3ZSAmJiBjMiA8IDB4ODApIHx8IGMyID4gMHhmYykKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKIApAQCAtNjU0LDUwICs2NTAsNDcgQEAKIAogICAgICAgICAgICAgaWYgKGMxIDwgMHg1ZSkgeyAvKiBQbGFuZSAxICovCiAgICAgICAgICAgICAgICAgYzEgKz0gMHgyMTsKLSAgICAgICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMSgqKm91dGJ1ZiwKKyAgICAgICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMSh3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMxLCBjMikKLSAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMDgsICoqb3V0YnVmLCBjMSwgYzIpIHsKLSAgICAgICAgICAgICAgICAgICAgTkVYVF9PVVQoMSkKKyAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMDgsIHdyaXRlciwgYzEsIGMyKSB7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIxM18xX2JtcCwgKipvdXRidWYsCisgICAgICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzXzFfYm1wLCB3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMxLCBjMikgewotICAgICAgICAgICAgICAgICAgICBORVhUX09VVCgxKQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMV9lbXAsIGNvZGUsIGMxLCBjMikgewotICAgICAgICAgICAgICAgICAgICBXUklURVVDUzQoRU1QQkFTRSB8IGNvZGUpCisgICAgICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDX0NIQVIoamlzeDAyMTNfMV9lbXAsIGNvZGUsIGMxLCBjMikgeworICAgICAgICAgICAgICAgICAgICBPVVRDSEFSKEVNUEJBU0UgfCBjb2RlKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBUUllNQVBfREVDKGppc3gwMjEzX3BhaXIsIGNvZGUsIGMxLCBjMikgewotICAgICAgICAgICAgICAgICAgICBXUklURTIoY29kZSA+PiAxNiwgY29kZSAmIDB4ZmZmZikKLSAgICAgICAgICAgICAgICAgICAgTkVYVF9PVVQoMikKKyAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIxM19wYWlyLCBjb2RlLCBjMSwgYzIpIHsKKyAgICAgICAgICAgICAgICAgICAgT1VUQ0hBUjIoY29kZSA+PiAxNiwgY29kZSAmIDB4ZmZmZik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICAgICAgTkVYVF9JTigyKQorICAgICAgICAgICAgICAgIE5FWFRfSU4oMik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsgLyogUGxhbmUgMiAqLwogICAgICAgICAgICAgICAgIGlmIChjMSA+PSAweDY3KSBjMSArPSAweDA3OwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKGMxID49IDB4NjMgfHwgYzEgPT0gMHg1ZikgYzEgLT0gMHgzNzsKICAgICAgICAgICAgICAgICBlbHNlIGMxIC09IDB4M2Q7CiAKLSAgICAgICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMigqKm91dGJ1ZiwKKyAgICAgICAgICAgICAgICBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMih3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGMxLCBjMikKLSAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMl9ibXAsICoqb3V0YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjMSwgYzIpIDsKLSAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMl9lbXAsIGNvZGUsIGMxLCBjMikgewotICAgICAgICAgICAgICAgICAgICBXUklURVVDUzQoRU1QQkFTRSB8IGNvZGUpCi0gICAgICAgICAgICAgICAgICAgIE5FWFRfSU4oMikKKyAgICAgICAgICAgICAgICBlbHNlIFRSWU1BUF9ERUMoamlzeDAyMTNfMl9ibXAsIHdyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzEsIGMyKSB7CisgICAgICAgICAgICAgICAgfSBlbHNlIFRSWU1BUF9ERUNfQ0hBUihqaXN4MDIxM18yX2VtcCwgY29kZSwgYzEsIGMyKSB7CisgICAgICAgICAgICAgICAgICAgIE9VVENIQVIoRU1QQkFTRSB8IGNvZGUpOworICAgICAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgICAgICAgICBORVhUKDIsIDEpCisgICAgICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiAxOwogCi0gICAgICAgIE5FWFQoMSwgMSkgLyogSklTIFggMDIwMSAqLworICAgICAgICBORVhUX0lOKDEpOyAvKiBKSVMgWCAwMjAxICovCiAgICAgfQogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2tyLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2tyLmMKaW5kZXggZjU2OTdkZC4uMGMyMzA5ZCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19rci5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3Nfa3IuYwpAQCAtMzMsMTYgKzMzLDE4IEBACiAKIEVOQ09ERVIoZXVjX2tyKQogewotICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgYyA9IElOMTsKKyAgICB3aGlsZSAoKmlucG9zIDwgaW5sZW4pIHsKKyAgICAgICAgUHlfVUNTNCBjID0gSU5DSEFSMTsKICAgICAgICAgREJDSEFSIGNvZGU7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBXUklURTEoKHVuc2lnbmVkIGNoYXIpYykKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIFdSSVRFQllURTEoKHVuc2lnbmVkIGNoYXIpYykKKyAgICAgICAgICAgIE5FWFQoMSwgMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBVQ1M0SU5WQUxJRChjKQorCisgICAgICAgIGlmIChjID4gMHhGRkZGKQorICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgUkVRVUlSRV9PVVRCVUYoMikKICAgICAgICAgVFJZTUFQX0VOQyhjcDk0OSwgY29kZSwgYyk7CkBAIC01MCw5ICs1Miw5IEBACiAKICAgICAgICAgaWYgKChjb2RlICYgMHg4MDAwKSA9PSAwKSB7CiAgICAgICAgICAgICAvKiBLUyBYIDEwMDEgY29kZWQgY2hhcmFjdGVyICovCi0gICAgICAgICAgICBPVVQxKChjb2RlID4+IDgpIHwgMHg4MCkKLSAgICAgICAgICAgIE9VVDIoKGNvZGUgJiAweEZGKSB8IDB4ODApCi0gICAgICAgICAgICBORVhUKDEsIDIpCisgICAgICAgICAgICBPVVRCWVRFMSgoY29kZSA+PiA4KSB8IDB4ODApCisgICAgICAgICAgICBPVVRCWVRFMigoY29kZSAmIDB4RkYpIHwgMHg4MCkKKyAgICAgICAgICAgIE5FWFQoMSwgMik7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7ICAgICAgICAgIC8qIE1hcHBpbmcgaXMgZm91bmQgaW4gQ1A5NDkgZXh0ZW5zaW9uLAogICAgICAgICAgICAgICAgICAqIGJ1dCB3ZSBlbmNvZGUgaXQgaW4gS1MgWCAxMDAxOjE5OTggQW5uZXggMywKQEAgLTYxLDIzICs2MywyMyBAQAogICAgICAgICAgICAgUkVRVUlSRV9PVVRCVUYoOCkKIAogICAgICAgICAgICAgLyogc3lsbGFibGUgY29tcG9zaXRpb24gcHJlY2VkZW5jZSAqLwotICAgICAgICAgICAgT1VUMShFVUNLUl9KQU1PX0ZJUlNUQllURSkKLSAgICAgICAgICAgIE9VVDIoRVVDS1JfSkFNT19GSUxMRVIpCisgICAgICAgICAgICBPVVRCWVRFMShFVUNLUl9KQU1PX0ZJUlNUQllURSkKKyAgICAgICAgICAgIE9VVEJZVEUyKEVVQ0tSX0pBTU9fRklMTEVSKQogCiAgICAgICAgICAgICAvKiBBbGwgY29kZXBvaW50cyBpbiBDUDk0OSBleHRlbnNpb24gYXJlIGluIHVuaWNvZGUKICAgICAgICAgICAgICAqIEhhbmd1bCBTeWxsYWJsZSBhcmVhLiAqLwogICAgICAgICAgICAgYXNzZXJ0KDB4YWMwMCA8PSBjICYmIGMgPD0gMHhkN2EzKTsKICAgICAgICAgICAgIGMgLT0gMHhhYzAwOwogCi0gICAgICAgICAgICBPVVQzKEVVQ0tSX0pBTU9fRklSU1RCWVRFKQotICAgICAgICAgICAgT1VUNCh1MmNna19jaG9zZW9uZ1tjIC8gNTg4XSkKLSAgICAgICAgICAgIE5FWFRfT1VUKDQpCisgICAgICAgICAgICBPVVRCWVRFMyhFVUNLUl9KQU1PX0ZJUlNUQllURSkKKyAgICAgICAgICAgIE9VVEJZVEU0KHUyY2drX2Nob3Nlb25nW2MgLyA1ODhdKQorICAgICAgICAgICAgTkVYVF9PVVQoNCk7CiAKLSAgICAgICAgICAgIE9VVDEoRVVDS1JfSkFNT19GSVJTVEJZVEUpCi0gICAgICAgICAgICBPVVQyKHUyY2drX2p1bmdzZW9uZ1soYyAvIDI4KSAlIDIxXSkKLSAgICAgICAgICAgIE9VVDMoRVVDS1JfSkFNT19GSVJTVEJZVEUpCi0gICAgICAgICAgICBPVVQ0KHUyY2drX2pvbmdzZW9uZ1tjICUgMjhdKQotICAgICAgICAgICAgTkVYVCgxLCA0KQorICAgICAgICAgICAgT1VUQllURTEoRVVDS1JfSkFNT19GSVJTVEJZVEUpCisgICAgICAgICAgICBPVVRCWVRFMih1MmNna19qdW5nc2VvbmdbKGMgLyAyOCkgJSAyMV0pCisgICAgICAgICAgICBPVVRCWVRFMyhFVUNLUl9KQU1PX0ZJUlNUQllURSkKKyAgICAgICAgICAgIE9VVEJZVEU0KHUyY2drX2pvbmdzZW9uZ1tjICUgMjhdKQorICAgICAgICAgICAgTkVYVCgxLCA0KTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTAyLDIwICsxMDQsMTggQEAKIERFQ09ERVIoZXVjX2tyKQogewogICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOMTsKLQotICAgICAgICBSRVFVSVJFX09VVEJVRigxKQorICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTkJZVEUxOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewotICAgICAgICAgICAgT1VUMShjKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgT1VUQ0hBUihjKTsKKyAgICAgICAgICAgIE5FWFRfSU4oMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICAgIFJFUVVJUkVfSU5CVUYoMikKIAogICAgICAgICBpZiAoYyA9PSBFVUNLUl9KQU1PX0ZJUlNUQllURSAmJgotICAgICAgICAgICAgSU4yID09IEVVQ0tSX0pBTU9fRklMTEVSKSB7CisgICAgICAgICAgICBJTkJZVEUyID09IEVVQ0tSX0pBTU9fRklMTEVSKSB7CiAgICAgICAgICAgICAvKiBLUyBYIDEwMDE6MTk5OCBBbm5leCAzIG1ha2UtdXAgc2VxdWVuY2UgKi8KICAgICAgICAgICAgIERCQ0hBUiBjaG8sIGp1bmcsIGpvbmc7CiAKQEAgLTE0NSwxMSArMTQ1LDExIEBACiAgICAgICAgICAgICBpZiAoY2hvID09IE5PTkUgfHwganVuZyA9PSBOT05FIHx8IGpvbmcgPT0gTk9ORSkKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKIAotICAgICAgICAgICAgT1VUMSgweGFjMDAgKyBjaG8qNTg4ICsganVuZyoyOCArIGpvbmcpOwotICAgICAgICAgICAgTkVYVCg4LCAxKQorICAgICAgICAgICAgT1VUQ0hBUigweGFjMDAgKyBjaG8qNTg4ICsganVuZyoyOCArIGpvbmcpOworICAgICAgICAgICAgTkVYVF9JTig4KTsKICAgICAgICAgfQotICAgICAgICBlbHNlIFRSWU1BUF9ERUMoa3N4MTAwMSwgKipvdXRidWYsIGMgXiAweDgwLCBJTjIgXiAweDgwKSB7Ci0gICAgICAgICAgICBORVhUKDIsIDEpCisgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhrc3gxMDAxLCB3cml0ZXIsIGMgXiAweDgwLCBJTkJZVEUyIF4gMHg4MCkgeworICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gMTsKQEAgLTE2NiwyNyArMTY2LDI5IEBACiAKIEVOQ09ERVIoY3A5NDkpCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gSU4xOworICAgIHdoaWxlICgqaW5wb3MgPCBpbmxlbikgeworICAgICAgICBQeV9VQ1M0IGMgPSBJTkNIQVIxOwogICAgICAgICBEQkNIQVIgY29kZTsKIAogICAgICAgICBpZiAoYyA8IDB4ODApIHsKLSAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhciljKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMSgodW5zaWduZWQgY2hhciljKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIFVDUzRJTlZBTElEKGMpCisKKyAgICAgICAgaWYgKGMgPiAweEZGRkYpCisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBSRVFVSVJFX09VVEJVRigyKQogICAgICAgICBUUllNQVBfRU5DKGNwOTQ5LCBjb2RlLCBjKTsKICAgICAgICAgZWxzZSByZXR1cm4gMTsKIAotICAgICAgICBPVVQxKChjb2RlID4+IDgpIHwgMHg4MCkKKyAgICAgICAgT1VUQllURTEoKGNvZGUgPj4gOCkgfCAweDgwKQogICAgICAgICBpZiAoY29kZSAmIDB4ODAwMCkKLSAgICAgICAgICAgIE9VVDIoY29kZSAmIDB4RkYpIC8qIE1TQiBzZXQ6IENQOTQ5ICovCisgICAgICAgICAgICBPVVRCWVRFMihjb2RlICYgMHhGRikgLyogTVNCIHNldDogQ1A5NDkgKi8KICAgICAgICAgZWxzZQotICAgICAgICAgICAgT1VUMigoY29kZSAmIDB4RkYpIHwgMHg4MCkgLyogTVNCIHVuc2V0OiBrcyB4IDEwMDEgKi8KLSAgICAgICAgTkVYVCgxLCAyKQorICAgICAgICAgICAgT1VUQllURTIoKGNvZGUgJiAweEZGKSB8IDB4ODApIC8qIE1TQiB1bnNldDoga3MgeCAxMDAxICovCisgICAgICAgIE5FWFQoMSwgMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xOTUsMjIgKzE5NywyMCBAQAogREVDT0RFUihjcDk0OSkKIHsKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTjE7Ci0KLSAgICAgICAgUkVRVUlSRV9PVVRCVUYoMSkKKyAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU5CWVRFMTsKIAogICAgICAgICBpZiAoYyA8IDB4ODApIHsKLSAgICAgICAgICAgIE9VVDEoYykKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIE9VVENIQVIoYyk7CisgICAgICAgICAgICBORVhUX0lOKDEpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAogICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCi0gICAgICAgIFRSWU1BUF9ERUMoa3N4MTAwMSwgKipvdXRidWYsIGMgXiAweDgwLCBJTjIgXiAweDgwKTsKLSAgICAgICAgZWxzZSBUUllNQVBfREVDKGNwOTQ5ZXh0LCAqKm91dGJ1ZiwgYywgSU4yKTsKKyAgICAgICAgVFJZTUFQX0RFQyhrc3gxMDAxLCB3cml0ZXIsIGMgXiAweDgwLCBJTkJZVEUyIF4gMHg4MCk7CisgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhjcDk0OWV4dCwgd3JpdGVyLCBjLCBJTkJZVEUyKTsKICAgICAgICAgZWxzZSByZXR1cm4gMTsKIAotICAgICAgICBORVhUKDIsIDEpCisgICAgICAgIE5FWFRfSU4oMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0yNTAsMTYgKzI1MCwxOCBAQAogCiBFTkNPREVSKGpvaGFiKQogewotICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgYyA9IElOMTsKKyAgICB3aGlsZSAoKmlucG9zIDwgaW5sZW4pIHsKKyAgICAgICAgUHlfVUNTNCBjID0gSU5DSEFSMTsKICAgICAgICAgREJDSEFSIGNvZGU7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBXUklURTEoKHVuc2lnbmVkIGNoYXIpYykKLSAgICAgICAgICAgIE5FWFQoMSwgMSkKKyAgICAgICAgICAgIFdSSVRFQllURTEoKHVuc2lnbmVkIGNoYXIpYykKKyAgICAgICAgICAgIE5FWFQoMSwgMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBVQ1M0SU5WQUxJRChjKQorCisgICAgICAgIGlmIChjID4gMHhGRkZGKQorICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgUkVRVUlSRV9PVVRCVUYoMikKIApAQCAtMjg1LDkgKzI4Nyw5IEBACiAgICAgICAgICAgICAgICAgdDEgPSAoYzEgPCAweDRhID8gKGMxIC0gMHgyMSArIDB4MWIyKSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjMSAtIDB4MjEgKyAweDE5NykpOwogICAgICAgICAgICAgICAgIHQyID0gKCh0MSAmIDEpID8gMHg1ZSA6IDApICsgKGMyIC0gMHgyMSk7Ci0gICAgICAgICAgICAgICAgT1VUMSh0MSA+PiAxKQotICAgICAgICAgICAgICAgIE9VVDIodDIgPCAweDRlID8gdDIgKyAweDMxIDogdDIgKyAweDQzKQotICAgICAgICAgICAgICAgIE5FWFQoMSwgMikKKyAgICAgICAgICAgICAgICBPVVRCWVRFMSh0MSA+PiAxKQorICAgICAgICAgICAgICAgIE9VVEJZVEUyKHQyIDwgMHg0ZSA/IHQyICsgMHgzMSA6IHQyICsgMHg0MykKKyAgICAgICAgICAgICAgICBORVhUKDEsIDIpOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQpAQCAtMjk2LDkgKzI5OCw5IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVybiAxOwogCi0gICAgICAgIE9VVDEoY29kZSA+PiA4KQotICAgICAgICBPVVQyKGNvZGUgJiAweGZmKQotICAgICAgICBORVhUKDEsIDIpCisgICAgICAgIE9VVEJZVEUxKGNvZGUgPj4gOCkKKyAgICAgICAgT1VUQllURTIoY29kZSAmIDB4ZmYpCisgICAgICAgIE5FWFQoMSwgMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0zNDgsMTggKzM1MCwxNiBAQAogREVDT0RFUihqb2hhYikKIHsKICAgICB3aGlsZSAoaW5sZWZ0ID4gMCkgewotICAgICAgICB1bnNpZ25lZCBjaGFyICAgIGMgPSBJTjEsIGMyOwotCi0gICAgICAgIFJFUVVJUkVfT1VUQlVGKDEpCisgICAgICAgIHVuc2lnbmVkIGNoYXIgICAgYyA9IElOQllURTEsIGMyOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewotICAgICAgICAgICAgT1VUMShjKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgT1VUQ0hBUihjKTsKKyAgICAgICAgICAgIE5FWFRfSU4oMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICAgIFJFUVVJUkVfSU5CVUYoMikKLSAgICAgICAgYzIgPSBJTjI7CisgICAgICAgIGMyID0gSU5CWVRFMjsKIAogICAgICAgICBpZiAoYyA8IDB4ZDgpIHsKICAgICAgICAgICAgIC8qIGpvaGFiIGhhbmd1bCAqLwpAQCAtMzgxLDMzICszODEsMzMgQEAKICAgICAgICAgICAgIGlmIChpX2NobyA9PSBGSUxMKSB7CiAgICAgICAgICAgICAgICAgaWYgKGlfanVuZyA9PSBGSUxMKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChpX2pvbmcgPT0gRklMTCkKLSAgICAgICAgICAgICAgICAgICAgICAgIE9VVDEoMHgzMDAwKQorICAgICAgICAgICAgICAgICAgICAgICAgT1VUQ0hBUigweDMwMDApOwogICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBPVVQxKDB4MzEwMCB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGpvaGFiamFtb19qb25nc2VvbmdbY19qb25nXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIE9VVENIQVIoMHgzMTAwIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBqb2hhYmphbW9fam9uZ3Nlb25nW2Nfam9uZ10pOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlfam9uZyA9PSBGSUxMKQotICAgICAgICAgICAgICAgICAgICAgICAgT1VUMSgweDMxMDAgfAotICAgICAgICAgICAgICAgICAgICAgICAgICBqb2hhYmphbW9fanVuZ3Nlb25nW2NfanVuZ10pCisgICAgICAgICAgICAgICAgICAgICAgICBPVVRDSEFSKDB4MzEwMCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgam9oYWJqYW1vX2p1bmdzZW9uZ1tjX2p1bmddKTsKICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoaV9qdW5nID09IEZJTEwpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGlfam9uZyA9PSBGSUxMKQotICAgICAgICAgICAgICAgICAgICAgICAgT1VUMSgweDMxMDAgfAotICAgICAgICAgICAgICAgICAgICAgICAgICBqb2hhYmphbW9fY2hvc2VvbmdbY19jaG9dKQorICAgICAgICAgICAgICAgICAgICAgICAgT1VUQ0hBUigweDMxMDAgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvaGFiamFtb19jaG9zZW9uZ1tjX2Nob10pOwogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBPVVQxKDB4YWMwMCArCi0gICAgICAgICAgICAgICAgICAgICAgICAgaV9jaG8gKiA1ODggKwotICAgICAgICAgICAgICAgICAgICAgICAgIGlfanVuZyAqIDI4ICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAoaV9qb25nID09IEZJTEwgPyAwIDogaV9qb25nKSkKKyAgICAgICAgICAgICAgICAgICAgT1VUQ0hBUigweGFjMDAgKworICAgICAgICAgICAgICAgICAgICAgICAgaV9jaG8gKiA1ODggKworICAgICAgICAgICAgICAgICAgICAgICAgaV9qdW5nICogMjggKworICAgICAgICAgICAgICAgICAgICAgICAgKGlfam9uZyA9PSBGSUxMID8gMCA6IGlfam9uZykpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgTkVYVCgyLCAxKQorICAgICAgICAgICAgTkVYVF9JTigyKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8qIEtTIFggMTAwMSBleGNlcHQgaGFuZ3VsIGphbW9zIGFuZCBzeWxsYWJsZXMgKi8KICAgICAgICAgICAgIGlmIChjID09IDB4ZGYgfHwgYyA+IDB4ZjkgfHwKQEAgLTQyNCw5ICs0MjQsOSBAQAogICAgICAgICAgICAgICAgIHQxID0gdDEgKyAodDIgPCAweDVlID8gMCA6IDEpICsgMHgyMTsKICAgICAgICAgICAgICAgICB0MiA9ICh0MiA8IDB4NWUgPyB0MiA6IHQyIC0gMHg1ZSkgKyAweDIxOwogCi0gICAgICAgICAgICAgICAgVFJZTUFQX0RFQyhrc3gxMDAxLCAqKm91dGJ1ZiwgdDEsIHQyKTsKKyAgICAgICAgICAgICAgICBUUllNQVBfREVDKGtzeDEwMDEsIHdyaXRlciwgdDEsIHQyKTsKICAgICAgICAgICAgICAgICBlbHNlIHJldHVybiAxOwotICAgICAgICAgICAgICAgIE5FWFQoMiwgMSkKKyAgICAgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc190dy5jIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc190dy5jCmluZGV4IDkxNjI5OGQuLjgwZTBiODEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfdHcuYworKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX3R3LmMKQEAgLTEzLDI2ICsxMywyOCBAQAogCiBFTkNPREVSKGJpZzUpCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gKippbmJ1ZjsKKyAgICB3aGlsZSAoKmlucG9zIDwgaW5sZW4pIHsKKyAgICAgICAgUHlfVUNTNCBjID0gSU5DSEFSMTsKICAgICAgICAgREJDSEFSIGNvZGU7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7CiAgICAgICAgICAgICBSRVFVSVJFX09VVEJVRigxKQogICAgICAgICAgICAgKipvdXRidWYgPSAodW5zaWduZWQgY2hhciljOwotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIFVDUzRJTlZBTElEKGMpCisKKyAgICAgICAgaWYgKGMgPiAweEZGRkYpCisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBSRVFVSVJFX09VVEJVRigyKQogCiAgICAgICAgIFRSWU1BUF9FTkMoYmlnNSwgY29kZSwgYyk7CiAgICAgICAgIGVsc2UgcmV0dXJuIDE7CiAKLSAgICAgICAgT1VUMShjb2RlID4+IDgpCi0gICAgICAgIE9VVDIoY29kZSAmIDB4RkYpCi0gICAgICAgIE5FWFQoMSwgMikKKyAgICAgICAgT1VUQllURTEoY29kZSA+PiA4KQorICAgICAgICBPVVRCWVRFMihjb2RlICYgMHhGRikKKyAgICAgICAgTkVYVCgxLCAyKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTQxLDE5ICs0MywxNyBAQAogREVDT0RFUihiaWc1KQogewogICAgIHdoaWxlIChpbmxlZnQgPiAwKSB7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOMTsKLQotICAgICAgICBSRVFVSVJFX09VVEJVRigxKQorICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBJTkJZVEUxOwogCiAgICAgICAgIGlmIChjIDwgMHg4MCkgewotICAgICAgICAgICAgT1VUMShjKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgT1VUQ0hBUihjKTsKKyAgICAgICAgICAgIE5FWFRfSU4oMSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICAgIFJFUVVJUkVfSU5CVUYoMikKLSAgICAgICAgVFJZTUFQX0RFQyhiaWc1LCAqKm91dGJ1ZiwgYywgSU4yKSB7Ci0gICAgICAgICAgICBORVhUKDIsIDEpCisgICAgICAgIFRSWU1BUF9ERUMoYmlnNSwgd3JpdGVyLCBjLCBJTkJZVEUyKSB7CisgICAgICAgICAgICBORVhUX0lOKDIpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgcmV0dXJuIDE7CiAgICAgfQpAQCAtNjgsMjUgKzY4LDI3IEBACiAKIEVOQ09ERVIoY3A5NTApCiB7Ci0gICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gSU4xOworICAgIHdoaWxlICgqaW5wb3MgPCBpbmxlbikgeworICAgICAgICBQeV9VQ1M0IGMgPSBJTkNIQVIxOwogICAgICAgICBEQkNIQVIgY29kZTsKIAogICAgICAgICBpZiAoYyA8IDB4ODApIHsKLSAgICAgICAgICAgIFdSSVRFMSgodW5zaWduZWQgY2hhciljKQotICAgICAgICAgICAgTkVYVCgxLCAxKQorICAgICAgICAgICAgV1JJVEVCWVRFMSgodW5zaWduZWQgY2hhciljKQorICAgICAgICAgICAgTkVYVCgxLCAxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIFVDUzRJTlZBTElEKGMpCisKKyAgICAgICAgaWYgKGMgPiAweEZGRkYpCisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBSRVFVSVJFX09VVEJVRigyKQogICAgICAgICBUUllNQVBfRU5DKGNwOTUwZXh0LCBjb2RlLCBjKTsKICAgICAgICAgZWxzZSBUUllNQVBfRU5DKGJpZzUsIGNvZGUsIGMpOwogICAgICAgICBlbHNlIHJldHVybiAxOwogCi0gICAgICAgIE9VVDEoY29kZSA+PiA4KQotICAgICAgICBPVVQyKGNvZGUgJiAweEZGKQotICAgICAgICBORVhUKDEsIDIpCisgICAgICAgIE9VVEJZVEUxKGNvZGUgPj4gOCkKKyAgICAgICAgT1VUQllURTIoY29kZSAmIDB4RkYpCisgICAgICAgIE5FWFQoMSwgMik7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC05NSwyMyArOTcsMjEgQEAKIERFQ09ERVIoY3A5NTApCiB7CiAgICAgd2hpbGUgKGlubGVmdCA+IDApIHsKLSAgICAgICAgdW5zaWduZWQgY2hhciBjID0gSU4xOwotCi0gICAgICAgIFJFUVVJUkVfT1VUQlVGKDEpCisgICAgICAgIHVuc2lnbmVkIGNoYXIgYyA9IElOQllURTE7CiAKICAgICAgICAgaWYgKGMgPCAweDgwKSB7Ci0gICAgICAgICAgICBPVVQxKGMpCi0gICAgICAgICAgICBORVhUKDEsIDEpCisgICAgICAgICAgICBPVVRDSEFSKGMpOworICAgICAgICAgICAgTkVYVF9JTigxKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQogCi0gICAgICAgIFRSWU1BUF9ERUMoY3A5NTBleHQsICoqb3V0YnVmLCBjLCBJTjIpOwotICAgICAgICBlbHNlIFRSWU1BUF9ERUMoYmlnNSwgKipvdXRidWYsIGMsIElOMik7CisgICAgICAgIFRSWU1BUF9ERUMoY3A5NTBleHQsIHdyaXRlciwgYywgSU5CWVRFMik7CisgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhiaWc1LCB3cml0ZXIsIGMsIElOQllURTIpOwogICAgICAgICBlbHNlIHJldHVybiAxOwogCi0gICAgICAgIE5FWFQoMiwgMSkKKyAgICAgICAgTkVYVF9JTigyKTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL2FsZ19qaXN4MDIwMS5oIGIvTW9kdWxlcy9jamtjb2RlY3MvYWxnX2ppc3gwMjAxLmgKaW5kZXggMGJjN2RiNS4uOThjNjNlNiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvYWxnX2ppc3gwMjAxLmgKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvYWxnX2ppc3gwMjAxLmgKQEAgLTEwLDE1ICsxMCwyNCBAQAogICAgIEpJU1gwMjAxX1JfRU5DT0RFKGMsIGFzc2kpICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZWxzZSBKSVNYMDIwMV9LX0VOQ09ERShjLCBhc3NpKQogCi0jZGVmaW5lIEpJU1gwMjAxX1JfREVDT0RFKGMsIGFzc2kpICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgSklTWDAyMDFfUl9ERUNPREVfQ0hBUihjLCBhc3NpKSAgICAgICAgICAgICAgICAgXAogICAgIGlmICgoYykgPCAweDVjKSAoYXNzaSkgPSAoYyk7ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZWxzZSBpZiAoKGMpID09IDB4NWMpIChhc3NpKSA9IDB4MDBhNTsgICAgICAgICAgICAgIFwKICAgICBlbHNlIGlmICgoYykgPCAweDdlKSAoYXNzaSkgPSAoYyk7ICAgICAgICAgICAgICAgICAgXAogICAgIGVsc2UgaWYgKChjKSA9PSAweDdlKSAoYXNzaSkgPSAweDIwM2U7ICAgICAgICAgICAgICBcCiAgICAgZWxzZSBpZiAoKGMpID09IDB4N2YpIChhc3NpKSA9IDB4N2Y7Ci0jZGVmaW5lIEpJU1gwMjAxX0tfREVDT0RFKGMsIGFzc2kpICAgICAgICAgICAgICAgICAgICAgIFwKKyNkZWZpbmUgSklTWDAyMDFfUl9ERUNPREUoYywgd3JpdGVyKSAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmICgoYykgPCAweDVjKSBPVVRDSEFSKGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaWYgKChjKSA9PSAweDVjKSBPVVRDSEFSKDB4MDBhNSk7ICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaWYgKChjKSA8IDB4N2UpIE9VVENIQVIoYyk7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaWYgKChjKSA9PSAweDdlKSBPVVRDSEFSKDB4MjAzZSk7ICAgICAgICAgICAgICAgICAgXAorICAgIGVsc2UgaWYgKChjKSA9PSAweDdmKSBPVVRDSEFSKDB4N2YpOworI2RlZmluZSBKSVNYMDIwMV9LX0RFQ09ERShjLCB3cml0ZXIpICAgICAgICAgICAgICAgICAgICBcCiAgICAgaWYgKChjKSA+PSAweGExICYmIChjKSA8PSAweGRmKSAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAoYXNzaSkgPSAweGZlYzAgKyAoYyk7Ci0jZGVmaW5lIEpJU1gwMjAxX0RFQ09ERShjLCBhc3NpKSAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBKSVNYMDIwMV9SX0RFQ09ERShjLCBhc3NpKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGVsc2UgSklTWDAyMDFfS19ERUNPREUoYywgYXNzaSkKKyAgICAgICAgT1VUQ0hBUigweGZlYzAgKyAoYykpOworI2RlZmluZSBKSVNYMDIwMV9LX0RFQ09ERV9DSEFSKGMsIGFzc2kpICAgICAgICAgICAgICAgICBcCisgICAgaWYgKChjKSA+PSAweGExICYmIChjKSA8PSAweGRmKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKGFzc2kpID0gMHhmZWMwICsgKGMpOworI2RlZmluZSBKSVNYMDIwMV9ERUNPREUoYywgd3JpdGVyKSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgSklTWDAyMDFfUl9ERUNPREUoYywgd3JpdGVyKSAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBlbHNlIEpJU1gwMjAxX0tfREVDT0RFKGMsIHdyaXRlcikKZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL2Nqa2NvZGVjcy5oIGIvTW9kdWxlcy9jamtjb2RlY3MvY2prY29kZWNzLmgKaW5kZXggYWIwNjgyYS4uMThjYzAyZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvY2prY29kZWNzLmgKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvY2prY29kZWNzLmgKQEAgLTMzLDcgKzMzLDcgQEAKIHR5cGVkZWYgc3RydWN0IGRiY3NfaW5kZXggZGVjb2RlX21hcDsKIAogc3RydWN0IHdpZGVkYmNzX2luZGV4IHsKLSAgICBjb25zdCB1Y3M0X3QgKm1hcDsKKyAgICBjb25zdCBQeV9VQ1M0ICptYXA7CiAgICAgdW5zaWduZWQgY2hhciBib3R0b20sIHRvcDsKIH07CiB0eXBlZGVmIHN0cnVjdCB3aWRlZGJjc19pbmRleCB3aWRlZGVjb2RlX21hcDsKQEAgLTU2LDcgKzU2LDcgQEAKIH07CiAKIHN0cnVjdCBwYWlyX2VuY29kZW1hcCB7Ci0gICAgdWNzNF90IHVuaXNlcTsKKyAgICBQeV9VQ1M0IHVuaXNlcTsKICAgICBEQkNIQVIgY29kZTsKIH07CiAKQEAgLTcyLDcgKzcyLDggQEAKICNkZWZpbmUgRU5DT0RFUihlbmNvZGluZykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBzdGF0aWMgUHlfc3NpemVfdCBlbmNvZGluZyMjX2VuY29kZSggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLCBjb25zdCB2b2lkICpjb25maWcsICAgICAgICAgICAgICAgIFwKLSAgICAgICAgY29uc3QgUHlfVU5JQ09ERSAqKmluYnVmLCBQeV9zc2l6ZV90IGlubGVmdCwgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaW50IGtpbmQsIHZvaWQgKmRhdGEsICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFB5X3NzaXplX3QgKmlucG9zLCBQeV9zc2l6ZV90IGlubGVuLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIHVuc2lnbmVkIGNoYXIgKipvdXRidWYsIFB5X3NzaXplX3Qgb3V0bGVmdCwgaW50IGZsYWdzKQogI2RlZmluZSBFTkNPREVSX1JFU0VUKGVuY29kaW5nKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHN0YXRpYyBQeV9zc2l6ZV90IGVuY29kaW5nIyNfZW5jb2RlX3Jlc2V0KCAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtODYsMjggKzg3LDMwIEBACiAgICAgc3RhdGljIFB5X3NzaXplX3QgZW5jb2RpbmcjI19kZWNvZGUoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlICpzdGF0ZSwgY29uc3Qgdm9pZCAqY29uZmlnLCAgICAgICAgICAgICAgICBcCiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKippbmJ1ZiwgUHlfc3NpemVfdCBpbmxlZnQsICAgICAgICAgICAgICAgICBcCi0gICAgICAgIFB5X1VOSUNPREUgKipvdXRidWYsIFB5X3NzaXplX3Qgb3V0bGVmdCkKKyAgICAgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKQogI2RlZmluZSBERUNPREVSX1JFU0VUKGVuY29kaW5nKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHN0YXRpYyBQeV9zc2l6ZV90IGVuY29kaW5nIyNfZGVjb2RlX3Jlc2V0KCAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBNdWx0aWJ5dGVDb2RlY19TdGF0ZSAqc3RhdGUsIGNvbnN0IHZvaWQgKmNvbmZpZykKIAotI2lmIFB5X1VOSUNPREVfU0laRSA9PSA0Ci0jZGVmaW5lIFVDUzRJTlZBTElEKGNvZGUpICAgICAgIFwKLSAgICBpZiAoKGNvZGUpID4gMHhGRkZGKSAgICAgICAgXAotICAgIHJldHVybiAxOwotI2Vsc2UKLSNkZWZpbmUgVUNTNElOVkFMSUQoY29kZSkgICAgICAgXAotICAgIGlmICgwKSA7Ci0jZW5kaWYKLQogI2RlZmluZSBORVhUX0lOKGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICgqaW5idWYpICs9IChpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIChpbmxlZnQpIC09IChpKTsKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKCppbmJ1ZikgKz0gKGkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKGlubGVmdCkgLT0gKGkpOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorI2RlZmluZSBORVhUX0lOQ0hBUihpKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAoKmlucG9zKSArPSAoaSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDApCiAjZGVmaW5lIE5FWFRfT1VUKG8pICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKCpvdXRidWYpICs9IChvKTsgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgKG91dGxlZnQpIC09IChvKTsKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKCpvdXRidWYpICs9IChvKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgKG91dGxlZnQpIC09IChvKTsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQogI2RlZmluZSBORVhUKGksIG8pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIE5FWFRfSU4oaSkgTkVYVF9PVVQobykKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgTkVYVF9JTkNIQVIoaSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBORVhUX09VVChvKTsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKIAogI2RlZmluZSBSRVFVSVJFX0lOQlVGKG4pICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmIChpbmxlZnQgPCAobikpICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTE2LDQ4ICsxMTksNTUgQEAKICAgICBpZiAob3V0bGVmdCA8IChuKSkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIE1CRVJSX1RPT1NNQUxMOwogCi0jZGVmaW5lIElOMSAoKCppbmJ1ZilbMF0pCi0jZGVmaW5lIElOMiAoKCppbmJ1ZilbMV0pCi0jZGVmaW5lIElOMyAoKCppbmJ1ZilbMl0pCi0jZGVmaW5lIElONCAoKCppbmJ1ZilbM10pCisjZGVmaW5lIElOQllURTEgKCgqaW5idWYpWzBdKQorI2RlZmluZSBJTkJZVEUyICgoKmluYnVmKVsxXSkKKyNkZWZpbmUgSU5CWVRFMyAoKCppbmJ1ZilbMl0pCisjZGVmaW5lIElOQllURTQgKCgqaW5idWYpWzNdKQogCi0jZGVmaW5lIE9VVDEoYykgKCgqb3V0YnVmKVswXSkgPSAoYyk7Ci0jZGVmaW5lIE9VVDIoYykgKCgqb3V0YnVmKVsxXSkgPSAoYyk7Ci0jZGVmaW5lIE9VVDMoYykgKCgqb3V0YnVmKVsyXSkgPSAoYyk7Ci0jZGVmaW5lIE9VVDQoYykgKCgqb3V0YnVmKVszXSkgPSAoYyk7CisjZGVmaW5lIElOQ0hBUjEgUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgKmlucG9zKQorI2RlZmluZSBJTkNIQVIyIFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsICppbnBvcyArIDEpCiAKLSNkZWZpbmUgV1JJVEUxKGMxKSAgICAgICAgICAgICAgXAorI2RlZmluZSBPVVRDSEFSKGMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXIod3JpdGVyLCAoYykpIDwgMCkgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgcmV0dXJuIE1CRVJSX1RPT1NNQUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDApCisKKyNkZWZpbmUgT1VUQ0hBUjIoYzEsIGMyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgUHlfVUNTNCBfYzEgPSAoYzEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgUHlfVUNTNCBfYzIgPSAoYzIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSh3cml0ZXIsIDIsIFB5X01BWChfYzEsIGMyKSkgPCAwKSAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiBNQkVSUl9UT09TTUFMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCB3cml0ZXItPnBvcywgX2MxKTsgICAgIFwKKyAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCB3cml0ZXItPnBvcyArIDEsIF9jMik7IFwKKyAgICAgICAgd3JpdGVyLT5wb3MgKz0gMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCisjZGVmaW5lIE9VVEJZVEUxKGMpICgoKm91dGJ1ZilbMF0pID0gKGMpOworI2RlZmluZSBPVVRCWVRFMihjKSAoKCpvdXRidWYpWzFdKSA9IChjKTsKKyNkZWZpbmUgT1VUQllURTMoYykgKCgqb3V0YnVmKVsyXSkgPSAoYyk7CisjZGVmaW5lIE9VVEJZVEU0KGMpICgoKm91dGJ1ZilbM10pID0gKGMpOworCisjZGVmaW5lIFdSSVRFQllURTEoYzEpICAgICAgICAgICAgICBcCiAgICAgUkVRVUlSRV9PVVRCVUYoMSkgICAgICAgICAgIFwKICAgICAoKm91dGJ1ZilbMF0gPSAoYzEpOwotI2RlZmluZSBXUklURTIoYzEsIGMyKSAgICAgICAgICBcCisjZGVmaW5lIFdSSVRFQllURTIoYzEsIGMyKSAgICAgICAgICBcCiAgICAgUkVRVUlSRV9PVVRCVUYoMikgICAgICAgICAgIFwKICAgICAoKm91dGJ1ZilbMF0gPSAoYzEpOyAgICAgICAgXAogICAgICgqb3V0YnVmKVsxXSA9IChjMik7Ci0jZGVmaW5lIFdSSVRFMyhjMSwgYzIsIGMzKSAgICAgIFwKKyNkZWZpbmUgV1JJVEVCWVRFMyhjMSwgYzIsIGMzKSAgICAgIFwKICAgICBSRVFVSVJFX09VVEJVRigzKSAgICAgICAgICAgXAogICAgICgqb3V0YnVmKVswXSA9IChjMSk7ICAgICAgICBcCiAgICAgKCpvdXRidWYpWzFdID0gKGMyKTsgICAgICAgIFwKICAgICAoKm91dGJ1ZilbMl0gPSAoYzMpOwotI2RlZmluZSBXUklURTQoYzEsIGMyLCBjMywgYzQpICBcCisjZGVmaW5lIFdSSVRFQllURTQoYzEsIGMyLCBjMywgYzQpICBcCiAgICAgUkVRVUlSRV9PVVRCVUYoNCkgICAgICAgICAgIFwKICAgICAoKm91dGJ1ZilbMF0gPSAoYzEpOyAgICAgICAgXAogICAgICgqb3V0YnVmKVsxXSA9IChjMik7ICAgICAgICBcCiAgICAgKCpvdXRidWYpWzJdID0gKGMzKTsgICAgICAgIFwKICAgICAoKm91dGJ1ZilbM10gPSAoYzQpOwogCi0jaWYgUHlfVU5JQ09ERV9TSVpFID09IDIKLSMgZGVmaW5lIFdSSVRFVUNTNChjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgUkVRVUlSRV9PVVRCVUYoMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICgqb3V0YnVmKVswXSA9IDB4ZDgwMCArICgoKGMpIC0gMHgxMDAwMCkgPj4gMTApOyAgICAgICAgICAgIFwKLSAgICAoKm91dGJ1ZilbMV0gPSAweGRjMDAgKyAoKChjKSAtIDB4MTAwMDApICYgMHgzZmYpOyAgICAgICAgICBcCi0gICAgTkVYVF9PVVQoMikKLSNlbHNlCi0jIGRlZmluZSBXUklURVVDUzQoYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIFJFUVVJUkVfT1VUQlVGKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAqKm91dGJ1ZiA9IChQeV9VTklDT0RFKShjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgTkVYVF9PVVQoMSkKLSNlbmRpZgotCiAjZGVmaW5lIF9UUllNQVBfRU5DKG0sIGFzc2ksIHZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICgobSktPm1hcCAhPSBOVUxMICYmICh2YWwpID49IChtKS0+Ym90dG9tICYmICAgICAgICAgICAgICAgIFwKICAgICAgICAgKHZhbCk8PSAobSktPnRvcCAmJiAoKGFzc2kpID0gKG0pLT5tYXBbKHZhbCkgLSAgICAgICAgICBcCkBAIC0xNjcsMzkgKzE3Nyw0MSBAQAogI2RlZmluZSBUUllNQVBfRU5DKGNoYXJzZXQsIGFzc2ksIHVuaSkgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBpZiBUUllNQVBfRU5DX0NPTkQoY2hhcnNldCwgYXNzaSwgdW5pKQogCi0jZGVmaW5lIF9UUllNQVBfREVDKG0sIGFzc2ksIHZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICgobSktPm1hcCAhPSBOVUxMICYmICh2YWwpID49IChtKS0+Ym90dG9tICYmICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKHZhbCk8PSAobSktPnRvcCAmJiAoKGFzc2kpID0gKG0pLT5tYXBbKHZhbCkgLSAgICAgICAgICBcCi0gICAgICAgIChtKS0+Ym90dG9tXSkgIT0gVU5JSU5WKQotI2RlZmluZSBUUllNQVBfREVDKGNoYXJzZXQsIGFzc2ksIGMxLCBjMikgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBpZiBfVFJZTUFQX0RFQygmY2hhcnNldCMjX2RlY21hcFtjMV0sIGFzc2ksIGMyKQorUHlfTE9DQUxfSU5MSU5FKGludCkKK19UUllNQVBfREVDX1dSSVRFKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwgUHlfVUNTNCBjKQoreworICAgIGlmIChjID09IFVOSUlOViB8fCBfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcih3cml0ZXIsIGMpIDwgMCkKKyAgICAgICAgcmV0dXJuIFVOSUlOVjsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBjOworfQogCi0jZGVmaW5lIF9UUllNQVBfRU5DX01QTEFORShtLCBhc3NwbGFuZSwgYXNzaGksIGFzc2xvLCB2YWwpICAgICAgXAotICAgICgobSktPm1hcCAhPSBOVUxMICYmICh2YWwpID49IChtKS0+Ym90dG9tICYmICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKHZhbCk8PSAobSktPnRvcCAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICgoYXNzcGxhbmUpID0gKG0pLT5tYXBbKCh2YWwpIC0gKG0pLT5ib3R0b20pKjNdKSAhPSAwICYmIFwKKyNkZWZpbmUgX1RSWU1BUF9ERUMobSwgd3JpdGVyLCB2YWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKChtKS0+bWFwICE9IE5VTEwgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAodmFsKSA+PSAobSktPmJvdHRvbSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKHZhbCk8PSAobSktPnRvcCAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIF9UUllNQVBfREVDX1dSSVRFKHdyaXRlciwgKG0pLT5tYXBbKHZhbCkgLSAobSktPmJvdHRvbV0pICE9IFVOSUlOVikKKyNkZWZpbmUgX1RSWU1BUF9ERUNfQ0hBUihtLCBhc3NpLCB2YWwpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKChtKS0+bWFwICE9IE5VTEwgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAodmFsKSA+PSAobSktPmJvdHRvbSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKHZhbCk8PSAobSktPnRvcCAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICgoYXNzaSkgPSAobSktPm1hcFsodmFsKSAtIChtKS0+Ym90dG9tXSkgIT0gVU5JSU5WKQorI2RlZmluZSBUUllNQVBfREVDKGNoYXJzZXQsIHdyaXRlciwgYzEsIGMyKSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBpZiBfVFJZTUFQX0RFQygmY2hhcnNldCMjX2RlY21hcFtjMV0sIHdyaXRlciwgYzIpCisjZGVmaW5lIFRSWU1BUF9ERUNfQ0hBUihjaGFyc2V0LCBhc3NpLCBjMSwgYzIpICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIF9UUllNQVBfREVDX0NIQVIoJmNoYXJzZXQjI19kZWNtYXBbYzFdLCBhc3NpLCBjMikKKworI2RlZmluZSBfVFJZTUFQX0VOQ19NUExBTkUobSwgYXNzcGxhbmUsIGFzc2hpLCBhc3NsbywgdmFsKSAgICAgICAgXAorICAgICgobSktPm1hcCAhPSBOVUxMICYmICh2YWwpID49IChtKS0+Ym90dG9tICYmICAgICAgICAgICAgICAgICAgXAorICAgICAgICAodmFsKTw9IChtKS0+dG9wICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAoKGFzc3BsYW5lKSA9IChtKS0+bWFwWygodmFsKSAtIChtKS0+Ym90dG9tKSozXSkgIT0gMCAmJiAgXAogICAgICAgICAoKChhc3NoaSkgPSAobSktPm1hcFsoKHZhbCkgLSAobSktPmJvdHRvbSkqMyArIDFdKSwgMSkgJiYgXAogICAgICAgICAoKChhc3NsbykgPSAobSktPm1hcFsoKHZhbCkgLSAobSktPmJvdHRvbSkqMyArIDJdKSwgMSkpCiAjZGVmaW5lIFRSWU1BUF9FTkNfTVBMQU5FKGNoYXJzZXQsIGFzc3BsYW5lLCBhc3NoaSwgYXNzbG8sIHVuaSkgXAogICAgIGlmIF9UUllNQVBfRU5DX01QTEFORSgmY2hhcnNldCMjX2VuY21hcFsodW5pKSA+PiA4XSwgXAogICAgICAgICAgICAgICAgICAgICAgICBhc3NwbGFuZSwgYXNzaGksIGFzc2xvLCAodW5pKSAmIDB4ZmYpCi0jZGVmaW5lIFRSWU1BUF9ERUNfTVBMQU5FKGNoYXJzZXQsIGFzc2ksIHBsYW5lLCBjMSwgYzIpICAgICAgICAgXAotICAgIGlmIF9UUllNQVBfREVDKCZjaGFyc2V0IyNfZGVjbWFwW3BsYW5lXVtjMV0sIGFzc2ksIGMyKQotCi0jaWYgUHlfVU5JQ09ERV9TSVpFID09IDIKLSNkZWZpbmUgREVDT0RFX1NVUlJPR0FURShjKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgaWYgKGMgPj4gMTAgPT0gMHhkODAwID4+IDEwKSB7IC8qIGhpZ2ggc3Vycm9nYXRlICovICAgICAgICAgXAotICAgICAgICBSRVFVSVJFX0lOQlVGKDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgaWYgKElOMiA+PiAxMCA9PSAweGRjMDAgPj4gMTApIHsgLyogbG93IHN1cnJvZ2F0ZSAqLyBcCi0gICAgICAgICAgICBjID0gMHgxMDAwMCArICgodWNzNF90KShjIC0gMHhkODAwKSA8PCAxMCkgKyBcCi0gICAgICAgICAgICAoKHVjczRfdCkoSU4yKSAtIDB4ZGMwMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICB9Ci0jZGVmaW5lIEdFVF9JTlNJWkUoYykgICAoKGMpID4gMHhmZmZmID8gMiA6IDEpCi0jZWxzZQotI2RlZmluZSBERUNPREVfU1VSUk9HQVRFKGMpIHs7fQotI2RlZmluZSBHRVRfSU5TSVpFKGMpICAgMQotI2VuZGlmCisjZGVmaW5lIFRSWU1BUF9ERUNfTVBMQU5FKGNoYXJzZXQsIHdyaXRlciwgcGxhbmUsIGMxLCBjMikgICAgICAgICBcCisgICAgaWYgX1RSWU1BUF9ERUMoJmNoYXJzZXQjI19kZWNtYXBbcGxhbmVdW2MxXSwgd3JpdGVyLCBjMikKIAogI2RlZmluZSBCRUdJTl9NQVBQSU5HU19MSVNUIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZGJjc19tYXAgX21hcHBpbmdfbGlzdFtdID0gewogI2RlZmluZSBNQVBQSU5HX0VOQ09OTFkoZW5jKSB7I2VuYywgKHZvaWQqKWVuYyMjX2VuY21hcCwgTlVMTH0sCkBAIC0zMjQsNyArMzM2LDcgQEAKICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcGFpcl9lbmNvZGVtYXAgKmhheXN0YWNrLCBpbnQgaGF5c3RhY2tzaXplKQogewogICAgIGludCBwb3MsIG1pbiwgbWF4OwotICAgIHVjczRfdCB2YWx1ZSA9IGJvZHkgPDwgMTYgfCBtb2RpZmllcjsKKyAgICBQeV9VQ1M0IHZhbHVlID0gYm9keSA8PCAxNiB8IG1vZGlmaWVyOwogCiAgICAgbWluID0gMDsKICAgICBtYXggPSBoYXlzdGFja3NpemU7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9lbXVfamlzeDAyMTNfMjAwMC5oIGIvTW9kdWxlcy9jamtjb2RlY3MvZW11X2ppc3gwMjEzXzIwMDAuaAppbmRleCA0MjI3ZmIyLi44NzczMzdlIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Nqa2NvZGVjcy9lbXVfamlzeDAyMTNfMjAwMC5oCisrKyBiL01vZHVsZXMvY2prY29kZWNzL2VtdV9qaXN4MDIxM18yMDAwLmgKQEAgLTM4LDYgKzM4LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICgoYzEpID09IDB4N0UgJiYgKGMyKSA9PSAweDdFKSkpICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIEVNVUxBVEVfSklTWDAyMTNfMjAwMF9ERUNPREVfSU5WQUxJRDsKIAotI2RlZmluZSBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMihhc3NpLCBjMSwgYzIpICAgICAgICAgICAgICAgXAorI2RlZmluZSBFTVVMQVRFX0pJU1gwMjEzXzIwMDBfREVDT0RFX1BMQU5FMih3cml0ZXIsIGMxLCBjMikgICAgICAgICAgICAgICBcCisgICAgaWYgKGNvbmZpZyA9PSAodm9pZCAqKTIwMDAgJiYgKGMxKSA9PSAweDdEICYmIChjMikgPT0gMHgzQikgICAgICAgICBcCisgICAgICAgIE9VVENIQVIoMHg5QjFEKTsKKyNkZWZpbmUgRU1VTEFURV9KSVNYMDIxM18yMDAwX0RFQ09ERV9QTEFORTJfQ0hBUihhc3NpLCBjMSwgYzIpICAgICAgICAgICAgICAgXAogICAgIGlmIChjb25maWcgPT0gKHZvaWQgKikyMDAwICYmIChjMSkgPT0gMHg3RCAmJiAoYzIpID09IDB4M0IpICAgICAgICAgXAogICAgICAgICAoYXNzaSkgPSAweDlCMUQ7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9tYXBwaW5nc19jbi5oIGIvTW9kdWxlcy9jamtjb2RlY3MvbWFwcGluZ3NfY24uaAppbmRleCBhNmRjZWJmLi4xZjhjMjk5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Nqa2NvZGVjcy9tYXBwaW5nc19jbi5oCisrKyBiL01vZHVsZXMvY2prY29kZWNzL21hcHBpbmdzX2NuLmgKQEAgLTQwNDksNyArNDA0OSw3IEBACiAKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBfZ2IxODAzMF90b191bmlibXBfcmFuZ2VzIHsKLSAgICBQeV9VTklDT0RFICAgZmlyc3QsIGxhc3Q7CisgICAgUHlfVUNTNCAgIGZpcnN0LCBsYXN0OwogICAgIERCQ0hBUiAgICAgICBiYXNlOwogfSBnYjE4MDMwX3RvX3VuaWJtcF9yYW5nZXNbXSA9IHsKIHsxMjgsMTYzLDB9LHsxNjUsMTY2LDM2fSx7MTY5LDE3NSwzOH0sezE3OCwxODIsNDV9LHsxODQsMjE0LDUwfSx7MjE2LDIyMyw4MX0sewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvbWFwcGluZ3NfamlzeDAyMTNfcGFpci5oIGIvTW9kdWxlcy9jamtjb2RlY3MvbWFwcGluZ3NfamlzeDAyMTNfcGFpci5oCmluZGV4IGVkYThlOWUuLjcyOWU0YmMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL21hcHBpbmdzX2ppc3gwMjEzX3BhaXIuaAorKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9tYXBwaW5nc19qaXN4MDIxM19wYWlyLmgKQEAgLTMsNyArMyw3IEBACiBzdGF0aWMgY29uc3Qgc3RydWN0IHdpZGVkYmNzX2luZGV4ICpqaXN4MDIxM19wYWlyX2RlY21hcDsKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFpcl9lbmNvZGVtYXAgKmppc3gwMjEzX3BhaXJfZW5jbWFwOwogI2Vsc2UKLXN0YXRpYyBjb25zdCB1Y3M0X3QgX19qaXN4MDIxM19wYWlyX2RlY21hcFs0OV0gPSB7CitzdGF0aWMgY29uc3QgUHlfVUNTNCBfX2ppc3gwMjEzX3BhaXJfZGVjbWFwWzQ5XSA9IHsKIDgxMDIzNDAxMCw4MTAzNjUwODIsODEwNDk2MTU0LDgxMDYyNzIyNiw4MTA3NTgyOTgsODE2NTI1NDY2LDgxNjY1NjUzOCwKIDgxNjc4NzYxMCw4MTY5MTg2ODIsODE3MDQ5NzU0LDgxNzU3NDA0Miw4MTgxNjM4NjYsODE4NDI2MDEwLDgzODI4MzQxOCwKIDE1MDc0MDQ4LFUsVSxVLDM5MDYwMjI0LDM5MDYwMjI1LDQyNzMwMjQwLDQyNzMwMjQxLDM5Mzg3OTA0LDM5Mzg3OTA1LDM5NDUzNDQwLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYyBiL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmMKaW5kZXggYzAzMmNkYi4uMzNiZDc3OSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYworKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5jCkBAIC0xMCwxNSArMTAsMTYgQEAKICNpbmNsdWRlICJtdWx0aWJ5dGVjb2RlYy5oIgogCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgY29uc3QgUHlfVU5JQ09ERSAgICAqaW5idWYsICppbmJ1Zl90b3AsICppbmJ1Zl9lbmQ7CisgICAgUHlPYmplY3QgICAgICAgICAgICAqaW5vYmo7CisgICAgUHlfc3NpemVfdCAgICAgICAgICBpbnBvcywgaW5sZW47CiAgICAgdW5zaWduZWQgY2hhciAgICAgICAqb3V0YnVmLCAqb3V0YnVmX2VuZDsKICAgICBQeU9iamVjdCAgICAgICAgICAgICpleGNvYmosICpvdXRvYmo7CiB9IE11bHRpYnl0ZUVuY29kZUJ1ZmZlcjsKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmluYnVmLCAqaW5idWZfdG9wLCAqaW5idWZfZW5kOwotICAgIFB5X1VOSUNPREUgICAgICAgICAgKm91dGJ1ZiwgKm91dGJ1Zl9lbmQ7Ci0gICAgUHlPYmplY3QgICAgICAgICAgICAqZXhjb2JqLCAqb3V0b2JqOworICAgIFB5T2JqZWN0ICAgICAgICAgICAgKmV4Y29iajsKKyAgICBfUHlVbmljb2RlV3JpdGVyICAgIHdyaXRlcjsKIH0gTXVsdGlieXRlRGVjb2RlQnVmZmVyOwogCiBQeURvY19TVFJWQVIoTXVsdGlieXRlQ29kZWNfRW5jb2RlX19kb2NfXywKQEAgLTQ1LDcgKzQ2LDcgQEAKIHN0YXRpYyBjaGFyICpzdHJlYW1rd2FyZ2xpc3RbXSA9IHsic3RyZWFtIiwgImVycm9ycyIsIE5VTEx9OwogCiBzdGF0aWMgUHlPYmplY3QgKm11bHRpYnl0ZWNvZGVjX2VuY29kZShNdWx0aWJ5dGVDb2RlYyAqLAotICAgICAgICAgICAgICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlICosIGNvbnN0IFB5X1VOSUNPREUgKiosIFB5X3NzaXplX3QsCisgICAgICAgICAgICAgICAgTXVsdGlieXRlQ29kZWNfU3RhdGUgKiwgUHlPYmplY3QgKiwgUHlfc3NpemVfdCAqLAogICAgICAgICAgICAgICAgIFB5T2JqZWN0ICosIGludCk7CiAKICNkZWZpbmUgTUJFTkNfUkVTRVQgICAgIE1CRU5DX01BWDw8MSAvKiByZXNldCBhZnRlciBhbiBlbmNvZGluZyBzZXNzaW9uICovCkBAIC0xOTcsMjkgKzE5OCw2IEBACiAgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiB9CiAKLXN0YXRpYyBpbnQKLWV4cGFuZF9kZWNvZGVidWZmZXIoTXVsdGlieXRlRGVjb2RlQnVmZmVyICpidWYsIFB5X3NzaXplX3QgZXNpemUpCi17Ci0gICAgUHlfc3NpemVfdCBvcmdwb3MsIG9yZ3NpemU7Ci0KLSAgICBvcmdwb3MgPSAoUHlfc3NpemVfdCkoYnVmLT5vdXRidWYgLSBQeVVuaWNvZGVfQVNfVU5JQ09ERShidWYtPm91dG9iaikpOwotICAgIG9yZ3NpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUoYnVmLT5vdXRvYmopOwotICAgIGlmIChQeVVuaWNvZGVfUmVzaXplKCZidWYtPm91dG9iaiwgb3Jnc2l6ZSArICgKLSAgICAgICAgZXNpemUgPCAob3Jnc2l6ZSA+PiAxKSA/IChvcmdzaXplID4+IDEpIHwgMSA6IGVzaXplKSkgPT0gLTEpCi0gICAgICAgIHJldHVybiAtMTsKLQotICAgIGJ1Zi0+b3V0YnVmID0gUHlVbmljb2RlX0FTX1VOSUNPREUoYnVmLT5vdXRvYmopICsgb3JncG9zOwotICAgIGJ1Zi0+b3V0YnVmX2VuZCA9IFB5VW5pY29kZV9BU19VTklDT0RFKGJ1Zi0+b3V0b2JqKQotICAgICAgICAgICAgICAgICAgICAgICsgUHlVbmljb2RlX0dFVF9TSVpFKGJ1Zi0+b3V0b2JqKTsKLQotICAgIHJldHVybiAwOwotfQotI2RlZmluZSBSRVFVSVJFX0RFQ09ERUJVRkZFUihidWYsIHMpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmICgocykgPCAxIHx8IChidWYpLT5vdXRidWYgKyAocykgPiAoYnVmKS0+b3V0YnVmX2VuZCkgICAgICAgICAgICAgXAotICAgICAgICBpZiAoZXhwYW5kX2RlY29kZWJ1ZmZlcihidWYsIHMpID09IC0xKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgZ290byBlcnJvcmV4aXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotCiAKIC8qKgogICogTXVsdGlieXRlQ29kZWMgb2JqZWN0CkBAIC0yNDcsNyArMjI1LDcgQEAKICAgICAgICAgICAgIHJldHVybiAwOyAvKiByZXRyeSBpdCAqLwogICAgICAgICBjYXNlIE1CRVJSX1RPT0ZFVzoKICAgICAgICAgICAgIHJlYXNvbiA9ICJpbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZSI7Ci0gICAgICAgICAgICBlc2l6ZSA9IChQeV9zc2l6ZV90KShidWYtPmluYnVmX2VuZCAtIGJ1Zi0+aW5idWYpOworICAgICAgICAgICAgZXNpemUgPSAoUHlfc3NpemVfdClidWYtPmlucG9zOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgTUJFUlJfSU5URVJOQUw6CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLApAQCAtMjYxLDE0ICsyMzksMjQgQEAKICAgICB9CiAKICAgICBpZiAoZXJyb3JzID09IEVSUk9SX1JFUExBQ0UpIHsKLSAgICAgICAgY29uc3QgUHlfVU5JQ09ERSByZXBsY2hhciA9ICc/JywgKmluYnVmID0gJnJlcGxjaGFyOworICAgICAgICBQeU9iamVjdCAqcmVwbGNoYXI7CiAgICAgICAgIFB5X3NzaXplX3QgcjsKKyAgICAgICAgUHlfc3NpemVfdCBpbnBvczsKKyAgICAgICAgaW50IGtpbmQ7CisgICAgICAgIHZvaWQgKmRhdGE7CiAKKyAgICAgICAgcmVwbGNoYXIgPSBQeVVuaWNvZGVfRnJvbU9yZGluYWwoJz8nKTsKKyAgICAgICAgaWYgKHJlcGxjaGFyID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHJlcGxjaGFyKTsKKyAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlcGxjaGFyKTsKKworICAgICAgICBpbnBvcyA9IDA7CiAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIFB5X3NzaXplX3Qgb3V0bGVmdDsKKyAgICAgICAgICAgIFB5X3NzaXplX3Qgb3V0bGVmdCA9IChQeV9zc2l6ZV90KShidWYtPm91dGJ1Zl9lbmQgLSBidWYtPm91dGJ1Zik7CiAKLSAgICAgICAgICAgIG91dGxlZnQgPSAoUHlfc3NpemVfdCkoYnVmLT5vdXRidWZfZW5kIC0gYnVmLT5vdXRidWYpOwotICAgICAgICAgICAgciA9IGNvZGVjLT5lbmNvZGUoc3RhdGUsIGNvZGVjLT5jb25maWcsICZpbmJ1ZiwgMSwKKyAgICAgICAgICAgIHIgPSBjb2RlYy0+ZW5jb2RlKHN0YXRlLCBjb2RlYy0+Y29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZCwgZGF0YSwgJmlucG9zLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1Zi0+b3V0YnVmLCBvdXRsZWZ0LCAwKTsKICAgICAgICAgICAgIGlmIChyID09IE1CRVJSX1RPT1NNQUxMKSB7CiAgICAgICAgICAgICAgICAgUkVRVUlSRV9FTkNPREVCVUZGRVIoYnVmLCAtMSk7CkBAIC0yNzgsMjUgKzI2NiwyNyBAQAogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgUHlfREVDUkVGKHJlcGxjaGFyKTsKKwogICAgICAgICBpZiAociAhPSAwKSB7CiAgICAgICAgICAgICBSRVFVSVJFX0VOQ09ERUJVRkZFUihidWYsIDEpOwogICAgICAgICAgICAgKmJ1Zi0+b3V0YnVmKysgPSAnPyc7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGVycm9ycyA9PSBFUlJPUl9JR05PUkUgfHwgZXJyb3JzID09IEVSUk9SX1JFUExBQ0UpIHsKLSAgICAgICAgYnVmLT5pbmJ1ZiArPSBlc2l6ZTsKKyAgICAgICAgYnVmLT5pbnBvcyArPSBlc2l6ZTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgc3RhcnQgPSAoUHlfc3NpemVfdCkoYnVmLT5pbmJ1ZiAtIGJ1Zi0+aW5idWZfdG9wKTsKKyAgICBzdGFydCA9IChQeV9zc2l6ZV90KWJ1Zi0+aW5wb3M7CiAgICAgZW5kID0gc3RhcnQgKyBlc2l6ZTsKIAogICAgIC8qIHVzZSBjYWNoZWQgZXhjZXB0aW9uIG9iamVjdCBpZiBhdmFpbGFibGUgKi8KICAgICBpZiAoYnVmLT5leGNvYmogPT0gTlVMTCkgewotICAgICAgICBidWYtPmV4Y29iaiA9IFB5VW5pY29kZUVuY29kZUVycm9yX0NyZWF0ZShjb2RlYy0+ZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICBidWYtPmluYnVmX3RvcCwKLSAgICAgICAgICAgICAgICAgICAgICAgIGJ1Zi0+aW5idWZfZW5kIC0gYnVmLT5pbmJ1Zl90b3AsCi0gICAgICAgICAgICAgICAgICAgICAgICBzdGFydCwgZW5kLCByZWFzb24pOworICAgICAgICBidWYtPmV4Y29iaiA9ICBQeU9iamVjdF9DYWxsRnVuY3Rpb24oUHlFeGNfVW5pY29kZUVuY29kZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNPbm5zIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGVjLT5lbmNvZGluZywgYnVmLT5pbm9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0LCBlbmQsIHJlYXNvbik7CiAgICAgICAgIGlmIChidWYtPmV4Y29iaiA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgfQpAQCAtMzI1LDEwICszMTUsMTAgQEAKICAgICB9CiAKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHRvYmopKSB7Ci0gICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKnVyYXcgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh0b2JqKTsKKyAgICAgICAgUHlfc3NpemVfdCBpbnBvczsKIAotICAgICAgICByZXRzdHIgPSBtdWx0aWJ5dGVjb2RlY19lbmNvZGUoY29kZWMsIHN0YXRlLCAmdXJhdywKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh0b2JqKSwgRVJST1JfU1RSSUNULAorICAgICAgICByZXRzdHIgPSBtdWx0aWJ5dGVjb2RlY19lbmNvZGUoY29kZWMsIHN0YXRlLCB0b2JqLAorICAgICAgICAgICAgICAgICAgICAgICAgJmlucG9zLCBFUlJPUl9TVFJJQ1QsCiAgICAgICAgICAgICAgICAgICAgICAgICBNQkVOQ19GTFVTSCk7CiAgICAgICAgIGlmIChyZXRzdHIgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZXJyb3JleGl0OwpAQCAtMzQ3LDE1ICszMzcsMTUgQEAKIAogICAgIG5ld3BvcyA9IFB5TG9uZ19Bc1NzaXplX3QoUHlUdXBsZV9HRVRfSVRFTShyZXRvYmosIDEpKTsKICAgICBpZiAobmV3cG9zIDwgMCAmJiAhUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgbmV3cG9zICs9IChQeV9zc2l6ZV90KShidWYtPmluYnVmX2VuZCAtIGJ1Zi0+aW5idWZfdG9wKTsKLSAgICBpZiAobmV3cG9zIDwgMCB8fCBidWYtPmluYnVmX3RvcCArIG5ld3BvcyA+IGJ1Zi0+aW5idWZfZW5kKSB7CisgICAgICAgIG5ld3BvcyArPSAoUHlfc3NpemVfdClidWYtPmlubGVuOworICAgIGlmIChuZXdwb3MgPCAwIHx8IG5ld3BvcyA+IGJ1Zi0+aW5sZW4pIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0luZGV4RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAicG9zaXRpb24gJXpkIGZyb20gZXJyb3IgaGFuZGxlciBvdXQgb2YgYm91bmRzIiwKICAgICAgICAgICAgICAgICAgICAgIG5ld3Bvcyk7CiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIH0KLSAgICBidWYtPmluYnVmID0gYnVmLT5pbmJ1Zl90b3AgKyBuZXdwb3M7CisgICAgYnVmLT5pbnBvcyA9IG5ld3BvczsKIAogICAgIFB5X0RFQ1JFRihyZXRvYmopOwogICAgIFB5X0RFQ1JFRihyZXRzdHIpOwpAQCAtMzc0LDcgKzM2NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZXJyb3JzLCBQeV9zc2l6ZV90IGUpCiB7CiAgICAgUHlPYmplY3QgKnJldG9iaiA9IE5VTEwsICpyZXR1bmkgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgcmV0dW5pc2l6ZSwgbmV3cG9zOworICAgIFB5X3NzaXplX3QgbmV3cG9zOwogICAgIGNvbnN0IGNoYXIgKnJlYXNvbjsKICAgICBQeV9zc2l6ZV90IGVzaXplLCBzdGFydCwgZW5kOwogCkBAIC0zODUsNyArMzc1LDYgQEAKICAgICBlbHNlIHsKICAgICAgICAgc3dpdGNoIChlKSB7CiAgICAgICAgIGNhc2UgTUJFUlJfVE9PU01BTEw6Ci0gICAgICAgICAgICBSRVFVSVJFX0RFQ09ERUJVRkZFUihidWYsIC0xKTsKICAgICAgICAgICAgIHJldHVybiAwOyAvKiByZXRyeSBpdCAqLwogICAgICAgICBjYXNlIE1CRVJSX1RPT0ZFVzoKICAgICAgICAgICAgIHJlYXNvbiA9ICJpbmNvbXBsZXRlIG11bHRpYnl0ZSBzZXF1ZW5jZSI7CkBAIC00MDMsOCArMzkyLDkgQEAKICAgICB9CiAKICAgICBpZiAoZXJyb3JzID09IEVSUk9SX1JFUExBQ0UpIHsKLSAgICAgICAgUkVRVUlSRV9ERUNPREVCVUZGRVIoYnVmLCAxKTsKLSAgICAgICAgKmJ1Zi0+b3V0YnVmKysgPSBQeV9VTklDT0RFX1JFUExBQ0VNRU5UX0NIQVJBQ1RFUjsKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFyKCZidWYtPndyaXRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfUkVQTEFDRU1FTlRfQ0hBUkFDVEVSKSA8IDApCisgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKICAgICB9CiAgICAgaWYgKGVycm9ycyA9PSBFUlJPUl9JR05PUkUgfHwgZXJyb3JzID09IEVSUk9SX1JFUExBQ0UpIHsKICAgICAgICAgYnVmLT5pbmJ1ZiArPSBlc2l6ZTsKQEAgLTQ0NywxNSArNDM3LDggQEAKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgfQogCi0gICAgaWYgKFB5VW5pY29kZV9Bc1VuaWNvZGUocmV0dW5pKSA9PSBOVUxMKQorICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKCZidWYtPndyaXRlciwgcmV0dW5pKSA8IDApCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwotICAgIHJldHVuaXNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUocmV0dW5pKTsKLSAgICBpZiAocmV0dW5pc2l6ZSA+IDApIHsKLSAgICAgICAgUkVRVUlSRV9ERUNPREVCVUZGRVIoYnVmLCByZXR1bmlzaXplKTsKLSAgICAgICAgbWVtY3B5KChjaGFyICopYnVmLT5vdXRidWYsIFB5VW5pY29kZV9BU19VTklDT0RFKHJldHVuaSksCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1bmlzaXplICogUHlfVU5JQ09ERV9TSVpFKTsKLSAgICAgICAgYnVmLT5vdXRidWYgKz0gcmV0dW5pc2l6ZTsKLSAgICB9CiAKICAgICBuZXdwb3MgPSBQeUxvbmdfQXNTc2l6ZV90KFB5VHVwbGVfR0VUX0lURU0ocmV0b2JqLCAxKSk7CiAgICAgaWYgKG5ld3BvcyA8IDAgJiYgIVB5RXJyX09jY3VycmVkKCkpCkBAIC00NzksMTkgKzQ2MiwyOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIG11bHRpYnl0ZWNvZGVjX2VuY29kZShNdWx0aWJ5dGVDb2RlYyAqY29kZWMsCiAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKipkYXRhLCBQeV9zc2l6ZV90IGRhdGFsZW4sCisgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnRleHQsIFB5X3NzaXplX3QgKmlucG9zX3QsCiAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmVycm9ycywgaW50IGZsYWdzKQogewogICAgIE11bHRpYnl0ZUVuY29kZUJ1ZmZlciBidWY7CiAgICAgUHlfc3NpemVfdCBmaW5hbHNpemUsIHIgPSAwOworICAgIFB5X3NzaXplX3QgZGF0YWxlbjsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh0ZXh0KSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGRhdGFsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZXh0KTsKIAogICAgIGlmIChkYXRhbGVuID09IDAgJiYgIShmbGFncyAmIE1CRU5DX1JFU0VUKSkKICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAKICAgICBidWYuZXhjb2JqID0gTlVMTDsKICAgICBidWYub3V0b2JqID0gTlVMTDsKLSAgICBidWYuaW5idWYgPSBidWYuaW5idWZfdG9wID0gKmRhdGE7Ci0gICAgYnVmLmluYnVmX2VuZCA9IGJ1Zi5pbmJ1Zl90b3AgKyBkYXRhbGVuOworICAgIGJ1Zi5pbm9iaiA9IHRleHQ7ICAgLyogYm9ycm93ZWQgcmVmZXJlbmNlICovCisgICAgYnVmLmlucG9zID0gMDsKKyAgICBidWYuaW5sZW4gPSBkYXRhbGVuOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChidWYuaW5vYmopOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShidWYuaW5vYmopOwogCiAgICAgaWYgKGRhdGFsZW4gPiAoUFlfU1NJWkVfVF9NQVggLSAxNikgLyAyKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC01MDQsMTQgKzQ5NywxNCBAQAogICAgIGJ1Zi5vdXRidWYgPSAodW5zaWduZWQgY2hhciAqKVB5Qnl0ZXNfQVNfU1RSSU5HKGJ1Zi5vdXRvYmopOwogICAgIGJ1Zi5vdXRidWZfZW5kID0gYnVmLm91dGJ1ZiArIFB5Qnl0ZXNfR0VUX1NJWkUoYnVmLm91dG9iaik7CiAKLSAgICB3aGlsZSAoYnVmLmluYnVmIDwgYnVmLmluYnVmX2VuZCkgewotICAgICAgICBQeV9zc2l6ZV90IGlubGVmdCwgb3V0bGVmdDsKLQorICAgIHdoaWxlIChidWYuaW5wb3MgPCBidWYuaW5sZW4pIHsKICAgICAgICAgLyogd2UgZG9uJ3QgcmV1c2UgaW5sZWZ0IGFuZCBvdXRsZWZ0IGhlcmUuCiAgICAgICAgICAqIGVycm9yIGNhbGxiYWNrcyBjYW4gcmVsb2NhdGUgdGhlIGN1cnNvciBhbnl3aGVyZSBvbiBidWZmZXIqLwotICAgICAgICBpbmxlZnQgPSAoUHlfc3NpemVfdCkoYnVmLmluYnVmX2VuZCAtIGJ1Zi5pbmJ1Zik7Ci0gICAgICAgIG91dGxlZnQgPSAoUHlfc3NpemVfdCkoYnVmLm91dGJ1Zl9lbmQgLSBidWYub3V0YnVmKTsKLSAgICAgICAgciA9IGNvZGVjLT5lbmNvZGUoc3RhdGUsIGNvZGVjLT5jb25maWcsICZidWYuaW5idWYsIGlubGVmdCwKKyAgICAgICAgUHlfc3NpemVfdCBvdXRsZWZ0ID0gKFB5X3NzaXplX3QpKGJ1Zi5vdXRidWZfZW5kIC0gYnVmLm91dGJ1Zik7CisKKyAgICAgICAgciA9IGNvZGVjLT5lbmNvZGUoc3RhdGUsIGNvZGVjLT5jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQsIGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZidWYuaW5wb3MsIGJ1Zi5pbmxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1Zi5vdXRidWYsIG91dGxlZnQsIGZsYWdzKTsKICAgICAgICAgaWYgKChyID09IDApIHx8IChyID09IE1CRVJSX1RPT0ZFVyAmJiAhKGZsYWdzICYgTUJFTkNfRkxVU0gpKSkKICAgICAgICAgICAgIGJyZWFrOwpAQCAtNTQyLDcgKzUzNSw4IEBACiAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJmJ1Zi5vdXRvYmosIGZpbmFsc2l6ZSkgPT0gLTEpCiAgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKIAotICAgICpkYXRhID0gYnVmLmluYnVmOworICAgIGlmIChpbnBvc190KQorICAgICAgICAqaW5wb3NfdCA9IGJ1Zi5pbnBvczsKICAgICBQeV9YREVDUkVGKGJ1Zi5leGNvYmopOwogICAgIHJldHVybiBidWYub3V0b2JqOwogCkBAIC01NTcsNyArNTUxLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKICAgICBNdWx0aWJ5dGVDb2RlY19TdGF0ZSBzdGF0ZTsKLSAgICBQeV9VTklDT0RFICpkYXRhOwogICAgIFB5T2JqZWN0ICplcnJvcmNiLCAqciwgKmFyZywgKnVjdnQ7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IGRhdGFsZW47CkBAIC01ODAsMTEgKzU3MywxMSBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgZGF0YSA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKGFyZywgJmRhdGFsZW4pOwotICAgIGlmIChkYXRhID09IE5VTEwpIHsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKGFyZykgPCAwKSB7CiAgICAgICAgIFB5X1hERUNSRUYodWN2dCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyAgICBkYXRhbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoYXJnKTsKIAogICAgIGVycm9yY2IgPSBpbnRlcm5hbF9lcnJvcl9jYWxsYmFjayhlcnJvcnMpOwogICAgIGlmIChlcnJvcmNiID09IE5VTEwpIHsKQEAgLTU5Niw3ICs1ODksNyBAQAogICAgICAgICBzZWxmLT5jb2RlYy0+ZW5jaW5pdCgmc3RhdGUsIHNlbGYtPmNvZGVjLT5jb25maWcpICE9IDApCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIHIgPSBtdWx0aWJ5dGVjb2RlY19lbmNvZGUoc2VsZi0+Y29kZWMsICZzdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgKGNvbnN0IFB5X1VOSUNPREUgKiopJmRhdGEsIGRhdGFsZW4sIGVycm9yY2IsCisgICAgICAgICAgICAgICAgICAgIGFyZywgTlVMTCwgZXJyb3JjYiwKICAgICAgICAgICAgICAgICAgICAgTUJFTkNfRkxVU0ggfCBNQkVOQ19SRVNFVCk7CiAgICAgaWYgKHIgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CkBAIC02MTcsMTAgKzYxMCwxMCBAQAogewogICAgIE11bHRpYnl0ZUNvZGVjX1N0YXRlIHN0YXRlOwogICAgIE11bHRpYnl0ZURlY29kZUJ1ZmZlciBidWY7Ci0gICAgUHlPYmplY3QgKmVycm9yY2I7CisgICAgUHlPYmplY3QgKmVycm9yY2IsICpyZXM7CiAgICAgUHlfYnVmZmVyIHBkYXRhOwogICAgIGNvbnN0IGNoYXIgKmRhdGEsICplcnJvcnMgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgZGF0YWxlbiwgZmluYWxzaXplOworICAgIFB5X3NzaXplX3QgZGF0YWxlbjsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInkqfHo6ZGVjb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlY2t3YXJnbGlzdCwgJnBkYXRhLCAmZXJyb3JzKSkKQEAgLTY0MCwyOSArNjMzLDIzIEBACiAgICAgICAgIHJldHVybiBtYWtlX3R1cGxlKFB5VW5pY29kZV9OZXcoMCwgMCksIDApOwogICAgIH0KIAorICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmYnVmLndyaXRlcik7CisgICAgYnVmLndyaXRlci5taW5fbGVuZ3RoID0gZGF0YWxlbjsKICAgICBidWYuZXhjb2JqID0gTlVMTDsKICAgICBidWYuaW5idWYgPSBidWYuaW5idWZfdG9wID0gKHVuc2lnbmVkIGNoYXIgKilkYXRhOwogICAgIGJ1Zi5pbmJ1Zl9lbmQgPSBidWYuaW5idWZfdG9wICsgZGF0YWxlbjsKLSAgICBidWYub3V0b2JqID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIGRhdGFsZW4pOwotICAgIGlmIChidWYub3V0b2JqID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3JleGl0OwotICAgIGJ1Zi5vdXRidWYgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShidWYub3V0b2JqKTsKLSAgICBpZiAoYnVmLm91dGJ1ZiA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yZXhpdDsKLSAgICBidWYub3V0YnVmX2VuZCA9IGJ1Zi5vdXRidWYgKyBQeVVuaWNvZGVfR0VUX1NJWkUoYnVmLm91dG9iaik7CiAKICAgICBpZiAoc2VsZi0+Y29kZWMtPmRlY2luaXQgIT0gTlVMTCAmJgogICAgICAgICBzZWxmLT5jb2RlYy0+ZGVjaW5pdCgmc3RhdGUsIHNlbGYtPmNvZGVjLT5jb25maWcpICE9IDApCiAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCiAgICAgd2hpbGUgKGJ1Zi5pbmJ1ZiA8IGJ1Zi5pbmJ1Zl9lbmQpIHsKLSAgICAgICAgUHlfc3NpemVfdCBpbmxlZnQsIG91dGxlZnQsIHI7CisgICAgICAgIFB5X3NzaXplX3QgaW5sZWZ0LCByOwogCiAgICAgICAgIGlubGVmdCA9IChQeV9zc2l6ZV90KShidWYuaW5idWZfZW5kIC0gYnVmLmluYnVmKTsKLSAgICAgICAgb3V0bGVmdCA9IChQeV9zc2l6ZV90KShidWYub3V0YnVmX2VuZCAtIGJ1Zi5vdXRidWYpOwogCiAgICAgICAgIHIgPSBzZWxmLT5jb2RlYy0+ZGVjb2RlKCZzdGF0ZSwgc2VsZi0+Y29kZWMtPmNvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICZidWYuaW5idWYsIGlubGVmdCwgJmJ1Zi5vdXRidWYsIG91dGxlZnQpOworICAgICAgICAgICAgICAgICAgICAgICAgJmJ1Zi5pbmJ1ZiwgaW5sZWZ0LCAmYnVmLndyaXRlcik7CiAgICAgICAgIGlmIChyID09IDApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZWxzZSBpZiAobXVsdGlieXRlY29kZWNfZGVjZXJyb3Ioc2VsZi0+Y29kZWMsICZzdGF0ZSwKQEAgLTY3MCwyMyArNjU3LDIwIEBACiAgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKICAgICB9CiAKLSAgICBmaW5hbHNpemUgPSAoUHlfc3NpemVfdCkoYnVmLm91dGJ1ZiAtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKGJ1Zi5vdXRvYmopKTsKLQotICAgIGlmIChmaW5hbHNpemUgIT0gUHlVbmljb2RlX0dFVF9TSVpFKGJ1Zi5vdXRvYmopKQotICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmYnVmLm91dG9iaiwgZmluYWxzaXplKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZXJyb3JleGl0OworICAgIHJlcyA9IF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZidWYud3JpdGVyKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7CiAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwotICAgIHJldHVybiBtYWtlX3R1cGxlKGJ1Zi5vdXRvYmosIGRhdGFsZW4pOworICAgIHJldHVybiBtYWtlX3R1cGxlKHJlcywgZGF0YWxlbik7CiAKIGVycm9yZXhpdDoKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7CiAgICAgRVJST1JfREVDUkVGKGVycm9yY2IpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7Ci0gICAgUHlfWERFQ1JFRihidWYub3V0b2JqKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJmJ1Zi53cml0ZXIpOwogCiAgICAgcmV0dXJuIE5VTEw7CiB9CkBAIC03NTIsOSArNzM2LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp1bmlzdHIsIGludCBmaW5hbCkKIHsKICAgICBQeU9iamVjdCAqdWN2dCwgKnIgPSBOVUxMOwotICAgIFB5X1VOSUNPREUgKmluYnVmLCAqaW5idWZfZW5kLCAqaW5idWZfdG1wID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IGRhdGFsZW4sIG9yaWdwZW5kaW5nOwotICAgIHdjaGFyX3QgKmRhdGE7CisgICAgUHlPYmplY3QgKmluYnVmID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGlucG9zLCBkYXRhbGVuOworICAgIFB5T2JqZWN0ICpvcmlncGVuZGluZyA9IE5VTEw7CiAKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHVuaXN0cikpCiAgICAgICAgIHVjdnQgPSBOVUxMOwpAQCAtNzcwLDY5ICs3NTQsNjYgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIGRhdGEgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZSh1bmlzdHIsICZkYXRhbGVuKTsKLSAgICBpZiAoZGF0YSA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yZXhpdDsKLSAgICBvcmlncGVuZGluZyA9IGN0eC0+cGVuZGluZ3NpemU7CisgICAgaWYgKGN0eC0+cGVuZGluZykgeworICAgICAgICBQeU9iamVjdCAqaW5idWZfdG1wOwogCi0gICAgaWYgKG9yaWdwZW5kaW5nID4gMCkgewotICAgICAgICBpZiAoZGF0YWxlbiA+IFBZX1NTSVpFX1RfTUFYIC0gY3R4LT5wZW5kaW5nc2l6ZSkgewotICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgICAgIC8qIGluYnVmX3RtcCA9PSBOVUxMICovCi0gICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKLSAgICAgICAgfQotICAgICAgICBpbmJ1Zl90bXAgPSBQeU1lbV9OZXcoUHlfVU5JQ09ERSwgZGF0YWxlbiArIGN0eC0+cGVuZGluZ3NpemUpOworICAgICAgICBQeV9JTkNSRUYoY3R4LT5wZW5kaW5nKTsKKyAgICAgICAgb3JpZ3BlbmRpbmcgPSBjdHgtPnBlbmRpbmc7CisKKyAgICAgICAgUHlfSU5DUkVGKGN0eC0+cGVuZGluZyk7CisgICAgICAgIGluYnVmX3RtcCA9IGN0eC0+cGVuZGluZzsKKyAgICAgICAgUHlVbmljb2RlX0FwcGVuZCgmaW5idWZfdG1wLCB1bmlzdHIpOwogICAgICAgICBpZiAoaW5idWZfdG1wID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKLSAgICAgICAgbWVtY3B5KGluYnVmX3RtcCwgY3R4LT5wZW5kaW5nLAotICAgICAgICAgICAgUHlfVU5JQ09ERV9TSVpFICogY3R4LT5wZW5kaW5nc2l6ZSk7Ci0gICAgICAgIG1lbWNweShpbmJ1Zl90bXAgKyBjdHgtPnBlbmRpbmdzaXplLAotICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUodW5pc3RyKSwKLSAgICAgICAgICAgIFB5X1VOSUNPREVfU0laRSAqIGRhdGFsZW4pOwotICAgICAgICBkYXRhbGVuICs9IGN0eC0+cGVuZGluZ3NpemU7Ci0gICAgICAgIGN0eC0+cGVuZGluZ3NpemUgPSAwOworICAgICAgICBQeV9DTEVBUihjdHgtPnBlbmRpbmcpOwogICAgICAgICBpbmJ1ZiA9IGluYnVmX3RtcDsKICAgICB9Ci0gICAgZWxzZQotICAgICAgICBpbmJ1ZiA9IChQeV9VTklDT0RFICopUHlVbmljb2RlX0FTX1VOSUNPREUodW5pc3RyKTsKKyAgICBlbHNlIHsKKyAgICAgICAgb3JpZ3BlbmRpbmcgPSBOVUxMOwogCi0gICAgaW5idWZfZW5kID0gaW5idWYgKyBkYXRhbGVuOworICAgICAgICBQeV9JTkNSRUYodW5pc3RyKTsKKyAgICAgICAgaW5idWYgPSB1bmlzdHI7CisgICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoaW5idWYpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcmV4aXQ7CisgICAgaW5wb3MgPSAwOworICAgIGRhdGFsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpbmJ1Zik7CiAKICAgICByID0gbXVsdGlieXRlY29kZWNfZW5jb2RlKGN0eC0+Y29kZWMsICZjdHgtPnN0YXRlLAotICAgICAgICAgICAgICAgICAgICAoY29uc3QgUHlfVU5JQ09ERSAqKikmaW5idWYsIGRhdGFsZW4sCi0gICAgICAgICAgICAgICAgICAgIGN0eC0+ZXJyb3JzLCBmaW5hbCA/IE1CRU5DX0ZMVVNIIHwgTUJFTkNfUkVTRVQgOiAwKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYnVmLCAmaW5wb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPmVycm9ycywgZmluYWwgPyBNQkVOQ19GTFVTSCB8IE1CRU5DX1JFU0VUIDogMCk7CiAgICAgaWYgKHIgPT0gTlVMTCkgewogICAgICAgICAvKiByZWNvdmVyIHRoZSBvcmlnaW5hbCBwZW5kaW5nIGJ1ZmZlciAqLwotICAgICAgICBpZiAob3JpZ3BlbmRpbmcgPiAwKQotICAgICAgICAgICAgbWVtY3B5KGN0eC0+cGVuZGluZywgaW5idWZfdG1wLAotICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfU0laRSAqIG9yaWdwZW5kaW5nKTsKLSAgICAgICAgY3R4LT5wZW5kaW5nc2l6ZSA9IG9yaWdwZW5kaW5nOworICAgICAgICBQeV9DTEVBUihjdHgtPnBlbmRpbmcpOworICAgICAgICBjdHgtPnBlbmRpbmcgPSBvcmlncGVuZGluZzsKKyAgICAgICAgb3JpZ3BlbmRpbmcgPSBOVUxMOwogICAgICAgICBnb3RvIGVycm9yZXhpdDsKICAgICB9CisgICAgUHlfWERFQ1JFRihvcmlncGVuZGluZyk7CiAKLSAgICBpZiAoaW5idWYgPCBpbmJ1Zl9lbmQpIHsKLSAgICAgICAgY3R4LT5wZW5kaW5nc2l6ZSA9IChQeV9zc2l6ZV90KShpbmJ1Zl9lbmQgLSBpbmJ1Zik7Ci0gICAgICAgIGlmIChjdHgtPnBlbmRpbmdzaXplID4gTUFYRU5DUEVORElORykgeworICAgIGlmIChpbnBvcyA8IGRhdGFsZW4pIHsKKyAgICAgICAgaWYgKGRhdGFsZW4gLSBpbnBvcyA+IE1BWEVOQ1BFTkRJTkcpIHsKICAgICAgICAgICAgIC8qIG5vcm1hbCBjb2RlY3MgY2FuJ3QgcmVhY2ggaGVyZSAqLwotICAgICAgICAgICAgY3R4LT5wZW5kaW5nc2l6ZSA9IDA7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVW5pY29kZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwZW5kaW5nIGJ1ZmZlciBvdmVyZmxvdyIpOwogICAgICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgICAgIH0KLSAgICAgICAgbWVtY3B5KGN0eC0+cGVuZGluZywgaW5idWYsCi0gICAgICAgICAgICBjdHgtPnBlbmRpbmdzaXplICogUHlfVU5JQ09ERV9TSVpFKTsKKyAgICAgICAgY3R4LT5wZW5kaW5nID0gUHlVbmljb2RlX1N1YnN0cmluZyhpbmJ1ZiwgaW5wb3MsIGRhdGFsZW4pOworICAgICAgICBpZiAoY3R4LT5wZW5kaW5nID09IE5VTEwpIHsKKyAgICAgICAgICAgIC8qIG5vcm1hbCBjb2RlY3MgY2FuJ3QgcmVhY2ggaGVyZSAqLworICAgICAgICAgICAgZ290byBlcnJvcmV4aXQ7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoaW5idWZfdG1wICE9IE5VTEwpCi0gICAgICAgIFB5TWVtX0RlbChpbmJ1Zl90bXApOworICAgIFB5X0RFQ1JFRihpbmJ1Zik7CiAgICAgUHlfWERFQ1JFRih1Y3Z0KTsKICAgICByZXR1cm4gcjsKIAogZXJyb3JleGl0OgotICAgIGlmIChpbmJ1Zl90bXAgIT0gTlVMTCkKLSAgICAgICAgUHlNZW1fRGVsKGluYnVmX3RtcCk7CiAgICAgUHlfWERFQ1JFRihyKTsKICAgICBQeV9YREVDUkVGKHVjdnQpOworICAgIFB5X1hERUNSRUYob3JpZ3BlbmRpbmcpOworICAgIFB5X1hERUNSRUYoaW5idWYpOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC04NTksMTcgKzg0MCw3IEBACiB7CiAgICAgYnVmLT5pbmJ1ZiA9IGJ1Zi0+aW5idWZfdG9wID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilkYXRhOwogICAgIGJ1Zi0+aW5idWZfZW5kID0gYnVmLT5pbmJ1Zl90b3AgKyBzaXplOwotICAgIGlmIChidWYtPm91dG9iaiA9PSBOVUxMKSB7IC8qIG9ubHkgaWYgb3V0b2JqIGlzIG5vdCBhbGxvY2F0ZWQgeWV0ICovCi0gICAgICAgIGJ1Zi0+b3V0b2JqID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIHNpemUpOwotICAgICAgICBpZiAoYnVmLT5vdXRvYmogPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgYnVmLT5vdXRidWYgPSBQeVVuaWNvZGVfQXNVbmljb2RlKGJ1Zi0+b3V0b2JqKTsKLSAgICAgICAgaWYgKGJ1Zi0+b3V0YnVmID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIGJ1Zi0+b3V0YnVmX2VuZCA9IGJ1Zi0+b3V0YnVmICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKGJ1Zi0+b3V0b2JqKTsKLSAgICB9Ci0KKyAgICBidWYtPndyaXRlci5taW5fbGVuZ3RoICs9IHNpemU7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTg3OCwxNCArODQ5LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIE11bHRpYnl0ZURlY29kZUJ1ZmZlciAqYnVmKQogewogICAgIHdoaWxlIChidWYtPmluYnVmIDwgYnVmLT5pbmJ1Zl9lbmQpIHsKLSAgICAgICAgUHlfc3NpemVfdCBpbmxlZnQsIG91dGxlZnQ7CisgICAgICAgIFB5X3NzaXplX3QgaW5sZWZ0OwogICAgICAgICBQeV9zc2l6ZV90IHI7CiAKICAgICAgICAgaW5sZWZ0ID0gKFB5X3NzaXplX3QpKGJ1Zi0+aW5idWZfZW5kIC0gYnVmLT5pbmJ1Zik7Ci0gICAgICAgIG91dGxlZnQgPSAoUHlfc3NpemVfdCkoYnVmLT5vdXRidWZfZW5kIC0gYnVmLT5vdXRidWYpOwogCiAgICAgICAgIHIgPSBjdHgtPmNvZGVjLT5kZWNvZGUoJmN0eC0+c3RhdGUsIGN0eC0+Y29kZWMtPmNvbmZpZywKLSAgICAgICAgICAgICZidWYtPmluYnVmLCBpbmxlZnQsICZidWYtPm91dGJ1Ziwgb3V0bGVmdCk7CisgICAgICAgICAgICAmYnVmLT5pbmJ1ZiwgaW5sZWZ0LCAmYnVmLT53cml0ZXIpOwogICAgICAgICBpZiAociA9PSAwIHx8IHIgPT0gTUJFUlJfVE9PRkVXKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGVsc2UgaWYgKG11bHRpYnl0ZWNvZGVjX2RlY2Vycm9yKGN0eC0+Y29kZWMsICZjdHgtPnN0YXRlLApAQCAtOTI3LDcgKzg5Nyw3IEBACiAgICAgICAgIGlmIChyICE9IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgc2VsZi0+cGVuZGluZ3NpemUgPSAwOworICAgIFB5X0NMRUFSKHNlbGYtPnBlbmRpbmcpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogCkBAIC05NjMsNyArOTMzLDcgQEAKICAgICB9CiAKICAgICBzZWxmLT5jb2RlYyA9ICgoTXVsdGlieXRlQ29kZWNPYmplY3QgKiljb2RlYyktPmNvZGVjOwotICAgIHNlbGYtPnBlbmRpbmdzaXplID0gMDsKKyAgICBzZWxmLT5wZW5kaW5nID0gTlVMTDsKICAgICBzZWxmLT5lcnJvcnMgPSBpbnRlcm5hbF9lcnJvcl9jYWxsYmFjayhlcnJvcnMpOwogICAgIGlmIChzZWxmLT5lcnJvcnMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CkBAIC0xMDU4LDggKzEwMjgsOSBAQAogICAgIE11bHRpYnl0ZURlY29kZUJ1ZmZlciBidWY7CiAgICAgY2hhciAqZGF0YSwgKndkYXRhID0gTlVMTDsKICAgICBQeV9idWZmZXIgcGRhdGE7Ci0gICAgUHlfc3NpemVfdCB3c2l6ZSwgZmluYWxzaXplID0gMCwgc2l6ZSwgb3JpZ3BlbmRpbmc7CisgICAgUHlfc3NpemVfdCB3c2l6ZSwgc2l6ZSwgb3JpZ3BlbmRpbmc7CiAgICAgaW50IGZpbmFsID0gMDsKKyAgICBQeU9iamVjdCAqcmVzOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAieSp8aTpkZWNvZGUiLAogICAgICAgICAgICAgICAgICAgICBpbmNyZW1lbnRhbGt3YXJnbGlzdCwgJnBkYXRhLCAmZmluYWwpKQpAQCAtMTA2Nyw3ICsxMDM4LDggQEAKICAgICBkYXRhID0gcGRhdGEuYnVmOwogICAgIHNpemUgPSBwZGF0YS5sZW47CiAKLSAgICBidWYub3V0b2JqID0gYnVmLmV4Y29iaiA9IE5VTEw7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZidWYud3JpdGVyKTsKKyAgICBidWYuZXhjb2JqID0gTlVMTDsKICAgICBvcmlncGVuZGluZyA9IHNlbGYtPnBlbmRpbmdzaXplOwogCiAgICAgaWYgKHNlbGYtPnBlbmRpbmdzaXplID09IDApIHsKQEAgLTExMDksMjMgKzEwODEsMjIgQEAKICAgICAgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIH0KIAotICAgIGZpbmFsc2l6ZSA9IChQeV9zc2l6ZV90KShidWYub3V0YnVmIC0gUHlVbmljb2RlX0FTX1VOSUNPREUoYnVmLm91dG9iaikpOwotICAgIGlmIChmaW5hbHNpemUgIT0gUHlVbmljb2RlX0dFVF9TSVpFKGJ1Zi5vdXRvYmopKQotICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmYnVmLm91dG9iaiwgZmluYWxzaXplKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZXJyb3JleGl0OworICAgIHJlcyA9IF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZidWYud3JpdGVyKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCiAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgIGlmICh3ZGF0YSAhPSBkYXRhKQogICAgICAgICBQeU1lbV9EZWwod2RhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7Ci0gICAgcmV0dXJuIGJ1Zi5vdXRvYmo7CisgICAgcmV0dXJuIHJlczsKIAogZXJyb3JleGl0OgogICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKICAgICBpZiAod2RhdGEgIT0gTlVMTCAmJiB3ZGF0YSAhPSBkYXRhKQogICAgICAgICBQeU1lbV9EZWwod2RhdGEpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7Ci0gICAgUHlfWERFQ1JFRihidWYub3V0b2JqKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJmJ1Zi53cml0ZXIpOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC0xMjY1LDEzICsxMjM2LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICptZXRob2QsIFB5X3NzaXplX3Qgc2l6ZWhpbnQpCiB7CiAgICAgTXVsdGlieXRlRGVjb2RlQnVmZmVyIGJ1ZjsKLSAgICBQeU9iamVjdCAqY3JlczsKLSAgICBQeV9zc2l6ZV90IHJzaXplLCBmaW5hbHNpemUgPSAwOworICAgIFB5T2JqZWN0ICpjcmVzLCAqcmVzOworICAgIFB5X3NzaXplX3QgcnNpemU7CiAKICAgICBpZiAoc2l6ZWhpbnQgPT0gMCkKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9OZXcoMCwgMCk7CiAKLSAgICBidWYub3V0b2JqID0gYnVmLmV4Y29iaiA9IE5VTEw7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZidWYud3JpdGVyKTsKKyAgICBidWYuZXhjb2JqID0gTlVMTDsKICAgICBjcmVzID0gTlVMTDsKIAogICAgIGZvciAoOzspIHsKQEAgLTEzNDAsMjkgKzEzMTIsMjcgQEAKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yZXhpdDsKICAgICAgICAgfQogCi0gICAgICAgIGZpbmFsc2l6ZSA9IChQeV9zc2l6ZV90KShidWYub3V0YnVmIC0KLSAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKGJ1Zi5vdXRvYmopKTsKICAgICAgICAgUHlfREVDUkVGKGNyZXMpOwogICAgICAgICBjcmVzID0gTlVMTDsKIAotICAgICAgICBpZiAoc2l6ZWhpbnQgPCAwIHx8IGZpbmFsc2l6ZSAhPSAwIHx8IHJzaXplID09IDApCisgICAgICAgIGlmIChzaXplaGludCA8IDAgfHwgYnVmLndyaXRlci5wb3MgIT0gMCB8fCByc2l6ZSA9PSAwKQogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgc2l6ZWhpbnQgPSAxOyAvKiByZWFkIDEgbW9yZSBieXRlIGFuZCByZXRyeSAqLwogICAgIH0KIAotICAgIGlmIChmaW5hbHNpemUgIT0gUHlVbmljb2RlX0dFVF9TSVpFKGJ1Zi5vdXRvYmopKQotICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmYnVmLm91dG9iaiwgZmluYWxzaXplKSA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZXJyb3JleGl0OworICAgIHJlcyA9IF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZidWYud3JpdGVyKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3JleGl0OwogCiAgICAgUHlfWERFQ1JFRihjcmVzKTsKICAgICBQeV9YREVDUkVGKGJ1Zi5leGNvYmopOwotICAgIHJldHVybiBidWYub3V0b2JqOworICAgIHJldHVybiByZXM7CiAKIGVycm9yZXhpdDoKICAgICBQeV9YREVDUkVGKGNyZXMpOwogICAgIFB5X1hERUNSRUYoYnVmLmV4Y29iaik7Ci0gICAgUHlfWERFQ1JFRihidWYub3V0b2JqKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJmJ1Zi53cml0ZXIpOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC0xNjQ5LDE4ICsxNjE5LDE2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogbWJzdHJlYW13cml0ZXJfcmVzZXQoTXVsdGlieXRlU3RyZWFtV3JpdGVyT2JqZWN0ICpzZWxmKQogewotICAgIGNvbnN0IFB5X1VOSUNPREUgKnBlbmRpbmc7CiAgICAgUHlPYmplY3QgKnB3cnQ7CiAKLSAgICBwZW5kaW5nID0gc2VsZi0+cGVuZGluZzsKICAgICBwd3J0ID0gbXVsdGlieXRlY29kZWNfZW5jb2RlKHNlbGYtPmNvZGVjLCAmc2VsZi0+c3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICZwZW5kaW5nLCBzZWxmLT5wZW5kaW5nc2l6ZSwgc2VsZi0+ZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICBzZWxmLT5wZW5kaW5nLCBOVUxMLCBzZWxmLT5lcnJvcnMsCiAgICAgICAgICAgICAgICAgICAgIE1CRU5DX0ZMVVNIIHwgTUJFTkNfUkVTRVQpOwogICAgIC8qIHNvbWUgcGVuZGluZyBidWZmZXIgY2FuIGJlIHRydW5jYXRlZCB3aGVuIFVuaWNvZGVFbmNvZGVFcnJvciBpcwogICAgICAqIHJhaXNlZCBvbiAnc3RyaWN0JyBtb2RlLiBidXQsICdyZXNldCcgbWV0aG9kIGlzIGRlc2lnbmVkIHRvCiAgICAgICogcmVzZXQgdGhlIHBlbmRpbmcgYnVmZmVyIG9yIHN0YXRlcyBzbyBmYWlsZWQgc3RyaW5nIHNlcXVlbmNlCiAgICAgICogb3VnaHQgdG8gYmUgbWlzc2VkICovCi0gICAgc2VsZi0+cGVuZGluZ3NpemUgPSAwOworICAgIFB5X0NMRUFSKHNlbGYtPnBlbmRpbmcpOwogICAgIGlmIChwd3J0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0xNzA2LDcgKzE2NzQsNyBAQAogICAgIHNlbGYtPmNvZGVjID0gKChNdWx0aWJ5dGVDb2RlY09iamVjdCAqKWNvZGVjKS0+Y29kZWM7CiAgICAgc2VsZi0+c3RyZWFtID0gc3RyZWFtOwogICAgIFB5X0lOQ1JFRihzdHJlYW0pOwotICAgIHNlbGYtPnBlbmRpbmdzaXplID0gMDsKKyAgICBzZWxmLT5wZW5kaW5nID0gTlVMTDsKICAgICBzZWxmLT5lcnJvcnMgPSBpbnRlcm5hbF9lcnJvcl9jYWxsYmFjayhlcnJvcnMpOwogICAgIGlmIChzZWxmLT5lcnJvcnMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5oIGIvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuaAppbmRleCAxYjZlZjU1Li4zMDUwYWViIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5oCisrKyBiL01vZHVsZXMvY2prY29kZWNzL211bHRpYnl0ZWNvZGVjLmgKQEAgLTEwLDEyICsxMCw2IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZgogCi0jaWZkZWYgdWludDMyX3QKLXR5cGVkZWYgdWludDMyX3QgdWNzNF90OwotI2Vsc2UKLXR5cGVkZWYgdW5zaWduZWQgaW50IHVjczRfdDsKLSNlbmRpZgotCiAjaWZkZWYgdWludDE2X3QKIHR5cGVkZWYgdWludDE2X3QgdWNzMl90LCBEQkNIQVI7CiAjZWxzZQpAQCAtMjcsMTMgKzIxLDE0IEBACiAgICAgaW50IGk7CiAgICAgdW5zaWduZWQgY2hhciBjWzhdOwogICAgIHVjczJfdCB1Mls0XTsKLSAgICB1Y3M0X3QgdTRbMl07CisgICAgUHlfVUNTNCB1NFsyXTsKIH0gTXVsdGlieXRlQ29kZWNfU3RhdGU7CiAKIHR5cGVkZWYgaW50ICgqbWJjb2RlY19pbml0KShjb25zdCB2b2lkICpjb25maWcpOwogdHlwZWRlZiBQeV9zc2l6ZV90ICgqbWJlbmNvZGVfZnVuYykoTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHlfVU5JQ09ERSAqKmluYnVmLCBQeV9zc2l6ZV90IGlubGVmdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBraW5kLCB2b2lkICpkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqaW5wb3MsIFB5X3NzaXplX3QgaW5sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICoqb3V0YnVmLCBQeV9zc2l6ZV90IG91dGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmxhZ3MpOwogdHlwZWRlZiBpbnQgKCptYmVuY29kZWluaXRfZnVuYykoTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLApAQCAtNDQsNyArMzksNyBAQAogdHlwZWRlZiBQeV9zc2l6ZV90ICgqbWJkZWNvZGVfZnVuYykoTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqY29uZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqKmluYnVmLCBQeV9zc2l6ZV90IGlubGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgKipvdXRidWYsIFB5X3NzaXplX3Qgb3V0bGVmdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIpOwogdHlwZWRlZiBpbnQgKCptYmRlY29kZWluaXRfZnVuYykoTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqY29uZmlnKTsKIHR5cGVkZWYgUHlfc3NpemVfdCAoKm1iZGVjb2RlcmVzZXRfZnVuYykoTXVsdGlieXRlQ29kZWNfU3RhdGUgKnN0YXRlLApAQCAtODEsOCArNzYsNyBAQAogI2RlZmluZSBNQVhFTkNQRU5ESU5HICAgMgogI2RlZmluZSBfTXVsdGlieXRlU3RhdGVmdWxFbmNvZGVyX0hFQUQgICAgICAgICAgXAogICAgIF9NdWx0aWJ5dGVTdGF0ZWZ1bENvZGVjX0hFQUQgICAgICAgICAgICAgICAgXAotICAgIFB5X1VOSUNPREUgcGVuZGluZ1tNQVhFTkNQRU5ESU5HXTsgICAgICAgICAgXAotICAgIFB5X3NzaXplX3QgcGVuZGluZ3NpemU7CisgICAgUHlPYmplY3QgKnBlbmRpbmc7CiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgX011bHRpYnl0ZVN0YXRlZnVsRW5jb2Rlcl9IRUFECiB9IE11bHRpYnl0ZVN0YXRlZnVsRW5jb2RlckNvbnRleHQ7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2ZhdWx0aGFuZGxlci5jIGIvTW9kdWxlcy9mYXVsdGhhbmRsZXIuYwppbmRleCA3ZTM2M2YwLi5mNDk5OTNkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2ZhdWx0aGFuZGxlci5jCisrKyBiL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMKQEAgLTIyLDcgKzIyLDkgQEAKICMgIGRlZmluZSBGQVVMVEhBTkRMRVJfVVNFUgogI2VuZGlmCiAKLSNkZWZpbmUgUFVUUyhmZCwgc3RyKSB3cml0ZShmZCwgc3RyLCBzdHJsZW4oc3RyKSkKKy8qIGNhc3Qgc2l6ZV90IHRvIGludCBiZWNhdXNlIHdyaXRlKCkgdGFrZXMgYW4gaW50IG9uIFdpbmRvd3MKKyAgIChhbnl3YXksIHRoZSBsZW5ndGggaXMgc21hbGxlciB0aGFuIDMwIGNoYXJhY3RlcnMpICovCisjZGVmaW5lIFBVVFMoZmQsIHN0cikgd3JpdGUoZmQsIHN0ciwgKGludClzdHJsZW4oc3RyKSkKIAogI2lmZGVmIEhBVkVfU0lHQUNUSU9OCiB0eXBlZGVmIHN0cnVjdCBzaWdhY3Rpb24gX1B5X3NpZ2hhbmRsZXJfdDsKQEAgLTc5LDkgKzgxLDYgQEAKIHN0YXRpYyB1c2VyX3NpZ25hbF90ICp1c2VyX3NpZ25hbHM7CiAKIC8qIHRoZSBmb2xsb3dpbmcgbWFjcm9zIGNvbWUgZnJvbSBQeXRob246IE1vZHVsZXMvc2lnbmFsbW9kdWxlLmMgKi8KLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKLSNkZWZpbmUgTlNJRyAxMgotI2VuZGlmCiAjaWZuZGVmIE5TSUcKICMgaWYgZGVmaW5lZChfTlNJRykKICMgIGRlZmluZSBOU0lHIF9OU0lHICAgICAgICAgICAgLyogRm9yIEJTRC9TeXNWICovCkBAIC00NDgsNyArNDQ3LDcgQEAKICAgICAgICAgLyogZ2V0IHRoZSB0aHJlYWQgaG9sZGluZyB0aGUgR0lMLCBOVUxMIGlmIG5vIHRocmVhZCBob2xkIHRoZSBHSUwgKi8KICAgICAgICAgY3VycmVudCA9IF9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KTsKIAotICAgICAgICB3cml0ZSh0aHJlYWQuZmQsIHRocmVhZC5oZWFkZXIsIHRocmVhZC5oZWFkZXJfbGVuKTsKKyAgICAgICAgd3JpdGUodGhyZWFkLmZkLCB0aHJlYWQuaGVhZGVyLCAoaW50KXRocmVhZC5oZWFkZXJfbGVuKTsKIAogICAgICAgICBlcnJtc2cgPSBfUHlfRHVtcFRyYWNlYmFja1RocmVhZHModGhyZWFkLmZkLCB0aHJlYWQuaW50ZXJwLCBjdXJyZW50KTsKICAgICAgICAgb2sgPSAoZXJybXNnID09IE5VTEwpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9mY250bG1vZHVsZS5jIGIvTW9kdWxlcy9mY250bG1vZHVsZS5jCmluZGV4IDZiN2UzZmMuLmJjMmMxODEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZmNudGxtb2R1bGUuYworKysgYi9Nb2R1bGVzL2ZjbnRsbW9kdWxlLmMKQEAgLTMyNSwxMSArMzI1LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxlbm9iaiwgJnN0YXJ0b2JqLCAmd2hlbmNlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfR0NDKQotICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLAotICAgICAgICAgICAgICAgICAgICAibG9ja2Ygbm90IHN1cHBvcnRlZCBvbiBPUy8yIChFTVgpIik7Ci0gICAgcmV0dXJuIE5VTEw7Ci0jZWxzZQogI2lmbmRlZiBMT0NLX1NICiAjZGVmaW5lIExPQ0tfU0ggICAgICAgICAxICAgICAgIC8qIHNoYXJlZCBsb2NrICovCiAjZGVmaW5lIExPQ0tfRVggICAgICAgICAyICAgICAgIC8qIGV4Y2x1c2l2ZSBsb2NrICovCkBAIC0zODMsNyArMzc4LDYgQEAKICAgICB9CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwotI2VuZGlmICAvKiBkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfR0NDKSAqLwogfQogCiBQeURvY19TVFJWQVIobG9ja2ZfZG9jLApAQCAtNDY3LDYgKzQ2MSw5IEBACiAjaWZkZWYgRl9EVVBGRAogICAgIGlmIChpbnMoZCwgIkZfRFVQRkQiLCAobG9uZylGX0RVUEZEKSkgcmV0dXJuIC0xOwogI2VuZGlmCisjaWZkZWYgRl9EVVBGRF9DTE9FWEVDCisgICAgaWYgKGlucyhkLCAiRl9EVVBGRF9DTE9FWEVDIiwgKGxvbmcpRl9EVVBGRF9DTE9FWEVDKSkgcmV0dXJuIC0xOworI2VuZGlmCiAjaWZkZWYgRl9HRVRGRAogICAgIGlmIChpbnMoZCwgIkZfR0VURkQiLCAobG9uZylGX0dFVEZEKSkgcmV0dXJuIC0xOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2djbW9kdWxlLmMgYi9Nb2R1bGVzL2djbW9kdWxlLmMKaW5kZXggZjc4MmRkMC4uOWFjNTk0ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9nY21vZHVsZS5jCisrKyBiL01vZHVsZXMvZ2Ntb2R1bGUuYwpAQCAtMTY4LDYgKzE2OCwxOCBAQAogc3RhdGljIGludCBkZWJ1ZzsKIHN0YXRpYyBQeU9iamVjdCAqdG1vZCA9IE5VTEw7CiAKKy8qIFJ1bm5pbmcgc3RhdHMgcGVyIGdlbmVyYXRpb24gKi8KK3N0cnVjdCBnY19nZW5lcmF0aW9uX3N0YXRzIHsKKyAgICAvKiB0b3RhbCBudW1iZXIgb2YgY29sbGVjdGlvbnMgKi8KKyAgICBQeV9zc2l6ZV90IGNvbGxlY3Rpb25zOworICAgIC8qIHRvdGFsIG51bWJlciBvZiBjb2xsZWN0ZWQgb2JqZWN0cyAqLworICAgIFB5X3NzaXplX3QgY29sbGVjdGVkOworICAgIC8qIHRvdGFsIG51bWJlciBvZiB1bmNvbGxlY3RhYmxlIG9iamVjdHMgKHB1dCBpbnRvIGdjLmdhcmJhZ2UpICovCisgICAgUHlfc3NpemVfdCB1bmNvbGxlY3RhYmxlOworfTsKKworc3RhdGljIHN0cnVjdCBnY19nZW5lcmF0aW9uX3N0YXRzIGdlbmVyYXRpb25fc3RhdHNbTlVNX0dFTkVSQVRJT05TXTsKKwogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZ2NfcmVmcyB2YWx1ZXMuCiAKQEAgLTg1Miw2ICs4NjQsNyBAQAogICAgIFB5R0NfSGVhZCBmaW5hbGl6ZXJzOyAgLyogb2JqZWN0cyB3aXRoLCAmIHJlYWNoYWJsZSBmcm9tLCBfX2RlbF9fICovCiAgICAgUHlHQ19IZWFkICpnYzsKICAgICBkb3VibGUgdDEgPSAwLjA7CisgICAgc3RydWN0IGdjX2dlbmVyYXRpb25fc3RhdHMgKnN0YXRzID0gJmdlbmVyYXRpb25fc3RhdHNbZ2VuZXJhdGlvbl07CiAKICAgICBpZiAoZGVidWcgJiBERUJVR19TVEFUUykgewogICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiZ2M6IGNvbGxlY3RpbmcgZ2VuZXJhdGlvbiAlZC4uLlxuIiwKQEAgLTk5MywxMCArMTAwNiwxNCBAQAogICAgICAgICBQeV9GYXRhbEVycm9yKCJ1bmV4cGVjdGVkIGV4Y2VwdGlvbiBkdXJpbmcgZ2FyYmFnZSBjb2xsZWN0aW9uIik7CiAgICAgfQogCisgICAgLyogVXBkYXRlIHN0YXRzICovCiAgICAgaWYgKG5fY29sbGVjdGVkKQogICAgICAgICAqbl9jb2xsZWN0ZWQgPSBtOwogICAgIGlmIChuX3VuY29sbGVjdGFibGUpCiAgICAgICAgICpuX3VuY29sbGVjdGFibGUgPSBuOworICAgIHN0YXRzLT5jb2xsZWN0aW9ucysrOworICAgIHN0YXRzLT5jb2xsZWN0ZWQgKz0gbTsKKyAgICBzdGF0cy0+dW5jb2xsZWN0YWJsZSArPSBuOwogICAgIHJldHVybiBuK207CiB9CiAKQEAgLTEzNDMsNiArMTM2MCw1MiBAQAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK1B5RG9jX1NUUlZBUihnY19nZXRfc3RhdHNfX2RvY19fLAorImdldF9zdGF0cygpIC0+IFsuLi5dXG4iCisiXG4iCisiUmV0dXJuIGEgbGlzdCBvZiBkaWN0aW9uYXJpZXMgY29udGFpbmluZyBwZXItZ2VuZXJhdGlvbiBzdGF0aXN0aWNzLlxuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitnY19nZXRfc3RhdHMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCit7CisgICAgaW50IGk7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBzdHJ1Y3QgZ2NfZ2VuZXJhdGlvbl9zdGF0cyBzdGF0c1tOVU1fR0VORVJBVElPTlNdLCAqc3Q7CisKKyAgICAvKiBUbyBnZXQgY29uc2lzdGVudCB2YWx1ZXMgZGVzcGl0ZSBhbGxvY2F0aW9ucyB3aGlsZSBjb25zdHJ1Y3RpbmcKKyAgICAgICB0aGUgcmVzdWx0IGxpc3QsIHdlIHVzZSBhIHNuYXBzaG90IG9mIHRoZSBydW5uaW5nIHN0YXRzLiAqLworICAgIGZvciAoaSA9IDA7IGkgPCBOVU1fR0VORVJBVElPTlM7IGkrKykgeworICAgICAgICBzdGF0c1tpXSA9IGdlbmVyYXRpb25fc3RhdHNbaV07CisgICAgfQorCisgICAgcmVzdWx0ID0gUHlMaXN0X05ldygwKTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZm9yIChpID0gMDsgaSA8IE5VTV9HRU5FUkFUSU9OUzsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICpkaWN0OworICAgICAgICBzdCA9ICZzdGF0c1tpXTsKKyAgICAgICAgZGljdCA9IFB5X0J1aWxkVmFsdWUoIntzbnNuc259IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbGxlY3Rpb25zIiwgc3QtPmNvbGxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29sbGVjdGVkIiwgc3QtPmNvbGxlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuY29sbGVjdGFibGUiLCBzdC0+dW5jb2xsZWN0YWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgIGlmIChkaWN0ID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChyZXN1bHQsIGRpY3QpKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoZGljdCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIHJldHVybiBOVUxMOworfQorCisKIFB5RG9jX1NUUlZBUihnY19pc190cmFja2VkX19kb2NfXywKICJpc190cmFja2VkKG9iaikgLT4gYm9vbFxuIgogIlxuIgpAQCAtMTM5Myw2ICsxNDU2LDcgQEAKICAgICB7ImNvbGxlY3QiLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilnY19jb2xsZWN0LAogICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCAgICAgICAgICAgZ2NfY29sbGVjdF9fZG9jX199LAogICAgIHsiZ2V0X29iamVjdHMiLCAgICBnY19nZXRfb2JqZWN0cyxNRVRIX05PQVJHUywgIGdjX2dldF9vYmplY3RzX19kb2NfX30sCisgICAgeyJnZXRfc3RhdHMiLCAgICAgIGdjX2dldF9zdGF0cywgTUVUSF9OT0FSR1MsIGdjX2dldF9zdGF0c19fZG9jX199LAogICAgIHsiaXNfdHJhY2tlZCIsICAgICBnY19pc190cmFja2VkLCBNRVRIX08sICAgICAgIGdjX2lzX3RyYWNrZWRfX2RvY19ffSwKICAgICB7ImdldF9yZWZlcnJlcnMiLCAgZ2NfZ2V0X3JlZmVycmVycywgTUVUSF9WQVJBUkdTLAogICAgICAgICBnY19nZXRfcmVmZXJyZXJzX19kb2NfX30sCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2dldHBhdGguYyBiL01vZHVsZXMvZ2V0cGF0aC5jCmluZGV4IGI5OGM1MjAuLmJlMTY0ZGYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZ2V0cGF0aC5jCisrKyBiL01vZHVsZXMvZ2V0cGF0aC5jCkBAIC02OTksMTMgKzY5OSwxMSBAQAogICAgICAqLwogICAgIGJ1ZnN6ID0gMDsKIAotICAgIGlmIChfcnRweXBhdGgpIHsKKyAgICBpZiAoX3J0cHlwYXRoICYmIF9ydHB5cGF0aFswXSAhPSAnXDAnKSB7CiAgICAgICAgIHNpemVfdCBydHB5cGF0aF9sZW47CiAgICAgICAgIHJ0cHlwYXRoID0gX1B5X2NoYXIyd2NoYXIoX3J0cHlwYXRoLCAmcnRweXBhdGhfbGVuKTsKICAgICAgICAgaWYgKHJ0cHlwYXRoICE9IE5VTEwpCiAgICAgICAgICAgICBidWZzeiArPSBydHB5cGF0aF9sZW4gKyAxOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBfcnRweXBhdGggPSBOVUxMOwogICAgIH0KIAogICAgIGRlZnBhdGggPSBfcHl0aG9ucGF0aDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvaGFzaGxpYi5oIGIvTW9kdWxlcy9oYXNobGliLmgKaW5kZXggZGIzOWNlYS4uN2NiNmVlNSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9oYXNobGliLmgKKysrIGIvTW9kdWxlcy9oYXNobGliLmgKQEAgLTI2LDMgKzI2LDM2IEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsgXAogICAgICAgICB9IFwKICAgICB9IHdoaWxlKDApOworCisvKgorICogSGVscGVyIGNvZGUgdG8gc3luY2hyb25pemUgYWNjZXNzIHRvIHRoZSBoYXNoIG9iamVjdCB3aGVuIHRoZSBHSUwgaXMKKyAqIHJlbGVhc2VkIGFyb3VuZCBhIENQVSBjb25zdW1pbmcgaGFzaGxpYiBvcGVyYXRpb24uIEFsbCBjb2RlIHBhdGhzIHRoYXQKKyAqIGFjY2VzcyBhIG11dGFibGUgcGFydCBvZiBvYmogbXVzdCBiZSBlbmNsb3NlZCBpbiBhIEVOVEVSX0hBU0hMSUIgLworICogTEVBVkVfSEFTSExJQiBibG9jayBvciBleHBsaWNpdGx5IGFjcXVpcmUgYW5kIHJlbGVhc2UgdGhlIGxvY2sgaW5zaWRlCisgKiBhIFBZX0JFR0lOIC8gRU5EX0FMTE9XX1RIUkVBRFMgYmxvY2sgaWYgdGhleSB3aXNoIHRvIHJlbGVhc2UgdGhlIEdJTCBmb3IKKyAqIGFuIG9wZXJhdGlvbi4KKyAqLworCisjaWZkZWYgV0lUSF9USFJFQUQKKyNpbmNsdWRlICJweXRocmVhZC5oIgorICAgICNkZWZpbmUgRU5URVJfSEFTSExJQihvYmopIFwKKyAgICAgICAgaWYgKChvYmopLT5sb2NrKSB7IFwKKyAgICAgICAgICAgIGlmICghUHlUaHJlYWRfYWNxdWlyZV9sb2NrKChvYmopLT5sb2NrLCAwKSkgeyBcCisgICAgICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUyBcCisgICAgICAgICAgICAgICAgUHlUaHJlYWRfYWNxdWlyZV9sb2NrKChvYmopLT5sb2NrLCAxKTsgXAorICAgICAgICAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTIFwKKyAgICAgICAgICAgIH0gXAorICAgICAgICB9CisgICAgI2RlZmluZSBMRUFWRV9IQVNITElCKG9iaikgXAorICAgICAgICBpZiAoKG9iaiktPmxvY2spIHsgXAorICAgICAgICAgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKChvYmopLT5sb2NrKTsgXAorICAgICAgICB9CisjZWxzZQorICAgICNkZWZpbmUgRU5URVJfSEFTSExJQihvYmopCisgICAgI2RlZmluZSBMRUFWRV9IQVNITElCKG9iaikKKyNlbmRpZgorCisvKiBUT0RPKGdwcyk6IFdlIHNob3VsZCBwcm9iYWJseSBtYWtlIHRoaXMgYSBtb2R1bGUgb3IgRVZQb2JqZWN0IGF0dHJpYnV0ZQorICogdG8gYWxsb3cgdGhlIHVzZXIgdG8gb3B0aW1pemUgYmFzZWQgb24gdGhlIHBsYXRmb3JtIHRoZXkncmUgdXNpbmcuICovCisjZGVmaW5lIEhBU0hMSUJfR0lMX01JTlNJWkUgMjA0OAorCmRpZmYgLS1naXQgYS9Nb2R1bGVzL21haW4uYyBiL01vZHVsZXMvbWFpbi5jCmluZGV4IDRkMmUwM2EuLjFkNmMwOWEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvbWFpbi5jCisrKyBiL01vZHVsZXMvbWFpbi5jCkBAIC0yMiwxNSArMjIsMTEgQEAKICNpbmNsdWRlIDxjcnRkYmcuaD4KICNlbmRpZgogCi0jaWYgKGRlZmluZWQoUFlPU19PUzIpICYmICFkZWZpbmVkKFBZQ0NfR0NDKSkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQorI2lmIGRlZmluZWQoTVNfV0lORE9XUykKICNkZWZpbmUgUFlUSE9OSE9NRUhFTFAgIjxwcmVmaXg+XFxsaWIiCiAjZWxzZQotI2lmIGRlZmluZWQoUFlPU19PUzIpICYmIGRlZmluZWQoUFlDQ19HQ0MpCi0jZGVmaW5lIFBZVEhPTkhPTUVIRUxQICI8cHJlZml4Pi9MaWIiCi0jZWxzZQogI2RlZmluZSBQWVRIT05IT01FSEVMUCAiPHByZWZpeD4vcHl0aG9uWC5YIgogI2VuZGlmCi0jZW5kaWYKIAogI2luY2x1ZGUgInB5Z2V0b3B0LmgiCiAKQEAgLTE3MSwxNyArMTY3LDIwIEBACiAgICAgcnVucHkgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoInJ1bnB5Iik7CiAgICAgaWYgKHJ1bnB5ID09IE5VTEwpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgaW1wb3J0IHJ1bnB5IG1vZHVsZVxuIik7CisgICAgICAgIFB5RXJyX1ByaW50KCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgcnVubW9kdWxlID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhydW5weSwgIl9ydW5fbW9kdWxlX2FzX21haW4iKTsKICAgICBpZiAocnVubW9kdWxlID09IE5VTEwpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgYWNjZXNzIHJ1bnB5Ll9ydW5fbW9kdWxlX2FzX21haW5cbiIpOworICAgICAgICBQeUVycl9QcmludCgpOwogICAgICAgICBQeV9ERUNSRUYocnVucHkpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIG1vZHVsZSA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIobW9kbmFtZSwgd2NzbGVuKG1vZG5hbWUpKTsKICAgICBpZiAobW9kdWxlID09IE5VTEwpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgY29udmVydCBtb2R1bGUgbmFtZSB0byB1bmljb2RlXG4iKTsKKyAgICAgICAgUHlFcnJfUHJpbnQoKTsKICAgICAgICAgUHlfREVDUkVGKHJ1bnB5KTsKICAgICAgICAgUHlfREVDUkVGKHJ1bm1vZHVsZSk7CiAgICAgICAgIHJldHVybiAtMTsKQEAgLTE5MCw2ICsxODksNyBAQAogICAgIGlmIChydW5hcmdzID09IE5VTEwpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIsCiAgICAgICAgICAgICAiQ291bGQgbm90IGNyZWF0ZSBhcmd1bWVudHMgZm9yIHJ1bnB5Ll9ydW5fbW9kdWxlX2FzX21haW5cbiIpOworICAgICAgICBQeUVycl9QcmludCgpOwogICAgICAgICBQeV9ERUNSRUYocnVucHkpOwogICAgICAgICBQeV9ERUNSRUYocnVubW9kdWxlKTsKICAgICAgICAgUHlfREVDUkVGKG1vZHVsZSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL21kNW1vZHVsZS5jIGIvTW9kdWxlcy9tZDVtb2R1bGUuYwppbmRleCAxMmUxODdjLi42ZTE1YTIwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL21kNW1vZHVsZS5jCisrKyBiL01vZHVsZXMvbWQ1bW9kdWxlLmMKQEAgLTI0Niw3ICsyNDYsNyBAQAogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuID0gTUlOKGlubGVuLCAoUHlfc3NpemVfdCkoTUQ1X0JMT0NLU0laRSAtIG1kNS0+Y3VybGVuKSk7CiAgICAgICAgICAgIG1lbWNweShtZDUtPmJ1ZiArIG1kNS0+Y3VybGVuLCBpbiwgKHNpemVfdCluKTsKLSAgICAgICAgICAgbWQ1LT5jdXJsZW4gICAgKz0gbjsKKyAgICAgICAgICAgbWQ1LT5jdXJsZW4gICAgKz0gKE1ENV9JTlQzMiluOwogICAgICAgICAgICBpbiAgICAgICAgICAgICArPSBuOwogICAgICAgICAgICBpbmxlbiAgICAgICAgICAtPSBuOwogICAgICAgICAgICBpZiAobWQ1LT5jdXJsZW4gPT0gTUQ1X0JMT0NLU0laRSkgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9wb3NpeG1vZHVsZS5jIGIvTW9kdWxlcy9wb3NpeG1vZHVsZS5jCmluZGV4IDU1MWFmMmYuLjExNDk4NTYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcG9zaXhtb2R1bGUuYworKysgYi9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKQEAgLTEsMTUgKzEsMTIgQEAKIAogLyogUE9TSVggbW9kdWxlIGltcGxlbWVudGF0aW9uICovCiAKLS8qIFRoaXMgZmlsZSBpcyBhbHNvIHVzZWQgZm9yIFdpbmRvd3MgTlQvTVMtV2luIGFuZCBPUy8yLiAgSW4gdGhhdCBjYXNlIHRoZQotICAgbW9kdWxlIGFjdHVhbGx5IGNhbGxzIGl0c2VsZiAnbnQnIG9yICdvczInLCBub3QgJ3Bvc2l4JywgYW5kIGEgZmV3CisvKiBUaGlzIGZpbGUgaXMgYWxzbyB1c2VkIGZvciBXaW5kb3dzIE5UL01TLVdpbi4gIEluIHRoYXQgY2FzZSB0aGUKKyAgIG1vZHVsZSBhY3R1YWxseSBjYWxscyBpdHNlbGYgJ250Jywgbm90ICdwb3NpeCcsIGFuZCBhIGZldwogICAgZnVuY3Rpb25zIGFyZSBlaXRoZXIgdW5pbXBsZW1lbnRlZCBvciBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseS4gIFRoZSBzb3VyY2UKICAgIGFzc3VtZXMgdGhhdCBmb3IgV2luZG93cyBOVCwgdGhlIG1hY3JvICdNU19XSU5ET1dTJyBpcyBkZWZpbmVkIGluZGVwZW5kZW50CiAgICBvZiB0aGUgY29tcGlsZXIgdXNlZC4gIERpZmZlcmVudCBjb21waWxlcnMgZGVmaW5lIHRoZWlyIG93biBmZWF0dXJlCi0gICB0ZXN0IG1hY3JvLCBlLmcuICdfX0JPUkxBTkRDX18nIG9yICdfTVNDX1ZFUicuICBGb3IgT1MvMiwgdGhlIGNvbXBpbGVyCi0gICBpbmRlcGVuZGVudCBtYWNybyBQWU9TX09TMiBzaG91bGQgYmUgZGVmaW5lZC4gIE9uIE9TLzIgdGhlIGRlZmF1bHQKLSAgIGNvbXBpbGVyIGlzIGFzc3VtZWQgdG8gYmUgSUJNJ3MgVmlzdWFsQWdlIEMrKyAoVkFDUFApLiAgUFlDQ19HQ0MgaXMgdXNlZAotICAgYXMgdGhlIGNvbXBpbGVyIHNwZWNpZmljIG1hY3JvIGZvciB0aGUgRU1YIHBvcnQgb2YgZ2NjIHRvIE9TLzIuICovCisgICB0ZXN0IG1hY3JvLCBlLmcuICdfX0JPUkxBTkRDX18nIG9yICdfTVNDX1ZFUicuICovCiAKICNpZmRlZiBfX0FQUExFX18KICAgIC8qCkBAIC00NiwyMiArNDMsNiBAQAogY29ycmVzcG9uZGluZyBVbml4IG1hbnVhbCBlbnRyaWVzIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNhbGxzLiIpOwogCiAKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKQotI2Vycm9yICJQRVAgMTE6IE9TLzIgaXMgbm93IHVuc3VwcG9ydGVkLCBjb2RlIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy40IgotI2RlZmluZSAgSU5DTF9ET1MKLSNkZWZpbmUgIElOQ0xfRE9TRVJST1JTCi0jZGVmaW5lICBJTkNMX0RPU1BST0NFU1MKLSNkZWZpbmUgIElOQ0xfTk9QTUFQSQotI2luY2x1ZGUgPG9zMi5oPgotI2lmIGRlZmluZWQoUFlDQ19HQ0MpCi0jaW5jbHVkZSA8Y3R5cGUuaD4KLSNpbmNsdWRlIDxpby5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8cHJvY2Vzcy5oPgotI2VuZGlmCi0jaW5jbHVkZSAib3NkZWZzLmgiCi0jZW5kaWYKLQogI2lmZGVmIEhBVkVfU1lTX1VJT19ICiAjaW5jbHVkZSA8c3lzL3Vpby5oPgogI2VuZGlmCkBAIC0xNDYsMTcgKzEyNywxMCBAQAogCiAvKiBWYXJpb3VzIGNvbXBpbGVycyBoYXZlIG9ubHkgY2VydGFpbiBwb3NpeCBmdW5jdGlvbnMgKi8KIC8qIFhYWCBHb3NoIEkgd2lzaCB0aGVzZSB3ZXJlIGFsbCBtb3ZlZCBpbnRvIHB5Y29uZmlnLmggKi8KLSNpZiBkZWZpbmVkKFBZQ0NfVkFDUFApICYmIGRlZmluZWQoUFlPU19PUzIpCi0jaW5jbHVkZSA8cHJvY2Vzcy5oPgotI2Vsc2UKICNpZiBkZWZpbmVkKF9fV0FUQ09NQ19fKSAmJiAhZGVmaW5lZChfX1FOWF9fKSAgICAgICAgICAgLyogV2F0Y29tIGNvbXBpbGVyICovCiAjZGVmaW5lIEhBVkVfR0VUQ1dEICAgICAxCiAjZGVmaW5lIEhBVkVfT1BFTkRJUiAgICAxCiAjZGVmaW5lIEhBVkVfU1lTVEVNICAgICAxCi0jaWYgZGVmaW5lZChfX09TMl9fKQotI2RlZmluZSBIQVZFX0VYRUNWICAgICAgMQotI2RlZmluZSBIQVZFX1dBSVQgICAgICAgMQotI2VuZGlmCiAjaW5jbHVkZSA8cHJvY2Vzcy5oPgogI2Vsc2UKICNpZmRlZiBfX0JPUkxBTkRDX18gICAgICAgICAgICAgLyogQm9ybGFuZCBjb21waWxlciAqLwpAQCAtMTc5LDggKzE1Myw4IEBACiAjZGVmaW5lIEhBVkVfRlNZTkMgICAgICAxCiAjZGVmaW5lIGZzeW5jIF9jb21taXQKICNlbHNlCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykgfHwgZGVmaW5lZChfX1ZNUykKLS8qIEV2ZXJ5dGhpbmcgbmVlZGVkIGlzIGRlZmluZWQgaW4gUEMvb3MyZW14L3B5Y29uZmlnLmggb3Igdm1zL3B5Y29uZmlnLmggKi8KKyNpZiBkZWZpbmVkKF9fVk1TKQorLyogRXZlcnl0aGluZyBuZWVkZWQgaXMgZGVmaW5lZCBpbiB2bXMvcHljb25maWcuaCAqLwogI2Vsc2UgICAgICAgICAgICAgICAgICAgLyogYWxsIG90aGVyIGNvbXBpbGVycyAqLwogLyogVW5peCBmdW5jdGlvbnMgdGhhdCB0aGUgY29uZmlndXJlIHNjcmlwdCBkb2Vzbid0IGNoZWNrIGZvciAqLwogI2RlZmluZSBIQVZFX0VYRUNWICAgICAgMQpAQCAtMjAwLDExICsxNzQsMTAgQEAKICNkZWZpbmUgSEFWRV9TWVNURU0gICAgIDEKICNkZWZpbmUgSEFWRV9XQUlUICAgICAgIDEKICNkZWZpbmUgSEFWRV9UVFlOQU1FICAgIDEKLSNlbmRpZiAgLyogUFlPU19PUzIgJiYgUFlDQ19HQ0MgJiYgX19WTVMgKi8KKyNlbmRpZiAgLyogX19WTVMgKi8KICNlbmRpZiAgLyogX01TQ19WRVIgKi8KICNlbmRpZiAgLyogX19CT1JMQU5EQ19fICovCiAjZW5kaWYgIC8qICEgX19XQVRDT01DX18gfHwgX19RTlhfXyAqLwotI2VuZGlmIC8qICEgX19JQk1DX18gKi8KIAogCiAKQEAgLTMzNSwxMCArMzA4LDYgQEAKICNlbmRpZgogI2VuZGlmIC8qIF9NU0NfVkVSICovCiAKLSNpZiBkZWZpbmVkKFBZQ0NfVkFDUFApICYmIGRlZmluZWQoUFlPU19PUzIpCi0jaW5jbHVkZSA8aW8uaD4KLSNlbmRpZiAvKiBPUzIgKi8KLQogI2lmbmRlZiBNQVhQQVRITEVOCiAjaWYgZGVmaW5lZChQQVRIX01BWCkgJiYgUEFUSF9NQVggPiAxMDI0CiAjZGVmaW5lIE1BWFBBVEhMRU4gUEFUSF9NQVgKQEAgLTY3OCw4ICs2NDcsOCBAQAogICogcGF0aF9jbGVhbnVwKCkuICBIb3dldmVyIGl0IGlzIHNhZmUgdG8gZG8gc28uKQogICovCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgY2hhciAqZnVuY3Rpb25fbmFtZTsKLSAgICBjaGFyICphcmd1bWVudF9uYW1lOworICAgIGNvbnN0IGNoYXIgKmZ1bmN0aW9uX25hbWU7CisgICAgY29uc3QgY2hhciAqYXJndW1lbnRfbmFtZTsKICAgICBpbnQgbnVsbGFibGU7CiAgICAgaW50IGFsbG93X2ZkOwogICAgIHdjaGFyX3QgKndpZGU7CkBAIC0xMTA1LDEwICsxMDc0LDYgQEAKICNlbHNlCiAgICAgY2hhciAqKmU7CiAjZW5kaWYKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKQotICAgIEFQSVJFVCByYzsKLSAgICBjaGFyICAgYnVmZmVyWzEwMjRdOyAvKiBPUy8yIFByb3ZpZGVzIGEgRG9jdW1lbnRlZCBNYXggb2YgMTAyNCBDaGFycyAqLwotI2VuZGlmCiAKICAgICBkID0gUHlEaWN0X05ldygpOwogICAgIGlmIChkID09IE5VTEwpCkBAIC0xMTc3LDIwICsxMTQyLDYgQEAKICAgICAgICAgUHlfREVDUkVGKHYpOwogICAgIH0KICNlbmRpZgotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgcmMgPSBEb3NRdWVyeUV4dExJQlBBVEgoYnVmZmVyLCBCRUdJTl9MSUJQQVRIKTsKLSAgICBpZiAocmMgPT0gTk9fRVJST1IpIHsgLyogKG5vdCBhIHR5cGUsIGVudm5hbWUgaXMgTk9UICdCRUdJTl9MSUJQQVRIJykgKi8KLSAgICAgICAgUHlPYmplY3QgKnYgPSBQeUJ5dGVzX0Zyb21TdHJpbmcoYnVmZmVyKTsKLSAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkJFR0lOTElCUEFUSCIsIHYpOwotICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgfQotICAgIHJjID0gRG9zUXVlcnlFeHRMSUJQQVRIKGJ1ZmZlciwgRU5EX0xJQlBBVEgpOwotICAgIGlmIChyYyA9PSBOT19FUlJPUikgeyAvKiAobm90IGEgdHlwbywgZW52bmFtZSBpcyBOT1QgJ0VORF9MSUJQQVRIJykgKi8KLSAgICAgICAgUHlPYmplY3QgKnYgPSBQeUJ5dGVzX0Zyb21TdHJpbmcoYnVmZmVyKTsKLSAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkVORExJQlBBVEgiLCB2KTsKLSAgICAgICAgUHlfREVDUkVGKHYpOwotICAgIH0KLSNlbmRpZgogICAgIHJldHVybiBkOwogfQogCkBAIC0xMjAxLDI1ICsxMTUyLDYgQEAKIHsKICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogfQotc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4X2Vycm9yX3dpdGhfZmlsZW5hbWUoY2hhciogbmFtZSkKLXsKLSAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lKFB5RXhjX09TRXJyb3IsIG5hbWUpOwotfQotCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9lcnJvcl93aXRoX2FsbG9jYXRlZF9maWxlbmFtZShQeU9iamVjdCogbmFtZSkKLXsKLSAgICBQeU9iamVjdCAqbmFtZV9zdHIsICpyYzsKLSAgICBuYW1lX3N0ciA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplKFB5Qnl0ZXNfQXNTdHJpbmcobmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0dFVF9TSVpFKG5hbWUpKTsKLSAgICBQeV9ERUNSRUYobmFtZSk7Ci0gICAgcmMgPSBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lX3N0cik7Ci0gICAgUHlfWERFQ1JFRihuYW1lX3N0cik7Ci0gICAgcmV0dXJuIHJjOwotfQogCiAjaWZkZWYgTVNfV0lORE9XUwogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEyMzgsMjQgKzExNzAsMTMgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLXdpbjMyX2Vycm9yX3VuaWNvZGUoY2hhciogZnVuY3Rpb24sIHdjaGFyX3QqIGZpbGVuYW1lKQotewotICAgIC8qIFhYWCAtIHNlZSB3aW4zMl9lcnJvciBmb3IgY29tbWVudHMgb24gJ2Z1bmN0aW9uJyAqLwotICAgIGVycm5vID0gR2V0TGFzdEVycm9yKCk7Ci0gICAgaWYgKGZpbGVuYW1lKQotICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnJXaXRoVW5pY29kZUZpbGVuYW1lKGVycm5vLCBmaWxlbmFtZSk7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoZXJybm8pOwotfQotCi1zdGF0aWMgUHlPYmplY3QgKgogd2luMzJfZXJyb3Jfb2JqZWN0KGNoYXIqIGZ1bmN0aW9uLCBQeU9iamVjdCogZmlsZW5hbWUpCiB7CiAgICAgLyogWFhYIC0gc2VlIHdpbjMyX2Vycm9yIGZvciBjb21tZW50cyBvbiAnZnVuY3Rpb24nICovCiAgICAgZXJybm8gPSBHZXRMYXN0RXJyb3IoKTsKICAgICBpZiAoZmlsZW5hbWUpCiAgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZU9iamVjdCgKLSAgICAgICAgICAgICAgICAgICAgUHlFeGNfV2luZG93c0Vycm9yLAorICAgICAgICAgICAgICAgICAgICBQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICBlcnJubywKICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUpOwogICAgIGVsc2UKQEAgLTEyNjQsMTA5ICsxMTg1LDE3IEBACiAKICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAKLS8qCi0gKiBTb21lIGZ1bmN0aW9ucyByZXR1cm4gV2luMzIgZXJyb3JzLCBvdGhlcnMgb25seSBldmVyIHVzZSBwb3NpeF9lcnJvcgotICogKHRoaXMgaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggZXhjZXB0aW9ucykKLSAqLwogc3RhdGljIFB5T2JqZWN0ICoKLXBhdGhfcG9zaXhfZXJyb3IoY2hhciAqZnVuY3Rpb25fbmFtZSwgcGF0aF90ICpwYXRoKQotewotICAgIGlmIChwYXRoLT5uYXJyb3cpCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcl93aXRoX2ZpbGVuYW1lKHBhdGgtPm5hcnJvdyk7Ci0gICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wYXRoX2Vycm9yKGNoYXIgKmZ1bmN0aW9uX25hbWUsIHBhdGhfdCAqcGF0aCkKK3BhdGhfZXJyb3IocGF0aF90ICpwYXRoKQogewogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAocGF0aC0+bmFycm93KQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoZnVuY3Rpb25fbmFtZSwgcGF0aC0+bmFycm93KTsKLSAgICBpZiAocGF0aC0+d2lkZSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX3VuaWNvZGUoZnVuY3Rpb25fbmFtZSwgcGF0aC0+d2lkZSk7Ci0gICAgcmV0dXJuIHdpbjMyX2Vycm9yKGZ1bmN0aW9uX25hbWUsIE5VTEwpOworICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19PU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBwYXRoLT5vYmplY3QpOwogI2Vsc2UKLSAgICByZXR1cm4gcGF0aF9wb3NpeF9lcnJvcihmdW5jdGlvbl9uYW1lLCBwYXRoKTsKKyAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX09TRXJyb3IsIHBhdGgtPm9iamVjdCk7CiAjZW5kaWYKIH0KIAotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotICogICAgICAgICBIZWxwZXIgRnVuY3Rpb24gdG8gVHJpbSBhbmQgRm9ybWF0IE9TLzIgTWVzc2FnZXMKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotc3RhdGljIHZvaWQKLW9zMl9mb3JtYXRtc2coY2hhciAqbXNnYnVmLCBpbnQgbXNnbGVuLCBjaGFyICpyZWFzb24pCi17Ci0gICAgbXNnYnVmW21zZ2xlbl0gPSAnXDAnOyAvKiBPUy8yIERvZXNuJ3QgR3VhcmFudGVlIGEgVGVybWluYXRvciAqLwotCi0gICAgaWYgKHN0cmxlbihtc2didWYpID4gMCkgeyAvKiBJZiBOb24tRW1wdHkgTXNnLCBUcmltIENSTEYgKi8KLSAgICAgICAgY2hhciAqbGFzdGMgPSAmbXNnYnVmWyBzdHJsZW4obXNnYnVmKS0xIF07Ci0KLSAgICAgICAgd2hpbGUgKGxhc3RjID4gbXNnYnVmICYmIFB5X0lTU1BBQ0UoUHlfQ0hBUk1BU0soKmxhc3RjKSkpCi0gICAgICAgICAgICAqbGFzdGMtLSA9ICdcMCc7IC8qIFRyaW0gVHJhaWxpbmcgV2hpdGVzcGFjZSAoQ1JMRikgKi8KLSAgICB9Ci0KLSAgICAvKiBBZGQgT3B0aW9uYWwgUmVhc29uIFRleHQgKi8KLSAgICBpZiAocmVhc29uKSB7Ci0gICAgICAgIHN0cmNhdChtc2didWYsICIgOiAiKTsKLSAgICAgICAgc3RyY2F0KG1zZ2J1ZiwgcmVhc29uKTsKLSAgICB9Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiAgICAgICAgICAgICBEZWNvZGUgYW4gT1MvMiBPcGVyYXRpbmcgU3lzdGVtIEVycm9yIENvZGUKLSAqCi0gKiBBIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGxvb2t1cCBhbiBPUy8yIGVycm9yIGNvZGUgYW5kIHJldHVybiBhCi0gKiB0ZXh0IG1lc3NhZ2Ugd2UgY2FuIHVzZSB0byByYWlzZSBhIFB5dGhvbiBleGNlcHRpb24uCi0gKgotICogTm90ZXM6Ci0gKiAgIFRoZSBtZXNzYWdlcyBmb3IgZXJyb3JzIHJldHVybmVkIGZyb20gdGhlIE9TLzIga2VybmVsIHJlc2lkZSBpbgotICogICB0aGUgZmlsZSBPU08wMDEuTVNHIGluIHRoZSBcT1MyIGRpcmVjdG9yeSBoaWVyYXJjaHkuCi0gKgotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1zdGF0aWMgY2hhciAqCi1vczJfc3RyZXJyb3IoY2hhciAqbXNnYnVmLCBpbnQgbXNnYnVmbGVuLCBpbnQgZXJyb3Jjb2RlLCBjaGFyICpyZWFzb24pCi17Ci0gICAgQVBJUkVUIHJjOwotICAgIFVMT05HICBtc2dsZW47Ci0KLSAgICAvKiBSZXRyaWV2ZSBLZXJuZWwtUmVsYXRlZCBFcnJvciBNZXNzYWdlIGZyb20gT1NPMDAxLk1TRyBGaWxlICovCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJjID0gRG9zR2V0TWVzc2FnZShOVUxMLCAwLCBtc2didWYsIG1zZ2J1ZmxlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Jjb2RlLCAib3NvMDAxLm1zZyIsICZtc2dsZW4pOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICBpZiAocmMgPT0gTk9fRVJST1IpCi0gICAgICAgIG9zMl9mb3JtYXRtc2cobXNnYnVmLCBtc2dsZW4sIHJlYXNvbik7Ci0gICAgZWxzZQotICAgICAgICBQeU9TX3NucHJpbnRmKG1zZ2J1ZiwgbXNnYnVmbGVuLAotICAgICAgICAgICAgICAgICAgICAgICJ1bmtub3duIE9TIGVycm9yICMlZCIsIGVycm9yY29kZSk7Ci0KLSAgICByZXR1cm4gbXNnYnVmOwotfQotCi0vKiBTZXQgYW4gT1MvMi1zcGVjaWZpYyBlcnJvciBhbmQgcmV0dXJuIE5VTEwuICBPUy8yIGtlcm5lbAotICAgZXJyb3JzIGFyZSBub3QgaW4gYSBnbG9iYWwgdmFyaWFibGUgZS5nLiAnZXJybm8nIG5vciBhcmUKLSAgIHRoZXkgY29uZ3J1ZW50IHdpdGggcG9zaXggZXJyb3IgbnVtYmVycy4gKi8KLQotc3RhdGljIFB5T2JqZWN0ICoKLW9zMl9lcnJvcihpbnQgY29kZSkKLXsKLSAgICBjaGFyIHRleHRbMTAyNF07Ci0gICAgUHlPYmplY3QgKnY7Ci0KLSAgICBvczJfc3RyZXJyb3IodGV4dCwgc2l6ZW9mKHRleHQpLCBjb2RlLCAiIik7Ci0KLSAgICB2ID0gUHlfQnVpbGRWYWx1ZSgiKGlzKSIsIGNvZGUsIHRleHQpOwotICAgIGlmICh2ICE9IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjX09TRXJyb3IsIHYpOwotICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgfQotICAgIHJldHVybiBOVUxMOyAvKiBTaWduYWwgdG8gUHl0aG9uIHRoYXQgYW4gRXhjZXB0aW9uIGlzIFBlbmRpbmcgKi8KLX0KLQotI2VuZGlmIC8qIE9TMiAqLwotCiAvKiBQT1NJWCBnZW5lcmljIG1ldGhvZHMgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEzODksNjUgKzEyMTgsMzEgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLXBvc2l4XzFzdHIoUHlPYmplY3QgKmFyZ3MsIGNoYXIgKmZvcm1hdCwgaW50ICgqZnVuYykoY29uc3QgY2hhciopKQorcG9zaXhfMXN0cihjb25zdCBjaGFyICpmdW5jX25hbWUsIFB5T2JqZWN0ICphcmdzLCBjaGFyICpmb3JtYXQsCisgICAgICAgICAgIGludCAoKmZ1bmMpKGNvbnN0IGNoYXIqKSkKIHsKLSAgICBQeU9iamVjdCAqb3BhdGgxID0gTlVMTDsKLSAgICBjaGFyICpwYXRoMTsKKyAgICBwYXRoX3QgcGF0aDsKICAgICBpbnQgcmVzOworICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSBmdW5jX25hbWU7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIGZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aDEgPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoMSk7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9ICgqZnVuYykocGF0aDEpOworICAgIHJlcyA9ICgqZnVuYykocGF0aC5uYXJyb3cpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcl93aXRoX2FsbG9jYXRlZF9maWxlbmFtZShvcGF0aDEpOwotICAgIFB5X0RFQ1JFRihvcGF0aDEpOworICAgIGlmIChyZXMgPCAwKSB7CisgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOworICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CiB9CiAKIAogI2lmZGVmIE1TX1dJTkRPV1MKLXN0YXRpYyBQeU9iamVjdCoKLXdpbjMyXzFzdHIoUHlPYmplY3QqIGFyZ3MsIGNoYXIqIGZ1bmMsCi0gICAgICAgICAgIGNoYXIqIGZvcm1hdCwgQk9PTCAoX19zdGRjYWxsICpmdW5jQSkoTFBDU1RSKSwKLSAgICAgICAgICAgY2hhciogd2Zvcm1hdCwgQk9PTCAoX19zdGRjYWxsICpmdW5jVykoTFBXU1RSKSkKLXsKLSAgICBQeU9iamVjdCAqdW5pOwotICAgIGNvbnN0IGNoYXIgKmFuc2k7Ci0gICAgQk9PTCByZXN1bHQ7Ci0KLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCB3Zm9ybWF0LCAmdW5pKSkKLSAgICB7Ci0gICAgICAgIHdjaGFyX3QgKndzdHIgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHVuaSk7Ci0gICAgICAgIGlmICh3c3RyID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXN1bHQgPSBmdW5jVyh3c3RyKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KGZ1bmMsIHVuaSk7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgcmV0dXJuIFB5X05vbmU7Ci0gICAgfQotICAgIFB5RXJyX0NsZWFyKCk7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgZm9ybWF0LCAmYW5zaSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICh3aW4zMl93YXJuX2J5dGVzX2FwaSgpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzdWx0ID0gZnVuY0EoYW5zaSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yKGZ1bmMsIGFuc2kpOwotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKLQotfQotCiAvKiBUaGlzIGlzIGEgcmVpbXBsZW1lbnRhdGlvbiBvZiB0aGUgQyBsaWJyYXJ5J3MgY2hkaXIgZnVuY3Rpb24sCiAgICBidXQgb25lIHRoYXQgcHJvZHVjZXMgV2luMzIgZXJyb3JzIGluc3RlYWQgb2YgRE9TIGVycm9yIGNvZGVzLgogICAgY2hkaXIgaXMgZXNzZW50aWFsbHkgYSB3cmFwcGVyIGFyb3VuZCBTZXRDdXJyZW50RGlyZWN0b3J5OyBob3dldmVyLApAQCAtMTUyNCwxMyArMTMxOSwxMyBAQAogI2RlZmluZSBIQVZFX1NUQVRfTlNFQyAxCiAKIHN0cnVjdCB3aW4zMl9zdGF0ewotICAgIGludCBzdF9kZXY7CisgICAgdW5zaWduZWQgbG9uZyBzdF9kZXY7CiAgICAgX19pbnQ2NCBzdF9pbm87CiAgICAgdW5zaWduZWQgc2hvcnQgc3RfbW9kZTsKICAgICBpbnQgc3Rfbmxpbms7CiAgICAgaW50IHN0X3VpZDsKICAgICBpbnQgc3RfZ2lkOwotICAgIGludCBzdF9yZGV2OworICAgIHVuc2lnbmVkIGxvbmcgc3RfcmRldjsKICAgICBfX2ludDY0IHN0X3NpemU7CiAgICAgdGltZV90IHN0X2F0aW1lOwogICAgIGludCBzdF9hdGltZV9uc2VjOwpAQCAtMTU4OSw2ICsxMzg0LDggQEAKICAgICBtZW1zZXQocmVzdWx0LCAwLCBzaXplb2YoKnJlc3VsdCkpOwogICAgIHJlc3VsdC0+c3RfbW9kZSA9IGF0dHJpYnV0ZXNfdG9fbW9kZShpbmZvLT5kd0ZpbGVBdHRyaWJ1dGVzKTsKICAgICByZXN1bHQtPnN0X3NpemUgPSAoKChfX2ludDY0KWluZm8tPm5GaWxlU2l6ZUhpZ2gpPDwzMikgKyBpbmZvLT5uRmlsZVNpemVMb3c7CisgICAgcmVzdWx0LT5zdF9kZXYgPSBpbmZvLT5kd1ZvbHVtZVNlcmlhbE51bWJlcjsKKyAgICByZXN1bHQtPnN0X3JkZXYgPSByZXN1bHQtPnN0X2RldjsKICAgICBGSUxFX1RJTUVfdG9fdGltZV90X25zZWMoJmluZm8tPmZ0Q3JlYXRpb25UaW1lLCAmcmVzdWx0LT5zdF9jdGltZSwgJnJlc3VsdC0+c3RfY3RpbWVfbnNlYyk7CiAgICAgRklMRV9USU1FX3RvX3RpbWVfdF9uc2VjKCZpbmZvLT5mdExhc3RXcml0ZVRpbWUsICZyZXN1bHQtPnN0X210aW1lLCAmcmVzdWx0LT5zdF9tdGltZV9uc2VjKTsKICAgICBGSUxFX1RJTUVfdG9fdGltZV90X25zZWMoJmluZm8tPmZ0TGFzdEFjY2Vzc1RpbWUsICZyZXN1bHQtPnN0X2F0aW1lLCAmcmVzdWx0LT5zdF9hdGltZV9uc2VjKTsKQEAgLTE2NTEsNyArMTQ0OCw3IEBACiB9CiAKIC8qIEdyYWIgR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlIGR5bmFtaWNhbGx5IGZyb20ga2VybmVsMzIgKi8KLXN0YXRpYyBpbnQgaGFzX0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSA9IDA7CitzdGF0aWMgaW50IGhhc19HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUgPSAtMTsKIHN0YXRpYyBEV09SRCAoQ0FMTEJBQ0sgKlB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcpKEhBTkRMRSwgTFBXU1RSLCBEV09SRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERXT1JEKTsKIHN0YXRpYyBpbnQKQEAgLTE2NjIsNyArMTQ1OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEV09SRCk7CiAKICAgICAvKiBvbmx5IHJlY2hlY2sgKi8KLSAgICBpZiAoIWhhc19HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUpCisgICAgaWYgKC0xID09IGhhc19HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUpCiAgICAgewogICAgICAgICBoS2VybmVsMzIgPSBHZXRNb2R1bGVIYW5kbGVXKEwiS0VSTkVMMzIiKTsKICAgICAgICAgKihGQVJQUk9DKikmUHlfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlQSA9IEdldFByb2NBZGRyZXNzKGhLZXJuZWwzMiwKQEAgLTIyODksNyArMjA4Niw5IEBACiAjZWxzZQogICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0odiwgMSwgUHlMb25nX0Zyb21Mb25nKChsb25nKXN0LT5zdF9pbm8pKTsKICNlbmRpZgotI2lmIGRlZmluZWQoSEFWRV9MT05HX0xPTkcpICYmICFkZWZpbmVkKE1TX1dJTkRPV1MpCisjaWZkZWYgTVNfV0lORE9XUworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0odiwgMiwgUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoc3QtPnN0X2RldikpOworI2VsaWYgZGVmaW5lZChIQVZFX0xPTkdfTE9ORykKICAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHYsIDIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUxvbmdfRnJvbUxvbmdMb25nKChQWV9MT05HX0xPTkcpc3QtPnN0X2RldikpOwogI2Vsc2UKQEAgLTI0MjQsOCArMjIyMyw5IEBACiAgICAgICAgIHJlc3VsdCA9IFNUQVQocGF0aC0+bmFycm93LCAmc3QpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKLSAgICBpZiAocmVzdWx0ICE9IDApCi0gICAgICAgIHJldHVybiBwYXRoX2Vycm9yKCJzdGF0IiwgcGF0aCk7CisgICAgaWYgKHJlc3VsdCAhPSAwKSB7CisgICAgICAgIHJldHVybiBwYXRoX2Vycm9yKHBhdGgpOworICAgIH0KIAogICAgIHJldHVybiBfcHlzdGF0X2Zyb21zdHJ1Y3RzdGF0KCZzdCk7CiB9CkBAIC0yNDU2LDYgKzIyNTYsNyBAQAogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7CiAKICAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInN0YXQiOwogICAgIHBhdGguYWxsb3dfZmQgPSAxOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfCRPJnA6c3RhdCIsIGtleXdvcmRzLAogICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCkBAIC0yNDg2LDYgKzIyODcsNyBAQAogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWU7CiAKICAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxzdGF0IjsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6bHN0YXQiLCBrZXl3b3JkcywKICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAogI2lmZGVmIEhBVkVfRlNUQVRBVApAQCAtMjY5NCw2ICsyNDk2LDcgQEAKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJjaGRpciI7CiAjaWZkZWYgSEFWRV9GQ0hESVIKICAgICBwYXRoLmFsbG93X2ZkID0gMTsKICNlbmRpZgpAQCAtMjcwOSw4ICsyNTEyLDYgQEAKICAgICBlbHNlCiAgICAgICAgIHJlc3VsdCA9IHdpbjMyX2NoZGlyKHBhdGgubmFycm93KTsKICAgICByZXN1bHQgPSAhcmVzdWx0OyAvKiBvbiB1bml4LCBzdWNjZXNzID0gMCwgb24gd2luZG93cywgc3VjY2VzcyA9ICEwICovCi0jZWxpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfR0NDKQotICAgIHJlc3VsdCA9IF9jaGRpcjIocGF0aC5uYXJyb3cpOwogI2Vsc2UKICNpZmRlZiBIQVZFX0ZDSERJUgogICAgIGlmIChwYXRoLmZkICE9IC0xKQpAQCAtMjcyMiw3ICsyNTIzLDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCJjaGRpciIsICZwYXRoKTsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKQEAgLTI3ODYsNiArMjU4Nyw3IEBACiAjZW5kaWYKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2htb2QiOwogI2lmZGVmIEhBVkVfRkNITU9ECiAgICAgcGF0aC5hbGxvd19mZCA9IDE7CiAjZW5kaWYKQEAgLTI4MjYsNyArMjYyOCw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHdpbjMyX2Vycm9yX29iamVjdCgiY2htb2QiLCBwYXRoLm9iamVjdCk7CisgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogI2Vsc2UgLyogTVNfV0lORE9XUyAqLwpAQCAtMjg4MCw3ICsyNjgyLDcgQEAKICAgICAgICAgfQogICAgICAgICBlbHNlCiAjZW5kaWYKLSAgICAgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoImNobW9kIiwgJnBhdGgpOworICAgICAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAjZW5kaWYKQEAgLTI5MjQsMjAgKzI3MjYsMjMgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9sY2htb2QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOworICAgIHBhdGhfdCBwYXRoOwogICAgIGludCBpOwogICAgIGludCByZXM7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJmk6bGNobW9kIiwgUHlVbmljb2RlX0ZTQ29udmVydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3BhdGgsICZpKSkKKyAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImxjaG1vZCI7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJmk6bGNobW9kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmaSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNobW9kKHBhdGgsIGkpOworICAgIHJlcyA9IGxjaG1vZChwYXRoLm5hcnJvdywgaSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yX3dpdGhfYWxsb2NhdGVkX2ZpbGVuYW1lKG9wYXRoKTsKLSAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIGlmIChyZXMgPCAwKSB7CisgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOworICAgICAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcGF0aF9jbGVhbnVwKCZwYXRoKTsKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KICNlbmRpZiAvKiBIQVZFX0xDSE1PRCAqLwpAQCAtMjk2NSw2ICsyNzcwLDcgQEAKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJmbGFncyIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2hmbGFncyI7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZrfCRpOmNoZmxhZ3MiLCBrZXl3b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmZmxhZ3MsICZmb2xsb3dfc3ltbGlua3MpKQpAQCAtMjk4NSw3ICsyNzkxLDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX3Bvc2l4X2Vycm9yKCJjaGZsYWdzIiwgJnBhdGgpOworICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApAQCAtMzAwOCwyMiArMjgxNCwyNCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X2xjaGZsYWdzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqb3BhdGg7Ci0gICAgY2hhciAqcGF0aDsKKyAgICBwYXRoX3QgcGF0aDsKICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwogICAgIGludCByZXM7CisgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsY2hmbGFncyI7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJms6bGNoZmxhZ3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCwgJmZsYWdzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmZmxhZ3MpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IGxjaGZsYWdzKHBhdGgsIGZsYWdzKTsKKyAgICByZXMgPSBsY2hmbGFncyhwYXRoLm5hcnJvdywgZmxhZ3MpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBwb3NpeF9lcnJvcl93aXRoX2FsbG9jYXRlZF9maWxlbmFtZShvcGF0aCk7Ci0gICAgUHlfREVDUkVGKG9wYXRoKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7CisgICAgaWYgKHJlcyA8IDApIHsKKyAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CisgICAgICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIEhBVkVfTENIRkxBR1MgKi8KIApAQCAtMzAzNSw3ICsyODQzLDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9jaHJvb3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHJldHVybiBwb3NpeF8xc3RyKGFyZ3MsICJPJjpjaHJvb3QiLCBjaHJvb3QpOworICAgIHJldHVybiBwb3NpeF8xc3RyKCJjaHJvb3QiLCBhcmdzLCAiTyY6Y2hyb290IiwgY2hyb290KTsKIH0KICNlbmRpZgogCkBAIC0zMTE3LDYgKzI5MjUsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAiY2hvd24iOwogI2lmZGVmIEhBVkVfRkNIT1dOCiAgICAgcGF0aC5hbGxvd19mZCA9IDE7CiAjZW5kaWYKQEAgLTMxNzQsNyArMjk4Myw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9wb3NpeF9lcnJvcigiY2hvd24iLCAmcGF0aCk7CisgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogCkBAIC0zMjIzLDIzICszMDMyLDI2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfbGNob3duKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqb3BhdGg7Ci0gICAgY2hhciAqcGF0aDsKKyAgICBwYXRoX3QgcGF0aDsKICAgICB1aWRfdCB1aWQ7CiAgICAgZ2lkX3QgZ2lkOwogICAgIGludCByZXM7CisgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJsY2hvd24iOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJk8mOmxjaG93biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9VaWRfQ29udmVydGVyLCAmdWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlfR2lkX0NvbnZlcnRlciwgJmdpZCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gbGNob3duKHBhdGgsIHVpZCwgZ2lkKTsKKyAgICByZXMgPSBsY2hvd24ocGF0aC5uYXJyb3csIHVpZCwgZ2lkKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgPCAwKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3Jfd2l0aF9hbGxvY2F0ZWRfZmlsZW5hbWUob3BhdGgpOwotICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyA8IDApIHsKKyAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CisgICAgICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KQEAgLTMyNzUsMTEgKzMwODcsMTMgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGlmICghbGVuKSB7Ci0gICAgICAgICAgICBpZiAod2J1ZjIgIT0gd2J1ZikgZnJlZSh3YnVmMik7Ci0gICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoImdldGN3ZHUiLCBOVUxMKTsKKyAgICAgICAgICAgIGlmICh3YnVmMiAhPSB3YnVmKQorICAgICAgICAgICAgICAgIGZyZWUod2J1ZjIpOworICAgICAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogICAgICAgICB9CiAgICAgICAgIHJlc29iaiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod2J1ZjIsIGxlbik7Ci0gICAgICAgIGlmICh3YnVmMiAhPSB3YnVmKSBmcmVlKHdidWYyKTsKKyAgICAgICAgaWYgKHdidWYyICE9IHdidWYpCisgICAgICAgICAgICBmcmVlKHdidWYyKTsKICAgICAgICAgcmV0dXJuIHJlc29iajsKICAgICB9CiAKQEAgLTMyODgsMTEgKzMxMDIsNyBAQAogI2VuZGlmCiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICByZXMgPSBfZ2V0Y3dkMihidWYsIHNpemVvZiBidWYpOwotI2Vsc2UKICAgICByZXMgPSBnZXRjd2QoYnVmLCBzaXplb2YgYnVmKTsKLSNlbmRpZgogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKQEAgLTMzNTksNiArMzE2OSw4IEBACiAKICAgICBtZW1zZXQoJnNyYywgMCwgc2l6ZW9mKHNyYykpOwogICAgIG1lbXNldCgmZHN0LCAwLCBzaXplb2YoZHN0KSk7CisgICAgc3JjLmZ1bmN0aW9uX25hbWUgPSAibGluayI7CisgICAgZHN0LmZ1bmN0aW9uX25hbWUgPSAibGluayI7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJnxPJk8mcDpsaW5rIiwga2V5d29yZHMsCiAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnNyYywKICAgICAgICAgICAgIHBhdGhfY29udmVydGVyLCAmZHN0LApAQCAtMzM4OSw3ICszMjAxLDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKCFyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gd2luMzJfZXJyb3Jfb2JqZWN0KCJsaW5rIiwgZHN0Lm9iamVjdCk7CisgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnNyYyk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAjZWxzZQpAQCAtMzQwNyw3ICszMjE5LDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCJsaW5rIiwgJmRzdCk7CisgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnNyYyk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAjZW5kaWYKQEAgLTM0MzcsMTUgKzMyNDksMTEgQEAKICAgdGhlIGZpbGUgZGVzY3JpcHRvciBtdXN0IHJlZmVyIHRvIGEgZGlyZWN0b3J5LlxuXAogICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgdW5hdmFpbGFibGUsIHVzaW5nIGl0IHJhaXNlcyBOb3RJbXBsZW1lbnRlZEVycm9yLiIpOwogCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfbGlzdGRpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgcGF0aF90IHBhdGg7Ci0gICAgUHlPYmplY3QgKmxpc3QgPSBOVUxMOwotICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07Ci0gICAgaW50IGZkID0gLTE7Ci0KICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKEhBVkVfT1BFTkRJUikKK3N0YXRpYyBQeU9iamVjdCAqCitfbGlzdGRpcl93aW5kb3dzX25vX29wZW5kaXIocGF0aF90ICpwYXRoLCBQeU9iamVjdCAqbGlzdCkKK3sKKyAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsIE5VTEx9OwogICAgIFB5T2JqZWN0ICp2OwogICAgIEhBTkRMRSBoRmluZEZpbGUgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKICAgICBCT09MIHJlc3VsdDsKQEAgLTM0NTYsNDggKzMyNjQsMTcgQEAKICAgICBQeV9zc2l6ZV90IGxlbiA9IHNpemVvZihuYW1lYnVmKS01OwogICAgIFB5T2JqZWN0ICpwbyA9IE5VTEw7CiAgICAgd2NoYXJfdCAqd25hbWVidWYgPSBOVUxMOwotI2VsaWYgZGVmaW5lZChQWU9TX09TMikKLSNpZm5kZWYgTUFYX1BBVEgKLSNkZWZpbmUgTUFYX1BBVEggICAgQ0NITUFYUEFUSAotI2VuZGlmCi0gICAgY2hhciAqcHQ7Ci0gICAgUHlPYmplY3QgKnY7Ci0gICAgY2hhciBuYW1lYnVmW01BWF9QQVRIKzVdOwotICAgIEhESVIgIGhkaXIgPSAxOwotICAgIFVMT05HIHNyY2hjbnQgPSAxOwotICAgIEZJTEVGSU5EQlVGMyAgIGVwOwotICAgIEFQSVJFVCByYzsKLSNlbHNlCi0gICAgUHlPYmplY3QgKnY7Ci0gICAgRElSICpkaXJwID0gTlVMTDsKLSAgICBzdHJ1Y3QgZGlyZW50ICplcDsKLSAgICBpbnQgcmV0dXJuX3N0cjsgLyogaWYgZmFsc2UsIHJldHVybiBieXRlcyAqLwotI2VuZGlmCiAKLSAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7Ci0gICAgcGF0aC5udWxsYWJsZSA9IDE7Ci0jaWZkZWYgSEFWRV9GRE9QRU5ESVIKLSAgICBwYXRoLmFsbG93X2ZkID0gMTsKLSAgICBwYXRoLmZkID0gLTE7Ci0jZW5kaWYKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ8TyY6bGlzdGRpciIsIGtleXdvcmRzLAotICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgKLSAgICAgICAgKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICAvKiBYWFggU2hvdWxkIHJlZG8gdGhpcyBwdXR0aW5nIHRoZSAobm93IGZvdXIpIHZlcnNpb25zIG9mIG9wZW5kaXIKLSAgICAgICBpbiBzZXBhcmF0ZSBmaWxlcyBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtIGFsbCBoZXJlLi4uICovCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChIQVZFX09QRU5ESVIpCi0gICAgaWYgKCFwYXRoLm5hcnJvdykgeworICAgIGlmICghcGF0aC0+bmFycm93KSB7CiAgICAgICAgIFdJTjMyX0ZJTkRfREFUQVcgd0ZpbGVEYXRhOwogICAgICAgICB3Y2hhcl90ICpwb193Y2hhcnM7CiAKLSAgICAgICAgaWYgKCFwYXRoLndpZGUpIHsgLyogRGVmYXVsdCBhcmc6ICIuIiAqLworICAgICAgICBpZiAoIXBhdGgtPndpZGUpIHsgLyogRGVmYXVsdCBhcmc6ICIuIiAqLwogICAgICAgICAgICAgcG9fd2NoYXJzID0gTCIuIjsKICAgICAgICAgICAgIGxlbiA9IDE7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwb193Y2hhcnMgPSBwYXRoLndpZGU7Ci0gICAgICAgICAgICBsZW4gPSB3Y3NsZW4ocGF0aC53aWRlKTsKKyAgICAgICAgICAgIHBvX3djaGFycyA9IHBhdGgtPndpZGU7CisgICAgICAgICAgICBsZW4gPSB3Y3NsZW4ocGF0aC0+d2lkZSk7CiAgICAgICAgIH0KICAgICAgICAgLyogVGhlICs1IGlzIHNvIHdlIGNhbiBhcHBlbmQgIlxcKi4qXDAiICovCiAgICAgICAgIHduYW1lYnVmID0gbWFsbG9jKChsZW4gKyA1KSAqIHNpemVvZih3Y2hhcl90KSk7CkBAIC0zNTIzLDggKzMzMDAsNyBAQAogICAgICAgICAgICAgaWYgKGVycm9yID09IEVSUk9SX0ZJTEVfTk9UX0ZPVU5EKQogICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKLSAgICAgICAgICAgIGxpc3QgPSBOVUxMOwotICAgICAgICAgICAgd2luMzJfZXJyb3JfdW5pY29kZSgiRmluZEZpcnN0RmlsZVciLCB3bmFtZWJ1Zik7CisgICAgICAgICAgICBsaXN0ID0gcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgfQogICAgICAgICBkbyB7CkBAIC0zNTUzLDE1ICszMzI5LDE1IEBACiAgICAgICAgICAgICAgICBpdCBnb3QgdG8gdGhlIGVuZCBvZiB0aGUgZGlyZWN0b3J5LiAqLwogICAgICAgICAgICAgaWYgKCFyZXN1bHQgJiYgR2V0TGFzdEVycm9yKCkgIT0gRVJST1JfTk9fTU9SRV9GSUxFUykgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKLSAgICAgICAgICAgICAgICBsaXN0ID0gd2luMzJfZXJyb3JfdW5pY29kZSgiRmluZE5leHRGaWxlVyIsIHduYW1lYnVmKTsKKyAgICAgICAgICAgICAgICBsaXN0ID0gcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gd2hpbGUgKHJlc3VsdCA9PSBUUlVFKTsKIAogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQotICAgIHN0cmNweShuYW1lYnVmLCBwYXRoLm5hcnJvdyk7Ci0gICAgbGVuID0gcGF0aC5sZW5ndGg7CisgICAgc3RyY3B5KG5hbWVidWYsIHBhdGgtPm5hcnJvdyk7CisgICAgbGVuID0gcGF0aC0+bGVuZ3RoOwogICAgIGlmIChsZW4gPiAwKSB7CiAgICAgICAgIGNoYXIgY2ggPSBuYW1lYnVmW2xlbi0xXTsKICAgICAgICAgaWYgKGNoICE9IFNFUCAmJiBjaCAhPSBBTFRTRVAgJiYgY2ggIT0gJzonKQpAQCAtMzU4MCw3ICszMzU2LDcgQEAKICAgICAgICAgaWYgKGVycm9yID09IEVSUk9SX0ZJTEVfTk9UX0ZPVU5EKQogICAgICAgICAgICAgZ290byBleGl0OwogICAgICAgICBQeV9ERUNSRUYobGlzdCk7Ci0gICAgICAgIGxpc3QgPSB3aW4zMl9lcnJvcigiRmluZEZpcnN0RmlsZSIsIG5hbWVidWYpOworICAgICAgICBsaXN0ID0gcGF0aF9lcnJvcihwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KICAgICBkbyB7CkBAIC0zNjA4LDcgKzMzODQsNyBAQAogICAgICAgICAgICBpdCBnb3QgdG8gdGhlIGVuZCBvZiB0aGUgZGlyZWN0b3J5LiAqLwogICAgICAgICBpZiAoIXJlc3VsdCAmJiBHZXRMYXN0RXJyb3IoKSAhPSBFUlJPUl9OT19NT1JFX0ZJTEVTKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYobGlzdCk7Ci0gICAgICAgICAgICBsaXN0ID0gd2luMzJfZXJyb3IoIkZpbmROZXh0RmlsZSIsIG5hbWVidWYpOworICAgICAgICAgICAgbGlzdCA9IHBhdGhfZXJyb3IocGF0aCk7CiAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgIH0KICAgICB9IHdoaWxlIChyZXN1bHQgPT0gVFJVRSk7CkBAIC0zNjE4LDg2ICszMzk0LDM0IEBACiAgICAgICAgIGlmIChGaW5kQ2xvc2UoaEZpbmRGaWxlKSA9PSBGQUxTRSkgewogICAgICAgICAgICAgaWYgKGxpc3QgIT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKLSAgICAgICAgICAgICAgICBsaXN0ID0gd2luMzJfZXJyb3Jfb2JqZWN0KCJGaW5kQ2xvc2UiLCBwYXRoLm9iamVjdCk7CisgICAgICAgICAgICAgICAgbGlzdCA9IHBhdGhfZXJyb3IocGF0aCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKHduYW1lYnVmKQogICAgICAgICBmcmVlKHduYW1lYnVmKTsKLSAgICBwYXRoX2NsZWFudXAoJnBhdGgpOwogCiAgICAgcmV0dXJuIGxpc3Q7Cit9ICAvKiBlbmQgb2YgX2xpc3RkaXJfd2luZG93c19ub19vcGVuZGlyICovCiAKLSNlbGlmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgaWYgKHBhdGgubGVuZ3RoID49IE1BWF9QQVRIKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAicGF0aCB0b28gbG9uZyIpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotICAgIHN0cmNweShuYW1lYnVmLCBwYXRoLm5hcnJvdyk7Ci0gICAgZm9yIChwdCA9IG5hbWVidWY7ICpwdDsgcHQrKykKLSAgICAgICAgaWYgKCpwdCA9PSBBTFRTRVApCi0gICAgICAgICAgICAqcHQgPSBTRVA7Ci0gICAgaWYgKG5hbWVidWZbbGVuLTFdICE9IFNFUCkKLSAgICAgICAgbmFtZWJ1ZltsZW4rK10gPSBTRVA7Ci0gICAgc3RyY3B5KG5hbWVidWYgKyBsZW4sICIqLioiKTsKKyNlbHNlICAvKiB0aHVzIFBPU0lYLCBpZTogbm90IChNU19XSU5ET1dTIGFuZCBub3QgSEFWRV9PUEVORElSKSAqLwogCi0gICAgaWYgKChsaXN0ID0gUHlMaXN0X05ldygwKSkgPT0gTlVMTCkgewotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQorc3RhdGljIFB5T2JqZWN0ICoKK19wb3NpeF9saXN0ZGlyKHBhdGhfdCAqcGF0aCwgUHlPYmplY3QgKmxpc3QpCit7CisgICAgaW50IGZkID0gLTE7CiAKLSAgICByYyA9IERvc0ZpbmRGaXJzdChuYW1lYnVmLCAgICAgICAgIC8qIFdpbGRjYXJkIFBhdHRlcm4gdG8gTWF0Y2ggKi8KLSAgICAgICAgICAgICAgICAgICAgICAmaGRpciwgICAgICAgICAgIC8qIEhhbmRsZSB0byBVc2UgV2hpbGUgU2VhcmNoIERpcmVjdG9yeSAqLwotICAgICAgICAgICAgICAgICAgICAgIEZJTEVfUkVBRE9OTFkgfCBGSUxFX0hJRERFTiB8IEZJTEVfU1lTVEVNIHwgRklMRV9ESVJFQ1RPUlksCi0gICAgICAgICAgICAgICAgICAgICAgJmVwLCBzaXplb2YoZXApLCAvKiBTdHJ1Y3R1cmUgdG8gUmVjZWl2ZSBEaXJlY3RvcnkgRW50cnkgKi8KLSAgICAgICAgICAgICAgICAgICAgICAmc3JjaGNudCwgICAgICAgIC8qIE1heCBhbmQgQWN0dWFsIENvdW50IG9mIEVudHJpZXMgUGVyIEl0ZXJhdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgIEZJTF9TVEFOREFSRCk7ICAgLyogRm9ybWF0IG9mIEVudHJ5IChFQXMgb3IgTm90KSAqLwotCi0gICAgaWYgKHJjICE9IE5PX0VSUk9SKSB7Ci0gICAgICAgIGVycm5vID0gRU5PRU5UOwotICAgICAgICBQeV9ERUNSRUYobGlzdCk7Ci0gICAgICAgIGxpc3QgPSBwb3NpeF9lcnJvcl93aXRoX2ZpbGVuYW1lKHBhdGgubmFycm93KTsKLSAgICAgICAgZ290byBleGl0OwotICAgIH0KLQotICAgIGlmIChzcmNoY250ID4gMCkgeyAvKiBJZiBEaXJlY3RvcnkgaXMgTk9UIFRvdGFsbHkgRW1wdHksICovCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIGlmIChlcC5hY2hOYW1lWzBdID09ICcuJwotICAgICAgICAgICAgJiYgKGVwLmFjaE5hbWVbMV0gPT0gJ1wwJyB8fCAoZXAuYWNoTmFtZVsxXSA9PSAnLicgJiYgZXAuYWNoTmFtZVsyXSA9PSAnXDAnKSkpCi0gICAgICAgICAgICAgICAgY29udGludWU7IC8qIFNraXAgT3ZlciAiLiIgYW5kICIuLiIgTmFtZXMgKi8KLQotICAgICAgICAgICAgc3RyY3B5KG5hbWVidWYsIGVwLmFjaE5hbWUpOwotCi0gICAgICAgICAgICAvKiBMZWF2ZSBDYXNlIG9mIE5hbWUgQWxvbmUgLS0gSW4gTmF0aXZlIEZvcm0gKi8KLSAgICAgICAgICAgIC8qIChSZW1vdmVkIEZvcmNlZCBMb3dlcmNhc2luZyBDb2RlKSAqLwotCi0gICAgICAgICAgICB2ID0gUHlCeXRlc19Gcm9tU3RyaW5nKG5hbWVidWYpOwotICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKLSAgICAgICAgICAgICAgICBsaXN0ID0gTlVMTDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKGxpc3QsIHYpICE9IDApIHsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKGxpc3QpOwotICAgICAgICAgICAgICAgIGxpc3QgPSBOVUxMOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICB9IHdoaWxlIChEb3NGaW5kTmV4dChoZGlyLCAmZXAsIHNpemVvZihlcCksICZzcmNoY250KSA9PSBOT19FUlJPUiAmJiBzcmNoY250ID4gMCk7Ci0gICAgfQotCi1leGl0OgotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0KLSAgICByZXR1cm4gbGlzdDsKLSNlbHNlCisgICAgUHlPYmplY3QgKnY7CisgICAgRElSICpkaXJwID0gTlVMTDsKKyAgICBzdHJ1Y3QgZGlyZW50ICplcDsKKyAgICBpbnQgcmV0dXJuX3N0cjsgLyogaWYgZmFsc2UsIHJldHVybiBieXRlcyAqLwogCiAgICAgZXJybm8gPSAwOwogI2lmZGVmIEhBVkVfRkRPUEVORElSCi0gICAgaWYgKHBhdGguZmQgIT0gLTEpIHsKKyAgICBpZiAocGF0aC0+ZmQgIT0gLTEpIHsKICAgICAgICAgLyogY2xvc2VkaXIoKSBjbG9zZXMgdGhlIEZELCBzbyB3ZSBkdXBsaWNhdGUgaXQgKi8KICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBmZCA9IGR1cChwYXRoLmZkKTsKKyAgICAgICAgZmQgPSBkdXAocGF0aC0+ZmQpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgICAgIGlmIChmZCA9PSAtMSkgewpAQCAtMzcxNSwxMCArMzQzOSwxMCBAQAogI2VuZGlmCiAgICAgewogICAgICAgICBjaGFyICpuYW1lOwotICAgICAgICBpZiAocGF0aC5uYXJyb3cpIHsKLSAgICAgICAgICAgIG5hbWUgPSBwYXRoLm5hcnJvdzsKKyAgICAgICAgaWYgKHBhdGgtPm5hcnJvdykgeworICAgICAgICAgICAgbmFtZSA9IHBhdGgtPm5hcnJvdzsKICAgICAgICAgICAgIC8qIG9ubHkgcmV0dXJuIGJ5dGVzIGlmIHRoZXkgc3BlY2lmaWVkIGEgYnl0ZXMgb2JqZWN0ICovCi0gICAgICAgICAgICByZXR1cm5fc3RyID0gIShQeUJ5dGVzX0NoZWNrKHBhdGgub2JqZWN0KSk7CisgICAgICAgICAgICByZXR1cm5fc3RyID0gIShQeUJ5dGVzX0NoZWNrKHBhdGgtPm9iamVjdCkpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgbmFtZSA9ICIuIjsKQEAgLTM3MzEsNyArMzQ1NSw3IEBACiAgICAgfQogCiAgICAgaWYgKGRpcnAgPT0gTlVMTCkgewotICAgICAgICBsaXN0ID0gcGF0aF9lcnJvcigibGlzdGRpciIsICZwYXRoKTsKKyAgICAgICAgbGlzdCA9IHBhdGhfZXJyb3IocGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAgICAgaWYgKChsaXN0ID0gUHlMaXN0X05ldygwKSkgPT0gTlVMTCkgewpAQCAtMzc0Nyw3ICszNDcxLDcgQEAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGxpc3QpOwotICAgICAgICAgICAgICAgIGxpc3QgPSBwYXRoX2Vycm9yKCJsaXN0ZGlyIiwgJnBhdGgpOworICAgICAgICAgICAgICAgIGxpc3QgPSBwYXRoX2Vycm9yKHBhdGgpOwogICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMzc4MCwxMiArMzUwNCwzOSBAQAogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIH0KIAotICAgIHBhdGhfY2xlYW51cCgmcGF0aCk7Ci0KICAgICByZXR1cm4gbGlzdDsKK30gIC8qIGVuZCBvZiBfcG9zaXhfbGlzdGRpciAqLworI2VuZGlmICAvKiB3aGljaCBPUyAqLwogCi0jZW5kaWYgLyogd2hpY2ggT1MgKi8KLX0gIC8qIGVuZCBvZiBwb3NpeF9saXN0ZGlyICovCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfbGlzdGRpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgcGF0aF90IHBhdGg7CisgICAgUHlPYmplY3QgKmxpc3QgPSBOVUxMOworICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgTlVMTH07CisgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZTsKKworICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibGlzdGRpciI7CisgICAgcGF0aC5udWxsYWJsZSA9IDE7CisjaWZkZWYgSEFWRV9GRE9QRU5ESVIKKyAgICBwYXRoLmFsbG93X2ZkID0gMTsKKyAgICBwYXRoLmZkID0gLTE7CisjZW5kaWYKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInxPJjpsaXN0ZGlyIiwga2V5d29yZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoKSkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKEhBVkVfT1BFTkRJUikKKyAgICByZXR1cm5fdmFsdWUgPSBfbGlzdGRpcl93aW5kb3dzX25vX29wZW5kaXIoJnBhdGgsIGxpc3QpOworI2Vsc2UKKyAgICByZXR1cm5fdmFsdWUgPSBfcG9zaXhfbGlzdGRpcigmcGF0aCwgbGlzdCk7CisjZW5kaWYKKyAgICBwYXRoX2NsZWFudXAoJnBhdGgpOworICAgIHJldHVybiByZXR1cm5fdmFsdWU7Cit9CiAKICNpZmRlZiBNU19XSU5ET1dTCiAvKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgYWJzcGF0aCBvbiB3aW4zMiAqLwpAQCAtMzkxMSwzMSArMzY2Miw2IEBACiAKIH0gLyogZW5kIG9mIHBvc2l4X19nZXRmaW5hbHBhdGhuYW1lICovCiAKLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF9fZ2V0ZmlsZWluZm9ybWF0aW9uKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBIQU5ETEUgaEZpbGU7Ci0gICAgQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT04gaW5mbzsKLSAgICBpbnQgZmQ7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6X2dldGZpbGVpbmZvcm1hdGlvbiIsICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLQotICAgIGhGaWxlID0gKEhBTkRMRSlfZ2V0X29zZmhhbmRsZShmZCk7Ci0gICAgaWYgKGhGaWxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLQotICAgIGlmICghR2V0RmlsZUluZm9ybWF0aW9uQnlIYW5kbGUoaEZpbGUsICZpbmZvKSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yKCJfZ2V0ZmlsZWluZm9ybWF0aW9uIiwgTlVMTCk7Ci0KLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaWlpIiwgaW5mby5kd1ZvbHVtZVNlcmlhbE51bWJlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5uRmlsZUluZGV4SGlnaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5uRmlsZUluZGV4TG93KTsKLX0KLQogUHlEb2NfU1RSVkFSKHBvc2l4X19pc2Rpcl9fZG9jX18sCiAiUmV0dXJuIHRydWUgaWYgdGhlIHBhdGhuYW1lIHJlZmVycyB0byBhbiBleGlzdGluZyBkaXJlY3RvcnkuIik7CiAKQEAgLTM5OTgsNiArMzcyNCw3IEBACiAgICAgaW50IHJlc3VsdDsKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibWtkaXIiOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mfGkkTyY6bWtkaXIiLCBrZXl3b3JkcywKICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLCAmbW9kZSwKICNpZmRlZiBIQVZFX01LRElSQVQKQEAgLTQwMTcsNyArMzc0NCw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHdpbjMyX2Vycm9yX29iamVjdCgibWtkaXIiLCBwYXRoLm9iamVjdCk7CisgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogI2Vsc2UKQEAgLTQwMzQsNyArMzc2MSw3IEBACiAjZW5kaWYKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXN1bHQgPCAwKSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoIm1rZGlyIiwgJnBhdGgpOworICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KICNlbmRpZgpAQCAtNDE1Miw2ICszODc5LDggQEAKIAogICAgIG1lbXNldCgmc3JjLCAwLCBzaXplb2Yoc3JjKSk7CiAgICAgbWVtc2V0KCZkc3QsIDAsIHNpemVvZihkc3QpKTsKKyAgICBzcmMuZnVuY3Rpb25fbmFtZSA9IGZ1bmN0aW9uX25hbWU7CisgICAgZHN0LmZ1bmN0aW9uX25hbWUgPSBmdW5jdGlvbl9uYW1lOwogICAgIHN0cmNweShmb3JtYXQsICJPJk8mfCRPJk8mOiIpOwogICAgIHN0cmNhdChmb3JtYXQsIGZ1bmN0aW9uX25hbWUpOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgZm9ybWF0LCBrZXl3b3JkcywKQEAgLTQxODUsNyArMzkxNCw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHdpbjMyX2Vycm9yX29iamVjdChmdW5jdGlvbl9uYW1lLCBkc3Qub2JqZWN0KTsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmc3JjKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApAQCAtNDIwMCw3ICszOTI5LDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKGZ1bmN0aW9uX25hbWUsICZkc3QpOworICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZzcmMpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogI2VuZGlmCkBAIC00MjY0LDYgKzM5OTMsNyBAQAogICAgIFB5T2JqZWN0ICpyZXR1cm5fdmFsdWUgPSBOVUxMOwogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJybWRpciI7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8JE8mOnJtZGlyIiwga2V5d29yZHMsCiAgICAgICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCiAjaWZkZWYgSEFWRV9VTkxJTktBVApAQCAtNDI5Miw3ICs0MDIyLDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCJybWRpciIsICZwYXRoKTsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKQEAgLTQ0MjAsNiArNDE1MCw3IEBACiAgICAgUHlPYmplY3QgKnJldHVybl92YWx1ZSA9IE5VTEw7CiAKICAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInVubGluayI7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZ8JE8mOnVubGluayIsIGtleXdvcmRzLAogICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAogI2lmZGVmIEhBVkVfVU5MSU5LQVQKQEAgLTQ0NDgsNyArNDE3OSw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigidW5saW5rIiwgJnBhdGgpOworICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApAQCAtNDc1MSw2ICs0NDgyLDcgQEAKICAgICBQeU9iamVjdCAqcmV0dXJuX3ZhbHVlID0gTlVMTDsKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAidXRpbWUiOwogI2lmIFVUSU1FX0hBVkVfRkQKICAgICBwYXRoLmFsbG93X2ZkID0gMTsKICNlbmRpZgpAQCAtNDg0NSw3ICs0NTc3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFX0ZMQUdfQkFDS1VQX1NFTUFOVElDUywgTlVMTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAoaEZpbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgd2luMzJfZXJyb3Jfb2JqZWN0KCJ1dGltZSIsIHBhdGgub2JqZWN0KTsKKyAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKQEAgLTQ4NTQsNyArNDU4Niw3IEBACiAgICAgICAgIEdldFN5c3RlbVRpbWUoJm5vdyk7CiAgICAgICAgIGlmICghU3lzdGVtVGltZVRvRmlsZVRpbWUoJm5vdywgJm10aW1lKSB8fAogICAgICAgICAgICAgIVN5c3RlbVRpbWVUb0ZpbGVUaW1lKCZub3csICZhdGltZSkpIHsKLSAgICAgICAgICAgIHdpbjMyX2Vycm9yKCJ1dGltZSIsIE5VTEwpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgIH0KICAgICB9CkBAIC00ODY3LDcgKzQ1OTksNyBAQAogICAgICAgICAgICBhcyB0aGF0IG1heSBjb25mdXNlIHRoZSB1c2VyIGludG8gYmVsaWV2aW5nIHRoYXQKICAgICAgICAgICAgc29tZXRoaW5nIGlzIHdyb25nIHdpdGggdGhlIGZpbGUsIHdoZW4gaXQgYWxzbwogICAgICAgICAgICBjb3VsZCBiZSB0aGUgdGltZSBzdGFtcCB0aGF0IGdpdmVzIGEgcHJvYmxlbS4gKi8KLSAgICAgICAgd2luMzJfZXJyb3IoInV0aW1lIiwgTlVMTCk7CisgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogI2Vsc2UgLyogTVNfV0lORE9XUyAqLwpAQCAtNTAwMSwxMCArNDczMyw2IEBACiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKQotICAgICAgICAvKiBPbWl0IFBzZXVkby1FbnYgVmFycyB0aGF0IFdvdWxkIENvbmZ1c2UgUHJvZ3JhbXMgaWYgUGFzc2VkIE9uICovCi0gICAgICAgIGlmIChzdHJpY21wKGssICJCRUdJTkxJQlBBVEgiKSAhPSAwICYmIHN0cmljbXAoaywgIkVORExJQlBBVEgiKSAhPSAwKSB7Ci0jZW5kaWYKICAgICAgICAgayA9IFB5Qnl0ZXNfQXNTdHJpbmcoa2V5Mik7CiAgICAgICAgIHYgPSBQeUJ5dGVzX0FzU3RyaW5nKHZhbDIpOwogICAgICAgICBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKGtleTIpICsgUHlCeXRlc19HRVRfU0laRSh2YWwyKSArIDI7CkBAIC01MDIwLDkgKzQ3NDgsNiBAQAogICAgICAgICBlbnZsaXN0W2VudmMrK10gPSBwOwogICAgICAgICBQeV9ERUNSRUYoa2V5Mik7CiAgICAgICAgIFB5X0RFQ1JFRih2YWwyKTsKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKQotICAgICAgICB9Ci0jZW5kaWYKICAgICB9CiAgICAgUHlfREVDUkVGKHZhbHMpOwogICAgIFB5X0RFQ1JFRihrZXlzKTsKQEAgLTUxNDgsNiArNDg3Myw3IEBACiAgICAgICAgbGlrZSBwb3NpeC5lbnZpcm9uLiAqLwogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJleGVjdmUiOwogI2lmZGVmIEhBVkVfRkVYRUNWRQogICAgIHBhdGguYWxsb3dfZmQgPSAxOwogI2VuZGlmCkBAIC01MTg3LDcgKzQ5MTMsNyBAQAogCiAgICAgLyogSWYgd2UgZ2V0IGhlcmUgaXQncyBkZWZpbml0ZWx5IGFuIGVycm9yICovCiAKLSAgICBwYXRoX3Bvc2l4X2Vycm9yKCJleGVjdmUiLCAmcGF0aCk7CisgICAgcGF0aF9lcnJvcigmcGF0aCk7CiAKICAgICB3aGlsZSAoLS1lbnZjID49IDApCiAgICAgICAgIFB5TWVtX0RFTChlbnZsaXN0W2VudmNdKTsKQEAgLTUyNjMsMTggKzQ5ODksMTIgQEAKICAgICB9CiAgICAgYXJndmxpc3RbYXJnY10gPSBOVUxMOwogCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc3Bhd252YWwgPSBzcGF3bnYobW9kZSwgcGF0aCwgYXJndmxpc3QpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0jZWxzZQogICAgIGlmIChtb2RlID09IF9PTERfUF9PVkVSTEFZKQogICAgICAgICBtb2RlID0gX1BfT1ZFUkxBWTsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICBzcGF3bnZhbCA9IF9zcGF3bnYobW9kZSwgcGF0aCwgYXJndmxpc3QpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0jZW5kaWYKIAogICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBhcmdjKTsKICAgICBQeV9ERUNSRUYob3BhdGgpOwpAQCAtNTM2MiwxOCArNTA4MiwxMiBAQAogICAgIGlmIChlbnZsaXN0ID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbF8xOwogCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgc3Bhd252YWwgPSBzcGF3bnZlKG1vZGUsIHBhdGgsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotI2Vsc2UKICAgICBpZiAobW9kZSA9PSBfT0xEX1BfT1ZFUkxBWSkKICAgICAgICAgbW9kZSA9IF9QX09WRVJMQVk7CiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgc3Bhd252YWwgPSBfc3Bhd252ZShtb2RlLCBwYXRoLCBhcmd2bGlzdCwgZW52bGlzdCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSNlbmRpZgogCiAgICAgaWYgKHNwYXdudmFsID09IC0xKQogICAgICAgICAodm9pZCkgcG9zaXhfZXJyb3IoKTsKQEAgLTUzOTQsMTgzICs1MTA4LDYgQEAKICAgICByZXR1cm4gcmVzOwogfQogCi0vKiBPUy8yIHN1cHBvcnRzIHNwYXdudnAgJiBzcGF3bnZwZSBuYXRpdmVseSAqLwotI2lmIGRlZmluZWQoUFlPU19PUzIpCi1QeURvY19TVFJWQVIocG9zaXhfc3Bhd252cF9fZG9jX18sCi0ic3Bhd252cChtb2RlLCBmaWxlLCBhcmdzKVxuXG5cCi1FeGVjdXRlIHRoZSBwcm9ncmFtICdmaWxlJyBpbiBhIG5ldyBwcm9jZXNzLCB1c2luZyB0aGUgZW52aXJvbm1lbnRcblwKLXNlYXJjaCBwYXRoIHRvIGZpbmQgdGhlIGZpbGUuXG5cCi1cblwKLSAgICBtb2RlOiBtb2RlIG9mIHByb2Nlc3MgY3JlYXRpb25cblwKLSAgICBmaWxlOiBleGVjdXRhYmxlIGZpbGUgbmFtZVxuXAotICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncyIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3Bhd252cChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKm9wYXRoOwotICAgIGNoYXIgKnBhdGg7Ci0gICAgUHlPYmplY3QgKmFyZ3Y7Ci0gICAgY2hhciAqKmFyZ3ZsaXN0OwotICAgIGludCBtb2RlLCBpLCBhcmdjOwotICAgIFB5X2ludHB0cl90IHNwYXdudmFsOwotICAgIFB5T2JqZWN0ICooKmdldGl0ZW0pKFB5T2JqZWN0ICosIFB5X3NzaXplX3QpOwotCi0gICAgLyogc3Bhd252cCBoYXMgdGhyZWUgYXJndW1lbnRzOiAobW9kZSwgcGF0aCwgYXJndiksIHdoZXJlCi0gICAgICAgYXJndiBpcyBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncy4gKi8KLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mTzpzcGF3bnZwIiwgJm1vZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmYXJndikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKLSAgICBpZiAoUHlMaXN0X0NoZWNrKGFyZ3YpKSB7Ci0gICAgICAgIGFyZ2MgPSBQeUxpc3RfU2l6ZShhcmd2KTsKLSAgICAgICAgZ2V0aXRlbSA9IFB5TGlzdF9HZXRJdGVtOwotICAgIH0KLSAgICBlbHNlIGlmIChQeVR1cGxlX0NoZWNrKGFyZ3YpKSB7Ci0gICAgICAgIGFyZ2MgPSBQeVR1cGxlX1NpemUoYXJndik7Ci0gICAgICAgIGdldGl0ZW0gPSBQeVR1cGxlX0dldEl0ZW07Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInNwYXdudnAoKSBhcmcgMiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBhcmd2bGlzdCA9IFB5TWVtX05FVyhjaGFyICosIGFyZ2MrMSk7Ci0gICAgaWYgKGFyZ3ZsaXN0ID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKLSAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgfQotICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLSAgICAgICAgaWYgKCFmc2NvbnZlcnRfc3RyZHVwKCgqZ2V0aXRlbSkoYXJndiwgaSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJndmxpc3RbaV0pKSB7Ci0gICAgICAgICAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgaSk7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoCi0gICAgICAgICAgICAgICAgUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICJzcGF3bnZwKCkgYXJnIDIgbXVzdCBjb250YWluIG9ubHkgc3RyaW5ncyIpOwotICAgICAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgfQotICAgIGFyZ3ZsaXN0W2FyZ2NdID0gTlVMTDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSNpZiBkZWZpbmVkKFBZQ0NfR0NDKQotICAgIHNwYXdudmFsID0gc3Bhd252cChtb2RlLCBwYXRoLCBhcmd2bGlzdCk7Ci0jZWxzZQotICAgIHNwYXdudmFsID0gX3NwYXdudnAobW9kZSwgcGF0aCwgYXJndmxpc3QpOwotI2VuZGlmCi0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBhcmdjKTsKLSAgICBQeV9ERUNSRUYob3BhdGgpOwotCi0gICAgaWYgKHNwYXdudmFsID09IC0xKQotICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJsIiwgKGxvbmcpIHNwYXdudmFsKTsKLX0KLQotCi1QeURvY19TVFJWQVIocG9zaXhfc3Bhd252cGVfX2RvY19fLAotInNwYXdudnBlKG1vZGUsIGZpbGUsIGFyZ3MsIGVudilcblxuXAotRXhlY3V0ZSB0aGUgcHJvZ3JhbSAnZmlsZScgaW4gYSBuZXcgcHJvY2VzcywgdXNpbmcgdGhlIGVudmlyb25tZW50XG5cCi1zZWFyY2ggcGF0aCB0byBmaW5kIHRoZSBmaWxlLlxuXAotXG5cCi0gICAgbW9kZTogbW9kZSBvZiBwcm9jZXNzIGNyZWF0aW9uXG5cCi0gICAgZmlsZTogZXhlY3V0YWJsZSBmaWxlIG5hbWVcblwKLSAgICBhcmdzOiB0dXBsZSBvciBsaXN0IG9mIGFyZ3VtZW50c1xuXAotICAgIGVudjogZGljdGlvbmFyeSBvZiBzdHJpbmdzIG1hcHBpbmcgdG8gc3RyaW5ncyIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfc3Bhd252cGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOwotICAgIFB5T2JqZWN0ICphcmd2LCAqZW52OwotICAgIGNoYXIgKiphcmd2bGlzdDsKLSAgICBjaGFyICoqZW52bGlzdDsKLSAgICBQeU9iamVjdCAqcmVzPU5VTEw7Ci0gICAgaW50IG1vZGU7Ci0gICAgUHlfc3NpemVfdCBhcmdjLCBpLCBlbnZjOwotICAgIFB5X2ludHB0cl90IHNwYXdudmFsOwotICAgIFB5T2JqZWN0ICooKmdldGl0ZW0pKFB5T2JqZWN0ICosIFB5X3NzaXplX3QpOwotICAgIGludCBsYXN0YXJnID0gMDsKLQotICAgIC8qIHNwYXdudnBlIGhhcyBmb3VyIGFyZ3VtZW50czogKG1vZGUsIHBhdGgsIGFyZ3YsIGVudiksIHdoZXJlCi0gICAgICAgYXJndiBpcyBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncyBhbmQgZW52IGlzIGEgZGljdGlvbmFyeQotICAgICAgIGxpa2UgcG9zaXguZW52aXJvbi4gKi8KLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWV0T086c3Bhd252cGUiLCAmbW9kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmb3BhdGgsICZhcmd2LCAmZW52KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOwotICAgIGlmIChQeUxpc3RfQ2hlY2soYXJndikpIHsKLSAgICAgICAgYXJnYyA9IFB5TGlzdF9TaXplKGFyZ3YpOwotICAgICAgICBnZXRpdGVtID0gUHlMaXN0X0dldEl0ZW07Ci0gICAgfQotICAgIGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2soYXJndikpIHsKLSAgICAgICAgYXJnYyA9IFB5VHVwbGVfU2l6ZShhcmd2KTsKLSAgICAgICAgZ2V0aXRlbSA9IFB5VHVwbGVfR2V0SXRlbTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAic3Bhd252cGUoKSBhcmcgMiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOwotICAgICAgICBnb3RvIGZhaWxfMDsKLSAgICB9Ci0gICAgaWYgKCFQeU1hcHBpbmdfQ2hlY2soZW52KSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInNwYXdudnBlKCkgYXJnIDMgbXVzdCBiZSBhIG1hcHBpbmcgb2JqZWN0Iik7Ci0gICAgICAgIGdvdG8gZmFpbF8wOwotICAgIH0KLQotICAgIGFyZ3ZsaXN0ID0gUHlNZW1fTkVXKGNoYXIgKiwgYXJnYysxKTsKLSAgICBpZiAoYXJndmxpc3QgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICBnb3RvIGZhaWxfMDsKLSAgICB9Ci0gICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgewotICAgICAgICBpZiAoIWZzY29udmVydF9zdHJkdXAoKCpnZXRpdGVtKShhcmd2LCBpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZhcmd2bGlzdFtpXSkpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGxhc3RhcmcgPSBpOwotICAgICAgICAgICAgZ290byBmYWlsXzE7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgbGFzdGFyZyA9IGFyZ2M7Ci0gICAgYXJndmxpc3RbYXJnY10gPSBOVUxMOwotCi0gICAgZW52bGlzdCA9IHBhcnNlX2Vudmxpc3QoZW52LCAmZW52Yyk7Ci0gICAgaWYgKGVudmxpc3QgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsXzE7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0jaWYgZGVmaW5lZChQWUNDX0dDQykKLSAgICBzcGF3bnZhbCA9IHNwYXdudnBlKG1vZGUsIHBhdGgsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKLSNlbHNlCi0gICAgc3Bhd252YWwgPSBfc3Bhd252cGUobW9kZSwgcGF0aCwgYXJndmxpc3QsIGVudmxpc3QpOwotI2VuZGlmCi0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGlmIChzcGF3bnZhbCA9PSAtMSkKLSAgICAgICAgKHZvaWQpIHBvc2l4X2Vycm9yKCk7Ci0gICAgZWxzZQotICAgICAgICByZXMgPSBQeV9CdWlsZFZhbHVlKCJsIiwgKGxvbmcpIHNwYXdudmFsKTsKLQotICAgIHdoaWxlICgtLWVudmMgPj0gMCkKLSAgICAgICAgUHlNZW1fREVMKGVudmxpc3RbZW52Y10pOwotICAgIFB5TWVtX0RFTChlbnZsaXN0KTsKLSAgZmFpbF8xOgotICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCBsYXN0YXJnKTsKLSAgZmFpbF8wOgotICAgIFB5X0RFQ1JFRihvcGF0aCk7Ci0gICAgcmV0dXJuIHJlczsKLX0KLSNlbmRpZiAvKiBQWU9TX09TMiAqLwogI2VuZGlmIC8qIEhBVkVfU1BBV05WICovCiAKIApAQCAtNjU5MCwyMyArNjEyNyw4IEBACiAgICAgaW50IHNpZzsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiaTpraWxsIiwgJnBpZCwgJnNpZykpCiAgICAgICAgIHJldHVybiBOVUxMOwotI2lmIGRlZmluZWQoUFlPU19PUzIpICYmICFkZWZpbmVkKFBZQ0NfR0NDKQotICAgIGlmIChzaWcgPT0gWENQVF9TSUdOQUxfSU5UUiB8fCBzaWcgPT0gWENQVF9TSUdOQUxfQlJFQUspIHsKLSAgICAgICAgQVBJUkVUIHJjOwotICAgICAgICBpZiAoKHJjID0gRG9zU2VuZFNpZ25hbEV4Y2VwdGlvbihwaWQsIHNpZykpICE9IE5PX0VSUk9SKQotICAgICAgICAgICAgcmV0dXJuIG9zMl9lcnJvcihyYyk7Ci0KLSAgICB9IGVsc2UgaWYgKHNpZyA9PSBYQ1BUX1NJR05BTF9LSUxMUFJPQykgewotICAgICAgICBBUElSRVQgcmM7Ci0gICAgICAgIGlmICgocmMgPSBEb3NLaWxsUHJvY2VzcyhES1BfUFJPQ0VTUywgcGlkKSkgIT0gTk9fRVJST1IpCi0gICAgICAgICAgICByZXR1cm4gb3MyX2Vycm9yKHJjKTsKLQotICAgIH0gZWxzZQotICAgICAgICByZXR1cm4gTlVMTDsgLyogVW5yZWNvZ25pemVkIFNpZ25hbCBSZXF1ZXN0ZWQgKi8KLSNlbHNlCiAgICAgaWYgKGtpbGwocGlkLCBzaWcpID09IC0xKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSNlbmRpZgogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KQEAgLTcxMjksNiArNjY1MSw3IEBACiAgICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAiZGlyX2ZkIiwgTlVMTH07CiAKICAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInJlYWRsaW5rIjsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnwkTyY6cmVhZGxpbmsiLCBrZXl3b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAogI2lmZGVmIEhBVkVfUkVBRExJTktBVApAQCAtNzE0OSw3ICs2NjcyLDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgaWYgKGxlbmd0aCA8IDApIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9wb3NpeF9lcnJvcigicmVhZGxpbmsiLCAmcGF0aCk7CisgICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoJnBhdGgpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogCkBAIC03MjE5LDggKzY3NDIsMTAgQEAKICNlbmRpZgogCiAgICAgbWVtc2V0KCZzcmMsIDAsIHNpemVvZihzcmMpKTsKKyAgICBzcmMuZnVuY3Rpb25fbmFtZSA9ICJzeW1saW5rIjsKICAgICBzcmMuYXJndW1lbnRfbmFtZSA9ICJzcmMiOwogICAgIG1lbXNldCgmZHN0LCAwLCBzaXplb2YoZHN0KSk7CisgICAgZHN0LmZ1bmN0aW9uX25hbWUgPSAic3ltbGluayI7CiAgICAgZHN0LmFyZ3VtZW50X25hbWUgPSAiZHN0IjsKIAogI2lmZGVmIE1TX1dJTkRPV1MKQEAgLTcyNjYsNyArNjc5MSw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmICghcmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHdpbjMyX2Vycm9yX29iamVjdCgic3ltbGluayIsIHNyYy5vYmplY3QpOworICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZzcmMpOwogICAgICAgICBnb3RvIGV4aXQ7CiAgICAgfQogCkBAIC03MjgyLDcgKzY4MDcsNyBAQAogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoInN5bWxpbmsiLCAmZHN0KTsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmc3JjKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KICNlbmRpZgpAQCAtNzQ0NCwzMSArNjk2OSw3IEBACiB0aW1lcy4gIFRoZSBvYmplY3QgYmVoYXZlcyBsaWtlIGEgbmFtZWQgdHVwbGUgd2l0aCB0aGVzZSBmaWVsZHM6XG5cCiAgICh1dGltZSwgc3RpbWUsIGN1dGltZSwgY3N0aW1lLCBlbGFwc2VkX3RpbWUpIik7CiAKLSNpZiBkZWZpbmVkKFBZQ0NfVkFDUFApICYmIGRlZmluZWQoUFlPU19PUzIpCi1zdGF0aWMgbG9uZwotc3lzdGVtX3VwdGltZSh2b2lkKQotewotICAgIFVMT05HICAgICB2YWx1ZSA9IDA7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgRG9zUXVlcnlTeXNJbmZvKFFTVl9NU19DT1VOVCwgUVNWX01TX0NPVU5ULCAmdmFsdWUsIHNpemVvZih2YWx1ZSkpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0KLSAgICByZXR1cm4gdmFsdWU7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1wb3NpeF90aW1lcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKLXsKLSAgICAvKiBDdXJyZW50bHkgT25seSBVcHRpbWUgaXMgUHJvdmlkZWQgLS0gT3RoZXJzIExhdGVyICovCi0gICAgcmV0dXJuIGJ1aWxkX3RpbWVzX3Jlc3VsdCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAoZG91YmxlKTAgLyogdC50bXNfdXRpbWUgLyBIWiAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAoZG91YmxlKTAgLyogdC50bXNfc3RpbWUgLyBIWiAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAoZG91YmxlKTAgLyogdC50bXNfY3V0aW1lIC8gSFogKi8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGRvdWJsZSkwIC8qIHQudG1zX2NzdGltZSAvIEhaICovLAotICAgICAgICAgICAgICAgICAgICAgICAgIChkb3VibGUpc3lzdGVtX3VwdGltZSgpIC8gMTAwMCk7Ci19Ci0jZWxpZiBkZWZpbmVkKE1TX1dJTkRPV1MpCisjaWYgZGVmaW5lZChNU19XSU5ET1dTKQogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X3RpbWVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQogewpAQCAtNzQ5MCw3ICs2OTkxLDcgQEAKICAgICAgICAgKGRvdWJsZSkwLAogICAgICAgICAoZG91YmxlKTApOwogfQotI2Vsc2UgLyogTmVpdGhlciBXaW5kb3dzIG5vciBPUy8yICovCisjZWxzZSAvKiBOb3QgV2luZG93cyAqLwogI2RlZmluZSBORUVEX1RJQ0tTX1BFUl9TRUNPTkQKIHN0YXRpYyBsb25nIHRpY2tzX3Blcl9zZWNvbmQgPSAtMTsKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC03NjMxLDYgKzcxMzIsNyBAQAogICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImZsYWdzIiwgIm1vZGUiLCAiZGlyX2ZkIiwgTlVMTH07CiAKICAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gIm9wZW4iOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8maXxpJE8mOm9wZW4iLCBrZXl3b3JkcywKICAgICAgICAgcGF0aF9jb252ZXJ0ZXIsICZwYXRoLAogICAgICAgICAmZmxhZ3MsICZtb2RlLApAQCAtNzY1NywxMyArNzE1OSw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChmZCA9PSAtMSkgewotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgLyogZm9yY2UgdXNlIG9mIHBvc2l4X2Vycm9yIGhlcmUgZm9yIGV4YWN0IGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICovCi0gICAgICAgIGlmIChwYXRoLndpZGUpCi0gICAgICAgICAgICByZXR1cm5fdmFsdWUgPSBwb3NpeF9lcnJvcigpOwotICAgICAgICBlbHNlCi0jZW5kaWYKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigib3BlbiIsICZwYXRoKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5RXhjX09TRXJyb3IsIHBhdGgub2JqZWN0KTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApAQCAtODIwMSw3ICs3Njk3LDcgQEAKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChyZXMgIT0gMCkgewogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yKCJmc3RhdCIsIE5VTEwpOworICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAjZWxzZQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICNlbmRpZgpAQCAtODIzNCwxNiArNzczMCw2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfcGlwZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5vYXJncykKIHsKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKQotICAgIEhGSUxFIHJlYWQsIHdyaXRlOwotICAgIEFQSVJFVCByYzsKLQotICAgIHJjID0gRG9zQ3JlYXRlUGlwZSggJnJlYWQsICZ3cml0ZSwgNDA5Nik7Ci0gICAgaWYgKHJjICE9IE5PX0VSUk9SKQotICAgICAgICByZXR1cm4gb3MyX2Vycm9yKHJjKTsKLQotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoaWkpIiwgcmVhZCwgd3JpdGUpOwotI2Vsc2UKICNpZiAhZGVmaW5lZChNU19XSU5ET1dTKQogICAgIGludCBmZHNbMl07CiAgICAgaW50IHJlczsKQEAgLTgyNTcsMTIgKzc3NDMsMTEgQEAKICAgICBCT09MIG9rOwogICAgIG9rID0gQ3JlYXRlUGlwZSgmcmVhZCwgJndyaXRlLCBOVUxMLCAwKTsKICAgICBpZiAoIW9rKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoIkNyZWF0ZVBpcGUiLCBOVUxMKTsKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogICAgIHJlYWRfZmQgPSBfb3Blbl9vc2ZoYW5kbGUoKFB5X2ludHB0cl90KXJlYWQsIDApOwogICAgIHdyaXRlX2ZkID0gX29wZW5fb3NmaGFuZGxlKChQeV9pbnRwdHJfdCl3cml0ZSwgMSk7CiAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihpaSkiLCByZWFkX2ZkLCB3cml0ZV9mZCk7CiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwotI2VuZGlmCiB9CiAjZW5kaWYgIC8qIEhBVkVfUElQRSAqLwogCkBAIC04NTYxLDYgKzgwNDYsNyBAQAogICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImxlbmd0aCIsIE5VTEx9OwogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJ0cnVuY2F0ZSI7CiAjaWZkZWYgSEFWRV9GVFJVTkNBVEUKICAgICBwYXRoLmFsbG93X2ZkID0gMTsKICNlbmRpZgpAQCAtODU3OCw3ICs4MDY0LDcgQEAKICAgICAgICAgcmVzID0gdHJ1bmNhdGUocGF0aC5uYXJyb3csIGxlbmd0aCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgcmVzdWx0ID0gcGF0aF9wb3NpeF9lcnJvcigidHJ1bmNhdGUiLCAmcGF0aCk7CisgICAgICAgIHJlc3VsdCA9IHBhdGhfZXJyb3IoJnBhdGgpOwogICAgIGVsc2UgewogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJlc3VsdCA9IFB5X05vbmU7CkBAIC05MDUwLDYgKzg1MzYsNyBAQAogICAgIHN0cnVjdCBzdGF0dmZzIHN0OwogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJzdGF0dmZzIjsKICNpZmRlZiBIQVZFX0ZTVEFUVkZTCiAgICAgcGF0aC5hbGxvd19mZCA9IDE7CiAjZW5kaWYKQEAgLTkwNzYsNyArODU2Myw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXN1bHQpIHsKLSAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9wb3NpeF9lcnJvcigic3RhdHZmcyIsICZwYXRoKTsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKQEAgLTkzMTMsNiArODgwMCw3IEBACiAgICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7InBhdGgiLCAibmFtZSIsIE5VTEx9OwogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOworICAgIHBhdGguZnVuY3Rpb25fbmFtZSA9ICJwYXRoY29uZiI7CiAjaWZkZWYgSEFWRV9GUEFUSENPTkYKICAgICBwYXRoLmFsbG93X2ZkID0gMTsKICNlbmRpZgpAQCAtOTMzMyw3ICs4ODIxLDcgQEAKICAgICAgICAgICAgIC8qIGNvdWxkIGJlIGEgcGF0aCBvciBuYW1lIHByb2JsZW0gKi8KICAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IHBhdGhfcG9zaXhfZXJyb3IoInBhdGhjb25mIiwgJnBhdGgpOworICAgICAgICAgICAgcmVzdWx0ID0gcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgfQogICAgIGVsc2UKICAgICAgICAgcmVzdWx0ID0gUHlMb25nX0Zyb21Mb25nKGxpbWl0KTsKQEAgLTEwMzkyLDYgKzk4ODAsOCBAQAogCiAgICAgbWVtc2V0KCZwYXRoLCAwLCBzaXplb2YocGF0aCkpOwogICAgIG1lbXNldCgmYXR0cmlidXRlLCAwLCBzaXplb2YoYXR0cmlidXRlKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gImdldHhhdHRyIjsKKyAgICBhdHRyaWJ1dGUuZnVuY3Rpb25fbmFtZSA9ICJnZXR4YXR0ciI7CiAgICAgcGF0aC5hbGxvd19mZCA9IDE7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTyZPJnwkcDpnZXR4YXR0ciIsIGtleXdvcmRzLAogICAgICAgICBwYXRoX2NvbnZlcnRlciwgJnBhdGgsCkBAIC0xMDQwOCw3ICs5ODk4LDcgQEAKICAgICAgICAgc3RhdGljIFB5X3NzaXplX3QgYnVmZmVyX3NpemVzW10gPSB7MTI4LCBYQVRUUl9TSVpFX01BWCwgMH07CiAgICAgICAgIFB5X3NzaXplX3QgYnVmZmVyX3NpemUgPSBidWZmZXJfc2l6ZXNbaV07CiAgICAgICAgIGlmICghYnVmZmVyX3NpemUpIHsKLSAgICAgICAgICAgIHBhdGhfZXJyb3IoImdldHhhdHRyIiwgJnBhdGgpOworICAgICAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgICAgICBnb3RvIGV4aXQ7CiAgICAgICAgIH0KICAgICAgICAgYnVmZmVyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBidWZmZXJfc2l6ZSk7CkBAIC0xMDQzMCw3ICs5OTIwLDcgQEAKICAgICAgICAgICAgIGJ1ZmZlciA9IE5VTEw7CiAgICAgICAgICAgICBpZiAoZXJybm8gPT0gRVJBTkdFKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgcGF0aF9lcnJvcigiZ2V0eGF0dHIiLCAmcGF0aCk7CisgICAgICAgICAgICBwYXRoX2Vycm9yKCZwYXRoKTsKICAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgfQogCkBAIC0xMDQ2OSw2ICs5OTU5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxhZ3MiLCAiZm9sbG93X3N5bWxpbmtzIiwgTlVMTH07CiAKICAgICBtZW1zZXQoJnBhdGgsIDAsIHNpemVvZihwYXRoKSk7CisgICAgcGF0aC5mdW5jdGlvbl9uYW1lID0gInNldHhhdHRyIjsKICAgICBwYXRoLmFsbG93X2ZkID0gMTsKICAgICBtZW1zZXQoJmF0dHJpYnV0ZSwgMCwgc2l6ZW9mKGF0dHJpYnV0ZSkpOwogICAgIG1lbXNldCgmdmFsdWUsIDAsIHNpemVvZih2YWx1ZSkpOwpAQCAtMTA0OTYsNyArOTk4Nyw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CiAKICAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHJldHVybl92YWx1ZSA9IHBhdGhfZXJyb3IoInNldHhhdHRyIiwgJnBhdGgpOworICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCZwYXRoKTsKICAgICAgICAgZ290byBleGl0OwogICAgIH0KIApAQCAtMTA1MzAsNyArMTAwMjEsOSBAQAogICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJwYXRoIiwgImF0dHJpYnV0ZSIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAicmVtb3ZleGF0dHIiOwogICAgIG1lbXNldCgmYXR0cmlidXRlLCAwLCBzaXplb2YoYXR0cmlidXRlKSk7CisgICAgYXR0cmlidXRlLmZ1bmN0aW9uX25hbWUgPSAicmVtb3ZleGF0dHIiOwogICAgIHBhdGguYWxsb3dfZmQgPSAxOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk8mTyZ8JHA6cmVtb3ZleGF0dHIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLApAQCAtMTA1NTIsNyArMTAwNDUsNyBAQAogICAgIFB5X0VORF9BTExPV19USFJFQURTOwogCiAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICByZXR1cm5fdmFsdWUgPSBwYXRoX2Vycm9yKCJyZW1vdmV4YXR0ciIsICZwYXRoKTsKKyAgICAgICAgcmV0dXJuX3ZhbHVlID0gcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAKQEAgLTEwNTg4LDYgKzEwMDgxLDcgQEAKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsicGF0aCIsICJmb2xsb3dfc3ltbGlua3MiLCBOVUxMfTsKIAogICAgIG1lbXNldCgmcGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKyAgICBwYXRoLmZ1bmN0aW9uX25hbWUgPSAibGlzdHhhdHRyIjsKICAgICBwYXRoLmFsbG93X2ZkID0gMTsKICAgICBwYXRoLmZkID0gLTE7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifE8mJHA6bGlzdHhhdHRyIiwga2V5d29yZHMsCkBAIC0xMDYwNiw3ICsxMDEwMCw3IEBACiAgICAgICAgIFB5X3NzaXplX3QgYnVmZmVyX3NpemUgPSBidWZmZXJfc2l6ZXNbaV07CiAgICAgICAgIGlmICghYnVmZmVyX3NpemUpIHsKICAgICAgICAgICAgIC8qIEVSQU5HRSAqLwotICAgICAgICAgICAgcGF0aF9lcnJvcigibGlzdHhhdHRyIiwgJnBhdGgpOworICAgICAgICAgICAgcGF0aF9lcnJvcigmcGF0aCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBidWZmZXIgPSBQeU1lbV9NQUxMT0MoYnVmZmVyX3NpemUpOwpAQCAtMTA2MjcsNyArMTAxMjEsNyBAQAogICAgICAgICBpZiAobGVuZ3RoIDwgMCkgewogICAgICAgICAgICAgaWYgKGVycm5vID09IEVSQU5HRSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIHBhdGhfZXJyb3IoImxpc3R4YXR0ciIsICZwYXRoKTsKKyAgICAgICAgICAgIHBhdGhfZXJyb3IoJnBhdGgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMTA5MzUsMTAgKzEwNDI5LDYgQEAKICNpZmRlZiBIQVZFX1NQQVdOVgogICAgIHsic3Bhd252IiwgICAgICAgICAgcG9zaXhfc3Bhd252LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NwYXdudl9fZG9jX199LAogICAgIHsic3Bhd252ZSIsICAgICAgICAgcG9zaXhfc3Bhd252ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zcGF3bnZlX19kb2NfX30sCi0jaWYgZGVmaW5lZChQWU9TX09TMikKLSAgICB7InNwYXdudnAiLCAgICAgICAgIHBvc2l4X3NwYXdudnAsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3Bhd252cF9fZG9jX199LAotICAgIHsic3Bhd252cGUiLCAgICAgICAgcG9zaXhfc3Bhd252cGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3Bhd252cGVfX2RvY19ffSwKLSNlbmRpZiAvKiBQWU9TX09TMiAqLwogI2VuZGlmIC8qIEhBVkVfU1BBV05WICovCiAjaWZkZWYgSEFWRV9GT1JLMQogICAgIHsiZm9yazEiLCAgICAgICBwb3NpeF9mb3JrMSwgTUVUSF9OT0FSR1MsIHBvc2l4X2ZvcmsxX19kb2NfX30sCkBAIC0xMTIxNyw3ICsxMDcwNyw2IEBACiAjaWZkZWYgTVNfV0lORE9XUwogICAgIHsiX2dldGZ1bGxwYXRobmFtZSIsICAgICAgICBwb3NpeF9fZ2V0ZnVsbHBhdGhuYW1lLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAogICAgIHsiX2dldGZpbmFscGF0aG5hbWUiLCAgICAgICBwb3NpeF9fZ2V0ZmluYWxwYXRobmFtZSwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKLSAgICB7Il9nZXRmaWxlaW5mb3JtYXRpb24iLCAgICAgcG9zaXhfX2dldGZpbGVpbmZvcm1hdGlvbiwgTUVUSF9WQVJBUkdTLCBOVUxMfSwKICAgICB7Il9pc2RpciIsICAgICAgICAgICAgICAgICAgcG9zaXhfX2lzZGlyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X19pc2Rpcl9fZG9jX199LAogICAgIHsiX2dldGRpc2t1c2FnZSIsICAgICAgICAgICB3aW4zMl9fZ2V0ZGlza3VzYWdlLCBNRVRIX1ZBUkFSR1MsIHdpbjMyX19nZXRkaXNrdXNhZ2VfX2RvY19ffSwKICNlbmRpZgpAQCAtMTEyNjUsNTkgKzEwNzU0LDYgQEAKICAgICByZXR1cm4gUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobW9kdWxlLCBzeW1ib2wsIHZhbHVlKTsKIH0KIAotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0vKiBJbnNlcnQgUGxhdGZvcm0tU3BlY2lmaWMgQ29uc3RhbnQgVmFsdWVzIChTdHJpbmdzICYgTnVtYmVycykgb2YgQ29tbW9uIFVzZSAqLwotc3RhdGljIGludCBpbnNlcnR2YWx1ZXMoUHlPYmplY3QgKm1vZHVsZSkKLXsKLSAgICBBUElSRVQgICAgcmM7Ci0gICAgVUxPTkcgICAgIHZhbHVlc1tRU1ZfTUFYKzFdOwotICAgIFB5T2JqZWN0ICp2OwotICAgIGNoYXIgICAgICp2ZXIsIHRtcFs1MF07Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmMgPSBEb3NRdWVyeVN5c0luZm8oMUwsIFFTVl9NQVgsICZ2YWx1ZXNbMV0sIHNpemVvZihVTE9ORykgKiBRU1ZfTUFYKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKHJjICE9IE5PX0VSUk9SKSB7Ci0gICAgICAgIG9zMl9lcnJvcihyYyk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0KLSAgICBpZiAoaW5zKG1vZHVsZSwgIm1lbWluc3RhbGxlZCIsIHZhbHVlc1tRU1ZfVE9UUEhZU01FTV0pKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhtb2R1bGUsICJtZW1rZXJuZWwiLCAgICB2YWx1ZXNbUVNWX1RPVFJFU01FTV0pKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhtb2R1bGUsICJtZW12aXJ0dWFsIiwgICB2YWx1ZXNbUVNWX1RPVEFWQUlMTUVNXSkpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKG1vZHVsZSwgIm1heHBhdGhsZW4iLCAgIHZhbHVlc1tRU1ZfTUFYX1BBVEhfTEVOR1RIXSkpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKG1vZHVsZSwgIm1heG5hbWVsZW4iLCAgIHZhbHVlc1tRU1ZfTUFYX0NPTVBfTEVOR1RIXSkpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKG1vZHVsZSwgInJldmlzaW9uIiwgICAgIHZhbHVlc1tRU1ZfVkVSU0lPTl9SRVZJU0lPTl0pKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhtb2R1bGUsICJ0aW1lc2xpY2UiLCAgICB2YWx1ZXNbUVNWX01JTl9TTElDRV0pKSByZXR1cm4gLTE7Ci0KLSAgICBzd2l0Y2ggKHZhbHVlc1tRU1ZfVkVSU0lPTl9NSU5PUl0pIHsKLSAgICBjYXNlIDA6ICB2ZXIgPSAiMi4wMCI7IGJyZWFrOwotICAgIGNhc2UgMTA6IHZlciA9ICIyLjEwIjsgYnJlYWs7Ci0gICAgY2FzZSAxMTogdmVyID0gIjIuMTEiOyBicmVhazsKLSAgICBjYXNlIDMwOiB2ZXIgPSAiMy4wMCI7IGJyZWFrOwotICAgIGNhc2UgNDA6IHZlciA9ICI0LjAwIjsgYnJlYWs7Ci0gICAgY2FzZSA1MDogdmVyID0gIjUuMDAiOyBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICBQeU9TX3NucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksCi0gICAgICAgICAgICAgICAgICAgICAgIiVkLSVkIiwgdmFsdWVzW1FTVl9WRVJTSU9OX01BSk9SXSwKLSAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXNbUVNWX1ZFUlNJT05fTUlOT1JdKTsKLSAgICAgICAgdmVyID0gJnRtcFswXTsKLSAgICB9Ci0KLSAgICAvKiBBZGQgSW5kaWNhdG9yIG9mIHRoZSBWZXJzaW9uIG9mIHRoZSBPcGVyYXRpbmcgU3lzdGVtICovCi0gICAgaWYgKFB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50KG1vZHVsZSwgInZlcnNpb24iLCB0bXApIDwgMCkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgLyogQWRkIEluZGljYXRvciBvZiBXaGljaCBEcml2ZSB3YXMgVXNlZCB0byBCb290IHRoZSBTeXN0ZW0gKi8KLSAgICB0bXBbMF0gPSAnQScgKyB2YWx1ZXNbUVNWX0JPT1RfRFJJVkVdIC0gMTsKLSAgICB0bXBbMV0gPSAnOic7Ci0gICAgdG1wWzJdID0gJ1wwJzsKLQotICAgIHJldHVybiBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChtb2R1bGUsICJib290ZHJpdmUiLCB0bXApOwotfQotI2VuZGlmCi0KICNpZiBkZWZpbmVkKEhBVkVfU1lNTElOSykgJiYgZGVmaW5lZChNU19XSU5ET1dTKQogc3RhdGljIGludAogZW5hYmxlX3N5bWxpbmsoKQpAQCAtMTE0NDAsNiArMTA4NzYsOSBAQAogI2lmZGVmIE9fU0VBUkNICiAgICAgaWYgKGlucyhkLCAiT19TRUFSQ0giLCAobG9uZylPX1NFQVJDSCkpIHJldHVybiAtMTsKICNlbmRpZgorI2lmZGVmIE9fUEFUSAorICAgIGlmIChpbnMoZCwgIk9fUEFUSCIsIChsb25nKU9fUEFUSCkpIHJldHVybiAtMTsKKyNlbmRpZgogI2lmZGVmIE9fVFRZX0lOSVQKICAgICBpZiAoaW5zKGQsICJPX1RUWV9JTklUIiwgKGxvbmcpT19UVFlfSU5JVCkpIHJldHVybiAtMTsKICNlbmRpZgpAQCAtMTE2NTIsMzUgKzExMDkxLDEyIEBACiAjZW5kaWYKIAogI2lmZGVmIEhBVkVfU1BBV05WCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICBpZiAoaW5zKGQsICJQX1dBSVQiLCAobG9uZylQX1dBSVQpKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9OT1dBSVQiLCAobG9uZylQX05PV0FJVCkpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKGQsICJQX09WRVJMQVkiLCAobG9uZylQX09WRVJMQVkpKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9ERUJVRyIsIChsb25nKVBfREVCVUcpKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9TRVNTSU9OIiwgKGxvbmcpUF9TRVNTSU9OKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfREVUQUNIIiwgKGxvbmcpUF9ERVRBQ0gpKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9QTSIsIChsb25nKVBfUE0pKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9ERUZBVUxUIiwgKGxvbmcpUF9ERUZBVUxUKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfTUlOSU1JWkUiLCAobG9uZylQX01JTklNSVpFKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfTUFYSU1JWkUiLCAobG9uZylQX01BWElNSVpFKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfRlVMTFNDUkVFTiIsIChsb25nKVBfRlVMTFNDUkVFTikpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKGQsICJQX1dJTkRPV0VEIiwgKGxvbmcpUF9XSU5ET1dFRCkpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKGQsICJQX0ZPUkVHUk9VTkQiLCAobG9uZylQX0ZPUkVHUk9VTkQpKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9CQUNLR1JPVU5EIiwgKGxvbmcpUF9CQUNLR1JPVU5EKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfTk9DTE9TRSIsIChsb25nKVBfTk9DTE9TRSkpIHJldHVybiAtMTsKLSAgICBpZiAoaW5zKGQsICJQX05PU0VTU0lPTiIsIChsb25nKVBfTk9TRVNTSU9OKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfUVVPVEUiLCAobG9uZylQX1FVT1RFKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfVElMREUiLCAobG9uZylQX1RJTERFKSkgcmV0dXJuIC0xOwotICAgIGlmIChpbnMoZCwgIlBfVU5SRUxBVEVEIiwgKGxvbmcpUF9VTlJFTEFURUQpKSByZXR1cm4gLTE7Ci0gICAgaWYgKGlucyhkLCAiUF9ERUJVR0RFU0MiLCAobG9uZylQX0RFQlVHREVTQykpIHJldHVybiAtMTsKLSNlbHNlCiAgICAgaWYgKGlucyhkLCAiUF9XQUlUIiwgKGxvbmcpX1BfV0FJVCkpIHJldHVybiAtMTsKICAgICBpZiAoaW5zKGQsICJQX05PV0FJVCIsIChsb25nKV9QX05PV0FJVCkpIHJldHVybiAtMTsKICAgICBpZiAoaW5zKGQsICJQX09WRVJMQVkiLCAobG9uZylfT0xEX1BfT1ZFUkxBWSkpIHJldHVybiAtMTsKICAgICBpZiAoaW5zKGQsICJQX05PV0FJVE8iLCAobG9uZylfUF9OT1dBSVRPKSkgcmV0dXJuIC0xOwogICAgIGlmIChpbnMoZCwgIlBfREVUQUNIIiwgKGxvbmcpX1BfREVUQUNIKSkgcmV0dXJuIC0xOwogI2VuZGlmCi0jZW5kaWYKIAogI2lmZGVmIEhBVkVfU0NIRURfSAogICAgIGlmIChpbnMoZCwgIlNDSEVEX09USEVSIiwgKGxvbmcpU0NIRURfT1RIRVIpKSByZXR1cm4gLTE7CkBAIC0xMTc0MCw5ICsxMTE1Niw2IEBACiAgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKGQsIFJUTERfREVFUEJJTkQpKSByZXR1cm4gLTE7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgaWYgKGluc2VydHZhbHVlcyhkKSkgcmV0dXJuIC0xOwotI2VuZGlmCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTExNzUxLDEwICsxMTE2NCw2IEBACiAjZGVmaW5lIElOSVRGVU5DIFB5SW5pdF9udAogI2RlZmluZSBNT0ROQU1FICJudCIKIAotI2VsaWYgZGVmaW5lZChQWU9TX09TMikKLSNkZWZpbmUgSU5JVEZVTkMgUHlJbml0X29zMgotI2RlZmluZSBNT0ROQU1FICJvczIiCi0KICNlbHNlCiAjZGVmaW5lIElOSVRGVU5DIFB5SW5pdF9wb3NpeAogI2RlZmluZSBNT0ROQU1FICJwb3NpeCIKZGlmZiAtLWdpdCBhL01vZHVsZXMvcHdkbW9kdWxlLmMgYi9Nb2R1bGVzL3B3ZG1vZHVsZS5jCmluZGV4IDI4NWZkOWMuLmQ0ZWY3MzMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcHdkbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9wd2Rtb2R1bGUuYwpAQCAtMTY4LDEyICsxNjgsOCBAQAogICAgIHN0cnVjdCBwYXNzd2QgKnA7CiAgICAgaWYgKChkID0gUHlMaXN0X05ldygwKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICBpZiAoKHAgPSBnZXRwd3VpZCgwKSkgIT0gTlVMTCkgewotI2Vsc2UKICAgICBzZXRwd2VudCgpOwogICAgIHdoaWxlICgocCA9IGdldHB3ZW50KCkpICE9IE5VTEwpIHsKLSNlbmRpZgogICAgICAgICBQeU9iamVjdCAqdiA9IG1rcHdlbnQocCk7CiAgICAgICAgIGlmICh2ID09IE5VTEwgfHwgUHlMaXN0X0FwcGVuZChkLCB2KSAhPSAwKSB7CiAgICAgICAgICAgICBQeV9YREVDUkVGKHYpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9yZWFkbGluZS5jIGIvTW9kdWxlcy9yZWFkbGluZS5jCmluZGV4IGE3MTA2NTIuLjBkOTlkYzkgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcmVhZGxpbmUuYworKysgYi9Nb2R1bGVzL3JlYWRsaW5lLmMKQEAgLTkwMSwxMCArOTAxLDYgQEAKICAgICB1c2luZ19oaXN0b3J5KCk7CiAKICAgICBybF9yZWFkbGluZV9uYW1lID0gInB5dGhvbiI7Ci0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICAvKiBBbGxvdyAkaWYgdGVybT0gaW4gLmlucHV0cmMgdG8gd29yayAqLwotICAgIHJsX3Rlcm1pbmFsX25hbWUgPSBnZXRlbnYoIlRFUk0iKTsKLSNlbmRpZgogICAgIC8qIEZvcmNlIHJlYmluZCBvZiBUQUIgdG8gaW5zZXJ0LXRhYiAqLwogICAgIHJsX2JpbmRfa2V5KCdcdCcsIHJsX2luc2VydCk7CiAgICAgLyogQmluZCBib3RoIEVTQy1UQUIgYW5kIEVTQy1FU0MgdG8gdGhlIGNvbXBsZXRpb24gZnVuY3Rpb24gKi8KZGlmZiAtLWdpdCBhL01vZHVsZXMvc2VsZWN0bW9kdWxlLmMgYi9Nb2R1bGVzL3NlbGVjdG1vZHVsZS5jCmluZGV4IDA2YWJjZjEuLjRjODQzMTIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2VsZWN0bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zZWxlY3Rtb2R1bGUuYwpAQCAtNDcsMTEgKzQ3LDYgQEAKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICNlbmRpZgogCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgIWRlZmluZWQoUFlDQ19HQ0MpCi0jaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSNpbmNsdWRlIDx1dGlscy5oPgotI2VuZGlmCi0KICNpZmRlZiBNU19XSU5ET1dTCiAjICBkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgogIyAgaW5jbHVkZSA8d2luc29jay5oPgpAQCAtMTQwMyw2ICsxMzk4LDI0IEBACiBpbiBzZWNvbmRzIChhcyBmbG9hdCkuIC0xIG1ha2VzIHBvbGwgd2FpdCBpbmRlZmluaXRlbHkuXG5cCiBVcCB0byBtYXhldmVudHMgYXJlIHJldHVybmVkIHRvIHRoZSBjYWxsZXIuIik7CiAKK3N0YXRpYyBQeU9iamVjdCAqCitweWVwb2xsX2VudGVyKHB5RXBvbGxfT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpZiAoc2VsZi0+ZXBmZCA8IDApCisgICAgICAgIHJldHVybiBweWVwb2xsX2Vycl9jbG9zZWQoKTsKKworICAgIFB5X0lOQ1JFRihzZWxmKTsKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopc2VsZjsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3B5ZXBvbGxfZXhpdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgX1B5X0lERU5USUZJRVIoY2xvc2UpOworCisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZiwgJlB5SWRfY2xvc2UsIE5VTEwpOworfQorCiBzdGF0aWMgUHlNZXRob2REZWYgcHllcG9sbF9tZXRob2RzW10gPSB7CiAgICAgeyJmcm9tZmQiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pcHllcG9sbF9mcm9tZmQsCiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfQ0xBU1MsIHB5ZXBvbGxfZnJvbWZkX2RvY30sCkBAIC0xNDE4LDYgKzE0MzEsMTAgQEAKICAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgICAgICBweWVwb2xsX3VucmVnaXN0ZXJfZG9jfSwKICAgICB7InBvbGwiLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilweWVwb2xsX3BvbGwsCiAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsICAgICAgcHllcG9sbF9wb2xsX2RvY30sCisgICAgeyJfX2VudGVyX18iLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXB5ZXBvbGxfZW50ZXIsICAgICBNRVRIX05PQVJHUywKKyAgICAgTlVMTH0sCisgICAgeyJfX2V4aXRfXyIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pcHllcG9sbF9leGl0LCAgICAgTUVUSF9WQVJBUkdTLAorICAgICBOVUxMfSwKICAgICB7TlVMTCwgICAgICBOVUxMfSwKIH07CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhMW1vZHVsZS5jIGIvTW9kdWxlcy9zaGExbW9kdWxlLmMKaW5kZXggZjgyNGJiMy4uZDM5ZjE5MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zaGExbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGExbW9kdWxlLmMKQEAgLTIyMiw3ICsyMjIsNyBAQAogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBuID0gTUlOKGlubGVuLCAoUHlfc3NpemVfdCkoU0hBMV9CTE9DS1NJWkUgLSBzaGExLT5jdXJsZW4pKTsKICAgICAgICAgICAgbWVtY3B5KHNoYTEtPmJ1ZiArIHNoYTEtPmN1cmxlbiwgaW4sIChzaXplX3Qpbik7Ci0gICAgICAgICAgIHNoYTEtPmN1cmxlbiAgICs9IG47CisgICAgICAgICAgIHNoYTEtPmN1cmxlbiAgICs9IChTSEExX0lOVDMyKW47CiAgICAgICAgICAgIGluICAgICAgICAgICAgICs9IG47CiAgICAgICAgICAgIGlubGVuICAgICAgICAgIC09IG47CiAgICAgICAgICAgIGlmIChzaGExLT5jdXJsZW4gPT0gU0hBMV9CTE9DS1NJWkUpIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMgYi9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jCmluZGV4IDlmNmI0MTYuLjMyNzRlN2MgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGEyNTZtb2R1bGUuYwpAQCAtMjEsMTMgKzIxLDYgQEAKICNpbmNsdWRlICJoYXNobGliLmgiCiAKIAotLyogRW5kaWFubmVzcyB0ZXN0aW5nIGFuZCBkZWZpbml0aW9ucyAqLwotI2RlZmluZSBUZXN0RW5kaWFubmVzcyh2YXJpYWJsZSkge2ludCBpPTE7IHZhcmlhYmxlPVBDVF9CSUdfRU5ESUFOO1wKLSAgICAgICAgaWYgKCooKGNoYXIqKSZpKT09MSkgdmFyaWFibGU9UENUX0xJVFRMRV9FTkRJQU47fQotCi0jZGVmaW5lIFBDVF9MSVRUTEVfRU5ESUFOIDEKLSNkZWZpbmUgUENUX0JJR19FTkRJQU4gMAotCiAvKiBTb21lIHVzZWZ1bCB0eXBlcyAqLwogCiB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgU0hBX0JZVEU7CkBAIC01MCw3ICs0Myw2IEBACiAgICAgU0hBX0lOVDMyIGRpZ2VzdFs4XTsgICAgICAgICAgICAgICAgLyogTWVzc2FnZSBkaWdlc3QgKi8KICAgICBTSEFfSU5UMzIgY291bnRfbG8sIGNvdW50X2hpOyAgICAgICAvKiA2NC1iaXQgYml0IGNvdW50ICovCiAgICAgU0hBX0JZVEUgZGF0YVtTSEFfQkxPQ0tTSVpFXTsgICAgICAgLyogU0hBIGRhdGEgYnVmZmVyICovCi0gICAgaW50IEVuZGlhbm5lc3M7CiAgICAgaW50IGxvY2FsOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdW5wcm9jZXNzZWQgYW1vdW50IGluIGRhdGEgKi8KICAgICBpbnQgZGlnZXN0c2l6ZTsKIH0gU0hBb2JqZWN0OwpAQCAtNTgsMTMgKzUwLDExIEBACiAvKiBXaGVuIHJ1biBvbiBhIGxpdHRsZS1lbmRpYW4gQ1BVIHdlIG5lZWQgdG8gcGVyZm9ybSBieXRlIHJldmVyc2FsIG9uIGFuCiAgICBhcnJheSBvZiBsb25nd29yZHMuICovCiAKLXN0YXRpYyB2b2lkIGxvbmdSZXZlcnNlKFNIQV9JTlQzMiAqYnVmZmVyLCBpbnQgYnl0ZUNvdW50LCBpbnQgRW5kaWFubmVzcykKKyNpZiBQWV9MSVRUTEVfRU5ESUFOCitzdGF0aWMgdm9pZCBsb25nUmV2ZXJzZShTSEFfSU5UMzIgKmJ1ZmZlciwgaW50IGJ5dGVDb3VudCkKIHsKICAgICBTSEFfSU5UMzIgdmFsdWU7CiAKLSAgICBpZiAoIEVuZGlhbm5lc3MgPT0gUENUX0JJR19FTkRJQU4gKQotICAgICAgICByZXR1cm47Ci0KICAgICBieXRlQ291bnQgLz0gc2l6ZW9mKCpidWZmZXIpOwogICAgIHdoaWxlIChieXRlQ291bnQtLSkgewogICAgICAgICB2YWx1ZSA9ICpidWZmZXI7CkBAIC03MywxMCArNjMsMTAgQEAKICAgICAgICAgKmJ1ZmZlcisrID0gKCB2YWx1ZSA8PCAxNiApIHwgKCB2YWx1ZSA+PiAxNiApOwogICAgIH0KIH0KKyNlbmRpZgogCiBzdGF0aWMgdm9pZCBTSEFjb3B5KFNIQW9iamVjdCAqc3JjLCBTSEFvYmplY3QgKmRlc3QpCiB7Ci0gICAgZGVzdC0+RW5kaWFubmVzcyA9IHNyYy0+RW5kaWFubmVzczsKICAgICBkZXN0LT5sb2NhbCA9IHNyYy0+bG9jYWw7CiAgICAgZGVzdC0+ZGlnZXN0c2l6ZSA9IHNyYy0+ZGlnZXN0c2l6ZTsKICAgICBkZXN0LT5jb3VudF9sbyA9IHNyYy0+Y291bnRfbG87CkBAIC0xMzEsNyArMTIxLDkgQEAKICAgICAgICAgU0hBX0lOVDMyIFNbOF0sIFdbNjRdLCB0MCwgdDE7CiAKICAgICBtZW1jcHkoVywgc2hhX2luZm8tPmRhdGEsIHNpemVvZihzaGFfaW5mby0+ZGF0YSkpOwotICAgIGxvbmdSZXZlcnNlKFcsIChpbnQpc2l6ZW9mKHNoYV9pbmZvLT5kYXRhKSwgc2hhX2luZm8tPkVuZGlhbm5lc3MpOworI2lmIFBZX0xJVFRMRV9FTkRJQU4KKyAgICBsb25nUmV2ZXJzZShXLCAoaW50KXNpemVvZihzaGFfaW5mby0+ZGF0YSkpOworI2VuZGlmCiAKICAgICBmb3IgKGkgPSAxNjsgaSA8IDY0OyArK2kpIHsKICAgICAgICAgICAgICAgICBXW2ldID0gR2FtbWExKFdbaSAtIDJdKSArIFdbaSAtIDddICsgR2FtbWEwKFdbaSAtIDE1XSkgKyBXW2kgLSAxNl07CkBAIC0yMjgsNyArMjIwLDYgQEAKIHN0YXRpYyB2b2lkCiBzaGFfaW5pdChTSEFvYmplY3QgKnNoYV9pbmZvKQogewotICAgIFRlc3RFbmRpYW5uZXNzKHNoYV9pbmZvLT5FbmRpYW5uZXNzKQogICAgIHNoYV9pbmZvLT5kaWdlc3RbMF0gPSAweDZBMDlFNjY3TDsKICAgICBzaGFfaW5mby0+ZGlnZXN0WzFdID0gMHhCQjY3QUU4NUw7CiAgICAgc2hhX2luZm8tPmRpZ2VzdFsyXSA9IDB4M0M2RUYzNzJMOwpAQCAtMjQ2LDcgKzIzNyw2IEBACiBzdGF0aWMgdm9pZAogc2hhMjI0X2luaXQoU0hBb2JqZWN0ICpzaGFfaW5mbykKIHsKLSAgICBUZXN0RW5kaWFubmVzcyhzaGFfaW5mby0+RW5kaWFubmVzcykKICAgICBzaGFfaW5mby0+ZGlnZXN0WzBdID0gMHhjMTA1OWVkOEw7CiAgICAgc2hhX2luZm8tPmRpZ2VzdFsxXSA9IDB4MzY3Y2Q1MDdMOwogICAgIHNoYV9pbmZvLT5kaWdlc3RbMl0gPSAweDMwNzBkZDE3TDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhNTEybW9kdWxlLmMgYi9Nb2R1bGVzL3NoYTUxMm1vZHVsZS5jCmluZGV4IDU1MzZmZDUuLjNlMGY2Y2UgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2hhNTEybW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGE1MTJtb2R1bGUuYwpAQCAtMjIsMTMgKzIyLDYgQEAKIAogI2lmZGVmIFBZX0xPTkdfTE9ORyAvKiBJZiBubyBQWV9MT05HX0xPTkcsIGRvbid0IGNvbXBpbGUgYW55dGhpbmchICovCiAKLS8qIEVuZGlhbm5lc3MgdGVzdGluZyBhbmQgZGVmaW5pdGlvbnMgKi8KLSNkZWZpbmUgVGVzdEVuZGlhbm5lc3ModmFyaWFibGUpIHtpbnQgaT0xOyB2YXJpYWJsZT1QQ1RfQklHX0VORElBTjtcCi0gICAgICAgIGlmICgqKChjaGFyKikmaSk9PTEpIHZhcmlhYmxlPVBDVF9MSVRUTEVfRU5ESUFOO30KLQotI2RlZmluZSBQQ1RfTElUVExFX0VORElBTiAxCi0jZGVmaW5lIFBDVF9CSUdfRU5ESUFOIDAKLQogLyogU29tZSB1c2VmdWwgdHlwZXMgKi8KIAogdHlwZWRlZiB1bnNpZ25lZCBjaGFyIFNIQV9CWVRFOwpAQCAtNTIsNyArNDUsNiBAQAogICAgIFNIQV9JTlQ2NCBkaWdlc3RbOF07ICAgICAgICAgICAgICAgIC8qIE1lc3NhZ2UgZGlnZXN0ICovCiAgICAgU0hBX0lOVDMyIGNvdW50X2xvLCBjb3VudF9oaTsgICAgICAgLyogNjQtYml0IGJpdCBjb3VudCAqLwogICAgIFNIQV9CWVRFIGRhdGFbU0hBX0JMT0NLU0laRV07ICAgICAgIC8qIFNIQSBkYXRhIGJ1ZmZlciAqLwotICAgIGludCBFbmRpYW5uZXNzOwogICAgIGludCBsb2NhbDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHVucHJvY2Vzc2VkIGFtb3VudCBpbiBkYXRhICovCiAgICAgaW50IGRpZ2VzdHNpemU7CiB9IFNIQW9iamVjdDsKQEAgLTYwLDEzICs1MiwxMSBAQAogLyogV2hlbiBydW4gb24gYSBsaXR0bGUtZW5kaWFuIENQVSB3ZSBuZWVkIHRvIHBlcmZvcm0gYnl0ZSByZXZlcnNhbCBvbiBhbgogICAgYXJyYXkgb2YgbG9uZ3dvcmRzLiAqLwogCi1zdGF0aWMgdm9pZCBsb25nUmV2ZXJzZShTSEFfSU5UNjQgKmJ1ZmZlciwgaW50IGJ5dGVDb3VudCwgaW50IEVuZGlhbm5lc3MpCisjaWYgUFlfTElUVExFX0VORElBTgorc3RhdGljIHZvaWQgbG9uZ1JldmVyc2UoU0hBX0lOVDY0ICpidWZmZXIsIGludCBieXRlQ291bnQpCiB7CiAgICAgU0hBX0lOVDY0IHZhbHVlOwogCi0gICAgaWYgKCBFbmRpYW5uZXNzID09IFBDVF9CSUdfRU5ESUFOICkKLSAgICAgICAgcmV0dXJuOwotCiAgICAgYnl0ZUNvdW50IC89IHNpemVvZigqYnVmZmVyKTsKICAgICB3aGlsZSAoYnl0ZUNvdW50LS0pIHsKICAgICAgICAgdmFsdWUgPSAqYnVmZmVyOwpAQCAtODMsMTAgKzczLDEwIEBACiAgICAgICAgICAgICAgICAgYnVmZmVyKys7CiAgICAgfQogfQorI2VuZGlmCiAKIHN0YXRpYyB2b2lkIFNIQWNvcHkoU0hBb2JqZWN0ICpzcmMsIFNIQW9iamVjdCAqZGVzdCkKIHsKLSAgICBkZXN0LT5FbmRpYW5uZXNzID0gc3JjLT5FbmRpYW5uZXNzOwogICAgIGRlc3QtPmxvY2FsID0gc3JjLT5sb2NhbDsKICAgICBkZXN0LT5kaWdlc3RzaXplID0gc3JjLT5kaWdlc3RzaXplOwogICAgIGRlc3QtPmNvdW50X2xvID0gc3JjLT5jb3VudF9sbzsKQEAgLTE0MSw3ICsxMzEsOSBAQAogICAgIFNIQV9JTlQ2NCBTWzhdLCBXWzgwXSwgdDAsIHQxOwogCiAgICAgbWVtY3B5KFcsIHNoYV9pbmZvLT5kYXRhLCBzaXplb2Yoc2hhX2luZm8tPmRhdGEpKTsKLSAgICBsb25nUmV2ZXJzZShXLCAoaW50KXNpemVvZihzaGFfaW5mby0+ZGF0YSksIHNoYV9pbmZvLT5FbmRpYW5uZXNzKTsKKyNpZiBQWV9MSVRUTEVfRU5ESUFOCisgICAgbG9uZ1JldmVyc2UoVywgKGludClzaXplb2Yoc2hhX2luZm8tPmRhdGEpKTsKKyNlbmRpZgogCiAgICAgZm9yIChpID0gMTY7IGkgPCA4MDsgKytpKSB7CiAgICAgICAgICAgICAgICAgV1tpXSA9IEdhbW1hMShXW2kgLSAyXSkgKyBXW2kgLSA3XSArIEdhbW1hMChXW2kgLSAxNV0pICsgV1tpIC0gMTZdOwpAQCAtMjU0LDcgKzI0Niw2IEBACiBzdGF0aWMgdm9pZAogc2hhNTEyX2luaXQoU0hBb2JqZWN0ICpzaGFfaW5mbykKIHsKLSAgICBUZXN0RW5kaWFubmVzcyhzaGFfaW5mby0+RW5kaWFubmVzcykKICAgICBzaGFfaW5mby0+ZGlnZXN0WzBdID0gUHlfVUxMKDB4NmEwOWU2NjdmM2JjYzkwOCk7CiAgICAgc2hhX2luZm8tPmRpZ2VzdFsxXSA9IFB5X1VMTCgweGJiNjdhZTg1ODRjYWE3M2IpOwogICAgIHNoYV9pbmZvLT5kaWdlc3RbMl0gPSBQeV9VTEwoMHgzYzZlZjM3MmZlOTRmODJiKTsKQEAgLTI3Miw3ICsyNjMsNiBAQAogc3RhdGljIHZvaWQKIHNoYTM4NF9pbml0KFNIQW9iamVjdCAqc2hhX2luZm8pCiB7Ci0gICAgVGVzdEVuZGlhbm5lc3Moc2hhX2luZm8tPkVuZGlhbm5lc3MpCiAgICAgc2hhX2luZm8tPmRpZ2VzdFswXSA9IFB5X1VMTCgweGNiYmI5ZDVkYzEwNTllZDgpOwogICAgIHNoYV9pbmZvLT5kaWdlc3RbMV0gPSBQeV9VTEwoMHg2MjlhMjkyYTM2N2NkNTA3KTsKICAgICBzaGFfaW5mby0+ZGlnZXN0WzJdID0gUHlfVUxMKDB4OTE1OTAxNWEzMDcwZGQxNyk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jIGIvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwppbmRleCAwY2M3MjM3Li5kZDU1YzEwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCisrKyBiL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMKQEAgLTksNyArOSw3IEBACiAjZW5kaWYKIAogI2lmZGVmIE1TX1dJTkRPV1MKLSNpbmNsdWRlIDxXaW5kb3dzLmg+CisjaW5jbHVkZSA8d2luZG93cy5oPgogI2lmZGVmIEhBVkVfUFJPQ0VTU19ICiAjaW5jbHVkZSA8cHJvY2Vzcy5oPgogI2VuZGlmCkBAIC0zNywxMSArMzcsNiBAQAogI2RlZmluZSBTSUdfRVJSICgoUHlPU19zaWdoYW5kbGVyX3QpKC0xKSkKICNlbmRpZgogCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgIWRlZmluZWQoUFlDQ19HQ0MpCi0jZGVmaW5lIE5TSUcgMTIKLSNpbmNsdWRlIDxwcm9jZXNzLmg+Ci0jZW5kaWYKLQogI2lmbmRlZiBOU0lHCiAjIGlmIGRlZmluZWQoX05TSUcpCiAjICBkZWZpbmUgTlNJRyBfTlNJRyAgICAgICAgICAgIC8qIEZvciBCU0QvU3lzViAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYyBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmMKaW5kZXggYTZmOGM1YS4uMzI2Mjk5OSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCkBAIC0xNSw3ICsxNSw3IEBACiAKIE1vZHVsZSBpbnRlcmZhY2U6CiAKLS0gc29ja2V0LmVycm9yOiBleGNlcHRpb24gcmFpc2VkIGZvciBzb2NrZXQgc3BlY2lmaWMgZXJyb3JzCistIHNvY2tldC5lcnJvcjogZXhjZXB0aW9uIHJhaXNlZCBmb3Igc29ja2V0IHNwZWNpZmljIGVycm9ycywgYWxpYXMgZm9yIE9TRXJyb3IKIC0gc29ja2V0LmdhaWVycm9yOiBleGNlcHRpb24gcmFpc2VkIGZvciBnZXRhZGRyaW5mby9nZXRuYW1laW5mbyBlcnJvcnMsCiAgICAgYSBzdWJjbGFzcyBvZiBzb2NrZXQuZXJyb3IKIC0gc29ja2V0LmhlcnJvcjogZXhjZXB0aW9uIHJhaXNlZCBmb3IgZ2V0aG9zdGJ5KiBlcnJvcnMsCkBAIC0yMjMsMTMgKzIyMyw2IEBACiAjZW5kaWYKIAogCi0jaWYgZGVmaW5lZChQWU9TX09TMikKLSMgZGVmaW5lICBJTkNMX0RPUwotIyBkZWZpbmUgIElOQ0xfRE9TRVJST1JTCi0jIGRlZmluZSAgSU5DTF9OT1BNQVBJCi0jIGluY2x1ZGUgPG9zMi5oPgotI2VuZGlmCi0KICNpZiBkZWZpbmVkKF9fc2dpKSAmJiBfQ09NUElMRVJfVkVSU0lPTj43MDAgJiYgIV9TR0lBUEkKIC8qIG1ha2Ugc3VyZSB0aGF0IHRoZSByZWVudHJhbnQgKGdldGhvc3RieWFkZHJfciBldGMpCiAgICBmdW5jdGlvbnMgYXJlIGRlY2xhcmVkIGNvcnJlY3RseSBpZiBjb21waWxpbmcgd2l0aApAQCAtMjg2LDEyICsyNzksNyBAQAogIyBpbmNsdWRlIDx1bmlzdGQuaD4KIAogLyogSGVhZGVycyBuZWVkZWQgZm9yIGluZXRfbnRvYSgpIGFuZCBpbmV0X2FkZHIoKSAqLwotIyBpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfVkFDUFApCi0jICBpbmNsdWRlIDxuZXRkYi5oPgotdHlwZWRlZiBzaXplX3Qgc29ja2xlbl90OwotIyBlbHNlCiAjICAgaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0jIGVuZGlmCiAKICMgIGluY2x1ZGUgPGZjbnRsLmg+CiAKQEAgLTM5NSwxMSArMzgzLDYgQEAKICNkZWZpbmUgc25wcmludGYgX3NucHJpbnRmCiAjZW5kaWYKIAotI2lmIGRlZmluZWQoUFlPU19PUzIpICYmICFkZWZpbmVkKFBZQ0NfR0NDKQotI2RlZmluZSBTT0NLRVRDTE9TRSBzb2Nsb3NlCi0jZGVmaW5lIE5PX0RVUCAvKiBTb2NrZXRzIGFyZSBOb3QgQWN0dWFsIEZpbGUgSGFuZGxlcyB1bmRlciBPUy8yICovCi0jZW5kaWYKLQogI2lmbmRlZiBTT0NLRVRDTE9TRQogI2RlZmluZSBTT0NLRVRDTE9TRSBjbG9zZQogI2VuZGlmCkBAIC01MzQsNDIgKzUxNyw2IEBACiAgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19PU0Vycm9yLCBlcnJfbm8pOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKLSAgICBpZiAoc29ja19lcnJubygpICE9IE5PX0VSUk9SKSB7Ci0gICAgICAgIEFQSVJFVCByYzsKLSAgICAgICAgVUxPTkcgIG1zZ2xlbjsKLSAgICAgICAgY2hhciBvdXRidWZbMTAwXTsKLSAgICAgICAgaW50IG15ZXJyb3Jjb2RlID0gc29ja19lcnJubygpOwotCi0gICAgICAgIC8qIFJldHJpZXZlIHNvY2tldC1yZWxhdGVkIGVycm9yIG1lc3NhZ2UgZnJvbSBNUFROLk1TRyBmaWxlICovCi0gICAgICAgIHJjID0gRG9zR2V0TWVzc2FnZShOVUxMLCAwLCBvdXRidWYsIHNpemVvZihvdXRidWYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbXllcnJvcmNvZGUgLSBTT0NCQVNFRVJSICsgMjYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAibXB0bi5tc2ciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1zZ2xlbik7Ci0gICAgICAgIGlmIChyYyA9PSBOT19FUlJPUikgewotICAgICAgICAgICAgUHlPYmplY3QgKnY7Ci0KLSAgICAgICAgICAgIC8qIE9TLzIgZG9lc24ndCBndWFyYW50ZWUgYSB0ZXJtaW5hdG9yICovCi0gICAgICAgICAgICBvdXRidWZbbXNnbGVuXSA9ICdcMCc7Ci0gICAgICAgICAgICBpZiAoc3RybGVuKG91dGJ1ZikgPiAwKSB7Ci0gICAgICAgICAgICAgICAgLyogSWYgbm9uLWVtcHR5IG1zZywgdHJpbSBDUkxGICovCi0gICAgICAgICAgICAgICAgY2hhciAqbGFzdGMgPSAmb3V0YnVmWyBzdHJsZW4ob3V0YnVmKS0xIF07Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGxhc3RjID4gb3V0YnVmICYmCi0gICAgICAgICAgICAgICAgICAgICAgIFB5X0lTU1BBQ0UoUHlfQ0hBUk1BU0soKmxhc3RjKSkpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogVHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlIChDUkxGKSAqLwotICAgICAgICAgICAgICAgICAgICAqbGFzdGMtLSA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihpcykiLCBteWVycm9yY29kZSwgb3V0YnVmKTsKLSAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfT1NFcnJvciwgdik7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5kaWYKLQogICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiB9CiAKQEAgLTY1OCwyMCArNjA1LDE3IEBACiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAjaWZuZGVmIE1TX1dJTkRPV1MKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKLSAgICBibG9jayA9ICFibG9jazsKLSAgICBpb2N0bChzLT5zb2NrX2ZkLCBGSU9OQklPLCAoY2FkZHJfdCkmYmxvY2ssIHNpemVvZihibG9jaykpOwotI2VsaWYgZGVmaW5lZChfX1ZNUykKKyNpZiBkZWZpbmVkKF9fVk1TKQogICAgIGJsb2NrID0gIWJsb2NrOwogICAgIGlvY3RsKHMtPnNvY2tfZmQsIEZJT05CSU8sICh1bnNpZ25lZCBpbnQgKikmYmxvY2spOwotI2Vsc2UgIC8qICFQWU9TX09TMiAmJiAhX19WTVMgKi8KKyNlbHNlICAvKiAhX19WTVMgKi8KICAgICBkZWxheV9mbGFnID0gZmNudGwocy0+c29ja19mZCwgRl9HRVRGTCwgMCk7CiAgICAgaWYgKGJsb2NrKQogICAgICAgICBkZWxheV9mbGFnICY9ICh+T19OT05CTE9DSyk7CiAgICAgZWxzZQogICAgICAgICBkZWxheV9mbGFnIHw9IE9fTk9OQkxPQ0s7CiAgICAgZmNudGwocy0+c29ja19mZCwgRl9TRVRGTCwgZGVsYXlfZmxhZyk7Ci0jZW5kaWYgLyogIVBZT1NfT1MyICovCisjZW5kaWYgLyogIV9fVk1TICovCiAjZWxzZSAvKiBNU19XSU5ET1dTICovCiAgICAgYmxvY2sgPSAhYmxvY2s7CiAgICAgaW9jdGxzb2NrZXQocy0+c29ja19mZCwgRklPTkJJTywgKHVfbG9uZyopJmJsb2NrKTsKQEAgLTEzMjksMTEgKzEyNzMsNyBAQAogICAgICAgICB9CiAgICAgICAgIGFkZHItPnN1bl9mYW1pbHkgPSBzLT5zb2NrX2ZhbWlseTsKICAgICAgICAgbWVtY3B5KGFkZHItPnN1bl9wYXRoLCBwYXRoLCBsZW4pOwotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgICAgICpsZW5fcmV0ID0gc2l6ZW9mKCphZGRyKTsKLSNlbHNlCiAgICAgICAgICpsZW5fcmV0ID0gbGVuICsgb2Zmc2V0b2Yoc3RydWN0IHNvY2thZGRyX3VuLCBzdW5fcGF0aCk7Ci0jZW5kaWYKICAgICAgICAgcmV0dmFsID0gMTsKICAgICB1bml4X291dDoKICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOwpAQCAtMTY1OCw2ICsxNTk4LDggQEAKICAgICBjYXNlIEFGX0NBTjoKICAgICAgICAgc3dpdGNoIChzLT5zb2NrX3Byb3RvKSB7CiAgICAgICAgIGNhc2UgQ0FOX1JBVzoKKyAgICAgICAgLyogZmFsbC10aHJvdWdoICovCisgICAgICAgIGNhc2UgQ0FOX0JDTToKICAgICAgICAgewogICAgICAgICAgICAgc3RydWN0IHNvY2thZGRyX2NhbiAqYWRkcjsKICAgICAgICAgICAgIFB5T2JqZWN0ICppbnRlcmZhY2VOYW1lOwpAQCAtMjgyMCwxMyArMjc2Miw4IEBACiAgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7CiAgICAgaWYgKCF0aW1lb3V0KSB7CiAjaWZuZGVmIE1TX1dJTkRPV1MKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKLSAgICAgICAgbiA9IHJlY3Zmcm9tKHMtPnNvY2tfZmQsIGNidWYsIGxlbiwgZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICBTQVMyU0EoJmFkZHJidWYpLCAmYWRkcmxlbik7Ci0jZWxzZQogICAgICAgICBuID0gcmVjdmZyb20ocy0+c29ja19mZCwgY2J1ZiwgbGVuLCBmbGFncywKICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopICZhZGRyYnVmLCAmYWRkcmxlbik7Ci0jZW5kaWYKICNlbHNlCiAgICAgICAgIG4gPSByZWN2ZnJvbShzLT5zb2NrX2ZkLCBjYnVmLCBsZW4sIGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pOwpAQCAtNTUwOSwzMiArNTQ0Niw2IEBACiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCiAKLSNpZmRlZiBQWU9TX09TMgotI2RlZmluZSBPU19JTklUX0RFRklORUQKLQotLyogQWRkaXRpb25hbCBpbml0aWFsaXphdGlvbiBmb3IgT1MvMiAqLwotCi1zdGF0aWMgaW50Ci1vc19pbml0KHZvaWQpCi17Ci0jaWZuZGVmIFBZQ0NfR0NDCi0gICAgaW50IHJjID0gc29ja19pbml0KCk7Ci0KLSAgICBpZiAocmMgPT0gMCkgewotICAgICAgICByZXR1cm4gMTsgLyogU3VjY2VzcyAqLwotICAgIH0KLQotICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwgIk9TLzIgVENQL0lQIEVycm9yIyAlZCIsIHNvY2tfZXJybm8oKSk7Ci0KLSAgICByZXR1cm4gMDsgIC8qIEZhaWx1cmUgKi8KLSNlbHNlCi0gICAgLyogTm8gbmVlZCB0byBpbml0aWFsaXplIHNvY2tldHMgd2l0aCBHQ0MvRU1YICovCi0gICAgcmV0dXJuIDE7IC8qIFN1Y2Nlc3MgKi8KLSNlbmRpZgotfQotCi0jZW5kaWYgLyogUFlPU19PUzIgKi8KLQogCiAjaWZuZGVmIE9TX0lOSVRfREVGSU5FRAogc3RhdGljIGludApAQCAtNjA2Miw2ICs1OTczLDkgQEAKICNpZmRlZiAgTVNHX01DQVNUCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TR19NQ0FTVCIsIE1TR19NQ0FTVCk7CiAjZW5kaWYKKyNpZmRlZiBNU0dfRkFTVE9QRU4KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNHX0ZBU1RPUEVOIiwgTVNHX0ZBU1RPUEVOKTsKKyNlbmRpZgogCiAgICAgLyogUHJvdG9jb2wgbGV2ZWwgYW5kIG51bWJlcnMsIHVzYWJsZSBmb3IgW2dzXWV0c29ja29wdCAqLwogI2lmZGVmICBTT0xfU09DS0VUCkBAIC02MTE5LDYgKzYwMzMsMjEgQEAKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX1JBV19MT09QQkFDSyIsIENBTl9SQVdfTE9PUEJBQ0spOwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fUkFXX1JFQ1ZfT1dOX01TR1MiLCBDQU5fUkFXX1JFQ1ZfT1dOX01TR1MpOwogI2VuZGlmCisjaWZkZWYgSEFWRV9MSU5VWF9DQU5fQkNNX0gKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX0JDTSIsIENBTl9CQ00pOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fQkNNX1RYX1NFVFVQIiwgVFhfU0VUVVApOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fQkNNX1RYX0RFTEVURSIsIFRYX0RFTEVURSk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkNBTl9CQ01fVFhfUkVBRCIsIFRYX1JFQUQpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fQkNNX1RYX1NFTkQiLCBUWF9TRU5EKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX0JDTV9SWF9TRVRVUCIsIFJYX1NFVFVQKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX0JDTV9SWF9ERUxFVEUiLCBSWF9ERUxFVEUpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fQkNNX1JYX1JFQUQiLCBSWF9SRUFEKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX0JDTV9UWF9TVEFUVVMiLCBUWF9TVEFUVVMpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fQkNNX1RYX0VYUElSRUQiLCBUWF9FWFBJUkVEKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX0JDTV9SWF9TVEFUVVMiLCBSWF9TVEFUVVMpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fQkNNX1JYX1RJTUVPVVQiLCBSWF9USU1FT1VUKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX0JDTV9SWF9DSEFOR0VEIiwgUlhfQ0hBTkdFRCk7CisjZW5kaWYKICNpZmRlZiBTT0xfUkRTCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNPTF9SRFMiLCBTT0xfUkRTKTsKICNlbmRpZgpAQCAtNjQ5Miw3ICs2NDIxLDkgQEAKICNpZmRlZiAgVENQX1FVSUNLQUNLCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlRDUF9RVUlDS0FDSyIsIFRDUF9RVUlDS0FDSyk7CiAjZW5kaWYKLQorI2lmZGVmICBUQ1BfRkFTVE9QRU4KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiVENQX0ZBU1RPUEVOIiwgVENQX0ZBU1RPUEVOKTsKKyNlbmRpZgogCiAgICAgLyogSVBYIG9wdGlvbnMgKi8KICNpZmRlZiAgSVBYX1RZUEUKZGlmZiAtLWdpdCBhL01vZHVsZXMvc29ja2V0bW9kdWxlLmggYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5oCmluZGV4IDA0MzU4NzguLmI4M2Y5YWYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc29ja2V0bW9kdWxlLmgKKysrIGIvTW9kdWxlcy9zb2NrZXRtb2R1bGUuaApAQCAtOCw3ICs4LDcgQEAKICMgICBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAjIGVuZGlmCiAjIGluY2x1ZGUgPG5ldGluZXQvaW4uaD4KLSMgaWYgIShkZWZpbmVkKF9fQ1lHV0lOX18pIHx8IChkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfVkFDUFApKSkKKyMgaWYgIWRlZmluZWQoX19DWUdXSU5fXykKICMgIGluY2x1ZGUgPG5ldGluZXQvdGNwLmg+CiAjIGVuZGlmCiAKQEAgLTgwLDYgKzgwLDEwIEBACiAjaW5jbHVkZSA8bGludXgvY2FuL3Jhdy5oPgogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX0xJTlVYX0NBTl9CQ01fSAorI2luY2x1ZGUgPGxpbnV4L2Nhbi9iY20uaD4KKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9TWVNfU1lTX0RPTUFJTl9ICiAjaW5jbHVkZSA8c3lzL3N5c19kb21haW4uaD4KICNlbmRpZgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy90aW1lbW9kdWxlLmMgYi9Nb2R1bGVzL3RpbWVtb2R1bGUuYwppbmRleCA1YTBmMzc4Li40MjkyMTVmIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3RpbWVtb2R1bGUuYworKysgYi9Nb2R1bGVzL3RpbWVtb2R1bGUuYwpAQCAtMzcsMTYgKzM3LDYgQEAKICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAjZW5kaWYgLyogIV9fV0FUQ09NQ19fIHx8IF9fUU5YX18gKi8KIAotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0jZGVmaW5lIElOQ0xfRE9TCi0jZGVmaW5lIElOQ0xfRVJST1JTCi0jaW5jbHVkZSA8b3MyLmg+Ci0jZW5kaWYKLQotI2lmIGRlZmluZWQoUFlDQ19WQUNQUCkKLSNpbmNsdWRlIDxzeXMvdGltZS5oPgotI2VuZGlmCi0KICNpZiBkZWZpbmVkKF9fQVBQTEVfXykKICNpbmNsdWRlIDxtYWNoL21hY2hfdGltZS5oPgogI2VuZGlmCkBAIC01NDMsNiArNTMzLDI2IEBACiAgICAvKiB3Y3NmdGltZSgpIGRvZXNuJ3QgZm9ybWF0IGNvcnJlY3RseSB0aW1lIHpvbmVzLCBzZWUgaXNzdWUgIzEwNjUzICovCiAjICB1bmRlZiBIQVZFX1dDU0ZUSU1FCiAjZW5kaWYKKyNkZWZpbmUgU1RSRlRJTUVfRk9STUFUX0NPREVTIFwKKyJDb21tb25seSB1c2VkIGZvcm1hdCBjb2RlczpcblwKK1xuXAorJVkgIFllYXIgd2l0aCBjZW50dXJ5IGFzIGEgZGVjaW1hbCBudW1iZXIuXG5cCislbSAgTW9udGggYXMgYSBkZWNpbWFsIG51bWJlciBbMDEsMTJdLlxuXAorJWQgIERheSBvZiB0aGUgbW9udGggYXMgYSBkZWNpbWFsIG51bWJlciBbMDEsMzFdLlxuXAorJUggIEhvdXIgKDI0LWhvdXIgY2xvY2spIGFzIGEgZGVjaW1hbCBudW1iZXIgWzAwLDIzXS5cblwKKyVNICBNaW51dGUgYXMgYSBkZWNpbWFsIG51bWJlciBbMDAsNTldLlxuXAorJVMgIFNlY29uZCBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMCw2MV0uXG5cCisleiAgVGltZSB6b25lIG9mZnNldCBmcm9tIFVUQy5cblwKKyVhICBMb2NhbGUncyBhYmJyZXZpYXRlZCB3ZWVrZGF5IG5hbWUuXG5cCislQSAgTG9jYWxlJ3MgZnVsbCB3ZWVrZGF5IG5hbWUuXG5cCislYiAgTG9jYWxlJ3MgYWJicmV2aWF0ZWQgbW9udGggbmFtZS5cblwKKyVCICBMb2NhbGUncyBmdWxsIG1vbnRoIG5hbWUuXG5cCislYyAgTG9jYWxlJ3MgYXBwcm9wcmlhdGUgZGF0ZSBhbmQgdGltZSByZXByZXNlbnRhdGlvbi5cblwKKyVJICBIb3VyICgxMi1ob3VyIGNsb2NrKSBhcyBhIGRlY2ltYWwgbnVtYmVyIFswMSwxMl0uXG5cCislcCAgTG9jYWxlJ3MgZXF1aXZhbGVudCBvZiBlaXRoZXIgQU0gb3IgUE0uXG5cCitcblwKK090aGVyIGNvZGVzIG1heSBiZSBhdmFpbGFibGUgb24geW91ciBwbGF0Zm9ybS4gIFNlZSBkb2N1bWVudGF0aW9uIGZvclxuXAordGhlIEMgbGlicmFyeSBzdHJmdGltZSBmdW5jdGlvbi5cbiIKIAogI2lmZGVmIEhBVkVfU1RSRlRJTUUKICNpZmRlZiBIQVZFX1dDU0ZUSU1FCkBAIC02ODcsMTMgKzY5NywxMyBAQAogCiAjdW5kZWYgdGltZV9jaGFyCiAjdW5kZWYgZm9ybWF0X3RpbWUKLQogUHlEb2NfU1RSVkFSKHN0cmZ0aW1lX2RvYywKICJzdHJmdGltZShmb3JtYXRbLCB0dXBsZV0pIC0+IHN0cmluZ1xuXAogXG5cCiBDb252ZXJ0IGEgdGltZSB0dXBsZSB0byBhIHN0cmluZyBhY2NvcmRpbmcgdG8gYSBmb3JtYXQgc3BlY2lmaWNhdGlvbi5cblwKIFNlZSB0aGUgbGlicmFyeSByZWZlcmVuY2UgbWFudWFsIGZvciBmb3JtYXR0aW5nIGNvZGVzLiBXaGVuIHRoZSB0aW1lIHR1cGxlXG5cCi1pcyBub3QgcHJlc2VudCwgY3VycmVudCB0aW1lIGFzIHJldHVybmVkIGJ5IGxvY2FsdGltZSgpIGlzIHVzZWQuIik7CitpcyBub3QgcHJlc2VudCwgY3VycmVudCB0aW1lIGFzIHJldHVybmVkIGJ5IGxvY2FsdGltZSgpIGlzIHVzZWQuXG5cCitcbiIgU1RSRlRJTUVfRk9STUFUX0NPREVTKTsKICNlbmRpZiAvKiBIQVZFX1NUUkZUSU1FICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC03MTYsNyArNzI2LDkgQEAKICJzdHJwdGltZShzdHJpbmcsIGZvcm1hdCkgLT4gc3RydWN0X3RpbWVcblwKIFxuXAogUGFyc2UgYSBzdHJpbmcgdG8gYSB0aW1lIHR1cGxlIGFjY29yZGluZyB0byBhIGZvcm1hdCBzcGVjaWZpY2F0aW9uLlxuXAotU2VlIHRoZSBsaWJyYXJ5IHJlZmVyZW5jZSBtYW51YWwgZm9yIGZvcm1hdHRpbmcgY29kZXMgKHNhbWUgYXMgc3RyZnRpbWUoKSkuIik7CitTZWUgdGhlIGxpYnJhcnkgcmVmZXJlbmNlIG1hbnVhbCBmb3IgZm9ybWF0dGluZyBjb2RlcyAoc2FtZSBhc1xuXAorc3RyZnRpbWUoKSkuXG5cCitcbiIgU1RSRlRJTUVfRk9STUFUX0NPREVTKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIF9hc2N0aW1lKHN0cnVjdCB0bSAqdGltZXB0cikKQEAgLTEyNjYsMTkgKzEyNzgsMTEgQEAKICNpZiBkZWZpbmVkKEhBVkVfVFpOQU1FKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9fQ1lHV0lOX18pCiAgICAgUHlPYmplY3QgKm90ejAsICpvdHoxOwogICAgIHR6c2V0KCk7Ci0jaWZkZWYgUFlPU19PUzIKLSAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAidGltZXpvbmUiLCBfdGltZXpvbmUpOwotI2Vsc2UgLyogIVBZT1NfT1MyICovCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgInRpbWV6b25lIiwgdGltZXpvbmUpOwotI2VuZGlmIC8qIFBZT1NfT1MyICovCiAjaWZkZWYgSEFWRV9BTFRaT05FCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgImFsdHpvbmUiLCBhbHR6b25lKTsKICNlbHNlCi0jaWZkZWYgUFlPU19PUzIKLSAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiYWx0em9uZSIsIF90aW1lem9uZS0zNjAwKTsKLSNlbHNlIC8qICFQWU9TX09TMiAqLwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJhbHR6b25lIiwgdGltZXpvbmUtMzYwMCk7Ci0jZW5kaWYgLyogUFlPU19PUzIgKi8KICNlbmRpZgogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJkYXlsaWdodCIsIGRheWxpZ2h0KTsKICAgICBvdHowID0gUHlVbmljb2RlX0RlY29kZUxvY2FsZSh0em5hbWVbMF0sICJzdXJyb2dhdGVlc2NhcGUiKTsKQEAgLTE1NzQsNyArMTU3OCw3IEBACiAgICAgICAgICAgICBEV09SRCByYzsKICAgICAgICAgICAgIEhBTkRMRSBoSW50ZXJydXB0RXZlbnQgPSBfUHlPU19TaWdpbnRFdmVudCgpOwogICAgICAgICAgICAgUmVzZXRFdmVudChoSW50ZXJydXB0RXZlbnQpOwotICAgICAgICAgICAgcmMgPSBXYWl0Rm9yU2luZ2xlT2JqZWN0KGhJbnRlcnJ1cHRFdmVudCwgdWxfbWlsbGlzKTsKKyAgICAgICAgICAgIHJjID0gV2FpdEZvclNpbmdsZU9iamVjdEV4KGhJbnRlcnJ1cHRFdmVudCwgdWxfbWlsbGlzLCBGQUxTRSk7CiAgICAgICAgICAgICBpZiAocmMgPT0gV0FJVF9PQkpFQ1RfMCkgewogICAgICAgICAgICAgICAgIFB5X0JMT0NLX1RIUkVBRFMKICAgICAgICAgICAgICAgICBlcnJubyA9IEVJTlRSOwpAQCAtMTU4NCwxNSArMTU4OCw2IEBACiAgICAgICAgIH0KICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICB9Ci0jZWxpZiBkZWZpbmVkKFBZT1NfT1MyKQotICAgIC8qIFRoaXMgU2xlZXAgKklTKiBJbnRlcnJ1cHRhYmxlIGJ5IEV4Y2VwdGlvbnMgKi8KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgaWYgKERvc1NsZWVwKHNlY3MgKiAxMDAwKSAhPSBOT19FUlJPUikgewotICAgICAgICBQeV9CTE9DS19USFJFQURTCi0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogI2Vsc2UKICAgICAvKiBYWFggQ2FuJ3QgaW50ZXJydXB0IHRoaXMgc2xlZXAgKi8KICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmgKaW5kZXggNWQ1ZGNhOC4uOTNhMDljZCAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlZGF0YV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZWRhdGFfZGIuaApAQCAtMSw2ICsxLDYgQEAKIC8qIHRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFRvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5IDMuMiAqLwogCi0jZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNi4xLjAiCisjZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNi4yLjAiCiAvKiBhIGxpc3Qgb2YgdW5pcXVlIGRhdGFiYXNlIHJlY29yZHMgKi8KIGNvbnN0IF9QeVVuaWNvZGVfRGF0YWJhc2VSZWNvcmQgX1B5VW5pY29kZV9EYXRhYmFzZV9SZWNvcmRzW10gPSB7CiAgICAgezAsIDAsIDAsIDAsIDAsIDB9LApAQCAtMTQ0NCw0MSArMTQ0NCw0MCBAQAogICAgIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAKICAgICAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgCi0gICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAKLSAgICA4MSwgODEsIDgxLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgODEsIDgxLCAKKyAgICA4MSwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIAorICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgODQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIApAQCAtMTQ5OCwxNSArMTQ5NywxNiBAQAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MiwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNjMsIDE2NCwgMCwgCi0gICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMTcyLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE2MywgMTY0LCAwLCAwLCAwLCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgODMsIDgzLCA4MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA4MywgODMsIDgzLCAxNzMsIDE3MywgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAKICAgICAxNDIsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKQEAgLTE2NDUsMTUgKzE2NDUsMTUgQEAKICAgICAyMTEsIDIxMSwgMjEyLCAyMTMsIDIxNCwgMjE1LCAyMTAsIDM0LCAzNCwgMzQsIDM0LCAyMTAsIDIxMCwgMjEwLCAyMTAsIAogICAgIDIxMCwgMjExLCAyMTEsIDIxMiwgMjEzLCAyMTQsIDAsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCAKICAgICA1MSwgNTEsIDUxLCAwLCAwLCAwLCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDIxNiwgMjE3LCA4NSwgODUsIAotICAgIDIzLCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCAxNzUsIDE3NSwgODEsIDgxLCAKLSAgICA4MSwgODEsIDE3NSwgMTc1LCAxNzUsIDgxLCA4MSwgODIsIDgyLCA4MiwgODIsIDgxLCA4MiwgODIsIDgyLCAxNzUsIDE3NSwgCi0gICAgODEsIDg2LCA4MSwgMTc1LCAxNzUsIDg2LCA4NiwgODYsIDg2LCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjE4LCAyMTgsIDQ5LCAyMTksIDI2LCAyMTksIDIxOCwgNDksIDI2LCAyMTksIDM1LCA0OSwgNDksIAotICAgIDQ5LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ2LCAyNiwgNDksIDIxOSwgMjYsIDc4LCA0OSwgNDksIDQ5LCA0OSwgNDksIDI2LCAKLSAgICAyNiwgMjE4LCAyMTksIDIxOSwgMjYsIDQ5LCAyNiwgMjIwLCAyNiwgNDksIDI2LCAxODMsIDIyMCwgNDksIDQ5LCAyMjEsIAotICAgIDM1LCA0OSwgNDksIDQ0LCA0OSwgMzUsIDE1NiwgMTU2LCAxNTYsIDE1NiwgMzUsIDI2LCAyMTgsIDM1LCAzNSwgNDksIDQ5LCAKLSAgICAyMjIsIDc4LCA3OCwgNzgsIDc4LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDI2LCA3OCwgMjYsIDI2LCA0NywgODAsIDIyMywgCisgICAgMjMsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCAxNzUsIDE3NSwgODEsIAorICAgIDgxLCA4MSwgODEsIDE3NSwgMTc1LCAxNzUsIDgxLCA4MSwgODIsIDgyLCA4MiwgODIsIDgxLCA4MiwgODIsIDgyLCAxNzUsIAorICAgIDE3NSwgODEsIDg2LCA4MSwgMTc1LCAxNzUsIDg2LCA4NiwgODYsIDg2LCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjE4LCAyMTgsIDQ5LCAyMTksIDI2LCAyMTksIDIxOCwgNDksIDI2LCAyMTksIDM1LCA0OSwgCisgICAgNDksIDQ5LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ2LCAyNiwgNDksIDIxOSwgMjYsIDc4LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDI2LCAyNiwgMjE4LCAyMTksIDIxOSwgMjYsIDQ5LCAyNiwgMjIwLCAyNiwgNDksIDI2LCAxODMsIDIyMCwgNDksIDQ5LCAKKyAgICAyMjEsIDM1LCA0OSwgNDksIDQ0LCA0OSwgMzUsIDE1NiwgMTU2LCAxNTYsIDE1NiwgMzUsIDI2LCAyMTgsIDM1LCAzNSwgNDksIAorICAgIDQ5LCAyMjIsIDc4LCA3OCwgNzgsIDc4LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDI2LCA3OCwgMjYsIDI2LCA0NywgODAsIDIyMywgCiAgICAgMjIzLCAyMjMsIDM3LCAzNywgMjIzLCAyMjMsIDIyMywgMjIzLCAyMjMsIDIyMywgMzcsIDM3LCAzNywgMzcsIDIyMywgMjI0LCAKICAgICAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI1LCAyMjUsIDIyNSwgCiAgICAgMjI1LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNSwgMjI1LCAyMjUsIApAQCAtMjA3MiwxMiArMjA3MiwxMSBAQAogICAgIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAKICAgICAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgCiAgICAgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKICAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCiAgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKQEAgLTIwODYsNyArMjA4NSw3IEBACiAgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAogICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKICAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY5LCAyNjksIDI2OSwgMjY5LCAKICAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCiAgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAogICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKQEAgLTIwOTUsNyArMjA5NCw3IEBACiAgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAogICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKICAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCi0gICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNzAsIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI3MCwgMjcwLCAKICAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCiAgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAogICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKQEAgLTIxMDYsMTMgKzIxMDUsMTMgQEAKICAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCiAgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAogICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKLSAgICAyNzAsIDE3MCwgMTcwLCAyNzAsIDE3MCwgMjcwLCAxNzAsIDE3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCi0gICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAxNzAsIDI3MCwgMTcwLCAyNzAsIDE3MCwgMTcwLCAyNzAsIDI3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAxNzAsIDE3MCwgMjcwLCAxNzAsIDI3MCwgMTcwLCAxNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMTcwLCAyNzAsIDE3MCwgMjcwLCAxNzAsIDE3MCwgMjcwLCAyNzAsIDE3MCwgMTcwLCAxNzAsIAogICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKICAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCiAgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAotICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMCwgMCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDAsIDAsIDI3MCwgCiAgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAogICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKICAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCkBAIC0yMTIwLDIyICsyMTE5LDIyIEBACiAgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAogICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKICAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCi0gICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgMCwgMCwgMCwgMCwgMjcxLCAyNzIsIDI3MSwgMjczLCAyNzMsIDI3MywgMjczLCAKLSAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjExLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgCi0gICAgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDAsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAwLCAyNzEsIDAsIDI3MSwgMjcxLCAKLSAgICAwLCAyNzEsIDI3MSwgMCwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjczLCAxMzAsIAorICAgIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDI3MSwgMjcyLCAyNzEsIDI3MywgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDIxMSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgCisgICAgMjcxLCAyNzEsIDI3MSwgMjcxLCAwLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMCwgMjcxLCAwLCAyNzEsIDI3MSwgMCwgCisgICAgMjcxLCAyNzEsIDAsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MywgMTMwLCAxMzAsIAogICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKICAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAogICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKICAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMjc0LCAKLSAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCi0gICAgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAyNzQsIDI3NCwgCisgICAgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKICAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAogICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKQEAgLTIxNTIsMjYgKzIxNTEsMjYgQEAKICAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAogICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKLSAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTk1LCAyNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDE5NSwgMjc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCi0gICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKLSAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCi0gICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMTMwLCAKLSAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCi0gICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKLSAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMjc2LCAyNiwgMCwgMCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCi0gICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc4LCAyNzksIAotICAgIDI3NywgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDI3NywgMjgwLCAyODAsIDI4MSwgMjgxLCAyNzgsIDI3OSwgMjc4LCAyNzksIDI3OCwgMjc5LCAyNzgsIDI3OSwgCi0gICAgMjc4LCAyNzksIDI3OCwgMjc5LCAyNzgsIDI3OSwgMjc4LCAyNzksIDI0MywgMjQzLCAyNzgsIDI3OSwgMjc3LCAyNzcsIAotICAgIDI3NywgMjc3LCAyODEsIDI4MSwgMjgxLCAyODIsIDI3NywgMjgyLCAwLCAyNzcsIDI4MiwgMjc3LCAyNzcsIDI4MCwgMjgzLCAKLSAgICAyODQsIDI4MywgMjg0LCAyODMsIDI4NCwgMjg1LCAyNzcsIDI3NywgMjg2LCAyODcsIDI4OCwgMjg4LCAyODksIDAsIDI3NywgCi0gICAgMjkwLCAyODUsIDI3NywgMCwgMCwgMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTE3LCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAyNzYsIDI2LCAwLCAwLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzgsIDI3OSwgMjc3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc3LCAKKyAgICAyODAsIDI4MCwgMjgxLCAyODEsIDI3OCwgMjc5LCAyNzgsIDI3OSwgMjc4LCAyNzksIDI3OCwgMjc5LCAyNzgsIDI3OSwgCisgICAgMjc4LCAyNzksIDI3OCwgMjc5LCAyNzgsIDI3OSwgMjQzLCAyNDMsIDI3OCwgMjc5LCAyNzcsIDI3NywgMjc3LCAyNzcsIAorICAgIDI4MSwgMjgxLCAyODEsIDI4MiwgMjc3LCAyODIsIDAsIDI3NywgMjgyLCAyNzcsIDI3NywgMjgwLCAyODMsIDI4NCwgMjgzLCAKKyAgICAyODQsIDI4MywgMjg0LCAyODUsIDI3NywgMjc3LCAyODYsIDI4NywgMjg4LCAyODgsIDI4OSwgMCwgMjc3LCAyOTAsIDI4NSwgCisgICAgMjc3LCAwLCAwLCAwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMTcsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAogICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKICAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIApAQCAtMjE4MSwyOTYgKzIxODAsMjg5IEBACiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAogICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKICAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCi0gICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMTg3LCAwLCAyOTEsIDI5MSwgMjkyLCAyOTMsIDI5MiwgMjkxLCAKLSAgICAyOTEsIDI5NCwgMjk1LCAyOTEsIDI5NiwgMjk3LCAyOTgsIDI5NywgMjk3LCAyOTksIDI5OSwgMjk5LCAyOTksIDI5OSwgCi0gICAgMjk5LCAyOTksIDI5OSwgMjk5LCAyOTksIDI5NywgMjkxLCAzMDAsIDMwMSwgMzAwLCAyOTEsIDI5MSwgMzAyLCAzMDIsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMTg3LCAwLCAyOTEsIDI5MSwgMjkyLCAyOTMsIDI5MiwgMjkxLCAyOTEsIDI5NCwgCisgICAgMjk1LCAyOTEsIDI5NiwgMjk3LCAyOTgsIDI5NywgMjk3LCAyOTksIDI5OSwgMjk5LCAyOTksIDI5OSwgMjk5LCAyOTksIAorICAgIDI5OSwgMjk5LCAyOTksIDI5NywgMjkxLCAzMDAsIDMwMSwgMzAwLCAyOTEsIDI5MSwgMzAyLCAzMDIsIDMwMiwgMzAyLCAKICAgICAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgCi0gICAgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAyOTQsIDI5MSwgMjk1LCAzMDMsIAotICAgIDMwNCwgMzAzLCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAKKyAgICAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMjk0LCAyOTEsIDI5NSwgMzAzLCAzMDQsIDMwMywgCiAgICAgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIAotICAgIDI5NCwgMzAxLCAyOTUsIDMwMSwgMjk0LCAyOTUsIDMwNiwgMzA3LCAzMDgsIDMwNiwgMzA2LCAzMDksIDMwOSwgMzA5LCAKLSAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMxMCwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCisgICAgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMjk0LCAzMDEsIAorICAgIDI5NSwgMzAxLCAyOTQsIDI5NSwgMzA2LCAzMDcsIDMwOCwgMzA2LCAzMDYsIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKKyAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzEwLCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCiAgICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIAogICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKLSAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzEwLCAzMTAsIDMwOSwgCisgICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzEwLCAzMTAsIDMwOSwgMzA5LCAzMDksIAogICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKLSAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCi0gICAgMzA5LCAzMDksIDAsIDAsIDAsIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDAsIDAsIDMwOSwgMzA5LCAzMDksIAotICAgIDMwOSwgMzA5LCAzMDksIDAsIDAsIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDAsIDAsIDMwOSwgMzA5LCAzMDksIAotICAgIDAsIDAsIDAsIDI5MywgMjkzLCAzMDEsIDMwMywgMzExLCAyOTMsIDI5MywgMCwgMzEyLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMiwgMzEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTQsIDMxNCwgMzE0LCAyNiwgMzAsIDAsIDAsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAwLCAKKyAgICAwLCAwLCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAwLCAwLCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKKyAgICAwLCAwLCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAwLCAwLCAzMDksIDMwOSwgMzA5LCAwLCAwLCAwLCAyOTMsIAorICAgIDI5MywgMzAxLCAzMDMsIDMxMSwgMjkzLCAyOTMsIDAsIDMxMiwgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTIsIDMxMiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE0LCAzMTQsIDMxNCwgMjYsIDMwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgODMsIDEzOCwgODMsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKLSAgICAxNDgsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMxNSwgMzE1LCAzMTUsIDMxNSwgCi0gICAgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIAotICAgIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAKLSAgICAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgCi0gICAgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTUzLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgMCwgMCwgMCwgMCwgODMsIDEzOCwgODMsIDAsIDAsIDAsIDAsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIAorICAgIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAKKyAgICAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgCisgICAgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIAorICAgIDMxNSwgMzE1LCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTUzLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAogICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDg2LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDg2LCAwLCAwLCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgODMsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIAotICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCi0gICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDAsIDAsIDEwNywgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAxMDcsIDAsIDAsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAxMDQsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIAotICAgIDMxNiwgMzE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDAsIDAsIDAsIDEzOCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMzUsIDg2LCAxMzUsIDgxLCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDgxLCAxNzUsIAotICAgIDg2LCAwLCAwLCAwLCAwLCAxNDIsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMzE2LCAzMTYsIDEwNCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIAotICAgIDMxNiwgMzE2LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAotICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKLSAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAKLSAgICAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgCi0gICAgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMCwgMTM5LCAxMzUsIAotICAgIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCi0gICAgMTQyLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAotICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKLSAgICAxNTMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCAKLSAgICAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTQyLCAxNDEsIDgzLCA4MywgCi0gICAgMTg4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAotICAgIDEzOSwgMTM1LCAxNTAsIDE1MCwgMTM1LCAxMzUsIDEzNSwgMTQyLCAxNDIsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKLSAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTc0LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKLSAgICAxNzQsIDE0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAotICAgIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCi0gICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAotICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKLSAgICAxNzMsIDE3MywgMTczLCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIAotICAgIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQ4LCA0OCwgMCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAogICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDgzLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAxMDcsIDAsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAxMDcsIDEwNywgMCwgMCwgMCwgMTA3LCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMCwgMTA0LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgCisgICAgMzE2LCAwLCAwLCAwLCAxMzgsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAwLCAwLCAwLCAxMDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTA3LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMTM1LCA4NiwgMTM1LCA4MSwgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCA4MSwgMTc1LCA4NiwgMCwgMCwgMCwgMCwgMTQyLCAKKyAgICAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0LCAxMDQsIAorICAgIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDMxNiwgMzE2LCAKKyAgICAxMDQsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAwLCAwLCAwLCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIAorICAgIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAKKyAgICAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDAsIDEzOSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE0MiwgODMsIDgzLCA4MywgODMsIDgzLCA4MywgCisgICAgODMsIDAsIDAsIDAsIDAsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKKyAgICAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgMTQwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDE0MiwgMTQxLCA4MywgODMsIDE4OCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDgxLCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDE0OSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzNSwgMTUwLCAxNTAsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDE0MiwgMTQyLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCAKKyAgICA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDE3NCwgNDgsIDQ4LCA0OCwgNDgsIDgzLCA4MywgODMsIDgzLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIAorICAgIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTc0LCAxNDUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKICAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCiAgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAotICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKLSAgICAxMzksIDEzOSwgMTM5LCAxMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgCi0gICAgMTM1LCAxMzUsIDEzNSwgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDAsIDAsIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCA1MywgNTMsIDUzLCAKKyAgICA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAKLSAgICAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAogICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKICAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzE4LCAzMTgsIDMxOCwgMzE4LCAzMTgsIDMxOCwgMzE4LCAzMTksIDMxOSwgCi0gICAgMTc1LCAxNzUsIDE3NSwgODAsIDgwLCA4MCwgMzIwLCAzMTksIDMxOSwgMzE5LCAzMTksIDMxOSwgMTg3LCAxODcsIDE4NywgCi0gICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODAsIDgwLCA4MSwgODEsIAotICAgIDgxLCA4MSwgODEsIDg2LCA4NiwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODEsIAotICAgIDgxLCA4MSwgODEsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAzMTgsIDMxOCwgCi0gICAgMzE4LCAzMTgsIDMxOCwgMzE4LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDMxOCwgMzE4LCAzMTgsIDMxOCwgMzE4LCAzMTgsIDMxOCwgMzE5LCAzMTksIDE3NSwgMTc1LCAxNzUsIDgwLCA4MCwgODAsIAorICAgIDMyMCwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCA4NiwgCisgICAgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgwLCA4MCwgODEsIDgxLCA4MSwgODEsIDgxLCA4NiwgODYsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgxLCA4MSwgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzE4LCAzMTgsIDMxOCwgMzE4LCAzMTgsIDMxOCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgODEsIAotICAgIDgxLCA4MSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MSwgODEsIDgxLCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgCi0gICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAotICAgIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAogICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCAwLCA0OSwgNDksIDAsIDAsIDQ5LCAwLCAwLCA0OSwgNDksIDAsIDAsIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMCwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgMCwgCisgICAgNDksIDQ5LCAwLCAwLCA0OSwgMCwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMCwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCAwLCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgCisgICAgNDksIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCiAgICAgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCiAgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCiAgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgCi0gICAgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgMCwgNDksIAotICAgIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKICAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKICAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKICAgICA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKICAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKICAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAKICAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKLSAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAotICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyMiwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCi0gICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDIyMiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAogICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzIxLCAKICAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKICAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjIyLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgCkBAIC0yNDgwLDc3ICsyNDcyLDg0IEBACiAgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCiAgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAogICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyMiwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgNDksIDM1LCAwLCAwLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjEsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAyMjIsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzMjEsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjIsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCAzNSwgMCwgMCwgMzIyLCAzMjIsIAogICAgIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAKICAgICAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgCiAgICAgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCiAgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAwLCAxMzAsIDAsIDAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKLSAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMzAsIDAsIDAsIDAsIDAsIDEzMCwgMCwgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDAsIAotICAgIDEzMCwgMTMwLCAwLCAxMzAsIDAsIDAsIDEzMCwgMCwgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAwLCAxMzAsIDEzMCwgCi0gICAgMCwgMTMwLCAwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCi0gICAgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgCi0gICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMCwgMCwgMCwgMTMwLCAKLSAgICAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAotICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMCwgMTMwLCAwLCAwLCAKKyAgICAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwLCAwLCAwLCAwLCAwLCAxMzAsIDAsIDEzMCwgCisgICAgMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMCwgMTMwLCAwLCAwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAKKyAgICAwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAxMzAsIDAsIDEzMCwgMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDAsIDAsIDAsIDAsIDAsIDEzMCwgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgsIDc4LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAyMzcsIAotICAgIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKLSAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgCi0gICAgMzIzLCAwLCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIAotICAgIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKLSAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgCi0gICAgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIAotICAgIDMyNCwgMzI0LCAzMjQsIDIxOCwgMjE4LCAwLCAwLCAwLCAwLCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIAotICAgIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAKLSAgICAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMjM3LCAzMjQsIDMyNCwgCi0gICAgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgMjY0LCAyNjQsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY0LCAyNjQsIAotICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKLSAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCi0gICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNjQsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgsIDc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKICAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAwLCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKKyAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgCisgICAgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMzIzLCAwLCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIAorICAgIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKKyAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMzI0LCAzMjQsIDMyNCwgCisgICAgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIAorICAgIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDIxOCwgMjE4LCAwLCAwLCAwLCAwLCAzMjQsIAorICAgIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAKKyAgICAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgCisgICAgMzI0LCAzMjQsIDMyNCwgMjM3LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMjY0LCAyNjQsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAwLCAwLCAwLCAwLCAwLCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjQsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAwLCAyNiwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIApAQCAtMjU2MCw3NyArMjU1OSw3NiBAQAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDAsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgCi0gICAgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgCi0gICAgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKLSAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAotICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCi0gICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAotICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKLSAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKICAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCi0gICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMCwgMCwgMCwgMCwgCisgICAgMjcwLCAyNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4NywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAKICAgICAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgCiAgICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAogICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAKICAgICAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgCiAgICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAogICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAKLSAgICAxODcsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAogICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAogICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAogICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIApAQCAtMjY0Myw4ICsyNjQxLDggQEAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKICAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKLSAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCiAgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAogICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKICAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCkBAIC0yNjUyLDggKzI2NTAsOCBAQAogICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKICAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCiAgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAotICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAwLCAKLSAgICAwLCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCisgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAwLCAwLCAKIH07CiAKIC8qIGRlY29tcG9zaXRpb24gZGF0YSAqLwpAQCAtNTg2Myw3ICs1ODYxLDcgQEAKICAgICAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNiwgNCwgMCwgMCwgMzcsIDM4LCAzOSwgNDAsIAogICAgIDQxLCA0MiwgMSwgMSwgMCwgMCwgMCwgNCwgMzYsIDgsIDYsIDcsIDM3LCAzOCwgMzksIDQwLCA0MSwgNDIsIDEsIDEsIDAsIAogICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAogICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oIGIvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oCmluZGV4IDM4Mzg4ODIuLjA4NGYwMTEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvdW5pY29kZW5hbWVfZGIuaAorKysgYi9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmgKQEAgLTY1LDkgKzY1LDkgQEAKICAgICA3NiwgODUsIDE5NywgODMsIDcyLCA2NSwgODIsIDY1LCA2OCwgMTkzLCA4MywgNzMsIDc4LCA3MiwgNjUsIDc2LCAxOTMsIAogICAgIDc1LCA2NSwgMTI4LCA4MiwgODUsIDc4LCA3MywgMTk1LCA4MywgNjUsIDg1LCA4MiwgNjUsIDgzLCA3MiwgODQsIDgyLCAKICAgICAxOTMsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzEsIDgyLCA2NSwgMjA1LCA2OCwgNjksIDgzLCA2OSwgODIsIDY5LCAyMTIsIAotICAgIDg0LCA3MywgNzYsIDY4LCA2OSwgMTI4LCA3MSwgODUsIDgyLCA3NywgODUsIDc1LCA3MiwgMjAxLCA3NywgNjUsIDEyOCwgCi0gICAgNzcsIDY1LCA4OSwgNjksIDIwMywgNzcsIDY5LCA2OSwgODQsIDY5LCAyMDEsIDc4LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAKLSAgICAyMDYsIDgzLCA4OSwgODIsIDczLCA2NSwgMTk1LCA3MCwgNzMsIDg2LCA2OSwgMTI4LCA4MCwgNjUsIDEyOCwgODksIDY1LCAKKyAgICA4MywgODksIDgyLCA3MywgNjUsIDE5NSwgODQsIDczLCA3NiwgNjgsIDY5LCAxMjgsIDcxLCA4NSwgODIsIDc3LCA4NSwgNzUsIAorICAgIDcyLCAyMDEsIDc3LCA2NSwgMTI4LCA3NywgNjUsIDg5LCA2OSwgMjAzLCA3NywgNjksIDY5LCA4NCwgNjksIDIwMSwgNzgsIAorICAgIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzAsIDczLCA4NiwgNjksIDEyOCwgODAsIDY1LCAxMjgsIDg5LCA2NSwgCiAgICAgMTI4LCA3NiwgNzMsIDcxLCA3MiwgMjEyLCA4MywgNzMsIDg4LCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3NiwgCiAgICAgNjksIDgwLCA2NywgNzIsIDE5MywgNzgsIDY1LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgMTI4LCA3NiwgNzksIDc4LCAKICAgICAxOTksIDc4LCA3MywgNzgsIDY5LCAxMjgsIDg0LCA4NSwgODIsIDc1LCA3MywgMTk1LCA3MiwgNjUsIDc3LCA5MCwgMTkzLCAKQEAgLTUyNSw3OSArNTI1LDc5IEBACiAgICAgODQsIDg1LCA4NCwgODQsIDg5LCAxMjgsIDg0LCA4NSwgODQsIDY5LCA4OSwgNjUsIDgzLCA2NSwgODQsIDEyOCwgODQsIDg1LCAKICAgICA4NCwgMTI4LCA4NCwgODUsIDgyLCA4OCwgMTI4LCA4NCwgODUsIDgyLCA4NSwgMTI4LCA4NCwgODUsIDgyLCA4NCwgNzYsIAogICAgIDY5LCAxMjgsIDg0LCA4NSwgODIsIDc5LCA1MCwgMTI4LCA4NCwgODUsIDgyLCA3OCwgODMsIDg0LCA3MywgNzYsIDY5LCAKLSAgICAxMjgsIDg0LCA4NSwgODIsIDc4LCA2OSwgMTk2LCA4NCwgODUsIDgyLCAyMDYsIDg0LCA4NSwgODIsIDY2LCA2NSwgNzgsIAotICAgIDEyOCwgODQsIDg1LCA4MiwgMTI4LCA4NCwgODUsIDgwLCAxMjgsIDg0LCA4NSwgNzksIDg4LCAxMjgsIDg0LCA4NSwgNzksIAotICAgIDg0LCAxMjgsIDg0LCA4NSwgNzksIDgwLCAxMjgsIDg0LCA4NSwgNzksIDEyOCwgODQsIDg1LCA3OCwgNzgsIDg5LCAxMjgsIAotICAgIDg0LCA4NSwgNzcsIDY5LCA4NCwgNjksIDgzLCAxMjgsIDg0LCA4NSwgNzcsIDY1LCA2OSwgMTI4LCA4NCwgODUsIDc3LCAKLSAgICAxMjgsIDg0LCA4NSwgNzYsIDczLCA4MCwgMTI4LCA4NCwgODUsIDc1LCA4NywgNjksIDc4LCA4NCwgNzMsIDgzLCAxMjgsIAotICAgIDg0LCA4NSwgNzUsIDEyOCwgODQsIDg1LCA3MSwgODIsIDczLCAyMDMsIDg0LCA4NSwgNzEsIDUwLCAxMjgsIDg0LCA4NSwgCi0gICAgNzEsIDE3OCwgODQsIDg1LCA2NSwgODIsIDY5LCAxOTksIDg0LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA4NCwgODUsIDY1LCAKLSAgICA2OSwgMTI4LCA4NCwgMjEzLCA4NCwgODQsIDg1LCA4NSwgMTI4LCA4NCwgODQsIDg1LCA2OCwgNjgsIDY1LCA3MSwgMTI4LCAKLSAgICA4NCwgODQsIDg1LCA2OCwgNjgsIDY1LCA2NSwgNzEsIDEyOCwgODQsIDg0LCA4NSwgMTI4LCA4NCwgODQsIDg0LCA3MiwgNjUsIAotICAgIDEyOCwgODQsIDg0LCA4NCwgNjUsIDEyOCwgODQsIDg0LCA4MywgODUsIDEyOCwgODQsIDg0LCA4MywgNzksIDEyOCwgODQsIAotICAgIDg0LCA4MywgNzMsIDEyOCwgODQsIDg0LCA4MywgNjksIDY5LCAxMjgsIDg0LCA4NCwgODMsIDY5LCAxMjgsIDg0LCA4NCwgCi0gICAgODMsIDY1LCAxMjgsIDg0LCA4NCwgNzksIDc5LCAxMjgsIDg0LCA4NCwgNzMsIDczLCAxMjgsIDg0LCA4NCwgNzMsIDEyOCwgCi0gICAgODQsIDg0LCA3MiwgODcsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDg1LCAxMjgsIDg0LCA4NCwgNzIsIDc5LCA3OSwgMTI4LCAKLSAgICA4NCwgODQsIDcyLCA3OSwgMTI4LCA4NCwgODQsIDcyLCA3MywgMTI4LCA4NCwgODQsIDcyLCA2OSwgNjksIDEyOCwgODQsIAotICAgIDg0LCA3MiwgNjksIDEyOCwgODQsIDg0LCA3MiwgNjUsIDY1LCAxMjgsIDg0LCA4NCwgNzIsIDEyOCwgODQsIDg0LCA2OSwgCi0gICAgNzIsIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDIwMCwgODQsIDg0LCA2OSwgNzIsIDEyOCwgODQsIDg0LCAKLSAgICA2OSwgMjAwLCA4NCwgODQsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODQsIAotICAgIDg0LCA2NSwgODUsIDEyOCwgODQsIDg0LCA2NSwgNzMsIDEyOCwgODQsIDg0LCA2NSwgNjUsIDEyOCwgODQsIDg0LCA1MCwgCi0gICAgMTI4LCA4NCwgODMsIDg3LCA2OSwgMTI4LCA4NCwgODMsIDg3LCA2NSwgMTI4LCA4NCwgODMsIDg2LCAxMjgsIDg0LCA4MywgCi0gICAgODMsIDY5LCAxMjgsIDg0LCA4MywgODMsIDY1LCAxMjgsIDg0LCA4MywgNzIsIDg1LCA3MSwgODMsIDEyOCwgODQsIDgzLCAKLSAgICA3MiwgNzksIDc5LCA3NSwgMTI4LCA4NCwgODMsIDcyLCA3OSwgNzksIDIwMywgODQsIDgzLCA3MiwgNjksIDgzLCAxMjgsIAotICAgIDg0LCA4MywgNzIsIDY5LCA3MSwgMTI4LCA4NCwgODMsIDcyLCA2OSwgMTk5LCA4NCwgODMsIDcyLCA2OSwgMTI4LCA4NCwgCi0gICAgODMsIDcyLCA2NSwgMTI4LCA4NCwgODMsIDY5LCA4MiwgNjksIDEyOCwgODQsIDgzLCA2NSwgNjgsIDczLCAxMjgsIDg0LCAKLSAgICA4MywgNjUsIDY4LCAyMDEsIDg0LCA4MywgNjUsIDY1LCA2OCwgNzMsIDg5LCAxMjgsIDg0LCA4MywgNjUsIDY1LCAxMjgsIAotICAgIDg0LCA4MywgMTkzLCA4NCwgODIsIDg5LCA2NiwgNzYsIDczLCA3OSwgMjA2LCA4NCwgODIsIDg1LCA4NCwgNzIsIDEyOCwgCi0gICAgODQsIDgyLCA4NSwgNzgsIDc1LCAxMjgsIDg0LCA4MiwgODUsIDc4LCA2NywgNjUsIDg0LCA2OSwgMTk2LCA4NCwgODIsIDg1LCAKLSAgICA3NywgODAsIDY5LCA4NCwgMTI4LCA4NCwgODIsIDg1LCA2OSwgMTI4LCA4NCwgODIsIDg1LCA2NywgNzUsIDEyOCwgODQsIAotICAgIDgyLCA3OSwgODAsIDczLCA2NywgNjUsIDIwNCwgODQsIDgyLCA3OSwgODAsIDcyLCA4OSwgMTI4LCA4NCwgODIsIDc5LCA3NywgCi0gICAgNzMsIDc1LCA3OSwgODMsIDg5LCA3OCwgNjUsIDcxLCA3NywgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIAotICAgIDgwLCA4MywgNzMsIDcwLCA3MywgODMsIDg0LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgwLCAKLSAgICA2NSwgODIsIDY1LCA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgCi0gICAgNzgsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDIwNiwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDc2LCAKLSAgICA4OSwgNzEsIDczLCA4MywgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc2LCA3NiwgNjksIDg5LCA2NiwgODUsIDgzLCAxMjgsIAotICAgIDg0LCA4MiwgNzksIDc1LCA4NSwgODQsIDY1LCA4MywgODQsIDIwMSwgODQsIDgyLCA3OSwgNjksIDkwLCA2OSwgNzgsIDczLCAKLSAgICA2NSwgMjA2LCA4NCwgODIsIDczLCA4NSwgNzcsIDgwLCA3MiwgMTI4LCA4NCwgODIsIDczLCA4NCwgNzksIDIxMSwgODQsIAotICAgIDgyLCA3MywgODQsIDczLCA3NywgNzksIDgyLCA3MywgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDgzLCA3MywgNzcsIDc5LCAKLSAgICA4NSwgMTI4LCA4NCwgODIsIDczLCA4MywgNjksIDc3LCA2OSwgMTI4LCA4NCwgODIsIDczLCA4MCwgNzksIDY4LCAxMjgsIAotICAgIDg0LCA4MiwgNzMsIDgwLCA3NiwgNzMsIDEyOCwgODQsIDgyLCA3MywgODAsIDc2LCAxOTcsIDg0LCA4MiwgNzMsIDc5LCAKLSAgICAyMDYsIDg0LCA4MiwgNzMsIDczLCA4MywgNjUsIDgwLCAxMjgsIDg0LCA4MiwgNzMsIDcxLCA4MiwgNjUsIDc3LCA3NywgNzksIAotICAgIDIxMSwgODQsIDgyLCA3MywgNzEsIDgyLCA2NSwgMjA1LCA4NCwgODIsIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIDc4LCAKLSAgICAxMjgsIDg0LCA4MiwgNzMsIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDgyLCA3MywgNzAsIDc5LCA3NiwgNzMsIAotICAgIDY1LCA4NCwgMTk3LCA4NCwgODIsIDczLCA2OCwgNjksIDc4LCA4NCwgMTI4LCA4NCwgODIsIDczLCA2OCwgNjksIDc4LCAKLSAgICAyMTIsIDg0LCA4MiwgNzMsIDY3LCA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA4NSwgNzYsIAotICAgIDY1LCAyMTAsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgyLCA3OSwgODUsIDc4LCAxOTYsIDg0LCA4MiwgCi0gICAgNzMsIDY1LCA3OCwgNzEsIDc2LCA2OSwgNDUsIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA4NCwgODIsIDczLCA2NSwgNzgsIAotICAgIDcxLCA3NiwgNjksIDEyOCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDE5NywgODQsIDgyLCA3MywgNjUsIDEyOCwgCi0gICAgODQsIDgyLCA3MywgMTI4LCA4NCwgODIsIDY5LCA4MywgNzMsIDc2LCA3NiwgNzksIDEyOCwgODQsIDgyLCA2OSwgNzgsIDY4LCAKLSAgICAxMjgsIDg0LCA4MiwgNjksIDc4LCAxOTYsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCA0NSwgNTEsIDEyOCwgODQsIAotICAgIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA1MCwgMTI4LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgNDUsIDQ5LCAKLSAgICAxMjgsIDg0LCA4MiwgNjksIDY5LCAxMjgsIDg0LCA4MiwgNjksIDE5NywgODQsIDgyLCA2OSwgNjUsIDY4LCA3MywgNzgsIAotICAgIDcxLCAxMjgsIDg0LCA4MiwgNjUsIDg5LCAxMjgsIDg0LCA4MiwgNjUsIDgwLCA2OSwgOTAsIDczLCA4NSwgNzcsIDEyOCwgCi0gICAgODQsIDgyLCA2NSwgNzgsIDgzLCA4NiwgNjksIDgyLCA4MywgNjUsIDIwNCwgODQsIDgyLCA2NSwgNzgsIDgzLCA4MCwgNzksIAotICAgIDgzLCA3MywgODQsIDczLCA3OSwgMjA2LCA4NCwgODIsIDY1LCA3OCwgODMsIDc3LCA3MywgMjEyLCA4NCwgODIsIDY1LCA3OCwgCi0gICAgODMsIDc3LCA3MywgODMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDg0LCA4MiwgNjUsIDc4LCA4MywgNzcsIDczLCA4MywgODMsIAotICAgIDczLCA3OSwgMjA2LCA4NCwgODIsIDY1LCA3NywgODcsIDY1LCA4OSwgMTI4LCA4NCwgODIsIDY1LCA3NywgMTI4LCA4NCwgCi0gICAgODIsIDY1LCAyMDUsIDg0LCA4MiwgNjUsIDczLCA3OCwgMTI4LCA4NCwgODIsIDY1LCA3MywgMjA2LCA4NCwgODIsIDY1LCAKLSAgICA3MywgNzYsIDczLCA3OCwgMTk5LCA4NCwgODIsIDY1LCA3MCwgNzAsIDczLCA2NywgMTI4LCA4NCwgODIsIDY1LCA3MCwgNzAsIAotICAgIDczLCAxOTUsIDg0LCA4MiwgNjUsIDY4LCAxOTcsIDg0LCA4MiwgNjUsIDY3LCA4NCwgNzksIDgyLCAxMjgsIDg0LCA4MiwgCi0gICAgNjUsIDY3LCA3NSwgMTI4LCA4NCwgODIsIDEyOCwgODQsIDc5LCA4OCwgMTI4LCA4NCwgNzksIDg3LCA2OSwgODIsIDEyOCwgCi0gICAgODQsIDc5LCA4NSwgODIsIDc4LCA3OSwgNzMsIDIxMSwgODQsIDc5LCA4NCwgNjUsIDIwNCwgODQsIDc5LCA4NCwgMTI4LCAKLSAgICA4NCwgNzksIDgyLCA4NCwgNzksIDczLCA4MywgMTk3LCA4NCwgNzksIDgyLCA2NywgODUsIDc2LCA4NSwgODMsIDEyOCwgODQsIAotICAgIDc5LCA4MiwgNjcsIDg1LCA3NiwgODUsIDIxMSwgODQsIDc5LCA4MiwgNjcsIDcyLCAxMjgsIDg0LCA3OSwgODEsIDEyOCwgCi0gICAgODQsIDc5LCA4MCwgNjYsIDY1LCA4MiwgMTI4LCA4NCwgNzksIDgwLCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCAKLSAgICA4NCwgNzksIDgwLCAxMjgsIDg0LCA3OSwgMjA4LCA4NCwgNzksIDc5LCA4NCwgNzIsIDEyOCwgODQsIDc5LCA3OSwgNzgsIAotICAgIDEyOCwgODQsIDc5LCA3OCwgNzksIDgzLCAxMjgsIDg0LCA3OSwgNzgsIDcxLCA4NSwgNjksIDEyOCwgODQsIDc5LCA3OCwgCi0gICAgNzEsIDg1LCAxOTcsIDg0LCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTYsIDEyOCwgODQsIDc5LCAKLSAgICA3OCwgNjksIDQ1LCA1NSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDU0LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTMsIAotICAgIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MiwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUxLCAxMjgsIDg0LCA3OSwgCi0gICAgNzgsIDY5LCA0NSwgNTAsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA0OSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgMTI4LCAKLSAgICA4NCwgNzksIDc4LCA2NSwgMjA0LCA4NCwgNzksIDc3LCA4MCwgNzMsIDEyOCwgODQsIDc5LCA3NywgNjUsIDg0LCA3OSwgCi0gICAgMTI4LCA4NCwgNzksIDc2LCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3OSwgNzUsIDg5LCAyMDcsIDg0LCA3OSwgNzMsIDc2LCAKLSAgICA2OSwgODQsIDEyOCwgODQsIDc5LCA3MSwgNjksIDg0LCA3MiwgNjksIDgyLCAxMjgsIDg0LCA3OSwgNjgsIDIwNywgODQsIAotICAgIDc5LCA2NSwgNzgsIDY4LCA2NSwgNzUsIDcyLCA3MywgNjUsIDg0LCAxMjgsIDg0LCA3OSwgNjUsIDEyOCwgODQsIDc4LCAKKyAgICAxMjgsIDg0LCA4NSwgODIsIDc4LCA2OSwgMTk2LCA4NCwgODUsIDgyLCAyMDYsIDg0LCA4NSwgODIsIDc1LCA3MywgODMsIAorICAgIDIwMCwgODQsIDg1LCA4MiwgNjYsIDY1LCA3OCwgMTI4LCA4NCwgODUsIDgyLCAxMjgsIDg0LCA4NSwgODAsIDEyOCwgODQsIAorICAgIDg1LCA3OSwgODgsIDEyOCwgODQsIDg1LCA3OSwgODQsIDEyOCwgODQsIDg1LCA3OSwgODAsIDEyOCwgODQsIDg1LCA3OSwgCisgICAgMTI4LCA4NCwgODUsIDc4LCA3OCwgODksIDEyOCwgODQsIDg1LCA3NywgNjksIDg0LCA2OSwgODMsIDEyOCwgODQsIDg1LCAKKyAgICA3NywgNjUsIDY5LCAxMjgsIDg0LCA4NSwgNzcsIDEyOCwgODQsIDg1LCA3NiwgNzMsIDgwLCAxMjgsIDg0LCA4NSwgNzUsIAorICAgIDg3LCA2OSwgNzgsIDg0LCA3MywgODMsIDEyOCwgODQsIDg1LCA3NSwgMTI4LCA4NCwgODUsIDcxLCA4MiwgNzMsIDIwMywgCisgICAgODQsIDg1LCA3MSwgNTAsIDEyOCwgODQsIDg1LCA3MSwgMTc4LCA4NCwgODUsIDY1LCA4MiwgNjksIDE5OSwgODQsIDg1LCAKKyAgICA2NSwgNjksIDgwLCAxMjgsIDg0LCA4NSwgNjUsIDY5LCAxMjgsIDg0LCAyMTMsIDg0LCA4NCwgODUsIDg1LCAxMjgsIDg0LCAKKyAgICA4NCwgODUsIDY4LCA2OCwgNjUsIDcxLCAxMjgsIDg0LCA4NCwgODUsIDY4LCA2OCwgNjUsIDY1LCA3MSwgMTI4LCA4NCwgODQsIAorICAgIDg1LCAxMjgsIDg0LCA4NCwgODQsIDcyLCA2NSwgMTI4LCA4NCwgODQsIDg0LCA2NSwgMTI4LCA4NCwgODQsIDgzLCA4NSwgCisgICAgMTI4LCA4NCwgODQsIDgzLCA3OSwgMTI4LCA4NCwgODQsIDgzLCA3MywgMTI4LCA4NCwgODQsIDgzLCA2OSwgNjksIDEyOCwgCisgICAgODQsIDg0LCA4MywgNjksIDEyOCwgODQsIDg0LCA4MywgNjUsIDEyOCwgODQsIDg0LCA3OSwgNzksIDEyOCwgODQsIDg0LCAKKyAgICA3MywgNzMsIDEyOCwgODQsIDg0LCA3MywgMTI4LCA4NCwgODQsIDcyLCA4NywgNjksIDEyOCwgODQsIDg0LCA3MiwgODUsIAorICAgIDEyOCwgODQsIDg0LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA4NCwgNzIsIDc5LCAxMjgsIDg0LCA4NCwgNzIsIDczLCAxMjgsIAorICAgIDg0LCA4NCwgNzIsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDcyLCA2OSwgMTI4LCA4NCwgODQsIDcyLCA2NSwgNjUsIDEyOCwgCisgICAgODQsIDg0LCA3MiwgMTI4LCA4NCwgODQsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA4NCwgNjksIDcyLCA2OSwgMjAwLCAKKyAgICA4NCwgODQsIDY5LCA3MiwgMTI4LCA4NCwgODQsIDY5LCAyMDAsIDg0LCA4NCwgNjksIDY5LCAxMjgsIDg0LCA4NCwgNjUsIAorICAgIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4NCwgODQsIDY1LCA4NSwgMTI4LCA4NCwgODQsIDY1LCA3MywgMTI4LCA4NCwgCisgICAgODQsIDY1LCA2NSwgMTI4LCA4NCwgODQsIDUwLCAxMjgsIDg0LCA4MywgODcsIDY5LCAxMjgsIDg0LCA4MywgODcsIDY1LCAKKyAgICAxMjgsIDg0LCA4MywgODYsIDEyOCwgODQsIDgzLCA4MywgNjksIDEyOCwgODQsIDgzLCA4MywgNjUsIDEyOCwgODQsIDgzLCAKKyAgICA3MiwgODUsIDcxLCA4MywgMTI4LCA4NCwgODMsIDcyLCA3OSwgNzksIDc1LCAxMjgsIDg0LCA4MywgNzIsIDc5LCA3OSwgCisgICAgMjAzLCA4NCwgODMsIDcyLCA2OSwgODMsIDEyOCwgODQsIDgzLCA3MiwgNjksIDcxLCAxMjgsIDg0LCA4MywgNzIsIDY5LCAKKyAgICAxOTksIDg0LCA4MywgNzIsIDY5LCAxMjgsIDg0LCA4MywgNzIsIDY1LCAxMjgsIDg0LCA4MywgNjksIDgyLCA2OSwgMTI4LCAKKyAgICA4NCwgODMsIDY1LCA2OCwgNzMsIDEyOCwgODQsIDgzLCA2NSwgNjgsIDIwMSwgODQsIDgzLCA2NSwgNjUsIDY4LCA3MywgODksIAorICAgIDEyOCwgODQsIDgzLCA2NSwgNjUsIDEyOCwgODQsIDgzLCAxOTMsIDg0LCA4MiwgODksIDY2LCA3NiwgNzMsIDc5LCAyMDYsIAorICAgIDg0LCA4MiwgODUsIDg0LCA3MiwgMTI4LCA4NCwgODIsIDg1LCA3OCwgNzUsIDEyOCwgODQsIDgyLCA4NSwgNzgsIDY3LCA2NSwgCisgICAgODQsIDY5LCAxOTYsIDg0LCA4MiwgODUsIDc3LCA4MCwgNjksIDg0LCAxMjgsIDg0LCA4MiwgODUsIDY5LCAxMjgsIDg0LCAKKyAgICA4MiwgODUsIDY3LCA3NSwgMTI4LCA4NCwgODIsIDc5LCA4MCwgNzMsIDY3LCA2NSwgMjA0LCA4NCwgODIsIDc5LCA4MCwgNzIsIAorICAgIDg5LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCA2NSwgMTI4LCA4NCwgCisgICAgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCA3OCwgMTI4LCA4NCwgODIsIAorICAgIDc5LCA3NywgNzMsIDc1LCA3OSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCA4MywgNzcsIDY1LCAxMjgsIDg0LCAKKyAgICA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDc5LCA3NywgNzMsIDc1LCA3OSwgMjA2LCA4NCwgODIsIAorICAgIDc5LCA3NywgNzMsIDc1LCA3OSwgNzYsIDg5LCA3MSwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzYsIDc2LCAKKyAgICA2OSwgODksIDY2LCA4NSwgODMsIDEyOCwgODQsIDgyLCA3OSwgNzUsIDg1LCA4NCwgNjUsIDgzLCA4NCwgMjAxLCA4NCwgODIsIAorICAgIDc5LCA2OSwgOTAsIDY5LCA3OCwgNzMsIDY1LCAyMDYsIDg0LCA4MiwgNzMsIDg1LCA3NywgODAsIDcyLCAxMjgsIDg0LCA4MiwgCisgICAgNzMsIDg0LCA3OSwgMjExLCA4NCwgODIsIDczLCA4NCwgNzMsIDc3LCA3OSwgODIsIDczLCA3OSwgNzgsIDEyOCwgODQsIDgyLCAKKyAgICA3MywgODMsIDczLCA3NywgNzksIDg1LCAxMjgsIDg0LCA4MiwgNzMsIDgzLCA2OSwgNzcsIDY5LCAxMjgsIDg0LCA4MiwgNzMsIAorICAgIDgwLCA3OSwgNjgsIDEyOCwgODQsIDgyLCA3MywgODAsIDc2LCA3MywgMTI4LCA4NCwgODIsIDczLCA4MCwgNzYsIDE5NywgCisgICAgODQsIDgyLCA3MywgNzksIDIwNiwgODQsIDgyLCA3MywgNzMsIDgzLCA2NSwgODAsIDEyOCwgODQsIDgyLCA3MywgNzEsIDgyLCAKKyAgICA2NSwgNzcsIDc3LCA3OSwgMjExLCA4NCwgODIsIDczLCA3MSwgODIsIDY1LCAyMDUsIDg0LCA4MiwgNzMsIDcxLCA3OSwgODIsIAorICAgIDcxLCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3MywgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA4NCwgODIsIDczLCA3MCwgCisgICAgNzksIDc2LCA3MywgNjUsIDg0LCAxOTcsIDg0LCA4MiwgNzMsIDY4LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA4MiwgNzMsIDY4LCAKKyAgICA2OSwgNzgsIDIxMiwgODQsIDgyLCA3MywgNjcsIDc5LCA3NiwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIAorICAgIDg1LCA3NiwgNjUsIDIxMCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCA0NSwgODIsIDc5LCA4NSwgNzgsIDE5NiwgCisgICAgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg0LCA4MiwgNzMsIAorICAgIDY1LCA3OCwgNzEsIDc2LCA2OSwgMTI4LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgMTk3LCA4NCwgODIsIDczLCA2NSwgCisgICAgMTI4LCA4NCwgODIsIDczLCAxMjgsIDg0LCA4MiwgNjksIDgzLCA3MywgNzYsIDc2LCA3OSwgMTI4LCA4NCwgODIsIDY5LCAKKyAgICA3OCwgNjgsIDEyOCwgODQsIDgyLCA2OSwgNzgsIDE5NiwgODQsIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA1MSwgCisgICAgMTI4LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgNDUsIDUwLCAxMjgsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCAKKyAgICA0NSwgNDksIDEyOCwgODQsIDgyLCA2OSwgNjksIDEyOCwgODQsIDgyLCA2OSwgMTk3LCA4NCwgODIsIDY5LCA2NSwgNjgsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgODQsIDgyLCA2NSwgODksIDEyOCwgODQsIDgyLCA2NSwgODAsIDY5LCA5MCwgNzMsIDg1LCA3NywgCisgICAgMTI4LCA4NCwgODIsIDY1LCA3OCwgODMsIDg2LCA2OSwgODIsIDgzLCA2NSwgMjA0LCA4NCwgODIsIDY1LCA3OCwgODMsIDgwLCAKKyAgICA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIDg0LCA4MiwgNjUsIDc4LCA4MywgNzcsIDczLCAyMTIsIDg0LCA4MiwgNjUsIAorICAgIDc4LCA4MywgNzcsIDczLCA4MywgODMsIDczLCA3OSwgNzgsIDEyOCwgODQsIDgyLCA2NSwgNzgsIDgzLCA3NywgNzMsIDgzLCAKKyAgICA4MywgNzMsIDc5LCAyMDYsIDg0LCA4MiwgNjUsIDc3LCA4NywgNjUsIDg5LCAxMjgsIDg0LCA4MiwgNjUsIDc3LCAxMjgsIAorICAgIDg0LCA4MiwgNjUsIDIwNSwgODQsIDgyLCA2NSwgNzMsIDc4LCAxMjgsIDg0LCA4MiwgNjUsIDczLCAyMDYsIDg0LCA4MiwgCisgICAgNjUsIDczLCA3NiwgNzMsIDc4LCAxOTksIDg0LCA4MiwgNjUsIDcwLCA3MCwgNzMsIDY3LCAxMjgsIDg0LCA4MiwgNjUsIDcwLCAKKyAgICA3MCwgNzMsIDE5NSwgODQsIDgyLCA2NSwgNjgsIDE5NywgODQsIDgyLCA2NSwgNjcsIDg0LCA3OSwgODIsIDEyOCwgODQsIAorICAgIDgyLCA2NSwgNjcsIDc1LCAxMjgsIDg0LCA4MiwgMTI4LCA4NCwgNzksIDg4LCAxMjgsIDg0LCA3OSwgODcsIDY5LCA4MiwgCisgICAgMTI4LCA4NCwgNzksIDg1LCA4MiwgNzgsIDc5LCA3MywgMjExLCA4NCwgNzksIDg0LCA2NSwgMjA0LCA4NCwgNzksIDg0LCAKKyAgICAxMjgsIDg0LCA3OSwgODIsIDg0LCA3OSwgNzMsIDgzLCAxOTcsIDg0LCA3OSwgODIsIDY3LCA4NSwgNzYsIDg1LCA4MywgCisgICAgMTI4LCA4NCwgNzksIDgyLCA2NywgODUsIDc2LCA4NSwgMjExLCA4NCwgNzksIDgyLCA2NywgNzIsIDEyOCwgODQsIDc5LCAKKyAgICA4MSwgMTI4LCA4NCwgNzksIDgwLCA2NiwgNjUsIDgyLCAxMjgsIDg0LCA3OSwgODAsIDQ1LCA3NiwgNzMsIDcxLCA3MiwgODQsIAorICAgIDY5LCAxOTYsIDg0LCA3OSwgODAsIDEyOCwgODQsIDc5LCAyMDgsIDg0LCA3OSwgNzksIDg0LCA3MiwgMTI4LCA4NCwgNzksIAorICAgIDc5LCA3OCwgMTI4LCA4NCwgNzksIDc4LCA3OSwgODMsIDEyOCwgODQsIDc5LCA3OCwgNzEsIDg1LCA2OSwgMTI4LCA4NCwgCisgICAgNzksIDc4LCA3MSwgODUsIDE5NywgODQsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1NiwgMTI4LCAKKyAgICA4NCwgNzksIDc4LCA2OSwgNDUsIDU1LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTQsIDEyOCwgODQsIDc5LCA3OCwgNjksIAorICAgIDQ1LCA1MywgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUyLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTEsIDEyOCwgCisgICAgODQsIDc5LCA3OCwgNjksIDQ1LCA1MCwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDQ5LCAxMjgsIDg0LCA3OSwgNzgsIDY5LCAKKyAgICAxMjgsIDg0LCA3OSwgNzgsIDY1LCAyMDQsIDg0LCA3OSwgNzcsIDgwLCA3MywgMTI4LCA4NCwgNzksIDc3LCA2NSwgODQsIAorICAgIDc5LCAxMjgsIDg0LCA3OSwgNzYsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDc5LCA3NSwgODksIDIwNywgODQsIDc5LCA3MywgCisgICAgNzYsIDY5LCA4NCwgMTI4LCA4NCwgNzksIDcxLCA2OSwgODQsIDcyLCA2OSwgODIsIDEyOCwgODQsIDc5LCA2OCwgMjA3LCAKKyAgICA4NCwgNzksIDY1LCA3OCwgNjgsIDY1LCA3NSwgNzIsIDczLCA2NSwgODQsIDEyOCwgODQsIDc5LCA2NSwgMTI4LCA4NCwgNzgsIAogICAgIDEyOCwgODQsIDc2LCA4NiwgMTI4LCA4NCwgNzYsIDg1LCAxMjgsIDg0LCA3NiwgNzksIDEyOCwgODQsIDc2LCA3MywgMTI4LCAKICAgICA4NCwgNzYsIDcyLCA4OSwgNjUsIDEyOCwgODQsIDc2LCA3MiwgODcsIDY5LCAxMjgsIDg0LCA3NiwgNzIsIDg1LCAxMjgsIAogICAgIDg0LCA3NiwgNzIsIDc5LCA3OSwgMTI4LCA4NCwgNzYsIDcyLCA3OSwgMTI4LCA4NCwgNzYsIDcyLCA3MywgMTI4LCA4NCwgCkBAIC00NjM1LDcgKzQ2MzUsNyBAQAogICAgIDU1NywgODUwLCA4NjAsIDg2NywgODczLCA4NzksIDg4NiwgODk0LCA4OTgsIDc0OSwgOTA2LCA5MTUsIDUwMywgOTIzLCAKICAgICA5MjgsIDkzNCwgMTcsIDk0MywgOTQ4LCA5NTEsIDk1NSwgOTU5LCA5NjYsIDk2OSwgOTc2LCA5ODAsIDk4OCwgOTkyLCAKICAgICAxMDAwLCAxMDA0LCAxMDA3LCAxMDE0LCAxMDIxLCAxOTIsIDEwMjQsIDEwMjksIDEwMzksIDEwNDgsIDEwNTUsIDEwNjEsIAotICAgIDEwNjksIDEwNzIsIDEwNzcsIDEwODMsIDEwOTEsIDEwOTcsIDExMDIsIDExMDUsIDExMDgsIDExMSwgMTExMywgMTExNywgCisgICAgMTA2NywgMTA3NSwgMTA3OCwgMTA4MywgMTA4OSwgMTA5NywgMTEwMiwgMTEwNSwgMTEwOCwgMTExLCAxMTEzLCAxMTE3LCAKICAgICAxMTIzLCAxMTI5LCAxMTMyLCAxMTM4LCAxMTQyLCAxMTQ3LCAxMTUzLCAxMTU4LCAxMTY4LCAxMTcyLCAxMTc1LCAxMTc4LCAKICAgICAxMTg3LCAxMTkxLCAxMTk0LCAxMTk5LCAxMjA0LCAxMjEwLCAxMjE1LCAxMjIwLCAxMjI1LCAxMjI5LCAxMjM0LCAxMjQwLCAKICAgICAxMjQ1LCAxMjUwLCAxMjU0LCAxMjYwLCAxMjY1LCAxMjcwLCAxMjc1LCAxMjc5LCAxMjg0LCAxMjg5LCAxMjk0LCAxMzAwLCAKQEAgLTQ3NTUsNzM3MyArNDc1NSw3Mzc0IEBACiAgICAgODY0NSwgODY0OSwgODY1MywgODY1OCwgODY2NSwgODY3NiwgODY4NCwgODY5NCwgODcwMCwgODcwNywgODcxMiwgODcxNiwgCiAgICAgODcyNywgODc0MCwgODc1MSwgODc2NCwgODc3NSwgODc4NywgODc5OSwgODgxMSwgODgyNCwgODgzNywgODg0NCwgODg1MCwgCiAgICAgODg2NCwgODg3MSwgODg3NywgODg4MSwgODg4NiwgODg5MCwgODg5NywgODkwNSwgODkwOSwgODkxNSwgODkxOSwgODkyNSwgCi0gICAgODkzNSwgODkzOSwgODk0NCwgODk0OSwgODk1NiwgODk2MiwgODk3MiwgNzkwOSwgODk3OCwgODk4MiwgODk4OSwgNzY4LCAKLSAgICA4OTkzLCA4OTk3LCA5MDAyLCA5MDA3LCA5MDEyLCA5MDE2LCA5MDIyLCA5MDMwLCA5MDM2LCA5MDQwLCA5MDQ2LCA5MDU2LCAKLSAgICA5MDYwLCA5MDY2LCA5MDcxLCA5MDc1LCA5MDgxLCA5MDg3LCAyMTYxLCA5MDkyLCA5MDk0LCA5MDk5LCA5MTA3LCA5MTE2LCAKLSAgICA5MTIwLCA5MTI2LCA5MTMxLCA5MTM2LCA5MTQxLCA5MTQ2LCA5MTUyLCA5MTU3LCA5MTYyLCA0MDA2LCA5MTY3LCA5MTcyLCAKLSAgICA5MTc2LCA5MTgyLCA5MTg3LCA5MTkzLCA5MTk4LCA5MjAzLCA5MjA5LCA5MjE0LCA5MTIxLCA5MjIwLCA5MjI0LCA5MjMxLCAKLSAgICA5MjM3LCA5MjQyLCA5MjQ2LCA2MTgzLCA5MjUxLCA5MjYwLCA5MjY1LCA5MjcwLCA4MjE4LCA4MjI1LCA5Mjc1LCAyODUzLCAKLSAgICA5Mjc5LCA5Mjg0LCA5Mjg5LCA5MTMyLCA5MjkzLCA5Mjk4LCA5MTM3LCA5MTQyLCA5MzAzLCA5MzEwLCA5MzE3LCA5MzIzLCAKLSAgICA5MzI5LCA5MzM1LCA5MzQwLCA5MzQ1LCA5MzUwLCA5MTQ3LCA5MTUzLCA5MzU2LCA5MzYyLCA5MzY3LCA5Mzc1LCA5MTU4LCAKLSAgICA5MzgwLCA5OTAsIDkzODMsIDkzOTEsIDkzOTcsIDk0MDMsIDk0MTIsIDk0MjAsIDk0MjUsIDk0MzEsIDk0MzksIDk0NDYsIAotICAgIDk0NjEsIDk0NzgsIDk0OTcsIDk1MDYsIDk1MTQsIDk1MjksIDk1NDAsIDk1NTAsIDk1NjAsIDk1NjgsIDk1NzQsIDk1ODYsIAotICAgIDk1OTUsIDk2MDMsIDk2MTAsIDk2MTcsIDk2MjMsIDk2MjgsIDk2MzYsIDk2NDYsIDk2NTMsIDk2NjMsIDk2NzMsIDk2ODMsIAotICAgIDk2OTEsIDk2OTgsIDk3MDcsIDk3MTcsIDk3MzEsIDk3NDYsIDk3NTUsIDk3NjMsIDk3NjgsIDk3NzIsIDk3ODEsIDk3ODcsIAotICAgIDk3OTIsIDk4MDIsIDk4MTIsIDk4MjIsIDk4MjcsIDk4MzEsIDk4NDAsIDk4NDUsIDk4NTUsIDk4NjYsIDk4NzksIDk4ODcsIAotICAgIDk5MDAsIDk5MTIsIDk5MjAsIDk5MjUsIDk5MjksIDk5MzUsIDk5NDAsIDk5NDgsIDk5NTYsIDk5NjMsIDk5NjgsIDk5NzYsIAotICAgIDk5ODIsIDk5ODUsIDk5ODksIDk5OTUsIDEwMDAzLCAxMDAwOCwgMTAwMTIsIDEwMDIwLCAxMDAyOSwgMTAwMzcsIDEwMDQzLCAKLSAgICAxMDA0NywgMTAwNTQsIDEwMDY1LCAxMDA2OSwgMTAwNzIsIDEwMDc4LCA5MTYzLCAxMDA4MywgMTAwODksIDEwMDk2LCAKLSAgICAxMDEwMiwgMTAxMDcsIDEwMTE0LCAxMDEyMSwgMTAxMjgsIDEwMTM1LCAxMDE0MiwgMTAxNDksIDEwMTU2LCAxMDE2MywgCi0gICAgMTAxNjgsIDk0NzQsIDEwMTczLCAxMDE3OSwgMTAxODYsIDEwMTkzLCAxMDE5OCwgMTAyMDUsIDEwMjE0LCAxMDIxOCwgCi0gICAgMTAyMzAsIDgyNTYsIDEwMjM0LCAxMDIzNywgMTAyNDEsIDEwMjQ1LCAxMDI0OSwgMTAyNTMsIDEwMjU5LCAxMDI2NSwgCi0gICAgMTAyNzAsIDEwMjc2LCAxMDI4MSwgMTAyODYsIDEwMjkyLCAxMDI5NywgMTAzMDIsIDg5NTIsIDEwMzA3LCAxMDMxMSwgCi0gICAgMTAzMTUsIDEwMzE5LCAxMDMyNCwgMTAzMjksIDEwMzM3LCAxMDM0MywgMTAzNDcsIDEwMzUxLCAxMDM1OCwgMTAzNjMsIAotICAgIDEwMzcxLCAxMDM3NiwgMTAzODAsIDEwMzgzLCAxMDM4OSwgMTAzOTYsIDEwNDAwLCAxMDQwMywgMTA0MDgsIDEwNDEyLCAKLSAgICA0MDQ1LCAxMDQxOCwgMTA0MjcsIDM2LCAxMDQzNSwgMTA0NDEsIDEwNDQ2LCA4OTY3LCAxMDQ1MSwgMTA0NTYsIDEwNDYwLCAKLSAgICAxMDQ2MywgMTA0NzgsIDEwNDk3LCAxMDUwOSwgMTA1MjIsIDEwNTM1LCAxMDU0OCwgMTA1NjIsIDEwNTc1LCAxMDU5MCwgCi0gICAgMTA1OTcsIDkxNjgsIDEwNjAzLCAxMDYxNywgMTA2MjIsIDEwNjI4LCAxMDYzMywgMTA2NDEsIDEwNjQ2LCA4MDQwLCAKLSAgICAxMDY1MSwgMTA2NTQsIDEwNjYxLCAxMDY2NiwgMTA2NzAsIDI4NTgsIDk5OCwgMTA2NzYsIDEwNjgwLCAxMDY4NiwgMTA2OTIsIAotICAgIDEwNjk3LCAxMDcwMywgMTA3MDgsIDkxNzcsIDEwNzE0LCAxMDcyMCwgMTA3MjUsIDEwNzMwLCAxMDczOCwgMTA3NDQsIAotICAgIDEwNzU3LCAxMDc2NSwgMTA3NzIsIDkxODMsIDEwNzc4LCAxMDc4NiwgMTA3OTQsIDEwODAxLCAxMDgxNCwgMTA4MjYsIAotICAgIDEwODM2LCAxMDg0NCwgMTA4NTEsIDEwODU4LCAxMDg2NywgMTA4NzYsIDEwODg0LCAxMDg5MSwgMTA4OTYsIDEwOTAyLCAKLSAgICA5MTg4LCAxMDkwNywgMTA5MTMsIDkxOTQsIDEwOTE4LCAxMDkyMSwgMTA5MjgsIDEwOTM0LCAxMDk0NywgODY2OSwgMTA5NTgsIAotICAgIDEwOTY0LCAxMDk3MywgMTA5ODEsIDEwOTg4LCAxMDk5NCwgMTEwMDAsIDExMDA1LCAxMTAwOSwgMTEwMTQsIDEwNDcwLCAKLSAgICAxMTAyMCwgOTE5OSwgMTEwMjcsIDExMDMyLCAxMTAzOSwgMTEwNDUsIDExMDUxLCAxMTA1NiwgMTEwNjQsIDExMDcyLCAKLSAgICAxMTA3OSwgMTEwODMsIDExMDk3LCAxMTEwNywgMTExMTIsIDExMTE2LCAxMTEyNywgMTExMzMsIDExMTM4LCAxMTE0MywgCi0gICAgOTIwNCwgOTIxMCwgMTExNDcsIDExMTUwLCAxMTE1NSwgMTExNjcsIDExMTc0LCAxMTE3OSwgMTExODMsIDExMTg4LCAKLSAgICAxMTE5MiwgMTExOTksIDExMjA1LCA5MjE1LCA5MTIyLCAxMTIxMiwgMjg2MywgOCwgMTEyMTksIDExMjI0LCAxMTIyOCwgCi0gICAgMTEyMzQsIDExMjQyLCAxMTI1MiwgMTEyNTcsIDExMjYyLCAxMTI2OSwgMTEyNzYsIDExMjgwLCAxMTI5MSwgMTEzMDEsIAotICAgIDExMzEwLCAxMTMyMiwgMTEzMjcsIDExMzMxLCAxMTMzOSwgMTEzNTMsIDExMzU3LCAxMTM2MCwgMTEzNjgsIDExMzc1LCAKLSAgICAxMTM4MywgMTEzODcsIDExMzk4LCAxMTQwMiwgMTE0MDksIDExNDE0LCAxMTQxOCwgMTE0MjQsIDExNDI5LCAxMTQzMywgCi0gICAgMTE0MzksIDExNDQ0LCAxMTQ1NSwgMTE0NTksIDExNDYyLCAxMTQ2OCwgMTE0NzMsIDExNDc5LCAxMTQ4NSwgMTE0OTIsIAotICAgIDExNTAzLCAxMTUxMywgMTE1MjMsIDExNTMyLCAxMTUzOSwgMTE1NDgsIDkyMjUsIDkyMzIsIDkyMzgsIDkyNDMsIDExNTU0LCAKLSAgICAxMTU2MCwgOTI0NywgMTE1NjYsIDExNTY5LCAxMTU3NiwgMTE1ODEsIDExNTk2LCAxMTYxMiwgMTE2MjcsIDExNjM1LCAKLSAgICAxMTY0MSwgMTE2NDYsIDgzOCwgNDIwLCAxMTY1MSwgMTE2NTksIDExNjY2LCAxMTY3MiwgMTE2NzcsIDExNjgyLCA5MjUyLCAKLSAgICAxMTY4NCwgMTE2ODgsIDExNjkzLCAxMTY5NywgMTE3MDcsIDExNzEyLCAxMTcxNiwgMTE3MjUsIDExNzI5LCAxMTczMiwgCi0gICAgOTI2MSwgMTE3MzksIDExNzQyLCAxMTc1MCwgMTE3NTcsIDExNzY1LCAxMTc2OSwgMTE3NzYsIDExNzg1LCAxMTc4OCwgCi0gICAgMTE3OTIsIDExNzk2LCAxMTgwMiwgMTE4MDYsIDExODEwLCAxMTgxNCwgMTE4MjAsIDExODMwLCAxMTgzNCwgMTE4NDIsIAotICAgIDExODQ2LCAxMTg1MywgMTE4NTcsIDExODYyLCAxMTg2NiwgMTE4NzMsIDExODc5LCAxMTg4NywgMTE4OTMsIDExODk4LCAKLSAgICAxMTkwOCwgMTE5MTMsIDExOTE4LCAxMTkyMiwgMTE5MzAsIDM5MDUsIDExOTM4LCAxMTk0MywgOTI2NiwgMTE5NDcsIAotICAgIDExOTUxLCAxMTk1NCwgMTE5NjIsIDExOTY5LCAxMTk3MywgNTk5MSwgMTE5NzcsIDExOTgyLCAxMTk4NiwgMTE5OTcsIAotICAgIDEyMDA3LCAxMjAxMiwgMTIwMTgsIDEyMDIyLCAxMjAyNSwgMTIwMzMsIDEyMDM4LCAxMjA0MywgMTIwNTAsIDEyMDU1LCAKLSAgICA5MjcxLCAxMjA2MCwgMTIwNjQsIDEyMDcxLCAxNzIyLCA2MTQ1LCAxMjA3NiwgMTIwODEsIDEyMDg2LCAxMjA5MSwgMTIwOTcsIAotICAgIDEyMTAyLCAxMjEwOCwgMTIxMTMsIDEyMTE4LCAxMjEyMywgMTIxMjgsIDEyMTMzLCAxMjEzOCwgMTIxNDMsIDEyMTQ4LCAKLSAgICAxMjE1MywgMTIxNTgsIDEyMTYzLCAxMjE2OCwgMTIxNzMsIDEyMTc4LCAxMjE4MywgMTIxODgsIDEyMTk0LCAxMjE5OSwgCi0gICAgMTIyMDQsIDEyMjA5LCAxMjIxNCwgMTIyMTksIDEyMjI1LCAxMjIzMCwgMTIyMzUsIDEyMjQxLCAxMjI0NiwgMTIyNTIsIAotICAgIDEyMjU3LCAxMjI2MywgMTIyNjgsIDEyMjczLCAxMjI3OCwgMTIyODMsIDEyMjg5LCAxMjI5NCwgMTIyOTksIDEyMzA0LCAKLSAgICA3MzcsIDEzOSwgMTIzMTIsIDEyMzE2LCAxMjMyMSwgMTIzMjYsIDEyMzMwLCAxMjMzNCwgMTIzMzgsIDEyMzQzLCAxMjM0NywgCi0gICAgMTIzNTIsIDEyMzU2LCAxMjM1OSwgMTIzNjMsIDEyMzY3LCAxMjM3MywgMTIzNzgsIDEyMzg4LCAxMjM5NCwgMTI0MDIsIAotICAgIDEyNDA2LCAxMjQxMCwgMTI0MTcsIDEyNDI1LCAxMjQzNCwgMTI0NDUsIDEyNDUyLCAxMjQ1OSwgMTI0NjMsIDEyNDcyLCAKLSAgICAxMjQ4MSwgMTI0ODksIDEyNDk4LCAxMjUwNywgMTI1MTYsIDEyNTI1LCAxMjUzNSwgMTI1NDUsIDEyNTU1LCAxMjU2NSwgCi0gICAgMTI1NzUsIDEyNTg0LCAxMjU5NCwgMTI2MDQsIDEyNjE0LCAxMjYyNCwgMTI2MzQsIDEyNjQ0LCAxMjY1NCwgMTI2NjMsIAotICAgIDEyNjczLCAxMjY4MywgMTI2OTMsIDEyNzAzLCAxMjcxMywgMTI3MjMsIDEyNzMyLCAxMjc0MiwgMTI3NTIsIDEyNzYyLCAKLSAgICAxMjc3MiwgMTI3ODIsIDEyNzkyLCAxMjgwMiwgMTI4MTIsIDEyODIyLCAxMjgzMSwgMTI4NDEsIDEyODUxLCAxMjg2MSwgCi0gICAgMTI4NzEsIDEyODgxLCAxMjg5MSwgMTI5MDEsIDEyOTExLCAxMjkyMSwgMTI5MzEsIDEyOTQwLCAxMjU2LCAxMjk0NiwgCi0gICAgMTI5NDksIDEyOTUzLCAxMjk1OCwgMTI5NjUsIDEyOTcxLCAxMjk3NiwgMTI5ODAsIDEyOTg1LCAxMjk5NCwgMTMwMDIsIAotICAgIDEzMDA3LCAxMzAxMSwgMTMwMTUsIDEzMDIxLCAxMzAyNiwgMTMwMzIsIDkyODAsIDEzMDM3LCAxMzA0MiwgMTMwNTEsIAotICAgIDkyODUsIDEzMDU2LCAxMzA1OSwgMTMwNjUsIDEzMDczLCA5MjkwLCAxMzA4MCwgMTMwODQsIDEzMDg4LCAxMzA5MiwgCi0gICAgMTMxMDIsIDEzMTA4LCAxMzExNCwgMTMxMTksIDEzMTI4LCAxMzEzNiwgMTMxNDMsIDEzMTUwLCAxMzE1NSwgMTMxNjIsIAotICAgIDEzMTY3LCAxMzE3MSwgMTMxNzQsIDEzMTg1LCAxMzE5NSwgMTMyMDQsIDEzMjEyLCAxMzIyMywgMTMyMzUsIDEzMjQ1LCAKLSAgICAxMzI1MCwgMTMyNTQsIDEzMjU5LCAxMzI2NCwgMTMyNjgsIDEzMjc0LCAxMzI4MiwgMTMyODksIDEzMzAwLCAxMzMwNSwgCi0gICAgMTMzMTUsIDEzMzE5LCAxMzMyMiwgMTMzMjksIDEzMzM5LCAxMzM0OCwgMTMzNTUsIDEzMzU5LCAxMzM2NiwgMTMzNzIsIAotICAgIDEzMzc3LCAxMzM4MiwgMTMzODYsIDEzMzk1LCAxMzQwMCwgMTM0MDYsIDEzNDEwLCAxMzQxNSwgMTM0MTksIDEzNDI4LCAKLSAgICAxMzQzNiwgMTM0NDQsIDEzNDUxLCAxMzQ1OSwgMTM0NzEsIDEzNDgyLCAxMzQ5MiwgMTM0OTksIDEzNTA1LCAxMzUxNCwgCi0gICAgMTM1MjUsIDEzNTM0LCAxMzU0NiwgMTM1NTgsIDEzNTcwLCAxMzU4MCwgMTM1ODksIDEzNTk4LCAxMzYwNiwgMTM2MTMsIAotICAgIDEzNjIyLCAxMzYzMCwgMTM2MzQsIDEzNjQwLCAxMzY0NiwgMTM2NTEsIDc3NTMsIDEzNjU1LCAxMzY1NywgMTM2NjEsIAotICAgIDEzNjY2LCAxMzY3MiwgMTM2ODEsIDEzNjg1LCAxMzY5MywgMTM3MDAsIDEzNzA5LCAxMzcxOCwgMTM3MjcsIDEzNzM2LCAKLSAgICAxMzc0NSwgMTM3NTQsIDEzNzYzLCAxMzc3MiwgMTM3ODIsIDEzNzkyLCAxMzgwMSwgMTM4MDcsIDEzODE0LCAxMzgyMSwgCi0gICAgMTM4MjcsIDEzODQxLCAxMzg0OCwgMTM4NTYsIDEzODY1LCAxMzg3MSwgMTM4ODAsIDEzODg5LCAxMzkwMCwgMTM5MTAsIAotICAgIDEzOTE4LCAxMzkyNSwgMTM5MzMsIDEzOTQyLCAxMzk1NSwgMTM5NjMsIDEzOTcwLCAxMzk4MywgMTM5ODksIDEzOTk1LCAKLSAgICAxNDAwNSwgMTQwMTQsIDE0MDIzLCAxNDAyOCwgMTQwMzIsIDE0MDM4LCAxNDA0NCwgMTQwNTEsIDg5NjYsIDE0MDU2LCAKLSAgICAxNDA2MSwgMTQwNjgsIDE0MDczLCAxMjM2OSwgMTQwNzgsIDE0MDg2LCAxNDA5MiwgMTQwOTcsIDE0MTA1LCAxNDExMywgCi0gICAgMTQxMjAsIDE0MTI4LCAxNDEzNCwgMTQxNDIsIDE0MTUwLCAxNDE1NiwgMTQxNjEsIDE0MTY3LCAxNDE3NCwgMTQxODAsIAotICAgIDE0MTg1LCAxNDE4OSwgMTQyMDAsIDE0MjA4LCAxNDIxNCwgMTQyMTksIDE0MjI4LCAxNDIzNCwgMTQyMzksIDE0MjQ4LCAKLSAgICAxNDI2MiwgMzg1MywgMTQyNjYsIDE0MjcxLCAxNDI3NiwgMTQyODIsIDE0Mjg3LCAxNDI5MiwgMTQyOTYsIDE0MzAxLCAKLSAgICAxNDMwNiwgMTQzMTEsIDc3NTIsIDE0MzE2LCAxNDMyMSwgMTQzMjYsIDE0MzMxLCAxNDMzNiwgMTQzNDAsIDE0MzQ1LCAKLSAgICAxNDM1MCwgMTQzNTUsIDE0MzYwLCAxNDM2NiwgMTQzNzIsIDE0Mzc3LCAxNDM4MSwgMTQzODYsIDE0MzkxLCAxNDM5NiwgCi0gICAgOTI5NCwgMTQ0MDEsIDE0NDA2LCAxNDQxMSwgMTQ0MTYsIDE0NDIxLCAxNDQzOCwgMTQ0NTYsIDE0NDY4LCAxNDQ4MSwgCi0gICAgMTQ0OTgsIDE0NTE0LCAxNDUzMSwgMTQ1NDEsIDE0NTYwLCAxNDU3MSwgMTQ1ODIsIDE0NTkzLCAxNDYwNCwgMTQ2MTYsIAotICAgIDE0NjI3LCAxNDYzOCwgMTQ2NTUsIDE0NjY2LCAxNDY3NywgMTQ2ODIsIDkyOTksIDE0Njg3LCAxNDY5MSwgMjM4MSwgCi0gICAgMTQ2OTUsIDE0Njk4LCAxNDcwNCwgMTQ3MTIsIDE0NzIwLCAxNDcyNSwgMTQ3MzMsIDE0NzQxLCAxNDc0OCwgMTQ3NTMsIAotICAgIDE0NzU5LCAxNDc2NiwgMTQ3NzQsIDE0NzgxLCAxNDc5MywgMTQ4MDEsIDE0ODA2LCAxMTU5MCwgMTQ4MTIsIDE0ODIxLCAKLSAgICAxNDgzMCwgMTQ4MzgsIDE0ODQ1LCAxNDg1MSwgMTQ4NTksIDE0ODY2LCAxNDg3MiwgMTQ4NzksIDE0ODg1LCAxNDg5NCwgCi0gICAgMTQ5MDIsIDE0OTEyLCAxNDkxOSwgMTQ5MjUsIDE0OTMzLCAxNDkzOSwgMTQ5NDcsIDE0OTU0LCAxNDk2NywgMTQ5NzQsIAotICAgIDE0OTgzLCAxNDk5MiwgMTUwMDEsIDE1MDA5LCAxNTAxOSwgMTUwMjYsIDE1MDMxLCAzNTYwLCAxNTAzOCwgMTUwNDMsIAotICAgIDEzNzIsIDE1MDQ3LCAxNDMxNywgMTUwNTEsIDE1MDU3LCAxNTA2MSwgMTUwNjksIDE1MDgxLCAxNTA4NiwgMTUwOTMsIAotICAgIDE1MDk5LCAxNTEwNCwgMTUxMTEsIDE0MzIyLCAxNTExNSwgMTUxMTksIDE1MTIzLCAxNDMyNywgMTUxMjcsIDE0MzMyLCAKLSAgICAxNTEzMSwgMTUxMzgsIDE1MTQzLCAxNTE0NywgMTUxNTQsIDE1MTU4LCAxNTE2NiwgMTUxNzMsIDE1MTc3LCAxNTE4NCwgCi0gICAgMTUyMDEsIDE1MjEwLCAxNTIxNCwgMTUyMTcsIDE1MjI1LCAxNTIzMSwgMTUyMzYsIDM2MzgsIDE1MjQwLCAxNTI0MiwgCi0gICAgMTUyNTAsIDE1MjU3LCAxNTI2NywgMTUyNzksIDE1Mjg0LCAxNTI5MCwgMTUyOTUsIDE1Mjk5LCAxNTMwNSwgMTUzMTAsIAotICAgIDE1MzE2LCAxNTMxOSwgMTUzMjYsIDE1MzM0LCAxNTM0MSwgMTUzNDcsIDE1MzUzLCAxNTM1OCwgMTUzNjUsIDE1MzcxLCAKLSAgICAxNTM3NiwgMTUzODMsIDE1Mzg3LCAxNTM5MywgMTUzOTcsIDE1NDA0LCAxNTQxMCwgMTU0MTYsIDE1NDI0LCAxNTQzMCwgCi0gICAgMTU0MzUsIDE1NDQxLCAxNTQ0OSwgMTU0NTcsIDE1NDYzLCAxNTQ2OSwgMTU0NzQsIDE1NDgxLCAxNTQ4NiwgMTU0OTAsIAotICAgIDE1NDk2LCAxNTUwMSwgMTU1MDgsIDE1NTEzLCAxNTUxOSwgMTU1MjIsIDE1NTI4LCAxNTUzNCwgMTU1MzcsIDE1NTQxLCAKLSAgICAxNTU1MywgMTU1NTksIDE1NTY0LCAxNTU3MSwgMTU1NzcsIDE1NTgzLCAxNTU5NCwgMTU2MDQsIDE1NjEzLCAxNTYyMSwgCi0gICAgMTU2MjgsIDE1NjM5LCAxNTY0OSwgMTU2NTksIDE1NjY3LCAxNTY3MCwgMTQzNDYsIDE1Njc1LCAxNTY4MCwgMTQzNTEsIAotICAgIDE0NDg2LCAxNTY4OCwgMTU3MDEsIDE1NzE2LCAxNTcyNywgMTQ1MDMsIDE1NzQ1LCAxNTc1OCwgMTU3NzEsIDE1NzgyLCAKLSAgICAxMDQ4NSwgMTU3OTMsIDE1ODA2LCAxNTgyNSwgMTU4MzYsIDE1ODQ3LCAxNTg1OCwgMjY0OSwgMTU4NzEsIDE1ODc1LCAKLSAgICAxNTg4MywgMTU4OTgsIDE1OTEzLCAxNTkyNCwgMTU5MzEsIDE1OTM3LCAxNTk0NSwgMTU5NDksIDE1OTU1LCAxNTk1OCwgCi0gICAgMTU5NjgsIDE1OTc2LCAxNTk4MywgMTU5OTEsIDE2MDAxLCAxNjAwNiwgMTYwMTMsIDE2MDE4LCAxNjAyNSwgMTYwMzYsIAotICAgIDE2MDQ2LCAxNjA1MiwgMTYwNTcsIDE2MDYyLCAxNDM1NiwgMTYwNjYsIDE2MDcyLCAxNjA3OCwgMTYwODMsIDE2MDg4LCAKLSAgICAxNjA5MywgMTYwOTcsIDE0MzYxLCAxNDM2NywgMTYxMDEsIDE0MzczLCAxNjEwNiwgMTYxMTQsIDE2MTIzLCAxNjEzMCwgCi0gICAgOTE0MywgMTYxMzQsIDE2MTM2LCAxNjE0MSwgMTYxNDYsIDE2MTUyLCAxNjE1NywgMTYxNjIsIDE2MTY3LCAxNjE3MiwgCi0gICAgMTYxNzYsIDE2MTgyLCAxNjE4OCwgMTYxOTMsIDE2MTk5LCAxNjIwNCwgMTYyMDksIDE2MjE1LCAxNjIyMCwgMTYyMjUsIAotICAgIDE2MjMwLCAxNjIzNSwgMTYyNDEsIDE2MjQ2LCAxNjI1MSwgMTYyNTcsIDE2MjYzLCAxNjI2OCwgMTYyNzMsIDE2MjgwLCAKLSAgICAxNjI4NiwgMTYyOTcsIDE2MzA0LCAxNjMwOSwgMTYzMTMsIDE2MzE3LCAxNjMyMCwgMTYzMjgsIDE2MzMzLCAxNjM0MCwgCi0gICAgMTYzNDcsIDE2MzUzLCAxNjM1OCwgMTYzNjMsIDE2MzcwLCAxNjM4MCwgMTYzODUsIDE2MzkyLCAxNjM5OCwgMTY0MDgsIAotICAgIDE2NDE4LCAxNjQzMiwgMTY0NDYsIDE2NDYwLCAxNjQ3NCwgMTY0ODksIDE2NTA0LCAxNjUyMSwgMTY1MzksIDE2NTUyLCAKLSAgICAxNjU1OCwgMTY1NjMsIDE2NTY4LCAxNjU3MiwgMTY1NzcsIDE2NTg1LCAxNjU5MSwgMTY1OTYsIDE2NjAxLCAxNjYwNSwgCi0gICAgMTY2MTAsIDE2NjE0LCAxNjYxOSwgMTY2MjMsIDE2NjM0LCAxNjY0MCwgMTY2NDUsIDE2NjUwLCAxNjY1NywgMTY2NjIsIAotICAgIDE2NjY2LCAxNjY3MSwgMTY2NzYsIDE2NjgyLCAxNjY4OSwgMTY2OTUsIDE2NzAwLCAxNjcwNCwgMTY3MTAsIDE2NzE1LCAKLSAgICAxNjcyMCwgMTY3MjQsIDE2NzMwLCAxNjczNSwgMTY3NDAsIDE2NzQ3LCAxNjc1MiwgMTMxMDQsIDE2NzU2LCAxNjc2MSwgCi0gICAgMTY3NjUsIDE2NzcwLCAxNjc3NiwgMTY3ODIsIDE2Nzg5LCAxNjc5OSwgMTY4MDcsIDE2ODE0LCAxNjgxOSwgMTY4MjMsIAotICAgIDE2ODMyLCAxNjg0MCwgMTY4NDcsIDE2ODU0LCAxNjg2MCwgMTY4NjYsIDE2ODcxLCAxNjg3NiwgMTY4ODIsIDE2ODg3LCAKLSAgICAxNjg5MywgMTY4OTgsIDE2OTA0LCAxNjkxMCwgMTY5MTcsIDE2OTIzLCAxNjkyOCwgMTY5MzMsIDkzNDEsIDE2OTQyLCAKLSAgICAxNjk0NSwgMTY5NTEsIDE2OTU2LCAxNjk2MSwgMTY5NzEsIDE2OTc4LCAxNjk4NCwgMTY5ODksIDE2OTk0LCAxNzAwMCwgCi0gICAgMTcwMDUsIDE3MDExLCAxNzAxNiwgMTcwMjIsIDE3MDI4LCAxNzAzMywgMTcwNDEsIDE3MDQ4LCAxNzA1MywgMTcwNTgsIAotICAgIDE3MDY0LCAxNzA2OSwgMTcwNzMsIDE3MDgyLCAxNzA5MywgMTcxMDAsIDE3MTA1LCAxNzExMywgMTcxMTksIDE3MTI2LCAKLSAgICAxNzEzMiwgMTcxMzcsIDE3MTQxLCAxNzE0NywgMTcxNTIsIDE3MTU3LCAxNzE2MiwgMTQ0MCwgNzc3NywgMjg3NywgMTcxNjYsIAotICAgIDE3MTcwLCAxNzE3NCwgMTcxNzgsIDE3MTgyLCAxNzE4NiwgMTcxODksIDE3MTk2LCAxNzIwNCwgMTQzODcsIDE3MjExLCAKLSAgICAxNzIyMSwgMTcyMjksIDE3MjM2LCAxNzI0NCwgMTcyNTQsIDE3MjYzLCAxNzI3NiwgMTcyODEsIDE3Mjg2LCAxNzI5NCwgCi0gICAgMTczMDEsIDEzMjAwLCAxMzIwOSwgMTczMDgsIDE3MzE4LCAxNzMzMywgMTczMzksIDE3MzQ2LCAxNzM1MywgMTczNTksIAotICAgIDE3MzY3LCAxNzM3NywgMTczODcsIDE0MzkyLCAxNzM5NiwgMTc0MDIsIDE3NDA4LCAxNzQxNiwgMTc0MjQsIDE3NDI5LCAKLSAgICAxNzQzOCwgMTc0NDYsIDE3NDU4LCAxNzQ2OCwgMTc0NzgsIDE3NDg4LCAxNzQ5NywgMTc1MDksIDE3NTE5LCAxNzUyOSwgCi0gICAgMTc1NDAsIDE3NTQ1LCAxNzU1NywgMTc1NjksIDE3NTgxLCAxNzU5MywgMTc2MDUsIDE3NjE3LCAxNzYyOSwgMTc2NDEsIAotICAgIDE3NjUzLCAxNzY2NSwgMTc2NzYsIDE3Njg4LCAxNzcwMCwgMTc3MTIsIDE3NzI0LCAxNzczNiwgMTc3NDgsIDE3NzYwLCAKLSAgICAxNzc3MiwgMTc3ODQsIDE3Nzk2LCAxNzgwNywgMTc4MTksIDE3ODMxLCAxNzg0MywgMTc4NTUsIDE3ODY3LCAxNzg3OSwgCi0gICAgMTc4OTEsIDE3OTAzLCAxNzkxNSwgMTc5MjcsIDE3OTM4LCAxNzk1MCwgMTc5NjIsIDE3OTc0LCAxNzk4NiwgMTc5OTgsIAotICAgIDE4MDEwLCAxODAyMiwgMTgwMzQsIDE4MDQ2LCAxODA1OCwgMTgwNjksIDE4MDgxLCAxODA5MywgMTgxMDUsIDE4MTE3LCAKLSAgICAxODEyOSwgMTgxNDEsIDE4MTUzLCAxODE2NSwgMTgxNzcsIDE4MTg5LCAxODIwMCwgMTgyMTIsIDE4MjI0LCAxODIzNiwgCi0gICAgMTgyNDgsIDE4MjYwLCAxODI3MiwgMTgyODQsIDE4Mjk2LCAxODMwOCwgMTgzMjAsIDE4MzMxLCAxODM0MywgMTgzNTUsIAotICAgIDE4MzY3LCAxODM3OSwgMTgzOTEsIDE4NDAzLCAxODQxNSwgMTg0MjcsIDE4NDM5LCAxODQ1MSwgMTg0NjIsIDE4NDc0LCAKLSAgICAxODQ4NiwgMTg0OTgsIDE4NTEwLCAxODUyMywgMTg1MzYsIDE4NTQ5LCAxODU2MiwgMTg1NzUsIDE4NTg4LCAxODYwMSwgCi0gICAgMTg2MTMsIDE4NjI2LCAxODYzOSwgMTg2NTIsIDE4NjY1LCAxODY3OCwgMTg2OTEsIDE4NzA0LCAxODcxNywgMTg3MzAsIAotICAgIDE4NzQzLCAxODc1NSwgMTg3NjgsIDE4NzgxLCAxODc5NCwgMTg4MDcsIDE4ODIwLCAxODgzMywgMTg4NDYsIDE4ODU5LCAKLSAgICAxODg3MiwgMTg4ODUsIDE4ODk3LCAxODkxMCwgMTg5MjMsIDE4OTM2LCAxODk0OSwgMTg5NjIsIDE4OTc1LCAxODk4OCwgCi0gICAgMTkwMDEsIDE5MDE0LCAxOTAyNywgMTkwMzksIDE5MDUyLCAxOTA2NSwgMTkwNzgsIDE5MDkxLCAxOTEwNCwgMTkxMTcsIAotICAgIDE5MTMwLCAxOTE0MywgMTkxNTYsIDE5MTY5LCAxOTE4MSwgMTkxOTQsIDE5MjA3LCAxOTIyMCwgMTkyMzMsIDE5MjQ2LCAKLSAgICAxOTI1OSwgMTkyNzIsIDE5Mjg1LCAxOTI5OCwgMTkzMTEsIDE5MzIzLCAxOTMzNCwgMTkzNDcsIDE5MzYwLCAxOTM3MywgCi0gICAgMTkzODYsIDE5Mzk5LCAxOTQxMiwgMTk0MjUsIDE5NDM4LCAxOTQ1MSwgMTk0NjQsIDE5NDc2LCAxOTQ4OSwgMTk1MDIsIAotICAgIDE5NTE1LCAxOTUyOCwgMTk1NDEsIDE5NTU0LCAxOTU2NywgMTk1ODAsIDE5NTkzLCAxOTYwNiwgMTk2MTgsIDE5NjMxLCAKLSAgICAxOTY0NCwgMTk2NTcsIDE5NjcwLCAxOTY4MywgMTk2OTYsIDE5NzA5LCAxOTcyMiwgMTk3MzUsIDE5NzQ4LCAxOTc2MCwgCi0gICAgMTk3NzMsIDE5Nzg2LCAxOTc5OSwgMTk4MTIsIDE5ODI1LCAxOTgzOCwgMTk4NTEsIDE5ODY0LCAxOTg3NywgMTk4OTAsIAotICAgIDE5OTAyLCAxOTkxNSwgMTk5MjgsIDE5OTQxLCAxOTk1NCwgMTk5NjcsIDE5OTgwLCAxOTk5MywgMjAwMDYsIDIwMDE5LCAKLSAgICAyMDAzMiwgMjAwNDQsIDIwMDU3LCAyMDA3MCwgMjAwODMsIDIwMDk2LCAyMDEwOSwgMjAxMjIsIDIwMTM1LCAyMDE0OCwgCi0gICAgMjAxNjEsIDIwMTc0LCAyMDE4NiwgMjAxOTksIDIwMjEyLCAyMDIyNSwgMjAyMzgsIDIwMjUxLCAyMDI2NCwgMjAyNzcsIAotICAgIDIwMjkwLCAyMDMwMywgMjAzMTYsIDIwMzI4LCAyMDM0MSwgMjAzNTQsIDIwMzY3LCAyMDM4MCwgMjAzOTMsIDIwNDA2LCAKLSAgICAyMDQxOSwgMjA0MzIsIDIwNDQ1LCAyMDQ1OCwgMjA0NzAsIDIwNDgzLCAyMDQ5NiwgMjA1MDksIDIwNTIyLCAyMDUzNSwgCi0gICAgMjA1NDgsIDIwNTYxLCAyMDU3NCwgMjA1ODcsIDIwNjAwLCAyMDYxMiwgMjA2MjUsIDIwNjM4LCAyMDY1MSwgMjA2NjQsIAotICAgIDIwNjc3LCAyMDY5MCwgMjA3MDMsIDIwNzE2LCAyMDcyOSwgMjA3NDIsIDIwNzU0LCAyMDc2NSwgMjA3NzMsIDIwNzgxLCAKLSAgICAyMDc4OCwgMjA3OTQsIDIwNzk4LCAyMDgwNCwgMjA4MTAsIDIwODE4LCAyMDgyNCwgMjA4MjksIDIwODMzLCAyMDg0MiwgCi0gICAgOTE0OCwgMjA4NTMsIDIwODYwLCAyMDg2OCwgMjA4NzUsIDIwODgyLCAxMDk0MSwgMjA4ODksIDIwODk4LCAyMDkwMywgCi0gICAgMjA5MDgsIDc4MDUsIDIwOTE1LCAyMDkyMCwgMjA5MjMsIDIwOTI4LCAyMDkzNiwgMjA5NDMsIDIwOTUwLCAyMDk1NywgCi0gICAgMjA5NjMsIDIwOTcyLCAyMDk4MSwgMjA5ODcsIDIwOTk2LCAyMTAwMCwgMjEwMDYsIDIxMDExLCAyMTAyMSwgMjEwMjgsIAotICAgIDIxMDM0LCAyMTA0MiwgMjEwNDgsIDIxMDU1LCAyMTA2NSwgMjEwNzQsIDIxMDc4LCAyMTA4NSwgMjEwODksIDIxMDk0LCAKLSAgICAyMTEwMCwgMjExMDgsIDIxMTEyLCAyMTEyMiwgMTQ0MDIsIDIxMTMxLCAyMTEzNywgMjExNDEsIDIxMTUwLCAxNDQwNywgCi0gICAgMjExNTYsIDIxMTYzLCAyMTE3NCwgMjExODIsIDIxMTkxLCAyMTE5OSwgODkzMSwgMjEyMDcsIDIxMjEyLCAyMTIxOCwgCi0gICAgMjEyMjMsIDIxMjI3LCAyMTIzMSwgMjEyMzUsIDk2MzIsIDIxMjQwLCAyMTI0OCwgMjEyNTUsIDIxMjY0LCAyMTI3MSwgCi0gICAgMjEyNzgsIDEwODcxLCAyMTI4NSwgMjEyOTEsIDIxMjk1LCAyMTMwMSwgMjEzMDgsIDIxMzE0LCAyMTMyMiwgMjEzMjgsIAotICAgIDIxMzM1LCAyMTM0MSwgMjEzNDcsIDIxMzU2LCAyMTM2MCwgMjEzNjgsIDIxMzc3LCAyMTM4NCwgMjEzODksIDIxMzkzLCAKLSAgICAyMTQwNCwgMjE0MDksIDIxNDE0LCAyMTQxOSwgMjE0MzIsIDc5OTUsIDIxNDM2LCAyMTQ0MiwgMjE0NTAsIDIxNDU0LCAKLSAgICAyMTQ2MSwgMjE0NzAsIDIxNDc1LCAxNDY3OCwgMjE0ODMsIDIxNDg3LCAyMTQ5OSwgMjE1MDQsIDIxNTA4LCAyMTUxMSwgCi0gICAgMjE1MTcsIDIxNTIzLCAyMTUyOCwgMjE1MzIsIDIxNTM1LCAyMTU0NiwgMjE1NTEsIDkzNzYsIDIxNTU4LCAyMTU2MywgCi0gICAgOTM4MSwgMjE1NjgsIDIxNTczLCAyMTU3OCwgMjE1ODMsIDIxNTg4LCAyMTU5MywgMjE1OTgsIDIxNjAzLCAyMTYwOCwgCi0gICAgMjE2MTMsIDIxNjE4LCAyMTYyMywgMjE2MjksIDIxNjM0LCAyMTYzOSwgMjE2NDQsIDIxNjQ5LCAyMTY1NCwgMjE2NTksIAotICAgIDIxNjY0LCAyMTY2OSwgMjE2NzQsIDIxNjgwLCAyMTY4NiwgMjE2OTEsIDIxNjk2LCAyMTcwMSwgMjE3MDYsIDIxNzExLCAKLSAgICAyMTcxNiwgMjE3MjEsIDIxNzI2LCAyMTczMSwgMjE3MzcsIDIxNzQyLCAyMTc0NywgMjE3NTIsIDIxNzU4LCAyMTc2NCwgCi0gICAgMjE3NjksIDIxNzc0LCAyMTc3OSwgMjE3ODQsIDIxNzg5LCAyMTc5NCwgMjE3OTksIDIxODA0LCAyMTgxMCwgMjE4MTUsIAotICAgIDIxODIwLCAyMTgyNSwgMjE4MzAsIDIxODM2LCAyMTg0MSwgMjE4NDYsIDIxODUwLCAxMzY4LCAxMjksIDIxODU4LCAyMTg2MiwgCi0gICAgMjE4NjYsIDIxODcwLCAyMTg3NSwgMjE4NzksIDEzMTEwLCAxMjQ2OSwgMjE4ODMsIDIxODg4LCAyMTg5MiwgMjE4OTcsIAotICAgIDIxOTAxLCAyMTkwNiwgMjE5MTAsIDIxOTE2LCAyMTkyMSwgMjE5MjUsIDIxOTI5LCAyMTkzNywgMjE5NDEsIDIxOTQ1LCAKLSAgICAyMTk1MCwgMjE5NTUsIDIxOTU5LCAyMTk2NSwgMjE5NzAsIDIxOTc0LCAyMTk3OSwgMjE5ODQsIDIxOTg4LCAyMTk5NSwgCi0gICAgMjIwMDIsIDIyMDA5LCAyMjAxMywgMjIwMTcsIDIyMDIyLCAyMjAyNiwgMjIwMjksIDIyMDM1LCAyMjA0OCwgMjIwNTMsIAotICAgIDIyMDYyLCAyMjA2NywgOTQyMSwgMjIwNzIsIDIyMDc1LCAyNzEyLCAyNzE3LCAyMjA3OSwgMjIwODUsIDIyMDkxLCA3MjA5LCAKLSAgICAyMjA5NiwgMjIxMDEsIDIyMTA2LCAyMjExMiwgMjIxMTcsIDEzODk2LCAyMjEyMiwgMjIxMjcsIDIyMTMyLCAyMjEzNywgCi0gICAgMjIxNDMsIDIyMTQ4LCAyMjE1MywgMjIxNTksIDIyMTY0LCAyMjE2OCwgMjIxNzMsIDIyMTc4LCAyMjE4MywgMjIxODgsIAotICAgIDIyMTkyLCAyMjE5NywgMjIyMDEsIDIyMjA2LCAyMjIxMSwgMjIyMTYsIDIyMjIxLCAyMjIyNSwgMjIyMzAsIDIyMjM0LCAKLSAgICAyMjIzOSwgMjIyNDQsIDIyMjQ5LCAyMjI1NCwgMjg4NiwgMjIxNjksIDIyMjU4LCAyMjI2NiwgMjIyNzMsIDk3MjYsIAotICAgIDIyMjg1LCAyMjI5MywgMjIxNzQsIDIyMzAwLCAyMjMwNSwgMjIzMTMsIDIyMTc5LCAyMjMxOCwgMjIzMjMsIDIyMzMxLCAKLSAgICAyMjMzNiwgMjIxODQsIDIyMzQxLCAyMjM0NiwgMjIzNTAsIDIyMzU2LCAyMjM2NCwgMjIzNjcsIDIyMzc0LCAyMjM3OCwgCi0gICAgMjIzODIsIDIyMzg4LCAyMjM5NSwgMjI0MDAsIDg5NTgsIDE3MjcsIDE3MzIsIDIyNDA0LCAyMjQxMCwgMjI0MTYsIDIyNDIxLCAKLSAgICAyMjQyNSwgMjI0MjksIDIyNDMzLCAyMjQzNywgMjI0NDEsIDIyNDQ1LCAyMjQ0OSwgMjI0NTIsIDIyNDU4LCAyMjQ2NSwgCi0gICAgMjI0NzMsIDIyNDc5LCAyMjQ4NSwgMjI0OTAsIDIyNDk1LCAyMjQ5OSwgMTM4MTYsIDEzODIzLCAyMjUwNCwgMjI1MTYsIAotICAgIDIyNTE5LCAyMjUyNiwgMTYzNDksIDIyNTMzLCAyMjU0MSwgMjI1NTIsIDIyNTYxLCAyMjU3NCwgMjI1ODQsIDIyNTk4LCAKLSAgICAyMjYxMCwgMjI2MjQsIDIyNjM2LCAyMjY0NiwgMjI2NTgsIDIyNjY0LCAyMjY3OSwgMjI3MDMsIDIyNzIxLCAyMjc0MCwgCi0gICAgMjI3NTMsIDIyNzY3LCAyMjc4NSwgMjI4MDEsIDIyODE4LCAyMjgzNiwgMjI4NDcsIDIyODY2LCAyMjg4MywgMjI5MDMsIAotICAgIDIyOTIxLCAyMjkzMywgMjI5NDcsIDIyOTYxLCAyMjk3MywgMjI5OTAsIDIzMDA5LCAyMzAyNywgMjMwMzksIDIzMDU3LCAKLSAgICAyMzA3NiwgMTQ1NDYsIDIzMDg5LCAyMzEwOSwgMjMxMjEsIDEwNTE2LCAyMzEzMywgMjMxMzgsIDIzMTQzLCAyMzE0OCwgCi0gICAgMjMxNTQsIDIzMTU5LCAyMzE2MywgMjMxNzAsIDIzOTgsIDIzMTc0LCAyMzE4MCwgMjMxODQsIDIzMTg3LCAyMzE5MSwgCi0gICAgMjMxOTksIDIzMjA1LCAyMjIwMiwgMjMyMDksIDIzMjE4LCAyMzIyOSwgMjMyMzUsIDIzMjQxLCAyMzI1MCwgMjMyNTgsIAotICAgIDIzMjY1LCAyMzI3MCwgMjMyNzQsIDIzMjgxLCAyMzI4NywgMjMyOTYsIDIzMzA0LCAyMzMxMSwgMjMzMjEsIDIzMzMwLCAKLSAgICAyMzM0MCwgMjMzNDUsIDIzMzU0LCAyMzM2MywgMjMzNzQsIDIzMzg1LCAzOTYzLCAyMzM5NSwgMjMzOTksIDIzNDA5LCAKLSAgICAyMzQxNywgMjM0MjcsIDIzNDM4LCAyMzQ0MywgMjM0NTMsIDIzNDYxLCAyMzQ2OCwgMjM0NzQsIDIzNDgxLCAyMzQ4NiwgCi0gICAgMjIyMTIsIDIzNDkwLCAyMzQ5OSwgMjM1MDMsIDIzNTA2LCAyMzUxMSwgMjM1MTgsIDIzNTI3LCAyMzUzNSwgMjM1NDMsIAotICAgIDIzNTUzLCAyMzU2MiwgMjM1NjgsIDIzNTc0LCAyMjIxNywgMjIyMjIsIDIzNTc4LCAyMzU4OCwgMjM1OTgsIDIzNjA4LCAKLSAgICAyMzYxNiwgMjM2MjMsIDIzNjMzLCAyMzY0MSwgMjM2NDksIDIzNjU1LCAyMzY2MywgOTMwLCAyMzY3MiwgMTQ3MzcsIDU0MiwgCi0gICAgMjM2ODYsIDIzNjk1LCAyMzcwMywgMjM3MTQsIDIzNzI1LCAyMzczNSwgMjM3NDQsIDIzNzU2LCAyMzc2NSwgMjM3NzQsIAotICAgIDIzNzgwLCAyMzc4OSwgMjM3OTgsIDIzODA4LCAyMzgxNiwgMjM4MjQsIDkzNTMsIDIzODMwLCAyMzgzMywgMjM4MzcsIAotICAgIDIzODQyLCAyMzg0NywgOTg0MSwgMjIyMzUsIDIyMjQwLCAyMzg1NSwgMjM4NjEsIDIzODY3LCAyMzg3MiwgMjM4NzcsIAotICAgIDIzODgxLCAyMzg4OSwgMjM4OTUsIDIzOTAxLCAyMzkwNSwgMzUyNSwgMjM5MTMsIDIzOTE4LCAyMzkyMywgMjM5MjcsIAotICAgIDIzOTMxLCA5OTIxLCAyMzkzOCwgMjM5NDYsIDIzOTYwLCAyMzk2NywgMjM5NzMsIDk5MzAsIDk5MzYsIDIzOTgxLCAyMzk4OSwgCi0gICAgMjM5OTYsIDI0MDAxLCAyNDAwNiwgMjIyNDUsIDI0MDEyLCAyNDAyMywgMjQwMjcsIDI0MDMyLCAyNjAxLCAyNDAzNywgCi0gICAgMjQwNDgsIDI0MDU0LCAyNDA1OSwgMjQwNjMsIDI0MDY3LCAyNDA3MCwgMjQwNzcsIDI0MDg0LCAyNDA5MSwgMjQwOTcsIAotICAgIDI0MTAxLCAyMjI1MCwgMjQxMDYsIDI0MTEwLCAyNDExNCwgMTAzNywgMjQxMTksIDI0MTI0LCAyNDEyOSwgMjQxMzQsIAotICAgIDI0MTM5LCAyNDE0NCwgMjQxNDksIDI0MTU0LCAyNDE1OSwgMjQxNjQsIDI0MTY5LCAyNDE3NCwgMjQxNzksIDI0MTg0LCAKLSAgICAyNDE5MCwgMjQxOTUsIDI0MjAwLCAyNDIwNSwgMjQyMTAsIDI0MjE1LCAyNDIyMCwgMjQyMjYsIDI0MjMxLCAyNDIzNiwgCi0gICAgMjQyNDEsIDI0MjQ2LCAyNDI1MSwgMjQyNTYsIDI0MjYxLCAyNDI2NywgMjQyNzMsIDI0Mjc4LCAyNDI4NCwgMjQyODksIAotICAgIDI0Mjk0LCA1LCAyNDMwMCwgMjQzMDQsIDI0MzA4LCAyNDMxMiwgMjQzMTcsIDI0MzIxLCAyNDMyNSwgMjQzMjksIDI0MzMzLCAKLSAgICAyNDMzOCwgMjQzNDIsIDI0MzQ3LCAyNDM1MSwgMjQzNTQsIDI0MzU4LCAyNDM2MywgMjQzNjcsIDI0MzcyLCAyNDM3NiwgCi0gICAgMjQzODAsIDI0Mzg0LCAyNDM4OSwgMjQzOTMsIDI0Mzk3LCAyNDQwNywgMjQ0MTIsIDI0NDE2LCAyNDQyMCwgMjQ0MjUsIAotICAgIDI0NDMwLCAyNDQzOSwgMjQ0NDQsIDI0NDQ5LCAyNDQ1MywgMjQ0NTcsIDI0NDcwLCAyNDQ4MiwgMjQ0OTEsIDI0NTAwLCAKLSAgICAyNDUwNiwgMjQ1MTEsIDI0NTE1LCAyNDUxOSwgMjQ1MjksIDI0NTM4LCAyNDU0NiwgMjQ1NTIsIDI0NTU3LCAyNDU2MSwgCi0gICAgMjQ1NjgsIDI0NTc4LCAyNDU4NywgMjQ1OTUsIDI0NjAzLCAyNDYxMCwgMjQ2MTgsIDI0NjI3LCAyNDYzNiwgMjQ2NDQsIAotICAgIDI0NjQ5LCAyNDY1MywgMjQ2NTcsIDI0NjYwLCAyNDY2MiwgMjQ2NjYsIDI0NjcwLCAyNDY3NSwgMjQ2ODAsIDI0Njg0LCAKLSAgICAyNDY4OCwgMjQ2OTEsIDI0Njk1LCAyNDY5OCwgMjQ3MDIsIDI0NzA1LCAyNDcwOCwgMjQ3MTIsIDI0NzE4LCAyNDcyMiwgCi0gICAgMjQ3MjYsIDI0NzMwLCAyNDczNSwgMjQ3NDAsIDI0NzQ1LCAyNDc0OSwgMjQ3NTIsIDI0NzU3LCAyNDc2MywgMjQ3NjgsIAotICAgIDI0Nzc0LCAyNDc3OSwgMjQ3ODMsIDI0Nzg3LCAyNDc5MSwgMjQ3OTYsIDI0ODAwLCAyNDgwNSwgMjQ4MDksIDI0ODEzLCAKLSAgICAyNDgyMCwgMjQ4MjQsIDI0ODI3LCAyNDgzMSwgMjQ4MzcsIDI0ODQzLCAyNDg0NywgMjQ4NTEsIDI0ODU2LCAyNDg2MywgCi0gICAgMjQ4NjksIDI0ODczLCAyNDg4MiwgMjQ4ODYsIDI0ODkwLCAyNDg5MywgMjQ4OTksIDI0OTA0LCAyNDkxMCwgMTQ4OSwgCi0gICAgMTc5MSwgMjQ5MTUsIDI0OTIwLCAyNDkyNSwgMjQ5MzAsIDI0OTM1LCAyNDk0MCwgMjQ5NDUsIDIxNDgsIDIxOTQsIDI0OTUwLCAKLSAgICAyNDk1MywgMjQ5NTcsIDI0OTYxLCAyNDk2NiwgMjQ5NzAsIDI0OTc0LCAyNDk3NywgMjQ5ODIsIDI0OTg3LCAyNDk5MSwgCi0gICAgMjQ5OTQsIDI0OTk5LCAyNTAwMywgMjUwMDgsIDI1MDEyLCAxNDc0OSwgMjUwMTcsIDI1MDIwLCAyNTAyMywgMjUwMjcsIAotICAgIDI1MDMyLCAyNTAzNiwgMjUwNDksIDI1MDUzLCAyNTA1NiwgMjUwNjQsIDI1MDczLCAyNTA4MCwgMjUwODUsIDI1MDkxLCAKLSAgICAyNTA5NywgMjUxMDUsIDI1MTEyLCAyNTExOSwgMjUxMjMsIDI1MTI3LCAyNTEzMSwgMjUxMzYsIDI1MTQxLCAyNTE0NSwgCi0gICAgMjUxNTMsIDI1MTU4LCAyNTE3MCwgMjUxODEsIDI1MTg2LCAyNTE5MCwgMjUxOTQsIDI1MjAwLCAyNTIwNSwgMjUyMTAsIAotICAgIDI1MjE0LCAyNTIxOCwgMjUyMjEsIDI1MjI3LCA3OTE1LCAyMzE2LCAyNTIzMSwgMjUyMzYsIDI1MjUyLCA5NDY4LCAyNTI3MiwgCi0gICAgMjUyODEsIDI1Mjk3LCAyNTMwMSwgMjUzMDQsIDI1MzEwLCAyNTMyMCwgMjUzMjYsIDI1MzM1LCAyNTM1MCwgMjUzNjIsIAotICAgIDI1MzczLCAyNTM4MSwgMjUzOTAsIDI1Mzk2LCAyNTQwNSwgMjU0MTUsIDI1NDI2LCAyNTQzNywgMjU0NDYsIDI1NDUzLCAKLSAgICAyNTQ2MiwgMjU0NzAsIDI1NDc3LCAyNTQ4NSwgMjU0OTIsIDI1NDk5LCAyNTUxMiwgMjU1MTksIDI1NTI1LCAyNTUzMCwgCi0gICAgMjU1MzksIDI1NTQ1LCAyNTU1MCwgMjU1NTgsIDI1NTY1LCAyMzQxOSwgMjU1NzcsIDI1NTg5LCAyNTYwMywgMjU2MTEsIAotICAgIDI1NjE4LCAyNTYzMCwgMjU2MzksIDI1NjQ4LCAyNTY1NiwgMjU2NjQsIDI1NjcyLCAyNTY3OSwgMjU2ODgsIDI1Njk2LCAKLSAgICAyNTcwNiwgMjU3MTUsIDI1NzI1LCAyNTczNCwgMjU3NDMsIDI1NzUxLCAyNTc1NiwgMjU3NjAsIDI1NzYzLCAyNTc2NywgCi0gICAgMjU3NzEsIDI1Nzc1LCAyNTc3OSwgMjU3ODMsIDI1Nzg5LCAyNTc5NSwgMjU4MDMsIDE0Nzk0LCAyNTgxMCwgMjU4MTUsIAotICAgIDI1ODIyLCAyNTgyOCwgMjU4MzUsIDE0ODAyLCAyNTg0MiwgMjU4NDUsIDI1ODU3LCAyNTg2NSwgMjU4NzEsIDI1ODc2LCAKLSAgICAyNTg4MCwgOTg3MSwgMjU4OTEsIDI1OTAxLCAyNTkxMCwgMjU5MTcsIDI1OTIxLCAxNDgwNywgMjU5MjQsIDI1OTMxLCAKLSAgICAyNTkzNSwgMjU5NDEsIDI1OTQ0LCAyNTk1MSwgMjU5NTcsIDI1OTY0LCAyNTk3MCwgMjU5NzQsIDI1OTc5LCAyNTk4MywgCi0gICAgMjU5OTIsIDI1OTk5LCAyNjAwNSwgNzk1NiwgMjYwMTIsIDI2MDIwLCAyNjAyNywgMjYwMzMsIDI2MDM4LCAyNjA0NCwgCi0gICAgMjYwNTAsIDI2MDU4LCAyNjA2MiwgMjYwNjUsIDI2MDY3LCAyNTc2OCwgMjYwNzYsIDI2MDgyLCAyNjA5MiwgMjYwOTcsIAotICAgIDI2MTA0LCAyNjExMCwgMjYxMTUsIDI2MTIwLCAyNjEyNSwgMjYxMjksIDI2MTM0LCAyNjE0MSwgMjYxNTAsIDI2MTU0LCAKLSAgICAyNjE2MSwgMjYxNzAsIDI2MTc2LCAyNjE4MSwgMjYxODcsIDI2MTkyLCAyNjE5OSwgMjYyMTAsIDI2MjE1LCAyNjIxOSwgCi0gICAgMjYyMjksIDI2MjM1LCAyNjIzOSwgMjYyNDQsIDI2MjU0LCAyNjI2MywgMjYyNjcsIDI2Mjc0LCAyNjI4MiwgMjYyODksIAotICAgIDI2Mjk1LCAyNjMwMCwgMjYzMDgsIDI2MzE1LCAyNjMyNywgMjYzMzYsIDI2MzQwLCAxMzA0NiwgMjYzNDgsIDI2MzU4LCAKLSAgICAyNjM2MiwgMjUwNjAsIDI2MzczLCAyNjM3OCwgMjYzODIsIDI2Mzg5LCAyNjM5NiwgMjE5NjEsIDI1NjkzLCAyNjQwMSwgCi0gICAgMjY0MDUsIDI2NDA4LCAyMjg1MywgMjY0MTMsIDI2NDI3LCAyNjQ0MywgMjY0NjEsIDI2NDgwLCAyNjQ5NywgMjY1MTUsIAotICAgIDIyODcyLCAyNjUzMiwgMjY1NTIsIDIyODg5LCAyNjU2NCwgMjY1NzYsIDE1NzMyLCAyNjU4OCwgMjI5MDksIDI2NjAyLCAKLSAgICAyNjYxNCwgMTA1MjksIDI2NjI4LCAyNjYzMywgMjY2MzgsIDI2NjQzLCAyNjY0OSwgMjY2NTUsIDI2NjYxLCAyNjY2NSwgCi0gICAgMjY2NzIsIDI2Njc3LCAyNjY4NywgMjY2OTMsIDEwMTc2LCAyNjY5OSwgMjY3MDEsIDI2NzA2LCAyNjcxNCwgMjY3MTgsIAotICAgIDI2MTM3LCAyNjcyNCwgMjY3MzEsIDExNTE3LCAxMTUyNywgMjY3MzgsIDI2NzQ4LCAyNjc1MywgMjY3NTcsIDI2NzYwLCAKLSAgICAyNjc2NiwgMjY3NzQsIDI2Nzg2LCAyNjc5NiwgMjY4MTIsIDI2ODI1LCAyNjgzOSwgMTU3NTAsIDI2ODUzLCAyNjg2MCwgCi0gICAgMjY4NjQsIDI2ODY3LCAyNjg3MiwgMjY4NzYsIDI2ODgzLCAyNjg5MCwgMjY5MDAsIDI2OTA1LCAyNjkxMCwgMjY5MTUsIAotICAgIDI2OTIzLCAyNjkzMSwgMjY5NDAsIDI2OTQ1LCA5NTY1LCAyNjk0OSwgMjY5NTIsIDI2OTU1LCAyNjk2MCwgMjY5NjcsIAotICAgIDI2OTcyLCAyNjk4OCwgMjY5OTYsIDI3MDA0LCA5NDE2LCAyNzAxMiwgMjcwMTcsIDI3MDIxLCAyNzAyNywgMjcwMzMsIAotICAgIDI3MDM2LCAyNzA0MiwgMjcwNTQsIDI3MDYyLCAyNzA2OSwgMjcwNzUsIDI3MDgyLCAyNzA5MywgMjcxMDcsIDI3MTIwLCAKLSAgICAyNzEyOSwgMjcxMzgsIDI3MTUwLCAyNzE2MSwgMjcxNzEsIDI3MTgwLCAyNzE4OSwgMjcxOTcsIDI3MjA4LCA3OTM4LCAKLSAgICAyNzIxNSwgMjcyMjEsIDI3MjI2LCAyNzIzMiwgMjcyMzksIDI3MjQ5LCAyNzI1OSwgMjcyNjgsIDI3Mjc0LCAyNzI4MSwgCi0gICAgMjcyODYsIDI3MjkzLCAyNzMwMSwgMjczMDksIDI3MzIxLCA2MjQ2LCAyNzMyOCwgMjczMzcsIDI3MzQ1LCAyNzM1MSwgCi0gICAgMjczNTcsIDI3MzYyLCAyNzM2NiwgMjczNjksIDI3Mzc1LCAyNzM4MiwgMjczODcsIDI3MzkyLCAyNzM5NiwgMjc0MDgsIAotICAgIDI3NDE5LCAyNzQyOCwgMjc0MzYsIDE0OTM0LCAyNzQ0MSwgMjc0NDcsIDI3NDUzLCAxMTUxMCwgODYzNSwgMjc0NTgsIAotICAgIDI3NDYyLCAyNzQ2NSwgMjc0NjgsIDI3NDc0LCAyNzQ4MiwgMjc0OTAsIDI3NDk0LCAyNzQ5OCwgMjc1MDMsIDI3NTA2LCAKLSAgICAyNzUxNSwgMjc1MTksIDI3NTI3LCAyNzUzOCwgMjc1NDIsIDI3NTQ4LCAyNzU1NCwgMjc1NTgsIDI3NTY0LCAyNzU3MiwgCi0gICAgMjc1OTQsIDI3NjE4LCAyNzYyNSwgMjc2MzIsIDI3NjM4LCAyNzY0NiwgMjc2NTIsIDI3NjU3LCAyNzY2OCwgMjc2ODYsIAotICAgIDI3NjkzLCAyNzcwMSwgMjc3MDUsIDI3NzE0LCAyNzcyNywgMjc3MzUsIDI3NzQ3LCAyNzc1OCwgMjc3NjgsIDI3NzgyLCAKLSAgICAyNzc5MSwgMjc3OTksIDI3ODExLCA5NDg1LCAyNzgyMiwgMjc4MzMsIDI3ODQ1LCAyNzg1NSwgMjc4NjQsIDI3ODY5LCAKLSAgICAyNzg3MywgMjc4ODEsIDI3ODkxLCAyNzg5NiwgMjc5MDAsIDI3OTAzLCAyNzkwNiwgMjc5MTQsIDI3OTIyLCAyNzkzMSwgCi0gICAgMjc5NDEsIDI3OTUwLCAyNzk1NiwgMjc5NzAsIDI2NjMsIDI3OTkyLCAyODAwMywgMjgwMTIsIDI4MDIyLCAyODAzNCwgCi0gICAgMjgwNDMsIDI4MDUyLCAyODA2MiwgMjgwNzAsIDI4MDc4LCAyODA4NywgMjgwOTIsIDI4MTAzLCAyODEwOCwgMjgxMTksIAotICAgIDI4MTIzLCAyODEzMywgMjgxNDIsIDI4MTUwLCAyODE2MCwgMjgxNzAsIDI4MTc4LCAyODE4NywgMjgxOTQsIDI4MjAyLCAKLSAgICAyODIwOSwgMjgyMTgsIDI4MjIyLCAyODIzMCwgMjgyMzcsIDI4MjQ1LCAyODI1MiwgMjgyNjMsIDI4Mjc4LCAyODI4NSwgCi0gICAgMjgyOTEsIDI4MzAxLCAyODMxMCwgMjgzMTYsIDI4MzIwLCAyODMyNywgMjgzMzEsIDE0MDE4LCAyODMzNywgMjgzNDEsIAotICAgIDI4MzQ2LCAyODM1MywgMjgzNTcsIDI4MzYxLCAyODM2OSwgMjgzNzcsIDI4MzgzLCAyODM5MiwgMjgzOTksIDI4NDA0LCAKLSAgICAyODQwOSwgMjg0MTksIDIzNDg4LCAyODQyMywgMjg0MjYsIDI4NDMxLCAyODQzNiwgMjg0NDEsIDI4NDQ2LCAyODQ1MSwgCi0gICAgMjg0NTYsIDI4NDYxLCAyODQ2NiwgMjg0NzIsIDI4NDc3LCAyODQ4MiwgMjg0ODgsIDEyMTgsIDcwNCwgMjg0OTMsIDI4NTAyLCAKLSAgICAyMzY0LCAyODUwOSwgMjg1MTQsIDI4NTE4LCAyODUyNCwgMTI2NywgNTQ2LCAzMTgsIDI4NTI5LCAyODUzOCwgMjg1NDYsIAotICAgIDI4NTU1LCAyODU2MywgMjg1NzQsIDI4NTgzLCAyODU5MSwgMjg1OTUsIDI4NTk4LCAyODYwNiwgMjg2MTQsIDI4NjE5LCAKLSAgICAxNDc2MiwgMjg2MjUsIDI4NjMxLCAyODYzNywgNTg3MiwgMjg2NDIsIDI4NjQ2LCAyODY1MiwgMjg2NTYsIDI4NjYzLCAKLSAgICAxNDU1LCAyODY2OSwgMjg2NzYsIDk1NzIsIDI4NjgwLCAyODY5MCwgMjg2OTgsIDI4NzA0LCAyODcxMywgMjg3MjEsIAotICAgIDI4NzI3LCAyODczNSwgMjg3NDIsIDExMTAzLCAyODc0OCwgMjg3NTUsIDI4NzYwLCAyODc2NywgMTQ5NiwgMjE0NywgCi0gICAgMjg3NzMsIDI4Nzc5LCAyODc4NiwgMjg3OTcsIDI4ODA4LCAyODgxNiwgMjg4MjMsIDI4ODMzLCAyODg0MiwgMjg4NTAsIAotICAgIDI4ODU5LCAyODg2NiwgMjg4NzMsIDI4ODg2LCAyODg5NywgMTI3MiwgMjg5MTYsIDI4OTIxLCAyODkyOSwgMzU3NSwgCi0gICAgMjg5MzMsIDI4OTM4LCAyODk0MiwgMTQ1OSwgMjQ2ODksIDI4OTUyLCAyODk1NiwgMjg5NjEsIDI4OTY1LCAzNDkzLCAKLSAgICAyODk3MSwgMjg5NzksIDI4OTg2LCAyODk5NywgMjkwMDUsIDI5MDEzLCAzNTc2LCAyNzksIDI5MDE4LCAyOTAyNiwgMjkwMzQsIAotICAgIDI5MDQxLCAyOTA0NywgMjkwNTIsIDIyMTYsIDI5MDU5LCAyOTA2NSwgMjU5NzUsIDI2MjA1LCAyOTA3MSwgMTA2LCAyOTA3NSwgCi0gICAgMjkwNzksIDI5MDg1LCA2MTUsIDkzMjEsIDI5MDkwLCAyOTA5NywgMjkxMDMsIDIzMjcsIDI5MTA3LCAyOTExMSwgMTUxNzQsIAotICAgIDI5MTE0LCAyOTExOSwgMjkxMjYsIDI5MTMyLCAyOTEzNywgMjkxNDUsIDI5MTUyLCAyOTE1OCwgMjIzMzgsIDI5MTYyLCAKLSAgICAyOTE2NiwgMzY0NiwgMTY2MTIsIDI5MTcwLCAyOTE3NSwgMjkxNzgsIDI5MTg2LCAyOTE5NCwgMjkxOTksIDI5MjAyLCAKLSAgICAyOTIwOSwgMjkyMTksIDI5MjMxLCAyOTIzNiwgMjkyNDAsIDI5MjQ4LCAyOTI1NSwgMjkyNjEsIDI5MjY4LCAyOTI3NSwgCi0gICAgMjkyNzgsIDI5MjgyLCAyOTI4NiwgMTQ2MywgMjkyOTYsIDI5Mjk4LCAyOTMwMywgMjkzMDksIDI5MzE1LCAyOTMyMCwgCi0gICAgMjkzMjUsIDI5MzMwLCAyOTMzNSwgMjkzNDAsIDI5MzQ1LCAyOTM1MCwgMjkzNTUsIDI5MzYwLCAyOTM2NSwgMjkzNzAsIAotICAgIDI5Mzc1LCAyOTM4MCwgMjkzODUsIDI5MzkxLCAyOTM5NywgMjk0MDMsIDI5NDA5LCAyOTQxNCwgMjk0MTksIDI5NDI0LCAKLSAgICAyOTQzMCwgMjk0MzUsIDI5NDQwLCAyOTQ0NSwgMjk0NTEsIDI5NDU2LCAyOTQ2MiwgMjk0NjcsIDI5NDcyLCAyOTQ3NywgCi0gICAgMjk0ODIsIDI5NDg4LCAyOTQ5MywgMjk0OTksIDI5NTA0LCAyOTUwOSwgMjk1MTQsIDI5NTE5LCAyOTUyNSwgMjk1MzAsIAotICAgIDI5NTM2LCAyOTU0MSwgMjk1NDYsIDI5NTUxLCAyOTU1NiwgMjk1NjEsIDI5NTY2LCAyOTU3MSwgMjk1NzYsIDI5NTgxLCAKLSAgICAyOTU4NywgMjk1OTMsIDI5NTk5LCAyOTYwNCwgMjk2MDksIDI5NjE0LCAyOTYxOSwgMjk2MjUsIDI5NjMxLCAyOTYzNywgCi0gICAgMjk2NDMsIDI5NjQ5LCAyOTY1NSwgMjk2NjAsIDI5NjY2LCAyOTY3MSwgMjk2NzYsIDI5NjgxLCAyOTY4NiwgMjk2OTIsIAotICAgIDI0NDMsIDI5Njk3LCAyNDUwLCAyNDU3LCAyNzU0LCAyOTcwMiwgMjQ2MywgMjQ3MywgMjk3MDgsIDI5NzEyLCAyOTcxNywgCi0gICAgMjk3MjIsIDI5NzI4LCAyOTczMywgMjk3MzgsIDI5NzQyLCAyOTc0NywgMjk3NTMsIDI5NzU4LCAyOTc2MywgMjk3NjgsIAotICAgIDI5Nzc0LCAyOTc3OSwgMjk3ODMsIDI5Nzg3LCAyOTc5MiwgMjk3OTcsIDI5ODAyLCAyOTgwNywgMjk4MTIsIDI5ODE4LCAKLSAgICAyOTgyNCwgMjk4MjksIDI5ODMzLCAyOTgzOCwgMjk4NDQsIDI5ODQ4LCAyOTg1MywgMjk4NTgsIDI5ODYzLCAyOTg2OCwgCi0gICAgMjk4NzIsIDI5ODc1LCAyOTg4MCwgMjk4ODUsIDI5ODkwLCAyOTg5NSwgMjk5MDAsIDI5OTA2LCAyOTkxMiwgMjk5MTcsIAotICAgIDI5OTIyLCAyOTkyNiwgMjk5MzEsIDI5OTM2LCAyOTk0MSwgMjk5NDYsIDI5OTUxLCAyOTk1NSwgMjk5NjAsIDI5OTY1LCAKLSAgICAyOTk3MCwgMjk5NzQsIDI5OTc4LCAyOTk4MiwgMjk5ODcsIDI5OTk1LCAzMDAwMCwgMzAwMDYsIDMwMDEyLCAzMDAxOCwgCi0gICAgMzAwMjMsIDMwMDI3LCAzMDAzMCwgMzAwMzUsIDMwMDQwLCAzMDA0NCwgMzAwNDksIDMwMDUzLCAzMDA1OCwgMzAwNjIsIAotICAgIDMwMDY1LCAzMDA3MCwgMTcyODksIDMwMDc1LCAzMDA4MCwgMzAwODUsIDMwMDkzLCAyMTI2NywgMjg2NzMsIDkwMTksIAotICAgIDMwMDk4LCAzMDEwMywgMzAxMDcsIDMwMTEyLCAzMDExNiwgMzAxMjAsIDMwMTI1LCAzMDEyOSwgMzAxMzIsIDMwMTM1LCAKLSAgICAzMDEzOSwgMzAxNDQsIDMwMTQ4LCAzMDE1NiwgMzAxNjAsIDMwMTYzLCAzMDE2OCwgMzAxNzIsIDMwMTc2LCAzMDE4MSwgCi0gICAgMzAxODYsIDMwMTkwLCAzMDE5NiwgMzAyMDEsIDMwMjA2LCAzMDIxMywgMzAyMjAsIDMwMjI0LCAzMDIyNywgMzAyMzMsIAotICAgIDMwMjQyLCAzMDI0OSwgMzAyNTcsIDMwMjY0LCAzMDI2OCwgMzAyNzMsIDMwMjc3LCAzMDI4MSwgMzAyODcsIDMwMjkzLCAKLSAgICAzMDI5NywgMzAzMDMsIDMwMzA4LCAzMDMxMywgMzAzMjAsIDMwMzI2LCAzMDMzMiwgMzAzMzgsIDMwMzQ0LCAzMDM1MSwgCi0gICAgMzAzNTcsIDMwMzYzLCAzMDM2OSwgMzAzNzUsIDMwMzgxLCAzMDM4NywgMzAzOTMsIDMwNDAwLCAzMDQwNiwgMzA0MTMsIAotICAgIDMwNDE5LCAzMDQyNSwgMzA0MzEsIDMwNDM3LCAzMDQ0MywgMzA0NDksIDMwNDU1LCAzMDQ2MSwgMzA0NjcsIDExNDExLCAKLSAgICAzMDQ3MywgMzA0NzgsIDMwNDgzLCAzMDQ4NiwgMzA0OTQsIDMwNDk5LCAzMDUwOCwgMzA1MTQsIDMwNTE5LCAzMDUyNCwgCi0gICAgMzA1MjksIDMwNTMzLCAzMDUzOCwgMzA1NDMsIDMwNTQ4LCAzMDU1MywgMzA1NTgsIDMwNTY1LCAzMDU3MiwgMzA1NzgsIAotICAgIDMwNTg0LCAzMDU4OSwgMTYyOTAsIDMwNTk2LCAzMDYwMiwgMzA2MDksIDMwNjE1LCAzMDYyMSwgMzA2MjYsIDMwNjM0LCAKLSAgICAzMDYzOSwgMTYwNjksIDMwNjQzLCAzMDY0OCwgMzA2NTMsIDMwNjU5LCAzMDY2NCwgMzA2NjksIDMwNjczLCAzMDY3OCwgCi0gICAgMzA2ODMsIDMwNjg5LCAzMDY5NCwgMzA2OTksIDMwNzAzLCAzMDcwOCwgMzA3MTMsIDMwNzE3LCAzMDcyMiwgMzA3MjcsIAotICAgIDMwNzMyLCAzMDczNiwgMzA3NDEsIDMwNzQ2LCAzMDc1MSwgMzA3NTUsIDMwNzU5LCAxNTI4MCwgMzA3NjMsIDMwNzcyLCAKLSAgICAzMDc3OCwgMzA3ODQsIDMwNzkzLCAzMDgwMSwgMzA4MTAsIDMwODE4LCAzMDgyMywgMzA4MjcsIDMwODM0LCAzMDg0MCwgCi0gICAgMzA4NDQsIDMwODQ3LCAzMDg1MiwgMzA4NjEsIDMwODY5LCAzMDg3NCwgMTQ5NSwgMzA4ODAsIDMwODgzLCAzMDg4NywgCi0gICAgMjI0MTEsIDIyNDE3LCAzMDg5MywgMzA4OTcsIDMwOTA4LCAzMDkxOSwgMzA5MzAsIDMwOTQyLCAzMDk0OSwgMzA5NTYsIAotICAgIDMwOTYxLCAzMDk2NSwgNTkwOSwgNzU1LCAyMTI2NiwgMzA5NzMsIDMwOTc4LCAzMDk4MiwgMzA5ODcsIDMwOTkxLCAzMDk5NywgCi0gICAgMzEwMDIsIDMxMDA4LCAzMTAxMywgMzEwMTksIDMxMDI0LCAzMTAzMCwgMzEwMzUsIDMxMDQxLCAzMTA0NywgMzEwNTMsIAotICAgIDMxMDU4LCAzMTAxNCwgMzEwMjAsIDMxMDYyLCAzMTA2NywgMzEwNzMsIDMxMDc4LCAzMTA4NCwgMzEwODksIDMxMDk1LCAKLSAgICAzMTEwMCwgMzEwMjUsIDEwNDE0LCAzMTEwNCwgMzEwMzYsIDMxMDQyLCAzMTA0OCwgMjgzMSwgMzQyMywgMzExMTAsIAotICAgIDMxMTEzLCAzMTExOSwgMzExMjUsIDMxMTMxLCAzMTEzOCwgMzExNDQsIDMxMTUwLCAzMTE1NiwgMzExNjIsIDMxMTY4LCAKLSAgICAzMTE3NCwgMzExODAsIDMxMTg2LCAzMTE5MiwgMzExOTgsIDMxMjA0LCAzMTIxMCwgMzEyMTcsIDMxMjIzLCAzMTIyOSwgCi0gICAgMzEyMzUsIDMxMjQxLCAzMTI0NywgMzEyNTAsIDMxMjU1LCAzMTI1OCwgMzEyNjUsIDMxMjczLCAzMTI3OCwgMzEyODMsIAotICAgIDMxMjg5LCAzMTI5NCwgMzEyOTksIDMxMzAzLCAzMTMwOCwgMzEzMTQsIDMxMzE5LCAzMTMyNSwgMzEzMzAsIDMxMzM2LCAKLSAgICAzMTM0MSwgMzEzNDcsIDMxMzUzLCAzMTM1NywgMzEzNjIsIDMxMzY3LCAzMTM3MiwgMzEzNzcsIDMxMzgxLCAzMTM4NiwgCi0gICAgMzEzOTEsIDMxMzk2LCAzMTQwMiwgMzE0MDgsIDMxNDE0LCAzMTQyMCwgMzE0MjUsIDMxNDI5LCAzMTQzMiwgMzE0MzgsIAotICAgIDMxNDQ0LCAzMTQ1MywgMzE0NjEsIDMxNDY4LCAzMTQ3MywgMzE0NzcsIDMxNDgxLCAzMTQ4NiwgMTUxMzMsIDMxNDkxLCAKLSAgICAzMTQ5OSwgMzE1MDUsIDM2ODMsIDEzNzcsIDMxNTEwLCAzMTUxNCwgODAwNSwgMzE1MjAsIDMxNTI2LCAzMTUzMywgODAxNCwgCi0gICAgMzE1MzcsIDMxNTQzLCAzMTU1MCwgMzE1NTYsIDMxNTY1LCAzMTU3MywgMzE1ODUsIDMxNTg5LCAzMTU5NiwgMzE2MDIsIAotICAgIDMxNjA2LCAzMTYwOSwgMzE2MTgsIDMxNjI2LCAzMTAxNSwgMzE2MzEsIDMxNjQxLCAzMTY1MSwgMzE2NjEsIDMxNjY3LCAKLSAgICAzMTY3MiwgMzE2ODIsIDMxNjg3LCAzMTcwMCwgMzE3MTQsIDMxNzI1LCAzMTczNywgMzE3NDksIDMxNzYzLCAzMTc3NiwgCi0gICAgMzE3ODgsIDMxODAwLCAxNDU4NywgMzE4MTQsIDMxODE5LCAzMTgyNCwgMzE4MjgsIDMxODMyLCAzMTgzNiwgMTc4MCwgCi0gICAgMjcxNTksIDMxODQwLCAzMTg0NSwgMzEwNjMsIDMxODUwLCAzMTg1MywgMzE4NTgsIDMxODYzLCAzMTg2OCwgMzE4NzQsIAotICAgIDMxODgwLCAxMDA5MSwgMzE4ODUsIDMxODkyLCAxNTY4NCwgMzE4OTgsIDMxOTAzLCAzMTkwOCwgMzE5MTIsIDMxOTE3LCAKLSAgICAzMTkyMiwgMzEwNjgsIDMxOTI3LCAzMTkzMiwgMzE5MzcsIDMxOTQzLCAzMTA3NCwgMzE5NDgsIDMxOTUxLCAzMTk1OCwgCi0gICAgMzE5NjYsIDMxOTcyLCAzMTk3OCwgMzE5ODQsIDMxOTk1LCAzMjAwMCwgMzIwMDcsIDMyMDE0LCAzMjAyMSwgMzIwMjksIAotICAgIDMyMDM4LCAzMjA0NywgMzIwNTMsIDMyMDU5LCAzMjA2NywgMzEwNzksIDMyMDcyLCAzMjA3OCwgMzIwODQsIDMxMDg1LCAKLSAgICAzMjA4OSwgMzIwOTQsIDMyMTAyLCAzMjExMCwgMzIxMTYsIDMyMTIzLCAzMjEyOSwgMzIxMzYsIDMyMTQzLCAzMjE0OSwgCi0gICAgMzIxNTcsIDMyMTY3LCAzMjE3NCwgMzIxNzksIDMyMTg1LCAzMjE5MCwgMzIxOTUsIDMyMjAyLCAzMjIxMSwgMzIyMTksIAotICAgIDMyMjI0LCAzMjIzMCwgMzIyMzcsIDMyMjQ1LCAzMjI1MSwgMzIyNTYsIDMyMjYyLCAzMjI3MSwgMjc5MzYsIDMyMjc4LCAKLSAgICAzMjI4MiwgMzIyODcsIDMyMjk2LCAzMjMwMSwgMzIzMDYsIDMyMzExLCAxMjM5OCwgMzIzMTksIDMyMzI0LCAzMjMyOSwgCi0gICAgMzIzMzQsIDMyMzM4LCAzMjM0MywgMzIzNDgsIDMyMzU1LCAzMjM2MCwgMzIzNjUsIDMyMzcwLCAzMTA5MCwgMjEyMDMsIAotICAgIDMyMzc2LCAyNTE5LCAyNDQsIDMyMzc5LCAzMjM4MiwgMzIzODYsIDMyMzkwLCAzMjQwMCwgMzI0MDgsIDMyNDEyLCAzMjQxOSwgCi0gICAgMzI0MjYsIDMyNDMwLCAzMjQzMywgMzI0MzksIDMyNDQ3LCAzMjQ1NSwgMzI0NTksIDMyNDYzLCAzMjQ2NiwgMzI0NzMsIAotICAgIDMyNDc3LCAzMjQ4MSwgMzI0ODgsIDMyNDk2LCAzMTAyNiwgMzI1MDMsIDMyNTExLCAxMDE1MSwgNjYwLCAzMDgsIDMyNTIzLCAKLSAgICAzMjUyOCwgMzI1MzMsIDMyNTM5LCAzMjU0NCwgMzI1NDksIDM3MDQsIDMyNTU0LCAzMjU1NywgMzI1NjIsIDMyNTY3LCAKLSAgICAzMjU3MiwgMzI1NzcsIDMyNTgyLCAzMjU4OSwgMjI1MTIsIDMyNTk0LCAzMjU5OSwgMzI2MDQsIDMyNjA5LCAzMjYxNCwgCi0gICAgMzI2MjAsIDMyNjI1LCAzMjYzMSwgMzEyNjEsIDMyNjM3LCAzMjY0MiwgMzI2NDgsIDMyNjU0LCAzMjY2NCwgMzI2NjksIAotICAgIDMyNjc0LCAzMjY3OCwgMzI2ODMsIDMyNjg4LCAzMjY5MywgMzI2OTgsIDMyNzExLCAzMjcxNiwgMjIyODksIDE2NjkyLCAKLSAgICAzNzEwLCAzMjcyMCwgMzI3MjUsIDMyNzMwLCAzMjczNiwgMzI3NDEsIDMyNzQ2LCAzMjc1MCwgMzI3NTUsIDMyNzYwLCAKLSAgICAzMjc2NiwgMzI3NzEsIDMyNzc2LCAxMzgyLCAzMjc4MCwgMzI3ODUsIDMyNzkwLCAzMjc5NSwgMzI3OTksIDMyODA0LCAKLSAgICAzMjgwOSwgMzI4MTQsIDMyODIwLCAzMjgyNiwgMzI4MzEsIDMyODM1LCAzMjgzOSwgMzI4NDQsIDMyODQ5LCAzMjg1NCwgCi0gICAgMzI4NTgsIDMyODY2LCAzMjg3MCwgMzI4NzYsIDMyODgwLCAzMjg4NywgMTY0ODUsIDMxMDM3LCAzMjg5MywgMzI5MDAsIAotICAgIDMyOTA4LCAzMjkxNSwgMzI5MjEsIDMyOTM0LCAzMjk0NiwgMzI5NTIsIDMyOTU2LCAyNzczLCAzMjk2MCwgMzI5NjQsIAotICAgIDMyNDY4LCAzMjk3MywgMzI5ODQsIDMyOTg5LCAzMjk5NCwgMzI5OTksIDMzMDAzLCAzMzAwOCwgMjI0MjIsIDMzMDEyLCAKLSAgICAzMzAxNiwgMzMwMjEsIDMxMDQzLCAyMTI4NywgMzMwMjUsIDMzMDMwLCAzMzAzNiwgMzMwNDEsIDMzMDQ1LCAzMzA0OSwgCi0gICAgMzMwNTIsIDMzMDU2LCAzMzA2MiwgMzMwNzMsIDMzMDg1LCAzMTA0OSwgMzMwOTAsIDMzMDkzLCAzMzA5NywgMzQ3LCAKLSAgICAzMzEwMiwgMzMxMDcsIDMzMTEyLCAzMzExNywgMzMxMjIsIDMzMTI3LCAzMzEzMywgMzMxMzgsIDMzMTQzLCAzMzE0OSwgCi0gICAgMzMxNTQsIDMzMTYwLCAzMzE2NSwgMzMxNzEsIDMzMTc2LCAzMzE4MSwgMzMxODYsIDMzMTkxLCAzMzE5NiwgMzMyMDEsIAotICAgIDMzMjA2LCAzMzIxMSwgMzMyMTcsIDMzMjIyLCAzMzIyNywgMzMyMzIsIDMzMjM3LCAzMzI0MiwgMzMyNDcsIDMzMjUyLCAKLSAgICAzMzI1OCwgMzMyNjQsIDMzMjY5LCAzMzI3NCwgMzMyNzksIDMzMjg0LCAzMzI4OSwgMzMyOTQsIDMzMjk5LCAzMzMwNCwgCi0gICAgMzMzMDksIDMzMzE0LCAzMzMxOSwgMzMzMjQsIDMzMzI5LCAzMzMzNCwgMzMzMzksIDMzMzQ0LCAzMzM0OSwgMzMzNTQsIAotICAgIDMzMzYwLCAzMTMsIDI2LCAzMzM2NSwgMzMzNjksIDMzMzczLCAzMzM4MSwgMzMzODUsIDMzMzg5LCAzMzM5MiwgMzMzOTUsIAotICAgIDMzMzk3LCAzMzQwMiwgMzM0MDYsIDMzNDExLCAzMzQxNSwgMzM0MjAsIDMzNDI0LCAzMzQyOSwgMzM0MzMsIDMzNDM2LCAKLSAgICAzMzQzOCwgMzM0NDIsIDMzNDQ3LCAzMzQ1MSwgMzM0NjIsIDMzNDY1LCAzMzQ2NywgMzM0NzEsIDMzNDgzLCAzMzQ5MiwgCi0gICAgMzM0OTYsIDMzNTAwLCAzMzUwNiwgMzM1MTEsIDMzNTIwLCAzMzUyNiwgMzM1MzEsIDMzNTM2LCAzMzU0MCwgMzM1NDUsIAotICAgIDMzNTUyLCAzMzU1NywgMzM1NjMsIDMzNTY4LCAzMzU3MiwgMzM1NzksIDI1NzAxLCAyNTcxMSwgMzM1ODMsIDMzNTg4LCAKLSAgICAzMzU5MywgMzM1OTgsIDMzNjA1LCAzMzYwOSwgMzM2MTYsIDgxMTMsIDMzNjIyLCAzMzYzMSwgMzM2MzksIDMzNjU0LCAKLSAgICAzMzY2OCwgMzM2NzYsIDMzNjg3LCAzMzY5NiwgMzM3MDEsIDcyMjcsIDMzNzExLCAzMzcxNiwgMzM3MjEsIDMzNzI1LCAKLSAgICAzMzcyOCwgMzM3MzIsIDMzNzM3LCAzMzc0MSwgMzM3NDgsIDMzNzUzLCAzMzc1OCwgODkxMiwgMzM3NjgsIDMzNzcwLCAKLSAgICAzMzc3MywgMzM3NzcsIDMzNzgzLCAzMzc4NywgMzM3OTIsIDMzNzk3LCAzMzgwMywgMzM4MDgsIDMzODE0LCAzMzgxOSwgCi0gICAgMzM4MjksIDMzODM4LCAzMzg0NiwgMzM4NTEsIDMzODU3LCAzMzg2MiwgMzM4NjksIDMzODczLCAzMzg4MSwgMzM4ODgsIAotICAgIDMzOTAxLCAzMzkwOSwgMzM5MTMsIDMzOTIzLCAzMzkyOCwgMzM5MzIsIDMzOTQwLCAzMzk0OCwgMzM5NTIsIDMzOTYxLCAKLSAgICAzMzk2NywgMzM5NzIsIDMzOTgwLCAzMzk5MCwgMzM5OTksIDM0MDA4LCAzNDAxNywgMzQwMjgsIDM0MDM2LCAzNDA0NywgCi0gICAgMzQwNTYsIDM0MDYzLCAzNDA2OSwgMzQwNzQsIDM0MDg1LCAzNDA5MCwgMzQwOTQsIDM0MDk3LCAzNDEwMSwgMzQxMDksIAotICAgIDM0MTE1LCAzNDEyMywgMzQxMzAsIDM0MTM2LCAzNDE0MSwgMzQxNDcsIDI0MTgsIDM0MTUxLCAzNDE1MywgMzQxNTgsIAotICAgIDM0MTYzLCAzNDE2OCwgMzQxNzEsIDM0MTczLCAzNDE3NywgMzQxODAsIDM0MTg3LCAzNDE5MSwgOTg4NCwgMzQxOTUsIAotICAgIDM0MjAxLCAzNDIxMSwgMzQyMTYsIDM0MjIyLCAzNDIyNiwgMzQyMzEsIDM0MjQ0LCAyNjA4NywgMzQyNTAsIDM0MjU5LCAKLSAgICAxNzQ2MiwgMzQyNjYsIDM0Mjc1LCAzMTY0NywgMzQyODMsIDM0Mjg4LCAzNDI5MiwgMzQzMDAsIDM0MzA3LCAzNDMxMiwgCi0gICAgMzQzMTYsIDM0MzIxLCAzNDMyNSwgMzQzMzMsIDM0MzM5LCAzNDM0NSwgMzQzNTAsIDM0MzU0LCAzNDM1NywgMzQzNjIsIAotICAgIDM0Mzc1LCAzNDM5MSwgMjI5NzksIDM0NDA4LCAzNDQyMCwgMzQ0MzcsIDM0NDQ5LCAzNDQ2MywgMjI5OTYsIDIzMDE1LCAKLSAgICAzNDQ3NSwgMzQ0ODcsIDI2ODAsIDM0NTAxLCAzNDUwNiwgMzQ1MTEsIDM0NTE2LCAzNDUyMCwgMzQ1MjcsIDM0NTM5LCAKLSAgICAzNDU0NSwgMzQ1NDgsIDM0NTU5LCAzNDU3MCwgMzQ1NzUsIDMyMDY0LCA2OTUsIDM0NTc5LCAzNDU4MywgMzQ1ODcsIAotICAgIDM0NTkwLCAzNDU5NSwgMzQ2MDAsIDM0NjA2LCAzNDYxMSwgMzQ2MTYsIDM0NjIyLCAzNDYyOCwgMzQ2MzMsIDM0NjM3LCAKLSAgICAzNDY0MiwgMzQ2NDcsIDM0NjUyLCAzNDY1NiwgMzQ2NTksIDM0NjY1LCAzNDY3MCwgMzQ2NzUsIDM0NjgwLCAzNDY4NCwgCi0gICAgMzQ2ODksIDM0Njk1LCAzNDcwMywgMjYzMjAsIDM0NzA4LCAzNDcxMywgMzQ3MjAsIDM0NzI2LCAzNDczMiwgMzQ3MzcsIAotICAgIDM0NzQ1LCAyMjUyMSwgMzQ3NTIsIDM0NzU3LCAzNDc2MiwgMzQ3NjcsIDM0NzcxLCAzNDc3NCwgMzQ3NzksIDM0NzgzLCAKLSAgICAzNDc4NywgMzQ3OTQsIDM0ODAwLCAzNDgwNiwgMzQ4MTIsIDM0ODE5LCAzNDgyNCwgMzQ4MzAsIDMzOTQzLCAzNDgzNCwgCi0gICAgMzQ4MzgsIDM0ODQzLCAzNDg1NiwgMzQ4NjEsIDM0ODY3LCAzNDg3NSwgMzQ4ODIsIDM0ODkwLCAzNDkwMCwgMzQ5MDYsIAotICAgIDM0OTEyLCAzNDkxOCwgMzQ5MjIsIDM0OTMxLCAzNDkzOSwgMzQ5NDYsIDM0OTUxLCAzNDk1NiwgMTA0MzcsIDM0OTYxLCAKLSAgICAzNDk2OSwgMzQ5NzYsIDM0OTgyLCAzNDk5MiwgMzQ5OTcsIDM1MDAzLCAzNTAxMSwgMzYwOCwgMzUwMTgsIDM1MDI1LCAKLSAgICAzNjE0LCAzNTAyOSwgMzUwMzQsIDM1MDQ1LCAzNTA1MiwgMzUwNTgsIDM1MDY3LCAzNTA3MSwgNDAxNSwgMzUwNzQsIAotICAgIDM1MDgxLCAzNTA4NywgMzUwOTMsIDM1MTAxLCAzNTExMSwgMjkwNDIsIDM1MTE4LCAzNTEyNiwgMzUxMzEsIDM1MTM3LCAKLSAgICAzNTE0MiwgMjU5NDcsIDM1MTQ4LCAzNTE1NSwgMzUxNjEsIDM1MTcwLCAyMzY2MCwgMzUxNzcsIDM1MTgyLCAzNTE4NiwgCi0gICAgMzUxOTQsIDM1MjAyLCA5NjAwLCA1ODk1LCAzNTIwOSwgMzUyMTMsIDM1MjE1LCAzNTIxOSwgMzUyMjQsIDM1MjI2LCAKLSAgICAzNTIzMiwgMzUyMzcsIDM1MjQyLCAzNTI0OSwgMzI1ODUsIDM1MjU1LCAzNTI2MCwgMzUyNjQsIDM1MjY5LCAzNTI3MywgCi0gICAgMzUyODIsIDM1Mjg2LCAzNTI5MiwgMzUyOTksIDM1MzA1LCAzNTMxMiwgMzUzMTcsIDM1MzI2LCAzNTMzMSwgMzUzMzUsIAotICAgIDM1MzQwLCAzNTM0NywgMzUzNTUsIDM1MzYzLCAzNTM2OCwgMjEzNDMsIDM1MzcyLCAzNTM3NSwgMzUzNzksIDM1MzgzLCAKLSAgICAzNTM4NywgMzUzOTAsIDM1MzkyLCAzNTQwMCwgMzU0MDQsIDM1NDExLCAzNTQxNSwgMzU0MTksIDM1NDI3LCAzNTQzNCwgCi0gICAgMzU0NDQsIDM1NDQ4LCAzNTQ1MiwgMzU0NjAsIDM1NDY4LCAzNTQ3NCwgMzU0NzksIDM1NDg4LCAxMzM1MCwgMzU0OTQsIAotICAgIDM1NTAzLCAzNTUwOCwgMzU1MTUsIDM1NTIzLCAzNTUzMSwgMzU1MzksIDM1NTQ2LCAzNTU1MywgMzU1NjAsIDM1NTY3LCAKLSAgICAzNTU3NCwgMzU1NzksIDM1NTg1LCAzNTYwMiwgMzU2MTAsIDM1NjIwLCAzNTYyOCwgMzU2MzUsIDQwNywgMzU2MzksIAotICAgIDM1NjQ1LCAzNTY0OSwgMzU2NTQsIDMzNjkyLCAzNTY2MCwgMzU2NjMsIDM1NjY3LCAzNTY3NSwgMzYxOSwgMzU2ODMsIAotICAgIDM1Njg5LCAzNTY5NSwgMzU3MDQsIDM1NzE0LCAzNTcyMSwgMzU3MjcsIDM2MjUsIDM2MzEsIDM1NzM2LCAzNTc0MywgCi0gICAgMzU3NTEsIDM1NzU2LCAzNTc2MCwgMzU3NjcsIDM1Nzc1LCAzNTc4MiwgMzU3ODgsIDM1Nzk3LCAzNTgwNywgMzU4MTMsIAotICAgIDM1ODIxLCAzNTgzMCwgMzU4MzcsIDM1ODQ1LCAzNTg1MiwgMjIwMTksIDM1ODU2LCAzNTg2MywgMzU4NjksIDM1ODc5LCAKLSAgICAzNTg4OCwgMzU4OTksIDM1OTAzLCAzNTkxMywgMzU5MTksIDM1OTI2LCAzNTkzNCwgMzU5NDMsIDM1OTUyLCAzNTk2MiwgCi0gICAgMzU5NzMsIDM1OTgwLCAzNTk4NSwgMzU5OTIsIDMwMjksIDM2MDAwLCAzNjAwNiwgMzYwMTEsIDM2MDE3LCAzNjAyMywgCi0gICAgMzYwMjgsIDM2MDQxLCAzNjA1NCwgMzYwNjcsIDM2MDc0LCAzNjA4MCwgMzYwODgsIDM2MDk2LCAzNjEwMSwgMzYxMDUsIAotICAgIDE0NjksIDM2MTA5LCAzNjExNCwgMzYxMTksIDM2MTI0LCAzNjEyOSwgMzYxMzUsIDM2MTQwLCAzNjE0NSwgMzYxNTAsIAotICAgIDM2MTU1LCAzNjE2MCwgMzYxNjUsIDM2MTcwLCAzNjE3NiwgMzYxODIsIDM2MTg3LCAzNjE5MiwgMzYxOTgsIDM2MjAzLCAKLSAgICAzNjIwOCwgMzYyMTMsIDM2MjE5LCAzNjIyNCwgMzYyMjksIDM2MjM0LCAzNjIzOSwgMzYyNDUsIDM2MjUwLCAzNjI1NSwgCi0gICAgMzYyNjEsIDM2MjY2LCAzNjI3MSwgMzYyNzYsIDM2MjgxLCAzNjI4NiwgMzYyOTIsIDM2Mjk3LCAzNjMwMywgMzYzMDgsIAotICAgIDM2MzE0LCAzNjMxOSwgMzYzMjQsIDM2MzI5LCAzNjMzNSwgMzYzNDEsIDM2MzQ3LCAzNjM1MywgMzYzNTksIDM2MzY1LCAKLSAgICAzNjM3MSwgMzYzNzcsIDM2MzgyLCAzNjM4NywgMzYzOTMsIDM2Mzk4LCAzNjQwMywgMzY0MDgsIDM2NDEzLCAzNjQxOCwgCi0gICAgMzY0MjMsIDM2NDI4LCAzNjQzNCwgMzY0MzksIDM2NDQ0LCAzNjQ1MCwgMzY0NTYsIDEwMSwgMzY0NjEsIDM2NDYzLCAKLSAgICAzNjQ2NywgMzY0NzEsIDM2NDc1LCAzNjQ4MCwgMzY0ODQsIDk1MjEsIDM2NDg4LCAzNjQ5NCwgMTc0MSwgNjI4MCwgMzY1MDAsIAotICAgIDM2NTAzLCAzNjUwOCwgMzY1MTIsIDM2NTE3LCAzNjUyMSwgMzY1MjUsIDM2NTMwLCAxMDIzOCwgMzY1MzQsIDM2NTM4LCAKLSAgICAzNjU0MiwgMzY1NDYsIDE1MzcyLCAzNjU1MSwgMzY1NTUsIDM2NTYwLCAzNjU2NSwgMzY1NzAsIDM2NTc0LCAzNjU4MSwgCi0gICAgMjYxMTEsIDM2NTg3LCAzNjU5MCwgMzY1OTQsIDM2NTk5LCAzNjYwNSwgMzY2MDksIDM2NjE3LCAzNjYyMywgMzY2MjgsIAotICAgIDM2NjMyLCAzNjYzOCwgMzY2NDIsIDM2NjQ2LCAzNDYyLCAzNDY3LCAyOTIzNCwgMzY2NDksIDM2NjUzLCAzNjY1NywgCi0gICAgMzY2NjEsIDM2NjY5LCAzNjY3NiwgMzY2ODAsIDM2Njg3LCAzNjY5MiwgMzE3LCAzNjY5NywgMzY3MDEsIDM2NzA3LCAKLSAgICAzNjcxOSwgMzY3MjUsIDM2NzMxLCAzNjczNSwgMzY3NDEsIDM2NzUwLCAzNjc1NCwgMzY3NTgsIDM2NzYzLCAzNjc2OSwgCi0gICAgMzY3NzQsIDM2Nzc4LCAzNjc4MywgMzY3ODcsIDM2NzkxLCAzNjc5OCwgMzY4MDQsIDM2ODA5LCAzNjgyNCwgMzY4MzksIAotICAgIDM2ODU0LCAzNjg3MCwgMzY4ODgsIDEwMTg4LCAzNjkwMiwgMzY5MDksIDM2OTEzLCAzNjkxNiwgMzY5MjUsIDM2OTMwLCAKLSAgICAzNjkzNCwgMzY5NDIsIDMzODk0LCAzNjk1MCwgMzY5NTQsIDM2OTY0LCAzNjk3NSwgMjkyMDQsIDM2OTg4LCAzNjk5MiwgCi0gICAgMzcwMDEsIDM3MDA5LCA5Nzc4LCAxNDkwMCwgMzcwMTMsIDIyNDM0LCAzNzAxNiwgMzAxNTIsIDM3MDIxLCA5Nzc3LCAKLSAgICAzNzAyNiwgMzcwMzIsIDM3MDM3LCAzNzA0MywgMzcwNDgsIDM3MDU0LCAzNzA1OSwgMzcwNjUsIDM3MDcwLCAzNzA3NiwgCi0gICAgMzcwODIsIDM3MDg4LCAzNzA5MywgMzcwNDksIDM3MDU1LCAzNzA2MCwgMzcwNjYsIDM3MDcxLCAzNzA3NywgMzcwODMsIAotICAgIDgxMjYsIDM4NzQsIDM3MDk3LCAzNzEwNSwgMzcxMDksIDM3MTEyLCAzNzExNiwgMzcxMjEsIDM3MTI2LCAzNzEzMiwgCi0gICAgMzcxMzgsIDM3MTQzLCAzNzE0NywgMjU5NTksIDM3MTUxLCAzNzE1NSwgMzcxNjEsIDM3MTY1LCA5MDQyLCAzNzE3NCwgCi0gICAgMzcxODEsIDM3MTg1LCAxMTg2OCwgMzcxOTIsIDM3MTk4LCAzNzIwMywgMzcyMTAsIDM3MjE3LCAzNzIyNCwgMjg1NTAsIAotICAgIDgwNDksIDM3MjMxLCAzNzIzOCwgMzcyNDUsIDM3MjUxLCAzNzI1NiwgMzcyNjMsIDM3Mjc0LCAzNzI4MCwgMzcyODUsIAotICAgIDM3MjkwLCAzNzI5NSwgMzczMDIsIDM3MDUwLCAzNzMwNiwgMzczMTYsIDM3MzI3LCAzNzMzMywgMzczMzgsIDM3MzQzLCAKLSAgICAzNzM0OCwgMzczNTMsIDM3MzU4LCAzNzM2MiwgMzczNjYsIDM3MzcyLCAzNzM4MCwgMjMxOSwgODY1LCAxMDI1NCwgMTAyNjYsIAotICAgIDEwMjcxLCAxMDI3NywgMzczODksIDEwMjgyLCAxMDI4NywgMTAyOTMsIDM3Mzk0LCAzNzQwNCwgMzc0MDgsIDEwMjk4LCAKLSAgICAzNzQxMywgMTY4OTAsIDM3NDE2LCAzNzQyMSwgMzc0MjUsIDM3NDMwLCAzNzQzNSwgMzc0NDIsIDM3NDQ5LCAzNzQ1MywgCi0gICAgMzc0NTYsIDM3NDY0LCAxMDIwMSwgMzc0NzEsIDM3NDc0LCAzNzQ4MCwgMzc0OTAsIDU5MjksIDM3NDk5LCAzNzUwMywgCi0gICAgMzc1MTEsIDM3NTE1LCAzNzUyNSwgMzc1MzEsIDM3NTQyLCAzNzU0OCwgMzc1NTQsIDM3NTU5LCAzNzU2NSwgMzc1NzEsIAotICAgIDM3NTc3LCAzNzU4MiwgMzc1ODUsIDM3NTkyLCAzNzU5OCwgMzc2MDMsIDM3NjEwLCAzNzYxNywgMzc2MjEsIDM3NjMxLCAKLSAgICAzNzY0NCwgMzc2NTMsIDM3NjYyLCAzNzY3MywgMzc2ODYsIDM3Njk3LCAzNzcwNiwgMzc3MTcsIDM3NzIyLCAzNzczMSwgCi0gICAgMzc3MzYsIDEwMzAzLCAzNzc0MiwgMzc3NDksIDM3NzU3LCAzNzc2MiwgMzc3NjYsIDM3NzczLCAzNzc4MCwgMzgyOSwgMTYsIAotICAgIDM3Nzg0LCAzNzc4OSwgMTY3NDQsIDM3NzkzLCAzNzc5NiwgMzc3OTksIDI4MDU2LCAzNzgwMywgMjg1NTksIDM3ODExLCAKLSAgICAzNzgxNSwgMzc4MTksIDM3ODIyLCAzNzgyOCwgMzcwNzIsIDM3ODM0LCAzNzg0MiwgMzc4NDgsIDM3ODU1LCAyODAzOSwgCi0gICAgMzc4NTksIDI4MjMzLCAzNzg2MywgMzc4NzIsIDM3ODc4LCAzNzg4NCwgMzc4ODksIDM3ODkzLCAzNzg5OSwgMzc5MDMsIAotICAgIDM3OTExLCAzNzkxOSwgMjYxNzcsIDM3OTI1LCAzNzkzMiwgMzc5MzgsIDM3OTQzLCAzNzk0OCwgMzc5NTIsIDM3OTU4LCAKLSAgICAzNzk2MywgMzc5NjksIDQwNTYsIDc5MSwgMzc5NzYsIDM3OTgwLCAzNzk4MywgMTUyNjIsIDM3OTk1LCAzNTgyNiwgMzgwMDYsIAotICAgIDM4MDA5LCAzODAxNiwgMzgwMjAsIDM4MDI2LCAzODAzMCwgMzgwMzYsIDM4MDQxLCAzODA0NywgMzgwNTIsIDM4MDU3LCAKLSAgICAzODA2MSwgMzgwNjUsIDM4MDcwLCAzODA3NSwgMzgwODUsIDM4MDkxLCAzODEwNCwgMzgxMTAsIDM4MTE2LCAzODEyMywgCi0gICAgMzgxMjgsIDM4MTM0LCAzODEzOSwgMTY2MzAsIDE0NzIsIDEwMTksIDMxMTkzLCAzMTE5OSwgMzgxNDQsIDMxMjA1LCAKLSAgICAzMTIxOCwgMzEyMjQsIDMxMjMwLCAzODE1MCwgMzEyMzYsIDMxMjQyLCAzODE1NiwgMzgxNjIsIDIyLCAzODE3MCwgMzgxNzcsIAotICAgIDM4MTgxLCAzODE4NSwgMzgxOTMsIDMxOTUzLCAzODE5NywgMzgyMDEsIDM4MjA4LCAzODIxMywgMzgyMTcsIDM4MjIyLCAKLSAgICAzODIyOCwgMzgyMzMsIDM4MjM5LCAzODI0NCwgMzgyNDgsIDM4MjUyLCAzODI1NiwgMzgyNjEsIDM4MjY1LCAzODI3MCwgCi0gICAgMzgyNzQsIDM4MjgxLCAzODI4NiwgMzgyOTAsIDM4Mjk1LCAzODI5OSwgMzgzMDQsIDM4MzA4LCAzODMxMywgMzgzMTksIAotICAgIDE1NDgyLCAxNTQ4NywgMzgzMjQsIDM4MzI4LCAzODMzMSwgMzgzMzUsIDIxMTcwLCAzODM0MCwgMzgzNDQsIDM4MzUwLCAKLSAgICAzODM1NywgMzgzNjIsIDM4MzcyLCAzODM3NywgMzgzODUsIDM4Mzg5LCAzODM5MiwgMzE5NjgsIDM4Mzk2LCA0MTA5LCAKLSAgICAzODQwMSwgMzg0MDYsIDM4NDEwLCAzODQxNSwgMzg0MTksIDM4NDI0LCAxMzM2OCwgMzg0MzUsIDM4NDM5LCAzODQ0MiwgCi0gICAgMzg0NDcsIDM4NDUxLCAzODQ1NSwgMzg0NTgsIDM4NDYyLCA4MTQ1LCAxMzM4NCwgMzg0NjUsIDM4NDY4LCAzODQ3NCwgCi0gICAgMzg0NzksIDM4NDg1LCAzODQ5MCwgMzg0OTYsIDM4NTAxLCAzODUwNywgMzg1MTIsIDM4NTE4LCAzODUyNCwgMzg1MzAsIAotICAgIDM4NTM1LCAzODUzOSwgMzg1NDMsIDM4NTUyLCAzODU2OCwgMzg1ODQsIDM4NTk0LCAyNzk0NiwgMzg2MDEsIDM4NjA1LCAKLSAgICAzODYxMCwgMzg2MTUsIDM4NjE5LCAzODYyMywgMzU5NDcsIDM4NjI5LCAzODYzNCwgMzg2MzgsIDM4NjQ1LCAzODY1MCwgCi0gICAgMzg2NTQsIDM4NjU4LCAyNjk3OSwgMzg2NjQsIDIxNDM4LCAzODY2OSwgMzg2NzYsIDM4Njg0LCAzODY5MCwgMzg2OTcsIAotICAgIDM4NzA1LCAzODcxMSwgMzg3MTUsIDM4NzIxLCAzODcyOSwgMzg3MzMsIDM4NzQyLCA5NTAyLCAzODc1MCwgMzg3NTQsIAotICAgIDM4NzYyLCAzODc2OSwgMzg3NzQsIDM4Nzc5LCAzODc4MywgMzg3ODYsIDM4NzkwLCAzODc5MywgMzg3OTcsIDM4ODA0LCAKLSAgICAzODgwOSwgMzg4MTUsIDI2Mzk4LCAzMTI1NiwgMzg4MTksIDM4ODI2LCAzODgzMiwgMzg4MzgsIDM4ODQzLCAzODg0NiwgCi0gICAgMzg4NDgsIDM4ODU1LCAzODg2MiwgMzg4NjgsIDM4ODcyLCAzODg3NSwgMzg4NzksIDM4ODgzLCAzODg4NywgMzg4OTIsIAotICAgIDM4ODk2LCAzODkwMCwgMzg5MDMsIDM4OTA3LCAzODkyMSwgMjMwNDUsIDM4OTQwLCAzODk1MywgMzg5NjYsIDM4OTc5LCAKLSAgICAyMzA2MywgMzg5OTQsIDEwNDkwLCAzOTAwOSwgMzkwMTUsIDM5MDE5LCAzOTAyMywgMzkwMzAsIDM5MDM1LCAzOTAzOSwgCi0gICAgMzkwNDYsIDM5MDUyLCAzOTA1NywgMzkwNjMsIDM5MDczLCAzOTA4NSwgMzkwOTYsIDM5MTAxLCAzOTEwOCwgMzkxMTIsIAotICAgIDM5MTE2LCAzOTExOSwgMTU4NzgsIDM2NzcsIDM5MTI3LCAxNTUwOSwgMzkxNDAsIDM5MTQ3LCAzOTE1MSwgMzkxNTUsIAotICAgIDM5MTYwLCAzOTE2NSwgMzkxNzEsIDM5MTc1LCAzOTE3OSwgMzkxODIsIDc3NDIsIDE1NTIwLCAzOTE4NywgMzkxOTEsIAotICAgIDM5MTk3LCAzOTIwNiwgMzkyMTEsIDM5MjE4LCAzNTgwMywgMzkyMjQsIDM5MjI5LCAzOTIzMywgMzkyMzgsIDM5MjQ1LCAKLSAgICAzOTI0OSwgMzkyNTIsIDM5MjU2LCAzOTI2MSwgMTQ1NTIsIDM5MjY4LCAzOTI3NSwgMTA2NiwgMzkyNzksIDM5Mjg0LCAKLSAgICAzOTI4OSwgMzkyOTUsIDM5MzAwLCAzOTMwNSwgMzkzMDksIDM5MzE5LCAzOTMyNCwgMzkzMzAsIDM5MzM1LCAzOTM0MSwgCi0gICAgMzkzNDYsIDM5MzUyLCAzOTM2MiwgMzkzNjcsIDM5MzcyLCAzOTM3NiwgNzIyOSwgNzI0MSwgMzkzODEsIDM5Mzg0LCAKLSAgICAzOTM5MSwgMzkzOTcsIDM0MDU5LCAzNDA2NiwgMzk0MDYsIDM5NDEwLCAzMjAxNiwgMzk0MTgsIDM5NDI5LCAzOTQzNywgCi0gICAgMzU5OTUsIDM5NDQ0LCAzOTQ0OSwgMzk0NTQsIDM5NDY1LCAzOTQ3MiwgMzk0ODMsIDMyMDQwLCAyMTQ0NCwgMzk0OTEsIAotICAgIDczNSwgMzk0OTYsIDM5NTAyLCAyODAzMCwgMzk1MDgsIDM5NTEzLCAzOTUyMywgMzk1MzIsIDM5NTM5LCAzOTU0NSwgCi0gICAgMzk1NDksIDM5NTUyLCAzOTU1OSwgMzk1NjUsIDM5NTcyLCAzOTU3OCwgMzk1ODgsIDM5NTk2LCAzOTYwMiwgMzk2MDgsIAotICAgIDM5NjEzLCAzOTYxNywgMzk2MjQsIDM5NjMwLCAzOTYzNywgMzg4ODgsIDUzNSwgMTM4MDUsIDM5NjQzLCAzOTY0OCwgCi0gICAgMzk2NTEsIDM5NjU3LCAzOTY2NSwgMTM5NiwgMzk2NzAsIDM5Njc0LCAzOTY3OSwgMzk2ODYsIDM5NjkyLCAzOTY5NiwgCi0gICAgMzk3MDAsIDM5NzA1LCAzOTcxNCwgMzk3MjEsIDM5NzMxLCAzOTczNywgMjgwNzQsIDM5NzU0LCAzOTc2MywgMzk3NzEsIAotICAgIDM5Nzc3LCAzOTc4MiwgMzk3ODksIDM5Nzk1LCAzOTgwMywgMzk4MTIsIDM5ODIwLCAzOTgyNCwgMzk4MjksIDM5ODM3LCAKLSAgICAzMjA0OSwgMzk4NDMsIDM5ODYyLCAxNTgxMSwgMzk4NzYsIDM5ODkyLCAzOTkwNiwgMzk5MTIsIDM5OTE3LCAzOTkyMiwgCi0gICAgMzk5MjcsIDM5OTMzLCAzMjA1NSwgMzk5MzgsIDM5OTQ1LCAzOTk1MCwgMzk5NTQsIDM0NSwgMjkzNiwgMzk5NjEsIDM5OTY2LCAKLSAgICAzOTk3MSwgMjczMDUsIDM5NzkyLCAzOTk3NSwgMzk5ODAsIDM5OTg4LCAzOTk5MiwgMzk5OTUsIDQwMDAxLCA0MDAwNywgCi0gICAgNDAwMTEsIDI4MTI5LCA0MDAxNCwgNDAwMTksIDQwMDIzLCA0MDAyNiwgNDAwMzEsIDQwMDM1LCA0MDA0MCwgNDAwNDUsIAotICAgIDQwMDQ5LCA0MDA1NCwgNDAwNTgsIDQwMDYyLCAyMTE2NiwgMjExNzcsIDQwMDY2LCA0MDA3MSwgNDAwNzcsIDI2OTM2LCAKLSAgICA0MDA4MiwgNDAwODYsIDIxMjUzLCAxNjA1OSwgNDAwODksIDQwMDk0LCA0MDA5OSwgNDAxMDQsIDQwMTA5LCA0MDExNCwgCi0gICAgNDAxMTksIDQwMTI0LCA0NDcsIDQzLCAzMTI3NCwgMzEyNzksIDMxMjg0LCAzMTI5MCwgMzEyOTUsIDMxMzAwLCA0MDEyOSwgCi0gICAgMzEzMDQsIDQwMTMzLCA0MDEzNywgNDAxNDEsIDMxMzA5LCAzMTMxNSwgNDAxNTUsIDMxMzI2LCAzMTMzMSwgNDAxNjMsIAotICAgIDQwMTY4LCAzMTMzNywgNDAxNzMsIDQwMTc4LCA0MDE4MywgNDAxODgsIDQwMTk0LCA0MDIwMCwgNDAyMDYsIDMxMzU0LCAKLSAgICA0MDIxOSwgNDAyMjUsIDMxMzU4LCA0MDIyOSwgMzEzNjMsIDQwMjM0LCAzMTM2OCwgMzEzNzMsIDQwMjM3LCA0MDI0MiwgCi0gICAgNDAyNDYsIDMwOTIzLCA0MDI1MiwgMTM1OTIsIDQwMjU5LCA0MDI2NCwgMzEzNzgsIDQwMjY4LCA0MDI3MywgNDAyNzgsIAotICAgIDQwMjgzLCA0MDI4NywgNDAyOTIsIDQwMjk3LCA0MDMwMywgNDAzMDgsIDQwMzEzLCA0MDMxOSwgNDAzMjUsIDQwMzMwLCAKLSAgICA0MDMzNCwgNDAzMzksIDQwMzQ0LCA0MDM0OSwgNDAzNTMsIDQwMzU4LCA0MDM2MywgNDAzNjgsIDQwMzc0LCA0MDM4MCwgCi0gICAgNDAzODYsIDQwMzkxLCA0MDM5NSwgNDA0MDAsIDQwNDA0LCAzMTM4MiwgMzEzODcsIDMxMzkyLCA0MDQwOCwgNDA0MTIsIAotICAgIDQwNDE2LCAzMTM5NywgMzE0MDMsIDMxNDA5LCAzMTQyMSwgNDA0MjgsIDI1OTk2LCA0MDQzMiwgNDA0MzYsIDQwNDQxLCAKLSAgICA0MDQ0NiwgNDA0NTEsIDQwNDU2LCA0MDQ2MCwgNDA0NjQsIDQwNDc0LCA0MDQ3OSwgNDA0ODQsIDQwNDg4LCA0MDQ5MiwgCi0gICAgNDA0OTUsIDQwNTAzLCAzMTQ2OSwgNDA1MDgsIDE0NzksIDQwNTE0LCA0MDUyMiwgNDA1MzEsIDQwNTM1LCA0MDUzOSwgCi0gICAgNDA1NDcsIDQwNTUzLCA0MDU2MSwgNDA1NzcsIDQwNTgxLCA0MDU4NSwgNDA1OTAsIDQwNjA1LCAzMTUwNiwgMTc0OSwgCi0gICAgMTIwNDgsIDQwNjA5LCAxMzc4LCA0MDYyMSwgNDA2MjIsIDQwNjMwLCA0MDYzNywgNDA2NDIsIDQwNjQ5LCA0MDY1NCwgCi0gICAgOTM3MiwgMTExNCwgMTAzMjUsIDQwNjYxLCA0MDY2NiwgNDA2NjksIDQwNjcyLCA0MDY4MSwgMTI4NiwgNDA2ODYsIDM5MDM2LCAKLSAgICA0MDY5MywgNDA2OTgsIDIyNDg2LCAyNTU3LCA0MDcwMiwgMTA3MzQsIDQwNzEyLCA0MDcxOCwgMjMzNywgMjM0NywgNDA3MjcsIAotICAgIDQwNzM2LCA0MDc0NiwgNDA3NTcsIDMyOTMsIDM0MjEyLCAxMDM3NywgMzgwNywgMTY2NjgsIDEyOTEsIDQwNzYyLCA0MDc3MCwgCi0gICAgNDA3NzcsIDQwNzgyLCA0MDc4NiwgNDA3OTAsIDIzODU4LCAxMDQwNCwgNDA3OTgsIDQwODA3LCA0MDgxNiwgNDA4MjQsIAotICAgIDQwODMxLCA0MDg0MiwgNDA4NDcsIDQwODYwLCA0MDg3MywgNDA4ODUsIDQwODk3LCA0MDkwOSwgNDA5MjIsIDQwOTMzLCAKLSAgICA0MDk0NCwgNDA5NTQsIDQwOTYyLCA0MDk3MCwgNDA5ODIsIDQwOTk0LCA0MTAwNSwgNDEwMTQsIDQxMDIyLCA0MTAyOSwgCi0gICAgNDEwNDEsIDQxMDQ4LCA0MTA1NywgNDEwNjQsIDQxMDc3LCA0MTA4MiwgNDEwOTIsIDQxMDk3LCA0MTEwMywgNDExMDgsIAotICAgIDM3MTgyLCA0MTExMiwgNDExMTksIDQxMTIzLCA0MTEzMCwgNDExMzgsIDI1MTgsIDQxMTQ1LCA0MTE1NiwgNDExNjYsIAotICAgIDQxMTc1LCA0MTE4MywgNDExOTMsIDQxMjAxLCA0MTIxMSwgNDEyMjAsIDQxMjI1LCA0MTIzMSwgNDEyMzcsIDM3MDksIAotICAgIDQxMjQ4LCA0MTI1OCwgNDEyNjcsIDQxMjc2LCA0MTI4NiwgNDEyOTQsIDQxMzAzLCA0MTMwOCwgNDEzMTMsIDQxMzE4LCAKLSAgICAxNzA1LCAzNywgNDEzMjYsIDQxMzM0LCA0MTM0NSwgNDEzNTYsIDE2MzQzLCA0MTM2NiwgNDEzNzAsIDQxMzc3LCA0MTM4MywgCi0gICAgNDEzODgsIDQxMzkyLCA0MTQwMywgNDE0MTMsIDQxNDIyLCA0MTQzMywgMTY3MTcsIDE2NzIyLCA0MTQzOCwgNDE0NDcsIAotICAgIDQxNDUyLCA0MTQ2MiwgNDE0NjcsIDQxNDc1LCA0MTQ4MywgNDE0OTAsIDQxNDk2LCA3MDc4LCAyMjgsIDQxNTAwLCA0MTUwNiwgCi0gICAgNDE1MTEsIDQxNTE0LCAyMTE3LCAzOTE1MiwgNDE1MjIsIDQxNTI2LCA0MTUyOSwgMTUxMiwgNDE1MzUsIDEzOTY3LCAxMjk2LCAKLSAgICA0MTU0MCwgNDE1NTMsIDQxNTY3LCAyNjQzLCA0MTU4NSwgNDE1OTcsIDQxNjA5LCAyNjU3LCAyNjc0LCA0MTYyMywgNDE2MzYsIAotICAgIDI2ODksIDQxNjUwLCA0MTY2MiwgMjcwNCwgNDE2NzYsIDEzMDIsIDEzMDgsIDEzMTQsIDEwNjUyLCA0MTY4MSwgNDE2ODYsIAotICAgIDQxNjkxLCA0MTY5NSwgNDE3MTAsIDQxNzI1LCA0MTc0MCwgNDE3NTUsIDQxNzcwLCA0MTc4NSwgNDE4MDAsIDQxODE1LCAKLSAgICA0MTgzMCwgNDE4NDUsIDQxODYwLCA0MTg3NSwgNDE4OTAsIDQxOTA1LCA0MTkyMCwgNDE5MzUsIDQxOTUwLCA0MTk2NSwgCi0gICAgNDE5ODAsIDQxOTk1LCA0MjAxMCwgNDIwMjUsIDQyMDQwLCA0MjA1NSwgNDIwNzAsIDQyMDg1LCA0MjEwMCwgNDIxMTUsIAotICAgIDQyMTMwLCA0MjE0NSwgNDIxNjAsIDQyMTc1LCA0MjE5MCwgNDIyMDUsIDQyMjIwLCA0MjIzNSwgNDIyNTAsIDQyMjY1LCAKLSAgICA0MjI4MCwgNDIyOTUsIDQyMzEwLCA0MjMyNSwgNDIzNDAsIDQyMzU1LCA0MjM3MCwgNDIzODUsIDQyNDAwLCA0MjQxNSwgCi0gICAgNDI0MzAsIDQyNDQ1LCA0MjQ2MCwgNDI0NzUsIDQyNDkwLCA0MjUwNSwgNDI1MjAsIDQyNTM1LCA0MjU1MCwgNDI1NjUsIAotICAgIDQyNTgwLCA0MjU5NSwgNDI2MTAsIDQyNjI1LCA0MjY0MCwgNDI2NTUsIDQyNjcwLCA0MjY4NSwgNDI3MDAsIDQyNzE1LCAKLSAgICA0MjczMCwgNDI3NDUsIDQyNzYwLCA0Mjc3NSwgNDI3OTAsIDQyODA1LCA0MjgyMCwgNDI4MzUsIDQyODUwLCA0Mjg2NSwgCi0gICAgNDI4ODAsIDQyODk1LCA0MjkxMCwgNDI5MjUsIDQyOTQwLCA0Mjk1NSwgNDI5NzAsIDQyOTg1LCA0MzAwMCwgNDMwMTUsIAotICAgIDQzMDMwLCA0MzA0NSwgNDMwNjAsIDQzMDc1LCA0MzA5MCwgNDMxMDUsIDQzMTIwLCA0MzEzNSwgNDMxNTAsIDQzMTY1LCAKLSAgICA0MzE4MCwgNDMxOTUsIDQzMjEwLCA0MzIyNSwgNDMyNDAsIDQzMjU1LCA0MzI3MCwgNDMyODUsIDQzMzAwLCA0MzMxNSwgCi0gICAgNDMzMzAsIDQzMzQ1LCA0MzM2MCwgNDMzNzUsIDQzMzkwLCA0MzQwNSwgNDM0MjAsIDQzNDM1LCA0MzQ1MCwgNDM0NjUsIAotICAgIDQzNDgwLCA0MzQ5NSwgNDM1MTAsIDQzNTI1LCA0MzU0MCwgNDM1NTUsIDQzNTcwLCA0MzU4NSwgNDM2MDAsIDQzNjE1LCAKLSAgICA0MzYzMCwgNDM2NDUsIDQzNjYwLCA0MzY3NSwgNDM2OTAsIDQzNzA1LCA0MzcyMCwgNDM3MzUsIDQzNzUwLCA0Mzc2NSwgCi0gICAgNDM3ODAsIDQzNzk1LCA0MzgxMCwgNDM4MjUsIDQzODQwLCA0Mzg1NSwgNDM4NzAsIDQzODg1LCA0MzkwMCwgNDM5MTUsIAotICAgIDQzOTMwLCA0Mzk0NSwgNDM5NjAsIDQzOTc1LCA0Mzk5MCwgNDQwMDUsIDQ0MDIwLCA0NDAzNSwgNDQwNTAsIDQ0MDY1LCAKLSAgICA0NDA4MCwgNDQwOTUsIDQ0MTEwLCA0NDEyNSwgNDQxNDAsIDQ0MTU1LCA0NDE3MCwgNDQxODUsIDQ0MjAwLCA0NDIxNSwgCi0gICAgNDQyMzAsIDQ0MjQ1LCA0NDI2MCwgNDQyNzUsIDQ0MjkwLCA0NDMwNSwgNDQzMjAsIDQ0MzM1LCA0NDM1MCwgNDQzNjUsIAotICAgIDQ0MzgwLCA0NDM5NSwgNDQ0MTAsIDQ0NDI1LCA0NDQ0MCwgNDQ0NTUsIDQ0NDcwLCA0NDQ4NSwgNDQ1MDAsIDQ0NTE1LCAKLSAgICA0NDUzMCwgNDQ1NDUsIDQ0NTYwLCA0NDU3NSwgNDQ1OTAsIDQ0NjA1LCA0NDYyMCwgNDQ2MzUsIDQ0NjUwLCA0NDY2NSwgCi0gICAgNDQ2ODAsIDQ0Njk1LCA0NDcxMCwgNDQ3MjUsIDQ0NzQwLCA0NDc1NSwgNDQ3NzAsIDQ0Nzg1LCA0NDgwMCwgNDQ4MTUsIAotICAgIDQ0ODMwLCA0NDg0NSwgNDQ4NjAsIDQ0ODc1LCA0NDg5MCwgNDQ5MDUsIDQ0OTIwLCA0NDkzNSwgNDQ5NTAsIDQ0OTY1LCAKLSAgICA0NDk4MCwgNDQ5OTUsIDQ1MDEwLCA0NTAyNSwgNDUwNDAsIDQ1MDU1LCA0NTA3MCwgNDUwODUsIDQ1MTAwLCA0NTExNSwgCi0gICAgNDUxMzAsIDQ1MTQ1LCA0NTE2MCwgNDUxNzUsIDQ1MTkwLCA0NTIwNSwgNDUyMjAsIDQ1MjM1LCA0NTI1MCwgNDUyNjUsIAotICAgIDQ1MjgwLCA0NTI5NSwgNDUzMTAsIDQ1MzI1LCA0NTM0MCwgNDUzNTUsIDQ1MzcwLCA0NTM4NSwgNDU0MDAsIDQ1NDE1LCAKLSAgICA0NTQzMCwgNDU0NDUsIDQ1NDYwLCA0NTQ3NSwgNDU0OTAsIDQ1NTA1LCA0NTUyMCwgNDU1MzUsIDQ1NTUwLCA0NTU2NSwgCi0gICAgNDU1ODAsIDQ1NTk1LCA0NTYxMCwgNDU2MjUsIDQ1NjQwLCA0NTY1NSwgNDU2NzAsIDQ1Njg1LCA0NTcwMCwgNDU3MTUsIAotICAgIDQ1NzMwLCA0NTc0NSwgNDU3NjAsIDQ1Nzc1LCA0NTc5MCwgNDU4MDUsIDQ1ODIwLCA0NTgzNSwgNDU4NTAsIDQ1ODY1LCAKLSAgICA0NTg4MCwgNDU4OTUsIDQ1OTEwLCA0NTkyNSwgNDU5NDAsIDQ1OTU1LCA0NTk3MCwgNDU5ODUsIDQ2MDAwLCA0NjAxNSwgCi0gICAgNDYwMzAsIDQ2MDQ1LCA0NjA2MCwgNDYwNzUsIDQ2MDkwLCA0NjEwNSwgNDYxMjAsIDQ2MTM1LCA0NjE1MCwgNDYxNjUsIAotICAgIDQ2MTgwLCA0NjE5NSwgNDYyMTAsIDQ2MjI1LCA0NjI0MCwgNDYyNTUsIDQ2MjcwLCA0NjI4NSwgNDYzMDAsIDQ2MzE1LCAKLSAgICA0NjMzMCwgNDYzNDUsIDQ2MzYwLCA0NjM3NSwgNDYzOTAsIDQ2NDA1LCA0NjQyMCwgNDY0MzUsIDQ2NDUwLCA0NjQ2NSwgCi0gICAgNDY0ODAsIDQ2NDk1LCA0NjUxMCwgNDY1MjUsIDQ2NTQwLCA0NjU1NSwgNDY1NzAsIDQ2NTg1LCA0NjYwMCwgNDY2MTUsIAotICAgIDQ2NjMwLCA0NjY0NSwgNDY2NjAsIDQ2Njc1LCA0NjY5MCwgNDY3MDUsIDQ2NzIwLCA0NjczNSwgNDY3NTAsIDQ2NzY1LCAKLSAgICA0Njc4MCwgNDY3OTUsIDQ2ODEwLCA0NjgyNSwgNDY4NDAsIDQ2ODU1LCA0Njg3MCwgNDY4ODUsIDQ2OTAwLCA0NjkxNSwgCi0gICAgNDY5MzAsIDQ2OTQ1LCA0Njk2MCwgNDY5NzUsIDQ2OTkwLCA0NzAwNSwgNDcwMjAsIDQ3MDM1LCA0NzA1MCwgNDcwNjUsIAotICAgIDQ3MDgwLCA0NzA5NSwgNDcxMTAsIDQ3MTI1LCA0NzE0MCwgNDcxNTUsIDQ3MTcwLCA0NzE4NSwgNDcyMDAsIDQ3MjE1LCAKLSAgICA0NzIzMCwgNDcyNDUsIDQ3MjYwLCA0NzI3NSwgNDcyOTAsIDQ3MzA1LCA0NzMyMCwgNDczMzUsIDQ3MzUwLCA0NzM2NSwgCi0gICAgNDczODAsIDQ3Mzk1LCA0NzQxMCwgNDc0MjUsIDQ3NDQwLCA0NzQ1NSwgNDc0NzAsIDQ3NDg1LCA0NzUwMCwgNDc1MTUsIAotICAgIDQ3NTMwLCA0NzU0NSwgNDc1NjAsIDQ3NTc1LCA0NzU5MCwgNDc2MDUsIDQ3NjIwLCA0NzYzNSwgNDc2NTAsIDQ3NjY1LCAKLSAgICA0NzY4MCwgNDc2OTUsIDQ3NzEwLCA0NzcyNSwgNDc3NDAsIDQ3NzU1LCA0Nzc3MCwgNDc3ODUsIDQ3ODAwLCA0NzgxNSwgCi0gICAgNDc4MzAsIDQ3ODQ1LCA0Nzg2MCwgNDc4NzUsIDQ3ODkwLCA0NzkwNSwgNDc5MjAsIDQ3OTM1LCA0Nzk1MCwgNDc5NjUsIAotICAgIDQ3OTgwLCA0Nzk5NSwgNDgwMTAsIDQ4MDI1LCA0ODA0MCwgNDgwNTUsIDQ4MDcwLCA0ODA4NSwgNDgxMDAsIDQ4MTE1LCAKLSAgICA0ODEzMCwgNDgxNDUsIDQ4MTYwLCA0ODE3NSwgNDgxOTAsIDQ4MjA1LCA0ODIyMCwgNDgyMzUsIDQ4MjUwLCA0ODI2NSwgCi0gICAgNDgyODAsIDQ4Mjk1LCA0ODMxMCwgNDgzMjUsIDQ4MzQwLCA0ODM1NSwgNDgzNzAsIDQ4Mzg1LCA0ODQwMCwgNDg0MTUsIAotICAgIDQ4NDMwLCA0ODQ0NSwgNDg0NjAsIDQ4NDc1LCA0ODQ5MCwgNDg1MDUsIDQ4NTIwLCA0ODUzNSwgNDg1NTAsIDQ4NTY1LCAKLSAgICA0ODU4MCwgNDg1OTUsIDQ4NjEwLCA0ODYyNSwgNDg2NDAsIDQ4NjU1LCA0ODY3MCwgNDg2ODUsIDQ4NzAwLCA0ODcxNSwgCi0gICAgNDg3MzAsIDQ4NzQ1LCA0ODc2MCwgNDg3NzUsIDQ4NzkwLCA0ODgwNSwgNDg4MjAsIDQ4ODM1LCA0ODg1MCwgNDg4NjUsIAotICAgIDQ4ODgwLCA0ODg5NSwgNDg5MTAsIDQ4OTI1LCA0ODk0MCwgNDg5NTUsIDQ4OTcwLCA0ODk4NSwgNDkwMDAsIDQ5MDE1LCAKLSAgICA0OTAzMCwgNDkwNDUsIDQ5MDYwLCA0OTA3NSwgNDkwOTAsIDQ5MTA1LCA0OTEyMCwgNDkxMzUsIDQ5MTUwLCA0OTE2NSwgCi0gICAgNDkxODAsIDQ5MTk1LCA0OTIxMCwgNDkyMjUsIDQ5MjQwLCA0OTI1NSwgNDkyNzAsIDQ5Mjg1LCA0OTMwMCwgNDkzMTUsIAotICAgIDQ5MzMwLCA0OTM0NSwgNDkzNjAsIDQ5Mzc1LCA0OTM5MCwgNDk0MDUsIDQ5NDIwLCA0OTQzNSwgNDk0NTAsIDQ5NDY1LCAKLSAgICA0OTQ4MCwgNDk0OTUsIDQ5NTExLCA0OTUyNywgNDk1NDMsIDQ5NTU5LCA0OTU3NSwgNDk1OTEsIDQ5NjA3LCA0OTYyMywgCi0gICAgNDk2MzksIDQ5NjU1LCA0OTY3MSwgNDk2ODcsIDQ5NzAzLCA0OTcxOSwgNDk3MzUsIDQ5NzUxLCA0OTc2NywgNDk3ODMsIAotICAgIDQ5Nzk5LCA0OTgxNSwgNDk4MzEsIDQ5ODQ3LCA0OTg2MywgNDk4NzksIDQ5ODk1LCA0OTkxMSwgNDk5MjcsIDQ5OTQzLCAKLSAgICA0OTk1OSwgNDk5NzUsIDQ5OTkxLCA1MDAwNywgNTAwMjMsIDUwMDM5LCA1MDA1NSwgNTAwNzEsIDUwMDg3LCA1MDEwMywgCi0gICAgNTAxMTksIDUwMTM1LCA1MDE1MSwgNTAxNjcsIDUwMTgzLCA1MDE5OSwgNTAyMTUsIDUwMjMxLCA1MDI0NywgNTAyNjMsIAotICAgIDUwMjc5LCA1MDI5NSwgNTAzMTEsIDUwMzI3LCA1MDM0MywgNTAzNTksIDUwMzc1LCA1MDM5MSwgNTA0MDcsIDUwNDIzLCAKLSAgICA1MDQzOSwgNTA0NTUsIDUwNDcxLCA1MDQ4NywgNTA1MDMsIDUwNTE5LCA1MDUzNSwgNTA1NTEsIDUwNTY3LCA1MDU4MywgCi0gICAgNTA1OTksIDUwNjE1LCA1MDYzMSwgNTA2NDcsIDUwNjYzLCA1MDY3OSwgNTA2OTUsIDUwNzExLCA1MDcyNywgNTA3NDMsIAotICAgIDUwNzU5LCA1MDc3NSwgNTA3OTEsIDUwODA3LCA1MDgyMywgNTA4MzksIDUwODU1LCA1MDg3MSwgNTA4ODcsIDUwOTAzLCAKLSAgICA1MDkxOSwgNTA5MzUsIDUwOTUxLCA1MDk2NywgNTA5ODMsIDUwOTk5LCA1MTAxNSwgNTEwMzEsIDUxMDQ3LCA1MTA2MywgCi0gICAgNTEwNzksIDUxMDk1LCA1MTExMSwgNTExMjcsIDUxMTQzLCA1MTE1OSwgNTExNzUsIDUxMTkxLCA1MTIwNywgNTEyMjMsIAotICAgIDUxMjM5LCA1MTI1NSwgNTEyNzEsIDUxMjg3LCA1MTMwMywgNTEzMTksIDUxMzM1LCA1MTM1MSwgNTEzNjcsIDUxMzgzLCAKLSAgICA1MTM5OSwgNTE0MTUsIDUxNDMxLCA1MTQ0NywgNTE0NjMsIDUxNDc5LCA1MTQ5NSwgNTE1MTEsIDUxNTI3LCA1MTU0MywgCi0gICAgNTE1NTksIDUxNTc1LCA1MTU5MSwgNTE2MDcsIDUxNjIzLCA1MTYzOSwgNTE2NTUsIDUxNjcxLCA1MTY4NywgNTE3MDMsIAotICAgIDUxNzE5LCA1MTczNSwgNTE3NTEsIDUxNzY3LCA1MTc4MywgNTE3OTksIDUxODE1LCA1MTgzMSwgNTE4NDcsIDUxODYzLCAKLSAgICA1MTg3OSwgNTE4OTUsIDUxOTExLCA1MTkyNywgNTE5NDMsIDUxOTU5LCA1MTk3NSwgNTE5OTEsIDUyMDA3LCA1MjAyMywgCi0gICAgNTIwMzksIDUyMDU1LCA1MjA3MSwgNTIwODcsIDUyMTAzLCA1MjExOSwgNTIxMzUsIDUyMTUxLCA1MjE2NywgNTIxODMsIAotICAgIDUyMTk5LCA1MjIxNSwgNTIyMzEsIDUyMjQ3LCA1MjI2MywgNTIyNzksIDUyMjk1LCA1MjMxMSwgNTIzMjcsIDUyMzQzLCAKLSAgICA1MjM1OSwgNTIzNzUsIDUyMzkxLCA1MjQwNywgNTI0MjMsIDUyNDM5LCA1MjQ1NSwgNTI0NzEsIDUyNDg3LCA1MjUwMywgCi0gICAgNTI1MTksIDUyNTM1LCA1MjU1MSwgNTI1NjcsIDUyNTgzLCA1MjU5OSwgNTI2MTUsIDUyNjMxLCA1MjY0NywgNTI2NjMsIAotICAgIDUyNjc5LCA1MjY5NSwgNTI3MTEsIDUyNzI3LCA1Mjc0MywgNTI3NTksIDUyNzc1LCA1Mjc5MSwgNTI4MDcsIDUyODIzLCAKLSAgICA1MjgzOSwgNTI4NTUsIDUyODcxLCA1Mjg4NywgNTI5MDMsIDUyOTE5LCA1MjkzNSwgNTI5NTEsIDUyOTY3LCA1Mjk4MywgCi0gICAgNTI5OTksIDUzMDE1LCA1MzAzMSwgNTMwNDcsIDUzMDYzLCA1MzA3OSwgNTMwOTUsIDUzMTExLCA1MzEyNywgNTMxNDMsIAotICAgIDUzMTU5LCA1MzE3NSwgNTMxOTEsIDUzMjA3LCA1MzIyMywgNTMyMzksIDUzMjU1LCA1MzI3MSwgNTMyODcsIDUzMzAzLCAKLSAgICA1MzMxOSwgNTMzMzUsIDUzMzUxLCA1MzM2NywgNTMzODMsIDUzMzk5LCA1MzQxNSwgNTM0MzEsIDUzNDQ3LCA1MzQ2MywgCi0gICAgNTM0NzksIDUzNDk1LCA1MzUxMSwgNTM1MjcsIDUzNTQzLCA1MzU1OSwgNTM1NzUsIDUzNTkxLCA1MzYwNywgNTM2MjMsIAotICAgIDUzNjM5LCA1MzY1NSwgNTM2NzEsIDUzNjg3LCA1MzcwMywgNTM3MTksIDUzNzM1LCA1Mzc1MSwgNTM3NjcsIDUzNzgzLCAKLSAgICA1Mzc5OSwgNTM4MTUsIDUzODMxLCA1Mzg0NywgNTM4NjMsIDUzODc5LCA1Mzg5NSwgNTM5MTEsIDUzOTI3LCA1Mzk0MywgCi0gICAgNTM5NTksIDUzOTc1LCA1Mzk5MSwgNTQwMDcsIDU0MDIzLCA1NDAzOSwgNTQwNTUsIDU0MDcxLCA1NDA4NywgNTQxMDMsIAotICAgIDU0MTE5LCA1NDEzNSwgNTQxNTEsIDU0MTY3LCA1NDE4MywgNTQxOTksIDU0MjE1LCA1NDIzMSwgNTQyNDcsIDU0MjYzLCAKLSAgICA1NDI3OSwgNTQyOTUsIDU0MzExLCA1NDMyNywgNTQzNDMsIDU0MzU5LCA1NDM3NSwgNTQzOTEsIDU0NDA3LCA1NDQyMywgCi0gICAgNTQ0MzksIDU0NDU1LCA1NDQ3MSwgNTQ0ODcsIDU0NTAzLCA1NDUxOSwgNTQ1MzUsIDU0NTUxLCA1NDU2NywgNTQ1ODMsIAotICAgIDU0NTk5LCA1NDYxNSwgNTQ2MzEsIDU0NjQ3LCA1NDY2MywgNTQ2NzksIDU0Njk1LCA1NDcxMSwgNTQ3MjcsIDU0NzQzLCAKLSAgICA1NDc1OSwgNTQ3NzUsIDU0NzkxLCA1NDgwNywgNTQ4MjMsIDU0ODM5LCA1NDg1NSwgNTQ4NzEsIDU0ODg3LCA1NDkwMywgCi0gICAgNTQ5MTksIDU0OTM1LCA1NDk1MSwgNTQ5NjcsIDU0OTgzLCA1NDk5OSwgNTUwMTUsIDU1MDMxLCA1NTA0NywgNTUwNjMsIAotICAgIDU1MDc5LCA1NTA5NSwgNTUxMTEsIDU1MTI3LCA1NTE0MywgNTUxNTksIDU1MTc1LCA1NTE5MSwgNTUyMDcsIDU1MjIzLCAKLSAgICA1NTIzOSwgNTUyNTUsIDU1MjcxLCA1NTI4NywgNTUzMDMsIDU1MzE5LCA1NTMzNSwgNTUzNTEsIDU1MzY3LCA1NTM4MywgCi0gICAgNTUzOTksIDU1NDE1LCA1NTQzMSwgNTU0NDcsIDU1NDYzLCA1NTQ3OSwgNTU0OTUsIDU1NTExLCA1NTUyNywgNTU1NDMsIAotICAgIDU1NTU5LCA1NTU3NSwgNTU1OTEsIDU1NjA3LCA1NTYyMywgNTU2MzksIDU1NjU1LCA1NTY3MSwgNTU2ODcsIDU1NzAzLCAKLSAgICA1NTcxOSwgNTU3MzUsIDU1NzUxLCA1NTc2NywgNTU3ODMsIDU1Nzk5LCA1NTgxNSwgNTU4MzEsIDU1ODQ3LCA1NTg2MywgCi0gICAgNTU4NzksIDU1ODk1LCA1NTkxMSwgNTU5MjcsIDU1OTQzLCA1NTk1OSwgNTU5NzUsIDU1OTkxLCA1NjAwNywgNTYwMjMsIAotICAgIDU2MDM5LCA1NjA1NSwgNTYwNzEsIDU2MDg3LCA1NjEwMywgNTYxMTksIDU2MTM1LCA1NjE1MSwgNTYxNjcsIDU2MTgzLCAKLSAgICA1NjE5OSwgNTYyMTUsIDU2MjMxLCA1NjI0NywgNTYyNjMsIDU2Mjc5LCA1NjI5NSwgNTYzMTEsIDU2MzI3LCA1NjM0MywgCi0gICAgNTYzNTksIDU2Mzc1LCA1NjM5MSwgNTY0MDcsIDU2NDIzLCA1NjQzOSwgNTY0NTUsIDU2NDcxLCA1NjQ4NywgNTY1MDMsIAotICAgIDU2NTE5LCA1NjUzNSwgNTY1NTEsIDU2NTY3LCA1NjU4MywgNTY1OTksIDU2NjE1LCA1NjYzMSwgNTY2NDcsIDU2NjYzLCAKLSAgICA1NjY3OSwgNTY2OTUsIDU2NzExLCA1NjcyNywgNTY3NDMsIDU2NzU5LCA1Njc3NSwgNTY3OTEsIDU2ODA3LCA1NjgyMywgCi0gICAgNTY4MzksIDU2ODU1LCA1Njg3MSwgNTY4ODcsIDU2OTAzLCA1NjkxOSwgNTY5MzUsIDU2OTUxLCA1Njk2NywgNTY5ODMsIAotICAgIDU2OTk5LCA1NzAxNSwgNTcwMzEsIDU3MDQ3LCA1NzA2MywgNTcwNzksIDU3MDk1LCA1NzExMSwgNTcxMjcsIDU3MTQzLCAKLSAgICA1NzE1OSwgNTcxNzUsIDU3MTkxLCA1NzIwNywgNTcyMjMsIDU3MjM5LCA1NzI1NSwgNTcyNzEsIDU3Mjg3LCA1NzMwMywgCi0gICAgNTczMTksIDU3MzM1LCA1NzM1MSwgNTczNjcsIDU3MzgzLCA1NzM5OSwgNTc0MTUsIDU3NDMxLCA1NzQ0NywgNTc0NjMsIAotICAgIDU3NDc5LCA1NzQ5NSwgNTc1MTEsIDU3NTI3LCA1NzU0MywgNTc1NTksIDU3NTc1LCA1NzU5MSwgNTc2MDcsIDU3NjIzLCAKLSAgICA1NzYzOSwgNTc2NTUsIDU3NjcxLCA1NzY4NywgNTc3MDMsIDU3NzE5LCA1NzczNSwgNTc3NTEsIDU3NzY3LCA1Nzc4MywgCi0gICAgNTc3OTksIDU3ODE1LCA1NzgzMSwgNTc4NDcsIDU3ODYzLCA1Nzg3OSwgNTc4OTUsIDU3OTExLCA1NzkyNywgNTc5NDMsIAotICAgIDU3OTU5LCA1Nzk3NSwgNTc5OTEsIDU4MDA3LCA1ODAyMywgNTgwMzksIDU4MDU1LCA1ODA3MSwgNTgwODcsIDU4MTAzLCAKLSAgICA1ODExOSwgNTgxMzUsIDU4MTUxLCA1ODE2NywgNTgxODIsIDE2NzQ5LCA1ODE5MSwgNTgxOTcsIDU4MjAzLCA1ODIxMywgCi0gICAgNTgyMjEsIDE0ODgxLCAxNTQzMiwgOTk1MywgNTgyMzQsIDE1MjAsIDU4MjQyLCAzNzYxLCAyNzQxNSwgNzE4MywgNTgyNDgsIAotICAgIDU4MjUzLCA1ODI1OCwgNTgyNjMsIDU4MjY4LCA1ODI3NCwgNTgyNzksIDU4Mjg1LCA1ODI5MCwgNTgyOTYsIDU4MzAxLCAKLSAgICA1ODMwNiwgNTgzMTEsIDU4MzE2LCA1ODMyMiwgNTgzMjcsIDU4MzMyLCA1ODMzNywgNTgzNDIsIDU4MzQ3LCA1ODM1MiwgCi0gICAgNTgzNTcsIDU4MzYzLCA1ODM2OCwgNTgzNzQsIDU4MzgxLCAyNTYxLCA1ODM4NiwgNTgzOTIsIDg1MjYsIDU4Mzk2LCAKLSAgICA1ODQwMSwgNTg0MDgsIDU4NDE2LCA0MCwgNTg0MjAsIDU4NDI2LCA1ODQzMSwgNTg0MzYsIDU4NDQwLCA1ODQ0NSwgNTg0NDksIAotICAgIDU4NDUzLCAxMDY3NywgNTg0NTcsIDU4NDY3LCA1ODQ4MCwgNTg0OTEsIDU4NTA0LCA1ODUxMSwgNTg1MTcsIDU4NTIyLCAKLSAgICA1ODUyOCwgNTg1MzQsIDU4NTQwLCA1ODU0NSwgNTg1NTAsIDU4NTU1LCA1ODU2MCwgNTg1NjQsIDU4NTY5LCA1ODU3NCwgCi0gICAgNTg1NzksIDU4NTg1LCA1ODU5MSwgNTg1OTcsIDU4NjAyLCA1ODYwNiwgNTg2MTEsIDU4NjE2LCA1ODYyMCwgNTg2MjUsIAotICAgIDU4NjMwLCA1ODYzNSwgNTg2MzksIDEwNjkzLCAxMDcwNCwgMTA3MDksIDE1NjMsIDU4NjQzLCAxNTY4LCA1ODY0OSwgCi0gICAgMTYyMjYsIDU4NjUyLCA1ODY1OCwgMTU5OSwgNTg2NjQsIDE2MDUsIDE2MTEsIDEwNzM5LCA1ODY2OSwgNTg2NzcsIDU4Njg0LCAKLSAgICA1ODY4OCwgNTg2OTQsIDU4Njk5LCAzMDk1MiwgNTg3MDQsIDU4NzExLCA1ODcxNiwgNTg3MjAsIDU4NzI0LCAxNjE2LCAKLSAgICAxNjMxOCwgNTg3MzMsIDU4NzM3LCAxNjMyOSwgMTEyMCwgNTg3NDEsIDU4NzQ4LCA1ODc1MywgNTg3NTcsIDE2MzU0LCAKLSAgICAxNjIwLCAzNzMyMSwgNTg3NjAsIDU4NzY1LCA1ODc3NSwgNTg3ODQsIDU4Nzg5LCA1ODc5MywgNTg3OTksIDE2MjUsIAotICAgIDM5MjMwLCA1ODgwNCwgNTg4MTMsIDU4ODE5LCA1ODgyNCwgMTA4OTcsIDEwOTAzLCA1ODgzMCwgNTg4NDIsIDU4ODU5LCAKLSAgICA1ODg3NiwgNTg4OTMsIDU4OTEwLCA1ODkyNywgNTg5NDQsIDU4OTYxLCA1ODk3OCwgNTg5OTUsIDU5MDEyLCA1OTAyOSwgCi0gICAgNTkwNDYsIDU5MDYzLCA1OTA4MCwgNTkwOTcsIDU5MTE0LCA1OTEzMSwgNTkxNDgsIDU5MTY1LCA1OTE4MiwgNTkxOTksIAotICAgIDU5MjE2LCA1OTIzMywgNTkyNTAsIDU5MjY3LCA1OTI4NCwgNTkzMDEsIDU5MzE4LCA1OTMzNSwgNTkzNTIsIDU5MzY5LCAKLSAgICA1OTM4NiwgNTk0MDMsIDU5NDIwLCA1OTQzNywgNTk0NTQsIDU5NDcxLCA1OTQ4OCwgNTk1MDUsIDU5NTIyLCA1OTUzOSwgCi0gICAgNTk1NTYsIDU5NTczLCA1OTU5MCwgNTk2MDcsIDU5NjI0LCA1OTY0MSwgNTk2NTgsIDU5Njc1LCA1OTY4NiwgNTk2OTEsIAotICAgIDE2MzAsIDU5Njk1LCA1OTcwMSwgNTk3MDYsIDU5NzExLCA5MzE5LCAxNjM1LCA1OTcxNywgNTk3MjYsIDI3NzEwLCA1OTczMSwgCi0gICAgNTk3NDIsIDU5NzUyLCA1OTc1NywgNTk3NjQsIDU5NzcwLCA1OTc3NSwgNTk3ODAsIDE2NjA2LCA1OTc4NCwgMTA5MTQsIAotICAgIDE2NDAsIDEwOTE5LCA1OTc5MCwgNTk3OTUsIDU5ODAxLCA1OTgwNiwgNTk4MTEsIDU5ODE2LCA1OTgyMSwgNTk4MjYsIAotICAgIDU5ODMxLCA1OTgzNiwgNTk4NDIsIDU5ODQ4LCA1OTg1NCwgNTk4NTksIDU5ODYzLCA1OTg2OCwgNTk4NzMsIDU5ODc3LCAKLSAgICA1OTg4MiwgNTk4ODcsIDU5ODkyLCA1OTg5NiwgNTk5MDEsIDU5OTA3LCA1OTkxMiwgNTk5MTcsIDU5OTIxLCA1OTkyNiwgCi0gICAgNTk5MzEsIDU5OTM3LCA1OTk0MiwgNTk5NDcsIDU5OTUzLCA1OTk1OSwgNTk5NjQsIDU5OTY4LCA1OTk3MywgNTk5NzgsIAotICAgIDU5OTgzLCA1OTk4NywgNTk5OTIsIDU5OTk3LCA2MDAwMiwgNjAwMDgsIDYwMDE0LCA2MDAxOSwgNjAwMjMsIDYwMDI3LCAKLSAgICA2MDAzMiwgNjAwMzcsIDYwMDQyLCAyOTEwOCwgNjAwNDYsIDYwMDUxLCA2MDA1NiwgNjAwNjIsIDYwMDY3LCA2MDA3MiwgCi0gICAgNjAwNzYsIDYwMDgxLCA2MDA4NiwgNjAwOTIsIDYwMDk3LCA2MDEwMiwgNjAxMDgsIDYwMTE0LCA2MDExOSwgNjAxMjMsIAotICAgIDYwMTI4LCA2MDEzMywgNjAxMzcsIDYwMTQyLCA2MDE0NywgNjAxNTIsIDYwMTU4LCA2MDE2NCwgNjAxNjksIDYwMTczLCAKLSAgICA2MDE3OCwgNjAxODMsIDYwMTg3LCA2MDE5MiwgNjAxOTcsIDYwMjAyLCA2MDIwNiwgNjAyMDksIDMxNjE0LCA2MDIxNCwgCi0gICAgNjAyMjIsIDE2NjcyLCAzNjYzLCAxMTAxMCwgNjAyMjgsIDYwMjM4LCA2MDI1MywgMTEwMTUsIDYwMjY0LCA2MDI2OSwgCi0gICAgNjAyODAsIDYwMjkyLCA2MDMwNCwgNjAzMTYsIDI2OTUsIDYwMzI4LCA2MDMzMywgNjAzNDUsIDYwMzQ5LCA2MDM1NSwgCi0gICAgNjAzNjEsIDYwMzY2LCAxNjUyLCAxMDY3LCA2MDM3NSwgNjAzODAsIDM5MjgwLCA2MDM4NCwgNjAzODgsIDYwMzkzLCAKLSAgICA2MDM5NywgMTY3NTcsIDYwNDAyLCA2MDQwNSwgNjA0MTMsIDYwNDIxLCAxNjU2LCAxMTA0MCwgMTEwNDYsIDE2NjEsIAotICAgIDYwNDI5LCA2MDQzNiwgNjA0NDEsIDYwNDUwLCA2MDQ2MCwgNjA0NjcsIDYwNDcyLCA2MDQ3NywgMTY2NiwgNjA0ODQsIAotICAgIDYwNDg5LCAxNjg3MiwgNjA0OTMsIDYwNDk4LCA2MDUwNSwgNjA1MTEsIDYwNTE1LCA2MDUyNiwgNjA1MzYsIDE2ODk0LCAKLSAgICA5MjI3LCA5MjM0LCAxNjcxLCA2MDU0MywgNjA1NDksIDYwNTU3LCA2MDU2NCwgNjA1NzAsIDYwNTc3LCA2MDU4OSwgNjA1OTUsIAotICAgIDYwNjAwLCA2MDYxMiwgNjA2MjMsIDYwNjMyLCA2MDY0MiwgMzc0MCwgMzA3ODgsIDMwNzk3LCAxNjkzNCwgMTY3NiwgMTY4MCwgCi0gICAgNjA2NTAsIDYwNjYxLCA2MDY2NiwgMTY4MywgNjA2NzQsIDYwNjc5LCAxNjk4NSwgNjA2OTEsIDYwNjk3LCA2MDcwMiwgCi0gICAgNjA3MTAsIDE2ODgsIDYwNzE1LCA2MDcyMCwgNjA3MjgsIDYwNzM2LCA2MDc0MywgNjA3NTIsIDYwNzYwLCA2MDc2OSwgCi0gICAgMTY5MywgNjA3NzMsIDE2OTgsIDYwNzc4LCA2MDc4NSwgMTcwNTksIDYwNzkzLCA2MDc5OSwgNjA4MDQsIDYwODEyLCAKLSAgICA2MDgxOSwgNjA4MjcsIDIyNTU3LCA2MDgzMiwgMTExNzUsIDYwODQxLCA2MDg0NywgNjA4NTQsIDYwODYxLCA2MDg2NywgCi0gICAgNjA4NzcsIDYwODgzLCA2MDg4OCwgNjA4OTksIDYwOTA0LCA2MDkxMiwgMTExODQsIDExMTg5LCA2MDkyMCwgNjA5MjYsIAotICAgIDYwOTM0LCAzODA1LCAxNzEwMSwgMzkzNjgsIDYwOTM5LCA2MDk0NSwgNjA5NTAsIDYwOTU4LCA2MDk2NSwgMTIwMjksIAotICAgIDYwOTcwLCA2MDk3NiwgMTcwOSwgNjA5ODEsIDYwOTg0LCAxMTI3LCA2MDk5MCwgNjA5OTUsIDYxMDAwLCA2MTAwNiwgCi0gICAgNjEwMTEsIDYxMDE2LCA2MTAyMSwgNjEwMjYsIDYxMDMxLCA2MTAzNiwgMTcxOCwgOSwgNjEwNDIsIDYxMDQ2LCA2MTA1MSwgCi0gICAgNjEwNTUsIDYxMDU5LCA2MTA2MywgMzE4NTQsIDYxMDY4LCA2MTA3MywgNjEwNzgsIDYxMDgyLCA2MTA4NSwgNjEwODksIAotICAgIDYxMDkzLCA2MTA5OCwgNjExMDIsIDYxMTA3LCA2MTExMSwgMzQ1OTEsIDM0NTk2LCAzNDYwMSwgNjExMTQsIDYxMTIxLCAKLSAgICA2MTEyNywgMzkwODksIDYxMTM3LCAzNDYwNywgMzIxMTIsIDMxODY5LCAzMTg3NSwgMzQ2MjMsIDMxODgxLCA2MTE0MiwgCi0gICAgNjExNDcsIDMyMTQ1LCA2MTE1MSwgNjExNTQsIDYxMTU4LCA2MTE2NSwgNjExNjgsIDYxMTczLCA2MTE3NywgNjExODEsIAotICAgIDYxMTg0LCA2MTE5NCwgNjEyMDYsIDYxMjEzLCA2MTIxOSwgNjEyMjYsIDMzNTQ4LCA2MTIyOSwgODU0MywgODc3LCA2MTIzMiwgCi0gICAgNjEyMzYsIDYxMjQxLCAzNjkwLCA2MTI0NSwgNjEyNDgsIDEzNjI1LCA2MTI1NSwgNjEyNjIsIDYxMjc1LCA2MTI4MywgCi0gICAgNjEyOTIsIDYxMzAxLCA2MTMwNiwgNjEzMTYsIDYxMzI5LCA2MTM0MSwgNjEzNDgsIDYxMzUzLCA2MTM2MiwgNjEzNzUsIAotICAgIDM2MDM1LCA2MTM5MywgNjEzOTgsIDYxNDA1LCA2MTQxMSwgNjUyLCA2MTQxNiwgNjE0MjQsIDYxNDMxLCAyNzI1NCwgNjI3LCAKLSAgICA2MTQzNywgNjE0NDMsIDYxNDUzLCA2MTQ1OSwgNjE0NjQsIDMxODk5LCA2MDAzLCAzMTkxMywgNjE0NjgsIDYxNDc4LCAKLSAgICA2MTQ4MywgNjE0OTMsIDYxNTA4LCA2MTUxNCwgNjE1MjAsIDMxOTIzLCA2MTUyNSwgMzEwNjksIDYxNTI5LCA2MTUzNCwgCi0gICAgNjE1MzksIDYxNTQzLCA2MTU0OCwgMTY5MzcsIDYxNTU1LCA2MTU2MCwgNjE1NjQsIDYwNDQsIDMxOTQ5LCA2MTU2OCwgCi0gICAgNjE1NzQsIDMxMiwgNjE1ODQsIDYxNTkxLCA2MTU5OCwgNjE2MDMsIDYxNjEyLCA1ODc2OSwgNjE2MTgsIDYxNjI2LCAKLSAgICA2MTYzMCwgNjE2MzQsIDYxNjM4LCA2MTY0MiwgNjE2NDcsIDYxNjUxLCA2MTY1NywgNjE2NjUsIDYxNjcwLCA2MTY3NSwgCi0gICAgNjE2NzksIDYxNjg0LCA2MTY4OCwgNjE2OTIsIDYxNjk4LCA2MTcwNCwgNjE3MDksIDYxNzEzLCAzMjA3MywgNjE3MTgsIAotICAgIDMyMDc5LCAzMjA4NSwgNjE3MjMsIDYxNzI5LCA2MTczNiwgNjE3NDEsIDYxNzQ1LCAzMTA4NiwgMTY1OTksIDYxNzQ4LCAKLSAgICA2MTc1MiwgNjE3NTcsIDYxNzY0LCA2MTc3MCwgNjE3NzQsIDYxNzc5LCAzODc5OSwgNjE3ODUsIDYxNzg5LCA2MTc5MywgCi0gICAgNjE3OTgsIDYxODA0LCA2MTgxMCwgNjE4MjIsIDYxODMxLCA2MTg0MSwgNjE4NDcsIDYxODU0LCA2MTg1OSwgNjE4NjQsIAotICAgIDYxODY4LCA2MTg3MSwgNjE4NzcsIDYxODg0LCA2MTg4OSwgNjE4OTQsIDYxOTAxLCA2MTkwOCwgNjE5MTQsIDYxOTE5LCAKLSAgICA2MTkyNCwgNjE5MzIsIDMyMDkwLCAyNDIzLCA2MTkzNywgNjE5NDIsIDYxOTQ4LCA2MTk1MywgNjE5NTksIDYxOTY0LCAKLSAgICA2MTk2OSwgNjE5NzQsIDYxOTgwLCAzMjExMSwgNjE5ODUsIDYxOTkxLCA2MTk5NywgNjIwMDMsIDMyMTc1LCA2MjAwOCwgCi0gICAgNjIwMTMsIDYyMDE4LCAzMjE4NiwgNjIwMjMsIDYyMDI4LCA2MjAzMywgNjIwMzksIDYyMDQ1LCAzMjE5MSwgNjIwNTAsIAotICAgIDYyMDU1LCA2MjA2MCwgMzIyNDYsIDMyMjUyLCA2MjA2NSwgNjIwNzAsIDMyMjU3LCA2MjA3NSwgMjc5MzcsIDMyMjc5LCAKLSAgICAzMjI4MywgNjIwODAsIDYyMDU2LCA2MjA4NCwgNjIwOTIsIDYyMDk4LCA2MjEwNiwgNjIxMTMsIDYyMTE5LCA2MjEyOSwgCi0gICAgNjIxMzUsIDYyMTQyLCAxMDYyNCwgMzIyOTcsIDYyMTQ4LCA2MjE2MSwgNjIxNzAsIDYyMTc2LCA2MjE4NSwgNjIxOTEsIAotICAgIDIzNDk1LCA2MjE5OCwgNjIyMDUsIDYyMjE1LCAzMjI0NywgNjIyMTgsIDYyMjI1LCA2MjIzMCwgNjIyMzQsIDYyMjM4LCAKLSAgICA2MjI0MywgNjEyMCwgNjIyNDcsIDYyMjUyLCA2MjI1NywgMzQ2ODUsIDM0NjkwLCA2MjI2MSwgMzQ3MDQsIDYyMjY2LCAKLSAgICAzNDcwOSwgNjIyNzEsIDYyMjc3LCAzNDcyMSwgMzQ3MjcsIDM0NzMzLCA2MjI4MiwgNjIyODgsIDIyNTIyLCA2MjI5OSwgCi0gICAgNjIzMDIsIDYyMzE0LCA2MjMyMiwgMzIzMjAsIDYyMzI2LCA2MjMzNSwgNjIzNDUsIDYyMzU0LCAzMjMzMCwgNjIzNTksIAotICAgIDYyMzY2LCA2MjM3NSwgNjIzODEsIDYyMzg5LCA2MjM5NiwgNjA5NSwgNDM5NywgNjI0MDEsIDMyMjU4LCA2MjQwNywgCi0gICAgNjI0MTAsIDYyNDE2LCA2MjQyMywgNjI0MjgsIDYyNDMzLCAyMzQwNSwgNjI0MzcsIDYyNDQzLCA2MjQ0OSwgNjI0NTQsIAotICAgIDYyNDU5LCA2MjQ2MywgNjI0NjksIDYyNDc1LCAzMzQ1OCwgODYzLCAzNTY5OCwgMzY2MTksIDM2NjI1LCAzMjM2NiwgCi0gICAgNjI0ODAsIDYyNDg0LCA2MjQ4OCwgNjI0OTEsIDYyNTA0LCA2MjUxMCwgNjI1MTQsIDYyNTE3LCA2MjUyMiwgMzM3NjEsIAotICAgIDYyNTI2LCAzMTA5MSwgMjEyNzQsIDYyNTMyLCA2MDI0LCA2MDMyLCA5MDY4LCA2MjUzNSwgNjI1NDAsIDYyNTQ1LCA2MjU1MCwgCi0gICAgNjI1NTUsIDYyNTYwLCA2MjU2NSwgNjI1NzAsIDYyNTc1LCA2MjU4MCwgNjI1ODYsIDYyNTkxLCA2MjU5NiwgNjI2MDIsIAotICAgIDYyNjA3LCA2MjYxMiwgNjI2MTcsIDYyNjIyLCA2MjYyNywgNjI2MzIsIDYyNjM4LCA2MjY0MywgNjI2NDksIDYyNjU0LCAKLSAgICA2MjY1OSwgNjI2NjQsIDYyNjY5LCA2MjY3NCwgNjI2NzksIDYyNjg0LCA2MjY4OSwgNjI2OTQsIDYyNjk5LCA2MjcwNSwgCi0gICAgNjI3MTAsIDYyNzE1LCA2MjcyMCwgNjI3MjUsIDYyNzMwLCA2MjczNSwgNjI3NDEsIDYyNzQ2LCA2Mjc1MSwgNjI3NTYsIAotICAgIDYyNzYxLCA2Mjc2NiwgNjI3NzEsIDYyNzc2LCA2Mjc4MSwgNjI3ODYsIDYyNzkyLCA2Mjc5NywgNjI4MDIsIDYyODA3LCAKLSAgICA2MjgxMiwgNjI4MTgsIDYyODI0LCA2MjgyOSwgNjI4MzUsIDYyODQwLCA2Mjg0NSwgNjI4NTAsIDYyODU1LCA2Mjg2MCwgCi0gICAgMTUxMywgMjQ1LCA2Mjg2NSwgNjI4NjksIDYyODczLCA2Mjg3NywgMjUxMTYsIDYyODgxLCA2Mjg4NSwgNjI4OTAsIDYyODk0LCAKLSAgICA2Mjg5OSwgNjI5MDMsIDYyOTA4LCA2MjkxMywgNjI5MTgsIDYyOTIyLCA2MjkyNiwgNjI5MzEsIDYyOTM1LCAxMzM2MiwgCi0gICAgNjI5NDAsIDYyOTQ0LCA2Mjk1MSwgNjI5NjEsIDE1MTkzLCA2Mjk3MCwgNjI5NzksIDYyOTgzLCA2Mjk4OCwgNjI5OTMsIAotICAgIDYyOTk3LCAyNDkwNywgMzAxOSwgNjMwMDEsIDE3MzUwLCA2MzAwNywgNjMwMTYsIDYzMDI0LCA2MzAzMCwgNjMwNDIsIAotICAgIDYzMDU0LCA2MzA1OCwgNjMwNjMsIDYzMDY3LCA2MzA3MywgNjMwNzksIDYzMDg0LCA2MzA5NCwgNjMxMDQsIDYzMTEwLCAKLSAgICA2MzExNSwgNjMxMTksIDYzMTI0LCA2MzEzMCwgNjMxMzksIDYzMTQ4LCA2MzE1NiwgMTU1NDcsIDYzMTYwLCA2MzE2OSwgCi0gICAgNjMxNzcsIDYzMTg5LCA2MzIwMCwgNjMyMTEsIDYzMjIwLCA2MzIyNCwgNjMyMzMsIDYzMjQzLCA2MzI1MSwgNjMyNTcsIAotICAgIDYzMjYyLCA2MzI2OCwgNjMyNzMsIDk4LCAzMDkwMCwgNjMyODQsIDI2MjQ5LCAyNjI1OSwgNjMyOTAsIDYzMjk3LCA2MzMwMywgCi0gICAgNjMzMDcsIDYzMzE3LCA2MzMyOCwgNjMzMzYsIDYzMzQ1LCA2MzM1MCwgNjMzNTUsIDYzMzU5LCAxNzMwNCwgNjMzNjcsIAotICAgIDYzMzcxLCA2MzM3NywgNjMzODcsIDYzMzk0LCA2MzQwMCwgMzQ3ODQsIDYzNDA2LCA2MzQwOCwgNjM0MTEsIDYzNDE1LCAKLSAgICA2MzQyNSwgNjM0MzEsIDYzNDM4LCAxMzMwOCwgNjM0NDUsIDYzNDUxLCA2MzQ2MCwgNjM0NjksIDYzNDc1LCA2MzQ4MSwgCi0gICAgNjM0ODcsIDYzNDkyLCA2MzQ5OSwgNjM1MDYsIDYzNTEyLCA2MzUyNSwgNjM1MzQsIDYzNTQzLCA2MzU0OCwgNjM1NTIsIAotICAgIDYzNTU4LCA2MzU2NSwgNjM1NzIsIDYzNTc5LCA2MzU4NiwgNjM1OTMsIDYzNTk4LCA2MzYwMiwgNjM2MDYsIDYzNjA5LCAKLSAgICA2MzYxOSwgNjM2MjMsIDYzNjM1LCA2MzY0NCwgNjM2NDgsIDYzNjUzLCA2MzY1NywgNjM2NjMsIDYzNjY4LCA2MzY3NSwgCi0gICAgNjM2ODQsIDYzNjkyLCA2MzcwMCwgNjM3MDUsIDYzNzA5LCA2MzcxNCwgNjM3MTksIDYzNzI5LCA2MzczNywgNjM3NDIsIAotICAgIDYzNzQ2LCA2Mzc1MCwgNjM3NTYsIDYzNzY4LCA2Mzc3NiwgNjM3ODYsIDYzNzkzLCA2Mzc5OSwgNjM4MDQsIDYzODA4LCAKLSAgICA2MzgxMiwgNjM4MTYsIDYzODI1LCA2MzgzNCwgNjM4NDMsIDYzODQ5LCA2Mzg1NSwgNjM4NjEsIDYzODY2LCA2Mzg3MywgCi0gICAgNjM4NzksIDYzODg3LCA2Mzg5NCwgMTI0NTYsIDYzOTAwLCA2MzkwNiwgNjM5MTAsIDE0MjMxLCA2MzkxNCwgNjM5MTksIAotICAgIDYzOTI5LCA2MzkzOCwgNjM5NDQsIDYzOTUwLCA2Mzk1OCwgNjM5NjUsIDYzOTY5LCA2Mzk3MywgNjM5NzksIDYzOTg3LCAKLSAgICA2Mzk5NCwgNjQwMDAsIDY0MDExLCA2NDAxNSwgNjQwMTksIDY0MDIzLCA2NDAyNiwgNjQwMzIsIDY0MDM3LCA2NDA0MSwgCi0gICAgNjQwNDUsIDY0MDU0LCA2NDA2MiwgNjQwNjksIDY0MDc1LCA2NDA4MiwgMjQwMjksIDM4ODQxLCA2NDA4NywgNjQwOTUsIAotICAgIDY0MDk5LCA2NDEwMywgNjQxMDYsIDY0MTE0LCA2NDEyMSwgNjQxMjcsIDY0MTM2LCA2NDE0NCwgNjQxNTAsIDY0MTU1LCAKLSAgICA2NDE1OSwgNjQxNjQsIDY0MTY4LCA2NDE3MiwgNjQxNzcsIDY0MTg2LCA2NDE5MCwgNjQxOTcsIDY0MjA0LCA2NDIxMCwgCi0gICAgNjQyMTgsIDY0MjI0LCA2NDIzNSwgNjQyNDMsIDY0MjQ5LCAyMjY1MiwgNjQyNTgsIDY0MjY1LCA2NDI3MiwgNjQyNzksIAotICAgIDY0Mjg2LCA2NDI5MywgNDE4NzAsIDEzMTQ2LCA2NDMwMCwgNjQzMDcsIDY0MzEyLCAzNDgyMCwgNjIxNywgNjQzMTgsIAotICAgIDY0MzIzLCA2NDMyOCwgNjQzMzQsIDY0MzQwLCA2NDM0NiwgNjQzNTEsIDY0MzU2LCA2NDM2MSwgNjQzNjYsIDY0MzcyLCAKLSAgICA2NDM3NywgNjQzODMsIDY0Mzg4LCA2NDM5NCwgNjQzOTksIDY0NDA0LCA2NDQwOSwgNjQ0MTQsIDY0NDE5LCA2NDQyNCwgCi0gICAgNjQ0MjksIDY0NDM1LCA2NDQ0MCwgNjQ0NDYsIDY0NDUxLCA2NDQ1NiwgNjQ0NjEsIDY0NDY2LCA2NDQ3MSwgNjQ0NzYsIAotICAgIDY0NDgyLCA2NDQ4NywgNjQ0OTIsIDY0NDk3LCA2NDUwMiwgNjQ1MDcsIDY0NTEyLCA2NDUxNywgNjQ1MjIsIDY0NTI3LCAKLSAgICA2NDUzMiwgNjQ1MzgsIDY0NTQzLCA2NDU0OCwgNjQ1NTMsIDY0NTU4LCA2NDU2MywgNjQ1NjgsIDY0NTczLCA2NDU3OCwgCi0gICAgNjQ1ODQsIDY0NTg5LCA2NDU5NCwgNjQ1OTksIDY0NjA0LCA2NDYwOSwgNjQ2MTQsIDY0NjE5LCA2NDYyNCwgNjQ2MjksIAotICAgIDY0NjM0LCA2NDYzOSwgNjQ2NDQsIDY0NjUwLCAxODM0LCAyMjQsIDM3NDE3LCA2NDY1NSwgNjQ2NTgsIDY0NjYzLCA2NDY2NywgCi0gICAgNjQ2NzAsIDY0Njc1LCA2MzY5NiwgNjQ2ODYsIDY0Njk2LCA2NDcwMywgNjQ3MTksIDY0NzI4LCA2NDczOCwgNjQ3NDgsIAotICAgIDY0NzU2LCA2NDc3MCwgNjQ3NzgsIDY0NzgyLCA2NDc4NSwgNjQ3OTIsIDY0Nzk4LCA2NDgwOSwgNjQ4MjEsIDY0ODMyLCAKLSAgICA2NDg0MSwgNjQ4NDgsIDEyOTcsIDIzMjk0LCA2NDg1OCwgMjU5MCwgNjQ4NjIsIDY0ODcxLCAxMTMzLCAxNzI3NywgMzgwNTQsIAotICAgIDY0ODc5LCA2NDg4NywgNjQ5MDEsIDY0OTE0LCA2NDkxOCwgNjQ5MjMsIDY0OTI4LCA2NDkzMywgNjQ5MzksIDY0OTQ1LCAKLSAgICA2NDk1MCwgODUzNSwgNjQ5NTUsIDY0OTU5LCA2NDk2NywgMTEwNDEsIDY0OTcyLCA2NDk3OCwgNjQ5ODcsIDE3MjEsIAotICAgIDExMDUzLCA3MzYsIDY0OTkxLCA2NTAwMCwgNjUwMTAsIDI3MDEzLCA2NTAxOSwgNjUwMjUsIDE2ODQ5LCA2NTAzMSwgCi0gICAgNjUwMzUsIDM5NjQsIDExMzg0LCA2NTA0MSwgNjUwNDgsIDYwNjU2LCA2NTA1MiwgNjUwNTYsIDM5ODgsIDE4OSwgMTQxNDYsIAotICAgIDY1MDYyLCA2NTA3NCwgNjUwNzgsIDY1MDg0LCAyNzczMCwgNjUwODgsIDExMzcyLCAyNzMwLCA0LCA2NTA5MywgNjUxMDMsIAotICAgIDY1MTA5LCA2NTEyMCwgNjUxMjcsIDY1MTMzLCA2NTEzOSwgNjUxNDcsIDY1MTU0LCA2NTE2MCwgNjUxNzAsIDY1MTgwLCAKLSAgICA2NTE5MCwgMjM0ODIsIDEzMDksIDY1MTk5LCA2NTIwMywgNjUyMDcsIDY1MjEzLCA2NTIxNywgMjc1MywgMjc1OSwgODUzMiwgCi0gICAgMjI2NCwgNjUyMjEsIDY1MjI1LCA2NTIzNCwgNjUyNDIsIDY1MjUzLCA2NTI2MSwgNjUyNjksIDY1Mjc1LCA2NTI4MCwgCi0gICAgNjUyOTEsIDY1MzAyLCA2NTMxMCwgNjUzMTYsIDk2ODcsIDY1MzIxLCA2NTMyOSwgNjUzMzMsIDY1MzM3LCA2NTM0MSwgCi0gICAgNjUzNTMsIDI4MTE1LCA2NTM2MCwgNjUzNzAsIDY1Mzc2LCA2NTM4MiwgOTc4OSwgNjUzOTIsIDY1NDAzLCA2NTQxMywgCi0gICAgNjU0MjIsIDY1NDI2LCA2NTQzMywgMTEzNSwgMTE3MCwgNjU0NDMsIDY1NDQ4LCA2NTQ1NiwgNjU0NjQsIDY1NDc1LCAKLSAgICA2NTQ4MiwgNjU0OTYsIDE0MDc1LCAzOTMsIDY1NTA2LCA2NTUxMCwgNjU1MTgsIDY1NTI3LCA2NTUzNSwgNjU1NDEsIAotICAgIDY1NTU1LCA2NTU2MiwgNjU1NjgsIDY1NTc3LCA2NTU4NCwgNjU1OTQsIDY1NjAyLCAzODEyLCAxNTYsIDY1NjEwLCA2NTYyMSwgCi0gICAgNjU2MjUsIDY1NjM3LCAyNzkyOCwgMTYxLCA2NTY0MywgNjU2NDgsIDY1NjUyLCA2NTY1OSwgNjU2NjUsIDY1NjczLCAKLSAgICA2NTY4MCwgODgxOCwgNjU2ODcsIDY1Njk2LCA2NTcwNCwgMzg3OCwgNjU3MTcsIDgxOTksIDY1NzIxLCAyNzk4LCA0NTAsIAotICAgIDY1NzI2LCA2NTczOSwgNjU3NDQsIDE4MzMsIDY2OCwgNjU3NDgsIDM4OTUsIDY1NzU2LCA2NTc2MiwgNjU3NjYsIDkzMSwgCi0gICAgNjU3NzYsIDY1Nzg1LCA2NTc5MCwgMTQ5MTUsIDE0OTIyLCA0NTIzMiwgNjU3OTQsIDM4MjIsIDEzMDM0LCA2NTgwMiwgCi0gICAgNjU4MDksIDIzNTM4LCA2NTgxMywgNjU4MjAsIDY1ODI2LCA2NTgzMSwgNjU4MzYsIDE0OTM1LCAzNzIsIDY1ODQxLCAKLSAgICA2NTg1MywgNjU4NTksIDY1ODY3LCAyODEwLCAxNzUzLCA2NTg3NSwgNjU4NzcsIDY1ODgyLCA2NTg4NywgNjU4OTIsIAotICAgIDY1ODk4LCA2NTkwMywgNjU5MDgsIDY1OTEzLCA2NTkxOCwgNjU5MjMsIDY1OTI4LCA2NTkzNCwgNjU5MzksIDY1OTQ0LCAKLSAgICA2NTk0OSwgNjU5NTQsIDY1OTU5LCA2NTk2NCwgNjU5NjksIDY1OTc0LCA2NTk4MCwgNjU5ODUsIDY1OTkwLCA2NTk5NSwgCi0gICAgNjYwMDEsIDY2MDA2LCA2NjAxMiwgNjYwMTcsIDY2MDIyLCA2NjAyNywgNjYwMzIsIDY2MDM3LCA2NjA0MiwgNjYwNDcsIAotICAgIDY2MDUzLCA2NjA1OCwgNjYwNjQsIDY2MDY5LCA2NjA3NCwgNjYwNzksIDY2MDg0LCA2NjA4OSwgNjYwOTQsIDY2MDk5LCAKLSAgICA2NjEwNCwgNjYxMTAsIDY2MTE1LCA2NjEyMCwgNjYxMjUsIDY2MTI5LCA2NjEzMywgNjYxMzgsIDY2MTQyLCA2NjE0NywgCi0gICAgNjYxNTIsIDY2MTU4LCA2NjE2MywgNjYxNjcsIDY2MTcyLCA2NjE3NiwgNjYxNzksIDY2MTgxLCA2NjE4NSwgNjYxODgsIAotICAgIDY2MTkzLCA2NjE5NywgNjYyMDEsIDY2MjA1LCA2NjIwOSwgNjYyMTgsIDY2MjIyLCAzMjUyNCwgNjYyMjUsIDMyNTI5LCAKLSAgICA2NjIzMiwgNjYyMzcsIDMyNTM0LCA2NjI0NiwgNjYyNTUsIDMyNTQwLCA2NjI2MCwgMzI1NDUsIDY2MjY5LCA2NjI3NCwgCi0gICAgMTE1NzEsIDY2Mjc4LCA2NjI4MywgNjYyODgsIDMyNTUwLCA2NjI5MiwgNDAxOTYsIDY2Mjk2LCA2NjI5OSwgNjYzMDMsIAotICAgIDgyMTEsIDY2MzA5LCA2NjMxNCwgNjYzMTgsIDM3MDUsIDMyNTU1LCA2NjMyMSwgNjYzMjUsIDY2MzI4LCA2NjMzMywgCi0gICAgNjYzMzcsIDY2MzQzLCA2NjM1MSwgNjYzNjQsIDY2MzczLCA2NjM3OSwgNjYzODQsIDY2MzkwLCA2NjM5NCwgNjY0MDAsIAotICAgIDY2NDA4LCA2NjQxMywgNjY0MTcsIDY2NDI0LCA2NjQzMCwgNjY0MzgsIDY2NDQ3LCA2NjQ1NSwgMzI1NTgsIDY2NDYyLCAKLSAgICA2NjQ3MiwgNjY0ODEsIDY2NDk0LCA2NjQ5OSwgNjY1MDQsIDY2NTEzLCA2NjUxOSwgNjY1MjYsIDY2NTM3LCA2NjU0OSwgCi0gICAgNjY1NTYsIDY2NTY1LCA2NjU3NCwgNjY1ODMsIDY2NTkwLCA2NjU5NiwgNjY2MDMsIDY2NjExLCA2NjYxOCwgNjY2MjYsIAotICAgIDY2NjM1LCA2NjY0MywgNjY2NTAsIDY2NjU4LCA2NjY2NywgNjY2NzUsIDY2Njg0LCA2NjY5NCwgNjY3MDMsIDY2NzExLCAKLSAgICA2NjcxOCwgNjY3MjYsIDY2NzM1LCA2Njc0MywgNjY3NTIsIDY2NzYyLCA2Njc3MSwgNjY3NzksIDY2Nzg4LCA2Njc5OCwgCi0gICAgNjY4MDcsIDY2ODE3LCA2NjgyOCwgNjY4MzgsIDY2ODQ3LCA2Njg1NSwgNjY4NjIsIDY2ODcwLCA2Njg3OSwgNjY4ODcsIAotICAgIDY2ODk2LCA2NjkwNiwgNjY5MTUsIDY2OTIzLCA2NjkzMiwgNjY5NDIsIDY2OTUxLCA2Njk2MSwgNjY5NzIsIDY2OTgyLCAKLSAgICA2Njk5MSwgNjY5OTksIDY3MDA4LCA2NzAxOCwgNjcwMjcsIDY3MDM3LCA2NzA0OCwgNjcwNTgsIDY3MDY3LCA2NzA3NywgCi0gICAgNjcwODgsIDY3MDk4LCA2NzEwOSwgNjcxMjEsIDY3MTMyLCA2NzE0MiwgNjcxNTEsIDY3MTU5LCA2NzE2NiwgNjcxNzQsIAotICAgIDY3MTgzLCA2NzE5MSwgNjcyMDAsIDY3MjEwLCA2NzIxOSwgNjcyMjcsIDY3MjM2LCA2NzI0NiwgNjcyNTUsIDY3MjY1LCAKLSAgICA2NzI3NiwgNjcyODYsIDY3Mjk1LCA2NzMwMywgNjczMTIsIDY3MzIyLCA2NzMzMSwgNjczNDEsIDY3MzUyLCA2NzM2MiwgCi0gICAgNjczNzEsIDY3MzgxLCA2NzM5MiwgNjc0MDIsIDY3NDEzLCA2NzQyNSwgNjc0MzYsIDY3NDQ2LCA2NzQ1NSwgNjc0NjMsIAotICAgIDY3NDcyLCA2NzQ4MiwgNjc0OTEsIDY3NTAxLCA2NzUxMiwgNjc1MjIsIDY3NTMxLCA2NzU0MSwgNjc1NTIsIDY3NTYyLCAKLSAgICA2NzU3MywgNjc1ODUsIDY3NTk2LCA2NzYwNiwgNjc2MTUsIDY3NjI1LCA2NzYzNiwgNjc2NDYsIDY3NjU3LCA2NzY2OSwgCi0gICAgNjc2ODAsIDY3NjkwLCA2NzcwMSwgNjc3MTMsIDY3NzI0LCA2NzczNiwgNjc3NDksIDY3NzYxLCA2Nzc3MiwgNjc3ODIsIAotICAgIDY3NzkxLCA2Nzc5OSwgNjc4MDYsIDY3ODE0LCA2NzgyMywgNjc4MzEsIDY3ODQwLCA2Nzg1MCwgNjc4NTksIDY3ODY3LCAKLSAgICA2Nzg3NiwgNjc4ODYsIDY3ODk1LCA2NzkwNSwgNjc5MTYsIDY3OTI2LCA2NzkzNSwgNjc5NDMsIDY3OTUyLCA2Nzk2MiwgCi0gICAgNjc5NzEsIDY3OTgxLCA2Nzk5MiwgNjgwMDIsIDY4MDExLCA2ODAyMSwgNjgwMzIsIDY4MDQyLCA2ODA1MywgNjgwNjUsIAotICAgIDY4MDc2LCA2ODA4NiwgNjgwOTUsIDY4MTAzLCA2ODExMiwgNjgxMjIsIDY4MTMxLCA2ODE0MSwgNjgxNTIsIDY4MTYyLCAKLSAgICA2ODE3MSwgNjgxODEsIDY4MTkyLCA2ODIwMiwgNjgyMTMsIDY4MjI1LCA2ODIzNiwgNjgyNDYsIDY4MjU1LCA2ODI2NSwgCi0gICAgNjgyNzYsIDY4Mjg2LCA2ODI5NywgNjgzMDksIDY4MzIwLCA2ODMzMCwgNjgzNDEsIDY4MzUzLCA2ODM2NCwgNjgzNzYsIAotICAgIDY4Mzg5LCA2ODQwMSwgNjg0MTIsIDY4NDIyLCA2ODQzMSwgNjg0MzksIDY4NDQ4LCA2ODQ1OCwgNjg0NjcsIDY4NDc3LCAKLSAgICA2ODQ4OCwgNjg0OTgsIDY4NTA3LCA2ODUxNywgNjg1MjgsIDY4NTM4LCA2ODU0OSwgNjg1NjEsIDY4NTcyLCA2ODU4MiwgCi0gICAgNjg1OTEsIDY4NjAxLCA2ODYxMiwgNjg2MjIsIDY4NjMzLCA2ODY0NSwgNjg2NTYsIDY4NjY2LCA2ODY3NywgNjg2ODksIAotICAgIDY4NzAwLCA2ODcxMiwgNjg3MjUsIDY4NzM3LCA2ODc0OCwgNjg3NTgsIDY4NzY3LCA2ODc3NywgNjg3ODgsIDY4Nzk4LCAKLSAgICA2ODgwOSwgNjg4MjEsIDY4ODMyLCA2ODg0MiwgNjg4NTMsIDY4ODY1LCA2ODg3NiwgNjg4ODgsIDY4OTAxLCA2ODkxMywgCi0gICAgNjg5MjQsIDY4OTM0LCA2ODk0NSwgNjg5NTcsIDY4OTY4LCA2ODk4MCwgNjg5OTMsIDY5MDA1LCA2OTAxNiwgNjkwMjgsIAotICAgIDY5MDQxLCA2OTA1MywgNjkwNjYsIDY5MDgwLCA2OTA5MywgNjkxMDUsIDY5MTE2LCA2OTEyNiwgNjkxMzUsIDY5MTQzLCAKLSAgICA2OTE1MCwgNjkxNTUsIDgwNTgsIDY5MTYyLCAzMjU2OCwgNjkxNjcsIDY5MTcyLCAzMjU3MywgNjkxNzgsIDIwOTE2LCAKLSAgICAzMjU3OCwgNjkxODMsIDY5MTg5LCA2OTE5NywgNjkyMDMsIDY5MjA5LCA2OTIxNiwgNjkyMjMsIDY5MjI4LCA2OTIzMiwgCi0gICAgNjkyMzUsIDY5MjM5LCA2OTI0OCwgNjkyNTQsIDY5MjY2LCA2OTI3NywgNjkyODEsIDMwODEsIDgwMzMsIDY5Mjg2LCAKLSAgICA2OTI4OSwgNjkyOTEsIDY5Mjk1LCA2OTI5OSwgNjkzMDMsIDY5MzA5LCA2OTMxNCwgMjU5MjcsIDY5MzE5LCA2OTMyMywgCi0gICAgNjkzMjYsIDY5MzMxLCA2OTMzNSwgNjkzNDIsIDY5MzQ4LCA2OTM1MiwgNjE3MCwgNjkzNTYsIDMyNTk1LCA2OTM2MSwgCi0gICAgNjkzNjgsIDY5Mzc3LCA2OTM4NSwgNjkzOTYsIDY5NDA0LCA2OTQxMiwgNjk0MTksIDY5NDI2LCA2OTQzMiwgNjk0NDMsIAotICAgIDMyNjAwLCA2OTQ0OCwgNjk0NTksIDY5NDcxLCA2OTQ3OSwgNjk0OTAsIDY5NDk5LCA2OTUxMCwgNjk1MTUsIDY5NTIzLCAKLSAgICAyNTU2LCA2OTUyOCwgMzQyNzAsIDY5NTQxLCA2OTU0NSwgNjk1NTcsIDY5NTY1LCA2OTU3MCwgNjk1NzgsIDE3NDcyLCAKLSAgICA2OTU4OSwgNjk1OTUsIDY5NjAyLCA2OTYxMCwgNjk2MTYsIDMyNjEwLCA2OTYyMSwgMzkxNCwgNTgyMTcsIDY5NjI4LCAKLSAgICA2OTYzMSwgNjk2MzksIDY5NjUyLCA2OTY2NSwgNjk2NzgsIDY5NjkxLCA2OTY5OCwgNjk3MDksIDY5NzE4LCA0MTY4NywgCi0gICAgNDE2OTIsIDY5NzIzLCA2OTcyNywgNjk3MzUsIDY5NzQyLCA2OTc1MSwgNjk3NTksIDY5NzY1LCA2OTc3NCwgNjk3ODIsIAotICAgIDY5NzkwLCA2OTc5NCwgNjk4MDMsIDY5ODEyLCA2OTgyMiwgNjk4MzUsIDY5ODQ4LCA2OTg1OCwgMzI2MTUsIDY5ODY0LCAKLSAgICA2OTg3MSwgNjk4NzcsIDMyNjIxLCA2OTg4MiwgNjk4ODUsIDY5ODg5LCA2OTg5NywgNjk5MDYsIDQxNDI1LCA2OTkxNCwgCi0gICAgNjk5MjMsIDY5OTMxLCA2OTkzOCwgNjk5NDYsIDY5OTU2LCA2OTk2NSwgNjk5NzQsIDY5OTgzLCA2OTk5MSwgNzAwMDIsIAotICAgIDcwMDEyLCA5MzU5LCAyMTU1NCwgNzAwMjEsIDcwMDI2LCA3MDAzMSwgNzAwMzUsIDcwMDM5LCA3MDA0NCwgNzAwNTAsIAotICAgIDcwMDU1LCA3MDA2MCwgNzAwNjYsIDcwMDcxLCA3MDA3NiwgMjE1MTksIDcwMDgxLCA3MDA4OCwgNzAwOTYsIDcwMTA0LCAKLSAgICA3MDEwOSwgNzAxMTYsIDcwMTIzLCA3MDEyOCwgNzAxMzIsIDcwMTM2LCA3MDE0NCwgNzAxNTIsIDMyNjM4LCA3MDE1OCwgCi0gICAgNzAxNjQsIDcwMTc2LCA3MDE4MiwgNzAxODYsIDcwMTkzLCA3MDE5OCwgNzAyMDksIDcwMjE5LCA3MDIyOSwgNzAyNDEsIAotICAgIDcwMjQ3LCA3MDI1NywgNzAyNjcsIDMyNjY1LCA3MDI3NiwgNzAyODUsIDcwMjkxLCA3MDMwMywgNzAzMTQsIDcwMzIxLCAKLSAgICA3MDMyNiwgNzAzMzAsIDcwMzM4LCA3MDM0NCwgNzAzNDksIDcwMzU0LCA3MDM2MSwgNzAzNjksIDcwMzgxLCA3MDM5MSwgCi0gICAgNzA0MDAsIDcwNDA5LCA3MDQxNiwgMzQxMzIsIDIzODM0LCA3MDQyMiwgNzA0MjcsIDcwNDMxLCA3MDQzNSwgNzA0NDAsIAotICAgIDcwNDQ2LCA3MDQ1NywgNzA0NzAsIDcwNDc1LCA3MDQ4MiwgMzI2NzAsIDcwNDg3LCA3MDQ5OSwgNzA1MDgsIDcwNTE4LCAKLSAgICA3MDUyOSwgNzA1NDIsIDcwNTQ5LCA3MDU1OCwgNzA1NjcsIDcwNTc1LCA3MDU4MCwgNzA1ODYsIDEwNTgsIDcwNTkxLCAKLSAgICA3MDU5NiwgNzA2MDEsIDcwNjA2LCA3MDYxMiwgNzA2MTcsIDcwNjIyLCA3MDYyOCwgNzA2MzQsIDcwNjM5LCA3MDY0MywgCi0gICAgNzA2NDgsIDcwNjUzLCA3MDY1OCwgNTg3MjksIDcwNjYzLCA3MDY2OCwgNzA2NzMsIDcwNjc4LCA3MDY4NCwgNzA2OTAsIAotICAgIDcwNjk1LCA3MDY5OSwgNzA3MDQsIDcwNzA5LCA3MDcxNCwgNzA3MjAsIDcwNzI1LCA3MDczMSwgNzA3MzYsIDcwNzQxLCAKLSAgICA3MDc0NiwgNzA3NTEsIDcwNzU1LCA3MDc2MSwgNzA3NjYsIDcwNzc1LCA3MDc4MCwgNzA3ODUsIDcwNzkwLCA3MDc5NSwgCi0gICAgNzA3OTksIDcwODA2LCA3MDgxMiwgMTcxMjIsIDE3MTI5LCA3MDgxNywgNzA4MjEsIDcwODI1LCA3MDgyOSwgNzA4MzMsIAotICAgIDQ1NDg3LCA3MDgzNywgNzA3NjcsIDcwODM5LCA3MDg0OSwgMzI2NzksIDcwODUyLCA3MDg2MSwgNzA4NjcsIDYxNDMsIAotICAgIDMyNjg0LCA3MDg3MSwgNzA4NzcsIDcwODgyLCA3MDg4OCwgNzA4OTMsIDcwODk3LCA3MDkwNCwgNzA5MDksIDcwOTE5LCAKLSAgICA3MDkyOCwgNzA5MzIsIDcwOTM4LCA3MDk0NCwgNzA5NTAsIDcwOTU0LCA3MDk2MiwgNzA5NjksIDcwOTc3LCA3MDk4NSwgCi0gICAgMzI2ODksIDcwOTkyLCA3MDk5NSwgNzEwMDIsIDcxMDA4LCA3MTAxMywgNzEwMTcsIDcxMDIzLCA3MTAzMCwgNzEwMzUsIAotICAgIDcxMDM5LCA3MTA0OCwgNzEwNTYsIDcxMDYyLCA3MTA2NywgMzI2OTQsIDcxMDc0LCA3MTA4MSwgNzEwODcsIDcxMDkyLCAKLSAgICA3MTA5OCwgNzExMDUsIDcxMTExLCAyMTI4MSwgMjc0MzgsIDcxMTE3LCA3MTEyMiwgNzExMjgsIDcxMTQwLCA3MDgwMCwgCi0gICAgNzA4MDcsIDIxNDU3LCA3MTE1MCwgNzExNTUsIDcxMTYyLCA3MTE2OCwgNzExNzUsIDcxMTgxLCA3MTE5MiwgNzExOTcsIAotICAgIDkxMDMsIDcxMjA1LCA3MTIwOCwgNzEyMTQsIDcxMjE4LCA3MTIyMiwgNzEyMjUsIDcxMjMxLCAzMjQ0MywgNjE5NCwgOTY0LCAKLSAgICAxMzQxMiwgNzEyMzgsIDcxMjQ0LCA3MTI1MCwgNzEyNTYsIDcxMjYyLCA3MTI2OCwgNzEyNzQsIDcxMjgwLCA3MTI4NiwgCi0gICAgNzEyOTEsIDcxMjk2LCA3MTMwMSwgNzEzMDYsIDcxMzExLCA3MTMxNiwgNzEzMjEsIDcxMzI2LCA3MTMzMSwgNzEzMzYsIAotICAgIDcxMzQxLCA3MTM0NiwgNzEzNTEsIDcxMzU3LCA3MTM2MiwgNzEzNjcsIDcxMzczLCA3MTM3OCwgNzEzODMsIDcxMzg5LCAKLSAgICA3MTM5NSwgNzE0MDEsIDcxNDA3LCA3MTQxMywgNzE0MTksIDcxNDI1LCA3MTQzMSwgNzE0MzcsIDcxNDQyLCA3MTQ0NywgCi0gICAgNzE0NTMsIDcxNDU4LCA3MTQ2MywgNzE0NjksIDcxNDc0LCA3MTQ3OSwgNzE0ODQsIDcxNDg5LCA3MTQ5NCwgNzE0OTksIAotICAgIDcxNTA0LCA3MTUwOSwgNzE1MTQsIDcxNTE5LCA3MTUyNCwgNzE1MjksIDcxNTM1LCA3MTU0MCwgNzE1NDUsIDcxNTUwLCAKLSAgICA3MTU1NiwgNzE1NjEsIDcxNTY2LCA3MTU3MSwgNzE1NzYsIDcxNTgyLCA3MTU4NywgNzE1OTIsIDcxNTk3LCA3MTYwMiwgCi0gICAgNzE2MDcsIDcxNjEyLCA3MTYxNywgNzE2MjIsIDcxNjI3LCA3MTYzMiwgNzE2MzcsIDcxNjQyLCA3MTY0NywgNzE2NTIsIAotICAgIDcxNjU3LCA3MTY2MiwgNzE2NjcsIDcxNjcyLCA3MTY3NywgNzE2ODMsIDcxNjg4LCA3MTY5MywgNzE2OTgsIDcxNzAzLCAKLSAgICA3MTcwOCwgNzE3MTMsIDcxNzE4LCAxODY0LCAxNDIsIDcxNzIzLCA3MTcyNywgNzE3MzEsIDcxNzM2LCA3MTc0NCwgNzE3NDgsIAotICAgIDcxNzU1LCA3MTc2MywgNzE3NjcsIDcxNzgwLCA3MTc4OCwgNzE3OTIsIDcxNzk1LCA3MTgwMCwgNzE4MDQsIDcxODA5LCAKLSAgICA3MTgxMywgNzE4MjEsIDcxODI1LCAyMDkyNCwgNzE4MzAsIDcxODM0LCA2MDkzMCwgNzE4MzgsIDcxODQxLCA3MTg0OSwgCi0gICAgNzE4NTcsIDcxODY1LCA3MTg3MCwgNzE4NzcsIDcxODgzLCA3MTg4OSwgNzE4OTQsIDcxOTAxLCA3MTkwNiwgNzE5MTQsIAotICAgIDY0OTA2LCA3MTkyMSwgNzE5MjYsIDcxOTMxLCA3MTkzNSwgMTE2MzgsIDcxOTM5LCA3MTk0NCwgNzE5NDksIDcxOTUzLCAKLSAgICA3MTk1NiwgNzE5NjIsIDcxOTY2LCA3MTk3NiwgNzE5ODUsIDcxOTg4LCA3MTk5MiwgNzE5OTksIDcyMDEyLCA3MjAxOCwgCi0gICAgNzIwMjYsIDcyMDM3LCA3MjA0OCwgNzIwNTksIDcyMDcwLCA3MjA3OSwgNzIwODUsIDcyMDk0LCA3MjEwMiwgNzIxMTIsIAotICAgIDcyMTI1LCA3MjEzMiwgNzIxNDMsIDcyMTQ5LCA3MjE1NCwgNzIxNTksIDcyMTY1LCA3MjE3MSwgNzIxODEsIDcyMTkwLCAKLSAgICA3MDQ4OSwgNzIxOTgsIDcyMjA0LCA3MjIxMiwgNzIyMTgsIDcyMjI2LCA3MjIyOSwgNzIyMzMsIDcyMjM3LCA3MjI0MCwgCi0gICAgNzIyNDYsIDcyMjUyLCA3MjI2MCwgNzIyNzIsIDcyMjg0LCA3MjI5MSwgNzIyOTUsIDcyMzA2LCA3MjMxNCwgNzIzMjEsIAotICAgIDcyMzMzLCA3MjM0MSwgNzIzNDksIDcyMzU2LCA3MjM2MiwgNzIzNzIsIDcyMzgxLCA3MjM4NiwgNzIzOTYsIDcyNDA1LCAKLSAgICA0MDc1MSwgNzI0MTIsIDcyNDE2LCA3MjQyMSwgNzI0MjksIDcyNDM2LCA3MjQ0MiwgNzI0NDYsIDcyNDU2LCA3MjQ2NywgCi0gICAgNzI0NzUsIDcyNDgyLCA3MjQ5NCwgNzI1MDYsIDcyNTE1LCA2OTUzMSwgNzI1MjIsIDcyNTMzLCA3MjU0NywgNzI1NTUsIAotICAgIDcyNTY1LCA3MjU3MiwgNzI1ODAsIDcyNTkyLCA3MjYwMSwgNzI2MDksIDcyNjE5LCA3MjYzMCwgNzI2NDIsIDcyNjUxLCAKLSAgICA3MjY2MSwgNzI2NjgsIDcyNjc3LCA3MjY5MiwgNzI3MDAsIDcyNzEwLCA3MjcxOSwgNzI3MjcsIDcyNzQwLCA3Mjc1NSwgCi0gICAgNzI3NTksIDcyNzY4LCA3Mjc4MCwgNzI3OTEsIDcyODAyLCA3MjgxMywgNzI4MjMsIDcyODM0LCA3Mjg0MiwgNzI4NDgsIAotICAgIDcyODU4LCA3Mjg2NiwgNzI4NzIsIDI5MDA3LCA3Mjg3NywgNzI4ODMsIDcyODg4LCA3Mjg5NSwgOTcwMSwgMTc0OTIsIAotICAgIDcyOTAxLCA3MjkxMCwgNzI5MTUsIDcyOTE5LCA3MjkyNiwgNzI5MzIsIDcyOTM3LCA3Mjk0MiwgNzI5NTAsIDcyOTU4LCAKLSAgICA3Mjk2MiwgNzI5NjUsIDcyOTY4LCA3Mjk3MCwgNzI5NzcsIDcyOTgzLCA3Mjk5NCwgNzI5OTksIDczMDAzLCA3MzAxMCwgCi0gICAgNzMwMTYsIDczMDIxLCA3MzAyOSwgNjU0MDUsIDY1NDE1LCA3MzAzNSwgNzMwNDIsIDczMDUyLCAxMDYxMSwgNzMwNTksIAotICAgIDczMDY0LCAyOTIwMywgNzMwNzMsIDczMDc4LCA3MzA4NSwgNzMwOTUsIDczMTAzLCA3MzExMSwgNzMxMjAsIDczMTI2LCAKLSAgICA3MzEzMiwgNzMxMzksIDczMTQ2LCA3MzE1MSwgNzMxNTUsIDczMTYzLCA3MzE2OCwgNzMxNzMsIDczMTgxLCA3MzE4OCwgCi0gICAgNzMxOTMsIDczMTk5LCA3MzIwMiwgNzMyMDYsIDczMjE1LCA3MTc3NSwgNzMyMjQsIDczMjI4LCA3MzIzNCwgNzMyNDUsIAotICAgIDczMjU1LCAxNzUwMSwgNzMyNjYsIDczMjc0LCAxNzUxMywgNzMyODEsIDczMjg1LCA3MzI5NCwgMjczMjQsIDczMzAxLCAKLSAgICA3MzMwNSwgNzMzMTAsIDczMzI3LCA3MzMzOSwgMTA1NjksIDczMzUxLCA3MzM1NiwgNzMzNjEsIDczMzY2LCAyMDk5NywgCi0gICAgNzMzNzAsIDczMzc1LCA3MzM4MCwgNzMzODYsIDczMzkxLCA1ODQ2LCAyMTAwMSwgNzMzOTYsIDczNDAxLCA3MzQwNywgCi0gICAgNzM0MTQsIDczNDE5LCA3MzQyNCwgNzM0MzAsIDczNDM2LCA3MzQ0MiwgNzM0NDcsIDczNDUzLCA3MzQ1NywgNzM0NzEsIAotICAgIDczNDc5LCA3MzQ4NywgNzM0OTMsIDczNDk4LCA3MzUwNSwgNzM1MTUsIDczNTI0LCA3MzUyOSwgNzM1MzQsIDczNTQyLCAKLSAgICA3MzU0NywgNzM1NTMsIDczNTU4LCA3MzU2NywgNTk3ODYsIDczNTcyLCA3MzU3NSwgNzM1OTMsIDczNjEyLCA3MzYyNSwgCi0gICAgNzM2MzksIDczNjU1LCA3MzY2MiwgNzM2NjksIDczNjc1LCA3MzY4MiwgNzM2ODcsIDczNjkzLCA3MzY5OSwgNzM3MDcsIAotICAgIDczNzEzLCA3MzcxOCwgNzM3MjMsIDczNzM5LCAxMDU4MiwgNzM3NTMsIDczNzYwLCA3Mzc2OCwgNzM3NzQsIDczNzc4LCAKLSAgICA3Mzc4MSwgNzM3ODYsIDczNzkxLCA3Mzc5OCwgNzM4MDMsIDczODEyLCA3MzgxNywgNzM4MjMsIDczODMyLCA3Mzg0MSwgCi0gICAgNzM4NDYsIDczODUwLCA3Mzg1OCwgNzM4NjcsIDExNjY3LCA3Mzg3NiwgNzM4ODQsIDczODg5LCA3Mzg5NSwgMTE2NzgsIAotICAgIDczOTAwLCA3MzkwMywgNzM5MDgsIDczOTE4LCA3MzkyNywgNzM5MzIsIDczOTM4LCA3Mzk0MywgNzM5NTEsIDczOTU4LCAKLSAgICA3Mzk2OSwgNzM5NzksIDczOTg0LCA2NDgzNCwgNzM5ODksIDczOTk1LCA3NDAwMCwgNzQwMDcsIDc0MDE2LCA3NDAyNCwgCi0gICAgNzQwMzAsIDc0MDM2LCA3NDA0MywgNzQwNDksIDc0MDUzLCAxNjk0NywgMzA1NSwgNzQwNTgsIDc0MDYyLCA3NDA2NiwgCi0gICAgNzQwNzIsIDc0MDgxLCA3NDA4NywgNzQwOTQsIDc0MDk4LCA3NDExOSwgNzQxNDEsIDc0MTU3LCA3NDE3NCwgNzQxOTMsIAotICAgIDc0MjAyLCA3NDIxMiwgNzQyMTksIDc0MjI2LCAyNzIxMSwgNzQyMzIsIDc0MjM2LCA3NDI0NCwgNzQyNTYsIDc0MjYyLCAKLSAgICA3NDI3MCwgNzQyNzQsIDc0MjgyLCA3NDI4OSwgNzQyOTMsIDc0Mjk5LCA3NDMwNSwgNzQzMTAsIDM1NjMsIDQxODg3LCAKLSAgICA3NDMxNiwgNzQzMjAsIDc0MzI0LCA3NDMyOCwgNzQzMzMsIDc0MzM4LCA3NDM0MywgNzQzNDksIDc0MzU1LCA3NDM2MSwgCi0gICAgNzQzNjgsIDc0Mzc0LCA3NDM4MSwgNzQzODcsIDc0MzkzLCA3NDM5OCwgNzQ0MDQsIDc0NDA5LCA3NDQxMywgNzQ0MTgsIAotICAgIDc0NDIyLCA3NDQyNywgNDE5MDIsIDc0NDMxLCA3NDQzNiwgNzQ0NDQsIDc0NDQ4LCA3NDQ1MywgNzQ0NjAsIDc0NDY5LCAKLSAgICA3NDQ3NSwgNzQ0NzksIDc0NDg2LCA3NDQ5MCwgNzQ0OTMsIDc0NTAwLCA3NDUwOSwgNzQ1MTQsIDc0NTE4LCA3NDUyNiwgCi0gICAgNzQ1MzUsIDc0NTM5LCA3NDU0NywgNzQ1NTMsIDc0NTU4LCA3NDU2MywgNzQ1NjksIDc0NTc1LCA3NDU4MCwgNzQ1ODQsIAotICAgIDc0NTkwLCA3NDU5NSwgNzQ1OTksIDc0NjAzLCA3NDYwNiwgNzQ2MTEsIDc0NjE5LCA3NDYyOSwgNzQ2MzQsIDM5Mzg3LCAKLSAgICA3NDY0MiwgNzQ2NTQsIDc0NjU4LCA3NDY2NCwgNzQ2NzYsIDc0Njg3LCA3NDY5NCwgNzQ3MDAsIDc0NzA3LCA3NDcxOSwgCi0gICAgNzQ3MjYsIDc0NzMyLCAyMTA3NSwgNzQ3MzYsIDc0NzQyLCA3NDc0OSwgNzQ3NTUsIDc0NzYxLCA3NDc2NiwgNzQ3NzEsIAotICAgIDc0Nzc2LCA3NDc4NSwgNzAzMywgNzQ3OTAsIDE2NDEzLCA3NDc5NiwgNzQ4MDAsIDc0ODA0LCA3NDgwOCwgNzQ4MTYsIAotICAgIDc0ODI1LCA3NDgyOSwgNzQ4MzYsIDc0ODQ1LCA3NDg1OCwgNzQ4NjQsIDc0NDIzLCAzMDA2NywgNzQ4NjksIDc0ODcxLCAKLSAgICA3NDg3NiwgNzQ4ODEsIDc0ODg2LCA3NDg5MSwgNzQ4OTYsIDc0OTAxLCA3NDkwNiwgNzQ5MTEsIDc0OTE2LCA3NDkyMSwgCi0gICAgNzQ5MjYsIDc0OTMxLCA3NDkzNiwgNzQ5NDEsIDc0OTQ3LCA3NDk1MiwgNzQ5NTcsIDc0OTYyLCA3NDk2NywgNzQ5NzIsIAotICAgIDc0OTc3LCA3NDk4MiwgNzQ5ODcsIDc0OTkzLCA3NDk5OSwgNzUwMDUsIDc1MDEwLCA3NTAxNSwgNzUwMjcsIDc1MDMyLCAKLSAgICAxODcwLCA0OSwgNzUwMzcsIDc1MDQyLCAzMjcyMSwgNzUwNDYsIDMyNzI2LCAzMjczMSwgMzI3MzcsIDMyNzQyLCA3NTA1MCwgCi0gICAgMzI3NDcsIDIyMDcwLCA3NTA3MiwgNzUwNzYsIDc1MDgwLCA3NTA4NSwgNzUwODksIDMyNzUxLCA3NTA5MywgNzUxMDEsIAotICAgIDMyNzU2LCA3NTEwOCwgNzUxMTEsIDc1MTE2LCA3NTEyMCwgOTUzNiwgNzUxMjksIDMyNzYxLCAyMTkzMiwgNzUxMzIsIAotICAgIDc1MTM2LCAxNDI4LCA3NTE0MSwgMzI3NzIsIDc1MTQ0LCA3NTE0OSwgMjU3MjAsIDI1NzMwLCAzNTIzMywgNzUxNTQsIAotICAgIDc1MTU5LCA3NTE2NCwgNzUxNjksIDc1MTc1LCA3NTE4MCwgNzUxODksIDc1MTk0LCA3NTIwMSwgNzUyMDcsIDc1MjEyLCAKLSAgICA3NTIxNywgNzUyMjIsIDc1MjMyLCA3NTI0MSwgNzUyNDYsIDc1MjU0LCA3NTI1OCwgNzUyNjYsIDMyNTg2LCAzNzI4OCwgCi0gICAgNzUyNzMsIDc1Mjc5LCA3NTI4NCwgNzUyODksIDEyMDA5LCA3NTI5NCwgNzUzMDAsIDc1MzA1LCA3NTMxMiwgNzUzMTgsIAotICAgIDc1MzIzLCA3NTMzMSwgNzUzNDEsIDc1MzUxLCA3NTM1NywgNzUzNjIsIDc1MzY4LCAxNzUyMywgNzUzNzUsIDM2MDQ4LCAKLSAgICA3NTM4OCwgNzUzOTMsIDc1Mzk5LCAzMDk2OCwgNzU0MTIsIDc1NDE4LCA3NTQyMiwgNzU0MzEsIDc1NDM4LCA3NTQ0NCwgCi0gICAgNzU0NTIsIDc1NDYxLCA3NTQ2OCwgNzU0NzQsIDc1NDc3LCA3NTQ4MSwgMjU4NjEsIDc1NDg1LCA3NTQ5MiwgNzU0OTgsIAotICAgIDc1NTA2LCA3NTUxMSwgMjM5NzcsIDc1NTE3LCA3NTUyMCwgNzU1MjgsIDc1NTM2LCA3NTU1MCwgNzU1NTcsIDc1NTYzLCAKLSAgICA3NTU3MCwgNzU1NzYsIDMyNzg2LCA3NTU4MCwgNzU1ODcsIDc1NTk1LCA3NTYwMywgNzU2MDksIDMyNzkxLCA3NTYxNywgCi0gICAgNzU2MjMsIDc1NjI4LCA3NTYzOCwgNzU2NDQsIDc1NjUzLCAzMDgwNSwgMzQ2OTEsIDc1NjYxLCA3NTY2NiwgNzU2NzEsIAotICAgIDc1Njc1LCA3NTY4MCwgNzU2ODQsIDc1NjkyLCAxNDkwNywgMzk0MDAsIDc1Njk3LCA3NTcwMiwgMzI3OTYsIDYyMjMyLCAKLSAgICA3NTcwNiwgNzU3MTEsIDc1NzE1LCA3NTcyNCwgNzU3MzIsIDc1NzM4LCA3NTc0MywgNzU3NDksIDc1NzU2LCA3NTc2MiwgCi0gICAgNzU3NjcsIDc1NzcyLCA3NTc4MSwgNzU3OTMsIDc1ODA4LCAzMzA1OCwgNzU4MTQsIDE2NTMyLCAzMjgwMCwgNzU4MTgsIAotICAgIDc1ODI1LCAyNDA4NywgNzU4MzEsIDc1ODM4LCA3NTg0NywgNzU4NTQsIDc1ODYzLCA3NTg2OSwgNzU4NzQsIDc1ODgyLCAKLSAgICA3NTg4OCwgMzI4MTAsIDc1ODkzLCA3NTkwMiwgNzQ2ODIsIDc1OTExLCA3NTkxOCwgNzU5MjQsIDc1OTMwLCA3NTk0MCwgCi0gICAgNzU5NDgsIDc1OTU1LCA3NTk1OSwgMzI4MTUsIDc1OTYyLCAzMjgyMSwgMzI4MjcsIDc1OTY3LCA3NTk3NSwgNzU5ODMsIAotICAgIDc1OTkzLCA3NjAwMiwgNzYwMTAsIDc2MDE3LCA3NjAyNywgMzI4MzIsIDc2MDMxLCA3NjAzMywgNzYwMzcsIDc2MDQyLCAKLSAgICA3NjA0NiwgNzYwNTAsIDc2MDU2LCA3NjA2MSwgNzYwNjUsIDc2MDc2LCA3NjA4MSwgNzYwODYsIDMwNjAsIDc2MDkwLCAKLSAgICA3NjA5NywgNzYxMDEsIDc2MTEwLCA3NjExOCwgNzYxMjUsIDc2MTMwLCA3NjEzNSwgNjIyNzgsIDc2MTM5LCA3NjE0MiwgCi0gICAgNzYxNDgsIDc2MTU2LCA3NjE2MiwgNzYxNjYsIDc2MTcxLCA3NjE3OCwgNzYxODMsIDc2MTg5LCAzNDcyMiwgNzYxOTQsIAotICAgIDc2MTk3LCA3NjIwMiwgNzYyMDYsIDc2MjExLCA3NjIxNiwgNzYyMjAsIDc2MjI4LCA3NjIzMiwgMjU3MzksIDI1NzQ4LCAKLSAgICA3NjIzOCwgNzYyNDQsIDc2MjUwLCA3NjI1NSwgNzYyNTksIDc2MjYyLCA3NjI3MiwgNzYyODEsIDc2Mjg2LCA3NjI5MiwgCi0gICAgNzYyOTksIDc2MzA1LCA3NjMwOSwgNzYzMTcsIDc2MzIyLCAzNDcyOCwgNzYzMjYsIDc2MzM0LCA3NjM0MCwgNzYzNDcsIAotICAgIDc2MzUyLCA3NjM1NiwgNzYzNjEsIDU4NDAzLCAzNDczNCwgNzYzNjcsIDc2MzcyLCA3NjM3NiwgNzYzODEsIDc2Mzg2LCAKLSAgICA3NjM5MSwgNzYzOTUsIDc2NDAwLCA3NjQwNSwgNzY0MTEsIDc2NDE2LCA3NjQyMSwgNzY0MjcsIDc2NDMzLCA3NjQzOCwgCi0gICAgNzY0NDIsIDc2NDQ3LCA3NjQ1MiwgNzY0NTcsIDc2NDYxLCAyNDA4NiwgNzY0NjYsIDc2NDcxLCA3NjQ3NywgNzY0ODMsIAotICAgIDc2NDg5LCA3NjQ5NCwgNzY0OTgsIDc2NTAzLCA3NjUwOCwgNzY1MTMsIDc2NTE3LCA3NjUyMiwgNzY1MjcsIDc2NTMyLCAKLSAgICA3NjUzNywgNzY1NDEsIDMyODQwLCA3NjU0OSwgNzY1NTMsIDc2NTYxLCA3NjU2OSwgNzY1ODAsIDc2NTg1LCA3NjU4OSwgCi0gICAgMjIzODQsIDc2NTk0LCA3NjYwMCwgNzY2MTAsIDc2NjE3LCA3NjYyMiwgNzY2MzEsIDc2NjM2LCA3NjY0MCwgNzY2NDUsIAotICAgIDc2NjUzLCA3NjY2MSwgNzY2NjgsIDY1MDY4LCA3NjY3NCwgNzY2ODIsIDc2Njg5LCA3NjcwMCwgNzY3MDYsIDc2NzEwLCAKLSAgICA3NjcxNiwgMzI4NTAsIDc2NzE5LCA3NjcyNiwgNzY3MzQsIDc2NzM5LCAzOTU5MSwgNzY3NDMsIDc2NzQ4LCA3Njc1NSwgCi0gICAgNzY3NjAsIDg5ODUsIDc2NzY0LCA3Njc3MiwgNzY3NzksIDc2Nzg2LCA3Njc5MiwgNzY4MDYsIDYzMzQwLCA3NjgxNCwgCi0gICAgNzY4MjAsIDc2ODI0LCA3NjgyNywgNzY4MzUsIDc2ODQyLCA3Njg0NywgNzY4NjAsIDc2ODY3LCA3Njg3MSwgNzY4NzgsIAotICAgIDc2ODgzLCA2MDgyMywgNzY4ODgsIDc2ODkxLCA3Njg5OCwgNzY5MDQsIDc2OTA4LCA3NjkxNiwgNzY5MjUsIDc2OTM1LCAKLSAgICA3Njk0NSwgNzY5NTQsIDc2OTYyLCA3Njk3MywgNzY5NzgsIDc2OTgyLCA3Njk4NywgNzY5OTEsIDM1MzY0LCA3Njk5OSwgCi0gICAgMjEzNDQsIDM1MzczLCA3NzAwNCwgNzcwMDksIDc3MDE0LCA3NzAxOSwgNzcwMjQsIDc3MDI5LCA3NzAzNCwgNzcwMzgsIAotICAgIDc3MDQzLCA3NzA0OCwgNzcwNTMsIDc3MDU4LCA3NzA2MywgNzcwNjgsIDc3MDcyLCA3NzA3NywgNzcwODIsIDc3MDg2LCAKLSAgICA3NzA5MCwgNzcwOTQsIDc3MDk4LCA3NzEwMywgNzcxMDgsIDc3MTEyLCA3NzExNywgNzcxMjEsIDc3MTI1LCA3NzEzMCwgCi0gICAgNzcxMzUsIDc3MTQwLCA3NzE0NSwgNzcxNDksIDc3MTU0LCA3NzE1OSwgNzcxNjMsIDc3MTY4LCA3NzE3MywgNzcxNzgsIAotICAgIDc3MTgzLCA3NzE4OCwgNzcxOTMsIDc3MTk4LCA3NzIwMywgNzcyMDgsIDc3MjEzLCA3NzIxOCwgNzcyMjMsIDc3MjI4LCAKLSAgICA3NzIzMywgNzcyMzgsIDc3MjQzLCA3NzI0OCwgNzcyNTMsIDc3MjU4LCA3NzI2MywgNzcyNjcsIDc3MjcyLCA3NzI3NywgCi0gICAgNzcyODIsIDc3Mjg3LCA3NzI5MiwgNzcyOTcsIDc3MzAyLCA3NzMwNywgNzczMTIsIDc3MzE3LCA3NzMyMiwgNzczMjYsIAotICAgIDc3MzMxLCA3NzMzNSwgNzczNDAsIDc3MzQ1LCA3NzM1MCwgNzczNTUsIDc3MzYwLCA3NzM2NSwgNzczNzAsIDc3Mzc1LCAKLSAgICA3NzM4MCwgNzczODQsIDc3Mzg4LCA3NzM5MywgNzczOTgsIDc3NDAyLCA3NzQwNywgNzc0MTIsIDc3NDE2LCA3NzQyMSwgCi0gICAgNzc0MjYsIDc3NDMxLCA3NzQzNiwgNzc0NDAsIDc3NDQ1LCA3NzQ1MCwgNzc0NTQsIDc3NDU5LCA3NzQ2MywgNzc0NjcsIAotICAgIDc3NDcxLCA3NzQ3NSwgNzc0ODAsIDc3NDg0LCA3NzQ4OCwgNzc0OTIsIDc3NDk2LCA3NzUwMCwgNzc1MDQsIDc3NTA4LCAKLSAgICA3NzUxMiwgNzc1MTYsIDc3NTIxLCA3NzUyNiwgNzc1MzEsIDc3NTM2LCA3NzU0MSwgNzc1NDYsIDc3NTUxLCA3NzU1NiwgCi0gICAgNzc1NjEsIDc3NTY2LCA3NzU3MCwgNzc1NzQsIDc3NTc4LCA3NzU4MiwgNzc1ODYsIDc3NTkwLCA3NzU5NSwgNzc1OTksIAotICAgIDc3NjA0LCA3NzYwOCwgNzc2MTMsIDc3NjE4LCA3NzYyMiwgNzc2MjYsIDc3NjMxLCA3NzYzNSwgNzc2MzksIDc3NjQzLCAKLSAgICA3NzY0NywgNzc2NTEsIDc3NjU1LCA3NzY1OSwgNzc2NjMsIDc3NjY3LCA3NzY3MSwgNzc2NzUsIDc3Njc5LCA3NzY4MywgCi0gICAgNzc2ODcsIDc3NjkyLCA3NzY5NywgNzc3MDEsIDc3NzA1LCA3NzcwOSwgNzc3MTMsIDc3NzE3LCA3NzcyMSwgNzc3MjYsIAotICAgIDc3NzMwLCA3NzczNCwgNzc3MzgsIDc3NzQyLCA3Nzc0NiwgNzc3NTAsIDc3NzU1LCA3Nzc1OSwgNzc3NjQsIDc3NzY4LCAKLSAgICA3Nzc3MiwgNzc3NzYsIDc3NzgwLCA3Nzc4NCwgNzc3ODgsIDc3NzkyLCA3Nzc5NiwgNzc4MDAsIDc3ODA0LCA3NzgwOCwgCi0gICAgNzc4MTMsIDc3ODE3LCA3NzgyMSwgNzc4MjUsIDc3ODI5LCA3NzgzMywgNzc4MzcsIDc3ODQxLCA3Nzg0NSwgNzc4NDksIAotICAgIDc3ODUzLCA3Nzg1NywgNzc4NjIsIDc3ODY2LCA3Nzg3MCwgNzc4NzUsIDc3ODgwLCA3Nzg4NCwgNzc4ODgsIDc3ODkyLCAKLSAgICA3Nzg5NiwgNzc5MDAsIDc3OTA0LCA3NzkwOCwgNzc5MTIsIDc3OTE3LCA3NzkyMSwgNzc5MjYsIDc3OTMwLCA3NzkzNSwgCi0gICAgNzc5MzksIDc3OTQ0LCA3Nzk0OCwgNzc5NTQsIDc3OTU5LCA3Nzk2MywgNzc5NjgsIDc3OTcyLCA3Nzk3NywgNzc5ODEsIAotICAgIDc3OTg2LCA3Nzk5MCwgNzc5OTUsIDE1MjEsIDc3OTk5LCAyODI0LCAxNzU5LCAxNzY0LCA3ODAwMywgNzgwMDcsIDI4MjgsIAotICAgIDc4MDExLCAxMzk3LCA3ODAxNiwgMTM0MiwgNzgwMjAsIDI4NDAsIDc4MDI0LCA3ODAzMSwgNzgwMzgsIDc4MDUyLCAyODQ0LCAKLSAgICA3MTMxLCA3ODA2MSwgNzgwNjksIDc4MDc2LCA3ODA4NywgNzgwOTYsIDc4MTAzLCA3ODExNSwgNzgxMjgsIDc4MTQxLCAKLSAgICA3ODE1MiwgNzgxNTcsIDc4MTY0LCA3ODE3NiwgNzgxODAsIDI4NDgsIDExNzQwLCA3ODE5MCwgNzgxOTUsIDc4MjA0LCAKLSAgICA3ODIxNCwgMjg1MiwgNzgyMTksIDc4MjIzLCA3ODIyOCwgNzgyMzUsIDc4MjQxLCA3ODI0OSwgNzgyNjEsIDEzNDcsIAotICAgIDEzMDM1LCA3ODI3MSwgNzgyNzUsIDc4MjgxLCA3ODI5NSwgNzgzMDcsIDc4MzE5LCA3ODMyOSwgNzgzMzgsIDc4MzQ3LCAKLSAgICA3ODM1NiwgNzgzNjQsIDc4Mzc1LCA3ODM4MywgNDA1MSwgNzgzOTMsIDc4NDA0LCA3ODQxMywgNzg0MTksIDc4NDM0LCAKLSAgICA3ODQ0MSwgNzg0NDcsIDM1NDg5LCA3ODQ1MiwgMjg3NiwgMTMwMzksIDc4NDU2LCA3ODQ2MywgODkzMCwgNzg0NzIsIDI4ODEsIAotICAgIDMyMzM2LCA3ODQ3OCwgNjA1NzIsIDc4NDg1LCA3ODQ5MSwgNzg1MDIsIDc4NTA4LCA3ODUxNSwgNzg1MjEsIDc4NTI5LCAKLSAgICA3ODUzNiwgNzg1NDIsIDc4NTUyLCA3ODU2MSwgNzg1NzIsIDc4NTc5LCA3ODU4NSwgNzg1OTUsIDc4NjAzLCA3ODYwOSwgCi0gICAgNzg2MjQsIDc4NjMwLCA3ODYzNSwgNzg2NDIsIDc4NjQ1LCA3ODY1MSwgNzg2NTgsIDc4NjY0LCA3ODY3MiwgNzg2ODEsIAotICAgIDc4Njg5LCA3ODY5NSwgNzg3MDQsIDQxNDI3LCA3ODcxOCwgNzg3MjMsIDc4NzI5LCAxNDc0NCwgNzg3MzQsIDc4NzQ3LCAKLSAgICA3ODc1NiwgNzg3NjQsIDc4NzcxLCA3ODc3NSwgNzg3NzksIDc4NzgyLCA3ODc4OSwgNzg3OTYsIDc4ODA0LCA3ODgxMiwgCi0gICAgNzg4MjEsIDc4ODI5LCAxNDY3MSwgNzg4MzcsIDc4ODQyLCA3ODg0NiwgNzg4NTgsIDc4ODY1LCA3ODg3NCwgNzQ4LCAKLSAgICA3ODg4NCwgNzg4OTMsIDc4OTA0LCAyODk3LCA3ODkwOCwgNzg5MTIsIDc4OTE4LCA3ODkzMSwgNzg5NDMsIDc4OTUzLCAKLSAgICA3ODk2MiwgNzg5NzQsIDI2MzUyLCA3ODk4NSwgNzg5OTMsIDc5MDAyLCA3OTAxMywgNzkwMjQsIDc5MDM0LCA3OTA0NCwgCi0gICAgNzkwNTMsIDc5MDYxLCAxMTMwNSwgNzkwNjgsIDc5MDcyLCA3OTA3NSwgNzkwODAsIDc5MDg1LCA3OTA4OSwgNzkwOTUsIAotICAgIDEzNTIsIDExODExLCA3OTEwMiwgNzkxMTMsIDc5MTIyLCA3OTEzMCwgNzkxMzksIDc5MTQ3LCA3OTE2MywgNzkxNzQsIAotICAgIDc5MTgzLCA3OTE5MSwgNzkyMDMsIDc5MjE0LCA3OTIzMCwgNzkyNDAsIDc5MjYxLCA3OTI3NCwgNzkyODIsIDc5Mjg5LCAKLSAgICAxNDg1NSwgNzkzMDIsIDc5MzA3LCA3OTMxMywgNTkwOCwgNzkzMTksIDc5MzIyLCA3OTMyOSwgNzkzMzksIDgxNzYsIAotICAgIDc5MzQ2LCA3OTM1MSwgNzkzNTYsIDc5MzYxLCA3OTM2OSwgNzkzNzgsIDc5Mzg2LCA5NzQ5LCA5NzU4LCA3OTM5MSwgCi0gICAgNzk0MDIsIDc5NDA3LCA3OTQxMywgMjkxMywgMjkxOCwgNzk0MTksIDEwODcyLCA3OTQyNSwgNzk0MzIsIDc5NDM5LCAKLSAgICA3OTQ1MiwgMjI1MSwgNjgsIDc5NDU3LCA3OTQ2MiwgNzk0NzIsIDc5NDc4LCA3OTQ4NywgNzk0OTUsIDc5NTA1LCA3OTUwOSwgCi0gICAgNzk1MTQsIDc5NTE4LCA3OTUzMCwgMjk0MSwgNzk1MzgsIDc5NTQ2LCA3OTU1MSwgNzk1NjIsIDc5NTczLCA3OTU4MiwgCi0gICAgNzk1ODcsIDc5NTkzLCA3OTU5OCwgNzk2MDgsIDc5NjE4LCA3OTYyMywgNzk2MjksIDc5NjM0LCA3OTY0MywgMjEzOTcsIAotICAgIDc5NjQ3LCA0MTI4LCAyMCwgNzk2NTIsIDc5NjYxLCA3OTY2OCwgNzk2NzUsIDc5NjgxLCA3OTY4NywgODY0LCA3OTY5MiwgCi0gICAgNzk2OTcsIDYwOTAwLCA3OTcwMiwgNzk3MDcsIDc5NzEzLCA3OTcxOSwgNzk3MjcsIDc5NzMyLCA3OTczOSwgNzk3NDUsIAotICAgIDc5NzUwLCAzODAwMSwgNDEzMjEsIDc5NzU2LCAyOTQ1LCAzMiwgNzk3NjYsIDc5Nzc5LCA3OTc4NCwgNzk3OTIsIDc5Nzk3LCAKLSAgICA3OTgwMywgMjk2NywgMjgyODksIDc5ODA4LCA3OTgxNiwgNzk4MjMsIDc5ODI4LCA1ODY0NSwgNjE5MDMsIDc5ODM3LCAKLSAgICA3OTg0MSwgMTcwNCwgMTgxMywgNzk4NDYsIDc5ODUxLCA3OTg1OCwgMTgxNywgMjQ3LCA3OTg2NSwgNzk4NzEsIDI5ODksIAotICAgIDc5ODc2LCA3OTg4MSwgNzk4ODgsIDE4MjEsIDc5ODkzLCA3OTg5OSwgNzk5MDQsIDc5OTE2LCA2MTE5LCA3OTkyNiwgMTgyOCwgCi0gICAgNzk5MzIsIDc5OTM3LCA3OTk0NCwgNzk5NTEsIDc5OTY2LCA3OTk3MywgNzk5ODQsIDc5OTkyLCAyNjE4LCA3OTk5NiwgCi0gICAgODAwMDgsIDgwMDEzLCA4MDAxNywgODAwMjMsIDI4MTE0LCAyMjU2LCA4MDAyNywgODAwMzgsIDgwMDQyLCA4MDA0NiwgCi0gICAgODAwNTIsIDgwMDU2LCA4MDA2NSwgODAwNjksIDgwMDgwLCA4MDA4NCwgMjMwMiwgMzIxNjUsIDgwMDg4LCA4MDA5OCwgCi0gICAgMzA4MCwgOTM2NCwgODAxMDYsIDgwMTExLCA4MDExNSwgODAxMjQsIDgwMTMxLCA4MDEzNywgMzA1MCwgMTcxMzksIDgwMTQxLCAKLSAgICA4MDE1NCwgODAxNzIsIDgwMTc3LCA4MDE4NSwgODAxOTMsIDgwMjAzLCA5OTc4LCAxMzE0NywgODAyMTUsIDgwMjI4LCAKLSAgICA4MDIzNSwgODAyNDIsIDgwMjU4LCA4MDI2NSwgODAyNzEsIDEwOTUsIDgwMjc4LCA4MDI4NSwgODAyOTUsIDgwMzA0LCAKLSAgICA4MDMxNiwgNDIyOTEsIDgwMzI0LCAzMDY0LCAxMjAyMywgODAzMjcsIDgwMzM1LCA4MDMzOSwgNzgyMzEsIDMwNjgsIAotICAgIDgwMzQzLCAyMTE3OCwgMTIwMzksIDM3NTYsIDgwMzQ3LCAzMDc0LCA4MDM1MSwgODAzNjEsIDgwMzY3LCA4MDM3MywgCi0gICAgODAzNzksIDgwMzg1LCA4MDM5MSwgODAzOTcsIDgwNDAzLCA4MDQwOSwgODA0MTUsIDgwNDIxLCA4MDQyNywgODA0MzMsIAotICAgIDgwNDM5LCA4MDQ0NSwgODA0NTEsIDgwNDU3LCA4MDQ2MywgODA0NjksIDgwNDc1LCA4MDQ4MSwgODA0ODcsIDgwNDkzLCAKLSAgICA4MDQ5OSwgODA1MDUsIDgwNTExLCA4MDUxOCwgODA1MjUsIDgwNTMxLCA4MDUzNywgODA1NDMsIDgwNTQ5LCA4MDU1NSwgCi0gICAgODA1NjEsIDEzNTcsIDE2MDQ5LCAxMjA2MSwgODA1NjcsIDgwNTcyLCA4MDU3NywgODA1ODIsIDgwNTg3LCA4MDU5MiwgCi0gICAgODA1OTcsIDgwNjAyLCA4MDYwNywgODA2MTIsIDgwNjE3LCA4MDYyMiwgODA2MjcsIDgwNjMyLCA4MDYzNywgODA2NDIsIAotICAgIDgwNjQ3LCA4MDY1MiwgODA2NTcsIDgwNjYyLCA4MDY2NywgODA2NzIsIDgwNjc3LCA4MDY4MiwgODA2ODcsIDgwNjkyLCAKLSAgICA4MDY5OCwgODA3MDMsIDgwNzA4LCA4MDcxNCwgODA3MTksIDgwNzI1LCA4MDczMCwgODA3MzUsIDgwNzQxLCA4MDc0NiwgCi0gICAgODA3NTEsIDgwNzU2LCA4MDc2MSwgODA3NjYsIDgwNzcxLCA4MDc3NiwgODA3ODEsIDgwMzYyLCA4MDM2OCwgODAzNzQsIAotICAgIDgwMzgwLCA4MDM4NiwgODAzOTIsIDgwMzk4LCA4MDQwNCwgODA0MTAsIDgwNDE2LCA4MDQyMiwgODA0MjgsIDgwNDM0LCAKLSAgICA4MDQ0MCwgODA0NDYsIDgwNzg3LCA4MDQ1MiwgODA0NTgsIDgwNDY0LCA4MDc5MywgODA0NzAsIDgwNDc2LCA4MDQ4MiwgCi0gICAgODA0ODgsIDgwNDk0LCA4MDUwMCwgODA1MDYsIDgwNTI2LCA4MDc5OSwgODA4MDUsIDgwNTMyLCA4MDgxMSwgODA1MzgsIAotICAgIDgwNTQ0LCA4MDU1MCwgODA1NTYsIDgwNTYyLCAzMDkxLCAzMDk2LCA4MDgxNywgODA4MjIsIDgwODI1LCA4MDgzMSwgCi0gICAgODA4MzcsIDgwODQ0LCA4MDg0OSwgODA4NTQsIDIzMDcsIAorICAgIDg5MzUsIDg5MzksIDg5NDQsIDg5NDksIDg5NTYsIDg5NjIsIDg5NzIsIDc5MDksIDg5NzgsIDg5ODIsIDg5ODksIDg5OTYsIAorICAgIDc2OCwgOTAwMCwgOTAwNCwgOTAwOSwgOTAxNCwgOTAxOSwgOTAyMywgOTAyOSwgOTAzNywgOTA0MywgOTA0NywgOTA1MywgCisgICAgOTA2MywgOTA2NywgOTA3MywgOTA3OCwgOTA4MiwgOTA4OCwgOTA5NCwgMjE2MSwgOTA5OSwgOTEwMSwgOTEwNiwgOTExNCwgCisgICAgOTEyMywgOTEyNywgOTEzMywgOTEzOCwgOTE0MywgOTE0OCwgOTE1MywgOTE1OSwgOTE2NCwgOTE2OSwgNDAwNiwgOTE3NCwgCisgICAgOTE3OSwgOTE4MywgOTE4OSwgOTE5NCwgOTIwMCwgOTIwNSwgOTIxMCwgOTIxNiwgOTIyMSwgOTEyOCwgOTIyNywgOTIzMSwgCisgICAgOTIzOCwgOTI0NCwgOTI0OSwgOTI1MywgNjE4MywgOTI1OCwgOTI2NywgOTI3MiwgOTI3NywgODIxOCwgODIyNSwgOTI4MiwgCisgICAgMjg1MywgOTI4NiwgOTI5MSwgOTI5NiwgOTEzOSwgOTMwMCwgOTMwNSwgOTE0NCwgOTE0OSwgOTMxMCwgOTMxNywgOTMyNCwgCisgICAgOTMzMCwgOTMzNiwgOTM0MiwgOTM0NywgOTM1MiwgOTM1NywgOTE1NCwgOTE2MCwgOTM2MywgOTM2OSwgOTM3NCwgOTM4MiwgCisgICAgOTE2NSwgOTM4NywgOTkwLCA5MzkwLCA5Mzk4LCA5NDA0LCA5NDEwLCA5NDE5LCA5NDI3LCA5NDMyLCA5NDM4LCA5NDQ2LCAKKyAgICA5NDUzLCA5NDY4LCA5NDg1LCA5NTA0LCA5NTEzLCA5NTIxLCA5NTM2LCA5NTQ3LCA5NTU3LCA5NTY3LCA5NTc1LCA5NTgxLCAKKyAgICA5NTkzLCA5NjAyLCA5NjEwLCA5NjE3LCA5NjI0LCA5NjMwLCA5NjM1LCA5NjQzLCA5NjUzLCA5NjYwLCA5NjcwLCA5NjgwLCAKKyAgICA5NjkwLCA5Njk4LCA5NzA1LCA5NzE0LCA5NzI0LCA5NzM4LCA5NzUzLCA5NzYyLCA5NzcwLCA5Nzc1LCA5Nzc5LCA5Nzg4LCAKKyAgICA5Nzk0LCA5Nzk5LCA5ODA5LCA5ODE5LCA5ODI5LCA5ODM0LCA5ODM4LCA5ODQ3LCA5ODUyLCA5ODYyLCA5ODczLCA5ODg2LCAKKyAgICA5ODk0LCA5OTA3LCA5OTE5LCA5OTI3LCA5OTMyLCA5OTM2LCA5OTQyLCA5OTQ3LCA5OTU1LCA5OTYzLCA5OTcwLCA5OTc1LCAKKyAgICA5OTgzLCA5OTg5LCA5OTkyLCA5OTk2LCAxMDAwMiwgMTAwMTAsIDEwMDE1LCAxMDAxOSwgMTAwMjcsIDEwMDM2LCAxMDA0NCwgCisgICAgMTAwNTAsIDEwMDU0LCAxMDA2MSwgMTAwNzIsIDEwMDc2LCAxMDA3OSwgMTAwODUsIDkxNzAsIDEwMDkwLCAxMDA5NiwgCisgICAgMTAxMDMsIDEwMTA5LCAxMDExNCwgMTAxMjEsIDEwMTI4LCAxMDEzNSwgMTAxNDIsIDEwMTQ5LCAxMDE1NiwgMTAxNjMsIAorICAgIDEwMTcwLCAxMDE3NSwgOTQ4MSwgMTAxODAsIDEwMTg2LCAxMDE5MywgMTAyMDAsIDEwMjA1LCAxMDIxMiwgMTAyMjEsIAorICAgIDEwMjI1LCAxMDIzNywgODI1NiwgMTAyNDEsIDEwMjQ0LCAxMDI0OCwgMTAyNTIsIDEwMjU2LCAxMDI2MCwgMTAyNjYsIAorICAgIDEwMjcyLCAxMDI3NywgMTAyODMsIDEwMjg4LCAxMDI5MywgMTAyOTksIDEwMzA0LCAxMDMwOSwgODk1MiwgMTAzMTQsIAorICAgIDEwMzE4LCAxMDMyMiwgMTAzMjYsIDEwMzMxLCAxMDMzNiwgMTAzNDQsIDEwMzUwLCAxMDM1NCwgMTAzNTgsIDEwMzY1LCAKKyAgICAxMDM3MCwgMTAzNzgsIDEwMzgzLCAxMDM4NywgMTAzOTAsIDEwMzk2LCAxMDQwMywgMTA0MDcsIDEwNDEwLCAxMDQxNSwgCisgICAgMTA0MTksIDQwNDUsIDEwNDI1LCAxMDQzNCwgMzYsIDEwNDQyLCAxMDQ0OCwgMTA0NTMsIDg5NjcsIDEwNDU4LCAxMDQ2MywgCisgICAgMTA0NjcsIDEwNDcwLCAxMDQ4NSwgMTA1MDQsIDEwNTE2LCAxMDUyOSwgMTA1NDIsIDEwNTU1LCAxMDU2OSwgMTA1ODIsIAorICAgIDEwNTk3LCAxMDYwNCwgOTE3NSwgMTA2MTAsIDEwNjI0LCAxMDYyOSwgMTA2MzUsIDEwNjQwLCAxMDY0OCwgMTA2NTMsIAorICAgIDgwNDAsIDEwNjU4LCAxMDY2MSwgMTA2NjgsIDEwNjczLCAxMDY3NywgMjg1OCwgOTk4LCAxMDY4MywgMTA2ODcsIDEwNjkzLCAKKyAgICAxMDY5OSwgMTA3MDQsIDEwNzEwLCAxMDcxNSwgOTE4NCwgMTA3MjEsIDEwNzI3LCAxMDczMiwgMTA3MzcsIDEwNzQ1LCAKKyAgICAxMDc1MSwgMTA3NjQsIDEwNzcyLCAxMDc3OSwgOTE5MCwgMTA3ODUsIDEwNzkzLCAxMDgwMSwgMTA4MDgsIDEwODIxLCAKKyAgICAxMDgzMywgMTA4NDMsIDEwODUxLCAxMDg1OCwgMTA4NjUsIDEwODc0LCAxMDg4MywgMTA4OTEsIDEwODk4LCAxMDkwMywgCisgICAgMTA5MDksIDkxOTUsIDEwOTE0LCAxMDkyMCwgOTIwMSwgMTA5MjUsIDEwOTI4LCAxMDkzNSwgMTA5NDEsIDEwOTU0LCA4NjY5LCAKKyAgICAxMDk2NSwgMTA5NzEsIDEwOTgwLCAxMDk4OCwgMTA5OTUsIDExMDAxLCAxMTAwNywgMTEwMTIsIDExMDE2LCAxMTAyMSwgCisgICAgMTA0NzcsIDExMDI3LCA5MjA2LCAxMTAzNCwgMTEwMzksIDExMDQ2LCAxMTA1MiwgMTEwNTgsIDExMDYzLCAxMTA3MSwgCisgICAgMTEwNzksIDExMDg2LCAxMTA5MCwgMTExMDQsIDExMTE0LCAxMTExOSwgMTExMjMsIDExMTM0LCAxMTE0MCwgMTExNDUsIAorICAgIDExMTUwLCA5MjExLCA5MjE3LCAxMTE1NCwgMTExNTcsIDExMTYyLCAxMTE3NCwgMTExODEsIDExMTg2LCAxMTE5MCwgCisgICAgMTExOTUsIDExMTk5LCAxMTIwNiwgMTEyMTIsIDkyMjIsIDkxMjksIDExMjE5LCAyODYzLCA4LCAxMTIyNiwgMTEyMzEsIAorICAgIDExMjM1LCAxMTI0MSwgMTEyNDksIDExMjU5LCAxMTI2NCwgMTEyNjksIDExMjc2LCAxMTI4MywgMTEyODcsIDExMjk4LCAKKyAgICAxMTMwOCwgMTEzMTcsIDExMzI5LCAxMTMzNCwgMTEzMzgsIDExMzQ2LCAxMTM2MCwgMTEzNjQsIDExMzY3LCAxMTM3NSwgCisgICAgMTEzODIsIDExMzkwLCAxMTM5NCwgMTE0MDUsIDExNDA5LCAxMTQxNiwgMTE0MjEsIDExNDI1LCAxMTQzMSwgMTE0MzYsIAorICAgIDExNDQwLCAxMTQ0NiwgMTE0NTEsIDExNDYyLCAxMTQ2NiwgMTE0NjksIDExNDc1LCAxMTQ4MCwgMTE0ODYsIDExNDkyLCAKKyAgICAxMTQ5OSwgMTE1MTAsIDExNTIwLCAxMTUzMCwgMTE1MzksIDExNTQ2LCAxMTU1NSwgOTIzMiwgOTIzOSwgOTI0NSwgOTI1MCwgCisgICAgMTE1NjEsIDExNTY3LCA5MjU0LCAxMTU3MywgMTE1NzYsIDExNTgzLCAxMTU4OCwgMTE2MDMsIDExNjE5LCAxMTYzNCwgCisgICAgMTE2NDIsIDExNjQ4LCAxMTY1MywgODM4LCA0MjAsIDExNjU4LCAxMTY2NiwgMTE2NzMsIDExNjc5LCAxMTY4NCwgMTE2ODksIAorICAgIDkyNTksIDExNjkxLCAxMTY5NSwgMTE3MDAsIDExNzA0LCAxMTcxNCwgMTE3MTksIDExNzIzLCAxMTczMiwgMTE3MzYsIAorICAgIDExNzM5LCA5MjY4LCAxMTc0NiwgMTE3NDksIDExNzU3LCAxMTc2NCwgMTE3NzIsIDExNzc2LCAxMTc4MywgMTE3OTIsIAorICAgIDExNzk1LCAxMTc5OSwgMTE4MDMsIDExODA5LCAxMTgxMywgMTE4MTcsIDExODIxLCAxMTgyNywgMTE4MzcsIDExODQxLCAKKyAgICAxMTg0OSwgMTE4NTMsIDExODYwLCAxMTg2NCwgMTE4NjksIDExODczLCAxMTg4MCwgMTE4ODYsIDExODk0LCAxMTkwMCwgCisgICAgMTE5MDUsIDExOTE1LCAxMTkyMCwgMTE5MjUsIDExOTI5LCAxMTkzNywgMzkwNSwgMTE5NDUsIDExOTUwLCA5MjczLCAKKyAgICAxMTk1NCwgMTE5NTgsIDExOTYxLCAxMTk2OSwgMTE5NzYsIDExOTgwLCA1OTkxLCAxMTk4NCwgMTE5ODksIDExOTkzLCAKKyAgICAxMjAwNCwgMTIwMTQsIDEyMDE5LCAxMjAyNSwgMTIwMjksIDEyMDMyLCAxMjA0MCwgMTIwNDUsIDEyMDUwLCAxMjA1NywgCisgICAgMTIwNjIsIDkyNzgsIDEyMDY3LCAxMjA3MSwgMTIwNzgsIDE3MjIsIDYxNDUsIDEyMDgzLCAxMjA4OCwgMTIwOTMsIDEyMDk4LCAKKyAgICAxMjEwNCwgMTIxMDksIDEyMTE1LCAxMjEyMCwgMTIxMjUsIDEyMTMwLCAxMjEzNSwgMTIxNDAsIDEyMTQ1LCAxMjE1MCwgCisgICAgMTIxNTUsIDEyMTYwLCAxMjE2NSwgMTIxNzAsIDEyMTc1LCAxMjE4MCwgMTIxODUsIDEyMTkwLCAxMjE5NSwgMTIyMDEsIAorICAgIDEyMjA2LCAxMjIxMSwgMTIyMTYsIDEyMjIxLCAxMjIyNiwgMTIyMzIsIDEyMjM3LCAxMjI0MiwgMTIyNDgsIDEyMjUzLCAKKyAgICAxMjI1OSwgMTIyNjQsIDEyMjcwLCAxMjI3NSwgMTIyODAsIDEyMjg1LCAxMjI5MCwgMTIyOTYsIDEyMzAxLCAxMjMwNiwgCisgICAgMTIzMTEsIDczNywgMTM5LCAxMjMxOSwgMTIzMjMsIDEyMzI4LCAxMjMzMywgMTIzMzcsIDEyMzQxLCAxMjM0NSwgMTIzNTAsIAorICAgIDEyMzU0LCAxMjM1OSwgMTIzNjMsIDEyMzY2LCAxMjM3MCwgMTIzNzQsIDEyMzgwLCAxMjM4NSwgMTIzOTUsIDEyNDAxLCAKKyAgICAxMjQwOSwgMTI0MTMsIDEyNDE3LCAxMjQyNCwgMTI0MzIsIDEyNDQxLCAxMjQ1MiwgMTI0NTksIDEyNDY2LCAxMjQ3MCwgCisgICAgMTI0NzksIDEyNDg4LCAxMjQ5NiwgMTI1MDUsIDEyNTE0LCAxMjUyMywgMTI1MzIsIDEyNTQyLCAxMjU1MiwgMTI1NjIsIAorICAgIDEyNTcyLCAxMjU4MiwgMTI1OTEsIDEyNjAxLCAxMjYxMSwgMTI2MjEsIDEyNjMxLCAxMjY0MSwgMTI2NTEsIDEyNjYxLCAKKyAgICAxMjY3MCwgMTI2ODAsIDEyNjkwLCAxMjcwMCwgMTI3MTAsIDEyNzIwLCAxMjczMCwgMTI3MzksIDEyNzQ5LCAxMjc1OSwgCisgICAgMTI3NjksIDEyNzc5LCAxMjc4OSwgMTI3OTksIDEyODA5LCAxMjgxOSwgMTI4MjksIDEyODM4LCAxMjg0OCwgMTI4NTgsIAorICAgIDEyODY4LCAxMjg3OCwgMTI4ODgsIDEyODk4LCAxMjkwOCwgMTI5MTgsIDEyOTI4LCAxMjkzOCwgMTI5NDcsIDEyNTYsIAorICAgIDEyOTUzLCAxMjk1NiwgMTI5NjAsIDEyOTY1LCAxMjk3MiwgMTI5NzgsIDEyOTgzLCAxMjk4NywgMTI5OTIsIDEzMDAxLCAKKyAgICAxMzAwOSwgMTMwMTQsIDEzMDE4LCAxMzAyMiwgMTMwMjgsIDEzMDMzLCAxMzAzOSwgOTI4NywgMTMwNDQsIDEzMDQ5LCAKKyAgICAxMzA1OCwgOTI5MiwgMTMwNjMsIDEzMDY2LCAxMzA3MiwgMTMwODAsIDkyOTcsIDEzMDg3LCAxMzA5MSwgMTMwOTUsIAorICAgIDEzMDk5LCAxMzEwOSwgMTMxMTUsIDEzMTIxLCAxMzEyNiwgMTMxMzUsIDEzMTQzLCAxMzE1MCwgMTMxNTcsIDEzMTYyLCAKKyAgICAxMzE2OSwgMTMxNzQsIDEzMTc4LCAxMzE4MSwgMTMxOTIsIDEzMjAyLCAxMzIxMSwgMTMyMTksIDEzMjMwLCAxMzI0MiwgCisgICAgMTMyNTIsIDEzMjU3LCAxMzI2MSwgMTMyNjYsIDEzMjcxLCAxMzI3NSwgMTMyODEsIDEzMjg5LCAxMzI5NiwgMTMzMDcsIAorICAgIDEzMzEyLCAxMzMyMiwgMTMzMjYsIDEzMzI5LCAxMzMzNiwgMTMzNDYsIDEzMzU1LCAxMzM2MiwgMTMzNjYsIDEzMzczLCAKKyAgICAxMzM3OSwgMTMzODQsIDEzMzg5LCAxMzM5MywgMTM0MDIsIDEzNDA3LCAxMzQxMywgMTM0MTcsIDEzNDIyLCAxMzQyNiwgCisgICAgMTM0MzUsIDEzNDQzLCAxMzQ1MSwgMTM0NTgsIDEzNDY2LCAxMzQ3OCwgMTM0ODksIDEzNDk5LCAxMzUwNiwgMTM1MTIsIAorICAgIDEzNTIxLCAxMzUzMiwgMTM1NDEsIDEzNTUzLCAxMzU2NSwgMTM1NzcsIDEzNTg3LCAxMzU5NiwgMTM2MDUsIDEzNjEzLCAKKyAgICAxMzYyMCwgMTM2MjksIDEzNjM3LCAxMzY0MSwgMTM2NDcsIDEzNjUzLCAxMzY1OCwgNzc1MywgMTM2NjIsIDEzNjY0LCAKKyAgICAxMzY2OCwgMTM2NzMsIDEzNjc5LCAxMzY4OCwgMTM2OTIsIDEzNzAwLCAxMzcwNywgMTM3MTYsIDEzNzI1LCAxMzczNCwgCisgICAgMTM3NDMsIDEzNzUyLCAxMzc2MSwgMTM3NzAsIDEzNzc5LCAxMzc4OSwgMTM3OTksIDEzODA4LCAxMzgxNCwgMTM4MjEsIAorICAgIDEzODI4LCAxMzgzNCwgMTM4NDgsIDEzODU1LCAxMzg2MywgMTM4NzIsIDEzODc4LCAxMzg4NywgMTM4OTYsIDEzOTA3LCAKKyAgICAxMzkxNywgMTM5MjUsIDEzOTMyLCAxMzk0MCwgMTM5NDksIDEzOTYyLCAxMzk3MCwgMTM5NzcsIDEzOTkwLCAxMzk5NiwgCisgICAgMTQwMDIsIDE0MDEyLCAxNDAyMSwgMTQwMzAsIDE0MDM1LCAxNDAzOSwgMTQwNDUsIDE0MDUxLCAxNDA1OCwgODk2NiwgCisgICAgMTQwNjMsIDE0MDY4LCAxNDA3NSwgMTQwODAsIDEyMzc2LCAxNDA4NSwgMTQwOTMsIDE0MDk5LCAxNDEwNCwgMTQxMTIsIAorICAgIDE0MTIwLCAxNDEyNywgMTQxMzUsIDE0MTQxLCAxNDE0OSwgMTQxNTcsIDE0MTYzLCAxNDE2OCwgMTQxNzQsIDE0MTgxLCAKKyAgICAxNDE4NywgMTQxOTIsIDE0MTk2LCAxNDIwNywgMTQyMTUsIDE0MjIxLCAxNDIyNiwgMTQyMzUsIDE0MjQxLCAxNDI0NiwgCisgICAgMTQyNTUsIDE0MjY5LCAzODUzLCAxNDI3MywgMTQyNzgsIDE0MjgzLCAxNDI4OSwgMTQyOTQsIDE0Mjk5LCAxNDMwMywgCisgICAgMTQzMDgsIDE0MzEzLCAxNDMxOCwgNzc1MiwgMTQzMjMsIDE0MzI4LCAxNDMzMywgMTQzMzgsIDE0MzQzLCAxNDM0NywgCisgICAgMTQzNTIsIDE0MzU3LCAxNDM2MiwgMTQzNjcsIDE0MzczLCAxNDM3OSwgMTQzODQsIDE0Mzg4LCAxNDM5MywgMTQzOTgsIAorICAgIDE0NDAzLCA5MzAxLCAxNDQwOCwgMTQ0MTMsIDE0NDE4LCAxNDQyMywgMTQ0MjgsIDE0NDQ1LCAxNDQ2MywgMTQ0NzUsIAorICAgIDE0NDg4LCAxNDUwNSwgMTQ1MjEsIDE0NTM4LCAxNDU0OCwgMTQ1NjcsIDE0NTc4LCAxNDU4OSwgMTQ2MDAsIDE0NjExLCAKKyAgICAxNDYyMywgMTQ2MzQsIDE0NjQ1LCAxNDY2MiwgMTQ2NzMsIDE0Njg0LCAxNDY4OSwgOTMwNiwgMTQ2OTQsIDE0Njk4LCAKKyAgICAyMzgxLCAxNDcwMiwgMTQ3MDUsIDE0NzExLCAxNDcxOSwgMTQ3MjcsIDE0NzMyLCAxNDc0MCwgMTQ3NDgsIDE0NzU1LCAKKyAgICAxNDc2MCwgMTQ3NjYsIDE0NzczLCAxNDc4MSwgMTQ3ODgsIDE0ODAwLCAxNDgwOCwgMTQ4MTMsIDExNTk3LCAxNDgxOSwgCisgICAgMTQ4MjgsIDE0ODM3LCAxNDg0NSwgMTQ4NTIsIDE0ODU4LCAxNDg2NiwgMTQ4NzMsIDE0ODc5LCAxNDg4NiwgMTQ4OTIsIAorICAgIDE0OTAxLCAxNDkwOSwgMTQ5MTksIDE0OTI2LCAxNDkzMiwgMTQ5NDAsIDE0OTQ2LCAxNDk1NCwgMTQ5NjEsIDE0OTc0LCAKKyAgICAxNDk4MSwgMTQ5OTAsIDE0OTk5LCAxNTAwOCwgMTUwMTYsIDE1MDI2LCAxNTAzMywgMTUwMzgsIDM1NjAsIDE1MDQ1LCAKKyAgICAxNTA1MCwgMTM3MiwgMTUwNTQsIDE0MzI0LCAxNTA1OCwgMTUwNjQsIDE1MDY4LCAxNTA3NiwgMTUwODgsIDE1MDkzLCAKKyAgICAxNTEwMCwgMTUxMDYsIDE1MTExLCAxNTExOCwgMTQzMjksIDE1MTIyLCAxNTEyNiwgMTUxMzAsIDE0MzM0LCAxNTEzNCwgCisgICAgMTQzMzksIDE1MTM4LCAxNTE0NSwgMTUxNTAsIDE1MTU0LCAxNTE2MSwgMTUxNjUsIDE1MTczLCAxNTE4MCwgMTUxODQsIAorICAgIDE1MTkxLCAxNTIwOCwgMTUyMTcsIDE1MjIxLCAxNTIyNCwgMTUyMzIsIDE1MjM4LCAxNTI0MywgMzYzOCwgMTUyNDcsIAorICAgIDE1MjQ5LCAxNTI1NywgMTUyNjQsIDE1Mjc0LCAxNTI4NiwgMTUyOTEsIDE1Mjk3LCAxNTMwMiwgMTUzMDYsIDE1MzEyLCAKKyAgICAxNTMxNywgMTUzMjMsIDE1MzI2LCAxNTMzMywgMTUzNDEsIDE1MzQ4LCAxNTM1NCwgMTUzNjAsIDE1MzY1LCAxNTM3MiwgCisgICAgMTUzNzgsIDE1MzgzLCAxNTM5MCwgMTUzOTQsIDE1NDAwLCAxNTQwNCwgMTU0MTEsIDE1NDE3LCAxNTQyMywgMTU0MzEsIAorICAgIDE1NDM3LCAxNTQ0MiwgMTU0NDgsIDE1NDU2LCAxNTQ2NCwgMTU0NzAsIDE1NDc2LCAxNTQ4MSwgMTU0ODgsIDE1NDkzLCAKKyAgICAxNTQ5NywgMTU1MDMsIDE1NTA4LCAxNTUxNSwgMTU1MjAsIDE1NTI2LCAxNTUyOSwgMTU1MzUsIDE1NTQxLCAxNTU0NCwgCisgICAgMTU1NDgsIDE1NTYwLCAxNTU2NiwgMTU1NzEsIDE1NTc4LCAxNTU4NCwgMTU1OTAsIDE1NjAxLCAxNTYxMSwgMTU2MjAsIAorICAgIDE1NjI4LCAxNTYzNSwgMTU2NDYsIDE1NjU2LCAxNTY2NiwgMTU2NzQsIDE1Njc3LCAxNDM1MywgMTU2ODIsIDE1Njg3LCAKKyAgICAxNDM1OCwgMTQ0OTMsIDE1Njk1LCAxNTcwOCwgMTU3MjMsIDE1NzM0LCAxNDUxMCwgMTU3NTIsIDE1NzY1LCAxNTc3OCwgCisgICAgMTU3ODksIDEwNDkyLCAxNTgwMCwgMTU4MTMsIDE1ODMyLCAxNTg0MywgMTU4NTQsIDE1ODY1LCAyNjQ5LCAxNTg3OCwgCisgICAgMTU4ODIsIDE1ODkwLCAxNTkwNSwgMTU5MjAsIDE1OTMxLCAxNTkzOCwgMTU5NDQsIDE1OTUyLCAxNTk1NiwgMTU5NjIsIAorICAgIDE1OTY1LCAxNTk3NSwgMTU5ODMsIDE1OTkwLCAxNTk5OCwgMTYwMDgsIDE2MDEzLCAxNjAyMCwgMTYwMjUsIDE2MDMyLCAKKyAgICAxNjA0MywgMTYwNTMsIDE2MDU5LCAxNjA2NCwgMTYwNjksIDE0MzYzLCAxNjA3MywgMTYwNzksIDE2MDg1LCAxNjA5MCwgCisgICAgMTYwOTUsIDE2MTAwLCAxNjEwNCwgMTQzNjgsIDE0Mzc0LCAxNjEwOCwgMTQzODAsIDE2MTEzLCAxNjEyMSwgMTYxMzAsIAorICAgIDE2MTM3LCA5MTUwLCAxNjE0MSwgMTYxNDMsIDE2MTQ4LCAxNjE1MywgMTYxNTksIDE2MTY0LCAxNjE2OSwgMTYxNzQsIAorICAgIDE2MTc5LCAxNjE4MywgMTYxODksIDE2MTk1LCAxNjIwMCwgMTYyMDYsIDE2MjExLCAxNjIxNiwgMTYyMjIsIDE2MjI3LCAKKyAgICAxNjIzMiwgMTYyMzcsIDE2MjQyLCAxNjI0OCwgMTYyNTMsIDE2MjU4LCAxNjI2NCwgMTYyNzAsIDE2Mjc1LCAxNjI4MCwgCisgICAgMTYyODcsIDE2MjkzLCAxNjMwNCwgMTYzMTEsIDE2MzE2LCAxNjMyMCwgMTYzMjQsIDE2MzI3LCAxNjMzNSwgMTYzNDAsIAorICAgIDE2MzQ3LCAxNjM1NCwgMTYzNjAsIDE2MzY1LCAxNjM3MCwgMTYzNzcsIDE2Mzg3LCAxNjM5MiwgMTYzOTksIDE2NDA1LCAKKyAgICAxNjQxNSwgMTY0MjUsIDE2NDM5LCAxNjQ1MywgMTY0NjcsIDE2NDgxLCAxNjQ5NiwgMTY1MTEsIDE2NTI4LCAxNjU0NiwgCisgICAgMTY1NTksIDE2NTY1LCAxNjU3MCwgMTY1NzUsIDE2NTc5LCAxNjU4NCwgMTY1OTIsIDE2NTk4LCAxNjYwMywgMTY2MDgsIAorICAgIDE2NjEyLCAxNjYxNywgMTY2MjEsIDE2NjI2LCAxNjYzMCwgMTY2NDEsIDE2NjQ3LCAxNjY1MiwgMTY2NTcsIDE2NjY0LCAKKyAgICAxNjY2OSwgMTY2NzMsIDE2Njc4LCAxNjY4MywgMTY2ODksIDE2Njk2LCAxNjcwMiwgMTY3MDcsIDE2NzExLCAxNjcxNywgCisgICAgMTY3MjIsIDE2NzI3LCAxNjczMSwgMTY3MzcsIDE2NzQyLCAxNjc0NywgMTY3NTQsIDE2NzU5LCAxMzExMSwgMTY3NjMsIAorICAgIDE2NzY4LCAxNjc3MiwgMTY3NzcsIDE2NzgzLCAxNjc4OSwgMTY3OTYsIDE2ODA2LCAxNjgxNCwgMTY4MjEsIDE2ODI2LCAKKyAgICAxNjgzMCwgMTY4MzksIDE2ODQ3LCAxNjg1NCwgMTY4NjEsIDE2ODY3LCAxNjg3MywgMTY4NzgsIDE2ODgzLCAxNjg4OSwgCisgICAgMTY4OTQsIDE2OTAwLCAxNjkwNSwgMTY5MTEsIDE2OTE3LCAxNjkyNCwgMTY5MzAsIDE2OTM1LCAxNjk0MCwgOTM0OCwgCisgICAgMTY5NDksIDE2OTUyLCAxNjk1OCwgMTY5NjMsIDE2OTY4LCAxNjk3OCwgMTY5ODUsIDE2OTkxLCAxNjk5NiwgMTcwMDEsIAorICAgIDE3MDA3LCAxNzAxMiwgMTcwMTgsIDE3MDIzLCAxNzAyOSwgMTcwMzUsIDE3MDQwLCAxNzA0OCwgMTcwNTUsIDE3MDYwLCAKKyAgICAxNzA2NSwgMTcwNzEsIDE3MDc2LCAxNzA4MCwgMTcwODksIDE3MTAwLCAxNzEwNywgMTcxMTIsIDE3MTIwLCAxNzEyNiwgCisgICAgMTcxMzMsIDE3MTM5LCAxNzE0NCwgMTcxNDgsIDE3MTU0LCAxNzE1OSwgMTcxNjQsIDE3MTY5LCAxNDQwLCA3Nzc3LCAyODc3LCAKKyAgICAxNzE3MywgMTcxNzcsIDE3MTgxLCAxNzE4NSwgMTcxODksIDE3MTkzLCAxNzE5NiwgMTcyMDMsIDE3MjExLCAxNDM5NCwgCisgICAgMTcyMTgsIDE3MjI4LCAxNzIzNiwgMTcyNDMsIDE3MjUxLCAxNzI2MSwgMTcyNzAsIDE3MjgzLCAxNzI4OCwgMTcyOTMsIAorICAgIDE3MzAxLCAxNzMwOCwgMTMyMDcsIDEzMjE2LCAxNzMxNSwgMTczMjUsIDE3MzQwLCAxNzM0NiwgMTczNTMsIDE3MzYwLCAKKyAgICAxNzM2NiwgMTczNzQsIDE3Mzg0LCAxNzM5NCwgMTQzOTksIDE3NDAzLCAxNzQwOSwgMTc0MTUsIDE3NDIzLCAxNzQzMSwgCisgICAgMTc0MzYsIDE3NDQ1LCAxNzQ1MywgMTc0NjUsIDE3NDc1LCAxNzQ4NSwgMTc0OTUsIDE3NTA0LCAxNzUxNiwgMTc1MjYsIAorICAgIDE3NTM2LCAxNzU0NywgMTc1NTIsIDE3NTY0LCAxNzU3NiwgMTc1ODgsIDE3NjAwLCAxNzYxMiwgMTc2MjQsIDE3NjM2LCAKKyAgICAxNzY0OCwgMTc2NjAsIDE3NjcyLCAxNzY4MywgMTc2OTUsIDE3NzA3LCAxNzcxOSwgMTc3MzEsIDE3NzQzLCAxNzc1NSwgCisgICAgMTc3NjcsIDE3Nzc5LCAxNzc5MSwgMTc4MDMsIDE3ODE0LCAxNzgyNiwgMTc4MzgsIDE3ODUwLCAxNzg2MiwgMTc4NzQsIAorICAgIDE3ODg2LCAxNzg5OCwgMTc5MTAsIDE3OTIyLCAxNzkzNCwgMTc5NDUsIDE3OTU3LCAxNzk2OSwgMTc5ODEsIDE3OTkzLCAKKyAgICAxODAwNSwgMTgwMTcsIDE4MDI5LCAxODA0MSwgMTgwNTMsIDE4MDY1LCAxODA3NiwgMTgwODgsIDE4MTAwLCAxODExMiwgCisgICAgMTgxMjQsIDE4MTM2LCAxODE0OCwgMTgxNjAsIDE4MTcyLCAxODE4NCwgMTgxOTYsIDE4MjA3LCAxODIxOSwgMTgyMzEsIAorICAgIDE4MjQzLCAxODI1NSwgMTgyNjcsIDE4Mjc5LCAxODI5MSwgMTgzMDMsIDE4MzE1LCAxODMyNywgMTgzMzgsIDE4MzUwLCAKKyAgICAxODM2MiwgMTgzNzQsIDE4Mzg2LCAxODM5OCwgMTg0MTAsIDE4NDIyLCAxODQzNCwgMTg0NDYsIDE4NDU4LCAxODQ2OSwgCisgICAgMTg0ODEsIDE4NDkzLCAxODUwNSwgMTg1MTcsIDE4NTMwLCAxODU0MywgMTg1NTYsIDE4NTY5LCAxODU4MiwgMTg1OTUsIAorICAgIDE4NjA4LCAxODYyMCwgMTg2MzMsIDE4NjQ2LCAxODY1OSwgMTg2NzIsIDE4Njg1LCAxODY5OCwgMTg3MTEsIDE4NzI0LCAKKyAgICAxODczNywgMTg3NTAsIDE4NzYyLCAxODc3NSwgMTg3ODgsIDE4ODAxLCAxODgxNCwgMTg4MjcsIDE4ODQwLCAxODg1MywgCisgICAgMTg4NjYsIDE4ODc5LCAxODg5MiwgMTg5MDQsIDE4OTE3LCAxODkzMCwgMTg5NDMsIDE4OTU2LCAxODk2OSwgMTg5ODIsIAorICAgIDE4OTk1LCAxOTAwOCwgMTkwMjEsIDE5MDM0LCAxOTA0NiwgMTkwNTksIDE5MDcyLCAxOTA4NSwgMTkwOTgsIDE5MTExLCAKKyAgICAxOTEyNCwgMTkxMzcsIDE5MTUwLCAxOTE2MywgMTkxNzYsIDE5MTg4LCAxOTIwMSwgMTkyMTQsIDE5MjI3LCAxOTI0MCwgCisgICAgMTkyNTMsIDE5MjY2LCAxOTI3OSwgMTkyOTIsIDE5MzA1LCAxOTMxOCwgMTkzMzAsIDE5MzQxLCAxOTM1NCwgMTkzNjcsIAorICAgIDE5MzgwLCAxOTM5MywgMTk0MDYsIDE5NDE5LCAxOTQzMiwgMTk0NDUsIDE5NDU4LCAxOTQ3MSwgMTk0ODMsIDE5NDk2LCAKKyAgICAxOTUwOSwgMTk1MjIsIDE5NTM1LCAxOTU0OCwgMTk1NjEsIDE5NTc0LCAxOTU4NywgMTk2MDAsIDE5NjEzLCAxOTYyNSwgCisgICAgMTk2MzgsIDE5NjUxLCAxOTY2NCwgMTk2NzcsIDE5NjkwLCAxOTcwMywgMTk3MTYsIDE5NzI5LCAxOTc0MiwgMTk3NTUsIAorICAgIDE5NzY3LCAxOTc4MCwgMTk3OTMsIDE5ODA2LCAxOTgxOSwgMTk4MzIsIDE5ODQ1LCAxOTg1OCwgMTk4NzEsIDE5ODg0LCAKKyAgICAxOTg5NywgMTk5MDksIDE5OTIyLCAxOTkzNSwgMTk5NDgsIDE5OTYxLCAxOTk3NCwgMTk5ODcsIDIwMDAwLCAyMDAxMywgCisgICAgMjAwMjYsIDIwMDM5LCAyMDA1MSwgMjAwNjQsIDIwMDc3LCAyMDA5MCwgMjAxMDMsIDIwMTE2LCAyMDEyOSwgMjAxNDIsIAorICAgIDIwMTU1LCAyMDE2OCwgMjAxODEsIDIwMTkzLCAyMDIwNiwgMjAyMTksIDIwMjMyLCAyMDI0NSwgMjAyNTgsIDIwMjcxLCAKKyAgICAyMDI4NCwgMjAyOTcsIDIwMzEwLCAyMDMyMywgMjAzMzUsIDIwMzQ4LCAyMDM2MSwgMjAzNzQsIDIwMzg3LCAyMDQwMCwgCisgICAgMjA0MTMsIDIwNDI2LCAyMDQzOSwgMjA0NTIsIDIwNDY1LCAyMDQ3NywgMjA0OTAsIDIwNTAzLCAyMDUxNiwgMjA1MjksIAorICAgIDIwNTQyLCAyMDU1NSwgMjA1NjgsIDIwNTgxLCAyMDU5NCwgMjA2MDcsIDIwNjE5LCAyMDYzMiwgMjA2NDUsIDIwNjU4LCAKKyAgICAyMDY3MSwgMjA2ODQsIDIwNjk3LCAyMDcxMCwgMjA3MjMsIDIwNzM2LCAyMDc0OSwgMjA3NjEsIDIwNzcyLCAyMDc4MCwgCisgICAgMjA3ODgsIDIwNzk1LCAyMDgwMSwgMjA4MDUsIDIwODExLCAyMDgxNywgMjA4MjUsIDIwODMxLCAyMDgzNiwgMjA4NDAsIAorICAgIDIwODQ5LCA5MTU1LCAyMDg2MCwgMjA4NjcsIDIwODc1LCAyMDg4MiwgMjA4ODksIDEwOTQ4LCAyMDg5NiwgMjA5MDUsIAorICAgIDIwOTEwLCAyMDkxNSwgNzgwNSwgMjA5MjIsIDIwOTI3LCAyMDkzMCwgMjA5MzUsIDIwOTQzLCAyMDk1MCwgMjA5NTcsIAorICAgIDIwOTY0LCAyMDk3MCwgMjA5NzksIDIwOTg4LCAyMDk5NCwgMjEwMDMsIDIxMDA3LCAyMTAxMywgMjEwMTgsIDIxMDI4LCAKKyAgICAyMTAzNSwgMjEwNDEsIDIxMDQ5LCAyMTA1NSwgMjEwNjIsIDIxMDcyLCAyMTA4MSwgMjEwODUsIDIxMDkyLCAyMTA5NiwgCisgICAgMjExMDEsIDIxMTA3LCAyMTExNSwgMjExMTksIDIxMTI5LCAxNDQwOSwgMjExMzgsIDIxMTQ0LCAyMTE0OCwgMjExNTcsIAorICAgIDE0NDE0LCAyMTE2MywgMjExNzAsIDIxMTgxLCAyMTE4OSwgMjExOTgsIDIxMjA2LCA4OTMxLCAyMTIxNCwgMjEyMTksIAorICAgIDIxMjI1LCAyMTIzMCwgMjEyMzQsIDIxMjM4LCAyMTI0MiwgOTYzOSwgMjEyNDcsIDIxMjU1LCAyMTI2MiwgMjEyNzEsIAorICAgIDIxMjc4LCAyMTI4NSwgMTA4NzgsIDIxMjkyLCAyMTI5OCwgMjEzMDIsIDIxMzA4LCAyMTMxNSwgMjEzMjEsIDIxMzI5LCAKKyAgICAyMTMzNSwgMjEzNDIsIDIxMzQ4LCAyMTM1NCwgMjEzNjMsIDIxMzY3LCAyMTM3NSwgMjEzODQsIDIxMzkxLCAyMTM5NiwgCisgICAgMjE0MDAsIDIxNDExLCAyMTQxNiwgMjE0MjEsIDIxNDI2LCAyMTQzOSwgNzk5NSwgMjE0NDMsIDIxNDQ5LCAyMTQ1NywgCisgICAgMjE0NjEsIDIxNDY4LCAyMTQ3NywgMjE0ODIsIDE0Njg1LCAyMTQ5MCwgMjE0OTQsIDIxNTA2LCAyMTUxMSwgMjE1MTUsIAorICAgIDIxNTE4LCAyMTUyNCwgMjE1MzAsIDIxNTM1LCAyMTUzOSwgMjE1NDIsIDIxNTUzLCAyMTU1OCwgOTM4MywgMjE1NjUsIAorICAgIDIxNTcwLCA5Mzg4LCAyMTU3NSwgMjE1ODAsIDIxNTg1LCAyMTU5MCwgMjE1OTUsIDIxNjAwLCAyMTYwNSwgMjE2MTAsIAorICAgIDIxNjE1LCAyMTYyMCwgMjE2MjUsIDIxNjMwLCAyMTYzNiwgMjE2NDEsIDIxNjQ2LCAyMTY1MSwgMjE2NTYsIDIxNjYxLCAKKyAgICAyMTY2NiwgMjE2NzEsIDIxNjc2LCAyMTY4MSwgMjE2ODcsIDIxNjkzLCAyMTY5OCwgMjE3MDMsIDIxNzA4LCAyMTcxMywgCisgICAgMjE3MTgsIDIxNzIzLCAyMTcyOCwgMjE3MzMsIDIxNzM4LCAyMTc0NCwgMjE3NDksIDIxNzU0LCAyMTc1OSwgMjE3NjUsIAorICAgIDIxNzcxLCAyMTc3NiwgMjE3ODEsIDIxNzg2LCAyMTc5MSwgMjE3OTYsIDIxODAxLCAyMTgwNiwgMjE4MTEsIDIxODE3LCAKKyAgICAyMTgyMiwgMjE4MjcsIDIxODMyLCAyMTgzNywgMjE4NDMsIDIxODQ4LCAyMTg1MywgMjE4NTcsIDEzNjgsIDEyOSwgMjE4NjUsIAorICAgIDIxODY5LCAyMTg3MywgMjE4NzcsIDIxODgyLCAyMTg4NiwgMTMxMTcsIDEyNDc2LCAyMTg5MCwgMjE4OTUsIDIxODk5LCAKKyAgICAyMTkwNCwgMjE5MDgsIDIxOTEzLCAyMTkxNywgMjE5MjMsIDIxOTI4LCAyMTkzMiwgMjE5MzYsIDIxOTQ0LCAyMTk0OCwgCisgICAgMjE5NTIsIDIxOTU3LCAyMTk2MiwgMjE5NjYsIDIxOTcyLCAyMTk3NywgMjE5ODEsIDIxOTg2LCAyMTk5MSwgMjE5OTUsIAorICAgIDIyMDAyLCAyMjAwOSwgMjIwMTYsIDIyMDIwLCAyMjAyNCwgMjIwMjksIDIyMDMzLCAyMjAzNiwgMjIwNDIsIDIyMDU1LCAKKyAgICAyMjA2MCwgMjIwNjksIDIyMDc0LCA5NDI4LCAyMjA3OSwgMjIwODIsIDI3MTIsIDI3MTcsIDIyMDg2LCAyMjA5MiwgMjIwOTgsIAorICAgIDcyMDksIDIyMTAzLCAyMjEwOCwgMjIxMTMsIDIyMTE5LCAyMjEyNCwgMTM5MDMsIDIyMTI5LCAyMjEzNCwgMjIxMzksIAorICAgIDIyMTQ0LCAyMjE1MCwgMjIxNTUsIDIyMTYwLCAyMjE2NiwgMjIxNzEsIDIyMTc1LCAyMjE4MCwgMjIxODUsIDIyMTkwLCAKKyAgICAyMjE5NSwgMjIxOTksIDIyMjA0LCAyMjIwOCwgMjIyMTMsIDIyMjE4LCAyMjIyMywgMjIyMjgsIDIyMjMyLCAyMjIzNywgCisgICAgMjIyNDEsIDIyMjQ2LCAyMjI1MSwgMjIyNTYsIDIyMjYxLCAyODg2LCAyMjE3NiwgMjIyNjUsIDIyMjczLCAyMjI4MCwgCisgICAgOTczMywgMjIyOTIsIDIyMzAwLCAyMjE4MSwgMjIzMDcsIDIyMzEyLCAyMjMyMCwgMjIxODYsIDIyMzI1LCAyMjMzMCwgCisgICAgMjIzMzgsIDIyMzQzLCAyMjE5MSwgMjIzNDgsIDIyMzUzLCAyMjM1NywgMjIzNjMsIDIyMzcxLCAyMjM3NCwgMjIzODEsIAorICAgIDIyMzg1LCAyMjM4OSwgMjIzOTUsIDIyNDAyLCAyMjQwNywgODk1OCwgMTcyNywgMTczMiwgMjI0MTEsIDIyNDE3LCAyMjQyMywgCisgICAgMjI0MjgsIDIyNDMyLCAyMjQzNiwgMjI0NDAsIDIyNDQ0LCAyMjQ0OCwgMjI0NTIsIDIyNDU2LCAyMjQ1OSwgMjI0NjUsIAorICAgIDIyNDcyLCAyMjQ4MCwgMjI0ODYsIDIyNDkyLCAyMjQ5NywgMjI1MDIsIDIyNTA2LCAxMzgyMywgMTM4MzAsIDIyNTExLCAKKyAgICAyMjUyMywgMjI1MjYsIDIyNTMzLCAxNjM1NiwgMjI1NDAsIDIyNTQ4LCAyMjU1OSwgMjI1NjgsIDIyNTgxLCAyMjU5MSwgCisgICAgMjI2MDUsIDIyNjE3LCAyMjYzMSwgMjI2NDMsIDIyNjUzLCAyMjY2NSwgMjI2NzEsIDIyNjg2LCAyMjcxMCwgMjI3MjgsIAorICAgIDIyNzQ3LCAyMjc2MCwgMjI3NzQsIDIyNzkyLCAyMjgwOCwgMjI4MjUsIDIyODQzLCAyMjg1NCwgMjI4NzMsIDIyODkwLCAKKyAgICAyMjkxMCwgMjI5MjgsIDIyOTQwLCAyMjk1NCwgMjI5NjgsIDIyOTgwLCAyMjk5NywgMjMwMTYsIDIzMDM0LCAyMzA0NiwgCisgICAgMjMwNjQsIDIzMDgzLCAxNDU1MywgMjMwOTYsIDIzMTE2LCAyMzEyOCwgMTA1MjMsIDIzMTQwLCAyMzE0NSwgMjMxNTAsIAorICAgIDIzMTU1LCAyMzE2MSwgMjMxNjYsIDIzMTcwLCAyMzE3NywgMjM5OCwgMjMxODEsIDIzMTg3LCAyMzE5MSwgMjMxOTQsIAorICAgIDIzMTk4LCAyMzIwNiwgMjMyMTIsIDIyMjA5LCAyMzIxNiwgMjMyMjUsIDIzMjM2LCAyMzI0MiwgMjMyNDgsIDIzMjU3LCAKKyAgICAyMzI2NSwgMjMyNzIsIDIzMjc3LCAyMzI4MSwgMjMyODgsIDIzMjk0LCAyMzMwMywgMjMzMTEsIDIzMzE4LCAyMzMyOCwgCisgICAgMjMzMzcsIDIzMzQ3LCAyMzM1MiwgMjMzNjEsIDIzMzcwLCAyMzM4MSwgMjMzOTIsIDM5NjMsIDIzNDAyLCAyMzQwNiwgCisgICAgMjM0MTYsIDIzNDI0LCAyMzQzNCwgMjM0NDUsIDIzNDUwLCAyMzQ2MCwgMjM0NjgsIDIzNDc1LCAyMzQ4MSwgMjM0ODgsIAorICAgIDIzNDkzLCAyMjIxOSwgMjM0OTcsIDIzNTA2LCAyMzUxMCwgMjM1MTMsIDIzNTE4LCAyMzUyNSwgMjM1MzQsIDIzNTQyLCAKKyAgICAyMzU1MCwgMjM1NjAsIDIzNTY5LCAyMzU3NSwgMjM1ODEsIDIyMjI0LCAyMjIyOSwgMjM1ODUsIDIzNTk1LCAyMzYwNSwgCisgICAgMjM2MTUsIDIzNjIzLCAyMzYzMCwgMjM2NDAsIDIzNjQ4LCAyMzY1NiwgMjM2NjIsIDIzNjcwLCA5MzAsIDIzNjc5LCAKKyAgICAxNDc0NCwgNTQyLCAyMzY5MywgMjM3MDIsIDIzNzEwLCAyMzcyMSwgMjM3MzIsIDIzNzQyLCAyMzc1MSwgMjM3NjMsIAorICAgIDIzNzcyLCAyMzc4MSwgMjM3ODcsIDIzNzk2LCAyMzgwNSwgMjM4MTUsIDIzODIzLCAyMzgzMSwgOTM2MCwgMjM4MzcsIAorICAgIDIzODQwLCAyMzg0NCwgMjM4NDksIDIzODU0LCA5ODQ4LCAyMjI0MiwgMjIyNDcsIDIzODYyLCAyMzg2OCwgMjM4NzQsIAorICAgIDIzODc5LCAyMzg4NCwgMjM4ODgsIDIzODk2LCAyMzkwMiwgMjM5MDgsIDIzOTEyLCAzNTI1LCAyMzkyMCwgMjM5MjUsIAorICAgIDIzOTMwLCAyMzkzNCwgMjM5MzgsIDk5MjgsIDIzOTQ1LCAyMzk1MywgMjM5NjcsIDIzOTc0LCAyMzk4MCwgOTkzNywgOTk0MywgCisgICAgMjM5ODgsIDIzOTk2LCAyNDAwMywgMjQwMDgsIDI0MDEzLCAyMjI1MiwgMjQwMTksIDI0MDMwLCAyNDAzNCwgMjQwMzksIAorICAgIDI2MDEsIDI0MDQ0LCAyNDA1NSwgMjQwNjEsIDI0MDY2LCAyNDA3MCwgMjQwNzQsIDI0MDc3LCAyNDA4NCwgMjQwOTEsIAorICAgIDI0MDk4LCAyNDEwNCwgMjQxMDgsIDIyMjU3LCAyNDExMywgMjQxMTcsIDI0MTIxLCAxMDM3LCAyNDEyNiwgMjQxMzEsIAorICAgIDI0MTM2LCAyNDE0MSwgMjQxNDYsIDI0MTUxLCAyNDE1NiwgMjQxNjEsIDI0MTY2LCAyNDE3MSwgMjQxNzYsIDI0MTgxLCAKKyAgICAyNDE4NiwgMjQxOTEsIDI0MTk3LCAyNDIwMiwgMjQyMDcsIDI0MjEyLCAyNDIxNywgMjQyMjIsIDI0MjI3LCAyNDIzMywgCisgICAgMjQyMzgsIDI0MjQzLCAyNDI0OCwgMjQyNTMsIDI0MjU4LCAyNDI2MywgMjQyNjgsIDI0Mjc0LCAyNDI4MCwgMjQyODUsIAorICAgIDI0MjkxLCAyNDI5NiwgMjQzMDEsIDUsIDI0MzA3LCAyNDMxMSwgMjQzMTUsIDI0MzE5LCAyNDMyNCwgMjQzMjgsIDI0MzMyLCAKKyAgICAyNDMzNiwgMjQzNDAsIDI0MzQ1LCAyNDM0OSwgMjQzNTQsIDI0MzU4LCAyNDM2MSwgMjQzNjUsIDI0MzcwLCAyNDM3NCwgCisgICAgMjQzNzksIDI0MzgzLCAyNDM4NywgMjQzOTEsIDI0Mzk2LCAyNDQwMCwgMjQ0MDQsIDI0NDE0LCAyNDQxOSwgMjQ0MjMsIAorICAgIDI0NDI3LCAyNDQzMiwgMjQ0MzcsIDI0NDQ2LCAyNDQ1MSwgMjQ0NTYsIDI0NDYwLCAyNDQ2NCwgMjQ0NzcsIDI0NDg5LCAKKyAgICAyNDQ5OCwgMjQ1MDcsIDI0NTEzLCAyNDUxOCwgMjQ1MjIsIDI0NTI2LCAyNDUzNiwgMjQ1NDUsIDI0NTUzLCAyNDU1OSwgCisgICAgMjQ1NjQsIDI0NTY4LCAyNDU3NSwgMjQ1ODUsIDI0NTk0LCAyNDYwMiwgMjQ2MTAsIDI0NjE3LCAyNDYyNSwgMjQ2MzQsIAorICAgIDI0NjQzLCAyNDY1MSwgMjQ2NTYsIDI0NjYwLCAyNDY2NCwgMjQ2NjcsIDI0NjY5LCAyNDY3MywgMjQ2NzcsIDI0NjgyLCAKKyAgICAyNDY4NywgMjQ2OTEsIDI0Njk1LCAyNDY5OCwgMjQ3MDIsIDI0NzA1LCAyNDcwOSwgMjQ3MTIsIDI0NzE1LCAyNDcxOSwgCisgICAgMjQ3MjUsIDI0NzI5LCAyNDczMywgMjQ3MzcsIDI0NzQyLCAyNDc0NywgMjQ3NTIsIDI0NzU2LCAyNDc1OSwgMjQ3NjQsIAorICAgIDI0NzcwLCAyNDc3NSwgMjQ3ODEsIDI0Nzg2LCAyNDc5MCwgMjQ3OTQsIDI0Nzk4LCAyNDgwMywgMjQ4MDcsIDI0ODEyLCAKKyAgICAyNDgxNiwgMjQ4MjAsIDI0ODI3LCAyNDgzMSwgMjQ4MzQsIDI0ODM4LCAyNDg0NCwgMjQ4NTAsIDI0ODU0LCAyNDg1OCwgCisgICAgMjQ4NjMsIDI0ODcwLCAyNDg3NiwgMjQ4ODAsIDI0ODg5LCAyNDg5MywgMjQ4OTcsIDI0OTAwLCAyNDkwNiwgMjQ5MTEsIAorICAgIDI0OTE3LCAxNDg5LCAxNzkxLCAyNDkyMiwgMjQ5MjcsIDI0OTMyLCAyNDkzNywgMjQ5NDIsIDI0OTQ3LCAyNDk1MiwgMjE0OCwgCisgICAgMjE5NCwgMjQ5NTcsIDI0OTYwLCAyNDk2NCwgMjQ5NjgsIDI0OTczLCAyNDk3NywgMjQ5ODEsIDI0OTg0LCAyNDk4OSwgCisgICAgMjQ5OTQsIDI0OTk4LCAyNTAwMSwgMjUwMDYsIDI1MDEwLCAyNTAxNSwgMjUwMTksIDE0NzU2LCAyNTAyNCwgMjUwMjcsIAorICAgIDI1MDMwLCAyNTAzNCwgMjUwMzksIDI1MDQzLCAyNTA1NiwgMjUwNjAsIDI1MDYzLCAyNTA3MSwgMjUwODAsIDI1MDg3LCAKKyAgICAyNTA5MiwgMjUwOTgsIDI1MTA0LCAyNTExMiwgMjUxMTksIDI1MTI2LCAyNTEzMCwgMjUxMzQsIDI1MTM4LCAyNTE0MywgCisgICAgMjUxNDgsIDI1MTUyLCAyNTE2MCwgMjUxNjUsIDI1MTc3LCAyNTE4OCwgMjUxOTMsIDI1MTk3LCAyNTIwMSwgMjUyMDcsIAorICAgIDI1MjEyLCAyNTIxNywgMjUyMjEsIDI1MjI1LCAyNTIyOCwgMjUyMzQsIDc5MTUsIDIzMTYsIDI1MjM4LCAyNTI0MywgCisgICAgMjUyNTksIDk0NzUsIDI1Mjc5LCAyNTI4OCwgMjUzMDQsIDI1MzA4LCAyNTMxMSwgMjUzMTcsIDI1MzI3LCAyNTMzMywgCisgICAgMjUzNDIsIDI1MzU3LCAyNTM2OSwgMjUzODAsIDI1Mzg4LCAyNTM5NywgMjU0MDMsIDI1NDEyLCAyNTQyMiwgMjU0MzMsIAorICAgIDI1NDQ0LCAyNTQ1MywgMjU0NjAsIDI1NDY5LCAyNTQ3NywgMjU0ODQsIDI1NDkyLCAyNTQ5OSwgMjU1MDYsIDI1NTE5LCAKKyAgICAyNTUyNiwgMjU1MzIsIDI1NTM3LCAyNTU0NiwgMjU1NTIsIDI1NTU3LCAyNTU2NSwgMjU1NzIsIDIzNDI2LCAyNTU4NCwgCisgICAgMjU1OTYsIDI1NjEwLCAyNTYxOCwgMjU2MjUsIDI1NjM3LCAyNTY0NiwgMjU2NTUsIDI1NjYzLCAyNTY3MSwgMjU2NzksIAorICAgIDI1Njg2LCAyNTY5NSwgMjU3MDMsIDI1NzEzLCAyNTcyMiwgMjU3MzIsIDI1NzQxLCAyNTc1MCwgMjU3NTgsIDI1NzYzLCAKKyAgICAyNTc2NywgMjU3NzAsIDI1Nzc0LCAyNTc3OCwgMjU3ODIsIDI1Nzg2LCAyNTc5MCwgMjU3OTYsIDI1ODAyLCAyNTgxMCwgCisgICAgMTQ4MDEsIDI1ODE3LCAyNTgyMiwgMjU4MjksIDI1ODM1LCAyNTg0MiwgMTQ4MDksIDI1ODQ5LCAyNTg1MiwgMjU4NjQsIAorICAgIDI1ODcyLCAyNTg3OCwgMjU4ODMsIDI1ODg3LCA5ODc4LCAyNTg5OCwgMjU5MDgsIDI1OTE3LCAyNTkyNCwgMjU5MjgsIAorICAgIDE0ODE0LCAyNTkzMSwgMjU5MzgsIDI1OTQyLCAyNTk0OCwgMjU5NTEsIDI1OTU4LCAyNTk2NCwgMjU5NzEsIDI1OTc3LCAKKyAgICAyNTk4MSwgMjU5ODYsIDI1OTkwLCAyNTk5OSwgMjYwMDYsIDI2MDEyLCA3OTU2LCAyNjAxOSwgMjYwMjcsIDI2MDM0LCAKKyAgICAyNjA0MCwgMjYwNDUsIDI2MDUxLCAyNjA1NywgMjYwNjUsIDI2MDY5LCAyNjA3MiwgMjYwNzQsIDI1Nzc1LCAyNjA4MywgCisgICAgMjYwODksIDI2MDk5LCAyNjEwNCwgMjYxMTEsIDI2MTE3LCAyNjEyMiwgMjYxMjcsIDI2MTMyLCAyNjEzNiwgMjYxNDEsIAorICAgIDI2MTQ4LCAyNjE1NywgMjYxNjEsIDI2MTY4LCAyNjE3NywgMjYxODMsIDI2MTg4LCAyNjE5NCwgMjYxOTksIDI2MjA2LCAKKyAgICAyNjIxNywgMjYyMjIsIDI2MjI2LCAyNjIzNiwgMjYyNDIsIDI2MjQ2LCAyNjI1MSwgMjYyNjEsIDI2MjcwLCAyNjI3NCwgCisgICAgMjYyODEsIDI2Mjg5LCAyNjI5NiwgMjYzMDIsIDI2MzA3LCAyNjMxNSwgMjYzMjIsIDI2MzM0LCAyNjM0MywgMjYzNDcsIAorICAgIDEzMDUzLCAyNjM1NSwgMjYzNjUsIDI2MzY5LCAyNTA2NywgMjYzODAsIDI2Mzg1LCAyNjM4OSwgMjYzOTYsIDI2NDAzLCAKKyAgICAyMTk2OCwgMjU3MDAsIDI2NDA4LCAyNjQxMiwgMjY0MTUsIDIyODYwLCAyNjQyMCwgMjY0MzQsIDI2NDUwLCAyNjQ2OCwgCisgICAgMjY0ODcsIDI2NTA0LCAyNjUyMiwgMjI4NzksIDI2NTM5LCAyNjU1OSwgMjI4OTYsIDI2NTcxLCAyNjU4MywgMTU3MzksIAorICAgIDI2NTk1LCAyMjkxNiwgMjY2MDksIDI2NjIxLCAxMDUzNiwgMjY2MzUsIDI2NjQwLCAyNjY0NSwgMjY2NTAsIDI2NjU2LCAKKyAgICAyNjY2MiwgMjY2NjgsIDI2NjcyLCAyNjY3OSwgMjY2ODQsIDI2Njk0LCAyNjcwMCwgMTAxODMsIDI2NzA2LCAyNjcwOCwgCisgICAgMjY3MTMsIDI2NzIxLCAyNjcyNSwgMjYxNDQsIDI2NzMxLCAyNjczOCwgMTE1MjQsIDExNTM0LCAyNjc0NSwgMjY3NTUsIAorICAgIDI2NzYwLCAyNjc2NCwgMjY3NjcsIDI2NzczLCAyNjc4MSwgMjY3OTMsIDI2ODAzLCAyNjgxOSwgMjY4MzIsIDI2ODQ2LCAKKyAgICAxNTc1NywgMjY4NjAsIDI2ODY3LCAyNjg3MSwgMjY4NzQsIDI2ODc5LCAyNjg4MywgMjY4OTAsIDI2ODk3LCAyNjkwNywgCisgICAgMjY5MTIsIDI2OTE3LCAyNjkyMiwgMjY5MzAsIDI2OTM4LCAyNjk0NywgMjY5NTIsIDk1NzIsIDI2OTU2LCAyNjk1OSwgCisgICAgMjY5NjIsIDI2OTY3LCAyNjk3NCwgMjY5NzksIDI2OTk1LCAyNzAwMywgMjcwMTEsIDk0MjMsIDI3MDE5LCAyNzAyNCwgCisgICAgMjcwMjgsIDI3MDM0LCAyNzA0MCwgMjcwNDMsIDI3MDQ5LCAyNzA2MSwgMjcwNjksIDI3MDc2LCAyNzA4MiwgMjcwODksIAorICAgIDI3MTAwLCAyNzExNCwgMjcxMjcsIDI3MTM2LCAyNzE0NSwgMjcxNTcsIDI3MTY4LCAyNzE3OCwgMjcxODcsIDI3MTk2LCAKKyAgICAyNzIwNCwgMjcyMTUsIDc5MzgsIDI3MjIyLCAyNzIyOCwgMjcyMzMsIDI3MjM5LCAyNzI0NiwgMjcyNTYsIDI3MjY2LCAKKyAgICAyNzI3NSwgMjcyODEsIDI3Mjg4LCAyNzI5MywgMjczMDAsIDI3MzA4LCAyNzMxNiwgMjczMjgsIDYyNDYsIDI3MzM1LCAKKyAgICAyNzM0NCwgMjczNTIsIDI3MzU4LCAyNzM2NCwgMjczNjksIDI3MzczLCAyNzM3NiwgMjczODIsIDI3Mzg5LCAyNzM5NCwgCisgICAgMjczOTksIDI3NDAzLCAyNzQxNSwgMjc0MjYsIDI3NDM1LCAyNzQ0MywgMTQ5NDEsIDI3NDQ4LCAyNzQ1NCwgMjc0NjAsIAorICAgIDExNTE3LCA4NjM1LCAyNzQ2NSwgMjc0NjksIDI3NDcyLCAyNzQ3NSwgMjc0ODEsIDI3NDg5LCAyNzQ5NywgMjc1MDEsIAorICAgIDI3NTA1LCAyNzUxMCwgMjc1MTMsIDI3NTIyLCAyNzUyNiwgMjc1MzQsIDI3NTQ1LCAyNzU0OSwgMjc1NTUsIDI3NTYxLCAKKyAgICAyNzU2NSwgMjc1NzEsIDI3NTc5LCAyNzYwMSwgMjc2MjUsIDI3NjMyLCAyNzYzOSwgMjc2NDUsIDI3NjUzLCAyNzY1OSwgCisgICAgMjc2NjQsIDI3Njc1LCAyNzY5MywgMjc3MDAsIDI3NzA4LCAyNzcxMiwgMjc3MjEsIDI3NzM0LCAyNzc0MiwgMjc3NTQsIAorICAgIDI3NzY1LCAyNzc3NSwgMjc3ODksIDI3Nzk4LCAyNzgwNiwgMjc4MTgsIDk0OTIsIDI3ODI5LCAyNzg0MCwgMjc4NTIsIAorICAgIDI3ODYyLCAyNzg3MSwgMjc4NzYsIDI3ODgwLCAyNzg4OCwgMjc4OTgsIDI3OTAzLCAyNzkwNywgMjc5MTAsIDI3OTEzLCAKKyAgICAyNzkyMSwgMjc5MjksIDI3OTM4LCAyNzk0OCwgMjc5NTcsIDI3OTYzLCAyNzk3NywgMjY2MywgMjc5OTksIDI4MDEwLCAKKyAgICAyODAxOSwgMjgwMjksIDI4MDQxLCAyODA1MCwgMjgwNTksIDI4MDY5LCAyODA3NywgMjgwODUsIDI4MDk0LCAyODA5OSwgCisgICAgMjgxMTAsIDI4MTE1LCAyODEyNiwgMjgxMzAsIDI4MTQwLCAyODE0OSwgMjgxNTcsIDI4MTY3LCAyODE3NywgMjgxODUsIAorICAgIDI4MTk0LCAyODIwMSwgMjgyMDksIDI4MjE2LCAyODIyNSwgMjgyMjksIDI4MjM3LCAyODI0NCwgMjgyNTIsIDI4MjU5LCAKKyAgICAyODI3MCwgMjgyODUsIDI4MjkyLCAyODI5OCwgMjgzMDgsIDI4MzE3LCAyODMyMywgMjgzMjcsIDI4MzM0LCAyODMzOCwgCisgICAgMTQwMjUsIDI4MzQ0LCAyODM0OCwgMjgzNTMsIDI4MzYwLCAyODM2NCwgMjgzNjgsIDI4Mzc2LCAyODM4NCwgMjgzOTAsIAorICAgIDI4Mzk5LCAyODQwNiwgMjg0MTEsIDI4NDE2LCAyODQyNiwgMjM0OTUsIDI4NDMwLCAyODQzMywgMjg0MzgsIDI4NDQzLCAKKyAgICAyODQ0OCwgMjg0NTMsIDI4NDU4LCAyODQ2MywgMjg0NjgsIDI4NDczLCAyODQ3OSwgMjg0ODQsIDI4NDg5LCAyODQ5NSwgCisgICAgMTIxOCwgNzA0LCAyODUwMCwgMjg1MDksIDIzNjQsIDI4NTE2LCAyODUyMSwgMjg1MjUsIDI4NTMxLCAxMjY3LCA1NDYsIAorICAgIDMxOCwgMjg1MzYsIDI4NTQ1LCAyODU1MywgMjg1NjIsIDI4NTcwLCAyODU4MSwgMjg1OTAsIDI4NTk4LCAyODYwMiwgCisgICAgMjg2MDUsIDI4NjEzLCAyODYyMSwgMjg2MjYsIDE0NzY5LCAyODYzMiwgMjg2MzgsIDI4NjQ0LCA1ODcyLCAyODY0OSwgCisgICAgMjg2NTMsIDI4NjU5LCAyODY2MywgMjg2NzAsIDE0NTUsIDI4Njc2LCAyODY4MywgOTU3OSwgMjg2ODcsIDI4Njk3LCAKKyAgICAyODcwNSwgMjg3MTEsIDI4NzIwLCAyODcyOCwgMjg3MzQsIDI4NzQyLCAyODc0OSwgMTExMTAsIDI4NzU1LCAyODc2MiwgCisgICAgMjg3NjcsIDI4Nzc0LCAxNDk2LCAyMTQ3LCAyODc4MCwgMjg3ODYsIDI4NzkzLCAyODgwNCwgMjg4MTUsIDI4ODIzLCAKKyAgICAyODgzMCwgMjg4NDAsIDI4ODQ5LCAyODg1NywgMjg4NjYsIDI4ODczLCAyODg4MCwgMjg4OTMsIDI4OTA0LCAxMjcyLCAKKyAgICAyODkyMywgMjg5MjgsIDI4OTM2LCAzNTc1LCAyODk0MCwgMjg5NDUsIDI4OTQ5LCAxNDU5LCAyNDY5NiwgMjg5NTksIAorICAgIDI4OTYzLCAyODk2OCwgMjg5NzIsIDM0OTMsIDI4OTc4LCAyODk4NiwgMjg5OTMsIDI5MDA0LCAyOTAxMiwgMjkwMjAsIAorICAgIDM1NzYsIDI3OSwgMjkwMjUsIDI5MDMzLCAyOTA0MSwgMjkwNDgsIDI5MDU0LCAyOTA1OSwgMjIxNiwgMjkwNjYsIDI5MDcyLCAKKyAgICAyNTk4MiwgMjYyMTIsIDI5MDc4LCAxMDYsIDI5MDgyLCAyOTA4NiwgMjkwOTIsIDYxNSwgOTMyOCwgMjkwOTcsIDI5MTA0LCAKKyAgICAyOTExMCwgMjMyNywgMjkxMTQsIDI5MTE4LCAxNTE4MSwgMjkxMjEsIDI5MTI2LCAyOTEzMywgMjkxMzksIDI5MTQ0LCAKKyAgICAyOTE1MiwgMjkxNTksIDI5MTY1LCAyMjM0NSwgMjkxNjksIDI5MTczLCAzNjQ2LCAxNjYxOSwgMjkxNzcsIDI5MTgyLCAKKyAgICAyOTE4NSwgMjkxOTMsIDI5MjAxLCAyOTIwNiwgMjkyMDksIDI5MjE2LCAyOTIyNiwgMjkyMzgsIDI5MjQzLCAyOTI0NywgCisgICAgMjkyNTUsIDI5MjYyLCAyOTI2OCwgMjkyNzUsIDI5MjgyLCAyOTI4NSwgMjkyODksIDI5MjkzLCAxNDYzLCAyOTMwMywgCisgICAgMjkzMDUsIDI5MzEwLCAyOTMxNiwgMjkzMjIsIDI5MzI3LCAyOTMzMiwgMjkzMzcsIDI5MzQyLCAyOTM0NywgMjkzNTIsIAorICAgIDI5MzU3LCAyOTM2MiwgMjkzNjcsIDI5MzcyLCAyOTM3NywgMjkzODIsIDI5Mzg3LCAyOTM5MiwgMjkzOTgsIDI5NDA0LCAKKyAgICAyOTQxMCwgMjk0MTYsIDI5NDIxLCAyOTQyNiwgMjk0MzEsIDI5NDM3LCAyOTQ0MiwgMjk0NDcsIDI5NDUyLCAyOTQ1OCwgCisgICAgMjk0NjMsIDI5NDY5LCAyOTQ3NCwgMjk0NzksIDI5NDg0LCAyOTQ4OSwgMjk0OTUsIDI5NTAwLCAyOTUwNiwgMjk1MTEsIAorICAgIDI5NTE2LCAyOTUyMSwgMjk1MjYsIDI5NTMyLCAyOTUzNywgMjk1NDMsIDI5NTQ4LCAyOTU1MywgMjk1NTgsIDI5NTYzLCAKKyAgICAyOTU2OCwgMjk1NzMsIDI5NTc4LCAyOTU4MywgMjk1ODgsIDI5NTk0LCAyOTYwMCwgMjk2MDYsIDI5NjExLCAyOTYxNiwgCisgICAgMjk2MjEsIDI5NjI2LCAyOTYzMiwgMjk2MzgsIDI5NjQ0LCAyOTY1MCwgMjk2NTYsIDI5NjYyLCAyOTY2NywgMjk2NzMsIAorICAgIDI5Njc4LCAyOTY4MywgMjk2ODgsIDI5NjkzLCAyOTY5OSwgMjQ0MywgMjk3MDQsIDI0NTAsIDI0NTcsIDI3NTQsIDI5NzA5LCAKKyAgICAyNDYzLCAyNDczLCAyOTcxNSwgMjk3MTksIDI5NzI0LCAyOTcyOSwgMjk3MzUsIDI5NzQwLCAyOTc0NSwgMjk3NDksIAorICAgIDI5NzU0LCAyOTc2MCwgMjk3NjUsIDI5NzcwLCAyOTc3NSwgMjk3ODEsIDI5Nzg2LCAyOTc5MCwgMjk3OTQsIDI5Nzk5LCAKKyAgICAyOTgwNCwgMjk4MDksIDI5ODE0LCAyOTgxOSwgMjk4MjUsIDI5ODMxLCAyOTgzNiwgMjk4NDAsIDI5ODQ1LCAyOTg1MSwgCisgICAgMjk4NTUsIDI5ODYwLCAyOTg2NSwgMjk4NzAsIDI5ODc1LCAyOTg3OSwgMjk4ODIsIDI5ODg3LCAyOTg5MiwgMjk4OTcsIAorICAgIDI5OTAyLCAyOTkwNywgMjk5MTMsIDI5OTE5LCAyOTkyNCwgMjk5MjksIDI5OTMzLCAyOTkzOCwgMjk5NDMsIDI5OTQ4LCAKKyAgICAyOTk1MywgMjk5NTgsIDI5OTYyLCAyOTk2NywgMjk5NzIsIDI5OTc3LCAyOTk4MSwgMjk5ODUsIDI5OTg5LCAyOTk5NCwgCisgICAgMzAwMDIsIDMwMDA3LCAzMDAxMywgMzAwMTksIDMwMDI1LCAzMDAzMCwgMzAwMzQsIDMwMDM3LCAzMDA0MiwgMzAwNDcsIAorICAgIDMwMDUxLCAzMDA1NiwgMzAwNjAsIDMwMDY1LCAzMDA2OSwgMzAwNzIsIDMwMDc3LCAxNzI5NiwgMzAwODIsIDMwMDg3LCAKKyAgICAzMDA5MiwgMzAxMDAsIDIxMjc0LCAyODY4MCwgOTAyNiwgMzAxMDUsIDMwMTEwLCAzMDExNCwgMzAxMTksIDMwMTIzLCAKKyAgICAzMDEyNywgMzAxMzIsIDMwMTM2LCAzMDEzOSwgMzAxNDIsIDMwMTQ2LCAzMDE1MSwgMzAxNTUsIDMwMTYzLCAzMDE2NywgCisgICAgMzAxNzAsIDMwMTc1LCAzMDE3OSwgMzAxODMsIDMwMTg4LCAzMDE5MywgMzAxOTcsIDMwMjAzLCAzMDIwOCwgMzAyMTMsIAorICAgIDMwMjIwLCAzMDIyNywgMzAyMzEsIDMwMjM0LCAzMDI0MCwgMzAyNDksIDMwMjU2LCAzMDI2NCwgMzAyNzEsIDMwMjc1LCAKKyAgICAzMDI4MCwgMzAyODQsIDMwMjg4LCAzMDI5NCwgMzAzMDAsIDMwMzA0LCAzMDMxMCwgMzAzMTUsIDMwMzIwLCAzMDMyNywgCisgICAgMzAzMzMsIDMwMzM5LCAzMDM0NSwgMzAzNTEsIDMwMzU4LCAzMDM2NCwgMzAzNzAsIDMwMzc2LCAzMDM4MiwgMzAzODgsIAorICAgIDMwMzk0LCAzMDQwMCwgMzA0MDcsIDMwNDEzLCAzMDQyMCwgMzA0MjYsIDMwNDMyLCAzMDQzOCwgMzA0NDQsIDMwNDUwLCAKKyAgICAzMDQ1NiwgMzA0NjIsIDMwNDY4LCAzMDQ3NCwgMTE0MTgsIDMwNDgwLCAzMDQ4NSwgMzA0OTAsIDMwNDkzLCAzMDUwMSwgCisgICAgMzA1MDYsIDMwNTE1LCAzMDUyMSwgMzA1MjYsIDMwNTMxLCAzMDUzNiwgMzA1NDAsIDMwNTQ1LCAzMDU1MCwgMzA1NTUsIAorICAgIDMwNTYwLCAzMDU2NSwgMzA1NzIsIDMwNTc5LCAzMDU4NSwgMzA1OTEsIDMwNTk2LCAxNjI5NywgMzA2MDMsIDMwNjA5LCAKKyAgICAzMDYxNiwgMzA2MjIsIDMwNjI4LCAzMDYzMywgMzA2NDEsIDMwNjQ2LCAxNjA3NiwgMzA2NTAsIDMwNjU1LCAzMDY2MCwgCisgICAgMzA2NjYsIDMwNjcxLCAzMDY3NiwgMzA2ODAsIDMwNjg1LCAzMDY5MCwgMzA2OTYsIDMwNzAxLCAzMDcwNiwgMzA3MTAsIAorICAgIDMwNzE1LCAzMDcyMCwgMzA3MjQsIDMwNzI5LCAzMDczNCwgMzA3MzksIDMwNzQzLCAzMDc0OCwgMzA3NTMsIDMwNzU4LCAKKyAgICAzMDc2MiwgMzA3NjYsIDE1Mjg3LCAzMDc3MCwgMzA3NzksIDMwNzg1LCAzMDc5MSwgMzA4MDAsIDMwODA4LCAzMDgxNywgCisgICAgMzA4MjUsIDMwODMwLCAzMDgzNCwgMzA4NDEsIDMwODQ3LCAzMDg1MSwgMzA4NTQsIDMwODU5LCAzMDg2OCwgMzA4NzYsIAorICAgIDMwODgxLCAxNDk1LCAzMDg4NywgMzA4OTAsIDMwODk0LCAyMjQxOCwgMjI0MjQsIDMwOTAwLCAzMDkwNCwgMzA5MTUsIAorICAgIDMwOTI2LCAzMDkzNywgMzA5NDksIDMwOTU2LCAzMDk2MywgMzA5NjgsIDMwOTcyLCA1OTA5LCA3NTUsIDIxMjczLCAzMDk4MCwgCisgICAgMzA5ODUsIDMwOTg5LCAzMDk5NCwgMzA5OTgsIDMxMDA0LCAzMTAwOSwgMzEwMTUsIDMxMDIwLCAzMTAyNiwgMzEwMzEsIAorICAgIDMxMDM3LCAzMTA0MiwgMzEwNDgsIDMxMDU0LCAzMTA2MCwgMzEwNjUsIDMxMDIxLCAzMTAyNywgMzEwNjksIDMxMDc0LCAKKyAgICAzMTA4MCwgMzEwODUsIDMxMDkxLCAzMTA5NiwgMzExMDIsIDMxMTA3LCAzMTAzMiwgMTA0MjEsIDMxMTExLCAzMTA0MywgCisgICAgMzEwNDksIDMxMDU1LCAyODMxLCAzNDIzLCAzMTExNywgMzExMjAsIDMxMTI2LCAzMTEzMiwgMzExMzgsIDMxMTQ1LCAKKyAgICAzMTE1MSwgMzExNTcsIDMxMTYzLCAzMTE2OSwgMzExNzUsIDMxMTgxLCAzMTE4NywgMzExOTMsIDMxMTk5LCAzMTIwNSwgCisgICAgMzEyMTEsIDMxMjE3LCAzMTIyNCwgMzEyMzAsIDMxMjM2LCAzMTI0MiwgMzEyNDgsIDMxMjU0LCAzMTI1NywgMzEyNjIsIAorICAgIDMxMjY1LCAzMTI3MiwgMzEyODAsIDMxMjg1LCAzMTI5MCwgMzEyOTYsIDMxMzAxLCAzMTMwNiwgMzEzMTAsIDMxMzE1LCAKKyAgICAzMTMyMSwgMzEzMjYsIDMxMzMyLCAzMTMzNywgMzEzNDMsIDMxMzQ4LCAzMTM1NCwgMzEzNjAsIDMxMzY0LCAzMTM2OSwgCisgICAgMzEzNzQsIDMxMzc5LCAzMTM4NCwgMzEzODgsIDMxMzkzLCAzMTM5OCwgMzE0MDMsIDMxNDA5LCAzMTQxNSwgMzE0MjEsIAorICAgIDMxNDI3LCAzMTQzMiwgMzE0MzYsIDMxNDM5LCAzMTQ0NSwgMzE0NTEsIDMxNDYwLCAzMTQ2OCwgMzE0NzUsIDMxNDgwLCAKKyAgICAzMTQ4NCwgMzE0ODgsIDMxNDkzLCAxNTE0MCwgMzE0OTgsIDMxNTA2LCAzMTUxMiwgMzY4MywgMTM3NywgMzE1MTcsIAorICAgIDMxNTIxLCA4MDA1LCAzMTUyNywgMzE1MzMsIDMxNTQwLCA4MDE0LCAzMTU0NCwgMzE1NTAsIDMxNTU3LCAzMTU2MywgCisgICAgMzE1NzIsIDMxNTgwLCAzMTU5MiwgMzE1OTYsIDMxNjAzLCAzMTYwOSwgMzE2MTMsIDMxNjE2LCAzMTYyNSwgMzE2MzMsIAorICAgIDMxMDIyLCAzMTYzOCwgMzE2NDgsIDMxNjU4LCAzMTY2OCwgMzE2NzQsIDMxNjc5LCAzMTY4OSwgMzE2OTQsIDMxNzA3LCAKKyAgICAzMTcyMSwgMzE3MzIsIDMxNzQ0LCAzMTc1NiwgMzE3NzAsIDMxNzgzLCAzMTc5NSwgMzE4MDcsIDE0NTk0LCAzMTgyMSwgCisgICAgMzE4MjYsIDMxODMxLCAzMTgzNSwgMzE4MzksIDMxODQzLCAxNzgwLCAyNzE2NiwgMzE4NDcsIDMxODUyLCAzMTA3MCwgCisgICAgMzE4NTcsIDMxODYwLCAzMTg2NSwgMzE4NzAsIDMxODc1LCAzMTg4MSwgMzE4ODcsIDEwMDk4LCAzMTg5MiwgMzE4OTksIAorICAgIDE1NjkxLCAzMTkwNSwgMzE5MTAsIDMxOTE1LCAzMTkxOSwgMzE5MjQsIDMxOTI5LCAzMTA3NSwgMzE5MzQsIDMxOTM5LCAKKyAgICAzMTk0NCwgMzE5NTAsIDMxMDgxLCAzMTk1NSwgMzE5NTgsIDMxOTY1LCAzMTk3MywgMzE5NzksIDMxOTg1LCAzMTk5MSwgCisgICAgMzIwMDIsIDMyMDA3LCAzMjAxNCwgMzIwMjEsIDMyMDI4LCAzMjAzNiwgMzIwNDUsIDMyMDU0LCAzMjA2MCwgMzIwNjYsIAorICAgIDMyMDc0LCAzMTA4NiwgMzIwNzksIDMyMDg1LCAzMjA5MSwgMzEwOTIsIDMyMDk2LCAzMjEwMSwgMzIxMDksIDMyMTE3LCAKKyAgICAzMjEyMywgMzIxMzAsIDMyMTM2LCAzMjE0MywgMzIxNTAsIDMyMTU2LCAzMjE2NCwgMzIxNzQsIDMyMTgxLCAzMjE4NiwgCisgICAgMzIxOTIsIDMyMTk3LCAzMjIwMiwgMzIyMDksIDMyMjE4LCAzMjIyNiwgMzIyMzEsIDMyMjM3LCAzMjI0NCwgMzIyNTIsIAorICAgIDMyMjU4LCAzMjI2MywgMzIyNjksIDMyMjc4LCAyNzk0MywgMzIyODUsIDMyMjg5LCAzMjI5NCwgMzIzMDMsIDMyMzA4LCAKKyAgICAzMjMxMywgMzIzMTgsIDEyNDA1LCAzMjMyNiwgMzIzMzEsIDMyMzM2LCAzMjM0MSwgMzIzNDUsIDMyMzUwLCAzMjM1NSwgCisgICAgMzIzNjIsIDMyMzY3LCAzMjM3MiwgMzIzNzcsIDMxMDk3LCAyMTIxMCwgMzIzODMsIDI1MTksIDI0NCwgMzIzODYsIDMyMzg5LCAKKyAgICAzMjM5MywgMzIzOTcsIDMyNDA3LCAzMjQxNSwgMzI0MTksIDMyNDI2LCAzMjQzMywgMzI0MzcsIDMyNDQwLCAzMjQ0NiwgCisgICAgMzI0NTQsIDMyNDYyLCAzMjQ2NiwgMzI0NzAsIDMyNDczLCAzMjQ4MCwgMzI0ODQsIDMyNDg4LCAzMjQ5NSwgMzI1MDMsIAorICAgIDMxMDMzLCAzMjUxMCwgMzI1MTgsIDEwMTU4LCA2NjAsIDMwOCwgMzI1MzAsIDMyNTM1LCAzMjU0MCwgMzI1NDYsIDMyNTUxLCAKKyAgICAzMjU1NiwgMzcwNCwgMzI1NjEsIDMyNTY0LCAzMjU2OSwgMzI1NzQsIDMyNTc5LCAzMjU4NCwgMzI1ODksIDMyNTk2LCAKKyAgICAyMjUxOSwgMzI2MDEsIDMyNjA2LCAzMjYxMSwgMzI2MTYsIDMyNjIxLCAzMjYyNywgMzI2MzIsIDMyNjM4LCAzMTI2OCwgCisgICAgMzI2NDQsIDMyNjQ5LCAzMjY1NSwgMzI2NjEsIDMyNjcxLCAzMjY3NiwgMzI2ODEsIDMyNjg1LCAzMjY5MCwgMzI2OTUsIAorICAgIDMyNzAwLCAzMjcwNSwgMzI3MTgsIDMyNzIzLCAyMjI5NiwgMTY2OTksIDM3MTAsIDMyNzI3LCAzMjczMiwgMzI3MzcsIAorICAgIDMyNzQzLCAzMjc0OCwgMzI3NTMsIDMyNzU3LCAzMjc2MiwgMzI3NjcsIDMyNzczLCAzMjc3OCwgMzI3ODMsIDEzODIsIAorICAgIDMyNzg3LCAzMjc5MiwgMzI3OTcsIDMyODAyLCAzMjgwNiwgMzI4MTEsIDMyODE2LCAzMjgyMSwgMzI4MjcsIDMyODMzLCAKKyAgICAzMjgzOCwgMzI4NDIsIDMyODQ2LCAzMjg1MSwgMzI4NTYsIDMyODYxLCAzMjg2NSwgMzI4NzMsIDMyODc3LCAzMjg4MywgCisgICAgMzI4ODcsIDMyODk0LCAxNjQ5MiwgMzEwNDQsIDMyOTAwLCAzMjkwNywgMzI5MTUsIDMyOTIyLCAzMjkyOCwgMzI5NDEsIAorICAgIDMyOTUzLCAzMjk1OSwgMzI5NjMsIDI3NzMsIDMyOTY3LCAzMjk3MSwgMzI0NzUsIDMyOTgwLCAzMjk5MSwgMzI5OTYsIAorICAgIDMzMDAxLCAzMzAwNiwgMzMwMTAsIDMzMDE1LCAyMjQyOSwgMzMwMTksIDMzMDIzLCAzMzAyOCwgMzEwNTAsIDIxMjk0LCAKKyAgICAzMzAzMiwgMzMwMzcsIDMzMDQzLCAzMzA0OCwgMzMwNTIsIDMzMDU2LCAzMzA1OSwgMzMwNjMsIDMzMDY5LCAzMzA4MCwgCisgICAgMzMwOTIsIDMxMDU2LCAzMzA5NywgMzMxMDAsIDMzMTA0LCAzNDcsIDMzMTA5LCAzMzExNCwgMzMxMTksIDMzMTI0LCAKKyAgICAzMzEyOSwgMzMxMzQsIDMzMTQwLCAzMzE0NSwgMzMxNTAsIDMzMTU2LCAzMzE2MSwgMzMxNjcsIDMzMTcyLCAzMzE3OCwgCisgICAgMzMxODMsIDMzMTg4LCAzMzE5MywgMzMxOTgsIDMzMjAzLCAzMzIwOCwgMzMyMTMsIDMzMjE4LCAzMzIyNCwgMzMyMjksIAorICAgIDMzMjM0LCAzMzIzOSwgMzMyNDQsIDMzMjQ5LCAzMzI1NCwgMzMyNTksIDMzMjY1LCAzMzI3MSwgMzMyNzYsIDMzMjgxLCAKKyAgICAzMzI4NiwgMzMyOTEsIDMzMjk2LCAzMzMwMSwgMzMzMDYsIDMzMzExLCAzMzMxNiwgMzMzMjEsIDMzMzI2LCAzMzMzMSwgCisgICAgMzMzMzYsIDMzMzQxLCAzMzM0NiwgMzMzNTEsIDMzMzU2LCAzMzM2MSwgMzMzNjcsIDMxMywgMjYsIDMzMzcyLCAzMzM3NiwgCisgICAgMzMzODAsIDMzMzg4LCAzMzM5MiwgMzMzOTYsIDMzMzk5LCAzMzQwMiwgMzM0MDQsIDMzNDA5LCAzMzQxMywgMzM0MTgsIAorICAgIDMzNDIyLCAzMzQyNywgMzM0MzEsIDMzNDM2LCAzMzQ0MCwgMzM0NDMsIDMzNDQ1LCAzMzQ0OSwgMzM0NTQsIDMzNDU4LCAKKyAgICAzMzQ2OSwgMzM0NzIsIDMzNDc0LCAzMzQ3OCwgMzM0OTAsIDMzNDk5LCAzMzUwMywgMzM1MDcsIDMzNTEzLCAzMzUxOCwgCisgICAgMzM1MjcsIDMzNTMzLCAzMzUzOCwgMzM1NDMsIDMzNTQ3LCAzMzU1MiwgMzM1NTksIDMzNTY0LCAzMzU3MCwgMzM1NzUsIAorICAgIDMzNTc5LCAzMzU4NiwgMjU3MDgsIDI1NzE4LCAzMzU5MCwgMzM1OTUsIDMzNjAwLCAzMzYwNSwgMzM2MTIsIDMzNjE2LCAKKyAgICAzMzYyMywgODExMywgMzM2MjksIDMzNjM4LCAzMzY0NiwgMzM2NjEsIDMzNjc1LCAzMzY4MywgMzM2OTQsIDMzNzAzLCAKKyAgICAzMzcwOCwgNzIyNywgMzM3MTgsIDMzNzIzLCAzMzcyOCwgMzM3MzIsIDMzNzM1LCAzMzczOSwgMzM3NDQsIDMzNzQ4LCAKKyAgICAzMzc1NSwgMzM3NjAsIDMzNzY1LCA4OTEyLCAzMzc3NSwgMzM3NzcsIDMzNzgwLCAzMzc4NCwgMzM3OTAsIDMzNzk0LCAKKyAgICAzMzc5OSwgMzM4MDQsIDMzODEwLCAzMzgxNSwgMzM4MjEsIDMzODI2LCAzMzgzNiwgMzM4NDUsIDMzODUzLCAzMzg1OCwgCisgICAgMzM4NjQsIDMzODY5LCAzMzg3NiwgMzM4ODAsIDMzODg4LCAzMzg5NSwgMzM5MDgsIDMzOTE2LCAzMzkyMCwgMzM5MzAsIAorICAgIDMzOTM1LCAzMzkzOSwgMzM5NDcsIDMzOTU1LCAzMzk1OSwgMzM5NjgsIDMzOTc0LCAzMzk3OSwgMzM5ODcsIDMzOTk3LCAKKyAgICAzNDAwNiwgMzQwMTUsIDM0MDI0LCAzNDAzNSwgMzQwNDMsIDM0MDU0LCAzNDA2MywgMzQwNzAsIDM0MDc2LCAzNDA4MSwgCisgICAgMzQwOTIsIDM0MDk3LCAzNDEwMSwgMzQxMDQsIDM0MTA4LCAzNDExNiwgMzQxMjIsIDM0MTMwLCAzNDEzNywgMzQxNDMsIAorICAgIDM0MTQ4LCAzNDE1NCwgMjQxOCwgMzQxNTgsIDM0MTYwLCAzNDE2NSwgMzQxNzAsIDM0MTc1LCAzNDE3OCwgMzQxODAsIAorICAgIDM0MTg0LCAzNDE4NywgMzQxOTQsIDM0MTk4LCA5ODkxLCAzNDIwMiwgMzQyMDgsIDM0MjE4LCAzNDIyMywgMzQyMjksIAorICAgIDM0MjMzLCAzNDIzOCwgMzQyNTEsIDI2MDk0LCAzNDI1NywgMzQyNjYsIDE3NDY5LCAzNDI3MywgMzQyODIsIDMxNjU0LCAKKyAgICAzNDI5MCwgMzQyOTUsIDM0Mjk5LCAzNDMwNywgMzQzMTQsIDM0MzE5LCAzNDMyMywgMzQzMjgsIDM0MzMyLCAzNDM0MCwgCisgICAgMzQzNDYsIDM0MzUyLCAzNDM1NywgMzQzNjEsIDM0MzY0LCAzNDM2OSwgMzQzODIsIDM0Mzk4LCAyMjk4NiwgMzQ0MTUsIAorICAgIDM0NDI3LCAzNDQ0NCwgMzQ0NTYsIDM0NDcwLCAyMzAwMywgMjMwMjIsIDM0NDgyLCAzNDQ5NCwgMjY4MCwgMzQ1MDgsIAorICAgIDM0NTEzLCAzNDUxOCwgMzQ1MjMsIDM0NTI3LCAzNDUzNCwgMzQ1NDYsIDM0NTUyLCAzNDU1NSwgMzQ1NjYsIDM0NTc3LCAKKyAgICAzNDU4MiwgMzIwNzEsIDY5NSwgMzQ1ODYsIDM0NTkwLCAzNDU5NCwgMzQ1OTcsIDM0NjAyLCAzNDYwNywgMzQ2MTMsIAorICAgIDM0NjE4LCAzNDYyMywgMzQ2MjksIDM0NjM1LCAzNDY0MCwgMzQ2NDQsIDM0NjQ5LCAzNDY1NCwgMzQ2NTksIDM0NjYzLCAKKyAgICAzNDY2NiwgMzQ2NzIsIDM0Njc3LCAzNDY4MiwgMzQ2ODcsIDM0NjkxLCAzNDY5NiwgMzQ3MDIsIDM0NzEwLCAyNjMyNywgCisgICAgMzQ3MTUsIDM0NzIwLCAzNDcyNywgMzQ3MzMsIDM0NzM5LCAzNDc0NCwgMzQ3NTIsIDIyNTI4LCAzNDc1OSwgMzQ3NjQsIAorICAgIDM0NzY5LCAzNDc3NCwgMzQ3NzgsIDM0NzgxLCAzNDc4NiwgMzQ3OTAsIDM0Nzk0LCAzNDgwMSwgMzQ4MDcsIDM0ODEzLCAKKyAgICAzNDgxOSwgMzQ4MjYsIDM0ODMxLCAzNDgzNywgMzM5NTAsIDM0ODQxLCAzNDg0NSwgMzQ4NTAsIDM0ODYzLCAzNDg2OCwgCisgICAgMzQ4NzQsIDM0ODgyLCAzNDg4OSwgMzQ4OTcsIDM0OTA3LCAzNDkxMywgMzQ5MTksIDM0OTI1LCAzNDkyOSwgMzQ5MzgsIAorICAgIDM0OTQ2LCAzNDk1MywgMzQ5NTgsIDM0OTYzLCAxMDQ0NCwgMzQ5NjgsIDM0OTc2LCAzNDk4MywgMzQ5ODksIDM0OTk5LCAKKyAgICAzNTAwNCwgMzUwMTAsIDM1MDE4LCAzNjA4LCAzNTAyNSwgMzUwMzIsIDM2MTQsIDM1MDM2LCAzNTA0MSwgMzUwNTIsIAorICAgIDM1MDU5LCAzNTA2NSwgMzUwNzQsIDM1MDc4LCA0MDE1LCAzNTA4MSwgMzUwODgsIDM1MDk0LCAzNTEwMCwgMzUxMDgsIAorICAgIDM1MTE4LCAyOTA0OSwgMzUxMjUsIDM1MTMzLCAzNTEzOCwgMzUxNDQsIDM1MTQ5LCAyNTk1NCwgMzUxNTUsIDM1MTYyLCAKKyAgICAzNTE2OCwgMzUxNzcsIDIzNjY3LCAzNTE4NCwgMzUxODksIDM1MTkzLCAzNTIwMSwgMzUyMDksIDk2MDcsIDU4OTUsIAorICAgIDM1MjE2LCAzNTIyMCwgMzUyMjIsIDM1MjI2LCAzNTIzMSwgMzUyMzMsIDM1MjM5LCAzNTI0NCwgMzUyNDksIDM1MjU2LCAKKyAgICAzMjU5MiwgMzUyNjIsIDM1MjY3LCAzNTI3MSwgMzUyNzYsIDM1MjgwLCAzNTI4OSwgMzUyOTMsIDM1Mjk5LCAzNTMwNiwgCisgICAgMzUzMTIsIDM1MzE5LCAzNTMyNCwgMzUzMzMsIDM1MzM4LCAzNTM0MiwgMzUzNDcsIDM1MzU0LCAzNTM2MiwgMzUzNzAsIAorICAgIDM1Mzc1LCAyMTM1MCwgMzUzNzksIDM1MzgyLCAzNTM4NiwgMzUzOTAsIDM1Mzk0LCAzNTM5NywgMzUzOTksIDM1NDA3LCAKKyAgICAzNTQxMSwgMzU0MTgsIDM1NDIyLCAzNTQyNiwgMzU0MzQsIDM1NDQxLCAzNTQ1MSwgMzU0NTUsIDM1NDU5LCAzNTQ2NywgCisgICAgMzU0NzUsIDM1NDgxLCAzNTQ4NiwgMzU0OTUsIDEzMzU3LCAzNTUwMSwgMzU1MTAsIDM1NTE1LCAzNTUyMiwgMzU1MzAsIAorICAgIDM1NTM4LCAzNTU0NiwgMzU1NTMsIDM1NTYwLCAzNTU2NywgMzU1NzQsIDM1NTgxLCAzNTU4NiwgMzU1OTIsIDM1NjA5LCAKKyAgICAzNTYxNywgMzU2MjcsIDM1NjM1LCAzNTY0MiwgNDA3LCAzNTY0NiwgMzU2NTIsIDM1NjU2LCAzNTY2MSwgMzM2OTksIAorICAgIDM1NjY3LCAzNTY3MCwgMzU2NzQsIDM1NjgyLCAzNjE5LCAzNTY5MCwgMzU2OTYsIDM1NzAyLCAzNTcxMSwgMzU3MjEsIAorICAgIDM1NzI4LCAzNTczNCwgMzYyNSwgMzYzMSwgMzU3NDMsIDM1NzUwLCAzNTc1OCwgMzU3NjMsIDM1NzY3LCAzNTc3NCwgCisgICAgMzU3ODIsIDM1Nzg5LCAzNTc5NSwgMzU4MDQsIDM1ODE0LCAzNTgyMCwgMzU4MjgsIDM1ODM3LCAzNTg0NCwgMzU4NTIsIAorICAgIDM1ODU5LCAyMjAyNiwgMzU4NjMsIDM1ODcwLCAzNTg3NiwgMzU4ODYsIDM1ODk1LCAzNTkwNiwgMzU5MTAsIDM1OTIwLCAKKyAgICAzNTkyNiwgMzU5MzMsIDM1OTQxLCAzNTk1MCwgMzU5NTksIDM1OTY5LCAzNTk4MCwgMzU5ODcsIDM1OTkyLCAzNTk5OSwgCisgICAgMzAyOSwgMzYwMDcsIDM2MDEzLCAzNjAxOCwgMzYwMjQsIDM2MDMwLCAzNjAzNSwgMzYwNDgsIDM2MDYxLCAzNjA3NCwgCisgICAgMzYwODEsIDM2MDg3LCAzNjA5NSwgMzYxMDMsIDM2MTA4LCAzNjExMiwgMTQ2OSwgMzYxMTYsIDM2MTIxLCAzNjEyNiwgCisgICAgMzYxMzEsIDM2MTM2LCAzNjE0MiwgMzYxNDcsIDM2MTUyLCAzNjE1NywgMzYxNjIsIDM2MTY3LCAzNjE3MiwgMzYxNzcsIAorICAgIDM2MTgzLCAzNjE4OSwgMzYxOTQsIDM2MTk5LCAzNjIwNSwgMzYyMTAsIDM2MjE1LCAzNjIyMCwgMzYyMjYsIDM2MjMxLCAKKyAgICAzNjIzNiwgMzYyNDEsIDM2MjQ2LCAzNjI1MiwgMzYyNTcsIDM2MjYyLCAzNjI2OCwgMzYyNzMsIDM2Mjc4LCAzNjI4MywgCisgICAgMzYyODgsIDM2MjkzLCAzNjI5OSwgMzYzMDQsIDM2MzEwLCAzNjMxNSwgMzYzMjEsIDM2MzI2LCAzNjMzMSwgMzYzMzYsIAorICAgIDM2MzQyLCAzNjM0OCwgMzYzNTQsIDM2MzYwLCAzNjM2NiwgMzYzNzIsIDM2Mzc4LCAzNjM4NCwgMzYzODksIDM2Mzk0LCAKKyAgICAzNjQwMCwgMzY0MDUsIDM2NDEwLCAzNjQxNSwgMzY0MjAsIDM2NDI1LCAzNjQzMCwgMzY0MzUsIDM2NDQxLCAzNjQ0NiwgCisgICAgMzY0NTEsIDM2NDU3LCAzNjQ2MywgMTAxLCAzNjQ2OCwgMzY0NzAsIDM2NDc0LCAzNjQ3OCwgMzY0ODIsIDM2NDg3LCAKKyAgICAzNjQ5MSwgOTUyOCwgMzY0OTUsIDM2NTAxLCAxNzQxLCA2MjgwLCAzNjUwNywgMzY1MTAsIDM2NTE1LCAzNjUxOSwgMzY1MjQsIAorICAgIDM2NTI4LCAzNjUzMiwgMzY1MzcsIDEwMjQ1LCAzNjU0MSwgMzY1NDUsIDM2NTQ5LCAzNjU1MywgMTUzNzksIDM2NTU4LCAKKyAgICAzNjU2MiwgMzY1NjcsIDM2NTcyLCAzNjU3NywgMzY1ODEsIDM2NTg4LCAyNjExOCwgMzY1OTQsIDM2NTk3LCAzNjYwMSwgCisgICAgMzY2MDYsIDM2NjEyLCAzNjYxNiwgMzY2MjQsIDM2NjMwLCAzNjYzNSwgMzY2MzksIDM2NjQ1LCAzNjY0OSwgMzY2NTMsIAorICAgIDM0NjIsIDM0NjcsIDI5MjQxLCAzNjY1NiwgMzY2NjAsIDM2NjY0LCAzNjY2OCwgMzY2NzYsIDM2NjgzLCAzNjY4NywgCisgICAgMzY2OTQsIDM2Njk5LCAzMTcsIDM2NzA0LCAzNjcwOCwgMzY3MTQsIDM2NzI2LCAzNjczMiwgMzY3MzgsIDM2NzQyLCAKKyAgICAzNjc0OCwgMzY3NTcsIDM2NzYxLCAzNjc2NSwgMzY3NzAsIDM2Nzc2LCAzNjc4MSwgMzY3ODUsIDM2NzkwLCAzNjc5NCwgCisgICAgMzY3OTgsIDM2ODA1LCAzNjgxMSwgMzY4MTYsIDM2ODMxLCAzNjg0NiwgMzY4NjEsIDM2ODc3LCAzNjg5NSwgMTAxOTUsIAorICAgIDM2OTA5LCAzNjkxNiwgMzY5MjAsIDM2OTIzLCAzNjkzMiwgMzY5MzcsIDM2OTQxLCAzNjk0OSwgMzM5MDEsIDM2OTU3LCAKKyAgICAzNjk2MSwgMzY5NzEsIDM2OTgyLCAyOTIxMSwgMzY5OTUsIDM2OTk5LCAzNzAwOCwgMzcwMTYsIDk3ODUsIDE0OTA3LCAKKyAgICAzNzAyMCwgMjI0NDEsIDM3MDIzLCAzMDE1OSwgMzcwMjgsIDk3ODQsIDM3MDMzLCAzNzAzOSwgMzcwNDQsIDM3MDUwLCAKKyAgICAzNzA1NSwgMzcwNjEsIDM3MDY2LCAzNzA3MiwgMzcwNzcsIDM3MDgzLCAzNzA4OSwgMzcwOTUsIDM3MTAwLCAzNzA1NiwgCisgICAgMzcwNjIsIDM3MDY3LCAzNzA3MywgMzcwNzgsIDM3MDg0LCAzNzA5MCwgODEyNiwgMzg3NCwgMzcxMDQsIDM3MTEyLCAKKyAgICAzNzExNiwgMzcxMTksIDM3MTIzLCAzNzEyOCwgMzcxMzMsIDM3MTM5LCAzNzE0NSwgMzcxNTAsIDM3MTU0LCAyNTk2NiwgCisgICAgMzcxNTgsIDM3MTYyLCAzNzE2OCwgMzcxNzIsIDkwNDksIDM3MTgxLCAzNzE4OCwgMzcxOTIsIDExODc1LCAzNzE5OSwgCisgICAgMzcyMDUsIDM3MjEwLCAzNzIxNywgMzcyMjQsIDM3MjMxLCAyODU1NywgODA0OSwgMzcyMzgsIDM3MjQ1LCAzNzI1MiwgCisgICAgMzcyNTgsIDM3MjYzLCAzNzI3MCwgMzcyODEsIDM3Mjg3LCAzNzI5MiwgMzcyOTcsIDM3MzAyLCAzNzMwOSwgMzcwNTcsIAorICAgIDM3MzEzLCAzNzMyMywgMzczMzQsIDM3MzQwLCAzNzM0NSwgMzczNTAsIDM3MzU1LCAzNzM2MCwgMzczNjUsIDM3MzY5LCAKKyAgICAzNzM3MywgMzczNzksIDM3Mzg3LCAyMzE5LCA4NjUsIDEwMjYxLCAxMDI3MywgMTAyNzgsIDEwMjg0LCAzNzM5NiwgMTAyODksIAorICAgIDEwMjk0LCAxMDMwMCwgMzc0MDEsIDM3NDExLCAzNzQxNSwgMTAzMDUsIDM3NDIwLCAxNjg5NywgMzc0MjMsIDM3NDI4LCAKKyAgICAzNzQzMiwgMzc0MzcsIDM3NDQyLCAzNzQ0OSwgMzc0NTYsIDM3NDYwLCAzNzQ2MywgMzc0NzEsIDEwMjA4LCAzNzQ3OCwgCisgICAgMzc0ODEsIDM3NDg3LCAzNzQ5NywgNTkyOSwgMzc1MDYsIDM3NTEwLCAzNzUxOCwgMzc1MjIsIDM3NTMyLCAzNzUzOCwgCisgICAgMzc1NDksIDM3NTU1LCAzNzU2MSwgMzc1NjYsIDM3NTcyLCAzNzU3OCwgMzc1ODQsIDM3NTg5LCAzNzU5MiwgMzc1OTksIAorICAgIDM3NjA1LCAzNzYxMCwgMzc2MTcsIDM3NjI0LCAzNzYyOCwgMzc2MzgsIDM3NjUxLCAzNzY2MCwgMzc2NjksIDM3NjgwLCAKKyAgICAzNzY5MywgMzc3MDQsIDM3NzEzLCAzNzcyNCwgMzc3MjksIDM3NzM4LCAzNzc0MywgMTAzMTAsIDM3NzQ5LCAzNzc1NiwgCisgICAgMzc3NjQsIDM3NzY5LCAzNzc3MywgMzc3ODAsIDM3Nzg3LCAzODI5LCAxNiwgMzc3OTEsIDM3Nzk2LCAxNjc1MSwgMzc4MDAsIAorICAgIDM3ODAzLCAzNzgwNiwgMjgwNjMsIDM3ODEwLCAyODU2NiwgMzc4MTgsIDM3ODIyLCAzNzgyNiwgMzc4MjksIDM3ODM1LCAKKyAgICAzNzA3OSwgMzc4NDEsIDM3ODQ5LCAzNzg1NSwgMzc4NjIsIDI4MDQ2LCAzNzg2NiwgMjgyNDAsIDM3ODcwLCAzNzg3OSwgCisgICAgMzc4ODUsIDM3ODkxLCAzNzg5NiwgMzc5MDAsIDM3OTA2LCAzNzkxMCwgMzc5MTgsIDM3OTI2LCAyNjE4NCwgMzc5MzIsIAorICAgIDM3OTM5LCAzNzk0NSwgMzc5NTAsIDM3OTU1LCAzNzk1OSwgMzc5NjUsIDM3OTcwLCAzNzk3NiwgNDA1NiwgNzkxLCAzNzk4MywgCisgICAgMzc5ODcsIDM3OTkwLCAxNTI2OSwgMzgwMDIsIDM1ODMzLCAzODAxMywgMzgwMTYsIDM4MDIzLCAzODAyNywgMzgwMzMsIAorICAgIDM4MDM3LCAzODA0MywgMzgwNDgsIDM4MDU0LCAzODA1OSwgMzgwNjQsIDM4MDY4LCAzODA3MiwgMzgwNzcsIDM4MDgyLCAKKyAgICAzODA5MiwgMzgwOTgsIDM4MTExLCAzODExNywgMzgxMjMsIDM4MTMwLCAzODEzNSwgMzgxNDEsIDM4MTQ2LCAxNjYzNywgCisgICAgMTQ3MiwgMTAxOSwgMzEyMDAsIDMxMjA2LCAzODE1MSwgMzEyMTIsIDMxMjI1LCAzMTIzMSwgMzEyMzcsIDM4MTU3LCAKKyAgICAzMTI0MywgMzEyNDksIDM4MTYzLCAzODE2OSwgMjIsIDM4MTc3LCAzODE4NCwgMzgxODgsIDM4MTkyLCAzODIwMCwgMzE5NjAsIAorICAgIDM4MjA0LCAzODIwOCwgMzgyMTUsIDM4MjIwLCAzODIyNCwgMzgyMjksIDM4MjM1LCAzODI0MCwgMzgyNDYsIDM4MjUxLCAKKyAgICAzODI1NSwgMzgyNTksIDM4MjYzLCAzODI2OCwgMzgyNzIsIDM4Mjc3LCAzODI4MSwgMzgyODgsIDM4MjkzLCAzODI5NywgCisgICAgMzgzMDIsIDM4MzA2LCAzODMxMSwgMzgzMTUsIDM4MzIwLCAzODMyNiwgMTU0ODksIDE1NDk0LCAzODMzMSwgMzgzMzUsIAorICAgIDM4MzM4LCAzODM0MiwgMjExNzcsIDM4MzQ3LCAzODM1MSwgMzgzNTcsIDM4MzY0LCAzODM2OSwgMzgzNzksIDM4Mzg0LCAKKyAgICAzODM5MiwgMzgzOTYsIDM4Mzk5LCAzMTk3NSwgMzg0MDMsIDQxMDksIDM4NDA4LCAzODQxMywgMzg0MTcsIDM4NDIyLCAKKyAgICAzODQyNiwgMzg0MzEsIDEzMzc1LCAzODQ0MiwgMzg0NDYsIDM4NDQ5LCAzODQ1NCwgMzg0NTgsIDM4NDYyLCAzODQ2NSwgCisgICAgMzg0NjksIDgxNDUsIDEzMzkxLCAzODQ3MiwgMzg0NzUsIDM4NDgxLCAzODQ4NiwgMzg0OTIsIDM4NDk3LCAzODUwMywgCisgICAgMzg1MDgsIDM4NTE0LCAzODUxOSwgMzg1MjUsIDM4NTMxLCAzODUzNywgMzg1NDIsIDM4NTQ2LCAzODU1MCwgMzg1NTksIAorICAgIDM4NTc1LCAzODU5MSwgMzg2MDEsIDI3OTUzLCAzODYwOCwgMzg2MTIsIDM4NjE3LCAzODYyMiwgMzg2MjYsIDM4NjMwLCAKKyAgICAzNTk1NCwgMzg2MzYsIDM4NjQxLCAzODY0NSwgMzg2NTIsIDM4NjU3LCAzODY2MSwgMzg2NjUsIDI2OTg2LCAzODY3MSwgCisgICAgMjE0NDUsIDM4Njc2LCAzODY4MywgMzg2OTEsIDM4Njk3LCAzODcwNCwgMzg3MTIsIDM4NzE4LCAzODcyMiwgMzg3MjgsIAorICAgIDM4NzM2LCAzODc0MCwgMzg3NDksIDk1MDksIDM4NzU3LCAzODc2MSwgMzg3NjksIDM4Nzc2LCAzODc4MSwgMzg3ODYsIAorICAgIDM4NzkwLCAzODc5MywgMzg3OTcsIDM4ODAwLCAzODgwNCwgMzg4MTEsIDM4ODE2LCAzODgyMiwgMjY0MDUsIDMxMjYzLCAKKyAgICAzODgyNiwgMzg4MzMsIDM4ODM5LCAzODg0NSwgMzg4NTAsIDM4ODUzLCAzODg1NSwgMzg4NjIsIDM4ODY5LCAzODg3NSwgCisgICAgMzg4NzksIDM4ODgyLCAzODg4NiwgMzg4OTAsIDM4ODk0LCAzODg5OSwgMzg5MDMsIDM4OTA3LCAzODkxMCwgMzg5MTQsIAorICAgIDM4OTI4LCAyMzA1MiwgMzg5NDcsIDM4OTYwLCAzODk3MywgMzg5ODYsIDIzMDcwLCAzOTAwMSwgMTA0OTcsIDM5MDE2LCAKKyAgICAzOTAyMiwgMzkwMjYsIDM5MDMwLCAzOTAzNywgMzkwNDIsIDM5MDQ2LCAzOTA1MywgMzkwNTksIDM5MDY0LCAzOTA3MCwgCisgICAgMzkwODAsIDM5MDkyLCAzOTEwMywgMzkxMDgsIDM5MTE1LCAzOTExOSwgMzkxMjMsIDM5MTI2LCAxNTg4NSwgMzY3NywgCisgICAgMzkxMzQsIDE1NTE2LCAzOTE0NywgMzkxNTQsIDM5MTU4LCAzOTE2MiwgMzkxNjcsIDM5MTcyLCAzOTE3OCwgMzkxODIsIAorICAgIDM5MTg2LCAzOTE4OSwgNzc0MiwgMTU1MjcsIDM5MTk0LCAzOTE5OCwgMzkyMDQsIDM5MjEzLCAzOTIxOCwgMzkyMjUsIAorICAgIDM1ODEwLCAzOTIzMSwgMzkyMzYsIDM5MjQwLCAzOTI0NSwgMzkyNTIsIDM5MjU2LCAzOTI1OSwgMzkyNjMsIDM5MjY4LCAKKyAgICAxNDU1OSwgMzkyNzUsIDM5MjgyLCAxMDcyLCAzOTI4NiwgMzkyOTEsIDM5Mjk2LCAzOTMwMiwgMzkzMDcsIDM5MzEyLCAKKyAgICAzOTMxNiwgMzkzMjYsIDM5MzMxLCAzOTMzNywgMzkzNDIsIDM5MzQ4LCAzOTM1MywgMzkzNTksIDM5MzY5LCAzOTM3NCwgCisgICAgMzkzNzksIDM5MzgzLCA3MjI5LCA3MjQxLCAzOTM4OCwgMzkzOTEsIDM5Mzk4LCAzOTQwNCwgMzQwNjYsIDM0MDczLCAKKyAgICAzOTQxMywgMzk0MTcsIDMyMDIzLCAzOTQyNSwgMzk0MzYsIDM5NDQ0LCAzNjAwMiwgMzk0NTEsIDM5NDU2LCAzOTQ2MSwgCisgICAgMzk0NzIsIDM5NDc5LCAzOTQ5MCwgMzIwNDcsIDIxNDUxLCAzOTQ5OCwgNzM1LCAzOTUwMywgMzk1MDksIDI4MDM3LCAKKyAgICAzOTUxNSwgMzk1MjAsIDM5NTMwLCAzOTUzOSwgMzk1NDYsIDM5NTUyLCAzOTU1NiwgMzk1NTksIDM5NTY2LCAzOTU3MiwgCisgICAgMzk1NzksIDM5NTg1LCAzOTU5NSwgMzk2MDMsIDM5NjA5LCAzOTYxNSwgMzk2MjAsIDM5NjI0LCAzOTYzMSwgMzk2MzcsIAorICAgIDM5NjQ0LCAzODg5NSwgNTM1LCAxMzgxMiwgMzk2NTAsIDM5NjU1LCAzOTY1OCwgMzk2NjQsIDM5NjcyLCAxMzk2LCAzOTY3NywgCisgICAgMzk2ODEsIDM5Njg2LCAzOTY5MywgMzk2OTksIDM5NzAzLCAzOTcwNywgMzk3MTIsIDM5NzIxLCAzOTcyOCwgMzk3MzgsIAorICAgIDM5NzQ0LCAyODA4MSwgMzk3NjEsIDM5NzcwLCAzOTc3OCwgMzk3ODQsIDM5Nzg5LCAzOTc5NiwgMzk4MDIsIDM5ODEwLCAKKyAgICAzOTgxOSwgMzk4MjcsIDM5ODMxLCAzOTgzNiwgMzk4NDQsIDMyMDU2LCAzOTg1MCwgMzk4NjksIDE1ODE4LCAzOTg4MywgCisgICAgMzk4OTksIDM5OTEzLCAzOTkxOSwgMzk5MjQsIDM5OTI5LCAzOTkzNCwgMzk5NDAsIDMyMDYyLCAzOTk0NSwgMzk5NTIsIAorICAgIDM5OTU3LCAzOTk2MSwgMzQ1LCAyOTM2LCAzOTk2OCwgMzk5NzMsIDM5OTc4LCAyNzMxMiwgMzk3OTksIDM5OTgyLCAzOTk4NywgCisgICAgMzk5OTUsIDM5OTk5LCA0MDAwMiwgNDAwMDgsIDQwMDE0LCA0MDAxOCwgMjgxMzYsIDQwMDIxLCA0MDAyNiwgNDAwMzAsIAorICAgIDQwMDMzLCA0MDAzOCwgNDAwNDIsIDQwMDQ3LCA0MDA1MiwgNDAwNTYsIDQwMDYxLCA0MDA2NSwgNDAwNjksIDIxMTczLCAKKyAgICAyMTE4NCwgNDAwNzMsIDQwMDc4LCA0MDA4NCwgMjY5NDMsIDQwMDg5LCA0MDA5MywgMjEyNjAsIDE2MDY2LCA0MDA5NiwgCisgICAgNDAxMDEsIDQwMTA2LCA0MDExMSwgNDAxMTYsIDQwMTIxLCA0MDEyNiwgNDAxMzEsIDQ0NywgNDMsIDMxMjgxLCAzMTI4NiwgCisgICAgMzEyOTEsIDMxMjk3LCAzMTMwMiwgMzEzMDcsIDQwMTM2LCAzMTMxMSwgNDAxNDAsIDQwMTQ0LCA0MDE0OCwgMzEzMTYsIAorICAgIDMxMzIyLCA0MDE2MiwgMzEzMzMsIDMxMzM4LCA0MDE3MCwgNDAxNzUsIDMxMzQ0LCA0MDE4MCwgNDAxODUsIDQwMTkwLCAKKyAgICA0MDE5NSwgNDAyMDEsIDQwMjA3LCA0MDIxMywgMzEzNjEsIDQwMjI2LCA0MDIzMiwgMzEzNjUsIDQwMjM2LCAzMTM3MCwgCisgICAgNDAyNDEsIDMxMzc1LCAzMTM4MCwgNDAyNDQsIDQwMjQ5LCA0MDI1MywgMzA5MzAsIDQwMjU5LCAxMzU5OSwgNDAyNjYsIAorICAgIDQwMjcxLCAzMTM4NSwgNDAyNzUsIDQwMjgwLCA0MDI4NSwgNDAyOTAsIDQwMjk0LCA0MDI5OSwgNDAzMDQsIDQwMzEwLCAKKyAgICA0MDMxNSwgNDAzMjAsIDQwMzI2LCA0MDMzMiwgNDAzMzcsIDQwMzQxLCA0MDM0NiwgNDAzNTEsIDQwMzU2LCA0MDM2MCwgCisgICAgNDAzNjUsIDQwMzcwLCA0MDM3NSwgNDAzODEsIDQwMzg3LCA0MDM5MywgNDAzOTgsIDQwNDAyLCA0MDQwNywgNDA0MTEsIAorICAgIDMxMzg5LCAzMTM5NCwgMzEzOTksIDQwNDE1LCA0MDQxOSwgNDA0MjMsIDMxNDA0LCAzMTQxMCwgMzE0MTYsIDMxNDI4LCAKKyAgICA0MDQzNSwgMjYwMDMsIDQwNDM5LCA0MDQ0MywgNDA0NDgsIDQwNDUzLCA0MDQ1OCwgNDA0NjMsIDQwNDY3LCA0MDQ3MSwgCisgICAgNDA0ODEsIDQwNDg2LCA0MDQ5MSwgNDA0OTUsIDQwNDk5LCA0MDUwMiwgNDA1MTAsIDMxNDc2LCA0MDUxNSwgMTQ3OSwgCisgICAgNDA1MjEsIDQwNTI5LCA0MDUzOCwgNDA1NDIsIDQwNTQ2LCA0MDU1NCwgNDA1NjAsIDQwNTY4LCA0MDU4NCwgNDA1ODgsIAorICAgIDQwNTkyLCA0MDU5NywgNDA2MTIsIDMxNTEzLCAxNzQ5LCAxMjA1NSwgNDA2MTYsIDEzNzgsIDQwNjI4LCA0MDYyOSwgCisgICAgNDA2MzcsIDQwNjQ0LCA0MDY0OSwgNDA2NTYsIDQwNjYxLCA5Mzc5LCAxMTE0LCAxMDMzMiwgNDA2NjgsIDQwNjczLCAKKyAgICA0MDY3NiwgNDA2NzksIDQwNjg4LCAxMjg2LCA0MDY5MywgMzkwNDMsIDQwNzAwLCA0MDcwNSwgMjI0OTMsIDI1NTcsIAorICAgIDQwNzA5LCAxMDc0MSwgNDA3MTksIDQwNzI1LCAyMzM3LCAyMzQ3LCA0MDczNCwgNDA3NDMsIDQwNzUzLCA0MDc2NCwgMzI5MywgCisgICAgMzQyMTksIDEwMzg0LCAzODA3LCAxNjY3NSwgMTI5MSwgNDA3NjksIDQwNzc3LCA0MDc4NCwgNDA3ODksIDQwNzkzLCAKKyAgICA0MDc5NywgMjM4NjUsIDEwNDExLCA0MDgwNSwgNDA4MTQsIDQwODIzLCA0MDgzMSwgNDA4MzgsIDQwODQ5LCA0MDg1NCwgCisgICAgNDA4NjcsIDQwODgwLCA0MDg5MiwgNDA5MDQsIDQwOTE2LCA0MDkyOSwgNDA5NDAsIDQwOTUxLCA0MDk2MSwgNDA5NjksIAorICAgIDQwOTc3LCA0MDk4OSwgNDEwMDEsIDQxMDEyLCA0MTAyMSwgNDEwMjksIDQxMDM2LCA0MTA0OCwgNDEwNTUsIDQxMDY0LCAKKyAgICA0MTA3MSwgNDEwODQsIDQxMDg5LCA0MTA5OSwgNDExMDQsIDQxMTEwLCA0MTExNSwgMzcxODksIDQxMTE5LCA0MTEyNiwgCisgICAgNDExMzAsIDQxMTM3LCA0MTE0NSwgMjUxOCwgNDExNTIsIDQxMTYzLCA0MTE3MywgNDExODIsIDQxMTkwLCA0MTIwMCwgCisgICAgNDEyMDgsIDQxMjE4LCA0MTIyNywgNDEyMzIsIDQxMjM4LCA0MTI0NCwgMzcwOSwgNDEyNTUsIDQxMjY1LCA0MTI3NCwgCisgICAgNDEyODMsIDQxMjkzLCA0MTMwMSwgNDEzMTAsIDQxMzE1LCA0MTMyMCwgNDEzMjUsIDE3MDUsIDM3LCA0MTMzMywgNDEzNDEsIAorICAgIDQxMzUyLCA0MTM2MywgMTYzNTAsIDQxMzczLCA0MTM3NywgNDEzODQsIDQxMzkwLCA0MTM5NSwgNDEzOTksIDQxNDEwLCAKKyAgICA0MTQyMCwgNDE0MjksIDQxNDQwLCAxNjcyNCwgMTY3MjksIDQxNDQ1LCA0MTQ1NCwgNDE0NTksIDQxNDY5LCA0MTQ3NCwgCisgICAgNDE0ODIsIDQxNDkwLCA0MTQ5NywgNDE1MDMsIDcwNzgsIDIyOCwgNDE1MDcsIDQxNTEzLCA0MTUxOCwgNDE1MjEsIDIxMTcsIAorICAgIDM5MTU5LCA0MTUyOSwgNDE1MzMsIDQxNTM2LCAxNTEyLCA0MTU0MiwgMTM5NzQsIDEyOTYsIDQxNTQ3LCA0MTU2MCwgCisgICAgNDE1NzQsIDI2NDMsIDQxNTkyLCA0MTYwNCwgNDE2MTYsIDI2NTcsIDI2NzQsIDQxNjMwLCA0MTY0MywgMjY4OSwgNDE2NTcsIAorICAgIDQxNjY5LCAyNzA0LCA0MTY4MywgMTMwMiwgMTMwOCwgMTMxNCwgMTA2NTksIDQxNjg4LCA0MTY5MywgNDE2OTgsIDQxNzAyLCAKKyAgICA0MTcxNywgNDE3MzIsIDQxNzQ3LCA0MTc2MiwgNDE3NzcsIDQxNzkyLCA0MTgwNywgNDE4MjIsIDQxODM3LCA0MTg1MiwgCisgICAgNDE4NjcsIDQxODgyLCA0MTg5NywgNDE5MTIsIDQxOTI3LCA0MTk0MiwgNDE5NTcsIDQxOTcyLCA0MTk4NywgNDIwMDIsIAorICAgIDQyMDE3LCA0MjAzMiwgNDIwNDcsIDQyMDYyLCA0MjA3NywgNDIwOTIsIDQyMTA3LCA0MjEyMiwgNDIxMzcsIDQyMTUyLCAKKyAgICA0MjE2NywgNDIxODIsIDQyMTk3LCA0MjIxMiwgNDIyMjcsIDQyMjQyLCA0MjI1NywgNDIyNzIsIDQyMjg3LCA0MjMwMiwgCisgICAgNDIzMTcsIDQyMzMyLCA0MjM0NywgNDIzNjIsIDQyMzc3LCA0MjM5MiwgNDI0MDcsIDQyNDIyLCA0MjQzNywgNDI0NTIsIAorICAgIDQyNDY3LCA0MjQ4MiwgNDI0OTcsIDQyNTEyLCA0MjUyNywgNDI1NDIsIDQyNTU3LCA0MjU3MiwgNDI1ODcsIDQyNjAyLCAKKyAgICA0MjYxNywgNDI2MzIsIDQyNjQ3LCA0MjY2MiwgNDI2NzcsIDQyNjkyLCA0MjcwNywgNDI3MjIsIDQyNzM3LCA0Mjc1MiwgCisgICAgNDI3NjcsIDQyNzgyLCA0Mjc5NywgNDI4MTIsIDQyODI3LCA0Mjg0MiwgNDI4NTcsIDQyODcyLCA0Mjg4NywgNDI5MDIsIAorICAgIDQyOTE3LCA0MjkzMiwgNDI5NDcsIDQyOTYyLCA0Mjk3NywgNDI5OTIsIDQzMDA3LCA0MzAyMiwgNDMwMzcsIDQzMDUyLCAKKyAgICA0MzA2NywgNDMwODIsIDQzMDk3LCA0MzExMiwgNDMxMjcsIDQzMTQyLCA0MzE1NywgNDMxNzIsIDQzMTg3LCA0MzIwMiwgCisgICAgNDMyMTcsIDQzMjMyLCA0MzI0NywgNDMyNjIsIDQzMjc3LCA0MzI5MiwgNDMzMDcsIDQzMzIyLCA0MzMzNywgNDMzNTIsIAorICAgIDQzMzY3LCA0MzM4MiwgNDMzOTcsIDQzNDEyLCA0MzQyNywgNDM0NDIsIDQzNDU3LCA0MzQ3MiwgNDM0ODcsIDQzNTAyLCAKKyAgICA0MzUxNywgNDM1MzIsIDQzNTQ3LCA0MzU2MiwgNDM1NzcsIDQzNTkyLCA0MzYwNywgNDM2MjIsIDQzNjM3LCA0MzY1MiwgCisgICAgNDM2NjcsIDQzNjgyLCA0MzY5NywgNDM3MTIsIDQzNzI3LCA0Mzc0MiwgNDM3NTcsIDQzNzcyLCA0Mzc4NywgNDM4MDIsIAorICAgIDQzODE3LCA0MzgzMiwgNDM4NDcsIDQzODYyLCA0Mzg3NywgNDM4OTIsIDQzOTA3LCA0MzkyMiwgNDM5MzcsIDQzOTUyLCAKKyAgICA0Mzk2NywgNDM5ODIsIDQzOTk3LCA0NDAxMiwgNDQwMjcsIDQ0MDQyLCA0NDA1NywgNDQwNzIsIDQ0MDg3LCA0NDEwMiwgCisgICAgNDQxMTcsIDQ0MTMyLCA0NDE0NywgNDQxNjIsIDQ0MTc3LCA0NDE5MiwgNDQyMDcsIDQ0MjIyLCA0NDIzNywgNDQyNTIsIAorICAgIDQ0MjY3LCA0NDI4MiwgNDQyOTcsIDQ0MzEyLCA0NDMyNywgNDQzNDIsIDQ0MzU3LCA0NDM3MiwgNDQzODcsIDQ0NDAyLCAKKyAgICA0NDQxNywgNDQ0MzIsIDQ0NDQ3LCA0NDQ2MiwgNDQ0NzcsIDQ0NDkyLCA0NDUwNywgNDQ1MjIsIDQ0NTM3LCA0NDU1MiwgCisgICAgNDQ1NjcsIDQ0NTgyLCA0NDU5NywgNDQ2MTIsIDQ0NjI3LCA0NDY0MiwgNDQ2NTcsIDQ0NjcyLCA0NDY4NywgNDQ3MDIsIAorICAgIDQ0NzE3LCA0NDczMiwgNDQ3NDcsIDQ0NzYyLCA0NDc3NywgNDQ3OTIsIDQ0ODA3LCA0NDgyMiwgNDQ4MzcsIDQ0ODUyLCAKKyAgICA0NDg2NywgNDQ4ODIsIDQ0ODk3LCA0NDkxMiwgNDQ5MjcsIDQ0OTQyLCA0NDk1NywgNDQ5NzIsIDQ0OTg3LCA0NTAwMiwgCisgICAgNDUwMTcsIDQ1MDMyLCA0NTA0NywgNDUwNjIsIDQ1MDc3LCA0NTA5MiwgNDUxMDcsIDQ1MTIyLCA0NTEzNywgNDUxNTIsIAorICAgIDQ1MTY3LCA0NTE4MiwgNDUxOTcsIDQ1MjEyLCA0NTIyNywgNDUyNDIsIDQ1MjU3LCA0NTI3MiwgNDUyODcsIDQ1MzAyLCAKKyAgICA0NTMxNywgNDUzMzIsIDQ1MzQ3LCA0NTM2MiwgNDUzNzcsIDQ1MzkyLCA0NTQwNywgNDU0MjIsIDQ1NDM3LCA0NTQ1MiwgCisgICAgNDU0NjcsIDQ1NDgyLCA0NTQ5NywgNDU1MTIsIDQ1NTI3LCA0NTU0MiwgNDU1NTcsIDQ1NTcyLCA0NTU4NywgNDU2MDIsIAorICAgIDQ1NjE3LCA0NTYzMiwgNDU2NDcsIDQ1NjYyLCA0NTY3NywgNDU2OTIsIDQ1NzA3LCA0NTcyMiwgNDU3MzcsIDQ1NzUyLCAKKyAgICA0NTc2NywgNDU3ODIsIDQ1Nzk3LCA0NTgxMiwgNDU4MjcsIDQ1ODQyLCA0NTg1NywgNDU4NzIsIDQ1ODg3LCA0NTkwMiwgCisgICAgNDU5MTcsIDQ1OTMyLCA0NTk0NywgNDU5NjIsIDQ1OTc3LCA0NTk5MiwgNDYwMDcsIDQ2MDIyLCA0NjAzNywgNDYwNTIsIAorICAgIDQ2MDY3LCA0NjA4MiwgNDYwOTcsIDQ2MTEyLCA0NjEyNywgNDYxNDIsIDQ2MTU3LCA0NjE3MiwgNDYxODcsIDQ2MjAyLCAKKyAgICA0NjIxNywgNDYyMzIsIDQ2MjQ3LCA0NjI2MiwgNDYyNzcsIDQ2MjkyLCA0NjMwNywgNDYzMjIsIDQ2MzM3LCA0NjM1MiwgCisgICAgNDYzNjcsIDQ2MzgyLCA0NjM5NywgNDY0MTIsIDQ2NDI3LCA0NjQ0MiwgNDY0NTcsIDQ2NDcyLCA0NjQ4NywgNDY1MDIsIAorICAgIDQ2NTE3LCA0NjUzMiwgNDY1NDcsIDQ2NTYyLCA0NjU3NywgNDY1OTIsIDQ2NjA3LCA0NjYyMiwgNDY2MzcsIDQ2NjUyLCAKKyAgICA0NjY2NywgNDY2ODIsIDQ2Njk3LCA0NjcxMiwgNDY3MjcsIDQ2NzQyLCA0Njc1NywgNDY3NzIsIDQ2Nzg3LCA0NjgwMiwgCisgICAgNDY4MTcsIDQ2ODMyLCA0Njg0NywgNDY4NjIsIDQ2ODc3LCA0Njg5MiwgNDY5MDcsIDQ2OTIyLCA0NjkzNywgNDY5NTIsIAorICAgIDQ2OTY3LCA0Njk4MiwgNDY5OTcsIDQ3MDEyLCA0NzAyNywgNDcwNDIsIDQ3MDU3LCA0NzA3MiwgNDcwODcsIDQ3MTAyLCAKKyAgICA0NzExNywgNDcxMzIsIDQ3MTQ3LCA0NzE2MiwgNDcxNzcsIDQ3MTkyLCA0NzIwNywgNDcyMjIsIDQ3MjM3LCA0NzI1MiwgCisgICAgNDcyNjcsIDQ3MjgyLCA0NzI5NywgNDczMTIsIDQ3MzI3LCA0NzM0MiwgNDczNTcsIDQ3MzcyLCA0NzM4NywgNDc0MDIsIAorICAgIDQ3NDE3LCA0NzQzMiwgNDc0NDcsIDQ3NDYyLCA0NzQ3NywgNDc0OTIsIDQ3NTA3LCA0NzUyMiwgNDc1MzcsIDQ3NTUyLCAKKyAgICA0NzU2NywgNDc1ODIsIDQ3NTk3LCA0NzYxMiwgNDc2MjcsIDQ3NjQyLCA0NzY1NywgNDc2NzIsIDQ3Njg3LCA0NzcwMiwgCisgICAgNDc3MTcsIDQ3NzMyLCA0Nzc0NywgNDc3NjIsIDQ3Nzc3LCA0Nzc5MiwgNDc4MDcsIDQ3ODIyLCA0NzgzNywgNDc4NTIsIAorICAgIDQ3ODY3LCA0Nzg4MiwgNDc4OTcsIDQ3OTEyLCA0NzkyNywgNDc5NDIsIDQ3OTU3LCA0Nzk3MiwgNDc5ODcsIDQ4MDAyLCAKKyAgICA0ODAxNywgNDgwMzIsIDQ4MDQ3LCA0ODA2MiwgNDgwNzcsIDQ4MDkyLCA0ODEwNywgNDgxMjIsIDQ4MTM3LCA0ODE1MiwgCisgICAgNDgxNjcsIDQ4MTgyLCA0ODE5NywgNDgyMTIsIDQ4MjI3LCA0ODI0MiwgNDgyNTcsIDQ4MjcyLCA0ODI4NywgNDgzMDIsIAorICAgIDQ4MzE3LCA0ODMzMiwgNDgzNDcsIDQ4MzYyLCA0ODM3NywgNDgzOTIsIDQ4NDA3LCA0ODQyMiwgNDg0MzcsIDQ4NDUyLCAKKyAgICA0ODQ2NywgNDg0ODIsIDQ4NDk3LCA0ODUxMiwgNDg1MjcsIDQ4NTQyLCA0ODU1NywgNDg1NzIsIDQ4NTg3LCA0ODYwMiwgCisgICAgNDg2MTcsIDQ4NjMyLCA0ODY0NywgNDg2NjIsIDQ4Njc3LCA0ODY5MiwgNDg3MDcsIDQ4NzIyLCA0ODczNywgNDg3NTIsIAorICAgIDQ4NzY3LCA0ODc4MiwgNDg3OTcsIDQ4ODEyLCA0ODgyNywgNDg4NDIsIDQ4ODU3LCA0ODg3MiwgNDg4ODcsIDQ4OTAyLCAKKyAgICA0ODkxNywgNDg5MzIsIDQ4OTQ3LCA0ODk2MiwgNDg5NzcsIDQ4OTkyLCA0OTAwNywgNDkwMjIsIDQ5MDM3LCA0OTA1MiwgCisgICAgNDkwNjcsIDQ5MDgyLCA0OTA5NywgNDkxMTIsIDQ5MTI3LCA0OTE0MiwgNDkxNTcsIDQ5MTcyLCA0OTE4NywgNDkyMDIsIAorICAgIDQ5MjE3LCA0OTIzMiwgNDkyNDcsIDQ5MjYyLCA0OTI3NywgNDkyOTIsIDQ5MzA3LCA0OTMyMiwgNDkzMzcsIDQ5MzUyLCAKKyAgICA0OTM2NywgNDkzODIsIDQ5Mzk3LCA0OTQxMiwgNDk0MjcsIDQ5NDQyLCA0OTQ1NywgNDk0NzIsIDQ5NDg3LCA0OTUwMiwgCisgICAgNDk1MTgsIDQ5NTM0LCA0OTU1MCwgNDk1NjYsIDQ5NTgyLCA0OTU5OCwgNDk2MTQsIDQ5NjMwLCA0OTY0NiwgNDk2NjIsIAorICAgIDQ5Njc4LCA0OTY5NCwgNDk3MTAsIDQ5NzI2LCA0OTc0MiwgNDk3NTgsIDQ5Nzc0LCA0OTc5MCwgNDk4MDYsIDQ5ODIyLCAKKyAgICA0OTgzOCwgNDk4NTQsIDQ5ODcwLCA0OTg4NiwgNDk5MDIsIDQ5OTE4LCA0OTkzNCwgNDk5NTAsIDQ5OTY2LCA0OTk4MiwgCisgICAgNDk5OTgsIDUwMDE0LCA1MDAzMCwgNTAwNDYsIDUwMDYyLCA1MDA3OCwgNTAwOTQsIDUwMTEwLCA1MDEyNiwgNTAxNDIsIAorICAgIDUwMTU4LCA1MDE3NCwgNTAxOTAsIDUwMjA2LCA1MDIyMiwgNTAyMzgsIDUwMjU0LCA1MDI3MCwgNTAyODYsIDUwMzAyLCAKKyAgICA1MDMxOCwgNTAzMzQsIDUwMzUwLCA1MDM2NiwgNTAzODIsIDUwMzk4LCA1MDQxNCwgNTA0MzAsIDUwNDQ2LCA1MDQ2MiwgCisgICAgNTA0NzgsIDUwNDk0LCA1MDUxMCwgNTA1MjYsIDUwNTQyLCA1MDU1OCwgNTA1NzQsIDUwNTkwLCA1MDYwNiwgNTA2MjIsIAorICAgIDUwNjM4LCA1MDY1NCwgNTA2NzAsIDUwNjg2LCA1MDcwMiwgNTA3MTgsIDUwNzM0LCA1MDc1MCwgNTA3NjYsIDUwNzgyLCAKKyAgICA1MDc5OCwgNTA4MTQsIDUwODMwLCA1MDg0NiwgNTA4NjIsIDUwODc4LCA1MDg5NCwgNTA5MTAsIDUwOTI2LCA1MDk0MiwgCisgICAgNTA5NTgsIDUwOTc0LCA1MDk5MCwgNTEwMDYsIDUxMDIyLCA1MTAzOCwgNTEwNTQsIDUxMDcwLCA1MTA4NiwgNTExMDIsIAorICAgIDUxMTE4LCA1MTEzNCwgNTExNTAsIDUxMTY2LCA1MTE4MiwgNTExOTgsIDUxMjE0LCA1MTIzMCwgNTEyNDYsIDUxMjYyLCAKKyAgICA1MTI3OCwgNTEyOTQsIDUxMzEwLCA1MTMyNiwgNTEzNDIsIDUxMzU4LCA1MTM3NCwgNTEzOTAsIDUxNDA2LCA1MTQyMiwgCisgICAgNTE0MzgsIDUxNDU0LCA1MTQ3MCwgNTE0ODYsIDUxNTAyLCA1MTUxOCwgNTE1MzQsIDUxNTUwLCA1MTU2NiwgNTE1ODIsIAorICAgIDUxNTk4LCA1MTYxNCwgNTE2MzAsIDUxNjQ2LCA1MTY2MiwgNTE2NzgsIDUxNjk0LCA1MTcxMCwgNTE3MjYsIDUxNzQyLCAKKyAgICA1MTc1OCwgNTE3NzQsIDUxNzkwLCA1MTgwNiwgNTE4MjIsIDUxODM4LCA1MTg1NCwgNTE4NzAsIDUxODg2LCA1MTkwMiwgCisgICAgNTE5MTgsIDUxOTM0LCA1MTk1MCwgNTE5NjYsIDUxOTgyLCA1MTk5OCwgNTIwMTQsIDUyMDMwLCA1MjA0NiwgNTIwNjIsIAorICAgIDUyMDc4LCA1MjA5NCwgNTIxMTAsIDUyMTI2LCA1MjE0MiwgNTIxNTgsIDUyMTc0LCA1MjE5MCwgNTIyMDYsIDUyMjIyLCAKKyAgICA1MjIzOCwgNTIyNTQsIDUyMjcwLCA1MjI4NiwgNTIzMDIsIDUyMzE4LCA1MjMzNCwgNTIzNTAsIDUyMzY2LCA1MjM4MiwgCisgICAgNTIzOTgsIDUyNDE0LCA1MjQzMCwgNTI0NDYsIDUyNDYyLCA1MjQ3OCwgNTI0OTQsIDUyNTEwLCA1MjUyNiwgNTI1NDIsIAorICAgIDUyNTU4LCA1MjU3NCwgNTI1OTAsIDUyNjA2LCA1MjYyMiwgNTI2MzgsIDUyNjU0LCA1MjY3MCwgNTI2ODYsIDUyNzAyLCAKKyAgICA1MjcxOCwgNTI3MzQsIDUyNzUwLCA1Mjc2NiwgNTI3ODIsIDUyNzk4LCA1MjgxNCwgNTI4MzAsIDUyODQ2LCA1Mjg2MiwgCisgICAgNTI4NzgsIDUyODk0LCA1MjkxMCwgNTI5MjYsIDUyOTQyLCA1Mjk1OCwgNTI5NzQsIDUyOTkwLCA1MzAwNiwgNTMwMjIsIAorICAgIDUzMDM4LCA1MzA1NCwgNTMwNzAsIDUzMDg2LCA1MzEwMiwgNTMxMTgsIDUzMTM0LCA1MzE1MCwgNTMxNjYsIDUzMTgyLCAKKyAgICA1MzE5OCwgNTMyMTQsIDUzMjMwLCA1MzI0NiwgNTMyNjIsIDUzMjc4LCA1MzI5NCwgNTMzMTAsIDUzMzI2LCA1MzM0MiwgCisgICAgNTMzNTgsIDUzMzc0LCA1MzM5MCwgNTM0MDYsIDUzNDIyLCA1MzQzOCwgNTM0NTQsIDUzNDcwLCA1MzQ4NiwgNTM1MDIsIAorICAgIDUzNTE4LCA1MzUzNCwgNTM1NTAsIDUzNTY2LCA1MzU4MiwgNTM1OTgsIDUzNjE0LCA1MzYzMCwgNTM2NDYsIDUzNjYyLCAKKyAgICA1MzY3OCwgNTM2OTQsIDUzNzEwLCA1MzcyNiwgNTM3NDIsIDUzNzU4LCA1Mzc3NCwgNTM3OTAsIDUzODA2LCA1MzgyMiwgCisgICAgNTM4MzgsIDUzODU0LCA1Mzg3MCwgNTM4ODYsIDUzOTAyLCA1MzkxOCwgNTM5MzQsIDUzOTUwLCA1Mzk2NiwgNTM5ODIsIAorICAgIDUzOTk4LCA1NDAxNCwgNTQwMzAsIDU0MDQ2LCA1NDA2MiwgNTQwNzgsIDU0MDk0LCA1NDExMCwgNTQxMjYsIDU0MTQyLCAKKyAgICA1NDE1OCwgNTQxNzQsIDU0MTkwLCA1NDIwNiwgNTQyMjIsIDU0MjM4LCA1NDI1NCwgNTQyNzAsIDU0Mjg2LCA1NDMwMiwgCisgICAgNTQzMTgsIDU0MzM0LCA1NDM1MCwgNTQzNjYsIDU0MzgyLCA1NDM5OCwgNTQ0MTQsIDU0NDMwLCA1NDQ0NiwgNTQ0NjIsIAorICAgIDU0NDc4LCA1NDQ5NCwgNTQ1MTAsIDU0NTI2LCA1NDU0MiwgNTQ1NTgsIDU0NTc0LCA1NDU5MCwgNTQ2MDYsIDU0NjIyLCAKKyAgICA1NDYzOCwgNTQ2NTQsIDU0NjcwLCA1NDY4NiwgNTQ3MDIsIDU0NzE4LCA1NDczNCwgNTQ3NTAsIDU0NzY2LCA1NDc4MiwgCisgICAgNTQ3OTgsIDU0ODE0LCA1NDgzMCwgNTQ4NDYsIDU0ODYyLCA1NDg3OCwgNTQ4OTQsIDU0OTEwLCA1NDkyNiwgNTQ5NDIsIAorICAgIDU0OTU4LCA1NDk3NCwgNTQ5OTAsIDU1MDA2LCA1NTAyMiwgNTUwMzgsIDU1MDU0LCA1NTA3MCwgNTUwODYsIDU1MTAyLCAKKyAgICA1NTExOCwgNTUxMzQsIDU1MTUwLCA1NTE2NiwgNTUxODIsIDU1MTk4LCA1NTIxNCwgNTUyMzAsIDU1MjQ2LCA1NTI2MiwgCisgICAgNTUyNzgsIDU1Mjk0LCA1NTMxMCwgNTUzMjYsIDU1MzQyLCA1NTM1OCwgNTUzNzQsIDU1MzkwLCA1NTQwNiwgNTU0MjIsIAorICAgIDU1NDM4LCA1NTQ1NCwgNTU0NzAsIDU1NDg2LCA1NTUwMiwgNTU1MTgsIDU1NTM0LCA1NTU1MCwgNTU1NjYsIDU1NTgyLCAKKyAgICA1NTU5OCwgNTU2MTQsIDU1NjMwLCA1NTY0NiwgNTU2NjIsIDU1Njc4LCA1NTY5NCwgNTU3MTAsIDU1NzI2LCA1NTc0MiwgCisgICAgNTU3NTgsIDU1Nzc0LCA1NTc5MCwgNTU4MDYsIDU1ODIyLCA1NTgzOCwgNTU4NTQsIDU1ODcwLCA1NTg4NiwgNTU5MDIsIAorICAgIDU1OTE4LCA1NTkzNCwgNTU5NTAsIDU1OTY2LCA1NTk4MiwgNTU5OTgsIDU2MDE0LCA1NjAzMCwgNTYwNDYsIDU2MDYyLCAKKyAgICA1NjA3OCwgNTYwOTQsIDU2MTEwLCA1NjEyNiwgNTYxNDIsIDU2MTU4LCA1NjE3NCwgNTYxOTAsIDU2MjA2LCA1NjIyMiwgCisgICAgNTYyMzgsIDU2MjU0LCA1NjI3MCwgNTYyODYsIDU2MzAyLCA1NjMxOCwgNTYzMzQsIDU2MzUwLCA1NjM2NiwgNTYzODIsIAorICAgIDU2Mzk4LCA1NjQxNCwgNTY0MzAsIDU2NDQ2LCA1NjQ2MiwgNTY0NzgsIDU2NDk0LCA1NjUxMCwgNTY1MjYsIDU2NTQyLCAKKyAgICA1NjU1OCwgNTY1NzQsIDU2NTkwLCA1NjYwNiwgNTY2MjIsIDU2NjM4LCA1NjY1NCwgNTY2NzAsIDU2Njg2LCA1NjcwMiwgCisgICAgNTY3MTgsIDU2NzM0LCA1Njc1MCwgNTY3NjYsIDU2NzgyLCA1Njc5OCwgNTY4MTQsIDU2ODMwLCA1Njg0NiwgNTY4NjIsIAorICAgIDU2ODc4LCA1Njg5NCwgNTY5MTAsIDU2OTI2LCA1Njk0MiwgNTY5NTgsIDU2OTc0LCA1Njk5MCwgNTcwMDYsIDU3MDIyLCAKKyAgICA1NzAzOCwgNTcwNTQsIDU3MDcwLCA1NzA4NiwgNTcxMDIsIDU3MTE4LCA1NzEzNCwgNTcxNTAsIDU3MTY2LCA1NzE4MiwgCisgICAgNTcxOTgsIDU3MjE0LCA1NzIzMCwgNTcyNDYsIDU3MjYyLCA1NzI3OCwgNTcyOTQsIDU3MzEwLCA1NzMyNiwgNTczNDIsIAorICAgIDU3MzU4LCA1NzM3NCwgNTczOTAsIDU3NDA2LCA1NzQyMiwgNTc0MzgsIDU3NDU0LCA1NzQ3MCwgNTc0ODYsIDU3NTAyLCAKKyAgICA1NzUxOCwgNTc1MzQsIDU3NTUwLCA1NzU2NiwgNTc1ODIsIDU3NTk4LCA1NzYxNCwgNTc2MzAsIDU3NjQ2LCA1NzY2MiwgCisgICAgNTc2NzgsIDU3Njk0LCA1NzcxMCwgNTc3MjYsIDU3NzQyLCA1Nzc1OCwgNTc3NzQsIDU3NzkwLCA1NzgwNiwgNTc4MjIsIAorICAgIDU3ODM4LCA1Nzg1NCwgNTc4NzAsIDU3ODg2LCA1NzkwMiwgNTc5MTgsIDU3OTM0LCA1Nzk1MCwgNTc5NjYsIDU3OTgyLCAKKyAgICA1Nzk5OCwgNTgwMTQsIDU4MDMwLCA1ODA0NiwgNTgwNjIsIDU4MDc4LCA1ODA5NCwgNTgxMTAsIDU4MTI2LCA1ODE0MiwgCisgICAgNTgxNTgsIDU4MTc0LCA1ODE4OSwgMTY3NTYsIDU4MTk4LCA1ODIwNCwgNTgyMTAsIDU4MjIwLCA1ODIyOCwgMTQ4ODgsIAorICAgIDE1NDM5LCA5OTYwLCA1ODI0MSwgMTUyMCwgNTgyNDksIDM3NjEsIDI3NDIyLCA3MTgzLCA1ODI1NSwgNTgyNjAsIDU4MjY1LCAKKyAgICA1ODI3MCwgNTgyNzUsIDU4MjgxLCA1ODI4NiwgNTgyOTIsIDU4Mjk3LCA1ODMwMywgNTgzMDgsIDU4MzEzLCA1ODMxOCwgCisgICAgNTgzMjMsIDU4MzI5LCA1ODMzNCwgNTgzMzksIDU4MzQ0LCA1ODM0OSwgNTgzNTQsIDU4MzU5LCA1ODM2NCwgNTgzNzAsIAorICAgIDU4Mzc1LCA1ODM4MSwgNTgzODgsIDI1NjEsIDU4MzkzLCA1ODM5OSwgODUyNiwgNTg0MDMsIDU4NDA4LCA1ODQxNSwgCisgICAgNTg0MjMsIDQwLCA1ODQyNywgNTg0MzMsIDU4NDM4LCA1ODQ0MywgNTg0NDcsIDU4NDUyLCA1ODQ1NiwgNTg0NjAsIDEwNjg0LCAKKyAgICA1ODQ2NCwgNTg0NzQsIDU4NDg3LCA1ODQ5OCwgNTg1MTEsIDU4NTE4LCA1ODUyNCwgNTg1MjksIDU4NTM1LCA1ODU0MSwgCisgICAgNTg1NDcsIDU4NTUyLCA1ODU1NywgNTg1NjIsIDU4NTY3LCA1ODU3MSwgNTg1NzYsIDU4NTgxLCA1ODU4NiwgNTg1OTIsIAorICAgIDU4NTk4LCA1ODYwNCwgNTg2MDksIDU4NjEzLCA1ODYxOCwgNTg2MjMsIDU4NjI3LCA1ODYzMiwgNTg2MzcsIDU4NjQyLCAKKyAgICA1ODY0NiwgMTA3MDAsIDEwNzExLCAxMDcxNiwgMTU2MywgNTg2NTAsIDE1NjgsIDU4NjU2LCAxNjIzMywgNTg2NTksIAorICAgIDU4NjY1LCAxNTk5LCA1ODY3MSwgMTYwNSwgMTYxMSwgMTA3NDYsIDU4Njc2LCA1ODY4NCwgNTg2OTEsIDU4Njk1LCA1ODcwMSwgCisgICAgNTg3MDYsIDMwOTU5LCA1ODcxMSwgNTg3MTgsIDU4NzIzLCA1ODcyNywgNTg3MzEsIDE2MTYsIDE2MzI1LCA1ODc0MCwgCisgICAgNTg3NDQsIDE2MzM2LCAxMTIwLCA1ODc0OCwgNTg3NTUsIDU4NzYwLCA1ODc2NCwgMTYzNjEsIDE2MjAsIDM3MzI4LCAKKyAgICA1ODc2NywgNTg3NzIsIDU4NzgyLCA1ODc5MSwgNTg3OTYsIDU4ODAwLCA1ODgwNiwgMTYyNSwgMzkyMzcsIDU4ODExLCAKKyAgICA1ODgyMCwgNTg4MjYsIDU4ODMxLCAxMDkwNCwgMTA5MTAsIDU4ODM3LCA1ODg0OSwgNTg4NjYsIDU4ODgzLCA1ODkwMCwgCisgICAgNTg5MTcsIDU4OTM0LCA1ODk1MSwgNTg5NjgsIDU4OTg1LCA1OTAwMiwgNTkwMTksIDU5MDM2LCA1OTA1MywgNTkwNzAsIAorICAgIDU5MDg3LCA1OTEwNCwgNTkxMjEsIDU5MTM4LCA1OTE1NSwgNTkxNzIsIDU5MTg5LCA1OTIwNiwgNTkyMjMsIDU5MjQwLCAKKyAgICA1OTI1NywgNTkyNzQsIDU5MjkxLCA1OTMwOCwgNTkzMjUsIDU5MzQyLCA1OTM1OSwgNTkzNzYsIDU5MzkzLCA1OTQxMCwgCisgICAgNTk0MjcsIDU5NDQ0LCA1OTQ2MSwgNTk0NzgsIDU5NDk1LCA1OTUxMiwgNTk1MjksIDU5NTQ2LCA1OTU2MywgNTk1ODAsIAorICAgIDU5NTk3LCA1OTYxNCwgNTk2MzEsIDU5NjQ4LCA1OTY2NSwgNTk2ODIsIDU5NjkzLCA1OTY5OCwgMTYzMCwgNTk3MDIsIAorICAgIDU5NzA4LCA1OTcxMywgNTk3MTgsIDkzMjYsIDE2MzUsIDU5NzI0LCA1OTczMywgMjc3MTcsIDU5NzM4LCA1OTc0OSwgCisgICAgNTk3NTksIDU5NzY0LCA1OTc3MSwgNTk3NzcsIDU5NzgyLCA1OTc4NywgMTY2MTMsIDU5NzkxLCAxMDkyMSwgMTY0MCwgCisgICAgMTA5MjYsIDU5Nzk3LCA1OTgwMiwgNTk4MDgsIDU5ODEzLCA1OTgxOCwgNTk4MjMsIDU5ODI4LCA1OTgzMywgNTk4MzgsIAorICAgIDU5ODQzLCA1OTg0OSwgNTk4NTUsIDU5ODYxLCA1OTg2NiwgNTk4NzAsIDU5ODc1LCA1OTg4MCwgNTk4ODQsIDU5ODg5LCAKKyAgICA1OTg5NCwgNTk4OTksIDU5OTAzLCA1OTkwOCwgNTk5MTQsIDU5OTE5LCA1OTkyNCwgNTk5MjgsIDU5OTMzLCA1OTkzOCwgCisgICAgNTk5NDQsIDU5OTQ5LCA1OTk1NCwgNTk5NjAsIDU5OTY2LCA1OTk3MSwgNTk5NzUsIDU5OTgwLCA1OTk4NSwgNTk5OTAsIAorICAgIDU5OTk0LCA1OTk5OSwgNjAwMDQsIDYwMDA5LCA2MDAxNSwgNjAwMjEsIDYwMDI2LCA2MDAzMCwgNjAwMzQsIDYwMDM5LCAKKyAgICA2MDA0NCwgNjAwNDksIDI5MTE1LCA2MDA1MywgNjAwNTgsIDYwMDYzLCA2MDA2OSwgNjAwNzQsIDYwMDc5LCA2MDA4MywgCisgICAgNjAwODgsIDYwMDkzLCA2MDA5OSwgNjAxMDQsIDYwMTA5LCA2MDExNSwgNjAxMjEsIDYwMTI2LCA2MDEzMCwgNjAxMzUsIAorICAgIDYwMTQwLCA2MDE0NCwgNjAxNDksIDYwMTU0LCA2MDE1OSwgNjAxNjUsIDYwMTcxLCA2MDE3NiwgNjAxODAsIDYwMTg1LCAKKyAgICA2MDE5MCwgNjAxOTQsIDYwMTk5LCA2MDIwNCwgNjAyMDksIDYwMjEzLCA2MDIxNiwgMzE2MjEsIDYwMjIxLCA2MDIyOSwgCisgICAgMTY2NzksIDM2NjMsIDExMDE3LCA2MDIzNSwgNjAyNDUsIDYwMjYwLCAxMTAyMiwgNjAyNzEsIDYwMjc2LCA2MDI4NywgCisgICAgNjAyOTksIDYwMzExLCA2MDMyMywgMjY5NSwgNjAzMzUsIDYwMzQwLCA2MDM1MiwgNjAzNTYsIDYwMzYyLCA2MDM2OCwgCisgICAgNjAzNzMsIDE2NTIsIDEwNzMsIDYwMzgyLCA2MDM4NywgMzkyODcsIDYwMzkxLCA2MDM5NSwgNjA0MDAsIDYwNDA0LCAKKyAgICAxNjc2NCwgNjA0MDksIDYwNDEyLCA2MDQyMCwgNjA0MjgsIDE2NTYsIDExMDQ3LCAxMTA1MywgMTY2MSwgNjA0MzYsIAorICAgIDYwNDQzLCA2MDQ0OCwgNjA0NTcsIDYwNDY3LCA2MDQ3NCwgNjA0NzksIDYwNDg0LCAxNjY2LCA2MDQ5MSwgNjA0OTYsIAorICAgIDE2ODc5LCA2MDUwMCwgNjA1MDUsIDYwNTEyLCA2MDUxOCwgNjA1MjIsIDYwNTMzLCA2MDU0MywgMTY5MDEsIDkyMzQsIAorICAgIDkyNDEsIDE2NzEsIDYwNTUwLCA2MDU1NiwgNjA1NjQsIDYwNTcxLCA2MDU3NywgNjA1ODQsIDYwNTk2LCA2MDYwMiwgCisgICAgNjA2MDcsIDYwNjE5LCA2MDYzMCwgNjA2MzksIDYwNjQ5LCAzNzQwLCAzMDc5NSwgMzA4MDQsIDE2OTQxLCAxNjc2LCAxNjgwLCAKKyAgICA2MDY1NywgNjA2NjgsIDYwNjczLCAxNjgzLCA2MDY4MSwgNjA2ODYsIDE2OTkyLCA2MDY5OCwgNjA3MDQsIDYwNzA5LCAKKyAgICA2MDcxNywgMTY4OCwgNjA3MjIsIDYwNzI3LCA2MDczNSwgNjA3NDMsIDYwNzUwLCA2MDc1OSwgNjA3NjcsIDYwNzc2LCAKKyAgICAxNjkzLCA2MDc4MCwgMTY5OCwgNjA3ODUsIDYwNzkyLCAxNzA2NiwgNjA4MDAsIDYwODA2LCA2MDgxMSwgNjA4MTksIAorICAgIDYwODI2LCA2MDgzNCwgMjI1NjQsIDYwODM5LCAxMTE4MiwgNjA4NDgsIDYwODU0LCA2MDg2MSwgNjA4NjgsIDYwODc0LCAKKyAgICA2MDg4NCwgNjA4OTAsIDYwODk1LCA2MDkwNiwgNjA5MTEsIDYwOTE5LCAxMTE5MSwgMTExOTYsIDYwOTI3LCA2MDkzMywgCisgICAgNjA5NDEsIDM4MDUsIDE3MTA4LCAzOTM3NSwgNjA5NDYsIDYwOTUyLCA2MDk1NywgNjA5NjUsIDYwOTcyLCAxMjAzNiwgCisgICAgNjA5NzcsIDYwOTgzLCAxNzA5LCA2MDk4OCwgNjA5OTEsIDExMjcsIDYwOTk3LCA2MTAwMiwgNjEwMDcsIDYxMDEzLCAKKyAgICA2MTAxOCwgNjEwMjMsIDYxMDI4LCA2MTAzMywgNjEwMzgsIDYxMDQzLCAxNzE4LCA5LCA2MTA0OSwgNjEwNTMsIDYxMDU4LCAKKyAgICA2MTA2MiwgNjEwNjYsIDYxMDcwLCAzMTg2MSwgNjEwNzUsIDYxMDgwLCA2MTA4NSwgNjEwODksIDYxMDkyLCA2MTA5NiwgCisgICAgNjExMDAsIDYxMTA1LCA2MTEwOSwgNjExMTQsIDYxMTE4LCAzNDU5OCwgMzQ2MDMsIDM0NjA4LCA2MTEyMSwgNjExMjgsIAorICAgIDYxMTM0LCAzOTA5NiwgNjExNDQsIDM0NjE0LCAzMjExOSwgMzE4NzYsIDMxODgyLCAzNDYzMCwgMzE4ODgsIDYxMTQ5LCAKKyAgICA2MTE1NCwgMzIxNTIsIDYxMTU4LCA2MTE2MSwgNjExNjUsIDYxMTcyLCA2MTE3NSwgNjExODAsIDYxMTg0LCA2MTE4OCwgCisgICAgNjExOTEsIDYxMjAxLCA2MTIxMywgNjEyMjAsIDYxMjI2LCA2MTIzMywgMzM1NTUsIDYxMjM2LCA4NTQzLCA4NzcsIDYxMjM5LCAKKyAgICA2MTI0MywgNjEyNDgsIDM2OTAsIDYxMjUyLCA2MTI1NSwgMTM2MzIsIDYxMjYyLCA2MTI2OSwgNjEyODIsIDYxMjkwLCAKKyAgICA2MTI5OSwgNjEzMDgsIDYxMzEzLCA2MTMyMywgNjEzMzYsIDYxMzQ4LCA2MTM1NSwgNjEzNjAsIDYxMzY5LCA2MTM4MiwgCisgICAgMzYwNDIsIDYxNDAwLCA2MTQwNSwgNjE0MTIsIDYxNDE4LCA2NTIsIDYxNDIzLCA2MTQzMSwgNjE0MzgsIDI3MjYxLCA2MjcsIAorICAgIDYxNDQ0LCA2MTQ1MCwgNjE0NjAsIDYxNDY2LCA2MTQ3MSwgMzE5MDYsIDYwMDMsIDMxOTIwLCA2MTQ3NSwgNjE0ODUsIAorICAgIDYxNDkwLCA2MTUwMCwgNjE1MTUsIDYxNTIxLCA2MTUyNywgMzE5MzAsIDYxNTMyLCAzMTA3NiwgNjE1MzYsIDYxNTQxLCAKKyAgICA2MTU0NiwgNjE1NTAsIDYxNTU1LCAxNjk0NCwgNjE1NjIsIDYxNTY3LCA2MTU3MSwgNjA0NCwgMzE5NTYsIDYxNTc1LCAKKyAgICA2MTU4MSwgMzEyLCA2MTU5MSwgNjE1OTgsIDYxNjA1LCA2MTYxMCwgNjE2MTksIDU4Nzc2LCA2MTYyNSwgNjE2MzMsIAorICAgIDYxNjM3LCA2MTY0MSwgNjE2NDUsIDYxNjQ5LCA2MTY1NCwgNjE2NTgsIDYxNjY0LCA2MTY3MiwgNjE2NzcsIDYxNjgyLCAKKyAgICA2MTY4NiwgNjE2OTEsIDYxNjk1LCA2MTY5OSwgNjE3MDUsIDYxNzExLCA2MTcxNiwgNjE3MjAsIDMyMDgwLCA2MTcyNSwgCisgICAgMzIwODYsIDMyMDkyLCA2MTczMCwgNjE3MzYsIDYxNzQzLCA2MTc0OCwgNjE3NTIsIDMxMDkzLCAxNjYwNiwgNjE3NTUsIAorICAgIDYxNzU5LCA2MTc2NCwgNjE3NzEsIDYxNzc3LCA2MTc4MSwgNjE3ODYsIDM4ODA2LCA2MTc5MiwgNjE3OTYsIDYxODAwLCAKKyAgICA2MTgwNSwgNjE4MTEsIDYxODE3LCA2MTgyOSwgNjE4MzgsIDYxODQ4LCA2MTg1NCwgNjE4NjEsIDYxODY2LCA2MTg3MSwgCisgICAgNjE4NzUsIDYxODc4LCA2MTg4NCwgNjE4OTEsIDYxODk2LCA2MTkwMSwgNjE5MDgsIDYxOTE1LCA2MTkyMSwgNjE5MjYsIAorICAgIDYxOTMxLCA2MTkzOSwgMzIwOTcsIDI0MjMsIDYxOTQ0LCA2MTk0OSwgNjE5NTUsIDYxOTYwLCA2MTk2NiwgNjE5NzEsIAorICAgIDYxOTc2LCA2MTk4MSwgNjE5ODcsIDMyMTE4LCA2MTk5MiwgNjE5OTgsIDYyMDA0LCA2MjAxMCwgMzIxODIsIDYyMDE1LCAKKyAgICA2MjAyMCwgNjIwMjUsIDMyMTkzLCA2MjAzMCwgNjIwMzUsIDYyMDQwLCA2MjA0NiwgNjIwNTIsIDMyMTk4LCA2MjA1NywgCisgICAgNjIwNjIsIDYyMDY3LCAzMjI1MywgMzIyNTksIDYyMDcyLCA2MjA3NywgMzIyNjQsIDYyMDgyLCAyNzk0NCwgMzIyODYsIAorICAgIDMyMjkwLCA2MjA4NywgNjIwNjMsIDYyMDkxLCA2MjA5OSwgNjIxMDUsIDYyMTEzLCA2MjEyMCwgNjIxMjYsIDYyMTM2LCAKKyAgICA2MjE0MiwgNjIxNDksIDEwNjMxLCAzMjMwNCwgNjIxNTUsIDYyMTY4LCA2MjE3NywgNjIxODMsIDYyMTkyLCA2MjE5OCwgCisgICAgMjM1MDIsIDYyMjA1LCA2MjIxMiwgNjIyMjIsIDMyMjU0LCA2MjIyNSwgNjIyMzIsIDYyMjM3LCA2MjI0MSwgNjIyNDUsIAorICAgIDYyMjUwLCA2MTIwLCA2MjI1NCwgNjIyNTksIDYyMjY0LCAzNDY5MiwgMzQ2OTcsIDYyMjY4LCAzNDcxMSwgNjIyNzMsIAorICAgIDM0NzE2LCA2MjI3OCwgNjIyODQsIDM0NzI4LCAzNDczNCwgMzQ3NDAsIDYyMjg5LCA2MjI5NSwgMjI1MjksIDYyMzA2LCAKKyAgICA2MjMwOSwgNjIzMjEsIDYyMzI5LCAzMjMyNywgNjIzMzMsIDYyMzQyLCA2MjM1MiwgNjIzNjEsIDMyMzM3LCA2MjM2NiwgCisgICAgNjIzNzMsIDYyMzgyLCA2MjM4OCwgNjIzOTYsIDYyNDAzLCA2MDk1LCA0Mzk3LCA2MjQwOCwgMzIyNjUsIDYyNDE0LCAKKyAgICA2MjQxNywgNjI0MjMsIDYyNDMwLCA2MjQzNSwgNjI0NDAsIDIzNDEyLCA2MjQ0NCwgNjI0NTAsIDYyNDU2LCA2MjQ2MSwgCisgICAgNjI0NjYsIDYyNDcwLCA2MjQ3NiwgNjI0ODIsIDMzNDY1LCA4NjMsIDM1NzA1LCAzNjYyNiwgMzY2MzIsIDMyMzczLCAKKyAgICA2MjQ4NywgNjI0OTEsIDYyNDk1LCA2MjQ5OCwgNjI1MTEsIDYyNTE3LCA2MjUyMSwgNjI1MjQsIDYyNTI5LCAzMzc2OCwgCisgICAgNjI1MzMsIDMxMDk4LCAyMTI4MSwgNjI1MzksIDYwMjQsIDYwMzIsIDkwNzUsIDYyNTQyLCA2MjU0NywgNjI1NTIsIDYyNTU3LCAKKyAgICA2MjU2MiwgNjI1NjcsIDYyNTcyLCA2MjU3NywgNjI1ODIsIDYyNTg3LCA2MjU5MywgNjI1OTgsIDYyNjAzLCA2MjYwOSwgCisgICAgNjI2MTQsIDYyNjE5LCA2MjYyNCwgNjI2MjksIDYyNjM0LCA2MjYzOSwgNjI2NDUsIDYyNjUwLCA2MjY1NiwgNjI2NjEsIAorICAgIDYyNjY2LCA2MjY3MSwgNjI2NzYsIDYyNjgxLCA2MjY4NiwgNjI2OTEsIDYyNjk2LCA2MjcwMSwgNjI3MDYsIDYyNzEyLCAKKyAgICA2MjcxNywgNjI3MjIsIDYyNzI3LCA2MjczMiwgNjI3MzcsIDYyNzQyLCA2Mjc0OCwgNjI3NTMsIDYyNzU4LCA2Mjc2MywgCisgICAgNjI3NjgsIDYyNzczLCA2Mjc3OCwgNjI3ODMsIDYyNzg4LCA2Mjc5MywgNjI3OTksIDYyODA0LCA2MjgwOSwgNjI4MTQsIAorICAgIDYyODE5LCA2MjgyNSwgNjI4MzEsIDYyODM2LCA2Mjg0MiwgNjI4NDcsIDYyODUyLCA2Mjg1NywgNjI4NjIsIDYyODY3LCAKKyAgICAxNTEzLCAyNDUsIDYyODcyLCA2Mjg3NiwgNjI4ODAsIDYyODg0LCAyNTEyMywgNjI4ODgsIDYyODkyLCA2Mjg5NywgNjI5MDEsIAorICAgIDYyOTA2LCA2MjkxMCwgNjI5MTUsIDYyOTIwLCA2MjkyNSwgNjI5MjksIDYyOTMzLCA2MjkzOCwgNjI5NDIsIDEzMzY5LCAKKyAgICA2Mjk0NywgNjI5NTEsIDYyOTU4LCA2Mjk2OCwgMTUyMDAsIDYyOTc3LCA2Mjk4NiwgNjI5OTAsIDYyOTk1LCA2MzAwMCwgCisgICAgNjMwMDQsIDI0OTE0LCAzMDE5LCA2MzAwOCwgMTczNTcsIDYzMDE0LCA2MzAyMywgNjMwMzEsIDYzMDM3LCA2MzA0OSwgCisgICAgNjMwNjEsIDYzMDY1LCA2MzA3MCwgNjMwNzQsIDYzMDgwLCA2MzA4NiwgNjMwOTEsIDYzMTAxLCA2MzExMSwgNjMxMTcsIAorICAgIDYzMTIyLCA2MzEyNiwgNjMxMzEsIDYzMTM3LCA2MzE0NiwgNjMxNTUsIDYzMTYzLCAxNTU1NCwgNjMxNjcsIDYzMTc2LCAKKyAgICA2MzE4NCwgNjMxOTYsIDYzMjA3LCA2MzIxOCwgNjMyMjcsIDYzMjMxLCA2MzI0MCwgNjMyNTAsIDYzMjU4LCA2MzI2NCwgCisgICAgNjMyNjksIDYzMjc1LCA2MzI4MCwgOTgsIDMwOTA3LCA2MzI5MSwgMjYyNTYsIDI2MjY2LCA2MzI5NywgNjMzMDQsIDYzMzEwLCAKKyAgICA2MzMxNCwgNjMzMjQsIDYzMzM1LCA2MzM0MywgNjMzNTIsIDYzMzU3LCA2MzM2MiwgNjMzNjYsIDE3MzExLCA2MzM3NCwgCisgICAgNjMzNzgsIDYzMzg0LCA2MzM5NCwgNjM0MDEsIDYzNDA3LCAzNDc5MSwgNjM0MTMsIDYzNDE1LCA2MzQxOCwgNjM0MjIsIAorICAgIDYzNDMyLCA2MzQzOCwgNjM0NDUsIDEzMzE1LCA2MzQ1MiwgNjM0NTgsIDYzNDY3LCA2MzQ3NiwgNjM0ODIsIDYzNDg4LCAKKyAgICA2MzQ5NCwgNjM0OTksIDYzNTA2LCA2MzUxMywgNjM1MTksIDYzNTMyLCA2MzU0MSwgNjM1NTAsIDYzNTU1LCA2MzU1OSwgCisgICAgNjM1NjUsIDYzNTcyLCA2MzU3OSwgNjM1ODYsIDYzNTkzLCA2MzYwMCwgNjM2MDUsIDYzNjA5LCA2MzYxMywgNjM2MTYsIAorICAgIDYzNjI2LCA2MzYzMCwgNjM2NDIsIDYzNjUxLCA2MzY1NSwgNjM2NjAsIDYzNjY0LCA2MzY3MCwgNjM2NzUsIDYzNjgyLCAKKyAgICA2MzY5MSwgNjM2OTksIDYzNzA3LCA2MzcxMiwgNjM3MTYsIDYzNzIxLCA2MzcyNiwgNjM3MzYsIDYzNzQ0LCA2Mzc0OSwgCisgICAgNjM3NTMsIDYzNzU3LCA2Mzc2MywgNjM3NzUsIDYzNzgzLCA2Mzc5MywgNjM4MDAsIDYzODA2LCA2MzgxMSwgNjM4MTUsIAorICAgIDYzODE5LCA2MzgyMywgNjM4MzIsIDYzODQxLCA2Mzg1MCwgNjM4NTYsIDYzODYyLCA2Mzg2OCwgNjM4NzMsIDYzODgwLCAKKyAgICA2Mzg4NiwgNjM4OTQsIDYzOTAxLCAxMjQ2MywgNjM5MDcsIDYzOTEzLCA2MzkxNywgMTQyMzgsIDYzOTIxLCA2MzkyNiwgCisgICAgNjM5MzYsIDYzOTQ1LCA2Mzk1MSwgNjM5NTcsIDYzOTY1LCA2Mzk3MiwgNjM5NzYsIDYzOTgwLCA2Mzk4NiwgNjM5OTQsIAorICAgIDY0MDAxLCA2NDAwNywgNjQwMTgsIDY0MDIyLCA2NDAyNiwgNjQwMzAsIDY0MDMzLCA2NDAzOSwgNjQwNDQsIDY0MDQ4LCAKKyAgICA2NDA1MiwgNjQwNjEsIDY0MDY5LCA2NDA3NiwgNjQwODIsIDY0MDg5LCAyNDAzNiwgMzg4NDgsIDY0MDk0LCA2NDEwMiwgCisgICAgNjQxMDYsIDY0MTEwLCA2NDExMywgNjQxMjEsIDY0MTI4LCA2NDEzNCwgNjQxNDMsIDY0MTUxLCA2NDE1NywgNjQxNjIsIAorICAgIDY0MTY2LCA2NDE3MSwgNjQxNzUsIDY0MTc5LCA2NDE4NCwgNjQxOTMsIDY0MTk3LCA2NDIwNCwgNjQyMTEsIDY0MjE3LCAKKyAgICA2NDIyNSwgNjQyMzEsIDY0MjQyLCA2NDI1MCwgNjQyNTYsIDIyNjU5LCA2NDI2NSwgNjQyNzIsIDY0Mjc5LCA2NDI4NiwgCisgICAgNjQyOTMsIDY0MzAwLCA0MTg3NywgMTMxNTMsIDY0MzA3LCA2NDMxNCwgNjQzMTksIDM0ODI3LCA2MjE3LCA2NDMyNSwgCisgICAgNjQzMzAsIDY0MzM1LCA2NDM0MSwgNjQzNDcsIDY0MzUzLCA2NDM1OCwgNjQzNjMsIDY0MzY4LCA2NDM3MywgNjQzNzksIAorICAgIDY0Mzg0LCA2NDM5MCwgNjQzOTUsIDY0NDAxLCA2NDQwNiwgNjQ0MTEsIDY0NDE2LCA2NDQyMSwgNjQ0MjYsIDY0NDMxLCAKKyAgICA2NDQzNiwgNjQ0NDIsIDY0NDQ3LCA2NDQ1MywgNjQ0NTgsIDY0NDYzLCA2NDQ2OCwgNjQ0NzMsIDY0NDc4LCA2NDQ4MywgCisgICAgNjQ0ODksIDY0NDk0LCA2NDQ5OSwgNjQ1MDQsIDY0NTA5LCA2NDUxNCwgNjQ1MTksIDY0NTI0LCA2NDUyOSwgNjQ1MzQsIAorICAgIDY0NTM5LCA2NDU0NSwgNjQ1NTAsIDY0NTU1LCA2NDU2MCwgNjQ1NjUsIDY0NTcwLCA2NDU3NSwgNjQ1ODAsIDY0NTg1LCAKKyAgICA2NDU5MSwgNjQ1OTYsIDY0NjAxLCA2NDYwNiwgNjQ2MTEsIDY0NjE2LCA2NDYyMSwgNjQ2MjYsIDY0NjMxLCA2NDYzNiwgCisgICAgNjQ2NDEsIDY0NjQ2LCA2NDY1MSwgNjQ2NTcsIDE4MzQsIDIyNCwgMzc0MjQsIDY0NjYyLCA2NDY2NSwgNjQ2NzAsIDY0Njc0LCAKKyAgICA2NDY3NywgNjQ2ODIsIDYzNzAzLCA2NDY5MywgNjQ3MDMsIDY0NzEwLCA2NDcyNiwgNjQ3MzUsIDY0NzQ1LCA2NDc1NSwgCisgICAgNjQ3NjMsIDY0Nzc3LCA2NDc4NSwgNjQ3ODksIDY0NzkyLCA2NDc5OSwgNjQ4MDUsIDY0ODE2LCA2NDgyOCwgNjQ4MzksIAorICAgIDY0ODQ4LCA2NDg1NSwgMTI5NywgMjMzMDEsIDY0ODY1LCAyNTkwLCA2NDg2OSwgNjQ4NzgsIDExMzMsIDE3Mjg0LCAzODA2MSwgCisgICAgNjQ4ODYsIDY0ODk0LCA2NDkwOCwgNjQ5MjEsIDY0OTI1LCA2NDkzMCwgNjQ5MzUsIDY0OTQwLCA2NDk0NiwgNjQ5NTIsIAorICAgIDY0OTU3LCA4NTM1LCA2NDk2MiwgNjQ5NjYsIDY0OTc0LCAxMTA0OCwgNjQ5NzksIDY0OTg1LCA2NDk5NCwgMTcyMSwgCisgICAgMTEwNjAsIDczNiwgNjQ5OTgsIDY1MDA3LCA2NTAxNywgMjcwMjAsIDY1MDI2LCA2NTAzMiwgMTY4NTYsIDY1MDM4LCAKKyAgICA2NTA0MiwgMzk2NCwgMTEzOTEsIDY1MDQ4LCA2NTA1NSwgNjA2NjMsIDY1MDU5LCA2NTA2MywgMzk4OCwgMTg5LCAxNDE1MywgCisgICAgNjUwNjksIDY1MDgxLCA2NTA4NSwgNjUwOTEsIDI3NzM3LCA2NTA5NSwgMTEzNzksIDI3MzAsIDQsIDY1MTAwLCA2NTExMCwgCisgICAgNjUxMTYsIDY1MTI3LCA2NTEzNCwgNjUxNDAsIDY1MTQ2LCA2NTE1NCwgNjUxNjEsIDY1MTY3LCA2NTE3NywgNjUxODcsIAorICAgIDY1MTk3LCAyMzQ4OSwgMTMwOSwgNjUyMDYsIDY1MjEwLCA2NTIxNCwgNjUyMjAsIDY1MjI0LCAyNzUzLCAyNzU5LCA4NTMyLCAKKyAgICAyMjY0LCA2NTIyOCwgNjUyMzIsIDY1MjQxLCA2NTI0OSwgNjUyNjAsIDY1MjY4LCA2NTI3NiwgNjUyODIsIDY1Mjg3LCAKKyAgICA2NTI5OCwgNjUzMDksIDY1MzE3LCA2NTMyMywgOTY5NCwgNjUzMjgsIDY1MzM2LCA2NTM0MCwgNjUzNDQsIDY1MzQ4LCAKKyAgICA2NTM2MCwgMjgxMjIsIDY1MzY3LCA2NTM3NywgNjUzODMsIDY1Mzg5LCA5Nzk2LCA2NTM5OSwgNjU0MTAsIDY1NDIwLCAKKyAgICA2NTQyOSwgNjU0MzMsIDY1NDQwLCAxMTM1LCAxMTcwLCA2NTQ1MCwgNjU0NTUsIDY1NDYzLCA2NTQ3MSwgNjU0ODIsIAorICAgIDY1NDg5LCA2NTUwMywgMTQwODIsIDM5MywgNjU1MTMsIDY1NTE3LCA2NTUyNSwgNjU1MzQsIDY1NTQyLCA2NTU0OCwgCisgICAgNjU1NjIsIDY1NTY5LCA2NTU3NSwgNjU1ODQsIDY1NTkxLCA2NTYwMSwgNjU2MDksIDM4MTIsIDE1NiwgNjU2MTcsIDY1NjI4LCAKKyAgICA2NTYzMiwgNjU2NDQsIDI3OTM1LCAxNjEsIDY1NjUwLCA2NTY1NSwgNjU2NTksIDY1NjY2LCA2NTY3MiwgNjU2ODAsIAorICAgIDY1Njg3LCA4ODE4LCA2NTY5NCwgNjU3MDMsIDY1NzExLCAzODc4LCA2NTcyNCwgODE5OSwgNjU3MjgsIDI3OTgsIDQ1MCwgCisgICAgNjU3MzMsIDY1NzQ2LCA2NTc1MSwgMTgzMywgNjY4LCA2NTc1NSwgMzg5NSwgNjU3NjMsIDY1NzY5LCA2NTc3MywgOTMxLCAKKyAgICA2NTc4MywgNjU3OTIsIDY1Nzk3LCAxNDkyMiwgMTQ5MjksIDQ1MjM5LCA2NTgwMSwgMzgyMiwgMTMwNDEsIDY1ODA5LCAKKyAgICA2NTgxNiwgMjM1NDUsIDY1ODIwLCA2NTgyNywgNjU4MzMsIDY1ODM4LCA2NTg0MywgMTQ5NDIsIDM3MiwgNjU4NDgsIAorICAgIDY1ODYwLCA2NTg2NiwgNjU4NzQsIDI4MTAsIDE3NTMsIDY1ODgyLCA2NTg4NCwgNjU4ODksIDY1ODk0LCA2NTg5OSwgCisgICAgNjU5MDUsIDY1OTEwLCA2NTkxNSwgNjU5MjAsIDY1OTI1LCA2NTkzMCwgNjU5MzUsIDY1OTQxLCA2NTk0NiwgNjU5NTEsIAorICAgIDY1OTU2LCA2NTk2MSwgNjU5NjYsIDY1OTcxLCA2NTk3NiwgNjU5ODEsIDY1OTg3LCA2NTk5MiwgNjU5OTcsIDY2MDAyLCAKKyAgICA2NjAwOCwgNjYwMTMsIDY2MDE5LCA2NjAyNCwgNjYwMjksIDY2MDM0LCA2NjAzOSwgNjYwNDQsIDY2MDQ5LCA2NjA1NCwgCisgICAgNjYwNjAsIDY2MDY1LCA2NjA3MSwgNjYwNzYsIDY2MDgxLCA2NjA4NiwgNjYwOTEsIDY2MDk2LCA2NjEwMSwgNjYxMDYsIAorICAgIDY2MTExLCA2NjExNywgNjYxMjIsIDY2MTI3LCA2NjEzMiwgNjYxMzYsIDY2MTQwLCA2NjE0NSwgNjYxNDksIDY2MTU0LCAKKyAgICA2NjE1OSwgNjYxNjUsIDY2MTcwLCA2NjE3NCwgNjYxNzksIDY2MTgzLCA2NjE4NiwgNjYxODgsIDY2MTkyLCA2NjE5NSwgCisgICAgNjYyMDAsIDY2MjA0LCA2NjIwOCwgNjYyMTIsIDY2MjE2LCA2NjIyNSwgNjYyMjksIDMyNTMxLCA2NjIzMiwgMzI1MzYsIAorICAgIDY2MjM5LCA2NjI0NCwgMzI1NDEsIDY2MjUzLCA2NjI2MiwgMzI1NDcsIDY2MjY3LCAzMjU1MiwgNjYyNzYsIDY2MjgxLCAKKyAgICAxMTU3OCwgNjYyODUsIDY2MjkwLCA2NjI5NSwgMzI1NTcsIDY2Mjk5LCA0MDIwMywgNjYzMDMsIDY2MzA2LCA2NjMxMCwgCisgICAgODIxMSwgNjYzMTYsIDY2MzIxLCA2NjMyNSwgMzcwNSwgMzI1NjIsIDY2MzI4LCA2NjMzMiwgNjYzMzUsIDY2MzQwLCAKKyAgICA2NjM0NCwgNjYzNTAsIDY2MzU4LCA2NjM3MSwgNjYzODAsIDY2Mzg2LCA2NjM5MSwgNjYzOTcsIDY2NDAxLCA2NjQwNywgCisgICAgNjY0MTUsIDY2NDIwLCA2NjQyNCwgNjY0MzEsIDY2NDM3LCA2NjQ0NSwgNjY0NTQsIDY2NDYyLCAzMjU2NSwgNjY0NjksIAorICAgIDY2NDc5LCA2NjQ4OCwgNjY1MDEsIDY2NTA2LCA2NjUxMSwgNjY1MjAsIDY2NTI2LCA2NjUzMywgNjY1NDQsIDY2NTU2LCAKKyAgICA2NjU2MywgNjY1NzIsIDY2NTgxLCA2NjU5MCwgNjY1OTcsIDY2NjAzLCA2NjYxMCwgNjY2MTgsIDY2NjI1LCA2NjYzMywgCisgICAgNjY2NDIsIDY2NjUwLCA2NjY1NywgNjY2NjUsIDY2Njc0LCA2NjY4MiwgNjY2OTEsIDY2NzAxLCA2NjcxMCwgNjY3MTgsIAorICAgIDY2NzI1LCA2NjczMywgNjY3NDIsIDY2NzUwLCA2Njc1OSwgNjY3NjksIDY2Nzc4LCA2Njc4NiwgNjY3OTUsIDY2ODA1LCAKKyAgICA2NjgxNCwgNjY4MjQsIDY2ODM1LCA2Njg0NSwgNjY4NTQsIDY2ODYyLCA2Njg2OSwgNjY4NzcsIDY2ODg2LCA2Njg5NCwgCisgICAgNjY5MDMsIDY2OTEzLCA2NjkyMiwgNjY5MzAsIDY2OTM5LCA2Njk0OSwgNjY5NTgsIDY2OTY4LCA2Njk3OSwgNjY5ODksIAorICAgIDY2OTk4LCA2NzAwNiwgNjcwMTUsIDY3MDI1LCA2NzAzNCwgNjcwNDQsIDY3MDU1LCA2NzA2NSwgNjcwNzQsIDY3MDg0LCAKKyAgICA2NzA5NSwgNjcxMDUsIDY3MTE2LCA2NzEyOCwgNjcxMzksIDY3MTQ5LCA2NzE1OCwgNjcxNjYsIDY3MTczLCA2NzE4MSwgCisgICAgNjcxOTAsIDY3MTk4LCA2NzIwNywgNjcyMTcsIDY3MjI2LCA2NzIzNCwgNjcyNDMsIDY3MjUzLCA2NzI2MiwgNjcyNzIsIAorICAgIDY3MjgzLCA2NzI5MywgNjczMDIsIDY3MzEwLCA2NzMxOSwgNjczMjksIDY3MzM4LCA2NzM0OCwgNjczNTksIDY3MzY5LCAKKyAgICA2NzM3OCwgNjczODgsIDY3Mzk5LCA2NzQwOSwgNjc0MjAsIDY3NDMyLCA2NzQ0MywgNjc0NTMsIDY3NDYyLCA2NzQ3MCwgCisgICAgNjc0NzksIDY3NDg5LCA2NzQ5OCwgNjc1MDgsIDY3NTE5LCA2NzUyOSwgNjc1MzgsIDY3NTQ4LCA2NzU1OSwgNjc1NjksIAorICAgIDY3NTgwLCA2NzU5MiwgNjc2MDMsIDY3NjEzLCA2NzYyMiwgNjc2MzIsIDY3NjQzLCA2NzY1MywgNjc2NjQsIDY3Njc2LCAKKyAgICA2NzY4NywgNjc2OTcsIDY3NzA4LCA2NzcyMCwgNjc3MzEsIDY3NzQzLCA2Nzc1NiwgNjc3NjgsIDY3Nzc5LCA2Nzc4OSwgCisgICAgNjc3OTgsIDY3ODA2LCA2NzgxMywgNjc4MjEsIDY3ODMwLCA2NzgzOCwgNjc4NDcsIDY3ODU3LCA2Nzg2NiwgNjc4NzQsIAorICAgIDY3ODgzLCA2Nzg5MywgNjc5MDIsIDY3OTEyLCA2NzkyMywgNjc5MzMsIDY3OTQyLCA2Nzk1MCwgNjc5NTksIDY3OTY5LCAKKyAgICA2Nzk3OCwgNjc5ODgsIDY3OTk5LCA2ODAwOSwgNjgwMTgsIDY4MDI4LCA2ODAzOSwgNjgwNDksIDY4MDYwLCA2ODA3MiwgCisgICAgNjgwODMsIDY4MDkzLCA2ODEwMiwgNjgxMTAsIDY4MTE5LCA2ODEyOSwgNjgxMzgsIDY4MTQ4LCA2ODE1OSwgNjgxNjksIAorICAgIDY4MTc4LCA2ODE4OCwgNjgxOTksIDY4MjA5LCA2ODIyMCwgNjgyMzIsIDY4MjQzLCA2ODI1MywgNjgyNjIsIDY4MjcyLCAKKyAgICA2ODI4MywgNjgyOTMsIDY4MzA0LCA2ODMxNiwgNjgzMjcsIDY4MzM3LCA2ODM0OCwgNjgzNjAsIDY4MzcxLCA2ODM4MywgCisgICAgNjgzOTYsIDY4NDA4LCA2ODQxOSwgNjg0MjksIDY4NDM4LCA2ODQ0NiwgNjg0NTUsIDY4NDY1LCA2ODQ3NCwgNjg0ODQsIAorICAgIDY4NDk1LCA2ODUwNSwgNjg1MTQsIDY4NTI0LCA2ODUzNSwgNjg1NDUsIDY4NTU2LCA2ODU2OCwgNjg1NzksIDY4NTg5LCAKKyAgICA2ODU5OCwgNjg2MDgsIDY4NjE5LCA2ODYyOSwgNjg2NDAsIDY4NjUyLCA2ODY2MywgNjg2NzMsIDY4Njg0LCA2ODY5NiwgCisgICAgNjg3MDcsIDY4NzE5LCA2ODczMiwgNjg3NDQsIDY4NzU1LCA2ODc2NSwgNjg3NzQsIDY4Nzg0LCA2ODc5NSwgNjg4MDUsIAorICAgIDY4ODE2LCA2ODgyOCwgNjg4MzksIDY4ODQ5LCA2ODg2MCwgNjg4NzIsIDY4ODgzLCA2ODg5NSwgNjg5MDgsIDY4OTIwLCAKKyAgICA2ODkzMSwgNjg5NDEsIDY4OTUyLCA2ODk2NCwgNjg5NzUsIDY4OTg3LCA2OTAwMCwgNjkwMTIsIDY5MDIzLCA2OTAzNSwgCisgICAgNjkwNDgsIDY5MDYwLCA2OTA3MywgNjkwODcsIDY5MTAwLCA2OTExMiwgNjkxMjMsIDY5MTMzLCA2OTE0MiwgNjkxNTAsIAorICAgIDY5MTU3LCA2OTE2MiwgODA1OCwgNjkxNjksIDMyNTc1LCA2OTE3NCwgNjkxNzksIDMyNTgwLCA2OTE4NSwgMjA5MjMsIAorICAgIDMyNTg1LCA2OTE5MCwgNjkxOTYsIDY5MjA0LCA2OTIxMCwgNjkyMTYsIDY5MjIzLCA2OTIzMCwgNjkyMzUsIDY5MjM5LCAKKyAgICA2OTI0MiwgNjkyNDYsIDY5MjU1LCA2OTI2MSwgNjkyNzMsIDY5Mjg0LCA2OTI4OCwgMzA4MSwgODAzMywgNjkyOTMsIAorICAgIDY5Mjk2LCA2OTI5OCwgNjkzMDIsIDY5MzA2LCA2OTMxMCwgNjkzMTYsIDY5MzIxLCAyNTkzNCwgNjkzMjYsIDY5MzMwLCAKKyAgICA2OTMzMywgNjkzMzgsIDY5MzQyLCA2OTM0OSwgNjkzNTUsIDY5MzU5LCA2MTcwLCA2OTM2MywgMzI2MDIsIDY5MzY4LCAKKyAgICA2OTM3NSwgNjkzODQsIDY5MzkyLCA2OTQwMywgNjk0MTEsIDY5NDE5LCA2OTQyNiwgNjk0MzMsIDY5NDM5LCA2OTQ1MCwgCisgICAgMzI2MDcsIDY5NDU1LCA2OTQ2NiwgNjk0NzgsIDY5NDg2LCA2OTQ5NywgNjk1MDYsIDY5NTE3LCA2OTUyMiwgNjk1MzAsIAorICAgIDI1NTYsIDY5NTM1LCAzNDI3NywgNjk1NDgsIDY5NTUyLCA2OTU2NCwgNjk1NzIsIDY5NTc3LCA2OTU4NSwgMTc0NzksIAorICAgIDY5NTk2LCA2OTYwMiwgNjk2MDksIDY5NjE3LCA2OTYyMywgMzI2MTcsIDY5NjI4LCAzOTE0LCA1ODIyNCwgNjk2MzUsIAorICAgIDY5NjM4LCA2OTY0NiwgNjk2NTksIDY5NjcyLCA2OTY4NSwgNjk2OTgsIDY5NzA1LCA2OTcxNiwgNjk3MjUsIDQxNjk0LCAKKyAgICA0MTY5OSwgNjk3MzAsIDY5NzM0LCA2OTc0MiwgNjk3NDksIDY5NzU4LCA2OTc2NiwgNjk3NzIsIDY5NzgxLCA2OTc4OSwgCisgICAgNjk3OTcsIDY5ODAxLCA2OTgxMCwgNjk4MTksIDY5ODI5LCA2OTg0MiwgNjk4NTUsIDY5ODY1LCAzMjYyMiwgNjk4NzEsIAorICAgIDY5ODc4LCA2OTg4NCwgMzI2MjgsIDY5ODg5LCA2OTg5MiwgNjk4OTYsIDY5OTA0LCA2OTkxMywgNDE0MzIsIDY5OTIxLCAKKyAgICA2OTkzMCwgNjk5MzgsIDY5OTQ1LCA2OTk1MywgNjk5NjMsIDY5OTcyLCA2OTk4MSwgNjk5OTAsIDY5OTk4LCA3MDAwOSwgCisgICAgNzAwMTksIDkzNjYsIDIxNTYxLCA3MDAyOCwgNzAwMzMsIDcwMDM4LCA3MDA0MiwgNzAwNDYsIDcwMDUxLCA3MDA1NywgCisgICAgNzAwNjIsIDcwMDY3LCA3MDA3MywgNzAwNzgsIDcwMDgzLCAyMTUyNiwgNzAwODgsIDcwMDk1LCA3MDEwMywgNzAxMTEsIAorICAgIDcwMTE2LCA3MDEyMywgNzAxMzAsIDcwMTM1LCA3MDEzOSwgNzAxNDMsIDcwMTUxLCA3MDE1OSwgMzI2NDUsIDcwMTY1LCAKKyAgICA3MDE3MSwgNzAxODMsIDcwMTg5LCA3MDE5MywgNzAyMDAsIDcwMjA1LCA3MDIxNiwgNzAyMjYsIDcwMjM2LCA3MDI0OCwgCisgICAgNzAyNTQsIDcwMjY0LCA3MDI3NCwgMzI2NzIsIDcwMjgzLCA3MDI5MiwgNzAyOTgsIDcwMzEwLCA3MDMyMSwgNzAzMjgsIAorICAgIDcwMzMzLCA3MDMzNywgNzAzNDUsIDcwMzUxLCA3MDM1NiwgNzAzNjEsIDcwMzY4LCA3MDM3NiwgNzAzODgsIDcwMzk4LCAKKyAgICA3MDQwNywgNzA0MTYsIDcwNDIzLCAzNDEzOSwgMjM4NDEsIDcwNDI5LCA3MDQzNCwgNzA0MzgsIDcwNDQyLCA3MDQ0NywgCisgICAgNzA0NTMsIDcwNDY0LCA3MDQ3NywgNzA0ODIsIDcwNDg5LCAzMjY3NywgNzA0OTQsIDcwNTA2LCA3MDUxNSwgNzA1MjUsIAorICAgIDcwNTM2LCA3MDU0OSwgNzA1NTYsIDcwNTY1LCA3MDU3NCwgNzA1ODIsIDcwNTg3LCA3MDU5MywgMTA2NCwgNzA1OTgsIAorICAgIDcwNjAzLCA3MDYwOCwgNzA2MTMsIDcwNjE5LCA3MDYyNCwgNzA2MjksIDcwNjM1LCA3MDY0MSwgNzA2NDYsIDcwNjUwLCAKKyAgICA3MDY1NSwgNzA2NjAsIDcwNjY1LCA1ODczNiwgNzA2NzAsIDcwNjc1LCA3MDY4MCwgNzA2ODUsIDcwNjkxLCA3MDY5NywgCisgICAgNzA3MDIsIDcwNzA2LCA3MDcxMSwgNzA3MTYsIDcwNzIxLCA3MDcyNywgNzA3MzIsIDcwNzM4LCA3MDc0MywgNzA3NDgsIAorICAgIDcwNzUzLCA3MDc1OCwgNzA3NjIsIDcwNzY4LCA3MDc3MywgNzA3ODIsIDcwNzg3LCA3MDc5MiwgNzA3OTcsIDcwODAyLCAKKyAgICA3MDgwNiwgNzA4MTMsIDcwODE5LCAxNzEyOSwgMTcxMzYsIDcwODI0LCA3MDgyOCwgNzA4MzIsIDcwODM2LCA3MDg0MCwgCisgICAgNDU0OTQsIDcwODQ0LCA3MDc3NCwgNzA4NDYsIDcwODU2LCAzMjY4NiwgNzA4NTksIDcwODY4LCA3MDg3NCwgNjE0MywgCisgICAgMzI2OTEsIDcwODc4LCA3MDg4NCwgNzA4ODksIDcwODk1LCA3MDkwMCwgNzA5MDQsIDcwOTExLCA3MDkxNiwgNzA5MjYsIAorICAgIDcwOTM1LCA3MDkzOSwgNzA5NDUsIDcwOTUxLCA3MDk1NywgNzA5NjEsIDcwOTY5LCA3MDk3NiwgNzA5ODQsIDcwOTkyLCAKKyAgICAzMjY5NiwgNzA5OTksIDcxMDAyLCA3MTAwOSwgNzEwMTUsIDcxMDIwLCA3MTAyNCwgNzEwMzAsIDcxMDM3LCA3MTA0MiwgCisgICAgNzEwNDYsIDcxMDU1LCA3MTA2MywgNzEwNjksIDcxMDc0LCAzMjcwMSwgNzEwODEsIDcxMDg4LCA3MTA5NCwgNzEwOTksIAorICAgIDcxMTA1LCA3MTExMiwgNzExMTgsIDIxMjg4LCAyNzQ0NSwgNzExMjQsIDcxMTI5LCA3MTEzNSwgNzExNDcsIDcwODA3LCAKKyAgICA3MDgxNCwgMjE0NjQsIDcxMTU3LCA3MTE2MiwgNzExNjksIDcxMTc1LCA3MTE4MiwgNzExODgsIDcxMTk5LCA3MTIwNCwgCisgICAgOTExMCwgNzEyMTIsIDcxMjE1LCA3MTIyMSwgNzEyMjUsIDcxMjI5LCA3MTIzMiwgNzEyMzgsIDMyNDUwLCA2MTk0LCA5NjQsIAorICAgIDEzNDE5LCA3MTI0NSwgNzEyNTEsIDcxMjU3LCA3MTI2MywgNzEyNjksIDcxMjc1LCA3MTI4MSwgNzEyODcsIDcxMjkzLCAKKyAgICA3MTI5OCwgNzEzMDMsIDcxMzA4LCA3MTMxMywgNzEzMTgsIDcxMzIzLCA3MTMyOCwgNzEzMzMsIDcxMzM4LCA3MTM0MywgCisgICAgNzEzNDgsIDcxMzUzLCA3MTM1OCwgNzEzNjQsIDcxMzY5LCA3MTM3NCwgNzEzODAsIDcxMzg1LCA3MTM5MCwgNzEzOTYsIAorICAgIDcxNDAyLCA3MTQwOCwgNzE0MTQsIDcxNDIwLCA3MTQyNiwgNzE0MzIsIDcxNDM4LCA3MTQ0NCwgNzE0NDksIDcxNDU0LCAKKyAgICA3MTQ2MCwgNzE0NjUsIDcxNDcwLCA3MTQ3NiwgNzE0ODEsIDcxNDg2LCA3MTQ5MSwgNzE0OTYsIDcxNTAxLCA3MTUwNiwgCisgICAgNzE1MTEsIDcxNTE2LCA3MTUyMSwgNzE1MjYsIDcxNTMxLCA3MTUzNiwgNzE1NDIsIDcxNTQ3LCA3MTU1MiwgNzE1NTcsIAorICAgIDcxNTYzLCA3MTU2OCwgNzE1NzMsIDcxNTc4LCA3MTU4MywgNzE1ODksIDcxNTk0LCA3MTU5OSwgNzE2MDQsIDcxNjA5LCAKKyAgICA3MTYxNCwgNzE2MTksIDcxNjI0LCA3MTYyOSwgNzE2MzQsIDcxNjM5LCA3MTY0NCwgNzE2NDksIDcxNjU0LCA3MTY1OSwgCisgICAgNzE2NjQsIDcxNjY5LCA3MTY3NCwgNzE2NzksIDcxNjg0LCA3MTY5MCwgNzE2OTUsIDcxNzAwLCA3MTcwNSwgNzE3MTAsIAorICAgIDcxNzE1LCA3MTcyMCwgNzE3MjUsIDE4NjQsIDE0MiwgNzE3MzAsIDcxNzM0LCA3MTczOCwgNzE3NDMsIDcxNzUxLCA3MTc1NSwgCisgICAgNzE3NjIsIDcxNzcwLCA3MTc3NCwgNzE3ODcsIDcxNzk1LCA3MTc5OSwgNzE4MDIsIDcxODA3LCA3MTgxMSwgNzE4MTYsIAorICAgIDcxODIwLCA3MTgyOCwgNzE4MzIsIDIwOTMxLCA3MTgzNywgNzE4NDEsIDYwOTM3LCA3MTg0NSwgNzE4NDgsIDcxODU2LCAKKyAgICA3MTg2NCwgNzE4NzIsIDcxODc3LCA3MTg4NCwgNzE4OTAsIDcxODk2LCA3MTkwMSwgNzE5MDgsIDcxOTEzLCA3MTkyMSwgCisgICAgNjQ5MTMsIDcxOTI4LCA3MTkzMywgNzE5MzgsIDcxOTQyLCAxMTY0NSwgNzE5NDYsIDcxOTUxLCA3MTk1NiwgNzE5NjAsIAorICAgIDcxOTYzLCA3MTk2OSwgNzE5NzMsIDcxOTgzLCA3MTk5MiwgNzE5OTUsIDcxOTk5LCA3MjAwNiwgNzIwMTksIDcyMDI1LCAKKyAgICA3MjAzMywgNzIwNDQsIDcyMDU1LCA3MjA2NiwgNzIwNzcsIDcyMDg2LCA3MjA5MiwgNzIxMDEsIDcyMTA5LCA3MjExOSwgCisgICAgNzIxMzIsIDcyMTM5LCA3MjE1MCwgNzIxNTYsIDcyMTYxLCA3MjE2NiwgNzIxNzIsIDcyMTc4LCA3MjE4OCwgNzIxOTcsIAorICAgIDcwNDk2LCA3MjIwNSwgNzIyMTEsIDcyMjE5LCA3MjIyNSwgNzIyMzMsIDcyMjM2LCA3MjI0MCwgNzIyNDQsIDcyMjQ3LCAKKyAgICA3MjI1MywgNzIyNTksIDcyMjY3LCA3MjI3OSwgNzIyOTEsIDcyMjk4LCA3MjMwMiwgNzIzMTMsIDcyMzIxLCA3MjMyOCwgCisgICAgNzIzNDAsIDcyMzQ4LCA3MjM1NiwgNzIzNjMsIDcyMzY5LCA3MjM3OSwgNzIzODgsIDcyMzkzLCA3MjQwMywgNzI0MTIsIAorICAgIDQwNzU4LCA3MjQxOSwgNzI0MjMsIDcyNDI4LCA3MjQzNiwgNzI0NDMsIDcyNDQ5LCA3MjQ1MywgNzI0NjMsIDcyNDc0LCAKKyAgICA3MjQ4MiwgNzI0ODksIDcyNTAxLCA3MjUxMywgNzI1MjIsIDY5NTM4LCA3MjUyOSwgNzI1NDAsIDcyNTU0LCA3MjU2MiwgCisgICAgNzI1NzIsIDcyNTc5LCA3MjU4NywgNzI1OTksIDcyNjA4LCA3MjYxNiwgNzI2MjYsIDcyNjM3LCA3MjY0OSwgNzI2NTgsIAorICAgIDcyNjY4LCA3MjY3NSwgNzI2ODQsIDcyNjk5LCA3MjcwNywgNzI3MTcsIDcyNzI2LCA3MjczNCwgNzI3NDcsIDcyNzYyLCAKKyAgICA3Mjc2NiwgNzI3NzUsIDcyNzg3LCA3Mjc5OCwgNzI4MDksIDcyODIwLCA3MjgzMCwgNzI4NDEsIDcyODQ5LCA3Mjg1NSwgCisgICAgNzI4NjUsIDcyODczLCA3Mjg3OSwgMjkwMTQsIDcyODg0LCA3Mjg5MCwgNzI4OTUsIDcyOTAyLCA5NzA4LCAxNzQ5OSwgCisgICAgNzI5MDgsIDcyOTE3LCA3MjkyMiwgNzI5MjYsIDcyOTMzLCA3MjkzOSwgNzI5NDQsIDcyOTQ5LCA3Mjk1NywgNzI5NjUsIAorICAgIDcyOTY5LCA3Mjk3MiwgNzI5NzUsIDcyOTc3LCA3Mjk4NCwgNzI5OTAsIDczMDAxLCA3MzAwNiwgNzMwMTAsIDczMDE3LCAKKyAgICA3MzAyMywgNzMwMjgsIDczMDM2LCA2NTQxMiwgNjU0MjIsIDczMDQyLCA3MzA0OSwgNzMwNTksIDEwNjE4LCA3MzA2NiwgCisgICAgNzMwNzEsIDI5MjEwLCA3MzA4MCwgNzMwODUsIDczMDkyLCA3MzEwMiwgNzMxMTAsIDczMTE4LCA3MzEyNywgNzMxMzMsIAorICAgIDczMTM5LCA3MzE0NiwgNzMxNTMsIDczMTU4LCA3MzE2MiwgNzMxNzAsIDczMTc1LCA3MzE4MCwgNzMxODgsIDczMTk1LCAKKyAgICA3MzIwMCwgNzMyMDYsIDczMjA5LCA3MzIxMywgNzMyMjIsIDcxNzgyLCA3MzIzMSwgNzMyMzUsIDczMjQxLCA3MzI1MiwgCisgICAgNzMyNjIsIDE3NTA4LCA3MzI3MywgNzMyODEsIDE3NTIwLCA3MzI4OCwgNzMyOTIsIDczMzAxLCAyNzMzMSwgNzMzMDgsIAorICAgIDczMzEyLCA3MzMxNywgNzMzMzQsIDczMzQ2LCAxMDU3NiwgNzMzNTgsIDczMzYzLCA3MzM2OCwgNzMzNzMsIDIxMDA0LCAKKyAgICA3MzM3NywgNzMzODIsIDczMzg3LCA3MzM5MywgNzMzOTgsIDU4NDYsIDIxMDA4LCA3MzQwMywgNzM0MDgsIDczNDE0LCAKKyAgICA3MzQyMSwgNzM0MjYsIDczNDMxLCA3MzQzNywgNzM0NDMsIDczNDQ5LCA3MzQ1NCwgNzM0NjAsIDczNDY0LCA3MzQ3OCwgCisgICAgNzM0ODYsIDczNDk0LCA3MzUwMCwgNzM1MDUsIDczNTEyLCA3MzUyMiwgNzM1MzEsIDczNTM2LCA3MzU0MSwgNzM1NDksIAorICAgIDczNTU0LCA3MzU2MCwgNzM1NjUsIDczNTc0LCA1OTc5MywgNzM1NzksIDczNTgyLCA3MzYwMCwgNzM2MTksIDczNjMyLCAKKyAgICA3MzY0NiwgNzM2NjIsIDczNjY5LCA3MzY3NiwgNzM2ODIsIDczNjg5LCA3MzY5NCwgNzM3MDAsIDczNzA2LCA3MzcxNCwgCisgICAgNzM3MjAsIDczNzI1LCA3MzczMCwgNzM3NDYsIDEwNTg5LCA3Mzc2MCwgNzM3NjcsIDczNzc1LCA3Mzc4MSwgNzM3ODUsIAorICAgIDczNzg4LCA3Mzc5MywgNzM3OTgsIDczODA1LCA3MzgxMCwgNzM4MTksIDczODI0LCA3MzgzMCwgNzM4MzksIDczODQ4LCAKKyAgICA3Mzg1MywgNzM4NTcsIDczODY1LCA3Mzg3NCwgMTE2NzQsIDczODgzLCA3Mzg5MSwgNzM4OTYsIDczOTAyLCAxMTY4NSwgCisgICAgNzM5MDcsIDczOTEwLCA3MzkxNSwgNzM5MjUsIDczOTM0LCA3MzkzOSwgNzM5NDUsIDczOTUwLCA3Mzk1OCwgNzM5NjUsIAorICAgIDczOTc2LCA3Mzk4NiwgNzM5OTEsIDY0ODQxLCA3Mzk5NiwgNzQwMDIsIDc0MDA3LCA3NDAxNCwgNzQwMjMsIDc0MDMxLCAKKyAgICA3NDAzNywgNzQwNDMsIDc0MDUwLCA3NDA1NiwgNzQwNjAsIDE2OTU0LCAzMDU1LCA3NDA2NSwgNzQwNjksIDc0MDczLCAKKyAgICA3NDA3OSwgNzQwODgsIDc0MDk0LCA3NDEwMSwgNzQxMDUsIDc0MTI2LCA3NDE0OCwgNzQxNjQsIDc0MTgxLCA3NDIwMCwgCisgICAgNzQyMDksIDc0MjE5LCA3NDIyNiwgNzQyMzMsIDI3MjE4LCA3NDIzOSwgNzQyNDMsIDc0MjUxLCA3NDI2MywgNzQyNjksIAorICAgIDc0Mjc3LCA3NDI4MSwgNzQyODksIDc0Mjk2LCA3NDMwMCwgNzQzMDYsIDc0MzEyLCA3NDMxNywgMzU2MywgNDE4OTQsIAorICAgIDc0MzIzLCA3NDMyNywgNzQzMzEsIDc0MzM1LCA3NDM0MCwgNzQzNDUsIDc0MzUwLCA3NDM1NiwgNzQzNjIsIDc0MzY4LCAKKyAgICA3NDM3NSwgNzQzODEsIDc0Mzg4LCA3NDM5NCwgNzQ0MDAsIDc0NDA1LCA3NDQxMSwgNzQ0MTYsIDc0NDIwLCA3NDQyNSwgCisgICAgNzQ0MjksIDc0NDM0LCA0MTkwOSwgNzQ0MzgsIDc0NDQzLCA3NDQ1MSwgNzQ0NTUsIDc0NDYwLCA3NDQ2NywgNzQ0NzYsIAorICAgIDc0NDgyLCA3NDQ4NiwgNzQ0OTMsIDc0NDk3LCA3NDUwMCwgNzQ1MDcsIDc0NTE2LCA3NDUyMSwgNzQ1MjUsIDc0NTMzLCAKKyAgICA3NDU0MiwgNzQ1NDYsIDc0NTU0LCA3NDU2MCwgNzQ1NjUsIDc0NTcwLCA3NDU3NiwgNzQ1ODIsIDc0NTg3LCA3NDU5MSwgCisgICAgNzQ1OTcsIDc0NjAyLCA3NDYwNiwgNzQ2MTAsIDc0NjEzLCA3NDYxOCwgNzQ2MjYsIDc0NjM2LCA3NDY0MSwgMzkzOTQsIAorICAgIDc0NjQ5LCA3NDY2MSwgNzQ2NjUsIDc0NjcxLCA3NDY4MywgNzQ2OTQsIDc0NzAxLCA3NDcwNywgNzQ3MTQsIDc0NzI2LCAKKyAgICA3NDczMywgNzQ3MzksIDIxMDgyLCA3NDc0MywgNzQ3NDksIDc0NzU2LCA3NDc2MiwgNzQ3NjgsIDc0NzczLCA3NDc3OCwgCisgICAgNzQ3ODMsIDc0NzkyLCA3MDMzLCA3NDc5NywgMTY0MjAsIDc0ODAzLCA3NDgwNywgNzQ4MTEsIDc0ODE1LCA3NDgyMywgCisgICAgNzQ4MzIsIDc0ODM2LCA3NDg0MywgNzQ4NTIsIDc0ODY1LCA3NDg3MSwgNzQ0MzAsIDMwMDc0LCA3NDg3NiwgNzQ4NzgsIAorICAgIDc0ODgzLCA3NDg4OCwgNzQ4OTMsIDc0ODk4LCA3NDkwMywgNzQ5MDgsIDc0OTEzLCA3NDkxOCwgNzQ5MjMsIDc0OTI4LCAKKyAgICA3NDkzMywgNzQ5MzgsIDc0OTQzLCA3NDk0OCwgNzQ5NTQsIDc0OTU5LCA3NDk2NCwgNzQ5NjksIDc0OTc0LCA3NDk3OSwgCisgICAgNzQ5ODQsIDc0OTg5LCA3NDk5NCwgNzUwMDAsIDc1MDA2LCA3NTAxMiwgNzUwMTcsIDc1MDIyLCA3NTAzNCwgNzUwMzksIAorICAgIDE4NzAsIDQ5LCA3NTA0NCwgNzUwNDksIDMyNzI4LCA3NTA1MywgMzI3MzMsIDMyNzM4LCAzMjc0NCwgMzI3NDksIDc1MDU3LCAKKyAgICAzMjc1NCwgMjIwNzcsIDc1MDc5LCA3NTA4MywgNzUwODcsIDc1MDkyLCA3NTA5NiwgMzI3NTgsIDc1MTAwLCA3NTEwOCwgCisgICAgMzI3NjMsIDc1MTE1LCA3NTExOCwgNzUxMjMsIDc1MTI3LCA5NTQzLCA3NTEzNiwgMzI3NjgsIDIxOTM5LCA3NTEzOSwgCisgICAgNzUxNDMsIDE0MjgsIDc1MTQ4LCAzMjc3OSwgNzUxNTEsIDc1MTU2LCAyNTcyNywgMjU3MzcsIDM1MjQwLCA3NTE2MSwgCisgICAgNzUxNjYsIDc1MTcxLCA3NTE3NiwgNzUxODIsIDc1MTg3LCA3NTE5NiwgNzUyMDEsIDc1MjA4LCA3NTIxNCwgNzUyMTksIAorICAgIDc1MjI0LCA3NTIyOSwgNzUyMzksIDc1MjQ4LCA3NTI1MywgNzUyNjEsIDc1MjY1LCA3NTI3MywgMzI1OTMsIDM3Mjk1LCAKKyAgICA3NTI4MCwgNzUyODYsIDc1MjkxLCA3NTI5NiwgMTIwMTYsIDc1MzAxLCA3NTMwNywgNzUzMTIsIDc1MzE5LCA3NTMyNSwgCisgICAgNzUzMzAsIDc1MzM4LCA3NTM0OCwgNzUzNTgsIDc1MzY0LCA3NTM2OSwgNzUzNzUsIDE3NTMwLCA3NTM4MiwgMzYwNTUsIAorICAgIDc1Mzk1LCA3NTQwMCwgNzU0MDYsIDMwOTc1LCA3NTQxOSwgNzU0MjUsIDc1NDI5LCA3NTQzOCwgNzU0NDUsIDc1NDUxLCAKKyAgICA3NTQ1OSwgNzU0NjgsIDc1NDc1LCA3NTQ4MSwgNzU0ODQsIDc1NDg4LCAyNTg2OCwgNzU0OTIsIDc1NDk5LCA3NTUwNSwgCisgICAgNzU1MTMsIDc1NTE4LCAyMzk4NCwgNzU1MjQsIDc1NTI3LCA3NTUzNSwgNzU1NDMsIDc1NTU3LCA3NTU2NCwgNzU1NzAsIAorICAgIDc1NTc3LCA3NTU4MywgMzI3OTMsIDc1NTg3LCA3NTU5NCwgNzU2MDIsIDc1NjEwLCA3NTYxNiwgMzI3OTgsIDc1NjI0LCAKKyAgICA3NTYzMCwgNzU2MzUsIDc1NjQ1LCA3NTY1MSwgNzU2NjAsIDMwODEyLCAzNDY5OCwgNzU2NjgsIDc1NjczLCA3NTY3OCwgCisgICAgNzU2ODIsIDc1Njg3LCA3NTY5MSwgNzU2OTksIDE0OTE0LCAzOTQwNywgNzU3MDQsIDc1NzA5LCAzMjgwMywgNjIyMzksIAorICAgIDc1NzEzLCA3NTcxOCwgNzU3MjIsIDc1NzMxLCA3NTczOSwgNzU3NDUsIDc1NzUwLCA3NTc1NiwgNzU3NjMsIDc1NzY5LCAKKyAgICA3NTc3NCwgNzU3NzksIDc1Nzg4LCA3NTgwMCwgNzU4MTUsIDMzMDY1LCA3NTgyMSwgMTY1MzksIDMyODA3LCA3NTgyNSwgCisgICAgNzU4MzIsIDI0MDk0LCA3NTgzOCwgNzU4NDUsIDc1ODU0LCA3NTg2MSwgNzU4NzAsIDc1ODc2LCA3NTg4MSwgNzU4ODksIAorICAgIDc1ODk1LCAzMjgxNywgNzU5MDAsIDc1OTA5LCA3NDY4OSwgNzU5MTgsIDc1OTI1LCA3NTkzMSwgNzU5MzcsIDc1OTQ3LCAKKyAgICA3NTk1NSwgNzU5NjIsIDc1OTY2LCAzMjgyMiwgNzU5NjksIDMyODI4LCAzMjgzNCwgNzU5NzQsIDc1OTgyLCA3NTk5MCwgCisgICAgNzYwMDAsIDc2MDA5LCA3NjAxNywgNzYwMjQsIDc2MDM0LCAzMjgzOSwgNzYwMzgsIDc2MDQwLCA3NjA0NCwgNzYwNDksIAorICAgIDc2MDUzLCA3NjA1NywgNzYwNjMsIDc2MDY4LCA3NjA3MiwgNzYwODMsIDc2MDg4LCA3NjA5MywgMzA2MCwgNzYwOTcsIAorICAgIDc2MTA0LCA3NjEwOCwgNzYxMTcsIDc2MTI1LCA3NjEzMiwgNzYxMzcsIDc2MTQyLCA2MjI4NSwgNzYxNDYsIDc2MTQ5LCAKKyAgICA3NjE1NSwgNzYxNjMsIDc2MTY5LCA3NjE3MywgNzYxNzgsIDc2MTg1LCA3NjE5MCwgNzYxOTYsIDM0NzI5LCA3NjIwMSwgCisgICAgNzYyMDQsIDc2MjA5LCA3NjIxMywgNzYyMTgsIDc2MjIzLCA3NjIyNywgNzYyMzUsIDc2MjM5LCAyNTc0NiwgMjU3NTUsIAorICAgIDc2MjQ1LCA3NjI1MSwgNzYyNTcsIDc2MjYyLCA3NjI2NiwgNzYyNjksIDc2Mjc5LCA3NjI4OCwgNzYyOTMsIDc2Mjk5LCAKKyAgICA3NjMwNiwgNzYzMTIsIDc2MzE2LCA3NjMyNCwgNzYzMjksIDM0NzM1LCA3NjMzMywgNzYzNDEsIDc2MzQ3LCA3NjM1NCwgCisgICAgNzYzNTksIDc2MzYzLCA3NjM2OCwgNTg0MTAsIDM0NzQxLCA3NjM3NCwgNzYzNzksIDc2MzgzLCA3NjM4OCwgNzYzOTMsIAorICAgIDc2Mzk4LCA3NjQwMiwgNzY0MDcsIDc2NDEyLCA3NjQxOCwgNzY0MjMsIDc2NDI4LCA3NjQzNCwgNzY0NDAsIDc2NDQ1LCAKKyAgICA3NjQ0OSwgNzY0NTQsIDc2NDU5LCA3NjQ2NCwgNzY0NjgsIDI0MDkzLCA3NjQ3MywgNzY0NzgsIDc2NDg0LCA3NjQ5MCwgCisgICAgNzY0OTYsIDc2NTAxLCA3NjUwNSwgNzY1MTAsIDc2NTE1LCA3NjUyMCwgNzY1MjQsIDc2NTI5LCA3NjUzNCwgNzY1MzksIAorICAgIDc2NTQ0LCA3NjU0OCwgMzI4NDcsIDc2NTU2LCA3NjU2MCwgNzY1NjgsIDc2NTc2LCA3NjU4NywgNzY1OTIsIDc2NTk2LCAKKyAgICAyMjM5MSwgNzY2MDEsIDc2NjA3LCA3NjYxNywgNzY2MjQsIDc2NjI5LCA3NjYzOCwgNzY2NDMsIDc2NjQ3LCA3NjY1MiwgCisgICAgNzY2NjAsIDc2NjY4LCA3NjY3NSwgNjUwNzUsIDc2NjgxLCA3NjY4OSwgNzY2OTYsIDc2NzA3LCA3NjcxMywgNzY3MTcsIAorICAgIDc2NzIzLCAzMjg1NywgNzY3MjYsIDc2NzMzLCA3Njc0MSwgNzY3NDYsIDM5NTk4LCA3Njc1MCwgNzY3NTUsIDc2NzYyLCAKKyAgICA3Njc2NywgODk5MiwgNzY3NzEsIDc2Nzc5LCA3Njc4NiwgNzY3OTMsIDc2Nzk5LCA3NjgxMywgNjMzNDcsIDc2ODIxLCAKKyAgICA3NjgyNywgNzY4MzEsIDc2ODM0LCA3Njg0MiwgNzY4NDksIDc2ODU0LCA3Njg2NywgNzY4NzQsIDc2ODc4LCA3Njg4NSwgCisgICAgNzY4OTAsIDYwODMwLCA3Njg5NSwgNzY4OTgsIDc2OTA1LCA3NjkxMSwgNzY5MTUsIDc2OTIzLCA3NjkzMiwgNzY5NDIsIAorICAgIDc2OTUyLCA3Njk2MSwgNzY5NjksIDc2OTgwLCA3Njk4NSwgNzY5ODksIDc2OTk0LCA3Njk5OCwgMzUzNzEsIDc3MDA2LCAKKyAgICAyMTM1MSwgMzUzODAsIDc3MDExLCA3NzAxNiwgNzcwMjEsIDc3MDI2LCA3NzAzMSwgNzcwMzYsIDc3MDQxLCA3NzA0NSwgCisgICAgNzcwNTAsIDc3MDU1LCA3NzA2MCwgNzcwNjUsIDc3MDcwLCA3NzA3NSwgNzcwNzksIDc3MDg0LCA3NzA4OSwgNzcwOTMsIAorICAgIDc3MDk3LCA3NzEwMSwgNzcxMDUsIDc3MTEwLCA3NzExNSwgNzcxMTksIDc3MTI0LCA3NzEyOCwgNzcxMzIsIDc3MTM3LCAKKyAgICA3NzE0MiwgNzcxNDcsIDc3MTUyLCA3NzE1NiwgNzcxNjEsIDc3MTY2LCA3NzE3MCwgNzcxNzUsIDc3MTgwLCA3NzE4NSwgCisgICAgNzcxOTAsIDc3MTk1LCA3NzIwMCwgNzcyMDUsIDc3MjEwLCA3NzIxNSwgNzcyMjAsIDc3MjI1LCA3NzIzMCwgNzcyMzUsIAorICAgIDc3MjQwLCA3NzI0NSwgNzcyNTAsIDc3MjU1LCA3NzI2MCwgNzcyNjUsIDc3MjcwLCA3NzI3NCwgNzcyNzksIDc3Mjg0LCAKKyAgICA3NzI4OSwgNzcyOTQsIDc3Mjk5LCA3NzMwNCwgNzczMDksIDc3MzE0LCA3NzMxOSwgNzczMjQsIDc3MzI5LCA3NzMzMywgCisgICAgNzczMzgsIDc3MzQyLCA3NzM0NywgNzczNTIsIDc3MzU3LCA3NzM2MiwgNzczNjcsIDc3MzcyLCA3NzM3NywgNzczODIsIAorICAgIDc3Mzg3LCA3NzM5MSwgNzczOTUsIDc3NDAwLCA3NzQwNSwgNzc0MDksIDc3NDE0LCA3NzQxOSwgNzc0MjMsIDc3NDI4LCAKKyAgICA3NzQzMywgNzc0MzgsIDc3NDQzLCA3NzQ0NywgNzc0NTIsIDc3NDU3LCA3NzQ2MSwgNzc0NjYsIDc3NDcwLCA3NzQ3NCwgCisgICAgNzc0NzgsIDc3NDgyLCA3NzQ4NywgNzc0OTEsIDc3NDk1LCA3NzQ5OSwgNzc1MDMsIDc3NTA3LCA3NzUxMSwgNzc1MTUsIAorICAgIDc3NTE5LCA3NzUyMywgNzc1MjgsIDc3NTMzLCA3NzUzOCwgNzc1NDMsIDc3NTQ4LCA3NzU1MywgNzc1NTgsIDc3NTYzLCAKKyAgICA3NzU2OCwgNzc1NzMsIDc3NTc3LCA3NzU4MSwgNzc1ODUsIDc3NTg5LCA3NzU5MywgNzc1OTcsIDc3NjAyLCA3NzYwNiwgCisgICAgNzc2MTEsIDc3NjE1LCA3NzYyMCwgNzc2MjUsIDc3NjI5LCA3NzYzMywgNzc2MzgsIDc3NjQyLCA3NzY0NiwgNzc2NTAsIAorICAgIDc3NjU0LCA3NzY1OCwgNzc2NjIsIDc3NjY2LCA3NzY3MCwgNzc2NzQsIDc3Njc4LCA3NzY4MiwgNzc2ODYsIDc3NjkwLCAKKyAgICA3NzY5NCwgNzc2OTksIDc3NzA0LCA3NzcwOCwgNzc3MTIsIDc3NzE2LCA3NzcyMCwgNzc3MjQsIDc3NzI4LCA3NzczMywgCisgICAgNzc3MzcsIDc3NzQxLCA3Nzc0NSwgNzc3NDksIDc3NzUzLCA3Nzc1NywgNzc3NjIsIDc3NzY2LCA3Nzc3MSwgNzc3NzUsIAorICAgIDc3Nzc5LCA3Nzc4MywgNzc3ODcsIDc3NzkxLCA3Nzc5NSwgNzc3OTksIDc3ODAzLCA3NzgwNywgNzc4MTEsIDc3ODE1LCAKKyAgICA3NzgyMCwgNzc4MjQsIDc3ODI4LCA3NzgzMiwgNzc4MzYsIDc3ODQwLCA3Nzg0NCwgNzc4NDgsIDc3ODUyLCA3Nzg1NiwgCisgICAgNzc4NjAsIDc3ODY0LCA3Nzg2OSwgNzc4NzMsIDc3ODc3LCA3Nzg4MiwgNzc4ODcsIDc3ODkxLCA3Nzg5NSwgNzc4OTksIAorICAgIDc3OTAzLCA3NzkwNywgNzc5MTEsIDc3OTE1LCA3NzkxOSwgNzc5MjQsIDc3OTI4LCA3NzkzMywgNzc5MzcsIDc3OTQyLCAKKyAgICA3Nzk0NiwgNzc5NTEsIDc3OTU1LCA3Nzk2MSwgNzc5NjYsIDc3OTcwLCA3Nzk3NSwgNzc5NzksIDc3OTg0LCA3Nzk4OCwgCisgICAgNzc5OTMsIDc3OTk3LCA3ODAwMiwgMTUyMSwgNzgwMDYsIDI4MjQsIDE3NTksIDE3NjQsIDc4MDEwLCA3ODAxNCwgMjgyOCwgCisgICAgNzgwMTgsIDEzOTcsIDc4MDIzLCAxMzQyLCA3ODAyNywgMjg0MCwgNzgwMzEsIDc4MDM4LCA3ODA0NSwgNzgwNTksIDI4NDQsIAorICAgIDcxMzEsIDc4MDY4LCA3ODA3NiwgNzgwODMsIDc4MDk0LCA3ODEwMywgNzgxMTAsIDc4MTIyLCA3ODEzNSwgNzgxNDgsIAorICAgIDc4MTU5LCA3ODE2NCwgNzgxNzEsIDc4MTgzLCA3ODE4NywgMjg0OCwgMTE3NDcsIDc4MTk3LCA3ODIwMiwgNzgyMTEsIAorICAgIDc4MjIxLCAyODUyLCA3ODIyNiwgNzgyMzAsIDc4MjM1LCA3ODI0MiwgNzgyNDgsIDc4MjU2LCA3ODI2OCwgMTM0NywgCisgICAgMTMwNDIsIDc4Mjc4LCA3ODI4MiwgNzgyODgsIDc4MzAyLCA3ODMxNCwgNzgzMjYsIDc4MzM2LCA3ODM0NSwgNzgzNTQsIAorICAgIDc4MzYzLCA3ODM3MSwgNzgzODIsIDc4MzkwLCA0MDUxLCA3ODQwMCwgNzg0MTEsIDc4NDIwLCA3ODQyNiwgNzg0NDEsIAorICAgIDc4NDQ4LCA3ODQ1NCwgMzU0OTYsIDc4NDU5LCAyODc2LCAxMzA0NiwgNzg0NjMsIDc4NDcwLCA4OTMwLCA3ODQ3OSwgMjg4MSwgCisgICAgMzIzNDMsIDc4NDg1LCA2MDU3OSwgNzg0OTIsIDc4NDk4LCA3ODUwOSwgNzg1MTUsIDc4NTIyLCA3ODUyOCwgNzg1MzYsIAorICAgIDc4NTQzLCA3ODU0OSwgNzg1NTksIDc4NTY4LCA3ODU3OSwgNzg1ODYsIDc4NTkyLCA3ODYwMiwgNzg2MTAsIDc4NjE2LCAKKyAgICA3ODYzMSwgNzg2MzcsIDc4NjQyLCA3ODY0OSwgNzg2NTIsIDc4NjU4LCA3ODY2NSwgNzg2NzEsIDc4Njc5LCA3ODY4OCwgCisgICAgNzg2OTYsIDc4NzAyLCA3ODcxMSwgNDE0MzQsIDc4NzI1LCA3ODczMCwgNzg3MzYsIDE0NzUxLCA3ODc0MSwgNzg3NTQsIAorICAgIDc4NzYzLCA3ODc3MSwgNzg3NzgsIDc4NzgyLCA3ODc4NiwgNzg3ODksIDc4Nzk2LCA3ODgwMywgNzg4MTEsIDc4ODE5LCAKKyAgICA3ODgyOCwgNzg4MzYsIDE0Njc4LCA3ODg0NCwgNzg4NDksIDc4ODUzLCA3ODg2NSwgNzg4NzIsIDc4ODgxLCA3NDgsIAorICAgIDc4ODkxLCA3ODkwMCwgNzg5MTEsIDI4OTcsIDc4OTE1LCA3ODkxOSwgNzg5MjUsIDc4OTM4LCA3ODk1MCwgNzg5NjAsIAorICAgIDc4OTY5LCA3ODk4MSwgMjYzNTksIDc4OTkyLCA3OTAwMCwgNzkwMDksIDc5MDIwLCA3OTAzMSwgNzkwNDEsIDc5MDUxLCAKKyAgICA3OTA2MCwgNzkwNjgsIDExMzEyLCA3OTA3NSwgNzkwNzksIDc5MDgyLCA3OTA4NywgNzkwOTIsIDc5MDk2LCA3OTEwMiwgCisgICAgMTM1MiwgMTE4MTgsIDc5MTA5LCA3OTEyMCwgNzkxMjksIDc5MTM3LCA3OTE0NiwgNzkxNTQsIDc5MTcwLCA3OTE4MSwgCisgICAgNzkxOTAsIDc5MTk4LCA3OTIxMCwgNzkyMjEsIDc5MjM3LCA3OTI0NywgNzkyNjgsIDc5MjgxLCA3OTI4OSwgNzkyOTYsIAorICAgIDE0ODYyLCA3OTMwOSwgNzkzMTQsIDc5MzIwLCA1OTA4LCA3OTMyNiwgNzkzMjksIDc5MzM2LCA3OTM0NiwgODE3NiwgCisgICAgNzkzNTMsIDc5MzU4LCA3OTM2MywgNzkzNjgsIDc5Mzc2LCA3OTM4NSwgNzkzOTMsIDk3NTYsIDk3NjUsIDc5Mzk4LCAKKyAgICA3OTQwOSwgNzk0MTQsIDc5NDIwLCAyOTEzLCAyOTE4LCA3OTQyNiwgMTA4NzksIDc5NDMyLCA3OTQzOSwgNzk0NDYsIAorICAgIDc5NDU5LCAyMjUxLCA2OCwgNzk0NjQsIDc5NDY5LCA3OTQ3OSwgNzk0ODUsIDc5NDk0LCA3OTUwMiwgNzk1MTIsIDc5NTE2LCAKKyAgICA3OTUyMSwgNzk1MjUsIDc5NTM3LCAyOTQxLCA3OTU0NSwgNzk1NTMsIDc5NTU4LCA3OTU2OSwgNzk1ODAsIDc5NTg5LCAKKyAgICA3OTU5NCwgNzk2MDAsIDc5NjA1LCA3OTYxNSwgNzk2MjUsIDc5NjMwLCA3OTYzNiwgNzk2NDEsIDc5NjUwLCAyMTQwNCwgCisgICAgNzk2NTQsIDQxMjgsIDIwLCA3OTY1OSwgNzk2NjgsIDc5Njc1LCA3OTY4MiwgNzk2ODgsIDc5Njk0LCA4NjQsIDc5Njk5LCAKKyAgICA3OTcwNCwgNjA5MDcsIDc5NzA5LCA3OTcxNCwgNzk3MjAsIDc5NzI2LCA3OTczNCwgNzk3MzksIDc5NzQ2LCA3OTc1MiwgCisgICAgNzk3NTcsIDM4MDA4LCA0MTMyOCwgNzk3NjMsIDI5NDUsIDMyLCA3OTc3MywgNzk3ODYsIDc5NzkxLCA3OTc5OSwgNzk4MDQsIAorICAgIDc5ODEwLCAyOTY3LCAyODI5NiwgNzk4MTUsIDc5ODIzLCA3OTgzMCwgNzk4MzUsIDU4NjUyLCA2MTkxMCwgNzk4NDQsIAorICAgIDc5ODQ4LCAxNzA0LCAxODEzLCA3OTg1MywgNzk4NTgsIDc5ODY1LCAxODE3LCAyNDcsIDc5ODcyLCA3OTg3OCwgMjk4OSwgCisgICAgNzk4ODMsIDc5ODg4LCA3OTg5NSwgMTgyMSwgNzk5MDAsIDc5OTA2LCA3OTkxMSwgNzk5MjMsIDYxMTksIDc5OTMzLCAxODI4LCAKKyAgICA3OTkzOSwgNzk5NDQsIDc5OTUxLCA3OTk1OCwgNzk5NzMsIDc5OTgwLCA3OTk5MSwgNzk5OTksIDI2MTgsIDgwMDAzLCAKKyAgICA4MDAxNSwgODAwMjAsIDgwMDI0LCA4MDAzMCwgMjgxMjEsIDIyNTYsIDgwMDM0LCA4MDA0NSwgODAwNDksIDgwMDUzLCAKKyAgICA4MDA1OSwgODAwNjMsIDgwMDcyLCA4MDA3NiwgODAwODcsIDgwMDkxLCAyMzAyLCAzMjE3MiwgODAwOTUsIDgwMTA1LCAKKyAgICAzMDgwLCA5MzcxLCA4MDExMywgODAxMTgsIDgwMTIyLCA4MDEzMSwgODAxMzgsIDgwMTQ0LCAzMDUwLCAxNzE0NiwgODAxNDgsIAorICAgIDgwMTYxLCA4MDE3OSwgODAxODQsIDgwMTkyLCA4MDIwMCwgODAyMTAsIDk5ODUsIDEzMTU0LCA4MDIyMiwgODAyMzUsIAorICAgIDgwMjQyLCA4MDI0OSwgODAyNjUsIDgwMjcyLCA4MDI3OCwgMTA1OSwgODAyODUsIDgwMjkyLCA4MDMwMiwgODAzMTEsIAorICAgIDgwMzIzLCA0MjI5OCwgODAzMzEsIDMwNjQsIDEyMDMwLCA4MDMzNCwgODAzNDIsIDgwMzQ2LCA3ODIzOCwgMzA2OCwgCisgICAgODAzNTAsIDIxMTg1LCAxMjA0NiwgMzc1NiwgODAzNTQsIDMwNzQsIDgwMzU4LCA4MDM2OCwgODAzNzQsIDgwMzgwLCAKKyAgICA4MDM4NiwgODAzOTIsIDgwMzk4LCA4MDQwNCwgODA0MTAsIDgwNDE2LCA4MDQyMiwgODA0MjgsIDgwNDM0LCA4MDQ0MCwgCisgICAgODA0NDYsIDgwNDUyLCA4MDQ1OCwgODA0NjQsIDgwNDcwLCA4MDQ3NiwgODA0ODIsIDgwNDg4LCA4MDQ5NCwgODA1MDAsIAorICAgIDgwNTA2LCA4MDUxMiwgODA1MTgsIDgwNTI1LCA4MDUzMiwgODA1MzgsIDgwNTQ0LCA4MDU1MCwgODA1NTYsIDgwNTYyLCAKKyAgICA4MDU2OCwgMTM1NywgMTYwNTYsIDEyMDY4LCA4MDU3NCwgODA1NzksIDgwNTg0LCA4MDU4OSwgODA1OTQsIDgwNTk5LCAKKyAgICA4MDYwNCwgODA2MDksIDgwNjE0LCA4MDYxOSwgODA2MjQsIDgwNjI5LCA4MDYzNCwgODA2MzksIDgwNjQ0LCA4MDY0OSwgCisgICAgODA2NTQsIDgwNjU5LCA4MDY2NCwgODA2NjksIDgwNjc0LCA4MDY3OSwgODA2ODQsIDgwNjg5LCA4MDY5NCwgODA2OTksIAorICAgIDgwNzA1LCA4MDcxMCwgODA3MTUsIDgwNzIxLCA4MDcyNiwgODA3MzIsIDgwNzM3LCA4MDc0MiwgODA3NDgsIDgwNzUzLCAKKyAgICA4MDc1OCwgODA3NjMsIDgwNzY4LCA4MDc3MywgODA3NzgsIDgwNzgzLCA4MDc4OCwgODAzNjksIDgwMzc1LCA4MDM4MSwgCisgICAgODAzODcsIDgwMzkzLCA4MDM5OSwgODA0MDUsIDgwNDExLCA4MDQxNywgODA0MjMsIDgwNDI5LCA4MDQzNSwgODA0NDEsIAorICAgIDgwNDQ3LCA4MDQ1MywgODA3OTQsIDgwNDU5LCA4MDQ2NSwgODA0NzEsIDgwODAwLCA4MDQ3NywgODA0ODMsIDgwNDg5LCAKKyAgICA4MDQ5NSwgODA1MDEsIDgwNTA3LCA4MDUxMywgODA1MzMsIDgwODA2LCA4MDgxMiwgODA1MzksIDgwODE4LCA4MDU0NSwgCisgICAgODA1NTEsIDgwNTU3LCA4MDU2MywgODA1NjksIDMwOTEsIDMwOTYsIDgwODI0LCA4MDgyOSwgODA4MzIsIDgwODM4LCAKKyAgICA4MDg0NCwgODA4NTEsIDgwODU2LCA4MDg2MSwgMjMwNywgCiB9OwogCiAvKiBjb2RlLT5uYW1lIHBocmFzZWJvb2sgKi8KICNkZWZpbmUgcGhyYXNlYm9va19zaGlmdCA3CiAjZGVmaW5lIHBocmFzZWJvb2tfc2hvcnQgMjA5CiBzdGF0aWMgdW5zaWduZWQgY2hhciBwaHJhc2Vib29rW10gPSB7Ci0gICAgMCwgMjE5LCAxOCwgMjQ1LCAzMSwgNzgsIDIyMywgMjU0LCA3OCwgNTQsIDUwLCAyNDcsIDEzMiwgNTAsIDIyNSwgMTgyLCAKLSAgICA1MCwgMjU0LCAxMjYsIDI1NCwgNTcsIDQzLCAyMjYsIDMsIDQ0LCAyMjYsIDMsIDI1MywgMjE2LCA5NiwgNTAsIDI0OSwgCi0gICAgMjE5LCAyNDAsIDE2NywgMjQzLCAyMjksIDIxOCwgMTI5LCAyMTksIDQ2LCAyMSwgMjEwLCA4NiwgMjEsIDExMCwgMjEsIAorICAgIDAsIDIxOSwgMTksIDI0NSwgMzIsIDc4LCAyMjMsIDI1NSwgNzgsIDU0LCA1MCwgMjQ3LCAxMzMsIDUwLCAyMjUsIDE4MywgCisgICAgNTAsIDI1NCwgMTI3LCAyNTQsIDU4LCA0MywgMjI2LCA0LCA0NCwgMjI2LCA0LCAyNTMsIDIxNywgOTYsIDUwLCAyNDksIAorICAgIDIyMCwgMjQwLCAxNjgsIDI0MywgMjMwLCAyMTgsIDEzMCwgMjE5LCA0NywgMjEsIDIxMCwgODYsIDIxLCAxMTAsIDIxLCAKICAgICAxMDUsIDIxLCAxNTgsIDIxLCAxNjEsIDIxLCAxODksIDIxLCAxOTQsIDIxLCAxOTgsIDIxLCAxOTUsIDIxLCAyMDAsIDI0OSwgCi0gICAgMjI2LCAyMjAsIDE1MCwgMjMzLCAxNSwgNTAsIDI0NSwgOTgsIDUwLCAyNDIsIDEzMCwgNTAsIDIyNCwgMTMsIDc4LCAyNDksIAotICAgIDIxNywgMjUzLCAyMDYsIDcsIDYsIDEsIDYxLCA3LCA2LCAxLCAyNTMsIDE1OCwgNywgNiwgMSwgMjUxLCA2NiwgNywgNiwgMSwgCi0gICAgMjQ5LCA2MCwgNywgNiwgMSwgNzUsIDcsIDYsIDEsIDI0NSwgNiwgNywgNiwgMSwgMjQzLCAyMDIsIDcsIDYsIDEsIDI0MiwgCi0gICAgNjAsIDcsIDYsIDEsIDczLCA3LCA2LCAxLCAyMzUsIDE0NCwgNywgNiwgMSwgMjM1LCAyMywgNywgNiwgMSwgMTU2LCA3LCA2LCAKLSAgICAxLCAxOTMsIDcsIDYsIDEsIDIzMCwgMjUsIDcsIDYsIDEsIDc2LCA3LCA2LCAxLCAyMjYsIDEwNSwgNywgNiwgMSwgMjI0LCAKLSAgICA5NiwgNywgNiwgMSwgMTUzLCA3LCA2LCAxLCAyMjIsIDkxLCA3LCA2LCAxLCAyMTcsIDE1MiwgNywgNiwgMSwgNzAsIDcsIDYsIAorICAgIDIyNywgMjIwLCAxNTEsIDIzMywgMTYsIDUwLCAyNDUsIDk5LCA1MCwgMjQyLCAxMzEsIDUwLCAyMjQsIDE0LCA3OCwgMjQ5LCAKKyAgICAyMTgsIDI1MywgMjA3LCA3LCA2LCAxLCA2MSwgNywgNiwgMSwgMjUzLCAxNTksIDcsIDYsIDEsIDI1MSwgNjcsIDcsIDYsIDEsIAorICAgIDI0OSwgNjEsIDcsIDYsIDEsIDc1LCA3LCA2LCAxLCAyNDUsIDcsIDcsIDYsIDEsIDI0MywgMjAzLCA3LCA2LCAxLCAyNDIsIAorICAgIDYxLCA3LCA2LCAxLCA3MywgNywgNiwgMSwgMjM1LCAxNDUsIDcsIDYsIDEsIDIzNSwgMjQsIDcsIDYsIDEsIDE1NiwgNywgNiwgCisgICAgMSwgMTkzLCA3LCA2LCAxLCAyMzAsIDI2LCA3LCA2LCAxLCA3NiwgNywgNiwgMSwgMjI2LCAxMDYsIDcsIDYsIDEsIDIyNCwgCisgICAgOTcsIDcsIDYsIDEsIDE1MywgNywgNiwgMSwgMjIyLCA5MiwgNywgNiwgMSwgMjE3LCAxNTMsIDcsIDYsIDEsIDcwLCA3LCA2LCAKICAgICAxLCAyMTQsIDEwNSwgNywgNiwgMSwgMjEyLCA5OCwgNywgNiwgMSwgMjExLCAxNzgsIDcsIDYsIDEsIDIxMSwgMTE3LCA3LCAKLSAgICA2LCAxLCAyMTAsIDE1OSwgNDMsIDQyLCAxMjcsIDIyMywgNTAsIDIxOSwgNDYsIDQ0LCA0MiwgMTI3LCAyNTAsIDMxLCAyNTUsIAotICAgIDE0LCAxMjEsIDIzMiwgMjEzLCAyNDIsIDEzNywgMjU1LCAxNCwgNywgNCwgMSwgNjEsIDcsIDQsIDEsIDI1MywgMTU4LCA3LCAKLSAgICA0LCAxLCAyNTEsIDY2LCA3LCA0LCAxLCAyNDksIDYwLCA3LCA0LCAxLCA3NSwgNywgNCwgMSwgMjQ1LCA2LCA3LCA0LCAxLCAKLSAgICAyNDMsIDIwMiwgNywgNCwgMSwgMjQyLCA2MCwgNywgNCwgMSwgNzMsIDcsIDQsIDEsIDIzNSwgMTQ0LCA3LCA0LCAxLCAyMzUsIAotICAgIDIzLCA3LCA0LCAxLCAxNTYsIDcsIDQsIDEsIDE5MywgNywgNCwgMSwgMjMwLCAyNSwgNywgNCwgMSwgNzYsIDcsIDQsIDEsIAotICAgIDIyNiwgMTA1LCA3LCA0LCAxLCAyMjQsIDk2LCA3LCA0LCAxLCAxNTMsIDcsIDQsIDEsIDIyMiwgOTEsIDcsIDQsIDEsIDIxNywgCi0gICAgMTUyLCA3LCA0LCAxLCA3MCwgNywgNCwgMSwgMjE0LCAxMDUsIDcsIDQsIDEsIDIxMiwgOTgsIDcsIDQsIDEsIDIxMSwgMTc4LCAKLSAgICA3LCA0LCAxLCAyMTEsIDExNywgNywgNCwgMSwgMjEwLCAxNTksIDQzLCAyNDksIDk5LCAxMjcsIDY3LCAyMzIsIDIxMywgNDQsIAotICAgIDI0OSwgOTksIDEyNywgMTgyLCAyMjgsIDczLCAyMTksIDE4LCAyMzUsIDE5MywgMjQ1LCAzMSwgNzgsIDI1MCwgMTc2LCA1MCwgCi0gICAgMjI0LCAyMjgsIDUwLCAyNDksIDk4LCA1MCwgMjExLCA0MCwgNTAsIDI1MSwgMTM1LCAxMzAsIDIyMSwgMTczLCA1MCwgMjQ4LCAKLSAgICAxLCAyNDksIDE2MywgNTAsIDI0NCwgMTM2LCAyMjYsIDE1NCwgMjM1LCAyMzgsIDIzMywgNDIsIDUyLCAyNTQsIDExMCwgCi0gICAgMjIzLCAyNTQsIDc4LCAyMjgsIDUyLCA1MCwgMjE5LCA1MiwgMjQwLCAxNjgsIDIyMywgMTAyLCA1MCwgMjMxLCAyMzIsIAotICAgIDI0OCwgNzEsIDUwLCAyMjUsIDIxLCA1MCwgMjE4LCAyMywgMTA1LCAyMTgsIDIzLCAxNTgsIDI1NSwgMywgMjU1LCAxNCwgCi0gICAgMjMwLCAyMjgsIDUwLCAyMjUsIDY4LCA1MCwgMjMwLCAyMjQsIDI0NywgMTIwLCAyNTAsIDE4MywgMjE4LCAyMywgMTEwLCAKLSAgICAyMzEsIDE0OCwgMjI2LCAxNTQsIDIzNSwgMjM4LCAyMjIsIDI0NywgNTIsIDI1NCwgMTEwLCAyMjMsIDI1NCwgNzgsIDIxMiwgCi0gICAgMTE0LCAyNDQsIDIsIDEyMywgMjI0LCAyMSwgMjEyLCAxMTQsIDI0NCwgMiwgMTIzLCAyNDIsIDI3LCAyMTIsIDExNCwgMjQ0LCAKLSAgICAyLCAxMzQsIDIyNCwgMTksIDIzNSwgMTkzLCAyMjQsIDEzLCA3OCwgNywgNiwgMSwgMTE1LCAyLCAyNDIsIDEzNiwgNywgNiwgCi0gICAgMSwgMTE1LCAyLCAxNDIsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMCwgNywgNiwgMSwgMTE1LCAyLCAxODIsIDcsIDYsIDEsIAotICAgIDExNSwgMiwgMjQ4LCAxLCA3LCA2LCAxLCAxMTUsIDIsIDIyMiwgMjM0LCA0OCwgNywgNiwgMSwgMjU0LCAyNDMsIDcsIDYsIAotICAgIDEsIDI1MSwgNjcsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAxNjAsIDIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNjAsIDIsIDE0MiwgCi0gICAgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAxNjAsIDIsIDI0OCwgMSwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIAotICAgIDI0MiwgMTM2LCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgMTQyLCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgMjUwLCAzMCwgNywgNiwgCi0gICAgMSwgMjQwLCAxNTQsIDIsIDI0OCwgMSwgNywgNiwgMSwgMjQ1LCA1OSwgNywgNiwgMSwgMjMwLCAyNiwgMiwgMTgyLCA3LCA2LCAKLSAgICAxLCAxNDQsIDIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNDQsIDIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAyNTAsIDMwLCA3LCAKLSAgICA2LCAxLCAxNDQsIDIsIDE4MiwgNywgNiwgMSwgMTQ0LCAyLCAyNDgsIDEsIDIzMCwgODQsIDUwLCA3LCA2LCAxLCAxNDQsIDIsIAotICAgIDkxLCA3LCA2LCAxLCAxMDQsIDIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMDQsIDIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAKLSAgICAyNTAsIDMwLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDE0MiwgNywgNiwgMSwgCi0gICAgMjE2LCAxNTEsIDcsIDQsIDEsIDIyMCwgNzYsIDIyMiwgOTEsIDcsIDQsIDEsIDExNSwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIAotICAgIDExNSwgMiwgMTQyLCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMzAsIDcsIDQsIDEsIDExNSwgMiwgMTgyLCA3LCA0LCAxLCAKLSAgICAxMTUsIDIsIDI0OCwgMSwgNywgNCwgMSwgMTE1LCAyLCAyMjIsIDIzNCwgNDgsIDcsIDQsIDEsIDI1NCwgMjQzLCA3LCA0LCAKLSAgICAxLCAyNTEsIDY3LCAyLCAyNTAsIDE4MywgNywgNCwgMSwgMTYwLCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTYwLCAyLCAxNDIsIAotICAgIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzMCwgNywgNCwgMSwgMTYwLCAyLCAyNDgsIDEsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAKLSAgICAyNDIsIDEzNiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDI1MCwgMzAsIDcsIDQsIAotICAgIDEsIDI0MCwgMTU0LCAyLCAyNDgsIDEsIDcsIDQsIDEsIDI0NSwgNTksIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDE4MiwgNywgNCwgCi0gICAgMSwgMTQ0LCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzMCwgNywgCi0gICAgNCwgMSwgMTQ0LCAyLCAxODIsIDcsIDQsIDEsIDE0NCwgMiwgMjQ4LCAxLCAyNDcsIDE2OSwgNTAsIDcsIDQsIDEsIDE0NCwgCi0gICAgMiwgOTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDEwNCwgMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIAotICAgIDI1MCwgMzAsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAxLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgMTQyLCA3LCA0LCAxLCAKLSAgICAyMTYsIDE1MSwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI0OCwgMSwgNywgNiwgMSwgMTE1LCAyLCAyMzEsIDIzMiwgNywgNCwgCi0gICAgMSwgMTE1LCAyLCAyMzEsIDIzMiwgNywgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NiwgNywgNCwgMSwgMTE1LCAyLCAyNTEsIAotICAgIDE0NiwgNywgNiwgMSwgMTE1LCAyLCAyMjYsIDIyNCwgNywgNCwgMSwgMTE1LCAyLCAyMjYsIDIyNCwgNywgNiwgMSwgMjUxLCAKLSAgICA2NywgMiwgMTQyLCA3LCA0LCAxLCAyNTEsIDY3LCAyLCAxNDIsIDcsIDYsIDEsIDI1MSwgNjcsIDIsIDI1MCwgMzAsIDcsIDQsIAotICAgIDEsIDI1MSwgNjcsIDIsIDI1MCwgMzAsIDcsIDYsIDEsIDI1MSwgNjcsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjUxLCA2NywgMiwgCi0gICAgNTksIDQ4LCA3LCA2LCAxLCAyNTEsIDY3LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjUxLCA2NywgMiwgMjUwLCAyMzQsIDcsIAotICAgIDYsIDEsIDI0OSwgNjEsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyNDksIDYxLCAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMjQ5LCAKLSAgICA2MSwgMiwgOTEsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIDkxLCA3LCA2LCAxLCAxNjAsIDIsIDIzMSwgMjMyLCA3LCA0LCAxLCAKLSAgICAxNjAsIDIsIDIzMSwgMjMyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MSwgMTQ2LCA3LCA0LCAxLCAxNjAsIDIsIDI1MSwgMTQ2LCAKLSAgICA3LCA2LCAxLCAxNjAsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNDgsIDcsIDYsIDEsIDE2MCwgMiwgMjI2LCAKLSAgICAyMjQsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjQsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDE2MCwgCi0gICAgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDI0MywgMjAzLCAyLCAyNTAsIDMwLCA3LCA0LCAxLCAyNDMsIDIwMywgMiwgMjUwLCAKLSAgICAzMCwgNywgNiwgMSwgMjQzLCAyMDMsIDIsIDI1MSwgMTQ2LCA3LCA0LCAxLCAyNDMsIDIwMywgMiwgMjUxLCAxNDYsIDcsIDYsIAotICAgIDEsIDI0MywgMjAzLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0MywgMjAzLCAyLCA1OSwgNDgsIDcsIDYsIDEsIDI0MywgMjAzLCAKLSAgICAyLCAyNTAsIDE4MywgNywgNCwgMSwgMjQzLCAyMDMsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAyNTAsIAotICAgIDMwLCA3LCA0LCAxLCAyNDIsIDYxLCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCA5MSwgNywgNCwgMSwgMjQyLCAKLSAgICA2MSwgMiwgOTEsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCAxODIsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAxODIsIDcsIDYsIDEsIAotICAgIDI0MCwgMTU0LCAyLCAyMzEsIDIzMiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDIzMSwgMjMyLCA3LCA2LCAxLCAyNDAsIDE1NCwgCi0gICAgMiwgMjUxLCAxNDYsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAyNTEsIDE0NiwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDIyNiwgCi0gICAgMjI0LCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMjI2LCAyMjQsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCA1OSwgNDgsIDcsIDQsIAotICAgIDEsIDI0NywgMTE5LCA3MywgNywgNiwgMjcsIDIzNiwgMzEsIDcsIDQsIDI3LCAyMzYsIDMxLCA3LCA2LCAxLCAyMzUsIDE0NSwgCi0gICAgMiwgMjUwLCAzMCwgNywgNCwgMSwgMjM1LCAxNDUsIDIsIDI1MCwgMzAsIDcsIDYsIDEsIDIzNSwgMjQsIDIsIDI1MCwgMTgzLCAKLSAgICA3LCA0LCAxLCAyMzUsIDI0LCAyLCAyNTAsIDE4MywgNywgNCwgMSwgMjMzLCAyMzksIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCAKLSAgICAxNDIsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAxNDIsIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCAyNTAsIDE4MywgNywgNCwgMSwgCi0gICAgMjMzLCAxNDksIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDIzMywgMTQ5LCAKLSAgICAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMjMzLCAxNDksIDIsIDIzMCwgMjI0LCAyNDcsIDEyMCwgNywgNCwgMSwgMjMzLCAxNDksIAotICAgIDIsIDIzMCwgMjI0LCAyNDcsIDEyMCwgNywgNiwgMSwgMjMzLCAxNDksIDIsIDkxLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgCi0gICAgOTEsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDE0MiwgNywgNCwgMSwgMjMwLCAyNiwgMiwgMTQyLCA3LCA2LCAxLCAyMzAsIDI2LCAKLSAgICAyLCAyNTAsIDE4MywgNywgNCwgMSwgMjMwLCAyNiwgMiwgMjUwLCAxODMsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDI1MCwgCi0gICAgMjM0LCA3LCA0LCAxLCAyMzAsIDI2LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjMwLCAyNiwgMjI0LCAyMDQsIDI1MSwgNzgsIAotICAgIDI1NCwgNTcsIDcsIDYsIDEsIDI0NSwgMTM4LCA3LCA0LCAxLCAyNDUsIDEzOCwgNywgNiwgMSwgMTQ0LCAyLCAyMzEsIDIzMiwgCi0gICAgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzMiwgNywgNiwgMSwgMTQ0LCAyLCAyNTEsIDE0NiwgNywgNCwgMSwgMTQ0LCAyLCAKLSAgICAyNTEsIDE0NiwgNywgNiwgMSwgMTQ0LCAyLCA1MiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDUyLCAxNDIsIDcsIDYsIDI3LCAKLSAgICAyMjYsIDIzNCwgNywgNCwgMjcsIDIyNiwgMjM0LCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgMTQyLCA3LCA0LCAxLCAyMjMsIAotICAgIDIyNCwgMiwgMTQyLCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgMjUwLCAxODMsIDcsIDQsIDEsIDIyMywgMjI0LCAyLCAyNTAsIAotICAgIDE4MywgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgMjUwLCAyMzQsIDcsIAotICAgIDYsIDEsIDIyMiwgOTIsIDIsIDE0MiwgNywgNCwgMSwgMjIyLCA5MiwgMiwgMTQyLCA3LCA2LCAxLCAyMjIsIDkyLCAyLCAKLSAgICAyNTAsIDMwLCA3LCA0LCAxLCAyMjIsIDkyLCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAyMjIsIDkyLCAyLCAyNTAsIDE4MywgNywgCi0gICAgNCwgMSwgMjIyLCA5MiwgMiwgMjUwLCAxODMsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyMjIsIAotICAgIDkyLCAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDI1MCwgMTgzLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgCi0gICAgMjUwLCAxODMsIDcsIDYsIDEsIDIxNywgMTUzLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDI1MCwgMjM0LCAKLSAgICA3LCA2LCAxLCAyMTcsIDE1MywgMiwgOTEsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCA5MSwgNywgNiwgMSwgMTA0LCAyLCAxODIsIAotICAgIDcsIDQsIDEsIDEwNCwgMiwgMTgyLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMyLCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgCi0gICAgMjMyLCA3LCA2LCAxLCAxMDQsIDIsIDI1MSwgMTQ2LCA3LCA0LCAxLCAxMDQsIDIsIDI1MSwgMTQ2LCA3LCA2LCAxLCAxMDQsIAotICAgIDIsIDIyMiwgMjM0LCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyMjIsIDIzNCwgNDgsIDcsIDYsIDEsIDEwNCwgMiwgNTIsIDE0MiwgCi0gICAgNywgNCwgMSwgMTA0LCAyLCA1MiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDIyNiwgMjI0LCA3LCA0LCAxLCAxMDQsIDIsIAotICAgIDIyNiwgMjI0LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAyNTAsIDMwLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAyNTAsIDMwLCA3LCAKLSAgICA2LCAxLCAyMTEsIDExOCwgMiwgMjUwLCAzMCwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI1MCwgMzAsIDcsIDYsIDEsIDIxMSwgCi0gICAgMTE4LCAyLCAyNDgsIDEsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAxNDIsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAxNDIsIDcsIAotICAgIDYsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIxMCwgCi0gICAgMTYwLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAxOTksIDIyMiwgOTEsIAotICAgIDcsIDQsIDEsIDU3LCAyLCA5MSwgNywgNiwgMSwgNTcsIDIsIDEwMywgNywgNiwgMSwgNTcsIDIsIDIxNiwgMTEsIDcsIDQsIAotICAgIDEsIDU3LCAyLCAyMTYsIDExLCA3LCA2LCAxLCAxMzgsIDE5NCwgNywgNCwgMSwgMTM4LCAxOTQsIDcsIDYsIDEsIDIwNCwgCi0gICAgNzYsIDcsIDYsIDEsIDI1MSwgNjcsIDIsIDEwMywgNywgNCwgMSwgMjUxLCA2NywgMiwgMTAzLCA3LCA2LCAxLCAyNTQsIAotICAgIDIxOSwgMjQ5LCA2MCwgNywgNiwgMSwgMjQ5LCA2MSwgMiwgMTAzLCA3LCA2LCAxLCAyNDksIDYxLCAyLCAyMTYsIDExLCA3LCAKLSAgICA0LCAxLCAyNDksIDYxLCAyLCAyMTYsIDExLCA3LCA0LCAxLCAyMTUsIDk0LCAyNDgsIDU0LCA3LCA2LCAxLCAyMjMsIDQ5LCAKLSAgICA3NSwgNywgNiwgMSwgMjIxLCAxOTUsIDcsIDYsIDEsIDIwNCwgNzUsIDcsIDYsIDEsIDI0NSwgNywgMiwgMTAzLCA3LCA0LCAKLSAgICAxLCAyNDUsIDcsIDIsIDEwMywgNywgNiwgMSwgMjQzLCAyMDMsIDIsIDEwMywgNywgNiwgMSwgMjQzLCAxMDcsIDcsIDQsIDEsIAotICAgIDI0MCwgMjAxLCA3LCA2LCAxLCAyMzUsIDE4NSwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDkxLCA3LCA2LCAxLCAyMzUsIDI0LCAKLSAgICAyLCAxMDMsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDEwMywgNywgNCwgMSwgMjMzLCAxNDksIDIsIDEzMCwgNywgNCwgMSwgCi0gICAgMjMzLCAxMDAsIDIsIDkxLCA3LCA2LCAxLCAyMTUsIDk0LCAxOTMsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDQzLCAxMDMsIDcsIAotICAgIDQsIDEsIDIzMCwgMjYsIDIsIDE5OSwgNDQsIDIzMywgMzYsIDcsIDYsIDEsIDE0NCwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNiwgCi0gICAgMSwgMTQ0LCAyLCAyNDAsIDI0OCwgNywgNCwgMSwgMTQ0LCAyLCAyNDAsIDI0OCwgNywgNiwgMSwgMjI2LCAyMTksIDcsIDQsIAotICAgIDEsIDIyNiwgMjE5LCA3LCA2LCAxLCAyMjYsIDEwNiwgMiwgMTAzLCA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgMTAzLCA3LCAxLCAKLSAgICAyMTAsIDIxNCwgNywgNiwgMSwgMTM4LCAxMDUsIDcsIDQsIDEsIDEzOCwgMTA1LCA3LCA2LCAxLCAyNDUsIDc1LCA3LCAxLCAKLSAgICAyMjMsIDQ5LCAyNDUsIDc2LCAyMzIsIDEyMywgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDIyNiwgNjYsIDEwMywgNywgNiwgMSwgCi0gICAgMjE3LCAxNTMsIDIsIDEwMywgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDEwMywgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDIyMywgCi0gICAgNTUsIDEwMywgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI0OCwgNywgNCwgMSwgMTA0LCAyLCAyNDAsIDI0OCwgNywgNiwgMSwgCi0gICAgMjE0LCAxNTcsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAxMDMsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAxMDMsIDcsIDQsIDEsIAotICAgIDIxMSwgMTE4LCAyLCAxMDMsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA5MSwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDkxLCA3LCAKLSAgICA2LCAxLCAyNDUsIDgsIDcsIDYsIDEsIDI0NSwgOSwgMjIzLCA0OCwgNywgNCwgMSwgMjQ1LCA5LCAyMjMsIDQ4LCA3LCA0LCAKLSAgICAxLCAyNDUsIDksIDIsIDIxNywgNzcsIDcsIDEsIDExMywgMiwgOTEsIDcsIDYsIDEsIDEzOCwgMTg5LCA3LCA0LCAxLCAxMzgsIAotICAgIDE4OSwgNywgMSwgMjM1LCAxOTMsIDI0MiwgMTgwLCAyMTgsIDEzMCwgMiwgOTEsIDcsIDEsIDIxMSwgMTgxLCA3LCAxLCAKLSAgICAyNDgsIDQ3LCAyNTAsIDExLCA3LCAxLCAyMzMsIDc3LCAyNTAsIDExLCA3LCAxLCAyNTQsIDEzNywgMjUwLCAxMSwgNywgMSwgCi0gICAgMjIzLCA1NSwgMjUwLCAxMSwgNywgNiwgMSwgMjQ2LCA0MCwgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDI0OSwgNjEsIDIsIDQsIAotICAgIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjQ2LCA0MCwgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDIzMiwgCi0gICAgMTg4LCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgNCwgMSwgMjM1LCAxNDQsIDcsIDQsIDEsIDIzMiwgMTg4LCA3LCA2LCAxLCAKLSAgICAyMjgsIDE4NiwgNywgNiwgMSwgMjMwLCAyNiwgMiwgNCwgMSwgMjM1LCAxNDQsIDcsIDQsIDEsIDIyOCwgMTg2LCA3LCA2LCAKLSAgICAxLCAxMTUsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMjM0LCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgCi0gICAgMjUwLCAyMzQsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMTQ0LCAyLCAyNTAsIDIzNCwgNywgCi0gICAgNCwgMSwgMTQ0LCAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMTA0LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMTA0LCAyLCAyNTAsIAotICAgIDIzNCwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDIsIDIyLCAyMzEsIDIzMiwgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDIsIDIyLCAKLSAgICAyMzEsIDIzMiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDIsIDIyLCAxNDIsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAyLCAyMiwgCi0gICAgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMiwgMjIsIDI1MCwgMjM0LCA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMiwgMjIsIAotICAgIDI1MCwgMjM0LCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMiwgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMiwgCi0gICAgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyMTUsIDk0LCA3NSwgNywgNiwgMSwgMTE1LCAyLCAyNDgsIDIsIDIyLCAyMzEsIAotICAgIDIzMiwgNywgNCwgMSwgMTE1LCAyLCAyNDgsIDIsIDIyLCAyMzEsIDIzMiwgNywgNiwgMSwgMTE1LCAyLCA1OSwgNzcsIDIyLCAKLSAgICAyMzEsIDIzMiwgNywgNCwgMSwgMTE1LCAyLCA1OSwgNzcsIDIyLCAyMzEsIDIzMiwgNywgNiwgMSwgMjU0LCAyNDQsIDIsIAotICAgIDIzMSwgMjMyLCA3LCA0LCAxLCAyNTQsIDI0NCwgMiwgMjMxLCAyMzIsIDcsIDYsIDEsIDI0MywgMjAzLCAyLCA5MSwgNywgNCwgCi0gICAgMSwgMjQzLCAyMDMsIDIsIDkxLCA3LCA2LCAxLCAyNDMsIDIwMywgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDI0MywgMjAzLCAyLCAKLSAgICAyNTAsIDIzNCwgNywgNiwgMSwgMjM1LCAyNCwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDI1MCwgMjM0LCAKLSAgICA3LCA2LCAxLCAxNDQsIDIsIDIyNiwgMjI0LCA3LCA0LCAxLCAxNDQsIDIsIDIyNiwgMjI0LCA3LCA2LCAxLCAxNDQsIDIsIAotICAgIDIyNiwgMjI1LCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDE0NCwgMiwgMjI2LCAyMjUsIDIyLCAyMzEsIDIzMiwgNywgNiwgMSwgCi0gICAgMjQ1LCA5LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjQ1LCA5LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjM1LCAxNDUsIDIsIAotICAgIDI1MCwgMjM0LCA3LCA2LCAxLCAyNDYsIDM5LCA3LCA2LCAxLCAyNDksIDYxLCAyLCA0LCAxLCAyMTAsIDE1OSwgNywgNCwgMSwgCi0gICAgMjQ2LCAzOSwgNywgNiwgMSwgMjQzLCAyMDMsIDIsIDE0MiwgNywgNCwgMSwgMjQzLCAyMDMsIDIsIDE0MiwgNywgNiwgMSwgCi0gICAgMjQwLCAxOTksIDcsIDYsIDEsIDIxMSwgMTgxLCA3LCA2LCAxLCAyMzAsIDI2LCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjMwLCAKLSAgICAyNiwgMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDExNSwgMiwgMjIyLCAyMzQsIDc3LCAyMiwgMTQyLCA3LCA0LCAxLCAxMTUsIDIsIAotICAgIDIyMiwgMjM0LCA3NywgMjIsIDE0MiwgNywgNiwgMSwgMjU0LCAyNDQsIDIsIDE0MiwgNywgNCwgMSwgMjU0LCAyNDQsIDIsIAotICAgIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAyMTgsIDEwMywgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMTgsIDEwMywgMjIsIAotICAgIDE0MiwgNywgNiwgMSwgMTE1LCAyLCA1MiwgMjQyLCAxMzYsIDcsIDQsIDEsIDExNSwgMiwgNTIsIDI0MiwgMTM2LCA3LCA2LCAKLSAgICAxLCAxMTUsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNCwgMSwgMTE1LCAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDYsIAotICAgIDEsIDE2MCwgMiwgNTIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxNjAsIDIsIDUyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTYwLCAyLCAKLSAgICAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDQsIDEsIDE2MCwgMiwgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCA2LCAxLCAyNDAsIAotICAgIDE1NCwgMiwgNTIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgNTIsIDI0MiwgMTM2LCA3LCA2LCAxLCAyNDAsIAotICAgIDE1NCwgMiwgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCAKLSAgICA2LCAxLCAxNDQsIDIsIDUyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTQ0LCAyLCA1MiwgMjQyLCAxMzYsIDcsIDYsIDEsIDE0NCwgCi0gICAgMiwgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCA0LCAxLCAxNDQsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNiwgMSwgMjIzLCAKLSAgICAyMjQsIDIsIDUyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDUyLCAyNDIsIDEzNiwgNywgNiwgMSwgMjIzLCAKLSAgICAyMjQsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgCi0gICAgNiwgMSwgMTA0LCAyLCA1MiwgMjQyLCAxMzYsIDcsIDQsIDEsIDEwNCwgMiwgNTIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMDQsIAotICAgIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNCwgMSwgMTA0LCAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDYsIDEsIDIyMiwgCi0gICAgOTIsIDIsIDI0OSwgMjIwLCA1MSwgNywgNCwgMSwgMjIyLCA5MiwgMiwgMjQ5LCAyMjAsIDUxLCA3LCA2LCAxLCAyMTcsIAotICAgIDE1MywgMiwgMjQ5LCAyMjAsIDUxLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgMjQ5LCAyMjAsIDUxLCA3LCA2LCAxLCAyMTAsIAotICAgIDIzMSwgNywgNCwgMSwgMjEwLCAyMzEsIDcsIDYsIDEsIDI0MiwgNjEsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyNDIsIDYxLCAKLSAgICAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMjMwLCAyNiwgMiwgMTk5LCA0NCwgMjMzLCAzNiwgNywgNCwgMSwgMjQ5LCA2MSwgMiwgCi0gICAgMjQ5LCAxMDAsIDcsIDYsIDEsIDIyNiwgMTM0LCA3LCA0LCAxLCAyMjYsIDEzNCwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIAotICAgIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDEwMywgNywgNiwgMSwgMTE1LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDExNSwgMiwgCi0gICAgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMTgzLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAKLSAgICAxNDQsIDIsIDI0OCwgMiwgMjIsIDIzMSwgMjMyLCA3LCA0LCAxLCAxNDQsIDIsIDI0OCwgMiwgMjIsIDIzMSwgMjMyLCA3LCAKLSAgICA2LCAxLCAxNDQsIDIsIDIxNiwgODksIDIyLCAyMzEsIDIzMiwgNywgNCwgMSwgMTQ0LCAyLCAyMTYsIDg5LCAyMiwgMjMxLCAKLSAgICAyMzIsIDcsIDYsIDEsIDE0NCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDU5LCA0OCwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICA1OSwgNzcsIDIyLCAyMzEsIDIzMiwgNywgNCwgMSwgMTQ0LCAyLCA1OSwgNzcsIDIyLCAyMzEsIDIzMiwgNywgNiwgMSwgCi0gICAgMjExLCAxMTgsIDIsIDIzMSwgMjMyLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDIzMywgMTQ5LCAKLSAgICAyLCAyNDksIDEwMCwgNywgNCwgMSwgMjMwLCAyNiwgMiwgMjQ5LCAxMDAsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCAyNDksIAotICAgIDEwMCwgNywgNCwgMSwgMjQ3LCAxMTksIDIzNSwgMTQ0LCA3LCA0LCAxLCAyNDgsIDE0MywgMjQ3LCAyMjAsIDcsIDQsIDEsIAotICAgIDIyNCwgMzEsIDI0NywgMjIwLCA3LCA2LCAxLCAxMTUsIDIsIDkxLCA3LCA2LCAxLCAyNTEsIDY3LCAyLCA5MSwgNywgNCwgMSwgCi0gICAgMjUxLCA2NywgMiwgOTEsIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCAxMzAsIDcsIDYsIDEsIDIxNywgMTUzLCAyLCAyNDcsIAotICAgIDI1NSwgOTEsIDcsIDQsIDEsIDIyMiwgOTIsIDIsIDIxNywgMjUwLCAyMTcsIDc3LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgCi0gICAgMjE3LCAyNTAsIDIxNywgNzcsIDcsIDYsIDEsIDI0MiwgMTgwLCAyMTgsIDEyOSwgNywgNCwgMSwgMjQyLCAxODAsIDIxOCwgCi0gICAgMTI5LCA3LCA2LCAxLCA1NywgMiwgOTEsIDcsIDYsIDEsIDEwNCwgMTMwLCA3LCA2LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgCi0gICAgNywgNiwgMSwgMTYwLCAyLCA5MSwgNywgNCwgMSwgMTYwLCAyLCA5MSwgNywgNiwgMSwgMjM1LCAxNDUsIDIsIDkxLCA3LCA0LCAKLSAgICAxLCAyMzUsIDE0NSwgMiwgOTEsIDcsIDYsIDEsIDQsIDIyNCwgOTcsIDIsIDI0MSwgNTIsIDIxNywgNzcsIDcsIDQsIDEsIAotICAgIDIyNCwgOTcsIDIsIDI0MSwgNTIsIDIxNywgNzcsIDcsIDYsIDEsIDIyMywgMjI0LCAyLCA5MSwgNywgNCwgMSwgMjIzLCAKLSAgICAyMjQsIDIsIDkxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgOTEsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCA5MSwgNywgNCwgMSwgCi0gICAgMjE1LCA5NCwgNjEsIDcsIDQsIDEsIDI1NCwgMTQzLCA3LCA0LCAxLCAyMTUsIDk0LCAyNTQsIDE0MywgNywgNCwgMSwgNTcsIAotICAgIDIsIDEwMywgNywgNCwgMSwgMjA0LCA3NiwgNywgNCwgMSwgMjUxLCA2NywgMiwgMjQ5LCAxMDAsIDcsIDQsIDEsIDI0OSwgCi0gICAgNjEsIDIsIDIxNywgNzcsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIDEwMywgNywgNCwgMSwgMjIzLCA0OSwgNzUsIDcsIDQsIDEsIAotICAgIDIyMSwgMTk1LCA3LCA0LCAxLCAyMjEsIDE5NiwgMiwgMTAzLCA3LCA0LCAxLCAyMDQsIDc1LCA3LCA0LCAxLCAyMjMsIDQ5LCAKLSAgICAyMDQsIDc1LCA3LCA0LCAxLCAyMjMsIDQ5LCAyMDQsIDE2MCwgMiwgMTAzLCA3LCA0LCAxLCAyNTAsIDAsIDIyMywgNDksIAotICAgIDIwNCwgNzUsIDcsIDQsIDEsIDI0NywgMTE5LCAyMzUsIDE0NSwgMiwgOTEsIDcsIDQsIDEsIDI0MywgMjAzLCAyLCAxMDMsIAotICAgIDcsIDQsIDEsIDExOSwgMjQzLCAyMDIsIDcsIDEsIDQsIDYsIDI0MywgMjAyLCA3LCA0LCAxLCAyNDMsIDEwNywgNywgNCwgMSwgCi0gICAgMjIzLCAxNTEsIDI0MCwgMjQ4LCA3LCA0LCAxLCAyMTUsIDk0LCAyNDIsIDYwLCA3LCA0LCAxLCAyNDIsIDYxLCAyLCAxMDMsIAotICAgIDcsIDQsIDEsIDI0MSwgMjA4LCAyLCAxMDMsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCA5MSwgNywgNCwgMSwgMjM1LCAxODUsIAotICAgIDcsIDEsIDQsIDYsIDczLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNCwgMSwgMjMzLCAxNDksIAotICAgIDIsIDI1MiwgNDEsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDIzMywgMSwgNywgNCwgMSwgCi0gICAgMjE1LCA5NCwgMTkzLCA3LCA0LCAxLCAyMTUsIDk0LCAyMzIsIDUwLCAyLCAxOTksIDIzMywgMzYsIDcsIDQsIDEsIDIzMiwgCi0gICAgNTAsIDIsIDEwMywgNywgNCwgMSwgMjMwLCAyNiwgMiwgNDMsIDEwMywgNywgNCwgMSwgMjMwLCAyNiwgMiwgMjIzLCA1NSwgCi0gICAgMTAzLCA3LCAxLCA0LCA2LCAyMzAsIDI1LCA3LCA0LCAxLCAyNTIsIDEzNCwgNzYsIDcsIDEsIDQsIDYsIDIyNiwgMjM0LCA3LCAKLSAgICA0LCAxLCAyNTAsIDAsIDIyNiwgMjAxLCA3LCA0LCAxLCAyMjUsIDEzMywgNywgNCwgMSwgMjE1LCA5NCwgMTUzLCA3LCA0LCAKLSAgICAxLCAyMTUsIDk0LCAyMjMsIDIyNCwgMiwgMTk5LCAyMzMsIDM2LCA3LCA0LCAxLCAyMTUsIDk0LCAyMjMsIDIyNCwgMiwgCi0gICAgMTAzLCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgMTk5LCAyMzMsIDM2LCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgMjE3LCA3NywgCi0gICAgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDI0NCwgODcsIDcsIDQsIDEsIDIyMywgNDksIDIyMywgMjI0LCAyLCAyNDQsIDg3LCA3LCAKLSAgICAxLCA0LCA2LCAxNTMsIDcsIDEsIDQsIDYsIDIzNSwgMTkzLCAxNTMsIDcsIDQsIDEsIDIyMiwgOTIsIDIsIDEwMywgNywgNCwgCi0gICAgMSwgMjQ1LCA3NSwgNywgNCwgMSwgMjQ3LCAxMTksIDIzNSwgMTQ1LCAyLCAyMTgsIDEwMywgMjIsIDEwMywgNywgNCwgMSwgCi0gICAgMjE4LCAyMzEsIDIyMywgNDksIDI0NSwgNzUsIDcsIDQsIDEsIDI0NSwgNzYsIDIsIDI0OSwgMTAwLCA3LCA0LCAxLCAyMTUsIAotICAgIDk0LCAyMTcsIDE1MiwgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMTA0LCAxMzAsIDcsIAotICAgIDQsIDEsIDIxNCwgMTU3LCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMTAzLCA3LCA0LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgNywgCi0gICAgNCwgMSwgMjE1LCA5NCwgMjEyLCA5OCwgNywgNCwgMSwgMjE1LCA5NCwgMjExLCAxMTcsIDcsIDEsIDQsIDYsIDIxMSwgMTE3LCAKLSAgICA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjIzLCA1NSwgMTAzLCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjQ5LCAxMDAsIDcsIDQsIAotICAgIDEsIDI0NSwgOCwgNywgNCwgMSwgMjQ1LCA5LCAyLCAyNDksIDEwMCwgNywgMSwgMjQyLCAxODAsIDIxOCwgMTI5LCA3LCAxLCAKLSAgICAyMjUsIDEzOSwgMjEzLCAxMzUsIDI0MywgMjQ5LCA3LCAxLCAyMzUsIDE5MywgMjQyLCAxODAsIDIxOCwgMTI5LCA3LCAxLCAKLSAgICAyMTgsIDExMCwgMjUxLCA2NiwgNywgMSwgMjUxLCAyNDYsIDI1MCwgMTEsIDcsIDEsIDQsIDYsIDI1MywgMTU4LCA3LCA0LCAKLSAgICAxLCAyNTAsIDAsIDIwNCwgNzUsIDcsIDEsIDQsIDYsIDI0MywgMjAzLCAyLCAxMDMsIDcsIDEsIDQsIDYsIDI0MiwgNjAsIDcsIAotICAgIDQsIDEsIDIzNSwgMTQ1LCAyLCAyNDksIDEyNywgNywgNCwgMSwgMjE1LCA5NCwgMjM1LCAyMywgNywgMSwgNCwgNiwgMTU2LCAKLSAgICA3LCA0LCAxLCAyMjQsIDk3LCAyLCAxMDMsIDcsIDEsIDI0MiwgMTgwLCAyMTgsIDEzMCwgMiwgOTEsIDcsIDEsIDIyMywgNDksIAotICAgIDI0MiwgMTgwLCAyMTgsIDEzMCwgMiwgOTEsIDcsIDQsIDEsIDI0NiwgNDAsIDI0NywgMjIwLCA3LCA0LCAxLCAyNDgsIDI2LCAKLSAgICAyNDcsIDIyMCwgNywgNCwgMSwgMjQ2LCA0MCwgMjQ3LCAyMjEsIDIsIDI0OSwgMTAwLCA3LCA0LCAxLCAyMTUsIDE4NSwgCi0gICAgMjQ3LCAyMjAsIDcsIDQsIDEsIDIxNiwgMjM1LCAyNDcsIDIyMCwgNywgNCwgMSwgMjE3LCAyOSwgMjQ3LCAyMjEsIDIsIAotICAgIDI0OSwgMTAwLCA3LCA0LCAxLCAyNDQsIDEzNCwgMjQ3LCAyMjAsIDcsIDQsIDEsIDIzMiwgMTAwLCAyNDcsIDIyMCwgNywgNCwgCi0gICAgMSwgMjMyLCA1MSwgMjQ3LCAyMjAsIDcsIDEsIDI1MSwgMjQ2LCAyMjUsIDE4MSwgNywgMSwgMjUxLCAyNTQsIDIyNSwgMTgxLCAKLSAgICA3LCA0LCAxLCAyMTUsIDk0LCAyNDIsIDYxLCAyLCAyNDQsIDg3LCA3LCA0LCAxLCAyMTUsIDk0LCAyNDIsIDYxLCAyLCAyNDQsIAotICAgIDg4LCAyMiwgMjE3LCA3NywgNTgsIDEsIDQsIDI0MiwgNjAsIDU4LCAxLCA0LCAyNDIsIDYxLCAyLCAxMDMsIDU4LCAxLCA0LCAKLSAgICAyMzUsIDE0NCwgNTgsIDEsIDQsIDE1MywgNTgsIDEsIDQsIDIxNSwgOTQsIDE1MywgNTgsIDEsIDQsIDIxNSwgOTQsIDIyMywgCi0gICAgMjI0LCAyLCAxMDMsIDU4LCAxLCA0LCA2LCAyMzUsIDE5MywgMTUzLCA1OCwgMSwgNCwgMjEyLCA5OCwgNTgsIDEsIDQsIAotICAgIDIxMSwgMTE3LCA1OCwgMSwgMjI0LCAxOTAsIDU4LCAxLCA1MiwgMjI0LCAxOTAsIDU4LCAxLCAyMTUsIDk0LCAyNDksIDIxOSwgCi0gICAgNTgsIDEsIDI1NCwgNTcsIDU4LCAxLCAyMjMsIDQ5LCAyNDksIDIxOSwgNTgsIDEsIDQ0LCAxNjMsIDIyMiwgMjMzLCA1OCwgCi0gICAgMSwgNDMsIDE2MywgMjIyLCAyMzMsIDU4LCAxLCAyNDIsIDE4MCwgMjE4LCAxMjksIDU4LCAxLCAyMjMsIDQ5LCAyNDIsIAotICAgIDE4MCwgMjE4LCAxMjksIDU4LCAxLCA0MywgMjUzLCAyNDksIDU4LCAxLCA0NCwgMjUzLCAyNDksIDU4LCAxLCAxMjAsIDI1MywgCi0gICAgMjQ5LCA1OCwgMSwgMTI0LCAyNTMsIDI0OSwgNTgsIDEsIDI1MCwgMzEsIDI1NSwgMTQsIDI1MCwgMjM0LCA1OCwgMSwgNjcsIAotICAgIDIzMiwgMjEzLCA1OCwgMSwgMjMxLCAyMzIsIDU4LCAxLCAyNTUsIDMsIDI1NSwgMTQsIDU4LCAxLCAyNDIsIDEzNywgMjU1LCAKLSAgICAxNCwgNTgsIDEsIDEyMSwgNjcsIDIzMiwgMjEzLCA1OCwgMSwgMTIxLCAyMzEsIDIzMiwgNTgsIDEsIDEyMSwgMjQyLCAxMzcsIAotICAgIDI1NSwgMTQsIDU4LCAxLCAxMjEsIDI1NSwgMywgMjU1LCAxNCwgNTgsIDEsIDIxNSwgMjIyLCAyNDksIDIyNiwgNTgsIDEsIAotICAgIDE2MywgMjE1LCAyMjIsIDI0OSwgMjI2LCA1OCwgMSwgMjUwLCAxNzMsIDQ0LCAxNjMsIDIyMiwgMjMzLCA1OCwgMSwgMjUwLCAKLSAgICAxNzMsIDQzLCAxNjMsIDIyMiwgMjMzLCA1OCwgMSwgMTIwLCAyMTcsIDg3LCA1OCwgMSwgMTI0LCAyMTcsIDg3LCA1OCwgMSwgCi0gICAgOTYsIDUwLCA1OCwgMSwgMjMwLCAxODIsIDUwLCAyNTEsIDE0NiwgNTksIDQ4LCAyMjIsIDIzNCwgNDgsIDIyNiwgMjI0LCA0LCAKLSAgICAxODIsIDUyLCAyNTUsIDMsIDI1NSwgMTQsIDU4LCAxLCAyMjMsIDM2LCAxMDMsIDU4LCAxLCAyNDksIDEzMSwgMjU1LCAxNCwgCi0gICAgNTgsIDEsIDQsIDI0MywgMTA3LCA1OCwgMSwgNCwgMTU2LCA1OCwgMSwgNCwgMjIyLCA5MSwgNTgsIDEsIDQsIDIxMSwgMTc4LCAKLSAgICA1OCwgMSwgNCwgMjIzLCA0OSwgMjQyLCAxODAsIDIxOCwgMTI5LCA1OCwgMSwgMjQ1LCAyMCwgMTM4LCAxMzAsIDU4LCAxLCAKLSAgICAxMjUsIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMjUsIDEzOCwgMTMwLCA1OCwgMSwgMTIxLCAxMzgsIDEzMCwgNTgsIDEsIAotICAgIDI0NSwgMTksIDEzOCwgMTMwLCA1OCwgMSwgMjEwLCAyNTQsIDI0OCwgNDQsIDEzOCwgNzgsIDU4LCAxLCAyMTEsIDcwLCAKLSAgICAyNDgsIDQ0LCAxMzgsIDc4LCA1OCwgMSwgMjEzLCAxMzMsIDU4LCAxLCAyMTQsIDE4NiwgNTgsIDEsIDUyLCAyNTQsIDU3LCAKLSAgICA1OCwgMSwgMTIxLCAxMjQsIDI1MywgMjQ5LCA1OCwgMSwgMTIxLCAxMjAsIDI1MywgMjQ5LCA1OCwgMSwgMTIxLCA0MywgCi0gICAgMjUzLCAyNDksIDU4LCAxLCAxMjEsIDQ0LCAyNTMsIDI0OSwgNTgsIDEsIDEyMSwgMjIyLCAyMzMsIDU4LCAxLCAyMzAsIAotICAgIDIyNCwgMjQyLCAxMzcsIDI1NSwgMTQsIDU4LCAxLCAyMzAsIDIyNCwgNTIsIDI0MiwgMTM3LCAyNTUsIDE0LCA1OCwgMSwgCi0gICAgMjMwLCAyMjQsIDUyLCAyNTUsIDMsIDI1NSwgMTQsIDU4LCAxLCAxMjEsIDE4MiwgNTgsIDEsIDIyMywgMTU3LCAyNDksIAotICAgIDIyNiwgNTgsIDEsIDI1MiwgNTgsIDEyNSwgMjE2LCAzMCwgNTgsIDEsIDI0NSwgMTQzLCAxMjUsIDIxNiwgMzAsIDU4LCAxLCAKLSAgICAyNTIsIDU4LCAxMjEsIDIxNiwgMzAsIDU4LCAxLCAyNDUsIDE0MywgMTIxLCAyMTYsIDMwLCA1OCwgMSwgMjIwLCA1NCwgNTgsIAotICAgIDEsIDIwNCwgMjIwLCA1NCwgNTgsIDEsIDEyMSwgNDMsIDc0LCAzOCwgMjQyLCAxMzcsIDI1NSwgMTQsIDM4LCAyNTUsIDMsIAotICAgIDI1NSwgMTQsIDM4LCAyNTAsIDMxLCAyNTUsIDE0LCAzOCwgMTgyLCAzOCwgMjMxLCAyMzIsIDM4LCAyMjYsIDExOSwgMzgsIAotICAgIDI1MSwgMTQ2LCAzOCwgNTksIDQ4LCAzOCwgMjQ4LCAxLCAzOCwgMjQxLCA1MiwgNDgsIDM4LCAyMjIsIDIzNCwgNDgsIDM4LCAKLSAgICA1MiwgMjU1LCAzLCAyNTUsIDE0LCAzOCwgMjUwLCAyMzQsIDM4LCA2NywgMjMyLCAyMTQsIDQ4LCAzOCwgNTIsIDY3LCAyMzIsIAotICAgIDIxNCwgNDgsIDM4LCA1MiwgMjQyLCAxMzcsIDI1NSwgMTQsIDM4LCAyNTAsIDI1NSwgMzgsIDIzNSwgMTkzLCAyNTEsIDE0NiwgCi0gICAgMzgsIDIxNSwgOTQsIDI0OSwgMjIwLCA0OCwgMzgsIDI0OSwgMjIwLCA0OCwgMzgsIDIyMywgNDksIDI0OSwgMjIwLCA0OCwgCi0gICAgMzgsIDI0OSwgMjIwLCA3NywgMjIyLCAyNTEsIDM4LCAyNDIsIDEzNywgMjU1LCAxNSwgNTEsIDM4LCAyNTUsIDMsIDI1NSwgCi0gICAgMTUsIDUxLCAzOCwgNDMsIDIxNywgODgsIDUxLCAzOCwgNDQsIDIxNywgODgsIDUxLCAzOCwgNDMsIDI1NCwgMTEwLCA0OCwgCi0gICAgMzgsIDI0MCwgMjQ4LCAzOCwgNDMsIDE2MywgMjIyLCAyMzQsIDUxLCAzOCwgMTIwLCAyMTcsIDg4LCA1MSwgMzgsIDEyNCwgCi0gICAgMjE3LCA4OCwgNTEsIDM4LCA5NiwgNSwgNTEsIDM4LCAyMzAsIDE4MiwgNSwgNTEsIDM4LCAyMjYsIDY0LCAyNDEsIDUyLCAKLSAgICA1MSwgMzgsIDIyMywgNTUsIDI0MSwgNTIsIDUxLCAzOCwgNTksIDUxLCAzOCwgMjQ4LCAyLCA1MSwgMzgsIDIyMiwgMjM0LCAKLSAgICA1MSwgMzgsIDI0OSwgMjIwLCA1MSwgMzgsIDI1MCwgMTgzLCAzOCwgMjI2LCAyMjQsIDM4LCA2NywgMjMyLCAyMTQsIDUxLCAKLSAgICAzOCwgMjUxLCAxNDAsIDUxLCAzOCwgMjM1LCAxOTMsIDUyLCAyNTQsIDI0LCA1MSwgMzgsIDI1MCwgMjM1LCA1MSwgMzgsIAotICAgIDI1MCwgMzEsIDI1NSwgMTUsIDUxLCAzOCwgMjUxLCAxNDcsIDUxLCAzOCwgMjM1LCAxOTMsIDI1MSwgMTQ3LCA1MSwgMzgsIAotICAgIDIxNiwgODksIDUxLCAzOCwgMjMxLCAyMzMsIDUxLCAzOCwgMTIxLCAyMzIsIDIxMywgMzgsIDUyLCAxMjEsIDIzMiwgMjEzLCAKLSAgICAzOCwgMjE2LCA4OSwgMjI2LCAxMjAsIDM4LCAyMTksIDI1MSwgMjE4LCAxMDMsIDIyNiwgMTIwLCAzOCwgMTk5LCAyMTgsIAotICAgIDEwMywgMjI2LCAxMjAsIDM4LCAyMTksIDI1MSwgMjE5LCA0NywgMjI2LCAxMjAsIDM4LCAxOTksIDIxOSwgNDcsIDIyNiwgCi0gICAgMTIwLCAzOCwgNDQsIDE2MywgMjIyLCAyMzQsIDUxLCAzOCwgMjM1LCAxOTMsIDI1MSwgMTQwLCA1MSwgMzgsIDQyLCA1MSwgCi0gICAgMzgsIDIyMSwgMTgwLCA1MSwgMzgsIDIxMSwgMTc5LCA0OCwgMzgsIDY3LCAxODIsIDM4LCA1MiwgMjI2LCAxMTksIDM4LCAKLSAgICAyNDIsIDEzNywgMTM4LCA3OCwgMzgsIDI1NSwgMywgMTM4LCA3OCwgMzgsIDI2LCAyMjUsIDE3NSwgMzgsIDI2LCAyMzQsIDIsIAotICAgIDM4LCAyNiwgMjQ3LCAyNTIsIDIxNiwgMTgsIDM4LCAyNiwgMjEwLCAyMTksIDM4LCAyNTEsIDE0MCwgNDgsIDM4LCAyNDUsIAotICAgIDk4LCA1LCA1MSwgMzgsIDUyLCA2NywgMjMyLCAyMTQsIDUxLCAzOCwgNDMsIDI1NCwgMTEwLCA1MSwgMzgsIDIyOCwgNTIsIAotICAgIDIxNiwgODksIDQ4LCAzOCwgMjQxLCA1OCwgNDgsIDM4LCAyNTQsIDE0OCwgMTI4LCAyMTYsIDQyLCA0OCwgMzgsIDQzLCA0NCwgCi0gICAgODAsIDUxLCAzOCwgMjE0LCAxNTMsIDgwLCA1MSwgMzgsIDI0MiwgMTQyLCAyMzUsIDYzLCAzOCwgNDQsIDI1MywgMjUwLCAKLSAgICA0OCwgMzgsIDQzLCAxNjMsIDIyMiwgMjM0LCA0OCwgMzgsIDI0NCwgMTMxLCAzOCwgMjExLCAxNzksIDUxLCAzOCwgNDMsIAotICAgIDI1MywgMjUwLCA1MSwgMzgsIDQ0LCAyNTMsIDI1MCwgNTEsIDM4LCA0NCwgMjUzLCAyNTAsIDIyLCAxMjAsIDI1MywgMjUwLCAKLSAgICA1MSwgMzgsIDQ0LCAxNjMsIDIyMiwgMjM0LCA0OCwgMzgsIDU5LCA3NywgMjIyLCAyNTEsIDM4LCAyNTMsIDIxNywgNTEsIAotICAgIDM4LCA1MiwgMjIyLCAyMzQsIDUxLCAzOCwgMjEwLCAzNSwgNDgsIDM4LCA1MiwgMjUxLCAxNDcsIDUxLCAzOCwgNTIsIDI1MSwgCi0gICAgMTQ2LCAzOCwgNTIsIDIzMSwgMjMyLCAzOCwgNTIsIDIzMSwgMjMzLCA1MSwgMzgsIDUyLCAxODIsIDM4LCA1MiwgMjM1LCAKLSAgICAxOTMsIDI1MSwgMTQ2LCAzOCwgNTIsIDk3LCA4MCwgNTEsIDM4LCA3LCA0LCAxLCA2MSwgMzgsIDcsIDQsIDEsIDc1LCAzOCwgCi0gICAgNywgNCwgMSwgNzMsIDM4LCA3LCA0LCAxLCA3NiwgMzgsIDcsIDQsIDEsIDcwLCAzOCwgNywgNCwgMSwgMjUxLCA2NiwgMzgsIAotICAgIDcsIDQsIDEsIDI0OSwgNjAsIDM4LCA3LCA0LCAxLCAyNDIsIDYwLCAzOCwgNywgNCwgMSwgMTkzLCAzOCwgNywgNCwgMSwgCi0gICAgMTUzLCAzOCwgNywgNCwgMSwgMjE3LCAxNTIsIDM4LCA3LCA0LCAxLCAyMTQsIDEwNSwgMzgsIDcsIDQsIDEsIDIxMSwgMTc4LCAKLSAgICAyNiwgNiwgMSwgMjQxLCAxOTYsIDI2LCA0LCAxLCAyNDEsIDE5NiwgMjYsIDYsIDEsIDI1NCwgMjMsIDIyMSwgMjQ2LCAyNiwgCi0gICAgNCwgMSwgMjU0LCAyMywgMjIxLCAyNDYsIDI2LCAyMjcsIDE5OCwgNTAsIDI2LCAyMzIsIDEwOCwgMjI3LCAxOTgsIDUwLCAKLSAgICAyNiwgNiwgMSwgMjI2LCA1MSwgMjQ3LCAyMjcsIDI2LCA0LCAxLCAyMjYsIDUxLCAyNDcsIDIyNywgMjYsIDIxMCwgMjE5LCAKLSAgICAyNiwgNCwgMjIzLCA0OSwgMjMyLCA4MywgMjE5LCAxNzgsIDg3LCAyNiwgNCwgMjQ2LCAxMTgsIDIzMiwgODMsIDIxOSwgCi0gICAgMTc4LCA4NywgMjYsIDQsIDIyMywgNDksIDI0NiwgMTE4LCAyMzIsIDgzLCAyMTksIDE3OCwgODcsIDI2LCAyMjQsIDEzLCAKLSAgICA3OCwgMjYsIDIxNiwgMTgsIDI2LCAyNDcsIDI1MiwgMjE2LCAxOCwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMTYsIDE4LCAKLSAgICAyNiwgMjU0LCA5NywgMjE3LCAyLCAyNiwgNiwgMSwgMjQ1LCAxMDEsIDIsIDIxNiwgMTgsIDI2LCA2LCAxLCAyNDUsIDY0LCAKLSAgICAyLCAyMTYsIDE4LCAyNiwgNiwgMSwgMjM1LCAxODYsIDIsIDIxNiwgMTgsIDI2LCA2LCAxLCAyMjYsIDIwMCwgMiwgMjE2LCAKLSAgICAxOCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTYsIDE4LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIxNiwgMTgsIDI2LCAKLSAgICA0LCAxLCAyMzUsIDE4NiwgMiwgMjQ3LCAyNTIsIDIyLCAyMTYsIDE4LCAyNiwgNiwgMSwgMjU0LCAxNDMsIDI2LCA2LCAxLCAKLSAgICAyNTIsIDI2LCAyNiwgNiwgMSwgMjQzLCAxMDcsIDI2LCA2LCAxLCAyNDgsIDU0LCAyNiwgNiwgMSwgMjQ1LCAxMDAsIDI2LCAKLSAgICA2LCAxLCAyMTAsIDg1LCAyNiwgNiwgMSwgMjQ1LCA2MywgMjYsIDYsIDEsIDIxNiwgMTc5LCAyNiwgNiwgMSwgMjM1LCAxODUsIAotICAgIDI2LCA2LCAxLCAyMzQsIDIyMiwgMjYsIDYsIDEsIDIzMywgOTgsIDI2LCA2LCAxLCAyMzAsIDEwMiwgMjYsIDYsIDEsIDIyNywgCi0gICAgMjM3LCAyNiwgNiwgMSwgMjExLCAxNTcsIDI2LCA2LCAxLCAyMjYsIDE5OSwgMjYsIDYsIDEsIDIyNSwgMTA4LCAyNiwgNiwgCi0gICAgMSwgMjIzLCAzNywgMjYsIDYsIDEsIDIxOSwgMTc3LCAyNiwgNiwgMSwgMjE3LCA0MSwgMjYsIDYsIDEsIDIxNCwgMTU3LCAKLSAgICAyNiwgNiwgMSwgMjI1LCAxMzMsIDI2LCA2LCAxLCAyNTAsIDExMCwgMjYsIDYsIDEsIDIyNCwgMTYxLCAyNiwgNiwgMSwgCi0gICAgMjI2LCAyMDEsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjQ3LCAyNTEsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ3LCAKLSAgICAyNTEsIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjE2LCAxOCwgMjYsIDQsIDEsIDI0NSwgMTAxLCAyLCAyMTYsIDE4LCAyNiwgCi0gICAgNCwgMSwgMjQ1LCA2NCwgMiwgMjE2LCAxOCwgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyMTYsIDE4LCAyNiwgNCwgMSwgMjE0LCAKLSAgICAxNTgsIDIsIDI0NywgMjUyLCAyMiwgMjE2LCAxOCwgMjYsIDQsIDEsIDI1NCwgMTQzLCAyNiwgNCwgMSwgMjUyLCAyNiwgMjYsIAotICAgIDQsIDEsIDI0MywgMTA3LCAyNiwgNCwgMSwgMjQ4LCA1NCwgMjYsIDQsIDEsIDI0NSwgMTAwLCAyNiwgNCwgMSwgMjEwLCA4NSwgCi0gICAgMjYsIDQsIDEsIDI0NSwgNjMsIDI2LCA0LCAxLCAyMTYsIDE3OSwgMjYsIDQsIDEsIDIzNSwgMTg1LCAyNiwgNCwgMSwgMjM0LCAKLSAgICAyMjIsIDI2LCA0LCAxLCAyMzMsIDk4LCAyNiwgNCwgMSwgMjMwLCAxMDIsIDI2LCA0LCAxLCAyMjcsIDIzNywgMjYsIDQsIDEsIAotICAgIDIxMSwgMTU3LCAyNiwgNCwgMSwgMjI2LCAxOTksIDI2LCA0LCAxLCAyMjUsIDEwOCwgMjYsIDQsIDEsIDIyMywgMzcsIDI2LCAKLSAgICA0LCAxLCA0MCwgMjE5LCAxNzcsIDI2LCA0LCAxLCAyMTksIDE3NywgMjYsIDQsIDEsIDIxNywgNDEsIDI2LCA0LCAxLCAyMTQsIAotICAgIDE1NywgMjYsIDQsIDEsIDIyNSwgMTMzLCAyNiwgNCwgMSwgMjUwLCAxMTAsIDI2LCA0LCAxLCAyMjQsIDE2MSwgMjYsIDQsIAotICAgIDEsIDIyNiwgMjAxLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDI0NywgMjUxLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0NywgCi0gICAgMjUxLCAyNiwgNCwgMSwgMjI2LCAyMDAsIDIsIDIxNiwgMTgsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjE2LCAxOCwgMjYsIAotICAgIDQsIDEsIDIyNiwgMjAyLCAyLCAyMTYsIDE4LCAyNiwgNiwgMjM0LCAyNDcsIDg3LCAyNiwgMjUyLCAyNywgODcsIDI2LCAKLSAgICAyMTYsIDE4MCwgODcsIDI2LCAyMTQsIDE1OCwgMiwgMjQxLCA1MiwgODcsIDI2LCAyMTQsIDE1OCwgMiwgMjU1LCAzLCAyMiwgCi0gICAgMjQxLCA1MiwgODcsIDI2LCAyMTQsIDE1OCwgMiwgMjQ4LCAyLCAyMiwgMjQxLCA1MiwgODcsIDI2LCAyMjUsIDEzNCwgODcsIAotICAgIDI2LCAyMjUsIDEwOSwgODcsIDI2LCAyMzQsIDI0NywgODcsIDI2LCAxLCAyNTQsIDIzLCAyMzQsIDYsIDI2LCA0LCAxLCAKLSAgICAyNTQsIDIzLCAyMzQsIDYsIDI2LCAxLCAyMTgsIDEzNywgMjYsIDQsIDEsIDIxOCwgMTM3LCAyNiwgMSwgMjQ3LCAyMjcsIAotICAgIDI2LCA0LCAxLCAyNDcsIDIyNywgMjYsIDEsIDIzNCwgNiwgMjYsIDQsIDEsIDIzNCwgNiwgMjYsIDEsIDIyMSwgMjQ2LCAyNiwgCi0gICAgNCwgMSwgMjIxLCAyNDYsIDgxLCA2LCAxLCAyMjAsIDU1LCA4MSwgNCwgMSwgMjIwLCA1NSwgODEsIDYsIDEsIDI0NCwgMTQwLCAKLSAgICA4MSwgNCwgMSwgMjQ0LCAxNDAsIDgxLCA2LCAxLCAyMzQsIDExNywgODEsIDQsIDEsIDIzNCwgMTE3LCA4MSwgNiwgMSwgCi0gICAgMjQxLCA0NSwgODEsIDQsIDEsIDI0MSwgNDUsIDgxLCA2LCAxLCAyNDMsIDEwMiwgODEsIDQsIDEsIDI0MywgMTAyLCA4MSwgCi0gICAgNiwgMSwgMjIwLCAyMiwgODEsIDQsIDEsIDIyMCwgMjIsIDgxLCA2LCAxLCAyNDgsIDY5LCA4MSwgNCwgMSwgMjQ4LCA2OSwgCi0gICAgMjYsIDIzNCwgMjIzLCA4NywgMjYsIDIyMywgMzgsIDg3LCAyNiwgMjMyLCA4MywgMjE5LCAxNzgsIDg3LCAyNiwgMSwgMjEwLCAKLSAgICAyMjQsIDI2LCA2LCAyMTYsIDE4MCwgODcsIDI2LCAyMzIsIDgzLCAyNDUsIDEwMSwgODcsIDI2LCAyMjMsIDQ5LCAyMzIsIAotICAgIDgzLCAyNDUsIDEwMSwgODcsIDI2LCA2LCAxLCAyMjAsIDcsIDI2LCA0LCAxLCAyMjAsIDcsIDI2LCA2LCAyMzIsIDgzLCAKLSAgICAyMTksIDE3OCwgODcsIDI2LCA2LCAxLCAyMjEsIDI0MywgMjYsIDQsIDEsIDIyMSwgMjQzLCAyNiwgMjIzLCAzOCwgMiwgCi0gICAgMjE4LCAxMDMsIDg3LCAyNiwgNiwgMjIzLCA0OSwgMjMyLCA4MywgMjE5LCAxNzgsIDg3LCAyNiwgNiwgMjQ2LCAxMTgsIAotICAgIDIzMiwgODMsIDIxOSwgMTc4LCA4NywgMjYsIDYsIDIyMywgNDksIDI0NiwgMTE4LCAyMzIsIDgzLCAyMTksIDE3OCwgODcsIAotICAgIDMzLCA2LCAxLCAyMzYsIDYxLCAyLCAyNDIsIDEzNiwgMzMsIDYsIDEsIDIzNSwgMTg5LCAzMywgNiwgMSwgMjQ3LCAxNjIsIAotICAgIDMzLCA2LCAxLCAyNDIsIDE4NywgMzMsIDYsIDEsIDIxNCwgMjAyLCAyMzYsIDYwLCAzMywgNiwgMSwgMjQ2LCAzNiwgMzMsIAotICAgIDYsIDEsIDI1MSwgNzYsIDczLCAzMywgNiwgMSwgMjExLCA4LCAzMywgNiwgMSwgMjM1LCAxMjYsIDMzLCA2LCAxLCAyMzIsIAotICAgIDE4NywgMzMsIDYsIDEsIDIyOCwgMTc4LCAzMywgNiwgMSwgMjE1LCAxNzQsIDMzLCA2LCAxLCAyMzQsIDQ4LCAzMywgNiwgMSwgCi0gICAgMjQwLCAxNTQsIDIsIDI0MiwgMTM2LCAzMywgNiwgMSwgMjE5LCAyNTEsIDcwLCAzMywgNiwgMSwgMjQ2LCAzMiwgMzMsIDYsIAotICAgIDEsIDYxLCAzMywgNiwgMSwgMjUyLCA3NSwgMzMsIDYsIDEsIDIxMywgMjU1LCAzMywgNiwgMSwgMjQyLCAyMzYsIDMzLCA2LCAKLSAgICAxLCAyNDgsIDkwLCAzMywgNiwgMSwgMjM2LCA2MCwgMzMsIDYsIDEsIDIxMCwgNzQsIDMzLCA2LCAxLCAyMTAsIDk0LCAzMywgCi0gICAgNiwgMSwgNzMsIDMzLCA2LCAxLCAyMTksIDI1MSwgNzMsIDMzLCA2LCAxLCAxNzYsIDMzLCA2LCAxLCAyNDUsIDE3NCwgMzMsIAotICAgIDYsIDEsIDI0NSwgMTU5LCAzMywgNiwgMSwgMjQ1LCAxNTAsIDMzLCA2LCAxLCA3NiwgMzMsIDYsIDEsIDIyNSwgMjIxLCAzMywgCi0gICAgNiwgMSwgMjQ1LCA5MiwgMzMsIDYsIDEsIDI0NSwgODIsIDMzLCA2LCAxLCAyMTcsIDIyLCAzMywgNiwgMSwgNzAsIDMzLCA2LCAKLSAgICAxLCAyNDUsIDIwMiwgMzMsIDYsIDEsIDE2MiwgMzMsIDYsIDEsIDIxNSwgMTc4LCAzMywgNiwgMSwgMjUwLCAxMzEsIDMzLCAKLSAgICA2LCAxLCAyMjAsIDEwMiwgMzMsIDYsIDEsIDIyMCwgNjUsIDMzLCA2LCAxLCAyNDIsIDMsIDUwLCAzMywgNiwgMSwgMjExLCAKLSAgICAyNywgMzMsIDYsIDEsIDIxOSwgNTIsIDUwLCAzMywgNiwgMSwgNzUsIDMzLCA2LCAxLCAyMTAsIDIxMiwgMzMsIDYsIDEsIAotICAgIDE5MSwgMzMsIDQsIDEsIDYxLCAzMywgNCwgMSwgMjUyLCA3NSwgMzMsIDQsIDEsIDIxMywgMjU1LCAzMywgNCwgMSwgMjQyLCAKLSAgICAyMzYsIDMzLCA0LCAxLCAyNDgsIDkwLCAzMywgNCwgMSwgMjM2LCA2MCwgMzMsIDQsIDEsIDIxMCwgNzQsIDMzLCA0LCAxLCAKLSAgICAyMTAsIDk0LCAzMywgNCwgMSwgNzMsIDMzLCA0LCAxLCAyMTksIDI1MSwgNzMsIDMzLCA0LCAxLCAxNzYsIDMzLCA0LCAxLCAKLSAgICAyNDUsIDE3NCwgMzMsIDQsIDEsIDI0NSwgMTU5LCAzMywgNCwgMSwgMjQ1LCAxNTAsIDMzLCA0LCAxLCA3NiwgMzMsIDQsIDEsIAotICAgIDIyNSwgMjIxLCAzMywgNCwgMSwgMjQ1LCA5MiwgMzMsIDQsIDEsIDI0NSwgODIsIDMzLCA0LCAxLCAyMTcsIDIyLCAzMywgNCwgCi0gICAgMSwgNzAsIDMzLCA0LCAxLCAyNDUsIDIwMiwgMzMsIDQsIDEsIDE2MiwgMzMsIDQsIDEsIDIxNSwgMTc4LCAzMywgNCwgMSwgCi0gICAgMjUwLCAxMzEsIDMzLCA0LCAxLCAyMjAsIDEwMiwgMzMsIDQsIDEsIDIyMCwgNjUsIDMzLCA0LCAxLCAyNDIsIDMsIDUwLCAKLSAgICAzMywgNCwgMSwgMjExLCAyNywgMzMsIDQsIDEsIDIxOSwgNTIsIDUwLCAzMywgNCwgMSwgNzUsIDMzLCA0LCAxLCAyMTAsIAotICAgIDIxMiwgMzMsIDQsIDEsIDE5MSwgMzMsIDQsIDEsIDIzNiwgNjEsIDIsIDI0MiwgMTM2LCAzMywgNCwgMSwgMjM1LCAxODksIAotICAgIDMzLCA0LCAxLCAyNDcsIDE2MiwgMzMsIDQsIDEsIDI0MiwgMTg3LCAzMywgNCwgMSwgMjE0LCAyMDIsIDIzNiwgNjAsIDMzLCAKLSAgICA0LCAxLCAyNDYsIDM2LCAzMywgNCwgMSwgMjUxLCA3NiwgNzMsIDMzLCA0LCAxLCAyMTEsIDgsIDMzLCA0LCAxLCAyMzUsIAotICAgIDEyNiwgMzMsIDQsIDEsIDIzMiwgMTg3LCAzMywgNCwgMSwgMjI4LCAxNzgsIDMzLCA0LCAxLCAyMTUsIDE3NCwgMzMsIDQsIAotICAgIDEsIDIzNCwgNDgsIDMzLCA0LCAxLCAyNDAsIDE1NCwgMiwgMjQyLCAxMzYsIDMzLCA0LCAxLCAyMTksIDI1MSwgNzAsIDMzLCAKLSAgICA0LCAxLCAyNDYsIDMyLCAzMywgNiwgMSwgMjI2LCAyMDEsIDMzLCA0LCAxLCAyMjYsIDIwMSwgMzMsIDYsIDEsIDIxMSwgNTksIAotICAgIDMzLCA0LCAxLCAyMTEsIDU5LCAzMywgNiwgMSwgMjM1LCAxODMsIDc1LCAzMywgNCwgMSwgMjM1LCAxODMsIDc1LCAzMywgNiwgCi0gICAgMSwgMjMyLCAxOTIsIDIxMCwgMTgzLCAzMywgNCwgMSwgMjMyLCAxOTIsIDIxMCwgMTgzLCAzMywgNiwgMSwgMjM1LCAxODMsIAotICAgIDIzMiwgMTkyLCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTgzLCAyMzIsIDE5MiwgMjEwLCAxODMsIDMzLCA2LCAxLCAKLSAgICAyNTEsIDI0OSwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTEsIDI0OSwgMjEwLCAxODMsIDMzLCA2LCAxLCAyMzUsIDE4MywgCi0gICAgMjUxLCAyNDksIDIxMCwgMTgzLCAzMywgNCwgMSwgMjM1LCAxODMsIDI1MSwgMjQ5LCAyMTAsIDE4MywgMzMsIDYsIDEsIAotICAgIDIzMywgMjMzLCAzMywgNCwgMSwgMjMzLCAyMzMsIDMzLCA2LCAxLCAyMjQsIDE2MSwgMzMsIDQsIDEsIDIyNCwgMTYxLCAzMywgCi0gICAgNiwgMSwgMjQ0LCA4MiwgMzMsIDQsIDEsIDI0NCwgODIsIDMzLCA2LCAxLCAyMzUsIDE0NiwgMzMsIDQsIDEsIDIzNSwgMTQ2LCAKLSAgICAzMywgNiwgMSwgMjM1LCAxNDcsIDIsIDUyLCAyNDIsIDEzNywgMjU1LCAxNCwgMzMsIDQsIDEsIDIzNSwgMTQ3LCAyLCA1MiwgCi0gICAgMjQyLCAxMzcsIDI1NSwgMTQsIDMzLCA2LCAxLCAyMTQsIDIwNSwgMzMsIDQsIDEsIDIxNCwgMjA1LCAzMywgNiwgMSwgMjIyLCAKLSAgICAxODUsIDIyNiwgMjAxLCAzMywgNCwgMSwgMjIyLCAxODUsIDIyNiwgMjAxLCAzMywgNiwgMSwgMjI2LCAyMDIsIDIsIDIxNiwgCi0gICAgNjUsIDMzLCA0LCAxLCAyMjYsIDIwMiwgMiwgMjE2LCA2NSwgMzMsIDYsIDEsIDIyNiwgMTQwLCAzMywgNCwgMSwgMjI2LCAKLSAgICAxNDAsIDMzLCA2LCAxLCAyMzQsIDYsIDMzLCA0LCAxLCAyMzQsIDYsIDMzLCAyMTYsIDE0NiwgNTAsIDM4LCAzMywgMjE2LCAKLSAgICA2NSwgMzgsIDMzLCAyMjYsIDY1LCAzOCwgMzMsIDI0OCwgMTU0LCAyMjUsIDE4LCAzOCwgMzMsIDIyNCwgMTU1LCAyMjUsIAotICAgIDE4LCAzOCwgMzMsIDIyNSwgMywgMzgsIDMzLCAyNDAsIDIxMSwgMjE2LCAxNDYsIDUwLCAzOCwgMzMsIDIzMCwgMTkxLCA1MCwgCi0gICAgMzMsIDYsIDEsIDIxOSwgMjUxLCAyNDAsIDE1NCwgMiwgMjE3LCA3NywgMzMsIDQsIDEsIDIxOSwgMjUxLCAyNDAsIDE1NCwgCi0gICAgMiwgMjE3LCA3NywgMzMsIDYsIDEsIDIyMCwgMTQ2LCA1MCwgMzMsIDQsIDEsIDIyMCwgMTQ2LCA1MCwgMzMsIDYsIDEsIAotICAgIDI0NSwgOTMsIDIsIDIxNiwgMTE0LCAzMywgNCwgMSwgMjQ1LCA5MywgMiwgMjE2LCAxMTQsIDMzLCA2LCAxLCAyNDIsIDIzNywgCi0gICAgMiwgMjE0LCAxNTYsIDMzLCA0LCAxLCAyNDIsIDIzNywgMiwgMjE0LCAxNTYsIDMzLCA2LCAxLCAyNDIsIDIzNywgMiwgOTEsIAotICAgIDMzLCA0LCAxLCAyNDIsIDIzNywgMiwgOTEsIDMzLCA2LCAxLCAyNDIsIDIzNywgMiwgMjMwLCAyMjQsIDEwMywgMzMsIDQsIAotICAgIDEsIDI0MiwgMjM3LCAyLCAyMzAsIDIyNCwgMTAzLCAzMywgNiwgMSwgMjEwLCA3NSwgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIAotICAgIDIxMCwgNzUsIDIsIDI0OCwgMzksIDMzLCA2LCAxLCAyMTAsIDk1LCAyLCAyNDgsIDM5LCAzMywgNCwgMSwgMjEwLCA5NSwgMiwgCi0gICAgMjQ4LCAzOSwgMzMsIDYsIDEsIDIzNSwgMTMsIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyMzUsIDEzLCAyLCAyNDgsIDM5LCAKLSAgICAzMywgNiwgMSwgMjM1LCAxMywgMiwgNjcsIDkxLCAzMywgNCwgMSwgMjM1LCAxMywgMiwgNjcsIDkxLCAzMywgNiwgMSwgCi0gICAgMjM1LCAxMywgMiwgOTEsIDMzLCA0LCAxLCAyMzUsIDEzLCAyLCA5MSwgMzMsIDYsIDEsIDI1MiwgMTI0LCAxNzYsIDMzLCA0LCAKLSAgICAxLCAyNTIsIDEyNCwgMTc2LCAzMywgNiwgMSwgMjQ1LCAxNTEsIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyNDUsIDE1MSwgMiwgCi0gICAgMjQ4LCAzOSwgMzMsIDYsIDI3LCAyNDUsIDE1MSwgMjQyLCAyMzYsIDMzLCA0LCAyNywgMjQ1LCAxNTEsIDI0MiwgMjM2LCAKLSAgICAzMywgNiwgMSwgMjI1LCAyMjIsIDIsIDIzMCwgMjI0LCAxMDMsIDMzLCA0LCAxLCAyMjUsIDIyMiwgMiwgMjMwLCAyMjQsIAotICAgIDEwMywgMzMsIDYsIDEsIDI1NSwgMjAsIDE2MiwgMzMsIDQsIDEsIDI1NSwgMjAsIDE2MiwgMzMsIDYsIDEsIDI0NSwgODMsIAotICAgIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyNDUsIDgzLCAyLCAyNDgsIDM5LCAzMywgNiwgMSwgMjE3LCAyMywgMiwgMjQ4LCAzOSwgCi0gICAgMzMsIDQsIDEsIDIxNywgMjMsIDIsIDI0OCwgMzksIDMzLCA2LCAxLCAyMTgsIDEyMSwgNzAsIDMzLCA0LCAxLCAyMTgsIAotICAgIDEyMSwgNzAsIDMzLCA2LCAxLCAyMTgsIDEyMSwgMTA0LCAyLCA5MSwgMzMsIDQsIDEsIDIxOCwgMTIxLCAxMDQsIDIsIDkxLCAKLSAgICAzMywgNiwgMSwgMjQyLCA0OSwgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIDI0MiwgNDksIDIsIDI0OCwgMzksIDMzLCA2LCAyNywgCi0gICAgMjE3LCAyMywgMjE1LCAxNzgsIDMzLCA0LCAyNywgMjE3LCAyMywgMjE1LCAxNzgsIDMzLCA2LCAxLCAyNTAsIDEzMiwgMiwgCi0gICAgMjQ4LCAzOSwgMzMsIDQsIDEsIDI1MCwgMTMyLCAyLCAyNDgsIDM5LCAzMywgNiwgMSwgMjUwLCAxMzIsIDIsIDY3LCA5MSwgCi0gICAgMzMsIDQsIDEsIDI1MCwgMTMyLCAyLCA2NywgOTEsIDMzLCA2LCAxLCAyMjAsIDMzLCAzMywgNCwgMSwgMjIwLCAzMywgMzMsIAotICAgIDYsIDEsIDI1NSwgMjAsIDI1MCwgMTMxLCAzMywgNCwgMSwgMjU1LCAyMCwgMjUwLCAxMzEsIDMzLCA2LCAxLCAyNTUsIDIwLCAKLSAgICAyNTAsIDEzMiwgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIDI1NSwgMjAsIDI1MCwgMTMyLCAyLCAyNDgsIDM5LCAzMywgMSwgCi0gICAgMjI2LCA1OCwgMzMsIDYsIDEsIDIxMCwgNzUsIDIsIDI1MSwgMTQ2LCAzMywgNCwgMSwgMjEwLCA3NSwgMiwgMjUxLCAxNDYsIAotICAgIDMzLCA2LCAxLCAyMzUsIDEzLCAyLCAxMDMsIDMzLCA0LCAxLCAyMzUsIDEzLCAyLCAxMDMsIDMzLCA2LCAxLCAyNDUsIDE3NSwgCi0gICAgMiwgMjE3LCA3NywgMzMsIDQsIDEsIDI0NSwgMTc1LCAyLCAyMTcsIDc3LCAzMywgNiwgMSwgMjQ1LCAxNTEsIDIsIDEwMywgCi0gICAgMzMsIDQsIDEsIDI0NSwgMTUxLCAyLCAxMDMsIDMzLCA2LCAxLCAyNDUsIDE1MSwgMiwgMjE3LCA3NywgMzMsIDQsIDEsIAotICAgIDI0NSwgMTUxLCAyLCAyMTcsIDc3LCAzMywgNiwgMSwgMjM0LCAxMjcsIDI1MCwgMTMxLCAzMywgNCwgMSwgMjM0LCAxMjcsIAotICAgIDI1MCwgMTMxLCAzMywgNiwgMSwgMjQ1LCAxNjAsIDIsIDIxNywgNzcsIDMzLCA0LCAxLCAyNDUsIDE2MCwgMiwgMjE3LCA3NywgCi0gICAgMzMsIDQsIDEsIDIyNiwgNTgsIDMzLCA2LCAxLCAxMTUsIDIsIDI1MSwgMTQ2LCAzMywgNCwgMSwgMTE1LCAyLCAyNTEsIAotICAgIDE0NiwgMzMsIDYsIDEsIDExNSwgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMTE1LCAyLCAyNDgsIDEsIDMzLCA2LCAyNywgMTE1LCAKLSAgICAyMzYsIDYwLCAzMywgNCwgMjcsIDExNSwgMjM2LCA2MCwgMzMsIDYsIDEsIDIzNiwgNjEsIDIsIDI1MSwgMTQ2LCAzMywgNCwgCi0gICAgMSwgMjM2LCA2MSwgMiwgMjUxLCAxNDYsIDMzLCA2LCAxLCAyMjEsIDE5NSwgMzMsIDQsIDEsIDIyMSwgMTk1LCAzMywgNiwgCi0gICAgMSwgMjIxLCAxOTYsIDIsIDI0OCwgMSwgMzMsIDQsIDEsIDIyMSwgMTk2LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAyMTAsIDc1LCAKLSAgICAyLCAyNDgsIDEsIDMzLCA0LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAyMTAsIDk1LCAyLCAyNDgsIDEsIAotICAgIDMzLCA0LCAxLCAyMTAsIDk1LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAyNTUsIDIwLCAyNDYsIDM2LCAzMywgNCwgMSwgMjU1LCAKLSAgICAyMCwgMjQ2LCAzNiwgMzMsIDYsIDEsIDI0MCwgMTU0LCAyLCAyMzEsIDIzMiwgMzMsIDQsIDEsIDI0MCwgMTU0LCAyLCAyMzEsIAotICAgIDIzMiwgMzMsIDYsIDEsIDI0MCwgMTU0LCAyLCAyNDgsIDEsIDMzLCA0LCAxLCAyNDAsIDE1NCwgMiwgMjQ4LCAxLCAzMywgNiwgCi0gICAgMSwgMTQ0LCAyLCAyNDgsIDEsIDMzLCA0LCAxLCAxNDQsIDIsIDI0OCwgMSwgMzMsIDYsIDEsIDI1MiwgMTM0LCA3NiwgMzMsIAotICAgIDQsIDEsIDI1MiwgMTM0LCA3NiwgMzMsIDYsIDEsIDI1MiwgMTM0LCAxNDQsIDIsIDI0OCwgMSwgMzMsIDQsIDEsIDI1MiwgCi0gICAgMTM0LCAxNDQsIDIsIDI0OCwgMSwgMzMsIDYsIDEsIDE2MCwgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMTYwLCAyLCAyNDgsIDEsIAotICAgIDMzLCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMyLCAzMywgNCwgMSwgMTA0LCAyLCAyMzEsIDIzMiwgMzMsIDYsIDEsIDEwNCwgMiwgCi0gICAgMjQ4LCAxLCAzMywgNCwgMSwgMTA0LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAxMDQsIDIsIDUyLCAxNDIsIDMzLCA0LCAxLCAKLSAgICAxMDQsIDIsIDUyLCAxNDIsIDMzLCA2LCAxLCAyNTAsIDEzMiwgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMjUwLCAxMzIsIDIsIAotICAgIDI0OCwgMSwgMzMsIDYsIDEsIDI0MiwgMjM3LCAyLCAyNDgsIDM5LCAzMywgNCwgMSwgMjQyLCAyMzcsIDIsIDI0OCwgMzksIAotICAgIDMzLCA2LCAxLCAyMTEsIDI4LCAyLCAyNDgsIDEsIDMzLCA0LCAxLCAyMTEsIDI4LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAKLSAgICAyNDIsIDIzNywgMiwgMjE4LCAxMDMsIDIyLCAxMDMsIDMzLCA0LCAxLCAyNDIsIDIzNywgMiwgMjE4LCAxMDMsIDIyLCAxMDMsIAotICAgIDMzLCA2LCAxLCAyNDIsIDQ5LCAyLCAxMDMsIDMzLCA0LCAxLCAyNDIsIDQ5LCAyLCAxMDMsIDMzLCA2LCAxLCAyNDIsIDQ5LCAKLSAgICAyLCA5MSwgMzMsIDQsIDEsIDI0MiwgNDksIDIsIDkxLCAzMywgNiwgMSwgMjM0LCAxNCwgMjQ4LCA5MCwgMzMsIDQsIDEsIAotICAgIDIzNCwgMTQsIDI0OCwgOTAsIDMzLCA2LCAxLCAyMzQsIDE0LCAyNDcsIDE2MiwgMzMsIDQsIDEsIDIzNCwgMTQsIDI0NywgCi0gICAgMTYyLCAzMywgNiwgMSwgMjM0LCAxNCwgMjEwLCAyNywgMzMsIDQsIDEsIDIzNCwgMTQsIDIxMCwgMjcsIDMzLCA2LCAxLCAKLSAgICAyMzQsIDE0LCAyNDYsIDMwLCAzMywgNCwgMSwgMjM0LCAxNCwgMjQ2LCAzMCwgMzMsIDYsIDEsIDIzNCwgMTQsIDIzMiwgCi0gICAgMTg3LCAzMywgNCwgMSwgMjM0LCAxNCwgMjMyLCAxODcsIDMzLCA2LCAxLCAyMzQsIDE0LCAyMjgsIDE3OCwgMzMsIDQsIDEsIAotICAgIDIzNCwgMTQsIDIyOCwgMTc4LCAzMywgNiwgMSwgMjM0LCAxNCwgMjE5LCAxMDksIDMzLCA0LCAxLCAyMzQsIDE0LCAyMTksIAotICAgIDEwOSwgMzMsIDYsIDEsIDIzNCwgMTQsIDIxNiwgNjAsIDMzLCA0LCAxLCAyMzQsIDE0LCAyMTYsIDYwLCAzMywgNiwgMSwgCi0gICAgMjIzLCA0OSwgMjEwLCA5NCwgMzMsIDQsIDEsIDIyMywgNDksIDIxMCwgOTQsIDMzLCA2LCAxLCAyNDUsIDE3NSwgMiwgMTAzLCAKLSAgICAzMywgNCwgMSwgMjQ1LCAxNzUsIDIsIDEwMywgMzMsIDYsIDEsIDIzMiwgMjU0LCAzMywgNCwgMSwgMjMyLCAyNTQsIDMzLCAKLSAgICA2LCAxLCAyMjMsIDM5LCAzMywgNCwgMSwgMjIzLCAzOSwgMzMsIDYsIDEsIDIxMSwgOTIsIDMzLCA0LCAxLCAyMTEsIDkyLCAKLSAgICAzMywgNiwgMSwgMjI0LCA4OCwgMzMsIDQsIDEsIDIyNCwgODgsIDMzLCA2LCAxLCAyMTIsIDIyLCAzMywgNCwgMSwgMjEyLCAKLSAgICAyMiwgMzMsIDYsIDEsIDI1NCwgMTY2LCAxNzYsIDMzLCA0LCAxLCAyNTQsIDE2NiwgMTc2LCAzMywgNiwgMSwgMjQ1LCAxNzUsIAotICAgIDIsIDIzMCwgMjI0LCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE3NSwgMiwgMjMwLCAyMjQsIDEwMywgMzMsIDYsIDEsIDI0NSwgCi0gICAgMTUxLCAyLCAyMzAsIDIyNCwgMTAzLCAzMywgNCwgMSwgMjQ1LCAxNTEsIDIsIDIzMCwgMjI0LCAxMDMsIDMzLCA2LCAxLCAKLSAgICAyMjUsIDIyMiwgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIDIyNSwgMjIyLCAyLCAyNDgsIDM5LCAzMywgNiwgMSwgMjIwLCAzNCwgCi0gICAgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIDIyMCwgMzQsIDIsIDI0OCwgMzksIDE1MCwgNiwgMSwgMjUzLCAxNjQsIDE1MCwgNiwgCi0gICAgMSwgMjUyLCAzOSwgMTUwLCA2LCAxLCAyNDIsIDIwMywgMTUwLCA2LCAxLCAyNDgsIDIyMSwgMTUwLCA2LCAxLCAyNDUsIAotICAgIDIxMywgMTUwLCA2LCAxLCAyMTAsIDExNiwgMTUwLCA2LCAxLCAyNDUsIDE5NywgMTUwLCA2LCAxLCAyNDUsIDY1LCAxNTAsIAotICAgIDYsIDEsIDExMSwgMTUwLCA2LCAxLCAyMTAsIDc0LCAxNTAsIDYsIDEsIDIzNSwgMjI3LCAxNTAsIDYsIDEsIDIzMiwgMTkwLCAKLSAgICAxNTAsIDYsIDEsIDIxMSwgMTYwLCAxNTAsIDYsIDEsIDI1MSwgMzMsIDE1MCwgNiwgMSwgMjM0LCAxNjUsIDE1MCwgNiwgMSwgCi0gICAgMjQxLCA2OCwgMTUwLCA2LCAxLCAyMzUsIDE0MSwgMTUwLCA2LCAxLCAyNDIsIDI0NiwgMTUwLCA2LCAxLCAyNTAsIDEyNiwgCi0gICAgMTUwLCA2LCAxLCAyMzEsIDU4LCAxNTAsIDYsIDEsIDIxMSwgOCwgMTUwLCA2LCAxLCAyMjgsIDM5LCAxNTAsIDYsIDEsIAotICAgIDIyMCwgMTAyLCAxNTAsIDYsIDEsIDIxMywgMTM4LCAxNTAsIDYsIDEsIDI1MCwgMTU3LCAxNTAsIDYsIDEsIDIyNSwgMjA1LCAKLSAgICAxNTAsIDYsIDEsIDIzNSwgMTEwLCAxNTAsIDYsIDEsIDIwNSwgMTUwLCA2LCAxLCAyMjEsIDE2MSwgMTUwLCA2LCAxLCAyMTMsIAotICAgIDE3OSwgMTUwLCA2LCAxLCAyMTYsIDYyLCAxNTAsIDYsIDEsIDIyMywgOTUsIDE1MCwgNiwgMSwgMjQ5LCAyMzgsIDE1MCwgNiwgCi0gICAgMSwgMjEwLCAyNDksIDE1MCwgNiwgMSwgMjI1LCA0NiwgMTUwLCA2LCAxLCAyMzQsIDE3NiwgMTUwLCA2LCAxLCAyMjYsIAotICAgIDIyMiwgMTUwLCA2LCAxLCAyNDQsIDE0MiwgMTUwLCA1OCwgMSwgNDMsIDE2MywgMjIyLCAyMzMsIDE1MCwgMjU0LCA1NywgCi0gICAgMTUwLCAyNDUsIDE1NCwgNzgsIDE1MCwgMjQ1LCAzMSwgNzgsIDE1MCwgMjQ5LCAyMTksIDE1MCwgMjI0LCAxMywgNzgsIAotICAgIDE1MCwgMjU1LCAyMSwgNzgsIDE1MCwgNCwgMSwgMjUzLCAxNjQsIDE1MCwgNCwgMSwgMjUyLCAzOSwgMTUwLCA0LCAxLCAKLSAgICAyNDIsIDIwMywgMTUwLCA0LCAxLCAyNDgsIDIyMSwgMTUwLCA0LCAxLCAyNDUsIDIxMywgMTUwLCA0LCAxLCAyMTAsIDExNiwgCi0gICAgMTUwLCA0LCAxLCAyNDUsIDE5NywgMTUwLCA0LCAxLCAyNDUsIDY1LCAxNTAsIDQsIDEsIDExMSwgMTUwLCA0LCAxLCAyMTAsIAotICAgIDc0LCAxNTAsIDQsIDEsIDIzNSwgMjI3LCAxNTAsIDQsIDEsIDIzMiwgMTkwLCAxNTAsIDQsIDEsIDIxMSwgMTYwLCAxNTAsIAotICAgIDQsIDEsIDI1MSwgMzMsIDE1MCwgNCwgMSwgMjM0LCAxNjUsIDE1MCwgNCwgMSwgMjQxLCA2OCwgMTUwLCA0LCAxLCAyMzUsIAotICAgIDE0MSwgMTUwLCA0LCAxLCAyNDIsIDI0NiwgMTUwLCA0LCAxLCAyNTAsIDEyNiwgMTUwLCA0LCAxLCAyMzEsIDU4LCAxNTAsIAotICAgIDQsIDEsIDIxMSwgOCwgMTUwLCA0LCAxLCAyMjgsIDM5LCAxNTAsIDQsIDEsIDIyMCwgMTAyLCAxNTAsIDQsIDEsIDIxMywgCi0gICAgMTM4LCAxNTAsIDQsIDEsIDI1MCwgMTU3LCAxNTAsIDQsIDEsIDIyNSwgMjA1LCAxNTAsIDQsIDEsIDIzNSwgMTEwLCAxNTAsIAotICAgIDQsIDEsIDIwNSwgMTUwLCA0LCAxLCAyMjEsIDE2MSwgMTUwLCA0LCAxLCAyMTMsIDE3OSwgMTUwLCA0LCAxLCAyMTYsIDYyLCAKLSAgICAxNTAsIDQsIDEsIDIyMywgOTUsIDE1MCwgNCwgMSwgMjQ5LCAyMzgsIDE1MCwgNCwgMSwgMjEwLCAyNDksIDE1MCwgNCwgMSwgCi0gICAgMjI1LCA0NiwgMTUwLCA0LCAxLCAyMzQsIDE3NiwgMTUwLCA0LCAxLCAyMjYsIDIyMiwgMTUwLCA0LCAxLCAyNDQsIDE0MiwgCi0gICAgMTUwLCA0LCAyNywgMjQ1LCAyMTQsIDIxMCwgMjQ5LCAxNTAsIDI0MywgMjI5LCAyMTgsIDEyOSwgMTUwLCAyNDAsIDE2OCwgCi0gICAgMTUwLCAyNDYsIDk1LCA1MCwgOTQsIDI1NSwgMTUsIDI0NSwgNTcsIDk0LCAyNTUsIDE1LCAyMjEsIDE2MiwgOTQsIDI1NSwgCi0gICAgMTUsIDIyMCwgODgsIDk0LCAyNTUsIDE1LCAyMTAsIDEwNCwgMjI0LCA3MSwgOTQsIDI1NSwgMTUsIDIxMCwgMTA0LCAyNDMsIAotICAgIDEyNSwgOTQsIDI1NSwgMTUsIDIxNiwgNzUsIDk0LCAyNTUsIDE1LCAyMjMsIDQ3LCA5NCwgMjU1LCAxNSwgMjEwLCAxMDMsIAotICAgIDk0LCAyNTUsIDE1LCAyMjUsIDI0NSwgOTQsIDI1NSwgMTUsIDIxMSwgMjAsIDk0LCAyNTUsIDE1LCAyMTYsIDIxNCwgOTQsIAotICAgIDI1NSwgMTUsIDI0MywgNDEsIDk0LCAyNTUsIDE1LCAyNDMsIDQyLCAyMzAsIDY5LCA5NCwgMjU1LCAxNSwgMjQzLCAzOSwgCi0gICAgOTQsIDI1NSwgMTUsIDIyNCwgNzIsIDIyNiwgMTYsIDk0LCAyNTUsIDE1LCAyMTYsIDI1MywgMjQzLCA1NiwgOTQsIDI1NSwgCi0gICAgMTUsIDIyNSwgMjI2LCA5NCwgMjU1LCAxNSwgMjUzLCAyMDAsIDI0MiwgNDEsIDk0LCAyNTUsIDE1LCAyMzAsIDc5LCA5NCwgCi0gICAgMjU1LCAxNSwgMjMxLCAyMDgsIDk0LCAyNTUsIDE1LCAyMzEsIDQ5LCA5NCwgMjU1LCAxNSwgMjMxLCA1MCwgMjM0LCAxNzcsIAotICAgIDk0LCAyNTUsIDE1LCAyNDgsIDE2MywgOTQsIDI1NSwgMTUsIDIyNCwgODMsIDk0LCAyNTUsIDE1LCAyMTYsIDI1MywgMjI0LCAKLSAgICA2NywgOTQsIDI1NSwgMTUsIDIxMSwgMzAsIDI1MiwgNDAsIDIxMCwgMjMwLCA5NCwgMjU1LCAxNSwgMjI2LCAyMDcsIDk0LCAKLSAgICAyNTUsIDE1LCAyMzYsIDE5LCA5NCwgMjU1LCAxNSwgMjQ4LCA3MCwgOTQsIDI1NSwgMTUsIDIxMCwgMzMsIDk0LCAxNjQsIAotICAgIDIzMSwgMTQzLCAyNTAsIDM1LCA5NCwgMjI1LCAxMSwgMjIwLCAzNiwgOTQsIDIyNSwgMTEsIDI0MSwgMjUwLCAyMjEsIDE2MiwgCi0gICAgOTQsIDIyNSwgMTEsIDI0MSwgMjUwLCAyMjUsIDIzOSwgOTQsIDIyNSwgMTEsIDI0MSwgMjUwLCAyMjQsIDc2LCA5NCwgMjI1LCAKLSAgICAxMSwgMjQxLCAxNTgsIDk0LCAyMjUsIDExLCAyMTUsIDE3NiwgOTQsIDIyNSwgMTEsIDIyMSwgMTYyLCA5NCwgMjI1LCAxMSwgCi0gICAgMjI1LCAyMzksIDk0LCAyMjUsIDExLCAyMjQsIDc2LCA5NCwgMjI1LCAxMSwgMjQxLCA2MSwgOTQsIDIyNSwgMTEsIDI0MSwgCi0gICAgNjIsIDI0MSwgMjUyLCAzMSwgMjE0LCAzLCA5NCwgMjI1LCAxMSwgMjI0LCAxNywgOTQsIDIyNSwgMTEsIDI0OCwgMjA4LCAKLSAgICAxNzcsIDIzMSwgMTcxLCA5NCwgMjI1LCAxMSwgMjMxLCAzOCwgOTQsIDIyNCwgMTQxLCAyMzEsIDE2OCwgOTQsIDIyNSwgMTEsIAotICAgIDIyMywgMTY5LCA5NCwgMjI0LCAxNDEsIDIyNSwgMjQ3LCA5NCwgMjI1LCAxMSwgMjIwLCAyMSwgMjQ3LCAxMjAsIDk0LCAKLSAgICAyMjUsIDExLCAyMTksIDE1OSwgMjQ3LCAxMjAsIDk0LCAyMjQsIDE0MSwgMjE5LCA1MywgMjI1LCAyNDEsIDk0LCAxNjQsIAotICAgIDIxNCwgMTYwLCAyNDcsIDEyMCwgOTQsIDE2NCwgMjMyLCAxMDgsIDI0NywgMTIwLCA5NCwgMjI0LCAxNDEsIDIyNywgMTk1LCAKLSAgICAyNDIsIDQwLCA5NCwgMjI1LCAxMSwgMjI0LCA3NywgMjI0LCA3MSwgOTQsIDEsIDI1NCwgMTcwLCA5NCwgMSwgMjUyLCAyOCwgCi0gICAgOTQsIDEsIDI0MiwgMjAxLCA5NCwgMSwgMjQ4LCAxODksIDk0LCAxLCAyNDEsIDIzOCwgOTQsIDEsIDIxNCwgMywgOTQsIDEsIAotICAgIDIxMCwgOTcsIDk0LCAxLCAyNDEsIDE5NywgOTQsIDEsIDIxNiwgMjMwLCA5NCwgMSwgMjEwLCAyMzMsIDk0LCAxLCA0MCwgCi0gICAgMjM0LCAyNTAsIDk0LCAxLCAyMzQsIDI1MCwgOTQsIDEsIDIzMywgOTQsIDk0LCAxLCA0MCwgMjMxLCA2NSwgOTQsIDEsIAotICAgIDIzMSwgNjUsIDk0LCAxLCA0MCwgMjI3LCAxOTQsIDk0LCAxLCAyMjcsIDE5NCwgOTQsIDEsIDIyMSwgMjQ5LCA5NCwgMSwgCi0gICAgMjUzLCAxNjIsIDk0LCAxLCA0MCwgMjI1LCAyMjEsIDk0LCAxLCAyMjUsIDIyMSwgOTQsIDEsIDQwLCAyMTUsIDE3OSwgOTQsIAotICAgIDEsIDIxNSwgMTc5LCA5NCwgMSwgMjI0LCAzOSwgOTQsIDEsIDIyMywgNjcsIDk0LCAxLCAyMjAsIDIwLCA5NCwgMSwgMjE3LCAKLSAgICAzOCwgOTQsIDI3LCAyMTEsIDYsIDUyLCAyMTQsIDMsIDk0LCAyNywgMjExLCA2LCAyMTQsIDQsIDIxMCwgMjMzLCA5NCwgMjcsIAotICAgIDIxMSwgNiwgNTIsIDIxMCwgMjMzLCA5NCwgMjI0LCAxNDEsIDI0MywgNDEsIDk0LCAyMjQsIDE0MSwgMjQzLCAzOSwgMTAsIAotICAgIDU0LCA1MCwgMTAsIDUsIDIyMSwgMjQyLCAxMCwgMjQ0LCAzMCwgMjMxLCAxNTQsIDEwLCA1LCAyMjIsIDIzLCAxMCwgNSwgCi0gICAgMjIxLCAyNDUsIDI1NCwgMzcsIDI0OSwgMTA5LCAyMjIsIDE5MywgMjU0LCAzNywgMjQ0LCA0LCAyMjIsIDE5MywgMTAsIAotICAgIDIyMywgMTM0LCAyNTQsIDM3LCAyMjUsIDE4MywgMjMwLCAxOTMsIDUwLCAyNTQsIDM3LCAyMjUsIDE4MywgMjE2LCAyNDgsIAotICAgIDIxNiwgMTQ4LCA1MCwgMjU0LCAyMjEsIDUwLCAxMCwgMjQ5LCAyMTksIDEwLCAyNDgsIDE1MCwgMjIwLCAxMzcsIDEwLCAKLSAgICAyMjUsIDEzLCAyMTMsIDI0MSwgNTAsIDEwLCA1LCAyMzAsIDE3NCwgMTAsIDUsIDIyMiwgMywgMjU0LCAxNzIsIDIxMiwgNDUsIAotICAgIDEwLCA1LCAyNTQsIDE3MiwgMjUzLCAyMjEsIDEwLCA1LCAyMjMsIDE2NywgMjU0LCAxNzEsIDEwLCA1LCAyMjMsIDE3NSwgCi0gICAgMjU0LCAxNTIsIDI1NCwgMTA0LCAxMCwgNSwgMjE3LCA3MCwgMTAsIDQsIDEyNSwgMjE3LCA4MCwgMTAsIDQsIDEyNSwgMjcsIAotICAgIDExMiwgMiwgMjMzLCAxMDMsIDIsIDIxMSwgNDMsIDEwLCA0LCAxMjUsIDIxMCwgMTA4LCAxMCwgNCwgMjQ0LCAxNjUsIDEwLCAKLSAgICA0LCAyNDgsIDE4NCwgMTAsIDQsIDIzNCwgMjA1LCAxMCwgMjIwLCAxNTAsIDEwLCAyMTUsIDIxMSwgNTksIDIyNCwgMTQxLCAKLSAgICA3OCwgMTAsIDIyNCwgMTMsIDc4LCAxMCwgMSwgMjM0LCAyMDksIDIxMSwgNDMsIDEwLCAxLCAyNDIsIDE5LCAxMCwgMSwgCi0gICAgMTEyLCAyLCAyMzEsIDIyOCwgNDgsIDEwLCAxLCAxMTIsIDIsIDIwMiwgNDgsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMDIsIDQ4LCAKLSAgICAxMCwgMSwgMTEyLCAyLCAyMDIsIDUxLCAxMCwgMSwgNzksIDIsIDIwMiwgNDgsIDEwLCAxLCAyNTQsIDE3MCwgMTAsIDEsIAotICAgIDI1MiwgNTQsIDEwLCAxLCAyMTcsIDgsIDIzMSwgMTY0LCAxMCwgMSwgMjE3LCA3LCAxMCwgMSwgMjE2LCAxOTIsIDEwLCAxLCAKLSAgICAyMzUsIDEyMywgMTAsIDEsIDI0MiwgMzcsIDEwLCAxLCAyMzQsIDEyOSwgMTAsIDEsIDI0OCwgMTk1LCAxMCwgMSwgMjE2LCAKLSAgICAyMDIsIDEwLCAxLCAyMjMsIDk1LCAxMCwgMSwgMjEwLCAxMDgsIDEwLCAxLCAyMjEsIDE2NiwgMTAsIDEsIDIyMCwgNTksIAotICAgIDEwLCAxLCAyMjIsIDI2LCAxMCwgMSwgMjQ4LCAyMTYsIDEwLCAxLCAyMTcsIDgwLCAxMCwgMSwgMjEwLCAxMTEsIDEwLCAxLCAKLSAgICAyNTQsIDE5NiwgMTAsIDEsIDI0MiwgMjQ0LCAxMCwgMSwgMjM0LCAxNzUsIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDIzNCwgCi0gICAgMTc1LCAyLCAxMzQsIDE3MCwgNTEsIDEwLCAxLCAyNDQsIDE2OCwgNzksIDIsIDIzNSwgMTkzLCAyMTQsIDEwNSwgMTAsIDEsIAotICAgIDI0NCwgMTY4LCA3OSwgMiwgMTEzLCAxNzAsIDQ4LCAxMCwgMSwgMjQ0LCAxNjgsIDc5LCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAKLSAgICAyMTcsIDQzLCAxMCwgMSwgMjQ0LCAxNDIsIDEwLCAxLCAyMjQsIDgxLCAxMCwgMSwgMjM0LCAyNTAsIDEwLCAxLCAyMzMsIAotICAgIDEwMiwgMTAsIDEsIDIzMSwgNzgsIDEwLCAxLCAyMjgsIDYyLCAxMCwgMSwgMjQxLCAyMTgsIDEwLCAxLCAyMTIsIDMwLCAxMCwgCi0gICAgMSwgMTEyLCAyMzEsIDE5MiwgMTAsIDEsIDIxMSwgNDMsIDEwLCAyNDQsIDE2MywgMTAsIDI0OCwgMTgyLCAxMCwgMjM0LCAKLSAgICAyMDMsIDEwLCAyNDQsIDE2NSwgMTAsIDI0OCwgMTg0LCAxMCwgMjM0LCAyMDUsIDEwLCAyMjAsIDkzLCAxMCwgMjE4LCA0NSwgCi0gICAgMTAsIDIzMSwgMjI2LCA0OCwgMTAsIDIwMiwgNDgsIDEwLCAyMDIsIDUxLCAxMCwgMjE4LCA2NSwgMjU0LCAxNzAsIDEwLCAKLSAgICAyMzUsIDE5MywgMjQ4LCAxODQsIDEwLCAxNjQsIDIyOCwgNjMsIDI0MiwgMjE4LCAxMCwgMjA5LCAyNTUsIDEwLCAyNSwgNSwgCi0gICAgNCwgMjE0LCAxMDYsIDQ4LCAxMCwgMjUsIDUsIDIzNSwgMTkzLCA0LCAyMTQsIDEwNiwgNDgsIDEwLCAyNSwgNSwgNTksIDUxLCAKLSAgICAxMCwgMjIzLCA0OSwgMjQ4LCAxODQsIDEwLCAyNDQsIDE2NiwgMiwgMTEzLCAyNDcsIDExOCwgMTAsIDIxMiwgMzIsIDIwMiwgCi0gICAgNTEsIDI1NCwgMzcsIDIxLCAyMTAsIDg2LCAyNTQsIDM3LCAyMSwgMTEwLCAyNTQsIDM3LCAyMSwgMTA1LCAyNTQsIDM3LCAKLSAgICAyMSwgMTU4LCAyNTQsIDM3LCAyMSwgMTYxLCAyNTQsIDM3LCAyMSwgMTg5LCAyNTQsIDM3LCAyMSwgMTk0LCAyNTQsIDM3LCAKLSAgICAyMSwgMTk4LCAyNTQsIDM3LCAyMSwgMTk1LCAyNTQsIDM3LCAyMSwgMjAwLCAxMCwgMjI1LCAxODIsIDUwLCAxMCwgMjQ4LCAKLSAgICA4MywgMjIwLCAxMzcsIDEwLCAyMTYsIDE0NiwgMjIwLCAxMzcsIDEwLCAyNDQsIDgxLCAyMjUsIDksIDIxOCwgMTU2LCAxMCwgCi0gICAgMSwgMjQ3LCAxMTksIDI1MiwgNTQsIDEwLCAxLCAyNDcsIDExOSwgMjI0LCA4MSwgMTAsIDEsIDIxOCwgMjMsIDI1NCwgMTcwLCAKLSAgICAxMCwgMSwgMTEyLCAyMTIsIDQ2LCAxMCwgMSwgMTEyLCAyLCAyMTIsIDMyLCAyMDIsIDQ4LCAxMCwgMSwgMTEyLCAyLCAyMTIsIAotICAgIDMyLCAyMDIsIDUxLCAxMCwgMSwgMTI1LCAyNDIsIDE5LCAxMCwgMSwgMTI1LCAyMDIsIDI1NCwgMTcwLCAxMCwgMSwgMTI1LCAKLSAgICAyMDIsIDIxMiwgMzAsIDEwLCAxLCAxMDQsIDIsIDIwMiwgNDgsIDEwLCAxLCAxMjUsIDIwMiwgMjExLCA0MywgMTAsIDEsIAotICAgIDIxNSwgMTQ4LCAxMCwgMSwgMjE1LCAxNDYsIDEwLCAxLCAyNTIsIDY0LCAxMCwgMSwgMjE3LCA4LCAyLCAyMjIsIDIzMywgCi0gICAgMTAsIDEsIDIxNywgOCwgMiwgMTM0LCAxNzAsIDc3LCAyNDYsIDEwMywgMTAsIDEsIDIyNSwgMjA1LCAxMCwgMSwgMjE3LCA1LCAKLSAgICAxMCwgMSwgMjUyLCA1MiwgMTAsIDEsIDEyMiwgMiwgMjAyLCA0OCwgMTAsIDEsIDEyMiwgMiwgMTEzLCAxNzAsIDY3LCA0OCwgCi0gICAgMTAsIDEsIDIyNywgMTUzLCAxMCwgMSwgMjQ2LCA0MywgMTAsIDEsIDEyMiwgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjE3LCAKLSAgICAyNiwgMTAsIDEsIDIxNywgMjQsIDEwLCAxLCAyNDgsIDEzMCwgMTAsIDEsIDI0OCwgMTk2LCAyLCAyMjIsIDIzMywgMTAsIDEsIAotICAgIDI0OCwgMTk2LCAyLCA1OSwgNTEsIDEwLCAxLCAyNDgsIDE5NiwgMiwgNTksIDI1MiwgNDMsIDIyLCA0LCAyMTcsIDgwLCAxMCwgCi0gICAgMSwgMjQ4LCAyMDEsIDEwLCAxLCAyNDgsIDEzMiwgMTAsIDEsIDI0NiwgNzAsIDEwLCAxLCAyNDgsIDE5NiwgMiwgMTM0LCAKLSAgICAxNzAsIDc3LCAyNDYsIDEwMywgMTAsIDEsIDI0OCwgMTk2LCAyLCAyNDQsIDExLCAxNzAsIDQ4LCAxMCwgMSwgMjIyLCAxNzEsIAotICAgIDEwLCAxLCAyMjMsIDk2LCAyLCA0LCAyMTQsIDEwNSwgMTAsIDEsIDIyMywgOTYsIDIsIDIyMiwgMjMzLCAxMCwgMSwgMjIzLCAKLSAgICA5NiwgMiwgNTksIDUxLCAxMCwgMSwgMjIzLCA5NiwgMiwgNCwgMjE0LCAxMDYsIDUxLCAxMCwgMSwgMjIzLCA5NiwgMiwgNTksIAotICAgIDI1MiwgNDMsIDIyLCA1OSwgNDgsIDEwLCAxLCAyMjMsIDk2LCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyMzUsIDEyMCwgCi0gICAgMTAsIDEsIDIyMywgOTYsIDIsIDI0NCwgMTEsIDE3MCwgNDgsIDEwLCAxLCAyMjEsIDE2NywgMiwgNTksIDI1MiwgNDMsIDIyLCAKLSAgICA1OSwgNDgsIDEwLCAxLCAyMjEsIDE2NywgMiwgMTM0LCAxNzAsIDUxLCAxMCwgMSwgMjIxLCAxNjcsIDIsIDEzNCwgMTcwLCAKLSAgICAyNTIsIDQzLCAyMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjIyLCAyNywgMiwgMTEzLCAxNzAsIDUxLCAxMCwgMSwgMjIyLCAKLSAgICAyNywgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjE3LCA4MSwgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjU0LCAxOTcsIDIsIAotICAgIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDI0NywgMTE5LCAyNDQsIDE0MiwgMTAsIDEsIDI0NCwgMTQzLCAyLCA1OSwgMjMwLCAKLSAgICAxMDksIDUxLCAxMCwgMSwgMjQ0LCAxNDMsIDIsIDU5LCA1MSwgMTAsIDEsIDIxMywgMjQ4LCAxMCwgMSwgMjQ0LCAxNDMsIDIsIAotICAgIDEzNCwgMTcwLCA1MSwgMTAsIDEsIDIyNSwgMjAzLCAxMCwgMSwgMjI0LCA4MiwgMiwgNTksIDQ4LCAxMCwgMSwgMjI0LCA4MiwgCi0gICAgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjM0LCAxNzQsIDEwLCAxLCAyMTcsIDI1MCwgMjM0LCAyNTAsIDEwLCAxLCAyMzQsIAotICAgIDI1MSwgMiwgMjIyLCAyMzMsIDEwLCAxLCAyMzQsIDI1MSwgMiwgNTksIDQ4LCAxMCwgMSwgMjI5LCA3OSwgMTAsIDEsIDIzNCwgCi0gICAgMjUxLCAyLCAxMzQsIDE3MCwgNTEsIDEwLCAxLCAyNDMsIDEyMiwgMTAsIDEsIDI0MywgMTIzLCAyLCAyMjIsIDIzMywgMTAsIAotICAgIDEsIDIyOSwgMiwgMTAsIDEsIDI0MywgMTIzLCAyLCAxMTMsIDE3MCwgNTEsIDEwLCAxLCAyNDIsIDEwMSwgMTAsIDEsIDI0MywgCi0gICAgMTIzLCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAxLCAyMzMsIDEwMywgMiwgNCwgMjE0LCAxMDUsIDEwLCAxLCAyMzMsIDEwMywgCi0gICAgMiwgNTksIDQ4LCAxMCwgMSwgMjMzLCAxMDMsIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIzMywgMTAzLCAyLCAxMzQsIAotICAgIDE3MCwgNTEsIDEwLCAxLCAyMjgsIDYzLCAyLCA1OSwgNTEsIDEwLCAxLCAyMjgsIDYzLCAyNDIsIDIxOCwgMTAsIDEsIDIyMiwgCi0gICAgMjE0LCAxMCwgMSwgMjI4LCA2MywgMiwgMjIyLCAyMzMsIDEwLCAxLCAyMjgsIDYzLCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAxLCAKLSAgICAyNDEsIDIxOSwgMjQ3LCAxNDEsIDEwLCAxLCAyMTcsIDI3LCAyLCA1OSwgNDgsIDEwLCAxLCAyNDEsIDIxOSwgMiwgNzksIAotICAgIDQ4LCAxMCwgMSwgMjQxLCAyMTksIDI0MiwgMTcxLCAxMCwgMSwgMjQxLCAyMTksIDI0MiwgMTcyLCAyLCAyMDIsIDQ4LCAxMCwgCi0gICAgMSwgMjE3LCA4LCAyMzEsIDE2NSwgMjQyLCAxNzEsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMjIsIDIzMywgMTAsIDEsIDIzNCwgCi0gICAgNzMsIDIyNiwgMjM0LCAxMCwgMSwgMjI2LCAyMzQsIDEwLCAxLCA3MCwgMTAsIDEsIDIxMCwgMjEyLCAxMCwgMSwgMjM0LCAKLSAgICA3MywgMjEwLCAyMTIsIDEwLCAxLCAyMTIsIDMxLCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyMTMsIDI1NSwgMTAsIDEsIAotICAgIDI0NCwgMTY4LCAyMTEsIDQzLCAxMCwgMSwgNzksIDIsIDIxNywgNzcsIDEwLCAxLCA3OSwgMiwgNCwgMjE0LCAxMDUsIDEwLCAKLSAgICAxLCAyMTIsIDMxLCAyLCA1OSwgNDgsIDEwLCAxLCA3NSwgMTAsIDEsIDc5LCAyLCAxMzQsIDE3MCwgNTEsIDEwLCAxLCA3OSwgCi0gICAgMjUyLCAxMzIsIDEwLCAxLCA3OSwgMjUyLCAxMzMsIDIsIDIwMiwgNDgsIDEwLCAyNDMsIDIyOSwgMjE4LCAxMjksIDEwLCAxLCAKLSAgICAyNTQsIDI0MywgMTAsIDQsIDEyNSwgMjcsIDIyMiwgMjcsIDIsIDIzMywgMTAzLCAyLCAxMTIsIDIzMSwgMTkyLCAxMCwgNCwgCi0gICAgMTI1LCAyNywgMjI0LCA4MiwgMiwgMjMzLCAxMDMsIDIsIDExMiwgMjMxLCAxOTIsIDEwLCA0LCAxMjUsIDY2LCA2NSwgMTcsIAotICAgIDEwLCA0LCAxMjUsIDIzMywgMTAzLCAyNTQsIDE3MCwgMTAsIDQsIDEyNSwgMjM1LCAxMjMsIDEwLCA0LCAxMjUsIDEzNCwgCi0gICAgMjQ3LCAxMTgsIDEwLCA0LCAxMjUsIDIyMSwgMTY2LCAxMCwgMjQ1LCAxNDMsIDY0LCAyNTMsIDE2NiwgMTAsIDIxOCwgMTUyLCAKLSAgICA2NCwgMjIyLCAxMzgsIDI0NSwgMTc1LCAyNDEsIDE1NSwgMTAsIDQsIDEyNSwgMjIyLCAxODMsIDIxMCwgODYsIDEwLCA0LCAKLSAgICAxMjUsIDIxNCwgMTU5LCAyMjMsIDExNSwgMjEwLCA4NiwgMTAsIDQsIDEyNSwgMjQ3LCAxMTksIDI0MSwgMjM2LCA2NCwgCi0gICAgMjM0LCAxMjksIDEwLCA0LCAxMjUsIDY2LCA1MywgMTcsIDEwLCA0LCAxMjEsIDIyMSwgMTY2LCAxMCwgNCwgMTI1LCAyMzEsIAotICAgIDIyNywgMTAsIDQsIDIxMiwgMzAsIDEwLCA0LCAyMTEsIDQzLCAxMCwgNCwgMTI1LCAyMTEsIDQzLCAxMCwgNCwgMTI1LCAKLSAgICAyMjgsIDYyLCAxMCwgMjI1LCA0MSwgNjQsIDIyMiwgMTMsIDEwLCAyNDUsIDE1MiwgMjUwLCAxNzUsIDEyMSwgMjE4LCAxMjksIAotICAgIDEwLCAyNDUsIDE1MiwgMjUwLCAxNzUsIDEyNSwgMjE4LCAxMjksIDEwLCAyMjIsIDE4MywgMTI1LCAyMTgsIDEzMCwgMiwgCi0gICAgMjQ0LCAxMDQsIDI1MCwgMTc0LCAxMCwgNCwgMTIxLCAyMzEsIDc4LCAxMCwgMSwgMjQ4LCAxOTYsIDIsIDIzNSwgMTkzLCAKLSAgICAyMTQsIDEwNSwgMTAsIDEsIDIyMywgOTYsIDIsIDIzNSwgMTkzLCAyMTQsIDEwNSwgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIAotICAgIDIxMCwgODYsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxMTAsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxMDUsIDI0NSwgMjIsIAotICAgIDI1NCwgMzcsIDIxLCAxNTgsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxNjEsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxODksIAotICAgIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxOTQsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxOTgsIDI0NSwgMjIsIDI1NCwgMzcsIAotICAgIDIxLCAxOTUsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAyMDAsIDEwLCAxLCAyMjAsIDYwLCAyLCA1OSwgNTEsIDEwLCAxLCAKLSAgICAyNDgsIDIxNywgMiwgNTksIDUxLCAxMCwgMSwgMjQyLCAyNDUsIDIsIDU5LCA1MSwgMTAsIDUsIDIxOSwgMTU4LCAyNTQsIAotICAgIDEyNiwgMTAsIDUsIDIxOSwgMTU4LCAyMjQsIDIzNSwgMjMxLCA1OCwgMTAsIDEsIDI0MSwgMjE5LCAyLCAyMzUsIDE5MywgCi0gICAgMjE0LCAxMDUsIDE4OCwgMjQ1LCAxNDMsIDY0LCAyMjYsIDE0LCAxODgsIDIxOCwgMTksIDI0MywgMjI5LCAyMTgsIDEyOSwgCi0gICAgMTg4LCAyMTgsIDY3LCAyNDMsIDIyOSwgMjE4LCAxMjksIDE4OCwgMjE4LCAxOSwgMjQ5LCAyMjYsIDE4OCwgMjE4LCA2NywgCi0gICAgMjQ5LCAyMjYsIDE4OCwgMjAzLCAyNDksIDIyNiwgMTg4LCAyNDksIDIyNywgMjE5LCAxMDYsIDIzMywgNDYsIDE4OCwgMjQ5LCAKLSAgICAyMjcsIDIxOSwgMTA2LCAyMjIsIDI1MSwgMTg4LCAyMTgsIDE5LCAyNDksIDIyNywgMjE5LCAxMDYsIDIzMywgNDYsIDE4OCwgCi0gICAgMjE4LCA2NywgMjQ5LCAyMjcsIDIxOSwgMTA2LCAyMjIsIDI1MSwgMTg4LCAyNDksIDE4MCwgMTg4LCAyNDIsIDEsIDIyNiwgCi0gICAgMjUwLCAxODgsIDI0MiwgMSwgMjMxLCAzNiwgMTg4LCAyNDIsIDEsIDI1MywgMjE4LCAxODgsIDI1NSwgMjEsIDc4LCAxODgsIAotICAgIDEsIDI1NCwgMTc0LCAxODgsIDEsIDIxOCwgMjMsIDI1NCwgMTc0LCAxODgsIDEsIDI1MiwgMjUsIDE4OCwgMSwgMjQzLCAKLSAgICAxMTMsIDE4OCwgMSwgMjQzLCAxMTQsIDI0MywgOTEsIDE4OCwgMSwgMjQ4LCAxOTIsIDE4OCwgMSwgMjQ3LCAxMTksIDI0OCwgCi0gICAgMTkzLCAyMjIsIDIyOSwgMTg4LCAxLCAyNDEsIDIzOCwgMTg4LCAxLCAyMTIsIDMwLCAxODgsIDEsIDIxMCwgMTA4LCAxODgsIAotICAgIDEsIDI0MSwgMTk1LCAxODgsIDEsIDIxNiwgMjI2LCAxODgsIDEsIDIxNiwgMjI3LCAyNDMsIDkxLCAxODgsIDEsIDIxMCwgCi0gICAgMTk5LCAxODgsIDEsIDIxMCwgMjAwLCAyNDEsIDIzOCwgMTg4LCAxLCAyMzQsIDIyNSwgMTg4LCAxLCAyMzMsIDEwMSwgMTg4LCAKLSAgICAxLCAyMzAsIDE5MCwgMTg4LCAxLCAyMjcsIDE5NCwgMTg4LCAxLCAyMjAsIDE0MywgMTg4LCAxLCA0MCwgMjIwLCAxNDMsIAotICAgIDE4OCwgMSwgNzUsIDE4OCwgMSwgMjI1LCAyMjEsIDE4OCwgMSwgMjIzLCA0OSwgMjI1LCAyMjEsIDE4OCwgMSwgMjIyLCAyNCwgCi0gICAgMTg4LCAxLCAyMjQsIDc1LCAxODgsIDEsIDIyMiwgMjI5LCAxODgsIDEsIDIyMCwgMjAsIDE4OCwgMSwgMjE3LCAzNiwgMTg4LCAKLSAgICAxLCAyMjUsIDE2OSwgMjUyLCAxMiwgMTg4LCAxLCAyMjUsIDE2OSwgMjQyLCAyNDIsIDE4OCwgMSwgMjI1LCAxNjksIDI0OCwgCi0gICAgMjAsIDE4OCwgMjI0LCAxNTEsIDQ4LCAxODgsIDIyNCwgMTUxLCA1MSwgMTg4LCAyMjQsIDE1MSwgMjQ2LCAxMTcsIDE4OCwgCi0gICAgMjEwLCAxNywgNDgsIDE4OCwgMjEwLCAxNywgNTEsIDE4OCwgMjEwLCAxNywgMjQ2LCAxMTcsIDE4OCwgMjIzLCAxMzEsIDQ4LCAKLSAgICAxODgsIDIyMywgMTMxLCA1MSwgMTg4LCAyNDYsIDExOCwgMjEwLCAyNCwgMjQxLCA0NCwgMTg4LCAyNDYsIDExOCwgMjEwLCAKLSAgICAyNCwgMjU0LCAxMDUsIDE4OCwgMjQxLCAyNDEsIDQ4LCAxODgsIDI0MSwgMjQxLCA1MSwgMTg4LCAyNDEsIDI0MCwgMjQ2LCAKLSAgICAxMTcsIDE4OCwgMjQ1LCA3OSwgNDgsIDE4OCwgMjQ1LCA3OSwgNTEsIDE4OCwgMjIyLCAxMDcsIDE4OCwgMjQ0LCAxMzYsIAotICAgIDI0NywgMTIwLCAxODgsIDIyMywgMjQ4LCAxODgsIDIyMiwgMTM0LCAxODgsIDExMywgNjcsIDE3MCwgNDgsIDE4OCwgMTEzLCAKLSAgICA2NywgMTcwLCA1MSwgMTg4LCAxMzQsIDE3MCwgNDgsIDE4OCwgMTM0LCAxNzAsIDUxLCAxODgsIDIyNiwgMjQ4LCAyMzIsIAotICAgIDIxNCwgNDgsIDE4OCwgMjI2LCAyNDgsIDIzMiwgMjE0LCA1MSwgMTg4LCAyMzAsIDU2LCAxODgsIDI1MiwgMTMxLCAxODgsIAotICAgIDEsIDIxOSwgNDksIDIxMCwgODAsIDE4OCwgMSwgMjE5LCA0OSwgMjM0LCAxMjIsIDE4OCwgMSwgMjE5LCA0OSwgMjQ0LCAKLSAgICAxNTQsIDEwLCAxLCAyNTIsIDU1LCAyLCAxMzQsIDE3MCwgMjQwLCAyNTAsIDUxLCAxMCwgMSwgMjUyLCA1NSwgMiwgNTksIAotICAgIDI1MiwgNDMsIDIyLCAxMzQsIDE3MCwgNDgsIDEwLCAxLCAyNTIsIDU1LCAyLCAxMzQsIDE3MCwgMjI1LCA3LCAyMTQsIDE1MywgCi0gICAgNTEsIDEwLCAxLCAyNTIsIDU1LCAyLCAxMzQsIDE3MCwgMjI1LCA3LCAyMTQsIDE1MywgMjUyLCA0MywgMjIsIDExMywgMTcwLCAKLSAgICA0OCwgMTAsIDEsIDI1MiwgNTUsIDIsIDExMywgMTcwLCAyNTIsIDQzLCAyMiwgNTksIDQ4LCAxMCwgMSwgMjUyLCA1NSwgMiwgCi0gICAgMjM1LCAxOTMsIDQsIDIxNCwgMTA2LCA1MSwgMTAsIDEsIDI1MiwgNTUsIDIsIDQsIDIxNCwgMTA1LCAxMCwgMSwgMTIyLCAyLCAKLSAgICAxMTMsIDE3MCwgNDgsIDEwLCAxLCAxMjIsIDIsIDEzNCwgMTcwLCAyMjUsIDcsIDIxNCwgMTUzLCA1MSwgMTAsIDEsIDI0OCwgCi0gICAgMTk2LCAyLCAxMTMsIDE3MCwgMjEzLCAxODksIDI1MiwgNDMsIDIyLCA0LCAyMTcsIDgwLCAxMCwgMSwgMjQ4LCAxOTYsIDIsIAotICAgIDIzNSwgMTkzLCA0LCAyMTQsIDEwNiwgNTEsIDEwLCAxLCAyMjMsIDk2LCAyLCA5MSwgMTAsIDEsIDIyMSwgMTY3LCAyLCAKLSAgICAyNDQsIDExLCAxNzAsIDQ4LCAxMCwgMSwgMjU0LCAxOTcsIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDI1NCwgMTk3LCAyLCAKLSAgICAxMzQsIDE3MCwgMjI1LCA3LCAyNDYsIDEwNCwgNDgsIDEwLCAxLCAyNTQsIDE5NywgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCAKLSAgICA0OCwgMTAsIDEsIDI0NCwgMTQzLCAyLCAxMTMsIDE3MCwgNTEsIDEwLCAxLCAyNDQsIDE0MywgMiwgMTM0LCAxNzAsIDIyNSwgCi0gICAgNywgMjE0LCAxNTMsIDUxLCAxMCwgMSwgMjM0LCAxNzUsIDIsIDU5LCA0OCwgMTAsIDEsIDIzNCwgMTc1LCAyLCAxMzQsIAotICAgIDE3MCwgNDgsIDEwLCAxLCAyMzQsIDE3NSwgMiwgMTM0LCAxNzAsIDIyNSwgNywgMjE0LCAxNTMsIDUxLCAxMCwgMSwgNjYsIAotICAgIDIsIDU5LCA0OCwgMTAsIDEsIDY2LCAyLCA1OSwgNTEsIDEwLCAxLCAyMjgsIDYzLCAyLCAxMTMsIDE3MCwgNTEsIDEwLCAxLCAKLSAgICAyMjgsIDYzLCAyLCA0LCAyMTcsIDgwLCAxMCwgMSwgMjI4LCA2MywgMiwgNCwgMjE0LCAxMDUsIDEwLCAxLCAyMzMsIDEwMywgCi0gICAgMiwgMTMwLCAxMCwgMSwgMjIzLCA5NiwgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgMTAsIDEsIDIyMywgOTYsIDIsIAotICAgIDIwMiwgNDgsIDEwLCAxLCAyMjEsIDE2NywgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgMTAsIDEsIDEyMiwgMiwgNCwgCi0gICAgMTAsIDEsIDIxNywgODEsIDUxLCAxMCwgMSwgMTIyLCAyLCA0LCAxMCwgMSwgMjE3LCA4MSwgMjIsIDExMywgMjQ3LCAxMTgsIAotICAgIDEwLCAxLCAyMjEsIDE2NywgMiwgNCwgMTAsIDEsIDIxNywgODEsIDIyLCAxMTMsIDI0NywgMTE4LCAxMCwgMSwgMjIzLCA5NiwgCi0gICAgMiwgNCwgMTAsIDEsIDIxNywgODEsIDIyLCAxMTMsIDI0NywgMTE4LCAxMCwgMSwgMTIyLCAyLCA0LCAxMCwgMSwgMjE3LCAKLSAgICA4MSwgNDgsIDEwLCAxLCAxMTIsIDIsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxMTMsIDQ4LCAxMCwgMSwgMTEyLCAyLCAyNDUsIAotICAgIDIyLCAyNTQsIDM3LCAyMSwgMTM0LCA0OCwgMTAsIDEsIDI0NCwgMTY4LCA3OSwgMiwgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIAotICAgIDExMywgNDgsIDEwLCAxLCAyNDQsIDE2OCwgNzksIDIsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxMzQsIDQ4LCAxMCwgMSwgCi0gICAgMjQ0LCAxNjgsIDc5LCAyLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMjQ0LCAxMSwgNTEsIDEwLCAxLCAyMTIsIDMxLCAyLCAKLSAgICAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTEzLCA0OCwgMTAsIDEsIDIxMiwgMzEsIDIsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAKLSAgICAxMzQsIDQ4LCAxMCwgMSwgNzksIDI1MiwgMTMzLCAyLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTEzLCA0OCwgMTAsIDEsIAotICAgIDc5LCAyNTIsIDEzMywgMiwgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIDEzNCwgNDgsIDEwLCAxLCAxMjIsIDIsIDI0NSwgMjIsIAotICAgIDI1NCwgMzcsIDIxLCAyNDQsIDExLCA1MSwgMTAsIDEsIDIyMSwgMTY3LCAyLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMjQ0LCAKLSAgICAxMSwgNDgsIDEwLCAxLCAyMjEsIDE2NywgMiwgMjM1LCAxOTMsIDIxNCwgMTA1LCAxMCwgMSwgMjM0LCAyNTEsIDIsIDExMywgCi0gICAgMTcwLCA0OCwgMjE2LCAyMDUsIDEsIDI0MiwgNDYsIDIxNiwgMjA1LCAxLCAyMjAsIDY4LCAyMTYsIDIwNSwgMSwgMjI4LCAKLSAgICA2MSwgMjE2LCAyMDUsIDEsIDIyMywgMTg0LCAyMTYsIDIwNSwgMSwgMjUyLCAxODksIDIxNiwgMjA1LCAxLCAyMzIsIDI1MSwgCi0gICAgMjE2LCAyMDUsIDEsIDIzNSwgOCwgMjE2LCAyMDUsIDEsIDI1NCwgMTU5LCAyMTYsIDIwNSwgMSwgMjE0LCAyNSwgMjE2LCAKLSAgICAyMDUsIDEsIDIzMSwgNzcsIDIxNiwgMjA1LCAxLCAyNDQsIDE5NCwgMjE2LCAyMDUsIDEsIDI0OCwgMjMsIDIxNiwgMjA1LCAKLSAgICAxLCAyMTYsIDIwNywgMjE2LCAyMDUsIDEsIDIzMywgMTMxLCAyMTYsIDIwNSwgMSwgMjQzLCAxMzEsIDIxNiwgMjA1LCAxLCAKLSAgICAyNDIsIDE3NywgMjE2LCAyMDUsIDEsIDIyMSwgMTY1LCAyMTYsIDIwNSwgMSwgMjQ4LCAxNDgsIDIxNiwgMjA1LCAxLCAyMTAsIAotICAgIDEwMCwgMjE2LCAyMDUsIDEsIDIxNywgMzcsIDIxNiwgMjA1LCAxLCAyMTEsIDEwMywgMjE2LCAyMDUsIDEsIDIyNSwgMjMzLCAKLSAgICAyMTYsIDIwNSwgMSwgMjM1LCAxMjgsIDIxNiwgMjA1LCAxLCAyNTAsIDEzNCwgMjE2LCAyMDUsIDEsIDIxNSwgMTU1LCAyMTYsIAotICAgIDIwNSwgMSwgMjQxLCAxODgsIDIxNiwgMjA1LCAxLCAyMzQsIDEzMSwgMjE2LCAyMDUsIDEsIDIxNiwgMjA2LCAyMTYsIDIwNSwgCi0gICAgMSwgMjEwLCAxMTUsIDIxNiwgMjA1LCAxLCAyMjAsIDU4LCAyMTYsIDIwNSwgMSwgMjIyLCAzMCwgMjE2LCAyMDUsIDEsIAotICAgIDI0OCwgMjE5LCAyMTYsIDIwNSwgMSwgMTExLCAyMTYsIDIwNSwgMSwgMjEwLCAyMywgMjE2LCAyMDUsIDEsIDI1NCwgMTkzLCAKLSAgICAyMTYsIDIwNSwgMSwgMjQyLCAyNDMsIDIxNiwgMjA1LCAxLCAyMjQsIDg1LCAyMTYsIDIwNSwgMSwgMjEyLCA2MywgMjE2LCAKLSAgICAyMDUsIDI1NSwgMjIsIDIxNiwgMjA1LCAyNTUsIDM4LCAyMTYsIDIwNSwgMjQwLCAxMTQsIDIxNiwgMjA1LCAyNDUsIDIwOCwgCi0gICAgMjE2LCAyMDUsIDIxNCwgMjIyLCAyMTYsIDIwNSwgMjI2LCAxODIsIDIxNiwgMjA1LCAyNDUsIDIxNiwgMjE2LCAyMDUsIAotICAgIDI0NSwgMTYsIDIxNiwgMjA1LCAyMjYsIDI0NywgMjE2LCAyMDUsIDIyNiwgMjU1LCAyMTYsIDIwNSwgMjE4LCA0NSwgMjE2LCAKLSAgICAyMDUsIDEsIDIyOSwgMjI1LCAyMjgsIDEzNywgMjEsIDIxMCwgODYsIDIyOCwgMTM3LCAyMSwgMTEwLCAyMjgsIDEzNywgMjEsIAotICAgIDEwNSwgMjI4LCAxMzcsIDIxLCAxNTgsIDIyOCwgMTM3LCAyMSwgMTYxLCAyMjgsIDEzNywgMjEsIDE4OSwgMjI4LCAxMzcsIAotICAgIDIxLCAxOTQsIDIyOCwgMTM3LCAyMSwgMTk4LCAyMjgsIDEzNywgMjEsIDE5NSwgMjI4LCAxMzcsIDIxLCAyMDAsIDIyOCwgCi0gICAgMTM3LCAxLCA2MSwgMjI4LCAxMzcsIDEsIDI0NSwgMjA5LCAyMjgsIDEzNywgMSwgNzMsIDIyOCwgMTM3LCAxLCA3NSwgMjI4LCAKLSAgICAxMzcsIDEsIDcwLCAyMjgsIDEzNywgMSwgMjI2LCAxODMsIDIyOCwgMTM3LCAxLCA3NiwgMjI4LCAxMzcsIDEsIDI0OCwgCi0gICAgMjA5LCAyMjgsIDEzNywgMSwgMjMwLCAyNSwgMjI4LCAxMzcsIDEsIDI1MiwgMTkxLCAyMjgsIDEzNywgMSwgMTkwLCAyMjgsIAotICAgIDEzNywgMSwgMjE3LCAxMDUsIDIyOCwgMTM3LCAxLCAyMzUsIDE0MSwgMjI4LCAxMzcsIDEsIDI1MCwgMTU3LCAyMjgsIDEzNywgCi0gICAgMSwgMjQ4LCAyMjEsIDIyOCwgMTM3LCAxLCAyMDUsIDIyOCwgMTM3LCAxLCAyMjIsIDE3OSwgMjI4LCAxMzcsIDEsIDIwNiwgCi0gICAgMjI4LCAxMzcsIDEsIDI0MywgNzksIDIyOCwgMTM3LCAxLCAyNDQsIDE5NiwgMjI4LCAxMzcsIDEsIDE3NiwgMjI4LCAxMzcsIAotICAgIDEsIDIzMywgMTM1LCAyMjgsIDEzNywgMSwgMjI5LCAyMjksIDIxMSwgMjIzLCAyMjgsIDEzNywgMSwgMTg0LCAyMjgsIDEzNywgCi0gICAgMSwgMjI3LCAxNjUsIDIyOCwgMTM3LCAxLCAxOTcsIDIyOCwgMTM3LCAxLCAxNjIsIDIyOCwgMTM3LCAxLCAyMTIsIDY1LCAKLSAgICAyMjgsIDEzNywgMSwgMTkxLCAyMjgsIDEzNywgMSwgMjI3LCAxNjYsIDIxMSwgMjIzLCAyMjgsIDEzNywgMSwgMjM1LCA2MSwgCi0gICAgMjM1LCAxNDEsIDIyOCwgMTM3LCAxLCAyMzUsIDYxLCAyNTAsIDE1NywgMjI4LCAxMzcsIDEsIDIzNSwgNjEsIDIwNSwgMjI4LCAKLSAgICAxMzcsIDM4LCAyMTksIDI1MSwgMTI1LCAyMTYsIDMwLCAyMjgsIDEzNywgMzgsIDIxOSwgMjUxLCAxMjEsIDIxNiwgMzAsIAotICAgIDIyOCwgMTM3LCAzOCwgMjE5LCAyNTEsIDIyMiwgMjI4LCAyMTYsIDMwLCAyMjgsIDEzNywgMzgsIDE5OSwgMjQ4LCAzOCwgCi0gICAgMjE2LCAzMCwgMjI4LCAxMzcsIDM4LCAxOTksIDEyNSwgMjE2LCAzMCwgMjI4LCAxMzcsIDM4LCAxOTksIDEyMSwgMjE2LCAKLSAgICAzMCwgMjI4LCAxMzcsIDM4LCAxOTksIDIyMiwgMjI4LCAyMTYsIDMwLCAyMjgsIDEzNywgMzgsIDIyOSwgMTkzLCA3OCwgCi0gICAgMjI4LCAxMzcsIDM4LCA1MiwgNTksIDQ4LCAyMjgsIDEzNywgMTI1LCAxMzgsIDI1NCwgNTcsIDIyOCwgMTM3LCAxMjEsIAotICAgIDEzOCwgMjU0LCA1NywgMjI4LCAxMzcsIDE2LCAyMjYsIDE4NCwgMjQ4LCA1MCwgMjI4LCAxMzcsIDE2LCAyNDMsIDc4LCAKLSAgICAyMjgsIDEzNywgMjQ5LCAyMTksIDIyOCwgMTM3LCAyNDUsIDMxLCA3OCwgMjI4LCAxMzcsIDIzMywgMTA4LCAyMjEsIDI1MiwgCi0gICAgMSwgMjU0LCAxNzYsIDIyMSwgMjUyLCAxLCAyNTEsIDIyOCwgMjIxLCAyNTIsIDEsIDI0MywgMTEyLCAyMjEsIDI1MiwgMSwgCi0gICAgMjQ4LCAxOTQsIDIyMSwgMjUyLCAxLCAyMzUsIDE1MiwgMjIxLCAyNTIsIDEsIDI1MiwgMTg5LCAyMjEsIDI1MiwgMSwgMjEwLCAKLSAgICA4OSwgMjIxLCAyNTIsIDEsIDIzNSwgMTYwLCAyMjEsIDI1MiwgMSwgMjE2LCA2NywgMjIxLCAyNTIsIDEsIDIxMCwgMTgyLCAKLSAgICAyMjEsIDI1MiwgMSwgMjM1LCA5LCAyMjEsIDI1MiwgMSwgMjMzLCAxMjgsIDIyMSwgMjUyLCAxLCAyMzAsIDE5MCwgMjIxLCAKLSAgICAyNTIsIDEsIDIyNywgMTk0LCAyMjEsIDI1MiwgMSwgMjE5LCAxNTYsIDIyMSwgMjUyLCAxLCAyMzUsIDI1NSwgMjIxLCAyNTIsIAotICAgIDEsIDI0NCwgMTIxLCAyMjEsIDI1MiwgMSwgMjE1LCAxODEsIDIyMSwgMjUyLCAxLCAyMjQsIDEwLCAyMjEsIDI1MiwgMSwgCi0gICAgMjIyLCAyMjksIDIyMSwgMjUyLCAxLCAyMjAsIDg1LCAyMjEsIDI1MiwgMSwgMjE3LCAxMDAsIDIyMSwgMjUyLCAxNjQsIAotICAgIDIzNSwgMjU1LCAyMjEsIDI1MiwgMTY0LCAyMzUsIDI1NCwgMjIxLCAyNTIsIDE2NCwgMjI2LCAyNDMsIDIyMSwgMjUyLCAKLSAgICAxNjQsIDI0OCwgMjA3LCAyMjEsIDI1MiwgNTgsIDEsIDI0NSwgMTA1LCAyMTAsIDE4MiwgMjIxLCAyNTIsIDE2NCwgMjQ1LCAKLSAgICAxMDUsIDIxMCwgMTgyLCAyMjEsIDI1MiwgMjUsIDUsIDE5OSwgNzUsIDIyMSwgMjUyLCAyNSwgNSwgNzUsIDIyMSwgMjUyLCAKLSAgICAyNSwgNSwgMjI2LCAxMTgsIDI1NSwgNzMsIDIyMSwgMjUyLCAyNSwgNSwgMTk5LCAyNTUsIDczLCAyMjEsIDI1MiwgMjUsIDUsIAotICAgIDI1NSwgNzMsIDIyMSwgMjUyLCAyNSwgNSwgMjI2LCAxMTgsIDYxLCAyMjEsIDI1MiwgMjUsIDUsIDE5OSwgNjEsIDIyMSwgCi0gICAgMjUyLCAyNSwgNSwgNjEsIDIyMSwgMjUyLCA1OCwgMSwgMjE5LCAyNTEsIDYxLCAyMjEsIDI1MiwgMjUsIDUsIDIxOSwgMjUxLCAKLSAgICA2MSwgMjIxLCAyNTIsIDI1LCA1LCAxOTksIDcwLCAyMjEsIDI1MiwgMjUsIDUsIDcwLCAyMjEsIDI1MiwgNTgsIDEsIDczLCAKLSAgICAyMjEsIDI1MiwgMjUsIDUsIDE5OSwgNzMsIDIyMSwgMjUyLCAyNSwgNSwgNzMsIDIyMSwgMjUyLCAyNSwgNSwgNzYsIDIyMSwgCi0gICAgMjUyLCAyNSwgNSwgMjE4LCA0NSwgMjIxLCAyNTIsIDE2NCwgMjI5LCA5MiwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyMjksIDkyLCAKLSAgICAyMjEsIDI1MiwgMjI0LCAxNDEsIDI1NCwgMjE4LCAyMjEsIDI1MiwgMjI0LCAxNDEsIDI1NCwgMTE0LCAyMjEsIDI1MiwgCi0gICAgMjI0LCAxNDEsIDI1MiwgMTE0LCAyMjEsIDI1MiwgMjI0LCAxNDEsIDI1MywgMjAxLCAyMjEsIDI1MiwgMjI0LCAxNDEsIAotICAgIDIyMCwgOCwgMjIxLCAyNTIsIDI1NSwgMjEsIDc4LCAyMjEsIDI1MiwgMjI0LCAxNDEsIDIzMSwgNjgsIDIyNCwgNDUsIDIyMSwgCi0gICAgMjUyLCAyMjQsIDE0MSwgMjEwLCAzMSwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyMjQsIDQ1LCAyMjEsIDI1MiwgMjI0LCAxNDEsIAotICAgIDIxMCwgMTE0LCAyMjEsIDI1MiwgMjI0LCAxNDEsIDIxNSwgOTAsIDIyMSwgMjUyLCAyMjQsIDE0MSwgMjU0LCA5LCAyMjEsIAotICAgIDI1MiwgMjI0LCAxNDEsIDIxOSwgNTMsIDIzMSwgMTQ1LCAyMjEsIDI1MiwgMjI0LCAxNDEsIDI1NCwgMTAwLCAyMzEsIDE4MiwgCi0gICAgMSwgMjQyLCAyNCwgMjMxLCAxODIsIDEsIDI1NSwgMjUsIDIzMSwgMTgyLCAxLCAyNTQsIDIxNiwgMjMxLCAxODIsIDEsIAotICAgIDI1NCwgMjU1LCAyMzEsIDE4MiwgMSwgMjU0LCAyMDksIDIzMSwgMTgyLCAxLCAyMTQsIDEyNCwgMjMxLCAxODIsIDEsIDI1MywgCi0gICAgMTYwLCAyMzEsIDE4MiwgMSwgMjM1LCAxNjAsIDIzMSwgMTgyLCAxLCAyNTMsIDE5OCwgMjMxLCAxODIsIDEsIDI1NCwgMTgxLCAKLSAgICAyMzEsIDE4MiwgMSwgMjU0LCAxODYsIDIzMSwgMTgyLCAxLCAyNTQsIDE3OCwgMjMxLCAxODIsIDEsIDI1NCwgMTM2LCAyMzEsIAotICAgIDE4MiwgMSwgMjU0LCAxMjMsIDIzMSwgMTgyLCAxLCAyNTMsIDIzNywgMjMxLCAxODIsIDEsIDIzNSwgMjU1LCAyMzEsIDE4MiwgCi0gICAgMSwgMjU0LCA3MiwgMjMxLCAxODIsIDEsIDI1MywgMjA4LCAyMzEsIDE4MiwgMSwgMjU0LCA0NSwgMjMxLCAxODIsIDEsIAotICAgIDI1NCwgNDEsIDIzMSwgMTgyLCAxLCAyNTMsIDIzMSwgMjMxLCAxODIsIDEsIDI1MywgMjA2LCAyMzEsIDE4MiwgMSwgMjQ2LCAKLSAgICA1NSwgMjMxLCAxODIsIDEsIDIzNSwgMiwgMjMxLCAxODIsIDEsIDI1NCwgMTk2LCAyMzEsIDE4MiwgMjU0LCAyMjIsIDc4LCAKLSAgICAyMzEsIDE4MiwgMjEzLCAxMzYsIDc4LCAyMzEsIDE4MiwgMjQzLCA1MywgNzgsIDIzMSwgMTgyLCAyMjQsIDE0MCwgMTAsIDEsIAotICAgIDI1MiwgNTUsIDIsIDQsIDIxNCwgMTA2LCA1MSwgMTAsIDEsIDE1MSwgMiwgMTEzLCAxNzAsIDQ4LCAxMCwgMSwgMjE3LCA4MSwgCi0gICAgMiwgMTEzLCAxNzAsIDQ4LCAxMCwgMSwgMjQ0LCAxNDMsIDIsIDU5LCAyNTIsIDQzLCAyMiwgMTM0LCAxNzAsIDQ4LCAxMCwgCi0gICAgMSwgMjI0LCA4MiwgMiwgNTksIDUxLCAxMCwgMSwgMjMzLCAxMDMsIDIsIDUyLCAxMzAsIDEwLCAxLCA2NiwgMiwgMTM0LCAKLSAgICAxNzAsIDQ4LCAxMCwgMSwgNzksIDIsIDExMywgMTcwLCAyNTIsIDQzLCAyMiwgMjAyLCA0OCwgMTAsIDEsIDc5LCAyLCAxMTMsIAotICAgIDE3MCwgMjUyLCA0MywgMjIsIDU5LCA0OCwgMTAsIDEsIDIyMywgOTYsIDIsIDIzMiwgMTIzLCAxMCwgMSwgMjEyLCAzMSwgMiwgCi0gICAgNTksIDIxMSwgMjMxLCAxMCwgMSwgMjIyLCAyMDEsIDIxMSwgNDMsIDEwLCAyNDksIDk5LCAyNDQsIDE2NSwgMTAsIDI0OSwgCi0gICAgOTksIDI0OCwgMTg0LCAxMCwgMjQ5LCA5OSwgMjM0LCAyMDUsIDEwLCAyNDksIDk5LCAyNDQsIDE2MywgMTAsIDI0OSwgOTksIAotICAgIDI0OCwgMTgyLCAxMCwgMjQ5LCA5OSwgMjM0LCAyMDMsIDEwLCAxMzgsIDEyMywgNTksIDQ4LCAxMCwgMTM4LCAxMTMsIDE3MCwgCi0gICAgNDgsIDEwLCAxMzgsIDIzMiwgMTI0LCA0OCwgMTAsIDEzOCwgMTIzLCA1OSwgNTEsIDEwLCAxMzgsIDExMywgMTcwLCA1MSwgCi0gICAgMTAsIDEzOCwgMjMyLCAxMjQsIDUxLCAxMCwgMjA0LCAyNDQsIDE2MywgMTAsIDIwNCwgMjQ4LCAxODIsIDEwLCAyMDQsIAotICAgIDIzNCwgMjAzLCAxMCwgNCwgMTI1LCAyMTIsIDMwLCAxMCwgMjQ0LCAxNjYsIDIsIDIyMiwgMjMzLCAxMCwgMjQ0LCAxNjYsIAotICAgIDIsIDU5LCA0OCwgMTAsIDIzNCwgMjA2LCAyLCA1OSwgNTEsIDEwLCA0MywgMjUzLCAyNTAsIDQ4LCAxMCwgNDQsIDI1MywgCi0gICAgMjUwLCA0OCwgMTAsIDQzLCAyNTMsIDI1MCwgNTEsIDEwLCA0NCwgMjUzLCAyNTAsIDUxLCAxMCwgNTIsIDQ0LCAyNTMsIAotICAgIDI1MCwgNDgsIDEwLCA1MiwgNDQsIDI1MywgMjUwLCA3NywgMiwgMjQ3LCAxMjAsIDEwLCA0NCwgMjUzLCAyNTAsIDc3LCAyLCAKLSAgICAyNDcsIDEyMCwgMTAsIDI0OCwgMTg1LCAyLCAyNDcsIDEyMCwgODQsIDUsIDIzNSwgMTkzLCAyNTAsIDI1NSwgODQsIDUsIAotICAgIDI1MCwgMjU1LCA4NCwgNSwgMjU0LCA3NSwgODQsIDUsIDIxMywgMTQ3LCA4NCwgMSwgMjE5LCAyNTEsIDYxLCA4NCwgMSwgCi0gICAgNjEsIDg0LCAxLCAyNTUsIDczLCA4NCwgMSwgNzMsIDg0LCAxLCAyMzYsIDMzLCA4NCwgMSwgNzAsIDg0LCAxLCAyMTQsIAotICAgIDExOCwgODQsIDEsIDE0OSwgMTUzLCA4NCwgMSwgMTQ5LCAxNTYsIDg0LCAxLCAyNTEsIDIsIDc1LCA4NCwgMSwgMjE5LCAKLSAgICAyNTEsIDc1LCA4NCwgMSwgNzUsIDg0LCAxLCAyNTQsIDIwMSwgODQsIDEsIDI1MSwgMiwgNzYsIDg0LCAxLCAyMTksIDI1MSwgCi0gICAgNzYsIDg0LCAxLCA3NiwgODQsIDEsIDI1MywgMTkyLCA4NCwgMSwgMTc2LCA4NCwgMSwgMjM0LCAxMzIsIDg0LCAxLCAyNDMsIAotICAgIDEzNSwgODQsIDEsIDI0MiwgMjQ5LCA4NCwgMSwgMjI5LCA3NywgODQsIDEsIDI1MSwgMzMsIDg0LCAxLCAyNTAsIDE1NywgCi0gICAgODQsIDEsIDIzNSwgMTQxLCA4NCwgMSwgMjM1LCAxMTQsIDg0LCAxLCAyMjcsIDE2NSwgODQsIDEsIDIxNSwgMTU2LCA4NCwgCi0gICAgMSwgMjE1LCAxNDQsIDg0LCAxLCAyNDgsIDEzNSwgODQsIDEsIDI0OCwgMTE5LCA4NCwgMSwgMjI4LCAxMTAsIDg0LCAxLCAKLSAgICAyMTcsIDEwNSwgODQsIDEsIDIxNiwgMjA4LCA4NCwgMSwgMjQ4LCAyMjEsIDg0LCAxLCAyNDgsIDI1LCA4NCwgMSwgMTk3LCAKLSAgICA4NCwgMSwgMjI4LCA5MiwgODQsIDEsIDE5MCwgODQsIDEsIDIyNSwgMTQ3LCA4NCwgMSwgMjUyLCAxOTEsIDg0LCAxLCAyNTIsIAotICAgIDE4LCA4NCwgMSwgMTg0LCA4NCwgMSwgMTkxLCA4NCwgMSwgMjA1LCA4NCwgMSwgMjIyLCAxNzksIDg0LCAxLCAyMzMsIDEzNSwgCi0gICAgODQsIDEsIDIzMiwgMTg0LCA4NCwgMSwgMjMyLCAxNzUsIDg0LCAxLCAyMTQsIDI3LCA4NCwgMSwgMjIwLCAxMDIsIDg0LCAxLCAKLSAgICAyMTgsIDIyMywgODQsIDEsIDIwNiwgODQsIDEsIDE2MiwgODQsIDI1LCA1LCAyMjYsIDIzNCwgODQsIDI1LCA1LCAyMjYsIAotICAgIDE4MSwgODQsIDUsIDIyNywgMjA1LCA4NCwgNSwgMjUzLCAxNzUsIDg0LCAyNSwgNSwgMjU1LCA3MywgODQsIDI1LCA1LCA3MywgCi0gICAgODQsIDI1LCA1LCAyMzYsIDMzLCA4NCwgMjUsIDUsIDcwLCA4NCwgMjUsIDUsIDIxNCwgMTE4LCA4NCwgMjUsIDUsIDE0OSwgCi0gICAgMTUzLCA4NCwgMjUsIDUsIDE0OSwgMjIyLCAxODAsIDg0LCAyNSwgNSwgMjUxLCAyLCA3NSwgODQsIDI1LCA1LCAyMTksIAotICAgIDI1MSwgNzUsIDg0LCAyNSwgNSwgNzUsIDg0LCAyNSwgNSwgMjU0LCAyMDEsIDg0LCAyNSwgNSwgMjUxLCAyLCA3NiwgODQsIAotICAgIDI1LCA1LCAyMTksIDI1MSwgNzYsIDg0LCAyNSwgNSwgNzYsIDg0LCAyNSwgNSwgMjUzLCAxOTIsIDg0LCA1LCAyMTMsIDE1MiwgCi0gICAgODQsIDI1LCA1LCAyMjQsIDE4NSwgNzUsIDg0LCAyNSwgNSwgMjUzLCAxNzEsIDg0LCAyMjYsIDIwNCwgODQsIDIxOCwgMTExLCAKLSAgICA1LCAyMTQsIDIxNiwgODQsIDIxOCwgMTExLCA1LCAyNTQsIDc3LCA4NCwgMjQyLCAxMzcsIDI1NSwgMTQsIDg0LCAyNTUsIDMsIAotICAgIDI1NSwgMTQsIDg0LCAyNSwgNSwgMjUxLCAyLCAxOTksIDc1LCA4NCwgMjUsIDUsIDIxNCwgMjE0LCA4NCwgMjUsIDUsIDIxNCwgCi0gICAgMTE3LCA4NCwgMSwgMjI0LCA4OCwgODQsIDEsIDIzNCwgMTE1LCA4NCwgMSwgMjQyLCAyMjYsIDg0LCAxLCAyMTAsIDExNiwgCi0gICAgODQsIDEsIDI0OCwgMTI0LCA4NCwgMSwgMjIzLCAzOSwgODQsIDEsIDI0NCwgMTk2LCA4NCwgMSwgMjEwLCAxNjgsIDg0LCAxLCAKLSAgICAxNDksIDIyMiwgMTgwLCA4NCwgMSwgMTQ5LCAyMzIsIDE4NSwgODQsIDI1LCA1LCAxNDksIDE1NiwgODQsIDI1LCA1LCAxNDksIAotICAgIDIzMiwgMTg1LCA4NCwgMjQ4LCAxNzgsIDg0LCA1MiwgMjQ4LCAxNzgsIDg0LCAyMSwgMjEwLCA4NiwgODQsIDIxLCAxMTAsIAotICAgIDg0LCAyMSwgMTA1LCA4NCwgMjEsIDE1OCwgODQsIDIxLCAxNjEsIDg0LCAyMSwgMTg5LCA4NCwgMjEsIDE5NCwgODQsIDIxLCAKLSAgICAxOTgsIDg0LCAyMSwgMTk1LCA4NCwgMjEsIDIwMCwgODQsIDI1NSwgMjEsIDUwLCA4NCwgNSwgMTI1LCAyMTksIDE3LCAyNDcsIAotICAgIDEyMCwgODQsIDEsIDI1MSwgMiwgNjEsIDg0LCAxLCAyMjYsIDIzNCwgODQsIDEsIDIyNiwgMTgxLCA4NCwgMSwgMjUzLCAKLSAgICAxNzEsIDg0LCAxLCAyMTQsIDIxNCwgODQsIDEsIDIxNCwgMTE3LCA4NCwgMSwgMjEwLCA4MiwgODQsIDEsIDExNCwgMTkxLCAKLSAgICA4NCwgMSwgMjQzLCAyOSwgODQsIDEsIDIzNSwgOTYsIDg0LCAxLCAyNDIsIDE4MCwgMjE4LCAxMjksIDg0LCAxLCAyNDgsIAotICAgIDEyNSwgODQsIDEsIDI1MiwgMTExLCAxNDYsIDUsIDI1MCwgMjU1LCAxNDYsIDUsIDI1NCwgNzUsIDE0NiwgNSwgMjEzLCAKLSAgICAxNDcsIDE0NiwgMSwgNjEsIDE0NiwgMSwgMjU1LCA3MywgMTQ2LCAxLCA3MywgMTQ2LCAxLCAyMzYsIDMzLCAxNDYsIDEsIAotICAgIDcwLCAxNDYsIDEsIDIxNCwgMTE4LCAxNDYsIDEsIDE0OSwgMTUzLCAxNDYsIDEsIDE0OSwgMTU2LCAxNDYsIDEsIDc1LCAKLSAgICAxNDYsIDEsIDI1NCwgMjAxLCAxNDYsIDEsIDc2LCAxNDYsIDEsIDI1MywgMTkyLCAxNDYsIDEsIDE3NiwgMTQ2LCAxLCAyMzQsIAotICAgIDEzMiwgMTQ2LCAxLCAyNDMsIDEzNSwgMTQ2LCAxLCAyNDIsIDI0OSwgMTQ2LCAxLCAyMjksIDc3LCAxNDYsIDEsIDI1MSwgCi0gICAgMzMsIDE0NiwgMSwgMjUwLCAxNTcsIDE0NiwgMSwgMjM1LCAxNDEsIDE0NiwgMSwgMjM1LCAxMTQsIDE0NiwgMSwgMjI3LCAKLSAgICAxNjUsIDE0NiwgMSwgMjE1LCAxNTYsIDE0NiwgMSwgMjE1LCAxNDQsIDE0NiwgMSwgMjQ4LCAxMzUsIDE0NiwgMSwgMjQ4LCAKLSAgICAxMTksIDE0NiwgMSwgMjI4LCAxMTAsIDE0NiwgMSwgMjE3LCAxMDUsIDE0NiwgMSwgMjE2LCAyMDgsIDE0NiwgMSwgMjQ4LCAKLSAgICAyMjEsIDE0NiwgMSwgMjQ4LCAyNSwgMTQ2LCAxLCAxOTcsIDE0NiwgMSwgMTkwLCAxNDYsIDEsIDIyNSwgMTQ3LCAxNDYsIDEsIAotICAgIDI1MiwgMTkxLCAxNDYsIDEsIDI1MiwgMTgsIDE0NiwgMSwgMTg0LCAxNDYsIDEsIDE5MSwgMTQ2LCAxLCAyMDUsIDE0NiwgMSwgCi0gICAgMjMzLCAxMzUsIDE0NiwgMSwgMjIwLCAxMDIsIDE0NiwgMSwgMjE4LCAyMjMsIDE0NiwgMSwgMjA2LCAxNDYsIDEsIDE2MiwgCi0gICAgMTQ2LCA1LCAyMjcsIDIwNSwgMTQ2LCA1LCAyNTMsIDE3NSwgMTQ2LCAyNSwgNSwgMjU1LCA3MywgMTQ2LCAyNSwgNSwgNzMsIAotICAgIDE0NiwgMjUsIDUsIDIzNiwgMzMsIDE0NiwgMjUsIDUsIDcwLCAxNDYsIDI1LCA1LCAyMTQsIDExOCwgMTQ2LCAyNSwgNSwgCi0gICAgMTQ5LCAxNTMsIDE0NiwgMjUsIDUsIDE0OSwgMjIyLCAxODAsIDE0NiwgMjUsIDUsIDc1LCAxNDYsIDI1LCA1LCAyNTQsIAotICAgIDIwMSwgMTQ2LCAyNSwgNSwgNzYsIDE0NiwgMjUsIDUsIDI1MywgMTkyLCAxNDYsIDUsIDIxMywgMTUyLCAxNDYsIDEsIDIzNCwgCi0gICAgMTI0LCAyMTcsIDEwNSwgMTQ2LCAyNTMsIDE5MywgMjMzLCAyMywgNzgsIDE0NiwgMSwgMjIyLCAxNzksIDE0NiwgMSwgMjIzLCAKLSAgICAzOSwgMTQ2LCAxLCAyMTAsIDE2OCwgMTQ2LCAxLCAxNDksIDIyMiwgMTgwLCAxNDYsIDEsIDE0OSwgMjMyLCAxODUsIDE0NiwgCi0gICAgMjUsIDUsIDE0OSwgMTU2LCAxNDYsIDI1LCA1LCAxNDksIDIzMiwgMTg1LCAxNDYsIDIxLCAyMTAsIDg2LCAxNDYsIDIxLCAKLSAgICAxMTAsIDE0NiwgMjEsIDEwNSwgMTQ2LCAyMSwgMTU4LCAxNDYsIDIxLCAxNjEsIDE0NiwgMjEsIDE4OSwgMTQ2LCAyMSwgCi0gICAgMTk0LCAxNDYsIDIxLCAxOTgsIDE0NiwgMjEsIDE5NSwgMTQ2LCAyMSwgMjAwLCAxNDYsIDEsIDIyMywgMTg4LCAyLCAyMzAsIAotICAgIDIyNCwgMjQ3LCAyNTQsIDE0NiwgMSwgMjIzLCAxODgsIDIsIDIzMiwgMTA4LCAyNDcsIDI1NCwgMTQ2LCAyMjIsIDExOCwgCi0gICAgNzgsIDE0NiwgMjIyLCAxMTgsIDUwLCAxNDYsIDI0OSwgOTgsIDIyNywgMTk3LCAxMTAsIDE0NiwgMjQ5LCA5OCwgMjI3LCAKLSAgICAxOTcsIDEwNSwgMTQ2LCAyNDksIDk4LCAyMjcsIDE5NywgMTU4LCAxNDYsIDI0OSwgOTgsIDIyNywgMTk3LCAxNjEsIDE0NiwgCi0gICAgMjQ5LCA5OCwgMjI3LCAxOTcsIDEyMywgMjMzLCAxNiwgMjE2LCAyMDEsIDIxNiwgMTk2LCAyNDgsIDQ4LCAxNDYsIDI0OSwgCi0gICAgOTgsIDI0OCwgNDksIDIxOSwgMTE5LCAxNDYsIDIzNSwgMTYxLCAxNDYsIDI0MywgMTAzLCA3OCwgMTgzLCA1LCAyNTQsIAotICAgIDI1NCwgMjUxLCAyNDMsIDE4MywgNSwgMjUxLCAyNDMsIDE4MywgNSwgMjEzLCAxNDcsIDE4MywgMSwgNjEsIDE4MywgMSwgCi0gICAgMjU1LCA3MywgMTgzLCAxLCA3MywgMTgzLCAxLCAyMzYsIDMzLCAxODMsIDEsIDcwLCAxODMsIDEsIDIxNCwgMTE4LCAxODMsIAotICAgIDEsIDI0NSwgMjA5LCAxODMsIDEsIDI1NCwgMjAxLCAxODMsIDEsIDIyNiwgMTgzLCAxODMsIDEsIDI1MywgMTkyLCAxODMsIAotICAgIDEsIDE3NiwgMTgzLCAxLCAyMzQsIDEzMiwgMTgzLCAxLCAyNDMsIDEzNSwgMTgzLCAxLCAyNDIsIDI0OSwgMTgzLCAxLCAKLSAgICAyMjksIDc3LCAxODMsIDEsIDI1MSwgMzMsIDE4MywgMSwgMjUwLCAxNTcsIDE4MywgMSwgMjM1LCAxNDEsIDE4MywgMSwgCi0gICAgMjM1LCAxMTQsIDE4MywgMSwgMjI3LCAxNjUsIDE4MywgMSwgMjE1LCAxNTYsIDE4MywgMSwgMjE1LCAxNDQsIDE4MywgMSwgCi0gICAgMjQ4LCAxMzUsIDE4MywgMSwgMjQ4LCAxMTksIDE4MywgMSwgMjI4LCAxMTAsIDE4MywgMSwgMjE3LCAxMDUsIDE4MywgMSwgCi0gICAgMjE2LCAyMDgsIDE4MywgMSwgMjQ4LCAyMjEsIDE4MywgMSwgMjQ4LCAyNSwgMTgzLCAxLCAxOTcsIDE4MywgMSwgMTkwLCAKLSAgICAxODMsIDEsIDIyNSwgMTQ3LCAxODMsIDEsIDI1MiwgMTkxLCAxODMsIDEsIDI1MiwgMTgsIDE4MywgMSwgMTg0LCAxODMsIDEsIAotICAgIDE5MSwgMTgzLCAxLCAyMDUsIDE4MywgMSwgMjMzLCAxMzUsIDE4MywgMSwgMjMyLCAxODQsIDE4MywgMSwgMjE0LCAyNywgCi0gICAgMTgzLCAxLCAyMjAsIDEwMiwgMTgzLCAxLCAyMDYsIDE4MywgMSwgMTYyLCAxODMsIDUsIDIyNywgMjA1LCAxODMsIDI1LCA1LCAKLSAgICAyNTUsIDczLCAxODMsIDI1LCA1LCA3MywgMTgzLCAyNSwgNSwgMjM2LCAzMywgMTgzLCAyNSwgNSwgNzAsIDE4MywgMjUsIDUsIAotICAgIDIxNCwgMTE4LCAxODMsIDI1LCA1LCAyNDUsIDIwOSwgMTgzLCAyNSwgNSwgMjU0LCAyMDEsIDE4MywgMjUsIDUsIDIyNiwgCi0gICAgMTgzLCAxODMsIDI1LCA1LCAyNTMsIDE5MiwgMTgzLCA1LCAyMTMsIDE1MiwgMTgzLCA1LCAyMTQsIDIxOCwgMTgzLCAxLCAKLSAgICAyMzQsIDExNSwgMTgzLCAxLCAyNDIsIDIyNiwgMTgzLCAxLCAyMTAsIDExNiwgMTgzLCAxLCAyMjIsIDE3OSwgMTgzLCAxLCAKLSAgICAyNDQsIDE5NiwgMTgzLCAyMSwgMjEwLCA4NiwgMTgzLCAyMSwgMTEwLCAxODMsIDIxLCAxMDUsIDE4MywgMjEsIDE1OCwgCi0gICAgMTgzLCAyMSwgMTYxLCAxODMsIDIxLCAxODksIDE4MywgMjEsIDE5NCwgMTgzLCAyMSwgMTk4LCAxODMsIDIxLCAxOTUsIAotICAgIDE4MywgMjEsIDIwMCwgMTgzLCAyMTYsIDc0LCAxODMsIDI1NCwgMjUzLCAxODMsIDIzNSwgMTc4LCAxODMsIDIxNCwgMTQ2LCAKLSAgICAxODMsIDI0NSwgMTgxLCAyMjYsIDE4OCwgMTgzLCA1LCAyMTEsIDc4LCAxNzEsIDUsIDI1MCwgMjU1LCAxNzEsIDUsIDI1NCwgCi0gICAgNzUsIDE3MSwgNSwgMjEzLCAxNDcsIDE3MSwgMSwgNjEsIDE3MSwgMSwgMjU1LCA3MywgMTcxLCAxLCA3MywgMTcxLCAxLCAKLSAgICAyMzYsIDMzLCAxNzEsIDEsIDcwLCAxNzEsIDEsIDIxNCwgMTE4LCAxNzEsIDEsIDE0OSwgMTUzLCAxNzEsIDEsIDE0OSwgCi0gICAgMTU2LCAxNzEsIDI1LCAyNTEsIDIsIDc1LCAxNzEsIDEsIDc1LCAxNzEsIDEsIDI1NCwgMjAxLCAxNzEsIDI1LCAyNTEsIDIsIAotICAgIDc2LCAxNzEsIDEsIDc2LCAxNzEsIDEsIDI1MywgMTkyLCAxNzEsIDEsIDE3NiwgMTcxLCAxLCAyMzQsIDEzMiwgMTcxLCAxLCAKLSAgICAyNDMsIDEzNSwgMTcxLCAxLCAyNDIsIDI0OSwgMTcxLCAxLCAyMjksIDc3LCAxNzEsIDEsIDI1MSwgMzMsIDE3MSwgMSwgCi0gICAgMjUwLCAxNTcsIDE3MSwgMSwgMjM1LCAxNDEsIDE3MSwgMSwgMjM1LCAxMTQsIDE3MSwgMSwgMjI3LCAxNjUsIDE3MSwgMSwgCi0gICAgMjE1LCAxNTYsIDE3MSwgMSwgMjE1LCAxNDQsIDE3MSwgMSwgMjQ4LCAxMzUsIDE3MSwgMSwgMjQ4LCAxMTksIDE3MSwgMSwgCi0gICAgMjI4LCAxMTAsIDE3MSwgMSwgMjE3LCAxMDUsIDE3MSwgMSwgMjE2LCAyMDgsIDE3MSwgMSwgMjQ4LCAyMjEsIDE3MSwgMSwgCi0gICAgMjQ4LCAyNSwgMTcxLCAxLCAxOTcsIDE3MSwgMSwgMTkwLCAxNzEsIDEsIDIyNSwgMTQ3LCAxNzEsIDEsIDI1MiwgMTkxLCAKLSAgICAxNzEsIDEsIDI1MiwgMTgsIDE3MSwgMSwgMTg0LCAxNzEsIDEsIDE5MSwgMTcxLCAxLCAyMDUsIDE3MSwgMSwgMjMzLCAxMzUsIAotICAgIDE3MSwgMSwgMjMyLCAxODQsIDE3MSwgMSwgMjE0LCAyNywgMTcxLCAxLCAyMjAsIDEwMiwgMTcxLCAxLCAyMTgsIDIyMywgCi0gICAgMTcxLCAxLCAyMDYsIDE3MSwgMSwgMTYyLCAxNzEsIDUsIDIyNywgMjA1LCAxNzEsIDUsIDI1MywgMTc1LCAxNzEsIDI1LCA1LCAKLSAgICAyNTUsIDczLCAxNzEsIDI1LCA1LCA3MywgMTcxLCAyNSwgNSwgMjM2LCAzMywgMTcxLCAyNSwgNSwgNzAsIDE3MSwgMjUsIDUsIAotICAgIDIxNCwgMTE4LCAxNzEsIDI1LCA1LCAxNDksIDE1MywgMTcxLCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgMTcxLCAyNSwgNSwgCi0gICAgMjUxLCAyLCA3NSwgMTcxLCAyNSwgNSwgNzUsIDE3MSwgMjUsIDUsIDI1NCwgMjAxLCAxNzEsIDI1LCA1LCAyNTEsIDIsIDc2LCAKLSAgICAxNzEsIDI1LCA1LCA3NiwgMTcxLCAyNSwgNSwgMjUzLCAxOTIsIDE3MSwgNSwgMjEzLCAxNTIsIDE3MSwgMjI2LCAyMDQsIAotICAgIDE3MSwgMSwgMTQ5LCAyMjIsIDE4MCwgMTcxLCAxLCAxNDksIDIzMiwgMTg1LCAxNzEsIDI1LCA1LCAxNDksIDE1NiwgMTcxLCAKLSAgICAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTcxLCAyMSwgMjEwLCA4NiwgMTcxLCAyMSwgMTEwLCAxNzEsIDIxLCAxMDUsIDE3MSwgCisgICAgNiwgMSwgMjEwLCAxNTksIDQzLCA0MiwgMTI3LCAyMjMsIDUxLCAyMTksIDQ3LCA0NCwgNDIsIDEyNywgMjUwLCAzMiwgMjU1LCAKKyAgICAxNSwgMTIxLCAyMzIsIDIxNCwgMjQyLCAxMzgsIDI1NSwgMTUsIDcsIDQsIDEsIDYxLCA3LCA0LCAxLCAyNTMsIDE1OSwgNywgCisgICAgNCwgMSwgMjUxLCA2NywgNywgNCwgMSwgMjQ5LCA2MSwgNywgNCwgMSwgNzUsIDcsIDQsIDEsIDI0NSwgNywgNywgNCwgMSwgCisgICAgMjQzLCAyMDMsIDcsIDQsIDEsIDI0MiwgNjEsIDcsIDQsIDEsIDczLCA3LCA0LCAxLCAyMzUsIDE0NSwgNywgNCwgMSwgMjM1LCAKKyAgICAyNCwgNywgNCwgMSwgMTU2LCA3LCA0LCAxLCAxOTMsIDcsIDQsIDEsIDIzMCwgMjYsIDcsIDQsIDEsIDc2LCA3LCA0LCAxLCAKKyAgICAyMjYsIDEwNiwgNywgNCwgMSwgMjI0LCA5NywgNywgNCwgMSwgMTUzLCA3LCA0LCAxLCAyMjIsIDkyLCA3LCA0LCAxLCAyMTcsIAorICAgIDE1MywgNywgNCwgMSwgNzAsIDcsIDQsIDEsIDIxNCwgMTA1LCA3LCA0LCAxLCAyMTIsIDk4LCA3LCA0LCAxLCAyMTEsIDE3OCwgCisgICAgNywgNCwgMSwgMjExLCAxMTcsIDcsIDQsIDEsIDIxMCwgMTU5LCA0MywgMjQ5LCAxMDAsIDEyNywgNjcsIDIzMiwgMjE0LCAKKyAgICA0NCwgMjQ5LCAxMDAsIDEyNywgMTgzLCAyMjgsIDc0LCAyMTksIDE5LCAyMzUsIDE5NCwgMjQ1LCAzMiwgNzgsIDI1MCwgCisgICAgMTc3LCA1MCwgMjI0LCAyMjksIDUwLCAyNDksIDk5LCA1MCwgMjExLCA0MCwgNTAsIDI1MSwgMTM2LCAxMzAsIDIyMSwgMTc0LCAKKyAgICA1MCwgMjQ4LCAyLCAyNDksIDE2NCwgNTAsIDI0NCwgMTM3LCAyMjYsIDE1NSwgMjM1LCAyMzksIDIzMywgNDMsIDUyLCAyNTQsIAorICAgIDExMSwgMjIzLCAyNTUsIDc4LCAyMjgsIDUzLCA1MCwgMjE5LCA1MywgMjQwLCAxNjksIDIyMywgMTAzLCA1MCwgMjMxLCAKKyAgICAyMzMsIDI0OCwgNzIsIDUwLCAyMjUsIDIyLCA1MCwgMjE4LCAyNCwgMTA1LCAyMTgsIDI0LCAxNTgsIDI1NSwgNCwgMjU1LCAKKyAgICAxNSwgMjMwLCAyMjksIDUwLCAyMjUsIDY5LCA1MCwgMjMwLCAyMjUsIDI0NywgMTIxLCAyNTAsIDE4NCwgMjE4LCAyNCwgCisgICAgMTEwLCAyMzEsIDE0OSwgMjI2LCAxNTUsIDIzNSwgMjM5LCAyMjIsIDI0OCwgNTIsIDI1NCwgMTExLCAyMjMsIDI1NSwgNzgsIAorICAgIDIxMiwgMTE0LCAyNDQsIDMsIDEyMywgMjI0LCAyMiwgMjEyLCAxMTQsIDI0NCwgMywgMTIzLCAyNDIsIDI4LCAyMTIsIDExNCwgCisgICAgMjQ0LCAzLCAxMzQsIDIyNCwgMjAsIDIzNSwgMTk0LCAyMjQsIDE0LCA3OCwgNywgNiwgMSwgMTE1LCAyLCAyNDIsIDEzNywgCisgICAgNywgNiwgMSwgMTE1LCAyLCAxNDIsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMSwgNywgNiwgMSwgMTE1LCAyLCAxODMsIDcsIAorICAgIDYsIDEsIDExNSwgMiwgMjQ4LCAyLCA3LCA2LCAxLCAxMTUsIDIsIDIyMiwgMjM1LCA0OCwgNywgNiwgMSwgMjU0LCAyNDQsIAorICAgIDcsIDYsIDEsIDI1MSwgNjgsIDIsIDI1MCwgMTg0LCA3LCA2LCAxLCAxNjAsIDIsIDI0MiwgMTM3LCA3LCA2LCAxLCAxNjAsIAorICAgIDIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMxLCA3LCA2LCAxLCAxNjAsIDIsIDI0OCwgMiwgNywgNiwgMSwgMjQwLCAKKyAgICAxNTUsIDIsIDI0MiwgMTM3LCA3LCA2LCAxLCAyNDAsIDE1NSwgMiwgMTQyLCA3LCA2LCAxLCAyNDAsIDE1NSwgMiwgMjUwLCAKKyAgICAzMSwgNywgNiwgMSwgMjQwLCAxNTUsIDIsIDI0OCwgMiwgNywgNiwgMSwgMjQ1LCA2MCwgNywgNiwgMSwgMjMwLCAyNywgMiwgCisgICAgMTgzLCA3LCA2LCAxLCAxNDQsIDIsIDI0MiwgMTM3LCA3LCA2LCAxLCAxNDQsIDIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAKKyAgICAyNTAsIDMxLCA3LCA2LCAxLCAxNDQsIDIsIDE4MywgNywgNiwgMSwgMTQ0LCAyLCAyNDgsIDIsIDIzMCwgODUsIDUwLCA3LCAKKyAgICA2LCAxLCAxNDQsIDIsIDkxLCA3LCA2LCAxLCAxMDQsIDIsIDI0MiwgMTM3LCA3LCA2LCAxLCAxMDQsIDIsIDE0MiwgNywgNiwgCisgICAgMSwgMTA0LCAyLCAyNTAsIDMxLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMiwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDE0MiwgCisgICAgNywgNiwgMSwgMjE2LCAxNTIsIDcsIDQsIDEsIDIyMCwgNzcsIDIyMiwgOTIsIDcsIDQsIDEsIDExNSwgMiwgMjQyLCAxMzcsIAorICAgIDcsIDQsIDEsIDExNSwgMiwgMTQyLCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMzEsIDcsIDQsIDEsIDExNSwgMiwgMTgzLCA3LCAKKyAgICA0LCAxLCAxMTUsIDIsIDI0OCwgMiwgNywgNCwgMSwgMTE1LCAyLCAyMjIsIDIzNSwgNDgsIDcsIDQsIDEsIDI1NCwgMjQ0LCAKKyAgICA3LCA0LCAxLCAyNTEsIDY4LCAyLCAyNTAsIDE4NCwgNywgNCwgMSwgMTYwLCAyLCAyNDIsIDEzNywgNywgNCwgMSwgMTYwLCAKKyAgICAyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzMSwgNywgNCwgMSwgMTYwLCAyLCAyNDgsIDIsIDcsIDQsIDEsIDI0MCwgCisgICAgMTU1LCAyLCAyNDIsIDEzNywgNywgNCwgMSwgMjQwLCAxNTUsIDIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNTUsIDIsIDI1MCwgCisgICAgMzEsIDcsIDQsIDEsIDI0MCwgMTU1LCAyLCAyNDgsIDIsIDcsIDQsIDEsIDI0NSwgNjAsIDcsIDQsIDEsIDIzMCwgMjcsIDIsIAorICAgIDE4MywgNywgNCwgMSwgMTQ0LCAyLCAyNDIsIDEzNywgNywgNCwgMSwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgCisgICAgMjUwLCAzMSwgNywgNCwgMSwgMTQ0LCAyLCAxODMsIDcsIDQsIDEsIDE0NCwgMiwgMjQ4LCAyLCAyNDcsIDE3MCwgNTAsIDcsIAorICAgIDQsIDEsIDE0NCwgMiwgOTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDEwNCwgMiwgMTQyLCA3LCA0LCAKKyAgICAxLCAxMDQsIDIsIDI1MCwgMzEsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAyLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgMTQyLCAKKyAgICA3LCA0LCAxLCAyMTYsIDE1MiwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI0OCwgMiwgNywgNiwgMSwgMTE1LCAyLCAyMzEsIAorICAgIDIzMywgNywgNCwgMSwgMTE1LCAyLCAyMzEsIDIzMywgNywgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NywgNywgNCwgMSwgMTE1LCAKKyAgICAyLCAyNTEsIDE0NywgNywgNiwgMSwgMTE1LCAyLCAyMjYsIDIyNSwgNywgNCwgMSwgMTE1LCAyLCAyMjYsIDIyNSwgNywgNiwgCisgICAgMSwgMjUxLCA2OCwgMiwgMTQyLCA3LCA0LCAxLCAyNTEsIDY4LCAyLCAxNDIsIDcsIDYsIDEsIDI1MSwgNjgsIDIsIDI1MCwgCisgICAgMzEsIDcsIDQsIDEsIDI1MSwgNjgsIDIsIDI1MCwgMzEsIDcsIDYsIDEsIDI1MSwgNjgsIDIsIDU5LCA0OCwgNywgNCwgMSwgCisgICAgMjUxLCA2OCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNTEsIDY4LCAyLCAyNTAsIDIzNSwgNywgNCwgMSwgMjUxLCA2OCwgMiwgCisgICAgMjUwLCAyMzUsIDcsIDYsIDEsIDI0OSwgNjIsIDIsIDI1MCwgMjM1LCA3LCA0LCAxLCAyNDksIDYyLCAyLCAyNTAsIDIzNSwgCisgICAgNywgNiwgMSwgMjQ5LCA2MiwgMiwgOTEsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDkxLCA3LCA2LCAxLCAxNjAsIDIsIDIzMSwgCisgICAgMjMzLCA3LCA0LCAxLCAxNjAsIDIsIDIzMSwgMjMzLCA3LCA2LCAxLCAxNjAsIDIsIDI1MSwgMTQ3LCA3LCA0LCAxLCAxNjAsIAorICAgIDIsIDI1MSwgMTQ3LCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTYwLCAyLCA1OSwgNDgsIDcsIDYsIDEsIAorICAgIDE2MCwgMiwgMjI2LCAyMjUsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjUsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAyMzUsIAorICAgIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAyMzUsIDcsIDYsIDEsIDI0MywgMjA0LCAyLCAyNTAsIDMxLCA3LCA0LCAxLCAyNDMsIAorICAgIDIwNCwgMiwgMjUwLCAzMSwgNywgNiwgMSwgMjQzLCAyMDQsIDIsIDI1MSwgMTQ3LCA3LCA0LCAxLCAyNDMsIDIwNCwgMiwgCisgICAgMjUxLCAxNDcsIDcsIDYsIDEsIDI0MywgMjA0LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0MywgMjA0LCAyLCA1OSwgNDgsIDcsIAorICAgIDYsIDEsIDI0MywgMjA0LCAyLCAyNTAsIDE4NCwgNywgNCwgMSwgMjQzLCAyMDQsIDIsIDI1MCwgMTg0LCA3LCA2LCAxLCAKKyAgICAyNDIsIDYyLCAyLCAyNTAsIDMxLCA3LCA0LCAxLCAyNDIsIDYyLCAyLCAyNTAsIDMxLCA3LCA2LCAxLCAyNDIsIDYyLCAyLCAKKyAgICA5MSwgNywgNCwgMSwgMjQyLCA2MiwgMiwgOTEsIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCAxODMsIDcsIDQsIDEsIDI0MCwgCisgICAgMTU1LCAyLCAxODMsIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCAyMzEsIDIzMywgNywgNCwgMSwgMjQwLCAxNTUsIDIsIDIzMSwgCisgICAgMjMzLCA3LCA2LCAxLCAyNDAsIDE1NSwgMiwgMjUxLCAxNDcsIDcsIDQsIDEsIDI0MCwgMTU1LCAyLCAyNTEsIDE0NywgNywgCisgICAgNiwgMSwgMjQwLCAxNTUsIDIsIDIyNiwgMjI1LCA3LCA0LCAxLCAyNDAsIDE1NSwgMiwgMjI2LCAyMjUsIDcsIDYsIDEsIAorICAgIDI0MCwgMTU1LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0NywgMTIwLCA3MywgNywgNiwgMjcsIDIzNiwgMzIsIDcsIDQsIDI3LCAKKyAgICAyMzYsIDMyLCA3LCA2LCAxLCAyMzUsIDE0NiwgMiwgMjUwLCAzMSwgNywgNCwgMSwgMjM1LCAxNDYsIDIsIDI1MCwgMzEsIDcsIAorICAgIDYsIDEsIDIzNSwgMjUsIDIsIDI1MCwgMTg0LCA3LCA0LCAxLCAyMzUsIDI1LCAyLCAyNTAsIDE4NCwgNywgNCwgMSwgMjMzLCAKKyAgICAyNDAsIDcsIDYsIDEsIDIzMywgMTUwLCAyLCAxNDIsIDcsIDQsIDEsIDIzMywgMTUwLCAyLCAxNDIsIDcsIDYsIDEsIDIzMywgCisgICAgMTUwLCAyLCAyNTAsIDE4NCwgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDI1MCwgMTg0LCA3LCA2LCAxLCAyMzMsIDE1MCwgMiwgCisgICAgMjUwLCAyMzUsIDcsIDQsIDEsIDIzMywgMTUwLCAyLCAyNTAsIDIzNSwgNywgNiwgMSwgMjMzLCAxNTAsIDIsIDIzMCwgMjI1LCAKKyAgICAyNDcsIDEyMSwgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDIzMCwgMjI1LCAyNDcsIDEyMSwgNywgNiwgMSwgMjMzLCAxNTAsIDIsIAorICAgIDkxLCA3LCA0LCAxLCAyMzMsIDE1MCwgMiwgOTEsIDcsIDYsIDEsIDIzMCwgMjcsIDIsIDE0MiwgNywgNCwgMSwgMjMwLCAyNywgCisgICAgMiwgMTQyLCA3LCA2LCAxLCAyMzAsIDI3LCAyLCAyNTAsIDE4NCwgNywgNCwgMSwgMjMwLCAyNywgMiwgMjUwLCAxODQsIDcsIAorICAgIDYsIDEsIDIzMCwgMjcsIDIsIDI1MCwgMjM1LCA3LCA0LCAxLCAyMzAsIDI3LCAyLCAyNTAsIDIzNSwgNywgNCwgMSwgMjMwLCAKKyAgICAyNywgMjI0LCAyMDUsIDI1MSwgNzksIDI1NCwgNTgsIDcsIDYsIDEsIDI0NSwgMTM5LCA3LCA0LCAxLCAyNDUsIDEzOSwgNywgCisgICAgNiwgMSwgMTQ0LCAyLCAyMzEsIDIzMywgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzMywgNywgNiwgMSwgMTQ0LCAyLCAyNTEsIAorICAgIDE0NywgNywgNCwgMSwgMTQ0LCAyLCAyNTEsIDE0NywgNywgNiwgMSwgMTQ0LCAyLCA1MiwgMTQyLCA3LCA0LCAxLCAxNDQsIAorICAgIDIsIDUyLCAxNDIsIDcsIDYsIDI3LCAyMjYsIDIzNSwgNywgNCwgMjcsIDIyNiwgMjM1LCA3LCA2LCAxLCAyMjMsIDIyNSwgMiwgCisgICAgMTQyLCA3LCA0LCAxLCAyMjMsIDIyNSwgMiwgMTQyLCA3LCA2LCAxLCAyMjMsIDIyNSwgMiwgMjUwLCAxODQsIDcsIDQsIDEsIAorICAgIDIyMywgMjI1LCAyLCAyNTAsIDE4NCwgNywgNiwgMSwgMjIzLCAyMjUsIDIsIDI1MCwgMjM1LCA3LCA0LCAxLCAyMjMsIDIyNSwgCisgICAgMiwgMjUwLCAyMzUsIDcsIDYsIDEsIDIyMiwgOTMsIDIsIDE0MiwgNywgNCwgMSwgMjIyLCA5MywgMiwgMTQyLCA3LCA2LCAxLCAKKyAgICAyMjIsIDkzLCAyLCAyNTAsIDMxLCA3LCA0LCAxLCAyMjIsIDkzLCAyLCAyNTAsIDMxLCA3LCA2LCAxLCAyMjIsIDkzLCAyLCAKKyAgICAyNTAsIDE4NCwgNywgNCwgMSwgMjIyLCA5MywgMiwgMjUwLCAxODQsIDcsIDYsIDEsIDIyMiwgOTMsIDIsIDI1MCwgMjM1LCAKKyAgICA3LCA0LCAxLCAyMjIsIDkzLCAyLCAyNTAsIDIzNSwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI1MCwgMTg0LCA3LCA0LCAxLCAKKyAgICAyMTcsIDE1NCwgMiwgMjUwLCAxODQsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNTAsIDIzNSwgNywgNCwgMSwgMjE3LCAxNTQsIAorICAgIDIsIDI1MCwgMjM1LCA3LCA2LCAxLCAyMTcsIDE1NCwgMiwgOTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCA5MSwgNywgNiwgMSwgCisgICAgMTA0LCAyLCAxODMsIDcsIDQsIDEsIDEwNCwgMiwgMTgzLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCA3LCA0LCAxLCAKKyAgICAxMDQsIDIsIDIzMSwgMjMzLCA3LCA2LCAxLCAxMDQsIDIsIDI1MSwgMTQ3LCA3LCA0LCAxLCAxMDQsIDIsIDI1MSwgMTQ3LCAKKyAgICA3LCA2LCAxLCAxMDQsIDIsIDIyMiwgMjM1LCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyMjIsIDIzNSwgNDgsIDcsIDYsIDEsIAorICAgIDEwNCwgMiwgNTIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCA1MiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDIyNiwgMjI1LCA3LCAKKyAgICA0LCAxLCAxMDQsIDIsIDIyNiwgMjI1LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAyNTAsIDMxLCA3LCA0LCAxLCAyMTIsIDk5LCAKKyAgICAyLCAyNTAsIDMxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjUwLCAzMSwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDI1MCwgMzEsIAorICAgIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAyNDgsIDIsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAxNDIsIDcsIDQsIDEsIDIxMCwgCisgICAgMTYwLCAyLCAxNDIsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNDgsIAorICAgIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDIzNSwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI1MCwgMjM1LCA3LCA0LCAxLCAKKyAgICAxOTksIDIyMiwgOTIsIDcsIDQsIDEsIDU3LCAyLCA5MSwgNywgNiwgMSwgNTcsIDIsIDEwMywgNywgNiwgMSwgNTcsIDIsIAorICAgIDIxNiwgMTIsIDcsIDQsIDEsIDU3LCAyLCAyMTYsIDEyLCA3LCA2LCAxLCAxMzgsIDE5NCwgNywgNCwgMSwgMTM4LCAxOTQsIAorICAgIDcsIDYsIDEsIDIwNCwgNzYsIDcsIDYsIDEsIDI1MSwgNjgsIDIsIDEwMywgNywgNCwgMSwgMjUxLCA2OCwgMiwgMTAzLCA3LCAKKyAgICA2LCAxLCAyNTQsIDIyMCwgMjQ5LCA2MSwgNywgNiwgMSwgMjQ5LCA2MiwgMiwgMTAzLCA3LCA2LCAxLCAyNDksIDYyLCAyLCAKKyAgICAyMTYsIDEyLCA3LCA0LCAxLCAyNDksIDYyLCAyLCAyMTYsIDEyLCA3LCA0LCAxLCAyMTUsIDk0LCAyNDgsIDU1LCA3LCA2LCAKKyAgICAxLCAyMjMsIDUwLCA3NSwgNywgNiwgMSwgMjIxLCAxOTYsIDcsIDYsIDEsIDIwNCwgNzUsIDcsIDYsIDEsIDI0NSwgOCwgMiwgCisgICAgMTAzLCA3LCA0LCAxLCAyNDUsIDgsIDIsIDEwMywgNywgNiwgMSwgMjQzLCAyMDQsIDIsIDEwMywgNywgNiwgMSwgMjQzLCAKKyAgICAxMDgsIDcsIDQsIDEsIDI0MCwgMjAyLCA3LCA2LCAxLCAyMzUsIDE4NiwgNywgNiwgMSwgMjQwLCAxNTUsIDIsIDkxLCA3LCAKKyAgICA2LCAxLCAyMzUsIDI1LCAyLCAxMDMsIDcsIDQsIDEsIDIzNSwgMjUsIDIsIDEwMywgNywgNCwgMSwgMjMzLCAxNTAsIDIsIAorICAgIDEzMCwgNywgNCwgMSwgMjMzLCAxMDEsIDIsIDkxLCA3LCA2LCAxLCAyMTUsIDk0LCAxOTMsIDcsIDYsIDEsIDIzMCwgMjcsIAorICAgIDIsIDQzLCAxMDMsIDcsIDQsIDEsIDIzMCwgMjcsIDIsIDE5OSwgNDQsIDIzMywgMzcsIDcsIDYsIDEsIDE0NCwgMiwgMjMwLCAKKyAgICAyMjUsIDE4MywgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgNywgNCwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgNywgNiwgMSwgCisgICAgMjI2LCAyMjAsIDcsIDQsIDEsIDIyNiwgMjIwLCA3LCA2LCAxLCAyMjYsIDEwNywgMiwgMTAzLCA3LCA0LCAxLCAyMjYsIAorICAgIDEwNywgMiwgMTAzLCA3LCAxLCAyMTAsIDIxNCwgNywgNiwgMSwgMTM4LCAxMDUsIDcsIDQsIDEsIDEzOCwgMTA1LCA3LCA2LCAKKyAgICAxLCAyNDUsIDc2LCA3LCAxLCAyMjMsIDUwLCAyNDUsIDc3LCAyMzIsIDEyNCwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDIyNiwgCisgICAgNjcsIDEwMywgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDEwMywgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDEwMywgNywgNiwgMSwgCisgICAgMjE3LCAxNTQsIDIsIDIyMywgNTYsIDEwMywgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI0OSwgNywgNCwgMSwgMTA0LCAyLCAKKyAgICAyNDAsIDI0OSwgNywgNiwgMSwgMjE0LCAxNTcsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAxMDMsIDcsIDYsIDEsIDIxMSwgCisgICAgMTE4LCAyLCAxMDMsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAxMDMsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA5MSwgNywgNCwgCisgICAgMSwgMjEwLCAxNjAsIDIsIDkxLCA3LCA2LCAxLCAyNDUsIDksIDcsIDYsIDEsIDI0NSwgMTAsIDIyMywgNDksIDcsIDQsIDEsIAorICAgIDI0NSwgMTAsIDIyMywgNDksIDcsIDQsIDEsIDI0NSwgMTAsIDIsIDIxNywgNzgsIDcsIDEsIDExMywgMiwgOTEsIDcsIDYsIAorICAgIDEsIDEzOCwgMTg5LCA3LCA0LCAxLCAxMzgsIDE4OSwgNywgMSwgMjM1LCAxOTQsIDI0MiwgMTgxLCAyMTgsIDEzMSwgMiwgCisgICAgOTEsIDcsIDEsIDIxMSwgMTgxLCA3LCAxLCAyNDgsIDQ4LCAyNTAsIDEyLCA3LCAxLCAyMzMsIDc4LCAyNTAsIDEyLCA3LCAxLCAKKyAgICAyNTQsIDEzOCwgMjUwLCAxMiwgNywgMSwgMjIzLCA1NiwgMjUwLCAxMiwgNywgNiwgMSwgMjQ2LCA0MSwgMiwgMjUwLCAyMzUsIAorICAgIDcsIDYsIDEsIDI0OSwgNjIsIDIsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDIzNSwgNywgNCwgMSwgMjQ2LCA0MSwgMiwgCisgICAgMjUwLCAyMzUsIDcsIDYsIDEsIDIzMiwgMTg5LCA3LCA2LCAxLCAyMzMsIDE1MCwgMiwgNCwgMSwgMjM1LCAxNDUsIDcsIDQsIAorICAgIDEsIDIzMiwgMTg5LCA3LCA2LCAxLCAyMjgsIDE4NywgNywgNiwgMSwgMjMwLCAyNywgMiwgNCwgMSwgMjM1LCAxNDUsIDcsIAorICAgIDQsIDEsIDIyOCwgMTg3LCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMjM1LCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMjM1LCA3LCAKKyAgICA2LCAxLCAyNDAsIDE1NSwgMiwgMjUwLCAyMzUsIDcsIDQsIDEsIDI0MCwgMTU1LCAyLCAyNTAsIDIzNSwgNywgNiwgMSwgCisgICAgMTQ0LCAyLCAyNTAsIDIzNSwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDIzNSwgNywgNiwgMSwgMTA0LCAyLCAyNTAsIDIzNSwgCisgICAgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDIzNSwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDMsIDIyLCAyMzEsIDIzMywgNywgNCwgCisgICAgMSwgMTA0LCAyLCAyNDgsIDMsIDIyLCAyMzEsIDIzMywgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDMsIDIyLCAxNDIsIDcsIDQsIAorICAgIDEsIDEwNCwgMiwgMjQ4LCAzLCAyMiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMywgMjIsIDI1MCwgMjM1LCA3LCA0LCAKKyAgICAxLCAxMDQsIDIsIDI0OCwgMywgMjIsIDI1MCwgMjM1LCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMywgMjIsIDI0MiwgMTM3LCAKKyAgICA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMywgMjIsIDI0MiwgMTM3LCA3LCA0LCAxLCAyMTUsIDk0LCA3NSwgNywgNiwgMSwgCisgICAgMTE1LCAyLCAyNDgsIDMsIDIyLCAyMzEsIDIzMywgNywgNCwgMSwgMTE1LCAyLCAyNDgsIDMsIDIyLCAyMzEsIDIzMywgNywgCisgICAgNiwgMSwgMTE1LCAyLCA1OSwgNzcsIDIyLCAyMzEsIDIzMywgNywgNCwgMSwgMTE1LCAyLCA1OSwgNzcsIDIyLCAyMzEsIAorICAgIDIzMywgNywgNiwgMSwgMjU0LCAyNDUsIDIsIDIzMSwgMjMzLCA3LCA0LCAxLCAyNTQsIDI0NSwgMiwgMjMxLCAyMzMsIDcsIAorICAgIDYsIDEsIDI0MywgMjA0LCAyLCA5MSwgNywgNCwgMSwgMjQzLCAyMDQsIDIsIDkxLCA3LCA2LCAxLCAyNDMsIDIwNCwgMiwgCisgICAgMjUwLCAyMzUsIDcsIDQsIDEsIDI0MywgMjA0LCAyLCAyNTAsIDIzNSwgNywgNiwgMSwgMjM1LCAyNSwgMiwgMjUwLCAyMzUsIAorICAgIDcsIDQsIDEsIDIzNSwgMjUsIDIsIDI1MCwgMjM1LCA3LCA2LCAxLCAxNDQsIDIsIDIyNiwgMjI1LCA3LCA0LCAxLCAxNDQsIAorICAgIDIsIDIyNiwgMjI1LCA3LCA2LCAxLCAxNDQsIDIsIDIyNiwgMjI2LCAyMiwgMjMxLCAyMzMsIDcsIDQsIDEsIDE0NCwgMiwgCisgICAgMjI2LCAyMjYsIDIyLCAyMzEsIDIzMywgNywgNiwgMSwgMjQ1LCAxMCwgMiwgMjUwLCAyMzUsIDcsIDQsIDEsIDI0NSwgMTAsIAorICAgIDIsIDI1MCwgMjM1LCA3LCA0LCAxLCAyMzUsIDE0NiwgMiwgMjUwLCAyMzUsIDcsIDYsIDEsIDI0NiwgNDAsIDcsIDYsIDEsIAorICAgIDI0OSwgNjIsIDIsIDQsIDEsIDIxMCwgMTU5LCA3LCA0LCAxLCAyNDYsIDQwLCA3LCA2LCAxLCAyNDMsIDIwNCwgMiwgMTQyLCAKKyAgICA3LCA0LCAxLCAyNDMsIDIwNCwgMiwgMTQyLCA3LCA2LCAxLCAyNDAsIDIwMCwgNywgNiwgMSwgMjExLCAxODEsIDcsIDYsIDEsIAorICAgIDIzMCwgMjcsIDIsIDI0MiwgMTM3LCA3LCA0LCAxLCAyMzAsIDI3LCAyLCAyNDIsIDEzNywgNywgNiwgMSwgMTE1LCAyLCAKKyAgICAyMjIsIDIzNSwgNzcsIDIyLCAxNDIsIDcsIDQsIDEsIDExNSwgMiwgMjIyLCAyMzUsIDc3LCAyMiwgMTQyLCA3LCA2LCAxLCAKKyAgICAyNTQsIDI0NSwgMiwgMTQyLCA3LCA0LCAxLCAyNTQsIDI0NSwgMiwgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIDIxOCwgMTA0LCAKKyAgICAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDIxOCwgMTA0LCAyMiwgMTQyLCA3LCA2LCAxLCAxMTUsIDIsIDUyLCAyNDIsIAorICAgIDEzNywgNywgNCwgMSwgMTE1LCAyLCA1MiwgMjQyLCAxMzcsIDcsIDYsIDEsIDExNSwgMiwgMjM1LCAxOTQsIDI1MSwgMTQ3LCAKKyAgICA3LCA0LCAxLCAxMTUsIDIsIDIzNSwgMTk0LCAyNTEsIDE0NywgNywgNiwgMSwgMTYwLCAyLCA1MiwgMjQyLCAxMzcsIDcsIDQsIAorICAgIDEsIDE2MCwgMiwgNTIsIDI0MiwgMTM3LCA3LCA2LCAxLCAxNjAsIDIsIDIzNSwgMTk0LCAyNTEsIDE0NywgNywgNCwgMSwgCisgICAgMTYwLCAyLCAyMzUsIDE5NCwgMjUxLCAxNDcsIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCA1MiwgMjQyLCAxMzcsIDcsIDQsIDEsIAorICAgIDI0MCwgMTU1LCAyLCA1MiwgMjQyLCAxMzcsIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCAyMzUsIDE5NCwgMjUxLCAxNDcsIDcsIAorICAgIDQsIDEsIDI0MCwgMTU1LCAyLCAyMzUsIDE5NCwgMjUxLCAxNDcsIDcsIDYsIDEsIDE0NCwgMiwgNTIsIDI0MiwgMTM3LCA3LCAKKyAgICA0LCAxLCAxNDQsIDIsIDUyLCAyNDIsIDEzNywgNywgNiwgMSwgMTQ0LCAyLCAyMzUsIDE5NCwgMjUxLCAxNDcsIDcsIDQsIDEsIAorICAgIDE0NCwgMiwgMjM1LCAxOTQsIDI1MSwgMTQ3LCA3LCA2LCAxLCAyMjMsIDIyNSwgMiwgNTIsIDI0MiwgMTM3LCA3LCA0LCAxLCAKKyAgICAyMjMsIDIyNSwgMiwgNTIsIDI0MiwgMTM3LCA3LCA2LCAxLCAyMjMsIDIyNSwgMiwgMjM1LCAxOTQsIDI1MSwgMTQ3LCA3LCAKKyAgICA0LCAxLCAyMjMsIDIyNSwgMiwgMjM1LCAxOTQsIDI1MSwgMTQ3LCA3LCA2LCAxLCAxMDQsIDIsIDUyLCAyNDIsIDEzNywgNywgCisgICAgNCwgMSwgMTA0LCAyLCA1MiwgMjQyLCAxMzcsIDcsIDYsIDEsIDEwNCwgMiwgMjM1LCAxOTQsIDI1MSwgMTQ3LCA3LCA0LCAxLCAKKyAgICAxMDQsIDIsIDIzNSwgMTk0LCAyNTEsIDE0NywgNywgNiwgMSwgMjIyLCA5MywgMiwgMjQ5LCAyMjEsIDUxLCA3LCA0LCAxLCAKKyAgICAyMjIsIDkzLCAyLCAyNDksIDIyMSwgNTEsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNDksIDIyMSwgNTEsIDcsIDQsIDEsIAorICAgIDIxNywgMTU0LCAyLCAyNDksIDIyMSwgNTEsIDcsIDYsIDEsIDIxMCwgMjMxLCA3LCA0LCAxLCAyMTAsIDIzMSwgNywgNiwgMSwgCisgICAgMjQyLCA2MiwgMiwgMjUwLCAyMzUsIDcsIDQsIDEsIDI0MiwgNjIsIDIsIDI1MCwgMjM1LCA3LCA2LCAxLCAyMzAsIDI3LCAyLCAKKyAgICAxOTksIDQ0LCAyMzMsIDM3LCA3LCA0LCAxLCAyNDksIDYyLCAyLCAyNDksIDEwMSwgNywgNiwgMSwgMjI2LCAxMzUsIDcsIDQsIAorICAgIDEsIDIyNiwgMTM1LCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMTAzLCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMTAzLCA3LCA2LCAKKyAgICAxLCAxMTUsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTE1LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAxODQsIDcsIAorICAgIDQsIDEsIDE2MCwgMiwgMjUwLCAxODQsIDcsIDYsIDEsIDE0NCwgMiwgMjQ4LCAzLCAyMiwgMjMxLCAyMzMsIDcsIDQsIDEsIAorICAgIDE0NCwgMiwgMjQ4LCAzLCAyMiwgMjMxLCAyMzMsIDcsIDYsIDEsIDE0NCwgMiwgMjE2LCA5MCwgMjIsIDIzMSwgMjMzLCA3LCAKKyAgICA0LCAxLCAxNDQsIDIsIDIxNiwgOTAsIDIyLCAyMzEsIDIzMywgNywgNiwgMSwgMTQ0LCAyLCA1OSwgNDgsIDcsIDQsIDEsIAorICAgIDE0NCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA3NywgMjIsIDIzMSwgMjMzLCA3LCA0LCAxLCAxNDQsIDIsIAorICAgIDU5LCA3NywgMjIsIDIzMSwgMjMzLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjMxLCAyMzMsIDcsIDQsIDEsIDIxMSwgMTE4LCAKKyAgICAyLCAyMzEsIDIzMywgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDI0OSwgMTAxLCA3LCA0LCAxLCAyMzAsIDI3LCAyLCAyNDksIAorICAgIDEwMSwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDI0OSwgMTAxLCA3LCA0LCAxLCAyNDcsIDEyMCwgMjM1LCAxNDUsIDcsIDQsIAorICAgIDEsIDI0OCwgMTQ0LCAyNDcsIDIyMSwgNywgNCwgMSwgMjI0LCAzMiwgMjQ3LCAyMjEsIDcsIDYsIDEsIDExNSwgMiwgOTEsIAorICAgIDcsIDYsIDEsIDI1MSwgNjgsIDIsIDkxLCA3LCA0LCAxLCAyNTEsIDY4LCAyLCA5MSwgNywgNiwgMSwgMjMzLCAxNTAsIDIsIAorICAgIDEzMCwgNywgNiwgMSwgMjE3LCAxNTQsIDIsIDI0OCwgMCwgOTEsIDcsIDQsIDEsIDIyMiwgOTMsIDIsIDIxNywgMjUxLCAKKyAgICAyMTcsIDc4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIDcsIDYsIDEsIDI0MiwgMTgxLCAyMTgsIAorICAgIDEzMCwgNywgNCwgMSwgMjQyLCAxODEsIDIxOCwgMTMwLCA3LCA2LCAxLCA1NywgMiwgOTEsIDcsIDYsIDEsIDEwNCwgMTMwLCAKKyAgICA3LCA2LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgNywgNiwgMSwgMTYwLCAyLCA5MSwgNywgNCwgMSwgMTYwLCAyLCA5MSwgNywgCisgICAgNiwgMSwgMjM1LCAxNDYsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE0NiwgMiwgOTEsIDcsIDYsIDEsIDQsIDIyNCwgOTgsIDIsIAorICAgIDI0MSwgNTMsIDIxNywgNzgsIDcsIDQsIDEsIDIyNCwgOTgsIDIsIDI0MSwgNTMsIDIxNywgNzgsIDcsIDYsIDEsIDIyMywgCisgICAgMjI1LCAyLCA5MSwgNywgNCwgMSwgMjIzLCAyMjUsIDIsIDkxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgOTEsIDcsIDQsIDEsIAorICAgIDIxMSwgMTE4LCAyLCA5MSwgNywgNCwgMSwgMjE1LCA5NCwgNjEsIDcsIDQsIDEsIDI1NCwgMTQ0LCA3LCA0LCAxLCAyMTUsIAorICAgIDk0LCAyNTQsIDE0NCwgNywgNCwgMSwgNTcsIDIsIDEwMywgNywgNCwgMSwgMjA0LCA3NiwgNywgNCwgMSwgMjUxLCA2OCwgMiwgCisgICAgMjQ5LCAxMDEsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDIxNywgNzgsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDEwMywgNywgNCwgCisgICAgMSwgMjIzLCA1MCwgNzUsIDcsIDQsIDEsIDIyMSwgMTk2LCA3LCA0LCAxLCAyMjEsIDE5NywgMiwgMTAzLCA3LCA0LCAxLCAKKyAgICAyMDQsIDc1LCA3LCA0LCAxLCAyMjMsIDUwLCAyMDQsIDc1LCA3LCA0LCAxLCAyMjMsIDUwLCAyMDQsIDE2MCwgMiwgMTAzLCAKKyAgICA3LCA0LCAxLCAyNTAsIDEsIDIyMywgNTAsIDIwNCwgNzUsIDcsIDQsIDEsIDI0NywgMTIwLCAyMzUsIDE0NiwgMiwgOTEsIDcsIAorICAgIDQsIDEsIDI0MywgMjA0LCAyLCAxMDMsIDcsIDQsIDEsIDExOSwgMjQzLCAyMDMsIDcsIDEsIDQsIDYsIDI0MywgMjAzLCA3LCAKKyAgICA0LCAxLCAyNDMsIDEwOCwgNywgNCwgMSwgMjIzLCAxNTIsIDI0MCwgMjQ5LCA3LCA0LCAxLCAyMTUsIDk0LCAyNDIsIDYxLCAKKyAgICA3LCA0LCAxLCAyNDIsIDYyLCAyLCAxMDMsIDcsIDQsIDEsIDI0MSwgMjA5LCAyLCAxMDMsIDcsIDQsIDEsIDI0MCwgMTU1LCAKKyAgICAyLCA5MSwgNywgNCwgMSwgMjM1LCAxODYsIDcsIDEsIDQsIDYsIDczLCA3LCA0LCAxLCAyMzMsIDE1MCwgMiwgMjMwLCAyMjUsIAorICAgIDE4MywgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDI1MiwgNDIsIDcsIDQsIDEsIDIzMywgMTUwLCAyLCAyMjMsIDU2LCAxMDMsIAorICAgIDcsIDQsIDEsIDIzMywgMiwgNywgNCwgMSwgMjE1LCA5NCwgMTkzLCA3LCA0LCAxLCAyMTUsIDk0LCAyMzIsIDUxLCAyLCAKKyAgICAxOTksIDIzMywgMzcsIDcsIDQsIDEsIDIzMiwgNTEsIDIsIDEwMywgNywgNCwgMSwgMjMwLCAyNywgMiwgNDMsIDEwMywgNywgCisgICAgNCwgMSwgMjMwLCAyNywgMiwgMjIzLCA1NiwgMTAzLCA3LCAxLCA0LCA2LCAyMzAsIDI2LCA3LCA0LCAxLCAyNTIsIDEzNSwgCisgICAgNzYsIDcsIDEsIDQsIDYsIDIyNiwgMjM1LCA3LCA0LCAxLCAyNTAsIDEsIDIyNiwgMjAyLCA3LCA0LCAxLCAyMjUsIDEzNCwgCisgICAgNywgNCwgMSwgMjE1LCA5NCwgMTUzLCA3LCA0LCAxLCAyMTUsIDk0LCAyMjMsIDIyNSwgMiwgMTk5LCAyMzMsIDM3LCA3LCA0LCAKKyAgICAxLCAyMTUsIDk0LCAyMjMsIDIyNSwgMiwgMTAzLCA3LCA0LCAxLCAyMjMsIDIyNSwgMiwgMTk5LCAyMzMsIDM3LCA3LCA0LCAKKyAgICAxLCAyMjMsIDIyNSwgMiwgMjE3LCA3OCwgNywgNCwgMSwgMjIzLCAyMjUsIDIsIDI0NCwgODgsIDcsIDQsIDEsIDIyMywgNTAsIAorICAgIDIyMywgMjI1LCAyLCAyNDQsIDg4LCA3LCAxLCA0LCA2LCAxNTMsIDcsIDEsIDQsIDYsIDIzNSwgMTk0LCAxNTMsIDcsIDQsIAorICAgIDEsIDIyMiwgOTMsIDIsIDEwMywgNywgNCwgMSwgMjQ1LCA3NiwgNywgNCwgMSwgMjQ3LCAxMjAsIDIzNSwgMTQ2LCAyLCAKKyAgICAyMTgsIDEwNCwgMjIsIDEwMywgNywgNCwgMSwgMjE4LCAyMzIsIDIyMywgNTAsIDI0NSwgNzYsIDcsIDQsIDEsIDI0NSwgNzcsIAorICAgIDIsIDI0OSwgMTAxLCA3LCA0LCAxLCAyMTUsIDk0LCAyMTcsIDE1MywgNywgNCwgMSwgMjE3LCAxNTQsIDIsIDIyMywgNTYsIAorICAgIDEwMywgNywgNCwgMSwgMTA0LCAxMzAsIDcsIDQsIDEsIDIxNCwgMTU3LCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMTAzLCA3LCAKKyAgICA0LCAxLCAyMTUsIDk0LCAyMTQsIDEwNSwgNywgNCwgMSwgMjE1LCA5NCwgMjEyLCA5OCwgNywgNCwgMSwgMjE1LCA5NCwgCisgICAgMjExLCAxMTcsIDcsIDEsIDQsIDYsIDIxMSwgMTE3LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAKKyAgICAxLCAyMTAsIDE2MCwgMiwgMjQ5LCAxMDEsIDcsIDQsIDEsIDI0NSwgOSwgNywgNCwgMSwgMjQ1LCAxMCwgMiwgMjQ5LCAxMDEsIAorICAgIDcsIDEsIDI0MiwgMTgxLCAyMTgsIDEzMCwgNywgMSwgMjI1LCAxNDAsIDIxMywgMTM1LCAyNDMsIDI1MCwgNywgMSwgMjM1LCAKKyAgICAxOTQsIDI0MiwgMTgxLCAyMTgsIDEzMCwgNywgMSwgMjE4LCAxMTEsIDI1MSwgNjcsIDcsIDEsIDI1MSwgMjQ3LCAyNTAsIAorICAgIDEyLCA3LCAxLCA0LCA2LCAyNTMsIDE1OSwgNywgNCwgMSwgMjUwLCAxLCAyMDQsIDc1LCA3LCAxLCA0LCA2LCAyNDMsIDIwNCwgCisgICAgMiwgMTAzLCA3LCAxLCA0LCA2LCAyNDIsIDYxLCA3LCA0LCAxLCAyMzUsIDE0NiwgMiwgMjQ5LCAxMjgsIDcsIDQsIDEsIAorICAgIDIxNSwgOTQsIDIzNSwgMjQsIDcsIDEsIDQsIDYsIDE1NiwgNywgNCwgMSwgMjI0LCA5OCwgMiwgMTAzLCA3LCAxLCAyNDIsIAorICAgIDE4MSwgMjE4LCAxMzEsIDIsIDkxLCA3LCAxLCAyMjMsIDUwLCAyNDIsIDE4MSwgMjE4LCAxMzEsIDIsIDkxLCA3LCA0LCAxLCAKKyAgICAyNDYsIDQxLCAyNDcsIDIyMSwgNywgNCwgMSwgMjQ4LCAyNywgMjQ3LCAyMjEsIDcsIDQsIDEsIDI0NiwgNDEsIDI0NywgCisgICAgMjIyLCAyLCAyNDksIDEwMSwgNywgNCwgMSwgMjE1LCAxODYsIDI0NywgMjIxLCA3LCA0LCAxLCAyMTYsIDIzNiwgMjQ3LCAKKyAgICAyMjEsIDcsIDQsIDEsIDIxNywgMzAsIDI0NywgMjIyLCAyLCAyNDksIDEwMSwgNywgNCwgMSwgMjQ0LCAxMzUsIDI0NywgCisgICAgMjIxLCA3LCA0LCAxLCAyMzIsIDEwMSwgMjQ3LCAyMjEsIDcsIDQsIDEsIDIzMiwgNTIsIDI0NywgMjIxLCA3LCAxLCAyNTEsIAorICAgIDI0NywgMjI1LCAxODIsIDcsIDEsIDI1MSwgMjU1LCAyMjUsIDE4MiwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2MiwgMiwgCisgICAgMjQ0LCA4OCwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2MiwgMiwgMjQ0LCA4OSwgMjIsIDIxNywgNzgsIDU4LCAxLCA0LCAKKyAgICAyNDIsIDYxLCA1OCwgMSwgNCwgMjQyLCA2MiwgMiwgMTAzLCA1OCwgMSwgNCwgMjM1LCAxNDUsIDU4LCAxLCA0LCAxNTMsIAorICAgIDU4LCAxLCA0LCAyMTUsIDk0LCAxNTMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMjMsIDIyNSwgMiwgMTAzLCA1OCwgMSwgNCwgNiwgCisgICAgMjM1LCAxOTQsIDE1MywgNTgsIDEsIDQsIDIxMiwgOTgsIDU4LCAxLCA0LCAyMTEsIDExNywgNTgsIDEsIDIyNCwgMTkxLCAKKyAgICA1OCwgMSwgNTIsIDIyNCwgMTkxLCA1OCwgMSwgMjE1LCA5NCwgMjQ5LCAyMjAsIDU4LCAxLCAyNTQsIDU4LCA1OCwgMSwgCisgICAgMjIzLCA1MCwgMjQ5LCAyMjAsIDU4LCAxLCA0NCwgMTYzLCAyMjIsIDIzNCwgNTgsIDEsIDQzLCAxNjMsIDIyMiwgMjM0LCAKKyAgICA1OCwgMSwgMjQyLCAxODEsIDIxOCwgMTMwLCA1OCwgMSwgMjIzLCA1MCwgMjQyLCAxODEsIDIxOCwgMTMwLCA1OCwgMSwgNDMsIAorICAgIDI1MywgMjUwLCA1OCwgMSwgNDQsIDI1MywgMjUwLCA1OCwgMSwgMTIwLCAyNTMsIDI1MCwgNTgsIDEsIDEyNCwgMjUzLCAKKyAgICAyNTAsIDU4LCAxLCAyNTAsIDMyLCAyNTUsIDE1LCAyNTAsIDIzNSwgNTgsIDEsIDY3LCAyMzIsIDIxNCwgNTgsIDEsIDIzMSwgCisgICAgMjMzLCA1OCwgMSwgMjU1LCA0LCAyNTUsIDE1LCA1OCwgMSwgMjQyLCAxMzgsIDI1NSwgMTUsIDU4LCAxLCAxMjEsIDY3LCAKKyAgICAyMzIsIDIxNCwgNTgsIDEsIDEyMSwgMjMxLCAyMzMsIDU4LCAxLCAxMjEsIDI0MiwgMTM4LCAyNTUsIDE1LCA1OCwgMSwgCisgICAgMTIxLCAyNTUsIDQsIDI1NSwgMTUsIDU4LCAxLCAyMTUsIDIyMywgMjQ5LCAyMjcsIDU4LCAxLCAxNjMsIDIxNSwgMjIzLCAKKyAgICAyNDksIDIyNywgNTgsIDEsIDI1MCwgMTc0LCA0NCwgMTYzLCAyMjIsIDIzNCwgNTgsIDEsIDI1MCwgMTc0LCA0MywgMTYzLCAKKyAgICAyMjIsIDIzNCwgNTgsIDEsIDEyMCwgMjE3LCA4OCwgNTgsIDEsIDEyNCwgMjE3LCA4OCwgNTgsIDEsIDk2LCA1MCwgNTgsIDEsIAorICAgIDIzMCwgMTgzLCA1MCwgMjUxLCAxNDcsIDU5LCA0OCwgMjIyLCAyMzUsIDQ4LCAyMjYsIDIyNSwgNCwgMTgzLCA1MiwgMjU1LCAKKyAgICA0LCAyNTUsIDE1LCA1OCwgMSwgMjIzLCAzNywgMTAzLCA1OCwgMSwgMjQ5LCAxMzIsIDI1NSwgMTUsIDU4LCAxLCA0LCAyNDMsIAorICAgIDEwOCwgNTgsIDEsIDQsIDE1NiwgNTgsIDEsIDQsIDIyMiwgOTIsIDU4LCAxLCA0LCAyMTEsIDE3OCwgNTgsIDEsIDQsIDIyMywgCisgICAgNTAsIDI0MiwgMTgxLCAyMTgsIDEzMCwgNTgsIDEsIDI0NSwgMjEsIDEzOCwgMTMwLCA1OCwgMSwgMTI1LCAxMzgsIDEzMCwgCisgICAgNTgsIDEsIDIzMCwgMjI2LCAxMzgsIDEzMCwgNTgsIDEsIDEyMSwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDIwLCAxMzgsIAorICAgIDEzMCwgNTgsIDEsIDIxMCwgMjU0LCAyNDgsIDQ1LCAxMzgsIDc4LCA1OCwgMSwgMjExLCA3MCwgMjQ4LCA0NSwgMTM4LCA3OCwgCisgICAgNTgsIDEsIDIxMywgMTMzLCA1OCwgMSwgMjE0LCAxODYsIDU4LCAxLCA1MiwgMjU0LCA1OCwgNTgsIDEsIDEyMSwgMTI0LCAKKyAgICAyNTMsIDI1MCwgNTgsIDEsIDEyMSwgMTIwLCAyNTMsIDI1MCwgNTgsIDEsIDEyMSwgNDMsIDI1MywgMjUwLCA1OCwgMSwgCisgICAgMTIxLCA0NCwgMjUzLCAyNTAsIDU4LCAxLCAxMjEsIDIyMiwgMjM0LCA1OCwgMSwgMjMwLCAyMjUsIDI0MiwgMTM4LCAyNTUsIAorICAgIDE1LCA1OCwgMSwgMjMwLCAyMjUsIDUyLCAyNDIsIDEzOCwgMjU1LCAxNSwgNTgsIDEsIDIzMCwgMjI1LCA1MiwgMjU1LCA0LCAKKyAgICAyNTUsIDE1LCA1OCwgMSwgMTIxLCAxODMsIDU4LCAxLCAyMjMsIDE1OCwgMjQ5LCAyMjcsIDU4LCAxLCAyNTIsIDU5LCAxMjUsIAorICAgIDIxNiwgMzEsIDU4LCAxLCAyNDUsIDE0NCwgMTI1LCAyMTYsIDMxLCA1OCwgMSwgMjUyLCA1OSwgMTIxLCAyMTYsIDMxLCA1OCwgCisgICAgMSwgMjQ1LCAxNDQsIDEyMSwgMjE2LCAzMSwgNTgsIDEsIDIyMCwgNTUsIDU4LCAxLCAyMDQsIDIyMCwgNTUsIDU4LCAxLCAKKyAgICAxMjEsIDQzLCA3NCwgMzgsIDI0MiwgMTM4LCAyNTUsIDE1LCAzOCwgMjU1LCA0LCAyNTUsIDE1LCAzOCwgMjUwLCAzMiwgCisgICAgMjU1LCAxNSwgMzgsIDE4MywgMzgsIDIzMSwgMjMzLCAzOCwgMjI2LCAxMjAsIDM4LCAyNTEsIDE0NywgMzgsIDU5LCA0OCwgCisgICAgMzgsIDI0OCwgMiwgMzgsIDI0MSwgNTMsIDQ4LCAzOCwgMjIyLCAyMzUsIDQ4LCAzOCwgNTIsIDI1NSwgNCwgMjU1LCAxNSwgCisgICAgMzgsIDI1MCwgMjM1LCAzOCwgNjcsIDIzMiwgMjE1LCA0OCwgMzgsIDUyLCA2NywgMjMyLCAyMTUsIDQ4LCAzOCwgNTIsIAorICAgIDI0MiwgMTM4LCAyNTUsIDE1LCAzOCwgMjUxLCAwLCAzOCwgMjM1LCAxOTQsIDI1MSwgMTQ3LCAzOCwgMjE1LCA5NCwgMjQ5LCAKKyAgICAyMjEsIDQ4LCAzOCwgMjQ5LCAyMjEsIDQ4LCAzOCwgMjIzLCA1MCwgMjQ5LCAyMjEsIDQ4LCAzOCwgMjQ5LCAyMjEsIDc3LCAKKyAgICAyMjIsIDI1MiwgMzgsIDI0MiwgMTM4LCAyNTUsIDE2LCA1MSwgMzgsIDI1NSwgNCwgMjU1LCAxNiwgNTEsIDM4LCA0MywgCisgICAgMjE3LCA4OSwgNTEsIDM4LCA0NCwgMjE3LCA4OSwgNTEsIDM4LCA0MywgMjU0LCAxMTEsIDQ4LCAzOCwgMjQwLCAyNDksIDM4LCAKKyAgICA0MywgMTYzLCAyMjIsIDIzNSwgNTEsIDM4LCAxMjAsIDIxNywgODksIDUxLCAzOCwgMTI0LCAyMTcsIDg5LCA1MSwgMzgsIAorICAgIDk2LCA1LCA1MSwgMzgsIDIzMCwgMTgzLCA1LCA1MSwgMzgsIDIyNiwgNjUsIDI0MSwgNTMsIDUxLCAzOCwgMjIzLCA1NiwgCisgICAgMjQxLCA1MywgNTEsIDM4LCA1OSwgNTEsIDM4LCAyNDgsIDMsIDUxLCAzOCwgMjIyLCAyMzUsIDUxLCAzOCwgMjQ5LCAyMjEsIAorICAgIDUxLCAzOCwgMjUwLCAxODQsIDM4LCAyMjYsIDIyNSwgMzgsIDY3LCAyMzIsIDIxNSwgNTEsIDM4LCAyNTEsIDE0MSwgNTEsIAorICAgIDM4LCAyMzUsIDE5NCwgNTIsIDI1NCwgMjUsIDUxLCAzOCwgMjUwLCAyMzYsIDUxLCAzOCwgMjUwLCAzMiwgMjU1LCAxNiwgCisgICAgNTEsIDM4LCAyNTEsIDE0OCwgNTEsIDM4LCAyMzUsIDE5NCwgMjUxLCAxNDgsIDUxLCAzOCwgMjE2LCA5MCwgNTEsIDM4LCAKKyAgICAyMzEsIDIzNCwgNTEsIDM4LCAxMjEsIDIzMiwgMjE0LCAzOCwgNTIsIDEyMSwgMjMyLCAyMTQsIDM4LCAyMTYsIDkwLCAyMjYsIAorICAgIDEyMSwgMzgsIDIxOSwgMjUyLCAyMTgsIDEwNCwgMjI2LCAxMjEsIDM4LCAxOTksIDIxOCwgMTA0LCAyMjYsIDEyMSwgMzgsIAorICAgIDIxOSwgMjUyLCAyMTksIDQ4LCAyMjYsIDEyMSwgMzgsIDE5OSwgMjE5LCA0OCwgMjI2LCAxMjEsIDM4LCA0NCwgMTYzLCAKKyAgICAyMjIsIDIzNSwgNTEsIDM4LCAyMzUsIDE5NCwgMjUxLCAxNDEsIDUxLCAzOCwgNDIsIDUxLCAzOCwgMjIxLCAxODEsIDUxLCAKKyAgICAzOCwgMjExLCAxNzksIDQ4LCAzOCwgNjcsIDE4MywgMzgsIDUyLCAyMjYsIDEyMCwgMzgsIDI0MiwgMTM4LCAxMzgsIDc4LCAKKyAgICAzOCwgMjU1LCA0LCAxMzgsIDc4LCAzOCwgMjYsIDIyNSwgMTc2LCAzOCwgMjYsIDIzNCwgMywgMzgsIDI2LCAyNDcsIDI1MywgCisgICAgMjE2LCAxOSwgMzgsIDI2LCAyMTAsIDIxOSwgMzgsIDI1MSwgMTQxLCA0OCwgMzgsIDI0NSwgOTksIDUsIDUxLCAzOCwgNTIsIAorICAgIDY3LCAyMzIsIDIxNSwgNTEsIDM4LCA0MywgMjU0LCAxMTEsIDUxLCAzOCwgMjI4LCA1MywgMjE2LCA5MCwgNDgsIDM4LCAKKyAgICAyNDEsIDU5LCA0OCwgMzgsIDI1NCwgMTQ5LCAxMjgsIDIxNiwgNDMsIDQ4LCAzOCwgNDMsIDQ0LCA4MCwgNTEsIDM4LCAyMTQsIAorICAgIDE1MywgODAsIDUxLCAzOCwgMjQyLCAxNDMsIDIzNSwgNjQsIDM4LCA0NCwgMjUzLCAyNTEsIDQ4LCAzOCwgNDMsIDE2MywgCisgICAgMjIyLCAyMzUsIDQ4LCAzOCwgMjQ0LCAxMzIsIDM4LCAyMTEsIDE3OSwgNTEsIDM4LCA0MywgMjUzLCAyNTEsIDUxLCAzOCwgCisgICAgNDQsIDI1MywgMjUxLCA1MSwgMzgsIDQ0LCAyNTMsIDI1MSwgMjIsIDEyMCwgMjUzLCAyNTEsIDUxLCAzOCwgNDQsIDE2MywgCisgICAgMjIyLCAyMzUsIDQ4LCAzOCwgNTksIDc3LCAyMjIsIDI1MiwgMzgsIDI1MywgMjE4LCA1MSwgMzgsIDUyLCAyMjIsIDIzNSwgCisgICAgNTEsIDM4LCAyMTAsIDM1LCA0OCwgMzgsIDUyLCAyNTEsIDE0OCwgNTEsIDM4LCA1MiwgMjUxLCAxNDcsIDM4LCA1MiwgMjMxLCAKKyAgICAyMzMsIDM4LCA1MiwgMjMxLCAyMzQsIDUxLCAzOCwgNTIsIDE4MywgMzgsIDUyLCAyMzUsIDE5NCwgMjUxLCAxNDcsIDM4LCAKKyAgICA1MiwgOTcsIDgwLCA1MSwgMzgsIDcsIDQsIDEsIDYxLCAzOCwgNywgNCwgMSwgNzUsIDM4LCA3LCA0LCAxLCA3MywgMzgsIDcsIAorICAgIDQsIDEsIDc2LCAzOCwgNywgNCwgMSwgNzAsIDM4LCA3LCA0LCAxLCAyNTEsIDY3LCAzOCwgNywgNCwgMSwgMjQ5LCA2MSwgCisgICAgMzgsIDcsIDQsIDEsIDI0MiwgNjEsIDM4LCA3LCA0LCAxLCAxOTMsIDM4LCA3LCA0LCAxLCAxNTMsIDM4LCA3LCA0LCAxLCAKKyAgICAyMTcsIDE1MywgMzgsIDcsIDQsIDEsIDIxNCwgMTA1LCAzOCwgNywgNCwgMSwgMjExLCAxNzgsIDI2LCA2LCAxLCAyNDEsIAorICAgIDE5NywgMjYsIDQsIDEsIDI0MSwgMTk3LCAyNiwgNiwgMSwgMjU0LCAyNCwgMjIxLCAyNDcsIDI2LCA0LCAxLCAyNTQsIDI0LCAKKyAgICAyMjEsIDI0NywgMjYsIDIyNywgMTk5LCA1MCwgMjYsIDIzMiwgMTA5LCAyMjcsIDE5OSwgNTAsIDI2LCA2LCAxLCAyMjYsIAorICAgIDUyLCAyNDcsIDIyOCwgMjYsIDQsIDEsIDIyNiwgNTIsIDI0NywgMjI4LCAyNiwgMjEwLCAyMTksIDI2LCA0LCAyMjMsIDUwLCAKKyAgICAyMzIsIDg0LCAyMTksIDE3OSwgODcsIDI2LCA0LCAyNDYsIDExOSwgMjMyLCA4NCwgMjE5LCAxNzksIDg3LCAyNiwgNCwgCisgICAgMjIzLCA1MCwgMjQ2LCAxMTksIDIzMiwgODQsIDIxOSwgMTc5LCA4NywgMjYsIDIyNCwgMTQsIDc4LCAyNiwgMjE2LCAxOSwgCisgICAgMjYsIDI0NywgMjUzLCAyMTYsIDE5LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIxNiwgMTksIDI2LCAyNTQsIDk4LCAyMTcsIAorICAgIDMsIDI2LCA2LCAxLCAyNDUsIDEwMiwgMiwgMjE2LCAxOSwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDIxNiwgMTksIDI2LCA2LCAKKyAgICAxLCAyMzUsIDE4NywgMiwgMjE2LCAxOSwgMjYsIDYsIDEsIDIyNiwgMjAxLCAyLCAyMTYsIDE5LCAyNiwgNiwgMSwgMjE0LCAKKyAgICAxNTgsIDIsIDIxNiwgMTksIDI2LCA2LCAxLCAyMjYsIDIwMywgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAKKyAgICAyNDcsIDI1MywgMjIsIDIxNiwgMTksIDI2LCA2LCAxLCAyNTQsIDE0NCwgMjYsIDYsIDEsIDI1MiwgMjcsIDI2LCA2LCAxLCAKKyAgICAyNDMsIDEwOCwgMjYsIDYsIDEsIDI0OCwgNTUsIDI2LCA2LCAxLCAyNDUsIDEwMSwgMjYsIDYsIDEsIDIxMCwgODUsIDI2LCAKKyAgICA2LCAxLCAyNDUsIDY0LCAyNiwgNiwgMSwgMjE2LCAxODAsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMjYsIDYsIDEsIDIzNCwgCisgICAgMjIzLCAyNiwgNiwgMSwgMjMzLCA5OSwgMjYsIDYsIDEsIDIzMCwgMTAzLCAyNiwgNiwgMSwgMjI3LCAyMzgsIDI2LCA2LCAxLCAKKyAgICAyMTEsIDE1NywgMjYsIDYsIDEsIDIyNiwgMjAwLCAyNiwgNiwgMSwgMjI1LCAxMDksIDI2LCA2LCAxLCAyMjMsIDM4LCAyNiwgCisgICAgNiwgMSwgMjE5LCAxNzgsIDI2LCA2LCAxLCAyMTcsIDQyLCAyNiwgNiwgMSwgMjE0LCAxNTcsIDI2LCA2LCAxLCAyMjUsIAorICAgIDEzNCwgMjYsIDYsIDEsIDI1MCwgMTExLCAyNiwgNiwgMSwgMjI0LCAxNjIsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMjYsIDYsIAorICAgIDEsIDIzNSwgMTg3LCAyLCAyNDcsIDI1MiwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyNDcsIDI1MiwgMjYsIDQsIDEsIDI1NCwgCisgICAgMTQ1LCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjQ1LCAxMDIsIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAKKyAgICAyMTYsIDE5LCAyNiwgNCwgMSwgMjM1LCAxODcsIDIsIDIxNiwgMTksIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ3LCAyNTMsIAorICAgIDIyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDI2LCA0LCAxLCAyNTIsIDI3LCAyNiwgNCwgMSwgMjQzLCAxMDgsIAorICAgIDI2LCA0LCAxLCAyNDgsIDU1LCAyNiwgNCwgMSwgMjQ1LCAxMDEsIDI2LCA0LCAxLCAyMTAsIDg1LCAyNiwgNCwgMSwgMjQ1LCAKKyAgICA2NCwgMjYsIDQsIDEsIDIxNiwgMTgwLCAyNiwgNCwgMSwgMjM1LCAxODYsIDI2LCA0LCAxLCAyMzQsIDIyMywgMjYsIDQsIDEsIAorICAgIDIzMywgOTksIDI2LCA0LCAxLCAyMzAsIDEwMywgMjYsIDQsIDEsIDIyNywgMjM4LCAyNiwgNCwgMSwgMjExLCAxNTcsIDI2LCAKKyAgICA0LCAxLCAyMjYsIDIwMCwgMjYsIDQsIDEsIDIyNSwgMTA5LCAyNiwgNCwgMSwgMjIzLCAzOCwgMjYsIDQsIDEsIDQwLCAyMTksIAorICAgIDE3OCwgMjYsIDQsIDEsIDIxOSwgMTc4LCAyNiwgNCwgMSwgMjE3LCA0MiwgMjYsIDQsIDEsIDIxNCwgMTU3LCAyNiwgNCwgMSwgCisgICAgMjI1LCAxMzQsIDI2LCA0LCAxLCAyNTAsIDExMSwgMjYsIDQsIDEsIDIyNCwgMTYyLCAyNiwgNCwgMSwgMjI2LCAyMDIsIDI2LCAKKyAgICA0LCAxLCAyMzUsIDE4NywgMiwgMjQ3LCAyNTIsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ3LCAyNTIsIDI2LCA0LCAxLCAKKyAgICAyMjYsIDIwMSwgMiwgMjE2LCAxOSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTYsIDE5LCAyNiwgNCwgMSwgMjI2LCAyMDMsIAorICAgIDIsIDIxNiwgMTksIDI2LCA2LCAyMzQsIDI0OCwgODcsIDI2LCAyNTIsIDI4LCA4NywgMjYsIDIxNiwgMTgxLCA4NywgMjYsIAorICAgIDIxNCwgMTU4LCAyLCAyNDEsIDUzLCA4NywgMjYsIDIxNCwgMTU4LCAyLCAyNTUsIDQsIDIyLCAyNDEsIDUzLCA4NywgMjYsIAorICAgIDIxNCwgMTU4LCAyLCAyNDgsIDMsIDIyLCAyNDEsIDUzLCA4NywgMjYsIDIyNSwgMTM1LCA4NywgMjYsIDIyNSwgMTEwLCA4NywgCisgICAgMjYsIDIzNCwgMjQ4LCA4NywgMjYsIDEsIDI1NCwgMjQsIDIzNCwgNywgMjYsIDQsIDEsIDI1NCwgMjQsIDIzNCwgNywgMjYsIAorICAgIDEsIDIxOCwgMTM4LCAyNiwgNCwgMSwgMjE4LCAxMzgsIDI2LCAxLCAyNDcsIDIyOCwgMjYsIDQsIDEsIDI0NywgMjI4LCAyNiwgCisgICAgMSwgMjM0LCA3LCAyNiwgNCwgMSwgMjM0LCA3LCAyNiwgMSwgMjIxLCAyNDcsIDI2LCA0LCAxLCAyMjEsIDI0NywgODEsIDYsIAorICAgIDEsIDIyMCwgNTYsIDgxLCA0LCAxLCAyMjAsIDU2LCA4MSwgNiwgMSwgMjQ0LCAxNDEsIDgxLCA0LCAxLCAyNDQsIDE0MSwgCisgICAgODEsIDYsIDEsIDIzNCwgMTE4LCA4MSwgNCwgMSwgMjM0LCAxMTgsIDgxLCA2LCAxLCAyNDEsIDQ2LCA4MSwgNCwgMSwgMjQxLCAKKyAgICA0NiwgODEsIDYsIDEsIDI0MywgMTAzLCA4MSwgNCwgMSwgMjQzLCAxMDMsIDgxLCA2LCAxLCAyMjAsIDIzLCA4MSwgNCwgMSwgCisgICAgMjIwLCAyMywgODEsIDYsIDEsIDI0OCwgNzAsIDgxLCA0LCAxLCAyNDgsIDcwLCAyNiwgMjM0LCAyMjQsIDg3LCAyNiwgMjIzLCAKKyAgICAzOSwgODcsIDI2LCAyMzIsIDg0LCAyMTksIDE3OSwgODcsIDI2LCAxLCAyMTAsIDIyNCwgMjYsIDYsIDIxNiwgMTgxLCA4NywgCisgICAgMjYsIDIzMiwgODQsIDI0NSwgMTAyLCA4NywgMjYsIDIyMywgNTAsIDIzMiwgODQsIDI0NSwgMTAyLCA4NywgMjYsIDYsIDEsIAorICAgIDIyMCwgOCwgMjYsIDQsIDEsIDIyMCwgOCwgMjYsIDYsIDIzMiwgODQsIDIxOSwgMTc5LCA4NywgMjYsIDYsIDEsIDIyMSwgCisgICAgMjQ0LCAyNiwgNCwgMSwgMjIxLCAyNDQsIDI2LCAyMjMsIDM5LCAyLCAyMTgsIDEwNCwgODcsIDI2LCA2LCAyMjMsIDUwLCAKKyAgICAyMzIsIDg0LCAyMTksIDE3OSwgODcsIDI2LCA2LCAyNDYsIDExOSwgMjMyLCA4NCwgMjE5LCAxNzksIDg3LCAyNiwgNiwgCisgICAgMjIzLCA1MCwgMjQ2LCAxMTksIDIzMiwgODQsIDIxOSwgMTc5LCA4NywgMzMsIDYsIDEsIDIzNiwgNjIsIDIsIDI0MiwgMTM3LCAKKyAgICAzMywgNiwgMSwgMjM1LCAxOTAsIDMzLCA2LCAxLCAyNDcsIDE2MywgMzMsIDYsIDEsIDI0MiwgMTg4LCAzMywgNiwgMSwgCisgICAgMjE0LCAyMDIsIDIzNiwgNjEsIDMzLCA2LCAxLCAyNDYsIDM3LCAzMywgNiwgMSwgMjUxLCA3NywgNzMsIDMzLCA2LCAxLCAKKyAgICAyMTEsIDgsIDMzLCA2LCAxLCAyMzUsIDEyNywgMzMsIDYsIDEsIDIzMiwgMTg4LCAzMywgNiwgMSwgMjI4LCAxNzksIDMzLCAKKyAgICA2LCAxLCAyMTUsIDE3NSwgMzMsIDYsIDEsIDIzNCwgNDksIDMzLCA2LCAxLCAyNDAsIDE1NSwgMiwgMjQyLCAxMzcsIDMzLCAKKyAgICA2LCAxLCAyMTksIDI1MiwgNzAsIDMzLCA2LCAxLCAyNDYsIDMzLCAzMywgNiwgMSwgNjEsIDMzLCA2LCAxLCAyNTIsIDc2LCAKKyAgICAzMywgNiwgMSwgMjEzLCAyNTUsIDMzLCA2LCAxLCAyNDIsIDIzNywgMzMsIDYsIDEsIDI0OCwgOTEsIDMzLCA2LCAxLCAyMzYsIAorICAgIDYxLCAzMywgNiwgMSwgMjEwLCA3NCwgMzMsIDYsIDEsIDIxMCwgOTQsIDMzLCA2LCAxLCA3MywgMzMsIDYsIDEsIDIxOSwgCisgICAgMjUyLCA3MywgMzMsIDYsIDEsIDE3NiwgMzMsIDYsIDEsIDI0NSwgMTc1LCAzMywgNiwgMSwgMjQ1LCAxNjAsIDMzLCA2LCAxLCAKKyAgICAyNDUsIDE1MSwgMzMsIDYsIDEsIDc2LCAzMywgNiwgMSwgMjI1LCAyMjIsIDMzLCA2LCAxLCAyNDUsIDkzLCAzMywgNiwgMSwgCisgICAgMjQ1LCA4MywgMzMsIDYsIDEsIDIxNywgMjMsIDMzLCA2LCAxLCA3MCwgMzMsIDYsIDEsIDI0NSwgMjAzLCAzMywgNiwgMSwgCisgICAgMTYyLCAzMywgNiwgMSwgMjE1LCAxNzksIDMzLCA2LCAxLCAyNTAsIDEzMiwgMzMsIDYsIDEsIDIyMCwgMTAzLCAzMywgNiwgCisgICAgMSwgMjIwLCA2NiwgMzMsIDYsIDEsIDI0MiwgNCwgNTAsIDMzLCA2LCAxLCAyMTEsIDI3LCAzMywgNiwgMSwgMjE5LCA1MywgCisgICAgNTAsIDMzLCA2LCAxLCA3NSwgMzMsIDYsIDEsIDIxMCwgMjEyLCAzMywgNiwgMSwgMTkxLCAzMywgNCwgMSwgNjEsIDMzLCA0LCAKKyAgICAxLCAyNTIsIDc2LCAzMywgNCwgMSwgMjEzLCAyNTUsIDMzLCA0LCAxLCAyNDIsIDIzNywgMzMsIDQsIDEsIDI0OCwgOTEsIAorICAgIDMzLCA0LCAxLCAyMzYsIDYxLCAzMywgNCwgMSwgMjEwLCA3NCwgMzMsIDQsIDEsIDIxMCwgOTQsIDMzLCA0LCAxLCA3MywgCisgICAgMzMsIDQsIDEsIDIxOSwgMjUyLCA3MywgMzMsIDQsIDEsIDE3NiwgMzMsIDQsIDEsIDI0NSwgMTc1LCAzMywgNCwgMSwgMjQ1LCAKKyAgICAxNjAsIDMzLCA0LCAxLCAyNDUsIDE1MSwgMzMsIDQsIDEsIDc2LCAzMywgNCwgMSwgMjI1LCAyMjIsIDMzLCA0LCAxLCAyNDUsIAorICAgIDkzLCAzMywgNCwgMSwgMjQ1LCA4MywgMzMsIDQsIDEsIDIxNywgMjMsIDMzLCA0LCAxLCA3MCwgMzMsIDQsIDEsIDI0NSwgCisgICAgMjAzLCAzMywgNCwgMSwgMTYyLCAzMywgNCwgMSwgMjE1LCAxNzksIDMzLCA0LCAxLCAyNTAsIDEzMiwgMzMsIDQsIDEsIAorICAgIDIyMCwgMTAzLCAzMywgNCwgMSwgMjIwLCA2NiwgMzMsIDQsIDEsIDI0MiwgNCwgNTAsIDMzLCA0LCAxLCAyMTEsIDI3LCAzMywgCisgICAgNCwgMSwgMjE5LCA1MywgNTAsIDMzLCA0LCAxLCA3NSwgMzMsIDQsIDEsIDIxMCwgMjEyLCAzMywgNCwgMSwgMTkxLCAzMywgCisgICAgNCwgMSwgMjM2LCA2MiwgMiwgMjQyLCAxMzcsIDMzLCA0LCAxLCAyMzUsIDE5MCwgMzMsIDQsIDEsIDI0NywgMTYzLCAzMywgCisgICAgNCwgMSwgMjQyLCAxODgsIDMzLCA0LCAxLCAyMTQsIDIwMiwgMjM2LCA2MSwgMzMsIDQsIDEsIDI0NiwgMzcsIDMzLCA0LCAxLCAKKyAgICAyNTEsIDc3LCA3MywgMzMsIDQsIDEsIDIxMSwgOCwgMzMsIDQsIDEsIDIzNSwgMTI3LCAzMywgNCwgMSwgMjMyLCAxODgsIAorICAgIDMzLCA0LCAxLCAyMjgsIDE3OSwgMzMsIDQsIDEsIDIxNSwgMTc1LCAzMywgNCwgMSwgMjM0LCA0OSwgMzMsIDQsIDEsIDI0MCwgCisgICAgMTU1LCAyLCAyNDIsIDEzNywgMzMsIDQsIDEsIDIxOSwgMjUyLCA3MCwgMzMsIDQsIDEsIDI0NiwgMzMsIDMzLCA2LCAxLCAKKyAgICAyMjYsIDIwMiwgMzMsIDQsIDEsIDIyNiwgMjAyLCAzMywgNiwgMSwgMjExLCA1OSwgMzMsIDQsIDEsIDIxMSwgNTksIDMzLCAKKyAgICA2LCAxLCAyMzUsIDE4NCwgNzUsIDMzLCA0LCAxLCAyMzUsIDE4NCwgNzUsIDMzLCA2LCAxLCAyMzIsIDE5MywgMjEwLCAxODMsIAorICAgIDMzLCA0LCAxLCAyMzIsIDE5MywgMjEwLCAxODMsIDMzLCA2LCAxLCAyMzUsIDE4NCwgMjMyLCAxOTMsIDIxMCwgMTgzLCAzMywgCisgICAgNCwgMSwgMjM1LCAxODQsIDIzMiwgMTkzLCAyMTAsIDE4MywgMzMsIDYsIDEsIDI1MSwgMjUwLCAyMTAsIDE4MywgMzMsIDQsIAorICAgIDEsIDI1MSwgMjUwLCAyMTAsIDE4MywgMzMsIDYsIDEsIDIzNSwgMTg0LCAyNTEsIDI1MCwgMjEwLCAxODMsIDMzLCA0LCAxLCAKKyAgICAyMzUsIDE4NCwgMjUxLCAyNTAsIDIxMCwgMTgzLCAzMywgNiwgMSwgMjMzLCAyMzQsIDMzLCA0LCAxLCAyMzMsIDIzNCwgMzMsIAorICAgIDYsIDEsIDIyNCwgMTYyLCAzMywgNCwgMSwgMjI0LCAxNjIsIDMzLCA2LCAxLCAyNDQsIDgzLCAzMywgNCwgMSwgMjQ0LCA4MywgCisgICAgMzMsIDYsIDEsIDIzNSwgMTQ3LCAzMywgNCwgMSwgMjM1LCAxNDcsIDMzLCA2LCAxLCAyMzUsIDE0OCwgMiwgNTIsIDI0MiwgCisgICAgMTM4LCAyNTUsIDE1LCAzMywgNCwgMSwgMjM1LCAxNDgsIDIsIDUyLCAyNDIsIDEzOCwgMjU1LCAxNSwgMzMsIDYsIDEsIAorICAgIDIxNCwgMjA1LCAzMywgNCwgMSwgMjE0LCAyMDUsIDMzLCA2LCAxLCAyMjIsIDE4NiwgMjI2LCAyMDIsIDMzLCA0LCAxLCAKKyAgICAyMjIsIDE4NiwgMjI2LCAyMDIsIDMzLCA2LCAxLCAyMjYsIDIwMywgMiwgMjE2LCA2NiwgMzMsIDQsIDEsIDIyNiwgMjAzLCAKKyAgICAyLCAyMTYsIDY2LCAzMywgNiwgMSwgMjI2LCAxNDEsIDMzLCA0LCAxLCAyMjYsIDE0MSwgMzMsIDYsIDEsIDIzNCwgNywgMzMsIAorICAgIDQsIDEsIDIzNCwgNywgMzMsIDIxNiwgMTQ3LCA1MCwgMzgsIDMzLCAyMTYsIDY2LCAzOCwgMzMsIDIyNiwgNjYsIDM4LCAzMywgCisgICAgMjQ4LCAxNTUsIDIyNSwgMTksIDM4LCAzMywgMjI0LCAxNTYsIDIyNSwgMTksIDM4LCAzMywgMjI1LCA0LCAzOCwgMzMsIAorICAgIDI0MCwgMjEyLCAyMTYsIDE0NywgNTAsIDM4LCAzMywgMjMwLCAxOTIsIDUwLCAzMywgNiwgMSwgMjE5LCAyNTIsIDI0MCwgCisgICAgMTU1LCAyLCAyMTcsIDc4LCAzMywgNCwgMSwgMjE5LCAyNTIsIDI0MCwgMTU1LCAyLCAyMTcsIDc4LCAzMywgNiwgMSwgMjIwLCAKKyAgICAxNDcsIDUwLCAzMywgNCwgMSwgMjIwLCAxNDcsIDUwLCAzMywgNiwgMSwgMjQ1LCA5NCwgMiwgMjE2LCAxMTUsIDMzLCA0LCAKKyAgICAxLCAyNDUsIDk0LCAyLCAyMTYsIDExNSwgMzMsIDYsIDEsIDI0MiwgMjM4LCAyLCAyMTQsIDE1NiwgMzMsIDQsIDEsIDI0MiwgCisgICAgMjM4LCAyLCAyMTQsIDE1NiwgMzMsIDYsIDEsIDI0MiwgMjM4LCAyLCA5MSwgMzMsIDQsIDEsIDI0MiwgMjM4LCAyLCA5MSwgCisgICAgMzMsIDYsIDEsIDI0MiwgMjM4LCAyLCAyMzAsIDIyNSwgMTAzLCAzMywgNCwgMSwgMjQyLCAyMzgsIDIsIDIzMCwgMjI1LCAKKyAgICAxMDMsIDMzLCA2LCAxLCAyMTAsIDc1LCAyLCAyNDgsIDQwLCAzMywgNCwgMSwgMjEwLCA3NSwgMiwgMjQ4LCA0MCwgMzMsIDYsIAorICAgIDEsIDIxMCwgOTUsIDIsIDI0OCwgNDAsIDMzLCA0LCAxLCAyMTAsIDk1LCAyLCAyNDgsIDQwLCAzMywgNiwgMSwgMjM1LCAxNCwgCisgICAgMiwgMjQ4LCA0MCwgMzMsIDQsIDEsIDIzNSwgMTQsIDIsIDI0OCwgNDAsIDMzLCA2LCAxLCAyMzUsIDE0LCAyLCA2NywgOTEsIAorICAgIDMzLCA0LCAxLCAyMzUsIDE0LCAyLCA2NywgOTEsIDMzLCA2LCAxLCAyMzUsIDE0LCAyLCA5MSwgMzMsIDQsIDEsIDIzNSwgCisgICAgMTQsIDIsIDkxLCAzMywgNiwgMSwgMjUyLCAxMjUsIDE3NiwgMzMsIDQsIDEsIDI1MiwgMTI1LCAxNzYsIDMzLCA2LCAxLCAKKyAgICAyNDUsIDE1MiwgMiwgMjQ4LCA0MCwgMzMsIDQsIDEsIDI0NSwgMTUyLCAyLCAyNDgsIDQwLCAzMywgNiwgMjcsIDI0NSwgCisgICAgMTUyLCAyNDIsIDIzNywgMzMsIDQsIDI3LCAyNDUsIDE1MiwgMjQyLCAyMzcsIDMzLCA2LCAxLCAyMjUsIDIyMywgMiwgMjMwLCAKKyAgICAyMjUsIDEwMywgMzMsIDQsIDEsIDIyNSwgMjIzLCAyLCAyMzAsIDIyNSwgMTAzLCAzMywgNiwgMSwgMjU1LCAyMSwgMTYyLCAKKyAgICAzMywgNCwgMSwgMjU1LCAyMSwgMTYyLCAzMywgNiwgMSwgMjQ1LCA4NCwgMiwgMjQ4LCA0MCwgMzMsIDQsIDEsIDI0NSwgODQsIAorICAgIDIsIDI0OCwgNDAsIDMzLCA2LCAxLCAyMTcsIDI0LCAyLCAyNDgsIDQwLCAzMywgNCwgMSwgMjE3LCAyNCwgMiwgMjQ4LCA0MCwgCisgICAgMzMsIDYsIDEsIDIxOCwgMTIyLCA3MCwgMzMsIDQsIDEsIDIxOCwgMTIyLCA3MCwgMzMsIDYsIDEsIDIxOCwgMTIyLCAxMDQsIAorICAgIDIsIDkxLCAzMywgNCwgMSwgMjE4LCAxMjIsIDEwNCwgMiwgOTEsIDMzLCA2LCAxLCAyNDIsIDUwLCAyLCAyNDgsIDQwLCAzMywgCisgICAgNCwgMSwgMjQyLCA1MCwgMiwgMjQ4LCA0MCwgMzMsIDYsIDI3LCAyMTcsIDI0LCAyMTUsIDE3OSwgMzMsIDQsIDI3LCAyMTcsIAorICAgIDI0LCAyMTUsIDE3OSwgMzMsIDYsIDEsIDI1MCwgMTMzLCAyLCAyNDgsIDQwLCAzMywgNCwgMSwgMjUwLCAxMzMsIDIsIDI0OCwgCisgICAgNDAsIDMzLCA2LCAxLCAyNTAsIDEzMywgMiwgNjcsIDkxLCAzMywgNCwgMSwgMjUwLCAxMzMsIDIsIDY3LCA5MSwgMzMsIDYsIAorICAgIDEsIDIyMCwgMzQsIDMzLCA0LCAxLCAyMjAsIDM0LCAzMywgNiwgMSwgMjU1LCAyMSwgMjUwLCAxMzIsIDMzLCA0LCAxLCAKKyAgICAyNTUsIDIxLCAyNTAsIDEzMiwgMzMsIDYsIDEsIDI1NSwgMjEsIDI1MCwgMTMzLCAyLCAyNDgsIDQwLCAzMywgNCwgMSwgCisgICAgMjU1LCAyMSwgMjUwLCAxMzMsIDIsIDI0OCwgNDAsIDMzLCAxLCAyMjYsIDU5LCAzMywgNiwgMSwgMjEwLCA3NSwgMiwgMjUxLCAKKyAgICAxNDcsIDMzLCA0LCAxLCAyMTAsIDc1LCAyLCAyNTEsIDE0NywgMzMsIDYsIDEsIDIzNSwgMTQsIDIsIDEwMywgMzMsIDQsIDEsIAorICAgIDIzNSwgMTQsIDIsIDEwMywgMzMsIDYsIDEsIDI0NSwgMTc2LCAyLCAyMTcsIDc4LCAzMywgNCwgMSwgMjQ1LCAxNzYsIDIsIAorICAgIDIxNywgNzgsIDMzLCA2LCAxLCAyNDUsIDE1MiwgMiwgMTAzLCAzMywgNCwgMSwgMjQ1LCAxNTIsIDIsIDEwMywgMzMsIDYsIAorICAgIDEsIDI0NSwgMTUyLCAyLCAyMTcsIDc4LCAzMywgNCwgMSwgMjQ1LCAxNTIsIDIsIDIxNywgNzgsIDMzLCA2LCAxLCAyMzQsIAorICAgIDEyOCwgMjUwLCAxMzIsIDMzLCA0LCAxLCAyMzQsIDEyOCwgMjUwLCAxMzIsIDMzLCA2LCAxLCAyNDUsIDE2MSwgMiwgMjE3LCAKKyAgICA3OCwgMzMsIDQsIDEsIDI0NSwgMTYxLCAyLCAyMTcsIDc4LCAzMywgNCwgMSwgMjI2LCA1OSwgMzMsIDYsIDEsIDExNSwgMiwgCisgICAgMjUxLCAxNDcsIDMzLCA0LCAxLCAxMTUsIDIsIDI1MSwgMTQ3LCAzMywgNiwgMSwgMTE1LCAyLCAyNDgsIDIsIDMzLCA0LCAxLCAKKyAgICAxMTUsIDIsIDI0OCwgMiwgMzMsIDYsIDI3LCAxMTUsIDIzNiwgNjEsIDMzLCA0LCAyNywgMTE1LCAyMzYsIDYxLCAzMywgNiwgCisgICAgMSwgMjM2LCA2MiwgMiwgMjUxLCAxNDcsIDMzLCA0LCAxLCAyMzYsIDYyLCAyLCAyNTEsIDE0NywgMzMsIDYsIDEsIDIyMSwgCisgICAgMTk2LCAzMywgNCwgMSwgMjIxLCAxOTYsIDMzLCA2LCAxLCAyMjEsIDE5NywgMiwgMjQ4LCAyLCAzMywgNCwgMSwgMjIxLCAKKyAgICAxOTcsIDIsIDI0OCwgMiwgMzMsIDYsIDEsIDIxMCwgNzUsIDIsIDI0OCwgMiwgMzMsIDQsIDEsIDIxMCwgNzUsIDIsIDI0OCwgCisgICAgMiwgMzMsIDYsIDEsIDIxMCwgOTUsIDIsIDI0OCwgMiwgMzMsIDQsIDEsIDIxMCwgOTUsIDIsIDI0OCwgMiwgMzMsIDYsIDEsIAorICAgIDI1NSwgMjEsIDI0NiwgMzcsIDMzLCA0LCAxLCAyNTUsIDIxLCAyNDYsIDM3LCAzMywgNiwgMSwgMjQwLCAxNTUsIDIsIDIzMSwgCisgICAgMjMzLCAzMywgNCwgMSwgMjQwLCAxNTUsIDIsIDIzMSwgMjMzLCAzMywgNiwgMSwgMjQwLCAxNTUsIDIsIDI0OCwgMiwgMzMsIAorICAgIDQsIDEsIDI0MCwgMTU1LCAyLCAyNDgsIDIsIDMzLCA2LCAxLCAxNDQsIDIsIDI0OCwgMiwgMzMsIDQsIDEsIDE0NCwgMiwgCisgICAgMjQ4LCAyLCAzMywgNiwgMSwgMjUyLCAxMzUsIDc2LCAzMywgNCwgMSwgMjUyLCAxMzUsIDc2LCAzMywgNiwgMSwgMjUyLCAKKyAgICAxMzUsIDE0NCwgMiwgMjQ4LCAyLCAzMywgNCwgMSwgMjUyLCAxMzUsIDE0NCwgMiwgMjQ4LCAyLCAzMywgNiwgMSwgMTYwLCAKKyAgICAyLCAyNDgsIDIsIDMzLCA0LCAxLCAxNjAsIDIsIDI0OCwgMiwgMzMsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzMsIDMzLCA0LCAKKyAgICAxLCAxMDQsIDIsIDIzMSwgMjMzLCAzMywgNiwgMSwgMTA0LCAyLCAyNDgsIDIsIDMzLCA0LCAxLCAxMDQsIDIsIDI0OCwgMiwgCisgICAgMzMsIDYsIDEsIDEwNCwgMiwgNTIsIDE0MiwgMzMsIDQsIDEsIDEwNCwgMiwgNTIsIDE0MiwgMzMsIDYsIDEsIDI1MCwgMTMzLCAKKyAgICAyLCAyNDgsIDIsIDMzLCA0LCAxLCAyNTAsIDEzMywgMiwgMjQ4LCAyLCAzMywgNiwgMSwgMjQyLCAyMzgsIDIsIDI0OCwgNDAsIAorICAgIDMzLCA0LCAxLCAyNDIsIDIzOCwgMiwgMjQ4LCA0MCwgMzMsIDYsIDEsIDIxMSwgMjgsIDIsIDI0OCwgMiwgMzMsIDQsIDEsIAorICAgIDIxMSwgMjgsIDIsIDI0OCwgMiwgMzMsIDYsIDEsIDI0MiwgMjM4LCAyLCAyMTgsIDEwNCwgMjIsIDEwMywgMzMsIDQsIDEsIAorICAgIDI0MiwgMjM4LCAyLCAyMTgsIDEwNCwgMjIsIDEwMywgMzMsIDYsIDEsIDI0MiwgNTAsIDIsIDEwMywgMzMsIDQsIDEsIDI0MiwgCisgICAgNTAsIDIsIDEwMywgMzMsIDYsIDEsIDI0MiwgNTAsIDIsIDkxLCAzMywgNCwgMSwgMjQyLCA1MCwgMiwgOTEsIDMzLCA2LCAxLCAKKyAgICAyMzQsIDE1LCAyNDgsIDkxLCAzMywgNCwgMSwgMjM0LCAxNSwgMjQ4LCA5MSwgMzMsIDYsIDEsIDIzNCwgMTUsIDI0NywgCisgICAgMTYzLCAzMywgNCwgMSwgMjM0LCAxNSwgMjQ3LCAxNjMsIDMzLCA2LCAxLCAyMzQsIDE1LCAyMTAsIDI3LCAzMywgNCwgMSwgCisgICAgMjM0LCAxNSwgMjEwLCAyNywgMzMsIDYsIDEsIDIzNCwgMTUsIDI0NiwgMzEsIDMzLCA0LCAxLCAyMzQsIDE1LCAyNDYsIDMxLCAKKyAgICAzMywgNiwgMSwgMjM0LCAxNSwgMjMyLCAxODgsIDMzLCA0LCAxLCAyMzQsIDE1LCAyMzIsIDE4OCwgMzMsIDYsIDEsIDIzNCwgCisgICAgMTUsIDIyOCwgMTc5LCAzMywgNCwgMSwgMjM0LCAxNSwgMjI4LCAxNzksIDMzLCA2LCAxLCAyMzQsIDE1LCAyMTksIDExMCwgCisgICAgMzMsIDQsIDEsIDIzNCwgMTUsIDIxOSwgMTEwLCAzMywgNiwgMSwgMjM0LCAxNSwgMjE2LCA2MSwgMzMsIDQsIDEsIDIzNCwgCisgICAgMTUsIDIxNiwgNjEsIDMzLCA2LCAxLCAyMjMsIDUwLCAyMTAsIDk0LCAzMywgNCwgMSwgMjIzLCA1MCwgMjEwLCA5NCwgMzMsIAorICAgIDYsIDEsIDI0NSwgMTc2LCAyLCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE3NiwgMiwgMTAzLCAzMywgNiwgMSwgMjMyLCAyNTUsIAorICAgIDMzLCA0LCAxLCAyMzIsIDI1NSwgMzMsIDYsIDEsIDIyMywgNDAsIDMzLCA0LCAxLCAyMjMsIDQwLCAzMywgNiwgMSwgMjExLCAKKyAgICA5MiwgMzMsIDQsIDEsIDIxMSwgOTIsIDMzLCA2LCAxLCAyMjQsIDg5LCAzMywgNCwgMSwgMjI0LCA4OSwgMzMsIDYsIDEsIAorICAgIDIxMiwgMjIsIDMzLCA0LCAxLCAyMTIsIDIyLCAzMywgNiwgMSwgMjU0LCAxNjcsIDE3NiwgMzMsIDQsIDEsIDI1NCwgMTY3LCAKKyAgICAxNzYsIDMzLCA2LCAxLCAyNDUsIDE3NiwgMiwgMjMwLCAyMjUsIDEwMywgMzMsIDQsIDEsIDI0NSwgMTc2LCAyLCAyMzAsIAorICAgIDIyNSwgMTAzLCAzMywgNiwgMSwgMjQ1LCAxNTIsIDIsIDIzMCwgMjI1LCAxMDMsIDMzLCA0LCAxLCAyNDUsIDE1MiwgMiwgCisgICAgMjMwLCAyMjUsIDEwMywgMzMsIDYsIDEsIDIyNSwgMjIzLCAyLCAyNDgsIDQwLCAzMywgNCwgMSwgMjI1LCAyMjMsIDIsIAorICAgIDI0OCwgNDAsIDMzLCA2LCAxLCAyMjAsIDM1LCAyLCAyNDgsIDQwLCAzMywgNCwgMSwgMjIwLCAzNSwgMiwgMjQ4LCA0MCwgCisgICAgMTUwLCA2LCAxLCAyNTMsIDE2NSwgMTUwLCA2LCAxLCAyNTIsIDQwLCAxNTAsIDYsIDEsIDI0MiwgMjA0LCAxNTAsIDYsIDEsIAorICAgIDI0OCwgMjIyLCAxNTAsIDYsIDEsIDI0NSwgMjE0LCAxNTAsIDYsIDEsIDIxMCwgMTE2LCAxNTAsIDYsIDEsIDI0NSwgMTk4LCAKKyAgICAxNTAsIDYsIDEsIDI0NSwgNjYsIDE1MCwgNiwgMSwgMTExLCAxNTAsIDYsIDEsIDIxMCwgNzQsIDE1MCwgNiwgMSwgMjM1LCAKKyAgICAyMjgsIDE1MCwgNiwgMSwgMjMyLCAxOTEsIDE1MCwgNiwgMSwgMjExLCAxNjAsIDE1MCwgNiwgMSwgMjUxLCAzNCwgMTUwLCAKKyAgICA2LCAxLCAyMzQsIDE2NiwgMTUwLCA2LCAxLCAyNDEsIDY5LCAxNTAsIDYsIDEsIDIzNSwgMTQyLCAxNTAsIDYsIDEsIDI0MiwgCisgICAgMjQ3LCAxNTAsIDYsIDEsIDI1MCwgMTI3LCAxNTAsIDYsIDEsIDIzMSwgNTksIDE1MCwgNiwgMSwgMjExLCA4LCAxNTAsIDYsIAorICAgIDEsIDIyOCwgNDAsIDE1MCwgNiwgMSwgMjIwLCAxMDMsIDE1MCwgNiwgMSwgMjEzLCAxMzgsIDE1MCwgNiwgMSwgMjUwLCAKKyAgICAxNTgsIDE1MCwgNiwgMSwgMjI1LCAyMDYsIDE1MCwgNiwgMSwgMjM1LCAxMTEsIDE1MCwgNiwgMSwgMjA1LCAxNTAsIDYsIDEsIAorICAgIDIyMSwgMTYyLCAxNTAsIDYsIDEsIDIxMywgMTc5LCAxNTAsIDYsIDEsIDIxNiwgNjMsIDE1MCwgNiwgMSwgMjIzLCA5NiwgCisgICAgMTUwLCA2LCAxLCAyNDksIDIzOSwgMTUwLCA2LCAxLCAyMTAsIDI0OSwgMTUwLCA2LCAxLCAyMjUsIDQ3LCAxNTAsIDYsIDEsIAorICAgIDIzNCwgMTc3LCAxNTAsIDYsIDEsIDIyNiwgMjIzLCAxNTAsIDYsIDEsIDI0NCwgMTQzLCAxNTAsIDU4LCAxLCA0MywgMTYzLCAKKyAgICAyMjIsIDIzNCwgMTUwLCAyNTQsIDU4LCAxNTAsIDI0NSwgMTU1LCA3OCwgMTUwLCAyNDUsIDMyLCA3OCwgMTUwLCAyNDksIAorICAgIDIyMCwgMTUwLCAyMjQsIDE0LCA3OCwgMTUwLCAyNTUsIDIyLCA3OCwgMTUwLCA0LCAxLCAyNTMsIDE2NSwgMTUwLCA0LCAxLCAKKyAgICAyNTIsIDQwLCAxNTAsIDQsIDEsIDI0MiwgMjA0LCAxNTAsIDQsIDEsIDI0OCwgMjIyLCAxNTAsIDQsIDEsIDI0NSwgMjE0LCAKKyAgICAxNTAsIDQsIDEsIDIxMCwgMTE2LCAxNTAsIDQsIDEsIDI0NSwgMTk4LCAxNTAsIDQsIDEsIDI0NSwgNjYsIDE1MCwgNCwgMSwgCisgICAgMTExLCAxNTAsIDQsIDEsIDIxMCwgNzQsIDE1MCwgNCwgMSwgMjM1LCAyMjgsIDE1MCwgNCwgMSwgMjMyLCAxOTEsIDE1MCwgCisgICAgNCwgMSwgMjExLCAxNjAsIDE1MCwgNCwgMSwgMjUxLCAzNCwgMTUwLCA0LCAxLCAyMzQsIDE2NiwgMTUwLCA0LCAxLCAyNDEsIAorICAgIDY5LCAxNTAsIDQsIDEsIDIzNSwgMTQyLCAxNTAsIDQsIDEsIDI0MiwgMjQ3LCAxNTAsIDQsIDEsIDI1MCwgMTI3LCAxNTAsIAorICAgIDQsIDEsIDIzMSwgNTksIDE1MCwgNCwgMSwgMjExLCA4LCAxNTAsIDQsIDEsIDIyOCwgNDAsIDE1MCwgNCwgMSwgMjIwLCAKKyAgICAxMDMsIDE1MCwgNCwgMSwgMjEzLCAxMzgsIDE1MCwgNCwgMSwgMjUwLCAxNTgsIDE1MCwgNCwgMSwgMjI1LCAyMDYsIDE1MCwgCisgICAgNCwgMSwgMjM1LCAxMTEsIDE1MCwgNCwgMSwgMjA1LCAxNTAsIDQsIDEsIDIyMSwgMTYyLCAxNTAsIDQsIDEsIDIxMywgMTc5LCAKKyAgICAxNTAsIDQsIDEsIDIxNiwgNjMsIDE1MCwgNCwgMSwgMjIzLCA5NiwgMTUwLCA0LCAxLCAyNDksIDIzOSwgMTUwLCA0LCAxLCAKKyAgICAyMTAsIDI0OSwgMTUwLCA0LCAxLCAyMjUsIDQ3LCAxNTAsIDQsIDEsIDIzNCwgMTc3LCAxNTAsIDQsIDEsIDIyNiwgMjIzLCAKKyAgICAxNTAsIDQsIDEsIDI0NCwgMTQzLCAxNTAsIDQsIDI3LCAyNDUsIDIxNSwgMjEwLCAyNDksIDE1MCwgMjQzLCAyMzAsIDIxOCwgCisgICAgMTMwLCAxNTAsIDI0MCwgMTY5LCAxNTAsIDI0NiwgOTYsIDUwLCA5NCwgMjU1LCAxNiwgMjQ1LCA1OCwgOTQsIDI1NSwgMTYsIAorICAgIDIyMSwgMTYzLCA5NCwgMjU1LCAxNiwgMjIwLCA4OSwgOTQsIDI1NSwgMTYsIDIxMCwgMTA0LCAyMjQsIDcyLCA5NCwgMjU1LCAKKyAgICAxNiwgMjEwLCAxMDQsIDI0MywgMTI2LCA5NCwgMjU1LCAxNiwgMjE2LCA3NiwgOTQsIDI1NSwgMTYsIDIyMywgNDgsIDk0LCAKKyAgICAyNTUsIDE2LCAyMTAsIDEwMywgOTQsIDI1NSwgMTYsIDIyNSwgMjQ2LCA5NCwgMjU1LCAxNiwgMjExLCAyMCwgOTQsIDI1NSwgCisgICAgMTYsIDIxNiwgMjE1LCA5NCwgMjU1LCAxNiwgMjQzLCA0MiwgOTQsIDI1NSwgMTYsIDI0MywgNDMsIDIzMCwgNzAsIDk0LCAKKyAgICAyNTUsIDE2LCAyNDMsIDQwLCA5NCwgMjU1LCAxNiwgMjI0LCA3MywgMjI2LCAxNywgOTQsIDI1NSwgMTYsIDIxNiwgMjU0LCAKKyAgICAyNDMsIDU3LCA5NCwgMjU1LCAxNiwgMjI1LCAyMjcsIDk0LCAyNTUsIDE2LCAyNTMsIDIwMSwgMjQyLCA0MiwgOTQsIDI1NSwgCisgICAgMTYsIDIzMCwgODAsIDk0LCAyNTUsIDE2LCAyMzEsIDIwOSwgOTQsIDI1NSwgMTYsIDIzMSwgNTAsIDk0LCAyNTUsIDE2LCAKKyAgICAyMzEsIDUxLCAyMzQsIDE3OCwgOTQsIDI1NSwgMTYsIDI0OCwgMTY0LCA5NCwgMjU1LCAxNiwgMjI0LCA4NCwgOTQsIDI1NSwgCisgICAgMTYsIDIxNiwgMjU0LCAyMjQsIDY4LCA5NCwgMjU1LCAxNiwgMjExLCAzMCwgMjUyLCA0MSwgMjEwLCAyMzAsIDk0LCAyNTUsIAorICAgIDE2LCAyMjYsIDIwOCwgOTQsIDI1NSwgMTYsIDIzNiwgMjAsIDk0LCAyNTUsIDE2LCAyNDgsIDcxLCA5NCwgMjU1LCAxNiwgCisgICAgMjEwLCAzMywgOTQsIDE2NCwgMjMxLCAxNDQsIDI1MCwgMzYsIDk0LCAyMjUsIDEyLCAyMjAsIDM3LCA5NCwgMjI1LCAxMiwgCisgICAgMjQxLCAyNTEsIDIyMSwgMTYzLCA5NCwgMjI1LCAxMiwgMjQxLCAyNTEsIDIyNSwgMjQwLCA5NCwgMjI1LCAxMiwgMjQxLCAKKyAgICAyNTEsIDIyNCwgNzcsIDk0LCAyMjUsIDEyLCAyNDEsIDE1OSwgOTQsIDIyNSwgMTIsIDIxNSwgMTc3LCA5NCwgMjI1LCAxMiwgCisgICAgMjIxLCAxNjMsIDk0LCAyMjUsIDEyLCAyMjUsIDI0MCwgOTQsIDIyNSwgMTIsIDIyNCwgNzcsIDk0LCAyMjUsIDEyLCAyNDEsIAorICAgIDYyLCA5NCwgMjI1LCAxMiwgMjQxLCA2MywgMjQxLCAyNTMsIDMxLCAyMTQsIDMsIDk0LCAyMjUsIDEyLCAyMjQsIDE4LCA5NCwgCisgICAgMjI1LCAxMiwgMjQ4LCAyMDksIDE3NywgMjMxLCAxNzIsIDk0LCAyMjUsIDEyLCAyMzEsIDM5LCA5NCwgMjI0LCAxNDIsIAorICAgIDIzMSwgMTY5LCA5NCwgMjI1LCAxMiwgMjIzLCAxNzAsIDk0LCAyMjQsIDE0MiwgMjI1LCAyNDgsIDk0LCAyMjUsIDEyLCAKKyAgICAyMjAsIDIyLCAyNDcsIDEyMSwgOTQsIDIyNSwgMTIsIDIxOSwgMTYwLCAyNDcsIDEyMSwgOTQsIDIyNCwgMTQyLCAyMTksIAorICAgIDU0LCAyMjUsIDI0MiwgOTQsIDE2NCwgMjE0LCAxNjAsIDI0NywgMTIxLCA5NCwgMTY0LCAyMzIsIDEwOSwgMjQ3LCAxMjEsIAorICAgIDk0LCAyMjQsIDE0MiwgMjI3LCAxOTYsIDI0MiwgNDEsIDk0LCAyMjUsIDEyLCAyMjQsIDc4LCAyMjQsIDcyLCA5NCwgMSwgCisgICAgMjU0LCAxNzEsIDk0LCAxLCAyNTIsIDI5LCA5NCwgMSwgMjQyLCAyMDIsIDk0LCAxLCAyNDgsIDE5MCwgOTQsIDEsIDI0MSwgCisgICAgMjM5LCA5NCwgMSwgMjE0LCAzLCA5NCwgMSwgMjEwLCA5NywgOTQsIDEsIDI0MSwgMTk4LCA5NCwgMSwgMjE2LCAyMzEsIDk0LCAKKyAgICAxLCAyMTAsIDIzMywgOTQsIDEsIDQwLCAyMzQsIDI1MSwgOTQsIDEsIDIzNCwgMjUxLCA5NCwgMSwgMjMzLCA5NSwgOTQsIDEsIAorICAgIDQwLCAyMzEsIDY2LCA5NCwgMSwgMjMxLCA2NiwgOTQsIDEsIDQwLCAyMjcsIDE5NSwgOTQsIDEsIDIyNywgMTk1LCA5NCwgMSwgCisgICAgMjIxLCAyNTAsIDk0LCAxLCAyNTMsIDE2MywgOTQsIDEsIDQwLCAyMjUsIDIyMiwgOTQsIDEsIDIyNSwgMjIyLCA5NCwgMSwgCisgICAgNDAsIDIxNSwgMTgwLCA5NCwgMSwgMjE1LCAxODAsIDk0LCAxLCAyMjQsIDQwLCA5NCwgMSwgMjIzLCA2OCwgOTQsIDEsIAorICAgIDIyMCwgMjEsIDk0LCAxLCAyMTcsIDM5LCA5NCwgMjcsIDIxMSwgNiwgNTIsIDIxNCwgMywgOTQsIDI3LCAyMTEsIDYsIDIxNCwgCisgICAgNCwgMjEwLCAyMzMsIDk0LCAyNywgMjExLCA2LCA1MiwgMjEwLCAyMzMsIDk0LCAyMjQsIDE0MiwgMjQzLCA0MiwgOTQsIAorICAgIDIyNCwgMTQyLCAyNDMsIDQwLCAxMCwgNTQsIDUwLCAxMCwgNSwgMjIxLCAyNDMsIDEwLCAyNDQsIDMxLCAyMzEsIDE1NSwgCisgICAgMTAsIDUsIDIyMiwgMjQsIDEwLCA1LCAyMjEsIDI0NiwgMjU0LCAzOCwgMjQ5LCAxMTAsIDIyMiwgMTk0LCAyNTQsIDM4LCAKKyAgICAyNDQsIDUsIDIyMiwgMTk0LCAxMCwgMjIzLCAxMzUsIDI1NCwgMzgsIDIyNSwgMTg0LCAyMzAsIDE5NCwgNTAsIDI1NCwgMzgsIAorICAgIDIyNSwgMTg0LCAyMTYsIDI0OSwgMjE2LCAxNDksIDUwLCAyNTQsIDIyMiwgNTAsIDEwLCAyNDksIDIyMCwgMTAsIDI0OCwgCisgICAgMTUxLCAyMjAsIDEzOCwgMTAsIDIyNSwgMTQsIDIxMywgMjQxLCA1MCwgMTAsIDUsIDIzMCwgMTc1LCAxMCwgNSwgMjIyLCA0LCAKKyAgICAyNTQsIDE3MywgMjEyLCA0NSwgMTAsIDUsIDI1NCwgMTczLCAyNTMsIDIyMiwgMTAsIDUsIDIyMywgMTY4LCAyNTQsIDE3MiwgCisgICAgMTAsIDUsIDIyMywgMTc2LCAyNTQsIDE1MywgMjU0LCAxMDUsIDEwLCA1LCAyMTcsIDcxLCAxMCwgNCwgMTI1LCAyMTcsIDgxLCAKKyAgICAxMCwgNCwgMTI1LCAyNywgMTEyLCAyLCAyMzMsIDEwNCwgMiwgMjExLCA0MywgMTAsIDQsIDEyNSwgMjEwLCAxMDgsIDEwLCAKKyAgICA0LCAyNDQsIDE2NiwgMTAsIDQsIDI0OCwgMTg1LCAxMCwgNCwgMjM0LCAyMDYsIDEwLCAyMjAsIDE1MSwgMTAsIDIxNSwgCisgICAgMjEyLCA1OSwgMjI0LCAxNDIsIDc4LCAxMCwgMjI0LCAxNCwgNzgsIDEwLCAxLCAyMzQsIDIxMCwgMjExLCA0MywgMTAsIDEsIAorICAgIDI0MiwgMjAsIDEwLCAxLCAxMTIsIDIsIDIzMSwgMjI5LCA0OCwgMTAsIDEsIDExMiwgMiwgMjAyLCA0OCwgMTAsIDEsIDIxMiwgCisgICAgMzEsIDIsIDIwMiwgNDgsIDEwLCAxLCAxMTIsIDIsIDIwMiwgNTEsIDEwLCAxLCA3OSwgMiwgMjAyLCA0OCwgMTAsIDEsIAorICAgIDI1NCwgMTcxLCAxMCwgMSwgMjUyLCA1NSwgMTAsIDEsIDIxNywgOSwgMjMxLCAxNjUsIDEwLCAxLCAyMTcsIDgsIDEwLCAxLCAKKyAgICAyMTYsIDE5MywgMTAsIDEsIDIzNSwgMTI0LCAxMCwgMSwgMjQyLCAzOCwgMTAsIDEsIDIzNCwgMTMwLCAxMCwgMSwgMjQ4LCAKKyAgICAxOTYsIDEwLCAxLCAyMTYsIDIwMywgMTAsIDEsIDIyMywgOTYsIDEwLCAxLCAyMTAsIDEwOCwgMTAsIDEsIDIyMSwgMTY3LCAKKyAgICAxMCwgMSwgMjIwLCA2MCwgMTAsIDEsIDIyMiwgMjcsIDEwLCAxLCAyNDgsIDIxNywgMTAsIDEsIDIxNywgODEsIDEwLCAxLCAKKyAgICAyMTAsIDExMSwgMTAsIDEsIDI1NCwgMTk3LCAxMCwgMSwgMjQyLCAyNDUsIDEwLCAxLCAyMzQsIDE3NiwgMiwgMTEzLCAxNzAsIAorICAgIDQ4LCAxMCwgMSwgMjM0LCAxNzYsIDIsIDEzNCwgMTcwLCA1MSwgMTAsIDEsIDI0NCwgMTY5LCA3OSwgMiwgMjM1LCAxOTQsIAorICAgIDIxNCwgMTA1LCAxMCwgMSwgMjQ0LCAxNjksIDc5LCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyNDQsIDE2OSwgNzksIDIsIAorICAgIDEzNCwgMTcwLCA0OCwgMTAsIDIxNywgNDQsIDEwLCAxLCAyNDQsIDE0MywgMTAsIDEsIDIyNCwgODIsIDEwLCAxLCAyMzQsIAorICAgIDI1MSwgMTAsIDEsIDIzMywgMTAzLCAxMCwgMSwgMjMxLCA3OSwgMTAsIDEsIDIyOCwgNjMsIDEwLCAxLCAyNDEsIDIxOSwgCisgICAgMTAsIDEsIDIxMiwgMzAsIDEwLCAxLCAxMTIsIDIzMSwgMTkzLCAxMCwgMSwgMjExLCA0MywgMTAsIDI0NCwgMTY0LCAxMCwgCisgICAgMjQ4LCAxODMsIDEwLCAyMzQsIDIwNCwgMTAsIDI0NCwgMTY2LCAxMCwgMjQ4LCAxODUsIDEwLCAyMzQsIDIwNiwgMTAsIAorICAgIDIyMCwgOTQsIDEwLCAyMTgsIDQ2LCAxMCwgMjMxLCAyMjcsIDQ4LCAxMCwgMjAyLCA0OCwgMTAsIDIwMiwgNTEsIDEwLCAKKyAgICAyMTgsIDY2LCAyNTQsIDE3MSwgMTAsIDIzNSwgMTk0LCAyNDgsIDE4NSwgMTAsIDE2NCwgMjI4LCA2NCwgMjQyLCAyMTksIAorICAgIDEwLCAyMDksIDI1NSwgMTAsIDI1LCA1LCA0LCAyMTQsIDEwNiwgNDgsIDEwLCAyNSwgNSwgMjM1LCAxOTQsIDQsIDIxNCwgCisgICAgMTA2LCA0OCwgMTAsIDI1LCA1LCA1OSwgNTEsIDEwLCAyMjMsIDUwLCAyNDgsIDE4NSwgMTAsIDI0NCwgMTY3LCAyLCAxMTMsIAorICAgIDI0NywgMTE5LCAxMCwgMjEyLCAzMiwgMjAyLCA1MSwgMjU0LCAzOCwgMjEsIDIxMCwgODYsIDI1NCwgMzgsIDIxLCAxMTAsIAorICAgIDI1NCwgMzgsIDIxLCAxMDUsIDI1NCwgMzgsIDIxLCAxNTgsIDI1NCwgMzgsIDIxLCAxNjEsIDI1NCwgMzgsIDIxLCAxODksIAorICAgIDI1NCwgMzgsIDIxLCAxOTQsIDI1NCwgMzgsIDIxLCAxOTgsIDI1NCwgMzgsIDIxLCAxOTUsIDI1NCwgMzgsIDIxLCAyMDAsIAorICAgIDEwLCAyMjUsIDE4MywgNTAsIDEwLCAyNDgsIDg0LCAyMjAsIDEzOCwgMTAsIDIxNiwgMTQ3LCAyMjAsIDEzOCwgMTAsIDI0NCwgCisgICAgODIsIDIyNSwgMTAsIDIxOCwgMTU3LCAxMCwgMSwgMjQ3LCAxMjAsIDI1MiwgNTUsIDEwLCAxLCAyNDcsIDEyMCwgMjI0LCAKKyAgICA4MiwgMTAsIDEsIDIxOCwgMjQsIDI1NCwgMTcxLCAxMCwgMSwgMTEyLCAyMTIsIDQ2LCAxMCwgMSwgMTEyLCAyLCAyMTIsIAorICAgIDMyLCAyMDIsIDQ4LCAxMCwgMSwgMTEyLCAyLCAyMTIsIDMyLCAyMDIsIDUxLCAxMCwgMSwgMTI1LCAyNDIsIDIwLCAxMCwgMSwgCisgICAgMTI1LCAyMDIsIDI1NCwgMTcxLCAxMCwgMSwgMTI1LCAyMDIsIDIxMiwgMzAsIDEwLCAxLCAxMDQsIDIsIDIwMiwgNDgsIDEwLCAKKyAgICAxLCAxMjUsIDIwMiwgMjExLCA0MywgMTAsIDEsIDIxNSwgMTQ5LCAxMCwgMSwgMjE1LCAxNDcsIDEwLCAxLCAyNTIsIDY1LCAKKyAgICAxMCwgMSwgMjE3LCA5LCAyLCAyMjIsIDIzNCwgMTAsIDEsIDIxNywgOSwgMiwgMTM0LCAxNzAsIDc3LCAyNDYsIDEwNCwgMTAsIAorICAgIDEsIDIyNSwgMjA2LCAxMCwgMSwgMjE3LCA2LCAxMCwgMSwgMjUyLCA1MywgMTAsIDEsIDEyMiwgMiwgMjAyLCA0OCwgMTAsIAorICAgIDEsIDEyMiwgMiwgMTEzLCAxNzAsIDY3LCA0OCwgMTAsIDEsIDIyNywgMTU0LCAxMCwgMSwgMjQ2LCA0NCwgMTAsIDEsIDEyMiwgCisgICAgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjE3LCAyNywgMTAsIDEsIDIxNywgMjUsIDEwLCAxLCAyNDgsIDEzMSwgMTAsIDEsIAorICAgIDI0OCwgMTk3LCAyLCAyMjIsIDIzNCwgMTAsIDEsIDI0OCwgMTk3LCAyLCA1OSwgNTEsIDEwLCAxLCAyNDgsIDE5NywgMiwgCisgICAgNTksIDI1MiwgNDQsIDIyLCA0LCAyMTcsIDgxLCAxMCwgMSwgMjQ4LCAyMDIsIDEwLCAxLCAyNDgsIDEzMywgMTAsIDEsIAorICAgIDI0NiwgNzEsIDEwLCAxLCAyNDgsIDE5NywgMiwgMTM0LCAxNzAsIDc3LCAyNDYsIDEwNCwgMTAsIDEsIDI0OCwgMTk3LCAyLCAKKyAgICAyNDQsIDEyLCAxNzAsIDQ4LCAxMCwgMSwgMjIyLCAxNzIsIDEwLCAxLCAyMjMsIDk3LCAyLCA0LCAyMTQsIDEwNSwgMTAsIDEsIAorICAgIDIyMywgOTcsIDIsIDIyMiwgMjM0LCAxMCwgMSwgMjIzLCA5NywgMiwgNTksIDUxLCAxMCwgMSwgMjIzLCA5NywgMiwgNCwgCisgICAgMjE0LCAxMDYsIDUxLCAxMCwgMSwgMjIzLCA5NywgMiwgNTksIDI1MiwgNDQsIDIyLCA1OSwgNDgsIDEwLCAxLCAyMjMsIDk3LCAKKyAgICAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyMzUsIDEyMSwgMTAsIDEsIDIyMywgOTcsIDIsIDI0NCwgMTIsIDE3MCwgNDgsIAorICAgIDEwLCAxLCAyMjEsIDE2OCwgMiwgNTksIDI1MiwgNDQsIDIyLCA1OSwgNDgsIDEwLCAxLCAyMjEsIDE2OCwgMiwgMTM0LCAKKyAgICAxNzAsIDUxLCAxMCwgMSwgMjIxLCAxNjgsIDIsIDEzNCwgMTcwLCAyNTIsIDQ0LCAyMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgCisgICAgMjIyLCAyOCwgMiwgMTEzLCAxNzAsIDUxLCAxMCwgMSwgMjIyLCAyOCwgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjE3LCAKKyAgICA4MiwgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjU0LCAxOTgsIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDI0NywgMTIwLCAKKyAgICAyNDQsIDE0MywgMTAsIDEsIDI0NCwgMTQ0LCAyLCA1OSwgMjMwLCAxMTAsIDUxLCAxMCwgMSwgMjQ0LCAxNDQsIDIsIDU5LCAKKyAgICA1MSwgMTAsIDEsIDIxMywgMjQ4LCAxMCwgMSwgMjQ0LCAxNDQsIDIsIDEzNCwgMTcwLCA1MSwgMTAsIDEsIDIyNSwgMjA0LCAKKyAgICAxMCwgMSwgMjI0LCA4MywgMiwgNTksIDQ4LCAxMCwgMSwgMjI0LCA4MywgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjM0LCAKKyAgICAxNzUsIDEwLCAxLCAyMTcsIDI1MSwgMjM0LCAyNTEsIDEwLCAxLCAyMzQsIDI1MiwgMiwgMjIyLCAyMzQsIDEwLCAxLCAyMzQsIAorICAgIDI1MiwgMiwgNTksIDQ4LCAxMCwgMSwgMjI5LCA4MCwgMTAsIDEsIDIzNCwgMjUyLCAyLCAxMzQsIDE3MCwgNTEsIDEwLCAxLCAKKyAgICAyNDMsIDEyMywgMTAsIDEsIDI0MywgMTI0LCAyLCAyMjIsIDIzNCwgMTAsIDEsIDIyOSwgMywgMTAsIDEsIDI0MywgMTI0LCAKKyAgICAyLCAxMTMsIDE3MCwgNTEsIDEwLCAxLCAyNDIsIDEwMiwgMTAsIDEsIDI0MywgMTI0LCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAKKyAgICAxLCAyMzMsIDEwNCwgMiwgNCwgMjE0LCAxMDUsIDEwLCAxLCAyMzMsIDEwNCwgMiwgNTksIDQ4LCAxMCwgMSwgMjMzLCAxMDQsIAorICAgIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIzMywgMTA0LCAyLCAxMzQsIDE3MCwgNTEsIDEwLCAxLCAyMjgsIDY0LCAyLCA1OSwgCisgICAgNTEsIDEwLCAxLCAyMjgsIDY0LCAyNDIsIDIxOSwgMTAsIDEsIDIyMiwgMjE1LCAxMCwgMSwgMjI4LCA2NCwgMiwgMjIyLCAKKyAgICAyMzQsIDEwLCAxLCAyMjgsIDY0LCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAxLCAyNDEsIDIyMCwgMjQ3LCAxNDIsIDEwLCAxLCAKKyAgICAyMTcsIDI4LCAyLCA1OSwgNDgsIDEwLCAxLCAyNDEsIDIyMCwgMiwgNzksIDQ4LCAxMCwgMSwgMjQxLCAyMjAsIDI0MiwgCisgICAgMTcyLCAxMCwgMSwgMjQxLCAyMjAsIDI0MiwgMTczLCAyLCAyMDIsIDQ4LCAxMCwgMSwgMjE3LCA5LCAyMzEsIDE2NiwgMjQyLCAKKyAgICAxNzIsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMjIsIDIzNCwgMTAsIDEsIDIzNCwgNzQsIDIyNiwgMjM1LCAxMCwgMSwgMjI2LCAKKyAgICAyMzUsIDEwLCAxLCA3MCwgMTAsIDEsIDIxMCwgMjEyLCAxMCwgMSwgMjM0LCA3NCwgMjEwLCAyMTIsIDEwLCAxLCAyMTIsIAorICAgIDMxLCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyMTMsIDI1NSwgMTAsIDEsIDI0NCwgMTY5LCAyMTEsIDQzLCAxMCwgMSwgCisgICAgNzksIDIsIDIxNywgNzgsIDEwLCAxLCA3OSwgMiwgNCwgMjE0LCAxMDUsIDEwLCAxLCAyMTIsIDMxLCAyLCA1OSwgNDgsIDEwLCAKKyAgICAxLCA3NSwgMTAsIDEsIDc5LCAyLCAxMzQsIDE3MCwgNTEsIDEwLCAxLCA3OSwgMjUyLCAxMzMsIDEwLCAxLCA3OSwgMjUyLCAKKyAgICAxMzQsIDIsIDIwMiwgNDgsIDEwLCAyNDMsIDIzMCwgMjE4LCAxMzAsIDEwLCAxLCAyNTQsIDI0NCwgMTAsIDQsIDEyNSwgMjcsIAorICAgIDIyMiwgMjgsIDIsIDIzMywgMTA0LCAyLCAxMTIsIDIzMSwgMTkzLCAxMCwgNCwgMTI1LCAyNywgMjI0LCA4MywgMiwgMjMzLCAKKyAgICAxMDQsIDIsIDExMiwgMjMxLCAxOTMsIDEwLCA0LCAxMjUsIDY2LCA2NSwgMTcsIDEwLCA0LCAxMjUsIDIzMywgMTA0LCAyNTQsIAorICAgIDE3MSwgMTAsIDQsIDEyNSwgMjM1LCAxMjQsIDEwLCA0LCAxMjUsIDEzNCwgMjQ3LCAxMTksIDEwLCA0LCAxMjUsIDIyMSwgCisgICAgMTY3LCAxMCwgMjQ1LCAxNDQsIDY0LCAyNTMsIDE2NywgMTAsIDIxOCwgMTUzLCA2NCwgMjIyLCAxMzksIDI0NSwgMTc2LCAKKyAgICAyNDEsIDE1NiwgMTAsIDQsIDEyNSwgMjIyLCAxODQsIDIxMCwgODYsIDEwLCA0LCAxMjUsIDIxNCwgMTU5LCAyMjMsIDExNiwgCisgICAgMjEwLCA4NiwgMTAsIDQsIDEyNSwgMjQ3LCAxMjAsIDI0MSwgMjM3LCA2NCwgMjM0LCAxMzAsIDEwLCA0LCAxMjUsIDY2LCAKKyAgICA1MywgMTcsIDEwLCA0LCAxMjEsIDIyMSwgMTY3LCAxMCwgNCwgMTI1LCAyMzEsIDIyOCwgMTAsIDQsIDIxMiwgMzAsIDEwLCAKKyAgICA0LCAyMTEsIDQzLCAxMCwgNCwgMTI1LCAyMTEsIDQzLCAxMCwgNCwgMTI1LCAyMjgsIDYzLCAxMCwgMjI1LCA0MiwgNjQsIAorICAgIDIyMiwgMTQsIDEwLCAyNDUsIDE1MywgMjUwLCAxNzYsIDEyMSwgMjE4LCAxMzAsIDEwLCAyNDUsIDE1MywgMjUwLCAxNzYsIAorICAgIDEyNSwgMjE4LCAxMzAsIDEwLCAyMjIsIDE4NCwgMTI1LCAyMTgsIDEzMSwgMiwgMjQ0LCAxMDUsIDI1MCwgMTc1LCAxMCwgNCwgCisgICAgMTIxLCAyMzEsIDc5LCAxMCwgMSwgMjQ4LCAxOTcsIDIsIDIzNSwgMTk0LCAyMTQsIDEwNSwgMTAsIDEsIDIyMywgOTcsIDIsIAorICAgIDIzNSwgMTk0LCAyMTQsIDEwNSwgMjQ1LCAyMywgMjU0LCAzOCwgMjEsIDIxMCwgODYsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAKKyAgICAxMTAsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxMDUsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxNTgsIDI0NSwgMjMsIDI1NCwgCisgICAgMzgsIDIxLCAxNjEsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxODksIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxOTQsIDI0NSwgCisgICAgMjMsIDI1NCwgMzgsIDIxLCAxOTgsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxOTUsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAKKyAgICAyMDAsIDEwLCAxLCAyMjAsIDYxLCAyLCA1OSwgNTEsIDEwLCAxLCAyNDgsIDIxOCwgMiwgNTksIDUxLCAxMCwgMSwgMjQyLCAKKyAgICAyNDYsIDIsIDU5LCA1MSwgMTAsIDUsIDIxOSwgMTU5LCAyNTQsIDEyNywgMTAsIDUsIDIxOSwgMTU5LCAyMjQsIDIzNiwgCisgICAgMjMxLCA1OSwgMTAsIDEsIDI0MSwgMjIwLCAyLCAyMzUsIDE5NCwgMjE0LCAxMDUsIDE4MiwgMjQ1LCAxNDQsIDY0LCAyMjYsIAorICAgIDE1LCAxODIsIDIxOCwgMjAsIDI0MywgMjMwLCAyMTgsIDEzMCwgMTgyLCAyMTgsIDY4LCAyNDMsIDIzMCwgMjE4LCAxMzAsIAorICAgIDE4MiwgMjE4LCAyMCwgMjQ5LCAyMjcsIDE4MiwgMjE4LCA2OCwgMjQ5LCAyMjcsIDE4MiwgMjAzLCAyNDksIDIyNywgMTgyLCAKKyAgICAyNDksIDIyOCwgMjE5LCAxMDcsIDIzMywgNDcsIDE4MiwgMjQ5LCAyMjgsIDIxOSwgMTA3LCAyMjIsIDI1MiwgMTgyLCAyMTgsIAorICAgIDIwLCAyNDksIDIyOCwgMjE5LCAxMDcsIDIzMywgNDcsIDE4MiwgMjE4LCA2OCwgMjQ5LCAyMjgsIDIxOSwgMTA3LCAyMjIsIAorICAgIDI1MiwgMTgyLCAyNDksIDE4MSwgMTgyLCAyNDIsIDIsIDIyNiwgMjUxLCAxODIsIDI0MiwgMiwgMjMxLCAzNywgMTgyLCAKKyAgICAyNDIsIDIsIDI1MywgMjE5LCAxODIsIDI1NSwgMjIsIDc4LCAxODIsIDEsIDI1NCwgMTc1LCAxODIsIDEsIDIxOCwgMjQsIAorICAgIDI1NCwgMTc1LCAxODIsIDEsIDI1MiwgMjYsIDE4MiwgMSwgMjQzLCAxMTQsIDE4MiwgMSwgMjQzLCAxMTUsIDI0MywgOTIsIAorICAgIDE4MiwgMSwgMjQ4LCAxOTMsIDE4MiwgMSwgMjQ3LCAxMjAsIDI0OCwgMTk0LCAyMjIsIDIzMCwgMTgyLCAxLCAyNDEsIDIzOSwgCisgICAgMTgyLCAxLCAyMTIsIDMwLCAxODIsIDEsIDIxMCwgMTA4LCAxODIsIDEsIDI0MSwgMTk2LCAxODIsIDEsIDIxNiwgMjI3LCAKKyAgICAxODIsIDEsIDIxNiwgMjI4LCAyNDMsIDkyLCAxODIsIDEsIDIxMCwgMTk5LCAxODIsIDEsIDIxMCwgMjAwLCAyNDEsIDIzOSwgCisgICAgMTgyLCAxLCAyMzQsIDIyNiwgMTgyLCAxLCAyMzMsIDEwMiwgMTgyLCAxLCAyMzAsIDE5MSwgMTgyLCAxLCAyMjcsIDE5NSwgCisgICAgMTgyLCAxLCAyMjAsIDE0NCwgMTgyLCAxLCA0MCwgMjIwLCAxNDQsIDE4MiwgMSwgNzUsIDE4MiwgMSwgMjI1LCAyMjIsIAorICAgIDE4MiwgMSwgMjIzLCA1MCwgMjI1LCAyMjIsIDE4MiwgMSwgMjIyLCAyNSwgMTgyLCAxLCAyMjQsIDc2LCAxODIsIDEsIDIyMiwgCisgICAgMjMwLCAxODIsIDEsIDIyMCwgMjEsIDE4MiwgMSwgMjE3LCAzNywgMTgyLCAxLCAyMjUsIDE3MCwgMjUyLCAxMywgMTgyLCAxLCAKKyAgICAyMjUsIDE3MCwgMjQyLCAyNDMsIDE4MiwgMSwgMjI1LCAxNzAsIDI0OCwgMjEsIDE4MiwgMjI0LCAxNTIsIDQ4LCAxODIsIAorICAgIDIyNCwgMTUyLCA1MSwgMTgyLCAyMjQsIDE1MiwgMjQ2LCAxMTgsIDE4MiwgMjEwLCAxNywgNDgsIDE4MiwgMjEwLCAxNywgCisgICAgNTEsIDE4MiwgMjEwLCAxNywgMjQ2LCAxMTgsIDE4MiwgMjIzLCAxMzIsIDQ4LCAxODIsIDIyMywgMTMyLCA1MSwgMTgyLCAKKyAgICAyNDYsIDExOSwgMjEwLCAyNCwgMjQxLCA0NSwgMTgyLCAyNDYsIDExOSwgMjEwLCAyNCwgMjU0LCAxMDYsIDE4MiwgMjQxLCAKKyAgICAyNDIsIDQ4LCAxODIsIDI0MSwgMjQyLCA1MSwgMTgyLCAyNDEsIDI0MSwgMjQ2LCAxMTgsIDE4MiwgMjQ1LCA4MCwgNDgsIAorICAgIDE4MiwgMjQ1LCA4MCwgNTEsIDE4MiwgMjIyLCAxMDgsIDE4MiwgMjQ0LCAxMzcsIDI0NywgMTIxLCAxODIsIDIyMywgMjQ5LCAKKyAgICAxODIsIDIyMiwgMTM1LCAxODIsIDExMywgNjcsIDE3MCwgNDgsIDE4MiwgMTEzLCA2NywgMTcwLCA1MSwgMTgyLCAxMzQsIAorICAgIDE3MCwgNDgsIDE4MiwgMTM0LCAxNzAsIDUxLCAxODIsIDIyNiwgMjQ5LCAyMzIsIDIxNSwgNDgsIDE4MiwgMjI2LCAyNDksIAorICAgIDIzMiwgMjE1LCA1MSwgMTgyLCAyMzAsIDU3LCAxODIsIDI1MiwgMTMyLCAxODIsIDEsIDIxOSwgNTAsIDIxMCwgODAsIDE4MiwgCisgICAgMSwgMjE5LCA1MCwgMjM0LCAxMjMsIDE4MiwgMSwgMjE5LCA1MCwgMjQ0LCAxNTUsIDEwLCAxLCAyNTIsIDU2LCAyLCAxMzQsIAorICAgIDE3MCwgMjQwLCAyNTEsIDUxLCAxMCwgMSwgMjUyLCA1NiwgMiwgNTksIDI1MiwgNDQsIDIyLCAxMzQsIDE3MCwgNDgsIDEwLCAKKyAgICAxLCAyNTIsIDU2LCAyLCAxMzQsIDE3MCwgMjI1LCA4LCAyMTQsIDE1MywgNTEsIDEwLCAxLCAyNTIsIDU2LCAyLCAxMzQsIAorICAgIDE3MCwgMjI1LCA4LCAyMTQsIDE1MywgMjUyLCA0NCwgMjIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDI1MiwgNTYsIDIsIDExMywgCisgICAgMTcwLCAyNTIsIDQ0LCAyMiwgNTksIDQ4LCAxMCwgMSwgMjUyLCA1NiwgMiwgMjM1LCAxOTQsIDQsIDIxNCwgMTA2LCA1MSwgCisgICAgMTAsIDEsIDI1MiwgNTYsIDIsIDQsIDIxNCwgMTA1LCAxMCwgMSwgMTIyLCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAxMjIsIAorICAgIDIsIDEzNCwgMTcwLCAyMjUsIDgsIDIxNCwgMTUzLCA1MSwgMTAsIDEsIDI0OCwgMTk3LCAyLCAxMTMsIDE3MCwgMjEzLCAKKyAgICAxODksIDI1MiwgNDQsIDIyLCA0LCAyMTcsIDgxLCAxMCwgMSwgMjQ4LCAxOTcsIDIsIDIzNSwgMTk0LCA0LCAyMTQsIDEwNiwgCisgICAgNTEsIDEwLCAxLCAyMjMsIDk3LCAyLCA5MSwgMTAsIDEsIDIyMSwgMTY4LCAyLCAyNDQsIDEyLCAxNzAsIDQ4LCAxMCwgMSwgCisgICAgMjU0LCAxOTgsIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDI1NCwgMTk4LCAyLCAxMzQsIDE3MCwgMjI1LCA4LCAyNDYsIAorICAgIDEwNSwgNDgsIDEwLCAxLCAyNTQsIDE5OCwgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgMTAsIDEsIDI0NCwgMTQ0LCAyLCAKKyAgICAxMTMsIDE3MCwgNTEsIDEwLCAxLCAyNDQsIDE0NCwgMiwgMTM0LCAxNzAsIDIyNSwgOCwgMjE0LCAxNTMsIDUxLCAxMCwgMSwgCisgICAgMjM0LCAxNzYsIDIsIDU5LCA0OCwgMTAsIDEsIDIzNCwgMTc2LCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAxLCAyMzQsIDE3NiwgCisgICAgMiwgMTM0LCAxNzAsIDIyNSwgOCwgMjE0LCAxNTMsIDUxLCAxMCwgMSwgNjYsIDIsIDU5LCA0OCwgMTAsIDEsIDY2LCAyLCAKKyAgICA1OSwgNTEsIDEwLCAxLCAyMjgsIDY0LCAyLCAxMTMsIDE3MCwgNTEsIDEwLCAxLCAyMjgsIDY0LCAyLCA0LCAyMTcsIDgxLCAKKyAgICAxMCwgMSwgMjI4LCA2NCwgMiwgNCwgMjE0LCAxMDUsIDEwLCAxLCAyMzMsIDEwNCwgMiwgMTMwLCAxMCwgMSwgMjIzLCA5NywgCisgICAgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgMTAsIDEsIDIyMywgOTcsIDIsIDIwMiwgNDgsIDEwLCAxLCAyMjEsIDE2OCwgCisgICAgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCA0OCwgMTAsIDEsIDEyMiwgMiwgNCwgMTAsIDEsIDIxNywgODIsIDUxLCAxMCwgMSwgCisgICAgMTIyLCAyLCA0LCAxMCwgMSwgMjE3LCA4MiwgMjIsIDExMywgMjQ3LCAxMTksIDEwLCAxLCAyMjEsIDE2OCwgMiwgNCwgMTAsIAorICAgIDEsIDIxNywgODIsIDIyLCAxMTMsIDI0NywgMTE5LCAxMCwgMSwgMjIzLCA5NywgMiwgNCwgMTAsIDEsIDIxNywgODIsIDIyLCAKKyAgICAxMTMsIDI0NywgMTE5LCAxMCwgMSwgMTIyLCAyLCA0LCAxMCwgMSwgMjE3LCA4MiwgNDgsIDEwLCAxLCAxMTIsIDIsIDI0NSwgCisgICAgMjMsIDI1NCwgMzgsIDIxLCAxMTMsIDQ4LCAxMCwgMSwgMTEyLCAyLCAyNDUsIDIzLCAyNTQsIDM4LCAyMSwgMTM0LCA0OCwgCisgICAgMTAsIDEsIDI0NCwgMTY5LCA3OSwgMiwgMjQ1LCAyMywgMjU0LCAzOCwgMjEsIDExMywgNDgsIDEwLCAxLCAyNDQsIDE2OSwgCisgICAgNzksIDIsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxMzQsIDQ4LCAxMCwgMSwgMjQ0LCAxNjksIDc5LCAyLCAyNDUsIDIzLCAKKyAgICAyNTQsIDM4LCAyMSwgMjQ0LCAxMiwgNTEsIDEwLCAxLCAyMTIsIDMxLCAyLCAyNDUsIDIzLCAyNTQsIDM4LCAyMSwgMTEzLCAKKyAgICA0OCwgMTAsIDEsIDIxMiwgMzEsIDIsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAxMzQsIDQ4LCAxMCwgMSwgNzksIDI1MiwgCisgICAgMTM0LCAyLCAyNDUsIDIzLCAyNTQsIDM4LCAyMSwgMTEzLCA0OCwgMTAsIDEsIDc5LCAyNTIsIDEzNCwgMiwgMjQ1LCAyMywgCisgICAgMjU0LCAzOCwgMjEsIDEzNCwgNDgsIDEwLCAxLCAxMjIsIDIsIDI0NSwgMjMsIDI1NCwgMzgsIDIxLCAyNDQsIDEyLCA1MSwgCisgICAgMTAsIDEsIDIyMSwgMTY4LCAyLCAyNDUsIDIzLCAyNTQsIDM4LCAyMSwgMjQ0LCAxMiwgNDgsIDEwLCAxLCAyMjEsIDE2OCwgCisgICAgMiwgMjM1LCAxOTQsIDIxNCwgMTA1LCAxMCwgMSwgMjM0LCAyNTIsIDIsIDExMywgMTcwLCA0OCwgMjE2LCAyMDYsIDEsIAorICAgIDI0MiwgNDcsIDIxNiwgMjA2LCAxLCAyMjAsIDY5LCAyMTYsIDIwNiwgMSwgMjI4LCA2MiwgMjE2LCAyMDYsIDEsIDIyMywgCisgICAgMTg1LCAyMTYsIDIwNiwgMSwgMjUyLCAxOTAsIDIxNiwgMjA2LCAxLCAyMzIsIDI1MiwgMjE2LCAyMDYsIDEsIDIzNSwgOSwgCisgICAgMjE2LCAyMDYsIDEsIDI1NCwgMTYwLCAyMTYsIDIwNiwgMSwgMjE0LCAyNSwgMjE2LCAyMDYsIDEsIDIzMSwgNzgsIDIxNiwgCisgICAgMjA2LCAxLCAyNDQsIDE5NSwgMjE2LCAyMDYsIDEsIDI0OCwgMjQsIDIxNiwgMjA2LCAxLCAyMTYsIDIwOCwgMjE2LCAyMDYsIAorICAgIDEsIDIzMywgMTMyLCAyMTYsIDIwNiwgMSwgMjQzLCAxMzIsIDIxNiwgMjA2LCAxLCAyNDIsIDE3OCwgMjE2LCAyMDYsIDEsIAorICAgIDIyMSwgMTY2LCAyMTYsIDIwNiwgMSwgMjQ4LCAxNDksIDIxNiwgMjA2LCAxLCAyMTAsIDEwMCwgMjE2LCAyMDYsIDEsIDIxNywgCisgICAgMzgsIDIxNiwgMjA2LCAxLCAyMTEsIDEwMywgMjE2LCAyMDYsIDEsIDIyNSwgMjM0LCAyMTYsIDIwNiwgMSwgMjM1LCAxMjksIAorICAgIDIxNiwgMjA2LCAxLCAyNTAsIDEzNSwgMjE2LCAyMDYsIDEsIDIxNSwgMTU2LCAyMTYsIDIwNiwgMSwgMjQxLCAxODksIDIxNiwgCisgICAgMjA2LCAxLCAyMzQsIDEzMiwgMjE2LCAyMDYsIDEsIDIxNiwgMjA3LCAyMTYsIDIwNiwgMSwgMjEwLCAxMTUsIDIxNiwgMjA2LCAKKyAgICAxLCAyMjAsIDU5LCAyMTYsIDIwNiwgMSwgMjIyLCAzMSwgMjE2LCAyMDYsIDEsIDI0OCwgMjIwLCAyMTYsIDIwNiwgMSwgCisgICAgMTExLCAyMTYsIDIwNiwgMSwgMjEwLCAyMywgMjE2LCAyMDYsIDEsIDI1NCwgMTk0LCAyMTYsIDIwNiwgMSwgMjQyLCAyNDQsIAorICAgIDIxNiwgMjA2LCAxLCAyMjQsIDg2LCAyMTYsIDIwNiwgMSwgMjEyLCA2MywgMjE2LCAyMDYsIDI1NSwgMjMsIDIxNiwgMjA2LCAKKyAgICAyNTUsIDM5LCAyMTYsIDIwNiwgMjQwLCAxMTUsIDIxNiwgMjA2LCAyNDUsIDIwOSwgMjE2LCAyMDYsIDIxNCwgMjIyLCAyMTYsIAorICAgIDIwNiwgMjI2LCAxODMsIDIxNiwgMjA2LCAyNDUsIDIxNywgMjE2LCAyMDYsIDI0NSwgMTcsIDIxNiwgMjA2LCAyMjYsIDI0OCwgCisgICAgMjE2LCAyMDYsIDIyNywgMCwgMjE2LCAyMDYsIDIxOCwgNDYsIDIxNiwgMjA2LCAxLCAyMjksIDIyNiwgMjI4LCAxMzgsIDIxLCAKKyAgICAyMTAsIDg2LCAyMjgsIDEzOCwgMjEsIDExMCwgMjI4LCAxMzgsIDIxLCAxMDUsIDIyOCwgMTM4LCAyMSwgMTU4LCAyMjgsIAorICAgIDEzOCwgMjEsIDE2MSwgMjI4LCAxMzgsIDIxLCAxODksIDIyOCwgMTM4LCAyMSwgMTk0LCAyMjgsIDEzOCwgMjEsIDE5OCwgCisgICAgMjI4LCAxMzgsIDIxLCAxOTUsIDIyOCwgMTM4LCAyMSwgMjAwLCAyMjgsIDEzOCwgMSwgNjEsIDIyOCwgMTM4LCAxLCAyNDUsIAorICAgIDIxMCwgMjI4LCAxMzgsIDEsIDczLCAyMjgsIDEzOCwgMSwgNzUsIDIyOCwgMTM4LCAxLCA3MCwgMjI4LCAxMzgsIDEsIDIyNiwgCisgICAgMTg0LCAyMjgsIDEzOCwgMSwgNzYsIDIyOCwgMTM4LCAxLCAyNDgsIDIxMCwgMjI4LCAxMzgsIDEsIDIzMCwgMjYsIDIyOCwgCisgICAgMTM4LCAxLCAyNTIsIDE5MiwgMjI4LCAxMzgsIDEsIDE5MCwgMjI4LCAxMzgsIDEsIDIxNywgMTA2LCAyMjgsIDEzOCwgMSwgCisgICAgMjM1LCAxNDIsIDIyOCwgMTM4LCAxLCAyNTAsIDE1OCwgMjI4LCAxMzgsIDEsIDI0OCwgMjIyLCAyMjgsIDEzOCwgMSwgMjA1LCAKKyAgICAyMjgsIDEzOCwgMSwgMjIyLCAxODAsIDIyOCwgMTM4LCAxLCAyMDYsIDIyOCwgMTM4LCAxLCAyNDMsIDgwLCAyMjgsIDEzOCwgCisgICAgMSwgMjQ0LCAxOTcsIDIyOCwgMTM4LCAxLCAxNzYsIDIyOCwgMTM4LCAxLCAyMzMsIDEzNiwgMjI4LCAxMzgsIDEsIDIyOSwgCisgICAgMjMwLCAyMTEsIDIyMywgMjI4LCAxMzgsIDEsIDE4NSwgMjI4LCAxMzgsIDEsIDIyNywgMTY2LCAyMjgsIDEzOCwgMSwgMTk3LCAKKyAgICAyMjgsIDEzOCwgMSwgMTYyLCAyMjgsIDEzOCwgMSwgMjEyLCA2NSwgMjI4LCAxMzgsIDEsIDE5MSwgMjI4LCAxMzgsIDEsIAorICAgIDIyNywgMTY3LCAyMTEsIDIyMywgMjI4LCAxMzgsIDEsIDIzNSwgNjIsIDIzNSwgMTQyLCAyMjgsIDEzOCwgMSwgMjM1LCA2MiwgCisgICAgMjUwLCAxNTgsIDIyOCwgMTM4LCAxLCAyMzUsIDYyLCAyMDUsIDIyOCwgMTM4LCAzOCwgMjE5LCAyNTIsIDEyNSwgMjE2LCAKKyAgICAzMSwgMjI4LCAxMzgsIDM4LCAyMTksIDI1MiwgMTIxLCAyMTYsIDMxLCAyMjgsIDEzOCwgMzgsIDIxOSwgMjUyLCAyMjIsIAorICAgIDIyOSwgMjE2LCAzMSwgMjI4LCAxMzgsIDM4LCAxOTksIDI0OCwgMzksIDIxNiwgMzEsIDIyOCwgMTM4LCAzOCwgMTk5LCAKKyAgICAxMjUsIDIxNiwgMzEsIDIyOCwgMTM4LCAzOCwgMTk5LCAxMjEsIDIxNiwgMzEsIDIyOCwgMTM4LCAzOCwgMTk5LCAyMjIsIAorICAgIDIyOSwgMjE2LCAzMSwgMjI4LCAxMzgsIDM4LCAyMjksIDE5NCwgNzgsIDIyOCwgMTM4LCAzOCwgNTIsIDU5LCA0OCwgMjI4LCAKKyAgICAxMzgsIDEyNSwgMTM4LCAyNTQsIDU4LCAyMjgsIDEzOCwgMTIxLCAxMzgsIDI1NCwgNTgsIDIyOCwgMTM4LCAxNiwgMjI2LCAKKyAgICAxODUsIDI0OCwgNTEsIDIyOCwgMTM4LCAxNiwgMjQzLCA3OSwgMjI4LCAxMzgsIDI0OSwgMjIwLCAyMjgsIDEzOCwgMjQ1LCAKKyAgICAzMiwgNzgsIDIyOCwgMTM4LCAyMzMsIDEwOSwgMjIxLCAyNTMsIDEsIDI1NCwgMTc3LCAyMjEsIDI1MywgMSwgMjUxLCAyMjksIAorICAgIDIyMSwgMjUzLCAxLCAyNDMsIDExMywgMjIxLCAyNTMsIDEsIDI0OCwgMTk1LCAyMjEsIDI1MywgMSwgMjM1LCAxNTMsIDIyMSwgCisgICAgMjUzLCAxLCAyNTIsIDE5MCwgMjIxLCAyNTMsIDEsIDIxMCwgODksIDIyMSwgMjUzLCAxLCAyMzUsIDE2MSwgMjIxLCAyNTMsIAorICAgIDEsIDIxNiwgNjgsIDIyMSwgMjUzLCAxLCAyMTAsIDE4MiwgMjIxLCAyNTMsIDEsIDIzNSwgMTAsIDIyMSwgMjUzLCAxLCAKKyAgICAyMzMsIDEyOSwgMjIxLCAyNTMsIDEsIDIzMCwgMTkxLCAyMjEsIDI1MywgMSwgMjI3LCAxOTUsIDIyMSwgMjUzLCAxLCAyMTksIAorICAgIDE1NywgMjIxLCAyNTMsIDEsIDIzNiwgMCwgMjIxLCAyNTMsIDEsIDI0NCwgMTIyLCAyMjEsIDI1MywgMSwgMjE1LCAxODIsIAorICAgIDIyMSwgMjUzLCAxLCAyMjQsIDExLCAyMjEsIDI1MywgMSwgMjIyLCAyMzAsIDIyMSwgMjUzLCAxLCAyMjAsIDg2LCAyMjEsIAorICAgIDI1MywgMSwgMjE3LCAxMDEsIDIyMSwgMjUzLCAxNjQsIDIzNiwgMCwgMjIxLCAyNTMsIDE2NCwgMjM1LCAyNTUsIDIyMSwgCisgICAgMjUzLCAxNjQsIDIyNiwgMjQ0LCAyMjEsIDI1MywgMTY0LCAyNDgsIDIwOCwgMjIxLCAyNTMsIDU4LCAxLCAyNDUsIDEwNiwgCisgICAgMjEwLCAxODIsIDIyMSwgMjUzLCAxNjQsIDI0NSwgMTA2LCAyMTAsIDE4MiwgMjIxLCAyNTMsIDI1LCA1LCAxOTksIDc1LCAKKyAgICAyMjEsIDI1MywgMjUsIDUsIDc1LCAyMjEsIDI1MywgMjUsIDUsIDIyNiwgMTE5LCAyNTUsIDc0LCAyMjEsIDI1MywgMjUsIDUsIAorICAgIDE5OSwgMjU1LCA3NCwgMjIxLCAyNTMsIDI1LCA1LCAyNTUsIDc0LCAyMjEsIDI1MywgMjUsIDUsIDIyNiwgMTE5LCA2MSwgCisgICAgMjIxLCAyNTMsIDI1LCA1LCAxOTksIDYxLCAyMjEsIDI1MywgMjUsIDUsIDYxLCAyMjEsIDI1MywgNTgsIDEsIDIxOSwgMjUyLCAKKyAgICA2MSwgMjIxLCAyNTMsIDI1LCA1LCAyMTksIDI1MiwgNjEsIDIyMSwgMjUzLCAyNSwgNSwgMTk5LCA3MCwgMjIxLCAyNTMsIAorICAgIDI1LCA1LCA3MCwgMjIxLCAyNTMsIDU4LCAxLCA3MywgMjIxLCAyNTMsIDI1LCA1LCAxOTksIDczLCAyMjEsIDI1MywgMjUsIAorICAgIDUsIDczLCAyMjEsIDI1MywgMjUsIDUsIDc2LCAyMjEsIDI1MywgMjUsIDUsIDIxOCwgNDYsIDIyMSwgMjUzLCAxNjQsIDIyOSwgCisgICAgOTMsIDIyMSwgMjUzLCAyMjQsIDE0MiwgMjI5LCA5MywgMjIxLCAyNTMsIDIyNCwgMTQyLCAyNTQsIDIxOSwgMjIxLCAyNTMsIAorICAgIDIyNCwgMTQyLCAyNTQsIDExNSwgMjIxLCAyNTMsIDIyNCwgMTQyLCAyNTIsIDExNSwgMjIxLCAyNTMsIDIyNCwgMTQyLCAKKyAgICAyNTMsIDIwMiwgMjIxLCAyNTMsIDIyNCwgMTQyLCAyMjAsIDksIDIyMSwgMjUzLCAyNTUsIDIyLCA3OCwgMjIxLCAyNTMsIAorICAgIDIyNCwgMTQyLCAyMzEsIDY5LCAyMjQsIDQ2LCAyMjEsIDI1MywgMjI0LCAxNDIsIDIxMCwgMzEsIDIyMSwgMjUzLCAyMjQsIAorICAgIDE0MiwgMjI0LCA0NiwgMjIxLCAyNTMsIDIyNCwgMTQyLCAyMTAsIDExNCwgMjIxLCAyNTMsIDIyNCwgMTQyLCAyMTUsIDkwLCAKKyAgICAyMjEsIDI1MywgMjI0LCAxNDIsIDI1NCwgMTAsIDIyMSwgMjUzLCAyMjQsIDE0MiwgMjE5LCA1NCwgMjMxLCAxNDYsIDIyMSwgCisgICAgMjUzLCAyMjQsIDE0MiwgMjU0LCAxMDEsIDIzMSwgMTgzLCAxLCAyNDIsIDI1LCAyMzEsIDE4MywgMSwgMjU1LCAyNiwgMjMxLCAKKyAgICAxODMsIDEsIDI1NCwgMjE3LCAyMzEsIDE4MywgMSwgMjU1LCAwLCAyMzEsIDE4MywgMSwgMjU0LCAyMTAsIDIzMSwgMTgzLCAKKyAgICAxLCAyMTQsIDEyNCwgMjMxLCAxODMsIDEsIDI1MywgMTYxLCAyMzEsIDE4MywgMSwgMjM1LCAxNjEsIDIzMSwgMTgzLCAxLCAKKyAgICAyNTMsIDE5OSwgMjMxLCAxODMsIDEsIDI1NCwgMTgyLCAyMzEsIDE4MywgMSwgMjU0LCAxODcsIDIzMSwgMTgzLCAxLCAyNTQsIAorICAgIDE3OSwgMjMxLCAxODMsIDEsIDI1NCwgMTM3LCAyMzEsIDE4MywgMSwgMjU0LCAxMjQsIDIzMSwgMTgzLCAxLCAyNTMsIDIzOCwgCisgICAgMjMxLCAxODMsIDEsIDIzNiwgMCwgMjMxLCAxODMsIDEsIDI1NCwgNzMsIDIzMSwgMTgzLCAxLCAyNTMsIDIwOSwgMjMxLCAKKyAgICAxODMsIDEsIDI1NCwgNDYsIDIzMSwgMTgzLCAxLCAyNTQsIDQyLCAyMzEsIDE4MywgMSwgMjUzLCAyMzIsIDIzMSwgMTgzLCAKKyAgICAxLCAyNTMsIDIwNywgMjMxLCAxODMsIDEsIDI0NiwgNTYsIDIzMSwgMTgzLCAxLCAyMzUsIDMsIDIzMSwgMTgzLCAxLCAyNTQsIAorICAgIDE5NywgMjMxLCAxODMsIDI1NCwgMjIzLCA3OCwgMjMxLCAxODMsIDIxMywgMTM2LCA3OCwgMjMxLCAxODMsIDI0MywgNTQsIAorICAgIDc4LCAyMzEsIDE4MywgMjI0LCAxNDEsIDEwLCAxLCAyNTIsIDU2LCAyLCA0LCAyMTQsIDEwNiwgNTEsIDEwLCAxLCAxNTEsIAorICAgIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDIxNywgODIsIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDI0NCwgMTQ0LCAyLCA1OSwgCisgICAgMjUyLCA0NCwgMjIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIyNCwgODMsIDIsIDU5LCA1MSwgMTAsIDEsIDIzMywgMTA0LCAyLCAKKyAgICA1MiwgMTMwLCAxMCwgMSwgNjYsIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDc5LCAyLCAxMTMsIDE3MCwgMjUyLCA0NCwgMjIsIAorICAgIDIwMiwgNDgsIDEwLCAxLCA3OSwgMiwgMTEzLCAxNzAsIDI1MiwgNDQsIDIyLCA1OSwgNDgsIDEwLCAxLCAyMjMsIDk3LCAyLCAKKyAgICAyMzIsIDEyNCwgMTAsIDEsIDIxMiwgMzEsIDIsIDU5LCAyMTEsIDIzMSwgMTAsIDEsIDIyMiwgMjAyLCAyMTEsIDQzLCAxMCwgCisgICAgMjQ5LCAxMDAsIDI0NCwgMTY2LCAxMCwgMjQ5LCAxMDAsIDI0OCwgMTg1LCAxMCwgMjQ5LCAxMDAsIDIzNCwgMjA2LCAxMCwgCisgICAgMjQ5LCAxMDAsIDI0NCwgMTY0LCAxMCwgMjQ5LCAxMDAsIDI0OCwgMTgzLCAxMCwgMjQ5LCAxMDAsIDIzNCwgMjA0LCAxMCwgCisgICAgMTM4LCAxMjMsIDU5LCA0OCwgMTAsIDEzOCwgMTEzLCAxNzAsIDQ4LCAxMCwgMTM4LCAyMzIsIDEyNSwgNDgsIDEwLCAxMzgsIAorICAgIDEyMywgNTksIDUxLCAxMCwgMTM4LCAxMTMsIDE3MCwgNTEsIDEwLCAxMzgsIDIzMiwgMTI1LCA1MSwgMTAsIDIwNCwgMjQ0LCAKKyAgICAxNjQsIDEwLCAyMDQsIDI0OCwgMTgzLCAxMCwgMjA0LCAyMzQsIDIwNCwgMTAsIDQsIDEyNSwgMjEyLCAzMCwgMTAsIDI0NCwgCisgICAgMTY3LCAyLCAyMjIsIDIzNCwgMTAsIDI0NCwgMTY3LCAyLCA1OSwgNDgsIDEwLCAyMzQsIDIwNywgMiwgNTksIDUxLCAxMCwgCisgICAgNDMsIDI1MywgMjUxLCA0OCwgMTAsIDQ0LCAyNTMsIDI1MSwgNDgsIDEwLCA0MywgMjUzLCAyNTEsIDUxLCAxMCwgNDQsIAorICAgIDI1MywgMjUxLCA1MSwgMTAsIDUyLCA0NCwgMjUzLCAyNTEsIDQ4LCAxMCwgNTIsIDQ0LCAyNTMsIDI1MSwgNzcsIDIsIDI0NywgCisgICAgMTIxLCAxMCwgNDQsIDI1MywgMjUxLCA3NywgMiwgMjQ3LCAxMjEsIDEwLCAyNDgsIDE4NiwgMiwgMjQ3LCAxMjEsIDg0LCA1LCAKKyAgICAyMzUsIDE5NCwgMjUxLCAwLCA4NCwgNSwgMjUxLCAwLCA4NCwgNSwgMjU0LCA3NiwgODQsIDUsIDIxMywgMTQ3LCA4NCwgMSwgCisgICAgMjE5LCAyNTIsIDYxLCA4NCwgMSwgNjEsIDg0LCAxLCAyNTUsIDc0LCA4NCwgMSwgNzMsIDg0LCAxLCAyMzYsIDM0LCA4NCwgCisgICAgMSwgNzAsIDg0LCAxLCAyMTQsIDExOCwgODQsIDEsIDE0OSwgMTUzLCA4NCwgMSwgMTQ5LCAxNTYsIDg0LCAxLCAyNTEsIDMsIAorICAgIDc1LCA4NCwgMSwgMjE5LCAyNTIsIDc1LCA4NCwgMSwgNzUsIDg0LCAxLCAyNTQsIDIwMiwgODQsIDEsIDI1MSwgMywgNzYsIAorICAgIDg0LCAxLCAyMTksIDI1MiwgNzYsIDg0LCAxLCA3NiwgODQsIDEsIDI1MywgMTkzLCA4NCwgMSwgMTc2LCA4NCwgMSwgMjM0LCAKKyAgICAxMzMsIDg0LCAxLCAyNDMsIDEzNiwgODQsIDEsIDI0MiwgMjUwLCA4NCwgMSwgMjI5LCA3OCwgODQsIDEsIDI1MSwgMzQsIAorICAgIDg0LCAxLCAyNTAsIDE1OCwgODQsIDEsIDIzNSwgMTQyLCA4NCwgMSwgMjM1LCAxMTUsIDg0LCAxLCAyMjcsIDE2NiwgODQsIAorICAgIDEsIDIxNSwgMTU3LCA4NCwgMSwgMjE1LCAxNDUsIDg0LCAxLCAyNDgsIDEzNiwgODQsIDEsIDI0OCwgMTIwLCA4NCwgMSwgCisgICAgMjI4LCAxMTEsIDg0LCAxLCAyMTcsIDEwNiwgODQsIDEsIDIxNiwgMjA5LCA4NCwgMSwgMjQ4LCAyMjIsIDg0LCAxLCAyNDgsIAorICAgIDI2LCA4NCwgMSwgMTk3LCA4NCwgMSwgMjI4LCA5MywgODQsIDEsIDE5MCwgODQsIDEsIDIyNSwgMTQ4LCA4NCwgMSwgMjUyLCAKKyAgICAxOTIsIDg0LCAxLCAyNTIsIDE5LCA4NCwgMSwgMTg1LCA4NCwgMSwgMTkxLCA4NCwgMSwgMjA1LCA4NCwgMSwgMjIyLCAxODAsIAorICAgIDg0LCAxLCAyMzMsIDEzNiwgODQsIDEsIDIzMiwgMTg1LCA4NCwgMSwgMjMyLCAxNzYsIDg0LCAxLCAyMTQsIDI3LCA4NCwgMSwgCisgICAgMjIwLCAxMDMsIDg0LCAxLCAyMTgsIDIyNCwgODQsIDEsIDIwNiwgODQsIDEsIDE2MiwgODQsIDI1LCA1LCAyMjYsIDIzNSwgCisgICAgODQsIDI1LCA1LCAyMjYsIDE4MiwgODQsIDUsIDIyNywgMjA2LCA4NCwgNSwgMjUzLCAxNzYsIDg0LCAyNSwgNSwgMjU1LCAKKyAgICA3NCwgODQsIDI1LCA1LCA3MywgODQsIDI1LCA1LCAyMzYsIDM0LCA4NCwgMjUsIDUsIDcwLCA4NCwgMjUsIDUsIDIxNCwgCisgICAgMTE4LCA4NCwgMjUsIDUsIDE0OSwgMTUzLCA4NCwgMjUsIDUsIDE0OSwgMjIyLCAxODEsIDg0LCAyNSwgNSwgMjUxLCAzLCAKKyAgICA3NSwgODQsIDI1LCA1LCAyMTksIDI1MiwgNzUsIDg0LCAyNSwgNSwgNzUsIDg0LCAyNSwgNSwgMjU0LCAyMDIsIDg0LCAyNSwgCisgICAgNSwgMjUxLCAzLCA3NiwgODQsIDI1LCA1LCAyMTksIDI1MiwgNzYsIDg0LCAyNSwgNSwgNzYsIDg0LCAyNSwgNSwgMjUzLCAKKyAgICAxOTMsIDg0LCA1LCAyMTMsIDE1MiwgODQsIDI1LCA1LCAyMjQsIDE4NiwgNzUsIDg0LCAyNSwgNSwgMjUzLCAxNzIsIDg0LCAKKyAgICAyMjYsIDIwNSwgODQsIDIxOCwgMTEyLCA1LCAyMTQsIDIxNiwgODQsIDIxOCwgMTEyLCA1LCAyNTQsIDc4LCA4NCwgMjQyLCAKKyAgICAxMzgsIDI1NSwgMTUsIDg0LCAyNTUsIDQsIDI1NSwgMTUsIDg0LCAyNSwgNSwgMjUxLCAzLCAxOTksIDc1LCA4NCwgMjUsIDUsIAorICAgIDIxNCwgMjE0LCA4NCwgMjUsIDUsIDIxNCwgMTE3LCA4NCwgMSwgMjI0LCA4OSwgODQsIDEsIDIzNCwgMTE2LCA4NCwgMSwgCisgICAgMjQyLCAyMjcsIDg0LCAxLCAyMTAsIDExNiwgODQsIDEsIDI0OCwgMTI1LCA4NCwgMSwgMjIzLCA0MCwgODQsIDEsIDI0NCwgCisgICAgMTk3LCA4NCwgMSwgMjEwLCAxNjgsIDg0LCAxLCAxNDksIDIyMiwgMTgxLCA4NCwgMSwgMTQ5LCAyMzIsIDE4NiwgODQsIDI1LCAKKyAgICA1LCAxNDksIDE1NiwgODQsIDI1LCA1LCAxNDksIDIzMiwgMTg2LCA4NCwgMjQ4LCAxNzksIDg0LCA1MiwgMjQ4LCAxNzksIAorICAgIDg0LCAyMSwgMjEwLCA4NiwgODQsIDIxLCAxMTAsIDg0LCAyMSwgMTA1LCA4NCwgMjEsIDE1OCwgODQsIDIxLCAxNjEsIDg0LCAKKyAgICAyMSwgMTg5LCA4NCwgMjEsIDE5NCwgODQsIDIxLCAxOTgsIDg0LCAyMSwgMTk1LCA4NCwgMjEsIDIwMCwgODQsIDI1NSwgMjIsIAorICAgIDUwLCA4NCwgNSwgMTI1LCAyMTksIDE4LCAyNDcsIDEyMSwgODQsIDEsIDI1MSwgMywgNjEsIDg0LCAxLCAyMjYsIDIzNSwgCisgICAgODQsIDEsIDIyNiwgMTgyLCA4NCwgMSwgMjUzLCAxNzIsIDg0LCAxLCAyMTQsIDIxNCwgODQsIDEsIDIxNCwgMTE3LCA4NCwgCisgICAgMSwgMjEwLCA4MiwgODQsIDEsIDExNCwgMTkxLCA4NCwgMSwgMjQzLCAzMCwgODQsIDEsIDIzNSwgOTcsIDg0LCAxLCAyNDIsIAorICAgIDE4MSwgMjE4LCAxMzAsIDg0LCAxLCAyNDgsIDEyNiwgODQsIDEsIDI1MiwgMTEyLCAxNDYsIDUsIDI1MSwgMCwgMTQ2LCA1LCAKKyAgICAyNTQsIDc2LCAxNDYsIDUsIDIxMywgMTQ3LCAxNDYsIDEsIDYxLCAxNDYsIDEsIDI1NSwgNzQsIDE0NiwgMSwgNzMsIDE0NiwgCisgICAgMSwgMjM2LCAzNCwgMTQ2LCAxLCA3MCwgMTQ2LCAxLCAyMTQsIDExOCwgMTQ2LCAxLCAxNDksIDE1MywgMTQ2LCAxLCAxNDksIAorICAgIDE1NiwgMTQ2LCAxLCA3NSwgMTQ2LCAxLCAyNTQsIDIwMiwgMTQ2LCAxLCA3NiwgMTQ2LCAxLCAyNTMsIDE5MywgMTQ2LCAxLCAKKyAgICAxNzYsIDE0NiwgMSwgMjM0LCAxMzMsIDE0NiwgMSwgMjQzLCAxMzYsIDE0NiwgMSwgMjQyLCAyNTAsIDE0NiwgMSwgMjI5LCAKKyAgICA3OCwgMTQ2LCAxLCAyNTEsIDM0LCAxNDYsIDEsIDI1MCwgMTU4LCAxNDYsIDEsIDIzNSwgMTQyLCAxNDYsIDEsIDIzNSwgCisgICAgMTE1LCAxNDYsIDEsIDIyNywgMTY2LCAxNDYsIDEsIDIxNSwgMTU3LCAxNDYsIDEsIDIxNSwgMTQ1LCAxNDYsIDEsIDI0OCwgCisgICAgMTM2LCAxNDYsIDEsIDI0OCwgMTIwLCAxNDYsIDEsIDIyOCwgMTExLCAxNDYsIDEsIDIxNywgMTA2LCAxNDYsIDEsIDIxNiwgCisgICAgMjA5LCAxNDYsIDEsIDI0OCwgMjIyLCAxNDYsIDEsIDI0OCwgMjYsIDE0NiwgMSwgMTk3LCAxNDYsIDEsIDE5MCwgMTQ2LCAxLCAKKyAgICAyMjUsIDE0OCwgMTQ2LCAxLCAyNTIsIDE5MiwgMTQ2LCAxLCAyNTIsIDE5LCAxNDYsIDEsIDE4NSwgMTQ2LCAxLCAxOTEsIAorICAgIDE0NiwgMSwgMjA1LCAxNDYsIDEsIDIzMywgMTM2LCAxNDYsIDEsIDIyMCwgMTAzLCAxNDYsIDEsIDIxOCwgMjI0LCAxNDYsIAorICAgIDEsIDIwNiwgMTQ2LCAxLCAxNjIsIDE0NiwgNSwgMjI3LCAyMDYsIDE0NiwgNSwgMjUzLCAxNzYsIDE0NiwgMjUsIDUsIDI1NSwgCisgICAgNzQsIDE0NiwgMjUsIDUsIDczLCAxNDYsIDI1LCA1LCAyMzYsIDM0LCAxNDYsIDI1LCA1LCA3MCwgMTQ2LCAyNSwgNSwgMjE0LCAKKyAgICAxMTgsIDE0NiwgMjUsIDUsIDE0OSwgMTUzLCAxNDYsIDI1LCA1LCAxNDksIDIyMiwgMTgxLCAxNDYsIDI1LCA1LCA3NSwgCisgICAgMTQ2LCAyNSwgNSwgMjU0LCAyMDIsIDE0NiwgMjUsIDUsIDc2LCAxNDYsIDI1LCA1LCAyNTMsIDE5MywgMTQ2LCA1LCAyMTMsIAorICAgIDE1MiwgMTQ2LCAxLCAyMzQsIDEyNSwgMjE3LCAxMDYsIDE0NiwgMjUzLCAxOTQsIDIzMywgMjQsIDc4LCAxNDYsIDEsIDIyMiwgCisgICAgMTgwLCAxNDYsIDEsIDIyMywgNDAsIDE0NiwgMSwgMjEwLCAxNjgsIDE0NiwgMSwgMTQ5LCAyMjIsIDE4MSwgMTQ2LCAxLCAKKyAgICAxNDksIDIzMiwgMTg2LCAxNDYsIDI1LCA1LCAxNDksIDE1NiwgMTQ2LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NiwgMTQ2LCAyMSwgCisgICAgMjEwLCA4NiwgMTQ2LCAyMSwgMTEwLCAxNDYsIDIxLCAxMDUsIDE0NiwgMjEsIDE1OCwgMTQ2LCAyMSwgMTYxLCAxNDYsIDIxLCAKKyAgICAxODksIDE0NiwgMjEsIDE5NCwgMTQ2LCAyMSwgMTk4LCAxNDYsIDIxLCAxOTUsIDE0NiwgMjEsIDIwMCwgMTQ2LCAxLCAyMjMsIAorICAgIDE4OSwgMiwgMjMwLCAyMjUsIDI0NywgMjU1LCAxNDYsIDEsIDIyMywgMTg5LCAyLCAyMzIsIDEwOSwgMjQ3LCAyNTUsIDE0NiwgCisgICAgMjIyLCAxMTksIDc4LCAxNDYsIDIyMiwgMTE5LCA1MCwgMTQ2LCAyNDksIDk5LCAyMjcsIDE5OCwgMTEwLCAxNDYsIDI0OSwgCisgICAgOTksIDIyNywgMTk4LCAxMDUsIDE0NiwgMjQ5LCA5OSwgMjI3LCAxOTgsIDE1OCwgMTQ2LCAyNDksIDk5LCAyMjcsIDE5OCwgCisgICAgMTYxLCAxNDYsIDI0OSwgOTksIDIyNywgMTk4LCAxMjMsIDIzMywgMTcsIDIxNiwgMjAyLCAyMTYsIDE5NywgMjQ4LCA0OSwgCisgICAgMTQ2LCAyNDksIDk5LCAyNDgsIDUwLCAyMTksIDEyMCwgMTQ2LCAyMzUsIDE2MiwgMTQ2LCAyNDMsIDEwNCwgNzgsIDE4NCwgCisgICAgNSwgMjU0LCAyNTUsIDI1MSwgMjQ0LCAxODQsIDUsIDI1MSwgMjQ0LCAxODQsIDUsIDIxMywgMTQ3LCAxODQsIDEsIDYxLCAKKyAgICAxODQsIDEsIDI1NSwgNzQsIDE4NCwgMSwgNzMsIDE4NCwgMSwgMjM2LCAzNCwgMTg0LCAxLCA3MCwgMTg0LCAxLCAyMTQsIAorICAgIDExOCwgMTg0LCAxLCAyNDUsIDIxMCwgMTg0LCAxLCAyNTQsIDIwMiwgMTg0LCAxLCAyMjYsIDE4NCwgMTg0LCAxLCAyNTMsIAorICAgIDE5MywgMTg0LCAxLCAxNzYsIDE4NCwgMSwgMjM0LCAxMzMsIDE4NCwgMSwgMjQzLCAxMzYsIDE4NCwgMSwgMjQyLCAyNTAsIAorICAgIDE4NCwgMSwgMjI5LCA3OCwgMTg0LCAxLCAyNTEsIDM0LCAxODQsIDEsIDI1MCwgMTU4LCAxODQsIDEsIDIzNSwgMTQyLCAKKyAgICAxODQsIDEsIDIzNSwgMTE1LCAxODQsIDEsIDIyNywgMTY2LCAxODQsIDEsIDIxNSwgMTU3LCAxODQsIDEsIDIxNSwgMTQ1LCAKKyAgICAxODQsIDEsIDI0OCwgMTM2LCAxODQsIDEsIDI0OCwgMTIwLCAxODQsIDEsIDIyOCwgMTExLCAxODQsIDEsIDIxNywgMTA2LCAKKyAgICAxODQsIDEsIDIxNiwgMjA5LCAxODQsIDEsIDI0OCwgMjIyLCAxODQsIDEsIDI0OCwgMjYsIDE4NCwgMSwgMTk3LCAxODQsIDEsIAorICAgIDE5MCwgMTg0LCAxLCAyMjUsIDE0OCwgMTg0LCAxLCAyNTIsIDE5MiwgMTg0LCAxLCAyNTIsIDE5LCAxODQsIDEsIDE4NSwgCisgICAgMTg0LCAxLCAxOTEsIDE4NCwgMSwgMjA1LCAxODQsIDEsIDIzMywgMTM2LCAxODQsIDEsIDIzMiwgMTg1LCAxODQsIDEsIAorICAgIDIxNCwgMjcsIDE4NCwgMSwgMjIwLCAxMDMsIDE4NCwgMSwgMjA2LCAxODQsIDEsIDE2MiwgMTg0LCA1LCAyMjcsIDIwNiwgCisgICAgMTg0LCAyNSwgNSwgMjU1LCA3NCwgMTg0LCAyNSwgNSwgNzMsIDE4NCwgMjUsIDUsIDIzNiwgMzQsIDE4NCwgMjUsIDUsIDcwLCAKKyAgICAxODQsIDI1LCA1LCAyMTQsIDExOCwgMTg0LCAyNSwgNSwgMjQ1LCAyMTAsIDE4NCwgMjUsIDUsIDI1NCwgMjAyLCAxODQsIAorICAgIDI1LCA1LCAyMjYsIDE4NCwgMTg0LCAyNSwgNSwgMjUzLCAxOTMsIDE4NCwgNSwgMjEzLCAxNTIsIDE4NCwgNSwgMjE0LCAKKyAgICAyMTgsIDE4NCwgMSwgMjM0LCAxMTYsIDE4NCwgMSwgMjQyLCAyMjcsIDE4NCwgMSwgMjEwLCAxMTYsIDE4NCwgMSwgMjIyLCAKKyAgICAxODAsIDE4NCwgMSwgMjQ0LCAxOTcsIDE4NCwgMjEsIDIxMCwgODYsIDE4NCwgMjEsIDExMCwgMTg0LCAyMSwgMTA1LCAxODQsIAorICAgIDIxLCAxNTgsIDE4NCwgMjEsIDE2MSwgMTg0LCAyMSwgMTg5LCAxODQsIDIxLCAxOTQsIDE4NCwgMjEsIDE5OCwgMTg0LCAyMSwgCisgICAgMTk1LCAxODQsIDIxLCAyMDAsIDE4NCwgMjE2LCA3NSwgMTg0LCAyNTQsIDI1NCwgMTg0LCAyMzUsIDE3OSwgMTg0LCAyMTQsIAorICAgIDE0NiwgMTg0LCAyNDUsIDE4MiwgMjI2LCAxODksIDE4NCwgNSwgMjExLCA3OCwgMTcxLCA1LCAyNTEsIDAsIDE3MSwgNSwgCisgICAgMjU0LCA3NiwgMTcxLCA1LCAyMTMsIDE0NywgMTcxLCAxLCA2MSwgMTcxLCAxLCAyNTUsIDc0LCAxNzEsIDEsIDczLCAxNzEsIAorICAgIDEsIDIzNiwgMzQsIDE3MSwgMSwgNzAsIDE3MSwgMSwgMjE0LCAxMTgsIDE3MSwgMSwgMTQ5LCAxNTMsIDE3MSwgMSwgMTQ5LCAKKyAgICAxNTYsIDE3MSwgMjUsIDI1MSwgMywgNzUsIDE3MSwgMSwgNzUsIDE3MSwgMSwgMjU0LCAyMDIsIDE3MSwgMjUsIDI1MSwgMywgCisgICAgNzYsIDE3MSwgMSwgNzYsIDE3MSwgMSwgMjUzLCAxOTMsIDE3MSwgMSwgMTc2LCAxNzEsIDEsIDIzNCwgMTMzLCAxNzEsIDEsIAorICAgIDI0MywgMTM2LCAxNzEsIDEsIDI0MiwgMjUwLCAxNzEsIDEsIDIyOSwgNzgsIDE3MSwgMSwgMjUxLCAzNCwgMTcxLCAxLCAKKyAgICAyNTAsIDE1OCwgMTcxLCAxLCAyMzUsIDE0MiwgMTcxLCAxLCAyMzUsIDExNSwgMTcxLCAxLCAyMjcsIDE2NiwgMTcxLCAxLCAKKyAgICAyMTUsIDE1NywgMTcxLCAxLCAyMTUsIDE0NSwgMTcxLCAxLCAyNDgsIDEzNiwgMTcxLCAxLCAyNDgsIDEyMCwgMTcxLCAxLCAKKyAgICAyMjgsIDExMSwgMTcxLCAxLCAyMTcsIDEwNiwgMTcxLCAxLCAyMTYsIDIwOSwgMTcxLCAxLCAyNDgsIDIyMiwgMTcxLCAxLCAKKyAgICAyNDgsIDI2LCAxNzEsIDEsIDE5NywgMTcxLCAxLCAxOTAsIDE3MSwgMSwgMjI1LCAxNDgsIDE3MSwgMSwgMjUyLCAxOTIsIAorICAgIDE3MSwgMSwgMjUyLCAxOSwgMTcxLCAxLCAxODUsIDE3MSwgMSwgMTkxLCAxNzEsIDEsIDIwNSwgMTcxLCAxLCAyMzMsIDEzNiwgCisgICAgMTcxLCAxLCAyMzIsIDE4NSwgMTcxLCAxLCAyMTQsIDI3LCAxNzEsIDEsIDIyMCwgMTAzLCAxNzEsIDEsIDIxOCwgMjI0LCAKKyAgICAxNzEsIDEsIDIwNiwgMTcxLCAxLCAxNjIsIDE3MSwgNSwgMjI3LCAyMDYsIDE3MSwgNSwgMjUzLCAxNzYsIDE3MSwgMjUsIDUsIAorICAgIDI1NSwgNzQsIDE3MSwgMjUsIDUsIDczLCAxNzEsIDI1LCA1LCAyMzYsIDM0LCAxNzEsIDI1LCA1LCA3MCwgMTcxLCAyNSwgNSwgCisgICAgMjE0LCAxMTgsIDE3MSwgMjUsIDUsIDE0OSwgMTUzLCAxNzEsIDI1LCA1LCAxNDksIDIyMiwgMTgxLCAxNzEsIDI1LCA1LCAKKyAgICAyNTEsIDMsIDc1LCAxNzEsIDI1LCA1LCA3NSwgMTcxLCAyNSwgNSwgMjU0LCAyMDIsIDE3MSwgMjUsIDUsIDI1MSwgMywgNzYsIAorICAgIDE3MSwgMjUsIDUsIDc2LCAxNzEsIDI1LCA1LCAyNTMsIDE5MywgMTcxLCA1LCAyMTMsIDE1MiwgMTcxLCAyMjYsIDIwNSwgCisgICAgMTcxLCAxLCAxNDksIDIyMiwgMTgxLCAxNzEsIDEsIDE0OSwgMjMyLCAxODYsIDE3MSwgMjUsIDUsIDE0OSwgMTU2LCAxNzEsIAorICAgIDI1LCA1LCAxNDksIDIzMiwgMTg2LCAxNzEsIDIxLCAyMTAsIDg2LCAxNzEsIDIxLCAxMTAsIDE3MSwgMjEsIDEwNSwgMTcxLCAKICAgICAyMSwgMTU4LCAxNzEsIDIxLCAxNjEsIDE3MSwgMjEsIDE4OSwgMTcxLCAyMSwgMTk0LCAxNzEsIDIxLCAxOTgsIDE3MSwgMjEsIAotICAgIDE5NSwgMTcxLCAyMSwgMjAwLCAxNzEsIDI1NSwgMjEsIDUwLCAxNzEsIDIyMiwgMTE4LCA1MCwgMTU3LCA1LCAyNTAsIDI1NSwgCi0gICAgMTU3LCA1LCAyNTQsIDc1LCAxNTcsIDUsIDIxMywgMTQ3LCAxNTcsIDEsIDYxLCAxNTcsIDEsIDI1NSwgNzMsIDE1NywgMSwgCi0gICAgNzMsIDE1NywgMSwgMjM2LCAzMywgMTU3LCAxLCA3MCwgMTU3LCAxLCAyMTQsIDExOCwgMTU3LCAxLCAxNDksIDE1MywgMTU3LCAKLSAgICAxLCAxNDksIDE1NiwgMTU3LCAxLCA3NSwgMTU3LCAxLCAyNTQsIDIwMSwgMTU3LCAxLCA3NiwgMTU3LCAxLCAyNTMsIDE5MiwgCi0gICAgMTU3LCAxLCAxNzYsIDE1NywgMSwgMjM0LCAxMzIsIDE1NywgMSwgMjQzLCAxMzUsIDE1NywgMSwgMjQyLCAyNDksIDE1NywgCi0gICAgMSwgMjI5LCA3NywgMTU3LCAxLCAyNTEsIDMzLCAxNTcsIDEsIDI1MCwgMTU3LCAxNTcsIDEsIDIzNSwgMTQxLCAxNTcsIDEsIAotICAgIDIzNSwgMTE0LCAxNTcsIDEsIDIyNywgMTY1LCAxNTcsIDEsIDIxNSwgMTU2LCAxNTcsIDEsIDIxNSwgMTQ0LCAxNTcsIDEsIAotICAgIDI0OCwgMTM1LCAxNTcsIDEsIDI0OCwgMTE5LCAxNTcsIDEsIDIyOCwgMTEwLCAxNTcsIDEsIDIxNywgMTA1LCAxNTcsIDEsIAotICAgIDIxNiwgMjA4LCAxNTcsIDEsIDI0OCwgMjIxLCAxNTcsIDEsIDI0OCwgMjUsIDE1NywgMSwgMTk3LCAxNTcsIDEsIDE5MCwgCi0gICAgMTU3LCAxLCAyMjUsIDE0NywgMTU3LCAxLCAyNTIsIDE5MSwgMTU3LCAxLCAyNTIsIDE4LCAxNTcsIDEsIDE4NCwgMTU3LCAxLCAKLSAgICAxOTEsIDE1NywgMSwgMjA1LCAxNTcsIDEsIDIzMywgMTM1LCAxNTcsIDEsIDIzMiwgMTg0LCAxNTcsIDEsIDIxNCwgMjcsIAotICAgIDE1NywgMSwgMjIwLCAxMDIsIDE1NywgMSwgMjE4LCAyMjMsIDE1NywgMSwgMjA2LCAxNTcsIDEsIDE2MiwgMTU3LCA1LCAKLSAgICAyMjcsIDIwNSwgMTU3LCA1LCAyNTMsIDE3NSwgMTU3LCAyNSwgNSwgMjU1LCA3MywgMTU3LCAyNSwgNSwgNzMsIDE1NywgMjUsIAotICAgIDUsIDIzNiwgMzMsIDE1NywgMjUsIDUsIDcwLCAxNTcsIDI1LCA1LCAyMTQsIDExOCwgMTU3LCAyNSwgNSwgMTQ5LCAxNTMsIAotICAgIDE1NywgMjUsIDUsIDE0OSwgMjIyLCAxODAsIDE1NywgMjUsIDUsIDc1LCAxNTcsIDI1LCA1LCAyNTQsIDIwMSwgMTU3LCAyNSwgCi0gICAgNSwgNzYsIDE1NywgMjUsIDUsIDI1MywgMTkyLCAxNTcsIDUsIDIxMywgMTUyLCAxNTcsIDI1NCwgMjAyLCAyMzMsIDIzLCAKLSAgICA3OCwgMTU3LCAyNTMsIDE5MywgMjMzLCAyMywgNzgsIDE1NywgMSwgMjIyLCAxNzksIDE1NywgMSwgMjIzLCAzOSwgMTU3LCAKLSAgICAxLCAyMTAsIDE2OCwgMTU3LCAxLCAxNDksIDIyMiwgMTgwLCAxNTcsIDEsIDE0OSwgMjMyLCAxODUsIDE1NywgMjUsIDUsIAotICAgIDE0OSwgMTU2LCAxNTcsIDI1LCA1LCAxNDksIDIzMiwgMTg1LCAxNTcsIDIxLCAyMTAsIDg2LCAxNTcsIDIxLCAxMTAsIDE1NywgCisgICAgMTk1LCAxNzEsIDIxLCAyMDAsIDE3MSwgMjU1LCAyMiwgNTAsIDE3MSwgMjIyLCAxMTksIDUwLCAxNTcsIDUsIDI1MSwgMCwgCisgICAgMTU3LCA1LCAyNTQsIDc2LCAxNTcsIDUsIDIxMywgMTQ3LCAxNTcsIDEsIDYxLCAxNTcsIDEsIDI1NSwgNzQsIDE1NywgMSwgCisgICAgNzMsIDE1NywgMSwgMjM2LCAzNCwgMTU3LCAxLCA3MCwgMTU3LCAxLCAyMTQsIDExOCwgMTU3LCAxLCAxNDksIDE1MywgMTU3LCAKKyAgICAxLCAxNDksIDE1NiwgMTU3LCAxLCA3NSwgMTU3LCAxLCAyNTQsIDIwMiwgMTU3LCAxLCA3NiwgMTU3LCAxLCAyNTMsIDE5MywgCisgICAgMTU3LCAxLCAxNzYsIDE1NywgMSwgMjM0LCAxMzMsIDE1NywgMSwgMjQzLCAxMzYsIDE1NywgMSwgMjQyLCAyNTAsIDE1NywgCisgICAgMSwgMjI5LCA3OCwgMTU3LCAxLCAyNTEsIDM0LCAxNTcsIDEsIDI1MCwgMTU4LCAxNTcsIDEsIDIzNSwgMTQyLCAxNTcsIDEsIAorICAgIDIzNSwgMTE1LCAxNTcsIDEsIDIyNywgMTY2LCAxNTcsIDEsIDIxNSwgMTU3LCAxNTcsIDEsIDIxNSwgMTQ1LCAxNTcsIDEsIAorICAgIDI0OCwgMTM2LCAxNTcsIDEsIDI0OCwgMTIwLCAxNTcsIDEsIDIyOCwgMTExLCAxNTcsIDEsIDIxNywgMTA2LCAxNTcsIDEsIAorICAgIDIxNiwgMjA5LCAxNTcsIDEsIDI0OCwgMjIyLCAxNTcsIDEsIDI0OCwgMjYsIDE1NywgMSwgMTk3LCAxNTcsIDEsIDE5MCwgCisgICAgMTU3LCAxLCAyMjUsIDE0OCwgMTU3LCAxLCAyNTIsIDE5MiwgMTU3LCAxLCAyNTIsIDE5LCAxNTcsIDEsIDE4NSwgMTU3LCAxLCAKKyAgICAxOTEsIDE1NywgMSwgMjA1LCAxNTcsIDEsIDIzMywgMTM2LCAxNTcsIDEsIDIzMiwgMTg1LCAxNTcsIDEsIDIxNCwgMjcsIAorICAgIDE1NywgMSwgMjIwLCAxMDMsIDE1NywgMSwgMjE4LCAyMjQsIDE1NywgMSwgMjA2LCAxNTcsIDEsIDE2MiwgMTU3LCA1LCAKKyAgICAyMjcsIDIwNiwgMTU3LCA1LCAyNTMsIDE3NiwgMTU3LCAyNSwgNSwgMjU1LCA3NCwgMTU3LCAyNSwgNSwgNzMsIDE1NywgMjUsIAorICAgIDUsIDIzNiwgMzQsIDE1NywgMjUsIDUsIDcwLCAxNTcsIDI1LCA1LCAyMTQsIDExOCwgMTU3LCAyNSwgNSwgMTQ5LCAxNTMsIAorICAgIDE1NywgMjUsIDUsIDE0OSwgMjIyLCAxODEsIDE1NywgMjUsIDUsIDc1LCAxNTcsIDI1LCA1LCAyNTQsIDIwMiwgMTU3LCAyNSwgCisgICAgNSwgNzYsIDE1NywgMjUsIDUsIDI1MywgMTkzLCAxNTcsIDUsIDIxMywgMTUyLCAxNTcsIDI1NCwgMjAzLCAyMzMsIDI0LCAKKyAgICA3OCwgMTU3LCAyNTMsIDE5NCwgMjMzLCAyNCwgNzgsIDE1NywgMSwgMjIyLCAxODAsIDE1NywgMSwgMjIzLCA0MCwgMTU3LCAKKyAgICAxLCAyMTAsIDE2OCwgMTU3LCAxLCAxNDksIDIyMiwgMTgxLCAxNTcsIDEsIDE0OSwgMjMyLCAxODYsIDE1NywgMjUsIDUsIAorICAgIDE0OSwgMTU2LCAxNTcsIDI1LCA1LCAxNDksIDIzMiwgMTg2LCAxNTcsIDIxLCAyMTAsIDg2LCAxNTcsIDIxLCAxMTAsIDE1NywgCiAgICAgMjEsIDEwNSwgMTU3LCAyMSwgMTU4LCAxNTcsIDIxLCAxNjEsIDE1NywgMjEsIDE4OSwgMTU3LCAyMSwgMTk0LCAxNTcsIDIxLCAKLSAgICAxOTgsIDE1NywgMjEsIDE5NSwgMTU3LCAyMSwgMjAwLCAxNTcsIDIzNSwgMTYxLCAxNTcsIDEsIDIxMiwgNjUsIDE1NywgCi0gICAgMjQ0LCAyLCAxMjMsIDIyNCwgMjEsIDE1NywgMjQ0LCAyLCAxMjMsIDI0MiwgMjcsIDE1NywgMjQ0LCAyLCAxMzQsIDIyNCwgCi0gICAgMTksIDE1NywgMjQ0LCAyLCAxMjMsIDIxOSwgMTE3LCAxNTcsIDI0NCwgMiwgMTIzLCAyNDUsIDE4OCwgMTU3LCAyNDQsIDIsIAotICAgIDEzNCwgMjE5LCAxMTYsIDM2LCA1LCAyNTQsIDc1LCAzNiwgNSwgMjEzLCAxNDcsIDM2LCAxLCA2MSwgMzYsIDEsIDI1NSwgCi0gICAgNzMsIDM2LCAxLCA3MywgMzYsIDEsIDIzNiwgMzMsIDM2LCAxLCA3MCwgMzYsIDEsIDIxNCwgMTE4LCAzNiwgMSwgNzUsIDM2LCAKLSAgICAxLCAyNDUsIDIwOSwgMzYsIDEsIDI1NCwgMjAxLCAzNiwgMSwgNzYsIDM2LCAxLCAyMjYsIDE4MywgMzYsIDEsIDI1MywgCi0gICAgMTkyLCAzNiwgMSwgMTc2LCAzNiwgMSwgMjI5LCA3NywgMzYsIDEsIDI1MSwgMzMsIDM2LCAxLCAyMzUsIDE0MSwgMzYsIDEsIAotICAgIDIyNywgMTY1LCAzNiwgMSwgMjE1LCAxNTYsIDM2LCAxLCAyMjgsIDExMCwgMzYsIDEsIDIxNywgMTA1LCAzNiwgMSwgMTk3LCAKLSAgICAzNiwgMSwgMjI4LCA5MiwgMzYsIDEsIDE5MCwgMzYsIDEsIDE4NCwgMzYsIDEsIDE5MSwgMzYsIDEsIDIwNSwgMzYsIDEsIAotICAgIDIyMiwgMTc5LCAzNiwgMSwgMjMzLCAxMzUsIDM2LCAxLCAyMzIsIDE4NCwgMzYsIDEsIDIzMiwgMTc1LCAzNiwgMSwgMjE0LCAKLSAgICAyNywgMzYsIDEsIDIyMCwgMTAyLCAzNiwgMSwgMjE4LCAyMjMsIDM2LCAxLCAyMDYsIDM2LCAxLCAxNjIsIDM2LCAyNSwgNSwgCi0gICAgMjU1LCA3MywgMzYsIDI1LCA1LCA3MywgMzYsIDI1LCA1LCAyMzYsIDMzLCAzNiwgMjUsIDUsIDcwLCAzNiwgMjUsIDUsIAotICAgIDIxNCwgMTE4LCAzNiwgMjUsIDUsIDc1LCAzNiwgMjUsIDUsIDI0NSwgMjA5LCAzNiwgMjUsIDUsIDI1NCwgMjAxLCAzNiwgCi0gICAgMjUsIDUsIDc2LCAzNiwgMjUsIDUsIDIyNiwgMTgzLCAzNiwgMjUsIDUsIDI1MywgMTkyLCAzNiwgNSwgMjEzLCAxNTIsIDM2LCAKLSAgICAyMjYsIDIwNCwgMzYsIDI1MywgMTkzLCAyMzMsIDIzLCA3OCwgMzYsIDIxLCAyMTAsIDg2LCAzNiwgMjEsIDExMCwgMzYsIAorICAgIDE5OCwgMTU3LCAyMSwgMTk1LCAxNTcsIDIxLCAyMDAsIDE1NywgMjM1LCAxNjIsIDE1NywgMSwgMjEyLCA2NSwgMTU3LCAKKyAgICAyNDQsIDMsIDEyMywgMjI0LCAyMiwgMTU3LCAyNDQsIDMsIDEyMywgMjQyLCAyOCwgMTU3LCAyNDQsIDMsIDEzNCwgMjI0LCAKKyAgICAyMCwgMTU3LCAyNDQsIDMsIDEyMywgMjE5LCAxMTgsIDE1NywgMjQ0LCAzLCAxMjMsIDI0NSwgMTg5LCAxNTcsIDI0NCwgMywgCisgICAgMTM0LCAyMTksIDExNywgMzYsIDUsIDI1NCwgNzYsIDM2LCA1LCAyMTMsIDE0NywgMzYsIDEsIDYxLCAzNiwgMSwgMjU1LCAKKyAgICA3NCwgMzYsIDEsIDczLCAzNiwgMSwgMjM2LCAzNCwgMzYsIDEsIDcwLCAzNiwgMSwgMjE0LCAxMTgsIDM2LCAxLCA3NSwgMzYsIAorICAgIDEsIDI0NSwgMjEwLCAzNiwgMSwgMjU0LCAyMDIsIDM2LCAxLCA3NiwgMzYsIDEsIDIyNiwgMTg0LCAzNiwgMSwgMjUzLCAKKyAgICAxOTMsIDM2LCAxLCAxNzYsIDM2LCAxLCAyMjksIDc4LCAzNiwgMSwgMjUxLCAzNCwgMzYsIDEsIDIzNSwgMTQyLCAzNiwgMSwgCisgICAgMjI3LCAxNjYsIDM2LCAxLCAyMTUsIDE1NywgMzYsIDEsIDIyOCwgMTExLCAzNiwgMSwgMjE3LCAxMDYsIDM2LCAxLCAxOTcsIAorICAgIDM2LCAxLCAyMjgsIDkzLCAzNiwgMSwgMTkwLCAzNiwgMSwgMTg1LCAzNiwgMSwgMTkxLCAzNiwgMSwgMjA1LCAzNiwgMSwgCisgICAgMjIyLCAxODAsIDM2LCAxLCAyMzMsIDEzNiwgMzYsIDEsIDIzMiwgMTg1LCAzNiwgMSwgMjMyLCAxNzYsIDM2LCAxLCAyMTQsIAorICAgIDI3LCAzNiwgMSwgMjIwLCAxMDMsIDM2LCAxLCAyMTgsIDIyNCwgMzYsIDEsIDIwNiwgMzYsIDEsIDE2MiwgMzYsIDI1LCA1LCAKKyAgICAyNTUsIDc0LCAzNiwgMjUsIDUsIDczLCAzNiwgMjUsIDUsIDIzNiwgMzQsIDM2LCAyNSwgNSwgNzAsIDM2LCAyNSwgNSwgCisgICAgMjE0LCAxMTgsIDM2LCAyNSwgNSwgNzUsIDM2LCAyNSwgNSwgMjQ1LCAyMTAsIDM2LCAyNSwgNSwgMjU0LCAyMDIsIDM2LCAKKyAgICAyNSwgNSwgNzYsIDM2LCAyNSwgNSwgMjI2LCAxODQsIDM2LCAyNSwgNSwgMjUzLCAxOTMsIDM2LCA1LCAyMTMsIDE1MiwgMzYsIAorICAgIDIyNiwgMjA1LCAzNiwgMjUzLCAxOTQsIDIzMywgMjQsIDc4LCAzNiwgMjEsIDIxMCwgODYsIDM2LCAyMSwgMTEwLCAzNiwgCiAgICAgMjEsIDEwNSwgMzYsIDIxLCAxNTgsIDM2LCAyMSwgMTYxLCAzNiwgMjEsIDE4OSwgMzYsIDIxLCAxOTQsIDM2LCAyMSwgMTk4LCAKLSAgICAzNiwgMjEsIDE5NSwgMzYsIDIxLCAyMDAsIDM2LCA1NCwgMjE2LCAyNDcsIDM2LCA1NCwgMTIzLCAyNDAsIDIxMCwgMzYsIAotICAgIDU0LCAxMjMsIDIxNiwgMTQ3LCAzNiwgMjQ4LCAxNDYsIDUwLCAzNiwgMjMwLCAxMzUsIDUwLCAzNiwgMjExLCA0NSwgNTAsIAotICAgIDM2LCAyNDgsIDg3LCA1MCwgMzYsIDI0OSwgMTM5LCA1MCwgMzYsIDI1MywgMjM4LCA3NywgNTAsIDM2LCAyMjIsIDExOCwgCi0gICAgNTAsIDM2LCA1NCwgNTAsIDE0OCwgNSwgMjUwLCAyNTUsIDE0OCwgNSwgMjU0LCA3NSwgMTQ4LCA1LCAyMTMsIDE0NywgMTQ4LCAKLSAgICAxLCA2MSwgMTQ4LCAxLCAyNTUsIDczLCAxNDgsIDEsIDczLCAxNDgsIDEsIDIzNiwgMzMsIDE0OCwgMSwgNzAsIDE0OCwgMSwgCisgICAgMzYsIDIxLCAxOTUsIDM2LCAyMSwgMjAwLCAzNiwgNTQsIDIxNiwgMjQ4LCAzNiwgNTQsIDEyMywgMjQwLCAyMTEsIDM2LCAKKyAgICA1NCwgMTIzLCAyMTYsIDE0OCwgMzYsIDI0OCwgMTQ3LCA1MCwgMzYsIDIzMCwgMTM2LCA1MCwgMzYsIDIxMSwgNDUsIDUwLCAKKyAgICAzNiwgMjQ4LCA4OCwgNTAsIDM2LCAyNDksIDE0MCwgNTAsIDM2LCAyNTMsIDIzOSwgNzcsIDUwLCAzNiwgMjIyLCAxMTksIAorICAgIDUwLCAzNiwgNTQsIDUwLCAxNDgsIDUsIDI1MSwgMCwgMTQ4LCA1LCAyNTQsIDc2LCAxNDgsIDUsIDIxMywgMTQ3LCAxNDgsIAorICAgIDEsIDYxLCAxNDgsIDEsIDI1NSwgNzQsIDE0OCwgMSwgNzMsIDE0OCwgMSwgMjM2LCAzNCwgMTQ4LCAxLCA3MCwgMTQ4LCAxLCAKICAgICAyMTQsIDExOCwgMTQ4LCAxLCAxNDksIDE1MywgMTQ4LCAxLCAxNDksIDE1NiwgMTQ4LCAxLCA3NSwgMTQ4LCAxLCAyNDUsIAotICAgIDIwOSwgMTQ4LCAxLCAyNTQsIDIwMSwgMTQ4LCAxLCA3NiwgMTQ4LCAxLCAyMjYsIDE4MywgMTQ4LCAxLCAyNTMsIDE5MiwgCi0gICAgMTQ4LCAxLCAxNzYsIDE0OCwgMSwgMjM0LCAxMzIsIDE0OCwgMSwgMjQzLCAxMzUsIDE0OCwgMSwgMjQyLCAyNDksIDE0OCwgCi0gICAgMSwgMjI5LCA3NywgMTQ4LCAxLCAyNTEsIDMzLCAxNDgsIDEsIDI1MCwgMTU3LCAxNDgsIDEsIDIzNSwgMTQxLCAxNDgsIDEsIAotICAgIDIzNSwgMTE0LCAxNDgsIDEsIDIyNywgMTY1LCAxNDgsIDEsIDIxNSwgMTU2LCAxNDgsIDEsIDIxNSwgMTQ0LCAxNDgsIDEsIAotICAgIDI0OCwgMTM1LCAxNDgsIDEsIDI0OCwgMTE5LCAxNDgsIDEsIDIyOCwgMTEwLCAxNDgsIDEsIDIxNywgMTA1LCAxNDgsIDEsIAotICAgIDIxNiwgMjA4LCAxNDgsIDEsIDI0OCwgMjIxLCAxNDgsIDEsIDI0OCwgMjUsIDE0OCwgMSwgMTk3LCAxNDgsIDEsIDE5MCwgCi0gICAgMTQ4LCAxLCAyMjUsIDE0NywgMTQ4LCAxLCAyNTIsIDE5MSwgMTQ4LCAxLCAyNTIsIDE4LCAxNDgsIDEsIDE4NCwgMTQ4LCAxLCAKLSAgICAxOTEsIDE0OCwgMSwgMjA1LCAxNDgsIDEsIDIyMiwgMTc5LCAxNDgsIDEsIDIzMywgMTM1LCAxNDgsIDEsIDIzMiwgMTg0LCAKLSAgICAxNDgsIDEsIDIxNCwgMjcsIDE0OCwgMSwgMjIwLCAxMDIsIDE0OCwgMSwgMjE4LCAyMjMsIDE0OCwgMSwgMjA2LCAxNDgsIDEsIAotICAgIDE2MiwgMTQ4LCA1LCAyNTMsIDE3NSwgMTQ4LCAyNSwgNSwgMjU1LCA3MywgMTQ4LCAyNSwgNSwgNzMsIDE0OCwgMjUsIDUsIAotICAgIDIzNiwgMzMsIDE0OCwgMjUsIDUsIDcwLCAxNDgsIDI1LCA1LCAyMTQsIDExOCwgMTQ4LCAyNSwgNSwgMTQ5LCAxNTMsIDE0OCwgCi0gICAgMjUsIDUsIDE0OSwgMjIyLCAxODAsIDE0OCwgMjUsIDUsIDc1LCAxNDgsIDI1LCA1LCAyNDUsIDIwOSwgMTQ4LCAyNSwgNSwgCi0gICAgMjU0LCAyMDEsIDE0OCwgMjUsIDUsIDc2LCAxNDgsIDI1LCA1LCAyMjYsIDE4MywgMTQ4LCAyNSwgNSwgMjUzLCAxOTIsIAotICAgIDE0OCwgNSwgMjEzLCAxNTIsIDE0OCwgMjMzLCAyMywgNzgsIDE0OCwgMjU0LCAyMDIsIDIzMywgMjMsIDc4LCAxNDgsIDEsIAotICAgIDIxNSwgMTgzLCAxNDgsIDEsIDI0NiwgMzgsIDE0OCwgMSwgMTQ5LCAyMjIsIDE4MCwgMTQ4LCAxLCAxNDksIDIzMiwgMTg1LCAKLSAgICAxNDgsIDI1LCA1LCAxNDksIDE1NiwgMTQ4LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTQ4LCAyMSwgMjEwLCA4NiwgMTQ4LCAKKyAgICAyMTAsIDE0OCwgMSwgMjU0LCAyMDIsIDE0OCwgMSwgNzYsIDE0OCwgMSwgMjI2LCAxODQsIDE0OCwgMSwgMjUzLCAxOTMsIAorICAgIDE0OCwgMSwgMTc2LCAxNDgsIDEsIDIzNCwgMTMzLCAxNDgsIDEsIDI0MywgMTM2LCAxNDgsIDEsIDI0MiwgMjUwLCAxNDgsIAorICAgIDEsIDIyOSwgNzgsIDE0OCwgMSwgMjUxLCAzNCwgMTQ4LCAxLCAyNTAsIDE1OCwgMTQ4LCAxLCAyMzUsIDE0MiwgMTQ4LCAxLCAKKyAgICAyMzUsIDExNSwgMTQ4LCAxLCAyMjcsIDE2NiwgMTQ4LCAxLCAyMTUsIDE1NywgMTQ4LCAxLCAyMTUsIDE0NSwgMTQ4LCAxLCAKKyAgICAyNDgsIDEzNiwgMTQ4LCAxLCAyNDgsIDEyMCwgMTQ4LCAxLCAyMjgsIDExMSwgMTQ4LCAxLCAyMTcsIDEwNiwgMTQ4LCAxLCAKKyAgICAyMTYsIDIwOSwgMTQ4LCAxLCAyNDgsIDIyMiwgMTQ4LCAxLCAyNDgsIDI2LCAxNDgsIDEsIDE5NywgMTQ4LCAxLCAxOTAsIAorICAgIDE0OCwgMSwgMjI1LCAxNDgsIDE0OCwgMSwgMjUyLCAxOTIsIDE0OCwgMSwgMjUyLCAxOSwgMTQ4LCAxLCAxODUsIDE0OCwgMSwgCisgICAgMTkxLCAxNDgsIDEsIDIwNSwgMTQ4LCAxLCAyMjIsIDE4MCwgMTQ4LCAxLCAyMzMsIDEzNiwgMTQ4LCAxLCAyMzIsIDE4NSwgCisgICAgMTQ4LCAxLCAyMTQsIDI3LCAxNDgsIDEsIDIyMCwgMTAzLCAxNDgsIDEsIDIxOCwgMjI0LCAxNDgsIDEsIDIwNiwgMTQ4LCAxLCAKKyAgICAxNjIsIDE0OCwgNSwgMjUzLCAxNzYsIDE0OCwgMjUsIDUsIDI1NSwgNzQsIDE0OCwgMjUsIDUsIDczLCAxNDgsIDI1LCA1LCAKKyAgICAyMzYsIDM0LCAxNDgsIDI1LCA1LCA3MCwgMTQ4LCAyNSwgNSwgMjE0LCAxMTgsIDE0OCwgMjUsIDUsIDE0OSwgMTUzLCAxNDgsIAorICAgIDI1LCA1LCAxNDksIDIyMiwgMTgxLCAxNDgsIDI1LCA1LCA3NSwgMTQ4LCAyNSwgNSwgMjQ1LCAyMTAsIDE0OCwgMjUsIDUsIAorICAgIDI1NCwgMjAyLCAxNDgsIDI1LCA1LCA3NiwgMTQ4LCAyNSwgNSwgMjI2LCAxODQsIDE0OCwgMjUsIDUsIDI1MywgMTkzLCAKKyAgICAxNDgsIDUsIDIxMywgMTUyLCAxNDgsIDIzMywgMjQsIDc4LCAxNDgsIDI1NCwgMjAzLCAyMzMsIDI0LCA3OCwgMTQ4LCAxLCAKKyAgICAyMTUsIDE4NCwgMTQ4LCAxLCAyNDYsIDM5LCAxNDgsIDEsIDE0OSwgMjIyLCAxODEsIDE0OCwgMSwgMTQ5LCAyMzIsIDE4NiwgCisgICAgMTQ4LCAyNSwgNSwgMTQ5LCAxNTYsIDE0OCwgMjUsIDUsIDE0OSwgMjMyLCAxODYsIDE0OCwgMjEsIDIxMCwgODYsIDE0OCwgCiAgICAgMjEsIDExMCwgMTQ4LCAyMSwgMTA1LCAxNDgsIDIxLCAxNTgsIDE0OCwgMjEsIDE2MSwgMTQ4LCAyMSwgMTg5LCAxNDgsIDIxLCAKLSAgICAxOTQsIDE0OCwgMjEsIDE5OCwgMTQ4LCAyMSwgMTk1LCAxNDgsIDIxLCAyMDAsIDE0OCwgMjQ0LCAyLCAyMSwgMjEwLCA4NywgCi0gICAgMzEsIDIyNiwgMjM3LCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMjMsIDMxLCAyMjYsIDIzNywgMjI0LCAKLSAgICAyMjMsIDY0LCAxNjEsIDE0OCwgMjQ0LCAyLCAyMSwgMTEzLCAzMSwgMjI2LCAyMzcsIDIyNCwgMjIzLCA2NCwgMTYxLCAxNDgsIAotICAgIDI0NCwgMiwgMjEsIDEzNCwgMzEsIDIyNiwgMjM3LCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMjMsIAotICAgIDMxLCAyNDUsIDQyLCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMTMsIDMxLCAyNDUsIDQyLCAyMjQsIAotICAgIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMzQsIDMxLCAyNDUsIDQyLCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAKLSAgICA1LCAyMTUsIDg0LCAxNjUsIDUsIDI1NCwgNzUsIDE2NSwgNSwgMjEzLCAxNDcsIDE2NSwgMSwgNjEsIDE2NSwgMSwgMjU1LCAKLSAgICA3MywgMTY1LCAxLCA3MywgMTY1LCAxLCAyMzYsIDMzLCAxNjUsIDEsIDcwLCAxNjUsIDEsIDIxNCwgMTE4LCAxNjUsIDEsIAotICAgIDE0OSwgMTUzLCAxNjUsIDEsIDE0OSwgMTU2LCAxNjUsIDEsIDc1LCAxNjUsIDEsIDI0NSwgMjA5LCAxNjUsIDEsIDI1NCwgCi0gICAgMjAxLCAxNjUsIDEsIDc2LCAxNjUsIDEsIDIyNiwgMTgzLCAxNjUsIDEsIDI1MywgMTkyLCAxNjUsIDEsIDE3NiwgMTY1LCAxLCAKLSAgICAyMzQsIDEzMiwgMTY1LCAxLCAyNDMsIDEzNSwgMTY1LCAxLCAyNDIsIDI0OSwgMTY1LCAxLCAyMjksIDc3LCAxNjUsIDEsIAotICAgIDI1MSwgMzMsIDE2NSwgMSwgMjUwLCAxNTcsIDE2NSwgMSwgMjM1LCAxNDEsIDE2NSwgMSwgMjM1LCAxMTQsIDE2NSwgMSwgCi0gICAgMjI3LCAxNjUsIDE2NSwgMSwgMjE1LCAxNTYsIDE2NSwgMSwgMjE1LCAxNDQsIDE2NSwgMSwgMjQ4LCAxMzUsIDE2NSwgMSwgCi0gICAgMjQ4LCAxMTksIDE2NSwgMSwgMjI4LCAxMTAsIDE2NSwgMSwgMjE3LCAxMDUsIDE2NSwgMSwgMjE2LCAyMDgsIDE2NSwgMSwgCi0gICAgMjQ4LCAyMjEsIDE2NSwgMSwgMjQ4LCAyNSwgMTY1LCAxLCAxOTcsIDE2NSwgMSwgMTkwLCAxNjUsIDEsIDIyNSwgMTQ3LCAKLSAgICAxNjUsIDEsIDI1MiwgMTkxLCAxNjUsIDEsIDI1MiwgMTgsIDE2NSwgMSwgMTg0LCAxNjUsIDEsIDE5MSwgMTY1LCAxLCAyMDUsIAotICAgIDE2NSwgMSwgMjIyLCAxNzksIDE2NSwgMSwgMjMzLCAxMzUsIDE2NSwgMSwgMjMyLCAxODQsIDE2NSwgMSwgMjE0LCAyNywgCi0gICAgMTY1LCAxLCAyMjAsIDEwMiwgMTY1LCAxLCAyMTgsIDIyMywgMTY1LCAxLCAyMDYsIDE2NSwgMSwgMTYyLCAxNjUsIDUsIAotICAgIDIyNywgMjA1LCAxNjUsIDUsIDI1MywgMTc1LCAxNjUsIDI1LCA1LCAyNTUsIDczLCAxNjUsIDI1LCA1LCA3MywgMTY1LCAyNSwgCi0gICAgNSwgMjM2LCAzMywgMTY1LCAyNSwgNSwgNzAsIDE2NSwgMjUsIDUsIDIxNCwgMTE4LCAxNjUsIDI1LCA1LCAxNDksIDE1MywgCi0gICAgMTY1LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgMTY1LCAyNSwgNSwgNzUsIDE2NSwgMjUsIDUsIDI0NSwgMjA5LCAxNjUsIDI1LCAKLSAgICA1LCAyNTQsIDIwMSwgMTY1LCAyNSwgNSwgNzYsIDE2NSwgMjUsIDUsIDIyNiwgMTgzLCAxNjUsIDI1LCA1LCAyNTMsIDE5MiwgCi0gICAgMTY1LCA1LCAyMTMsIDE1MiwgMTY1LCAyMzMsIDIzLCA3OCwgMTY1LCAyNTQsIDIwMiwgMjMzLCAyMywgNzgsIDE2NSwgMSwgCi0gICAgMjQ0LCAxOTYsIDE2NSwgMSwgMTQ5LCAyMjIsIDE4MCwgMTY1LCAxLCAxNDksIDIzMiwgMTg1LCAxNjUsIDI1LCA1LCAxNDksIAotICAgIDE1NiwgMTY1LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTY1LCAyMSwgMjEwLCA4NiwgMTY1LCAyMSwgMTEwLCAxNjUsIDIxLCAKKyAgICAxOTQsIDE0OCwgMjEsIDE5OCwgMTQ4LCAyMSwgMTk1LCAxNDgsIDIxLCAyMDAsIDE0OCwgMjQ0LCAzLCAyMSwgMjEwLCA4NywgCisgICAgMzEsIDIyNiwgMjM4LCAyMjQsIDIyNCwgNjQsIDE2MSwgMTQ4LCAyNDQsIDMsIDIxLCAxMjMsIDMxLCAyMjYsIDIzOCwgMjI0LCAKKyAgICAyMjQsIDY0LCAxNjEsIDE0OCwgMjQ0LCAzLCAyMSwgMTEzLCAzMSwgMjI2LCAyMzgsIDIyNCwgMjI0LCA2NCwgMTYxLCAxNDgsIAorICAgIDI0NCwgMywgMjEsIDEzNCwgMzEsIDIyNiwgMjM4LCAyMjQsIDIyNCwgNjQsIDE2MSwgMTQ4LCAyNDQsIDMsIDIxLCAxMjMsIAorICAgIDMxLCAyNDUsIDQzLCAyMjQsIDIyNCwgNjQsIDE2MSwgMTQ4LCAyNDQsIDMsIDIxLCAxMTMsIDMxLCAyNDUsIDQzLCAyMjQsIAorICAgIDIyNCwgNjQsIDE2MSwgMTQ4LCAyNDQsIDMsIDIxLCAxMzQsIDMxLCAyNDUsIDQzLCAyMjQsIDIyNCwgNjQsIDE2MSwgMTQ4LCAKKyAgICA1LCAyMTUsIDg0LCAxNjUsIDUsIDI1NCwgNzYsIDE2NSwgNSwgMjEzLCAxNDcsIDE2NSwgMSwgNjEsIDE2NSwgMSwgMjU1LCAKKyAgICA3NCwgMTY1LCAxLCA3MywgMTY1LCAxLCAyMzYsIDM0LCAxNjUsIDEsIDcwLCAxNjUsIDEsIDIxNCwgMTE4LCAxNjUsIDEsIAorICAgIDE0OSwgMTUzLCAxNjUsIDEsIDE0OSwgMTU2LCAxNjUsIDEsIDc1LCAxNjUsIDEsIDI0NSwgMjEwLCAxNjUsIDEsIDI1NCwgCisgICAgMjAyLCAxNjUsIDEsIDc2LCAxNjUsIDEsIDIyNiwgMTg0LCAxNjUsIDEsIDI1MywgMTkzLCAxNjUsIDEsIDE3NiwgMTY1LCAxLCAKKyAgICAyMzQsIDEzMywgMTY1LCAxLCAyNDMsIDEzNiwgMTY1LCAxLCAyNDIsIDI1MCwgMTY1LCAxLCAyMjksIDc4LCAxNjUsIDEsIAorICAgIDI1MSwgMzQsIDE2NSwgMSwgMjUwLCAxNTgsIDE2NSwgMSwgMjM1LCAxNDIsIDE2NSwgMSwgMjM1LCAxMTUsIDE2NSwgMSwgCisgICAgMjI3LCAxNjYsIDE2NSwgMSwgMjE1LCAxNTcsIDE2NSwgMSwgMjE1LCAxNDUsIDE2NSwgMSwgMjQ4LCAxMzYsIDE2NSwgMSwgCisgICAgMjQ4LCAxMjAsIDE2NSwgMSwgMjI4LCAxMTEsIDE2NSwgMSwgMjE3LCAxMDYsIDE2NSwgMSwgMjE2LCAyMDksIDE2NSwgMSwgCisgICAgMjQ4LCAyMjIsIDE2NSwgMSwgMjQ4LCAyNiwgMTY1LCAxLCAxOTcsIDE2NSwgMSwgMTkwLCAxNjUsIDEsIDIyNSwgMTQ4LCAKKyAgICAxNjUsIDEsIDI1MiwgMTkyLCAxNjUsIDEsIDI1MiwgMTksIDE2NSwgMSwgMTg1LCAxNjUsIDEsIDE5MSwgMTY1LCAxLCAyMDUsIAorICAgIDE2NSwgMSwgMjIyLCAxODAsIDE2NSwgMSwgMjMzLCAxMzYsIDE2NSwgMSwgMjMyLCAxODUsIDE2NSwgMSwgMjE0LCAyNywgCisgICAgMTY1LCAxLCAyMjAsIDEwMywgMTY1LCAxLCAyMTgsIDIyNCwgMTY1LCAxLCAyMDYsIDE2NSwgMSwgMTYyLCAxNjUsIDUsIAorICAgIDIyNywgMjA2LCAxNjUsIDUsIDI1MywgMTc2LCAxNjUsIDI1LCA1LCAyNTUsIDc0LCAxNjUsIDI1LCA1LCA3MywgMTY1LCAyNSwgCisgICAgNSwgMjM2LCAzNCwgMTY1LCAyNSwgNSwgNzAsIDE2NSwgMjUsIDUsIDIxNCwgMTE4LCAxNjUsIDI1LCA1LCAxNDksIDE1MywgCisgICAgMTY1LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MSwgMTY1LCAyNSwgNSwgNzUsIDE2NSwgMjUsIDUsIDI0NSwgMjEwLCAxNjUsIDI1LCAKKyAgICA1LCAyNTQsIDIwMiwgMTY1LCAyNSwgNSwgNzYsIDE2NSwgMjUsIDUsIDIyNiwgMTg0LCAxNjUsIDI1LCA1LCAyNTMsIDE5MywgCisgICAgMTY1LCA1LCAyMTMsIDE1MiwgMTY1LCAyMzMsIDI0LCA3OCwgMTY1LCAyNTQsIDIwMywgMjMzLCAyNCwgNzgsIDE2NSwgMSwgCisgICAgMjQ0LCAxOTcsIDE2NSwgMSwgMTQ5LCAyMjIsIDE4MSwgMTY1LCAxLCAxNDksIDIzMiwgMTg2LCAxNjUsIDI1LCA1LCAxNDksIAorICAgIDE1NiwgMTY1LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NiwgMTY1LCAyMSwgMjEwLCA4NiwgMTY1LCAyMSwgMTEwLCAxNjUsIDIxLCAKICAgICAxMDUsIDE2NSwgMjEsIDE1OCwgMTY1LCAyMSwgMTYxLCAxNjUsIDIxLCAxODksIDE2NSwgMjEsIDE5NCwgMTY1LCAyMSwgCi0gICAgMTk4LCAxNjUsIDIxLCAxOTUsIDE2NSwgMjEsIDIwMCwgMTY1LCA1LCAyMzUsIDEwMiwgMTY1LCA1LCAyMTQsIDE2MSwgMTM2LCAKLSAgICA1LCAyNTQsIDc1LCAxMzYsIDUsIDIxMywgMTQ3LCAxMzYsIDEsIDYxLCAxMzYsIDEsIDI1NSwgNzMsIDEzNiwgMSwgNzMsIAotICAgIDEzNiwgMSwgMjM2LCAzMywgMTM2LCAxLCA3MCwgMTM2LCAxLCAyMTQsIDExOCwgMTM2LCAxLCAxNDksIDE1MywgMTM2LCAxLCAKLSAgICAxNDksIDE1NiwgMTM2LCAxLCA3NSwgMTM2LCAxLCAyNDUsIDIwOSwgMTM2LCAxLCAyNTQsIDIwMSwgMTM2LCAxLCA3NiwgCi0gICAgMTM2LCAxLCAyMjYsIDE4MywgMTM2LCAxLCAyNTMsIDE5MiwgMTM2LCAxLCAxNzYsIDEzNiwgMSwgMjM0LCAxMzIsIDEzNiwgCi0gICAgMSwgMjQzLCAxMzUsIDEzNiwgMSwgMjQyLCAyNDksIDEzNiwgMSwgMjI5LCA3NywgMTM2LCAxLCAyNTEsIDMzLCAxMzYsIDEsIAotICAgIDI1MCwgMTU3LCAxMzYsIDEsIDIzNSwgMTQxLCAxMzYsIDEsIDIzNSwgMTE0LCAxMzYsIDEsIDIyNywgMTY1LCAxMzYsIDEsIAotICAgIDIxNSwgMTU2LCAxMzYsIDEsIDIxNSwgMTQ0LCAxMzYsIDEsIDI0OCwgMTM1LCAxMzYsIDEsIDI0OCwgMTE5LCAxMzYsIDEsIAotICAgIDIyOCwgMTEwLCAxMzYsIDEsIDIxNywgMTA1LCAxMzYsIDEsIDIxNiwgMjA4LCAxMzYsIDEsIDI0OCwgMjIxLCAxMzYsIDEsIAotICAgIDI0OCwgMjUsIDEzNiwgMSwgMTk3LCAxMzYsIDEsIDIyOCwgOTIsIDEzNiwgMSwgMTkwLCAxMzYsIDEsIDIyNSwgMTQ3LCAKLSAgICAxMzYsIDEsIDI1MiwgMTkxLCAxMzYsIDEsIDI1MiwgMTgsIDEzNiwgMSwgMTg0LCAxMzYsIDEsIDE5MSwgMTM2LCAxLCAyMDUsIAotICAgIDEzNiwgMSwgMjIyLCAxNzksIDEzNiwgMSwgMjMzLCAxMzUsIDEzNiwgMSwgMjMyLCAxODQsIDEzNiwgMSwgMjMyLCAxNzUsIAotICAgIDEzNiwgMSwgMjE0LCAyNywgMTM2LCAxLCAyMjAsIDEwMiwgMTM2LCAxLCAyMTgsIDIyMywgMTM2LCAxLCAyMDYsIDEzNiwgMSwgCi0gICAgMTYyLCAxMzYsIDEsIDIxNSwgMTI1LCAxMzYsIDUsIDI1MywgMTc1LCAxMzYsIDI1LCA1LCAyNTUsIDczLCAxMzYsIDI1LCA1LCAKLSAgICA3MywgMTM2LCAyNSwgNSwgMjM2LCAzMywgMTM2LCAyNSwgNSwgNzAsIDEzNiwgMjUsIDUsIDIxNCwgMTE4LCAxMzYsIDI1LCAKLSAgICA1LCAxNDksIDE1MywgMTM2LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgMTM2LCAyNSwgNSwgNzUsIDEzNiwgMjUsIDUsIDI0NSwgCi0gICAgMjA5LCAxMzYsIDI1LCA1LCAyNTQsIDIwMSwgMTM2LCAyNSwgNSwgNzYsIDEzNiwgMjUsIDUsIDIyNiwgMTgzLCAxMzYsIDI1LCAKLSAgICA1LCAyNTMsIDE5MiwgMTM2LCA1LCAyMTMsIDE1MiwgMTM2LCAxLCA1OSwgMjIzLCA3MywgMTM2LCAyNTMsIDE5MywgMjMzLCAKLSAgICAyMywgNzgsIDEzNiwgMSwgMTQ5LCAyMjIsIDE4MCwgMTM2LCAxLCAxNDksIDIzMiwgMTg1LCAxMzYsIDI1LCA1LCAxNDksIAotICAgIDE1NiwgMTM2LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTM2LCAyMSwgMjEwLCA4NiwgMTM2LCAyMSwgMTEwLCAxMzYsIDIxLCAKKyAgICAxOTgsIDE2NSwgMjEsIDE5NSwgMTY1LCAyMSwgMjAwLCAxNjUsIDUsIDIzNSwgMTAzLCAxNjUsIDUsIDIxNCwgMTYxLCAxMzYsIAorICAgIDUsIDI1NCwgNzYsIDEzNiwgNSwgMjEzLCAxNDcsIDEzNiwgMSwgNjEsIDEzNiwgMSwgMjU1LCA3NCwgMTM2LCAxLCA3MywgCisgICAgMTM2LCAxLCAyMzYsIDM0LCAxMzYsIDEsIDcwLCAxMzYsIDEsIDIxNCwgMTE4LCAxMzYsIDEsIDE0OSwgMTUzLCAxMzYsIDEsIAorICAgIDE0OSwgMTU2LCAxMzYsIDEsIDc1LCAxMzYsIDEsIDI0NSwgMjEwLCAxMzYsIDEsIDI1NCwgMjAyLCAxMzYsIDEsIDc2LCAKKyAgICAxMzYsIDEsIDIyNiwgMTg0LCAxMzYsIDEsIDI1MywgMTkzLCAxMzYsIDEsIDE3NiwgMTM2LCAxLCAyMzQsIDEzMywgMTM2LCAKKyAgICAxLCAyNDMsIDEzNiwgMTM2LCAxLCAyNDIsIDI1MCwgMTM2LCAxLCAyMjksIDc4LCAxMzYsIDEsIDI1MSwgMzQsIDEzNiwgMSwgCisgICAgMjUwLCAxNTgsIDEzNiwgMSwgMjM1LCAxNDIsIDEzNiwgMSwgMjM1LCAxMTUsIDEzNiwgMSwgMjI3LCAxNjYsIDEzNiwgMSwgCisgICAgMjE1LCAxNTcsIDEzNiwgMSwgMjE1LCAxNDUsIDEzNiwgMSwgMjQ4LCAxMzYsIDEzNiwgMSwgMjQ4LCAxMjAsIDEzNiwgMSwgCisgICAgMjI4LCAxMTEsIDEzNiwgMSwgMjE3LCAxMDYsIDEzNiwgMSwgMjE2LCAyMDksIDEzNiwgMSwgMjQ4LCAyMjIsIDEzNiwgMSwgCisgICAgMjQ4LCAyNiwgMTM2LCAxLCAxOTcsIDEzNiwgMSwgMjI4LCA5MywgMTM2LCAxLCAxOTAsIDEzNiwgMSwgMjI1LCAxNDgsIAorICAgIDEzNiwgMSwgMjUyLCAxOTIsIDEzNiwgMSwgMjUyLCAxOSwgMTM2LCAxLCAxODUsIDEzNiwgMSwgMTkxLCAxMzYsIDEsIDIwNSwgCisgICAgMTM2LCAxLCAyMjIsIDE4MCwgMTM2LCAxLCAyMzMsIDEzNiwgMTM2LCAxLCAyMzIsIDE4NSwgMTM2LCAxLCAyMzIsIDE3NiwgCisgICAgMTM2LCAxLCAyMTQsIDI3LCAxMzYsIDEsIDIyMCwgMTAzLCAxMzYsIDEsIDIxOCwgMjI0LCAxMzYsIDEsIDIwNiwgMTM2LCAxLCAKKyAgICAxNjIsIDEzNiwgMSwgMjE1LCAxMjYsIDEzNiwgNSwgMjUzLCAxNzYsIDEzNiwgMjUsIDUsIDI1NSwgNzQsIDEzNiwgMjUsIDUsIAorICAgIDczLCAxMzYsIDI1LCA1LCAyMzYsIDM0LCAxMzYsIDI1LCA1LCA3MCwgMTM2LCAyNSwgNSwgMjE0LCAxMTgsIDEzNiwgMjUsIAorICAgIDUsIDE0OSwgMTUzLCAxMzYsIDI1LCA1LCAxNDksIDIyMiwgMTgxLCAxMzYsIDI1LCA1LCA3NSwgMTM2LCAyNSwgNSwgMjQ1LCAKKyAgICAyMTAsIDEzNiwgMjUsIDUsIDI1NCwgMjAyLCAxMzYsIDI1LCA1LCA3NiwgMTM2LCAyNSwgNSwgMjI2LCAxODQsIDEzNiwgMjUsIAorICAgIDUsIDI1MywgMTkzLCAxMzYsIDUsIDIxMywgMTUyLCAxMzYsIDEsIDU5LCAyMjMsIDc0LCAxMzYsIDI1MywgMTk0LCAyMzMsIAorICAgIDI0LCA3OCwgMTM2LCAxLCAxNDksIDIyMiwgMTgxLCAxMzYsIDEsIDE0OSwgMjMyLCAxODYsIDEzNiwgMjUsIDUsIDE0OSwgCisgICAgMTU2LCAxMzYsIDI1LCA1LCAxNDksIDIzMiwgMTg2LCAxMzYsIDIxLCAyMTAsIDg2LCAxMzYsIDIxLCAxMTAsIDEzNiwgMjEsIAogICAgIDEwNSwgMTM2LCAyMSwgMTU4LCAxMzYsIDIxLCAxNjEsIDEzNiwgMjEsIDE4OSwgMTM2LCAyMSwgMTk0LCAxMzYsIDIxLCAKLSAgICAxOTgsIDEzNiwgMjEsIDE5NSwgMTM2LCAyMSwgMjAwLCAxMzYsIDU0LCAyMTYsIDI0NywgMTM2LCA1NCwgMTIzLCAyNDAsIAotICAgIDIxMCwgMTM2LCA1NCwgMTIzLCAyMTYsIDE0NywgMTM2LCAyNDQsIDIsIDEyMywgMjI0LCAyMSwgMTM2LCAyNDQsIDIsIDEyMywgCi0gICAgMjQyLCAyNywgMTM2LCAyNDQsIDIsIDEzNCwgMjI0LCAxOSwgMTM2LCAyNDgsIDE1MCwgNzgsIDEzNiwgMSwgMjUwLCA5OSwgCi0gICAgMjI4LCAxMTEsIDEzNiwgMSwgMjUwLCA5OSwgMjMwLCAyNSwgMTM2LCAxLCAyNTAsIDk5LCAyMjIsIDE4MCwgMTM2LCAxLCAKLSAgICAyNTAsIDk5LCAxNTYsIDEzNiwgMSwgMjUwLCA5OSwgMjMyLCAxODUsIDEzNiwgMSwgMjUwLCA5OSwgMjM1LCAyMywgMTc1LCAKLSAgICA1LCAyNTQsIDc0LCAxNzUsIDUsIDIxMywgMTQ2LCAxNzUsIDEsIDI1MywgMTY1LCAxNzUsIDEsIDI1NSwgMjcsIDE3NSwgMSwgCi0gICAgMjU0LCAyMjMsIDE3NSwgMSwgMjU0LCAyMzgsIDE3NSwgMSwgMjM1LCAxNTEsIDE3NSwgMSwgMjM2LCAzMiwgMTc1LCAxLCAKLSAgICAyMTQsIDExMCwgMTc1LCAxLCAyMTQsIDExMiwgMTc1LCAxLCAyMzUsIDE3MywgMTc1LCAxLCAyMzUsIDE3NCwgMTc1LCAxLCAKLSAgICAyMzYsIDE4LCAxNzUsIDEsIDIzNiwgMjAsIDE3NSwgMSwgMjQ1LCAxNywgMTc1LCAxLCAyNDUsIDIwNCwgMTc1LCAxLCAyNTQsIAotICAgIDE4OCwgMTc1LCAxLCAyMjYsIDEwOCwgMTc1LCAxLCAyMjYsIDE3NywgMTc1LCAxLCAyNTMsIDE3OCwgMTc1LCAxLCAyNTQsIAotICAgIDE0NiwgMjM0LCAxODcsIDE3NSwgMSwgMjMxLCAyMDksIDIzNCwgMTg3LCAxNzUsIDEsIDI1NCwgMTQ2LCAyNDMsIDgyLCAKLSAgICAxNzUsIDEsIDIzMSwgMjA5LCAyNDMsIDgyLCAxNzUsIDEsIDIzNCwgMjI5LCAyMjksIDIyMiwgMTc1LCAxLCAyMjEsIDIzNiwgCi0gICAgMjQzLCA4MiwgMTc1LCAxLCAyNTQsIDE0NiwgMjUwLCAyMTYsIDE3NSwgMSwgMjMxLCAyMDksIDI1MCwgMjE2LCAxNzUsIDEsIAotICAgIDI1NCwgMTQ2LCAyMzUsIDEyNywgMTc1LCAxLCAyMzEsIDIwOSwgMjM1LCAxMjcsIDE3NSwgMSwgMjE3LCA5OCwgMjI5LCAKLSAgICAyMjIsIDE3NSwgMSwgMjE3LCA5OCwgMjIxLCAyMzUsIDIyOSwgMjIzLCAxNzUsIDEsIDIyMSwgMjM2LCAyMzUsIDEyNywgCi0gICAgMTc1LCAxLCAyNTQsIDE0NiwgMjE1LCAxNTIsIDE3NSwgMSwgMjMxLCAyMDksIDIxNSwgMTUyLCAxNzUsIDEsIDI1NCwgMTQ2LCAKLSAgICAyNDgsIDEyNiwgMTc1LCAxLCAyMzEsIDIwOSwgMjQ4LCAxMjYsIDE3NSwgMSwgMjMwLCA1MywgMjI5LCAxODAsIDE3NSwgMSwgCi0gICAgMjIxLCAyMzYsIDI0OCwgMTI2LCAxNzUsIDEsIDI1NCwgMTQ2LCAyMTcsIDMwLCAxNzUsIDEsIDIzMSwgMjA5LCAyMTcsIDMwLCAKLSAgICAxNzUsIDEsIDI1NCwgMTQ2LCAyNDgsIDE0NCwgMTc1LCAxLCAyMzEsIDIwOSwgMjQ4LCAxNDQsIDE3NSwgMSwgMjQ4LCAxNzQsIAotICAgIDIyOSwgMTgwLCAxNzUsIDEsIDIyMSwgMjM2LCAyNDgsIDE0NCwgMTc1LCAxLCAyNTQsIDE0NiwgMjI1LCAyMjgsIDE3NSwgMSwgCi0gICAgMjMxLCAyMDksIDIyNSwgMjI4LCAxNzUsIDEsIDI1NCwgMTQ2LCAyNTIsIDExMiwgMTc1LCAxLCAyMzEsIDIwOSwgMjUyLCAKLSAgICAxMTIsIDE3NSwgMSwgMjMxLCAxMzEsIDE3NSwgMSwgMjU0LCAxMzEsIDI1MiwgMTEyLCAxNzUsIDEsIDIxMSwgNTEsIDE3NSwgCi0gICAgMSwgMjIzLCAxMzMsIDE3NSwgMSwgMjQ4LCAxNzQsIDIzMywgNjcsIDE3NSwgMSwgMjE0LCAxLCAxNzUsIDEsIDIxNywgOTgsIAotICAgIDIyMSwgMjEwLCAxNzUsIDEsIDIzMCwgNTMsIDIyMSwgMjEwLCAxNzUsIDEsIDI0OCwgMTc0LCAyMjEsIDIxMCwgMTc1LCAxLCAKLSAgICAyNDEsIDI0MiwgMTc1LCAxLCAyMzAsIDUzLCAyMzMsIDY3LCAxNzUsIDEsIDI0NCwgMTU2LCAxNzUsIDUsIDI1NCwgMTc3LCAKLSAgICAxNzUsIDI1LCA1LCAyNTQsIDIzMywgMTc1LCAyNSwgNSwgMjM0LCAxNTUsIDI1NCwgMjQwLCAxNzUsIDI1LCA1LCAyNDcsIAotICAgIDIyOCwgMjU0LCAyNDAsIDE3NSwgMjUsIDUsIDIzNCwgMTU1LCAyMzUsIDE3MCwgMTc1LCAyNSwgNSwgMjQ3LCAyMjgsIDIzNSwgCi0gICAgMTcwLCAxNzUsIDI1LCA1LCAyMzQsIDE1NSwgMjI2LCA4OCwgMTc1LCAyNSwgNSwgMjQ3LCAyMjgsIDIyNiwgODgsIDE3NSwgCi0gICAgMjUsIDUsIDI0MywgMTI0LCAxNzUsIDI1LCA1LCAyMzQsIDE1LCAxNzUsIDI1LCA1LCAyNDcsIDIyOCwgMjM0LCAxNSwgMTc1LCAKLSAgICAyNSwgNSwgMjM0LCAxNywgMjQ4LCA2NywgMTc1LCAyNSwgNSwgMjM0LCAxNiwgMjQyLCA0NywgMjU0LCAyMzMsIDE3NSwgMjUsIAotICAgIDUsIDIzNCwgMTYsIDI0MiwgNDcsIDI0NywgMjI4LCAyNTQsIDIzMywgMTc1LCAyNSwgNSwgMjM0LCAxNiwgMjQyLCA0NywgCi0gICAgMjQzLCA4MSwgMTc1LCAyNSwgNSwgMjQzLCA4MSwgMTc1LCAyNSwgNSwgMjQ3LCAyMjgsIDI0MywgMTI0LCAxNzUsIDI1LCA1LCAKLSAgICAyNDcsIDIyOCwgMjQzLCA4MSwgMTc1LCAyMjQsIDE0MSwgMjMzLCAyMDcsIDE2OCwgMTM1LCAyMzQsIDI5LCAyMzQsIDI0NiwgCi0gICAgMTY4LCAxMzUsIDIzNCwgMTA2LCAyMzQsIDEyOCwgMTY4LCAxMzUsIDIzNCwgMTA2LCAyMzQsIDk5LCAxNjgsIDEzNSwgMjM0LCAKLSAgICAxMDYsIDIzNCwgOTUsIDE2OCwgMTM1LCAyMzQsIDEwNiwgMjM0LCAxMDMsIDE2OCwgMTM1LCAyMzQsIDEwNiwgMjIzLCAxNTQsIAotICAgIDE2OCwgMTM1LCAyMjksIDUsIDIyOCwgMjQ4LCAxNjgsIDEzNSwgMjUwLCA4NywgMjUwLCAxNDcsIDE2OCwgMTM1LCAyNTAsIAotICAgIDg3LCAyNTAsIDk1LCAxNjgsIDEzNSwgMjUwLCA4NywgMjUwLCAxNDYsIDE2OCwgMTM1LCAyMTksIDU5LCAyMTksIDU4LCAKLSAgICAxNjgsIDEzNSwgMjUwLCA4NywgMjUwLCA4MywgMTY4LCAxMzUsIDIxMCwgMjQ1LCAyMTAsIDI1MiwgMTY4LCAxMzUsIDI0NywgCi0gICAgMTQ2LCAyNTAsIDE1NCwgMTY4LCAxMzUsIDIxNiwgNDIsIDIyNSwgMjM4LCAxNjgsIDEzNSwgMjE2LCAxNTcsIDIxNiwgMjAwLCAKLSAgICAxNjgsIDEzNSwgMjE2LCAxNTcsIDIyOSwgMjAxLCAxNjgsIDEzNSwgMjE2LCAxNTcsIDIyNSwgMTExLCAxNjgsIDEzNSwgCi0gICAgMjI4LCA3NSwgMjI5LCA5OCwgMTY4LCAxMzUsIDI0NywgMTQ2LCAyNDgsIDY4LCAxNjgsIDEzNSwgMjE2LCA0MiwgMjE3LCAKLSAgICA1NSwgMTY4LCAxMzUsIDIxNiwgMTU3LCAyMTYsIDEzMSwgMTY4LCAxMzUsIDIxNiwgMTU3LCAyMTYsIDIwNCwgMTY4LCAxMzUsIAotICAgIDIxNiwgMTU3LCAyMTYsIDE1NCwgMTY4LCAxMzUsIDIyOCwgNzUsIDIyNywgMjM3LCAxNjgsIDEzNSwgMjUxLCAyMDYsIDI1MiwgCi0gICAgMTY0LCAxNjgsIDEzNSwgMjI1LCAxNywgMjI1LCA0MiwgMTY4LCAxMzUsIDIyNSwgMTIyLCAyMjUsIDExMywgMTY4LCAxMzUsIAotICAgIDI0NCwgNDQsIDI0NCwgMTk2LCAxNjgsIDEzNSwgMjI1LCAxMjIsIDIyNSwgMTQxLCAxNjgsIDEzNSwgMjQ0LCA0NCwgMjQ0LCAKLSAgICAxNzMsIDE2OCwgMTM1LCAyMjUsIDEyMiwgMjIxLCAyNDcsIDE2OCwgMTM1LCAyMzAsIDE2MiwgMTg0LCAxNjgsIDEzNSwgCi0gICAgMjEwLCAyNDUsIDIxMSwgNzksIDE2OCwgMTM1LCAyMjIsIDIxMiwgMjIyLCAxMzksIDE2OCwgMTM1LCAyMjIsIDE0MCwgMTY4LCAKLSAgICAxMzUsIDIzMiwgMTU3LCAyMzIsIDIwNiwgMTY4LCAxMzUsIDIzMiwgOTgsIDE2OCwgMTM1LCAyMTEsIDIyOCwgMjEyLCA2MSwgCi0gICAgMTY4LCAxMzUsIDIxOSwgNTksIDIyMiwgNiwgMTY4LCAxMzUsIDIxOSwgNTksIDIyMiwgMTE0LCAxNjgsIDEzNSwgMjE5LCAKLSAgICA1OSwgMjE4LCA4MiwgMTY4LCAxMzUsIDI0MSwgNjksIDI0MSwgMTU5LCAxNjgsIDEzNSwgMjMyLCAxNTcsIDI1MCwgNjgsIAotICAgIDE2OCwgMTM1LCAxNDQsIDI1NCwgMTE1LCAxNjgsIDEzNSwgMjQxLCA2OSwgMjI4LCA3MCwgMTY4LCAxMzUsIDIyNiwgNjgsIAotICAgIDE2OCwgMTM1LCAyMjEsIDIzMCwgNjEsIDE2OCwgMTM1LCAyMzEsIDIwNCwgMjQyLCAxNywgMTY4LCAxMzUsIDIyMSwgMjMwLCAKLSAgICAyNTUsIDczLCAxNjgsIDEzNSwgMjIxLCAyMzAsIDI1NCwgMTM2LCAxNjgsIDEzNSwgMjIxLCAyMzAsIDczLCAxNjgsIDEzNSwgCi0gICAgMjIxLCAyMzAsIDIzNiwgMzMsIDE2OCwgMTM1LCAyMjEsIDIzMCwgMjE0LCAyMTQsIDE2OCwgMTM1LCAyMjEsIDIzMCwgMjE0LCAKLSAgICAyMTIsIDE2OCwgMTM1LCAyMjEsIDIzMCwgNzAsIDE2OCwgMTM1LCAyMjEsIDIzMCwgMjE0LCAxMTgsIDE2OCwgMTM1LCAyMjUsIAotICAgIDEyNCwgMTY4LCAyNDksIDk4LCAxNiwgMjUyLCAxNjUsIDE2OCwgMTM1LCAyMjEsIDIzMCwgNzUsIDE2OCwgMTM1LCAyMjEsIAotICAgIDIzMCwgMjU0LCAyNDMsIDE2OCwgMTM1LCAyMjEsIDIzMCwgNzYsIDE2OCwgMTM1LCAyMjEsIDIzMCwgMjU0LCAyMDIsIDIzMSwgCi0gICAgMTk4LCAxNjgsIDEzNSwgMjIxLCAyMzAsIDI1NCwgMjAyLCAyMzEsIDE5OSwgMTY4LCAxMzUsIDIzMywgMTA2LCAxNjgsIAotICAgIDEzNSwgMjMxLCAxOTUsIDE2OCwgMTM1LCAyMzEsIDE5NiwgMTY4LCAxMzUsIDIzMSwgMjA0LCAyNDUsIDE4MCwgMTY4LCAKLSAgICAxMzUsIDIzMSwgMjA0LCAyMTYsIDE1NiwgMTY4LCAxMzUsIDIzMSwgMjA0LCAyMTUsIDIyOCwgMTY4LCAxMzUsIDIzMSwgCi0gICAgMjA0LCAyNTAsIDEzNSwgMTY4LCAxMzUsIDIxNiwgMTk4LCAxNjgsIDEzNSwgMjI4LCAyMDUsIDE2OCwgMTM1LCAyMTEsIDczLCAKLSAgICAxNjgsIDEzNSwgMjQ0LCAzNSwgMTY4LCAyMSwgMjEwLCA4NiwgMTY4LCAyMSwgMTEwLCAxNjgsIDIxLCAxMDUsIDE2OCwgMjEsIAotICAgIDE1OCwgMTY4LCAyMSwgMTYxLCAxNjgsIDIxLCAxODksIDE2OCwgMjEsIDE5NCwgMTY4LCAyMSwgMTk4LCAxNjgsIDIxLCAKLSAgICAxOTUsIDE2OCwgMjEsIDIwMCwgMTY4LCAxMzUsIDI1NCwgMTExLCAxNjgsIDEzNSwgMjM0LCAxMDQsIDIwOSwgMjA5LCAxLCAKLSAgICAyMzQsIDI4LCAyMDksIDIwOSwgMSwgMjM0LCAxMDYsIDIxOCwgMzUsIDIwOSwgMjA5LCAxLCAyMzQsIDEwNiwgMjE3LCA2MiwgCi0gICAgMjA5LCAyMDksIDEsIDIyOSwgNCwgMjA5LCAyMDksIDEsIDI0OSwgMjM4LCAyMDksIDIwOSwgMSwgMjE5LCA1OSwgMjE3LCAKLSAgICA2MiwgMjA5LCAyMDksIDEsIDIyNywgMTM0LCAyMDksIDIwOSwgMSwgMjQ3LCAxNDUsIDIwOSwgMjA5LCAxLCAxMTEsIDIwOSwgCi0gICAgMjA5LCAxLCAyMTYsIDE1NywgMjE4LCAzNSwgMjA5LCAyMDksIDEsIDIxNiwgMTU3LCAyMTcsIDYyLCAyMDksIDIwOSwgMSwgCi0gICAgMjI4LCA3NCwgMjA5LCAyMDksIDEsIDI1MSwgMjA1LCAyMDksIDIwOSwgMSwgMjI1LCAxNiwgMjA5LCAyMDksIDEsIDIyNSwgCi0gICAgMTIyLCAyMTgsIDM1LCAyMDksIDIwOSwgMSwgMjQ0LCA0NCwgMjE3LCA2MiwgMjA5LCAyMDksIDEsIDIyNSwgMTIyLCAyMTcsIAotICAgIDYyLCAyMDksIDIwOSwgMSwgMjQ0LCA0NCwgMjE4LCAzNSwgMjA5LCAyMDksIDEsIDIzMCwgMTYxLCAyMDksIDIwOSwgMSwgCi0gICAgMjEwLCAyNDQsIDIwOSwgMjA5LCAxLCAyMzIsIDE1NywgMjMyLCAyMDYsIDIwOSwgMjA5LCAxLCAyMzIsIDE1NywgMjMyLCAKLSAgICAxMjEsIDIwOSwgMjA5LCAxLCAyMTEsIDIyNywgMjA5LCAyMDksIDEsIDIxOSwgNTksIDIxOCwgMzUsIDIwOSwgMjA5LCAxLCAKLSAgICAyNDEsIDY5LCAyMTgsIDM1LCAyMDksIDIwOSwgMSwgNzYsIDIwOSwgMjA5LCAxLCAyNDEsIDY5LCAyMTcsIDYyLCAyMDksIAotICAgIDIwOSwgMjQ1LCAxNjMsIDIwOSwgMjA5LCAyNSwgNSwgNjEsIDIwOSwgMjA5LCAyNSwgNSwgMjMxLCAyMDQsIDIzNCwgMjM0LCAKLSAgICAyMDksIDIwOSwgMjUsIDUsIDI1NSwgNzMsIDIwOSwgMjA5LCAyNSwgNSwgMjU0LCAxMzYsIDIwOSwgMjA5LCAyNSwgNSwgNzMsIAotICAgIDIwOSwgMjA5LCAyNSwgNSwgMjM2LCAzMywgMjA5LCAyMDksIDI1LCA1LCAyMTEsIDExNywgMjA5LCAyMDksIDI1LCA1LCAKLSAgICAyMTAsIDE2OSwgMjA5LCAyMDksIDI1LCA1LCA3MCwgMjA5LCAyMDksIDI1LCA1LCAyMTQsIDExOCwgMjA5LCAyMDksIDI1LCAKLSAgICA1LCAyMzEsIDIwNCwgMjM0LCAxMywgMjA5LCAyMDksIDIyMCwgMTQ1LCA1LCAyMzIsIDE1NiwgMjA5LCAyMDksIDIyMCwgCi0gICAgMTQ1LCA1LCAyMjcsIDEzNCwgMjA5LCAyMDksIDI1LCA1LCA3NSwgMjA5LCAyMDksIDI1LCA1LCAyNDUsIDE5NSwgMjA5LCAKLSAgICAyMDksIDI1LCA1LCA3NiwgMjA5LCAyMDksIDI1LCA1LCAyNTMsIDE2NywgMjA5LCAyMDksIDI1LCA1LCAyNTQsIDIwMSwgCi0gICAgMjA5LCAyMDksIDIzNCwgMjksIDIzMywgMTM1LCAyMDksIDIwOSwgMTM4LCAyMzEsIDIwNCwgMjQ1LCAxODAsIDIwOSwgMjA5LCAKLSAgICAxMzgsIDIzMSwgMjA0LCAyMTYsIDE1NiwgMjA5LCAyMDksIDEzOCwgMjMxLCAyMDQsIDIxNiwgMTE3LCAyMDksIDIwOSwgCi0gICAgMTM4LCAyMzEsIDIwNCwgMjUwLCAyMjMsIDIwOSwgMjA5LCAyNTEsIDQsIDc4LCAyMDksIDIwOSwgMjI4LCAyMTQsIDIwOSwgCisgICAgMTk4LCAxMzYsIDIxLCAxOTUsIDEzNiwgMjEsIDIwMCwgMTM2LCA1NCwgMjE2LCAyNDgsIDEzNiwgNTQsIDEyMywgMjQwLCAKKyAgICAyMTEsIDEzNiwgNTQsIDEyMywgMjE2LCAxNDgsIDEzNiwgMjQ0LCAzLCAxMjMsIDIyNCwgMjIsIDEzNiwgMjQ0LCAzLCAxMjMsIAorICAgIDI0MiwgMjgsIDEzNiwgMjQ0LCAzLCAxMzQsIDIyNCwgMjAsIDEzNiwgMjQ4LCAxNTEsIDc4LCAxMzYsIDEsIDI1MCwgMTAwLCAKKyAgICAyMjgsIDExMiwgMTM2LCAxLCAyNTAsIDEwMCwgMjMwLCAyNiwgMTM2LCAxLCAyNTAsIDEwMCwgMjIyLCAxODEsIDEzNiwgMSwgCisgICAgMjUwLCAxMDAsIDE1NiwgMTM2LCAxLCAyNTAsIDEwMCwgMjMyLCAxODYsIDEzNiwgMSwgMjUwLCAxMDAsIDIzNSwgMjQsIAorICAgIDE3NSwgNSwgMjU0LCA3NSwgMTc1LCA1LCAyMTMsIDE0NiwgMTc1LCAxLCAyNTMsIDE2NiwgMTc1LCAxLCAyNTUsIDI4LCAKKyAgICAxNzUsIDEsIDI1NCwgMjI0LCAxNzUsIDEsIDI1NCwgMjM5LCAxNzUsIDEsIDIzNSwgMTUyLCAxNzUsIDEsIDIzNiwgMzMsIAorICAgIDE3NSwgMSwgMjE0LCAxMTAsIDE3NSwgMSwgMjE0LCAxMTIsIDE3NSwgMSwgMjM1LCAxNzQsIDE3NSwgMSwgMjM1LCAxNzUsIAorICAgIDE3NSwgMSwgMjM2LCAxOSwgMTc1LCAxLCAyMzYsIDIxLCAxNzUsIDEsIDI0NSwgMTgsIDE3NSwgMSwgMjQ1LCAyMDUsIDE3NSwgCisgICAgMSwgMjU0LCAxODksIDE3NSwgMSwgMjI2LCAxMDksIDE3NSwgMSwgMjI2LCAxNzgsIDE3NSwgMSwgMjUzLCAxNzksIDE3NSwgCisgICAgMSwgMjU0LCAxNDcsIDIzNCwgMTg4LCAxNzUsIDEsIDIzMSwgMjEwLCAyMzQsIDE4OCwgMTc1LCAxLCAyNTQsIDE0NywgMjQzLCAKKyAgICA4MywgMTc1LCAxLCAyMzEsIDIxMCwgMjQzLCA4MywgMTc1LCAxLCAyMzQsIDIzMCwgMjI5LCAyMjMsIDE3NSwgMSwgMjIxLCAKKyAgICAyMzcsIDI0MywgODMsIDE3NSwgMSwgMjU0LCAxNDcsIDI1MCwgMjE3LCAxNzUsIDEsIDIzMSwgMjEwLCAyNTAsIDIxNywgCisgICAgMTc1LCAxLCAyNTQsIDE0NywgMjM1LCAxMjgsIDE3NSwgMSwgMjMxLCAyMTAsIDIzNSwgMTI4LCAxNzUsIDEsIDIxNywgOTksIAorICAgIDIyOSwgMjIzLCAxNzUsIDEsIDIxNywgOTksIDIyMSwgMjM2LCAyMjksIDIyNCwgMTc1LCAxLCAyMjEsIDIzNywgMjM1LCAKKyAgICAxMjgsIDE3NSwgMSwgMjU0LCAxNDcsIDIxNSwgMTUzLCAxNzUsIDEsIDIzMSwgMjEwLCAyMTUsIDE1MywgMTc1LCAxLCAyNTQsIAorICAgIDE0NywgMjQ4LCAxMjcsIDE3NSwgMSwgMjMxLCAyMTAsIDI0OCwgMTI3LCAxNzUsIDEsIDIzMCwgNTQsIDIyOSwgMTgxLCAKKyAgICAxNzUsIDEsIDIyMSwgMjM3LCAyNDgsIDEyNywgMTc1LCAxLCAyNTQsIDE0NywgMjE3LCAzMSwgMTc1LCAxLCAyMzEsIDIxMCwgCisgICAgMjE3LCAzMSwgMTc1LCAxLCAyNTQsIDE0NywgMjQ4LCAxNDUsIDE3NSwgMSwgMjMxLCAyMTAsIDI0OCwgMTQ1LCAxNzUsIDEsIAorICAgIDI0OCwgMTc1LCAyMjksIDE4MSwgMTc1LCAxLCAyMjEsIDIzNywgMjQ4LCAxNDUsIDE3NSwgMSwgMjU0LCAxNDcsIDIyNSwgCisgICAgMjI5LCAxNzUsIDEsIDIzMSwgMjEwLCAyMjUsIDIyOSwgMTc1LCAxLCAyNTQsIDE0NywgMjUyLCAxMTMsIDE3NSwgMSwgMjMxLCAKKyAgICAyMTAsIDI1MiwgMTEzLCAxNzUsIDEsIDIzMSwgMTMyLCAxNzUsIDEsIDI1NCwgMTMyLCAyNTIsIDExMywgMTc1LCAxLCAyMTEsIAorICAgIDUxLCAxNzUsIDEsIDIyMywgMTM0LCAxNzUsIDEsIDI0OCwgMTc1LCAyMzMsIDY4LCAxNzUsIDEsIDIxNCwgMSwgMTc1LCAxLCAKKyAgICAyMTcsIDk5LCAyMjEsIDIxMSwgMTc1LCAxLCAyMzAsIDU0LCAyMjEsIDIxMSwgMTc1LCAxLCAyNDgsIDE3NSwgMjIxLCAyMTEsIAorICAgIDE3NSwgMSwgMjQxLCAyNDMsIDE3NSwgMSwgMjMwLCA1NCwgMjMzLCA2OCwgMTc1LCAxLCAyNDQsIDE1NywgMTc1LCA1LCAKKyAgICAyNTQsIDE3OCwgMTc1LCAyNSwgNSwgMjU0LCAyMzQsIDE3NSwgMjUsIDUsIDIzNCwgMTU2LCAyNTQsIDI0MSwgMTc1LCAyNSwgCisgICAgNSwgMjQ3LCAyMjksIDI1NCwgMjQxLCAxNzUsIDI1LCA1LCAyMzQsIDE1NiwgMjM1LCAxNzEsIDE3NSwgMjUsIDUsIDI0NywgCisgICAgMjI5LCAyMzUsIDE3MSwgMTc1LCAyNSwgNSwgMjM0LCAxNTYsIDIyNiwgODksIDE3NSwgMjUsIDUsIDI0NywgMjI5LCAyMjYsIAorICAgIDg5LCAxNzUsIDI1LCA1LCAyNDMsIDEyNSwgMTc1LCAyNSwgNSwgMjM0LCAxNiwgMTc1LCAyNSwgNSwgMjQ3LCAyMjksIDIzNCwgCisgICAgMTYsIDE3NSwgMjUsIDUsIDIzNCwgMTgsIDI0OCwgNjgsIDE3NSwgMjUsIDUsIDIzNCwgMTcsIDI0MiwgNDgsIDI1NCwgMjM0LCAKKyAgICAxNzUsIDI1LCA1LCAyMzQsIDE3LCAyNDIsIDQ4LCAyNDcsIDIyOSwgMjU0LCAyMzQsIDE3NSwgMjUsIDUsIDIzNCwgMTcsIAorICAgIDI0MiwgNDgsIDI0MywgODIsIDE3NSwgMjUsIDUsIDI0MywgODIsIDE3NSwgMjUsIDUsIDI0NywgMjI5LCAyNDMsIDEyNSwgCisgICAgMTc1LCAyNSwgNSwgMjQ3LCAyMjksIDI0MywgODIsIDE3NSwgMjI0LCAxNDIsIDIzMywgMjA4LCAxNjgsIDEzNSwgMjM0LCAKKyAgICAzMCwgMjM0LCAyNDcsIDE2OCwgMTM1LCAyMzQsIDEwNywgMjM0LCAxMjksIDE2OCwgMTM1LCAyMzQsIDEwNywgMjM0LCAxMDAsIAorICAgIDE2OCwgMTM1LCAyMzQsIDEwNywgMjM0LCA5NiwgMTY4LCAxMzUsIDIzNCwgMTA3LCAyMzQsIDEwNCwgMTY4LCAxMzUsIDIzNCwgCisgICAgMTA3LCAyMjMsIDE1NSwgMTY4LCAxMzUsIDIyOSwgNiwgMjI4LCAyNDksIDE2OCwgMTM1LCAyNTAsIDg4LCAyNTAsIDE0OCwgCisgICAgMTY4LCAxMzUsIDI1MCwgODgsIDI1MCwgOTYsIDE2OCwgMTM1LCAyNTAsIDg4LCAyNTAsIDE0NywgMTY4LCAxMzUsIDIxOSwgCisgICAgNjAsIDIxOSwgNTksIDE2OCwgMTM1LCAyNTAsIDg4LCAyNTAsIDg0LCAxNjgsIDEzNSwgMjEwLCAyNDUsIDIxMCwgMjUyLCAKKyAgICAxNjgsIDEzNSwgMjQ3LCAxNDcsIDI1MCwgMTU1LCAxNjgsIDEzNSwgMjE2LCA0MywgMjI1LCAyMzksIDE2OCwgMTM1LCAyMTYsIAorICAgIDE1OCwgMjE2LCAyMDEsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjI5LCAyMDIsIDE2OCwgMTM1LCAyMTYsIDE1OCwgMjI1LCAKKyAgICAxMTIsIDE2OCwgMTM1LCAyMjgsIDc2LCAyMjksIDk5LCAxNjgsIDEzNSwgMjQ3LCAxNDcsIDI0OCwgNjksIDE2OCwgMTM1LCAKKyAgICAyMTYsIDQzLCAyMTcsIDU2LCAxNjgsIDEzNSwgMjE2LCAxNTgsIDIxNiwgMTMyLCAxNjgsIDEzNSwgMjE2LCAxNTgsIDIxNiwgCisgICAgMjA1LCAxNjgsIDEzNSwgMjE2LCAxNTgsIDIxNiwgMTU1LCAxNjgsIDEzNSwgMjI4LCA3NiwgMjI3LCAyMzgsIDE2OCwgMTM1LCAKKyAgICAyNTEsIDIwNywgMjUyLCAxNjUsIDE2OCwgMTM1LCAyMjUsIDE4LCAyMjUsIDQzLCAxNjgsIDEzNSwgMjI1LCAxMjMsIDIyNSwgCisgICAgMTE0LCAxNjgsIDEzNSwgMjQ0LCA0NSwgMjQ0LCAxOTcsIDE2OCwgMTM1LCAyMjUsIDEyMywgMjI1LCAxNDIsIDE2OCwgMTM1LCAKKyAgICAyNDQsIDQ1LCAyNDQsIDE3NCwgMTY4LCAxMzUsIDIyNSwgMTIzLCAyMjEsIDI0OCwgMTY4LCAxMzUsIDIzMCwgMTYzLCAxODUsIAorICAgIDE2OCwgMTM1LCAyMTAsIDI0NSwgMjExLCA3OSwgMTY4LCAxMzUsIDIyMiwgMjEzLCAyMjIsIDE0MCwgMTY4LCAxMzUsIDIyMiwgCisgICAgMTQxLCAxNjgsIDEzNSwgMjMyLCAxNTgsIDIzMiwgMjA3LCAxNjgsIDEzNSwgMjMyLCA5OSwgMTY4LCAxMzUsIDIxMSwgMjI4LCAKKyAgICAyMTIsIDYxLCAxNjgsIDEzNSwgMjE5LCA2MCwgMjIyLCA3LCAxNjgsIDEzNSwgMjE5LCA2MCwgMjIyLCAxMTUsIDE2OCwgCisgICAgMTM1LCAyMTksIDYwLCAyMTgsIDgzLCAxNjgsIDEzNSwgMjQxLCA3MCwgMjQxLCAxNjAsIDE2OCwgMTM1LCAyMzIsIDE1OCwgCisgICAgMjUwLCA2OSwgMTY4LCAxMzUsIDE0NCwgMjU0LCAxMTYsIDE2OCwgMTM1LCAyNDEsIDcwLCAyMjgsIDcxLCAxNjgsIDEzNSwgCisgICAgMjI2LCA2OSwgMTY4LCAxMzUsIDIyMSwgMjMxLCA2MSwgMTY4LCAxMzUsIDIzMSwgMjA1LCAyNDIsIDE4LCAxNjgsIDEzNSwgCisgICAgMjIxLCAyMzEsIDI1NSwgNzQsIDE2OCwgMTM1LCAyMjEsIDIzMSwgMjU0LCAxMzcsIDE2OCwgMTM1LCAyMjEsIDIzMSwgNzMsIAorICAgIDE2OCwgMTM1LCAyMjEsIDIzMSwgMjM2LCAzNCwgMTY4LCAxMzUsIDIyMSwgMjMxLCAyMTQsIDIxNCwgMTY4LCAxMzUsIDIyMSwgCisgICAgMjMxLCAyMTQsIDIxMiwgMTY4LCAxMzUsIDIyMSwgMjMxLCA3MCwgMTY4LCAxMzUsIDIyMSwgMjMxLCAyMTQsIDExOCwgMTY4LCAKKyAgICAxMzUsIDIyNSwgMTI1LCAxNjgsIDI0OSwgOTksIDE2LCAyNTIsIDE2NiwgMTY4LCAxMzUsIDIyMSwgMjMxLCA3NSwgMTY4LCAKKyAgICAxMzUsIDIyMSwgMjMxLCAyNTQsIDI0NCwgMTY4LCAxMzUsIDIyMSwgMjMxLCA3NiwgMTY4LCAxMzUsIDIyMSwgMjMxLCAyNTQsIAorICAgIDIwMywgMjMxLCAxOTksIDE2OCwgMTM1LCAyMjEsIDIzMSwgMjU0LCAyMDMsIDIzMSwgMjAwLCAxNjgsIDEzNSwgMjMzLCAKKyAgICAxMDcsIDE2OCwgMTM1LCAyMzEsIDE5NiwgMTY4LCAxMzUsIDIzMSwgMTk3LCAxNjgsIDEzNSwgMjMxLCAyMDUsIDI0NSwgCisgICAgMTgxLCAxNjgsIDEzNSwgMjMxLCAyMDUsIDIxNiwgMTU3LCAxNjgsIDEzNSwgMjMxLCAyMDUsIDIxNSwgMjI5LCAxNjgsIAorICAgIDEzNSwgMjMxLCAyMDUsIDI1MCwgMTM2LCAxNjgsIDEzNSwgMjE2LCAxOTksIDE2OCwgMTM1LCAyMjgsIDIwNiwgMTY4LCAKKyAgICAxMzUsIDIxMSwgNzMsIDE2OCwgMTM1LCAyNDQsIDM2LCAxNjgsIDIxLCAyMTAsIDg2LCAxNjgsIDIxLCAxMTAsIDE2OCwgMjEsIAorICAgIDEwNSwgMTY4LCAyMSwgMTU4LCAxNjgsIDIxLCAxNjEsIDE2OCwgMjEsIDE4OSwgMTY4LCAyMSwgMTk0LCAxNjgsIDIxLCAKKyAgICAxOTgsIDE2OCwgMjEsIDE5NSwgMTY4LCAyMSwgMjAwLCAxNjgsIDEzNSwgMjU0LCAxMTIsIDE2OCwgMTM1LCAyMzQsIDEwNSwgCisgICAgMjA5LCAyMDksIDEsIDIzNCwgMjksIDIwOSwgMjA5LCAxLCAyMzQsIDEwNywgMjE4LCAzNiwgMjA5LCAyMDksIDEsIDIzNCwgCisgICAgMTA3LCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjI5LCA1LCAyMDksIDIwOSwgMSwgMjQ5LCAyMzksIDIwOSwgMjA5LCAxLCAKKyAgICAyMTksIDYwLCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgMjI3LCAxMzUsIDIwOSwgMjA5LCAxLCAyNDcsIDE0NiwgMjA5LCAyMDksIAorICAgIDEsIDExMSwgMjA5LCAyMDksIDEsIDIxNiwgMTU4LCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjE2LCAxNTgsIDIxNywgNjMsIAorICAgIDIwOSwgMjA5LCAxLCAyMjgsIDc1LCAyMDksIDIwOSwgMSwgMjUxLCAyMDYsIDIwOSwgMjA5LCAxLCAyMjUsIDE3LCAyMDksIAorICAgIDIwOSwgMSwgMjI1LCAxMjMsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCAyNDQsIDQ1LCAyMTcsIDYzLCAyMDksIDIwOSwgMSwgCisgICAgMjI1LCAxMjMsIDIxNywgNjMsIDIwOSwgMjA5LCAxLCAyNDQsIDQ1LCAyMTgsIDM2LCAyMDksIDIwOSwgMSwgMjMwLCAxNjIsIAorICAgIDIwOSwgMjA5LCAxLCAyMTAsIDI0NCwgMjA5LCAyMDksIDEsIDIzMiwgMTU4LCAyMzIsIDIwNywgMjA5LCAyMDksIDEsIDIzMiwgCisgICAgMTU4LCAyMzIsIDEyMiwgMjA5LCAyMDksIDEsIDIxMSwgMjI3LCAyMDksIDIwOSwgMSwgMjE5LCA2MCwgMjE4LCAzNiwgMjA5LCAKKyAgICAyMDksIDEsIDI0MSwgNzAsIDIxOCwgMzYsIDIwOSwgMjA5LCAxLCA3NiwgMjA5LCAyMDksIDEsIDI0MSwgNzAsIDIxNywgNjMsIAorICAgIDIwOSwgMjA5LCAyNDUsIDE2NCwgMjA5LCAyMDksIDI1LCA1LCA2MSwgMjA5LCAyMDksIDI1LCA1LCAyMzEsIDIwNSwgMjM0LCAKKyAgICAyMzUsIDIwOSwgMjA5LCAyNSwgNSwgMjU1LCA3NCwgMjA5LCAyMDksIDI1LCA1LCAyNTQsIDEzNywgMjA5LCAyMDksIDI1LCAKKyAgICA1LCA3MywgMjA5LCAyMDksIDI1LCA1LCAyMzYsIDM0LCAyMDksIDIwOSwgMjUsIDUsIDIxMSwgMTE3LCAyMDksIDIwOSwgMjUsIAorICAgIDUsIDIxMCwgMTY5LCAyMDksIDIwOSwgMjUsIDUsIDcwLCAyMDksIDIwOSwgMjUsIDUsIDIxNCwgMTE4LCAyMDksIDIwOSwgCisgICAgMjUsIDUsIDIzMSwgMjA1LCAyMzQsIDE0LCAyMDksIDIwOSwgMjIwLCAxNDYsIDUsIDIzMiwgMTU3LCAyMDksIDIwOSwgMjIwLCAKKyAgICAxNDYsIDUsIDIyNywgMTM1LCAyMDksIDIwOSwgMjUsIDUsIDc1LCAyMDksIDIwOSwgMjUsIDUsIDI0NSwgMTk2LCAyMDksIAorICAgIDIwOSwgMjUsIDUsIDc2LCAyMDksIDIwOSwgMjUsIDUsIDI1MywgMTY4LCAyMDksIDIwOSwgMjUsIDUsIDI1NCwgMjAyLCAKKyAgICAyMDksIDIwOSwgMjM0LCAzMCwgMjMzLCAxMzYsIDIwOSwgMjA5LCAxMzgsIDIzMSwgMjA1LCAyNDUsIDE4MSwgMjA5LCAyMDksIAorICAgIDEzOCwgMjMxLCAyMDUsIDIxNiwgMTU3LCAyMDksIDIwOSwgMTM4LCAyMzEsIDIwNSwgMjE2LCAxMTgsIDIwOSwgMjA5LCAKKyAgICAxMzgsIDIzMSwgMjA1LCAyNTAsIDIyNCwgMjA5LCAyMDksIDI1MSwgNSwgNzgsIDIwOSwgMjA5LCAyMjgsIDIxNSwgMjA5LCAKICAgICAyMDksIDIxLCAyMTAsIDg2LCAyMDksIDIwOSwgMjEsIDExMCwgMjA5LCAyMDksIDIxLCAxMDUsIDIwOSwgMjA5LCAyMSwgCiAgICAgMTU4LCAyMDksIDIwOSwgMjEsIDE2MSwgMjA5LCAyMDksIDIxLCAxODksIDIwOSwgMjA5LCAyMSwgMTk0LCAyMDksIDIwOSwgCi0gICAgMjEsIDE5OCwgMjA5LCAyMDksIDIxLCAxOTUsIDIwOSwgMjA5LCAyMSwgMjAwLCAyMDksIDIwOSwgMjQxLCA2OSwgMjI4LCAKLSAgICA3NCwgMjA5LCAyMDksIDI0MSwgNjksIDIzMCwgMTYxLCAyMDksIDIwOSwgMSwgMjM0LCAxMDcsIDI0MiwgMTc0LCAyMDksIAotICAgIDIwOSwgMSwgMjM0LCAxMDcsIDIyNywgMTM0LCA2MywgMywgMjI2LCAyMDQsIDYzLCAxNjQsIDI0MiwgMTE1LCAyMTEsIDAsIAotICAgIDIzMCwgMjQ4LCAyMTUsIDE4OSwgNjEsIDYzLCAxNjQsIDI0MiwgMTE1LCAyMTEsIDAsIDIzMCwgMjQ4LCAyNTUsIDE1OSwgCi0gICAgMjIyLCAyMTYsIDI1MiwgNzcsIDE4NCwgNjMsIDE2NCwgMjQyLCAxMTUsIDIxMSwgMCwgMjMwLCAyNDgsIDI1NSwgMTU5LCAKLSAgICAyNDIsIDExNSwgMjE1LCAxNzMsIDE4NCwgNjMsIDE2NCwgNjUsIDIxMSwgMCwgMjMwLCAyNDgsIDIzMSwgOTMsIDE4NCwgNjMsIAotICAgIDE2NCwgMjQ5LCAyNTIsIDIxMSwgMCwgMjMwLCAyNDgsIDIyMCwgMTA5LCAxODQsIDYzLCAxNjQsIDI1MCwgMjM5LCAyMTEsIAotICAgIDAsIDIzMCwgMjQ4LCAyMjUsIDExMiwgMjIwLCA5NiwgMTg0LCA2MywgMTY0LCAyMTEsIDAsIDIzMCwgMjQ4LCAyMTUsIDE3MywgCi0gICAgMjIwLCA5NiwgMTg0LCA2MywgMTY0LCAyMjEsIDIwOCwgMjIwLCA5NSwgNjMsIDE2NCwgMjUxLCAxMjgsIDIxMSwgMCwgMjMwLCAKLSAgICAyNDcsIDYzLCAxNjQsIDI1MSwgMjIzLCAyMjAsIDMsIDIxMSwgMCwgMjMwLCAyNDcsIDYzLCAxNjQsIDIzNSwgMTk3LCAyMTUsIAotICAgIDE3MiwgNjMsIDE2NCwgMjQ4LCA2MSwgMjE1LCAxNzMsIDI1MSwgMTI3LCA2MywgMTY0LCAyMjAsIDk1LCA2MywgMTY0LCAKLSAgICAyMjcsIDEzOSwgMjIwLCA5NSwgNjMsIDE2NCwgMjE1LCAxNzMsIDIyMCwgOTUsIDYzLCAxNjQsIDIyNywgMTM5LCAyMTUsIAotICAgIDE3MywgMjIwLCA5NSwgNjMsIDE2NCwgMjIyLCAyMzYsIDI1MCwgMTIyLCAyMTgsIDIzNiwgMjIwLCA5NSwgNjMsIDE2NCwgCi0gICAgMjIzLCA0MiwgMjQyLCAxNDYsIDIyMCwgOTUsIDYzLCAxNjQsIDI1MCwgMjM5LCAyNTUsIDE2MywgMjIyLCAxNDQsIDIzMSwgCi0gICAgOTIsIDE5OSwgMjUxLCA3LCA2MywgMTY0LCAyNDIsIDExNSwgMjE1LCAxNzIsIDYzLCAyMzIsIDE0NCwgNSwgMjUwLCAxNTUsIAotICAgIDIyMiwgMTQzLCA2MywgMjMyLCAxNDQsIDUsIDIzMiwgMjUyLCAyMjIsIDE0MywgNjMsIDI1MywgMjEyLCA1LCAyMjAsIDEwNSwgCi0gICAgMjQzLCA2NSwgMjU1LCAxNjQsIDIyMiwgMTQzLCA2MywgMjUzLCAyMTIsIDUsIDI1NSwgMTYxLCAxOTAsIDYzLCAyNTMsIAotICAgIDIxMiwgNSwgMjIxLCAxODIsIDIxNSwgMTY4LCA2MywgNSwgMjIzLCAxMzAsIDI0NywgMTU5LCAyNDMsIDY0LCA2MywgNSwgCi0gICAgMjIzLCAxMzAsIDI0NywgMTU5LCAyNDIsIDE3NiwgNjMsIDUsIDIyMywgMTMwLCAyNDcsIDE1OSwgMjQyLCAxMTYsIDYzLCA1LCAKLSAgICAyMjMsIDEzMCwgMjI5LCAyMTksIDI0MywgNjQsIDYzLCA1LCAyMjMsIDEzMCwgMjI5LCAyMTksIDI0MiwgMTc2LCA2MywgNSwgCi0gICAgMjIzLCAxMzAsIDI0NywgMTU5LCAyMjMsIDEzMCwgMjI5LCAyMTgsIDYzLCAyMSwgMjEwLCA4NiwgNjMsIDIxLCAxMTAsIDYzLCAKKyAgICAyMSwgMTk4LCAyMDksIDIwOSwgMjEsIDE5NSwgMjA5LCAyMDksIDIxLCAyMDAsIDIwOSwgMjA5LCAyNDEsIDcwLCAyMjgsIAorICAgIDc1LCAyMDksIDIwOSwgMjQxLCA3MCwgMjMwLCAxNjIsIDIwOSwgMjA5LCAxLCAyMzQsIDEwOCwgMjQyLCAxNzUsIDIwOSwgCisgICAgMjA5LCAxLCAyMzQsIDEwOCwgMjI3LCAxMzUsIDYzLCAzLCAyMjYsIDIwNSwgNjMsIDE2NCwgMjQyLCAxMTYsIDIxMSwgMCwgCisgICAgMjMwLCAyNDksIDIxNSwgMTkwLCA2MSwgNjMsIDE2NCwgMjQyLCAxMTYsIDIxMSwgMCwgMjMwLCAyNDksIDI1NSwgMTYwLCAKKyAgICAyMjIsIDIxNywgMjUyLCA3OCwgMTg1LCA2MywgMTY0LCAyNDIsIDExNiwgMjExLCAwLCAyMzAsIDI0OSwgMjU1LCAxNjAsIAorICAgIDI0MiwgMTE2LCAyMTUsIDE3NCwgMTg1LCA2MywgMTY0LCA2NSwgMjExLCAwLCAyMzAsIDI0OSwgMjMxLCA5NCwgMTg1LCA2MywgCisgICAgMTY0LCAyNDksIDI1MywgMjExLCAwLCAyMzAsIDI0OSwgMjIwLCAxMTAsIDE4NSwgNjMsIDE2NCwgMjUwLCAyNDAsIDIxMSwgCisgICAgMCwgMjMwLCAyNDksIDIyNSwgMTEzLCAyMjAsIDk3LCAxODUsIDYzLCAxNjQsIDIxMSwgMCwgMjMwLCAyNDksIDIxNSwgMTc0LCAKKyAgICAyMjAsIDk3LCAxODUsIDYzLCAxNjQsIDIyMSwgMjA5LCAyMjAsIDk2LCA2MywgMTY0LCAyNTEsIDEyOSwgMjExLCAwLCAyMzAsIAorICAgIDI0OCwgNjMsIDE2NCwgMjUxLCAyMjQsIDIyMCwgNCwgMjExLCAwLCAyMzAsIDI0OCwgNjMsIDE2NCwgMjM1LCAxOTgsIDIxNSwgCisgICAgMTczLCA2MywgMTY0LCAyNDgsIDYyLCAyMTUsIDE3NCwgMjUxLCAxMjgsIDYzLCAxNjQsIDIyMCwgOTYsIDYzLCAxNjQsIAorICAgIDIyNywgMTQwLCAyMjAsIDk2LCA2MywgMTY0LCAyMTUsIDE3NCwgMjIwLCA5NiwgNjMsIDE2NCwgMjI3LCAxNDAsIDIxNSwgCisgICAgMTc0LCAyMjAsIDk2LCA2MywgMTY0LCAyMjIsIDIzNywgMjUwLCAxMjMsIDIxOCwgMjM3LCAyMjAsIDk2LCA2MywgMTY0LCAKKyAgICAyMjMsIDQzLCAyNDIsIDE0NywgMjIwLCA5NiwgNjMsIDE2NCwgMjUwLCAyNDAsIDI1NSwgMTY0LCAyMjIsIDE0NSwgMjMxLCAKKyAgICA5MywgMTk5LCAyNTEsIDgsIDYzLCAxNjQsIDI0MiwgMTE2LCAyMTUsIDE3MywgNjMsIDIzMiwgMTQ1LCA1LCAyNTAsIDE1NiwgCisgICAgMjIyLCAxNDQsIDYzLCAyMzIsIDE0NSwgNSwgMjMyLCAyNTMsIDIyMiwgMTQ0LCA2MywgMjUzLCAyMTMsIDUsIDIyMCwgMTA2LCAKKyAgICAyNDMsIDY2LCAyNTUsIDE2NSwgMjIyLCAxNDQsIDYzLCAyNTMsIDIxMywgNSwgMjU1LCAxNjIsIDE5MCwgNjMsIDI1MywgCisgICAgMjEzLCA1LCAyMjEsIDE4MywgMjE1LCAxNjksIDYzLCA1LCAyMjMsIDEzMSwgMjQ3LCAxNjAsIDI0MywgNjUsIDYzLCA1LCAKKyAgICAyMjMsIDEzMSwgMjQ3LCAxNjAsIDI0MiwgMTc3LCA2MywgNSwgMjIzLCAxMzEsIDI0NywgMTYwLCAyNDIsIDExNywgNjMsIDUsIAorICAgIDIyMywgMTMxLCAyMjksIDIyMCwgMjQzLCA2NSwgNjMsIDUsIDIyMywgMTMxLCAyMjksIDIyMCwgMjQyLCAxNzcsIDYzLCA1LCAKKyAgICAyMjMsIDEzMSwgMjQ3LCAxNjAsIDIyMywgMTMxLCAyMjksIDIxOSwgNjMsIDIxLCAyMTAsIDg2LCA2MywgMjEsIDExMCwgNjMsIAogICAgIDIxLCAxMDUsIDYzLCAyMSwgMTU4LCA2MywgMjEsIDE2MSwgNjMsIDIxLCAxODksIDYzLCAyMSwgMTk0LCA2MywgMjEsIDE5OCwgCiAgICAgNjMsIDIxLCAxOTUsIDYzLCAyMSwgMjAwLCA2MywgMjEsIDE2MywgMTEwLCA2MywgMjEsIDE2MywgMTA1LCA2MywgMjEsIAogICAgIDE2MywgMTU4LCA2MywgMjEsIDE2MywgMTYxLCA2MywgMjEsIDE2MywgMTg5LCA2MywgMjEsIDE2MywgMTk0LCA2MywgMjEsIAogICAgIDE2MywgMTk4LCA2MywgMjEsIDE2MywgMTk1LCA2MywgMjEsIDE2MywgMjAwLCA2MywgMjEsIDE2MywgMjEwLCA4NiwgNjMsIAotICAgIDE2NCwgMjUxLCAxMzAsIDIyMiwgMTQzLCA2MywgMTY0LCAyMjksIDY4LCAyNTEsIDY4LCAyMjcsIDE0OSwgMjEwLCAyNSwgCi0gICAgNjMsIDE2NCwgMjUwLCAyMzksIDI1NSwgMTYzLCAyMjIsIDE0NCwgMjUxLCA2OSwgMjMwLCAyMDIsIDI1MSwgNywgNjMsIAotICAgIDE2NCwgMjI5LCA2OCwgMjUxLCA2OCwgMjIwLCAxMDYsIDIyMiwgMTQzLCA2MywgMTY0LCAyNTAsIDEzMiwgMjMwLCAyNDcsIAotICAgIDYzLCAxNjQsIDIxNSwgMTg0LCAyNTUsIDE2MCwgNjMsIDE2NCwgMjQyLCAxMDAsIDIyMiwgMTQ0LCAyNDIsIDYzLCA2MywgCi0gICAgMTY0LCAyNDIsIDEwMCwgMjIyLCAxNDQsIDI0MiwgNjksIDYzLCAxNjQsIDI1NCwgMTE2LCAyMzQsIDEyMywgMjQyLCA2MywgCi0gICAgNjMsIDE2NCwgMjU0LCAxMTYsIDIzNCwgMTIzLCAyNDIsIDY5LCA2MywgNSwgMjExLCA2NSwgMjE1LCAxNzEsIDYzLCA1LCAKLSAgICAyMzEsIDE2NywgMjE1LCAxNzEsIDYzLCAxLCAxNzYsIDYzLCAxLCAyMzQsIDEzMiwgNjMsIDEsIDI0MywgMTM1LCA2MywgMSwgCi0gICAgMjQyLCAyNDksIDYzLCAxLCAyMjksIDc3LCA2MywgMSwgMjUxLCAzMywgNjMsIDEsIDI1MCwgMTU3LCA2MywgMSwgMjM1LCAKLSAgICAxNDEsIDYzLCAxLCAyMjcsIDE2NSwgNjMsIDEsIDIxNSwgMTU2LCA2MywgMSwgMjE1LCAxNDQsIDYzLCAxLCAyNDgsIDEzNSwgCi0gICAgNjMsIDEsIDI0OCwgMTE5LCA2MywgMSwgMjI4LCAxMTAsIDYzLCAxLCAyMTcsIDEwNSwgNjMsIDEsIDIxNiwgMjA4LCA2MywgCi0gICAgMSwgMjQ4LCAyMjEsIDYzLCAxLCAyNDgsIDI1LCA2MywgMSwgMTk3LCA2MywgMSwgMTkwLCA2MywgMSwgMjI1LCAxNDcsIDYzLCAKLSAgICAxLCAyNTIsIDE5MSwgNjMsIDEsIDI1MiwgMTgsIDYzLCAxLCAxODQsIDYzLCAxLCAyMTUsIDE4MywgNjMsIDEsIDIxNSwgCi0gICAgMTc1LCA2MywgMSwgMjQ2LCAzOCwgNjMsIDEsIDI0NiwgMzMsIDYzLCAxLCAyMTIsIDY1LCA2MywgMSwgMjEwLCA4MiwgNjMsIAotICAgIDEsIDIxMCwgMTE2LCA2MywgMSwgMjU1LCAxNjYsIDYzLCAxLCAxOTEsIDYzLCAxLCAyMDUsIDYzLCAxLCAyMzMsIDEzNSwgCi0gICAgNjMsIDEsIDIyMCwgMTAyLCA2MywgMSwgMjE4LCAyMjMsIDYzLCAxLCAyMDYsIDYzLCAxLCAxNjIsIDYzLCAxLCA2MSwgNjMsIAotICAgIDEsIDIzMywgMjMxLCA2MywgMSwgMjQ0LCA3NywgMjA1LCA2MywgMSwgMjM0LCA0NiwgNjMsIDEsIDIyMiwgMTc5LCA2MywgCi0gICAgMjUsIDUsIDI1NSwgNzMsIDYzLCAyNSwgNSwgNzMsIDYzLCAyNSwgNSwgMjM2LCAzMywgNjMsIDI1LCA1LCA3MCwgNjMsIDI1LCAKLSAgICA1LCAyMTQsIDExOCwgNjMsIDI1LCA1LCAxNDksIDE1MywgNjMsIDI1LCA1LCAxNDksIDIyMiwgMTgwLCA2MywgMjUsIDUsIAotICAgIDE0OSwgMTU2LCA2MywgMjUsIDUsIDE0OSwgMjMyLCAxODUsIDYzLCAyNSwgNSwgNzUsIDYzLCAyNSwgNSwgMjQ1LCAyMDksIAotICAgIDYzLCAyNSwgNSwgNzYsIDYzLCAyNSwgNSwgMjI2LCAxODMsIDYzLCA1LCAyMjIsIDIyMSwgMjE4LCA4NCwgMjI5LCA3OCwgCi0gICAgMjIyLCAyMTEsIDYzLCA1LCAyMjIsIDIxNiwgMjUyLCA3NiwgNjMsIDI1LCA1LCAyMjMsIDQ5LCA3MywgNjMsIDI1LCA1LCAKLSAgICAyMjMsIDQ5LCAyMzYsIDMzLCA2MywgNSwgMjI3LCAxNDksIDIxMCwgMjYsIDIyOSwgMjI2LCAyNDgsIDIyMSwgNjMsIDUsIAotICAgIDIxOSwgNzEsIDIzMywgNjAsIDYzLCAxNjQsIDI0MiwgMjksIDYzLCAxNjQsIDIyNiwgNTcsIDYzLCA1LCAyMzMsIDYzLCAKLSAgICAyMjIsIDE0MywgNjMsIDUsIDIxMSwgNzAsIDIyMiwgMTQzLCA2MywgNSwgMjMzLCA2NCwgMjE1LCAxODQsIDI1MSwgNywgNjMsIAotICAgIDUsIDIzMSwgOTUsIDI1MSwgNywgNjMsIDUsIDI0MiwgMTE5LCAyNTEsIDgsIDIyMywgNDAsIDYzLCA1LCAyNDIsIDExOSwgCi0gICAgMjMxLCA4NSwgMjIzLCA0MCwgNjMsIDUsIDIzNSwgMTkzLCAyMzEsIDk1LCAyNTEsIDcsIDYzLCAyMTgsIDczLCA1LCAyMzMsIAotICAgIDY0LCAyMTUsIDE4NCwgMjUxLCA3LCA2MywgMjE4LCA3MywgNSwgMjMxLCA5NSwgMjUxLCA3LCA2MywgMjE4LCA3MywgNSwgCi0gICAgMjM1LCAxOTMsIDIzMSwgOTUsIDI1MSwgNywgNjMsIDIxOCwgNzMsIDEsIDE3NiwgNjMsIDIxOCwgNzMsIDEsIDIzNCwgMTMyLCAKLSAgICA2MywgMjE4LCA3MywgMSwgMjQzLCAxMzUsIDYzLCAyMTgsIDczLCAxLCAyNDIsIDI0OSwgNjMsIDIxOCwgNzMsIDEsIDIyOSwgCi0gICAgNzcsIDYzLCAyMTgsIDczLCAxLCAyNTEsIDMzLCA2MywgMjE4LCA3MywgMSwgMjUwLCAxNTcsIDYzLCAyMTgsIDczLCAxLCAKLSAgICAyMzUsIDE0MSwgNjMsIDIxOCwgNzMsIDEsIDIyNywgMTY1LCA2MywgMjE4LCA3MywgMSwgMjE1LCAxNTYsIDYzLCAyMTgsIAotICAgIDczLCAxLCAyMTUsIDE0NCwgNjMsIDIxOCwgNzMsIDEsIDI0OCwgMTM1LCA2MywgMjE4LCA3MywgMSwgMjQ4LCAxMTksIDYzLCAKLSAgICAyMTgsIDczLCAxLCAyMjgsIDExMCwgNjMsIDIxOCwgNzMsIDEsIDIxNywgMTA1LCA2MywgMjE4LCA3MywgMSwgMjE2LCAyMDgsIAotICAgIDYzLCAyMTgsIDczLCAxLCAyNDgsIDIyMSwgNjMsIDIxOCwgNzMsIDEsIDI0OCwgMjUsIDYzLCAyMTgsIDczLCAxLCAxOTcsIAotICAgIDYzLCAyMTgsIDczLCAxLCAxOTAsIDYzLCAyMTgsIDczLCAxLCAyMjUsIDE0NywgNjMsIDIxOCwgNzMsIDEsIDI1MiwgMTkxLCAKLSAgICA2MywgMjE4LCA3MywgMSwgMjUyLCAxOCwgNjMsIDIxOCwgNzMsIDEsIDE4NCwgNjMsIDIxOCwgNzMsIDEsIDIxNSwgMTgzLCAKLSAgICA2MywgMjE4LCA3MywgMSwgMjE1LCAxNzUsIDYzLCAyMTgsIDczLCAxLCAyNDYsIDM4LCA2MywgMjE4LCA3MywgMSwgMjQ2LCAKLSAgICAzMywgNjMsIDIxOCwgNzMsIDEsIDIxMiwgNjUsIDYzLCAyMTgsIDczLCAxLCAyMTAsIDgyLCA2MywgMjE4LCA3MywgMSwgCi0gICAgMjEwLCAxMTYsIDYzLCAyMTgsIDczLCAxLCAyNTUsIDE2NiwgNjMsIDIxOCwgNzMsIDEsIDE5MSwgNjMsIDIxOCwgNzMsIDEsIAotICAgIDIwNSwgNjMsIDIxOCwgNzMsIDEsIDIzMywgMTM1LCA2MywgMjE4LCA3MywgMSwgMjIwLCAxMDIsIDYzLCAyMTgsIDczLCAxLCAKLSAgICAyMTgsIDIyMywgNjMsIDIxOCwgNzMsIDEsIDIwNiwgNjMsIDIxOCwgNzMsIDEsIDE2MiwgNjMsIDIxOCwgNzMsIDEsIDYxLCAKLSAgICA2MywgMjE4LCA3MywgMSwgMjMzLCAyMzEsIDYzLCAyMTgsIDczLCAxLCAyNDQsIDc3LCAyMTIsIDY1LCA2MywgMjE4LCA3MywgCi0gICAgMSwgMjQ0LCA3NywgMTkxLCA2MywgMjE4LCA3MywgMSwgMjQ0LCA3NywgMjA1LCA2MywgMjMzLCAyMTgsIDIyMiwgMTQxLCAKLSAgICAyMzQsIDEzMiwgNjMsIDIzMywgMjE4LCAyMjIsIDE0MSwgMjM0LCAxMzMsIDI1MSwgNjksIDIzMCwgMjAyLCAyNTEsIDcsIAotICAgIDYzLCAyNTAsIDI1MiwgNSwgMTE0LCAyNTIsIDcwLCA2MywgMjUwLCAyNTIsIDUsIDE5MiwgMjUyLCA3MCwgNjMsIDI1MCwgCi0gICAgMjUyLCA1LCAyNTAsIDI1MywgMjE3LCAyMCwgNjMsIDI1MCwgMjUyLCA1LCAyMjEsIDIwNywgMjU1LCAxNjUsIDYzLCAxNiwgCi0gICAgMjQ2LCA5MSwgMjUxLCAxMjUsIDYzLCAxNiwgMjIzLCAxMjksIDIyMiwgMjIyLCA2MywgMTYsIDIyNiwgNzcsIDI0MywgNjMsIAotICAgIDYzLCAxNiwgMjIzLCAxMjksIDIyMiwgMjIzLCAyMjMsIDQyLCAyNDIsIDE0NSwgNjMsIDE2LCAyMjUsIDExMiwgMTkwLCA2MywgCi0gICAgMTYsIDIyOCwgNTksIDI1MSwgMTI1LCA2MywgMTYsIDIyOCwgNTksIDI1MSwgMTI2LCAyMjcsIDEzOSwgMjU1LCAxNjIsIDYzLCAKLSAgICAxNiwgMjI4LCA1OSwgMjUxLCAxMjYsIDI0MiwgMTE3LCAyNTUsIDE2MiwgNjMsIDE2LCAyMjgsIDU5LCAyNTEsIDEyNiwgCi0gICAgMjUxLCA2OSwgMjU1LCAxNjIsIDYzLCA1LCAyMjMsIDEzMCwgMjI5LCAyMTksIDIyMywgMTMwLCAyNDcsIDE1OCwgNjMsIDUsIAotICAgIDIyMywgMTMwLCAyMjksIDIxOSwgMjQyLCAxMTYsIDYzLCAxNjQsIDI1MSwgMTI5LCAyMjAsIDMsIDI0MiwgMjE1LCAyMzAsIAotICAgIDI0OCwgMjIzLCA0MSwgNjMsIDE2NCwgMjMwLCAxNjMsIDIxMSwgMCwgMjQyLCAyMTUsIDIzMCwgMjQ4LCAyMjMsIDQxLCA2MywgCi0gICAgMTY0LCAyMjcsIDEzOSwgMjE1LCAxNzIsIDYzLCAxNjQsIDY1LCAyNTEsIDE1MiwgMjIyLCAyMTMsIDIxMSwgMCwgMjMwLCAKLSAgICAyNDgsIDIzMSwgOTMsIDE4NCwgNjMsIDE2NCwgMjQ5LCAyNTIsIDI1MSwgMTUyLCAyMjIsIDIxMywgMjExLCAwLCAyMzAsIAotICAgIDI0OCwgMjIwLCAxMDksIDE4NCwgMjIyLCAyNTAsIDIxNywgMjU1LCA1MCwgMjMzLCA0NSwgMjE3LCAyNTUsIDUwLCAyMjIsIAotICAgIDI1MCwgMjE3LCAyNTUsIDUsIDIsIDI0NywgMTE4LCAyMzMsIDQ1LCAyMTcsIDI1NSwgNSwgMiwgMjQ3LCAxMTgsIDYzLCAKLSAgICAxNjQsIDIzMywgNTUsIDIzMSwgOTYsIDIyMiwgMTQzLCA2MywgMTY0LCAyMTUsIDI1MCwgMjMxLCA5NiwgMjIyLCAxNDMsIAotICAgIDY4LCAxLCAxNzYsIDY4LCAxLCAyMzQsIDEzMiwgNjgsIDEsIDI0MywgMTM1LCA2OCwgMSwgMjQyLCAyNDksIDY4LCAxLCAKLSAgICAyMjksIDc3LCA2OCwgMSwgMjUxLCAzMywgNjgsIDEsIDI1MCwgMTU3LCA2OCwgMSwgMjM1LCAxNDEsIDY4LCAxLCAyMzUsIAotICAgIDExNCwgNjgsIDEsIDIyNywgMTY1LCA2OCwgMSwgMjI4LCA3NiwgNjgsIDEsIDIxNSwgMTU2LCA2OCwgMSwgMjE1LCAxNDQsIAotICAgIDY4LCAxLCAyNDgsIDEzNSwgNjgsIDEsIDI0OCwgMTE5LCA2OCwgMSwgMjI4LCAxMTAsIDY4LCAxLCAyMTcsIDEwNSwgNjgsIAotICAgIDEsIDIxNiwgMjA4LCA2OCwgMSwgMjQ4LCAyMjEsIDY4LCAxLCAyNDgsIDI1LCA2OCwgMSwgMTk3LCA2OCwgMSwgMTkwLCA2OCwgCi0gICAgMSwgMjI1LCAxNDcsIDY4LCAxLCAyNTIsIDE5MSwgNjgsIDEsIDI1MiwgMTgsIDY4LCAxLCAxODQsIDY4LCAxLCAxOTEsIDY4LCAKLSAgICAxLCAyMDUsIDY4LCAxLCAyMzMsIDEzNSwgNjgsIDEsIDIxMiwgNjUsIDY4LCAxLCAyMDYsIDY4LCAxLCAxNjIsIDY4LCAxLCAKLSAgICAyMzIsIDE4NCwgNjgsIDEsIDYxLCA2OCwgMSwgMjIwLCA4NiwgNjEsIDY4LCAxLCA3MywgNjgsIDEsIDIzNiwgMzMsIDY4LCAKLSAgICAxLCA3MCwgNjgsIDEsIDIxNCwgMTE4LCA2OCwgMSwgNzUsIDY4LCAxLCAyMzAsIDE1MSwgNzUsIDY4LCAxLCA3NiwgNjgsIDEsIAotICAgIDI1MywgMTkyLCA2OCwgMjUsIDUsIDIxNywgNjQsIDI1NSwgNzMsIDY4LCAyNSwgNSwgMjU1LCA3MywgNjgsIDI1LCA1LCA3MywgCi0gICAgNjgsIDI1LCA1LCAyMzYsIDMzLCA2OCwgMjUsIDUsIDcwLCA2OCwgMjUsIDUsIDIxNCwgMTE4LCA2OCwgMjUsIDUsIDc1LCAKLSAgICA2OCwgMjUsIDUsIDI1NCwgMjAxLCA2OCwgMjUsIDUsIDIzMCwgMTUxLCAyMzYsIDMzLCA2OCwgMjUsIDUsIDIzMCwgMTUxLCAKLSAgICA3NiwgNjgsIDI1LCA1LCAxNjAsIDQ4LCA2OCwgNSwgMjU0LCA3NSwgNjgsIDUsIDU5LCA1MSwgNjgsIDUsIDIxMywgMTQ3LCAKLSAgICA2OCwgNSwgMjEzLCAxNTIsIDY4LCA1LCAyNTMsIDIzNSwgNjgsIDExNiwgNSwgMTQ3LCAxOTEsIDY4LCAxMTYsIDUsIDE0NywgCi0gICAgMjA1LCA2OCwgMTE2LCA1LCAxNDcsIDIxMiwgNjUsIDY4LCAxMTYsIDUsIDE0NywgMTYyLCA2OCwgMSwgMjQyLCAxMzIsIAotICAgIDIwNiwgNjgsIDIxLCAyMTAsIDg2LCA2OCwgMjEsIDExMCwgNjgsIDIxLCAxMDUsIDY4LCAyMSwgMTU4LCA2OCwgMjEsIDE2MSwgCi0gICAgNjgsIDIxLCAxODksIDY4LCAyMSwgMTk0LCA2OCwgMjEsIDE5OCwgNjgsIDIxLCAxOTUsIDY4LCAyMSwgMjAwLCA2OCwgNSwgCi0gICAgMjMyLCAxOTIsIDIyMSwgMTcyLCA2OCwgNSwgMjIxLCAxNzIsIDY4LCAxNiwgMjMyLCAxNTMsIDY4LCAxNiwgMjQ5LCAyMTMsIAotICAgIDY4LCAxNiwgMjU0LCAyMjAsIDY4LCAxNiwgMjQzLCA0OCwgNjgsIDEsIDIyMCwgMTAyLCA2OCwgMSwgMjE4LCAyMjMsIDY4LCAKLSAgICAxLCAxNDksIDE1MywgNjgsIDEsIDE0OSwgMjIyLCAxODAsIDY4LCAxLCAxNDksIDE1NiwgNjgsIDEsIDE0OSwgMjMyLCAxODUsIAotICAgIDY4LCAyNSwgNSwgMTQ5LCAxNTMsIDY4LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgNjgsIDI1LCA1LCAxNDksIDE1NiwgNjgsIAotICAgIDI1LCA1LCAxNDksIDIzMiwgMTg1LCA2OCwgMSwgMjMwLCAxNTEsIDIyOSwgNzcsIDY4LCAxLCAyMzAsIDE1MSwgMjM1LCAKLSAgICAxMTQsIDY4LCAxLCAyMzAsIDE1MSwgMjUyLCAxMTEsIDY4LCAxLCAyMzAsIDE1MSwgMjUyLCAxMDYsIDY4LCAxMTYsIDUsIAotICAgIDIzMCwgMTUxLCAxNDcsIDE5NywgNjgsIDExNiwgNSwgMjMwLCAxNTEsIDE0NywgMTg0LCA2OCwgMTE2LCA1LCAyMzAsIDE1MSwgCi0gICAgMTQ3LCAyMzMsIDEzNSwgNjgsIDEsIDIyMCwgMTA4LCAyMzQsIDIxMywgMjIwLCAxMDIsIDY4LCAyNSwgNSwgMjIwLCAxMDgsIAotICAgIDIzNCwgMjEzLCAyNDUsIDU1LCA2OCwgMTM4LCAxNjQsIDIyMCwgMTA4LCAyMzQsIDIxMywgMjQxLCAyNDcsIDY4LCAxMzgsIAotICAgIDE2NCwgMjIwLCAxMDgsIDIzNCwgMjEzLCAyMzQsIDE4MywgMjI1LCAxMjEsIDY4LCAxLCAyMTIsIDcsIDIyNCwgMTA4LCAKLSAgICAyMzQsIDIxMywgMjE2LCAyMDgsIDY4LCAxLCAyMTIsIDcsIDIyNCwgMTA4LCAyMzQsIDIxMywgMjI0LCAxMTQsIDY4LCAyNSwgCi0gICAgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDI0NSwgNTUsIDY4LCAyNSwgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAKLSAgICAyMTMsIDIxNCwgMjE0LCA2OCwgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDIxNiwgMjksIDY4LCA1LCAyMTIsIDcsIAotICAgIDIyNCwgMTA4LCAyMzQsIDIxMywgMjE2LCAyOCwgNjgsIDUsIDIxMiwgNywgMjI0LCAxMDgsIDIzNCwgMjEzLCAyMTYsIDI3LCAKLSAgICA2OCwgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDIxNiwgMjYsIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTA4LCAyMzQsIAotICAgIDIxMywgMjE2LCAyNSwgNjgsIDEsIDI0NSwgMjE5LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDIyOCwgMTEwLCA2OCwgMSwgMjQ1LCAKLSAgICAyMTksIDIyNCwgMTA4LCAyMzQsIDIxMywgMjEwLCAxNzYsIDY4LCAxLCAyNDUsIDIxOSwgMjI0LCAxMDgsIDIzNCwgMjEzLCAKLSAgICAyNDIsIDIxNywgNjgsIDI1LCA1LCAyNDMsIDU5LCAyMzQsIDIxMywgNzMsIDY4LCAyNSwgNSwgMjM0LCAxODgsIDIyNiwgCi0gICAgMjM0LCA2OCwgMjUsIDUsIDIzNCwgMTg4LCA3MCwgNjgsIDI1LCA1LCAyMzQsIDE4OCwgMjQ1LCAyMDksIDY4LCAxLCAyMjAsIAotICAgIDg2LCAxNzYsIDY4LCAxLCAyMjAsIDg2LCAyMzQsIDEzMiwgNjgsIDEsIDIyMCwgODYsIDI0MywgMTM1LCA2OCwgMSwgMjIwLCAKLSAgICA4NiwgMjUxLCAzMywgNjgsIDEsIDIyMCwgODYsIDIxMCwgMTE2LCA2OCwgMSwgMjIwLCA4NiwgMjI3LCAxNjUsIDY4LCAxLCAKLSAgICAyMjAsIDg2LCAyNDgsIDIyMSwgNjgsIDEsIDIyMCwgODYsIDE5NywgNjgsIDEsIDIyMCwgODYsIDIyNSwgMTQ3LCA2OCwgMSwgCi0gICAgMjIwLCA4NiwgMjQ0LCAxOTYsIDY4LCAxLCAyMjAsIDg2LCAyNTIsIDE5MSwgNjgsIDEsIDIyMCwgODYsIDIxNiwgMjA4LCAKLSAgICA2OCwgMSwgMjIwLCA4NiwgMTYyLCA2OCwgMTE2LCA1LCAyMjAsIDg2LCAxNDcsIDIxMiwgNjUsIDY4LCAyNSwgNSwgMjIwLCAKLSAgICA4NiwgMjU1LCA3MywgNjgsIDI1LCA1LCAyMjAsIDg2LCA3NSwgNjgsIDI1LCA1LCAyMjAsIDg2LCAxNjAsIDQ4LCA2OCwgMjUsIAotICAgIDUsIDIyMCwgODYsIDQwLCAyMTEsIDExNywgNjgsIDUsIDIyMCwgODYsIDIxNiwgMjgsIDY4LCA1LCAyMjAsIDg2LCAyMTYsIAotICAgIDI3LCA2OCwgNSwgMjIwLCA4NiwgMjE2LCAyNSwgNjgsIDUsIDIyMCwgODYsIDIxNiwgMjQsIDY4LCA1LCAyMjAsIDg2LCAKLSAgICAyNDksIDE1MiwgMjE2LCAyOCwgNjgsIDUsIDIyMCwgODYsIDI0OSwgMTUyLCAyMTYsIDI3LCA2OCwgNSwgMjIwLCA4NiwgCi0gICAgMjQ5LCAxNTIsIDI0NSwgMTUzLCAyMTYsIDMwLCA2OCwgMSwgMjIyLCAxMjgsIDIyNiwgNjMsIDI0NCwgMTk2LCA2OCwgNSwgCi0gICAgMjIyLCAxMjgsIDIyNiwgNjMsIDIxNiwgMjUsIDY4LCAyMjAsIDg2LCAyMSwgMjEwLCA4NiwgNjgsIDIyMCwgODYsIDIxLCAKLSAgICAxMTAsIDY4LCAyMjAsIDg2LCAyMSwgMTA1LCA2OCwgMjIwLCA4NiwgMjEsIDE1OCwgNjgsIDIyMCwgODYsIDIxLCAxNjEsIAotICAgIDY4LCAyMjAsIDg2LCAyMSwgMTg5LCA2OCwgMjIwLCA4NiwgMjEsIDE5NCwgNjgsIDIyMCwgODYsIDIxLCAxOTgsIDY4LCAKLSAgICAyMjAsIDg2LCAyMSwgMTk1LCA2OCwgMjIwLCA4NiwgMjEsIDIwMCwgNjgsIDUsIDIzNCwgMTI2LCAyMTYsIDI5LCA2OCwgNSwgCi0gICAgMjM0LCAxMjYsIDIxNiwgMjcsIDY4LCAyNSwgNSwgMjU0LCAxOTAsIDYxLCA2OCwgMjUsIDUsIDI1NCwgMTkwLCAyNTQsIAotICAgIDIwMSwgNjgsIDE2LCAyMjAsIDg2LCAxMTAsIDY4LCAxNiwgMjIwLCA4NiwgMjQ1LCAzMCwgOTgsIDYsIDEsIDI1NCwgMTIzLCAKLSAgICA5OCwgNiwgMSwgMjUyLCAxNTIsIDk4LCA2LCAxLCAyNDMsIDEwNiwgOTgsIDYsIDEsIDI0NywgMTI4LCA5OCwgNiwgMSwgCi0gICAgMjQ1LCAxNTAsIDk4LCA2LCAxLCAyMTMsIDE2MCwgOTgsIDYsIDEsIDIxMCwgODksIDk4LCA2LCAxLCAyMTcsIDYwLCA5OCwgCi0gICAgNiwgMSwgMjM1LCAyNTUsIDk4LCA2LCAxLCAyMzQsIDIzNCwgOTgsIDYsIDEsIDIzMywgODEsIDk4LCA2LCAxLCAyMzEsIAotICAgIDE4NSwgOTgsIDYsIDEsIDIyOSwgMTk1LCA5OCwgNiwgMSwgMjI2LCAxOTYsIDk4LCA2LCAxLCAyMjYsIDE3LCA5OCwgNiwgMSwgCi0gICAgMjEwLCA3OCwgOTgsIDYsIDEsIDIyMywgMTcxLCA5OCwgNiwgMSwgMjIxLCAyNDMsIDk4LCA2LCAxLCAyMTcsIDUwLCA5OCwgCi0gICAgNiwgMSwgMjE0LCAxOTAsIDk4LCA2LCAxLCAyMjUsIDE0MCwgOTgsIDYsIDEsIDIzNCwgMTIxLCA5OCwgNiwgMSwgMjQyLCAKLSAgICAyNDEsIDk4LCA2LCAxLCAyMjQsIDczLCA5OCwgNiwgMSwgMjIwLCAyMCwgOTgsIDYsIDEsIDI1MCwgOTcsIDk4LCA2LCAxLCAKLSAgICAyNTEsIDcsIDk4LCA2LCAxLCAyMzUsIDEwMCwgOTgsIDYsIDEsIDI1MCwgNDAsIDk4LCA2LCAxLCAyNTAsIDE0MywgOTgsIDYsIAotICAgIDEsIDIxMSwgMTYzLCA5OCwgNiwgMSwgMjM1LCAxMTEsIDk4LCA2LCAxLCAyNDIsIDQzLCA5OCwgNiwgMSwgMjQxLCAyMzgsIAotICAgIDk4LCA2LCAxLCAyNDEsIDE3NSwgOTgsIDYsIDEsIDIxMiwgMjIsIDk4LCA2LCAxLCAyNDIsIDQsIDk4LCA2LCAxLCAyNDEsIAotICAgIDY1LCA5OCwgNiwgMSwgMjEwLCAyNDYsIDk4LCA2LCAxLCAyNTQsIDIzMiwgOTgsIDEsIDI1NCwgMTIzLCA5OCwgMSwgMjUyLCAKLSAgICAxNTIsIDk4LCAxLCAyNDMsIDEwNiwgOTgsIDEsIDI0NywgMTI4LCA5OCwgMSwgMjQ1LCAxNTAsIDk4LCAxLCAyMTMsIDE2MCwgCi0gICAgOTgsIDEsIDIxMCwgODksIDk4LCAxLCAyMTcsIDYwLCA5OCwgMSwgMjM1LCAyNTUsIDk4LCAxLCAyMzQsIDIzNCwgOTgsIDEsIAotICAgIDIzMywgODEsIDk4LCAxLCAyMzEsIDE4NSwgOTgsIDEsIDIyOSwgMTk1LCA5OCwgMSwgMjI2LCAxOTYsIDk4LCAxLCAyMjYsIAotICAgIDE3LCA5OCwgMSwgMjEwLCA3OCwgOTgsIDEsIDIyMywgMTcxLCA5OCwgMSwgMjIxLCAyNDMsIDk4LCAxLCAyMTcsIDUwLCA5OCwgCi0gICAgMSwgMjE0LCAxOTAsIDk4LCAxLCAyMjUsIDE0MCwgOTgsIDEsIDIzNCwgMTIxLCA5OCwgMSwgMjQyLCAyNDEsIDk4LCAxLCAKLSAgICAyMjQsIDczLCA5OCwgMSwgMjIwLCAyMCwgOTgsIDEsIDI1MCwgOTcsIDk4LCAxLCAyNTEsIDcsIDk4LCAxLCAyMzUsIDEwMCwgCi0gICAgOTgsIDEsIDI1MCwgNDAsIDk4LCAxLCAyNTAsIDE0MywgOTgsIDEsIDIxMSwgMTYzLCA5OCwgMSwgMjM1LCAxMTEsIDk4LCAxLCAKLSAgICAyNDIsIDQzLCA5OCwgMSwgMjQxLCAyMzgsIDk4LCAxLCAyNDEsIDE3NSwgOTgsIDEsIDIxMiwgMjIsIDk4LCAxLCAyNDIsIDQsIAotICAgIDk4LCAxLCAyNDEsIDY1LCA5OCwgMSwgMjQ0LCAxMjEsIDk4LCAxLCAyMTAsIDI0NiwgOTgsIDEsIDI0NSwgMTY1LCA5OCwgMSwgCi0gICAgMjE1LCA5NCwgMjQzLCAxMDYsIDk4LCAxLCAyNTQsIDE5NiwgOTgsIDIyNiwgMTUsIDIyMCwgMTM3LCA1OCwgMSwgOTgsIAotICAgIDIyOSwgMTk1LCA5OCwgMSwgMjU0LCAyMzIsIDk4LCAxLCAyNDIsIDMsIDUwLCA5OCwgMSwgMjMzLCAxMjcsIDUwLCAyNCwgCi0gICAgMTAwLCAyMzQsIDU4LCAyNCwgMTAwLCAyMTgsIDIxNSwgMjQsIDEwMCwgMjI4LCAyMjYsIDI0LCAxMDAsIDIxNiwgMTAxLCAKLSAgICAyNCwgMTAwLCAyMTgsIDIwNCwgMjQsIDEwMCwgMjIzLCAyNiwgMjQsIDEwMCwgMjMwLCAyMTcsIDI0LCAxMDAsIDIyNSwgOTUsIAotICAgIDI0LCAxMDAsIDIxOCwgMjEyLCAyNCwgMTAwLCAyMTksIDE0OCwgMjQsIDEwMCwgMjE4LCAyMDksIDI0LCAxMDAsIDIzNiwgCi0gICAgNTYsIDI0LCAxMDAsIDI1MCwgNDYsIDI0LCAxMDAsIDIxOCwgMjE5LCAyNCwgMTAwLCAyNTAsIDEwNiwgMjQsIDEwMCwgMjM0LCAKLSAgICAxMTAsIDI0LCAxMDAsIDIxNiwgMTczLCAyNCwgMTAwLCAyMjUsIDEzMSwgMjQsIDEwMCwgMjQxLCAxNzIsIDI0LCAxMDAsIAotICAgIDIyOCwgMjIyLCAyNCwgMTAwLCAyMTgsIDIxMywgMjQsIDEwMCwgMjI4LCAyMTYsIDI0LCAxMDAsIDIyOCwgMjIwLCAyNCwgCi0gICAgMTAwLCAyMTYsIDk4LCAyNCwgMTAwLCAyMjMsIDE0LCAyNCwgMTAwLCAyMTgsIDIxMSwgMjQsIDEwMCwgMjIzLCAyNCwgMjQsIAotICAgIDEwMCwgMjM0LCAyMTgsIDI0LCAxMDAsIDIzMCwgMjEwLCAyNCwgMTAwLCAyMzQsIDIyMSwgMjQsIDEwMCwgMjI1LCA5MCwgCi0gICAgMjQsIDEwMCwgMjI1LCA4OCwgMjQsIDEwMCwgMjI1LCA3NiwgMjQsIDEwMCwgMjI1LCA4NCwgMjQsIDEwMCwgMjI1LCA4MiwgCi0gICAgMjQsIDEwMCwgMjI1LCA3OSwgMjQsIDEwMCwgMjI1LCA4MSwgMjQsIDEwMCwgMjI1LCA3OCwgMjQsIDEwMCwgMjI1LCA4MywgCi0gICAgMjQsIDEwMCwgMjI1LCA5MywgMjQsIDEwMCwgMjI1LCA5NCwgMjQsIDEwMCwgMjI1LCA3NywgMjQsIDEwMCwgMjI1LCA4NywgCi0gICAgMjQsIDEwMCwgMjM0LCAyMTksIDI0LCAxMDAsIDIzNCwgMjE3LCAyNCwgMTAwLCAyMTksIDE0MSwgMjQsIDEwMCwgMjE5LCAKLSAgICAxMzksIDI0LCAxMDAsIDIxOSwgMTMxLCAyNCwgMTAwLCAyMTksIDEzNCwgMjQsIDEwMCwgMjE5LCAxNDAsIDI0LCAxMDAsIAotICAgIDIxOSwgMTM2LCAyNCwgMTAwLCAyMTksIDEzNSwgMjQsIDEwMCwgMjE5LCAxMzMsIDI0LCAxMDAsIDIxOSwgMTQ0LCAyNCwgCi0gICAgMTAwLCAyMTksIDE0NiwgMjQsIDEwMCwgMjE5LCAxNDcsIDI0LCAxMDAsIDIxOSwgMTQyLCAyNCwgMTAwLCAyMTksIDEzMiwgCi0gICAgMjQsIDEwMCwgMjE5LCAxMzcsIDI0LCAxMDAsIDIxOSwgMTQ1LCAyNCwgMTAwLCAyNTAsIDkwLCAyNCwgMTAwLCAyNTAsIDg4LCAKLSAgICAyNCwgMTAwLCAyNTAsIDE2OCwgMjQsIDEwMCwgMjUwLCAxNjYsIDI0LCAxMDAsIDIyNiwgMzIsIDI0LCAxMDAsIDIzNiwgNTEsIAotICAgIDI0LCAxMDAsIDIzNiwgNDIsIDI0LCAxMDAsIDIzNiwgNTAsIDI0LCAxMDAsIDIzNiwgNDcsIDI0LCAxMDAsIDIzNiwgNDUsIAotICAgIDI0LCAxMDAsIDIzNiwgNDksIDI0LCAxMDAsIDIxOCwgMjE2LCAyNCwgMTAwLCAyMzYsIDU0LCAyNCwgMTAwLCAyMzYsIDU1LCAKLSAgICAyNCwgMTAwLCAyMzYsIDQzLCAyNCwgMTAwLCAyMzYsIDQ4LCAyNCwgMTAwLCAyMTEsIDI2LCAyNCwgMTAwLCAyNTAsIDQ1LCAKLSAgICAyNCwgMTAwLCAyNTAsIDkxLCAyNCwgMTAwLCAyNTAsIDg5LCAyNCwgMTAwLCAyNTAsIDE2OSwgMjQsIDEwMCwgMjUwLCAxNjcsIAotICAgIDI0LCAxMDAsIDI1MCwgMTA0LCAyNCwgMTAwLCAyNTAsIDEwNSwgMjQsIDEwMCwgMjUwLCA5MiwgMjQsIDEwMCwgMjUwLCAKLSAgICAxNzAsIDI0LCAxMDAsIDIyNSwgMTI5LCAyNCwgMTAwLCAyMzQsIDIyMCwgMjQsIDEwMCwgMjE4LCAyMTcsIDI0LCAxMDAsIAotICAgIDIxMSwgMzIsIDI0LCAxMDAsIDIzNCwgNDksIDI0LCAxMDAsIDIyOCwgMjE4LCAyNCwgMTAwLCAyMjgsIDIyNCwgMjQsIDEwMCwgCi0gICAgMjI4LCAyMjMsIDI0LCAxMDAsIDIxNiwgOTUsIDI0LCAxMDAsIDI0NCwgMTAzLCAyNCwgMTQzLCAyNDQsIDEwMywgMjQsIAotICAgIDE0MywgNjEsIDI0LCAxNDMsIDI1NCwgMjQzLCAyNCwgMTQzLCAxOTEsIDI0LCAxNDMsIDIxMSwgOTIsIDI0LCAxNDMsIDI0NSwgCi0gICAgMTE3LCAyNCwgMTQzLCA3NSwgMjQsIDE0MywgMjExLCAzNiwgMjQsIDE0MywgMjExLCA0NywgMjQsIDE0MywgNzYsIDI0LCAKLSAgICAxNDMsIDIxMiwgNjUsIDI0LCAxNDMsIDIxMiwgNjIsIDI0LCAxNDMsIDIyNiwgMjM0LCAyNCwgMTQzLCAyMTAsIDI0NCwgMjQsIAotICAgIDE0MywgNzAsIDI0LCAxNDMsIDIxMiwgMTEsIDI0LCAxNDMsIDIxMiwgMjIsIDI0LCAxNDMsIDIxMSwgMjUwLCAyNCwgMTQzLCAKLSAgICAyMTAsIDIxMiwgMjQsIDE0MywgMjQ1LCA1NSwgMjQsIDE0MywgMjExLCA4LCAyNCwgMTQzLCA3MywgMjQsIDE0MywgMjU1LCAKLSAgICAxNTcsIDI0LCAxNDMsIDI1NSwgMTU2LCAyNCwgMTQzLCAyMTEsIDEwNiwgMjQsIDE0MywgMjExLCAxMDQsIDI0LCAxNDMsIAotICAgIDI0NSwgMTE1LCAyNCwgMTQzLCAyNDUsIDExNCwgMjQsIDE0MywgMjQ1LCAxMTYsIDI0LCAxNDMsIDIxMSwgMzUsIDI0LCAKLSAgICAxNDMsIDIxMSwgMzQsIDI0LCAxNDMsIDIyNywgODQsIDI0LCAxNDMsIDIyNywgODUsIDI0LCAxNDMsIDIyNywgNzgsIDI0LCAKLSAgICAxNDMsIDIyNywgODMsIDI0LCAxNDMsIDIyNywgODEsIDI0LCAxNDMsIDIxMCwgMjM4LCAyNCwgMTQzLCAyMTAsIDIzNywgMjQsIAotICAgIDE0MywgMjEwLCAyMzYsIDI0LCAxNDMsIDIxMCwgMjM5LCAyNCwgMTQzLCAyMTAsIDI0MCwgMjQsIDE0MywgMjE1LCAzMCwgCi0gICAgMjQsIDE0MywgMjE1LCAyOSwgMjQsIDE0MywgMjE1LCAyNywgMjQsIDE0MywgMjE1LCAyNCwgMjQsIDE0MywgMjE1LCAyNSwgCi0gICAgMjQsIDE0MywgMjEwLCAyMTEsIDI0LCAxNDMsIDIxMCwgMjA4LCAyNCwgMTQzLCAyMTAsIDIwOSwgMjQsIDE0MywgMjEwLCAKLSAgICAyMDMsIDI0LCAxNDMsIDIxMCwgMjA0LCAyNCwgMTQzLCAyMTAsIDIwNSwgMjQsIDE0MywgMjEwLCAyMDcsIDI0LCAxNDMsIAotICAgIDI0NSwgNDksIDI0LCAxNDMsIDI0NSwgNTEsIDI0LCAxNDMsIDIxMSwgNywgMjQsIDE0MywgMjQwLCAxNTMsIDI0LCAxNDMsIAotICAgIDI0MCwgMTQ1LCAyNCwgMTQzLCAyNDAsIDE0OCwgMjQsIDE0MywgMjQwLCAxNDYsIDI0LCAxNDMsIDI0MCwgMTUwLCAyNCwgCi0gICAgMTQzLCAyNDAsIDE1MiwgMjQsIDE0MywgMjU0LCAzNCwgMjQsIDE0MywgMjU0LCAzMSwgMjQsIDE0MywgMjU0LCAyOSwgMjQsIAotICAgIDE0MywgMjU0LCAzMCwgMjQsIDE0MywgMjE4LCAyMjAsIDI0LCAxNDMsIDI1NSwgMTU4LCAyNCwgMTQzLCAyMTEsIDEwNSwgCi0gICAgMjQsIDE0MywgMjExLCAzMywgMjQsIDE0MywgMjI3LCA4MCwgMjQsIDE0MywgMjI3LCA3OSwgMjQsIDkwLCAyMzQsIDU4LCAKLSAgICAyNCwgOTAsIDIxOCwgMjE1LCAyNCwgOTAsIDIzNCwgNTEsIDI0LCA5MCwgMjI4LCAyMjYsIDI0LCA5MCwgMjI4LCAyMjQsIAotICAgIDI0LCA5MCwgMjI4LCAyMjMsIDI0LCA5MCwgMjE2LCAxMDEsIDI0LCA5MCwgMjIzLCAyNiwgMjQsIDkwLCAyMjMsIDIxLCAyNCwgCi0gICAgOTAsIDIyMywgMTgsIDI0LCA5MCwgMjIzLCAxMSwgMjQsIDkwLCAyMjMsIDYsIDI0LCA5MCwgMjIzLCAxLCAyNCwgOTAsIAotICAgIDIyMywgMTIsIDI0LCA5MCwgMjIzLCAyNCwgMjQsIDkwLCAyMzAsIDIxNywgMjQsIDkwLCAyMjUsIDk1LCAyNCwgOTAsIDIyNSwgCi0gICAgODQsIDI0LCA5MCwgMjE5LCAxNDgsIDI0LCA5MCwgMjE4LCAyMDksIDI0LCA5MCwgMjM2LCA1NiwgMjQsIDkwLCAyNTAsIDQ2LCAKLSAgICAyNCwgOTAsIDI1MCwgMTA2LCAyNCwgOTAsIDIzNCwgMTEwLCAyNCwgOTAsIDIxNiwgMTczLCAyNCwgOTAsIDIyNSwgMTMxLCAKLSAgICAyNCwgOTAsIDI0MSwgMTcyLCAyNCwgOTAsIDIzNCwgNTIsIDI0LCA5MCwgMjM0LCA1MCwgMjQsIDkwLCAyMjgsIDIyMiwgMjQsIAotICAgIDkwLCAyMjgsIDIxNiwgMjQsIDkwLCAyMjgsIDIxOCwgMjQsIDkwLCAyMjgsIDIyMSwgMjQsIDkwLCAyMjgsIDIxNywgMjQsIAotICAgIDkwLCAyMTYsIDk4LCAyNCwgOTAsIDIxNiwgOTUsIDI0LCA5MCwgMjIzLCAxOSwgMjQsIDkwLCAyMjMsIDE0LCAyNCwgOTAsIAotICAgIDIyMywgMCwgMjQsIDkwLCAyMjIsIDI1NSwgMjQsIDkwLCAyMTgsIDIxMSwgMjQsIDkwLCAyMjMsIDE2LCAyNCwgOTAsIDIyMywgCi0gICAgMTUsIDI0LCA5MCwgMjIzLCA4LCAyNCwgOTAsIDIyMywgMTAsIDI0LCA5MCwgMjIzLCAyMywgMjQsIDkwLCAyMjMsIDMsIDI0LCAKLSAgICA5MCwgMjIzLCAxMywgMjQsIDkwLCAyMjMsIDIyLCAyNCwgOTAsIDIyMiwgMjU0LCAyNCwgOTAsIDIzMCwgMjEzLCAyNCwgOTAsIAotICAgIDIzMCwgMjA4LCAyNCwgOTAsIDIzMCwgMjEwLCAyNCwgOTAsIDIzMCwgMjA3LCAyNCwgOTAsIDIzMCwgMjA1LCAyNCwgOTAsIAotICAgIDIzMCwgMjExLCAyNCwgOTAsIDIzMCwgMjE2LCAyNCwgOTAsIDIzMCwgMjE0LCAyNCwgOTAsIDIzNCwgMjIxLCAyNCwgOTAsIAotICAgIDIyNSwgODYsIDI0LCA5MCwgMjI1LCA4NywgMjQsIDkwLCAyMjUsIDkyLCAyNCwgOTAsIDIzNCwgMjE5LCAyNCwgOTAsIDIxOSwgCi0gICAgMTQxLCAyNCwgOTAsIDIxOSwgMTMxLCAyNCwgOTAsIDIxOSwgMTM0LCAyNCwgOTAsIDIxOSwgMTM2LCAyNCwgOTAsIDIyNiwgCi0gICAgMzIsIDI0LCA5MCwgMjM2LCA1MSwgMjQsIDkwLCAyMzYsIDQ0LCAyNCwgOTAsIDIxOCwgMjE2LCAyNCwgOTAsIDIzNiwgNTIsIAotICAgIDI0LCA5MCwgMjExLCAyNiwgMjQsIDkwLCAyMTEsIDIyLCAyNCwgOTAsIDIxMSwgMjMsIDI0LCA5MCwgMjI1LCAxMjksIDI0LCAKLSAgICA5MCwgMjM0LCAyMjAsIDI0LCA5MCwgMjQxLCAxNzAsIDI0LCA5MCwgMjQxLCAxNjgsIDI0LCA5MCwgMjQxLCAxNzEsIDI0LCAKLSAgICA5MCwgMjQxLCAxNjksIDI0LCA5MCwgMjExLCAzMiwgMjQsIDkwLCAyMzQsIDU0LCAyNCwgOTAsIDIzNCwgNTMsIDI0LCA5MCwgCi0gICAgMjM0LCA1NywgMjQsIDkwLCAyMzQsIDU1LCAyNCwgOTAsIDIzNCwgNTYsIDI0LCA5MCwgMjE4LCAyMTMsIDI5LCAzLCAxNjIsIAotICAgIDI5LCAzLCAyNDAsIDIyMiwgMjksIDMsIDI0MSwgMTgwLCAyOSwgMywgMjQyLCA0NiwgMjksIDMsIDI0MSwgMjIwLCAyOSwgMywgCi0gICAgMjQxLCAyMzgsIDI5LCAzLCAyNDEsIDY4LCAyOSwgMywgMjQxLCA2NywgMjksIDMsIDIzMywgMTM1LCAyOSwgMywgMjMyLCAKLSAgICA5OCwgMjksIDMsIDIzMiwgMjQxLCAyOSwgMywgMjMzLCAxMzQsIDI5LCAzLCAyMzMsIDUwLCAyOSwgMywgMjMzLCA1OCwgMjksIAotICAgIDMsIDIzMiwgMTU2LCAyOSwgMywgMjMyLCA3MCwgMjksIDMsIDI0MSwgMTg5LCAyOSwgMywgMjQxLCAxODMsIDI5LCAzLCAKLSAgICAyNDEsIDE4NSwgMjksIDMsIDI0MSwgMTg4LCAyOSwgMywgMjQxLCAxODYsIDI5LCAzLCAyNDEsIDE4NywgMjksIDMsIDI0MSwgCi0gICAgMTg0LCAyOSwgMywgMjQxLCAxODIsIDI5LCAzLCAxODQsIDI5LCAzLCAyMzAsIDEwMiwgMjksIDMsIDIzMCwgMjMwLCAyOSwgCi0gICAgMywgMjMxLCAyMzcsIDI5LCAzLCAyMzEsIDgwLCAyOSwgMywgMjMxLCA5MSwgMjksIDMsIDIzMCwgMTYxLCAyOSwgMywgMjMwLCAKLSAgICA0MiwgMjksIDMsIDIxNywgMTYzLCAyOSwgMywgMjE3LCAxNTcsIDI5LCAzLCAyMTcsIDE1OSwgMjksIDMsIDIxNywgMTYyLCAKLSAgICAyOSwgMywgMjE3LCAxNjAsIDI5LCAzLCAyMTcsIDE2MSwgMjksIDMsIDIxNywgMTU4LCAyOSwgMywgMjE3LCAxNTYsIDI5LCAKLSAgICAzLCAyMDUsIDI5LCAzLCAyMjIsIDE0MCwgMjksIDMsIDIyMywgMzUsIDI5LCAzLCAyMjMsIDE4NCwgMjksIDMsIDIyMywgCi0gICAgMTA4LCAyOSwgMywgMjIzLCAxMjgsIDI5LCAzLCAyMjIsIDIxMSwgMjksIDMsIDIyMiwgMTA5LCAyOSwgMywgMjA2LCAyOSwgCi0gICAgMywgMjE4LCA4MywgMjksIDMsIDIxOSwgMTkxLCAyOSwgMywgMjIyLCAzMSwgMjksIDMsIDIyMSwgMTcwLCAyOSwgMywgMjIxLCAKLSAgICAxODEsIDI5LCAzLCAyMTksIDU4LCAyOSwgMywgMjE3LCAyNTMsIDI5LCAzLCAyMjAsIDEwMiwgMjksIDMsIDIxOSwgMjI1LCAKLSAgICAyOSwgMywgMjIwLCAzMiwgMjksIDMsIDIyMCwgOTgsIDI5LCAzLCAyMjAsIDYxLCAyOSwgMywgMjIwLCA2MywgMjksIDMsIAotICAgIDIyMCwgNywgMjksIDMsIDIxOSwgMjA4LCAyOSwgMywgMjI0LCA4OCwgMjksIDMsIDIyNCwgMzAsIDI5LCAzLCAyMjQsIDUzLCAKLSAgICAyOSwgMywgMjI0LCA4NywgMjksIDMsIDIyNCwgNjgsIDI5LCAzLCAyMjQsIDY5LCAyOSwgMywgMjI0LCA0MiwgMjksIDMsIAotICAgIDIyNCwgNDEsIDI5LCAzLCAyMjMsIDI0MiwgMjksIDMsIDIyMywgMjM4LCAyOSwgMywgMjIzLCAyNDEsIDI5LCAzLCAyMjMsIAotICAgIDIzOSwgMjksIDMsIDIyMywgMjQwLCAyOSwgMywgMjI0LCA2NSwgMjksIDMsIDIyNCwgNTksIDI5LCAzLCAyMjQsIDYxLCAyOSwgCi0gICAgMywgMjI0LCA2NCwgMjksIDMsIDIyNCwgNjIsIDI5LCAzLCAyMjQsIDYzLCAyOSwgMywgMjI0LCA2MCwgMjksIDMsIDIyNCwgCi0gICAgNTgsIDI5LCAzLCAyMjQsIDU0LCAyOSwgMywgMjI0LCA1NywgMjksIDMsIDIyNCwgNTUsIDI5LCAzLCAyMjQsIDU2LCAyOSwgCi0gICAgMywgMjUyLCAxOTEsIDI5LCAzLCAyNTEsIDEyNSwgMjksIDMsIDI1MiwgNiwgMjksIDMsIDI1MiwgMTg5LCAyOSwgMywgMjUyLCAKLSAgICA2NiwgMjksIDMsIDI1MiwgNzUsIDI5LCAzLCAyNTEsIDIwNSwgMjksIDMsIDI1MSwgODMsIDI5LCAzLCAyMTQsIDI3LCAyOSwgCi0gICAgMywgMjEyLCAxMTYsIDI5LCAzLCAyMTMsIDE3NiwgMjksIDMsIDIxNCwgMjYsIDI5LCAzLCAyMTMsIDI1MCwgMjksIDMsIAotICAgIDIxMywgMjU1LCAyOSwgMywgMjEzLCAxMzgsIDI5LCAzLCAyMTIsIDEwNywgMjksIDMsIDIxNywgMTA1LCAyOSwgMywgMjE1LCAKLSAgICAxMTgsIDI5LCAzLCAyMTYsIDExNywgMjksIDMsIDIxNywgMTAxLCAyOSwgMywgMjE3LCAxMSwgMjksIDMsIDIxNywgMjIsIAotICAgIDI5LCAzLCAxMTEsIDI5LCAzLCAyMTUsIDgwLCAyOSwgMywgMjUxLCAzMywgMjksIDMsIDI0OSwgMTEyLCAyOSwgMywgMjUwLCAKLSAgICA1MSwgMjksIDMsIDI1MSwgMzIsIDI5LCAzLCAyNTAsIDE4MiwgMjksIDMsIDI1MCwgMTkwLCAyOSwgMywgMjQ5LCAyMzgsIAotICAgIDI5LCAzLCAyNDksIDgxLCAyOSwgMywgMjExLCAxNjUsIDI5LCAzLCAyMTEsIDE0MSwgMjksIDMsIDIxMSwgMTU3LCAyOSwgMywgCi0gICAgMjExLCAxNjQsIDI5LCAzLCAyMTEsIDE2MSwgMjksIDMsIDIxMSwgMTYyLCAyOSwgMywgMjExLCAxNDgsIDI5LCAzLCAyMTEsIAotICAgIDE0NywgMjksIDMsIDIxMSwgMTM2LCAyOSwgMywgMjExLCAxMzIsIDI5LCAzLCAyMTEsIDEzNSwgMjksIDMsIDIxMSwgMTMzLCAKLSAgICAyOSwgMywgMjExLCAxMzQsIDI5LCAzLCAxOTcsIDI5LCAzLCAyMjcsIDIzNywgMjksIDMsIDIyOCwgMjMzLCAyOSwgMywgCi0gICAgMjI5LCAyMjUsIDI5LCAzLCAyMjksIDEwMywgMjksIDMsIDIyOSwgMTA3LCAyOSwgMywgMjI4LCA3NCwgMjksIDMsIDIyNywgCi0gICAgMTc0LCAyOSwgMywgMjI3LCAxNjUsIDI5LCAzLCAyMjcsIDEyOCwgMjksIDMsIDIyNywgMTQ4LCAyOSwgMywgMjI3LCAxNjQsIAotICAgIDI5LCAzLCAyMjcsIDE1NSwgMjksIDMsIDIyNywgMTU2LCAyOSwgMywgMjI3LCAxMzQsIDI5LCAzLCAyMjcsIDExOSwgMjksIAotICAgIDMsIDI0MiwgMTgwLCA2MSwgMjksIDMsIDI0MiwgMTgwLCA3MCwgMjksIDMsIDI0MiwgMTgwLCA3MywgMjksIDMsIDI0MiwgCi0gICAgMTgwLCAyNTUsIDczLCAyOSwgMywgMjQyLCAxODAsIDI0NSwgMjA5LCAyOSwgMywgMjQyLCAxODAsIDc1LCAyOSwgMywgMjQyLCAKLSAgICAxODAsIDc2LCAyOSwgMywgMjQyLCAxODAsIDIxMiwgNjUsIDI5LCAzLCAxNzYsIDI5LCAzLCAyMzMsIDIxNywgMjksIDMsIAotICAgIDIzNCwgOTIsIDI5LCAzLCAyMzUsIDEwLCAyOSwgMywgMjM0LCAxODEsIDI5LCAzLCAyMzQsIDE4MiwgMjksIDMsIDIzNCwgCi0gICAgMjgsIDI5LCAzLCAyMzQsIDI3LCAyOSwgMywgMjMzLCAxODIsIDI5LCAzLCAyMzMsIDE3NiwgMjksIDMsIDIzMywgMTgxLCAKLSAgICAyOSwgMywgMjMzLCAxNzcsIDI5LCAzLCAyMzMsIDE3OCwgMjksIDMsIDIzMywgMTcxLCAyOSwgMywgMjMzLCAxNjUsIDI5LCAKLSAgICAzLCAyMzMsIDE2NywgMjksIDMsIDIzMywgMTcwLCAyOSwgMywgMjMzLCAxNjgsIDI5LCAzLCAyMzMsIDE2OSwgMjksIDMsIAotICAgIDIzMywgMTY2LCAyOSwgMywgMjMzLCAxNjQsIDI5LCAzLCAyMzMsIDE2MCwgMjksIDMsIDIzMywgMTYzLCAyOSwgMywgMjMzLCAKLSAgICAxNjEsIDI5LCAzLCAyMzMsIDE2MiwgMjksIDMsIDIxMiwgNjUsIDI5LCAzLCAyMTEsIDE5NSwgMjksIDMsIDIxMSwgMjUwLCAKLSAgICAyOSwgMywgMjEyLCA2NCwgMjksIDMsIDIxMiwgMTcsIDI5LCAzLCAyMTIsIDIyLCAyOSwgMywgMjExLCAyMjcsIDI5LCAzLCAKLSAgICAyMTEsIDIyNiwgMjksIDMsIDIyNSwgMTM5LCA2MSwgMjksIDMsIDIyNSwgMTM5LCA3MCwgMjksIDMsIDIyNSwgMTM5LCA3MywgCi0gICAgMjksIDMsIDIyNSwgMTM5LCAyNTUsIDczLCAyOSwgMywgMjI1LCAxMzksIDI0NSwgMjA5LCAyOSwgMywgMjI1LCAxMzksIDc1LCAKLSAgICAyOSwgMywgMjI1LCAxMzksIDc2LCAyOSwgMywgMjEwLCAxMTYsIDI5LCAzLCAyMTAsIDEzLCAyOSwgMywgMjEwLCA0NCwgMjksIAotICAgIDMsIDIxMCwgMTE1LCAyOSwgMywgMjEwLCA5MiwgMjksIDMsIDIxMCwgOTQsIDI5LCAzLCAyMTAsIDIzLCAyOSwgMywgMjEwLCAKLSAgICAwLCAyOSwgMywgMjEwLCA4MiwgMjksIDMsIDIxMCwgNjIsIDI5LCAzLCAyMTAsIDY5LCAyOSwgMywgMjEwLCA4MSwgMjksIDMsIAotICAgIDIxMCwgNzMsIDI5LCAzLCAyMTAsIDc0LCAyOSwgMywgMjEwLCA2NywgMjksIDMsIDIxMCwgNTMsIDI5LCAzLCAxOTEsIDI5LCAKLSAgICAzLCAyMTAsIDIxMiwgMjksIDMsIDIxMSwgOCwgMjksIDMsIDIxMSwgMTAzLCAyOSwgMywgMjExLCA0NCwgMjksIDMsIDIxMSwgCi0gICAgNDcsIDI5LCAzLCAyMTAsIDI0NCwgMjksIDMsIDIxMCwgMjM1LCAyOSwgMywgMjQ4LCAyMjEsIDI5LCAzLCAyNDYsIDc4LCAKLSAgICAyOSwgMywgMjQ4LCAzLCAyOSwgMywgMjQ4LCAyMjAsIDI5LCAzLCAyNDgsIDc3LCAyOSwgMywgMjQ4LCA5MCwgMjksIDMsIAotICAgIDI0NywgMTQ1LCAyOSwgMywgMjQ2LCA0NywgMjksIDMsIDI0OCwgMTM1LCAyOSwgMywgMjQ4LCAxMDAsIDI5LCAzLCAyNDgsIAotICAgIDExMiwgMjksIDMsIDI0OCwgMTM0LCAyOSwgMywgMjQ4LCAxMjIsIDI5LCAzLCAyNDgsIDEyMywgMjksIDMsIDI0OCwgMTA1LCAKLSAgICAyOSwgMywgMjQ4LCA5MSwgMjksIDMsIDIzNSwgMTQxLCAyOSwgMywgMjM1LCA1MSwgMjksIDMsIDIzNSwgMTA4LCAyOSwgMywgCi0gICAgMjM1LCAxNDAsIDI5LCAzLCAyMzUsIDEyNCwgMjksIDMsIDIzNSwgMTI2LCAyOSwgMywgMjM1LCA2OCwgMjksIDMsIDIzNSwgCi0gICAgMzEsIDI5LCAzLCAyNDMsIDEzNSwgMjksIDMsIDI0MiwgMTEzLCAyOSwgMywgMjQyLCAyMTQsIDI5LCAzLCAyNDMsIDEzMiwgCi0gICAgMjksIDMsIDI0MywgNTUsIDI5LCAzLCAyNDMsIDYyLCAyOSwgMywgMjQyLCAxNzQsIDI5LCAzLCAyNDIsIDE3MywgMjksIDMsIAotICAgIDI0MiwgNzgsIDI5LCAzLCAyNDIsIDc0LCAyOSwgMywgMjQyLCA3NywgMjksIDMsIDI0MiwgNzUsIDI5LCAzLCAyNDIsIDc2LCAKLSAgICAyOSwgMywgMjQzLCAyOSwgMjksIDMsIDI0MywgOSwgMjksIDMsIDI0MywgMTksIDI5LCAzLCAyNDMsIDI4LCAyOSwgMywgCi0gICAgMjQzLCAyMywgMjksIDMsIDI0MywgMjQsIDI5LCAzLCAyNDMsIDEzLCAyOSwgMywgMjQyLCAyNTQsIDI5LCAzLCAyMTYsIAotICAgIDIwOCwgMjksIDMsIDIxNiwgMTM2LCAyOSwgMywgMjE2LCAxNzUsIDI5LCAzLCAyMTYsIDIwNywgMjksIDMsIDIxNiwgMTk0LCAKLSAgICAyOSwgMywgMjE2LCAxOTUsIDI5LCAzLCAyMTYsIDE1NiwgMjksIDMsIDIxNiwgMTI4LCAyOSwgMywgMjUwLCAxNTcsIDI5LCAKLSAgICAzLCAyNTAsIDY5LCAyOSwgMywgMjUwLCAxMTAsIDI5LCAzLCAyNTAsIDE1NiwgMjksIDMsIDI1MCwgMTI4LCAyOSwgMywgCi0gICAgMjUwLCAxMzEsIDI5LCAzLCAyNTAsIDg2LCAyOSwgMywgMjUwLCA1OCwgMjksIDMsIDIyNSwgMTQ3LCAyOSwgMywgMjI1LCAKLSAgICAxMTQsIDI5LCAzLCAyMjUsIDEzMywgMjksIDMsIDIyNSwgMTQ2LCAyOSwgMywgMjI1LCAxMzUsIDI5LCAzLCAyMjUsIDEzNiwgCi0gICAgMjksIDMsIDIyNSwgMTIxLCAyOSwgMywgMjI1LCAxMTAsIDI5LCAzLCAyMTUsIDE4MywgMjksIDMsIDIxNSwgMTYzLCAyOSwgCi0gICAgMywgMjE1LCAxNjcsIDI5LCAzLCAyMTUsIDE4MiwgMjksIDMsIDIxNSwgMTc3LCAyOSwgMywgMjE1LCAxNzgsIDI5LCAzLCAKLSAgICAyMTUsIDE2NiwgMjksIDMsIDIxNSwgMTYxLCAyOSwgMywgMjE1LCAzOSwgMjksIDMsIDIxNSwgMzEsIDI5LCAzLCAyMTUsIAotICAgIDM1LCAyOSwgMywgMjE1LCAzOCwgMjksIDMsIDIxNSwgMzYsIDI5LCAzLCAyMTUsIDM3LCAyOSwgMywgMjE1LCAzMywgMjksIAotICAgIDMsIDIxNSwgMzIsIDI5LCAzLCAyNDQsIDE5NiwgMjksIDMsIDI0MywgMjM0LCAyOSwgMywgMjQ0LCAxMjEsIDI5LCAzLCAKLSAgICAyNDQsIDE5NSwgMjksIDMsIDI0NCwgMTQ3LCAyOSwgMywgMjQ0LCAxNTQsIDI5LCAzLCAyNDQsIDQzLCAyOSwgMywgMjQzLCAKLSAgICAyMTMsIDI5LCAzLCAxOTAsIDI5LCAzLCAyMjQsIDE1MCwgMjksIDMsIDIyNSwgMTA4LCAyOSwgMywgMjI2LCA4OSwgMjksIDMsIAotICAgIDIyNSwgMjExLCAyOSwgMywgMjI1LCAyMjEsIDI5LCAzLCAyMjUsIDE2LCAyOSwgMywgMjI0LCAxMTQsIDI5LCAzLCAyMjIsIAotICAgIDk5LCAyOSwgMywgMjMwLCAzMSwgMjksIDMsIDI0MywgMjA3LCAyOSwgMzgsIDI0MywgNTMsIDIyLCAyNSwgMjMzLCAyMywgCi0gICAgNzgsIDI5LCAzOCwgMjUsIDIzMywgMjMsIDc4LCAyOSwgMzgsIDI0MywgNTMsIDc4LCAyOSwgMjIxLCAxNzMsIDc4LCAyOSwgCi0gICAgMjExLCAyMDgsIDI5LCAyNDMsIDIyOSwgMjE4LCAxMjksIDI5LCAyNDksIDIxOSwgMjksIDIyMCwgMTUwLCAyOSwgMjQ5LCAKLSAgICAyMjYsIDI5LCAyMjQsIDE5OSwgMjQ5LCAyMjYsIDI5LCAyMjQsIDEzLCA3OCwgMjksIDIyNiwgMTUsIDIyMCwgMTM3LCAyOSwgCi0gICAgMjEsIDExMCwgMjksIDIxLCAxMDUsIDI5LCAyMSwgMTU4LCAyOSwgMjEsIDE2MSwgMjksIDIxLCAxODksIDI5LCAyMSwgMTk0LCAKLSAgICAyOSwgMjEsIDE5OCwgMjksIDIxLCAxOTUsIDI5LCAyMSwgMjAwLCAyOSwgNTQsIDIxNiwgMjQ3LCAyOSwgNTQsIDIxNSwgNzMsIAotICAgIDI5LCA1NCwgMjE2LCAxNjIsIDI5LCA1NCwgMjQ0LCAxNSwgMjksIDU0LCAyNDQsIDExNCwgMjksIDU0LCAyMTksIDExMSwgCi0gICAgMjksIDU0LCAyMjAsIDExNiwgMjksIDU0LCAyNDUsIDE4NCwgMjksIDU0LCAyMjgsIDE5NSwgMjksIDU0LCAyNDAsIDIxMCwgCi0gICAgMjksIDU0LCAyMTYsIDI0OCwgMjE2LCAxNDcsIDI5LCAzLCAyMjEsIDE3NywgMjMwLCA0MiwgMjksIDMsIDIzMCwgMzgsIDI5LCAKLSAgICAzLCAyMzAsIDM5LCAyOSwgMywgMjMwLCA0MCwgMjksIDMsIDIyMSwgMTc3LCAyNTEsIDgzLCAyOSwgMywgMjUxLCA4MCwgMjksIAotICAgIDMsIDI1MSwgODEsIDI5LCAzLCAyNTEsIDgyLCAyOSwgMywgMjIxLCAxNzcsIDI0MywgMjEzLCAyOSwgMywgMjQzLCAyMDksIAotICAgIDI5LCAzLCAyNDMsIDIxMCwgMjksIDMsIDI0MywgMjExLCAyOSwgMywgMjIxLCAxNzcsIDIyNCwgMTE0LCAyOSwgMywgMjI0LCAKLSAgICAxMTAsIDI5LCAzLCAyMjQsIDExMSwgMjksIDMsIDIyNCwgMTEyLCAyOSwgMjE2LCAzMSwgMTY0LCAyMTAsIDI0NywgMjksIAotICAgIDIxNiwgMzEsIDE2NCwgMjQ4LCA0MSwgMjksIDIxNiwgMzEsIDE2NCwgMjIyLCAyMzgsIDI5LCAyMTYsIDMxLCAxNjQsIDIxOSwgCi0gICAgMjUxLCAyMjIsIDIzOCwgMjksIDIxNiwgMzEsIDE2NCwgMjQ3LCAyMzUsIDI5LCAyMTYsIDMxLCAxNjQsIDIzNCwgMTY0LCAKLSAgICAyOSwgMjE2LCAzMSwgMTY0LCAyNTAsIDk0LCAyOSwgMjE2LCAzMSwgMTY0LCAyNDEsIDE3NywgMjksIDIxNiwgMzEsIDE2NCwgCi0gICAgMjQ4LCA0MCwgMjksIDIxNiwgMzEsIDE2NCwgMjMzLCAxOTQsIDE2OSwgMSwgNjEsIDE2OSwgMSwgNzUsIDE2OSwgMSwgNzMsIAotICAgIDE2OSwgMSwgNzYsIDE2OSwgMSwgNzAsIDE2OSwgMSwgMjE0LCAxMDUsIDE2OSwgMSwgMjQzLCAxMzUsIDE2OSwgMSwgMTc2LCAKLSAgICAxNjksIDEsIDI0MywgNjIsIDE2OSwgMSwgMjQyLCAyMTQsIDE2OSwgMSwgMjQyLCAxNzQsIDE2OSwgMSwgMjQyLCAxMTMsIAotICAgIDE2OSwgMSwgMjQyLCA3OSwgMTY5LCAxLCAxNjIsIDE2OSwgMSwgMjQxLCAyMzgsIDE2OSwgMSwgMjQxLCAxODAsIDE2OSwgMSwgCi0gICAgMjQxLCA2OCwgMTY5LCAxLCAyNDAsIDIyMiwgMTY5LCAxLCAyNDAsIDIwMSwgMTY5LCAxLCAyMzMsIDEzNSwgMTY5LCAxLCAKLSAgICAyMzMsIDU4LCAxNjksIDEsIDIzMiwgMjQxLCAxNjksIDEsIDIzMiwgMTU2LCAxNjksIDEsIDIzMiwgOTgsIDE2OSwgMSwgCi0gICAgMjMyLCA3MSwgMTY5LCAxLCAxODQsIDE2OSwgMSwgMjMxLCA5MSwgMTY5LCAxLCAyMzAsIDIzMCwgMTY5LCAxLCAyMzAsIAotICAgIDE2MSwgMTY5LCAxLCAyMzAsIDEwMiwgMTY5LCAxLCAxOTcsIDE2OSwgMSwgMjQxLCA5MCwgMTY5LCAxLCAyMjksIDIxMywgCi0gICAgMTY5LCAxLCAyMjksIDEwNywgMTY5LCAxLCAyMjgsIDIzMywgMTY5LCAxLCAyMjgsIDc0LCAxNjksIDEsIDIyNywgMjM3LCAKLSAgICAxNjksIDEsIDIyNywgMTc2LCAxNjksIDEsIDIyNCwgMjksIDE2OSwgMSwgMjI0LCAxNiwgMTY5LCAxLCAyMjQsIDksIDE2OSwgCi0gICAgMSwgMjI0LCAxLCAxNjksIDEsIDIyMywgMjQ2LCAxNjksIDEsIDIyMywgMjQ0LCAxNjksIDEsIDIwNiwgMTY5LCAxLCAyMjIsIAotICAgIDkxLCAxNjksIDEsIDIyMSwgMTgxLCAxNjksIDEsIDIxOSwgMTkxLCAxNjksIDEsIDIxOSwgNTgsIDE2OSwgMSwgMjE4LCA4MywgCi0gICAgMTY5LCAxLCAyMTgsIDIsIDE2OSwgMSwgMjQ4LCAyMjEsIDE2OSwgMSwgMjE3LCAxMDUsIDE2OSwgMSwgMjQ4LCA5MCwgMTY5LCAKLSAgICAxLCAyMTcsIDIyLCAxNjksIDEsIDI0OCwgMywgMTY5LCAxLCAyMTYsIDExNywgMTY5LCAxLCAyNDcsIDE0NSwgMTY5LCAxLCAKLSAgICAyNDYsIDc4LCAxNjksIDEsIDI0NiwgNTAsIDE2OSwgMSwgMjQ3LCAxNTYsIDE2OSwgMSwgMjE2LCA1OSwgMTY5LCAxLCAyMTYsIAotICAgIDU4LCAxNjksIDEsIDIxNiwgNDcsIDE2OSwgMSwgMjE2LCA0NiwgMTY5LCAxLCAyMTYsIDQ1LCAxNjksIDEsIDIxNiwgNDQsIAotICAgIDE2OSwgMSwgMjE1LCAxODMsIDE2OSwgMSwgMjE1LCAxNzgsIDE2OSwgMSwgMjE1LCAxNjcsIDE2OSwgMSwgMjE1LCAxNjYsIAotICAgIDE2OSwgMSwgMjE1LCAxNjMsIDE2OSwgMSwgMjE1LCAxNjIsIDE2OSwgMSwgMjEyLCA2NSwgMTY5LCAxLCAyMTIsIDIyLCAKLSAgICAxNjksIDEsIDIxMSwgMjUwLCAxNjksIDEsIDIxMSwgMjI3LCAxNjksIDEsIDIxMSwgMTk1LCAxNjksIDEsIDIxMSwgMTgzLCAKLSAgICAxNjksIDEsIDE5MSwgMTY5LCAxLCAyMTEsIDQ3LCAxNjksIDEsIDIxMSwgOCwgMTY5LCAxLCAyMTAsIDI0NCwgMTY5LCAxLCAKLSAgICAyMTAsIDIxMiwgMTY5LCAxLCAyMTAsIDE3NywgMTgsIDE5LCAyNDAsIDE2OCwgMTgsIDE5LCA3NSwgMTgsIDE5LCAyNTUsIAotICAgIDM3LCAxOCwgMTksIDczLCAxOCwgMTksIDIzNiwgMzMsIDE4LCAxOSwgNzYsIDE4LCAxOSwgMjI2LCAxODMsIDE4LCAxOSwgCi0gICAgMjExLCAxMTYsIDIyNiwgMTgzLCAxOCwgMTksIDcyLCAyNDUsIDIwOSwgMTgsIDE5LCA3MiwgNzMsIDE4LCAxOSwgNjEsIDE4LCAKLSAgICAxOSwgMjU1LCA3MywgMTgsIDE5LCAyMTIsIDIyLCAxOCwgMTksIDE1OSwgMjEyLCAyMiwgMTgsIDE5LCAyMTEsIDI1MCwgMTgsIAotICAgIDE5LCAxNTksIDIxMSwgMjUwLCAxOCwgMTksIDIxMSwgMjQyLCAxOCwgMTksIDE1OSwgMjExLCAyNDIsIDE4LCAxOSwgMjExLCAKLSAgICAyMjcsIDE4LCAxOSwgMTU5LCAyMTEsIDIyNywgMTgsIDE5LCAyMTEsIDIxNSwgMTgsIDE5LCAxNTksIDIxMSwgMjE1LCAxOCwgCi0gICAgMTksIDIyOSwgMTkwLCAyMTEsIDIxNSwgMTgsIDE5LCAyMTIsIDY1LCAxOCwgMTksIDE1OSwgMjEyLCA2NSwgMTgsIDE5LCAKLSAgICAyMTIsIDY0LCAxOCwgMTksIDE1OSwgMjEyLCA2NCwgMTgsIDE5LCAyMjksIDE5MCwgMjEyLCA2NCwgMTgsIDE5LCAyNTQsIAotICAgIDIwMSwgMTgsIDE5LCAyMTEsIDExNiwgMjEyLCA5OCwgMTgsIDE5LCAyNDIsIDE4MCwgMjE4LCAxMjksIDE4LCAxOSwgNDAsIAotICAgIDE0MiwgMTgsIDE5LCA0MCwgMjQyLCAxMzYsIDE4LCAxOSwgNDAsIDI1MSwgMTc1LCAxNjMsIDIyMiwgMjMzLCAxOCwgMTksIAotICAgIDQwLCAyMTYsIDE0LCAxNjMsIDIyMiwgMjMzLCAxOCwgMTksIDQwLCA0NCwgMTYzLCAyMjIsIDIzMywgMTgsIDE5LCA0MCwgCi0gICAgMjIyLCAyMzMsIDE4LCAxOSwgNDAsIDUyLCAxNDIsIDE4LCAxOSwgNDAsIDUyLCAyMTksIDI1MSwgNjcsIDIxOCwgOTAsIDE4LCAKLSAgICAxOSwgNDAsIDIzMCwgMjI0LCAyNDcsIDEyMCwgMTgsIDE5LCA0MCwgMjE5LCAyNTEsIDIwMywgOTEsIDE4LCAxOSwgNDAsIAotICAgIDIyNSwgMjIsIDE4LCAxOSwgNDAsIDEyNCwgMjE3LCA4NywgMTgsIDE5LCAyNDUsIDE1MCwgMTgsIDE5LCAyMzUsIDI1NSwgCi0gICAgMTgsIDE5LCAyMjYsIDE5NiwgMTgsIDE5LCAyNTQsIDEyMywgMTgsIDE5LCAyMjUsIDIyMSwgMTgsIDE5LCAyMjYsIDg3LCAKLSAgICAxOCwgMTksIDIyNSwgMTA4LCAxOCwgMTksIDIyNSwgNzEsIDE4LCAxOSwgMjI1LCAxNiwgMTgsIDE5LCAyMjQsIDI0OSwgMTgsIAotICAgIDE5LCAyMTEsIDExNiwgMjI0LCAyNDksIDE4LCAxOSwgNzIsIDI0MSwgMjIwLCAxOCwgMTksIDcyLCAyNDEsIDE4MCwgMTgsIAotICAgIDE5LCAxOTAsIDE4LCAxOSwgMjI2LCA4OSwgMTgsIDE5LCAyMjQsIDExMiwgMTgsIDE5LCAxNTksIDIyNCwgMTEyLCAxOCwgCi0gICAgMTksIDIyNCwgMTEwLCAxOCwgMTksIDE1OSwgMjI0LCAxMTAsIDE4LCAxOSwgMjI0LCAxMDksIDE4LCAxOSwgMTU5LCAyMjQsIAotICAgIDEwOSwgMTgsIDE5LCAyMjQsIDEwNywgMTgsIDE5LCAxNTksIDIyNCwgMTA3LCAxOCwgMTksIDIyNCwgMTA2LCAxOCwgMTksIAotICAgIDE1OSwgMjI0LCAxMDYsIDE4LCAxOSwgMjI0LCAxMTQsIDE4LCAxOSwgMTU5LCAyMjQsIDExNCwgMTgsIDE5LCAyMjQsIDExMywgCi0gICAgMTgsIDE5LCAxNTksIDIyNCwgMTEzLCAxOCwgMTksIDIxMSwgMTE2LCAyMjQsIDExMywgMTgsIDE5LCAyMjYsIDEwNSwgMTgsIAotICAgIDE5LCAxNTksIDIyNiwgMTA1LCAxOCwgMTksIDcyLCAyNDIsIDYwLCAxOCwgMTksIDIxNywgMjIsIDE4LCAxOSwgMjE3LCA5OSwgCi0gICAgMTgsIDE5LCAyMTYsIDExNywgMTgsIDE5LCAyMTYsIDEwMywgMTgsIDE5LCAxMTEsIDE4LCAxOSwgMjE2LCAxNywgMTgsIDE5LCAKLSAgICAyMTEsIDExNiwgMjE2LCAxNywgMTgsIDE5LCA3MiwgMjQ4LCA3NywgMTgsIDE5LCA3MiwgMjQ4LCAzLCAxOCwgMTksIDIxNywgCi0gICAgMTA1LCAxOCwgMTksIDIxNywgMTAxLCAxOCwgMTksIDIxNSwgNzgsIDE4LCAxOSwgMTU5LCAyMTUsIDc4LCAxOCwgMTksIAotICAgIDIxNSwgNjIsIDE4LCAxOSwgMTU5LCAyMTUsIDYyLCAxOCwgMTksIDIxNSwgNjEsIDE4LCAxOSwgMTU5LCAyMTUsIDYxLCAxOCwgCi0gICAgMTksIDEwNSwgMTgsIDE5LCAxNTksIDEwNSwgMTgsIDE5LCAyMTUsIDU0LCAxOCwgMTksIDE1OSwgMjE1LCA1NCwgMTgsIDE5LCAKLSAgICAyMTUsIDgwLCAxOCwgMTksIDE1OSwgMjE1LCA4MCwgMTgsIDE5LCAyMTUsIDc5LCAxOCwgMTksIDE1OSwgMjE1LCA3OSwgMTgsIAotICAgIDE5LCAyMjksIDE5MCwgMjE1LCA3OSwgMTgsIDE5LCAyMTcsIDE1MiwgMTgsIDE5LCAyMTUsIDE1MSwgMTgsIDE5LCAyMTUsIAotICAgIDEzNSwgMTgsIDE5LCAyMTUsIDEzMywgMTgsIDE5LCAyMTUsIDE1NiwgMTgsIDE5LCAyMzQsIDE4MiwgMTgsIDE5LCAyMzUsIAotICAgIDcsIDE4LCAxOSwgMjM0LCA5MiwgMTgsIDE5LCAyMzQsIDgzLCAxOCwgMTksIDIzNCwgMjgsIDE4LCAxOSwgMjM0LCAxMCwgCi0gICAgMTgsIDE5LCAyMTEsIDExNiwgMjM0LCAxMCwgMTgsIDE5LCAxNzYsIDE4LCAxOSwgMjM1LCAxMCwgMTgsIDE5LCAyMzMsIAotICAgIDE3OCwgMTgsIDE5LCAxNTksIDIzMywgMTc4LCAxOCwgMTksIDIzMywgMTc2LCAxOCwgMTksIDE1OSwgMjMzLCAxNzYsIDE4LCAKLSAgICAxOSwgMjMzLCAxNzUsIDE4LCAxOSwgMTU5LCAyMzMsIDE3NSwgMTgsIDE5LCAyMzMsIDE3NCwgMTgsIDE5LCAxNTksIDIzMywgCi0gICAgMTc0LCAxOCwgMTksIDIzMywgMTczLCAxOCwgMTksIDE1OSwgMjMzLCAxNzMsIDE4LCAxOSwgMjMzLCAxODIsIDE4LCAxOSwgCi0gICAgMTU5LCAyMzMsIDE4MiwgMTgsIDE5LCAyMzMsIDE4MSwgMTgsIDE5LCAxNTksIDIzMywgMTgxLCAxOCwgMTksIDIyOSwgMTkwLCAKLSAgICAyMzMsIDE4MSwgMTgsIDE5LCAyMzUsIDIzLCAxOCwgMTksIDIzMywgMTgzLCAxOCwgMTksIDIxOSwgMjcsIDIzNCwgMTc2LCAKLSAgICAxOCwgMTksIDIxOSwgMjcsIDIzNCwgODQsIDE4LCAxOSwgMjE5LCAyNywgMjM0LCAyMywgMTgsIDE5LCAyMTksIDI3LCAyMzQsIAotICAgIDI0OCwgMTgsIDE5LCAyNTAsIDE5MCwgMTgsIDE5LCAyNTEsIDMxLCAxOCwgMTksIDI1MCwgNTEsIDE4LCAxOSwgMjUwLCA0MSwgCi0gICAgMTgsIDE5LCAyNDksIDIzOCwgMTgsIDE5LCAyNDksIDE3NCwgMTgsIDE5LCAyMTEsIDExNiwgMjQ5LCAxNzQsIDE4LCAxOSwgCi0gICAgMjUxLCAzMywgMTgsIDE5LCAyNTEsIDMyLCAxOCwgMTksIDI0OSwgNzksIDE4LCAxOSwgMTU5LCAyNDksIDc5LCAxOCwgMTksIAotICAgIDI0OSwgNzcsIDE4LCAxOSwgMTU5LCAyNDksIDc3LCAxOCwgMTksIDI0OSwgNzYsIDE4LCAxOSwgMTU5LCAyNDksIDc2LCAxOCwgCi0gICAgMTksIDI0OSwgNzUsIDE4LCAxOSwgMTU5LCAyNDksIDc1LCAxOCwgMTksIDI0OSwgNzQsIDE4LCAxOSwgMTU5LCAyNDksIDc0LCAKLSAgICAxOCwgMTksIDI0OSwgODEsIDE4LCAxOSwgMTU5LCAyNDksIDgxLCAxOCwgMTksIDI0OSwgODAsIDE4LCAxOSwgMTU5LCAyNDksIAotICAgIDgwLCAxOCwgMTksIDIyOSwgMTkwLCAyNDksIDgwLCAxOCwgMTksIDI1MSwgNjYsIDE4LCAxOSwgMjIxLCAyMDksIDIxNiwgCi0gICAgMjEwLCAxOCwgMTksIDIzMSwgOTEsIDE4LCAxOSwgMjMxLCAyMzYsIDE4LCAxOSwgMjMwLCAyMzAsIDE4LCAxOSwgMjMwLCAKLSAgICAyMDEsIDE4LCAxOSwgMjMwLCAxNjEsIDE4LCAxOSwgMjMwLCAxMzIsIDE4LCAxOSwgMjExLCAxMTYsIDIzMCwgMTMyLCAxOCwgCi0gICAgMTksIDE4NCwgMTgsIDE5LCAyMzEsIDIzNywgMTgsIDE5LCAyMzAsIDQwLCAxOCwgMTksIDE1OSwgMjMwLCA0MCwgMTgsIDE5LCAKLSAgICAyMzAsIDM4LCAxOCwgMTksIDE1OSwgMjMwLCAzOCwgMTgsIDE5LCAyMzAsIDM3LCAxOCwgMTksIDE1OSwgMjMwLCAzNywgMTgsIAotICAgIDE5LCAyMzAsIDM2LCAxOCwgMTksIDE1OSwgMjMwLCAzNiwgMTgsIDE5LCAyMzAsIDM1LCAxOCwgMTksIDE1OSwgMjMwLCAzNSwgCi0gICAgMTgsIDE5LCAyMzAsIDQyLCAxOCwgMTksIDE1OSwgMjMwLCA0MiwgMTgsIDE5LCAyMzAsIDQxLCAxOCwgMTksIDE1OSwgMjMwLCAKLSAgICA0MSwgMTgsIDE5LCAyMjksIDE5MCwgMjMwLCA0MSwgMTgsIDE5LCAxOTMsIDE4LCAxOSwgMTU5LCAxOTMsIDE4LCAxOSwgCi0gICAgMjMwLCAyMzQsIDE4LCAxOSwgMjUzLCAyMDUsIDE5MywgMTgsIDE5LCAyMjEsIDIwOSwgMTkzLCAxOCwgMTksIDIyOSwgMTA3LCAKLSAgICAxOCwgMTksIDIyOSwgMjI0LCAxOCwgMTksIDIyOCwgMjMzLCAxOCwgMTksIDIyOCwgMjA4LCAxOCwgMTksIDIyOCwgNzQsIAotICAgIDE4LCAxOSwgMjI4LCA2NCwgMTgsIDE5LCAyMTEsIDExNiwgMjI4LCA2NCwgMTgsIDE5LCAxOTcsIDE4LCAxOSwgMjI5LCAKLSAgICAyMjUsIDE4LCAxOSwgMjI3LCAxNzIsIDE4LCAxOSwgMTU5LCAyMjcsIDE3MiwgMTgsIDE5LCAyMjcsIDE3NCwgMTgsIDE5LCAKLSAgICAxNTksIDIyNywgMTc0LCAxOCwgMTksIDIyNywgMTczLCAxOCwgMTksIDE1OSwgMjI3LCAxNzMsIDE4LCAxOSwgMjI5LCAxOTAsIAotICAgIDIyNywgMTczLCAxOCwgMTksIDIzMCwgMjUsIDE4LCAxOSwgNzIsIDIyOSwgNzksIDE4LCAxOSwgMjI4LCAyMzgsIDE4LCAxOSwgCi0gICAgMjMzLCA1OCwgMTgsIDE5LCAyMzMsIDEzMywgMTgsIDE5LCAyMzIsIDI0MSwgMTgsIDE5LCAyMzIsIDIyNywgMTgsIDE5LCAKLSAgICAyMzIsIDE1NiwgMTgsIDE5LCAyMzIsIDEyNywgMTgsIDE5LCAyMTEsIDExNiwgMjMyLCAxMjcsIDE4LCAxOSwgMjMzLCAxMzUsIAotICAgIDE4LCAxOSwgMjMzLCAxMzQsIDE4LCAxOSwgMjMyLCA2OCwgMTgsIDE5LCAxNTksIDIzMiwgNjgsIDE4LCAxOSwgMjMyLCA2NywgCi0gICAgMTgsIDE5LCAxNTksIDIzMiwgNjcsIDE4LCAxOSwgMjMyLCA2NiwgMTgsIDE5LCAxNTksIDIzMiwgNjYsIDE4LCAxOSwgMjMyLCAKLSAgICA2NSwgMTgsIDE5LCAxNTksIDIzMiwgNjUsIDE4LCAxOSwgMjMyLCA2NCwgMTgsIDE5LCAxNTksIDIzMiwgNjQsIDE4LCAxOSwgCi0gICAgMjMyLCA3MCwgMTgsIDE5LCAxNTksIDIzMiwgNzAsIDE4LCAxOSwgMjMyLCA2OSwgMTgsIDE5LCAxNTksIDIzMiwgNjksIDE4LCAKLSAgICAxOSwgMTU2LCAxOCwgMTksIDE1OSwgMTU2LCAxOCwgMTksIDE0NywgMTU2LCAxOCwgMTksIDIyMSwgMTgxLCAxOCwgMTksIAotICAgIDIyMiwgMjksIDE4LCAxOSwgMjE5LCAxOTEsIDE4LCAxOSwgMjE5LCAxNzUsIDE4LCAxOSwgMjE5LCA1OCwgMTgsIDE5LCAKLSAgICAyMTksIDQwLCAxOCwgMTksIDIxMSwgMTE2LCAyMTksIDQwLCAxOCwgMTksIDIwNiwgMTgsIDE5LCAyMjIsIDMxLCAxOCwgMTksIAotICAgIDIxNywgMjQ5LCAxOCwgMTksIDE1OSwgMjE3LCAyNDksIDE4LCAxOSwgMjE3LCAyNDMsIDE4LCAxOSwgMTU5LCAyMTcsIDI0MywgCi0gICAgMTgsIDE5LCAyMTcsIDI0MiwgMTgsIDE5LCAxNTksIDIxNywgMjQyLCAxOCwgMTksIDIxNywgMjM4LCAxOCwgMTksIDE1OSwgCi0gICAgMjE3LCAyMzgsIDE4LCAxOSwgMjE3LCAyMzcsIDE4LCAxOSwgMTU5LCAyMTcsIDIzNywgMTgsIDE5LCAyMTcsIDI1MywgMTgsIAotICAgIDE5LCAxNTksIDIxNywgMjUzLCAxOCwgMTksIDIxNywgMjUyLCAxOCwgMTksIDE1OSwgMjE3LCAyNTIsIDE4LCAxOSwgMjI5LCAKLSAgICAxOTAsIDIxNywgMjUyLCAxOCwgMTksIDIyMiwgOTEsIDE4LCAxOSwgMjUzLCAyMDUsIDIyMiwgOTEsIDE4LCAxOSwgMjE3LCAKLSAgICAyNTQsIDE4LCAxOSwgMjUxLCAyMTgsIDIyMiwgOTEsIDE4LCAxOSwgMjMwLCAxMjcsIDIxOSwgMTA4LCAxOCwgMTksIDIyOSwgCi0gICAgMTkwLCAyMTksIDk5LCAxOCwgMTksIDIyOSwgMTkwLCAyMjIsIDg5LCAxOCwgMTksIDIyOSwgMTkwLCAyMTgsIDIzNSwgMTgsIAotICAgIDE5LCAyMjksIDE5MCwgMjE4LCA4NiwgMTgsIDE5LCAyMjksIDE5MCwgMjE5LCA5OCwgMTgsIDE5LCAyMjksIDE5MCwgMjIxLCAKLSAgICAxODQsIDE4LCAxOSwgMjIwLCA2MywgMTgsIDE5LCAyMjAsIDMyLCAxOCwgMTksIDIyMCwgMjcsIDE4LCAxOSwgMjIwLCA3LCAKLSAgICAxOCwgMTksIDIyMCwgMSwgMTgsIDE5LCAyMjAsIDEwMiwgMTgsIDE5LCAyMjAsIDk4LCAxOCwgMTksIDIxOSwgMjA2LCAxOCwgCi0gICAgMTksIDE1OSwgMjE5LCAyMDYsIDE4LCAxOSwgMjE5LCAyMDUsIDE4LCAxOSwgMTU5LCAyMTksIDIwNSwgMTgsIDE5LCAyMTksIAotICAgIDIwNCwgMTgsIDE5LCAxNTksIDIxOSwgMjA0LCAxOCwgMTksIDIxOSwgMjAzLCAxOCwgMTksIDE1OSwgMjE5LCAyMDMsIDE4LCAKLSAgICAxOSwgMjE5LCAyMDIsIDE4LCAxOSwgMTU5LCAyMTksIDIwMiwgMTgsIDE5LCAyMTksIDIwOCwgMTgsIDE5LCAxNTksIDIxOSwgCi0gICAgMjA4LCAxOCwgMTksIDIxOSwgMjA3LCAxOCwgMTksIDE1OSwgMjE5LCAyMDcsIDE4LCAxOSwgMjIwLCAxMDQsIDE4LCAxOSwgCi0gICAgMjExLCA0NywgMTgsIDE5LCAyMTEsIDEwMSwgMTgsIDE5LCAyMTEsIDgsIDE4LCAxOSwgMjEwLCAyNTUsIDE4LCAxOSwgMjEwLCAKLSAgICAyNDQsIDE4LCAxOSwgMjEwLCAyMjksIDE4LCAxOSwgMjExLCAxMTYsIDIxMCwgMjI5LCAxOCwgMTksIDE5MSwgMTgsIDE5LCAKLSAgICAyMTEsIDEwMywgMTgsIDE5LCAyMTAsIDE3NCwgMTgsIDE5LCAxNTksIDIxMCwgMTc0LCAxOCwgMTksIDIxMCwgMTczLCAxOCwgCi0gICAgMTksIDE1OSwgMjEwLCAxNzMsIDE4LCAxOSwgMjEwLCAxNzIsIDE4LCAxOSwgMTU5LCAyMTAsIDE3MiwgMTgsIDE5LCAyMTAsIAotICAgIDE3MSwgMTgsIDE5LCAxNTksIDIxMCwgMTcxLCAxOCwgMTksIDIxMCwgMTcwLCAxOCwgMTksIDE1OSwgMjEwLCAxNzAsIDE4LCAKLSAgICAxOSwgMjEwLCAxNzYsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NiwgMTgsIDE5LCAyMTAsIDE3NSwgMTgsIDE5LCAxNTksIDIxMCwgCi0gICAgMTc1LCAxOCwgMTksIDIyOSwgMTkwLCAyMTAsIDE3NSwgMTgsIDE5LCAyMTEsIDExNywgMTgsIDE5LCAyNTIsIDQsIDIxMSwgCi0gICAgMTE3LCAxOCwgMTksIDE1OSwgMjExLCAxMTcsIDE4LCAxOSwgMjIxLCAyMDksIDIxMSwgOCwgMTgsIDE5LCAyMjMsIDEyOCwgCi0gICAgMTgsIDE5LCAyMjMsIDIyMywgMjIzLCAxMjgsIDE4LCAxOSwgMTU5LCAyMzMsIDU4LCAxOCwgMTksIDIyMywgMTgzLCAxOCwgCi0gICAgMTksIDIyMywgMzUsIDE4LCAxOSwgMjIyLCAyMzksIDE4LCAxOSwgMjIyLCAyMTEsIDE4LCAxOSwgMjIyLCAxOTcsIDE4LCAKLSAgICAxOSwgMTU5LCAyMzIsIDE1NiwgMTgsIDE5LCAyMDUsIDE4LCAxOSwgMjIzLCAxODQsIDE4LCAxOSwgMTU5LCAyMzMsIDEzNSwgCi0gICAgMTgsIDE5LCAyMjIsIDEwOCwgMTgsIDE5LCAxNTksIDIyMiwgMTA4LCAxOCwgMTksIDE1MywgMTgsIDE5LCAxNTksIDE1MywgCi0gICAgMTgsIDE5LCAxNDcsIDE1MywgMTgsIDE5LCAyNDQsIDE1NCwgMTgsIDE5LCAyNDQsIDE5MywgMTgsIDE5LCAyNDQsIDEyMSwgCi0gICAgMTgsIDE5LCAyNDQsIDEwOCwgMTgsIDE5LCAyNDQsIDQzLCAxOCwgMTksIDI0NCwgMzQsIDE4LCAxOSwgMjQ0LCAxOTYsIDE4LCAKLSAgICAxOSwgMjQ0LCAxOTUsIDE4LCAxOSwgMjQzLCAyMTIsIDE4LCAxOSwgMTU5LCAyNDMsIDIxMiwgMTgsIDE5LCAyNDUsIDYsIAotICAgIDE4LCAxOSwgMjE2LCAxOTUsIDE4LCAxOSwgMjMwLCAyMywgMjE2LCAxOTUsIDE4LCAxOSwgMjE2LCAxNzUsIDE4LCAxOSwgCi0gICAgMjMwLCAyMywgMjE2LCAxNzUsIDE4LCAxOSwgMjE2LCAxNzEsIDE4LCAxOSwgMjMwLCAyMywgMjE2LCAxNzEsIDE4LCAxOSwgCi0gICAgMjE2LCAxNTYsIDE4LCAxOSwgMjE2LCAxNTMsIDE4LCAxOSwgMjE2LCAyMDgsIDE4LCAxOSwgMjE2LCAyMDcsIDE4LCAxOSwgCi0gICAgMjE2LCAxMjcsIDE4LCAxOSwgMTU5LCAyMTYsIDEyNywgMTgsIDE5LCAyMTYsIDIxMCwgMTgsIDE5LCAyMTUsIDE0MiwgMTgsIAotICAgIDE5LCAyMTUsIDE0MCwgMTgsIDE5LCAyMTUsIDEzOSwgMTgsIDE5LCAyMTUsIDE0NCwgMTgsIDE5LCAyMTUsIDE0NSwgMTgsIAotICAgIDE5LCAyMTUsIDUyLCAxOCwgMTksIDIxNSwgNTEsIDE4LCAxOSwgMjE1LCA1MCwgMTgsIDE5LCAyMTUsIDUzLCAxOCwgMTksIAotICAgIDIyNywgMTkzLCAyNDEsIDIzOCwgMTgsIDE5LCAyMjcsIDE5MywgMjQxLCAxODAsIDE4LCAxOSwgMjI3LCAxOTMsIDI0MSwgCi0gICAgMTYxLCAxOCwgMTksIDIyNywgMTkzLCAyNDEsIDY4LCAxOCwgMTksIDIyNywgMTkzLCAyNDEsIDUzLCAxOCwgMTksIDIyNywgCi0gICAgMTkzLCAxNjIsIDE4LCAxOSwgMjI3LCAxOTMsIDI0MiwgNDYsIDE4LCAxOSwgMjI3LCAxOTMsIDI0MiwgNjAsIDE4LCAxOSwgCi0gICAgMjI3LCAxOTIsIDI0MiwgNjAsIDE4LCAxOSwgMjQxLCAxNTQsIDE4LCAxOSwgMjI0LCA4NCwgMTgsIDE5LCAyMjQsIDUzLCAKLSAgICAxOCwgMTksIDIyNCwgNDgsIDE4LCAxOSwgMjI0LCA0MiwgMTgsIDE5LCAyMjQsIDM3LCAxOCwgMTksIDIyNCwgODgsIDE4LCAKLSAgICAxOSwgMjI0LCA4NywgMTgsIDE5LCAyMjQsIDk2LCAxOCwgMTksIDIxNiwgNTUsIDE4LCAxOSwgMjE2LCA1MywgMTgsIDE5LCAKLSAgICAyMTYsIDUyLCAxOCwgMTksIDIxNiwgNTYsIDE4LCAxOSwgMTU5LCAyMjMsIDEyOCwgMTgsIDE5LCAxNTksIDIyMywgMzUsIAotICAgIDE4LCAxOSwgMTU5LCAyMjIsIDIxMSwgMTgsIDE5LCAxNTksIDIwNSwgMTgsIDE5LCAyMjksIDc1LCAxOCwgMTksIDIyOSwgCi0gICAgMjcsIDE4LCAxOSwgMjI5LCAyMywgMTgsIDE5LCAyMjksIDQsIDE4LCAxOSwgMjI4LCAyNTUsIDE4LCAxOSwgMjI5LCA3NywgCi0gICAgMTgsIDE5LCAyMjksIDc2LCAxOCwgMTksIDIyOSwgNzksIDE4LCAxOSwgMjI4LCAxMDMsIDE4LCAxOSwgMjIxLCAyMDksIAotICAgIDIyMCwgNjMsIDE4LCAxOSwgMjIxLCAyMDksIDIyMCwgMzIsIDE4LCAxOSwgMjIxLCAyMDksIDIyMCwgNywgMTgsIDE5LCAKLSAgICAyMjEsIDIwOSwgMjIwLCAxMDIsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTk1LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIAotICAgIDE3NSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxNTYsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMjA4LCAxOCwgMTksIDIxMSwgCi0gICAgMjEzLCAyMTYsIDIxMCwgMTgsIDE5LCAyMzIsIDI0OCwgMTgsIDE5LCAyMzIsIDI0NywgMTgsIDE5LCAyMzIsIDI0NiwgMTgsIAotICAgIDE5LCAyMzIsIDI0NSwgMTgsIDE5LCAyMzIsIDI1NCwgMTgsIDE5LCAyMzIsIDI1MywgMTgsIDE5LCAyMzIsIDI1NSwgMTgsIAotICAgIDE5LCAyMTYsIDIwOSwgMjE2LCAxOTUsIDE4LCAxOSwgMjE2LCAyMDksIDIxNiwgMTc1LCAxOCwgMTksIDIxNiwgMjA5LCAKLSAgICAyMTYsIDE3MSwgMTgsIDE5LCAyMTYsIDIwOSwgMjE2LCAxNTYsIDE4LCAxOSwgMjE2LCAyMDksIDIxNiwgMTUzLCAxOCwgMTksIAotICAgIDIxNiwgMjA5LCAyMTYsIDIwOCwgMTgsIDE5LCAyMTYsIDIwOSwgMjE2LCAyMDcsIDE4LCAxOSwgMjE2LCAyMDksIDIxNiwgCi0gICAgMjEwLCAxOCwgMTksIDI1NCwgMTg5LCAyNTMsIDE1OCwgMTgsIDE5LCAyNTEsIDIxOCwgNzUsIDE4LCAxOSwgMjUxLCAyMTgsIAotICAgIDczLCAxOCwgMTksIDI1MSwgMjE4LCA3NiwgMTgsIDE5LCAyNTEsIDIxOCwgNjEsIDE4LCAxOSwgMjUxLCAyMTgsIDIxMiwgCi0gICAgMjIsIDE4LCAxOSwgMjUxLCAyMTgsIDIxMSwgMjUwLCAxOCwgMTksIDI1MSwgMjE4LCAyMTEsIDIyNywgMTgsIDE5LCAyNTEsIAotICAgIDIxOCwgMjEyLCA2NSwgMTgsIDE5LCAyNTEsIDIxOCwgMjI5LCAxMDcsIDE4LCAxOSwgMjUxLCAyMTgsIDIyOCwgMjMzLCAxOCwgCi0gICAgMTksIDI1MSwgMjE4LCAyMjgsIDc0LCAxOCwgMTksIDI1MSwgMjE4LCAxOTcsIDE4LCAxOSwgMjUxLCAyMTgsIDIzNCwgMTgyLCAKLSAgICAxOCwgMTksIDI1MSwgMjE4LCAyMzQsIDkyLCAxOCwgMTksIDI1MSwgMjE4LCAyMzQsIDI4LCAxOCwgMTksIDI1MSwgMjE4LCAKLSAgICAxNzYsIDE4LCAxOSwgMjIxLCAyMDksIDI0MSwgMjM4LCAxOCwgMTksIDIyMSwgMjA5LCAyNDEsIDE4MCwgMTgsIDE5LCAyMjEsIAotICAgIDIwOSwgMjQxLCA2OCwgMTgsIDE5LCAyMjEsIDIwOSwgMTYyLCAxOCwgMTksIDcyLCAyNDIsIDIyMCwgMTgsIDE5LCA3MiwgCi0gICAgMjQyLCAyMjQsIDE4LCAxOSwgNzIsIDI0MiwgMjM2LCAxOCwgMTksIDcyLCAyNDIsIDIzNSwgMTgsIDE5LCA3MiwgMjQyLCAKLSAgICAyMjUsIDE4LCAxOSwgNzIsIDI0MiwgMjQ5LCAxOCwgMTksIDcyLCAyMjIsIDE0MCwgMTgsIDE5LCA3MiwgMjIyLCAyMTEsIAotICAgIDE4LCAxOSwgNzIsIDIyMywgMTI4LCAxOCwgMTksIDcyLCAyMjMsIDEwOCwgMTgsIDE5LCA3MiwgMjIzLCAzNSwgMTgsIDE5LCAKLSAgICA3MiwgMjA1LCAxOCwgMTksIDcyLCAyMTEsIDE5NSwgMTgsIDE5LCA3MiwgMjExLCAyMjcsIDE4LCAxOSwgNzIsIDIxMiwgMjIsIAotICAgIDE4LCAxOSwgNzIsIDIxMiwgMTcsIDE4LCAxOSwgNzIsIDIxMSwgMjUwLCAxOCwgMTksIDcyLCAyMTIsIDY1LCAxOCwgMTksIAotICAgIDcyLCAyNDAsIDE5NCwgMTgsIDE5LCA3MiwgMjQwLCAxOTUsIDE4LCAxOSwgNzIsIDI0MCwgMTk4LCAxOCwgMTksIDcyLCAKLSAgICAyNDAsIDE5NywgMTgsIDE5LCA3MiwgMjQwLCAxOTYsIDE4LCAxOSwgNzIsIDI0MCwgMjAwLCAxOCwgMTksIDcyLCAyMTYsIAotICAgIDEzNiwgMTgsIDE5LCA3MiwgMjE2LCAxNTYsIDE4LCAxOSwgNzIsIDIxNiwgMTk1LCAxOCwgMTksIDcyLCAyMTYsIDE5NCwgCi0gICAgMTgsIDE5LCA3MiwgMjE2LCAxNzUsIDE4LCAxOSwgNzIsIDIxNiwgMjA4LCAxOCwgMTksIDcyLCAyMTUsIDEyMywgMTgsIDE5LCAKLSAgICA3MiwgMjE1LCAxMzMsIDE4LCAxOSwgNzIsIDIxNSwgMTUxLCAxOCwgMTksIDcyLCAyMTUsIDE1MCwgMTgsIDE5LCA3MiwgCi0gICAgMjE1LCAxMzUsIDE4LCAxOSwgNzIsIDIxNSwgMTU2LCAxOCwgMTksIDcyLCAyMjQsIDE1MCwgMTgsIDE5LCA3MiwgMjI1LCAKLSAgICAxNiwgMTgsIDE5LCA3MiwgMjI1LCAyMjEsIDE4LCAxOSwgNzIsIDIyNSwgMjExLCAxOCwgMTksIDcyLCAyMjUsIDEwOCwgMTgsIAotICAgIDE5LCA3MiwgMTkwLCAxOCwgMTksIDcyLCAyMjYsIDEwNSwgMTgsIDE5LCA3MiwgMjQyLCAxMTMsIDE4LCAxOSwgNzIsIDI0MiwgCi0gICAgMTc0LCAxOCwgMTksIDcyLCAyNDMsIDYyLCAxOCwgMTksIDcyLCAyNDMsIDU1LCAxOCwgMTksIDcyLCAyNDIsIDIxNCwgMTgsIAotICAgIDE5LCA3MiwgMjQzLCAxMzUsIDE4LCAxOSwgNzIsIDIzNCwgMTAwLCAxOCwgMTksIDcyLCAyMzQsIDEwNSwgMTgsIDE5LCA3MiwgCi0gICAgMjM0LCAxMTksIDE4LCAxOSwgNzIsIDIzNCwgMTE4LCAxOCwgMTksIDcyLCAyMzQsIDExMiwgMTgsIDE5LCA3MiwgMjM0LCAKLSAgICAxMzIsIDE4LCAxOSwgNzIsIDIzNCwgNDEsIDE4LCAxOSwgNzIsIDIzNCwgNDIsIDE4LCAxOSwgNzIsIDIzNCwgNDUsIDE4LCAKLSAgICAxOSwgNzIsIDIzNCwgNDQsIDE4LCAxOSwgNzIsIDIzNCwgNDMsIDE4LCAxOSwgNzIsIDIzNCwgNDYsIDE4LCAxOSwgNzIsIAotICAgIDIzNCwgNDcsIDE4LCAxOSwgNzIsIDIyNywgMjM3LCAxOCwgMTksIDcyLCAyMjgsIDc0LCAxOCwgMTksIDcyLCAyMjksIDEwNywgCi0gICAgMTgsIDE5LCA3MiwgMjI5LCAxMDMsIDE4LCAxOSwgNzIsIDIyOCwgMjMzLCAxOCwgMTksIDcyLCAxOTcsIDE4LCAxOSwgNzIsIAotICAgIDIzMCwgMTAyLCAxOCwgMTksIDcyLCAyMzAsIDE2MSwgMTgsIDE5LCA3MiwgMjMxLCA5MSwgMTgsIDE5LCA3MiwgMjMxLCA4MCwgCi0gICAgMTgsIDE5LCA3MiwgMjMwLCAyMzAsIDE4LCAxOSwgNzIsIDE4NCwgMTgsIDE5LCA3MiwgMjEwLCAyMTIsIDE4LCAxOSwgNzIsIAotICAgIDIxMCwgMjQ0LCAxOCwgMTksIDcyLCAyMTEsIDQ3LCAxOCwgMTksIDcyLCAyMTEsIDQ0LCAxOCwgMTksIDcyLCAyMTEsIDgsIAotICAgIDE4LCAxOSwgNzIsIDE5MSwgMTgsIDE5LCA3MiwgMjM1LCA1MSwgMTgsIDE5LCAyMjEsIDIwOSwgMjM1LCA1MSwgMTgsIDE5LCAKLSAgICA3MiwgMjM1LCA2OCwgMTgsIDE5LCA3MiwgMjM1LCAxMjYsIDE4LCAxOSwgNzIsIDIzNSwgMTI0LCAxOCwgMTksIDcyLCAyMzUsIAotICAgIDEwOCwgMTgsIDE5LCAyMjEsIDIwOSwgMjM1LCAxMDgsIDE4LCAxOSwgNzIsIDIzNSwgMTQxLCAxOCwgMTksIDcyLCAyMzUsIAotICAgIDgxLCAxOCwgMTksIDcyLCAyMzUsIDg1LCAxOCwgMTksIDcyLCAyMzUsIDk1LCAxOCwgMTksIDcyLCAyMzUsIDk0LCAxOCwgCi0gICAgMTksIDcyLCAyMzUsIDkzLCAxOCwgMTksIDcyLCAyMzUsIDk2LCAxOCwgMTksIDcyLCAyMzIsIDk4LCAxOCwgMTksIDcyLCAKLSAgICAyMzIsIDE1NiwgMTgsIDE5LCA3MiwgMjMzLCA1OCwgMTgsIDE5LCA3MiwgMjMzLCA1MCwgMTgsIDE5LCA3MiwgMjMyLCAyNDEsIAotICAgIDE4LCAxOSwgNzIsIDIzMywgMTM1LCAxOCwgMTksIDcyLCAyNDcsIDE0OSwgMTgsIDE5LCA3MiwgMjQ3LCAxNTAsIDE4LCAxOSwgCi0gICAgNzIsIDI0NywgMTU1LCAxOCwgMTksIDcyLCAyNDcsIDE1NCwgMTgsIDE5LCA3MiwgMjQ3LCAxNTEsIDE4LCAxOSwgNzIsIAotICAgIDI0NywgMTU2LCAxOCwgMTksIDcyLCAyMzIsIDI0NCwgMTgsIDE5LCA3MiwgMjMyLCAyNDYsIDE4LCAxOSwgNzIsIDIzMiwgCi0gICAgMjUwLCAxOCwgMTksIDcyLCAyMzIsIDI0OSwgMTgsIDE5LCA3MiwgMjMyLCAyNDgsIDE4LCAxOSwgNzIsIDIzMiwgMjU0LCAKLSAgICAxOCwgMTksIDcyLCAyMTYsIDUwLCAxOCwgMTksIDcyLCAyMTYsIDUyLCAxOCwgMTksIDcyLCAyMTYsIDU1LCAxOCwgMTksIAotICAgIDcyLCAyMTYsIDU0LCAxOCwgMTksIDcyLCAyMTYsIDUzLCAxOCwgMTksIDcyLCAyMTYsIDU2LCAxOCwgMTksIDcyLCAyMTYsIAotICAgIDQ1LCAxOCwgMTksIDcyLCAyMTYsIDQ2LCAxOCwgMTksIDcyLCAyMTYsIDU4LCAxOCwgMTksIDcyLCAyMTYsIDU3LCAxOCwgCi0gICAgMTksIDcyLCAyMTYsIDQ3LCAxOCwgMTksIDcyLCAyMTYsIDU5LCAxOCwgMTksIDcyLCAyMTAsIDEzLCAxOCwgMTksIDcyLCAKLSAgICAyMTAsIDIzLCAxOCwgMTksIDcyLCAyMTAsIDk0LCAxOCwgMTksIDcyLCAyMTAsIDkyLCAxOCwgMTksIDcyLCAyMTAsIDQ0LCAKLSAgICAxOCwgMTksIDcyLCAyMTAsIDExNiwgMTgsIDE5LCA3MiwgMjEwLCAxNTksIDE4LCAxOSwgNzIsIDY1LCAyMTAsIDE1OSwgMTgsIAotICAgIDE5LCA3MiwgMjQ2LCAyOCwgMTgsIDE5LCA3MiwgMjQ2LCAyOSwgMTgsIDE5LCA3MiwgMjQ2LCAzNiwgMTgsIDE5LCA3MiwgCi0gICAgMjQ2LCAzNSwgMTgsIDE5LCA3MiwgMjQ2LCAzMSwgMTgsIDE5LCA3MiwgMjQ2LCAzOCwgMTgsIDE5LCA3MiwgMjE4LCA4MywgCi0gICAgMTgsIDE5LCA3MiwgMjE5LCA1OCwgMTgsIDE5LCA3MiwgMjIxLCAxODEsIDE4LCAxOSwgNzIsIDIyMSwgMTcwLCAxOCwgMTksIAotICAgIDcyLCAyMTksIDE5MSwgMTgsIDE5LCA3MiwgMjA2LCAxOCwgMTksIDcyLCAyMTksIDIyNSwgMTgsIDE5LCA3MiwgMjIwLCA3LCAKLSAgICAxOCwgMTksIDcyLCAyMjAsIDYzLCAxOCwgMTksIDcyLCAyMjAsIDYxLCAxOCwgMTksIDcyLCAyMjAsIDMyLCAxOCwgMTksIAotICAgIDcyLCAyMjAsIDEwMiwgMTgsIDE5LCA3MiwgMjIwLCAxMDQsIDE4LCAxOSwgNzIsIDIxNSwgMTYzLCAxOCwgMTksIDcyLCAKLSAgICAyMTUsIDE2NiwgMTgsIDE5LCA3MiwgMjE1LCAxNzgsIDE4LCAxOSwgNzIsIDIxNSwgMTc3LCAxOCwgMTksIDcyLCAyMTUsIAotICAgIDE2NywgMTgsIDE5LCA3MiwgMjE1LCAxODMsIDE4LCAxOSwgNzIsIDI1MCwgNjksIDE4LCAxOSwgNzIsIDI1MCwgODYsIDE4LCAKLSAgICAxOSwgNzIsIDI1MCwgMTMxLCAxOCwgMTksIDcyLCAyNTAsIDEyOCwgMTgsIDE5LCA3MiwgMjUwLCAxMTAsIDE4LCAxOSwgNzIsIAotICAgIDI1MCwgMTU3LCAxOCwgMTksIDcyLCAyMTUsIDEyNiwgMTgsIDE5LCA3MiwgMjE1LCAxMjcsIDE4LCAxOSwgNzIsIDIxNSwgCi0gICAgMTMwLCAxOCwgMTksIDcyLCAyMTUsIDEyOSwgMTgsIDE5LCA3MiwgMjE1LCAxMjgsIDE4LCAxOSwgNzIsIDIxNSwgMTMxLCAKLSAgICAxOCwgMTksIDI1MCwgMTExLCA1MCwgMTgsIDE5LCAyNDMsIDIyOSwgMjE4LCAxMjksIDE4LCAxOSwgMjI0LCA4MCwgMTgsIAotICAgIDE5LCAyMjksIDczLCAxOCwgMTksIDIyOCwgMTAwLCAxOCwgMTksIDIyOCwgOTksIDE4LCAxOSwgMjI4LCA5OCwgMTgsIDE5LCAKLSAgICAyMjgsIDk3LCAxOCwgMTksIDIyOCwgMTAyLCAxOCwgMTksIDIyOCwgMTAxLCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyNSwgCi0gICAgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjQsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTIzLCAxOCwgMTksIDIxMSwgMjEzLCAKLSAgICAyMTYsIDEyMiwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjEsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTI4LCAxOCwgMTksIAotICAgIDIxMSwgMjEzLCAyMTYsIDEyNywgMTgsIDE5LCAyMTEsIDIxMywgNDAsIDIxNiwgMjEwLCAxOCwgMTksIDI1MSwgMjE4LCAKLSAgICAyMTIsIDk4LCAyMjYsIDIyNiwgMjE5LCAxOSwgNzgsIDIyNiwgMjI2LCAxLCAyNTIsIDQ4LCAyMjYsIDIyNiwgMSwgMjMyLCAKLSAgICA4NywgMjI2LCAyMjYsIDEsIDI0NCwgMTUxLCAyMjYsIDIyNiwgMSwgMjIyLCAxNSwgMjI2LCAyMjYsIDEsIDIyOCwgMTkzLCAKLSAgICAyMjYsIDIyNiwgMSwgMjE0LCAyMjYsIDIyNiwgMjI2LCAxLCAyNDgsIDE5NywgMjI2LCAyMjYsIDEsIDIxNiwgODAsIDIyNiwgCi0gICAgMjI2LCAxLCAyNDksIDIyOSwgMjI2LCAyMjYsIDEsIDI1MCwgMTgwLCAyMjYsIDIyNiwgMSwgMjMwLCA5MSwgMjI2LCAyMjYsIAotICAgIDEsIDI0MiwgMTU2LCAyMjYsIDIyNiwgMSwgMjI5LCA2MywgMjI2LCAyMjYsIDEsIDIxOCwgMTIyLCAyMjYsIDIyNiwgMSwgCi0gICAgMjIyLCAxMzUsIDIyNiwgMjI2LCAxLCAyNTQsIDE5OCwgMjI2LCAyMjYsIDEsIDIyNiwgMTg3LCAyMjYsIDIyNiwgMSwgMjE0LCAKLSAgICAxNTAsIDIyNiwgMjI2LCAxLCAyNDUsIDIzMSwgMjI2LCAyMjYsIDEsIDIzNSwgMTg4LCAyMjYsIDIyNiwgMSwgMjQ1LCAyMzIsIAotICAgIDIyNiwgMjI2LCAxLCAyMjYsIDE1OCwgMjI2LCAyMjYsIDEsIDIxNCwgMjA2LCAyMjYsIDIyNiwgMSwgMjM2LCAzOSwgMjI2LCAKLSAgICAyMjYsIDEsIDI0NSwgMjI5LCAyMjYsIDIyNiwgMSwgMjI1LCAyMDIsIDIyNiwgMjI2LCAyNDQsIDE1MCwgNzgsIDIyNiwgCi0gICAgMjI2LCAyMjMsIDQ5LCAyNDQsIDE1MCwgNzgsIDE3OCwgMSwgMjQ0LCAxNDEsIDI0NCwgMTMzLCAyNDQsIDE1NSwgMjQ1LCA2LCAKLSAgICAxNzgsIDEsIDIxNCwgMTA1LCAxNzgsIDEsIDIxNCwgMTM1LCAyMTQsIDE1MSwgNzAsIDE3OCwgMSwgMjEwLCAyMTQsIDE3OCwgCi0gICAgMSwgMjExLCAxMTcsIDE3OCwgMSwgMjEyLCA5OCwgMTc4LCAxLCAyMTYsIDEzMCwgMjE2LCAxMjksIDIxNiwgMTUxLCAxNzgsIAotICAgIDEsIDI0NSwgNTksIDE3OCwgMSwgMjU0LCA5MywgNjEsIDE3OCwgMSwgMjI2LCAxNDMsIDc2LCAxNzgsIDEsIDI1NSwgMTcsIAotICAgIDYxLCAxNzgsIDEsIDI1NCwgMjI3LCAxNzgsIDEsIDIzMiwgMTMzLCA3NiwgMTc4LCAxLCAyMTksIDI0NCwgNzYsIDE3OCwgMSwgCi0gICAgNzYsIDE3OCwgMSwgMjI2LCAyMzQsIDE3OCwgMSwgMjI2LCAxOTYsIDE3OCwgMSwgMjIzLCAxNjQsIDIyMywgMTc3LCAyMjMsIAotICAgIDk0LCAxNTMsIDE3OCwgMSwgMjM0LCAxOTMsIDE3OCwgMSwgMjUwLCAxNzcsIDE3OCwgMSwgMjM0LCAxOTQsIDIzNSwgMjMsIAotICAgIDE3OCwgMSwgMjQzLCAyMDIsIDE3OCwgMSwgMjQ1LCAxMzgsIDE3OCwgMSwgMjQzLCA1OCwgMjQyLCA2NiwgMjQzLCAyMDIsIAotICAgIDE3OCwgMSwgMjQzLCA5NiwgMTc4LCAxLCAyMTEsIDE4OCwgMjExLCAxODIsIDIxMiwgOTgsIDE3OCwgMSwgMjQyLCAzOCwgCi0gICAgMjQyLCA2MCwgMTc4LCAxLCAyNDIsIDQyLCAyNDIsIDYwLCAxNzgsIDEsIDIzMiwgMTM1LCAyNDIsIDYwLCAxNzgsIDEsIAotICAgIDIxOSwgMjQ3LCAyNDIsIDYwLCAxNzgsIDEsIDIyOSwgMTg1LCAyMjcsIDE1NywgMjI5LCAxODYsIDIzMCwgMjUsIDE3OCwgMSwgCi0gICAgMjE5LCAyNDUsIDIzMCwgMjUsIDE3OCwgMSwgMjQ2LCAxMTUsIDE3OCwgMSwgMjM1LCAxNjgsIDIzNSwgMTcyLCAyMzUsIAotICAgIDE2MiwgNzMsIDE3OCwgMSwgNzUsIDE3OCwgMSwgMjM1LCAxMTcsIDIzNSwgMTQ0LCAxNzgsIDEsIDI0MywgNDMsIDE3OCwgMSwgCi0gICAgMjMyLCAxMzYsIDI1NCwgMjQzLCAxNzgsIDEsIDIxOSwgMjQ5LCA2MSwgMTc4LCAxLCAyMzUsIDE1NCwgMjQ1LCAxMTMsIAotICAgIDE3OCwgMSwgMjI1LCAxNjQsIDIyNSwgMTg2LCAyMjYsIDEwNSwgMTc4LCAxLCAyNTQsIDE2MywgMjQ1LCAxMTEsIDE3OCwgMSwgCi0gICAgMjE5LCAyNCwgMjIyLCA5MSwgMTc4LCAxLCAyMTksIDE3OSwgMjMyLCAxMzIsIDIyMiwgOTEsIDE3OCwgMSwgMjE5LCAyNDMsIAotICAgIDIyMiwgOTEsIDE3OCwgMSwgMjUxLCA2NiwgMTc4LCAxLCAyMTAsIDE1OSwgMTc4LCAxLCAyMTYsIDYzLCAyMTYsIDczLCAKLSAgICAyMTUsIDQxLCAyMTcsIDE1MiwgMTc4LCAxLCAyMTksIDI0MiwgMjE3LCAxNTIsIDE3OCwgMSwgMjQ5LCA2MCwgMTc4LCAxLCAKLSAgICAyNTIsIDMxLCAyNTIsIDM0LCAyNTEsIDIyNCwgMjUzLCAxNTgsIDE3OCwgMSwgMjE5LCAyNDgsIDI1MywgMTU4LCAxNzgsIDEsIAotICAgIDI0NiwgMTE0LCAxNzgsIDEsIDIyNiwgMTcxLCAxNzgsIDEsIDI0NSwgMTk2LCAyNDUsIDE5OCwgNzUsIDE3OCwgMSwgMjMxLCAKLSAgICAxNzgsIDIzMSwgMTg2LCAxOTMsIDE3OCwgMSwgMjMyLCAxMzQsIDE5MywgMTc4LCAxLCAyMTksIDI0NiwgMTkzLCAxNzgsIDEsIAotICAgIDIzMywgNzMsIDIzMywgMTE0LCAyMzIsIDE0MywgMTU2LCAxNzgsIDEsIDI0NiwgMTE2LCAxNzgsIDEsIDIzNSwgMjMwLCAKLSAgICAxNzgsIDEsIDIzNSwgMjMxLCAxNzgsIDEsIDI0OCwgMjEwLCAyNDgsIDIxNSwgMjQ5LCA2MCwgMTc4LCAxLCAyMjYsIDEzOCwgCi0gICAgMjQ1LCA1OCwgNzYsIDE3OCwgMSwgMjQ1LCAyMjcsIDE3OCwgMSwgMjM1LCAxODcsIDE3OCwgMSwgMjQ5LCA3OCwgMTc4LCAxLCAKLSAgICAyNTEsIDE3LCAxNzgsIDEsIDI1MCwgMTg5LCAxNzgsIDEsIDIxOCwgMTYxLCAxNzgsIDEsIDIzMiwgMTMxLCAxNzgsIDEsIAotICAgIDIxOSwgMjQxLCAxNzgsIDEsIDI0MCwgMTEwLCAxNzgsIDEsIDIyNCwgOTYsIDE3OCwgMSwgMjExLCAxNzgsIDE3OCwgMjE5LCAKLSAgICAxNTUsIDIyNCwgMTQwLCAxNzgsIDIzMCwgODUsIDIyNCwgMTQwLCAxNzgsIDI0OSwgMTMxLCAyMjQsIDE0MCwgMTc4LCAyNTQsIAotICAgIDYsIDg3LCAxNzgsIDIxNSwgODIsIDg3LCAxNzgsIDI1MiwgNDYsIDg3LCAyMTcsIDgzLCAxLCA2MSwgMjE3LCA4MywgMSwgCi0gICAgNzMsIDIxNywgODMsIDEsIDcwLCAyMTcsIDgzLCAxLCAxNzYsIDIxNywgODMsIDEsIDI0MywgMTM1LCAyMTcsIDgzLCAxLCAKLSAgICAyMjksIDc3LCAyMTcsIDgzLCAxLCAyMTcsIDEwNSwgMjE3LCA4MywgMSwgMjQ4LCAyMjEsIDIxNywgODMsIDEsIDE5NywgCi0gICAgMjE3LCA4MywgMSwgMTkwLCAyMTcsIDgzLCAxLCAyNTIsIDE5MSwgMjE3LCA4MywgMSwgMTg0LCAyMTcsIDgzLCAxLCAxOTEsIAotICAgIDIxNywgODMsIDEsIDIzMywgMTM1LCAyMTcsIDgzLCAxLCAyMTIsIDY1LCAyMTcsIDgzLCAxLCAyMDYsIDIxNywgODMsIDEsIAotICAgIDE2MiwgMjE3LCA4MywgMjUsIDUsIDczLCAyMTcsIDgzLCAyNSwgNSwgNzAsIDIxNywgODMsIDUsIDIxMywgMTUyLCAyNDIsIAotICAgIDcsIDEsIDYxLCAyNDIsIDcsIDEsIDczLCAyNDIsIDcsIDEsIDcwLCAyNDIsIDcsIDEsIDE3NiwgMjQyLCA3LCAxLCAyNDMsIAotICAgIDEzNSwgMjQyLCA3LCAxLCAyMjksIDc3LCAyNDIsIDcsIDEsIDIxNywgMTA1LCAyNDIsIDcsIDEsIDI0OCwgMjIxLCAyNDIsIAotICAgIDcsIDEsIDE5NywgMjQyLCA3LCAxLCAxOTAsIDI0MiwgNywgMSwgMjUyLCAxOTEsIDI0MiwgNywgMSwgMTg0LCAyNDIsIDcsIAotICAgIDEsIDE5MSwgMjQyLCA3LCAxLCAyMDUsIDI0MiwgNywgMSwgMjMzLCAxMzUsIDI0MiwgNywgMSwgMjEyLCA2NSwgMjQyLCA3LCAKLSAgICAxLCAyMDYsIDI0MiwgNywgMSwgMTYyLCAyNDIsIDcsIDI1LCA1LCA3MywgMjQyLCA3LCAyNSwgNSwgNzAsIDI0MiwgNywgNSwgCi0gICAgMjI2LCA0OSwgMjI1LCAxMjYsIDIxOSwgMTU1LCAyMjQsIDE0MCwgMjI1LCAxMjYsIDUyLCAyMjQsIDE0MCwgMjUxLCAxMjAsIAotICAgIDEsIDYxLCAyNTEsIDEyMCwgMSwgNzMsIDI1MSwgMTIwLCAxLCA3MCwgMjUxLCAxMjAsIDEsIDE3NiwgMjUxLCAxMjAsIDEsIAotICAgIDI0MywgMTM1LCAyNTEsIDEyMCwgMSwgMjI5LCA3NywgMjUxLCAxMjAsIDEsIDIxNywgMTA1LCAyNTEsIDEyMCwgMSwgMjQ4LCAKLSAgICAyMjEsIDI1MSwgMTIwLCAxLCAxOTcsIDI1MSwgMTIwLCAxLCAxOTAsIDI1MSwgMTIwLCAxLCAyNTIsIDE5MSwgMjUxLCAxMjAsIAotICAgIDEsIDE4NCwgMjUxLCAxMjAsIDEsIDE5MSwgMjUxLCAxMjAsIDEsIDIwNSwgMjUxLCAxMjAsIDEsIDIzMywgMTM1LCAyNTEsIAotICAgIDEyMCwgMSwgMjEyLCA2NSwgMjUxLCAxMjAsIDEsIDIwNiwgMjUxLCAxMjAsIDEsIDE2MiwgMjUxLCAxMjAsIDI1LCA1LCA3MywgCi0gICAgMjUxLCAxMjAsIDI1LCA1LCA3MCwgMjE3LCA4MiwgMSwgNjEsIDIxNywgODIsIDEsIDczLCAyMTcsIDgyLCAxLCA3MCwgMjE3LCAKLSAgICA4MiwgMSwgMTc2LCAyMTcsIDgyLCAxLCAyNDMsIDEzNSwgMjE3LCA4MiwgMSwgMjI5LCA3NywgMjE3LCA4MiwgMSwgMjE3LCAKLSAgICAxMDUsIDIxNywgODIsIDEsIDI0OCwgMjIxLCAyMTcsIDgyLCAxLCAxOTcsIDIxNywgODIsIDEsIDE5MCwgMjE3LCA4MiwgMSwgCi0gICAgMjUyLCAxOTEsIDIxNywgODIsIDEsIDE4NCwgMjE3LCA4MiwgMSwgMTkxLCAyMTcsIDgyLCAxLCAyMzMsIDEzNSwgMjE3LCAKLSAgICA4MiwgMSwgMjEyLCA2NSwgMjE3LCA4MiwgMSwgMjA2LCAyMTcsIDgyLCAyNSwgNSwgNzMsIDIxNywgODIsIDI1LCA1LCA3MCwgCi0gICAgNjksIDEsIDE3NiwgNjksIDEsIDIzNCwgMTMyLCA2OSwgMSwgMjM0LCAyOCwgNjksIDEsIDIzNCwgMTA1LCA2OSwgMSwgMjI5LCAKLSAgICA0LCA2OSwgMSwgMjUxLCAzMywgNjksIDEsIDI1MCwgMTU3LCA2OSwgMSwgMjQ5LCAyMzgsIDY5LCAxLCAyNTAsIDg2LCA2OSwgCi0gICAgMSwgMjI3LCAxMzQsIDY5LCAxLCAyNDgsIDIyMSwgNjksIDEsIDIxNSwgMTQ0LCA2OSwgMSwgMjQ3LCAxNDUsIDY5LCAxLCAKLSAgICAyMTUsIDEzOSwgNjksIDEsIDIyOCwgODAsIDY5LCAxLCAyMTcsIDEwNSwgNjksIDEsIDIxNiwgMjA4LCA2OSwgMSwgMTExLCAKLSAgICA2OSwgMSwgMjE2LCAxNTYsIDY5LCAxLCAyMjgsIDc0LCA2OSwgMSwgMjUyLCAxOTEsIDY5LCAxLCAyMjUsIDE0NywgNjksIDEsIAotICAgIDIyNSwgMTYsIDY5LCAxLCAyMjUsIDEyMSwgNjksIDEsIDIzMCwgMTYxLCA2OSwgMSwgMjEwLCAyNDQsIDY5LCAxLCAyMjIsIAotICAgIDIxMSwgNjksIDEsIDIzMiwgMTU2LCA2OSwgMSwgMjEzLCAxMzgsIDY5LCAxLCAyMjAsIDEwMiwgNjksIDEsIDIxOCwgMTg0LCAKLSAgICA2OSwgMSwgMjA2LCA2OSwgMSwgMTYyLCA2OSwgMSwgMjMzLCAxMzUsIDY5LCAxLCAyMjQsIDg4LCA2OSwgMjM1LCAyNDMsIAotICAgIDI1LCAyMjQsIDc0LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDg3LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDUzLCA2OSwgCi0gICAgMjM1LCAyNDMsIDI1LCAyMjQsIDQ4LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDMwLCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIAotICAgIDIsIDY5LCAyMzUsIDI0MywgMjUsIDIyMywgMjQ2LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjMsIDI0NSwgNjksIDIzNSwgMjQzLCAKLSAgICAyNSwgMjIyLCAxMDAsIDY5LCAyMzUsIDI0MywgMjUsIDIyMiwgOTMsIDY5LCAyMzUsIDI0MywgMjUsIDIzMiwgNjIsIDY5LCAKLSAgICAyMzUsIDI0MywgMjUsIDIzMiwgNTIsIDY5LCAyMzUsIDI0MywgMjUsIDIyNCwgNjksIDY5LCAyMzUsIDI0MywgMjUsIDIyNCwgCi0gICAgODAsIDY5LCAyMzUsIDI0MywgMjUsIDIyNCwgMzgsIDIxNSwgNDksIDExMCwgNjksIDIzNSwgMjQzLCAyNSwgMjI0LCAzOCwgCi0gICAgMjE1LCA0OSwgMTA1LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDcwLCA2OSwgMjUsIDIzNSwgMjI5LCAyNTQsIDQ1LCA2OSwgCi0gICAgMjUsIDIzNSwgMjI5LCAyNTUsIDczLCA2OSwgMjUsIDUsIDI1NSwgNzMsIDY5LCAyNSwgNSwgNzMsIDY5LCAyNSwgNSwgMjM2LCAKLSAgICAzMywgNjksIDI1LCA1LCAyMTEsIDExNywgNjksIDI1LCA1LCAyMTAsIDE2OSwgNjksIDI1LCA1LCA3MCwgNjksIDI1LCA1LCAKLSAgICAyMTQsIDExOCwgNjksIDI1LCA1LCAyMTQsIDIyOSwgNjksIDI1LCA1LCAyMjYsIDIzNCwgNjksIDI1LCA1LCAxOTEsIDY5LCAKLSAgICAyNSwgNSwgMjM2LCA2MCwgNjksIDI1LCA1LCA3NSwgNjksIDI1LCA1LCAyNTQsIDI0MywgNjksIDI1LCA1LCAyNTQsIDIwMSwgCi0gICAgNjksIDI1LCA1LCAyMjYsIDE4MywgNjksIDI1LCA1LCAyNTMsIDE5MiwgNjksIDUsIDIyOCwgMjA2LCA2OSwgNSwgMjIzLCAKLSAgICAxMjYsIDY5LCA1LCAyMTAsIDE4MCwgNjksIDUsIDIzMCwgNTIsIDY5LCA1LCAyMTUsIDIxMywgNjksIDUsIDI1MiwgMTQzLCAKLSAgICA2OSwgNSwgMjIyLCAyMDYsIDY5LCA1LCAyMTYsIDQwLCA2OSwgNSwgMjM0LCAyNDEsIDY5LCA1LCAyNTQsIDIwMywgNjksIDUsIAotICAgIDIyMSwgMjQ0LCAyMjEsIDIzOCwgNjksIDUsIDIxMywgMTQ5LCA2OSwgNSwgMjQ5LCAyMzIsIDY5LCA1LCAyNTIsIDExNywgCi0gICAgNjksIDUsIDIzNCwgMTI1LCA2OSwgNSwgMjUyLCAxMzcsIDY5LCA1LCAyNTEsIDksIDIyNSwgNzIsIDIzMywgMTg3LCA2OSwgCi0gICAgNSwgMjMzLCAzMCwgMjE2LCAxNywgNjksIDUsIDI1MiwgMjAsIDY5LCA1LCAyMjUsIDEyMywgMjMwLCA5OSwgNjksIDUsIAotICAgIDIzNCwgOSwgNjksIDI0OSwgOTgsIDE2LCAyMjMsIDI4LCA2OSwgNSwgMjUzLCAxNzQsIDY5LCA1LCAyNTMsIDE5NSwgNjksIAotICAgIDIxLCAyMTAsIDg2LCA2OSwgMjEsIDExMCwgNjksIDIxLCAxMDUsIDY5LCAyMSwgMTU4LCA2OSwgMjEsIDE2MSwgNjksIDIxLCAKLSAgICAxODksIDY5LCAyMSwgMTk0LCA2OSwgMjEsIDE5OCwgNjksIDIxLCAxOTUsIDY5LCAyMSwgMjAwLCA2OSwgMTYsIDIzMywgMzAsIAotICAgIDI1MywgMTk3LCAyMTksIDQzLCA2OSwgMTYsIDIzMywgMzAsIDI1MywgMTk3LCAyMzAsIDcxLCA2OSwgMTYsIDIzMywgMzAsIAotICAgIDI1MywgMTk3LCAyMjUsIDcxLCA2OSwgMTYsIDIzMywgMzAsIDI1MywgMTk3LCAyNTIsIDQ5LCA2OSwgMTYsIDIzMywgMzAsIAotICAgIDI1MywgMTk3LCAyNTEsIDEwMywgNjksIDE2LCAyMzMsIDMwLCAyNTMsIDE5NywgMjI0LCAyMTUsIDY5LCAxNiwgMjMzLCAzMCwgCi0gICAgMjUzLCAxOTcsIDIyNCwgMjA5LCA2OSwgMTYsIDIzMywgMzAsIDI1MywgMTk3LCAyMjQsIDIwNywgNjksIDE2LCAyMzMsIDMwLCAKLSAgICAyNTMsIDE5NywgMjI0LCAyMTMsIDY5LCAxNiwgMjMzLCAzMCwgMjUzLCAxOTcsIDIyNCwgMjExLCA4MywgMjUxLCAyMzYsIAotICAgIDgzLCAyNDUsIDE2MywgODMsIDI0OSwgMjE5LCA4MywgMjQzLCAyMjksIDIxOCwgMTI5LCA4MywgMjQ5LCAyMjYsIDgzLCAKLSAgICAyNDQsIDExLCAyNDcsIDExOCwgODMsIDIxNiwgMzksIDIxOSwgNTIsIDI0MCwgMTY4LCA4MywgMjE5LCAxOTAsIDMsIDI1MSwgCi0gICAgMTcyLCAyMzEsIDE1NCwgODMsIDIzMSwgMTgzLCAyNDksIDIxOSwgODMsIDIzMSwgMTgzLCAyNDMsIDIyOSwgMjE4LCAxMjksIAotICAgIDgzLCAyMjgsIDE5MSwgODMsIDI0MywgMjUzLCA0NSwgMjIxLCAxNTcsIDExMCwgODMsIDI0MywgMjUzLCA0NSwgMjIxLCAKLSAgICAxNTcsIDEwNSwgODMsIDI0MywgMjUzLCA0NSwgMjIxLCAxNTcsIDE1OCwgODMsIDI1LCAyMjAsIDEzNywgODMsIDIxLCAyMTAsIAotICAgIDg2LCA4MywgMjEsIDExMCwgODMsIDIxLCAxMDUsIDgzLCAyMSwgMTU4LCA4MywgMjEsIDE2MSwgODMsIDIxLCAxODksIDgzLCAKLSAgICAyMSwgMTk0LCA4MywgMjEsIDE5OCwgODMsIDIxLCAxOTUsIDgzLCAyMSwgMjAwLCA4MywgMSwgNjEsIDgzLCAxLCA3NSwgODMsIAotICAgIDEsIDczLCA4MywgMSwgNzYsIDgzLCAxLCA3MCwgODMsIDEsIDIyNiwgMjM0LCA4MywgMSwgMjE0LCAyMTQsIDgzLCAxLCAKLSAgICAyNDUsIDIwOSwgODMsIDEsIDE5NywgODMsIDEsIDI1NCwgMTE1LCA4MywgMSwgMjUyLCAxOTEsIDgzLCAxLCAxOTAsIDgzLCAKLSAgICAxLCAyMjQsIDg4LCA4MywgMSwgMjQzLCAxMzUsIDgzLCAxLCAxODQsIDgzLCAxLCAyMzMsIDEzNSwgODMsIDEsIDIwNiwgODMsIAotICAgIDEsIDIyMCwgMTAyLCA4MywgMSwgMjE3LCAxMDUsIDgzLCAxLCAyNDgsIDIyMSwgODMsIDEsIDI1MCwgMTU3LCA4MywgMSwgCi0gICAgMjM1LCAxNDEsIDgzLCAxLCAxOTEsIDgzLCAxLCAyMDUsIDgzLCAxLCAyMTIsIDY1LCA4MywgMSwgMjQ0LCAxOTYsIDgzLCAxLCAKLSAgICAxNzYsIDgzLCAxLCAyMzQsIDEzMiwgODMsIDEsIDIxNSwgMTgzLCA4MywgMSwgMjEwLCAxMTYsIDgzLCAxLCAyNDIsIDQ2LCAKLSAgICA4MywgMSwgMjEwLCAxNiwgODMsIDEsIDIzMiwgMjU0LCA4MywgMSwgMjEwLCA2OSwgODMsIDEsIDI1MCwgMTEwLCA4MywgMSwgCi0gICAgMjE2LCAzOSwgMTk5LCAyNSwgNTAsIDgzLCAxLCAyMTYsIDM5LCA3NSwgODMsIDEsIDIxNiwgMzksIDczLCA4MywgMSwgMjE2LCAKLSAgICAzOSwgNzYsIDgzLCAxLCAyMTYsIDM5LCA3MCwgODMsIDEsIDIxNiwgMzksIDIyNiwgMjM0LCA4MywgMSwgMjE2LCAzOSwgCi0gICAgMjE0LCAyMTQsIDgzLCAxLCAyMTYsIDM5LCAyNTQsIDExNSwgODMsIDEsIDIxNiwgMzksIDI1MiwgMTkxLCA4MywgMSwgMjE2LCAKLSAgICAzOSwgMTkwLCA4MywgMSwgMjE2LCAzOSwgMjI0LCA4OCwgODMsIDEsIDIxNiwgMzksIDI0MywgMTM1LCA4MywgMSwgMjE2LCAKLSAgICAzOSwgMTg0LCA4MywgMSwgMjE2LCAzOSwgMjE3LCAxMDUsIDgzLCAxLCAyMTYsIDM5LCAyNDgsIDIyMSwgODMsIDEsIDIxNiwgCi0gICAgMzksIDI1MCwgMTU3LCA4MywgMSwgMjE2LCAzOSwgMjM1LCAxNDEsIDgzLCAxLCAyMTYsIDM5LCAyMTUsIDE4MywgODMsIDEsIAotICAgIDIxNiwgMzksIDE5MSwgODMsIDEsIDIxNiwgMzksIDIxMiwgNjUsIDgzLCAxLCAyMTYsIDM5LCAxNzYsIDgzLCAxLCAyMTYsIAotICAgIDM5LCAyNDMsIDEzMiwgODMsIDEsIDIxNiwgMzksIDI0MiwgNDYsIDgzLCAxLCAyMTYsIDM5LCAyMzUsIDEwNywgODMsIDEsIAotICAgIDIxNiwgMzksIDIyOCwgMjMxLCA4MywgMSwgMjE2LCAzOSwgMjQ2LCAzOCwgODMsIDEsIDIxOSwgMTkwLCA3NSwgODMsIDEsIAotICAgIDIxOSwgMTkwLCA3MywgODMsIDEsIDIxOSwgMTkwLCAyMzUsIDE1MiwgODMsIDEsIDIxOSwgMTkwLCAyMTQsIDIxNCwgODMsIAotICAgIDEsIDIxOSwgMTkwLCA3MCwgODMsIDEsIDIxOSwgMTkwLCAyNTQsIDExNSwgODMsIDEsIDIxOSwgMTkwLCAxNzYsIDgzLCAxLCAKLSAgICAyMTksIDE5MCwgMjQzLCAxMzUsIDgzLCAxLCAyMTksIDE5MCwgMTYyLCA4MywgMSwgMjE5LCAxOTAsIDE5MCwgODMsIDEsIAotICAgIDIxOSwgMTkwLCAyMjAsIDEwMiwgODMsIDEsIDIxOSwgMTkwLCAyMTcsIDEwNSwgODMsIDEsIDIxOSwgMTkwLCAyNDgsIDIyMSwgCi0gICAgODMsIDEsIDIxOSwgMTkwLCAyMzUsIDE0MSwgODMsIDEsIDIxOSwgMTkwLCAyNDQsIDE5NiwgODMsIDEsIDIxOSwgMTkwLCAKLSAgICAyNDMsIDEzMiwgODMsIDEsIDIxOSwgMTkwLCAyNDIsIDQ2LCA4MywgMSwgMjE5LCAxOTAsIDIxNSwgMTgzLCA4MywgMSwgCi0gICAgMjE5LCAxOTAsIDIxMCwgMTE2LCA4MywgMSwgMjE5LCAxOTAsIDIyMywgMTg0LCA4MywgMSwgMjE5LCAxOTAsIDI1MCwgMTU3LCAKLSAgICA4MywgMSwgMjE5LCAxOTAsIDIxMCwgODIsIDgzLCAxLCAyMzEsIDE4MywgNzMsIDgzLCAxLCAyMzEsIDE4MywgMTc2LCA4MywgCi0gICAgMSwgMjMxLCAxODMsIDIwNSwgODMsIDEsIDIzMSwgMTgzLCAyNDQsIDE5NiwgODMsIDEsIDIzMSwgMTgzLCAyMTAsIDgyLCAKLSAgICA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyNTQsIDc2LCAxMTAsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxMywgCi0gICAgMTQ4LCAxMTAsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDI0OCwgMTg2LCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAKLSAgICAyMTQsIDIyNCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjM1LCAxOTMsIDIxNCwgMjI0LCA4MywgMSwgMjU0LCAxNjIsIAotICAgIDI0MywgMTE2LCAyNTIsIDE1NSwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMTM0LCAyNTIsIDE1NSwgODMsIDEsIDI1NCwgCi0gICAgMTYyLCAyNDMsIDExNiwgNjEsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDczLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgCi0gICAgMTE2LCAxNzYsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIyOSwgNzcsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIAotICAgIDI1MSwgMzMsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxNSwgMTU2LCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAKLSAgICAyMTUsIDE0NCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQ4LCAxMzUsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIAotICAgIDIyOCwgMTEwLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTcsIDEwNSwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgCi0gICAgMjQ4LCAyMjEsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDE5MCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjI1LCAKLSAgICAxNDcsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxOCwgMjIzLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTAsIAotICAgIDgyLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTAsIDExNiwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjU0LCAKLSAgICAyMDksIDgzLCAxLCAyMTYsIDM5LCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxNywgMTA1LCA4MywgMSwgMjE2LCAzOSwgMjU0LCAKLSAgICAxNjIsIDI0MywgMTE2LCAyMTAsIDgyLCA4MywgMSwgMjMxLCAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQyLCAyNDksIAotICAgIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgMTE2LCAyMjksIDc3LCA4MywgMSwgMjMxLCAxODMsIDI1NCwgMTYyLCAKLSAgICAyNDMsIDExNiwgMjUxLCAzMywgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIzNSwgMTE0LCA4MywgMSwgCi0gICAgMjMxLCAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjE1LCAxNTYsIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgCi0gICAgMTE2LCAyNDgsIDExOSwgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxNywgMTA1LCA4MywgMSwgMjMxLCAKLSAgICAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQ4LCAyNSwgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIAotICAgIDIxOCwgMjIzLCA4MywgMSwgMjMxLCAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQ5LCA3MiwgODMsIDEsIDIzMSwgMTgzLCAKLSAgICAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxMCwgODIsIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTAsIAotICAgIDExNiwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMTYzLCA3MCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMTYzLCAKLSAgICAxOTEsIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgMTE2LCAyNTIsIDE4LCA4MywgMSwgMjU0LCAxNjIsIDI0MywgCi0gICAgMTE2LCAyNDgsIDIxMSwgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIzMiwgMjU0LCAxOCwgMTksIAotICAgIDIyNiwgMTA5LCAxOCwgMTksIDI1MywgMTY3LCAxOCwgMTksIDI1NSwgMjgsIDE4LCAxOSwgMjEyLCAyNSwgMTgsIDE5LCAKLSAgICAyMjQsIDIyMSwgMTgsIDE5LCAyMjUsIDIyOSwgMTgsIDE5LCAyMjQsIDEwNSwgMTgsIDE5LCAyMTcsIDMxLCAxOCwgMTksIAotICAgIDIzNCwgMTg5LCAxOCwgMTksIDIzMywgMTc5LCAxOCwgMTksIDIzMSwgMTMyLCAxOCwgMTksIDIyOCwgMzcsIDE4LCAxOSwgCi0gICAgMjI5LCAxODEsIDE4LCAxOSwgMjMzLCA2OCwgMTgsIDE5LCAyMTksIDIyLCAxOCwgMTksIDIyMSwgMjExLCAxOCwgMTksIAotICAgIDIxOSwgMjMyLCAxOCwgMTksIDIyMCwgNjYsIDE4LCAxOSwgMjE5LCAyMDEsIDE4LCAxOSwgMjEwLCAyMjAsIDE4LCAxOSwgCi0gICAgMjExLCA1MiwgMTgsIDE5LCAyMjMsIDEzNCwgMTgsIDE5LCAyMjcsIDE3MSwgMTgsIDE5LCAyMjYsIDIxNiwgMjI3LCAxNzEsIAotICAgIDE4LCAxOSwgMjI3LCAxNzAsIDE4LCAxOSwgMjI2LCAyMTYsIDIyNywgMTcwLCAxOCwgMTksIDIyNywgMTY5LCAxOCwgMTksIAotICAgIDIyNiwgMjE2LCAyMjcsIDE2OSwgMTgsIDE5LCAyMjcsIDE2OCwgMTgsIDE5LCAyMjYsIDIxNiwgMjI3LCAxNjgsIDE4LCAxOSwgCi0gICAgMjIyLCAxMDUsIDE4LCAxOSwgMjIyLCAxMDQsIDE4LCAxOSwgMjIyLCAxMDMsIDE4LCAxOSwgMjIyLCAxMDIsIDE4LCAxOSwgCi0gICAgMjIyLCAxMDEsIDE4LCAxOSwgMjIyLCAxMDksIDE4LCAxOSwgMjI2LCAyMTYsIDIyNiwgMTA1LCAxOCwgMTksIDIyNiwgMjE2LCAKLSAgICAyMTcsIDE1MiwgMTgsIDE5LCAyMjYsIDIxNiwgMjM1LCAyMywgMTgsIDE5LCAyMjYsIDIxNiwgMjUxLCA2NiwgMTgsIDE5LCAKLSAgICAyMjYsIDIxNiwgMTkzLCAxOCwgMTksIDIyNiwgMjE2LCAyMzAsIDI1LCAxOCwgMTksIDIyNiwgMjE2LCAyMjIsIDkxLCAxOCwgCi0gICAgMTksIDIyNiwgMjE2LCAyMjAsIDEwNCwgMTgsIDE5LCAyNDUsIDIxOSwgMjEyLCA5OCwgMTgsIDE5LCAyMTIsIDcsIDIxMiwgCi0gICAgOTgsIDE4LCAxOSwgNDAsIDQsIDIyMiwgMjMzLCAxOCwgMTksIDQwLCAyMjMsIDE1NywgMjQ3LCAxMjAsIDE4LCAxOSwgMjIzLCAKLSAgICAyMjMsIDIyMiwgMTA2LCAxOCwgMTksIDE1OSwgMjMyLCAxMjcsIDE4LCAxOSwgMTU5LCAyMzMsIDEzNCwgMTgsIDE5LCAyMTYsIAotICAgIDEyNiwgMTgsIDE5LCAyMTYsIDEyOCwgMTgsIDE5LCAyMTUsIDEzNiwgMTgsIDE5LCAyMTUsIDEzOCwgMTgsIDE5LCAyMTUsIAotICAgIDE0MywgMTgsIDE5LCAyMTYsIDQ5LCAxOCwgMTksIDIxNiwgNTEsIDE4LCAxOSwgMjIxLCAyMDksIDIxOSwgMjA2LCAxOCwgCi0gICAgMTksIDIyMSwgMjA5LCAyMjAsIDEsIDE4LCAxOSwgMjIxLCAyMDksIDI0MSwgNTMsIDE4LCAxOSwgNzIsIDI0MiwgNzMsIDE4LCAKLSAgICAxOSwgNzIsIDI0OCwgNTIsIDI0MywgNTUsIDE4LCAxOSwgNzIsIDI0MywgMTMyLCAxOCwgMTksIDcyLCAyNDIsIDc4LCAxOCwgCi0gICAgMTksIDIyMSwgMjA5LCAyMzUsIDMzLCAxOCwgMTksIDcyLCAyMzUsIDMxLCAxOCwgMTksIDI1MiwgNjgsIDI0OCwgNTIsIAotICAgIDE1NiwgMTgsIDE5LCAyNTIsIDY4LCAyNDgsIDUyLCAxNTMsIDE4LCAxOSwgNzIsIDI0OCwgNDcsIDIyMiwgOTEsIDIzMiwgCi0gICAgMjIzLCAyMTMsIDEyMiwgMjMzLCAxMCwgMjMyLCAyMjMsIDEsIDE3NiwgMjMyLCAyMjMsIDEsIDIzNCwgMTMyLCAyMzIsIAotICAgIDIyMywgMSwgMjQzLCAxMzUsIDIzMiwgMjIzLCAxLCAyNDIsIDI0OSwgMjMyLCAyMjMsIDEsIDIyOSwgNzcsIDIzMiwgMjIzLCAKLSAgICAxLCAyNTEsIDMzLCAyMzIsIDIyMywgMSwgMjUwLCAxNTcsIDIzMiwgMjIzLCAxLCAyMzUsIDE0MSwgMjMyLCAyMjMsIDEsIAotICAgIDIzNSwgMTE0LCAyMzIsIDIyMywgMSwgMjExLCA3MSwgMjMyLCAyMjMsIDEsIDIxNywgMTA1LCAyMzIsIDIyMywgMSwgMjE2LCAKLSAgICAyMDgsIDIzMiwgMjIzLCAxLCAyNDgsIDIyMSwgMjMyLCAyMjMsIDEsIDI0OCwgMjUsIDIzMiwgMjIzLCAxLCAxOTcsIDIzMiwgCi0gICAgMjIzLCAxLCAxOTAsIDIzMiwgMjIzLCAxLCAyMjUsIDE0NywgMjMyLCAyMjMsIDEsIDI1MiwgMTkxLCAyMzIsIDIyMywgMSwgCi0gICAgMjUyLCAxOCwgMjMyLCAyMjMsIDEsIDE4NCwgMjMyLCAyMjMsIDEsIDE5MSwgMjMyLCAyMjMsIDEsIDIwNSwgMjMyLCAyMjMsIAotICAgIDEsIDIzMywgMTM1LCAyMzIsIDIyMywgMSwgMjEyLCA2NSwgMjMyLCAyMjMsIDEsIDIyMCwgMTAyLCAyMzIsIDIyMywgMSwgCi0gICAgMjE4LCAyMjMsIDIzMiwgMjIzLCAxLCAyMDYsIDIzMiwgMjIzLCAxLCAxNjIsIDIzMiwgMjIzLCAyNSwgNSwgNjEsIDIzMiwgCi0gICAgMjIzLCAyNSwgNSwgNzMsIDIzMiwgMjIzLCAyNSwgNSwgNzAsIDIzMiwgMjIzLCAyNSwgNSwgMjQ1LCAyMDksIDIzMiwgMjIzLCAKLSAgICAyNSwgNSwgMjU0LCAyMDEsIDIzMiwgMjIzLCAyNSwgNSwgMjI2LCAxODMsIDIzMiwgMjIzLCAyNSwgNSwgMjUzLCAxOTIsIAotICAgIDIzMiwgMjIzLCAyNSwgNSwgNzUsIDIzMiwgMjIzLCAyNSwgNSwgNzYsIDIzMiwgMjIzLCAyMTgsIDczLCAxLCAxOTEsIDIzMiwgCi0gICAgMjIzLCAyMTgsIDczLCAxLCAyMDUsIDIzMiwgMjIzLCAyMTgsIDczLCAxLCAyMTIsIDY1LCAyMzIsIDIyMywgNCwgMSwgMTc2LCAKLSAgICAyMzIsIDIyMywgNCwgMSwgMjI5LCA3NywgMjMyLCAyMjMsIDQsIDEsIDI1NCwgNzUsIDIzMiwgMjIzLCA0LCAxLCAyMTcsIAotICAgIDEwNSwgMjMyLCAyMjMsIDQsIDEsIDE5NywgMjMyLCAyMjMsIDQsIDEsIDE5MCwgMjMyLCAyMjMsIDQsIDEsIDE4NCwgMjMyLCAKLSAgICAyMjMsIDQsIDEsIDIwNSwgMjMyLCAyMjMsIDQsIDEsIDIzMywgMTM1LCAyMzIsIDIyMywgNSwgMjMwLCA4OSwgMjMyLCAyMjMsIAotICAgIDUsIDIzNCwgMTcxLCAyMzIsIDIyMywgNSwgMjIyLCAzMiwgMjMyLCAyMjMsIDUsIDIzMiwgMTI3LCAyMzIsIDIyMywgMjQ1LCAKLSAgICAzMSwgNzgsIDIzMiwgMjIzLCAyMjQsIDEzLCA3OCwgMjMyLCAyMjMsIDIxLCAyMTAsIDg2LCAyMzIsIDIyMywgMjEsIDExMCwgCi0gICAgMjMyLCAyMjMsIDIxLCAxMDUsIDIzMiwgMjIzLCAyMSwgMTU4LCAyMzIsIDIyMywgMjEsIDE2MSwgMjMyLCAyMjMsIDIxLCAKLSAgICAxODksIDIzMiwgMjIzLCAyMSwgMTk0LCAyMzIsIDIyMywgMjEsIDE5OCwgMjMyLCAyMjMsIDIxLCAxOTUsIDIzMiwgMjIzLCAKLSAgICAyMSwgMjAwLCAzOSwgMjMzLCA1OSwgMSwgMTc2LCAzOSwgMjMzLCA1OSwgMSwgMjExLCAxNjUsIDM5LCAyMzMsIDU5LCAxLCAKLSAgICAyMjksIDc3LCAzOSwgMjMzLCA1OSwgMSwgMjE1LCAxODMsIDM5LCAyMzMsIDU5LCAxLCAyMDYsIDM5LCAyMzMsIDU5LCAxLCAKLSAgICAxOTEsIDM5LCAyMzMsIDU5LCAxLCAyMTcsIDEwNSwgMzksIDIzMywgNTksIDEsIDIxNiwgMjA4LCAzOSwgMjMzLCA1OSwgMSwgCi0gICAgMjMzLCAxMzUsIDM5LCAyMzMsIDU5LCAxLCAxOTAsIDM5LCAyMzMsIDU5LCAxLCAyMjUsIDE0NywgMzksIDIzMywgNTksIDEsIAotICAgIDE4NCwgMzksIDIzMywgNTksIDEsIDI0NCwgMTk2LCAzOSwgMjMzLCA1OSwgMSwgMjE0LCAyNywgMzksIDIzMywgNTksIDEsIAotICAgIDE2MiwgMzksIDIzMywgNTksIDEsIDIyNCwgODgsIDM5LCAyMzMsIDU5LCAxLCAyMzQsIDEzMiwgMzksIDIzMywgNTksIDEsIAotICAgIDIxNSwgMTc1LCAzOSwgMjMzLCA1OSwgMSwgMTk3LCAzOSwgMjMzLCA1OSwgMSwgNjEsIDM5LCAyMzMsIDU5LCAxLCA3MywgCi0gICAgMzksIDIzMywgNTksIDEsIDI0NSwgMjA5LCAzOSwgMjMzLCA1OSwgMSwgMjQ1LCAxOTcsIDM5LCAyMzMsIDU5LCAxLCA3MCwgCi0gICAgMzksIDIzMywgNTksIDEsIDIyNiwgMTgzLCAzOSwgMjMzLCA1OSwgMSwgNzYsIDM5LCAyMzMsIDU5LCAxLCAyMTQsIDIxNCwgCi0gICAgMzksIDIzMywgNTksIDEsIDc1LCAzOSwgMjMzLCA1OSwgMSwgMjUzLCAxOTAsIDM5LCAyMzMsIDU5LCAxLCAyNTQsIDIwMSwgCi0gICAgMzksIDIzMywgNTksIDEsIDIxNiwgMjgsIDM5LCAyMzMsIDU5LCAxLCAyMTYsIDI3LCAzOSwgMjMzLCA1OSwgMSwgMjE2LCAKLSAgICAyNiwgMzksIDIzMywgNTksIDEsIDIxNiwgMjUsIDM5LCAyMzMsIDU5LCAxLCAyMTYsIDI0LCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDEyNSwgMjI0LCA4OCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIyNCwgODgsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxNzYsIAotICAgIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTEsIDE2NSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIyOSwgNzcsIDE2NiwgMzksIAorICAgIDE2NCwgMjUxLCAxMzEsIDIyMiwgMTQ0LCA2MywgMTY0LCAyMjksIDY5LCAyNTEsIDY5LCAyMjcsIDE1MCwgMjEwLCAyNSwgCisgICAgNjMsIDE2NCwgMjUwLCAyNDAsIDI1NSwgMTY0LCAyMjIsIDE0NSwgMjUxLCA3MCwgMjMwLCAyMDMsIDI1MSwgOCwgNjMsIAorICAgIDE2NCwgMjI5LCA2OSwgMjUxLCA2OSwgMjIwLCAxMDcsIDIyMiwgMTQ0LCA2MywgMTY0LCAyNTAsIDEzMywgMjMwLCAyNDgsIAorICAgIDYzLCAxNjQsIDIxNSwgMTg1LCAyNTUsIDE2MSwgNjMsIDE2NCwgMjQyLCAxMDEsIDIyMiwgMTQ1LCAyNDIsIDY0LCA2MywgCisgICAgMTY0LCAyNDIsIDEwMSwgMjIyLCAxNDUsIDI0MiwgNzAsIDYzLCAxNjQsIDI1NCwgMTE3LCAyMzQsIDEyNCwgMjQyLCA2NCwgCisgICAgNjMsIDE2NCwgMjU0LCAxMTcsIDIzNCwgMTI0LCAyNDIsIDcwLCA2MywgNSwgMjExLCA2NSwgMjE1LCAxNzIsIDYzLCA1LCAKKyAgICAyMzEsIDE2OCwgMjE1LCAxNzIsIDYzLCAxLCAxNzYsIDYzLCAxLCAyMzQsIDEzMywgNjMsIDEsIDI0MywgMTM2LCA2MywgMSwgCisgICAgMjQyLCAyNTAsIDYzLCAxLCAyMjksIDc4LCA2MywgMSwgMjUxLCAzNCwgNjMsIDEsIDI1MCwgMTU4LCA2MywgMSwgMjM1LCAKKyAgICAxNDIsIDYzLCAxLCAyMjcsIDE2NiwgNjMsIDEsIDIxNSwgMTU3LCA2MywgMSwgMjE1LCAxNDUsIDYzLCAxLCAyNDgsIDEzNiwgCisgICAgNjMsIDEsIDI0OCwgMTIwLCA2MywgMSwgMjI4LCAxMTEsIDYzLCAxLCAyMTcsIDEwNiwgNjMsIDEsIDIxNiwgMjA5LCA2MywgCisgICAgMSwgMjQ4LCAyMjIsIDYzLCAxLCAyNDgsIDI2LCA2MywgMSwgMTk3LCA2MywgMSwgMTkwLCA2MywgMSwgMjI1LCAxNDgsIDYzLCAKKyAgICAxLCAyNTIsIDE5MiwgNjMsIDEsIDI1MiwgMTksIDYzLCAxLCAxODUsIDYzLCAxLCAyMTUsIDE4NCwgNjMsIDEsIDIxNSwgCisgICAgMTc2LCA2MywgMSwgMjQ2LCAzOSwgNjMsIDEsIDI0NiwgMzQsIDYzLCAxLCAyMTIsIDY1LCA2MywgMSwgMjEwLCA4MiwgNjMsIAorICAgIDEsIDIxMCwgMTE2LCA2MywgMSwgMjU1LCAxNjcsIDYzLCAxLCAxOTEsIDYzLCAxLCAyMDUsIDYzLCAxLCAyMzMsIDEzNiwgCisgICAgNjMsIDEsIDIyMCwgMTAzLCA2MywgMSwgMjE4LCAyMjQsIDYzLCAxLCAyMDYsIDYzLCAxLCAxNjIsIDYzLCAxLCA2MSwgNjMsIAorICAgIDEsIDIzMywgMjMyLCA2MywgMSwgMjQ0LCA3OCwgMjA1LCA2MywgMSwgMjM0LCA0NywgNjMsIDEsIDIyMiwgMTgwLCA2MywgCisgICAgMjUsIDUsIDI1NSwgNzQsIDYzLCAyNSwgNSwgNzMsIDYzLCAyNSwgNSwgMjM2LCAzNCwgNjMsIDI1LCA1LCA3MCwgNjMsIDI1LCAKKyAgICA1LCAyMTQsIDExOCwgNjMsIDI1LCA1LCAxNDksIDE1MywgNjMsIDI1LCA1LCAxNDksIDIyMiwgMTgxLCA2MywgMjUsIDUsIAorICAgIDE0OSwgMTU2LCA2MywgMjUsIDUsIDE0OSwgMjMyLCAxODYsIDYzLCAyNSwgNSwgNzUsIDYzLCAyNSwgNSwgMjQ1LCAyMTAsIAorICAgIDYzLCAyNSwgNSwgNzYsIDYzLCAyNSwgNSwgMjI2LCAxODQsIDYzLCA1LCAyMjIsIDIyMiwgMjE4LCA4NSwgMjI5LCA3OSwgCisgICAgMjIyLCAyMTIsIDYzLCA1LCAyMjIsIDIxNywgMjUyLCA3NywgNjMsIDI1LCA1LCAyMjMsIDUwLCA3MywgNjMsIDI1LCA1LCAKKyAgICAyMjMsIDUwLCAyMzYsIDM0LCA2MywgNSwgMjI3LCAxNTAsIDIxMCwgMjYsIDIyOSwgMjI3LCAyNDgsIDIyMiwgNjMsIDUsIAorICAgIDIxOSwgNzIsIDIzMywgNjEsIDYzLCAxNjQsIDI0MiwgMzAsIDYzLCAxNjQsIDIyNiwgNTgsIDYzLCA1LCAyMzMsIDY0LCAKKyAgICAyMjIsIDE0NCwgNjMsIDUsIDIxMSwgNzAsIDIyMiwgMTQ0LCA2MywgNSwgMjMzLCA2NSwgMjE1LCAxODUsIDI1MSwgOCwgNjMsIAorICAgIDUsIDIzMSwgOTYsIDI1MSwgOCwgNjMsIDUsIDI0MiwgMTIwLCAyNTEsIDksIDIyMywgNDEsIDYzLCA1LCAyNDIsIDEyMCwgCisgICAgMjMxLCA4NiwgMjIzLCA0MSwgNjMsIDUsIDIzNSwgMTk0LCAyMzEsIDk2LCAyNTEsIDgsIDYzLCAyMTgsIDc0LCA1LCAyMzMsIAorICAgIDY1LCAyMTUsIDE4NSwgMjUxLCA4LCA2MywgMjE4LCA3NCwgNSwgMjMxLCA5NiwgMjUxLCA4LCA2MywgMjE4LCA3NCwgNSwgCisgICAgMjM1LCAxOTQsIDIzMSwgOTYsIDI1MSwgOCwgNjMsIDIxOCwgNzQsIDEsIDE3NiwgNjMsIDIxOCwgNzQsIDEsIDIzNCwgMTMzLCAKKyAgICA2MywgMjE4LCA3NCwgMSwgMjQzLCAxMzYsIDYzLCAyMTgsIDc0LCAxLCAyNDIsIDI1MCwgNjMsIDIxOCwgNzQsIDEsIDIyOSwgCisgICAgNzgsIDYzLCAyMTgsIDc0LCAxLCAyNTEsIDM0LCA2MywgMjE4LCA3NCwgMSwgMjUwLCAxNTgsIDYzLCAyMTgsIDc0LCAxLCAKKyAgICAyMzUsIDE0MiwgNjMsIDIxOCwgNzQsIDEsIDIyNywgMTY2LCA2MywgMjE4LCA3NCwgMSwgMjE1LCAxNTcsIDYzLCAyMTgsIAorICAgIDc0LCAxLCAyMTUsIDE0NSwgNjMsIDIxOCwgNzQsIDEsIDI0OCwgMTM2LCA2MywgMjE4LCA3NCwgMSwgMjQ4LCAxMjAsIDYzLCAKKyAgICAyMTgsIDc0LCAxLCAyMjgsIDExMSwgNjMsIDIxOCwgNzQsIDEsIDIxNywgMTA2LCA2MywgMjE4LCA3NCwgMSwgMjE2LCAyMDksIAorICAgIDYzLCAyMTgsIDc0LCAxLCAyNDgsIDIyMiwgNjMsIDIxOCwgNzQsIDEsIDI0OCwgMjYsIDYzLCAyMTgsIDc0LCAxLCAxOTcsIAorICAgIDYzLCAyMTgsIDc0LCAxLCAxOTAsIDYzLCAyMTgsIDc0LCAxLCAyMjUsIDE0OCwgNjMsIDIxOCwgNzQsIDEsIDI1MiwgMTkyLCAKKyAgICA2MywgMjE4LCA3NCwgMSwgMjUyLCAxOSwgNjMsIDIxOCwgNzQsIDEsIDE4NSwgNjMsIDIxOCwgNzQsIDEsIDIxNSwgMTg0LCAKKyAgICA2MywgMjE4LCA3NCwgMSwgMjE1LCAxNzYsIDYzLCAyMTgsIDc0LCAxLCAyNDYsIDM5LCA2MywgMjE4LCA3NCwgMSwgMjQ2LCAKKyAgICAzNCwgNjMsIDIxOCwgNzQsIDEsIDIxMiwgNjUsIDYzLCAyMTgsIDc0LCAxLCAyMTAsIDgyLCA2MywgMjE4LCA3NCwgMSwgCisgICAgMjEwLCAxMTYsIDYzLCAyMTgsIDc0LCAxLCAyNTUsIDE2NywgNjMsIDIxOCwgNzQsIDEsIDE5MSwgNjMsIDIxOCwgNzQsIDEsIAorICAgIDIwNSwgNjMsIDIxOCwgNzQsIDEsIDIzMywgMTM2LCA2MywgMjE4LCA3NCwgMSwgMjIwLCAxMDMsIDYzLCAyMTgsIDc0LCAxLCAKKyAgICAyMTgsIDIyNCwgNjMsIDIxOCwgNzQsIDEsIDIwNiwgNjMsIDIxOCwgNzQsIDEsIDE2MiwgNjMsIDIxOCwgNzQsIDEsIDYxLCAKKyAgICA2MywgMjE4LCA3NCwgMSwgMjMzLCAyMzIsIDYzLCAyMTgsIDc0LCAxLCAyNDQsIDc4LCAyMTIsIDY1LCA2MywgMjE4LCA3NCwgCisgICAgMSwgMjQ0LCA3OCwgMTkxLCA2MywgMjE4LCA3NCwgMSwgMjQ0LCA3OCwgMjA1LCA2MywgMjMzLCAyMTksIDIyMiwgMTQyLCAKKyAgICAyMzQsIDEzMywgNjMsIDIzMywgMjE5LCAyMjIsIDE0MiwgMjM0LCAxMzQsIDI1MSwgNzAsIDIzMCwgMjAzLCAyNTEsIDgsIAorICAgIDYzLCAyNTAsIDI1MywgNSwgMTE0LCAyNTIsIDcxLCA2MywgMjUwLCAyNTMsIDUsIDE5MiwgMjUyLCA3MSwgNjMsIDI1MCwgCisgICAgMjUzLCA1LCAyNTAsIDI1NCwgMjE3LCAyMSwgNjMsIDI1MCwgMjUzLCA1LCAyMjEsIDIwOCwgMjU1LCAxNjYsIDYzLCAxNiwgCisgICAgMjQ2LCA5MiwgMjUxLCAxMjYsIDYzLCAxNiwgMjIzLCAxMzAsIDIyMiwgMjIzLCA2MywgMTYsIDIyNiwgNzgsIDI0MywgNjQsIAorICAgIDYzLCAxNiwgMjIzLCAxMzAsIDIyMiwgMjI0LCAyMjMsIDQzLCAyNDIsIDE0NiwgNjMsIDE2LCAyMjUsIDExMywgMTkwLCA2MywgCisgICAgMTYsIDIyOCwgNjAsIDI1MSwgMTI2LCA2MywgMTYsIDIyOCwgNjAsIDI1MSwgMTI3LCAyMjcsIDE0MCwgMjU1LCAxNjMsIDYzLCAKKyAgICAxNiwgMjI4LCA2MCwgMjUxLCAxMjcsIDI0MiwgMTE4LCAyNTUsIDE2MywgNjMsIDE2LCAyMjgsIDYwLCAyNTEsIDEyNywgCisgICAgMjUxLCA3MCwgMjU1LCAxNjMsIDYzLCA1LCAyMjMsIDEzMSwgMjI5LCAyMjAsIDIyMywgMTMxLCAyNDcsIDE1OSwgNjMsIDUsIAorICAgIDIyMywgMTMxLCAyMjksIDIyMCwgMjQyLCAxMTcsIDYzLCAxNjQsIDI1MSwgMTMwLCAyMjAsIDQsIDI0MiwgMjE2LCAyMzAsIAorICAgIDI0OSwgMjIzLCA0MiwgNjMsIDE2NCwgMjMwLCAxNjQsIDIxMSwgMCwgMjQyLCAyMTYsIDIzMCwgMjQ5LCAyMjMsIDQyLCA2MywgCisgICAgMTY0LCAyMjcsIDE0MCwgMjE1LCAxNzMsIDYzLCAxNjQsIDY1LCAyNTEsIDE1MywgMjIyLCAyMTQsIDIxMSwgMCwgMjMwLCAKKyAgICAyNDksIDIzMSwgOTQsIDE4NSwgNjMsIDE2NCwgMjQ5LCAyNTMsIDI1MSwgMTUzLCAyMjIsIDIxNCwgMjExLCAwLCAyMzAsIAorICAgIDI0OSwgMjIwLCAxMTAsIDE4NSwgMjIyLCAyNTEsIDIxOCwgMCwgNTAsIDIzMywgNDYsIDIxOCwgMCwgNTAsIDIyMiwgMjUxLCAKKyAgICAyMTgsIDAsIDUsIDIsIDI0NywgMTE5LCAyMzMsIDQ2LCAyMTgsIDAsIDUsIDIsIDI0NywgMTE5LCA2MywgMTY0LCAyMzMsIAorICAgIDU2LCAyMzEsIDk3LCAyMjIsIDE0NCwgNjMsIDE2NCwgMjE1LCAyNTEsIDIzMSwgOTcsIDIyMiwgMTQ0LCA2OCwgMSwgMTc2LCAKKyAgICA2OCwgMSwgMjM0LCAxMzMsIDY4LCAxLCAyNDMsIDEzNiwgNjgsIDEsIDI0MiwgMjUwLCA2OCwgMSwgMjI5LCA3OCwgNjgsIDEsIAorICAgIDI1MSwgMzQsIDY4LCAxLCAyNTAsIDE1OCwgNjgsIDEsIDIzNSwgMTQyLCA2OCwgMSwgMjM1LCAxMTUsIDY4LCAxLCAyMjcsIAorICAgIDE2NiwgNjgsIDEsIDIyOCwgNzcsIDY4LCAxLCAyMTUsIDE1NywgNjgsIDEsIDIxNSwgMTQ1LCA2OCwgMSwgMjQ4LCAxMzYsIAorICAgIDY4LCAxLCAyNDgsIDEyMCwgNjgsIDEsIDIyOCwgMTExLCA2OCwgMSwgMjE3LCAxMDYsIDY4LCAxLCAyMTYsIDIwOSwgNjgsIAorICAgIDEsIDI0OCwgMjIyLCA2OCwgMSwgMjQ4LCAyNiwgNjgsIDEsIDE5NywgNjgsIDEsIDE5MCwgNjgsIDEsIDIyNSwgMTQ4LCA2OCwgCisgICAgMSwgMjUyLCAxOTIsIDY4LCAxLCAyNTIsIDE5LCA2OCwgMSwgMTg1LCA2OCwgMSwgMTkxLCA2OCwgMSwgMjA1LCA2OCwgMSwgCisgICAgMjMzLCAxMzYsIDY4LCAxLCAyMTIsIDY1LCA2OCwgMSwgMjA2LCA2OCwgMSwgMTYyLCA2OCwgMSwgMjMyLCAxODUsIDY4LCAxLCAKKyAgICA2MSwgNjgsIDEsIDIyMCwgODcsIDYxLCA2OCwgMSwgNzMsIDY4LCAxLCAyMzYsIDM0LCA2OCwgMSwgNzAsIDY4LCAxLCAyMTQsIAorICAgIDExOCwgNjgsIDEsIDc1LCA2OCwgMSwgMjMwLCAxNTIsIDc1LCA2OCwgMSwgNzYsIDY4LCAxLCAyNTMsIDE5MywgNjgsIDI1LCAKKyAgICA1LCAyMTcsIDY1LCAyNTUsIDc0LCA2OCwgMjUsIDUsIDI1NSwgNzQsIDY4LCAyNSwgNSwgNzMsIDY4LCAyNSwgNSwgMjM2LCAKKyAgICAzNCwgNjgsIDI1LCA1LCA3MCwgNjgsIDI1LCA1LCAyMTQsIDExOCwgNjgsIDI1LCA1LCA3NSwgNjgsIDI1LCA1LCAyNTQsIAorICAgIDIwMiwgNjgsIDI1LCA1LCAyMzAsIDE1MiwgMjM2LCAzNCwgNjgsIDI1LCA1LCAyMzAsIDE1MiwgNzYsIDY4LCAyNSwgNSwgCisgICAgMTYwLCA0OCwgNjgsIDUsIDI1NCwgNzYsIDY4LCA1LCA1OSwgNTEsIDY4LCA1LCAyMTMsIDE0NywgNjgsIDUsIDIxMywgMTUyLCAKKyAgICA2OCwgNSwgMjUzLCAyMzYsIDY4LCAxMTYsIDUsIDE0NywgMTkxLCA2OCwgMTE2LCA1LCAxNDcsIDIwNSwgNjgsIDExNiwgNSwgCisgICAgMTQ3LCAyMTIsIDY1LCA2OCwgMTE2LCA1LCAxNDcsIDE2MiwgNjgsIDEsIDI0MiwgMTMzLCAyMDYsIDY4LCAyMSwgMjEwLCAKKyAgICA4NiwgNjgsIDIxLCAxMTAsIDY4LCAyMSwgMTA1LCA2OCwgMjEsIDE1OCwgNjgsIDIxLCAxNjEsIDY4LCAyMSwgMTg5LCA2OCwgCisgICAgMjEsIDE5NCwgNjgsIDIxLCAxOTgsIDY4LCAyMSwgMTk1LCA2OCwgMjEsIDIwMCwgNjgsIDUsIDIzMiwgMTkzLCAyMjEsIAorICAgIDE3MywgNjgsIDUsIDIyMSwgMTczLCA2OCwgMTYsIDIzMiwgMTU0LCA2OCwgMTYsIDI0OSwgMjE0LCA2OCwgMTYsIDI1NCwgCisgICAgMjIxLCA2OCwgMTYsIDI0MywgNDksIDY4LCAxLCAyMjAsIDEwMywgNjgsIDEsIDIxOCwgMjI0LCA2OCwgMSwgMTQ5LCAxNTMsIAorICAgIDY4LCAxLCAxNDksIDIyMiwgMTgxLCA2OCwgMSwgMTQ5LCAxNTYsIDY4LCAxLCAxNDksIDIzMiwgMTg2LCA2OCwgMjUsIDUsIAorICAgIDE0OSwgMTUzLCA2OCwgMjUsIDUsIDE0OSwgMjIyLCAxODEsIDY4LCAyNSwgNSwgMTQ5LCAxNTYsIDY4LCAyNSwgNSwgMTQ5LCAKKyAgICAyMzIsIDE4NiwgNjgsIDEsIDIzMCwgMTUyLCAyMjksIDc4LCA2OCwgMSwgMjMwLCAxNTIsIDIzNSwgMTE1LCA2OCwgMSwgCisgICAgMjMwLCAxNTIsIDI1MiwgMTEyLCA2OCwgMSwgMjMwLCAxNTIsIDI1MiwgMTA3LCA2OCwgMTE2LCA1LCAyMzAsIDE1MiwgMTQ3LCAKKyAgICAxOTcsIDY4LCAxMTYsIDUsIDIzMCwgMTUyLCAxNDcsIDE4NSwgNjgsIDExNiwgNSwgMjMwLCAxNTIsIDE0NywgMjMzLCAxMzYsIAorICAgIDY4LCAxLCAyMjAsIDEwOSwgMjM0LCAyMTQsIDIyMCwgMTAzLCA2OCwgMjUsIDUsIDIyMCwgMTA5LCAyMzQsIDIxNCwgMjQ1LCAKKyAgICA1NiwgNjgsIDEzOCwgMTY0LCAyMjAsIDEwOSwgMjM0LCAyMTQsIDI0MSwgMjQ4LCA2OCwgMTM4LCAxNjQsIDIyMCwgMTA5LCAKKyAgICAyMzQsIDIxNCwgMjM0LCAxODQsIDIyNSwgMTIyLCA2OCwgMSwgMjEyLCA3LCAyMjQsIDEwOSwgMjM0LCAyMTQsIDIxNiwgCisgICAgMjA5LCA2OCwgMSwgMjEyLCA3LCAyMjQsIDEwOSwgMjM0LCAyMTQsIDIyNCwgMTE1LCA2OCwgMjUsIDUsIDIxMiwgNywgMjI0LCAKKyAgICAxMDksIDIzNCwgMjE0LCAyNDUsIDU2LCA2OCwgMjUsIDUsIDIxMiwgNywgMjI0LCAxMDksIDIzNCwgMjE0LCAyMTQsIDIxNCwgCisgICAgNjgsIDUsIDIxMiwgNywgMjI0LCAxMDksIDIzNCwgMjE0LCAyMTYsIDMwLCA2OCwgNSwgMjEyLCA3LCAyMjQsIDEwOSwgMjM0LCAKKyAgICAyMTQsIDIxNiwgMjksIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTA5LCAyMzQsIDIxNCwgMjE2LCAyOCwgNjgsIDUsIDIxMiwgNywgCisgICAgMjI0LCAxMDksIDIzNCwgMjE0LCAyMTYsIDI3LCA2OCwgNSwgMjEyLCA3LCAyMjQsIDEwOSwgMjM0LCAyMTQsIDIxNiwgMjYsIAorICAgIDY4LCAxLCAyNDUsIDIyMCwgMjI0LCAxMDksIDIzNCwgMjE0LCAyMjgsIDExMSwgNjgsIDEsIDI0NSwgMjIwLCAyMjQsIDEwOSwgCisgICAgMjM0LCAyMTQsIDIxMCwgMTc2LCA2OCwgMSwgMjQ1LCAyMjAsIDIyNCwgMTA5LCAyMzQsIDIxNCwgMjQyLCAyMTgsIDY4LCAKKyAgICAyNSwgNSwgMjQzLCA2MCwgMjM0LCAyMTQsIDczLCA2OCwgMjUsIDUsIDIzNCwgMTg5LCAyMjYsIDIzNSwgNjgsIDI1LCA1LCAKKyAgICAyMzQsIDE4OSwgNzAsIDY4LCAyNSwgNSwgMjM0LCAxODksIDI0NSwgMjEwLCA2OCwgMSwgMjIwLCA4NywgMTc2LCA2OCwgMSwgCisgICAgMjIwLCA4NywgMjM0LCAxMzMsIDY4LCAxLCAyMjAsIDg3LCAyNDMsIDEzNiwgNjgsIDEsIDIyMCwgODcsIDI1MSwgMzQsIDY4LCAKKyAgICAxLCAyMjAsIDg3LCAyMTAsIDExNiwgNjgsIDEsIDIyMCwgODcsIDIyNywgMTY2LCA2OCwgMSwgMjIwLCA4NywgMjQ4LCAyMjIsIAorICAgIDY4LCAxLCAyMjAsIDg3LCAxOTcsIDY4LCAxLCAyMjAsIDg3LCAyMjUsIDE0OCwgNjgsIDEsIDIyMCwgODcsIDI0NCwgMTk3LCAKKyAgICA2OCwgMSwgMjIwLCA4NywgMjUyLCAxOTIsIDY4LCAxLCAyMjAsIDg3LCAyMTYsIDIwOSwgNjgsIDEsIDIyMCwgODcsIDE2MiwgCisgICAgNjgsIDExNiwgNSwgMjIwLCA4NywgMTQ3LCAyMTIsIDY1LCA2OCwgMjUsIDUsIDIyMCwgODcsIDI1NSwgNzQsIDY4LCAyNSwgCisgICAgNSwgMjIwLCA4NywgNzUsIDY4LCAyNSwgNSwgMjIwLCA4NywgMTYwLCA0OCwgNjgsIDI1LCA1LCAyMjAsIDg3LCA0MCwgMjExLCAKKyAgICAxMTcsIDY4LCA1LCAyMjAsIDg3LCAyMTYsIDI5LCA2OCwgNSwgMjIwLCA4NywgMjE2LCAyOCwgNjgsIDUsIDIyMCwgODcsIAorICAgIDIxNiwgMjYsIDY4LCA1LCAyMjAsIDg3LCAyMTYsIDI1LCA2OCwgNSwgMjIwLCA4NywgMjQ5LCAxNTMsIDIxNiwgMjksIDY4LCAKKyAgICA1LCAyMjAsIDg3LCAyNDksIDE1MywgMjE2LCAyOCwgNjgsIDUsIDIyMCwgODcsIDI0OSwgMTUzLCAyNDUsIDE1NCwgMjE2LCAKKyAgICAzMSwgNjgsIDEsIDIyMiwgMTI5LCAyMjYsIDY0LCAyNDQsIDE5NywgNjgsIDUsIDIyMiwgMTI5LCAyMjYsIDY0LCAyMTYsIAorICAgIDI2LCA2OCwgMjIwLCA4NywgMjEsIDIxMCwgODYsIDY4LCAyMjAsIDg3LCAyMSwgMTEwLCA2OCwgMjIwLCA4NywgMjEsIDEwNSwgCisgICAgNjgsIDIyMCwgODcsIDIxLCAxNTgsIDY4LCAyMjAsIDg3LCAyMSwgMTYxLCA2OCwgMjIwLCA4NywgMjEsIDE4OSwgNjgsIAorICAgIDIyMCwgODcsIDIxLCAxOTQsIDY4LCAyMjAsIDg3LCAyMSwgMTk4LCA2OCwgMjIwLCA4NywgMjEsIDE5NSwgNjgsIDIyMCwgCisgICAgODcsIDIxLCAyMDAsIDY4LCA1LCAyMzQsIDEyNywgMjE2LCAzMCwgNjgsIDUsIDIzNCwgMTI3LCAyMTYsIDI4LCA2OCwgMjUsIAorICAgIDUsIDI1NCwgMTkxLCA2MSwgNjgsIDI1LCA1LCAyNTQsIDE5MSwgMjU0LCAyMDIsIDY4LCAxNiwgMjIwLCA4NywgMTEwLCA2OCwgCisgICAgMTYsIDIyMCwgODcsIDI0NSwgMzEsIDk4LCA2LCAxLCAyNTQsIDEyNCwgOTgsIDYsIDEsIDI1MiwgMTUzLCA5OCwgNiwgMSwgCisgICAgMjQzLCAxMDcsIDk4LCA2LCAxLCAyNDcsIDEyOSwgOTgsIDYsIDEsIDI0NSwgMTUxLCA5OCwgNiwgMSwgMjEzLCAxNjAsIDk4LCAKKyAgICA2LCAxLCAyMTAsIDg5LCA5OCwgNiwgMSwgMjE3LCA2MSwgOTgsIDYsIDEsIDIzNiwgMCwgOTgsIDYsIDEsIDIzNCwgMjM1LCAKKyAgICA5OCwgNiwgMSwgMjMzLCA4MiwgOTgsIDYsIDEsIDIzMSwgMTg2LCA5OCwgNiwgMSwgMjI5LCAxOTYsIDk4LCA2LCAxLCAyMjYsIAorICAgIDE5NywgOTgsIDYsIDEsIDIyNiwgMTgsIDk4LCA2LCAxLCAyMTAsIDc4LCA5OCwgNiwgMSwgMjIzLCAxNzIsIDk4LCA2LCAxLCAKKyAgICAyMjEsIDI0NCwgOTgsIDYsIDEsIDIxNywgNTEsIDk4LCA2LCAxLCAyMTQsIDE5MCwgOTgsIDYsIDEsIDIyNSwgMTQxLCA5OCwgCisgICAgNiwgMSwgMjM0LCAxMjIsIDk4LCA2LCAxLCAyNDIsIDI0MiwgOTgsIDYsIDEsIDIyNCwgNzQsIDk4LCA2LCAxLCAyMjAsIDIxLCAKKyAgICA5OCwgNiwgMSwgMjUwLCA5OCwgOTgsIDYsIDEsIDI1MSwgOCwgOTgsIDYsIDEsIDIzNSwgMTAxLCA5OCwgNiwgMSwgMjUwLCAKKyAgICA0MSwgOTgsIDYsIDEsIDI1MCwgMTQ0LCA5OCwgNiwgMSwgMjExLCAxNjMsIDk4LCA2LCAxLCAyMzUsIDExMiwgOTgsIDYsIDEsIAorICAgIDI0MiwgNDQsIDk4LCA2LCAxLCAyNDEsIDIzOSwgOTgsIDYsIDEsIDI0MSwgMTc2LCA5OCwgNiwgMSwgMjEyLCAyMiwgOTgsIAorICAgIDYsIDEsIDI0MiwgNSwgOTgsIDYsIDEsIDI0MSwgNjYsIDk4LCA2LCAxLCAyMTAsIDI0NiwgOTgsIDYsIDEsIDI1NCwgMjMzLCAKKyAgICA5OCwgMSwgMjU0LCAxMjQsIDk4LCAxLCAyNTIsIDE1MywgOTgsIDEsIDI0MywgMTA3LCA5OCwgMSwgMjQ3LCAxMjksIDk4LCAKKyAgICAxLCAyNDUsIDE1MSwgOTgsIDEsIDIxMywgMTYwLCA5OCwgMSwgMjEwLCA4OSwgOTgsIDEsIDIxNywgNjEsIDk4LCAxLCAyMzYsIAorICAgIDAsIDk4LCAxLCAyMzQsIDIzNSwgOTgsIDEsIDIzMywgODIsIDk4LCAxLCAyMzEsIDE4NiwgOTgsIDEsIDIyOSwgMTk2LCA5OCwgCisgICAgMSwgMjI2LCAxOTcsIDk4LCAxLCAyMjYsIDE4LCA5OCwgMSwgMjEwLCA3OCwgOTgsIDEsIDIyMywgMTcyLCA5OCwgMSwgMjIxLCAKKyAgICAyNDQsIDk4LCAxLCAyMTcsIDUxLCA5OCwgMSwgMjE0LCAxOTAsIDk4LCAxLCAyMjUsIDE0MSwgOTgsIDEsIDIzNCwgMTIyLCAKKyAgICA5OCwgMSwgMjQyLCAyNDIsIDk4LCAxLCAyMjQsIDc0LCA5OCwgMSwgMjIwLCAyMSwgOTgsIDEsIDI1MCwgOTgsIDk4LCAxLCAKKyAgICAyNTEsIDgsIDk4LCAxLCAyMzUsIDEwMSwgOTgsIDEsIDI1MCwgNDEsIDk4LCAxLCAyNTAsIDE0NCwgOTgsIDEsIDIxMSwgCisgICAgMTYzLCA5OCwgMSwgMjM1LCAxMTIsIDk4LCAxLCAyNDIsIDQ0LCA5OCwgMSwgMjQxLCAyMzksIDk4LCAxLCAyNDEsIDE3NiwgCisgICAgOTgsIDEsIDIxMiwgMjIsIDk4LCAxLCAyNDIsIDUsIDk4LCAxLCAyNDEsIDY2LCA5OCwgMSwgMjQ0LCAxMjIsIDk4LCAxLCAKKyAgICAyMTAsIDI0NiwgOTgsIDEsIDI0NSwgMTY2LCA5OCwgMSwgMjE1LCA5NCwgMjQzLCAxMDcsIDk4LCAxLCAyNTQsIDE5NywgOTgsIAorICAgIDIyNiwgMTYsIDIyMCwgMTM4LCA1OCwgMSwgOTgsIDIyOSwgMTk2LCA5OCwgMSwgMjU0LCAyMzMsIDk4LCAxLCAyNDIsIDQsIAorICAgIDUwLCA5OCwgMSwgMjMzLCAxMjgsIDUwLCAyNCwgMTAwLCAyMzQsIDU5LCAyNCwgMTAwLCAyMTgsIDIxNiwgMjQsIDEwMCwgCisgICAgMjI4LCAyMjcsIDI0LCAxMDAsIDIxNiwgMTAyLCAyNCwgMTAwLCAyMTgsIDIwNSwgMjQsIDEwMCwgMjIzLCAyNywgMjQsIAorICAgIDEwMCwgMjMwLCAyMTgsIDI0LCAxMDAsIDIyNSwgOTYsIDI0LCAxMDAsIDIxOCwgMjEzLCAyNCwgMTAwLCAyMTksIDE0OSwgCisgICAgMjQsIDEwMCwgMjE4LCAyMTAsIDI0LCAxMDAsIDIzNiwgNTcsIDI0LCAxMDAsIDI1MCwgNDcsIDI0LCAxMDAsIDIxOCwgMjIwLCAKKyAgICAyNCwgMTAwLCAyNTAsIDEwNywgMjQsIDEwMCwgMjM0LCAxMTEsIDI0LCAxMDAsIDIxNiwgMTc0LCAyNCwgMTAwLCAyMjUsIAorICAgIDEzMiwgMjQsIDEwMCwgMjQxLCAxNzMsIDI0LCAxMDAsIDIyOCwgMjIzLCAyNCwgMTAwLCAyMTgsIDIxNCwgMjQsIDEwMCwgCisgICAgMjI4LCAyMTcsIDI0LCAxMDAsIDIyOCwgMjIxLCAyNCwgMTAwLCAyMTYsIDk5LCAyNCwgMTAwLCAyMjMsIDE1LCAyNCwgMTAwLCAKKyAgICAyMTgsIDIxMiwgMjQsIDEwMCwgMjIzLCAyNSwgMjQsIDEwMCwgMjM0LCAyMTksIDI0LCAxMDAsIDIzMCwgMjExLCAyNCwgCisgICAgMTAwLCAyMzQsIDIyMiwgMjQsIDEwMCwgMjI1LCA5MSwgMjQsIDEwMCwgMjI1LCA4OSwgMjQsIDEwMCwgMjI1LCA3NywgMjQsIAorICAgIDEwMCwgMjI1LCA4NSwgMjQsIDEwMCwgMjI1LCA4MywgMjQsIDEwMCwgMjI1LCA4MCwgMjQsIDEwMCwgMjI1LCA4MiwgMjQsIAorICAgIDEwMCwgMjI1LCA3OSwgMjQsIDEwMCwgMjI1LCA4NCwgMjQsIDEwMCwgMjI1LCA5NCwgMjQsIDEwMCwgMjI1LCA5NSwgMjQsIAorICAgIDEwMCwgMjI1LCA3OCwgMjQsIDEwMCwgMjI1LCA4OCwgMjQsIDEwMCwgMjM0LCAyMjAsIDI0LCAxMDAsIDIzNCwgMjE4LCAyNCwgCisgICAgMTAwLCAyMTksIDE0MiwgMjQsIDEwMCwgMjE5LCAxNDAsIDI0LCAxMDAsIDIxOSwgMTMyLCAyNCwgMTAwLCAyMTksIDEzNSwgCisgICAgMjQsIDEwMCwgMjE5LCAxNDEsIDI0LCAxMDAsIDIxOSwgMTM3LCAyNCwgMTAwLCAyMTksIDEzNiwgMjQsIDEwMCwgMjE5LCAKKyAgICAxMzQsIDI0LCAxMDAsIDIxOSwgMTQ1LCAyNCwgMTAwLCAyMTksIDE0NywgMjQsIDEwMCwgMjE5LCAxNDgsIDI0LCAxMDAsIAorICAgIDIxOSwgMTQzLCAyNCwgMTAwLCAyMTksIDEzMywgMjQsIDEwMCwgMjE5LCAxMzgsIDI0LCAxMDAsIDIxOSwgMTQ2LCAyNCwgCisgICAgMTAwLCAyNTAsIDkxLCAyNCwgMTAwLCAyNTAsIDg5LCAyNCwgMTAwLCAyNTAsIDE2OSwgMjQsIDEwMCwgMjUwLCAxNjcsIDI0LCAKKyAgICAxMDAsIDIyNiwgMzMsIDI0LCAxMDAsIDIzNiwgNTIsIDI0LCAxMDAsIDIzNiwgNDMsIDI0LCAxMDAsIDIzNiwgNTEsIDI0LCAKKyAgICAxMDAsIDIzNiwgNDgsIDI0LCAxMDAsIDIzNiwgNDYsIDI0LCAxMDAsIDIzNiwgNTAsIDI0LCAxMDAsIDIxOCwgMjE3LCAyNCwgCisgICAgMTAwLCAyMzYsIDU1LCAyNCwgMTAwLCAyMzYsIDU2LCAyNCwgMTAwLCAyMzYsIDQ0LCAyNCwgMTAwLCAyMzYsIDQ5LCAyNCwgCisgICAgMTAwLCAyMTEsIDI2LCAyNCwgMTAwLCAyNTAsIDQ2LCAyNCwgMTAwLCAyNTAsIDkyLCAyNCwgMTAwLCAyNTAsIDkwLCAyNCwgCisgICAgMTAwLCAyNTAsIDE3MCwgMjQsIDEwMCwgMjUwLCAxNjgsIDI0LCAxMDAsIDI1MCwgMTA1LCAyNCwgMTAwLCAyNTAsIDEwNiwgCisgICAgMjQsIDEwMCwgMjUwLCA5MywgMjQsIDEwMCwgMjUwLCAxNzEsIDI0LCAxMDAsIDIyNSwgMTMwLCAyNCwgMTAwLCAyMzQsIAorICAgIDIyMSwgMjQsIDEwMCwgMjE4LCAyMTgsIDI0LCAxMDAsIDIxMSwgMzIsIDI0LCAxMDAsIDIzNCwgNTAsIDI0LCAxMDAsIDIyOCwgCisgICAgMjE5LCAyNCwgMTAwLCAyMjgsIDIyNSwgMjQsIDEwMCwgMjI4LCAyMjQsIDI0LCAxMDAsIDIxNiwgOTYsIDI0LCAxMDAsIAorICAgIDI0NCwgMTA0LCAyNCwgMTQzLCAyNDQsIDEwNCwgMjQsIDE0MywgNjEsIDI0LCAxNDMsIDI1NCwgMjQ0LCAyNCwgMTQzLCAKKyAgICAxOTEsIDI0LCAxNDMsIDIxMSwgOTIsIDI0LCAxNDMsIDI0NSwgMTE4LCAyNCwgMTQzLCA3NSwgMjQsIDE0MywgMjExLCAzNiwgCisgICAgMjQsIDE0MywgMjExLCA0NywgMjQsIDE0MywgNzYsIDI0LCAxNDMsIDIxMiwgNjUsIDI0LCAxNDMsIDIxMiwgNjIsIDI0LCAKKyAgICAxNDMsIDIyNiwgMjM1LCAyNCwgMTQzLCAyMTAsIDI0NCwgMjQsIDE0MywgNzAsIDI0LCAxNDMsIDIxMiwgMTEsIDI0LCAxNDMsIAorICAgIDIxMiwgMjIsIDI0LCAxNDMsIDIxMSwgMjUwLCAyNCwgMTQzLCAyMTAsIDIxMiwgMjQsIDE0MywgMjQ1LCA1NiwgMjQsIDE0MywgCisgICAgMjExLCA4LCAyNCwgMTQzLCA3MywgMjQsIDE0MywgMjU1LCAxNTgsIDI0LCAxNDMsIDI1NSwgMTU3LCAyNCwgMTQzLCAyMTEsIAorICAgIDEwNiwgMjQsIDE0MywgMjExLCAxMDQsIDI0LCAxNDMsIDI0NSwgMTE2LCAyNCwgMTQzLCAyNDUsIDExNSwgMjQsIDE0MywgCisgICAgMjQ1LCAxMTcsIDI0LCAxNDMsIDIxMSwgMzUsIDI0LCAxNDMsIDIxMSwgMzQsIDI0LCAxNDMsIDIyNywgODUsIDI0LCAxNDMsIAorICAgIDIyNywgODYsIDI0LCAxNDMsIDIyNywgNzksIDI0LCAxNDMsIDIyNywgODQsIDI0LCAxNDMsIDIyNywgODIsIDI0LCAxNDMsIAorICAgIDIxMCwgMjM4LCAyNCwgMTQzLCAyMTAsIDIzNywgMjQsIDE0MywgMjEwLCAyMzYsIDI0LCAxNDMsIDIxMCwgMjM5LCAyNCwgCisgICAgMTQzLCAyMTAsIDI0MCwgMjQsIDE0MywgMjE1LCAzMCwgMjQsIDE0MywgMjE1LCAyOSwgMjQsIDE0MywgMjE1LCAyNywgMjQsIAorICAgIDE0MywgMjE1LCAyNCwgMjQsIDE0MywgMjE1LCAyNSwgMjQsIDE0MywgMjEwLCAyMTEsIDI0LCAxNDMsIDIxMCwgMjA4LCAyNCwgCisgICAgMTQzLCAyMTAsIDIwOSwgMjQsIDE0MywgMjEwLCAyMDMsIDI0LCAxNDMsIDIxMCwgMjA0LCAyNCwgMTQzLCAyMTAsIDIwNSwgCisgICAgMjQsIDE0MywgMjEwLCAyMDcsIDI0LCAxNDMsIDI0NSwgNTAsIDI0LCAxNDMsIDI0NSwgNTIsIDI0LCAxNDMsIDIxMSwgNywgCisgICAgMjQsIDE0MywgMjQwLCAxNTQsIDI0LCAxNDMsIDI0MCwgMTQ2LCAyNCwgMTQzLCAyNDAsIDE0OSwgMjQsIDE0MywgMjQwLCAKKyAgICAxNDcsIDI0LCAxNDMsIDI0MCwgMTUxLCAyNCwgMTQzLCAyNDAsIDE1MywgMjQsIDE0MywgMjU0LCAzNSwgMjQsIDE0MywgCisgICAgMjU0LCAzMiwgMjQsIDE0MywgMjU0LCAzMCwgMjQsIDE0MywgMjU0LCAzMSwgMjQsIDE0MywgMjE4LCAyMjEsIDI0LCAxNDMsIAorICAgIDI1NSwgMTU5LCAyNCwgMTQzLCAyMTEsIDEwNSwgMjQsIDE0MywgMjExLCAzMywgMjQsIDE0MywgMjI3LCA4MSwgMjQsIDE0MywgCisgICAgMjI3LCA4MCwgMjQsIDkwLCAyMzQsIDU5LCAyNCwgOTAsIDIxOCwgMjE2LCAyNCwgOTAsIDIzNCwgNTIsIDI0LCA5MCwgMjI4LCAKKyAgICAyMjcsIDI0LCA5MCwgMjI4LCAyMjUsIDI0LCA5MCwgMjI4LCAyMjQsIDI0LCA5MCwgMjE2LCAxMDIsIDI0LCA5MCwgMjIzLCAKKyAgICAyNywgMjQsIDkwLCAyMjMsIDIyLCAyNCwgOTAsIDIyMywgMTksIDI0LCA5MCwgMjIzLCAxMiwgMjQsIDkwLCAyMjMsIDcsIAorICAgIDI0LCA5MCwgMjIzLCAyLCAyNCwgOTAsIDIyMywgMTMsIDI0LCA5MCwgMjIzLCAyNSwgMjQsIDkwLCAyMzAsIDIxOCwgMjQsIAorICAgIDkwLCAyMjUsIDk2LCAyNCwgOTAsIDIyNSwgODUsIDI0LCA5MCwgMjE5LCAxNDksIDI0LCA5MCwgMjE4LCAyMTAsIDI0LCA5MCwgCisgICAgMjM2LCA1NywgMjQsIDkwLCAyNTAsIDQ3LCAyNCwgOTAsIDI1MCwgMTA3LCAyNCwgOTAsIDIzNCwgMTExLCAyNCwgOTAsIAorICAgIDIxNiwgMTc0LCAyNCwgOTAsIDIyNSwgMTMyLCAyNCwgOTAsIDI0MSwgMTczLCAyNCwgOTAsIDIzNCwgNTMsIDI0LCA5MCwgCisgICAgMjM0LCA1MSwgMjQsIDkwLCAyMjgsIDIyMywgMjQsIDkwLCAyMjgsIDIxNywgMjQsIDkwLCAyMjgsIDIxOSwgMjQsIDkwLCAKKyAgICAyMjgsIDIyMiwgMjQsIDkwLCAyMjgsIDIxOCwgMjQsIDkwLCAyMTYsIDk5LCAyNCwgOTAsIDIxNiwgOTYsIDI0LCA5MCwgCisgICAgMjIzLCAyMCwgMjQsIDkwLCAyMjMsIDE1LCAyNCwgOTAsIDIyMywgMSwgMjQsIDkwLCAyMjMsIDAsIDI0LCA5MCwgMjE4LCAKKyAgICAyMTIsIDI0LCA5MCwgMjIzLCAxNywgMjQsIDkwLCAyMjMsIDE2LCAyNCwgOTAsIDIyMywgOSwgMjQsIDkwLCAyMjMsIDExLCAKKyAgICAyNCwgOTAsIDIyMywgMjQsIDI0LCA5MCwgMjIzLCA0LCAyNCwgOTAsIDIyMywgMTQsIDI0LCA5MCwgMjIzLCAyMywgMjQsIAorICAgIDkwLCAyMjIsIDI1NSwgMjQsIDkwLCAyMzAsIDIxNCwgMjQsIDkwLCAyMzAsIDIwOSwgMjQsIDkwLCAyMzAsIDIxMSwgMjQsIAorICAgIDkwLCAyMzAsIDIwOCwgMjQsIDkwLCAyMzAsIDIwNiwgMjQsIDkwLCAyMzAsIDIxMiwgMjQsIDkwLCAyMzAsIDIxNywgMjQsIAorICAgIDkwLCAyMzAsIDIxNSwgMjQsIDkwLCAyMzQsIDIyMiwgMjQsIDkwLCAyMjUsIDg3LCAyNCwgOTAsIDIyNSwgODgsIDI0LCA5MCwgCisgICAgMjI1LCA5MywgMjQsIDkwLCAyMzQsIDIyMCwgMjQsIDkwLCAyMTksIDE0MiwgMjQsIDkwLCAyMTksIDEzMiwgMjQsIDkwLCAKKyAgICAyMTksIDEzNSwgMjQsIDkwLCAyMTksIDEzNywgMjQsIDkwLCAyMjYsIDMzLCAyNCwgOTAsIDIzNiwgNTIsIDI0LCA5MCwgCisgICAgMjM2LCA0NSwgMjQsIDkwLCAyMTgsIDIxNywgMjQsIDkwLCAyMzYsIDUzLCAyNCwgOTAsIDIxMSwgMjYsIDI0LCA5MCwgMjExLCAKKyAgICAyMiwgMjQsIDkwLCAyMTEsIDIzLCAyNCwgOTAsIDIyNSwgMTMwLCAyNCwgOTAsIDIzNCwgMjIxLCAyNCwgOTAsIDI0MSwgCisgICAgMTcxLCAyNCwgOTAsIDI0MSwgMTY5LCAyNCwgOTAsIDI0MSwgMTcyLCAyNCwgOTAsIDI0MSwgMTcwLCAyNCwgOTAsIDIxMSwgCisgICAgMzIsIDI0LCA5MCwgMjM0LCA1NSwgMjQsIDkwLCAyMzQsIDU0LCAyNCwgOTAsIDIzNCwgNTgsIDI0LCA5MCwgMjM0LCA1NiwgCisgICAgMjQsIDkwLCAyMzQsIDU3LCAyNCwgOTAsIDIxOCwgMjE0LCAyOSwgMywgMTYyLCAyOSwgMywgMjQwLCAyMjMsIDI5LCAzLCAKKyAgICAyNDEsIDE4MSwgMjksIDMsIDI0MiwgNDcsIDI5LCAzLCAyNDEsIDIyMSwgMjksIDMsIDI0MSwgMjM5LCAyOSwgMywgMjQxLCAKKyAgICA2OSwgMjksIDMsIDI0MSwgNjgsIDI5LCAzLCAyMzMsIDEzNiwgMjksIDMsIDIzMiwgOTksIDI5LCAzLCAyMzIsIDI0MiwgMjksIAorICAgIDMsIDIzMywgMTM1LCAyOSwgMywgMjMzLCA1MSwgMjksIDMsIDIzMywgNTksIDI5LCAzLCAyMzIsIDE1NywgMjksIDMsIDIzMiwgCisgICAgNzEsIDI5LCAzLCAyNDEsIDE5MCwgMjksIDMsIDI0MSwgMTg0LCAyOSwgMywgMjQxLCAxODYsIDI5LCAzLCAyNDEsIDE4OSwgCisgICAgMjksIDMsIDI0MSwgMTg3LCAyOSwgMywgMjQxLCAxODgsIDI5LCAzLCAyNDEsIDE4NSwgMjksIDMsIDI0MSwgMTgzLCAyOSwgCisgICAgMywgMTg1LCAyOSwgMywgMjMwLCAxMDMsIDI5LCAzLCAyMzAsIDIzMSwgMjksIDMsIDIzMSwgMjM4LCAyOSwgMywgMjMxLCAKKyAgICA4MSwgMjksIDMsIDIzMSwgOTIsIDI5LCAzLCAyMzAsIDE2MiwgMjksIDMsIDIzMCwgNDMsIDI5LCAzLCAyMTcsIDE2NCwgMjksIAorICAgIDMsIDIxNywgMTU4LCAyOSwgMywgMjE3LCAxNjAsIDI5LCAzLCAyMTcsIDE2MywgMjksIDMsIDIxNywgMTYxLCAyOSwgMywgCisgICAgMjE3LCAxNjIsIDI5LCAzLCAyMTcsIDE1OSwgMjksIDMsIDIxNywgMTU3LCAyOSwgMywgMjA1LCAyOSwgMywgMjIyLCAxNDEsIAorICAgIDI5LCAzLCAyMjMsIDM2LCAyOSwgMywgMjIzLCAxODUsIDI5LCAzLCAyMjMsIDEwOSwgMjksIDMsIDIyMywgMTI5LCAyOSwgMywgCisgICAgMjIyLCAyMTIsIDI5LCAzLCAyMjIsIDExMCwgMjksIDMsIDIwNiwgMjksIDMsIDIxOCwgODQsIDI5LCAzLCAyMTksIDE5MiwgCisgICAgMjksIDMsIDIyMiwgMzIsIDI5LCAzLCAyMjEsIDE3MSwgMjksIDMsIDIyMSwgMTgyLCAyOSwgMywgMjE5LCA1OSwgMjksIDMsIAorICAgIDIxNywgMjU0LCAyOSwgMywgMjIwLCAxMDMsIDI5LCAzLCAyMTksIDIyNiwgMjksIDMsIDIyMCwgMzMsIDI5LCAzLCAyMjAsIAorICAgIDk5LCAyOSwgMywgMjIwLCA2MiwgMjksIDMsIDIyMCwgNjQsIDI5LCAzLCAyMjAsIDgsIDI5LCAzLCAyMTksIDIwOSwgMjksIAorICAgIDMsIDIyNCwgODksIDI5LCAzLCAyMjQsIDMxLCAyOSwgMywgMjI0LCA1NCwgMjksIDMsIDIyNCwgODgsIDI5LCAzLCAyMjQsIAorICAgIDY5LCAyOSwgMywgMjI0LCA3MCwgMjksIDMsIDIyNCwgNDMsIDI5LCAzLCAyMjQsIDQyLCAyOSwgMywgMjIzLCAyNDMsIDI5LCAKKyAgICAzLCAyMjMsIDIzOSwgMjksIDMsIDIyMywgMjQyLCAyOSwgMywgMjIzLCAyNDAsIDI5LCAzLCAyMjMsIDI0MSwgMjksIDMsIAorICAgIDIyNCwgNjYsIDI5LCAzLCAyMjQsIDYwLCAyOSwgMywgMjI0LCA2MiwgMjksIDMsIDIyNCwgNjUsIDI5LCAzLCAyMjQsIDYzLCAKKyAgICAyOSwgMywgMjI0LCA2NCwgMjksIDMsIDIyNCwgNjEsIDI5LCAzLCAyMjQsIDU5LCAyOSwgMywgMjI0LCA1NSwgMjksIDMsIAorICAgIDIyNCwgNTgsIDI5LCAzLCAyMjQsIDU2LCAyOSwgMywgMjI0LCA1NywgMjksIDMsIDI1MiwgMTkyLCAyOSwgMywgMjUxLCAKKyAgICAxMjYsIDI5LCAzLCAyNTIsIDcsIDI5LCAzLCAyNTIsIDE5MCwgMjksIDMsIDI1MiwgNjcsIDI5LCAzLCAyNTIsIDc2LCAyOSwgCisgICAgMywgMjUxLCAyMDYsIDI5LCAzLCAyNTEsIDg0LCAyOSwgMywgMjE0LCAyNywgMjksIDMsIDIxMiwgMTE2LCAyOSwgMywgMjEzLCAKKyAgICAxNzYsIDI5LCAzLCAyMTQsIDI2LCAyOSwgMywgMjEzLCAyNTAsIDI5LCAzLCAyMTMsIDI1NSwgMjksIDMsIDIxMywgMTM4LCAKKyAgICAyOSwgMywgMjEyLCAxMDcsIDI5LCAzLCAyMTcsIDEwNiwgMjksIDMsIDIxNSwgMTE5LCAyOSwgMywgMjE2LCAxMTgsIDI5LCAKKyAgICAzLCAyMTcsIDEwMiwgMjksIDMsIDIxNywgMTIsIDI5LCAzLCAyMTcsIDIzLCAyOSwgMywgMTExLCAyOSwgMywgMjE1LCA4MCwgCisgICAgMjksIDMsIDI1MSwgMzQsIDI5LCAzLCAyNDksIDExMywgMjksIDMsIDI1MCwgNTIsIDI5LCAzLCAyNTEsIDMzLCAyOSwgMywgCisgICAgMjUwLCAxODMsIDI5LCAzLCAyNTAsIDE5MSwgMjksIDMsIDI0OSwgMjM5LCAyOSwgMywgMjQ5LCA4MiwgMjksIDMsIDIxMSwgCisgICAgMTY1LCAyOSwgMywgMjExLCAxNDEsIDI5LCAzLCAyMTEsIDE1NywgMjksIDMsIDIxMSwgMTY0LCAyOSwgMywgMjExLCAxNjEsIAorICAgIDI5LCAzLCAyMTEsIDE2MiwgMjksIDMsIDIxMSwgMTQ4LCAyOSwgMywgMjExLCAxNDcsIDI5LCAzLCAyMTEsIDEzNiwgMjksIAorICAgIDMsIDIxMSwgMTMyLCAyOSwgMywgMjExLCAxMzUsIDI5LCAzLCAyMTEsIDEzMywgMjksIDMsIDIxMSwgMTM0LCAyOSwgMywgCisgICAgMTk3LCAyOSwgMywgMjI3LCAyMzgsIDI5LCAzLCAyMjgsIDIzNCwgMjksIDMsIDIyOSwgMjI2LCAyOSwgMywgMjI5LCAxMDQsIAorICAgIDI5LCAzLCAyMjksIDEwOCwgMjksIDMsIDIyOCwgNzUsIDI5LCAzLCAyMjcsIDE3NSwgMjksIDMsIDIyNywgMTY2LCAyOSwgMywgCisgICAgMjI3LCAxMjksIDI5LCAzLCAyMjcsIDE0OSwgMjksIDMsIDIyNywgMTY1LCAyOSwgMywgMjI3LCAxNTYsIDI5LCAzLCAyMjcsIAorICAgIDE1NywgMjksIDMsIDIyNywgMTM1LCAyOSwgMywgMjI3LCAxMjAsIDI5LCAzLCAyNDIsIDE4MSwgNjEsIDI5LCAzLCAyNDIsIAorICAgIDE4MSwgNzAsIDI5LCAzLCAyNDIsIDE4MSwgNzMsIDI5LCAzLCAyNDIsIDE4MSwgMjU1LCA3NCwgMjksIDMsIDI0MiwgMTgxLCAKKyAgICAyNDUsIDIxMCwgMjksIDMsIDI0MiwgMTgxLCA3NSwgMjksIDMsIDI0MiwgMTgxLCA3NiwgMjksIDMsIDI0MiwgMTgxLCAyMTIsIAorICAgIDY1LCAyOSwgMywgMTc2LCAyOSwgMywgMjMzLCAyMTgsIDI5LCAzLCAyMzQsIDkzLCAyOSwgMywgMjM1LCAxMSwgMjksIDMsIAorICAgIDIzNCwgMTgyLCAyOSwgMywgMjM0LCAxODMsIDI5LCAzLCAyMzQsIDI5LCAyOSwgMywgMjM0LCAyOCwgMjksIDMsIDIzMywgCisgICAgMTgzLCAyOSwgMywgMjMzLCAxNzcsIDI5LCAzLCAyMzMsIDE4MiwgMjksIDMsIDIzMywgMTc4LCAyOSwgMywgMjMzLCAxNzksIAorICAgIDI5LCAzLCAyMzMsIDE3MiwgMjksIDMsIDIzMywgMTY2LCAyOSwgMywgMjMzLCAxNjgsIDI5LCAzLCAyMzMsIDE3MSwgMjksIAorICAgIDMsIDIzMywgMTY5LCAyOSwgMywgMjMzLCAxNzAsIDI5LCAzLCAyMzMsIDE2NywgMjksIDMsIDIzMywgMTY1LCAyOSwgMywgCisgICAgMjMzLCAxNjEsIDI5LCAzLCAyMzMsIDE2NCwgMjksIDMsIDIzMywgMTYyLCAyOSwgMywgMjMzLCAxNjMsIDI5LCAzLCAyMTIsIAorICAgIDY1LCAyOSwgMywgMjExLCAxOTUsIDI5LCAzLCAyMTEsIDI1MCwgMjksIDMsIDIxMiwgNjQsIDI5LCAzLCAyMTIsIDE3LCAyOSwgCisgICAgMywgMjEyLCAyMiwgMjksIDMsIDIxMSwgMjI3LCAyOSwgMywgMjExLCAyMjYsIDI5LCAzLCAyMjUsIDE0MCwgNjEsIDI5LCAzLCAKKyAgICAyMjUsIDE0MCwgNzAsIDI5LCAzLCAyMjUsIDE0MCwgNzMsIDI5LCAzLCAyMjUsIDE0MCwgMjU1LCA3NCwgMjksIDMsIDIyNSwgCisgICAgMTQwLCAyNDUsIDIxMCwgMjksIDMsIDIyNSwgMTQwLCA3NSwgMjksIDMsIDIyNSwgMTQwLCA3NiwgMjksIDMsIDIxMCwgMTE2LCAKKyAgICAyOSwgMywgMjEwLCAxMywgMjksIDMsIDIxMCwgNDQsIDI5LCAzLCAyMTAsIDExNSwgMjksIDMsIDIxMCwgOTIsIDI5LCAzLCAKKyAgICAyMTAsIDk0LCAyOSwgMywgMjEwLCAyMywgMjksIDMsIDIxMCwgMCwgMjksIDMsIDIxMCwgODIsIDI5LCAzLCAyMTAsIDYyLCAKKyAgICAyOSwgMywgMjEwLCA2OSwgMjksIDMsIDIxMCwgODEsIDI5LCAzLCAyMTAsIDczLCAyOSwgMywgMjEwLCA3NCwgMjksIDMsIAorICAgIDIxMCwgNjcsIDI5LCAzLCAyMTAsIDUzLCAyOSwgMywgMTkxLCAyOSwgMywgMjEwLCAyMTIsIDI5LCAzLCAyMTEsIDgsIDI5LCAKKyAgICAzLCAyMTEsIDEwMywgMjksIDMsIDIxMSwgNDQsIDI5LCAzLCAyMTEsIDQ3LCAyOSwgMywgMjEwLCAyNDQsIDI5LCAzLCAyMTAsIAorICAgIDIzNSwgMjksIDMsIDI0OCwgMjIyLCAyOSwgMywgMjQ2LCA3OSwgMjksIDMsIDI0OCwgNCwgMjksIDMsIDI0OCwgMjIxLCAyOSwgCisgICAgMywgMjQ4LCA3OCwgMjksIDMsIDI0OCwgOTEsIDI5LCAzLCAyNDcsIDE0NiwgMjksIDMsIDI0NiwgNDgsIDI5LCAzLCAyNDgsIAorICAgIDEzNiwgMjksIDMsIDI0OCwgMTAxLCAyOSwgMywgMjQ4LCAxMTMsIDI5LCAzLCAyNDgsIDEzNSwgMjksIDMsIDI0OCwgMTIzLCAKKyAgICAyOSwgMywgMjQ4LCAxMjQsIDI5LCAzLCAyNDgsIDEwNiwgMjksIDMsIDI0OCwgOTIsIDI5LCAzLCAyMzUsIDE0MiwgMjksIDMsIAorICAgIDIzNSwgNTIsIDI5LCAzLCAyMzUsIDEwOSwgMjksIDMsIDIzNSwgMTQxLCAyOSwgMywgMjM1LCAxMjUsIDI5LCAzLCAyMzUsIAorICAgIDEyNywgMjksIDMsIDIzNSwgNjksIDI5LCAzLCAyMzUsIDMyLCAyOSwgMywgMjQzLCAxMzYsIDI5LCAzLCAyNDIsIDExNCwgCisgICAgMjksIDMsIDI0MiwgMjE1LCAyOSwgMywgMjQzLCAxMzMsIDI5LCAzLCAyNDMsIDU2LCAyOSwgMywgMjQzLCA2MywgMjksIDMsIAorICAgIDI0MiwgMTc1LCAyOSwgMywgMjQyLCAxNzQsIDI5LCAzLCAyNDIsIDc5LCAyOSwgMywgMjQyLCA3NSwgMjksIDMsIDI0MiwgCisgICAgNzgsIDI5LCAzLCAyNDIsIDc2LCAyOSwgMywgMjQyLCA3NywgMjksIDMsIDI0MywgMzAsIDI5LCAzLCAyNDMsIDEwLCAyOSwgCisgICAgMywgMjQzLCAyMCwgMjksIDMsIDI0MywgMjksIDI5LCAzLCAyNDMsIDI0LCAyOSwgMywgMjQzLCAyNSwgMjksIDMsIDI0MywgCisgICAgMTQsIDI5LCAzLCAyNDIsIDI1NSwgMjksIDMsIDIxNiwgMjA5LCAyOSwgMywgMjE2LCAxMzcsIDI5LCAzLCAyMTYsIDE3NiwgCisgICAgMjksIDMsIDIxNiwgMjA4LCAyOSwgMywgMjE2LCAxOTUsIDI5LCAzLCAyMTYsIDE5NiwgMjksIDMsIDIxNiwgMTU3LCAyOSwgCisgICAgMywgMjE2LCAxMjksIDI5LCAzLCAyNTAsIDE1OCwgMjksIDMsIDI1MCwgNzAsIDI5LCAzLCAyNTAsIDExMSwgMjksIDMsIAorICAgIDI1MCwgMTU3LCAyOSwgMywgMjUwLCAxMjksIDI5LCAzLCAyNTAsIDEzMiwgMjksIDMsIDI1MCwgODcsIDI5LCAzLCAyNTAsIAorICAgIDU5LCAyOSwgMywgMjI1LCAxNDgsIDI5LCAzLCAyMjUsIDExNSwgMjksIDMsIDIyNSwgMTM0LCAyOSwgMywgMjI1LCAxNDcsIAorICAgIDI5LCAzLCAyMjUsIDEzNiwgMjksIDMsIDIyNSwgMTM3LCAyOSwgMywgMjI1LCAxMjIsIDI5LCAzLCAyMjUsIDExMSwgMjksIAorICAgIDMsIDIxNSwgMTg0LCAyOSwgMywgMjE1LCAxNjQsIDI5LCAzLCAyMTUsIDE2OCwgMjksIDMsIDIxNSwgMTgzLCAyOSwgMywgCisgICAgMjE1LCAxNzgsIDI5LCAzLCAyMTUsIDE3OSwgMjksIDMsIDIxNSwgMTY3LCAyOSwgMywgMjE1LCAxNjIsIDI5LCAzLCAyMTUsIAorICAgIDM5LCAyOSwgMywgMjE1LCAzMSwgMjksIDMsIDIxNSwgMzUsIDI5LCAzLCAyMTUsIDM4LCAyOSwgMywgMjE1LCAzNiwgMjksIAorICAgIDMsIDIxNSwgMzcsIDI5LCAzLCAyMTUsIDMzLCAyOSwgMywgMjE1LCAzMiwgMjksIDMsIDI0NCwgMTk3LCAyOSwgMywgMjQzLCAKKyAgICAyMzUsIDI5LCAzLCAyNDQsIDEyMiwgMjksIDMsIDI0NCwgMTk2LCAyOSwgMywgMjQ0LCAxNDgsIDI5LCAzLCAyNDQsIDE1NSwgCisgICAgMjksIDMsIDI0NCwgNDQsIDI5LCAzLCAyNDMsIDIxNCwgMjksIDMsIDE5MCwgMjksIDMsIDIyNCwgMTUxLCAyOSwgMywgMjI1LCAKKyAgICAxMDksIDI5LCAzLCAyMjYsIDkwLCAyOSwgMywgMjI1LCAyMTIsIDI5LCAzLCAyMjUsIDIyMiwgMjksIDMsIDIyNSwgMTcsIAorICAgIDI5LCAzLCAyMjQsIDExNSwgMjksIDMsIDIyMiwgMTAwLCAyOSwgMywgMjMwLCAzMiwgMjksIDMsIDI0MywgMjA4LCAyOSwgCisgICAgMzgsIDI0MywgNTQsIDIyLCAyNSwgMjMzLCAyNCwgNzgsIDI5LCAzOCwgMjUsIDIzMywgMjQsIDc4LCAyOSwgMzgsIDI0MywgCisgICAgNTQsIDc4LCAyOSwgMjIxLCAxNzQsIDc4LCAyOSwgMjExLCAyMDgsIDI5LCAyNDMsIDIzMCwgMjE4LCAxMzAsIDI5LCAyNDksIAorICAgIDIyMCwgMjksIDIyMCwgMTUxLCAyOSwgMjQ5LCAyMjcsIDI5LCAyMjQsIDIwMCwgMjQ5LCAyMjcsIDI5LCAyMjQsIDE0LCA3OCwgCisgICAgMjksIDIyNiwgMTYsIDIyMCwgMTM4LCAyOSwgMjEsIDExMCwgMjksIDIxLCAxMDUsIDI5LCAyMSwgMTU4LCAyOSwgMjEsIAorICAgIDE2MSwgMjksIDIxLCAxODksIDI5LCAyMSwgMTk0LCAyOSwgMjEsIDE5OCwgMjksIDIxLCAxOTUsIDI5LCAyMSwgMjAwLCAyOSwgCisgICAgNTQsIDIxNiwgMjQ4LCAyOSwgNTQsIDIxNSwgNzMsIDI5LCA1NCwgMjE2LCAxNjMsIDI5LCA1NCwgMjQ0LCAxNiwgMjksIDU0LCAKKyAgICAyNDQsIDExNSwgMjksIDU0LCAyMTksIDExMiwgMjksIDU0LCAyMjAsIDExNywgMjksIDU0LCAyNDUsIDE4NSwgMjksIDU0LCAKKyAgICAyMjgsIDE5NiwgMjksIDU0LCAyNDAsIDIxMSwgMjksIDU0LCAyMTYsIDI0OSwgMjE2LCAxNDgsIDI5LCAzLCAyMjEsIDE3OCwgCisgICAgMjMwLCA0MywgMjksIDMsIDIzMCwgMzksIDI5LCAzLCAyMzAsIDQwLCAyOSwgMywgMjMwLCA0MSwgMjksIDMsIDIyMSwgMTc4LCAKKyAgICAyNTEsIDg0LCAyOSwgMywgMjUxLCA4MSwgMjksIDMsIDI1MSwgODIsIDI5LCAzLCAyNTEsIDgzLCAyOSwgMywgMjIxLCAxNzgsIAorICAgIDI0MywgMjE0LCAyOSwgMywgMjQzLCAyMTAsIDI5LCAzLCAyNDMsIDIxMSwgMjksIDMsIDI0MywgMjEyLCAyOSwgMywgMjIxLCAKKyAgICAxNzgsIDIyNCwgMTE1LCAyOSwgMywgMjI0LCAxMTEsIDI5LCAzLCAyMjQsIDExMiwgMjksIDMsIDIyNCwgMTEzLCAyOSwgCisgICAgMjE2LCAzMiwgMTY0LCAyMTAsIDI0NywgMjksIDIxNiwgMzIsIDE2NCwgMjQ4LCA0MiwgMjksIDIxNiwgMzIsIDE2NCwgMjIyLCAKKyAgICAyMzksIDI5LCAyMTYsIDMyLCAxNjQsIDIxOSwgMjUyLCAyMjIsIDIzOSwgMjksIDIxNiwgMzIsIDE2NCwgMjQ3LCAyMzYsIAorICAgIDI5LCAyMTYsIDMyLCAxNjQsIDIzNCwgMTY1LCAyOSwgMjE2LCAzMiwgMTY0LCAyNTAsIDk1LCAyOSwgMjE2LCAzMiwgMTY0LCAKKyAgICAyNDEsIDE3OCwgMjksIDIxNiwgMzIsIDE2NCwgMjQ4LCA0MSwgMjksIDIxNiwgMzIsIDE2NCwgMjMzLCAxOTUsIDE2OSwgMSwgCisgICAgNjEsIDE2OSwgMSwgNzUsIDE2OSwgMSwgNzMsIDE2OSwgMSwgNzYsIDE2OSwgMSwgNzAsIDE2OSwgMSwgMjE0LCAxMDUsIAorICAgIDE2OSwgMSwgMjQzLCAxMzYsIDE2OSwgMSwgMTc2LCAxNjksIDEsIDI0MywgNjMsIDE2OSwgMSwgMjQyLCAyMTUsIDE2OSwgMSwgCisgICAgMjQyLCAxNzUsIDE2OSwgMSwgMjQyLCAxMTQsIDE2OSwgMSwgMjQyLCA4MCwgMTY5LCAxLCAxNjIsIDE2OSwgMSwgMjQxLCAKKyAgICAyMzksIDE2OSwgMSwgMjQxLCAxODEsIDE2OSwgMSwgMjQxLCA2OSwgMTY5LCAxLCAyNDAsIDIyMywgMTY5LCAxLCAyNDAsIAorICAgIDIwMiwgMTY5LCAxLCAyMzMsIDEzNiwgMTY5LCAxLCAyMzMsIDU5LCAxNjksIDEsIDIzMiwgMjQyLCAxNjksIDEsIDIzMiwgCisgICAgMTU3LCAxNjksIDEsIDIzMiwgOTksIDE2OSwgMSwgMjMyLCA3MiwgMTY5LCAxLCAxODUsIDE2OSwgMSwgMjMxLCA5MiwgMTY5LCAKKyAgICAxLCAyMzAsIDIzMSwgMTY5LCAxLCAyMzAsIDE2MiwgMTY5LCAxLCAyMzAsIDEwMywgMTY5LCAxLCAxOTcsIDE2OSwgMSwgCisgICAgMjQxLCA5MSwgMTY5LCAxLCAyMjksIDIxNCwgMTY5LCAxLCAyMjksIDEwOCwgMTY5LCAxLCAyMjgsIDIzNCwgMTY5LCAxLCAKKyAgICAyMjgsIDc1LCAxNjksIDEsIDIyNywgMjM4LCAxNjksIDEsIDIyNywgMTc3LCAxNjksIDEsIDIyNCwgMzAsIDE2OSwgMSwgCisgICAgMjI0LCAxNywgMTY5LCAxLCAyMjQsIDEwLCAxNjksIDEsIDIyNCwgMiwgMTY5LCAxLCAyMjMsIDI0NywgMTY5LCAxLCAyMjMsIAorICAgIDI0NSwgMTY5LCAxLCAyMDYsIDE2OSwgMSwgMjIyLCA5MiwgMTY5LCAxLCAyMjEsIDE4MiwgMTY5LCAxLCAyMTksIDE5MiwgCisgICAgMTY5LCAxLCAyMTksIDU5LCAxNjksIDEsIDIxOCwgODQsIDE2OSwgMSwgMjE4LCAzLCAxNjksIDEsIDI0OCwgMjIyLCAxNjksIAorICAgIDEsIDIxNywgMTA2LCAxNjksIDEsIDI0OCwgOTEsIDE2OSwgMSwgMjE3LCAyMywgMTY5LCAxLCAyNDgsIDQsIDE2OSwgMSwgCisgICAgMjE2LCAxMTgsIDE2OSwgMSwgMjQ3LCAxNDYsIDE2OSwgMSwgMjQ2LCA3OSwgMTY5LCAxLCAyNDYsIDUxLCAxNjksIDEsIAorICAgIDI0NywgMTU3LCAxNjksIDEsIDIxNiwgNjAsIDE2OSwgMSwgMjE2LCA1OSwgMTY5LCAxLCAyMTYsIDQ4LCAxNjksIDEsIDIxNiwgCisgICAgNDcsIDE2OSwgMSwgMjE2LCA0NiwgMTY5LCAxLCAyMTYsIDQ1LCAxNjksIDEsIDIxNSwgMTg0LCAxNjksIDEsIDIxNSwgMTc5LCAKKyAgICAxNjksIDEsIDIxNSwgMTY4LCAxNjksIDEsIDIxNSwgMTY3LCAxNjksIDEsIDIxNSwgMTY0LCAxNjksIDEsIDIxNSwgMTYzLCAKKyAgICAxNjksIDEsIDIxMiwgNjUsIDE2OSwgMSwgMjEyLCAyMiwgMTY5LCAxLCAyMTEsIDI1MCwgMTY5LCAxLCAyMTEsIDIyNywgCisgICAgMTY5LCAxLCAyMTEsIDE5NSwgMTY5LCAxLCAyMTEsIDE4MywgMTY5LCAxLCAxOTEsIDE2OSwgMSwgMjExLCA0NywgMTY5LCAxLCAKKyAgICAyMTEsIDgsIDE2OSwgMSwgMjEwLCAyNDQsIDE2OSwgMSwgMjEwLCAyMTIsIDE2OSwgMSwgMjEwLCAxNzcsIDE4LCAxOSwgCisgICAgMjQwLCAxNjksIDE4LCAxOSwgNzUsIDE4LCAxOSwgMjU1LCAzOCwgMTgsIDE5LCA3MywgMTgsIDE5LCAyMzYsIDM0LCAxOCwgCisgICAgMTksIDc2LCAxOCwgMTksIDIyNiwgMTg0LCAxOCwgMTksIDIxMSwgMTE2LCAyMjYsIDE4NCwgMTgsIDE5LCA3MiwgMjQ1LCAKKyAgICAyMTAsIDE4LCAxOSwgNzIsIDczLCAxOCwgMTksIDYxLCAxOCwgMTksIDI1NSwgNzQsIDE4LCAxOSwgMjEyLCAyMiwgMTgsIAorICAgIDE5LCAxNTksIDIxMiwgMjIsIDE4LCAxOSwgMjExLCAyNTAsIDE4LCAxOSwgMTU5LCAyMTEsIDI1MCwgMTgsIDE5LCAyMTEsIAorICAgIDI0MiwgMTgsIDE5LCAxNTksIDIxMSwgMjQyLCAxOCwgMTksIDIxMSwgMjI3LCAxOCwgMTksIDE1OSwgMjExLCAyMjcsIDE4LCAKKyAgICAxOSwgMjExLCAyMTUsIDE4LCAxOSwgMTU5LCAyMTEsIDIxNSwgMTgsIDE5LCAyMjksIDE5MSwgMjExLCAyMTUsIDE4LCAxOSwgCisgICAgMjEyLCA2NSwgMTgsIDE5LCAxNTksIDIxMiwgNjUsIDE4LCAxOSwgMjEyLCA2NCwgMTgsIDE5LCAxNTksIDIxMiwgNjQsIDE4LCAKKyAgICAxOSwgMjI5LCAxOTEsIDIxMiwgNjQsIDE4LCAxOSwgMjU0LCAyMDIsIDE4LCAxOSwgMjExLCAxMTYsIDIxMiwgOTgsIDE4LCAKKyAgICAxOSwgMjQyLCAxODEsIDIxOCwgMTMwLCAxOCwgMTksIDQwLCAxNDIsIDE4LCAxOSwgNDAsIDI0MiwgMTM3LCAxOCwgMTksIAorICAgIDQwLCAyNTEsIDE3NiwgMTYzLCAyMjIsIDIzNCwgMTgsIDE5LCA0MCwgMjE2LCAxNSwgMTYzLCAyMjIsIDIzNCwgMTgsIDE5LCAKKyAgICA0MCwgNDQsIDE2MywgMjIyLCAyMzQsIDE4LCAxOSwgNDAsIDIyMiwgMjM0LCAxOCwgMTksIDQwLCA1MiwgMTQyLCAxOCwgMTksIAorICAgIDQwLCA1MiwgMjE5LCAyNTIsIDY3LCAyMTgsIDkxLCAxOCwgMTksIDQwLCAyMzAsIDIyNSwgMjQ3LCAxMjEsIDE4LCAxOSwgCisgICAgNDAsIDIxOSwgMjUyLCAyMDMsIDkxLCAxOCwgMTksIDQwLCAyMjUsIDIzLCAxOCwgMTksIDQwLCAxMjQsIDIxNywgODgsIDE4LCAKKyAgICAxOSwgMjQ1LCAxNTEsIDE4LCAxOSwgMjM2LCAwLCAxOCwgMTksIDIyNiwgMTk3LCAxOCwgMTksIDI1NCwgMTI0LCAxOCwgMTksIAorICAgIDIyNSwgMjIyLCAxOCwgMTksIDIyNiwgODgsIDE4LCAxOSwgMjI1LCAxMDksIDE4LCAxOSwgMjI1LCA3MiwgMTgsIDE5LCAKKyAgICAyMjUsIDE3LCAxOCwgMTksIDIyNCwgMjUwLCAxOCwgMTksIDIxMSwgMTE2LCAyMjQsIDI1MCwgMTgsIDE5LCA3MiwgMjQxLCAKKyAgICAyMjEsIDE4LCAxOSwgNzIsIDI0MSwgMTgxLCAxOCwgMTksIDE5MCwgMTgsIDE5LCAyMjYsIDkwLCAxOCwgMTksIDIyNCwgCisgICAgMTEzLCAxOCwgMTksIDE1OSwgMjI0LCAxMTMsIDE4LCAxOSwgMjI0LCAxMTEsIDE4LCAxOSwgMTU5LCAyMjQsIDExMSwgMTgsIAorICAgIDE5LCAyMjQsIDExMCwgMTgsIDE5LCAxNTksIDIyNCwgMTEwLCAxOCwgMTksIDIyNCwgMTA4LCAxOCwgMTksIDE1OSwgMjI0LCAKKyAgICAxMDgsIDE4LCAxOSwgMjI0LCAxMDcsIDE4LCAxOSwgMTU5LCAyMjQsIDEwNywgMTgsIDE5LCAyMjQsIDExNSwgMTgsIDE5LCAKKyAgICAxNTksIDIyNCwgMTE1LCAxOCwgMTksIDIyNCwgMTE0LCAxOCwgMTksIDE1OSwgMjI0LCAxMTQsIDE4LCAxOSwgMjExLCAxMTYsIAorICAgIDIyNCwgMTE0LCAxOCwgMTksIDIyNiwgMTA2LCAxOCwgMTksIDE1OSwgMjI2LCAxMDYsIDE4LCAxOSwgNzIsIDI0MiwgNjEsIAorICAgIDE4LCAxOSwgMjE3LCAyMywgMTgsIDE5LCAyMTcsIDEwMCwgMTgsIDE5LCAyMTYsIDExOCwgMTgsIDE5LCAyMTYsIDEwNCwgCisgICAgMTgsIDE5LCAxMTEsIDE4LCAxOSwgMjE2LCAxOCwgMTgsIDE5LCAyMTEsIDExNiwgMjE2LCAxOCwgMTgsIDE5LCA3MiwgMjQ4LCAKKyAgICA3OCwgMTgsIDE5LCA3MiwgMjQ4LCA0LCAxOCwgMTksIDIxNywgMTA2LCAxOCwgMTksIDIxNywgMTAyLCAxOCwgMTksIDIxNSwgCisgICAgNzgsIDE4LCAxOSwgMTU5LCAyMTUsIDc4LCAxOCwgMTksIDIxNSwgNjIsIDE4LCAxOSwgMTU5LCAyMTUsIDYyLCAxOCwgMTksIAorICAgIDIxNSwgNjEsIDE4LCAxOSwgMTU5LCAyMTUsIDYxLCAxOCwgMTksIDEwNSwgMTgsIDE5LCAxNTksIDEwNSwgMTgsIDE5LCAKKyAgICAyMTUsIDU0LCAxOCwgMTksIDE1OSwgMjE1LCA1NCwgMTgsIDE5LCAyMTUsIDgwLCAxOCwgMTksIDE1OSwgMjE1LCA4MCwgMTgsIAorICAgIDE5LCAyMTUsIDc5LCAxOCwgMTksIDE1OSwgMjE1LCA3OSwgMTgsIDE5LCAyMjksIDE5MSwgMjE1LCA3OSwgMTgsIDE5LCAKKyAgICAyMTcsIDE1MywgMTgsIDE5LCAyMTUsIDE1MiwgMTgsIDE5LCAyMTUsIDEzNiwgMTgsIDE5LCAyMTUsIDEzNCwgMTgsIDE5LCAKKyAgICAyMTUsIDE1NywgMTgsIDE5LCAyMzQsIDE4MywgMTgsIDE5LCAyMzUsIDgsIDE4LCAxOSwgMjM0LCA5MywgMTgsIDE5LCAyMzQsIAorICAgIDg0LCAxOCwgMTksIDIzNCwgMjksIDE4LCAxOSwgMjM0LCAxMSwgMTgsIDE5LCAyMTEsIDExNiwgMjM0LCAxMSwgMTgsIDE5LCAKKyAgICAxNzYsIDE4LCAxOSwgMjM1LCAxMSwgMTgsIDE5LCAyMzMsIDE3OSwgMTgsIDE5LCAxNTksIDIzMywgMTc5LCAxOCwgMTksIAorICAgIDIzMywgMTc3LCAxOCwgMTksIDE1OSwgMjMzLCAxNzcsIDE4LCAxOSwgMjMzLCAxNzYsIDE4LCAxOSwgMTU5LCAyMzMsIDE3NiwgCisgICAgMTgsIDE5LCAyMzMsIDE3NSwgMTgsIDE5LCAxNTksIDIzMywgMTc1LCAxOCwgMTksIDIzMywgMTc0LCAxOCwgMTksIDE1OSwgCisgICAgMjMzLCAxNzQsIDE4LCAxOSwgMjMzLCAxODMsIDE4LCAxOSwgMTU5LCAyMzMsIDE4MywgMTgsIDE5LCAyMzMsIDE4MiwgMTgsIAorICAgIDE5LCAxNTksIDIzMywgMTgyLCAxOCwgMTksIDIyOSwgMTkxLCAyMzMsIDE4MiwgMTgsIDE5LCAyMzUsIDI0LCAxOCwgMTksIAorICAgIDIzMywgMTg0LCAxOCwgMTksIDIxOSwgMjgsIDIzNCwgMTc3LCAxOCwgMTksIDIxOSwgMjgsIDIzNCwgODUsIDE4LCAxOSwgCisgICAgMjE5LCAyOCwgMjM0LCAyNCwgMTgsIDE5LCAyMTksIDI4LCAyMzQsIDI0OSwgMTgsIDE5LCAyNTAsIDE5MSwgMTgsIDE5LCAKKyAgICAyNTEsIDMyLCAxOCwgMTksIDI1MCwgNTIsIDE4LCAxOSwgMjUwLCA0MiwgMTgsIDE5LCAyNDksIDIzOSwgMTgsIDE5LCAyNDksIAorICAgIDE3NSwgMTgsIDE5LCAyMTEsIDExNiwgMjQ5LCAxNzUsIDE4LCAxOSwgMjUxLCAzNCwgMTgsIDE5LCAyNTEsIDMzLCAxOCwgCisgICAgMTksIDI0OSwgODAsIDE4LCAxOSwgMTU5LCAyNDksIDgwLCAxOCwgMTksIDI0OSwgNzgsIDE4LCAxOSwgMTU5LCAyNDksIDc4LCAKKyAgICAxOCwgMTksIDI0OSwgNzcsIDE4LCAxOSwgMTU5LCAyNDksIDc3LCAxOCwgMTksIDI0OSwgNzYsIDE4LCAxOSwgMTU5LCAyNDksIAorICAgIDc2LCAxOCwgMTksIDI0OSwgNzUsIDE4LCAxOSwgMTU5LCAyNDksIDc1LCAxOCwgMTksIDI0OSwgODIsIDE4LCAxOSwgMTU5LCAKKyAgICAyNDksIDgyLCAxOCwgMTksIDI0OSwgODEsIDE4LCAxOSwgMTU5LCAyNDksIDgxLCAxOCwgMTksIDIyOSwgMTkxLCAyNDksIAorICAgIDgxLCAxOCwgMTksIDI1MSwgNjcsIDE4LCAxOSwgMjIxLCAyMTAsIDIxNiwgMjExLCAxOCwgMTksIDIzMSwgOTIsIDE4LCAxOSwgCisgICAgMjMxLCAyMzcsIDE4LCAxOSwgMjMwLCAyMzEsIDE4LCAxOSwgMjMwLCAyMDIsIDE4LCAxOSwgMjMwLCAxNjIsIDE4LCAxOSwgCisgICAgMjMwLCAxMzMsIDE4LCAxOSwgMjExLCAxMTYsIDIzMCwgMTMzLCAxOCwgMTksIDE4NSwgMTgsIDE5LCAyMzEsIDIzOCwgMTgsIAorICAgIDE5LCAyMzAsIDQxLCAxOCwgMTksIDE1OSwgMjMwLCA0MSwgMTgsIDE5LCAyMzAsIDM5LCAxOCwgMTksIDE1OSwgMjMwLCAzOSwgCisgICAgMTgsIDE5LCAyMzAsIDM4LCAxOCwgMTksIDE1OSwgMjMwLCAzOCwgMTgsIDE5LCAyMzAsIDM3LCAxOCwgMTksIDE1OSwgMjMwLCAKKyAgICAzNywgMTgsIDE5LCAyMzAsIDM2LCAxOCwgMTksIDE1OSwgMjMwLCAzNiwgMTgsIDE5LCAyMzAsIDQzLCAxOCwgMTksIDE1OSwgCisgICAgMjMwLCA0MywgMTgsIDE5LCAyMzAsIDQyLCAxOCwgMTksIDE1OSwgMjMwLCA0MiwgMTgsIDE5LCAyMjksIDE5MSwgMjMwLCAKKyAgICA0MiwgMTgsIDE5LCAxOTMsIDE4LCAxOSwgMTU5LCAxOTMsIDE4LCAxOSwgMjMwLCAyMzUsIDE4LCAxOSwgMjUzLCAyMDYsIAorICAgIDE5MywgMTgsIDE5LCAyMjEsIDIxMCwgMTkzLCAxOCwgMTksIDIyOSwgMTA4LCAxOCwgMTksIDIyOSwgMjI1LCAxOCwgMTksIAorICAgIDIyOCwgMjM0LCAxOCwgMTksIDIyOCwgMjA5LCAxOCwgMTksIDIyOCwgNzUsIDE4LCAxOSwgMjI4LCA2NSwgMTgsIDE5LCAKKyAgICAyMTEsIDExNiwgMjI4LCA2NSwgMTgsIDE5LCAxOTcsIDE4LCAxOSwgMjI5LCAyMjYsIDE4LCAxOSwgMjI3LCAxNzMsIDE4LCAKKyAgICAxOSwgMTU5LCAyMjcsIDE3MywgMTgsIDE5LCAyMjcsIDE3NSwgMTgsIDE5LCAxNTksIDIyNywgMTc1LCAxOCwgMTksIDIyNywgCisgICAgMTc0LCAxOCwgMTksIDE1OSwgMjI3LCAxNzQsIDE4LCAxOSwgMjI5LCAxOTEsIDIyNywgMTc0LCAxOCwgMTksIDIzMCwgMjYsIAorICAgIDE4LCAxOSwgNzIsIDIyOSwgODAsIDE4LCAxOSwgMjI4LCAyMzksIDE4LCAxOSwgMjMzLCA1OSwgMTgsIDE5LCAyMzMsIDEzNCwgCisgICAgMTgsIDE5LCAyMzIsIDI0MiwgMTgsIDE5LCAyMzIsIDIyOCwgMTgsIDE5LCAyMzIsIDE1NywgMTgsIDE5LCAyMzIsIDEyOCwgCisgICAgMTgsIDE5LCAyMTEsIDExNiwgMjMyLCAxMjgsIDE4LCAxOSwgMjMzLCAxMzYsIDE4LCAxOSwgMjMzLCAxMzUsIDE4LCAxOSwgCisgICAgMjMyLCA2OSwgMTgsIDE5LCAxNTksIDIzMiwgNjksIDE4LCAxOSwgMjMyLCA2OCwgMTgsIDE5LCAxNTksIDIzMiwgNjgsIDE4LCAKKyAgICAxOSwgMjMyLCA2NywgMTgsIDE5LCAxNTksIDIzMiwgNjcsIDE4LCAxOSwgMjMyLCA2NiwgMTgsIDE5LCAxNTksIDIzMiwgNjYsIAorICAgIDE4LCAxOSwgMjMyLCA2NSwgMTgsIDE5LCAxNTksIDIzMiwgNjUsIDE4LCAxOSwgMjMyLCA3MSwgMTgsIDE5LCAxNTksIDIzMiwgCisgICAgNzEsIDE4LCAxOSwgMjMyLCA3MCwgMTgsIDE5LCAxNTksIDIzMiwgNzAsIDE4LCAxOSwgMTU2LCAxOCwgMTksIDE1OSwgMTU2LCAKKyAgICAxOCwgMTksIDE0NywgMTU2LCAxOCwgMTksIDIyMSwgMTgyLCAxOCwgMTksIDIyMiwgMzAsIDE4LCAxOSwgMjE5LCAxOTIsIAorICAgIDE4LCAxOSwgMjE5LCAxNzYsIDE4LCAxOSwgMjE5LCA1OSwgMTgsIDE5LCAyMTksIDQxLCAxOCwgMTksIDIxMSwgMTE2LCAKKyAgICAyMTksIDQxLCAxOCwgMTksIDIwNiwgMTgsIDE5LCAyMjIsIDMyLCAxOCwgMTksIDIxNywgMjUwLCAxOCwgMTksIDE1OSwgCisgICAgMjE3LCAyNTAsIDE4LCAxOSwgMjE3LCAyNDQsIDE4LCAxOSwgMTU5LCAyMTcsIDI0NCwgMTgsIDE5LCAyMTcsIDI0MywgMTgsIAorICAgIDE5LCAxNTksIDIxNywgMjQzLCAxOCwgMTksIDIxNywgMjM5LCAxOCwgMTksIDE1OSwgMjE3LCAyMzksIDE4LCAxOSwgMjE3LCAKKyAgICAyMzgsIDE4LCAxOSwgMTU5LCAyMTcsIDIzOCwgMTgsIDE5LCAyMTcsIDI1NCwgMTgsIDE5LCAxNTksIDIxNywgMjU0LCAxOCwgCisgICAgMTksIDIxNywgMjUzLCAxOCwgMTksIDE1OSwgMjE3LCAyNTMsIDE4LCAxOSwgMjI5LCAxOTEsIDIxNywgMjUzLCAxOCwgMTksIAorICAgIDIyMiwgOTIsIDE4LCAxOSwgMjUzLCAyMDYsIDIyMiwgOTIsIDE4LCAxOSwgMjE3LCAyNTUsIDE4LCAxOSwgMjUxLCAyMTksIAorICAgIDIyMiwgOTIsIDE4LCAxOSwgMjMwLCAxMjgsIDIxOSwgMTA5LCAxOCwgMTksIDIyOSwgMTkxLCAyMTksIDEwMCwgMTgsIDE5LCAKKyAgICAyMjksIDE5MSwgMjIyLCA5MCwgMTgsIDE5LCAyMjksIDE5MSwgMjE4LCAyMzYsIDE4LCAxOSwgMjI5LCAxOTEsIDIxOCwgODcsIAorICAgIDE4LCAxOSwgMjI5LCAxOTEsIDIxOSwgOTksIDE4LCAxOSwgMjI5LCAxOTEsIDIyMSwgMTg1LCAxOCwgMTksIDIyMCwgNjQsIAorICAgIDE4LCAxOSwgMjIwLCAzMywgMTgsIDE5LCAyMjAsIDI4LCAxOCwgMTksIDIyMCwgOCwgMTgsIDE5LCAyMjAsIDIsIDE4LCAxOSwgCisgICAgMjIwLCAxMDMsIDE4LCAxOSwgMjIwLCA5OSwgMTgsIDE5LCAyMTksIDIwNywgMTgsIDE5LCAxNTksIDIxOSwgMjA3LCAxOCwgCisgICAgMTksIDIxOSwgMjA2LCAxOCwgMTksIDE1OSwgMjE5LCAyMDYsIDE4LCAxOSwgMjE5LCAyMDUsIDE4LCAxOSwgMTU5LCAyMTksIAorICAgIDIwNSwgMTgsIDE5LCAyMTksIDIwNCwgMTgsIDE5LCAxNTksIDIxOSwgMjA0LCAxOCwgMTksIDIxOSwgMjAzLCAxOCwgMTksIAorICAgIDE1OSwgMjE5LCAyMDMsIDE4LCAxOSwgMjE5LCAyMDksIDE4LCAxOSwgMTU5LCAyMTksIDIwOSwgMTgsIDE5LCAyMTksIDIwOCwgCisgICAgMTgsIDE5LCAxNTksIDIxOSwgMjA4LCAxOCwgMTksIDIyMCwgMTA1LCAxOCwgMTksIDIxMSwgNDcsIDE4LCAxOSwgMjExLCAKKyAgICAxMDEsIDE4LCAxOSwgMjExLCA4LCAxOCwgMTksIDIxMCwgMjU1LCAxOCwgMTksIDIxMCwgMjQ0LCAxOCwgMTksIDIxMCwgCisgICAgMjI5LCAxOCwgMTksIDIxMSwgMTE2LCAyMTAsIDIyOSwgMTgsIDE5LCAxOTEsIDE4LCAxOSwgMjExLCAxMDMsIDE4LCAxOSwgCisgICAgMjEwLCAxNzQsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NCwgMTgsIDE5LCAyMTAsIDE3MywgMTgsIDE5LCAxNTksIDIxMCwgMTczLCAKKyAgICAxOCwgMTksIDIxMCwgMTcyLCAxOCwgMTksIDE1OSwgMjEwLCAxNzIsIDE4LCAxOSwgMjEwLCAxNzEsIDE4LCAxOSwgMTU5LCAKKyAgICAyMTAsIDE3MSwgMTgsIDE5LCAyMTAsIDE3MCwgMTgsIDE5LCAxNTksIDIxMCwgMTcwLCAxOCwgMTksIDIxMCwgMTc2LCAxOCwgCisgICAgMTksIDE1OSwgMjEwLCAxNzYsIDE4LCAxOSwgMjEwLCAxNzUsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NSwgMTgsIDE5LCAyMjksIAorICAgIDE5MSwgMjEwLCAxNzUsIDE4LCAxOSwgMjExLCAxMTcsIDE4LCAxOSwgMjUyLCA1LCAyMTEsIDExNywgMTgsIDE5LCAxNTksIAorICAgIDIxMSwgMTE3LCAxOCwgMTksIDIyMSwgMjEwLCAyMTEsIDgsIDE4LCAxOSwgMjIzLCAxMjksIDE4LCAxOSwgMjIzLCAyMjQsIAorICAgIDIyMywgMTI5LCAxOCwgMTksIDE1OSwgMjMzLCA1OSwgMTgsIDE5LCAyMjMsIDE4NCwgMTgsIDE5LCAyMjMsIDM2LCAxOCwgCisgICAgMTksIDIyMiwgMjQwLCAxOCwgMTksIDIyMiwgMjEyLCAxOCwgMTksIDIyMiwgMTk4LCAxOCwgMTksIDE1OSwgMjMyLCAxNTcsIAorICAgIDE4LCAxOSwgMjA1LCAxOCwgMTksIDIyMywgMTg1LCAxOCwgMTksIDE1OSwgMjMzLCAxMzYsIDE4LCAxOSwgMjIyLCAxMDksIAorICAgIDE4LCAxOSwgMTU5LCAyMjIsIDEwOSwgMTgsIDE5LCAxNTMsIDE4LCAxOSwgMTU5LCAxNTMsIDE4LCAxOSwgMTQ3LCAxNTMsIAorICAgIDE4LCAxOSwgMjQ0LCAxNTUsIDE4LCAxOSwgMjQ0LCAxOTQsIDE4LCAxOSwgMjQ0LCAxMjIsIDE4LCAxOSwgMjQ0LCAxMDksIAorICAgIDE4LCAxOSwgMjQ0LCA0NCwgMTgsIDE5LCAyNDQsIDM1LCAxOCwgMTksIDI0NCwgMTk3LCAxOCwgMTksIDI0NCwgMTk2LCAxOCwgCisgICAgMTksIDI0MywgMjEzLCAxOCwgMTksIDE1OSwgMjQzLCAyMTMsIDE4LCAxOSwgMjQ1LCA3LCAxOCwgMTksIDIxNiwgMTk2LCAKKyAgICAxOCwgMTksIDIzMCwgMjQsIDIxNiwgMTk2LCAxOCwgMTksIDIxNiwgMTc2LCAxOCwgMTksIDIzMCwgMjQsIDIxNiwgMTc2LCAKKyAgICAxOCwgMTksIDIxNiwgMTcyLCAxOCwgMTksIDIzMCwgMjQsIDIxNiwgMTcyLCAxOCwgMTksIDIxNiwgMTU3LCAxOCwgMTksIAorICAgIDIxNiwgMTU0LCAxOCwgMTksIDIxNiwgMjA5LCAxOCwgMTksIDIxNiwgMjA4LCAxOCwgMTksIDIxNiwgMTI4LCAxOCwgMTksIAorICAgIDE1OSwgMjE2LCAxMjgsIDE4LCAxOSwgMjE2LCAyMTEsIDE4LCAxOSwgMjE1LCAxNDMsIDE4LCAxOSwgMjE1LCAxNDEsIDE4LCAKKyAgICAxOSwgMjE1LCAxNDAsIDE4LCAxOSwgMjE1LCAxNDUsIDE4LCAxOSwgMjE1LCAxNDYsIDE4LCAxOSwgMjE1LCA1MiwgMTgsIAorICAgIDE5LCAyMTUsIDUxLCAxOCwgMTksIDIxNSwgNTAsIDE4LCAxOSwgMjE1LCA1MywgMTgsIDE5LCAyMjcsIDE5NCwgMjQxLCAKKyAgICAyMzksIDE4LCAxOSwgMjI3LCAxOTQsIDI0MSwgMTgxLCAxOCwgMTksIDIyNywgMTk0LCAyNDEsIDE2MiwgMTgsIDE5LCAyMjcsIAorICAgIDE5NCwgMjQxLCA2OSwgMTgsIDE5LCAyMjcsIDE5NCwgMjQxLCA1NCwgMTgsIDE5LCAyMjcsIDE5NCwgMTYyLCAxOCwgMTksIAorICAgIDIyNywgMTk0LCAyNDIsIDQ3LCAxOCwgMTksIDIyNywgMTk0LCAyNDIsIDYxLCAxOCwgMTksIDIyNywgMTkzLCAyNDIsIDYxLCAKKyAgICAxOCwgMTksIDI0MSwgMTU1LCAxOCwgMTksIDIyNCwgODUsIDE4LCAxOSwgMjI0LCA1NCwgMTgsIDE5LCAyMjQsIDQ5LCAxOCwgCisgICAgMTksIDIyNCwgNDMsIDE4LCAxOSwgMjI0LCAzOCwgMTgsIDE5LCAyMjQsIDg5LCAxOCwgMTksIDIyNCwgODgsIDE4LCAxOSwgCisgICAgMjI0LCA5NywgMTgsIDE5LCAyMTYsIDU2LCAxOCwgMTksIDIxNiwgNTQsIDE4LCAxOSwgMjE2LCA1MywgMTgsIDE5LCAyMTYsIAorICAgIDU3LCAxOCwgMTksIDE1OSwgMjIzLCAxMjksIDE4LCAxOSwgMTU5LCAyMjMsIDM2LCAxOCwgMTksIDE1OSwgMjIyLCAyMTIsIAorICAgIDE4LCAxOSwgMTU5LCAyMDUsIDE4LCAxOSwgMjI5LCA3NiwgMTgsIDE5LCAyMjksIDI4LCAxOCwgMTksIDIyOSwgMjQsIDE4LCAKKyAgICAxOSwgMjI5LCA1LCAxOCwgMTksIDIyOSwgMCwgMTgsIDE5LCAyMjksIDc4LCAxOCwgMTksIDIyOSwgNzcsIDE4LCAxOSwgCisgICAgMjI5LCA4MCwgMTgsIDE5LCAyMjgsIDEwNCwgMTgsIDE5LCAyMjEsIDIxMCwgMjIwLCA2NCwgMTgsIDE5LCAyMjEsIDIxMCwgCisgICAgMjIwLCAzMywgMTgsIDE5LCAyMjEsIDIxMCwgMjIwLCA4LCAxOCwgMTksIDIyMSwgMjEwLCAyMjAsIDEwMywgMTgsIDE5LCAKKyAgICAyMTEsIDIxMywgMjE2LCAxOTYsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTc2LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIAorICAgIDE1NywgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAyMDksIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMjExLCAxOCwgMTksIDIzMiwgCisgICAgMjQ5LCAxOCwgMTksIDIzMiwgMjQ4LCAxOCwgMTksIDIzMiwgMjQ3LCAxOCwgMTksIDIzMiwgMjQ2LCAxOCwgMTksIDIzMiwgCisgICAgMjU1LCAxOCwgMTksIDIzMiwgMjU0LCAxOCwgMTksIDIzMywgMCwgMTgsIDE5LCAyMTYsIDIxMCwgMjE2LCAxOTYsIDE4LCAKKyAgICAxOSwgMjE2LCAyMTAsIDIxNiwgMTc2LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDE3MiwgMTgsIDE5LCAyMTYsIDIxMCwgCisgICAgMjE2LCAxNTcsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgMTU0LCAxOCwgMTksIDIxNiwgMjEwLCAyMTYsIDIwOSwgMTgsIDE5LCAKKyAgICAyMTYsIDIxMCwgMjE2LCAyMDgsIDE4LCAxOSwgMjE2LCAyMTAsIDIxNiwgMjExLCAxOCwgMTksIDI1NCwgMTkwLCAyNTMsIAorICAgIDE1OSwgMTgsIDE5LCAyNTEsIDIxOSwgNzUsIDE4LCAxOSwgMjUxLCAyMTksIDczLCAxOCwgMTksIDI1MSwgMjE5LCA3NiwgCisgICAgMTgsIDE5LCAyNTEsIDIxOSwgNjEsIDE4LCAxOSwgMjUxLCAyMTksIDIxMiwgMjIsIDE4LCAxOSwgMjUxLCAyMTksIDIxMSwgCisgICAgMjUwLCAxOCwgMTksIDI1MSwgMjE5LCAyMTEsIDIyNywgMTgsIDE5LCAyNTEsIDIxOSwgMjEyLCA2NSwgMTgsIDE5LCAyNTEsIAorICAgIDIxOSwgMjI5LCAxMDgsIDE4LCAxOSwgMjUxLCAyMTksIDIyOCwgMjM0LCAxOCwgMTksIDI1MSwgMjE5LCAyMjgsIDc1LCAxOCwgCisgICAgMTksIDI1MSwgMjE5LCAxOTcsIDE4LCAxOSwgMjUxLCAyMTksIDIzNCwgMTgzLCAxOCwgMTksIDI1MSwgMjE5LCAyMzQsIDkzLCAKKyAgICAxOCwgMTksIDI1MSwgMjE5LCAyMzQsIDI5LCAxOCwgMTksIDI1MSwgMjE5LCAxNzYsIDE4LCAxOSwgMjIxLCAyMTAsIDI0MSwgCisgICAgMjM5LCAxOCwgMTksIDIyMSwgMjEwLCAyNDEsIDE4MSwgMTgsIDE5LCAyMjEsIDIxMCwgMjQxLCA2OSwgMTgsIDE5LCAyMjEsIAorICAgIDIxMCwgMTYyLCAxOCwgMTksIDcyLCAyNDIsIDIyMSwgMTgsIDE5LCA3MiwgMjQyLCAyMjUsIDE4LCAxOSwgNzIsIDI0MiwgCisgICAgMjM3LCAxOCwgMTksIDcyLCAyNDIsIDIzNiwgMTgsIDE5LCA3MiwgMjQyLCAyMjYsIDE4LCAxOSwgNzIsIDI0MiwgMjUwLCAKKyAgICAxOCwgMTksIDcyLCAyMjIsIDE0MSwgMTgsIDE5LCA3MiwgMjIyLCAyMTIsIDE4LCAxOSwgNzIsIDIyMywgMTI5LCAxOCwgMTksIAorICAgIDcyLCAyMjMsIDEwOSwgMTgsIDE5LCA3MiwgMjIzLCAzNiwgMTgsIDE5LCA3MiwgMjA1LCAxOCwgMTksIDcyLCAyMTEsIDE5NSwgCisgICAgMTgsIDE5LCA3MiwgMjExLCAyMjcsIDE4LCAxOSwgNzIsIDIxMiwgMjIsIDE4LCAxOSwgNzIsIDIxMiwgMTcsIDE4LCAxOSwgCisgICAgNzIsIDIxMSwgMjUwLCAxOCwgMTksIDcyLCAyMTIsIDY1LCAxOCwgMTksIDcyLCAyNDAsIDE5NSwgMTgsIDE5LCA3MiwgMjQwLCAKKyAgICAxOTYsIDE4LCAxOSwgNzIsIDI0MCwgMTk5LCAxOCwgMTksIDcyLCAyNDAsIDE5OCwgMTgsIDE5LCA3MiwgMjQwLCAxOTcsIAorICAgIDE4LCAxOSwgNzIsIDI0MCwgMjAxLCAxOCwgMTksIDcyLCAyMTYsIDEzNywgMTgsIDE5LCA3MiwgMjE2LCAxNTcsIDE4LCAxOSwgCisgICAgNzIsIDIxNiwgMTk2LCAxOCwgMTksIDcyLCAyMTYsIDE5NSwgMTgsIDE5LCA3MiwgMjE2LCAxNzYsIDE4LCAxOSwgNzIsIAorICAgIDIxNiwgMjA5LCAxOCwgMTksIDcyLCAyMTUsIDEyNCwgMTgsIDE5LCA3MiwgMjE1LCAxMzQsIDE4LCAxOSwgNzIsIDIxNSwgCisgICAgMTUyLCAxOCwgMTksIDcyLCAyMTUsIDE1MSwgMTgsIDE5LCA3MiwgMjE1LCAxMzYsIDE4LCAxOSwgNzIsIDIxNSwgMTU3LCAKKyAgICAxOCwgMTksIDcyLCAyMjQsIDE1MSwgMTgsIDE5LCA3MiwgMjI1LCAxNywgMTgsIDE5LCA3MiwgMjI1LCAyMjIsIDE4LCAxOSwgCisgICAgNzIsIDIyNSwgMjEyLCAxOCwgMTksIDcyLCAyMjUsIDEwOSwgMTgsIDE5LCA3MiwgMTkwLCAxOCwgMTksIDcyLCAyMjYsIAorICAgIDEwNiwgMTgsIDE5LCA3MiwgMjQyLCAxMTQsIDE4LCAxOSwgNzIsIDI0MiwgMTc1LCAxOCwgMTksIDcyLCAyNDMsIDYzLCAxOCwgCisgICAgMTksIDcyLCAyNDMsIDU2LCAxOCwgMTksIDcyLCAyNDIsIDIxNSwgMTgsIDE5LCA3MiwgMjQzLCAxMzYsIDE4LCAxOSwgNzIsIAorICAgIDIzNCwgMTAxLCAxOCwgMTksIDcyLCAyMzQsIDEwNiwgMTgsIDE5LCA3MiwgMjM0LCAxMjAsIDE4LCAxOSwgNzIsIDIzNCwgCisgICAgMTE5LCAxOCwgMTksIDcyLCAyMzQsIDExMywgMTgsIDE5LCA3MiwgMjM0LCAxMzMsIDE4LCAxOSwgNzIsIDIzNCwgNDIsIDE4LCAKKyAgICAxOSwgNzIsIDIzNCwgNDMsIDE4LCAxOSwgNzIsIDIzNCwgNDYsIDE4LCAxOSwgNzIsIDIzNCwgNDUsIDE4LCAxOSwgNzIsIAorICAgIDIzNCwgNDQsIDE4LCAxOSwgNzIsIDIzNCwgNDcsIDE4LCAxOSwgNzIsIDIzNCwgNDgsIDE4LCAxOSwgNzIsIDIyNywgMjM4LCAKKyAgICAxOCwgMTksIDcyLCAyMjgsIDc1LCAxOCwgMTksIDcyLCAyMjksIDEwOCwgMTgsIDE5LCA3MiwgMjI5LCAxMDQsIDE4LCAxOSwgCisgICAgNzIsIDIyOCwgMjM0LCAxOCwgMTksIDcyLCAxOTcsIDE4LCAxOSwgNzIsIDIzMCwgMTAzLCAxOCwgMTksIDcyLCAyMzAsIAorICAgIDE2MiwgMTgsIDE5LCA3MiwgMjMxLCA5MiwgMTgsIDE5LCA3MiwgMjMxLCA4MSwgMTgsIDE5LCA3MiwgMjMwLCAyMzEsIDE4LCAKKyAgICAxOSwgNzIsIDE4NSwgMTgsIDE5LCA3MiwgMjEwLCAyMTIsIDE4LCAxOSwgNzIsIDIxMCwgMjQ0LCAxOCwgMTksIDcyLCAyMTEsIAorICAgIDQ3LCAxOCwgMTksIDcyLCAyMTEsIDQ0LCAxOCwgMTksIDcyLCAyMTEsIDgsIDE4LCAxOSwgNzIsIDE5MSwgMTgsIDE5LCA3MiwgCisgICAgMjM1LCA1MiwgMTgsIDE5LCAyMjEsIDIxMCwgMjM1LCA1MiwgMTgsIDE5LCA3MiwgMjM1LCA2OSwgMTgsIDE5LCA3MiwgMjM1LCAKKyAgICAxMjcsIDE4LCAxOSwgNzIsIDIzNSwgMTI1LCAxOCwgMTksIDcyLCAyMzUsIDEwOSwgMTgsIDE5LCAyMjEsIDIxMCwgMjM1LCAKKyAgICAxMDksIDE4LCAxOSwgNzIsIDIzNSwgMTQyLCAxOCwgMTksIDcyLCAyMzUsIDgyLCAxOCwgMTksIDcyLCAyMzUsIDg2LCAxOCwgCisgICAgMTksIDcyLCAyMzUsIDk2LCAxOCwgMTksIDcyLCAyMzUsIDk1LCAxOCwgMTksIDcyLCAyMzUsIDk0LCAxOCwgMTksIDcyLCAKKyAgICAyMzUsIDk3LCAxOCwgMTksIDcyLCAyMzIsIDk5LCAxOCwgMTksIDcyLCAyMzIsIDE1NywgMTgsIDE5LCA3MiwgMjMzLCA1OSwgCisgICAgMTgsIDE5LCA3MiwgMjMzLCA1MSwgMTgsIDE5LCA3MiwgMjMyLCAyNDIsIDE4LCAxOSwgNzIsIDIzMywgMTM2LCAxOCwgMTksIAorICAgIDcyLCAyNDcsIDE1MCwgMTgsIDE5LCA3MiwgMjQ3LCAxNTEsIDE4LCAxOSwgNzIsIDI0NywgMTU2LCAxOCwgMTksIDcyLCAKKyAgICAyNDcsIDE1NSwgMTgsIDE5LCA3MiwgMjQ3LCAxNTIsIDE4LCAxOSwgNzIsIDI0NywgMTU3LCAxOCwgMTksIDcyLCAyMzIsIAorICAgIDI0NSwgMTgsIDE5LCA3MiwgMjMyLCAyNDcsIDE4LCAxOSwgNzIsIDIzMiwgMjUxLCAxOCwgMTksIDcyLCAyMzIsIDI1MCwgCisgICAgMTgsIDE5LCA3MiwgMjMyLCAyNDksIDE4LCAxOSwgNzIsIDIzMiwgMjU1LCAxOCwgMTksIDcyLCAyMTYsIDUxLCAxOCwgMTksIAorICAgIDcyLCAyMTYsIDUzLCAxOCwgMTksIDcyLCAyMTYsIDU2LCAxOCwgMTksIDcyLCAyMTYsIDU1LCAxOCwgMTksIDcyLCAyMTYsIAorICAgIDU0LCAxOCwgMTksIDcyLCAyMTYsIDU3LCAxOCwgMTksIDcyLCAyMTYsIDQ2LCAxOCwgMTksIDcyLCAyMTYsIDQ3LCAxOCwgCisgICAgMTksIDcyLCAyMTYsIDU5LCAxOCwgMTksIDcyLCAyMTYsIDU4LCAxOCwgMTksIDcyLCAyMTYsIDQ4LCAxOCwgMTksIDcyLCAKKyAgICAyMTYsIDYwLCAxOCwgMTksIDcyLCAyMTAsIDEzLCAxOCwgMTksIDcyLCAyMTAsIDIzLCAxOCwgMTksIDcyLCAyMTAsIDk0LCAKKyAgICAxOCwgMTksIDcyLCAyMTAsIDkyLCAxOCwgMTksIDcyLCAyMTAsIDQ0LCAxOCwgMTksIDcyLCAyMTAsIDExNiwgMTgsIDE5LCAKKyAgICA3MiwgMjEwLCAxNTksIDE4LCAxOSwgNzIsIDY1LCAyMTAsIDE1OSwgMTgsIDE5LCA3MiwgMjQ2LCAyOSwgMTgsIDE5LCA3MiwgCisgICAgMjQ2LCAzMCwgMTgsIDE5LCA3MiwgMjQ2LCAzNywgMTgsIDE5LCA3MiwgMjQ2LCAzNiwgMTgsIDE5LCA3MiwgMjQ2LCAzMiwgCisgICAgMTgsIDE5LCA3MiwgMjQ2LCAzOSwgMTgsIDE5LCA3MiwgMjE4LCA4NCwgMTgsIDE5LCA3MiwgMjE5LCA1OSwgMTgsIDE5LCAKKyAgICA3MiwgMjIxLCAxODIsIDE4LCAxOSwgNzIsIDIyMSwgMTcxLCAxOCwgMTksIDcyLCAyMTksIDE5MiwgMTgsIDE5LCA3MiwgCisgICAgMjA2LCAxOCwgMTksIDcyLCAyMTksIDIyNiwgMTgsIDE5LCA3MiwgMjIwLCA4LCAxOCwgMTksIDcyLCAyMjAsIDY0LCAxOCwgCisgICAgMTksIDcyLCAyMjAsIDYyLCAxOCwgMTksIDcyLCAyMjAsIDMzLCAxOCwgMTksIDcyLCAyMjAsIDEwMywgMTgsIDE5LCA3MiwgCisgICAgMjIwLCAxMDUsIDE4LCAxOSwgNzIsIDIxNSwgMTY0LCAxOCwgMTksIDcyLCAyMTUsIDE2NywgMTgsIDE5LCA3MiwgMjE1LCAKKyAgICAxNzksIDE4LCAxOSwgNzIsIDIxNSwgMTc4LCAxOCwgMTksIDcyLCAyMTUsIDE2OCwgMTgsIDE5LCA3MiwgMjE1LCAxODQsIAorICAgIDE4LCAxOSwgNzIsIDI1MCwgNzAsIDE4LCAxOSwgNzIsIDI1MCwgODcsIDE4LCAxOSwgNzIsIDI1MCwgMTMyLCAxOCwgMTksIAorICAgIDcyLCAyNTAsIDEyOSwgMTgsIDE5LCA3MiwgMjUwLCAxMTEsIDE4LCAxOSwgNzIsIDI1MCwgMTU4LCAxOCwgMTksIDcyLCAKKyAgICAyMTUsIDEyNywgMTgsIDE5LCA3MiwgMjE1LCAxMjgsIDE4LCAxOSwgNzIsIDIxNSwgMTMxLCAxOCwgMTksIDcyLCAyMTUsIAorICAgIDEzMCwgMTgsIDE5LCA3MiwgMjE1LCAxMjksIDE4LCAxOSwgNzIsIDIxNSwgMTMyLCAxOCwgMTksIDI1MCwgMTEyLCA1MCwgCisgICAgMTgsIDE5LCAyNDMsIDIzMCwgMjE4LCAxMzAsIDE4LCAxOSwgMjI0LCA4MSwgMTgsIDE5LCAyMjksIDc0LCAxOCwgMTksIAorICAgIDIyOCwgMTAxLCAxOCwgMTksIDIyOCwgMTAwLCAxOCwgMTksIDIyOCwgOTksIDE4LCAxOSwgMjI4LCA5OCwgMTgsIDE5LCAKKyAgICAyMjgsIDEwMywgMTgsIDE5LCAyMjgsIDEwMiwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjYsIDE4LCAxOSwgMjExLCAyMTMsIAorICAgIDIxNiwgMTI1LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyNCwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjMsIDE4LCAxOSwgCisgICAgMjExLCAyMTMsIDIxNiwgMTIyLCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyOSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAKKyAgICAxMjgsIDE4LCAxOSwgMjExLCAyMTMsIDQwLCAyMTYsIDIxMSwgMTgsIDE5LCAyNTEsIDIxOSwgMjEyLCA5OCwgMjI2LCAyMjcsIAorICAgIDIxOSwgMjAsIDc4LCAyMjYsIDIyNywgMSwgMjUyLCA0OSwgMjI2LCAyMjcsIDEsIDIzMiwgODgsIDIyNiwgMjI3LCAxLCAKKyAgICAyNDQsIDE1MiwgMjI2LCAyMjcsIDEsIDIyMiwgMTYsIDIyNiwgMjI3LCAxLCAyMjgsIDE5NCwgMjI2LCAyMjcsIDEsIDIxNCwgCisgICAgMjI2LCAyMjYsIDIyNywgMSwgMjQ4LCAxOTgsIDIyNiwgMjI3LCAxLCAyMTYsIDgxLCAyMjYsIDIyNywgMSwgMjQ5LCAyMzAsIAorICAgIDIyNiwgMjI3LCAxLCAyNTAsIDE4MSwgMjI2LCAyMjcsIDEsIDIzMCwgOTIsIDIyNiwgMjI3LCAxLCAyNDIsIDE1NywgMjI2LCAKKyAgICAyMjcsIDEsIDIyOSwgNjQsIDIyNiwgMjI3LCAxLCAyMTgsIDEyMywgMjI2LCAyMjcsIDEsIDIyMiwgMTM2LCAyMjYsIDIyNywgCisgICAgMSwgMjU0LCAxOTksIDIyNiwgMjI3LCAxLCAyMjYsIDE4OCwgMjI2LCAyMjcsIDEsIDIxNCwgMTUwLCAyMjYsIDIyNywgMSwgCisgICAgMjQ1LCAyMzIsIDIyNiwgMjI3LCAxLCAyMzUsIDE4OSwgMjI2LCAyMjcsIDEsIDI0NSwgMjMzLCAyMjYsIDIyNywgMSwgMjI2LCAKKyAgICAxNTksIDIyNiwgMjI3LCAxLCAyMTQsIDIwNiwgMjI2LCAyMjcsIDEsIDIzNiwgNDAsIDIyNiwgMjI3LCAxLCAyNDUsIDIzMCwgCisgICAgMjI2LCAyMjcsIDEsIDIyNSwgMjAzLCAyMjYsIDIyNywgMjQ0LCAxNTEsIDc4LCAyMjYsIDIyNywgMjIzLCA1MCwgMjQ0LCAKKyAgICAxNTEsIDc4LCAxNzgsIDEsIDI0NCwgMTQyLCAyNDQsIDEzNCwgMjQ0LCAxNTYsIDI0NSwgNywgMTc4LCAxLCAyMTQsIDEwNSwgCisgICAgMTc4LCAxLCAyMTQsIDEzNSwgMjE0LCAxNTEsIDcwLCAxNzgsIDEsIDIxMCwgMjE0LCAxNzgsIDEsIDIxMSwgMTE3LCAxNzgsIAorICAgIDEsIDIxMiwgOTgsIDE3OCwgMSwgMjE2LCAxMzEsIDIxNiwgMTMwLCAyMTYsIDE1MiwgMTc4LCAxLCAyNDUsIDYwLCAxNzgsIAorICAgIDEsIDI1NCwgOTQsIDYxLCAxNzgsIDEsIDIyNiwgMTQ0LCA3NiwgMTc4LCAxLCAyNTUsIDE4LCA2MSwgMTc4LCAxLCAyNTQsIAorICAgIDIyOCwgMTc4LCAxLCAyMzIsIDEzNCwgNzYsIDE3OCwgMSwgMjE5LCAyNDUsIDc2LCAxNzgsIDEsIDc2LCAxNzgsIDEsIDIyNiwgCisgICAgMjM1LCAxNzgsIDEsIDIyNiwgMTk3LCAxNzgsIDEsIDIyMywgMTY1LCAyMjMsIDE3OCwgMjIzLCA5NSwgMTUzLCAxNzgsIDEsIAorICAgIDIzNCwgMTk0LCAxNzgsIDEsIDI1MCwgMTc4LCAxNzgsIDEsIDIzNCwgMTk1LCAyMzUsIDI0LCAxNzgsIDEsIDI0MywgMjAzLCAKKyAgICAxNzgsIDEsIDI0NSwgMTM5LCAxNzgsIDEsIDI0MywgNTksIDI0MiwgNjcsIDI0MywgMjAzLCAxNzgsIDEsIDI0MywgOTcsIAorICAgIDE3OCwgMSwgMjExLCAxODgsIDIxMSwgMTgyLCAyMTIsIDk4LCAxNzgsIDEsIDI0MiwgMzksIDI0MiwgNjEsIDE3OCwgMSwgCisgICAgMjQyLCA0MywgMjQyLCA2MSwgMTc4LCAxLCAyMzIsIDEzNiwgMjQyLCA2MSwgMTc4LCAxLCAyMTksIDI0OCwgMjQyLCA2MSwgCisgICAgMTc4LCAxLCAyMjksIDE4NiwgMjI3LCAxNTgsIDIyOSwgMTg3LCAyMzAsIDI2LCAxNzgsIDEsIDIxOSwgMjQ2LCAyMzAsIDI2LCAKKyAgICAxNzgsIDEsIDI0NiwgMTE2LCAxNzgsIDEsIDIzNSwgMTY5LCAyMzUsIDE3MywgMjM1LCAxNjMsIDczLCAxNzgsIDEsIDc1LCAKKyAgICAxNzgsIDEsIDIzNSwgMTE4LCAyMzUsIDE0NSwgMTc4LCAxLCAyNDMsIDQ0LCAxNzgsIDEsIDIzMiwgMTM3LCAyNTQsIDI0NCwgCisgICAgMTc4LCAxLCAyMTksIDI1MCwgNjEsIDE3OCwgMSwgMjM1LCAxNTUsIDI0NSwgMTE0LCAxNzgsIDEsIDIyNSwgMTY1LCAyMjUsIAorICAgIDE4NywgMjI2LCAxMDYsIDE3OCwgMSwgMjU0LCAxNjQsIDI0NSwgMTEyLCAxNzgsIDEsIDIxOSwgMjUsIDIyMiwgOTIsIDE3OCwgCisgICAgMSwgMjE5LCAxODAsIDIzMiwgMTMzLCAyMjIsIDkyLCAxNzgsIDEsIDIxOSwgMjQ0LCAyMjIsIDkyLCAxNzgsIDEsIDI1MSwgCisgICAgNjcsIDE3OCwgMSwgMjEwLCAxNTksIDE3OCwgMSwgMjE2LCA2NCwgMjE2LCA3NCwgMjE1LCA0MSwgMjE3LCAxNTMsIDE3OCwgCisgICAgMSwgMjE5LCAyNDMsIDIxNywgMTUzLCAxNzgsIDEsIDI0OSwgNjEsIDE3OCwgMSwgMjUyLCAzMiwgMjUyLCAzNSwgMjUxLCAKKyAgICAyMjUsIDI1MywgMTU5LCAxNzgsIDEsIDIxOSwgMjQ5LCAyNTMsIDE1OSwgMTc4LCAxLCAyNDYsIDExNSwgMTc4LCAxLCAyMjYsIAorICAgIDE3MiwgMTc4LCAxLCAyNDUsIDE5NywgMjQ1LCAxOTksIDc1LCAxNzgsIDEsIDIzMSwgMTc5LCAyMzEsIDE4NywgMTkzLCAKKyAgICAxNzgsIDEsIDIzMiwgMTM1LCAxOTMsIDE3OCwgMSwgMjE5LCAyNDcsIDE5MywgMTc4LCAxLCAyMzMsIDc0LCAyMzMsIDExNSwgCisgICAgMjMyLCAxNDQsIDE1NiwgMTc4LCAxLCAyNDYsIDExNywgMTc4LCAxLCAyMzUsIDIzMSwgMTc4LCAxLCAyMzUsIDIzMiwgMTc4LCAKKyAgICAxLCAyNDgsIDIxMSwgMjQ4LCAyMTYsIDI0OSwgNjEsIDE3OCwgMSwgMjI2LCAxMzksIDI0NSwgNTksIDc2LCAxNzgsIDEsIAorICAgIDI0NSwgMjI4LCAxNzgsIDEsIDIzNSwgMTg4LCAxNzgsIDEsIDI0OSwgNzksIDE3OCwgMSwgMjUxLCAxOCwgMTc4LCAxLCAKKyAgICAyNTAsIDE5MCwgMTc4LCAxLCAyMTgsIDE2MiwgMTc4LCAxLCAyMzIsIDEzMiwgMTc4LCAxLCAyMTksIDI0MiwgMTc4LCAxLCAKKyAgICAyNDAsIDExMSwgMTc4LCAxLCAyMjQsIDk3LCAxNzgsIDEsIDIxMSwgMTc4LCAxNzgsIDIxOSwgMTU2LCAyMjQsIDE0MSwgCisgICAgMTc4LCAyMzAsIDg2LCAyMjQsIDE0MSwgMTc4LCAyNDksIDEzMiwgMjI0LCAxNDEsIDE3OCwgMjU0LCA3LCA4NywgMTc4LCAKKyAgICAyMTUsIDgyLCA4NywgMTc4LCAyNTIsIDQ3LCA4NywgMjE3LCA4NCwgMSwgNjEsIDIxNywgODQsIDEsIDczLCAyMTcsIDg0LCAKKyAgICAxLCA3MCwgMjE3LCA4NCwgMSwgMTc2LCAyMTcsIDg0LCAxLCAyNDMsIDEzNiwgMjE3LCA4NCwgMSwgMjI5LCA3OCwgMjE3LCAKKyAgICA4NCwgMSwgMjE3LCAxMDYsIDIxNywgODQsIDEsIDI0OCwgMjIyLCAyMTcsIDg0LCAxLCAxOTcsIDIxNywgODQsIDEsIDE5MCwgCisgICAgMjE3LCA4NCwgMSwgMjUyLCAxOTIsIDIxNywgODQsIDEsIDE4NSwgMjE3LCA4NCwgMSwgMTkxLCAyMTcsIDg0LCAxLCAyMzMsIAorICAgIDEzNiwgMjE3LCA4NCwgMSwgMjEyLCA2NSwgMjE3LCA4NCwgMSwgMjA2LCAyMTcsIDg0LCAxLCAxNjIsIDIxNywgODQsIDI1LCAKKyAgICA1LCA3MywgMjE3LCA4NCwgMjUsIDUsIDcwLCAyMTcsIDg0LCA1LCAyMTMsIDE1MiwgMjQyLCA4LCAxLCA2MSwgMjQyLCA4LCAKKyAgICAxLCA3MywgMjQyLCA4LCAxLCA3MCwgMjQyLCA4LCAxLCAxNzYsIDI0MiwgOCwgMSwgMjQzLCAxMzYsIDI0MiwgOCwgMSwgCisgICAgMjI5LCA3OCwgMjQyLCA4LCAxLCAyMTcsIDEwNiwgMjQyLCA4LCAxLCAyNDgsIDIyMiwgMjQyLCA4LCAxLCAxOTcsIDI0MiwgCisgICAgOCwgMSwgMTkwLCAyNDIsIDgsIDEsIDI1MiwgMTkyLCAyNDIsIDgsIDEsIDE4NSwgMjQyLCA4LCAxLCAxOTEsIDI0MiwgOCwgCisgICAgMSwgMjA1LCAyNDIsIDgsIDEsIDIzMywgMTM2LCAyNDIsIDgsIDEsIDIxMiwgNjUsIDI0MiwgOCwgMSwgMjA2LCAyNDIsIDgsIAorICAgIDEsIDE2MiwgMjQyLCA4LCAyNSwgNSwgNzMsIDI0MiwgOCwgMjUsIDUsIDcwLCAyNDIsIDgsIDUsIDIyNiwgNTAsIDIyNSwgCisgICAgMTI3LCAyMTksIDE1NiwgMjI0LCAxNDEsIDIyNSwgMTI3LCA1MiwgMjI0LCAxNDEsIDI1MSwgMTIxLCAxLCA2MSwgMjUxLCAKKyAgICAxMjEsIDEsIDczLCAyNTEsIDEyMSwgMSwgNzAsIDI1MSwgMTIxLCAxLCAxNzYsIDI1MSwgMTIxLCAxLCAyNDMsIDEzNiwgCisgICAgMjUxLCAxMjEsIDEsIDIyOSwgNzgsIDI1MSwgMTIxLCAxLCAyMTcsIDEwNiwgMjUxLCAxMjEsIDEsIDI0OCwgMjIyLCAyNTEsIAorICAgIDEyMSwgMSwgMTk3LCAyNTEsIDEyMSwgMSwgMTkwLCAyNTEsIDEyMSwgMSwgMjUyLCAxOTIsIDI1MSwgMTIxLCAxLCAxODUsIAorICAgIDI1MSwgMTIxLCAxLCAxOTEsIDI1MSwgMTIxLCAxLCAyMDUsIDI1MSwgMTIxLCAxLCAyMzMsIDEzNiwgMjUxLCAxMjEsIDEsIAorICAgIDIxMiwgNjUsIDI1MSwgMTIxLCAxLCAyMDYsIDI1MSwgMTIxLCAxLCAxNjIsIDI1MSwgMTIxLCAyNSwgNSwgNzMsIDI1MSwgCisgICAgMTIxLCAyNSwgNSwgNzAsIDIxNywgODMsIDEsIDYxLCAyMTcsIDgzLCAxLCA3MywgMjE3LCA4MywgMSwgNzAsIDIxNywgODMsIAorICAgIDEsIDE3NiwgMjE3LCA4MywgMSwgMjQzLCAxMzYsIDIxNywgODMsIDEsIDIyOSwgNzgsIDIxNywgODMsIDEsIDIxNywgMTA2LCAKKyAgICAyMTcsIDgzLCAxLCAyNDgsIDIyMiwgMjE3LCA4MywgMSwgMTk3LCAyMTcsIDgzLCAxLCAxOTAsIDIxNywgODMsIDEsIDI1MiwgCisgICAgMTkyLCAyMTcsIDgzLCAxLCAxODUsIDIxNywgODMsIDEsIDE5MSwgMjE3LCA4MywgMSwgMjMzLCAxMzYsIDIxNywgODMsIDEsIAorICAgIDIxMiwgNjUsIDIxNywgODMsIDEsIDIwNiwgMjE3LCA4MywgMjUsIDUsIDczLCAyMTcsIDgzLCAyNSwgNSwgNzAsIDY5LCAxLCAKKyAgICAxNzYsIDY5LCAxLCAyMzQsIDEzMywgNjksIDEsIDIzNCwgMjksIDY5LCAxLCAyMzQsIDEwNiwgNjksIDEsIDIyOSwgNSwgNjksIAorICAgIDEsIDI1MSwgMzQsIDY5LCAxLCAyNTAsIDE1OCwgNjksIDEsIDI0OSwgMjM5LCA2OSwgMSwgMjUwLCA4NywgNjksIDEsIDIyNywgCisgICAgMTM1LCA2OSwgMSwgMjQ4LCAyMjIsIDY5LCAxLCAyMTUsIDE0NSwgNjksIDEsIDI0NywgMTQ2LCA2OSwgMSwgMjE1LCAxNDAsIAorICAgIDY5LCAxLCAyMjgsIDgxLCA2OSwgMSwgMjE3LCAxMDYsIDY5LCAxLCAyMTYsIDIwOSwgNjksIDEsIDExMSwgNjksIDEsIDIxNiwgCisgICAgMTU3LCA2OSwgMSwgMjI4LCA3NSwgNjksIDEsIDI1MiwgMTkyLCA2OSwgMSwgMjI1LCAxNDgsIDY5LCAxLCAyMjUsIDE3LCAKKyAgICA2OSwgMSwgMjI1LCAxMjIsIDY5LCAxLCAyMzAsIDE2MiwgNjksIDEsIDIxMCwgMjQ0LCA2OSwgMSwgMjIyLCAyMTIsIDY5LCAKKyAgICAxLCAyMzIsIDE1NywgNjksIDEsIDIxMywgMTM4LCA2OSwgMSwgMjIwLCAxMDMsIDY5LCAxLCAyMTgsIDE4NSwgNjksIDEsIAorICAgIDIwNiwgNjksIDEsIDE2MiwgNjksIDEsIDIzMywgMTM2LCA2OSwgMSwgMjI0LCA4OSwgNjksIDIzNSwgMjQ0LCAyNSwgMjI0LCAKKyAgICA3NSwgNjksIDIzNSwgMjQ0LCAyNSwgMjI0LCA4OCwgNjksIDIzNSwgMjQ0LCAyNSwgMjI0LCA1NCwgNjksIDIzNSwgMjQ0LCAKKyAgICAyNSwgMjI0LCA0OSwgNjksIDIzNSwgMjQ0LCAyNSwgMjI0LCAzMSwgNjksIDIzNSwgMjQ0LCAyNSwgMjI0LCAzLCA2OSwgCisgICAgMjM1LCAyNDQsIDI1LCAyMjMsIDI0NywgNjksIDIzNSwgMjQ0LCAyNSwgMjIzLCAyNDYsIDY5LCAyMzUsIDI0NCwgMjUsIAorICAgIDIyMiwgMTAxLCA2OSwgMjM1LCAyNDQsIDI1LCAyMjIsIDk0LCA2OSwgMjM1LCAyNDQsIDI1LCAyMzIsIDYzLCA2OSwgMjM1LCAKKyAgICAyNDQsIDI1LCAyMzIsIDUzLCA2OSwgMjM1LCAyNDQsIDI1LCAyMjQsIDcwLCA2OSwgMjM1LCAyNDQsIDI1LCAyMjQsIDgxLCAKKyAgICA2OSwgMjM1LCAyNDQsIDI1LCAyMjQsIDM5LCAyMTUsIDQ5LCAxMTAsIDY5LCAyMzUsIDI0NCwgMjUsIDIyNCwgMzksIDIxNSwgCisgICAgNDksIDEwNSwgNjksIDIzNSwgMjQ0LCAyNSwgMjI0LCA3MSwgNjksIDI1LCAyMzUsIDIzMCwgMjU0LCA0NiwgNjksIDI1LCAKKyAgICAyMzUsIDIzMCwgMjU1LCA3NCwgNjksIDI1LCA1LCAyNTUsIDc0LCA2OSwgMjUsIDUsIDczLCA2OSwgMjUsIDUsIDIzNiwgMzQsIAorICAgIDY5LCAyNSwgNSwgMjExLCAxMTcsIDY5LCAyNSwgNSwgMjEwLCAxNjksIDY5LCAyNSwgNSwgNzAsIDY5LCAyNSwgNSwgMjE0LCAKKyAgICAxMTgsIDY5LCAyNSwgNSwgMjE0LCAyMjksIDY5LCAyNSwgNSwgMjI2LCAyMzUsIDY5LCAyNSwgNSwgMTkxLCA2OSwgMjUsIDUsIAorICAgIDIzNiwgNjEsIDY5LCAyNSwgNSwgNzUsIDY5LCAyNSwgNSwgMjU0LCAyNDQsIDY5LCAyNSwgNSwgMjU0LCAyMDIsIDY5LCAyNSwgCisgICAgNSwgMjI2LCAxODQsIDY5LCAyNSwgNSwgMjUzLCAxOTMsIDY5LCA1LCAyMjgsIDIwNywgNjksIDUsIDIyMywgMTI3LCA2OSwgCisgICAgNSwgMjEwLCAxODAsIDY5LCA1LCAyMzAsIDUzLCA2OSwgNSwgMjE1LCAyMTQsIDY5LCA1LCAyNTIsIDE0NCwgNjksIDUsIAorICAgIDIyMiwgMjA3LCA2OSwgNSwgMjE2LCA0MSwgNjksIDUsIDIzNCwgMjQyLCA2OSwgNSwgMjU0LCAyMDQsIDY5LCA1LCAyMjEsIAorICAgIDI0NSwgMjIxLCAyMzksIDY5LCA1LCAyMTMsIDE0OSwgNjksIDUsIDI0OSwgMjMzLCA2OSwgNSwgMjUyLCAxMTgsIDY5LCA1LCAKKyAgICAyMzQsIDEyNiwgNjksIDUsIDI1MiwgMTM4LCA2OSwgNSwgMjUxLCAxMCwgMjI1LCA3MywgMjMzLCAxODgsIDY5LCA1LCAyMzMsIAorICAgIDMxLCAyMTYsIDE4LCA2OSwgNSwgMjUyLCAyMSwgNjksIDUsIDIyNSwgMTI0LCAyMzAsIDEwMCwgNjksIDUsIDIzNCwgMTAsIAorICAgIDY5LCAyNDksIDk5LCAxNiwgMjIzLCAyOSwgNjksIDUsIDI1MywgMTc1LCA2OSwgNSwgMjUzLCAxOTYsIDY5LCAyMSwgMjEwLCAKKyAgICA4NiwgNjksIDIxLCAxMTAsIDY5LCAyMSwgMTA1LCA2OSwgMjEsIDE1OCwgNjksIDIxLCAxNjEsIDY5LCAyMSwgMTg5LCA2OSwgCisgICAgMjEsIDE5NCwgNjksIDIxLCAxOTgsIDY5LCAyMSwgMTk1LCA2OSwgMjEsIDIwMCwgNjksIDE2LCAyMzMsIDMxLCAyNTMsIAorICAgIDE5OCwgMjE5LCA0NCwgNjksIDE2LCAyMzMsIDMxLCAyNTMsIDE5OCwgMjMwLCA3MiwgNjksIDE2LCAyMzMsIDMxLCAyNTMsIAorICAgIDE5OCwgMjI1LCA3MiwgNjksIDE2LCAyMzMsIDMxLCAyNTMsIDE5OCwgMjUyLCA1MCwgNjksIDE2LCAyMzMsIDMxLCAyNTMsIAorICAgIDE5OCwgMjUxLCAxMDQsIDY5LCAxNiwgMjMzLCAzMSwgMjUzLCAxOTgsIDIyNCwgMjE2LCA2OSwgMTYsIDIzMywgMzEsIDI1MywgCisgICAgMTk4LCAyMjQsIDIxMCwgNjksIDE2LCAyMzMsIDMxLCAyNTMsIDE5OCwgMjI0LCAyMDgsIDY5LCAxNiwgMjMzLCAzMSwgMjUzLCAKKyAgICAxOTgsIDIyNCwgMjE0LCA2OSwgMTYsIDIzMywgMzEsIDI1MywgMTk4LCAyMjQsIDIxMiwgODMsIDI1MSwgMjM3LCA4MywgCisgICAgMjQ1LCAxNjQsIDgzLCAyNDksIDIyMCwgODMsIDI0MywgMjMwLCAyMTgsIDEzMCwgODMsIDI0OSwgMjI3LCA4MywgMjQ0LCAKKyAgICAxMiwgMjQ3LCAxMTksIDgzLCAyMTYsIDQwLCAyMTksIDUzLCAyNDAsIDE2OSwgODMsIDIxOSwgMTkxLCAzLCAyNTEsIDE3MywgCisgICAgMjMxLCAxNTUsIDgzLCAyMzEsIDE4NCwgMjQ5LCAyMjAsIDgzLCAyMzEsIDE4NCwgMjQzLCAyMzAsIDIxOCwgMTMwLCA4MywgCisgICAgMjI4LCAxOTIsIDgzLCAyNDMsIDI1NCwgNDUsIDIyMSwgMTU4LCAxMTAsIDgzLCAyNDMsIDI1NCwgNDUsIDIyMSwgMTU4LCAKKyAgICAxMDUsIDgzLCAyNDMsIDI1NCwgNDUsIDIyMSwgMTU4LCAxNTgsIDgzLCAyNSwgMjIwLCAxMzgsIDgzLCAyMSwgMjEwLCA4NiwgCisgICAgODMsIDIxLCAxMTAsIDgzLCAyMSwgMTA1LCA4MywgMjEsIDE1OCwgODMsIDIxLCAxNjEsIDgzLCAyMSwgMTg5LCA4MywgMjEsIAorICAgIDE5NCwgODMsIDIxLCAxOTgsIDgzLCAyMSwgMTk1LCA4MywgMjEsIDIwMCwgODMsIDEsIDYxLCA4MywgMSwgNzUsIDgzLCAxLCAKKyAgICA3MywgODMsIDEsIDc2LCA4MywgMSwgNzAsIDgzLCAxLCAyMjYsIDIzNSwgODMsIDEsIDIxNCwgMjE0LCA4MywgMSwgMjQ1LCAKKyAgICAyMTAsIDgzLCAxLCAxOTcsIDgzLCAxLCAyNTQsIDExNiwgODMsIDEsIDI1MiwgMTkyLCA4MywgMSwgMTkwLCA4MywgMSwgCisgICAgMjI0LCA4OSwgODMsIDEsIDI0MywgMTM2LCA4MywgMSwgMTg1LCA4MywgMSwgMjMzLCAxMzYsIDgzLCAxLCAyMDYsIDgzLCAxLCAKKyAgICAyMjAsIDEwMywgODMsIDEsIDIxNywgMTA2LCA4MywgMSwgMjQ4LCAyMjIsIDgzLCAxLCAyNTAsIDE1OCwgODMsIDEsIDIzNSwgCisgICAgMTQyLCA4MywgMSwgMTkxLCA4MywgMSwgMjA1LCA4MywgMSwgMjEyLCA2NSwgODMsIDEsIDI0NCwgMTk3LCA4MywgMSwgMTc2LCAKKyAgICA4MywgMSwgMjM0LCAxMzMsIDgzLCAxLCAyMTUsIDE4NCwgODMsIDEsIDIxMCwgMTE2LCA4MywgMSwgMjQyLCA0NywgODMsIDEsIAorICAgIDIxMCwgMTYsIDgzLCAxLCAyMzIsIDI1NSwgODMsIDEsIDIxMCwgNjksIDgzLCAxLCAyNTAsIDExMSwgODMsIDEsIDIxNiwgCisgICAgNDAsIDE5OSwgMjUsIDUwLCA4MywgMSwgMjE2LCA0MCwgNzUsIDgzLCAxLCAyMTYsIDQwLCA3MywgODMsIDEsIDIxNiwgNDAsIAorICAgIDc2LCA4MywgMSwgMjE2LCA0MCwgNzAsIDgzLCAxLCAyMTYsIDQwLCAyMjYsIDIzNSwgODMsIDEsIDIxNiwgNDAsIDIxNCwgCisgICAgMjE0LCA4MywgMSwgMjE2LCA0MCwgMjU0LCAxMTYsIDgzLCAxLCAyMTYsIDQwLCAyNTIsIDE5MiwgODMsIDEsIDIxNiwgNDAsIAorICAgIDE5MCwgODMsIDEsIDIxNiwgNDAsIDIyNCwgODksIDgzLCAxLCAyMTYsIDQwLCAyNDMsIDEzNiwgODMsIDEsIDIxNiwgNDAsIAorICAgIDE4NSwgODMsIDEsIDIxNiwgNDAsIDIxNywgMTA2LCA4MywgMSwgMjE2LCA0MCwgMjQ4LCAyMjIsIDgzLCAxLCAyMTYsIDQwLCAKKyAgICAyNTAsIDE1OCwgODMsIDEsIDIxNiwgNDAsIDIzNSwgMTQyLCA4MywgMSwgMjE2LCA0MCwgMjE1LCAxODQsIDgzLCAxLCAyMTYsIAorICAgIDQwLCAxOTEsIDgzLCAxLCAyMTYsIDQwLCAyMTIsIDY1LCA4MywgMSwgMjE2LCA0MCwgMTc2LCA4MywgMSwgMjE2LCA0MCwgCisgICAgMjQzLCAxMzMsIDgzLCAxLCAyMTYsIDQwLCAyNDIsIDQ3LCA4MywgMSwgMjE2LCA0MCwgMjM1LCAxMDgsIDgzLCAxLCAyMTYsIAorICAgIDQwLCAyMjgsIDIzMiwgODMsIDEsIDIxNiwgNDAsIDI0NiwgMzksIDgzLCAxLCAyMTksIDE5MSwgNzUsIDgzLCAxLCAyMTksIAorICAgIDE5MSwgNzMsIDgzLCAxLCAyMTksIDE5MSwgMjM1LCAxNTMsIDgzLCAxLCAyMTksIDE5MSwgMjE0LCAyMTQsIDgzLCAxLCAKKyAgICAyMTksIDE5MSwgNzAsIDgzLCAxLCAyMTksIDE5MSwgMjU0LCAxMTYsIDgzLCAxLCAyMTksIDE5MSwgMTc2LCA4MywgMSwgCisgICAgMjE5LCAxOTEsIDI0MywgMTM2LCA4MywgMSwgMjE5LCAxOTEsIDE2MiwgODMsIDEsIDIxOSwgMTkxLCAxOTAsIDgzLCAxLCAKKyAgICAyMTksIDE5MSwgMjIwLCAxMDMsIDgzLCAxLCAyMTksIDE5MSwgMjE3LCAxMDYsIDgzLCAxLCAyMTksIDE5MSwgMjQ4LCAyMjIsIAorICAgIDgzLCAxLCAyMTksIDE5MSwgMjM1LCAxNDIsIDgzLCAxLCAyMTksIDE5MSwgMjQ0LCAxOTcsIDgzLCAxLCAyMTksIDE5MSwgCisgICAgMjQzLCAxMzMsIDgzLCAxLCAyMTksIDE5MSwgMjQyLCA0NywgODMsIDEsIDIxOSwgMTkxLCAyMTUsIDE4NCwgODMsIDEsIAorICAgIDIxOSwgMTkxLCAyMTAsIDExNiwgODMsIDEsIDIxOSwgMTkxLCAyMjMsIDE4NSwgODMsIDEsIDIxOSwgMTkxLCAyNTAsIDE1OCwgCisgICAgODMsIDEsIDIxOSwgMTkxLCAyMTAsIDgyLCA4MywgMSwgMjMxLCAxODQsIDczLCA4MywgMSwgMjMxLCAxODQsIDE3NiwgODMsIAorICAgIDEsIDIzMSwgMTg0LCAyMDUsIDgzLCAxLCAyMzEsIDE4NCwgMjQ0LCAxOTcsIDgzLCAxLCAyMzEsIDE4NCwgMjEwLCA4MiwgCisgICAgODMsIDEsIDI1NCwgMTYzLCAyNDMsIDExNywgMjU0LCA3NywgMTEwLCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMTMsIAorICAgIDE0OCwgMTEwLCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAyNDgsIDE4NywgODMsIDEsIDI1NCwgMTYzLCAyNDMsIDExNywgCisgICAgMjE0LCAyMjQsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDIzNSwgMTk0LCAyMTQsIDIyNCwgODMsIDEsIDI1NCwgMTYzLCAKKyAgICAyNDMsIDExNywgMjUyLCAxNTYsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDEzNCwgMjUyLCAxNTYsIDgzLCAxLCAyNTQsIAorICAgIDE2MywgMjQzLCAxMTcsIDYxLCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCA3MywgODMsIDEsIDI1NCwgMTYzLCAyNDMsIAorICAgIDExNywgMTc2LCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMjksIDc4LCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAKKyAgICAyNTEsIDM0LCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMTUsIDE1NywgODMsIDEsIDI1NCwgMTYzLCAyNDMsIDExNywgCisgICAgMjE1LCAxNDUsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDI0OCwgMTM2LCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAKKyAgICAyMjgsIDExMSwgODMsIDEsIDI1NCwgMTYzLCAyNDMsIDExNywgMjE3LCAxMDYsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIAorICAgIDI0OCwgMjIyLCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAxOTAsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDIyNSwgCisgICAgMTQ4LCA4MywgMSwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMTgsIDIyNCwgODMsIDEsIDI1NCwgMTYzLCAyNDMsIDExNywgMjEwLCAKKyAgICA4MiwgODMsIDEsIDI1NCwgMTYzLCAyNDMsIDExNywgMjEwLCAxMTYsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDI1NCwgCisgICAgMjEwLCA4MywgMSwgMjE2LCA0MCwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMTcsIDEwNiwgODMsIDEsIDIxNiwgNDAsIDI1NCwgCisgICAgMTYzLCAyNDMsIDExNywgMjEwLCA4MiwgODMsIDEsIDIzMSwgMTg0LCAyNTQsIDE2MywgMjQzLCAxMTcsIDI0MiwgMjUwLCAKKyAgICA4MywgMSwgMjMxLCAxODQsIDI1NCwgMTYzLCAyNDMsIDExNywgMjI5LCA3OCwgODMsIDEsIDIzMSwgMTg0LCAyNTQsIDE2MywgCisgICAgMjQzLCAxMTcsIDI1MSwgMzQsIDgzLCAxLCAyMzEsIDE4NCwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMzUsIDExNSwgODMsIDEsIAorICAgIDIzMSwgMTg0LCAyNTQsIDE2MywgMjQzLCAxMTcsIDIxNSwgMTU3LCA4MywgMSwgMjMxLCAxODQsIDI1NCwgMTYzLCAyNDMsIAorICAgIDExNywgMjQ4LCAxMjAsIDgzLCAxLCAyMzEsIDE4NCwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMTcsIDEwNiwgODMsIDEsIDIzMSwgCisgICAgMTg0LCAyNTQsIDE2MywgMjQzLCAxMTcsIDI0OCwgMjYsIDgzLCAxLCAyMzEsIDE4NCwgMjU0LCAxNjMsIDI0MywgMTE3LCAKKyAgICAyMTgsIDIyNCwgODMsIDEsIDIzMSwgMTg0LCAyNTQsIDE2MywgMjQzLCAxMTcsIDI0OSwgNzMsIDgzLCAxLCAyMzEsIDE4NCwgCisgICAgMjU0LCAxNjMsIDI0MywgMTE3LCAyMTAsIDgyLCA4MywgMSwgMjMxLCAxODQsIDI1NCwgMTYzLCAyNDMsIDExNywgMjEwLCAKKyAgICAxMTYsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDE2MywgNzAsIDgzLCAxLCAyNTQsIDE2MywgMjQzLCAxMTcsIDE2MywgCisgICAgMTkxLCA4MywgMSwgMjMxLCAxODQsIDI1NCwgMTYzLCAyNDMsIDExNywgMjUyLCAxOSwgODMsIDEsIDI1NCwgMTYzLCAyNDMsIAorICAgIDExNywgMjQ4LCAyMTIsIDgzLCAxLCAyMzEsIDE4NCwgMjU0LCAxNjMsIDI0MywgMTE3LCAyMzIsIDI1NSwgMTgsIDE5LCAKKyAgICAyMjYsIDExMCwgMTgsIDE5LCAyNTMsIDE2OCwgMTgsIDE5LCAyNTUsIDI5LCAxOCwgMTksIDIxMiwgMjUsIDE4LCAxOSwgCisgICAgMjI0LCAyMjIsIDE4LCAxOSwgMjI1LCAyMzAsIDE4LCAxOSwgMjI0LCAxMDYsIDE4LCAxOSwgMjE3LCAzMiwgMTgsIDE5LCAKKyAgICAyMzQsIDE5MCwgMTgsIDE5LCAyMzMsIDE4MCwgMTgsIDE5LCAyMzEsIDEzMywgMTgsIDE5LCAyMjgsIDM4LCAxOCwgMTksIAorICAgIDIyOSwgMTgyLCAxOCwgMTksIDIzMywgNjksIDE4LCAxOSwgMjE5LCAyMywgMTgsIDE5LCAyMjEsIDIxMiwgMTgsIDE5LCAKKyAgICAyMTksIDIzMywgMTgsIDE5LCAyMjAsIDY3LCAxOCwgMTksIDIxOSwgMjAyLCAxOCwgMTksIDIxMCwgMjIwLCAxOCwgMTksIAorICAgIDIxMSwgNTIsIDE4LCAxOSwgMjIzLCAxMzUsIDE4LCAxOSwgMjI3LCAxNzIsIDE4LCAxOSwgMjI2LCAyMTcsIDIyNywgMTcyLCAKKyAgICAxOCwgMTksIDIyNywgMTcxLCAxOCwgMTksIDIyNiwgMjE3LCAyMjcsIDE3MSwgMTgsIDE5LCAyMjcsIDE3MCwgMTgsIDE5LCAKKyAgICAyMjYsIDIxNywgMjI3LCAxNzAsIDE4LCAxOSwgMjI3LCAxNjksIDE4LCAxOSwgMjI2LCAyMTcsIDIyNywgMTY5LCAxOCwgMTksIAorICAgIDIyMiwgMTA2LCAxOCwgMTksIDIyMiwgMTA1LCAxOCwgMTksIDIyMiwgMTA0LCAxOCwgMTksIDIyMiwgMTAzLCAxOCwgMTksIAorICAgIDIyMiwgMTAyLCAxOCwgMTksIDIyMiwgMTEwLCAxOCwgMTksIDIyNiwgMjE3LCAyMjYsIDEwNiwgMTgsIDE5LCAyMjYsIDIxNywgCisgICAgMjE3LCAxNTMsIDE4LCAxOSwgMjI2LCAyMTcsIDIzNSwgMjQsIDE4LCAxOSwgMjI2LCAyMTcsIDI1MSwgNjcsIDE4LCAxOSwgCisgICAgMjI2LCAyMTcsIDE5MywgMTgsIDE5LCAyMjYsIDIxNywgMjMwLCAyNiwgMTgsIDE5LCAyMjYsIDIxNywgMjIyLCA5MiwgMTgsIAorICAgIDE5LCAyMjYsIDIxNywgMjIwLCAxMDUsIDE4LCAxOSwgMjQ1LCAyMjAsIDIxMiwgOTgsIDE4LCAxOSwgMjEyLCA3LCAyMTIsIAorICAgIDk4LCAxOCwgMTksIDQwLCA0LCAyMjIsIDIzNCwgMTgsIDE5LCA0MCwgMjIzLCAxNTgsIDI0NywgMTIxLCAxOCwgMTksIDIyMywgCisgICAgMjI0LCAyMjIsIDEwNywgMTgsIDE5LCAxNTksIDIzMiwgMTI4LCAxOCwgMTksIDE1OSwgMjMzLCAxMzUsIDE4LCAxOSwgMjE2LCAKKyAgICAxMjcsIDE4LCAxOSwgMjE2LCAxMjksIDE4LCAxOSwgMjE1LCAxMzcsIDE4LCAxOSwgMjE1LCAxMzksIDE4LCAxOSwgMjE1LCAKKyAgICAxNDQsIDE4LCAxOSwgMjE2LCA1MCwgMTgsIDE5LCAyMTYsIDUyLCAxOCwgMTksIDIyMSwgMjEwLCAyMTksIDIwNywgMTgsIAorICAgIDE5LCAyMjEsIDIxMCwgMjIwLCAyLCAxOCwgMTksIDIyMSwgMjEwLCAyNDEsIDU0LCAxOCwgMTksIDcyLCAyNDIsIDc0LCAxOCwgCisgICAgMTksIDcyLCAyNDgsIDUzLCAyNDMsIDU2LCAxOCwgMTksIDcyLCAyNDMsIDEzMywgMTgsIDE5LCA3MiwgMjQyLCA3OSwgMTgsIAorICAgIDE5LCAyMjEsIDIxMCwgMjM1LCAzNCwgMTgsIDE5LCA3MiwgMjM1LCAzMiwgMTgsIDE5LCAyNTIsIDY5LCAyNDgsIDUzLCAKKyAgICAxNTYsIDE4LCAxOSwgMjUyLCA2OSwgMjQ4LCA1MywgMTUzLCAxOCwgMTksIDcyLCAyNDgsIDQ4LCAyMjIsIDkyLCAyMzIsIAorICAgIDIyNCwgMjEzLCAxMjIsIDIzMywgMTEsIDIzMiwgMjI0LCAxLCAxNzYsIDIzMiwgMjI0LCAxLCAyMzQsIDEzMywgMjMyLCAKKyAgICAyMjQsIDEsIDI0MywgMTM2LCAyMzIsIDIyNCwgMSwgMjQyLCAyNTAsIDIzMiwgMjI0LCAxLCAyMjksIDc4LCAyMzIsIDIyNCwgCisgICAgMSwgMjUxLCAzNCwgMjMyLCAyMjQsIDEsIDI1MCwgMTU4LCAyMzIsIDIyNCwgMSwgMjM1LCAxNDIsIDIzMiwgMjI0LCAxLCAKKyAgICAyMzUsIDExNSwgMjMyLCAyMjQsIDEsIDIxMSwgNzEsIDIzMiwgMjI0LCAxLCAyMTcsIDEwNiwgMjMyLCAyMjQsIDEsIDIxNiwgCisgICAgMjA5LCAyMzIsIDIyNCwgMSwgMjQ4LCAyMjIsIDIzMiwgMjI0LCAxLCAyNDgsIDI2LCAyMzIsIDIyNCwgMSwgMTk3LCAyMzIsIAorICAgIDIyNCwgMSwgMTkwLCAyMzIsIDIyNCwgMSwgMjI1LCAxNDgsIDIzMiwgMjI0LCAxLCAyNTIsIDE5MiwgMjMyLCAyMjQsIDEsIAorICAgIDI1MiwgMTksIDIzMiwgMjI0LCAxLCAxODUsIDIzMiwgMjI0LCAxLCAxOTEsIDIzMiwgMjI0LCAxLCAyMDUsIDIzMiwgMjI0LCAKKyAgICAxLCAyMzMsIDEzNiwgMjMyLCAyMjQsIDEsIDIxMiwgNjUsIDIzMiwgMjI0LCAxLCAyMjAsIDEwMywgMjMyLCAyMjQsIDEsIAorICAgIDIxOCwgMjI0LCAyMzIsIDIyNCwgMSwgMjA2LCAyMzIsIDIyNCwgMSwgMTYyLCAyMzIsIDIyNCwgMjUsIDUsIDYxLCAyMzIsIAorICAgIDIyNCwgMjUsIDUsIDczLCAyMzIsIDIyNCwgMjUsIDUsIDcwLCAyMzIsIDIyNCwgMjUsIDUsIDI0NSwgMjEwLCAyMzIsIDIyNCwgCisgICAgMjUsIDUsIDI1NCwgMjAyLCAyMzIsIDIyNCwgMjUsIDUsIDIyNiwgMTg0LCAyMzIsIDIyNCwgMjUsIDUsIDI1MywgMTkzLCAKKyAgICAyMzIsIDIyNCwgMjUsIDUsIDc1LCAyMzIsIDIyNCwgMjUsIDUsIDc2LCAyMzIsIDIyNCwgMjE4LCA3NCwgMSwgMTkxLCAyMzIsIAorICAgIDIyNCwgMjE4LCA3NCwgMSwgMjA1LCAyMzIsIDIyNCwgMjE4LCA3NCwgMSwgMjEyLCA2NSwgMjMyLCAyMjQsIDQsIDEsIDE3NiwgCisgICAgMjMyLCAyMjQsIDQsIDEsIDIyOSwgNzgsIDIzMiwgMjI0LCA0LCAxLCAyNTQsIDc2LCAyMzIsIDIyNCwgNCwgMSwgMjE3LCAKKyAgICAxMDYsIDIzMiwgMjI0LCA0LCAxLCAxOTcsIDIzMiwgMjI0LCA0LCAxLCAxOTAsIDIzMiwgMjI0LCA0LCAxLCAxODUsIDIzMiwgCisgICAgMjI0LCA0LCAxLCAyMDUsIDIzMiwgMjI0LCA0LCAxLCAyMzMsIDEzNiwgMjMyLCAyMjQsIDUsIDIzMCwgOTAsIDIzMiwgMjI0LCAKKyAgICA1LCAyMzQsIDE3MiwgMjMyLCAyMjQsIDUsIDIyMiwgMzMsIDIzMiwgMjI0LCA1LCAyMzIsIDEyOCwgMjMyLCAyMjQsIDI0NSwgCisgICAgMzIsIDc4LCAyMzIsIDIyNCwgMjI0LCAxNCwgNzgsIDIzMiwgMjI0LCAyMSwgMjEwLCA4NiwgMjMyLCAyMjQsIDIxLCAxMTAsIAorICAgIDIzMiwgMjI0LCAyMSwgMTA1LCAyMzIsIDIyNCwgMjEsIDE1OCwgMjMyLCAyMjQsIDIxLCAxNjEsIDIzMiwgMjI0LCAyMSwgCisgICAgMTg5LCAyMzIsIDIyNCwgMjEsIDE5NCwgMjMyLCAyMjQsIDIxLCAxOTgsIDIzMiwgMjI0LCAyMSwgMTk1LCAyMzIsIDIyNCwgCisgICAgMjEsIDIwMCwgMzksIDIzMywgNjAsIDEsIDE3NiwgMzksIDIzMywgNjAsIDEsIDIxMSwgMTY1LCAzOSwgMjMzLCA2MCwgMSwgCisgICAgMjI5LCA3OCwgMzksIDIzMywgNjAsIDEsIDIxNSwgMTg0LCAzOSwgMjMzLCA2MCwgMSwgMjA2LCAzOSwgMjMzLCA2MCwgMSwgCisgICAgMTkxLCAzOSwgMjMzLCA2MCwgMSwgMjE3LCAxMDYsIDM5LCAyMzMsIDYwLCAxLCAyMTYsIDIwOSwgMzksIDIzMywgNjAsIDEsIAorICAgIDIzMywgMTM2LCAzOSwgMjMzLCA2MCwgMSwgMTkwLCAzOSwgMjMzLCA2MCwgMSwgMjI1LCAxNDgsIDM5LCAyMzMsIDYwLCAxLCAKKyAgICAxODUsIDM5LCAyMzMsIDYwLCAxLCAyNDQsIDE5NywgMzksIDIzMywgNjAsIDEsIDIxNCwgMjcsIDM5LCAyMzMsIDYwLCAxLCAKKyAgICAxNjIsIDM5LCAyMzMsIDYwLCAxLCAyMjQsIDg5LCAzOSwgMjMzLCA2MCwgMSwgMjM0LCAxMzMsIDM5LCAyMzMsIDYwLCAxLCAKKyAgICAyMTUsIDE3NiwgMzksIDIzMywgNjAsIDEsIDE5NywgMzksIDIzMywgNjAsIDEsIDYxLCAzOSwgMjMzLCA2MCwgMSwgNzMsIAorICAgIDM5LCAyMzMsIDYwLCAxLCAyNDUsIDIxMCwgMzksIDIzMywgNjAsIDEsIDI0NSwgMTk4LCAzOSwgMjMzLCA2MCwgMSwgNzAsIAorICAgIDM5LCAyMzMsIDYwLCAxLCAyMjYsIDE4NCwgMzksIDIzMywgNjAsIDEsIDc2LCAzOSwgMjMzLCA2MCwgMSwgMjE0LCAyMTQsIAorICAgIDM5LCAyMzMsIDYwLCAxLCA3NSwgMzksIDIzMywgNjAsIDEsIDI1MywgMTkxLCAzOSwgMjMzLCA2MCwgMSwgMjU0LCAyMDIsIAorICAgIDM5LCAyMzMsIDYwLCAxLCAyMTYsIDI5LCAzOSwgMjMzLCA2MCwgMSwgMjE2LCAyOCwgMzksIDIzMywgNjAsIDEsIDIxNiwgCisgICAgMjcsIDM5LCAyMzMsIDYwLCAxLCAyMTYsIDI2LCAzOSwgMjMzLCA2MCwgMSwgMjE2LCAyNSwgMTY2LCAzOSwgMTczLCAxLCAKKyAgICAxMjUsIDIyNCwgODksIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMjQsIDg5LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTc2LCAKKyAgICAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjExLCAxNjUsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMjksIDc4LCAxNjYsIDM5LCAKICAgICAxNzMsIDEsIDEyMSwgMTc2LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjExLCAxNjUsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAKLSAgICAyMjksIDc3LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjE1LCAxODMsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMDYsIDE2NiwgCi0gICAgMzksIDE3MywgMSwgMTI1LCAxOTEsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTUsIDE4MywgMTY2LCAzOSwgMTczLCAxLCAKLSAgICAxMjEsIDIwNiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE5MSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxNywgMTA1LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMjE2LCAyMDgsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxOTcsIDE2NiwgMzksIDE3MywgMSwgCi0gICAgMTIxLCAyMTcsIDEwNSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIxNiwgMjA4LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMTk3LCAKLSAgICAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTkwLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjI1LCAxNDcsIDE2NiwgMzksIDE3MywgCi0gICAgMSwgMTI1LCAxODQsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxOTAsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMjUsIDE0NywgCi0gICAgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE4NCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDI0NCwgMTk2LCAxNjYsIDM5LCAxNzMsIAotICAgIDEsIDEyNSwgMjE0LCAyNywgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIzMywgMTM1LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgCi0gICAgMjQ0LCAxOTYsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTQsIDI3LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjMzLCAxMzUsIAotICAgIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxNjIsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyNDgsIDIyMSwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjUsIDI1MiwgMTkxLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMTYyLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjQ4LCAKLSAgICAyMjEsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyNTIsIDE5MSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIzMywgMTg0LCAxNjYsIAotICAgIDM5LCAxNzMsIDEsIDEyNSwgMjExLCAxMzgsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMzMsIDE4NCwgMTY2LCAzOSwgMTczLCAKLSAgICAxLCAxMjEsIDIxMSwgMTM4LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjE4LCA4MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIAotICAgIDIxOCwgODIsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1LCAyMTksIDIzOSwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjU1LCA3MywgCi0gICAgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjM2LCAzMywgMTY2LCAzOSwgMTczLCAyNSwgNSwgNzAsIDE2NiwgMzksIDE3MywgMjUsIAotICAgIDUsIDIxNCwgMTE4LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCA3NSwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjU0LCAyNDMsIDE2NiwgCi0gICAgMzksIDE3MywgMjUsIDUsIDc2LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMjcsIDAsIDE2NiwgMzksIDE3MywgMjUsIDUsIAotICAgIDIxNCwgMjE0LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTMsIDE2NywgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjU1LCAyOCwgCi0gICAgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjE0LCAxMTEsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIyNiwgMTA5LCAxNjYsIDM5LCAKLSAgICAxNzMsIDI1LCA1LCAyMjYsIDI1MywgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjE0LCAyMTAsIDE2NiwgMzksIDE3MywgMjUsIDUsIAotICAgIDIzNSwgMTUyLCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMTQsIDEwNSwgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjI5LCA3OSwgCi0gICAgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjMwLCAyNSwgMTY2LCAzOSwgMTczLCAxLCA0MCwgMTkzLCAxNjYsIDM5LCAxNzMsIDEsIAotICAgIDQwLCAyMzUsIDIzLCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyNDksIDYwLCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyNTMsIDE1OCwgCi0gICAgMTY2LCAzOSwgMTczLCAxMzgsIDIzMSwgMTU4LCAxNjYsIDM5LCAxNzMsIDEzOCwgMjMxLCAxNTcsIDE2NiwgMzksIDE3MywgCisgICAgMjI5LCA3OCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxNSwgMTg0LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjA2LCAxNjYsIAorICAgIDM5LCAxNzMsIDEsIDEyNSwgMTkxLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjE1LCAxODQsIDE2NiwgMzksIDE3MywgMSwgCisgICAgMTIxLCAyMDYsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxOTEsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTcsIDEwNiwgMTY2LCAKKyAgICAzOSwgMTczLCAxLCAxMjUsIDIxNiwgMjA5LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTk3LCAxNjYsIDM5LCAxNzMsIDEsIAorICAgIDEyMSwgMjE3LCAxMDYsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTYsIDIwOSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE5NywgCisgICAgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE5MCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIyNSwgMTQ4LCAxNjYsIDM5LCAxNzMsIAorICAgIDEsIDEyNSwgMTg1LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMTkwLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjI1LCAxNDgsIAorICAgIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxODUsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyNDQsIDE5NywgMTY2LCAzOSwgMTczLCAKKyAgICAxLCAxMjUsIDIxNCwgMjcsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMzMsIDEzNiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIAorICAgIDI0NCwgMTk3LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjE0LCAyNywgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIzMywgMTM2LCAKKyAgICAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMTYyLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjQ4LCAyMjIsIDE2NiwgMzksIDE3MywgCisgICAgMSwgMTI1LCAyNTIsIDE5MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE2MiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI0OCwgCisgICAgMjIyLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjUyLCAxOTIsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMzMsIDE4NSwgMTY2LCAKKyAgICAzOSwgMTczLCAxLCAxMjUsIDIxMSwgMTM4LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjMzLCAxODUsIDE2NiwgMzksIDE3MywgCisgICAgMSwgMTIxLCAyMTEsIDEzOCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIxOCwgODMsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAKKyAgICAyMTgsIDgzLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNSwgMjE5LCAyNDAsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NSwgNzQsIAorICAgIDE2NiwgMzksIDE3MywgMjUsIDUsIDIzNiwgMzQsIDE2NiwgMzksIDE3MywgMjUsIDUsIDcwLCAxNjYsIDM5LCAxNzMsIDI1LCAKKyAgICA1LCAyMTQsIDExOCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgNzUsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NCwgMjQ0LCAxNjYsIAorICAgIDM5LCAxNzMsIDI1LCA1LCA3NiwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjI3LCAxLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAKKyAgICAyMTQsIDIxNCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjUzLCAxNjgsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1NSwgMjksIAorICAgIDE2NiwgMzksIDE3MywgMjUsIDUsIDIxNCwgMTExLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMjYsIDExMCwgMTY2LCAzOSwgCisgICAgMTczLCAyNSwgNSwgMjI2LCAyNTQsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIxNCwgMjEwLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAKKyAgICAyMzUsIDE1MywgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjE0LCAxMDUsIDE2NiwgMzksIDE3MywgMSwgNDAsIDIyOSwgODAsIAorICAgIDE2NiwgMzksIDE3MywgMSwgNDAsIDIzMCwgMjYsIDE2NiwgMzksIDE3MywgMSwgNDAsIDE5MywgMTY2LCAzOSwgMTczLCAxLCAKKyAgICA0MCwgMjM1LCAyNCwgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjQ5LCA2MSwgMTY2LCAzOSwgMTczLCAxLCA0MCwgMjUzLCAxNTksIAorICAgIDE2NiwgMzksIDE3MywgMTM4LCAyMzEsIDE1OSwgMTY2LCAzOSwgMTczLCAxMzgsIDIzMSwgMTU4LCAxNjYsIDM5LCAxNzMsIAogICAgIDIxLCAyMTAsIDg2LCAxNjYsIDM5LCAxNzMsIDIxLCAxMTAsIDE2NiwgMzksIDE3MywgMjEsIDEwNSwgMTY2LCAzOSwgMTczLCAKICAgICAyMSwgMTU4LCAxNjYsIDM5LCAxNzMsIDIxLCAxNjEsIDE2NiwgMzksIDE3MywgMjEsIDE4OSwgMTY2LCAzOSwgMTczLCAyMSwgCiAgICAgMTk0LCAxNjYsIDM5LCAxNzMsIDIxLCAxOTgsIDE2NiwgMzksIDE3MywgMjEsIDE5NSwgMTY2LCAzOSwgMTczLCAyMSwgMjAwLCAKLSAgICAxNjYsIDM5LCAxNzMsIDg5LCAyMSwgMTEwLCAxNjYsIDM5LCAxNzMsIDUsIDIzMywgMTIwLCAxNjYsIDM5LCAxNzMsIDUsIAotICAgIDIzMywgMTE5LCA2OSwgMTYsIDIyNSwgMjM2LCA2OSwgMTYsIDIzMCwgNzIsIDIzNCwgMjUsIDY5LCAxNiwgMjI1LCA3MiwgCi0gICAgMjM0LCAyNSwgNjksIDE2LCAyNTIsIDUwLCAyMzQsIDI1LCA2OSwgMTYsIDI1MSwgMTA0LCAyMzQsIDI1LCA2OSwgMTYsIAotICAgIDIyNCwgMjE2LCAyMzQsIDI1LCA2OSwgMTYsIDIyNCwgMjEwLCAyMzQsIDI1LCA2OSwgMTYsIDIyNCwgMjA4LCAyMzQsIDI1LCAKLSAgICA2OSwgMTYsIDIyNCwgMjE0LCAyMzQsIDI1LCA2OSwgMTYsIDIyNCwgMjEyLCAyMzQsIDI1LCA2OSwgMTYsIDI0OCwgMTczLCAKLSAgICAyMzQsIDI1LCA2OSwgMTYsIDI0OCwgMTY5LCAyMzQsIDI1LCA2OSwgMTYsIDI0OCwgMTY4LCAyMzQsIDI1LCA2OSwgMTYsIAotICAgIDI0OCwgMTcxLCAyMzQsIDI1LCA2OSwgMTYsIDI0OCwgMTcwLCAyMzQsIDI1LCA2OSwgMTYsIDI0OCwgMTY3LCAyMzQsIDI1LCAKLSAgICA2OSwgMTYsIDIxNSwgODcsIDY5LCAxNiwgMjMwLCA3MiwgMjIyLCAyMDUsIDY5LCAxNiwgMjI1LCA3MiwgMjIyLCAyMDUsIAotICAgIDY5LCAxNiwgMjUyLCA1MCwgMjIyLCAyMDUsIDY5LCAxNiwgMjUxLCAxMDQsIDIyMiwgMjA1LCA2OSwgMTYsIDIyNCwgMjE2LCAKLSAgICAyMjIsIDIwNSwgNjksIDE2LCAyMjQsIDIxMCwgMjIyLCAyMDUsIDY5LCAxNiwgMjI0LCAyMDgsIDIyMiwgMjA1LCA2OSwgMTYsIAotICAgIDIyNCwgMjE0LCAyMjIsIDIwNSwgNjksIDE2LCAyMjQsIDIxMiwgMjIyLCAyMDUsIDY5LCAxNiwgMjQ4LCAxNzMsIDIyMiwgCi0gICAgMjA1LCA2OSwgMTYsIDI0OCwgMTY5LCAyMjIsIDIwNSwgNjksIDE2LCAyNDgsIDE2OCwgMjIyLCAyMDUsIDY5LCAxNiwgMjQ4LCAKLSAgICAxNzEsIDIyMiwgMjA1LCA2OSwgMTYsIDI0OCwgMTcwLCAyMjIsIDIwNSwgNjksIDE2LCAyNDgsIDE2NywgMjIyLCAyMDUsIAotICAgIDI1MSwgMTIxLCAxLCAxNzYsIDI1MSwgMTIxLCAxLCAyNDMsIDEzNSwgMjUxLCAxMjEsIDEsIDIyOSwgNzcsIDI1MSwgMTIxLCAKLSAgICAxLCAyMjksIDIyLCAyNTEsIDEyMSwgMSwgMTkwLCAyNTEsIDEyMSwgMSwgMjUyLCAxOTEsIDI1MSwgMTIxLCAxLCAxODQsIAotICAgIDI1MSwgMTIxLCAxLCAyMzAsIDEwNSwgMjUxLCAxMjEsIDEsIDIxNywgMTA1LCAyNTEsIDEyMSwgMSwgMjQ4LCAyMjEsIDI1MSwgCi0gICAgMTIxLCAxLCAxOTcsIDI1MSwgMTIxLCAxLCAyMjgsIDM2LCAyNTEsIDEyMSwgMSwgMjUxLCAzMywgMjUxLCAxMjEsIDEsIAotICAgIDIzNSwgMTQxLCAyNTEsIDEyMSwgMSwgMjI3LCAxNjUsIDI1MSwgMTIxLCAxLCAyMjcsIDE1OCwgMjUxLCAxMjEsIDEsIDE5MSwgCi0gICAgMjUxLCAxMjEsIDEsIDIwNSwgMjUxLCAxMjEsIDEsIDIzMywgMTM1LCAyNTEsIDEyMSwgMSwgMjE0LCAyNywgMjUxLCAxMjEsIAotICAgIDEsIDIwNiwgMjUxLCAxMjEsIDEsIDYxLCAyNTEsIDEyMSwgMSwgMTYyLCAyNTEsIDEyMSwgMjUsIDUsIDczLCAyNTEsIDEyMSwgCi0gICAgMjUsIDUsIDcwLCAyNTEsIDEyMSwgMjUsIDUsIDc1LCAyNTEsIDEyMSwgMjUsIDUsIDc2LCAyNTEsIDEyMSwgMjUsIDUsIAotICAgIDI1NCwgMjQzLCAyNTEsIDEyMSwgMjI2LCA2MCwgMjUxLCAxMjEsIDI0NSwgMTQzLCA2NCwgMjIxLCAxNzIsIDM5LCA4OSwgMSwgCi0gICAgMTI1LCAxNzYsIDM5LCA4OSwgMSwgMTI1LCAyMzQsIDEzMiwgMzksIDg5LCAxLCAxMjUsIDIzMywgMTcxLCAzOSwgODksIDEsIAotICAgIDEyMSwgMTc2LCAzOSwgODksIDEsIDEyMSwgMjMzLCAxNzEsIDM5LCA4OSwgMSwgMTIxLCAyMzQsIDEzMiwgMzksIDg5LCAxLCAKLSAgICAyMjksIDc3LCAzOSwgODksIDEsIDEyNSwgMjUxLCAzMywgMzksIDg5LCAxLCAxMjUsIDI1MCwgMTU3LCAzOSwgODksIDEsIAotICAgIDEyMSwgMjUxLCAzMywgMzksIDg5LCAxLCAxMjEsIDIwNiwgMzksIDg5LCAxLCAxMjEsIDI1MCwgMTU3LCAzOSwgODksIDEsIAotICAgIDIyNywgMTY1LCAzOSwgODksIDEsIDIyMywgMTQwLCAzOSwgODksIDEsIDEyNSwgMjIzLCAxMzgsIDM5LCA4OSwgMSwgMjQ4LCAKLSAgICAyMjEsIDM5LCA4OSwgMSwgMTIxLCAyMjMsIDEzOCwgMzksIDg5LCAxLCAyMjMsIDE0OSwgMzksIDg5LCAxLCAxMjUsIDIxNywgCi0gICAgMTA1LCAzOSwgODksIDEsIDEyNSwgMjE2LCAyMDgsIDM5LCA4OSwgMSwgMTIxLCAyMTcsIDEwNSwgMzksIDg5LCAxLCAxMjEsIAotICAgIDIxNiwgMjA4LCAzOSwgODksIDEsIDE5NywgMzksIDg5LCAxLCAyNTIsIDE5MSwgMzksIDg5LCAxLCAxMjUsIDE5MCwgMzksIAotICAgIDg5LCAxLCAxMjUsIDIyNSwgMTQ3LCAzOSwgODksIDEsIDEyNSwgMjQ0LCAxOTYsIDM5LCA4OSwgMSwgMTIxLCAxOTAsIDM5LCAKLSAgICA4OSwgMSwgMTIxLCAyNDQsIDE5NiwgMzksIDg5LCAxLCAxMjEsIDIyNSwgMTQ3LCAzOSwgODksIDEsIDE4NCwgMzksIDg5LCAKLSAgICAxLCAxMjEsIDE5MSwgMzksIDg5LCAxLCAxMjUsIDE5MSwgMzksIDg5LCAxLCAyMDUsIDM5LCA4OSwgMSwgMjIyLCAxMzcsIAotICAgIDM5LCA4OSwgMSwgMjMzLCAxMzUsIDM5LCA4OSwgMSwgMjMyLCA5MywgMzksIDg5LCAxLCAyMTIsIDY1LCAzOSwgODksIDEsIAotICAgIDEyNSwgMjIwLCAxMDIsIDM5LCA4OSwgMSwgMTI1LCAyMTgsIDIyMywgMzksIDg5LCAxLCAxMjUsIDIwNiwgMzksIDg5LCAxLCAKLSAgICAxMjUsIDE2MiwgMzksIDg5LCAxLCAyMzIsIDE4NCwgMzksIDg5LCAxLCA2MSwgMzksIDg5LCAxLCAxMjEsIDE2MiwgMzksIAotICAgIDg5LCAxLCA3MywgMzksIDg5LCAxLCAyMzYsIDMzLCAzOSwgODksIDEsIDcwLCAzOSwgODksIDEsIDIxNCwgMTE4LCAzOSwgCi0gICAgODksIDEsIDI0NSwgMjA5LCAzOSwgODksIDEsIDIyNiwgMTgzLCAzOSwgODksIDEsIDIzMywgMTIwLCAzOSwgODksIDEsIAotICAgIDI0MiwgMTMyLCAyMDYsIDM5LCA4OSwgMTE2LCA1LCAxNDcsIDIwNSwgMzksIDg5LCAxMTYsIDUsIDE0NywgMjMzLCAxMzUsIAotICAgIDM5LCA4OSwgMTE2LCA1LCAyMzMsIDEzNiwgMjE3LCA1OCwgMjMzLCAxMDksIDM5LCA4OSwgNSwgMjMxLCAyMDQsIDIzNCwgCi0gICAgMjMxLCAyMzMsIDEwOSwgMzksIDg5LCAxMTYsIDUsIDQwLCAyMjksIDc3LCAzOSwgODksIDExNiwgNSwgMTIxLCAxOTAsIDM5LCAKLSAgICA4OSwgMTE2LCA1LCAxMjUsIDIyMywgMTM5LCAxNzcsIDEyMSwgMTkwLCAzOSwgODksIDExNiwgNSwgMTg0LCAzOSwgODksIAotICAgIDExNiwgNSwgMjUyLCAxOTEsIDM5LCA4OSwgMTE2LCA1LCAyMDYsIDM5LCA4OSwgNSwgMjIyLCAxMCwgMzksIDg5LCAyNSwgNSwgCi0gICAgNjEsIDM5LCA4OSwgMjUsIDUsIDIzMSwgMjA0LCAyMjEsIDIyNiwgMzksIDg5LCAyNSwgNSwgMjU1LCA3MywgMzksIDg5LCAKLSAgICAyNSwgNSwgMjE3LCA2NCwgMjU1LCA3MywgMzksIDg5LCAyNSwgNSwgNzMsIDM5LCA4OSwgMjUsIDUsIDIzNiwgMzMsIDM5LCAKKyAgICAxNjYsIDM5LCAxNzMsIDg5LCAyMSwgMTEwLCAxNjYsIDM5LCAxNzMsIDUsIDIzMywgMTIxLCAxNjYsIDM5LCAxNzMsIDUsIAorICAgIDIzMywgMTIwLCA2OSwgMTYsIDIyNSwgMjM3LCA2OSwgMTYsIDIzMCwgNzMsIDIzNCwgMjYsIDY5LCAxNiwgMjI1LCA3MywgCisgICAgMjM0LCAyNiwgNjksIDE2LCAyNTIsIDUxLCAyMzQsIDI2LCA2OSwgMTYsIDI1MSwgMTA1LCAyMzQsIDI2LCA2OSwgMTYsIAorICAgIDIyNCwgMjE3LCAyMzQsIDI2LCA2OSwgMTYsIDIyNCwgMjExLCAyMzQsIDI2LCA2OSwgMTYsIDIyNCwgMjA5LCAyMzQsIDI2LCAKKyAgICA2OSwgMTYsIDIyNCwgMjE1LCAyMzQsIDI2LCA2OSwgMTYsIDIyNCwgMjEzLCAyMzQsIDI2LCA2OSwgMTYsIDI0OCwgMTc0LCAKKyAgICAyMzQsIDI2LCA2OSwgMTYsIDI0OCwgMTcwLCAyMzQsIDI2LCA2OSwgMTYsIDI0OCwgMTY5LCAyMzQsIDI2LCA2OSwgMTYsIAorICAgIDI0OCwgMTcyLCAyMzQsIDI2LCA2OSwgMTYsIDI0OCwgMTcxLCAyMzQsIDI2LCA2OSwgMTYsIDI0OCwgMTY4LCAyMzQsIDI2LCAKKyAgICA2OSwgMTYsIDIxNSwgODcsIDY5LCAxNiwgMjMwLCA3MywgMjIyLCAyMDYsIDY5LCAxNiwgMjI1LCA3MywgMjIyLCAyMDYsIAorICAgIDY5LCAxNiwgMjUyLCA1MSwgMjIyLCAyMDYsIDY5LCAxNiwgMjUxLCAxMDUsIDIyMiwgMjA2LCA2OSwgMTYsIDIyNCwgMjE3LCAKKyAgICAyMjIsIDIwNiwgNjksIDE2LCAyMjQsIDIxMSwgMjIyLCAyMDYsIDY5LCAxNiwgMjI0LCAyMDksIDIyMiwgMjA2LCA2OSwgMTYsIAorICAgIDIyNCwgMjE1LCAyMjIsIDIwNiwgNjksIDE2LCAyMjQsIDIxMywgMjIyLCAyMDYsIDY5LCAxNiwgMjQ4LCAxNzQsIDIyMiwgCisgICAgMjA2LCA2OSwgMTYsIDI0OCwgMTcwLCAyMjIsIDIwNiwgNjksIDE2LCAyNDgsIDE2OSwgMjIyLCAyMDYsIDY5LCAxNiwgMjQ4LCAKKyAgICAxNzIsIDIyMiwgMjA2LCA2OSwgMTYsIDI0OCwgMTcxLCAyMjIsIDIwNiwgNjksIDE2LCAyNDgsIDE2OCwgMjIyLCAyMDYsIAorICAgIDI1MSwgMTIyLCAxLCAxNzYsIDI1MSwgMTIyLCAxLCAyNDMsIDEzNiwgMjUxLCAxMjIsIDEsIDIyOSwgNzgsIDI1MSwgMTIyLCAKKyAgICAxLCAyMjksIDIzLCAyNTEsIDEyMiwgMSwgMTkwLCAyNTEsIDEyMiwgMSwgMjUyLCAxOTIsIDI1MSwgMTIyLCAxLCAxODUsIAorICAgIDI1MSwgMTIyLCAxLCAyMzAsIDEwNiwgMjUxLCAxMjIsIDEsIDIxNywgMTA2LCAyNTEsIDEyMiwgMSwgMjQ4LCAyMjIsIDI1MSwgCisgICAgMTIyLCAxLCAxOTcsIDI1MSwgMTIyLCAxLCAyMjgsIDM3LCAyNTEsIDEyMiwgMSwgMjUxLCAzNCwgMjUxLCAxMjIsIDEsIAorICAgIDIzNSwgMTQyLCAyNTEsIDEyMiwgMSwgMjI3LCAxNjYsIDI1MSwgMTIyLCAxLCAyMjcsIDE1OSwgMjUxLCAxMjIsIDEsIDE5MSwgCisgICAgMjUxLCAxMjIsIDEsIDIwNSwgMjUxLCAxMjIsIDEsIDIzMywgMTM2LCAyNTEsIDEyMiwgMSwgMjE0LCAyNywgMjUxLCAxMjIsIAorICAgIDEsIDIwNiwgMjUxLCAxMjIsIDEsIDYxLCAyNTEsIDEyMiwgMSwgMTYyLCAyNTEsIDEyMiwgMjUsIDUsIDczLCAyNTEsIDEyMiwgCisgICAgMjUsIDUsIDcwLCAyNTEsIDEyMiwgMjUsIDUsIDc1LCAyNTEsIDEyMiwgMjUsIDUsIDc2LCAyNTEsIDEyMiwgMjUsIDUsIAorICAgIDI1NCwgMjQ0LCAyNTEsIDEyMiwgMjI2LCA2MSwgMjUxLCAxMjIsIDI0NSwgMTQ0LCA2NCwgMjIxLCAxNzMsIDM5LCA4OSwgMSwgCisgICAgMTI1LCAxNzYsIDM5LCA4OSwgMSwgMTI1LCAyMzQsIDEzMywgMzksIDg5LCAxLCAxMjUsIDIzMywgMTcyLCAzOSwgODksIDEsIAorICAgIDEyMSwgMTc2LCAzOSwgODksIDEsIDEyMSwgMjMzLCAxNzIsIDM5LCA4OSwgMSwgMTIxLCAyMzQsIDEzMywgMzksIDg5LCAxLCAKKyAgICAyMjksIDc4LCAzOSwgODksIDEsIDEyNSwgMjUxLCAzNCwgMzksIDg5LCAxLCAxMjUsIDI1MCwgMTU4LCAzOSwgODksIDEsIAorICAgIDEyMSwgMjUxLCAzNCwgMzksIDg5LCAxLCAxMjEsIDIwNiwgMzksIDg5LCAxLCAxMjEsIDI1MCwgMTU4LCAzOSwgODksIDEsIAorICAgIDIyNywgMTY2LCAzOSwgODksIDEsIDIyMywgMTQxLCAzOSwgODksIDEsIDEyNSwgMjIzLCAxMzksIDM5LCA4OSwgMSwgMjQ4LCAKKyAgICAyMjIsIDM5LCA4OSwgMSwgMTIxLCAyMjMsIDEzOSwgMzksIDg5LCAxLCAyMjMsIDE1MCwgMzksIDg5LCAxLCAxMjUsIDIxNywgCisgICAgMTA2LCAzOSwgODksIDEsIDEyNSwgMjE2LCAyMDksIDM5LCA4OSwgMSwgMTIxLCAyMTcsIDEwNiwgMzksIDg5LCAxLCAxMjEsIAorICAgIDIxNiwgMjA5LCAzOSwgODksIDEsIDE5NywgMzksIDg5LCAxLCAyNTIsIDE5MiwgMzksIDg5LCAxLCAxMjUsIDE5MCwgMzksIAorICAgIDg5LCAxLCAxMjUsIDIyNSwgMTQ4LCAzOSwgODksIDEsIDEyNSwgMjQ0LCAxOTcsIDM5LCA4OSwgMSwgMTIxLCAxOTAsIDM5LCAKKyAgICA4OSwgMSwgMTIxLCAyNDQsIDE5NywgMzksIDg5LCAxLCAxMjEsIDIyNSwgMTQ4LCAzOSwgODksIDEsIDE4NSwgMzksIDg5LCAKKyAgICAxLCAxMjEsIDE5MSwgMzksIDg5LCAxLCAxMjUsIDE5MSwgMzksIDg5LCAxLCAyMDUsIDM5LCA4OSwgMSwgMjIyLCAxMzgsIAorICAgIDM5LCA4OSwgMSwgMjMzLCAxMzYsIDM5LCA4OSwgMSwgMjMyLCA5NCwgMzksIDg5LCAxLCAyMTIsIDY1LCAzOSwgODksIDEsIAorICAgIDEyNSwgMjIwLCAxMDMsIDM5LCA4OSwgMSwgMTI1LCAyMTgsIDIyNCwgMzksIDg5LCAxLCAxMjUsIDIwNiwgMzksIDg5LCAxLCAKKyAgICAxMjUsIDE2MiwgMzksIDg5LCAxLCAyMzIsIDE4NSwgMzksIDg5LCAxLCA2MSwgMzksIDg5LCAxLCAxMjEsIDE2MiwgMzksIAorICAgIDg5LCAxLCA3MywgMzksIDg5LCAxLCAyMzYsIDM0LCAzOSwgODksIDEsIDcwLCAzOSwgODksIDEsIDIxNCwgMTE4LCAzOSwgCisgICAgODksIDEsIDI0NSwgMjEwLCAzOSwgODksIDEsIDIyNiwgMTg0LCAzOSwgODksIDEsIDIzMywgMTIxLCAzOSwgODksIDEsIAorICAgIDI0MiwgMTMzLCAyMDYsIDM5LCA4OSwgMTE2LCA1LCAxNDcsIDIwNSwgMzksIDg5LCAxMTYsIDUsIDE0NywgMjMzLCAxMzYsIAorICAgIDM5LCA4OSwgMTE2LCA1LCAyMzMsIDEzNywgMjE3LCA1OSwgMjMzLCAxMTAsIDM5LCA4OSwgNSwgMjMxLCAyMDUsIDIzNCwgCisgICAgMjMyLCAyMzMsIDExMCwgMzksIDg5LCAxMTYsIDUsIDQwLCAyMjksIDc4LCAzOSwgODksIDExNiwgNSwgMTIxLCAxOTAsIDM5LCAKKyAgICA4OSwgMTE2LCA1LCAxMjUsIDIyMywgMTQwLCAxNzcsIDEyMSwgMTkwLCAzOSwgODksIDExNiwgNSwgMTg1LCAzOSwgODksIAorICAgIDExNiwgNSwgMjUyLCAxOTIsIDM5LCA4OSwgMTE2LCA1LCAyMDYsIDM5LCA4OSwgNSwgMjIyLCAxMSwgMzksIDg5LCAyNSwgNSwgCisgICAgNjEsIDM5LCA4OSwgMjUsIDUsIDIzMSwgMjA1LCAyMjEsIDIyNywgMzksIDg5LCAyNSwgNSwgMjU1LCA3NCwgMzksIDg5LCAKKyAgICAyNSwgNSwgMjE3LCA2NSwgMjU1LCA3NCwgMzksIDg5LCAyNSwgNSwgNzMsIDM5LCA4OSwgMjUsIDUsIDIzNiwgMzQsIDM5LCAKICAgICA4OSwgMjUsIDUsIDIxNCwgMjE0LCAzOSwgODksIDI1LCA1LCAyMTQsIDExNywgMzksIDg5LCAyNSwgNSwgNzAsIDM5LCA4OSwgCi0gICAgMjUsIDUsIDIxNCwgMTE4LCAzOSwgODksIDI1LCA1LCA3NiwgMzksIDg5LCAyNSwgNSwgMjI3LCAxLCA1MSwgMzksIDg5LCAKLSAgICAyNSwgNSwgMjI2LCAxMDksIDM5LCA4OSwgMjUsIDUsIDc1LCAzOSwgODksIDI1LCA1LCAyNTQsIDI0MywgMzksIDg5LCAyNSwgCi0gICAgNSwgMjI2LCAxODMsIDM5LCA4OSwgMjUsIDUsIDI1NCwgMjAxLCAzOSwgODksIDI1LCA1LCA4OSwgMjU0LCAyMDEsIDM5LCAKLSAgICA4OSwgMjUsIDUsIDIyNywgMSwgNDgsIDM5LCA4OSwgNSwgMjMxLCAyMDQsIDIzNCwgMjMwLCAzOSwgODksIDUsIDIxNiwgMjksIAotICAgIDM5LCA4OSwgNSwgMjE2LCAyOCwgMzksIDg5LCA1LCAyMzQsIDk3LCAyMTYsIDI3LCAzOSwgODksIDUsIDIzNCwgOTcsIDIxNiwgCi0gICAgMjYsIDM5LCA4OSwgNSwgMjM0LCA5NywgMjE2LCAyNSwgMzksIDg5LCA1LCAyMjMsIDE4OCwgMjQyLCA0NSwgMzksIDg5LCA1LCAKLSAgICAyMzEsIDIwNCwgMjIxLCAyNTMsIDM5LCA4OSwgNSwgMjM0LCA5NiwgMjM0LCAyMTUsIDM5LCA4OSwgMzgsIDI0OSwgMTE1LCAKLSAgICAyNDcsIDEyMCwgMzksIDg5LCAyNDEsIDQ2LCAyMSwgMjEwLCA4NiwgMzksIDg5LCAyNDEsIDQ2LCAyMSwgMTEwLCAzOSwgODksIAotICAgIDI0MSwgNDYsIDIxLCAxMDUsIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDE1OCwgMzksIDg5LCAyNDEsIDQ2LCAyMSwgMTYxLCAzOSwgCi0gICAgODksIDI0MSwgNDYsIDIxLCAxODksIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDE5NCwgMzksIDg5LCAyNDEsIDQ2LCAyMSwgMTk4LCAKLSAgICAzOSwgODksIDI0MSwgNDYsIDIxLCAxOTUsIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDIwMCwgMzksIDg5LCA4OSwgMjEsIDIxMCwgCisgICAgMjUsIDUsIDIxNCwgMTE4LCAzOSwgODksIDI1LCA1LCA3NiwgMzksIDg5LCAyNSwgNSwgMjI3LCAyLCA1MSwgMzksIDg5LCAKKyAgICAyNSwgNSwgMjI2LCAxMTAsIDM5LCA4OSwgMjUsIDUsIDc1LCAzOSwgODksIDI1LCA1LCAyNTQsIDI0NCwgMzksIDg5LCAyNSwgCisgICAgNSwgMjI2LCAxODQsIDM5LCA4OSwgMjUsIDUsIDI1NCwgMjAyLCAzOSwgODksIDI1LCA1LCA4OSwgMjU0LCAyMDIsIDM5LCAKKyAgICA4OSwgMjUsIDUsIDIyNywgMiwgNDgsIDM5LCA4OSwgNSwgMjMxLCAyMDUsIDIzNCwgMjMxLCAzOSwgODksIDUsIDIxNiwgMzAsIAorICAgIDM5LCA4OSwgNSwgMjE2LCAyOSwgMzksIDg5LCA1LCAyMzQsIDk4LCAyMTYsIDI4LCAzOSwgODksIDUsIDIzNCwgOTgsIDIxNiwgCisgICAgMjcsIDM5LCA4OSwgNSwgMjM0LCA5OCwgMjE2LCAyNiwgMzksIDg5LCA1LCAyMjMsIDE4OSwgMjQyLCA0NiwgMzksIDg5LCA1LCAKKyAgICAyMzEsIDIwNSwgMjIxLCAyNTQsIDM5LCA4OSwgNSwgMjM0LCA5NywgMjM0LCAyMTYsIDM5LCA4OSwgMzgsIDI0OSwgMTE2LCAKKyAgICAyNDcsIDEyMSwgMzksIDg5LCAyNDEsIDQ3LCAyMSwgMjEwLCA4NiwgMzksIDg5LCAyNDEsIDQ3LCAyMSwgMTEwLCAzOSwgODksIAorICAgIDI0MSwgNDcsIDIxLCAxMDUsIDM5LCA4OSwgMjQxLCA0NywgMjEsIDE1OCwgMzksIDg5LCAyNDEsIDQ3LCAyMSwgMTYxLCAzOSwgCisgICAgODksIDI0MSwgNDcsIDIxLCAxODksIDM5LCA4OSwgMjQxLCA0NywgMjEsIDE5NCwgMzksIDg5LCAyNDEsIDQ3LCAyMSwgMTk4LCAKKyAgICAzOSwgODksIDI0MSwgNDcsIDIxLCAxOTUsIDM5LCA4OSwgMjQxLCA0NywgMjEsIDIwMCwgMzksIDg5LCA4OSwgMjEsIDIxMCwgCiAgICAgODYsIDM5LCA4OSwgODksIDIxLCAxMTAsIDM5LCA4OSwgODksIDIxLCAxMDUsIDM5LCA4OSwgODksIDIxLCAxNTgsIDM5LCAKICAgICA4OSwgODksIDIxLCAxNjEsIDM5LCA4OSwgODksIDIxLCAxODksIDM5LCA4OSwgODksIDIxLCAxOTQsIDM5LCA4OSwgODksIAogICAgIDIxLCAxOTgsIDM5LCA4OSwgODksIDIxLCAxOTUsIDM5LCA4OSwgODksIDIxLCAyMDAsIDM5LCA4OSwgNSwgMjExLCAyNDksIAotICAgIDM5LCA4OSwgNSwgMjExLCAyNDgsIDM5LCA4OSwgNSwgMjIxLCAyMTUsIDM5LCA4OSwgNSwgMjM0LCAxNjAsIDM5LCA4OSwgNSwgCi0gICAgMjQwLCAyMzIsIDM5LCA4OSwgNSwgMjQ3LCAxMzQsIDM5LCA4OSwgNSwgMjIzLCA0OSwgMjIyLCAxODcsIDIyMywgMTQ5LCAKLSAgICAzOSwgODksIDUsIDIzMSwgMjA0LCAyMTEsIDcyLCAzOSwgODksIDUsIDIzNSwgNiwgMzksIDg5LCA1LCAyMzUsIDUsIDM5LCAKLSAgICA4OSwgNSwgMjIxLCAyMjIsIDM5LCA4OSwgNSwgMjIxLCAyMjEsIDM5LCA4OSwgNSwgMjQyLCA5LCAzOSwgODksIDUsIDI1MSwgCi0gICAgMzAsIDEwMiwgNSwgMjE0LCAyMDAsIDIyMywgMzAsIDEwMiwgNSwgMjE0LCAyMDAsIDI1MSwgMSwgMTAyLCA1LCAyNTAsIAotICAgIDE4NiwgMTAyLCA1LCAyMTgsIDE1LCAxMDIsIDUsIDI1MSwgMjMzLCAxMDIsIDEsIDI1NCwgMTg0LCAxMDIsIDEsIDI1NCwgCi0gICAgMTg1LCAyMTcsIDEzLCAxMDIsIDEsIDIzNiwgMjksIDEwMiwgMSwgMjM2LCAzMCwgMjE3LCAxMywgMTAyLCAxLCAyMTQsIAotICAgIDIwMywgMTAyLCAxLCAyMTQsIDIwNCwgMjE3LCAxMywgMTAyLCAxLCAyMjMsIDE4OCwgMjIzLCA3OSwgMTAyLCAxLCAyMjMsIAotICAgIDE4OCwgMjIzLCA4MCwgMjE3LCAxMywgMTAyLCAxLCAyMzMsIDEzNiwgMjMzLCAyNCwgMTAyLCAxLCAyMzMsIDEzNiwgMjMzLCAKLSAgICAyNSwgMjE3LCAxMywgMTAyLCAxLCAyNDUsIDE3OSwgMTAyLCAxLCAyNTQsIDE5OSwgMTAyLCAxLCAyMjYsIDIxMiwgMTAyLCAKLSAgICAxLCAyMjYsIDIxMywgMjE3LCAxMywgMTAyLCAxLCAxNzYsIDEwMiwgMSwgMjM1LCAxMywgMjMxLCAyMDcsIDEwMiwgMSwgCi0gICAgMjQzLCAxMzUsIDEwMiwgMSwgMjQzLCAxMzYsIDI0MiwgMTYxLCAxMDIsIDEsIDIyOSwgNzcsIDEwMiwgMSwgMjUxLCAzMywgCi0gICAgMTAyLCAxLCAyNTEsIDM0LCAyMzMsIDEyMywgMTAyLCAxLCAyMzUsIDE0MSwgMTAyLCAxLCAyMzUsIDE0MiwgMjM1LCAxMTgsIAotICAgIDEwMiwgMSwgMjI3LCAxNjUsIDEwMiwgMSwgMjE3LCAxMDYsIDIzMywgNzYsIDEwMiwgMSwgMjE3LCAxMDYsIDIzMCwgNjcsIAotICAgIDIzMSwgMjA3LCAxMDIsIDEsIDI0OCwgMjIyLCAyMzAsIDY3LCAyNTQsIDE0NSwgMTAyLCAxLCAyNDgsIDIyMiwgMjMwLCA2NywgCi0gICAgMjMxLCAyMDcsIDEwMiwgMSwgMjI5LCAyMjksIDIyMywgMTUyLCAxMDIsIDEsIDIxNywgMTA1LCAxMDIsIDEsIDIxNywgMTA2LCAKLSAgICAyMTcsIDM1LCAxMDIsIDEsIDI0OCwgMjIxLCAxMDIsIDEsIDI0OCwgMjIyLCAyMzEsIDIyNSwgMTAyLCAxLCAxOTcsIDEwMiwgCi0gICAgMSwgMTkwLCAxMDIsIDEsIDIyNiwgOTAsIDIzNCwgMjI2LCAxMDIsIDEsIDI1MiwgMTkxLCAxMDIsIDEsIDI1MiwgMTkyLCAKLSAgICAyMzQsIDE3MiwgMTAyLCAxLCAxODQsIDEwMiwgMSwgMTkxLCAxMDIsIDEsIDIwNSwgMTAyLCAxLCAyMzMsIDEzNSwgMTAyLCAKLSAgICAxLCAyMTIsIDY1LCAxMDIsIDEsIDIyMiwgMzQsIDIyMiwgMjAsIDEwMiwgMSwgMjIyLCAzNCwgMjIxLCAyMzMsIDEwMiwgMSwgCi0gICAgMjA2LCAxMDIsIDEsIDE2MiwgMTAyLCA1LCAyMjMsIDcwLCAxMDIsIDI1LCA1LCAyMTcsIDEzLCAxMDIsIDI1LCA1LCAyMTQsIAotICAgIDE5OSwgMTAyLCAyNSwgNSwgMjE0LCAyMDAsIDIyMSwgMjI5LCAxMDIsIDI1LCA1LCAyMTgsIDQ3LCAxMDIsIDI1LCA1LCAKLSAgICAyMTgsIDQ4LCAyMzYsIDIxLCAxMDIsIDI1LCA1LCAyMjMsIDE4OCwgMjIzLCA3OSwgMTAyLCAyNSwgNSwgMjIzLCAxODgsIAotICAgIDIyMywgODAsIDIxNywgMTMsIDEwMiwgMjUsIDUsIDIzMywgMTM2LCAyMzMsIDI0LCAxMDIsIDI1LCA1LCAyMzMsIDEzNiwgCi0gICAgMjMzLCAyNSwgMjE3LCAxMywgMTAyLCAyNSwgNSwgMjE3LCA2NSwgMTAyLCAyNSwgNSwgMjE3LCA2NiwgMjIzLCA3OSwgMTAyLCAKLSAgICAyNSwgNSwgMjE3LCA2NiwgMjE3LCAxMywgMTAyLCAyNSwgNSwgMjE3LCA2NiwgMjIzLCA4MCwgMjE3LCAxMywgMTAyLCAyNSwgCi0gICAgNSwgMjI1LCAxODQsIDEwMiwgMjUsIDUsIDIyNSwgMTg1LCAyMTcsIDEzLCAxMDIsIDI1NCwgMjUwLCAyNTQsIDI0OSwgMTAyLCAKLSAgICAxLCAyMzQsIDI1MSwgMjIxLCAyMjgsIDEwMiwgMSwgMjM0LCAxMDIsIDIyMSwgMjI4LCAxMDIsIDEsIDIxNSwgMzQsIDIyMSwgCi0gICAgMjI4LCAxMDIsIDEsIDI0NSwgMjAzLCAyMjEsIDIyOCwgMTAyLCAxLCAyMTQsIDAsIDIyMSwgMjI4LCAxMDIsIDEsIDIxMCwgCi0gICAgMTA3LCAyMjEsIDIyOCwgMTAyLCAxLCAyNTMsIDIwOSwgMjIxLCAyMjgsIDEwMiwgMjEsIDIxMCwgODYsIDEwMiwgMjEsIAorICAgIDM5LCA4OSwgNSwgMjExLCAyNDgsIDM5LCA4OSwgNSwgMjIxLCAyMTYsIDM5LCA4OSwgNSwgMjM0LCAxNjEsIDM5LCA4OSwgNSwgCisgICAgMjQwLCAyMzMsIDM5LCA4OSwgNSwgMjQ3LCAxMzUsIDM5LCA4OSwgNSwgMjIzLCA1MCwgMjIyLCAxODgsIDIyMywgMTUwLCAKKyAgICAzOSwgODksIDUsIDIzMSwgMjA1LCAyMTEsIDcyLCAzOSwgODksIDUsIDIzNSwgNywgMzksIDg5LCA1LCAyMzUsIDYsIDM5LCAKKyAgICA4OSwgNSwgMjIxLCAyMjMsIDM5LCA4OSwgNSwgMjIxLCAyMjIsIDM5LCA4OSwgNSwgMjQyLCAxMCwgMzksIDg5LCA1LCAyNTEsIAorICAgIDMxLCAxMDIsIDUsIDIxNCwgMjAwLCAyMjMsIDMxLCAxMDIsIDUsIDIxNCwgMjAwLCAyNTEsIDIsIDEwMiwgNSwgMjUwLCAKKyAgICAxODcsIDEwMiwgNSwgMjE4LCAxNiwgMTAyLCA1LCAyNTEsIDIzNCwgMTAyLCAxLCAyNTQsIDE4NSwgMTAyLCAxLCAyNTQsIAorICAgIDE4NiwgMjE3LCAxNCwgMTAyLCAxLCAyMzYsIDMwLCAxMDIsIDEsIDIzNiwgMzEsIDIxNywgMTQsIDEwMiwgMSwgMjE0LCAKKyAgICAyMDMsIDEwMiwgMSwgMjE0LCAyMDQsIDIxNywgMTQsIDEwMiwgMSwgMjIzLCAxODksIDIyMywgODAsIDEwMiwgMSwgMjIzLCAKKyAgICAxODksIDIyMywgODEsIDIxNywgMTQsIDEwMiwgMSwgMjMzLCAxMzcsIDIzMywgMjUsIDEwMiwgMSwgMjMzLCAxMzcsIDIzMywgCisgICAgMjYsIDIxNywgMTQsIDEwMiwgMSwgMjQ1LCAxODAsIDEwMiwgMSwgMjU0LCAyMDAsIDEwMiwgMSwgMjI2LCAyMTMsIDEwMiwgCisgICAgMSwgMjI2LCAyMTQsIDIxNywgMTQsIDEwMiwgMSwgMTc2LCAxMDIsIDEsIDIzNSwgMTQsIDIzMSwgMjA4LCAxMDIsIDEsIAorICAgIDI0MywgMTM2LCAxMDIsIDEsIDI0MywgMTM3LCAyNDIsIDE2MiwgMTAyLCAxLCAyMjksIDc4LCAxMDIsIDEsIDI1MSwgMzQsIAorICAgIDEwMiwgMSwgMjUxLCAzNSwgMjMzLCAxMjQsIDEwMiwgMSwgMjM1LCAxNDIsIDEwMiwgMSwgMjM1LCAxNDMsIDIzNSwgMTE5LCAKKyAgICAxMDIsIDEsIDIyNywgMTY2LCAxMDIsIDEsIDIxNywgMTA3LCAyMzMsIDc3LCAxMDIsIDEsIDIxNywgMTA3LCAyMzAsIDY4LCAKKyAgICAyMzEsIDIwOCwgMTAyLCAxLCAyNDgsIDIyMywgMjMwLCA2OCwgMjU0LCAxNDYsIDEwMiwgMSwgMjQ4LCAyMjMsIDIzMCwgNjgsIAorICAgIDIzMSwgMjA4LCAxMDIsIDEsIDIyOSwgMjMwLCAyMjMsIDE1MywgMTAyLCAxLCAyMTcsIDEwNiwgMTAyLCAxLCAyMTcsIDEwNywgCisgICAgMjE3LCAzNiwgMTAyLCAxLCAyNDgsIDIyMiwgMTAyLCAxLCAyNDgsIDIyMywgMjMxLCAyMjYsIDEwMiwgMSwgMTk3LCAxMDIsIAorICAgIDEsIDE5MCwgMTAyLCAxLCAyMjYsIDkxLCAyMzQsIDIyNywgMTAyLCAxLCAyNTIsIDE5MiwgMTAyLCAxLCAyNTIsIDE5MywgCisgICAgMjM0LCAxNzMsIDEwMiwgMSwgMTg1LCAxMDIsIDEsIDE5MSwgMTAyLCAxLCAyMDUsIDEwMiwgMSwgMjMzLCAxMzYsIDEwMiwgCisgICAgMSwgMjEyLCA2NSwgMTAyLCAxLCAyMjIsIDM1LCAyMjIsIDIxLCAxMDIsIDEsIDIyMiwgMzUsIDIyMSwgMjM0LCAxMDIsIDEsIAorICAgIDIwNiwgMTAyLCAxLCAxNjIsIDEwMiwgNSwgMjIzLCA3MSwgMTAyLCAyNSwgNSwgMjE3LCAxNCwgMTAyLCAyNSwgNSwgMjE0LCAKKyAgICAxOTksIDEwMiwgMjUsIDUsIDIxNCwgMjAwLCAyMjEsIDIzMCwgMTAyLCAyNSwgNSwgMjE4LCA0OCwgMTAyLCAyNSwgNSwgCisgICAgMjE4LCA0OSwgMjM2LCAyMiwgMTAyLCAyNSwgNSwgMjIzLCAxODksIDIyMywgODAsIDEwMiwgMjUsIDUsIDIyMywgMTg5LCAKKyAgICAyMjMsIDgxLCAyMTcsIDE0LCAxMDIsIDI1LCA1LCAyMzMsIDEzNywgMjMzLCAyNSwgMTAyLCAyNSwgNSwgMjMzLCAxMzcsIAorICAgIDIzMywgMjYsIDIxNywgMTQsIDEwMiwgMjUsIDUsIDIxNywgNjYsIDEwMiwgMjUsIDUsIDIxNywgNjcsIDIyMywgODAsIDEwMiwgCisgICAgMjUsIDUsIDIxNywgNjcsIDIxNywgMTQsIDEwMiwgMjUsIDUsIDIxNywgNjcsIDIyMywgODEsIDIxNywgMTQsIDEwMiwgMjUsIAorICAgIDUsIDIyNSwgMTg1LCAxMDIsIDI1LCA1LCAyMjUsIDE4NiwgMjE3LCAxNCwgMTAyLCAyNTQsIDI1MSwgMjU0LCAyNTAsIDEwMiwgCisgICAgMSwgMjM0LCAyNTIsIDIyMSwgMjI5LCAxMDIsIDEsIDIzNCwgMTAzLCAyMjEsIDIyOSwgMTAyLCAxLCAyMTUsIDM0LCAyMjEsIAorICAgIDIyOSwgMTAyLCAxLCAyNDUsIDIwNCwgMjIxLCAyMjksIDEwMiwgMSwgMjE0LCAwLCAyMjEsIDIyOSwgMTAyLCAxLCAyMTAsIAorICAgIDEwNywgMjIxLCAyMjksIDEwMiwgMSwgMjUzLCAyMTAsIDIyMSwgMjI5LCAxMDIsIDIxLCAyMTAsIDg2LCAxMDIsIDIxLCAKICAgICAxMTAsIDEwMiwgMjEsIDEwNSwgMTAyLCAyMSwgMTU4LCAxMDIsIDIxLCAxNjEsIDEwMiwgMjEsIDE4OSwgMTAyLCAyMSwgCi0gICAgMTk0LCAxMDIsIDIxLCAxOTgsIDEwMiwgMjEsIDE5NSwgMTAyLCAyMSwgMjAwLCAxMDIsIDIyNiwgMjksIDEwMiwgMjI2LCAKLSAgICA1NSwgMTAyLCAyMTEsIDIzOCwgMTAyLCAyNTAsIDIzNiwgMjI2LCA0OCwgMTAyLCAyNTAsIDIzNiwgMjE5LCAxNzIsIDEwMiwgCi0gICAgMjUwLCAyMzYsIDIyNiwgMiwgMTAyLCAyMjYsIDU0LCAxMDIsIDI4LCAxNiwgMjQ3LCAxMjYsIDEwMiwgMjgsIDE2LCAyNDgsIAotICAgIDUxLCAxMDIsIDI4LCAxNiwgMjQ2LCA2NCwgMTAyLCAyOCwgMTYsIDI0OCwgMTc2LCAxMDIsIDI4LCAxNiwgMjQ4LCAxNzcsIAotICAgIDIxOCwgMTUsIDEwMiwgMjgsIDE2LCAyNDcsIDIwNSwgMTAyLCAyOCwgMTYsIDI0OCwgMjE0LCAxMDIsIDI4LCAxNiwgMjQ4LCAKLSAgICAzMywgMTAyLCAyOCwgMTYsIDI0OCwgMTk4LCAxMDIsIDI4LCAxNiwgMjQ4LCAxNzcsIDI0MywgNTcsIDEwMiwgMjgsIDE2LCAKLSAgICAzOCwgMjE3LCA5LCAxMDIsIDI4LCAxNiwgMzgsIDI0NSwgMTQxLCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTY3LCAxMDIsIAotICAgIDI4LCAxNiwgMzgsIDIzNCwgMTY5LCAxMDIsIDI4LCAxNiwgMzgsIDIzNSwgMTIyLCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgCi0gICAgMTY4LCAyLCAyMzUsIDEyMiwgMTAyLCAyOCwgMTYsIDM4LCAyMzQsIDE3MCwgMiwgMjM1LCAxMjIsIDEwMiwgMjgsIDE2LCAKLSAgICAzOCwgMjUyLCAzNywgMTAyLCAyOCwgMTYsIDM4LCAyNDIsIDE2NSwgMTAyLCAyOCwgMTYsIDIyMiwgMjQ5LCAyMDQsIDI0NiwgCi0gICAgNzQsIDEwMiwgMjgsIDE2LCAyMjIsIDI0OSwgMjA0LCAyNDgsIDIxMiwgMTAyLCAyOCwgMTYsIDIyMiwgMjQ5LCAyNTAsIDAsIAotICAgIDIxNSwgMTExLCAxMDIsIDI4LCAxNiwgMjIyLCAyNDksIDI1MCwgMCwgMjE3LCA3MywgMTAyLCAyOCwgMTYsIDIzMywgNDQsIAotICAgIDIwNCwgMjI2LCA0MywgMTAyLCAyOCwgMTYsIDIzMywgNDQsIDIwNCwgMjI0LCAxMzksIDEwMiwgMjgsIDE2LCAyMzMsIDQ0LCAKLSAgICAyNTAsIDAsIDIyNSwgMzgsIDEwMiwgMjgsIDE2LCAyMzMsIDQ0LCAyNTAsIDAsIDIyNSwgMjYsIDEwMiwgMjgsIDE2LCAyMzMsIAotICAgIDQ0LCAyMDQsIDIyNSwgNjEsIDIwNywgNSwgMjI2LCAyNiwgMjA3LCA1LCAyMjYsIDM5LCAyMDcsIDUsIDIyNiwgMzUsIDIwNywgCi0gICAgMSwgNjEsIDIwNywgMSwgNzMsIDIwNywgMSwgNzAsIDIwNywgMSwgMjU0LCAyNDMsIDIwNywgMSwgNzYsIDIwNywgMSwgNzUsIAotICAgIDIwNywgMSwgMjQ1LCA1NSwgMjA3LCAxLCAxNzYsIDIwNywgMSwgMjI0LCA4OCwgMjA3LCAxLCAyNDMsIDEzNSwgMjA3LCAxLCAKLSAgICAyMjksIDc3LCAyMDcsIDEsIDI1MSwgMzMsIDIwNywgMSwgMjM1LCAxNDEsIDIwNywgMSwgMjEwLCAxMTYsIDIwNywgMSwgCi0gICAgMjI3LCAxNjUsIDIwNywgMSwgMjE3LCAxMDUsIDIwNywgMSwgMjQ4LCAyMjEsIDIwNywgMSwgMTk3LCAyMDcsIDEsIDE5MCwgCi0gICAgMjA3LCAxLCAyNDQsIDE5NiwgMjA3LCAxLCAyMTQsIDI3LCAyMDcsIDEsIDI1MiwgMTkxLCAyMDcsIDEsIDE4NCwgMjA3LCAxLCAKLSAgICAxOTEsIDIwNywgMSwgMjA1LCAyMDcsIDEsIDIzMywgMTM1LCAyMDcsIDEsIDIxMiwgNjUsIDIwNywgMSwgMjA2LCAyMDcsIDEsIAotICAgIDIxMSwgMTY1LCAyMDcsIDEsIDE2MiwgMjA3LCAxMTYsIDUsIDIyNiwgNTIsIDIwNywgMTE2LCA1LCAyMjYsIDI4LCAyMDcsIAotICAgIDExNiwgNSwgMjI2LCAyNSwgMjA3LCAyNSwgNSwgMjI2LCA0MiwgMjA3LCAyNSwgNSwgMjI2LCAyNCwgMjA3LCAyNSwgNSwgCi0gICAgMjI2LCA0NiwgMjA3LCAyNSwgNSwgMjI2LCAzNCwgMjA3LCAyNSwgNSwgMjI2LCA1MywgMjA3LCAyNSwgNSwgMjI2LCA0NCwgCi0gICAgMjA3LCA1LCAyMjYsIDU2LCAyMDcsIDUsIDIxMywgMTUyLCAyMDcsIDExNiwgNSwgMjI1LCAyNDgsIDE4NCwgMjA3LCAxMTYsIAotICAgIDUsIDIyNSwgMjQ4LCAyMTIsIDY1LCAyMDcsIDEsIDIzNCwgMTMyLCAyMDcsIDEsIDIxNywgMjMxLCAyMDcsIDIxLCAyMTAsIAorICAgIDE5NCwgMTAyLCAyMSwgMTk4LCAxMDIsIDIxLCAxOTUsIDEwMiwgMjEsIDIwMCwgMTAyLCAyMjYsIDMwLCAxMDIsIDIyNiwgCisgICAgNTYsIDEwMiwgMjExLCAyMzgsIDEwMiwgMjUwLCAyMzcsIDIyNiwgNDksIDEwMiwgMjUwLCAyMzcsIDIxOSwgMTczLCAxMDIsIAorICAgIDI1MCwgMjM3LCAyMjYsIDMsIDEwMiwgMjI2LCA1NSwgMTAyLCAyOCwgMTYsIDI0NywgMTI3LCAxMDIsIDI4LCAxNiwgMjQ4LCAKKyAgICA1MiwgMTAyLCAyOCwgMTYsIDI0NiwgNjUsIDEwMiwgMjgsIDE2LCAyNDgsIDE3NywgMTAyLCAyOCwgMTYsIDI0OCwgMTc4LCAKKyAgICAyMTgsIDE2LCAxMDIsIDI4LCAxNiwgMjQ3LCAyMDYsIDEwMiwgMjgsIDE2LCAyNDgsIDIxNSwgMTAyLCAyOCwgMTYsIDI0OCwgCisgICAgMzQsIDEwMiwgMjgsIDE2LCAyNDgsIDE5OSwgMTAyLCAyOCwgMTYsIDI0OCwgMTc4LCAyNDMsIDU4LCAxMDIsIDI4LCAxNiwgCisgICAgMzgsIDIxNywgMTAsIDEwMiwgMjgsIDE2LCAzOCwgMjQ1LCAxNDIsIDEwMiwgMjgsIDE2LCAzOCwgMjM0LCAxNjgsIDEwMiwgCisgICAgMjgsIDE2LCAzOCwgMjM0LCAxNzAsIDEwMiwgMjgsIDE2LCAzOCwgMjM1LCAxMjMsIDEwMiwgMjgsIDE2LCAzOCwgMjM0LCAKKyAgICAxNjksIDIsIDIzNSwgMTIzLCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTcxLCAyLCAyMzUsIDEyMywgMTAyLCAyOCwgMTYsIAorICAgIDM4LCAyNTIsIDM4LCAxMDIsIDI4LCAxNiwgMzgsIDI0MiwgMTY2LCAxMDIsIDI4LCAxNiwgMjIyLCAyNTAsIDIwNCwgMjQ2LCAKKyAgICA3NSwgMTAyLCAyOCwgMTYsIDIyMiwgMjUwLCAyMDQsIDI0OCwgMjEzLCAxMDIsIDI4LCAxNiwgMjIyLCAyNTAsIDI1MCwgMSwgCisgICAgMjE1LCAxMTIsIDEwMiwgMjgsIDE2LCAyMjIsIDI1MCwgMjUwLCAxLCAyMTcsIDc0LCAxMDIsIDI4LCAxNiwgMjMzLCA0NSwgCisgICAgMjA0LCAyMjYsIDQ0LCAxMDIsIDI4LCAxNiwgMjMzLCA0NSwgMjA0LCAyMjQsIDE0MCwgMTAyLCAyOCwgMTYsIDIzMywgNDUsIAorICAgIDI1MCwgMSwgMjI1LCAzOSwgMTAyLCAyOCwgMTYsIDIzMywgNDUsIDI1MCwgMSwgMjI1LCAyNywgMTAyLCAyOCwgMTYsIDIzMywgCisgICAgNDUsIDIwNCwgMjI1LCA2MiwgMjA3LCA1LCAyMjYsIDI3LCAyMDcsIDUsIDIyNiwgNDAsIDIwNywgNSwgMjI2LCAzNiwgMjA3LCAKKyAgICAxLCA2MSwgMjA3LCAxLCA3MywgMjA3LCAxLCA3MCwgMjA3LCAxLCAyNTQsIDI0NCwgMjA3LCAxLCA3NiwgMjA3LCAxLCA3NSwgCisgICAgMjA3LCAxLCAyNDUsIDU2LCAyMDcsIDEsIDE3NiwgMjA3LCAxLCAyMjQsIDg5LCAyMDcsIDEsIDI0MywgMTM2LCAyMDcsIDEsIAorICAgIDIyOSwgNzgsIDIwNywgMSwgMjUxLCAzNCwgMjA3LCAxLCAyMzUsIDE0MiwgMjA3LCAxLCAyMTAsIDExNiwgMjA3LCAxLCAKKyAgICAyMjcsIDE2NiwgMjA3LCAxLCAyMTcsIDEwNiwgMjA3LCAxLCAyNDgsIDIyMiwgMjA3LCAxLCAxOTcsIDIwNywgMSwgMTkwLCAKKyAgICAyMDcsIDEsIDI0NCwgMTk3LCAyMDcsIDEsIDIxNCwgMjcsIDIwNywgMSwgMjUyLCAxOTIsIDIwNywgMSwgMTg1LCAyMDcsIDEsIAorICAgIDE5MSwgMjA3LCAxLCAyMDUsIDIwNywgMSwgMjMzLCAxMzYsIDIwNywgMSwgMjEyLCA2NSwgMjA3LCAxLCAyMDYsIDIwNywgMSwgCisgICAgMjExLCAxNjUsIDIwNywgMSwgMTYyLCAyMDcsIDExNiwgNSwgMjI2LCA1MywgMjA3LCAxMTYsIDUsIDIyNiwgMjksIDIwNywgCisgICAgMTE2LCA1LCAyMjYsIDI2LCAyMDcsIDI1LCA1LCAyMjYsIDQzLCAyMDcsIDI1LCA1LCAyMjYsIDI1LCAyMDcsIDI1LCA1LCAKKyAgICAyMjYsIDQ3LCAyMDcsIDI1LCA1LCAyMjYsIDM1LCAyMDcsIDI1LCA1LCAyMjYsIDU0LCAyMDcsIDI1LCA1LCAyMjYsIDQ1LCAKKyAgICAyMDcsIDUsIDIyNiwgNTcsIDIwNywgNSwgMjEzLCAxNTIsIDIwNywgMTE2LCA1LCAyMjUsIDI0OSwgMTg1LCAyMDcsIDExNiwgCisgICAgNSwgMjI1LCAyNDksIDIxMiwgNjUsIDIwNywgMSwgMjM0LCAxMzMsIDIwNywgMSwgMjE3LCAyMzIsIDIwNywgMjEsIDIxMCwgCiAgICAgODYsIDIwNywgMjEsIDExMCwgMjA3LCAyMSwgMTA1LCAyMDcsIDIxLCAxNTgsIDIwNywgMjEsIDE2MSwgMjA3LCAyMSwgMTg5LCAKLSAgICAyMDcsIDIxLCAxOTQsIDIwNywgMjEsIDE5OCwgMjA3LCAyMSwgMTk1LCAyMDcsIDIxLCAyMDAsIDIwNywgMjUzLCAxNzUsIAotICAgIDIwNywgMSwgMjIzLCA1MiwgMjA3LCAxLCAyMzMsIDcsIDIwNywgMSwgMjUyLCAxOCwgMjA3LCAxLCA0MCwgMjM1LCAyMywgCi0gICAgMjA3LCAxLCA0MCwgMTkzLCAyNTIsIDEyMCwgMSwgNjEsIDI1MiwgMTIwLCAxLCAyMTksIDE2NCwgNjEsIDI1MiwgMTIwLCAxLCAKLSAgICAxNjIsIDI1MiwgMTIwLCAxLCAyMTksIDE2NCwgMTYyLCAyNTIsIDEyMCwgMSwgMjMxLCAxODEsIDE2MiwgMjUyLCAxMjAsIDEsIAotICAgIDI1MiwgMTkxLCAyNTIsIDEyMCwgMSwgMjM0LCAyMTIsIDI1MiwgMTkxLCAyNTIsIDEyMCwgMSwgMTkwLCAyNTIsIDEyMCwgMSwgCi0gICAgMjE5LCAxNjQsIDE5MCwgMjUyLCAxMjAsIDEsIDE5NywgMjUyLCAxMjAsIDEsIDIzMSwgMTgxLCAxOTcsIDI1MiwgMTIwLCAxLCAKLSAgICAyMTIsIDY1LCAyNTIsIDEyMCwgMSwgMjE5LCAxNjQsIDIxMiwgNjUsIDI1MiwgMTIwLCAxLCAyMjYsIDY3LCAyMTIsIDY1LCAKLSAgICAyNTIsIDEyMCwgMSwgMjQzLCAxMzUsIDI1MiwgMTIwLCAxLCAyMTksIDE2NCwgMjQzLCAxMzUsIDI1MiwgMTIwLCAxLCAyMzUsIAotICAgIDE0MSwgMjUyLCAxMjAsIDEsIDI0OCwgMjIxLCAyNTIsIDEyMCwgMSwgMjA1LCAyNTIsIDEyMCwgMSwgMjE5LCAxNjQsIDIwNSwgCi0gICAgMjUyLCAxMjAsIDEsIDE4NCwgMjUyLCAxMjAsIDEsIDIxOSwgMTY0LCAxODQsIDI1MiwgMTIwLCAxLCAyMTksIDI2LCAyMTcsIAotICAgIDEwNSwgMjUyLCAxMjAsIDEsIDIyOCwgNTUsIDIxNywgMTA1LCAyNTIsIDEyMCwgMSwgMjA2LCAyNTIsIDEyMCwgMSwgMjE5LCAKLSAgICAxNjQsIDIwNiwgMjUyLCAxMjAsIDEsIDIzMSwgMTgxLCAyMDYsIDI1MiwgMTIwLCAxLCAxOTEsIDI1MiwgMTIwLCAxLCAyMTksIAotICAgIDE2NCwgMTkxLCAyNTIsIDEyMCwgMSwgMjI5LCA3NywgMjUyLCAxMjAsIDEsIDIzMywgMTM1LCAyNTIsIDEyMCwgMSwgMjE5LCAKLSAgICAxNjQsIDIzMywgMTM1LCAyNTIsIDEyMCwgMSwgMjI3LCAxNjUsIDI1MiwgMTIwLCAxLCAyNTEsIDMzLCAyNTIsIDEyMCwgMSwgCi0gICAgMjI5LCAxNDgsIDI1MiwgMTIwLCAxLCAyMzEsIDEyNCwgMjUyLCAxMjAsIDEsIDczLCAyNTIsIDEyMCwgMSwgNzAsIDI1MiwgCi0gICAgMTIwLCA1LCAyMTYsIDMzLCAyNTIsIDEyMCwgMjUsIDUsIDc1LCAyNTIsIDEyMCwgMjUsIDUsIDIyNiwgNjcsIDc1LCAyNTIsIAotICAgIDEyMCwgMjUsIDUsIDI0NSwgMjA5LCAyNTIsIDEyMCwgMjUsIDUsIDczLCAyNTIsIDEyMCwgMjUsIDUsIDIzNCwgMjEyLCA3MywgCi0gICAgMjUyLCAxMjAsIDI1LCA1LCA3NiwgMjUyLCAxMjAsIDI1LCA1LCAyMzQsIDIxMiwgNzYsIDI1MiwgMTIwLCAyNSwgNSwgNzAsIAotICAgIDI1MiwgMTIwLCAyNSwgNSwgMTA0LCAzMSwgMjE5LCAxNjQsIDIwNiwgMjUyLCAxMjAsIDExNiwgNSwgMjI5LCA3OSwgMjUyLCAKLSAgICAxMjAsIDExNiwgNSwgMjQyLCA2MCwgMjUyLCAxMjAsIDIyNiwgMzcsIDI1MiwgMTIwLCAyMjYsIDMzLCAyNTIsIDEyMCwgMTYsIAotICAgIDI1MSwgMjQxLCAyMjksIDIyOSwgMjMxLCAzNywgMjUyLCAxMjAsIDE2LCAyNTEsIDI0MSwgMjI1LCA2NCwgMjUyLCAxMjAsIAotICAgIDE2LCAyNTEsIDI0MSwgMjM1LCA0OCwgMjUyLCAxMjAsIDE2LCAyNTEsIDI0MSwgMjI2LCAzNywgMTk2LCAxLCAxNzYsIDE5NiwgCi0gICAgMSwgMjM0LCAzOSwgMTk2LCAxLCAyMzQsIDEzMiwgMTk2LCAxLCAyNDMsIDEzNSwgMTk2LCAxLCAyNDIsIDE4NiwgMTk2LCAxLCAKLSAgICAyMjksIDc3LCAxOTYsIDEsIDI1MSwgMzMsIDE5NiwgMSwgMjUwLCAxNTcsIDE5NiwgMSwgMjM1LCAxNDEsIDE5NiwgMSwgCi0gICAgMjI3LCAxNjUsIDE5NiwgMSwgMjE3LCAxMDUsIDE5NiwgMSwgMjE2LCAyMDgsIDE5NiwgMSwgMjQ4LCAyMjEsIDE5NiwgMSwgCi0gICAgMTk3LCAxOTYsIDEsIDE5MCwgMTk2LCAxLCAyMjUsIDQyLCAxOTYsIDEsIDIyNSwgMTQ3LCAxOTYsIDEsIDI0NCwgMTk2LCAKLSAgICAxOTYsIDEsIDI0NCwgNzUsIDE5NiwgMSwgMjUyLCAxOTEsIDE5NiwgMSwgMjUxLCAyMjIsIDE5NiwgMSwgMTg0LCAxOTYsIDEsIAotICAgIDIzMCwgMTY4LCAxOTYsIDEsIDIxNSwgMTgzLCAxOTYsIDEsIDIxNSwgMTc1LCAxOTYsIDEsIDI0NiwgMzgsIDE5NiwgMSwgCi0gICAgMTkxLCAxOTYsIDEsIDIwNSwgMTk2LCAxLCAyMzMsIDEzNSwgMTk2LCAxLCAxNjIsIDE5NiwgMSwgMjQxLCAxNTMsIDE5NiwgCi0gICAgMSwgMjE0LCAyNywgMTk2LCAxLCAyMDYsIDE5NiwgMSwgMjIwLCAxMDIsIDE5NiwgMSwgMjEyLCA2NSwgMTk2LCAxLCA2MSwgCi0gICAgMTk2LCAyMTgsIDczLCAxLCAxOTEsIDE5NiwgMjE4LCA3MywgMSwgMjA1LCAxOTYsIDI1LCA1LCAyNTUsIDczLCAxOTYsIDI1LCAKLSAgICA1LCA3MywgMTk2LCAyNSwgNSwgNzYsIDE5NiwgMjUsIDUsIDIyNiwgMTgzLCAxOTYsIDI1LCA1LCA3MCwgMTk2LCAyNSwgNSwgCi0gICAgMjE0LCAxMTgsIDE5NiwgMjUsIDUsIDc1LCAxOTYsIDExNiwgNSwgMjM1LCAyMywgMTk2LCAxMTYsIDUsIDE5MywgMTk2LCAKLSAgICAxMTYsIDUsIDE1NiwgMTk2LCAxMTYsIDUsIDIzMCwgMjUsIDE5NiwgMTE2LCA1LCAyMjYsIDEwNSwgMTk2LCAxMTYsIDUsIAotICAgIDE1MywgMTk2LCAxMTYsIDUsIDIxNywgMTUyLCAxOTYsIDExNiwgNSwgMjI3LCAxNDIsIDE5NiwgMTE2LCA1LCAyMzQsIDIzMCwgCi0gICAgMTk2LCA1LCAyMjMsIDE1MCwgMTk2LCA1LCAyMjcsIDIwNSwgMTk2LCAyMjQsIDE0MSwgMjE3LCAxMDMsIDE5NiwgMjI0LCAKLSAgICAxNDEsIDIyNywgMTUyLCAyMTYsIDEyMCwgMjE3LCAxMDMsIDE5NiwgMjI0LCAxNDEsIDI1MCwgMTY0LCAxOTYsIDIyNCwgCi0gICAgMTQxLCAyMTUsIDE3MCwgMjUwLCAxNjQsIDE5NiwgMjI0LCAxNDEsIDIxNSwgMTY5LCAxOTYsIDIxLCAyMTAsIDg2LCAxOTYsIAorICAgIDIwNywgMjEsIDE5NCwgMjA3LCAyMSwgMTk4LCAyMDcsIDIxLCAxOTUsIDIwNywgMjEsIDIwMCwgMjA3LCAyNTMsIDE3NiwgCisgICAgMjA3LCAxLCAyMjMsIDUzLCAyMDcsIDEsIDIzMywgOCwgMjA3LCAxLCAyNTIsIDE5LCAyMDcsIDEsIDQwLCAyMzUsIDI0LCAKKyAgICAyMDcsIDEsIDQwLCAxOTMsIDI1MiwgMTIxLCAxLCA2MSwgMjUyLCAxMjEsIDEsIDIxOSwgMTY1LCA2MSwgMjUyLCAxMjEsIDEsIAorICAgIDE2MiwgMjUyLCAxMjEsIDEsIDIxOSwgMTY1LCAxNjIsIDI1MiwgMTIxLCAxLCAyMzEsIDE4MiwgMTYyLCAyNTIsIDEyMSwgMSwgCisgICAgMjUyLCAxOTIsIDI1MiwgMTIxLCAxLCAyMzQsIDIxMywgMjUyLCAxOTIsIDI1MiwgMTIxLCAxLCAxOTAsIDI1MiwgMTIxLCAxLCAKKyAgICAyMTksIDE2NSwgMTkwLCAyNTIsIDEyMSwgMSwgMTk3LCAyNTIsIDEyMSwgMSwgMjMxLCAxODIsIDE5NywgMjUyLCAxMjEsIDEsIAorICAgIDIxMiwgNjUsIDI1MiwgMTIxLCAxLCAyMTksIDE2NSwgMjEyLCA2NSwgMjUyLCAxMjEsIDEsIDIyNiwgNjgsIDIxMiwgNjUsIAorICAgIDI1MiwgMTIxLCAxLCAyNDMsIDEzNiwgMjUyLCAxMjEsIDEsIDIxOSwgMTY1LCAyNDMsIDEzNiwgMjUyLCAxMjEsIDEsIDIzNSwgCisgICAgMTQyLCAyNTIsIDEyMSwgMSwgMjQ4LCAyMjIsIDI1MiwgMTIxLCAxLCAyMDUsIDI1MiwgMTIxLCAxLCAyMTksIDE2NSwgMjA1LCAKKyAgICAyNTIsIDEyMSwgMSwgMTg1LCAyNTIsIDEyMSwgMSwgMjE5LCAxNjUsIDE4NSwgMjUyLCAxMjEsIDEsIDIxOSwgMjcsIDIxNywgCisgICAgMTA2LCAyNTIsIDEyMSwgMSwgMjI4LCA1NiwgMjE3LCAxMDYsIDI1MiwgMTIxLCAxLCAyMDYsIDI1MiwgMTIxLCAxLCAyMTksIAorICAgIDE2NSwgMjA2LCAyNTIsIDEyMSwgMSwgMjMxLCAxODIsIDIwNiwgMjUyLCAxMjEsIDEsIDE5MSwgMjUyLCAxMjEsIDEsIDIxOSwgCisgICAgMTY1LCAxOTEsIDI1MiwgMTIxLCAxLCAyMjksIDc4LCAyNTIsIDEyMSwgMSwgMjMzLCAxMzYsIDI1MiwgMTIxLCAxLCAyMTksIAorICAgIDE2NSwgMjMzLCAxMzYsIDI1MiwgMTIxLCAxLCAyMjcsIDE2NiwgMjUyLCAxMjEsIDEsIDI1MSwgMzQsIDI1MiwgMTIxLCAxLCAKKyAgICAyMjksIDE0OSwgMjUyLCAxMjEsIDEsIDIzMSwgMTI1LCAyNTIsIDEyMSwgMSwgNzMsIDI1MiwgMTIxLCAxLCA3MCwgMjUyLCAKKyAgICAxMjEsIDUsIDIxNiwgMzQsIDI1MiwgMTIxLCAyNSwgNSwgNzUsIDI1MiwgMTIxLCAyNSwgNSwgMjI2LCA2OCwgNzUsIDI1MiwgCisgICAgMTIxLCAyNSwgNSwgMjQ1LCAyMTAsIDI1MiwgMTIxLCAyNSwgNSwgNzMsIDI1MiwgMTIxLCAyNSwgNSwgMjM0LCAyMTMsIDczLCAKKyAgICAyNTIsIDEyMSwgMjUsIDUsIDc2LCAyNTIsIDEyMSwgMjUsIDUsIDIzNCwgMjEzLCA3NiwgMjUyLCAxMjEsIDI1LCA1LCA3MCwgCisgICAgMjUyLCAxMjEsIDI1LCA1LCAxMDQsIDMxLCAyMTksIDE2NSwgMjA2LCAyNTIsIDEyMSwgMTE2LCA1LCAyMjksIDgwLCAyNTIsIAorICAgIDEyMSwgMTE2LCA1LCAyNDIsIDYxLCAyNTIsIDEyMSwgMjI2LCAzOCwgMjUyLCAxMjEsIDIyNiwgMzQsIDI1MiwgMTIxLCAxNiwgCisgICAgMjUxLCAyNDIsIDIyOSwgMjMwLCAyMzEsIDM4LCAyNTIsIDEyMSwgMTYsIDI1MSwgMjQyLCAyMjUsIDY1LCAyNTIsIDEyMSwgCisgICAgMTYsIDI1MSwgMjQyLCAyMzUsIDQ5LCAyNTIsIDEyMSwgMTYsIDI1MSwgMjQyLCAyMjYsIDM4LCAxOTYsIDEsIDE3NiwgMTk2LCAKKyAgICAxLCAyMzQsIDQwLCAxOTYsIDEsIDIzNCwgMTMzLCAxOTYsIDEsIDI0MywgMTM2LCAxOTYsIDEsIDI0MiwgMTg3LCAxOTYsIDEsIAorICAgIDIyOSwgNzgsIDE5NiwgMSwgMjUxLCAzNCwgMTk2LCAxLCAyNTAsIDE1OCwgMTk2LCAxLCAyMzUsIDE0MiwgMTk2LCAxLCAKKyAgICAyMjcsIDE2NiwgMTk2LCAxLCAyMTcsIDEwNiwgMTk2LCAxLCAyMTYsIDIwOSwgMTk2LCAxLCAyNDgsIDIyMiwgMTk2LCAxLCAKKyAgICAxOTcsIDE5NiwgMSwgMTkwLCAxOTYsIDEsIDIyNSwgNDMsIDE5NiwgMSwgMjI1LCAxNDgsIDE5NiwgMSwgMjQ0LCAxOTcsIAorICAgIDE5NiwgMSwgMjQ0LCA3NiwgMTk2LCAxLCAyNTIsIDE5MiwgMTk2LCAxLCAyNTEsIDIyMywgMTk2LCAxLCAxODUsIDE5NiwgMSwgCisgICAgMjMwLCAxNjksIDE5NiwgMSwgMjE1LCAxODQsIDE5NiwgMSwgMjE1LCAxNzYsIDE5NiwgMSwgMjQ2LCAzOSwgMTk2LCAxLCAKKyAgICAxOTEsIDE5NiwgMSwgMjA1LCAxOTYsIDEsIDIzMywgMTM2LCAxOTYsIDEsIDE2MiwgMTk2LCAxLCAyNDEsIDE1NCwgMTk2LCAKKyAgICAxLCAyMTQsIDI3LCAxOTYsIDEsIDIwNiwgMTk2LCAxLCAyMjAsIDEwMywgMTk2LCAxLCAyMTIsIDY1LCAxOTYsIDEsIDYxLCAKKyAgICAxOTYsIDIxOCwgNzQsIDEsIDE5MSwgMTk2LCAyMTgsIDc0LCAxLCAyMDUsIDE5NiwgMjUsIDUsIDI1NSwgNzQsIDE5NiwgMjUsIAorICAgIDUsIDczLCAxOTYsIDI1LCA1LCA3NiwgMTk2LCAyNSwgNSwgMjI2LCAxODQsIDE5NiwgMjUsIDUsIDcwLCAxOTYsIDI1LCA1LCAKKyAgICAyMTQsIDExOCwgMTk2LCAyNSwgNSwgNzUsIDE5NiwgMTE2LCA1LCAyMzUsIDI0LCAxOTYsIDExNiwgNSwgMTkzLCAxOTYsIAorICAgIDExNiwgNSwgMTU2LCAxOTYsIDExNiwgNSwgMjMwLCAyNiwgMTk2LCAxMTYsIDUsIDIyNiwgMTA2LCAxOTYsIDExNiwgNSwgCisgICAgMTUzLCAxOTYsIDExNiwgNSwgMjE3LCAxNTMsIDE5NiwgMTE2LCA1LCAyMjcsIDE0MywgMTk2LCAxMTYsIDUsIDIzNCwgMjMxLCAKKyAgICAxOTYsIDUsIDIyMywgMTUxLCAxOTYsIDUsIDIyNywgMjA2LCAxOTYsIDIyNCwgMTQyLCAyMTcsIDEwNCwgMTk2LCAyMjQsIAorICAgIDE0MiwgMjI3LCAxNTMsIDIxNiwgMTIxLCAyMTcsIDEwNCwgMTk2LCAyMjQsIDE0MiwgMjUwLCAxNjUsIDE5NiwgMjI0LCAKKyAgICAxNDIsIDIxNSwgMTcxLCAyNTAsIDE2NSwgMTk2LCAyMjQsIDE0MiwgMjE1LCAxNzAsIDE5NiwgMjEsIDIxMCwgODYsIDE5NiwgCiAgICAgMjEsIDExMCwgMTk2LCAyMSwgMTA1LCAxOTYsIDIxLCAxNTgsIDE5NiwgMjEsIDE2MSwgMTk2LCAyMSwgMTg5LCAxOTYsIDIxLCAKLSAgICAxOTQsIDE5NiwgMjEsIDE5OCwgMTk2LCAyMSwgMTk1LCAxOTYsIDIxLCAyMDAsIDE5NiwgMSwgMjE1LCAxNTYsIDE5NiwgMSwgCi0gICAgMjE1LCAxNDQsIDE5NiwgMSwgMjQ4LCAxMzUsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjEsIDIxMCwgODYsIDIyNiwgMjEwLCAKLSAgICAyNTAsIDEwMywgMjEsIDExMCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMSwgMTA1LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDIxLCAKLSAgICAxNTgsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjEsIDE2MSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMSwgMTg5LCAyMjYsIDIxMCwgCi0gICAgMjUwLCAxMDMsIDIxLCAxOTQsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjEsIDE5OCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMSwgCi0gICAgMTk1LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDIxLCAyMDAsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjMzLCAxMzUsIDIyNiwgCi0gICAgMjEwLCAyNTAsIDEwMywgMSwgMjUzLCAyMDYsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjU0LCAyMTYsIDIyNiwgMjEwLCAKLSAgICAyNTAsIDEwMywgMSwgMjU0LCAxMTUsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjU0LCAxNzgsIDIyNiwgMjEwLCAyNTAsIAotICAgIDEwMywgMSwgMjMzLCAxMzQsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjU1LCAzNSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAKLSAgICAyNTUsIDM2LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDI1NSwgMzQsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjU1LCAyOSwgCi0gICAgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyMzIsIDI0MSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyMzUsIDE3MSwgMjI2LCAKLSAgICAyMTAsIDI1MCwgMTAzLCAxLCAyMzYsIDM0LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDIzNSwgMTkwLCAyMjYsIDIxMCwgCi0gICAgMjUwLCAxMDMsIDEsIDIzNSwgMTc5LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDIzMiwgOTgsIDIyNiwgMjEwLCAyNTAsIAotICAgIDEwMywgMSwgMjE0LCAyMjEsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjE0LCAyMTksIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgCi0gICAgMjE0LCAxNjgsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjE0LCAxMTEsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjMzLCAKLSAgICA1OCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNDUsIDEwOCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNDUsIDIxMiwgCi0gICAgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNDUsIDE1MCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNDUsIDg2LCAyMjYsIAotICAgIDIxMCwgMjUwLCAxMDMsIDEsIDIzMiwgMTU2LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDIyNiwgMTM3LCAyMjYsIDIxMCwgCi0gICAgMjUwLCAxMDMsIDEsIDIyNiwgMjUyLCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDIyNiwgMTI1LCAyMjYsIDIxMCwgMjUwLCAKLSAgICAxMDMsIDEsIDIyNiwgMjIyLCAyMjYsIDIxMCwgMjUwLCAxMDMsIDIzMCwgMTAzLCAyMTUsIDEyMSwgMjI2LCAyMTAsIDI1MCwgCi0gICAgMTAzLCAyNDMsIDEzMCwgMjE1LCAxMjIsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjMwLCAxMDEsIDIxNSwgMTIyLCAyMjYsIAotICAgIDIxMCwgMjUwLCAxMDMsIDIyMywgOTIsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjI1LCAxNDUsIDIyNiwgMjEwLCAyNTAsIDEwMywgCi0gICAgMjU0LCAyMDgsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjI0LCAxNDEsIDIzMCwgOTgsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjI0LCAKLSAgICAxNDEsIDUyLCAyMzAsIDk4LCAyMDcsIDIyNCwgMTQxLCAyNTEsIDI0MSwgMjE4LCA4LCAyMDcsIDIyNCwgMTQxLCAyNTEsIAotICAgIDI0MSwgMjI2LCAzOCwgMjA3LCAyMjQsIDE0MSwgMjUxLCAyNDEsIDIyNCwgMTI5LCAyMDcsIDIyNCwgMTQxLCAyNTEsIDI0MSwgCi0gICAgMjUxLCAxOSwgMjA3LCAyMjQsIDE0MSwgMjUxLCAyNDEsIDIzMywgOCwgMjIxLCAyMjUsIDIwNywgMjI0LCAxNDEsIDI1MSwgCi0gICAgMjQxLCAyMzUsIDEzLCAyMjEsIDIyNSwgMjA3LCAyMjQsIDE0MSwgMjUxLCAyNDEsIDI0OCwgMjIyLCAyMjEsIDIyNSwgMjA3LCAKLSAgICAyMjQsIDE0MSwgMjUxLCAyNDEsIDI1MiwgMTkyLCAyMjEsIDIyNSwgMjEzLCAyNTIsIDEzOCwgMjM0LCAyMTAsIDIxMywgCi0gICAgMjUyLCAxMzgsIDIyMCwgNzcsIDIxMywgMjUyLCAxMzgsIDIyNCwgMTk4LCAyMTMsIDI1MiwgNSwgMjI4LCAyMDksIDIxMywgCi0gICAgMjUyLCA1LCAyMTEsIDgwLCAyMzAsIDIyMiwgMjE4LCAwLCAyMTMsIDI1MiwgMTM4LCAyMTEsIDgwLCAyNTQsIDIxMywgMjM1LCAKLSAgICAyNDMsIDIxOCwgMCwgMjEzLCAyNTIsIDEzOCwgMjExLCA4MCwgMjM1LCAyNDMsIDIxOCwgMCwgMjEzLCAyNTIsIDEzOCwgCi0gICAgMjExLCA4MCwgMjM0LCAxOTgsIDIzNSwgMjQzLCAyMTgsIDAsIDIxMywgMjUyLCAxMzgsIDI1MSwgMiwgNTEsIDIxMywgMjUyLCAKLSAgICAxMzgsIDIxMSwgODAsIDIzNCwgMTk4LCAyMzUsIDI0MywgMjE4LCAxLCAyMjEsIDE5NywgMjEzLCAyNTIsIDEzOCwgNTIsIAotICAgIDIxOCwgMCwgMjEzLCAyNTIsIDEzOCwgMjE1LCAyMTEsIDIxOCwgMCwgMjEzLCAyNTIsIDEzOCwgMjM0LCAxOTgsIDI1NCwgCi0gICAgNzcsIDIxMywgMjUyLCAxMzgsIDU5LCA1MSwgMjEzLCAyNTIsIDEzOCwgMTEzLCAxNzAsIDUxLCAyMTMsIDI1MiwgMTM4LCAKLSAgICAxMzQsIDE3MCwgNTEsIDIxMywgMjUyLCAxMzgsIDIyMiwgMjQwLCAyMzQsIDIwOSwgMjM1LCAyNDMsIDIxOCwgMCwgMjEzLCAKLSAgICAyNTIsIDEzOCwgMjUzLCAyMDQsIDIzNSwgMjQzLCAyMTgsIDAsIDIxMywgMjUyLCA1LCAyMTMsIDE0OCwgMjE4LCAwLCAyMTMsIAotICAgIDI1MiwgNSwgMjEzLCAxNDgsIDIxNCwgMjE2LCAyMTMsIDI1MiwgNSwgMjIzLCA0OSwgMjEzLCAxNDgsIDIxNCwgMjE2LCAKLSAgICAyMTMsIDI1MiwgNSwgMjEzLCAxNDgsIDI1NCwgNzcsIDIxMywgMjUyLCA1LCAyMjMsIDQ5LCAyMTMsIDE0OCwgMjU0LCA3NywgCi0gICAgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyMTQsIDIxNywgMiwgMjE3LCA3NywgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyNTQsIAotICAgIDc4LCAyLCAyMTcsIDc3LCAyMTMsIDI1MiwgNSwgMjU0LCA3NiwgMjU0LCA5MSwgMjEzLCAyNTIsIDUsIDI1NCwgNzYsIDI1MiwgCi0gICAgMTY2LCAyMTMsIDI1MiwgNSwgMjU0LCA3NiwgMjE0LCAyMCwgMjEzLCAyNTIsIDUsIDI1NCwgNzYsIDIxNCwgMjEsIDIsIAotICAgIDIxNywgNzcsIDIxMywgMjUyLCA1LCAyMTYsIDY4LCAyMTMsIDI1MiwgNSwgMjQxLCAxOTEsIDE5OSwgMjU0LCA3NSwgMjEzLCAKLSAgICAyNTIsIDUsIDE5OSwgMjU0LCA3NSwgMjEzLCAyNTIsIDUsIDIyMiwgMTQyLCAxOTksIDI1NCwgNzUsIDIxMywgMjUyLCA1LCAKLSAgICAyNTQsIDc2LCAyMTQsIDIyMywgMjMwLCA5MCwgMjEzLCAyNTIsIDUsIDI1NCwgMjAsIDIxMywgMjUyLCA1LCAyMjIsIDE4NywgCi0gICAgMjU0LCAyMCwgMjEzLCAyNTIsIDEzOCwgMjUxLCAyLCA0OCwgMjEzLCAyNTIsIDUsIDIzNSwgMTAyLCAyMTMsIDI1MiwgNSwgCi0gICAgMjE0LCAxNjEsIDcsIDEsIDQsIDYsIDYxLCA3LCAxLCA0LCA2LCAyNTQsIDI0MywgNywgNCwgMSwgMjE1LCA5NCwgMjU0LCAKLSAgICAyNDMsIDcsIDEsIDQsIDYsIDI1MiwgMTM0LCAyNTMsIDE1OCwgNywgMSwgNCwgNiwgMjUxLCA2NiwgNywgMSwgNCwgNiwgCi0gICAgMjQ5LCA2MCwgNywgMSwgNCwgNiwgMjQ1LCA1OSwgNywgMSwgNCwgNiwgNzUsIDcsIDQsIDEsIDIxNSwgOTQsIDIwNCwgNzUsIAotICAgIDcsIDQsIDEsIDIxNSwgOTQsIDczLCA3LCAxLCA0LCA2LCAyMzUsIDE0NCwgNywgMSwgNCwgNiwgMjM1LCAyMywgNywgMSwgNCwgCi0gICAgNiwgMjMzLCAxNDksIDIsIDkxLCA3LCAxLCA0LCA2LCAxOTMsIDcsIDEsIDQsIDYsIDIyMywgNDksIDIzMCwgMjUsIDcsIDEsIAotICAgIDQsIDYsIDc2LCA3LCAxLCA0LCA2LCAyMDQsIDc2LCA3LCA0LCAxLCAyMTksIDE4NywgNzYsIDcsIDQsIDEsIDIxOSwgMTg3LCAKLSAgICAyMDQsIDc2LCA3LCA0LCAxLCAyMTksIDE4NywgMTQ0LCAyLCA5MSwgNywgNCwgMSwgMjE1LCA5NCwgMjI2LCAyMzQsIDcsIDEsIAotICAgIDQsIDYsIDIyNiwgMTM0LCA3LCA0LCAxLCAyMTYsIDE0LCAxNjMsIDc2LCA3LCA0LCAxLCAyNTEsIDE3NSwgMTYzLCA3NiwgNywgCi0gICAgMSwgNCwgNiwgMjI2LCAxMDUsIDcsIDEsIDQsIDYsIDIyMywgNDksIDE1MywgNywgMSwgNCwgNiwgMjE1LCA5NCwgMTUzLCA3LCAKLSAgICAxLCA0LCA2LCAyMTcsIDE1MiwgNywgMSwgNCwgNiwgNzAsIDcsIDQsIDEsIDIxOSwgMTg3LCA3MCwgNywgNCwgMSwgMjE5LCAKLSAgICAxODcsIDI0OCwgMCwgNzAsIDcsIDQsIDEsIDIxOSwgMTg3LCAyMTUsIDk0LCAxOTMsIDcsIDEsIDQsIDYsIDIxNCwgMTA1LCAKLSAgICA3LCAxLCA0LCA2LCAyMTIsIDk4LCA3LCAxLCA0LCA2LCAyMTAsIDE1OSwgNywgMSwgNCwgNiwgMjQ1LCA4LCA3LCAxLCAyMTMsIAotICAgIDEzNSwgMjMzLCA4MiwgMjE4LCAyNTAsIDcsIDEsIDI1NCwgMTk2LCAyNiwgMSwgNCwgNiwgMjQzLCAxMDcsIDI2LCAxLCA0LCAKLSAgICA2LCAyMzMsIDk4LCAyNiwgMSwgNCwgNiwgMjI1LCAxMDgsIDI2LCAxLCA0LCA2LCAyMjMsIDM3LCAyNiwgMSwgNCwgNiwgCi0gICAgMjI0LCAxNjEsIDMzLCAxLCA0LCA2LCAyNDUsIDE3NCwgNTgsIDEsIDYsIDYxLCA1OCwgMSwgNiwgMjU0LCAyNDMsIDU4LCAxLCAKLSAgICA2LCAyNTMsIDE1OCwgNTgsIDEsIDYsIDI1MiwgMTM0LCAyNTMsIDE1OCwgNTgsIDEsIDYsIDI0OSwgNjAsIDU4LCAxLCA2LCAKLSAgICA3NSwgNTgsIDEsIDYsIDIyMywgNDksIDc1LCA1OCwgMSwgNiwgMjQzLCAyMDIsIDU4LCAxLCA2LCAyNDIsIDYwLCA1OCwgMSwgCi0gICAgNiwgNzMsIDU4LCAxLCA2LCAyMzUsIDE0NCwgNTgsIDEsIDYsIDIzNSwgMjMsIDU4LCAxLCA2LCAxNTYsIDU4LCAxLCA2LCAKLSAgICAxOTMsIDU4LCAxLCA2LCAyMzAsIDI1LCA1OCwgMSwgNiwgMjIzLCA0OSwgMjMwLCAyNSwgNTgsIDEsIDYsIDc2LCA1OCwgMSwgCi0gICAgNiwgMjI2LCAxMzQsIDU4LCAxLCA2LCAyMjYsIDEwNSwgNTgsIDEsIDYsIDE1MywgNTgsIDEsIDYsIDIxNywgMTUyLCA1OCwgCisgICAgMTk0LCAxOTYsIDIxLCAxOTgsIDE5NiwgMjEsIDE5NSwgMTk2LCAyMSwgMjAwLCAxOTYsIDEsIDIxNSwgMTU3LCAxOTYsIDEsIAorICAgIDIxNSwgMTQ1LCAxOTYsIDEsIDI0OCwgMTM2LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIxLCAyMTAsIDg2LCAyMjYsIDIxMSwgCisgICAgMjUwLCAxMDQsIDIxLCAxMTAsIDIyNiwgMjExLCAyNTAsIDEwNCwgMjEsIDEwNSwgMjI2LCAyMTEsIDI1MCwgMTA0LCAyMSwgCisgICAgMTU4LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIxLCAxNjEsIDIyNiwgMjExLCAyNTAsIDEwNCwgMjEsIDE4OSwgMjI2LCAyMTEsIAorICAgIDI1MCwgMTA0LCAyMSwgMTk0LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIxLCAxOTgsIDIyNiwgMjExLCAyNTAsIDEwNCwgMjEsIAorICAgIDE5NSwgMjI2LCAyMTEsIDI1MCwgMTA0LCAyMSwgMjAwLCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDIzMywgMTM2LCAyMjYsIAorICAgIDIxMSwgMjUwLCAxMDQsIDEsIDI1MywgMjA3LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDI1NCwgMjE3LCAyMjYsIDIxMSwgCisgICAgMjUwLCAxMDQsIDEsIDI1NCwgMTE2LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDI1NCwgMTc5LCAyMjYsIDIxMSwgMjUwLCAKKyAgICAxMDQsIDEsIDIzMywgMTM1LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDI1NSwgMzYsIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgCisgICAgMjU1LCAzNywgMjI2LCAyMTEsIDI1MCwgMTA0LCAxLCAyNTUsIDM1LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDI1NSwgMzAsIAorICAgIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgMjMyLCAyNDIsIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgMjM1LCAxNzIsIDIyNiwgCisgICAgMjExLCAyNTAsIDEwNCwgMSwgMjM2LCAzNSwgMjI2LCAyMTEsIDI1MCwgMTA0LCAxLCAyMzUsIDE5MSwgMjI2LCAyMTEsIAorICAgIDI1MCwgMTA0LCAxLCAyMzUsIDE4MCwgMjI2LCAyMTEsIDI1MCwgMTA0LCAxLCAyMzIsIDk5LCAyMjYsIDIxMSwgMjUwLCAKKyAgICAxMDQsIDEsIDIxNCwgMjIxLCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDIxNCwgMjE5LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIAorICAgIDIxNCwgMTY4LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDIxNCwgMTExLCAyMjYsIDIxMSwgMjUwLCAxMDQsIDEsIDIzMywgCisgICAgNTksIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgMjQ1LCAxMDksIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgMjQ1LCAyMTMsIAorICAgIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgMjQ1LCAxNTEsIDIyNiwgMjExLCAyNTAsIDEwNCwgMSwgMjQ1LCA4NywgMjI2LCAKKyAgICAyMTEsIDI1MCwgMTA0LCAxLCAyMzIsIDE1NywgMjI2LCAyMTEsIDI1MCwgMTA0LCAxLCAyMjYsIDEzOCwgMjI2LCAyMTEsIAorICAgIDI1MCwgMTA0LCAxLCAyMjYsIDI1MywgMjI2LCAyMTEsIDI1MCwgMTA0LCAxLCAyMjYsIDEyNiwgMjI2LCAyMTEsIDI1MCwgCisgICAgMTA0LCAxLCAyMjYsIDIyMywgMjI2LCAyMTEsIDI1MCwgMTA0LCAyMzAsIDEwNCwgMjE1LCAxMjIsIDIyNiwgMjExLCAyNTAsIAorICAgIDEwNCwgMjQzLCAxMzEsIDIxNSwgMTIzLCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIzMCwgMTAyLCAyMTUsIDEyMywgMjI2LCAKKyAgICAyMTEsIDI1MCwgMTA0LCAyMjMsIDkzLCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIyNSwgMTQ2LCAyMjYsIDIxMSwgMjUwLCAxMDQsIAorICAgIDI1NCwgMjA5LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIyNCwgMTQyLCAyMzAsIDk5LCAyMjYsIDIxMSwgMjUwLCAxMDQsIDIyNCwgCisgICAgMTQyLCA1MiwgMjMwLCA5OSwgMjA3LCAyMjQsIDE0MiwgMjUxLCAyNDIsIDIxOCwgOSwgMjA3LCAyMjQsIDE0MiwgMjUxLCAKKyAgICAyNDIsIDIyNiwgMzksIDIwNywgMjI0LCAxNDIsIDI1MSwgMjQyLCAyMjQsIDEzMCwgMjA3LCAyMjQsIDE0MiwgMjUxLCAyNDIsIAorICAgIDI1MSwgMjAsIDIwNywgMjI0LCAxNDIsIDI1MSwgMjQyLCAyMzMsIDksIDIyMSwgMjI2LCAyMDcsIDIyNCwgMTQyLCAyNTEsIAorICAgIDI0MiwgMjM1LCAxNCwgMjIxLCAyMjYsIDIwNywgMjI0LCAxNDIsIDI1MSwgMjQyLCAyNDgsIDIyMywgMjIxLCAyMjYsIDIwNywgCisgICAgMjI0LCAxNDIsIDI1MSwgMjQyLCAyNTIsIDE5MywgMjIxLCAyMjYsIDIxMywgMjUyLCAxMzgsIDIzNCwgMjExLCAyMTMsIAorICAgIDI1MiwgMTM4LCAyMjAsIDc4LCAyMTMsIDI1MiwgMTM4LCAyMjQsIDE5OSwgMjEzLCAyNTIsIDUsIDIyOCwgMjEwLCAyMTMsIAorICAgIDI1MiwgNSwgMjExLCA4MCwgMjMwLCAyMjMsIDIxOCwgMSwgMjEzLCAyNTIsIDEzOCwgMjExLCA4MCwgMjU0LCAyMTQsIDIzNSwgCisgICAgMjQ0LCAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIDIxMSwgODAsIDIzNSwgMjQ0LCAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIAorICAgIDIxMSwgODAsIDIzNCwgMTk5LCAyMzUsIDI0NCwgMjE4LCAxLCAyMTMsIDI1MiwgMTM4LCAyNTEsIDMsIDUxLCAyMTMsIDI1MiwgCisgICAgMTM4LCAyMTEsIDgwLCAyMzQsIDE5OSwgMjM1LCAyNDQsIDIxOCwgMiwgMjIxLCAxOTgsIDIxMywgMjUyLCAxMzgsIDUyLCAKKyAgICAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIDIxNSwgMjEyLCAyMTgsIDEsIDIxMywgMjUyLCAxMzgsIDIzNCwgMTk5LCAyNTQsIAorICAgIDc4LCAyMTMsIDI1MiwgMTM4LCA1OSwgNTEsIDIxMywgMjUyLCAxMzgsIDExMywgMTcwLCA1MSwgMjEzLCAyNTIsIDEzOCwgCisgICAgMTM0LCAxNzAsIDUxLCAyMTMsIDI1MiwgMTM4LCAyMjIsIDI0MSwgMjM0LCAyMTAsIDIzNSwgMjQ0LCAyMTgsIDEsIDIxMywgCisgICAgMjUyLCAxMzgsIDI1MywgMjA1LCAyMzUsIDI0NCwgMjE4LCAxLCAyMTMsIDI1MiwgNSwgMjEzLCAxNDgsIDIxOCwgMSwgMjEzLCAKKyAgICAyNTIsIDUsIDIxMywgMTQ4LCAyMTQsIDIxNiwgMjEzLCAyNTIsIDUsIDIyMywgNTAsIDIxMywgMTQ4LCAyMTQsIDIxNiwgCisgICAgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyNTQsIDc4LCAyMTMsIDI1MiwgNSwgMjIzLCA1MCwgMjEzLCAxNDgsIDI1NCwgNzgsIAorICAgIDIxMywgMjUyLCA1LCAyMTMsIDE0OCwgMjE0LCAyMTcsIDIsIDIxNywgNzgsIDIxMywgMjUyLCA1LCAyMTMsIDE0OCwgMjU0LCAKKyAgICA3OSwgMiwgMjE3LCA3OCwgMjEzLCAyNTIsIDUsIDI1NCwgNzcsIDI1NCwgOTIsIDIxMywgMjUyLCA1LCAyNTQsIDc3LCAyNTIsIAorICAgIDE2NywgMjEzLCAyNTIsIDUsIDI1NCwgNzcsIDIxNCwgMjAsIDIxMywgMjUyLCA1LCAyNTQsIDc3LCAyMTQsIDIxLCAyLCAKKyAgICAyMTcsIDc4LCAyMTMsIDI1MiwgNSwgMjE2LCA2OSwgMjEzLCAyNTIsIDUsIDI0MSwgMTkyLCAxOTksIDI1NCwgNzYsIDIxMywgCisgICAgMjUyLCA1LCAxOTksIDI1NCwgNzYsIDIxMywgMjUyLCA1LCAyMjIsIDE0MywgMTk5LCAyNTQsIDc2LCAyMTMsIDI1MiwgNSwgCisgICAgMjU0LCA3NywgMjE0LCAyMjMsIDIzMCwgOTEsIDIxMywgMjUyLCA1LCAyNTQsIDIxLCAyMTMsIDI1MiwgNSwgMjIyLCAxODgsIAorICAgIDI1NCwgMjEsIDIxMywgMjUyLCAxMzgsIDI1MSwgMywgNDgsIDIxMywgMjUyLCA1LCAyMzUsIDEwMywgMjEzLCAyNTIsIDUsIAorICAgIDIxNCwgMTYxLCA3LCAxLCA0LCA2LCA2MSwgNywgMSwgNCwgNiwgMjU0LCAyNDQsIDcsIDQsIDEsIDIxNSwgOTQsIDI1NCwgCisgICAgMjQ0LCA3LCAxLCA0LCA2LCAyNTIsIDEzNSwgMjUzLCAxNTksIDcsIDEsIDQsIDYsIDI1MSwgNjcsIDcsIDEsIDQsIDYsIAorICAgIDI0OSwgNjEsIDcsIDEsIDQsIDYsIDI0NSwgNjAsIDcsIDEsIDQsIDYsIDc1LCA3LCA0LCAxLCAyMTUsIDk0LCAyMDQsIDc1LCAKKyAgICA3LCA0LCAxLCAyMTUsIDk0LCA3MywgNywgMSwgNCwgNiwgMjM1LCAxNDUsIDcsIDEsIDQsIDYsIDIzNSwgMjQsIDcsIDEsIDQsIAorICAgIDYsIDIzMywgMTUwLCAyLCA5MSwgNywgMSwgNCwgNiwgMTkzLCA3LCAxLCA0LCA2LCAyMjMsIDUwLCAyMzAsIDI2LCA3LCAxLCAKKyAgICA0LCA2LCA3NiwgNywgMSwgNCwgNiwgMjA0LCA3NiwgNywgNCwgMSwgMjE5LCAxODgsIDc2LCA3LCA0LCAxLCAyMTksIDE4OCwgCisgICAgMjA0LCA3NiwgNywgNCwgMSwgMjE5LCAxODgsIDE0NCwgMiwgOTEsIDcsIDQsIDEsIDIxNSwgOTQsIDIyNiwgMjM1LCA3LCAxLCAKKyAgICA0LCA2LCAyMjYsIDEzNSwgNywgNCwgMSwgMjE2LCAxNSwgMTYzLCA3NiwgNywgNCwgMSwgMjUxLCAxNzYsIDE2MywgNzYsIDcsIAorICAgIDEsIDQsIDYsIDIyNiwgMTA2LCA3LCAxLCA0LCA2LCAyMjMsIDUwLCAxNTMsIDcsIDEsIDQsIDYsIDIxNSwgOTQsIDE1MywgNywgCisgICAgMSwgNCwgNiwgMjE3LCAxNTMsIDcsIDEsIDQsIDYsIDcwLCA3LCA0LCAxLCAyMTksIDE4OCwgNzAsIDcsIDQsIDEsIDIxOSwgCisgICAgMTg4LCAyNDgsIDEsIDcwLCA3LCA0LCAxLCAyMTksIDE4OCwgMjE1LCA5NCwgMTkzLCA3LCAxLCA0LCA2LCAyMTQsIDEwNSwgCisgICAgNywgMSwgNCwgNiwgMjEyLCA5OCwgNywgMSwgNCwgNiwgMjEwLCAxNTksIDcsIDEsIDQsIDYsIDI0NSwgOSwgNywgMSwgMjEzLCAKKyAgICAxMzUsIDIzMywgODMsIDIxOCwgMjUxLCA3LCAxLCAyNTQsIDE5NywgMjYsIDEsIDQsIDYsIDI0MywgMTA4LCAyNiwgMSwgNCwgCisgICAgNiwgMjMzLCA5OSwgMjYsIDEsIDQsIDYsIDIyNSwgMTA5LCAyNiwgMSwgNCwgNiwgMjIzLCAzOCwgMjYsIDEsIDQsIDYsIAorICAgIDIyNCwgMTYyLCAzMywgMSwgNCwgNiwgMjQ1LCAxNzUsIDU4LCAxLCA2LCA2MSwgNTgsIDEsIDYsIDI1NCwgMjQ0LCA1OCwgMSwgCisgICAgNiwgMjUzLCAxNTksIDU4LCAxLCA2LCAyNTIsIDEzNSwgMjUzLCAxNTksIDU4LCAxLCA2LCAyNDksIDYxLCA1OCwgMSwgNiwgCisgICAgNzUsIDU4LCAxLCA2LCAyMjMsIDUwLCA3NSwgNTgsIDEsIDYsIDI0MywgMjAzLCA1OCwgMSwgNiwgMjQyLCA2MSwgNTgsIDEsIAorICAgIDYsIDczLCA1OCwgMSwgNiwgMjM1LCAxNDUsIDU4LCAxLCA2LCAyMzUsIDI0LCA1OCwgMSwgNiwgMTU2LCA1OCwgMSwgNiwgCisgICAgMTkzLCA1OCwgMSwgNiwgMjMwLCAyNiwgNTgsIDEsIDYsIDIyMywgNTAsIDIzMCwgMjYsIDU4LCAxLCA2LCA3NiwgNTgsIDEsIAorICAgIDYsIDIyNiwgMTM1LCA1OCwgMSwgNiwgMjI2LCAxMDYsIDU4LCAxLCA2LCAxNTMsIDU4LCAxLCA2LCAyMTcsIDE1MywgNTgsIAogICAgIDEsIDYsIDcwLCA1OCwgMSwgNiwgMjEyLCA5OCwgNTgsIDEsIDQsIDYxLCA1OCwgMSwgNCwgMjE1LCA5NCwgNjEsIDU4LCAxLCAKLSAgICA0LCAyNTQsIDE0MywgNTgsIDEsIDQsIDIxNSwgOTQsIDI1NCwgMjQzLCA1OCwgMSwgNCwgMjUzLCAxNTgsIDU4LCAxLCA0LCAKLSAgICAyNDksIDYwLCA1OCwgMSwgNCwgNzUsIDU4LCAxLCA0LCAyMjEsIDE5NSwgNTgsIDEsIDQsIDIwNCwgNzUsIDU4LCAxLCA0LCAKLSAgICAyMTUsIDk0LCAyMDQsIDc1LCA1OCwgMSwgNCwgMjQzLCAyMDIsIDU4LCAxLCA0LCAyMTUsIDk0LCA3MywgNTgsIDEsIDQsIAotICAgIDIzNSwgMjMsIDU4LCAxLCA0LCAxOTMsIDU4LCAxLCA0LCAyNDUsIDEzOCwgNTgsIDEsIDQsIDc2LCA1OCwgMSwgNCwgMjA0LCAKLSAgICA3NiwgNTgsIDEsIDQsIDIxNiwgMTQsIDE2MywgNzYsIDU4LCAxLCA0LCAyNTEsIDE3NSwgMTYzLCA3NiwgNTgsIDEsIDQsIAotICAgIDIyNiwgMTA1LCA1OCwgMSwgNCwgMjE3LCAxNTIsIDU4LCAxLCA0LCA3MCwgNTgsIDEsIDQsIDIxOSwgMTg3LCA3MCwgNTgsIAotICAgIDEsIDQsIDIxNSwgOTQsIDE5MywgNTgsIDEsIDQsIDIxNCwgMTA1LCA1OCwgMSwgNCwgMjU0LCAxOTYsIDU4LCAxLCA0LCAKLSAgICAyNTIsIDI2LCA1OCwgMSwgNCwgMjYsIDI0MywgMTA3LCA1OCwgMSwgNCwgMjQ4LCA1NCwgNTgsIDEsIDQsIDI2LCAyMjUsIAotICAgIDEzMywgNTgsIDEsIDQsIDI1MCwgMTEwLCA3LCAyMTgsIDY1LCA0LCAxLCA3MywgNywgMjE4LCA2NSwgNCwgMSwgMTUzLCA3LCAKLSAgICAyMTgsIDY1LCA0LCAxLCA3MCwgNywgMjE4LCA2NSwgNCwgMSwgMjE0LCAxMDUsIDI2LCAyMTgsIDY1LCA0LCAxLCAyNTIsIAotICAgIDI2LCAyNiwgMjE4LCA2NSwgNCwgMSwgMjQzLCAxMDcsIDI2LCAyMTgsIDY1LCA0LCAxLCAyMjMsIDM3LCAyNiwgMjE4LCA2NSwgCi0gICAgNCwgMSwgMjI1LCAxMzMsIDI2LCAyMTgsIDY1LCA0LCAxLCAyNTAsIDExMCwgNywgNCwgMSwgMjE0LCAyMTQsIDcsIDQsIDEsIAotICAgIDU3LCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyNDksIDYxLCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyNDUsIAotICAgIDcsIDIsIDIzMCwgMjI0LCAxODIsIDcsIDQsIDEsIDIzMiwgNTAsIDIsIDIzMCwgMjI0LCAxODIsIDcsIDQsIDEsIDIzMCwgCi0gICAgMjYsIDIsIDIzMCwgMjI0LCAxODIsIDcsIDQsIDEsIDIyNiwgMTA2LCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyMjMsIAotICAgIDIyNCwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDI0NCwgODgsIDIyLCAyMzAsIDIyNCwgMTgyLCAKLSAgICA3LCA0LCAxLCAyMjIsIDkyLCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgMjMwLCAyMjQsIDE4MiwgCi0gICAgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDIzMCwgMjI0LCAxODIsIDcsIDQsIDEsIDIxNSwgOTQsIDI0MywgMjAyLCA1OCwgMSwgCi0gICAgMzMsIDI0NSwgMTUwLCA3LCA0LCAxLCAyMzUsIDIxMywgMjQzLCAyMDIsIDcsIDQsIDEsIDIxNiwgMjExLCAyLCAyMTgsIAotICAgIDEwNywgNywgNCwgNiwgMSwgMjQwLCAxNTQsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDE4NiwgMiwgOTEsIDcsIDQsIDEsIDIyNiwgCi0gICAgMTA2LCAyLCA5MSwgNywgNCwgNiwgMSwgMTA0LCAyLCA5MSwgNywgNCwgMSwgMjE0LCAxNTgsIDIsIDkxLCA3LCA0LCAxLCAKLSAgICA1NywgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyNDksIDYxLCAyLCAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDI0NSwgNywgCi0gICAgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyNDMsIDIwMywgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAKLSAgICAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDIzMiwgNTAsIDIsIAotICAgIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjMwLCAyNiwgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgCi0gICAgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyMjIsIDkyLCAyLCAKLSAgICAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDI0NSwgNzYsIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjE0LCAxMDYsIDIsIAotICAgIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjExLCAxNzksIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIAotICAgIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMTE1LCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjMsIAotICAgIDU1LCAxMDMsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIDI0MSwgNTIsIDIyLCAyMTcsIDc3LCA3LCA0LCAxLCAxNjAsIDIsIDIyMywgCi0gICAgNTUsIDEwMywgNywgNCwgMSwgMjA0LCAxNjAsIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjIzLCA0OSwgMjA0LCAxNjAsIAotICAgIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjIxLCAxOTYsIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjQwLCAxNTQsIAotICAgIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjA0LCAxNDQsIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjQ1LCA3NiwgMiwgCi0gICAgMjIzLCA1NSwgMTAzLCA3LCA0LCAxLCAxMDQsIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjQ1LCA5LCAyLCAyMjMsIDU1LCAKLSAgICAxMDMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyNTQsIDE0MywgNTgsIDEsIDQsIDI1MSwgNjYsIDU4LCAxLCA0LCAyNTEsIDY3LCAKLSAgICAyLCAyNDksIDEwMCwgNTgsIDEsIDQsIDI0NSwgNTksIDU4LCAxLCA0LCAyMjMsIDQ5LCAyMDQsIDc1LCA1OCwgMSwgNCwgCi0gICAgMjQ1LCA2LCA1OCwgMSwgNCwgMjQ3LCAxMTksIDIzNSwgMTQ1LCAyLCA5MSwgNTgsIDEsIDQsIDExOSwgMjQzLCAyMDIsIDU4LCAKLSAgICAxLCA0LCAyMTUsIDk0LCAyNDIsIDYwLCA1OCwgMSwgNCwgMjQwLCAxNTQsIDIsIDkxLCA1OCwgMSwgNCwgMjM1LCAxODUsIAotICAgIDU4LCAxLCA0LCA2LCA3MywgNTgsIDEsIDQsIDYsIDI0MCwgMTU0LCAyLCA5MSwgNTgsIDEsIDQsIDIzNSwgMTQ1LCAyLCAKLSAgICAyNDksIDEyNywgNTgsIDEsIDQsIDIzMywgMTQ5LCAyLCAyMjMsIDU1LCAxMDMsIDU4LCAxLCA0LCAyMzMsIDE0OSwgMiwgCi0gICAgMjI2LCA2NiwgMTAzLCA1OCwgMSwgNCwgNiwgMTU2LCA1OCwgMSwgNCwgMjMyLCA1MCwgMiwgMTAzLCA1OCwgMSwgNCwgMjE1LCAKLSAgICA5NCwgMjMyLCA1MCwgMiwgMTk5LCAyMzMsIDM2LCA1OCwgMSwgNCwgMjMwLCAyNiwgMiwgNDMsIDEwMywgNTgsIDEsIDQsIAotICAgIDIzMCwgMjYsIDIsIDIyMywgNTUsIDEwMywgNTgsIDEsIDQsIDYsIDIzMCwgMjUsIDU4LCAxLCA0LCAyNTIsIDEzNCwgNzYsIAotICAgIDU4LCAxLCA0LCAyMjUsIDEzMywgNTgsIDEsIDQsIDIyMiwgOTIsIDIsIDEwMywgNTgsIDEsIDQsIDI0NSwgNzUsIDU4LCAxLCAKLSAgICA0LCAyMTcsIDE1MywgMiwgMjI2LCA2NiwgMTAzLCA1OCwgMSwgNCwgMTA0LCAxMzAsIDU4LCAxLCA0LCAyMTQsIDE1NywgNTgsIAorICAgIDQsIDI1NCwgMTQ0LCA1OCwgMSwgNCwgMjE1LCA5NCwgMjU0LCAyNDQsIDU4LCAxLCA0LCAyNTMsIDE1OSwgNTgsIDEsIDQsIAorICAgIDI0OSwgNjEsIDU4LCAxLCA0LCA3NSwgNTgsIDEsIDQsIDIyMSwgMTk2LCA1OCwgMSwgNCwgMjA0LCA3NSwgNTgsIDEsIDQsIAorICAgIDIxNSwgOTQsIDIwNCwgNzUsIDU4LCAxLCA0LCAyNDMsIDIwMywgNTgsIDEsIDQsIDIxNSwgOTQsIDczLCA1OCwgMSwgNCwgCisgICAgMjM1LCAyNCwgNTgsIDEsIDQsIDE5MywgNTgsIDEsIDQsIDI0NSwgMTM5LCA1OCwgMSwgNCwgNzYsIDU4LCAxLCA0LCAyMDQsIAorICAgIDc2LCA1OCwgMSwgNCwgMjE2LCAxNSwgMTYzLCA3NiwgNTgsIDEsIDQsIDI1MSwgMTc2LCAxNjMsIDc2LCA1OCwgMSwgNCwgCisgICAgMjI2LCAxMDYsIDU4LCAxLCA0LCAyMTcsIDE1MywgNTgsIDEsIDQsIDcwLCA1OCwgMSwgNCwgMjE5LCAxODgsIDcwLCA1OCwgCisgICAgMSwgNCwgMjE1LCA5NCwgMTkzLCA1OCwgMSwgNCwgMjE0LCAxMDUsIDU4LCAxLCA0LCAyNTQsIDE5NywgNTgsIDEsIDQsIAorICAgIDI1MiwgMjcsIDU4LCAxLCA0LCAyNiwgMjQzLCAxMDgsIDU4LCAxLCA0LCAyNDgsIDU1LCA1OCwgMSwgNCwgMjYsIDIyNSwgCisgICAgMTM0LCA1OCwgMSwgNCwgMjUwLCAxMTEsIDcsIDIxOCwgNjYsIDQsIDEsIDczLCA3LCAyMTgsIDY2LCA0LCAxLCAxNTMsIDcsIAorICAgIDIxOCwgNjYsIDQsIDEsIDcwLCA3LCAyMTgsIDY2LCA0LCAxLCAyMTQsIDEwNSwgMjYsIDIxOCwgNjYsIDQsIDEsIDI1MiwgCisgICAgMjcsIDI2LCAyMTgsIDY2LCA0LCAxLCAyNDMsIDEwOCwgMjYsIDIxOCwgNjYsIDQsIDEsIDIyMywgMzgsIDI2LCAyMTgsIDY2LCAKKyAgICA0LCAxLCAyMjUsIDEzNCwgMjYsIDIxOCwgNjYsIDQsIDEsIDI1MCwgMTExLCA3LCA0LCAxLCAyMTQsIDIxNCwgNywgNCwgMSwgCisgICAgNTcsIDIsIDIzMCwgMjI1LCAxODMsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDIzMCwgMjI1LCAxODMsIDcsIDQsIDEsIDI0NSwgCisgICAgOCwgMiwgMjMwLCAyMjUsIDE4MywgNywgNCwgMSwgMjMyLCA1MSwgMiwgMjMwLCAyMjUsIDE4MywgNywgNCwgMSwgMjMwLCAKKyAgICAyNywgMiwgMjMwLCAyMjUsIDE4MywgNywgNCwgMSwgMjI2LCAxMDcsIDIsIDIzMCwgMjI1LCAxODMsIDcsIDQsIDEsIDIyMywgCisgICAgMjI1LCAyLCAyMzAsIDIyNSwgMTgzLCA3LCA0LCAxLCAyMjMsIDIyNSwgMiwgMjQ0LCA4OSwgMjIsIDIzMCwgMjI1LCAxODMsIAorICAgIDcsIDQsIDEsIDIyMiwgOTMsIDIsIDIzMCwgMjI1LCAxODMsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAyMzAsIDIyNSwgMTgzLCAKKyAgICA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMjMwLCAyMjUsIDE4MywgNywgNCwgMSwgMjE1LCA5NCwgMjQzLCAyMDMsIDU4LCAxLCAKKyAgICAzMywgMjQ1LCAxNTEsIDcsIDQsIDEsIDIzNSwgMjE0LCAyNDMsIDIwMywgNywgNCwgMSwgMjE2LCAyMTIsIDIsIDIxOCwgCisgICAgMTA4LCA3LCA0LCA2LCAxLCAyNDAsIDE1NSwgMiwgOTEsIDcsIDQsIDEsIDIzNSwgMTg3LCAyLCA5MSwgNywgNCwgMSwgMjI2LCAKKyAgICAxMDcsIDIsIDkxLCA3LCA0LCA2LCAxLCAxMDQsIDIsIDkxLCA3LCA0LCAxLCAyMTQsIDE1OCwgMiwgOTEsIDcsIDQsIDEsIAorICAgIDU3LCAyLCAyMjYsIDY3LCAxMDMsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDIyNiwgNjcsIDEwMywgNywgNCwgMSwgMjQ1LCA4LCAKKyAgICAyLCAyMjYsIDY3LCAxMDMsIDcsIDQsIDEsIDI0MywgMjA0LCAyLCAyMjYsIDY3LCAxMDMsIDcsIDQsIDEsIDIzNSwgMjUsIDIsIAorICAgIDIyNiwgNjcsIDEwMywgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDIyNiwgNjcsIDEwMywgNywgNCwgMSwgMjMyLCA1MSwgMiwgCisgICAgMjI2LCA2NywgMTAzLCA3LCA0LCAxLCAyMzAsIDI3LCAyLCAyMjYsIDY3LCAxMDMsIDcsIDQsIDEsIDIyNiwgMTA3LCAyLCAKKyAgICAyMjYsIDY3LCAxMDMsIDcsIDQsIDEsIDIyMywgMjI1LCAyLCAyMjYsIDY3LCAxMDMsIDcsIDQsIDEsIDIyMiwgOTMsIDIsIAorICAgIDIyNiwgNjcsIDEwMywgNywgNCwgMSwgMjQ1LCA3NywgMiwgMjI2LCA2NywgMTAzLCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgCisgICAgMjI2LCA2NywgMTAzLCA3LCA0LCAxLCAyMTEsIDE3OSwgMiwgMjI2LCA2NywgMTAzLCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgCisgICAgMjI2LCA2NywgMTAzLCA3LCA0LCAxLCAxMTUsIDIsIDIyMywgNTYsIDEwMywgNywgNCwgMSwgMjU0LCAxNDUsIDIsIDIyMywgCisgICAgNTYsIDEwMywgNywgNCwgMSwgMjQ5LCA2MiwgMiwgMjQxLCA1MywgMjIsIDIxNywgNzgsIDcsIDQsIDEsIDE2MCwgMiwgMjIzLCAKKyAgICA1NiwgMTAzLCA3LCA0LCAxLCAyMDQsIDE2MCwgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAxLCAyMjMsIDUwLCAyMDQsIDE2MCwgCisgICAgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAxLCAyMjEsIDE5NywgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAxLCAyNDAsIDE1NSwgCisgICAgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAxLCAyMDQsIDE0NCwgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAxLCAyNDUsIDc3LCAyLCAKKyAgICAyMjMsIDU2LCAxMDMsIDcsIDQsIDEsIDEwNCwgMiwgMjIzLCA1NiwgMTAzLCA3LCA0LCAxLCAyNDUsIDEwLCAyLCAyMjMsIAorICAgIDU2LCAxMDMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyNTQsIDE0NCwgNTgsIDEsIDQsIDI1MSwgNjcsIDU4LCAxLCA0LCAyNTEsIAorICAgIDY4LCAyLCAyNDksIDEwMSwgNTgsIDEsIDQsIDI0NSwgNjAsIDU4LCAxLCA0LCAyMjMsIDUwLCAyMDQsIDc1LCA1OCwgMSwgNCwgCisgICAgMjQ1LCA3LCA1OCwgMSwgNCwgMjQ3LCAxMjAsIDIzNSwgMTQ2LCAyLCA5MSwgNTgsIDEsIDQsIDExOSwgMjQzLCAyMDMsIDU4LCAKKyAgICAxLCA0LCAyMTUsIDk0LCAyNDIsIDYxLCA1OCwgMSwgNCwgMjQwLCAxNTUsIDIsIDkxLCA1OCwgMSwgNCwgMjM1LCAxODYsIAorICAgIDU4LCAxLCA0LCA2LCA3MywgNTgsIDEsIDQsIDYsIDI0MCwgMTU1LCAyLCA5MSwgNTgsIDEsIDQsIDIzNSwgMTQ2LCAyLCAKKyAgICAyNDksIDEyOCwgNTgsIDEsIDQsIDIzMywgMTUwLCAyLCAyMjMsIDU2LCAxMDMsIDU4LCAxLCA0LCAyMzMsIDE1MCwgMiwgCisgICAgMjI2LCA2NywgMTAzLCA1OCwgMSwgNCwgNiwgMTU2LCA1OCwgMSwgNCwgMjMyLCA1MSwgMiwgMTAzLCA1OCwgMSwgNCwgMjE1LCAKKyAgICA5NCwgMjMyLCA1MSwgMiwgMTk5LCAyMzMsIDM3LCA1OCwgMSwgNCwgMjMwLCAyNywgMiwgNDMsIDEwMywgNTgsIDEsIDQsIAorICAgIDIzMCwgMjcsIDIsIDIyMywgNTYsIDEwMywgNTgsIDEsIDQsIDYsIDIzMCwgMjYsIDU4LCAxLCA0LCAyNTIsIDEzNSwgNzYsIAorICAgIDU4LCAxLCA0LCAyMjUsIDEzNCwgNTgsIDEsIDQsIDIyMiwgOTMsIDIsIDEwMywgNTgsIDEsIDQsIDI0NSwgNzYsIDU4LCAxLCAKKyAgICA0LCAyMTcsIDE1NCwgMiwgMjI2LCA2NywgMTAzLCA1OCwgMSwgNCwgMTA0LCAxMzAsIDU4LCAxLCA0LCAyMTQsIDE1NywgNTgsIAogICAgIDEsIDQsIDYsIDcwLCA1OCwgMSwgNCwgMjE0LCAxMDYsIDIsIDEwMywgNTgsIDEsIDQsIDIxNSwgOTQsIDIxNCwgMTA1LCA1OCwgCi0gICAgMSwgNCwgMjEwLCAxNTksIDU4LCAxLCA0LCAyMTAsIDE2MCwgMiwgMjIzLCA1NSwgMTAzLCA1OCwgMSwgNCwgMjEwLCAxNjAsIAotICAgIDIsIDI0OSwgMTAwLCA1OCwgMSwgNCwgMjQ1LCA4LCA1OCwgMSwgNCwgMjE2LCAxNzksIDM4LCAyNDYsIDExOCwgMjQyLCAKLSAgICAxMzcsIDI1NSwgMTQsIDM4LCAyNDYsIDExOCwgMjU1LCAzLCAyNTUsIDE0LCAzOCwgMjE5LCA2OSwgNTEsIDM4LCAyMTgsIDYsIAotICAgIDc4LCAzOCwgMjMxLCAyMzEsIDM4LCAyNDIsIDEzNCwgMzgsIDIzMSwgMjI5LCAzOCwgMjU1LCAxLCAzOCwgMjQyLCAxMzUsIAotICAgIDM4LCAyNTUsIDIsIDM4LCA3LCA0LCAxLCAyMjMsIDIyNCwgNTEsIDM4LCAyNTEsIDE0NSwgMzgsIDIzMSwgMjMwLCAzOCwgCi0gICAgNTIsIDI1MCwgMzEsIDQ4LCAzOCwgMjI2LCAyMjUsIDQ4LCAzOCwgMjEwLCAzNSwgNTEsIDM4LCAyMzUsIDE3MiwgNTEsIDM4LCAKLSAgICAyMTQsIDE1MSwgNDgsIDM4LCAyMTQsIDEzNCwgNDgsIDM4LCA3LCA0LCAxLCAyNDQsIDYzLCAyMDQsIDExNSwgNDgsIDM4LCAKLSAgICA3LCA0LCAxLCAyNTQsIDI0MywgMzgsIDcsIDQsIDEsIDI1NCwgNzMsIDM4LCA3LCA0LCAxLCAyNTMsIDE3NiwgMzgsIDcsIDQsIAotICAgIDEsIDI1MSwgNjcsIDI1MCwgMTgzLCAzOCwgNywgNCwgMSwgMjM1LCAyMTMsIDI0OSwgNjAsIDM4LCA3LCA0LCAxLCAyNDUsIAotICAgIDU5LCAzOCwgNywgNCwgMSwgMjQzLCAyMDIsIDM4LCA3LCAxLCA0LCA2LCAyNDMsIDIwMiwgMzgsIDcsIDQsIDEsIDIzNSwgCi0gICAgMjMsIDM4LCA3LCA0LCAxLCAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxOTMsIDM4LCA3LCA0LCAKLSAgICAxLCAyMzAsIDI1LCAzOCwgNywgMSwgNCwgNiwgMjMwLCAyNSwgMzgsIDcsIDEsIDQsIDYsIDE1MywgMzgsIDcsIDQsIDEsIAotICAgIDIyMywgMjI0LCAyMjIsIDE4NiwgMzgsIDcsIDQsIDEsIDIyMiwgOTEsIDM4LCA3LCA0LCAxLCAxOTksIDIyMiwgOTEsIDM4LCAKLSAgICA3LCA0LCAxLCAyMTAsIDE1OSwgMzgsIDUyLCAyMzUsIDE5MywgMjUxLCAxNDcsIDUxLCAzOCwgMjU0LCAxNDgsIDEyOCwgCi0gICAgMjE2LCA0MiwgNTEsIDM4LCA0MywgMjUzLCAyNTAsIDQ4LCAzOCwgNDQsIDI1MywgMjUwLCAyMiwgMTI0LCAyNTMsIDI1MCwgCi0gICAgNTEsIDcsIDYsIDEsIDExNSwgMiwgMjIyLCAyMzQsIDUxLCA3LCA0LCAxLCAxMTUsIDIsIDIyMiwgMjM0LCA1MSwgNywgNiwgCisgICAgMSwgNCwgMjEwLCAxNTksIDU4LCAxLCA0LCAyMTAsIDE2MCwgMiwgMjIzLCA1NiwgMTAzLCA1OCwgMSwgNCwgMjEwLCAxNjAsIAorICAgIDIsIDI0OSwgMTAxLCA1OCwgMSwgNCwgMjQ1LCA5LCA1OCwgMSwgNCwgMjE2LCAxODAsIDM4LCAyNDYsIDExOSwgMjQyLCAKKyAgICAxMzgsIDI1NSwgMTUsIDM4LCAyNDYsIDExOSwgMjU1LCA0LCAyNTUsIDE1LCAzOCwgMjE5LCA3MCwgNTEsIDM4LCAyMTgsIDcsIAorICAgIDc4LCAzOCwgMjMxLCAyMzIsIDM4LCAyNDIsIDEzNSwgMzgsIDIzMSwgMjMwLCAzOCwgMjU1LCAyLCAzOCwgMjQyLCAxMzYsIAorICAgIDM4LCAyNTUsIDMsIDM4LCA3LCA0LCAxLCAyMjMsIDIyNSwgNTEsIDM4LCAyNTEsIDE0NiwgMzgsIDIzMSwgMjMxLCAzOCwgCisgICAgNTIsIDI1MCwgMzIsIDQ4LCAzOCwgMjI2LCAyMjYsIDQ4LCAzOCwgMjEwLCAzNSwgNTEsIDM4LCAyMzUsIDE3MywgNTEsIDM4LCAKKyAgICAyMTQsIDE1MSwgNDgsIDM4LCAyMTQsIDEzNCwgNDgsIDM4LCA3LCA0LCAxLCAyNDQsIDY0LCAyMDQsIDExNSwgNDgsIDM4LCAKKyAgICA3LCA0LCAxLCAyNTQsIDI0NCwgMzgsIDcsIDQsIDEsIDI1NCwgNzQsIDM4LCA3LCA0LCAxLCAyNTMsIDE3NywgMzgsIDcsIDQsIAorICAgIDEsIDI1MSwgNjgsIDI1MCwgMTg0LCAzOCwgNywgNCwgMSwgMjM1LCAyMTQsIDI0OSwgNjEsIDM4LCA3LCA0LCAxLCAyNDUsIAorICAgIDYwLCAzOCwgNywgNCwgMSwgMjQzLCAyMDMsIDM4LCA3LCAxLCA0LCA2LCAyNDMsIDIwMywgMzgsIDcsIDQsIDEsIDIzNSwgCisgICAgMjQsIDM4LCA3LCA0LCAxLCAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxNTYsIDM4LCA3LCAxLCA0LCA2LCAxOTMsIDM4LCA3LCA0LCAKKyAgICAxLCAyMzAsIDI2LCAzOCwgNywgMSwgNCwgNiwgMjMwLCAyNiwgMzgsIDcsIDEsIDQsIDYsIDE1MywgMzgsIDcsIDQsIDEsIAorICAgIDIyMywgMjI1LCAyMjIsIDE4NywgMzgsIDcsIDQsIDEsIDIyMiwgOTIsIDM4LCA3LCA0LCAxLCAxOTksIDIyMiwgOTIsIDM4LCAKKyAgICA3LCA0LCAxLCAyMTAsIDE1OSwgMzgsIDUyLCAyMzUsIDE5NCwgMjUxLCAxNDgsIDUxLCAzOCwgMjU0LCAxNDksIDEyOCwgCisgICAgMjE2LCA0MywgNTEsIDM4LCA0MywgMjUzLCAyNTEsIDQ4LCAzOCwgNDQsIDI1MywgMjUxLCAyMiwgMTI0LCAyNTMsIDI1MSwgCisgICAgNTEsIDcsIDYsIDEsIDExNSwgMiwgMjIyLCAyMzUsIDUxLCA3LCA0LCAxLCAxMTUsIDIsIDIyMiwgMjM1LCA1MSwgNywgNiwgCiAgICAgMSwgNTcsIDIsIDU5LCA0OCwgNywgNCwgMSwgNTcsIDIsIDU5LCA0OCwgNywgNiwgMSwgNTcsIDIsIDU5LCA1MSwgNywgNCwgCi0gICAgMSwgNTcsIDIsIDU5LCA1MSwgNywgNiwgMSwgNTcsIDIsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgNTcsIDIsIDIzMiwgMjE0LCAKLSAgICA1MSwgNywgNiwgMSwgMjUxLCA2NywgMiwgMjUwLCAxODQsIDIyLCAxNDIsIDcsIDQsIDEsIDI1MSwgNjcsIDIsIDI1MCwgCi0gICAgMTg0LCAyMiwgMTQyLCA3LCA2LCAxLCAyNDksIDYxLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIDU5LCA0OCwgCi0gICAgNywgNiwgMSwgMjQ5LCA2MSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyNDksIDYxLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDI0OSwgCi0gICAgNjEsIDIsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgMjQ5LCA2MSwgMiwgMjMyLCAyMTQsIDUxLCA3LCA2LCAxLCAyNDksIDYxLCAKLSAgICAyLCAyNTAsIDE4MywgNywgNCwgMSwgMjQ5LCA2MSwgMiwgMjUwLCAxODMsIDcsIDYsIDEsIDI0OSwgNjEsIDIsIDI1MCwgMzEsIAotICAgIDUxLCA3LCA0LCAxLCAyNDksIDYxLCAyLCAyNTAsIDMxLCA1MSwgNywgNiwgMSwgMTYwLCAyLCAyMzEsIDIzMywgMjIsIDI0MiwgCi0gICAgMTM2LCA3LCA0LCAxLCAxNjAsIDIsIDIzMSwgMjMzLCAyMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDE2MCwgMiwgMjMxLCAyMzMsIAotICAgIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjMxLCAyMzMsIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMSwgCi0gICAgNTEsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzMSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjE2LCA4OSwgNTEsIDcsIDQsIDEsIAotICAgIDE2MCwgMiwgMjE2LCA4OSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAxODQsIDIyLCAyNTEsIDE0NiwgNywgNCwgMSwgCi0gICAgMTYwLCAyLCAyNTAsIDE4NCwgMjIsIDI1MSwgMTQ2LCA3LCA2LCAxLCAyNDUsIDcsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjQ1LCAKLSAgICA3LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDI0MywgMjAzLCAyLCAyMzEsIDIzMiwgNywgNCwgMSwgMjQzLCAyMDMsIDIsIDIzMSwgCi0gICAgMjMyLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0MiwgNjEsIDIsIDU5LCA0OCwgNywgNiwgMSwgCi0gICAgMjQyLCA2MSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyNDIsIDYxLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDI0MiwgNjEsIDIsIAotICAgIDI0OCwgMSwgNywgNCwgMSwgMjQyLCA2MSwgMiwgMjQ4LCAxLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAyNTAsIDE4MywgNywgNCwgCi0gICAgMSwgMjQyLCA2MSwgMiwgMjUwLCAxODMsIDcsIDYsIDEsIDI0MiwgNjEsIDIsIDI1MSwgMTQ3LCA1MSwgNywgNCwgMSwgMjQyLCAKLSAgICA2MSwgMiwgMjUxLCAxNDcsIDUxLCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgMjE2LCA4OSwgNTEsIDcsIDQsIDEsIDI0MCwgCi0gICAgMTU0LCAyLCAyMTYsIDg5LCA1MSwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDI0OCwgMiwgMjIsIDE0MiwgNywgNCwgMSwgMjQwLCAKLSAgICAxNTQsIDIsIDI0OCwgMiwgMjIsIDE0MiwgNywgNiwgMSwgMjM1LCAyNCwgMiwgMTQyLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAKLSAgICAxNDIsIDcsIDYsIDEsIDIzNSwgMjQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjM1LCAyNCwgMiwgNTksIDUxLCA3LCA2LCAxLCAKLSAgICAyMzUsIDI0LCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDIzMiwgMjE0LCA1MSwgNywgNiwgMSwgCi0gICAgMjMzLCAxNDksIDIsIDU5LCA1MSwgNywgNCwgMSwgMjMzLCAxNDksIDIsIDU5LCA1MSwgNywgNiwgMSwgMjMzLCAxNDksIDIsIAotICAgIDU5LCAyNTIsIDQzLCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCA1OSwgMjUyLCA0MywgMjIsIDIzMSwgCi0gICAgMjMyLCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMjMyLCAyMTQsIAotICAgIDUxLCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgMjUwLCAzMSwgNTEsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAyNTAsIDMxLCA1MSwgCi0gICAgNywgNiwgMSwgMjMyLCA1MCwgMiwgMTQyLCA3LCA0LCAxLCAyMzIsIDUwLCAyLCAxNDIsIDcsIDYsIDEsIDIzMiwgNTAsIDIsIAotICAgIDU5LCA0OCwgNywgNCwgMSwgMjMyLCA1MCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMzIsIDUwLCAyLCA1OSwgNTEsIDcsIDQsIAotICAgIDEsIDIzMiwgNTAsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjMwLCAyNiwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMzAsIDI2LCAyLCAKLSAgICA1OSwgNDgsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjMwLCAyNiwgMiwgNTksIDUxLCA3LCA2LCAKLSAgICAxLCAyMzAsIDI2LCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDIzMiwgMjE0LCA1MSwgNywgNiwgMSwgCi0gICAgMjMwLCAyNiwgMiwgMjUwLCAzMSwgNTEsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDI1MCwgMzEsIDUxLCA3LCA2LCAxLCAxNDQsIAotICAgIDIsIDIxNiwgODksIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjE2LCA4OSwgMjIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICAyMTYsIDg5LCAyMiwgMjQ4LCAxLCA3LCA0LCAxLCAxNDQsIDIsIDIxNiwgODksIDIyLCAyNDgsIDEsIDcsIDYsIDEsIDE0NCwgCi0gICAgMiwgMjMxLCAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzMywgMjIsIDI0MiwgMTM2LCA3LCA2LCAKLSAgICAxLCAxNDQsIDIsIDIzMSwgMjMzLCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDIzMSwgMjMzLCAyMiwgMTQyLCA3LCA2LCAKLSAgICAxLCAyMjYsIDEwNiwgMiwgMTQyLCA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgMTQyLCA3LCA2LCAxLCAyMjYsIDEwNiwgMiwgNTksIAotICAgIDQ4LCA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAKLSAgICAyMjMsIDIyNCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgCi0gICAgNTksIDUxLCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgNTksIDI1MiwgNDMsIDIyLCAyMzEsIDIzMiwgNywgNCwgMSwgMjIzLCAKLSAgICAyMjQsIDIsIDU5LCAyNTIsIDQzLCAyMiwgMjMxLCAyMzIsIDcsIDYsIDEsIDIyMywgMjI0LCAyLCAyMzIsIDIxNCwgNTEsIDcsIAotICAgIDQsIDEsIDIyMywgMjI0LCAyLCAyMzIsIDIxNCwgNTEsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDU5LCA0OCwgNywgNCwgMSwgCi0gICAgMjIyLCA5MiwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMjIsIDkyLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIyMiwgOTIsIDIsIDU5LCAKLSAgICA1MSwgNywgNiwgMSwgMjIyLCA5MiwgMiwgMjU1LCAzLCAyMiwgNTksIDQ4LCA3LCA0LCAxLCAyMjIsIDkyLCAyLCAyNTUsIDMsIAotICAgIDIyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDI1MCwgMjM1LCAyMiwgNTksIDQ4LCA3LCA0LCAxLCAyMjIsIDkyLCAKLSAgICAyLCAyNTAsIDIzNSwgMjIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5MiwgMiwgNTksIDI1MiwgNDMsIDIyLCA1OSwgNDgsIDcsIAotICAgIDQsIDEsIDIyMiwgOTIsIDIsIDU5LCAyNTIsIDQzLCAyMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTcsIDE1MywgMiwgNTksIDQ4LCAKLSAgICA3LCA0LCAxLCAyMTcsIDE1MywgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTcsIDE1MywgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTcsIAotICAgIDE1MywgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTcsIDE1MywgMiwgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgCi0gICAgMjMyLCAyMTQsIDUxLCA3LCA2LCAxLCAyMTcsIDE1MywgMiwgMjUwLCAzMSwgNTEsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCAKLSAgICAyNTAsIDMxLCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDIsIDUxLCA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMiwgNTEsIDcsIAotICAgIDYsIDEsIDEwNCwgMiwgMjE2LCA4OSwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjE2LCA4OSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgCi0gICAgMjUwLCAzMSwgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjUwLCAzMSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgMjE2LCA4OSwgMjIsIAotICAgIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAyMTYsIDg5LCAyMiwgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgCi0gICAgMjQ4LCAxLCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgMjQ4LCAxLCA3LCA2LCAxLCAyMTQsIDEwNiwgMiwgMTgyLCAKLSAgICA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMTgyLCA3LCA2LCAxLCAyMTQsIDEwNiwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTQsIAotICAgIDEwNiwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjQyLCAKLSAgICAxMzYsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDE0MiwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMTQyLCA3LCA2LCAxLCAyMTIsIAotICAgIDk5LCAyLCAyNDgsIDEsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDI0OCwgMSwgNywgNiwgMSwgMjEyLCA5OSwgMiwgNTksIDQ4LCAKKyAgICAxLCA1NywgMiwgNTksIDUxLCA3LCA2LCAxLCA1NywgMiwgMjMyLCAyMTUsIDUxLCA3LCA0LCAxLCA1NywgMiwgMjMyLCAyMTUsIAorICAgIDUxLCA3LCA2LCAxLCAyNTEsIDY4LCAyLCAyNTAsIDE4NSwgMjIsIDE0MiwgNywgNCwgMSwgMjUxLCA2OCwgMiwgMjUwLCAKKyAgICAxODUsIDIyLCAxNDIsIDcsIDYsIDEsIDI0OSwgNjIsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjQ5LCA2MiwgMiwgNTksIDQ4LCAKKyAgICA3LCA2LCAxLCAyNDksIDYyLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjQ5LCAKKyAgICA2MiwgMiwgMjMyLCAyMTUsIDUxLCA3LCA0LCAxLCAyNDksIDYyLCAyLCAyMzIsIDIxNSwgNTEsIDcsIDYsIDEsIDI0OSwgNjIsIAorICAgIDIsIDI1MCwgMTg0LCA3LCA0LCAxLCAyNDksIDYyLCAyLCAyNTAsIDE4NCwgNywgNiwgMSwgMjQ5LCA2MiwgMiwgMjUwLCAzMiwgCisgICAgNTEsIDcsIDQsIDEsIDI0OSwgNjIsIDIsIDI1MCwgMzIsIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDIzMSwgMjM0LCAyMiwgMjQyLCAKKyAgICAxMzcsIDcsIDQsIDEsIDE2MCwgMiwgMjMxLCAyMzQsIDIyLCAyNDIsIDEzNywgNywgNiwgMSwgMTYwLCAyLCAyMzEsIDIzNCwgCisgICAgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCAyMzEsIDIzNCwgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMyLCAKKyAgICA1MSwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDMyLCA1MSwgNywgNiwgMSwgMTYwLCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgCisgICAgMTYwLCAyLCAyMTYsIDkwLCA1MSwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDE4NSwgMjIsIDI1MSwgMTQ3LCA3LCA0LCAxLCAKKyAgICAxNjAsIDIsIDI1MCwgMTg1LCAyMiwgMjUxLCAxNDcsIDcsIDYsIDEsIDI0NSwgOCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDUsIAorICAgIDgsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjQzLCAyMDQsIDIsIDIzMSwgMjMzLCA3LCA0LCAxLCAyNDMsIDIwNCwgMiwgMjMxLCAKKyAgICAyMzMsIDcsIDYsIDEsIDI0MiwgNjIsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjQyLCA2MiwgMiwgNTksIDQ4LCA3LCA2LCAxLCAKKyAgICAyNDIsIDYyLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDI0MiwgNjIsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjQyLCA2MiwgMiwgCisgICAgMjQ4LCAyLCA3LCA0LCAxLCAyNDIsIDYyLCAyLCAyNDgsIDIsIDcsIDYsIDEsIDI0MiwgNjIsIDIsIDI1MCwgMTg0LCA3LCA0LCAKKyAgICAxLCAyNDIsIDYyLCAyLCAyNTAsIDE4NCwgNywgNiwgMSwgMjQyLCA2MiwgMiwgMjUxLCAxNDgsIDUxLCA3LCA0LCAxLCAyNDIsIAorICAgIDYyLCAyLCAyNTEsIDE0OCwgNTEsIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgMjQwLCAKKyAgICAxNTUsIDIsIDIxNiwgOTAsIDUxLCA3LCA2LCAxLCAyNDAsIDE1NSwgMiwgMjQ4LCAzLCAyMiwgMTQyLCA3LCA0LCAxLCAyNDAsIAorICAgIDE1NSwgMiwgMjQ4LCAzLCAyMiwgMTQyLCA3LCA2LCAxLCAyMzUsIDI1LCAyLCAxNDIsIDcsIDQsIDEsIDIzNSwgMjUsIDIsIAorICAgIDE0MiwgNywgNiwgMSwgMjM1LCAyNSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzUsIDI1LCAyLCA1OSwgNTEsIDcsIDYsIDEsIAorICAgIDIzNSwgMjUsIDIsIDIzMiwgMjE1LCA1MSwgNywgNCwgMSwgMjM1LCAyNSwgMiwgMjMyLCAyMTUsIDUxLCA3LCA2LCAxLCAKKyAgICAyMzMsIDE1MCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzMsIDE1MCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMzMsIDE1MCwgMiwgCisgICAgNTksIDI1MiwgNDQsIDIyLCAyMzEsIDIzMywgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDU5LCAyNTIsIDQ0LCAyMiwgMjMxLCAKKyAgICAyMzMsIDcsIDYsIDEsIDIzMywgMTUwLCAyLCAyMzIsIDIxNSwgNTEsIDcsIDQsIDEsIDIzMywgMTUwLCAyLCAyMzIsIDIxNSwgCisgICAgNTEsIDcsIDYsIDEsIDIzMywgMTUwLCAyLCAyNTAsIDMyLCA1MSwgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDI1MCwgMzIsIDUxLCAKKyAgICA3LCA2LCAxLCAyMzIsIDUxLCAyLCAxNDIsIDcsIDQsIDEsIDIzMiwgNTEsIDIsIDE0MiwgNywgNiwgMSwgMjMyLCA1MSwgMiwgCisgICAgNTksIDQ4LCA3LCA0LCAxLCAyMzIsIDUxLCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIzMiwgNTEsIDIsIDU5LCA1MSwgNywgNCwgCisgICAgMSwgMjMyLCA1MSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMzAsIDI3LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIzMCwgMjcsIDIsIAorICAgIDU5LCA0OCwgNywgNiwgMSwgMjMwLCAyNywgMiwgNTksIDUxLCA3LCA0LCAxLCAyMzAsIDI3LCAyLCA1OSwgNTEsIDcsIDYsIAorICAgIDEsIDIzMCwgMjcsIDIsIDIzMiwgMjE1LCA1MSwgNywgNCwgMSwgMjMwLCAyNywgMiwgMjMyLCAyMTUsIDUxLCA3LCA2LCAxLCAKKyAgICAyMzAsIDI3LCAyLCAyNTAsIDMyLCA1MSwgNywgNCwgMSwgMjMwLCAyNywgMiwgMjUwLCAzMiwgNTEsIDcsIDYsIDEsIDE0NCwgCisgICAgMiwgMjE2LCA5MCwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMTYsIDkwLCAyMiwgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIAorICAgIDIxNiwgOTAsIDIyLCAyNDgsIDIsIDcsIDQsIDEsIDE0NCwgMiwgMjE2LCA5MCwgMjIsIDI0OCwgMiwgNywgNiwgMSwgMTQ0LCAKKyAgICAyLCAyMzEsIDIzNCwgMjIsIDI0MiwgMTM3LCA3LCA0LCAxLCAxNDQsIDIsIDIzMSwgMjM0LCAyMiwgMjQyLCAxMzcsIDcsIDYsIAorICAgIDEsIDE0NCwgMiwgMjMxLCAyMzQsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzQsIDIyLCAxNDIsIDcsIDYsIAorICAgIDEsIDIyNiwgMTA3LCAyLCAxNDIsIDcsIDQsIDEsIDIyNiwgMTA3LCAyLCAxNDIsIDcsIDYsIDEsIDIyNiwgMTA3LCAyLCA1OSwgCisgICAgNDgsIDcsIDQsIDEsIDIyNiwgMTA3LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMywgMjI1LCAyLCA1OSwgNDgsIDcsIDQsIDEsIAorICAgIDIyMywgMjI1LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMywgMjI1LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIyMywgMjI1LCAyLCAKKyAgICA1OSwgNTEsIDcsIDYsIDEsIDIyMywgMjI1LCAyLCA1OSwgMjUyLCA0NCwgMjIsIDIzMSwgMjMzLCA3LCA0LCAxLCAyMjMsIAorICAgIDIyNSwgMiwgNTksIDI1MiwgNDQsIDIyLCAyMzEsIDIzMywgNywgNiwgMSwgMjIzLCAyMjUsIDIsIDIzMiwgMjE1LCA1MSwgNywgCisgICAgNCwgMSwgMjIzLCAyMjUsIDIsIDIzMiwgMjE1LCA1MSwgNywgNiwgMSwgMjIyLCA5MywgMiwgNTksIDQ4LCA3LCA0LCAxLCAKKyAgICAyMjIsIDkzLCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTMsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjIyLCA5MywgMiwgNTksIAorICAgIDUxLCA3LCA2LCAxLCAyMjIsIDkzLCAyLCAyNTUsIDQsIDIyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMiwgOTMsIDIsIDI1NSwgNCwgCisgICAgMjIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5MywgMiwgMjUwLCAyMzYsIDIyLCA1OSwgNDgsIDcsIDQsIDEsIDIyMiwgOTMsIAorICAgIDIsIDI1MCwgMjM2LCAyMiwgNTksIDQ4LCA3LCA2LCAxLCAyMjIsIDkzLCAyLCA1OSwgMjUyLCA0NCwgMjIsIDU5LCA0OCwgNywgCisgICAgNCwgMSwgMjIyLCA5MywgMiwgNTksIDI1MiwgNDQsIDIyLCA1OSwgNDgsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCA1OSwgNDgsIAorICAgIDcsIDQsIDEsIDIxNywgMTU0LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIxNywgCisgICAgMTU0LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyMzIsIDIxNSwgNTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAKKyAgICAyMzIsIDIxNSwgNTEsIDcsIDYsIDEsIDIxNywgMTU0LCAyLCAyNTAsIDMyLCA1MSwgNywgNCwgMSwgMjE3LCAxNTQsIDIsIAorICAgIDI1MCwgMzIsIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDI0OCwgMywgNTEsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAzLCA1MSwgNywgCisgICAgNiwgMSwgMTA0LCAyLCAyMTYsIDkwLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyMTYsIDkwLCA1MSwgNywgNiwgMSwgMTA0LCAyLCAKKyAgICAyNTAsIDMyLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNTAsIDMyLCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyMTYsIDkwLCAyMiwgCisgICAgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDIxNiwgOTAsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzQsIDIyLCAKKyAgICAyNDgsIDIsIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzQsIDIyLCAyNDgsIDIsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAxODMsIAorICAgIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAxODMsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIxNCwgCisgICAgMTA2LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDI0MiwgMTM3LCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAyNDIsIAorICAgIDEzNywgNywgNiwgMSwgMjEyLCA5OSwgMiwgMTQyLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAxNDIsIDcsIDYsIDEsIDIxMiwgCisgICAgOTksIDIsIDI0OCwgMiwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjQ4LCAyLCA3LCA2LCAxLCAyMTIsIDk5LCAyLCA1OSwgNDgsIAogICAgIDcsIDQsIDEsIDIxMiwgOTksIDIsIDU5LCA0OCwgNywgNiwgMSwgMjEyLCA5OSwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTIsIAogICAgIDk5LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMSwgMTc5LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCA1OSwgCi0gICAgNDgsIDcsIDYsIDEsIDIxMSwgMTc5LCAyLCAyNDgsIDEsIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCAyNDgsIDEsIDcsIDYsIDEsIAorICAgIDQ4LCA3LCA2LCAxLCAyMTEsIDE3OSwgMiwgMjQ4LCAyLCA3LCA0LCAxLCAyMTEsIDE3OSwgMiwgMjQ4LCAyLCA3LCA2LCAxLCAKICAgICAyMTEsIDExOCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgCi0gICAgMjUwLCAzMCwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI1MCwgMzAsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNTEsIDcsIAotICAgIDQsIDEsIDIxMCwgMTYwLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIAotICAgIDIxMCwgMTYwLCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDI0MiwgNjEsIDIsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgCi0gICAgMjE3LCAxNTMsIDIsIDI0OCwgMSwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjIyLCAyMzQsIDQ4LCA3LCA0LCAxLCAyMTEsIAotICAgIDExOCwgMiwgMjIyLCAyMzQsIDQ4LCA3LCA0LCAxLCAxMTUsIDIsIDQ0LCAxNjMsIDIyMiwgMjMzLCA3LCA0LCAxLCAxOTksIAotICAgIDIyMiwgOTIsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTk5LCAyMjIsIDkyLCAyLCAyNDcsIDI1NSwgOTEsIDcsIDQsIDEsIDE5OSwgCi0gICAgMjIyLCA5MiwgMiwgMTI1LCA5MSwgNywgNiwgMSwgMjIwLCA3NiwgMjIyLCA5MSwgNywgNCwgMSwgMjQ4LCA1NCwgNywgNiwgCi0gICAgMSwgMTE1LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDExNSwgMiwgNTksIDUxLCA3LCA2LCAxLCAxMTUsIDIsIDI0MSwgNTIsIDQ4LCAKLSAgICA3LCA0LCAxLCAxMTUsIDIsIDI0MSwgNTIsIDQ4LCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMzEsIDIyLCAxNDIsIDcsIDQsIDEsIAotICAgIDExNSwgMiwgMjUwLCAzMSwgMjIsIDE0MiwgNywgNiwgMSwgMTE1LCAyLCAyNTAsIDMxLCAyMiwgMjQyLCAxMzYsIDcsIDQsIAotICAgIDEsIDExNSwgMiwgMjUwLCAzMSwgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMzEsIDIyLCAyNDEsIDUyLCAKLSAgICA0OCwgNywgNCwgMSwgMTE1LCAyLCAyNTAsIDMxLCAyMiwgMjQxLCA1MiwgNDgsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMSwgCi0gICAgMjIsIDE4MiwgNywgNCwgMSwgMTE1LCAyLCAyNTAsIDMxLCAyMiwgMTgyLCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMzEsIDIyLCAKLSAgICA1OSwgNTEsIDcsIDQsIDEsIDExNSwgMiwgMjUwLCAzMSwgMjIsIDU5LCA1MSwgNywgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NywgCi0gICAgMjIsIDE0MiwgNywgNCwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDE0MiwgNywgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NywgCi0gICAgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxMTUsIDIsIDI1MSwgMTQ3LCAyMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDExNSwgMiwgCi0gICAgMjUxLCAxNDcsIDIyLCAyNDEsIDUyLCA0OCwgNywgNCwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDI0MSwgNTIsIDQ4LCA3LCAKLSAgICA2LCAxLCAxMTUsIDIsIDI1MSwgMTQ3LCAyMiwgMTgyLCA3LCA0LCAxLCAxMTUsIDIsIDI1MSwgMTQ3LCAyMiwgMTgyLCA3LCAKLSAgICA2LCAxLCAxMTUsIDIsIDI1MSwgMTQ3LCAyMiwgNTksIDUxLCA3LCA0LCAxLCAxMTUsIDIsIDI1MSwgMTQ3LCAyMiwgNTksIAorICAgIDI1MCwgMzEsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDMxLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgNTksIDUxLCA3LCAKKyAgICA0LCAxLCAyMTAsIDE2MCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjMyLCAyMTUsIDUxLCA3LCA0LCAxLCAKKyAgICAyMTAsIDE2MCwgMiwgMjMyLCAyMTUsIDUxLCA3LCA0LCAxLCAyNDIsIDYyLCAyLCAyMzIsIDIxNSwgNTEsIDcsIDQsIDEsIAorICAgIDIxNywgMTU0LCAyLCAyNDgsIDIsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDIyMiwgMjM1LCA0OCwgNywgNCwgMSwgMjExLCAKKyAgICAxMTgsIDIsIDIyMiwgMjM1LCA0OCwgNywgNCwgMSwgMTE1LCAyLCA0NCwgMTYzLCAyMjIsIDIzNCwgNywgNCwgMSwgMTk5LCAKKyAgICAyMjIsIDkzLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDE5OSwgMjIyLCA5MywgMiwgMjQ4LCAwLCA5MSwgNywgNCwgMSwgMTk5LCAKKyAgICAyMjIsIDkzLCAyLCAxMjUsIDkxLCA3LCA2LCAxLCAyMjAsIDc3LCAyMjIsIDkyLCA3LCA0LCAxLCAyNDgsIDU1LCA3LCA2LCAKKyAgICAxLCAxMTUsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTE1LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDExNSwgMiwgMjQxLCA1MywgNDgsIAorICAgIDcsIDQsIDEsIDExNSwgMiwgMjQxLCA1MywgNDgsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMiwgMjIsIDE0MiwgNywgNCwgMSwgCisgICAgMTE1LCAyLCAyNTAsIDMyLCAyMiwgMTQyLCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMzIsIDIyLCAyNDIsIDEzNywgNywgNCwgCisgICAgMSwgMTE1LCAyLCAyNTAsIDMyLCAyMiwgMjQyLCAxMzcsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMiwgMjIsIDI0MSwgNTMsIAorICAgIDQ4LCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMzIsIDIyLCAyNDEsIDUzLCA0OCwgNywgNiwgMSwgMTE1LCAyLCAyNTAsIDMyLCAKKyAgICAyMiwgMTgzLCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMzIsIDIyLCAxODMsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMiwgMjIsIAorICAgIDU5LCA1MSwgNywgNCwgMSwgMTE1LCAyLCAyNTAsIDMyLCAyMiwgNTksIDUxLCA3LCA2LCAxLCAxMTUsIDIsIDI1MSwgMTQ4LCAKKyAgICAyMiwgMTQyLCA3LCA0LCAxLCAxMTUsIDIsIDI1MSwgMTQ4LCAyMiwgMTQyLCA3LCA2LCAxLCAxMTUsIDIsIDI1MSwgMTQ4LCAKKyAgICAyMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDExNSwgMiwgMjUxLCAxNDgsIDIyLCAyNDIsIDEzNywgNywgNiwgMSwgMTE1LCAyLCAKKyAgICAyNTEsIDE0OCwgMjIsIDI0MSwgNTMsIDQ4LCA3LCA0LCAxLCAxMTUsIDIsIDI1MSwgMTQ4LCAyMiwgMjQxLCA1MywgNDgsIDcsIAorICAgIDYsIDEsIDExNSwgMiwgMjUxLCAxNDgsIDIyLCAxODMsIDcsIDQsIDEsIDExNSwgMiwgMjUxLCAxNDgsIDIyLCAxODMsIDcsIAorICAgIDYsIDEsIDExNSwgMiwgMjUxLCAxNDgsIDIyLCA1OSwgNTEsIDcsIDQsIDEsIDExNSwgMiwgMjUxLCAxNDgsIDIyLCA1OSwgCiAgICAgNTEsIDcsIDYsIDEsIDE2MCwgMiwgNTksIDUxLCA3LCA0LCAxLCAxNjAsIDIsIDU5LCA1MSwgNywgNiwgMSwgMTYwLCAyLCAKLSAgICAyNDEsIDUyLCA0OCwgNywgNCwgMSwgMTYwLCAyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMTYwLCAyLCAxODIsIDcsIDQsIDEsIAotICAgIDE2MCwgMiwgMTgyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzMSwgCi0gICAgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMxLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAKLSAgICAzMSwgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDIyLCAyNDEsIDUyLCA0OCwgNywgNCwgMSwgCi0gICAgMTYwLCAyLCAyNTAsIDMxLCAyMiwgMjQxLCA1MiwgNDgsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDE4MiwgNywgCi0gICAgNCwgMSwgMTYwLCAyLCAyNTAsIDMxLCAyMiwgMTgyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDIyLCA1OSwgNTEsIDcsIAotICAgIDQsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDU5LCA1MSwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDI0MSwgNTIsIDQ4LCA3LCAKLSAgICA0LCAxLCAyNDAsIDE1NCwgMiwgMjQxLCA1MiwgNDgsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIAotICAgIDI0MCwgMTU0LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDE0NCwgMiwgNTksIDUxLCA3LCA0LCAxLCAxNDQsIDIsIDU5LCA1MSwgNywgCi0gICAgNiwgMSwgMTQ0LCAyLCAyNDEsIDUyLCA0OCwgNywgNCwgMSwgMTQ0LCAyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICAyNTAsIDMxLCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzEsIDIyLCAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgCi0gICAgMjUwLCAzMSwgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzEsIDIyLCAyNDIsIDEzNiwgNywgNiwgMSwgCi0gICAgMTQ0LCAyLCAyNTAsIDMxLCAyMiwgMjQxLCA1MiwgNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzMSwgMjIsIDI0MSwgNTIsIAotICAgIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDI1MCwgMzEsIDIyLCAxODIsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzMSwgMjIsIDE4MiwgCi0gICAgNywgNiwgMSwgMTQ0LCAyLCAyNTAsIDMxLCAyMiwgNTksIDUxLCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzEsIDIyLCA1OSwgCi0gICAgNTEsIDcsIDYsIDEsIDE0NCwgMiwgMjQwLCAyNDksIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjQwLCAyNDksIDIyLCAKLSAgICAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjQwLCAyNDksIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgCi0gICAgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjQ5LCAyMiwgMjQxLCA1MiwgNDgsIDcsIDQsIDEsIDE0NCwgCi0gICAgMiwgMjQwLCAyNDksIDIyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIDE4MiwgNywgNCwgCi0gICAgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIDE4MiwgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIDU5LCA1MSwgNywgCi0gICAgNCwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIDU5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIAotICAgIDEwNCwgMiwgNTksIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDI0MSwgNTIsIDQ4LCA3LCA0LCAxLCAxMDQsIDIsIDI0MSwgNTIsIAotICAgIDQ4LCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjQ5LCAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDI0MCwgMjQ5LCAyMiwgCi0gICAgMTQyLCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjQ5LCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDEwNCwgMiwgMjQwLCAyNDksIAotICAgIDIyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI0OSwgMjIsIDI0MSwgNTIsIDQ4LCA3LCA0LCAxLCAxMDQsIAotICAgIDIsIDI0MCwgMjQ5LCAyMiwgMjQxLCA1MiwgNDgsIDcsIDYsIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCAxODIsIDcsIDQsIAotICAgIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCAxODIsIDcsIDYsIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCA1OSwgNTEsIDcsIAotICAgIDQsIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAyNDIsIDEzNiwgNywgNCwgCi0gICAgMSwgMjExLCAxMTgsIDIsIDI0MiwgMTM2LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMTEsIAotICAgIDExOCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjQxLCA1MiwgNDgsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAKLSAgICAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDE4MiwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDE4MiwgNywgNiwgCi0gICAgMSwgMjMwLCAyMjMsIDIzMiwgMTg1LCA3LCA0LCAxLCAyMzAsIDIyMywgMjMyLCAxODUsIDcsIDYsIDEsIDIzMCwgMjIzLCAKLSAgICAyMTQsIDEwNSwgNywgNCwgMSwgMjMwLCAyMjMsIDIxNCwgMTA1LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjMyLCAxMjMsIDcsIAotICAgIDQsIDEsIDIxMSwgMTE4LCAyLCAyMzIsIDEyMywgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NCwgMjYsIDQsIDEsIAotICAgIDI1NCwgMTQ0LCAyLCAyNDgsIDE1MywgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCAKLSAgICA0LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIyNCwgCi0gICAgMTU1LCAyMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMCwgMjYsIDQsIAotICAgIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAKLSAgICAyMiwgMjI1LCAxNzUsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNTQsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgCi0gICAgMjQ4LCAxNTMsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjU0LCAKLSAgICAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgCi0gICAgMTEwLCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyNTQsIDE0NCwgCi0gICAgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NSwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc1LCAKLSAgICAyNiwgNCwgMSwgMjQ1LCAxMDEsIDIsIDIyNCwgMTU0LCAyNiwgNCwgMSwgMjQ1LCAxMDEsIDIsIDI0OCwgMTUzLCAyNiwgNCwgCi0gICAgMSwgMjQ1LCAxMDEsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgMTAxLCAyLCAyNDgsIDE1NCwgCi0gICAgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDEwMSwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIAotICAgIDI0NSwgMTAxLCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjQ1LCAxMDEsIDIsIDIyNCwgMTU0LCAyNiwgCi0gICAgNiwgMSwgMjQ1LCAxMDEsIDIsIDI0OCwgMTUzLCAyNiwgNiwgMSwgMjQ1LCAxMDEsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAKLSAgICAxMywgMjYsIDYsIDEsIDI0NSwgMTAxLCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNDUsIDEwMSwgMiwgCi0gICAgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDI0NSwgMTAxLCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAKLSAgICAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTQsIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyNDgsIDE1MywgMjYsIDQsIDEsIAotICAgIDI0NSwgNjQsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTU0LCAyMiwgCi0gICAgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyNDUsIDY0LCAKLSAgICAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NSwgCi0gICAgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIAotICAgIDE1NCwgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTUzLCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAKLSAgICAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA2NCwgCi0gICAgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIAotICAgIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAKLSAgICAxNTQsIDIyLCAyMjUsIDE3NSwgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyMjQsIDE1NCwgMjYsIDQsIDEsIDIzNSwgMTg2LCAKLSAgICAyLCAyNDgsIDE1MywgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMzUsIAotICAgIDE4NiwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAKLSAgICAxMTAsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDIzNSwgMTg2LCAKLSAgICAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIAotICAgIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjI0LCAxNTQsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjQ4LCAxNTMsIDI2LCA2LCAKLSAgICAxLCAyMzUsIDE4NiwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjM1LCAxODYsIDIsIDI0OCwgMTU0LCAKLSAgICAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgCi0gICAgMjM1LCAxODYsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjI0LCAxNTUsIDIyLCAKLSAgICAyMjUsIDE3NSwgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDAsIDIsIDIyNCwgMTU0LCAyNiwgNCwgMSwgMjI2LCAyMDAsIDIsIDI0OCwgMTUzLCAyNiwgNCwgMSwgMjI2LCAyMDAsIDIsIAotICAgIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgMjAwLCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCAKLSAgICA0LCAxLCAyMjYsIDIwMCwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDIyNiwgMjAwLCAyLCAyNDgsIAotICAgIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjI2LCAyMDAsIDIsIDIyNCwgMTU0LCAyNiwgNiwgMSwgMjI2LCAyMDAsIAotICAgIDIsIDI0OCwgMTUzLCAyNiwgNiwgMSwgMjI2LCAyMDAsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgCi0gICAgMjAwLCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwMCwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIAotICAgIDExMCwgMjYsIDYsIDEsIDIyNiwgMjAwLCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjE0LCAxNTgsIAotICAgIDIsIDIyNCwgMTU0LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTUzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgCi0gICAgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAKLSAgICAyMTQsIDE1OCwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1NCwgMjIsIAotICAgIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyMTQsIAotICAgIDE1OCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NSwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1MywgMjYsIDYsIAotICAgIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTQsIAotICAgIDIyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgCi0gICAgMjI2LCAyMDIsIDIsIDIyNCwgMTU0LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTUzLCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgCi0gICAgMTMsIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAKLSAgICAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIAotICAgIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NSwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAKLSAgICAyMjQsIDE1NCwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1MywgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyMjQsIAotICAgIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgCi0gICAgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIDIyLCAKLSAgICAyMjYsIDExMCwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjI2LCAKLSAgICAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIAotICAgIDI1NCwgMTQ0LCAyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDI0NSwgMTAxLCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCAKLSAgICAxMDEsIDIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIAotICAgIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjI2LCAKLSAgICAxMTAsIDI2LCA0LCAxLCAyMjYsIDIwMCwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgMjAwLCAyLCAyMjYsIDExMCwgMjYsIAotICAgIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgCi0gICAgMjI2LCAyMDIsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyNTQsIAotICAgIDE0NCwgMiwgMjI0LCAxNTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgCi0gICAgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIAotICAgIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTEsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgCi0gICAgMjIsIDIyNiwgMTExLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIAotICAgIDE3NiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzYsIDIyLCAKLSAgICAyMTAsIDIxOSwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjU0LCAKLSAgICAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIAotICAgIDE0LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAKLSAgICAxNjcsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMSwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgCi0gICAgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTEsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAKLSAgICAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc2LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIAotICAgIDIyLCAyMjUsIDE3NiwgMjIsIDIyNCwgMTY3LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMTAsIDIxOSwgCi0gICAgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTU0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMjQsIAotICAgIDE1NSwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAKLSAgICAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMSwgMjIsIDIxMCwgCi0gICAgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgCi0gICAgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NCwgCi0gICAgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NiwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIAotICAgIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTU0LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAKLSAgICAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIAotICAgIDI0OCwgMTU0LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAKLSAgICAyMjYsIDExMSwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMSwgMjIsIAotICAgIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NiwgMjIsIDIyNCwgMTY3LCAyNiwgCi0gICAgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NiwgMjIsIDIyNCwgMTY3LCAyNiwgNCwgMSwgMjI2LCAKLSAgICAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIDIyLCAyMTAsIAotICAgIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIAotICAgIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAKLSAgICAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTExLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIAotICAgIDIyLCAyMjYsIDExMSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAKLSAgICAxNzYsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc2LCAyMiwgCi0gICAgMjEwLCAyMTksIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDIyNiwgCi0gICAgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAKLSAgICAxNCwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgCi0gICAgMTY3LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTEsIDIyLCAyMjQsIDE2NywgMjYsIDYsIAotICAgIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTExLCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyMjYsIDIwMiwgCi0gICAgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NiwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTU0LCAKLSAgICAyMiwgMjI1LCAxNzYsIDIyLCAyMjQsIDE2NywgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIAotICAgIDI1NCwgMTQ0LCAyLCAyMzEsIDIzMiwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCAKLSAgICA0LCAxLCAyNTQsIDE0NCwgMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjI2LCAxMTEsIDIyLCAyMTAsIAotICAgIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjUsIDE3NSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjUsIDE3NiwgCi0gICAgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIDIxMywgMTIwLCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIAotICAgIDIzMSwgMjMyLCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjI2LCAKLSAgICAxMTAsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNjcsIDI2LCAyMzQsIDIsIDI2LCAyMjQsIDE2NywgMjYsIDIyNCwgCi0gICAgMTU0LCAyNiwgMjI1LCAxNzUsIDI2LCAyNDcsIDI1MiwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjE0LCAKLSAgICAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAKLSAgICAyMjYsIDExMSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyNDUsIAotICAgIDY0LCAyLCAyMjUsIDE3NiwgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjQ1LCAxMDEsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAKLSAgICAyNDUsIDEwMSwgMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCA2NCwgCi0gICAgMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE2NywgMjYsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgCi0gICAgMjYsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTAsIDI2LCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjM1LCAKLSAgICAxODYsIDIsIDIxMywgMTIwLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDIzMSwgMjMyLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIAotICAgIDI0NywgMjUyLCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyNDcsIDI1MiwgMjIsIDIyNiwgMTEwLCAyNiwgCi0gICAgNCwgMSwgMjM1LCAxODYsIDIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDI0NywgMjUyLCAyMiwgMjI1LCAKLSAgICAxNzUsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjEzLCAxMjAsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjMxLCAyMzIsIAotICAgIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMjYsIDExMCwgMjYsIDI0OCwgCi0gICAgMTU0LCAyMiwgMjE0LCAxMywgMjYsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc1LCAKLSAgICAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIxMywgMTIwLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIzMSwgMjMyLCAyNiwgNCwgCi0gICAgMSwgMjE0LCAxNTgsIDIsIDI0NywgMjUyLCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDcsIDI1MiwgCi0gICAgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjIzLCAzOCwgMiwgMjI0LCAxNTQsIDI2LCA0LCAxLCAyMjMsIDM4LCAyLCAyNDgsIAotICAgIDE1MywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjUsIDE3NSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDcsIDI1MiwgCi0gICAgMjIsIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDIxMywgMTIwLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIAotICAgIDIzMSwgMjMyLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjI2LCAKLSAgICAxMTAsIDI2LCA2LCAxLCAyMjMsIDM4LCAyLCAyNDgsIDE1MywgMjYsIDI0NywgMjUyLCAyMiwgMjE0LCAxMywgMjYsIDI0NywgCi0gICAgMjUyLCAyMiwgMjI2LCAxMTAsIDI2LCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIxNCwgMTQsIDIyLCAyMTAsIAotICAgIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyMjYsIDExMSwgCi0gICAgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIAotICAgIDIyNSwgMTc2LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyMjYsIDIwMCwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgCi0gICAgMjAwLCAyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIAotICAgIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTY3LCAyNiwgMjI2LCAxMTAsIDI2LCAyNDgsIDE1MywgCi0gICAgMjQ1LCAxNTEsIDIyNCwgMjcsIDI0NSwgMTYwLCAyMjQsIDI3LCAyNDUsIDE1MSwgMjE5LCAxOCwgMjQ1LCAxNjAsIDIxOSwgCi0gICAgMTgsIDIxNiwgMTQxLCAyMTksIDE4LCAyNDQsIDksIDIxOSwgMTgsIDIxOSwgMTIzLCAyMTksIDE4LCAyNDQsIDExMiwgMjE5LCAKLSAgICAxOCwgMjI0LCAxNDEsIDIxOSwgMTgsIDIxNiwgMTcwLCAyMTksIDE4LCAyNDIsIDM1LCAyMTksIDE4LCAyMTAsIDg3LCAyMTEsIAotICAgIDI0NSwgMjE5LCAxOCwgMjEwLCA4NywgMjExLCAyNDUsIDIyOCwgNjcsIDIxMCwgODcsIDIxMSwgMjQ1LCAyMzUsIDYzLCAKLSAgICAyMzMsIDM4LCA3OCwgMjIyLCAyNDMsIDc4LCAyNDAsIDE2OCwgMjI4LCA2OCwgMjQwLCAxNjgsIDI0NCwgMTEyLCAyNDgsIAotICAgIDE1NiwgMjQ1LCAxNTEsIDI0OCwgMTU2LCAyNDUsIDE2MCwgMjQ4LCAxNTYsIDIwMywgMTMwLCA1MiwgNjcsIDIzMiwgMjEzLCAKLSAgICA1MiwgMTIxLCAyMzIsIDIxMywgNDMsIDIxOSwgMTU1LCAyMjMsIDI1NCwgNzgsIDQ0LCAyMTksIDE1NSwgMjIzLCAyNTQsIAotICAgIDc4LCAyMTksIDE1NSwgMjMyLCAxMDksIDIyMywgMjU0LCA3OCwgMjE5LCAxNTUsIDI0MSwgMTYzLCAyMjMsIDI1NCwgNzgsIAotICAgIDQzLCA1MiwgMjIzLCAyNTQsIDc4LCA0NCwgNTIsIDIyMywgMjU0LCA3OCwgNTIsIDIzMiwgMTA5LCAyMjMsIDI1NCwgNzgsIAotICAgIDUyLCAyNDEsIDE2MywgMjIzLCAyNTQsIDc4LCAyNDgsIDIwNSwgNTIsIDI0OCwgMjA1LCAyNTEsIDExMywgMjE1LCAyMjIsIAotICAgIDI1MSwgMTEzLCAxMjMsIDU5LCAyMzMsIDU2LCAxMTMsIDU5LCAyMzMsIDU2LCAyMDMsIDI0NSwgMTYzLCAyNDAsIDE2NiwgCi0gICAgMjI1LCAxMCwgMjMyLCAyMTQsIDIyMCwgMTM3LCAyMjYsIDE1LCAyMjAsIDEzNywgMjMzLCAzOCwgMjQ1LCAxNTgsIDIyMiwgCi0gICAgMjQzLCAyNDUsIDE1OCwgMjI0LCAyNDYsIDI0NywgMTk2LCAyNDQsIDE5LCAyMzMsIDM4LCAyMjYsIDExNywgMjIyLCAyNDMsIAotICAgIDIyNiwgMTE3LCAyMjksIDE5NCwgMjI4LCA3MywgMjE5LCAxOCwgMjI1LCAxODMsIDIzMCwgMTkzLCA1MCwgMjI1LCAxODMsIAotICAgIDIxNiwgMjQ4LCAyMTYsIDE0OCwgNTAsIDIyNCwgMTkwLCA1MiwgMjI0LCAxOTAsIDIxNSwgMjExLCAyMjQsIDE5MCwgMjIzLCAKLSAgICA0OSwgMjI0LCAxOTAsIDIyMywgNDksIDUyLCAyMjQsIDE5MCwgMjIzLCA0OSwgMjE1LCAyMTEsIDIyNCwgMTkwLCAyNTAsIAotICAgIDIzOCwgMjE5LCAxNTUsIDIzMywgNDIsIDI1NCwgMTEwLCAyMjMsIDI1NCwgNzgsIDIxOSwgMTU1LCAyMjIsIDI0NywgMjU0LCAKLSAgICAxMTAsIDIyMywgMjU0LCA3OCwgMjIzLCAxMDcsIDc4LCA1MiwgMjQ1LCAzMSwgNzgsIDIzNSwgMjAxLCAyMjYsIDExOSwgCi0gICAgMjE0LCAxODAsIDEzNSwgMjE2LCAxMTEsIDI1MCwgMjM5LCAyMzUsIDIxNiwgMjI1LCAxMCwgMjUzLCAyMTQsIDI0MCwgMTY5LCAKLSAgICAyNTEsIDExMywgMjQ0LCAyLCAyMTksIDk1LCA0MywgNDIsIDI1MSwgMTU4LCAyLCAyMjQsIDcsIDQ0LCA0MiwgMjUxLCAxNTgsIAotICAgIDIsIDIyNCwgNywgNTIsIDIyNCwgMTMsIDc4LCAyMjQsIDEzLCAyNDUsIDMxLCA3OCwgMjQ1LCAzMSwgMjI0LCAxMywgNzgsIAotICAgIDIxNiwgNzAsIDUsIDI0NSwgNjUsIDIyMywgNDksIDIyNSwgNjgsIDUwLCA4NSwgMTQwLCAyNTEsIDExMywgODUsIDk3LCAKLSAgICAyNTEsIDExMywgMTIxLCAyNTMsIDIxNiwgMjIzLCA0OSwgMjIwLCAxNTAsIDI1MCwgMSwgMjE0LCAxNjMsIDExMywgMjUzLCAKLSAgICAyMTUsIDI1NCwgMTU4LCAyMTMsIDE4OCwgMjQ5LCAyMTcsIDIzMCwgMTgyLCA1MCwgMjE3LCAyMzQsIDI0OCwgMTU2LCAyMzUsIAotICAgIDE5MywgMjE0LCAxODAsIDI0NCwgNTIsIDIyNCwgMTQxLCA3OCwgMTM0LCA1OSwgMjI0LCAxNDAsIDIyNCwgMjQsIDIyNCwgCi0gICAgMTkwLCAyNDQsIDExLCA1OSwgMjI0LCAxNDAsIDI0NCwgODEsIDU5LCAyMjQsIDE0MCwgMTEzLCA1OSwgMjI0LCAxNDAsIAotICAgIDI0NCwgMTEsIDU5LCA3OCwgMjQ2LCAxMTgsIDI0OSwgMTMwLCAyMTUsIDIyMSwgNjcsIDI0NCwgMTEsIDI0NywgMTE4LCAKLSAgICAyMzEsIDgyLCAxMSwgMjE5LCAxOCwgMjExLCAyMDksIDIzNSwgNjMsIDI0MywgMjI3LCAyNTQsIDUyLCAyMzUsIDE5MSwgCi0gICAgMjE2LCA4NSwgMjM1LCAxOTEsIDIyMCwgMTM3LCAyMzUsIDE5MSwgMjI1LCAyMiwgMjM1LCAyMjgsIDIxNywgMTgyLCAyMTcsIAotICAgIDI1MSwgMjU1LCA1LCAyMTcsIDE4MiwgMjE3LCAyNTEsIDIzNSwgMjI4LCAxMCwgMjQ0LCAyMCwgMjIwLCA4MCwgMjU1LCA1LCAKLSAgICAxMCwgMjQ0LCAyMCwgMjIwLCA4MCwgMjI5LCAxODksIDIxLCAyMjAsIDgxLCAyMjgsIDY5LCAyMSwgMjIwLCA4MSwgMjE4LCAKLSAgICAyMywgMjEwLCA4NiwgMjE4LCAyMywgNywgNCwgMSwgNzMsIDIxOCwgMjMsIDE2MSwgMjE4LCAyMywgMTg5LCAyMTgsIDIzLCAKLSAgICAxOTQsIDIxOCwgMjMsIDE5OCwgMjE4LCAyMywgMTk1LCAyMTgsIDIzLCAyMDAsIDIxOCwgMjMsIDk2LCA1MCwgMjE4LCAyMywgCi0gICAgMjMwLCAxODEsIDIxOCwgMjMsIDI0NSwgOTgsIDUwLCAyMTgsIDIzLCA0MywgMjI2LCAzLCAyMTgsIDIzLCA0NCwgMjI2LCAzLCAKLSAgICAyMTgsIDIzLCA3LCA0LCAxLCAyMzAsIDI1LCAyMTgsIDY1LCAyMTAsIDg2LCAyMTgsIDY1LCAxMTAsIDIxOCwgNjUsIDEwNSwgCi0gICAgMjE4LCA2NSwgMTU4LCAyMTgsIDY1LCAxNjEsIDIxOCwgNjUsIDE4OSwgMjE4LCA2NSwgMTk0LCAyMTgsIDY1LCAxOTgsIAotICAgIDIxOCwgNjUsIDE5NSwgMjE4LCA2NSwgMjAwLCAyMTgsIDY1LCA5NiwgNTAsIDIxOCwgNjUsIDIzMCwgMTgxLCAyMTgsIDY1LCAKLSAgICAyNDUsIDk4LCA1MCwgMjE4LCA2NSwgNDMsIDIyNiwgMywgMjE4LCA2NSwgNDQsIDIyNiwgMywgNywgMjE4LCA2NSwgNCwgMSwgCi0gICAgNjEsIDcsIDIxOCwgNjUsIDQsIDEsIDc1LCA3LCAyMTgsIDY1LCA0LCAxLCA3NiwgNywgMjE4LCA2NSwgNCwgMSwgMjExLCAKLSAgICAxNzgsIDcsIDIxOCwgNjUsIDQsIDEsIDIyMSwgMTk1LCA3LCAyMTgsIDY1LCA0LCAxLCAyNDIsIDYwLCA3LCAyMTgsIDY1LCAKLSAgICA0LCAxLCAyMzUsIDIzLCA3LCAyMTgsIDY1LCA0LCAxLCAxNTYsIDcsIDIxOCwgNjUsIDQsIDEsIDE5MywgNywgMjE4LCA2NSwgCi0gICAgNCwgMSwgMjMwLCAyNSwgNywgMjE4LCA2NSwgNCwgMSwgMjI2LCAxMDUsIDcsIDIxOCwgNjUsIDQsIDEsIDIyMiwgOTEsIDcsIAotICAgIDIxOCwgNjUsIDQsIDEsIDIxNywgMTUyLCAyNDUsIDQ2LCA1MCwgMjQ5LCAyMjcsIDUwLCAyNDksIDExNywgNTAsIDI0MywgCi0gICAgMjUxLCAyNDMsIDI1NCwgNTAsIDIzMiwgMTk4LCA1MCwgMjMwLCAxOTQsIDUwLCAyMjksIDIxMCwgNTAsIDIyNSwgMTYyLCAKLSAgICA1MCwgMjIyLCAxMTgsIDUwLCAyMTEsIDIxNywgNTAsIDE2NiwgMjIwLCA0OSwgNTAsIDI0NywgMTI3LCA1MCwgMjQ1LCA0NywgCi0gICAgNTAsIDIzNCwgNzYsIDUwLCAyMTUsIDExMiwgNTAsIDI0NiwgMTAxLCA1MCwgMjQzLCA0MCwgMjI1LCAxOTMsIDUwLCAyMjUsIAotICAgIDE2MCwgNTAsIDI0MiwgMTA5LCA1MCwgMjUzLCAxODIsIDUwLCAyNDAsIDIyOCwgNTAsIDI1MCwgMTg1LCA1MCwgMjMyLCAKLSAgICAxOTEsIDIxNiwgMywgNTAsIDIxOSwgMCwgNTAsIDIxNiwgMjQ1LCA1MCwgMjM1LCAyNDEsIDIyMiwgMTE4LCA1MCwgMzgsIAotICAgIDQzLCAyNDEsIDI1NSwgNDgsIDM4LCA0NCwgMjQxLCAyNTUsIDQ4LCAzOCwgMTk5LCA2NywgMjMyLCAyMTQsIDIyNiwgMTIwLCAKLSAgICAzOCwgMjE5LCAyNTEsIDY3LCAyMzIsIDIxNCwgMjI2LCAxMjAsIDM4LCAyNTQsIDg4LCA4MCwgNDgsIDM4LCAyNTAsIDIsIAotICAgIDgwLCA0OCwgMzgsIDQzLCA4MCwgNDgsIDM4LCA0NCwgODAsIDQ4LCAzOCwgMjIyLCAyMzQsIDIyNiwgMTIwLCAzOCwgMjUwLCAKLSAgICAyLCAyMjIsIDIzNCwgMjI2LCAxMjAsIDM4LCAyNTQsIDg4LCAyMjIsIDIzNCwgMjI2LCAxMjAsIDM4LCAxMzQsIDE3MCwgNDgsIAotICAgIDM4LCAyNDQsIDExLCAxNzAsIDQ4LCAzOCwgMjQ1LCAxNDYsIDI1MCwgMzUsIDM4LCAyNDUsIDE0NiwgMjE4LCAyMzQsIDM4LCAKLSAgICAyNDUsIDE0NiwgMjQ3LCAyNDgsIDM4LCAyNDUsIDE0NiwgMjUwLCAzNiwgMjUyLCAxODAsIDM4LCA0MywgNDQsIDgwLCA0OCwgCi0gICAgMzgsIDI0NSwgMTQ2LCAyMjEsIDE4OCwgMzgsIDI0NSwgMTQ2LCAyMzQsIDEzNSwgMzgsIDI0NSwgMTQ2LCAyMTQsIDE1NSwgCi0gICAgMjI1LCA3LCAyMTUsIDIyNSwgMzgsIDIyMywgNTAsIDIxOSwgNDcsIDIyNiwgMTIwLCAzOCwgNTIsIDY3LCAyMTgsIDEwMywgCi0gICAgMjI2LCAxMjAsIDM4LCAyNTQsIDk4LCA4NywgMzgsIDIxNSwgMjExLCAyMTQsIDE4MiwgMzgsIDIxMSwgMjQ3LCAyNTEsIAotICAgIDE0MCwgNDgsIDM4LCAxNDAsIDgwLCAyMjYsIDEyMCwgMzgsIDE5OSwgNTIsIDIxOSwgNDcsIDIyNiwgMTIwLCAzOCwgOTcsIAotICAgIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjQ2LCAxMDMsIDM4LCAxNDAsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjQ2LCAKLSAgICAxMDMsIDM4LCA0MywgODAsIDUxLCAzOCwgNDQsIDgwLCA1MSwgMzgsIDI1MywgMjE3LCA0OCwgMjU1LCAxMSwgMjI2LCAyMzEsIAotICAgIDI1NCwgMjUxLCAyMTYsIDQyLCAyMTYsIDE5NiwgMjE4LCA3NCwgMTM5LCA2LCAyNTEsIDY2LCAyNDgsIDcxLCAyNTAsIDE3OCwgCi0gICAgMjUwLCAxNzUsIDIzMiwgMjE0LCA4NywgMjUwLCAyNDAsIDIyNiwgMjMxLCAyNTEsIDI2LCAyMTQsIDE4OSwgMjQ1LCA0OCwgCi0gICAgMjQ5LCAxOTEsIDIyMSwgMTg1LCAyNDgsIDcxLCAyNDQsIDE3OSwgMTE5LCA0LCAyNDMsIDIwMiwgMTE5LCA2LCAyNDIsIDYwLCAKLSAgICAyNTEsIDIxOSwgNiwgMjQyLCA2MCwgMTM5LCA2LCAyNDIsIDYwLCAyMjUsIDM3LCAyNDksIDE5MSwgMjI1LCAzNywgMjQ5LCAKLSAgICAxOTIsIDExNywgMTEzLCAyMjUsIDEwOCwgMTE5LCA2LCA3MywgMjUxLCAyMTksIDYsIDczLCAxMTksIDYsIDE1NiwgMTE5LCAKLSAgICA0LCAxNTYsIDIzMywgMTQ5LCA1NywgMjUyLCAxNDEsIDg3LCAxMzksIDYsIDIzMCwgMjUsIDIyNywgMTk2LCA1MCwgMjE5LCAKLSAgICAzMSwgMjIzLCAxMTksIDI0OSwgMTYyLCAxMTksIDYsIDIyNiwgMTA1LCAxMzksIDYsIDIyNiwgMTA1LCAxMzksIDYsIDIyNCwgCi0gICAgOTYsIDExOSwgNiwgMTUzLCAyNTEsIDIxOSwgNiwgMTUzLCAxMzksIDYsIDE1MywgMjI0LCAxOTYsIDIxNywgNzEsIDIyMywgCi0gICAgNjIsIDIyMCwgMTMyLCA3OCwgMjE3LCAxLCA1MCwgMjE1LCAyNTMsIDE2NCwgNTAsIDIxMywgMjQwLCAxMzksIDYsIDIxMCwgCi0gICAgMTU5LCAyMjYsIDEzMywgNTAsIDIyNiwgMjIxLCA1MCwgMjM1LCAxOTMsIDIyNiwgMjIxLCA1MCwgMjUxLCAyMTksIDYsIAotICAgIDIxMCwgMTU5LCAyMTUsIDk0LCAyNiwgNCwgMSwgMjM1LCAxODUsIDIzNCwgMTczLCA1MCwgMjU0LCAxMDcsIDUwLCAxMTksIAotICAgIDYsIDI1MywgMTU4LCAyNTEsIDIxOSwgNiwgMjUxLCA2NiwgMjQ1LCA2OCwgODcsIDExOSwgNCwgNzUsIDExOSwgNiwgNzUsIAotICAgIDExOSwgNiwgMjQ1LCA2LCAyMTUsIDk0LCA2LCAyNDUsIDYsIDExOSwgNiwgMTkzLCAxMTksIDQsIDc2LCAxMTIsIDg3LCAKLSAgICAyNTIsIDI5LCA4NywgMjQyLCAyMDIsIDg3LCAyNDgsIDE5MCwgODcsIDIzNSwgMjMyLCAyMTksIDI5LCAyMjIsIDE4NywgNiwgCi0gICAgMjI0LCA5NiwgMjQ0LCAxODIsIDUwLCAxMzksIDQsIDIyNSwgMTA4LCAxMzksIDQsIDI0MywgMTA3LCAxMzksIDYsIDI0MywgCi0gICAgMTA3LCAxMzksIDYsIDIyNSwgMTA4LCAxMzksIDIzMCwgMjQsIDIxOCwgNDAsIDIxNSwgOTQsIDM1LCA2LCAyNDMsIDIwMiwgCi0gICAgMjE1LCA5NCwgMzUsIDYsIDE1NiwgMjIzLCA0OSwgMzUsIDYsIDE1NiwgMjE1LCA5NCwgMzUsIDYsIDIxMSwgMTE3LCAxMzksIAotICAgIDMyLCA2LCAyNDksIDYwLCAxMzksIDMyLCA0LCAyNDksIDYwLCAxMzksIDMyLCA0LCA3NSwgMTM5LCAzMiwgNCwgNzMsIDEzOSwgCi0gICAgMzIsIDQsIDIzNSwgMTQ0LCAyMjQsIDE3MCwgMjMyLCAyMTMsIDIxNSwgOTQsIDI1NCwgMTI2LCAyMjUsIDE4MywgNTAsIAotICAgIDI1NCwgMTgwLCAyMTUsIDk0LCA0LCAyNDUsIDYsIDE2LCAzMSwgMjIxLCAyNTIsIDIxOSwgMjksIDIxMiwgMTE0LCAyNDQsIAotICAgIDIsIDEyMywgMjIwLCAxMTgsIDIxMiwgMTE0LCAyNDQsIDIsIDEyMywgMjI4LCAxOTQsIDIxMiwgMTE0LCAyNDQsIDIsIDEyMywgCi0gICAgMjE2LCAyNDEsIDIxMiwgMTE0LCAyNDQsIDIsIDEyMywgMjE2LCAxNjgsIDIxMiwgMTE0LCAyNDQsIDIsIDExMywgMjE2LCAKLSAgICAxNjYsIDIxMiwgMTE0LCAyNDQsIDIsIDEyMywgMjQ0LCAxMTcsIDIxMiwgMTE0LCAyNDQsIDIsIDExMywgMjQ0LCAxMTYsIAotICAgIDIxMiwgMTE0LCAyNDQsIDIsIDEzNCwgMjQ0LCAxMTYsIDIxMiwgMTE0LCAyNDQsIDIsIDI0NCwgMTEsIDI0NCwgMTE2LCAKLSAgICAyMTIsIDExNCwgMjQ0LCAyLCAxMjMsIDIxOSwgMTE1LCAyMTIsIDExNCwgMjQ0LCAyLCAyNDQsIDgxLCAyMTksIDExMywgCi0gICAgMjEyLCAxMTQsIDI0NCwgMiwgMTIzLCAyNDUsIDE4OCwgMjEyLCAxMTQsIDI0NCwgMiwgMTM0LCAyNDUsIDE4NiwgMjEyLCAKLSAgICAxMTQsIDI0NCwgMiwgMjQ0LCA4MSwgMjQ1LCAxODYsIDIxMiwgMTE0LCAyNDQsIDIsIDIyMCwgMTIyLCAyNDUsIDE4NiwgCi0gICAgMjQ0LCAyLCAyMjcsIDE5NywgMTEwLCAyMjIsIDE5OCwgMjI3LCAxOTgsIDExMCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxMDUsIAotICAgIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTU4LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDE2MSwgMjIyLCAxOTgsIDIyNywgMTk4LCAKLSAgICAxODksIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTk0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDE5OCwgMjIyLCAxOTgsIDIyNywgCi0gICAgMTk4LCAxOTUsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjAwLCAyMjIsIDE5OCwgMjI3LCAxOTgsIDIxNiwgMjQ3LCAyMjIsIAotICAgIDE5OCwgMjI3LCAxOTgsIDI0NSwgMTY3LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDIxNSwgNzYsIDIyMiwgMTk4LCAyMjcsIDE5OCwgCi0gICAgMjQ0LCAxMTQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTIzLCAyNDAsIDIxMCwgMjIyLCAxOTgsIDIyNywgMTk4LCAyNDQsIDgxLCAKLSAgICAyNDAsIDIxMCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxMjMsIDIxNiwgMTQ3LCA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDExMCwgCi0gICAgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxMDUsIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTU4LCA0LCAyMjIsIDE5OCwgMjI3LCAKLSAgICAxOTgsIDE2MSwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxODksIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTk0LCA0LCAyMjIsIAotICAgIDE5OCwgMjI3LCAxOTgsIDE5OCwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxOTUsIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgCi0gICAgMjAwLCA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDIxNiwgMjQ3LCA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDI0NSwgMTY3LCA0LCAKLSAgICAyMjIsIDE5OCwgMjI3LCAxOTgsIDIxNSwgNzYsIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjQ0LCAxMTQsIDQsIDIyMiwgCi0gICAgMTk4LCAyMjcsIDE5OCwgMTIzLCAyNDAsIDIxMCwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAyNDQsIDgxLCAyNDAsIDIxMCwgCi0gICAgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxMjMsIDIxNiwgMTQ3LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDEyMywgMjE2LCAxNDgsIAotICAgIDI1MSwgNjcsIDI0OSwgNjAsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjQ0LCA4MSwgMjE2LCAxNDcsIDIyMiwgMTk4LCAyMjcsIAotICAgIDE5OCwgMjE2LCAyNDgsIDIxNiwgMTQ3LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDIyMywgNDksIDEyMywgMjQwLCAyMTAsIDcsIAotICAgIDQsIDEsIDIyMywgNDksIDI1MSwgNjYsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjE5LCAxMjUsIDIzMywgNzgsIDE3LCAyMjIsIAotICAgIDE5OCwgMjI3LCAxOTgsIDI0NCwgMTE1LCAyNDUsIDIyNiwgMTcsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjQ0LCAxMTUsIDIxNiwgCi0gICAgMTQ3LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDEyMywgMjQwLCAyMTEsIDIxNiwgMTQ3LCAyMTIsIDExNCwgMjQ0LCAyLCAyMTAsIAotICAgIDg3LCAyMTYsIDE2NiwgMTQwLCA3NCwgMjE0LCAxNTMsIDc0LCA5NywgNzQsIDI0NiwgMTA0LCA3NCwgNDMsIDQ0LCA3NCwgCi0gICAgMTIwLCAxMjQsIDc0LCAyMjgsIDU2LCAyMTIsIDksIDc0LCAyMjgsIDU2LCAyNDUsIDIyMCwgNzQsIDIxOSwgMjgsIDI0NSwgCi0gICAgMjIwLCA3NCwgMjE5LCAyOCwgMjEyLCA5LCA3NCwgMTQwLCA4MCwgMiwgOTEsIDk3LCA4MCwgMiwgOTEsIDE0MCwgMjEyLCAKLSAgICAzNiwgNzQsIDk3LCAyMTIsIDM2LCA3NCwgMTQwLCAxMTMsIDI0MSwgMjM0LCA3NCwgMjE0LCAxNTMsIDExMywgMjQxLCAyMzQsIAotICAgIDc0LCA5NywgMTEzLCAyNDEsIDIzNCwgNzQsIDI0NiwgMTA0LCAxMTMsIDI0MSwgMjM0LCA3NCwgMTQwLCA4MCwgMiwgMjE3LCAKLSAgICA3NywgOTcsIDgwLCAyLCAyMTcsIDc3LCAxNDAsIDgwLCAyNDMsIDI0MywgMTMwLCAyMTQsIDE1MywgODAsIDI0MywgMjQzLCAKLSAgICAxMzAsIDk3LCA4MCwgMjQzLCAyNDMsIDEzMCwgMjQ2LCAxMDQsIDgwLCAyNDMsIDI0MywgMTMwLCAxMjAsIDEyNCwgODAsIDIsIAotICAgIDI1MiwgMTI3LCAxNDAsIDgwLCAyLCAxMDMsIDk3LCA4MCwgMiwgMTAzLCAxNDAsIDgwLCAyLCAyMzIsIDEyMywgOTcsIDgwLCAKLSAgICAyLCAyMzIsIDEyMywgNDMsIDQ0LCAyMTIsIDM2LCA3NCwgNDMsIDQ0LCA4MCwgMiwgOTEsIDI0NiwgMTA0LCAyMTAsIDM1LCAKLSAgICA3NCwgMjE0LCAxNTMsIDgwLCAyLCAyMTYsIDc3LCAyMzMsIDM3LCAyMTQsIDE1MywgODAsIDIsIDIxNiwgNzcsIDIyMiwgCi0gICAgMjQxLCAyNDYsIDEwNCwgODAsIDIsIDIxNiwgNzcsIDIzMywgMzcsIDI0NiwgMTA0LCA4MCwgMiwgMjE2LCA3NywgMjIyLCAKLSAgICAyNDEsIDk3LCA4MCwgMiwgMjQ5LCAxNjEsIDI0NiwgMTAzLCAyNDYsIDEwNCwgODAsIDIsIDI0OSwgMTYxLCAyMzMsIDM3LCAKLSAgICAyNTQsIDg4LCAyMTYsIDE0LCAyMjAsIDE1MywgNzQsIDI1MCwgMiwgMjE2LCAxNCwgMjIwLCAxNTMsIDc0LCAyMjgsIDU2LCAKLSAgICAyMTIsIDksIDgwLCAyMTYsIDQyLCAxOTksIDEzMCwgMTQwLCA4MCwgMjE2LCA0MiwgMjUyLCAxNDEsIDExNywgOTcsIDgwLCAKLSAgICAyMTYsIDQyLCAxMzAsIDI1NCwgODgsIDIwNCwgMjUwLCAzNiwgNzQsIDI1MCwgMiwgMjA0LCAyNTAsIDM2LCA3NCwgMTQwLCAKLSAgICAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIxNCwgMTUyLCAxNDAsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjQ2LCAxMDMsIAotICAgIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIyMiwgMjQxLCAyMTQsIDE1MywgMjQxLCAyNTUsIDIsIDI1MiwgCi0gICAgMTM5LCAyMzMsIDM3LCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyMTQsIDE1MiwgOTcsIDI0MSwgMjU1LCAyLCAyNTIsIAotICAgIDEzOSwgMjQ2LCAxMDMsIDI0NiwgMTA0LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIyMiwgMjQxLCAyNDYsIDEwNCwgMjQxLCAKLSAgICAyNTUsIDIsIDI1MiwgMTM5LCAyMzMsIDM3LCA5NywgODAsIDExNywgMTQwLCA3NCwgMjE0LCAxNTMsIDgwLCAxNDAsIDY0LCAKLSAgICAyNDYsIDEwNCwgNzQsIDE0MCwgODAsIDExNywgOTcsIDc0LCAxNDAsIDIyNiwgNzAsIDI1MywgMjQ3LCAyMTQsIDE1MywgCi0gICAgMjI2LCA3MCwgMjUzLCAyNDcsIDk3LCAyMjYsIDcwLCAyNTMsIDI0NywgMjQ2LCAxMDQsIDIyNiwgNzAsIDI1MywgMjQ3LCAKLSAgICAxNDAsIDI0MSwgMjU1LCAxMTcsIDk3LCAyNDEsIDI1NCwgOTcsIDI0MSwgMjU1LCAxMTcsIDE0MCwgMjQxLCAyNTQsIDE0MCwgCi0gICAgNTIsIDgwLCAyLCA5MSwgNDMsIDQ0LCA1MiwgODAsIDIsIDkxLCA5NywgNTIsIDgwLCAyLCA5MSwgMTQwLCA1MiwgNzQsIAotICAgIDIxNCwgMTUzLCA1MiwgNzQsIDk3LCA1MiwgNzQsIDI0NiwgMTA0LCA1MiwgNzQsIDQzLCA0NCwgNTIsIDc0LCAxMjAsIDEyNCwgCi0gICAgNTIsIDc0LCAyMjgsIDU2LCAyMTIsIDksIDUyLCA3NCwgMjI4LCA1NiwgMjQ1LCAyMjAsIDUyLCA3NCwgMjE5LCAyOCwgMjQ1LCAKLSAgICAyMjAsIDUyLCA3NCwgMjE5LCAyOCwgMjEyLCA5LCA1MiwgNzQsIDE0MCwgMjE1LCAyMTEsIDc0LCA5NywgMjE1LCAyMTEsIAotICAgIDc0LCAxNDAsIDIxOCwgMjMwLCA3NCwgOTcsIDIxOCwgMjMwLCA3NCwgMjE0LCAxNTMsIDgwLCAyLCA1MiwgOTEsIDI0NiwgCi0gICAgMTA0LCA4MCwgMiwgNTIsIDkxLCAxNDAsIDI0OCwgMTU1LCA3NCwgMjE0LCAxNTMsIDI0OCwgMTU1LCA3NCwgOTcsIDI0OCwgCi0gICAgMTU1LCA3NCwgMjQ2LCAxMDQsIDI0OCwgMTU1LCA3NCwgMTQwLCA4MCwgMjE2LCA0MiwgMTMwLCA5NywgODAsIDIxNiwgNDIsIAotICAgIDEzMCwgMTQwLCA3MSwgNzQsIDIxNCwgMTUzLCA3MSwgNzQsIDk3LCA3MSwgNzQsIDI0NiwgMTA0LCA3MSwgNzQsIDIxNCwgCi0gICAgMTUzLCA3MSwgODAsIDI0MywgMjQzLCAxMzAsIDIxNCwgMTUzLCA3MSwgODAsIDIyNiwgMTk3LCAyMjUsIDIxNCwgMjE0LCAKLSAgICAxNTMsIDcxLCA4MCwgMjI2LCAxOTcsIDIyNSwgMjE1LCAyLCAyMDMsIDEzMCwgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAxOTcsIAotICAgIDIyNSwgMjE1LCAyLCA2NywgMTMwLCAyMTQsIDE1MywgNzEsIDUyLCA3NCwgMjE0LCAxNTMsIDcxLCA1MiwgODAsIDIyNiwgCi0gICAgMTk3LCAyMjUsIDIxNCwgOTcsIDcxLCA4MCwgMjQzLCAyNDMsIDIxMiwgNTYsIDIyOCwgNTYsIDIxMiwgOSwgODAsIDIxNiwgCi0gICAgNDIsIDI0OSwgMTYwLCAyMTksIDI4LCAyNDUsIDIyMCwgODAsIDIxNiwgNDIsIDI0OSwgMTYwLCAxMjAsIDEyNCwgNzEsIDc0LCAKLSAgICA0NCwgODAsIDIsIDQsIDI1MCwgMzUsIDI0NiwgMTA0LCA4MCwgMTQwLCA2NCwgMjE0LCAxNTMsIDc0LCAxMzQsIDk3LCAyNTMsIAotICAgIDI0NywgMTQwLCA4MCwgMiwgNjcsIDkxLCA5NywgODAsIDIsIDY3LCA5MSwgNDMsIDQ0LCA4MCwgMiwgNjcsIDkxLCAxNDAsIAotICAgIDgwLCAyLCA1MiwgNjcsIDkxLCA5NywgODAsIDIsIDUyLCA2NywgOTEsIDQzLCA0NCwgODAsIDIsIDUyLCA2NywgOTEsIDE0MCwgCi0gICAgMjI2LCAxNzMsIDc0LCA5NywgMjI2LCAxNzMsIDc0LCA0MywgNDQsIDIyNiwgMTczLCA3NCwgMzEsIDI1NCwgMTU0LCAyNDksIAotICAgIDIxNCwgMjI1LCAyNTMsIDI0NywgMjMzLCAyMTYsIDE4NywgMjQ1LCAyNywgMjE2LCAxODcsIDI0NywgMTM4LCAyMjgsIDUyLCAKLSAgICAyNDUsIDI4LCAyNDUsIDE1MiwgMjIwLCAxMjcsIDIzNSwgMjQ1LCAyMjksIDIyMSwgMjQ1LCAxNzAsIDIyNiwgMjMxLCAyMjgsIAotICAgIDUyLCAyNTQsIDEyNCwgMjQ1LCAxNzAsIDIyNiwgMjMxLCA0LCAyNDUsIDE3MCwgMjI2LCAyMzEsIDI0OSwgMTg2LCAyNTMsIAotICAgIDIzOCwgMjMxLCA2MiwgMjQ3LCAxMzgsIDIyOCwgNTIsIDI0OSwgMTg4LCAyNTMsIDIzOCwgMjMxLCA2MiwgNCwgMjQ5LCAKLSAgICAxODYsIDI1MywgMjM4LCAyMzEsIDYyLCAyNDUsIDE0MywgNjQsIDIyNCwgMTcyLCAyMzAsIDI0LCAyMjQsIDE4MCwgMjMwLCAKLSAgICAyNCwgMjQ5LCAxNjUsIDIzMCwgMjQsIDIxOCwgNDAsIDIzMCwgMTgyLCA1MCwgMjMwLCAxODAsIDUwLCA1OSwgMjI1LCAyMiwgCi0gICAgMjQ3LCAxNjksIDIxOSwgOTUsIDIyMCwgMTI4LCAyMzAsIDE4MSwgMjUzLCAyMTcsIDIyNiwgMTY3LCAyMjIsIDIzNCwgMjI2LCAKLSAgICAxNjcsIDI1MSwgMTE0LCAyMjYsIDE2NywgNDIsIDIyMiwgMTkzLCAyNDksIDEwOSwgMjIyLCAxOTMsIDI0NCwgNCwgMjIyLCAKLSAgICAxOTMsIDIyNCwgMTY4LCAxMTEsIDIzNSwgMjM0LCA0NCwgMjU0LCAxMDksIDI1NCwgMTA5LCAyMzEsIDg4LCAyNTQsIDEwOSwgCi0gICAgMjE4LCAyNTUsIDI1NCwgMTA5LCAyNDcsIDE3MSwgMjQ3LCAxMzgsIDIyOCwgNTIsIDI0NywgMTc0LCAyMjYsIDgsIDExMSwgCi0gICAgMjI4LCA1MiwgMjI2LCA4LCAxMTEsIDIzMiwgMTQ2LCAyNTQsIDExOCwgMjMyLCAxNDYsIDIyNiwgMTU4LCAyMzUsIDE5OCwgCi0gICAgMjE0LCAxNzUsIDIzNSwgMjExLCA1MiwgMjM1LCAyMTEsIDIxNSwgMjExLCAyMzUsIDIxMSwgMjQ5LCAxODIsIDIzNSwgMjExLCAKLSAgICAyMTgsIDEzLCAyMzUsIDIxMSwgMjEzLCAxMjksIDIzNSwgMjExLCAyNTAsIDIsIDIzNSwgMjExLCAyNTAsIDIsIDI0OSwgCi0gICAgMTgyLCAyMzUsIDIxMSwgMjU0LCA4OCwgMjQ5LCAxODIsIDIzNSwgMjExLCAyMTYsIDE4NiwgMjUyLCA2NywgMjIzLCAxMzcsIAotICAgIDIyNCwgMTY5LCA1OSwgMjMwLCAxODEsIDI0NSwgMzMsIDI0MywgNDYsIDIyNCwgMTY5LCAyNDEsIDU3LCAyMTYsIDg5LCAKLSAgICAyMjYsIDE2NywgMjIzLCA0OSwgMTgyLCAyMzUsIDE5MywgMjMzLCA2NSwgMjIyLCA5MSwgMjE5LCAxNTcsIDIxMiwgMzUsIAotICAgIDIxMSwgMjAwLCAyMjQsIDE4MCwgMjI4LCA1MiwgMTgyLCAyMzAsIDE4MiwgMTgyLCAyNTMsIDIxMCwgMTI4LCAxMTEsIDIyOCwgCi0gICAgNTIsIDI1MywgMjEwLCAxMjgsIDExMSwgMjU0LCA0OCwgMTI4LCAxMTEsIDI1NCwgNDgsIDI1MSwgODgsIDIyOCwgNTIsIAotICAgIDI1NSwgNCwgMTI4LCAxMTEsIDIyOSwgMTAwLCAyNTQsIDQ4LCAyMjgsIDU5LCAyNTUsIDQsIDEyOCwgMTExLCAyNTQsIDE0OCwgCi0gICAgMTI4LCAxMTEsIDIyOCwgNTIsIDI1NCwgMTQ4LCAxMjgsIDExMSwgMjU0LCAxNDgsIDEyOCwgMTc3LCAxMjgsIDExMSwgMjE1LCAKLSAgICAyMTEsIDE4MiwgMjU0LCAxNTUsIDEyOCwgMTExLCAyNDUsIDk0LCAxMTEsIDI0MywgNDUsIDI0NSwgOTQsIDExMSwgMjQ3LCAKLSAgICAyMzQsIDI1MiwgMjMsIDI1NCwgNTAsIDIxNiwgMTk2LCAyMzIsIDIyMSwgMjQzLCA0NSwgMTI4LCAxMTEsIDI1NCwgNDgsIAotICAgIDEyOCwgMjE2LCA0MiwgMTc3LCAyMTYsIDE5NiwgMjM2LCAxNSwgMjI2LCAyMzEsIDIzNiwgMTUsIDY0LCAxNzcsIDI1NCwgCi0gICAgNDgsIDEyOCwgMTExLCAyNDksIDIyNywgMjQ1LCA5NywgMjQ1LCA5OCwgMjQ5LCAyMjYsIDIyMiwgMjM0LCAyMzYsIDAsIAotICAgIDEyOCwgMTExLCAyMjIsIDIzNCwgMTI4LCAxMTEsIDI0OSwgMTU0LCAxMTEsIDI0NSwgNjcsIDI0NSwgOTYsIDExMSwgMjE4LCAKLSAgICAxNTcsIDI0NSwgOTcsIDI0OCwgNTUsIDEyOCwgMTExLCAxMjgsIDIxNiwgNDIsIDI1MSwgNzgsIDI0OCwgNzIsIDIzMSwgODgsIAotICAgIDI1MSwgNzcsIDIyNCwgMTEsIDEyOCwgMTExLCAyMjgsIDUyLCAxMjgsIDExMSwgMjQwLCAxMDQsIDExMSwgMjI4LCA1MiwgCi0gICAgMjQwLCAxMDQsIDExMSwgMjE4LCAxMDksIDI0NSwgOTQsIDExMSwgMjMzLCAxNSwgMTc3LCAxMjgsIDExMSwgMjQyLCAxMzAsIAotICAgIDE3NywgMTI4LCAxMTEsIDIzMywgMTUsIDExNywgMTI4LCAxMTEsIDI0MiwgMTMwLCAxMTcsIDEyOCwgMTExLCAyMzMsIDE1LCAKLSAgICAyNTEsIDg4LCAyMjgsIDUyLCAxMjgsIDExMSwgMjQyLCAxMzAsIDI1MSwgODgsIDIyOCwgNTIsIDEyOCwgMTExLCAyMzAsIAotICAgIDk3LCAyMzMsIDE0LCAyMzAsIDk3LCAyNDIsIDEyOSwgMjUyLCAyMywgMjI4LCA1MiwgMjQ1LCA5NCwgMTExLCAyMjgsIDUyLCAKLSAgICAyMzMsIDE0LCAyMjgsIDUyLCAyNDIsIDEyOSwgMjI5LCAxMDAsIDIzMywgMTUsIDIyOCwgNTksIDEyOCwgMTExLCAyMjksIAotICAgIDEwMCwgMjQyLCAxMzAsIDIyOCwgNTksIDEyOCwgMTExLCAyMzMsIDE1LCAxNzcsIDI0NSwgOTQsIDExMSwgMjQyLCAxMzAsIAotICAgIDE3NywgMjQ1LCA5NCwgMTExLCAyMjksIDEwMCwgMjMzLCAxNSwgMjI4LCA1OSwgMjQ1LCA5NCwgMTExLCAyMjksIDEwMCwgCi0gICAgMjQyLCAxMzAsIDIyOCwgNTksIDI0NSwgOTQsIDExMSwgMjMzLCAxNSwgMTc3LCAyNDIsIDEyOSwgMjQyLCAxMzAsIDE3NywgCi0gICAgMjMzLCAxNCwgMjI5LCAxMDAsIDIzMywgMTUsIDIyOCwgNTksIDI0MiwgMTI5LCAyMjksIDEwMCwgMjQyLCAxMzAsIDIyOCwgCi0gICAgNTksIDIzMywgMTQsIDIyNCwgMjAyLCAyMTgsIDU1LCAyMjQsIDIwMywgMTc3LCAxMjgsIDExMSwgMjE4LCA1NiwgMTc3LCAKLSAgICAxMjgsIDExMSwgMjI0LCAyMDMsIDE3NywgMjQ1LCA5NCwgMTExLCAyMTgsIDU2LCAxNzcsIDI0NSwgOTQsIDExMSwgMjQ3LCAKLSAgICAxMzgsIDIyOCwgNTIsIDIyNCwgMjA1LCAyNDcsIDEzOCwgMjI4LCA1MiwgMjE4LCA1NywgMjE4LCA2NCwgMjI2LCAyMzEsIAotICAgIDIxOCwgMjIsIDIyNiwgMjMxLCAyMjgsIDUyLCAxMTUsIDIxOCwgNjQsIDIyNiwgMjMxLCAyMjgsIDUyLCAxMTUsIDIxOCwgCi0gICAgMjIsIDIyNiwgMjMxLCAyMTgsIDY0LCA2NCwgMTc3LCAxMjgsIDExMSwgMjE4LCAyMiwgNjQsIDE3NywgMTI4LCAxMTEsIAotICAgIDIyOSwgMTAwLCAxMTUsIDIxOCwgNjQsIDY0LCAyMjgsIDU5LCAxMjgsIDExMSwgMjI5LCAxMDAsIDExNSwgMjE4LCAyMiwgCi0gICAgNjQsIDIyOCwgNTksIDEyOCwgMTExLCAyMTgsIDY0LCA2NCwgMiwgMjI4LCA1MiwgMTI4LCAxMTEsIDIxOCwgMjIsIDY0LCAyLCAKLSAgICAyMjgsIDUyLCAxMjgsIDExMSwgMjMwLCA4MSwgMjMwLCA4MiwgMjMwLCA4MywgMjMwLCA4MiwgMjE0LCAxNzUsIDQyLCAyMzYsIAotICAgIDE1LCAyMjYsIDIzMSwgNDIsIDIyNiwgMTUwLCAyMjYsIDIzMSwgNDIsIDIzNiwgMTUsIDY0LCAxNzcsIDEyOCwgMTExLCA0MiwgCi0gICAgMjI2LCAxNTAsIDY0LCAxNzcsIDEyOCwgMTExLCA0MiwgMjUwLCAyNTEsIDQyLCAyNDksIDEwMiwgMzcsIDIyNSwgMjIsIDM3LCAKLSAgICAyMzAsIDE4MSwgMzcsIDIxNiwgODUsIDM3LCAyNDcsIDE2OSwgMjE5LCA5NSwgMzcsIDU5LCAyMjYsIDE2NywgMzcsIDIyMiwgCi0gICAgMjM0LCAyMjYsIDE2NywgMzcsIDI1MywgMjE3LCAyMjYsIDE2NywgMzcsIDI0NSwgOTcsIDM3LCAyNDgsIDE1NiwgOTIsIAotICAgIDIyNSwgMjIsIDkyLCAyMzAsIDE4MSwgOTIsIDIxNiwgODUsIDkyLCA1OSwgMjI2LCAxNjcsIDQ0LCAyMTcsIDg3LCA0MywgCi0gICAgMjE3LCA4NywgMTI0LCAyMTcsIDg3LCAxMjAsIDIxNywgODcsIDI1MywgMjIwLCAyMzAsIDE1NiwgMjE1LCAxOTEsIDI0NCwgCi0gICAgMjUsIDIxNSwgMjExLCA2NywgMjUyLCAxNDEsIDQ0LCAyMTUsIDkzLCA1MiwgNjcsIDI1MiwgMTQxLCA1MiwgNDQsIDIxNSwgCi0gICAgOTMsIDI0NywgMTM4LCAyMjgsIDUyLCAyMjQsIDE2MywgMjI4LCA1MiwgMjE1LCAxOTEsIDI0NywgMTM4LCAyMjgsIDUyLCAKLSAgICAyNDQsIDI2LCAyMjksIDEwMiwgNTIsIDY3LCAyNTIsIDE0MSwgNTIsIDQ0LCAyMTUsIDkzLCAyMjQsIDIwMywgMjE0LCAxODQsIAotICAgIDIyMywgOTEsIDIxOCwgNTYsIDIxNCwgMTg0LCAyMjMsIDkxLCAyMjgsIDU3LCAyMTgsIDc3LCAyMjYsIDIzMSwgMjQ5LCAKLSAgICAxODYsIDI1MywgMjM4LCAyMjgsIDU3LCAyMTgsIDc2LCAyMjgsIDU3LCAyMTgsIDc3LCA2NCwgMTc3LCAxMjgsIDExMSwgCi0gICAgMjQ5LCAxODYsIDI1MywgMjM4LCAyMjgsIDU3LCAyMTgsIDc3LCAxNzcsIDEyOCwgMTExLCAyMjYsIDE1MCwgMjI2LCAyMzEsIAotICAgIDIzNiwgMTUsIDIyNiwgMjMxLCAyMzAsIDg3LCAyNDEsIDIwMCwgMjQ5LCAxOTYsIDIzMSwgMTM3LCAyMzUsIDIwOCwgMjExLCAKLSAgICAxNDUsIDIyOSwgMjAyLCAyMjgsIDU4LCA0NCwgMjU0LCAxMTAsIDIsIDI1NCwgMjUsIDQ0LCAyMTUsIDIyNSwgMjMwLCAyNCwgCi0gICAgMjMyLCAxNDYsIDI1NCwgMTE4LCAyMzAsIDI0LCAyMzIsIDE0NiwgMjI2LCAxNTgsIDIzMCwgMjQsIDIzNSwgMTk4LCAyMzAsIAotICAgIDI0LCAyMTQsIDE3NSwgMjQ3LCAyNDksIDIyNiwgMTY3LCA1OSwgMjI2LCAxNjcsIDIxOCwgMTU3LCAyMjYsIDE2NywgMjQ3LCAKLSAgICAxNjksIDIxNiwgODUsIDI1MSwgMTY0LCA0MywgMjI4LCA1NywgMjQ0LCAxODEsIDIyMCwgMTQ5LCAyMjQsIDE4MCwgNDQsIAotICAgIDIyOCwgNTcsIDI0NCwgMTgxLCAyMjAsIDE0OSwgMjI0LCAxODAsIDQzLCAyMjAsIDE0OSwgMjI0LCAxODAsIDQ0LCAyMjAsIAotICAgIDE0OSwgMjI0LCAxODAsIDIyMywgNDksIDIxNiwgODksIDI0NSwgOTcsIDI0OSwgOTksIDIzMiwgMTQ2LCAyMjYsIDE1OCwgCi0gICAgMjQ5LCA5OSwgMjMyLCAxNDYsIDI1NCwgMTE4LCA1MiwgMjE4LCA2MywgNTIsIDIxOCwgMjEsIDUyLCAyMzUsIDE5OCwgNTIsIAotICAgIDIxNCwgMTc1LCAyMjUsIDQ3LCAxMjgsIDIyLCAyMjYsIDgsIDExMSwgMjMzLCAxNSwgMiwgMjQ3LCAxMjAsIDI0MiwgMTMwLCAKLSAgICAyLCAyNDcsIDEyMCwgMjEzLCAxODcsIDIzMCwgOTcsIDIzMywgMTQsIDIxMywgMTg3LCAyMzAsIDk3LCAyNDIsIDEyOSwgCi0gICAgMjMzLCAxNSwgMTI4LCAyMTYsIDQyLCAxNzcsIDI0MiwgMTI5LCAyNDIsIDEzMCwgMTI4LCAyMTYsIDQyLCAxNzcsIDIzMywgCi0gICAgMTQsIDEyOCwgMjE2LCA0MiwgMTc3LCAyMzMsIDE0LCAxMjgsIDIxNiwgNDIsIDE3NywgMjQyLCAxMjksIDEyOCwgMjE2LCAKLSAgICA0MiwgMTc3LCAyMjQsIDIwMiwgMTI4LCAyMTYsIDQyLCAxNzcsIDIxOCwgNTUsIDI0NywgMTM4LCAyMjgsIDUyLCAyMjQsIAotICAgIDIwNiwgMTc3LCAyNDUsIDk5LCAyNDcsIDEzOCwgMjI4LCA1MiwgMjE4LCA1OCwgMTc3LCAyNDUsIDk5LCAyMjgsIDUyLCA0MiwgCi0gICAgMjM2LCAxNSwgNjQsIDE3NywgMTI4LCAxMTEsIDIyOCwgNTIsIDQyLCAyMjYsIDE1MCwgNjQsIDE3NywgMTI4LCAxMTEsIDQyLCAKLSAgICAyMzYsIDE1LCA2NCwgMTc3LCAyMjgsIDUyLCAxMjgsIDExMSwgNDIsIDIyNiwgMTUwLCA2NCwgMTc3LCAyMjgsIDUyLCAxMjgsIAotICAgIDExMSwgMjMzLCAxNSwgMjUxLCA4OCwgMjI4LCA1MiwgMjQ1LCA5NCwgMTExLCAyNDIsIDEzMCwgMjUxLCA4OCwgMjI4LCA1MiwgCi0gICAgMjQ1LCA5NCwgMTExLCAyMjQsIDIwMywgMjUxLCA4OCwgMjI4LCA1MiwgMjQ1LCA5NCwgMTExLCAyMTgsIDU2LCAyNTEsIDg4LCAKLSAgICAyMjgsIDUyLCAyNDUsIDk0LCAxMTEsIDIyOCwgNTIsIDIyOCwgNTcsIDIxOCwgNzcsIDIyNiwgMjMxLCAyNDcsIDEzOCwgCi0gICAgMjI4LCA1MiwgMjQ5LCAxODgsIDI1MywgMjM4LCAyMjgsIDU3LCAyMTgsIDc2LCAyMjgsIDUyLCAyMjgsIDU3LCAyMTgsIDc3LCAKLSAgICA2NCwgMTc3LCAxMjgsIDExMSwgMjQ3LCAxMzgsIDIyOCwgNTIsIDI0OSwgMTg4LCAyNTMsIDIzOCwgMjI4LCA1NywgMjE4LCAKLSAgICA3NywgMTc3LCAyNDUsIDk5LCA2NywgMjQ1LCAxNjMsIDIzMCwgMjIyLCAyMDMsIDI0NSwgMTYzLCAxMjAsIDQ0LCAyNDcsIAotICAgIDI1NSwgMjQ1LCAxNjMsIDEyNCwgNDQsIDI0NywgMjU1LCAyNDUsIDE2MywgMjQ1LCAxNzAsIDY0LCAyLCAxOTksIDIwMywgCi0gICAgOTEsIDI0NSwgMTcwLCA2NCwgMiwgNjcsIDI1MiwgMTQxLCAyNTMsIDIwNywgMjQ1LCAxNDMsIDY0LCAyMDMsIDkxLCA0LCAKLSAgICAyNDUsIDE3MCwgNjQsIDIsIDY3LCAyNTIsIDE0MSwgMjUzLCAyMDcsIDI0NSwgMTQzLCA2NCwgMjAzLCA5MSwgMjQ1LCAxNzAsIAotICAgIDY0LCAyLCA1OSwgNDgsIDI0NSwgMTcwLCA2NCwgMiwgMjI2LCAxMjMsIDQsIDI0NSwgMTcwLCA2NCwgMiwgMjI2LCAxMjMsIAotICAgIDI0NSwgMTcwLCA2NCwgMiwgMjE0LCAxODMsIDI0NSwgMTcwLCA2NCwgMiwgMTEzLCAyMDMsIDIxOCwgOTAsIDI0OSwgMTg2LCAKLSAgICAyLCAxOTksIDIwMywgOTEsIDI0OSwgMTg2LCAyLCA2NywgMjUyLCAxNDEsIDI1MywgMjA3LCAyNDUsIDE0MywgNjQsIDIwMywgCi0gICAgOTEsIDQsIDI0OSwgMTg2LCAyLCA2NywgMjUyLCAxNDEsIDI1MywgMjA3LCAyNDUsIDE0MywgNjQsIDIwMywgOTEsIDI0OSwgCi0gICAgMTg2LCAyLCAyMjYsIDEyMywgNCwgMjQ5LCAxODYsIDIsIDIyNiwgMTIzLCAyMTAsIDE2MCwgMTg3LCAyNTIsIDE3MywgMjMxLCAKLSAgICA2MSwgMjQ3LCAyNTAsIDUwLCAyNDUsIDE3MiwgNzQsIDI0MCwgMjM0LCAxMjAsIDI1MywgMjQ5LCAxMjQsIDI1MywgMjQ5LCAKLSAgICAyMjQsIDE3NSwgMjI1LCAxNjUsIDIxMiwgMzIsIDIzMiwgMjEzLCA0MywgMjUwLCAxODEsIDQ0LCAyNTAsIDE4MSwgNDMsIAotICAgIDI0NCwgNTcsIDQ0LCAyNDQsIDU3LCAyNTEsIDE3NSwgNDQsIDI0OSwgMTMyLCAyNTEsIDE3NSwgNDMsIDI0OSwgMTMyLCAKLSAgICAyMTYsIDE0LCA0NCwgMjQ5LCAxMzIsIDIxNiwgMTQsIDQzLCAyNDksIDEzMiwgMjIzLCA0OSwgMjI4LCA1MiwgNTAsIDQyLCAKLSAgICAyMzIsIDEwNCwgMjU0LCAyNSwgMjIxLCAxNjQsIDIyMSwgMTcxLCAyMTcsIDEsIDIyMywgMTIwLCAyMjQsIDI0MSwgMjM1LCAKLSAgICAyMzgsIDIxMywgMTY1LCAyMTgsIDIzNCwgMjI1LCA0MSwgNjQsIDIzNSwgMjA3LCA1MCwgMjE1LCA5NCwgMjI4LCA1MiwgNTAsIAotICAgIDIxMiwgNDIsIDI0MCwgMjM2LCAyMTYsIDE0LCA0MywgMjQ5LCAxNjAsIDIxNiwgMTQsIDQ0LCAyNDksIDE2MCwgMjUxLCAKLSAgICAxNzUsIDQzLCAyNDksIDE2MCwgMjUxLCAxNzUsIDQ0LCAyNDksIDE2MCwgMjE2LCAxNCwgMTYzLCAyMzUsIDIxMSwgMjUxLCAKLSAgICAxNzUsIDE2MywgMjM1LCAyMTEsIDI0MywgMjQwLCAyMTksIDc1LCAxMjAsIDI1MywgMjUwLCAyNTIsIDI0LCAxMTMsIDIwMywgCi0gICAgMjUyLCAxMjksIDIyNiwgMTYwLCAyMzQsIDEzOCwgMjQ1LCA5MCwgMjE2LCA0MiwgMjE2LCAxOTYsIDIyMiwgMjUxLCAyMTEsIAotICAgIDE3OSwgMjM2LCAwLCAxMTUsIDIyMywgMTE3LCAyNTEsIDE2MywgMjM0LCAxMzcsIDIzMywgNDIsIDI1NCwgMTEwLCAxMjcsIAotICAgIDIyMiwgMjQ3LCAyNTQsIDExMCwgMTI3LCAyNDUsIDkwLCAyMTYsIDQyLCAyMTYsIDE5NiwgMjMzLCA0NiwgMjUyLCAzNSwgCi0gICAgMjIyLCAyMzMsIDI0OSwgNzAsIDI1NCwgMTU1LCAyNTQsIDEsIDIxNywgMTgxLCAyMTYsIDQsIDIyMiwgMTIzLCAyNDcsIAotICAgIDIxNSwgMjI2LCAxNTEsIDI0OSwgMTk4LCAyMTcsIDUyLCAyMTksIDg2LCAyNDksIDE1MSwgMjQ5LCAxNTAsIDI1NCwgNjYsIAotICAgIDI0MywgMjI1LCAxNiwgMjQwLCAxNTEsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjE4LCAyMjgsIDIyNCwgMjcsIDI1NCwgCi0gICAgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjQ1LCA5OSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAyNDcsIAotICAgIDE3NCwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAyNDcsIDI0OCwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAKLSAgICAyMjQsIDI4LCAyMzUsIDU2LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI1MCwgMzUsIDI1NCwgNjYsIDI0MywgCi0gICAgMjI1LCAxNiwgMjUwLCAzNiwgMjE4LCAxMzUsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjUwLCAzNiwgMjM1LCA1NiwgMjU0LCAKLSAgICA2NiwgMjQzLCAyMjUsIDE2LCAyMTksIDk2LCAxMzAsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjUyLCAxODEsIDEzMCwgCi0gICAgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAyMTksIDk1LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIAotICAgIDI1MiwgMTgwLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDIzMywgMTQsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgCi0gICAgMjI0LCAyOCwgMjQyLCAxMjksIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTQwLCAyMTQsIDE5LCAyNTQsIDY2LCAyNDMsIAotICAgIDIyNSwgMTYsIDk3LCAyMTQsIDE5LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDE0MCwgNzQsIDI1NCwgNjYsIAotICAgIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgOTcsIDc0LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI1MCwgMzYsIDI1MiwgMTgwLCAKLSAgICAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDEyNCwgMjE3LCA4OCwgMjE0LCAxODMsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgCi0gICAgMjQ4LCA1NSwgMjE4LCAxMzUsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMTI0LCAyNTAsIDIzOCwgMjU0LCAKLSAgICA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAyNDgsIDU0LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDEyNCwgMjE3LCA4OCwgCi0gICAgMjM1LCA1NiwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMTQsIDE1MywgMjE0LCAxOSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAKLSAgICAyMjQsIDI4LCAyMTQsIDE1MywgNzQsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTIwLCAyMTcsIDg4LCAyMjYsIDEyMywgCi0gICAgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNDgsIDY2LCAyMTgsIDEzNSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAKLSAgICAxMjAsIDI1MCwgMjM4LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI0OCwgNjUsIDI1NCwgNjYsIDI0MywgCi0gICAgMjI1LCAxNiwgMTIwLCAyMTcsIDg4LCAyMzUsIDU2LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI0NiwgMTA0LCAyMTQsIDE5LCAKLSAgICAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI0NiwgMTA0LCA3NCwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjMsIAotICAgIDI1MywgMjE0LCAxODMsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjQ4LCA1NSwgMjE0LCAxODMsIDI1NCwgNjYsIDI0MywgCi0gICAgMjI1LCAxNiwgMjQ3LCAyNDksIDIxNCwgMTgzLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIzNSwgNTcsIDIxNCwgMTgzLCAKLSAgICAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI1MCwgMzYsIDIxNCwgMTgzLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDEyMCwgCi0gICAgMjIwLCA1LCAyMzUsIDU2LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyMywgMjUzLCAyMjQsIDI3LCAyNTQsIDY2LCAyNDMsIAotICAgIDIyNSwgMTYsIDI1MCwgMzYsIDIxOCwgMTU2LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI0OSwgMjI2LCAKLSAgICAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDEyMCwgMjE3LCA4OCwgMjQ4LCAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI0OCwgCi0gICAgNjYsIDI0OCwgMSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMTgsIDE1NywgMjQ4LCAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgCi0gICAgMTYsIDIzNSwgNTcsIDI0OCwgMSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNTAsIDM2LCAyNDgsIDEsIDI1NCwgNjYsIAotICAgIDI0MywgMjI1LCAxNiwgMTI0LCAyMjAsIDUsIDIxOCwgMTM1LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDQzLCAyMjAsIDUsIAotICAgIDIxOCwgMTM1LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIxNiwgODksIDI0OCwgMSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAKLSAgICAyNDIsIDEzMCwgMjQ4LCAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI0OSwgMjIwLCAxMzAsIDI1NCwgNjYsIDI0MywgCi0gICAgMjI1LCAxNiwgMjQ4LCA2NiwgMTgyLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIxMCwgMzQsIDI1NCwgNjYsIDI0MywgMjI1LCAKLSAgICAxNiwgMjE4LCAxMzYsIDE4MiwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjAsIDE1MSwgMjE0LCAxODMsIDI1NCwgNjYsIAotICAgIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjI4LCA1MiwgMjQ1LCA5OSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAKLSAgICAyMjQsIDEyLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDEyNCwgMjUwLCAyMzksIDE4MiwgMjU0LCA2NiwgMjQzLCAyMjUsIAotICAgIDE2LCAxMjAsIDI1MCwgMjM5LCAxODIsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjM1LCAxODUsIDI1NCwgNjYsIDI0MywgCi0gICAgMjI1LCAxNiwgMjIzLCAzNywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjYsIDIwMSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAKLSAgICAyNTQsIDE0NCwgMjE0LCAxODMsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjQ1LCAxMDEsIDIxNCwgMTgzLCAyNTQsIDY2LCAKLSAgICAyNDMsIDIyNSwgMTYsIDIzNSwgMTg2LCAyMTQsIDE4MywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjYsIDIwMiwgMjE0LCAKLSAgICAxODMsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjU0LCAxNDMsIDIyOCwgNTIsIDI1MCwgMTMwLCA3OCwgNDQsIDI1NCwgCi0gICAgMTEwLCAyLCAyNDYsIDEwNCwgMjEwLCAzNSwgNzQsIDIxOSwgMjM1LCAyMDQsIDI1MSwgMTYzLCAyNTIsIDQ1LCA4NywgNjcsIAotICAgIDIzMiwgMjE0LCAyLCAyMzAsIDIyNCwgMjQ3LCAxMjAsIDIzNSwgMjE2LCA4NywgMjQ5LCAxODMsIDIxNCwgMTgxLCA4NywgCi0gICAgMjQ3LCAxODksIDIxNCwgMTgxLCA4NywgMjQ1LCAxNTQsIDg3LCAyNDksIDIxMCwgODcsIDcxLCA0MiwgMiwgMjUwLCAxNzUsIAotICAgIDY3LCAyMzIsIDIxMywgMjQ1LCAxMzAsIDg3LCAyNTQsIDEzOSwgMjM0LCAxMzksIDg3LCAyNDEsIDIxMywgODcsIDM3LCAKLSAgICAyMDMsIDI1MiwgMTQxLCAyLCAyMjgsIDUwLCAzNywgMjE1LCAyMjYsIDI0NiwgMTA2LCAyNTEsIDEzNSwgMjUwLCAzNiwgMiwgCi0gICAgMjI4LCA1NCwgNzQsIDIxNCwgMTc5LCA4NywgMjMwLCAxMzcsIDg3LCAyNDAsIDE2NCwgODcsIDIyNiwgMTc0LCAyNDIsIDU5LCAKLSAgICA4NywgMjI2LCAxNzQsIDIzMywgMTQ3LCA4NywgMjI1LCAyNDQsIDg3LCAyMjUsIDI0MywgODcsIDI0NywgMTk3LCAyNDksIAotICAgIDk3LCAxNiwgMjQ0LCAyMCwgMTA1LCAyMTksIDUwLCA4NywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI3LCAyNDgsIAotICAgIDgzLCAyMjAsIDEzOCwgMjM0LCAxMzksIDg3LCAyMjQsIDE5MiwgMjI2LCA3NSwgMjI5LCA4MiwgMjI2LCA3NSwgMjI0LCAKLSAgICAxODgsIDIyMSwgMTg5LCA4NywgMjUwLCAxNywgMjIxLCAxODksIDg3LCA0MywgMjI2LCA0LCAyMTQsIDE2MCwgMTAzLCA0MywgCi0gICAgMjI2LCA0LCAyNDUsIDIxLCA0MywgMjI2LCA0LCAyMzIsIDEwOCwgMTAzLCA0NCwgMjI2LCA0LCAyMTQsIDE2MCwgMTAzLCAKLSAgICA0NCwgMjI2LCA0LCAyNDUsIDIxLCA0NCwgMjI2LCA0LCAyMzIsIDEwOCwgMTAzLCA0MywgNDIsIDI1MSwgMTU4LCAyMTQsIAotICAgIDE2MCwgMjQ5LCAxNjAsIDQzLCA0MiwgMjUxLCAxNTgsIDI0NSwgMjEsIDQzLCA0MiwgMjUxLCAxNTgsIDIzMiwgMTA4LCAKLSAgICAyNDksIDE2MCwgNDQsIDQyLCAyNTEsIDE1OCwgMjE0LCAxNjAsIDI0OSwgMTYwLCA0NCwgNDIsIDI1MSwgMTU4LCAyNDUsIAotICAgIDIxLCA0NCwgNDIsIDI1MSwgMTU4LCAyMzIsIDEwOCwgMjQ5LCAxNjAsIDQzLCAyNDksIDk5LCAyNTEsIDE1OCwgMjE0LCAKLSAgICAxNjAsIDEwMywgNDMsIDI0OSwgOTksIDI1MSwgMTU4LCAyMzAsIDIyNCwgMjI1LCAxMDEsIDQzLCAyNDksIDk5LCAyNTEsIAotICAgIDE1OCwgMjMyLCAxMDgsIDEwMywgMjQ5LCA5OSwgMjUxLCAxNTgsIDI0NSwgMjEsIDQ0LCAyNDksIDk5LCAyNTEsIDE1OCwgCi0gICAgMjE0LCAxNjAsIDEwMywgNDQsIDI0OSwgOTksIDI1MSwgMTU4LCAyMzAsIDIyNCwgMjI1LCAxMDEsIDQ0LCAyNDksIDk5LCAKLSAgICAyNTEsIDE1OCwgMjMyLCAxMDgsIDEwMywgMjM1LCAyMTIsIDI0NSwgMjEsIDIwMywgMjMyLCAyMTQsIDI0NSwgMjEsIDIxNCwgCi0gICAgMTYwLCA0MywgMTc3LCAyMzIsIDEwOCwgNDQsIDI0OSwgOTksIDI1MSwgMTU4LCAyMjEsIDE3MiwgMjE0LCAxNjAsIDQ0LCAKLSAgICAxNzcsIDIzMiwgMTA4LCA0MywgMjQ5LCA5OSwgMjUxLCAxNTgsIDIyMSwgMTcyLCAyMTgsIDQxLCAyMTYsIDEzLCAyMTgsIAotICAgIDQxLCAyNTEsIDE3NCwgMjE2LCAxNCwgNDIsIDEyNywgMjUxLCAxNzUsIDQyLCAxMjcsIDI1MSwgMTc1LCA0MiwgMjUxLCAKLSAgICAxNTgsIDExNywgMjE2LCAxNCwgNDIsIDEyNywgMzQsIDE2LCAyNTEsIDE3NCwgNDMsIDY3LCA5MywgMjMyLCAyMTMsIDQ0LCAKLSAgICA2NywgOTMsIDIzMiwgMjEzLCAyMDMsIDIyMSwgMjA1LCAyMzIsIDIxMiwgMjAzLCAyMjEsIDIwNSwgMjMyLCAyMTEsIDIwMywgCi0gICAgMjIxLCAyMDUsIDIzMiwgMjEwLCAyMDMsIDIyMSwgMjA1LCAyMzIsIDIwOSwgMjQ4LCA0NiwgMTYsIDE5MiwgNjcsIDIyLCAKLSAgICAyMTYsIDE0LCAyMjIsIDI1MSwgMjQ4LCA0NiwgMTYsIDE5MiwgNjcsIDIyLCAyNTEsIDE3NSwgMjIyLCAyNTEsIDI0OCwgNDYsIAotICAgIDE2LCAxOTIsIDY3LCAyLCAyNTAsIDM1LCAyNDgsIDQ2LCAxNiwgMTkyLCAxMjQsIDIyLCAyMDMsIDIsIDI1MCwgMzUsIDI0OCwgCi0gICAgNDYsIDE2LCAxOTIsIDEyMCwgMjIsIDIwMywgMiwgMjUwLCAzNSwgMjQ4LCA0NiwgMTYsIDE5MiwgNjcsIDIsIDIxNSwgMjI1LCAKLSAgICAyNDgsIDQ2LCAxNiwgMTkyLCAxMjQsIDIyLCAyMDMsIDIsIDIxNSwgMjI1LCAyNDgsIDQ2LCAxNiwgMTkyLCAxMjAsIDIyLCAKLSAgICAyMDMsIDIsIDIxNSwgMjI1LCAyNDgsIDQ2LCAxNiwgMTkyLCA2NywgMjIsIDIxMiwgMzUsIDI0OCwgNDYsIDE2LCAxOTIsIAotICAgIDEyNCwgMjIsIDIwMywgMiwgMjEyLCAzNSwgMjQ4LCA0NiwgMTYsIDE5MiwgMTIwLCAyMiwgMjAzLCAyLCAyMTIsIDM1LCAKLSAgICAyNDgsIDQ2LCAxNiwgMTkyLCAxMjQsIDIyLCAyNDEsIDQ0LCAyNDgsIDQ2LCAxNiwgMTkyLCAxMjAsIDIyLCAyNDEsIDQ0LCAKLSAgICAyNDgsIDQ2LCAxNiwgMTkyLCA2NywgMjIsIDIxNiwgMTQsIDIzMywgNDYsIDI0OCwgNDYsIDE2LCAxOTIsIDY3LCAyMiwgCi0gICAgMjUxLCAxNzUsIDIzMywgNDYsIDQyLCAyNDQsIDMyLCAyMjMsIDU0LCA4NywgMjQ1LCAxODIsIDg3LCA2NywgMjMyLCAyMTQsIAotICAgIDI0NSwgMjEsIDIzMSwgMzMsIDI1MSwgMTQ2LCAyMzEsIDMzLCAxOTksIDExNywgMjE5LCAyNTAsIDIzMSwgMzMsIDIxOSwgCi0gICAgMjUxLCAxMTcsIDIzMiwgMTM3LCAyMzEsIDMzLCAxOTksIDExNywgMTEzLCAyMTksIDIzNywgMjMxLCAzMywgMTEzLCAyMTksIAotICAgIDIzOCwgMTE3LCAyMzIsIDEzNywgMjMxLCAzMywgMTEzLCAyMTksIDIzOCwgMjM1LCA2NCwgMjMxLCAzMywgMjE1LCAyMDgsIAotICAgIDIzMSwgMzMsIDIxNiwgMjIzLCAyMzEsIDMzLCAyMjUsIDE4OCwgMjQ1LCAyMjQsIDI0MiwgMTIyLCAyNDMsIDIxOSwgMjE2LCAKLSAgICAxNCwgMjI2LCAzLCAyNTEsIDE3NSwgMjI2LCAzLCAyMTYsIDE0LCAyNDksIDk5LCAxMjcsIDI1MSwgMTc1LCAyNDksIDk5LCAKLSAgICAxMjcsIDIxNiwgMTQsIDIxNiwgNiwgMjIwLCA1MywgMTI3LCAyNTEsIDE3NSwgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDcxLCAKLSAgICAyMTUsIDIzOSwgMjUyLCAzNSwgMjIyLCAyMzQsIDIsIDI1MCwgMzUsIDIxOCwgMTIwLCAyNDQsIDY0LCAyNTUsIDE3LCAyNDksIAotICAgIDk2LCAyNDUsIDE3MSwgMjM1LCAxOTgsIDI0OCwgODMsIDI0NSwgMjQsIDg3LCA4NSwgMjIyLCAyNDcsIDUyLCAyMTUsIDIyNSwgCi0gICAgODUsIDIzMywgNDIsIDUyLCAyMTUsIDIyNSwgODUsIDIxNCwgMTYyLCA1MiwgMjE1LCAyMjUsIDg1LCAyNDYsIDEwNSwgNTIsIAotICAgIDIxNSwgMjI1LCA4NSwgMjIyLCAyNDcsIDUyLCAyMTUsIDIyNiwgMiwgNjcsIDEzMCwgODUsIDIzMywgNDIsIDUyLCAyMTUsIAotICAgIDIyNiwgMiwgNjcsIDEzMCwgODUsIDIyMiwgMjQ3LCAyMTUsIDIyNiwgMiwgNTIsIDY3LCAxMzAsIDI1NCwgMTczLCAyNTAsIAotICAgIDMsIDIxOCwgMTI2LCAyMTYsIDg2LCAyNTAsIDMsIDI0MCwgMjM3LCAyLCAyNDQsIDUwLCAyMjEsIDI0MSwgMTYsIDMxLCAKLSAgICAyMjcsIDIwMiwgMTYsIDMxLCAyMTgsIDE1MiwgNjQsIDI0MSwgMjMzLCAxNiwgMzEsIDIxOCwgMTUyLCA2NCwgMjE2LCAyMTIsIAotICAgIDE2LCAzMSwgMjQ1LCAxNDMsIDY0LCAyMTYsIDIxMiwgMTYsIDMxLCAyNDUsIDE0MywgNjQsIDIxNSwgMjQzLCAxNiwgMzEsIAotICAgIDI0NSwgMTMyLCAxNiwgMzEsIDI1NSwgNywgMTYsIDMxLCAyNTIsIDQ0LCAxNiwgMzEsIDI1MiwgMTc5LCAxNiwgMzEsIDIwMywgCi0gICAgMjE3LCA4OSwgMTYsIDMxLCAyMzIsIDIxNCwgMjQ0LCAxNDUsIDE2LCAzMSwgNjcsIDIxNywgODksIDE2LCAzMSwgMjQ0LCAKLSAgICAyMCwgMjQ0LCAxNDUsIDE2LCAzMSwgMjUwLCAyMzAsIDIyMywgNTMsIDE2LCAzMSwgMjIwLCAyOCwgMjI2LCAxMzAsIDE2LCAKLSAgICAzMSwgMjIwLCAyOCwgMjM1LCAyNTUsIDE2LCAzMSwgMjQ4LCAxNTEsIDIzMiwgMjA0LCAyNDUsIDc3LCAxNiwgMzEsIDI0OCwgCi0gICAgMzEsIDI0OSwgMTc4LCAxMTAsIDE2LCAzMSwgMjQ4LCAzMSwgMjQ5LCAxNzgsIDEwNSwgMTYsIDMxLCAyNDgsIDMxLCAyNDksIAotICAgIDE3OCwgMTU4LCAxNiwgMzEsIDI0OCwgMzEsIDI0OSwgMTc4LCAxNjEsIDE2LCAzMSwgMTUyLCAyNTUsIDcsIDE2LCAzMSwgCi0gICAgMjE3LCAxNzcsIDIzNiwgNjIsIDE2LCAzMSwgMjQ1LCAxNDMsIDY0LCAyMTUsIDI0NCwgMjUxLCAyMTMsIDE2LCAzMSwgMjUxLCAKLSAgICA1LCAxNiwgMzEsIDI0NSwgMTQzLCA2NCwgMjMxLCA4MSwgMTYsIDMxLCAyMTgsIDYxLCAxNiwgMzEsIDI0NSwgNzcsIDE2LCAKLSAgICAzMSwgMjQ0LCAxMDcsIDIyMCwgMTM3LCAxNiwgMzEsIDI0MiwgMTIxLCAyMjAsIDEzNywgMTYsIDMxLCAyMjMsIDEyMSwgCi0gICAgMjIwLCAxMzcsIDE2LCAzMSwgMjE0LCAxNzQsIDIyMCwgMTM3LCAxNiwgMzEsIDIxOSwgMTgsIDE2LCAzMSwgMjQ4LCA2MywgCi0gICAgMjUxLCAyMTYsIDg3LCAyMDQsIDI1MSwgMTYzLCAxNiwgMzEsIDIyOSwgODUsIDE2LCAzMSwgMjQ4LCA2NCwgMjQ0LCAyMCwgCi0gICAgMTA1LCAxNiwgMzEsIDIxOCwgNjIsIDI0NCwgMjAsIDEwNSwgMjI2LCAyNDEsIDEwMywgMjI2LCAyNDEsIDI1MCwgMTUyLCAKLSAgICAyMjYsIDI0MSwgMjQ0LCAyMywgMjI2LCAyNDEsIDIzNSwgMTkzLCAyNDQsIDIzLCAyMjYsIDI0MSwgMjUyLCA0MiwgMjUxLCAKLSAgICAxMjQsIDIyNiwgMjQxLCAyNTEsIDE3MCwgMjE2LCAxMTEsIDIyNiwgMjQxLCAyNTEsIDE1NSwgMjUyLCAxNDYsIDI0MCwgCi0gICAgMTAzLCAyMjYsIDI0MSwgMjU0LCAxMjcsIDY0LCAyNTAsIDEyOSwgMjI2LCAyNDEsIDI0OCwgMTU2LCAyMjYsIDI0MSwgMjQ5LCAKLSAgICA4NywgMjU1LCAxMSwgMjI3LCAyMDAsIDIyNiwgMjQxLCA1MiwgMjUyLCAxODAsIDM3LCAyMSwgMTEwLCAzNywgMjEsIDEwNSwgCi0gICAgMzcsIDIxLCAxNTgsIDM3LCAyMSwgMTYxLCAzNywgMjEsIDE4OSwgMzcsIDIxLCAxOTQsIDM3LCAyMSwgMTk4LCAzNywgMjEsIAotICAgIDE5NSwgMzcsIDIxLCAyMDAsIDM3LCA1NCwgMjE2LCAyNDcsIDM3LCA1NCwgMjQ1LCAxNjcsIDM3LCA1NCwgMjE1LCA3NiwgCi0gICAgMzcsIDU0LCAyMTYsIDE2NCwgMzcsIDU0LCAyNDQsIDUsIDM3LCA1NCwgMjQ0LCAxMTgsIDM3LCA1NCwgMjE5LCAxMTksIDM3LCAKLSAgICA1NCwgMjIwLCAxMTksIDM3LCA1NCwgMjQ1LCAxOTAsIDM3LCA1NCwgMjI4LCAxOTcsIDM3LCA1NCwgMjE1LCA3MywgODgsIAotICAgIDIxLCAxMTAsIDg4LCAyMSwgMTA1LCA4OCwgMjEsIDE1OCwgODgsIDIxLCAxNjEsIDg4LCAyMSwgMTg5LCA4OCwgMjEsIDE5NCwgCi0gICAgODgsIDIxLCAxOTgsIDg4LCAyMSwgMTk1LCA4OCwgMjEsIDIwMCwgODgsIDU0LCAyMTYsIDI0NywgODgsIDU0LCAyNDUsIAotICAgIDE2NywgODgsIDU0LCAyMTUsIDc2LCA4OCwgNTQsIDIxNiwgMTY0LCA4OCwgNTQsIDI0NCwgNSwgODgsIDU0LCAyNDQsIDExOCwgCi0gICAgODgsIDU0LCAyMTksIDExOSwgODgsIDU0LCAyMjAsIDExOSwgODgsIDU0LCAyNDUsIDE5MCwgODgsIDU0LCAyMjgsIDE5NywgCi0gICAgODgsIDU0LCAyMTUsIDczLCAyMSwgMTIzLCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAxMTMsIDI0MywgMjI5LCAyMTgsIAotICAgIDEyOSwgMjEsIDEzNCwgMjQzLCAyMjksIDIxOCwgMTI5LCAyMSwgMjQ0LCAxMSwgMjQzLCAyMjksIDIxOCwgMTI5LCAyMSwgCi0gICAgMjQ0LCA4MSwgMjQzLCAyMjksIDIxOCwgMTI5LCAyMSwgMjE5LCAxMjUsIDI0MywgMjI5LCAyMTgsIDEyOSwgMjEsIDIyMCwgCi0gICAgMTIyLCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAyNDUsIDE5MywgMjQzLCAyMjksIDIxOCwgMTI5LCAyMSwgMjI4LCAyMDAsIAotICAgIDI0MywgMjI5LCAyMTgsIDEyOSwgNTQsIDIxNiwgMjQ4LCAyNDMsIDIyOSwgMjE4LCAxMjksIDU0LCAyNDUsIDE2OCwgMjQzLCAKLSAgICAyMjksIDIxOCwgMTI5LCA1NCwgMjE1LCA3NywgMjQzLCAyMjksIDIxOCwgMTI5LCA1NCwgMjE2LCAxNjUsIDI0MywgMjI5LCAKLSAgICAyMTgsIDEyOSwgNTQsIDI0NCwgNiwgMjQzLCAyMjksIDIxOCwgMTI5LCA1NCwgMjQ0LCAxMTksIDI0MywgMjI5LCAyMTgsIAotICAgIDEyOSwgNTQsIDIxOSwgMTIwLCAyNDMsIDIyOSwgMjE4LCAxMjksIDU0LCAyMjAsIDEyMCwgMjQzLCAyMjksIDIxOCwgMTI5LCAKLSAgICA1NCwgMjQ1LCAxOTEsIDI0MywgMjI5LCAyMTgsIDEyOSwgNTQsIDIyOCwgMTk4LCAyNDMsIDIyOSwgMjE4LCAxMjksIDU0LCAKLSAgICAyMTUsIDc0LCAyNDMsIDIyOSwgMjE4LCAxMjksIDg4LCA3LCA0LCAxLCA2MSwgODgsIDcsIDQsIDEsIDI1MywgMTU4LCA4OCwgCi0gICAgNywgNCwgMSwgMjUxLCA2NiwgODgsIDcsIDQsIDEsIDI0OSwgNjAsIDg4LCA3LCA0LCAxLCA3NSwgODgsIDcsIDQsIDEsIAotICAgIDI0NSwgNiwgODgsIDcsIDQsIDEsIDI0MywgMjAyLCA4OCwgNywgNCwgMSwgMjQyLCA2MCwgODgsIDcsIDQsIDEsIDczLCA4OCwgCi0gICAgNywgNCwgMSwgMjM1LCAxNDQsIDg4LCA3LCA0LCAxLCAyMzUsIDIzLCA4OCwgNywgNCwgMSwgMTU2LCA4OCwgNywgNCwgMSwgCi0gICAgMTkzLCA4OCwgNywgNCwgMSwgMjMwLCAyNSwgODgsIDcsIDQsIDEsIDc2LCA4OCwgNywgNCwgMSwgMjI2LCAxMDUsIDg4LCA3LCAKLSAgICA0LCAxLCAyMjQsIDk2LCA4OCwgNywgNCwgMSwgMTUzLCA4OCwgNywgNCwgMSwgMjIyLCA5MSwgODgsIDcsIDQsIDEsIDIxNywgCi0gICAgMTUyLCA4OCwgNywgNCwgMSwgNzAsIDg4LCA3LCA0LCAxLCAyMTQsIDEwNSwgODgsIDcsIDQsIDEsIDIxMiwgOTgsIDg4LCA3LCAKLSAgICA0LCAxLCAyMTEsIDE3OCwgODgsIDcsIDQsIDEsIDIxMSwgMTE3LCA4OCwgNywgNCwgMSwgMjEwLCAxNTksIDM3LCA3LCA2LCAKLSAgICAxLCA2MSwgMzcsIDcsIDYsIDEsIDI1MywgMTU4LCAzNywgNywgNiwgMSwgMjUxLCA2NiwgMzcsIDcsIDYsIDEsIDI0OSwgNjAsIAotICAgIDM3LCA3LCA2LCAxLCA3NSwgMzcsIDcsIDYsIDEsIDI0NSwgNiwgMzcsIDcsIDYsIDEsIDI0MywgMjAyLCAzNywgNywgNiwgMSwgCi0gICAgMjQyLCA2MCwgMzcsIDcsIDYsIDEsIDczLCAzNywgNywgNiwgMSwgMjM1LCAxNDQsIDM3LCA3LCA2LCAxLCAyMzUsIDIzLCAKLSAgICAzNywgNywgNiwgMSwgMTU2LCAzNywgNywgNiwgMSwgMTkzLCAzNywgNywgNiwgMSwgMjMwLCAyNSwgMzcsIDcsIDYsIDEsIAotICAgIDc2LCAzNywgNywgNiwgMSwgMjI2LCAxMDUsIDM3LCA3LCA2LCAxLCAyMjQsIDk2LCAzNywgNywgNiwgMSwgMTUzLCAzNywgNywgCi0gICAgNiwgMSwgMjIyLCA5MSwgMzcsIDcsIDYsIDEsIDIxNywgMTUyLCAzNywgNywgNiwgMSwgNzAsIDM3LCA3LCA2LCAxLCAyMTQsIAotICAgIDEwNSwgMzcsIDcsIDYsIDEsIDIxMiwgOTgsIDM3LCA3LCA2LCAxLCAyMTEsIDE3OCwgMzcsIDcsIDYsIDEsIDIxMSwgMTE3LCAKLSAgICAzNywgNywgNiwgMSwgMjEwLCAxNTksIDM3LCA3LCA0LCAxLCA2MSwgMzcsIDcsIDQsIDEsIDI1MywgMTU4LCAzNywgNywgNCwgCi0gICAgMSwgMjUxLCA2NiwgMzcsIDcsIDQsIDEsIDI0OSwgNjAsIDM3LCA3LCA0LCAxLCA3NSwgMzcsIDcsIDQsIDEsIDI0NSwgNiwgCi0gICAgMzcsIDcsIDQsIDEsIDI0MywgMjAyLCAzNywgNywgNCwgMSwgMjQyLCA2MCwgMzcsIDcsIDQsIDEsIDczLCAzNywgNywgNCwgCi0gICAgMSwgMjM1LCAxNDQsIDM3LCA3LCA0LCAxLCAyMzUsIDIzLCAzNywgNywgNCwgMSwgMTU2LCAzNywgNywgNCwgMSwgMTkzLCAKLSAgICAzNywgNywgNCwgMSwgMjMwLCAyNSwgMzcsIDcsIDQsIDEsIDc2LCAzNywgNywgNCwgMSwgMjI2LCAxMDUsIDM3LCA3LCA0LCAKLSAgICAxLCAyMjQsIDk2LCAzNywgNywgNCwgMSwgMTUzLCAzNywgNywgNCwgMSwgMjIyLCA5MSwgMzcsIDcsIDQsIDEsIDIxNywgCi0gICAgMTUyLCAzNywgNywgNCwgMSwgNzAsIDM3LCA3LCA0LCAxLCAyMTQsIDEwNSwgMzcsIDcsIDQsIDEsIDIxMiwgOTgsIDM3LCA3LCAKLSAgICA0LCAxLCAyMTEsIDE3OCwgMzcsIDcsIDQsIDEsIDIxMSwgMTE3LCAzNywgNywgNCwgMSwgMjEwLCAxNTksIDM3LCAyMSwgCi0gICAgMjEwLCA4NiwgMTUyLCAzNywgNTQsIDI0NSwgMTY3LCAxNTIsIDM3LCA1NCwgMjE1LCA3NiwgMTUyLCAzNywgNTQsIDIxNiwgCi0gICAgMTY0LCAxNTIsIDM3LCA1NCwgMjQ0LCA1LCAxNTIsIDM3LCA1NCwgMjQ0LCAxMTgsIDE1MiwgMzcsIDU0LCAyMTksIDExOSwgCi0gICAgMTUyLCAzNywgNTQsIDIyMCwgMTE5LCAxNTIsIDM3LCA1NCwgMjQ1LCAxOTAsIDE1MiwgMzcsIDU0LCAyMjgsIDE5NywgMTUyLCAKLSAgICAzNywgNTQsIDIxNSwgNzMsIDUyLCAzNywgMjEsIDExMCwgNTIsIDM3LCAyMSwgMTA1LCA1MiwgMzcsIDIxLCAxNTgsIDUyLCAKLSAgICAzNywgMjEsIDE2MSwgNTIsIDM3LCAyMSwgMTg5LCA1MiwgMzcsIDIxLCAxOTQsIDUyLCAzNywgMjEsIDE5OCwgNTIsIDM3LCAKLSAgICAyMSwgMTk1LCA1MiwgMzcsIDIxLCAyMDAsIDUyLCAzNywgNTQsIDIxNiwgMjQ3LCAxNTIsIDM3LCAyMSwgMjEwLCA4NiwgOTMsIAotICAgIDk5LCAxOTIsIDI0MSwgNDQsIDkzLCA5OSwgMTE0LCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgMjEzLCAyMzksIDkzLCA5OSwgCi0gICAgMTE0LCAyMTMsIDIzOSwgOTMsIDk5LCAxOTIsIDIxNSwgMjExLCAyNDgsIDE1NywgMjQxLCA0NCwgOTMsIDk5LCAxMTQsIAotICAgIDIxNSwgMjExLCAyNDgsIDE1NywgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDIxNSwgMjExLCAyNDgsIDE1NywgMjEzLCAyMzksIAotICAgIDkzLCA5OSwgMTE0LCAyMTUsIDIxMSwgMjQ4LCAxNTcsIDIxMywgMjM5LCA5MywgOTksIDE5MiwgMjI0LCAyNCwgMjQ4LCAKLSAgICAxNTcsIDI0MSwgNDQsIDkzLCA5OSwgMTE0LCAyMjQsIDI0LCAyNDgsIDE1NywgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDIyNCwgCi0gICAgMjQsIDI0OCwgMTU3LCAyMTMsIDIzOSwgOTMsIDk5LCAxMTQsIDIyNCwgMjQsIDI0OCwgMTU3LCAyMTMsIDIzOSwgOTMsIDk5LCAKLSAgICAxOTIsIDEyNCwgMjIsIDIyMiwgMjUxLCA5MywgOTksIDEyNCwgMTkyLCAyMiwgNDQsIDI0MSwgMjIxLCA5MywgOTksIDEyNCwgCi0gICAgMTE0LCAyMiwgNDQsIDIzMiwgMjMwLCA5MywgOTksIDExNCwgMTI0LCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgMTkyLCAxMjQsIAotICAgIDIyLCAyMzMsIDQ2LCA5MywgOTksIDEyNCwgMTkyLCAyMiwgNDMsIDI0MSwgMjIxLCA5MywgOTksIDEyNCwgMTE0LCAyMiwgCi0gICAgNDMsIDIzMiwgMjMwLCA5MywgOTksIDExNCwgMTI0LCAyMiwgMjMzLCA0NiwgOTMsIDk5LCAxOTIsIDEyMCwgMjIsIDIyMiwgCi0gICAgMjUxLCA5MywgOTksIDEyMCwgMTkyLCAyMiwgNDQsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTE0LCAyMiwgNDQsIDIzMiwgCi0gICAgMjMwLCA5MywgOTksIDExNCwgMTIwLCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgMTkyLCAxMjAsIDIyLCAyMzMsIDQ2LCA5MywgCi0gICAgOTksIDEyMCwgMTkyLCAyMiwgNDMsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTE0LCAyMiwgNDMsIDIzMiwgMjMwLCA5MywgCi0gICAgOTksIDExNCwgMTIwLCAyMiwgMjMzLCA0NiwgOTMsIDk5LCAxOTIsIDY3LCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgNjcsIAotICAgIDE5MiwgMjIsIDQ0LCAyNDEsIDIyMSwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDQ0LCAxMjQsIDIzMiwgMjMwLCA5MywgOTksIAotICAgIDEyNCwgMTE0LCAyMiwgNDQsIDEyMCwgMjMyLCAyMzAsIDkzLCA5OSwgNjcsIDExNCwgMjIsIDQ0LCAyMzIsIDIzMCwgOTMsIAotICAgIDk5LCAxMjQsIDE5MiwgMjIsIDQ0LCAxMjAsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTkyLCAyMiwgNDQsIDEyNCwgMjQxLCAKLSAgICAyMjEsIDkzLCA5OSwgMTE0LCA2NywgMjIsIDIyMiwgMjUxLCA5MywgOTksIDE5MiwgNjcsIDIyLCAyMzMsIDQ2LCA5MywgOTksIAotICAgIDY3LCAxOTIsIDIyLCA0MywgMjQxLCAyMjEsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCA0MywgMTI0LCAyMzIsIDIzMCwgOTMsIAotICAgIDk5LCAxMjQsIDExNCwgMjIsIDQzLCAxMjAsIDIzMiwgMjMwLCA5MywgOTksIDY3LCAxMTQsIDIyLCA0MywgMjMyLCAyMzAsIAotICAgIDkzLCA5OSwgMTI0LCAxOTIsIDIyLCA0MywgMTIwLCAyNDEsIDIyMSwgOTMsIDk5LCAxMjAsIDE5MiwgMjIsIDQzLCAxMjQsIAotICAgIDI0MSwgMjIxLCA5MywgOTksIDExNCwgNjcsIDIyLCAyMzMsIDQ2LCA5MywgOTksIDE5MiwgMTI0LCAyMiwgMjQxLCA0NCwgCi0gICAgOTMsIDk5LCA0MywgMTE0LCAyMiwgNDQsIDEyNCwgMjMyLCAyMzAsIDkzLCA5OSwgNDQsIDExNCwgMjIsIDQzLCAxMjQsIAotICAgIDIzMiwgMjMwLCA5MywgOTksIDEyNCwgMTkyLCAyMiwgMjAzLCAyNDEsIDIyMSwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDIwMywgCi0gICAgMjMyLCAyMzAsIDkzLCA5OSwgNDQsIDE5MiwgMjIsIDQzLCAxMjQsIDI0MSwgMjIxLCA5MywgOTksIDQzLCAxOTIsIDIyLCAKLSAgICA0NCwgMTI0LCAyNDEsIDIyMSwgOTMsIDk5LCAxMTQsIDEyNCwgMjIsIDI0MSwgNDQsIDkzLCA5OSwgMTkyLCAxMjAsIDIyLCAKLSAgICAyNDEsIDQ0LCA5MywgOTksIDQzLCAxMTQsIDIyLCA0NCwgMTIwLCAyMzIsIDIzMCwgOTMsIDk5LCA0NCwgMTE0LCAyMiwgNDMsIAotICAgIDEyMCwgMjMyLCAyMzAsIDkzLCA5OSwgMTIwLCAxOTIsIDIyLCAyMDMsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTE0LCAyMiwgCi0gICAgMjAzLCAyMzIsIDIzMCwgOTMsIDk5LCA0NCwgMTkyLCAyMiwgNDMsIDEyMCwgMjQxLCAyMjEsIDkzLCA5OSwgNDMsIDE5MiwgCi0gICAgMjIsIDQ0LCAxMjAsIDI0MSwgMjIxLCA5MywgOTksIDExNCwgMTIwLCAyMiwgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDY3LCAKLSAgICAyMiwgMjQxLCA0NCwgOTMsIDk5LCA0MywgMTE0LCAyMiwgNDQsIDY3LCAyMzIsIDIzMCwgOTMsIDk5LCA0NCwgMTE0LCAyMiwgCi0gICAgNDMsIDY3LCAyMzIsIDIzMCwgOTMsIDk5LCA2NywgMTkyLCAyMiwgMjAzLCAyNDEsIDIyMSwgOTMsIDk5LCAxMjAsIDExNCwgCi0gICAgMjIsIDEyNCwgMjAzLCAyMzIsIDIzMCwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDEyMCwgMjAzLCAyMzIsIDIzMCwgOTMsIDk5LCAKLSAgICA2NywgMTE0LCAyMiwgMjAzLCAyMzIsIDIzMCwgOTMsIDk5LCA0MywgMTIwLCAxMTQsIDIyLCA0NCwgMTI0LCAyMzIsIDIzMCwgCi0gICAgOTMsIDk5LCA0NCwgMTIwLCAxMTQsIDIyLCA0MywgMTI0LCAyMzIsIDIzMCwgOTMsIDk5LCA0MywgMTI0LCAxMTQsIDIyLCAKLSAgICA0NCwgMTIwLCAyMzIsIDIzMCwgOTMsIDk5LCA0NCwgMTI0LCAxMTQsIDIyLCA0MywgMTIwLCAyMzIsIDIzMCwgOTMsIDk5LCAKLSAgICAxMjQsIDE5MiwgMjIsIDEyMCwgMjAzLCAyNDEsIDIyMSwgOTMsIDk5LCAxMjAsIDE5MiwgMjIsIDEyNCwgMjAzLCAyNDEsIAotICAgIDIyMSwgOTMsIDk5LCA0NCwgMTkyLCAyMiwgNDMsIDY3LCAyNDEsIDIyMSwgOTMsIDk5LCA0MywgMTkyLCAyMiwgNDQsIDY3LCAKLSAgICAyNDEsIDIyMSwgOTMsIDk5LCAxMTQsIDY3LCAyMiwgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDUyLCAyNDgsIDE1NywgMjQxLCAKLSAgICA0NCwgOTMsIDk5LCAxMTQsIDUyLCAyNDgsIDE1NywgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDUyLCAyNDgsIDE1NywgMjEzLCAKLSAgICAyMzksIDkzLCA5OSwgMTE0LCA1MiwgMjQ4LCAxNTcsIDIxMywgMjM5LCA5MywgOTksIDUyLCAyNDEsIDQ0LCA5MywgOTksIAotICAgIDUyLCAyMTMsIDIzOSwgOTMsIDk5LCAxMjQsIDIxOSwgMTU1LCAyMiwgNDQsIDI0NiwgMTEzLCA5MywgOTksIDEyNCwgNTIsIAotICAgIDIyLCA0NCwgMjE5LCAxNTQsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDIyMiwgMjUxLCA5MywgOTksIDEyNCwgMjE5LCAxNTUsIAotICAgIDIyLCA0MywgMjQ2LCAxMTMsIDkzLCA5OSwgMTI0LCA1MiwgMjIsIDQzLCAyMTksIDE1NCwgOTMsIDk5LCA1MiwgMTI0LCAyMiwgCi0gICAgMjMzLCA0NiwgOTMsIDk5LCAxMjAsIDIxOSwgMTU1LCAyMiwgNDQsIDI0NiwgMTEzLCA5MywgOTksIDEyMCwgNTIsIDIyLCAKLSAgICA0NCwgMjE5LCAxNTQsIDkzLCA5OSwgNTIsIDEyMCwgMjIsIDIyMiwgMjUxLCA5MywgOTksIDEyMCwgMjE5LCAxNTUsIDIyLCAKLSAgICA0MywgMjQ2LCAxMTMsIDkzLCA5OSwgMTIwLCA1MiwgMjIsIDQzLCAyMTksIDE1NCwgOTMsIDk5LCA1MiwgMTIwLCAyMiwgCi0gICAgMjMzLCA0NiwgOTMsIDk5LCA2NywgMjE5LCAxNTUsIDIyLCA0NCwgMjQ2LCAxMTMsIDkzLCA5OSwgNjcsIDUyLCAyMiwgNDQsIAotICAgIDIxOSwgMTU0LCA5MywgOTksIDUyLCA2NywgMjIsIDIyMiwgMjUxLCA5MywgOTksIDY3LCAyMTksIDE1NSwgMjIsIDQzLCAKLSAgICAyNDYsIDExMywgOTMsIDk5LCA2NywgNTIsIDIyLCA0MywgMjE5LCAxNTQsIDkzLCA5OSwgNTIsIDY3LCAyMiwgMjMzLCA0NiwgCi0gICAgOTMsIDk5LCAxMjQsIDIxOSwgMTU1LCAyMiwgMjAzLCAyNDYsIDExMywgOTMsIDk5LCAxMjQsIDUyLCAyMiwgMjAzLCAyMTksIAotICAgIDE1NCwgOTMsIDk5LCA1MiwgMTI0LCAyMiwgMjQxLCA0NCwgOTMsIDk5LCAxMjAsIDIxOSwgMTU1LCAyMiwgMjAzLCAyNDYsIAotICAgIDExMywgOTMsIDk5LCAxMjAsIDUyLCAyMiwgMjAzLCAyMTksIDE1NCwgOTMsIDk5LCA1MiwgMTIwLCAyMiwgMjQxLCA0NCwgCi0gICAgOTMsIDk5LCA2NywgMjE5LCAxNTUsIDIyLCAyMDMsIDI0NiwgMTEzLCA5MywgOTksIDY3LCA1MiwgMjIsIDIwMywgMjE5LCAKLSAgICAxNTQsIDkzLCA5OSwgNTIsIDY3LCAyMiwgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDI1NCwgMjYsIDEyNCwgMjIsIDIyMiwgCi0gICAgMjUxLCA5MywgOTksIDE5MiwgMjU0LCAyNiwgMTI0LCAyMiwgMjMzLCA0NiwgOTMsIDk5LCAxOTIsIDI1NCwgMjYsIDEyMCwgCi0gICAgMjIsIDIzMywgNDYsIDkzLCA5OSwgMTkyLCAyNTQsIDI2LCAxMjAsIDIyLCAyMjIsIDI1MSwgOTMsIDk5LCAxOTIsIDI0NywgCi0gICAgMjU1LCAyMTQsIDE2MCwgNDQsIDIxNiwgNDIsIDIzMiwgMTA4LCAyMzMsIDQ2LCA5MywgOTksIDE5MiwgMjQ3LCAyNTUsIAotICAgIDIxNCwgMTYwLCA0MywgMjE2LCA0MiwgMjMyLCAxMDgsIDIyMiwgMjUxLCA5MywgOTksIDE5MiwgMjQ3LCAyNTUsIDI0OSwgCi0gICAgMTMwLCA5MywgOTksIDE5MiwgMjMzLCA0NiwgOTMsIDk5LCAxOTIsIDIxNCwgMTYzLCA5MywgOTksIDE5MiwgMjIyLCAyNTEsIAotICAgIDkzLCA5OSwgMTkyLCAyNDYsIDEwNiwgOTMsIDk5LCAxMTQsIDIzMywgNDYsIDkzLCA5OSwgMTE0LCAyMTQsIDE2MywgOTMsIAotICAgIDk5LCAxMTQsIDIyMiwgMjUxLCA5MywgOTksIDExNCwgMjQ2LCAxMDYsIDkzLCA5OSwgMTkyLCA0MywgMjIsIDExNCwgMjIyLCAKLSAgICAyNTEsIDkzLCA5OSwgMTkyLCAxMjAsIDIyLCAxMTQsIDI0NiwgMTA2LCA5MywgOTksIDExNCwgNDMsIDIyLCAxOTIsIDIyMiwgCi0gICAgMjUxLCA5MywgOTksIDExNCwgMTIwLCAyMiwgMTkyLCAyNDYsIDEwNiwgMjE0LCAxNjAsIDE2MywgMjUxLCAyMTMsIDIzMiwgCi0gICAgMTA4LCAxMjMsIDI0NSwgMTg5LCAyNTEsIDIxMywgMjMyLCAxMDgsIDEyMywgMjI0LCAyMiwgMjUxLCAyMTMsIDIzMiwgMTA4LCAKLSAgICAxMzQsIDI0NSwgMTg3LCAyNTEsIDIxMywgMjMyLCAxMDgsIDE2MywgMjUxLCAyMTMsIDIzMiwgMTA4LCAyNDQsIDgxLCAyNDUsIAotICAgIDE4NywgMjUxLCAyMTMsIDIzMiwgMTA4LCAxMzQsIDIyNCwgMjAsIDI1MSwgMjEzLCAyMzIsIDEwOCwgMjIwLCAxMjIsIDI0NSwgCi0gICAgMTg3LCAyNTEsIDIxMywgMjQzLCAyMjksIDI1MSwgMjEzLCA0MywgMjIwLCAxMjIsIDI0NSwgMTg3LCAyNTEsIDIxMywgNDMsIAotICAgIDEzNCwgMjI0LCAyMCwgMjUxLCAyMTMsIDQzLCAyNDQsIDgxLCAyNDUsIDE4NywgMjUxLCAyMTMsIDQzLCAxNjMsIDI1MSwgCi0gICAgMjEzLCA0MywgMTM0LCAyNDUsIDE4NywgMjUxLCAyMTMsIDQzLCAxMjMsIDIyNCwgMjIsIDI1MSwgMjEzLCA0MywgMTIzLCAKLSAgICAyNDUsIDE4OSwgMjUxLCAyMTMsIDQ0LCAxNjMsIDI1MSwgMjEzLCAxOTIsIDIyMCwgOTIsIDIzMSwgODIsIDIyMCwgOTIsIAotICAgIDI0OCwgMTYyLCAyMjAsIDkyLCAyMTQsIDE2MCwgMTIzLCAyNDUsIDE4OSwgMjUxLCAyMTMsIDQ0LCAxMjMsIDI0NSwgMTg5LCAKLSAgICAyNTEsIDIxMywgMjI0LCAyNiwgMjMyLCAxMDgsIDIzMywgNDYsIDIyNCwgMjYsIDIzMiwgMTA4LCAyMjIsIDI1MSwgMjI0LCAKLSAgICAyNiwgMjE0LCAxNjAsIDIzMywgNDYsIDIyNCwgMjYsIDIxNCwgMTYwLCA0MywgMjIsIDIzMiwgMTA4LCA0MywgMjIsIDIzMiwgCi0gICAgMTA4LCAyMjIsIDI1MSwgMjI0LCAyNiwgMjE0LCAxNjAsIDQzLCAyMiwgMjMyLCAxMDgsIDIyMiwgMjUxLCAyMjQsIDI2LCAKLSAgICAyMTQsIDE2MCwgNDMsIDIyLCAyMTQsIDE2MCwgNDQsIDIyLCAyMzIsIDEwOCwgMjMzLCA0NiwgMjI0LCAyNiwgMjE0LCAxNjAsIAotICAgIDQzLCAyMiwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMDgsIDIyMiwgMjUxLCAyMjQsIDI2LCAyMTQsIDE2MCwgMjIyLCAKLSAgICAyNTEsIDIyNCwgMjYsIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTA4LCAyMzMsIDQ2LCAyMjQsIDI2LCAyMTQsIDE2MCwgNDQsIAotICAgIDIyLCAyMzIsIDEwOCwgNDMsIDIyLCAyMzIsIDEwOCwgMjIyLCAyNTEsIDg1LCAyMTgsIDIzNCwgNzEsIDIxOCwgMjM0LCA3MSwgCi0gICAgNDIsIDIsIDIyMiwgMTgzLCAyNDksIDE1OSwgNzEsIDQyLCAyNDksIDE4NywgODUsIDQsIDIxOCwgMjM0LCA0MiwgMiwgMjAzLCAKLSAgICAyNDQsIDEwNSwgNDIsIDIsIDY3LCAyNDQsIDEwNSwgNDIsIDIsIDIyNiwgMTQ0LCAyNDksIDEyNiwgMjQ0LCAxMDUsIDQyLCAKLSAgICAyLCAyMTQsIDE2MCwgNDMsIDIxNiwgNDIsIDIzMiwgMTA4LCA0NCwgMjQ0LCAxMDUsIDQyLCAyLCAyMTQsIDE2MCwgNDQsIAotICAgIDIxNiwgNDIsIDIzMiwgMTA4LCA0MywgMjQ0LCAxMDUsIDQyLCAyLCAyNDcsIDI1NSwgMjQ5LCAxMjYsIDI0NCwgMTA1LCA4NSwgCi0gICAgNCwgMjE4LCAyMzQsIDcxLCA0LCAyMTgsIDIzNCwgODUsIDIyMywgMTE2LCA3MSwgMjIzLCAxMTYsIDg1LCA2NywgMjIzLCAKLSAgICAxMTYsIDcxLCA2NywgMjIzLCAxMTYsIDg1LCAyMjYsIDYsIDcxLCAyMjYsIDYsIDg1LCAyMTQsIDE2MiwgMjE1LCAyMjUsIAotICAgIDcxLCAyMTQsIDE2MiwgMjE1LCAyMjUsIDg1LCAyMTQsIDE2MiwgNCwgMjE1LCAyMjUsIDcxLCAyMTQsIDE2MiwgNCwgMjE1LCAKLSAgICAyMjUsIDg1LCAyMjIsIDI0NywgMjE1LCAyMjUsIDcxLCAyMjIsIDI0NywgMjE1LCAyMjUsIDg1LCAyMjIsIDI0NywgNCwgCi0gICAgMjE1LCAyMjUsIDcxLCAyMjIsIDI0NywgNCwgMjE1LCAyMjUsIDg1LCAyMjIsIDI0NywgMjI1LCA4LCA3MSwgMjIyLCAyNDcsIAotICAgIDIyNSwgOCwgODUsIDI0NiwgMTA1LCAyMTUsIDIyNSwgNzEsIDI0NiwgMTA1LCAyMTUsIDIyNSwgODUsIDI0NiwgMTA1LCA0LCAKLSAgICAyMTUsIDIyNSwgNzEsIDI0NiwgMTA1LCA0LCAyMTUsIDIyNSwgODUsIDIzMywgNDIsIDIxNSwgMjI1LCA3MSwgMjMzLCA0MiwgCi0gICAgMjE1LCAyMjUsIDg1LCAyMzMsIDQyLCA0LCAyMTUsIDIyNSwgNzEsIDIzMywgNDIsIDQsIDIxNSwgMjI1LCA4NSwgMjMzLCAKLSAgICA0MiwgMjI1LCA4LCA3MSwgMjMzLCA0MiwgMjI1LCA4LCA4NSwgMjQ3LCAyNDgsIDcxLCAyNDcsIDI0OCwgNzEsIDI0NywgCi0gICAgMjQ5LCAyNDksIDE4NywgODUsIDQsIDI0NywgMjQ4LCAyNDQsIDg5LCAyMzIsIDEwNCwgNzEsIDI1MCwgMzUsIDI0NiwgMTE4LCAKLSAgICAyNTAsIDM1LCAyNTAsIDM2LCAyLCA2NywgMjQ0LCAxMDUsIDI1MSwgMTExLCA4NSwgMjUwLCAzNSwgMjUwLCAzNiwgMiwgNDMsIAotICAgIDE2MywgMjUxLCAyMjEsIDI1MCwgMzYsIDIsIDQ0LCAxNjMsIDI1MSwgMjIxLCAyNTAsIDM2LCAyLCAyMzIsIDEwOCwgMTYzLCAKLSAgICAyNTEsIDIyMSwgMjUwLCAzNiwgMiwgMjE0LCAxNjAsIDE2MywgMjUxLCAyMjEsIDI1MCwgMzYsIDIsIDIxNCwgMTYwLCA0NCwgCi0gICAgMjI0LCAyNiwgMjUxLCAyMjEsIDI1MCwgMzYsIDIsIDI1NCwgMTU1LCAyNTEsIDg4LCAyMTQsIDE2MCwgNDMsIDIyNCwgMjYsIAotICAgIDI1MSwgMjIxLCA0MywgMTYzLCA4NSwgMjUwLCAzNSwgNDQsIDE2MywgODUsIDI1MCwgMzUsIDIzNSwgMTk0LCAyNTEsIDExMywgCi0gICAgMjM1LCAxOTQsIDcxLCAyNTAsIDM1LCAyMTQsIDE2MCwgMTYzLCAyMzUsIDE5NCwgNzEsIDI1MCwgMzUsIDIzMiwgMTA4LCAKLSAgICAxNjMsIDIzNSwgMTk0LCA3MSwgMjUwLCAzNSwgMjE0LCAxNjAsIDQzLCAyMjQsIDI2LCAyNTAsIDMzLCAyNTQsIDI1LCAyMTQsIAotICAgIDE2MCwgNDQsIDIyNCwgMjYsIDI1MCwgMzMsIDI1NCwgMjUsIDIzMiwgMTA4LCA0NCwgMjI0LCAyNiwgMjUwLCAzMywgMjU0LCAKLSAgICAyNSwgMjMyLCAxMDgsIDQzLCAyMjQsIDI2LCAyNTAsIDMzLCAyNTQsIDI1LCAyMTQsIDE2MCwgMTYzLCAyNTAsIDM1LCAyMzIsIAotICAgIDEwOCwgMTYzLCAyNTAsIDM1LCA4NSwgMjMyLCAxMDgsIDQ0LCAyMTUsIDIyNSwgODUsIDIzMiwgMTA4LCA0MywgMjE1LCAKLSAgICAyMjUsIDg1LCAyMTQsIDE2MCwgNDMsIDIxNSwgMjI1LCA4NSwgMjE0LCAxNjAsIDQ0LCAyMTUsIDIyNSwgNzEsIDI1MSwgCi0gICAgMTEzLCA0MiwgMiwgNDMsIDE2MywgMjUxLCAyMjEsIDQyLCAyLCA0NCwgMTYzLCAyNTEsIDIyMSwgNDIsIDIsIDIxNCwgMTYwLCAKLSAgICA0MywgMjQ3LCAyNTUsIDE2MywgMjUxLCAyMjEsIDQyLCAyLCAyMzIsIDEwOCwgNDQsIDI0NywgMjU1LCAxNjMsIDI1MSwgCi0gICAgMjIxLCA3MSwgNDIsIDIsIDY3LCAyNTEsIDIzMiwgMjMyLCAyMTMsIDcxLCAyMTQsIDE2MiwgMjE1LCAyMjYsIDIsIDI0NywgCi0gICAgMTIwLCAyMTQsIDE2MiwgMjE1LCAyMjYsIDIsIDQzLCAxNjMsIDI1MSwgMjIxLCAyMTQsIDE2MiwgMjE1LCAyMjYsIDIsIDQ0LCAKLSAgICAxNjMsIDI1MSwgMjIxLCAyMzMsIDg1LCAyNTAsIDM1LCA3MSwgNDIsIDIsIDIxNCwgMTYwLCA0MywgMjI0LCAyNSwgNzEsIAotICAgIDQyLCAyLCAyMzIsIDEwOCwgNDMsIDIyNCwgMjUsIDcxLCA0MiwgMiwgMjMyLCAxMDgsIDQ0LCAyMjQsIDI1LCA3MSwgNDIsIAotICAgIDIsIDIxNCwgMTYwLCA0NCwgMjI0LCAyNSwgNzEsIDI1MCwgMzYsIDIsIDIxNCwgMTYwLCA0MywgMjI0LCAyNSwgNzEsIDI1MCwgCi0gICAgMzYsIDIsIDIzMiwgMTA4LCA0MywgMjI0LCAyNSwgNzEsIDI1MCwgMzYsIDIsIDIzMiwgMTA4LCA0NCwgMjI0LCAyNSwgNzEsIAotICAgIDI1MCwgMzYsIDIsIDIxNCwgMTYwLCA0NCwgMjI0LCAyNSwgMjE0LCAxNjAsIDQzLCAyMTUsIDIyNSwgMjE0LCAxNjAsIDQ0LCAKLSAgICAyMTUsIDIyNSwgMjMyLCAxMDgsIDQzLCAyMTUsIDIyNSwgNzEsIDIzMSwgODIsIDIxOCwgMjM0LCA4NSwgMjMxLCA4MiwgCi0gICAgMjE4LCAyMzQsIDcxLCAyMzEsIDgyLCA0LCAyMTgsIDIzNCwgODUsIDIzMSwgODIsIDQsIDIxOCwgMjM0LCAyMzIsIDEwOCwgCi0gICAgNDQsIDIxNSwgMjI1LCA4NSwgMjE4LCAzOCwgMiwgMjIzLCAxMzIsIDI0OSwgMjQ3LCAyMTQsIDE5NCwgMjE5LCA2MCwgMjQ5LCAKLSAgICAyMjIsIDg1LCAyMTgsIDE1NiwgNzEsIDIxOCwgMTU2LCAyMzIsIDIyOCwgMjE2LCAxMzIsIDIxOCwgMzcsIDI1MywgMjM0LCAKLSAgICAyMjgsIDcxLCAyNDgsIDM4LCAyMjgsIDcxLCAyNDksIDE5NSwgMjI2LCAxNjMsIDg1LCAyMTcsIDAsIDcxLCAyMTcsIDAsIAotICAgIDI1MiwgMTU2LCAyNTEsIDE2MywgMjUyLCAxNTYsIDkzLCAyLCAyNTAsIDEyOSwgMjUyLCAxNTYsIDkzLCAyLCAyMTEsIDE3OCwgCi0gICAgMjIxLCAyNTQsIDIxNCwgMTk1LCAyLCAyMjMsIDE2MCwgMjQ2LCA4NCwgMjQwLCAyNDMsIDI1MiwgMjIsIDcxLCAyMjAsIDIsIAotICAgIDIyNSwgMTAxLCA4NSwgMjIwLCAyLCAyMjUsIDEwMSwgMjIwLCA4NywgMjIzLCA0OSwgMjIyLCAxODcsIDI0NCwgNTUsIDI0MSwgCi0gICAgMjI4LCAyNTEsIDExMywgODUsIDQzLCAyMjUsIDcsIDIzNSwgMjQyLCA4NSwgNDQsIDIyNSwgNywgMjM1LCAyNDIsIDcxLCAKLSAgICA0MywgMjI1LCA3LCAyMzUsIDI0MiwgNzEsIDEyMCwgMjI1LCA3LCAyMzUsIDI0MiwgNzEsIDQ0LCAyMjUsIDcsIDIzNSwgCi0gICAgMjQyLCA3MSwgMTI0LCAyMjUsIDcsIDIzNSwgMjQyLCAyMTksIDEwMSwgMjIsIDI0OSwgMTI5LCAyNTAsIDIxOSwgNTAsIAotICAgIDIyMywgMTcyLCA1MCwgMjUxLCAyMzksIDUwLCAyNTEsIDI1LCAyNTQsIDEwMiwgMjI2LCAxNDUsIDI0OSwgMTMwLCAyNTAsIAotICAgIDExMSwgMjIzLCAzNywgMjQ5LCAxMzEsIDY0LCAyMzIsIDExOCwgMjQ5LCAxMzEsIDY0LCAyMzUsIDExNiwgMjE4LCAxNTcsIAotICAgIDIyLCAyNDksIDEzNiwgMjQ0LCAxNjgsIDg3LCAyNTQsIDI0OCwgMjIwLCA4OSwgMjQyLCAyMiwgMjIsIDIxOSwgMTg5LCAKLSAgICAyMjUsIDIyMCwgODcsIDIxMCwgMjU0LCAyMTEsIDY5LCAyMTUsIDIxNSwgMzEsIDI0MSwgMjIzLCAyMTUsIDIxNSwgMzEsIAotICAgIDIzMywgMTA3LCAyMTUsIDIxNSwgMzEsIDI0NCwgOTYsIDIxNSwgMjE1LCAzMSwgMjE2LCAxMzMsIDIxNSwgMjE1LCAzMSwgCi0gICAgMjExLCAyMzksIDIxNSwgMjE1LCAzMSwgMjEyLCA0MCwgMjE1LCAyMTUsIDMxLCAyMzAsIDExNSwgMjE1LCAyMTUsIDMxLCAKLSAgICAyNDUsIDIyMywgMjEyLCAxLCA2NCwgMjQ4LCAxOCwgNzEsIDI0MywgMjM5LCAyNDQsIDE5MCwgNzEsIDIxOSwgNzQsIDI0NCwgCi0gICAgMTkwLCA4NSwgMjE5LCA3NCwgMjQ0LCAxOTAsIDcxLCAyMTgsIDM4LCAyLCAyMjMsIDEzMiwgMjQ0LCA5MiwgMjI0LCAyMiwgCi0gICAgMjMwLCAxMjgsIDIzMywgODAsIDIyNCwgMjIsIDIzMCwgMTI4LCAyMzEsIDU0LCAyNDQsIDEzOCwgNTAsIDI0NSwgMjIzLCAKLSAgICAyMzEsIDE5MCwgNTAsIDIzNSwgMzgsIDIyMSwgMjIwLCAyMTQsIDE0NSwgMjI5LCA5MywgMjI1LCAyMCwgMjU0LCAxMiwgCi0gICAgMjE3LCA0MCwgMjQzLCA1MiwgMjUxLCAzLCAyMzMsIDE5LCAyMTMsIDE1MCwgMjMyLCAyMzgsIDIyMSwgMTkxLCAyMjIsIDE5LCAKLSAgICAyNTAsIDI0OCwgMjU0LCA0MiwgMjI1LCA1MiwgNzEsIDI1MCwgMTE3LCAyMzQsIDc4LCA3MSwgMjUwLCAxMTcsIDIyNCwgMTQsIAotICAgIDcxLCAyNTAsIDExNywgMjIyLCAxOTUsIDcxLCAyNTAsIDExNywgMjUxLCAyMzEsIDcxLCAyNTAsIDExNywgMjM0LCAzMCwgCi0gICAgNzEsIDI1MCwgMTE3LCAyMjUsIDIzMSwgODUsIDI1MCwgMTE3LCAyMzQsIDc4LCA4NSwgMjUwLCAxMTcsIDIyNCwgMTQsIDg1LCAKLSAgICAyNTAsIDExNywgMjIyLCAxOTUsIDg1LCAyNTAsIDExNywgMjUxLCAyMzEsIDg1LCAyNTAsIDExNywgMjM0LCAzMCwgODUsIAotICAgIDI1MCwgMTE3LCAyMjUsIDIzMSwgODUsIDIxOSwgMTYsIDIxOCwgNTAsIDcxLCAyNDEsIDIyOCwgMjE4LCA1MCwgNzEsIDI0NywgCi0gICAgMjQ5LCAyMTgsIDUwLCA4NSwgMjQ5LCAyNDUsIDIxOCwgNTAsIDcxLCAyMTksIDE2LCAyMTgsIDUwLCA4NSwgMjQxLCAyMjgsIAotICAgIDIxOCwgNTAsIDg1LCAyNDcsIDI0OSwgMjE4LCA1MCwgNzEsIDI0OSwgMjQ1LCAyMTgsIDUwLCAyNDAsIDI0MywgMjE4LCAKLSAgICAyMzgsIDIyNCwgMjIsIDIyOCwgNDcsIDI0NSwgMTg5LCAyMjgsIDQ3LCAyNTIsIDczLCAyNDUsIDE4OSwgMjI4LCA0MiwgCi0gICAgMjUyLCA3MywgMjE5LCAxMTgsIDIyOCwgNDIsIDIzMCwgNTcsIDI0NCwgNjYsIDUwLCAyMzAsIDU3LCAyMjksIDE4OCwgNTAsIAotICAgIDIzMCwgNTcsIDIyMCwgNzYsIDUwLCAyMTIsIDksIDE4OCwgMjQ5LCAxMzAsIDI0NSwgMjIwLCAxODgsIDI0OSwgMTMwLCAKLSAgICAyMTQsIDE3MSwgMjIzLCAxMTIsIDg3LCAyMjMsIDExMiwgMTYsIDMxLCAyMTUsIDQ4LCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIAotICAgIDMxLCAyMTUsIDQ3LCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIDMxLCAyMTUsIDQ2LCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIAotICAgIDMxLCAyMTUsIDQ1LCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIDMxLCAyMTUsIDQ0LCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIAotICAgIDMxLCAyMTUsIDQzLCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIDMxLCAyMTUsIDQyLCAyMjUsIDM0LCAyMjMsIDExMiwgMTYsIAotICAgIDMxLCAyNDMsIDUwLCAyMzEsIDEzOCwgODUsIDIxNCwgMTcxLCAyMjMsIDExMiwgODcsIDIyMywgMTEzLCAyMjYsIDIwLCA4NywgCi0gICAgMjI1LCAyNTIsIDIyNiwgMjAsIDg3LCAyMjUsIDE3NCwgMjI2LCAyMCwgNTAsIDIxMSwgMjU1LCA4NywgMjQ3LCAyNDEsIAotICAgIDI0NCwgMTg5LCAyNDcsIDI0MSwgMjQ0LCAxODgsIDI0NywgMjQxLCAyNDQsIDE4NywgMjQ3LCAyNDEsIDI0NCwgMTg2LCAKLSAgICAyNDcsIDI0MSwgMjQ0LCAxODUsIDI0NywgMjQxLCAyNDQsIDE4NCwgNzEsIDI1MCwgMzYsIDIsIDU5LCAyMjIsIDI1MSwgNzEsIAotICAgIDI1MCwgMzYsIDIsIDExMywgMjQ3LCAxMTgsIDg1LCAyNTAsIDM2LCAyLCA3MSwgNTksIDIyMiwgMjUxLCA4NSwgMjUwLCAzNiwgCi0gICAgMiwgMTEzLCA3MSwgMjQ3LCAxMTgsIDIzMCwgMTQyLCAzMSwgMjExLCA2OSwgMjMwLCAxNDIsIDMxLCAyMTAsIDI1MywgMjQ3LCAKLSAgICAyMjQsIDMxLCAyNDIsIDEzMSwgMjExLCA2OSwgMjQ3LCAyMjQsIDMxLCAyMzMsIDEzLCAyMTAsIDI1MywgMjQ3LCAyMjQsIAotICAgIDMxLCAyMzMsIDEzLCAyMTEsIDY5LCAyNDcsIDIyNCwgMzEsIDI0MiwgMTMxLCAyMTAsIDI1MywgNzEsIDI0NCwgNzMsIDg1LCAKLSAgICAyNDQsIDczLCAyNDIsIDIyLCAyMiwgMjI1LCAxMDQsIDI1NCwgMTIwLCAyNDksIDEyOCwgMjE3LCAyMzUsIDIxOCwgMTY0LCAKLSAgICA2NCwgMjU0LCAyMjYsIDIyMSwgMjA2LCAyNTQsIDE2OSwgMjQ0LCA1MSwgMjQzLCA2MCwgMjE4LCAxNjQsIDY0LCAyNDEsIAotICAgIDIwMiwgMjUzLCAxOTksIDg3LCAyNDQsIDYyLCAyMjYsIDEyNiwgNzEsIDIxOCwgMTU2LCAxMzQsIDIzMiwgMjA4LCAyNDksIAotICAgIDE3NSwgMjIyLCAyNTEsIDEzNCwgMjMyLCAyMDgsIDI0OSwgMTc1LCAyMzMsIDQ2LCAyMTIsIDUwLCA1MCwgMTI1LCAyMTMsIAotICAgIDEzMCwgNTAsIDI0NiwgMTEwLCAyNDQsIDEzOCwgNTAsIDI0NiwgMTEwLCAyMzEsIDE5MCwgNTAsIDIzNSwgMjAzLCAyNDQsIAotICAgIDEzOCwgMjIsIDIzMSwgMTkwLCA1MCwgMjMxLCAxOTAsIDIyLCAyNDQsIDEzOCwgNTAsIDIzMSwgMTkwLCAyLCAyMTgsIDEwMywgCi0gICAgNTAsIDIzMSwgMTkwLCAyLCAyMTgsIDEwMywgMjIsIDIzMSwgMTkwLCAyMiwgMjQ0LCAxMzgsIDUwLCA2NywgMjMxLCAxOTAsIAotICAgIDIsIDIxOCwgMTAzLCA1MCwgMjAzLCAyMzEsIDE5MCwgMiwgMjE4LCAxMDMsIDUwLCAyMzEsIDgyLCA3MSwgMjUwLCAzNSwgCi0gICAgMjMxLCA4MiwgODUsIDI1MCwgMzUsIDIzMSwgODIsIDQsIDcxLCAyNTAsIDM1LCAyMzEsIDE1MywgODcsIDI0NywgMTY3LCAKLSAgICA4NywgMjE0LCAxNjksIDIyNSwgMjUxLCA4NywgMjQ5LCAyMzEsIDI0MywgMjI0LCAyMTQsIDE0MSwgMjI5LCA4OCwgMjUwLCAKLSAgICAxNjEsIDIyNiwgNjEsIDIzNSwgNDQsIDIxMywgMTg1LCAyNTAsIDkzLCA4NSwgMjMwLCAxMjksIDIzMiwgMjI1LCAyMjAsIAotICAgIDExMiwgMjIwLCAxNDcsIDIyNCwgNSwgMjIwLCAxMzAsIDIxOSwgNTUsIDI1MiwgMTU5LCAyNTIsIDEyNiwgOTIsIDIzNCwgCi0gICAgMTM4LCA3MSwgMjQ2LCA5MywgMjMxLCAxODUsIDcxLCAyNDYsIDkzLCAyMzQsIDc4LCA4NSwgMjQ2LCA5MywgMjMxLCAxODUsIAotICAgIDg1LCAyNDYsIDkzLCAyMzQsIDc4LCAyMTksIDYxLCAyMTEsIDIzMCwgMjE5LCA2NCwgMjE4LCAzOCwgMjUyLCA1MSwgMjQ5LCAKLSAgICAyNDcsIDIyMywgMTU5LCA4NSwgMjE5LCA2MCwgMjE2LCAxMzQsIDI0OSwgMjQ4LCAyMiwgMjIzLCAxNTksIDIxNSwgOTQsIAotICAgIDcxLCAyMjAsIDIsIDIyNSwgMTAxLCAyMTUsIDk0LCA4NSwgMjIwLCAyLCAyMjUsIDEwMSwgNzEsIDI0NywgMjQ5LCAyMzYsIAotICAgIDAsIDIxOCwgMjM0LCAyNDksIDEyNSwgMjMzLCA5MSwgMjQ3LCAxOTMsIDI1MCwgMjQ0LCAyMjYsIDE2NiwgMjI1LCAxMDQsIAotICAgIDI1MCwgMjQ1LCAyMTksIDg4LCAyNDEsIDIxMiwgMiwgNzEsIDI0OSwgMTMwLCAzNywgMjQ5LCAxMjUsIDIzMywgOTEsIDI1MCwgCi0gICAgMTUzLCAyMjgsIDc1LCAyNDUsIDEyNCwgMjU0LCAxNDEsIDIyNiwgMTkxLCA0MywgMjEyLCAyNiwgMjE1LCAyNTEsIDg1LCAKLSAgICAyMTUsIDU1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTEsIDcxLCAyMTUsIDU1LCA0MywgMjEyLCAyNiwgMjE1LCAyNTEsIDg1LCAKLSAgICA0MywgMjMzLCA5MiwgMjMxLCA1MywgNzEsIDQzLCAyMzMsIDkyLCAyMzEsIDUzLCAyNDYsIDg5LCAyMTksIDgyLCA1MCwgCi0gICAgMTE0LCA3MSwgMjQ2LCAxMDUsIDIxNSwgMjI1LCA0MywgMjUwLCAwLCAyNDUsIDEyNCwgOTIsIDIyMSwgMjU0LCAyNDQsIAotICAgIDE3NSwgMjQ3LCAyNTUsIDIzNiwgMCwgNzEsIDI1MCwgMzYsIDIzNiwgMCwgODUsIDIxOCwgMjM0LCA4NSwgMjE1LCAxOTIsIAotICAgIDIyMywgNjAsIDQzLCAyNDUsIDEyMywgMjIzLCA2MCwgNDMsIDI0NSwgMTIyLCAyNTMsIDIxMSwgMTYsIDMxLCAyMTQsIDE0NSwgCi0gICAgMTE0LCAyNTAsIDM2LCAyLCAyMTgsIDEwMywgMjIsIDExMywgMTcwLCA0OCwgMjI1LCAxODksIDIyMiwgMjQ4LCAyMzUsIAotICAgIDIwNSwgMjI1LCAxODksIDIzMywgNDMsIDIzNSwgMjA1LCAyMjUsIDE4OSwgMjM1LCAxOTMsIDIyNSwgMTg5LCA4NSwgMjQ5LCAKLSAgICAxMzEsIDIyNiwgMTk3LCAyMjAsIDI5LCAyMjAsIDE3LCAyMTksIDIyOSwgMjUwLCA2MSwgMjUwLCAyMjYsIDI0MSwgMTU3LCAKLSAgICAyMTksIDEyNiwgMjQzLCA2MSwgMjExLCAyMzAsIDI0MCwgMjIwLCAyNDMsIDYxLCAyLCAyNDIsIDEyLCAyMzEsIDE3MywgMTYsIAotICAgIDMxLCAyMzIsIDIyOSwgMjMwLCAxMTUsIDIxNCwgMTk1LCAyMjYsIDE5NywgMjQyLCAxMjIsIDI0NCwgMTIsIDI0NCwgNzQsIAotICAgIDIzNiwgMCwgMjQxLCA1OSwgMjQ0LCAxMjksIDIyMiwgMTQsIDQyLCAyNDQsIDExLCAyNDksIDE1OSwgMjE5LCAxMDQsIDI0MCwgCi0gICAgMTEyLCAyMTksIDEwNywgMjI1LCAxNjgsIDIsIDI1MiwgMTU5LCAyMTYsIDI0MiwgMjM1LCAxMzEsIDI1MiwgMTQ2LCA4NywgCi0gICAgMjQxLCAyMzEsIDI0MiwgMTMzLCA4NywgMjQzLCAyMzIsIDIyNCwgMTQyLCAyNDksIDEwMywgMjI2LCAxOTcsIDg1LCAyMTgsIAotICAgIDIzNCwgNzEsIDI0NCwgNzQsIDIsIDIwMywgMjMwLCAyMjQsIDg1LCAyMTgsIDEwNCwgMjE0LCAxNjAsIDI1MSwgMjE3LCAKLSAgICAyMjEsIDE5MywgODUsIDIyMSwgMTkzLCAyMzIsIDEwOCwgMjUxLCAyMTcsIDIyMSwgMTkzLCA3MSwgMjIxLCAxOTMsIDcxLCAKLSAgICAxMTQsIDI1MCwgMTMwLCA3OCwgMjE3LCAxLCAyMzIsIDE1NCwgNTAsIDIxNywgNTMsIDI0NiwgODgsIDI1NCwgMTkxLCAyNDUsIAotICAgIDExOSwgMjIzLCAxNTcsIDI0NCwgODUsIDIyMywgMTU3LCAyNDIsIDE1LCAyMTMsIDE3NCwgMjQyLCAxNSwgMjExLCAxOTgsIAotICAgIDI0MiwgMTUsIDIzMiwgMTA4LCA0NCwgMjI1LCAxOTgsIDIyNSwgMTk4LCAyMTQsIDE2MCwgNDQsIDIyNSwgMTk4LCA3MSwgCi0gICAgMjI4LCAyMzAsIDg1LCAyMjgsIDIzMCwgMjUwLCAxMzAsIDc4LCAxMTQsIDI1MCwgMTMwLCA3OCwgMjMwLCA4NCwgMjExLCAKLSAgICAxNzgsIDExNCwgMjMwLCA4NCwgMjExLCAxNzgsIDI1MiwgMTU2LCAyMTEsIDE3OCwgMTE0LCAyNTIsIDE1NiwgMjExLCAxNzgsIAotICAgIDIyNiwgMTI2LCAyNiwgMjQ5LCAxMzAsIDExNCwgMjYsIDI0OSwgMTMwLCAyMDQsIDI1MCwgMTc1LCAyNDksIDEzMCwgMTE0LCAKLSAgICAyMDQsIDI1MCwgMTc1LCAyNDksIDEzMCwgNywgMjQ5LCAxMzAsIDIyMCwgOTEsIDcxLCA3LCAyNDksIDEzMCwgMjI2LCAxMjYsIAotICAgIDcsIDI0OSwgMTMwLCAyMzEsIDE4NywgMjQ5LCAxMzAsIDIxOCwgMTU3LCA2NCwgMjQ4LCAxNDksIDI0NCwgMTEsIDIxNywgCi0gICAgMTUsIDI1MywgMjE2LCAyNDQsIDExLCAyNTIsIDE1NywgMjUzLCAyMTYsIDExNCwgMjQ0LCAxMSwgMjUyLCAxNTcsIDI1MywgCi0gICAgMjE2LCAyNDQsIDExLCAyNDksIDI0MywgMjUzLCAyMTYsIDg1LCAyNDQsIDExLCAyMjUsIDksIDIxOCwgMTU2LCA3MSwgMjQ0LCAKLSAgICAxMSwgMjI1LCA5LCAyMTgsIDE1NiwgMjE5LCAxMSwgMjE4LCAxMTEsIDIyNiwgMTI2LCA3MSwgMjE4LCAxNTYsIDM3LCA3MSwgCi0gICAgMjE4LCAxNTYsIDIwNCwgMjUwLCAxNzUsIDg1LCAyMTgsIDE1NiwgODUsIDI1MCwgMTc1LCA3MSwgMjE4LCAxNTYsIDIyNiwgCi0gICAgMTI2LCA4NSwgMjE4LCAxNTYsIDExNCwgMjI2LCAxMjYsIDg1LCAyMTgsIDE1NiwgMjI1LCA2MCwgMjE4LCAxNTYsIDIyMCwgCi0gICAgOTEsIDcxLCAyMTgsIDE1NiwgMTE0LCAyNTMsIDIxNiwgMjA0LCAyNTAsIDE3NSwgMjUzLCAyMTYsIDI0NSwgMTkzLCAyMTgsIAotICAgIDI0NCwgMjUzLCAyMTYsIDI0NSwgMTkzLCAyMjUsIDksIDg1LCAyMTgsIDE1NiwgMjQ1LCAxOTMsIDIyNSwgOSwgMjI1LCA2MCwgCi0gICAgMjE4LCAxNTYsIDIxOSwgMTI1LCAyMjUsIDksIDg1LCAyMTgsIDE1NiwgMjQ1LCAxOTMsIDIyNSwgOSwgMjIzLCAxMTQsIDg1LCAKLSAgICAyMTgsIDE1NiwgMTE0LCAyNDUsIDE5MywgMjI1LCA5LCAyMjMsIDExNCwgODUsIDIxOCwgMTU2LCAyMTUsIDc3LCAyMjUsIDksIAotICAgIDg1LCAyMTgsIDE1NiwgMjE5LCAxMjAsIDIyNSwgOSwgMjUzLCAyMTYsIDIxNywgMTUsIDI1MywgMjE2LCAyMDQsIDI1MCwgCi0gICAgMTc1LCAyMTcsIDE1LCAyNTMsIDIxNiwgMTE0LCAyMTcsIDE1LCAyNTMsIDIxNiwgMjE5LCAxMjUsIDIyNSwgMTU3LCA4NSwgCi0gICAgMjIsIDcxLCAyNDQsIDU0LCA4NSwgMjQ0LCA1NCwgNzEsIDI0NCwgNTQsIDI0NSwgMTkzLCAyMjUsIDE1NywgMjI2LCAxMjYsIAotICAgIDg1LCAyNDQsIDU0LCAzNywgMjA0LCAyNTAsIDE3NSwgMjQ1LCAxOTMsIDIyNSwgOSwgMjE4LCAxNTYsIDExNCwgMjE3LCAxNSwgCi0gICAgMjI1LCA2MCwgMjUzLCAyMTYsIDIxOSwgNjIsIDIxNiwgMTA1LCAyMTUsIDIxOCwgMjE5LCA2MiwgMTE0LCAyNTAsIDExNCwgCi0gICAgMjE5LCA2MiwgMjE5LCAxMywgMTE0LCAyMTksIDEzLCAyNTIsIDE1NywgMjUzLCAyMTYsIDI0NSwgMTkzLCAyMTcsIDE1LCAKLSAgICAyMjQsIDE3MSwgMjUzLCAyMTYsIDExNCwgMjQ1LCAxOTMsIDIxNywgMTUsIDIyNCwgMTcxLCAyNTMsIDIxNiwgMjQ5LCAxMzEsIAotICAgIDc4LCAyMjAsIDkxLCA3MSwgMjUwLCAzNSwgMTUyLCA5MiwgMjQ5LCAxMzEsIDc4LCAyMzIsIDEwOCwgNDQsIDI0NiwgODYsIAotICAgIDcxLCAyMTgsIDIzNCwgMjE0LCAxNjAsIDQ0LCAyNDYsIDg2LCA3MSwgMjE4LCAyMzQsIDIzMiwgMTA4LCA0NCwgMjIwLCA5MSwgCi0gICAgNzEsIDIxOCwgMjM0LCAyMTQsIDE2MCwgNDQsIDIyMCwgOTEsIDcxLCAyMTgsIDIzNCwgODUsIDIyNCwgMTMsIDE2NCwgMjI2LCAKLSAgICAxNDcsIDcxLCAyMjQsIDEzLCAxNjQsIDIyNiwgMTQ3LCA3MSwgMjQ1LCAzMSwgMTY0LCAyMjYsIDE0NywgODUsIDI0NywgCi0gICAgMjQ5LCAyMzAsIDE4MiwgNzEsIDIxMSwgMTc4LCAxMTQsIDI0NSwgMzEsIDE2NCwgODcsIDE5MiwgNjcsIDEzMCwgMjMxLCAKLSAgICA4MiwgNjcsIDEzMCwgMTE0LCA2NywgMTMwLCAxMTQsIDIxOSwgMTU1LCAyMTUsIDk0LCAyNDksIDIyMCwgMjIzLCAyNTQsIAotICAgIDE2NCwgMjI2LCAxNDcsIDExNCwgMjE5LCAxNTUsIDI0OSwgMjIwLCAyMjMsIDI1NCwgMTY0LCAyMjYsIDE0NywgMTE0LCA1MiwgCi0gICAgMjE1LCA5NCwgMjQ5LCAyMjAsIDIyMywgMjU0LCAxNjQsIDIyNiwgMTQ3LCAxMTQsIDUyLCAyNDksIDIyMCwgMjIzLCAyNTQsIAotICAgIDE2NCwgMjI2LCAxNDcsIDExNCwgMTIxLCAyMTksIDE1NSwgMjQ5LCAyMjAsIDIyMywgMjU0LCAxNjQsIDIyNiwgMTQ3LCAKLSAgICAxMTQsIDEyMSwgNTIsIDI0OSwgMjIwLCAyMjMsIDI1NCwgMTY0LCAyMjYsIDE0NywgMjQ5LCA5MSwgMjE4LCAxNDAsIDIyNiwgCi0gICAgMTUsIDUsIDIyNiwgMTQ3LCAxMTQsIDI0NSwgMzEsIDE2NCwgMjI2LCAxNDcsIDExNCwgMjQxLCAyMjgsIDI0NSwgMzEsIAotICAgIDE2NCwgMjI2LCAxNDcsIDExNCwgODUsIDI0MSwgMjI3LCAyMjIsIDE4NywgMTE0LCA4NSwgMjQxLCAyMjgsIDI1MSwgMTEzLCAKLSAgICAyNDQsIDU1LCAyNDEsIDIyNywgMjIyLCAxODcsIDI0NCwgNTUsIDI0MSwgMjI4LCAyNTEsIDExMywgMjMxLCA4MiwgNDMsIAotICAgIDIyNiwgNCwgMjI2LCAxNDcsIDIzMSwgODIsIDQ0LCAyMjYsIDQsIDIyNiwgMTQ3LCAyMzEsIDgyLCAyNDQsIDYzLCA0MywgCi0gICAgMjI2LCA0LCAyMjYsIDE0NywgMjMxLCA4MiwgMjQ0LCA2MywgNDQsIDIyNiwgNCwgMjI2LCAxNDcsIDIzMSwgODIsIDIzMywgCi0gICAgNDIsIDI1NCwgMTEwLCAyNTEsIDE1OCwgMjI2LCAxNDcsIDIzMSwgODIsIDIyMiwgMjQ3LCAyNTQsIDExMCwgMjUxLCAxNTgsIAotICAgIDIyNiwgMTQ3LCAxMTQsIDIzMywgNDIsIDI1NCwgMTEwLCAyMjMsIDI1NCwgMTY0LCAyMjYsIDE0NywgMTE0LCAyMjIsIDI0NywgCi0gICAgMjU0LCAxMTAsIDIyMywgMjU0LCAxNjQsIDIyNiwgMTQ3LCAxMTQsIDIzMywgNDIsIDI1NCwgMTEwLCAyNTEsIDE1OCwgMjI2LCAKLSAgICAxNDcsIDExNCwgMjIyLCAyNDcsIDI1NCwgMTEwLCAyNTEsIDE1OCwgMjI2LCAxNDcsIDE5MiwgNDMsIDIxNiwgNiwgMjIwLCAKLSAgICA1MywgMjUxLCAxNTgsIDIyNiwgMTQ3LCAxOTIsIDQ0LCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU4LCAyMjYsIDE0NywgCi0gICAgMjMxLCA4MiwgNDMsIDI0OSwgOTksIDI1MSwgMTU4LCAyMjYsIDE0NywgMjMxLCA4MiwgNDQsIDI0OSwgOTksIDI1MSwgMTU4LCAKLSAgICAyMjYsIDE0NywgMjQ3LCAyMDQsIDE1MiwgMzcsIDIxLCAxMTAsIDI0NywgMjA0LCAxNTIsIDM3LCAyMSwgMTA1LCAyNDcsIAotICAgIDIwNCwgMTUyLCAzNywgMjEsIDE1OCwgMjQ3LCAyMDQsIDE1MiwgMzcsIDIxLCAxNjEsIDI0NywgMjA0LCAxNTIsIDM3LCAyMSwgCi0gICAgMTg5LCAyNDcsIDIwNCwgMTUyLCAzNywgMjEsIDE5NCwgMjQ3LCAyMDQsIDE1MiwgMzcsIDIxLCAxOTgsIDI0NywgMjA0LCAKLSAgICAxNTIsIDM3LCAyMSwgMTk1LCAyNDcsIDIwNCwgMTUyLCAzNywgMjEsIDIwMCwgMjQ3LCAyMDQsIDE1MiwgMzcsIDU0LCAyMTYsIAotICAgIDI0NywgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIDExMCwgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIDEwNSwgMjQ3LCAyMDQsIDM3LCAKLSAgICAzNSwgMjEsIDE1OCwgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIDE2MSwgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIDE4OSwgMjQ3LCAKLSAgICAyMDQsIDM3LCAzNSwgMjEsIDE5NCwgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIDE5OCwgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIAotICAgIDE5NSwgMjQ3LCAyMDQsIDM3LCAzNSwgMjEsIDIwMCwgMjQ3LCAyMDQsIDM3LCAzNSwgNTQsIDIxNiwgMjQ3LCAyNDcsIDIwNCwgCi0gICAgMTUyLCAzNywgMzUsIDIxLCAxMTAsIDI0NywgMjA0LCAxNTIsIDM3LCAzNSwgMjEsIDEwNSwgMjQ3LCAyMDQsIDE1MiwgMzcsIAotICAgIDM1LCAyMSwgMTU4LCAyNDcsIDIwNCwgMTUyLCAzNywgMzUsIDIxLCAxNjEsIDI0NywgMjA0LCAxNTIsIDM3LCAzNSwgMjEsIAotICAgIDE4OSwgMjQ3LCAyMDQsIDE1MiwgMzcsIDM1LCAyMSwgMTk0LCAyNDcsIDIwNCwgMTUyLCAzNywgMzUsIDIxLCAxOTgsIDI0NywgCi0gICAgMjA0LCAxNTIsIDM3LCAzNSwgMjEsIDE5NSwgMjQ3LCAyMDQsIDE1MiwgMzcsIDM1LCAyMSwgMjAwLCAyNDcsIDIwNCwgMTUyLCAKLSAgICAzNywgMzUsIDU0LCAyMTYsIDI0NywgMTE0LCAyMTEsIDI0NiwgOTcsIDc0LCAxMTQsIDk2LCA1MCwgMTE0LCAyMzAsIDE4MiwgCi0gICAgNTAsIDExNCwgMjQ3LCAxNjksIDUwLCAxMTQsIDIxOSwgMjgsIDI0NSwgMjIwLCA3NCwgMTE0LCA5NywgNzQsIDExNCwgMjI4LCAKLSAgICA1NiwgMjQ1LCAyMjAsIDc0LCAyNDYsIDk4LCAyMjUsIDExLCA5NywgNzQsIDExNCwgMjIyLCAxODQsIDk3LCA3NCwgMjE1LCAKLSAgICAyMjQsIDk3LCA3NCwgMTE0LCAyMTUsIDIyNCwgOTcsIDc0LCAyNDgsIDE1NSwgMjE1LCAyMjQsIDk3LCA3NCwgMTE0LCAyNDgsIAotICAgIDE1NSwgMjE1LCAyMjQsIDk3LCA3NCwgODUsIDk3LCA3NCwgMjE2LCAxNDQsIDIxNiwgMTIsIDk3LCAyNTMsIDI0OSwgMjE2LCAKLSAgICAxNDQsIDI1MSwgMTczLCA5NywgMjUzLCAyNDksIDg1LCA5NywgMjUzLCAyNDksIDExNCwgODUsIDI0OSwgOTEsIDI0NiwgCi0gICAgMTA0LCAyMiwgOTcsIDc0LCAxMTQsIDg1LCAyNDksIDkxLCAyMTQsIDE1MywgMjIsIDk3LCA3NCwgMjE4LCAyMzEsIDg1LCAKLSAgICA5NywgNzQsIDExNCwgMjQ5LCAyMDYsIDg1LCA5NywgNzQsIDIyMiwgMjQ2LCA3MSwgOTcsIDc0LCAyMzMsIDQxLCA3MSwgOTcsIAotICAgIDc0LCAyNTIsIDE4MywgMjIwLCA5MSwgNzEsIDk3LCA3NCwgMjQzLCAyNDEsIDIyMCwgOTEsIDcxLCA5NywgNzQsIDExNCwgCi0gICAgMjMyLCAxMDgsIDIyMiwgMjQ1LCA3MSwgOTcsIDc0LCAxMTQsIDIxNCwgMTYwLCAyMjIsIDI0NSwgNzEsIDk3LCA3NCwgMjI4LCAKLSAgICA0OSwgMjMyLCAxMDgsIDIyMiwgMjQ1LCA3MSwgOTcsIDc0LCAyNDksIDk5LCAyMzIsIDEyMywgMjI4LCA0OSwgMjE0LCAxNjAsIAotICAgIDIyMiwgMjQ1LCA3MSwgOTcsIDc0LCAzNywgMTE0LCA3MSwgOTcsIDc0LCAyMTEsIDI1MiwgOTcsIDc0LCAyNTEsIDIyMCwgCi0gICAgMjE5LCAyOCwgMjQ1LCAyMjAsIDc0LCAyNTEsIDIyMCwgOTcsIDc0LCAyNTEsIDIyMCwgMjI4LCA1NiwgMjQ1LCAyMjAsIDc0LCAKLSAgICAxMTQsIDI1MSwgMjIwLCAyMTksIDI4LCAyNDUsIDIyMCwgNzQsIDExNCwgMjUxLCAyMjAsIDk3LCA3NCwgMTE0LCAyNTEsIAotICAgIDIyMCwgMjI4LCA1NiwgMjQ1LCAyMjAsIDc0LCAyMTcsIDE3LCA5NywgNzQsIDExNCwgMjE3LCAxNiwgOTcsIDc0LCAyMTIsIAotICAgIDE4LCA5NywgNzQsIDExNCwgMjEyLCAxOCwgOTcsIDc0LCAyMjYsIDE3MiwgOTcsIDc0LCA1MiwgMjQ5LCA5OSwgMjMyLCAKLSAgICAxMjMsIDEzNCwgMjQ3LCAyMTQsIDI1NCwgMTA5LCA3MSwgMjE1LCAyMjYsIDI0OSwgMTg3LCA0LCA3MSwgMjE1LCAyMjUsIAotICAgIDIyNSwgMTcxLCAyMDQsIDIxOCwgNjMsIDIwNCwgMjE4LCAyMSwgNDMsIDIyMiwgOTAsIDI1MiwgMTczLCAyNDgsIDYwLCA0NCwgCi0gICAgMjIyLCA5MCwgMjUyLCAxNzMsIDI0OCwgNjAsIDE3NywgMiwgNTksIDIzNSwgMjE1LCAyMjMsIDUwLCAyMTksIDQ3LCAyMjQsIAotICAgIDIwMSwgMjE4LCA2MywgMjE4LCAyMiwgMjI0LCAyMDEsIDIxOSwgNDYsIDY3LCAyNTIsIDE0MSwgMiwgMjAzLCA5MSwgMTEsIAotICAgIDIyMiwgMjI4LCAyNDcsIDI1NCwgMTk5LCAyNDcsIDE2OCwgMTEsIDI0NCwgMTc1LCAyNDcsIDI1NCwgOTIsIDIzMiwgMTQ2LCAKLSAgICAyNTQsIDExOCwgOTIsIDIzMiwgMTQ2LCAyMjYsIDE1OCwgNzEsIDI0NywgMjQ5LCAyLCAyNTAsIDE3MywgMjQ3LCAxMjAsIAotICAgIDIyLCAyLCAyNDcsIDEyMCwgMjQ1LCAxNzAsIDY0LCAyMjYsIDE3MCwgMjE0LCAxNTIsIDIzMiwgMTA4LCA0NCwgMjQ5LCAKLSAgICAxNjEsIDIsIDI0NywgMTIwLCAyMTQsIDE2MCwgNDMsIDI0OSwgMTYxLCAyLCAyNDcsIDEyMCwgNDMsIDIyNiwgMTI4LCAyMzUsIAotICAgIDY2LCA0NCwgMjI2LCAxMjgsIDIzNSwgNjYsIDI0MywgMjI5LCAyMjYsIDEyOCwgMjM1LCA2NiwgMjMzLCA4NSwgMTIwLCAKLSAgICAyMTcsIDg3LCAyMzMsIDg1LCAxMjQsIDIxNywgODcsIDQzLCAyMiwgNDQsIDUyLCAyMTUsIDkzLCA0MywgMjIsIDQ0LCAyMTcsIAotICAgIDg3LCA0MywgMjMwLCA4NywgMTk5LCA0NCwgMjE3LCA4NywgMTk5LCA0MywgMjE3LCA4NywgMTIwLCAyMTcsIDg4LCAyLCAKLSAgICAyNTAsIDM2LCA0OCwgMjMyLCAxMDUsIDI0NywgMTczLCAyNTEsIDc4LCAyMDMsIDIyMiwgMTMzLCA3MSwgMjQ5LCAyMDUsIAotICAgIDI0NywgMjQ4LCA3MSwgMjQ5LCAyMDUsIDI0NywgMjQ5LCAyLCAxNDAsIDIxNiwgMTE0LCA3MSwgMjQ5LCAyMDUsIDI0NywgCi0gICAgMjQ5LCAyLCA5NywgMjE2LCAxMTQsIDcxLCA0MiwgMiwgMTQwLCAyMTYsIDExNCwgNzEsIDQyLCAyLCA5NywgMjE2LCAxMTQsIAotICAgIDExLCA0MywgNzEsIDQyLCAxMjcsIDExLCA0NCwgNzEsIDQyLCAxMjcsIDExLCA0MywgMjU0LCAxMTAsIDEyNywgMTEsIDQ0LCAKLSAgICAyNTQsIDExMCwgMTI3LCAxMSwgNDMsIDUyLCAyNTQsIDExMCwgMTI3LCAxMSwgNDQsIDUyLCAyNTQsIDExMCwgMTI3LCAxMSwgCi0gICAgNDMsIDcxLCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgMTEsIDQ0LCA3MSwgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDExLCA0MywgCi0gICAgMjQ0LCA2MywgMjI2LCAzLCAxMSwgNDQsIDI0NCwgNjMsIDIyNiwgMywgMjE0LCAxNTMsIDIyNCwgMjQsIDc0LCAyNDYsIAotICAgIDEwNCwgMjI0LCAyNCwgNzQsIDI1NCwgODgsIDI0MywgOTgsIDI1MCwgMzYsIDc0LCAyNTAsIDIsIDI0MywgOTgsIDI1MCwgCi0gICAgMzYsIDc0LCA0NCwgODAsIDIsIDM3LCAyMjUsIDIyLCAxOTksIDE0MCwgNzQsIDE5OSwgOTcsIDc0LCAxOTksIDQzLCA0NCwgCi0gICAgNzQsIDE5OSwgMTQwLCA1MiwgNzQsIDE5OSwgOTcsIDUyLCA3NCwgMTk5LCA0MywgNDQsIDUyLCA3NCwgMTk5LCAxNDAsIDgwLCAKLSAgICAyNDMsIDI0MywgMTMwLCAxOTksIDk3LCA4MCwgMjQzLCAyNDMsIDEzMCwgMTk5LCAxNDAsIDUyLCA4MCwgMjQzLCAyNDMsIAotICAgIDEzMCwgMTk5LCA5NywgNTIsIDgwLCAyNDMsIDI0MywgMTMwLCAxOTksIDk3LCAyMTgsIDIzMCwgNzQsIDQ2LCA0NywgMjUxLCAKLSAgICAyMTUsIDQ2LCA0NywgMjQ3LCAxMTcsIDQ2LCA0NywgMjQ2LCAyNDUsIDQ2LCA0NywgMjQ3LCAxMTYsIDQ2LCA0NywgMjQ2LCAKLSAgICAxODEsIDQ2LCA0NywgMjQ3LCA1MiwgNDYsIDQ3LCAyNDYsIDI0NCwgNDYsIDQ3LCAyNDcsIDExNSwgNDYsIDQ3LCAyNDYsIAotICAgIDE0OSwgNDYsIDQ3LCAyNDcsIDIwLCA0NiwgNDcsIDI0NiwgMjEyLCA0NiwgNDcsIDI0NywgODMsIDQ2LCA0NywgMjQ2LCAKLSAgICAxODAsIDQ2LCA0NywgMjQ3LCA1MSwgNDYsIDQ3LCAyNDYsIDI0MywgNDYsIDQ3LCAyNDcsIDExNCwgNDYsIDQ3LCAyNDYsIAotICAgIDEzMywgNDYsIDQ3LCAyNDcsIDQsIDQ2LCA0NywgMjQ2LCAxOTYsIDQ2LCA0NywgMjQ3LCA2NywgNDYsIDQ3LCAyNDYsIDE2NCwgCi0gICAgNDYsIDQ3LCAyNDcsIDM1LCA0NiwgNDcsIDI0NiwgMjI3LCA0NiwgNDcsIDI0NywgOTgsIDQ2LCA0NywgMjQ2LCAxNDgsIDQ2LCAKLSAgICA0NywgMjQ3LCAxOSwgNDYsIDQ3LCAyNDYsIDIxMSwgNDYsIDQ3LCAyNDcsIDgyLCA0NiwgNDcsIDI0NiwgMTc5LCA0NiwgNDcsIAotICAgIDI0NywgNTAsIDQ2LCA0NywgMjQ2LCAyNDIsIDQ2LCA0NywgMjQ3LCAxMTMsIDQ2LCA0NywgMjQ2LCAxMjUsIDQ2LCA0NywgCi0gICAgMjQ2LCAyNTIsIDQ2LCA0NywgMjQ2LCAxODgsIDQ2LCA0NywgMjQ3LCA1OSwgNDYsIDQ3LCAyNDYsIDE1NiwgNDYsIDQ3LCAKLSAgICAyNDcsIDI3LCA0NiwgNDcsIDI0NiwgMjE5LCA0NiwgNDcsIDI0NywgOTAsIDQ2LCA0NywgMjQ2LCAxNDAsIDQ2LCA0NywgCi0gICAgMjQ3LCAxMSwgNDYsIDQ3LCAyNDYsIDIwMywgNDYsIDQ3LCAyNDcsIDc0LCA0NiwgNDcsIDI0NiwgMTcxLCA0NiwgNDcsIAotICAgIDI0NywgNDIsIDQ2LCA0NywgMjQ2LCAyMzQsIDQ2LCA0NywgMjQ3LCAxMDUsIDQ2LCA0NywgMjQ2LCAxMzIsIDQ2LCA0NywgCi0gICAgMjQ3LCAzLCA0NiwgNDcsIDI0NiwgMTk1LCA0NiwgNDcsIDI0NywgNjYsIDQ2LCA0NywgMjQ2LCAxNjMsIDQ2LCA0NywgMjQ3LCAKLSAgICAzNCwgNDYsIDQ3LCAyNDYsIDIyNiwgNDYsIDQ3LCAyNDcsIDk3LCA0NiwgNDcsIDI0NiwgMTQ3LCA0NiwgNDcsIDI0NywgMTgsIAotICAgIDQ2LCA0NywgMjQ2LCAyMTAsIDQ2LCA0NywgMjQ3LCA4MSwgNDYsIDQ3LCAyNDYsIDE3OCwgNDYsIDQ3LCAyNDcsIDQ5LCA0NiwgCi0gICAgNDcsIDI0NiwgMjQxLCA0NiwgNDcsIDI0NywgMTEyLCA0NiwgNDcsIDI0NiwgMTIxLCA0NiwgNDcsIDI0NiwgMjQ4LCA0NiwgCi0gICAgNDcsIDI0NiwgMTg0LCA0NiwgNDcsIDI0NywgNTUsIDQ2LCA0NywgMjQ2LCAxNTIsIDQ2LCA0NywgMjQ3LCAyMywgNDYsIDQ3LCAKLSAgICAyNDYsIDIxNSwgNDYsIDQ3LCAyNDcsIDg2LCA0NiwgNDcsIDI0NiwgMTM2LCA0NiwgNDcsIDI0NywgNywgNDYsIDQ3LCAyNDYsIAotICAgIDE5OSwgNDYsIDQ3LCAyNDcsIDcwLCA0NiwgNDcsIDI0NiwgMTY3LCA0NiwgNDcsIDI0NywgMzgsIDQ2LCA0NywgMjQ2LCAKLSAgICAyMzAsIDQ2LCA0NywgMjQ3LCAxMDEsIDQ2LCA0NywgMjQ2LCAxMjgsIDQ2LCA0NywgMjQ2LCAyNTUsIDQ2LCA0NywgMjQ2LCAKLSAgICAxOTEsIDQ2LCA0NywgMjQ3LCA2MiwgNDYsIDQ3LCAyNDYsIDE1OSwgNDYsIDQ3LCAyNDcsIDMwLCA0NiwgNDcsIDI0NiwgCi0gICAgMjIyLCA0NiwgNDcsIDI0NywgOTMsIDQ2LCA0NywgMjQ2LCAxNDMsIDQ2LCA0NywgMjQ3LCAxNCwgNDYsIDQ3LCAyNDYsIAotICAgIDIwNiwgNDYsIDQ3LCAyNDcsIDc3LCA0NiwgNDcsIDI0NiwgMTc0LCA0NiwgNDcsIDI0NywgNDUsIDQ2LCA0NywgMjQ2LCAKLSAgICAyMzcsIDQ2LCA0NywgMjQ3LCAxMDgsIDQ2LCA0NywgMjQ2LCAxMjQsIDQ2LCA0NywgMjQ2LCAyNTEsIDQ2LCA0NywgMjQ2LCAKLSAgICAxODcsIDQ2LCA0NywgMjQ3LCA1OCwgNDYsIDQ3LCAyNDYsIDE1NSwgNDYsIDQ3LCAyNDcsIDI2LCA0NiwgNDcsIDI0NiwgCi0gICAgMjE4LCA0NiwgNDcsIDI0NywgODksIDQ2LCA0NywgMjQ2LCAxMzksIDQ2LCA0NywgMjQ3LCAxMCwgNDYsIDQ3LCAyNDYsIAotICAgIDIwMiwgNDYsIDQ3LCAyNDcsIDczLCA0NiwgNDcsIDI0NiwgMTcwLCA0NiwgNDcsIDI0NywgNDEsIDQ2LCA0NywgMjQ2LCAKLSAgICAyMzMsIDQ2LCA0NywgMjQ3LCAxMDQsIDQ2LCA0NywgMjQ2LCAxMzEsIDQ2LCA0NywgMjQ3LCAyLCA0NiwgNDcsIDI0NiwgCi0gICAgMTk0LCA0NiwgNDcsIDI0NywgNjUsIDQ2LCA0NywgMjQ2LCAxNjIsIDQ2LCA0NywgMjQ3LCAzMywgNDYsIDQ3LCAyNDYsIAotICAgIDIyNSwgNDYsIDQ3LCAyNDcsIDk2LCA0NiwgNDcsIDI0NiwgMTQ2LCA0NiwgNDcsIDI0NywgMTcsIDQ2LCA0NywgMjQ2LCAKLSAgICAyMDksIDQ2LCA0NywgMjQ3LCA4MCwgNDYsIDQ3LCAyNDYsIDE3NywgNDYsIDQ3LCAyNDcsIDQ4LCA0NiwgNDcsIDI0NiwgCi0gICAgMjQwLCA0NiwgNDcsIDI0NywgMTExLCA0NiwgNDcsIDI0NiwgMTE5LCA0NiwgNDcsIDI0NiwgMjQ2LCA0NiwgNDcsIDI0NiwgCi0gICAgMTgyLCA0NiwgNDcsIDI0NywgNTMsIDQ2LCA0NywgMjQ2LCAxNTAsIDQ2LCA0NywgMjQ3LCAyMSwgNDYsIDQ3LCAyNDYsIAotICAgIDIxMywgNDYsIDQ3LCAyNDcsIDg0LCA0NiwgNDcsIDI0NiwgMTM0LCA0NiwgNDcsIDI0NywgNSwgNDYsIDQ3LCAyNDYsIDE5NywgCi0gICAgNDYsIDQ3LCAyNDcsIDY4LCA0NiwgNDcsIDI0NiwgMTY1LCA0NiwgNDcsIDI0NywgMzYsIDQ2LCA0NywgMjQ2LCAyMjgsIDQ2LCAKLSAgICA0NywgMjQ3LCA5OSwgNDYsIDQ3LCAyNDYsIDEyNiwgNDYsIDQ3LCAyNDYsIDI1MywgNDYsIDQ3LCAyNDYsIDE4OSwgNDYsIAotICAgIDQ3LCAyNDcsIDYwLCA0NiwgNDcsIDI0NiwgMTU3LCA0NiwgNDcsIDI0NywgMjgsIDQ2LCA0NywgMjQ2LCAyMjAsIDQ2LCA0NywgCi0gICAgMjQ3LCA5MSwgNDYsIDQ3LCAyNDYsIDE0MSwgNDYsIDQ3LCAyNDcsIDEyLCA0NiwgNDcsIDI0NiwgMjA0LCA0NiwgNDcsIAotICAgIDI0NywgNzUsIDQ2LCA0NywgMjQ2LCAxNzIsIDQ2LCA0NywgMjQ3LCA0MywgNDYsIDQ3LCAyNDYsIDIzNSwgNDYsIDQ3LCAKLSAgICAyNDcsIDEwNiwgNDYsIDQ3LCAyNDYsIDEyMiwgNDYsIDQ3LCAyNDYsIDI0OSwgNDYsIDQ3LCAyNDYsIDE4NSwgNDYsIDQ3LCAKLSAgICAyNDcsIDU2LCA0NiwgNDcsIDI0NiwgMTUzLCA0NiwgNDcsIDI0NywgMjQsIDQ2LCA0NywgMjQ2LCAyMTYsIDQ2LCA0NywgCi0gICAgMjQ3LCA4NywgNDYsIDQ3LCAyNDYsIDEzNywgNDYsIDQ3LCAyNDcsIDgsIDQ2LCA0NywgMjQ2LCAyMDAsIDQ2LCA0NywgMjQ3LCAKLSAgICA3MSwgNDYsIDQ3LCAyNDYsIDE2OCwgNDYsIDQ3LCAyNDcsIDM5LCA0NiwgNDcsIDI0NiwgMjMxLCA0NiwgNDcsIDI0NywgCi0gICAgMTAyLCA0NiwgNDcsIDI0NiwgMTI5LCA0NiwgNDcsIDI0NywgMCwgNDYsIDQ3LCAyNDYsIDE5MiwgNDYsIDQ3LCAyNDcsIDYzLCAKLSAgICA0NiwgNDcsIDI0NiwgMTYwLCA0NiwgNDcsIDI0NywgMzEsIDQ2LCA0NywgMjQ2LCAyMjMsIDQ2LCA0NywgMjQ3LCA5NCwgNDYsIAotICAgIDQ3LCAyNDYsIDE0NCwgNDYsIDQ3LCAyNDcsIDE1LCA0NiwgNDcsIDI0NiwgMjA3LCA0NiwgNDcsIDI0NywgNzgsIDQ2LCA0NywgCi0gICAgMjQ2LCAxNzUsIDQ2LCA0NywgMjQ3LCA0NiwgNDYsIDQ3LCAyNDYsIDIzOCwgNDYsIDQ3LCAyNDcsIDEwOSwgNDYsIDQ3LCAKLSAgICAyNDYsIDEyMCwgNDYsIDQ3LCAyNDYsIDI0NywgNDYsIDQ3LCAyNDYsIDE4MywgNDYsIDQ3LCAyNDcsIDU0LCA0NiwgNDcsIAotICAgIDI0NiwgMTUxLCA0NiwgNDcsIDI0NywgMjIsIDQ2LCA0NywgMjQ2LCAyMTQsIDQ2LCA0NywgMjQ3LCA4NSwgNDYsIDQ3LCAKLSAgICAyNDYsIDEzNSwgNDYsIDQ3LCAyNDcsIDYsIDQ2LCA0NywgMjQ2LCAxOTgsIDQ2LCA0NywgMjQ3LCA2OSwgNDYsIDQ3LCAyNDYsIAotICAgIDE2NiwgNDYsIDQ3LCAyNDcsIDM3LCA0NiwgNDcsIDI0NiwgMjI5LCA0NiwgNDcsIDI0NywgMTAwLCA0NiwgNDcsIDI0NiwgCi0gICAgMTI3LCA0NiwgNDcsIDI0NiwgMjU0LCA0NiwgNDcsIDI0NiwgMTkwLCA0NiwgNDcsIDI0NywgNjEsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNTgsIDQ2LCA0NywgMjQ3LCAyOSwgNDYsIDQ3LCAyNDYsIDIyMSwgNDYsIDQ3LCAyNDcsIDkyLCA0NiwgNDcsIDI0NiwgCi0gICAgMTQyLCA0NiwgNDcsIDI0NywgMTMsIDQ2LCA0NywgMjQ2LCAyMDUsIDQ2LCA0NywgMjQ3LCA3NiwgNDYsIDQ3LCAyNDYsIAotICAgIDE3MywgNDYsIDQ3LCAyNDcsIDQ0LCA0NiwgNDcsIDI0NiwgMjM2LCA0NiwgNDcsIDI0NywgMTA3LCA0NiwgNDcsIDI0NiwgCi0gICAgMTIzLCA0NiwgNDcsIDI0NiwgMjUwLCA0NiwgNDcsIDI0NiwgMTg2LCA0NiwgNDcsIDI0NywgNTcsIDQ2LCA0NywgMjQ2LCAKLSAgICAxNTQsIDQ2LCA0NywgMjQ3LCAyNSwgNDYsIDQ3LCAyNDYsIDIxNywgNDYsIDQ3LCAyNDcsIDg4LCA0NiwgNDcsIDI0NiwgCi0gICAgMTM4LCA0NiwgNDcsIDI0NywgOSwgNDYsIDQ3LCAyNDYsIDIwMSwgNDYsIDQ3LCAyNDcsIDcyLCA0NiwgNDcsIDI0NiwgMTY5LCAKLSAgICA0NiwgNDcsIDI0NywgNDAsIDQ2LCA0NywgMjQ2LCAyMzIsIDQ2LCA0NywgMjQ3LCAxMDMsIDQ2LCA0NywgMjQ2LCAxMzAsIAotICAgIDQ2LCA0NywgMjQ3LCAxLCA0NiwgNDcsIDI0NiwgMTkzLCA0NiwgNDcsIDI0NywgNjQsIDQ2LCA0NywgMjQ2LCAxNjEsIDQ2LCAKLSAgICA0NywgMjQ3LCAzMiwgNDYsIDQ3LCAyNDYsIDIyNCwgNDYsIDQ3LCAyNDcsIDk1LCA0NiwgNDcsIDI0NiwgMTQ1LCA0NiwgNDcsIAotICAgIDI0NywgMTYsIDQ2LCA0NywgMjQ2LCAyMDgsIDQ2LCA0NywgMjQ3LCA3OSwgNDYsIDQ3LCAyNDYsIDE3NiwgNDYsIDQ3LCAKLSAgICAyNDcsIDQ3LCA0NiwgNDcsIDI0NiwgMjM5LCA0NiwgNDcsIDI0NywgMTEwLCA5NywgMjE1LCA1OCwgODAsIDIsIDY3LCA5MSwgCisgICAgMjQxLCA1MywgNDgsIDcsIDQsIDEsIDE2MCwgMiwgMjQxLCA1MywgNDgsIDcsIDYsIDEsIDE2MCwgMiwgMTgzLCA3LCA0LCAxLCAKKyAgICAxNjAsIDIsIDE4MywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMyLCAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzIsIAorICAgIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMiwgMjIsIDI0MiwgMTM3LCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgCisgICAgMzIsIDIyLCAyNDIsIDEzNywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMyLCAyMiwgMjQxLCA1MywgNDgsIDcsIDQsIDEsIAorICAgIDE2MCwgMiwgMjUwLCAzMiwgMjIsIDI0MSwgNTMsIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzIsIDIyLCAxODMsIDcsIAorICAgIDQsIDEsIDE2MCwgMiwgMjUwLCAzMiwgMjIsIDE4MywgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMyLCAyMiwgNTksIDUxLCA3LCAKKyAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMzIsIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCAyNDEsIDUzLCA0OCwgNywgCisgICAgNCwgMSwgMjQwLCAxNTUsIDIsIDI0MSwgNTMsIDQ4LCA3LCA2LCAxLCAyNDAsIDE1NSwgMiwgNTksIDUxLCA3LCA0LCAxLCAKKyAgICAyNDAsIDE1NSwgMiwgNTksIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCA1OSwgNTEsIDcsIAorICAgIDYsIDEsIDE0NCwgMiwgMjQxLCA1MywgNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjQxLCA1MywgNDgsIDcsIDYsIDEsIDE0NCwgMiwgCisgICAgMjUwLCAzMiwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDMyLCAyMiwgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIAorICAgIDI1MCwgMzIsIDIyLCAyNDIsIDEzNywgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDMyLCAyMiwgMjQyLCAxMzcsIDcsIDYsIDEsIAorICAgIDE0NCwgMiwgMjUwLCAzMiwgMjIsIDI0MSwgNTMsIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzIsIDIyLCAyNDEsIDUzLCAKKyAgICA0OCwgNywgNiwgMSwgMTQ0LCAyLCAyNTAsIDMyLCAyMiwgMTgzLCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzIsIDIyLCAxODMsIAorICAgIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAzMiwgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDMyLCAyMiwgNTksIAorICAgIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjUwLCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDI0MCwgMjUwLCAyMiwgCisgICAgMTQyLCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjUwLCAyMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDE0NCwgMiwgMjQwLCAyNTAsIAorICAgIDIyLCAyNDIsIDEzNywgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI1MCwgMjIsIDI0MSwgNTMsIDQ4LCA3LCA0LCAxLCAxNDQsIAorICAgIDIsIDI0MCwgMjUwLCAyMiwgMjQxLCA1MywgNDgsIDcsIDYsIDEsIDE0NCwgMiwgMjQwLCAyNTAsIDIyLCAxODMsIDcsIDQsIAorICAgIDEsIDE0NCwgMiwgMjQwLCAyNTAsIDIyLCAxODMsIDcsIDYsIDEsIDE0NCwgMiwgMjQwLCAyNTAsIDIyLCA1OSwgNTEsIDcsIAorICAgIDQsIDEsIDE0NCwgMiwgMjQwLCAyNTAsIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgNTksIDUxLCA3LCA0LCAxLCAKKyAgICAxMDQsIDIsIDU5LCA1MSwgNywgNiwgMSwgMTA0LCAyLCAyNDEsIDUzLCA0OCwgNywgNCwgMSwgMTA0LCAyLCAyNDEsIDUzLCAKKyAgICA0OCwgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI1MCwgMjIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAyNDAsIDI1MCwgMjIsIAorICAgIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI1MCwgMjIsIDI0MiwgMTM3LCA3LCA0LCAxLCAxMDQsIDIsIDI0MCwgMjUwLCAKKyAgICAyMiwgMjQyLCAxMzcsIDcsIDYsIDEsIDEwNCwgMiwgMjQwLCAyNTAsIDIyLCAyNDEsIDUzLCA0OCwgNywgNCwgMSwgMTA0LCAKKyAgICAyLCAyNDAsIDI1MCwgMjIsIDI0MSwgNTMsIDQ4LCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjUwLCAyMiwgMTgzLCA3LCA0LCAKKyAgICAxLCAxMDQsIDIsIDI0MCwgMjUwLCAyMiwgMTgzLCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjUwLCAyMiwgNTksIDUxLCA3LCAKKyAgICA0LCAxLCAxMDQsIDIsIDI0MCwgMjUwLCAyMiwgNTksIDUxLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMjQyLCAxMzcsIDcsIDQsIAorICAgIDEsIDIxMSwgMTE4LCAyLCAyNDIsIDEzNywgNywgNiwgMSwgMjExLCAxMTgsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjExLCAKKyAgICAxMTgsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDI0MSwgNTMsIDQ4LCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgCisgICAgMjQxLCA1MywgNDgsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAxODMsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAxODMsIDcsIDYsIAorICAgIDEsIDIzMCwgMjI0LCAyMzIsIDE4NiwgNywgNCwgMSwgMjMwLCAyMjQsIDIzMiwgMTg2LCA3LCA2LCAxLCAyMzAsIDIyNCwgCisgICAgMjE0LCAxMDUsIDcsIDQsIDEsIDIzMCwgMjI0LCAyMTQsIDEwNSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDIzMiwgMTI0LCA3LCAKKyAgICA0LCAxLCAyMTEsIDExOCwgMiwgMjMyLCAxMjQsIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjI0LCAxNTUsIDI2LCA0LCAxLCAKKyAgICAyNTQsIDE0NSwgMiwgMjQ4LCAxNTQsIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjI0LCAxNTYsIDIyLCAyMTQsIDEzLCAyNiwgCisgICAgNCwgMSwgMjU0LCAxNDUsIDIsIDI0OCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI1NCwgMTQ1LCAyLCAyMjQsIAorICAgIDE1NiwgMjIsIDIyNiwgMTExLCAyNiwgNCwgMSwgMjU0LCAxNDUsIDIsIDI0OCwgMTU1LCAyMiwgMjI2LCAxMTEsIDI2LCA0LCAKKyAgICAxLCAyNTQsIDE0NSwgMiwgMjI0LCAxNTYsIDIyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDI1NCwgMTQ1LCAyLCAyNDgsIDE1NSwgCisgICAgMjIsIDIyNSwgMTc2LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIyNCwgMTU1LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIAorICAgIDI0OCwgMTU0LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIyNCwgMTU2LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI1NCwgCisgICAgMTQ1LCAyLCAyNDgsIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNTQsIDE0NSwgMiwgMjI0LCAxNTYsIDIyLCAyMjYsIAorICAgIDExMSwgMjYsIDYsIDEsIDI1NCwgMTQ1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNiwgMTExLCAyNiwgNiwgMSwgMjU0LCAxNDUsIAorICAgIDIsIDIyNCwgMTU2LCAyMiwgMjI1LCAxNzYsIDI2LCA2LCAxLCAyNTQsIDE0NSwgMiwgMjQ4LCAxNTUsIDIyLCAyMjUsIDE3NiwgCisgICAgMjYsIDQsIDEsIDI0NSwgMTAyLCAyLCAyMjQsIDE1NSwgMjYsIDQsIDEsIDI0NSwgMTAyLCAyLCAyNDgsIDE1NCwgMjYsIDQsIAorICAgIDEsIDI0NSwgMTAyLCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDEwMiwgMiwgMjQ4LCAxNTUsIAorICAgIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCAxMDIsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTEsIDI2LCA0LCAxLCAKKyAgICAyNDUsIDEwMiwgMiwgMjQ4LCAxNTUsIDIyLCAyMjYsIDExMSwgMjYsIDYsIDEsIDI0NSwgMTAyLCAyLCAyMjQsIDE1NSwgMjYsIAorICAgIDYsIDEsIDI0NSwgMTAyLCAyLCAyNDgsIDE1NCwgMjYsIDYsIDEsIDI0NSwgMTAyLCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgCisgICAgMTMsIDI2LCA2LCAxLCAyNDUsIDEwMiwgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjQ1LCAxMDIsIDIsIAorICAgIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTEsIDI2LCA2LCAxLCAyNDUsIDEwMiwgMiwgMjQ4LCAxNTUsIDIyLCAyMjYsIDExMSwgCisgICAgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU1LCAyNiwgNCwgMSwgMjQ1LCA2NSwgMiwgMjQ4LCAxNTQsIDI2LCA0LCAxLCAKKyAgICAyNDUsIDY1LCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NSwgMjIsIAorICAgIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAyMjQsIDE1NiwgMjIsIDIyNiwgMTExLCAyNiwgNCwgMSwgMjQ1LCA2NSwgCisgICAgMiwgMjQ4LCAxNTUsIDIyLCAyMjYsIDExMSwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgMjI1LCAxNzYsIAorICAgIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNSwgMTc2LCAyNiwgNiwgMSwgMjQ1LCA2NSwgMiwgMjI0LCAKKyAgICAxNTUsIDI2LCA2LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NCwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgCisgICAgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDI0OCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgNjUsIAorICAgIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTEsIDI2LCA2LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNiwgMTExLCAKKyAgICAyNiwgNiwgMSwgMjQ1LCA2NSwgMiwgMjI0LCAxNTYsIDIyLCAyMjUsIDE3NiwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDI0OCwgCisgICAgMTU1LCAyMiwgMjI1LCAxNzYsIDI2LCA0LCAxLCAyMzUsIDE4NywgMiwgMjI0LCAxNTUsIDI2LCA0LCAxLCAyMzUsIDE4NywgCisgICAgMiwgMjQ4LCAxNTQsIDI2LCA0LCAxLCAyMzUsIDE4NywgMiwgMjI0LCAxNTYsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAKKyAgICAxODcsIDIsIDI0OCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAyMjQsIDE1NiwgMjIsIDIyNiwgCisgICAgMTExLCAyNiwgNCwgMSwgMjM1LCAxODcsIDIsIDI0OCwgMTU1LCAyMiwgMjI2LCAxMTEsIDI2LCA0LCAxLCAyMzUsIDE4NywgCisgICAgMiwgMjI0LCAxNTYsIDIyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAyNDgsIDE1NSwgMjIsIDIyNSwgMTc2LCAKKyAgICAyNiwgNiwgMSwgMjM1LCAxODcsIDIsIDIyNCwgMTU1LCAyNiwgNiwgMSwgMjM1LCAxODcsIDIsIDI0OCwgMTU0LCAyNiwgNiwgCisgICAgMSwgMjM1LCAxODcsIDIsIDIyNCwgMTU2LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIzNSwgMTg3LCAyLCAyNDgsIDE1NSwgCisgICAgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMzUsIDE4NywgMiwgMjI0LCAxNTYsIDIyLCAyMjYsIDExMSwgMjYsIDYsIDEsIAorICAgIDIzNSwgMTg3LCAyLCAyNDgsIDE1NSwgMjIsIDIyNiwgMTExLCAyNiwgNiwgMSwgMjM1LCAxODcsIDIsIDIyNCwgMTU2LCAyMiwgCisgICAgMjI1LCAxNzYsIDI2LCA2LCAxLCAyMzUsIDE4NywgMiwgMjQ4LCAxNTUsIDIyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDIyNiwgCisgICAgMjAxLCAyLCAyMjQsIDE1NSwgMjYsIDQsIDEsIDIyNiwgMjAxLCAyLCAyNDgsIDE1NCwgMjYsIDQsIDEsIDIyNiwgMjAxLCAyLCAKKyAgICAyMjQsIDE1NiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwMSwgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgCisgICAgNCwgMSwgMjI2LCAyMDEsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTEsIDI2LCA0LCAxLCAyMjYsIDIwMSwgMiwgMjQ4LCAKKyAgICAxNTUsIDIyLCAyMjYsIDExMSwgMjYsIDYsIDEsIDIyNiwgMjAxLCAyLCAyMjQsIDE1NSwgMjYsIDYsIDEsIDIyNiwgMjAxLCAKKyAgICAyLCAyNDgsIDE1NCwgMjYsIDYsIDEsIDIyNiwgMjAxLCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIAorICAgIDIwMSwgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDEsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAKKyAgICAxMTEsIDI2LCA2LCAxLCAyMjYsIDIwMSwgMiwgMjQ4LCAxNTUsIDIyLCAyMjYsIDExMSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAKKyAgICAyLCAyMjQsIDE1NSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1NCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjQsIAorICAgIDE1NiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgCisgICAgMjE0LCAxNTgsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTEsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTUsIDIyLCAKKyAgICAyMjYsIDExMSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjQsIDE1NiwgMjIsIDIyNSwgMTc2LCAyNiwgNCwgMSwgMjE0LCAKKyAgICAxNTgsIDIsIDI0OCwgMTU1LCAyMiwgMjI1LCAxNzYsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTQsIDI2LCA2LCAKKyAgICAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTU1LCAKKyAgICAyMiwgMjI2LCAxMTEsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTUsIDIyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIAorICAgIDIyNiwgMjAzLCAyLCAyMjQsIDE1NSwgMjYsIDQsIDEsIDIyNiwgMjAzLCAyLCAyNDgsIDE1NCwgMjYsIDQsIDEsIDIyNiwgCisgICAgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwMywgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIAorICAgIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDMsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTEsIDI2LCA0LCAxLCAyMjYsIDIwMywgMiwgCisgICAgMjQ4LCAxNTUsIDIyLCAyMjYsIDExMSwgMjYsIDQsIDEsIDIyNiwgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIyNSwgMTc2LCAKKyAgICAyNiwgNCwgMSwgMjI2LCAyMDMsIDIsIDI0OCwgMTU1LCAyMiwgMjI1LCAxNzYsIDI2LCA2LCAxLCAyMjYsIDIwMywgMiwgCisgICAgMjI0LCAxNTUsIDI2LCA2LCAxLCAyMjYsIDIwMywgMiwgMjQ4LCAxNTQsIDI2LCA2LCAxLCAyMjYsIDIwMywgMiwgMjI0LCAKKyAgICAxNTYsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAyMDMsIDIsIDI0OCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIAorICAgIDIyNiwgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIyNiwgMTExLCAyNiwgNiwgMSwgMjI2LCAyMDMsIDIsIDI0OCwgMTU1LCAyMiwgCisgICAgMjI2LCAxMTEsIDI2LCA2LCAxLCAyMjYsIDIwMywgMiwgMjI0LCAxNTYsIDIyLCAyMjUsIDE3NiwgMjYsIDYsIDEsIDIyNiwgCisgICAgMjAzLCAyLCAyNDgsIDE1NSwgMjIsIDIyNSwgMTc2LCAyNiwgNCwgMSwgMjU0LCAxNDUsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAKKyAgICAyNTQsIDE0NSwgMiwgMjI2LCAxMTEsIDI2LCA0LCAxLCAyNDUsIDEwMiwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgCisgICAgMTAyLCAyLCAyMjYsIDExMSwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAKKyAgICAyMjYsIDExMSwgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAxODcsIDIsIDIyNiwgCisgICAgMTExLCAyNiwgNCwgMSwgMjI2LCAyMDEsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwMSwgMiwgMjI2LCAxMTEsIDI2LCAKKyAgICA0LCAxLCAyMTQsIDE1OCwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMjYsIDExMSwgMjYsIDQsIDEsIAorICAgIDIyNiwgMjAzLCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDMsIDIsIDIyNiwgMTExLCAyNiwgNCwgMSwgMjU0LCAKKyAgICAxNDUsIDIsIDIyNCwgMTU2LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjQ4LCAxNTUsIDIyLCAyMTAsIAorICAgIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ1LCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIAorICAgIDEsIDI1NCwgMTQ1LCAyLCAyNDgsIDE1NSwgMjIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ1LCAKKyAgICAyLCAyMjQsIDE1NiwgMjIsIDIyNiwgMTEyLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjQ4LCAxNTUsIAorICAgIDIyLCAyMjYsIDExMiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDUsIDIsIDIyNCwgMTU2LCAyMiwgMjI1LCAKKyAgICAxNzcsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNSwgMTc3LCAyMiwgCisgICAgMjEwLCAyMTksIDI2LCA2LCAxLCAyNTQsIDE0NSwgMiwgMjI0LCAxNTYsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIDEsIDI1NCwgCisgICAgMTQ1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNCwgMTY4LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIyNCwgMTU2LCAyMiwgMjE0LCAKKyAgICAxNCwgMjIsIDIyNCwgMTY4LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDI0OCwgMTU1LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgCisgICAgMTY4LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTIsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIAorICAgIDEsIDI1NCwgMTQ1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNiwgMTEyLCAyMiwgMjI0LCAxNjgsIDI2LCA2LCAxLCAyNTQsIDE0NSwgCisgICAgMiwgMjI0LCAxNTYsIDIyLCAyMjUsIDE3NywgMjIsIDIyNCwgMTY4LCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDI0OCwgMTU1LCAKKyAgICAyMiwgMjI1LCAxNzcsIDIyLCAyMjQsIDE2OCwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgMjEwLCAyMTksIAorICAgIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NSwgMiwgMjI0LCAKKyAgICAxNTYsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NSwgMjIsIDIxNCwgCisgICAgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgMjI2LCAxMTIsIDIyLCAyMTAsIAorICAgIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDI0OCwgMTU1LCAyMiwgMjI2LCAxMTIsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIAorICAgIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgMjI1LCAxNzcsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjUsIAorICAgIDIsIDI0OCwgMTU1LCAyMiwgMjI1LCAxNzcsIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAKKyAgICAyMiwgMjI0LCAxNjgsIDI2LCA2LCAxLCAyNDUsIDY1LCAyLCAyNDgsIDE1NSwgMjIsIDIyNCwgMTY4LCAyNiwgNiwgMSwgCisgICAgMjQ1LCA2NSwgMiwgMjI0LCAxNTYsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNjgsIDI2LCA2LCAxLCAyNDUsIDY1LCAyLCAKKyAgICAyNDgsIDE1NSwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgCisgICAgMjI2LCAxMTIsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDI0OCwgMTU1LCAyMiwgMjI2LCAxMTIsIDIyLCAKKyAgICAyMjQsIDE2OCwgMjYsIDYsIDEsIDI0NSwgNjUsIDIsIDIyNCwgMTU2LCAyMiwgMjI1LCAxNzcsIDIyLCAyMjQsIDE2OCwgMjYsIAorICAgIDYsIDEsIDI0NSwgNjUsIDIsIDI0OCwgMTU1LCAyMiwgMjI1LCAxNzcsIDIyLCAyMjQsIDE2OCwgMjYsIDQsIDEsIDIyNiwgCisgICAgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDMsIDIsIDI0OCwgMTU1LCAyMiwgMjEwLCAKKyAgICAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMywgMiwgMjI0LCAxNTYsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAKKyAgICAxLCAyMjYsIDIwMywgMiwgMjQ4LCAxNTUsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMywgCisgICAgMiwgMjI0LCAxNTYsIDIyLCAyMjYsIDExMiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDMsIDIsIDI0OCwgMTU1LCAKKyAgICAyMiwgMjI2LCAxMTIsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIyNSwgCisgICAgMTc3LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMywgMiwgMjQ4LCAxNTUsIDIyLCAyMjUsIDE3NywgMjIsIAorICAgIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjI2LCAyMDMsIDIsIDIyNCwgMTU2LCAyMiwgMjI0LCAxNjgsIDI2LCA2LCAxLCAyMjYsIAorICAgIDIwMywgMiwgMjQ4LCAxNTUsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIDEsIDIyNiwgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIxNCwgCisgICAgMTQsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIDEsIDIyNiwgMjAzLCAyLCAyNDgsIDE1NSwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIAorICAgIDE2OCwgMjYsIDYsIDEsIDIyNiwgMjAzLCAyLCAyMjQsIDE1NiwgMjIsIDIyNiwgMTEyLCAyMiwgMjI0LCAxNjgsIDI2LCA2LCAKKyAgICAxLCAyMjYsIDIwMywgMiwgMjQ4LCAxNTUsIDIyLCAyMjYsIDExMiwgMjIsIDIyNCwgMTY4LCAyNiwgNiwgMSwgMjI2LCAyMDMsIAorICAgIDIsIDIyNCwgMTU2LCAyMiwgMjI1LCAxNzcsIDIyLCAyMjQsIDE2OCwgMjYsIDYsIDEsIDIyNiwgMjAzLCAyLCAyNDgsIDE1NSwgCisgICAgMjIsIDIyNSwgMTc3LCAyMiwgMjI0LCAxNjgsIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjEzLCAxMjAsIDI2LCA0LCAxLCAKKyAgICAyNTQsIDE0NSwgMiwgMjMxLCAyMzMsIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgCisgICAgNCwgMSwgMjU0LCAxNDUsIDIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDUsIDIsIDIyNiwgMTEyLCAyMiwgMjEwLCAKKyAgICAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjI1LCAxNzYsIDI2LCA0LCAxLCAyNTQsIDE0NSwgMiwgMjI1LCAxNzcsIAorICAgIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI1NCwgMTQ1LCAyLCAyMTMsIDEyMCwgMjYsIDYsIDEsIDI1NCwgMTQ1LCAyLCAKKyAgICAyMzEsIDIzMywgMjYsIDYsIDEsIDI1NCwgMTQ1LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIyNiwgCisgICAgMTExLCAyNiwgNiwgMSwgMjU0LCAxNDUsIDIsIDIyNCwgMTY4LCAyNiwgMjM0LCAzLCAyNiwgMjI0LCAxNjgsIDI2LCAyMjQsIAorICAgIDE1NSwgMjYsIDIyNSwgMTc2LCAyNiwgMjQ3LCAyNTMsIDIyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIxNCwgCisgICAgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NSwgMiwgCisgICAgMjI2LCAxMTIsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjUsIDIsIDIyNSwgMTc2LCAyNiwgNCwgMSwgMjQ1LCAKKyAgICA2NSwgMiwgMjI1LCAxNzcsIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDI0NSwgMTAyLCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgCisgICAgMjQ1LCAxMDIsIDIsIDIyNiwgMTExLCAyNiwgNiwgMSwgMjQ1LCA2NSwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgNjUsIAorICAgIDIsIDIyNiwgMTExLCAyNiwgNiwgMSwgMjQ1LCA2NSwgMiwgMjI0LCAxNjgsIDI2LCAyMjQsIDE1NiwgMjIsIDIxNCwgMTMsIAorICAgIDI2LCAyMjQsIDE1NiwgMjIsIDIyNiwgMTExLCAyNiwgMjI0LCAxNTYsIDIyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDIzNSwgCisgICAgMTg3LCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAyMzEsIDIzMywgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAKKyAgICAyNDcsIDI1MywgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMzUsIDE4NywgMiwgMjQ3LCAyNTMsIDIyLCAyMjYsIDExMSwgMjYsIAorICAgIDQsIDEsIDIzNSwgMTg3LCAyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDIzNSwgMTg3LCAyLCAyNDcsIDI1MywgMjIsIDIyNSwgCisgICAgMTc2LCAyNiwgNiwgMSwgMjM1LCAxODcsIDIsIDIxMywgMTIwLCAyNiwgNiwgMSwgMjM1LCAxODcsIDIsIDIzMSwgMjMzLCAKKyAgICAyNiwgNiwgMSwgMjM1LCAxODcsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMzUsIDE4NywgMiwgMjI2LCAxMTEsIDI2LCAyNDgsIAorICAgIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCAyNDgsIDE1NSwgMjIsIDIyNiwgMTExLCAyNiwgMjQ4LCAxNTUsIDIyLCAyMjUsIDE3NiwgCisgICAgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMTMsIDEyMCwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyMzEsIDIzMywgMjYsIDQsIAorICAgIDEsIDIxNCwgMTU4LCAyLCAyNDcsIDI1MywgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ3LCAyNTMsIAorICAgIDIyLCAyMjYsIDExMSwgMjYsIDQsIDEsIDIyMywgMzksIDIsIDIyNCwgMTU1LCAyNiwgNCwgMSwgMjIzLCAzOSwgMiwgMjQ4LCAKKyAgICAxNTQsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI1LCAxNzYsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ3LCAyNTMsIAorICAgIDIyLCAyMjUsIDE3NiwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTMsIDEyMCwgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAKKyAgICAyMzEsIDIzMywgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDIyNiwgCisgICAgMTExLCAyNiwgNiwgMSwgMjIzLCAzOSwgMiwgMjQ4LCAxNTQsIDI2LCAyNDcsIDI1MywgMjIsIDIxNCwgMTMsIDI2LCAyNDcsIAorICAgIDI1MywgMjIsIDIyNiwgMTExLCAyNiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgMjAzLCAyLCAyMTQsIDE0LCAyMiwgMjEwLCAKKyAgICAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMywgMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMywgMiwgMjI2LCAxMTIsIAorICAgIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAzLCAyLCAyMjUsIDE3NiwgMjYsIDQsIDEsIDIyNiwgMjAzLCAyLCAKKyAgICAyMjUsIDE3NywgMjIsIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjI2LCAyMDEsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIAorICAgIDIwMSwgMiwgMjI2LCAxMTEsIDI2LCA2LCAxLCAyMjYsIDIwMywgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjAzLCAyLCAKKyAgICAyMjYsIDExMSwgMjYsIDYsIDEsIDIyNiwgMjAzLCAyLCAyMjQsIDE2OCwgMjYsIDIyNiwgMTExLCAyNiwgMjQ4LCAxNTQsIAorICAgIDI0NSwgMTUyLCAyMjQsIDI4LCAyNDUsIDE2MSwgMjI0LCAyOCwgMjQ1LCAxNTIsIDIxOSwgMTksIDI0NSwgMTYxLCAyMTksIAorICAgIDE5LCAyMTYsIDE0MiwgMjE5LCAxOSwgMjQ0LCAxMCwgMjE5LCAxOSwgMjE5LCAxMjQsIDIxOSwgMTksIDI0NCwgMTEzLCAKKyAgICAyMTksIDE5LCAyMjQsIDE0MiwgMjE5LCAxOSwgMjE2LCAxNzEsIDIxOSwgMTksIDI0MiwgMzYsIDIxOSwgMTksIDIxMCwgODcsIAorICAgIDIxMSwgMjQ1LCAyMTksIDE5LCAyMTAsIDg3LCAyMTEsIDI0NSwgMjI4LCA2OCwgMjEwLCA4NywgMjExLCAyNDUsIDIzNSwgCisgICAgNjQsIDIzMywgMzksIDc4LCAyMjIsIDI0NCwgNzgsIDI0MCwgMTY5LCAyMjgsIDY5LCAyNDAsIDE2OSwgMjQ0LCAxMTMsIAorICAgIDI0OCwgMTU3LCAyNDUsIDE1MiwgMjQ4LCAxNTcsIDI0NSwgMTYxLCAyNDgsIDE1NywgMjAzLCAxMzAsIDUyLCA2NywgMjMyLCAKKyAgICAyMTQsIDUyLCAxMjEsIDIzMiwgMjE0LCA0MywgMjE5LCAxNTYsIDIyMywgMjU1LCA3OCwgNDQsIDIxOSwgMTU2LCAyMjMsIAorICAgIDI1NSwgNzgsIDIxOSwgMTU2LCAyMzIsIDExMCwgMjIzLCAyNTUsIDc4LCAyMTksIDE1NiwgMjQxLCAxNjQsIDIyMywgMjU1LCAKKyAgICA3OCwgNDMsIDUyLCAyMjMsIDI1NSwgNzgsIDQ0LCA1MiwgMjIzLCAyNTUsIDc4LCA1MiwgMjMyLCAxMTAsIDIyMywgMjU1LCAKKyAgICA3OCwgNTIsIDI0MSwgMTY0LCAyMjMsIDI1NSwgNzgsIDI0OCwgMjA2LCA1MiwgMjQ4LCAyMDYsIDI1MSwgMTE0LCAyMTUsIAorICAgIDIyMywgMjUxLCAxMTQsIDEyMywgNTksIDIzMywgNTcsIDExMywgNTksIDIzMywgNTcsIDIwMywgMjQ1LCAxNjQsIDI0MCwgCisgICAgMTY3LCAyMjUsIDExLCAyMzIsIDIxNSwgMjIwLCAxMzgsIDIyNiwgMTYsIDIyMCwgMTM4LCAyMzMsIDM5LCAyNDUsIDE1OSwgCisgICAgMjIyLCAyNDQsIDI0NSwgMTU5LCAyMjQsIDI0NywgMjQ3LCAxOTcsIDI0NCwgMjAsIDIzMywgMzksIDIyNiwgMTE4LCAyMjIsIAorICAgIDI0NCwgMjI2LCAxMTgsIDIyOSwgMTk1LCAyMjgsIDc0LCAyMTksIDE5LCAyMjUsIDE4NCwgMjMwLCAxOTQsIDUwLCAyMjUsIAorICAgIDE4NCwgMjE2LCAyNDksIDIxNiwgMTQ5LCA1MCwgMjI0LCAxOTEsIDUyLCAyMjQsIDE5MSwgMjE1LCAyMTIsIDIyNCwgMTkxLCAKKyAgICAyMjMsIDUwLCAyMjQsIDE5MSwgMjIzLCA1MCwgNTIsIDIyNCwgMTkxLCAyMjMsIDUwLCAyMTUsIDIxMiwgMjI0LCAxOTEsIAorICAgIDI1MCwgMjM5LCAyMTksIDE1NiwgMjMzLCA0MywgMjU0LCAxMTEsIDIyMywgMjU1LCA3OCwgMjE5LCAxNTYsIDIyMiwgMjQ4LCAKKyAgICAyNTQsIDExMSwgMjIzLCAyNTUsIDc4LCAyMjMsIDEwOCwgNzgsIDUyLCAyNDUsIDMyLCA3OCwgMjM1LCAyMDIsIDIyNiwgCisgICAgMTIwLCAyMTQsIDE4MCwgMTM1LCAyMTYsIDExMiwgMjUwLCAyNDAsIDIzNSwgMjE3LCAyMjUsIDExLCAyNTMsIDIxNSwgMjQwLCAKKyAgICAxNzAsIDI1MSwgMTE0LCAyNDQsIDMsIDIxOSwgOTYsIDQzLCA0MiwgMjUxLCAxNTksIDIsIDIyNCwgOCwgNDQsIDQyLCAyNTEsIAorICAgIDE1OSwgMiwgMjI0LCA4LCA1MiwgMjI0LCAxNCwgNzgsIDIyNCwgMTQsIDI0NSwgMzIsIDc4LCAyNDUsIDMyLCAyMjQsIDE0LCAKKyAgICA3OCwgMjE2LCA3MSwgNSwgMjQ1LCA2NiwgMjIzLCA1MCwgMjI1LCA2OSwgNTAsIDg1LCAxNDAsIDI1MSwgMTE0LCA4NSwgOTcsIAorICAgIDI1MSwgMTE0LCAxMjEsIDI1MywgMjE3LCAyMjMsIDUwLCAyMjAsIDE1MSwgMjUwLCAyLCAyMTQsIDE2MywgMTEzLCAyNTMsIAorICAgIDIxNiwgMjU0LCAxNTksIDIxMywgMTg4LCAyNDksIDIxOCwgMjMwLCAxODMsIDUwLCAyMTcsIDIzNSwgMjQ4LCAxNTcsIDIzNSwgCisgICAgMTk0LCAyMTQsIDE4MCwgMjQ0LCA1MywgMjI0LCAxNDIsIDc4LCAxMzQsIDU5LCAyMjQsIDE0MSwgMjI0LCAyNSwgMjI0LCAKKyAgICAxOTEsIDI0NCwgMTIsIDU5LCAyMjQsIDE0MSwgMjQ0LCA4MiwgNTksIDIyNCwgMTQxLCAxMTMsIDU5LCAyMjQsIDE0MSwgCisgICAgMjQ0LCAxMiwgNTksIDc4LCAyNDYsIDExOSwgMjQ5LCAxMzEsIDIxNSwgMjIyLCA2NywgMjQ0LCAxMiwgMjQ3LCAxMTksIAorICAgIDIzMSwgODMsIDExLCAyMTksIDE5LCAyMTEsIDIwOSwgMjM1LCA2NCwgMjQzLCAyMjgsIDI1NCwgNTMsIDIzNSwgMTkyLCAKKyAgICAyMTYsIDg2LCAyMzUsIDE5MiwgMjIwLCAxMzgsIDIzNSwgMTkyLCAyMjUsIDIzLCAyMzUsIDIyOSwgMjE3LCAxODMsIDIxNywgCisgICAgMjUyLCAyNTUsIDYsIDIxNywgMTgzLCAyMTcsIDI1MiwgMjM1LCAyMjksIDEwLCAyNDQsIDIxLCAyMjAsIDgxLCAyNTUsIDYsIAorICAgIDEwLCAyNDQsIDIxLCAyMjAsIDgxLCAyMjksIDE5MCwgMjEsIDIyMCwgODIsIDIyOCwgNzAsIDIxLCAyMjAsIDgyLCAyMTgsIAorICAgIDI0LCAyMTAsIDg2LCAyMTgsIDI0LCA3LCA0LCAxLCA3MywgMjE4LCAyNCwgMTYxLCAyMTgsIDI0LCAxODksIDIxOCwgMjQsIAorICAgIDE5NCwgMjE4LCAyNCwgMTk4LCAyMTgsIDI0LCAxOTUsIDIxOCwgMjQsIDIwMCwgMjE4LCAyNCwgOTYsIDUwLCAyMTgsIDI0LCAKKyAgICAyMzAsIDE4MiwgMjE4LCAyNCwgMjQ1LCA5OSwgNTAsIDIxOCwgMjQsIDQzLCAyMjYsIDQsIDIxOCwgMjQsIDQ0LCAyMjYsIDQsIAorICAgIDIxOCwgMjQsIDcsIDQsIDEsIDIzMCwgMjYsIDIxOCwgNjYsIDIxMCwgODYsIDIxOCwgNjYsIDExMCwgMjE4LCA2NiwgMTA1LCAKKyAgICAyMTgsIDY2LCAxNTgsIDIxOCwgNjYsIDE2MSwgMjE4LCA2NiwgMTg5LCAyMTgsIDY2LCAxOTQsIDIxOCwgNjYsIDE5OCwgCisgICAgMjE4LCA2NiwgMTk1LCAyMTgsIDY2LCAyMDAsIDIxOCwgNjYsIDk2LCA1MCwgMjE4LCA2NiwgMjMwLCAxODIsIDIxOCwgNjYsIAorICAgIDI0NSwgOTksIDUwLCAyMTgsIDY2LCA0MywgMjI2LCA0LCAyMTgsIDY2LCA0NCwgMjI2LCA0LCA3LCAyMTgsIDY2LCA0LCAxLCAKKyAgICA2MSwgNywgMjE4LCA2NiwgNCwgMSwgNzUsIDcsIDIxOCwgNjYsIDQsIDEsIDc2LCA3LCAyMTgsIDY2LCA0LCAxLCAyMTEsIAorICAgIDE3OCwgNywgMjE4LCA2NiwgNCwgMSwgMjIxLCAxOTYsIDcsIDIxOCwgNjYsIDQsIDEsIDI0MiwgNjEsIDcsIDIxOCwgNjYsIAorICAgIDQsIDEsIDIzNSwgMjQsIDcsIDIxOCwgNjYsIDQsIDEsIDE1NiwgNywgMjE4LCA2NiwgNCwgMSwgMTkzLCA3LCAyMTgsIDY2LCAKKyAgICA0LCAxLCAyMzAsIDI2LCA3LCAyMTgsIDY2LCA0LCAxLCAyMjYsIDEwNiwgNywgMjE4LCA2NiwgNCwgMSwgMjIyLCA5MiwgNywgCisgICAgMjE4LCA2NiwgNCwgMSwgMjE3LCAxNTMsIDI0NSwgNDcsIDUwLCAyNDksIDIyOCwgNTAsIDI0OSwgMTE4LCA1MCwgMjQzLCAKKyAgICAyNTIsIDI0MywgMjU1LCA1MCwgMjMyLCAxOTksIDUwLCAyMzAsIDE5NSwgNTAsIDIyOSwgMjExLCA1MCwgMjI1LCAxNjMsIAorICAgIDUwLCAyMjIsIDExOSwgNTAsIDIxMSwgMjE3LCA1MCwgMTY2LCAyMjAsIDUwLCA1MCwgMjQ3LCAxMjgsIDUwLCAyNDUsIDQ4LCAKKyAgICA1MCwgMjM0LCA3NywgNTAsIDIxNSwgMTEzLCA1MCwgMjQ2LCAxMDIsIDUwLCAyNDMsIDQxLCAyMjUsIDE5NCwgNTAsIDIyNSwgCisgICAgMTYxLCA1MCwgMjQyLCAxMTAsIDUwLCAyNTMsIDE4MywgNTAsIDI0MCwgMjI5LCA1MCwgMjUwLCAxODYsIDUwLCAyMzIsIAorICAgIDE5MiwgMjE2LCA0LCA1MCwgMjE5LCAxLCA1MCwgMjE2LCAyNDYsIDUwLCAyMzUsIDI0MiwgMjIyLCAxMTksIDUwLCAyMTUsIAorICAgIDk3LCAyMzIsIDE5OSwgNTAsIDM4LCA0MywgMjQyLCAwLCA0OCwgMzgsIDQ0LCAyNDIsIDAsIDQ4LCAzOCwgMTk5LCA2NywgCisgICAgMjMyLCAyMTUsIDIyNiwgMTIxLCAzOCwgMjE5LCAyNTIsIDY3LCAyMzIsIDIxNSwgMjI2LCAxMjEsIDM4LCAyNTQsIDg5LCAKKyAgICA4MCwgNDgsIDM4LCAyNTAsIDMsIDgwLCA0OCwgMzgsIDQzLCA4MCwgNDgsIDM4LCA0NCwgODAsIDQ4LCAzOCwgMjIyLCAyMzUsIAorICAgIDIyNiwgMTIxLCAzOCwgMjUwLCAzLCAyMjIsIDIzNSwgMjI2LCAxMjEsIDM4LCAyNTQsIDg5LCAyMjIsIDIzNSwgMjI2LCAKKyAgICAxMjEsIDM4LCAxMzQsIDE3MCwgNDgsIDM4LCAyNDQsIDEyLCAxNzAsIDQ4LCAzOCwgMjQ1LCAxNDcsIDI1MCwgMzYsIDM4LCAKKyAgICAyNDUsIDE0NywgMjE4LCAyMzUsIDM4LCAyNDUsIDE0NywgMjQ3LCAyNDksIDM4LCAyNDUsIDE0NywgMjUwLCAzNywgMjUyLCAKKyAgICAxODEsIDM4LCA0MywgNDQsIDgwLCA0OCwgMzgsIDI0NSwgMTQ3LCAyMjEsIDE4OSwgMzgsIDI0NSwgMTQ3LCAyMzQsIDEzNiwgCisgICAgMzgsIDI0NSwgMTQ3LCAyMTQsIDE1NSwgMjI1LCA4LCAyMTUsIDIyNiwgMzgsIDIyMywgNTEsIDIxOSwgNDgsIDIyNiwgMTIxLCAKKyAgICAzOCwgNTIsIDY3LCAyMTgsIDEwNCwgMjI2LCAxMjEsIDM4LCAyNTQsIDk5LCA4NywgMzgsIDIxNSwgMjEyLCAyMTQsIDE4MiwgCisgICAgMzgsIDIxMSwgMjQ3LCAyNTEsIDE0MSwgNDgsIDM4LCAxNDAsIDgwLCAyMjYsIDEyMSwgMzgsIDE5OSwgNTIsIDIxOSwgNDgsIAorICAgIDIyNiwgMTIxLCAzOCwgOTcsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDI0NiwgMTA0LCAzOCwgMTQwLCAyNDIsIDAsIDIsIDI1MiwgCisgICAgMTQwLCAyNDYsIDEwNCwgMzgsIDQzLCA4MCwgNTEsIDM4LCA0NCwgODAsIDUxLCAzOCwgMjUzLCAyMTgsIDQ4LCAyNTUsIDEyLCAKKyAgICAyMjYsIDIzMiwgMjU0LCAyNTIsIDIxNiwgNDMsIDIxNiwgMTk3LCAyMTgsIDc1LCAxMzksIDYsIDI1MSwgNjcsIDI0OCwgNzIsIAorICAgIDI1MCwgMTc5LCAyNTAsIDE3NiwgMjMyLCAyMTUsIDg3LCAyNTAsIDI0MSwgMjI2LCAyMzIsIDI1MSwgMjcsIDIxNCwgMTg5LCAKKyAgICAyNDUsIDQ5LCAyNDksIDE5MiwgMjIxLCAxODYsIDI0OCwgNzIsIDI0NCwgMTgwLCAxMTksIDQsIDI0MywgMjAzLCAxMTksIDYsIAorICAgIDI0MiwgNjEsIDI1MSwgMjIwLCA2LCAyNDIsIDYxLCAxMzksIDYsIDI0MiwgNjEsIDIyNSwgMzgsIDI0OSwgMTkyLCAyMjUsIAorICAgIDM4LCAyNDksIDE5MywgMTE3LCAxMTMsIDIyNSwgMTA5LCAxMTksIDYsIDczLCAyNTEsIDIyMCwgNiwgNzMsIDExOSwgNiwgCisgICAgMTU2LCAxMTksIDQsIDE1NiwgMjMzLCAxNTAsIDU3LCAyNTIsIDE0MiwgODcsIDEzOSwgNiwgMjMwLCAyNiwgMjI3LCAxOTcsIAorICAgIDUwLCAyMTksIDMyLCAyMjMsIDEyMCwgMjQ5LCAxNjMsIDExOSwgNiwgMjI2LCAxMDYsIDEzOSwgNiwgMjI2LCAxMDYsIDEzOSwgCisgICAgNiwgMjI0LCA5NywgMTE5LCA2LCAxNTMsIDI1MSwgMjIwLCA2LCAxNTMsIDEzOSwgNiwgMTUzLCAyMjQsIDE5NywgMjE3LCAKKyAgICA3MiwgMjIzLCA2MywgMjIwLCAxMzMsIDc4LCAyMTcsIDIsIDUwLCAyMTUsIDI1NCwgMTY0LCA1MCwgMjEzLCAyNDAsIDEzOSwgCisgICAgNiwgMjEwLCAxNTksIDIyNiwgMTM0LCA1MCwgMjI2LCAyMjIsIDUwLCAyMzUsIDE5NCwgMjI2LCAyMjIsIDUwLCAyNTEsIAorICAgIDIyMCwgNiwgMjEwLCAxNTksIDIxNSwgOTQsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMjM0LCAxNzQsIDUwLCAyNTQsIDEwOCwgCisgICAgNTAsIDExOSwgNiwgMjUzLCAxNTksIDI1MSwgMjIwLCA2LCAyNTEsIDY3LCAyNDUsIDY5LCA4NywgMTE5LCA0LCA3NSwgMTE5LCAKKyAgICA2LCA3NSwgMTE5LCA2LCAyNDUsIDcsIDIxNSwgOTQsIDYsIDI0NSwgNywgMTE5LCA2LCAxOTMsIDExOSwgNCwgNzYsIDExMiwgCisgICAgODcsIDI1MiwgMzAsIDg3LCAyNDIsIDIwMywgODcsIDI0OCwgMTkxLCA4NywgMjM1LCAyMzMsIDIxOSwgMzAsIDIyMiwgMTg4LCAKKyAgICA2LCAyMjQsIDk3LCAyNDQsIDE4MywgNTAsIDEzOSwgNCwgMjI1LCAxMDksIDEzOSwgNCwgMjQzLCAxMDgsIDEzOSwgNiwgCisgICAgMjQzLCAxMDgsIDEzOSwgNiwgMjI1LCAxMDksIDEzOSwgMjMwLCAyNSwgMjE4LCA0MSwgMjE1LCA5NCwgMzUsIDYsIDI0MywgCisgICAgMjAzLCAyMTUsIDk0LCAzNSwgNiwgMTU2LCAyMjMsIDUwLCAzNSwgNiwgMTU2LCAyMTUsIDk0LCAzNSwgNiwgMjExLCAxMTcsIAorICAgIDEzOSwgMzIsIDYsIDI0OSwgNjEsIDEzOSwgMzIsIDQsIDI0OSwgNjEsIDEzOSwgMzIsIDQsIDc1LCAxMzksIDMyLCA0LCA3MywgCisgICAgMTM5LCAzMiwgNCwgMjM1LCAxNDUsIDIyNCwgMTcxLCAyMzIsIDIxNCwgMjE1LCA5NCwgMjU0LCAxMjcsIDIyNSwgMTg0LCAKKyAgICA1MCwgMjU0LCAxODEsIDIxNSwgOTQsIDQsIDI0NSwgNywgMTYsIDMxLCAyMjEsIDI1MywgMjE5LCAzMCwgMjEyLCAxMTQsIAorICAgIDI0NCwgMywgMTIzLCAyMjAsIDExOSwgMjEyLCAxMTQsIDI0NCwgMywgMTIzLCAyMjgsIDE5NSwgMjEyLCAxMTQsIDI0NCwgMywgCisgICAgMTIzLCAyMTYsIDI0MiwgMjEyLCAxMTQsIDI0NCwgMywgMTIzLCAyMTYsIDE2OSwgMjEyLCAxMTQsIDI0NCwgMywgMTEzLCAKKyAgICAyMTYsIDE2NywgMjEyLCAxMTQsIDI0NCwgMywgMTIzLCAyNDQsIDExOCwgMjEyLCAxMTQsIDI0NCwgMywgMTEzLCAyNDQsIAorICAgIDExNywgMjEyLCAxMTQsIDI0NCwgMywgMTM0LCAyNDQsIDExNywgMjEyLCAxMTQsIDI0NCwgMywgMjQ0LCAxMiwgMjQ0LCAKKyAgICAxMTcsIDIxMiwgMTE0LCAyNDQsIDMsIDEyMywgMjE5LCAxMTYsIDIxMiwgMTE0LCAyNDQsIDMsIDI0NCwgODIsIDIxOSwgCisgICAgMTE0LCAyMTIsIDExNCwgMjQ0LCAzLCAxMjMsIDI0NSwgMTg5LCAyMTIsIDExNCwgMjQ0LCAzLCAxMzQsIDI0NSwgMTg3LCAKKyAgICAyMTIsIDExNCwgMjQ0LCAzLCAyNDQsIDgyLCAyNDUsIDE4NywgMjEyLCAxMTQsIDI0NCwgMywgMjIwLCAxMjMsIDI0NSwgCisgICAgMTg3LCAyNDQsIDMsIDIyNywgMTk4LCAxMTAsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMTEwLCAyMjIsIDE5OSwgMjI3LCAxOTksIAorICAgIDEwNSwgMjIyLCAxOTksIDIyNywgMTk5LCAxNTgsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMTYxLCAyMjIsIDE5OSwgMjI3LCAKKyAgICAxOTksIDE4OSwgMjIyLCAxOTksIDIyNywgMTk5LCAxOTQsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMTk4LCAyMjIsIDE5OSwgCisgICAgMjI3LCAxOTksIDE5NSwgMjIyLCAxOTksIDIyNywgMTk5LCAyMDAsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjE2LCAyNDgsIAorICAgIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjQ1LCAxNjgsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjE1LCA3NiwgMjIyLCAxOTksIDIyNywgCisgICAgMTk5LCAyNDQsIDExNSwgMjIyLCAxOTksIDIyNywgMTk5LCAxMjMsIDI0MCwgMjExLCAyMjIsIDE5OSwgMjI3LCAxOTksIAorICAgIDI0NCwgODIsIDI0MCwgMjExLCAyMjIsIDE5OSwgMjI3LCAxOTksIDEyMywgMjE2LCAxNDgsIDQsIDIyMiwgMTk5LCAyMjcsIAorICAgIDE5OSwgMTEwLCA0LCAyMjIsIDE5OSwgMjI3LCAxOTksIDEwNSwgNCwgMjIyLCAxOTksIDIyNywgMTk5LCAxNTgsIDQsIDIyMiwgCisgICAgMTk5LCAyMjcsIDE5OSwgMTYxLCA0LCAyMjIsIDE5OSwgMjI3LCAxOTksIDE4OSwgNCwgMjIyLCAxOTksIDIyNywgMTk5LCAKKyAgICAxOTQsIDQsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMTk4LCA0LCAyMjIsIDE5OSwgMjI3LCAxOTksIDE5NSwgNCwgMjIyLCAxOTksIAorICAgIDIyNywgMTk5LCAyMDAsIDQsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjE2LCAyNDgsIDQsIDIyMiwgMTk5LCAyMjcsIDE5OSwgCisgICAgMjQ1LCAxNjgsIDQsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjE1LCA3NiwgNCwgMjIyLCAxOTksIDIyNywgMTk5LCAyNDQsIAorICAgIDExNSwgNCwgMjIyLCAxOTksIDIyNywgMTk5LCAxMjMsIDI0MCwgMjExLCA0LCAyMjIsIDE5OSwgMjI3LCAxOTksIDI0NCwgCisgICAgODIsIDI0MCwgMjExLCA0LCAyMjIsIDE5OSwgMjI3LCAxOTksIDEyMywgMjE2LCAxNDgsIDIyMiwgMTk5LCAyMjcsIDE5OSwgCisgICAgMTIzLCAyMTYsIDE0OSwgMjUxLCA2OCwgMjQ5LCA2MSwgMjIyLCAxOTksIDIyNywgMTk5LCAyNDQsIDgyLCAyMTYsIDE0OCwgCisgICAgMjIyLCAxOTksIDIyNywgMTk5LCAyMTYsIDI0OSwgMjE2LCAxNDgsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjIzLCA1MCwgMTIzLCAKKyAgICAyNDAsIDIxMSwgNywgNCwgMSwgMjIzLCA1MCwgMjUxLCA2NywgMjIyLCAxOTksIDIyNywgMTk5LCAyMTksIDEyNiwgMjMzLCAKKyAgICA3OSwgMTcsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMjQ0LCAxMTYsIDI0NSwgMjI3LCAxNywgMjIyLCAxOTksIDIyNywgMTk5LCAKKyAgICAyNDQsIDExNiwgMjE2LCAxNDgsIDIyMiwgMTk5LCAyMjcsIDE5OSwgMTIzLCAyNDAsIDIxMiwgMjE2LCAxNDgsIDIxMiwgCisgICAgMTE0LCAyNDQsIDMsIDIxMCwgODcsIDIxNiwgMTY3LCAxNDAsIDc0LCAyMTQsIDE1MywgNzQsIDk3LCA3NCwgMjQ2LCAxMDUsIAorICAgIDc0LCA0MywgNDQsIDc0LCAxMjAsIDEyNCwgNzQsIDIyOCwgNTcsIDIxMiwgOSwgNzQsIDIyOCwgNTcsIDI0NSwgMjIxLCA3NCwgCisgICAgMjE5LCAyOSwgMjQ1LCAyMjEsIDc0LCAyMTksIDI5LCAyMTIsIDksIDc0LCAxNDAsIDgwLCAyLCA5MSwgOTcsIDgwLCAyLCAKKyAgICA5MSwgMTQwLCAyMTIsIDM2LCA3NCwgOTcsIDIxMiwgMzYsIDc0LCAxNDAsIDExMywgMjQxLCAyMzUsIDc0LCAyMTQsIDE1MywgCisgICAgMTEzLCAyNDEsIDIzNSwgNzQsIDk3LCAxMTMsIDI0MSwgMjM1LCA3NCwgMjQ2LCAxMDUsIDExMywgMjQxLCAyMzUsIDc0LCAKKyAgICAxNDAsIDgwLCAyLCAyMTcsIDc4LCA5NywgODAsIDIsIDIxNywgNzgsIDE0MCwgODAsIDI0MywgMjQ0LCAxMzAsIDIxNCwgCisgICAgMTUzLCA4MCwgMjQzLCAyNDQsIDEzMCwgOTcsIDgwLCAyNDMsIDI0NCwgMTMwLCAyNDYsIDEwNSwgODAsIDI0MywgMjQ0LCAKKyAgICAxMzAsIDEyMCwgMTI0LCA4MCwgMiwgMjUyLCAxMjgsIDE0MCwgODAsIDIsIDEwMywgOTcsIDgwLCAyLCAxMDMsIDE0MCwgODAsIAorICAgIDIsIDIzMiwgMTI0LCA5NywgODAsIDIsIDIzMiwgMTI0LCA0MywgNDQsIDIxMiwgMzYsIDc0LCA0MywgNDQsIDgwLCAyLCA5MSwgCisgICAgMjQ2LCAxMDUsIDIxMCwgMzUsIDc0LCAyMTQsIDE1MywgODAsIDIsIDIxNiwgNzgsIDIzMywgMzgsIDIxNCwgMTUzLCA4MCwgCisgICAgMiwgMjE2LCA3OCwgMjIyLCAyNDIsIDI0NiwgMTA1LCA4MCwgMiwgMjE2LCA3OCwgMjMzLCAzOCwgMjQ2LCAxMDUsIDgwLCAyLCAKKyAgICAyMTYsIDc4LCAyMjIsIDI0MiwgOTcsIDgwLCAyLCAyNDksIDE2MiwgMjQ2LCAxMDQsIDI0NiwgMTA1LCA4MCwgMiwgMjQ5LCAKKyAgICAxNjIsIDIzMywgMzgsIDI1NCwgODksIDIxNiwgMTUsIDIyMCwgMTU0LCA3NCwgMjUwLCAzLCAyMTYsIDE1LCAyMjAsIDE1NCwgCisgICAgNzQsIDIyOCwgNTcsIDIxMiwgOSwgODAsIDIxNiwgNDMsIDE5OSwgMTMwLCAxNDAsIDgwLCAyMTYsIDQzLCAyNTIsIDE0MiwgCisgICAgMTE3LCA5NywgODAsIDIxNiwgNDMsIDEzMCwgMjU0LCA4OSwgMjA0LCAyNTAsIDM3LCA3NCwgMjUwLCAzLCAyMDQsIDI1MCwgCisgICAgMzcsIDc0LCAxNDAsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDIxNCwgMTUyLCAxNDAsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIAorICAgIDI0NiwgMTA0LCAyMTQsIDE1MywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMjIyLCAyNDIsIDIxNCwgMTUzLCAyNDIsIDAsIDIsIAorICAgIDI1MiwgMTQwLCAyMzMsIDM4LCA5NywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMjE0LCAxNTIsIDk3LCAyNDIsIDAsIDIsIDI1MiwgCisgICAgMTQwLCAyNDYsIDEwNCwgMjQ2LCAxMDUsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDIyMiwgMjQyLCAyNDYsIDEwNSwgMjQyLCAwLCAKKyAgICAyLCAyNTIsIDE0MCwgMjMzLCAzOCwgOTcsIDgwLCAxMTcsIDE0MCwgNzQsIDIxNCwgMTUzLCA4MCwgMTQwLCA2NCwgMjQ2LCAKKyAgICAxMDUsIDc0LCAxNDAsIDgwLCAxMTcsIDk3LCA3NCwgMTQwLCAyMjYsIDcxLCAyNTMsIDI0OCwgMjE0LCAxNTMsIDIyNiwgNzEsIAorICAgIDI1MywgMjQ4LCA5NywgMjI2LCA3MSwgMjUzLCAyNDgsIDI0NiwgMTA1LCAyMjYsIDcxLCAyNTMsIDI0OCwgMTQwLCAyNDIsIAorICAgIDAsIDExNywgOTcsIDI0MSwgMjU1LCA5NywgMjQyLCAwLCAxMTcsIDE0MCwgMjQxLCAyNTUsIDE0MCwgNTIsIDgwLCAyLCA5MSwgCisgICAgNDMsIDQ0LCA1MiwgODAsIDIsIDkxLCA5NywgNTIsIDgwLCAyLCA5MSwgMTQwLCA1MiwgNzQsIDIxNCwgMTUzLCA1MiwgNzQsIAorICAgIDk3LCA1MiwgNzQsIDI0NiwgMTA1LCA1MiwgNzQsIDQzLCA0NCwgNTIsIDc0LCAxMjAsIDEyNCwgNTIsIDc0LCAyMjgsIDU3LCAKKyAgICAyMTIsIDksIDUyLCA3NCwgMjI4LCA1NywgMjQ1LCAyMjEsIDUyLCA3NCwgMjE5LCAyOSwgMjQ1LCAyMjEsIDUyLCA3NCwgCisgICAgMjE5LCAyOSwgMjEyLCA5LCA1MiwgNzQsIDE0MCwgMjE1LCAyMTIsIDc0LCA5NywgMjE1LCAyMTIsIDc0LCAxNDAsIDIxOCwgCisgICAgMjMxLCA3NCwgOTcsIDIxOCwgMjMxLCA3NCwgMjE0LCAxNTMsIDgwLCAyLCA1MiwgOTEsIDI0NiwgMTA1LCA4MCwgMiwgNTIsIAorICAgIDkxLCAxNDAsIDI0OCwgMTU2LCA3NCwgMjE0LCAxNTMsIDI0OCwgMTU2LCA3NCwgOTcsIDI0OCwgMTU2LCA3NCwgMjQ2LCAKKyAgICAxMDUsIDI0OCwgMTU2LCA3NCwgMTQwLCA4MCwgMjE2LCA0MywgMTMwLCA5NywgODAsIDIxNiwgNDMsIDEzMCwgMTQwLCA3MSwgCisgICAgNzQsIDIxNCwgMTUzLCA3MSwgNzQsIDk3LCA3MSwgNzQsIDI0NiwgMTA1LCA3MSwgNzQsIDIxNCwgMTUzLCA3MSwgODAsIAorICAgIDI0MywgMjQ0LCAxMzAsIDIxNCwgMTUzLCA3MSwgODAsIDIyNiwgMTk4LCAyMjUsIDIxNSwgMjE0LCAxNTMsIDcxLCA4MCwgCisgICAgMjI2LCAxOTgsIDIyNSwgMjE2LCAyLCAyMDMsIDEzMCwgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAxOTgsIDIyNSwgMjE2LCAyLCAKKyAgICA2NywgMTMwLCAyMTQsIDE1MywgNzEsIDUyLCA3NCwgMjE0LCAxNTMsIDcxLCA1MiwgODAsIDIyNiwgMTk4LCAyMjUsIDIxNSwgCisgICAgOTcsIDcxLCA4MCwgMjQzLCAyNDQsIDIxMiwgNTYsIDIyOCwgNTcsIDIxMiwgOSwgODAsIDIxNiwgNDMsIDI0OSwgMTYxLCAKKyAgICAyMTksIDI5LCAyNDUsIDIyMSwgODAsIDIxNiwgNDMsIDI0OSwgMTYxLCAxMjAsIDEyNCwgNzEsIDc0LCA0NCwgODAsIDIsIDQsIAorICAgIDI1MCwgMzYsIDI0NiwgMTA1LCA4MCwgMTQwLCA2NCwgMjE0LCAxNTMsIDc0LCAxMzQsIDk3LCAyNTMsIDI0OCwgMTQwLCA4MCwgCisgICAgMiwgNjcsIDkxLCA5NywgODAsIDIsIDY3LCA5MSwgNDMsIDQ0LCA4MCwgMiwgNjcsIDkxLCAxNDAsIDgwLCAyLCA1MiwgNjcsIAorICAgIDkxLCA5NywgODAsIDIsIDUyLCA2NywgOTEsIDQzLCA0NCwgODAsIDIsIDUyLCA2NywgOTEsIDE0MCwgMjI2LCAxNzQsIDc0LCAKKyAgICA5NywgMjI2LCAxNzQsIDc0LCA0MywgNDQsIDIyNiwgMTc0LCA3NCwgMzEsIDI1NCwgMTU1LCAyNDksIDIxNSwgMjI1LCAyNTQsIAorICAgIDI0NywgMjM0LCAyMTYsIDE4OCwgMjQ1LCAyOCwgMjE2LCAxODgsIDI0NywgMTM5LCAyMjgsIDUzLCAyNDUsIDI5LCAyNDUsIAorICAgIDE1MywgMjIwLCAxMjgsIDIzNSwgMjQ2LCAyMjksIDIyMiwgMjQ1LCAxNzEsIDIyNiwgMjMyLCAyMjgsIDUzLCAyNTQsIDEyNSwgCisgICAgMjQ1LCAxNzEsIDIyNiwgMjMyLCA0LCAyNDUsIDE3MSwgMjI2LCAyMzIsIDI0OSwgMTg3LCAyNTMsIDIzOSwgMjMxLCA2MywgCisgICAgMjQ3LCAxMzksIDIyOCwgNTMsIDI0OSwgMTg5LCAyNTMsIDIzOSwgMjMxLCA2MywgNCwgMjQ5LCAxODcsIDI1MywgMjM5LCAKKyAgICAyMzEsIDYzLCAyNDUsIDE0NCwgNjQsIDIyNCwgMTczLCAyMzAsIDI1LCAyMjQsIDE4MSwgMjMwLCAyNSwgMjQ5LCAxNjYsIAorICAgIDIzMCwgMjUsIDIxOCwgNDEsIDIzMCwgMTgzLCA1MCwgMjMwLCAxODEsIDUwLCA1OSwgMjI1LCAyMywgMjQ3LCAxNzAsIDIxOSwgCisgICAgOTYsIDIyMCwgMTI5LCAyMzAsIDE4MiwgMjUzLCAyMTgsIDIyNiwgMTY4LCAyMjIsIDIzNSwgMjI2LCAxNjgsIDI1MSwgMTE1LCAKKyAgICAyMjYsIDE2OCwgNDIsIDIyMiwgMTk0LCAyNDksIDExMCwgMjIyLCAxOTQsIDI0NCwgNSwgMjIyLCAxOTQsIDIyNCwgMTY5LCAKKyAgICAxMTEsIDIzNSwgMjM1LCA0NCwgMjU0LCAxMTAsIDI1NCwgMTEwLCAyMzEsIDg5LCAyNTQsIDExMCwgMjE5LCAwLCAyNTQsIAorICAgIDExMCwgMjQ3LCAxNzIsIDI0NywgMTM5LCAyMjgsIDUzLCAyNDcsIDE3NSwgMjI2LCA5LCAxMTEsIDIyOCwgNTMsIDIyNiwgOSwgCisgICAgMTExLCAyMzIsIDE0NywgMjU0LCAxMTksIDIzMiwgMTQ3LCAyMjYsIDE1OSwgMjM1LCAxOTksIDIxNCwgMTc1LCAyMzUsIAorICAgIDIxMiwgNTIsIDIzNSwgMjEyLCAyMTUsIDIxMiwgMjM1LCAyMTIsIDI0OSwgMTgzLCAyMzUsIDIxMiwgMjE4LCAxNCwgMjM1LCAKKyAgICAyMTIsIDIxMywgMTI5LCAyMzUsIDIxMiwgMjUwLCAzLCAyMzUsIDIxMiwgMjUwLCAzLCAyNDksIDE4MywgMjM1LCAyMTIsIAorICAgIDI1NCwgODksIDI0OSwgMTgzLCAyMzUsIDIxMiwgMjE2LCAxODcsIDI1MiwgNjgsIDIyMywgMTM4LCAyMjQsIDE3MCwgNTksIAorICAgIDIzMCwgMTgyLCAyNDUsIDM0LCAyNDMsIDQ3LCAyMjQsIDE3MCwgMjQxLCA1OCwgMjE2LCA5MCwgMjI2LCAxNjgsIDIyMywgCisgICAgNTAsIDE4MywgMjM1LCAxOTQsIDIzMywgNjYsIDIyMiwgOTIsIDIxOSwgMTU4LCAyMTIsIDM1LCAyMTEsIDIwMCwgMjI0LCAKKyAgICAxODEsIDIyOCwgNTMsIDE4MywgMjMwLCAxODMsIDE4MywgMjUzLCAyMTEsIDEyOCwgMTExLCAyMjgsIDUzLCAyNTMsIDIxMSwgCisgICAgMTI4LCAxMTEsIDI1NCwgNDksIDEyOCwgMTExLCAyNTQsIDQ5LCAyNTEsIDg5LCAyMjgsIDUzLCAyNTUsIDUsIDEyOCwgMTExLCAKKyAgICAyMjksIDEwMSwgMjU0LCA0OSwgMjI4LCA2MCwgMjU1LCA1LCAxMjgsIDExMSwgMjU0LCAxNDksIDEyOCwgMTExLCAyMjgsIAorICAgIDUzLCAyNTQsIDE0OSwgMTI4LCAxMTEsIDI1NCwgMTQ5LCAxMjgsIDE3NywgMTI4LCAxMTEsIDIxNSwgMjEyLCAxODMsIDI1NCwgCisgICAgMTU2LCAxMjgsIDExMSwgMjQ1LCA5NSwgMTExLCAyNDMsIDQ2LCAyNDUsIDk1LCAxMTEsIDI0NywgMjM1LCAyNTIsIDI0LCAKKyAgICAyNTQsIDUxLCAyMTYsIDE5NywgMjMyLCAyMjIsIDI0MywgNDYsIDEyOCwgMTExLCAyNTQsIDQ5LCAxMjgsIDIxNiwgNDMsIAorICAgIDE3NywgMjE2LCAxOTcsIDIzNiwgMTYsIDIyNiwgMjMyLCAyMzYsIDE2LCA2NCwgMTc3LCAyNTQsIDQ5LCAxMjgsIDExMSwgCisgICAgMjQ5LCAyMjgsIDI0NSwgOTgsIDI0NSwgOTksIDI0OSwgMjI3LCAyMjIsIDIzNSwgMjM2LCAxLCAxMjgsIDExMSwgMjIyLCAKKyAgICAyMzUsIDEyOCwgMTExLCAyNDksIDE1NSwgMTExLCAyNDUsIDY4LCAyNDUsIDk3LCAxMTEsIDIxOCwgMTU4LCAyNDUsIDk4LCAKKyAgICAyNDgsIDU2LCAxMjgsIDExMSwgMTI4LCAyMTYsIDQzLCAyNTEsIDc5LCAyNDgsIDczLCAyMzEsIDg5LCAyNTEsIDc4LCAyMjQsIAorICAgIDEyLCAxMjgsIDExMSwgMjI4LCA1MywgMTI4LCAxMTEsIDI0MCwgMTA1LCAxMTEsIDIyOCwgNTMsIDI0MCwgMTA1LCAxMTEsIAorICAgIDIxOCwgMTEwLCAyNDUsIDk1LCAxMTEsIDIzMywgMTYsIDE3NywgMTI4LCAxMTEsIDI0MiwgMTMxLCAxNzcsIDEyOCwgMTExLCAKKyAgICAyMzMsIDE2LCAxMTcsIDEyOCwgMTExLCAyNDIsIDEzMSwgMTE3LCAxMjgsIDExMSwgMjMzLCAxNiwgMjUxLCA4OSwgMjI4LCAKKyAgICA1MywgMTI4LCAxMTEsIDI0MiwgMTMxLCAyNTEsIDg5LCAyMjgsIDUzLCAxMjgsIDExMSwgMjMwLCA5OCwgMjMzLCAxNSwgCisgICAgMjMwLCA5OCwgMjQyLCAxMzAsIDI1MiwgMjQsIDIyOCwgNTMsIDI0NSwgOTUsIDExMSwgMjI4LCA1MywgMjMzLCAxNSwgMjI4LCAKKyAgICA1MywgMjQyLCAxMzAsIDIyOSwgMTAxLCAyMzMsIDE2LCAyMjgsIDYwLCAxMjgsIDExMSwgMjI5LCAxMDEsIDI0MiwgMTMxLCAKKyAgICAyMjgsIDYwLCAxMjgsIDExMSwgMjMzLCAxNiwgMTc3LCAyNDUsIDk1LCAxMTEsIDI0MiwgMTMxLCAxNzcsIDI0NSwgOTUsIAorICAgIDExMSwgMjI5LCAxMDEsIDIzMywgMTYsIDIyOCwgNjAsIDI0NSwgOTUsIDExMSwgMjI5LCAxMDEsIDI0MiwgMTMxLCAyMjgsIAorICAgIDYwLCAyNDUsIDk1LCAxMTEsIDIzMywgMTYsIDE3NywgMjQyLCAxMzAsIDI0MiwgMTMxLCAxNzcsIDIzMywgMTUsIDIyOSwgCisgICAgMTAxLCAyMzMsIDE2LCAyMjgsIDYwLCAyNDIsIDEzMCwgMjI5LCAxMDEsIDI0MiwgMTMxLCAyMjgsIDYwLCAyMzMsIDE1LCAKKyAgICAyMjQsIDIwMywgMjE4LCA1NiwgMjI0LCAyMDQsIDE3NywgMTI4LCAxMTEsIDIxOCwgNTcsIDE3NywgMTI4LCAxMTEsIDIyNCwgCisgICAgMjA0LCAxNzcsIDI0NSwgOTUsIDExMSwgMjE4LCA1NywgMTc3LCAyNDUsIDk1LCAxMTEsIDI0NywgMTM5LCAyMjgsIDUzLCAKKyAgICAyMjQsIDIwNiwgMjQ3LCAxMzksIDIyOCwgNTMsIDIxOCwgNTgsIDIxOCwgNjUsIDIyNiwgMjMyLCAyMTgsIDIzLCAyMjYsIAorICAgIDIzMiwgMjI4LCA1MywgMTE1LCAyMTgsIDY1LCAyMjYsIDIzMiwgMjI4LCA1MywgMTE1LCAyMTgsIDIzLCAyMjYsIDIzMiwgCisgICAgMjE4LCA2NSwgNjQsIDE3NywgMTI4LCAxMTEsIDIxOCwgMjMsIDY0LCAxNzcsIDEyOCwgMTExLCAyMjksIDEwMSwgMTE1LCAKKyAgICAyMTgsIDY1LCA2NCwgMjI4LCA2MCwgMTI4LCAxMTEsIDIyOSwgMTAxLCAxMTUsIDIxOCwgMjMsIDY0LCAyMjgsIDYwLCAxMjgsIAorICAgIDExMSwgMjE4LCA2NSwgNjQsIDIsIDIyOCwgNTMsIDEyOCwgMTExLCAyMTgsIDIzLCA2NCwgMiwgMjI4LCA1MywgMTI4LCAKKyAgICAxMTEsIDIzMCwgODIsIDIzMCwgODMsIDIzMCwgODQsIDIzMCwgODMsIDIxNCwgMTc1LCA0MiwgMjM2LCAxNiwgMjI2LCAyMzIsIAorICAgIDQyLCAyMjYsIDE1MSwgMjI2LCAyMzIsIDQyLCAyMzYsIDE2LCA2NCwgMTc3LCAxMjgsIDExMSwgNDIsIDIyNiwgMTUxLCA2NCwgCisgICAgMTc3LCAxMjgsIDExMSwgNDIsIDI1MCwgMjUyLCA0MiwgMjQ5LCAxMDMsIDM3LCAyMjUsIDIzLCAzNywgMjMwLCAxODIsIDM3LCAKKyAgICAyMTYsIDg2LCAzNywgMjQ3LCAxNzAsIDIxOSwgOTYsIDM3LCA1OSwgMjI2LCAxNjgsIDM3LCAyMjIsIDIzNSwgMjI2LCAxNjgsIAorICAgIDM3LCAyNTMsIDIxOCwgMjI2LCAxNjgsIDM3LCAyNDUsIDk4LCAzNywgMjQ4LCAxNTcsIDkyLCAyMjUsIDIzLCA5MiwgMjMwLCAKKyAgICAxODIsIDkyLCAyMTYsIDg2LCA5MiwgNTksIDIyNiwgMTY4LCA0NCwgMjE3LCA4OCwgNDMsIDIxNywgODgsIDEyNCwgMjE3LCAKKyAgICA4OCwgMTIwLCAyMTcsIDg4LCAyNTMsIDIyMSwgMjMwLCAxNTcsIDIxNSwgMTkyLCAyNDQsIDI2LCAyMTUsIDIxMiwgNjcsIAorICAgIDI1MiwgMTQyLCA0NCwgMjE1LCA5MywgNTIsIDY3LCAyNTIsIDE0MiwgNTIsIDQ0LCAyMTUsIDkzLCAyNDcsIDEzOSwgMjI4LCAKKyAgICA1MywgMjI0LCAxNjQsIDIyOCwgNTMsIDIxNSwgMTkyLCAyNDcsIDEzOSwgMjI4LCA1MywgMjQ0LCAyNywgMjI5LCAxMDMsIAorICAgIDUyLCA2NywgMjUyLCAxNDIsIDUyLCA0NCwgMjE1LCA5MywgMjI0LCAyMDQsIDIxNCwgMTg0LCAyMjMsIDkyLCAyMTgsIDU3LCAKKyAgICAyMTQsIDE4NCwgMjIzLCA5MiwgMjI4LCA1OCwgMjE4LCA3OCwgMjI2LCAyMzIsIDI0OSwgMTg3LCAyNTMsIDIzOSwgMjI4LCAKKyAgICA1OCwgMjE4LCA3NywgMjI4LCA1OCwgMjE4LCA3OCwgNjQsIDE3NywgMTI4LCAxMTEsIDI0OSwgMTg3LCAyNTMsIDIzOSwgCisgICAgMjI4LCA1OCwgMjE4LCA3OCwgMTc3LCAxMjgsIDExMSwgMjI2LCAxNTEsIDIyNiwgMjMyLCAyMzYsIDE2LCAyMjYsIDIzMiwgCisgICAgMjMwLCA4OCwgMjQxLCAyMDEsIDI0OSwgMTk3LCAyMzEsIDEzOCwgMjM1LCAyMDksIDIxMSwgMTQ1LCAyMjksIDIwMywgMjI4LCAKKyAgICA1OSwgNDQsIDI1NCwgMTExLCAyLCAyNTQsIDI2LCA0NCwgMjE1LCAyMjYsIDIzMCwgMjUsIDIzMiwgMTQ3LCAyNTQsIDExOSwgCisgICAgMjMwLCAyNSwgMjMyLCAxNDcsIDIyNiwgMTU5LCAyMzAsIDI1LCAyMzUsIDE5OSwgMjMwLCAyNSwgMjE0LCAxNzUsIDI0NywgCisgICAgMjUwLCAyMjYsIDE2OCwgNTksIDIyNiwgMTY4LCAyMTgsIDE1OCwgMjI2LCAxNjgsIDI0NywgMTcwLCAyMTYsIDg2LCAyNTEsIAorICAgIDE2NSwgNDMsIDIyOCwgNTgsIDI0NCwgMTgyLCAyMjAsIDE1MCwgMjI0LCAxODEsIDQ0LCAyMjgsIDU4LCAyNDQsIDE4MiwgCisgICAgMjIwLCAxNTAsIDIyNCwgMTgxLCA0MywgMjIwLCAxNTAsIDIyNCwgMTgxLCA0NCwgMjIwLCAxNTAsIDIyNCwgMTgxLCAyMjMsIAorICAgIDUwLCAyMTYsIDkwLCAyNDUsIDk4LCAyNDksIDEwMCwgMjMyLCAxNDcsIDIyNiwgMTU5LCAyNDksIDEwMCwgMjMyLCAxNDcsIAorICAgIDI1NCwgMTE5LCA1MiwgMjE4LCA2NCwgNTIsIDIxOCwgMjIsIDUyLCAyMzUsIDE5OSwgNTIsIDIxNCwgMTc1LCAyMjUsIDQ4LCAKKyAgICAxMjgsIDIyLCAyMjYsIDksIDExMSwgMjMzLCAxNiwgMiwgMjQ3LCAxMjEsIDI0MiwgMTMxLCAyLCAyNDcsIDEyMSwgMjEzLCAKKyAgICAxODcsIDIzMCwgOTgsIDIzMywgMTUsIDIxMywgMTg3LCAyMzAsIDk4LCAyNDIsIDEzMCwgMjMzLCAxNiwgMTI4LCAyMTYsIAorICAgIDQzLCAxNzcsIDI0MiwgMTMwLCAyNDIsIDEzMSwgMTI4LCAyMTYsIDQzLCAxNzcsIDIzMywgMTUsIDEyOCwgMjE2LCA0MywgCisgICAgMTc3LCAyMzMsIDE1LCAxMjgsIDIxNiwgNDMsIDE3NywgMjQyLCAxMzAsIDEyOCwgMjE2LCA0MywgMTc3LCAyMjQsIDIwMywgCisgICAgMTI4LCAyMTYsIDQzLCAxNzcsIDIxOCwgNTYsIDI0NywgMTM5LCAyMjgsIDUzLCAyMjQsIDIwNywgMTc3LCAyNDUsIDEwMCwgCisgICAgMjQ3LCAxMzksIDIyOCwgNTMsIDIxOCwgNTksIDE3NywgMjQ1LCAxMDAsIDIyOCwgNTMsIDQyLCAyMzYsIDE2LCA2NCwgMTc3LCAKKyAgICAxMjgsIDExMSwgMjI4LCA1MywgNDIsIDIyNiwgMTUxLCA2NCwgMTc3LCAxMjgsIDExMSwgNDIsIDIzNiwgMTYsIDY0LCAxNzcsIAorICAgIDIyOCwgNTMsIDEyOCwgMTExLCA0MiwgMjI2LCAxNTEsIDY0LCAxNzcsIDIyOCwgNTMsIDEyOCwgMTExLCAyMzMsIDE2LCAKKyAgICAyNTEsIDg5LCAyMjgsIDUzLCAyNDUsIDk1LCAxMTEsIDI0MiwgMTMxLCAyNTEsIDg5LCAyMjgsIDUzLCAyNDUsIDk1LCAxMTEsIAorICAgIDIyNCwgMjA0LCAyNTEsIDg5LCAyMjgsIDUzLCAyNDUsIDk1LCAxMTEsIDIxOCwgNTcsIDI1MSwgODksIDIyOCwgNTMsIDI0NSwgCisgICAgOTUsIDExMSwgMjI4LCA1MywgMjI4LCA1OCwgMjE4LCA3OCwgMjI2LCAyMzIsIDI0NywgMTM5LCAyMjgsIDUzLCAyNDksIAorICAgIDE4OSwgMjUzLCAyMzksIDIyOCwgNTgsIDIxOCwgNzcsIDIyOCwgNTMsIDIyOCwgNTgsIDIxOCwgNzgsIDY0LCAxNzcsIDEyOCwgCisgICAgMTExLCAyNDcsIDEzOSwgMjI4LCA1MywgMjQ5LCAxODksIDI1MywgMjM5LCAyMjgsIDU4LCAyMTgsIDc4LCAxNzcsIDI0NSwgCisgICAgMTAwLCA2NywgMjQ1LCAxNjQsIDIzMCwgMjIzLCAyMDMsIDI0NSwgMTY0LCAxMjAsIDQ0LCAyNDgsIDAsIDI0NSwgMTY0LCAKKyAgICAxMjQsIDQ0LCAyNDgsIDAsIDI0NSwgMTY0LCAyNDUsIDE3MSwgNjQsIDIsIDE5OSwgMjAzLCA5MSwgMjQ1LCAxNzEsIDY0LCAKKyAgICAyLCA2NywgMjUyLCAxNDIsIDI1MywgMjA4LCAyNDUsIDE0NCwgNjQsIDIwMywgOTEsIDQsIDI0NSwgMTcxLCA2NCwgMiwgNjcsIAorICAgIDI1MiwgMTQyLCAyNTMsIDIwOCwgMjQ1LCAxNDQsIDY0LCAyMDMsIDkxLCAyNDUsIDE3MSwgNjQsIDIsIDU5LCA0OCwgMjQ1LCAKKyAgICAxNzEsIDY0LCAyLCAyMjYsIDEyNCwgNCwgMjQ1LCAxNzEsIDY0LCAyLCAyMjYsIDEyNCwgMjQ1LCAxNzEsIDY0LCAyLCAyMTQsIAorICAgIDE4MywgMjQ1LCAxNzEsIDY0LCAyLCAxMTMsIDIwMywgMjE4LCA5MSwgMjQ5LCAxODcsIDIsIDE5OSwgMjAzLCA5MSwgMjQ5LCAKKyAgICAxODcsIDIsIDY3LCAyNTIsIDE0MiwgMjUzLCAyMDgsIDI0NSwgMTQ0LCA2NCwgMjAzLCA5MSwgNCwgMjQ5LCAxODcsIDIsIAorICAgIDY3LCAyNTIsIDE0MiwgMjUzLCAyMDgsIDI0NSwgMTQ0LCA2NCwgMjAzLCA5MSwgMjQ5LCAxODcsIDIsIDIyNiwgMTI0LCA0LCAKKyAgICAyNDksIDE4NywgMiwgMjI2LCAxMjQsIDIxMCwgMTYwLCAxODgsIDI1MiwgMTc0LCAyMzEsIDYyLCAyNDcsIDI1MSwgNTAsIAorICAgIDI0NSwgMTczLCA3NCwgMjQwLCAyMzUsIDEyMCwgMjUzLCAyNTAsIDEyNCwgMjUzLCAyNTAsIDIyNCwgMTc2LCAyMjUsIDE2NiwgCisgICAgMjEyLCAzMiwgMjMyLCAyMTQsIDQzLCAyNTAsIDE4MiwgNDQsIDI1MCwgMTgyLCA0MywgMjQ0LCA1OCwgNDQsIDI0NCwgNTgsIAorICAgIDI1MSwgMTc2LCA0NCwgMjQ5LCAxMzMsIDI1MSwgMTc2LCA0MywgMjQ5LCAxMzMsIDIxNiwgMTUsIDQ0LCAyNDksIDEzMywgCisgICAgMjE2LCAxNSwgNDMsIDI0OSwgMTMzLCAyMjMsIDUwLCAyMjgsIDUzLCA1MCwgNDIsIDIzMiwgMTA1LCAyNTQsIDI2LCAyMjEsIAorICAgIDE2NSwgMjIxLCAxNzIsIDIxNywgMiwgMjIzLCAxMjEsIDIyNCwgMjQyLCAyMzUsIDIzOSwgMjEzLCAxNjUsIDIxOCwgMjM1LCAKKyAgICAyMjUsIDQyLCA2NCwgMjM1LCAyMDgsIDUwLCAyMTUsIDk0LCAyMjgsIDUzLCA1MCwgMjEyLCA0MiwgMjQwLCAyMzcsIDIxNiwgCisgICAgMTUsIDQzLCAyNDksIDE2MSwgMjE2LCAxNSwgNDQsIDI0OSwgMTYxLCAyNTEsIDE3NiwgNDMsIDI0OSwgMTYxLCAyNTEsIAorICAgIDE3NiwgNDQsIDI0OSwgMTYxLCAyMTYsIDE1LCAxNjMsIDIzNSwgMjEyLCAyNTEsIDE3NiwgMTYzLCAyMzUsIDIxMiwgMjQzLCAKKyAgICAyNDEsIDIxOSwgNzYsIDEyMCwgMjUzLCAyNTEsIDI1MiwgMjUsIDExMywgMjAzLCAyNTIsIDEzMCwgMjI2LCAxNjEsIDIzNCwgCisgICAgMTM5LCAyNDUsIDkxLCAyMTYsIDQzLCAyMTYsIDE5NywgMjIyLCAyNTIsIDIxMSwgMTc5LCAyMzYsIDEsIDExNSwgMjIzLCAKKyAgICAxMTgsIDI1MSwgMTY0LCAyMzQsIDEzOCwgMjMzLCA0MywgMjU0LCAxMTEsIDEyNywgMjIyLCAyNDgsIDI1NCwgMTExLCAxMjcsIAorICAgIDI0NSwgOTEsIDIxNiwgNDMsIDIxNiwgMTk3LCAyMzMsIDQ3LCAyNTIsIDM2LCAyMjIsIDIzNCwgMjQ5LCA3MSwgMjU0LCAKKyAgICAxNTYsIDI1NCwgMiwgMjE3LCAxODIsIDIxNiwgNSwgMjIyLCAxMjQsIDI0NywgMjE2LCAyMjYsIDE1MiwgMjQ5LCAxOTksIAorICAgIDIxNywgNTMsIDIxOSwgODcsIDI0OSwgMTUyLCAyNDksIDE1MSwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyNDAsIDE1MiwgCisgICAgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMTgsIDIyOSwgMjI0LCAyOCwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIDI5LCAKKyAgICAyNDUsIDEwMCwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIDI5LCAyNDcsIDE3NSwgMjU0LCA2NywgMjQzLCAyMjYsIAorICAgIDE2LCAyMjQsIDI5LCAyNDcsIDI0OSwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIDI5LCAyMzUsIDU3LCAyNTQsIDY3LCAKKyAgICAyNDMsIDIyNiwgMTYsIDIyNCwgMjksIDI1MCwgMzYsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjUwLCAzNywgMjE4LCAxMzYsIAorICAgIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjUwLCAzNywgMjM1LCA1NywgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMTksIDk3LCAKKyAgICAxMzAsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjUyLCAxODIsIDEzMCwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIAorICAgIDI5LCAyMTksIDk2LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDIyNCwgMjksIDI1MiwgMTgxLCAyNTQsIDY3LCAyNDMsIDIyNiwgCisgICAgMTYsIDIyNCwgMjksIDIzMywgMTUsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjI0LCAyOSwgMjQyLCAxMzAsIDI1NCwgNjcsIAorICAgIDI0MywgMjI2LCAxNiwgMTQwLCAyMTQsIDE5LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDk3LCAyMTQsIDE5LCAyNTQsIDY3LCAKKyAgICAyNDMsIDIyNiwgMTYsIDIyNCwgMjksIDE0MCwgNzQsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjI0LCAyOSwgOTcsIDc0LCAKKyAgICAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDI1MCwgMzcsIDI1MiwgMTgxLCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDEyNCwgCisgICAgMjE3LCA4OSwgMjE0LCAxODMsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjQ4LCA1NiwgMjE4LCAxMzYsIDI1NCwgNjcsIAorICAgIDI0MywgMjI2LCAxNiwgMjI0LCAyOSwgMTI0LCAyNTAsIDIzOSwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIDI5LCAKKyAgICAyNDgsIDU1LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDEyNCwgMjE3LCA4OSwgMjM1LCA1NywgMjU0LCA2NywgMjQzLCAyMjYsIAorICAgIDE2LCAyMTQsIDE1MywgMjE0LCAxOSwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIDI5LCAyMTQsIDE1MywgNzQsIDI1NCwgCisgICAgNjcsIDI0MywgMjI2LCAxNiwgMTIwLCAyMTcsIDg5LCAyMjYsIDEyNCwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyNDgsIDY3LCAKKyAgICAyMTgsIDEzNiwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjQsIDI5LCAxMjAsIDI1MCwgMjM5LCAyNTQsIDY3LCAyNDMsIAorICAgIDIyNiwgMTYsIDIyNCwgMjksIDI0OCwgNjYsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMTIwLCAyMTcsIDg5LCAyMzUsIDU3LCAKKyAgICAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDI0NiwgMTA1LCAyMTQsIDE5LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDIyNCwgMjksIAorICAgIDI0NiwgMTA1LCA3NCwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMjMsIDI1NCwgMjE0LCAxODMsIDI1NCwgNjcsIDI0MywgCisgICAgMjI2LCAxNiwgMjQ4LCA1NiwgMjE0LCAxODMsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjQ3LCAyNTAsIDIxNCwgMTgzLCAKKyAgICAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDIzNSwgNTgsIDIxNCwgMTgzLCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDI1MCwgMzcsIAorICAgIDIxNCwgMTgzLCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDEyMCwgMjIwLCA2LCAyMzUsIDU3LCAyNTQsIDY3LCAyNDMsIDIyNiwgCisgICAgMTYsIDIyMywgMjU0LCAyMjQsIDI4LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDI1MCwgMzcsIDIxOCwgMTU3LCAyNTQsIDY3LCAKKyAgICAyNDMsIDIyNiwgMTYsIDIyNCwgMjksIDI0OSwgMjI3LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDEyMCwgMjE3LCA4OSwgCisgICAgMjQ4LCAyLCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDI0OCwgNjcsIDI0OCwgMiwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAKKyAgICAyMTgsIDE1OCwgMjQ4LCAyLCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDIzNSwgNTgsIDI0OCwgMiwgMjU0LCA2NywgMjQzLCAKKyAgICAyMjYsIDE2LCAyNTAsIDM3LCAyNDgsIDIsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMTI0LCAyMjAsIDYsIDIxOCwgMTM2LCAKKyAgICAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDQzLCAyMjAsIDYsIDIxOCwgMTM2LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDIxNiwgCisgICAgOTAsIDI0OCwgMiwgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyNDIsIDEzMSwgMjQ4LCAyLCAyNTQsIDY3LCAyNDMsIDIyNiwgCisgICAgMTYsIDI0OSwgMjIxLCAxMzAsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjQ4LCA2NywgMTgzLCAyNTQsIDY3LCAyNDMsIAorICAgIDIyNiwgMTYsIDIxMCwgMzQsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjE4LCAxMzcsIDE4MywgMjU0LCA2NywgMjQzLCAKKyAgICAyMjYsIDE2LCAyMjAsIDE1MiwgMjE0LCAxODMsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjI0LCAyOSwgMjI4LCA1MywgCisgICAgMjQ1LCAxMDAsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjI0LCAyOSwgMjI0LCAxMywgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAKKyAgICAxMjQsIDI1MCwgMjQwLCAxODMsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMTIwLCAyNTAsIDI0MCwgMTgzLCAyNTQsIDY3LCAKKyAgICAyNDMsIDIyNiwgMTYsIDIzNSwgMTg2LCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIDIyMywgMzgsIDI1NCwgNjcsIDI0MywgCisgICAgMjI2LCAxNiwgMjI2LCAyMDIsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjU0LCAxNDUsIDIxNCwgMTgzLCAyNTQsIDY3LCAKKyAgICAyNDMsIDIyNiwgMTYsIDI0NSwgMTAyLCAyMTQsIDE4MywgMjU0LCA2NywgMjQzLCAyMjYsIDE2LCAyMzUsIDE4NywgMjE0LCAKKyAgICAxODMsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjI2LCAyMDMsIDIxNCwgMTgzLCAyNTQsIDY3LCAyNDMsIDIyNiwgMTYsIAorICAgIDI1NCwgMTQ0LCAyMjgsIDUzLCAyNTAsIDEzMSwgNzgsIDQ0LCAyNTQsIDExMSwgMiwgMjQ2LCAxMDUsIDIxMCwgMzUsIDc0LCAKKyAgICAyMTksIDIzNiwgMjA0LCAyNTEsIDE2NCwgMjUyLCA0NiwgODcsIDY3LCAyMzIsIDIxNSwgMiwgMjMwLCAyMjUsIDI0NywgCisgICAgMTIxLCAyMzUsIDIxNywgODcsIDI0OSwgMTg0LCAyMTQsIDE4MSwgODcsIDI0NywgMTkwLCAyMTQsIDE4MSwgODcsIDI0NSwgCisgICAgMTU1LCA4NywgMjQ5LCAyMTEsIDg3LCA3MSwgNDIsIDIsIDI1MCwgMTc2LCA2NywgMjMyLCAyMTQsIDI0NSwgMTMxLCA4NywgCisgICAgMjU0LCAxNDAsIDIzNCwgMTQwLCA4NywgMjQxLCAyMTQsIDg3LCAzNywgMjAzLCAyNTIsIDE0MiwgMiwgMjI4LCA1MSwgMzcsIAorICAgIDIxNSwgMjI3LCAyNDYsIDEwNywgMjUxLCAxMzYsIDI1MCwgMzcsIDIsIDIyOCwgNTUsIDc0LCAyMTQsIDE3OSwgODcsIDIzMCwgCisgICAgMTM4LCA4NywgMjQwLCAxNjUsIDg3LCAyMjYsIDE3NSwgMjQyLCA2MCwgODcsIDIyNiwgMTc1LCAyMzMsIDE0OCwgODcsIAorICAgIDIyNSwgMjQ1LCA4NywgMjI1LCAyNDQsIDg3LCAyNDcsIDE5OCwgMjQ5LCA5OCwgMTYsIDI0NCwgMjEsIDEwNSwgMjE5LCA1MSwgCisgICAgODcsIDI1NCwgNjcsIDI0MywgMjI2LCAxNiwgMjI0LCAyOCwgMjQ4LCA4NCwgMjIwLCAxMzksIDIzNCwgMTQwLCA4NywgMjI0LCAKKyAgICAxOTMsIDIyNiwgNzYsIDIyOSwgODMsIDIyNiwgNzYsIDIyNCwgMTg5LCAyMjEsIDE5MCwgODcsIDI1MCwgMTgsIDIyMSwgCisgICAgMTkwLCA4NywgNDMsIDIyNiwgNSwgMjE0LCAxNjAsIDEwMywgNDMsIDIyNiwgNSwgMjQ1LCAyMiwgNDMsIDIyNiwgNSwgMjMyLCAKKyAgICAxMDksIDEwMywgNDQsIDIyNiwgNSwgMjE0LCAxNjAsIDEwMywgNDQsIDIyNiwgNSwgMjQ1LCAyMiwgNDQsIDIyNiwgNSwgCisgICAgMjMyLCAxMDksIDEwMywgNDMsIDQyLCAyNTEsIDE1OSwgMjE0LCAxNjAsIDI0OSwgMTYxLCA0MywgNDIsIDI1MSwgMTU5LCAKKyAgICAyNDUsIDIyLCA0MywgNDIsIDI1MSwgMTU5LCAyMzIsIDEwOSwgMjQ5LCAxNjEsIDQ0LCA0MiwgMjUxLCAxNTksIDIxNCwgCisgICAgMTYwLCAyNDksIDE2MSwgNDQsIDQyLCAyNTEsIDE1OSwgMjQ1LCAyMiwgNDQsIDQyLCAyNTEsIDE1OSwgMjMyLCAxMDksIAorICAgIDI0OSwgMTYxLCA0MywgMjQ5LCAxMDAsIDI1MSwgMTU5LCAyMTQsIDE2MCwgMTAzLCA0MywgMjQ5LCAxMDAsIDI1MSwgMTU5LCAKKyAgICAyMzAsIDIyNSwgMjI1LCAxMDIsIDQzLCAyNDksIDEwMCwgMjUxLCAxNTksIDIzMiwgMTA5LCAxMDMsIDI0OSwgMTAwLCAyNTEsIAorICAgIDE1OSwgMjQ1LCAyMiwgNDQsIDI0OSwgMTAwLCAyNTEsIDE1OSwgMjE0LCAxNjAsIDEwMywgNDQsIDI0OSwgMTAwLCAyNTEsIAorICAgIDE1OSwgMjMwLCAyMjUsIDIyNSwgMTAyLCA0NCwgMjQ5LCAxMDAsIDI1MSwgMTU5LCAyMzIsIDEwOSwgMTAzLCAyMzUsIDIxMywgCisgICAgMjQ1LCAyMiwgMjAzLCAyMzIsIDIxNSwgMjQ1LCAyMiwgMjE0LCAxNjAsIDQzLCAxNzcsIDIzMiwgMTA5LCA0NCwgMjQ5LCAKKyAgICAxMDAsIDI1MSwgMTU5LCAyMjEsIDE3MywgMjE0LCAxNjAsIDQ0LCAxNzcsIDIzMiwgMTA5LCA0MywgMjQ5LCAxMDAsIDI1MSwgCisgICAgMTU5LCAyMjEsIDE3MywgMjE4LCA0MiwgMjE2LCAxNCwgMjE4LCA0MiwgMjUxLCAxNzUsIDIxNiwgMTUsIDQyLCAxMjcsIAorICAgIDI1MSwgMTc2LCA0MiwgMTI3LCAyNTEsIDE3NiwgNDIsIDI1MSwgMTU5LCAxMTcsIDIxNiwgMTUsIDQyLCAxMjcsIDM0LCAxNiwgCisgICAgMjUxLCAxNzUsIDQzLCA2NywgOTMsIDIzMiwgMjE0LCA0NCwgNjcsIDkzLCAyMzIsIDIxNCwgMjAzLCAyMjEsIDIwNiwgMjMyLCAKKyAgICAyMTMsIDIwMywgMjIxLCAyMDYsIDIzMiwgMjEyLCAyMDMsIDIyMSwgMjA2LCAyMzIsIDIxMSwgMjAzLCAyMjEsIDIwNiwgCisgICAgMjMyLCAyMTAsIDI0OCwgNDcsIDE2LCAxOTIsIDY3LCAyMiwgMjE2LCAxNSwgMjIyLCAyNTIsIDI0OCwgNDcsIDE2LCAxOTIsIAorICAgIDY3LCAyMiwgMjUxLCAxNzYsIDIyMiwgMjUyLCAyNDgsIDQ3LCAxNiwgMTkyLCA2NywgMiwgMjUwLCAzNiwgMjQ4LCA0NywgCisgICAgMTYsIDE5MiwgMTI0LCAyMiwgMjAzLCAyLCAyNTAsIDM2LCAyNDgsIDQ3LCAxNiwgMTkyLCAxMjAsIDIyLCAyMDMsIDIsIAorICAgIDI1MCwgMzYsIDI0OCwgNDcsIDE2LCAxOTIsIDY3LCAyLCAyMTUsIDIyNiwgMjQ4LCA0NywgMTYsIDE5MiwgMTI0LCAyMiwgCisgICAgMjAzLCAyLCAyMTUsIDIyNiwgMjQ4LCA0NywgMTYsIDE5MiwgMTIwLCAyMiwgMjAzLCAyLCAyMTUsIDIyNiwgMjQ4LCA0NywgCisgICAgMTYsIDE5MiwgNjcsIDIyLCAyMTIsIDM1LCAyNDgsIDQ3LCAxNiwgMTkyLCAxMjQsIDIyLCAyMDMsIDIsIDIxMiwgMzUsIAorICAgIDI0OCwgNDcsIDE2LCAxOTIsIDEyMCwgMjIsIDIwMywgMiwgMjEyLCAzNSwgMjQ4LCA0NywgMTYsIDE5MiwgMTI0LCAyMiwgCisgICAgMjQxLCA0NSwgMjQ4LCA0NywgMTYsIDE5MiwgMTIwLCAyMiwgMjQxLCA0NSwgMjQ4LCA0NywgMTYsIDE5MiwgNjcsIDIyLCAKKyAgICAyMTYsIDE1LCAyMzMsIDQ3LCAyNDgsIDQ3LCAxNiwgMTkyLCA2NywgMjIsIDI1MSwgMTc2LCAyMzMsIDQ3LCA0MiwgMjQ0LCAKKyAgICAzMywgMjIzLCA1NSwgODcsIDI0NSwgMTgzLCA4NywgNjcsIDIzMiwgMjE1LCAyNDUsIDIyLCAyMzEsIDM0LCAyNTEsIDE0NywgCisgICAgMjMxLCAzNCwgMTk5LCAxMTcsIDIxOSwgMjUxLCAyMzEsIDM0LCAyMTksIDI1MiwgMTE3LCAyMzIsIDEzOCwgMjMxLCAzNCwgCisgICAgMTk5LCAxMTcsIDExMywgMjE5LCAyMzgsIDIzMSwgMzQsIDExMywgMjE5LCAyMzksIDExNywgMjMyLCAxMzgsIDIzMSwgMzQsIAorICAgIDExMywgMjE5LCAyMzksIDIzNSwgNjUsIDIzMSwgMzQsIDIxNSwgMjA5LCAyMzEsIDM0LCAyMTYsIDIyNCwgMjMxLCAzNCwgCisgICAgMjI1LCAxODksIDI0NSwgMjI1LCAyNDIsIDEyMywgMjQzLCAyMjAsIDIxNiwgMTUsIDIyNiwgNCwgMjUxLCAxNzYsIDIyNiwgCisgICAgNCwgMjE2LCAxNSwgMjQ5LCAxMDAsIDEyNywgMjUxLCAxNzYsIDI0OSwgMTAwLCAxMjcsIDIxNiwgMTUsIDIxNiwgNywgMjIwLCAKKyAgICA1NCwgMTI3LCAyNTEsIDE3NiwgMjE2LCA3LCAyMjAsIDU0LCAxMjcsIDcxLCAyMTUsIDI0MCwgMjUyLCAzNiwgMjIyLCAyMzUsIAorICAgIDIsIDI1MCwgMzYsIDIxOCwgMTIxLCAyNDQsIDY1LCAyNTUsIDE4LCAyNDksIDk3LCAyNDUsIDE3MiwgMjM1LCAxOTksIDI0OCwgCisgICAgODQsIDI0NSwgMjUsIDg3LCA4NSwgMjIyLCAyNDgsIDUyLCAyMTUsIDIyNiwgODUsIDIzMywgNDMsIDUyLCAyMTUsIDIyNiwgCisgICAgODUsIDIxNCwgMTYyLCA1MiwgMjE1LCAyMjYsIDg1LCAyNDYsIDEwNiwgNTIsIDIxNSwgMjI2LCA4NSwgMjIyLCAyNDgsIDUyLCAKKyAgICAyMTUsIDIyNywgMiwgNjcsIDEzMCwgODUsIDIzMywgNDMsIDUyLCAyMTUsIDIyNywgMiwgNjcsIDEzMCwgODUsIDIyMiwgCisgICAgMjQ4LCAyMTUsIDIyNywgMiwgNTIsIDY3LCAxMzAsIDI1NCwgMTc0LCAyNTAsIDQsIDIxOCwgMTI3LCAyMTYsIDg3LCAyNTAsIAorICAgIDQsIDI0MCwgMjM4LCAyLCAyNDQsIDUxLCAyMjEsIDI0MiwgMTYsIDMxLCAyMjcsIDIwMywgMTYsIDMxLCAyMTgsIDE1MywgCisgICAgNjQsIDI0MSwgMjM0LCAxNiwgMzEsIDIxOCwgMTUzLCA2NCwgMjE2LCAyMTMsIDE2LCAzMSwgMjQ1LCAxNDQsIDY0LCAyMTYsIAorICAgIDIxMywgMTYsIDMxLCAyNDUsIDE0NCwgNjQsIDIxNSwgMjQ0LCAxNiwgMzEsIDI0NSwgMTMzLCAxNiwgMzEsIDI1NSwgOCwgCisgICAgMTYsIDMxLCAyNTIsIDQ1LCAxNiwgMzEsIDI1MiwgMTgwLCAxNiwgMzEsIDIwMywgMjE3LCA5MCwgMTYsIDMxLCAyMzIsIAorICAgIDIxNSwgMjQ0LCAxNDYsIDE2LCAzMSwgNjcsIDIxNywgOTAsIDE2LCAzMSwgMjQ0LCAyMSwgMjQ0LCAxNDYsIDE2LCAzMSwgCisgICAgMjUwLCAyMzEsIDIyMywgNTQsIDE2LCAzMSwgMjIwLCAyOSwgMjI2LCAxMzEsIDE2LCAzMSwgMjIwLCAyOSwgMjM2LCAwLCAKKyAgICAxNiwgMzEsIDI0OCwgMTUyLCAyMzIsIDIwNSwgMjQ1LCA3OCwgMTYsIDMxLCAyNDgsIDMyLCAyNDksIDE3OSwgMTEwLCAxNiwgCisgICAgMzEsIDI0OCwgMzIsIDI0OSwgMTc5LCAxMDUsIDE2LCAzMSwgMjQ4LCAzMiwgMjQ5LCAxNzksIDE1OCwgMTYsIDMxLCAyNDgsIAorICAgIDMyLCAyNDksIDE3OSwgMTYxLCAxNiwgMzEsIDE1MiwgMjU1LCA4LCAxNiwgMzEsIDIxNywgMTc4LCAyMzYsIDYzLCAxNiwgCisgICAgMzEsIDI0NSwgMTQ0LCA2NCwgMjE1LCAyNDUsIDI1MSwgMjE0LCAxNiwgMzEsIDI1MSwgNiwgMTYsIDMxLCAyNDUsIDE0NCwgCisgICAgNjQsIDIzMSwgODIsIDE2LCAzMSwgMjE4LCA2MiwgMTYsIDMxLCAyNDUsIDc4LCAxNiwgMzEsIDI0NCwgMTA4LCAyMjAsIAorICAgIDEzOCwgMTYsIDMxLCAyNDIsIDEyMiwgMjIwLCAxMzgsIDE2LCAzMSwgMjIzLCAxMjIsIDIyMCwgMTM4LCAxNiwgMzEsIDIxNCwgCisgICAgMTc0LCAyMjAsIDEzOCwgMTYsIDMxLCAyMTksIDE5LCAxNiwgMzEsIDI0OCwgNjQsIDI1MSwgMjE3LCA4NywgMjA0LCAyNTEsIAorICAgIDE2NCwgMTYsIDMxLCAyMjksIDg2LCAxNiwgMzEsIDI0OCwgNjUsIDI0NCwgMjEsIDEwNSwgMTYsIDMxLCAyMTgsIDYzLCAKKyAgICAyNDQsIDIxLCAxMDUsIDIyNiwgMjQyLCAxMDMsIDIyNiwgMjQyLCAyNTAsIDE1MywgMjI2LCAyNDIsIDI0NCwgMjQsIDIyNiwgCisgICAgMjQyLCAyMzUsIDE5NCwgMjQ0LCAyNCwgMjI2LCAyNDIsIDI1MiwgNDMsIDI1MSwgMTI1LCAyMjYsIDI0MiwgMjUxLCAxNzEsIAorICAgIDIxNiwgMTEyLCAyMjYsIDI0MiwgMjUxLCAxNTYsIDI1MiwgMTQ3LCAyNDAsIDEwNCwgMjI2LCAyNDIsIDI1NCwgMTI4LCA2NCwgCisgICAgMjUwLCAxMzAsIDIyNiwgMjQyLCAyNDgsIDE1NywgMjI2LCAyNDIsIDI0OSwgODgsIDI1NSwgMTIsIDIyNywgMjAxLCAyMjYsIAorICAgIDI0MiwgNTIsIDI1MiwgMTgxLCAzNywgMjEsIDExMCwgMzcsIDIxLCAxMDUsIDM3LCAyMSwgMTU4LCAzNywgMjEsIDE2MSwgCisgICAgMzcsIDIxLCAxODksIDM3LCAyMSwgMTk0LCAzNywgMjEsIDE5OCwgMzcsIDIxLCAxOTUsIDM3LCAyMSwgMjAwLCAzNywgNTQsIAorICAgIDIxNiwgMjQ4LCAzNywgNTQsIDI0NSwgMTY4LCAzNywgNTQsIDIxNSwgNzYsIDM3LCA1NCwgMjE2LCAxNjUsIDM3LCA1NCwgCisgICAgMjQ0LCA2LCAzNywgNTQsIDI0NCwgMTE5LCAzNywgNTQsIDIxOSwgMTIwLCAzNywgNTQsIDIyMCwgMTIwLCAzNywgNTQsIAorICAgIDI0NSwgMTkxLCAzNywgNTQsIDIyOCwgMTk4LCAzNywgNTQsIDIxNSwgNzMsIDg4LCAyMSwgMTEwLCA4OCwgMjEsIDEwNSwgCisgICAgODgsIDIxLCAxNTgsIDg4LCAyMSwgMTYxLCA4OCwgMjEsIDE4OSwgODgsIDIxLCAxOTQsIDg4LCAyMSwgMTk4LCA4OCwgMjEsIAorICAgIDE5NSwgODgsIDIxLCAyMDAsIDg4LCA1NCwgMjE2LCAyNDgsIDg4LCA1NCwgMjQ1LCAxNjgsIDg4LCA1NCwgMjE1LCA3NiwgCisgICAgODgsIDU0LCAyMTYsIDE2NSwgODgsIDU0LCAyNDQsIDYsIDg4LCA1NCwgMjQ0LCAxMTksIDg4LCA1NCwgMjE5LCAxMjAsIDg4LCAKKyAgICA1NCwgMjIwLCAxMjAsIDg4LCA1NCwgMjQ1LCAxOTEsIDg4LCA1NCwgMjI4LCAxOTgsIDg4LCA1NCwgMjE1LCA3MywgMjEsIAorICAgIDEyMywgMjQzLCAyMzAsIDIxOCwgMTMwLCAyMSwgMTEzLCAyNDMsIDIzMCwgMjE4LCAxMzAsIDIxLCAxMzQsIDI0MywgMjMwLCAKKyAgICAyMTgsIDEzMCwgMjEsIDI0NCwgMTIsIDI0MywgMjMwLCAyMTgsIDEzMCwgMjEsIDI0NCwgODIsIDI0MywgMjMwLCAyMTgsIAorICAgIDEzMCwgMjEsIDIxOSwgMTI2LCAyNDMsIDIzMCwgMjE4LCAxMzAsIDIxLCAyMjAsIDEyMywgMjQzLCAyMzAsIDIxOCwgMTMwLCAKKyAgICAyMSwgMjQ1LCAxOTQsIDI0MywgMjMwLCAyMTgsIDEzMCwgMjEsIDIyOCwgMjAxLCAyNDMsIDIzMCwgMjE4LCAxMzAsIDU0LCAKKyAgICAyMTYsIDI0OSwgMjQzLCAyMzAsIDIxOCwgMTMwLCA1NCwgMjQ1LCAxNjksIDI0MywgMjMwLCAyMTgsIDEzMCwgNTQsIDIxNSwgCisgICAgNzcsIDI0MywgMjMwLCAyMTgsIDEzMCwgNTQsIDIxNiwgMTY2LCAyNDMsIDIzMCwgMjE4LCAxMzAsIDU0LCAyNDQsIDcsIAorICAgIDI0MywgMjMwLCAyMTgsIDEzMCwgNTQsIDI0NCwgMTIwLCAyNDMsIDIzMCwgMjE4LCAxMzAsIDU0LCAyMTksIDEyMSwgMjQzLCAKKyAgICAyMzAsIDIxOCwgMTMwLCA1NCwgMjIwLCAxMjEsIDI0MywgMjMwLCAyMTgsIDEzMCwgNTQsIDI0NSwgMTkyLCAyNDMsIDIzMCwgCisgICAgMjE4LCAxMzAsIDU0LCAyMjgsIDE5OSwgMjQzLCAyMzAsIDIxOCwgMTMwLCA1NCwgMjE1LCA3NCwgMjQzLCAyMzAsIDIxOCwgCisgICAgMTMwLCA4OCwgNywgNCwgMSwgNjEsIDg4LCA3LCA0LCAxLCAyNTMsIDE1OSwgODgsIDcsIDQsIDEsIDI1MSwgNjcsIDg4LCA3LCAKKyAgICA0LCAxLCAyNDksIDYxLCA4OCwgNywgNCwgMSwgNzUsIDg4LCA3LCA0LCAxLCAyNDUsIDcsIDg4LCA3LCA0LCAxLCAyNDMsIAorICAgIDIwMywgODgsIDcsIDQsIDEsIDI0MiwgNjEsIDg4LCA3LCA0LCAxLCA3MywgODgsIDcsIDQsIDEsIDIzNSwgMTQ1LCA4OCwgNywgCisgICAgNCwgMSwgMjM1LCAyNCwgODgsIDcsIDQsIDEsIDE1NiwgODgsIDcsIDQsIDEsIDE5MywgODgsIDcsIDQsIDEsIDIzMCwgMjYsIAorICAgIDg4LCA3LCA0LCAxLCA3NiwgODgsIDcsIDQsIDEsIDIyNiwgMTA2LCA4OCwgNywgNCwgMSwgMjI0LCA5NywgODgsIDcsIDQsIAorICAgIDEsIDE1MywgODgsIDcsIDQsIDEsIDIyMiwgOTIsIDg4LCA3LCA0LCAxLCAyMTcsIDE1MywgODgsIDcsIDQsIDEsIDcwLCA4OCwgCisgICAgNywgNCwgMSwgMjE0LCAxMDUsIDg4LCA3LCA0LCAxLCAyMTIsIDk4LCA4OCwgNywgNCwgMSwgMjExLCAxNzgsIDg4LCA3LCA0LCAKKyAgICAxLCAyMTEsIDExNywgODgsIDcsIDQsIDEsIDIxMCwgMTU5LCAzNywgNywgNiwgMSwgNjEsIDM3LCA3LCA2LCAxLCAyNTMsIAorICAgIDE1OSwgMzcsIDcsIDYsIDEsIDI1MSwgNjcsIDM3LCA3LCA2LCAxLCAyNDksIDYxLCAzNywgNywgNiwgMSwgNzUsIDM3LCA3LCAKKyAgICA2LCAxLCAyNDUsIDcsIDM3LCA3LCA2LCAxLCAyNDMsIDIwMywgMzcsIDcsIDYsIDEsIDI0MiwgNjEsIDM3LCA3LCA2LCAxLCAKKyAgICA3MywgMzcsIDcsIDYsIDEsIDIzNSwgMTQ1LCAzNywgNywgNiwgMSwgMjM1LCAyNCwgMzcsIDcsIDYsIDEsIDE1NiwgMzcsIDcsIAorICAgIDYsIDEsIDE5MywgMzcsIDcsIDYsIDEsIDIzMCwgMjYsIDM3LCA3LCA2LCAxLCA3NiwgMzcsIDcsIDYsIDEsIDIyNiwgMTA2LCAKKyAgICAzNywgNywgNiwgMSwgMjI0LCA5NywgMzcsIDcsIDYsIDEsIDE1MywgMzcsIDcsIDYsIDEsIDIyMiwgOTIsIDM3LCA3LCA2LCAKKyAgICAxLCAyMTcsIDE1MywgMzcsIDcsIDYsIDEsIDcwLCAzNywgNywgNiwgMSwgMjE0LCAxMDUsIDM3LCA3LCA2LCAxLCAyMTIsIAorICAgIDk4LCAzNywgNywgNiwgMSwgMjExLCAxNzgsIDM3LCA3LCA2LCAxLCAyMTEsIDExNywgMzcsIDcsIDYsIDEsIDIxMCwgMTU5LCAKKyAgICAzNywgNywgNCwgMSwgNjEsIDM3LCA3LCA0LCAxLCAyNTMsIDE1OSwgMzcsIDcsIDQsIDEsIDI1MSwgNjcsIDM3LCA3LCA0LCAKKyAgICAxLCAyNDksIDYxLCAzNywgNywgNCwgMSwgNzUsIDM3LCA3LCA0LCAxLCAyNDUsIDcsIDM3LCA3LCA0LCAxLCAyNDMsIDIwMywgCisgICAgMzcsIDcsIDQsIDEsIDI0MiwgNjEsIDM3LCA3LCA0LCAxLCA3MywgMzcsIDcsIDQsIDEsIDIzNSwgMTQ1LCAzNywgNywgNCwgCisgICAgMSwgMjM1LCAyNCwgMzcsIDcsIDQsIDEsIDE1NiwgMzcsIDcsIDQsIDEsIDE5MywgMzcsIDcsIDQsIDEsIDIzMCwgMjYsIDM3LCAKKyAgICA3LCA0LCAxLCA3NiwgMzcsIDcsIDQsIDEsIDIyNiwgMTA2LCAzNywgNywgNCwgMSwgMjI0LCA5NywgMzcsIDcsIDQsIDEsIAorICAgIDE1MywgMzcsIDcsIDQsIDEsIDIyMiwgOTIsIDM3LCA3LCA0LCAxLCAyMTcsIDE1MywgMzcsIDcsIDQsIDEsIDcwLCAzNywgNywgCisgICAgNCwgMSwgMjE0LCAxMDUsIDM3LCA3LCA0LCAxLCAyMTIsIDk4LCAzNywgNywgNCwgMSwgMjExLCAxNzgsIDM3LCA3LCA0LCAxLCAKKyAgICAyMTEsIDExNywgMzcsIDcsIDQsIDEsIDIxMCwgMTU5LCAzNywgMjEsIDIxMCwgODYsIDE1MiwgMzcsIDU0LCAyNDUsIDE2OCwgCisgICAgMTUyLCAzNywgNTQsIDIxNSwgNzYsIDE1MiwgMzcsIDU0LCAyMTYsIDE2NSwgMTUyLCAzNywgNTQsIDI0NCwgNiwgMTUyLCAKKyAgICAzNywgNTQsIDI0NCwgMTE5LCAxNTIsIDM3LCA1NCwgMjE5LCAxMjAsIDE1MiwgMzcsIDU0LCAyMjAsIDEyMCwgMTUyLCAzNywgCisgICAgNTQsIDI0NSwgMTkxLCAxNTIsIDM3LCA1NCwgMjI4LCAxOTgsIDE1MiwgMzcsIDU0LCAyMTUsIDczLCA1MiwgMzcsIDIxLCAKKyAgICAxMTAsIDUyLCAzNywgMjEsIDEwNSwgNTIsIDM3LCAyMSwgMTU4LCA1MiwgMzcsIDIxLCAxNjEsIDUyLCAzNywgMjEsIDE4OSwgCisgICAgNTIsIDM3LCAyMSwgMTk0LCA1MiwgMzcsIDIxLCAxOTgsIDUyLCAzNywgMjEsIDE5NSwgNTIsIDM3LCAyMSwgMjAwLCA1MiwgCisgICAgMzcsIDU0LCAyMTYsIDI0OCwgMTUyLCAzNywgMjEsIDIxMCwgODYsIDkzLCA5OSwgMTkyLCAyNDEsIDQ1LCA5MywgOTksIAorICAgIDExNCwgMjQxLCA0NSwgOTMsIDk5LCAxOTIsIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjEzLCAyMzksIDkzLCA5OSwgMTkyLCAKKyAgICAyMTUsIDIxMiwgMjQ4LCAxNTgsIDI0MSwgNDUsIDkzLCA5OSwgMTE0LCAyMTUsIDIxMiwgMjQ4LCAxNTgsIDI0MSwgNDUsIAorICAgIDkzLCA5OSwgMTkyLCAyMTUsIDIxMiwgMjQ4LCAxNTgsIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjE1LCAyMTIsIDI0OCwgCisgICAgMTU4LCAyMTMsIDIzOSwgOTMsIDk5LCAxOTIsIDIyNCwgMjUsIDI0OCwgMTU4LCAyNDEsIDQ1LCA5MywgOTksIDExNCwgMjI0LCAKKyAgICAyNSwgMjQ4LCAxNTgsIDI0MSwgNDUsIDkzLCA5OSwgMTkyLCAyMjQsIDI1LCAyNDgsIDE1OCwgMjEzLCAyMzksIDkzLCA5OSwgCisgICAgMTE0LCAyMjQsIDI1LCAyNDgsIDE1OCwgMjEzLCAyMzksIDkzLCA5OSwgMTkyLCAxMjQsIDIyLCAyMjIsIDI1MiwgOTMsIDk5LCAKKyAgICAxMjQsIDE5MiwgMjIsIDQ0LCAyNDEsIDIyMiwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQ0LCAyMzIsIDIzMSwgOTMsIDk5LCAKKyAgICAxMTQsIDEyNCwgMjIsIDIyMiwgMjUyLCA5MywgOTksIDE5MiwgMTI0LCAyMiwgMjMzLCA0NywgOTMsIDk5LCAxMjQsIDE5MiwgCisgICAgMjIsIDQzLCAyNDEsIDIyMiwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQzLCAyMzIsIDIzMSwgOTMsIDk5LCAxMTQsIDEyNCwgCisgICAgMjIsIDIzMywgNDcsIDkzLCA5OSwgMTkyLCAxMjAsIDIyLCAyMjIsIDI1MiwgOTMsIDk5LCAxMjAsIDE5MiwgMjIsIDQ0LCAKKyAgICAyNDEsIDIyMiwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDQ0LCAyMzIsIDIzMSwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDIyMiwgCisgICAgMjUyLCA5MywgOTksIDE5MiwgMTIwLCAyMiwgMjMzLCA0NywgOTMsIDk5LCAxMjAsIDE5MiwgMjIsIDQzLCAyNDEsIDIyMiwgCisgICAgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDQzLCAyMzIsIDIzMSwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDIzMywgNDcsIDkzLCAKKyAgICA5OSwgMTkyLCA2NywgMjIsIDIyMiwgMjUyLCA5MywgOTksIDY3LCAxOTIsIDIyLCA0NCwgMjQxLCAyMjIsIDkzLCA5OSwgCisgICAgMTIwLCAxMTQsIDIyLCA0NCwgMTI0LCAyMzIsIDIzMSwgOTMsIDk5LCAxMjQsIDExNCwgMjIsIDQ0LCAxMjAsIDIzMiwgMjMxLCAKKyAgICA5MywgOTksIDY3LCAxMTQsIDIyLCA0NCwgMjMyLCAyMzEsIDkzLCA5OSwgMTI0LCAxOTIsIDIyLCA0NCwgMTIwLCAyNDEsIAorICAgIDIyMiwgOTMsIDk5LCAxMjAsIDE5MiwgMjIsIDQ0LCAxMjQsIDI0MSwgMjIyLCA5MywgOTksIDExNCwgNjcsIDIyLCAyMjIsIAorICAgIDI1MiwgOTMsIDk5LCAxOTIsIDY3LCAyMiwgMjMzLCA0NywgOTMsIDk5LCA2NywgMTkyLCAyMiwgNDMsIDI0MSwgMjIyLCA5MywgCisgICAgOTksIDEyMCwgMTE0LCAyMiwgNDMsIDEyNCwgMjMyLCAyMzEsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCA0MywgMTIwLCAyMzIsIAorICAgIDIzMSwgOTMsIDk5LCA2NywgMTE0LCAyMiwgNDMsIDIzMiwgMjMxLCA5MywgOTksIDEyNCwgMTkyLCAyMiwgNDMsIDEyMCwgCisgICAgMjQxLCAyMjIsIDkzLCA5OSwgMTIwLCAxOTIsIDIyLCA0MywgMTI0LCAyNDEsIDIyMiwgOTMsIDk5LCAxMTQsIDY3LCAyMiwgCisgICAgMjMzLCA0NywgOTMsIDk5LCAxOTIsIDEyNCwgMjIsIDI0MSwgNDUsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCAxMjQsIAorICAgIDIzMiwgMjMxLCA5MywgOTksIDQ0LCAxMTQsIDIyLCA0MywgMTI0LCAyMzIsIDIzMSwgOTMsIDk5LCAxMjQsIDE5MiwgMjIsIAorICAgIDIwMywgMjQxLCAyMjIsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCAyMDMsIDIzMiwgMjMxLCA5MywgOTksIDQ0LCAxOTIsIDIyLCAKKyAgICA0MywgMTI0LCAyNDEsIDIyMiwgOTMsIDk5LCA0MywgMTkyLCAyMiwgNDQsIDEyNCwgMjQxLCAyMjIsIDkzLCA5OSwgMTE0LCAKKyAgICAxMjQsIDIyLCAyNDEsIDQ1LCA5MywgOTksIDE5MiwgMTIwLCAyMiwgMjQxLCA0NSwgOTMsIDk5LCA0MywgMTE0LCAyMiwgNDQsIAorICAgIDEyMCwgMjMyLCAyMzEsIDkzLCA5OSwgNDQsIDExNCwgMjIsIDQzLCAxMjAsIDIzMiwgMjMxLCA5MywgOTksIDEyMCwgMTkyLCAKKyAgICAyMiwgMjAzLCAyNDEsIDIyMiwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDIwMywgMjMyLCAyMzEsIDkzLCA5OSwgNDQsIDE5MiwgCisgICAgMjIsIDQzLCAxMjAsIDI0MSwgMjIyLCA5MywgOTksIDQzLCAxOTIsIDIyLCA0NCwgMTIwLCAyNDEsIDIyMiwgOTMsIDk5LCAKKyAgICAxMTQsIDEyMCwgMjIsIDI0MSwgNDUsIDkzLCA5OSwgMTkyLCA2NywgMjIsIDI0MSwgNDUsIDkzLCA5OSwgNDMsIDExNCwgMjIsIAorICAgIDQ0LCA2NywgMjMyLCAyMzEsIDkzLCA5OSwgNDQsIDExNCwgMjIsIDQzLCA2NywgMjMyLCAyMzEsIDkzLCA5OSwgNjcsIDE5MiwgCisgICAgMjIsIDIwMywgMjQxLCAyMjIsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCAxMjQsIDIwMywgMjMyLCAyMzEsIDkzLCA5OSwgMTI0LCAKKyAgICAxMTQsIDIyLCAxMjAsIDIwMywgMjMyLCAyMzEsIDkzLCA5OSwgNjcsIDExNCwgMjIsIDIwMywgMjMyLCAyMzEsIDkzLCA5OSwgCisgICAgNDMsIDEyMCwgMTE0LCAyMiwgNDQsIDEyNCwgMjMyLCAyMzEsIDkzLCA5OSwgNDQsIDEyMCwgMTE0LCAyMiwgNDMsIDEyNCwgCisgICAgMjMyLCAyMzEsIDkzLCA5OSwgNDMsIDEyNCwgMTE0LCAyMiwgNDQsIDEyMCwgMjMyLCAyMzEsIDkzLCA5OSwgNDQsIDEyNCwgCisgICAgMTE0LCAyMiwgNDMsIDEyMCwgMjMyLCAyMzEsIDkzLCA5OSwgMTI0LCAxOTIsIDIyLCAxMjAsIDIwMywgMjQxLCAyMjIsIDkzLCAKKyAgICA5OSwgMTIwLCAxOTIsIDIyLCAxMjQsIDIwMywgMjQxLCAyMjIsIDkzLCA5OSwgNDQsIDE5MiwgMjIsIDQzLCA2NywgMjQxLCAKKyAgICAyMjIsIDkzLCA5OSwgNDMsIDE5MiwgMjIsIDQ0LCA2NywgMjQxLCAyMjIsIDkzLCA5OSwgMTE0LCA2NywgMjIsIDI0MSwgNDUsIAorICAgIDkzLCA5OSwgMTkyLCA1MiwgMjQ4LCAxNTgsIDI0MSwgNDUsIDkzLCA5OSwgMTE0LCA1MiwgMjQ4LCAxNTgsIDI0MSwgNDUsIAorICAgIDkzLCA5OSwgMTkyLCA1MiwgMjQ4LCAxNTgsIDIxMywgMjM5LCA5MywgOTksIDExNCwgNTIsIDI0OCwgMTU4LCAyMTMsIDIzOSwgCisgICAgOTMsIDk5LCA1MiwgMjQxLCA0NSwgOTMsIDk5LCA1MiwgMjEzLCAyMzksIDkzLCA5OSwgMTI0LCAyMTksIDE1NiwgMjIsIDQ0LCAKKyAgICAyNDYsIDExNCwgOTMsIDk5LCAxMjQsIDUyLCAyMiwgNDQsIDIxOSwgMTU1LCA5MywgOTksIDUyLCAxMjQsIDIyLCAyMjIsIAorICAgIDI1MiwgOTMsIDk5LCAxMjQsIDIxOSwgMTU2LCAyMiwgNDMsIDI0NiwgMTE0LCA5MywgOTksIDEyNCwgNTIsIDIyLCA0MywgCisgICAgMjE5LCAxNTUsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDIzMywgNDcsIDkzLCA5OSwgMTIwLCAyMTksIDE1NiwgMjIsIDQ0LCAKKyAgICAyNDYsIDExNCwgOTMsIDk5LCAxMjAsIDUyLCAyMiwgNDQsIDIxOSwgMTU1LCA5MywgOTksIDUyLCAxMjAsIDIyLCAyMjIsIAorICAgIDI1MiwgOTMsIDk5LCAxMjAsIDIxOSwgMTU2LCAyMiwgNDMsIDI0NiwgMTE0LCA5MywgOTksIDEyMCwgNTIsIDIyLCA0MywgCisgICAgMjE5LCAxNTUsIDkzLCA5OSwgNTIsIDEyMCwgMjIsIDIzMywgNDcsIDkzLCA5OSwgNjcsIDIxOSwgMTU2LCAyMiwgNDQsIAorICAgIDI0NiwgMTE0LCA5MywgOTksIDY3LCA1MiwgMjIsIDQ0LCAyMTksIDE1NSwgOTMsIDk5LCA1MiwgNjcsIDIyLCAyMjIsIDI1MiwgCisgICAgOTMsIDk5LCA2NywgMjE5LCAxNTYsIDIyLCA0MywgMjQ2LCAxMTQsIDkzLCA5OSwgNjcsIDUyLCAyMiwgNDMsIDIxOSwgMTU1LCAKKyAgICA5MywgOTksIDUyLCA2NywgMjIsIDIzMywgNDcsIDkzLCA5OSwgMTI0LCAyMTksIDE1NiwgMjIsIDIwMywgMjQ2LCAxMTQsIAorICAgIDkzLCA5OSwgMTI0LCA1MiwgMjIsIDIwMywgMjE5LCAxNTUsIDkzLCA5OSwgNTIsIDEyNCwgMjIsIDI0MSwgNDUsIDkzLCA5OSwgCisgICAgMTIwLCAyMTksIDE1NiwgMjIsIDIwMywgMjQ2LCAxMTQsIDkzLCA5OSwgMTIwLCA1MiwgMjIsIDIwMywgMjE5LCAxNTUsIDkzLCAKKyAgICA5OSwgNTIsIDEyMCwgMjIsIDI0MSwgNDUsIDkzLCA5OSwgNjcsIDIxOSwgMTU2LCAyMiwgMjAzLCAyNDYsIDExNCwgOTMsIAorICAgIDk5LCA2NywgNTIsIDIyLCAyMDMsIDIxOSwgMTU1LCA5MywgOTksIDUyLCA2NywgMjIsIDI0MSwgNDUsIDkzLCA5OSwgMTkyLCAKKyAgICAyNTQsIDI3LCAxMjQsIDIyLCAyMjIsIDI1MiwgOTMsIDk5LCAxOTIsIDI1NCwgMjcsIDEyNCwgMjIsIDIzMywgNDcsIDkzLCAKKyAgICA5OSwgMTkyLCAyNTQsIDI3LCAxMjAsIDIyLCAyMzMsIDQ3LCA5MywgOTksIDE5MiwgMjU0LCAyNywgMTIwLCAyMiwgMjIyLCAKKyAgICAyNTIsIDkzLCA5OSwgMTkyLCAyNDgsIDAsIDIxNCwgMTYwLCA0NCwgMjE2LCA0MywgMjMyLCAxMDksIDIzMywgNDcsIDkzLCAKKyAgICA5OSwgMTkyLCAyNDgsIDAsIDIxNCwgMTYwLCA0MywgMjE2LCA0MywgMjMyLCAxMDksIDIyMiwgMjUyLCA5MywgOTksIDE5MiwgCisgICAgMjQ4LCAwLCAyNDksIDEzMSwgOTMsIDk5LCAxOTIsIDIzMywgNDcsIDkzLCA5OSwgMTkyLCAyMTQsIDE2MywgOTMsIDk5LCAKKyAgICAxOTIsIDIyMiwgMjUyLCA5MywgOTksIDE5MiwgMjQ2LCAxMDcsIDkzLCA5OSwgMTE0LCAyMzMsIDQ3LCA5MywgOTksIDExNCwgCisgICAgMjE0LCAxNjMsIDkzLCA5OSwgMTE0LCAyMjIsIDI1MiwgOTMsIDk5LCAxMTQsIDI0NiwgMTA3LCA5MywgOTksIDE5MiwgNDMsIAorICAgIDIyLCAxMTQsIDIyMiwgMjUyLCA5MywgOTksIDE5MiwgMTIwLCAyMiwgMTE0LCAyNDYsIDEwNywgOTMsIDk5LCAxMTQsIDQzLCAKKyAgICAyMiwgMTkyLCAyMjIsIDI1MiwgOTMsIDk5LCAxMTQsIDEyMCwgMjIsIDE5MiwgMjQ2LCAxMDcsIDIxNCwgMTYwLCAxNjMsIAorICAgIDI1MSwgMjE0LCAyMzIsIDEwOSwgMTIzLCAyNDUsIDE5MCwgMjUxLCAyMTQsIDIzMiwgMTA5LCAxMjMsIDIyNCwgMjMsIDI1MSwgCisgICAgMjE0LCAyMzIsIDEwOSwgMTM0LCAyNDUsIDE4OCwgMjUxLCAyMTQsIDIzMiwgMTA5LCAxNjMsIDI1MSwgMjE0LCAyMzIsIAorICAgIDEwOSwgMjQ0LCA4MiwgMjQ1LCAxODgsIDI1MSwgMjE0LCAyMzIsIDEwOSwgMTM0LCAyMjQsIDIxLCAyNTEsIDIxNCwgMjMyLCAKKyAgICAxMDksIDIyMCwgMTIzLCAyNDUsIDE4OCwgMjUxLCAyMTQsIDI0MywgMjMwLCAyNTEsIDIxNCwgNDMsIDIyMCwgMTIzLCAyNDUsIAorICAgIDE4OCwgMjUxLCAyMTQsIDQzLCAxMzQsIDIyNCwgMjEsIDI1MSwgMjE0LCA0MywgMjQ0LCA4MiwgMjQ1LCAxODgsIDI1MSwgCisgICAgMjE0LCA0MywgMTYzLCAyNTEsIDIxNCwgNDMsIDEzNCwgMjQ1LCAxODgsIDI1MSwgMjE0LCA0MywgMTIzLCAyMjQsIDIzLCAKKyAgICAyNTEsIDIxNCwgNDMsIDEyMywgMjQ1LCAxOTAsIDI1MSwgMjE0LCA0NCwgMTYzLCAyNTEsIDIxNCwgMTkyLCAyMjAsIDkzLCAKKyAgICAyMzEsIDgzLCAyMjAsIDkzLCAyNDgsIDE2MywgMjIwLCA5MywgMjE0LCAxNjAsIDEyMywgMjQ1LCAxOTAsIDI1MSwgMjE0LCAKKyAgICA0NCwgMTIzLCAyNDUsIDE5MCwgMjUxLCAyMTQsIDIyNCwgMjcsIDIzMiwgMTA5LCAyMzMsIDQ3LCAyMjQsIDI3LCAyMzIsIAorICAgIDEwOSwgMjIyLCAyNTIsIDIyNCwgMjcsIDIxNCwgMTYwLCAyMzMsIDQ3LCAyMjQsIDI3LCAyMTQsIDE2MCwgNDMsIDIyLCAKKyAgICAyMzIsIDEwOSwgNDMsIDIyLCAyMzIsIDEwOSwgMjIyLCAyNTIsIDIyNCwgMjcsIDIxNCwgMTYwLCA0MywgMjIsIDIzMiwgCisgICAgMTA5LCAyMjIsIDI1MiwgMjI0LCAyNywgMjE0LCAxNjAsIDQzLCAyMiwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMDksIAorICAgIDIzMywgNDcsIDIyNCwgMjcsIDIxNCwgMTYwLCA0MywgMjIsIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTA5LCAyMjIsIDI1MiwgCisgICAgMjI0LCAyNywgMjE0LCAxNjAsIDIyMiwgMjUyLCAyMjQsIDI3LCAyMTQsIDE2MCwgNDQsIDIyLCAyMzIsIDEwOSwgMjMzLCAKKyAgICA0NywgMjI0LCAyNywgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMDksIDQzLCAyMiwgMjMyLCAxMDksIDIyMiwgMjUyLCA4NSwgCisgICAgMjE4LCAyMzUsIDcxLCAyMTgsIDIzNSwgNzEsIDQyLCAyLCAyMjIsIDE4NCwgMjQ5LCAxNjAsIDcxLCA0MiwgMjQ5LCAxODgsIAorICAgIDg1LCA0LCAyMTgsIDIzNSwgNDIsIDIsIDIwMywgMjQ0LCAxMDYsIDQyLCAyLCA2NywgMjQ0LCAxMDYsIDQyLCAyLCAyMjYsIAorICAgIDE0NSwgMjQ5LCAxMjcsIDI0NCwgMTA2LCA0MiwgMiwgMjE0LCAxNjAsIDQzLCAyMTYsIDQzLCAyMzIsIDEwOSwgNDQsIDI0NCwgCisgICAgMTA2LCA0MiwgMiwgMjE0LCAxNjAsIDQ0LCAyMTYsIDQzLCAyMzIsIDEwOSwgNDMsIDI0NCwgMTA2LCA0MiwgMiwgMjQ4LCAwLCAKKyAgICAyNDksIDEyNywgMjQ0LCAxMDYsIDg1LCA0LCAyMTgsIDIzNSwgNzEsIDQsIDIxOCwgMjM1LCA4NSwgMjIzLCAxMTcsIDcxLCAKKyAgICAyMjMsIDExNywgODUsIDY3LCAyMjMsIDExNywgNzEsIDY3LCAyMjMsIDExNywgODUsIDIyNiwgNywgNzEsIDIyNiwgNywgODUsIAorICAgIDIxNCwgMTYyLCAyMTUsIDIyNiwgNzEsIDIxNCwgMTYyLCAyMTUsIDIyNiwgODUsIDIxNCwgMTYyLCA0LCAyMTUsIDIyNiwgCisgICAgNzEsIDIxNCwgMTYyLCA0LCAyMTUsIDIyNiwgODUsIDIyMiwgMjQ4LCAyMTUsIDIyNiwgNzEsIDIyMiwgMjQ4LCAyMTUsIAorICAgIDIyNiwgODUsIDIyMiwgMjQ4LCA0LCAyMTUsIDIyNiwgNzEsIDIyMiwgMjQ4LCA0LCAyMTUsIDIyNiwgODUsIDIyMiwgMjQ4LCAKKyAgICAyMjUsIDksIDcxLCAyMjIsIDI0OCwgMjI1LCA5LCA4NSwgMjQ2LCAxMDYsIDIxNSwgMjI2LCA3MSwgMjQ2LCAxMDYsIDIxNSwgCisgICAgMjI2LCA4NSwgMjQ2LCAxMDYsIDQsIDIxNSwgMjI2LCA3MSwgMjQ2LCAxMDYsIDQsIDIxNSwgMjI2LCA4NSwgMjMzLCA0MywgCisgICAgMjE1LCAyMjYsIDcxLCAyMzMsIDQzLCAyMTUsIDIyNiwgODUsIDIzMywgNDMsIDQsIDIxNSwgMjI2LCA3MSwgMjMzLCA0MywgCisgICAgNCwgMjE1LCAyMjYsIDg1LCAyMzMsIDQzLCAyMjUsIDksIDcxLCAyMzMsIDQzLCAyMjUsIDksIDg1LCAyNDcsIDI0OSwgNzEsIAorICAgIDI0NywgMjQ5LCA3MSwgMjQ3LCAyNTAsIDI0OSwgMTg4LCA4NSwgNCwgMjQ3LCAyNDksIDI0NCwgOTAsIDIzMiwgMTA1LCA3MSwgCisgICAgMjUwLCAzNiwgMjQ2LCAxMTksIDI1MCwgMzYsIDI1MCwgMzcsIDIsIDY3LCAyNDQsIDEwNiwgMjUxLCAxMTIsIDg1LCAyNTAsIAorICAgIDM2LCAyNTAsIDM3LCAyLCA0MywgMTYzLCAyNTEsIDIyMiwgMjUwLCAzNywgMiwgNDQsIDE2MywgMjUxLCAyMjIsIDI1MCwgCisgICAgMzcsIDIsIDIzMiwgMTA5LCAxNjMsIDI1MSwgMjIyLCAyNTAsIDM3LCAyLCAyMTQsIDE2MCwgMTYzLCAyNTEsIDIyMiwgMjUwLCAKKyAgICAzNywgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI3LCAyNTEsIDIyMiwgMjUwLCAzNywgMiwgMjU0LCAxNTYsIDI1MSwgODksIAorICAgIDIxNCwgMTYwLCA0MywgMjI0LCAyNywgMjUxLCAyMjIsIDQzLCAxNjMsIDg1LCAyNTAsIDM2LCA0NCwgMTYzLCA4NSwgMjUwLCAKKyAgICAzNiwgMjM1LCAxOTUsIDI1MSwgMTE0LCAyMzUsIDE5NSwgNzEsIDI1MCwgMzYsIDIxNCwgMTYwLCAxNjMsIDIzNSwgMTk1LCAKKyAgICA3MSwgMjUwLCAzNiwgMjMyLCAxMDksIDE2MywgMjM1LCAxOTUsIDcxLCAyNTAsIDM2LCAyMTQsIDE2MCwgNDMsIDIyNCwgMjcsIAorICAgIDI1MCwgMzQsIDI1NCwgMjYsIDIxNCwgMTYwLCA0NCwgMjI0LCAyNywgMjUwLCAzNCwgMjU0LCAyNiwgMjMyLCAxMDksIDQ0LCAKKyAgICAyMjQsIDI3LCAyNTAsIDM0LCAyNTQsIDI2LCAyMzIsIDEwOSwgNDMsIDIyNCwgMjcsIDI1MCwgMzQsIDI1NCwgMjYsIDIxNCwgCisgICAgMTYwLCAxNjMsIDI1MCwgMzYsIDIzMiwgMTA5LCAxNjMsIDI1MCwgMzYsIDg1LCAyMzIsIDEwOSwgNDQsIDIxNSwgMjI2LCAKKyAgICA4NSwgMjMyLCAxMDksIDQzLCAyMTUsIDIyNiwgODUsIDIxNCwgMTYwLCA0MywgMjE1LCAyMjYsIDg1LCAyMTQsIDE2MCwgNDQsIAorICAgIDIxNSwgMjI2LCA3MSwgMjUxLCAxMTQsIDQyLCAyLCA0MywgMTYzLCAyNTEsIDIyMiwgNDIsIDIsIDQ0LCAxNjMsIDI1MSwgCisgICAgMjIyLCA0MiwgMiwgMjE0LCAxNjAsIDQzLCAyNDgsIDAsIDE2MywgMjUxLCAyMjIsIDQyLCAyLCAyMzIsIDEwOSwgNDQsIAorICAgIDI0OCwgMCwgMTYzLCAyNTEsIDIyMiwgNzEsIDQyLCAyLCA2NywgMjUxLCAyMzMsIDIzMiwgMjE0LCA3MSwgMjE0LCAxNjIsIAorICAgIDIxNSwgMjI3LCAyLCAyNDcsIDEyMSwgMjE0LCAxNjIsIDIxNSwgMjI3LCAyLCA0MywgMTYzLCAyNTEsIDIyMiwgMjE0LCAKKyAgICAxNjIsIDIxNSwgMjI3LCAyLCA0NCwgMTYzLCAyNTEsIDIyMiwgMjMzLCA4NiwgMjUwLCAzNiwgNzEsIDQyLCAyLCAyMTQsIAorICAgIDE2MCwgNDMsIDIyNCwgMjYsIDcxLCA0MiwgMiwgMjMyLCAxMDksIDQzLCAyMjQsIDI2LCA3MSwgNDIsIDIsIDIzMiwgMTA5LCAKKyAgICA0NCwgMjI0LCAyNiwgNzEsIDQyLCAyLCAyMTQsIDE2MCwgNDQsIDIyNCwgMjYsIDcxLCAyNTAsIDM3LCAyLCAyMTQsIDE2MCwgCisgICAgNDMsIDIyNCwgMjYsIDcxLCAyNTAsIDM3LCAyLCAyMzIsIDEwOSwgNDMsIDIyNCwgMjYsIDcxLCAyNTAsIDM3LCAyLCAyMzIsIAorICAgIDEwOSwgNDQsIDIyNCwgMjYsIDcxLCAyNTAsIDM3LCAyLCAyMTQsIDE2MCwgNDQsIDIyNCwgMjYsIDIxNCwgMTYwLCA0MywgCisgICAgMjE1LCAyMjYsIDIxNCwgMTYwLCA0NCwgMjE1LCAyMjYsIDIzMiwgMTA5LCA0MywgMjE1LCAyMjYsIDcxLCAyMzEsIDgzLCAKKyAgICAyMTgsIDIzNSwgODUsIDIzMSwgODMsIDIxOCwgMjM1LCA3MSwgMjMxLCA4MywgNCwgMjE4LCAyMzUsIDg1LCAyMzEsIDgzLCAKKyAgICA0LCAyMTgsIDIzNSwgMjMyLCAxMDksIDQ0LCAyMTUsIDIyNiwgODUsIDIxOCwgMzksIDIsIDIyMywgMTMzLCAyNDksIDI0OCwgCisgICAgMjE0LCAxOTQsIDIxOSwgNjEsIDI0OSwgMjIzLCA4NSwgMjE4LCAxNTcsIDcxLCAyMTgsIDE1NywgMjMyLCAyMjksIDIxNiwgCisgICAgMTMzLCAyMTgsIDM4LCAyNTMsIDIzNSwgMjI4LCA3MiwgMjQ4LCAzOSwgMjI4LCA3MiwgMjQ5LCAxOTYsIDIyNiwgMTY0LCAKKyAgICA4NSwgMjE3LCAxLCA3MSwgMjE3LCAxLCAyNTIsIDE1NywgMjUxLCAxNjQsIDI1MiwgMTU3LCA5MywgMiwgMjUwLCAxMzAsIAorICAgIDI1MiwgMTU3LCA5MywgMiwgMjExLCAxNzgsIDIyMSwgMjU1LCAyMTQsIDE5NSwgMiwgMjIzLCAxNjEsIDI0NiwgODUsIDI0MCwgCisgICAgMjQ0LCAyNTIsIDIzLCA3MSwgMjIwLCAzLCAyMjUsIDEwMiwgODUsIDIyMCwgMywgMjI1LCAxMDIsIDIyMCwgODgsIDIyMywgCisgICAgNTAsIDIyMiwgMTg4LCAyNDQsIDU2LCAyNDEsIDIyOSwgMjUxLCAxMTQsIDg1LCA0MywgMjI1LCA4LCAyMzUsIDI0MywgODUsIAorICAgIDQ0LCAyMjUsIDgsIDIzNSwgMjQzLCA3MSwgNDMsIDIyNSwgOCwgMjM1LCAyNDMsIDcxLCAxMjAsIDIyNSwgOCwgMjM1LCAKKyAgICAyNDMsIDcxLCA0NCwgMjI1LCA4LCAyMzUsIDI0MywgNzEsIDEyNCwgMjI1LCA4LCAyMzUsIDI0MywgMjE5LCAxMDIsIDIyLCAKKyAgICAyNDksIDEzMCwgMjUwLCAyMjAsIDUwLCAyMjMsIDE3MywgNTAsIDI1MSwgMjQwLCA1MCwgMjUxLCAyNiwgMjU0LCAxMDMsIAorICAgIDIyNiwgMTQ2LCAyNDksIDEzMSwgMjUwLCAxMTIsIDIyMywgMzgsIDI0OSwgMTMyLCA2NCwgMjMyLCAxMTksIDI0OSwgMTMyLCAKKyAgICA2NCwgMjM1LCAxMTcsIDIxOCwgMTU4LCAyMiwgMjQ5LCAxMzcsIDI0NCwgMTY5LCA4NywgMjU0LCAyNDksIDIyMCwgOTAsIAorICAgIDI0MiwgMjMsIDIyLCAyMTksIDE5MCwgMjI1LCAyMjEsIDg3LCAyMTAsIDI1NCwgMjExLCA2OSwgMjE1LCAyMTYsIDMxLCAKKyAgICAyNDEsIDIyNCwgMjE1LCAyMTYsIDMxLCAyMzMsIDEwOCwgMjE1LCAyMTYsIDMxLCAyNDQsIDk3LCAyMTUsIDIxNiwgMzEsIAorICAgIDIxNiwgMTM0LCAyMTUsIDIxNiwgMzEsIDIxMSwgMjM5LCAyMTUsIDIxNiwgMzEsIDIxMiwgNDAsIDIxNSwgMjE2LCAzMSwgCisgICAgMjMwLCAxMTYsIDIxNSwgMjE2LCAzMSwgMjQ1LCAyMjQsIDIxMiwgMSwgNjQsIDI0OCwgMTksIDcxLCAyNDMsIDI0MCwgMjQ0LCAKKyAgICAxOTEsIDcxLCAyMTksIDc1LCAyNDQsIDE5MSwgODUsIDIxOSwgNzUsIDI0NCwgMTkxLCA3MSwgMjE4LCAzOSwgMiwgMjIzLCAKKyAgICAxMzMsIDI0NCwgOTMsIDIyNCwgMjMsIDIzMCwgMTI5LCAyMzMsIDgxLCAyMjQsIDIzLCAyMzAsIDEyOSwgMjMxLCA1NSwgCisgICAgMjQ0LCAxMzksIDUwLCAyNDUsIDIyNCwgMjMxLCAxOTEsIDUwLCAyMzUsIDM5LCAyMjEsIDIyMSwgMjE0LCAxNDUsIDIyOSwgCisgICAgOTQsIDIyNSwgMjEsIDI1NCwgMTMsIDIxNywgNDEsIDI0MywgNTMsIDI1MSwgNCwgMjMzLCAyMCwgMjEzLCAxNTAsIDIzMiwgCisgICAgMjM5LCAyMjEsIDE5MiwgMjIyLCAyMCwgMjUwLCAyNDksIDI1NCwgNDMsIDIyNSwgNTMsIDcxLCAyNTAsIDExOCwgMjM0LCAKKyAgICA3OSwgNzEsIDI1MCwgMTE4LCAyMjQsIDE1LCA3MSwgMjUwLCAxMTgsIDIyMiwgMTk2LCA3MSwgMjUwLCAxMTgsIDI1MSwgCisgICAgMjMyLCA3MSwgMjUwLCAxMTgsIDIzNCwgMzEsIDcxLCAyNTAsIDExOCwgMjI1LCAyMzIsIDg1LCAyNTAsIDExOCwgMjM0LCAKKyAgICA3OSwgODUsIDI1MCwgMTE4LCAyMjQsIDE1LCA4NSwgMjUwLCAxMTgsIDIyMiwgMTk2LCA4NSwgMjUwLCAxMTgsIDI1MSwgCisgICAgMjMyLCA4NSwgMjUwLCAxMTgsIDIzNCwgMzEsIDg1LCAyNTAsIDExOCwgMjI1LCAyMzIsIDg1LCAyMTksIDE3LCAyMTgsIDUxLCAKKyAgICA3MSwgMjQxLCAyMjksIDIxOCwgNTEsIDcxLCAyNDcsIDI1MCwgMjE4LCA1MSwgODUsIDI0OSwgMjQ2LCAyMTgsIDUxLCA3MSwgCisgICAgMjE5LCAxNywgMjE4LCA1MSwgODUsIDI0MSwgMjI5LCAyMTgsIDUxLCA4NSwgMjQ3LCAyNTAsIDIxOCwgNTEsIDcxLCAyNDksIAorICAgIDI0NiwgMjE4LCA1MSwgMjQwLCAyNDQsIDIxOCwgMjM5LCAyMjQsIDIzLCAyMjgsIDQ4LCAyNDUsIDE5MCwgMjI4LCA0OCwgCisgICAgMjUyLCA3NCwgMjQ1LCAxOTAsIDIyOCwgNDMsIDI1MiwgNzQsIDIxOSwgMTE5LCAyMjgsIDQzLCAyMzAsIDU4LCAyNDQsIDY3LCAKKyAgICA1MCwgMjMwLCA1OCwgMjI5LCAxODksIDUwLCAyMzAsIDU4LCAyMjAsIDc3LCA1MCwgMjEyLCA5LCAxODIsIDI0OSwgMTMxLCAKKyAgICAyNDUsIDIyMSwgMTgyLCAyNDksIDEzMSwgMjE0LCAxNzEsIDIyMywgMTEzLCA4NywgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCAKKyAgICA0OCwgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCA0NywgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCAKKyAgICA0NiwgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCA0NSwgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCAKKyAgICA0NCwgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCA0MywgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjE1LCAKKyAgICA0MiwgMjI1LCAzNSwgMjIzLCAxMTMsIDE2LCAzMSwgMjQzLCA1MSwgMjMxLCAxMzksIDg1LCAyMTQsIDE3MSwgMjIzLCAxMTMsIAorICAgIDg3LCAyMjMsIDExNCwgMjI2LCAyMSwgODcsIDIyNSwgMjUzLCAyMjYsIDIxLCA4NywgMjI1LCAxNzUsIDIyNiwgMjEsIDUwLCAKKyAgICAyMTEsIDI1NSwgODcsIDI0NywgMjQyLCAyNDQsIDE5MCwgMjQ3LCAyNDIsIDI0NCwgMTg5LCAyNDcsIDI0MiwgMjQ0LCAxODgsIAorICAgIDI0NywgMjQyLCAyNDQsIDE4NywgMjQ3LCAyNDIsIDI0NCwgMTg2LCAyNDcsIDI0MiwgMjQ0LCAxODUsIDcxLCAyNTAsIDM3LCAKKyAgICAyLCA1OSwgMjIyLCAyNTIsIDcxLCAyNTAsIDM3LCAyLCAxMTMsIDI0NywgMTE5LCA4NSwgMjUwLCAzNywgMiwgNzEsIDU5LCAKKyAgICAyMjIsIDI1MiwgODUsIDI1MCwgMzcsIDIsIDExMywgNzEsIDI0NywgMTE5LCAyMzAsIDE0MywgMzEsIDIxMSwgNjksIDIzMCwgCisgICAgMTQzLCAzMSwgMjEwLCAyNTMsIDI0NywgMjI1LCAzMSwgMjQyLCAxMzIsIDIxMSwgNjksIDI0NywgMjI1LCAzMSwgMjMzLCAKKyAgICAxNCwgMjEwLCAyNTMsIDI0NywgMjI1LCAzMSwgMjMzLCAxNCwgMjExLCA2OSwgMjQ3LCAyMjUsIDMxLCAyNDIsIDEzMiwgCisgICAgMjEwLCAyNTMsIDcxLCAyNDQsIDc0LCA4NSwgMjQ0LCA3NCwgMjQyLCAyMywgMjIsIDIyNSwgMTA1LCAyNTQsIDEyMSwgMjQ5LCAKKyAgICAxMjksIDIxNywgMjM2LCAyMTgsIDE2NSwgNjQsIDI1NCwgMjI3LCAyMjEsIDIwNywgMjU0LCAxNzAsIDI0NCwgNTIsIDI0MywgCisgICAgNjEsIDIxOCwgMTY1LCA2NCwgMjQxLCAyMDMsIDI1MywgMjAwLCA4NywgMjQ0LCA2MywgMjI2LCAxMjcsIDcxLCAyMTgsIAorICAgIDE1NywgMTM0LCAyMzIsIDIwOSwgMjQ5LCAxNzYsIDIyMiwgMjUyLCAxMzQsIDIzMiwgMjA5LCAyNDksIDE3NiwgMjMzLCA0NywgCisgICAgMjEyLCA1MCwgNTAsIDEyNSwgMjEzLCAxMzAsIDUwLCAyNDYsIDExMSwgMjQ0LCAxMzksIDUwLCAyNDYsIDExMSwgMjMxLCAKKyAgICAxOTEsIDUwLCAyMzUsIDIwNCwgMjQ0LCAxMzksIDIyLCAyMzEsIDE5MSwgNTAsIDIzMSwgMTkxLCAyMiwgMjQ0LCAxMzksIAorICAgIDUwLCAyMzEsIDE5MSwgMiwgMjE4LCAxMDQsIDUwLCAyMzEsIDE5MSwgMiwgMjE4LCAxMDQsIDIyLCAyMzEsIDE5MSwgMjIsIAorICAgIDI0NCwgMTM5LCA1MCwgNjcsIDIzMSwgMTkxLCAyLCAyMTgsIDEwNCwgNTAsIDIwMywgMjMxLCAxOTEsIDIsIDIxOCwgMTA0LCAKKyAgICA1MCwgMjMxLCA4MywgNzEsIDI1MCwgMzYsIDIzMSwgODMsIDg1LCAyNTAsIDM2LCAyMzEsIDgzLCA0LCA3MSwgMjUwLCAzNiwgCisgICAgMjMxLCAxNTQsIDg3LCAyNDcsIDE2OCwgODcsIDIxNCwgMTY5LCAyMjUsIDI1MiwgODcsIDI0OSwgMjMyLCAyNDMsIDIyNSwgCisgICAgMjE0LCAxNDEsIDIyOSwgODksIDI1MCwgMTYyLCAyMjYsIDYyLCAyMzUsIDQ1LCAyMTMsIDE4NSwgMjUwLCA5NCwgODUsIAorICAgIDIzMCwgMTMwLCAyMzIsIDIyNiwgMjIwLCAxMTMsIDIyMCwgMTQ4LCAyMjQsIDYsIDIyMCwgMTMxLCAyMTksIDU2LCAyNTIsIAorICAgIDE2MCwgMjUyLCAxMjcsIDkyLCAyMzQsIDEzOSwgNzEsIDI0NiwgOTQsIDIzMSwgMTg2LCA3MSwgMjQ2LCA5NCwgMjM0LCA3OSwgCisgICAgODUsIDI0NiwgOTQsIDIzMSwgMTg2LCA4NSwgMjQ2LCA5NCwgMjM0LCA3OSwgMjE5LCA2MiwgMjExLCAyMzAsIDIxOSwgNjUsIAorICAgIDIxOCwgMzksIDI1MiwgNTIsIDI0OSwgMjQ4LCAyMjMsIDE2MCwgODUsIDIxOSwgNjEsIDIxNiwgMTM1LCAyNDksIDI0OSwgCisgICAgMjIsIDIyMywgMTYwLCAyMTUsIDk0LCA3MSwgMjIwLCAzLCAyMjUsIDEwMiwgMjE1LCA5NCwgODUsIDIyMCwgMywgMjI1LCAKKyAgICAxMDIsIDcxLCAyNDcsIDI1MCwgMjM2LCAxLCAyMTgsIDIzNSwgMjQ5LCAxMjYsIDIzMywgOTIsIDI0NywgMTk0LCAyNTAsIAorICAgIDI0NSwgMjI2LCAxNjcsIDIyNSwgMTA1LCAyNTAsIDI0NiwgMjE5LCA4OSwgMjQxLCAyMTMsIDIsIDcxLCAyNDksIDEzMSwgCisgICAgMzcsIDI0OSwgMTI2LCAyMzMsIDkyLCAyNTAsIDE1NCwgMjI4LCA3NiwgMjQ1LCAxMjUsIDI1NCwgMTQyLCAyMjYsIDE5MiwgCisgICAgNDMsIDIxMiwgMjYsIDIxNSwgMjUyLCA4NSwgMjE1LCA1NSwgNDMsIDIxMiwgMjYsIDIxNSwgMjUyLCA3MSwgMjE1LCA1NSwgCisgICAgNDMsIDIxMiwgMjYsIDIxNSwgMjUyLCA4NSwgNDMsIDIzMywgOTMsIDIzMSwgNTQsIDcxLCA0MywgMjMzLCA5MywgMjMxLCAKKyAgICA1NCwgMjQ2LCA5MCwgMjE5LCA4MywgNTAsIDExNCwgNzEsIDI0NiwgMTA2LCAyMTUsIDIyNiwgNDMsIDI1MCwgMSwgMjQ1LCAKKyAgICAxMjUsIDkyLCAyMjEsIDI1NSwgMjQ0LCAxNzYsIDI0OCwgMCwgMjM2LCAxLCA3MSwgMjUwLCAzNywgMjM2LCAxLCA4NSwgCisgICAgMjE4LCAyMzUsIDg1LCAyMTUsIDE5MywgMjIzLCA2MSwgNDMsIDI0NSwgMTI0LCAyMjMsIDYxLCA0MywgMjQ1LCAxMjMsIAorICAgIDI1MywgMjEyLCAxNiwgMzEsIDIxNCwgMTQ1LCAxMTQsIDI1MCwgMzcsIDIsIDIxOCwgMTA0LCAyMiwgMTEzLCAxNzAsIDQ4LCAKKyAgICAyMjUsIDE5MCwgMjIyLCAyNDksIDIzNSwgMjA2LCAyMjUsIDE5MCwgMjMzLCA0NCwgMjM1LCAyMDYsIDIyNSwgMTkwLCAyMzUsIAorICAgIDE5NCwgMjI1LCAxOTAsIDg1LCAyNDksIDEzMiwgMjI2LCAxOTgsIDIyMCwgMzAsIDIyMCwgMTgsIDIxOSwgMjMwLCAyNTAsIAorICAgIDYyLCAyNTAsIDIyNywgMjQxLCAxNTgsIDIxOSwgMTI3LCAyNDMsIDYyLCAyMTEsIDIzMCwgMjQwLCAyMjEsIDI0MywgNjIsIAorICAgIDIsIDI0MiwgMTMsIDIzMSwgMTc0LCAxNiwgMzEsIDIzMiwgMjMwLCAyMzAsIDExNiwgMjE0LCAxOTUsIDIyNiwgMTk4LCAKKyAgICAyNDIsIDEyMywgMjQ0LCAxMywgMjQ0LCA3NSwgMjM2LCAxLCAyNDEsIDYwLCAyNDQsIDEzMCwgMjIyLCAxNSwgNDIsIDI0NCwgCisgICAgMTIsIDI0OSwgMTYwLCAyMTksIDEwNSwgMjQwLCAxMTMsIDIxOSwgMTA4LCAyMjUsIDE2OSwgMiwgMjUyLCAxNjAsIDIxNiwgCisgICAgMjQzLCAyMzUsIDEzMiwgMjUyLCAxNDcsIDg3LCAyNDEsIDIzMiwgMjQyLCAxMzQsIDg3LCAyNDMsIDIzMywgMjI0LCAxNDMsIAorICAgIDI0OSwgMTA0LCAyMjYsIDE5OCwgODUsIDIxOCwgMjM1LCA3MSwgMjQ0LCA3NSwgMiwgMjAzLCAyMzAsIDIyNSwgODUsIDIxOCwgCisgICAgMTA1LCAyMTQsIDE2MCwgMjUxLCAyMTgsIDIyMSwgMTk0LCA4NSwgMjIxLCAxOTQsIDIzMiwgMTA5LCAyNTEsIDIxOCwgMjIxLCAKKyAgICAxOTQsIDcxLCAyMjEsIDE5NCwgNzEsIDExNCwgMjUwLCAxMzEsIDc4LCAyMTcsIDIsIDIzMiwgMTU1LCA1MCwgMjE3LCA1NCwgCisgICAgMjQ2LCA4OSwgMjU0LCAxOTIsIDI0NSwgMTIwLCAyMjMsIDE1OCwgMjQ0LCA4NiwgMjIzLCAxNTgsIDI0MiwgMTYsIDIxMywgCisgICAgMTc0LCAyNDIsIDE2LCAyMTEsIDE5OCwgMjQyLCAxNiwgMjMyLCAxMDksIDQ0LCAyMjUsIDE5OSwgMjI1LCAxOTksIDIxNCwgCisgICAgMTYwLCA0NCwgMjI1LCAxOTksIDcxLCAyMjgsIDIzMSwgODUsIDIyOCwgMjMxLCAyNTAsIDEzMSwgNzgsIDExNCwgMjUwLCAKKyAgICAxMzEsIDc4LCAyMzAsIDg1LCAyMTEsIDE3OCwgMTE0LCAyMzAsIDg1LCAyMTEsIDE3OCwgMjUyLCAxNTcsIDIxMSwgMTc4LCAKKyAgICAxMTQsIDI1MiwgMTU3LCAyMTEsIDE3OCwgMjI2LCAxMjcsIDI2LCAyNDksIDEzMSwgMTE0LCAyNiwgMjQ5LCAxMzEsIDIwNCwgCisgICAgMjUwLCAxNzYsIDI0OSwgMTMxLCAxMTQsIDIwNCwgMjUwLCAxNzYsIDI0OSwgMTMxLCA3LCAyNDksIDEzMSwgMjIwLCA5MiwgCisgICAgNzEsIDcsIDI0OSwgMTMxLCAyMjYsIDEyNywgNywgMjQ5LCAxMzEsIDIzMSwgMTg4LCAyNDksIDEzMSwgMjE4LCAxNTgsIDY0LCAKKyAgICAyNDgsIDE1MCwgMjQ0LCAxMiwgMjE3LCAxNiwgMjUzLCAyMTcsIDI0NCwgMTIsIDI1MiwgMTU4LCAyNTMsIDIxNywgMTE0LCAKKyAgICAyNDQsIDEyLCAyNTIsIDE1OCwgMjUzLCAyMTcsIDI0NCwgMTIsIDI0OSwgMjQ0LCAyNTMsIDIxNywgODUsIDI0NCwgMTIsIAorICAgIDIyNSwgMTAsIDIxOCwgMTU3LCA3MSwgMjQ0LCAxMiwgMjI1LCAxMCwgMjE4LCAxNTcsIDIxOSwgMTIsIDIxOCwgMTEyLCAKKyAgICAyMjYsIDEyNywgNzEsIDIxOCwgMTU3LCAzNywgNzEsIDIxOCwgMTU3LCAyMDQsIDI1MCwgMTc2LCA4NSwgMjE4LCAxNTcsIAorICAgIDg1LCAyNTAsIDE3NiwgNzEsIDIxOCwgMTU3LCAyMjYsIDEyNywgODUsIDIxOCwgMTU3LCAxMTQsIDIyNiwgMTI3LCA4NSwgCisgICAgMjE4LCAxNTcsIDIyNSwgNjEsIDIxOCwgMTU3LCAyMjAsIDkyLCA3MSwgMjE4LCAxNTcsIDExNCwgMjUzLCAyMTcsIDIwNCwgCisgICAgMjUwLCAxNzYsIDI1MywgMjE3LCAyNDUsIDE5NCwgMjE4LCAyNDUsIDI1MywgMjE3LCAyNDUsIDE5NCwgMjI1LCAxMCwgODUsIAorICAgIDIxOCwgMTU3LCAyNDUsIDE5NCwgMjI1LCAxMCwgMjI1LCA2MSwgMjE4LCAxNTcsIDIxOSwgMTI2LCAyMjUsIDEwLCA4NSwgCisgICAgMjE4LCAxNTcsIDI0NSwgMTk0LCAyMjUsIDEwLCAyMjMsIDExNSwgODUsIDIxOCwgMTU3LCAxMTQsIDI0NSwgMTk0LCAyMjUsIAorICAgIDEwLCAyMjMsIDExNSwgODUsIDIxOCwgMTU3LCAyMTUsIDc3LCAyMjUsIDEwLCA4NSwgMjE4LCAxNTcsIDIxOSwgMTIxLCAKKyAgICAyMjUsIDEwLCAyNTMsIDIxNywgMjE3LCAxNiwgMjUzLCAyMTcsIDIwNCwgMjUwLCAxNzYsIDIxNywgMTYsIDI1MywgMjE3LCAKKyAgICAxMTQsIDIxNywgMTYsIDI1MywgMjE3LCAyMTksIDEyNiwgMjI1LCAxNTgsIDg1LCAyMiwgNzEsIDI0NCwgNTUsIDg1LCAyNDQsIAorICAgIDU1LCA3MSwgMjQ0LCA1NSwgMjQ1LCAxOTQsIDIyNSwgMTU4LCAyMjYsIDEyNywgODUsIDI0NCwgNTUsIDM3LCAyMDQsIDI1MCwgCisgICAgMTc2LCAyNDUsIDE5NCwgMjI1LCAxMCwgMjE4LCAxNTcsIDExNCwgMjE3LCAxNiwgMjI1LCA2MSwgMjUzLCAyMTcsIDIxOSwgCisgICAgNjMsIDIxNiwgMTA2LCAyMTUsIDIxOSwgMjE5LCA2MywgMTE0LCAyNTAsIDExNSwgMjE5LCA2MywgMjE5LCAxNCwgMTE0LCAKKyAgICAyMTksIDE0LCAyNTIsIDE1OCwgMjUzLCAyMTcsIDI0NSwgMTk0LCAyMTcsIDE2LCAyMjQsIDE3MiwgMjUzLCAyMTcsIDExNCwgCisgICAgMjQ1LCAxOTQsIDIxNywgMTYsIDIyNCwgMTcyLCAyNTMsIDIxNywgMjQ5LCAxMzIsIDc4LCAyMjAsIDkyLCA3MSwgMjUwLCAKKyAgICAzNiwgMTUyLCA5MiwgMjQ5LCAxMzIsIDc4LCAyMzIsIDEwOSwgNDQsIDI0NiwgODcsIDcxLCAyMTgsIDIzNSwgMjE0LCAxNjAsIAorICAgIDQ0LCAyNDYsIDg3LCA3MSwgMjE4LCAyMzUsIDIzMiwgMTA5LCA0NCwgMjIwLCA5MiwgNzEsIDIxOCwgMjM1LCAyMTQsIDE2MCwgCisgICAgNDQsIDIyMCwgOTIsIDcxLCAyMTgsIDIzNSwgODUsIDIyNCwgMTQsIDE2NCwgMjI2LCAxNDgsIDcxLCAyMjQsIDE0LCAxNjQsIAorICAgIDIyNiwgMTQ4LCA3MSwgMjQ1LCAzMiwgMTY0LCAyMjYsIDE0OCwgODUsIDI0NywgMjUwLCAyMzAsIDE4MywgNzEsIDIxMSwgCisgICAgMTc4LCAxMTQsIDI0NSwgMzIsIDE2NCwgODcsIDE5MiwgNjcsIDEzMCwgMjMxLCA4MywgNjcsIDEzMCwgMTE0LCA2NywgMTMwLCAKKyAgICAxMTQsIDIxOSwgMTU2LCAyMTUsIDk0LCAyNDksIDIyMSwgMjIzLCAyNTUsIDE2NCwgMjI2LCAxNDgsIDExNCwgMjE5LCAxNTYsIAorICAgIDI0OSwgMjIxLCAyMjMsIDI1NSwgMTY0LCAyMjYsIDE0OCwgMTE0LCA1MiwgMjE1LCA5NCwgMjQ5LCAyMjEsIDIyMywgMjU1LCAKKyAgICAxNjQsIDIyNiwgMTQ4LCAxMTQsIDUyLCAyNDksIDIyMSwgMjIzLCAyNTUsIDE2NCwgMjI2LCAxNDgsIDExNCwgMTIxLCAyMTksIAorICAgIDE1NiwgMjQ5LCAyMjEsIDIyMywgMjU1LCAxNjQsIDIyNiwgMTQ4LCAxMTQsIDEyMSwgNTIsIDI0OSwgMjIxLCAyMjMsIDI1NSwgCisgICAgMTY0LCAyMjYsIDE0OCwgMjQ5LCA5MiwgMjE4LCAxNDEsIDIyNiwgMTYsIDUsIDIyNiwgMTQ4LCAxMTQsIDI0NSwgMzIsIAorICAgIDE2NCwgMjI2LCAxNDgsIDExNCwgMjQxLCAyMjksIDI0NSwgMzIsIDE2NCwgMjI2LCAxNDgsIDExNCwgODUsIDI0MSwgMjI4LCAKKyAgICAyMjIsIDE4OCwgMTE0LCA4NSwgMjQxLCAyMjksIDI1MSwgMTE0LCAyNDQsIDU2LCAyNDEsIDIyOCwgMjIyLCAxODgsIDI0NCwgCisgICAgNTYsIDI0MSwgMjI5LCAyNTEsIDExNCwgMjMxLCA4MywgNDMsIDIyNiwgNSwgMjI2LCAxNDgsIDIzMSwgODMsIDQ0LCAyMjYsIAorICAgIDUsIDIyNiwgMTQ4LCAyMzEsIDgzLCAyNDQsIDY0LCA0MywgMjI2LCA1LCAyMjYsIDE0OCwgMjMxLCA4MywgMjQ0LCA2NCwgCisgICAgNDQsIDIyNiwgNSwgMjI2LCAxNDgsIDIzMSwgODMsIDIzMywgNDMsIDI1NCwgMTExLCAyNTEsIDE1OSwgMjI2LCAxNDgsIAorICAgIDIzMSwgODMsIDIyMiwgMjQ4LCAyNTQsIDExMSwgMjUxLCAxNTksIDIyNiwgMTQ4LCAxMTQsIDIzMywgNDMsIDI1NCwgMTExLCAKKyAgICAyMjMsIDI1NSwgMTY0LCAyMjYsIDE0OCwgMTE0LCAyMjIsIDI0OCwgMjU0LCAxMTEsIDIyMywgMjU1LCAxNjQsIDIyNiwgCisgICAgMTQ4LCAxMTQsIDIzMywgNDMsIDI1NCwgMTExLCAyNTEsIDE1OSwgMjI2LCAxNDgsIDExNCwgMjIyLCAyNDgsIDI1NCwgMTExLCAKKyAgICAyNTEsIDE1OSwgMjI2LCAxNDgsIDE5MiwgNDMsIDIxNiwgNywgMjIwLCA1NCwgMjUxLCAxNTksIDIyNiwgMTQ4LCAxOTIsIAorICAgIDQ0LCAyMTYsIDcsIDIyMCwgNTQsIDI1MSwgMTU5LCAyMjYsIDE0OCwgMjMxLCA4MywgNDMsIDI0OSwgMTAwLCAyNTEsIDE1OSwgCisgICAgMjI2LCAxNDgsIDIzMSwgODMsIDQ0LCAyNDksIDEwMCwgMjUxLCAxNTksIDIyNiwgMTQ4LCAyNDcsIDIwNSwgMTUyLCAzNywgCisgICAgMjEsIDExMCwgMjQ3LCAyMDUsIDE1MiwgMzcsIDIxLCAxMDUsIDI0NywgMjA1LCAxNTIsIDM3LCAyMSwgMTU4LCAyNDcsIAorICAgIDIwNSwgMTUyLCAzNywgMjEsIDE2MSwgMjQ3LCAyMDUsIDE1MiwgMzcsIDIxLCAxODksIDI0NywgMjA1LCAxNTIsIDM3LCAyMSwgCisgICAgMTk0LCAyNDcsIDIwNSwgMTUyLCAzNywgMjEsIDE5OCwgMjQ3LCAyMDUsIDE1MiwgMzcsIDIxLCAxOTUsIDI0NywgMjA1LCAKKyAgICAxNTIsIDM3LCAyMSwgMjAwLCAyNDcsIDIwNSwgMTUyLCAzNywgNTQsIDIxNiwgMjQ4LCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgCisgICAgMTEwLCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgMTA1LCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgMTU4LCAyNDcsIDIwNSwgMzcsIAorICAgIDM1LCAyMSwgMTYxLCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgMTg5LCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgMTk0LCAyNDcsIAorICAgIDIwNSwgMzcsIDM1LCAyMSwgMTk4LCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgMTk1LCAyNDcsIDIwNSwgMzcsIDM1LCAyMSwgCisgICAgMjAwLCAyNDcsIDIwNSwgMzcsIDM1LCA1NCwgMjE2LCAyNDgsIDI0NywgMjA1LCAxNTIsIDM3LCAzNSwgMjEsIDExMCwgMjQ3LCAKKyAgICAyMDUsIDE1MiwgMzcsIDM1LCAyMSwgMTA1LCAyNDcsIDIwNSwgMTUyLCAzNywgMzUsIDIxLCAxNTgsIDI0NywgMjA1LCAxNTIsIAorICAgIDM3LCAzNSwgMjEsIDE2MSwgMjQ3LCAyMDUsIDE1MiwgMzcsIDM1LCAyMSwgMTg5LCAyNDcsIDIwNSwgMTUyLCAzNywgMzUsIAorICAgIDIxLCAxOTQsIDI0NywgMjA1LCAxNTIsIDM3LCAzNSwgMjEsIDE5OCwgMjQ3LCAyMDUsIDE1MiwgMzcsIDM1LCAyMSwgMTk1LCAKKyAgICAyNDcsIDIwNSwgMTUyLCAzNywgMzUsIDIxLCAyMDAsIDI0NywgMjA1LCAxNTIsIDM3LCAzNSwgNTQsIDIxNiwgMjQ4LCAxMTQsIAorICAgIDIxMSwgMjQ2LCA5NywgNzQsIDExNCwgOTYsIDUwLCAxMTQsIDIzMCwgMTgzLCA1MCwgMTE0LCAyNDcsIDE3MCwgNTAsIDExNCwgCisgICAgMjE5LCAyOSwgMjQ1LCAyMjEsIDc0LCAxMTQsIDk3LCA3NCwgMTE0LCAyMjgsIDU3LCAyNDUsIDIyMSwgNzQsIDI0NiwgOTksIAorICAgIDIyNSwgMTIsIDk3LCA3NCwgMTE0LCAyMjIsIDE4NSwgOTcsIDc0LCAyMTUsIDIyNSwgOTcsIDc0LCAxMTQsIDIxNSwgMjI1LCAKKyAgICA5NywgNzQsIDI0OCwgMTU2LCAyMTUsIDIyNSwgOTcsIDc0LCAxMTQsIDI0OCwgMTU2LCAyMTUsIDIyNSwgOTcsIDc0LCA4NSwgCisgICAgOTcsIDc0LCAyMTYsIDE0NSwgMjE2LCAxMywgOTcsIDI1MywgMjUwLCAyMTYsIDE0NSwgMjUxLCAxNzQsIDk3LCAyNTMsIAorICAgIDI1MCwgODUsIDk3LCAyNTMsIDI1MCwgMTE0LCA4NSwgMjQ5LCA5MiwgMjQ2LCAxMDUsIDIyLCA5NywgNzQsIDExNCwgODUsIAorICAgIDI0OSwgOTIsIDIxNCwgMTUzLCAyMiwgOTcsIDc0LCAyMTgsIDIzMiwgODUsIDk3LCA3NCwgMTE0LCAyNDksIDIwNywgODUsIAorICAgIDk3LCA3NCwgMjIyLCAyNDcsIDcxLCA5NywgNzQsIDIzMywgNDIsIDcxLCA5NywgNzQsIDI1MiwgMTg0LCAyMjAsIDkyLCA3MSwgCisgICAgOTcsIDc0LCAyNDMsIDI0MiwgMjIwLCA5MiwgNzEsIDk3LCA3NCwgMTE0LCAyMzIsIDEwOSwgMjIyLCAyNDYsIDcxLCA5NywgCisgICAgNzQsIDExNCwgMjE0LCAxNjAsIDIyMiwgMjQ2LCA3MSwgOTcsIDc0LCAyMjgsIDUwLCAyMzIsIDEwOSwgMjIyLCAyNDYsIDcxLCAKKyAgICA5NywgNzQsIDI0OSwgMTAwLCAyMzIsIDEyNCwgMjI4LCA1MCwgMjE0LCAxNjAsIDIyMiwgMjQ2LCA3MSwgOTcsIDc0LCAzNywgCisgICAgMTE0LCA3MSwgOTcsIDc0LCAyMTEsIDI1MiwgOTcsIDc0LCAyNTEsIDIyMSwgMjE5LCAyOSwgMjQ1LCAyMjEsIDc0LCAyNTEsIAorICAgIDIyMSwgOTcsIDc0LCAyNTEsIDIyMSwgMjI4LCA1NywgMjQ1LCAyMjEsIDc0LCAxMTQsIDI1MSwgMjIxLCAyMTksIDI5LCAKKyAgICAyNDUsIDIyMSwgNzQsIDExNCwgMjUxLCAyMjEsIDk3LCA3NCwgMTE0LCAyNTEsIDIyMSwgMjI4LCA1NywgMjQ1LCAyMjEsIAorICAgIDc0LCAyMTcsIDE4LCA5NywgNzQsIDExNCwgMjE3LCAxNywgOTcsIDc0LCAyMTIsIDE4LCA5NywgNzQsIDExNCwgMjEyLCAxOCwgCisgICAgOTcsIDc0LCAyMjYsIDE3MywgOTcsIDc0LCA1MiwgMjQ5LCAxMDAsIDIzMiwgMTI0LCAxMzQsIDI0NywgMjE1LCAyNTQsIAorICAgIDExMCwgNzEsIDIxNSwgMjI3LCAyNDksIDE4OCwgNCwgNzEsIDIxNSwgMjI2LCAyMjUsIDE3MiwgMjA0LCAyMTgsIDY0LCAKKyAgICAyMDQsIDIxOCwgMjIsIDQzLCAyMjIsIDkxLCAyNTIsIDE3NCwgMjQ4LCA2MSwgNDQsIDIyMiwgOTEsIDI1MiwgMTc0LCAyNDgsIAorICAgIDYxLCAxNzcsIDIsIDU5LCAyMzUsIDIxNiwgMjIzLCA1MSwgMjE5LCA0OCwgMjI0LCAyMDIsIDIxOCwgNjQsIDIxOCwgMjMsIAorICAgIDIyNCwgMjAyLCAyMTksIDQ3LCA2NywgMjUyLCAxNDIsIDIsIDIwMywgOTEsIDExLCAyMjIsIDIyOSwgMjQ3LCAyNTUsIDE5OSwgCisgICAgMjQ3LCAxNjksIDExLCAyNDQsIDE3NiwgMjQ3LCAyNTUsIDkyLCAyMzIsIDE0NywgMjU0LCAxMTksIDkyLCAyMzIsIDE0NywgCisgICAgMjI2LCAxNTksIDcxLCAyNDcsIDI1MCwgMiwgMjUwLCAxNzQsIDI0NywgMTIxLCAyMiwgMiwgMjQ3LCAxMjEsIDI0NSwgMTcxLCAKKyAgICA2NCwgMjI2LCAxNzEsIDIxNCwgMTUyLCAyMzIsIDEwOSwgNDQsIDI0OSwgMTYyLCAyLCAyNDcsIDEyMSwgMjE0LCAxNjAsIAorICAgIDQzLCAyNDksIDE2MiwgMiwgMjQ3LCAxMjEsIDQzLCAyMjYsIDEyOSwgMjM1LCA2NywgNDQsIDIyNiwgMTI5LCAyMzUsIDY3LCAKKyAgICAyNDMsIDIzMCwgMjI2LCAxMjksIDIzNSwgNjcsIDIzMywgODYsIDEyMCwgMjE3LCA4OCwgMjMzLCA4NiwgMTI0LCAyMTcsIAorICAgIDg4LCA0MywgMjIsIDQ0LCA1MiwgMjE1LCA5MywgNDMsIDIyLCA0NCwgMjE3LCA4OCwgNDMsIDIzMCwgODgsIDE5OSwgNDQsIAorICAgIDIxNywgODgsIDE5OSwgNDMsIDIxNywgODgsIDEyMCwgMjE3LCA4OSwgMiwgMjUwLCAzNywgNDgsIDIzMiwgMTA2LCAyNDcsIAorICAgIDE3NCwgMjUxLCA3OSwgMjAzLCAyMjIsIDEzNCwgNzEsIDI0OSwgMjA2LCAyNDcsIDI0OSwgNzEsIDI0OSwgMjA2LCAyNDcsIAorICAgIDI1MCwgMiwgMTQwLCAyMTYsIDExNSwgNzEsIDI0OSwgMjA2LCAyNDcsIDI1MCwgMiwgOTcsIDIxNiwgMTE1LCA3MSwgNDIsIAorICAgIDIsIDE0MCwgMjE2LCAxMTUsIDcxLCA0MiwgMiwgOTcsIDIxNiwgMTE1LCAxMSwgNDMsIDcxLCA0MiwgMTI3LCAxMSwgNDQsIAorICAgIDcxLCA0MiwgMTI3LCAxMSwgNDMsIDI1NCwgMTExLCAxMjcsIDExLCA0NCwgMjU0LCAxMTEsIDEyNywgMTEsIDQzLCA1MiwgCisgICAgMjU0LCAxMTEsIDEyNywgMTEsIDQ0LCA1MiwgMjU0LCAxMTEsIDEyNywgMTEsIDQzLCA3MSwgMjE2LCA3LCAyMjAsIDU0LCAKKyAgICAxMjcsIDExLCA0NCwgNzEsIDIxNiwgNywgMjIwLCA1NCwgMTI3LCAxMSwgNDMsIDI0NCwgNjQsIDIyNiwgNCwgMTEsIDQ0LCAKKyAgICAyNDQsIDY0LCAyMjYsIDQsIDIxNCwgMTUzLCAyMjQsIDI1LCA3NCwgMjQ2LCAxMDUsIDIyNCwgMjUsIDc0LCAyNTQsIDg5LCAKKyAgICAyNDMsIDk5LCAyNTAsIDM3LCA3NCwgMjUwLCAzLCAyNDMsIDk5LCAyNTAsIDM3LCA3NCwgNDQsIDgwLCAyLCAzNywgMjI1LCAKKyAgICAyMywgMTk5LCAxNDAsIDc0LCAxOTksIDk3LCA3NCwgMTk5LCA0MywgNDQsIDc0LCAxOTksIDE0MCwgNTIsIDc0LCAxOTksIAorICAgIDk3LCA1MiwgNzQsIDE5OSwgNDMsIDQ0LCA1MiwgNzQsIDE5OSwgMTQwLCA4MCwgMjQzLCAyNDQsIDEzMCwgMTk5LCA5NywgCisgICAgODAsIDI0MywgMjQ0LCAxMzAsIDE5OSwgMTQwLCA1MiwgODAsIDI0MywgMjQ0LCAxMzAsIDE5OSwgOTcsIDUyLCA4MCwgMjQzLCAKKyAgICAyNDQsIDEzMCwgMTk5LCA5NywgMjE4LCAyMzEsIDc0LCA0NiwgNDcsIDI1MSwgMjE2LCA0NiwgNDcsIDI0NywgMTE4LCA0NiwgCisgICAgNDcsIDI0NiwgMjQ2LCA0NiwgNDcsIDI0NywgMTE3LCA0NiwgNDcsIDI0NiwgMTgyLCA0NiwgNDcsIDI0NywgNTMsIDQ2LCAKKyAgICA0NywgMjQ2LCAyNDUsIDQ2LCA0NywgMjQ3LCAxMTYsIDQ2LCA0NywgMjQ2LCAxNTAsIDQ2LCA0NywgMjQ3LCAyMSwgNDYsIAorICAgIDQ3LCAyNDYsIDIxMywgNDYsIDQ3LCAyNDcsIDg0LCA0NiwgNDcsIDI0NiwgMTgxLCA0NiwgNDcsIDI0NywgNTIsIDQ2LCA0NywgCisgICAgMjQ2LCAyNDQsIDQ2LCA0NywgMjQ3LCAxMTUsIDQ2LCA0NywgMjQ2LCAxMzQsIDQ2LCA0NywgMjQ3LCA1LCA0NiwgNDcsIAorICAgIDI0NiwgMTk3LCA0NiwgNDcsIDI0NywgNjgsIDQ2LCA0NywgMjQ2LCAxNjUsIDQ2LCA0NywgMjQ3LCAzNiwgNDYsIDQ3LCAKKyAgICAyNDYsIDIyOCwgNDYsIDQ3LCAyNDcsIDk5LCA0NiwgNDcsIDI0NiwgMTQ5LCA0NiwgNDcsIDI0NywgMjAsIDQ2LCA0NywgCisgICAgMjQ2LCAyMTIsIDQ2LCA0NywgMjQ3LCA4MywgNDYsIDQ3LCAyNDYsIDE4MCwgNDYsIDQ3LCAyNDcsIDUxLCA0NiwgNDcsIAorICAgIDI0NiwgMjQzLCA0NiwgNDcsIDI0NywgMTE0LCA0NiwgNDcsIDI0NiwgMTI2LCA0NiwgNDcsIDI0NiwgMjUzLCA0NiwgNDcsIAorICAgIDI0NiwgMTg5LCA0NiwgNDcsIDI0NywgNjAsIDQ2LCA0NywgMjQ2LCAxNTcsIDQ2LCA0NywgMjQ3LCAyOCwgNDYsIDQ3LCAKKyAgICAyNDYsIDIyMCwgNDYsIDQ3LCAyNDcsIDkxLCA0NiwgNDcsIDI0NiwgMTQxLCA0NiwgNDcsIDI0NywgMTIsIDQ2LCA0NywgCisgICAgMjQ2LCAyMDQsIDQ2LCA0NywgMjQ3LCA3NSwgNDYsIDQ3LCAyNDYsIDE3MiwgNDYsIDQ3LCAyNDcsIDQzLCA0NiwgNDcsIAorICAgIDI0NiwgMjM1LCA0NiwgNDcsIDI0NywgMTA2LCA0NiwgNDcsIDI0NiwgMTMzLCA0NiwgNDcsIDI0NywgNCwgNDYsIDQ3LCAKKyAgICAyNDYsIDE5NiwgNDYsIDQ3LCAyNDcsIDY3LCA0NiwgNDcsIDI0NiwgMTY0LCA0NiwgNDcsIDI0NywgMzUsIDQ2LCA0NywgCisgICAgMjQ2LCAyMjcsIDQ2LCA0NywgMjQ3LCA5OCwgNDYsIDQ3LCAyNDYsIDE0OCwgNDYsIDQ3LCAyNDcsIDE5LCA0NiwgNDcsIAorICAgIDI0NiwgMjExLCA0NiwgNDcsIDI0NywgODIsIDQ2LCA0NywgMjQ2LCAxNzksIDQ2LCA0NywgMjQ3LCA1MCwgNDYsIDQ3LCAKKyAgICAyNDYsIDI0MiwgNDYsIDQ3LCAyNDcsIDExMywgNDYsIDQ3LCAyNDYsIDEyMiwgNDYsIDQ3LCAyNDYsIDI0OSwgNDYsIDQ3LCAKKyAgICAyNDYsIDE4NSwgNDYsIDQ3LCAyNDcsIDU2LCA0NiwgNDcsIDI0NiwgMTUzLCA0NiwgNDcsIDI0NywgMjQsIDQ2LCA0NywgCisgICAgMjQ2LCAyMTYsIDQ2LCA0NywgMjQ3LCA4NywgNDYsIDQ3LCAyNDYsIDEzNywgNDYsIDQ3LCAyNDcsIDgsIDQ2LCA0NywgMjQ2LCAKKyAgICAyMDAsIDQ2LCA0NywgMjQ3LCA3MSwgNDYsIDQ3LCAyNDYsIDE2OCwgNDYsIDQ3LCAyNDcsIDM5LCA0NiwgNDcsIDI0NiwgCisgICAgMjMxLCA0NiwgNDcsIDI0NywgMTAyLCA0NiwgNDcsIDI0NiwgMTI5LCA0NiwgNDcsIDI0NywgMCwgNDYsIDQ3LCAyNDYsIAorICAgIDE5MiwgNDYsIDQ3LCAyNDcsIDYzLCA0NiwgNDcsIDI0NiwgMTYwLCA0NiwgNDcsIDI0NywgMzEsIDQ2LCA0NywgMjQ2LCAKKyAgICAyMjMsIDQ2LCA0NywgMjQ3LCA5NCwgNDYsIDQ3LCAyNDYsIDE0NCwgNDYsIDQ3LCAyNDcsIDE1LCA0NiwgNDcsIDI0NiwgCisgICAgMjA3LCA0NiwgNDcsIDI0NywgNzgsIDQ2LCA0NywgMjQ2LCAxNzUsIDQ2LCA0NywgMjQ3LCA0NiwgNDYsIDQ3LCAyNDYsIAorICAgIDIzOCwgNDYsIDQ3LCAyNDcsIDEwOSwgNDYsIDQ3LCAyNDYsIDEyNSwgNDYsIDQ3LCAyNDYsIDI1MiwgNDYsIDQ3LCAyNDYsIAorICAgIDE4OCwgNDYsIDQ3LCAyNDcsIDU5LCA0NiwgNDcsIDI0NiwgMTU2LCA0NiwgNDcsIDI0NywgMjcsIDQ2LCA0NywgMjQ2LCAKKyAgICAyMTksIDQ2LCA0NywgMjQ3LCA5MCwgNDYsIDQ3LCAyNDYsIDE0MCwgNDYsIDQ3LCAyNDcsIDExLCA0NiwgNDcsIDI0NiwgCisgICAgMjAzLCA0NiwgNDcsIDI0NywgNzQsIDQ2LCA0NywgMjQ2LCAxNzEsIDQ2LCA0NywgMjQ3LCA0MiwgNDYsIDQ3LCAyNDYsIAorICAgIDIzNCwgNDYsIDQ3LCAyNDcsIDEwNSwgNDYsIDQ3LCAyNDYsIDEzMiwgNDYsIDQ3LCAyNDcsIDMsIDQ2LCA0NywgMjQ2LCAKKyAgICAxOTUsIDQ2LCA0NywgMjQ3LCA2NiwgNDYsIDQ3LCAyNDYsIDE2MywgNDYsIDQ3LCAyNDcsIDM0LCA0NiwgNDcsIDI0NiwgCisgICAgMjI2LCA0NiwgNDcsIDI0NywgOTcsIDQ2LCA0NywgMjQ2LCAxNDcsIDQ2LCA0NywgMjQ3LCAxOCwgNDYsIDQ3LCAyNDYsIAorICAgIDIxMCwgNDYsIDQ3LCAyNDcsIDgxLCA0NiwgNDcsIDI0NiwgMTc4LCA0NiwgNDcsIDI0NywgNDksIDQ2LCA0NywgMjQ2LCAKKyAgICAyNDEsIDQ2LCA0NywgMjQ3LCAxMTIsIDQ2LCA0NywgMjQ2LCAxMjAsIDQ2LCA0NywgMjQ2LCAyNDcsIDQ2LCA0NywgMjQ2LCAKKyAgICAxODMsIDQ2LCA0NywgMjQ3LCA1NCwgNDYsIDQ3LCAyNDYsIDE1MSwgNDYsIDQ3LCAyNDcsIDIyLCA0NiwgNDcsIDI0NiwgCisgICAgMjE0LCA0NiwgNDcsIDI0NywgODUsIDQ2LCA0NywgMjQ2LCAxMzUsIDQ2LCA0NywgMjQ3LCA2LCA0NiwgNDcsIDI0NiwgMTk4LCAKKyAgICA0NiwgNDcsIDI0NywgNjksIDQ2LCA0NywgMjQ2LCAxNjYsIDQ2LCA0NywgMjQ3LCAzNywgNDYsIDQ3LCAyNDYsIDIyOSwgNDYsIAorICAgIDQ3LCAyNDcsIDEwMCwgNDYsIDQ3LCAyNDYsIDEyNywgNDYsIDQ3LCAyNDYsIDI1NCwgNDYsIDQ3LCAyNDYsIDE5MCwgNDYsIAorICAgIDQ3LCAyNDcsIDYxLCA0NiwgNDcsIDI0NiwgMTU4LCA0NiwgNDcsIDI0NywgMjksIDQ2LCA0NywgMjQ2LCAyMjEsIDQ2LCA0NywgCisgICAgMjQ3LCA5MiwgNDYsIDQ3LCAyNDYsIDE0MiwgNDYsIDQ3LCAyNDcsIDEzLCA0NiwgNDcsIDI0NiwgMjA1LCA0NiwgNDcsIAorICAgIDI0NywgNzYsIDQ2LCA0NywgMjQ2LCAxNzMsIDQ2LCA0NywgMjQ3LCA0NCwgNDYsIDQ3LCAyNDYsIDIzNiwgNDYsIDQ3LCAKKyAgICAyNDcsIDEwNywgNDYsIDQ3LCAyNDYsIDEyMywgNDYsIDQ3LCAyNDYsIDI1MCwgNDYsIDQ3LCAyNDYsIDE4NiwgNDYsIDQ3LCAKKyAgICAyNDcsIDU3LCA0NiwgNDcsIDI0NiwgMTU0LCA0NiwgNDcsIDI0NywgMjUsIDQ2LCA0NywgMjQ2LCAyMTcsIDQ2LCA0NywgCisgICAgMjQ3LCA4OCwgNDYsIDQ3LCAyNDYsIDEzOCwgNDYsIDQ3LCAyNDcsIDksIDQ2LCA0NywgMjQ2LCAyMDEsIDQ2LCA0NywgMjQ3LCAKKyAgICA3MiwgNDYsIDQ3LCAyNDYsIDE2OSwgNDYsIDQ3LCAyNDcsIDQwLCA0NiwgNDcsIDI0NiwgMjMyLCA0NiwgNDcsIDI0NywgCisgICAgMTAzLCA0NiwgNDcsIDI0NiwgMTMwLCA0NiwgNDcsIDI0NywgMSwgNDYsIDQ3LCAyNDYsIDE5MywgNDYsIDQ3LCAyNDcsIDY0LCAKKyAgICA0NiwgNDcsIDI0NiwgMTYxLCA0NiwgNDcsIDI0NywgMzIsIDQ2LCA0NywgMjQ2LCAyMjQsIDQ2LCA0NywgMjQ3LCA5NSwgNDYsIAorICAgIDQ3LCAyNDYsIDE0NSwgNDYsIDQ3LCAyNDcsIDE2LCA0NiwgNDcsIDI0NiwgMjA4LCA0NiwgNDcsIDI0NywgNzksIDQ2LCA0NywgCisgICAgMjQ2LCAxNzYsIDQ2LCA0NywgMjQ3LCA0NywgNDYsIDQ3LCAyNDYsIDIzOSwgNDYsIDQ3LCAyNDcsIDExMCwgNDYsIDQ3LCAKKyAgICAyNDYsIDEyMSwgNDYsIDQ3LCAyNDYsIDI0OCwgNDYsIDQ3LCAyNDYsIDE4NCwgNDYsIDQ3LCAyNDcsIDU1LCA0NiwgNDcsIAorICAgIDI0NiwgMTUyLCA0NiwgNDcsIDI0NywgMjMsIDQ2LCA0NywgMjQ2LCAyMTUsIDQ2LCA0NywgMjQ3LCA4NiwgNDYsIDQ3LCAKKyAgICAyNDYsIDEzNiwgNDYsIDQ3LCAyNDcsIDcsIDQ2LCA0NywgMjQ2LCAxOTksIDQ2LCA0NywgMjQ3LCA3MCwgNDYsIDQ3LCAyNDYsIAorICAgIDE2NywgNDYsIDQ3LCAyNDcsIDM4LCA0NiwgNDcsIDI0NiwgMjMwLCA0NiwgNDcsIDI0NywgMTAxLCA0NiwgNDcsIDI0NiwgCisgICAgMTI4LCA0NiwgNDcsIDI0NiwgMjU1LCA0NiwgNDcsIDI0NiwgMTkxLCA0NiwgNDcsIDI0NywgNjIsIDQ2LCA0NywgMjQ2LCAKKyAgICAxNTksIDQ2LCA0NywgMjQ3LCAzMCwgNDYsIDQ3LCAyNDYsIDIyMiwgNDYsIDQ3LCAyNDcsIDkzLCA0NiwgNDcsIDI0NiwgCisgICAgMTQzLCA0NiwgNDcsIDI0NywgMTQsIDQ2LCA0NywgMjQ2LCAyMDYsIDQ2LCA0NywgMjQ3LCA3NywgNDYsIDQ3LCAyNDYsIAorICAgIDE3NCwgNDYsIDQ3LCAyNDcsIDQ1LCA0NiwgNDcsIDI0NiwgMjM3LCA0NiwgNDcsIDI0NywgMTA4LCA0NiwgNDcsIDI0NiwgCisgICAgMTI0LCA0NiwgNDcsIDI0NiwgMjUxLCA0NiwgNDcsIDI0NiwgMTg3LCA0NiwgNDcsIDI0NywgNTgsIDQ2LCA0NywgMjQ2LCAKKyAgICAxNTUsIDQ2LCA0NywgMjQ3LCAyNiwgNDYsIDQ3LCAyNDYsIDIxOCwgNDYsIDQ3LCAyNDcsIDg5LCA0NiwgNDcsIDI0NiwgCisgICAgMTM5LCA0NiwgNDcsIDI0NywgMTAsIDQ2LCA0NywgMjQ2LCAyMDIsIDQ2LCA0NywgMjQ3LCA3MywgNDYsIDQ3LCAyNDYsIAorICAgIDE3MCwgNDYsIDQ3LCAyNDcsIDQxLCA0NiwgNDcsIDI0NiwgMjMzLCA0NiwgNDcsIDI0NywgMTA0LCA0NiwgNDcsIDI0NiwgCisgICAgMTMxLCA0NiwgNDcsIDI0NywgMiwgNDYsIDQ3LCAyNDYsIDE5NCwgNDYsIDQ3LCAyNDcsIDY1LCA0NiwgNDcsIDI0NiwgMTYyLCAKKyAgICA0NiwgNDcsIDI0NywgMzMsIDQ2LCA0NywgMjQ2LCAyMjUsIDQ2LCA0NywgMjQ3LCA5NiwgNDYsIDQ3LCAyNDYsIDE0NiwgNDYsIAorICAgIDQ3LCAyNDcsIDE3LCA0NiwgNDcsIDI0NiwgMjA5LCA0NiwgNDcsIDI0NywgODAsIDQ2LCA0NywgMjQ2LCAxNzcsIDQ2LCA0NywgCisgICAgMjQ3LCA0OCwgNDYsIDQ3LCAyNDYsIDI0MCwgNDYsIDQ3LCAyNDcsIDExMSwgOTcsIDIxNSwgNTgsIDgwLCAyLCA2NywgOTEsIAogICAgIDk3LCAyMTUsIDU4LCA4MCwgMiwgNTIsIDY3LCA5MSwgMTQwLCA1MiwgODAsIDIsIDY3LCA5MSwgOTcsIDUyLCA4MCwgMiwgCi0gICAgNjcsIDkxLCA0MywgNDQsIDUyLCA4MCwgMiwgNjcsIDkxLCA5NywgMjE1LCA1OCwgODAsIDI0MywgMjQzLCAxMzAsIDE0MCwgCi0gICAgNTIsIDgwLCAyNDMsIDI0MywgMTMwLCA5NywgNTIsIDgwLCAyNDMsIDI0MywgMTMwLCAyNDYsIDEwNCwgODAsIDIsIDIwMywgCi0gICAgOTEsIDIxNCwgMTUzLCA4MCwgMiwgMjAzLCA5MSwgMjE0LCAxNTMsIDIxNSwgMjExLCA3NCwgMjQ2LCAxMDQsIDIxNSwgMjExLCAKLSAgICA3NCwgMTQwLCA1MiwgMjQ4LCAxNTcsIDc0LCA5NywgNTIsIDI0OCwgMTU3LCA3NCwgMTQwLCAyMTUsIDIxMSwgMjQ4LCAxNTcsIAotICAgIDc0LCA5NywgMjE1LCAyMTEsIDI0OCwgMTU3LCA3NCwgOTcsIDIxNSwgNTgsIDIxNSwgMjExLCAyNDgsIDE1NywgNzQsIDk3LCAKLSAgICA4MCwgMiwgMjQ2LCAxMTgsIDIxOCwgMTM5LCAyMTQsIDE1MywgODAsIDIxNiwgNDIsIDEzMCwgMjQ2LCAxMDQsIDgwLCAyMTYsIAotICAgIDQyLCAxMzAsIDk3LCA4MCwgMiwgMjE3LCA3OCwgMiwgNjcsIDkxLCA5NywgODAsIDIsIDIxNywgNzgsIDIsIDUyLCA2NywgCi0gICAgOTEsIDk3LCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3NywgOTcsIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc4LCAyLCA2NywgOTEsIAotICAgIDk3LCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OCwgMiwgNTIsIDY3LCA5MSwgMTQwLCAyNTMsIDI1MSwgOTcsIDI1MywgMjUxLCAKLSAgICAxNDAsIDUyLCAyNTMsIDI1MSwgOTcsIDUyLCAyNTMsIDI1MSwgMTQwLCA4MCwgMjE2LCA0MiwgODUsIDI0NywgMjQ4LCA5NywgCi0gICAgODAsIDIxNiwgNDIsIDg1LCAyNDcsIDI0OCwgMTQwLCA4MCwgMjQzLCAyNDMsIDI1MiwgMTQxLCAyMTYsIDQyLCA4NSwgMjQ3LCAKLSAgICAyNDgsIDk3LCA4MCwgMjQzLCAyNDMsIDI1MiwgMTQxLCAyMTYsIDQyLCA4NSwgMjQ3LCAyNDgsIDIyOCwgNTYsIDIxMiwgOSwgCi0gICAgMjIsIDIxOSwgMjgsIDI0NSwgMjIwLCA3NCwgMjI4LCA1NiwgMjQ1LCAyMjAsIDIyLCAyMTksIDI4LCAyMTIsIDksIDc0LCAKLSAgICAyMjgsIDU2LCAyMTIsIDksIDgwLCAyLCAxMDMsIDIyOCwgNTYsIDI0NSwgMjIwLCA4MCwgMiwgMTAzLCAyMTksIDI4LCAyNDUsIAotICAgIDIyMCwgODAsIDIsIDEwMywgMjE5LCAyOCwgMjEyLCA5LCA4MCwgMiwgMTAzLCAyMjgsIDU2LCAyMTIsIDksIDgwLCAyMiwgCi0gICAgMjI4LCA1NiwgMjQ1LCAyMjAsIDc0LCAyMjgsIDU2LCAyNDUsIDIyMCwgODAsIDIyLCAyMTksIDI4LCAyNDUsIDIyMCwgNzQsIAotICAgIDIxOSwgMjgsIDI0NSwgMjIwLCA4MCwgMjIsIDIxOSwgMjgsIDIxMiwgOSwgNzQsIDIxOSwgMjgsIDIxMiwgOSwgODAsIDIyLCAKLSAgICAyMjgsIDU2LCAyMTIsIDksIDc0LCAyMjIsIDIyOCwgMjQ3LCAyNTUsIDI0OSwgMTI1LCAyNDQsIDE3NSwgMjQ3LCAyNTQsIAotICAgIDI0NCwgMTc1LCAyNDcsIDI1NSwgMjQ5LCAxMjUsIDIyMiwgMjI4LCAyNDcsIDI1NCwgMjE5LCAyOCwgMjQ1LCAyMjAsIDgwLCAKLSAgICAyNDksIDEyNSwgMjI4LCA1NiwgMjQ1LCAyMjAsIDc0LCAyMjgsIDU2LCAyNDUsIDIyMCwgODAsIDI0OSwgMTI1LCAyMTksIAotICAgIDI4LCAyNDUsIDIyMCwgNzQsIDI0NCwgMTc1LCAyNDcsIDI1NSwgMjQ5LCAxMjUsIDIyOCwgNTYsIDI0NSwgMjIwLCA3NCwgCi0gICAgMjIyLCAyMjgsIDI0NywgMjU1LCAyNDksIDEyNSwgMjE5LCAyOCwgMjQ1LCAyMjAsIDc0LCAyMjgsIDU2LCAyNDUsIDIyMCwgCi0gICAgODAsIDI0OSwgMTI1LCAyMjgsIDU2LCAyMTIsIDksIDc0LCAyMjgsIDU2LCAyMTIsIDksIDgwLCAyNDksIDEyNSwgMjI4LCAKLSAgICA1NiwgMjQ1LCAyMjAsIDc0LCAyMTIsIDM2LCA4MCwgMjI1LCA3LCAyNDcsIDE5NSwgMjIyLCAyNTEsIDgwLCAyMjUsIDcsIAotICAgIDk3LCAyMTYsIDE4OCwgMjQ5LCA5MCwgMjE0LCAxNTIsIDgwLCAyMjUsIDcsIDk3LCAyMTYsIDE4OCwgMjQ5LCA5MCwgMjQ2LCAKLSAgICAxMDMsIDgwLCAyMjUsIDcsIDI0NiwgMTA0LCAyMTYsIDE4OCwgMjQ5LCA5MCwgMjMzLCAzNywgODAsIDIyNSwgNywgMjQ2LCAKLSAgICAxMDQsIDIxNiwgMTg4LCAyNDksIDkwLCAyMjIsIDI0MSwgMjIyLCAyNDQsIDI1NCwgMjYsIDI1MCwgMiwgNzQsIDIzMywgNDAsIAotICAgIDI1NCwgMjYsIDI1NCwgODgsIDc0LCAyMTYsIDE0LCAyNTQsIDI2LCAyNTQsIDg4LCA3NCwgMjUxLCAxNzUsIDI1NCwgMjYsIAotICAgIDI1NCwgODgsIDc0LCAyMTYsIDE0LCAyNTQsIDI2LCAyNTAsIDIsIDgwLCAyLCAyMzAsIDE4MSwgMjE2LCAxNCwgMjU0LCAyNiwgCi0gICAgMjU0LCA4OCwgODAsIDIsIDIyNSwgMjIsIDIzMiwgMTA4LCA0NCwgMjIwLCAxNTIsIDI1MCwgMiwgNzQsIDIzMiwgMTA4LCAKLSAgICA0MywgMjIwLCAxNTIsIDI1NCwgODgsIDc0LCAyNTQsIDg4LCAyNTAsIDAsIDI1MCwgMzYsIDc0LCAyNTAsIDIsIDI1MCwgMCwgCi0gICAgMjUwLCAzNiwgNzQsIDk3LCA4MCwgNzcsIDIxOSwgMjUxLCAxNDAsIDc0LCAxNDAsIDgwLCA3NywgMjE5LCAyNTEsIDk3LCAKLSAgICA3NCwgMjE5LCAyNTEsIDk3LCA4MCwgNzcsIDE0MCwgNzQsIDk3LCA4MCwgMiwgOTYsIDUxLCAxNDAsIDgwLCAyLCA5NiwgNTEsIAotICAgIDk3LCA4MCwgMjE2LCAxMzksIDIxMSwgMTc4LCA0MywgNDQsIDgwLCAyMTYsIDEzOSwgNCwgMjUwLCAzNSwgMjE0LCAxNTMsIAotICAgIDIxNSwgNTgsIDgwLCAyNDMsIDI0MywgNCwgMjUwLCAzNSwgNDMsIDI1MiwgMTM5LCAxMjAsIDQ0LCAyNTIsIDEzOSwgMTI0LCAKLSAgICAyNDEsIDI1NCwgNDMsIDI1MiwgMTM5LCAxMjQsIDQ0LCAyNTIsIDEzOSwgMTIwLCAyNDEsIDI1NCwgMTIwLCAyNTIsIDEzOSwgCi0gICAgNDQsIDEyNCwgMjUyLCAxMzksIDQzLCAyNDEsIDI1NCwgMTIwLCAyNTIsIDEzOSwgNDMsIDEyNCwgMjUyLCAxMzksIDQ0LCAKLSAgICAyNDEsIDI1NCwgNDMsIDI1MiwgMTM5LCAxMjAsIDQ0LCAyNTIsIDEzOSwgMTIwLCAyNDEsIDI1NCwgMTIwLCAyNTIsIDEzOSwgCi0gICAgNDQsIDEyNCwgMjUyLCAxMzksIDQ0LCAyNDEsIDI1NCwgNDMsIDI1MiwgMTM5LCAxMjQsIDQ0LCAyNTIsIDEzOSwgMTI0LCAKLSAgICAyNDEsIDI1NCwgMTIwLCAyNTIsIDEzOSwgNDMsIDEyNCwgMjUyLCAxMzksIDQzLCAyNDEsIDI1NCwgMTQwLCAyNDEsIDI1NSwgCi0gICAgMiwgMjUyLCAxMzksIDEyMCwgMjE2LCA0MiwgMTMwLCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjAsIDIxNiwgNDIsIAotICAgIDEzMCwgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDQsIDIxNiwgNDIsIDEzMCwgMjQ2LCAxMDQsIDI0MSwgCi0gICAgMjU1LCAyLCAyNTIsIDEzOSwgNDQsIDIxNiwgNDIsIDEzMCwgMTQwLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyNCwgMjE2LCAKLSAgICA0MiwgMTMwLCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDIxNiwgNDIsIDEzMCwgMjE0LCAxNTMsIDI0MSwgCi0gICAgMjU1LCAyLCAyNTIsIDEzOSwgNDMsIDIxNiwgNDIsIDEzMCwgMjQ2LCAxMDQsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDMsIAotICAgIDIxNiwgNDIsIDEzMCwgMTQwLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyMCwgMjQzLCAyNDMsIDEzMCwgOTcsIDI0MSwgCi0gICAgMjU1LCAyLCAyNTIsIDEzOSwgMTIwLCAyNDMsIDI0MywgMTMwLCAyMTQsIDE1MywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAKLSAgICA0NCwgMjQzLCAyNDMsIDEzMCwgMjQ2LCAxMDQsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDQsIDI0MywgMjQzLCAxMzAsIAotICAgIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDI0MywgMjQzLCAxMzAsIDk3LCAyNDEsIDI1NSwgMiwgMjUyLCAKLSAgICAxMzksIDEyNCwgMjQzLCAyNDMsIDEzMCwgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDMsIDI0MywgMjQzLCAKLSAgICAxMzAsIDI0NiwgMTA0LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDQzLCAyNDMsIDI0MywgMTMwLCAxNDAsIDI0MSwgMjU1LCAKLSAgICAyLCAyNTIsIDEzOSwgMTIwLCA3NywgMTQwLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDI0NiwgMTA2LCAyMTQsIDE1MywgCi0gICAgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCA0MywgMjUyLCAzMCwgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjIyLCAKLSAgICAyNTEsIDk3LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyMCwgNzcsIDk3LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDI0NiwgCi0gICAgMTA2LCAyNDYsIDEwNCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCA0MywgMjUyLCAzMCwgMjQ2LCAxMDQsIDI0MSwgMjU1LCAyLCAKLSAgICAyNTIsIDEzOSwgMjIyLCAyNTEsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjAsIDc3LCA5NywgMjQxLCAyNTUsIDIsIAotICAgIDI1MiwgMTM5LCAyMTQsIDE2MywgMTQwLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyNCwgNzcsIDk3LCAyNDEsIDI1NSwgMiwgCi0gICAgMjUyLCAxMzksIDI0NiwgMTA2LCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjAsIDc3LCAxNDAsIDI0MSwgMjU1LCAyLCAKLSAgICAyNTIsIDEzOSwgMjE0LCAxNjMsIDk3LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyNCwgNzcsIDE0MCwgMjQxLCAyNTUsIDIsIAotICAgIDI1MiwgMTM5LCAyNDYsIDEwNiwgMTQwLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyMCwgNzcsIDE5OSwgMjQ4LCAxNTYsIAotICAgIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDI1MiwgNDMsIDE5OSwgMjQ4LCAxNTYsIDk3LCAyNDEsIDI1NSwgMiwgCi0gICAgMjUyLCAxMzksIDEyMCwgNzcsIDE5OSwgMjQ4LCAxNTYsIDk3LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDEyNCwgMjUyLCAKLSAgICA0MywgMTk5LCAyNDgsIDE1NiwgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDMsIDI1MiwgMzAsIDI0NiwgCi0gICAgMTA0LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIyMiwgMjUxLCAyNDYsIDEwNCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAKLSAgICA0MywgMjUyLCAzMCwgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjIyLCAyNTEsIDQ0LCA1MiwgODAsIDIsIAotICAgIDIyMiwgMTgzLCAyNDEsIDIzNSwgMjQ1LCA5OCwgNSwgNzcsIDk3LCA3NCwgMjE2LCA4OSwgMjI2LCAxNjgsIDc3LCA5NywgCi0gICAgNzQsIDE0MCwgODAsIDc3LCAyMTYsIDg5LCAyMjYsIDE2NywgOTcsIDgwLCA3NywgMjE2LCA4OSwgMjI2LCAxNjcsIDk3LCAKLSAgICA4MCwgNzcsIDI1NCwgMTQ4LCAxMjgsIDExMSwgMjMzLCAxNSwgNzcsIDE0MCwgNzQsIDE0MCwgODAsIDIxNiwgMTM5LCAyMzMsIAotICAgIDE0LCAyNDIsIDEzMCwgNzcsIDk3LCA3NCwgMjE4LCA2NCwgNzcsIDk3LCA3NCwgMTQwLCA4MCwgMjE2LCAxMzksIDIxOCwgCi0gICAgNjMsIDIxOCwgMjIsIDc3LCAxNDAsIDc0LCA0MywgMjQ0LCA5MSwgMjE3LCA3NywgNDQsIDI0NCwgOTEsIDIxNywgNzcsIAotICAgIDEyMCwgMjQ0LCA5MSwgMjE3LCA3NywgMTI0LCAyNDQsIDkxLCAyMTcsIDc3LCAyMTUsIDIxMSwgNjcsIDI1MiwgMTQxLCAKLSAgICAyNDgsIDYwLCAyMTAsIDE2MCwgMTg3LCAyMTgsIDI0MiwgMjEwLCAxNjAsIDE4NywgMjE1LCA0OSwgMjQ5LCAyMjYsIDQzLCAKLSAgICA3MSwgMjQ5LCA5OSwgMTI3LCA0NCwgNzEsIDI0OSwgOTksIDEyNywgNDMsIDcxLCAyMjYsIDMsIDQ0LCA3MSwgMjI2LCAzLCAKLSAgICAyMTAsIDE2MCwgMTg3LCA0MywgMjM2LCAxNSwgMTI3LCAyMTAsIDE2MCwgMTg3LCA0NCwgMjM2LCAxNSwgMTI3LCAyMTAsIAotICAgIDE2MCwgMTg3LCA0MywgMjUxLCAyNDIsIDEyNywgMjEwLCAxNjAsIDE4NywgNDQsIDI1MSwgMjQyLCAxMjcsIDQzLCA0MiwgCi0gICAgMjUxLCAxNTgsIDIsIDIxNCwgMTgzLCA0NCwgNDIsIDI1MSwgMTU4LCAyLCAyMTQsIDE4MywgNDMsIDQyLCAyNTEsIDE1OCwgCi0gICAgMiwgMjE2LCAxMTUsIDIzNiwgMCwgMjE2LCAxNCwgMjQ5LCAxNjAsIDQ0LCA0MiwgMjUxLCAxNTgsIDIsIDIxNiwgMTE1LCAKLSAgICAyMzYsIDAsIDI1MSwgMTc1LCAyNDksIDE2MCwgNDMsIDQyLCAyNTEsIDE1OCwgMiwgMjE2LCAxMTUsIDIzNiwgMCwgMjUxLCAKLSAgICAxNzUsIDI0OSwgMTYwLCA0NCwgNDIsIDI1MSwgMTU4LCAyLCAyMTYsIDExNSwgMjM2LCAwLCAyMTYsIDE0LCAyNDksIDE2MCwgCi0gICAgNDMsIDI1NCwgMTEwLCAyNTEsIDE1OCwgMiwgMjQ3LCAxMjAsIDQ0LCAyNTQsIDExMCwgMjUxLCAxNTgsIDIsIDI0NywgMTIwLCAKLSAgICA0MywgMjU0LCAyNiwgMjMzLCAxNSwgMTI3LCA0NCwgMjU0LCAyNiwgMjQyLCAxMzAsIDEyNywgNTIsIDQzLCAyNTQsIDI2LCAKLSAgICAyNDIsIDEzMCwgMTI3LCA1MiwgNDQsIDI1NCwgMjYsIDIzMywgMTUsIDEyNywgNDMsIDg1LCAyMTYsIDYsIDIyMCwgNTMsIAotICAgIDEyNywgNDQsIDg1LCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgMjQ2LCAxMTgsIDI0NCwgMTM1LCA2NywgMjEwLCAzNSwgMjMyLCAKLSAgICAyMTMsIDIzMSwgODgsIDI1NCwgMTEwLCAyMjYsIDE3MCwgMjMzLCA0NiwgNDQsIDI1NCwgMTEwLCAyMTQsIDEyLCAyLCAyMTgsIAotICAgIDIzNCwgMjMxLCA4OCwgNDQsIDI1NCwgMTEwLCAyLCAyNDcsIDEyMCwgMjU0LCAxMTAsIDIsIDIyMiwgOTIsIDIzNSwgMjE1LCAKLSAgICAyNTUsIDMsIDI1NCwgMTA5LCAyMTgsIDI1NSwgMjU0LCAxMTAsIDIyNiwgMTcwLCAyMzMsIDQ2LCAyMTgsIDI1NSwgMjU0LCAKLSAgICAxMTAsIDIyNiwgMTcwLCAyMTQsIDE2MywgMjE1LCA5NCwgMjU0LCAxMDksIDIyMywgNDksIDI1NCwgMTA5LCAyNTQsIDExMCwgCi0gICAgMiwgMjE0LCAxODMsIDIyMywgNDksIDI1NCwgMTEwLCAyLCAyMTQsIDE4MywgMjI2LCAyNDgsIDI1NCwgMTEwLCAyMjYsIAotICAgIDE3MCwgMjE0LCAxNjMsIDIyNiwgMjQ4LCAyNTQsIDExMCwgMjI2LCAxNzAsIDI0NiwgMTA2LCAyMzEsIDg4LCAyNTQsIDExMCwgCi0gICAgMiwgMjA0LCAyNTQsIDUsIDI0NSwgMTQwLCAyMzYsIDAsIDgwLCAyMjUsIDcsIDEyMCwgMjIsIDIyMiwgMjUxLCAyMzEsIDg4LCAKLSAgICAyNTQsIDExMCwgMiwgMjA0LCAyNTQsIDUsIDI0NSwgMTQwLCAyMzYsIDAsIDgwLCAyMjUsIDcsIDEyMCwgMjIsIDIzMywgNDYsIAotICAgIDIzMSwgODgsIDI1NCwgMTEwLCAyLCAyMDQsIDI1NCwgNSwgMjQ1LCAxNDAsIDIzNiwgMCwgODAsIDIyNSwgNywgMTI0LCAyMiwgCi0gICAgMjIyLCAyNTEsIDIzMSwgODgsIDI1NCwgMTEwLCAyLCAyMDQsIDI1NCwgNSwgMjQ1LCAxNDAsIDIzNiwgMCwgODAsIDIyNSwgCi0gICAgNywgMTI0LCAyMiwgMjMzLCA0NiwgMjMxLCA4OCwgMjU0LCAxMTAsIDIsIDIwNCwgMjU0LCA1LCAyNDUsIDE0MCwgMjM2LCAwLCAKLSAgICA4MCwgMjI1LCA3LCA0NCwgMjIsIDIxNCwgMTYzLCAyMzEsIDg4LCAyNTQsIDExMCwgMiwgMjA0LCAyNTQsIDUsIDI0NSwgCi0gICAgMTQwLCAyMzYsIDAsIDgwLCAyMjUsIDcsIDQzLCAyMiwgMjE0LCAxNjMsIDIzMSwgODgsIDI1NCwgMTEwLCAyLCAyMDQsIAotICAgIDI1NCwgNSwgMjQ1LCAxNDAsIDIzNiwgMCwgODAsIDIyNSwgNywgNDQsIDIyLCAyNDYsIDEwNiwgMjMxLCA4OCwgMjU0LCAKLSAgICAxMTAsIDIsIDIwNCwgMjU0LCA1LCAyNDUsIDE0MCwgMjM2LCAwLCA4MCwgMjI1LCA3LCA0MywgMjIsIDI0NiwgMTA2LCAyMjMsIAotICAgIDQ5LCAyNDUsIDE1MiwgMjIwLCAxMjcsIDI0NSwgMTUyLCAyMjAsIDEyOCwgMiwgMjI2LCAxMjMsIDI0NSwgMTUyLCAyMjAsIAotICAgIDEyOCwgMiwgNCwgMjUwLCAzNiwgNDgsIDI0NSwgMTUyLCAyMjAsIDEyOCwgMiwgNDQsIDgwLCA0OCwgMjQ1LCAxNTIsIDIyMCwgCi0gICAgMTI4LCAyLCA0MywgODAsIDQ4LCAyNTAsIDM2LCAyLCAyMDMsIDEzMCwgMzcsIDY3LCAxMzAsIDM3LCAyMjYsIDcsIDM3LCAKLSAgICAyMjMsIDUwLCAyMTksIDQ2LCAzNywgMjI1LCAxNzEsIDI1MCwgMzYsIDI0NywgMTczLCAyNTEsIDc4LCAyMDMsIDI1MiwgCi0gICAgMTQxLCAyMiwgMjE2LCAxNCwgMTYzLCAyNDcsIDE3MywgMjUxLCA3OCwgNjcsIDEzMCwgMjUwLCAzNiwgMiwgMjE4LCAyNCwgCi0gICAgMjExLCAxNzgsIDM3LCAyNTQsIDg3LCAyNDcsIDE2OSwgNTAsIDEyMCwgODAsIDIxNiwgMTM5LCAyNTAsIDM1LCAzNywgNzEsIAotICAgIDI1MSwgMTEzLCAzNywgMjUxLCAxMTMsIDM3LCAyMzMsIDE0LCAzNywgMjQyLCAxMjksIDI1MCwgMzYsIDIsIDQsIDI1MCwgCi0gICAgMzYsIDIxNiwgNDIsIDIxNiwgMTk2LCAyMjIsIDI1MSwgMjUwLCAzNiwgMiwgMTEzLCAyMDMsIDIxOCwgOTEsIDIxNiwgNDIsIAotICAgIDIxNiwgMTk2LCAyMjIsIDI1MSwgOTIsIDIyMiwgMjI4LCAyNDcsIDI1NSwgMjE5LCA5NSwgOTIsIDI0NCwgMTc1LCAyNDcsIAotICAgIDI1NSwgMjE5LCA5NSwgOTIsIDI1MywgMjE2LCA5MiwgNCwgMjUwLCAzNSwgOTIsIDIxOCwgMjM0LCAxMTMsIDIzNSwgNjUsIAotICAgIDIxOCwgMjMyLCAyMTUsIDIyNiwgMiwgNTksIDQ4LCAyMTUsIDIyNiwgMiwgMjE0LCAxODMsIDIyMiwgOTIsIDIzNiwgMCwgCi0gICAgMjE1LCAyMjUsIDIxNSwgMjI2LCAyLCAyMjAsIDEzNCwgMjUzLCAyMDcsIDI1MSwgMTc0LCA0NCwgMjE1LCAyMjYsIDc3LCAKLSAgICA0MywgMjE1LCAyMjUsIDQzLCAyMTUsIDIyNiwgMjUyLCAzMCwgNjcsIDEzMCwgNjcsIDI1MiwgMTQxLCAyNTIsIDMwLCA0NCwgCi0gICAgMjE1LCAyMjUsIDI1MSwgMTY1LCAyLCA0MywgMTYzLCAyNTEsIDIyMSwgMjUxLCAxNjUsIDIsIDQ0LCAxNjMsIDI1MSwgMjIxLCAKLSAgICA4NSwgMjUxLCAxNjQsIDMwLCAyLCA0MywgMTYzLCAyNTEsIDIyMSwgMzAsIDIsIDQ0LCAxNjMsIDI1MSwgMjIxLCA3MSwgCi0gICAgMjQwLCAyMzYsIDg1LCAyNDAsIDIzNiwgNDMsIDIxMSwgMjQ0LCAyNDQsIDEzNSwgNDQsIDIxMSwgMjQ0LCAyNDQsIDEzNSwgCi0gICAgNDMsIDUyLCAyMTEsIDI0NCwgMjQ0LCAxMzUsIDQ0LCA1MiwgMjExLCAyNDQsIDI0NCwgMTM1LCAyMzUsIDI0OCwgMjM1LCAKLSAgICAyMzQsIDIxNiwgMTEyLCAxMTcsIDIzNSwgMjM0LCAyMzUsIDIzNSwgMjI5LCAxMDIsIDIsIDY3LCAxMzAsIDI0NiwgMTEyLCAKLSAgICAyMzAsIDg3LCA0MiwgMiwgMjQ5LCAxODEsIDIyNiwgMTI3LCAyMzUsIDI0NiwgMjUzLCAyMzcsIDIxOSwgMjE5LCAyMjQsIAotICAgIDE4MCwgMjQ1LCA5OCwgNSwgMjIsIDIxOSwgOTcsIDIyNiwgNywgMjQ1LCA5OCwgNSwgMjIsIDIxOSwgOTcsIDIyNiwgOCwgMiwgCi0gICAgMjE2LCA4OSwgNDgsIDI0MCwgMTA0LCAyMTYsIDQyLCAyMiwgMjE5LCA5NywgMjI2LCA3LCAyNDIsIDE4MywgMjE4LCAxNTUsIAotICAgIDIxNiwgMTg1LCAyNDYsIDEwNSwgMjE1LCAyMjYsIDIsIDQzLCAxNjMsIDI1MSwgMjIxLCAyNDYsIDEwNSwgMjE1LCAyMjYsIAotICAgIDIsIDQ0LCAxNjMsIDI1MSwgMjIxLCA4NSwgMjQ3LCAyNDksIDIsIDEyNCwgNzQsIDg1LCAyMzIsIDEwNCwgNzEsIDI1MCwgCi0gICAgMzYsIDIsIDEyNCwgNzQsIDg1LCAyNTAsIDM2LCAyLCAxMjQsIDc0LCAyNDUsIDg1LCA3MSwgMjE4LCAyMzQsIDI0NSwgODUsIAotICAgIDg1LCAyMTgsIDIzNCwgMjQ1LCA4NSwgNzEsIDI0NywgMjQ4LCAyNDUsIDg1LCA4NSwgMjQ3LCAyNDgsIDI0NSwgODUsIDcxLCAKLSAgICAyNTAsIDM1LCAyNDUsIDg1LCA4NSwgMjUwLCAzNSwgMjIyLCAxMzIsIDIyMywgNTAsIDIxOSwgNDcsIDIyNiwgMTY3LCAyMTksIAotICAgIDQ3LCAyLCAyMjYsIDEyMywgMjIzLCA1MCwgMjE5LCA0NywgMiwgMjAzLCA5MSwgMjUxLCAyNDksIDIxOSwgNDYsIDI1MSwgCi0gICAgMjQ5LCAyMjMsIDUwLCAyMTksIDQ2LCA1MiwgMjI1LCAyMiwgMjE1LCAyMTEsIDIyNSwgMjIsIDIzMywgNDIsIDI0OSwgOTEsIAotICAgIDI1NCwgMTEwLCAxMjcsIDIyMiwgMjQ3LCAyNDksIDkxLCAyNTQsIDExMCwgMTI3LCAyMTYsIDc4LCAyMzAsIDE3OSwgMjMwLCAKLSAgICAyNCwgMzcsIDU5LCAyMjYsIDE2NywgMjMwLCAyNCwgMzcsIDk2LCAyMjYsIDE2NywgMjMwLCAyNCwgMzcsIDMwLCAyMjYsIAotICAgIDE2NywgMjMwLCAyNCwgMjE0LCAxNzYsIDIyNiwgMTY4LCAyLCAyNDcsIDEyMCwgMjMwLCAyNCwgMjE0LCAxNzYsIDIyNiwgCi0gICAgMTY4LCAyLCAyMjUsIDIyLCAyMzAsIDI0LCA0MiwgMjM1LCAxOTksIDIyNiwgMTY3LCAyMzAsIDI0LCA0MiwgMjE0LCAxNzYsIAotICAgIDIyNiwgMTY3LCAxMTMsIDIzMiwgMTQ2LCAyMiwgMjI2LCAxNjcsIDExMywgMjMyLCAxNDYsIDE3NywgMjI2LCAxNjcsIDIzMCwgCi0gICAgMjQsIDMwLCAyMjYsIDE2NywgMjMwLCAxNTQsIDExMywgMjE4LCA0MywgMjE4LCA0MSwgMiwgMjM1LCAyMTEsIDIyNCwgMjQsIAotICAgIDIzNSwgMjEyLCAyMjYsIDE2NywgMjQ0LCA5OSwgMjI1LCAyNTUsIDIzNSwgMjExLCAyMzUsIDIxMiwgMiwgNTIsIDkxLCAKLSAgICAyMzUsIDIxMiwgMjUzLCAxNzMsIDIsIDIxOSwgOTUsIDI1MCwgMzIsIDI0MywgMjI2LCAyNTQsIDg4LCAyMzUsIDIwOSwgCi0gICAgMjMyLCAyMTQsIDIzNSwgMjEwLCAyLCAyMjMsIDExNSwgMjI1LCAyMzcsIDI1NCwgMiwgMjI1LCAxLCAyMzIsIDIxNCwgMjM1LCAKLSAgICAyMTAsIDIsIDIyMCwgMTUyLCAyMjUsIDIzNywgMjU0LCAyLCAyMjUsIDEsIDIzMiwgMjE0LCAyMzUsIDIxMCwgMjI4LCA1MiwgCi0gICAgMjM1LCAyNTAsIDIxNiwgMTk2LCAyMjUsIDEsIDIzNSwgMjEyLCAyNTQsIDIsIDExNSwgMjI1LCAxMSwgMjI2LCAxNjcsIAotICAgIDIyNCwgMTgsIDIzNSwgMjEyLCAyMjYsIDE2NywgMjM1LCAyMTIsIDIsIDE0MCwgODAsIDIsIDEwMywgMjM1LCAyMTIsIDIsIAotICAgIDMwLCA1MCwgMjM1LCAyMTIsIDIsIDIzNSwgMTk4LCAyMzUsIDIxMiwgMiwgMjE0LCAxNzUsIDIzNSwgMjEyLCAyLCAyMjYsIAotICAgIDEyMywgMjM1LCAyMTIsIDIsIDIxNCwgMTgzLCAyMzUsIDY2LCAyMzMsIDg1LCA0MywgMjE1LCAyMjYsIDIyNiwgMTY3LCAKLSAgICAyMTAsIDE2MCwgMTg3LCAyMjEsIDIwMSwgMjQ5LCAyMDksIDIxMCwgMTYwLCAxODcsIDIyMSwgMjAxLCAyMjUsIDU2LCAyMTAsIAotICAgIDE2MCwgMTg3LCAyMjEsIDIwMSwgMjI0LCAxNzYsIDk2LCA1LCAyLCA0LCAyNTAsIDM2LCA0OCwgOTYsIDUsIDIsIDI1MCwgCi0gICAgMzEsIDI1NSwgMTUsIDQ4LCA5NiwgNSwgMiwgMjE2LCA4OSwgNDgsIDk2LCA1LCAyLCA1OSwgNTEsIDk2LCA1LCAyLCAyMTYsIAotICAgIDg5LCA1MSwgOTYsIDUsIDIsIDIxOCwgNjUsIDEwNSwgOTYsIDUsIDIsIDg1LCAyMTUsIDIyNSwgMjMwLCAxODIsIDUsIDIsIAotICAgIDI0OSwgMjIwLCA0OCwgMjMwLCAxODIsIDUsIDIsIDU5LCA1MSwgMjMwLCAxODIsIDUsIDIsIDI0NCwgMTc1LCAyNDcsIDExOCwgCi0gICAgMjMwLCAxODIsIDUsIDIsIDIyMiwgMjI4LCAyNDcsIDExOCwgOTYsIDUsIDIzNiwgMCwgNDMsIDE2MywgMjUwLCAzNSwgOTYsIAotICAgIDUsIDIzNiwgMCwgNDQsIDE2MywgMjUwLCAzNSwgMjEzLCAyNTQsIDE3NywgMjQ5LCAxMzEsIDIyNCwgMTgwLCAyMzAsIDg0LCAKLSAgICA1LCAyLCA1OSwgNDgsIDIzMCwgODQsIDUsIDIsIDIxNCwgMTgzLCAyMjAsIDE0OSwgMjI0LCAxODEsIDIsIDI1MSwgMTc1LCAKLSAgICAyNDksIDI1NSwgMjE5LCA3NywgMjI0LCAxODAsIDIzMCwgODQsIDUsIDIzNiwgMCwgNDMsIDE2MywgMjUwLCAzNSwgMjMwLCAKLSAgICA4NCwgNSwgMjM2LCAwLCA0NCwgMTYzLCAyNTAsIDM1LCAzNywgMjMwLCA4NCwgNSwgMiwgMjUwLCAzMSwgMjU1LCAxNCwgCi0gICAgMjMwLCA4NCwgNSwgMjM2LCAwLCA1MiwgMjUwLCAzNSwgMzcsIDI0NywgMTY5LCA1MCwgOTYsIDUsIDIzNiwgMCwgMjE1LCAKLSAgICAyMjUsIDIzMCwgMTgyLCA1LCAyMzYsIDAsIDIxNSwgMjI1LCAyMzAsIDg0LCA1LCAyMzYsIDAsIDIxNSwgMjI1LCAyMzUsIAotICAgIDIwNiwgMjI0LCAxODAsIDIyMiwgMjQyLCAyMzUsIDIwNiwgMjI0LCAxODAsIDIxMCwgMTYwLCAxODcsIDIyMywgOTAsIDI0OSwgCi0gICAgMjA5LCAyNTQsIDEzNCwgMTc3LCAyNDksIDE2NSwgMjM1LCAxOTksIDIsIDI0NywgMTIwLCAyMTQsIDE3NiwgMiwgMjMwLCAKLSAgICAxODIsIDUwLCAyMTQsIDE3NiwgMiwgMjI2LCAxMjMsIDIzNSwgMTk5LCAyLCAyMjYsIDEyMywgMjM1LCAxOTksIDIsIDIzMiwgCi0gICAgMTQ2LCAyNTQsIDExOCwgMjE0LCAxNzYsIDIsIDIzMiwgMTQ2LCAyMjYsIDE1OCwgMjE0LCAxNzYsIDc3LCAyMzUsIDE5OCwgCi0gICAgMjM1LCAxOTksIDc3LCAyMTQsIDE3NSwgMjE0LCAxNzYsIDc3LCAyNTIsIDE0MSwgNzcsIDIzNSwgMTk4LCAyMzUsIDE5OSwgCi0gICAgNzcsIDI1MiwgMTQxLCA3NywgMjE0LCAxNzUsIDIxNCwgMTc2LCAyNTIsIDMwLCAyMiwgMjM1LCA2NSwgMiwgMjE0LCAxNzUsIAotICAgIDIzNSwgMTk5LCAyNTIsIDMwLCAyMiwgMjM1LCA2NSwgMiwgMjM1LCAxOTgsIDI1MCwgMCwgMjE0LCAxNzYsIDIsIDIyMCwgCi0gICAgMTMzLCAyNTAsIDAsIDIzNSwgMTk5LCAyLCAyMjAsIDEzMywgNTIsIDQyLCAyMzUsIDE5OCwgNTIsIDQyLCAyMTQsIDE3NSwgCi0gICAgMjUwLCAwLCAyMTQsIDE3NiwgMiwgMjIwLCAxMzQsIDIyLCAyMTksIDc3LCAyMjQsIDE4MCwgMjMyLCAxNDYsIDIyLCAyLCAKLSAgICA1OSwgNDgsIDIzMiwgMTQ2LCAxNzcsIDIsIDU5LCA0OCwgNTIsIDIzMiwgMTQ2LCAyNTQsIDExOCwgNTIsIDIzMiwgMTQ2LCAKLSAgICAyMjYsIDE1OCwgMTEzLCAyMzUsIDIwMCwgMjMyLCAxNDYsIDI1NCwgMTE4LCAxMTMsIDIzNSwgMjAwLCAyMzIsIDE0NiwgCi0gICAgMjI2LCAxNTgsIDIxOSwgODUsIDIzMywgODUsIDIyNiwgMTU4LCAyMTksIDg1LCAyMzMsIDg1LCAyNTQsIDExOCwgMjMyLCAKLSAgICAxNDYsIDE3NywgMjI2LCAxMjEsIDIzMiwgMTQ2LCAyNTQsIDExOCwgMjMyLCAxNDYsIDIyLCAyLCAyMzAsIDIyNCwgMjE4LCAKLSAgICAxMzksIDIzMiwgMTQ2LCAxNzcsIDIsIDIzMCwgMjI0LCAyMTgsIDEzOSwgMjMyLCAxNDYsIDIyLCAyLCAyMDMsIDI0OCwgCi0gICAgMTU2LCAyMzIsIDE0NiwgMTc3LCAyLCAyMDMsIDI0OCwgMTU2LCAyMzIsIDE0NiwgMjIsIDIsIDUyLCAyMjYsIDEyMywgMjMyLCAKLSAgICAxNDYsIDIyLCAyLCAyMTQsIDE4MywgMjMyLCAxNDYsIDIyLCAyLCA1MiwgMjE0LCAxODMsIDQsIDIxMywgMjUxLCAyLCAyMTQsIAotICAgIDE4MywgMjMyLCAxNDYsIDE3NywgMiwgNTIsIDIyNiwgMTIzLCAyMzIsIDE0NiwgMTc3LCAyLCA1MiwgMjE0LCAxODMsIDIxMCwgCi0gICAgMTYwLCAxODcsIDI0NywgMTI5LCAyNTQsIDc5LCAyMTAsIDE2MCwgMTg3LCAyMjMsIDE0OCwgMjU0LCA3OSwgMjQ1LCA5OCwgCi0gICAgNSwgMiwgNTksIDUxLCAyNDAsIDEwNCwgMiwgNTksIDQ4LCAyMTUsIDIxMSwgMjAzLCAyNTIsIDE0MSwgMiwgNTIsIDY3LCAKLSAgICA5MSwgMjE1LCAyMTEsIDIwMywgMjUyLCAxNDEsIDIsIDIxNSwgMjExLCA2NywgOTEsIDIxNiwgODksIDIyNiwgMTY4LCAyLCAKLSAgICA1OSwgNDgsIDIxNiwgODksIDIyNiwgMTY4LCAyLCAyMjIsIDIyOCwgMjQ3LCAxMTgsIDIxOSwgMTYyLCAyMzAsIDE4MiwgCi0gICAgMjE5LCAxNjEsIDI0OSwgMTk5LCAyLCA1OSwgNDgsIDI0NSwgOTgsIDIsIDI1MywgMjE2LCAyNTQsIDE0OCwgMTI4LCAyMTYsIAotICAgIDQyLCAyLCAyNTAsIDMxLCAyNTUsIDE0LCAyNTQsIDQ4LCAxMjgsIDE3NywgMTI4LCAxMTEsIDI0NSwgOTgsIDUsIDc3LCA5NiwgCi0gICAgNTAsIDk2LCA1LCA3NywgMjQ1LCA5OCwgNTAsIDI0NSwgOTgsIDUsIDc3LCAyMTYsIDg5LCAyMjYsIDE2NywgNTIsIDI0OSwgCi0gICAgMjI3LCAyNDUsIDk5LCAxMTMsIDI0OSwgMTk0LCAyNDUsIDk4LCAyMTksIDE3NiwgMTM0LCAyNDksIDE5NCwgMjQ1LCA5OCwgCi0gICAgMjE5LCAxNzYsIDI0NSwgOTgsIDUsIDIsIDExMywgMTcwLCA3NywgMjIsIDExMywgMTcwLCA1MSwgMjQ1LCA5NCwgMiwgMjQ0LCAKLSAgICAxMSwgMTcwLCA0OCwgMjMzLCAxNSwgMiwgMjUwLCAzNiwgMjM1LCAyMTUsIDI0MiwgMTMwLCAyLCAyNTAsIDM2LCAyMzUsIAotICAgIDIxNSwgMjMzLCAxNSwgMiwgMjI0LCAxMywgMTY0LCA0OCwgMjQyLCAxMzAsIDIsIDIyNCwgMTMsIDE2NCwgNDgsIDIzMywgCi0gICAgMTUsIDE3NywgMjE5LCA5NywgMTI4LCAxMTEsIDI0MiwgMTMwLCAxNzcsIDIxOSwgOTcsIDEyOCwgMTExLCAyMzMsIDE1LCAKLSAgICAxNzcsIDIxOSwgOTcsIDEyOCwgMjE2LCA0MiwgMiwgNTksIDIzNSwgMjE1LCAyNDIsIDEzMCwgMTc3LCAyMTksIDk3LCAxMjgsIAotICAgIDIxNiwgNDIsIDIsIDU5LCAyMzUsIDIxNSwgMjMzLCAxNSwgMTc3LCAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIDIsIDU5LCA0OCwgCi0gICAgMjQyLCAxMzAsIDE3NywgMjE5LCA5NywgMTI4LCAyMTYsIDQyLCAyLCA1OSwgNDgsIDIzMywgMTUsIDE3NywgMjE5LCA5NywgCi0gICAgMTI4LCAyMTYsIDQyLCAyLCA1OSwgNzcsIDIyMiwgMjUxLCAyNDIsIDEzMCwgMTc3LCAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIAotICAgIDIsIDU5LCA3NywgMjMzLCA0NiwgMjMzLCAxNSwgMTc3LCAyNTQsIDQ5LCAyNDIsIDEzMCwgMTc3LCAyNTQsIDQ5LCAyMzMsIAotICAgIDE1LCAyMiwgMjE5LCAxNTMsIDIyOCwgNTIsIDEyOCwgMTExLCAyNDIsIDEzMCwgMjIsIDIxOSwgMTUzLCAyMjgsIDUyLCAKLSAgICAxMjgsIDExMSwgMjMzLCAxNSwgMjIsIDIyOCwgNTIsIDI1NCwgNDksIDI0MiwgMTMwLCAyMiwgMjI4LCA1MiwgMjU0LCA0OSwgCi0gICAgMjMzLCAxNSwgNzcsIDI0NiwgMTExLCAxMjgsIDc3LCAyNDIsIDEyOSwgMjQyLCAxMzAsIDc3LCAyNDYsIDExMSwgMTI4LCAKLSAgICA3NywgMjMzLCAxNCwgMjMzLCAxNSwgNzcsIDIxOSwgMTYyLCAxNzcsIDI0NSwgOTksIDI0MiwgMTMwLCA3NywgMjE5LCAxNjIsIAotICAgIDE3NywgMjQ1LCA5OSwgMjMzLCAxNSwgNzcsIDIxOSwgMTYyLCA3NywgMjQyLCAxMjksIDI0MiwgMTMwLCA3NywgMjE5LCAKLSAgICAxNjIsIDc3LCAyMzMsIDE0LCAyMzMsIDE1LCA3NywgMjQyLCAxMzAsIDc3LCAyNDYsIDExMSwgMjQ1LCA5OSwgMjQyLCAxMzAsIAotICAgIDc3LCAyMzMsIDE1LCA3NywgMjQ2LCAxMTEsIDI0NSwgOTksIDIzMywgMTUsIDc3LCAyMTksIDk3LCAxMjgsIDc3LCAyNDIsIAotICAgIDEzMCwgNzcsIDIxOSwgOTcsIDI0NSwgOTksIDI0MiwgMTMwLCA3NywgMjE5LCA5NywgMTI4LCA3NywgMjMzLCAxNSwgNzcsIAotICAgIDIxOSwgOTcsIDI0NSwgOTksIDIxOSwgOTcsIDEyOCwgMjE2LCA0MiwgMTc3LCAyMzMsIDE0LCAyMTksIDk3LCAxMjgsIDIxNiwgCi0gICAgNDIsIDE3NywgMjQyLCAxMjksIDIxOSwgOTcsIDEyOCwgMjE2LCA0MiwgMTc3LCAyMzMsIDE1LCAyLCA1OSwgMjM1LCAyMTUsIAotICAgIDIxOSwgOTcsIDEyOCwgMjE2LCA0MiwgMTc3LCAyNDIsIDEzMCwgMiwgNTksIDIzNSwgMjE1LCAyNDYsIDExMSwgMTI4LCAKLSAgICAyMTYsIDQyLCAxNzcsIDIzMywgMTQsIDI0NiwgMTExLCAxMjgsIDIxNiwgNDIsIDE3NywgMjQyLCAxMjksIDI0NiwgMTExLCAKLSAgICAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIDE3NywgMjMzLCAxNCwgMjQ2LCAxMTEsIDIxOSwgOTcsIDEyOCwgMjE2LCA0MiwgCi0gICAgMTc3LCAyNDIsIDEyOSwgMjE5LCAxNjIsIDE3NywgMjMzLCAxNCwgMjE5LCAxNjIsIDE3NywgMjQyLCAxMjksIDIxOSwgMTYyLCAKLSAgICA3NywgMjMzLCAxNSwgNzcsIDI0NSwgOTgsIDUwLCAyMTksIDE2MiwgNzcsIDI0MiwgMTMwLCA3NywgMjQ1LCA5OCwgNTAsIAotICAgIDUyLCAyMjksIDkxLCAyMzMsIDE0LCA1MiwgMjI5LCA5MSwgMjQyLCAxMjksIDUyLCAyMjksIDkxLCAyMzMsIDE1LCAyLCAKLSAgICAyMTQsIDE4MywgMjQyLCAxMzAsIDIyNiwgMTIxLCAyMzMsIDE0LCAyNDIsIDEzMCwgMjUyLCAzMCwgMjMzLCAxNCwgMjMzLCAKLSAgICAxNSwgMjUwLCAwLCAyNTEsIDc4LCAyNDksIDkyLCAyNDIsIDEzMCwgMjUwLCAwLCAyNTEsIDc4LCAyNDksIDkyLCAyMzMsIAotICAgIDE1LCAyNTAsIDAsIDI1MSwgNzgsIDI0OSwgOTMsIDc3LCAyMTksIDk3LCAyNDUsIDk5LCAyNDIsIDEzMCwgMjUwLCAwLCAKLSAgICAyNTEsIDc4LCAyNDksIDkzLCA3NywgMjE5LCA5NywgMjQ1LCA5OSwgMjE5LCA3OCwgMjE2LCAyMDAsIDIzMywgODMsIDIxNiwgCi0gICAgMjAwLCAyMTksIDc4LCAyMTYsIDIwMSwgMTc3LCAxMjgsIDExMSwgMjMzLCA4MywgMjE2LCAyMDEsIDE3NywgMTI4LCAxMTEsIAotICAgIDI0NSwgOTgsIDUsIDIsIDI1MSwgMTA4LCA0OCwgMjI0LCAyMDMsIDc3LCAyMTksIDE1MywgMjQ1LCA5OCwgNTAsIDIxOCwgCi0gICAgNTYsIDc3LCAyMTksIDE1MywgMjQ1LCA5OCwgNTAsIDIyNCwgMjAzLCA3NywgMjE5LCAxNTMsIDIyOCwgNTIsIDEyOCwgMTExLCAKLSAgICAyMTgsIDU2LCA3NywgMjE5LCAxNTMsIDIyOCwgNTIsIDEyOCwgMTExLCAyMjQsIDIwMywgNzcsIDI0NSwgOTgsIDUwLCAyMTgsIAotICAgIDU2LCA3NywgMjQ1LCA5OCwgNTAsIDIyNCwgMjAzLCA3NywgMjI4LCA1MiwgMTI4LCAxMTEsIDIxOCwgNTYsIDc3LCAyMjgsIAotICAgIDUyLCAxMjgsIDExMSwgMjI0LCAyMDMsIDc3LCAyNTQsIDE0OCwgMTI4LCAxMTEsIDIxOCwgNTYsIDc3LCAyNTQsIDE0OCwgCi0gICAgMTI4LCAxMTEsIDIyNCwgMjAzLCA3NywgMjI4LCA1MiwgMjU0LCAxNDgsIDEyOCwgMTExLCAyMTgsIDU2LCA3NywgMjI4LCAKLSAgICA1MiwgMjU0LCAxNDgsIDEyOCwgMTExLCA1MiwgMjI0LCAyMDIsIDUyLCAyMTgsIDU1LCAyMTgsIDY0LCAyLCAyNDcsIDEyMCwgCi0gICAgMjE4LCAyMiwgMiwgMjQ3LCAxMjAsIDIxOCwgNjQsIDIsIDk2LCA1LCA1MSwgMjE4LCAyMiwgMiwgOTYsIDUsIDUxLCAyMTgsIAotICAgIDY0LCAyLCAyMzAsIDg0LCA1LCA1MSwgMjE4LCAyMiwgMiwgMjMwLCA4NCwgNSwgNTEsIDIxOCwgNjQsIDY0LCAxNzcsIDEyOCwgCi0gICAgMjE2LCA0MiwgMiwgNTksIDQ4LCAyMTgsIDIyLCA2NCwgMTc3LCAxMjgsIDIxNiwgNDIsIDIsIDU5LCA0OCwgMjE4LCA2NCwgCi0gICAgNjQsIDc3LCAyNDUsIDk4LCA1MCwgMjE4LCAyMiwgNjQsIDc3LCAyNDUsIDk4LCA1MCwgMjE4LCA2NCwgNjQsIDc3LCAyMTYsIAotICAgIDg5LCAyMjYsIDE2NywgMjE4LCAyMiwgNjQsIDc3LCAyMTYsIDg5LCAyMjYsIDE2NywgMjE4LCA2NCwgNjQsIDc3LCAyNTQsIAotICAgIDE0OCwgMTI4LCAxMTEsIDIxOCwgMjIsIDY0LCA3NywgMjU0LCAxNDgsIDEyOCwgMTExLCAyMTgsIDY0LCA2NCwgNzcsIDIyOCwgCi0gICAgNTIsIDEyOCwgMTExLCAyMTgsIDIyLCA2NCwgNzcsIDIyOCwgNTIsIDEyOCwgMTExLCA0MiwgNDMsIDIwNCwgOTMsIDIyNiwgCi0gICAgMTY3LCA0MiwgNDQsIDIwNCwgOTMsIDIyNiwgMTY3LCAyNTAsIDAsIDIxOCwgNjMsIDI1MCwgMCwgMjE4LCAyMSwgMjUwLCAwLCAKLSAgICAyMTgsIDY0LCAxNzcsIDEyOCwgMTExLCAyNTAsIDAsIDIxOCwgMjIsIDE3NywgMTI4LCAxMTEsIDIxOCwgNjQsIDc3LCAyMTgsIAotICAgIDIxLCAyMTgsIDIyLCA3NywgMjE4LCA2MywgMjE4LCA2NCwgNzcsIDIxOCwgNjMsIDIxOCwgMjIsIDc3LCAyMTgsIDIxLCAKLSAgICAyMTgsIDIyLCAyNTIsIDMwLCAyMTgsIDYzLCAyMTgsIDIyLCAyNTIsIDMwLCAyMiwgMjM1LCA2NSwgMjUxLCA3OCwgMjQ4LCAKLSAgICAxNTcsIDIsIDIxOCwgNjMsIDI0NSwgMTcwLCA2NCwgMjI2LCAxNzAsIDI0NiwgMTAzLCAyMjUsIDQ4LCAyLCAyMTcsIDEyLCAKLSAgICAyMTYsIDEzLCAyMTUsIDI0MCwgMjM1LCAxOTgsIDI0NCwgMjEsIDIyOCwgNjUsIDIxOSwgMjUxLCA0MywgMjE3LCA4NywgCi0gICAgMjE5LCAyNTEsIDEyNCwgMjE3LCA4NywgMjE5LCAyNTEsIDEyMCwgMjE3LCA4NywgMjI1LCAxNzIsIDIsIDIyMiwgOTEsIDY3LCAKLSAgICAyNTIsIDE0MSwgMjE1LCAyMTEsIDQ0LCAyMTUsIDkzLCA1MiwgNjcsIDI1MiwgMTQxLCA0MywgMjE1LCA5MywgNjcsIDI1MiwgCi0gICAgMTQxLCA1MiwgNDMsIDIxNSwgOTMsIDUyLCA2NywgMjUyLCAxNDEsIDUyLCA0MywgMjE1LCA5MywgMTk5LCAyNDgsIDE1NywgCi0gICAgMjQzLCAyNDMsIDQzLCAyMzEsIDYzLCA2NCwgNTIsIDIxMywgMjM5LCAyMTksIDI1MSwgMTI0LCAyMTcsIDg4LCAyLCAyMjYsIAotICAgIDEyMywgMjE5LCAyNTEsIDEyMCwgMjE3LCA4OCwgMiwgMjE0LCAxODMsIDIxOSwgMjUxLCAxMjAsIDIxNywgODgsIDc3LCAKLSAgICAyMTksIDI1MSwgMTI0LCAyMTcsIDg3LCA1MiwgMTI0LCAyMTcsIDg3LCA1MiwgMTIwLCAyMTcsIDg3LCA1MiwgMjE4LCAxMDMsIAotICAgIDIyOCwgNTIsIDUwLCAyMjMsIDQ5LCA1MiwgMjE4LCAxMDMsIDIyOCwgNTIsIDUwLCAyNDcsIDEzOCwgMjI4LCA1MiwgMjQ3LCAKLSAgICAxNzUsIDIsIDIyMywgNDksIDIyOSwgMTAxLCAyMTksIDk1LCA2NywgMjMyLCAyMTQsIDIsIDI1MCwgMzYsIDQ4LCA2NywgCi0gICAgMjMyLCAyMTQsIDIsIDI1MCwgMzYsIDUxLCAxMjQsIDIxNywgODgsIDIsIDI1MCwgMzYsIDUxLCAyMjYsIDgsIDIsIDIwMywgCi0gICAgOTEsIDIyNiwgOCwgMiwgMjE2LCA4OSwgMjI2LCAxNjcsIDIxNSwgMjExLCA2NywgMjUyLCAxNDEsIDI1MSwgMjQ0LCAyMjMsIAotICAgIDkxLCAyMTUsIDIxMSwgNjcsIDI1MiwgMTQxLCAyLCAyMDMsIDkxLCAyMTUsIDIxMSwgMjQ5LCAyMjcsIDIyNiwgMTY3LCAKLSAgICAyMTUsIDIxMSwgMjI5LCA5MSwgMjMzLCAxNCwgMjE1LCAyMTEsIDIyOSwgOTEsIDI0MiwgMTI5LCAyNDYsIDExMSwgMjE5LCAKLSAgICA5NywgMjMzLCAxNSwgMTc3LCAxMjgsIDExMSwgMjQ2LCAxMTEsIDIxOSwgOTcsIDI0MiwgMTMwLCAxNzcsIDEyOCwgMTExLCAKLSAgICAyMTUsIDIxMSwgMjE5LCA0NywgMjUxLCAyNDQsIDIyMywgOTEsIDIzMywgODUsIDIxNSwgMjExLCA2NywgMjUyLCAxNDEsIAotICAgIDIyNiwgMTY3LCA1MiwgMjE5LCA0NywgMjI2LCAxNjcsIDcxLCA2NywgMTMwLCAyMzAsIDI0LCA3MSwgNjcsIDEzMCwgMjI4LCAKLSAgICA1NiwgMjQ1LCAyMjAsIDcxLCA3NCwgMjI4LCA1NiwgMjEyLCA5LCA3MSwgNzQsIDIxOSwgMjgsIDI0NSwgMjIwLCA3MSwgNzQsIAotICAgIDIxOSwgMjgsIDIxMiwgOSwgNzEsIDc0LCA0MywgNDQsIDcxLCA3NCwgMTQwLCA4NSwgNzQsIDIxNCwgMTUzLCA4NSwgNzQsIAotICAgIDI0NiwgMTA0LCA4NSwgNzQsIDIyOCwgNTYsIDI0NSwgMjIwLCA4NSwgNzQsIDIyOCwgNTYsIDIxMiwgOSwgODUsIDc0LCAKLSAgICAyMTksIDI4LCAyNDUsIDIyMCwgODUsIDc0LCAyMTksIDI4LCAyMTIsIDksIDg1LCA3NCwgNDMsIDQ0LCA4NSwgNzQsIDEyMCwgCi0gICAgMTI0LCA4NSwgNzQsIDk3LCA4MCwgMiwgMjE2LCA3NywgMjQ2LCAxMDMsIDk3LCA4MCwgMiwgMjE2LCA3NywgMjE0LCAxNTIsIAotICAgIDE0MCwgODAsIDIsIDIxNiwgNzcsIDI0NiwgMTAzLCAxNDAsIDgwLCAyLCAyMTYsIDc3LCAyMTQsIDE1MiwgNDIsIDIsIDIxNiwgCi0gICAgMTQsIDE2MywgMjUxLCAyMjEsIDQyLCAyLCAyNTEsIDE3NSwgMTYzLCAyNTEsIDIyMSwgNDIsIDIsIDIxNCwgMTYwLCA0NCwgCi0gICAgMjQ3LCAyNTUsIDE2MywgMjUxLCAyMjEsIDQyLCAyLCAyMzIsIDEwOCwgNDMsIDI0NywgMjU1LCAxNjMsIDI1MSwgMjIxLCAKLSAgICAyNDcsIDI0OSwgMiwgNDMsIDE2MywgMjUxLCAyMjEsIDI0NywgMjQ5LCAyLCA0NCwgMTYzLCAyNTEsIDIyMSwgMjQ3LCAyNDksIAotICAgIDIsIDIxNiwgMTQsIDE2MywgMjUxLCAyMjEsIDI0NywgMjQ5LCAyLCAyNTEsIDE3NSwgMTYzLCAyNTEsIDIyMSwgMjQ2LCAKLSAgICAxMTgsIDIxOCwgMjM0LCA4NSwgMjMzLCA4NSwgMjE4LCAyMzQsIDcxLCAyMzMsIDg1LCAyMTgsIDIzNCwgODUsIDIxMywgCi0gICAgMTg3LCA0LCAyMTgsIDIzNCwgNzEsIDIxMywgMTg3LCA0LCAyMTgsIDIzNCwgODUsIDIyNSwgMTkwLCA3MSwgMjI1LCAxOTAsIAotICAgIDcxLCAyNDEsIDE5MywgODUsIDI0MSwgMTkzLCAyMDMsIDg1LCAyNDEsIDE5MywgODUsIDIzMywgODUsIDI1MCwgMzUsIDg1LCAKLSAgICAyMzEsIDgyLCAyNDcsIDI0OCwgNzEsIDIzMSwgODIsIDI0NywgMjQ4LCA4NSwgMjMxLCA4MiwgMjMyLCAxMDQsIDcxLCAyMzEsIAotICAgIDgyLCAyMzIsIDEwNCwgODUsIDQsIDI0NywgMjQ4LCA4NSwgNCwgMjMyLCAxMDQsIDcxLCA0LCAyMzIsIDEwNCwgODUsIDIwMywgCi0gICAgMjQ1LCAxNjQsIDcxLCAyMDMsIDI0NSwgMTY0LCA4NSwgNjcsIDI0NSwgMTY0LCA3MSwgNjcsIDI0NSwgMTY0LCA0MywgODAsIAotICAgIDIsIDQsIDI1MCwgMzUsIDEzNCwgMTQwLCAyNTMsIDI0NywgNDMsIDgwLCAyLCAzNywgMjI1LCAyMiwgMTk5LCAxNDAsIDIxOCwgCi0gICAgMjMwLCA3NCwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyLCA1MiwgNjcsIDkxLCAKLSAgICAxNDAsIDIxNSwgNTgsIDgwLCAyNDMsIDI0MywgMTMwLCAxNDAsIDIxNSwgNTgsIDIxNSwgMjExLCAyNDgsIDE1NywgNzQsIAotICAgIDE0MCwgODAsIDIsIDI0NiwgMTE4LCAyMTgsIDEzOSwgMTQwLCA4MCwgMiwgMjE3LCA3OCwgMiwgNjcsIDkxLCAxNDAsIDgwLCAKLSAgICAyLCAyMTcsIDc4LCAyLCA1MiwgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc3LCAxNDAsIDIxNSwgNTgsIAotICAgIDgwLCAyLCAyMTcsIDc4LCAyLCA2NywgOTEsIDE0MCwgMjE1LCA1OCwgODAsIDIsIDIxNywgNzgsIDIsIDUyLCA2NywgOTEsIAotICAgIDE0MCwgODAsIDIxNiwgMTM5LCAyMTEsIDE3OCwgMjEyLCAzNiwgODAsIDIyNSwgNywgMjQ3LCAxOTUsIDIzMywgNDYsIDI0NSwgCi0gICAgOTgsIDUsIDc3LCAxNDAsIDc0LCAyMjMsIDUwLCAyMTYsIDg5LCAyMjYsIDE2OCwgNzcsIDE0MCwgNzQsIDE0MCwgODAsIDc3LCAKLSAgICAyMjMsIDUwLCAyNTQsIDE0OCwgMTI4LCAxMTEsIDk3LCA4MCwgMjE2LCAxMzksIDI0MiwgMTI5LCA5NywgODAsIDIxNiwgCi0gICAgMTM5LCAyMTgsIDIxLCAxNDAsIDIyNCwgMjQsIDc0LCA5NywgMjI0LCAyNCwgNzQsIDIyMywgNTAsIDIxNiwgODksIDIyNiwgCi0gICAgMTY4LCA3NywgOTcsIDc0LCA5NywgODAsIDc3LCAyMjMsIDUwLCAyNTQsIDE0OCwgMTI4LCAxMTEsIDIxNiwgODksIDIyNiwgCi0gICAgMTY4LCA3NywgMTQwLCA3NCwgMTQwLCA4MCwgNzcsIDI1NCwgMTQ4LCAxMjgsIDExMSwgMTQwLCA4MCwgNzcsIDIyMywgNTAsIAotICAgIDIxNiwgODksIDIyNiwgMTY3LCA5NywgODAsIDc3LCAyMjMsIDUwLCAyMTYsIDg5LCAyMjYsIDE2NywgNzEsIDIzMSwgODIsIAotICAgIDIxOCwgMTU2LCA4NSwgNCwgMjE4LCAxNTYsIDcxLCA0LCAyMTgsIDE1NiwgODUsIDIyMiwgMjQ3LCAyMjUsIDE5MCwgNzEsIAotICAgIDIyMiwgMjQ3LCAyMjUsIDE5MCwgMTE0LCAyMzMsIDg1LCAyNTAsIDM1LCAxMTQsIDIyNiwgMTI0LCAyLCAyMjYsIDEyNCwgCi0gICAgMjM1LCAyMTUsIDExNCwgMjUwLCAzNiwgMiwgMjUwLCAzNiwgMjM1LCAyMTUsIDExNCwgMjUwLCAzNSwgMTE0LCAzNywgMjIxLCAKLSAgICAyNTQsIDE0NSwgNiwgMSwgMjUzLCAxNTksIDE0NSwgNiwgMSwgMjUxLCAxMTcsIDE0NSwgNiwgMSwgMjEzLCAyNTMsIDE0NSwgCi0gICAgNiwgMSwgMjQyLCAxODUsIDE0NSwgNiwgMSwgMjQ3LCAxNDAsIDE0NSwgNiwgMSwgMjExLCAyMSwgMTQ1LCA2LCAxLCAyMTAsIAotICAgIDY4LCAxNDUsIDYsIDEsIDI0NiwgMzQsIDE0NSwgNiwgMSwgMjEwLCA5MSwgMTQ1LCA2LCAxLCAyMzUsIDE0OCwgMTQ1LCA2LCAKLSAgICAxLCA2NSwgMjM1LCAxNDgsIDE0NSwgNiwgMSwgNzMsIDE0NSwgNiwgMSwgMjQ3LCAxNjAsIDE0NSwgNiwgMSwgMjM0LCAyNDAsIAotICAgIDE0NSwgNiwgMSwgMjMyLCAxODYsIDE0NSwgNiwgMSwgMjMwLCAyOSwgMTQ1LCA2LCAxLCAyMjksIDE5MSwgMTQ1LCA2LCAxLCAKLSAgICAyMjYsIDE4NSwgMTQ1LCA2LCAxLCAyMjUsIDQsIDE0NSwgNiwgMSwgMjIyLCAyMjcsIDE0NSwgNiwgMSwgMjE5LCA4MywgCi0gICAgMTQ1LCA2LCAxLCAyMTUsIDgxLCAxNDUsIDYsIDEsIDIxNCwgMjAxLCAxNDUsIDYsIDEsIDI0MywgMjQ2LCAxNDUsIDYsIDEsIAotICAgIDI0MSwgMTk5LCAxNDUsIDYsIDEsIDIyNiwgMTM1LCAxNDUsIDYsIDEsIDIyNSwgMjIxLCAxNDUsIDYsIDEsIDIxOSwgMjI4LCAKLSAgICAxNDUsIDYsIDEsIDIxNSwgMTY3LCAxNDUsIDYsIDEsIDI1MCwgNzUsIDE0NSwgNiwgMSwgMjIwLCAxMDIsIDE0NSwgNiwgMSwgCi0gICAgMjExLCAyNywgMTQ1LCA2LCAxLCAyMTEsIDI5LCAxNDUsIDYsIDEsIDIxMSwgNTcsIDE0NSwgNiwgMSwgMjE4LCAyNTMsIAotICAgIDE2MiwgMTQ1LCA2LCAxLCAyMTAsIDIxMiwgMTQ1LCA2LCAxLCA0LCAyMTAsIDE4MywgMTQ1LCA2LCAxLCA0LCAyMTAsIDE4NCwgCi0gICAgMiwgMjE3LCA3NywgMTQ1LCA2LCAxLCAyMTAsIDI0NCwgMTQ1LCA2LCAxLCAyMzUsIDE4NCwgNCwgMjEwLCAxODMsIDE0NSwgCi0gICAgNiwgMSwgMjUxLCAyNDksIDIxMCwgMTgzLCAxNDUsIDYsIDEsIDIzNSwgMTg0LCAyNTEsIDI0OSwgMjEwLCAxODMsIDE0NSwgCi0gICAgNiwgMSwgMjQ0LCA4MiwgMTQ1LCA2LCAxLCAyMzUsIDE0NiwgMTQ1LCA2LCAxLCAyMTksIDIyNywgMTQ1LCA2LCAxLCAyMTUsIAotICAgIDIwMiwgNjEsIDE0NSwgNiwgMSwgMjMzLCA3NSwgMjMwLCAyOSwgMTQ1LCA0LCAxLCAyNTMsIDE1OSwgMTQ1LCA0LCAxLCAKLSAgICAyNTEsIDExNywgMTQ1LCA0LCAxLCAyMTMsIDI1MywgMTQ1LCA0LCAxLCAyNDIsIDE4NSwgMTQ1LCA0LCAxLCAyNDcsIDE0MCwgCi0gICAgMTQ1LCA0LCAxLCAyMTEsIDIxLCAxNDUsIDQsIDEsIDIxMCwgNjgsIDE0NSwgNCwgMSwgMjQ2LCAzNCwgMTQ1LCA0LCAxLCAKLSAgICAyMTAsIDkxLCAxNDUsIDQsIDEsIDIzNSwgMTQ4LCAxNDUsIDQsIDEsIDY1LCAyMzUsIDE0OCwgMTQ1LCA0LCAxLCA3MywgCi0gICAgMTQ1LCA0LCAxLCAyNDcsIDE2MCwgMTQ1LCA0LCAxLCAyMzQsIDI0MCwgMTQ1LCA0LCAxLCAyMzIsIDE4NiwgMTQ1LCA0LCAxLCAKLSAgICAyMzAsIDI5LCAxNDUsIDQsIDEsIDIyOSwgMTkxLCAxNDUsIDQsIDEsIDIyNiwgMTg1LCAxNDUsIDQsIDEsIDIyNSwgNCwgCi0gICAgMTQ1LCA0LCAxLCAyMjIsIDIyNywgMTQ1LCA0LCAxLCAyMTksIDgzLCAxNDUsIDQsIDEsIDIxNSwgODEsIDE0NSwgNCwgMSwgCi0gICAgMjE0LCAyMDEsIDE0NSwgNCwgMSwgMjQzLCAyNDYsIDE0NSwgNCwgMSwgMjQxLCAxOTksIDE0NSwgNCwgMSwgMjI2LCAxMzUsIAotICAgIDE0NSwgNCwgMSwgMjI1LCAyMjEsIDE0NSwgNCwgMSwgMjE5LCAyMjgsIDE0NSwgNCwgMSwgMjE1LCAxNjcsIDE0NSwgNCwgMSwgCi0gICAgMjUwLCA3NSwgMTQ1LCA0LCAxLCAyMjAsIDEwMiwgMTQ1LCA0LCAxLCAyMTEsIDI3LCAxNDUsIDQsIDEsIDIxMSwgMjksIAotICAgIDE0NSwgNCwgMSwgMjExLCA1NywgMTQ1LCA0LCAxLCAyMTgsIDI1MywgMTYyLCAxNDUsIDQsIDEsIDIxMCwgMjEyLCAxNDUsIAotICAgIDQsIDEsIDQsIDIxMCwgMTgzLCAxNDUsIDQsIDEsIDQsIDIxMCwgMTg0LCAyLCAyMTcsIDc3LCAxNDUsIDQsIDEsIDIxMCwgCi0gICAgMjQ0LCAxNDUsIDQsIDEsIDIzNSwgMTg0LCA0LCAyMTAsIDE4MywgMTQ1LCA0LCAxLCAyNTEsIDI0OSwgMjEwLCAxODMsIAotICAgIDE0NSwgNCwgMSwgMjM1LCAxODQsIDI1MSwgMjQ5LCAyMTAsIDE4MywgMTQ1LCA0LCAxLCAyNDQsIDgyLCAxNDUsIDQsIDEsIAotICAgIDIzNSwgMTQ2LCAxNDUsIDQsIDEsIDIxOSwgMjI3LCAxNDUsIDQsIDEsIDIxNSwgMjAyLCA2MSwgMTQ1LCA0LCAxLCAyMzMsIAotICAgIDc1LCAyMzAsIDI5LCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgNTIsIDEzMCwgNywgNCwgMSwgMjMzLCAxNDksIDIsIDUyLCAKLSAgICAxMzAsIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA2LCAxLCAyMjYsIDEwNiwgMiwgOTEsIDcsIDYsIAotICAgIDEsIDIyMywgMjI0LCAyLCAyMTcsIDc3LCA3LCA0LCAxLCAxMTUsIDIsIDkxLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgMjQ3LCAKLSAgICAyNTUsIDkxLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAyNDgsIDM5LCA3LCA0LCAxLCAyNDIsIDYxLCAyLCAyNDgsIDM5LCA3LCAKLSAgICA2LCAxLCAyMzUsIDI0LCAyLCAyNDgsIDM5LCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAyNDgsIDM5LCA3LCA2LCAxLCAyMTAsIAotICAgIDE2MCwgMiwgMjQ4LCAzOSwgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI0OCwgMzksIDcsIDYsIDEsIDI1NCwgMTQzLCA3LCA2LCAKLSAgICAxLCAyMzIsIDUwLCAyLCAxMDMsIDcsIDYsIDEsIDIxNSwgOTQsIDYxLCA3LCA2LCAxLCAyMTUsIDk0LCAyNTQsIDE0MywgNywgCi0gICAgNCwgMSwgMjE0LCAxMDYsIDIsIDQ0LCAxMDMsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDEwMywgNywgNCwgMSwgMjEyLCA5OSwgCi0gICAgMiwgMTAzLCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMjQ5LCAxMDAsIDcsIDYsIDEsIDE2MywgMjQyLCA2MCwgNywgNCwgMSwgCi0gICAgMTYzLCAyNDIsIDYwLCA3LCA0LCAxLCAyMTcsIDc1LCAyMjUsIDEzMywgNywgNCwgMSwgMTYwLCAyLCAyMjgsIDUwLCA3LCA0LCAKLSAgICAxLCAyMTUsIDk0LCAyMjMsIDIyNCwgMiwgMjE3LCA3NywgNywgNCwgMSwgMTQ0LCAyLCAxMjEsIDIyMiwgMjM0LCAyMzUsIAotICAgIDIxNSwgNywgMSwgNCwgNiwgMjE1LCA5NCwgNzUsIDcsIDIxOCwgNjUsIDQsIDEsIDIzNSwgMTQ0LCA1OCwgMSwgNiwgMjE0LCAKLSAgICAxMDUsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDIxNywgMjUwLCAyMTcsIDc3LCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjE3LCAKLSAgICAyNTAsIDIxNywgNzcsIDgxLCA2LCAxLCAyNTQsIDE2NCwgODEsIDQsIDEsIDI1NCwgMTY0LCA4MSwgNiwgMSwgMjEzLCAxNzMsIAotICAgIDgxLCA0LCAxLCAyMTMsIDE3MywgODEsIDYsIDEsIDI0MywgMTA3LCA4MSwgNCwgMSwgMjQzLCAxMDcsIDgxLCA2LCAxLCAKLSAgICAyNDgsIDE5MSwgODEsIDQsIDEsIDI0OCwgMTkxLCA4MSwgNiwgMSwgMjQ1LCAxOTQsIDgxLCA0LCAxLCAyNDUsIDE5NCwgODEsIAotICAgIDYsIDEsIDIxOSwgMzMsIDgxLCA0LCAxLCAyMTksIDMzLCA4MSwgNiwgMSwgMjEwLCAxMDEsIDgxLCA0LCAxLCAyMTAsIDEwMSwgCi0gICAgODEsIDYsIDEsIDI0MSwgMjQ4LCA4MSwgNCwgMSwgMjQxLCAyNDgsIDgxLCA2LCAxLCAyMTYsIDE3NywgODEsIDQsIDEsIAotICAgIDIxNiwgMTc3LCA4MSwgNiwgMSwgMjQwLCAxMTYsIDgxLCA0LCAxLCAyNDAsIDExNiwgODEsIDYsIDEsIDIzNCwgMjI3LCA4MSwgCi0gICAgNCwgMSwgMjM0LCAyMjcsIDgxLCA2LCAxLCAyMzMsIDcyLCA4MSwgNCwgMSwgMjMzLCA3MiwgODEsIDYsIDEsIDIzMCwgMjMwLCAKLSAgICA4MSwgNCwgMSwgMjMwLCAyMzAsIDgxLCA2LCAxLCAyMjgsIDIzMywgODEsIDQsIDEsIDIyOCwgMjMzLCA4MSwgNiwgMSwgCi0gICAgMjMzLCAyMzMsIDgxLCA0LCAxLCAyMzMsIDIzMywgODEsIDYsIDEsIDc2LCA4MSwgNCwgMSwgNzYsIDgxLCA2LCAxLCAyMjUsIAotICAgIDEwOCwgODEsIDQsIDEsIDIyNSwgMTA4LCA4MSwgNiwgMSwgMjIyLCAyMTEsIDgxLCA0LCAxLCAyMjIsIDIxMSwgODEsIDYsIAotICAgIDEsIDIxOSwgMTY1LCA4MSwgNCwgMSwgMjE5LCAxNjUsIDgxLCA2LCAxLCAyMTcsIDQxLCA4MSwgNCwgMSwgMjE3LCA0MSwgCi0gICAgODEsIDYsIDEsIDIxNCwgMjI5LCA4MSwgNCwgMSwgMjE0LCAyMjksIDgxLCA2LCAxLCAyNDQsIDEyMSwgODEsIDQsIDEsIAotICAgIDI0NCwgMTIxLCA4MSwgNiwgMSwgMjM0LCAxMTIsIDgxLCA0LCAxLCAyMzQsIDExMiwgODEsIDYsIDEsIDIyNCwgMTYxLCA4MSwgCi0gICAgNCwgMSwgMjI0LCAxNjEsIDgxLCA2LCAxLCAyMjYsIDE3OCwgODEsIDQsIDEsIDIyNiwgMTc4LCA4MSwgNiwgMSwgMjQ3LCAKLSAgICAyNTMsIDI1NCwgMTcwLCA4MSwgNCwgMSwgMjQ3LCAyNTMsIDI1NCwgMTcwLCA4MSwgNiwgMSwgNTUsIDgxLCAyNTQsIDE5NiwgCi0gICAgODEsIDQsIDEsIDU1LCA4MSwgMjU0LCAxOTYsIDgxLCA2LCAxLCAyNDksIDExNSwgMjQ1LCAxOTQsIDgxLCA0LCAxLCAyNDksIAotICAgIDExNSwgMjQ1LCAxOTQsIDgxLCA2LCAxLCAyNDcsIDI1MywgMjM0LCAyMjcsIDgxLCA0LCAxLCAyNDcsIDI1MywgMjM0LCAKLSAgICAyMjcsIDgxLCA2LCAxLCAyNDcsIDI1MywgMjI4LCAyMzMsIDgxLCA0LCAxLCAyNDcsIDI1MywgMjI4LCAyMzMsIDgxLCA2LCAKLSAgICAxLCAyNDksIDExNSwgMjI4LCAyMzMsIDgxLCA0LCAxLCAyNDksIDExNSwgMjI4LCAyMzMsIDgxLCA2LCAxLCA1NSwgODEsIAotICAgIDIyNiwgMTc4LCA4MSwgNCwgMSwgNTUsIDgxLCAyMjYsIDE3OCwgODEsIDYsIDEsIDIyMSwgMjQ2LCA4MSwgNCwgMSwgMjIxLCAKLSAgICAyNDYsIDgxLCA2LCAxLCAyNDksIDEyOCwgMjIwLCA1NSwgODEsIDQsIDEsIDI0OSwgMTI4LCAyMjAsIDU1LCA4MSwgNiwgMSwgCi0gICAgNTUsIDgxLCAyMjAsIDU1LCA4MSwgNCwgMSwgNTUsIDgxLCAyMjAsIDU1LCA4MSwgNiwgMSwgNTUsIDgxLCAyNDUsIDc1LCAKLSAgICA4MSwgNCwgMSwgNTUsIDgxLCAyNDUsIDc1LCA4MSwgNiwgMSwgMjU0LCAxODIsIDIzNCwgMTE3LCA4MSwgNCwgMSwgMjU0LCAKLSAgICAxODIsIDIzNCwgMTE3LCA4MSwgNiwgMSwgMjQ3LCAyNTMsIDI0MSwgNDUsIDgxLCA0LCAxLCAyNDcsIDI1MywgMjQxLCA0NSwgCi0gICAgODEsIDYsIDEsIDU1LCA4MSwgMjQxLCA0NSwgODEsIDQsIDEsIDU1LCA4MSwgMjQxLCA0NSwgODEsIDYsIDEsIDU1LCA4MSwgCi0gICAgMTYyLCA4MSwgNCwgMSwgNTUsIDgxLCAxNjIsIDgxLCA2LCAxLCAyMzMsIDE0OCwgMTYyLCA4MSwgNCwgMSwgMjMzLCAxNDgsIAotICAgIDE2MiwgODEsIDYsIDEsIDU1LCA4MSwgMjQxLCAyMTcsIDgxLCA0LCAxLCA1NSwgODEsIDI0MSwgMjE3LCA4MSwgNiwgMSwgCi0gICAgNTUsIDgxLCAyNDEsIDI1MSwgODEsIDQsIDEsIDU1LCA4MSwgMjQxLCAyNTEsIDgxLCA2LCAxLCA1NSwgODEsIDI0MywgMTAyLCAKLSAgICA4MSwgNCwgMSwgNTUsIDgxLCAyNDMsIDEwMiwgODEsIDYsIDEsIDU1LCA4MSwgMjQ3LCAxNjMsIDgxLCA0LCAxLCA1NSwgODEsIAotICAgIDI0NywgMTYzLCA4MSwgNiwgMSwgNTUsIDgxLCAyMjAsIDIyLCA4MSwgNCwgMSwgNTUsIDgxLCAyMjAsIDIyLCA4MSwgNiwgMSwgCi0gICAgNTUsIDIyNywgMjA4LCAyMjAsIDIyLCA4MSwgNCwgMSwgNTUsIDIyNywgMjA4LCAyMjAsIDIyLCA4MSwgNiwgMSwgNTUsIAotICAgIDIyNywgMjA4LCAyMjksIDI3LCA4MSwgNCwgMSwgNTUsIDIyNywgMjA4LCAyMjksIDI3LCA4MSwgNiwgMSwgNTUsIDIyNywgCi0gICAgMjA4LCAyMjcsIDE0OCwgODEsIDQsIDEsIDU1LCAyMjcsIDIwOCwgMjI3LCAxNDgsIDgxLCA2LCAxLCA1NSwgMjI3LCAyMDgsIAotICAgIDIxMiwgMzcsIDgxLCA0LCAxLCA1NSwgMjI3LCAyMDgsIDIxMiwgMzcsIDgxLCAxNiwgMjM0LCAyNDYsIDgxLCAxNiwgMjMwLCAKLSAgICAyMzEsIDIyMiwgMjExLCA4MSwgMTYsIDIyNSwgMTA5LCAyMjIsIDIxMSwgODEsIDE2LCAyMTgsIDE0NywgODEsIDE2LCAyMTcsIAotICAgIDQyLCAyMjIsIDIxMSwgODEsIDE2LCAyMzQsIDExMywgMjIyLCAyMTEsIDgxLCAxNiwgMjIwLCAyMywgMjE5LCAxNjUsIDgxLCAKLSAgICA2LCAxLCAyNDksIDExNSwgMjIwLCA1NSwgODEsIDQsIDEsIDI0OSwgMTE1LCAyMjAsIDU1LCA4MSwgNiwgMSwgMjQ5LCAxMTUsIAotICAgIDI0MywgMTAyLCA4MSwgNCwgMSwgMjQ5LCAxMTUsIDI0MywgMTAyLCA4MSwgMzgsIDIyOCwgMjM0LCA0OCwgODEsIDM4LCAKLSAgICAyMTgsIDI0NywgMjUzLCAyMjQsIDgxLCAzOCwgMjE4LCAyNDcsIDIzMywgMjEsIDgxLCA2LCAxLCAyNTEsIDE5OSwgMjM0LCAKLSAgICAxMTcsIDgxLCA0LCAxLCAyNTEsIDE5OSwgMjM0LCAxMTcsIDgxLCA1NSwgMjI3LCAyMDgsIDI0MywgMjI5LCAyMTgsIDEyOSwgCi0gICAgODEsIDU1LCAyMjcsIDIwOCwgMjQ3LCAxOTcsIDIyNCwgMTMsIDc4LCA4MSwgNTUsIDIyNywgMjA4LCAyMzUsIDIzNywgMjI0LCAKLSAgICAxMywgNzgsIDgxLCA1NSwgMjI3LCAyMDgsIDIxMywgMjQxLCAyNDcsIDE3MiwgODEsIDI0NCwgMiwgMTIzLCAyNDIsIDI3LCAKLSAgICA4MSwgMjQzLCAyMjksIDIxOCwgMTI5LCA4MSwgMjMwLCAxMjQsIDI0NywgMTcyLCA5OCwgNCwgMSwgMjU0LCAxMjMsIDk4LCAKLSAgICA0LCAxLCAyNTIsIDE1MiwgOTgsIDQsIDEsIDI0MywgMTA2LCA5OCwgNCwgMSwgMjQ3LCAxMjgsIDk4LCA0LCAxLCAyNDUsIAotICAgIDE1MCwgOTgsIDQsIDEsIDIxMywgMTYwLCA5OCwgNCwgMSwgMjEwLCA4OSwgOTgsIDQsIDEsIDIxNywgNjAsIDk4LCA0LCAxLCAKLSAgICAyMzUsIDI1NSwgOTgsIDQsIDEsIDIzNCwgMjM0LCA5OCwgNCwgMSwgMjMzLCA4MSwgOTgsIDQsIDEsIDIzMSwgMTg1LCA5OCwgCi0gICAgNCwgMSwgMjI5LCAxOTUsIDk4LCA0LCAxLCAyMjYsIDE5NiwgOTgsIDQsIDEsIDIyNiwgMTcsIDk4LCA0LCAxLCAyMTAsIDc4LCAKLSAgICA5OCwgNCwgMSwgMjIzLCAxNzEsIDk4LCA0LCAxLCAyMjEsIDI0MywgOTgsIDQsIDEsIDIxNywgNTAsIDk4LCA0LCAxLCAyMTQsIAotICAgIDE5MCwgOTgsIDQsIDEsIDIyNSwgMTQwLCA5OCwgNCwgMSwgMjM0LCAxMjEsIDk4LCA0LCAxLCAyNDIsIDI0MSwgOTgsIDQsIAotICAgIDEsIDIyNCwgNzMsIDk4LCA0LCAxLCAyMjAsIDIwLCA5OCwgNCwgMSwgMjUwLCA5NywgOTgsIDQsIDEsIDI1MSwgNywgOTgsIAotICAgIDQsIDEsIDIzNSwgMTAwLCA5OCwgNCwgMSwgMjUwLCA0MCwgOTgsIDQsIDEsIDI1MCwgMTQzLCA5OCwgNCwgMSwgMjExLCAKLSAgICAxNjMsIDk4LCA0LCAxLCAyMzUsIDExMSwgOTgsIDQsIDEsIDI0MiwgNDMsIDk4LCA0LCAxLCAyNDEsIDIzOCwgOTgsIDQsIDEsIAotICAgIDI0MSwgMTc1LCA5OCwgNCwgMSwgMjEyLCAyMiwgOTgsIDQsIDEsIDI0MiwgNCwgOTgsIDQsIDEsIDI0MSwgNjUsIDk4LCA0LCAKLSAgICAxLCAyMTAsIDI0NiwgOTgsIDQsIDEsIDI1NCwgMjMyLCAyMTYsIDEwOCwgMSwgMTkxLCAyMTYsIDEwOCwgMSwgMjExLCA5OSwgCi0gICAgMjE2LCAxMDgsIDEsIDIxMSwgOTgsIDIxNiwgMTA4LCAxLCAyMTEsIDg4LCAyMTYsIDEwOCwgMSwgMjExLCA4NiwgMjE2LCAKLSAgICAxMDgsIDEsIDI1MiwgMzIsIDI1NSwgMTYsIDIxMSwgODEsIDIxNiwgMTA4LCAxLCAyMTEsIDgxLCAyMTYsIDEwOCwgMSwgCi0gICAgMjExLCA5NiwgMjE2LCAxMDgsIDEsIDIxMSwgOTMsIDIxNiwgMTA4LCAxLCAyMTEsIDk1LCAyMTYsIDEwOCwgMSwgMjExLCAKLSAgICA5NCwgMjE2LCAxMDgsIDEsIDIxMSwgMTIsIDIxNiwgMTA4LCAxLCAyMTEsIDkwLCAyMTYsIDEwOCwgMSwgMjExLCA3OSwgCi0gICAgMjE2LCAxMDgsIDEsIDIxNSwgMTE1LCAyMTEsIDc5LCAyMTYsIDEwOCwgMSwgMjExLCA3NiwgMjE2LCAxMDgsIDEsIDIxMSwgCi0gICAgODQsIDIxNiwgMTA4LCAxLCAyNTIsIDMyLCAyNTUsIDE2LCAyMTEsIDg0LCAyMTYsIDEwOCwgMSwgMjE1LCAxMTUsIDIxMSwgCi0gICAgODQsIDIxNiwgMTA4LCAxLCAyMTEsIDgzLCAyMTYsIDEwOCwgMSwgMjExLCAxMDMsIDIxNiwgMTA4LCAxLCAyMTEsIDc3LCAKLSAgICAyMTYsIDEwOCwgMSwgMjE1LCAxMTUsIDIxMSwgNzcsIDIxNiwgMTA4LCAxLCAyMTEsIDY2LCAyMTYsIDEwOCwgMSwgMjE1LCAKLSAgICAxMTUsIDIxMSwgNjYsIDIxNiwgMTA4LCAxLCAyMTEsIDgsIDIxNiwgMTA4LCAxLCAyMTEsIDQ5LCAyMTYsIDEwOCwgMSwgCi0gICAgMjU0LCAyMDcsIDIxMSwgNDksIDIxNiwgMTA4LCAxLCAyMTUsIDExNSwgMjExLCA0OSwgMjE2LCAxMDgsIDEsIDIxMSwgNzUsIAotICAgIDIxNiwgMTA4LCAxLCAyMTEsIDc0LCAyMTYsIDEwOCwgMSwgMjExLCA3MSwgMjE2LCAxMDgsIDEsIDIxNSwgMTE1LCAyMTEsIAotICAgIDg1LCAyMTYsIDEwOCwgMSwgMjE1LCAxMTUsIDIxMSwgNjksIDIxNiwgMTA4LCAxLCAyMTEsIDY3LCAyMTYsIDEwOCwgMSwgCi0gICAgMjEwLCAyMTIsIDIxNiwgMTA4LCAxLCAyMTEsIDY0LCAyMTYsIDEwOCwgMSwgMjExLCA2MywgMjE2LCAxMDgsIDEsIDIxMSwgCi0gICAgODcsIDIxNiwgMTA4LCAxLCAyMTUsIDExNSwgMjExLCA4NywgMjE2LCAxMDgsIDEsIDI1MywgMTYzLCAyMTEsIDg3LCAyMTYsIAotICAgIDEwOCwgMSwgMjExLCA2MiwgMjE2LCAxMDgsIDEsIDIxMSwgNjAsIDIxNiwgMTA4LCAxLCAyMTEsIDYxLCAyMTYsIDEwOCwgMSwgCi0gICAgMjExLCA1OSwgMjE2LCAxMDgsIDEsIDIxMSwgNTgsIDIxNiwgMTA4LCAxLCAyMTEsIDk3LCAyMTYsIDEwOCwgMSwgMjExLCAKLSAgICA1NiwgMjE2LCAxMDgsIDEsIDIxMSwgNTQsIDIxNiwgMTA4LCAxLCAyMTEsIDUzLCAyMTYsIDEwOCwgMSwgMjExLCA1MiwgCi0gICAgMjE2LCAxMDgsIDEsIDIxMSwgNTAsIDIxNiwgMTA4LCAxLCAyMTcsIDM0LCAyMTEsIDUwLCAyMTYsIDEwOCwgMSwgMjExLCAKLSAgICA0OCwgMjE2LCAxMDgsIDEsIDIxMSwgNDcsIDIxNiwgMTA4LCAxLCAyMTAsIDI0NCwgMjE2LCAxMDgsIDU4LCAxLCAyMzMsIAotICAgIDEyNiwgNzgsIDIxNiwgMTA4LCAyMjAsIDEzOCwgNzgsIDIxNiwgMTA4LCAxMTYsIDIzNSwgNjMsIDI5LCAzLCAyMzIsIDE1NSwgCi0gICAgMjksIDMsIDIzMCwgMTYwLCAyOSwgMywgMjIyLCAyMDksIDI5LCAzLCAyMTksIDU3LCAyOSwgMywgMjIwLCA2LCAyOSwgMywgCi0gICAgMjUxLCAyMDQsIDI5LCAzLCAyMTYsIDQxLCAyOSwgMywgMjQ5LCAyMzcsIDI5LCAzLCAyMjgsIDcyLCAyOSwgMywgMjI3LCAKLSAgICAxMzMsIDI5LCAzLCAyNDIsIDE4MCwgMjI3LCAwLCAyOSwgMywgMjEwLCAyMiwgMjksIDMsIDI0NywgMTQzLCAyOSwgMywgCi0gICAgMjQ4LCAxMDQsIDI5LCAzLCAyMzUsIDY3LCAyOSwgMywgMjE2LCAxNTUsIDI5LCAzLCAyNTAsIDg1LCAyOSwgMywgMjI1LCAKLSAgICAxMjAsIDI5LCAzLCAyMjUsIDE1LCAyOSwgMywgMjQyLCAyNTUsIDI5LCAzLCAyNDIsIDI1MSwgMjksIDMsIDI0MiwgMjUyLCAKLSAgICAyOSwgMywgMjQyLCAyNTMsIDI5LCAzLCAyMTgsIDIyMywgMjksIDMsIDIxOCwgMTc5LCAyOSwgMywgMjE4LCAxOTIsIDI5LCAKLSAgICAzLCAyMTgsIDIyMiwgMjksIDMsIDIxOCwgMTk2LCAyOSwgMywgMjE4LCAxOTcsIDI5LCAzLCAyMTgsIDE4NCwgMjksIDMsIAotICAgIDI1MCwgMjEzLCAyOSwgMywgMjUwLCAxOTIsIDI5LCAzLCAyNTAsIDE5NCwgMjksIDMsIDI1MCwgMjEyLCAyOSwgMywgMjUwLCAKLSAgICAyMTAsIDI5LCAzLCAyNTAsIDIxMSwgMjksIDMsIDI1MCwgMTkzLCAyOSwgMywgMjA5LCAyNDMsIDI5LCAzLCAyMDksIDIyMSwgCi0gICAgMjksIDMsIDIwOSwgMjM0LCAyOSwgMywgMjA5LCAyNDIsIDI5LCAzLCAyMDksIDIzNywgMjksIDMsIDIwOSwgMjM4LCAyOSwgCi0gICAgMywgMjA5LCAyMjYsIDI5LCAzLCAyNTAsIDIwOCwgMjksIDMsIDI1MCwgMTk1LCAyOSwgMywgMjUwLCAxOTcsIDI5LCAzLCAKLSAgICAyNTAsIDIwNywgMjksIDMsIDI1MCwgMjA1LCAyOSwgMywgMjUwLCAyMDYsIDI5LCAzLCAyNTAsIDE5NiwgMjksIDMsIDIyMywgCi0gICAgMjM2LCAyOSwgMywgMjIzLCAyMjYsIDI5LCAzLCAyMjMsIDIzMiwgMjksIDMsIDIyMywgMjM1LCAyOSwgMywgMjIzLCAyMzMsIAotICAgIDI5LCAzLCAyMjMsIDIzNCwgMjksIDMsIDIyMywgMjMxLCAyOSwgMywgMjMzLCAxNTksIDI5LCAzLCAyMzMsIDE1MSwgMjksIAotICAgIDMsIDIzMywgMTU0LCAyOSwgMywgMjMzLCAxNTgsIDI5LCAzLCAyMzMsIDE1NSwgMjksIDMsIDIzMywgMTU2LCAyOSwgMywgCi0gICAgMjMzLCAxNTIsIDI5LCAzLCAyMTEsIDEzMCwgMjksIDMsIDIxMSwgMTIwLCAyOSwgMywgMjExLCAxMjYsIDI5LCAzLCAyMTEsIAotICAgIDEyOSwgMjksIDMsIDIxMSwgMTI3LCAyOSwgMywgMjExLCAxMjgsIDI5LCAzLCAyMTEsIDEyNSwgMjksIDMsIDI0MiwgNzEsIAotICAgIDI5LCAzLCAyNDIsIDYyLCAyOSwgMywgMjQyLCA2NSwgMjksIDMsIDI0MiwgNzAsIDI5LCAzLCAyNDIsIDY3LCAyOSwgMywgCi0gICAgMjQyLCA2OCwgMjksIDMsIDI0MiwgNjQsIDM4LCAzMywgMSwgMjUyLCA3NSwgMzgsIDMzLCAxLCAyMTMsIDI1NSwgMzgsIDMzLCAKLSAgICAxLCAyNDIsIDIzNiwgMzgsIDMzLCAxLCAyNDgsIDkwLCAzOCwgMzMsIDEsIDIxMCwgNzQsIDM4LCAzMywgMSwgMjEwLCA5NCwgCi0gICAgMzgsIDMzLCAxLCAxNzYsIDM4LCAzMywgMSwgMjQ1LCAxNzQsIDM4LCAzMywgMSwgMjQ1LCAxNTksIDM4LCAzMywgMSwgMjQ1LCAKLSAgICAxNTAsIDM4LCAzMywgMSwgNzYsIDM4LCAzMywgMSwgMjI1LCAyMjEsIDM4LCAzMywgMSwgMjQ1LCA5MiwgMzgsIDMzLCAxLCAKLSAgICAyNDUsIDgyLCAzOCwgMzMsIDEsIDIxNywgMjIsIDM4LCAzMywgMSwgMTYyLCAzOCwgMzMsIDEsIDIxNSwgMTc4LCAzOCwgMzMsIAotICAgIDEsIDI1MCwgMTMxLCAzOCwgMzMsIDEsIDIyMCwgMTAyLCAzOCwgMzMsIDEsIDIyMCwgNjUsIDM4LCAzMywgMSwgMjQ0LCA4MiwgCi0gICAgMzgsIDMzLCAxLCAyNDUsIDgxLCAzOCwgMzMsIDEsIDYxLCAzOCwgMzMsIDEsIDIzNiwgNjAsIDM4LCAzMywgMSwgMjQ3LCAKLSAgICAxNjEsIDM4LCAzMywgMSwgMjMwLCAxNDAsIDIxNCwgMjA1LCAzOCwgMzMsIDEsIDIxMSwgNTksIDM4LCAzMywgMSwgMjEwLCAKLSAgICAyMTIsIDM4LCAzMywgMSwgMjM1LCAxODMsIDYxLCAzOCwgMzMsIDEsIDIzMiwgMTkyLCAyMTAsIDE4MywgMzgsIDMzLCAxLCAKLSAgICAyNTEsIDI0OSwgMjEwLCAxODMsIDM4LCAzMywgMSwgMjM1LCAxODMsIDI1MSwgMjQ5LCAyMTAsIDE4MywgNDQsIDI1NCwgCi0gICAgMTEwLCAyMTgsIDYwLCAyMzEsIDE1NCwgNDQsIDI1NCwgMTEwLCAyNDYsIDExOCwgMjE4LCA2MCwgMjMxLCAxNTQsIDQzLCAKLSAgICAyMTgsIDYwLCAxMjcsIDQ0LCAyMTgsIDYwLCAxMjcsIDQzLCAyNDYsIDExOCwgMjE4LCA2MCwgMTI3LCA0NCwgMjQ2LCAxMTgsIAotICAgIDIxOCwgNjAsIDEyNywgMjIzLCAxNTcsIDIzNSwgMjAyLCAyMzEsIDE1NCwgMjIzLCAxNTcsIDI0NiwgMTE4LCAyMzUsIDIwMiwgCi0gICAgMjMxLCAxNTQsIDI0NiwgMTE4LCAyMTUsIDI0MSwgMjMxLCAxNTQsIDQzLCAyMTUsIDI0MSwgMTI3LCA0NCwgMjE1LCAyNDEsIAotICAgIDEyNywgMjIzLCAxNTcsIDIxOCwgMjM0LCA0MywgMjIzLCAxNTcsIDIyNiwgMTk4LCAxMjcsIDQ0LCAyMjMsIDE1NywgMjI2LCAKLSAgICAxOTgsIDEyNywgMjQ1LCAyMTAsIDI0OSwgMTU4LCAyMjYsIDEzLCAyNDQsIDIyLCAyMjYsIDEzLCAyMjMsIDQ5LCAyNDQsIAotICAgIDIyLCAyMjYsIDEzLCAyNDAsIDE2NSwgMjQ2LCAxMTgsIDIyNiwgMjUxLCAyNDYsIDEwNCwgMjU0LCAxMTksIDIxNCwgMTUzLCAKLSAgICAyNTQsIDExOSwgMjQ2LCAxMTgsIDIyMiwgMjQ3LCAyNTQsIDEwOSwgNTIsIDIyNiwgMjQ4LCAyNDAsIDE2OCwgMjM1LCAxOTMsIAotICAgIDIzNSwgMjAxLCAyMjYsIDU5LCAyNTEsIDE1NCwgMjQwLCAxNjksIDIsIDI0OCwgMSwgMjE2LCA4OSwgMiwgMjIyLCAyMzQsIAotICAgIDQ4LCA0MywgMTIxLCAyMjYsIDUsIDEyNywgNDQsIDEyMSwgMjI2LCA1LCAxMjcsIDIxNiwgODksIDIsIDU5LCA0OCwgMjE2LCAKLSAgICA4OSwgMiwgNTksIDUxLCA0MywgNjcsIDI1MiwgMTQxLCAyLCAyMjQsIDcsIDQ0LCA2NywgMjUyLCAxNDEsIDIsIDIyNCwgNywgCi0gICAgMjE2LCAxNCwgNDMsIDE2MywgMTI3LCAyMTYsIDE0LCA0NCwgMTYzLCAxMjcsIDI1MSwgMTc1LCA0MywgMTYzLCAxMjcsIAotICAgIDI1MSwgMTc1LCA0NCwgMTYzLCAxMjcsIDQzLCAyMTksIDE4NywgMTA0LCAxMjcsIDQ0LCAyMTksIDE4NywgMTA0LCAxMjcsIAotICAgIDQzLCA1MiwgMjI2LCAzLCA0NCwgNTIsIDIyNiwgMywgMTEzLCAxNzAsIDExNywgMTIzLCA1OSwgMjI0LCAxNDAsIDEyMywgCi0gICAgNTksIDExNywgMTEzLCAxNzAsIDIyNCwgMTQwLCA5MiwgMjQ0LCAxMSwgNTksIDIyNCwgMTQwLCAyNDQsIDgxLCA1OSwgNzgsIAotICAgIDIyMywgNDksIDIyNCwgMTMsIDc4LCA2NywgMTgyLCAyMjIsIDIzNCwgMjI1LCAxMCwgMjExLCAyMDksIDIyMCwgMTM4LCAKLSAgICAyMzAsIDIyNCwgMjQ3LCAxMjAsIDIxNSwgOTQsIDI0OSwgMjE5LCAyMjMsIDE1NywgMjQ3LCAxMjAsIDIyMywgMTU3LCAyNDksIAotICAgIDIxOSwgMjE1LCA5NCwgMjIwLCAxNTAsIDI0OCwgMjA2LCAyLCA0MywgMjQyLCAxMDgsIDI0OCwgMjA2LCAyLCA0NCwgMjQyLCAKLSAgICAxMDgsIDIxNSwgOTQsIDI0OCwgMjA1LCAyMTYsIDE0LCAxNjMsIDIyMSwgMTczLCA1MCwgMjE1LCA1OSwgMjQ4LCAxNTYsIAotICAgIDIxNiwgMTQzLCAyNDgsIDE1NiwgOSwgMzQsIDIyMywgNzYsIDksIDM0LCAyNTAsIDEwLCA5LCAzNCwgMjIxLCAxNzYsIDExMCwgCi0gICAgOSwgMzQsIDIyMSwgMTc2LCAxMDUsIDksIDM0LCAyMjEsIDE3NiwgMTU4LCA5LCAzNCwgMjI1LCAxNjcsIDksIDM0LCAyNTEsIAotICAgIDE2MywgOSwgMzQsIDIxNywgOTIsIDksIDM0LCAyMzQsIDMzLCAxMTAsIDksIDM0LCAyMzQsIDMzLCAxMDUsIDksIDM0LCAKLSAgICAyNDcsIDE3MCwgOSwgMzQsIDIyMSwgMTc5LCA5LCAzNCwgNCwgMTEwLCA5LCAzNCwgNCwgMTA1LCA5LCAzNCwgMjMzLCA5NywgCi0gICAgMTEwLCA5LCAzNCwgMjMzLCA5NywgMTA1LCA5LCAzNCwgMjMzLCA5NywgMTU4LCA5LCAzNCwgMjMzLCA5NywgMTYxLCA5LCAKLSAgICAzNCwgMjE5LCA2OCwgOSwgMzQsIDIxNiwgMTQ1LCA5LCAzNCwgMjE5LCA2NiwgMTEwLCA5LCAzNCwgMjE5LCA2NiwgMTA1LCAKLSAgICA5LCAzNCwgMjQxLCAyMjgsIDExMCwgOSwgMzQsIDI0MSwgMjI4LCAxMDUsIDksIDM0LCAyNDIsIDE1LCA5LCAzNCwgMjIzLCAKLSAgICAxNDcsIDksIDM0LCAyNTAsIDgyLCA5LCAzNCwgMjE4LCAzNywgOSwgMzQsIDIzMCwgMTI4LCA5LCAzNCwgMjQ4LCA4OCwgOSwgCi0gICAgMzQsIDIzMCwgMTIwLCA5LCAzNCwgMjUwLCAyNSwgOSwgMzQsIDIxMiwgNDEsIDExMCwgOSwgMzQsIDIxMiwgNDEsIDEwNSwgCi0gICAgOSwgMzQsIDI0NCwgOTYsIDksIDM0LCAyMjUsIDIzMiwgMTEwLCA5LCAzNCwgMjI1LCAyMzIsIDEwNSwgOSwgMzQsIDIxOSwgCi0gICAgMTYwLCAxNjMsIDIxNSwgMjM2LCAyMTUsIDE4OCwgOSwgMzQsIDI0OSwgMTQ1LCA5LCAzNCwgMjQ3LCAxMzYsIDksIDM0LCAKLSAgICAyMzUsIDEzNywgOSwgMzQsIDI1MSwgMTk4LCA2NCwgMjQ5LCAyNTAsIDksIDM0LCAyNDUsIDE1LCA5LCAzNCwgMjE4LCAyNDksIAotICAgIDExMCwgOSwgMzQsIDIxOCwgMjQ5LCAxMDUsIDksIDM0LCAyNTIsIDE1NCwgOSwgMzQsIDIxOSwgMTY3LCA5LCAzNCwgMjUxLCAKLSAgICA2MywgMjE5LCAxNjcsIDksIDM0LCAyMjksIDkwLCAxMTAsIDksIDM0LCAyMjksIDkwLCAxMDUsIDksIDM0LCAyMjksIDkwLCAKLSAgICAxNTgsIDksIDM0LCAyMjksIDkwLCAxNjEsIDksIDM0LCAyMzEsIDQ2LCA5LCAzNCwgMjIwLCA1NywgOSwgMzQsIDIyMywgCi0gICAgMTUzLCA5LCAzNCwgMjQ1LCAzNywgOSwgMzQsIDIyNiwgMjA5LCA5LCAzNCwgMjUxLCAxMzMsIDExMCwgOSwgMzQsIDI1MSwgCi0gICAgMTMzLCAxMDUsIDksIDM0LCAyMzEsIDg2LCA5LCAzNCwgMjMwLCAxMjMsIDksIDM0LCAyNDIsIDE0MCwgMTEwLCA5LCAzNCwgCi0gICAgMjQyLCAxNDAsIDEwNSwgOSwgMzQsIDI0MiwgMTQwLCAxNTgsIDksIDM0LCAyMTYsIDEwNiwgOSwgMzQsIDI0OSwgMjQ5LCA5LCAKLSAgICAzNCwgMjEyLCA5LCAxMTAsIDksIDM0LCAyMTIsIDksIDEwNSwgOSwgMzQsIDI1MSwgNjMsIDIyMSwgMTcwLCA5LCAzNCwgCi0gICAgMjE5LCAxNjAsIDI0MCwgMjQ4LCA5LCAzNCwgMjQwLCAyNDgsIDksIDM0LCAyNTEsIDYzLCAyMTksIDIsIDksIDM0LCAyNTEsIAotICAgIDYzLCAyMjAsIDUyLCA5LCAzNCwgMjQ0LCAzMiwgOSwgMzQsIDI1MSwgNjMsIDI1MCwgMjI4LCA5LCAzNCwgMjE5LCAxNjAsIAotICAgIDIxMiwgNTcsIDksIDM0LCAyMTIsIDU4LCAxMTAsIDksIDM0LCAyMTIsIDU4LCAxMDUsIDksIDM0LCAyNTAsIDI3LCA5LCAzNCwgCi0gICAgMjUxLCA2MywgMjQyLCAxNjYsIDksIDM0LCAxOTksIDExMCwgOSwgMzQsIDE5OSwgMTA1LCA5LCAzNCwgMjUxLCA2MywgMjMyLCAKLSAgICAxMzcsIDksIDM0LCAyNTEsIDYzLCAyNDMsIDg4LCA5LCAzNCwgMjMwLCAxMTksIDExMCwgOSwgMzQsIDIzMCwgMTE5LCAxMDUsIAotICAgIDksIDM0LCAyMjMsIDE1OSwgOSwgMzQsIDI1MSwgMjA3LCA5LCAzNCwgMjUxLCA2MywgMjE3LCA1NiwgMjMzLCA1MiwgOSwgCi0gICAgMzQsIDI1MSwgNjMsIDIzMywgNTMsIDksIDM0LCAyNTEsIDYzLCAyMTEsIDIzOSwgOSwgMzQsIDI1MSwgNjMsIDI0NCwgNDYsIAotICAgIDksIDM0LCAyNDUsIDIxOCwgMTEwLCA5LCAzNCwgMjQ1LCAyMTgsIDEwNSwgOSwgMzQsIDI0NSwgMjE4LCAxNTgsIDksIDM0LCAKLSAgICAyNTEsIDYzLCAyNDUsIDIxNywgOSwgMzQsIDI0MSwgMjM1LCA5LCAzNCwgMjUxLCA2MywgMjQwLCAyNDUsIDksIDM0LCAyNTEsIAotICAgIDE5NCwgOSwgMzQsIDI0MiwgMjIyLCA5LCAzNCwgMjUxLCA2MywgMjQ0LCA5MCwgOSwgMzQsIDI1MSwgNjMsIDI1MSwgMjM3LCAKLSAgICA5LCAzNCwgMjUxLCA2MywgMjIyLCAxLCA5LCAzNCwgMjE5LCAxNjAsIDIxMiwgMiwgOSwgMzQsIDIxOSwgMTYwLCAyMTEsIAotICAgIDQxLCA5LCAzNCwgMjUxLCA2MywgMjQzLCAyNDQsIDksIDM0LCAyMzUsIDE0MywgMjQ1LCA0MSwgOSwgMzQsIDI1MSwgNjMsIAotICAgIDI0NSwgNDEsIDksIDM0LCAyMzUsIDE0MywgMjE2LCAxNSwgOSwgMzQsIDI1MSwgNjMsIDIxNiwgMTUsIDksIDM0LCAyMzUsIAotICAgIDE0MywgMjQ2LCA5NiwgOSwgMzQsIDI1MSwgNjMsIDI0NiwgOTYsIDksIDM0LCAyMTUsIDkxLCA5LCAzNCwgMjM1LCAxNDMsIAotICAgIDIxNSwgOTEsIDksIDM0LCAyNTEsIDYzLCAyMTUsIDkxLCA2MCwgMzQsIDExMCwgNjAsIDM0LCAyMzIsIDIxMywgNjAsIDM0LCAKLSAgICAyNDcsIDEyMCwgNjAsIDM0LCAyMTksIDk1LCA2MCwgMzQsIDIyMSwgMTc1LCA2MCwgMzQsIDEwMywgNjAsIDM0LCAxMDUsIAotICAgIDYwLCAzNCwgMjMyLCAyMzcsIDYwLCAzNCwgMjMxLCAxODUsIDYwLCAzNCwgMjMzLCAzMywgNjAsIDM0LCAyNDUsIDEyOSwgCi0gICAgNjAsIDM0LCAxOTUsIDYwLCAzNCwgMTI0LCAyNTEsIDE2MywgNjAsIDM0LCAyNDksIDE0NywgNjAsIDM0LCAyNDAsIDExMSwgCi0gICAgNjAsIDM0LCAyMTcsIDkyLCA2MCwgMzQsIDIwNCwgMjUxLCAxNjMsIDYwLCAzNCwgMjM0LCAzMiwgNjAsIDM0LCAyMjQsIAotICAgIDIyNCwgNjAsIDM0LCAyMTEsIDIwMiwgNjAsIDM0LCAyMTgsIDI0MywgNjAsIDM0LCA0NCwgMjA0LCAyNTEsIDE2MywgNjAsIAotICAgIDM0LCAyNDEsIDE3NiwgMjQ1LCAxNDUsIDYwLCAzNCwgMjE2LCAyNDcsIDYwLCAzNCwgMjQ3LCAxNzAsIDYwLCAzNCwgMjIxLCAKLSAgICAxNzksIDYwLCAzNCwgMjUwLCAxMCwgNjAsIDM0LCAyMjQsIDE4MiwgNjAsIDM0LCAyNTQsIDIxNSwgNjAsIDM0LCAyMzAsIAotICAgIDExMCwgNjAsIDM0LCAyNDUsIDE0NSwgNjAsIDM0LCAyNDUsIDIyMywgNjAsIDM0LCAyMjEsIDIwMCwgNjAsIDM0LCAyNDIsIAotICAgIDE3NCwgNjAsIDM0LCAyNDIsIDE3NSwgMjE5LCA4MSwgNjAsIDM0LCAyNDUsIDQwLCA2MCwgMzQsIDI1MSwgMjQ4LCA2MCwgCi0gICAgMzQsIDIxMSwgMjIxLCA2MCwgMzQsIDI1MCwgMTAxLCA2MCwgMzQsIDIyMiwgMTk2LCA2MCwgMzQsIDIzNSwgMjUxLCA2MCwgCi0gICAgMzQsIDIxOSwgNzksIDYwLCAzNCwgMjMzLCA5NiwgNjAsIDM0LCAyNDksIDE1NiwgNjAsIDM0LCAyMTgsIDIzNywgNjAsIDM0LCAKLSAgICAyMzAsIDExNSwgNjAsIDM0LCAyMjIsIDIyNCwgNjAsIDM0LCAyMTEsIDIwNiwgNjAsIDM0LCAyMjYsIDE5MCwgNjAsIDM0LCAKLSAgICAyMTUsIDk3LCA2MCwgMzQsIDI0NiwgODAsIDYwLCAzNCwgMjE5LCAyNTEsIDIxNiwgMTQ1LCA2MCwgMzQsIDI0NiwgMTE4LCAKLSAgICAyNTAsIDEwLCA2MCwgMzQsIDE5OSwgMjE4LCAxMDgsIDYwLCAzNCwgMTEzLCAyNDIsIDEwLCA2MCwgMzQsIDIyMCwgMCwgNjAsIAotICAgIDM0LCAyNTEsIDE2OSwgNjAsIDM0LCAyMTksIDY1LCA2MCwgMzQsIDI1MSwgMTM3LCA2MCwgMzQsIDIxOCwgMTM4LCA2MCwgCi0gICAgMzQsIDI0MSwgMjI3LCA2MCwgMzQsIDI0MiwgMjgsIDYwLCAzNCwgMjQ3LCAxMjMsIDYwLCAzNCwgMjQyLCAxNSwgNjAsIDM0LCAKLSAgICAyNTEsIDE1NCwgNjAsIDM0LCAyMjMsIDE0NywgNjAsIDM0LCAyMjEsIDE4NywgNjAsIDM0LCAyNDcsIDE5OSwgNjAsIDM0LCAKLSAgICAyNTMsIDE2OCwgNjAsIDM0LCAyMTgsIDIzNCwgNjAsIDM0LCAyMjgsIDUxLCA2MCwgMzQsIDIxOCwgMzcsIDYwLCAzNCwgCi0gICAgMjIxLCAyMTEsIDYwLCAzNCwgMjMwLCAxMjgsIDYwLCAzNCwgMjE1LCAyMzUsIDYwLCAzNCwgMjMzLCAxMjIsIDYwLCAzNCwgCi0gICAgMjE4LCAxMjksIDYwLCAzNCwgMjQ4LCA4OCwgNjAsIDM0LCAyMTIsIDIxLCA2MCwgMzQsIDI0NywgMTQ2LCAyMjgsIDUxLCAKLSAgICA2MCwgMzQsIDI0OSwgMjE1LCA2MCwgMzQsIDI0MywgMjIyLCA2MCwgMzQsIDI1MCwgMjEsIDYwLCAzNCwgMjE4LCAxNDIsIAotICAgIDYwLCAzNCwgMjEyLCA0MCwgNjAsIDM0LCAyNDQsIDk2LCA2MCwgMzQsIDI1MCwgMTgsIDYwLCAzNCwgMjQ0LCAxNjEsIDYwLCAKLSAgICAzNCwgNTIsIDIxMSwgMTc4LCA2MCwgMzQsIDE2MywgMjE1LCAyMzYsIDIxNSwgMTg4LCA2MCwgMzQsIDIxOSwgODksIDYwLCAKLSAgICAzNCwgMjQ0LCAxNzEsIDYwLCAzNCwgMjQ5LCAxNDUsIDYwLCAzNCwgMjQ3LCAxMzYsIDYwLCAzNCwgMjI0LCAxNzksIDYwLCAKLSAgICAzNCwgMjM1LCAxMzcsIDYwLCAzNCwgMjMxLCA2NywgNjAsIDM0LCAyMTYsIDg4LCA2MCwgMzQsIDIxNywgMjQ1LCA2MCwgMzQsIAotICAgIDIzMiwgMjMxLCA2MCwgMzQsIDIxNCwgMTMxLCA2MCwgMzQsIDI0NCwgMTIwLCA2MCwgMzQsIDI1MSwgMTk4LCA2NCwgMjQ5LCAKLSAgICAyNTAsIDYwLCAzNCwgMjE5LCAxODgsIDYwLCAzNCwgMjQ2LCAxMTgsIDIxNiwgMjQyLCA2MCwgMzQsIDIxMSwgMjUzLCA2MCwgCi0gICAgMzQsIDIxOSwgMTAzLCA2MCwgMzQsIDI0NywgMTg3LCA2MCwgMzQsIDI0NSwgMTUsIDYwLCAzNCwgMjE5LCA1LCA2MCwgMzQsIAotICAgIDc0LCA2MCwgMzQsIDIxOCwgMTMxLCA2MCwgMzQsIDIxOCwgMjQ4LCA2MCwgMzQsIDIxNSwgMjU1LCA2MCwgMzQsIDI0MiwgCi0gICAgMTQ3LCA2MCwgMzQsIDI1MCwgMjE4LCA2MCwgMzQsIDIxOCwgMTYwLCA2MCwgMzQsIDI1MiwgMTU0LCA2MCwgMzQsIDIyMywgCi0gICAgMzEsIDYwLCAzNCwgMjE5LCAxNjcsIDYwLCAzNCwgMjM1LCAxMzAsIDYwLCAzNCwgMjI5LCA4OSwgNjAsIDM0LCAyMjAsIDU3LCAKLSAgICA2MCwgMzQsIDI0NCwgMTQ5LCA2MCwgMzQsIDIyNiwgMjA5LCA2MCwgMzQsIDI1NCwgMTE4LCA2MCwgMzQsIDIyNSwgMjksIAotICAgIDYwLCAzNCwgMjQ1LCAyMjcsIDYwLCAzNCwgMjUxLCAxMzIsIDYwLCAzNCwgMjMxLCA4NiwgNjAsIDM0LCAyMzAsIDE4MywgCi0gICAgNjAsIDM0LCAyMjAsIDE1NiwgNjAsIDM0LCAyNTMsIDI1MiwgNjAsIDM0LCAyMzAsIDEyMywgNjAsIDM0LCAyMTYsIDE5LCAKLSAgICA2MCwgMzQsIDIyNiwgMTY1LCA2MCwgMzQsIDI1MSwgMjAxLCA2MCwgMzQsIDIxOCwgMTI3LCA2MCwgMzQsIDI0OSwgMjI1LCAKLSAgICA2MCwgMzQsIDI0MiwgMTM5LCA2MCwgMzQsIDIxNiwgMTA2LCA2MCwgMzQsIDIzNSwgMjE3LCA2MCwgMzQsIDI1MSwgMjExLCAKLSAgICA2MCwgMzQsIDIxMiwgNTgsIDI0NSwgMTQ1LCA2MCwgMzQsIDI0OSwgMjQ5LCA2MCwgMzQsIDIxMiwgOCwgNjAsIDM0LCAyMjEsIAotICAgIDE3MCwgNjAsIDM0LCAyNDAsIDI0OCwgNjAsIDM0LCAyMTksIDIsIDYwLCAzNCwgMjE0LCAyMiwgNjAsIDM0LCAyNTIsIDcyLCAKLSAgICA2MCwgMzQsIDIyNSwgNzMsIDYwLCAzNCwgMjUyLCAxNzQsIDYwLCAzNCwgMjIwLCA1MiwgNjAsIDM0LCAyMjMsIDExMCwgNjAsIAotICAgIDM0LCAyMjIsIDEyNiwgNjAsIDM0LCAyNDQsIDMyLCA2MCwgMzQsIDI1MSwgMjAwLCA2MCwgMzQsIDI1MCwgMjI4LCA2MCwgCi0gICAgMzQsIDI1MSwgMjI2LCA2MCwgMzQsIDIzMCwgMTI1LCA2MCwgMzQsIDIxMiwgNTcsIDYwLCAzNCwgMjUwLCAyNywgNjAsIDM0LCAKLSAgICAyMTEsIDIzNiwgNjAsIDM0LCAyNDcsIDE4MCwgNjAsIDM0LCAyMTMsIDE2MSwgNjAsIDM0LCAyNDIsIDE2NiwgNjAsIDM0LCAKLSAgICAyMzIsIDEzNywgNjAsIDM0LCAyNDMsIDg4LCA2MCwgMzQsIDIzMCwgMTE4LCA2MCwgMzQsIDIxOSwgOTQsIDYwLCAzNCwgCi0gICAgMjE5LCAyNTEsIDIxNywgNzYsIDI1MSwgMjM3LCA2MCwgMzQsIDIyMywgMTU5LCA2MCwgMzQsIDI1MSwgMjA3LCA2MCwgMzQsIAotICAgIDIxMSwgMTk3LCA2MCwgMzQsIDI0NCwgMTkwLCA2MCwgMzQsIDIzMywgNTIsIDYwLCAzNCwgMjE3LCA1NiwgMjMzLCA1MiwgCi0gICAgNjAsIDM0LCAyMzMsIDQ4LCA2MCwgMzQsIDIxOSwgMzAsIDYwLCAzNCwgMjMzLCA1MywgNjAsIDM0LCAyMTEsIDIzOSwgNjAsIAotICAgIDM0LCAyNDQsIDQ2LCA2MCwgMzQsIDI0NSwgMjE3LCA2MCwgMzQsIDI0MSwgMjM1LCA2MCwgMzQsIDI0NCwgMCwgNjAsIDM0LCAKLSAgICAyNDAsIDI0NSwgNjAsIDM0LCAyNTEsIDE5NCwgNjAsIDM0LCAyMTcsIDYzLCA2MCwgMzQsIDI0MiwgMzQsIDYwLCAzNCwgCi0gICAgMjQ0LCAxMTMsIDYwLCAzNCwgMjIyLCAyOCwgMjExLCAyMzYsIDYwLCAzNCwgMjUwLCAyMjAsIDYwLCAzNCwgMjQyLCAyMjIsIAotICAgIDYwLCAzNCwgMjQ0LCA5MCwgNjAsIDM0LCAyNTEsIDIzNywgNjAsIDM0LCAyMjIsIDEsIDYwLCAzNCwgMjQ4LCA3NCwgNjAsIAotICAgIDM0LCAyMTIsIDIsIDYwLCAzNCwgMjQxLCAyMTAsIDYwLCAzNCwgMjExLCA0MSwgNjAsIDM0LCAyMzAsIDE5MiwgNjAsIDM0LCAKLSAgICAyNTEsIDIyMSwgNjAsIDM0LCAyNDUsIDE1NSwgNjAsIDM0LCAyNDMsIDI0NCwgNjAsIDM0LCAyMTUsIDIwOSwgNjAsIDM0LCAKLSAgICAyNDYsIDgyLCA2MCwgMzQsIDIyMywgMTQxLCA2MCwgMzQsIDIyOCwgNTMsIDYwLCAzNCwgMjQ1LCA0MSwgNjAsIDM0LCAyMTYsIAotICAgIDE1LCA2MCwgMzQsIDI0NiwgOTYsIDYwLCAzNCwgMjE1LCA5MSwgNjAsIDM0LCAyNDQsIDQ4LCAxMDksIDI0OCwgMzcsIDEzNSwgCi0gICAgNDMsIDIxNiwgNDIsIDIyMiwgMjUxLCAxMDksIDI0OCwgMzcsIDEzNSwgNzcsIDIxNiwgNDIsIDUxLCAxMDksIDI0OCwgMzcsIAotICAgIDEzNSwgNDMsIDIxNiwgNDIsIDIzMCwgMjI0LCAyMiwgMjIyLCAyNTEsIDEwOSwgMjQ4LCAzNywgMTM1LCA3NywgMjE2LCA0MiwgCi0gICAgMjMwLCAyMjQsIDIyLCA1MSwgMTA5LCAyNDgsIDM3LCAxMzUsIDI0MywgMjI5LCAyMTgsIDEwLCAxMDksIDI0OCwgMzcsIAotICAgIDEzNSwgMjE4LCAxMSwgMjQzLCAyNDMsIDQ4LCAxMDksIDI0OCwgMzcsIDEzNSwgMjE4LCAxMSwgMjQzLCAyNDMsIDUxLCAKLSAgICAxMDksIDI0OCwgMzcsIDEzNSwgMjE4LCAxMSwgMjQzLCAyNDMsIDIzMywgNDYsIDEwOSwgMjQ4LCAzNywgMTM1LCAyMTgsIAotICAgIDExLCAyNDMsIDI0MywgMjE0LCAxNjAsIDIzMywgNDYsIDEwOSwgMjQ4LCAzNywgMTM1LCAyMTgsIDExLCAyNDMsIDI0MywgCi0gICAgMjE0LCAxNjAsIDIyMiwgMjUxLCAxMDksIDI0OCwgMzcsIDEzNSwgMjE4LCAxMSwgMjQzLCAyNDMsIDIzMiwgMTA4LCAyMzMsIAotICAgIDQ2LCAxMDksIDI0OCwgMzcsIDEzNSwgMjI2LCAxMjIsIDEwOSwgMjE5LCAxOCwgMTA5LCAyNDksIDIxOSwgMTA5LCAyNDMsIAotICAgIDIyOSwgMjE4LCAxMjksIDI0NywgMTc3LCA3OCwgMjM1LCAxMzEsIDIzNSwgMjM2LCAyMTgsIDE1OSwgODcsIDEwOSwgMjM1LCAKLSAgICAxNTgsIDc4LCAxMDksIDI0OSwgMjUyLCA3OCwgMTA5LCA1NCwgMjEwLCA4NiwgNDMsIDI1NCwgMTEwLCAxMjcsIDQ0LCAyNTQsIAotICAgIDExMCwgMTI3LCA0MywgNTIsIDI1NCwgMTEwLCAxMjcsIDQ0LCA1MiwgMjU0LCAxMTAsIDEyNywgNDMsIDI0OSwgMTYxLCAKLSAgICAxMjcsIDQ0LCAyNDksIDE2MSwgMTI3LCA0MywgNzEsIDI0OSwgMTYxLCAxMjcsIDQ0LCA3MSwgMjQ5LCAxNjEsIDEyNywgNDMsIAotICAgIDg1LCAyMzMsIDIwLCAxMjcsIDQ0LCA4NSwgMjMzLCAyMCwgMTI3LCAyMjQsIDIzNywgNzgsIDI0MywgMzIsIDc4LCA0MywgCi0gICAgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDQ0LCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgNDMsIDcxLCAyMzMsIDIwLCAxMjcsIDQ0LCAKLSAgICA3MSwgMjMzLCAyMCwgMTI3LCA0MywgNzEsIDIxNiwgNiwgMjIwLCA1MywgMTI3LCA0NCwgNzEsIDIxNiwgNiwgMjIwLCA1MywgCi0gICAgMTI3LCA0MywgNzEsIDQyLCAxMjcsIDQ0LCA3MSwgNDIsIDEyNywgMjEyLCAzNiwgMjQ4LCAxNTYsIDIyMywgNDksIDUyLCAKLSAgICAyMjQsIDE5MSwgMjIzLCAyNTQsIDc4LCA1MiwgMjI0LCAxOTEsIDIyMywgMjU0LCA3OCwgMTIxLCA1MiwgMjI0LCAxOTEsIAotICAgIDIyMywgMjU0LCA3OCwgMjI0LCAyMzcsIDE2NCwgMjQ0LCAxOTAsIDI0MiwgOCwgMjI3LCAxOTgsIDExMCwgMjQyLCA4LCAKLSAgICAyMjcsIDE5OCwgMTA1LCAyNDIsIDgsIDIyNywgMTk4LCAxNTgsIDI0MiwgOCwgMjI3LCAxOTgsIDE2MSwgMjQyLCA4LCAyMjcsIAotICAgIDE5OCwgMTg5LCAyNDIsIDgsIDIyNywgMTk4LCAxOTQsIDI0MiwgOCwgMjI3LCAxOTgsIDE5OCwgMjQyLCA4LCAyMjcsIDE5OCwgCi0gICAgMTk1LCAyNDIsIDgsIDIyNywgMTk4LCAyMDAsIDEwOSwgMjMzLCAzLCAxMzgsIDc4LCAxMDksIDIyMiwgMjI4LCAxMzgsIDc4LCAKLSAgICAxMDksIDI0OCwgNDQsIDEzOCwgNzgsIDEwOSwgMjQ1LCAxMjgsIDEzOCwgNzgsIDI0LCAyMTksIDE1NSwgNTksIDEzOCwgNzgsIAotICAgIDI0LCA1MiwgNTksIDEzOCwgNzgsIDIxMiwgMzIsIDI0OCwgMTU2LCA2NywgMjM0LCAyMzMsIDIyMywgNzcsIDc4LCA2NywgCi0gICAgMjM0LCAyMzMsIDIyMywgNzcsIDIsIDIxMywgMTM1LCAyMTksIDMxLCA3OCwgNjcsIDIzNCwgMjMzLCAyMjMsIDc3LCAxNjQsIAotICAgIDIxNCwgMTYwLCAyNDIsIDI3LCA2NywgMjM0LCAyMzMsIDIyMywgNzcsIDIsIDIxMywgMTM1LCAyMTksIDMxLCAxNjQsIDIxNCwgCi0gICAgMTYwLCAyNDIsIDI3LCA2NywgMjM0LCAyMzMsIDIyMywgNzcsIDE2NCwgMjMyLCAxMDgsIDI0MiwgMjcsIDM3LCAyMjQsIAotICAgIDIzNywgNzgsIDEwOSwgMjE3LCAzLCAyMzIsIDIxNCwgMjQ0LCAxNDYsIDIyMCwgMTM4LCA4NywgMjQyLCA4LCAyMjcsIDE5OCwgCi0gICAgMjE2LCAyNDcsIDI0MiwgOCwgMjI3LCAxOTgsIDIxNSwgNzMsIDI0MiwgOCwgMjI3LCAxOTgsIDIxNiwgMTYyLCA2NywgMTA5LCAKLSAgICAyMzUsIDE1OCwgNzgsIDIzMSwgMTQwLCA3OCwgMjI1LCAyNTUsIDI1NCwgMTQwLCA3OCwgMTA5LCA0NSwgMjM1LCAyMzgsIAotICAgIDEwOSwgMTYzLCAyNDQsIDEwNiwgMjE5LCAxOCwgMTQxLCAxLCA0LCA2MSwgMTQxLCAxLCA2MSwgMTQxLCAxLCA0LCA3MywgCi0gICAgMTQxLCAxLCA3MywgMTQxLCAxLCA0LCA3MCwgMTQxLCAxLCA3MCwgMTQxLCAxLCA0LCA3NSwgMTQxLCAxLCA3NSwgMTQxLCAxLCAKLSAgICA0LCA3NiwgMTQxLCAxLCA3NiwgMTQxLCAxLCAxNzYsIDE0MSwgMSwgMjQzLCAxMzUsIDE0MSwgMSwgMjM0LCA5MiwgMTQxLCAKLSAgICAxLCAyNDIsIDIxNCwgMTQxLCAxLCAyMzMsIDIxNywgMTQxLCAxLCAyNDIsIDExMywgMTQxLCAxLCAyMzQsIDE4MiwgMTQxLCAKLSAgICAxLCAyNDMsIDYyLCAxNDEsIDEsIDIzNCwgMjgsIDE0MSwgMSwgMjQyLCAxNzQsIDE0MSwgMSwgMjA2LCAxNDEsIDEsIDIxMCwgCi0gICAgMTE2LCAxNDEsIDEsIDIxOSwgMTkxLCAxNDEsIDEsIDIxMCwgNDQsIDE0MSwgMSwgMjE4LCA4MywgMTQxLCAxLCAyMTAsIDEzLCAKLSAgICAxNDEsIDEsIDIyMSwgMTgxLCAxNDEsIDEsIDIxMCwgOTQsIDE0MSwgMSwgMjE5LCA1OCwgMTQxLCAxLCAyMTAsIDIzLCAxNDEsIAotICAgIDEsIDIxNywgMTA1LCAxNDEsIDEsIDI0OCwgMjIxLCAxNDEsIDEsIDIxNiwgMTE3LCAxNDEsIDEsIDI0OCwgMywgMTQxLCAxLCAKLSAgICA0LCAyMTUsIDExOCwgMTQxLCAxLCAyMTUsIDExOCwgMTQxLCAxLCAyNDYsIDc4LCAxNDEsIDEsIDIxNywgMjIsIDE0MSwgMSwgCi0gICAgMjQ4LCA5MCwgMTQxLCAxLCAxMTEsIDE0MSwgMSwgMjQ3LCAxNDUsIDE0MSwgMSwgMTk3LCAxNDEsIDEsIDIyOCwgMjMzLCAKLSAgICAxNDEsIDEsIDIyNywgMjM3LCAxNDEsIDEsIDIyOSwgMTA3LCAxNDEsIDEsIDIyOCwgNzQsIDE0MSwgMSwgMTYyLCAxNDEsIDEsIAotICAgIDI1MiwgMTkxLCAxNDEsIDEsIDE5MCwgMTQxLCAxLCAyNDEsIDE4MCwgMTQxLCAxLCAyNTIsIDYsIDE0MSwgMSwgMjI1LCAKLSAgICAxMDgsIDE0MSwgMSwgMjQwLCAyMjIsIDE0MSwgMSwgMjUxLCAxMjUsIDE0MSwgMSwgMjI0LCAxNTAsIDE0MSwgMSwgMjQxLCAKLSAgICAyMzgsIDE0MSwgMSwgMjUyLCA3NSwgMTQxLCAxLCAyMjUsIDIyMSwgMTQxLCAxLCAyNDEsIDY4LCAxNDEsIDEsIDI1MSwgCi0gICAgMjA1LCAxNDEsIDEsIDIyNSwgMTYsIDE0MSwgMSwgMTg0LCAxNDEsIDEsIDIzMCwgMjMwLCAxNDEsIDEsIDIzMCwgMTAyLCAKLSAgICAxNDEsIDEsIDIzMSwgOTEsIDE0MSwgMSwgMjMwLCAxNjEsIDE0MSwgMSwgNCwgMTkxLCAxNDEsIDEsIDE5MSwgMTQxLCAxLCAKLSAgICA0LCAyMTAsIDIxMiwgMTQxLCAxLCAyMTAsIDIxMiwgMTQxLCAxLCA0LCAyMTAsIDI0NCwgMTQxLCAxLCAyMTAsIDI0NCwgCi0gICAgMTQxLCAxLCAyMDUsIDE0MSwgMSwgMjIzLCAzNSwgMTQxLCAxLCAyMjIsIDE0MCwgMTQxLCAxLCAyMjMsIDEyOCwgMTQxLCAxLCAKLSAgICAyMjIsIDIxMSwgMTQxLCAxLCA0LCAyMTIsIDY1LCAxNDEsIDEsIDIxMiwgNjUsIDE0MSwgMSwgMjExLCAyNTAsIDE0MSwgMSwgCi0gICAgMjEyLCAyMiwgMTQxLCAxLCAyMTEsIDIyNywgMTQxLCAxLCAyMzAsIDI1LCAxNDEsIDEsIDIxMiwgMTE2LCAxNDEsIDEsIDQsIAotICAgIDE3NiwgMTQxLCAxLCA0LCAyMzQsIDE4MiwgMzgsIDIzNCwgMjAxLCAyMTMsIDEzNSwgMjE5LCAzMSwgNzgsIDM4LCAyMzQsIAotICAgIDIwMSwgMjIwLCAxNTUsIDIxOSwgMzEsIDc4LCAyMzQsIDIwMSwgMjEzLCAxMzUsIDIxOSwgMzEsIDc4LCAyMzQsIDIwMSwgCi0gICAgMjIwLCAxNTUsIDIxOSwgMzEsIDc4LCAxNDEsIDIzNSwgMTU4LCA3OCwgMTQxLCAyMTMsIDEzNSwgMjM1LCAxNTgsIDc4LCAKLSAgICAxNDEsIDI0NywgMjIxLCAyMTAsIDIyNSwgMjM0LCAyMDEsIDUyLCAyNDAsIDE2OCwgNTYsIDEsIDQsIDYxLCA1NiwgMSwgNjEsIAotICAgIDU2LCAxLCA0LCA3MywgNTYsIDEsIDczLCA1NiwgMSwgNCwgNzAsIDU2LCAxLCA3MCwgNTYsIDEsIDQsIDc1LCA1NiwgMSwgCi0gICAgNzUsIDU2LCAxLCA0LCA3NiwgNTYsIDEsIDc2LCA1NiwgMSwgMTc2LCA1NiwgMSwgMjQzLCAxMzUsIDU2LCAxLCAyMzQsIDkyLCAKLSAgICA1NiwgMSwgMjQyLCAyMTQsIDU2LCAxLCAyMzMsIDIxNywgNTYsIDEsIDI0MiwgMTEzLCA1NiwgMSwgMjM0LCAxODIsIDU2LCAKLSAgICAxLCAyNDMsIDYyLCA1NiwgMSwgMjM0LCAyOCwgNTYsIDEsIDI0MiwgMTc0LCA1NiwgMSwgMjA2LCA1NiwgMSwgMjEwLCAxMTYsIAotICAgIDU2LCAxLCAyMTksIDE5MSwgNTYsIDEsIDIxMCwgNDQsIDU2LCAxLCAyMTgsIDgzLCA1NiwgMSwgMjEwLCAxMywgNTYsIDEsIAotICAgIDIyMSwgMTgxLCA1NiwgMSwgMjEwLCA5NCwgNTYsIDEsIDIxOSwgNTgsIDU2LCAxLCAyMTAsIDIzLCA1NiwgMSwgMjE3LCAKLSAgICAxMDUsIDU2LCAxLCAyNDgsIDIyMSwgNTYsIDEsIDIxNiwgMTE3LCA1NiwgMSwgMjQ4LCAzLCA1NiwgMSwgNCwgMjE1LCAxMTgsIAotICAgIDU2LCAxLCAyMTUsIDExOCwgNTYsIDEsIDI0NiwgNzgsIDU2LCAxLCAyMTcsIDIyLCA1NiwgMSwgMjQ4LCA5MCwgNTYsIDEsIAotICAgIDExMSwgNTYsIDEsIDI0NywgMTQ1LCA1NiwgMSwgMTk3LCA1NiwgMSwgMjI4LCAyMzMsIDU2LCAxLCAyMjcsIDIzNywgNTYsIAotICAgIDEsIDIyOSwgMTA3LCA1NiwgMSwgMjI4LCA3NCwgNTYsIDEsIDE2MiwgNTYsIDEsIDI1MiwgMTkxLCA1NiwgMSwgMTkwLCA1NiwgCi0gICAgMSwgMjQxLCAxODAsIDU2LCAxLCAyNTIsIDYsIDU2LCAxLCAyMjUsIDEwOCwgNTYsIDEsIDI0MCwgMjIyLCA1NiwgMSwgMjUxLCAKLSAgICAxMjUsIDU2LCAxLCAyMjQsIDE1MCwgNTYsIDEsIDI0MSwgMjM4LCA1NiwgMSwgMjUyLCA3NSwgNTYsIDEsIDIyNSwgMjIxLCAKLSAgICA1NiwgMSwgMjQxLCA2OCwgNTYsIDEsIDI1MSwgMjA1LCA1NiwgMSwgMjI1LCAxNiwgNTYsIDEsIDE4NCwgNTYsIDEsIDIzMCwgCi0gICAgMjMwLCA1NiwgMSwgMjMwLCAxMDIsIDU2LCAxLCAyMzEsIDkxLCA1NiwgMSwgMjMwLCAxNjEsIDU2LCAxLCA0LCAxOTEsIDU2LCAKLSAgICAxLCAxOTEsIDU2LCAxLCA0LCAyMTAsIDIxMiwgNTYsIDEsIDIxMCwgMjEyLCA1NiwgMSwgNCwgMjEwLCAyNDQsIDU2LCAxLCAKLSAgICAyMTAsIDI0NCwgNTYsIDEsIDIwNSwgNTYsIDEsIDIyMywgMzUsIDU2LCAxLCAyMjIsIDE0MCwgNTYsIDEsIDIyMywgMTI4LCAKLSAgICA1NiwgMSwgMjIyLCAyMTEsIDU2LCAxLCA0LCAyMTIsIDY1LCA1NiwgMSwgMjEyLCA2NSwgNTYsIDEsIDIxMSwgMjUwLCA1NiwgCi0gICAgMSwgMjEyLCAyMiwgNTYsIDEsIDIxMSwgMjI3LCA1NiwgMSwgMjMwLCAyNSwgNTYsIDEsIDIxMiwgMTE2LCA1NiwgMSwgNCwgCi0gICAgMTc2LCA1NiwgMSwgNCwgMjM0LCAxODIsIDU2LCAxLCAyMTQsIDI3LCA1NiwgMSwgMjEzLCAxNzYsIDU2LCAxLCAyMTMsIAotICAgIDI1NSwgNTYsIDEsIDIxMywgMTM4LCA1NiwgMjMwLCAyMjQsIDI0NywgMTIwLCAyMzQsIDIwMSwgMjI0LCAxNzMsIDIxOSwgCi0gICAgMzEsIDc4LCA1NiwgMjM1LCAxNTgsIDc4LCA1NiwgMjEzLCAxMzUsIDIzNSwgMTU4LCA3OCwgNTYsIDI0NywgMjIxLCAyMzMsIAotICAgIDI1NSwgMjUxLCAxODQsIDEsIDI1MywgMTU4LCAyNTEsIDE4NCwgMSwgMjI2LCAxMDUsIDI1MSwgMTg0LCAxLCAxOTMsIDI1MSwgCi0gICAgMTg0LCAxLCAyNDUsIDYsIDI1MSwgMTg0LCAxLCAyNDksIDYwLCAyNTEsIDE4NCwgMSwgMjE3LCAxNTIsIDI1MSwgMTg0LCAxLCAKLSAgICAyMzAsIDI1LCAyNTEsIDE4NCwgMSwgMTU2LCAyNTEsIDE4NCwgMSwgMjQzLCAyMDIsIDI1MSwgMTg0LCAxLCAyMzUsIDIzLCAKLSAgICAyNTEsIDE4NCwgMSwgMjQyLCA2MCwgMjUxLCAxODQsIDEsIDIzNSwgMTQ0LCAyNTEsIDE4NCwgMSwgMjI0LCA5NiwgMjUxLCAKLSAgICAxODQsIDEsIDIxMSwgMTc4LCAyNTEsIDE4NCwgMSwgMjEwLCA4MywgMjUxLCAxODQsIDEsIDI1MCwgMTU4LCAyNTEsIDE4NCwgCi0gICAgMSwgMjIwLCAxMDQsIDI1MSwgMTg0LCAxLCAxNTMsIDI1MSwgMTg0LCAxLCAyMTAsIDE1OSwgMjUxLCAxODQsIDEsIDI1MSwgCi0gICAgNjYsIDI1MSwgMTg0LCAxLCAyMjIsIDkxLCAyNTEsIDE4NCwgMSwgNjEsIDI1MSwgMTg0LCAxLCA3NiwgMjUxLCAxODQsIDEsIAotICAgIDc1LCAyNTEsIDE4NCwgMSwgMjQ1LCAxOTcsIDI1MSwgMTg0LCAxLCAyNTQsIDIwMSwgMjUxLCAxODQsIDEsIDI0NSwgMTk1LCAKLSAgICAyNTEsIDE4NCwgMSwgMjUzLCAxOTIsIDI1MSwgMTg0LCAxLCAyMjYsIDEzNCwgMjUxLCAxODQsIDEsIDI1NCwgMTIzLCAyNTEsIAotICAgIDE4NCwgMSwgMjQ1LCAxNTAsIDI1MSwgMTg0LCAxLCAyNTQsIDExNSwgMjUxLCAxODQsIDEsIDI0NSwgMTM4LCAyNTEsIDE4NCwgCi0gICAgMSwgMjQ1LCA5MiwgMjUxLCAxODQsIDEsIDczLCAyNTEsIDE4NCwgMSwgNzAsIDI1MSwgMTg0LCAxLCAyMzUsIDE1NiwgMjUxLCAKLSAgICAxODQsIDEsIDIxNCwgMTA1LCAyNTEsIDE4NCwgMSwgMjI5LCA3OSwgMjUxLCAxODQsIDEsIDI0MiwgMTc4LCAyNTEsIDE4NCwgCi0gICAgMSwgMjM2LCAzNCwgMjQsIDEsIDIzNCwgNTgsIDI0LCAxLCAyMTgsIDIxNSwgMjQsIDEsIDIzNCwgNTEsIDI0LCAxLCAyMjgsIAotICAgIDIyNiwgMjQsIDEsIDIyOCwgMjI0LCAyNCwgMSwgMjI4LCAyMjMsIDI0LCAxLCAyMTYsIDEwMSwgMjQsIDEsIDIxOCwgMjA0LCAKLSAgICAyNCwgMSwgMjIzLCAyNiwgMjQsIDEsIDIyMywgMjEsIDI0LCAxLCAyMjMsIDE4LCAyNCwgMSwgMjIzLCAxMSwgMjQsIDEsIAotICAgIDIyMywgNiwgMjQsIDEsIDIyMywgMSwgMjQsIDEsIDIyMywgMTIsIDI0LCAxLCAyMjMsIDI0LCAyNCwgMSwgMjMwLCAyMTcsIAotICAgIDI0LCAxLCAyMjUsIDk1LCAyNCwgMSwgMjE4LCAyMTIsIDI0LCAxLCAyMjUsIDg0LCAyNCwgMSwgMjE5LCAxNDgsIDI0LCAxLCAKLSAgICAyMTgsIDIwOSwgMjQsIDEsIDIzNiwgNTYsIDI0LCAxLCAyNTAsIDQ2LCAyNCwgMSwgMjE4LCAyMTksIDI0LCAxLCAyNTAsIAotICAgIDEwNiwgMjQsIDEsIDIzNCwgMTEwLCAyNCwgMSwgMjE2LCAxNzMsIDI0LCAxLCAyMjUsIDEzMSwgMjQsIDEsIDI0MSwgMTcyLCAKLSAgICAyNCwgMSwgNjEsIDI0LCAxLCAyNTQsIDI0MywgMjQsIDEsIDE5MSwgMjQsIDEsIDIxMSwgOTIsIDI0LCAxLCAyNDUsIDExNywgCi0gICAgMjQsIDEsIDc1LCAyNCwgMSwgMjExLCAzNiwgMjQsIDEsIDIxMSwgNDcsIDI0LCAxLCA3NiwgMjQsIDEsIDIxMiwgNjUsIDI0LCAKLSAgICAxLCAyMTIsIDYyLCAyNCwgMSwgMjI2LCAyMzQsIDI0LCAxLCAyMTAsIDI0NCwgMjQsIDEsIDcwLCAyNCwgMSwgMjEyLCAxMSwgCi0gICAgMjQsIDEsIDIxMiwgMjIsIDI0LCAxLCAyMTEsIDI1MCwgMjQsIDEsIDIxMCwgMjEyLCAyNCwgMSwgMjQ1LCA1NSwgMjQsIDEsIAotICAgIDIxMSwgOCwgMjQsIDEsIDczLCAyNCwgMjQ0LCAxMDMsIDI0LCAxLCAyMTgsIDIxMywgMjQsIDEsIDIyOCwgMjE2LCAyNCwgMSwgCi0gICAgMjI4LCAyMTgsIDI0LCAxLCAyMjgsIDIyMSwgMjQsIDEsIDIyMywgMTksIDI0LCAxLCAyMjMsIDAsIDI0LCAxLCAyMjMsIDgsIAotICAgIDI0LCAxLCAyMjMsIDEzLCAyNCwgMSwgMjIyLCAyNTQsIDI0LCAxLCAyMzAsIDIxMCwgMjQsIDEsIDIzMCwgMjA3LCAyNCwgMSwgCi0gICAgMjMwLCAyMTEsIDI0LCAxLCAyMzQsIDIyMSwgMjQsIDEsIDIyNSwgOTAsIDI0LCAxLCAyMjUsIDc2LCAyNCwgMSwgMjI1LCAKLSAgICA4MiwgMjQsIDEsIDIyNSwgNzksIDI0LCAxLCAyMjUsIDkzLCAyNCwgMSwgMjI1LCA3NywgMjQsIDEsIDIzNCwgMjE5LCAyNCwgCi0gICAgMSwgMjM0LCAyMTcsIDI0LCAxLCAyMTksIDE0MSwgMjQsIDEsIDIxOSwgMTM5LCAyNCwgMSwgMjE5LCAxMzEsIDI0LCAxLCAKLSAgICAyMTksIDEzNiwgMjQsIDEsIDIxOSwgMTQ2LCAyNCwgMSwgMjI2LCAzMiwgMjQsIDEsIDIxOCwgMjE2LCAyNCwgMSwgMjExLCAKLSAgICAyNiwgMjQsIDEsIDIxMSwgMjIsIDI0LCAxLCAyMTEsIDIzLCAyNCwgMSwgMjM0LCAyMjAsIDI0LCAxLCAyMTgsIDIxNywgMjQsIAorICAgIDY3LCA5MSwgNDMsIDQ0LCA1MiwgODAsIDIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIDgwLCAyNDMsIDI0NCwgMTMwLCAxNDAsIAorICAgIDUyLCA4MCwgMjQzLCAyNDQsIDEzMCwgOTcsIDUyLCA4MCwgMjQzLCAyNDQsIDEzMCwgMjQ2LCAxMDUsIDgwLCAyLCAyMDMsIAorICAgIDkxLCAyMTQsIDE1MywgODAsIDIsIDIwMywgOTEsIDIxNCwgMTUzLCAyMTUsIDIxMiwgNzQsIDI0NiwgMTA1LCAyMTUsIDIxMiwgCisgICAgNzQsIDE0MCwgNTIsIDI0OCwgMTU4LCA3NCwgOTcsIDUyLCAyNDgsIDE1OCwgNzQsIDE0MCwgMjE1LCAyMTIsIDI0OCwgMTU4LCAKKyAgICA3NCwgOTcsIDIxNSwgMjEyLCAyNDgsIDE1OCwgNzQsIDk3LCAyMTUsIDU4LCAyMTUsIDIxMiwgMjQ4LCAxNTgsIDc0LCA5NywgCisgICAgODAsIDIsIDI0NiwgMTE5LCAyMTgsIDE0MCwgMjE0LCAxNTMsIDgwLCAyMTYsIDQzLCAxMzAsIDI0NiwgMTA1LCA4MCwgMjE2LCAKKyAgICA0MywgMTMwLCA5NywgODAsIDIsIDIxNywgNzksIDIsIDY3LCA5MSwgOTcsIDgwLCAyLCAyMTcsIDc5LCAyLCA1MiwgNjcsIAorICAgIDkxLCA5NywgMjE1LCA1OCwgODAsIDIsIDIxNywgNzgsIDk3LCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OSwgMiwgNjcsIDkxLCAKKyAgICA5NywgMjE1LCA1OCwgODAsIDIsIDIxNywgNzksIDIsIDUyLCA2NywgOTEsIDE0MCwgMjUzLCAyNTIsIDk3LCAyNTMsIDI1MiwgCisgICAgMTQwLCA1MiwgMjUzLCAyNTIsIDk3LCA1MiwgMjUzLCAyNTIsIDE0MCwgODAsIDIxNiwgNDMsIDg1LCAyNDcsIDI0OSwgOTcsIAorICAgIDgwLCAyMTYsIDQzLCA4NSwgMjQ3LCAyNDksIDE0MCwgODAsIDI0MywgMjQ0LCAyNTIsIDE0MiwgMjE2LCA0MywgODUsIDI0NywgCisgICAgMjQ5LCA5NywgODAsIDI0MywgMjQ0LCAyNTIsIDE0MiwgMjE2LCA0MywgODUsIDI0NywgMjQ5LCAyMjgsIDU3LCAyMTIsIDksIAorICAgIDIyLCAyMTksIDI5LCAyNDUsIDIyMSwgNzQsIDIyOCwgNTcsIDI0NSwgMjIxLCAyMiwgMjE5LCAyOSwgMjEyLCA5LCA3NCwgCisgICAgMjI4LCA1NywgMjEyLCA5LCA4MCwgMiwgMTAzLCAyMjgsIDU3LCAyNDUsIDIyMSwgODAsIDIsIDEwMywgMjE5LCAyOSwgMjQ1LCAKKyAgICAyMjEsIDgwLCAyLCAxMDMsIDIxOSwgMjksIDIxMiwgOSwgODAsIDIsIDEwMywgMjI4LCA1NywgMjEyLCA5LCA4MCwgMjIsIAorICAgIDIyOCwgNTcsIDI0NSwgMjIxLCA3NCwgMjI4LCA1NywgMjQ1LCAyMjEsIDgwLCAyMiwgMjE5LCAyOSwgMjQ1LCAyMjEsIDc0LCAKKyAgICAyMTksIDI5LCAyNDUsIDIyMSwgODAsIDIyLCAyMTksIDI5LCAyMTIsIDksIDc0LCAyMTksIDI5LCAyMTIsIDksIDgwLCAyMiwgCisgICAgMjI4LCA1NywgMjEyLCA5LCA3NCwgMjIyLCAyMjksIDI0OCwgMCwgMjQ5LCAxMjYsIDI0NCwgMTc2LCAyNDcsIDI1NSwgMjQ0LCAKKyAgICAxNzYsIDI0OCwgMCwgMjQ5LCAxMjYsIDIyMiwgMjI5LCAyNDcsIDI1NSwgMjE5LCAyOSwgMjQ1LCAyMjEsIDgwLCAyNDksIAorICAgIDEyNiwgMjI4LCA1NywgMjQ1LCAyMjEsIDc0LCAyMjgsIDU3LCAyNDUsIDIyMSwgODAsIDI0OSwgMTI2LCAyMTksIDI5LCAKKyAgICAyNDUsIDIyMSwgNzQsIDI0NCwgMTc2LCAyNDgsIDAsIDI0OSwgMTI2LCAyMjgsIDU3LCAyNDUsIDIyMSwgNzQsIDIyMiwgCisgICAgMjI5LCAyNDgsIDAsIDI0OSwgMTI2LCAyMTksIDI5LCAyNDUsIDIyMSwgNzQsIDIyOCwgNTcsIDI0NSwgMjIxLCA4MCwgMjQ5LCAKKyAgICAxMjYsIDIyOCwgNTcsIDIxMiwgOSwgNzQsIDIyOCwgNTcsIDIxMiwgOSwgODAsIDI0OSwgMTI2LCAyMjgsIDU3LCAyNDUsIAorICAgIDIyMSwgNzQsIDIxMiwgMzYsIDgwLCAyMjUsIDgsIDI0NywgMTk2LCAyMjIsIDI1MiwgODAsIDIyNSwgOCwgOTcsIDIxNiwgCisgICAgMTg5LCAyNDksIDkxLCAyMTQsIDE1MiwgODAsIDIyNSwgOCwgOTcsIDIxNiwgMTg5LCAyNDksIDkxLCAyNDYsIDEwNCwgODAsIAorICAgIDIyNSwgOCwgMjQ2LCAxMDUsIDIxNiwgMTg5LCAyNDksIDkxLCAyMzMsIDM4LCA4MCwgMjI1LCA4LCAyNDYsIDEwNSwgMjE2LCAKKyAgICAxODksIDI0OSwgOTEsIDIyMiwgMjQyLCAyMjIsIDI0NSwgMjU0LCAyNywgMjUwLCAzLCA3NCwgMjMzLCA0MSwgMjU0LCAyNywgCisgICAgMjU0LCA4OSwgNzQsIDIxNiwgMTUsIDI1NCwgMjcsIDI1NCwgODksIDc0LCAyNTEsIDE3NiwgMjU0LCAyNywgMjU0LCA4OSwgCisgICAgNzQsIDIxNiwgMTUsIDI1NCwgMjcsIDI1MCwgMywgODAsIDIsIDIzMCwgMTgyLCAyMTYsIDE1LCAyNTQsIDI3LCAyNTQsIDg5LCAKKyAgICA4MCwgMiwgMjI1LCAyMywgMjMyLCAxMDksIDQ0LCAyMjAsIDE1MywgMjUwLCAzLCA3NCwgMjMyLCAxMDksIDQzLCAyMjAsIAorICAgIDE1MywgMjU0LCA4OSwgNzQsIDI1NCwgODksIDI1MCwgMSwgMjUwLCAzNywgNzQsIDI1MCwgMywgMjUwLCAxLCAyNTAsIDM3LCAKKyAgICA3NCwgOTcsIDgwLCA3NywgMjE5LCAyNTIsIDE0MCwgNzQsIDE0MCwgODAsIDc3LCAyMTksIDI1MiwgOTcsIDc0LCAyMTksIAorICAgIDI1MiwgOTcsIDgwLCA3NywgMTQwLCA3NCwgOTcsIDgwLCAyLCA5NiwgNTEsIDE0MCwgODAsIDIsIDk2LCA1MSwgOTcsIDgwLCAKKyAgICAyMTYsIDE0MCwgMjExLCAxNzgsIDQzLCA0NCwgODAsIDIxNiwgMTQwLCA0LCAyNTAsIDM2LCAyMTQsIDE1MywgMjE1LCA1OCwgCisgICAgODAsIDI0MywgMjQ0LCA0LCAyNTAsIDM2LCA0MywgMjUyLCAxNDAsIDEyMCwgNDQsIDI1MiwgMTQwLCAxMjQsIDI0MSwgMjU1LCAKKyAgICA0MywgMjUyLCAxNDAsIDEyNCwgNDQsIDI1MiwgMTQwLCAxMjAsIDI0MSwgMjU1LCAxMjAsIDI1MiwgMTQwLCA0NCwgMTI0LCAKKyAgICAyNTIsIDE0MCwgNDMsIDI0MSwgMjU1LCAxMjAsIDI1MiwgMTQwLCA0MywgMTI0LCAyNTIsIDE0MCwgNDQsIDI0MSwgMjU1LCAKKyAgICA0MywgMjUyLCAxNDAsIDEyMCwgNDQsIDI1MiwgMTQwLCAxMjAsIDI0MSwgMjU1LCAxMjAsIDI1MiwgMTQwLCA0NCwgMTI0LCAKKyAgICAyNTIsIDE0MCwgNDQsIDI0MSwgMjU1LCA0MywgMjUyLCAxNDAsIDEyNCwgNDQsIDI1MiwgMTQwLCAxMjQsIDI0MSwgMjU1LCAKKyAgICAxMjAsIDI1MiwgMTQwLCA0MywgMTI0LCAyNTIsIDE0MCwgNDMsIDI0MSwgMjU1LCAxNDAsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIAorICAgIDEyMCwgMjE2LCA0MywgMTMwLCA5NywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTIwLCAyMTYsIDQzLCAxMzAsIDIxNCwgMTUzLCAKKyAgICAyNDIsIDAsIDIsIDI1MiwgMTQwLCA0NCwgMjE2LCA0MywgMTMwLCAyNDYsIDEwNSwgMjQyLCAwLCAyLCAyNTIsIDE0MCwgNDQsIAorICAgIDIxNiwgNDMsIDEzMCwgMTQwLCAyNDIsIDAsIDIsIDI1MiwgMTQwLCAxMjQsIDIxNiwgNDMsIDEzMCwgOTcsIDI0MiwgMCwgMiwgCisgICAgMjUyLCAxNDAsIDEyNCwgMjE2LCA0MywgMTMwLCAyMTQsIDE1MywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgNDMsIDIxNiwgNDMsIAorICAgIDEzMCwgMjQ2LCAxMDUsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDQzLCAyMTYsIDQzLCAxMzAsIDE0MCwgMjQyLCAwLCAyLCAKKyAgICAyNTIsIDE0MCwgMTIwLCAyNDMsIDI0NCwgMTMwLCA5NywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTIwLCAyNDMsIDI0NCwgCisgICAgMTMwLCAyMTQsIDE1MywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgNDQsIDI0MywgMjQ0LCAxMzAsIDI0NiwgMTA1LCAyNDIsIDAsIAorICAgIDIsIDI1MiwgMTQwLCA0NCwgMjQzLCAyNDQsIDEzMCwgMTQwLCAyNDIsIDAsIDIsIDI1MiwgMTQwLCAxMjQsIDI0MywgMjQ0LCAKKyAgICAxMzAsIDk3LCAyNDIsIDAsIDIsIDI1MiwgMTQwLCAxMjQsIDI0MywgMjQ0LCAxMzAsIDIxNCwgMTUzLCAyNDIsIDAsIDIsIAorICAgIDI1MiwgMTQwLCA0MywgMjQzLCAyNDQsIDEzMCwgMjQ2LCAxMDUsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDQzLCAyNDMsIDI0NCwgCisgICAgMTMwLCAxNDAsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDEyMCwgNzcsIDE0MCwgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMjQ2LCAKKyAgICAxMDcsIDIxNCwgMTUzLCAyNDIsIDAsIDIsIDI1MiwgMTQwLCA0MywgMjUyLCAzMSwgMjE0LCAxNTMsIDI0MiwgMCwgMiwgCisgICAgMjUyLCAxNDAsIDIyMiwgMjUyLCA5NywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTIwLCA3NywgOTcsIDI0MiwgMCwgMiwgMjUyLCAKKyAgICAxNDAsIDI0NiwgMTA3LCAyNDYsIDEwNSwgMjQyLCAwLCAyLCAyNTIsIDE0MCwgNDMsIDI1MiwgMzEsIDI0NiwgMTA1LCAyNDIsIAorICAgIDAsIDIsIDI1MiwgMTQwLCAyMjIsIDI1MiwgMTQwLCAyNDIsIDAsIDIsIDI1MiwgMTQwLCAxMjAsIDc3LCA5NywgMjQyLCAwLCAKKyAgICAyLCAyNTIsIDE0MCwgMjE0LCAxNjMsIDE0MCwgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTI0LCA3NywgOTcsIDI0MiwgMCwgMiwgCisgICAgMjUyLCAxNDAsIDI0NiwgMTA3LCA5NywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTIwLCA3NywgMTQwLCAyNDIsIDAsIDIsIAorICAgIDI1MiwgMTQwLCAyMTQsIDE2MywgOTcsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDEyNCwgNzcsIDE0MCwgMjQyLCAwLCAyLCAKKyAgICAyNTIsIDE0MCwgMjQ2LCAxMDcsIDE0MCwgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTIwLCA3NywgMTk5LCAyNDgsIDE1NywgCisgICAgMTQwLCAyNDIsIDAsIDIsIDI1MiwgMTQwLCAxMjQsIDI1MiwgNDQsIDE5OSwgMjQ4LCAxNTcsIDk3LCAyNDIsIDAsIDIsIAorICAgIDI1MiwgMTQwLCAxMjAsIDc3LCAxOTksIDI0OCwgMTU3LCA5NywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMTI0LCAyNTIsIDQ0LCAKKyAgICAxOTksIDI0OCwgMTU3LCAyMTQsIDE1MywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgNDMsIDI1MiwgMzEsIDI0NiwgMTA1LCAyNDIsIAorICAgIDAsIDIsIDI1MiwgMTQwLCAyMjIsIDI1MiwgMjQ2LCAxMDUsIDI0MiwgMCwgMiwgMjUyLCAxNDAsIDQzLCAyNTIsIDMxLCAKKyAgICAyMTQsIDE1MywgMjQyLCAwLCAyLCAyNTIsIDE0MCwgMjIyLCAyNTIsIDQ0LCA1MiwgODAsIDIsIDIyMiwgMTg0LCAyNDEsIAorICAgIDIzNiwgMjQ1LCA5OSwgNSwgNzcsIDk3LCA3NCwgMjE2LCA5MCwgMjI2LCAxNjksIDc3LCA5NywgNzQsIDE0MCwgODAsIDc3LCAKKyAgICAyMTYsIDkwLCAyMjYsIDE2OCwgOTcsIDgwLCA3NywgMjE2LCA5MCwgMjI2LCAxNjgsIDk3LCA4MCwgNzcsIDI1NCwgMTQ5LCAKKyAgICAxMjgsIDExMSwgMjMzLCAxNiwgNzcsIDE0MCwgNzQsIDE0MCwgODAsIDIxNiwgMTQwLCAyMzMsIDE1LCAyNDIsIDEzMSwgNzcsIAorICAgIDk3LCA3NCwgMjE4LCA2NSwgNzcsIDk3LCA3NCwgMTQwLCA4MCwgMjE2LCAxNDAsIDIxOCwgNjQsIDIxOCwgMjMsIDc3LCAKKyAgICAxNDAsIDc0LCA0MywgMjQ0LCA5MiwgMjE3LCA3OCwgNDQsIDI0NCwgOTIsIDIxNywgNzgsIDEyMCwgMjQ0LCA5MiwgMjE3LCAKKyAgICA3OCwgMTI0LCAyNDQsIDkyLCAyMTcsIDc4LCAyMTUsIDIxMiwgNjcsIDI1MiwgMTQyLCAyNDgsIDYxLCAyMTAsIDE2MCwgCisgICAgMTg4LCAyMTgsIDI0MywgMjEwLCAxNjAsIDE4OCwgMjE1LCA0OSwgMjQ5LCAyMjcsIDQzLCA3MSwgMjQ5LCAxMDAsIDEyNywgCisgICAgNDQsIDcxLCAyNDksIDEwMCwgMTI3LCA0MywgNzEsIDIyNiwgNCwgNDQsIDcxLCAyMjYsIDQsIDIxMCwgMTYwLCAxODgsIDQzLCAKKyAgICAyMzYsIDE2LCAxMjcsIDIxMCwgMTYwLCAxODgsIDQ0LCAyMzYsIDE2LCAxMjcsIDIxMCwgMTYwLCAxODgsIDQzLCAyNTEsIAorICAgIDI0MywgMTI3LCAyMTAsIDE2MCwgMTg4LCA0NCwgMjUxLCAyNDMsIDEyNywgNDMsIDQyLCAyNTEsIDE1OSwgMiwgMjE0LCAKKyAgICAxODMsIDQ0LCA0MiwgMjUxLCAxNTksIDIsIDIxNCwgMTgzLCA0MywgNDIsIDI1MSwgMTU5LCAyLCAyMTYsIDExNiwgMjM2LCAKKyAgICAxLCAyMTYsIDE1LCAyNDksIDE2MSwgNDQsIDQyLCAyNTEsIDE1OSwgMiwgMjE2LCAxMTYsIDIzNiwgMSwgMjUxLCAxNzYsIAorICAgIDI0OSwgMTYxLCA0MywgNDIsIDI1MSwgMTU5LCAyLCAyMTYsIDExNiwgMjM2LCAxLCAyNTEsIDE3NiwgMjQ5LCAxNjEsIDQ0LCAKKyAgICA0MiwgMjUxLCAxNTksIDIsIDIxNiwgMTE2LCAyMzYsIDEsIDIxNiwgMTUsIDI0OSwgMTYxLCA0MywgMjU0LCAxMTEsIDI1MSwgCisgICAgMTU5LCAyLCAyNDcsIDEyMSwgNDQsIDI1NCwgMTExLCAyNTEsIDE1OSwgMiwgMjQ3LCAxMjEsIDQzLCAyNTQsIDI3LCAyMzMsIAorICAgIDE2LCAxMjcsIDQ0LCAyNTQsIDI3LCAyNDIsIDEzMSwgMTI3LCA1MiwgNDMsIDI1NCwgMjcsIDI0MiwgMTMxLCAxMjcsIDUyLCAKKyAgICA0NCwgMjU0LCAyNywgMjMzLCAxNiwgMTI3LCA0MywgODUsIDIxNiwgNywgMjIwLCA1NCwgMTI3LCA0NCwgODUsIDIxNiwgNywgCisgICAgMjIwLCA1NCwgMTI3LCAyNDYsIDExOSwgMjQ0LCAxMzYsIDY3LCAyMTAsIDM1LCAyMzIsIDIxNCwgMjMxLCA4OSwgMjU0LCAKKyAgICAxMTEsIDIyNiwgMTcxLCAyMzMsIDQ3LCA0NCwgMjU0LCAxMTEsIDIxNCwgMTIsIDIsIDIxOCwgMjM1LCAyMzEsIDg5LCA0NCwgCisgICAgMjU0LCAxMTEsIDIsIDI0NywgMTIxLCAyNTQsIDExMSwgMiwgMjIyLCA5MywgMjM1LCAyMTYsIDI1NSwgNCwgMjU0LCAxMTAsIAorICAgIDIxOSwgMCwgMjU0LCAxMTEsIDIyNiwgMTcxLCAyMzMsIDQ3LCAyMTksIDAsIDI1NCwgMTExLCAyMjYsIDE3MSwgMjE0LCAKKyAgICAxNjMsIDIxNSwgOTQsIDI1NCwgMTEwLCAyMjMsIDUwLCAyNTQsIDExMCwgMjU0LCAxMTEsIDIsIDIxNCwgMTgzLCAyMjMsIAorICAgIDUwLCAyNTQsIDExMSwgMiwgMjE0LCAxODMsIDIyNiwgMjQ5LCAyNTQsIDExMSwgMjI2LCAxNzEsIDIxNCwgMTYzLCAyMjYsIAorICAgIDI0OSwgMjU0LCAxMTEsIDIyNiwgMTcxLCAyNDYsIDEwNywgMjMxLCA4OSwgMjU0LCAxMTEsIDIsIDIwNCwgMjU0LCA2LCAKKyAgICAyNDUsIDE0MSwgMjM2LCAxLCA4MCwgMjI1LCA4LCAxMjAsIDIyLCAyMjIsIDI1MiwgMjMxLCA4OSwgMjU0LCAxMTEsIDIsIAorICAgIDIwNCwgMjU0LCA2LCAyNDUsIDE0MSwgMjM2LCAxLCA4MCwgMjI1LCA4LCAxMjAsIDIyLCAyMzMsIDQ3LCAyMzEsIDg5LCAKKyAgICAyNTQsIDExMSwgMiwgMjA0LCAyNTQsIDYsIDI0NSwgMTQxLCAyMzYsIDEsIDgwLCAyMjUsIDgsIDEyNCwgMjIsIDIyMiwgCisgICAgMjUyLCAyMzEsIDg5LCAyNTQsIDExMSwgMiwgMjA0LCAyNTQsIDYsIDI0NSwgMTQxLCAyMzYsIDEsIDgwLCAyMjUsIDgsIAorICAgIDEyNCwgMjIsIDIzMywgNDcsIDIzMSwgODksIDI1NCwgMTExLCAyLCAyMDQsIDI1NCwgNiwgMjQ1LCAxNDEsIDIzNiwgMSwgCisgICAgODAsIDIyNSwgOCwgNDQsIDIyLCAyMTQsIDE2MywgMjMxLCA4OSwgMjU0LCAxMTEsIDIsIDIwNCwgMjU0LCA2LCAyNDUsIAorICAgIDE0MSwgMjM2LCAxLCA4MCwgMjI1LCA4LCA0MywgMjIsIDIxNCwgMTYzLCAyMzEsIDg5LCAyNTQsIDExMSwgMiwgMjA0LCAKKyAgICAyNTQsIDYsIDI0NSwgMTQxLCAyMzYsIDEsIDgwLCAyMjUsIDgsIDQ0LCAyMiwgMjQ2LCAxMDcsIDIzMSwgODksIDI1NCwgCisgICAgMTExLCAyLCAyMDQsIDI1NCwgNiwgMjQ1LCAxNDEsIDIzNiwgMSwgODAsIDIyNSwgOCwgNDMsIDIyLCAyNDYsIDEwNywgMjIzLCAKKyAgICA1MCwgMjQ1LCAxNTMsIDIyMCwgMTI4LCAyNDUsIDE1MywgMjIwLCAxMjksIDIsIDIyNiwgMTI0LCAyNDUsIDE1MywgMjIwLCAKKyAgICAxMjksIDIsIDQsIDI1MCwgMzcsIDQ4LCAyNDUsIDE1MywgMjIwLCAxMjksIDIsIDQ0LCA4MCwgNDgsIDI0NSwgMTUzLCAyMjAsIAorICAgIDEyOSwgMiwgNDMsIDgwLCA0OCwgMjUwLCAzNywgMiwgMjAzLCAxMzAsIDM3LCA2NywgMTMwLCAzNywgMjI2LCA4LCAzNywgCisgICAgMjIzLCA1MSwgMjE5LCA0NywgMzcsIDIyNSwgMTcyLCAyNTAsIDM3LCAyNDcsIDE3NCwgMjUxLCA3OSwgMjAzLCAyNTIsIAorICAgIDE0MiwgMjIsIDIxNiwgMTUsIDE2MywgMjQ3LCAxNzQsIDI1MSwgNzksIDY3LCAxMzAsIDI1MCwgMzcsIDIsIDIxOCwgMjUsIAorICAgIDIxMSwgMTc4LCAzNywgMjU0LCA4OCwgMjQ3LCAxNzAsIDUwLCAxMjAsIDgwLCAyMTYsIDE0MCwgMjUwLCAzNiwgMzcsIDcxLCAKKyAgICAyNTEsIDExNCwgMzcsIDI1MSwgMTE0LCAzNywgMjMzLCAxNSwgMzcsIDI0MiwgMTMwLCAyNTAsIDM3LCAyLCA0LCAyNTAsIAorICAgIDM3LCAyMTYsIDQzLCAyMTYsIDE5NywgMjIyLCAyNTIsIDI1MCwgMzcsIDIsIDExMywgMjAzLCAyMTgsIDkyLCAyMTYsIDQzLCAKKyAgICAyMTYsIDE5NywgMjIyLCAyNTIsIDkyLCAyMjIsIDIyOSwgMjQ4LCAwLCAyMTksIDk2LCA5MiwgMjQ0LCAxNzYsIDI0OCwgMCwgCisgICAgMjE5LCA5NiwgOTIsIDI1MywgMjE3LCA5MiwgNCwgMjUwLCAzNiwgOTIsIDIxOCwgMjM1LCAxMTMsIDIzNSwgNjYsIDIxOCwgCisgICAgMjMzLCAyMTUsIDIyNywgMiwgNTksIDQ4LCAyMTUsIDIyNywgMiwgMjE0LCAxODMsIDIyMiwgOTMsIDIzNiwgMSwgMjE1LCAKKyAgICAyMjYsIDIxNSwgMjI3LCAyLCAyMjAsIDEzNSwgMjUzLCAyMDgsIDI1MSwgMTc1LCA0NCwgMjE1LCAyMjcsIDc3LCA0MywgCisgICAgMjE1LCAyMjYsIDQzLCAyMTUsIDIyNywgMjUyLCAzMSwgNjcsIDEzMCwgNjcsIDI1MiwgMTQyLCAyNTIsIDMxLCA0NCwgMjE1LCAKKyAgICAyMjYsIDI1MSwgMTY2LCAyLCA0MywgMTYzLCAyNTEsIDIyMiwgMjUxLCAxNjYsIDIsIDQ0LCAxNjMsIDI1MSwgMjIyLCA4NSwgCisgICAgMjUxLCAxNjUsIDMwLCAyLCA0MywgMTYzLCAyNTEsIDIyMiwgMzAsIDIsIDQ0LCAxNjMsIDI1MSwgMjIyLCA3MSwgMjQwLCAKKyAgICAyMzcsIDg1LCAyNDAsIDIzNywgNDMsIDIxMSwgMjQ0LCAyNDQsIDEzNiwgNDQsIDIxMSwgMjQ0LCAyNDQsIDEzNiwgNDMsIAorICAgIDUyLCAyMTEsIDI0NCwgMjQ0LCAxMzYsIDQ0LCA1MiwgMjExLCAyNDQsIDI0NCwgMTM2LCAyMzUsIDI0OSwgMjM1LCAyMzUsIAorICAgIDIxNiwgMTEzLCAxMTcsIDIzNSwgMjM1LCAyMzUsIDIzNiwgMjI5LCAxMDMsIDIsIDY3LCAxMzAsIDI0NiwgMTEzLCAyMzAsIAorICAgIDg4LCA0MiwgMiwgMjQ5LCAxODIsIDIyNiwgMTI4LCAyMzUsIDI0NywgMjUzLCAyMzgsIDIxOSwgMjIwLCAyMjQsIDE4MSwgCisgICAgMjQ1LCA5OSwgNSwgMjIsIDIxOSwgOTgsIDIyNiwgOCwgMjQ1LCA5OSwgNSwgMjIsIDIxOSwgOTgsIDIyNiwgOSwgMiwgMjE2LCAKKyAgICA5MCwgNDgsIDI0MCwgMTA1LCAyMTYsIDQzLCAyMiwgMjE5LCA5OCwgMjI2LCA4LCAyNDIsIDE4NCwgMjE4LCAxNTYsIDIxNiwgCisgICAgMTg2LCAyNDYsIDEwNiwgMjE1LCAyMjcsIDIsIDQzLCAxNjMsIDI1MSwgMjIyLCAyNDYsIDEwNiwgMjE1LCAyMjcsIDIsIDQ0LCAKKyAgICAxNjMsIDI1MSwgMjIyLCA4NSwgMjQ3LCAyNTAsIDIsIDEyNCwgNzQsIDg1LCAyMzIsIDEwNSwgNzEsIDI1MCwgMzcsIDIsIAorICAgIDEyNCwgNzQsIDg1LCAyNTAsIDM3LCAyLCAxMjQsIDc0LCAyNDUsIDg2LCA3MSwgMjE4LCAyMzUsIDI0NSwgODYsIDg1LCAKKyAgICAyMTgsIDIzNSwgMjQ1LCA4NiwgNzEsIDI0NywgMjQ5LCAyNDUsIDg2LCA4NSwgMjQ3LCAyNDksIDI0NSwgODYsIDcxLCAyNTAsIAorICAgIDM2LCAyNDUsIDg2LCA4NSwgMjUwLCAzNiwgMjIyLCAxMzMsIDIyMywgNTEsIDIxOSwgNDgsIDIyNiwgMTY4LCAyMTksIDQ4LCAKKyAgICAyLCAyMjYsIDEyNCwgMjIzLCA1MSwgMjE5LCA0OCwgMiwgMjAzLCA5MSwgMjUxLCAyNTAsIDIxOSwgNDcsIDI1MSwgMjUwLCAKKyAgICAyMjMsIDUxLCAyMTksIDQ3LCA1MiwgMjI1LCAyMywgMjE1LCAyMTIsIDIyNSwgMjMsIDIzMywgNDMsIDI0OSwgOTIsIDI1NCwgCisgICAgMTExLCAxMjcsIDIyMiwgMjQ4LCAyNDksIDkyLCAyNTQsIDExMSwgMTI3LCAyMTYsIDc5LCAyMzAsIDE4MCwgMjMwLCAyNSwgCisgICAgMzcsIDU5LCAyMjYsIDE2OCwgMjMwLCAyNSwgMzcsIDk2LCAyMjYsIDE2OCwgMjMwLCAyNSwgMzcsIDMwLCAyMjYsIDE2OCwgCisgICAgMjMwLCAyNSwgMjE0LCAxNzYsIDIyNiwgMTY5LCAyLCAyNDcsIDEyMSwgMjMwLCAyNSwgMjE0LCAxNzYsIDIyNiwgMTY5LCAyLCAKKyAgICAyMjUsIDIzLCAyMzAsIDI1LCA0MiwgMjM1LCAyMDAsIDIyNiwgMTY4LCAyMzAsIDI1LCA0MiwgMjE0LCAxNzYsIDIyNiwgCisgICAgMTY4LCAxMTMsIDIzMiwgMTQ3LCAyMiwgMjI2LCAxNjgsIDExMywgMjMyLCAxNDcsIDE3NywgMjI2LCAxNjgsIDIzMCwgMjUsIAorICAgIDMwLCAyMjYsIDE2OCwgMjMwLCAxNTUsIDExMywgMjE4LCA0NCwgMjE4LCA0MiwgMiwgMjM1LCAyMTIsIDIyNCwgMjUsIDIzNSwgCisgICAgMjEzLCAyMjYsIDE2OCwgMjQ0LCAxMDAsIDIyNiwgMCwgMjM1LCAyMTIsIDIzNSwgMjEzLCAyLCA1MiwgOTEsIDIzNSwgMjEzLCAKKyAgICAyNTMsIDE3NCwgMiwgMjE5LCA5NiwgMjUwLCAzMywgMjQzLCAyMjcsIDI1NCwgODksIDIzNSwgMjEwLCAyMzIsIDIxNSwgCisgICAgMjM1LCAyMTEsIDIsIDIyMywgMTE2LCAyMjUsIDIzOCwgMjU0LCAzLCAyMjUsIDIsIDIzMiwgMjE1LCAyMzUsIDIxMSwgMiwgCisgICAgMjIwLCAxNTMsIDIyNSwgMjM4LCAyNTQsIDMsIDIyNSwgMiwgMjMyLCAyMTUsIDIzNSwgMjExLCAyMjgsIDUzLCAyMzUsIAorICAgIDI1MSwgMjE2LCAxOTcsIDIyNSwgMiwgMjM1LCAyMTMsIDI1NCwgMywgMTE1LCAyMjUsIDEyLCAyMjYsIDE2OCwgMjI0LCAxOSwgCisgICAgMjM1LCAyMTMsIDIyNiwgMTY4LCAyMzUsIDIxMywgMiwgMTQwLCA4MCwgMiwgMTAzLCAyMzUsIDIxMywgMiwgMzAsIDUwLCAKKyAgICAyMzUsIDIxMywgMiwgMjM1LCAxOTksIDIzNSwgMjEzLCAyLCAyMTQsIDE3NSwgMjM1LCAyMTMsIDIsIDIyNiwgMTI0LCAyMzUsIAorICAgIDIxMywgMiwgMjE0LCAxODMsIDIzNSwgNjcsIDIzMywgODYsIDQzLCAyMTUsIDIyNywgMjI2LCAxNjgsIDIxMCwgMTYwLCAKKyAgICAxODgsIDIyMSwgMjAyLCAyNDksIDIxMCwgMjEwLCAxNjAsIDE4OCwgMjIxLCAyMDIsIDIyNSwgNTcsIDIxMCwgMTYwLCAxODgsIAorICAgIDIyMSwgMjAyLCAyMjQsIDE3NywgOTYsIDUsIDIsIDQsIDI1MCwgMzcsIDQ4LCA5NiwgNSwgMiwgMjUwLCAzMiwgMjU1LCAxNiwgCisgICAgNDgsIDk2LCA1LCAyLCAyMTYsIDkwLCA0OCwgOTYsIDUsIDIsIDU5LCA1MSwgOTYsIDUsIDIsIDIxNiwgOTAsIDUxLCA5NiwgCisgICAgNSwgMiwgMjE4LCA2NiwgMTA1LCA5NiwgNSwgMiwgODUsIDIxNSwgMjI2LCAyMzAsIDE4MywgNSwgMiwgMjQ5LCAyMjEsIDQ4LCAKKyAgICAyMzAsIDE4MywgNSwgMiwgNTksIDUxLCAyMzAsIDE4MywgNSwgMiwgMjQ0LCAxNzYsIDI0NywgMTE5LCAyMzAsIDE4MywgNSwgCisgICAgMiwgMjIyLCAyMjksIDI0NywgMTE5LCA5NiwgNSwgMjM2LCAxLCA0MywgMTYzLCAyNTAsIDM2LCA5NiwgNSwgMjM2LCAxLCAKKyAgICA0NCwgMTYzLCAyNTAsIDM2LCAyMTMsIDI1NCwgMTc3LCAyNDksIDEzMiwgMjI0LCAxODEsIDIzMCwgODUsIDUsIDIsIDU5LCAKKyAgICA0OCwgMjMwLCA4NSwgNSwgMiwgMjE0LCAxODMsIDIyMCwgMTUwLCAyMjQsIDE4MiwgMiwgMjUxLCAxNzYsIDI1MCwgMCwgCisgICAgMjE5LCA3OCwgMjI0LCAxODEsIDIzMCwgODUsIDUsIDIzNiwgMSwgNDMsIDE2MywgMjUwLCAzNiwgMjMwLCA4NSwgNSwgMjM2LCAKKyAgICAxLCA0NCwgMTYzLCAyNTAsIDM2LCAzNywgMjMwLCA4NSwgNSwgMiwgMjUwLCAzMiwgMjU1LCAxNSwgMjMwLCA4NSwgNSwgCisgICAgMjM2LCAxLCA1MiwgMjUwLCAzNiwgMzcsIDI0NywgMTcwLCA1MCwgOTYsIDUsIDIzNiwgMSwgMjE1LCAyMjYsIDIzMCwgMTgzLCAKKyAgICA1LCAyMzYsIDEsIDIxNSwgMjI2LCAyMzAsIDg1LCA1LCAyMzYsIDEsIDIxNSwgMjI2LCAyMzUsIDIwNywgMjI0LCAxODEsIAorICAgIDIyMiwgMjQzLCAyMzUsIDIwNywgMjI0LCAxODEsIDIxMCwgMTYwLCAxODgsIDIyMywgOTEsIDI0OSwgMjEwLCAyNTQsIDEzNSwgCisgICAgMTc3LCAyNDksIDE2NiwgMjM1LCAyMDAsIDIsIDI0NywgMTIxLCAyMTQsIDE3NiwgMiwgMjMwLCAxODMsIDUwLCAyMTQsIAorICAgIDE3NiwgMiwgMjI2LCAxMjQsIDIzNSwgMjAwLCAyLCAyMjYsIDEyNCwgMjM1LCAyMDAsIDIsIDIzMiwgMTQ3LCAyNTQsIDExOSwgCisgICAgMjE0LCAxNzYsIDIsIDIzMiwgMTQ3LCAyMjYsIDE1OSwgMjE0LCAxNzYsIDc3LCAyMzUsIDE5OSwgMjM1LCAyMDAsIDc3LCAKKyAgICAyMTQsIDE3NSwgMjE0LCAxNzYsIDc3LCAyNTIsIDE0MiwgNzcsIDIzNSwgMTk5LCAyMzUsIDIwMCwgNzcsIDI1MiwgMTQyLCAKKyAgICA3NywgMjE0LCAxNzUsIDIxNCwgMTc2LCAyNTIsIDMxLCAyMiwgMjM1LCA2NiwgMiwgMjE0LCAxNzUsIDIzNSwgMjAwLCAyNTIsIAorICAgIDMxLCAyMiwgMjM1LCA2NiwgMiwgMjM1LCAxOTksIDI1MCwgMSwgMjE0LCAxNzYsIDIsIDIyMCwgMTM0LCAyNTAsIDEsIDIzNSwgCisgICAgMjAwLCAyLCAyMjAsIDEzNCwgNTIsIDQyLCAyMzUsIDE5OSwgNTIsIDQyLCAyMTQsIDE3NSwgMjUwLCAxLCAyMTQsIDE3NiwgCisgICAgMiwgMjIwLCAxMzUsIDIyLCAyMTksIDc4LCAyMjQsIDE4MSwgMjMyLCAxNDcsIDIyLCAyLCA1OSwgNDgsIDIzMiwgMTQ3LCAKKyAgICAxNzcsIDIsIDU5LCA0OCwgNTIsIDIzMiwgMTQ3LCAyNTQsIDExOSwgNTIsIDIzMiwgMTQ3LCAyMjYsIDE1OSwgMTEzLCAyMzUsIAorICAgIDIwMSwgMjMyLCAxNDcsIDI1NCwgMTE5LCAxMTMsIDIzNSwgMjAxLCAyMzIsIDE0NywgMjI2LCAxNTksIDIxOSwgODYsIDIzMywgCisgICAgODYsIDIyNiwgMTU5LCAyMTksIDg2LCAyMzMsIDg2LCAyNTQsIDExOSwgMjMyLCAxNDcsIDE3NywgMjI2LCAxMjIsIDIzMiwgCisgICAgMTQ3LCAyNTQsIDExOSwgMjMyLCAxNDcsIDIyLCAyLCAyMzAsIDIyNSwgMjE4LCAxNDAsIDIzMiwgMTQ3LCAxNzcsIDIsIAorICAgIDIzMCwgMjI1LCAyMTgsIDE0MCwgMjMyLCAxNDcsIDIyLCAyLCAyMDMsIDI0OCwgMTU3LCAyMzIsIDE0NywgMTc3LCAyLCAKKyAgICAyMDMsIDI0OCwgMTU3LCAyMzIsIDE0NywgMjIsIDIsIDUyLCAyMjYsIDEyNCwgMjMyLCAxNDcsIDIyLCAyLCAyMTQsIDE4MywgCisgICAgMjMyLCAxNDcsIDIyLCAyLCA1MiwgMjE0LCAxODMsIDQsIDIxMywgMjUxLCAyLCAyMTQsIDE4MywgMjMyLCAxNDcsIDE3NywgCisgICAgMiwgNTIsIDIyNiwgMTI0LCAyMzIsIDE0NywgMTc3LCAyLCA1MiwgMjE0LCAxODMsIDIxMCwgMTYwLCAxODgsIDI0NywgMTMwLCAKKyAgICAyNTQsIDgwLCAyMTAsIDE2MCwgMTg4LCAyMjMsIDE0OSwgMjU0LCA4MCwgMjQ1LCA5OSwgNSwgMiwgNTksIDUxLCAyNDAsIAorICAgIDEwNSwgMiwgNTksIDQ4LCAyMTUsIDIxMiwgMjAzLCAyNTIsIDE0MiwgMiwgNTIsIDY3LCA5MSwgMjE1LCAyMTIsIDIwMywgCisgICAgMjUyLCAxNDIsIDIsIDIxNSwgMjEyLCA2NywgOTEsIDIxNiwgOTAsIDIyNiwgMTY5LCAyLCA1OSwgNDgsIDIxNiwgOTAsIAorICAgIDIyNiwgMTY5LCAyLCAyMjIsIDIyOSwgMjQ3LCAxMTksIDIxOSwgMTYzLCAyMzAsIDE4MywgMjE5LCAxNjIsIDI0OSwgMjAwLCAKKyAgICAyLCA1OSwgNDgsIDI0NSwgOTksIDIsIDI1MywgMjE3LCAyNTQsIDE0OSwgMTI4LCAyMTYsIDQzLCAyLCAyNTAsIDMyLCAyNTUsIAorICAgIDE1LCAyNTQsIDQ5LCAxMjgsIDE3NywgMTI4LCAxMTEsIDI0NSwgOTksIDUsIDc3LCA5NiwgNTAsIDk2LCA1LCA3NywgMjQ1LCAKKyAgICA5OSwgNTAsIDI0NSwgOTksIDUsIDc3LCAyMTYsIDkwLCAyMjYsIDE2OCwgNTIsIDI0OSwgMjI4LCAyNDUsIDEwMCwgMTEzLCAKKyAgICAyNDksIDE5NSwgMjQ1LCA5OSwgMjE5LCAxNzcsIDEzNCwgMjQ5LCAxOTUsIDI0NSwgOTksIDIxOSwgMTc3LCAyNDUsIDk5LCAKKyAgICA1LCAyLCAxMTMsIDE3MCwgNzcsIDIyLCAxMTMsIDE3MCwgNTEsIDI0NSwgOTUsIDIsIDI0NCwgMTIsIDE3MCwgNDgsIDIzMywgCisgICAgMTYsIDIsIDI1MCwgMzcsIDIzNSwgMjE2LCAyNDIsIDEzMSwgMiwgMjUwLCAzNywgMjM1LCAyMTYsIDIzMywgMTYsIDIsIAorICAgIDIyNCwgMTQsIDE2NCwgNDgsIDI0MiwgMTMxLCAyLCAyMjQsIDE0LCAxNjQsIDQ4LCAyMzMsIDE2LCAxNzcsIDIxOSwgOTgsIAorICAgIDEyOCwgMTExLCAyNDIsIDEzMSwgMTc3LCAyMTksIDk4LCAxMjgsIDExMSwgMjMzLCAxNiwgMTc3LCAyMTksIDk4LCAxMjgsIAorICAgIDIxNiwgNDMsIDIsIDU5LCAyMzUsIDIxNiwgMjQyLCAxMzEsIDE3NywgMjE5LCA5OCwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgCisgICAgMjM1LCAyMTYsIDIzMywgMTYsIDE3NywgMjE5LCA5OCwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNDgsIDI0MiwgMTMxLCAxNzcsIAorICAgIDIxOSwgOTgsIDEyOCwgMjE2LCA0MywgMiwgNTksIDQ4LCAyMzMsIDE2LCAxNzcsIDIxOSwgOTgsIDEyOCwgMjE2LCA0MywgMiwgCisgICAgNTksIDc3LCAyMjIsIDI1MiwgMjQyLCAxMzEsIDE3NywgMjE5LCA5OCwgMTI4LCAyMTYsIDQzLCAyLCA1OSwgNzcsIDIzMywgCisgICAgNDcsIDIzMywgMTYsIDE3NywgMjU0LCA1MCwgMjQyLCAxMzEsIDE3NywgMjU0LCA1MCwgMjMzLCAxNiwgMjIsIDIxOSwgMTU0LCAKKyAgICAyMjgsIDUzLCAxMjgsIDExMSwgMjQyLCAxMzEsIDIyLCAyMTksIDE1NCwgMjI4LCA1MywgMTI4LCAxMTEsIDIzMywgMTYsIAorICAgIDIyLCAyMjgsIDUzLCAyNTQsIDUwLCAyNDIsIDEzMSwgMjIsIDIyOCwgNTMsIDI1NCwgNTAsIDIzMywgMTYsIDc3LCAyNDYsIAorICAgIDExMiwgMTI4LCA3NywgMjQyLCAxMzAsIDI0MiwgMTMxLCA3NywgMjQ2LCAxMTIsIDEyOCwgNzcsIDIzMywgMTUsIDIzMywgCisgICAgMTYsIDc3LCAyMTksIDE2MywgMTc3LCAyNDUsIDEwMCwgMjQyLCAxMzEsIDc3LCAyMTksIDE2MywgMTc3LCAyNDUsIDEwMCwgCisgICAgMjMzLCAxNiwgNzcsIDIxOSwgMTYzLCA3NywgMjQyLCAxMzAsIDI0MiwgMTMxLCA3NywgMjE5LCAxNjMsIDc3LCAyMzMsIDE1LCAKKyAgICAyMzMsIDE2LCA3NywgMjQyLCAxMzEsIDc3LCAyNDYsIDExMiwgMjQ1LCAxMDAsIDI0MiwgMTMxLCA3NywgMjMzLCAxNiwgNzcsIAorICAgIDI0NiwgMTEyLCAyNDUsIDEwMCwgMjMzLCAxNiwgNzcsIDIxOSwgOTgsIDEyOCwgNzcsIDI0MiwgMTMxLCA3NywgMjE5LCA5OCwgCisgICAgMjQ1LCAxMDAsIDI0MiwgMTMxLCA3NywgMjE5LCA5OCwgMTI4LCA3NywgMjMzLCAxNiwgNzcsIDIxOSwgOTgsIDI0NSwgMTAwLCAKKyAgICAyMTksIDk4LCAxMjgsIDIxNiwgNDMsIDE3NywgMjMzLCAxNSwgMjE5LCA5OCwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgCisgICAgMTMwLCAyMTksIDk4LCAxMjgsIDIxNiwgNDMsIDE3NywgMjMzLCAxNiwgMiwgNTksIDIzNSwgMjE2LCAyMTksIDk4LCAxMjgsIAorICAgIDIxNiwgNDMsIDE3NywgMjQyLCAxMzEsIDIsIDU5LCAyMzUsIDIxNiwgMjQ2LCAxMTIsIDEyOCwgMjE2LCA0MywgMTc3LCAKKyAgICAyMzMsIDE1LCAyNDYsIDExMiwgMTI4LCAyMTYsIDQzLCAxNzcsIDI0MiwgMTMwLCAyNDYsIDExMiwgMjE5LCA5OCwgMTI4LCAKKyAgICAyMTYsIDQzLCAxNzcsIDIzMywgMTUsIDI0NiwgMTEyLCAyMTksIDk4LCAxMjgsIDIxNiwgNDMsIDE3NywgMjQyLCAxMzAsIAorICAgIDIxOSwgMTYzLCAxNzcsIDIzMywgMTUsIDIxOSwgMTYzLCAxNzcsIDI0MiwgMTMwLCAyMTksIDE2MywgNzcsIDIzMywgMTYsIAorICAgIDc3LCAyNDUsIDk5LCA1MCwgMjE5LCAxNjMsIDc3LCAyNDIsIDEzMSwgNzcsIDI0NSwgOTksIDUwLCA1MiwgMjI5LCA5MiwgCisgICAgMjMzLCAxNSwgNTIsIDIyOSwgOTIsIDI0MiwgMTMwLCA1MiwgMjI5LCA5MiwgMjMzLCAxNiwgMiwgMjE0LCAxODMsIDI0MiwgCisgICAgMTMxLCAyMjYsIDEyMiwgMjMzLCAxNSwgMjQyLCAxMzEsIDI1MiwgMzEsIDIzMywgMTUsIDIzMywgMTYsIDI1MCwgMSwgMjUxLCAKKyAgICA3OSwgMjQ5LCA5MywgMjQyLCAxMzEsIDI1MCwgMSwgMjUxLCA3OSwgMjQ5LCA5MywgMjMzLCAxNiwgMjUwLCAxLCAyNTEsIAorICAgIDc5LCAyNDksIDk0LCA3NywgMjE5LCA5OCwgMjQ1LCAxMDAsIDI0MiwgMTMxLCAyNTAsIDEsIDI1MSwgNzksIDI0OSwgOTQsIAorICAgIDc3LCAyMTksIDk4LCAyNDUsIDEwMCwgMjE5LCA3OSwgMjE2LCAyMDEsIDIzMywgODQsIDIxNiwgMjAxLCAyMTksIDc5LCAKKyAgICAyMTYsIDIwMiwgMTc3LCAxMjgsIDExMSwgMjMzLCA4NCwgMjE2LCAyMDIsIDE3NywgMTI4LCAxMTEsIDI0NSwgOTksIDUsIDIsIAorICAgIDI1MSwgMTA5LCA0OCwgMjI0LCAyMDQsIDc3LCAyMTksIDE1NCwgMjQ1LCA5OSwgNTAsIDIxOCwgNTcsIDc3LCAyMTksIDE1NCwgCisgICAgMjQ1LCA5OSwgNTAsIDIyNCwgMjA0LCA3NywgMjE5LCAxNTQsIDIyOCwgNTMsIDEyOCwgMTExLCAyMTgsIDU3LCA3NywgMjE5LCAKKyAgICAxNTQsIDIyOCwgNTMsIDEyOCwgMTExLCAyMjQsIDIwNCwgNzcsIDI0NSwgOTksIDUwLCAyMTgsIDU3LCA3NywgMjQ1LCA5OSwgCisgICAgNTAsIDIyNCwgMjA0LCA3NywgMjI4LCA1MywgMTI4LCAxMTEsIDIxOCwgNTcsIDc3LCAyMjgsIDUzLCAxMjgsIDExMSwgMjI0LCAKKyAgICAyMDQsIDc3LCAyNTQsIDE0OSwgMTI4LCAxMTEsIDIxOCwgNTcsIDc3LCAyNTQsIDE0OSwgMTI4LCAxMTEsIDIyNCwgMjA0LCAKKyAgICA3NywgMjI4LCA1MywgMjU0LCAxNDksIDEyOCwgMTExLCAyMTgsIDU3LCA3NywgMjI4LCA1MywgMjU0LCAxNDksIDEyOCwgCisgICAgMTExLCA1MiwgMjI0LCAyMDMsIDUyLCAyMTgsIDU2LCAyMTgsIDY1LCAyLCAyNDcsIDEyMSwgMjE4LCAyMywgMiwgMjQ3LCAKKyAgICAxMjEsIDIxOCwgNjUsIDIsIDk2LCA1LCA1MSwgMjE4LCAyMywgMiwgOTYsIDUsIDUxLCAyMTgsIDY1LCAyLCAyMzAsIDg1LCAKKyAgICA1LCA1MSwgMjE4LCAyMywgMiwgMjMwLCA4NSwgNSwgNTEsIDIxOCwgNjUsIDY0LCAxNzcsIDEyOCwgMjE2LCA0MywgMiwgNTksIAorICAgIDQ4LCAyMTgsIDIzLCA2NCwgMTc3LCAxMjgsIDIxNiwgNDMsIDIsIDU5LCA0OCwgMjE4LCA2NSwgNjQsIDc3LCAyNDUsIDk5LCAKKyAgICA1MCwgMjE4LCAyMywgNjQsIDc3LCAyNDUsIDk5LCA1MCwgMjE4LCA2NSwgNjQsIDc3LCAyMTYsIDkwLCAyMjYsIDE2OCwgCisgICAgMjE4LCAyMywgNjQsIDc3LCAyMTYsIDkwLCAyMjYsIDE2OCwgMjE4LCA2NSwgNjQsIDc3LCAyNTQsIDE0OSwgMTI4LCAxMTEsIAorICAgIDIxOCwgMjMsIDY0LCA3NywgMjU0LCAxNDksIDEyOCwgMTExLCAyMTgsIDY1LCA2NCwgNzcsIDIyOCwgNTMsIDEyOCwgMTExLCAKKyAgICAyMTgsIDIzLCA2NCwgNzcsIDIyOCwgNTMsIDEyOCwgMTExLCA0MiwgNDMsIDIwNCwgOTMsIDIyNiwgMTY4LCA0MiwgNDQsIAorICAgIDIwNCwgOTMsIDIyNiwgMTY4LCAyNTAsIDEsIDIxOCwgNjQsIDI1MCwgMSwgMjE4LCAyMiwgMjUwLCAxLCAyMTgsIDY1LCAKKyAgICAxNzcsIDEyOCwgMTExLCAyNTAsIDEsIDIxOCwgMjMsIDE3NywgMTI4LCAxMTEsIDIxOCwgNjUsIDc3LCAyMTgsIDIyLCAyMTgsIAorICAgIDIzLCA3NywgMjE4LCA2NCwgMjE4LCA2NSwgNzcsIDIxOCwgNjQsIDIxOCwgMjMsIDc3LCAyMTgsIDIyLCAyMTgsIDIzLCAKKyAgICAyNTIsIDMxLCAyMTgsIDY0LCAyMTgsIDIzLCAyNTIsIDMxLCAyMiwgMjM1LCA2NiwgMjUxLCA3OSwgMjQ4LCAxNTgsIDIsIAorICAgIDIxOCwgNjQsIDI0NSwgMTcxLCA2NCwgMjI2LCAxNzEsIDI0NiwgMTA0LCAyMjUsIDQ5LCAyLCAyMTcsIDEzLCAyMTYsIDE0LCAKKyAgICAyMTUsIDI0MSwgMjM1LCAxOTksIDI0NCwgMjIsIDIyOCwgNjYsIDIxOSwgMjUyLCA0MywgMjE3LCA4OCwgMjE5LCAyNTIsIAorICAgIDEyNCwgMjE3LCA4OCwgMjE5LCAyNTIsIDEyMCwgMjE3LCA4OCwgMjI1LCAxNzMsIDIsIDIyMiwgOTIsIDY3LCAyNTIsIDE0MiwgCisgICAgMjE1LCAyMTIsIDQ0LCAyMTUsIDkzLCA1MiwgNjcsIDI1MiwgMTQyLCA0MywgMjE1LCA5MywgNjcsIDI1MiwgMTQyLCA1MiwgCisgICAgNDMsIDIxNSwgOTMsIDUyLCA2NywgMjUyLCAxNDIsIDUyLCA0MywgMjE1LCA5MywgMTk5LCAyNDgsIDE1OCwgMjQzLCAyNDQsIAorICAgIDQzLCAyMzEsIDY0LCA2NCwgNTIsIDIxMywgMjM5LCAyMTksIDI1MiwgMTI0LCAyMTcsIDg5LCAyLCAyMjYsIDEyNCwgMjE5LCAKKyAgICAyNTIsIDEyMCwgMjE3LCA4OSwgMiwgMjE0LCAxODMsIDIxOSwgMjUyLCAxMjAsIDIxNywgODksIDc3LCAyMTksIDI1MiwgCisgICAgMTI0LCAyMTcsIDg4LCA1MiwgMTI0LCAyMTcsIDg4LCA1MiwgMTIwLCAyMTcsIDg4LCA1MiwgMjE4LCAxMDQsIDIyOCwgNTMsIAorICAgIDUwLCAyMjMsIDUwLCA1MiwgMjE4LCAxMDQsIDIyOCwgNTMsIDUwLCAyNDcsIDEzOSwgMjI4LCA1MywgMjQ3LCAxNzYsIDIsIAorICAgIDIyMywgNTAsIDIyOSwgMTAyLCAyMTksIDk2LCA2NywgMjMyLCAyMTUsIDIsIDI1MCwgMzcsIDQ4LCA2NywgMjMyLCAyMTUsIAorICAgIDIsIDI1MCwgMzcsIDUxLCAxMjQsIDIxNywgODksIDIsIDI1MCwgMzcsIDUxLCAyMjYsIDksIDIsIDIwMywgOTEsIDIyNiwgOSwgCisgICAgMiwgMjE2LCA5MCwgMjI2LCAxNjgsIDIxNSwgMjEyLCA2NywgMjUyLCAxNDIsIDI1MSwgMjQ1LCAyMjMsIDkyLCAyMTUsIAorICAgIDIxMiwgNjcsIDI1MiwgMTQyLCAyLCAyMDMsIDkxLCAyMTUsIDIxMiwgMjQ5LCAyMjgsIDIyNiwgMTY4LCAyMTUsIDIxMiwgCisgICAgMjI5LCA5MiwgMjMzLCAxNSwgMjE1LCAyMTIsIDIyOSwgOTIsIDI0MiwgMTMwLCAyNDYsIDExMiwgMjE5LCA5OCwgMjMzLCAKKyAgICAxNiwgMTc3LCAxMjgsIDExMSwgMjQ2LCAxMTIsIDIxOSwgOTgsIDI0MiwgMTMxLCAxNzcsIDEyOCwgMTExLCAyMTUsIDIxMiwgCisgICAgMjE5LCA0OCwgMjUxLCAyNDUsIDIyMywgOTIsIDIzMywgODYsIDIxNSwgMjEyLCA2NywgMjUyLCAxNDIsIDIyNiwgMTY4LCAKKyAgICA1MiwgMjE5LCA0OCwgMjI2LCAxNjgsIDcxLCA2NywgMTMwLCAyMzAsIDI1LCA3MSwgNjcsIDEzMCwgMjI4LCA1NywgMjQ1LCAKKyAgICAyMjEsIDcxLCA3NCwgMjI4LCA1NywgMjEyLCA5LCA3MSwgNzQsIDIxOSwgMjksIDI0NSwgMjIxLCA3MSwgNzQsIDIxOSwgMjksIAorICAgIDIxMiwgOSwgNzEsIDc0LCA0MywgNDQsIDcxLCA3NCwgMTQwLCA4NSwgNzQsIDIxNCwgMTUzLCA4NSwgNzQsIDI0NiwgMTA1LCAKKyAgICA4NSwgNzQsIDIyOCwgNTcsIDI0NSwgMjIxLCA4NSwgNzQsIDIyOCwgNTcsIDIxMiwgOSwgODUsIDc0LCAyMTksIDI5LCAyNDUsIAorICAgIDIyMSwgODUsIDc0LCAyMTksIDI5LCAyMTIsIDksIDg1LCA3NCwgNDMsIDQ0LCA4NSwgNzQsIDEyMCwgMTI0LCA4NSwgNzQsIAorICAgIDk3LCA4MCwgMiwgMjE2LCA3OCwgMjQ2LCAxMDQsIDk3LCA4MCwgMiwgMjE2LCA3OCwgMjE0LCAxNTIsIDE0MCwgODAsIDIsIAorICAgIDIxNiwgNzgsIDI0NiwgMTA0LCAxNDAsIDgwLCAyLCAyMTYsIDc4LCAyMTQsIDE1MiwgNDIsIDIsIDIxNiwgMTUsIDE2MywgCisgICAgMjUxLCAyMjIsIDQyLCAyLCAyNTEsIDE3NiwgMTYzLCAyNTEsIDIyMiwgNDIsIDIsIDIxNCwgMTYwLCA0NCwgMjQ4LCAwLCAKKyAgICAxNjMsIDI1MSwgMjIyLCA0MiwgMiwgMjMyLCAxMDksIDQzLCAyNDgsIDAsIDE2MywgMjUxLCAyMjIsIDI0NywgMjUwLCAyLCAKKyAgICA0MywgMTYzLCAyNTEsIDIyMiwgMjQ3LCAyNTAsIDIsIDQ0LCAxNjMsIDI1MSwgMjIyLCAyNDcsIDI1MCwgMiwgMjE2LCAxNSwgCisgICAgMTYzLCAyNTEsIDIyMiwgMjQ3LCAyNTAsIDIsIDI1MSwgMTc2LCAxNjMsIDI1MSwgMjIyLCAyNDYsIDExOSwgMjE4LCAyMzUsIAorICAgIDg1LCAyMzMsIDg2LCAyMTgsIDIzNSwgNzEsIDIzMywgODYsIDIxOCwgMjM1LCA4NSwgMjEzLCAxODcsIDQsIDIxOCwgMjM1LCAKKyAgICA3MSwgMjEzLCAxODcsIDQsIDIxOCwgMjM1LCA4NSwgMjI1LCAxOTEsIDcxLCAyMjUsIDE5MSwgNzEsIDI0MSwgMTk0LCA4NSwgCisgICAgMjQxLCAxOTQsIDIwMywgODUsIDI0MSwgMTk0LCA4NSwgMjMzLCA4NiwgMjUwLCAzNiwgODUsIDIzMSwgODMsIDI0NywgMjQ5LCAKKyAgICA3MSwgMjMxLCA4MywgMjQ3LCAyNDksIDg1LCAyMzEsIDgzLCAyMzIsIDEwNSwgNzEsIDIzMSwgODMsIDIzMiwgMTA1LCA4NSwgCisgICAgNCwgMjQ3LCAyNDksIDg1LCA0LCAyMzIsIDEwNSwgNzEsIDQsIDIzMiwgMTA1LCA4NSwgMjAzLCAyNDUsIDE2NSwgNzEsIAorICAgIDIwMywgMjQ1LCAxNjUsIDg1LCA2NywgMjQ1LCAxNjUsIDcxLCA2NywgMjQ1LCAxNjUsIDQzLCA4MCwgMiwgNCwgMjUwLCAzNiwgCisgICAgMTM0LCAxNDAsIDI1MywgMjQ4LCA0MywgODAsIDIsIDM3LCAyMjUsIDIzLCAxOTksIDE0MCwgMjE4LCAyMzEsIDc0LCAxNDAsIAorICAgIDIxNSwgNTgsIDgwLCAyLCA2NywgOTEsIDE0MCwgMjE1LCA1OCwgODAsIDIsIDUyLCA2NywgOTEsIDE0MCwgMjE1LCA1OCwgCisgICAgODAsIDI0MywgMjQ0LCAxMzAsIDE0MCwgMjE1LCA1OCwgMjE1LCAyMTIsIDI0OCwgMTU4LCA3NCwgMTQwLCA4MCwgMiwgMjQ2LCAKKyAgICAxMTksIDIxOCwgMTQwLCAxNDAsIDgwLCAyLCAyMTcsIDc5LCAyLCA2NywgOTEsIDE0MCwgODAsIDIsIDIxNywgNzksIDIsIAorICAgIDUyLCA2NywgOTEsIDE0MCwgMjE1LCA1OCwgODAsIDIsIDIxNywgNzgsIDE0MCwgMjE1LCA1OCwgODAsIDIsIDIxNywgNzksIAorICAgIDIsIDY3LCA5MSwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OSwgMiwgNTIsIDY3LCA5MSwgMTQwLCA4MCwgMjE2LCAKKyAgICAxNDAsIDIxMSwgMTc4LCAyMTIsIDM2LCA4MCwgMjI1LCA4LCAyNDcsIDE5NiwgMjMzLCA0NywgMjQ1LCA5OSwgNSwgNzcsIAorICAgIDE0MCwgNzQsIDIyMywgNTEsIDIxNiwgOTAsIDIyNiwgMTY5LCA3NywgMTQwLCA3NCwgMTQwLCA4MCwgNzcsIDIyMywgNTEsIAorICAgIDI1NCwgMTQ5LCAxMjgsIDExMSwgOTcsIDgwLCAyMTYsIDE0MCwgMjQyLCAxMzAsIDk3LCA4MCwgMjE2LCAxNDAsIDIxOCwgCisgICAgMjIsIDE0MCwgMjI0LCAyNSwgNzQsIDk3LCAyMjQsIDI1LCA3NCwgMjIzLCA1MSwgMjE2LCA5MCwgMjI2LCAxNjksIDc3LCAKKyAgICA5NywgNzQsIDk3LCA4MCwgNzcsIDIyMywgNTEsIDI1NCwgMTQ5LCAxMjgsIDExMSwgMjE2LCA5MCwgMjI2LCAxNjksIDc3LCAKKyAgICAxNDAsIDc0LCAxNDAsIDgwLCA3NywgMjU0LCAxNDksIDEyOCwgMTExLCAxNDAsIDgwLCA3NywgMjIzLCA1MSwgMjE2LCA5MCwgCisgICAgMjI2LCAxNjgsIDk3LCA4MCwgNzcsIDIyMywgNTEsIDIxNiwgOTAsIDIyNiwgMTY4LCA3MSwgMjMxLCA4MywgMjE4LCAxNTcsIAorICAgIDg1LCA0LCAyMTgsIDE1NywgNzEsIDQsIDIxOCwgMTU3LCA4NSwgMjIyLCAyNDgsIDIyNSwgMTkxLCA3MSwgMjIyLCAyNDgsIAorICAgIDIyNSwgMTkxLCAxMTQsIDIzMywgODYsIDI1MCwgMzYsIDExNCwgMjI2LCAxMjUsIDIsIDIyNiwgMTI1LCAyMzUsIDIxNiwgCisgICAgMTE0LCAyNTAsIDM3LCAyLCAyNTAsIDM3LCAyMzUsIDIxNiwgMTE0LCAyNTAsIDM2LCAxMTQsIDM3LCAyMjEsIDI1NSwgMTQ1LCAKKyAgICA2LCAxLCAyNTMsIDE2MCwgMTQ1LCA2LCAxLCAyNTEsIDExOCwgMTQ1LCA2LCAxLCAyMTMsIDI1MywgMTQ1LCA2LCAxLCAyNDIsIAorICAgIDE4NiwgMTQ1LCA2LCAxLCAyNDcsIDE0MSwgMTQ1LCA2LCAxLCAyMTEsIDIxLCAxNDUsIDYsIDEsIDIxMCwgNjgsIDE0NSwgNiwgCisgICAgMSwgMjQ2LCAzNSwgMTQ1LCA2LCAxLCAyMTAsIDkxLCAxNDUsIDYsIDEsIDIzNSwgMTQ5LCAxNDUsIDYsIDEsIDY1LCAyMzUsIAorICAgIDE0OSwgMTQ1LCA2LCAxLCA3MywgMTQ1LCA2LCAxLCAyNDcsIDE2MSwgMTQ1LCA2LCAxLCAyMzQsIDI0MSwgMTQ1LCA2LCAxLCAKKyAgICAyMzIsIDE4NywgMTQ1LCA2LCAxLCAyMzAsIDMwLCAxNDUsIDYsIDEsIDIyOSwgMTkyLCAxNDUsIDYsIDEsIDIyNiwgMTg2LCAKKyAgICAxNDUsIDYsIDEsIDIyNSwgNSwgMTQ1LCA2LCAxLCAyMjIsIDIyOCwgMTQ1LCA2LCAxLCAyMTksIDg0LCAxNDUsIDYsIDEsIAorICAgIDIxNSwgODEsIDE0NSwgNiwgMSwgMjE0LCAyMDEsIDE0NSwgNiwgMSwgMjQzLCAyNDcsIDE0NSwgNiwgMSwgMjQxLCAyMDAsIAorICAgIDE0NSwgNiwgMSwgMjI2LCAxMzYsIDE0NSwgNiwgMSwgMjI1LCAyMjIsIDE0NSwgNiwgMSwgMjE5LCAyMjksIDE0NSwgNiwgMSwgCisgICAgMjE1LCAxNjgsIDE0NSwgNiwgMSwgMjUwLCA3NiwgMTQ1LCA2LCAxLCAyMjAsIDEwMywgMTQ1LCA2LCAxLCAyMTEsIDI3LCAKKyAgICAxNDUsIDYsIDEsIDIxMSwgMjksIDE0NSwgNiwgMSwgMjExLCA1NywgMTQ1LCA2LCAxLCAyMTgsIDI1NCwgMTYyLCAxNDUsIDYsIAorICAgIDEsIDIxMCwgMjEyLCAxNDUsIDYsIDEsIDQsIDIxMCwgMTgzLCAxNDUsIDYsIDEsIDQsIDIxMCwgMTg0LCAyLCAyMTcsIDc4LCAKKyAgICAxNDUsIDYsIDEsIDIxMCwgMjQ0LCAxNDUsIDYsIDEsIDIzNSwgMTg1LCA0LCAyMTAsIDE4MywgMTQ1LCA2LCAxLCAyNTEsIAorICAgIDI1MCwgMjEwLCAxODMsIDE0NSwgNiwgMSwgMjM1LCAxODUsIDI1MSwgMjUwLCAyMTAsIDE4MywgMTQ1LCA2LCAxLCAyNDQsIAorICAgIDgzLCAxNDUsIDYsIDEsIDIzNSwgMTQ3LCAxNDUsIDYsIDEsIDIxOSwgMjI4LCAxNDUsIDYsIDEsIDIxNSwgMjAzLCA2MSwgCisgICAgMTQ1LCA2LCAxLCAyMzMsIDc2LCAyMzAsIDMwLCAxNDUsIDQsIDEsIDI1MywgMTYwLCAxNDUsIDQsIDEsIDI1MSwgMTE4LCAKKyAgICAxNDUsIDQsIDEsIDIxMywgMjUzLCAxNDUsIDQsIDEsIDI0MiwgMTg2LCAxNDUsIDQsIDEsIDI0NywgMTQxLCAxNDUsIDQsIDEsIAorICAgIDIxMSwgMjEsIDE0NSwgNCwgMSwgMjEwLCA2OCwgMTQ1LCA0LCAxLCAyNDYsIDM1LCAxNDUsIDQsIDEsIDIxMCwgOTEsIDE0NSwgCisgICAgNCwgMSwgMjM1LCAxNDksIDE0NSwgNCwgMSwgNjUsIDIzNSwgMTQ5LCAxNDUsIDQsIDEsIDczLCAxNDUsIDQsIDEsIDI0NywgCisgICAgMTYxLCAxNDUsIDQsIDEsIDIzNCwgMjQxLCAxNDUsIDQsIDEsIDIzMiwgMTg3LCAxNDUsIDQsIDEsIDIzMCwgMzAsIDE0NSwgCisgICAgNCwgMSwgMjI5LCAxOTIsIDE0NSwgNCwgMSwgMjI2LCAxODYsIDE0NSwgNCwgMSwgMjI1LCA1LCAxNDUsIDQsIDEsIDIyMiwgCisgICAgMjI4LCAxNDUsIDQsIDEsIDIxOSwgODQsIDE0NSwgNCwgMSwgMjE1LCA4MSwgMTQ1LCA0LCAxLCAyMTQsIDIwMSwgMTQ1LCA0LCAKKyAgICAxLCAyNDMsIDI0NywgMTQ1LCA0LCAxLCAyNDEsIDIwMCwgMTQ1LCA0LCAxLCAyMjYsIDEzNiwgMTQ1LCA0LCAxLCAyMjUsIAorICAgIDIyMiwgMTQ1LCA0LCAxLCAyMTksIDIyOSwgMTQ1LCA0LCAxLCAyMTUsIDE2OCwgMTQ1LCA0LCAxLCAyNTAsIDc2LCAxNDUsIAorICAgIDQsIDEsIDIyMCwgMTAzLCAxNDUsIDQsIDEsIDIxMSwgMjcsIDE0NSwgNCwgMSwgMjExLCAyOSwgMTQ1LCA0LCAxLCAyMTEsIAorICAgIDU3LCAxNDUsIDQsIDEsIDIxOCwgMjU0LCAxNjIsIDE0NSwgNCwgMSwgMjEwLCAyMTIsIDE0NSwgNCwgMSwgNCwgMjEwLCAKKyAgICAxODMsIDE0NSwgNCwgMSwgNCwgMjEwLCAxODQsIDIsIDIxNywgNzgsIDE0NSwgNCwgMSwgMjEwLCAyNDQsIDE0NSwgNCwgMSwgCisgICAgMjM1LCAxODUsIDQsIDIxMCwgMTgzLCAxNDUsIDQsIDEsIDI1MSwgMjUwLCAyMTAsIDE4MywgMTQ1LCA0LCAxLCAyMzUsIAorICAgIDE4NSwgMjUxLCAyNTAsIDIxMCwgMTgzLCAxNDUsIDQsIDEsIDI0NCwgODMsIDE0NSwgNCwgMSwgMjM1LCAxNDcsIDE0NSwgNCwgCisgICAgMSwgMjE5LCAyMjgsIDE0NSwgNCwgMSwgMjE1LCAyMDMsIDYxLCAxNDUsIDQsIDEsIDIzMywgNzYsIDIzMCwgMzAsIDcsIDYsIAorICAgIDEsIDIzMywgMTUwLCAyLCA1MiwgMTMwLCA3LCA0LCAxLCAyMzMsIDE1MCwgMiwgNTIsIDEzMCwgNywgNiwgMSwgMjMzLCAKKyAgICAxNTAsIDIsIDIzMCwgMjI1LCAxODMsIDcsIDYsIDEsIDIyNiwgMTA3LCAyLCA5MSwgNywgNiwgMSwgMjIzLCAyMjUsIDIsIAorICAgIDIxNywgNzgsIDcsIDQsIDEsIDExNSwgMiwgOTEsIDcsIDQsIDEsIDIxNywgMTU0LCAyLCAyNDgsIDAsIDkxLCA3LCA2LCAxLCAKKyAgICAyNDIsIDYyLCAyLCAyNDgsIDQwLCA3LCA0LCAxLCAyNDIsIDYyLCAyLCAyNDgsIDQwLCA3LCA2LCAxLCAyMzUsIDI1LCAyLCAKKyAgICAyNDgsIDQwLCA3LCA0LCAxLCAyMzUsIDI1LCAyLCAyNDgsIDQwLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjQ4LCA0MCwgNywgCisgICAgNCwgMSwgMjEwLCAxNjAsIDIsIDI0OCwgNDAsIDcsIDYsIDEsIDI1NCwgMTQ0LCA3LCA2LCAxLCAyMzIsIDUxLCAyLCAxMDMsIAorICAgIDcsIDYsIDEsIDIxNSwgOTQsIDYxLCA3LCA2LCAxLCAyMTUsIDk0LCAyNTQsIDE0NCwgNywgNCwgMSwgMjE0LCAxMDYsIDIsIAorICAgIDQ0LCAxMDMsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDEwMywgNywgNCwgMSwgMjEyLCA5OSwgMiwgMTAzLCA3LCA0LCAxLCAKKyAgICAyMTQsIDEwNiwgMiwgMjQ5LCAxMDEsIDcsIDYsIDEsIDE2MywgMjQyLCA2MSwgNywgNCwgMSwgMTYzLCAyNDIsIDYxLCA3LCAKKyAgICA0LCAxLCAyMTcsIDc2LCAyMjUsIDEzNCwgNywgNCwgMSwgMTYwLCAyLCAyMjgsIDUxLCA3LCA0LCAxLCAyMTUsIDk0LCAyMjMsIAorICAgIDIyNSwgMiwgMjE3LCA3OCwgNywgNCwgMSwgMTQ0LCAyLCAxMjEsIDIyMiwgMjM1LCAyMzUsIDIxNiwgNywgMSwgNCwgNiwgCisgICAgMjE1LCA5NCwgNzUsIDcsIDIxOCwgNjYsIDQsIDEsIDIzNSwgMTQ1LCA1OCwgMSwgNiwgMjE0LCAxMDUsIDcsIDYsIDEsIAorICAgIDIyMiwgOTMsIDIsIDIxNywgMjUxLCAyMTcsIDc4LCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjE3LCAyNTEsIDIxNywgNzgsIAorICAgIDgxLCA2LCAxLCAyNTQsIDE2NSwgODEsIDQsIDEsIDI1NCwgMTY1LCA4MSwgNiwgMSwgMjEzLCAxNzMsIDgxLCA0LCAxLCAKKyAgICAyMTMsIDE3MywgODEsIDYsIDEsIDI0MywgMTA4LCA4MSwgNCwgMSwgMjQzLCAxMDgsIDgxLCA2LCAxLCAyNDgsIDE5MiwgODEsIAorICAgIDQsIDEsIDI0OCwgMTkyLCA4MSwgNiwgMSwgMjQ1LCAxOTUsIDgxLCA0LCAxLCAyNDUsIDE5NSwgODEsIDYsIDEsIDIxOSwgCisgICAgMzQsIDgxLCA0LCAxLCAyMTksIDM0LCA4MSwgNiwgMSwgMjEwLCAxMDEsIDgxLCA0LCAxLCAyMTAsIDEwMSwgODEsIDYsIDEsIAorICAgIDI0MSwgMjQ5LCA4MSwgNCwgMSwgMjQxLCAyNDksIDgxLCA2LCAxLCAyMTYsIDE3OCwgODEsIDQsIDEsIDIxNiwgMTc4LCA4MSwgCisgICAgNiwgMSwgMjQwLCAxMTcsIDgxLCA0LCAxLCAyNDAsIDExNywgODEsIDYsIDEsIDIzNCwgMjI4LCA4MSwgNCwgMSwgMjM0LCAKKyAgICAyMjgsIDgxLCA2LCAxLCAyMzMsIDczLCA4MSwgNCwgMSwgMjMzLCA3MywgODEsIDYsIDEsIDIzMCwgMjMxLCA4MSwgNCwgMSwgCisgICAgMjMwLCAyMzEsIDgxLCA2LCAxLCAyMjgsIDIzNCwgODEsIDQsIDEsIDIyOCwgMjM0LCA4MSwgNiwgMSwgMjMzLCAyMzQsIDgxLCAKKyAgICA0LCAxLCAyMzMsIDIzNCwgODEsIDYsIDEsIDc2LCA4MSwgNCwgMSwgNzYsIDgxLCA2LCAxLCAyMjUsIDEwOSwgODEsIDQsIDEsIAorICAgIDIyNSwgMTA5LCA4MSwgNiwgMSwgMjIyLCAyMTIsIDgxLCA0LCAxLCAyMjIsIDIxMiwgODEsIDYsIDEsIDIxOSwgMTY2LCA4MSwgCisgICAgNCwgMSwgMjE5LCAxNjYsIDgxLCA2LCAxLCAyMTcsIDQyLCA4MSwgNCwgMSwgMjE3LCA0MiwgODEsIDYsIDEsIDIxNCwgMjI5LCAKKyAgICA4MSwgNCwgMSwgMjE0LCAyMjksIDgxLCA2LCAxLCAyNDQsIDEyMiwgODEsIDQsIDEsIDI0NCwgMTIyLCA4MSwgNiwgMSwgCisgICAgMjM0LCAxMTMsIDgxLCA0LCAxLCAyMzQsIDExMywgODEsIDYsIDEsIDIyNCwgMTYyLCA4MSwgNCwgMSwgMjI0LCAxNjIsIDgxLCAKKyAgICA2LCAxLCAyMjYsIDE3OSwgODEsIDQsIDEsIDIyNiwgMTc5LCA4MSwgNiwgMSwgMjQ3LCAyNTQsIDI1NCwgMTcxLCA4MSwgNCwgCisgICAgMSwgMjQ3LCAyNTQsIDI1NCwgMTcxLCA4MSwgNiwgMSwgNTUsIDgxLCAyNTQsIDE5NywgODEsIDQsIDEsIDU1LCA4MSwgMjU0LCAKKyAgICAxOTcsIDgxLCA2LCAxLCAyNDksIDExNiwgMjQ1LCAxOTUsIDgxLCA0LCAxLCAyNDksIDExNiwgMjQ1LCAxOTUsIDgxLCA2LCAKKyAgICAxLCAyNDcsIDI1NCwgMjM0LCAyMjgsIDgxLCA0LCAxLCAyNDcsIDI1NCwgMjM0LCAyMjgsIDgxLCA2LCAxLCAyNDcsIDI1NCwgCisgICAgMjI4LCAyMzQsIDgxLCA0LCAxLCAyNDcsIDI1NCwgMjI4LCAyMzQsIDgxLCA2LCAxLCAyNDksIDExNiwgMjI4LCAyMzQsIDgxLCAKKyAgICA0LCAxLCAyNDksIDExNiwgMjI4LCAyMzQsIDgxLCA2LCAxLCA1NSwgODEsIDIyNiwgMTc5LCA4MSwgNCwgMSwgNTUsIDgxLCAKKyAgICAyMjYsIDE3OSwgODEsIDYsIDEsIDIyMSwgMjQ3LCA4MSwgNCwgMSwgMjIxLCAyNDcsIDgxLCA2LCAxLCAyNDksIDEyOSwgCisgICAgMjIwLCA1NiwgODEsIDQsIDEsIDI0OSwgMTI5LCAyMjAsIDU2LCA4MSwgNiwgMSwgNTUsIDgxLCAyMjAsIDU2LCA4MSwgNCwgCisgICAgMSwgNTUsIDgxLCAyMjAsIDU2LCA4MSwgNiwgMSwgNTUsIDgxLCAyNDUsIDc2LCA4MSwgNCwgMSwgNTUsIDgxLCAyNDUsIDc2LCAKKyAgICA4MSwgNiwgMSwgMjU0LCAxODMsIDIzNCwgMTE4LCA4MSwgNCwgMSwgMjU0LCAxODMsIDIzNCwgMTE4LCA4MSwgNiwgMSwgCisgICAgMjQ3LCAyNTQsIDI0MSwgNDYsIDgxLCA0LCAxLCAyNDcsIDI1NCwgMjQxLCA0NiwgODEsIDYsIDEsIDU1LCA4MSwgMjQxLCAKKyAgICA0NiwgODEsIDQsIDEsIDU1LCA4MSwgMjQxLCA0NiwgODEsIDYsIDEsIDU1LCA4MSwgMTYyLCA4MSwgNCwgMSwgNTUsIDgxLCAKKyAgICAxNjIsIDgxLCA2LCAxLCAyMzMsIDE0OSwgMTYyLCA4MSwgNCwgMSwgMjMzLCAxNDksIDE2MiwgODEsIDYsIDEsIDU1LCA4MSwgCisgICAgMjQxLCAyMTgsIDgxLCA0LCAxLCA1NSwgODEsIDI0MSwgMjE4LCA4MSwgNiwgMSwgNTUsIDgxLCAyNDEsIDI1MiwgODEsIDQsIAorICAgIDEsIDU1LCA4MSwgMjQxLCAyNTIsIDgxLCA2LCAxLCA1NSwgODEsIDI0MywgMTAzLCA4MSwgNCwgMSwgNTUsIDgxLCAyNDMsIAorICAgIDEwMywgODEsIDYsIDEsIDU1LCA4MSwgMjQ3LCAxNjQsIDgxLCA0LCAxLCA1NSwgODEsIDI0NywgMTY0LCA4MSwgNiwgMSwgCisgICAgNTUsIDgxLCAyMjAsIDIzLCA4MSwgNCwgMSwgNTUsIDgxLCAyMjAsIDIzLCA4MSwgNiwgMSwgNTUsIDIyNywgMjA5LCAyMjAsIAorICAgIDIzLCA4MSwgNCwgMSwgNTUsIDIyNywgMjA5LCAyMjAsIDIzLCA4MSwgNiwgMSwgNTUsIDIyNywgMjA5LCAyMjksIDI4LCA4MSwgCisgICAgNCwgMSwgNTUsIDIyNywgMjA5LCAyMjksIDI4LCA4MSwgNiwgMSwgNTUsIDIyNywgMjA5LCAyMjcsIDE0OSwgODEsIDQsIDEsIAorICAgIDU1LCAyMjcsIDIwOSwgMjI3LCAxNDksIDgxLCA2LCAxLCA1NSwgMjI3LCAyMDksIDIxMiwgMzcsIDgxLCA0LCAxLCA1NSwgCisgICAgMjI3LCAyMDksIDIxMiwgMzcsIDgxLCAxNiwgMjM0LCAyNDcsIDgxLCAxNiwgMjMwLCAyMzIsIDIyMiwgMjEyLCA4MSwgMTYsIAorICAgIDIyNSwgMTEwLCAyMjIsIDIxMiwgODEsIDE2LCAyMTgsIDE0OCwgODEsIDE2LCAyMTcsIDQzLCAyMjIsIDIxMiwgODEsIDE2LCAKKyAgICAyMzQsIDExNCwgMjIyLCAyMTIsIDgxLCAxNiwgMjIwLCAyNCwgMjE5LCAxNjYsIDgxLCA2LCAxLCAyNDksIDExNiwgMjIwLCAKKyAgICA1NiwgODEsIDQsIDEsIDI0OSwgMTE2LCAyMjAsIDU2LCA4MSwgNiwgMSwgMjQ5LCAxMTYsIDI0MywgMTAzLCA4MSwgNCwgMSwgCisgICAgMjQ5LCAxMTYsIDI0MywgMTAzLCA4MSwgMzgsIDIyOCwgMjM1LCA0OCwgODEsIDM4LCAyMTgsIDI0OCwgMjUzLCAyMjUsIDgxLCAKKyAgICAzOCwgMjE4LCAyNDgsIDIzMywgMjIsIDgxLCA2LCAxLCAyNTEsIDIwMCwgMjM0LCAxMTgsIDgxLCA0LCAxLCAyNTEsIDIwMCwgCisgICAgMjM0LCAxMTgsIDgxLCA1NSwgMjI3LCAyMDksIDI0MywgMjMwLCAyMTgsIDEzMCwgODEsIDU1LCAyMjcsIDIwOSwgMjQ3LCAKKyAgICAxOTgsIDIyNCwgMTQsIDc4LCA4MSwgNTUsIDIyNywgMjA5LCAyMzUsIDIzOCwgMjI0LCAxNCwgNzgsIDgxLCA1NSwgMjI3LCAKKyAgICAyMDksIDIxMywgMjQxLCAyNDcsIDE3MywgODEsIDI0NCwgMywgMTIzLCAyNDIsIDI4LCA4MSwgMjQzLCAyMzAsIDIxOCwgCisgICAgMTMwLCA4MSwgMjMwLCAxMjUsIDI0NywgMTczLCA5OCwgNCwgMSwgMjU0LCAxMjQsIDk4LCA0LCAxLCAyNTIsIDE1MywgOTgsIAorICAgIDQsIDEsIDI0MywgMTA3LCA5OCwgNCwgMSwgMjQ3LCAxMjksIDk4LCA0LCAxLCAyNDUsIDE1MSwgOTgsIDQsIDEsIDIxMywgCisgICAgMTYwLCA5OCwgNCwgMSwgMjEwLCA4OSwgOTgsIDQsIDEsIDIxNywgNjEsIDk4LCA0LCAxLCAyMzYsIDAsIDk4LCA0LCAxLCAKKyAgICAyMzQsIDIzNSwgOTgsIDQsIDEsIDIzMywgODIsIDk4LCA0LCAxLCAyMzEsIDE4NiwgOTgsIDQsIDEsIDIyOSwgMTk2LCA5OCwgCisgICAgNCwgMSwgMjI2LCAxOTcsIDk4LCA0LCAxLCAyMjYsIDE4LCA5OCwgNCwgMSwgMjEwLCA3OCwgOTgsIDQsIDEsIDIyMywgMTcyLCAKKyAgICA5OCwgNCwgMSwgMjIxLCAyNDQsIDk4LCA0LCAxLCAyMTcsIDUxLCA5OCwgNCwgMSwgMjE0LCAxOTAsIDk4LCA0LCAxLCAyMjUsIAorICAgIDE0MSwgOTgsIDQsIDEsIDIzNCwgMTIyLCA5OCwgNCwgMSwgMjQyLCAyNDIsIDk4LCA0LCAxLCAyMjQsIDc0LCA5OCwgNCwgMSwgCisgICAgMjIwLCAyMSwgOTgsIDQsIDEsIDI1MCwgOTgsIDk4LCA0LCAxLCAyNTEsIDgsIDk4LCA0LCAxLCAyMzUsIDEwMSwgOTgsIDQsIAorICAgIDEsIDI1MCwgNDEsIDk4LCA0LCAxLCAyNTAsIDE0NCwgOTgsIDQsIDEsIDIxMSwgMTYzLCA5OCwgNCwgMSwgMjM1LCAxMTIsIAorICAgIDk4LCA0LCAxLCAyNDIsIDQ0LCA5OCwgNCwgMSwgMjQxLCAyMzksIDk4LCA0LCAxLCAyNDEsIDE3NiwgOTgsIDQsIDEsIDIxMiwgCisgICAgMjIsIDk4LCA0LCAxLCAyNDIsIDUsIDk4LCA0LCAxLCAyNDEsIDY2LCA5OCwgNCwgMSwgMjEwLCAyNDYsIDk4LCA0LCAxLCAKKyAgICAyNTQsIDIzMywgMjE2LCAxMDksIDEsIDE5MSwgMjE2LCAxMDksIDEsIDIxMSwgOTksIDIxNiwgMTA5LCAxLCAyMTEsIDk4LCAKKyAgICAyMTYsIDEwOSwgMSwgMjExLCA4OCwgMjE2LCAxMDksIDEsIDIxMSwgODYsIDIxNiwgMTA5LCAxLCAyNTIsIDMzLCAyNTUsIAorICAgIDE3LCAyMTEsIDgxLCAyMTYsIDEwOSwgMSwgMjExLCA4MSwgMjE2LCAxMDksIDEsIDIxMSwgOTYsIDIxNiwgMTA5LCAxLCAKKyAgICAyMTEsIDkzLCAyMTYsIDEwOSwgMSwgMjExLCA5NSwgMjE2LCAxMDksIDEsIDIxMSwgOTQsIDIxNiwgMTA5LCAxLCAyMTEsIAorICAgIDEyLCAyMTYsIDEwOSwgMSwgMjExLCA5MCwgMjE2LCAxMDksIDEsIDIxMSwgNzksIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgCisgICAgMjExLCA3OSwgMjE2LCAxMDksIDEsIDIxMSwgNzYsIDIxNiwgMTA5LCAxLCAyMTEsIDg0LCAyMTYsIDEwOSwgMSwgMjUyLCAKKyAgICAzMywgMjU1LCAxNywgMjExLCA4NCwgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDg0LCAyMTYsIDEwOSwgMSwgMjExLCAKKyAgICA4MywgMjE2LCAxMDksIDEsIDIxMSwgMTAzLCAyMTYsIDEwOSwgMSwgMjExLCA3NywgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAKKyAgICAyMTEsIDc3LCAyMTYsIDEwOSwgMSwgMjExLCA2NiwgMjE2LCAxMDksIDEsIDIxNSwgMTE2LCAyMTEsIDY2LCAyMTYsIDEwOSwgCisgICAgMSwgMjExLCA4LCAyMTYsIDEwOSwgMSwgMjExLCA0OSwgMjE2LCAxMDksIDEsIDI1NCwgMjA4LCAyMTEsIDQ5LCAyMTYsIAorICAgIDEwOSwgMSwgMjE1LCAxMTYsIDIxMSwgNDksIDIxNiwgMTA5LCAxLCAyMTEsIDc1LCAyMTYsIDEwOSwgMSwgMjExLCA3NCwgCisgICAgMjE2LCAxMDksIDEsIDIxMSwgNzEsIDIxNiwgMTA5LCAxLCAyMTUsIDExNiwgMjExLCA4NSwgMjE2LCAxMDksIDEsIDIxNSwgCisgICAgMTE2LCAyMTEsIDY5LCAyMTYsIDEwOSwgMSwgMjExLCA2NywgMjE2LCAxMDksIDEsIDIxMCwgMjEyLCAyMTYsIDEwOSwgMSwgCisgICAgMjExLCA2NCwgMjE2LCAxMDksIDEsIDIxMSwgNjMsIDIxNiwgMTA5LCAxLCAyMTEsIDg3LCAyMTYsIDEwOSwgMSwgMjE1LCAKKyAgICAxMTYsIDIxMSwgODcsIDIxNiwgMTA5LCAxLCAyNTMsIDE2NCwgMjExLCA4NywgMjE2LCAxMDksIDEsIDIxMSwgNjIsIDIxNiwgCisgICAgMTA5LCAxLCAyMTEsIDYwLCAyMTYsIDEwOSwgMSwgMjExLCA2MSwgMjE2LCAxMDksIDEsIDIxMSwgNTksIDIxNiwgMTA5LCAxLCAKKyAgICAyMTEsIDU4LCAyMTYsIDEwOSwgMSwgMjExLCA5NywgMjE2LCAxMDksIDEsIDIxMSwgNTYsIDIxNiwgMTA5LCAxLCAyMTEsIAorICAgIDU0LCAyMTYsIDEwOSwgMSwgMjExLCA1MywgMjE2LCAxMDksIDEsIDIxMSwgNTIsIDIxNiwgMTA5LCAxLCAyMTEsIDUwLCAKKyAgICAyMTYsIDEwOSwgMSwgMjE3LCAzNSwgMjExLCA1MCwgMjE2LCAxMDksIDEsIDIxMSwgNDgsIDIxNiwgMTA5LCAxLCAyMTEsIAorICAgIDQ3LCAyMTYsIDEwOSwgMSwgMjEwLCAyNDQsIDIxNiwgMTA5LCA1OCwgMSwgMjMzLCAxMjcsIDc4LCAyMTYsIDEwOSwgMjIwLCAKKyAgICAxMzksIDc4LCAyMTYsIDEwOSwgMTE2LCAyMzUsIDY0LCAyOSwgMywgMjMyLCAxNTYsIDI5LCAzLCAyMzAsIDE2MSwgMjksIDMsIAorICAgIDIyMiwgMjEwLCAyOSwgMywgMjE5LCA1OCwgMjksIDMsIDIyMCwgNywgMjksIDMsIDI1MSwgMjA1LCAyOSwgMywgMjE2LCA0MiwgCisgICAgMjksIDMsIDI0OSwgMjM4LCAyOSwgMywgMjI4LCA3MywgMjksIDMsIDIyNywgMTM0LCAyOSwgMywgMjQyLCAxODEsIDIyNywgCisgICAgMSwgMjksIDMsIDIxMCwgMjIsIDI5LCAzLCAyNDcsIDE0NCwgMjksIDMsIDI0OCwgMTA1LCAyOSwgMywgMjM1LCA2OCwgMjksIAorICAgIDMsIDIxNiwgMTU2LCAyOSwgMywgMjUwLCA4NiwgMjksIDMsIDIyNSwgMTIxLCAyOSwgMywgMjI1LCAxNiwgMjksIDMsIDI0MywgCisgICAgMCwgMjksIDMsIDI0MiwgMjUyLCAyOSwgMywgMjQyLCAyNTMsIDI5LCAzLCAyNDIsIDI1NCwgMjksIDMsIDIxOCwgMjI0LCAKKyAgICAyOSwgMywgMjE4LCAxODAsIDI5LCAzLCAyMTgsIDE5MywgMjksIDMsIDIxOCwgMjIzLCAyOSwgMywgMjE4LCAxOTcsIDI5LCAKKyAgICAzLCAyMTgsIDE5OCwgMjksIDMsIDIxOCwgMTg1LCAyOSwgMywgMjUwLCAyMTQsIDI5LCAzLCAyNTAsIDE5MywgMjksIDMsIAorICAgIDI1MCwgMTk1LCAyOSwgMywgMjUwLCAyMTMsIDI5LCAzLCAyNTAsIDIxMSwgMjksIDMsIDI1MCwgMjEyLCAyOSwgMywgMjUwLCAKKyAgICAxOTQsIDI5LCAzLCAyMDksIDI0MywgMjksIDMsIDIwOSwgMjIxLCAyOSwgMywgMjA5LCAyMzQsIDI5LCAzLCAyMDksIDI0MiwgCisgICAgMjksIDMsIDIwOSwgMjM3LCAyOSwgMywgMjA5LCAyMzgsIDI5LCAzLCAyMDksIDIyNiwgMjksIDMsIDI1MCwgMjA5LCAyOSwgCisgICAgMywgMjUwLCAxOTYsIDI5LCAzLCAyNTAsIDE5OCwgMjksIDMsIDI1MCwgMjA4LCAyOSwgMywgMjUwLCAyMDYsIDI5LCAzLCAKKyAgICAyNTAsIDIwNywgMjksIDMsIDI1MCwgMTk3LCAyOSwgMywgMjIzLCAyMzcsIDI5LCAzLCAyMjMsIDIyNywgMjksIDMsIDIyMywgCisgICAgMjMzLCAyOSwgMywgMjIzLCAyMzYsIDI5LCAzLCAyMjMsIDIzNCwgMjksIDMsIDIyMywgMjM1LCAyOSwgMywgMjIzLCAyMzIsIAorICAgIDI5LCAzLCAyMzMsIDE2MCwgMjksIDMsIDIzMywgMTUyLCAyOSwgMywgMjMzLCAxNTUsIDI5LCAzLCAyMzMsIDE1OSwgMjksIAorICAgIDMsIDIzMywgMTU2LCAyOSwgMywgMjMzLCAxNTcsIDI5LCAzLCAyMzMsIDE1MywgMjksIDMsIDIxMSwgMTMwLCAyOSwgMywgCisgICAgMjExLCAxMjAsIDI5LCAzLCAyMTEsIDEyNiwgMjksIDMsIDIxMSwgMTI5LCAyOSwgMywgMjExLCAxMjcsIDI5LCAzLCAyMTEsIAorICAgIDEyOCwgMjksIDMsIDIxMSwgMTI1LCAyOSwgMywgMjQyLCA3MiwgMjksIDMsIDI0MiwgNjMsIDI5LCAzLCAyNDIsIDY2LCAyOSwgCisgICAgMywgMjQyLCA3MSwgMjksIDMsIDI0MiwgNjgsIDI5LCAzLCAyNDIsIDY5LCAyOSwgMywgMjQyLCA2NSwgMzgsIDMzLCAxLCAKKyAgICAyNTIsIDc2LCAzOCwgMzMsIDEsIDIxMywgMjU1LCAzOCwgMzMsIDEsIDI0MiwgMjM3LCAzOCwgMzMsIDEsIDI0OCwgOTEsIAorICAgIDM4LCAzMywgMSwgMjEwLCA3NCwgMzgsIDMzLCAxLCAyMTAsIDk0LCAzOCwgMzMsIDEsIDE3NiwgMzgsIDMzLCAxLCAyNDUsIAorICAgIDE3NSwgMzgsIDMzLCAxLCAyNDUsIDE2MCwgMzgsIDMzLCAxLCAyNDUsIDE1MSwgMzgsIDMzLCAxLCA3NiwgMzgsIDMzLCAxLCAKKyAgICAyMjUsIDIyMiwgMzgsIDMzLCAxLCAyNDUsIDkzLCAzOCwgMzMsIDEsIDI0NSwgODMsIDM4LCAzMywgMSwgMjE3LCAyMywgMzgsIAorICAgIDMzLCAxLCAxNjIsIDM4LCAzMywgMSwgMjE1LCAxNzksIDM4LCAzMywgMSwgMjUwLCAxMzIsIDM4LCAzMywgMSwgMjIwLCAKKyAgICAxMDMsIDM4LCAzMywgMSwgMjIwLCA2NiwgMzgsIDMzLCAxLCAyNDQsIDgzLCAzOCwgMzMsIDEsIDI0NSwgODIsIDM4LCAzMywgCisgICAgMSwgNjEsIDM4LCAzMywgMSwgMjM2LCA2MSwgMzgsIDMzLCAxLCAyNDcsIDE2MiwgMzgsIDMzLCAxLCAyMzAsIDE0MSwgMjE0LCAKKyAgICAyMDUsIDM4LCAzMywgMSwgMjExLCA1OSwgMzgsIDMzLCAxLCAyMTAsIDIxMiwgMzgsIDMzLCAxLCAyMzUsIDE4NCwgNjEsIAorICAgIDM4LCAzMywgMSwgMjMyLCAxOTMsIDIxMCwgMTgzLCAzOCwgMzMsIDEsIDI1MSwgMjUwLCAyMTAsIDE4MywgMzgsIDMzLCAxLCAKKyAgICAyMzUsIDE4NCwgMjUxLCAyNTAsIDIxMCwgMTgzLCA0NCwgMjU0LCAxMTEsIDIxOCwgNjEsIDIzMSwgMTU1LCA0NCwgMjU0LCAKKyAgICAxMTEsIDI0NiwgMTE5LCAyMTgsIDYxLCAyMzEsIDE1NSwgNDMsIDIxOCwgNjEsIDEyNywgNDQsIDIxOCwgNjEsIDEyNywgNDMsIAorICAgIDI0NiwgMTE5LCAyMTgsIDYxLCAxMjcsIDQ0LCAyNDYsIDExOSwgMjE4LCA2MSwgMTI3LCAyMjMsIDE1OCwgMjM1LCAyMDMsIAorICAgIDIzMSwgMTU1LCAyMjMsIDE1OCwgMjQ2LCAxMTksIDIzNSwgMjAzLCAyMzEsIDE1NSwgMjQ2LCAxMTksIDIxNSwgMjQyLCAKKyAgICAyMzEsIDE1NSwgNDMsIDIxNSwgMjQyLCAxMjcsIDQ0LCAyMTUsIDI0MiwgMTI3LCAyMjMsIDE1OCwgMjE4LCAyMzUsIDQzLCAKKyAgICAyMjMsIDE1OCwgMjI2LCAxOTksIDEyNywgNDQsIDIyMywgMTU4LCAyMjYsIDE5OSwgMTI3LCAyNDUsIDIxMSwgMjQ5LCAxNTksIAorICAgIDIyNiwgMTQsIDI0NCwgMjMsIDIyNiwgMTQsIDIyMywgNTAsIDI0NCwgMjMsIDIyNiwgMTQsIDI0MCwgMTY2LCAyNDYsIDExOSwgCisgICAgMjI2LCAyNTIsIDI0NiwgMTA1LCAyNTQsIDEyMCwgMjE0LCAxNTMsIDI1NCwgMTIwLCAyNDYsIDExOSwgMjIyLCAyNDgsIAorICAgIDI1NCwgMTEwLCA1MiwgMjI2LCAyNDksIDI0MCwgMTY5LCAyMzUsIDE5NCwgMjM1LCAyMDIsIDIyNiwgNjAsIDI1MSwgMTU1LCAKKyAgICAyNDAsIDE3MCwgMiwgMjQ4LCAyLCAyMTYsIDkwLCAyLCAyMjIsIDIzNSwgNDgsIDQzLCAxMjEsIDIyNiwgNiwgMTI3LCA0NCwgCisgICAgMTIxLCAyMjYsIDYsIDEyNywgMjE2LCA5MCwgMiwgNTksIDQ4LCAyMTYsIDkwLCAyLCA1OSwgNTEsIDQzLCA2NywgMjUyLCAKKyAgICAxNDIsIDIsIDIyNCwgOCwgNDQsIDY3LCAyNTIsIDE0MiwgMiwgMjI0LCA4LCAyMTYsIDE1LCA0MywgMTYzLCAxMjcsIDIxNiwgCisgICAgMTUsIDQ0LCAxNjMsIDEyNywgMjUxLCAxNzYsIDQzLCAxNjMsIDEyNywgMjUxLCAxNzYsIDQ0LCAxNjMsIDEyNywgNDMsIAorICAgIDIxOSwgMTg4LCAxMDQsIDEyNywgNDQsIDIxOSwgMTg4LCAxMDQsIDEyNywgNDMsIDUyLCAyMjYsIDQsIDQ0LCA1MiwgMjI2LCAKKyAgICA0LCAxMTMsIDE3MCwgMTE3LCAxMjMsIDU5LCAyMjQsIDE0MSwgMTIzLCA1OSwgMTE3LCAxMTMsIDE3MCwgMjI0LCAxNDEsIAorICAgIDkyLCAyNDQsIDEyLCA1OSwgMjI0LCAxNDEsIDI0NCwgODIsIDU5LCA3OCwgMjIzLCA1MCwgMjI0LCAxNCwgNzgsIDY3LCAKKyAgICAxODMsIDIyMiwgMjM1LCAyMjUsIDExLCAyMTEsIDIwOSwgMjIwLCAxMzksIDIzMCwgMjI1LCAyNDcsIDEyMSwgMjE1LCA5NCwgCisgICAgMjQ5LCAyMjAsIDIyMywgMTU4LCAyNDcsIDEyMSwgMjIzLCAxNTgsIDI0OSwgMjIwLCAyMTUsIDk0LCAyMjAsIDE1MSwgMjQ4LCAKKyAgICAyMDcsIDIsIDQzLCAyNDIsIDEwOSwgMjQ4LCAyMDcsIDIsIDQ0LCAyNDIsIDEwOSwgMjE1LCA5NCwgMjQ4LCAyMDYsIDIxNiwgCisgICAgMTUsIDE2MywgMjIxLCAxNzQsIDUwLCAyMTUsIDU5LCAyNDgsIDE1NywgMjE2LCAxNDQsIDI0OCwgMTU3LCA5LCAzNCwgMjIzLCAKKyAgICA3NywgOSwgMzQsIDI1MCwgMTEsIDksIDM0LCAyMjEsIDE3NywgMTEwLCA5LCAzNCwgMjIxLCAxNzcsIDEwNSwgOSwgMzQsIAorICAgIDIyMSwgMTc3LCAxNTgsIDksIDM0LCAyMjUsIDE2OCwgOSwgMzQsIDI1MSwgMTY0LCA5LCAzNCwgMjE3LCA5MywgOSwgMzQsIAorICAgIDIzNCwgMzQsIDExMCwgOSwgMzQsIDIzNCwgMzQsIDEwNSwgOSwgMzQsIDI0NywgMTcxLCA5LCAzNCwgMjIxLCAxODAsIDksIAorICAgIDM0LCA0LCAxMTAsIDksIDM0LCA0LCAxMDUsIDksIDM0LCAyMzMsIDk4LCAxMTAsIDksIDM0LCAyMzMsIDk4LCAxMDUsIDksIAorICAgIDM0LCAyMzMsIDk4LCAxNTgsIDksIDM0LCAyMzMsIDk4LCAxNjEsIDksIDM0LCAyMTksIDY5LCA5LCAzNCwgMjE2LCAxNDYsIAorICAgIDksIDM0LCAyMTksIDY3LCAxMTAsIDksIDM0LCAyMTksIDY3LCAxMDUsIDksIDM0LCAyNDEsIDIyOSwgMTEwLCA5LCAzNCwgCisgICAgMjQxLCAyMjksIDEwNSwgOSwgMzQsIDI0MiwgMTYsIDksIDM0LCAyMjMsIDE0OCwgOSwgMzQsIDI1MCwgODMsIDksIDM0LCAKKyAgICAyMTgsIDM4LCA5LCAzNCwgMjMwLCAxMjksIDksIDM0LCAyNDgsIDg5LCA5LCAzNCwgMjMwLCAxMjEsIDksIDM0LCAyNTAsIAorICAgIDI2LCA5LCAzNCwgMjEyLCA0MSwgMTEwLCA5LCAzNCwgMjEyLCA0MSwgMTA1LCA5LCAzNCwgMjQ0LCA5NywgOSwgMzQsIDIyNSwgCisgICAgMjMzLCAxMTAsIDksIDM0LCAyMjUsIDIzMywgMTA1LCA5LCAzNCwgMjE5LCAxNjEsIDE2MywgMjE1LCAyMzcsIDIxNSwgMTg5LCAKKyAgICA5LCAzNCwgMjQ5LCAxNDYsIDksIDM0LCAyNDcsIDEzNywgOSwgMzQsIDIzNSwgMTM4LCA5LCAzNCwgMjUxLCAxOTksIDY0LCAKKyAgICAyNDksIDI1MSwgOSwgMzQsIDI0NSwgMTYsIDksIDM0LCAyMTgsIDI1MCwgMTEwLCA5LCAzNCwgMjE4LCAyNTAsIDEwNSwgOSwgCisgICAgMzQsIDI1MiwgMTU1LCA5LCAzNCwgMjE5LCAxNjgsIDksIDM0LCAyNTEsIDY0LCAyMTksIDE2OCwgOSwgMzQsIDIyOSwgOTEsIAorICAgIDExMCwgOSwgMzQsIDIyOSwgOTEsIDEwNSwgOSwgMzQsIDIyOSwgOTEsIDE1OCwgOSwgMzQsIDIyOSwgOTEsIDE2MSwgOSwgCisgICAgMzQsIDIzMSwgNDcsIDksIDM0LCAyMjAsIDU4LCA5LCAzNCwgMjIzLCAxNTQsIDksIDM0LCAyNDUsIDM4LCA5LCAzNCwgMjI2LCAKKyAgICAyMTAsIDksIDM0LCAyNTEsIDEzNCwgMTEwLCA5LCAzNCwgMjUxLCAxMzQsIDEwNSwgOSwgMzQsIDIzMSwgODcsIDksIDM0LCAKKyAgICAyMzAsIDEyNCwgOSwgMzQsIDI0MiwgMTQxLCAxMTAsIDksIDM0LCAyNDIsIDE0MSwgMTA1LCA5LCAzNCwgMjQyLCAxNDEsIAorICAgIDE1OCwgOSwgMzQsIDIxNiwgMTA3LCA5LCAzNCwgMjQ5LCAyNTAsIDksIDM0LCAyMTIsIDksIDExMCwgOSwgMzQsIDIxMiwgOSwgCisgICAgMTA1LCA5LCAzNCwgMjUxLCA2NCwgMjIxLCAxNzEsIDksIDM0LCAyMTksIDE2MSwgMjQwLCAyNDksIDksIDM0LCAyNDAsIAorICAgIDI0OSwgOSwgMzQsIDI1MSwgNjQsIDIxOSwgMywgOSwgMzQsIDI1MSwgNjQsIDIyMCwgNTMsIDksIDM0LCAyNDQsIDMzLCA5LCAKKyAgICAzNCwgMjUxLCA2NCwgMjUwLCAyMjksIDksIDM0LCAyMTksIDE2MSwgMjEyLCA1NywgOSwgMzQsIDIxMiwgNTgsIDExMCwgOSwgCisgICAgMzQsIDIxMiwgNTgsIDEwNSwgOSwgMzQsIDI1MCwgMjgsIDksIDM0LCAyNTEsIDY0LCAyNDIsIDE2NywgOSwgMzQsIDE5OSwgCisgICAgMTEwLCA5LCAzNCwgMTk5LCAxMDUsIDksIDM0LCAyNTEsIDY0LCAyMzIsIDEzOCwgOSwgMzQsIDI1MSwgNjQsIDI0MywgODksIAorICAgIDksIDM0LCAyMzAsIDEyMCwgMTEwLCA5LCAzNCwgMjMwLCAxMjAsIDEwNSwgOSwgMzQsIDIyMywgMTYwLCA5LCAzNCwgMjUxLCAKKyAgICAyMDgsIDksIDM0LCAyNTEsIDY0LCAyMTcsIDU3LCAyMzMsIDUzLCA5LCAzNCwgMjUxLCA2NCwgMjMzLCA1NCwgOSwgMzQsIAorICAgIDI1MSwgNjQsIDIxMSwgMjM5LCA5LCAzNCwgMjUxLCA2NCwgMjQ0LCA0NywgOSwgMzQsIDI0NSwgMjE5LCAxMTAsIDksIDM0LCAKKyAgICAyNDUsIDIxOSwgMTA1LCA5LCAzNCwgMjQ1LCAyMTksIDE1OCwgOSwgMzQsIDI1MSwgNjQsIDI0NSwgMjE4LCA5LCAzNCwgCisgICAgMjQxLCAyMzYsIDksIDM0LCAyNTEsIDY0LCAyNDAsIDI0NiwgOSwgMzQsIDI1MSwgMTk1LCA5LCAzNCwgMjQyLCAyMjMsIDksIAorICAgIDM0LCAyNTEsIDY0LCAyNDQsIDkxLCA5LCAzNCwgMjUxLCA2NCwgMjUxLCAyMzgsIDksIDM0LCAyNTEsIDY0LCAyMjIsIDIsIAorICAgIDksIDM0LCAyMTksIDE2MSwgMjEyLCAyLCA5LCAzNCwgMjE5LCAxNjEsIDIxMSwgNDEsIDksIDM0LCAyNTEsIDY0LCAyNDMsIAorICAgIDI0NSwgOSwgMzQsIDIzNSwgMTQ0LCAyNDUsIDQyLCA5LCAzNCwgMjUxLCA2NCwgMjQ1LCA0MiwgOSwgMzQsIDIzNSwgMTQ0LCAKKyAgICAyMTYsIDE2LCA5LCAzNCwgMjUxLCA2NCwgMjE2LCAxNiwgOSwgMzQsIDIzNSwgMTQ0LCAyNDYsIDk3LCA5LCAzNCwgMjUxLCAKKyAgICA2NCwgMjQ2LCA5NywgOSwgMzQsIDIxNSwgOTEsIDksIDM0LCAyMzUsIDE0NCwgMjE1LCA5MSwgOSwgMzQsIDI1MSwgNjQsIAorICAgIDIxNSwgOTEsIDYwLCAzNCwgMTEwLCA2MCwgMzQsIDIzMiwgMjE0LCA2MCwgMzQsIDI0NywgMTIxLCA2MCwgMzQsIDIxOSwgCisgICAgOTYsIDYwLCAzNCwgMjIxLCAxNzYsIDYwLCAzNCwgMTAzLCA2MCwgMzQsIDEwNSwgNjAsIDM0LCAyMzIsIDIzOCwgNjAsIDM0LCAKKyAgICAyMzEsIDE4NiwgNjAsIDM0LCAyMzMsIDM0LCA2MCwgMzQsIDI0NSwgMTMwLCA2MCwgMzQsIDE5NSwgNjAsIDM0LCAxMjQsIAorICAgIDI1MSwgMTY0LCA2MCwgMzQsIDI0OSwgMTQ4LCA2MCwgMzQsIDI0MCwgMTEyLCA2MCwgMzQsIDIxNywgOTMsIDYwLCAzNCwgCisgICAgMjA0LCAyNTEsIDE2NCwgNjAsIDM0LCAyMzQsIDMzLCA2MCwgMzQsIDIyNCwgMjI1LCA2MCwgMzQsIDIxMSwgMjAyLCA2MCwgCisgICAgMzQsIDIxOCwgMjQ0LCA2MCwgMzQsIDQ0LCAyMDQsIDI1MSwgMTY0LCA2MCwgMzQsIDI0MSwgMTc3LCAyNDUsIDE0NiwgNjAsIAorICAgIDM0LCAyMTYsIDI0OCwgNjAsIDM0LCAyNDcsIDE3MSwgNjAsIDM0LCAyMjEsIDE4MCwgNjAsIDM0LCAyNTAsIDExLCA2MCwgCisgICAgMzQsIDIyNCwgMTgzLCA2MCwgMzQsIDI1NCwgMjE2LCA2MCwgMzQsIDIzMCwgMTExLCA2MCwgMzQsIDI0NSwgMTQ2LCA2MCwgCisgICAgMzQsIDI0NSwgMjI0LCA2MCwgMzQsIDIyMSwgMjAxLCA2MCwgMzQsIDI0MiwgMTc1LCA2MCwgMzQsIDI0MiwgMTc2LCAyMTksIAorICAgIDgyLCA2MCwgMzQsIDI0NSwgNDEsIDYwLCAzNCwgMjUxLCAyNDksIDYwLCAzNCwgMjExLCAyMjEsIDYwLCAzNCwgMjUwLCAKKyAgICAxMDIsIDYwLCAzNCwgMjIyLCAxOTcsIDYwLCAzNCwgMjM1LCAyNTIsIDYwLCAzNCwgMjE5LCA4MCwgNjAsIDM0LCAyMzMsIAorICAgIDk3LCA2MCwgMzQsIDI0OSwgMTU3LCA2MCwgMzQsIDIxOCwgMjM4LCA2MCwgMzQsIDIzMCwgMTE2LCA2MCwgMzQsIDIyMiwgCisgICAgMjI1LCA2MCwgMzQsIDIxMSwgMjA2LCA2MCwgMzQsIDIyNiwgMTkxLCA2MCwgMzQsIDIxNSwgOTgsIDYwLCAzNCwgMjQ2LCAKKyAgICA4MSwgNjAsIDM0LCAyMTksIDI1MiwgMjE2LCAxNDYsIDYwLCAzNCwgMjQ2LCAxMTksIDI1MCwgMTEsIDYwLCAzNCwgMTk5LCAKKyAgICAyMTgsIDEwOSwgNjAsIDM0LCAxMTMsIDI0MiwgMTEsIDYwLCAzNCwgMjIwLCAxLCA2MCwgMzQsIDI1MSwgMTcwLCA2MCwgMzQsIAorICAgIDIxOSwgNjYsIDYwLCAzNCwgMjUxLCAxMzgsIDYwLCAzNCwgMjE4LCAxMzksIDYwLCAzNCwgMjQxLCAyMjgsIDYwLCAzNCwgCisgICAgMjQyLCAyOSwgNjAsIDM0LCAyNDcsIDEyNCwgNjAsIDM0LCAyNDIsIDE2LCA2MCwgMzQsIDI1MSwgMTU1LCA2MCwgMzQsIAorICAgIDIyMywgMTQ4LCA2MCwgMzQsIDIyMSwgMTg4LCA2MCwgMzQsIDI0NywgMjAwLCA2MCwgMzQsIDI1MywgMTY5LCA2MCwgMzQsIAorICAgIDIxOCwgMjM1LCA2MCwgMzQsIDIyOCwgNTIsIDYwLCAzNCwgMjE4LCAzOCwgNjAsIDM0LCAyMjEsIDIxMiwgNjAsIDM0LCAKKyAgICAyMzAsIDEyOSwgNjAsIDM0LCAyMTUsIDIzNiwgNjAsIDM0LCAyMzMsIDEyMywgNjAsIDM0LCAyMTgsIDEzMCwgNjAsIDM0LCAKKyAgICAyNDgsIDg5LCA2MCwgMzQsIDIxMiwgMjEsIDYwLCAzNCwgMjQ3LCAxNDcsIDIyOCwgNTIsIDYwLCAzNCwgMjQ5LCAyMTYsIAorICAgIDYwLCAzNCwgMjQzLCAyMjMsIDYwLCAzNCwgMjUwLCAyMiwgNjAsIDM0LCAyMTgsIDE0MywgNjAsIDM0LCAyMTIsIDQwLCA2MCwgCisgICAgMzQsIDI0NCwgOTcsIDYwLCAzNCwgMjUwLCAxOSwgNjAsIDM0LCAyNDQsIDE2MiwgNjAsIDM0LCA1MiwgMjExLCAxNzgsIDYwLCAKKyAgICAzNCwgMTYzLCAyMTUsIDIzNywgMjE1LCAxODksIDYwLCAzNCwgMjE5LCA5MCwgNjAsIDM0LCAyNDQsIDE3MiwgNjAsIDM0LCAKKyAgICAyNDksIDE0NiwgNjAsIDM0LCAyNDcsIDEzNywgNjAsIDM0LCAyMjQsIDE4MCwgNjAsIDM0LCAyMzUsIDEzOCwgNjAsIDM0LCAKKyAgICAyMzEsIDY4LCA2MCwgMzQsIDIxNiwgODksIDYwLCAzNCwgMjE3LCAyNDYsIDYwLCAzNCwgMjMyLCAyMzIsIDYwLCAzNCwgCisgICAgMjE0LCAxMzEsIDYwLCAzNCwgMjQ0LCAxMjEsIDYwLCAzNCwgMjUxLCAxOTksIDY0LCAyNDksIDI1MSwgNjAsIDM0LCAyMTksIAorICAgIDE4OSwgNjAsIDM0LCAyNDYsIDExOSwgMjE2LCAyNDMsIDYwLCAzNCwgMjExLCAyNTMsIDYwLCAzNCwgMjE5LCAxMDQsIDYwLCAKKyAgICAzNCwgMjQ3LCAxODgsIDYwLCAzNCwgMjQ1LCAxNiwgNjAsIDM0LCAyMTksIDYsIDYwLCAzNCwgNzQsIDYwLCAzNCwgMjE4LCAKKyAgICAxMzIsIDYwLCAzNCwgMjE4LCAyNDksIDYwLCAzNCwgMjE2LCAwLCA2MCwgMzQsIDI0MiwgMTQ4LCA2MCwgMzQsIDI1MCwgCisgICAgMjE5LCA2MCwgMzQsIDIxOCwgMTYxLCA2MCwgMzQsIDI1MiwgMTU1LCA2MCwgMzQsIDIyMywgMzIsIDYwLCAzNCwgMjE5LCAKKyAgICAxNjgsIDYwLCAzNCwgMjM1LCAxMzEsIDYwLCAzNCwgMjI5LCA5MCwgNjAsIDM0LCAyMjAsIDU4LCA2MCwgMzQsIDI0NCwgCisgICAgMTUwLCA2MCwgMzQsIDIyNiwgMjEwLCA2MCwgMzQsIDI1NCwgMTE5LCA2MCwgMzQsIDIyNSwgMzAsIDYwLCAzNCwgMjQ1LCAKKyAgICAyMjgsIDYwLCAzNCwgMjUxLCAxMzMsIDYwLCAzNCwgMjMxLCA4NywgNjAsIDM0LCAyMzAsIDE4NCwgNjAsIDM0LCAyMjAsIAorICAgIDE1NywgNjAsIDM0LCAyNTMsIDI1MywgNjAsIDM0LCAyMzAsIDEyNCwgNjAsIDM0LCAyMTYsIDIwLCA2MCwgMzQsIDIyNiwgCisgICAgMTY2LCA2MCwgMzQsIDI1MSwgMjAyLCA2MCwgMzQsIDIxOCwgMTI4LCA2MCwgMzQsIDI0OSwgMjI2LCA2MCwgMzQsIDI0MiwgCisgICAgMTQwLCA2MCwgMzQsIDIxNiwgMTA3LCA2MCwgMzQsIDIzNSwgMjE4LCA2MCwgMzQsIDI1MSwgMjEyLCA2MCwgMzQsIDIxMiwgCisgICAgNTgsIDI0NSwgMTQ2LCA2MCwgMzQsIDI0OSwgMjUwLCA2MCwgMzQsIDIxMiwgOCwgNjAsIDM0LCAyMjEsIDE3MSwgNjAsIDM0LCAKKyAgICAyNDAsIDI0OSwgNjAsIDM0LCAyMTksIDMsIDYwLCAzNCwgMjE0LCAyMiwgNjAsIDM0LCAyNTIsIDczLCA2MCwgMzQsIDIyNSwgCisgICAgNzQsIDYwLCAzNCwgMjUyLCAxNzUsIDYwLCAzNCwgMjIwLCA1MywgNjAsIDM0LCAyMjMsIDExMSwgNjAsIDM0LCAyMjIsIAorICAgIDEyNywgNjAsIDM0LCAyNDQsIDMzLCA2MCwgMzQsIDI1MSwgMjAxLCA2MCwgMzQsIDI1MCwgMjI5LCA2MCwgMzQsIDI1MSwgCisgICAgMjI3LCA2MCwgMzQsIDIzMCwgMTI2LCA2MCwgMzQsIDIxMiwgNTcsIDYwLCAzNCwgMjUwLCAyOCwgNjAsIDM0LCAyMTEsIAorICAgIDIzNiwgNjAsIDM0LCAyNDcsIDE4MSwgNjAsIDM0LCAyMTMsIDE2MSwgNjAsIDM0LCAyNDIsIDE2NywgNjAsIDM0LCAyMzIsIAorICAgIDEzOCwgNjAsIDM0LCAyNDMsIDg5LCA2MCwgMzQsIDIzMCwgMTE5LCA2MCwgMzQsIDIxOSwgOTUsIDYwLCAzNCwgMjE5LCAKKyAgICAyNTIsIDIxNywgNzcsIDI1MSwgMjM4LCA2MCwgMzQsIDIyMywgMTYwLCA2MCwgMzQsIDI1MSwgMjA4LCA2MCwgMzQsIDIxMSwgCisgICAgMTk3LCA2MCwgMzQsIDI0NCwgMTkxLCA2MCwgMzQsIDIzMywgNTMsIDYwLCAzNCwgMjE3LCA1NywgMjMzLCA1MywgNjAsIDM0LCAKKyAgICAyMzMsIDQ5LCA2MCwgMzQsIDIxOSwgMzEsIDYwLCAzNCwgMjMzLCA1NCwgNjAsIDM0LCAyMTEsIDIzOSwgNjAsIDM0LCAyNDQsIAorICAgIDQ3LCA2MCwgMzQsIDI0NSwgMjE4LCA2MCwgMzQsIDI0MSwgMjM2LCA2MCwgMzQsIDI0NCwgMSwgNjAsIDM0LCAyNDAsIDI0NiwgCisgICAgNjAsIDM0LCAyNTEsIDE5NSwgNjAsIDM0LCAyMTcsIDY0LCA2MCwgMzQsIDI0MiwgMzUsIDYwLCAzNCwgMjQ0LCAxMTQsIDYwLCAKKyAgICAzNCwgMjIyLCAyOSwgMjExLCAyMzYsIDYwLCAzNCwgMjUwLCAyMjEsIDYwLCAzNCwgMjQyLCAyMjMsIDYwLCAzNCwgMjQ0LCAKKyAgICA5MSwgNjAsIDM0LCAyNTEsIDIzOCwgNjAsIDM0LCAyMjIsIDIsIDYwLCAzNCwgMjQ4LCA3NSwgNjAsIDM0LCAyMTIsIDIsIAorICAgIDYwLCAzNCwgMjQxLCAyMTEsIDYwLCAzNCwgMjExLCA0MSwgNjAsIDM0LCAyMzAsIDE5MywgNjAsIDM0LCAyNTEsIDIyMiwgCisgICAgNjAsIDM0LCAyNDUsIDE1NiwgNjAsIDM0LCAyNDMsIDI0NSwgNjAsIDM0LCAyMTUsIDIxMCwgNjAsIDM0LCAyNDYsIDgzLCAKKyAgICA2MCwgMzQsIDIyMywgMTQyLCA2MCwgMzQsIDIyOCwgNTQsIDYwLCAzNCwgMjQ1LCA0MiwgNjAsIDM0LCAyMTYsIDE2LCA2MCwgCisgICAgMzQsIDI0NiwgOTcsIDYwLCAzNCwgMjE1LCA5MSwgNjAsIDM0LCAyNDQsIDQ5LCAxMDksIDI0OCwgMzgsIDEzNSwgNDMsIAorICAgIDIxNiwgNDMsIDIyMiwgMjUyLCAxMDksIDI0OCwgMzgsIDEzNSwgNzcsIDIxNiwgNDMsIDUxLCAxMDksIDI0OCwgMzgsIDEzNSwgCisgICAgNDMsIDIxNiwgNDMsIDIzMCwgMjI1LCAyMiwgMjIyLCAyNTIsIDEwOSwgMjQ4LCAzOCwgMTM1LCA3NywgMjE2LCA0MywgMjMwLCAKKyAgICAyMjUsIDIyLCA1MSwgMTA5LCAyNDgsIDM4LCAxMzUsIDI0MywgMjMwLCAyMTgsIDExLCAxMDksIDI0OCwgMzgsIDEzNSwgCisgICAgMjE4LCAxMiwgMjQzLCAyNDQsIDQ4LCAxMDksIDI0OCwgMzgsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNDQsIDUxLCAxMDksIAorICAgIDI0OCwgMzgsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNDQsIDIzMywgNDcsIDEwOSwgMjQ4LCAzOCwgMTM1LCAyMTgsIDEyLCAKKyAgICAyNDMsIDI0NCwgMjE0LCAxNjAsIDIzMywgNDcsIDEwOSwgMjQ4LCAzOCwgMTM1LCAyMTgsIDEyLCAyNDMsIDI0NCwgMjE0LCAKKyAgICAxNjAsIDIyMiwgMjUyLCAxMDksIDI0OCwgMzgsIDEzNSwgMjE4LCAxMiwgMjQzLCAyNDQsIDIzMiwgMTA5LCAyMzMsIDQ3LCAKKyAgICAxMDksIDI0OCwgMzgsIDEzNSwgMjI2LCAxMjMsIDEwOSwgMjE5LCAxOSwgMTA5LCAyNDksIDIyMCwgMTA5LCAyNDMsIDIzMCwgCisgICAgMjE4LCAxMzAsIDI0NywgMTc4LCA3OCwgMjM1LCAxMzIsIDIzNSwgMjM3LCAyMTgsIDE2MCwgODcsIDEwOSwgMjM1LCAxNTksIAorICAgIDc4LCAxMDksIDI0OSwgMjUzLCA3OCwgMTA5LCA1NCwgMjEwLCA4NiwgNDMsIDI1NCwgMTExLCAxMjcsIDQ0LCAyNTQsIDExMSwgCisgICAgMTI3LCA0MywgNTIsIDI1NCwgMTExLCAxMjcsIDQ0LCA1MiwgMjU0LCAxMTEsIDEyNywgNDMsIDI0OSwgMTYyLCAxMjcsIDQ0LCAKKyAgICAyNDksIDE2MiwgMTI3LCA0MywgNzEsIDI0OSwgMTYyLCAxMjcsIDQ0LCA3MSwgMjQ5LCAxNjIsIDEyNywgNDMsIDg1LCAyMzMsIAorICAgIDIxLCAxMjcsIDQ0LCA4NSwgMjMzLCAyMSwgMTI3LCAyMjQsIDIzOCwgNzgsIDI0MywgMzMsIDc4LCA0MywgMjE2LCA3LCAKKyAgICAyMjAsIDU0LCAxMjcsIDQ0LCAyMTYsIDcsIDIyMCwgNTQsIDEyNywgNDMsIDcxLCAyMzMsIDIxLCAxMjcsIDQ0LCA3MSwgCisgICAgMjMzLCAyMSwgMTI3LCA0MywgNzEsIDIxNiwgNywgMjIwLCA1NCwgMTI3LCA0NCwgNzEsIDIxNiwgNywgMjIwLCA1NCwgMTI3LCAKKyAgICA0MywgNzEsIDQyLCAxMjcsIDQ0LCA3MSwgNDIsIDEyNywgMjEyLCAzNiwgMjQ4LCAxNTcsIDIyMywgNTAsIDUyLCAyMjQsIAorICAgIDE5MiwgMjIzLCAyNTUsIDc4LCA1MiwgMjI0LCAxOTIsIDIyMywgMjU1LCA3OCwgMTIxLCA1MiwgMjI0LCAxOTIsIDIyMywgCisgICAgMjU1LCA3OCwgMjI0LCAyMzgsIDE2NCwgMjQ0LCAxOTEsIDI0MiwgOSwgMjI3LCAxOTksIDExMCwgMjQyLCA5LCAyMjcsIAorICAgIDE5OSwgMTA1LCAyNDIsIDksIDIyNywgMTk5LCAxNTgsIDI0MiwgOSwgMjI3LCAxOTksIDE2MSwgMjQyLCA5LCAyMjcsIDE5OSwgCisgICAgMTg5LCAyNDIsIDksIDIyNywgMTk5LCAxOTQsIDI0MiwgOSwgMjI3LCAxOTksIDE5OCwgMjQyLCA5LCAyMjcsIDE5OSwgMTk1LCAKKyAgICAyNDIsIDksIDIyNywgMTk5LCAyMDAsIDEwOSwgMjMzLCA0LCAxMzgsIDc4LCAxMDksIDIyMiwgMjI5LCAxMzgsIDc4LCAxMDksIAorICAgIDI0OCwgNDUsIDEzOCwgNzgsIDEwOSwgMjQ1LCAxMjksIDEzOCwgNzgsIDI0LCAyMTksIDE1NiwgNTksIDEzOCwgNzgsIDI0LCAKKyAgICA1MiwgNTksIDEzOCwgNzgsIDIxMiwgMzIsIDI0OCwgMTU3LCA2NywgMjM0LCAyMzQsIDIyMywgNzgsIDc4LCA2NywgMjM0LCAKKyAgICAyMzQsIDIyMywgNzgsIDIsIDIxMywgMTM1LCAyMTksIDMyLCA3OCwgNjcsIDIzNCwgMjM0LCAyMjMsIDc4LCAxNjQsIDIxNCwgCisgICAgMTYwLCAyNDIsIDI4LCA2NywgMjM0LCAyMzQsIDIyMywgNzgsIDIsIDIxMywgMTM1LCAyMTksIDMyLCAxNjQsIDIxNCwgMTYwLCAKKyAgICAyNDIsIDI4LCA2NywgMjM0LCAyMzQsIDIyMywgNzgsIDE2NCwgMjMyLCAxMDksIDI0MiwgMjgsIDM3LCAyMjQsIDIzOCwgNzgsIAorICAgIDEwOSwgMjE3LCA0LCAyMzIsIDIxNSwgMjQ0LCAxNDcsIDIyMCwgMTM5LCA4NywgMjQyLCA5LCAyMjcsIDE5OSwgMjE2LCAKKyAgICAyNDgsIDI0MiwgOSwgMjI3LCAxOTksIDIxNSwgNzMsIDI0MiwgOSwgMjI3LCAxOTksIDIxNiwgMTYzLCA2NywgMTA5LCAyMzUsIAorICAgIDE1OSwgNzgsIDIzMSwgMTQxLCA3OCwgMjI2LCAwLCAyNTQsIDE0MSwgNzgsIDEwOSwgNDUsIDIzNSwgMjM5LCAxMDksIDE2MywgCisgICAgMjQ0LCAxMDcsIDIxOSwgMTksIDE0MSwgMSwgNCwgNjEsIDE0MSwgMSwgNjEsIDE0MSwgMSwgNCwgNzMsIDE0MSwgMSwgNzMsIAorICAgIDE0MSwgMSwgNCwgNzAsIDE0MSwgMSwgNzAsIDE0MSwgMSwgNCwgNzUsIDE0MSwgMSwgNzUsIDE0MSwgMSwgNCwgNzYsIDE0MSwgCisgICAgMSwgNzYsIDE0MSwgMSwgMTc2LCAxNDEsIDEsIDI0MywgMTM2LCAxNDEsIDEsIDIzNCwgOTMsIDE0MSwgMSwgMjQyLCAyMTUsIAorICAgIDE0MSwgMSwgMjMzLCAyMTgsIDE0MSwgMSwgMjQyLCAxMTQsIDE0MSwgMSwgMjM0LCAxODMsIDE0MSwgMSwgMjQzLCA2MywgCisgICAgMTQxLCAxLCAyMzQsIDI5LCAxNDEsIDEsIDI0MiwgMTc1LCAxNDEsIDEsIDIwNiwgMTQxLCAxLCAyMTAsIDExNiwgMTQxLCAxLCAKKyAgICAyMTksIDE5MiwgMTQxLCAxLCAyMTAsIDQ0LCAxNDEsIDEsIDIxOCwgODQsIDE0MSwgMSwgMjEwLCAxMywgMTQxLCAxLCAyMjEsIAorICAgIDE4MiwgMTQxLCAxLCAyMTAsIDk0LCAxNDEsIDEsIDIxOSwgNTksIDE0MSwgMSwgMjEwLCAyMywgMTQxLCAxLCAyMTcsIDEwNiwgCisgICAgMTQxLCAxLCAyNDgsIDIyMiwgMTQxLCAxLCAyMTYsIDExOCwgMTQxLCAxLCAyNDgsIDQsIDE0MSwgMSwgNCwgMjE1LCAxMTksIAorICAgIDE0MSwgMSwgMjE1LCAxMTksIDE0MSwgMSwgMjQ2LCA3OSwgMTQxLCAxLCAyMTcsIDIzLCAxNDEsIDEsIDI0OCwgOTEsIDE0MSwgCisgICAgMSwgMTExLCAxNDEsIDEsIDI0NywgMTQ2LCAxNDEsIDEsIDE5NywgMTQxLCAxLCAyMjgsIDIzNCwgMTQxLCAxLCAyMjcsIAorICAgIDIzOCwgMTQxLCAxLCAyMjksIDEwOCwgMTQxLCAxLCAyMjgsIDc1LCAxNDEsIDEsIDE2MiwgMTQxLCAxLCAyNTIsIDE5MiwgCisgICAgMTQxLCAxLCAxOTAsIDE0MSwgMSwgMjQxLCAxODEsIDE0MSwgMSwgMjUyLCA3LCAxNDEsIDEsIDIyNSwgMTA5LCAxNDEsIDEsIAorICAgIDI0MCwgMjIzLCAxNDEsIDEsIDI1MSwgMTI2LCAxNDEsIDEsIDIyNCwgMTUxLCAxNDEsIDEsIDI0MSwgMjM5LCAxNDEsIDEsIAorICAgIDI1MiwgNzYsIDE0MSwgMSwgMjI1LCAyMjIsIDE0MSwgMSwgMjQxLCA2OSwgMTQxLCAxLCAyNTEsIDIwNiwgMTQxLCAxLCAKKyAgICAyMjUsIDE3LCAxNDEsIDEsIDE4NSwgMTQxLCAxLCAyMzAsIDIzMSwgMTQxLCAxLCAyMzAsIDEwMywgMTQxLCAxLCAyMzEsIAorICAgIDkyLCAxNDEsIDEsIDIzMCwgMTYyLCAxNDEsIDEsIDQsIDE5MSwgMTQxLCAxLCAxOTEsIDE0MSwgMSwgNCwgMjEwLCAyMTIsIAorICAgIDE0MSwgMSwgMjEwLCAyMTIsIDE0MSwgMSwgNCwgMjEwLCAyNDQsIDE0MSwgMSwgMjEwLCAyNDQsIDE0MSwgMSwgMjA1LCAKKyAgICAxNDEsIDEsIDIyMywgMzYsIDE0MSwgMSwgMjIyLCAxNDEsIDE0MSwgMSwgMjIzLCAxMjksIDE0MSwgMSwgMjIyLCAyMTIsIAorICAgIDE0MSwgMSwgNCwgMjEyLCA2NSwgMTQxLCAxLCAyMTIsIDY1LCAxNDEsIDEsIDIxMSwgMjUwLCAxNDEsIDEsIDIxMiwgMjIsIAorICAgIDE0MSwgMSwgMjExLCAyMjcsIDE0MSwgMSwgMjMwLCAyNiwgMTQxLCAxLCAyMTIsIDExNiwgMTQxLCAxLCA0LCAxNzYsIDE0MSwgCisgICAgMSwgNCwgMjM0LCAxODMsIDM4LCAyMzQsIDIwMiwgMjEzLCAxMzUsIDIxOSwgMzIsIDc4LCAzOCwgMjM0LCAyMDIsIDIyMCwgCisgICAgMTU2LCAyMTksIDMyLCA3OCwgMjM0LCAyMDIsIDIxMywgMTM1LCAyMTksIDMyLCA3OCwgMjM0LCAyMDIsIDIyMCwgMTU2LCAKKyAgICAyMTksIDMyLCA3OCwgMTQxLCAyMzUsIDE1OSwgNzgsIDE0MSwgMjEzLCAxMzUsIDIzNSwgMTU5LCA3OCwgMTQxLCAyNDcsIAorICAgIDIyMiwgMjEwLCAyMjUsIDIzNCwgMjAyLCA1MiwgMjQwLCAxNjksIDU2LCAxLCA0LCA2MSwgNTYsIDEsIDYxLCA1NiwgMSwgNCwgCisgICAgNzMsIDU2LCAxLCA3MywgNTYsIDEsIDQsIDcwLCA1NiwgMSwgNzAsIDU2LCAxLCA0LCA3NSwgNTYsIDEsIDc1LCA1NiwgMSwgCisgICAgNCwgNzYsIDU2LCAxLCA3NiwgNTYsIDEsIDE3NiwgNTYsIDEsIDI0MywgMTM2LCA1NiwgMSwgMjM0LCA5MywgNTYsIDEsIAorICAgIDI0MiwgMjE1LCA1NiwgMSwgMjMzLCAyMTgsIDU2LCAxLCAyNDIsIDExNCwgNTYsIDEsIDIzNCwgMTgzLCA1NiwgMSwgMjQzLCAKKyAgICA2MywgNTYsIDEsIDIzNCwgMjksIDU2LCAxLCAyNDIsIDE3NSwgNTYsIDEsIDIwNiwgNTYsIDEsIDIxMCwgMTE2LCA1NiwgMSwgCisgICAgMjE5LCAxOTIsIDU2LCAxLCAyMTAsIDQ0LCA1NiwgMSwgMjE4LCA4NCwgNTYsIDEsIDIxMCwgMTMsIDU2LCAxLCAyMjEsIAorICAgIDE4MiwgNTYsIDEsIDIxMCwgOTQsIDU2LCAxLCAyMTksIDU5LCA1NiwgMSwgMjEwLCAyMywgNTYsIDEsIDIxNywgMTA2LCA1NiwgCisgICAgMSwgMjQ4LCAyMjIsIDU2LCAxLCAyMTYsIDExOCwgNTYsIDEsIDI0OCwgNCwgNTYsIDEsIDQsIDIxNSwgMTE5LCA1NiwgMSwgCisgICAgMjE1LCAxMTksIDU2LCAxLCAyNDYsIDc5LCA1NiwgMSwgMjE3LCAyMywgNTYsIDEsIDI0OCwgOTEsIDU2LCAxLCAxMTEsIDU2LCAKKyAgICAxLCAyNDcsIDE0NiwgNTYsIDEsIDE5NywgNTYsIDEsIDIyOCwgMjM0LCA1NiwgMSwgMjI3LCAyMzgsIDU2LCAxLCAyMjksIAorICAgIDEwOCwgNTYsIDEsIDIyOCwgNzUsIDU2LCAxLCAxNjIsIDU2LCAxLCAyNTIsIDE5MiwgNTYsIDEsIDE5MCwgNTYsIDEsIDI0MSwgCisgICAgMTgxLCA1NiwgMSwgMjUyLCA3LCA1NiwgMSwgMjI1LCAxMDksIDU2LCAxLCAyNDAsIDIyMywgNTYsIDEsIDI1MSwgMTI2LCAKKyAgICA1NiwgMSwgMjI0LCAxNTEsIDU2LCAxLCAyNDEsIDIzOSwgNTYsIDEsIDI1MiwgNzYsIDU2LCAxLCAyMjUsIDIyMiwgNTYsIDEsIAorICAgIDI0MSwgNjksIDU2LCAxLCAyNTEsIDIwNiwgNTYsIDEsIDIyNSwgMTcsIDU2LCAxLCAxODUsIDU2LCAxLCAyMzAsIDIzMSwgCisgICAgNTYsIDEsIDIzMCwgMTAzLCA1NiwgMSwgMjMxLCA5MiwgNTYsIDEsIDIzMCwgMTYyLCA1NiwgMSwgNCwgMTkxLCA1NiwgMSwgCisgICAgMTkxLCA1NiwgMSwgNCwgMjEwLCAyMTIsIDU2LCAxLCAyMTAsIDIxMiwgNTYsIDEsIDQsIDIxMCwgMjQ0LCA1NiwgMSwgMjEwLCAKKyAgICAyNDQsIDU2LCAxLCAyMDUsIDU2LCAxLCAyMjMsIDM2LCA1NiwgMSwgMjIyLCAxNDEsIDU2LCAxLCAyMjMsIDEyOSwgNTYsIDEsIAorICAgIDIyMiwgMjEyLCA1NiwgMSwgNCwgMjEyLCA2NSwgNTYsIDEsIDIxMiwgNjUsIDU2LCAxLCAyMTEsIDI1MCwgNTYsIDEsIDIxMiwgCisgICAgMjIsIDU2LCAxLCAyMTEsIDIyNywgNTYsIDEsIDIzMCwgMjYsIDU2LCAxLCAyMTIsIDExNiwgNTYsIDEsIDQsIDE3NiwgNTYsIAorICAgIDEsIDQsIDIzNCwgMTgzLCA1NiwgMSwgMjE0LCAyNywgNTYsIDEsIDIxMywgMTc2LCA1NiwgMSwgMjEzLCAyNTUsIDU2LCAxLCAKKyAgICAyMTMsIDEzOCwgNTYsIDIzMCwgMjI1LCAyNDcsIDEyMSwgMjM0LCAyMDIsIDIyNCwgMTc0LCAyMTksIDMyLCA3OCwgNTYsIAorICAgIDIzNSwgMTU5LCA3OCwgNTYsIDIxMywgMTM1LCAyMzUsIDE1OSwgNzgsIDU2LCAyNDcsIDIyMiwgMjM0LCAwLCAyNTEsIDE4NSwgCisgICAgMSwgMjUzLCAxNTksIDI1MSwgMTg1LCAxLCAyMjYsIDEwNiwgMjUxLCAxODUsIDEsIDE5MywgMjUxLCAxODUsIDEsIDI0NSwgCisgICAgNywgMjUxLCAxODUsIDEsIDI0OSwgNjEsIDI1MSwgMTg1LCAxLCAyMTcsIDE1MywgMjUxLCAxODUsIDEsIDIzMCwgMjYsIAorICAgIDI1MSwgMTg1LCAxLCAxNTYsIDI1MSwgMTg1LCAxLCAyNDMsIDIwMywgMjUxLCAxODUsIDEsIDIzNSwgMjQsIDI1MSwgMTg1LCAKKyAgICAxLCAyNDIsIDYxLCAyNTEsIDE4NSwgMSwgMjM1LCAxNDUsIDI1MSwgMTg1LCAxLCAyMjQsIDk3LCAyNTEsIDE4NSwgMSwgCisgICAgMjExLCAxNzgsIDI1MSwgMTg1LCAxLCAyMTAsIDgzLCAyNTEsIDE4NSwgMSwgMjUwLCAxNTksIDI1MSwgMTg1LCAxLCAyMjAsIAorICAgIDEwNSwgMjUxLCAxODUsIDEsIDE1MywgMjUxLCAxODUsIDEsIDIxMCwgMTU5LCAyNTEsIDE4NSwgMSwgMjUxLCA2NywgMjUxLCAKKyAgICAxODUsIDEsIDIyMiwgOTIsIDI1MSwgMTg1LCAxLCA2MSwgMjUxLCAxODUsIDEsIDc2LCAyNTEsIDE4NSwgMSwgNzUsIDI1MSwgCisgICAgMTg1LCAxLCAyNDUsIDE5OCwgMjUxLCAxODUsIDEsIDI1NCwgMjAyLCAyNTEsIDE4NSwgMSwgMjQ1LCAxOTYsIDI1MSwgMTg1LCAKKyAgICAxLCAyNTMsIDE5MywgMjUxLCAxODUsIDEsIDIyNiwgMTM1LCAyNTEsIDE4NSwgMSwgMjU0LCAxMjQsIDI1MSwgMTg1LCAxLCAKKyAgICAyNDUsIDE1MSwgMjUxLCAxODUsIDEsIDI1NCwgMTE2LCAyNTEsIDE4NSwgMSwgMjQ1LCAxMzksIDI1MSwgMTg1LCAxLCAyNDUsIAorICAgIDkzLCAyNTEsIDE4NSwgMSwgNzMsIDI1MSwgMTg1LCAxLCA3MCwgMjUxLCAxODUsIDEsIDIzNSwgMTU3LCAyNTEsIDE4NSwgMSwgCisgICAgMjE0LCAxMDUsIDI1MSwgMTg1LCAxLCAyMjksIDgwLCAyNTEsIDE4NSwgMSwgMjQyLCAxNzksIDI1MSwgMTg1LCAxLCAyMzYsIAorICAgIDM1LCAyNCwgMSwgMjM0LCA1OSwgMjQsIDEsIDIxOCwgMjE2LCAyNCwgMSwgMjM0LCA1MiwgMjQsIDEsIDIyOCwgMjI3LCAyNCwgCisgICAgMSwgMjI4LCAyMjUsIDI0LCAxLCAyMjgsIDIyNCwgMjQsIDEsIDIxNiwgMTAyLCAyNCwgMSwgMjE4LCAyMDUsIDI0LCAxLCAKKyAgICAyMjMsIDI3LCAyNCwgMSwgMjIzLCAyMiwgMjQsIDEsIDIyMywgMTksIDI0LCAxLCAyMjMsIDEyLCAyNCwgMSwgMjIzLCA3LCAKKyAgICAyNCwgMSwgMjIzLCAyLCAyNCwgMSwgMjIzLCAxMywgMjQsIDEsIDIyMywgMjUsIDI0LCAxLCAyMzAsIDIxOCwgMjQsIDEsIAorICAgIDIyNSwgOTYsIDI0LCAxLCAyMTgsIDIxMywgMjQsIDEsIDIyNSwgODUsIDI0LCAxLCAyMTksIDE0OSwgMjQsIDEsIDIxOCwgCisgICAgMjEwLCAyNCwgMSwgMjM2LCA1NywgMjQsIDEsIDI1MCwgNDcsIDI0LCAxLCAyMTgsIDIyMCwgMjQsIDEsIDI1MCwgMTA3LCAKKyAgICAyNCwgMSwgMjM0LCAxMTEsIDI0LCAxLCAyMTYsIDE3NCwgMjQsIDEsIDIyNSwgMTMyLCAyNCwgMSwgMjQxLCAxNzMsIDI0LCAKKyAgICAxLCA2MSwgMjQsIDEsIDI1NCwgMjQ0LCAyNCwgMSwgMTkxLCAyNCwgMSwgMjExLCA5MiwgMjQsIDEsIDI0NSwgMTE4LCAyNCwgCisgICAgMSwgNzUsIDI0LCAxLCAyMTEsIDM2LCAyNCwgMSwgMjExLCA0NywgMjQsIDEsIDc2LCAyNCwgMSwgMjEyLCA2NSwgMjQsIDEsIAorICAgIDIxMiwgNjIsIDI0LCAxLCAyMjYsIDIzNSwgMjQsIDEsIDIxMCwgMjQ0LCAyNCwgMSwgNzAsIDI0LCAxLCAyMTIsIDExLCAyNCwgCisgICAgMSwgMjEyLCAyMiwgMjQsIDEsIDIxMSwgMjUwLCAyNCwgMSwgMjEwLCAyMTIsIDI0LCAxLCAyNDUsIDU2LCAyNCwgMSwgMjExLCAKKyAgICA4LCAyNCwgMSwgNzMsIDI0LCAyNDQsIDEwNCwgMjQsIDEsIDIxOCwgMjE0LCAyNCwgMSwgMjI4LCAyMTcsIDI0LCAxLCAyMjgsIAorICAgIDIxOSwgMjQsIDEsIDIyOCwgMjIyLCAyNCwgMSwgMjIzLCAyMCwgMjQsIDEsIDIyMywgMSwgMjQsIDEsIDIyMywgOSwgMjQsIAorICAgIDEsIDIyMywgMTQsIDI0LCAxLCAyMjIsIDI1NSwgMjQsIDEsIDIzMCwgMjExLCAyNCwgMSwgMjMwLCAyMDgsIDI0LCAxLCAKKyAgICAyMzAsIDIxMiwgMjQsIDEsIDIzNCwgMjIyLCAyNCwgMSwgMjI1LCA5MSwgMjQsIDEsIDIyNSwgNzcsIDI0LCAxLCAyMjUsIAorICAgIDgzLCAyNCwgMSwgMjI1LCA4MCwgMjQsIDEsIDIyNSwgOTQsIDI0LCAxLCAyMjUsIDc4LCAyNCwgMSwgMjM0LCAyMjAsIDI0LCAKKyAgICAxLCAyMzQsIDIxOCwgMjQsIDEsIDIxOSwgMTQyLCAyNCwgMSwgMjE5LCAxNDAsIDI0LCAxLCAyMTksIDEzMiwgMjQsIDEsIAorICAgIDIxOSwgMTM3LCAyNCwgMSwgMjE5LCAxNDcsIDI0LCAxLCAyMjYsIDMzLCAyNCwgMSwgMjE4LCAyMTcsIDI0LCAxLCAyMTEsIAorICAgIDI2LCAyNCwgMSwgMjExLCAyMiwgMjQsIDEsIDIxMSwgMjMsIDI0LCAxLCAyMzQsIDIyMSwgMjQsIDEsIDIxOCwgMjE4LCAyNCwgCiAgICAgMSwgMjExLCAzMiwgMjQsIDEsIDIxMCwgMjM4LCAyNCwgMSwgMjEwLCAyMzcsIDI0LCAxLCAyMTAsIDI0MCwgMjQsIDEsIAotICAgIDIxMCwgMjAzLCAyNCwgMSwgMjEwLCAyMDQsIDI0LCAxLCAyMTAsIDIwNywgMjQsIDEsIDI1NCwgMzQsIDI0LCAxLCAyNTQsIAotICAgIDI4LCAxMDksIDI1NCwgOTksIDIzMiwgMjAzLCA3OCwgMTA5LCAyNTQsIDk5LCAyMjMsIDUwLCA3OCwgMTA5LCAyNTQsIDk5LCAKLSAgICAxMjMsIDc4LCAxMDksIDI1NCwgOTksIDExMywgNzgsIDEwOSwgMjU0LCA5OSwgMTM0LCA3OCwgMTA5LCAyNTQsIDk5LCAyNDQsIAotICAgIDExLCA3OCwgMTA5LCAyNTQsIDk5LCAyMTYsIDE0LCA3OCwgMTA5LCAyNTQsIDk5LCAyMzAsIDIyNCwgNzgsIDEwOSwgMjU0LCAKLSAgICA5OSwgMjUxLCAxNzUsIDc4LCAxMDksIDI1NCwgOTksIDI0NCwgOTIsIDc4LCAxMDksIDI1NCwgOTksIDIyMSwgMTc2LCA3OCwgCi0gICAgMTA5LCAyNTQsIDk5LCAyMTYsIDE2OSwgNzgsIDEwOSwgMjU0LCA5OSwgMjQ0LCA0LCA3OCwgMTA5LCAyNTQsIDk5LCAyNDEsIAotICAgIDIyNCwgNzgsIDEwOSwgMjU0LCA5OSwgMjQ1LCAyMjQsIDc4LCAxMDksIDI1NCwgOTksIDIzMSwgMTg2LCA3OCwgMjUxLCAKLSAgICAxODQsIDEsIDI1MSwgMTI1LCAyNTEsIDE4NCwgMSwgMjEwLCA0NCwgMjUxLCAxODQsIDEsIDIzNSwgMTA4LCAyNTEsIDE4NCwgCi0gICAgMSwgMjQyLCAxMTMsIDI1MSwgMTg0LCAxLCAyNDUsIDIwOSwgMjUxLCAxODQsIDEsIDI0NSwgMTM1LCAyNTEsIDE4NCwgMSwgCi0gICAgMjI2LCAxODMsIDI1MSwgMTg0LCAxLCAyMjYsIDE4NywgMjUxLCAxODQsIDEsIDIzNSwgMTc5LCAyNTEsIDE4NCwgMSwgMjU0LCAKLSAgICAxMDEsIDI1MSwgMTg0LCAxLCAyMzUsIDIyNCwgMjUxLCAxODQsIDEsIDIxNCwgMTY4LCAyNTEsIDE4NCwgMSwgMjM2LCAxNiwgCi0gICAgMjUxLCAxODQsIDEsIDIyOSwgNTcsIDI1MSwgMTg0LCAxLCAyNTQsIDE5NSwgMjUxLCAxODQsIDEsIDI1MywgMTg3LCAyNTEsIAotICAgIDE4NCwgMSwgMjU0LCAxMzYsIDI1MSwgMTg0LCAxLCAyMjYsIDIwNCwgMjUxLCAxODQsIDEsIDIyNiwgMTg5LCAyNTEsIDE4NCwgCi0gICAgMSwgMjM1LCAyMjEsIDI1MSwgMTg0LCA0MCwgMSwgMjI2LCAxMDUsIDI1MSwgMTg0LCA0MCwgMSwgMjE3LCAxNTIsIDI1MSwgCi0gICAgMTg0LCA0MCwgMSwgMjM1LCAyMywgMjUxLCAxODQsIDQwLCAxLCAyNDIsIDYwLCAyNTEsIDE4NCwgMSwgMjQyLCAyNTAsIAotICAgIDI1MSwgMTg0LCAxLCAyMzIsIDI1NSwgMjUxLCAxODQsIDEsIDIwOSwgMjUwLCA5LCAyMTgsIDEwMywgMjE3LCAxNTIsIDksIAotICAgIDIxOCwgMTAzLCAyMTIsIDQsIDksIDIxOCwgMTAzLCAyMTEsIDE1OCwgOSwgMjE4LCAxMDMsIDI1MSwgNzksIDksIDIxOCwgCi0gICAgMTAzLCAyMTcsIDI1NCwgOSwgMjE4LCAxMDMsIDI0MCwgMTU4LCA5LCAyMTgsIDEwMywgMjQwLCAxNjIsIDksIDIxOCwgMTAzLCAKLSAgICAyNDAsIDIzMSwgOSwgMjE4LCAxMDMsIDI0MCwgMTU5LCA5LCAyMTgsIDEwMywgMjE3LCAxNTUsIDksIDIxOCwgMTAzLCAyNDAsIAotICAgIDE2MSwgOSwgMjE4LCAxMDMsIDI0MCwgMTU3LCA5LCAyMTgsIDEwMywgMjQwLCAyMjksIDksIDIxOCwgMTAzLCAyNDAsIDE2MCwgCi0gICAgOSwgMjE4LCAxMDMsIDI0MCwgMTU2LCA5LCAyMTgsIDEwMywgMjMwLCAyNSwgOSwgMjE4LCAxMDMsIDI0MiwgNjAsIDksIAotICAgIDIxOCwgMTAzLCAyMjIsIDkxLCA5LCAyMTgsIDEwMywgMjI2LCAxMDUsIDksIDIxOCwgMTAzLCAyMTksIDIxLCA5LCAyMTgsIAotICAgIDEwMywgMjQ5LCA2MCwgOSwgMjE4LCAxMDMsIDI0MCwgMTYzLCA5LCAyMTgsIDEwMywgMjQxLCAxOTAsIDksIDIxOCwgMTAzLCAKLSAgICAyMTcsIDE2NCwgOSwgMjE4LCAxMDMsIDIxNywgMjMzLCA5LCAyMTgsIDEwMywgMjE4LCAxNjgsIDksIDIxOCwgMTAzLCAyMjAsIAotICAgIDExMCwgOSwgMjE4LCAxMDMsIDIyNSwgMjI0LCA5LCAyMTgsIDEwMywgMjI0LCA5OCwgOSwgMjE4LCAxMDMsIDIxNiwgNDMsIAotICAgIDksIDIxOCwgMTAzLCAyMTcsIDE1NCwgOSwgMjE4LCAxMDMsIDIxNywgMjQ0LCA5LCAyMTgsIDEwMywgMjQwLCAxNzAsIDksIAotICAgIDIxOCwgMTAzLCAyNDAsIDE1NSwgOSwgMjE4LCAxMDMsIDIyNSwgMTQ5LCA5LCAyMTgsIDEwMywgMjI0LCA5NiwgNTYsIDEsIAotICAgIDQsIDIzMywgMjE3LCA1NiwgMSwgNCwgMjE5LCAxOTEsIDU2LCAxLCA0LCAyMTgsIDgzLCA1NiwgMSwgNCwgMTExLCA1NiwgMSwgCi0gICAgNCwgMjI3LCAyMzcsIDU2LCAxLCA0LCAxNjIsIDU2LCAxLCA0LCAyNDEsIDE4MCwgNTYsIDEsIDQsIDI0MCwgMjIyLCA1NiwgCi0gICAgMSwgNCwgMjQxLCAyMzgsIDU2LCAxLCA0LCAyNDEsIDY4LCA1NiwgMSwgNCwgMjMwLCAxMDIsIDU2LCAxLCA0LCAyMDUsIDU2LCAKLSAgICAxLCA0LCAyMjMsIDM1LCA1NiwgMSwgNCwgMjIyLCAxNDAsIDU2LCAxLCA0LCAyMjMsIDEyOCwgNTYsIDEsIDQsIDIyMiwgCi0gICAgMjExLCA4OCwgMjQsIDIzNCwgNTgsIDg4LCAyNCwgMjI4LCAyMjYsIDg4LCAyNCwgMjE2LCAxMDEsIDg4LCAyNCwgMjIzLCAKLSAgICAyNiwgODgsIDI0LCAyMzAsIDIxNywgODgsIDI0LCAyMjUsIDk1LCA4OCwgMjQsIDIxOSwgMTQ4LCA4OCwgMjQsIDIzNiwgNTYsIAotICAgIDg4LCAyNCwgMjUwLCA0NiwgODgsIDI0LCAyNTAsIDEwNiwgODgsIDI0LCAyMzQsIDExMCwgODgsIDI0LCAyMTYsIDE3MywgCi0gICAgODgsIDI0LCAyMjUsIDEzMSwgODgsIDI0LCAyNDEsIDE3MiwgODgsIDI0LCAyMzQsIDU5LCA2MSwgODgsIDI0LCAyMjgsIAotICAgIDIyNywgNjEsIDg4LCAyNCwgMjE2LCAxMDIsIDYxLCA4OCwgMjQsIDIyMywgMjcsIDYxLCA4OCwgMjQsIDIzMCwgMjE4LCA2MSwgCi0gICAgODgsIDI0LCAyMjUsIDk2LCA2MSwgODgsIDI0LCAyMTksIDE0OSwgNjEsIDg4LCAyNCwgMjM2LCA1NywgNjEsIDg4LCAyNCwgCi0gICAgMjUwLCA0NywgNjEsIDg4LCAyNCwgMjUwLCAxMDcsIDYxLCA4OCwgMjQsIDIzNCwgMTExLCA2MSwgODgsIDI0LCAyMTYsIAotICAgIDE3NCwgNjEsIDg4LCAyNCwgMjI1LCAxMzIsIDYxLCA4OCwgMjQsIDI0MSwgMTczLCA2MSwgODgsIDI0LCAyNTAsIDQ3LCA3MCwgCi0gICAgODgsIDIzNCwgMywgMTM1LCAyMjYsIDIxNywgODgsIDIzNCwgMywgMTM1LCAxNDQsIDI0MCwgMjIyLCA4OCwgMTU0LCAxMTAsIAotICAgIDg4LCAxNTQsIDEwNSwgODgsIDE1NCwgMTU4LCA4OCwgMTU0LCAxNjEsIDg4LCAxNTQsIDE4OSwgODgsIDE1NCwgMTk0LCA4OCwgCi0gICAgMTU0LCAxOTgsIDg4LCAxNTQsIDE5NSwgODgsIDE1NCwgMjAwLCA4OCwgMTU0LCAyMTYsIDI0NywgODgsIDE1NCwgMjMwLCAKLSAgICAxMjgsIDg4LCAxNTQsIDI0NCwgOTYsIDg4LCAxNTQsIDIxMiwgNDAsIDg4LCAxNTQsIDIxMSwgMjE0LCA4OCwgMTU0LCAyMzEsIAotICAgIDM5LCA4OCwgMTU0LCAyNDUsIDIyMywgODgsIDE1NCwgMjE4LCAzNywgODgsIDE1NCwgMjE4LCAxMzIsIDg4LCAxNTQsIDI0MSwgCi0gICAgMjQ0LCA4OCwgMTU0LCAyMTksIDU0LCA4OCwgMTU0LCAyMjksIDIwNCwgODgsIDE1NCwgMjE5LCA0LCA4OCwgMTU0LCAyNDQsIAotICAgIDEwMiwgODgsIDE1NCwgMjQ5LCAyMDAsIDg4LCAxNTQsIDIzMywgMTI1LCA4OCwgMTU0LCAyMjMsIDcxLCA4OCwgMTU0LCAKLSAgICAyNTEsIDE1LCA4OCwgMTU0LCAyMTgsIDg3LCA4OCwgMTU0LCAyMTgsIDIwLCA4OCwgMTU0LCAyNDUsIDEyNywgODgsIDE1NCwgCi0gICAgMjIzLCA2MywgODgsIDE1NCwgMjU0LCAxNTAsIDg4LCAxNTQsIDI0NCwgMTI4LCA4OCwgMTU0LCAyMjMsIDYxLCA4OCwgMTU0LCAKLSAgICAyMjAsIDE1NiwgODgsIDE1NCwgMjIzLCAxMjcsIDM3LCAxNTQsIDIyNCwgMTIsIDM3LCAxNTQsIDIzNCwgODAsIDM3LCAxNTQsIAotICAgIDIyMSwgMTk4LCAzNywgMTU0LCAyMzMsIDI1NSwgMzcsIDU0LCAyMTYsIDI0OCwgMjI2LCAxOTcsIDg1LCAyMTgsIDIzNCwgCi0gICAgMzcsIDU0LCAyMTUsIDc0LCAyMjYsIDE5NywgODUsIDIxOCwgMjM0LCAzNywgNTQsIDIxNiwgMTYzLCAyMjYsIDE5NywgODUsIAotICAgIDIxOCwgMjM0LCAzNywgNTQsIDI0NCwgMTYsIDIyNiwgMTk3LCA4NSwgMjE4LCAyMzQsIDM3LCA1NCwgMjQ0LCAxMTUsIDIyNiwgCi0gICAgMTk3LCA4NSwgMjE4LCAyMzQsIDM3LCA1NCwgMjE5LCAxMTIsIDIyNiwgMTk3LCA4NSwgMjE4LCAyMzQsIDM3LCA1NCwgMjIwLCAKLSAgICAxMTcsIDIyNiwgMTk3LCA4NSwgMjE4LCAyMzQsIDM3LCA1NCwgMjQ1LCAxODUsIDIyNiwgMTk3LCA4NSwgMjE4LCAyMzQsIAotICAgIDIyNSwgMjUxLCA1MCwgMzcsIDU0LCAyMTUsIDc0LCAxMTAsIDM3LCA1NCwgMjE1LCA3NCwgMTA1LCAzNywgNTQsIDIxNSwgCi0gICAgNzQsIDE1OCwgMzcsIDU0LCAyMTUsIDc0LCAxNjEsIDM3LCA1NCwgMjE1LCA3NCwgMTg5LCAzNywgNTQsIDIxNSwgNzQsIAotICAgIDE5NCwgMzcsIDU0LCAyMTUsIDc0LCAxOTgsIDM3LCA1NCwgMjE1LCA3NCwgMTk1LCAzNywgNTQsIDIxNSwgNzQsIDIwMCwgCi0gICAgMzcsIDU0LCAyMTYsIDE2MiwgMzcsIDU0LCAyMTYsIDE2MywgMTEwLCAzNywgNTQsIDIxNiwgMTYzLCAxMDUsIDM3LCA1NCwgCi0gICAgMjE2LCAxNjMsIDE1OCwgMzcsIDU0LCAyMTYsIDE2MywgMTYxLCAzNywgNTQsIDIxNiwgMTYzLCAxODksIDM3LCAyNCwgMjM0LCAKLSAgICA1OCwgMzcsIDI0LCAyMjgsIDIyNiwgMzcsIDI0LCAyMTYsIDEwMSwgMzcsIDI0LCAyMjMsIDI2LCAzNywgMjQsIDIzMCwgCi0gICAgMjE3LCAzNywgMjQsIDIyNSwgOTUsIDM3LCAyNCwgMjE5LCAxNDgsIDM3LCAyNCwgMjM2LCA1NiwgMzcsIDI0LCAyNTAsIDQ2LCAKLSAgICAzNywgMjQsIDI1MCwgMTA2LCAzNywgMjQsIDIzNCwgMTEwLCAzNywgMjQsIDIxNiwgMTczLCAzNywgMjQsIDIyNSwgMTMxLCAKLSAgICAzNywgMjQsIDI0MSwgMTcyLCAzNywgMjQsIDIzNCwgNTksIDYxLCAzNywgMjQsIDIyOCwgMjI3LCA2MSwgMzcsIDI0LCAyMTYsIAotICAgIDEwMiwgNjEsIDM3LCAyNCwgMjIzLCAyNywgNjEsIDM3LCAyNCwgMjMwLCAyMTgsIDYxLCAzNywgMjQsIDIyNSwgOTYsIDYxLCAKLSAgICAzNywgMjQsIDIxOSwgMTQ5LCA2MSwgMzcsIDI0LCAyMzYsIDU3LCA2MSwgMzcsIDI0LCAyNTAsIDQ3LCA2MSwgMzcsIDI0LCAKLSAgICAyNTAsIDEwNywgNjEsIDM3LCAyNCwgMjM0LCAxMTEsIDYxLCAzNywgMjQsIDIxNiwgMTc0LCA2MSwgMzcsIDI0LCAyMjUsIAotICAgIDEzMiwgNjEsIDM3LCAyNCwgMjQxLCAxNzMsIDYxLCAzNywgMjM0LCAzLCAxMzUsIDI1MCwgMTQ4LCAzNywgMjM0LCAzLCAKLSAgICAxMzUsIDIzNSwgNDcsIDM3LCAyNCwgMjM2LCA1NywgNzAsIDIzNCwgMywgMjE4LCAxNTksIDg3LCAzNywgMTU0LCAxMTAsIAotICAgIDM3LCAxNTQsIDEwNSwgMzcsIDE1NCwgMTU4LCAzNywgMTU0LCAxNjEsIDM3LCAxNTQsIDE4OSwgMzcsIDE1NCwgMTk0LCAzNywgCi0gICAgMTU0LCAxOTgsIDM3LCAxNTQsIDE5NSwgMzcsIDE1NCwgMjAwLCAzNywgMTU0LCAyMTYsIDI0NywgMzcsIDE1NCwgMjMwLCAKLSAgICAxMjgsIDM3LCAxNTQsIDI0NCwgOTYsIDM3LCAxNTQsIDIxMiwgNDAsIDM3LCAxNTQsIDIxMSwgMjE0LCAzNywgMTU0LCAyMzEsIAotICAgIDM5LCAzNywgMTU0LCAyNDUsIDIyMywgMzcsIDE1NCwgMjE4LCAzNywgMzcsIDE1NCwgMjE4LCAxMzIsIDM3LCAxNTQsIDI0MSwgCi0gICAgMjQ0LCAzNywgMTU0LCAyMTksIDU0LCAzNywgMTU0LCAyMjksIDIwNCwgMzcsIDE1NCwgMjE5LCA0LCAzNywgMTU0LCAyNDQsIAotICAgIDEwMiwgMzcsIDE1NCwgMjQ5LCAyMDAsIDM3LCAxNTQsIDIzMywgMTI1LCAzNywgMTU0LCAyMjEsIDE3NCwgMzcsIDE1NCwgCi0gICAgMjMxLCAxODksIDM3LCAxNTQsIDI0NCwgMTM3LCAzNywgMTU0LCAyMTgsIDQ5LCAzNywgMTU0LCAyNDUsIDM0LCAzNywgMTU0LCAKLSAgICAyMjQsIDE4NywgMzcsIDE1NCwgMjUzLCAxOTYsIDM3LCAxNTQsIDIzNSwgMTU5LCAzNywgMTU0LCAyMjMsIDYxLCAzNywgCi0gICAgMTU0LCAyNDksIDE2NCwgMzcsIDE1NCwgMjQ5LCAxNTUsIDM3LCAxNTQsIDI0MSwgMTY1LCAzNywgMTU0LCAyNTAsIDE3NCwgCi0gICAgMzcsIDE1NCwgMjMyLCAxMTAsIDM3LCAxNTQsIDIzMywgNDYsIDM3LCAxNTQsIDIyMiwgMjUxLCAzNywgMTU0LCAyMzEsIDgzLCAKLSAgICAzNywgMTU0LCAyMjMsIDg3LCAzNywgMTU0LCAyMTgsIDg3LCAzNywgMTU0LCAyMTgsIDIwLCAzNywgMTU0LCAyNDUsIDEyNywgCi0gICAgMzcsIDE1NCwgMjIzLCA2MywgMzcsIDE1NCwgMjU0LCAxNTAsIDM3LCAxNTQsIDIyOCwgMjEyLCAzNywgNTQsIDIxNiwgMTYzLCAKLSAgICAxOTQsIDM3LCA1NCwgMjE2LCAxNjMsIDE5OCwgMzcsIDU0LCAyMTYsIDE2MywgMTk1LCAzNywgNTQsIDIxNiwgMTYzLCAyMDAsIAotICAgIDM3LCA1NCwgMjQ0LCAxNSwgMzcsIDU0LCAyNDQsIDE2LCAxMTAsIDM3LCA1NCwgMjQ0LCAxNiwgMTA1LCAzNywgNTQsIDI0NCwgCi0gICAgMTYsIDE1OCwgMzcsIDU0LCAyNDQsIDE2LCAxNjEsIDM3LCA1NCwgMjQ0LCAxNiwgMTg5LCAzNywgNTQsIDI0NCwgMTYsIAotICAgIDE5NCwgMzcsIDU0LCAyNDQsIDE2LCAxOTgsIDM3LCA1NCwgMjQ0LCAxNiwgMTk1LCAzNywgNTQsIDI0NCwgMTYsIDIwMCwgCi0gICAgMzcsIDU0LCAyNDQsIDExNCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjM1LCAxMzMsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIAotICAgIDI0NCwgMTQ4LCAxMDksIDIxNywgMywgMTYsIDMxLCAyMzEsIDE2MCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjU0LCA0NywgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjMxLCAxMzIsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDIzNSwgNDUsIDEwOSwgMjE3LCAzLCAKLSAgICAxNiwgMzEsIDIzNSwgNDYsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI1MywgMTg4LCAxMDksIDIxNywgMywgMTYsIDMxLCAyMjAsIAotICAgIDEzNiwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjI2LCAyMzksIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDIyOCwgNDAsIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0OCwgODUsIDQyLCAyNDEsIDE5MCwgNDIsIDI0NSwgODgsIDQyLCAyNDUsIDQzLCAyMzIsIAotICAgIDIxOSwgMjMyLCAyNDAsIDUwLCAzNywgNTYsIDYxLCAzNywgNTYsIDczLCAzNywgNTYsIDcwLCAzNywgNTYsIDc1LCAzNywgCi0gICAgNTYsIDc2LCAzNywgNTYsIDE3NiwgMzcsIDU2LCAyMzQsIDkyLCAzNywgNTYsIDIzMywgMjE3LCAzNywgNTYsIDIzNCwgMTgyLCAKLSAgICAzNywgNTYsIDIzNCwgMjgsIDM3LCA1NiwgMjA2LCAzNywgNTYsIDIxOSwgMTkxLCAzNywgNTYsIDIxOCwgODMsIDM3LCA1NiwgCi0gICAgMjIxLCAxODEsIDM3LCA1NiwgMjE5LCA1OCwgMzcsIDU2LCAyMTcsIDEwNSwgMzcsIDU2LCAyMTYsIDExNywgMzcsIDU2LCAKLSAgICAyMTUsIDExOCwgMzcsIDU2LCAyMTcsIDIyLCAzNywgNTYsIDExMSwgMzcsIDU2LCAxOTcsIDM3LCA1NiwgMjI4LCAyMzMsIAotICAgIDM3LCA1NiwgMjI3LCAyMzcsIDM3LCA1NiwgMjI5LCAxMDcsIDM3LCA1NiwgMjI4LCA3NCwgMzcsIDU2LCAxNjIsIDM3LCA1NiwgCi0gICAgMjQxLCAxODAsIDM3LCA1NiwgMjQwLCAyMjIsIDM3LCA1NiwgMjQxLCAyMzgsIDM3LCA1NiwgMjQxLCA2OCwgMzcsIDU2LCAKLSAgICAxODQsIDM3LCA1NiwgMjMwLCAyMzAsIDM3LCA1NiwgMjMwLCAxMDIsIDM3LCA1NiwgMjMxLCA5MSwgMzcsIDU2LCAyMzAsIAotICAgIDE2MSwgMzcsIDU2LCAxOTEsIDM3LCA1NiwgMjEwLCAyMTIsIDM3LCA1NiwgMjEwLCAyNDQsIDM3LCA1NiwgMjA1LCAzNywgCi0gICAgNTYsIDIyMywgMzUsIDM3LCA1NiwgMjIyLCAxNDAsIDM3LCA1NiwgMjIzLCAxMjgsIDM3LCA1NiwgMjIyLCAyMTEsIDM3LCAKLSAgICA1NiwgMjEyLCA2NSwgMzcsIDU2LCAyMTEsIDI1MCwgMzcsIDU2LCAyMTIsIDIyLCAzNywgNTYsIDIxMSwgMjI3LCA0MiwgCi0gICAgMjU0LCA3MSwgNDIsIDI1MywgMjM5LCA0MiwgMjU0LCA5NSwgNDIsIDI1NSwgMzEsIDQyLCAyMzUsIDIyNiwgNDIsIDIzNSwgCi0gICAgMTk2LCA0MiwgMjE0LCAxNjYsIDQyLCAyNDUsIDY2LCA0MiwgMjQ1LCAyMDYsIDQyLCAyMjYsIDE4NiwgNDIsIDIyNiwgMTgwLCAKLSAgICA0MiwgMjM0LCAyNDUsIDQyLCAyMzQsIDIxNCwgNDIsIDIzNCwgMjExLCA0MiwgMjQzLCA5MiwgNDIsIDI0MywgMTAxLCA0MiwgCi0gICAgMjQyLCAyMDQsIDQyLCAyNDIsIDIwMCwgNDIsIDIzMywgMTUwLCA0MiwgMjQyLCAxOTMsIDQyLCAyMzQsIDcyLCA0MiwgMjM0LCAKLSAgICA3MSwgNDIsIDIzNCwgNzAsIDQyLCAyMzQsIDY5LCA0MiwgMjQyLCA4NiwgNDIsIDI0MiwgODUsIDQyLCAyMzMsIDE5MywgNDIsIAotICAgIDIzMywgMTk1LCA0MiwgMjM0LCAxNzgsIDQyLCAyMzQsIDEsIDQyLCAyMzQsIDgsIDQyLCAyMjIsIDE2LCA0MiwgMjIxLCAKLSAgICAyMzcsIDQyLCAyMTksIDEyOSwgNDIsIDIyMCwgMTQxLCA0MiwgMjIwLCAxNDAsIDQyLCAyNDgsIDIxOCwgNDIsIDI0OCwgMzYsIAotICAgIDQyLCAyNDcsIDEyMSwgNDIsIDIxNiwgMzIsIDQyLCAyMjksIDIwMCwgNDIsIDIyOCwgNDEsIDQyLCAyNDIsIDMyLCA0MiwgCi0gICAgMjI2LCA4NCwgNDIsIDIyNiwgODMsIDQyLCAyNTIsIDE4OCwgNDIsIDIyNSwgMTA1LCA0MiwgMjI1LCA2OSwgNDIsIDIyNSwgCi0gICAgNzAsIDQyLCAyNTEsIDIzNCwgNDIsIDI0MCwgMjIxLCA0MiwgMjQwLCAyMTcsIDQyLCAyNTEsIDkxLCA0MiwgMjQwLCAyMDQsIAotICAgIDQyLCAyNDEsIDIxNSwgNDIsIDIyNSwgMTU5LCA0MiwgMjI1LCAxOTQsIDQyLCAyNDEsIDE5OCwgNDIsIDIyNSwgMTkxLCA0MiwgCi0gICAgMjI1LCAyMDcsIDQyLCAyNTIsIDYxLCA0MiwgMjI1LCA2LCA0MiwgMjUxLCAxODAsIDQyLCAyNDEsIDU2LCA0MiwgMjI0LCAKLSAgICAyNTAsIDQyLCAyNDEsIDQ4LCA0MiwgMjQxLCA1MCwgNDIsIDIzMSwgMjAxLCA0MiwgMjMxLCAxOTcsIDQyLCAyMzEsIDIwNiwgCi0gICAgNDIsIDIzMSwgMTUwLCA0MiwgMjMxLCAxNzUsIDQyLCAyMzAsIDE5NywgNDIsIDIzMCwgMTc2LCA0MiwgMjMwLCAxNzUsIDQyLCAKLSAgICAyMzEsIDc0LCA0MiwgMjMxLCA3MSwgNDIsIDIzMSwgNzUsIDQyLCAyMTEsIDEwMiwgNDIsIDIxMSwgMTAwLCA0MiwgMjEwLCAKLSAgICAyMDEsIDQyLCAyMjIsIDIyNiwgNDIsIDIyMiwgMjMwLCA0MiwgMjIyLCAxMTcsIDQyLCAyMjIsIDExMSwgNDIsIDIyMywgODUsIAotICAgIDQyLCAyMjMsIDgyLCA0MiwgMjEyLCAzOCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIxMCwgODYsIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxMTAsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxMDUsIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxNTgsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxNjEsIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxODksIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxOTQsIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxOTgsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAxOTUsIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyMDAsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyMTYsIDI0NywgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDI0NSwgMTY3LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgCi0gICAgMjE1LCA3NiwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIxNiwgMTY0LCAxMDksIDIxNywgMywgMTYsIDMxLCAKLSAgICAyNDAsIDIzOSwgMjQ0LCA1LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjQ0LCAxMTgsIDEwOSwgMjE3LCAzLCAKLSAgICAxNiwgMzEsIDI0MCwgMjM5LCAyMTksIDExOSwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIyMCwgMTE5LCAxMDksIAotICAgIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjQ1LCAxOTAsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyMjgsIAotICAgIDE5NywgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIxNSwgNzMsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgCi0gICAgMjM5LCAyMTUsIDY3LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjE1LCA2MywgMTA5LCAyMTcsIDMsIDE2LCAKLSAgICAzMSwgMjQwLCAyMzksIDIxNSwgNjQsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyMTUsIDY5LCA0MiwgMjQwLCAKLSAgICAyMzAsIDQyLCAyNDgsIDIyMSwgNDIsIDI1MywgMTkyLCA0MiwgMTMwLCA0MiwgMjI2LCAxMjUsIDQyLCAyMjUsIDIyNSwgNDIsIAotICAgIDI0NywgMTQ3LCA0MiwgMjQ3LCAxNDgsIDIxOCwgMjMzLCA0MiwgMjQ3LCAxNDgsIDI0OSwgMTA4LCA0MiwgMjM1LCAxNTYsIAotICAgIDQyLCAyNDUsIDkxLCAyMjksIDIwNSwgMjQxLCAyMTYsIDQyLCAyNDUsIDkxLCAyMjksIDIwNSwgMjE3LCAxNzQsIDQyLCAKLSAgICAyNDUsIDkxLCAyMjksIDIwNSwgMjE3LCA3NCwgNDIsIDI0NSwgOTEsIDIyOSwgMjA1LCAyMzEsIDcwLCA0MiwgMjQ5LCAxNTcsIAotICAgIDQyLCAyMjYsIDkwLCAyNTQsIDEyNSwgNDIsIDE5NywgNDIsIDIzMCwgMTAzLCA2MSwgNDIsIDE4NCwgNDIsIDE3NiwgNDIsIAotICAgIDIzNCwgMTg1LCA0MiwgMjMxLCAxMjksIDQyLCAyNDMsIDgwLCA0MiwgMjUxLCAxOCwgNDIsIDIzNCwgMTg0LCA0MiwgMjI1LCAKLSAgICAxNTAsIDQyLCAyMjksIDgxLCA0MiwgMjMwLCAxMDMsIDI0NSwgNiwgNDIsIDIzMCwgMTAzLCAyNDMsIDIwMiwgNDIsIDIzMSwgCi0gICAgMTUsIDQyLCAyMzQsIDEzNCwgNDIsIDI0MCwgMTYzLCA0MiwgMjM0LCA5NCwgNDIsIDIzMCwgMjMyLCA0MiwgMjQyLCAyMTYsIAotICAgIDQyLCAyMTYsIDExOSwgNDIsIDIzMCwgMTAzLCAxNTYsIDQyLCAyMzAsIDE2OSwgNDIsIDI0NywgMTU3LCA0MiwgMjM0LCA0MCwgCi0gICAgNDIsIDI0NCwgNDUsIDQyLCAyMjgsIDExMiwgNDIsIDIzMCwgMTAzLCAxOTMsIDQyLCAyMzAsIDE2NiwgNDIsIDI0OSwgMjM5LCAKLSAgICA0MiwgMjM0LCAzNCwgNDIsIDIzMCwgMTY3LCAyMTgsIDIzMywgNDIsIDI0OSwgMjQwLCAyMTgsIDIzMywgNDIsIDIzMiwgNTAsIAotICAgIDIxOCwgMjMzLCA0MiwgMjM0LCAzNSwgMjE4LCAyMzMsIDQyLCAyMzAsIDE2NywgMjQ5LCAxMDgsIDQyLCAyNDksIDI0MCwgCi0gICAgMjQ5LCAxMDgsIDQyLCAyMzIsIDUwLCAyNDksIDEwOCwgNDIsIDIzNCwgMzUsIDI0OSwgMTA4LCA0MiwgMjMyLCA1MCwgMTE3LCAKLSAgICAyMjIsIDkxLCA0MiwgMjMyLCA1MCwgMTE3LCAyMjIsIDkyLCAyMTgsIDIzMywgNDIsIDE5MCwgNDIsIDIzMywgMjUxLCA0MiwgCi0gICAgMjMwLCAxMDUsIDQyLCAyNDIsIDE1MSwgNDIsIDIyMywgMTc2LCA0MiwgMjIzLCAxNzcsIDExNywgMjIyLCA5MSwgNDIsIAotICAgIDIyMywgMTc3LCAxMTcsIDIyMiwgOTIsIDIxOCwgMjMzLCA0MiwgMjI0LCAxNjIsIDQyLCAyMjgsIDEzLCA0MiwgMjMwLCAKLSAgICAxMDMsIDIyMiwgOTEsIDQyLCAyMzAsIDEwNCwgNDIsIDIyNCwgMTE2LCA0MiwgMjI3LCAxNzYsIDQyLCAyMzAsIDEwMywgCi0gICAgMjE0LCAxMDUsIDQyLCAyMzAsIDQ5LCA0MiwgMjMzLCAxODUsIDQyLCAyMzAsIDUwLCAyMzEsIDc0LCA0MiwgMjI0LCAxMTUsIAotICAgIDQyLCAyMjcsIDE3NSwgNDIsIDIzMCwgMTAzLCAyMTIsIDk4LCA0MiwgMjMwLCA0MywgNDIsIDIzMywgMTgzLCA0MiwgMjMwLCAKLSAgICA0NCwgMjMxLCA3NCwgNDIsIDIzNSwgMjQsIDIyNiwgMjIwLCA0MiwgMjMyLCA1MCwgMjI2LCAyMjAsIDQyLCAyNTQsIDEzNiwgCi0gICAgNDIsIDI1MSwgMTYwLCA0MiwgMjUwLCAyMTQsIDQyLCAyNTAsIDE5MSwgNDIsIDI1MSwgNjcsIDExNywgMjM0LCAxMzQsIDQyLCAKLSAgICAyNDksIDIzOCwgNDIsIDI0OCwgMTQyLCA0MiwgMjQyLCA3MiwgNDIsIDE2MiwgNDIsIDI0MCwgMjMxLCA0MiwgMjM1LCAyNTUsIAotICAgIDQyLCAyMzQsIDQ3LCA0MiwgMjM0LCAzNSwgMjUwLCAyNTAsIDQyLCAyMzMsIDIxOSwgNDIsIDIzMiwgMTU5LCA0MiwgMjMyLCAKLSAgICAxNTgsIDQyLCAyMzIsIDE0NywgNDIsIDIzMiwgNjMsIDQyLCAyMzEsIDEzMCwgMjE5LCA3OSwgNDIsIDIzMCwgMTk2LCA0MiwgCi0gICAgMjMwLCAxNTIsIDQyLCAyMjUsIDE0OCwgNDIsIDIyNSwgMTksIDQyLCAyMjQsIDIxOSwgNDIsIDIyNCwgMjE3LCA0MiwgMjE4LCAKLSAgICAyMjcsIDQyLCAyMTgsIDIsIDQyLCAyMTIsIDI0LCA0MiwgMjE0LCAxMDYsIDExNywgMTkzLCA0MiwgMTE1LCAxMTcsIDE5MywgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDExMCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDEwNSwgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDE1OCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDE2MSwgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDE4OSwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDE5NCwgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDE5OCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDE5NSwgCi0gICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIwMCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIxNiwgCi0gICAgMjQ3LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjQ1LCAxNjcsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgCi0gICAgMTQ2LCAyMTUsIDc2LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE2LCAxNjQsIDEwOSwgMjE3LCAzLCAxNiwgCi0gICAgMzEsIDI0OCwgMTQ2LCAyNDQsIDUsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyNDQsIDExOCwgMTA5LCAyMTcsIAotICAgIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIxOSwgMTE5LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjIwLCAxMTksIAotICAgIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyNDUsIDE5MCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIAotICAgIDIyOCwgMTk3LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE1LCA3MywgMTA5LCAyMTcsIDMsIDE2LCAzMSwgCi0gICAgMjQ4LCAxNDYsIDIxNSwgNjcsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTUsIDYzLCAxMDksIDIxNywgMywgCi0gICAgMTYsIDMxLCAyNDgsIDE0NiwgMjE1LCA2NCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIxNSwgNjksIDEwOSwgCi0gICAgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTUsIDcwLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE1LCAKLSAgICA2NSwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIxNSwgNjYsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgCi0gICAgMTQ2LCAyMTUsIDcyLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE1LCA2OCwgMTA5LCAyMTcsIDMsIDE2LCAKLSAgICAzMSwgMjQ4LCAxNDYsIDIxNiwgMTYyLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE2LCAxNjEsIDQyLCAyNDMsIAotICAgIDExOCwgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgMjQ5LCAxNDAsIDI0MSwgMjIzLCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAKLSAgICAyMjMsIDEyMiwgMjQ1LCAyMjMsIDI0MSwgMTkyLCAzMSwgMjQ3LCAyMzEsIDI1MywgMjA3LCAyMTYsIDE5NiwgMjUyLCA1NiwgCi0gICAgMjQxLCAxOTIsIDMxLCAyMTAsIDIyMywgMjQ0LCAzOCwgMjQxLCAxOTIsIDMxLCAyMTIsIDU5LCAyNDEsIDE5MiwgMzEsIAotICAgIDI0OSwgMjAzLCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAyNTQsIDMsIDI0MSwgMTkyLCAzMSwgMjQxLCA2MCwgMjE2LCAzOCwgCi0gICAgMjQxLCAxOTIsIDMxLCA0LCAyMTcsIDYxLCAyNDEsIDE5MiwgMzEsIDIxNSwgMjM3LCAyNDEsIDE5MiwgMzEsIDIyNSwgMjE5LCAKLSAgICAyNDEsIDE5MiwgMzEsIDIxOCwgMTU4LCAyNDEsIDE5MiwgMzEsIDI0NCwgMTM5LCAyNDEsIDE5MiwgMzEsIDI0MiwgMTMyLCAKLSAgICAyMjQsIDI0MCwgMjQxLCAxOTIsIDMxLCAyMzAsIDE1NSwgMjQxLCAxOTIsIDMxLCAyNDUsIDEyNiwgMjQxLCAxOTIsIDMxLCAKLSAgICAyNDQsIDM5LCAyNDEsIDE5MiwgMzEsIDIxMSwgMjA3LCAyMjYsIDE5NywgMjE2LCAxOTYsIDI0OCwgODYsIDI0MSwgMTkyLCAKLSAgICAzMSwgMjU0LCA1MSwgMjQxLCAxOTIsIDMxLCAyNDksIDE4NSwgMjQxLCAxOTIsIDMxLCAyNTEsIDIyNywgMjE2LCAxMzgsIAotICAgIDI0MSwgMTkyLCAzMSwgMjQyLCAxNDksIDI0MSwgMTkyLCAzMSwgMjE4LCAyNDUsIDI1NCwgNzAsIDI0MSwgMTkyLCAzMSwgCi0gICAgMjIzLCA1MywgMjQxLCAxOTIsIDMxLCAyMzUsIDIyMCwgMjQxLCAxOTIsIDMxLCAyNDIsIDEzMiwgMjE3LCA2MSwgMjQxLCAKLSAgICAxOTIsIDMxLCAyMzAsIDExMSwgMjQ5LCAxNTksIDI0MSwgMTkyLCAzMSwgMjQyLCAxMzIsIDIyNCwgMTk3LCAyNDEsIDE5MiwgCi0gICAgMzEsIDIxNiwgMTk2LCAyNTUsIDE4LCAyMTIsIDQwLCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAyNTAsIDgsIDI0NCwgOTYsIAotICAgIDI0MSwgMTkyLCAzMSwgMjM1LCAyMzMsIDI0MSwgMTkyLCAzMSwgMjQ2LCA1NywgMjQxLCAxOTIsIDMxLCAyMjMsIDU2LCAKLSAgICAyNDEsIDE5MiwgMzEsIDI0MiwgMTMyLCAyMjQsIDIyNCwgMjQxLCAxOTIsIDMxLCAyMjQsIDE3NywgMjQxLCAxOTIsIDMxLCAKLSAgICAyNDgsIDE2MSwgNjQsIDIxNiwgMTk2LCAyMzIsIDIzMCwgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgMjQ0LCAxNzQsIDI0MSwgCi0gICAgMTkyLCAzMSwgMjI2LCAxNjMsIDI0MSwgMTkyLCAzMSwgMjI2LCAyNDQsIDI0MSwgMTkyLCAzMSwgMjQ4LCA1OSwgMjQxLCAKLSAgICAxOTIsIDMxLCAyNDgsIDc5LCAyNDEsIDE5MiwgMzEsIDIzNSwgMjQ3LCAyNDEsIDE5MiwgMzEsIDI1MSwgMTQ5LCAyNDEsIAotICAgIDE5MiwgMzEsIDI0OSwgMjIxLCAyMTYsIDQyLCAyMzEsIDc2LCAyNDEsIDE5MiwgMzEsIDI0MywgODcsIDIxNiwgMzgsIDI0MSwgCi0gICAgMTkyLCAzMSwgMjI0LCAxMjUsIDIxNCwgMTU0LCAyNDEsIDE5MiwgMzEsIDIyNiwgMTYyLCAyNDEsIDE5MiwgMzEsIDIxNiwgCi0gICAgMTk2LCAyMTIsIDEzLCAyNDEsIDE5MiwgMzEsIDIyMywgNDUsIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDI1MCwgMjIwLCAKLSAgICAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAyNTMsIDI1NSwgMjE2LCAxMzMsIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDIzNCwgCi0gICAgMTc5LCAyMTgsIDEzNCwgMjMwLCAxMTUsIDI0MSwgMTkyLCAzMSwgMjQ4LCAzMiwgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgCi0gICAgMjMxLCAxNTIsIDIzMSwgMjAyLCAyNDEsIDE5MiwgMzEsIDI1NSwgMTksIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDIxMiwgCi0gICAgNTQsIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDI0MywgNDcsIDIxMSwgMjM5LCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAKLSAgICAyMzUsIDUyLCAyMzMsIDEwNywgMjQxLCAxOTIsIDMxLCAyNDcsIDE4NCwgMjQxLCAxOTIsIDMxLCAyMzIsIDIyMCwgMjQxLCAKLSAgICAxOTIsIDMxLCAyMzUsIDIyMywgMjE1LCAxODcsIDI0MSwgMTkyLCAzMSwgNCwgMjI0LCAxOTcsIDI0MSwgMTkyLCAzMSwgCi0gICAgMjU0LCAyMTcsIDI0OSwgMjEyLCAyNDEsIDE5MiwgMzEsIDI1MiwgNTksIDI0OSwgMjEyLCA4LCAzLCAyMzUsIDE2MCwgOCwgCi0gICAgMywgMjM1LCAxNTMsIDgsIDMsIDczLCA4LCAzLCAyMzUsIDE4MiwgOCwgMywgMjM2LCA1OCwgOCwgMywgMjM2LCA0MSwgOCwgCi0gICAgMywgMjM2LCA2MCwgOCwgMywgMjM2LCA1OSwgOCwgMywgMjUzLCAyMDYsIDgsIDMsIDI1MywgMTY5LCA4LCAzLCA2MSwgOCwgCi0gICAgMywgMjU0LCA3MiwgOCwgMywgMjE0LCAxNjQsIDgsIDMsIDIxNCwgMTY3LCA4LCAzLCAyMTQsIDE2NSwgOCwgMywgMjI2LCAKLSAgICAxNDAsIDgsIDMsIDIyNiwgMTE0LCA4LCAzLCA3NiwgOCwgMywgMjI2LCAxNzUsIDgsIDMsIDI0NSwgMzUsIDgsIDMsIDc1LCAKLSAgICA4LCAzLCAyMTEsIDE5NSwgOCwgMywgMjUxLCAyMjgsIDgsIDMsIDI1MSwgMjI1LCA4LCAzLCAyNTIsIDYsIDgsIDMsIDI1MSwgCi0gICAgMjM4LCA4LCAzLCAyNTEsIDI1MSwgOCwgMywgMjUxLCAyNTAsIDgsIDMsIDI1MSwgMjUzLCA4LCAzLCAyNTEsIDI1MiwgOCwgCi0gICAgMywgMjUyLCAxMjEsIDgsIDMsIDI1MiwgMTEzLCA4LCAzLCAyNTIsIDE5MSwgOCwgMywgMjUyLCAxNDIsIDgsIDMsIDI1MSwgCi0gICAgMTAxLCA4LCAzLCAyNTEsIDEwNSwgOCwgMywgMjUxLCAxMDIsIDgsIDMsIDI1MSwgMTc5LCA4LCAzLCAyNTEsIDE2MywgOCwgCi0gICAgMywgMjUxLCAyMDUsIDgsIDMsIDI1MSwgMTg1LCA4LCAzLCAyNTIsIDIxLCA4LCAzLCAyNTIsIDc1LCA4LCAzLCAyNTIsIDMzLCAKLSAgICA4LCAzLCAyNTEsIDg3LCA4LCAzLCAyNTEsIDg0LCA4LCAzLCAyNTEsIDEyNSwgOCwgMywgMjUxLCAxMDAsIDgsIDMsIDI1MSwgCi0gICAgOTQsIDgsIDMsIDI1MSwgOTgsIDgsIDMsIDI1MSwgNzIsIDgsIDMsIDI1MSwgNzAsIDgsIDMsIDI1MSwgNzcsIDgsIDMsIAotICAgIDI1MSwgNzUsIDgsIDMsIDI1MSwgNzMsIDgsIDMsIDI1MSwgNzQsIDgsIDMsIDIyNSwgNDksIDgsIDMsIDIyNSwgNDUsIDgsIAotICAgIDMsIDIyNSwgMTA4LCA4LCAzLCAyMjUsIDU5LCA4LCAzLCAyMjUsIDc1LCA4LCAzLCAyMjUsIDEwMiwgOCwgMywgMjI1LCA5OCwgCi0gICAgOCwgMywgMjI1LCAyNDAsIDgsIDMsIDIyNSwgMjMwLCA4LCAzLCAxOTAsIDgsIDMsIDIyNiwgMjEsIDgsIDMsIDIyNCwgMTM1LCAKLSAgICA4LCAzLCAyMjQsIDEzNywgOCwgMywgMjI0LCAxMzYsIDgsIDMsIDIyNCwgMjMzLCA4LCAzLCAyMjQsIDIyMiwgOCwgMywgCi0gICAgMjI1LCAxNiwgOCwgMywgMjI0LCAyNDUsIDgsIDMsIDIyNCwgMTIxLCA4LCAzLCAyMjQsIDExNywgOCwgMywgMjI0LCAxNTAsIAotICAgIDgsIDMsIDIyNCwgMTM0LCA4LCAzLCAyMjQsIDEyNiwgOCwgMywgMjI0LCAxMzIsIDgsIDMsIDIyNCwgMTAwLCA4LCAzLCAKLSAgICAyMjQsIDk5LCA4LCAzLCAyMjQsIDEwNCwgOCwgMywgMjI0LCAxMDMsIDgsIDMsIDIyNCwgMTAxLCA4LCAzLCAyMjQsIDEwMiwgCi0gICAgOCwgMywgMjUyLCA5NiwgOCwgMywgMjUyLCA5NSwgOCwgMywgMjUyLCAxMDIsIDgsIDMsIDI1MiwgOTcsIDgsIDMsIDI1MiwgCi0gICAgOTksIDgsIDMsIDI1MiwgOTgsIDgsIDMsIDI1MiwgMTAxLCA4LCAzLCAyNTIsIDEwMCwgOCwgMywgMjUyLCAxMDgsIDgsIDMsIAotICAgIDI1MiwgMTA3LCA4LCAzLCAyNTIsIDExMSwgOCwgMywgMjUyLCAxMDksIDgsIDMsIDI1MiwgODcsIDgsIDMsIDI1MiwgODksIAotICAgIDgsIDMsIDI1MiwgODgsIDgsIDMsIDI1MiwgOTIsIDgsIDMsIDI1MiwgOTEsIDgsIDMsIDI1MiwgOTQsIDgsIDMsIDI1MiwgCi0gICAgOTMsIDgsIDMsIDI1MiwgMTAzLCA4LCAzLCAyNTIsIDEwNiwgOCwgMywgMjUyLCAxMDQsIDgsIDMsIDI1MiwgODMsIDgsIDMsIAotICAgIDI1MiwgODIsIDgsIDMsIDI1MiwgOTAsIDgsIDMsIDI1MiwgODYsIDgsIDMsIDI1MiwgODQsIDgsIDMsIDI1MiwgODUsIDgsIAotICAgIDMsIDI1MiwgNzksIDgsIDMsIDI1MiwgNzgsIDgsIDMsIDI1MiwgODEsIDgsIDMsIDI1MiwgODAsIDgsIDMsIDIyOSwgMTY5LCAKLSAgICA4LCAzLCAyMjksIDE2OCwgOCwgMywgMjI5LCAxNzQsIDgsIDMsIDIyOSwgMTcwLCA4LCAzLCAyMjksIDE3MSwgOCwgMywgCi0gICAgMjI5LCAxNzMsIDgsIDMsIDIyOSwgMTcyLCA4LCAzLCAyMjksIDE3NywgOCwgMywgMjI5LCAxNzYsIDgsIDMsIDIyOSwgMTc5LCAKLSAgICA4LCAzLCAyMjksIDE3OCwgOCwgMywgMjI5LCAxNjUsIDgsIDMsIDIyOSwgMTY0LCA4LCAzLCAyMjksIDE2NywgOCwgMywgCi0gICAgMjI5LCAxNjYsIDgsIDMsIDIyOSwgMTU4LCA4LCAzLCAyMjksIDE1NywgOCwgMywgMjI5LCAxNjIsIDgsIDMsIDIyOSwgMTYxLCAKLSAgICA4LCAzLCAyMjksIDE1OSwgOCwgMywgMjI5LCAxNjAsIDgsIDMsIDIyOSwgMTUyLCA4LCAzLCAyMjksIDE1MSwgOCwgMywgCi0gICAgMjI5LCAxNTYsIDgsIDMsIDIyOSwgMTU1LCA4LCAzLCAyMjksIDE1MywgOCwgMywgMjI5LCAxNTQsIDgsIDMsIDI0MSwgMTEwLCAKLSAgICA4LCAzLCAyNDEsIDEwOSwgOCwgMywgMjQxLCAxMTUsIDgsIDMsIDI0MSwgMTExLCA4LCAzLCAyNDEsIDExMiwgOCwgMywgCi0gICAgMjQxLCAxMTQsIDgsIDMsIDI0MSwgMTEzLCA4LCAzLCAyNDEsIDExOCwgOCwgMywgMjQxLCAxMTcsIDgsIDMsIDI0MSwgMTIwLCAKLSAgICA4LCAzLCAyNDEsIDExOSwgOCwgMywgMjQxLCAxMDEsIDgsIDMsIDI0MSwgMTAzLCA4LCAzLCAyNDEsIDEwMiwgOCwgMywgCi0gICAgMjQxLCAxMDYsIDgsIDMsIDI0MSwgMTA1LCA4LCAzLCAyNDEsIDEwOCwgOCwgMywgMjQxLCAxMDcsIDgsIDMsIDI0MSwgOTcsIAotICAgIDgsIDMsIDI0MSwgOTYsIDgsIDMsIDI0MSwgMTA0LCA4LCAzLCAyNDEsIDEwMCwgOCwgMywgMjQxLCA5OCwgOCwgMywgMjQxLCAKLSAgICA5OSwgOCwgMywgMjQxLCA5MSwgOCwgMywgMjQxLCA5NSwgOCwgMywgMjQxLCA5NCwgOCwgMywgMjQxLCA5MiwgOCwgMywgCi0gICAgMjQxLCA5MywgOCwgMywgMjMwLCAxNzIsIDgsIDMsIDIzMCwgMTcxLCA4LCAzLCAyMzAsIDIzMCwgOCwgMywgMjMwLCAxNzgsIAotICAgIDgsIDMsIDIzMCwgMjAzLCA4LCAzLCAyMzAsIDIyMSwgOCwgMywgMjMwLCAyMTksIDgsIDMsIDIzMSwgMTM5LCA4LCAzLCAKLSAgICAyMzEsIDEzNCwgOCwgMywgMTg0LCA4LCAzLCAyMzEsIDE3MiwgOCwgMywgMjMwLCA3NCwgOCwgMywgMjMwLCA3MywgOCwgMywgCi0gICAgMjMwLCA3NywgOCwgMywgMjMwLCA3NSwgOCwgMywgMjMwLCAxMjEsIDgsIDMsIDIzMCwgMTA3LCA4LCAzLCAyMzAsIDE2MSwgCi0gICAgOCwgMywgMjMwLCAxMjYsIDgsIDMsIDIzMSwgMjYsIDgsIDMsIDIzMSwgOTEsIDgsIDMsIDIzMCwgNTUsIDgsIDMsIDIzMCwgCi0gICAgNTEsIDgsIDMsIDIzMCwgMTAyLCA4LCAzLCAyMzAsIDcwLCA4LCAzLCAyMzAsIDYzLCA4LCAzLCAyMzAsIDY4LCA4LCAzLCAKLSAgICAyMzAsIDI4LCA4LCAzLCAyMzAsIDI3LCA4LCAzLCAyMzAsIDMzLCA4LCAzLCAyMzAsIDMwLCA4LCAzLCAyNDQsIDgzLCA4LCAKLSAgICAzLCAyNDQsIDc4LCA4LCAzLCAyNDQsIDEyMSwgOCwgMywgMjQ0LCA5OCwgOCwgMywgMjQ0LCAxNjcsIDgsIDMsIDI0NCwgCi0gICAgMTU4LCA4LCAzLCAyNDQsIDE5NiwgOCwgMywgMjQ0LCAxNzAsIDgsIDMsIDI0NCwgMywgOCwgMywgMjQ0LCA0MywgOCwgMywgCi0gICAgMjQ0LCAyNywgOCwgMywgMjQzLCAyMTgsIDgsIDMsIDI0MywgMjE3LCA4LCAzLCAyNDMsIDIzNCwgOCwgMywgMjQzLCAyMjMsIAotICAgIDgsIDMsIDI0MywgMjIxLCA4LCAzLCAyNDMsIDIyMiwgOCwgMywgMjQzLCAyMDUsIDgsIDMsIDI0MywgMjA0LCA4LCAzLCAKLSAgICAyNDMsIDIwOCwgOCwgMywgMjQzLCAyMDYsIDgsIDMsIDIxMywgMTQ0LCA4LCAzLCAyMTMsIDEzOSwgOCwgMywgMjEzLCAxNzYsIAotICAgIDgsIDMsIDIxMywgMTUzLCA4LCAzLCAyMTMsIDE2NiwgOCwgMywgMjEzLCAxNjMsIDgsIDMsIDIxMywgMTY4LCA4LCAzLCAKLSAgICAyMTMsIDE2NywgOCwgMywgMjE0LCA3LCA4LCAzLCAyMTQsIDIsIDgsIDMsIDIxNCwgMjcsIDgsIDMsIDIxNCwgMTgsIDgsIDMsIAotICAgIDIxMywgMTI1LCA4LCAzLCAyMTMsIDEyMSwgOCwgMywgMjEzLCAxMzgsIDgsIDMsIDIxMywgMTI2LCA4LCAzLCAyMTMsIDE3OCwgCi0gICAgOCwgMywgMjEzLCAyNDQsIDgsIDMsIDIxMiwgMTEwLCA4LCAzLCAyMTIsIDEwOCwgOCwgMywgMjEyLCAxMTYsIDgsIDMsIAotICAgIDIxMiwgMTEzLCA4LCAzLCAyMTIsIDExMSwgOCwgMywgMjEyLCAxMTIsIDgsIDMsIDIxMiwgMTAyLCA4LCAzLCAyMTIsIDEwMSwgCi0gICAgOCwgMywgMjEyLCAxMDYsIDgsIDMsIDIxMiwgMTA1LCA4LCAzLCAyMTIsIDEwMywgOCwgMywgMjEyLCAxMDQsIDgsIDMsIAotICAgIDI0NywgMTc4LCA4LCAzLCAyNDcsIDE2NiwgOCwgMywgMjQ4LCAzLCA4LCAzLCAyNDcsIDIwMywgOCwgMywgMjQ3LCAyMzYsIAotICAgIDgsIDMsIDI0NywgMjQwLCA4LCAzLCAyNDcsIDIzOSwgOCwgMywgMjQ4LCAxNTIsIDgsIDMsIDI0OCwgMTQ3LCA4LCAzLCAKLSAgICAyNDgsIDIyMSwgOCwgMywgMjQ4LCAxNzIsIDgsIDMsIDI0NiwgNjIsIDgsIDMsIDI0NiwgNjMsIDgsIDMsIDI0NywgMTIwLCAKLSAgICA4LCAzLCAyNDYsIDEwMiwgOCwgMywgMjQ3LCAxNDUsIDgsIDMsIDI0NywgMTIyLCA4LCAzLCAyNDgsIDMwLCA4LCAzLCAyNDgsIAotICAgIDkwLCA4LCAzLCAyNDgsIDQ1LCA4LCAzLCAyNDYsIDUzLCA4LCAzLCAyNDYsIDUxLCA4LCAzLCAyNDYsIDc4LCA4LCAzLCAKLSAgICAyNDYsIDYxLCA4LCAzLCAyNDYsIDU2LCA4LCAzLCAyNDYsIDU5LCA4LCAzLCAyMTYsIDY3LCA4LCAzLCAyMTYsIDYxLCA4LCAKLSAgICAzLCAyMTYsIDExNywgOCwgMywgMjE2LCA3NiwgOCwgMywgMjE2LCAxMDksIDgsIDMsIDIxNiwgMTExLCA4LCAzLCAyMTYsIAotICAgIDExMCwgOCwgMywgMjE3LCA0NiwgOCwgMywgMjE3LCAzMywgOCwgMywgMjE3LCAxMDUsIDgsIDMsIDIxNywgNTQsIDgsIDMsIAotICAgIDIxNSwgMTAyLCA4LCAzLCAyMTUsIDEwMSwgOCwgMywgMjE1LCAxMDQsIDgsIDMsIDIxNSwgMTAzLCA4LCAzLCAyMTYsIDUsIAotICAgIDgsIDMsIDIxNiwgMSwgOCwgMywgMTExLCA4LCAzLCAyMTYsIDEzLCA4LCAzLCAyMTYsIDIxMywgOCwgMywgMjE3LCAyMiwgOCwgCi0gICAgMywgMjE2LCAyMzcsIDgsIDMsIDIxNSwgODgsIDgsIDMsIDIxNSwgODMsIDgsIDMsIDIxNSwgMTE4LCA4LCAzLCAyMTUsIAotICAgIDEwMCwgOCwgMywgMjE1LCA4OSwgOCwgMywgMjE1LCA5OCwgOCwgMywgMjQ4LCAxMDcsIDgsIDMsIDI0OCwgMTA2LCA4LCAzLCAKLSAgICAyNDgsIDExMiwgOCwgMywgMjQ4LCAxMDgsIDgsIDMsIDI0OCwgMTA5LCA4LCAzLCAyNDgsIDExMSwgOCwgMywgMjQ4LCAxMTAsIAotICAgIDgsIDMsIDI0OCwgMTI4LCA4LCAzLCAyNDgsIDEyNywgOCwgMywgMjQ4LCAxMzUsIDgsIDMsIDI0OCwgMTI5LCA4LCAzLCAKLSAgICAyNDgsIDk3LCA4LCAzLCAyNDgsIDk5LCA4LCAzLCAyNDgsIDk4LCA4LCAzLCAyNDgsIDEwMiwgOCwgMywgMjQ4LCAxMDEsIDgsIAotICAgIDMsIDI0OCwgMTA1LCA4LCAzLCAyNDgsIDEwMywgOCwgMywgMjQ4LCAxMjAsIDgsIDMsIDI0OCwgMTIzLCA4LCAzLCAyNDgsIAotICAgIDEyMSwgOCwgMywgMjQ4LCA5MywgOCwgMywgMjQ4LCA5MiwgOCwgMywgMjQ4LCAxMDAsIDgsIDMsIDI0OCwgOTYsIDgsIDMsIAotICAgIDI0OCwgOTQsIDgsIDMsIDI0OCwgOTUsIDgsIDMsIDIyOSwgMTI2LCA4LCAzLCAyMjksIDEyNSwgOCwgMywgMjI5LCAxMzMsIAotICAgIDgsIDMsIDIyOSwgMTI4LCA4LCAzLCAyMjksIDEyOSwgOCwgMywgMjI5LCAxMzAsIDgsIDMsIDIyOSwgMTQyLCA4LCAzLCAKLSAgICAyMjksIDE0MSwgOCwgMywgMjI5LCAxNDgsIDgsIDMsIDIyOSwgMTQzLCA4LCAzLCAyMjksIDExOCwgOCwgMywgMjI5LCAxMTcsIAotICAgIDgsIDMsIDIyOSwgMTI0LCA4LCAzLCAyMjksIDExOSwgOCwgMywgMjI5LCAxMzQsIDgsIDMsIDIyOSwgMTQwLCA4LCAzLCAKLSAgICAyMjksIDEzOCwgOCwgMywgMjI5LCAxMTAsIDgsIDMsIDIyOSwgMTA5LCA4LCAzLCAyMjksIDExNSwgOCwgMywgMjI5LCAxMTMsIAotICAgIDgsIDMsIDIyOSwgMTExLCA4LCAzLCAyMjksIDExMiwgOCwgMywgMjQxLCA3NywgOCwgMywgMjQxLCA3NiwgOCwgMywgMjQxLCAKLSAgICA4MywgOCwgMywgMjQxLCA3OCwgOCwgMywgMjQxLCA4MCwgOCwgMywgMjQxLCA3OSwgOCwgMywgMjQxLCA4MiwgOCwgMywgCi0gICAgMjQxLCA4MSwgOCwgMywgMjQxLCA4OCwgOCwgMywgMjQxLCA4NywgOCwgMywgMjQxLCA5MCwgOCwgMywgMjQxLCA4OSwgOCwgCi0gICAgMywgMjQxLCA3MSwgOCwgMywgMjQxLCA3MiwgOCwgMywgMjQxLCA3NCwgOCwgMywgMjQxLCA3MywgOCwgMywgMjQxLCA3NSwgCi0gICAgOCwgMywgMjQxLCA4NCwgOCwgMywgMjQxLCA4NiwgOCwgMywgMjQxLCA4NSwgOCwgMywgMjQxLCA3MCwgOCwgMywgMjI4LCAKLSAgICAxODksIDgsIDMsIDIyOCwgMTg3LCA4LCAzLCAyMjgsIDIzMywgOCwgMywgMjI4LCAxOTIsIDgsIDMsIDIyOCwgMjE1LCA4LCAKLSAgICAzLCAyMjgsIDIyOSwgOCwgMywgMjI4LCAyMjgsIDgsIDMsIDIyOSwgMTgzLCA4LCAzLCAxOTcsIDgsIDMsIDIyOSwgMTk3LCAKLSAgICA4LCAzLCAyMjcsIDE4NiwgOCwgMywgMjI3LCAxODgsIDgsIDMsIDIyNywgMTg3LCA4LCAzLCAyMjgsIDUxLCA4LCAzLCAyMjgsIAotICAgIDM4LCA4LCAzLCAyMjgsIDc0LCA4LCAzLCAyMjgsIDYwLCA4LCAzLCAyMjksIDgzLCA4LCAzLCAyMjksIDEwNywgOCwgMywgCi0gICAgMjI5LCA5NCwgOCwgMywgMjI3LCAxODEsIDgsIDMsIDIyNywgMTc3LCA4LCAzLCAyMjcsIDIzNywgOCwgMywgMjI3LCAxODUsIAotICAgIDgsIDMsIDIyNywgMTgzLCA4LCAzLCAyMjcsIDE4NCwgOCwgMywgMjQxLCAxNDEsIDgsIDMsIDI0MSwgMTQwLCA4LCAzLCAKLSAgICAyNDEsIDE0NiwgOCwgMywgMjQxLCAxNDIsIDgsIDMsIDI0MSwgMTQzLCA4LCAzLCAyNDEsIDE0NSwgOCwgMywgMjQxLCAxNDQsIAotICAgIDgsIDMsIDI0MSwgMTUxLCA4LCAzLCAyNDEsIDE1MCwgOCwgMywgMjQxLCAxNTMsIDgsIDMsIDI0MSwgMTUyLCA4LCAzLCAKLSAgICAyNDEsIDEzMywgOCwgMywgMjQxLCAxMzUsIDgsIDMsIDI0MSwgMTM0LCA4LCAzLCAyNDEsIDEzNywgOCwgMywgMjQxLCAxMzksIAotICAgIDgsIDMsIDI0MSwgMTM4LCA4LCAzLCAyNDEsIDE0NywgOCwgMywgMjQxLCAxNDksIDgsIDMsIDI0MSwgMTQ4LCA4LCAzLCAKLSAgICAyNDEsIDEyOSwgOCwgMywgMjQxLCAxMjgsIDgsIDMsIDI0MSwgMTM2LCA4LCAzLCAyNDEsIDEzMiwgOCwgMywgMjQxLCAxMzAsIAotICAgIDgsIDMsIDI0MSwgMTMxLCA4LCAzLCAyNDEsIDEyMywgOCwgMywgMjQxLCAxMjIsIDgsIDMsIDI0MSwgMTI3LCA4LCAzLCAKLSAgICAyNDEsIDEyNiwgOCwgMywgMjQxLCAxMjQsIDgsIDMsIDI0MSwgMTI1LCA4LCAzLCAyMzIsIDE5NSwgOCwgMywgMjMyLCAxODksIAotICAgIDgsIDMsIDIzMiwgMjQxLCA4LCAzLCAyMzIsIDIwMiwgOCwgMywgMjMyLCAyMzMsIDgsIDMsIDIzMiwgMjMyLCA4LCAzLCAKLSAgICAyMzIsIDIzNiwgOCwgMywgMjMyLCAyMzQsIDgsIDMsIDIzMywgNzksIDgsIDMsIDIzMywgNjksIDgsIDMsIDIzMywgMTM1LCAKLSAgICA4LCAzLCAyMzMsIDg4LCA4LCAzLCAyMzIsIDc5LCA4LCAzLCAyMzIsIDc4LCA4LCAzLCAyMzIsIDgxLCA4LCAzLCAyMzIsIAotICAgIDgwLCA4LCAzLCAyMzIsIDExNiwgOCwgMywgMjMyLCAxMDYsIDgsIDMsIDIzMiwgMTU2LCA4LCAzLCAyMzIsIDEyMCwgOCwgMywgCi0gICAgMjMzLCAyLCA4LCAzLCAyMzMsIDU4LCA4LCAzLCAyMzMsIDE3LCA4LCAzLCAyMzIsIDc0LCA4LCAzLCAyMzIsIDcyLCA4LCAzLCAKLSAgICAyMzIsIDk4LCA4LCAzLCAyMzIsIDc3LCA4LCAzLCAyMzIsIDc1LCA4LCAzLCAyMzIsIDc2LCA4LCAzLCAyMzIsIDU0LCA4LCAKLSAgICAzLCAyMzIsIDUzLCA4LCAzLCAyMzIsIDYyLCA4LCAzLCAyMzIsIDU3LCA4LCAzLCAyMzIsIDU1LCA4LCAzLCAyMzIsIDU2LCAKLSAgICA4LCAzLCAyNDIsIDE4OSwgOCwgMywgMjQyLCAxODgsIDgsIDMsIDI0MiwgMjE0LCA4LCAzLCAyNDIsIDE5OSwgOCwgMywgCi0gICAgMjQyLCAyMDYsIDgsIDMsIDI0MiwgMjA1LCA4LCAzLCAyNDIsIDIwOCwgOCwgMywgMjQyLCAyMDcsIDgsIDMsIDI0MywgODksIAotICAgIDgsIDMsIDI0MywgODQsIDgsIDMsIDI0MywgMTM1LCA4LCAzLCAyNDMsIDk5LCA4LCAzLCAyNDIsIDkxLCA4LCAzLCAyNDIsIAotICAgIDkwLCA4LCAzLCAyNDIsIDkzLCA4LCAzLCAyNDIsIDkyLCA4LCAzLCAyNDIsIDE1NCwgOCwgMywgMjQyLCAxNTIsIDgsIDMsIAotICAgIDI0MiwgMTc0LCA4LCAzLCAyNDIsIDE2MiwgOCwgMywgMjQzLCAzMywgOCwgMywgMjQzLCAzMSwgOCwgMywgMjQzLCA2MiwgOCwgCi0gICAgMywgMjQzLCA0NCwgOCwgMywgMjQyLCA4MSwgOCwgMywgMjQyLCA4MCwgOCwgMywgMjQyLCAxMTMsIDgsIDMsIDI0MiwgODksIAotICAgIDgsIDMsIDI0MiwgODIsIDgsIDMsIDI0MiwgODgsIDgsIDMsIDIzNCwgNjEsIDgsIDMsIDIzNCwgNjAsIDgsIDMsIDIzNCwgCi0gICAgOTIsIDgsIDMsIDIzNCwgNzUsIDgsIDMsIDIzNCwgODUsIDgsIDMsIDIzNCwgODgsIDgsIDMsIDIzNCwgODYsIDgsIDMsIAotICAgIDIzNCwgMjAyLCA4LCAzLCAyMzQsIDE5MCwgOCwgMywgMTc2LCA4LCAzLCAyMzQsIDIyOCwgOCwgMywgMjMzLCAyMDAsIDgsIAotICAgIDMsIDIzMywgMjA1LCA4LCAzLCAyMzMsIDIwMiwgOCwgMywgMjM0LCAwLCA4LCAzLCAyMzMsIDI1MiwgOCwgMywgMjM0LCAyOCwgCi0gICAgOCwgMywgMjM0LCA3LCA4LCAzLCAyMzQsIDE1NiwgOCwgMywgMjM0LCAxNDAsIDgsIDMsIDIzNCwgMTgyLCA4LCAzLCAyMzQsIAotICAgIDE1OSwgOCwgMywgMjMzLCAxODksIDgsIDMsIDIzMywgMTg2LCA4LCAzLCAyMzMsIDIxNywgOCwgMywgMjMzLCAxOTksIDgsIAotICAgIDMsIDIzMywgMTkyLCA4LCAzLCAyMzMsIDE5NiwgOCwgMywgMjQzLCAxNSwgOCwgMywgMjQzLCAxNCwgOCwgMywgMjQzLCAxOSwgCi0gICAgOCwgMywgMjQzLCAxNiwgOCwgMywgMjQzLCAxOCwgOCwgMywgMjQzLCAxNywgOCwgMywgMjQzLCAyNiwgOCwgMywgMjQzLCAKLSAgICAyNSwgOCwgMywgMjQzLCAyOSwgOCwgMywgMjQzLCAyNywgOCwgMywgMjQzLCA2LCA4LCAzLCAyNDMsIDUsIDgsIDMsIDI0MywgCi0gICAgOCwgOCwgMywgMjQzLCA3LCA4LCAzLCAyNDMsIDExLCA4LCAzLCAyNDMsIDEwLCA4LCAzLCAyNDMsIDEzLCA4LCAzLCAyNDMsIAotICAgIDEyLCA4LCAzLCAyNDMsIDIxLCA4LCAzLCAyNDMsIDIwLCA4LCAzLCAyNDMsIDI0LCA4LCAzLCAyNDMsIDIyLCA4LCAzLCAKLSAgICAyNDMsIDEsIDgsIDMsIDI0MywgMCwgOCwgMywgMjQzLCA5LCA4LCAzLCAyNDMsIDQsIDgsIDMsIDI0MywgMiwgOCwgMywgCi0gICAgMjQzLCAzLCA4LCAzLCAyMzAsIDI0OSwgOCwgMywgMjMwLCAyNTAsIDgsIDMsIDIzMSwgMTIsIDgsIDMsIDIzMSwgMTEsIDgsIAotICAgIDMsIDIzMSwgMTQsIDgsIDMsIDIzMSwgMTMsIDgsIDMsIDIzMCwgMjQwLCA4LCAzLCAyMzAsIDI0MiwgOCwgMywgMjMwLCAKLSAgICAyNDEsIDgsIDMsIDIzMCwgMjQ1LCA4LCAzLCAyMzAsIDI0NCwgOCwgMywgMjMwLCAyNDcsIDgsIDMsIDIzMCwgMjQ2LCA4LCAKLSAgICAzLCAyMzAsIDI1MSwgOCwgMywgMjMwLCAyNTMsIDgsIDMsIDIzMCwgMjUyLCA4LCAzLCAyMzAsIDIzNiwgOCwgMywgMjMwLCAKLSAgICAyMzUsIDgsIDMsIDIzMCwgMjQzLCA4LCAzLCAyMzAsIDIzOSwgOCwgMywgMjMwLCAyMzcsIDgsIDMsIDIzMCwgMjM4LCA4LCAKLSAgICAzLCAyNDAsIDE4MCwgOCwgMywgMjQwLCAxNzksIDgsIDMsIDI0MCwgMTg2LCA4LCAzLCAyNDAsIDE4MSwgOCwgMywgMjQwLCAKLSAgICAxODMsIDgsIDMsIDI0MCwgMTgyLCA4LCAzLCAyNDAsIDE4NSwgOCwgMywgMjQwLCAxODQsIDgsIDMsIDI0MCwgMTkxLCA4LCAKLSAgICAzLCAyNDAsIDE5MCwgOCwgMywgMjQwLCAxOTMsIDgsIDMsIDI0MCwgMTkyLCA4LCAzLCAyNDAsIDE3MiwgOCwgMywgMjQwLCAKLSAgICAxNzEsIDgsIDMsIDI0MCwgMTc0LCA4LCAzLCAyNDAsIDE3MywgOCwgMywgMjQwLCAxNzYsIDgsIDMsIDI0MCwgMTc1LCA4LCAKLSAgICAzLCAyNDAsIDE3OCwgOCwgMywgMjQwLCAxNzcsIDgsIDMsIDI0MCwgMTg3LCA4LCAzLCAyNDAsIDE4OSwgOCwgMywgMjQwLCAKLSAgICAxODgsIDgsIDMsIDIyOSwgMjQsIDgsIDMsIDIyOSwgMjYsIDgsIDMsIDIyOSwgMjUsIDgsIDMsIDIyOSwgNjcsIDgsIDMsIAotICAgIDIyOSwgNjUsIDgsIDMsIDIyOSwgNzcsIDgsIDMsIDIyOSwgNzAsIDgsIDMsIDIyOCwgMjQzLCA4LCAzLCAyMjgsIDI0MiwgOCwgCi0gICAgMywgMjI4LCAyNDQsIDgsIDMsIDIyOCwgMjUyLCA4LCAzLCAyMjgsIDI0OSwgOCwgMywgMjI5LCA0LCA4LCAzLCAyMjgsIAotICAgIDI1NCwgOCwgMywgMjI5LCA1OCwgOCwgMywgMjI5LCA2NCwgOCwgMywgMjI5LCA2MCwgOCwgMywgMjQxLCAxNTYsIDgsIDMsIAotICAgIDI0MSwgMTY2LCA4LCAzLCAyNDEsIDE3NSwgOCwgMywgMjQxLCAyNTEsIDgsIDMsIDI0MSwgMjQzLCA4LCAzLCAxNjIsIDgsIAotICAgIDMsIDI0MiwgNiwgOCwgMywgMjQwLCAyMDYsIDgsIDMsIDI0MCwgMjA1LCA4LCAzLCAyNDAsIDIwOCwgOCwgMywgMjQwLCAKLSAgICAyMDcsIDgsIDMsIDI0MCwgMjQyLCA4LCAzLCAyNDAsIDIzMywgOCwgMywgMjQxLCA2OCwgOCwgMywgMjQxLCA0NywgOCwgMywgCi0gICAgMjQxLCAxOTQsIDgsIDMsIDI0MSwgMjM4LCA4LCAzLCAyNDEsIDIwNiwgOCwgMywgMjEyLCA0MywgOCwgMywgMjEyLCAyOCwgCi0gICAgOCwgMywgMjEyLCA2NSwgOCwgMywgMjEyLCA1MSwgOCwgMywgMjExLCAxODUsIDgsIDMsIDIxMSwgMTg3LCA4LCAzLCAyMTEsIAotICAgIDE4NiwgOCwgMywgMjExLCAyMDMsIDgsIDMsIDIxMSwgMjI3LCA4LCAzLCAyMTEsIDIxMCwgOCwgMywgMjEyLCA1LCA4LCAzLCAKLSAgICAyMTIsIDIyLCA4LCAzLCAyMTIsIDEwLCA4LCAzLCAyMTAsIDMwLCA4LCAzLCAyMTAsIDI5LCA4LCAzLCAyMTAsIDQ0LCA4LCAKLSAgICAzLCAyMTAsIDMyLCA4LCAzLCAyMTAsIDM3LCA4LCAzLCAyMTAsIDM5LCA4LCAzLCAyMTAsIDM4LCA4LCAzLCAyMTAsIDEwMiwgCi0gICAgOCwgMywgMjEwLCA5OSwgOCwgMywgMjEwLCAxMTYsIDgsIDMsIDIxMCwgMTA1LCA4LCAzLCAyMTAsIDYsIDgsIDMsIDIxMCwgCi0gICAgOCwgOCwgMywgMjEwLCA3LCA4LCAzLCAyMTAsIDE5LCA4LCAzLCAyMTAsIDE4LCA4LCAzLCAyMTAsIDIzLCA4LCAzLCAyMTAsIAotICAgIDIwLCA4LCAzLCAyMTAsIDg0LCA4LCAzLCAyMTAsIDk0LCA4LCAzLCAyMTAsIDg4LCA4LCAzLCAyMTAsIDIsIDgsIDMsIDIxMCwgCi0gICAgMSwgOCwgMywgMjEwLCAxMywgOCwgMywgMjEwLCA1LCA4LCAzLCAyMTAsIDMsIDgsIDMsIDIxMCwgNCwgOCwgMywgMjA5LCAKLSAgICAyNDUsIDgsIDMsIDIwOSwgMjQ0LCA4LCAzLCAyMDksIDI1MCwgOCwgMywgMjA5LCAyNDgsIDgsIDMsIDIwOSwgMjQ2LCA4LCAKLSAgICAzLCAyMDksIDI0NywgOCwgMywgMjUwLCAyOCwgOCwgMywgMjUwLCAyNCwgOCwgMywgMjUwLCA1MSwgOCwgMywgMjUwLCAzNywgCi0gICAgOCwgMywgMjUwLCA0OCwgOCwgMywgMjUwLCA0MiwgOCwgMywgMjUwLCA1MCwgOCwgMywgMjUwLCA0OSwgOCwgMywgMjUwLCAKLSAgICAyMjQsIDgsIDMsIDI1MCwgMjE3LCA4LCAzLCAyNTEsIDMzLCA4LCAzLCAyNTAsIDI1MSwgOCwgMywgMjQ5LCAxMDQsIDgsIDMsIAotICAgIDI0OSwgMTA2LCA4LCAzLCAyNDksIDEwNSwgOCwgMywgMjQ5LCAxNTMsIDgsIDMsIDI0OSwgMTQ0LCA4LCAzLCAyNDksIDIzOCwgCi0gICAgOCwgMywgMjQ5LCAxNjksIDgsIDMsIDI1MCwgMTYwLCA4LCAzLCAyNTAsIDE5MCwgOCwgMywgMjUwLCAxNjUsIDgsIDMsIAotICAgIDI0OSwgODQsIDgsIDMsIDI0OSwgODIsIDgsIDMsIDI0OSwgMTEyLCA4LCAzLCAyNDksIDEwMiwgOCwgMywgMjQ5LCA4OSwgOCwgCi0gICAgMywgMjQ5LCAxMDEsIDgsIDMsIDI0OSwgNjMsIDgsIDMsIDI0OSwgNjIsIDgsIDMsIDI0OSwgNzMsIDgsIDMsIDI0OSwgNjksIAotICAgIDgsIDMsIDI0OSwgNjQsIDgsIDMsIDI0OSwgNjYsIDgsIDMsIDIwOSwgMjI4LCA4LCAzLCAyMDksIDIyNywgOCwgMywgMjA5LCAKLSAgICAyMzQsIDgsIDMsIDIwOSwgMjI5LCA4LCAzLCAyMDksIDIzMSwgOCwgMywgMjA5LCAyMzAsIDgsIDMsIDIwOSwgMjMzLCA4LCAKLSAgICAzLCAyMDksIDIzMiwgOCwgMywgMjA5LCAyNDAsIDgsIDMsIDIwOSwgMjM5LCA4LCAzLCAyMDksIDI0MywgOCwgMywgMjA5LCAKLSAgICAyNDEsIDgsIDMsIDIwOSwgMjI0LCA4LCAzLCAyMDksIDIyNiwgOCwgMywgMjA5LCAyMjUsIDgsIDMsIDIwOSwgMjM1LCA4LCAKLSAgICAzLCAyMDksIDIzOCwgOCwgMywgMjA5LCAyMzYsIDgsIDMsIDIwOSwgMjE3LCA4LCAzLCAyMDksIDIyMSwgOCwgMywgMjA5LCAKLSAgICAyMjAsIDgsIDMsIDIwOSwgMjE4LCA4LCAzLCAyMDksIDIxOSwgOCwgMywgMjA5LCAyMTEsIDgsIDMsIDIwOSwgMjEwLCA4LCAKLSAgICAzLCAyMDksIDIxNiwgOCwgMywgMjA5LCAyMTQsIDgsIDMsIDIwOSwgMjEyLCA4LCAzLCAyMDksIDIxMywgOCwgMywgMjI3LCAKLSAgICAxMDQsIDgsIDMsIDIyNywgMTAzLCA4LCAzLCAyMjcsIDEwOSwgOCwgMywgMjI3LCAxMDUsIDgsIDMsIDIyNywgMTA2LCA4LCAKLSAgICAzLCAyMjcsIDEwOCwgOCwgMywgMjI3LCAxMDcsIDgsIDMsIDIyNywgMTE0LCA4LCAzLCAyMjcsIDExMywgOCwgMywgMjI3LCAKLSAgICAxMTcsIDgsIDMsIDIyNywgMTE2LCA4LCAzLCAyMjcsIDk3LCA4LCAzLCAyMjcsIDk4LCA4LCAzLCAyMjcsIDEwMSwgOCwgMywgCi0gICAgMjI3LCAxMDIsIDgsIDMsIDIyNywgMTEwLCA4LCAzLCAyMjcsIDExMiwgOCwgMywgMjI3LCA5MiwgOCwgMywgMjI3LCAxMDAsIAotICAgIDgsIDMsIDIyNywgOTYsIDgsIDMsIDIyNywgOTMsIDgsIDMsIDIyNywgOTQsIDgsIDMsIDIyNywgODcsIDgsIDMsIDIyNywgCi0gICAgODYsIDgsIDMsIDIyNywgOTEsIDgsIDMsIDIyNywgOTAsIDgsIDMsIDIyNywgODgsIDgsIDMsIDIyNywgODksIDgsIDMsIAotICAgIDIxOSwgMTI3LCA4LCAzLCAxOTQsIDgsIDMsIDIxOSwgMTkxLCA4LCAzLCAyMTksIDEzMCwgOCwgMywgMjE5LCAxODMsIDgsIAotICAgIDMsIDIxOSwgMTg2LCA4LCAzLCAyMTksIDE4NCwgOCwgMywgMjIxLCAyMjYsIDgsIDMsIDIyMSwgMjE0LCA4LCAzLCAyMDYsIAotICAgIDgsIDMsIDIyMSwgMjM0LCA4LCAzLCAyMTgsIDI4LCA4LCAzLCAyMTgsIDMwLCA4LCAzLCAyMTgsIDI5LCA4LCAzLCAyMTksIAotICAgIDM0LCA4LCAzLCAyMTksIDIzLCA4LCAzLCAyMTksIDU4LCA4LCAzLCAyMTksIDM4LCA4LCAzLCAyMjAsIDExNCwgOCwgMywgCi0gICAgMjIxLCAxODEsIDgsIDMsIDIyMCwgMTM5LCA4LCAzLCAyMTgsIDUsIDgsIDMsIDIxOCwgMywgOCwgMywgMjE4LCA4MywgOCwgCi0gICAgMywgMjE4LCAyNywgOCwgMywgMjE4LCA5LCA4LCAzLCAyMTgsIDE3LCA4LCAzLCAyMTcsIDE2NiwgOCwgMywgMjE3LCAxNjUsIAotICAgIDgsIDMsIDIxNywgMjMyLCA4LCAzLCAyMTcsIDE3MywgOCwgMywgMjE3LCAxNjgsIDgsIDMsIDIxNywgMTcyLCA4LCAzLCAKLSAgICAyMTgsIDE4NiwgOCwgMywgMjE4LCAxODUsIDgsIDMsIDIxOCwgMTkyLCA4LCAzLCAyMTgsIDE4NywgOCwgMywgMjE4LCAxODksIAotICAgIDgsIDMsIDIxOCwgMTkxLCA4LCAzLCAyMTgsIDE5MCwgOCwgMywgMjE4LCAyMDAsIDgsIDMsIDIxOCwgMTk4LCA4LCAzLCAKLSAgICAyMTgsIDIyMywgOCwgMywgMjE4LCAyMDEsIDgsIDMsIDIxOCwgMTgxLCA4LCAzLCAyMTgsIDE4MCwgOCwgMywgMjE4LCAxODQsIAotICAgIDgsIDMsIDIxOCwgMTgyLCA4LCAzLCAyMTgsIDE5NCwgOCwgMywgMjE4LCAxOTcsIDgsIDMsIDIxOCwgMTk1LCA4LCAzLCAKLSAgICAyMTgsIDE3NywgOCwgMywgMjE4LCAxNzUsIDgsIDMsIDIxOCwgMTc5LCA4LCAzLCAyMTgsIDE3OCwgOCwgMywgMjE4LCAxNzAsIAotICAgIDgsIDMsIDIxOCwgMTY5LCA4LCAzLCAyMTgsIDE3NCwgOCwgMywgMjE4LCAxNzMsIDgsIDMsIDIxOCwgMTcxLCA4LCAzLCAKLSAgICAyMTgsIDE3MiwgOCwgMywgMjEwLCA3NywgOCwgMywgMjEwLCA3NiwgOCwgMywgMjEwLCA4MiwgOCwgMywgMjEwLCA3OSwgOCwgCi0gICAgMywgMjEwLCA1OSwgOCwgMywgMjEwLCA2MSwgOCwgMywgMjEwLCA2MCwgOCwgMywgMjEwLCA2NCwgOCwgMywgMjEwLCA2MywgCi0gICAgOCwgMywgMjEwLCA2NywgOCwgMywgMjEwLCA2NSwgOCwgMywgMjEwLCA3MSwgOCwgMywgMjEwLCA3MCwgOCwgMywgMjEwLCAKLSAgICA3NCwgOCwgMywgMjEwLCA3MiwgOCwgMywgMjEwLCA1NSwgOCwgMywgMjEwLCA1NCwgOCwgMywgMjEwLCA2MiwgOCwgMywgCi0gICAgMjEwLCA1OCwgOCwgMywgMjEwLCA1NiwgOCwgMywgMjEwLCA1NywgOCwgMywgMjEwLCA0NywgOCwgMywgMjEwLCA0NiwgOCwgCi0gICAgMywgMjEwLCA1MSwgOCwgMywgMjEwLCA1MCwgOCwgMywgMjEwLCA0OCwgOCwgMywgMjEwLCA0OSwgOCwgMywgMjUwLCAxMzYsIAotICAgIDgsIDMsIDI1MCwgMTMzLCA4LCAzLCAyNTAsIDE1NywgOCwgMywgMjUwLCAxNDQsIDgsIDMsIDI1MCwgNjUsIDgsIDMsIDI1MCwgCi0gICAgNjQsIDgsIDMsIDI1MCwgNjcsIDgsIDMsIDI1MCwgNjYsIDgsIDMsIDI1MCwgNzksIDgsIDMsIDI1MCwgNzgsIDgsIDMsIAotICAgIDI1MCwgODYsIDgsIDMsIDI1MCwgODEsIDgsIDMsIDI1MCwgMTE1LCA4LCAzLCAyNTAsIDExMywgOCwgMywgMjUwLCAxMzEsIAotICAgIDgsIDMsIDI1MCwgMTIxLCA4LCAzLCAyNTAsIDU5LCA4LCAzLCAyNTAsIDY5LCA4LCAzLCAyNTAsIDYzLCA4LCAzLCAyNTAsIAotICAgIDYwLCA4LCAzLCAyNTAsIDYyLCA4LCAzLCAyNTAsIDUzLCA4LCAzLCAyNTAsIDUyLCA4LCAzLCAyNTAsIDU3LCA4LCAzLCAKLSAgICAyNTAsIDU2LCA4LCAzLCAyNTAsIDU0LCA4LCAzLCAyNTAsIDU1LCA4LCAzLCAyMjIsIDE3NSwgOCwgMywgMjIyLCAxNzksIDgsIAotICAgIDMsIDIyMiwgMTU4LCA4LCAzLCAyMjIsIDE1OSwgOCwgMywgMjIyLCAxNjIsIDgsIDMsIDIyMiwgMTYxLCA4LCAzLCAyMjIsIAotICAgIDE2NSwgOCwgMywgMjIyLCAxNjMsIDgsIDMsIDIyMiwgMTY5LCA4LCAzLCAyMjIsIDE2OCwgOCwgMywgMjIyLCAxNzQsIDgsIAotICAgIDMsIDIyMiwgMTcwLCA4LCAzLCAyMjIsIDE1NCwgOCwgMywgMjIyLCAxNTIsIDgsIDMsIDIyMiwgMTYwLCA4LCAzLCAyMjIsIAotICAgIDE1NywgOCwgMywgMjIyLCAxNTUsIDgsIDMsIDIyMiwgMTU2LCA4LCAzLCAyMjIsIDE0NywgOCwgMywgMjIyLCAxNDYsIDgsIAotICAgIDMsIDIyMiwgMTUxLCA4LCAzLCAyMjIsIDE1MCwgOCwgMywgMjIyLCAxNDgsIDgsIDMsIDIyMiwgMTQ5LCA4LCAzLCAyMjgsIAotICAgIDM0LCA4LCAzLCAyMjgsIDMzLCA4LCAzLCAyMjgsIDM2LCA4LCAzLCAyMjgsIDM1LCA4LCAzLCAyMjgsIDI2LCA4LCAzLCAKLSAgICAyMjgsIDI4LCA4LCAzLCAyMjgsIDI3LCA4LCAzLCAyMjgsIDMwLCA4LCAzLCAyMjgsIDI5LCA4LCAzLCAyMjgsIDMyLCA4LCAKLSAgICAzLCAyMjgsIDMxLCA4LCAzLCAyMjgsIDIxLCA4LCAzLCAyMjgsIDIwLCA4LCAzLCAyMjgsIDI1LCA4LCAzLCAyMjgsIDI0LCAKLSAgICA4LCAzLCAyMjgsIDIyLCA4LCAzLCAyMjgsIDIzLCA4LCAzLCAyMjgsIDE1LCA4LCAzLCAyMjgsIDE0LCA4LCAzLCAyMjgsIAotICAgIDE5LCA4LCAzLCAyMjgsIDE4LCA4LCAzLCAyMjgsIDE2LCA4LCAzLCAyMjgsIDE3LCA4LCAzLCAyMjAsIDcyLCA4LCAzLCAKLSAgICAyMjAsIDY3LCA4LCAzLCAyMjAsIDEwMiwgOCwgMywgMjIwLCA4MywgOCwgMywgMjE5LCAyMTUsIDgsIDMsIDIxOSwgMjE3LCAKLSAgICA4LCAzLCAyMTksIDIxNiwgOCwgMywgMjE5LCAyMzYsIDgsIDMsIDIxOSwgMjMzLCA4LCAzLCAyMjAsIDcsIDgsIDMsIDIxOSwgCi0gICAgMjU0LCA4LCAzLCAyMjAsIDQyLCA4LCAzLCAyMjAsIDM1LCA4LCAzLCAyMjAsIDYzLCA4LCAzLCAyMjAsIDUwLCA4LCAzLCAKLSAgICAyMTksIDIxMSwgOCwgMywgMjE5LCAyMDksIDgsIDMsIDIxOSwgMjI1LCA4LCAzLCAyMTksIDIxNCwgOCwgMywgMjE5LCAyMTIsIAotICAgIDgsIDMsIDIxOSwgMjEzLCA4LCAzLCAyMTksIDE5NCwgOCwgMywgMjE5LCAxOTMsIDgsIDMsIDIxOSwgMjAwLCA4LCAzLCAKLSAgICAyMTksIDE5NywgOCwgMywgMjE5LCAxOTUsIDgsIDMsIDIxOSwgMTk2LCA4LCAzLCAyMjMsIDE0MSwgOCwgMywgMjIzLCAxMzUsIAotICAgIDgsIDMsIDIwNSwgOCwgMywgMjIzLCAxNDcsIDgsIDMsIDIyMiwgMTIwLCA4LCAzLCAyMjIsIDEyMiwgOCwgMywgMjIyLCAKLSAgICAxMjEsIDgsIDMsIDIyMiwgMTg4LCA4LCAzLCAyMjIsIDE4MSwgOCwgMywgMjIyLCAyMTEsIDgsIDMsIDIyMiwgMTkyLCA4LCAKLSAgICAzLCAyMjMsIDQzLCA4LCAzLCAyMjMsIDEyOCwgOCwgMywgMjIzLCA4MSwgOCwgMywgMjIyLCAxMTMsIDgsIDMsIDIyMiwgCi0gICAgMTEwLCA4LCAzLCAyMjIsIDE0MCwgOCwgMywgMjIyLCAxMTksIDgsIDMsIDIyMiwgMTE1LCA4LCAzLCAyMjIsIDExNiwgOCwgCi0gICAgMywgMjIyLCA5NSwgOCwgMywgMjIyLCA5NCwgOCwgMywgMjIyLCAxMDAsIDgsIDMsIDIyMiwgOTgsIDgsIDMsIDIyMiwgOTYsIAotICAgIDgsIDMsIDIyMiwgOTcsIDgsIDMsIDIzNSwgOTgsIDgsIDMsIDIzNSwgOTcsIDgsIDMsIDIzNSwgMTA4LCA4LCAzLCAyMzUsIAotICAgIDk5LCA4LCAzLCAyMzUsIDEwNCwgOCwgMywgMjM1LCAxMDMsIDgsIDMsIDIzNSwgMTA2LCA4LCAzLCAyMzUsIDEwNSwgOCwgMywgCi0gICAgMjM1LCA0MSwgOCwgMywgMjM1LCA0MCwgOCwgMywgMjM1LCA0MywgOCwgMywgMjM1LCA0MiwgOCwgMywgMjM1LCA1NiwgOCwgCi0gICAgMywgMjM1LCA1NCwgOCwgMywgMjM1LCA2OCwgOCwgMywgMjM1LCA1OCwgOCwgMywgMjM1LCAzNCwgOCwgMywgMjM1LCAzMiwgCi0gICAgOCwgMywgMjM1LCA1MSwgOCwgMywgMjM1LCAzOSwgOCwgMywgMjM1LCAzNiwgOCwgMywgMjM1LCAzNywgOCwgMywgMjM1LCAKLSAgICAyNiwgOCwgMywgMjM1LCAyNSwgOCwgMywgMjM1LCAzMCwgOCwgMywgMjM1LCAyOSwgOCwgMywgMjM1LCAyNywgOCwgMywgCi0gICAgMjM1LCAyOCwgOCwgMywgMjI0LCA0NiwgOCwgMywgMjI0LCA0NCwgOCwgMywgMjI0LCA1MywgOCwgMywgMjI0LCA0NywgOCwgCi0gICAgMywgMjI0LCA1MCwgOCwgMywgMjI0LCA0OSwgOCwgMywgMjI0LCA1MiwgOCwgMywgMjI0LCA1MSwgOCwgMywgMjIzLCAyNTUsIAotICAgIDgsIDMsIDIyMywgMjUyLCA4LCAzLCAyMjQsIDEsIDgsIDMsIDIyNCwgMCwgOCwgMywgMjI0LCAzMywgOCwgMywgMjI0LCAzMiwgCi0gICAgOCwgMywgMjI0LCA0MiwgOCwgMywgMjI0LCAzNiwgOCwgMywgMjIzLCAyNDcsIDgsIDMsIDIyMywgMjQzLCA4LCAzLCAyMjQsIAotICAgIDMwLCA4LCAzLCAyMjMsIDI1MSwgOCwgMywgMjIzLCAyNDksIDgsIDMsIDIyMywgMjUwLCA4LCAzLCAyMjMsIDIyNywgOCwgMywgCi0gICAgMjIzLCAyMjUsIDgsIDMsIDIyMywgMjM3LCA4LCAzLCAyMjMsIDIzMCwgOCwgMywgMjIzLCAyMjgsIDgsIDMsIDIyMywgMjI5LCAKLSAgICA4LCAzLCAyMzUsIDg3LCA4LCAzLCAyMzUsIDg2LCA4LCAzLCAyMzUsIDkzLCA4LCAzLCAyMzUsIDg4LCA4LCAzLCAyMzUsIAotICAgIDkwLCA4LCAzLCAyMzUsIDg5LCA4LCAzLCAyMzUsIDkyLCA4LCAzLCAyMzUsIDkxLCA4LCAzLCAyMzUsIDc4LCA4LCAzLCAKLSAgICAyMzUsIDgwLCA4LCAzLCAyMzUsIDc5LCA4LCAzLCAyMzUsIDgzLCA4LCAzLCAyMzUsIDgyLCA4LCAzLCAyMzUsIDg1LCA4LCAKLSAgICAzLCAyMzUsIDg0LCA4LCAzLCAyMzUsIDc0LCA4LCAzLCAyMzUsIDczLCA4LCAzLCAyMzUsIDgxLCA4LCAzLCAyMzUsIDc3LCAKLSAgICA4LCAzLCAyMzUsIDc1LCA4LCAzLCAyMzUsIDc2LCA4LCAzLCAyMzUsIDcwLCA4LCAzLCAyMzUsIDY5LCA4LCAzLCAyMzUsIAotICAgIDcyLCA4LCAzLCAyMzUsIDcxLCA4LCAzLCAyMjgsIDE2MiwgOCwgMywgMjI4LCAxNjEsIDgsIDMsIDIyOCwgMTY5LCA4LCAzLCAKLSAgICAyMjgsIDE2MywgOCwgMywgMjI4LCAxNjUsIDgsIDMsIDIyOCwgMTY0LCA4LCAzLCAyMjgsIDE2OCwgOCwgMywgMjI4LCAxNjYsIAotICAgIDgsIDMsIDIyOCwgMTUxLCA4LCAzLCAyMjgsIDE1MiwgOCwgMywgMjI4LCAxNTcsIDgsIDMsIDIyOCwgMTU2LCA4LCAzLCAKLSAgICAyMjgsIDE2MCwgOCwgMywgMjI4LCAxNTgsIDgsIDMsIDIyOCwgMTQ2LCA4LCAzLCAyMjgsIDE1NSwgOCwgMywgMjI4LCAxNTAsIAotICAgIDgsIDMsIDIyOCwgMTQ3LCA4LCAzLCAyMjgsIDE0OCwgOCwgMywgMjI4LCAxNDEsIDgsIDMsIDIyOCwgMTQwLCA4LCAzLCAKLSAgICAyMjgsIDE0NSwgOCwgMywgMjI4LCAxNDQsIDgsIDMsIDIyOCwgMTQyLCA4LCAzLCAyMjgsIDE0MywgOCwgMywgMjI3LCAxMzcsIAotICAgIDgsIDMsIDIyNywgMTM2LCA4LCAzLCAyMjcsIDE0OCwgOCwgMywgMjI3LCAxNDEsIDgsIDMsIDIyNywgMTQ1LCA4LCAzLCAKLSAgICAyMjcsIDE0NCwgOCwgMywgMjI3LCAxNDcsIDgsIDMsIDIyNywgMTQ2LCA4LCAzLCAyMjcsIDEyNCwgOCwgMywgMjI3LCAxMjYsIAotICAgIDgsIDMsIDIyNywgMTI1LCA4LCAzLCAyMjcsIDEzMCwgOCwgMywgMjI3LCAxMjksIDgsIDMsIDIyNywgMTM0LCA4LCAzLCAKLSAgICAyMjcsIDEzMSwgOCwgMywgMjI3LCAxMjIsIDgsIDMsIDIyNywgMTIwLCA4LCAzLCAyMjcsIDEyOCwgOCwgMywgMjI3LCAxMjMsIAotICAgIDgsIDMsIDIxMSwgMTUwLCA4LCAzLCAyMTEsIDE0OSwgOCwgMywgMjExLCAxNTcsIDgsIDMsIDIxMSwgMTUyLCA4LCAzLCAKLSAgICAyMTEsIDE1NCwgOCwgMywgMjExLCAxNTMsIDgsIDMsIDIxMSwgMTU2LCA4LCAzLCAyMTEsIDE1NSwgOCwgMywgMjExLCAxMzksIAotICAgIDgsIDMsIDIxMSwgMTQwLCA4LCAzLCAyMTEsIDE0NCwgOCwgMywgMjExLCAxNDMsIDgsIDMsIDIxMSwgMTQ4LCA4LCAzLCAKLSAgICAyMTEsIDE0NiwgOCwgMywgMjExLCAxMjEsIDgsIDMsIDIxMSwgMTE5LCA4LCAzLCAyMTEsIDEzMSwgOCwgMywgMjExLCAxMjQsIAotICAgIDgsIDMsIDIxMSwgMTIyLCA4LCAzLCAyMTEsIDEyMywgOCwgMywgMjEwLCAyNTAsIDgsIDMsIDIxMCwgMjQ4LCA4LCAzLCAKLSAgICAyMTEsIDgsIDgsIDMsIDIxMCwgMjUxLCA4LCAzLCAyMTEsIDIsIDgsIDMsIDIxMSwgMSwgOCwgMywgMjExLCA1LCA4LCAzLCAKLSAgICAyMTEsIDMsIDgsIDMsIDIxMCwgMTkxLCA4LCAzLCAyMTAsIDE5MCwgOCwgMywgMjEwLCAxOTQsIDgsIDMsIDIxMCwgMTkyLCAKLSAgICA4LCAzLCAyMTAsIDIyNCwgOCwgMywgMjEwLCAyMjEsIDgsIDMsIDIxMCwgMjQ0LCA4LCAzLCAyMTAsIDIyOCwgOCwgMywgCi0gICAgMjEwLCAxODIsIDgsIDMsIDIxMCwgMTc4LCA4LCAzLCAyMTAsIDIxMiwgOCwgMywgMjEwLCAxODksIDgsIDMsIDIxMCwgMTg1LCAKLSAgICA4LCAzLCAyMTAsIDE4NiwgOCwgMywgMjEwLCAxNjIsIDgsIDMsIDIxMCwgMTYxLCA4LCAzLCAyMTAsIDE2OSwgOCwgMywgCi0gICAgMjEwLCAxNjUsIDgsIDMsIDIxMCwgMTYzLCA4LCAzLCAyMTAsIDE2NCwgOCwgMzQsIDIyNCwgMzMsIDgsIDM0LCAyMzIsIAotICAgIDI0MSwgOCwgMzQsIDIzNCwgNjEsIDgsIDM0LCAyMjcsIDE0MSwgOCwgMzQsIDI0OSwgNjksIDgsIDM0LCAyMTgsIDE5MiwgOCwgCi0gICAgMzQsIDI0MywgMTIsIDgsIDM0LCAyNDMsIDQ0LCA4LCAzNCwgMjMwLCAyMzAsIDgsIDM0LCAyNDAsIDE4MCwgOCwgMzQsIAotICAgIDIzMiwgNTYsIDgsIDM0LCAyNTIsIDgzLCA4LCAzNCwgMjMwLCAxMjYsIDgsIDM0LCAyMTAsIDI0NCwgOCwgMzQsIDIyNCwgCi0gICAgMTIxLCA4LCAzNCwgMjQwLCAxNzQsIDgsIDM0LCAyMTcsIDQ2LCA4LCAzNCwgMjQzLCAxMzUsIDgsIDM0LCAyMTAsIDUsIDgsIAotICAgIDM0LCAyNDksIDYzLCA4LCAzNCwgMjQ4LCA5NSwgOCwgMzQsIDI1MSwgOTgsIDgsIDM0LCAyNDMsIDgsIDgsIDM0LCAyMjcsIAotICAgIDEzMSwgOCwgMzQsIDIxNSwgMTE4LCA4LCAzNCwgMjI2LCAxNzUsIDgsIDM0LCAyMzUsIDc0LCA4LCAzNCwgMjEwLCAxOSwgOCwgCi0gICAgMzQsIDIyNCwgMTAwLCA4LCAzNCwgMjQxLCAxMDgsIDgsIDM0LCAyMTAsIDI1MCwgOCwgMzQsIDIxMiwgMTEyLCA4LCAzNCwgCi0gICAgMjE5LCAyMDAsIDgsIDM0LCAyMTMsIDI0NCwgOCwgMzQsIDIxMCwgMTE2LCA4LCAzNCwgMjM1LCA2OCwgOCwgMzQsIDIyNywgCi0gICAgOTYsIDgsIDM0LCAyMzUsIDcyLCA4LCAzNCwgMjQyLCAxNTQsIDgsIDM0LCAyMzUsIDkyLCA4LCAzNCwgMjExLCAyMjcsIDgsIAotICAgIDM0LCAyNDYsIDc4LCA4LCAzNCwgMjE5LCAyMTMsIDgsIDM0LCAyMzIsIDIzNiwgOCwgMzQsIDI0OSwgNzMsIDgsIDM0LCAKLSAgICAyNDksIDEwNSwgOCwgMzQsIDI1MCwgMzcsIDgsIDM0LCAyNDAsIDE3NywgOCwgMzQsIDIyMCwgNzIsIDgsIDM0LCAyMTAsIDQsIAotICAgIDgsIDM0LCAyMTksIDI1NCwgOCwgMzQsIDI1MCwgMTMxLCA4LCAzNCwgMjA5LCAyMzEsIDgsIDM0LCAyMjksIDE3MywgOCwgCi0gICAgMzQsIDIzNCwgMTgyLCAyMzIsIDE5NiwgMSwgMjUyLCAxOTEsIDIzMiwgMTk2LCAxLCAxOTAsIDIzMiwgMTk2LCAxLCAyMjUsIAotICAgIDE0NywgMjMyLCAxOTYsIDEsIDI0OCwgMjIxLCAyMzIsIDE5NiwgMSwgMjE3LCAxMDUsIDIzMiwgMTk2LCAxLCAyMTYsIDIwOCwgCi0gICAgMjMyLCAxOTYsIDEsIDI0MywgMTM1LCAyMzIsIDE5NiwgMSwgMTc2LCAyMzIsIDE5NiwgMSwgMjM0LCAxMzIsIDIzMiwgMTk2LCAKLSAgICAxLCAyMzUsIDE0MSwgMjMyLCAxOTYsIDEsIDI1MSwgMzMsIDIzMiwgMTk2LCAxLCAyNTAsIDE1NywgMjMyLCAxOTYsIDEsIAotICAgIDI0NiwgMzgsIDIzMiwgMTk2LCAxLCAyMTUsIDE4MywgMjMyLCAxOTYsIDEsIDIxNSwgMTc1LCAyMzIsIDE5NiwgMSwgMTg0LCAKLSAgICAyMzIsIDE5NiwgMSwgMTk3LCAyMzIsIDE5NiwgMSwgMjMzLCAxMzUsIDIzMiwgMTk2LCAxLCAyMDYsIDIzMiwgMTk2LCAxLCAKLSAgICAyMTAsIDgyLCAyMzIsIDE5NiwgMSwgMjEwLCAxMTYsIDIzMiwgMTk2LCAxLCAyMjksIDc3LCAyMzIsIDE5NiwgMSwgMTYyLCAKLSAgICAyMzIsIDE5NiwgMSwgMjExLCAxNjUsIDIzMiwgMTk2LCAxLCAyNDEsIDE4OSwgMjMyLCAxOTYsIDEsIDI0NCwgMTk2LCAyMzIsIAotICAgIDE5NiwgMSwgMjEyLCA2NSwgMjMyLCAxOTYsIDEsIDIyMCwgMTAyLCAyMzIsIDE5NiwgMSwgMTkxLCAyMzIsIDE5NiwgMSwgCi0gICAgMjQyLCAyNDksIDIzMiwgMTk2LCAxLCA2MSwgMjMyLCAxOTYsIDEsIDI1NCwgMjQzLCAyMzIsIDE5NiwgMSwgNzUsIDIzMiwgCi0gICAgMTk2LCAxLCAyNDUsIDU1LCAyMzIsIDE5NiwgMSwgNzMsIDIzMiwgMTk2LCAxLCA3NiwgMjMyLCAxOTYsIDEsIDcwLCAyMzIsIAotICAgIDE5NiwgMSwgMjE0LCAyMTQsIDIzMiwgMTk2LCAxLCAyMTQsIDIwOCwgMjMyLCAxOTYsIDEsIDIyNiwgMjM0LCAyMzIsIDE5NiwgCi0gICAgMSwgMTM4LCAyMzAsIDMyLCAyMTYsIDExNywgMjMyLCAxOTYsIDEsIDEzOCwgMjI5LCAyMjksIDIyNSwgMTYsIDIzMiwgMTk2LCAKLSAgICAxLCAxMzgsIDIzMCwgMzIsIDI0OSwgNzIsIDIzMiwgMTk2LCAxLCAxMzgsIDIzMCwgMzIsIDI1MSwgMjA1LCAyMzIsIDE5NiwgCi0gICAgMSwgMTM4LCAyMzAsIDMyLCAxOTcsIDIzMiwgMTk2LCAxLCAxMzgsIDIzMCwgMzIsIDIzNSwgMTE1LCAyMzIsIDE5NiwgMjI0LCAKLSAgICAxNDEsIDI0OSwgMjE5LCAyMzIsIDE5NiwgMjI0LCAxNDEsIDI0MywgMjI5LCAyMTgsIDEyOSwgNDEsIDMsIDI0NSwgMjA5LCAKLSAgICA0MSwgMywgMjQ1LCAyMDUsIDQxLCAzLCAyNDEsIDIyMCwgNDEsIDMsIDIxMiwgMTcsIDQxLCAzLCAyMTIsIDE2LCA0MSwgMywgCi0gICAgMjI1LCAyMTEsIDQxLCAzLCAyNTIsIDEzLCA0MSwgMywgMjUyLCA2NiwgNDEsIDMsIDIzMSwgMTE2LCA0MSwgMywgMjMzLCAKLSAgICAyNDcsIDQxLCAzLCAyMzEsIDYsIDQxLCAzLCAyNDMsIDc1LCA0MSwgMywgMjQ0LCAxNDcsIDQxLCAzLCAyMTMsIDI1MCwgNDEsIAotICAgIDMsIDIxNywgMTEsIDQxLCAzLCAyMTYsIDE5NCwgNDEsIDMsIDI0OCwgMTYsIDQxLCAzLCAyNDgsIDEzLCA0MSwgMywgMjMzLCAKLSAgICA1MCwgNDEsIDMsIDIyMywgMTA4LCA0MSwgMywgMjQ4LCA3NywgNDEsIDMsIDIyOSwgMTM5LCA0MSwgMywgMjIxLCAxNzAsIAotICAgIDQxLCAzLCAyMjAsIDYxLCA0MSwgMywgMjEwLCA5MiwgNDEsIDMsIDIxMCwgNzMsIDQxLCAzLCAyNTAsIDE4MiwgNDEsIDMsIAotICAgIDIzNSwgMTI0LCA0MSwgMywgMjI4LCAxNzYsIDQxLCAzLCAyMTEsIDQ0LCA0MSwgMywgMjM0LCAxODEsIDQxLCAzLCAyMjksIAotICAgIDUxLCA0MSwgMywgMjQzLCA1NSwgNDEsIDMsIDIzMSwgODAsIDQxLCAzLCAyMjksIDEwMywgNDEsIDMsIDIyNywgMTU1LCA0MSwgCi0gICAgMywgNzMsIDQxLCAzLCAyMzUsIDI1NSwgNDEsIDMsIDI0MSwgMTgwLCA0MSwgMywgMjQxLCAxNjAsIDQxLCAzLCAyMTEsIAotICAgIDI1MCwgNDEsIDMsIDIxMSwgMjQxLCA0MSwgMywgMjI1LCAxMDgsIDQxLCAzLCAyNTIsIDExLCA0MSwgMywgMjUyLCA2LCA0MSwgCi0gICAgMywgMjMxLCAxMDksIDQxLCAzLCAyMzMsIDI0NCwgNDEsIDMsIDIzMSwgMywgNDEsIDMsIDI0MywgNzEsIDQxLCAzLCAyNDQsIAotICAgIDEyMSwgNDEsIDMsIDIxMywgMTc2LCA0MSwgMywgMjE2LCAxMTcsIDQxLCAzLCAyMTYsIDE3NSwgNDEsIDMsIDI0OCwgOCwgCi0gICAgNDEsIDMsIDI0OCwgMTIsIDQxLCAzLCAyMzIsIDI0MSwgNDEsIDMsIDIyMywgMzUsIDQxLCAzLCAyNDgsIDMsIDQxLCAzLCAKLSAgICAyMjksIDEzMywgNDEsIDMsIDIxOSwgMTkxLCA0MSwgMywgMjIwLCAzMiwgNDEsIDMsIDIxMCwgNDQsIDQxLCAzLCAyMTAsIAotICAgIDY5LCA0MSwgMywgMjUwLCA1MSwgNDEsIDMsIDIzNSwgMTA4LCA0MSwgMywgMjI4LCAxNjksIDQxLCAzLCAyMTEsIDgsIDQxLCAKLSAgICAzLCAyMzQsIDkyLCA0MSwgMywgMjI5LCA0MywgNDEsIDMsIDI0MiwgMjE0LCA0MSwgMywgMjMwLCAyMzAsIDQxLCAzLCAyMjgsIAotICAgIDIzMywgNDEsIDMsIDIyNywgMTQ4LCA0MSwgMywgNjEsIDQxLCAzLCAyNTQsIDEyMywgNDEsIDMsIDIyOSwgNzIsIDQxLCAzLCAKLSAgICAxNjIsIDQxLCAzLCAyNDIsIDE4LCA0MSwgMywgMjEyLCA2NSwgNDEsIDMsIDIxMiwgNTUsIDQxLCAzLCAxOTAsIDQxLCAzLCAKLSAgICAyNTIsIDE4LCA0MSwgMywgMjUyLCAxOTEsIDQxLCAzLCAyMzEsIDEyNCwgNDEsIDMsIDIzMywgMjUxLCA0MSwgMywgMjMzLCAKLSAgICAyNTAsIDQxLCAzLCAyMzEsIDEwLCA0MSwgMywgMjQzLCA3OSwgNDEsIDMsIDI0NCwgMTk2LCA0MSwgMywgMjE0LCAyNywgNDEsIAotICAgIDMsIDIxNywgMTA1LCA0MSwgMywgMjE2LCAyMDgsIDQxLCAzLCAyNDgsIDI1LCA0MSwgMywgMjQ4LCAxNSwgNDEsIDMsIDIzMywgCi0gICAgMTM1LCA0MSwgMywgMjA1LCA0MSwgMywgMjQ4LCAyMjEsIDQxLCAzLCAyMjksIDE0OCwgNDEsIDMsIDIwNiwgNDEsIDMsIAotICAgIDIyMCwgMTAyLCA0MSwgMywgMjEwLCAxMTYsIDQxLCAzLCAyMTAsIDgyLCA0MSwgMywgMjUxLCAzMywgNDEsIDMsIDIzNSwgCi0gICAgMTQxLCA0MSwgMywgMjI4LCAxODUsIDQxLCAzLCAxOTEsIDQxLCAzLCAxNzYsIDQxLCAzLCAyMzQsIDIzNCwgNDEsIDMsIAotICAgIDIyOSwgNTYsIDQxLCAzLCAyNDMsIDEzNSwgNDEsIDMsIDE4NCwgNDEsIDMsIDE5NywgNDEsIDMsIDIyNywgMTY1LCA0MSwgMywgCi0gICAgMjI2LCAxODMsIDQxLCAzLCAyMjYsIDE3OSwgNDEsIDMsIDI0MSwgNTMsIDQxLCAzLCAyMTEsIDIxNSwgNDEsIDMsIDIxMSwgCi0gICAgMjExLCA0MSwgMywgMjI0LCAyNDksIDQxLCAzLCAyNTIsIDksIDQxLCAzLCAyNTEsIDE5MywgNDEsIDMsIDIzMSwgMTA0LCAKLSAgICA0MSwgMywgMjMzLCAyNDIsIDQxLCAzLCAyMzAsIDI1NSwgNDEsIDMsIDI0MywgNjcsIDQxLCAzLCAyNDQsIDM0LCA0MSwgMywgCi0gICAgMjEzLCAxMjcsIDQxLCAzLCAyMTYsIDE3LCA0MSwgMywgMjE2LCAxNTMsIDQxLCAzLCAyNDgsIDYsIDQxLCAzLCAyNDgsIDEwLCAKLSAgICA0MSwgMywgMjMyLCAxMjcsIDQxLCAzLCAyMjIsIDE5NywgNDEsIDMsIDI0NywgMTI1LCA0MSwgMywgMjI5LCAxMjAsIDQxLCAKLSAgICAzLCAyMTksIDQwLCA0MSwgMywgMjIwLCAxLCA0MSwgMywgMjEwLCAyMSwgNDEsIDMsIDIxMCwgNjYsIDQxLCAzLCAyNDksIAotICAgIDE3NCwgNDEsIDMsIDIzNSwgNTksIDQxLCAzLCAyMjgsIDE1OSwgNDEsIDMsIDIxMCwgMjI5LCA0MSwgMywgMjM0LCAxMCwgCi0gICAgNDEsIDMsIDIyOSwgNDEsIDQxLCAzLCAyNDIsIDE2NCwgNDEsIDMsIDIzMCwgMTMyLCA0MSwgMywgMjI4LCA2NCwgNDEsIDMsIAotICAgIDIyNywgMTMyLCA0MSwgMywgNzAsIDQxLCAzLCAyMTQsIDE5MCwgNDEsIDMsIDI0MCwgMjIyLCA0MSwgMywgMjQwLCAyMTIsIAotICAgIDQxLCAzLCAyMTEsIDE5NSwgNDEsIDMsIDIxMSwgMTg5LCA0MSwgMywgMjI0LCAxNTAsIDQxLCAzLCAyNTIsIDgsIDQxLCAzLCAKLSAgICAyNTEsIDEyNSwgNDEsIDMsIDIzMSwgMTAzLCA0MSwgMywgMjMzLCAyNDAsIDQxLCAzLCAyMzAsIDI1NCwgNDEsIDMsIDI0MywgCi0gICAgNjYsIDQxLCAzLCAyNDMsIDIzNCwgNDEsIDMsIDIxMiwgMTE2LCA0MSwgMywgMjE1LCAxMTgsIDQxLCAzLCAyMTYsIDEzNiwgCi0gICAgNDEsIDMsIDI0OCwgNCwgNDEsIDMsIDI0OCwgOSwgNDEsIDMsIDIzMiwgOTgsIDQxLCAzLCAyMjIsIDE0MCwgNDEsIDMsIAotICAgIDI0NiwgNzgsIDQxLCAzLCAyMjksIDExNSwgNDEsIDMsIDIxOCwgODMsIDQxLCAzLCAyMTksIDIyNSwgNDEsIDMsIDIxMCwgCi0gICAgMTMsIDQxLCAzLCAyMTAsIDYyLCA0MSwgMywgMjQ5LCAxMTIsIDQxLCAzLCAyMzUsIDUxLCA0MSwgMywgMjI4LCAxNTUsIDQxLCAKLSAgICAzLCAyMTAsIDIxMiwgNDEsIDMsIDIzMywgMjE3LCA0MSwgMywgMjI5LCA0MCwgNDEsIDMsIDI0MiwgMTEzLCA0MSwgMywgCi0gICAgMjMwLCAxMDIsIDQxLCAzLCAyMjcsIDIzNywgNDEsIDMsIDIyNywgMTI4LCA0MSwgMywgNzYsIDQxLCAzLCAyMjYsIDE5NiwgCi0gICAgNDEsIDMsIDIyOSwgMCwgNDEsIDMsIDI0MSwgNjgsIDQxLCAzLCAyNDEsIDU2LCA0MSwgMywgMjExLCAyMjcsIDQxLCAzLCAKLSAgICAyMTEsIDIxNiwgNDEsIDMsIDIyNSwgMTYsIDQxLCAzLCAyNTIsIDEwLCA0MSwgMywgMjUxLCAyMDUsIDQxLCAzLCAyMzEsIAotICAgIDEwNSwgNDEsIDMsIDIzMywgMjQzLCA0MSwgMywgMjMxLCAxLCA0MSwgMywgMjQzLCA2OSwgNDEsIDMsIDI0MywgNjgsIDQxLCAKLSAgICAzLCAyNDQsIDQzLCA0MSwgMywgMjEzLCAxMzgsIDQxLCAzLCAxMTEsIDQxLCAzLCAyMTYsIDE1NiwgNDEsIDMsIDI0OCwgNywgCi0gICAgNDEsIDMsIDI0OCwgMTEsIDQxLCAzLCAyMzIsIDE1NiwgNDEsIDMsIDIyMiwgMjExLCA0MSwgMywgMjQ3LCAxNDUsIDQxLCAzLCAKLSAgICAyMjksIDEyNCwgNDEsIDMsIDIxOSwgNTgsIDQxLCAzLCAyMjAsIDcsIDQxLCAzLCAyMTAsIDIzLCA0MSwgMywgMjEwLCA2NywgCi0gICAgNDEsIDMsIDI0OSwgMjM4LCA0MSwgMywgMjM1LCA2OCwgNDEsIDMsIDIyOCwgMTYwLCA0MSwgMywgMjEwLCAyNDQsIDQxLCAzLCAKLSAgICAyMzQsIDI4LCA0MSwgMywgMjI5LCA0MiwgNDEsIDMsIDI0MiwgMTc0LCA0MSwgMywgMjMwLCAxNjEsIDQxLCAzLCAyMjgsIAotICAgIDc0LCA0MSwgMywgMjI3LCAxMzQsIDQxLCAzLCA3NSwgNDEsIDMsIDI0NSwgMTUwLCA0MSwgMywgMjI5LCA2MSwgNDEsIDMsIAotICAgIDI0MSwgMjM4LCA0MSwgMywgMjQxLCAyMDksIDQxLCAzLCAyMTIsIDIyLCA0MSwgMywgMjEyLCAxMiwgNDEsIDMsIDIyNSwgCi0gICAgMjIxLCA0MSwgMywgMjUyLCAxNCwgNDEsIDMsIDI1MiwgNzUsIDQxLCAzLCAyMzEsIDExNywgNDEsIDMsIDIzMywgMjQ4LCAKLSAgICA0MSwgMywgMjMzLCAyNDYsIDQxLCAzLCAyMzEsIDcsIDQxLCAzLCAyNDMsIDc2LCA0MSwgMywgMjQzLCA3NCwgNDEsIDMsIAotICAgIDI0NCwgMTU0LCA0MSwgMywgMjEzLCAyNTUsIDQxLCAzLCAyMTcsIDIyLCA0MSwgMywgMjE2LCAxOTUsIDQxLCAzLCAyNDgsIAotICAgIDE3LCA0MSwgMywgMjQ4LCAxNCwgNDEsIDMsIDIzMywgNTgsIDQxLCAzLCAyMjMsIDEyOCwgNDEsIDMsIDI0OCwgOTAsIDQxLCAKLSAgICAzLCAyMjksIDE0MCwgNDEsIDMsIDIyMSwgMTgxLCA0MSwgMywgMjIwLCA2MywgNDEsIDMsIDIxMCwgOTQsIDQxLCAzLCAyMTAsIAotICAgIDc0LCA0MSwgMywgMjUwLCAxOTAsIDQxLCAzLCAyMzUsIDEyNiwgNDEsIDMsIDIyOCwgMTc4LCA0MSwgMywgMjExLCA0NywgCi0gICAgNDEsIDMsIDIzNCwgMTgyLCA0MSwgMywgMjI5LCA1MiwgNDEsIDMsIDIyOSwgNDgsIDQxLCAzLCAyNDMsIDYyLCA0MSwgMywgCi0gICAgMjQzLCA1MSwgNDEsIDMsIDIzMSwgOTEsIDQxLCAzLCAyMjksIDEwNywgNDEsIDMsIDIyNywgMTU2LCA0MSwgMywgMjI5LCAKLSAgICA3OSwgNDEsIDMsIDIzMywgMjIsIDQxLCAyNDksIDIxOSwgNDEsIDI0MywgMjI5LCAyMTgsIDEyOSwgNDEsIDIyNCwgMTMsIAotICAgIDc4LCA0MSwgMywgMjI5LCAxMjMsIDI0NCwgMTk2LCA0MSwgMywgMjI5LCAxMjMsIDE3NiwgNDEsIDMsIDIyOSwgMTIzLCAKLSAgICAyMTksIDQwLCA0MSwgMTYsIDI0NCwgMTQ0LCA0MSwgMTYsIDIzNCwgMTgwLCA0MSwgMTYsIDIxNiwgODEsIDQxLCAxNiwgCi0gICAgMjI4LCAyMDgsIDQxLCAxNiwgMjUyLCAxNDcsIDQxLCAxNiwgMjQ0LCAxOTUsIDQxLCAxNiwgMjE3LCAxMDEsIDQxLCAxNiwgCi0gICAgMjQ4LCAxNzYsIDQxLCAxNiwgMjQ3LCAxMjQsIDQxLCAxNiwgMjMzLCAyMDYsIDQxLCAxNiwgMjE2LCAyMSwgNDEsIDE2LCAKLSAgICAyNDcsIDE0NCwgNDEsIDE2LCAyMzUsIDYwLCA0MSwgMjEsIDIxMCwgODYsIDQxLCAyMSwgMTEwLCA0MSwgMjEsIDEwNSwgNDEsIAotICAgIDIxLCAxNTgsIDQxLCAyMSwgMTYxLCA0MSwgMjEsIDE4OSwgNDEsIDIxLCAxOTQsIDQxLCAyMSwgMTk4LCA0MSwgMjEsIDE5NSwgCi0gICAgNDEsIDIxLCAyMDAsIDQxLCAzLCAyMjksIDEyMywgMTg0LCA0MSwgMywgMjI5LCAxMjMsIDI0NywgMTQ1LCAzMywgNiwgMSwgCi0gICAgMjEwLCA5MCwgMzMsIDQsIDEsIDIxMCwgOTAsIDMzLCA2LCAxLCAyNDYsIDM0LCAzMywgNCwgMSwgMjQ2LCAzNCwgMzMsIDYsIAotICAgIDEsIDIyMywgNDksIDI0NiwgMzYsIDMzLCA0LCAxLCAyMjMsIDQ5LCAyNDYsIDM2LCAzMywgNiwgMSwgMjM1LCAxODUsIDMzLCAKLSAgICA0LCAxLCAyMzUsIDE4NSwgMzMsIDYsIDEsIDI0NywgMTYxLCAzMywgNCwgMSwgMjQ3LCAxNjEsIDMzLCA2LCAxLCAyMzAsIAotICAgIDE0MCwgMjE0LCAyMDUsIDMzLCA0LCAxLCAyMzAsIDE0MCwgMjE0LCAyMDUsIDMzLCA2LCAxLCAyNTEsIDEzNiwgMjI2LCAKLSAgICAyMDEsIDMzLCA0LCAxLCAyNTEsIDEzNiwgMjI2LCAyMDEsIDMzLCA2LCAxLCAyMjksIDg3LCAyMTEsIDMxLCAzMywgNCwgMSwgCi0gICAgMjI5LCA4NywgMjExLCAzMSwgMzMsIDYsIDEsIDIxMSwgMjgsIDIsIDI1MiwgMTg1LCAyMTEsIDMxLCAzMywgNCwgMSwgMjExLCAKLSAgICAyOCwgMiwgMjUyLCAxODUsIDIxMSwgMzEsIDMzLCA2LCAxLCAyMzUsIDE4MywgMjExLCA1OSwgMzMsIDQsIDEsIDIzNSwgCi0gICAgMTgzLCAyMTEsIDU5LCAzMywgNiwgMSwgMjIzLCA0OSwgMjEwLCAyMTIsIDMzLCA0LCAxLCAyMjMsIDQ5LCAyMTAsIDIxMiwgCi0gICAgMzMsIDYsIDEsIDIzNSwgMTgzLCA2MSwgMzMsIDQsIDEsIDIzNSwgMTgzLCA2MSwgMzMsIDYsIDEsIDI1MCwgMCwgMjMyLCAKLSAgICAxOTIsIDIxMCwgMTgzLCAzMywgNCwgMSwgMjUwLCAwLCAyMzIsIDE5MiwgMjEwLCAxODMsIDMzLCA2LCAxLCAyNTEsIDIxNCwgCi0gICAgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTEsIDIxNCwgMjEwLCAxODMsIDMzLCA2LCAxLCAyMzUsIDE4MywgMjUwLCAwLCAyMzIsIAotICAgIDE5MiwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE4MywgMjUwLCAwLCAyMzIsIDE5MiwgMjEwLCAxODMsIDMzLCA2LCAxLCAKLSAgICAyMTAsIDI0NiwgMzMsIDQsIDEsIDIxMCwgMjQ2LCAzMywgNiwgMSwgMjIzLCA0OSwgMjE1LCAxNzgsIDMzLCA0LCAxLCAyMjMsIAotICAgIDQ5LCAyMTUsIDE3OCwgMzMsIDYsIDEsIDIxOSwgNTIsIDI0OCwgOTAsIDMzLCA0LCAxLCAyMTksIDUyLCAyNDgsIDkwLCAzMywgCi0gICAgNiwgMSwgMjE5LCA1MiwgMjQ1LCAxNzQsIDMzLCA0LCAxLCAyMTksIDUyLCAyNDUsIDE3NCwgMzMsIDYsIDEsIDIxOSwgNTIsIAotICAgIDI0NSwgMTU5LCAzMywgNCwgMSwgMjE5LCA1MiwgMjQ1LCAxNTksIDMzLCA2LCAxLCAyMzAsIDE0NCwgNzYsIDMzLCA0LCAxLCAKLSAgICAyMzAsIDE0NCwgNzYsIDMzLCA2LCAxLCAyNTEsIDI0MCwgNzYsIDMzLCA0LCAxLCAyNTEsIDI0MCwgNzYsIDMzLCA2LCAxLCAKLSAgICA1MiwgMjMwLCAxNDQsIDc2LCAzMywgNCwgMSwgNTIsIDIzMCwgMTQ0LCA3NiwgMzMsIDEsIDIzMCwgODYsIDc2LCAzOCwgMzMsIAotICAgIDIxMiwgMTAwLCAzOCwgMzMsIDIxNiwgMjQ4LCAyMzAsIDE5MSwgNTAsIDM4LCAzMywgMjQwLCAyMTEsIDIzMCwgMTkxLCA1MCwgCi0gICAgMzgsIDMzLCAyMTYsIDE0OCwgMjMwLCAxOTEsIDUwLCAyMTksIDkzLCAyNTMsIDIxNiwgMzgsIDMzLCAxLCAyMTQsIDIwMiwgCi0gICAgMjM2LCA2MCwgMzgsIDMzLCAxLCA3MywgMzgsIDMzLCAxLCAyMTEsIDgsIDM4LCAzMywgMSwgNzAsIDM4LCAzMywgMSwgMjQyLCAKLSAgICAzLCA1MCwgMzgsIDMzLCAxLCAyMTEsIDI3LCAzOCwgMzMsIDEsIDIxOSwgNTIsIDUwLCAzOCwgMzMsIDEsIDIyNiwgMjAxLCAKLSAgICAzOCwgMzMsIDIzNCwgMTkyLCAzOCwgMzMsIDIyNSwgMjI3LCAzMywgMjM0LCAxOTIsIDMzLCAyMjUsIDIyNywgMzMsIDYsIDEsIAotICAgIDI0NiwgNDYsIDMzLCA0LCAxLCAyNDYsIDQ2LCAzMywgNiwgMSwgMjQ2LCAyNywgMzMsIDQsIDEsIDI0NiwgMjcsIDMzLCA2LCAKLSAgICAxLCAyMTAsIDUyLCAzMywgNCwgMSwgMjEwLCA1MiwgMzMsIDYsIDEsIDI1MCwgMjA2LCAzMywgNCwgMSwgMjUwLCAyMDYsIAotICAgIDMzLCA2LCAxLCAyNDYsIDI1LCAzMywgNCwgMSwgMjQ2LCAyNSwgMzMsIDYsIDEsIDIxNywgMjMsIDIsIDIzMCwgMjI0LCAKLSAgICAxMDMsIDMzLCA0LCAxLCAyMTcsIDIzLCAyLCAyMzAsIDIyNCwgMTAzLCAzMywgNiwgMSwgMjE1LCA3OCwgMzMsIDQsIDEsIAotICAgIDIxNSwgNzgsIDMzLCA2LCAxLCAyMTUsIDE2MCwgMzMsIDQsIDEsIDIxNSwgMTYwLCAzMywgNiwgMSwgMjE1LCAxNjQsIDMzLCAKLSAgICA0LCAxLCAyMTUsIDE2NCwgMzMsIDYsIDEsIDIxNywgMjgsIDMzLCA0LCAxLCAyMTcsIDI4LCAzMywgNiwgMSwgMjQwLCAxOTgsIAotICAgIDMzLCA0LCAxLCAyNDAsIDE5OCwgMzMsIDYsIDEsIDIxOSwgMjA2LCAzMywgNCwgMSwgMjE5LCAyMDYsIDM4LCAzMywgMSwgCi0gICAgMjM1LCAxODMsIDc1LCAyMCwgMSwgNjEsIDIwLCAxLCAxNzYsIDIwLCAxLCA3MCwgMjAsIDEsIDIzMywgMjE3LCAyMCwgMSwgCi0gICAgMjQ1LCAyMDksIDIwLCAxLCAyMjMsIDEwOCwgMjAsIDEsIDIxNywgODYsIDIwLCAxLCA3NiwgMjAsIDEsIDIyNywgMTQ4LCAKLSAgICAyMCwgMSwgNzMsIDIwLCAxLCAyMzMsIDEzNSwgMjAsIDEsIDE5MCwgMjAsIDEsIDIyMiwgMjM5LCAyMCwgMSwgMjIzLCAyOSwgCi0gICAgMjAsIDEsIDIzMywgNDksIDIwLCAxLCAyMzEsIDc5LCAyMCwgMSwgMjE3LCAxMDEsIDIwLCAxLCAyMjksIDE0NiwgMjAsIDEsIAotICAgIDIyOCwgMTgzLCAyMCwgMSwgMTkzLCAyMCwgMSwgMjE4LCA0LCAyMCwgMSwgMjMwLCAxMDIsIDIwLCAxLCAyMjAsIDI3LCAyMCwgCi0gICAgMSwgMjE5LCAxOTEsIDIwLCAxLCAyMjAsIDM3LCAyMCwgMSwgMjIwLCAxMjMsIDIwLCAxLCAyMzMsIDE1NSwgMjAsIDEsIAotICAgIDIzNCwgMTU2LCAyMCwgMSwgMjI3LCAyMDksIDIwLCAxLCAyMjcsIDIzNywgMjAsIDEsIDIyOCwgMTU0LCAyMCwgMSwgMjEwLCAKLSAgICAyMjYsIDIwLCAxLCAyMTksIDIyNSwgMjAsIDEsIDIxMCwgMTg3LCAyMCwgMSwgMTkxLCAyMCwgMSwgMjI4LCA5LCAyMCwgMSwgCi0gICAgMjM0LCAxNDIsIDIwLCAxLCAyMjUsIDE1MSwgMjAsIDEsIDIyOCwgMTc2LCAyMCwgMSwgMjI3LCAyNDYsIDIwLCAxLCAyMjQsIAotICAgIDE0NCwgMjAsIDEsIDIxMSwgMTkyLCAyMCwgMSwgMjI1LCAyMTEsIDIwLCAxLCAyNDQsIDE0NywgMjAsIDEsIDIyMiwgMTQwLCAKLSAgICAyMCwgMSwgMjMyLCA5OCwgMjAsIDEsIDIzMCwgMjMwLCAyMCwgMSwgMjI4LCAyMzMsIDIwLCAxLCAyMjMsIDUxLCAyMCwgMSwgCi0gICAgMjIzLCAxNzEsIDIwLCAxLCAyMzQsIDE2NSwgMjAsIDEsIDIyOSwgNywgMjAsIDEsIDIyOSwgNTYsIDIwLCAxLCAyMjksIDc3LCAKLSAgICAyMCwgMSwgMjIwLCA3LCAyMCwgMSwgMjI0LCAxNDcsIDIwLCAxLCAyNDMsIDIzNCwgMjAsIDEsIDI0NCwgMzcsIDIwLCAxLCAKLSAgICAyMTIsIDY1LCAyMCwgMSwgMTk3LCAyMCwgMSwgMjMyLCAyNDEsIDIwLCAxLCAyMjUsIDEwOCwgMjAsIDEsIDIzMiwgMTE5LCAKLSAgICAyMCwgMSwgMjM0LCAyOCwgMjAsIDEsIDIzMSwgMTE0LCAyMCwgMSwgMjIzLCA4MywgMjAsIDEsIDIzMSwgNTgsIDIwLCAxLCAKLSAgICAxODQsIDIwLCAxLCAyMTYsIDExNywgMjAsIDEsIDIzNCwgOTIsIDIwLCAxLCAyMzAsIDE2MSwgMjAsIDEsIDIzMSwgMTIyLCAKLSAgICAyMCwgMSwgMjE2LCAyMzAsIDIwLCAxLCAyMzMsIDI1MSwgMjAsIDEsIDIxNiwgMjQ3LCAyMCwgMSwgMjI3LCAyMzgsIDIwLCAKLSAgICAxLCAyMjEsIDI1MSwgMjAsIDEsIDI0NCwgMTkyLCAyMCwgMSwgMjMzLCAyNTMsIDIwLCAxLCAyMzQsIDI0LCAyMCwgMzgsIAotICAgIDE2NCwgMjM0LCA1LCAyMCwgMzgsIDE2NCwgMjE1LCAxMTAsIDIwLCAyMjgsIDE4MiwgMjAsIDI0MywgMjI5LCAyMTgsIDEyOSwgCi0gICAgMjAsIDI0OSwgMjI2LCAyMCwgMjQ5LCAyMTksIDIwLCAyMjAsIDE1MCwgMjAsIDIyNCwgMTMsIDc4LCA1OCwgMSwgMjUwLCAKLSAgICA5NiwgMTM4LCAyMTAsIDI1NCwgMjI1LCA2MSwgNTgsIDEsIDI1MCwgOTYsIDEzOCwgMjExLCA3MCwgMjI1LCA2MSwgNTgsIDEsIAotICAgIDI1MCwgOTYsIDEzOCwgMjEwLCAyNTQsIDIyMCwgODQsIDU4LCAxLCAyNTAsIDk2LCAxMzgsIDIxMSwgNzAsIDIyMCwgODQsIAotICAgIDU4LCAxLCAyNTAsIDk2LCAxMzgsIDIxMCwgMjU0LCAyMjQsIDMwLCA1OCwgMSwgMjUwLCA5NiwgMTM4LCAyMTEsIDcwLCAKLSAgICAyMjQsIDMwLCA1OCwgMSwgMjUwLCA5NiwgMTM4LCAyMTAsIDI1NCwgMjIyLCAxNDAsIDU4LCAxLCAyNTAsIDk2LCAxMzgsIAotICAgIDIxMSwgNzAsIDIyMiwgMTQwLCA1OCwgMSwgMjQ1LCAyMCwgMjQ2LCAxMTgsIDEzOCwgMTMwLCA1OCwgMSwgMTI1LCAyNDYsIAotICAgIDExOCwgMTM4LCAxMzAsIDU4LCAxLCAyMzAsIDIyNSwgMjQ2LCAxMTgsIDEzOCwgMTMwLCA1OCwgMSwgMTIxLCAyNDYsIDExOCwgCi0gICAgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDE5LCAyNDYsIDExOCwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDIwLCAyNDYsIDExOCwgCi0gICAgMjMzLCAzOSwgMTM4LCAxMzAsIDU4LCAxLCAxMjUsIDI0NiwgMTE4LCAyMzMsIDM5LCAxMzgsIDEzMCwgNTgsIDEsIDIzMCwgCi0gICAgMjI1LCAyNDYsIDExOCwgMjMzLCAzOSwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDI0NiwgMTE4LCAyMzMsIDM5LCAxMzgsIAotICAgIDEzMCwgNTgsIDEsIDI0NSwgMTksIDI0NiwgMTE4LCAyMzMsIDM5LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjAsIDIzMywgCi0gICAgMzksIDEzOCwgMTMwLCA1OCwgMSwgMTI1LCAyMzMsIDM5LCAxMzgsIDEzMCwgNTgsIDEsIDIzMCwgMjI1LCAyMzMsIDM5LCAKLSAgICAxMzgsIDEzMCwgNTgsIDEsIDEyMSwgMjMzLCAzOSwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDE5LCAyMzMsIDM5LCAxMzgsIAotICAgIDEzMCwgNTgsIDEsIDU5LCA2NywgMTMwLCA1OCwgMSwgNTksIDIxOSwgOTUsIDU4LCAxLCA1OSwgMjAzLCAxMzAsIDU4LCAxLCAKLSAgICAyMzIsIDEwOCwgNDQsIDI0OSwgMTYxLCAyNTQsIDEwOSwgNTgsIDEsIDIyMywgMTU3LCAxMjAsIDc0LCA1OCwgMSwgMjIzLCAKLSAgICAxNTcsIDEyNCwgNzQsIDU4LCAxLCAyMjMsIDE1NywgMjQ1LCAzMSwgNzgsIDU4LCAxLCAyMjMsIDE1NywgMjM1LCAxOTMsIAotICAgIDI0NSwgMzEsIDc4LCA1OCwgMSwgMTIxLCAyMzUsIDE5MywgMjQ1LCAzMSwgNzgsIDU4LCAxLCAyMTgsIDExMSwgMjIsIDEyNSwgCi0gICAgMjE2LCAzMCwgNTgsIDEsIDIxOCwgMTExLCAyMiwgMTIxLCAyMTYsIDMwLCA3LCA2LCAxLCAyNDUsIDE5OSwgMjU0LCAxNzAsIAotICAgIDcsIDQsIDEsIDI0NSwgMTk5LCAyNTQsIDE3MCwgNywgNiwgMSwgMjQ1LCAxOTksIDI1NCwgMTk2LCA3LCA0LCAxLCAyNDUsIAotICAgIDE5OSwgMjU0LCAxOTYsIDcsIDYsIDEsIDI0MSwgMjA3LCA3LCA0LCAxLCAyNDEsIDIwNywgNywgNiwgMSwgMjE1LCA0MCwgNywgCi0gICAgNCwgMSwgMjE1LCA0MCwgNywgNiwgMSwgMjE1LCAyMjksIDcsIDQsIDEsIDIxNSwgMjI5LCA3LCA2LCAxLCAyNDksIDExMCwgCi0gICAgNywgNCwgMSwgMjQ5LCAxMTAsIDcsIDYsIDEsIDI0OSwgMTExLCAyLCAyNDksIDIxOSwgNywgNCwgMSwgMjQ5LCAxMTEsIDIsIAotICAgIDI0OSwgMjE5LCA3LCAxLCA0LCA2LCAyNDUsIDYsIDcsIDEsIDQsIDYsIDIyMiwgOTEsIDcsIDYsIDEsIDI1NSwgNzMsIDcsIAotICAgIDQsIDEsIDI1NSwgNzMsIDcsIDYsIDEsIDI1NCwgNzMsIDcsIDQsIDEsIDI1NCwgNzMsIDcsIDYsIDEsIDI1MywgMTkyLCA3LCAKLSAgICA0LCAxLCAyNTMsIDE5MiwgNywgNiwgMSwgMjUzLCAxNzYsIDcsIDQsIDEsIDI1MywgMTc2LCA3LCA2LCAxLCAyNTMsIDE3NywgCi0gICAgMiwgMjAzLCAxMzAsIDcsIDQsIDEsIDI1MywgMTc3LCAyLCAyMDMsIDEzMCwgNywgNiwgMSwgMjUzLCAxNjcsIDcsIDQsIDEsIAotICAgIDI1MywgMTY3LCA3LCA2LCAxLCAyMjMsIDQ5LCAyNTEsIDY3LCAyLCAyNDcsIDEyMCwgNywgNCwgMSwgMjIzLCA0OSwgMjUxLCAKLSAgICA2NywgMiwgMjQ3LCAxMjAsIDcsIDYsIDEsIDIzNSwgMjQsIDIsIDkxLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCA5MSwgNywgNiwgCi0gICAgMSwgMjM1LCAyNCwgMiwgMjQ3LCAyNTUsIDkxLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAyNDcsIDI1NSwgOTEsIDcsIDYsIDEsIAotICAgIDIzNSwgMjQsIDIsIDIxOCwgMTAzLCAyMiwgMjQ3LCAyNTUsIDkxLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAyMTgsIDEwMywgCi0gICAgMjIsIDI0NywgMjU1LCA5MSwgNywgNiwgMSwgMjUxLCAxMzUsIDE1NiwgNywgNCwgMSwgMjUxLCAxMzUsIDE1NiwgNywgNiwgCi0gICAgMSwgMjMzLCAxNDksIDIsIDEyNSwgOTEsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAxMjUsIDkxLCA3LCA2LCAxLCAxNDQsIDIsIAotICAgIDE5OSwgMjE4LCAxMDMsIDIyNiwgMTIwLCA3LCA0LCAxLCAxNDQsIDIsIDE5OSwgMjE4LCAxMDMsIDIyNiwgMTIwLCA3LCA2LCAKLSAgICAxLCAxNDQsIDIsIDIzMiwgMTIzLCA3LCA0LCAxLCAxNDQsIDIsIDIzMiwgMTIzLCA3LCA2LCAxLCAyMjYsIDE4MywgNywgNCwgCi0gICAgMSwgMjI2LCAxODMsIDcsIDYsIDEsIDIyNiwgMTA2LCAyLCAyMTgsIDEwMywgMjE2LCAxMzksIDI0OCwgMzksIDcsIDQsIDEsIAotICAgIDIyNiwgMTA2LCAyLCAyMTgsIDEwMywgMjE2LCAxMzksIDI0OCwgMzksIDcsIDYsIDEsIDIyNiwgMTA2LCAyLCAyNDQsIDUzLCAKLSAgICA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgMjQ0LCA1MywgNywgNiwgMSwgMjI2LCAxMDYsIDIsIDIxOCwgMjI5LCAyMTcsIDc3LCAKLSAgICA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgMjE4LCAyMjksIDIxNywgNzcsIDcsIDYsIDEsIDIyNCwgOTcsIDIsIDIxOCwgMTAzLCAKLSAgICAyMTYsIDEzOSwgMjQ4LCAzOSwgNywgNCwgMSwgMjI0LCA5NywgMiwgMjE4LCAxMDMsIDIxNiwgMTM5LCAyNDgsIDM5LCA3LCAKLSAgICA2LCAxLCAyMjQsIDk3LCAyLCAyNDcsIDI1NSwgOTEsIDcsIDQsIDEsIDIyNCwgOTcsIDIsIDI0NywgMjU1LCA5MSwgNywgNiwgCi0gICAgMSwgMjIzLCAyMjQsIDIyMiwgMTg2LCA3LCA0LCAxLCAyMjMsIDIyNCwgMjIyLCAxODYsIDcsIDYsIDEsIDIyMiwgMTMwLCAKLSAgICAyMjIsIDE4NiwgNywgNCwgMSwgMjIyLCAxMzAsIDIyMiwgMTg2LCA3LCA2LCAxLCAyMTQsIDEwNiwgMiwgMjQ3LCAyNTUsIAotICAgIDkxLCA3LCA0LCAxLCAyMTQsIDEwNiwgMiwgMjQ3LCAyNTUsIDkxLCA3LCA2LCAxLCAyMTIsIDEwNiwgNywgNCwgMSwgMjEyLCAKLSAgICAxMDYsIDcsIDYsIDEsIDIxMywgMTQ1LCAyMTAsIDE1OSwgNywgNCwgMSwgMjEzLCAxNDUsIDIxMCwgMTU5LCA3LCA2LCAxLCAKLSAgICAyMTYsIDE1MiwgMiwgOTEsIDcsIDQsIDEsIDIxNiwgMTUyLCAyLCA5MSwgNywgNiwgMSwgMjE2LCAxNTIsIDIsIDIxOCwgCi0gICAgMTAzLCAyMTYsIDEzOSwgMjQ4LCAzOSwgNywgNCwgMSwgMjE2LCAxNTIsIDIsIDIxOCwgMTAzLCAyMTYsIDEzOSwgMjQ4LCAKLSAgICAzOSwgNywgNiwgMSwgMjEzLCAyNDUsIDcsIDQsIDEsIDIxMywgMjQ1LCA3LCA2LCAxLCAyNDUsIDY1LCA3LCA0LCAxLCAyNDUsIAotICAgIDY1LCA3LCA2LCAxLCAyMzUsIDE3MSwgNywgNCwgMSwgMjM1LCAxNzEsIDcsIDYsIDEsIDI0OSwgMjA3LCA3LCA0LCAxLCAKLSAgICAyNDksIDIwNywgNTgsIDEsIDIxNCwgMTMzLCA3LCA0LCAxLCAyNDYsIDY5LCA3LCA0LCAxLCAyMzIsIDg0LCA3LCA0LCAxLCAKLSAgICAyMzAsIDgwLCA3LCA0LCAxLCAyMjcsIDIwMSwgNywgNCwgMSwgMjIyLCAxMjksIDcsIDEsIDQsIDYsIDIyMiwgMTI5LCA3LCAKLSAgICA0LCAxLCAyMTUsIDEwOCwgNywgNCwgMSwgMjE0LCAxOTcsIDcsIDYsIDEsIDIzNSwgMjEzLCAyNDksIDYwLCA3LCA0LCAxLCAKLSAgICAyMzUsIDIxMywgMjQ5LCA2MCwgNywgNiwgMSwgMjM1LCAyMTMsIDI0NSwgNiwgNywgNCwgMSwgMjM1LCAyMTMsIDI0NSwgNiwgCi0gICAgNywgNiwgMSwgMjM1LCAyMTMsIDI0MywgMjAyLCA3LCA2LCAxLCAyMTUsIDk0LCAyMzUsIDIxMywgMjQzLCAyMDIsIDcsIDQsIAotICAgIDEsIDIxNSwgOTQsIDIzNSwgMjEzLCAyNDMsIDIwMiwgNywgNiwgMSwgMjE1LCA5NCwgMTU2LCA3LCA0LCAxLCAyMTUsIDk0LCAKLSAgICAxNTYsIDcsIDYsIDEsIDIzNSwgMjEzLCAxNTMsIDcsIDQsIDEsIDIzNSwgMjEzLCAxNTMsIDcsIDYsIDEsIDIzNSwgMjEzLCAKLSAgICAyMjIsIDkxLCA3LCA0LCAxLCAyMzUsIDIxMywgMjIyLCA5MSwgNywgNiwgMSwgMjM1LCAyMTMsIDIxNywgMTUyLCA3LCA0LCAKLSAgICAxLCAyMzUsIDIxMywgMjE3LCAxNTIsIDU4LCAxLCAxMjEsIDI1MCwgMzEsIDI1NSwgMTQsIDU4LCAxLCAyNDksIDIyNiwgNTgsIAotICAgIDEsIDIxOSwgMjUxLCAyNDUsIDk4LCA1MCwgNywgNiwgMSwgMjIxLCAyNTUsIDcsIDQsIDEsIDIyMSwgMjU1LCA3LCA2LCAxLCAKLSAgICAyMTUsIDk0LCAyNDIsIDYwLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMjIzLCA1NSwgMjQxLCA1MiwgMjIsIDI1MiwgNDEsIDcsIAotICAgIDYsIDEsIDIzMCwgMjYsIDIsIDI0OCwgMzksIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDI0OCwgMzksIDcsIDYsIDEsIDI1MSwgCi0gICAgNjcsIDIsIDEzMCwgNywgNCwgMSwgMjUxLCA2NywgMiwgMTMwLCA3LCA2LCAxLCAyNDMsIDIwMywgMiwgMjI2LCAyNDgsIDkxLCAKLSAgICA3LCA0LCAxLCAyNDMsIDIwMywgMiwgMjI2LCAyNDgsIDkxLCA3LCA2LCAxLCAyMzUsIDI0LCAyLCAyMjYsIDI0OCwgOTEsIDcsIAotICAgIDQsIDEsIDIzNSwgMjQsIDIsIDIyNiwgMjQ4LCA5MSwgNywgNiwgMSwgMjMwLCAyNiwgMiwgMjI2LCAyNDgsIDkxLCA3LCA0LCAKLSAgICAxLCAyMzAsIDI2LCAyLCAyMjYsIDI0OCwgOTEsIDcsIDYsIDEsIDIyMywgMjI0LCAyLCAyMjYsIDI0OCwgOTEsIDcsIDQsIDEsIAotICAgIDIyMywgMjI0LCAyLCAyMjYsIDI0OCwgOTEsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDIyNiwgMjQ4LCA5MSwgNywgNCwgMSwgCi0gICAgMjIyLCA5MiwgMiwgMjI2LCAyNDgsIDkxLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAxMDMsIDU4LCAxLCA2LCAyNDIsIDYxLCAyLCAKLSAgICA5MSwgNTgsIDEsIDQsIDI3LCAyMjYsIDIzNCwgNywgMSwgNCwgNiwgMjE1LCA5NCwgMTkzLCA3LCAyNDUsIDEwMywgMSwgCi0gICAgMjIzLCA0OSwgMjQ1LCA2LCA3LCAyNDUsIDEwMywgMSwgMjIzLCA0OSwgMjI2LCAxMDUsIDcsIDI0NSwgMTAzLCAxLCAyMzUsIAotICAgIDE5MywgMTkzLCA3LCAyNDUsIDEwMywgMSwgMjQwLCAxNTQsIDIzMiwgMTI5LCA3LCAyNDUsIDEwMywgMSwgMjU0LCAyMywgCi0gICAgMTkzLCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDYxLCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDczLCAyMTcsIDIzMCwgMjI5LCAKLSAgICAyMTQsIDUsIDI0NiwgNDgsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgNzAsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgNzUsIAotICAgIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgNzYsIDIxNywgMjMwLCAyMjksIDIxNCwgNSwgMjQxLCAyNTMsIDIxNywgMjMwLCAKLSAgICAyMjksIDIxNCwgMSwgMjM0LCAyOCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyMzQsIDEwNSwgMjE3LCAyMzAsIDIyOSwgCi0gICAgMjE0LCAxLCAyNDIsIDE3NCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyNDIsIDIyNCwgMjE3LCAyMzAsIDIyOSwgMjE0LCA1LCAKLSAgICAyNTQsIDc1LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDI0OSwgMjM4LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDI1MCwgODYsIAotICAgIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjM1LCA2OCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyMzUsIDEwOSwgMjE3LCAKLSAgICAyMzAsIDIyOSwgMjE0LCAxLCAyMTUsIDEzMywgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyMTUsIDEzOSwgMjE3LCAyMzAsIAotICAgIDIyOSwgMjE0LCAxLCAyNDgsIDEwNSwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyNDgsIDExNCwgMjE3LCAyMzAsIDIyOSwgCi0gICAgMjE0LCAxLCAxMTEsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjE2LCAxNTYsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjQ3LCAKLSAgICAxNDUsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjQ4LCA3LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIyOCwgNzQsIDIxNywgCi0gICAgMjMwLCAyMjksIDIxNCwgMSwgMjI1LCAxNiwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyMjUsIDEyMSwgMjE3LCAyMzAsIAotICAgIDIyOSwgMjE0LCAxLCAyNTEsIDIwNSwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyNTIsIDEwLCAyMTcsIDIzMCwgMjI5LCAKLSAgICAyMTQsIDEsIDIzMCwgMTYxLCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIyMiwgMjExLCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIAotICAgIDIzMiwgMTU2LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIyMiwgMTY1LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIxOSwgCi0gICAgNTgsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjQxLCA2OCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAyNSwgNSwgNjEsIDIxNywgCi0gICAgMjMwLCAyMjksIDIxNCwgMjUsIDUsIDczLCAyMTcsIDIzMCwgMjI5LCAyMTQsIDI1LCA1LCA3MCwgMjE3LCAyMzAsIDIyOSwgCi0gICAgMjE0LCAyNSwgNSwgNzUsIDIxNywgMjMwLCAyMjksIDIxNCwgMjUsIDUsIDIyNiwgMTgzLCAyMTcsIDIzMCwgMjI5LCAyMTQsIAotICAgIDIyNSwgMTIsIDIzMSwgMTU4LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDIyNSwgMTIsIDIzMSwgMTU3LCAyMTcsIDIzMCwgMjI5LCAKLSAgICAyMTQsIDIyNSwgMTIsIDIzMSwgMTU2LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDIyNSwgMTIsIDIzMSwgMTU1LCAyMjgsIDU2LCAKLSAgICAyMzUsIDI0MCwgMjQ0LCAyLCAxMjMsIDIyNCwgMjEsIDIyOCwgNTYsIDIzNSwgMjQwLCAyNDQsIDIsIDEyMywgMjQyLCAyNywgCi0gICAgMjI4LCA1NiwgMjM1LCAyNDAsIDI0NCwgMiwgMTM0LCAyMjQsIDE5LCAyMjgsIDU2LCAyMzUsIDI0MCwgMjQ0LCAyLCAxMjMsIAotICAgIDIxOSwgMTE3LCAyMjgsIDU2LCAyMzUsIDI0MCwgMjQ0LCAyLCAxMjMsIDI0NSwgMTg4LCAyMjgsIDU2LCAyMzUsIDI0MCwgCi0gICAgMjQ0LCAyLCAxMzQsIDIxOSwgMTE2LCAyMjgsIDU2LCAyMzUsIDI0MCwgMjI0LCAyMiwgNzgsIDIyOCwgNTYsIDIzNSwgMjQwLCAKLSAgICAyMjUsIDQwLCA3OCwgMjI4LCA1NiwgMjM1LCAyNDAsIDIyMiwgMTE4LCA3OCwgMjI4LCA1NiwgMjM1LCAyNDAsIDIyNCwgMjMsIAotICAgIDc4LCAyMjUsIDE0NCwgMSwgMTc2LCAyMjUsIDE0NCwgMSwgMjM0LCAxMzIsIDIyNSwgMTQ0LCAxLCAyNDMsIDEzNSwgMjI1LCAKLSAgICAxNDQsIDEsIDIyOSwgNzcsIDIyNSwgMTQ0LCAxLCAyNTEsIDMzLCAyMjUsIDE0NCwgMSwgMjUwLCAxNTcsIDIyNSwgMTQ0LCAKLSAgICAxLCAyMzUsIDE0MSwgMjI1LCAxNDQsIDEsIDIyNywgMTY1LCAyMjUsIDE0NCwgMSwgMjE3LCAxMDUsIDIyNSwgMTQ0LCAxLCAKLSAgICAyMTYsIDIwOCwgMjI1LCAxNDQsIDEsIDI0OCwgMjIxLCAyMjUsIDE0NCwgMSwgMTk3LCAyMjUsIDE0NCwgMSwgMTkwLCAyMjUsIAotICAgIDE0NCwgMSwgMjI1LCAxNDcsIDIyNSwgMTQ0LCAxLCAyNTIsIDE5MSwgMjI1LCAxNDQsIDEsIDE4NCwgMjI1LCAxNDQsIDEsIAotICAgIDIxNSwgMTgzLCAyMjUsIDE0NCwgMSwgMjE1LCAxNzUsIDIyNSwgMTQ0LCAxLCAyNDYsIDM4LCAyMjUsIDE0NCwgMSwgMjEyLCAKLSAgICA2NSwgMjI1LCAxNDQsIDEsIDIxMCwgODIsIDIyNSwgMTQ0LCAxLCAyMTAsIDExNiwgMjI1LCAxNDQsIDEsIDQsIDYxLCAyMjUsIAotICAgIDE0NCwgMSwgMTkxLCAyMjUsIDE0NCwgMSwgMjA1LCAyMjUsIDE0NCwgMSwgMjMzLCAxMzUsIDIyNSwgMTQ0LCAxLCAyMjAsIAotICAgIDEwMiwgMjI1LCAxNDQsIDEsIDIwNiwgMjI1LCAxNDQsIDEsIDE2MiwgMjI1LCAxNDQsIDEsIDYxLCAyMjUsIDE0NCwgMSwgCi0gICAgNzMsIDIyNSwgMTQ0LCAxLCA3MCwgMjI1LCAxNDQsIDEsIDc1LCAyMjUsIDE0NCwgMSwgNzYsIDIyNSwgMTQ0LCAxLCAyMjQsIAotICAgIDg4LCAyMjUsIDE0NCwgMSwgMjExLCAxNjUsIDIyNSwgMTQ0LCAxLCAyNDQsIDE5NiwgMjI1LCAxNDQsIDEsIDI0MywgMjksIAotICAgIDIyNSwgMTQ0LCAxLCAyNDUsIDIwOSwgMjI1LCAxNDQsIDIxOCwgNzMsIDEsIDIxMiwgNjUsIDIyNSwgMTQ0LCAyMTgsIDczLCAKLSAgICAxLCAxOTEsIDIyNSwgMTQ0LCAxLCAyMTUsIDE1NiwgMjI1LCAxNDQsIDEsIDIxNSwgMTQ0LCAyMjUsIDE0NCwgMSwgMjQ4LCAKLSAgICAxMzUsIDIyNSwgMTQ0LCAxLCAyMjgsIDExMCwgMjI1LCAxNDQsIDEsIDI1NCwgMTQxLCAxOTEsIDIyNSwgMTQ0LCAxLCAyMTMsIAotICAgIDEzNCwgMjIwLCAxMDIsIDIyNSwgMTQ0LCAxLCAyMTMsIDEzNSwgMTYyLCAyMjUsIDE0NCwgMSwgMjUzLCAyMjMsIDI0NCwgCi0gICAgMTk2LCAyMjUsIDE0NCwgMjE4LCA3MywgMSwgMjA1LCAyMjUsIDE0NCwgMjE4LCAyNSwgMSwgMjA1LCAyMjUsIDE0NCwgMSwgCi0gICAgMjUwLCAyNTUsIDIyNSwgMTQ0LCAyMTksIDE1NSwgMjQxLCAyMzYsIDc4LCAyMjUsIDE0NCwgNTIsIDI0MSwgMjM2LCA3OCwgCi0gICAgMjI1LCAxNDQsIDE2NCwgMjIwLCA5NSwgMjI1LCAxNDQsIDE2NCwgNTIsIDIyMCwgOTUsIDE3OSwgNSwgMjU0LCA3NSwgMTc5LCAKLSAgICA1LCAyMTMsIDE0NywgMTc5LCAxLCA2MSwgMTc5LCAxLCAyNTUsIDczLCAxNzksIDEsIDczLCAxNzksIDEsIDIzNiwgMzMsIAotICAgIDE3OSwgMSwgNzAsIDE3OSwgMSwgMjE0LCAxMTgsIDE3OSwgMSwgMTQ5LCAxNTMsIDE3OSwgMSwgMTQ5LCAyMjIsIDE4MCwgCi0gICAgMTc5LCAxLCAxNDksIDE1NiwgMTc5LCAxLCAxNDksIDIzMiwgMTg1LCAxNzksIDEsIDc1LCAxNzksIDEsIDI0NSwgMjA5LCAKLSAgICAxNzksIDEsIDI1NCwgMjAxLCAxNzksIDEsIDc2LCAxNzksIDEsIDIyNiwgMTgzLCAxNzksIDEsIDI1MywgMTkyLCAxNzksIDEsIAotICAgIDE3NiwgMTc5LCAxLCAyMzQsIDEzMiwgMTc5LCAxLCAyNDMsIDEzNSwgMTc5LCAxLCAyNDIsIDI0OSwgMTc5LCAxLCAyMjksIAotICAgIDc3LCAxNzksIDEsIDI1MSwgMzMsIDE3OSwgMSwgMjUwLCAxNTcsIDE3OSwgMSwgMjM1LCAxNDEsIDE3OSwgMSwgMjM1LCAKLSAgICAxMTQsIDE3OSwgMSwgMjI3LCAxNjUsIDE3OSwgMSwgMjE1LCAxNTYsIDE3OSwgMSwgMjE1LCAxNDQsIDE3OSwgMSwgMjQ4LCAKLSAgICAxMzUsIDE3OSwgMSwgMjQ4LCAxMTksIDE3OSwgMSwgMjI4LCAxMTAsIDE3OSwgMSwgMjE3LCAxMDUsIDE3OSwgMSwgMjE2LCAKLSAgICAyMDgsIDE3OSwgMSwgMjQ4LCAyMjEsIDE3OSwgMSwgMjQ4LCAyNSwgMTc5LCAxLCAxOTcsIDE3OSwgMSwgMTkwLCAxNzksIDEsIAotICAgIDIyNSwgMTQ3LCAxNzksIDEsIDI1MiwgMTkxLCAxNzksIDEsIDI1MiwgMTgsIDE3OSwgMSwgMTg0LCAxNzksIDEsIDE5MSwgCi0gICAgMTc5LCAxLCAyMDUsIDE3OSwgMSwgMjMzLCAxMzUsIDE3OSwgMSwgMjE0LCAyNywgMTc5LCAxLCAyMjAsIDEwMiwgMTc5LCAxLCAKLSAgICAyMTgsIDIyMywgMTc5LCAxLCAyMDYsIDE3OSwgMSwgMTYyLCAxNzksIDEsIDIzMiwgMTg0LCAxNzksIDExNiwgNSwgMjQyLCAKLSAgICA0NCwgMTc5LCAyNSwgNSwgMjU1LCA3MywgMTc5LCAyNSwgNSwgNzMsIDE3OSwgMjUsIDUsIDIzNiwgMzMsIDE3OSwgMjUsIDUsIAorICAgIDIxMCwgMjAzLCAyNCwgMSwgMjEwLCAyMDQsIDI0LCAxLCAyMTAsIDIwNywgMjQsIDEsIDI1NCwgMzUsIDI0LCAxLCAyNTQsIAorICAgIDI5LCAxMDksIDI1NCwgMTAwLCAyMzIsIDIwNCwgNzgsIDEwOSwgMjU0LCAxMDAsIDIyMywgNTEsIDc4LCAxMDksIDI1NCwgCisgICAgMTAwLCAxMjMsIDc4LCAxMDksIDI1NCwgMTAwLCAxMTMsIDc4LCAxMDksIDI1NCwgMTAwLCAxMzQsIDc4LCAxMDksIDI1NCwgCisgICAgMTAwLCAyNDQsIDEyLCA3OCwgMTA5LCAyNTQsIDEwMCwgMjE2LCAxNSwgNzgsIDEwOSwgMjU0LCAxMDAsIDIzMCwgMjI1LCAKKyAgICA3OCwgMTA5LCAyNTQsIDEwMCwgMjUxLCAxNzYsIDc4LCAxMDksIDI1NCwgMTAwLCAyNDQsIDkzLCA3OCwgMTA5LCAyNTQsIAorICAgIDEwMCwgMjIxLCAxNzcsIDc4LCAxMDksIDI1NCwgMTAwLCAyMTYsIDE3MCwgNzgsIDEwOSwgMjU0LCAxMDAsIDI0NCwgNSwgCisgICAgNzgsIDEwOSwgMjU0LCAxMDAsIDI0MSwgMjI1LCA3OCwgMTA5LCAyNTQsIDEwMCwgMjQ1LCAyMjUsIDc4LCAxMDksIDI1NCwgCisgICAgMTAwLCAyMzEsIDE4NywgNzgsIDI1MSwgMTg1LCAxLCAyNTEsIDEyNiwgMjUxLCAxODUsIDEsIDIxMCwgNDQsIDI1MSwgMTg1LCAKKyAgICAxLCAyMzUsIDEwOSwgMjUxLCAxODUsIDEsIDI0MiwgMTE0LCAyNTEsIDE4NSwgMSwgMjQ1LCAyMTAsIDI1MSwgMTg1LCAxLCAKKyAgICAyNDUsIDEzNiwgMjUxLCAxODUsIDEsIDIyNiwgMTg0LCAyNTEsIDE4NSwgMSwgMjI2LCAxODgsIDI1MSwgMTg1LCAxLCAyMzUsIAorICAgIDE4MCwgMjUxLCAxODUsIDEsIDI1NCwgMTAyLCAyNTEsIDE4NSwgMSwgMjM1LCAyMjUsIDI1MSwgMTg1LCAxLCAyMTQsIDE2OCwgCisgICAgMjUxLCAxODUsIDEsIDIzNiwgMTcsIDI1MSwgMTg1LCAxLCAyMjksIDU4LCAyNTEsIDE4NSwgMSwgMjU0LCAxOTYsIDI1MSwgCisgICAgMTg1LCAxLCAyNTMsIDE4OCwgMjUxLCAxODUsIDEsIDI1NCwgMTM3LCAyNTEsIDE4NSwgMSwgMjI2LCAyMDUsIDI1MSwgMTg1LCAKKyAgICAxLCAyMjYsIDE5MCwgMjUxLCAxODUsIDEsIDIzNSwgMjIyLCAyNTEsIDE4NSwgNDAsIDEsIDIyNiwgMTA2LCAyNTEsIDE4NSwgCisgICAgNDAsIDEsIDIxNywgMTUzLCAyNTEsIDE4NSwgNDAsIDEsIDIzNSwgMjQsIDI1MSwgMTg1LCA0MCwgMSwgMjQyLCA2MSwgMjUxLCAKKyAgICAxODUsIDEsIDI0MiwgMjUxLCAyNTEsIDE4NSwgMSwgMjMzLCAwLCAyNTEsIDE4NSwgMSwgMjA5LCAyNTAsIDksIDIxOCwgCisgICAgMTA0LCAyMTcsIDE1MywgOSwgMjE4LCAxMDQsIDIxMiwgNCwgOSwgMjE4LCAxMDQsIDIxMSwgMTU4LCA5LCAyMTgsIDEwNCwgCisgICAgMjUxLCA4MCwgOSwgMjE4LCAxMDQsIDIxNywgMjU1LCA5LCAyMTgsIDEwNCwgMjQwLCAxNTksIDksIDIxOCwgMTA0LCAyNDAsIAorICAgIDE2MywgOSwgMjE4LCAxMDQsIDI0MCwgMjMyLCA5LCAyMTgsIDEwNCwgMjQwLCAxNjAsIDksIDIxOCwgMTA0LCAyMTcsIDE1NiwgCisgICAgOSwgMjE4LCAxMDQsIDI0MCwgMTYyLCA5LCAyMTgsIDEwNCwgMjQwLCAxNTgsIDksIDIxOCwgMTA0LCAyNDAsIDIzMCwgOSwgCisgICAgMjE4LCAxMDQsIDI0MCwgMTYxLCA5LCAyMTgsIDEwNCwgMjQwLCAxNTcsIDksIDIxOCwgMTA0LCAyMzAsIDI2LCA5LCAyMTgsIAorICAgIDEwNCwgMjQyLCA2MSwgOSwgMjE4LCAxMDQsIDIyMiwgOTIsIDksIDIxOCwgMTA0LCAyMjYsIDEwNiwgOSwgMjE4LCAxMDQsIAorICAgIDIxOSwgMjIsIDksIDIxOCwgMTA0LCAyNDksIDYxLCA5LCAyMTgsIDEwNCwgMjQwLCAxNjQsIDksIDIxOCwgMTA0LCAyNDEsIAorICAgIDE5MSwgOSwgMjE4LCAxMDQsIDIxNywgMTY1LCA5LCAyMTgsIDEwNCwgMjE3LCAyMzQsIDksIDIxOCwgMTA0LCAyMTgsIDE2OSwgCisgICAgOSwgMjE4LCAxMDQsIDIyMCwgMTExLCA5LCAyMTgsIDEwNCwgMjI1LCAyMjUsIDksIDIxOCwgMTA0LCAyMjQsIDk5LCA5LCAKKyAgICAyMTgsIDEwNCwgMjE2LCA0NCwgOSwgMjE4LCAxMDQsIDIxNywgMTU1LCA5LCAyMTgsIDEwNCwgMjE3LCAyNDUsIDksIDIxOCwgCisgICAgMTA0LCAyNDAsIDE3MSwgOSwgMjE4LCAxMDQsIDI0MCwgMTU2LCA5LCAyMTgsIDEwNCwgMjI1LCAxNTAsIDksIDIxOCwgMTA0LCAKKyAgICAyMjQsIDk3LCA1NiwgMSwgNCwgMjMzLCAyMTgsIDU2LCAxLCA0LCAyMTksIDE5MiwgNTYsIDEsIDQsIDIxOCwgODQsIDU2LCAKKyAgICAxLCA0LCAxMTEsIDU2LCAxLCA0LCAyMjcsIDIzOCwgNTYsIDEsIDQsIDE2MiwgNTYsIDEsIDQsIDI0MSwgMTgxLCA1NiwgMSwgCisgICAgNCwgMjQwLCAyMjMsIDU2LCAxLCA0LCAyNDEsIDIzOSwgNTYsIDEsIDQsIDI0MSwgNjksIDU2LCAxLCA0LCAyMzAsIDEwMywgCisgICAgNTYsIDEsIDQsIDIwNSwgNTYsIDEsIDQsIDIyMywgMzYsIDU2LCAxLCA0LCAyMjIsIDE0MSwgNTYsIDEsIDQsIDIyMywgMTI5LCAKKyAgICA1NiwgMSwgNCwgMjIyLCAyMTIsIDg4LCAyNCwgMjM0LCA1OSwgODgsIDI0LCAyMjgsIDIyNywgODgsIDI0LCAyMTYsIDEwMiwgCisgICAgODgsIDI0LCAyMjMsIDI3LCA4OCwgMjQsIDIzMCwgMjE4LCA4OCwgMjQsIDIyNSwgOTYsIDg4LCAyNCwgMjE5LCAxNDksIDg4LCAKKyAgICAyNCwgMjM2LCA1NywgODgsIDI0LCAyNTAsIDQ3LCA4OCwgMjQsIDI1MCwgMTA3LCA4OCwgMjQsIDIzNCwgMTExLCA4OCwgMjQsIAorICAgIDIxNiwgMTc0LCA4OCwgMjQsIDIyNSwgMTMyLCA4OCwgMjQsIDI0MSwgMTczLCA4OCwgMjQsIDIzNCwgNjAsIDYxLCA4OCwgCisgICAgMjQsIDIyOCwgMjI4LCA2MSwgODgsIDI0LCAyMTYsIDEwMywgNjEsIDg4LCAyNCwgMjIzLCAyOCwgNjEsIDg4LCAyNCwgMjMwLCAKKyAgICAyMTksIDYxLCA4OCwgMjQsIDIyNSwgOTcsIDYxLCA4OCwgMjQsIDIxOSwgMTUwLCA2MSwgODgsIDI0LCAyMzYsIDU4LCA2MSwgCisgICAgODgsIDI0LCAyNTAsIDQ4LCA2MSwgODgsIDI0LCAyNTAsIDEwOCwgNjEsIDg4LCAyNCwgMjM0LCAxMTIsIDYxLCA4OCwgMjQsIAorICAgIDIxNiwgMTc1LCA2MSwgODgsIDI0LCAyMjUsIDEzMywgNjEsIDg4LCAyNCwgMjQxLCAxNzQsIDYxLCA4OCwgMjQsIDI1MCwgCisgICAgNDgsIDcwLCA4OCwgMjM0LCA0LCAxMzUsIDIyNiwgMjE4LCA4OCwgMjM0LCA0LCAxMzUsIDE0NCwgMjQwLCAyMjMsIDg4LCAKKyAgICAxNTQsIDExMCwgODgsIDE1NCwgMTA1LCA4OCwgMTU0LCAxNTgsIDg4LCAxNTQsIDE2MSwgODgsIDE1NCwgMTg5LCA4OCwgCisgICAgMTU0LCAxOTQsIDg4LCAxNTQsIDE5OCwgODgsIDE1NCwgMTk1LCA4OCwgMTU0LCAyMDAsIDg4LCAxNTQsIDIxNiwgMjQ4LCAKKyAgICA4OCwgMTU0LCAyMzAsIDEyOSwgODgsIDE1NCwgMjQ0LCA5NywgODgsIDE1NCwgMjEyLCA0MCwgODgsIDE1NCwgMjExLCAyMTQsIAorICAgIDg4LCAxNTQsIDIzMSwgNDAsIDg4LCAxNTQsIDI0NSwgMjI0LCA4OCwgMTU0LCAyMTgsIDM4LCA4OCwgMTU0LCAyMTgsIDEzMywgCisgICAgODgsIDE1NCwgMjQxLCAyNDUsIDg4LCAxNTQsIDIxOSwgNTUsIDg4LCAxNTQsIDIyOSwgMjA1LCA4OCwgMTU0LCAyMTksIDUsIAorICAgIDg4LCAxNTQsIDI0NCwgMTAzLCA4OCwgMTU0LCAyNDksIDIwMSwgODgsIDE1NCwgMjMzLCAxMjYsIDg4LCAxNTQsIDIyMywgCisgICAgNzIsIDg4LCAxNTQsIDI1MSwgMTYsIDg4LCAxNTQsIDIxOCwgODgsIDg4LCAxNTQsIDIxOCwgMjEsIDg4LCAxNTQsIDI0NSwgCisgICAgMTI4LCA4OCwgMTU0LCAyMjMsIDY0LCA4OCwgMTU0LCAyNTQsIDE1MSwgODgsIDE1NCwgMjQ0LCAxMjksIDg4LCAxNTQsIAorICAgIDIyMywgNjIsIDg4LCAxNTQsIDIyMCwgMTU3LCA4OCwgMTU0LCAyMjMsIDEyOCwgMzcsIDE1NCwgMjI0LCAxMywgMzcsIDE1NCwgCisgICAgMjM0LCA4MSwgMzcsIDE1NCwgMjIxLCAxOTksIDM3LCAxNTQsIDIzNCwgMCwgMzcsIDU0LCAyMTYsIDI0OSwgMjI2LCAxOTgsIAorICAgIDg1LCAyMTgsIDIzNSwgMzcsIDU0LCAyMTUsIDc0LCAyMjYsIDE5OCwgODUsIDIxOCwgMjM1LCAzNywgNTQsIDIxNiwgMTY0LCAKKyAgICAyMjYsIDE5OCwgODUsIDIxOCwgMjM1LCAzNywgNTQsIDI0NCwgMTcsIDIyNiwgMTk4LCA4NSwgMjE4LCAyMzUsIDM3LCA1NCwgCisgICAgMjQ0LCAxMTYsIDIyNiwgMTk4LCA4NSwgMjE4LCAyMzUsIDM3LCA1NCwgMjE5LCAxMTMsIDIyNiwgMTk4LCA4NSwgMjE4LCAKKyAgICAyMzUsIDM3LCA1NCwgMjIwLCAxMTgsIDIyNiwgMTk4LCA4NSwgMjE4LCAyMzUsIDM3LCA1NCwgMjQ1LCAxODYsIDIyNiwgCisgICAgMTk4LCA4NSwgMjE4LCAyMzUsIDIyNSwgMjUyLCA1MCwgMzcsIDU0LCAyMTUsIDc0LCAxMTAsIDM3LCA1NCwgMjE1LCA3NCwgCisgICAgMTA1LCAzNywgNTQsIDIxNSwgNzQsIDE1OCwgMzcsIDU0LCAyMTUsIDc0LCAxNjEsIDM3LCA1NCwgMjE1LCA3NCwgMTg5LCAKKyAgICAzNywgNTQsIDIxNSwgNzQsIDE5NCwgMzcsIDU0LCAyMTUsIDc0LCAxOTgsIDM3LCA1NCwgMjE1LCA3NCwgMTk1LCAzNywgNTQsIAorICAgIDIxNSwgNzQsIDIwMCwgMzcsIDU0LCAyMTYsIDE2MywgMzcsIDU0LCAyMTYsIDE2NCwgMTEwLCAzNywgNTQsIDIxNiwgMTY0LCAKKyAgICAxMDUsIDM3LCA1NCwgMjE2LCAxNjQsIDE1OCwgMzcsIDU0LCAyMTYsIDE2NCwgMTYxLCAzNywgNTQsIDIxNiwgMTY0LCAxODksIAorICAgIDM3LCAyNCwgMjM0LCA1OSwgMzcsIDI0LCAyMjgsIDIyNywgMzcsIDI0LCAyMTYsIDEwMiwgMzcsIDI0LCAyMjMsIDI3LCAzNywgCisgICAgMjQsIDIzMCwgMjE4LCAzNywgMjQsIDIyNSwgOTYsIDM3LCAyNCwgMjE5LCAxNDksIDM3LCAyNCwgMjM2LCA1NywgMzcsIDI0LCAKKyAgICAyNTAsIDQ3LCAzNywgMjQsIDI1MCwgMTA3LCAzNywgMjQsIDIzNCwgMTExLCAzNywgMjQsIDIxNiwgMTc0LCAzNywgMjQsIAorICAgIDIyNSwgMTMyLCAzNywgMjQsIDI0MSwgMTczLCAzNywgMjQsIDIzNCwgNjAsIDYxLCAzNywgMjQsIDIyOCwgMjI4LCA2MSwgCisgICAgMzcsIDI0LCAyMTYsIDEwMywgNjEsIDM3LCAyNCwgMjIzLCAyOCwgNjEsIDM3LCAyNCwgMjMwLCAyMTksIDYxLCAzNywgMjQsIAorICAgIDIyNSwgOTcsIDYxLCAzNywgMjQsIDIxOSwgMTUwLCA2MSwgMzcsIDI0LCAyMzYsIDU4LCA2MSwgMzcsIDI0LCAyNTAsIDQ4LCAKKyAgICA2MSwgMzcsIDI0LCAyNTAsIDEwOCwgNjEsIDM3LCAyNCwgMjM0LCAxMTIsIDYxLCAzNywgMjQsIDIxNiwgMTc1LCA2MSwgMzcsIAorICAgIDI0LCAyMjUsIDEzMywgNjEsIDM3LCAyNCwgMjQxLCAxNzQsIDYxLCAzNywgMjM0LCA0LCAxMzUsIDI1MCwgMTQ5LCAzNywgCisgICAgMjM0LCA0LCAxMzUsIDIzNSwgNDgsIDM3LCAyNCwgMjM2LCA1OCwgNzAsIDIzNCwgNCwgMjE4LCAxNjAsIDg3LCAzNywgMTU0LCAKKyAgICAxMTAsIDM3LCAxNTQsIDEwNSwgMzcsIDE1NCwgMTU4LCAzNywgMTU0LCAxNjEsIDM3LCAxNTQsIDE4OSwgMzcsIDE1NCwgCisgICAgMTk0LCAzNywgMTU0LCAxOTgsIDM3LCAxNTQsIDE5NSwgMzcsIDE1NCwgMjAwLCAzNywgMTU0LCAyMTYsIDI0OCwgMzcsIAorICAgIDE1NCwgMjMwLCAxMjksIDM3LCAxNTQsIDI0NCwgOTcsIDM3LCAxNTQsIDIxMiwgNDAsIDM3LCAxNTQsIDIxMSwgMjE0LCAzNywgCisgICAgMTU0LCAyMzEsIDQwLCAzNywgMTU0LCAyNDUsIDIyNCwgMzcsIDE1NCwgMjE4LCAzOCwgMzcsIDE1NCwgMjE4LCAxMzMsIDM3LCAKKyAgICAxNTQsIDI0MSwgMjQ1LCAzNywgMTU0LCAyMTksIDU1LCAzNywgMTU0LCAyMjksIDIwNSwgMzcsIDE1NCwgMjE5LCA1LCAzNywgCisgICAgMTU0LCAyNDQsIDEwMywgMzcsIDE1NCwgMjQ5LCAyMDEsIDM3LCAxNTQsIDIzMywgMTI2LCAzNywgMTU0LCAyMjEsIDE3NSwgCisgICAgMzcsIDE1NCwgMjMxLCAxOTAsIDM3LCAxNTQsIDI0NCwgMTM4LCAzNywgMTU0LCAyMTgsIDUwLCAzNywgMTU0LCAyNDUsIDM1LCAKKyAgICAzNywgMTU0LCAyMjQsIDE4OCwgMzcsIDE1NCwgMjUzLCAxOTcsIDM3LCAxNTQsIDIzNSwgMTYwLCAzNywgMTU0LCAyMjMsIAorICAgIDYyLCAzNywgMTU0LCAyNDksIDE2NSwgMzcsIDE1NCwgMjQ5LCAxNTYsIDM3LCAxNTQsIDI0MSwgMTY2LCAzNywgMTU0LCAKKyAgICAyNTAsIDE3NSwgMzcsIDE1NCwgMjMyLCAxMTEsIDM3LCAxNTQsIDIzMywgNDcsIDM3LCAxNTQsIDIyMiwgMjUyLCAzNywgCisgICAgMTU0LCAyMzEsIDg0LCAzNywgMTU0LCAyMjMsIDg4LCAzNywgMTU0LCAyMTgsIDg4LCAzNywgMTU0LCAyMTgsIDIxLCAzNywgCisgICAgMTU0LCAyNDUsIDEyOCwgMzcsIDE1NCwgMjIzLCA2NCwgMzcsIDE1NCwgMjU0LCAxNTEsIDM3LCAxNTQsIDIyOCwgMjEzLCAKKyAgICAzNywgNTQsIDIxNiwgMTY0LCAxOTQsIDM3LCA1NCwgMjE2LCAxNjQsIDE5OCwgMzcsIDU0LCAyMTYsIDE2NCwgMTk1LCAzNywgCisgICAgNTQsIDIxNiwgMTY0LCAyMDAsIDM3LCA1NCwgMjQ0LCAxNiwgMzcsIDU0LCAyNDQsIDE3LCAxMTAsIDM3LCA1NCwgMjQ0LCAKKyAgICAxNywgMTA1LCAzNywgNTQsIDI0NCwgMTcsIDE1OCwgMzcsIDU0LCAyNDQsIDE3LCAxNjEsIDM3LCA1NCwgMjQ0LCAxNywgCisgICAgMTg5LCAzNywgNTQsIDI0NCwgMTcsIDE5NCwgMzcsIDU0LCAyNDQsIDE3LCAxOTgsIDM3LCA1NCwgMjQ0LCAxNywgMTk1LCAKKyAgICAzNywgNTQsIDI0NCwgMTcsIDIwMCwgMzcsIDU0LCAyNDQsIDExNSwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjM1LCAxMzQsIAorICAgIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0NCwgMTQ5LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyMzEsIDE2MSwgMTA5LCAyMTcsIAorICAgIDQsIDE2LCAzMSwgMjU0LCA0OCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjMxLCAxMzMsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIAorICAgIDIzNSwgNDYsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDIzNSwgNDcsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI1MywgMTg5LCAKKyAgICAxMDksIDIxNywgNCwgMTYsIDMxLCAyMjAsIDEzNywgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjI2LCAyNDAsIDEwOSwgMjE3LCAKKyAgICA0LCAxNiwgMzEsIDIyOCwgNDEsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgODYsIDQyLCAyNDEsIDE5MSwgNDIsIDI0NSwgCisgICAgODksIDQyLCAyNDUsIDQ0LCAyMzIsIDIyMCwgMjMyLCAyNDEsIDUwLCAzNywgNTYsIDYxLCAzNywgNTYsIDczLCAzNywgNTYsIAorICAgIDcwLCAzNywgNTYsIDc1LCAzNywgNTYsIDc2LCAzNywgNTYsIDE3NiwgMzcsIDU2LCAyMzQsIDkzLCAzNywgNTYsIDIzMywgCisgICAgMjE4LCAzNywgNTYsIDIzNCwgMTgzLCAzNywgNTYsIDIzNCwgMjksIDM3LCA1NiwgMjA2LCAzNywgNTYsIDIxOSwgMTkyLCAKKyAgICAzNywgNTYsIDIxOCwgODQsIDM3LCA1NiwgMjIxLCAxODIsIDM3LCA1NiwgMjE5LCA1OSwgMzcsIDU2LCAyMTcsIDEwNiwgMzcsIAorICAgIDU2LCAyMTYsIDExOCwgMzcsIDU2LCAyMTUsIDExOSwgMzcsIDU2LCAyMTcsIDIzLCAzNywgNTYsIDExMSwgMzcsIDU2LCAKKyAgICAxOTcsIDM3LCA1NiwgMjI4LCAyMzQsIDM3LCA1NiwgMjI3LCAyMzgsIDM3LCA1NiwgMjI5LCAxMDgsIDM3LCA1NiwgMjI4LCAKKyAgICA3NSwgMzcsIDU2LCAxNjIsIDM3LCA1NiwgMjQxLCAxODEsIDM3LCA1NiwgMjQwLCAyMjMsIDM3LCA1NiwgMjQxLCAyMzksIAorICAgIDM3LCA1NiwgMjQxLCA2OSwgMzcsIDU2LCAxODUsIDM3LCA1NiwgMjMwLCAyMzEsIDM3LCA1NiwgMjMwLCAxMDMsIDM3LCA1NiwgCisgICAgMjMxLCA5MiwgMzcsIDU2LCAyMzAsIDE2MiwgMzcsIDU2LCAxOTEsIDM3LCA1NiwgMjEwLCAyMTIsIDM3LCA1NiwgMjEwLCAKKyAgICAyNDQsIDM3LCA1NiwgMjA1LCAzNywgNTYsIDIyMywgMzYsIDM3LCA1NiwgMjIyLCAxNDEsIDM3LCA1NiwgMjIzLCAxMjksIAorICAgIDM3LCA1NiwgMjIyLCAyMTIsIDM3LCA1NiwgMjEyLCA2NSwgMzcsIDU2LCAyMTEsIDI1MCwgMzcsIDU2LCAyMTIsIDIyLCAzNywgCisgICAgNTYsIDIxMSwgMjI3LCA0MiwgMjU0LCA3MiwgNDIsIDI1MywgMjQwLCA0MiwgMjU0LCA5NiwgNDIsIDI1NSwgMzIsIDQyLCAKKyAgICAyMzUsIDIyNywgNDIsIDIzNSwgMTk3LCA0MiwgMjE0LCAxNjYsIDQyLCAyNDUsIDY3LCA0MiwgMjQ1LCAyMDcsIDQyLCAyMjYsIAorICAgIDE4NywgNDIsIDIyNiwgMTgxLCA0MiwgMjM0LCAyNDYsIDQyLCAyMzQsIDIxNSwgNDIsIDIzNCwgMjEyLCA0MiwgMjQzLCA5MywgCisgICAgNDIsIDI0MywgMTAyLCA0MiwgMjQyLCAyMDUsIDQyLCAyNDIsIDIwMSwgNDIsIDIzMywgMTUxLCA0MiwgMjQyLCAxOTQsIDQyLCAKKyAgICAyMzQsIDczLCA0MiwgMjM0LCA3MiwgNDIsIDIzNCwgNzEsIDQyLCAyMzQsIDcwLCA0MiwgMjQyLCA4NywgNDIsIDI0MiwgODYsIAorICAgIDQyLCAyMzMsIDE5NCwgNDIsIDIzMywgMTk2LCA0MiwgMjM0LCAxNzksIDQyLCAyMzQsIDIsIDQyLCAyMzQsIDksIDQyLCAKKyAgICAyMjIsIDE3LCA0MiwgMjIxLCAyMzgsIDQyLCAyMTksIDEzMCwgNDIsIDIyMCwgMTQyLCA0MiwgMjIwLCAxNDEsIDQyLCAyNDgsIAorICAgIDIxOSwgNDIsIDI0OCwgMzcsIDQyLCAyNDcsIDEyMiwgNDIsIDIxNiwgMzMsIDQyLCAyMjksIDIwMSwgNDIsIDIyOCwgNDIsIAorICAgIDQyLCAyNDIsIDMzLCA0MiwgMjI2LCA4NSwgNDIsIDIyNiwgODQsIDQyLCAyNTIsIDE4OSwgNDIsIDIyNSwgMTA2LCA0MiwgCisgICAgMjI1LCA3MCwgNDIsIDIyNSwgNzEsIDQyLCAyNTEsIDIzNSwgNDIsIDI0MCwgMjIyLCA0MiwgMjQwLCAyMTgsIDQyLCAyNTEsIAorICAgIDkyLCA0MiwgMjQwLCAyMDUsIDQyLCAyNDEsIDIxNiwgNDIsIDIyNSwgMTYwLCA0MiwgMjI1LCAxOTUsIDQyLCAyNDEsIDE5OSwgCisgICAgNDIsIDIyNSwgMTkyLCA0MiwgMjI1LCAyMDgsIDQyLCAyNTIsIDYyLCA0MiwgMjI1LCA3LCA0MiwgMjUxLCAxODEsIDQyLCAKKyAgICAyNDEsIDU3LCA0MiwgMjI0LCAyNTEsIDQyLCAyNDEsIDQ5LCA0MiwgMjQxLCA1MSwgNDIsIDIzMSwgMjAyLCA0MiwgMjMxLCAKKyAgICAxOTgsIDQyLCAyMzEsIDIwNywgNDIsIDIzMSwgMTUxLCA0MiwgMjMxLCAxNzYsIDQyLCAyMzAsIDE5OCwgNDIsIDIzMCwgCisgICAgMTc3LCA0MiwgMjMwLCAxNzYsIDQyLCAyMzEsIDc1LCA0MiwgMjMxLCA3MiwgNDIsIDIzMSwgNzYsIDQyLCAyMTEsIDEwMiwgCisgICAgNDIsIDIxMSwgMTAwLCA0MiwgMjEwLCAyMDEsIDQyLCAyMjIsIDIyNywgNDIsIDIyMiwgMjMxLCA0MiwgMjIyLCAxMTgsIDQyLCAKKyAgICAyMjIsIDExMiwgNDIsIDIyMywgODYsIDQyLCAyMjMsIDgzLCA0MiwgMjEyLCAzOCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgCisgICAgMjQwLCAyNDAsIDIxMCwgODYsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAxMTAsIDEwOSwgMjE3LCA0LCAxNiwgCisgICAgMzEsIDI0MCwgMjQwLCAxMDUsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAxNTgsIDEwOSwgMjE3LCA0LCAxNiwgCisgICAgMzEsIDI0MCwgMjQwLCAxNjEsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAxODksIDEwOSwgMjE3LCA0LCAxNiwgCisgICAgMzEsIDI0MCwgMjQwLCAxOTQsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAxOTgsIDEwOSwgMjE3LCA0LCAxNiwgCisgICAgMzEsIDI0MCwgMjQwLCAxOTUsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAyMDAsIDEwOSwgMjE3LCA0LCAxNiwgCisgICAgMzEsIDI0MCwgMjQwLCAyMTYsIDI0OCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDAsIDI0NSwgMTY4LCAxMDksIAorICAgIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0MCwgMjE1LCA3NiwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDAsIDIxNiwgCisgICAgMTY1LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0MCwgMjQ0LCA2LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDAsIAorICAgIDI0MCwgMjQ0LCAxMTksIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAyMTksIDEyMCwgMTA5LCAyMTcsIDQsIDE2LCAKKyAgICAzMSwgMjQwLCAyNDAsIDIyMCwgMTIwLCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDAsIDI0MCwgMjQ1LCAxOTEsIDEwOSwgCisgICAgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAyMjgsIDE5OCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDAsIDIxNSwgCisgICAgNzMsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0MCwgMjQwLCAyMTUsIDY3LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDAsIAorICAgIDI0MCwgMjE1LCA2MywgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQwLCAyNDAsIDIxNSwgNjQsIDEwOSwgMjE3LCA0LCAxNiwgCisgICAgMzEsIDI0MCwgMjQwLCAyMTUsIDY5LCA0MiwgMjQwLCAyMzEsIDQyLCAyNDgsIDIyMiwgNDIsIDI1MywgMTkzLCA0MiwgMTMwLCAKKyAgICA0MiwgMjI2LCAxMjYsIDQyLCAyMjUsIDIyNiwgNDIsIDI0NywgMTQ4LCA0MiwgMjQ3LCAxNDksIDIxOCwgMjM0LCA0MiwgCisgICAgMjQ3LCAxNDksIDI0OSwgMTA5LCA0MiwgMjM1LCAxNTcsIDQyLCAyNDUsIDkyLCAyMjksIDIwNiwgMjQxLCAyMTcsIDQyLCAKKyAgICAyNDUsIDkyLCAyMjksIDIwNiwgMjE3LCAxNzUsIDQyLCAyNDUsIDkyLCAyMjksIDIwNiwgMjE3LCA3NSwgNDIsIDI0NSwgOTIsIAorICAgIDIyOSwgMjA2LCAyMzEsIDcxLCA0MiwgMjQ5LCAxNTgsIDQyLCAyMjYsIDkxLCAyNTQsIDEyNiwgNDIsIDE5NywgNDIsIDIzMCwgCisgICAgMTA0LCA2MSwgNDIsIDE4NSwgNDIsIDE3NiwgNDIsIDIzNCwgMTg2LCA0MiwgMjMxLCAxMzAsIDQyLCAyNDMsIDgxLCA0MiwgCisgICAgMjUxLCAxOSwgNDIsIDIzNCwgMTg1LCA0MiwgMjI1LCAxNTEsIDQyLCAyMjksIDgyLCA0MiwgMjMwLCAxMDQsIDI0NSwgNywgCisgICAgNDIsIDIzMCwgMTA0LCAyNDMsIDIwMywgNDIsIDIzMSwgMTYsIDQyLCAyMzQsIDEzNSwgNDIsIDI0MCwgMTY0LCA0MiwgMjM0LCAKKyAgICA5NSwgNDIsIDIzMCwgMjMzLCA0MiwgMjQyLCAyMTcsIDQyLCAyMTYsIDEyMCwgNDIsIDIzMCwgMTA0LCAxNTYsIDQyLCAyMzAsIAorICAgIDE3MCwgNDIsIDI0NywgMTU4LCA0MiwgMjM0LCA0MSwgNDIsIDI0NCwgNDYsIDQyLCAyMjgsIDExMywgNDIsIDIzMCwgMTA0LCAKKyAgICAxOTMsIDQyLCAyMzAsIDE2NywgNDIsIDI0OSwgMjQwLCA0MiwgMjM0LCAzNSwgNDIsIDIzMCwgMTY4LCAyMTgsIDIzNCwgNDIsIAorICAgIDI0OSwgMjQxLCAyMTgsIDIzNCwgNDIsIDIzMiwgNTEsIDIxOCwgMjM0LCA0MiwgMjM0LCAzNiwgMjE4LCAyMzQsIDQyLCAKKyAgICAyMzAsIDE2OCwgMjQ5LCAxMDksIDQyLCAyNDksIDI0MSwgMjQ5LCAxMDksIDQyLCAyMzIsIDUxLCAyNDksIDEwOSwgNDIsIAorICAgIDIzNCwgMzYsIDI0OSwgMTA5LCA0MiwgMjMyLCA1MSwgMTE3LCAyMjIsIDkyLCA0MiwgMjMyLCA1MSwgMTE3LCAyMjIsIDkzLCAKKyAgICAyMTgsIDIzNCwgNDIsIDE5MCwgNDIsIDIzMywgMjUyLCA0MiwgMjMwLCAxMDYsIDQyLCAyNDIsIDE1MiwgNDIsIDIyMywgCisgICAgMTc3LCA0MiwgMjIzLCAxNzgsIDExNywgMjIyLCA5MiwgNDIsIDIyMywgMTc4LCAxMTcsIDIyMiwgOTMsIDIxOCwgMjM0LCAKKyAgICA0MiwgMjI0LCAxNjMsIDQyLCAyMjgsIDE0LCA0MiwgMjMwLCAxMDQsIDIyMiwgOTIsIDQyLCAyMzAsIDEwNSwgNDIsIDIyNCwgCisgICAgMTE3LCA0MiwgMjI3LCAxNzcsIDQyLCAyMzAsIDEwNCwgMjE0LCAxMDUsIDQyLCAyMzAsIDUwLCA0MiwgMjMzLCAxODYsIDQyLCAKKyAgICAyMzAsIDUxLCAyMzEsIDc1LCA0MiwgMjI0LCAxMTYsIDQyLCAyMjcsIDE3NiwgNDIsIDIzMCwgMTA0LCAyMTIsIDk4LCA0MiwgCisgICAgMjMwLCA0NCwgNDIsIDIzMywgMTg0LCA0MiwgMjMwLCA0NSwgMjMxLCA3NSwgNDIsIDIzNSwgMjUsIDIyNiwgMjIxLCA0MiwgCisgICAgMjMyLCA1MSwgMjI2LCAyMjEsIDQyLCAyNTQsIDEzNywgNDIsIDI1MSwgMTYxLCA0MiwgMjUwLCAyMTUsIDQyLCAyNTAsIAorICAgIDE5MiwgNDIsIDI1MSwgNjgsIDExNywgMjM0LCAxMzUsIDQyLCAyNDksIDIzOSwgNDIsIDI0OCwgMTQzLCA0MiwgMjQyLCA3MywgCisgICAgNDIsIDE2MiwgNDIsIDI0MCwgMjMyLCA0MiwgMjM2LCAwLCA0MiwgMjM0LCA0OCwgNDIsIDIzNCwgMzYsIDI1MCwgMjUxLCAKKyAgICA0MiwgMjMzLCAyMjAsIDQyLCAyMzIsIDE2MCwgNDIsIDIzMiwgMTU5LCA0MiwgMjMyLCAxNDgsIDQyLCAyMzIsIDY0LCA0MiwgCisgICAgMjMxLCAxMzEsIDIxOSwgODAsIDQyLCAyMzAsIDE5NywgNDIsIDIzMCwgMTUzLCA0MiwgMjI1LCAxNDksIDQyLCAyMjUsIDIwLCAKKyAgICA0MiwgMjI0LCAyMjAsIDQyLCAyMjQsIDIxOCwgNDIsIDIxOCwgMjI4LCA0MiwgMjE4LCAzLCA0MiwgMjEyLCAyNCwgNDIsIAorICAgIDIxNCwgMTA2LCAxMTcsIDE5MywgNDIsIDExNSwgMTE3LCAxOTMsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAKKyAgICAxMTAsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAxMDUsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAKKyAgICAxNTgsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAxNjEsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAKKyAgICAxODksIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAxOTQsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAKKyAgICAxOTgsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAxOTUsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAKKyAgICAyMDAsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAyMTYsIDI0OCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAKKyAgICAxNDcsIDI0NSwgMTY4LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE0NywgMjE1LCA3NiwgMTA5LCAyMTcsIDQsIDE2LCAKKyAgICAzMSwgMjQ4LCAxNDcsIDIxNiwgMTY1LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE0NywgMjQ0LCA2LCAxMDksIDIxNywgCisgICAgNCwgMTYsIDMxLCAyNDgsIDE0NywgMjQ0LCAxMTksIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAyMTksIDEyMCwgCisgICAgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNDcsIDIyMCwgMTIwLCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE0NywgCisgICAgMjQ1LCAxOTEsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAyMjgsIDE5OCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgCisgICAgMjQ4LCAxNDcsIDIxNSwgNzMsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAyMTUsIDY3LCAxMDksIDIxNywgNCwgCisgICAgMTYsIDMxLCAyNDgsIDE0NywgMjE1LCA2MywgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNDcsIDIxNSwgNjQsIDEwOSwgCisgICAgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAyMTUsIDY5LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE0NywgMjE1LCAKKyAgICA3MCwgMTA5LCAyMTcsIDQsIDE2LCAzMSwgMjQ4LCAxNDcsIDIxNSwgNjUsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgCisgICAgMTQ3LCAyMTUsIDY2LCAxMDksIDIxNywgNCwgMTYsIDMxLCAyNDgsIDE0NywgMjE1LCA3MiwgMTA5LCAyMTcsIDQsIDE2LCAKKyAgICAzMSwgMjQ4LCAxNDcsIDIxNSwgNjgsIDEwOSwgMjE3LCA0LCAxNiwgMzEsIDI0OCwgMTQ3LCAyMTYsIDE2MywgMTA5LCAyMTcsIAorICAgIDQsIDE2LCAzMSwgMjQ4LCAxNDcsIDIxNiwgMTYyLCA0MiwgMjQzLCAxMTksIDI0MSwgMTkzLCAzMSwgMjE2LCAxOTcsIDI0OSwgCisgICAgMTQxLCAyNDEsIDIyNCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjIzLCAxMjMsIDI0NSwgMjI0LCAyNDEsIDE5MywgMzEsIAorICAgIDI0NywgMjMyLCAyNTMsIDIwOCwgMjE2LCAxOTcsIDI1MiwgNTcsIDI0MSwgMTkzLCAzMSwgMjEwLCAyMjMsIDI0NCwgMzksIAorICAgIDI0MSwgMTkzLCAzMSwgMjEyLCA1OSwgMjQxLCAxOTMsIDMxLCAyNDksIDIwNCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgCisgICAgMjU0LCA0LCAyNDEsIDE5MywgMzEsIDI0MSwgNjEsIDIxNiwgMzksIDI0MSwgMTkzLCAzMSwgNCwgMjE3LCA2MiwgMjQxLCAKKyAgICAxOTMsIDMxLCAyMTUsIDIzOCwgMjQxLCAxOTMsIDMxLCAyMjUsIDIyMCwgMjQxLCAxOTMsIDMxLCAyMTgsIDE1OSwgMjQxLCAKKyAgICAxOTMsIDMxLCAyNDQsIDE0MCwgMjQxLCAxOTMsIDMxLCAyNDIsIDEzMywgMjI0LCAyNDEsIDI0MSwgMTkzLCAzMSwgMjMwLCAKKyAgICAxNTYsIDI0MSwgMTkzLCAzMSwgMjQ1LCAxMjcsIDI0MSwgMTkzLCAzMSwgMjQ0LCA0MCwgMjQxLCAxOTMsIDMxLCAyMTEsIAorICAgIDIwNywgMjI2LCAxOTgsIDIxNiwgMTk3LCAyNDgsIDg3LCAyNDEsIDE5MywgMzEsIDI1NCwgNTIsIDI0MSwgMTkzLCAzMSwgCisgICAgMjQ5LCAxODYsIDI0MSwgMTkzLCAzMSwgMjUxLCAyMjgsIDIxNiwgMTM5LCAyNDEsIDE5MywgMzEsIDI0MiwgMTUwLCAyNDEsIAorICAgIDE5MywgMzEsIDIxOCwgMjQ2LCAyNTQsIDcxLCAyNDEsIDE5MywgMzEsIDIyMywgNTQsIDI0MSwgMTkzLCAzMSwgMjM1LCAKKyAgICAyMjEsIDI0MSwgMTkzLCAzMSwgMjQyLCAxMzMsIDIxNywgNjIsIDI0MSwgMTkzLCAzMSwgMjMwLCAxMTIsIDI0OSwgMTYwLCAKKyAgICAyNDEsIDE5MywgMzEsIDI0MiwgMTMzLCAyMjQsIDE5OCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjU1LCAxOSwgMjEyLCAKKyAgICA0MCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjUwLCA5LCAyNDQsIDk3LCAyNDEsIDE5MywgMzEsIDIzNSwgMjM0LCAyNDEsIAorICAgIDE5MywgMzEsIDI0NiwgNTgsIDI0MSwgMTkzLCAzMSwgMjIzLCA1NywgMjQxLCAxOTMsIDMxLCAyNDIsIDEzMywgMjI0LCAKKyAgICAyMjUsIDI0MSwgMTkzLCAzMSwgMjI0LCAxNzgsIDI0MSwgMTkzLCAzMSwgMjQ4LCAxNjIsIDY0LCAyMTYsIDE5NywgMjMyLCAKKyAgICAyMzEsIDI0MSwgMTkzLCAzMSwgMjE2LCAxOTcsIDI0NCwgMTc1LCAyNDEsIDE5MywgMzEsIDIyNiwgMTY0LCAyNDEsIDE5MywgCisgICAgMzEsIDIyNiwgMjQ1LCAyNDEsIDE5MywgMzEsIDI0OCwgNjAsIDI0MSwgMTkzLCAzMSwgMjQ4LCA4MCwgMjQxLCAxOTMsIDMxLCAKKyAgICAyMzUsIDI0OCwgMjQxLCAxOTMsIDMxLCAyNTEsIDE1MCwgMjQxLCAxOTMsIDMxLCAyNDksIDIyMiwgMjE2LCA0MywgMjMxLCAKKyAgICA3NywgMjQxLCAxOTMsIDMxLCAyNDMsIDg4LCAyMTYsIDM5LCAyNDEsIDE5MywgMzEsIDIyNCwgMTI2LCAyMTQsIDE1NCwgCisgICAgMjQxLCAxOTMsIDMxLCAyMjYsIDE2MywgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjEyLCAxMywgMjQxLCAxOTMsIDMxLCAKKyAgICAyMjMsIDQ2LCAyNDEsIDE5MywgMzEsIDIxNiwgMTk3LCAyNTAsIDIyMSwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjU0LCAKKyAgICAwLCAyMTYsIDEzNCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjM0LCAxODAsIDIxOCwgMTM1LCAyMzAsIDExNiwgMjQxLCAKKyAgICAxOTMsIDMxLCAyNDgsIDMzLCAyNDEsIDE5MywgMzEsIDIxNiwgMTk3LCAyMzEsIDE1MywgMjMxLCAyMDMsIDI0MSwgMTkzLCAKKyAgICAzMSwgMjU1LCAyMCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgMjEyLCA1NCwgMjQxLCAxOTMsIDMxLCAyMTYsIDE5NywgCisgICAgMjQzLCA0OCwgMjExLCAyMzksIDI0MSwgMTkzLCAzMSwgMjE2LCAxOTcsIDIzNSwgNTMsIDIzMywgMTA4LCAyNDEsIDE5MywgCisgICAgMzEsIDI0NywgMTg1LCAyNDEsIDE5MywgMzEsIDIzMiwgMjIxLCAyNDEsIDE5MywgMzEsIDIzNSwgMjI0LCAyMTUsIDE4OCwgCisgICAgMjQxLCAxOTMsIDMxLCA0LCAyMjQsIDE5OCwgMjQxLCAxOTMsIDMxLCAyNTQsIDIxOCwgMjQ5LCAyMTMsIDI0MSwgMTkzLCAKKyAgICAzMSwgMjUyLCA2MCwgMjQ5LCAyMTMsIDgsIDMsIDIzNSwgMTYxLCA4LCAzLCAyMzUsIDE1NCwgOCwgMywgNzMsIDgsIDMsIAorICAgIDIzNSwgMTgzLCA4LCAzLCAyMzYsIDU5LCA4LCAzLCAyMzYsIDQyLCA4LCAzLCAyMzYsIDYxLCA4LCAzLCAyMzYsIDYwLCA4LCAKKyAgICAzLCAyNTMsIDIwNywgOCwgMywgMjUzLCAxNzAsIDgsIDMsIDYxLCA4LCAzLCAyNTQsIDczLCA4LCAzLCAyMTQsIDE2NCwgOCwgCisgICAgMywgMjE0LCAxNjcsIDgsIDMsIDIxNCwgMTY1LCA4LCAzLCAyMjYsIDE0MSwgOCwgMywgMjI2LCAxMTUsIDgsIDMsIDc2LCA4LCAKKyAgICAzLCAyMjYsIDE3NiwgOCwgMywgMjQ1LCAzNiwgOCwgMywgNzUsIDgsIDMsIDIxMSwgMTk1LCA4LCAzLCAyNTEsIDIyOSwgOCwgCisgICAgMywgMjUxLCAyMjYsIDgsIDMsIDI1MiwgNywgOCwgMywgMjUxLCAyMzksIDgsIDMsIDI1MSwgMjUyLCA4LCAzLCAyNTEsIAorICAgIDI1MSwgOCwgMywgMjUxLCAyNTQsIDgsIDMsIDI1MSwgMjUzLCA4LCAzLCAyNTIsIDEyMiwgOCwgMywgMjUyLCAxMTQsIDgsIAorICAgIDMsIDI1MiwgMTkyLCA4LCAzLCAyNTIsIDE0MywgOCwgMywgMjUxLCAxMDIsIDgsIDMsIDI1MSwgMTA2LCA4LCAzLCAyNTEsIAorICAgIDEwMywgOCwgMywgMjUxLCAxODAsIDgsIDMsIDI1MSwgMTY0LCA4LCAzLCAyNTEsIDIwNiwgOCwgMywgMjUxLCAxODYsIDgsIAorICAgIDMsIDI1MiwgMjIsIDgsIDMsIDI1MiwgNzYsIDgsIDMsIDI1MiwgMzQsIDgsIDMsIDI1MSwgODgsIDgsIDMsIDI1MSwgODUsIAorICAgIDgsIDMsIDI1MSwgMTI2LCA4LCAzLCAyNTEsIDEwMSwgOCwgMywgMjUxLCA5NSwgOCwgMywgMjUxLCA5OSwgOCwgMywgMjUxLCAKKyAgICA3MywgOCwgMywgMjUxLCA3MSwgOCwgMywgMjUxLCA3OCwgOCwgMywgMjUxLCA3NiwgOCwgMywgMjUxLCA3NCwgOCwgMywgCisgICAgMjUxLCA3NSwgOCwgMywgMjI1LCA1MCwgOCwgMywgMjI1LCA0NiwgOCwgMywgMjI1LCAxMDksIDgsIDMsIDIyNSwgNjAsIDgsIAorICAgIDMsIDIyNSwgNzYsIDgsIDMsIDIyNSwgMTAzLCA4LCAzLCAyMjUsIDk5LCA4LCAzLCAyMjUsIDI0MSwgOCwgMywgMjI1LCAKKyAgICAyMzEsIDgsIDMsIDE5MCwgOCwgMywgMjI2LCAyMiwgOCwgMywgMjI0LCAxMzYsIDgsIDMsIDIyNCwgMTM4LCA4LCAzLCAyMjQsIAorICAgIDEzNywgOCwgMywgMjI0LCAyMzQsIDgsIDMsIDIyNCwgMjIzLCA4LCAzLCAyMjUsIDE3LCA4LCAzLCAyMjQsIDI0NiwgOCwgMywgCisgICAgMjI0LCAxMjIsIDgsIDMsIDIyNCwgMTE4LCA4LCAzLCAyMjQsIDE1MSwgOCwgMywgMjI0LCAxMzUsIDgsIDMsIDIyNCwgMTI3LCAKKyAgICA4LCAzLCAyMjQsIDEzMywgOCwgMywgMjI0LCAxMDEsIDgsIDMsIDIyNCwgMTAwLCA4LCAzLCAyMjQsIDEwNSwgOCwgMywgCisgICAgMjI0LCAxMDQsIDgsIDMsIDIyNCwgMTAyLCA4LCAzLCAyMjQsIDEwMywgOCwgMywgMjUyLCA5NywgOCwgMywgMjUyLCA5NiwgCisgICAgOCwgMywgMjUyLCAxMDMsIDgsIDMsIDI1MiwgOTgsIDgsIDMsIDI1MiwgMTAwLCA4LCAzLCAyNTIsIDk5LCA4LCAzLCAyNTIsIAorICAgIDEwMiwgOCwgMywgMjUyLCAxMDEsIDgsIDMsIDI1MiwgMTA5LCA4LCAzLCAyNTIsIDEwOCwgOCwgMywgMjUyLCAxMTIsIDgsIAorICAgIDMsIDI1MiwgMTEwLCA4LCAzLCAyNTIsIDg4LCA4LCAzLCAyNTIsIDkwLCA4LCAzLCAyNTIsIDg5LCA4LCAzLCAyNTIsIDkzLCAKKyAgICA4LCAzLCAyNTIsIDkyLCA4LCAzLCAyNTIsIDk1LCA4LCAzLCAyNTIsIDk0LCA4LCAzLCAyNTIsIDEwNCwgOCwgMywgMjUyLCAKKyAgICAxMDcsIDgsIDMsIDI1MiwgMTA1LCA4LCAzLCAyNTIsIDg0LCA4LCAzLCAyNTIsIDgzLCA4LCAzLCAyNTIsIDkxLCA4LCAzLCAKKyAgICAyNTIsIDg3LCA4LCAzLCAyNTIsIDg1LCA4LCAzLCAyNTIsIDg2LCA4LCAzLCAyNTIsIDgwLCA4LCAzLCAyNTIsIDc5LCA4LCAKKyAgICAzLCAyNTIsIDgyLCA4LCAzLCAyNTIsIDgxLCA4LCAzLCAyMjksIDE3MCwgOCwgMywgMjI5LCAxNjksIDgsIDMsIDIyOSwgCisgICAgMTc1LCA4LCAzLCAyMjksIDE3MSwgOCwgMywgMjI5LCAxNzIsIDgsIDMsIDIyOSwgMTc0LCA4LCAzLCAyMjksIDE3MywgOCwgCisgICAgMywgMjI5LCAxNzgsIDgsIDMsIDIyOSwgMTc3LCA4LCAzLCAyMjksIDE4MCwgOCwgMywgMjI5LCAxNzksIDgsIDMsIDIyOSwgCisgICAgMTY2LCA4LCAzLCAyMjksIDE2NSwgOCwgMywgMjI5LCAxNjgsIDgsIDMsIDIyOSwgMTY3LCA4LCAzLCAyMjksIDE1OSwgOCwgCisgICAgMywgMjI5LCAxNTgsIDgsIDMsIDIyOSwgMTYzLCA4LCAzLCAyMjksIDE2MiwgOCwgMywgMjI5LCAxNjAsIDgsIDMsIDIyOSwgCisgICAgMTYxLCA4LCAzLCAyMjksIDE1MywgOCwgMywgMjI5LCAxNTIsIDgsIDMsIDIyOSwgMTU3LCA4LCAzLCAyMjksIDE1NiwgOCwgCisgICAgMywgMjI5LCAxNTQsIDgsIDMsIDIyOSwgMTU1LCA4LCAzLCAyNDEsIDExMSwgOCwgMywgMjQxLCAxMTAsIDgsIDMsIDI0MSwgCisgICAgMTE2LCA4LCAzLCAyNDEsIDExMiwgOCwgMywgMjQxLCAxMTMsIDgsIDMsIDI0MSwgMTE1LCA4LCAzLCAyNDEsIDExNCwgOCwgCisgICAgMywgMjQxLCAxMTksIDgsIDMsIDI0MSwgMTE4LCA4LCAzLCAyNDEsIDEyMSwgOCwgMywgMjQxLCAxMjAsIDgsIDMsIDI0MSwgCisgICAgMTAyLCA4LCAzLCAyNDEsIDEwNCwgOCwgMywgMjQxLCAxMDMsIDgsIDMsIDI0MSwgMTA3LCA4LCAzLCAyNDEsIDEwNiwgOCwgCisgICAgMywgMjQxLCAxMDksIDgsIDMsIDI0MSwgMTA4LCA4LCAzLCAyNDEsIDk4LCA4LCAzLCAyNDEsIDk3LCA4LCAzLCAyNDEsIAorICAgIDEwNSwgOCwgMywgMjQxLCAxMDEsIDgsIDMsIDI0MSwgOTksIDgsIDMsIDI0MSwgMTAwLCA4LCAzLCAyNDEsIDkyLCA4LCAzLCAKKyAgICAyNDEsIDk2LCA4LCAzLCAyNDEsIDk1LCA4LCAzLCAyNDEsIDkzLCA4LCAzLCAyNDEsIDk0LCA4LCAzLCAyMzAsIDE3MywgOCwgCisgICAgMywgMjMwLCAxNzIsIDgsIDMsIDIzMCwgMjMxLCA4LCAzLCAyMzAsIDE3OSwgOCwgMywgMjMwLCAyMDQsIDgsIDMsIDIzMCwgCisgICAgMjIyLCA4LCAzLCAyMzAsIDIyMCwgOCwgMywgMjMxLCAxNDAsIDgsIDMsIDIzMSwgMTM1LCA4LCAzLCAxODUsIDgsIDMsIAorICAgIDIzMSwgMTczLCA4LCAzLCAyMzAsIDc1LCA4LCAzLCAyMzAsIDc0LCA4LCAzLCAyMzAsIDc4LCA4LCAzLCAyMzAsIDc2LCA4LCAKKyAgICAzLCAyMzAsIDEyMiwgOCwgMywgMjMwLCAxMDgsIDgsIDMsIDIzMCwgMTYyLCA4LCAzLCAyMzAsIDEyNywgOCwgMywgMjMxLCAKKyAgICAyNywgOCwgMywgMjMxLCA5MiwgOCwgMywgMjMwLCA1NiwgOCwgMywgMjMwLCA1MiwgOCwgMywgMjMwLCAxMDMsIDgsIDMsIAorICAgIDIzMCwgNzEsIDgsIDMsIDIzMCwgNjQsIDgsIDMsIDIzMCwgNjksIDgsIDMsIDIzMCwgMjksIDgsIDMsIDIzMCwgMjgsIDgsIAorICAgIDMsIDIzMCwgMzQsIDgsIDMsIDIzMCwgMzEsIDgsIDMsIDI0NCwgODQsIDgsIDMsIDI0NCwgNzksIDgsIDMsIDI0NCwgMTIyLCAKKyAgICA4LCAzLCAyNDQsIDk5LCA4LCAzLCAyNDQsIDE2OCwgOCwgMywgMjQ0LCAxNTksIDgsIDMsIDI0NCwgMTk3LCA4LCAzLCAyNDQsIAorICAgIDE3MSwgOCwgMywgMjQ0LCA0LCA4LCAzLCAyNDQsIDQ0LCA4LCAzLCAyNDQsIDI4LCA4LCAzLCAyNDMsIDIxOSwgOCwgMywgCisgICAgMjQzLCAyMTgsIDgsIDMsIDI0MywgMjM1LCA4LCAzLCAyNDMsIDIyNCwgOCwgMywgMjQzLCAyMjIsIDgsIDMsIDI0MywgMjIzLCAKKyAgICA4LCAzLCAyNDMsIDIwNiwgOCwgMywgMjQzLCAyMDUsIDgsIDMsIDI0MywgMjA5LCA4LCAzLCAyNDMsIDIwNywgOCwgMywgCisgICAgMjEzLCAxNDQsIDgsIDMsIDIxMywgMTM5LCA4LCAzLCAyMTMsIDE3NiwgOCwgMywgMjEzLCAxNTMsIDgsIDMsIDIxMywgMTY2LCAKKyAgICA4LCAzLCAyMTMsIDE2MywgOCwgMywgMjEzLCAxNjgsIDgsIDMsIDIxMywgMTY3LCA4LCAzLCAyMTQsIDcsIDgsIDMsIDIxNCwgCisgICAgMiwgOCwgMywgMjE0LCAyNywgOCwgMywgMjE0LCAxOCwgOCwgMywgMjEzLCAxMjUsIDgsIDMsIDIxMywgMTIxLCA4LCAzLCAKKyAgICAyMTMsIDEzOCwgOCwgMywgMjEzLCAxMjYsIDgsIDMsIDIxMywgMTc4LCA4LCAzLCAyMTMsIDI0NCwgOCwgMywgMjEyLCAxMTAsIAorICAgIDgsIDMsIDIxMiwgMTA4LCA4LCAzLCAyMTIsIDExNiwgOCwgMywgMjEyLCAxMTMsIDgsIDMsIDIxMiwgMTExLCA4LCAzLCAKKyAgICAyMTIsIDExMiwgOCwgMywgMjEyLCAxMDIsIDgsIDMsIDIxMiwgMTAxLCA4LCAzLCAyMTIsIDEwNiwgOCwgMywgMjEyLCAxMDUsIAorICAgIDgsIDMsIDIxMiwgMTAzLCA4LCAzLCAyMTIsIDEwNCwgOCwgMywgMjQ3LCAxNzksIDgsIDMsIDI0NywgMTY3LCA4LCAzLCAKKyAgICAyNDgsIDQsIDgsIDMsIDI0NywgMjA0LCA4LCAzLCAyNDcsIDIzNywgOCwgMywgMjQ3LCAyNDEsIDgsIDMsIDI0NywgMjQwLCAKKyAgICA4LCAzLCAyNDgsIDE1MywgOCwgMywgMjQ4LCAxNDgsIDgsIDMsIDI0OCwgMjIyLCA4LCAzLCAyNDgsIDE3MywgOCwgMywgCisgICAgMjQ2LCA2MywgOCwgMywgMjQ2LCA2NCwgOCwgMywgMjQ3LCAxMjEsIDgsIDMsIDI0NiwgMTAzLCA4LCAzLCAyNDcsIDE0NiwgCisgICAgOCwgMywgMjQ3LCAxMjMsIDgsIDMsIDI0OCwgMzEsIDgsIDMsIDI0OCwgOTEsIDgsIDMsIDI0OCwgNDYsIDgsIDMsIDI0NiwgCisgICAgNTQsIDgsIDMsIDI0NiwgNTIsIDgsIDMsIDI0NiwgNzksIDgsIDMsIDI0NiwgNjIsIDgsIDMsIDI0NiwgNTcsIDgsIDMsIAorICAgIDI0NiwgNjAsIDgsIDMsIDIxNiwgNjgsIDgsIDMsIDIxNiwgNjIsIDgsIDMsIDIxNiwgMTE4LCA4LCAzLCAyMTYsIDc3LCA4LCAKKyAgICAzLCAyMTYsIDExMCwgOCwgMywgMjE2LCAxMTIsIDgsIDMsIDIxNiwgMTExLCA4LCAzLCAyMTcsIDQ3LCA4LCAzLCAyMTcsIAorICAgIDM0LCA4LCAzLCAyMTcsIDEwNiwgOCwgMywgMjE3LCA1NSwgOCwgMywgMjE1LCAxMDMsIDgsIDMsIDIxNSwgMTAyLCA4LCAzLCAKKyAgICAyMTUsIDEwNSwgOCwgMywgMjE1LCAxMDQsIDgsIDMsIDIxNiwgNiwgOCwgMywgMjE2LCAyLCA4LCAzLCAxMTEsIDgsIDMsIAorICAgIDIxNiwgMTQsIDgsIDMsIDIxNiwgMjE0LCA4LCAzLCAyMTcsIDIzLCA4LCAzLCAyMTYsIDIzOCwgOCwgMywgMjE1LCA4OCwgOCwgCisgICAgMywgMjE1LCA4MywgOCwgMywgMjE1LCAxMTksIDgsIDMsIDIxNSwgMTAxLCA4LCAzLCAyMTUsIDg5LCA4LCAzLCAyMTUsIDk5LCAKKyAgICA4LCAzLCAyNDgsIDEwOCwgOCwgMywgMjQ4LCAxMDcsIDgsIDMsIDI0OCwgMTEzLCA4LCAzLCAyNDgsIDEwOSwgOCwgMywgCisgICAgMjQ4LCAxMTAsIDgsIDMsIDI0OCwgMTEyLCA4LCAzLCAyNDgsIDExMSwgOCwgMywgMjQ4LCAxMjksIDgsIDMsIDI0OCwgMTI4LCAKKyAgICA4LCAzLCAyNDgsIDEzNiwgOCwgMywgMjQ4LCAxMzAsIDgsIDMsIDI0OCwgOTgsIDgsIDMsIDI0OCwgMTAwLCA4LCAzLCAyNDgsIAorICAgIDk5LCA4LCAzLCAyNDgsIDEwMywgOCwgMywgMjQ4LCAxMDIsIDgsIDMsIDI0OCwgMTA2LCA4LCAzLCAyNDgsIDEwNCwgOCwgMywgCisgICAgMjQ4LCAxMjEsIDgsIDMsIDI0OCwgMTI0LCA4LCAzLCAyNDgsIDEyMiwgOCwgMywgMjQ4LCA5NCwgOCwgMywgMjQ4LCA5MywgCisgICAgOCwgMywgMjQ4LCAxMDEsIDgsIDMsIDI0OCwgOTcsIDgsIDMsIDI0OCwgOTUsIDgsIDMsIDI0OCwgOTYsIDgsIDMsIDIyOSwgCisgICAgMTI3LCA4LCAzLCAyMjksIDEyNiwgOCwgMywgMjI5LCAxMzQsIDgsIDMsIDIyOSwgMTI5LCA4LCAzLCAyMjksIDEzMCwgOCwgCisgICAgMywgMjI5LCAxMzEsIDgsIDMsIDIyOSwgMTQzLCA4LCAzLCAyMjksIDE0MiwgOCwgMywgMjI5LCAxNDksIDgsIDMsIDIyOSwgCisgICAgMTQ0LCA4LCAzLCAyMjksIDExOSwgOCwgMywgMjI5LCAxMTgsIDgsIDMsIDIyOSwgMTI1LCA4LCAzLCAyMjksIDEyMCwgOCwgCisgICAgMywgMjI5LCAxMzUsIDgsIDMsIDIyOSwgMTQxLCA4LCAzLCAyMjksIDEzOSwgOCwgMywgMjI5LCAxMTEsIDgsIDMsIDIyOSwgCisgICAgMTEwLCA4LCAzLCAyMjksIDExNiwgOCwgMywgMjI5LCAxMTQsIDgsIDMsIDIyOSwgMTEyLCA4LCAzLCAyMjksIDExMywgOCwgCisgICAgMywgMjQxLCA3OCwgOCwgMywgMjQxLCA3NywgOCwgMywgMjQxLCA4NCwgOCwgMywgMjQxLCA3OSwgOCwgMywgMjQxLCA4MSwgCisgICAgOCwgMywgMjQxLCA4MCwgOCwgMywgMjQxLCA4MywgOCwgMywgMjQxLCA4MiwgOCwgMywgMjQxLCA4OSwgOCwgMywgMjQxLCAKKyAgICA4OCwgOCwgMywgMjQxLCA5MSwgOCwgMywgMjQxLCA5MCwgOCwgMywgMjQxLCA3MiwgOCwgMywgMjQxLCA3MywgOCwgMywgCisgICAgMjQxLCA3NSwgOCwgMywgMjQxLCA3NCwgOCwgMywgMjQxLCA3NiwgOCwgMywgMjQxLCA4NSwgOCwgMywgMjQxLCA4NywgOCwgCisgICAgMywgMjQxLCA4NiwgOCwgMywgMjQxLCA3MSwgOCwgMywgMjI4LCAxOTAsIDgsIDMsIDIyOCwgMTg4LCA4LCAzLCAyMjgsIAorICAgIDIzNCwgOCwgMywgMjI4LCAxOTMsIDgsIDMsIDIyOCwgMjE2LCA4LCAzLCAyMjgsIDIzMCwgOCwgMywgMjI4LCAyMjksIDgsIAorICAgIDMsIDIyOSwgMTg0LCA4LCAzLCAxOTcsIDgsIDMsIDIyOSwgMTk4LCA4LCAzLCAyMjcsIDE4NywgOCwgMywgMjI3LCAxODksIAorICAgIDgsIDMsIDIyNywgMTg4LCA4LCAzLCAyMjgsIDUyLCA4LCAzLCAyMjgsIDM5LCA4LCAzLCAyMjgsIDc1LCA4LCAzLCAyMjgsIAorICAgIDYxLCA4LCAzLCAyMjksIDg0LCA4LCAzLCAyMjksIDEwOCwgOCwgMywgMjI5LCA5NSwgOCwgMywgMjI3LCAxODIsIDgsIDMsIAorICAgIDIyNywgMTc4LCA4LCAzLCAyMjcsIDIzOCwgOCwgMywgMjI3LCAxODYsIDgsIDMsIDIyNywgMTg0LCA4LCAzLCAyMjcsIDE4NSwgCisgICAgOCwgMywgMjQxLCAxNDIsIDgsIDMsIDI0MSwgMTQxLCA4LCAzLCAyNDEsIDE0NywgOCwgMywgMjQxLCAxNDMsIDgsIDMsIAorICAgIDI0MSwgMTQ0LCA4LCAzLCAyNDEsIDE0NiwgOCwgMywgMjQxLCAxNDUsIDgsIDMsIDI0MSwgMTUyLCA4LCAzLCAyNDEsIDE1MSwgCisgICAgOCwgMywgMjQxLCAxNTQsIDgsIDMsIDI0MSwgMTUzLCA4LCAzLCAyNDEsIDEzNCwgOCwgMywgMjQxLCAxMzYsIDgsIDMsIAorICAgIDI0MSwgMTM1LCA4LCAzLCAyNDEsIDEzOCwgOCwgMywgMjQxLCAxNDAsIDgsIDMsIDI0MSwgMTM5LCA4LCAzLCAyNDEsIDE0OCwgCisgICAgOCwgMywgMjQxLCAxNTAsIDgsIDMsIDI0MSwgMTQ5LCA4LCAzLCAyNDEsIDEzMCwgOCwgMywgMjQxLCAxMjksIDgsIDMsIAorICAgIDI0MSwgMTM3LCA4LCAzLCAyNDEsIDEzMywgOCwgMywgMjQxLCAxMzEsIDgsIDMsIDI0MSwgMTMyLCA4LCAzLCAyNDEsIDEyNCwgCisgICAgOCwgMywgMjQxLCAxMjMsIDgsIDMsIDI0MSwgMTI4LCA4LCAzLCAyNDEsIDEyNywgOCwgMywgMjQxLCAxMjUsIDgsIDMsIAorICAgIDI0MSwgMTI2LCA4LCAzLCAyMzIsIDE5NiwgOCwgMywgMjMyLCAxOTAsIDgsIDMsIDIzMiwgMjQyLCA4LCAzLCAyMzIsIDIwMywgCisgICAgOCwgMywgMjMyLCAyMzQsIDgsIDMsIDIzMiwgMjMzLCA4LCAzLCAyMzIsIDIzNywgOCwgMywgMjMyLCAyMzUsIDgsIDMsIAorICAgIDIzMywgODAsIDgsIDMsIDIzMywgNzAsIDgsIDMsIDIzMywgMTM2LCA4LCAzLCAyMzMsIDg5LCA4LCAzLCAyMzIsIDgwLCA4LCAKKyAgICAzLCAyMzIsIDc5LCA4LCAzLCAyMzIsIDgyLCA4LCAzLCAyMzIsIDgxLCA4LCAzLCAyMzIsIDExNywgOCwgMywgMjMyLCAxMDcsIAorICAgIDgsIDMsIDIzMiwgMTU3LCA4LCAzLCAyMzIsIDEyMSwgOCwgMywgMjMzLCAzLCA4LCAzLCAyMzMsIDU5LCA4LCAzLCAyMzMsIAorICAgIDE4LCA4LCAzLCAyMzIsIDc1LCA4LCAzLCAyMzIsIDczLCA4LCAzLCAyMzIsIDk5LCA4LCAzLCAyMzIsIDc4LCA4LCAzLCAKKyAgICAyMzIsIDc2LCA4LCAzLCAyMzIsIDc3LCA4LCAzLCAyMzIsIDU1LCA4LCAzLCAyMzIsIDU0LCA4LCAzLCAyMzIsIDYzLCA4LCAKKyAgICAzLCAyMzIsIDU4LCA4LCAzLCAyMzIsIDU2LCA4LCAzLCAyMzIsIDU3LCA4LCAzLCAyNDIsIDE5MCwgOCwgMywgMjQyLCAxODksIAorICAgIDgsIDMsIDI0MiwgMjE1LCA4LCAzLCAyNDIsIDIwMCwgOCwgMywgMjQyLCAyMDcsIDgsIDMsIDI0MiwgMjA2LCA4LCAzLCAKKyAgICAyNDIsIDIwOSwgOCwgMywgMjQyLCAyMDgsIDgsIDMsIDI0MywgOTAsIDgsIDMsIDI0MywgODUsIDgsIDMsIDI0MywgMTM2LCAKKyAgICA4LCAzLCAyNDMsIDEwMCwgOCwgMywgMjQyLCA5MiwgOCwgMywgMjQyLCA5MSwgOCwgMywgMjQyLCA5NCwgOCwgMywgMjQyLCAKKyAgICA5MywgOCwgMywgMjQyLCAxNTUsIDgsIDMsIDI0MiwgMTUzLCA4LCAzLCAyNDIsIDE3NSwgOCwgMywgMjQyLCAxNjMsIDgsIDMsIAorICAgIDI0MywgMzQsIDgsIDMsIDI0MywgMzIsIDgsIDMsIDI0MywgNjMsIDgsIDMsIDI0MywgNDUsIDgsIDMsIDI0MiwgODIsIDgsIAorICAgIDMsIDI0MiwgODEsIDgsIDMsIDI0MiwgMTE0LCA4LCAzLCAyNDIsIDkwLCA4LCAzLCAyNDIsIDgzLCA4LCAzLCAyNDIsIDg5LCAKKyAgICA4LCAzLCAyMzQsIDYyLCA4LCAzLCAyMzQsIDYxLCA4LCAzLCAyMzQsIDkzLCA4LCAzLCAyMzQsIDc2LCA4LCAzLCAyMzQsIAorICAgIDg2LCA4LCAzLCAyMzQsIDg5LCA4LCAzLCAyMzQsIDg3LCA4LCAzLCAyMzQsIDIwMywgOCwgMywgMjM0LCAxOTEsIDgsIDMsIAorICAgIDE3NiwgOCwgMywgMjM0LCAyMjksIDgsIDMsIDIzMywgMjAxLCA4LCAzLCAyMzMsIDIwNiwgOCwgMywgMjMzLCAyMDMsIDgsIAorICAgIDMsIDIzNCwgMSwgOCwgMywgMjMzLCAyNTMsIDgsIDMsIDIzNCwgMjksIDgsIDMsIDIzNCwgOCwgOCwgMywgMjM0LCAxNTcsIAorICAgIDgsIDMsIDIzNCwgMTQxLCA4LCAzLCAyMzQsIDE4MywgOCwgMywgMjM0LCAxNjAsIDgsIDMsIDIzMywgMTkwLCA4LCAzLCAKKyAgICAyMzMsIDE4NywgOCwgMywgMjMzLCAyMTgsIDgsIDMsIDIzMywgMjAwLCA4LCAzLCAyMzMsIDE5MywgOCwgMywgMjMzLCAxOTcsIAorICAgIDgsIDMsIDI0MywgMTYsIDgsIDMsIDI0MywgMTUsIDgsIDMsIDI0MywgMjAsIDgsIDMsIDI0MywgMTcsIDgsIDMsIDI0MywgCisgICAgMTksIDgsIDMsIDI0MywgMTgsIDgsIDMsIDI0MywgMjcsIDgsIDMsIDI0MywgMjYsIDgsIDMsIDI0MywgMzAsIDgsIDMsIAorICAgIDI0MywgMjgsIDgsIDMsIDI0MywgNywgOCwgMywgMjQzLCA2LCA4LCAzLCAyNDMsIDksIDgsIDMsIDI0MywgOCwgOCwgMywgCisgICAgMjQzLCAxMiwgOCwgMywgMjQzLCAxMSwgOCwgMywgMjQzLCAxNCwgOCwgMywgMjQzLCAxMywgOCwgMywgMjQzLCAyMiwgOCwgCisgICAgMywgMjQzLCAyMSwgOCwgMywgMjQzLCAyNSwgOCwgMywgMjQzLCAyMywgOCwgMywgMjQzLCAyLCA4LCAzLCAyNDMsIDEsIDgsIAorICAgIDMsIDI0MywgMTAsIDgsIDMsIDI0MywgNSwgOCwgMywgMjQzLCAzLCA4LCAzLCAyNDMsIDQsIDgsIDMsIDIzMCwgMjUwLCA4LCAKKyAgICAzLCAyMzAsIDI1MSwgOCwgMywgMjMxLCAxMywgOCwgMywgMjMxLCAxMiwgOCwgMywgMjMxLCAxNSwgOCwgMywgMjMxLCAxNCwgCisgICAgOCwgMywgMjMwLCAyNDEsIDgsIDMsIDIzMCwgMjQzLCA4LCAzLCAyMzAsIDI0MiwgOCwgMywgMjMwLCAyNDYsIDgsIDMsIAorICAgIDIzMCwgMjQ1LCA4LCAzLCAyMzAsIDI0OCwgOCwgMywgMjMwLCAyNDcsIDgsIDMsIDIzMCwgMjUyLCA4LCAzLCAyMzAsIDI1NCwgCisgICAgOCwgMywgMjMwLCAyNTMsIDgsIDMsIDIzMCwgMjM3LCA4LCAzLCAyMzAsIDIzNiwgOCwgMywgMjMwLCAyNDQsIDgsIDMsIAorICAgIDIzMCwgMjQwLCA4LCAzLCAyMzAsIDIzOCwgOCwgMywgMjMwLCAyMzksIDgsIDMsIDI0MCwgMTgxLCA4LCAzLCAyNDAsIDE4MCwgCisgICAgOCwgMywgMjQwLCAxODcsIDgsIDMsIDI0MCwgMTgyLCA4LCAzLCAyNDAsIDE4NCwgOCwgMywgMjQwLCAxODMsIDgsIDMsIAorICAgIDI0MCwgMTg2LCA4LCAzLCAyNDAsIDE4NSwgOCwgMywgMjQwLCAxOTIsIDgsIDMsIDI0MCwgMTkxLCA4LCAzLCAyNDAsIDE5NCwgCisgICAgOCwgMywgMjQwLCAxOTMsIDgsIDMsIDI0MCwgMTczLCA4LCAzLCAyNDAsIDE3MiwgOCwgMywgMjQwLCAxNzUsIDgsIDMsIAorICAgIDI0MCwgMTc0LCA4LCAzLCAyNDAsIDE3NywgOCwgMywgMjQwLCAxNzYsIDgsIDMsIDI0MCwgMTc5LCA4LCAzLCAyNDAsIDE3OCwgCisgICAgOCwgMywgMjQwLCAxODgsIDgsIDMsIDI0MCwgMTkwLCA4LCAzLCAyNDAsIDE4OSwgOCwgMywgMjI5LCAyNSwgOCwgMywgMjI5LCAKKyAgICAyNywgOCwgMywgMjI5LCAyNiwgOCwgMywgMjI5LCA2OCwgOCwgMywgMjI5LCA2NiwgOCwgMywgMjI5LCA3OCwgOCwgMywgCisgICAgMjI5LCA3MSwgOCwgMywgMjI4LCAyNDQsIDgsIDMsIDIyOCwgMjQzLCA4LCAzLCAyMjgsIDI0NSwgOCwgMywgMjI4LCAyNTMsIAorICAgIDgsIDMsIDIyOCwgMjUwLCA4LCAzLCAyMjksIDUsIDgsIDMsIDIyOCwgMjU1LCA4LCAzLCAyMjksIDU5LCA4LCAzLCAyMjksIAorICAgIDY1LCA4LCAzLCAyMjksIDYxLCA4LCAzLCAyNDEsIDE1NywgOCwgMywgMjQxLCAxNjcsIDgsIDMsIDI0MSwgMTc2LCA4LCAzLCAKKyAgICAyNDEsIDI1MiwgOCwgMywgMjQxLCAyNDQsIDgsIDMsIDE2MiwgOCwgMywgMjQyLCA3LCA4LCAzLCAyNDAsIDIwNywgOCwgMywgCisgICAgMjQwLCAyMDYsIDgsIDMsIDI0MCwgMjA5LCA4LCAzLCAyNDAsIDIwOCwgOCwgMywgMjQwLCAyNDMsIDgsIDMsIDI0MCwgMjM0LCAKKyAgICA4LCAzLCAyNDEsIDY5LCA4LCAzLCAyNDEsIDQ4LCA4LCAzLCAyNDEsIDE5NSwgOCwgMywgMjQxLCAyMzksIDgsIDMsIDI0MSwgCisgICAgMjA3LCA4LCAzLCAyMTIsIDQzLCA4LCAzLCAyMTIsIDI4LCA4LCAzLCAyMTIsIDY1LCA4LCAzLCAyMTIsIDUxLCA4LCAzLCAKKyAgICAyMTEsIDE4NSwgOCwgMywgMjExLCAxODcsIDgsIDMsIDIxMSwgMTg2LCA4LCAzLCAyMTEsIDIwMywgOCwgMywgMjExLCAyMjcsIAorICAgIDgsIDMsIDIxMSwgMjEwLCA4LCAzLCAyMTIsIDUsIDgsIDMsIDIxMiwgMjIsIDgsIDMsIDIxMiwgMTAsIDgsIDMsIDIxMCwgCisgICAgMzAsIDgsIDMsIDIxMCwgMjksIDgsIDMsIDIxMCwgNDQsIDgsIDMsIDIxMCwgMzIsIDgsIDMsIDIxMCwgMzcsIDgsIDMsIAorICAgIDIxMCwgMzksIDgsIDMsIDIxMCwgMzgsIDgsIDMsIDIxMCwgMTAyLCA4LCAzLCAyMTAsIDk5LCA4LCAzLCAyMTAsIDExNiwgOCwgCisgICAgMywgMjEwLCAxMDUsIDgsIDMsIDIxMCwgNiwgOCwgMywgMjEwLCA4LCA4LCAzLCAyMTAsIDcsIDgsIDMsIDIxMCwgMTksIDgsIAorICAgIDMsIDIxMCwgMTgsIDgsIDMsIDIxMCwgMjMsIDgsIDMsIDIxMCwgMjAsIDgsIDMsIDIxMCwgODQsIDgsIDMsIDIxMCwgOTQsIAorICAgIDgsIDMsIDIxMCwgODgsIDgsIDMsIDIxMCwgMiwgOCwgMywgMjEwLCAxLCA4LCAzLCAyMTAsIDEzLCA4LCAzLCAyMTAsIDUsIAorICAgIDgsIDMsIDIxMCwgMywgOCwgMywgMjEwLCA0LCA4LCAzLCAyMDksIDI0NSwgOCwgMywgMjA5LCAyNDQsIDgsIDMsIDIwOSwgCisgICAgMjUwLCA4LCAzLCAyMDksIDI0OCwgOCwgMywgMjA5LCAyNDYsIDgsIDMsIDIwOSwgMjQ3LCA4LCAzLCAyNTAsIDI5LCA4LCAzLCAKKyAgICAyNTAsIDI1LCA4LCAzLCAyNTAsIDUyLCA4LCAzLCAyNTAsIDM4LCA4LCAzLCAyNTAsIDQ5LCA4LCAzLCAyNTAsIDQzLCA4LCAKKyAgICAzLCAyNTAsIDUxLCA4LCAzLCAyNTAsIDUwLCA4LCAzLCAyNTAsIDIyNSwgOCwgMywgMjUwLCAyMTgsIDgsIDMsIDI1MSwgMzQsIAorICAgIDgsIDMsIDI1MCwgMjUyLCA4LCAzLCAyNDksIDEwNSwgOCwgMywgMjQ5LCAxMDcsIDgsIDMsIDI0OSwgMTA2LCA4LCAzLCAKKyAgICAyNDksIDE1NCwgOCwgMywgMjQ5LCAxNDUsIDgsIDMsIDI0OSwgMjM5LCA4LCAzLCAyNDksIDE3MCwgOCwgMywgMjUwLCAxNjEsIAorICAgIDgsIDMsIDI1MCwgMTkxLCA4LCAzLCAyNTAsIDE2NiwgOCwgMywgMjQ5LCA4NSwgOCwgMywgMjQ5LCA4MywgOCwgMywgMjQ5LCAKKyAgICAxMTMsIDgsIDMsIDI0OSwgMTAzLCA4LCAzLCAyNDksIDkwLCA4LCAzLCAyNDksIDEwMiwgOCwgMywgMjQ5LCA2NCwgOCwgMywgCisgICAgMjQ5LCA2MywgOCwgMywgMjQ5LCA3NCwgOCwgMywgMjQ5LCA3MCwgOCwgMywgMjQ5LCA2NSwgOCwgMywgMjQ5LCA2NywgOCwgCisgICAgMywgMjA5LCAyMjgsIDgsIDMsIDIwOSwgMjI3LCA4LCAzLCAyMDksIDIzNCwgOCwgMywgMjA5LCAyMjksIDgsIDMsIDIwOSwgCisgICAgMjMxLCA4LCAzLCAyMDksIDIzMCwgOCwgMywgMjA5LCAyMzMsIDgsIDMsIDIwOSwgMjMyLCA4LCAzLCAyMDksIDI0MCwgOCwgCisgICAgMywgMjA5LCAyMzksIDgsIDMsIDIwOSwgMjQzLCA4LCAzLCAyMDksIDI0MSwgOCwgMywgMjA5LCAyMjQsIDgsIDMsIDIwOSwgCisgICAgMjI2LCA4LCAzLCAyMDksIDIyNSwgOCwgMywgMjA5LCAyMzUsIDgsIDMsIDIwOSwgMjM4LCA4LCAzLCAyMDksIDIzNiwgOCwgCisgICAgMywgMjA5LCAyMTcsIDgsIDMsIDIwOSwgMjIxLCA4LCAzLCAyMDksIDIyMCwgOCwgMywgMjA5LCAyMTgsIDgsIDMsIDIwOSwgCisgICAgMjE5LCA4LCAzLCAyMDksIDIxMSwgOCwgMywgMjA5LCAyMTAsIDgsIDMsIDIwOSwgMjE2LCA4LCAzLCAyMDksIDIxNCwgOCwgCisgICAgMywgMjA5LCAyMTIsIDgsIDMsIDIwOSwgMjEzLCA4LCAzLCAyMjcsIDEwNSwgOCwgMywgMjI3LCAxMDQsIDgsIDMsIDIyNywgCisgICAgMTEwLCA4LCAzLCAyMjcsIDEwNiwgOCwgMywgMjI3LCAxMDcsIDgsIDMsIDIyNywgMTA5LCA4LCAzLCAyMjcsIDEwOCwgOCwgCisgICAgMywgMjI3LCAxMTUsIDgsIDMsIDIyNywgMTE0LCA4LCAzLCAyMjcsIDExOCwgOCwgMywgMjI3LCAxMTcsIDgsIDMsIDIyNywgCisgICAgOTgsIDgsIDMsIDIyNywgOTksIDgsIDMsIDIyNywgMTAyLCA4LCAzLCAyMjcsIDEwMywgOCwgMywgMjI3LCAxMTEsIDgsIDMsIAorICAgIDIyNywgMTEzLCA4LCAzLCAyMjcsIDkzLCA4LCAzLCAyMjcsIDEwMSwgOCwgMywgMjI3LCA5NywgOCwgMywgMjI3LCA5NCwgOCwgCisgICAgMywgMjI3LCA5NSwgOCwgMywgMjI3LCA4OCwgOCwgMywgMjI3LCA4NywgOCwgMywgMjI3LCA5MiwgOCwgMywgMjI3LCA5MSwgCisgICAgOCwgMywgMjI3LCA4OSwgOCwgMywgMjI3LCA5MCwgOCwgMywgMjE5LCAxMjgsIDgsIDMsIDE5NCwgOCwgMywgMjE5LCAxOTIsIAorICAgIDgsIDMsIDIxOSwgMTMxLCA4LCAzLCAyMTksIDE4NCwgOCwgMywgMjE5LCAxODcsIDgsIDMsIDIxOSwgMTg1LCA4LCAzLCAKKyAgICAyMjEsIDIyNywgOCwgMywgMjIxLCAyMTUsIDgsIDMsIDIwNiwgOCwgMywgMjIxLCAyMzUsIDgsIDMsIDIxOCwgMjksIDgsIDMsIAorICAgIDIxOCwgMzEsIDgsIDMsIDIxOCwgMzAsIDgsIDMsIDIxOSwgMzUsIDgsIDMsIDIxOSwgMjQsIDgsIDMsIDIxOSwgNTksIDgsIAorICAgIDMsIDIxOSwgMzksIDgsIDMsIDIyMCwgMTE1LCA4LCAzLCAyMjEsIDE4MiwgOCwgMywgMjIwLCAxNDAsIDgsIDMsIDIxOCwgNiwgCisgICAgOCwgMywgMjE4LCA0LCA4LCAzLCAyMTgsIDg0LCA4LCAzLCAyMTgsIDI4LCA4LCAzLCAyMTgsIDEwLCA4LCAzLCAyMTgsIDE4LCAKKyAgICA4LCAzLCAyMTcsIDE2NywgOCwgMywgMjE3LCAxNjYsIDgsIDMsIDIxNywgMjMzLCA4LCAzLCAyMTcsIDE3NCwgOCwgMywgCisgICAgMjE3LCAxNjksIDgsIDMsIDIxNywgMTczLCA4LCAzLCAyMTgsIDE4NywgOCwgMywgMjE4LCAxODYsIDgsIDMsIDIxOCwgMTkzLCAKKyAgICA4LCAzLCAyMTgsIDE4OCwgOCwgMywgMjE4LCAxOTAsIDgsIDMsIDIxOCwgMTkyLCA4LCAzLCAyMTgsIDE5MSwgOCwgMywgCisgICAgMjE4LCAyMDEsIDgsIDMsIDIxOCwgMTk5LCA4LCAzLCAyMTgsIDIyNCwgOCwgMywgMjE4LCAyMDIsIDgsIDMsIDIxOCwgMTgyLCAKKyAgICA4LCAzLCAyMTgsIDE4MSwgOCwgMywgMjE4LCAxODUsIDgsIDMsIDIxOCwgMTgzLCA4LCAzLCAyMTgsIDE5NSwgOCwgMywgCisgICAgMjE4LCAxOTgsIDgsIDMsIDIxOCwgMTk2LCA4LCAzLCAyMTgsIDE3OCwgOCwgMywgMjE4LCAxNzYsIDgsIDMsIDIxOCwgMTgwLCAKKyAgICA4LCAzLCAyMTgsIDE3OSwgOCwgMywgMjE4LCAxNzEsIDgsIDMsIDIxOCwgMTcwLCA4LCAzLCAyMTgsIDE3NSwgOCwgMywgCisgICAgMjE4LCAxNzQsIDgsIDMsIDIxOCwgMTcyLCA4LCAzLCAyMTgsIDE3MywgOCwgMywgMjEwLCA3NywgOCwgMywgMjEwLCA3NiwgCisgICAgOCwgMywgMjEwLCA4MiwgOCwgMywgMjEwLCA3OSwgOCwgMywgMjEwLCA1OSwgOCwgMywgMjEwLCA2MSwgOCwgMywgMjEwLCAKKyAgICA2MCwgOCwgMywgMjEwLCA2NCwgOCwgMywgMjEwLCA2MywgOCwgMywgMjEwLCA2NywgOCwgMywgMjEwLCA2NSwgOCwgMywgCisgICAgMjEwLCA3MSwgOCwgMywgMjEwLCA3MCwgOCwgMywgMjEwLCA3NCwgOCwgMywgMjEwLCA3MiwgOCwgMywgMjEwLCA1NSwgOCwgCisgICAgMywgMjEwLCA1NCwgOCwgMywgMjEwLCA2MiwgOCwgMywgMjEwLCA1OCwgOCwgMywgMjEwLCA1NiwgOCwgMywgMjEwLCA1NywgCisgICAgOCwgMywgMjEwLCA0NywgOCwgMywgMjEwLCA0NiwgOCwgMywgMjEwLCA1MSwgOCwgMywgMjEwLCA1MCwgOCwgMywgMjEwLCAKKyAgICA0OCwgOCwgMywgMjEwLCA0OSwgOCwgMywgMjUwLCAxMzcsIDgsIDMsIDI1MCwgMTM0LCA4LCAzLCAyNTAsIDE1OCwgOCwgMywgCisgICAgMjUwLCAxNDUsIDgsIDMsIDI1MCwgNjYsIDgsIDMsIDI1MCwgNjUsIDgsIDMsIDI1MCwgNjgsIDgsIDMsIDI1MCwgNjcsIDgsIAorICAgIDMsIDI1MCwgODAsIDgsIDMsIDI1MCwgNzksIDgsIDMsIDI1MCwgODcsIDgsIDMsIDI1MCwgODIsIDgsIDMsIDI1MCwgMTE2LCAKKyAgICA4LCAzLCAyNTAsIDExNCwgOCwgMywgMjUwLCAxMzIsIDgsIDMsIDI1MCwgMTIyLCA4LCAzLCAyNTAsIDYwLCA4LCAzLCAyNTAsIAorICAgIDcwLCA4LCAzLCAyNTAsIDY0LCA4LCAzLCAyNTAsIDYxLCA4LCAzLCAyNTAsIDYzLCA4LCAzLCAyNTAsIDU0LCA4LCAzLCAKKyAgICAyNTAsIDUzLCA4LCAzLCAyNTAsIDU4LCA4LCAzLCAyNTAsIDU3LCA4LCAzLCAyNTAsIDU1LCA4LCAzLCAyNTAsIDU2LCA4LCAKKyAgICAzLCAyMjIsIDE3NiwgOCwgMywgMjIyLCAxODAsIDgsIDMsIDIyMiwgMTU5LCA4LCAzLCAyMjIsIDE2MCwgOCwgMywgMjIyLCAKKyAgICAxNjMsIDgsIDMsIDIyMiwgMTYyLCA4LCAzLCAyMjIsIDE2NiwgOCwgMywgMjIyLCAxNjQsIDgsIDMsIDIyMiwgMTcwLCA4LCAKKyAgICAzLCAyMjIsIDE2OSwgOCwgMywgMjIyLCAxNzUsIDgsIDMsIDIyMiwgMTcxLCA4LCAzLCAyMjIsIDE1NSwgOCwgMywgMjIyLCAKKyAgICAxNTMsIDgsIDMsIDIyMiwgMTYxLCA4LCAzLCAyMjIsIDE1OCwgOCwgMywgMjIyLCAxNTYsIDgsIDMsIDIyMiwgMTU3LCA4LCAKKyAgICAzLCAyMjIsIDE0OCwgOCwgMywgMjIyLCAxNDcsIDgsIDMsIDIyMiwgMTUyLCA4LCAzLCAyMjIsIDE1MSwgOCwgMywgMjIyLCAKKyAgICAxNDksIDgsIDMsIDIyMiwgMTUwLCA4LCAzLCAyMjgsIDM1LCA4LCAzLCAyMjgsIDM0LCA4LCAzLCAyMjgsIDM3LCA4LCAzLCAKKyAgICAyMjgsIDM2LCA4LCAzLCAyMjgsIDI3LCA4LCAzLCAyMjgsIDI5LCA4LCAzLCAyMjgsIDI4LCA4LCAzLCAyMjgsIDMxLCA4LCAKKyAgICAzLCAyMjgsIDMwLCA4LCAzLCAyMjgsIDMzLCA4LCAzLCAyMjgsIDMyLCA4LCAzLCAyMjgsIDIyLCA4LCAzLCAyMjgsIDIxLCAKKyAgICA4LCAzLCAyMjgsIDI2LCA4LCAzLCAyMjgsIDI1LCA4LCAzLCAyMjgsIDIzLCA4LCAzLCAyMjgsIDI0LCA4LCAzLCAyMjgsIAorICAgIDE2LCA4LCAzLCAyMjgsIDE1LCA4LCAzLCAyMjgsIDIwLCA4LCAzLCAyMjgsIDE5LCA4LCAzLCAyMjgsIDE3LCA4LCAzLCAKKyAgICAyMjgsIDE4LCA4LCAzLCAyMjAsIDczLCA4LCAzLCAyMjAsIDY4LCA4LCAzLCAyMjAsIDEwMywgOCwgMywgMjIwLCA4NCwgOCwgCisgICAgMywgMjE5LCAyMTYsIDgsIDMsIDIxOSwgMjE4LCA4LCAzLCAyMTksIDIxNywgOCwgMywgMjE5LCAyMzcsIDgsIDMsIDIxOSwgCisgICAgMjM0LCA4LCAzLCAyMjAsIDgsIDgsIDMsIDIxOSwgMjU1LCA4LCAzLCAyMjAsIDQzLCA4LCAzLCAyMjAsIDM2LCA4LCAzLCAKKyAgICAyMjAsIDY0LCA4LCAzLCAyMjAsIDUxLCA4LCAzLCAyMTksIDIxMiwgOCwgMywgMjE5LCAyMTAsIDgsIDMsIDIxOSwgMjI2LCAKKyAgICA4LCAzLCAyMTksIDIxNSwgOCwgMywgMjE5LCAyMTMsIDgsIDMsIDIxOSwgMjE0LCA4LCAzLCAyMTksIDE5NSwgOCwgMywgCisgICAgMjE5LCAxOTQsIDgsIDMsIDIxOSwgMjAxLCA4LCAzLCAyMTksIDE5OCwgOCwgMywgMjE5LCAxOTYsIDgsIDMsIDIxOSwgMTk3LCAKKyAgICA4LCAzLCAyMjMsIDE0MiwgOCwgMywgMjIzLCAxMzYsIDgsIDMsIDIwNSwgOCwgMywgMjIzLCAxNDgsIDgsIDMsIDIyMiwgCisgICAgMTIxLCA4LCAzLCAyMjIsIDEyMywgOCwgMywgMjIyLCAxMjIsIDgsIDMsIDIyMiwgMTg5LCA4LCAzLCAyMjIsIDE4MiwgOCwgCisgICAgMywgMjIyLCAyMTIsIDgsIDMsIDIyMiwgMTkzLCA4LCAzLCAyMjMsIDQ0LCA4LCAzLCAyMjMsIDEyOSwgOCwgMywgMjIzLCAKKyAgICA4MiwgOCwgMywgMjIyLCAxMTQsIDgsIDMsIDIyMiwgMTExLCA4LCAzLCAyMjIsIDE0MSwgOCwgMywgMjIyLCAxMjAsIDgsIDMsIAorICAgIDIyMiwgMTE2LCA4LCAzLCAyMjIsIDExNywgOCwgMywgMjIyLCA5NiwgOCwgMywgMjIyLCA5NSwgOCwgMywgMjIyLCAxMDEsIAorICAgIDgsIDMsIDIyMiwgOTksIDgsIDMsIDIyMiwgOTcsIDgsIDMsIDIyMiwgOTgsIDgsIDMsIDIzNSwgOTksIDgsIDMsIDIzNSwgCisgICAgOTgsIDgsIDMsIDIzNSwgMTA5LCA4LCAzLCAyMzUsIDEwMCwgOCwgMywgMjM1LCAxMDUsIDgsIDMsIDIzNSwgMTA0LCA4LCAzLCAKKyAgICAyMzUsIDEwNywgOCwgMywgMjM1LCAxMDYsIDgsIDMsIDIzNSwgNDIsIDgsIDMsIDIzNSwgNDEsIDgsIDMsIDIzNSwgNDQsIDgsIAorICAgIDMsIDIzNSwgNDMsIDgsIDMsIDIzNSwgNTcsIDgsIDMsIDIzNSwgNTUsIDgsIDMsIDIzNSwgNjksIDgsIDMsIDIzNSwgNTksIAorICAgIDgsIDMsIDIzNSwgMzUsIDgsIDMsIDIzNSwgMzMsIDgsIDMsIDIzNSwgNTIsIDgsIDMsIDIzNSwgNDAsIDgsIDMsIDIzNSwgCisgICAgMzcsIDgsIDMsIDIzNSwgMzgsIDgsIDMsIDIzNSwgMjcsIDgsIDMsIDIzNSwgMjYsIDgsIDMsIDIzNSwgMzEsIDgsIDMsIAorICAgIDIzNSwgMzAsIDgsIDMsIDIzNSwgMjgsIDgsIDMsIDIzNSwgMjksIDgsIDMsIDIyNCwgNDcsIDgsIDMsIDIyNCwgNDUsIDgsIAorICAgIDMsIDIyNCwgNTQsIDgsIDMsIDIyNCwgNDgsIDgsIDMsIDIyNCwgNTEsIDgsIDMsIDIyNCwgNTAsIDgsIDMsIDIyNCwgNTMsIAorICAgIDgsIDMsIDIyNCwgNTIsIDgsIDMsIDIyNCwgMCwgOCwgMywgMjIzLCAyNTMsIDgsIDMsIDIyNCwgMiwgOCwgMywgMjI0LCAxLCAKKyAgICA4LCAzLCAyMjQsIDM0LCA4LCAzLCAyMjQsIDMzLCA4LCAzLCAyMjQsIDQzLCA4LCAzLCAyMjQsIDM3LCA4LCAzLCAyMjMsIAorICAgIDI0OCwgOCwgMywgMjIzLCAyNDQsIDgsIDMsIDIyNCwgMzEsIDgsIDMsIDIyMywgMjUyLCA4LCAzLCAyMjMsIDI1MCwgOCwgMywgCisgICAgMjIzLCAyNTEsIDgsIDMsIDIyMywgMjI4LCA4LCAzLCAyMjMsIDIyNiwgOCwgMywgMjIzLCAyMzgsIDgsIDMsIDIyMywgMjMxLCAKKyAgICA4LCAzLCAyMjMsIDIyOSwgOCwgMywgMjIzLCAyMzAsIDgsIDMsIDIzNSwgODgsIDgsIDMsIDIzNSwgODcsIDgsIDMsIDIzNSwgCisgICAgOTQsIDgsIDMsIDIzNSwgODksIDgsIDMsIDIzNSwgOTEsIDgsIDMsIDIzNSwgOTAsIDgsIDMsIDIzNSwgOTMsIDgsIDMsIAorICAgIDIzNSwgOTIsIDgsIDMsIDIzNSwgNzksIDgsIDMsIDIzNSwgODEsIDgsIDMsIDIzNSwgODAsIDgsIDMsIDIzNSwgODQsIDgsIAorICAgIDMsIDIzNSwgODMsIDgsIDMsIDIzNSwgODYsIDgsIDMsIDIzNSwgODUsIDgsIDMsIDIzNSwgNzUsIDgsIDMsIDIzNSwgNzQsIAorICAgIDgsIDMsIDIzNSwgODIsIDgsIDMsIDIzNSwgNzgsIDgsIDMsIDIzNSwgNzYsIDgsIDMsIDIzNSwgNzcsIDgsIDMsIDIzNSwgCisgICAgNzEsIDgsIDMsIDIzNSwgNzAsIDgsIDMsIDIzNSwgNzMsIDgsIDMsIDIzNSwgNzIsIDgsIDMsIDIyOCwgMTYzLCA4LCAzLCAKKyAgICAyMjgsIDE2MiwgOCwgMywgMjI4LCAxNzAsIDgsIDMsIDIyOCwgMTY0LCA4LCAzLCAyMjgsIDE2NiwgOCwgMywgMjI4LCAxNjUsIAorICAgIDgsIDMsIDIyOCwgMTY5LCA4LCAzLCAyMjgsIDE2NywgOCwgMywgMjI4LCAxNTIsIDgsIDMsIDIyOCwgMTUzLCA4LCAzLCAKKyAgICAyMjgsIDE1OCwgOCwgMywgMjI4LCAxNTcsIDgsIDMsIDIyOCwgMTYxLCA4LCAzLCAyMjgsIDE1OSwgOCwgMywgMjI4LCAxNDcsIAorICAgIDgsIDMsIDIyOCwgMTU2LCA4LCAzLCAyMjgsIDE1MSwgOCwgMywgMjI4LCAxNDgsIDgsIDMsIDIyOCwgMTQ5LCA4LCAzLCAKKyAgICAyMjgsIDE0MiwgOCwgMywgMjI4LCAxNDEsIDgsIDMsIDIyOCwgMTQ2LCA4LCAzLCAyMjgsIDE0NSwgOCwgMywgMjI4LCAxNDMsIAorICAgIDgsIDMsIDIyOCwgMTQ0LCA4LCAzLCAyMjcsIDEzOCwgOCwgMywgMjI3LCAxMzcsIDgsIDMsIDIyNywgMTQ5LCA4LCAzLCAKKyAgICAyMjcsIDE0MiwgOCwgMywgMjI3LCAxNDYsIDgsIDMsIDIyNywgMTQ1LCA4LCAzLCAyMjcsIDE0OCwgOCwgMywgMjI3LCAxNDcsIAorICAgIDgsIDMsIDIyNywgMTI1LCA4LCAzLCAyMjcsIDEyNywgOCwgMywgMjI3LCAxMjYsIDgsIDMsIDIyNywgMTMxLCA4LCAzLCAKKyAgICAyMjcsIDEzMCwgOCwgMywgMjI3LCAxMzUsIDgsIDMsIDIyNywgMTMyLCA4LCAzLCAyMjcsIDEyMywgOCwgMywgMjI3LCAxMjEsIAorICAgIDgsIDMsIDIyNywgMTI5LCA4LCAzLCAyMjcsIDEyNCwgOCwgMywgMjExLCAxNTAsIDgsIDMsIDIxMSwgMTQ5LCA4LCAzLCAKKyAgICAyMTEsIDE1NywgOCwgMywgMjExLCAxNTIsIDgsIDMsIDIxMSwgMTU0LCA4LCAzLCAyMTEsIDE1MywgOCwgMywgMjExLCAxNTYsIAorICAgIDgsIDMsIDIxMSwgMTU1LCA4LCAzLCAyMTEsIDEzOSwgOCwgMywgMjExLCAxNDAsIDgsIDMsIDIxMSwgMTQ0LCA4LCAzLCAKKyAgICAyMTEsIDE0MywgOCwgMywgMjExLCAxNDgsIDgsIDMsIDIxMSwgMTQ2LCA4LCAzLCAyMTEsIDEyMSwgOCwgMywgMjExLCAxMTksIAorICAgIDgsIDMsIDIxMSwgMTMxLCA4LCAzLCAyMTEsIDEyNCwgOCwgMywgMjExLCAxMjIsIDgsIDMsIDIxMSwgMTIzLCA4LCAzLCAKKyAgICAyMTAsIDI1MCwgOCwgMywgMjEwLCAyNDgsIDgsIDMsIDIxMSwgOCwgOCwgMywgMjEwLCAyNTEsIDgsIDMsIDIxMSwgMiwgOCwgCisgICAgMywgMjExLCAxLCA4LCAzLCAyMTEsIDUsIDgsIDMsIDIxMSwgMywgOCwgMywgMjEwLCAxOTEsIDgsIDMsIDIxMCwgMTkwLCA4LCAKKyAgICAzLCAyMTAsIDE5NCwgOCwgMywgMjEwLCAxOTIsIDgsIDMsIDIxMCwgMjI0LCA4LCAzLCAyMTAsIDIyMSwgOCwgMywgMjEwLCAKKyAgICAyNDQsIDgsIDMsIDIxMCwgMjI4LCA4LCAzLCAyMTAsIDE4MiwgOCwgMywgMjEwLCAxNzgsIDgsIDMsIDIxMCwgMjEyLCA4LCAKKyAgICAzLCAyMTAsIDE4OSwgOCwgMywgMjEwLCAxODUsIDgsIDMsIDIxMCwgMTg2LCA4LCAzLCAyMTAsIDE2MiwgOCwgMywgMjEwLCAKKyAgICAxNjEsIDgsIDMsIDIxMCwgMTY5LCA4LCAzLCAyMTAsIDE2NSwgOCwgMywgMjEwLCAxNjMsIDgsIDMsIDIxMCwgMTY0LCA4LCAKKyAgICAzNCwgMjI0LCAzNCwgOCwgMzQsIDIzMiwgMjQyLCA4LCAzNCwgMjM0LCA2MiwgOCwgMzQsIDIyNywgMTQyLCA4LCAzNCwgCisgICAgMjQ5LCA3MCwgOCwgMzQsIDIxOCwgMTkzLCA4LCAzNCwgMjQzLCAxMywgOCwgMzQsIDI0MywgNDUsIDgsIDM0LCAyMzAsIAorICAgIDIzMSwgOCwgMzQsIDI0MCwgMTgxLCA4LCAzNCwgMjMyLCA1NywgOCwgMzQsIDI1MiwgODQsIDgsIDM0LCAyMzAsIDEyNywgOCwgCisgICAgMzQsIDIxMCwgMjQ0LCA4LCAzNCwgMjI0LCAxMjIsIDgsIDM0LCAyNDAsIDE3NSwgOCwgMzQsIDIxNywgNDcsIDgsIDM0LCAKKyAgICAyNDMsIDEzNiwgOCwgMzQsIDIxMCwgNSwgOCwgMzQsIDI0OSwgNjQsIDgsIDM0LCAyNDgsIDk2LCA4LCAzNCwgMjUxLCA5OSwgCisgICAgOCwgMzQsIDI0MywgOSwgOCwgMzQsIDIyNywgMTMyLCA4LCAzNCwgMjE1LCAxMTksIDgsIDM0LCAyMjYsIDE3NiwgOCwgMzQsIAorICAgIDIzNSwgNzUsIDgsIDM0LCAyMTAsIDE5LCA4LCAzNCwgMjI0LCAxMDEsIDgsIDM0LCAyNDEsIDEwOSwgOCwgMzQsIDIxMCwgCisgICAgMjUwLCA4LCAzNCwgMjEyLCAxMTIsIDgsIDM0LCAyMTksIDIwMSwgOCwgMzQsIDIxMywgMjQ0LCA4LCAzNCwgMjEwLCAxMTYsIAorICAgIDgsIDM0LCAyMzUsIDY5LCA4LCAzNCwgMjI3LCA5NywgOCwgMzQsIDIzNSwgNzMsIDgsIDM0LCAyNDIsIDE1NSwgOCwgMzQsIAorICAgIDIzNSwgOTMsIDgsIDM0LCAyMTEsIDIyNywgOCwgMzQsIDI0NiwgNzksIDgsIDM0LCAyMTksIDIxNCwgOCwgMzQsIDIzMiwgCisgICAgMjM3LCA4LCAzNCwgMjQ5LCA3NCwgOCwgMzQsIDI0OSwgMTA2LCA4LCAzNCwgMjUwLCAzOCwgOCwgMzQsIDI0MCwgMTc4LCA4LCAKKyAgICAzNCwgMjIwLCA3MywgOCwgMzQsIDIxMCwgNCwgOCwgMzQsIDIxOSwgMjU1LCA4LCAzNCwgMjUwLCAxMzIsIDgsIDM0LCAyMDksIAorICAgIDIzMSwgOCwgMzQsIDIyOSwgMTc0LCA4LCAzNCwgMjM0LCAxODMsIDIzMiwgMTk3LCAxLCAyNTIsIDE5MiwgMjMyLCAxOTcsIAorICAgIDEsIDE5MCwgMjMyLCAxOTcsIDEsIDIyNSwgMTQ4LCAyMzIsIDE5NywgMSwgMjQ4LCAyMjIsIDIzMiwgMTk3LCAxLCAyMTcsIAorICAgIDEwNiwgMjMyLCAxOTcsIDEsIDIxNiwgMjA5LCAyMzIsIDE5NywgMSwgMjQzLCAxMzYsIDIzMiwgMTk3LCAxLCAxNzYsIDIzMiwgCisgICAgMTk3LCAxLCAyMzQsIDEzMywgMjMyLCAxOTcsIDEsIDIzNSwgMTQyLCAyMzIsIDE5NywgMSwgMjUxLCAzNCwgMjMyLCAxOTcsIAorICAgIDEsIDI1MCwgMTU4LCAyMzIsIDE5NywgMSwgMjQ2LCAzOSwgMjMyLCAxOTcsIDEsIDIxNSwgMTg0LCAyMzIsIDE5NywgMSwgCisgICAgMjE1LCAxNzYsIDIzMiwgMTk3LCAxLCAxODUsIDIzMiwgMTk3LCAxLCAxOTcsIDIzMiwgMTk3LCAxLCAyMzMsIDEzNiwgMjMyLCAKKyAgICAxOTcsIDEsIDIwNiwgMjMyLCAxOTcsIDEsIDIxMCwgODIsIDIzMiwgMTk3LCAxLCAyMTAsIDExNiwgMjMyLCAxOTcsIDEsIAorICAgIDIyOSwgNzgsIDIzMiwgMTk3LCAxLCAxNjIsIDIzMiwgMTk3LCAxLCAyMTEsIDE2NSwgMjMyLCAxOTcsIDEsIDI0MSwgMTkwLCAKKyAgICAyMzIsIDE5NywgMSwgMjQ0LCAxOTcsIDIzMiwgMTk3LCAxLCAyMTIsIDY1LCAyMzIsIDE5NywgMSwgMjIwLCAxMDMsIDIzMiwgCisgICAgMTk3LCAxLCAxOTEsIDIzMiwgMTk3LCAxLCAyNDIsIDI1MCwgMjMyLCAxOTcsIDEsIDYxLCAyMzIsIDE5NywgMSwgMjU0LCAKKyAgICAyNDQsIDIzMiwgMTk3LCAxLCA3NSwgMjMyLCAxOTcsIDEsIDI0NSwgNTYsIDIzMiwgMTk3LCAxLCA3MywgMjMyLCAxOTcsIDEsIAorICAgIDc2LCAyMzIsIDE5NywgMSwgNzAsIDIzMiwgMTk3LCAxLCAyMTQsIDIxNCwgMjMyLCAxOTcsIDEsIDIxNCwgMjA4LCAyMzIsIAorICAgIDE5NywgMSwgMjI2LCAyMzUsIDIzMiwgMTk3LCAxLCAxMzgsIDIzMCwgMzMsIDIxNiwgMTE4LCAyMzIsIDE5NywgMSwgMTM4LCAKKyAgICAyMjksIDIzMCwgMjI1LCAxNywgMjMyLCAxOTcsIDEsIDEzOCwgMjMwLCAzMywgMjQ5LCA3MywgMjMyLCAxOTcsIDEsIDEzOCwgCisgICAgMjMwLCAzMywgMjUxLCAyMDYsIDIzMiwgMTk3LCAxLCAxMzgsIDIzMCwgMzMsIDE5NywgMjMyLCAxOTcsIDEsIDEzOCwgMjMwLCAKKyAgICAzMywgMjM1LCAxMTYsIDIzMiwgMTk3LCAyMjQsIDE0MiwgMjQ5LCAyMjAsIDIzMiwgMTk3LCAyMjQsIDE0MiwgMjQzLCAyMzAsIAorICAgIDIxOCwgMTMwLCA0MSwgMywgMjQ1LCAyMTAsIDQxLCAzLCAyNDUsIDIwNiwgNDEsIDMsIDI0MSwgMjIxLCA0MSwgMywgMjEyLCAKKyAgICAxNywgNDEsIDMsIDIxMiwgMTYsIDQxLCAzLCAyMjUsIDIxMiwgNDEsIDMsIDI1MiwgMTQsIDQxLCAzLCAyNTIsIDY3LCA0MSwgCisgICAgMywgMjMxLCAxMTcsIDQxLCAzLCAyMzMsIDI0OCwgNDEsIDMsIDIzMSwgNywgNDEsIDMsIDI0MywgNzYsIDQxLCAzLCAyNDQsIAorICAgIDE0OCwgNDEsIDMsIDIxMywgMjUwLCA0MSwgMywgMjE3LCAxMiwgNDEsIDMsIDIxNiwgMTk1LCA0MSwgMywgMjQ4LCAxNywgCisgICAgNDEsIDMsIDI0OCwgMTQsIDQxLCAzLCAyMzMsIDUxLCA0MSwgMywgMjIzLCAxMDksIDQxLCAzLCAyNDgsIDc4LCA0MSwgMywgCisgICAgMjI5LCAxNDAsIDQxLCAzLCAyMjEsIDE3MSwgNDEsIDMsIDIyMCwgNjIsIDQxLCAzLCAyMTAsIDkyLCA0MSwgMywgMjEwLCAKKyAgICA3MywgNDEsIDMsIDI1MCwgMTgzLCA0MSwgMywgMjM1LCAxMjUsIDQxLCAzLCAyMjgsIDE3NywgNDEsIDMsIDIxMSwgNDQsIAorICAgIDQxLCAzLCAyMzQsIDE4MiwgNDEsIDMsIDIyOSwgNTIsIDQxLCAzLCAyNDMsIDU2LCA0MSwgMywgMjMxLCA4MSwgNDEsIDMsIAorICAgIDIyOSwgMTA0LCA0MSwgMywgMjI3LCAxNTYsIDQxLCAzLCA3MywgNDEsIDMsIDIzNiwgMCwgNDEsIDMsIDI0MSwgMTgxLCA0MSwgCisgICAgMywgMjQxLCAxNjEsIDQxLCAzLCAyMTEsIDI1MCwgNDEsIDMsIDIxMSwgMjQxLCA0MSwgMywgMjI1LCAxMDksIDQxLCAzLCAKKyAgICAyNTIsIDEyLCA0MSwgMywgMjUyLCA3LCA0MSwgMywgMjMxLCAxMTAsIDQxLCAzLCAyMzMsIDI0NSwgNDEsIDMsIDIzMSwgNCwgCisgICAgNDEsIDMsIDI0MywgNzIsIDQxLCAzLCAyNDQsIDEyMiwgNDEsIDMsIDIxMywgMTc2LCA0MSwgMywgMjE2LCAxMTgsIDQxLCAzLCAKKyAgICAyMTYsIDE3NiwgNDEsIDMsIDI0OCwgOSwgNDEsIDMsIDI0OCwgMTMsIDQxLCAzLCAyMzIsIDI0MiwgNDEsIDMsIDIyMywgMzYsIAorICAgIDQxLCAzLCAyNDgsIDQsIDQxLCAzLCAyMjksIDEzNCwgNDEsIDMsIDIxOSwgMTkyLCA0MSwgMywgMjIwLCAzMywgNDEsIDMsIAorICAgIDIxMCwgNDQsIDQxLCAzLCAyMTAsIDY5LCA0MSwgMywgMjUwLCA1MiwgNDEsIDMsIDIzNSwgMTA5LCA0MSwgMywgMjI4LCAKKyAgICAxNzAsIDQxLCAzLCAyMTEsIDgsIDQxLCAzLCAyMzQsIDkzLCA0MSwgMywgMjI5LCA0NCwgNDEsIDMsIDI0MiwgMjE1LCA0MSwgCisgICAgMywgMjMwLCAyMzEsIDQxLCAzLCAyMjgsIDIzNCwgNDEsIDMsIDIyNywgMTQ5LCA0MSwgMywgNjEsIDQxLCAzLCAyNTQsIAorICAgIDEyNCwgNDEsIDMsIDIyOSwgNzMsIDQxLCAzLCAxNjIsIDQxLCAzLCAyNDIsIDE5LCA0MSwgMywgMjEyLCA2NSwgNDEsIDMsIAorICAgIDIxMiwgNTUsIDQxLCAzLCAxOTAsIDQxLCAzLCAyNTIsIDE5LCA0MSwgMywgMjUyLCAxOTIsIDQxLCAzLCAyMzEsIDEyNSwgCisgICAgNDEsIDMsIDIzMywgMjUyLCA0MSwgMywgMjMzLCAyNTEsIDQxLCAzLCAyMzEsIDExLCA0MSwgMywgMjQzLCA4MCwgNDEsIDMsIAorICAgIDI0NCwgMTk3LCA0MSwgMywgMjE0LCAyNywgNDEsIDMsIDIxNywgMTA2LCA0MSwgMywgMjE2LCAyMDksIDQxLCAzLCAyNDgsIAorICAgIDI2LCA0MSwgMywgMjQ4LCAxNiwgNDEsIDMsIDIzMywgMTM2LCA0MSwgMywgMjA1LCA0MSwgMywgMjQ4LCAyMjIsIDQxLCAzLCAKKyAgICAyMjksIDE0OSwgNDEsIDMsIDIwNiwgNDEsIDMsIDIyMCwgMTAzLCA0MSwgMywgMjEwLCAxMTYsIDQxLCAzLCAyMTAsIDgyLCAKKyAgICA0MSwgMywgMjUxLCAzNCwgNDEsIDMsIDIzNSwgMTQyLCA0MSwgMywgMjI4LCAxODYsIDQxLCAzLCAxOTEsIDQxLCAzLCAxNzYsIAorICAgIDQxLCAzLCAyMzQsIDIzNSwgNDEsIDMsIDIyOSwgNTcsIDQxLCAzLCAyNDMsIDEzNiwgNDEsIDMsIDE4NSwgNDEsIDMsIDE5NywgCisgICAgNDEsIDMsIDIyNywgMTY2LCA0MSwgMywgMjI2LCAxODQsIDQxLCAzLCAyMjYsIDE4MCwgNDEsIDMsIDI0MSwgNTQsIDQxLCAzLCAKKyAgICAyMTEsIDIxNSwgNDEsIDMsIDIxMSwgMjExLCA0MSwgMywgMjI0LCAyNTAsIDQxLCAzLCAyNTIsIDEwLCA0MSwgMywgMjUxLCAKKyAgICAxOTQsIDQxLCAzLCAyMzEsIDEwNSwgNDEsIDMsIDIzMywgMjQzLCA0MSwgMywgMjMxLCAwLCA0MSwgMywgMjQzLCA2OCwgNDEsIAorICAgIDMsIDI0NCwgMzUsIDQxLCAzLCAyMTMsIDEyNywgNDEsIDMsIDIxNiwgMTgsIDQxLCAzLCAyMTYsIDE1NCwgNDEsIDMsIDI0OCwgCisgICAgNywgNDEsIDMsIDI0OCwgMTEsIDQxLCAzLCAyMzIsIDEyOCwgNDEsIDMsIDIyMiwgMTk4LCA0MSwgMywgMjQ3LCAxMjYsIDQxLCAKKyAgICAzLCAyMjksIDEyMSwgNDEsIDMsIDIxOSwgNDEsIDQxLCAzLCAyMjAsIDIsIDQxLCAzLCAyMTAsIDIxLCA0MSwgMywgMjEwLCAKKyAgICA2NiwgNDEsIDMsIDI0OSwgMTc1LCA0MSwgMywgMjM1LCA2MCwgNDEsIDMsIDIyOCwgMTYwLCA0MSwgMywgMjEwLCAyMjksIAorICAgIDQxLCAzLCAyMzQsIDExLCA0MSwgMywgMjI5LCA0MiwgNDEsIDMsIDI0MiwgMTY1LCA0MSwgMywgMjMwLCAxMzMsIDQxLCAzLCAKKyAgICAyMjgsIDY1LCA0MSwgMywgMjI3LCAxMzMsIDQxLCAzLCA3MCwgNDEsIDMsIDIxNCwgMTkwLCA0MSwgMywgMjQwLCAyMjMsIAorICAgIDQxLCAzLCAyNDAsIDIxMywgNDEsIDMsIDIxMSwgMTk1LCA0MSwgMywgMjExLCAxODksIDQxLCAzLCAyMjQsIDE1MSwgNDEsIAorICAgIDMsIDI1MiwgOSwgNDEsIDMsIDI1MSwgMTI2LCA0MSwgMywgMjMxLCAxMDQsIDQxLCAzLCAyMzMsIDI0MSwgNDEsIDMsIDIzMCwgCisgICAgMjU1LCA0MSwgMywgMjQzLCA2NywgNDEsIDMsIDI0MywgMjM1LCA0MSwgMywgMjEyLCAxMTYsIDQxLCAzLCAyMTUsIDExOSwgCisgICAgNDEsIDMsIDIxNiwgMTM3LCA0MSwgMywgMjQ4LCA1LCA0MSwgMywgMjQ4LCAxMCwgNDEsIDMsIDIzMiwgOTksIDQxLCAzLCAKKyAgICAyMjIsIDE0MSwgNDEsIDMsIDI0NiwgNzksIDQxLCAzLCAyMjksIDExNiwgNDEsIDMsIDIxOCwgODQsIDQxLCAzLCAyMTksIAorICAgIDIyNiwgNDEsIDMsIDIxMCwgMTMsIDQxLCAzLCAyMTAsIDYyLCA0MSwgMywgMjQ5LCAxMTMsIDQxLCAzLCAyMzUsIDUyLCA0MSwgCisgICAgMywgMjI4LCAxNTYsIDQxLCAzLCAyMTAsIDIxMiwgNDEsIDMsIDIzMywgMjE4LCA0MSwgMywgMjI5LCA0MSwgNDEsIDMsIAorICAgIDI0MiwgMTE0LCA0MSwgMywgMjMwLCAxMDMsIDQxLCAzLCAyMjcsIDIzOCwgNDEsIDMsIDIyNywgMTI5LCA0MSwgMywgNzYsIAorICAgIDQxLCAzLCAyMjYsIDE5NywgNDEsIDMsIDIyOSwgMSwgNDEsIDMsIDI0MSwgNjksIDQxLCAzLCAyNDEsIDU3LCA0MSwgMywgCisgICAgMjExLCAyMjcsIDQxLCAzLCAyMTEsIDIxNiwgNDEsIDMsIDIyNSwgMTcsIDQxLCAzLCAyNTIsIDExLCA0MSwgMywgMjUxLCAKKyAgICAyMDYsIDQxLCAzLCAyMzEsIDEwNiwgNDEsIDMsIDIzMywgMjQ0LCA0MSwgMywgMjMxLCAyLCA0MSwgMywgMjQzLCA3MCwgNDEsIAorICAgIDMsIDI0MywgNjksIDQxLCAzLCAyNDQsIDQ0LCA0MSwgMywgMjEzLCAxMzgsIDQxLCAzLCAxMTEsIDQxLCAzLCAyMTYsIDE1NywgCisgICAgNDEsIDMsIDI0OCwgOCwgNDEsIDMsIDI0OCwgMTIsIDQxLCAzLCAyMzIsIDE1NywgNDEsIDMsIDIyMiwgMjEyLCA0MSwgMywgCisgICAgMjQ3LCAxNDYsIDQxLCAzLCAyMjksIDEyNSwgNDEsIDMsIDIxOSwgNTksIDQxLCAzLCAyMjAsIDgsIDQxLCAzLCAyMTAsIDIzLCAKKyAgICA0MSwgMywgMjEwLCA2NywgNDEsIDMsIDI0OSwgMjM5LCA0MSwgMywgMjM1LCA2OSwgNDEsIDMsIDIyOCwgMTYxLCA0MSwgMywgCisgICAgMjEwLCAyNDQsIDQxLCAzLCAyMzQsIDI5LCA0MSwgMywgMjI5LCA0MywgNDEsIDMsIDI0MiwgMTc1LCA0MSwgMywgMjMwLCAKKyAgICAxNjIsIDQxLCAzLCAyMjgsIDc1LCA0MSwgMywgMjI3LCAxMzUsIDQxLCAzLCA3NSwgNDEsIDMsIDI0NSwgMTUxLCA0MSwgMywgCisgICAgMjI5LCA2MiwgNDEsIDMsIDI0MSwgMjM5LCA0MSwgMywgMjQxLCAyMTAsIDQxLCAzLCAyMTIsIDIyLCA0MSwgMywgMjEyLCAKKyAgICAxMiwgNDEsIDMsIDIyNSwgMjIyLCA0MSwgMywgMjUyLCAxNSwgNDEsIDMsIDI1MiwgNzYsIDQxLCAzLCAyMzEsIDExOCwgNDEsIAorICAgIDMsIDIzMywgMjQ5LCA0MSwgMywgMjMzLCAyNDcsIDQxLCAzLCAyMzEsIDgsIDQxLCAzLCAyNDMsIDc3LCA0MSwgMywgMjQzLCAKKyAgICA3NSwgNDEsIDMsIDI0NCwgMTU1LCA0MSwgMywgMjEzLCAyNTUsIDQxLCAzLCAyMTcsIDIzLCA0MSwgMywgMjE2LCAxOTYsIAorICAgIDQxLCAzLCAyNDgsIDE4LCA0MSwgMywgMjQ4LCAxNSwgNDEsIDMsIDIzMywgNTksIDQxLCAzLCAyMjMsIDEyOSwgNDEsIDMsIAorICAgIDI0OCwgOTEsIDQxLCAzLCAyMjksIDE0MSwgNDEsIDMsIDIyMSwgMTgyLCA0MSwgMywgMjIwLCA2NCwgNDEsIDMsIDIxMCwgCisgICAgOTQsIDQxLCAzLCAyMTAsIDc0LCA0MSwgMywgMjUwLCAxOTEsIDQxLCAzLCAyMzUsIDEyNywgNDEsIDMsIDIyOCwgMTc5LCAKKyAgICA0MSwgMywgMjExLCA0NywgNDEsIDMsIDIzNCwgMTgzLCA0MSwgMywgMjI5LCA1MywgNDEsIDMsIDIyOSwgNDksIDQxLCAzLCAKKyAgICAyNDMsIDYzLCA0MSwgMywgMjQzLCA1MiwgNDEsIDMsIDIzMSwgOTIsIDQxLCAzLCAyMjksIDEwOCwgNDEsIDMsIDIyNywgCisgICAgMTU3LCA0MSwgMywgMjI5LCA4MCwgNDEsIDMsIDIzMywgMjMsIDQxLCAyNDksIDIyMCwgNDEsIDI0MywgMjMwLCAyMTgsIAorICAgIDEzMCwgNDEsIDIyNCwgMTQsIDc4LCA0MSwgMywgMjI5LCAxMjQsIDI0NCwgMTk3LCA0MSwgMywgMjI5LCAxMjQsIDE3NiwgCisgICAgNDEsIDMsIDIyOSwgMTI0LCAyMTksIDQxLCA0MSwgMTYsIDI0NCwgMTQ1LCA0MSwgMTYsIDIzNCwgMTgxLCA0MSwgMTYsIAorICAgIDIxNiwgODIsIDQxLCAxNiwgMjI4LCAyMDksIDQxLCAxNiwgMjUyLCAxNDgsIDQxLCAxNiwgMjQ0LCAxOTYsIDQxLCAxNiwgCisgICAgMjE3LCAxMDIsIDQxLCAxNiwgMjQ4LCAxNzcsIDQxLCAxNiwgMjQ3LCAxMjUsIDQxLCAxNiwgMjMzLCAyMDcsIDQxLCAxNiwgCisgICAgMjE2LCAyMiwgNDEsIDE2LCAyNDcsIDE0NSwgNDEsIDE2LCAyMzUsIDYxLCA0MSwgMjEsIDIxMCwgODYsIDQxLCAyMSwgMTEwLCAKKyAgICA0MSwgMjEsIDEwNSwgNDEsIDIxLCAxNTgsIDQxLCAyMSwgMTYxLCA0MSwgMjEsIDE4OSwgNDEsIDIxLCAxOTQsIDQxLCAyMSwgCisgICAgMTk4LCA0MSwgMjEsIDE5NSwgNDEsIDIxLCAyMDAsIDQxLCAzLCAyMjksIDEyNCwgMTg1LCA0MSwgMywgMjI5LCAxMjQsIAorICAgIDI0NywgMTQ2LCAzMywgNiwgMSwgMjEwLCA5MCwgMzMsIDQsIDEsIDIxMCwgOTAsIDMzLCA2LCAxLCAyNDYsIDM1LCAzMywgNCwgCisgICAgMSwgMjQ2LCAzNSwgMzMsIDYsIDEsIDIyMywgNTAsIDI0NiwgMzcsIDMzLCA0LCAxLCAyMjMsIDUwLCAyNDYsIDM3LCAzMywgCisgICAgNiwgMSwgMjM1LCAxODYsIDMzLCA0LCAxLCAyMzUsIDE4NiwgMzMsIDYsIDEsIDI0NywgMTYyLCAzMywgNCwgMSwgMjQ3LCAKKyAgICAxNjIsIDMzLCA2LCAxLCAyMzAsIDE0MSwgMjE0LCAyMDUsIDMzLCA0LCAxLCAyMzAsIDE0MSwgMjE0LCAyMDUsIDMzLCA2LCAKKyAgICAxLCAyNTEsIDEzNywgMjI2LCAyMDIsIDMzLCA0LCAxLCAyNTEsIDEzNywgMjI2LCAyMDIsIDMzLCA2LCAxLCAyMjksIDg4LCAKKyAgICAyMTEsIDMxLCAzMywgNCwgMSwgMjI5LCA4OCwgMjExLCAzMSwgMzMsIDYsIDEsIDIxMSwgMjgsIDIsIDI1MiwgMTg2LCAyMTEsIAorICAgIDMxLCAzMywgNCwgMSwgMjExLCAyOCwgMiwgMjUyLCAxODYsIDIxMSwgMzEsIDMzLCA2LCAxLCAyMzUsIDE4NCwgMjExLCA1OSwgCisgICAgMzMsIDQsIDEsIDIzNSwgMTg0LCAyMTEsIDU5LCAzMywgNiwgMSwgMjIzLCA1MCwgMjEwLCAyMTIsIDMzLCA0LCAxLCAyMjMsIAorICAgIDUwLCAyMTAsIDIxMiwgMzMsIDYsIDEsIDIzNSwgMTg0LCA2MSwgMzMsIDQsIDEsIDIzNSwgMTg0LCA2MSwgMzMsIDYsIDEsIAorICAgIDI1MCwgMSwgMjMyLCAxOTMsIDIxMCwgMTgzLCAzMywgNCwgMSwgMjUwLCAxLCAyMzIsIDE5MywgMjEwLCAxODMsIDMzLCA2LCAKKyAgICAxLCAyNTEsIDIxNSwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTEsIDIxNSwgMjEwLCAxODMsIDMzLCA2LCAxLCAyMzUsIDE4NCwgCisgICAgMjUwLCAxLCAyMzIsIDE5MywgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE4NCwgMjUwLCAxLCAyMzIsIDE5MywgMjEwLCAKKyAgICAxODMsIDMzLCA2LCAxLCAyMTAsIDI0NiwgMzMsIDQsIDEsIDIxMCwgMjQ2LCAzMywgNiwgMSwgMjIzLCA1MCwgMjE1LCAxNzksIAorICAgIDMzLCA0LCAxLCAyMjMsIDUwLCAyMTUsIDE3OSwgMzMsIDYsIDEsIDIxOSwgNTMsIDI0OCwgOTEsIDMzLCA0LCAxLCAyMTksIAorICAgIDUzLCAyNDgsIDkxLCAzMywgNiwgMSwgMjE5LCA1MywgMjQ1LCAxNzUsIDMzLCA0LCAxLCAyMTksIDUzLCAyNDUsIDE3NSwgCisgICAgMzMsIDYsIDEsIDIxOSwgNTMsIDI0NSwgMTYwLCAzMywgNCwgMSwgMjE5LCA1MywgMjQ1LCAxNjAsIDMzLCA2LCAxLCAyMzAsIAorICAgIDE0NSwgNzYsIDMzLCA0LCAxLCAyMzAsIDE0NSwgNzYsIDMzLCA2LCAxLCAyNTEsIDI0MSwgNzYsIDMzLCA0LCAxLCAyNTEsIAorICAgIDI0MSwgNzYsIDMzLCA2LCAxLCA1MiwgMjMwLCAxNDUsIDc2LCAzMywgNCwgMSwgNTIsIDIzMCwgMTQ1LCA3NiwgMzMsIDEsIAorICAgIDIzMCwgODcsIDc2LCAzOCwgMzMsIDIxMiwgMTAwLCAzOCwgMzMsIDIxNiwgMjQ5LCAyMzAsIDE5MiwgNTAsIDM4LCAzMywgCisgICAgMjQwLCAyMTIsIDIzMCwgMTkyLCA1MCwgMzgsIDMzLCAyMTYsIDE0OSwgMjMwLCAxOTIsIDUwLCAyMTksIDk0LCAyNTMsIAorICAgIDIxNywgMzgsIDMzLCAxLCAyMTQsIDIwMiwgMjM2LCA2MSwgMzgsIDMzLCAxLCA3MywgMzgsIDMzLCAxLCAyMTEsIDgsIDM4LCAKKyAgICAzMywgMSwgNzAsIDM4LCAzMywgMSwgMjQyLCA0LCA1MCwgMzgsIDMzLCAxLCAyMTEsIDI3LCAzOCwgMzMsIDEsIDIxOSwgNTMsIAorICAgIDUwLCAzOCwgMzMsIDEsIDIyNiwgMjAyLCAzOCwgMzMsIDIzNCwgMTkzLCAzOCwgMzMsIDIyNSwgMjI4LCAzMywgMjM0LCAKKyAgICAxOTMsIDMzLCAyMjUsIDIyOCwgMzMsIDYsIDEsIDI0NiwgNDcsIDMzLCA0LCAxLCAyNDYsIDQ3LCAzMywgNiwgMSwgMjQ2LCAKKyAgICAyOCwgMzMsIDQsIDEsIDI0NiwgMjgsIDMzLCA2LCAxLCAyMTAsIDUyLCAzMywgNCwgMSwgMjEwLCA1MiwgMzMsIDYsIDEsIAorICAgIDI1MCwgMjA3LCAzMywgNCwgMSwgMjUwLCAyMDcsIDMzLCA2LCAxLCAyNDYsIDI2LCAzMywgNCwgMSwgMjQ2LCAyNiwgMzMsIAorICAgIDYsIDEsIDIxNywgMjQsIDIsIDIzMCwgMjI1LCAxMDMsIDMzLCA0LCAxLCAyMTcsIDI0LCAyLCAyMzAsIDIyNSwgMTAzLCAzMywgCisgICAgNiwgMSwgMjE1LCA3OCwgMzMsIDQsIDEsIDIxNSwgNzgsIDMzLCA2LCAxLCAyMTUsIDE2MSwgMzMsIDQsIDEsIDIxNSwgMTYxLCAKKyAgICAzMywgNiwgMSwgMjE1LCAxNjUsIDMzLCA0LCAxLCAyMTUsIDE2NSwgMzMsIDYsIDEsIDIxNywgMjksIDMzLCA0LCAxLCAyMTcsIAorICAgIDI5LCAzMywgNiwgMSwgMjQwLCAxOTksIDMzLCA0LCAxLCAyNDAsIDE5OSwgMzMsIDYsIDEsIDIxOSwgMjA3LCAzMywgNCwgMSwgCisgICAgMjE5LCAyMDcsIDM4LCAzMywgMSwgMjM1LCAxODQsIDc1LCAyMCwgMSwgNjEsIDIwLCAxLCAxNzYsIDIwLCAxLCA3MCwgMjAsIAorICAgIDEsIDIzMywgMjE4LCAyMCwgMSwgMjQ1LCAyMTAsIDIwLCAxLCAyMjMsIDEwOSwgMjAsIDEsIDIxNywgODcsIDIwLCAxLCA3NiwgCisgICAgMjAsIDEsIDIyNywgMTQ5LCAyMCwgMSwgNzMsIDIwLCAxLCAyMzMsIDEzNiwgMjAsIDEsIDE5MCwgMjAsIDEsIDIyMiwgMjQwLCAKKyAgICAyMCwgMSwgMjIzLCAzMCwgMjAsIDEsIDIzMywgNTAsIDIwLCAxLCAyMzEsIDgwLCAyMCwgMSwgMjE3LCAxMDIsIDIwLCAxLCAKKyAgICAyMjksIDE0NywgMjAsIDEsIDIyOCwgMTg0LCAyMCwgMSwgMTkzLCAyMCwgMSwgMjE4LCA1LCAyMCwgMSwgMjMwLCAxMDMsIAorICAgIDIwLCAxLCAyMjAsIDI4LCAyMCwgMSwgMjE5LCAxOTIsIDIwLCAxLCAyMjAsIDM4LCAyMCwgMSwgMjIwLCAxMjQsIDIwLCAxLCAKKyAgICAyMzMsIDE1NiwgMjAsIDEsIDIzNCwgMTU3LCAyMCwgMSwgMjI3LCAyMTAsIDIwLCAxLCAyMjcsIDIzOCwgMjAsIDEsIDIyOCwgCisgICAgMTU1LCAyMCwgMSwgMjEwLCAyMjYsIDIwLCAxLCAyMTksIDIyNiwgMjAsIDEsIDIxMCwgMTg3LCAyMCwgMSwgMTkxLCAyMCwgCisgICAgMSwgMjI4LCAxMCwgMjAsIDEsIDIzNCwgMTQzLCAyMCwgMSwgMjI1LCAxNTIsIDIwLCAxLCAyMjgsIDE3NywgMjAsIDEsIAorICAgIDIyNywgMjQ3LCAyMCwgMSwgMjI0LCAxNDUsIDIwLCAxLCAyMTEsIDE5MiwgMjAsIDEsIDIyNSwgMjEyLCAyMCwgMSwgMjQ0LCAKKyAgICAxNDgsIDIwLCAxLCAyMjIsIDE0MSwgMjAsIDEsIDIzMiwgOTksIDIwLCAxLCAyMzAsIDIzMSwgMjAsIDEsIDIyOCwgMjM0LCAKKyAgICAyMCwgMSwgMjIzLCA1MiwgMjAsIDEsIDIyMywgMTcyLCAyMCwgMSwgMjM0LCAxNjYsIDIwLCAxLCAyMjksIDgsIDIwLCAxLCAKKyAgICAyMjksIDU3LCAyMCwgMSwgMjI5LCA3OCwgMjAsIDEsIDIyMCwgOCwgMjAsIDEsIDIyNCwgMTQ4LCAyMCwgMSwgMjQzLCAyMzUsIAorICAgIDIwLCAxLCAyNDQsIDM4LCAyMCwgMSwgMjEyLCA2NSwgMjAsIDEsIDE5NywgMjAsIDEsIDIzMiwgMjQyLCAyMCwgMSwgMjI1LCAKKyAgICAxMDksIDIwLCAxLCAyMzIsIDEyMCwgMjAsIDEsIDIzNCwgMjksIDIwLCAxLCAyMzEsIDExNSwgMjAsIDEsIDIyMywgODQsIAorICAgIDIwLCAxLCAyMzEsIDU5LCAyMCwgMSwgMTg1LCAyMCwgMSwgMjE2LCAxMTgsIDIwLCAxLCAyMzQsIDkzLCAyMCwgMSwgMjMwLCAKKyAgICAxNjIsIDIwLCAxLCAyMzEsIDEyMywgMjAsIDEsIDIxNiwgMjMxLCAyMCwgMSwgMjMzLCAyNTIsIDIwLCAxLCAyMTYsIDI0OCwgCisgICAgMjAsIDEsIDIyNywgMjM5LCAyMCwgMSwgMjIxLCAyNTIsIDIwLCAxLCAyNDQsIDE5MywgMjAsIDEsIDIzMywgMjU0LCAyMCwgCisgICAgMSwgMjM0LCAyNSwgMjAsIDM4LCAxNjQsIDIzNCwgNiwgMjAsIDM4LCAxNjQsIDIxNSwgMTExLCAyMCwgMjI4LCAxODMsIDIwLCAKKyAgICAyNDMsIDIzMCwgMjE4LCAxMzAsIDIwLCAyNDksIDIyNywgMjAsIDI0OSwgMjIwLCAyMCwgMjIwLCAxNTEsIDIwLCAyMjQsIAorICAgIDE0LCA3OCwgNTgsIDEsIDI1MCwgOTcsIDEzOCwgMjEwLCAyNTQsIDIyNSwgNjIsIDU4LCAxLCAyNTAsIDk3LCAxMzgsIDIxMSwgCisgICAgNzAsIDIyNSwgNjIsIDU4LCAxLCAyNTAsIDk3LCAxMzgsIDIxMCwgMjU0LCAyMjAsIDg1LCA1OCwgMSwgMjUwLCA5NywgMTM4LCAKKyAgICAyMTEsIDcwLCAyMjAsIDg1LCA1OCwgMSwgMjUwLCA5NywgMTM4LCAyMTAsIDI1NCwgMjI0LCAzMSwgNTgsIDEsIDI1MCwgOTcsIAorICAgIDEzOCwgMjExLCA3MCwgMjI0LCAzMSwgNTgsIDEsIDI1MCwgOTcsIDEzOCwgMjEwLCAyNTQsIDIyMiwgMTQxLCA1OCwgMSwgCisgICAgMjUwLCA5NywgMTM4LCAyMTEsIDcwLCAyMjIsIDE0MSwgNTgsIDEsIDI0NSwgMjEsIDI0NiwgMTE5LCAxMzgsIDEzMCwgNTgsIAorICAgIDEsIDEyNSwgMjQ2LCAxMTksIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMjYsIDI0NiwgMTE5LCAxMzgsIDEzMCwgNTgsIDEsIAorICAgIDEyMSwgMjQ2LCAxMTksIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyMCwgMjQ2LCAxMTksIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAKKyAgICAyMSwgMjQ2LCAxMTksIDIzMywgNDAsIDEzOCwgMTMwLCA1OCwgMSwgMTI1LCAyNDYsIDExOSwgMjMzLCA0MCwgMTM4LCAxMzAsIAorICAgIDU4LCAxLCAyMzAsIDIyNiwgMjQ2LCAxMTksIDIzMywgNDAsIDEzOCwgMTMwLCA1OCwgMSwgMTIxLCAyNDYsIDExOSwgMjMzLCAKKyAgICA0MCwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDIwLCAyNDYsIDExOSwgMjMzLCA0MCwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIAorICAgIDIxLCAyMzMsIDQwLCAxMzgsIDEzMCwgNTgsIDEsIDEyNSwgMjMzLCA0MCwgMTM4LCAxMzAsIDU4LCAxLCAyMzAsIDIyNiwgCisgICAgMjMzLCA0MCwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDIzMywgNDAsIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyMCwgMjMzLCAKKyAgICA0MCwgMTM4LCAxMzAsIDU4LCAxLCA1OSwgNjcsIDEzMCwgNTgsIDEsIDU5LCAyMTksIDk2LCA1OCwgMSwgNTksIDIwMywgCisgICAgMTMwLCA1OCwgMSwgMjMyLCAxMDksIDQ0LCAyNDksIDE2MiwgMjU0LCAxMTAsIDU4LCAxLCAyMjMsIDE1OCwgMTIwLCA3NCwgCisgICAgNTgsIDEsIDIyMywgMTU4LCAxMjQsIDc0LCA1OCwgMSwgMjIzLCAxNTgsIDI0NSwgMzIsIDc4LCA1OCwgMSwgMjIzLCAxNTgsIAorICAgIDIzNSwgMTk0LCAyNDUsIDMyLCA3OCwgNTgsIDEsIDEyMSwgMjM1LCAxOTQsIDI0NSwgMzIsIDc4LCA1OCwgMSwgMjE4LCAKKyAgICAxMTIsIDIyLCAxMjUsIDIxNiwgMzEsIDU4LCAxLCAyMTgsIDExMiwgMjIsIDEyMSwgMjE2LCAzMSwgNywgNiwgMSwgMjQ1LCAKKyAgICAyMDAsIDI1NCwgMTcxLCA3LCA0LCAxLCAyNDUsIDIwMCwgMjU0LCAxNzEsIDcsIDYsIDEsIDI0NSwgMjAwLCAyNTQsIDE5NywgCisgICAgNywgNCwgMSwgMjQ1LCAyMDAsIDI1NCwgMTk3LCA3LCA2LCAxLCAyNDEsIDIwOCwgNywgNCwgMSwgMjQxLCAyMDgsIDcsIDYsIAorICAgIDEsIDIxNSwgNDAsIDcsIDQsIDEsIDIxNSwgNDAsIDcsIDYsIDEsIDIxNSwgMjMwLCA3LCA0LCAxLCAyMTUsIDIzMCwgNywgNiwgCisgICAgMSwgMjQ5LCAxMTEsIDcsIDQsIDEsIDI0OSwgMTExLCA3LCA2LCAxLCAyNDksIDExMiwgMiwgMjQ5LCAyMjAsIDcsIDQsIDEsIAorICAgIDI0OSwgMTEyLCAyLCAyNDksIDIyMCwgNywgMSwgNCwgNiwgMjQ1LCA3LCA3LCAxLCA0LCA2LCAyMjIsIDkyLCA3LCA2LCAxLCAKKyAgICAyNTUsIDc0LCA3LCA0LCAxLCAyNTUsIDc0LCA3LCA2LCAxLCAyNTQsIDc0LCA3LCA0LCAxLCAyNTQsIDc0LCA3LCA2LCAxLCAKKyAgICAyNTMsIDE5MywgNywgNCwgMSwgMjUzLCAxOTMsIDcsIDYsIDEsIDI1MywgMTc3LCA3LCA0LCAxLCAyNTMsIDE3NywgNywgNiwgCisgICAgMSwgMjUzLCAxNzgsIDIsIDIwMywgMTMwLCA3LCA0LCAxLCAyNTMsIDE3OCwgMiwgMjAzLCAxMzAsIDcsIDYsIDEsIDI1MywgCisgICAgMTY4LCA3LCA0LCAxLCAyNTMsIDE2OCwgNywgNiwgMSwgMjIzLCA1MCwgMjUxLCA2OCwgMiwgMjQ3LCAxMjEsIDcsIDQsIDEsIAorICAgIDIyMywgNTAsIDI1MSwgNjgsIDIsIDI0NywgMTIxLCA3LCA2LCAxLCAyMzUsIDI1LCAyLCA5MSwgNywgNCwgMSwgMjM1LCAyNSwgCisgICAgMiwgOTEsIDcsIDYsIDEsIDIzNSwgMjUsIDIsIDI0OCwgMCwgOTEsIDcsIDQsIDEsIDIzNSwgMjUsIDIsIDI0OCwgMCwgOTEsIAorICAgIDcsIDYsIDEsIDIzNSwgMjUsIDIsIDIxOCwgMTA0LCAyMiwgMjQ4LCAwLCA5MSwgNywgNCwgMSwgMjM1LCAyNSwgMiwgMjE4LCAKKyAgICAxMDQsIDIyLCAyNDgsIDAsIDkxLCA3LCA2LCAxLCAyNTEsIDEzNiwgMTU2LCA3LCA0LCAxLCAyNTEsIDEzNiwgMTU2LCA3LCAKKyAgICA2LCAxLCAyMzMsIDE1MCwgMiwgMTI1LCA5MSwgNywgNCwgMSwgMjMzLCAxNTAsIDIsIDEyNSwgOTEsIDcsIDYsIDEsIDE0NCwgCisgICAgMiwgMTk5LCAyMTgsIDEwNCwgMjI2LCAxMjEsIDcsIDQsIDEsIDE0NCwgMiwgMTk5LCAyMTgsIDEwNCwgMjI2LCAxMjEsIDcsIAorICAgIDYsIDEsIDE0NCwgMiwgMjMyLCAxMjQsIDcsIDQsIDEsIDE0NCwgMiwgMjMyLCAxMjQsIDcsIDYsIDEsIDIyNiwgMTg0LCA3LCAKKyAgICA0LCAxLCAyMjYsIDE4NCwgNywgNiwgMSwgMjI2LCAxMDcsIDIsIDIxOCwgMTA0LCAyMTYsIDE0MCwgMjQ4LCA0MCwgNywgNCwgCisgICAgMSwgMjI2LCAxMDcsIDIsIDIxOCwgMTA0LCAyMTYsIDE0MCwgMjQ4LCA0MCwgNywgNiwgMSwgMjI2LCAxMDcsIDIsIDI0NCwgCisgICAgNTQsIDcsIDQsIDEsIDIyNiwgMTA3LCAyLCAyNDQsIDU0LCA3LCA2LCAxLCAyMjYsIDEwNywgMiwgMjE4LCAyMzAsIDIxNywgCisgICAgNzgsIDcsIDQsIDEsIDIyNiwgMTA3LCAyLCAyMTgsIDIzMCwgMjE3LCA3OCwgNywgNiwgMSwgMjI0LCA5OCwgMiwgMjE4LCAKKyAgICAxMDQsIDIxNiwgMTQwLCAyNDgsIDQwLCA3LCA0LCAxLCAyMjQsIDk4LCAyLCAyMTgsIDEwNCwgMjE2LCAxNDAsIDI0OCwgNDAsIAorICAgIDcsIDYsIDEsIDIyNCwgOTgsIDIsIDI0OCwgMCwgOTEsIDcsIDQsIDEsIDIyNCwgOTgsIDIsIDI0OCwgMCwgOTEsIDcsIDYsIAorICAgIDEsIDIyMywgMjI1LCAyMjIsIDE4NywgNywgNCwgMSwgMjIzLCAyMjUsIDIyMiwgMTg3LCA3LCA2LCAxLCAyMjIsIDEzMSwgCisgICAgMjIyLCAxODcsIDcsIDQsIDEsIDIyMiwgMTMxLCAyMjIsIDE4NywgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDI0OCwgMCwgOTEsIAorICAgIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAyNDgsIDAsIDkxLCA3LCA2LCAxLCAyMTIsIDEwNiwgNywgNCwgMSwgMjEyLCAxMDYsIAorICAgIDcsIDYsIDEsIDIxMywgMTQ1LCAyMTAsIDE1OSwgNywgNCwgMSwgMjEzLCAxNDUsIDIxMCwgMTU5LCA3LCA2LCAxLCAyMTYsIAorICAgIDE1MywgMiwgOTEsIDcsIDQsIDEsIDIxNiwgMTUzLCAyLCA5MSwgNywgNiwgMSwgMjE2LCAxNTMsIDIsIDIxOCwgMTA0LCAKKyAgICAyMTYsIDE0MCwgMjQ4LCA0MCwgNywgNCwgMSwgMjE2LCAxNTMsIDIsIDIxOCwgMTA0LCAyMTYsIDE0MCwgMjQ4LCA0MCwgNywgCisgICAgNiwgMSwgMjEzLCAyNDUsIDcsIDQsIDEsIDIxMywgMjQ1LCA3LCA2LCAxLCAyNDUsIDY2LCA3LCA0LCAxLCAyNDUsIDY2LCA3LCAKKyAgICA2LCAxLCAyMzUsIDE3MiwgNywgNCwgMSwgMjM1LCAxNzIsIDcsIDYsIDEsIDI0OSwgMjA4LCA3LCA0LCAxLCAyNDksIDIwOCwgCisgICAgNTgsIDEsIDIxNCwgMTMzLCA3LCA0LCAxLCAyNDYsIDcwLCA3LCA0LCAxLCAyMzIsIDg1LCA3LCA0LCAxLCAyMzAsIDgxLCA3LCAKKyAgICA0LCAxLCAyMjcsIDIwMiwgNywgNCwgMSwgMjIyLCAxMzAsIDcsIDEsIDQsIDYsIDIyMiwgMTMwLCA3LCA0LCAxLCAyMTUsIAorICAgIDEwOSwgNywgNCwgMSwgMjE0LCAxOTcsIDcsIDYsIDEsIDIzNSwgMjE0LCAyNDksIDYxLCA3LCA0LCAxLCAyMzUsIDIxNCwgCisgICAgMjQ5LCA2MSwgNywgNiwgMSwgMjM1LCAyMTQsIDI0NSwgNywgNywgNCwgMSwgMjM1LCAyMTQsIDI0NSwgNywgNywgNiwgMSwgCisgICAgMjM1LCAyMTQsIDI0MywgMjAzLCA3LCA2LCAxLCAyMTUsIDk0LCAyMzUsIDIxNCwgMjQzLCAyMDMsIDcsIDQsIDEsIDIxNSwgCisgICAgOTQsIDIzNSwgMjE0LCAyNDMsIDIwMywgNywgNiwgMSwgMjE1LCA5NCwgMTU2LCA3LCA0LCAxLCAyMTUsIDk0LCAxNTYsIDcsIAorICAgIDYsIDEsIDIzNSwgMjE0LCAxNTMsIDcsIDQsIDEsIDIzNSwgMjE0LCAxNTMsIDcsIDYsIDEsIDIzNSwgMjE0LCAyMjIsIDkyLCAKKyAgICA3LCA0LCAxLCAyMzUsIDIxNCwgMjIyLCA5MiwgNywgNiwgMSwgMjM1LCAyMTQsIDIxNywgMTUzLCA3LCA0LCAxLCAyMzUsIAorICAgIDIxNCwgMjE3LCAxNTMsIDU4LCAxLCAxMjEsIDI1MCwgMzIsIDI1NSwgMTUsIDU4LCAxLCAyNDksIDIyNywgNTgsIDEsIDIxOSwgCisgICAgMjUyLCAyNDUsIDk5LCA1MCwgNywgNiwgMSwgMjIyLCAwLCA3LCA0LCAxLCAyMjIsIDAsIDcsIDYsIDEsIDIxNSwgOTQsIAorICAgIDI0MiwgNjEsIDcsIDQsIDEsIDIzMywgMTUwLCAyLCAyMjMsIDU2LCAyNDEsIDUzLCAyMiwgMjUyLCA0MiwgNywgNiwgMSwgCisgICAgMjMwLCAyNywgMiwgMjQ4LCA0MCwgNywgNCwgMSwgMjMwLCAyNywgMiwgMjQ4LCA0MCwgNywgNiwgMSwgMjUxLCA2OCwgMiwgCisgICAgMTMwLCA3LCA0LCAxLCAyNTEsIDY4LCAyLCAxMzAsIDcsIDYsIDEsIDI0MywgMjA0LCAyLCAyMjYsIDI0OSwgOTEsIDcsIDQsIAorICAgIDEsIDI0MywgMjA0LCAyLCAyMjYsIDI0OSwgOTEsIDcsIDYsIDEsIDIzNSwgMjUsIDIsIDIyNiwgMjQ5LCA5MSwgNywgNCwgMSwgCisgICAgMjM1LCAyNSwgMiwgMjI2LCAyNDksIDkxLCA3LCA2LCAxLCAyMzAsIDI3LCAyLCAyMjYsIDI0OSwgOTEsIDcsIDQsIDEsIAorICAgIDIzMCwgMjcsIDIsIDIyNiwgMjQ5LCA5MSwgNywgNiwgMSwgMjIzLCAyMjUsIDIsIDIyNiwgMjQ5LCA5MSwgNywgNCwgMSwgCisgICAgMjIzLCAyMjUsIDIsIDIyNiwgMjQ5LCA5MSwgNywgNiwgMSwgMjIyLCA5MywgMiwgMjI2LCAyNDksIDkxLCA3LCA0LCAxLCAKKyAgICAyMjIsIDkzLCAyLCAyMjYsIDI0OSwgOTEsIDcsIDYsIDEsIDI0MiwgNjIsIDIsIDEwMywgNTgsIDEsIDYsIDI0MiwgNjIsIDIsIAorICAgIDkxLCA1OCwgMSwgNCwgMjcsIDIyNiwgMjM1LCA3LCAxLCA0LCA2LCAyMTUsIDk0LCAxOTMsIDcsIDI0NSwgMTA0LCAxLCAKKyAgICAyMjMsIDUwLCAyNDUsIDcsIDcsIDI0NSwgMTA0LCAxLCAyMjMsIDUwLCAyMjYsIDEwNiwgNywgMjQ1LCAxMDQsIDEsIDIzNSwgCisgICAgMTk0LCAxOTMsIDcsIDI0NSwgMTA0LCAxLCAyNDAsIDE1NSwgMjMyLCAxMzAsIDcsIDI0NSwgMTA0LCAxLCAyNTQsIDI0LCAKKyAgICAxOTMsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgNjEsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgNzMsIDIxNywgMjMxLCAyMjksIAorICAgIDIxNSwgNSwgMjQ2LCA0OSwgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCA3MCwgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCA3NSwgCisgICAgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCA3NiwgMjE3LCAyMzEsIDIyOSwgMjE1LCA1LCAyNDEsIDI1NCwgMjE3LCAyMzEsIAorICAgIDIyOSwgMjE1LCAxLCAyMzQsIDI5LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDIzNCwgMTA2LCAyMTcsIDIzMSwgMjI5LCAKKyAgICAyMTUsIDEsIDI0MiwgMTc1LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDI0MiwgMjI1LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDUsIAorICAgIDI1NCwgNzYsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgMjQ5LCAyMzksIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgMjUwLCA4NywgCisgICAgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCAyMzUsIDY5LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDIzNSwgMTEwLCAyMTcsIAorICAgIDIzMSwgMjI5LCAyMTUsIDEsIDIxNSwgMTM0LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDIxNSwgMTQwLCAyMTcsIDIzMSwgCisgICAgMjI5LCAyMTUsIDEsIDI0OCwgMTA2LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDI0OCwgMTE1LCAyMTcsIDIzMSwgMjI5LCAKKyAgICAyMTUsIDEsIDExMSwgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCAyMTYsIDE1NywgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCAyNDcsIAorICAgIDE0NiwgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCAyNDgsIDgsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgMjI4LCA3NSwgMjE3LCAKKyAgICAyMzEsIDIyOSwgMjE1LCAxLCAyMjUsIDE3LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDIyNSwgMTIyLCAyMTcsIDIzMSwgCisgICAgMjI5LCAyMTUsIDEsIDI1MSwgMjA2LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDEsIDI1MiwgMTEsIDIxNywgMjMxLCAyMjksIAorICAgIDIxNSwgMSwgMjMwLCAxNjIsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgMjIyLCAyMTIsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgCisgICAgMjMyLCAxNTcsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgMjIyLCAxNjYsIDIxNywgMjMxLCAyMjksIDIxNSwgMSwgMjE5LCAKKyAgICA1OSwgMjE3LCAyMzEsIDIyOSwgMjE1LCAxLCAyNDEsIDY5LCAyMTcsIDIzMSwgMjI5LCAyMTUsIDI1LCA1LCA2MSwgMjE3LCAKKyAgICAyMzEsIDIyOSwgMjE1LCAyNSwgNSwgNzMsIDIxNywgMjMxLCAyMjksIDIxNSwgMjUsIDUsIDcwLCAyMTcsIDIzMSwgMjI5LCAKKyAgICAyMTUsIDI1LCA1LCA3NSwgMjE3LCAyMzEsIDIyOSwgMjE1LCAyNSwgNSwgMjI2LCAxODQsIDIxNywgMjMxLCAyMjksIDIxNSwgCisgICAgMjI1LCAxMywgMjMxLCAxNTksIDIxNywgMjMxLCAyMjksIDIxNSwgMjI1LCAxMywgMjMxLCAxNTgsIDIxNywgMjMxLCAyMjksIAorICAgIDIxNSwgMjI1LCAxMywgMjMxLCAxNTcsIDIxNywgMjMxLCAyMjksIDIxNSwgMjI1LCAxMywgMjMxLCAxNTYsIDIyOCwgNTcsIAorICAgIDIzNSwgMjQxLCAyNDQsIDMsIDEyMywgMjI0LCAyMiwgMjI4LCA1NywgMjM1LCAyNDEsIDI0NCwgMywgMTIzLCAyNDIsIDI4LCAKKyAgICAyMjgsIDU3LCAyMzUsIDI0MSwgMjQ0LCAzLCAxMzQsIDIyNCwgMjAsIDIyOCwgNTcsIDIzNSwgMjQxLCAyNDQsIDMsIDEyMywgCisgICAgMjE5LCAxMTgsIDIyOCwgNTcsIDIzNSwgMjQxLCAyNDQsIDMsIDEyMywgMjQ1LCAxODksIDIyOCwgNTcsIDIzNSwgMjQxLCAKKyAgICAyNDQsIDMsIDEzNCwgMjE5LCAxMTcsIDIyOCwgNTcsIDIzNSwgMjQxLCAyMjQsIDIzLCA3OCwgMjI4LCA1NywgMjM1LCAyNDEsIAorICAgIDIyNSwgNDEsIDc4LCAyMjgsIDU3LCAyMzUsIDI0MSwgMjIyLCAxMTksIDc4LCAyMjgsIDU3LCAyMzUsIDI0MSwgMjI0LCAyNCwgCisgICAgNzgsIDIyNSwgMTQ1LCAxLCAxNzYsIDIyNSwgMTQ1LCAxLCAyMzQsIDEzMywgMjI1LCAxNDUsIDEsIDI0MywgMTM2LCAyMjUsIAorICAgIDE0NSwgMSwgMjI5LCA3OCwgMjI1LCAxNDUsIDEsIDI1MSwgMzQsIDIyNSwgMTQ1LCAxLCAyNTAsIDE1OCwgMjI1LCAxNDUsIAorICAgIDEsIDIzNSwgMTQyLCAyMjUsIDE0NSwgMSwgMjI3LCAxNjYsIDIyNSwgMTQ1LCAxLCAyMTcsIDEwNiwgMjI1LCAxNDUsIDEsIAorICAgIDIxNiwgMjA5LCAyMjUsIDE0NSwgMSwgMjQ4LCAyMjIsIDIyNSwgMTQ1LCAxLCAxOTcsIDIyNSwgMTQ1LCAxLCAxOTAsIDIyNSwgCisgICAgMTQ1LCAxLCAyMjUsIDE0OCwgMjI1LCAxNDUsIDEsIDI1MiwgMTkyLCAyMjUsIDE0NSwgMSwgMTg1LCAyMjUsIDE0NSwgMSwgCisgICAgMjE1LCAxODQsIDIyNSwgMTQ1LCAxLCAyMTUsIDE3NiwgMjI1LCAxNDUsIDEsIDI0NiwgMzksIDIyNSwgMTQ1LCAxLCAyMTIsIAorICAgIDY1LCAyMjUsIDE0NSwgMSwgMjEwLCA4MiwgMjI1LCAxNDUsIDEsIDIxMCwgMTE2LCAyMjUsIDE0NSwgMSwgNCwgNjEsIDIyNSwgCisgICAgMTQ1LCAxLCAxOTEsIDIyNSwgMTQ1LCAxLCAyMDUsIDIyNSwgMTQ1LCAxLCAyMzMsIDEzNiwgMjI1LCAxNDUsIDEsIDIyMCwgCisgICAgMTAzLCAyMjUsIDE0NSwgMSwgMjA2LCAyMjUsIDE0NSwgMSwgMTYyLCAyMjUsIDE0NSwgMSwgNjEsIDIyNSwgMTQ1LCAxLCAKKyAgICA3MywgMjI1LCAxNDUsIDEsIDcwLCAyMjUsIDE0NSwgMSwgNzUsIDIyNSwgMTQ1LCAxLCA3NiwgMjI1LCAxNDUsIDEsIDIyNCwgCisgICAgODksIDIyNSwgMTQ1LCAxLCAyMTEsIDE2NSwgMjI1LCAxNDUsIDEsIDI0NCwgMTk3LCAyMjUsIDE0NSwgMSwgMjQzLCAzMCwgCisgICAgMjI1LCAxNDUsIDEsIDI0NSwgMjEwLCAyMjUsIDE0NSwgMjE4LCA3NCwgMSwgMjEyLCA2NSwgMjI1LCAxNDUsIDIxOCwgNzQsIAorICAgIDEsIDE5MSwgMjI1LCAxNDUsIDEsIDIxNSwgMTU3LCAyMjUsIDE0NSwgMSwgMjE1LCAxNDUsIDIyNSwgMTQ1LCAxLCAyNDgsIAorICAgIDEzNiwgMjI1LCAxNDUsIDEsIDIyOCwgMTExLCAyMjUsIDE0NSwgMSwgMjU0LCAxNDIsIDE5MSwgMjI1LCAxNDUsIDEsIDIxMywgCisgICAgMTM0LCAyMjAsIDEwMywgMjI1LCAxNDUsIDEsIDIxMywgMTM1LCAxNjIsIDIyNSwgMTQ1LCAxLCAyNTMsIDIyNCwgMjQ0LCAKKyAgICAxOTcsIDIyNSwgMTQ1LCAyMTgsIDc0LCAxLCAyMDUsIDIyNSwgMTQ1LCAyMTgsIDI2LCAxLCAyMDUsIDIyNSwgMTQ1LCAxLCAKKyAgICAyNTEsIDAsIDIyNSwgMTQ1LCAyMTksIDE1NiwgMjQxLCAyMzcsIDc4LCAyMjUsIDE0NSwgNTIsIDI0MSwgMjM3LCA3OCwgCisgICAgMjI1LCAxNDUsIDE2NCwgMjIwLCA5NiwgMjI1LCAxNDUsIDE2NCwgNTIsIDIyMCwgOTYsIDE3OSwgNSwgMjU0LCA3NiwgMTc5LCAKKyAgICA1LCAyMTMsIDE0NywgMTc5LCAxLCA2MSwgMTc5LCAxLCAyNTUsIDc0LCAxNzksIDEsIDczLCAxNzksIDEsIDIzNiwgMzQsIAorICAgIDE3OSwgMSwgNzAsIDE3OSwgMSwgMjE0LCAxMTgsIDE3OSwgMSwgMTQ5LCAxNTMsIDE3OSwgMSwgMTQ5LCAyMjIsIDE4MSwgCisgICAgMTc5LCAxLCAxNDksIDE1NiwgMTc5LCAxLCAxNDksIDIzMiwgMTg2LCAxNzksIDEsIDc1LCAxNzksIDEsIDI0NSwgMjEwLCAKKyAgICAxNzksIDEsIDI1NCwgMjAyLCAxNzksIDEsIDc2LCAxNzksIDEsIDIyNiwgMTg0LCAxNzksIDEsIDI1MywgMTkzLCAxNzksIDEsIAorICAgIDE3NiwgMTc5LCAxLCAyMzQsIDEzMywgMTc5LCAxLCAyNDMsIDEzNiwgMTc5LCAxLCAyNDIsIDI1MCwgMTc5LCAxLCAyMjksIAorICAgIDc4LCAxNzksIDEsIDI1MSwgMzQsIDE3OSwgMSwgMjUwLCAxNTgsIDE3OSwgMSwgMjM1LCAxNDIsIDE3OSwgMSwgMjM1LCAKKyAgICAxMTUsIDE3OSwgMSwgMjI3LCAxNjYsIDE3OSwgMSwgMjE1LCAxNTcsIDE3OSwgMSwgMjE1LCAxNDUsIDE3OSwgMSwgMjQ4LCAKKyAgICAxMzYsIDE3OSwgMSwgMjQ4LCAxMjAsIDE3OSwgMSwgMjI4LCAxMTEsIDE3OSwgMSwgMjE3LCAxMDYsIDE3OSwgMSwgMjE2LCAKKyAgICAyMDksIDE3OSwgMSwgMjQ4LCAyMjIsIDE3OSwgMSwgMjQ4LCAyNiwgMTc5LCAxLCAxOTcsIDE3OSwgMSwgMTkwLCAxNzksIDEsIAorICAgIDIyNSwgMTQ4LCAxNzksIDEsIDI1MiwgMTkyLCAxNzksIDEsIDI1MiwgMTksIDE3OSwgMSwgMTg1LCAxNzksIDEsIDE5MSwgCisgICAgMTc5LCAxLCAyMDUsIDE3OSwgMSwgMjMzLCAxMzYsIDE3OSwgMSwgMjE0LCAyNywgMTc5LCAxLCAyMjAsIDEwMywgMTc5LCAxLCAKKyAgICAyMTgsIDIyNCwgMTc5LCAxLCAyMDYsIDE3OSwgMSwgMTYyLCAxNzksIDEsIDIzMiwgMTg1LCAxNzksIDExNiwgNSwgMjQyLCAKKyAgICA0NSwgMTc5LCAyNSwgNSwgMjU1LCA3NCwgMTc5LCAyNSwgNSwgNzMsIDE3OSwgMjUsIDUsIDIzNiwgMzQsIDE3OSwgMjUsIDUsIAogICAgIDcwLCAxNzksIDI1LCA1LCAyMTQsIDExOCwgMTc5LCAyNSwgNSwgMTQ5LCAxNTMsIDE3OSwgMjUsIDUsIDE0OSwgMjIyLCAKLSAgICAxODAsIDE3OSwgMjUsIDUsIDE0OSwgMTU2LCAxNzksIDI1LCA1LCAxNDksIDIzMiwgMTg1LCAxNzksIDI1LCA1LCA3NSwgCi0gICAgMTc5LCAyNSwgNSwgMjQ1LCAyMDksIDE3OSwgMjUsIDUsIDI1NCwgMjAxLCAxNzksIDI1LCA1LCA3NiwgMTc5LCAyNSwgNSwgCi0gICAgMjI2LCAxODMsIDE3OSwgMjUsIDUsIDI1MywgMTkyLCAxNzksIDUsIDIxMywgMTUyLCAxNzksIDI0OCwgMTc4LCAxNzksIDUyLCAKLSAgICAyNDgsIDE3OCwgMTc5LCAyMSwgMjEwLCA4NiwgMTc5LCAyMSwgMTEwLCAxNzksIDIxLCAxMDUsIDE3OSwgMjEsIDE1OCwgCisgICAgMTgxLCAxNzksIDI1LCA1LCAxNDksIDE1NiwgMTc5LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NiwgMTc5LCAyNSwgNSwgNzUsIAorICAgIDE3OSwgMjUsIDUsIDI0NSwgMjEwLCAxNzksIDI1LCA1LCAyNTQsIDIwMiwgMTc5LCAyNSwgNSwgNzYsIDE3OSwgMjUsIDUsIAorICAgIDIyNiwgMTg0LCAxNzksIDI1LCA1LCAyNTMsIDE5MywgMTc5LCA1LCAyMTMsIDE1MiwgMTc5LCAyNDgsIDE3OSwgMTc5LCA1MiwgCisgICAgMjQ4LCAxNzksIDE3OSwgMjEsIDIxMCwgODYsIDE3OSwgMjEsIDExMCwgMTc5LCAyMSwgMTA1LCAxNzksIDIxLCAxNTgsIAogICAgIDE3OSwgMjEsIDE2MSwgMTc5LCAyMSwgMTg5LCAxNzksIDIxLCAxOTQsIDE3OSwgMjEsIDE5OCwgMTc5LCAyMSwgMTk1LCAKICAgICAxNzksIDIxLCAyMDAsIDM4LCA4NCwgMjEsIDIxMCwgODYsIDM4LCA4NCwgMjEsIDExMCwgMzgsIDg0LCAyMSwgMTA1LCAzOCwgCiAgICAgODQsIDIxLCAxNTgsIDM4LCA4NCwgMjEsIDE2MSwgMzgsIDg0LCAyMSwgMTg5LCAzOCwgODQsIDIxLCAxOTQsIDM4LCA4NCwgCiAgICAgMjEsIDE5OCwgMzgsIDg0LCAyMSwgMTk1LCAzOCwgODQsIDIxLCAyMDAsIDM4LCA4NCwgMSwgNjEsIDM4LCA4NCwgMSwgNzAsIAogICAgIDM4LCA4NCwgMSwgMTc2LCAzOCwgODQsIDEsIDE5NywgMzgsIDg0LCAxLCAxOTAsIDM4LCA4NCwgMSwgMjA1LCAzOCwgODQsIAotICAgIDEsIDIxMywgMTc2LCAzOCwgODQsIDUsIDI1MywgMTc1LCA4NCwgNSwgMjE5LCAxNywgMjUwLCAyNTUsIDg0LCA1LCAyNTEsIAotICAgIDAsIDIxMywgMTUyLCA4NCwgNSwgNTIsIDI1MSwgMCwgMjEzLCAxNTIsIDg0LCA1LCAyNTEsIDAsIDEwNSwgODQsIDUsIDI1MSwgCi0gICAgMCwgMTU4LCA4NCwgNSwgMjUxLCAwLCAyNTMsIDE3NSwgODQsIDUsIDIyNCwgMTI0LCA4NCwgMjQzLCAxMDAsIDI0NCwgMTAzLCAKLSAgICA4NCwgMjUwLCAyMzgsIDg0LCAyNDEsIDIzMCwgMjM0LCAxODgsIDIzMiwgMjQyLCAyMSwgMjEwLCA4NiwgMjM0LCAxODgsIAotICAgIDIzMiwgMjQyLCAyMSwgMTEwLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDIxLCAxMDUsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjEsIAotICAgIDE1OCwgMjM0LCAxODgsIDIzMiwgMjQyLCAyMSwgMTYxLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDIxLCAxODksIDIzNCwgMTg4LCAKLSAgICAyMzIsIDI0MiwgMjEsIDE5NCwgMjM0LCAxODgsIDIzMiwgMjQyLCAyMSwgMTk4LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDIxLCAKLSAgICAxOTUsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjEsIDIwMCwgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAxNzYsIDIzNCwgMTg4LCAKLSAgICAyMzIsIDI0MiwgMSwgMjM0LCAxMzIsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjQzLCAxMzUsIDIzNCwgMTg4LCAyMzIsIAotICAgIDI0MiwgMSwgMjI5LCA3NywgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAyMDYsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjIwLCAKLSAgICAxMDIsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjEwLCAxMTYsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjI3LCAxNjUsIAotICAgIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjE3LCAxMDUsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjQwLCAyMjYsIDIzNCwgCi0gICAgMTg4LCAyMzIsIDI0MiwgMSwgMTk3LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDE5MCwgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAKLSAgICAyMjUsIDE0NywgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAxODQsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjQ4LCAyMjEsIAotICAgIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjUyLCAxOTEsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjA1LCAyMzQsIDE4OCwgCi0gICAgMjMyLCAyNDIsIDEsIDE5MSwgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAyMzMsIDEzNSwgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAKLSAgICAyMTIsIDY1LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIxNiwgMjA4LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDE2MiwgCi0gICAgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAyMTQsIDI3LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDI1MSwgMzMsIDIzNCwgMTg4LCAKLSAgICAyMzIsIDI0MiwgMSwgNjEsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjI2LCAyMzQsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgCi0gICAgNzMsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjI2LCAxODMsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjUsIDIxNCwgMjE0LCAKLSAgICAyMzQsIDE4OCwgMjMyLCAyNDIsIDI1LCA3NSwgMjM0LCAxODgsIDIzMiwgMjQyLCAyNSwgNzAsIDIzNCwgMTg4LCAyMzIsIAotICAgIDI0MiwgMjUsIDI0NSwgMjA5LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDI1LCA3NiwgMjM0LCAxODgsIDIzMiwgMjQyLCAxMzgsIAotICAgIDIyNSwgMzAsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMTM4LCAyNTEsIDEyLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEzOCwgMjUxLCAKLSAgICAxMywgMjI1LCAzMCwgMjM0LCAxODgsIDIzMiwgMjQyLCA1LCAyNDksIDc3LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDUsIDIxOSwgCi0gICAgMTk5LCAyMjMsIDkzLCAxLCAxNzYsIDIyMywgOTMsIDEsIDI0MywgMTM1LCAyMjMsIDkzLCAxLCAyMjksIDc3LCAyMjMsIDkzLCAKLSAgICAxLCAyMTcsIDEwNSwgMjIzLCA5MywgMSwgMjQ4LCAyMjEsIDIyMywgOTMsIDEsIDE5NywgMjIzLCA5MywgMSwgMTkwLCAyMjMsIAotICAgIDkzLCAxLCAyNTIsIDE5MSwgMjIzLCA5MywgMSwgMTg0LCAyMjMsIDkzLCAxLCAyNTEsIDMzLCAyMjMsIDkzLCAxLCAyMzUsIAotICAgIDE0MSwgMjIzLCA5MywgMSwgMjI3LCAxNjUsIDIyMywgOTMsIDEsIDIwNiwgMjIzLCA5MywgMSwgMjA1LCAyMjMsIDkzLCAxLCAKLSAgICAyMzMsIDEzNSwgMjIzLCA5MywgMSwgMTkxLCAyMjMsIDkzLCAxLCAyMTIsIDY1LCAyMjMsIDkzLCAxLCAxNjIsIDIyMywgOTMsIAotICAgIDEsIDIzMSwgMTI0LCAyMjMsIDkzLCAxLCAyMjksIDU2LCAyMjMsIDkzLCAxLCAyMjksIDE0OCwgMjIzLCA5MywgMSwgMjI3LCAKLSAgICAxMzUsIDIyMywgOTMsIDEsIDYxLCAyMjMsIDkzLCAyNSwgNSwgNzMsIDIyMywgOTMsIDI1LCA1LCA3MCwgMjIzLCA5MywgMjUsIAotICAgIDUsIDc1LCAyMjMsIDkzLCAyNSwgNSwgMjU0LCAyMDEsIDIyMywgOTMsIDI1LCA1LCA3NiwgMjIzLCA5MywgMjUsIDUsIDI1MywgCi0gICAgMTkyLCAyMjMsIDkzLCAyNSwgNSwgMjQ1LCA1NSwgMjIzLCA5MywgMjUsIDUsIDI0NSwgMjMzLCAyMjMsIDkzLCAxMTYsIDUsIAotICAgIDIyOSwgNzksIDIyMywgOTMsIDExNiwgNSwgMjMwLCAyNSwgMjIzLCA5MywgMTE2LCA1LCAxNTMsIDIyMywgOTMsIDExNiwgNSwgCi0gICAgMjQyLCA2MCwgMjIzLCA5MywgMjEzLCAxNTIsIDIyMywgOTMsIDIyMSwgMTczLCA3OCwgMjQsIDEwMCwgMjE2LCA5NywgMjQsIAotICAgIDEwMCwgMjE2LCA5NiwgMjQsIDEwMCwgMjE2LCA5NCwgMjQsIDEwMCwgMjE2LCA5OSwgMjQsIDEwMCwgMjIzLCAyMSwgMjQsIAotICAgIDEwMCwgMjIzLCA1LCAyNCwgMTAwLCAyMjMsIDAsIDI0LCAxMDAsIDIyMywgMiwgMjQsIDEwMCwgMjIzLCAxOCwgMjQsIDEwMCwgCi0gICAgMjIzLCAxMSwgMjQsIDEwMCwgMjIzLCA0LCAyNCwgMTAwLCAyMjMsIDIzLCAyNCwgMTAwLCAyMjMsIDYsIDI0LCAxMDAsIAotICAgIDIyMywgMjUsIDI0LCAxMDAsIDIyMywgMjIsIDI0LCAxMDAsIDIzMCwgMjEzLCAyNCwgMTAwLCAyMzAsIDIwNCwgMjQsIDEwMCwgCi0gICAgMjMwLCAyMDcsIDI0LCAxMDAsIDIyNSwgODAsIDI0LCAxMDAsIDIyNSwgOTEsIDI0LCAxMDAsIDIyNSwgOTIsIDI0LCAxMDAsIAotICAgIDIxOCwgMjA3LCAyNCwgMTAwLCAyMzYsIDQ2LCAyNCwgMTAwLCAyMzYsIDUzLCAyNCwgMTAwLCAyMTgsIDIxOCwgMjQsIDEwMCwgCi0gICAgMjE4LCAyMDUsIDI0LCAxMDAsIDIyNSwgMTMwLCAyNCwgMTAwLCAyNDEsIDE2NywgMjQsIDEwMCwgMjE4LCAyMDIsIDE1NSwgCi0gICAgNSwgMjI2LCAyNywgMTU1LCA1LCAyNTAsIDE4NywgMTU1LCA1LCAyMzMsIDY2LCAxNTUsIDUsIDIxMSwgMjQzLCAxNTUsIDEsIAotICAgIDYxLCAxNTUsIDEsIDI0MCwgMTU0LCAyMzQsIDE5MSwgMTU1LCAxLCA3MywgMTU1LCAxLCAyMzYsIDMzLCAxNTUsIDEsIDcwLCAKLSAgICAxNTUsIDEsIDIyNiwgOTAsIDI1MCwgMTYzLCAxNTUsIDEsIDIyOSwgNzgsIDIzMywgMjgsIDE1NSwgMSwgMjI5LCA3OCwgCi0gICAgMjMzLCAyOSwgMjIzLCAxNDIsIDE1NSwgMSwgNzUsIDE1NSwgMSwgMjU0LCAyMDEsIDE1NSwgMSwgNzYsIDE1NSwgMSwgMTc2LCAKLSAgICAxNTUsIDEsIDIzNSwgMTMsIDIyMSwgMjI4LCAxNTUsIDEsIDIzNSwgMTMsIDIzMCwgNjYsIDE1NSwgMSwgMjQzLCAxMzUsIAotICAgIDE1NSwgMSwgMjQzLCAxMzYsIDIzMCwgNjYsIDE1NSwgMSwgMjI5LCA3NywgMTU1LCAxLCAyNTEsIDMzLCAxNTUsIDEsIDI1MSwgCi0gICAgMzQsIDIzMCwgNjYsIDE1NSwgMSwgMjM1LCAxNDEsIDE1NSwgMSwgMjI3LCAxNjYsIDIzMCwgNjYsIDE1NSwgMSwgMjM1LCAKLSAgICAxNDIsIDIzMSwgMjA3LCAxNTUsIDEsIDIyNywgMTY1LCAxNTUsIDEsIDIxNSwgMTU2LCAxNTUsIDEsIDIxNSwgMTU3LCAyMzEsIAotICAgIDIwNywgMTU1LCAxLCAyNDgsIDEzNSwgMTU1LCAxLCAyNDgsIDEzNiwgMjMxLCAyMDcsIDE1NSwgMSwgMjI5LCAyMjksIDIzMCwgCi0gICAgNjYsIDE1NSwgMSwgMjE3LCAxMDUsIDE1NSwgMSwgMjE3LCAxMDYsIDIzMCwgNjYsIDE1NSwgMSwgMjQ4LCAyMjEsIDE1NSwgCi0gICAgMSwgMjQ4LCAyMjIsIDIzMSwgMjA3LCAxNTUsIDEsIDE5NywgMTU1LCAxLCAxOTAsIDE1NSwgMSwgMjI2LCA5MCwgMjMwLCAKLSAgICA2NiwgMTU1LCAxLCAyNTIsIDE5MSwgMTU1LCAxLCAyNTIsIDE5MiwgMjMwLCA2NiwgMTU1LCAxLCAxODQsIDE1NSwgMSwgCi0gICAgMTkxLCAxNTUsIDEsIDIwNSwgMTU1LCAxLCAyMjMsIDE4OCwgMjU0LCAyMTAsIDE1NSwgMSwgMjMzLCAxMzUsIDE1NSwgMSwgCi0gICAgMjEyLCA2NSwgMTU1LCAxLCAyMjIsIDM0LCAyMzAsIDY2LCAxNTUsIDEsIDIyMiwgMzQsIDIzMSwgMjA3LCAxNTUsIDEsIAotICAgIDIwNiwgMTU1LCAxLCAxNjIsIDE1NSwgNSwgMjUwLCAxODgsIDIxNiwgMjUwLCAxNTUsIDI1LCA1LCAyMTcsIDQ3LCAxNTUsIAotICAgIDI1LCA1LCAyMTYsIDM1LCAxNTUsIDI1LCA1LCAyMTEsIDE5MCwgMTU1LCAyNSwgNSwgMjExLCAxOTEsIDIzMSwgNjksIDE1NSwgCi0gICAgMjUsIDUsIDIxOCwgNDcsIDE1NSwgMjUsIDUsIDIxOCwgNDgsIDIzMSwgNTcsIDE1NSwgMjUsIDUsIDIxNywgNjUsIDE1NSwgCi0gICAgMjUsIDUsIDI0NywgMTk0LCAyMzAsIDY1LCAxNTUsIDI1LCA1LCAyMjUsIDE4NCwgMTU1LCAxMTYsIDUsIDIzNCwgMTU4LCAKLSAgICAxNTUsIDExNiwgNSwgMjI1LCAxOTYsIDE1NSwgMTE2LCA1LCAyNTEsIDE5LCAxNTUsIDIyNiwgNDAsIDE1NSwgNDMsIDIyMywgCi0gICAgNjksIDE1NSwgNDQsIDIyMywgNjksIDE1NSwgMjI2LCA3OSwgMjU0LCAxMTcsIDE1NSwgMjI2LCA3OSwgMjMxLCAyMjQsIAotICAgIDE1NSwgMjI2LCA3OSwgMjMyLCA4OCwgMTU1LCAyMjYsIDc5LCAyMTEsIDIzOCwgMTU1LCAyMjYsIDc5LCAyMjYsIDQxLCAKLSAgICAxNTUsIDIyNiwgNzksIDIzMiwgMjA1LCAxNTUsIDIyNiwgNzksIDIzMiwgODIsIDE1NSwgMjI2LCA3OSwgMjU0LCAyNDksIAotICAgIDE1NSwgMjI2LCA3OSwgMjU0LCAyNTAsIDI1NCwgMjQ5LCAxNTUsIDIyNiwgNzksIDIyNSwgNTEsIDE1NSwgMjE1LCA5NCwgCi0gICAgMjI2LCA3OSwgMjI1LCA1MSwgMTU1LCAyMjYsIDM2LCAxNTUsIDIxLCAyMTAsIDg2LCAxNTUsIDIxLCAxMTAsIDE1NSwgMjEsIAorICAgIDEsIDIxMywgMTc2LCAzOCwgODQsIDUsIDI1MywgMTc2LCA4NCwgNSwgMjE5LCAxOCwgMjUxLCAwLCA4NCwgNSwgMjUxLCAxLCAKKyAgICAyMTMsIDE1MiwgODQsIDUsIDUyLCAyNTEsIDEsIDIxMywgMTUyLCA4NCwgNSwgMjUxLCAxLCAxMDUsIDg0LCA1LCAyNTEsIDEsIAorICAgIDE1OCwgODQsIDUsIDI1MSwgMSwgMjUzLCAxNzYsIDg0LCA1LCAyMjQsIDEyNSwgODQsIDI0MywgMTAxLCAyNDQsIDEwNCwgCisgICAgODQsIDI1MCwgMjM5LCA4NCwgMjQxLCAyMzEsIDIzNCwgMTg5LCAyMzIsIDI0MywgMjEsIDIxMCwgODYsIDIzNCwgMTg5LCAKKyAgICAyMzIsIDI0MywgMjEsIDExMCwgMjM0LCAxODksIDIzMiwgMjQzLCAyMSwgMTA1LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDIxLCAKKyAgICAxNTgsIDIzNCwgMTg5LCAyMzIsIDI0MywgMjEsIDE2MSwgMjM0LCAxODksIDIzMiwgMjQzLCAyMSwgMTg5LCAyMzQsIDE4OSwgCisgICAgMjMyLCAyNDMsIDIxLCAxOTQsIDIzNCwgMTg5LCAyMzIsIDI0MywgMjEsIDE5OCwgMjM0LCAxODksIDIzMiwgMjQzLCAyMSwgCisgICAgMTk1LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDIxLCAyMDAsIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgMTc2LCAyMzQsIDE4OSwgCisgICAgMjMyLCAyNDMsIDEsIDIzNCwgMTMzLCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDI0MywgMTM2LCAyMzQsIDE4OSwgMjMyLCAKKyAgICAyNDMsIDEsIDIyOSwgNzgsIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgMjA2LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIyMCwgCisgICAgMTAzLCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIxMCwgMTE2LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIyNywgMTY2LCAKKyAgICAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIxNywgMTA2LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDI0MCwgMjI3LCAyMzQsIAorICAgIDE4OSwgMjMyLCAyNDMsIDEsIDE5NywgMjM0LCAxODksIDIzMiwgMjQzLCAxLCAxOTAsIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgCisgICAgMjI1LCAxNDgsIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgMTg1LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDI0OCwgMjIyLCAKKyAgICAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDI1MiwgMTkyLCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIwNSwgMjM0LCAxODksIAorICAgIDIzMiwgMjQzLCAxLCAxOTEsIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgMjMzLCAxMzYsIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgCisgICAgMjEyLCA2NSwgMjM0LCAxODksIDIzMiwgMjQzLCAxLCAyMTYsIDIwOSwgMjM0LCAxODksIDIzMiwgMjQzLCAxLCAxNjIsIAorICAgIDIzNCwgMTg5LCAyMzIsIDI0MywgMSwgMjE0LCAyNywgMjM0LCAxODksIDIzMiwgMjQzLCAxLCAyNTEsIDM0LCAyMzQsIDE4OSwgCisgICAgMjMyLCAyNDMsIDEsIDYxLCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIyNiwgMjM1LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIAorICAgIDczLCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEsIDIyNiwgMTg0LCAyMzQsIDE4OSwgMjMyLCAyNDMsIDI1LCAyMTQsIDIxNCwgCisgICAgMjM0LCAxODksIDIzMiwgMjQzLCAyNSwgNzUsIDIzNCwgMTg5LCAyMzIsIDI0MywgMjUsIDcwLCAyMzQsIDE4OSwgMjMyLCAKKyAgICAyNDMsIDI1LCAyNDUsIDIxMCwgMjM0LCAxODksIDIzMiwgMjQzLCAyNSwgNzYsIDIzNCwgMTg5LCAyMzIsIDI0MywgMTM4LCAKKyAgICAyMjUsIDMxLCAyMzQsIDE4OSwgMjMyLCAyNDMsIDEzOCwgMjUxLCAxMywgMjM0LCAxODksIDIzMiwgMjQzLCAxMzgsIDI1MSwgCisgICAgMTQsIDIyNSwgMzEsIDIzNCwgMTg5LCAyMzIsIDI0MywgNSwgMjQ5LCA3OCwgMjM0LCAxODksIDIzMiwgMjQzLCA1LCAyMTksIAorICAgIDIwMCwgMjIzLCA5NCwgMSwgMTc2LCAyMjMsIDk0LCAxLCAyNDMsIDEzNiwgMjIzLCA5NCwgMSwgMjI5LCA3OCwgMjIzLCA5NCwgCisgICAgMSwgMjE3LCAxMDYsIDIyMywgOTQsIDEsIDI0OCwgMjIyLCAyMjMsIDk0LCAxLCAxOTcsIDIyMywgOTQsIDEsIDE5MCwgMjIzLCAKKyAgICA5NCwgMSwgMjUyLCAxOTIsIDIyMywgOTQsIDEsIDE4NSwgMjIzLCA5NCwgMSwgMjUxLCAzNCwgMjIzLCA5NCwgMSwgMjM1LCAKKyAgICAxNDIsIDIyMywgOTQsIDEsIDIyNywgMTY2LCAyMjMsIDk0LCAxLCAyMDYsIDIyMywgOTQsIDEsIDIwNSwgMjIzLCA5NCwgMSwgCisgICAgMjMzLCAxMzYsIDIyMywgOTQsIDEsIDE5MSwgMjIzLCA5NCwgMSwgMjEyLCA2NSwgMjIzLCA5NCwgMSwgMTYyLCAyMjMsIDk0LCAKKyAgICAxLCAyMzEsIDEyNSwgMjIzLCA5NCwgMSwgMjI5LCA1NywgMjIzLCA5NCwgMSwgMjI5LCAxNDksIDIyMywgOTQsIDEsIDIyNywgCisgICAgMTM2LCAyMjMsIDk0LCAxLCA2MSwgMjIzLCA5NCwgMjUsIDUsIDczLCAyMjMsIDk0LCAyNSwgNSwgNzAsIDIyMywgOTQsIDI1LCAKKyAgICA1LCA3NSwgMjIzLCA5NCwgMjUsIDUsIDI1NCwgMjAyLCAyMjMsIDk0LCAyNSwgNSwgNzYsIDIyMywgOTQsIDI1LCA1LCAyNTMsIAorICAgIDE5MywgMjIzLCA5NCwgMjUsIDUsIDI0NSwgNTYsIDIyMywgOTQsIDI1LCA1LCAyNDUsIDIzNCwgMjIzLCA5NCwgMTE2LCA1LCAKKyAgICAyMjksIDgwLCAyMjMsIDk0LCAxMTYsIDUsIDIzMCwgMjYsIDIyMywgOTQsIDExNiwgNSwgMTUzLCAyMjMsIDk0LCAxMTYsIDUsIAorICAgIDI0MiwgNjEsIDIyMywgOTQsIDIxMywgMTUyLCAyMjMsIDk0LCAyMjEsIDE3NCwgNzgsIDI0LCAxMDAsIDIxNiwgOTgsIDI0LCAKKyAgICAxMDAsIDIxNiwgOTcsIDI0LCAxMDAsIDIxNiwgOTUsIDI0LCAxMDAsIDIxNiwgMTAwLCAyNCwgMTAwLCAyMjMsIDIyLCAyNCwgCisgICAgMTAwLCAyMjMsIDYsIDI0LCAxMDAsIDIyMywgMSwgMjQsIDEwMCwgMjIzLCAzLCAyNCwgMTAwLCAyMjMsIDE5LCAyNCwgMTAwLCAKKyAgICAyMjMsIDEyLCAyNCwgMTAwLCAyMjMsIDUsIDI0LCAxMDAsIDIyMywgMjQsIDI0LCAxMDAsIDIyMywgNywgMjQsIDEwMCwgCisgICAgMjIzLCAyNiwgMjQsIDEwMCwgMjIzLCAyMywgMjQsIDEwMCwgMjMwLCAyMTQsIDI0LCAxMDAsIDIzMCwgMjA1LCAyNCwgMTAwLCAKKyAgICAyMzAsIDIwOCwgMjQsIDEwMCwgMjI1LCA4MSwgMjQsIDEwMCwgMjI1LCA5MiwgMjQsIDEwMCwgMjI1LCA5MywgMjQsIDEwMCwgCisgICAgMjE4LCAyMDgsIDI0LCAxMDAsIDIzNiwgNDcsIDI0LCAxMDAsIDIzNiwgNTQsIDI0LCAxMDAsIDIxOCwgMjE5LCAyNCwgMTAwLCAKKyAgICAyMTgsIDIwNiwgMjQsIDEwMCwgMjI1LCAxMzEsIDI0LCAxMDAsIDI0MSwgMTY4LCAyNCwgMTAwLCAyMTgsIDIwMywgMTU1LCAKKyAgICA1LCAyMjYsIDI4LCAxNTUsIDUsIDI1MCwgMTg4LCAxNTUsIDUsIDIzMywgNjcsIDE1NSwgNSwgMjExLCAyNDMsIDE1NSwgMSwgCisgICAgNjEsIDE1NSwgMSwgMjQwLCAxNTUsIDIzNCwgMTkyLCAxNTUsIDEsIDczLCAxNTUsIDEsIDIzNiwgMzQsIDE1NSwgMSwgNzAsIAorICAgIDE1NSwgMSwgMjI2LCA5MSwgMjUwLCAxNjQsIDE1NSwgMSwgMjI5LCA3OSwgMjMzLCAyOSwgMTU1LCAxLCAyMjksIDc5LCAKKyAgICAyMzMsIDMwLCAyMjMsIDE0MywgMTU1LCAxLCA3NSwgMTU1LCAxLCAyNTQsIDIwMiwgMTU1LCAxLCA3NiwgMTU1LCAxLCAxNzYsIAorICAgIDE1NSwgMSwgMjM1LCAxNCwgMjIxLCAyMjksIDE1NSwgMSwgMjM1LCAxNCwgMjMwLCA2NywgMTU1LCAxLCAyNDMsIDEzNiwgCisgICAgMTU1LCAxLCAyNDMsIDEzNywgMjMwLCA2NywgMTU1LCAxLCAyMjksIDc4LCAxNTUsIDEsIDI1MSwgMzQsIDE1NSwgMSwgMjUxLCAKKyAgICAzNSwgMjMwLCA2NywgMTU1LCAxLCAyMzUsIDE0MiwgMTU1LCAxLCAyMjcsIDE2NywgMjMwLCA2NywgMTU1LCAxLCAyMzUsIAorICAgIDE0MywgMjMxLCAyMDgsIDE1NSwgMSwgMjI3LCAxNjYsIDE1NSwgMSwgMjE1LCAxNTcsIDE1NSwgMSwgMjE1LCAxNTgsIDIzMSwgCisgICAgMjA4LCAxNTUsIDEsIDI0OCwgMTM2LCAxNTUsIDEsIDI0OCwgMTM3LCAyMzEsIDIwOCwgMTU1LCAxLCAyMjksIDIzMCwgMjMwLCAKKyAgICA2NywgMTU1LCAxLCAyMTcsIDEwNiwgMTU1LCAxLCAyMTcsIDEwNywgMjMwLCA2NywgMTU1LCAxLCAyNDgsIDIyMiwgMTU1LCAKKyAgICAxLCAyNDgsIDIyMywgMjMxLCAyMDgsIDE1NSwgMSwgMTk3LCAxNTUsIDEsIDE5MCwgMTU1LCAxLCAyMjYsIDkxLCAyMzAsIAorICAgIDY3LCAxNTUsIDEsIDI1MiwgMTkyLCAxNTUsIDEsIDI1MiwgMTkzLCAyMzAsIDY3LCAxNTUsIDEsIDE4NSwgMTU1LCAxLCAKKyAgICAxOTEsIDE1NSwgMSwgMjA1LCAxNTUsIDEsIDIyMywgMTg5LCAyNTQsIDIxMSwgMTU1LCAxLCAyMzMsIDEzNiwgMTU1LCAxLCAKKyAgICAyMTIsIDY1LCAxNTUsIDEsIDIyMiwgMzUsIDIzMCwgNjcsIDE1NSwgMSwgMjIyLCAzNSwgMjMxLCAyMDgsIDE1NSwgMSwgCisgICAgMjA2LCAxNTUsIDEsIDE2MiwgMTU1LCA1LCAyNTAsIDE4OSwgMjE2LCAyNTEsIDE1NSwgMjUsIDUsIDIxNywgNDgsIDE1NSwgCisgICAgMjUsIDUsIDIxNiwgMzYsIDE1NSwgMjUsIDUsIDIxMSwgMTkwLCAxNTUsIDI1LCA1LCAyMTEsIDE5MSwgMjMxLCA3MCwgMTU1LCAKKyAgICAyNSwgNSwgMjE4LCA0OCwgMTU1LCAyNSwgNSwgMjE4LCA0OSwgMjMxLCA1OCwgMTU1LCAyNSwgNSwgMjE3LCA2NiwgMTU1LCAKKyAgICAyNSwgNSwgMjQ3LCAxOTUsIDIzMCwgNjYsIDE1NSwgMjUsIDUsIDIyNSwgMTg1LCAxNTUsIDExNiwgNSwgMjM0LCAxNTksIAorICAgIDE1NSwgMTE2LCA1LCAyMjUsIDE5NywgMTU1LCAxMTYsIDUsIDI1MSwgMjAsIDE1NSwgMjI2LCA0MSwgMTU1LCA0MywgMjIzLCAKKyAgICA3MCwgMTU1LCA0NCwgMjIzLCA3MCwgMTU1LCAyMjYsIDgwLCAyNTQsIDExOCwgMTU1LCAyMjYsIDgwLCAyMzEsIDIyNSwgCisgICAgMTU1LCAyMjYsIDgwLCAyMzIsIDg5LCAxNTUsIDIyNiwgODAsIDIxMSwgMjM4LCAxNTUsIDIyNiwgODAsIDIyNiwgNDIsIAorICAgIDE1NSwgMjI2LCA4MCwgMjMyLCAyMDYsIDE1NSwgMjI2LCA4MCwgMjMyLCA4MywgMTU1LCAyMjYsIDgwLCAyNTQsIDI1MCwgCisgICAgMTU1LCAyMjYsIDgwLCAyNTQsIDI1MSwgMjU0LCAyNTAsIDE1NSwgMjI2LCA4MCwgMjI1LCA1MiwgMTU1LCAyMTUsIDk0LCAKKyAgICAyMjYsIDgwLCAyMjUsIDUyLCAxNTUsIDIyNiwgMzcsIDE1NSwgMjEsIDIxMCwgODYsIDE1NSwgMjEsIDExMCwgMTU1LCAyMSwgCiAgICAgMTA1LCAxNTUsIDIxLCAxNTgsIDE1NSwgMjEsIDE2MSwgMTU1LCAyMSwgMTg5LCAxNTUsIDIxLCAxOTQsIDE1NSwgMjEsIAotICAgIDE5OCwgMTU1LCAyMSwgMTk1LCAxNTUsIDIxLCAyMDAsIDE1NSwgMjI2LCA3OSwgMjE2LCA2OSwgMjE1LCAxMDYsIDE1NSwgCi0gICAgMjI2LCA3OSwgMjM1LCAxNjcsIDE3MiwgMSwgNjEsIDE3MiwgMSwgNzMsIDE3MiwgMSwgNzAsIDE3MiwgMSwgNzUsIDE3MiwgCi0gICAgMSwgMjU0LCAyMDEsIDE3MiwgMSwgNzYsIDE3MiwgMSwgMTc2LCAxNzIsIDEsIDIzNCwgMTMyLCAxNzIsIDEsIDI0MywgMTM1LCAKLSAgICAxNzIsIDEsIDI0MiwgMjQ5LCAxNzIsIDEsIDIyOCwgMjQ1LCAxNzIsIDEsIDIyOSwgNzcsIDE3MiwgMSwgMjUwLCAxNTcsIAotICAgIDE3MiwgMSwgMjUwLCAxMTIsIDE3MiwgMSwgMjM1LCAxNDEsIDE3MiwgMSwgMjM1LCAxMTQsIDE3MiwgMSwgMjI4LCAyMzUsIAotICAgIDE3MiwgMSwgMjI4LCAyMzcsIDE3MiwgMSwgMjI4LCAyMzYsIDE3MiwgMSwgMjE3LCAxMDUsIDE3MiwgMSwgMjE2LCAyMDgsIAotICAgIDE3MiwgMSwgMjQ4LCAyMjEsIDE3MiwgMSwgMjQ4LCAyNSwgMTcyLCAxLCAyMjcsIDIwNywgMTcyLCAxLCAxOTcsIDE3MiwgMSwgCi0gICAgMjQ4LCAxMzUsIDE3MiwgMSwgMTkwLCAxNzIsIDEsIDIyNCwgMjIwLCAxNzIsIDEsIDIyNSwgMTQ3LCAxNzIsIDEsIDI1MiwgCi0gICAgMTkxLCAxNzIsIDEsIDI1MiwgMTgsIDE3MiwgMSwgMjMwLCA5NSwgMTcyLCAxLCAxODQsIDE3MiwgMSwgMjUyLCAxMTEsIAotICAgIDE3MiwgMSwgMTkxLCAxNzIsIDEsIDIwNSwgMTcyLCAxLCAyMzMsIDEzNSwgMTcyLCAxLCAyMTQsIDI3LCAxNzIsIDEsIDIxOCwgCi0gICAgMjIzLCAxNzIsIDEsIDIwNiwgMTcyLCAxLCAxNjIsIDE3MiwgMjUsIDUsIDI1NSwgNzMsIDE3MiwgMjUsIDUsIDczLCAxNzIsIAotICAgIDI1LCA1LCAyMzYsIDMzLCAxNzIsIDI1LCA1LCAyNDUsIDE5NSwgMTcyLCAyNSwgNSwgNzAsIDE3MiwgMjUsIDUsIDIyNiwgCi0gICAgMjM0LCAxNzIsIDI1LCA1LCA3NiwgMTcyLCAyNSwgNSwgMjU0LCAyMDEsIDE3MiwgMjUsIDUsIDI1MywgMTkyLCAxNzIsIDI1LCAKLSAgICA1LCAyMTQsIDIxNCwgMTcyLCAxMTYsIDUsIDE5MSwgMTcyLCAxMTYsIDUsIDIwNSwgMTcyLCAxMTYsIDUsIDIzMywgMTM1LCAKLSAgICAxNzIsIDExNiwgNSwgMjEyLCA2NSwgMTcyLCAxLCA0MCwgMjM1LCAyMywgMTcyLCAxLCA0MCwgMjQzLCAyMDIsIDE3MiwgMSwgCi0gICAgNDAsIDIyOSwgNzksIDE3MiwgMTE2LCA1LCA0MCwgMjI5LCA3OSwgMTcyLCAxLCA0MCwgMjUwLCAxNTgsIDE3MiwgMSwgNDAsIAotICAgIDIxNywgMTUyLCAxNzIsIDEsIDQwLCAyMzAsIDI1LCAxNzIsIDEsIDQwLCAyMjYsIDEwNSwgMTcyLCAxLCA0MCwgMjExLCAKLSAgICAxMTcsIDE3MiwgMSwgNDAsIDE1MywgMTcyLCAxLCA0MCwgMTU2LCAxNzIsIDEsIDQwLCAyMTgsIDIyNiwgMTcyLCAxMTYsIDUsIAotICAgIDQwLCAxOTMsIDE3MiwgMTE2LCA1LCA0MCwgMjQyLCA2MCwgMTcyLCAyMSwgMjEwLCA4NiwgMTcyLCAyMSwgMTEwLCAxNzIsIAorICAgIDE5OCwgMTU1LCAyMSwgMTk1LCAxNTUsIDIxLCAyMDAsIDE1NSwgMjI2LCA4MCwgMjE2LCA3MCwgMjE1LCAxMDcsIDE1NSwgCisgICAgMjI2LCA4MCwgMjM1LCAxNjgsIDE3MiwgMSwgNjEsIDE3MiwgMSwgNzMsIDE3MiwgMSwgNzAsIDE3MiwgMSwgNzUsIDE3MiwgCisgICAgMSwgMjU0LCAyMDIsIDE3MiwgMSwgNzYsIDE3MiwgMSwgMTc2LCAxNzIsIDEsIDIzNCwgMTMzLCAxNzIsIDEsIDI0MywgMTM2LCAKKyAgICAxNzIsIDEsIDI0MiwgMjUwLCAxNzIsIDEsIDIyOCwgMjQ2LCAxNzIsIDEsIDIyOSwgNzgsIDE3MiwgMSwgMjUwLCAxNTgsIAorICAgIDE3MiwgMSwgMjUwLCAxMTMsIDE3MiwgMSwgMjM1LCAxNDIsIDE3MiwgMSwgMjM1LCAxMTUsIDE3MiwgMSwgMjI4LCAyMzYsIAorICAgIDE3MiwgMSwgMjI4LCAyMzgsIDE3MiwgMSwgMjI4LCAyMzcsIDE3MiwgMSwgMjE3LCAxMDYsIDE3MiwgMSwgMjE2LCAyMDksIAorICAgIDE3MiwgMSwgMjQ4LCAyMjIsIDE3MiwgMSwgMjQ4LCAyNiwgMTcyLCAxLCAyMjcsIDIwOCwgMTcyLCAxLCAxOTcsIDE3MiwgMSwgCisgICAgMjQ4LCAxMzYsIDE3MiwgMSwgMTkwLCAxNzIsIDEsIDIyNCwgMjIxLCAxNzIsIDEsIDIyNSwgMTQ4LCAxNzIsIDEsIDI1MiwgCisgICAgMTkyLCAxNzIsIDEsIDI1MiwgMTksIDE3MiwgMSwgMjMwLCA5NiwgMTcyLCAxLCAxODUsIDE3MiwgMSwgMjUyLCAxMTIsIAorICAgIDE3MiwgMSwgMTkxLCAxNzIsIDEsIDIwNSwgMTcyLCAxLCAyMzMsIDEzNiwgMTcyLCAxLCAyMTQsIDI3LCAxNzIsIDEsIDIxOCwgCisgICAgMjI0LCAxNzIsIDEsIDIwNiwgMTcyLCAxLCAxNjIsIDE3MiwgMjUsIDUsIDI1NSwgNzQsIDE3MiwgMjUsIDUsIDczLCAxNzIsIAorICAgIDI1LCA1LCAyMzYsIDM0LCAxNzIsIDI1LCA1LCAyNDUsIDE5NiwgMTcyLCAyNSwgNSwgNzAsIDE3MiwgMjUsIDUsIDIyNiwgCisgICAgMjM1LCAxNzIsIDI1LCA1LCA3NiwgMTcyLCAyNSwgNSwgMjU0LCAyMDIsIDE3MiwgMjUsIDUsIDI1MywgMTkzLCAxNzIsIDI1LCAKKyAgICA1LCAyMTQsIDIxNCwgMTcyLCAxMTYsIDUsIDE5MSwgMTcyLCAxMTYsIDUsIDIwNSwgMTcyLCAxMTYsIDUsIDIzMywgMTM2LCAKKyAgICAxNzIsIDExNiwgNSwgMjEyLCA2NSwgMTcyLCAxLCA0MCwgMjM1LCAyNCwgMTcyLCAxLCA0MCwgMjQzLCAyMDMsIDE3MiwgMSwgCisgICAgNDAsIDIyOSwgODAsIDE3MiwgMTE2LCA1LCA0MCwgMjI5LCA4MCwgMTcyLCAxLCA0MCwgMjUwLCAxNTksIDE3MiwgMSwgNDAsIAorICAgIDIxNywgMTUzLCAxNzIsIDEsIDQwLCAyMzAsIDI2LCAxNzIsIDEsIDQwLCAyMjYsIDEwNiwgMTcyLCAxLCA0MCwgMjExLCAKKyAgICAxMTcsIDE3MiwgMSwgNDAsIDE1MywgMTcyLCAxLCA0MCwgMTU2LCAxNzIsIDEsIDQwLCAyMTgsIDIyNywgMTcyLCAxMTYsIDUsIAorICAgIDQwLCAxOTMsIDE3MiwgMTE2LCA1LCA0MCwgMjQyLCA2MSwgMTcyLCAyMSwgMjEwLCA4NiwgMTcyLCAyMSwgMTEwLCAxNzIsIAogICAgIDIxLCAxMDUsIDE3MiwgMjEsIDE1OCwgMTcyLCAyMSwgMTYxLCAxNzIsIDIxLCAxODksIDE3MiwgMjEsIDE5NCwgMTcyLCAyMSwgCi0gICAgMTk4LCAxNzIsIDIxLCAxOTUsIDE3MiwgMjEsIDIwMCwgMTcyLCAyMjQsIDE0MSwgMjE4LCAyNTEsIDE3MiwgMjI0LCAxNDEsIAotICAgIDI0OCwgMTc4LCAxNzIsIDIyNCwgMTQxLCA1MiwgMjQ4LCAxNzgsIDE3MiwgMjI0LCAxNDEsIDIxNSwgMjExLCAyNDgsIDE3OCwgCi0gICAgNjgsIDEsIDIzNCwgMTI2LCAyNDMsIDEzNSwgNjgsIDEsIDIzNCwgMTI2LCAyNTEsIDMzLCA2OCwgMSwgMjM0LCAxMjYsIAotICAgIDI1MCwgMTU3LCA2OCwgMSwgMjM0LCAxMjYsIDIzNSwgMTQxLCA2OCwgMSwgMjM0LCAxMjYsIDIzNSwgMTE0LCA2OCwgMSwgCi0gICAgMjM0LCAxMjYsIDIyNywgMTY1LCA2OCwgMSwgMjM0LCAxMjYsIDIxNSwgMTU2LCA2OCwgMSwgMjM0LCAxMjYsIDIxNSwgMTQ0LCAKLSAgICA2OCwgMSwgMjM0LCAxMjYsIDI0OCwgMTM1LCA2OCwgMSwgMjM0LCAxMjYsIDI0OCwgMTE5LCA2OCwgMSwgMjM0LCAxMjYsIAotICAgIDI0OCwgMjUsIDY4LCAxLCAyMzQsIDEyNiwgMTk3LCA2OCwgMSwgMjM0LCAxMjYsIDIwNiwgNjgsIDEsIDIzNCwgMTI2LCAKLSAgICAxNjIsIDY4LCAxLCAyMzQsIDEyNiwgMjQxLCAxODksIDY4LCAxLCAyMzQsIDEyNiwgMjQ0LCAxOTYsIDY4LCA1OCwgMSwgCi0gICAgMjM0LCAxMjYsIDIyMywgMTA5LCA2OCwgMSwgMjM0LCAxMjYsIDIxMSwgMTY1LCA2OCwgMSwgMjM0LCAxMjYsIDIxMCwgMTE2LCAKLSAgICA2OCwgMSwgMjM0LCAxMjYsIDIwNSwgNjgsIDIzMiwgMTQ1LCAyMzQsIDEyNiwgMjI2LCAyNTMsIDY4LCAyMzIsIDE0NSwgCi0gICAgMjM0LCAxMjYsIDIyNCwgNDMsIDY4LCAyMzIsIDE0NSwgMjM0LCAxMjYsIDI0MSwgMTIxLCA2OCwgMTYsIDI1NCwgMTkwLCAKLSAgICAyNDUsIDMwLCA2OCwgMTYsIDI1NCwgMTkwLCAxMTAsIDY4LCAxNiwgMjU0LCAxOTAsIDEwNSwgNjgsIDEsIDI1NCwgMTkwLCAKLSAgICAyMDUsIDY4LCA1LCAyMjYsIDIzLCAyMzQsIDIxMywgMjE2LCAzMCwgMzksIDIwOCwgMSwgMTIxLCAyMzQsIDI4LCAzOSwgCi0gICAgMjA4LCAxLCAxMjUsIDIzNCwgMjgsIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAxMDUsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAKLSAgICAxMDUsIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAxMTQsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAxMTQsIDM5LCAyMDgsIDEsIAotICAgIDEyMSwgMjQyLCAxNzQsIDM5LCAyMDgsIDEsIDEyNSwgMjQyLCAxNzQsIDM5LCAyMDgsIDEsIDEyMSwgMjI5LCA0LCAzOSwgCi0gICAgMjA4LCAxLCAxMjUsIDIyOSwgNCwgMzksIDIwOCwgMSwgMTIxLCAyNDksIDIzOCwgMzksIDIwOCwgMSwgMTI1LCAyNDksIAotICAgIDIzOCwgMzksIDIwOCwgMSwgMTIxLCAyNTAsIDg2LCAzOSwgMjA4LCAxLCAxMjUsIDI1MCwgODYsIDM5LCAyMDgsIDEsIDEyMSwgCi0gICAgMjE5LCA1OCwgMzksIDIwOCwgMSwgMTI1LCAyMTksIDU4LCAzOSwgMjA4LCAxLCAxMjEsIDIyNywgMTM0LCAzOSwgMjA4LCAxLCAKLSAgICAxMjUsIDIyNywgMTM0LCAzOSwgMjA4LCAxLCAxMjEsIDI0NywgMTQ1LCAzOSwgMjA4LCAxLCAxMjUsIDI0NywgMTQ1LCAzOSwgCi0gICAgMjA4LCAxLCAxMjEsIDExMSwgMzksIDIwOCwgMSwgMTI1LCAxMTEsIDM5LCAyMDgsIDEsIDEyMSwgMjE2LCAxNTYsIDM5LCAKLSAgICAyMDgsIDEsIDEyNSwgMjE2LCAxNTYsIDM5LCAyMDgsIDEsIDEyMSwgMjI4LCA3NCwgMzksIDIwOCwgMSwgMTI1LCAyMjgsIAotICAgIDc0LCAzOSwgMjA4LCAxLCAxMjEsIDI1MSwgMjA1LCAzOSwgMjA4LCAxLCAxMjUsIDI1MSwgMjA1LCAzOSwgMjA4LCAxLCAKLSAgICAxMjEsIDIyNSwgMTYsIDM5LCAyMDgsIDEsIDEyNSwgMjI1LCAxNiwgMzksIDIwOCwgMSwgMTIxLCAyMjUsIDEyMSwgMzksIAotICAgIDIwOCwgMSwgMTI1LCAyMjUsIDEyMSwgMzksIDIwOCwgMSwgMTIxLCAyNDQsIDQzLCAzOSwgMjA4LCAxLCAxMjUsIDI0NCwgCi0gICAgNDMsIDM5LCAyMDgsIDEsIDEyMSwgMjMwLCAxNjEsIDM5LCAyMDgsIDEsIDEyNSwgMjMwLCAxNjEsIDM5LCAyMDgsIDEsIAotICAgIDEyMSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIDEyNSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIDEyMSwgMjIyLCAyMTEsIDM5LCAKLSAgICAyMDgsIDEsIDEyNSwgMjIyLCAyMTEsIDM5LCAyMDgsIDEsIDEyMSwgMjMyLCAxNTYsIDM5LCAyMDgsIDEsIDEyNSwgMjMyLCAKLSAgICAxNTYsIDM5LCAyMDgsIDEsIDEyMSwgMjEzLCAxMzgsIDM5LCAyMDgsIDEsIDEyNSwgMjEzLCAxMzgsIDM5LCAyMDgsIDEsIAotICAgIDEyMSwgMjQxLCA2OCwgMzksIDIwOCwgMSwgMTI1LCAyNDEsIDY4LCAzOSwgMjA4LCAxLCAxMjEsIDc2LCAzOSwgMjA4LCAxLCAKLSAgICAxMjUsIDc2LCAzOSwgMjA4LCAyMzEsIDIwNCwgMjM0LCAyMzAsIDM5LCAyMDgsIDI1LCAyNTUsIDczLCAzOSwgMjA4LCAyNSwgCisgICAgMTk4LCAxNzIsIDIxLCAxOTUsIDE3MiwgMjEsIDIwMCwgMTcyLCAyMjQsIDE0MiwgMjE4LCAyNTIsIDE3MiwgMjI0LCAxNDIsIAorICAgIDI0OCwgMTc5LCAxNzIsIDIyNCwgMTQyLCA1MiwgMjQ4LCAxNzksIDE3MiwgMjI0LCAxNDIsIDIxNSwgMjEyLCAyNDgsIDE3OSwgCisgICAgNjgsIDEsIDIzNCwgMTI3LCAyNDMsIDEzNiwgNjgsIDEsIDIzNCwgMTI3LCAyNTEsIDM0LCA2OCwgMSwgMjM0LCAxMjcsIAorICAgIDI1MCwgMTU4LCA2OCwgMSwgMjM0LCAxMjcsIDIzNSwgMTQyLCA2OCwgMSwgMjM0LCAxMjcsIDIzNSwgMTE1LCA2OCwgMSwgCisgICAgMjM0LCAxMjcsIDIyNywgMTY2LCA2OCwgMSwgMjM0LCAxMjcsIDIxNSwgMTU3LCA2OCwgMSwgMjM0LCAxMjcsIDIxNSwgMTQ1LCAKKyAgICA2OCwgMSwgMjM0LCAxMjcsIDI0OCwgMTM2LCA2OCwgMSwgMjM0LCAxMjcsIDI0OCwgMTIwLCA2OCwgMSwgMjM0LCAxMjcsIAorICAgIDI0OCwgMjYsIDY4LCAxLCAyMzQsIDEyNywgMTk3LCA2OCwgMSwgMjM0LCAxMjcsIDIwNiwgNjgsIDEsIDIzNCwgMTI3LCAKKyAgICAxNjIsIDY4LCAxLCAyMzQsIDEyNywgMjQxLCAxOTAsIDY4LCAxLCAyMzQsIDEyNywgMjQ0LCAxOTcsIDY4LCA1OCwgMSwgCisgICAgMjM0LCAxMjcsIDIyMywgMTEwLCA2OCwgMSwgMjM0LCAxMjcsIDIxMSwgMTY1LCA2OCwgMSwgMjM0LCAxMjcsIDIxMCwgMTE2LCAKKyAgICA2OCwgMSwgMjM0LCAxMjcsIDIwNSwgNjgsIDIzMiwgMTQ2LCAyMzQsIDEyNywgMjI2LCAyNTQsIDY4LCAyMzIsIDE0NiwgCisgICAgMjM0LCAxMjcsIDIyNCwgNDQsIDY4LCAyMzIsIDE0NiwgMjM0LCAxMjcsIDI0MSwgMTIyLCA2OCwgMTYsIDI1NCwgMTkxLCAKKyAgICAyNDUsIDMxLCA2OCwgMTYsIDI1NCwgMTkxLCAxMTAsIDY4LCAxNiwgMjU0LCAxOTEsIDEwNSwgNjgsIDEsIDI1NCwgMTkxLCAKKyAgICAyMDUsIDY4LCA1LCAyMjYsIDI0LCAyMzQsIDIxNCwgMjE2LCAzMSwgMzksIDIwOCwgMSwgMTIxLCAyMzQsIDI5LCAzOSwgCisgICAgMjA4LCAxLCAxMjUsIDIzNCwgMjksIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAxMDYsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAKKyAgICAxMDYsIDM5LCAyMDgsIDEsIDEyMSwgMjM0LCAxMTUsIDM5LCAyMDgsIDEsIDEyNSwgMjM0LCAxMTUsIDM5LCAyMDgsIDEsIAorICAgIDEyMSwgMjQyLCAxNzUsIDM5LCAyMDgsIDEsIDEyNSwgMjQyLCAxNzUsIDM5LCAyMDgsIDEsIDEyMSwgMjI5LCA1LCAzOSwgCisgICAgMjA4LCAxLCAxMjUsIDIyOSwgNSwgMzksIDIwOCwgMSwgMTIxLCAyNDksIDIzOSwgMzksIDIwOCwgMSwgMTI1LCAyNDksIAorICAgIDIzOSwgMzksIDIwOCwgMSwgMTIxLCAyNTAsIDg3LCAzOSwgMjA4LCAxLCAxMjUsIDI1MCwgODcsIDM5LCAyMDgsIDEsIDEyMSwgCisgICAgMjE5LCA1OSwgMzksIDIwOCwgMSwgMTI1LCAyMTksIDU5LCAzOSwgMjA4LCAxLCAxMjEsIDIyNywgMTM1LCAzOSwgMjA4LCAxLCAKKyAgICAxMjUsIDIyNywgMTM1LCAzOSwgMjA4LCAxLCAxMjEsIDI0NywgMTQ2LCAzOSwgMjA4LCAxLCAxMjUsIDI0NywgMTQ2LCAzOSwgCisgICAgMjA4LCAxLCAxMjEsIDExMSwgMzksIDIwOCwgMSwgMTI1LCAxMTEsIDM5LCAyMDgsIDEsIDEyMSwgMjE2LCAxNTcsIDM5LCAKKyAgICAyMDgsIDEsIDEyNSwgMjE2LCAxNTcsIDM5LCAyMDgsIDEsIDEyMSwgMjI4LCA3NSwgMzksIDIwOCwgMSwgMTI1LCAyMjgsIAorICAgIDc1LCAzOSwgMjA4LCAxLCAxMjEsIDI1MSwgMjA2LCAzOSwgMjA4LCAxLCAxMjUsIDI1MSwgMjA2LCAzOSwgMjA4LCAxLCAKKyAgICAxMjEsIDIyNSwgMTcsIDM5LCAyMDgsIDEsIDEyNSwgMjI1LCAxNywgMzksIDIwOCwgMSwgMTIxLCAyMjUsIDEyMiwgMzksIAorICAgIDIwOCwgMSwgMTI1LCAyMjUsIDEyMiwgMzksIDIwOCwgMSwgMTIxLCAyNDQsIDQ0LCAzOSwgMjA4LCAxLCAxMjUsIDI0NCwgCisgICAgNDQsIDM5LCAyMDgsIDEsIDEyMSwgMjMwLCAxNjIsIDM5LCAyMDgsIDEsIDEyNSwgMjMwLCAxNjIsIDM5LCAyMDgsIDEsIAorICAgIDEyMSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIDEyNSwgMjEwLCAyNDQsIDM5LCAyMDgsIDEsIDEyMSwgMjIyLCAyMTIsIDM5LCAKKyAgICAyMDgsIDEsIDEyNSwgMjIyLCAyMTIsIDM5LCAyMDgsIDEsIDEyMSwgMjMyLCAxNTcsIDM5LCAyMDgsIDEsIDEyNSwgMjMyLCAKKyAgICAxNTcsIDM5LCAyMDgsIDEsIDEyMSwgMjEzLCAxMzgsIDM5LCAyMDgsIDEsIDEyNSwgMjEzLCAxMzgsIDM5LCAyMDgsIDEsIAorICAgIDEyMSwgMjQxLCA2OSwgMzksIDIwOCwgMSwgMTI1LCAyNDEsIDY5LCAzOSwgMjA4LCAxLCAxMjEsIDc2LCAzOSwgMjA4LCAxLCAKKyAgICAxMjUsIDc2LCAzOSwgMjA4LCAyMzEsIDIwNSwgMjM0LCAyMzEsIDM5LCAyMDgsIDI1LCAyNTUsIDc0LCAzOSwgMjA4LCAyNSwgCiAgICAgNzMsIDM5LCAyMDgsIDI1LCAyMTQsIDIxNCwgMzksIDIwOCwgMjUsIDcwLCAzOSwgMjA4LCAyNSwgNzUsIDM5LCAyMDgsIDI1LCAKLSAgICA3NiwgMzksIDIwOCwgMjMxLCAyMDQsIDIzNCwgMTA4LCAzOSwgMjA4LCAyNSwgMjQwLCAxMTksIDM5LCAyMDgsIDI1LCAyMTQsIAotICAgIDIxMywgMzksIDIwOCwgMjUsIDIxNCwgMjI5LCAzOSwgMjA4LCAyNSwgMjUzLCAxOTAsIDM5LCAyMDgsIDI1LCAyNTMsIDE2NywgCi0gICAgMzksIDIwOCwgMjUsIDI1NCwgMTIzLCAzOSwgMjA4LCAyNSwgMjU0LCAxMzYsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDQsIAotICAgIDI0NSwgMTgwLCAzOSwgMjA4LCAxMzgsIDIzMSwgMjA0LCAyMjcsIDIwNiwgMzksIDIwOCwgMTM4LCAyMzEsIDIwNCwgMjE2LCAKLSAgICAxNTYsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDQsIDIxOSwgNDIsIDM5LCAyMDgsIDE2LCAyMzQsIDEzLCAzOSwgMjA4LCAxNiwgCi0gICAgMjI3LCAyMDYsIDM5LCAyMDgsIDE2LCAyMjEsIDI1MywgMzksIDIwOCwgMTYsIDI0MSwgNjksIDI0MSwgNjQsIDM5LCAyMDgsIAotICAgIDE2LCAyMzQsIDIyLCAyMzQsIDIxLCAxODYsIDE4NSwgMSwgNzUsIDE4NiwgMTg1LCAxLCA3NiwgMTg2LCAxODUsIDEsIDI1MCwgCi0gICAgMTU3LCAxODYsIDE4NSwgMSwgMjI3LCAxNjUsIDE4NiwgMTg1LCAxLCAyMTUsIDE1NiwgMTg2LCAxODUsIDEsIDIxNSwgMTQ0LCAKLSAgICAxODYsIDE4NSwgMSwgMjQ4LCAxMzUsIDE4NiwgMTg1LCAxLCAyNDgsIDExOSwgMTg2LCAxODUsIDEsIDIyOCwgMTEwLCAxODYsIAotICAgIDE4NSwgMSwgMjIwLCAxMDIsIDE4NiwgMTg1LCAxLCAyMTgsIDIyMywgMTg2LCAxODUsIDI1LCA1LCAyMzYsIDMzLCAxODYsIAotICAgIDE4NSwgMjUsIDUsIDIxNCwgMTE4LCAxODYsIDE4NSwgMjUsIDUsIDI1NSwgMzcsIDE4NiwgMTg1LCAyNSwgNSwgMjUzLCAKLSAgICAxOTIsIDE4NiwgMTg1LCAyNSwgNSwgMjU1LCAzMCwgMTg2LCAxODUsIDI1MCwgMTI1LCAxODYsIDE4NSwgMjU0LCAyMDYsIAotICAgIDIzNCwgOTgsIDE4NiwgMTg1LCAyNTQsIDEwMywgMTg2LCAxODUsIDMsIDIyMywgNzQsIDc4LCAxODYsIDE4NSwgMjExLCAKLSAgICAyMDksIDIyMywgNzQsIDc4LCAxODYsIDE4NSwgMjUsIDUsIDIxMywgMTQ3LCAxODYsIDE4NSwgMjEzLCAxNTIsIDI5LCAzLCAKLSAgICAyMTUsIDEzNywgMjksIDMsIDIxNSwgMTQwLCAyOSwgMywgMjE1LCAxNDMsIDI5LCAzLCAyMTUsIDE0MSwgMjksIDMsIDIxNSwgCi0gICAgMTQyLCAyOSwgMywgMjE1LCAxMzksIDI5LCAzLCAyNDgsIDExMywgMjksIDMsIDI0OCwgMTE1LCAyOSwgMywgMjQ4LCAxMTgsIAotICAgIDI5LCAzLCAyNDgsIDExNiwgMjksIDMsIDI0OCwgMTE3LCAyOSwgMywgMjQ4LCAxMTQsIDI5LCAzLCAyNDYsIDI4LCAyOSwgMywgCi0gICAgMjQ2LCAzMSwgMjksIDMsIDI0NiwgMzcsIDI5LCAzLCAyNDYsIDM1LCAyOSwgMywgMjQ2LCAzNiwgMjksIDMsIDI0NiwgMjksIAotICAgIDI5LCAzLCAyNTAsIDIwNCwgMjksIDMsIDI1MCwgMTk4LCAyOSwgMywgMjUwLCAyMDAsIDI5LCAzLCAyNTAsIDIwMywgMjksIAotICAgIDMsIDI1MCwgMjAxLCAyOSwgMywgMjUwLCAyMDIsIDI5LCAzLCAyNTAsIDE5OSwgMjksIDMsIDI1MiwgMTExLCAyOSwgMywgCi0gICAgMjUyLCA5MCwgMjksIDMsIDI1MiwgMTAyLCAyOSwgMywgMjUyLCAxMTAsIDI5LCAzLCAyNTIsIDEwNSwgMjksIDMsIDI1MiwgCi0gICAgMTA2LCAyOSwgMywgMjUyLCA5NCwgMTg2LCAxODUsIDEsIDIzNCwgMTksIDE4NiwgMTg1LCAxLCAyMjEsIDI1MywgMTg2LCAKLSAgICAxODUsIDEsIDIzMywgMTA5LCAxODYsIDE4NSwgMSwgMjMwLCAxNzIsIDE4NiwgMTg1LCAxLCAxOTAsIDE4NiwgMTg1LCAxLCAKLSAgICAxOTcsIDE4NiwgMTg1LCAxLCAyNTAsIDEwMiwgMTg2LCAxODUsIDEsIDIxNiwgOTAsIDE4NiwgMTg1LCAxLCAyMzQsIDEwMSwgCi0gICAgMTg2LCAxODUsIDEsIDIyOCwgMjUwLCAxODYsIDE4NSwgMSwgMjE2LCAxNTAsIDE4NiwgMTg1LCAxLCAyMTIsIDYwLCAxODYsIAotICAgIDE4NSwgMSwgMjExLCA2OSwgMTg2LCAxODUsIDEsIDI0MCwgMjE2LCAxODYsIDE4NSwgMSwgMjE0LCAxOTAsIDE4NiwgMTg1LCAKLSAgICAxLCA3MywgMTg2LCAxODUsIDEsIDIyNSwgMTQyLCAxODYsIDE4NSwgMSwgMjUzLCAyMDIsIDE4NiwgMTg1LCAxLCAyNDIsIAotICAgIDE2NywgMTg2LCAxODUsIDEsIDIzNSwgMTEyLCAxODYsIDE4NSwgMSwgMjIzLCAxNjYsIDE4NiwgMTg1LCAxLCAyNTIsIDE5MSwgCi0gICAgMTg2LCAxODUsIDEsIDIzNSwgMTAwLCAxODYsIDE4NSwgMSwgMjQ3LCAyMTksIDE4NiwgMTg1LCAxLCAyNDIsIDIyMSwgMTg2LCAKLSAgICAxODUsIDEsIDI0OCwgNSwgMTg2LCAxODUsIDEsIDI1MiwgMTYsIDE4NiwgMTg1LCAxLCAyMzQsIDIwLCAyMzIsIDEyOCwgCi0gICAgMTg2LCAxODUsIDEsIDIzMywgMTEwLCAyMzIsIDEyOCwgMTg2LCAxODUsIDEsIDIzMCwgMTczLCAyMzIsIDEyOCwgMTg2LCAKLSAgICAxODUsIDEsIDIyNiwgOTAsIDIzMiwgMTI4LCAxODYsIDE4NSwgMSwgMjI5LCAyMjksIDIzMiwgMTI4LCAxODYsIDE4NSwgMSwgCi0gICAgMjE2LCA5MSwgMjMyLCAxMjgsIDE4NiwgMTg1LCAxLCAyMjgsIDI1MSwgMjMyLCAxMjgsIDE4NiwgMTg1LCAxLCAyNDAsIAotICAgIDE1NCwgMjMyLCAxMjgsIDE4NiwgMTg1LCAyNSwgNSwgMjI2LCAxOTUsIDE4NiwgMTg1LCAyNSwgNSwgMjM1LCAyNTMsIDE4NiwgCi0gICAgMTg1LCAyNSwgNSwgMjU0LCAxMjIsIDE4NiwgMTg1LCAyNSwgNSwgMjExLCAzOCwgMTg2LCAxODUsIDI1LCA1LCAyMTksIDMyLCAKLSAgICAxODYsIDE4NSwgMjUsIDUsIDIxNCwgMTg3LCAxODYsIDE4NSwgMjUsIDUsIDI1MCwgMTIzLCAxODYsIDE4NSwgMjUsIDUsIAotICAgIDIyNywgMTkxLCAxODYsIDE4NSwgMjUwLCAxMjQsIDE4NiwgMTg1LCAyMzIsIDg1LCAyMzUsIDE1MCwgMTg2LCAxODUsIDI1NCwgCi0gICAgNDYsIDIzNSwgMTUwLCAxODYsIDE4NSwgMjEsIDIxMCwgODYsIDE4NiwgMTg1LCAyMSwgMTEwLCAxODYsIDE4NSwgMjEsIAotICAgIDEwNSwgMTg2LCAxODUsIDIxLCAxNTgsIDE4NiwgMTg1LCAyMSwgMTYxLCAxODYsIDE4NSwgMjEsIDE4OSwgMTg2LCAxODUsIAotICAgIDIxLCAxOTQsIDE4NiwgMTg1LCAyMSwgMTk4LCAxODYsIDE4NSwgMjEsIDE5NSwgMTg2LCAxODUsIDIxLCAyMDAsIDI0LCAKLSAgICAxNDMsIDIyNywgNzcsIDI0LCAxNDMsIDIyNywgODIsIDI0LCAxNDMsIDIxMCwgMjQzLCAyNCwgMTQzLCAyMTAsIDI0MiwgMjQsIAorICAgIDc2LCAzOSwgMjA4LCAyMzEsIDIwNSwgMjM0LCAxMDksIDM5LCAyMDgsIDI1LCAyNDAsIDEyMCwgMzksIDIwOCwgMjUsIDIxNCwgCisgICAgMjEzLCAzOSwgMjA4LCAyNSwgMjE0LCAyMjksIDM5LCAyMDgsIDI1LCAyNTMsIDE5MSwgMzksIDIwOCwgMjUsIDI1MywgMTY4LCAKKyAgICAzOSwgMjA4LCAyNSwgMjU0LCAxMjQsIDM5LCAyMDgsIDI1LCAyNTQsIDEzNywgMzksIDIwOCwgMTM4LCAyMzEsIDIwNSwgCisgICAgMjQ1LCAxODEsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDUsIDIyNywgMjA3LCAzOSwgMjA4LCAxMzgsIDIzMSwgMjA1LCAyMTYsIAorICAgIDE1NywgMzksIDIwOCwgMTM4LCAyMzEsIDIwNSwgMjE5LCA0MywgMzksIDIwOCwgMTYsIDIzNCwgMTQsIDM5LCAyMDgsIDE2LCAKKyAgICAyMjcsIDIwNywgMzksIDIwOCwgMTYsIDIyMSwgMjU0LCAzOSwgMjA4LCAxNiwgMjQxLCA3MCwgMjQxLCA2NSwgMzksIDIwOCwgCisgICAgMTYsIDIzNCwgMjMsIDIzNCwgMjIsIDE4NywgMTg2LCAxLCA3NSwgMTg3LCAxODYsIDEsIDc2LCAxODcsIDE4NiwgMSwgMjUwLCAKKyAgICAxNTgsIDE4NywgMTg2LCAxLCAyMjcsIDE2NiwgMTg3LCAxODYsIDEsIDIxNSwgMTU3LCAxODcsIDE4NiwgMSwgMjE1LCAxNDUsIAorICAgIDE4NywgMTg2LCAxLCAyNDgsIDEzNiwgMTg3LCAxODYsIDEsIDI0OCwgMTIwLCAxODcsIDE4NiwgMSwgMjI4LCAxMTEsIDE4NywgCisgICAgMTg2LCAxLCAyMjAsIDEwMywgMTg3LCAxODYsIDEsIDIxOCwgMjI0LCAxODcsIDE4NiwgMjUsIDUsIDIzNiwgMzQsIDE4NywgCisgICAgMTg2LCAyNSwgNSwgMjE0LCAxMTgsIDE4NywgMTg2LCAyNSwgNSwgMjU1LCAzOCwgMTg3LCAxODYsIDI1LCA1LCAyNTMsIAorICAgIDE5MywgMTg3LCAxODYsIDI1LCA1LCAyNTUsIDMxLCAxODcsIDE4NiwgMjUwLCAxMjYsIDE4NywgMTg2LCAyNTQsIDIwNywgCisgICAgMjM0LCA5OSwgMTg3LCAxODYsIDI1NCwgMTA0LCAxODcsIDE4NiwgMywgMjIzLCA3NSwgNzgsIDE4NywgMTg2LCAyMTEsIAorICAgIDIwOSwgMjIzLCA3NSwgNzgsIDE4NywgMTg2LCAyNSwgNSwgMjEzLCAxNDcsIDE4NywgMTg2LCAyMTMsIDE1MiwgMjksIDMsIAorICAgIDIxNSwgMTM4LCAyOSwgMywgMjE1LCAxNDEsIDI5LCAzLCAyMTUsIDE0NCwgMjksIDMsIDIxNSwgMTQyLCAyOSwgMywgMjE1LCAKKyAgICAxNDMsIDI5LCAzLCAyMTUsIDE0MCwgMjksIDMsIDI0OCwgMTE0LCAyOSwgMywgMjQ4LCAxMTYsIDI5LCAzLCAyNDgsIDExOSwgCisgICAgMjksIDMsIDI0OCwgMTE3LCAyOSwgMywgMjQ4LCAxMTgsIDI5LCAzLCAyNDgsIDExNSwgMjksIDMsIDI0NiwgMjksIDI5LCAzLCAKKyAgICAyNDYsIDMyLCAyOSwgMywgMjQ2LCAzOCwgMjksIDMsIDI0NiwgMzYsIDI5LCAzLCAyNDYsIDM3LCAyOSwgMywgMjQ2LCAzMCwgCisgICAgMjksIDMsIDI1MCwgMjA1LCAyOSwgMywgMjUwLCAxOTksIDI5LCAzLCAyNTAsIDIwMSwgMjksIDMsIDI1MCwgMjA0LCAyOSwgCisgICAgMywgMjUwLCAyMDIsIDI5LCAzLCAyNTAsIDIwMywgMjksIDMsIDI1MCwgMjAwLCAyOSwgMywgMjUyLCAxMTIsIDI5LCAzLCAKKyAgICAyNTIsIDkxLCAyOSwgMywgMjUyLCAxMDMsIDI5LCAzLCAyNTIsIDExMSwgMjksIDMsIDI1MiwgMTA2LCAyOSwgMywgMjUyLCAKKyAgICAxMDcsIDI5LCAzLCAyNTIsIDk1LCAxODcsIDE4NiwgMSwgMjM0LCAyMCwgMTg3LCAxODYsIDEsIDIyMSwgMjU0LCAxODcsIAorICAgIDE4NiwgMSwgMjMzLCAxMTAsIDE4NywgMTg2LCAxLCAyMzAsIDE3MywgMTg3LCAxODYsIDEsIDE5MCwgMTg3LCAxODYsIDEsIAorICAgIDE5NywgMTg3LCAxODYsIDEsIDI1MCwgMTAzLCAxODcsIDE4NiwgMSwgMjE2LCA5MSwgMTg3LCAxODYsIDEsIDIzNCwgMTAyLCAKKyAgICAxODcsIDE4NiwgMSwgMjI4LCAyNTEsIDE4NywgMTg2LCAxLCAyMTYsIDE1MSwgMTg3LCAxODYsIDEsIDIxMiwgNjAsIDE4NywgCisgICAgMTg2LCAxLCAyMTEsIDY5LCAxODcsIDE4NiwgMSwgMjQwLCAyMTcsIDE4NywgMTg2LCAxLCAyMTQsIDE5MCwgMTg3LCAxODYsIAorICAgIDEsIDczLCAxODcsIDE4NiwgMSwgMjI1LCAxNDMsIDE4NywgMTg2LCAxLCAyNTMsIDIwMywgMTg3LCAxODYsIDEsIDI0MiwgCisgICAgMTY4LCAxODcsIDE4NiwgMSwgMjM1LCAxMTMsIDE4NywgMTg2LCAxLCAyMjMsIDE2NywgMTg3LCAxODYsIDEsIDI1MiwgMTkyLCAKKyAgICAxODcsIDE4NiwgMSwgMjM1LCAxMDEsIDE4NywgMTg2LCAxLCAyNDcsIDIyMCwgMTg3LCAxODYsIDEsIDI0MiwgMjIyLCAxODcsIAorICAgIDE4NiwgMSwgMjQ4LCA2LCAxODcsIDE4NiwgMSwgMjUyLCAxNywgMTg3LCAxODYsIDEsIDIzNCwgMjEsIDIzMiwgMTI5LCAKKyAgICAxODcsIDE4NiwgMSwgMjMzLCAxMTEsIDIzMiwgMTI5LCAxODcsIDE4NiwgMSwgMjMwLCAxNzQsIDIzMiwgMTI5LCAxODcsIAorICAgIDE4NiwgMSwgMjI2LCA5MSwgMjMyLCAxMjksIDE4NywgMTg2LCAxLCAyMjksIDIzMCwgMjMyLCAxMjksIDE4NywgMTg2LCAxLCAKKyAgICAyMTYsIDkyLCAyMzIsIDEyOSwgMTg3LCAxODYsIDEsIDIyOCwgMjUyLCAyMzIsIDEyOSwgMTg3LCAxODYsIDEsIDI0MCwgCisgICAgMTU1LCAyMzIsIDEyOSwgMTg3LCAxODYsIDI1LCA1LCAyMjYsIDE5NiwgMTg3LCAxODYsIDI1LCA1LCAyMzUsIDI1NCwgMTg3LCAKKyAgICAxODYsIDI1LCA1LCAyNTQsIDEyMywgMTg3LCAxODYsIDI1LCA1LCAyMTEsIDM4LCAxODcsIDE4NiwgMjUsIDUsIDIxOSwgMzMsIAorICAgIDE4NywgMTg2LCAyNSwgNSwgMjE0LCAxODcsIDE4NywgMTg2LCAyNSwgNSwgMjUwLCAxMjQsIDE4NywgMTg2LCAyNSwgNSwgCisgICAgMjI3LCAxOTIsIDE4NywgMTg2LCAyNTAsIDEyNSwgMTg3LCAxODYsIDIzMiwgODYsIDIzNSwgMTUxLCAxODcsIDE4NiwgMjU0LCAKKyAgICA0NywgMjM1LCAxNTEsIDE4NywgMTg2LCAyMSwgMjEwLCA4NiwgMTg3LCAxODYsIDIxLCAxMTAsIDE4NywgMTg2LCAyMSwgCisgICAgMTA1LCAxODcsIDE4NiwgMjEsIDE1OCwgMTg3LCAxODYsIDIxLCAxNjEsIDE4NywgMTg2LCAyMSwgMTg5LCAxODcsIDE4NiwgCisgICAgMjEsIDE5NCwgMTg3LCAxODYsIDIxLCAxOTgsIDE4NywgMTg2LCAyMSwgMTk1LCAxODcsIDE4NiwgMjEsIDIwMCwgMjQsIAorICAgIDE0MywgMjI3LCA3OCwgMjQsIDE0MywgMjI3LCA4MywgMjQsIDE0MywgMjEwLCAyNDMsIDI0LCAxNDMsIDIxMCwgMjQyLCAyNCwgCiAgICAgMTQzLCAyMTAsIDI0MSwgMjQsIDE0MywgMjE1LCAyMywgMjQsIDE0MywgMjE1LCAyNiwgMjQsIDE0MywgMjEwLCAyMTAsIDI0LCAKLSAgICAxNDMsIDIxMCwgMjA2LCAyNCwgMTQzLCAyNDUsIDU0LCAyNCwgMTQzLCAyNDUsIDUyLCAyNCwgMTQzLCAyNDUsIDUzLCAyNCwgCi0gICAgMTQzLCAyNDUsIDUwLCAyNCwgMTQzLCAyNDAsIDE0NCwgMjQsIDE0MywgMjQwLCAxNDMsIDI0LCAxNDMsIDI0MCwgMTQxLCAKLSAgICAyNCwgMTQzLCAyNDAsIDE0MiwgMjQsIDE0MywgMjQwLCAxNDcsIDI0LCAxNDMsIDI0MCwgMTQwLCAyNCwgMTQzLCAyNDAsIAotICAgIDEzOSwgMjQsIDE0MywgMjQwLCAxNDksIDI0LCAxNDMsIDI1NCwgMzMsIDI0LCAxNDMsIDI1NCwgMzIsIDI0LCA5MCwgMjI4LCAKLSAgICAyMTksIDI0LCA5MCwgMjI4LCAyMjUsIDI0LCA5MCwgMjE4LCAyMDQsIDI0LCA5MCwgMjE4LCAyMDMsIDI0LCA5MCwgMjE2LCAKLSAgICA5NiwgMjQsIDkwLCAyMTYsIDk0LCAyNCwgOTAsIDIxNiwgOTMsIDI0LCA5MCwgMjE2LCA5OSwgMjQsIDkwLCAyMTYsIDEwMCwgCi0gICAgMjQsIDkwLCAyMTYsIDkyLCAyNCwgOTAsIDIyMywgNSwgMjQsIDkwLCAyMjMsIDIwLCAyNCwgOTAsIDIxOCwgMjEwLCAyNCwgCi0gICAgOTAsIDIyMywgMTcsIDI0LCA5MCwgMjIzLCA3LCAyNCwgOTAsIDIyMywgOSwgMjQsIDkwLCAyMjIsIDI1MiwgMjQsIDkwLCAKLSAgICAyMjIsIDI1MywgMjQsIDkwLCAyMzQsIDIxOCwgMjQsIDkwLCAyMzAsIDIxMiwgMjQsIDkwLCAyMzAsIDIwNiwgMjQsIDkwLCAKLSAgICAyMTgsIDIxNCwgMjQsIDkwLCAyMzAsIDIwOSwgMjQsIDkwLCAyMzAsIDIxNSwgMjQsIDkwLCAyMjUsIDc2LCAyNCwgOTAsIAotICAgIDIyNSwgODUsIDI0LCA5MCwgMjI1LCA4OSwgMjQsIDkwLCAyMTgsIDIxMiwgMjQsIDkwLCAyMjUsIDc5LCAyNCwgOTAsIDIyNSwgCi0gICAgOTMsIDI0LCA5MCwgMjI1LCA5NCwgMjQsIDkwLCAyMTksIDE0MCwgMjQsIDkwLCAyMTksIDE0MywgMjQsIDkwLCAyMTgsIAotICAgIDIwOCwgMjQsIDkwLCAyMTgsIDIwNiwgMjQsIDkwLCAyMTksIDEzOCwgMjQsIDkwLCAyMTksIDE0NiwgMjQsIDkwLCAyMTksIAotICAgIDE0NywgMjQsIDkwLCAyMTksIDEzMiwgMjQsIDkwLCAyMTksIDE0NSwgMjQsIDkwLCAyMjYsIDMwLCAyNCwgOTAsIDIyNiwgCi0gICAgMzEsIDI0LCA5MCwgMjExLCAyNCwgMjQsIDkwLCAyMTEsIDI1LCAyNCwgOTAsIDI1MCwgNDQsIDI0LCA5MCwgMjUwLCA0MywgCi0gICAgMjQsIDkwLCAyMTgsIDIxOSwgMjQsIDkwLCAyMjUsIDEyOCwgMjQsIDkwLCAyMjUsIDEyNywgOSwgMTQsIDIzOCwgMjQsIDksIAotICAgIDE0LCAyMzgsIDIzLCA5LCAxNCwgMjM4LCAyMiwgOSwgMTQsIDIzOCwgMjEsIDksIDE0LCAyMzgsIDIwLCA5LCAxNCwgMjM4LCAKLSAgICAxOSwgOSwgMTQsIDIzOCwgMTgsIDksIDE0LCAyMzgsIDE3LCA5LCAxNCwgMjM4LCAxNiwgOSwgMTQsIDIzOCwgMTUsIDksIAotICAgIDE0LCAyMzgsIDE0LCA5LCAxNCwgMjM4LCAxMywgOSwgMTQsIDIzOCwgMTIsIDksIDE0LCAyMzgsIDExLCA5LCAxNCwgMjM4LCAKLSAgICAxMCwgOSwgMTQsIDIzOCwgOSwgOSwgMTQsIDIzOCwgOCwgOSwgMTQsIDIzOCwgNywgOSwgMTQsIDIzOCwgNiwgOSwgMTQsIAotICAgIDIzOCwgNSwgOSwgMTQsIDIzOCwgNCwgOSwgMTQsIDIzOCwgMywgOSwgMTQsIDIzOCwgMiwgOSwgMTQsIDIzOCwgMSwgOSwgCi0gICAgMTQsIDIzOCwgMCwgOSwgMTQsIDIzNywgMjU1LCA5LCAxNCwgMjM3LCAyNTQsIDksIDE0LCAyMzcsIDI1MywgOSwgMTQsIAotICAgIDIzNywgMjUyLCA5LCAxNCwgMjM3LCAyNTEsIDksIDE0LCAyMzcsIDI1MCwgOSwgMTQsIDIzNywgMjQ5LCA5LCAxNCwgMjM3LCAKLSAgICAyNDgsIDksIDE0LCAyMzcsIDI0NywgOSwgMTQsIDIzNywgMjQ2LCA5LCAxNCwgMjM3LCAyNDUsIDksIDE0LCAyMzcsIDI0NCwgCi0gICAgOSwgMTQsIDIzNywgMjQzLCA5LCAxNCwgMjM3LCAyNDIsIDksIDE0LCAyMzcsIDI0MSwgOSwgMTQsIDIzNywgMjQwLCA5LCAKLSAgICAxNCwgMjM3LCAyMzksIDksIDE0LCAyMzcsIDIzOCwgOSwgMTQsIDIzNywgMjM3LCA5LCAxNCwgMjM3LCAyMzYsIDksIDE0LCAKLSAgICAyMzcsIDIzNSwgOSwgMTQsIDIzNywgMjM0LCA5LCAxNCwgMjM3LCAyMzMsIDksIDE0LCAyMzcsIDIzMiwgOSwgMTQsIDIzNywgCi0gICAgMjMxLCA5LCAxNCwgMjM3LCAyMzAsIDksIDE0LCAyMzcsIDIyOSwgOSwgMTQsIDIzNywgMjI4LCA5LCAxNCwgMjM3LCAyMjcsIAotICAgIDksIDE0LCAyMzcsIDIyNiwgOSwgMTQsIDIzNywgMjI1LCA5LCAxNCwgMjM3LCAyMjQsIDksIDE0LCAyMzcsIDIyMywgOSwgCi0gICAgMTQsIDIzNywgMjIyLCA5LCAxNCwgMjM3LCAyMjEsIDksIDE0LCAyMzcsIDIyMCwgOSwgMTQsIDIzNywgMjE5LCA5LCAxNCwgCi0gICAgMjM3LCAyMTgsIDksIDE0LCAyMzcsIDIxNywgOSwgMTQsIDIzNywgMjE2LCA5LCAxNCwgMjM3LCAyMTUsIDksIDE0LCAyMzcsIAotICAgIDIxNCwgOSwgMTQsIDIzNywgMjEzLCA5LCAxNCwgMjM3LCAyMTIsIDksIDE0LCAyMzcsIDIxMSwgOSwgMTQsIDIzNywgMjEwLCAKLSAgICA5LCAxNCwgMjM3LCAyMDksIDksIDE0LCAyMzcsIDIwOCwgOSwgMTQsIDIzNywgMjA3LCA5LCAxNCwgMjM3LCAyMDYsIDksIAotICAgIDE0LCAyMzcsIDIwNSwgOSwgMTQsIDIzNywgMjA0LCA5LCAxNCwgMjM3LCAyMDMsIDksIDE0LCAyMzcsIDIwMiwgOSwgMTQsIAotICAgIDIzNywgMjAxLCA5LCAxNCwgMjM3LCAyMDAsIDksIDE0LCAyMzcsIDE5OSwgOSwgMTQsIDIzNywgMTk4LCA5LCAxNCwgMjM3LCAKLSAgICAxOTcsIDksIDE0LCAyMzcsIDE5NiwgOSwgMTQsIDIzNywgMTk1LCA5LCAxNCwgMjM3LCAxOTQsIDksIDE0LCAyMzcsIDE5MywgCi0gICAgOSwgMTQsIDIzNywgMTkyLCA5LCAxNCwgMjM3LCAxOTEsIDksIDE0LCAyMzcsIDE5MCwgOSwgMTQsIDIzNywgMTg5LCA5LCAKLSAgICAxNCwgMjM3LCAxODgsIDksIDE0LCAyMzcsIDE4NywgOSwgMTQsIDIzNywgMTg2LCA5LCAxNCwgMjM3LCAxODUsIDksIDE0LCAKLSAgICAyMzcsIDE4NCwgOSwgMTQsIDIzNywgMTgzLCA5LCAxNCwgMjM3LCAxODIsIDksIDE0LCAyMzcsIDE4MSwgOSwgMTQsIDIzNywgCi0gICAgMTgwLCA5LCAxNCwgMjM3LCAxNzksIDksIDE0LCAyMzcsIDE3OCwgOSwgMTQsIDIzNywgMTc3LCA5LCAxNCwgMjM3LCAxNzYsIAotICAgIDksIDE0LCAyMzcsIDE3NSwgOSwgMTQsIDIzNywgMTc0LCA5LCAxNCwgMjM3LCAxNzMsIDksIDE0LCAyMzcsIDE3MiwgOSwgCi0gICAgMTQsIDIzNywgMTcxLCA5LCAxNCwgMjM3LCAxNzAsIDksIDE0LCAyMzcsIDE2OSwgOSwgMTQsIDIzNywgMTY4LCA5LCAxNCwgCi0gICAgMjM3LCAxNjcsIDksIDE0LCAyMzcsIDE2NiwgOSwgMTQsIDIzNywgMTY1LCA5LCAxNCwgMjM3LCAxNjQsIDksIDE0LCAyMzcsIAotICAgIDE2MywgOSwgMTQsIDIzNywgMTYyLCA5LCAxNCwgMjM3LCAxNjEsIDksIDE0LCAyMzcsIDE2MCwgOSwgMTQsIDIzNywgMTU5LCAKLSAgICA5LCAxNCwgMjM3LCAxNTgsIDksIDE0LCAyMzcsIDE1NywgOSwgMTQsIDIzNywgMTU2LCA5LCAxNCwgMjM3LCAxNTUsIDksIAotICAgIDE0LCAyMzcsIDE1NCwgOSwgMTQsIDIzNywgMTUzLCA5LCAxNCwgMjM3LCAxNTIsIDksIDE0LCAyMzcsIDE1MSwgOSwgMTQsIAotICAgIDIzNywgMTUwLCA5LCAxNCwgMjM3LCAxNDksIDksIDE0LCAyMzcsIDE0OCwgOSwgMTQsIDIzNywgMTQ3LCA5LCAxNCwgMjM3LCAKLSAgICAxNDYsIDksIDE0LCAyMzcsIDE0NSwgOSwgMTQsIDIzNywgMTQ0LCA5LCAxNCwgMjM3LCAxNDMsIDksIDE0LCAyMzcsIDE0MiwgCi0gICAgOSwgMTQsIDIzNywgMTQxLCA5LCAxNCwgMjM3LCAxNDAsIDksIDE0LCAyMzcsIDEzOSwgOSwgMTQsIDIzNywgMTM4LCA5LCAKLSAgICAxNCwgMjM3LCAxMzcsIDksIDE0LCAyMzcsIDEzNiwgOSwgMTQsIDIzNywgMTM1LCA5LCAxNCwgMjM3LCAxMzQsIDksIDE0LCAKLSAgICAyMzcsIDEzMywgOSwgMTQsIDIzNywgMTMyLCA5LCAxNCwgMjM3LCAxMzEsIDksIDE0LCAyMzcsIDEzMCwgOSwgMTQsIDIzNywgCi0gICAgMTI5LCA5LCAxNCwgMjM3LCAxMjgsIDksIDE0LCAyMzcsIDEyNywgOSwgMTQsIDIzNywgMTI2LCA5LCAxNCwgMjM3LCAxMjUsIAotICAgIDksIDE0LCAyMzcsIDEyNCwgOSwgMTQsIDIzNywgMTIzLCA5LCAxNCwgMjM3LCAxMjIsIDksIDE0LCAyMzcsIDEyMSwgOSwgCi0gICAgMTQsIDIzNywgMTIwLCA5LCAxNCwgMjM3LCAxMTksIDksIDE0LCAyMzcsIDExOCwgOSwgMTQsIDIzNywgMTE3LCA5LCAxNCwgCi0gICAgMjM3LCAxMTYsIDksIDE0LCAyMzcsIDExNSwgOSwgMTQsIDIzNywgMTE0LCA5LCAxNCwgMjM3LCAxMTMsIDksIDE0LCAyMzcsIAotICAgIDExMiwgOSwgMTQsIDIzNywgMTExLCA5LCAxNCwgMjM3LCAxMTAsIDksIDE0LCAyMzcsIDEwOSwgOSwgMTQsIDIzNywgMTA4LCAKLSAgICA5LCAxNCwgMjM3LCAxMDcsIDksIDE0LCAyMzcsIDEwNiwgOSwgMTQsIDIzNywgMTA1LCA5LCAxNCwgMjM3LCAxMDQsIDksIAotICAgIDE0LCAyMzcsIDEwMywgOSwgMTQsIDIzNywgMTAyLCA5LCAxNCwgMjM3LCAxMDEsIDksIDE0LCAyMzcsIDEwMCwgOSwgMTQsIAotICAgIDIzNywgOTksIDksIDE0LCAyMzcsIDk4LCA5LCAxNCwgMjM3LCA5NywgOSwgMTQsIDIzNywgOTYsIDksIDE0LCAyMzcsIDk1LCAKLSAgICA5LCAxNCwgMjM3LCA5NCwgOSwgMTQsIDIzNywgOTMsIDksIDE0LCAyMzcsIDkyLCA5LCAxNCwgMjM3LCA5MSwgOSwgMTQsIAotICAgIDIzNywgOTAsIDksIDE0LCAyMzcsIDg5LCA5LCAxNCwgMjM3LCA4OCwgOSwgMTQsIDIzNywgODcsIDksIDE0LCAyMzcsIDg2LCAKLSAgICA5LCAxNCwgMjM3LCA4NSwgOSwgMTQsIDIzNywgODQsIDksIDE0LCAyMzcsIDgzLCA5LCAxNCwgMjM3LCA4MiwgOSwgMTQsIAotICAgIDIzNywgODEsIDksIDE0LCAyMzcsIDgwLCA5LCAxNCwgMjM3LCA3OSwgOSwgMTQsIDIzNywgNzgsIDksIDE0LCAyMzcsIDc3LCAKLSAgICA5LCAxNCwgMjM3LCA3NiwgOSwgMTQsIDIzNywgNzUsIDksIDE0LCAyMzcsIDc0LCA5LCAxNCwgMjM3LCA3MywgOSwgMTQsIAotICAgIDIzNywgNzIsIDksIDE0LCAyMzcsIDcxLCA5LCAxNCwgMjM3LCA3MCwgOSwgMTQsIDIzNywgNjksIDksIDE0LCAyMzcsIDY4LCAKLSAgICA5LCAxNCwgMjM3LCA2NywgOSwgMTQsIDIzNywgNjYsIDksIDE0LCAyMzcsIDY1LCA5LCAxNCwgMjM3LCA2NCwgOSwgMTQsIAotICAgIDIzNywgNjMsIDksIDE0LCAyMzcsIDYyLCA5LCAxNCwgMjM3LCA2MSwgOSwgMTQsIDIzNywgNjAsIDksIDE0LCAyMzcsIDU5LCAKLSAgICA5LCAxNCwgMjM3LCA1OCwgOSwgMTQsIDIzNywgNTcsIDksIDE0LCAyMzcsIDU2LCA5LCAxNCwgMjM3LCA1NSwgOSwgMTQsIAotICAgIDIzNywgNTQsIDksIDE0LCAyMzcsIDUzLCA5LCAxNCwgMjM3LCA1MiwgOSwgMTQsIDIzNywgNTEsIDksIDE0LCAyMzcsIDUwLCAKLSAgICA5LCAxNCwgMjM3LCA0OSwgOSwgMTQsIDIzNywgNDgsIDksIDE0LCAyMzcsIDQ3LCA5LCAxNCwgMjM3LCA0NiwgOSwgMTQsIAotICAgIDIzNywgNDUsIDksIDE0LCAyMzcsIDQ0LCA5LCAxNCwgMjM3LCA0MywgOSwgMTQsIDIzNywgNDIsIDksIDE0LCAyMzcsIDQxLCAKLSAgICA5LCAxNCwgMjM3LCA0MCwgOSwgMTQsIDIzNywgMzksIDksIDE0LCAyMzcsIDM4LCA5LCAxNCwgMjM3LCAzNywgOSwgMTQsIAotICAgIDIzNywgMzYsIDksIDE0LCAyMzcsIDM1LCA5LCAxNCwgMjM3LCAzNCwgOSwgMTQsIDIzNywgMzMsIDksIDE0LCAyMzcsIDMyLCAKLSAgICA5LCAxNCwgMjM3LCAzMSwgOSwgMTQsIDIzNywgMzAsIDksIDE0LCAyMzcsIDI5LCA5LCAxNCwgMjM3LCAyOCwgOSwgMTQsIAotICAgIDIzNywgMjcsIDksIDE0LCAyMzcsIDI2LCA5LCAxNCwgMjM3LCAyNSwgOSwgMTQsIDIzNywgMjQsIDksIDE0LCAyMzcsIDIzLCAKLSAgICA5LCAxNCwgMjM3LCAyMiwgOSwgMTQsIDIzNywgMjEsIDksIDE0LCAyMzcsIDIwLCA5LCAxNCwgMjM3LCAxOSwgOSwgMTQsIAotICAgIDIzNywgMTgsIDksIDE0LCAyMzcsIDE3LCA5LCAxNCwgMjM3LCAxNiwgOSwgMTQsIDIzNywgMTUsIDksIDE0LCAyMzcsIDE0LCAKLSAgICA5LCAxNCwgMjM3LCAxMywgOSwgMTQsIDIzNywgMTIsIDksIDE0LCAyMzcsIDExLCA5LCAxNCwgMjM3LCAxMCwgOSwgMTQsIAotICAgIDIzNywgOSwgOSwgMTQsIDIzNywgOCwgOSwgMTQsIDIzNywgNywgOSwgMTQsIDIzNywgNiwgOSwgMTQsIDIzNywgNSwgOSwgCi0gICAgMTQsIDIzNywgNCwgOSwgMTQsIDIzNywgMywgOSwgMTQsIDIzNywgMiwgOSwgMTQsIDIzNywgMSwgOSwgMTQsIDIzNywgMCwgCi0gICAgOSwgMTQsIDIzNiwgMjU1LCA5LCAxNCwgMjM2LCAyNTQsIDksIDE0LCAyMzYsIDI1MywgOSwgMTQsIDIzNiwgMjUyLCA5LCAKLSAgICAxNCwgMjM2LCAyNTEsIDksIDE0LCAyMzYsIDI1MCwgOSwgMTQsIDIzNiwgMjQ5LCA5LCAxNCwgMjM2LCAyNDgsIDksIDE0LCAKLSAgICAyMzYsIDI0NywgOSwgMTQsIDIzNiwgMjQ2LCA5LCAxNCwgMjM2LCAyNDUsIDksIDE0LCAyMzYsIDI0NCwgOSwgMTQsIDIzNiwgCi0gICAgMjQzLCA5LCAxNCwgMjM2LCAyNDIsIDksIDE0LCAyMzYsIDI0MSwgOSwgMTQsIDIzNiwgMjQwLCA5LCAxNCwgMjM2LCAyMzksIAotICAgIDksIDE0LCAyMzYsIDIzOCwgOSwgMTQsIDIzNiwgMjM3LCA5LCAxNCwgMjM2LCAyMzYsIDksIDE0LCAyMzYsIDIzNSwgOSwgCi0gICAgMTQsIDIzNiwgMjM0LCA5LCAxNCwgMjM2LCAyMzMsIDksIDE0LCAyMzYsIDIzMiwgOSwgMTQsIDIzNiwgMjMxLCA5LCAxNCwgCi0gICAgMjM2LCAyMzAsIDksIDE0LCAyMzYsIDIyOSwgOSwgMTQsIDIzNiwgMjI4LCA5LCAxNCwgMjM2LCAyMjcsIDksIDE0LCAyMzYsIAotICAgIDIyNiwgOSwgMTQsIDIzNiwgMjI1LCA5LCAxNCwgMjM2LCAyMjQsIDksIDE0LCAyMzYsIDIyMywgOSwgMTQsIDIzNiwgMjIyLCAKLSAgICA5LCAxNCwgMjM2LCAyMjEsIDksIDE0LCAyMzYsIDIyMCwgOSwgMTQsIDIzNiwgMjE5LCA5LCAxNCwgMjM2LCAyMTgsIDksIAotICAgIDE0LCAyMzYsIDIxNywgOSwgMTQsIDIzNiwgMjE2LCA5LCAxNCwgMjM2LCAyMTUsIDksIDE0LCAyMzYsIDIxNCwgOSwgMTQsIAotICAgIDIzNiwgMjEzLCA5LCAxNCwgMjM2LCAyMTIsIDksIDE0LCAyMzYsIDIxMSwgOSwgMTQsIDIzNiwgMjEwLCA5LCAxNCwgMjM2LCAKLSAgICAyMDksIDksIDE0LCAyMzYsIDIwOCwgOSwgMTQsIDIzNiwgMjA3LCA5LCAxNCwgMjM2LCAyMDYsIDksIDE0LCAyMzYsIDIwNSwgCi0gICAgOSwgMTQsIDIzNiwgMjA0LCA5LCAxNCwgMjM2LCAyMDMsIDksIDE0LCAyMzYsIDIwMiwgOSwgMTQsIDIzNiwgMjAxLCA5LCAKLSAgICAxNCwgMjM2LCAyMDAsIDksIDE0LCAyMzYsIDE5OSwgOSwgMTQsIDIzNiwgMTk4LCA5LCAxNCwgMjM2LCAxOTcsIDksIDE0LCAKLSAgICAyMzYsIDE5NiwgOSwgMTQsIDIzNiwgMTk1LCA5LCAxNCwgMjM2LCAxOTQsIDksIDE0LCAyMzYsIDE5MywgOSwgMTQsIDIzNiwgCi0gICAgMTkyLCA5LCAxNCwgMjM2LCAxOTEsIDksIDE0LCAyMzYsIDE5MCwgOSwgMTQsIDIzNiwgMTg5LCA5LCAxNCwgMjM2LCAxODgsIAotICAgIDksIDE0LCAyMzYsIDE4NywgOSwgMTQsIDIzNiwgMTg2LCA5LCAxNCwgMjM2LCAxODUsIDksIDE0LCAyMzYsIDE4NCwgOSwgCi0gICAgMTQsIDIzNiwgMTgzLCA5LCAxNCwgMjM2LCAxODIsIDksIDE0LCAyMzYsIDE4MSwgOSwgMTQsIDIzNiwgMTgwLCA5LCAxNCwgCi0gICAgMjM2LCAxNzksIDksIDE0LCAyMzYsIDE3OCwgOSwgMTQsIDIzNiwgMTc3LCA5LCAxNCwgMjM2LCAxNzYsIDksIDE0LCAyMzYsIAotICAgIDE3NSwgOSwgMTQsIDIzNiwgMTc0LCA5LCAxNCwgMjM2LCAxNzMsIDksIDE0LCAyMzYsIDE3MiwgOSwgMTQsIDIzNiwgMTcxLCAKLSAgICA5LCAxNCwgMjM2LCAxNzAsIDksIDE0LCAyMzYsIDE2OSwgOSwgMTQsIDIzNiwgMTY4LCA5LCAxNCwgMjM2LCAxNjcsIDksIAotICAgIDE0LCAyMzYsIDE2NiwgOSwgMTQsIDIzNiwgMTY1LCA5LCAxNCwgMjM2LCAxNjQsIDksIDE0LCAyMzYsIDE2MywgOSwgMTQsIAotICAgIDIzNiwgMTYyLCA5LCAxNCwgMjM2LCAxNjEsIDksIDE0LCAyMzYsIDE2MCwgOSwgMTQsIDIzNiwgMTU5LCA5LCAxNCwgMjM2LCAKLSAgICAxNTgsIDksIDE0LCAyMzYsIDE1NywgOSwgMTQsIDIzNiwgMTU2LCA5LCAxNCwgMjM2LCAxNTUsIDksIDE0LCAyMzYsIDE1NCwgCi0gICAgOSwgMTQsIDIzNiwgMTUzLCA5LCAxNCwgMjM2LCAxNTIsIDksIDE0LCAyMzYsIDE1MSwgOSwgMTQsIDIzNiwgMTUwLCA5LCAKLSAgICAxNCwgMjM2LCAxNDksIDksIDE0LCAyMzYsIDE0OCwgOSwgMTQsIDIzNiwgMTQ3LCA5LCAxNCwgMjM2LCAxNDYsIDksIDE0LCAKLSAgICAyMzYsIDE0NSwgOSwgMTQsIDIzNiwgMTQ0LCA5LCAxNCwgMjM2LCAxNDMsIDksIDE0LCAyMzYsIDE0MiwgOSwgMTQsIDIzNiwgCi0gICAgMTQxLCA5LCAxNCwgMjM2LCAxNDAsIDksIDE0LCAyMzYsIDEzOSwgOSwgMTQsIDIzNiwgMTM4LCA5LCAxNCwgMjM2LCAxMzcsIAotICAgIDksIDE0LCAyMzYsIDEzNiwgOSwgMTQsIDIzNiwgMTM1LCA5LCAxNCwgMjM2LCAxMzQsIDksIDE0LCAyMzYsIDEzMywgOSwgCi0gICAgMTQsIDIzNiwgMTMyLCA5LCAxNCwgMjM2LCAxMzEsIDksIDE0LCAyMzYsIDEzMCwgOSwgMTQsIDIzNiwgMTI5LCA5LCAxNCwgCi0gICAgMjM2LCAxMjgsIDksIDE0LCAyMzYsIDEyNywgOSwgMTQsIDIzNiwgMTI2LCA5LCAxNCwgMjM2LCAxMjUsIDksIDE0LCAyMzYsIAotICAgIDEyNCwgOSwgMTQsIDIzNiwgMTIzLCA5LCAxNCwgMjM2LCAxMjIsIDksIDE0LCAyMzYsIDEyMSwgOSwgMTQsIDIzNiwgMTIwLCAKLSAgICA5LCAxNCwgMjM2LCAxMTksIDksIDE0LCAyMzYsIDExOCwgOSwgMTQsIDIzNiwgMTE3LCA5LCAxNCwgMjM2LCAxMTYsIDksIAotICAgIDE0LCAyMzYsIDExNSwgOSwgMTQsIDIzNiwgMTE0LCA5LCAxNCwgMjM2LCAxMTMsIDksIDE0LCAyMzYsIDExMiwgOSwgMTQsIAotICAgIDIzNiwgMTExLCA5LCAxNCwgMjM2LCAxMTAsIDksIDE0LCAyMzYsIDEwOSwgOSwgMTQsIDIzNiwgMTA4LCA5LCAxNCwgMjM2LCAKLSAgICAxMDcsIDksIDE0LCAyMzYsIDEwNiwgOSwgMTQsIDIzNiwgMTA1LCA5LCAxNCwgMjM2LCAxMDQsIDksIDE0LCAyMzYsIDEwMywgCi0gICAgOSwgMTQsIDIzNiwgMTAyLCA5LCAxNCwgMjM2LCAxMDEsIDksIDE0LCAyMzYsIDEwMCwgOSwgMTQsIDIzNiwgOTksIDksIDE0LCAKLSAgICAyMzYsIDk4LCA5LCAxNCwgMjM2LCA5NywgOSwgMTQsIDIzNiwgOTYsIDksIDE0LCAyMzYsIDk1LCA5LCAxNCwgMjM2LCA5NCwgCi0gICAgOSwgMTQsIDIzNiwgOTMsIDksIDE0LCAyMzYsIDkyLCA5LCAxNCwgMjM2LCA5MSwgOSwgMTQsIDIzNiwgOTAsIDksIDE0LCAKLSAgICAyMzYsIDg5LCA5LCAxNCwgMjM2LCA4OCwgOSwgMTQsIDIzNiwgODcsIDksIDE0LCAyMzYsIDg2LCA5LCAxNCwgMjM2LCA4NSwgCi0gICAgOSwgMTQsIDIzNiwgODQsIDksIDE0LCAyMzYsIDgzLCA5LCAxNCwgMjM2LCA4MiwgOSwgMTQsIDIzNiwgODEsIDksIDE0LCAKLSAgICAyMzYsIDgwLCA5LCAxNCwgMjM2LCA3OSwgOSwgMTQsIDIzNiwgNzgsIDksIDE0LCAyMzYsIDc3LCA5LCAxNCwgMjM2LCA3NiwgCi0gICAgOSwgMTQsIDIzNiwgNzUsIDksIDE0LCAyMzYsIDc0LCA5LCAxNCwgMjM2LCA3MywgOSwgMTQsIDIzNiwgNzIsIDksIDE0LCAKLSAgICAyMzYsIDcxLCA5LCAxNCwgMjM2LCA3MCwgOSwgMTQsIDIzNiwgNjksIDksIDE0LCAyMzYsIDY4LCA5LCAxNCwgMjM2LCA2NywgCi0gICAgOSwgMTQsIDIzNiwgNjYsIDksIDE0LCAyMzYsIDY1LCA3LCA0LCAyNywgMjQ0LCAxMjUsIDcsIDQsIDI3LCAyNDQsIDEyMSwgCi0gICAgNywgNCwgMjcsIDI0NCwgNzYsIDcsIDQsIDI3LCAyNDQsIDEyNCwgNywgNCwgMjcsIDI0NCwgMTIzLCA3LCA0LCAyNywgMTk5LCAKLSAgICAyMjIsIDkyLCAyMTcsIDE1MiwgNywgNCwgMjcsIDIxOCwgMTY4LCAxNTAsIDQsIDI3LCAyMzEsIDU5LCAyMjgsIDM5LCAxNTAsIAotICAgIDQsIDI3LCAyMzEsIDU5LCAyNDUsIDIxMywgMTUwLCA0LCAyNywgMjMxLCA1OSwgMjM1LCAyMjcsIDE1MCwgNCwgMjcsIDIxMywgCi0gICAgMTgwLCAyMjgsIDM5LCAxNTAsIDQsIDI3LCAyMzEsIDU5LCAyMTEsIDE2MCwgOTQsIDEsIDIxMCwgMjM0LCAyLCAyNDEsIAotICAgIDE1OCwgOTQsIDIyNSwgMTEsIDIzNSwgNTAsIDIxNCwgMTEsIDk0LCAyNywgMjExLCA2LCAyMTAsIDIzNCwgMjEwLCAyMzQsIAotICAgIDIyNSwgMjM5LCA5NCwgMSwgMjU0LCAxMzksIDI1MywgMTYyLCA5NCwgMSwgMjExLCAyNDcsIDI1NCwgMTcwLCA5NCwgMSwgCi0gICAgMjExLCAyNDcsIDI0OCwgMTg5LCA5NCwgMSwgMjExLCAyNDcsIDI0MSwgMjM4LCA5NCwgMSwgMjExLCAyNDcsIDIzNCwgMjUwLCAKLSAgICA5NCwgMSwgMjExLCAyNDcsIDIzMywgOTQsIDk0LCAxLCAyMTEsIDI0NywgNDAsIDIzMSwgNjUsIDk0LCAxLCAyMTEsIDI0NywgCi0gICAgMjIzLCA2NywgOTQsIDEsIDIxMSwgMjQ3LCAyMTcsIDM4LCA5NCwgMSwgMjU0LCAxMzksIDk2LCA1MCwgOTQsIDEsIDIyMCwgCi0gICAgMjEsIDIsIDIyMCwgMjEsIDI0NywgMTIwLCA5NCwgMSwgMjIwLCAyMSwgMiwgMjE5LCAxNTksIDI0NywgMTIwLCA5NCwgMSwgCi0gICAgMjIwLCAyMSwgMiwgMjQ4LCAyMDgsIDIyLCAyMjAsIDIxLCAyNDcsIDEyMCwgOTQsIDEsIDIyMCwgMjEsIDIsIDI0OCwgMjA4LCAKLSAgICAyMiwgMjE5LCAxNTksIDI0NywgMTIwLCA5NCwgMSwgMTEyLCAyLCAyMjUsIDIzOSwgOTQsIDEsIDExMiwgMiwgMjI0LCA3NiwgCi0gICAgOTQsIDEsIDExMiwgMiwgMjMxLCAxNzEsIDk0LCAxLCAyNTIsIDI5LCAyLCAyNDgsIDIwNywgOTQsIDEsIDI0MiwgMjAyLCAyLCAKLSAgICAyNDgsIDIwNywgOTQsIDEsIDI0OCwgMTkwLCAyLCAyNDgsIDIwNywgOTQsIDEsIDI0MSwgMjM5LCAyLCAyMzEsIDE3MSwgOTQsIAotICAgIDEsIDIxNCwgNCwgMiwgMjQ4LCAyMDcsIDk0LCAxLCAyMTAsIDk4LCAyLCAyNDgsIDIwNywgOTQsIDEsIDIxNiwgMjMxLCAyLCAKLSAgICAyNDgsIDIwNywgOTQsIDEsIDIxMCwgMjM0LCAyLCAyNDgsIDIwNywgOTQsIDEsIDQwLCAyMzQsIDI1MSwgMiwgMjQ4LCAyMDcsIAotICAgIDk0LCAxLCAyMzQsIDI1MSwgMiwgMjQ4LCAyMDcsIDk0LCAxLCAyMzMsIDk1LCAyLCAyNDgsIDIwNywgOTQsIDEsIDIzMSwgCi0gICAgNjYsIDIsIDI0OCwgMjA3LCA5NCwgMSwgMjI3LCAxOTUsIDIsIDI0OCwgMjA3LCA5NCwgMSwgMjIxLCAyNTAsIDIsIDI0OCwgCi0gICAgMjA3LCA5NCwgMSwgNDAsIDIyNSwgMjIyLCAyLCAyNDgsIDIwNywgOTQsIDEsIDIyNSwgMjIyLCAyLCAyNDgsIDIwNywgOTQsIAotICAgIDEsIDIxNSwgMTgwLCAyLCAyNDgsIDIwNywgOTQsIDEsIDIyNCwgNDAsIDIsIDI0OCwgMjA3LCA5NCwgMSwgMjIzLCA2OCwgMiwgCi0gICAgMjQ4LCAyMDcsIDk0LCAxLCAyMjAsIDIxLCAyLCAyNDgsIDIwNywgOTQsIDEsIDIxNywgMzksIDIsIDI0OCwgMjA3LCA5NCwgCi0gICAgMSwgMjE0LCA0LCAyLCAyNDEsIDYxLCA5NCwgMSwgMjUyLCAyOSwgMiwgMjIzLCAxNjksIDk0LCAxLCAyMzQsIDI1MSwgMiwgCi0gICAgMjIzLCAxNjksIDk0LCAxLCAyMjUsIDIyMiwgMiwgMjIzLCAxNjksIDk0LCAyNywgMTEyLCAyMzMsIDk0LCAxMCwgMSwgMTEyLCAKLSAgICAyMTIsIDQ3LCA1MywgMTcsIDEwLCAxLCAxMTIsIDIxMiwgNDcsIDQwLCAxNywgMTAsIDEsIDI1MiwgNjUsIDUzLCAxNywgMTAsIAotICAgIDEsIDI1MiwgNjUsIDQwLCAxNywgMTAsIDEsIDI1MiwgNjUsIDY1LCAxNywgMTAsIDEsIDI1MiwgNjUsIDE0NywgMTcsIDEwLCAKLSAgICAxLCAyMjUsIDIwNiwgNTMsIDE3LCAxMCwgMSwgMjI1LCAyMDYsIDQwLCAxNywgMTAsIDEsIDIyNSwgMjA2LCA2NSwgMTcsIAotICAgIDEwLCAxLCAyMjUsIDIwNiwgMTQ3LCAxNywgMTAsIDEsIDI1MiwgNTMsIDUzLCAxNywgMTAsIDEsIDI1MiwgNTMsIDQwLCAxNywgCi0gICAgMTAsIDEsIDI1MiwgNTMsIDY1LCAxNywgMTAsIDEsIDI1MiwgNTMsIDE0NywgMTcsIDEwLCAxLCAyMTUsIDE0NywgNTMsIDE3LCAKLSAgICAxMCwgMSwgMjE1LCAxNDcsIDQwLCAxNywgMTAsIDEsIDIxNSwgMTQ3LCA2NSwgMTcsIDEwLCAxLCAyMTUsIDE0NywgMTQ3LCAKLSAgICAxNywgMTAsIDEsIDIxNywgNiwgNTMsIDE3LCAxMCwgMSwgMjE3LCA2LCA0MCwgMTcsIDEwLCAxLCAyMTcsIDYsIDY1LCAxNywgCi0gICAgMTAsIDEsIDIxNywgNiwgMTQ3LCAxNywgMTAsIDEsIDIxNSwgMTQ5LCA1MywgMTcsIDEwLCAxLCAyMTUsIDE0OSwgNDAsIDE3LCAKLSAgICAxMCwgMSwgMjE1LCAxNDksIDY1LCAxNywgMTAsIDEsIDIxNSwgMTQ5LCAxNDcsIDE3LCAxMCwgMSwgMjEzLCAyNDksIDUzLCAKKyAgICAxNDMsIDIxMCwgMjA2LCAyNCwgMTQzLCAyNDUsIDU1LCAyNCwgMTQzLCAyNDUsIDUzLCAyNCwgMTQzLCAyNDUsIDU0LCAyNCwgCisgICAgMTQzLCAyNDUsIDUxLCAyNCwgMTQzLCAyNDAsIDE0NSwgMjQsIDE0MywgMjQwLCAxNDQsIDI0LCAxNDMsIDI0MCwgMTQyLCAKKyAgICAyNCwgMTQzLCAyNDAsIDE0MywgMjQsIDE0MywgMjQwLCAxNDgsIDI0LCAxNDMsIDI0MCwgMTQxLCAyNCwgMTQzLCAyNDAsIAorICAgIDE0MCwgMjQsIDE0MywgMjQwLCAxNTAsIDI0LCAxNDMsIDI1NCwgMzQsIDI0LCAxNDMsIDI1NCwgMzMsIDI0LCA5MCwgMjI4LCAKKyAgICAyMjAsIDI0LCA5MCwgMjI4LCAyMjYsIDI0LCA5MCwgMjE4LCAyMDUsIDI0LCA5MCwgMjE4LCAyMDQsIDI0LCA5MCwgMjE2LCAKKyAgICA5NywgMjQsIDkwLCAyMTYsIDk1LCAyNCwgOTAsIDIxNiwgOTQsIDI0LCA5MCwgMjE2LCAxMDAsIDI0LCA5MCwgMjE2LCAxMDEsIAorICAgIDI0LCA5MCwgMjE2LCA5MywgMjQsIDkwLCAyMjMsIDYsIDI0LCA5MCwgMjIzLCAyMSwgMjQsIDkwLCAyMTgsIDIxMSwgMjQsIAorICAgIDkwLCAyMjMsIDE4LCAyNCwgOTAsIDIyMywgOCwgMjQsIDkwLCAyMjMsIDEwLCAyNCwgOTAsIDIyMiwgMjUzLCAyNCwgOTAsIAorICAgIDIyMiwgMjU0LCAyNCwgOTAsIDIzNCwgMjE5LCAyNCwgOTAsIDIzMCwgMjEzLCAyNCwgOTAsIDIzMCwgMjA3LCAyNCwgOTAsIAorICAgIDIxOCwgMjE1LCAyNCwgOTAsIDIzMCwgMjEwLCAyNCwgOTAsIDIzMCwgMjE2LCAyNCwgOTAsIDIyNSwgNzcsIDI0LCA5MCwgCisgICAgMjI1LCA4NiwgMjQsIDkwLCAyMjUsIDkwLCAyNCwgOTAsIDIxOCwgMjEzLCAyNCwgOTAsIDIyNSwgODAsIDI0LCA5MCwgMjI1LCAKKyAgICA5NCwgMjQsIDkwLCAyMjUsIDk1LCAyNCwgOTAsIDIxOSwgMTQxLCAyNCwgOTAsIDIxOSwgMTQ0LCAyNCwgOTAsIDIxOCwgCisgICAgMjA5LCAyNCwgOTAsIDIxOCwgMjA3LCAyNCwgOTAsIDIxOSwgMTM5LCAyNCwgOTAsIDIxOSwgMTQ3LCAyNCwgOTAsIDIxOSwgCisgICAgMTQ4LCAyNCwgOTAsIDIxOSwgMTMzLCAyNCwgOTAsIDIxOSwgMTQ2LCAyNCwgOTAsIDIyNiwgMzEsIDI0LCA5MCwgMjI2LCAKKyAgICAzMiwgMjQsIDkwLCAyMTEsIDI0LCAyNCwgOTAsIDIxMSwgMjUsIDI0LCA5MCwgMjUwLCA0NSwgMjQsIDkwLCAyNTAsIDQ0LCAKKyAgICAyNCwgOTAsIDIxOCwgMjIwLCAyNCwgOTAsIDIyNSwgMTI5LCAyNCwgOTAsIDIyNSwgMTI4LCA5LCAxNCwgMjM4LCAyNSwgOSwgCisgICAgMTQsIDIzOCwgMjQsIDksIDE0LCAyMzgsIDIzLCA5LCAxNCwgMjM4LCAyMiwgOSwgMTQsIDIzOCwgMjEsIDksIDE0LCAyMzgsIAorICAgIDIwLCA5LCAxNCwgMjM4LCAxOSwgOSwgMTQsIDIzOCwgMTgsIDksIDE0LCAyMzgsIDE3LCA5LCAxNCwgMjM4LCAxNiwgOSwgCisgICAgMTQsIDIzOCwgMTUsIDksIDE0LCAyMzgsIDE0LCA5LCAxNCwgMjM4LCAxMywgOSwgMTQsIDIzOCwgMTIsIDksIDE0LCAyMzgsIAorICAgIDExLCA5LCAxNCwgMjM4LCAxMCwgOSwgMTQsIDIzOCwgOSwgOSwgMTQsIDIzOCwgOCwgOSwgMTQsIDIzOCwgNywgOSwgMTQsIAorICAgIDIzOCwgNiwgOSwgMTQsIDIzOCwgNSwgOSwgMTQsIDIzOCwgNCwgOSwgMTQsIDIzOCwgMywgOSwgMTQsIDIzOCwgMiwgOSwgCisgICAgMTQsIDIzOCwgMSwgOSwgMTQsIDIzOCwgMCwgOSwgMTQsIDIzNywgMjU1LCA5LCAxNCwgMjM3LCAyNTQsIDksIDE0LCAyMzcsIAorICAgIDI1MywgOSwgMTQsIDIzNywgMjUyLCA5LCAxNCwgMjM3LCAyNTEsIDksIDE0LCAyMzcsIDI1MCwgOSwgMTQsIDIzNywgMjQ5LCAKKyAgICA5LCAxNCwgMjM3LCAyNDgsIDksIDE0LCAyMzcsIDI0NywgOSwgMTQsIDIzNywgMjQ2LCA5LCAxNCwgMjM3LCAyNDUsIDksIAorICAgIDE0LCAyMzcsIDI0NCwgOSwgMTQsIDIzNywgMjQzLCA5LCAxNCwgMjM3LCAyNDIsIDksIDE0LCAyMzcsIDI0MSwgOSwgMTQsIAorICAgIDIzNywgMjQwLCA5LCAxNCwgMjM3LCAyMzksIDksIDE0LCAyMzcsIDIzOCwgOSwgMTQsIDIzNywgMjM3LCA5LCAxNCwgMjM3LCAKKyAgICAyMzYsIDksIDE0LCAyMzcsIDIzNSwgOSwgMTQsIDIzNywgMjM0LCA5LCAxNCwgMjM3LCAyMzMsIDksIDE0LCAyMzcsIDIzMiwgCisgICAgOSwgMTQsIDIzNywgMjMxLCA5LCAxNCwgMjM3LCAyMzAsIDksIDE0LCAyMzcsIDIyOSwgOSwgMTQsIDIzNywgMjI4LCA5LCAKKyAgICAxNCwgMjM3LCAyMjcsIDksIDE0LCAyMzcsIDIyNiwgOSwgMTQsIDIzNywgMjI1LCA5LCAxNCwgMjM3LCAyMjQsIDksIDE0LCAKKyAgICAyMzcsIDIyMywgOSwgMTQsIDIzNywgMjIyLCA5LCAxNCwgMjM3LCAyMjEsIDksIDE0LCAyMzcsIDIyMCwgOSwgMTQsIDIzNywgCisgICAgMjE5LCA5LCAxNCwgMjM3LCAyMTgsIDksIDE0LCAyMzcsIDIxNywgOSwgMTQsIDIzNywgMjE2LCA5LCAxNCwgMjM3LCAyMTUsIAorICAgIDksIDE0LCAyMzcsIDIxNCwgOSwgMTQsIDIzNywgMjEzLCA5LCAxNCwgMjM3LCAyMTIsIDksIDE0LCAyMzcsIDIxMSwgOSwgCisgICAgMTQsIDIzNywgMjEwLCA5LCAxNCwgMjM3LCAyMDksIDksIDE0LCAyMzcsIDIwOCwgOSwgMTQsIDIzNywgMjA3LCA5LCAxNCwgCisgICAgMjM3LCAyMDYsIDksIDE0LCAyMzcsIDIwNSwgOSwgMTQsIDIzNywgMjA0LCA5LCAxNCwgMjM3LCAyMDMsIDksIDE0LCAyMzcsIAorICAgIDIwMiwgOSwgMTQsIDIzNywgMjAxLCA5LCAxNCwgMjM3LCAyMDAsIDksIDE0LCAyMzcsIDE5OSwgOSwgMTQsIDIzNywgMTk4LCAKKyAgICA5LCAxNCwgMjM3LCAxOTcsIDksIDE0LCAyMzcsIDE5NiwgOSwgMTQsIDIzNywgMTk1LCA5LCAxNCwgMjM3LCAxOTQsIDksIAorICAgIDE0LCAyMzcsIDE5MywgOSwgMTQsIDIzNywgMTkyLCA5LCAxNCwgMjM3LCAxOTEsIDksIDE0LCAyMzcsIDE5MCwgOSwgMTQsIAorICAgIDIzNywgMTg5LCA5LCAxNCwgMjM3LCAxODgsIDksIDE0LCAyMzcsIDE4NywgOSwgMTQsIDIzNywgMTg2LCA5LCAxNCwgMjM3LCAKKyAgICAxODUsIDksIDE0LCAyMzcsIDE4NCwgOSwgMTQsIDIzNywgMTgzLCA5LCAxNCwgMjM3LCAxODIsIDksIDE0LCAyMzcsIDE4MSwgCisgICAgOSwgMTQsIDIzNywgMTgwLCA5LCAxNCwgMjM3LCAxNzksIDksIDE0LCAyMzcsIDE3OCwgOSwgMTQsIDIzNywgMTc3LCA5LCAKKyAgICAxNCwgMjM3LCAxNzYsIDksIDE0LCAyMzcsIDE3NSwgOSwgMTQsIDIzNywgMTc0LCA5LCAxNCwgMjM3LCAxNzMsIDksIDE0LCAKKyAgICAyMzcsIDE3MiwgOSwgMTQsIDIzNywgMTcxLCA5LCAxNCwgMjM3LCAxNzAsIDksIDE0LCAyMzcsIDE2OSwgOSwgMTQsIDIzNywgCisgICAgMTY4LCA5LCAxNCwgMjM3LCAxNjcsIDksIDE0LCAyMzcsIDE2NiwgOSwgMTQsIDIzNywgMTY1LCA5LCAxNCwgMjM3LCAxNjQsIAorICAgIDksIDE0LCAyMzcsIDE2MywgOSwgMTQsIDIzNywgMTYyLCA5LCAxNCwgMjM3LCAxNjEsIDksIDE0LCAyMzcsIDE2MCwgOSwgCisgICAgMTQsIDIzNywgMTU5LCA5LCAxNCwgMjM3LCAxNTgsIDksIDE0LCAyMzcsIDE1NywgOSwgMTQsIDIzNywgMTU2LCA5LCAxNCwgCisgICAgMjM3LCAxNTUsIDksIDE0LCAyMzcsIDE1NCwgOSwgMTQsIDIzNywgMTUzLCA5LCAxNCwgMjM3LCAxNTIsIDksIDE0LCAyMzcsIAorICAgIDE1MSwgOSwgMTQsIDIzNywgMTUwLCA5LCAxNCwgMjM3LCAxNDksIDksIDE0LCAyMzcsIDE0OCwgOSwgMTQsIDIzNywgMTQ3LCAKKyAgICA5LCAxNCwgMjM3LCAxNDYsIDksIDE0LCAyMzcsIDE0NSwgOSwgMTQsIDIzNywgMTQ0LCA5LCAxNCwgMjM3LCAxNDMsIDksIAorICAgIDE0LCAyMzcsIDE0MiwgOSwgMTQsIDIzNywgMTQxLCA5LCAxNCwgMjM3LCAxNDAsIDksIDE0LCAyMzcsIDEzOSwgOSwgMTQsIAorICAgIDIzNywgMTM4LCA5LCAxNCwgMjM3LCAxMzcsIDksIDE0LCAyMzcsIDEzNiwgOSwgMTQsIDIzNywgMTM1LCA5LCAxNCwgMjM3LCAKKyAgICAxMzQsIDksIDE0LCAyMzcsIDEzMywgOSwgMTQsIDIzNywgMTMyLCA5LCAxNCwgMjM3LCAxMzEsIDksIDE0LCAyMzcsIDEzMCwgCisgICAgOSwgMTQsIDIzNywgMTI5LCA5LCAxNCwgMjM3LCAxMjgsIDksIDE0LCAyMzcsIDEyNywgOSwgMTQsIDIzNywgMTI2LCA5LCAKKyAgICAxNCwgMjM3LCAxMjUsIDksIDE0LCAyMzcsIDEyNCwgOSwgMTQsIDIzNywgMTIzLCA5LCAxNCwgMjM3LCAxMjIsIDksIDE0LCAKKyAgICAyMzcsIDEyMSwgOSwgMTQsIDIzNywgMTIwLCA5LCAxNCwgMjM3LCAxMTksIDksIDE0LCAyMzcsIDExOCwgOSwgMTQsIDIzNywgCisgICAgMTE3LCA5LCAxNCwgMjM3LCAxMTYsIDksIDE0LCAyMzcsIDExNSwgOSwgMTQsIDIzNywgMTE0LCA5LCAxNCwgMjM3LCAxMTMsIAorICAgIDksIDE0LCAyMzcsIDExMiwgOSwgMTQsIDIzNywgMTExLCA5LCAxNCwgMjM3LCAxMTAsIDksIDE0LCAyMzcsIDEwOSwgOSwgCisgICAgMTQsIDIzNywgMTA4LCA5LCAxNCwgMjM3LCAxMDcsIDksIDE0LCAyMzcsIDEwNiwgOSwgMTQsIDIzNywgMTA1LCA5LCAxNCwgCisgICAgMjM3LCAxMDQsIDksIDE0LCAyMzcsIDEwMywgOSwgMTQsIDIzNywgMTAyLCA5LCAxNCwgMjM3LCAxMDEsIDksIDE0LCAyMzcsIAorICAgIDEwMCwgOSwgMTQsIDIzNywgOTksIDksIDE0LCAyMzcsIDk4LCA5LCAxNCwgMjM3LCA5NywgOSwgMTQsIDIzNywgOTYsIDksIAorICAgIDE0LCAyMzcsIDk1LCA5LCAxNCwgMjM3LCA5NCwgOSwgMTQsIDIzNywgOTMsIDksIDE0LCAyMzcsIDkyLCA5LCAxNCwgMjM3LCAKKyAgICA5MSwgOSwgMTQsIDIzNywgOTAsIDksIDE0LCAyMzcsIDg5LCA5LCAxNCwgMjM3LCA4OCwgOSwgMTQsIDIzNywgODcsIDksIAorICAgIDE0LCAyMzcsIDg2LCA5LCAxNCwgMjM3LCA4NSwgOSwgMTQsIDIzNywgODQsIDksIDE0LCAyMzcsIDgzLCA5LCAxNCwgMjM3LCAKKyAgICA4MiwgOSwgMTQsIDIzNywgODEsIDksIDE0LCAyMzcsIDgwLCA5LCAxNCwgMjM3LCA3OSwgOSwgMTQsIDIzNywgNzgsIDksIAorICAgIDE0LCAyMzcsIDc3LCA5LCAxNCwgMjM3LCA3NiwgOSwgMTQsIDIzNywgNzUsIDksIDE0LCAyMzcsIDc0LCA5LCAxNCwgMjM3LCAKKyAgICA3MywgOSwgMTQsIDIzNywgNzIsIDksIDE0LCAyMzcsIDcxLCA5LCAxNCwgMjM3LCA3MCwgOSwgMTQsIDIzNywgNjksIDksIAorICAgIDE0LCAyMzcsIDY4LCA5LCAxNCwgMjM3LCA2NywgOSwgMTQsIDIzNywgNjYsIDksIDE0LCAyMzcsIDY1LCA5LCAxNCwgMjM3LCAKKyAgICA2NCwgOSwgMTQsIDIzNywgNjMsIDksIDE0LCAyMzcsIDYyLCA5LCAxNCwgMjM3LCA2MSwgOSwgMTQsIDIzNywgNjAsIDksIAorICAgIDE0LCAyMzcsIDU5LCA5LCAxNCwgMjM3LCA1OCwgOSwgMTQsIDIzNywgNTcsIDksIDE0LCAyMzcsIDU2LCA5LCAxNCwgMjM3LCAKKyAgICA1NSwgOSwgMTQsIDIzNywgNTQsIDksIDE0LCAyMzcsIDUzLCA5LCAxNCwgMjM3LCA1MiwgOSwgMTQsIDIzNywgNTEsIDksIAorICAgIDE0LCAyMzcsIDUwLCA5LCAxNCwgMjM3LCA0OSwgOSwgMTQsIDIzNywgNDgsIDksIDE0LCAyMzcsIDQ3LCA5LCAxNCwgMjM3LCAKKyAgICA0NiwgOSwgMTQsIDIzNywgNDUsIDksIDE0LCAyMzcsIDQ0LCA5LCAxNCwgMjM3LCA0MywgOSwgMTQsIDIzNywgNDIsIDksIAorICAgIDE0LCAyMzcsIDQxLCA5LCAxNCwgMjM3LCA0MCwgOSwgMTQsIDIzNywgMzksIDksIDE0LCAyMzcsIDM4LCA5LCAxNCwgMjM3LCAKKyAgICAzNywgOSwgMTQsIDIzNywgMzYsIDksIDE0LCAyMzcsIDM1LCA5LCAxNCwgMjM3LCAzNCwgOSwgMTQsIDIzNywgMzMsIDksIAorICAgIDE0LCAyMzcsIDMyLCA5LCAxNCwgMjM3LCAzMSwgOSwgMTQsIDIzNywgMzAsIDksIDE0LCAyMzcsIDI5LCA5LCAxNCwgMjM3LCAKKyAgICAyOCwgOSwgMTQsIDIzNywgMjcsIDksIDE0LCAyMzcsIDI2LCA5LCAxNCwgMjM3LCAyNSwgOSwgMTQsIDIzNywgMjQsIDksIAorICAgIDE0LCAyMzcsIDIzLCA5LCAxNCwgMjM3LCAyMiwgOSwgMTQsIDIzNywgMjEsIDksIDE0LCAyMzcsIDIwLCA5LCAxNCwgMjM3LCAKKyAgICAxOSwgOSwgMTQsIDIzNywgMTgsIDksIDE0LCAyMzcsIDE3LCA5LCAxNCwgMjM3LCAxNiwgOSwgMTQsIDIzNywgMTUsIDksIAorICAgIDE0LCAyMzcsIDE0LCA5LCAxNCwgMjM3LCAxMywgOSwgMTQsIDIzNywgMTIsIDksIDE0LCAyMzcsIDExLCA5LCAxNCwgMjM3LCAKKyAgICAxMCwgOSwgMTQsIDIzNywgOSwgOSwgMTQsIDIzNywgOCwgOSwgMTQsIDIzNywgNywgOSwgMTQsIDIzNywgNiwgOSwgMTQsIAorICAgIDIzNywgNSwgOSwgMTQsIDIzNywgNCwgOSwgMTQsIDIzNywgMywgOSwgMTQsIDIzNywgMiwgOSwgMTQsIDIzNywgMSwgOSwgCisgICAgMTQsIDIzNywgMCwgOSwgMTQsIDIzNiwgMjU1LCA5LCAxNCwgMjM2LCAyNTQsIDksIDE0LCAyMzYsIDI1MywgOSwgMTQsIAorICAgIDIzNiwgMjUyLCA5LCAxNCwgMjM2LCAyNTEsIDksIDE0LCAyMzYsIDI1MCwgOSwgMTQsIDIzNiwgMjQ5LCA5LCAxNCwgMjM2LCAKKyAgICAyNDgsIDksIDE0LCAyMzYsIDI0NywgOSwgMTQsIDIzNiwgMjQ2LCA5LCAxNCwgMjM2LCAyNDUsIDksIDE0LCAyMzYsIDI0NCwgCisgICAgOSwgMTQsIDIzNiwgMjQzLCA5LCAxNCwgMjM2LCAyNDIsIDksIDE0LCAyMzYsIDI0MSwgOSwgMTQsIDIzNiwgMjQwLCA5LCAKKyAgICAxNCwgMjM2LCAyMzksIDksIDE0LCAyMzYsIDIzOCwgOSwgMTQsIDIzNiwgMjM3LCA5LCAxNCwgMjM2LCAyMzYsIDksIDE0LCAKKyAgICAyMzYsIDIzNSwgOSwgMTQsIDIzNiwgMjM0LCA5LCAxNCwgMjM2LCAyMzMsIDksIDE0LCAyMzYsIDIzMiwgOSwgMTQsIDIzNiwgCisgICAgMjMxLCA5LCAxNCwgMjM2LCAyMzAsIDksIDE0LCAyMzYsIDIyOSwgOSwgMTQsIDIzNiwgMjI4LCA5LCAxNCwgMjM2LCAyMjcsIAorICAgIDksIDE0LCAyMzYsIDIyNiwgOSwgMTQsIDIzNiwgMjI1LCA5LCAxNCwgMjM2LCAyMjQsIDksIDE0LCAyMzYsIDIyMywgOSwgCisgICAgMTQsIDIzNiwgMjIyLCA5LCAxNCwgMjM2LCAyMjEsIDksIDE0LCAyMzYsIDIyMCwgOSwgMTQsIDIzNiwgMjE5LCA5LCAxNCwgCisgICAgMjM2LCAyMTgsIDksIDE0LCAyMzYsIDIxNywgOSwgMTQsIDIzNiwgMjE2LCA5LCAxNCwgMjM2LCAyMTUsIDksIDE0LCAyMzYsIAorICAgIDIxNCwgOSwgMTQsIDIzNiwgMjEzLCA5LCAxNCwgMjM2LCAyMTIsIDksIDE0LCAyMzYsIDIxMSwgOSwgMTQsIDIzNiwgMjEwLCAKKyAgICA5LCAxNCwgMjM2LCAyMDksIDksIDE0LCAyMzYsIDIwOCwgOSwgMTQsIDIzNiwgMjA3LCA5LCAxNCwgMjM2LCAyMDYsIDksIAorICAgIDE0LCAyMzYsIDIwNSwgOSwgMTQsIDIzNiwgMjA0LCA5LCAxNCwgMjM2LCAyMDMsIDksIDE0LCAyMzYsIDIwMiwgOSwgMTQsIAorICAgIDIzNiwgMjAxLCA5LCAxNCwgMjM2LCAyMDAsIDksIDE0LCAyMzYsIDE5OSwgOSwgMTQsIDIzNiwgMTk4LCA5LCAxNCwgMjM2LCAKKyAgICAxOTcsIDksIDE0LCAyMzYsIDE5NiwgOSwgMTQsIDIzNiwgMTk1LCA5LCAxNCwgMjM2LCAxOTQsIDksIDE0LCAyMzYsIDE5MywgCisgICAgOSwgMTQsIDIzNiwgMTkyLCA5LCAxNCwgMjM2LCAxOTEsIDksIDE0LCAyMzYsIDE5MCwgOSwgMTQsIDIzNiwgMTg5LCA5LCAKKyAgICAxNCwgMjM2LCAxODgsIDksIDE0LCAyMzYsIDE4NywgOSwgMTQsIDIzNiwgMTg2LCA5LCAxNCwgMjM2LCAxODUsIDksIDE0LCAKKyAgICAyMzYsIDE4NCwgOSwgMTQsIDIzNiwgMTgzLCA5LCAxNCwgMjM2LCAxODIsIDksIDE0LCAyMzYsIDE4MSwgOSwgMTQsIDIzNiwgCisgICAgMTgwLCA5LCAxNCwgMjM2LCAxNzksIDksIDE0LCAyMzYsIDE3OCwgOSwgMTQsIDIzNiwgMTc3LCA5LCAxNCwgMjM2LCAxNzYsIAorICAgIDksIDE0LCAyMzYsIDE3NSwgOSwgMTQsIDIzNiwgMTc0LCA5LCAxNCwgMjM2LCAxNzMsIDksIDE0LCAyMzYsIDE3MiwgOSwgCisgICAgMTQsIDIzNiwgMTcxLCA5LCAxNCwgMjM2LCAxNzAsIDksIDE0LCAyMzYsIDE2OSwgOSwgMTQsIDIzNiwgMTY4LCA5LCAxNCwgCisgICAgMjM2LCAxNjcsIDksIDE0LCAyMzYsIDE2NiwgOSwgMTQsIDIzNiwgMTY1LCA5LCAxNCwgMjM2LCAxNjQsIDksIDE0LCAyMzYsIAorICAgIDE2MywgOSwgMTQsIDIzNiwgMTYyLCA5LCAxNCwgMjM2LCAxNjEsIDksIDE0LCAyMzYsIDE2MCwgOSwgMTQsIDIzNiwgMTU5LCAKKyAgICA5LCAxNCwgMjM2LCAxNTgsIDksIDE0LCAyMzYsIDE1NywgOSwgMTQsIDIzNiwgMTU2LCA5LCAxNCwgMjM2LCAxNTUsIDksIAorICAgIDE0LCAyMzYsIDE1NCwgOSwgMTQsIDIzNiwgMTUzLCA5LCAxNCwgMjM2LCAxNTIsIDksIDE0LCAyMzYsIDE1MSwgOSwgMTQsIAorICAgIDIzNiwgMTUwLCA5LCAxNCwgMjM2LCAxNDksIDksIDE0LCAyMzYsIDE0OCwgOSwgMTQsIDIzNiwgMTQ3LCA5LCAxNCwgMjM2LCAKKyAgICAxNDYsIDksIDE0LCAyMzYsIDE0NSwgOSwgMTQsIDIzNiwgMTQ0LCA5LCAxNCwgMjM2LCAxNDMsIDksIDE0LCAyMzYsIDE0MiwgCisgICAgOSwgMTQsIDIzNiwgMTQxLCA5LCAxNCwgMjM2LCAxNDAsIDksIDE0LCAyMzYsIDEzOSwgOSwgMTQsIDIzNiwgMTM4LCA5LCAKKyAgICAxNCwgMjM2LCAxMzcsIDksIDE0LCAyMzYsIDEzNiwgOSwgMTQsIDIzNiwgMTM1LCA5LCAxNCwgMjM2LCAxMzQsIDksIDE0LCAKKyAgICAyMzYsIDEzMywgOSwgMTQsIDIzNiwgMTMyLCA5LCAxNCwgMjM2LCAxMzEsIDksIDE0LCAyMzYsIDEzMCwgOSwgMTQsIDIzNiwgCisgICAgMTI5LCA5LCAxNCwgMjM2LCAxMjgsIDksIDE0LCAyMzYsIDEyNywgOSwgMTQsIDIzNiwgMTI2LCA5LCAxNCwgMjM2LCAxMjUsIAorICAgIDksIDE0LCAyMzYsIDEyNCwgOSwgMTQsIDIzNiwgMTIzLCA5LCAxNCwgMjM2LCAxMjIsIDksIDE0LCAyMzYsIDEyMSwgOSwgCisgICAgMTQsIDIzNiwgMTIwLCA5LCAxNCwgMjM2LCAxMTksIDksIDE0LCAyMzYsIDExOCwgOSwgMTQsIDIzNiwgMTE3LCA5LCAxNCwgCisgICAgMjM2LCAxMTYsIDksIDE0LCAyMzYsIDExNSwgOSwgMTQsIDIzNiwgMTE0LCA5LCAxNCwgMjM2LCAxMTMsIDksIDE0LCAyMzYsIAorICAgIDExMiwgOSwgMTQsIDIzNiwgMTExLCA5LCAxNCwgMjM2LCAxMTAsIDksIDE0LCAyMzYsIDEwOSwgOSwgMTQsIDIzNiwgMTA4LCAKKyAgICA5LCAxNCwgMjM2LCAxMDcsIDksIDE0LCAyMzYsIDEwNiwgOSwgMTQsIDIzNiwgMTA1LCA5LCAxNCwgMjM2LCAxMDQsIDksIAorICAgIDE0LCAyMzYsIDEwMywgOSwgMTQsIDIzNiwgMTAyLCA5LCAxNCwgMjM2LCAxMDEsIDksIDE0LCAyMzYsIDEwMCwgOSwgMTQsIAorICAgIDIzNiwgOTksIDksIDE0LCAyMzYsIDk4LCA5LCAxNCwgMjM2LCA5NywgOSwgMTQsIDIzNiwgOTYsIDksIDE0LCAyMzYsIDk1LCAKKyAgICA5LCAxNCwgMjM2LCA5NCwgOSwgMTQsIDIzNiwgOTMsIDksIDE0LCAyMzYsIDkyLCA5LCAxNCwgMjM2LCA5MSwgOSwgMTQsIAorICAgIDIzNiwgOTAsIDksIDE0LCAyMzYsIDg5LCA5LCAxNCwgMjM2LCA4OCwgOSwgMTQsIDIzNiwgODcsIDksIDE0LCAyMzYsIDg2LCAKKyAgICA5LCAxNCwgMjM2LCA4NSwgOSwgMTQsIDIzNiwgODQsIDksIDE0LCAyMzYsIDgzLCA5LCAxNCwgMjM2LCA4MiwgOSwgMTQsIAorICAgIDIzNiwgODEsIDksIDE0LCAyMzYsIDgwLCA5LCAxNCwgMjM2LCA3OSwgOSwgMTQsIDIzNiwgNzgsIDksIDE0LCAyMzYsIDc3LCAKKyAgICA5LCAxNCwgMjM2LCA3NiwgOSwgMTQsIDIzNiwgNzUsIDksIDE0LCAyMzYsIDc0LCA5LCAxNCwgMjM2LCA3MywgOSwgMTQsIAorICAgIDIzNiwgNzIsIDksIDE0LCAyMzYsIDcxLCA5LCAxNCwgMjM2LCA3MCwgOSwgMTQsIDIzNiwgNjksIDksIDE0LCAyMzYsIDY4LCAKKyAgICA5LCAxNCwgMjM2LCA2NywgOSwgMTQsIDIzNiwgNjYsIDcsIDQsIDI3LCAyNDQsIDEyNiwgNywgNCwgMjcsIDI0NCwgMTIyLCAKKyAgICA3LCA0LCAyNywgMjQ0LCA3NywgNywgNCwgMjcsIDI0NCwgMTI1LCA3LCA0LCAyNywgMjQ0LCAxMjQsIDcsIDQsIDI3LCAxOTksIAorICAgIDIyMiwgOTMsIDIxNywgMTUzLCA3LCA0LCAyNywgMjE4LCAxNjksIDE1MCwgNCwgMjcsIDIzMSwgNjAsIDIyOCwgNDAsIDE1MCwgCisgICAgNCwgMjcsIDIzMSwgNjAsIDI0NSwgMjE0LCAxNTAsIDQsIDI3LCAyMzEsIDYwLCAyMzUsIDIyOCwgMTUwLCA0LCAyNywgMjEzLCAKKyAgICAxODAsIDIyOCwgNDAsIDE1MCwgNCwgMjcsIDIzMSwgNjAsIDIxMSwgMTYwLCA5NCwgMSwgMjEwLCAyMzQsIDIsIDI0MSwgCisgICAgMTU5LCA5NCwgMjI1LCAxMiwgMjM1LCA1MSwgMjE0LCAxMSwgOTQsIDI3LCAyMTEsIDYsIDIxMCwgMjM0LCAyMTAsIDIzNCwgCisgICAgMjI1LCAyNDAsIDk0LCAxLCAyNTQsIDE0MCwgMjUzLCAxNjMsIDk0LCAxLCAyMTEsIDI0NywgMjU0LCAxNzEsIDk0LCAxLCAKKyAgICAyMTEsIDI0NywgMjQ4LCAxOTAsIDk0LCAxLCAyMTEsIDI0NywgMjQxLCAyMzksIDk0LCAxLCAyMTEsIDI0NywgMjM0LCAyNTEsIAorICAgIDk0LCAxLCAyMTEsIDI0NywgMjMzLCA5NSwgOTQsIDEsIDIxMSwgMjQ3LCA0MCwgMjMxLCA2NiwgOTQsIDEsIDIxMSwgMjQ3LCAKKyAgICAyMjMsIDY4LCA5NCwgMSwgMjExLCAyNDcsIDIxNywgMzksIDk0LCAxLCAyNTQsIDE0MCwgOTYsIDUwLCA5NCwgMSwgMjIwLCAKKyAgICAyMiwgMiwgMjIwLCAyMiwgMjQ3LCAxMjEsIDk0LCAxLCAyMjAsIDIyLCAyLCAyMTksIDE2MCwgMjQ3LCAxMjEsIDk0LCAxLCAKKyAgICAyMjAsIDIyLCAyLCAyNDgsIDIwOSwgMjIsIDIyMCwgMjIsIDI0NywgMTIxLCA5NCwgMSwgMjIwLCAyMiwgMiwgMjQ4LCAyMDksIAorICAgIDIyLCAyMTksIDE2MCwgMjQ3LCAxMjEsIDk0LCAxLCAxMTIsIDIsIDIyNSwgMjQwLCA5NCwgMSwgMTEyLCAyLCAyMjQsIDc3LCAKKyAgICA5NCwgMSwgMTEyLCAyLCAyMzEsIDE3MiwgOTQsIDEsIDI1MiwgMzAsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjQyLCAyMDMsIDIsIAorICAgIDI0OCwgMjA4LCA5NCwgMSwgMjQ4LCAxOTEsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjQxLCAyNDAsIDIsIDIzMSwgMTcyLCA5NCwgCisgICAgMSwgMjE0LCA0LCAyLCAyNDgsIDIwOCwgOTQsIDEsIDIxMCwgOTgsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjE2LCAyMzIsIDIsIAorICAgIDI0OCwgMjA4LCA5NCwgMSwgMjEwLCAyMzQsIDIsIDI0OCwgMjA4LCA5NCwgMSwgNDAsIDIzNCwgMjUyLCAyLCAyNDgsIDIwOCwgCisgICAgOTQsIDEsIDIzNCwgMjUyLCAyLCAyNDgsIDIwOCwgOTQsIDEsIDIzMywgOTYsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjMxLCAKKyAgICA2NywgMiwgMjQ4LCAyMDgsIDk0LCAxLCAyMjcsIDE5NiwgMiwgMjQ4LCAyMDgsIDk0LCAxLCAyMjEsIDI1MSwgMiwgMjQ4LCAKKyAgICAyMDgsIDk0LCAxLCA0MCwgMjI1LCAyMjMsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjI1LCAyMjMsIDIsIDI0OCwgMjA4LCA5NCwgCisgICAgMSwgMjE1LCAxODEsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjI0LCA0MSwgMiwgMjQ4LCAyMDgsIDk0LCAxLCAyMjMsIDY5LCAyLCAKKyAgICAyNDgsIDIwOCwgOTQsIDEsIDIyMCwgMjIsIDIsIDI0OCwgMjA4LCA5NCwgMSwgMjE3LCA0MCwgMiwgMjQ4LCAyMDgsIDk0LCAKKyAgICAxLCAyMTQsIDQsIDIsIDI0MSwgNjIsIDk0LCAxLCAyNTIsIDMwLCAyLCAyMjMsIDE3MCwgOTQsIDEsIDIzNCwgMjUyLCAyLCAKKyAgICAyMjMsIDE3MCwgOTQsIDEsIDIyNSwgMjIzLCAyLCAyMjMsIDE3MCwgOTQsIDI3LCAxMTIsIDIzMywgOTUsIDEwLCAxLCAxMTIsIAorICAgIDIxMiwgNDcsIDUzLCAxNywgMTAsIDEsIDExMiwgMjEyLCA0NywgNDAsIDE3LCAxMCwgMSwgMjUyLCA2NiwgNTMsIDE3LCAxMCwgCisgICAgMSwgMjUyLCA2NiwgNDAsIDE3LCAxMCwgMSwgMjUyLCA2NiwgNjUsIDE3LCAxMCwgMSwgMjUyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDEsIDIyNSwgMjA3LCA1MywgMTcsIDEwLCAxLCAyMjUsIDIwNywgNDAsIDE3LCAxMCwgMSwgMjI1LCAyMDcsIDY1LCAxNywgCisgICAgMTAsIDEsIDIyNSwgMjA3LCAxNDcsIDE3LCAxMCwgMSwgMjUyLCA1NCwgNTMsIDE3LCAxMCwgMSwgMjUyLCA1NCwgNDAsIDE3LCAKKyAgICAxMCwgMSwgMjUyLCA1NCwgNjUsIDE3LCAxMCwgMSwgMjUyLCA1NCwgMTQ3LCAxNywgMTAsIDEsIDIxNSwgMTQ4LCA1MywgMTcsIAorICAgIDEwLCAxLCAyMTUsIDE0OCwgNDAsIDE3LCAxMCwgMSwgMjE1LCAxNDgsIDY1LCAxNywgMTAsIDEsIDIxNSwgMTQ4LCAxNDcsIAorICAgIDE3LCAxMCwgMSwgMjE3LCA3LCA1MywgMTcsIDEwLCAxLCAyMTcsIDcsIDQwLCAxNywgMTAsIDEsIDIxNywgNywgNjUsIDE3LCAKKyAgICAxMCwgMSwgMjE3LCA3LCAxNDcsIDE3LCAxMCwgMSwgMjE1LCAxNTAsIDUzLCAxNywgMTAsIDEsIDIxNSwgMTUwLCA0MCwgMTcsIAorICAgIDEwLCAxLCAyMTUsIDE1MCwgNjUsIDE3LCAxMCwgMSwgMjE1LCAxNTAsIDE0NywgMTcsIDEwLCAxLCAyMTMsIDI0OSwgNTMsIAogICAgIDE3LCAxMCwgMSwgMjEzLCAyNDksIDQwLCAxNywgMTAsIDEsIDIxMywgMjQ5LCA2NSwgMTcsIDEwLCAxLCAyMTMsIDI0OSwgCi0gICAgMTQ3LCAxNywgMTAsIDEsIDIyNSwgMjA0LCA1MywgMTcsIDEwLCAxLCAyMjUsIDIwNCwgNDAsIDE3LCAxMCwgMSwgMjI1LCAKLSAgICAyMDQsIDY1LCAxNywgMTAsIDEsIDIyNSwgMjA0LCAxNDcsIDE3LCAxMCwgMSwgMjQ2LCA0NCwgNTMsIDE3LCAxMCwgMSwgCi0gICAgMjQ2LCA0NCwgNDAsIDE3LCAxMCwgMSwgMjQ2LCA0NCwgNjUsIDE3LCAxMCwgMSwgMjQ2LCA0NCwgMTQ3LCAxNywgMTAsIDEsIAotICAgIDIyNywgMTU0LCA1MywgMTcsIDEwLCAxLCAyMjcsIDE1NCwgNDAsIDE3LCAxMCwgMSwgMjI3LCAxNTQsIDY1LCAxNywgMTAsIAotICAgIDEsIDIyNywgMTU0LCAxNDcsIDE3LCAxMCwgMSwgMjE3LCAyNywgNTMsIDE3LCAxMCwgMSwgMjE3LCAyNywgNDAsIDE3LCAxMCwgCi0gICAgMSwgMjE3LCAyNywgNjUsIDE3LCAxMCwgMSwgMjE3LCAyNywgMTQ3LCAxNywgMTAsIDEsIDIxNywgMjUsIDUzLCAxNywgMTAsIAotICAgIDEsIDIxNywgMjUsIDQwLCAxNywgMTAsIDEsIDIxNywgMjUsIDY1LCAxNywgMTAsIDEsIDIxNywgMjUsIDE0NywgMTcsIDEwLCAKLSAgICAxLCAyNDgsIDEzMywgNTMsIDE3LCAxMCwgMSwgMjQ4LCAxMzMsIDQwLCAxNywgMTAsIDEsIDI0OCwgMjAyLCA1MywgMTcsIAotICAgIDEwLCAxLCAyNDgsIDIwMiwgNDAsIDE3LCAxMCwgMSwgMjQ2LCA3MSwgNTMsIDE3LCAxMCwgMSwgMjQ2LCA3MSwgNDAsIDE3LCAKLSAgICAxMCwgMSwgMjQ4LCAxMzEsIDUzLCAxNywgMTAsIDEsIDI0OCwgMTMxLCA0MCwgMTcsIDEwLCAxLCAyMzUsIDEyMSwgNTMsIAotICAgIDE3LCAxMCwgMSwgMjM1LCAxMjEsIDQwLCAxNywgMTAsIDEsIDIyMiwgMTcyLCA1MywgMTcsIDEwLCAxLCAyMjIsIDE3MiwgCi0gICAgNDAsIDE3LCAxMCwgMSwgMjM0LCAxNzUsIDUzLCAxNywgMTAsIDEsIDIzNCwgMTc1LCA0MCwgMTcsIDEwLCAxLCAyMzQsIAotICAgIDE3NSwgNjUsIDE3LCAxMCwgMSwgMjM0LCAxNzUsIDE0NywgMTcsIDEwLCAxLCAyNDMsIDEyMywgNTMsIDE3LCAxMCwgMSwgCi0gICAgMjQzLCAxMjMsIDQwLCAxNywgMTAsIDEsIDI0MywgMTIzLCA2NSwgMTcsIDEwLCAxLCAyNDMsIDEyMywgMTQ3LCAxNywgMTAsIAotICAgIDEsIDI0MiwgMTAyLCA1MywgMTcsIDEwLCAxLCAyNDIsIDEwMiwgNDAsIDE3LCAxMCwgMSwgMjQyLCAxMDIsIDY1LCAxNywgCi0gICAgMTAsIDEsIDI0MiwgMTAyLCAxNDcsIDE3LCAxMCwgMSwgMjI5LCAzLCA1MywgMTcsIDEwLCAxLCAyMjksIDMsIDQwLCAxNywgCi0gICAgMTAsIDEsIDIyOSwgMywgNjUsIDE3LCAxMCwgMSwgMjI5LCAzLCAxNDcsIDE3LCAxMCwgMSwgMjI4LCA2MywgMjQyLCAyMTksIAotICAgIDUzLCAxNywgMTAsIDEsIDIyOCwgNjMsIDI0MiwgMjE5LCA0MCwgMTcsIDEwLCAxLCAyMjIsIDIxNSwgNTMsIDE3LCAxMCwgMSwgCi0gICAgMjIyLCAyMTUsIDQwLCAxNywgMTAsIDEsIDIyMiwgMjE1LCA2NSwgMTcsIDEwLCAxLCAyMjIsIDIxNSwgMTQ3LCAxNywgMTAsIAotICAgIDEsIDI0MSwgMjE5LCAyLCA3OSwgNzcsIDUzLCAxNywgMTAsIDEsIDI0MSwgMjE5LCAyLCA3OSwgNzcsIDQwLCAxNywgMTAsIAotICAgIDEsIDI0MSwgMjE5LCAyNDIsIDE3MiwgNTMsIDE3LCAxMCwgMSwgMjQxLCAyMTksIDI0MiwgMTcyLCA0MCwgMTcsIDEwLCAxLCAKLSAgICAyNDEsIDIxOSwgMjQyLCAxNzIsIDY1LCAxNywgMTAsIDEsIDI0MSwgMjE5LCAyNDIsIDE3MiwgMTQ3LCAxNywgMTAsIDEsIAotICAgIDI0MSwgMjE5LCAyNDcsIDE0MiwgNTMsIDE3LCAxMCwgMSwgMjQxLCAyMTksIDI0NywgMTQyLCA0MCwgMTcsIDEwLCAxLCAKLSAgICAyNDEsIDIxOSwgMjQ3LCAxNDIsIDY1LCAxNywgMTAsIDEsIDI0MSwgMjE5LCAyNDcsIDE0MiwgMTQ3LCAxNywgMTAsIDEsIAotICAgIDc5LCAyNTIsIDEzMywgNTMsIDE3LCAxMCwgMSwgNzksIDI1MiwgMTMzLCA0MCwgMTcsIDEwLCAxLCA3OSwgMjUyLCAxMzMsIAotICAgIDIsIDIwMiwgNzcsIDUzLCAxNywgMTAsIDEsIDc5LCAyNTIsIDEzMywgMiwgMjAyLCA3NywgNDAsIDE3LCAxMCwgMTYsIDU5LCAKKyAgICAxNDcsIDE3LCAxMCwgMSwgMjI1LCAyMDUsIDUzLCAxNywgMTAsIDEsIDIyNSwgMjA1LCA0MCwgMTcsIDEwLCAxLCAyMjUsIAorICAgIDIwNSwgNjUsIDE3LCAxMCwgMSwgMjI1LCAyMDUsIDE0NywgMTcsIDEwLCAxLCAyNDYsIDQ1LCA1MywgMTcsIDEwLCAxLCAKKyAgICAyNDYsIDQ1LCA0MCwgMTcsIDEwLCAxLCAyNDYsIDQ1LCA2NSwgMTcsIDEwLCAxLCAyNDYsIDQ1LCAxNDcsIDE3LCAxMCwgMSwgCisgICAgMjI3LCAxNTUsIDUzLCAxNywgMTAsIDEsIDIyNywgMTU1LCA0MCwgMTcsIDEwLCAxLCAyMjcsIDE1NSwgNjUsIDE3LCAxMCwgCisgICAgMSwgMjI3LCAxNTUsIDE0NywgMTcsIDEwLCAxLCAyMTcsIDI4LCA1MywgMTcsIDEwLCAxLCAyMTcsIDI4LCA0MCwgMTcsIDEwLCAKKyAgICAxLCAyMTcsIDI4LCA2NSwgMTcsIDEwLCAxLCAyMTcsIDI4LCAxNDcsIDE3LCAxMCwgMSwgMjE3LCAyNiwgNTMsIDE3LCAxMCwgCisgICAgMSwgMjE3LCAyNiwgNDAsIDE3LCAxMCwgMSwgMjE3LCAyNiwgNjUsIDE3LCAxMCwgMSwgMjE3LCAyNiwgMTQ3LCAxNywgMTAsIAorICAgIDEsIDI0OCwgMTM0LCA1MywgMTcsIDEwLCAxLCAyNDgsIDEzNCwgNDAsIDE3LCAxMCwgMSwgMjQ4LCAyMDMsIDUzLCAxNywgCisgICAgMTAsIDEsIDI0OCwgMjAzLCA0MCwgMTcsIDEwLCAxLCAyNDYsIDcyLCA1MywgMTcsIDEwLCAxLCAyNDYsIDcyLCA0MCwgMTcsIAorICAgIDEwLCAxLCAyNDgsIDEzMiwgNTMsIDE3LCAxMCwgMSwgMjQ4LCAxMzIsIDQwLCAxNywgMTAsIDEsIDIzNSwgMTIyLCA1MywgCisgICAgMTcsIDEwLCAxLCAyMzUsIDEyMiwgNDAsIDE3LCAxMCwgMSwgMjIyLCAxNzMsIDUzLCAxNywgMTAsIDEsIDIyMiwgMTczLCAKKyAgICA0MCwgMTcsIDEwLCAxLCAyMzQsIDE3NiwgNTMsIDE3LCAxMCwgMSwgMjM0LCAxNzYsIDQwLCAxNywgMTAsIDEsIDIzNCwgCisgICAgMTc2LCA2NSwgMTcsIDEwLCAxLCAyMzQsIDE3NiwgMTQ3LCAxNywgMTAsIDEsIDI0MywgMTI0LCA1MywgMTcsIDEwLCAxLCAKKyAgICAyNDMsIDEyNCwgNDAsIDE3LCAxMCwgMSwgMjQzLCAxMjQsIDY1LCAxNywgMTAsIDEsIDI0MywgMTI0LCAxNDcsIDE3LCAxMCwgCisgICAgMSwgMjQyLCAxMDMsIDUzLCAxNywgMTAsIDEsIDI0MiwgMTAzLCA0MCwgMTcsIDEwLCAxLCAyNDIsIDEwMywgNjUsIDE3LCAKKyAgICAxMCwgMSwgMjQyLCAxMDMsIDE0NywgMTcsIDEwLCAxLCAyMjksIDQsIDUzLCAxNywgMTAsIDEsIDIyOSwgNCwgNDAsIDE3LCAKKyAgICAxMCwgMSwgMjI5LCA0LCA2NSwgMTcsIDEwLCAxLCAyMjksIDQsIDE0NywgMTcsIDEwLCAxLCAyMjgsIDY0LCAyNDIsIDIyMCwgCisgICAgNTMsIDE3LCAxMCwgMSwgMjI4LCA2NCwgMjQyLCAyMjAsIDQwLCAxNywgMTAsIDEsIDIyMiwgMjE2LCA1MywgMTcsIDEwLCAxLCAKKyAgICAyMjIsIDIxNiwgNDAsIDE3LCAxMCwgMSwgMjIyLCAyMTYsIDY1LCAxNywgMTAsIDEsIDIyMiwgMjE2LCAxNDcsIDE3LCAxMCwgCisgICAgMSwgMjQxLCAyMjAsIDIsIDc5LCA3NywgNTMsIDE3LCAxMCwgMSwgMjQxLCAyMjAsIDIsIDc5LCA3NywgNDAsIDE3LCAxMCwgCisgICAgMSwgMjQxLCAyMjAsIDI0MiwgMTczLCA1MywgMTcsIDEwLCAxLCAyNDEsIDIyMCwgMjQyLCAxNzMsIDQwLCAxNywgMTAsIDEsIAorICAgIDI0MSwgMjIwLCAyNDIsIDE3MywgNjUsIDE3LCAxMCwgMSwgMjQxLCAyMjAsIDI0MiwgMTczLCAxNDcsIDE3LCAxMCwgMSwgCisgICAgMjQxLCAyMjAsIDI0NywgMTQzLCA1MywgMTcsIDEwLCAxLCAyNDEsIDIyMCwgMjQ3LCAxNDMsIDQwLCAxNywgMTAsIDEsIAorICAgIDI0MSwgMjIwLCAyNDcsIDE0MywgNjUsIDE3LCAxMCwgMSwgMjQxLCAyMjAsIDI0NywgMTQzLCAxNDcsIDE3LCAxMCwgMSwgCisgICAgNzksIDI1MiwgMTM0LCA1MywgMTcsIDEwLCAxLCA3OSwgMjUyLCAxMzQsIDQwLCAxNywgMTAsIDEsIDc5LCAyNTIsIDEzNCwgCisgICAgMiwgMjAyLCA3NywgNTMsIDE3LCAxMCwgMSwgNzksIDI1MiwgMTM0LCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAxNiwgNTksIAogICAgIDQ4LCAxMCwgMTYsIDU5LCA1MSwgMTAsIDE2LCAxMTMsIDE3MCwgNDgsIDEwLCAxNiwgMTEzLCAxNzAsIDUxLCAxMCwgMTYsIAotICAgIDEzNCwgMTcwLCA0OCwgMTAsIDE2LCAxMzQsIDE3MCwgNTEsIDEwLCAxNiwgMTM0LCAxNzAsIDIyNSwgNywgMjQ2LCAxMDQsIAotICAgIDQ4LCAxMCwgMTYsIDEzNCwgMTcwLCAyMjUsIDcsIDI0NiwgMTA0LCA1MSwgMTAsIDE2LCAyNDQsIDExLCAxNzAsIDQ4LCAxMCwgCi0gICAgMTYsIDI0NCwgMTEsIDE3MCwgNTEsIDEwLCAxNiwgNTIsIDY3LCAyNTIsIDE0MSwgNTEsIDEwLCAxNiwgMTEzLCAxNzAsIAotICAgIDIxMywgMTg5LCA0OCwgMTAsIDE2LCAxMTMsIDE3MCwgMjEzLCAxODksIDUxLCAxMCwgMTYsIDIyMiwgMjMzLCAxMCwgMTYsIAotICAgIDQsIDIxNywgODEsIDQ4LCAxMCwgMTYsIDQsIDIxNywgODEsIDUxLCAxMCwgMSwgMjI5LCA4MCwgNTMsIDE3LCAxMCwgMSwgCi0gICAgMjI5LCA4MCwgNDAsIDE3LCAxMCwgMSwgMjI5LCA4MCwgNjUsIDE3LCAxMCwgMSwgMjI5LCA4MCwgMTQ3LCAxNywgMTAsIDEsIAotICAgIDEwNCwgNTMsIDE3LCAxMCwgMSwgMTA0LCA0MCwgMTcsIDEwLCAxLCAyMjYsIDIzNSwgNTMsIDE3LCAxMCwgMSwgMjI2LCAKLSAgICAyMzUsIDQwLCAxNywgMTAsIDEsIDIxMCwgMjEzLCA1MywgMTcsIDEwLCAxLCAyMTAsIDIxMywgNDAsIDE3LCAxMCwgMSwgCisgICAgMTM0LCAxNzAsIDQ4LCAxMCwgMTYsIDEzNCwgMTcwLCA1MSwgMTAsIDE2LCAxMzQsIDE3MCwgMjI1LCA4LCAyNDYsIDEwNSwgCisgICAgNDgsIDEwLCAxNiwgMTM0LCAxNzAsIDIyNSwgOCwgMjQ2LCAxMDUsIDUxLCAxMCwgMTYsIDI0NCwgMTIsIDE3MCwgNDgsIDEwLCAKKyAgICAxNiwgMjQ0LCAxMiwgMTcwLCA1MSwgMTAsIDE2LCA1MiwgNjcsIDI1MiwgMTQyLCA1MSwgMTAsIDE2LCAxMTMsIDE3MCwgCisgICAgMjEzLCAxODksIDQ4LCAxMCwgMTYsIDExMywgMTcwLCAyMTMsIDE4OSwgNTEsIDEwLCAxNiwgMjIyLCAyMzQsIDEwLCAxNiwgCisgICAgNCwgMjE3LCA4MiwgNDgsIDEwLCAxNiwgNCwgMjE3LCA4MiwgNTEsIDEwLCAxLCAyMjksIDgxLCA1MywgMTcsIDEwLCAxLCAKKyAgICAyMjksIDgxLCA0MCwgMTcsIDEwLCAxLCAyMjksIDgxLCA2NSwgMTcsIDEwLCAxLCAyMjksIDgxLCAxNDcsIDE3LCAxMCwgMSwgCisgICAgMTA0LCA1MywgMTcsIDEwLCAxLCAxMDQsIDQwLCAxNywgMTAsIDEsIDIyNiwgMjM2LCA1MywgMTcsIDEwLCAxLCAyMjYsIAorICAgIDIzNiwgNDAsIDE3LCAxMCwgMSwgMjEwLCAyMTMsIDUzLCAxNywgMTAsIDEsIDIxMCwgMjEzLCA0MCwgMTcsIDEwLCAxLCAKICAgICAxMDQsIDIsIDIwMiwgNzcsIDUzLCAxNywgMTAsIDEsIDIxNCwgMCwgNTMsIDE3LCAxMCwgMSwgMjE0LCAwLCA0MCwgMTcsIAotICAgIDEwLCAxLCAyMzQsIDczLCAyMjYsIDIzNSwgNTMsIDE3LCAxMCwgMSwgMjM0LCA3MywgMjI2LCAyMzUsIDQwLCAxNywgMTAsIAotICAgIDEsIDIzNCwgNzMsIDIxMCwgMjEzLCA1MywgMTcsIDEwLCAxLCAyMzQsIDczLCAyMTAsIDIxMywgNDAsIDE3LCAxMCwgMSwgCisgICAgMTAsIDEsIDIzNCwgNzQsIDIyNiwgMjM2LCA1MywgMTcsIDEwLCAxLCAyMzQsIDc0LCAyMjYsIDIzNiwgNDAsIDE3LCAxMCwgCisgICAgMSwgMjM0LCA3NCwgMjEwLCAyMTMsIDUzLCAxNywgMTAsIDEsIDIzNCwgNzQsIDIxMCwgMjEzLCA0MCwgMTcsIDEwLCAxLCAKICAgICAxNjAsIDUzLCAxNywgMTAsIDEsIDE2MCwgNDAsIDE3LCAxMCwgMSwgMTYwLCA2NSwgMTcsIDEwLCAxLCAxNjAsIDE0NywgMTcsIAotICAgIDEwLCAxLCAyMTQsIDIwNywgMjM0LCAxODYsIDIzNCwgNzMsIDExMiwgMjMxLCAxOTMsIDY1LCAxNywgMTAsIDEsIDIxNCwgCi0gICAgMjA3LCAyMzQsIDE4NiwgMjM0LCA3MywgMTEyLCAyMzEsIDE5MywgMTQ3LCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgCisgICAgMTAsIDEsIDIxNCwgMjA3LCAyMzQsIDE4NywgMjM0LCA3NCwgMTEyLCAyMzEsIDE5NCwgNjUsIDE3LCAxMCwgMSwgMjE0LCAKKyAgICAyMDcsIDIzNCwgMTg3LCAyMzQsIDc0LCAxMTIsIDIzMSwgMTk0LCAxNDcsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAKICAgICAyLCAxMTIsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMTEyLCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIAotICAgIDIwMiwgNzcsIDIsIDI1NCwgMjQ0LCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDI1NCwgMjQ0LCA0MCwgCisgICAgMjAyLCA3NywgMiwgMjU0LCAyNDUsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjU0LCAyNDUsIDQwLCAKICAgICAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjEyLCAzMSwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAKICAgICAyLCAyMTIsIDMxLCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDEwNCwgNTMsIDE3LCAxMCwgMjcsIDc5LCAKLSAgICAyLCAyMDIsIDc3LCAyLCAxMDQsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjI2LCAyMzUsIDUzLCAxNywgCi0gICAgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjI2LCAyMzUsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgCisgICAgMiwgMjAyLCA3NywgMiwgMTA0LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDIyNiwgMjM2LCA1MywgMTcsIAorICAgIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDIyNiwgMjM2LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIAogICAgIDIxMCwgMjEzLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDIxMCwgMjEzLCA0MCwgMTcsIDEwLCAyNywgCiAgICAgNzksIDIsIDIwMiwgNzcsIDIsIDE2MCwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAxNjAsIDQwLCAxNywgCi0gICAgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMTYwLCA2NSwgMTcsIDEwLCAyNywgMjE0LCAyMDcsIDIzNCwgNzMsIDc5LCAyLCAKLSAgICAyMDIsIDc3LCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgMjE0LCAyMDcsIDIzNCwgNzMsIDc5LCAyLCAyMDIsIAotICAgIDc3LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjE0LCAyMDcsIDIzNCwgNzMsIDc5LCAyLCAyMDIsIDc3LCAKLSAgICAyLCAxMTIsIDIzMSwgMTkzLCA2NSwgMTcsIDEwLCAxLCAyNDQsIDE2OCwgNzksIDUzLCAxNywgMTAsIDEsIDI0NCwgMTY4LCAKLSAgICA3OSwgNDAsIDE3LCAxMCwgMSwgMjQ0LCAxNjgsIDc5LCA2NSwgMTcsIDEwLCAxLCAyNDQsIDE2OCwgNzksIDE0NywgMTcsIAorICAgIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDE2MCwgNjUsIDE3LCAxMCwgMjcsIDIxNCwgMjA3LCAyMzQsIDc0LCA3OSwgMiwgCisgICAgMjAyLCA3NywgMiwgMTEyLCAyMzEsIDE5NCwgNTMsIDE3LCAxMCwgMjcsIDIxNCwgMjA3LCAyMzQsIDc0LCA3OSwgMiwgMjAyLCAKKyAgICA3NywgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIxNCwgMjA3LCAyMzQsIDc0LCA3OSwgMiwgMjAyLCA3NywgCisgICAgMiwgMTEyLCAyMzEsIDE5NCwgNjUsIDE3LCAxMCwgMSwgMjQ0LCAxNjksIDc5LCA1MywgMTcsIDEwLCAxLCAyNDQsIDE2OSwgCisgICAgNzksIDQwLCAxNywgMTAsIDEsIDI0NCwgMTY5LCA3OSwgNjUsIDE3LCAxMCwgMSwgMjQ0LCAxNjksIDc5LCAxNDcsIDE3LCAKICAgICAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMTIyLCAKICAgICA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIAotICAgIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAKLSAgICAyNTIsIDU1LCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyNTIsIAotICAgIDU1LCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjUyLCA1NSwgCi0gICAgMiwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjE3LCA4LCAKLSAgICAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMjM0LCAKLSAgICAxMzAsIDUzLCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAxMTIsIDIzMSwgCi0gICAgMTkzLCA1MywgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIxNiwgMTkzLCAyLCAxNTEsIDUzLCAKLSAgICAxNywgMTAsIDI3LCAyMTYsIDE5MywgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMTYsIDE5MywgMiwgMTEyLCAyMzEsIDE5MywgCi0gICAgNTMsIDE3LCAxMCwgMjcsIDIxNiwgMTkzLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDE1MSwgMiwgMTIyLCA1MywgMTcsIDEwLCAKKyAgICAxMTIsIDIzMSwgMTk0LCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgCisgICAgMjUyLCA1NiwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjUyLCA1NiwgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjUyLCAKKyAgICA1NiwgMiwgMjM0LCAxMzEsIDUzLCAxNywgMTAsIDI3LCAyNTIsIDU2LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI1MiwgNTYsIAorICAgIDIsIDExMiwgMjMxLCAxOTQsIDUzLCAxNywgMTAsIDI3LCAyNTIsIDU2LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIxNywgOSwgCisgICAgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDIzNCwgCisgICAgMTMxLCA1MywgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgMTEyLCAyMzEsIAorICAgIDE5NCwgNTMsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMTYsIDE5NCwgMiwgMTUxLCA1MywgCisgICAgMTcsIDEwLCAyNywgMjE2LCAxOTQsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjE2LCAxOTQsIDIsIDExMiwgMjMxLCAxOTQsIAorICAgIDUzLCAxNywgMTAsIDI3LCAyMTYsIDE5NCwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAxNTEsIDIsIDEyMiwgNTMsIDE3LCAxMCwgCiAgICAgMjcsIDE1MSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAxMjIsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDEyMiwgMiwgNjYsIAotICAgIDUzLCAxNywgMTAsIDI3LCAyMzQsIDEzMCwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjM0LCAxMzAsIDIsIDEyMiwgNTMsIAotICAgIDE3LCAxMCwgMjcsIDIzNCwgMTMwLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAxNTEsIDUzLCAxNywgCi0gICAgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDIzNCwgMTMwLCA1MywgMTcsIAotICAgIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgCi0gICAgMjIyLCAyNywgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjQ4LCAKLSAgICAyMTcsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgCi0gICAgMjE3LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIAotICAgIDY2LCA1MywgMTcsIDEwLCAyNywgMjEwLCAxMTIsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIDE1MSwgCi0gICAgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI0MiwgMjQ1LCAyLCAxNTEsIDUzLCAKLSAgICAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgMTUxLCA1MywgMTcsIAotICAgIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAKLSAgICAxMCwgMjcsIDI0NCwgMTQzLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgCi0gICAgMTcsIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjI0LCA4MiwgMiwgMTIyLCA1MywgMTcsIDEwLCAKLSAgICAyNywgMjI0LCA4MiwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMjQsIDgyLCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIAotICAgIDEwLCAyNywgMjI0LCA4MiwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMTEyLCA1MywgMTcsIDEwLCAyNywgCi0gICAgMjM0LCAyNTEsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyMzQsIAotICAgIDI1MSwgMiwgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMjMzLCAxMDMsIDUzLCAxNywgMTAsIDI3LCAKLSAgICAyMzQsIDI1MSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgCi0gICAgMjcsIDIzNCwgMjUxLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAKLSAgICAyMzMsIDEwMywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDIzNCwgMTMwLCA1MywgMTcsIDEwLCAyNywgCi0gICAgMjMzLCAxMDMsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIAotICAgIDI3LCAyMzMsIDEwMywgMiwgNzksIDUzLCAxNywgMTAsIDI3LCA2NiwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgNjYsIDIsIAotICAgIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDY2LCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAxMCwgMjcsIDY2LCAyLCA2NiwgNTMsIDE3LCAKLSAgICAxMCwgMjcsIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgNjYsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgCi0gICAgMjI4LCA2MywgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjI4LCAKLSAgICA2MywgMiwgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIAotICAgIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDI0MSwgCi0gICAgMjE5LCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAyNDEsIDIxOSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDEsIDIxOSwgCi0gICAgMiwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDI0MSwgMjE5LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAKLSAgICAxNTEsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIzNCwgMTMwLCA1MywgMTcsIAotICAgIDEwLCAyNywgNzksIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAKLSAgICA3OSwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMTYsIDIwMywgMiwgMjE4LCAyMywgMTEyLCA1MywgMTcsIDEwLCAyNywgCi0gICAgMjIzLCA5NiwgMiwgMjE4LCAyMywgMTEyLCA1MywgMTcsIDEwLCAyNywgMTEyLCAyMzEsIDE5MywgMiwgMjE4LCAyMywgMTEyLCAKLSAgICA1MywgMTcsIDEwLCAyNywgMjIwLCA5NCwgMiwgMjQ4LCAxODMsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDk0LCAyLCAyMzQsIAotICAgIDIwNCwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgOTQsIDIsIDI0NCwgMTY2LCA1MywgMTcsIDEwLCAyNywgMjIwLCA5NCwgMiwgCi0gICAgMjQ4LCAxODUsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDk0LCAyLCAyMzQsIDIwNiwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgOTQsIAotICAgIDIsIDIxOCwgMjMsIDExMiwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAKKyAgICA1MywgMTcsIDEwLCAyNywgMjM0LCAxMzEsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDIzNCwgMTMxLCAyLCAxMjIsIDUzLCAKKyAgICAxNywgMTAsIDI3LCAyMzQsIDEzMSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgMiwgMTUxLCA1MywgMTcsIAorICAgIDEwLCAyNywgMjIxLCAxNjgsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAyLCAyMzQsIDEzMSwgNTMsIDE3LCAKKyAgICAxMCwgMjcsIDIyMSwgMTY4LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIyMiwgMjgsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIyMiwgMjgsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjQ4LCAyMTgsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgCisgICAgMjE4LCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyNDgsIDIxOCwgMiwgMjM0LCAxMzEsIDUzLCAxNywgMTAsIDI3LCAyNDgsIAorICAgIDIxOCwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMTcsIDgyLCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyMTcsIDgyLCAyLCAKKyAgICA2NiwgNTMsIDE3LCAxMCwgMjcsIDIxMCwgMTEyLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTk4LCAyLCAxNTEsIAorICAgIDUzLCAxNywgMTAsIDI3LCAyNTQsIDE5OCwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDIsIDI0NiwgMiwgMTUxLCA1MywgCisgICAgMTcsIDEwLCAyNywgMjQyLCAyNDYsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjQ0LCAxNDQsIDIsIDE1MSwgNTMsIDE3LCAKKyAgICAxMCwgMjcsIDI0NCwgMTQ0LCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyNDQsIDE0NCwgMiwgMjM0LCAxMzEsIDUzLCAxNywgCisgICAgMTAsIDI3LCAyNDQsIDE0NCwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDQsIDE0NCwgMiwgMTEyLCAyMzEsIDE5NCwgNTMsIAorICAgIDE3LCAxMCwgMjcsIDI0NCwgMTQ0LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyNCwgODMsIDIsIDEyMiwgNTMsIDE3LCAxMCwgCisgICAgMjcsIDIyNCwgODMsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjI0LCA4MywgMiwgMTEyLCAyMzEsIDE5NCwgNTMsIDE3LCAKKyAgICAxMCwgMjcsIDIyNCwgODMsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDExMiwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIzNCwgMjUyLCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjM0LCAKKyAgICAyNTIsIDIsIDIzNCwgMTMxLCA1MywgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDIzMywgMTA0LCA1MywgMTcsIDEwLCAyNywgCisgICAgMjM0LCAyNTIsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDExMiwgMjMxLCAxOTQsIDUzLCAxNywgMTAsIAorICAgIDI3LCAyMzQsIDI1MiwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgCisgICAgMjMzLCAxMDQsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAyMzQsIDEzMSwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIzMywgMTA0LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAxMTIsIDIzMSwgMTk0LCA1MywgMTcsIDEwLCAKKyAgICAyNywgMjMzLCAxMDQsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgNjYsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDY2LCAyLCAKKyAgICAxMjIsIDUzLCAxNywgMTAsIDI3LCA2NiwgMiwgMjM0LCAxMzEsIDUzLCAxNywgMTAsIDI3LCA2NiwgMiwgNjYsIDUzLCAxNywgCisgICAgMTAsIDI3LCA2NiwgMiwgMTEyLCAyMzEsIDE5NCwgNTMsIDE3LCAxMCwgMjcsIDY2LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIyOCwgNjQsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIyOCwgCisgICAgNjQsIDIsIDIzNCwgMTMxLCA1MywgMTcsIDEwLCAyNywgMjI4LCA2NCwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAKKyAgICAyLCAxMTIsIDIzMSwgMTk0LCA1MywgMTcsIDEwLCAyNywgMjI4LCA2NCwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyNDEsIAorICAgIDIyMCwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjQxLCAyMjAsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjQxLCAyMjAsIAorICAgIDIsIDExMiwgMjMxLCAxOTQsIDUzLCAxNywgMTAsIDI3LCAyNDEsIDIyMCwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgCisgICAgMTUxLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMzQsIDEzMSwgNTMsIDE3LCAKKyAgICAxMCwgMjcsIDc5LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAxMTIsIDIzMSwgMTk0LCA1MywgMTcsIDEwLCAyNywgCisgICAgNzksIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjE2LCAyMDQsIDIsIDIxOCwgMjQsIDExMiwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIyMywgOTcsIDIsIDIxOCwgMjQsIDExMiwgNTMsIDE3LCAxMCwgMjcsIDExMiwgMjMxLCAxOTQsIDIsIDIxOCwgMjQsIDExMiwgCisgICAgNTMsIDE3LCAxMCwgMjcsIDIyMCwgOTUsIDIsIDI0OCwgMTg0LCA1MywgMTcsIDEwLCAyNywgMjIwLCA5NSwgMiwgMjM0LCAKKyAgICAyMDUsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDk1LCAyLCAyNDQsIDE2NywgNTMsIDE3LCAxMCwgMjcsIDIyMCwgOTUsIDIsIAorICAgIDI0OCwgMTg2LCA1MywgMTcsIDEwLCAyNywgMjIwLCA5NSwgMiwgMjM0LCAyMDcsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDk1LCAKKyAgICAyLCAyMTgsIDI0LCAxMTIsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjIzLCA5NywgNDAsIDE3LCAxMCwgCiAgICAgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAyMTAsIDEwOSwgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCA2NiwgCi0gICAgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAyMjgsIDYzLCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgCi0gICAgNzcsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgNzksIDQwLCAxNywgMTAsIAotICAgIDI3LCAyNTIsIDU1LCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAyNywgMjUyLCA1NSwgMiwgMjEwLCAxMDksIDQwLCAxNywgCi0gICAgMTAsIDI3LCAyNTIsIDU1LCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIDIsIDIyOCwgNjMsIDQwLCAxNywgMTAsIAotICAgIDI3LCAyNTIsIDU1LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjUyLCA1NSwgMiwgNzksIDQwLCAxNywgCi0gICAgMTAsIDI3LCAyMTcsIDgsIDIsIDIyMywgOTYsIDQwLCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDIxMCwgMTA5LCA0MCwgMTcsIAotICAgIDEwLCAyNywgMjE3LCA4LCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMjI4LCA2MywgNDAsIDE3LCAxMCwgCi0gICAgMjcsIDIxNywgOCwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgNzksIDQwLCAxNywgMTAsIAotICAgIDI3LCAyMTYsIDE5MywgMiwgMjIzLCA5NiwgNDAsIDE3LCAxMCwgMjcsIDIxNiwgMTkzLCAyLCAyMTAsIDEwOSwgNDAsIDE3LCAKLSAgICAxMCwgMjcsIDIxNiwgMTkzLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIxNiwgMTkzLCAyLCAyMjgsIDYzLCA0MCwgMTcsIAotICAgIDEwLCAyNywgMjE2LCAxOTMsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMTYsIDE5MywgMiwgNzksIDQwLCAKLSAgICAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCA3OSwgCi0gICAgNDAsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjQsIDgyLCAyLCAKLSAgICA3OSwgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAxMTIsIDQwLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMjMzLCAKLSAgICAxMDMsIDQwLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMTEyLCAKLSAgICAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAKLSAgICA2NiwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIAorICAgIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjI4LCA2NCwgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIAorICAgIDc3LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDc5LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjUyLCA1NiwgMiwgMjIzLCA5NywgNDAsIDE3LCAxMCwgMjcsIDI1MiwgNTYsIDIsIDIxMCwgMTA5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjUyLCA1NiwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyNTIsIDU2LCAyLCAyMjgsIDY0LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjUyLCA1NiwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDI1MiwgNTYsIDIsIDc5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjE3LCA5LCAyLCAyMjMsIDk3LCA0MCwgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCAyMTAsIDEwOSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIxNywgOSwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDIyOCwgNjQsIDQwLCAxNywgMTAsIAorICAgIDI3LCAyMTcsIDksIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDc5LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjE2LCAxOTQsIDIsIDIyMywgOTcsIDQwLCAxNywgMTAsIDI3LCAyMTYsIDE5NCwgMiwgMjEwLCAxMDksIDQwLCAxNywgCisgICAgMTAsIDI3LCAyMTYsIDE5NCwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMTYsIDE5NCwgMiwgMjI4LCA2NCwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIxNiwgMTk0LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjE2LCAxOTQsIDIsIDc5LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjQ0LCAxNDQsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyNDQsIDE0NCwgMiwgNzksIAorICAgIDQwLCAxNywgMTAsIDI3LCAyMjQsIDgzLCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjI0LCA4MywgMiwgCisgICAgNzksIDQwLCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgMTEyLCA0MCwgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDIzMywgCisgICAgMTA0LCA0MCwgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDExMiwgCisgICAgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgCisgICAgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAKICAgICAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDY2LCAyLCAxMTIsIDQwLCAxNywgMTAsIDI3LCA2NiwgMiwgNjYsIDQwLCAxNywgMTAsIAotICAgIDI3LCAyMjgsIDYzLCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMjEwLCAxMDksIDQwLCAxNywgCi0gICAgMTAsIDI3LCAyMjgsIDYzLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDIyOCwgNjMsIDQwLCAxNywgMTAsIAotICAgIDI3LCAyMjgsIDYzLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgNzksIDQwLCAxNywgCi0gICAgMTAsIDI3LCAxMTIsIDIzMSwgMTkzLCAyLCAyMTgsIDIzLCAxMTIsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjIzLCA5NiwgCisgICAgMjcsIDIyOCwgNjQsIDIsIDIyMywgOTcsIDQwLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAyMTAsIDEwOSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIyOCwgNjQsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2NCwgMiwgMjI4LCA2NCwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDIyOCwgNjQsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCA3OSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDExMiwgMjMxLCAxOTQsIDIsIDIxOCwgMjQsIDExMiwgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMjMsIDk3LCAKICAgICA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIxMCwgMTA5LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDY2LCA0MCwgMTcsIDEwLCAKLSAgICAyNywgNzksIDIsIDIyOCwgNjMsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIAorICAgIDI3LCA3OSwgMiwgMjI4LCA2NCwgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgCiAgICAgNzksIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAKLSAgICAyMDIsIDc3LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIAotICAgIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjQxLCAyMTksIAotICAgIDY1LCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAxMjIsIDY1LCAxNywgCi0gICAgMTAsIDI3LCAyNTIsIDU1LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIDIsIDY2LCA2NSwgMTcsIDEwLCAKLSAgICAyNywgMjUyLCA1NSwgMiwgMjQxLCAyMTksIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIAotICAgIDIxNywgOCwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIxNywgCi0gICAgOCwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAyNywgMjE2LCAxOTMsIAorICAgIDIwMiwgNzcsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAyMzQsIDEzMSwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAyNDEsIDIyMCwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDI1MiwgNTYsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI1MiwgNTYsIDIsIDEyMiwgNjUsIDE3LCAKKyAgICAxMCwgMjcsIDI1MiwgNTYsIDIsIDIzNCwgMTMxLCA2NSwgMTcsIDEwLCAyNywgMjUyLCA1NiwgMiwgNjYsIDY1LCAxNywgMTAsIAorICAgIDI3LCAyNTIsIDU2LCAyLCAyNDEsIDIyMCwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgCisgICAgMjE3LCA5LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDIzNCwgMTMxLCA2NSwgMTcsIDEwLCAyNywgMjE3LCAKKyAgICA5LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgMjQxLCAyMjAsIDY1LCAxNywgMTAsIDI3LCAyMTYsIDE5NCwgCiAgICAgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAxNTEsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDE1MSwgMiwgNjYsIDY1LCAxNywgCiAgICAgMTAsIDI3LCAxMjIsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDEyMiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMzQsIAotICAgIDEzMCwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjM0LCAxMzAsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIAotICAgIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgCi0gICAgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAKLSAgICAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIyMiwgMjcsIDIsIAotICAgIDY2LCA2NSwgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAxMjIsIAotICAgIDY1LCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgNjYsIAotICAgIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgxLCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMTAsIDExMiwgMiwgNjYsIDY1LCAxNywgCi0gICAgMTAsIDI3LCAyNTQsIDE5NywgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIDY2LCA2NSwgMTcsIDEwLCAKLSAgICAyNywgMjQyLCAyNDUsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI0MiwgMjQ1LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIAotICAgIDI0NCwgMTQzLCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjQ0LCAKLSAgICAxNDMsIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjI0LCAKLSAgICA4MiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjI0LCA4MiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgCi0gICAgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjM0LCAyNTEsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAyMzQsIAotICAgIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAyMzMsIDEwMywgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAKLSAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTIyLCAKLSAgICA2NSwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDY2LCAKLSAgICA2NSwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAyNywgNjYsIDIsIDE1MSwgNjUsIAotICAgIDE3LCAxMCwgMjcsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCA2NiwgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAKLSAgICA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAKLSAgICAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIAotICAgIDY2LCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMjQxLCAyMTksIDY1LCAxNywgMTAsIDI3LCAyNDEsIDIxOSwgMiwgCi0gICAgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMTksIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMTksIDIsIDIxOCwgCi0gICAgMjMsIDExMiwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMTIyLCA2NSwgMTcsIAotICAgIDEwLCAyNywgNzksIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgNzksIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgNzksIAotICAgIDIsIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDY2LCAxNDcsIDE3LCAxMCwgMjcsIDc5LCAKLSAgICAyLCAyMDIsIDc3LCAyLCAyNDEsIDIxOSwgMTQ3LCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCA2NiwgMTQ3LCAxNywgMTAsIAotICAgIDI3LCAyNTIsIDU1LCAyLCAyNDEsIDIxOSwgMTQ3LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDY2LCAxNDcsIDE3LCAxMCwgCi0gICAgMjcsIDIxNywgOCwgMiwgMjQxLCAyMTksIDE0NywgMTcsIDEwLCAyNywgMjE2LCAxOTMsIDIsIDY2LCAxNDcsIDE3LCAxMCwgCi0gICAgMjcsIDIxNiwgMTkzLCAyLCAyNDEsIDIxOSwgMTQ3LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgNjYsIDE0NywgMTcsIDEwLCAKLSAgICAyNywgMjIxLCAxNjcsIDIsIDI0MSwgMjE5LCAxNDcsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDY2LCAxNDcsIDE3LCAxMCwgCi0gICAgMjcsIDIyMCwgNjAsIDIsIDI0MSwgMjE5LCAxNDcsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAyMzMsIDEwMywgMTQ3LCAKLSAgICAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgNjYsIDE0NywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDY2LCAxNDcsIDE3LCAKLSAgICAxMCwgMjcsIDIyOCwgNjMsIDIsIDY2LCAxNDcsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDI0MSwgMjE5LCAxNDcsIDE3LCAKLSAgICAxMCwgMjcsIDc5LCAyLCA2NiwgMTQ3LCAxNywgMTAsIDI3LCA3OSwgMiwgMjQxLCAyMTksIDE0NywgMTcsIDEwLCAyNywgCi0gICAgMjIwLCA5NCwgMiwgMjQ0LCAxNjYsIDE0NywgMTcsIDEwLCAyNywgMjIwLCA5NCwgMiwgMjQ4LCAxODUsIDE0NywgMTcsIDEwLCAKLSAgICAyNywgMjIwLCA5NCwgMiwgMjM0LCAyMDYsIDE0NywgMTcsIDEwLCAyNywgMjE3LCA4MSwgMiwgMTEyLCAyMzEsIDE5MywgNTMsIAotICAgIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIDExMiwgMjMxLCAxOTMsIAotICAgIDUzLCAxNywgMTAsIDI3LCAyNTQsIDE5NywgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgMTEyLCAyMzEsIAotICAgIDE5MywgNTMsIDE3LCAxMCwgMjcsIDI0MiwgMjQ1LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAxMTIsIAotICAgIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgCi0gICAgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMTIyLCAyLCAKLSAgICAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgMTIyLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDE1MSwgMiwgMTEyLCAKLSAgICAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDE1MSwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMzQsIDEzMCwgMiwgMTEyLCAKLSAgICAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDIzNCwgMTMwLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyMiwgMjcsIDIsIAotICAgIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAKLSAgICAyLCAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjIwLCAKLSAgICA2MCwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgCi0gICAgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIAotICAgIDIyMywgOTYsIDUzLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMjIzLCA5NiwgNTMsIDE3LCAxMCwgMjcsIDIyMiwgMjcsIAotICAgIDIsIDIyMywgOTYsIDUzLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMjIzLCA5NiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgCi0gICAgODEsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMTcsIDgxLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIAotICAgIDI1NCwgMTk3LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIDc5LCA0MCwgMTcsIDEwLCAKLSAgICAyNywgMjQyLCAyNDUsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNzksIDQwLCAxNywgCi0gICAgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCA3OSwgNDAsIAotICAgIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCA3OSwgCi0gICAgNDAsIDE3LCAxMCwgMjcsIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDEyMiwgMiwgNzksIDQwLCAKLSAgICAxNywgMTAsIDI3LCAxNTEsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAxNTEsIDIsIDc5LCA0MCwgMTcsIAotICAgIDEwLCAyNywgMjM0LCAxMzAsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMzQsIDEzMCwgMiwgNzksIDQwLCAKLSAgICAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgNzksIAotICAgIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAKLSAgICA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDE1MSwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDEyMiwgNDAsIAotICAgIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDIzNCwgMTMwLCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIDQwLCAxNywgCi0gICAgMTAsIDI3LCAyMjAsIDYwLCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDIyMywgOTYsIDQwLCAKLSAgICAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDIyMywgOTYsIAotICAgIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxMjIsIDY1LCAxNywgCi0gICAgMTAsIDI3LCAyMjAsIDYwLCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDY2LCA2NSwgMTcsIDEwLCAKLSAgICAyNywgMjIxLCAxNjcsIDIsIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgMjQxLCAyMTksIDY1LCAxNywgCi0gICAgMTAsIDI3LCAyMTcsIDgxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAxNTEsIDE0NywgMTcsIDEwLCAKLSAgICAyNywgMjIxLCAxNjcsIDIsIDEyMiwgMTQ3LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMjM0LCAxMzAsIDE0NywgMTcsIAotICAgIDEwLCAyNywgMjIwLCA2MCwgMiwgMTUxLCAxNDcsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDEyMiwgMTQ3LCAxNywgMTAsIAotICAgIDI3LCAyMjAsIDYwLCAyLCAyMzQsIDEzMCwgMTQ3LCAxNywgMTAsIDI3LCAyMTcsIDgxLCAyLCA2NiwgMTQ3LCAxNywgMTAsIAotICAgIDI3LCAyMTAsIDExMiwgMiwgNjYsIDE0NywgMTcsIDEwLCAyNywgMTEyLCAyLCAyNDQsIDE2NCwgNDAsIDE3LCAxMCwgMjcsIAotICAgIDExMiwgMiwgMjQ0LCAxNjQsIDUzLCAxNywgMjI2LCAxNDYsIDQzLCAyMjYsIDMsIDIyNiwgMTQ2LCA0NCwgMjI2LCAzLCAxMCwgCi0gICAgMjcsIDIxNywgOCwgMiwgMTUxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMTIyLCAyLCAxNTEsIDQwLCAKLSAgICAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDEyMiwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAxMjIsIDIsIAotICAgIDY2LCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAyMzQsIDEzMCwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIAotICAgIDIsIDY2LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAKLSAgICAyMTcsIDgsIDIsIDY2LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDE1MSwgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCAKKyAgICAxMzEsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMTMxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAKKyAgICAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIAorICAgIDIzNCwgMTMxLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgCisgICAgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgMjM0LCAxMzEsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI4LCAyLCAKKyAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDI0OCwgMjE4LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNDgsIDIxOCwgMiwgMTIyLCAKKyAgICA2NSwgMTcsIDEwLCAyNywgMjQ4LCAyMTgsIDIsIDIzNCwgMTMxLCA2NSwgMTcsIDEwLCAyNywgMjQ4LCAyMTgsIDIsIDY2LCAKKyAgICA2NSwgMTcsIDEwLCAyNywgMjE3LCA4MiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjEwLCAxMTIsIDIsIDY2LCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjU0LCAxOTgsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI1NCwgMTk4LCAyLCA2NiwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDI0MiwgMjQ2LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNDIsIDI0NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAKKyAgICAyNDQsIDE0NCwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjQ0LCAxNDQsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDI0NCwgCisgICAgMTQ0LCAyLCAyMzQsIDEzMSwgNjUsIDE3LCAxMCwgMjcsIDI0NCwgMTQ0LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyNCwgCisgICAgODMsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIyNCwgODMsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIAorICAgIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMjUyLCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgMjM0LCAKKyAgICAxMzEsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgMjMzLCAxMDQsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgCisgICAgNjYsIDY1LCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIDEyMiwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAyMzQsIDEzMSwgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCA2NiwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAyNDEsIDIyMCwgNjUsIDE3LCAxMCwgMjcsIDY2LCAyLCAxNTEsIDY1LCAKKyAgICAxNywgMTAsIDI3LCA2NiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgNjYsIDIsIDIzNCwgMTMxLCA2NSwgMTcsIDEwLCAyNywgCisgICAgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2NCwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2NCwgMiwgCisgICAgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2NCwgMiwgMjM0LCAxMzEsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAKKyAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIDIsIDI0MSwgMjIwLCA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMjAsIDIsIAorICAgIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI0MSwgMjIwLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDI0MSwgMjIwLCAyLCAyMTgsIAorICAgIDI0LCAxMTIsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgNzksIDIsIDEyMiwgNjUsIDE3LCAKKyAgICAxMCwgMjcsIDc5LCAyLCAyMzQsIDEzMSwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDc5LCAKKyAgICAyLCAyNDEsIDIyMCwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCA2NiwgMTQ3LCAxNywgMTAsIDI3LCA3OSwgCisgICAgMiwgMjAyLCA3NywgMiwgMjQxLCAyMjAsIDE0NywgMTcsIDEwLCAyNywgMjUyLCA1NiwgMiwgNjYsIDE0NywgMTcsIDEwLCAKKyAgICAyNywgMjUyLCA1NiwgMiwgMjQxLCAyMjAsIDE0NywgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI3LCAyMTcsIDksIDIsIDI0MSwgMjIwLCAxNDcsIDE3LCAxMCwgMjcsIDIxNiwgMTk0LCAyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI3LCAyMTYsIDE5NCwgMiwgMjQxLCAyMjAsIDE0NywgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDY2LCAxNDcsIDE3LCAxMCwgCisgICAgMjcsIDIyMSwgMTY4LCAyLCAyNDEsIDIyMCwgMTQ3LCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI3LCAyMjAsIDYxLCAyLCAyNDEsIDIyMCwgMTQ3LCAxNywgMTAsIDI3LCAyMzQsIDI1MiwgMiwgMjMzLCAxMDQsIDE0NywgCisgICAgMTcsIDEwLCAyNywgMjM0LCAyNTIsIDIsIDY2LCAxNDcsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCA2NiwgMTQ3LCAxNywgCisgICAgMTAsIDI3LCAyMjgsIDY0LCAyLCA2NiwgMTQ3LCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAyNDEsIDIyMCwgMTQ3LCAxNywgCisgICAgMTAsIDI3LCA3OSwgMiwgNjYsIDE0NywgMTcsIDEwLCAyNywgNzksIDIsIDI0MSwgMjIwLCAxNDcsIDE3LCAxMCwgMjcsIAorICAgIDIyMCwgOTUsIDIsIDI0NCwgMTY3LCAxNDcsIDE3LCAxMCwgMjcsIDIyMCwgOTUsIDIsIDI0OCwgMTg2LCAxNDcsIDE3LCAxMCwgCisgICAgMjcsIDIyMCwgOTUsIDIsIDIzNCwgMjA3LCAxNDcsIDE3LCAxMCwgMjcsIDIxNywgODIsIDIsIDExMiwgMjMxLCAxOTQsIDUzLCAKKyAgICAxNywgMTAsIDI3LCAyMTcsIDgyLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTk4LCAyLCAxMTIsIDIzMSwgMTk0LCAKKyAgICA1MywgMTcsIDEwLCAyNywgMjU0LCAxOTgsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjQyLCAyNDYsIDIsIDExMiwgMjMxLCAKKyAgICAxOTQsIDUzLCAxNywgMTAsIDI3LCAyNDIsIDI0NiwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgMiwgMTEyLCAKKyAgICAyMzEsIDE5NCwgNTMsIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIAorICAgIDExMiwgMjMxLCAxOTQsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDEyMiwgMiwgCisgICAgMTEyLCAyMzEsIDE5NCwgNTMsIDE3LCAxMCwgMjcsIDEyMiwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAxNTEsIDIsIDExMiwgCisgICAgMjMxLCAxOTQsIDUzLCAxNywgMTAsIDI3LCAxNTEsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjM0LCAxMzEsIDIsIDExMiwgCisgICAgMjMxLCAxOTQsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDEzMSwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMjIsIDI4LCAyLCAKKyAgICAxMTIsIDIzMSwgMTk0LCA1MywgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyNDgsIDIxOCwgCisgICAgMiwgMTEyLCAyMzEsIDE5NCwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgMjE4LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgCisgICAgNjEsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIAorICAgIDIzNCwgMTMxLCA1MywgMTcsIDEwLCAyNywgMjIwLCA2MSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAKKyAgICAyMjMsIDk3LCA1MywgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDIyMywgOTcsIDUzLCAxNywgMTAsIDI3LCAyMjIsIDI4LCAKKyAgICAyLCAyMjMsIDk3LCA1MywgMTcsIDEwLCAyNywgMjQ4LCAyMTgsIDIsIDIyMywgOTcsIDUzLCAxNywgMTAsIDI3LCAyMTcsIAorICAgIDgyLCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4MiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAKKyAgICAyNTQsIDE5OCwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDI1NCwgMTk4LCAyLCA3OSwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDI0MiwgMjQ2LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjQyLCAyNDYsIDIsIDc5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjIxLCAxNjgsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgMiwgNzksIDQwLCAKKyAgICAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MSwgMiwgNzksIAorICAgIDQwLCAxNywgMTAsIDI3LCAxMjIsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAxMjIsIDIsIDc5LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMTUxLCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMTUxLCAyLCA3OSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIzNCwgMTMxLCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjM0LCAxMzEsIDIsIDc5LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIyMiwgMjgsIDIsIDc5LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjQ4LCAyMTgsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxOCwgMiwgCisgICAgNzksIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAxNTEsIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAxMjIsIDQwLCAKKyAgICAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAyMzQsIDEzMSwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIDY2LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjIwLCA2MSwgMiwgMjIzLCA5NywgNDAsIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAyLCAyMjMsIDk3LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgMjIzLCA5NywgNDAsIDE3LCAxMCwgMjcsIDI0OCwgMjE4LCAyLCAyMjMsIDk3LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MSwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjIwLCA2MSwgMiwgMTIyLCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjIwLCA2MSwgMiwgMjM0LCAxMzEsIDY1LCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCA2NiwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDIyMSwgMTY4LCAyLCAyNDEsIDIyMCwgNjUsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIDI0MSwgMjIwLCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjE3LCA4MiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgMiwgMTUxLCAxNDcsIDE3LCAxMCwgCisgICAgMjcsIDIyMSwgMTY4LCAyLCAxMjIsIDE0NywgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDIzNCwgMTMxLCAxNDcsIDE3LCAKKyAgICAxMCwgMjcsIDIyMCwgNjEsIDIsIDE1MSwgMTQ3LCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAxMjIsIDE0NywgMTcsIDEwLCAKKyAgICAyNywgMjIwLCA2MSwgMiwgMjM0LCAxMzEsIDE0NywgMTcsIDEwLCAyNywgMjE3LCA4MiwgMiwgNjYsIDE0NywgMTcsIDEwLCAKKyAgICAyNywgMjEwLCAxMTIsIDIsIDY2LCAxNDcsIDE3LCAxMCwgMjcsIDExMiwgMiwgMjQ0LCAxNjUsIDQwLCAxNywgMTAsIDI3LCAKKyAgICAxMTIsIDIsIDI0NCwgMTY1LCA1MywgMTcsIDIyNiwgMTQ3LCA0MywgMjI2LCA0LCAyMjYsIDE0NywgNDQsIDIyNiwgNCwgMTAsIAorICAgIDI3LCAyMTcsIDksIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDEyMiwgMiwgMTUxLCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCAxMjIsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgMTIyLCAyLCAKKyAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgMjM0LCAxMzEsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjE3LCA5LCAKKyAgICAyLCA2NiwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgCisgICAgMjE3LCA5LCAyLCA2NiwgMiwgMjM0LCAxMzEsIDY1LCAxNywgMTAsIDI3LCAxNTEsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgCiAgICAgMTAsIDI3LCAxNTEsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAxMjIsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAKLSAgICAxMCwgMjcsIDEyMiwgMiwgNjYsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTIyLCAKLSAgICAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTUxLCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMjEsIAotICAgIDE2NywgMiwgMTUxLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCAyLCAxMjIsIAotICAgIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCA2NiwgCi0gICAgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAKLSAgICAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAxMjIsIDIsIDEyMiwgNDAsIDE3LCAxMCwgMjcsIAotICAgIDIyMiwgMjcsIDIsIDEyMiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIAotICAgIDEwLCAyNywgMjIwLCA2MCwgMiwgMTIyLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDEyMiwgMiwgNjYsIAotICAgIDY1LCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIAotICAgIDIsIDIzNCwgMTMwLCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgCi0gICAgMjIwLCA2MCwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAKLSAgICAyNywgMjQ4LCAyMTcsIDIsIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAyMzQsIAotICAgIDEzMCwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMjM0LCAxMzAsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgCi0gICAgMjE3LCA4MSwgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgCi0gICAgMTAsIDI3LCAyMTcsIDgxLCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgxLCAyLCA2NiwgMiwgNzksIDQwLCAKLSAgICAxNywgMTAsIDI3LCAyNTQsIDE5NywgMiwgMTUxLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA2NiwgMiwgCi0gICAgNjYsIDQwLCAxNywgMTAsIDI3LCAyNTQsIDE5NywgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIAotICAgIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjQyLCAyNDUsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgCi0gICAgMjcsIDI0MiwgMjQ1LCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNjYsIDIsIDExMiwgMjMxLCAKLSAgICAxOTMsIDQwLCAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgMjM0LCAxMzAsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjQ0LCAKLSAgICAxNDMsIDIsIDIzNCwgMTMwLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgCi0gICAgMTAsIDI3LCAyMjQsIDgyLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTIyLCAyLCA2NiwgCi0gICAgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxMjIsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIAotICAgIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDIsIDE1MSwgNjUsIDE3LCAKLSAgICAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDIsIDE1MSwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAyMzQsIDEzMCwgCi0gICAgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMjM0LCAxMzAsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjMzLCAKLSAgICAxMDMsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCAxMCwgCisgICAgMTAsIDI3LCAxMjIsIDIsIDY2LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDEyMiwgCisgICAgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDE1MSwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAKKyAgICAxNjgsIDIsIDE1MSwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAyLCA2NiwgMiwgMTIyLCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgMiwgNjYsIAorICAgIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2OCwgCisgICAgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgMTIyLCAyLCAxMjIsIDQwLCAxNywgMTAsIDI3LCAKKyAgICAyMjIsIDI4LCAyLCAxMjIsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIyMiwgMjgsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIyMCwgNjEsIDIsIDEyMiwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYxLCAyLCAxMjIsIDIsIDY2LCAKKyAgICA2NSwgMTcsIDEwLCAyNywgMjIwLCA2MSwgMiwgMTUxLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIDY2LCAKKyAgICAyLCAyMzQsIDEzMSwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIDY2LCAyLCAyMzQsIDEzMSwgNjUsIDE3LCAxMCwgMjcsIAorICAgIDIyMCwgNjEsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjEsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDI0OCwgMjE4LCAyLCAxMjIsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxOCwgMiwgMjM0LCAKKyAgICAxMzEsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjQ4LCAyMTgsIDIsIDIzNCwgMTMxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIAorICAgIDIxNywgODIsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgMTAsIDI3LCAyMTcsIDgyLCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4MiwgMiwgNjYsIDIsIDc5LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjU0LCAxOTgsIDIsIDE1MSwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyNTQsIDE5OCwgMiwgNjYsIDIsIAorICAgIDY2LCA0MCwgMTcsIDEwLCAyNywgMjU0LCAxOTgsIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDI1NCwgMTk4LCAyLCAKKyAgICA2NiwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDI0MiwgMjQ2LCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgMTAsIAorICAgIDI3LCAyNDIsIDI0NiwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjQyLCAyNDYsIDIsIDY2LCAyLCAxMTIsIDIzMSwgCisgICAgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjQ0LCAxNDQsIDIsIDIzNCwgMTMxLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDI0NCwgCisgICAgMTQ0LCAyLCAyMzQsIDEzMSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjQsIDgzLCAyLCA2NiwgMiwgMTIyLCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjI0LCA4MywgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIDEyMiwgMiwgNjYsIAorICAgIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTIyLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAKKyAgICAxMjIsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTUxLCAyLCAxNTEsIDY1LCAxNywgCisgICAgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTUxLCAyLCAxNTEsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMjM0LCAxMzEsIAorICAgIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIDIzNCwgMTMxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIzMywgCisgICAgMTA0LCAyLCA2NiwgMiwgMTIyLCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIAogICAgIDI3LCA2NiwgMiwgMTIyLCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCA2NiwgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCAxMCwgCiAgICAgMjcsIDY2LCAyLCAxMjIsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNjYsIDIsIDE1MSwgMiwgMTIyLCA2NSwgMTcsIDEwLCAKLSAgICAyNywgNjYsIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCA2NiwgMiwgMjM0LCAxMzAsIDIsIDE1MSwgNjUsIDE3LCAKLSAgICAxMCwgMjcsIDY2LCAyLCAyMzQsIDEzMCwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCA2NiwgMiwgMTUxLCAyLCAyMzQsIDEzMCwgCi0gICAgNjUsIDE3LCAxMCwgMjcsIDI0MSwgMjE5LCAyLCA2NiwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMTksIDIsIDY2LCAKLSAgICAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDYzLCAKLSAgICAyLCAxMjIsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAxNTEsIDIsIDY2LCA0MCwgMTcsIAotICAgIDEwLCAyNywgMjI4LCA2MywgMiwgMTUxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDE1MSwgMiwgMTEyLCAKLSAgICAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIAotICAgIDIsIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgCi0gICAgMjcsIDc5LCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAyMzQsIDEzMCwgMiwgNzksIDQwLCAKLSAgICAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDE1MSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDE1MSwgMiwgCi0gICAgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMjM0LCAxMzAsIDIsIDc5LCA0MCwgMTcsIDEwLCAKLSAgICAyNywgMjE3LCA4LCAyLCAyMzQsIDEzMCwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgNjYsIAotICAgIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA2NiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIAotICAgIDE1MSwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMTUxLCAyLCAxMjIsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgCi0gICAgMTAsIDI3LCAxNTEsIDIsIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDIzNCwgCi0gICAgMTMwLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgMTIyLCAyLCA3OSwgNDAsIDE3LCAKLSAgICAxMCwgMjcsIDIyMCwgNjAsIDIsIDEyMiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMTIyLCAyLCA3OSwgCi0gICAgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDY2LCAKKyAgICAyNywgNjYsIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCA2NiwgMiwgMjM0LCAxMzEsIDIsIDE1MSwgNjUsIDE3LCAKKyAgICAxMCwgMjcsIDY2LCAyLCAyMzQsIDEzMSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCA2NiwgMiwgMTUxLCAyLCAyMzQsIDEzMSwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDI0MSwgMjIwLCAyLCA2NiwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMjAsIDIsIDY2LCAKKyAgICAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDY0LCAKKyAgICAyLCAxMjIsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAxNTEsIDIsIDY2LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjI4LCA2NCwgMiwgMTUxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIDIsIDE1MSwgMiwgMTEyLCAKKyAgICAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIAorICAgIDIsIDY2LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDc5LCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyNTIsIDU2LCAyLCAyMzQsIDEzMSwgMiwgNzksIDQwLCAKKyAgICAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDE1MSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMTcsIDksIDIsIDE1MSwgMiwgCisgICAgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgMjM0LCAxMzEsIDIsIDc5LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjE3LCA5LCAyLCAyMzQsIDEzMSwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIDIxNywgOSwgMiwgNjYsIAorICAgIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjE3LCA5LCAyLCA2NiwgMiwgMTEyLCAyMzEsIDE5NCwgNDAsIDE3LCAxMCwgMjcsIAorICAgIDE1MSwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMTUxLCAyLCAxMjIsIDIsIDExMiwgMjMxLCAxOTQsIDQwLCAxNywgCisgICAgMTAsIDI3LCAxNTEsIDIsIDY2LCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjgsIDIsIDIzNCwgCisgICAgMTMxLCAyLCAxMTIsIDIzMSwgMTk0LCA0MCwgMTcsIDEwLCAyNywgMjIyLCAyOCwgMiwgMTIyLCAyLCA3OSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIyMCwgNjEsIDIsIDEyMiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxOCwgMiwgMTIyLCAyLCA3OSwgCisgICAgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIDY2LCAKICAgICAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAxMjIsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDE1MSwgMiwgCiAgICAgNzksIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNjYsIDIsIDY2LCAyLCA3OSwgCi0gICAgNDAsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDEyMiwgCi0gICAgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMjQsIDgyLCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIAotICAgIDIsIDEyMiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyNTQsIDE5NywgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgCi0gICAgMjM0LCAyNTEsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDE1MSwgMiwgMTIyLCA2NSwgMTcsIAotICAgIDEwLCAyNywgNjYsIDIsIDIzNCwgMTMwLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDIsIDY2LCAKLSAgICA2NSwgMTcsIDEwLCAyNywgMjM0LCAyNTEsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIAotICAgIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTUxLCAyLCAxMjIsIDQwLCAxNywgMTAsIDI3LCAxNTEsIDIsIAorICAgIDQwLCAxNywgMTAsIDI3LCAyMjQsIDgzLCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAxMjIsIAorICAgIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjI0LCA4MywgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAKKyAgICAyLCAxMjIsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjU0LCAxOTgsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIAorICAgIDIzNCwgMjUyLCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAxNTEsIDIsIDEyMiwgNjUsIDE3LCAKKyAgICAxMCwgMjcsIDY2LCAyLCAyMzQsIDEzMSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTUxLCAyLCA2NiwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMjUyLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTUxLCAKKyAgICAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjQsIDIsIDE1MSwgMiwgMTIyLCA0MCwgMTcsIDEwLCAyNywgMTUxLCAyLCAKICAgICAxMjIsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMTIyLCAyLCAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNjYsIDIsIAotICAgIDE1MSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjUyLCAKLSAgICA1NSwgMiwgMTIyLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIAotICAgIDI3LCAyNTQsIDE5NywgMiwgMTUxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyMiwgMjcsIDIsIDY2LCAyLCA2NiwgNjUsIAotICAgIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAyMzQsIDEzMCwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAKLSAgICAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjIyLCA0LCAyMTQsIDEyOCwgMjUzLCAyMzgsIDIzNCwgNCwgMjE4LCAxMzAsIAotICAgIDUsIDUzLCAxNywgMTAsIDI3LCAyMjQsIDc4LCAyMTQsIDEyOCwgMjUzLCAyMzgsIDIzNCwgNCwgMjE4LCAxMzAsIDUsIDUzLCAKLSAgICAxNywgMTAsIDI3LCAyNTQsIDE1MywgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTgzLCA1MywgMTcsIDEwLCAyNywgMjMwLCAxNTMsIAotICAgIDUzLCAxNywgMTAsIDI3LCAyMjIsIDUsIDUzLCAxNywgMTAsIDI3LCAyMjMsIDE0MywgNTMsIDE3LCAxMCwgMjcsIDI1NCwgCi0gICAgMTcyLCA1MywgMTcsIDEwLCAyNywgMjEyLCA0OSwgNTMsIDE3LCAxMCwgMjcsIDIyMiwgNCwgNTMsIDE3LCAxMCwgMjcsIAotICAgIDIyMiwgMywgMjU0LCAxNzIsIDIxMiwgNDgsIDEwLCAyNywgMjM1LCAxMzQsIDIyMywgMzQsIDUwLCAxMCwgMjcsIDI1MSwgCi0gICAgMjMwLCAyNTQsIDM5LCAyNTQsIDQwLCA0NSwgMjIxLCAxNTYsIDQ1LCAyMjEsIDQ1LCA0NSwgMjIwLCAyMzMsIDQ1LCAyMjAsIAotICAgIDIyMiwgNDUsIDIyMCwgMjExLCA0NSwgMjIwLCAyMDAsIDQ1LCAyMjAsIDE4OSwgNDUsIDIyMCwgMTc4LCA0NSwgMjIwLCAKLSAgICAxNjcsIDQ1LCAyMjEsIDE1NSwgNDUsIDIyMSwgMTQ0LCA0NSwgMjIxLCAxMzMsIDQ1LCAyMjEsIDEyMiwgNDUsIDIyMSwgCi0gICAgMTExLCA0NSwgMjIxLCAxMDAsIDQ1LCAyMjEsIDg5LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCAyNDksIDIxOSwgMjI0LCAKLSAgICAxOTQsIDI0NCwgMjAsIDMxLCA2NywgMTA5LCAyNDksIDIxOSwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgMTA5LCAyNDMsIAotICAgIDIyOSwgMjE4LCAxMjksIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDI0OSwgMjI2LCAyMjQsIDE5NCwgMjQ0LCAyMCwgCi0gICAgMzEsIDY3LCAyMjAsIDE1MCwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgMjQ1LCAzMSwgNzgsIDIyNCwgMTk0LCAyNDQsIAotICAgIDIwLCAzMSwgNjcsIDIyNCwgMTMsIDc4LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0MywgNzEsIDIzMywgMjAsIDEyNywgCi0gICAgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDQsIDcxLCAyMzMsIDIwLCAyNTEsIDE1NiwgMjI0LCAxOTQsIDI0NCwgMjAsIAotICAgIDMxLCA2NywgMjAzLCAyNDUsIDE2MywgMzgsIDI3LCA0MywgMjQyLCAyNywgMzgsIDI3LCA0NCwgMjQyLCAyNywgMzgsIDUyLCAKLSAgICAyMTYsIDg5LCA0MywgMjQyLCAyNywgMzgsIDUyLCAyMTYsIDg5LCA0NCwgMjQyLCAyNywgMzgsIDIzMSwgMjMzLCA0MywgCi0gICAgMjQyLCAyNywgMzgsIDIzMSwgMjMzLCA0NCwgMjQyLCAyNywgMzgsIDI0OSwgMTk3LCAyMzEsIDIzMiwgMjI0LCAxOTQsIAotICAgIDI0NCwgMjAsIDMxLCA2NywgMTEzLCA1OSwgMjMzLCA1NiwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgMjQ1LCAxNjAsIAotICAgIDI0OCwgMTU2LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCAyNDUsIDE1MSwgMjQ4LCAxNTYsIDIyNCwgMTk0LCAyNDQsIAotICAgIDIwLCAzMSwgNjcsIDEyMSwgMjMyLCAyMTMsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDIxMiwgMzIsIDEyMSwgMjMyLCAKLSAgICAyMTMsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQzLCAyMjYsIDMsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIAotICAgIDQ0LCAyMjYsIDMsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQzLCAyNDksIDk5LCAxMjcsIDIyNCwgMTk0LCAyNDQsIAotICAgIDIwLCAzMSwgNjcsIDQ0LCAyNDksIDk5LCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQzLCAyMTYsIDYsIDIyMCwgCi0gICAgNTMsIDEyNywgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDQsIDIxNiwgNiwgMjIwLCA1MywgMTI3LCAyMjQsIDE5NCwgCi0gICAgMjQ0LCAyMCwgMzEsIDY3LCA0MywgODUsIDIzMywgMjAsIDEyNywgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDQsIDg1LCAKLSAgICAyMzMsIDIwLCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQzLCA1MiwgMjU0LCAxMTAsIDEyNywgMjI0LCAxOTQsIAotICAgIDI0NCwgMjAsIDMxLCA2NywgNDQsIDUyLCAyNTQsIDExMCwgMTI3LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0MywgCi0gICAgMjU0LCAxMTAsIDEyNywgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDQsIDI1NCwgMTEwLCAxMjcsIDIyNCwgMTk0LCAKLSAgICAyNDQsIDIwLCAzMSwgNjcsIDQzLCAyNDksIDE2MSwgMTI3LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0NCwgMjQ5LCAKLSAgICAxNjEsIDEyNywgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDMsIDcxLCAyNDksIDE2MSwgMTI3LCAyMjQsIDE5NCwgCi0gICAgMjQ0LCAyMCwgMzEsIDY3LCA0NCwgNzEsIDI0OSwgMTYxLCAxMjcsIDIyMCwgMTMxLCAyNDcsIDEyMCwgNzEsIDIyMCwgMTMxLCAKLSAgICAyNDcsIDEyMCwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDMsIDQyLCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgCi0gICAgNjcsIDQ0LCA0MiwgMTI3LCAyNDgsIDE1NSwgMjI2LCAxMTksIDI1MCwgMTcyLCAyMjYsIDExOSwgMjEyLCAzMiwgMjI2LCAKLSAgICAxMTksIDUyLCAyMTIsIDMyLCAyMjYsIDExOSwgMjQ4LCAxNTUsIDEyMSwgMjMyLCAyMTMsIDI1MCwgMTcyLCAxMjEsIDIzMiwgCi0gICAgMjEzLCAyMTIsIDMyLCAxMjEsIDIzMiwgMjEzLCA0LCAyNDksIDIxOSwgNCwgMTA5LCAyNDksIDIxOSwgNCwgMjQzLCAyMjksIAotICAgIDIxOCwgMTI5LCA0LCAyMjAsIDE1MCwgNCwgMjQ5LCAyMjYsIDQsIDIyNCwgMTMsIDc4LCA0LCAyNDUsIDMxLCA3OCwgNCwgCi0gICAgMjQ1LCAxNjAsIDI0OCwgMTU2LCA0LCA0MywgMjI2LCAzLCA0LCA0NCwgMjI2LCAzLCA0LCA0MywgMjQ5LCA5OSwgMTI3LCA0LCAKLSAgICA0NCwgMjQ5LCA5OSwgMTI3LCA0LCA0MywgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDQsIDQ0LCAyMTYsIDYsIDIyMCwgNTMsIAotICAgIDEyNywgNCwgNTQsIDUwLCA0LCAyNTQsIDEyNiwgNCwgMjUzLCAyMTYsIDQsIDk2LCA1MCwgNCwgMjQwLCAxNjcsIDQsIDIzMywgCi0gICAgMTUsIDUwLCA0LCAyNDIsIDEzMCwgNTAsIDQsIDI0NSwgOTgsIDUwLCA0LCAyMjMsIDUwLCAyMTksIDQ2LCA0LCAyNDcsIAotICAgIDEzMiwgNTAsIDQsIDIyNSwgMTgyLCA1MCwgNCwgMjQ5LCAyMTcsIDI1MywgMjA2LCAxMCwgMjQ0LCAxNjQsIDUzLCAxNywgCi0gICAgMTAsIDIxNywgNDQsIDIsIDI0NCwgMTY0LCA0OCwgMTAsIDI0OCwgMTgzLCA1MywgMTcsIDEwLCAyMTcsIDc4LCAyNDQsIDEsIAotICAgIDEwLCAyMzQsIDIwNCwgNTMsIDE3LCAxMCwgMjQ0LCAxNjYsIDUzLCAxNywgMTAsIDI0NCwgMTY2LCAxNDcsIDE3LCAxMCwgCi0gICAgMjQ4LCAxODUsIDUzLCAxNywgMTAsIDI0OCwgMTg1LCAxNDcsIDE3LCAxMCwgMjM0LCAyMDYsIDUzLCAxNywgMTAsIDIzNCwgCi0gICAgMjA2LCAxNDcsIDE3LCAxMCwgMjIwLCA5NCwgNTMsIDE3LCAxMCwgMjIwLCA5NCwgMTQ3LCAxNywgMTAsIDIxOCwgNDYsIDUzLCAKLSAgICAxNywgMTAsIDIxOCwgNDYsIDE0NywgMTcsIDEwLCAxLCAyMDIsIDUzLCAxNywgMTAsIDEsIDExMiwgMiwgMjMxLCAyMjgsIAotICAgIDc3LCA1MywgMTcsIDEwLCAxLCAxMTIsIDIsIDIzMSwgMjI4LCA3NywgNDAsIDE3LCAxMCwgMSwgMTEyLCAyLCAyMDIsIDc3LCAKLSAgICA1MywgMTcsIDEwLCAxLCAxMTIsIDIsIDIwMiwgNzcsIDQwLCAxNywgMTAsIDEsIDIxMiwgMzEsIDIsIDIwMiwgNzcsIDUzLCAKLSAgICAxNywgMTAsIDEsIDIxMiwgMzEsIDIsIDIwMiwgNzcsIDQwLCAxNywgMTAsIDEsIDExMiwgMiwgMjAyLCAyNTIsIDQzLCA1MywgCi0gICAgMTcsIDEwLCAxLCAxMTIsIDIsIDIwMiwgMjUyLCA0MywgNDAsIDE3LCAxMCwgMSwgNzksIDIsIDIwMiwgNzcsIDUzLCAxNywgCi0gICAgMTAsIDEsIDc5LCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAxLCA3OSwgMiwgMjAyLCA3NywgNjUsIDE3LCAxMCwgMSwgNzksIAotICAgIDIsIDIwMiwgNzcsIDE0NywgMTcsIDEwLCAxLCAxMTIsIDUzLCAxNywgMTAsIDEsIDExMiwgNDAsIDE3LCAxMCwgMSwgMjUyLCAKLSAgICA1NSwgNTMsIDE3LCAxMCwgMSwgMjUyLCA1NSwgNDAsIDE3LCAxMCwgMSwgMjUyLCA1NSwgNjUsIDE3LCAxMCwgMSwgMjUyLCAKLSAgICA1NSwgMTQ3LCAxNywgMTAsIDEsIDIxNywgOCwgMjMxLCAxNjUsIDUzLCAxNywgMTAsIDEsIDIxNywgOCwgMjMxLCAxNjUsIAotICAgIDQwLCAxNywgMTAsIDEsIDIxNywgOCwgNTMsIDE3LCAxMCwgMSwgMjE3LCA4LCA0MCwgMTcsIDEwLCAxLCAyMTcsIDgsIDY1LCAKLSAgICAxNywgMTAsIDEsIDIxNywgOCwgMTQ3LCAxNywgMTAsIDEsIDIxNiwgMTkzLCA1MywgMTcsIDEwLCAxLCAyMTYsIDE5MywgNDAsIAotICAgIDE3LCAxMCwgMSwgMjE2LCAxOTMsIDY1LCAxNywgMTAsIDEsIDIxNiwgMTkzLCAxNDcsIDE3LCAxMCwgMSwgMTUxLCA1MywgCi0gICAgMTcsIDEwLCAxLCAxNTEsIDQwLCAxNywgMTAsIDEsIDE1MSwgNjUsIDE3LCAxMCwgMSwgMTUxLCAxNDcsIDE3LCAxMCwgMSwgCi0gICAgMTIyLCA1MywgMTcsIDEwLCAxLCAxMjIsIDQwLCAxNywgMTAsIDEsIDEyMiwgNjUsIDE3LCAxMCwgMSwgMTIyLCAxNDcsIDE3LCAKLSAgICAxMCwgMSwgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDEsIDIzNCwgMTMwLCA0MCwgMTcsIDEwLCAxLCAyMzQsIDEzMCwgNjUsIAotICAgIDE3LCAxMCwgMSwgMjM0LCAxMzAsIDE0NywgMTcsIDEwLCAxLCAyNDgsIDE5NiwgNTMsIDE3LCAxMCwgMSwgMjQ4LCAxOTYsIAotICAgIDQwLCAxNywgMTAsIDEsIDIxNiwgMjAzLCA1MywgMTcsIDEwLCAxLCAyMTYsIDIwMywgNDAsIDE3LCAxMCwgMSwgMjIzLCA5NiwgCi0gICAgNTMsIDE3LCAxMCwgMSwgMjIzLCA5NiwgNDAsIDE3LCAxMCwgMSwgMjEwLCAxMDksIDUzLCAxNywgMTAsIDEsIDIxMCwgMTA5LCAKLSAgICA0MCwgMTcsIDEwLCAxLCAyMjEsIDE2NywgNTMsIDE3LCAxMCwgMSwgMjIxLCAxNjcsIDQwLCAxNywgMTAsIDEsIDIyMSwgCi0gICAgMTY3LCA2NSwgMTcsIDEwLCAxLCAyMjEsIDE2NywgMTQ3LCAxNywgMTAsIDEsIDIyMCwgNjAsIDUzLCAxNywgMTAsIDEsIAotICAgIDIyMCwgNjAsIDQwLCAxNywgMTAsIDEsIDIyMCwgNjAsIDY1LCAxNywgMTAsIDEsIDIyMCwgNjAsIDE0NywgMTcsIDEwLCAxLCAKLSAgICAyMjIsIDI3LCA1MywgMTcsIDEwLCAxLCAyMjIsIDI3LCA0MCwgMTcsIDEwLCAxLCAyMjIsIDI3LCA2NSwgMTcsIDEwLCAxLCAKLSAgICAyMjIsIDI3LCAxNDcsIDE3LCAxMCwgMSwgMjQ4LCAyMTcsIDUzLCAxNywgMTAsIDEsIDI0OCwgMjE3LCA0MCwgMTcsIDEwLCAKLSAgICAxLCAyNDgsIDIxNywgNjUsIDE3LCAxMCwgMSwgMjQ4LCAyMTcsIDE0NywgMTcsIDEwLCAxLCAyMTcsIDgxLCA1MywgMTcsIAotICAgIDEwLCAxLCAyMTcsIDgxLCA0MCwgMTcsIDEwLCAxLCAyMTcsIDgxLCA2NSwgMTcsIDEwLCAxLCAyMTcsIDgxLCAxNDcsIDE3LCAKLSAgICAxMCwgMSwgMjEwLCAxMTIsIDUzLCAxNywgMTAsIDEsIDIxMCwgMTEyLCA0MCwgMTcsIDEwLCAxLCAyMTAsIDExMiwgNjUsIAotICAgIDE3LCAxMCwgMSwgMjEwLCAxMTIsIDE0NywgMTcsIDEwLCAxLCAyNTQsIDE5NywgNTMsIDE3LCAxMCwgMSwgMjU0LCAxOTcsIAotICAgIDQwLCAxNywgMTAsIDEsIDI1NCwgMTk3LCA2NSwgMTcsIDEwLCAxLCAyNTQsIDE5NywgMTQ3LCAxNywgMTAsIDEsIDI0MiwgCi0gICAgMjQ1LCA1MywgMTcsIDEwLCAxLCAyNDIsIDI0NSwgNDAsIDE3LCAxMCwgMSwgMjQyLCAyNDUsIDY1LCAxNywgMTAsIDEsIAotICAgIDI0MiwgMjQ1LCAxNDcsIDE3LCAxMCwgMSwgMjQ0LCAxNDMsIDUzLCAxNywgMTAsIDEsIDI0NCwgMTQzLCA0MCwgMTcsIDEwLCAKLSAgICAxLCAyNDQsIDE0MywgNjUsIDE3LCAxMCwgMSwgMjQ0LCAxNDMsIDE0NywgMTcsIDEwLCAxLCAyMjQsIDgyLCA1MywgMTcsIAotICAgIDEwLCAxLCAyMjQsIDgyLCA0MCwgMTcsIDEwLCAxLCAyMjQsIDgyLCA2NSwgMTcsIDEwLCAxLCAyMjQsIDgyLCAxNDcsIDE3LCAKLSAgICAxMCwgMSwgMjM0LCAyNTEsIDUzLCAxNywgMTAsIDEsIDIzNCwgMjUxLCA0MCwgMTcsIDEwLCAxLCAyMzQsIDI1MSwgNjUsIAotICAgIDE3LCAxMCwgMSwgMjM0LCAyNTEsIDE0NywgMTcsIDEwLCAxLCAyMzMsIDEwMywgNTMsIDE3LCAxMCwgMSwgMjMzLCAxMDMsIAotICAgIDQwLCAxNywgMTAsIDEsIDIzMywgMTAzLCA2NSwgMTcsIDEwLCAxLCAyMzMsIDEwMywgMTQ3LCAxNywgMTAsIDEsIDY2LCA1MywgCi0gICAgMTcsIDEwLCAxLCA2NiwgNDAsIDE3LCAxMCwgMSwgNjYsIDY1LCAxNywgMTAsIDEsIDY2LCAxNDcsIDE3LCAxMCwgMSwgMjI4LCAKLSAgICA2MywgNTMsIDE3LCAxMCwgMSwgMjI4LCA2MywgNDAsIDE3LCAxMCwgMSwgMjI4LCA2MywgNjUsIDE3LCAxMCwgMSwgMjI4LCAKLSAgICA2MywgMTQ3LCAxNywgMTAsIDEsIDI0MSwgMjE5LCA1MywgMTcsIDEwLCAxLCAyNDEsIDIxOSwgNDAsIDE3LCAxMCwgMSwgCi0gICAgMjQxLCAyMTksIDY1LCAxNywgMTAsIDEsIDI0MSwgMjE5LCAxNDcsIDE3LCAxMCwgMSwgMjEyLCAzMSwgNTMsIDE3LCAxMCwgCi0gICAgMSwgMjEyLCAzMSwgNDAsIDE3LCAxMCwgMSwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMSwgMTEyLCAyMzEsIDE5MywgCi0gICAgNDAsIDE3LCAxMCwgMSwgNzksIDUzLCAxNywgMTAsIDEsIDc5LCA0MCwgMTcsIDEwLCAxLCA3OSwgNjUsIDE3LCAxMCwgMSwgCi0gICAgNzksIDE0NywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgMiwgMjMxLCAyMjgsIDc3LCA1MywgMTcsIDEwLCAyNywgCi0gICAgMjMzLCAxMDMsIDIsIDExMiwgMiwgMjMxLCAyMjgsIDc3LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgMiwgCi0gICAgMjAyLCA3NywgNTMsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxMTIsIDIsIDIwMiwgNzcsIDQwLCAxNywgMTAsIDI3LCAKLSAgICAyMzMsIDEwMywgMiwgMTEyLCAyLCAyMDIsIDI1MiwgNDMsIDUzLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTEyLCAyLCAKLSAgICAyMDIsIDI1MiwgNDMsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTEyLCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIAotICAgIDIsIDExMiwgNDAsIDE3LCAyMTAsIDg3LCAyMTEsIDI0NSwgMjI4LCA3MywgMjE5LCAxOCwgMTI2LCAyNDUsIDMxLCA3OCwgCi0gICAgMTI2LCAyMjMsIDI1NCwgNzgsIDEyNiwgNTQsIDUwLCAxMjYsIDI0NywgMTMyLCA1MCwgMTI2LCAyMjUsIDE4MiwgNTAsIAotICAgIDEyNiwgMjU0LCAxMjYsIDEyNiwgMjU0LCA1NywgMTI2LCA0MywgMjI2LCAzLCAxMjYsIDQ0LCAyMjYsIDMsIDEyNiwgMjUzLCAKLSAgICAyMTYsIDEyNiwgOTYsIDUwLCAxMjYsIDI0OSwgMjE5LCAxMjYsIDI0MCwgMTY3LCAxMjYsIDI0MywgMjI5LCAyMTgsIDEyOSwgCi0gICAgMTI2LCAyMTksIDQ2LCAxMjYsIDIxLCAyMTAsIDg2LCAxMjYsIDIxLCAxMTAsIDEyNiwgMjEsIDEwNSwgMTI2LCAyMSwgMTU4LCAKLSAgICAxMjYsIDIxLCAxNjEsIDEyNiwgMjEsIDE4OSwgMTI2LCAyMSwgMTk0LCAxMjYsIDIxLCAxOTgsIDEyNiwgMjEsIDE5NSwgCi0gICAgMTI2LCAyMSwgMjAwLCAxMjYsIDI0OSwgMjI2LCAxMjYsIDIyMCwgMTUwLCAxMjYsIDIzMywgMTUsIDUwLCAxMjYsIDI0NSwgCi0gICAgOTgsIDUwLCAxMjYsIDI0MiwgMTMwLCA1MCwgMTI2LCAyMjQsIDEzLCA3OCwgMTI2LCAyNDksIDIxNywgMjUzLCAyMDYsIAotICAgIDEyNiwgNywgNiwgMSwgNjEsIDEyNiwgNywgNiwgMSwgMjUzLCAxNTgsIDEyNiwgNywgNiwgMSwgMjUxLCA2NiwgMTI2LCA3LCAKLSAgICA2LCAxLCAyNDksIDYwLCAxMjYsIDcsIDYsIDEsIDc1LCAxMjYsIDcsIDYsIDEsIDI0NSwgNiwgMTI2LCA3LCA2LCAxLCAyNDMsIAotICAgIDIwMiwgMTI2LCA3LCA2LCAxLCAyNDIsIDYwLCAxMjYsIDcsIDYsIDEsIDczLCAxMjYsIDcsIDYsIDEsIDIzNSwgMTQ0LCAKLSAgICAxMjYsIDcsIDYsIDEsIDIzNSwgMjMsIDEyNiwgNywgNiwgMSwgMTU2LCAxMjYsIDcsIDYsIDEsIDE5MywgMTI2LCA3LCA2LCAKLSAgICAxLCAyMzAsIDI1LCAxMjYsIDcsIDYsIDEsIDc2LCAxMjYsIDcsIDYsIDEsIDIyNiwgMTA1LCAxMjYsIDcsIDYsIDEsIDIyNCwgCi0gICAgOTYsIDEyNiwgNywgNiwgMSwgMTUzLCAxMjYsIDcsIDYsIDEsIDIyMiwgOTEsIDEyNiwgNywgNiwgMSwgMjE3LCAxNTIsIAotICAgIDEyNiwgNywgNiwgMSwgNzAsIDEyNiwgNywgNiwgMSwgMjE0LCAxMDUsIDEyNiwgNywgNiwgMSwgMjEyLCA5OCwgMTI2LCA3LCAKLSAgICA2LCAxLCAyMTEsIDE3OCwgMTI2LCA3LCA2LCAxLCAyMTEsIDExNywgMTI2LCA3LCA2LCAxLCAyMTAsIDE1OSwgMTI2LCA0MywgCi0gICAgNDIsIDEyNywgMTI2LCAyMjMsIDUwLCAyMTksIDQ2LCAxMjYsIDQ0LCA0MiwgMTI3LCAxMjYsIDI1MCwgMzEsIDI1NSwgMTQsIAotICAgIDEyNiwgMTIxLCAyMzIsIDIxMywgMTI2LCAyNDIsIDEzNywgMjU1LCAxNCwgMTI2LCA3LCA0LCAxLCA2MSwgMTI2LCA3LCA0LCAKLSAgICAxLCAyNTMsIDE1OCwgMTI2LCA3LCA0LCAxLCAyNTEsIDY2LCAxMjYsIDcsIDQsIDEsIDI0OSwgNjAsIDEyNiwgNywgNCwgMSwgCi0gICAgNzUsIDEyNiwgNywgNCwgMSwgMjQ1LCA2LCAxMjYsIDcsIDQsIDEsIDI0MywgMjAyLCAxMjYsIDcsIDQsIDEsIDI0MiwgNjAsIAotICAgIDEyNiwgNywgNCwgMSwgNzMsIDEyNiwgNywgNCwgMSwgMjM1LCAxNDQsIDEyNiwgNywgNCwgMSwgMjM1LCAyMywgMTI2LCA3LCAKLSAgICA0LCAxLCAxNTYsIDEyNiwgNywgNCwgMSwgMTkzLCAxMjYsIDcsIDQsIDEsIDIzMCwgMjUsIDEyNiwgNywgNCwgMSwgNzYsIAotICAgIDEyNiwgNywgNCwgMSwgMjI2LCAxMDUsIDEyNiwgNywgNCwgMSwgMjI0LCA5NiwgMTI2LCA3LCA0LCAxLCAxNTMsIDEyNiwgNywgCi0gICAgNCwgMSwgMjIyLCA5MSwgMTI2LCA3LCA0LCAxLCAyMTcsIDE1MiwgMTI2LCA3LCA0LCAxLCA3MCwgMTI2LCA3LCA0LCAxLCAKLSAgICAyMTQsIDEwNSwgMTI2LCA3LCA0LCAxLCAyMTIsIDk4LCAxMjYsIDcsIDQsIDEsIDIxMSwgMTc4LCAxMjYsIDcsIDQsIDEsIAotICAgIDIxMSwgMTE3LCAxMjYsIDcsIDQsIDEsIDIxMCwgMTU5LCAxMjYsIDQzLCAyNDksIDk5LCAxMjcsIDEyNiwgNjcsIDIzMiwgCi0gICAgMjEzLCAxMjYsIDQ0LCAyNDksIDk5LCAxMjcsIDEyNiwgMTgyLCAxMjYsIDQzLCA3MSwgMjI2LCAzLCAxMjYsIDQ0LCA3MSwgCi0gICAgMjI2LCAzLCAxMDEsIDEwOSwgMjQzLCAyMjksIDIxOCwgMTI5LCAxMDEsIDQzLCAyNDksIDE2MSwgMTI3LCAxMDEsIDQ0LCAKLSAgICAyNDksIDE2MSwgMTI3LCAxMDEsIDEwOSwgMjQ5LCAyMTksIDEwMSwgNTYsIDIzMCwgMjI0LCAyNDcsIDEyMCwgMTAxLCA1NiwgCi0gICAgMSwgMjExLCAyMjcsIDEwMSwgNTYsIDEsIDQsIDYxLCAxMDEsIDU2LCAxLCA0LCA3MywgMTAxLCA1NiwgMSwgNCwgNzAsIAotICAgIDEwMSwgNTYsIDEsIDQsIDc1LCAxMDEsIDU2LCAxLCA0LCA3NiwgMTAxLCA1NiwgMSwgNCwgMTkxLCAxMDEsIDU2LCAxLCA0LCAKLSAgICAyMTAsIDIxMiwgMTAxLCA1NiwgMSwgNCwgMjEwLCAyNDQsIDEwMSwgNTYsIDEsIDQsIDIxNSwgMTE4LCAxMDEsIDIzNCwgCi0gICAgMjAxLCAyMjQsIDE3MywgMjE5LCAzMSwgNzgsIDEwMSwgNTYsIDEsIDYxLCAxMDEsIDU2LCAxLCA3MywgMTAxLCA1NiwgMSwgCi0gICAgNzAsIDEwMSwgNTYsIDEsIDc1LCAxMDEsIDU2LCAxLCA3NiwgMTAxLCA1NiwgMSwgMTc2LCAxMDEsIDU2LCAxLCAyMzQsIDkyLCAKLSAgICAxMDEsIDU2LCAxLCAyMzMsIDIxNywgMTAxLCA1NiwgMSwgMjM0LCAxODIsIDEwMSwgNTYsIDEsIDIzNCwgMjgsIDEwMSwgNTYsIAotICAgIDEsIDIwNiwgMTAxLCA1NiwgMSwgMjE5LCAxOTEsIDEwMSwgNTYsIDEsIDIxOCwgODMsIDEwMSwgNTYsIDEsIDIyMSwgMTgxLCAKLSAgICAxMDEsIDU2LCAxLCAyMTksIDU4LCAxMDEsIDU2LCAxLCAyMTcsIDEwNSwgMTAxLCA1NiwgMSwgMjE2LCAxMTcsIDEwMSwgNTYsIAotICAgIDEsIDIxNSwgMTE4LCAxMDEsIDU2LCAxLCAyMTcsIDIyLCAxMDEsIDU2LCAxLCAxMTEsIDEwMSwgNTYsIDEsIDE5NywgMTAxLCAKLSAgICA1NiwgMSwgMjI4LCAyMzMsIDEwMSwgNTYsIDEsIDIyNywgMjM3LCAxMDEsIDU2LCAxLCAyMjksIDEwNywgMTAxLCA1NiwgMSwgCi0gICAgMjI4LCA3NCwgMTAxLCA1NiwgMSwgMTYyLCAxMDEsIDU2LCAxLCAyNDEsIDE4MCwgMTAxLCA1NiwgMSwgMjQwLCAyMjIsIAotICAgIDEwMSwgNTYsIDEsIDI0MSwgMjM4LCAxMDEsIDU2LCAxLCAyNDEsIDY4LCAxMDEsIDU2LCAxLCAxODQsIDEwMSwgNTYsIDEsIAotICAgIDIzMCwgMjMwLCAxMDEsIDU2LCAxLCAyMzAsIDEwMiwgMTAxLCA1NiwgMSwgMjMxLCA5MSwgMTAxLCA1NiwgMSwgMjMwLCAKLSAgICAxNjEsIDEwMSwgNTYsIDEsIDE5MSwgMTAxLCA1NiwgMSwgMjEwLCAyMTIsIDEwMSwgNTYsIDEsIDIxMCwgMjQ0LCAxMDEsIAotICAgIDU2LCAxLCAyMDUsIDEwMSwgNTYsIDEsIDIyMywgMzUsIDEwMSwgNTYsIDEsIDIyMiwgMTQwLCAxMDEsIDU2LCAxLCAyMjMsIAotICAgIDEyOCwgMTAxLCA1NiwgMSwgMjIyLCAyMTEsIDEwMSwgNTYsIDEsIDIxMiwgNjUsIDEwMSwgNTYsIDEsIDIzMCwgMjUsIDEwMSwgCi0gICAgNTYsIDIxMywgMTM1LCAyMTksIDMxLCA3OCwgMTAxLCA1NiwgMjIwLCAxNTUsIDIxOSwgMzEsIDc4LCAxMDEsIDI0LCAyNDQsIAotICAgIDEwMywgMTAxLCAyNCwgMSwgMjM0LCA1OCwgMTAxLCAyNCwgMSwgMjE4LCAyMTUsIDEwMSwgMjQsIDEsIDIzNCwgNTEsIDEwMSwgCi0gICAgMjQsIDEsIDIyOCwgMjI2LCAxMDEsIDI0LCAxLCAyMjgsIDIyNCwgMTAxLCAyNCwgMSwgMjI4LCAyMjMsIDEwMSwgMjQsIDEsIAotICAgIDIxNiwgMTAxLCAxMDEsIDI0LCAxLCAyMTgsIDIwNCwgMTAxLCAyNCwgMSwgMjIzLCAyNiwgMTAxLCAyNCwgMSwgMjIzLCAyMSwgCi0gICAgMTAxLCAyNCwgMSwgMjIzLCAxOCwgMTAxLCAyNCwgMSwgMjIzLCAxMSwgMTAxLCAyNCwgMSwgMjIzLCA2LCAxMDEsIDI0LCAxLCAKLSAgICAyMjMsIDEsIDEwMSwgMjQsIDEsIDIyMywgMTIsIDEwMSwgMjQsIDEsIDIyMywgMjQsIDEwMSwgMjQsIDEsIDIzMCwgMjE3LCAKLSAgICAxMDEsIDI0LCAxLCAyMjUsIDk1LCAxMDEsIDI0LCAxLCAyMTgsIDIxMiwgMTAxLCAyNCwgMSwgMjI1LCA4NCwgMTAxLCAyNCwgCi0gICAgMSwgMjE5LCAxNDgsIDEwMSwgMjQsIDEsIDIxOCwgMjA5LCAxMDEsIDI0LCAxLCAyMzYsIDU2LCAxMDEsIDI0LCAxLCAyNTAsIAotICAgIDQ2LCAxMDEsIDI0LCAxLCAyMTgsIDIxOSwgMTAxLCAyNCwgMSwgMjUwLCAxMDYsIDEwMSwgMjQsIDEsIDIzNCwgMTEwLCAKLSAgICAxMDEsIDI0LCAxLCAyMTYsIDE3MywgMTAxLCAyNCwgMSwgMjI1LCAxMzEsIDEwMSwgMjQsIDEsIDI0MSwgMTcyLCAxMDEsIAotICAgIDI0LCAxLCA2MSwgMTAxLCAyNCwgMSwgMjU0LCAyNDMsIDEwMSwgMjQsIDEsIDE5MSwgMTAxLCAyNCwgMSwgMjExLCA5MiwgCi0gICAgMTAxLCAyNCwgMSwgMjQ1LCAxMTcsIDEwMSwgMjQsIDEsIDc1LCAxMDEsIDI0LCAxLCAyMTEsIDM2LCAxMDEsIDI0LCAxLCAKLSAgICAyMTEsIDQ3LCAxMDEsIDI0LCAxLCA3NiwgMTAxLCAyNCwgMSwgMjEyLCA2NSwgMTAxLCAyNCwgMSwgMjEyLCA2MiwgMTAxLCAKLSAgICAyNCwgMSwgMjI2LCAyMzQsIDEwMSwgMjQsIDEsIDIxMCwgMjQ0LCAxMDEsIDI0LCAxLCA3MCwgMTAxLCAyNCwgMSwgMjEyLCAKLSAgICAxMSwgMTAxLCAyNCwgMSwgMjEyLCAyMiwgMTAxLCAyNCwgMSwgMjExLCAyNTAsIDEwMSwgMjQsIDEsIDIxMCwgMjEyLCAxMDEsIAotICAgIDI0LCAxLCAyNDUsIDU1LCAxMDEsIDI0LCAxLCAyMTEsIDgsIDEwMSwgMjQsIDEsIDczLCAxMjYsIDI1MCwgMTc2LCA1MCwgCi0gICAgMTI2LCAyMjQsIDIyOCwgNTAsIDEyNiwgMjI4LCA1MiwgNTAsIDEyNiwgMjMxLCAyMzIsIDEyNiwgMjUxLCAxMzUsIDEzMCwgCi0gICAgMTI2LCAyMTEsIDQwLCA1MCwgMTI2LCAyMTEsIDIxNywgNTAsIDEwMSwgMjQ0LCAxOCwgMTkyLCAyMTMsIDIzOSwgMTAxLCAKLSAgICAxNDAsIDc0LCAxMDEsIDIxNCwgMTUzLCA3NCwgMTAxLCA5NywgNzQsIDEwMSwgMjQ2LCAxMDQsIDc0LCAxMDEsIDg1LCAyMTgsIAotICAgIDIzNCwgMTAxLCA3MSwgMjUwLCAzNSwgMjM1LCAyMDQsIDI1NCwgOTksIDI1NCwgMTIwLCAyMzUsIDIwNCwgMjU0LCA5OSwgCi0gICAgMjIwLCAxMzcsIDIzNSwgMjA0LCAyNTQsIDk5LCAyMTYsIDIzNiwgMjI2LCAyNDksIDIyMywgNzIsIDI1MCwgMTQyLCAyMjMsIAotICAgIDcyLCAyNTAsIDE0MiwgNjIsIDU3LCAzLCAyNTMsIDE0MiwgNjEsIDYyLCA1NywgMywgMjUzLCAxMTEsIDc1LCA2MiwgNTcsIAotICAgIDMsIDI1MywgMTIwLCA3MywgNjIsIDU3LCAzLCAyNTMsIDg4LCA3NiwgNjIsIDU3LCAzLCAyNTMsIDEzOCwgNzAsIDYyLCA1NywgCi0gICAgMywgMjUzLCAxNTcsIDI0OCwgMjIxLCA2MiwgNTcsIDMsIDI1MywgMTA0LCAyNDgsIDkwLCA2MiwgNTcsIDMsIDI1MywgMTQ0LCAKLSAgICAyNDgsIDMsIDYyLCA1NywgMywgMjUzLCAxMzQsIDI0NywgMTQ1LCA2MiwgNTcsIDMsIDI1MywgOTgsIDI0NiwgNzgsIDYyLCAKLSAgICA1NywgMywgMjUzLCA5MiwgMjM1LCAxNDEsIDYyLCA1NywgMywgMjUzLCAxMDMsIDIzNSwgMTI2LCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTEzLCAyMzUsIDY4LCA2MiwgNTcsIDMsIDI1MywgODQsIDIzNSwgNTEsIDYyLCA1NywgMywgMjUzLCA3MiwgMTc2LCA2MiwgCi0gICAgNTcsIDMsIDI1MywgMTA1LCAyMzQsIDE4MiwgNjIsIDU3LCAzLCAyNTMsIDgyLCAyMzQsIDkyLCA2MiwgNTcsIDMsIDI1MywgCi0gICAgNzksIDIzNCwgMjgsIDYyLCA1NywgMywgMjUzLCA2OCwgMjMzLCAyMTcsIDYyLCA1NywgMywgMjUzLCA2OSwgMTg0LCA2MiwgCi0gICAgNTcsIDMsIDI1MywgMTM1LCAyMzEsIDkxLCA2MiwgNTcsIDMsIDI1MywgNzYsIDIzMCwgMjMwLCA2MiwgNTcsIDMsIDI1MywgCi0gICAgMTMzLCAyMzAsIDE2MSwgNjIsIDU3LCAzLCAyNTMsIDEyNSwgMjMwLCAxMDIsIDYyLCA1NywgMywgMjUzLCAxNDYsIDE5NywgCi0gICAgNjIsIDU3LCAzLCAyNTMsIDEyNCwgMjI5LCAxMDcsIDYyLCA1NywgMywgMjUzLCAxMTgsIDIyOCwgMjMzLCA2MiwgNTcsIDMsIAotICAgIDI1MywgOTcsIDIyOCwgNzQsIDYyLCA1NywgMywgMjUzLCA5NCwgMjI3LCAyMzcsIDYyLCA1NywgMywgMjUzLCAxNTMsIDE5MCwgCi0gICAgNjIsIDU3LCAzLCAyNTMsIDc3LCAyMjUsIDIyMSwgNjIsIDU3LCAzLCAyNTMsIDExMCwgMjI1LCAxMDgsIDYyLCA1NywgMywgCi0gICAgMjUzLCAxMzcsIDIyNSwgMTYsIDYyLCA1NywgMywgMjUzLCA5OSwgMjI0LCAxNTAsIDYyLCA1NywgMywgMjUzLCAxMzIsIAotICAgIDIyNCwgODgsIDYyLCA1NywgMywgMjUzLCA3MSwgMjI0LCA2OSwgNjIsIDU3LCAzLCAyNTMsIDEyNywgMjI0LCA1MywgNjIsIAotICAgIDU3LCAzLCAyNTMsIDExNiwgMjI0LCA0MiwgNjIsIDU3LCAzLCAyNTMsIDg5LCAyMDUsIDYyLCA1NywgMywgMjUzLCAxMjEsIAotICAgIDIyMywgMTI4LCA2MiwgNTcsIDMsIDI1MywgOTYsIDIyMywgMzUsIDYyLCA1NywgMywgMjUzLCAxNTUsIDIyMiwgMjExLCA2MiwgCi0gICAgNTcsIDMsIDI1MywgMTIyLCAyMjIsIDE0MCwgNjIsIDU3LCAzLCAyNTMsIDExNywgMjA2LCA2MiwgNTcsIDMsIDI1MywgMTQwLCAKLSAgICAyMjEsIDE4MSwgNjIsIDU3LCAzLCAyNTMsIDEwOCwgMjE5LCAxOTEsIDYyLCA1NywgMywgMjUzLCAxMzYsIDIxOSwgNTgsIAotICAgIDYyLCA1NywgMywgMjUzLCA5MSwgMjE4LCA4MywgNjIsIDU3LCAzLCAyNTMsIDkwLCAyMTcsIDEwNSwgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDE1MSwgMjE3LCAyMiwgNjIsIDU3LCAzLCAyNTMsIDExMiwgMjE2LCAxMTcsIDYyLCA1NywgMywgMjUzLCAxNDksIAotICAgIDExMSwgNjIsIDU3LCAzLCAyNTMsIDgwLCAyMTUsIDExOCwgNjIsIDU3LCAzLCAyNTMsIDk1LCAyMTIsIDY1LCA2MiwgNTcsIAotICAgIDMsIDI1MywgNzQsIDIxMiwgMjIsIDYyLCA1NywgMywgMjUzLCAxMDksIDIxMSwgMjUwLCA2MiwgNTcsIDMsIDI1MywgMTA3LCAKLSAgICAyMTEsIDIyNywgNjIsIDU3LCAzLCAyNTMsIDEzMSwgMjEwLCAxMTYsIDYyLCA1NywgMywgMjUzLCA3NSwgMjEwLCA5NCwgNjIsIAotICAgIDU3LCAzLCAyNTMsIDEyOCwgMjEwLCAyMywgNjIsIDU3LCAzLCAyNTMsIDEyMywgMjU1LCA3NSwgNjIsIDU3LCAzLCAyNTMsIAotICAgIDEwNiwgMjU1LCA3NCwgNjIsIDU3LCAzLCAyNTMsIDY1LCAyNTMsIDE5MiwgNjIsIDU3LCAzLCAyNTMsIDc4LCAyNDYsIDQ2LCAKLSAgICA2MiwgNTcsIDMsIDI1MywgNjEsIDI0NiwgNDUsIDYyLCA1NywgMywgMjUzLCAxMDEsIDIyNywgMTc0LCA2MiwgNTcsIDMsIAotICAgIDI1MywgMTE5LCAyMjQsIDE0OCwgNjIsIDU3LCAzLCAyNTMsIDg3LCAyMjQsIDE1MiwgNjIsIDU3LCAzLCAyNTMsIDczLCAKLSAgICAyMjMsIDE4NiwgNjIsIDU3LCAzLCAyNTMsIDExNSwgMjIzLCAxODUsIDYyLCA1NywgMywgMjUzLCA4MSwgMjIyLCAyMTAsIAotICAgIDYyLCA1NywgMywgMjUzLCA4MywgMjE3LCAxMDIsIDYyLCA1NywgMywgMjUzLCA2MywgMjE1LCA3OCwgNjIsIDU3LCAzLCAKLSAgICAyNTMsIDYwLCAxMDUsIDYyLCA1NywgMTYsIDI1MywgMTMwLCA2MiwgNTcsIDE2LCAyNTMsIDEyOSwgNjIsIDU3LCAxNiwgCi0gICAgMjUzLCAxMjYsIDYyLCA1NywgMTYsIDI1MywgMTE0LCA2MiwgNTcsIDE2LCAyNTMsIDEwMiwgNjIsIDU3LCAxNiwgMjUzLCAKLSAgICAxMDAsIDYyLCA1NywgMTYsIDI1MywgOTMsIDYyLCA1NywgMTYsIDI1MywgODYsIDYyLCA1NywgMTYsIDI1MywgODUsIDYyLCAKLSAgICA1NywgMTYsIDI1MywgNzAsIDYyLCA1NywgMTYsIDI1MywgNjcsIDYyLCA1NywgMTYsIDI1MywgNjYsIDYyLCA1NywgMTYsIAotICAgIDI1MywgNjQsIDYyLCA1NywgMTYsIDI1MywgNjIsIDYyLCA1NywgMTA2LCAyNTMsIDU5LCAyMzEsIDE4NSwgNjIsIDU3LCAKLSAgICAxMDYsIDI1MywgNTgsIDIxMSwgMjIxLCA2MiwgNTcsIDEwNiwgMjUzLCA1NywgMjQ4LCA3NCwgNjIsIDU3LCAxMDYsIDI1MywgCi0gICAgNTYsIDI0NSwgOTUsIDYyLCA1NywgMTA2LCAyNTMsIDU1LCAyMzEsIDE1OSwgNjIsIDU3LCAxMDYsIDI1MywgNTQsIDIxOCwgCi0gICAgMTYyLCA2MiwgNTcsIDEwNiwgMjUzLCA1MywgMjQ1LCAzNywgNjIsIDU3LCAxMDYsIDI1MywgNTIsIDIyMywgMTUzLCA2MiwgCi0gICAgNTcsIDEwNiwgMjUzLCA1MSwgMjIwLCA2MiwgNjIsIDU3LCAxMDYsIDI1MywgNTAsIDI0MSwgMjM3LCA2MiwgNTcsIDEwNiwgCi0gICAgMjUzLCA0OSwgMjE5LCAyNSwgNjIsIDU3LCAxMDYsIDI1MywgNDgsIDI1MSwgMjAzLCA2MiwgNTcsIDEwNiwgMjUzLCA0NywgCi0gICAgMjQ5LCAxNDUsIDYyLCA1NywgMTA2LCAyNTMsIDQ2LCAyNTEsIDExNSwgNjIsIDU3LCAxMDYsIDI1MywgNDUsIDIxMiwgMiwgCi0gICAgNjIsIDU3LCAxMDYsIDI1MywgNDQsIDI1MiwgMTM2LCA2MiwgNTcsIDEwNiwgMjUzLCA0MywgMjI2LCAyMDUsIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDQyLCAyMTgsIDI1NCwgNjIsIDU3LCAxMDYsIDI1MywgNDEsIDI0OSwgNjgsIDYyLCA1NywgMjMwLCAxNDIsIAotICAgIDI1MywgNDAsIDIzNCwgMjI0LCA2MiwgNTcsIDIzMCwgMTQyLCAyNTMsIDM5LCAyMzQsIDIzMiwgNjIsIDU3LCAxMDYsIDI1MywgCi0gICAgMzgsIDIyNiwgMjE4LCA2MiwgNTcsIDEwNiwgMjUzLCAzNywgMjExLCAyMzYsIDYyLCA1NywgMTA2LCAyNTMsIDM2LCA2MiwgCi0gICAgNTcsIDIzMCwgMTQyLCAyNTMsIDM1LCAyNTQsIDE3LCA2MiwgNTcsIDIzMCwgMTQyLCAyNTMsIDM0LCAyMzEsIDUyLCA2MiwgCi0gICAgNTcsIDEwNiwgMjUzLCAzMywgMjUxLCAxMzQsIDYyLCA1NywgMTA2LCAyNTMsIDMyLCAyNDIsIDE2NiwgNjIsIDU3LCAxMDYsIAotICAgIDI1MywgMzEsIDYyLCA1NywgMTA2LCAyNTMsIDMwLCAyMTEsIDIxMiwgNjIsIDU3LCAxMDYsIDI1MywgMjksIDYyLCA1NywgCi0gICAgMTA2LCAyNTMsIDI4LCA2MiwgNTcsIDEwNiwgMjUzLCAyNywgMjQwLCAyNDgsIDYyLCA1NywgMTA2LCAyNTMsIDI2LCA2MiwgCi0gICAgNTcsIDEwNiwgMjUzLCAyNSwgNjIsIDU3LCAxMDYsIDI1MywgMjQsIDYyLCA1NywgMjMwLCAxNDIsIDI1MywgMjIsIDIxNSwgCi0gICAgOTIsIDYyLCA1NywgMTA2LCAyNTMsIDIxLCA2MiwgNTcsIDEwNiwgMjUzLCAyMCwgNjIsIDU3LCAxMDYsIDI1MywgMTksIAotICAgIDI0OSwgMjUwLCA2MiwgNTcsIDEwNiwgMjUzLCAxOCwgNjIsIDU3LCAxMDYsIDI1MywgMTcsIDYyLCA1NywgMTA2LCAyNTMsIAotICAgIDE2LCAyNDMsIDkzLCA2MiwgNTcsIDEwNiwgMjUzLCAxNSwgMjU0LCA0LCA2MiwgNTcsIDEwNiwgMjUzLCAxNCwgNjIsIDU3LCAKLSAgICAxMDYsIDI1MywgMTMsIDYyLCA1NywgMTA2LCAyNTMsIDEyLCA2MiwgNTcsIDEwNiwgMjUzLCAxMSwgNjIsIDU3LCAxMDYsIAotICAgIDI1MywgMTAsIDYyLCA1NywgMTA2LCAyNTMsIDksIDYyLCA1NywgMTA2LCAyNTMsIDgsIDYyLCA1NywgMTA2LCAyNTMsIDcsIAotICAgIDYyLCA1NywgMTA2LCAyNTMsIDYsIDYyLCA1NywgMTA2LCAyNTMsIDUsIDIzMCwgMTM0LCA2MiwgNTcsIDEwNiwgMjUzLCA0LCAKLSAgICA2MiwgNTcsIDEwNiwgMjUzLCAzLCAyMTUsIDIzNSwgNjIsIDU3LCAxMDYsIDI1MywgMiwgNjIsIDU3LCAxMDYsIDI1MywgMSwgCi0gICAgNjIsIDU3LCAxMDYsIDI1MywgMCwgNjIsIDU3LCAxMDYsIDI1MiwgMjU1LCA2MiwgNTcsIDEwNiwgMjUyLCAyNTQsIDYyLCAKLSAgICA1NywgMTA2LCAyNTIsIDI1MywgNjIsIDU3LCAxMDYsIDI1MiwgMjUyLCA2MiwgNTcsIDEwNiwgMjUyLCAyNTEsIDYyLCA1NywgCi0gICAgMTA2LCAyNTIsIDI1MCwgNjIsIDU3LCAxMDYsIDI1MiwgMjQ5LCA2MiwgNTcsIDEwNiwgMjUyLCAyNDgsIDYyLCA1NywgMTA2LCAKLSAgICAyNTIsIDI0NywgMjQxLCAyMTEsIDYyLCA1NywgMTA2LCAyNTIsIDIyNiwgMjQ0LCAyOCwgNjIsIDU3LCAxMDYsIDI1MiwgCi0gICAgMjIzLCAyNTIsIDExNiwgNjIsIDU3LCAxMDYsIDI1MiwgMjE4LCAyMTksIDUsIDYyLCA1NywgMTA2LCAyNTIsIDIxNywgNzQsIAotICAgIDYyLCA1NywgMTA2LCAyNTIsIDIxNiwgNjIsIDU3LCAxMDYsIDI1MiwgMjE1LCAyMTcsIDIzNiwgNjIsIDU3LCAxMDYsIDI1MiwgCi0gICAgMjE0LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTMsIDYyLCA1NywgMTA2LCAyNTIsIDIxMiwgMjExLCAyNTQsIDI1MCwgMTM5LCAKLSAgICA2MiwgNTcsIDEwNiwgMjUyLCAyMTEsIDI1MCwgMTM5LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTAsIDI1MCwgMTQwLCAyNDMsIAotICAgIDI1NSwgNjIsIDU3LCAxMDYsIDI1MiwgMjA5LCAyMTIsIDAsIDYyLCA1NywgMTA2LCAyNTIsIDIwOCwgNjIsIDU3LCAxMDYsIAotICAgIDI1MiwgMjA3LCA2MiwgNTcsIDIzMCwgMTQyLCAyNTIsIDIwNiwgMjQ3LCAxOTgsIDYyLCA1NywgMTA2LCAyNTIsIDIwNSwgCi0gICAgNjIsIDU3LCAxMDYsIDI1MiwgMjA0LCA2MiwgNTcsIDEwNiwgMjUyLCAyMDIsIDYyLCA1NywgMTA2LCAyNTIsIDIwMSwgNjIsIAotICAgIDU3LCAxMDYsIDI1MiwgMjAwLCA2MiwgNTcsIDEwNiwgMjUyLCAxOTksIDI0OCwgMTU5LCA2MiwgNTcsIDEwNiwgMjUyLCAKLSAgICAxOTgsIDYyLCA1NywgMTA2LCAyNTIsIDE5NywgNjIsIDU3LCAxMDYsIDI1MiwgMTk2LCA2MiwgNTcsIDEwNiwgMjUyLCAxOTUsIAotICAgIDYyLCA1NywgMTA2LCAyNTIsIDE5NCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTMsIDIzLCA2MiwgNTcsIDEwNiwgMjEzLCAKLSAgICAxODYsIDI1MiwgMjQ2LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjQ1LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIAotICAgIDI1MiwgMjQ0LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjQzLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgCi0gICAgMjQyLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjQxLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjQwLCAKLSAgICA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjM5LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjM4LCA2MiwgNTcsIAotICAgIDEwNiwgMjEzLCAxODYsIDI1MiwgMjM3LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjM2LCA2MiwgNTcsIDEwNiwgCi0gICAgMjEzLCAxODYsIDI1MiwgMjM1LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjM0LCA2MiwgNTcsIDEwNiwgMjEzLCAKLSAgICAxODYsIDI1MiwgMjMzLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjMyLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIAotICAgIDI1MiwgMjMxLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjMwLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgCi0gICAgMjI5LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjI4LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjI3LCAKLSAgICA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjI1LCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjI0LCA2MiwgNTcsIAotICAgIDEwNiwgMjEzLCAxODYsIDI1MiwgMjIyLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjIxLCA2MiwgNTcsIDEwNiwgCi0gICAgMjEzLCAxODYsIDI1MiwgMjIwLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMjE5LCA2MiwgNTcsIDEwNiwgMjEzLCAKLSAgICAxODYsIDI1MiwgMjAzLCA2MiwgNTcsIDEwNiwgMjEzLCAxODYsIDI1MiwgMTkzLCAyNTQsIDIzNiwgMjExLCAyMDksIDIyMCwgCi0gICAgMTM4LCAyMzIsIDIxMywgMjU0LCAyMzYsIDIxMSwgMjA5LCAyMjAsIDEzOCwgMjQ3LCAxMjAsIDI1NCwgMjM2LCAyNTAsIAotICAgIDEzMCwgNzgsIDI1NCwgMjM2LCA1NCwgMTEwLCAyNTQsIDIzNiwgNTQsIDEwNSwgMjU0LCAyMzYsIDU0LCAxNTgsIDI1NCwgCi0gICAgMjM2LCA1NCwgMTYxLCAyNTQsIDIzNiwgNTQsIDE4OSwgMjU0LCAyMzYsIDU0LCAxOTQsIDI1NCwgMjM2LCA1NCwgMTk4LCAKLSAgICAyNTQsIDIzNiwgNTQsIDE5NSwgMjU0LCAyMzYsIDU0LCAyMDAsIDI1NCwgMjM2LCA1NCwgMjE2LCAyNDcsIDI1NCwgMjM2LCAKLSAgICA1NCwgMjE1LCA3MywgMjU0LCAyMzYsIDU0LCAyMTYsIDE2MiwgMjU0LCAyMzYsIDU0LCAyNDQsIDE1LCAyNTQsIDIzNiwgNTQsIAotICAgIDI0NCwgMTE0LCAyNTQsIDIzNiwgNTQsIDIxOSwgMTExLCAyNTQsIDIzNiwgNTQsIDIyMCwgMTE2LCAyNTQsIDIzNiwgNTQsIAotICAgIDI0NSwgMTg0LCAyNTQsIDIzNiwgNTQsIDIyOCwgMTk1LCAyNTQsIDIzNiwgNTQsIDEyMywgMjQwLCAyMTAsIDI1NCwgMjM2LCAKLSAgICA1NCwgMTEzLCAyNDAsIDIxMCwgMjU0LCAyMzYsIDU0LCAxMzQsIDI0MCwgMjEwLCAyNTQsIDIzNiwgNTQsIDI0NCwgMTEsIAotICAgIDI0MCwgMjEwLCAyNTQsIDIzNiwgNTQsIDI0NCwgODEsIDI0MCwgMjEwLCAyNTQsIDIzNiwgNTQsIDIxOSwgMTI1LCAyNDAsIAotICAgIDIxMCwgMjU0LCAyMzYsIDU0LCAyMjAsIDEyMiwgMjQwLCAyMTAsIDI1NCwgMjM2LCA1NCwgMjQ1LCAxOTMsIDI0MCwgMjEwLCAKLSAgICAyNTQsIDIzNiwgNTQsIDIyOCwgMjAwLCAyNDAsIDIxMCwgMjU0LCAyMzYsIDU0LCAxMjMsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgCi0gICAgNTQsIDExMywgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMTM0LCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyNDQsIDExLCAKLSAgICAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyNDQsIDgxLCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyMTksIDEyNSwgMjE2LCAKLSAgICAxNDcsIDI1NCwgMjM2LCA1NCwgMjIwLCAxMjIsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIDI0NSwgMTkzLCAyMTYsIDE0NywgCi0gICAgMjU0LCAyMzYsIDU0LCAyMjgsIDIwMCwgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjE2LCAyNDgsIDIxNiwgMTQ3LCAyNTQsIAotICAgIDIzNiwgNTQsIDIxNSwgNzQsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIDIxNiwgMTYzLCAyMTYsIDE0NywgMjU0LCAyMzYsIAotICAgIDU0LCAyNDQsIDE2LCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyNDQsIDExNSwgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgCi0gICAgMjE5LCAxMTIsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIDIyMCwgMTE3LCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyNDUsIAotICAgIDE4NSwgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjI4LCAxOTYsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgMjEyLCAxNCwgMjUyLCAKLSAgICAxMjgsIDIxNCwgMTczLCAyNTQsIDIzNiwgMjEyLCAxNCwgMjQ0LCA5MiwgMjE4LCA1OSwgMjU0LCAyMzYsIDIxMiwgMTQsIAotICAgIDIyMSwgMTc2LCAyMTgsIDU5LCAyNTQsIDIzNiwgMjEyLCAxNCwgMjE2LCAxNjksIDIxOCwgNTksIDI1NCwgMjM2LCAyMTIsIAotICAgIDE0LCAyNDQsIDQsIDIxOCwgNTksIDI1NCwgMjM2LCAyNDYsIDgxLCAyMzEsIDkwLCAyNDQsIDkyLCAyMTgsIDU5LCAyNTQsIAotICAgIDIzNiwgMjMyLCAxOTksIDIzMSwgOTAsIDI0NCwgOTIsIDIxOCwgNTksIDI1NCwgMjM2LCAyMzEsIDkwLCAyMjEsIDE3NiwgCi0gICAgMjE4LCA1OSwgMjU0LCAyMzYsIDIzMSwgOTAsIDIxNiwgMTY5LCAyMTgsIDU5LCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMTIzLCAKLSAgICAyMjQsIDIxLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMTIzLCAyNDIsIDI3LCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMTIzLCAKLSAgICAyNDYsIDEwMCwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDE4OSwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgMTE0LCAyNiwgCi0gICAgMjU1LCA2LCAyNTMsIDE5NCwgMjQ0LCA4MSwgMjQwLCAyMTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDgxLCAyMTYsIAotICAgIDE0NywgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgMTE1LCAyMTYsIDE0NywgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgCi0gICAgODEsIDIxNywgNjcsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyMTYsIDI0OCwgMjE3LCA2NywgMjYsIDI1NSwgNiwgMjUzLCAKLSAgICAxOTQsIDI0NCwgMTE1LCAyMTcsIDY3LCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMTIzLCAyNDAsIDIxMSwgMjE3LCA2NywgMjYsIAotICAgIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgODEsIDI0MCwgMjExLCAyMTcsIDY3LCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMTIzLCAKLSAgICAyMTYsIDE0OCwgMjE3LCA2NywgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgODEsIDIxNiwgMTQ4LCAyMTcsIDY3LCAyNiwgCi0gICAgMjU1LCA2LCAyNTMsIDE5NCwgMjQ0LCA4MSwgMjE4LCAxNTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyMTYsIDI0OCwgMjE4LCAKLSAgICAxNTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDExNSwgMjE4LCAxNTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAxMjMsIAotICAgIDI0MCwgMjExLCAyMTgsIDE1MCwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgODEsIDI0MCwgMjExLCAyMTgsIDE1MCwgCi0gICAgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDEyMywgMjE2LCAxNDgsIDIxOCwgMTUwLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMjE2LCAKLSAgICAyNDgsIDIxNiwgMTQ4LCAyMTgsIDE1MCwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgMTE1LCAyMTYsIDE0OCwgMjE4LCAKLSAgICAxNTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyMTYsIDI0OCwgMjMwLCAxNjQsIDI2LCAyNTUsIDYsIDI0MSwgMjA1LCAxMjMsIAotICAgIDIyNSwgMzEsIDI2LCAyNTUsIDYsIDIxNiwgMTgxLCAxMTAsIDI2LCAyNTUsIDYsIDI0MSwgMjAxLCAxMTAsIDI2LCAyNTUsIAotICAgIDYsIDI0NSwgMTA0LCAxMDUsIDI2LCAyNTUsIDYsIDIxNiwgMTgxLCAxMDUsIDI2LCAyNTUsIDYsIDI0OSwgNjUsIDExMywgCi0gICAgMjQ2LCA5OSwgMjYsIDI1NSwgNiwgMjQ1LCAxMDQsIDExMywgMjQ2LCA5OSwgMjYsIDI1NSwgNiwgMjE1LCAyMDMsIDE4OSwgCi0gICAgMjYsIDI1NSwgNiwgMjE1LCAyMDMsIDIxNiwgMjQ3LCAyNiwgMjU1LCA2LCAyMTUsIDIwMywgMjE2LCAyNDgsIDI1NCwgMTQxLCAKLSAgICAxNywgMjYsIDI1NSwgNiwgMjQxLCAyMDEsIDIxNiwgMjQ3LCAyNiwgMjU1LCA2LCAyMzEsIDQxLCAyMTYsIDI0NywgMjYsIAotICAgIDI1NSwgNiwgMjE2LCAxODEsIDIxNiwgMjQ3LCAyNiwgMjU1LCA2LCAyMTYsIDE4MSwgMjE2LCAxNjIsIDI2LCAyNTUsIDYsIAotICAgIDIxNSwgMjAzLCAyNDQsIDExNCwgMjYsIDI1NSwgNiwgMjE1LCAyMDMsIDI0NCwgMTE1LCAyNTQsIDE0MSwgMTcsIDI2LCAKLSAgICAyNTUsIDYsIDI0MSwgMjAxLCAyNDQsIDExNCwgMjYsIDI1NSwgNiwgMjE2LCAxODEsIDI0NCwgMTE0LCAyNiwgMjU1LCA2LCAKLSAgICAyMTYsIDE4MSwgMTIzLCAyNDAsIDIxMCwgMjYsIDI1NSwgNiwgMjE2LCAxODEsIDEzNCwgMjQwLCAyMTAsIDI2LCAyNTUsIDYsIAotICAgIDI0NSwgMTA0LCAyNDQsIDgxLCAyNDAsIDIxMCwgMjYsIDI1NSwgNiwgMjE1LCAyMDMsIDI0NCwgODEsIDI0MCwgMjEwLCAyNiwgCi0gICAgMjU1LCA2LCAyMTYsIDE4MSwgMjQ0LCA4MSwgMjQwLCAyMTAsIDI2LCAyNTUsIDYsIDI1MCwgMjI3LCAyNDQsIDgxLCAyNDAsIAotICAgIDIxMCwgMjYsIDI1NSwgNiwgMjI5LCAxODIsIDI0NCwgODEsIDI0MCwgMjEwLCAyNiwgMjU1LCA2LCAyMTYsIDE4MSwgMTIzLCAKLSAgICAyMTYsIDE0NywgMjYsIDI1NSwgNiwgMjE2LCAxODEsIDI0NCwgODEsIDIxNiwgMTQ3LCAyNiwgMjU1LCA2LCAyNDgsIDU3LCAKLSAgICAyNDQsIDgxLCAyMzAsIDE2NCwgMjYsIDI1NSwgNiwgMjE4LCAxMTgsIDI0NCwgMTE1LCAyMzAsIDE2NCwgMjYsIDEyMywgCi0gICAgMTYzLCA1MCwgMjYsIDEyMywgMTYzLCA1LCAyNTQsIDE0MSwgMTcsIDI2LCAxMTMsIDIxNiwgMTY3LCA1MCwgMjYsIDEzNCwgCi0gICAgMjI0LCAyMCwgNTAsIDI2LCAyMTEsIDQ1LCA1MCwgMjYsIDIxNywgNjgsIDUwLCAyNiwgMjQ2LCAxMDEsIDUwLCAyNiwgMjI2LCAKLSAgICAyNDYsIDUwLCAyNiwgMTEzLCAyMjYsIDI0NSwgNTAsIDI2LCAxMzQsIDIyNiwgMjQ1LCA1MCwgMjYsIDI0NCwgMTEsIDIyNiwgCi0gICAgMjQ1LCA1MCwgMjYsIDI0NCwgODEsIDIyNiwgMjQ1LCA1MCwgMjYsIDIzMSwgMzUsIDUwLCAyNiwgMjMzLCAxNTcsIDI1MiwgCi0gICAgMTI4LCA1MCwgMjYsIDIzMiwgMTk0LCA1MCwgMjYsIDIyNiwgMTMxLCA1MCwgMjYsIDIxMSwgMTU5LCA1MCwgMjYsIDI1MywgCi0gICAgMjQzLCA1MCwgMjYsIDI1NCwgMCwgNTAsIDI2LCAyNDIsIDE0NCwgNTAsIDI2LCAyMTUsIDE4NiwgMjUyLCAxMjgsIDUwLCAKLSAgICAyNiwgMjEwLCA4NywgNTAsIDIyMiwgMTk4LCAyMjAsIDExMywgNTAsIDIyMiwgMTk4LCAyMTQsIDE4NSwgNTAsIDIyMiwgCi0gICAgMTk4LCAyMjAsIDE0MiwgNTAsIDIyMiwgMTk4LCAyMjAsIDExMSwgNTAsIDIyMiwgMTk4LCAyNDcsIDIxMywgMjIwLCAxMTEsIAotICAgIDUwLCAyMjIsIDE5OCwgMjE5LCAxNjgsIDUwLCAyMjIsIDE5OCwgMjQ4LCA1MywgNTAsIDIyMiwgMTk4LCAyMjQsIDYsIDUwLCAKLSAgICAyMjIsIDE5OCwgMjIwLCAxMjksIDUwLCAyMjIsIDE5OCwgMjQ2LCA2MCwgNTAsIDIyMiwgMTk4LCAyNTMsIDIzOCwgNTAsIAotICAgIDIyMiwgMTk4LCAyNTAsIDE3MSwgNTAsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjI1LCAyMTMsIDIyNSwgMTQzLCAyNDcsIAotICAgIDE5MSwgNSwgMjI1LCAyNCwgMjQxLCAyMzUsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjE3LCA0NSwgMjQxLCAyMzUsIDIyNSwgCi0gICAgMTQzLCAyNDcsIDE5MSwgNSwgMjUwLCAyNDcsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjUwLCAxMDEsIDIyNSwgMTQzLCAKLSAgICAyNDcsIDE5MSwgNSwgMjExLCAyMjEsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjQxLCAyMTEsIDIyNSwgMTQzLCAyNDcsIAotICAgIDE5MSwgNSwgMjQzLCA4NSwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMTYsIDExNiwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAKLSAgICA3NCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyNTEsIDE2OSwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMjAsIDI5LCAyMjUsIAotICAgIDE0MywgMjQ3LCAxOTEsIDUsIDI0OSwgMjQ0LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIzMSwgMTg0LCAyMjUsIDE0MywgCi0gICAgMjQ3LCAxOTEsIDUsIDIzMSwgMTM2LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIyMSwgMjE2LCAyMjUsIDE0MywgMjQ3LCAKLSAgICAxOTEsIDUsIDIzMiwgMjM3LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI1MSwgMTg4LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIAotICAgIDI1MCwgMjMxLCAyMjUsIDM1LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI0NywgMTMzLCAyMjUsIDE0MywgMjQ3LCAxOTEsIAotICAgIDUsIDI0OSwgMjIzLCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIxOSwgODcsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjQ5LCAKLSAgICAyMjQsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjUyLCA2MywgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMjAsIDE2LCAyMjUsIAotICAgIDE0MywgMjQ3LCAxOTEsIDUsIDI0MCwgMjQ4LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI0MSwgMTc4LCAyMjUsIDE0MywgCi0gICAgMjQ3LCAxOTEsIDUsIDI1MSwgMTEyLCAyMzMsIDM2LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI1MCwgMjI0LCAyMjUsIAotICAgIDE0MywgMjQ3LCAxOTEsIDUsIDIyMywgMTUzLCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI0NSwgMjMwLCAyMjUsIDE0MywgCi0gICAgMjQ3LCAxOTEsIDUsIDI0NiwgMTA3LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIxNSwgMTA1LCAyMjUsIDE0MywgMjQ3LCAKLSAgICAxOTEsIDUsIDI1MiwgNjYsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjI1LCAzNiwgMjE1LCAyMzUsIDIyNSwgMTQzLCAyNDcsIAotICAgIDE5MSwgNSwgMjEzLCAxNTksIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjI2LCAxOCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAKLSAgICAyMjIsIDE5MCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMzIsIDIyNCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMjYsIAotICAgIDExNSwgMjUyLCAxODQsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjQ0LCA0OCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAKLSAgICAyNDIsIDEzOCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMTgsIDExOSwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCA0LCAyNTMsIAotICAgIDE2OCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMTIsIDMyLCAyNTIsIDE0OCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAzOCwgCi0gICAgMjI2LCAyNDgsIDkxLCAyMzIsIDYwLCAxLCA2MSwgMjMyLCA2MCwgMSwgNzUsIDIzMiwgNjAsIDEsIDI1MywgMTU4LCAyMzIsIAotICAgIDYwLCAxLCAyNTIsIDE5LCAyMzIsIDYwLCAxLCAyNDMsIDIwMiwgMjMyLCA2MCwgMSwgMjQ5LCA2MCwgMjMyLCA2MCwgMSwgCi0gICAgNzMsIDIzMiwgNjAsIDEsIDIxMiwgOTgsIDIzMiwgNjAsIDEsIDIxMCwgMTU5LCAyMzIsIDYwLCAxLCAyMTYsIDIxMCwgMjMyLCAKLSAgICA2MCwgMSwgMjM1LCAxNDQsIDIzMiwgNjAsIDEsIDIzNSwgMjMsIDIzMiwgNjAsIDEsIDIyNCwgOTYsIDIzMiwgNjAsIDEsIAotICAgIDE1NiwgMjMyLCA2MCwgMSwgMTkzLCAyMzIsIDYwLCAxLCAyMzAsIDI1LCAyMzIsIDYwLCAxLCAyMzAsIDE2NiwgMjMyLCA2MCwgCi0gICAgMSwgMjI4LCAxMTEsIDIzMiwgNjAsIDEsIDcwLCAyMzIsIDYwLCAxLCAyMjYsIDEwNSwgMjMyLCA2MCwgMSwgMjM0LCA0NywgCi0gICAgMjMyLCA2MCwgMSwgMTUzLCAyMzIsIDYwLCAxLCAyMjIsIDkxLCAyMzIsIDYwLCAxLCAyMTcsIDE1MiwgMjMyLCA2MCwgMSwgCi0gICAgMjE1LCAxNTksIDIzMiwgNjAsIDEsIDI1NCwgMTIzLCAyMzIsIDYwLCAxLCAyNDUsIDE1MCwgMjMyLCA2MCwgMSwgMjQyLCAKLSAgICA2MCwgMjMyLCA2MCwgMSwgMjExLCAxNzgsIDI1MCwgMjM3LCAxLCA2MSwgMjUwLCAyMzcsIDEsIDIyNiwgOTEsIDI1MCwgCi0gICAgMjM3LCAxLCAyNDksIDYwLCAyNTAsIDIzNywgMSwgMTU2LCAyNTAsIDIzNywgMSwgMjE0LCAxMTYsIDI1MCwgMjM3LCAxLCAKLSAgICAxNTMsIDI1MCwgMjM3LCAxLCAyMzMsIDYyLCAyNTAsIDIzNywgMSwgMjU1LCA3NSwgMjUwLCAyMzcsIDEsIDIyNCwgOTYsIAotICAgIDI1MCwgMjM3LCAxLCAyNTMsIDE1OCwgMjUwLCAyMzcsIDEsIDE5MywgMjUwLCAyMzcsIDEsIDc2LCAyNTAsIDIzNywgMSwgCi0gICAgMjQ4LCAyMjMsIDI1MCwgMjM3LCAxLCAyMTcsIDE1MiwgMjUwLCAyMzcsIDEsIDIyMCwgMTA0LCAyNTAsIDIzNywgMSwgMjIwLCAKLSAgICAxMDMsIDI1MCwgMjM3LCAxLCAyMjIsIDkxLCAyNTAsIDIzNywgMSwgMjUxLCA2NSwgMjUwLCAyMzcsIDEsIDcwLCAyNTAsIAotICAgIDIzNywgMSwgMjI4LCAxMTEsIDI1MCwgMjM3LCAxLCAyMTEsIDE3OCwgMjUwLCAyMzcsIDEsIDIzMCwgMjUsIDI1MCwgMjM3LCAKLSAgICAxLCAyMTUsIDE1OCwgMjUwLCAyMzcsIDEsIDIyNiwgMTA1LCAyNTAsIDIzNywgMSwgMjE4LCAyMjYsIDI1MCwgMjM3LCAxLCAKLSAgICA3MywgMjUwLCAyMzcsIDEsIDc1LCAyNTAsIDIzNywgMSwgMjE0LCAxMTMsIDI1MCwgMjM3LCAxLCAyMzUsIDIzLCAyNTAsIAotICAgIDIzNywgMSwgMjM1LCAxNCwgMjUwLCAyMzcsIDEsIDIyOSwgMTUwLCAyNTAsIDIzNywgMSwgMjE0LCAxMTgsIDI1MCwgMjM3LCAKLSAgICAxLCAyNDMsIDIwMiwgMjUwLCAyMzcsIDEsIDI0MywgMTM3LCAyNTAsIDIzNywgMSwgMjE4LCAxNjgsIDI1MCwgMjM3LCAxLCAKLSAgICAyMTgsIDE2NywgMjUwLCAyMzcsIDEsIDIyOSwgNzksIDI1MCwgMjM3LCAxLCAyMzYsIDMzLCAyNTAsIDIzNywgMSwgMjUxLCAKLSAgICA2NCwgMjUwLCAyMzcsIDEsIDIxNSwgMTU5LCAyNTAsIDIzNywgMSwgMjE0LCAxMTUsIDI1MCwgMjM3LCAxLCAyMjIsIDE4MCwgCi0gICAgMjUwLCAyMzcsIDEsIDIzMSwgMTI5LCAyNTAsIDIzNywgMSwgMjMxLCAxMjgsIDI1MCwgMjM3LCAxLCAyMzEsIDEyNywgMjUwLCAKLSAgICAyMzcsIDEsIDIzMSwgMTI2LCAyNTAsIDIzNywgMSwgMjMzLCA2MSwgMjUwLCAyMzcsIDEsIDI0NSwgMjM0LCAyNTAsIDIzNywgCi0gICAgMSwgMjE0LCAxMTQsIDU1LCAzMiwgMSwgNjEsIDU1LCAzMiwgMSwgMjUyLCA3NSwgNTUsIDMyLCAxLCAyMzQsIDE4MiwgNTUsIAotICAgIDMyLCAxLCAyNDgsIDkwLCA1NSwgMzIsIDEsIDc1LCA1NSwgMzIsIDEsIDIxMywgMjU1LCA1NSwgMzIsIDEsIDIxMCwgOTQsIAotICAgIDU1LCAzMiwgMSwgMjQxLCAyMzgsIDU1LCAzMiwgMSwgMjE2LCAxOTUsIDU1LCAzMiwgMSwgNzMsIDU1LCAzMiwgMSwgMTc2LCAKLSAgICA1NSwgMzIsIDEsIDI0NSwgMTc0LCA1NSwgMzIsIDEsIDI0NSwgMTU5LCA1NSwgMzIsIDEsIDI0NSwgMTUwLCA1NSwgMzIsIDEsIAotICAgIDI0NSwgNzUsIDU1LCAzMiwgMSwgNzYsIDU1LCAzMiwgMSwgMjI1LCAyMjEsIDU1LCAzMiwgMSwgMjIwLCA2MywgNTUsIDMyLCAKLSAgICAxLCAyMzMsIDIxNywgNTUsIDMyLCAxLCAyNDUsIDkyLCA1NSwgMzIsIDEsIDI0NSwgODIsIDU1LCAzMiwgMSwgMjE3LCAyMiwgCi0gICAgNTUsIDMyLCAxLCA3MCwgNTUsIDMyLCAxLCAyNDUsIDE3NywgNTUsIDMyLCAxLCAyMjUsIDEzNiwgNTUsIDMyLCAxLCAyMzQsIAotICAgIDExOSwgNTUsIDMyLCAxLCAyNDUsIDIwMiwgNTUsIDMyLCAxLCAyNDUsIDg0LCA1NSwgMzIsIDEsIDI1MCwgMTMxLCA1NSwgCi0gICAgMzIsIDEsIDIzNiwgMzMsIDU1LCAzMiwgMSwgMjE0LCAxMTgsIDU1LCAzMiwgMjI3LCAxOTgsIDExMCwgNTUsIDMyLCAyMjcsIAotICAgIDE5OCwgMTg5LCA1NSwgMzIsIDIyNywgMTk4LCAyMTYsIDI0NywgNTUsIDMyLCAyMjcsIDE5OCwgMjQ0LCAxMTQsIDI0MiwgCi0gICAgMTUzLCAxLCAyNTQsIDIwNCwgMjQyLCAxNTMsIDEsIDI1MiwgMTYzLCAyNDIsIDE1MywgMSwgMjQyLCAyMTEsIDI0MiwgMTUzLCAKLSAgICAxLCAyNDgsIDIwNCwgMjQyLCAxNTMsIDEsIDI1NCwgMjAwLCAyNDIsIDE1MywgMSwgMjI0LCA3OSwgMjQyLCAxNTMsIDEsIAotICAgIDIzNSwgMTU1LCAyNDIsIDE1MywgMSwgMjQyLCAzOSwgMjQyLCAxNTMsIDEsIDIxNiwgMTU4LCAyNDIsIDE1MywgMSwgMjQ1LCAKLSAgICAxODMsIDI0MiwgMTUzLCAxLCAyMzMsIDE5MCwgMjQyLCAxNTMsIDEsIDIzMywgMTEzLCAyNDIsIDE1MywgMSwgMjMxLCAxNzksIAotICAgIDI0MiwgMTUzLCAxLCAyMjksIDE4NCwgMjQyLCAxNTMsIDEsIDIzNSwgMTE5LCAyNDIsIDE1MywgMSwgMjE0LCAxMzYsIDI0MiwgCi0gICAgMTUzLCAxLCAyMjYsIDY5LCAyNDIsIDE1MywgMSwgMjI4LCAxOTUsIDI0MiwgMTUzLCAxLCAyMjMsIDE2NSwgMjQyLCAxNTMsIAotICAgIDEsIDIyMSwgMjE4LCAyNDIsIDE1MywgMSwgMjE3LCA0LCAyNDIsIDE1MywgMSwgMjExLCAyMzQsIDI0MiwgMTUzLCAxLCAKLSAgICAyNDQsIDE3OCwgMjQyLCAxNTMsIDEsIDIzNiwgMzcsIDI0MiwgMTUzLCAxLCAyNDAsIDE5OSwgMjQyLCAxNTMsIDEsIDIyNiwgCi0gICAgMTM5LCAyNDIsIDE1MywgMSwgMjI4LCAyMDAsIDI0MCwgMjEwLCAyMTQsIDIwOSwgMSwgMjU0LCAxNDcsIDIxNCwgMjA5LCAxLCAKLSAgICAyNTIsIDI2LCAyMTQsIDIwOSwgMSwgMjQzLCAxMDgsIDIxNCwgMjA5LCAxLCAyMzQsIDEzMiwgMjE0LCAyMDksIDEsIDI0OCwgCi0gICAgNTQsIDIxNCwgMjA5LCAxLCAyNDEsIDY4LCAyMTQsIDIwOSwgMSwgMjExLCAyMjcsIDIxNCwgMjA5LCAxLCAyMTAsIDg1LCAKLSAgICAyMTQsIDIwOSwgMSwgMjQwLCAyNDEsIDIxNCwgMjA5LCAxLCAyMTYsIDIzMCwgMjE0LCAyMDksIDEsIDIxMCwgMjMzLCAyMTQsIAotICAgIDIwOSwgMSwgMjM0LCAyNTAsIDIxNCwgMjA5LCAxLCAyMjAsIDIwLCAyMTQsIDIwOSwgMSwgMjMzLCA5OCwgMjE0LCAyMDksIAotICAgIDEsIDIzMSwgNjUsIDIxNCwgMjA5LCAxLCAyNDgsIDIxLCAyMTQsIDIwOSwgMSwgMjI3LCAxOTQsIDIxNCwgMjA5LCAxLCAKLSAgICAyMTAsIDEzLCAyMTQsIDIwOSwgMSwgMjIxLCAyNDgsIDIxNCwgMjA5LCAxLCAyNTQsIDE5NiwgMjE0LCAyMDksIDEsIDIyNCwgCi0gICAgMTUwLCAyMTQsIDIwOSwgMSwgMjIyLCAyNSwgMjE0LCAyMDksIDEsIDIyNCwgMzUsIDIxNCwgMjA5LCAxLCAyMjMsIDE0NCwgCi0gICAgMjE0LCAyMDksIDEsIDIxNiwgMTk5LCAyMTQsIDIwOSwgMSwgMjQyLCAyNDQsIDIxNCwgMjA5LCAxLCAxMTEsIDIxNCwgMjA5LCAKLSAgICAxLCA3MywgMjE0LCAyMDksIDEsIDcwLCAyMTQsIDIwOSwgMSwgMjE4LCAxNzksIDIxNCwgMjA5LCAyMTEsIDIwOSwgMjQ3LCAKLSAgICAxNzIsIDU1LCAyMjUsIDE2OSwgNSwgNjEsIDU1LCAyMjUsIDE2OSwgNSwgNzMsIDU1LCAyMjUsIDE2OSwgNSwgNzAsIDU1LCAKLSAgICAyMjUsIDE2OSwgNSwgMTc2LCA1NSwgMjI1LCAxNjksIDUsIDIzMywgMjE3LCA1NSwgMjI1LCAxNjksIDUsIDI0MywgMTM1LCAKLSAgICA1NSwgMjI1LCAxNjksIDUsIDI0MiwgMTEzLCA1NSwgMjI1LCAxNjksIDUsIDIxMSwgMTY1LCA1NSwgMjI1LCAxNjksIDUsIAotICAgIDI1MSwgMzMsIDU1LCAyMjUsIDE2OSwgNSwgMjM1LCAxNDEsIDU1LCAyMjUsIDE2OSwgNSwgMjM1LCAxMDgsIDU1LCAyMjUsIAotICAgIDE2OSwgNSwgMjE3LCAxMDUsIDU1LCAyMjUsIDE2OSwgNSwgMjE1LCAxMTgsIDU1LCAyMjUsIDE2OSwgNSwgMjQ4LCAyMjEsIAotICAgIDU1LCAyMjUsIDE2OSwgNSwgMjQ4LCAzLCA1NSwgMjI1LCAxNjksIDUsIDI0NiwgNzgsIDU1LCAyMjUsIDE2OSwgNSwgMjE2LCAKLSAgICAyMDgsIDU1LCAyMjUsIDE2OSwgNSwgMTkwLCA1NSwgMjI1LCAxNjksIDUsIDI1MiwgMTkxLCA1NSwgMjI1LCAxNjksIDUsIAotICAgIDI0NCwgMTk2LCA1NSwgMjI1LCAxNjksIDUsIDE5NywgNTUsIDIyNSwgMTY5LCA1LCAyMjcsIDIzNywgNTUsIDIyNSwgMTY5LCAKLSAgICA1LCAxODQsIDU1LCAyMjUsIDE2OSwgNSwgMjMwLCAyMzAsIDU1LCAyMjUsIDE2OSwgNSwgMjMwLCAxMDIsIDU1LCAyMjUsIAotICAgIDE2OSwgNSwgMTkxLCA1NSwgMjI1LCAxNjksIDUsIDIxNCwgMjcsIDU1LCAyMjUsIDE2OSwgNSwgMjEzLCAxNzYsIDU1LCAKLSAgICAyMjUsIDE2OSwgNSwgMjA1LCA1NSwgMjI1LCAxNjksIDUsIDIyMiwgMTQwLCA1NSwgMjI1LCAxNjksIDUsIDIzMywgMTM1LCAKLSAgICA1NSwgMjI1LCAxNjksIDUsIDIwNiwgNTUsIDIyNSwgMTY5LCA1LCAyMTAsIDExNiwgNTUsIDIyNSwgMTY5LCA1LCAyMjAsIAotICAgIDEwMiwgNTUsIDIyNSwgMTY5LCA1LCAyMTgsIDIyMywgNTUsIDIyNSwgMTY5LCA1LCAxNjIsIDU1LCAyMjUsIDE2OSwgNSwgCi0gICAgMjUzLCAxODYsIDU1LCAyMjUsIDE2OSwgNSwgMjUzLCAxODUsIDU1LCAyMjUsIDE2OSwgNSwgMjUzLCAxODQsIDU1LCAyMjUsIAotICAgIDE2OSwgNSwgMjExLCAxNDIsIDU1LCAyMjUsIDE2OSwgNSwgMjQ4LCAyMDAsIDU1LCAyMjUsIDE2OSwgNSwgMjQ4LCAxOTksIAotICAgIDU1LCAyMjUsIDE2OSwgNSwgMjUyLCAxNzAsIDU1LCAyMjUsIDE2OSwgNSwgMjUxLCA4NSwgNTUsIDIyNSwgMTY5LCAyMTEsIAotICAgIDIwOSwgMjQ3LCAxNzIsIDU1LCAyMjUsIDE2OSwgNTQsIDExMCwgNTUsIDIyNSwgMTY5LCA1NCwgMTA1LCA1NSwgMjI1LCAKLSAgICAxNjksIDU0LCAyMTYsIDI0NywgNTUsIDIyNSwgMTY5LCA1NCwgMjE1LCA3MywgNTUsIDIyNSwgMTY5LCA1NCwgMjQwLCAyMTAsIAorICAgIDE1MSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyNDQsIDE0NCwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjUyLCAKKyAgICA1NiwgMiwgMTIyLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUyLCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIAorICAgIDI3LCAyNTQsIDE5OCwgMiwgMTUxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyMiwgMjgsIDIsIDY2LCAyLCA2NiwgNjUsIAorICAgIDE3LCAxMCwgMjcsIDIyMSwgMTY4LCAyLCAyMzQsIDEzMSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMjgsIDY0LCAyLCAKKyAgICAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjIyLCA1LCAyMTQsIDEyOCwgMjUzLCAyMzksIDIzNCwgNSwgMjE4LCAxMzEsIAorICAgIDUsIDUzLCAxNywgMTAsIDI3LCAyMjQsIDc5LCAyMTQsIDEyOCwgMjUzLCAyMzksIDIzNCwgNSwgMjE4LCAxMzEsIDUsIDUzLCAKKyAgICAxNywgMTAsIDI3LCAyNTQsIDE1NCwgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTg0LCA1MywgMTcsIDEwLCAyNywgMjMwLCAxNTQsIAorICAgIDUzLCAxNywgMTAsIDI3LCAyMjIsIDYsIDUzLCAxNywgMTAsIDI3LCAyMjMsIDE0NCwgNTMsIDE3LCAxMCwgMjcsIDI1NCwgCisgICAgMTczLCA1MywgMTcsIDEwLCAyNywgMjEyLCA0OSwgNTMsIDE3LCAxMCwgMjcsIDIyMiwgNSwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIyMiwgNCwgMjU0LCAxNzMsIDIxMiwgNDgsIDEwLCAyNywgMjM1LCAxMzUsIDIyMywgMzUsIDUwLCAxMCwgMjcsIDI1MSwgCisgICAgMjMxLCAyNTQsIDQwLCAyNTQsIDQxLCA0NSwgMjIxLCAxNTcsIDQ1LCAyMjEsIDQ2LCA0NSwgMjIwLCAyMzQsIDQ1LCAyMjAsIAorICAgIDIyMywgNDUsIDIyMCwgMjEyLCA0NSwgMjIwLCAyMDEsIDQ1LCAyMjAsIDE5MCwgNDUsIDIyMCwgMTc5LCA0NSwgMjIwLCAKKyAgICAxNjgsIDQ1LCAyMjEsIDE1NiwgNDUsIDIyMSwgMTQ1LCA0NSwgMjIxLCAxMzQsIDQ1LCAyMjEsIDEyMywgNDUsIDIyMSwgCisgICAgMTEyLCA0NSwgMjIxLCAxMDEsIDQ1LCAyMjEsIDkwLCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCAyNDksIDIyMCwgMjI0LCAKKyAgICAxOTUsIDI0NCwgMjEsIDMxLCA2NywgMTA5LCAyNDksIDIyMCwgMjI0LCAxOTUsIDI0NCwgMjEsIDMxLCA2NywgMTA5LCAyNDMsIAorICAgIDIzMCwgMjE4LCAxMzAsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDI0OSwgMjI3LCAyMjQsIDE5NSwgMjQ0LCAyMSwgCisgICAgMzEsIDY3LCAyMjAsIDE1MSwgMjI0LCAxOTUsIDI0NCwgMjEsIDMxLCA2NywgMjQ1LCAzMiwgNzgsIDIyNCwgMTk1LCAyNDQsIAorICAgIDIxLCAzMSwgNjcsIDIyNCwgMTQsIDc4LCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0MywgNzEsIDIzMywgMjEsIDEyNywgCisgICAgMjI0LCAxOTUsIDI0NCwgMjEsIDMxLCA2NywgNDQsIDcxLCAyMzMsIDIxLCAyNTEsIDE1NywgMjI0LCAxOTUsIDI0NCwgMjEsIAorICAgIDMxLCA2NywgMjAzLCAyNDUsIDE2NCwgMzgsIDI3LCA0MywgMjQyLCAyOCwgMzgsIDI3LCA0NCwgMjQyLCAyOCwgMzgsIDUyLCAKKyAgICAyMTYsIDkwLCA0MywgMjQyLCAyOCwgMzgsIDUyLCAyMTYsIDkwLCA0NCwgMjQyLCAyOCwgMzgsIDIzMSwgMjM0LCA0MywgCisgICAgMjQyLCAyOCwgMzgsIDIzMSwgMjM0LCA0NCwgMjQyLCAyOCwgMzgsIDI0OSwgMTk4LCAyMzEsIDIzMywgMjI0LCAxOTUsIAorICAgIDI0NCwgMjEsIDMxLCA2NywgMTEzLCA1OSwgMjMzLCA1NywgMjI0LCAxOTUsIDI0NCwgMjEsIDMxLCA2NywgMjQ1LCAxNjEsIAorICAgIDI0OCwgMTU3LCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCAyNDUsIDE1MiwgMjQ4LCAxNTcsIDIyNCwgMTk1LCAyNDQsIAorICAgIDIxLCAzMSwgNjcsIDEyMSwgMjMyLCAyMTQsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDIxMiwgMzIsIDEyMSwgMjMyLCAKKyAgICAyMTQsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDQzLCAyMjYsIDQsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIAorICAgIDQ0LCAyMjYsIDQsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDQzLCAyNDksIDEwMCwgMTI3LCAyMjQsIDE5NSwgMjQ0LCAKKyAgICAyMSwgMzEsIDY3LCA0NCwgMjQ5LCAxMDAsIDEyNywgMjI0LCAxOTUsIDI0NCwgMjEsIDMxLCA2NywgNDMsIDIxNiwgNywgCisgICAgMjIwLCA1NCwgMTI3LCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0NCwgMjE2LCA3LCAyMjAsIDU0LCAxMjcsIDIyNCwgCisgICAgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDQzLCA4NSwgMjMzLCAyMSwgMTI3LCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCAKKyAgICA0NCwgODUsIDIzMywgMjEsIDEyNywgMjI0LCAxOTUsIDI0NCwgMjEsIDMxLCA2NywgNDMsIDUyLCAyNTQsIDExMSwgMTI3LCAKKyAgICAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0NCwgNTIsIDI1NCwgMTExLCAxMjcsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgCisgICAgNjcsIDQzLCAyNTQsIDExMSwgMTI3LCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0NCwgMjU0LCAxMTEsIDEyNywgMjI0LCAKKyAgICAxOTUsIDI0NCwgMjEsIDMxLCA2NywgNDMsIDI0OSwgMTYyLCAxMjcsIDIyNCwgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDQ0LCAKKyAgICAyNDksIDE2MiwgMTI3LCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0MywgNzEsIDI0OSwgMTYyLCAxMjcsIDIyNCwgCisgICAgMTk1LCAyNDQsIDIxLCAzMSwgNjcsIDQ0LCA3MSwgMjQ5LCAxNjIsIDEyNywgMjIwLCAxMzIsIDI0NywgMTIxLCA3MSwgMjIwLCAKKyAgICAxMzIsIDI0NywgMTIxLCAyMjQsIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0MywgNDIsIDEyNywgMjI0LCAxOTUsIDI0NCwgMjEsIAorICAgIDMxLCA2NywgNDQsIDQyLCAxMjcsIDI0OCwgMTU2LCAyMjYsIDEyMCwgMjUwLCAxNzMsIDIyNiwgMTIwLCAyMTIsIDMyLCAKKyAgICAyMjYsIDEyMCwgNTIsIDIxMiwgMzIsIDIyNiwgMTIwLCAyNDgsIDE1NiwgMTIxLCAyMzIsIDIxNCwgMjUwLCAxNzMsIDEyMSwgCisgICAgMjMyLCAyMTQsIDIxMiwgMzIsIDEyMSwgMjMyLCAyMTQsIDQsIDI0OSwgMjIwLCA0LCAxMDksIDI0OSwgMjIwLCA0LCAyNDMsIAorICAgIDIzMCwgMjE4LCAxMzAsIDQsIDIyMCwgMTUxLCA0LCAyNDksIDIyNywgNCwgMjI0LCAxNCwgNzgsIDQsIDI0NSwgMzIsIDc4LCAKKyAgICA0LCAyNDUsIDE2MSwgMjQ4LCAxNTcsIDQsIDQzLCAyMjYsIDQsIDQsIDQ0LCAyMjYsIDQsIDQsIDQzLCAyNDksIDEwMCwgCisgICAgMTI3LCA0LCA0NCwgMjQ5LCAxMDAsIDEyNywgNCwgNDMsIDIxNiwgNywgMjIwLCA1NCwgMTI3LCA0LCA0NCwgMjE2LCA3LCAKKyAgICAyMjAsIDU0LCAxMjcsIDQsIDU0LCA1MCwgNCwgMjU0LCAxMjcsIDQsIDI1MywgMjE3LCA0LCA5NiwgNTAsIDQsIDI0MCwgCisgICAgMTY4LCA0LCAyMzMsIDE2LCA1MCwgNCwgMjQyLCAxMzEsIDUwLCA0LCAyNDUsIDk5LCA1MCwgNCwgMjIzLCA1MSwgMjE5LCAKKyAgICA0NywgNCwgMjQ3LCAxMzMsIDUwLCA0LCAyMjUsIDE4MywgNTAsIDQsIDI0OSwgMjE4LCAyNTMsIDIwNywgMTAsIDI0NCwgCisgICAgMTY1LCA1MywgMTcsIDEwLCAyMTcsIDQ1LCAyLCAyNDQsIDE2NSwgNDgsIDEwLCAyNDgsIDE4NCwgNTMsIDE3LCAxMCwgMjE3LCAKKyAgICA3OSwgMjQ0LCAyLCAxMCwgMjM0LCAyMDUsIDUzLCAxNywgMTAsIDI0NCwgMTY3LCA1MywgMTcsIDEwLCAyNDQsIDE2NywgCisgICAgMTQ3LCAxNywgMTAsIDI0OCwgMTg2LCA1MywgMTcsIDEwLCAyNDgsIDE4NiwgMTQ3LCAxNywgMTAsIDIzNCwgMjA3LCA1MywgCisgICAgMTcsIDEwLCAyMzQsIDIwNywgMTQ3LCAxNywgMTAsIDIyMCwgOTUsIDUzLCAxNywgMTAsIDIyMCwgOTUsIDE0NywgMTcsIDEwLCAKKyAgICAyMTgsIDQ3LCA1MywgMTcsIDEwLCAyMTgsIDQ3LCAxNDcsIDE3LCAxMCwgMSwgMjAyLCA1MywgMTcsIDEwLCAxLCAxMTIsIDIsIAorICAgIDIzMSwgMjI5LCA3NywgNTMsIDE3LCAxMCwgMSwgMTEyLCAyLCAyMzEsIDIyOSwgNzcsIDQwLCAxNywgMTAsIDEsIDExMiwgMiwgCisgICAgMjAyLCA3NywgNTMsIDE3LCAxMCwgMSwgMTEyLCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMDIsIAorICAgIDc3LCA1MywgMTcsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAxLCAxMTIsIDIsIDIwMiwgMjUyLCAKKyAgICA0NCwgNTMsIDE3LCAxMCwgMSwgMTEyLCAyLCAyMDIsIDI1MiwgNDQsIDQwLCAxNywgMTAsIDEsIDc5LCAyLCAyMDIsIDc3LCAKKyAgICA1MywgMTcsIDEwLCAxLCA3OSwgMiwgMjAyLCA3NywgNDAsIDE3LCAxMCwgMSwgNzksIDIsIDIwMiwgNzcsIDY1LCAxNywgMTAsIAorICAgIDEsIDc5LCAyLCAyMDIsIDc3LCAxNDcsIDE3LCAxMCwgMSwgMTEyLCA1MywgMTcsIDEwLCAxLCAxMTIsIDQwLCAxNywgMTAsIAorICAgIDEsIDI1MiwgNTYsIDUzLCAxNywgMTAsIDEsIDI1MiwgNTYsIDQwLCAxNywgMTAsIDEsIDI1MiwgNTYsIDY1LCAxNywgMTAsIAorICAgIDEsIDI1MiwgNTYsIDE0NywgMTcsIDEwLCAxLCAyMTcsIDksIDIzMSwgMTY2LCA1MywgMTcsIDEwLCAxLCAyMTcsIDksIDIzMSwgCisgICAgMTY2LCA0MCwgMTcsIDEwLCAxLCAyMTcsIDksIDUzLCAxNywgMTAsIDEsIDIxNywgOSwgNDAsIDE3LCAxMCwgMSwgMjE3LCA5LCAKKyAgICA2NSwgMTcsIDEwLCAxLCAyMTcsIDksIDE0NywgMTcsIDEwLCAxLCAyMTYsIDE5NCwgNTMsIDE3LCAxMCwgMSwgMjE2LCAxOTQsIAorICAgIDQwLCAxNywgMTAsIDEsIDIxNiwgMTk0LCA2NSwgMTcsIDEwLCAxLCAyMTYsIDE5NCwgMTQ3LCAxNywgMTAsIDEsIDE1MSwgCisgICAgNTMsIDE3LCAxMCwgMSwgMTUxLCA0MCwgMTcsIDEwLCAxLCAxNTEsIDY1LCAxNywgMTAsIDEsIDE1MSwgMTQ3LCAxNywgMTAsIAorICAgIDEsIDEyMiwgNTMsIDE3LCAxMCwgMSwgMTIyLCA0MCwgMTcsIDEwLCAxLCAxMjIsIDY1LCAxNywgMTAsIDEsIDEyMiwgMTQ3LCAKKyAgICAxNywgMTAsIDEsIDIzNCwgMTMxLCA1MywgMTcsIDEwLCAxLCAyMzQsIDEzMSwgNDAsIDE3LCAxMCwgMSwgMjM0LCAxMzEsIAorICAgIDY1LCAxNywgMTAsIDEsIDIzNCwgMTMxLCAxNDcsIDE3LCAxMCwgMSwgMjQ4LCAxOTcsIDUzLCAxNywgMTAsIDEsIDI0OCwgCisgICAgMTk3LCA0MCwgMTcsIDEwLCAxLCAyMTYsIDIwNCwgNTMsIDE3LCAxMCwgMSwgMjE2LCAyMDQsIDQwLCAxNywgMTAsIDEsIAorICAgIDIyMywgOTcsIDUzLCAxNywgMTAsIDEsIDIyMywgOTcsIDQwLCAxNywgMTAsIDEsIDIxMCwgMTA5LCA1MywgMTcsIDEwLCAxLCAKKyAgICAyMTAsIDEwOSwgNDAsIDE3LCAxMCwgMSwgMjIxLCAxNjgsIDUzLCAxNywgMTAsIDEsIDIyMSwgMTY4LCA0MCwgMTcsIDEwLCAKKyAgICAxLCAyMjEsIDE2OCwgNjUsIDE3LCAxMCwgMSwgMjIxLCAxNjgsIDE0NywgMTcsIDEwLCAxLCAyMjAsIDYxLCA1MywgMTcsIAorICAgIDEwLCAxLCAyMjAsIDYxLCA0MCwgMTcsIDEwLCAxLCAyMjAsIDYxLCA2NSwgMTcsIDEwLCAxLCAyMjAsIDYxLCAxNDcsIDE3LCAKKyAgICAxMCwgMSwgMjIyLCAyOCwgNTMsIDE3LCAxMCwgMSwgMjIyLCAyOCwgNDAsIDE3LCAxMCwgMSwgMjIyLCAyOCwgNjUsIDE3LCAKKyAgICAxMCwgMSwgMjIyLCAyOCwgMTQ3LCAxNywgMTAsIDEsIDI0OCwgMjE4LCA1MywgMTcsIDEwLCAxLCAyNDgsIDIxOCwgNDAsIAorICAgIDE3LCAxMCwgMSwgMjQ4LCAyMTgsIDY1LCAxNywgMTAsIDEsIDI0OCwgMjE4LCAxNDcsIDE3LCAxMCwgMSwgMjE3LCA4MiwgCisgICAgNTMsIDE3LCAxMCwgMSwgMjE3LCA4MiwgNDAsIDE3LCAxMCwgMSwgMjE3LCA4MiwgNjUsIDE3LCAxMCwgMSwgMjE3LCA4MiwgCisgICAgMTQ3LCAxNywgMTAsIDEsIDIxMCwgMTEyLCA1MywgMTcsIDEwLCAxLCAyMTAsIDExMiwgNDAsIDE3LCAxMCwgMSwgMjEwLCAKKyAgICAxMTIsIDY1LCAxNywgMTAsIDEsIDIxMCwgMTEyLCAxNDcsIDE3LCAxMCwgMSwgMjU0LCAxOTgsIDUzLCAxNywgMTAsIDEsIAorICAgIDI1NCwgMTk4LCA0MCwgMTcsIDEwLCAxLCAyNTQsIDE5OCwgNjUsIDE3LCAxMCwgMSwgMjU0LCAxOTgsIDE0NywgMTcsIDEwLCAKKyAgICAxLCAyNDIsIDI0NiwgNTMsIDE3LCAxMCwgMSwgMjQyLCAyNDYsIDQwLCAxNywgMTAsIDEsIDI0MiwgMjQ2LCA2NSwgMTcsIAorICAgIDEwLCAxLCAyNDIsIDI0NiwgMTQ3LCAxNywgMTAsIDEsIDI0NCwgMTQ0LCA1MywgMTcsIDEwLCAxLCAyNDQsIDE0NCwgNDAsIAorICAgIDE3LCAxMCwgMSwgMjQ0LCAxNDQsIDY1LCAxNywgMTAsIDEsIDI0NCwgMTQ0LCAxNDcsIDE3LCAxMCwgMSwgMjI0LCA4MywgCisgICAgNTMsIDE3LCAxMCwgMSwgMjI0LCA4MywgNDAsIDE3LCAxMCwgMSwgMjI0LCA4MywgNjUsIDE3LCAxMCwgMSwgMjI0LCA4MywgCisgICAgMTQ3LCAxNywgMTAsIDEsIDIzNCwgMjUyLCA1MywgMTcsIDEwLCAxLCAyMzQsIDI1MiwgNDAsIDE3LCAxMCwgMSwgMjM0LCAKKyAgICAyNTIsIDY1LCAxNywgMTAsIDEsIDIzNCwgMjUyLCAxNDcsIDE3LCAxMCwgMSwgMjMzLCAxMDQsIDUzLCAxNywgMTAsIDEsIAorICAgIDIzMywgMTA0LCA0MCwgMTcsIDEwLCAxLCAyMzMsIDEwNCwgNjUsIDE3LCAxMCwgMSwgMjMzLCAxMDQsIDE0NywgMTcsIDEwLCAKKyAgICAxLCA2NiwgNTMsIDE3LCAxMCwgMSwgNjYsIDQwLCAxNywgMTAsIDEsIDY2LCA2NSwgMTcsIDEwLCAxLCA2NiwgMTQ3LCAxNywgCisgICAgMTAsIDEsIDIyOCwgNjQsIDUzLCAxNywgMTAsIDEsIDIyOCwgNjQsIDQwLCAxNywgMTAsIDEsIDIyOCwgNjQsIDY1LCAxNywgCisgICAgMTAsIDEsIDIyOCwgNjQsIDE0NywgMTcsIDEwLCAxLCAyNDEsIDIyMCwgNTMsIDE3LCAxMCwgMSwgMjQxLCAyMjAsIDQwLCAKKyAgICAxNywgMTAsIDEsIDI0MSwgMjIwLCA2NSwgMTcsIDEwLCAxLCAyNDEsIDIyMCwgMTQ3LCAxNywgMTAsIDEsIDIxMiwgMzEsIAorICAgIDUzLCAxNywgMTAsIDEsIDIxMiwgMzEsIDQwLCAxNywgMTAsIDEsIDExMiwgMjMxLCAxOTQsIDUzLCAxNywgMTAsIDEsIDExMiwgCisgICAgMjMxLCAxOTQsIDQwLCAxNywgMTAsIDEsIDc5LCA1MywgMTcsIDEwLCAxLCA3OSwgNDAsIDE3LCAxMCwgMSwgNzksIDY1LCAKKyAgICAxNywgMTAsIDEsIDc5LCAxNDcsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAxMTIsIDIsIDIzMSwgMjI5LCA3NywgNTMsIAorICAgIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAyLCAxMTIsIDIsIDIzMSwgMjI5LCA3NywgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTA0LCAKKyAgICAyLCAxMTIsIDIsIDIwMiwgNzcsIDUzLCAxNywgMTAsIDI3LCAyMzMsIDEwNCwgMiwgMTEyLCAyLCAyMDIsIDc3LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjMzLCAxMDQsIDIsIDExMiwgMiwgMjAyLCAyNTIsIDQ0LCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIAorICAgIDExMiwgMiwgMjAyLCAyNTIsIDQ0LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDQsIDIsIDExMiwgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIzMywgMTA0LCAyLCAxMTIsIDQwLCAxNywgMjEwLCA4NywgMjExLCAyNDUsIDIyOCwgNzQsIDIxOSwgMTksIDEyNiwgMjQ1LCAKKyAgICAzMiwgNzgsIDEyNiwgMjIzLCAyNTUsIDc4LCAxMjYsIDU0LCA1MCwgMTI2LCAyNDcsIDEzMywgNTAsIDEyNiwgMjI1LCAxODMsIAorICAgIDUwLCAxMjYsIDI1NCwgMTI3LCAxMjYsIDI1NCwgNTgsIDEyNiwgNDMsIDIyNiwgNCwgMTI2LCA0NCwgMjI2LCA0LCAxMjYsIAorICAgIDI1MywgMjE3LCAxMjYsIDk2LCA1MCwgMTI2LCAyNDksIDIyMCwgMTI2LCAyNDAsIDE2OCwgMTI2LCAyNDMsIDIzMCwgMjE4LCAKKyAgICAxMzAsIDEyNiwgMjE5LCA0NywgMTI2LCAyMSwgMjEwLCA4NiwgMTI2LCAyMSwgMTEwLCAxMjYsIDIxLCAxMDUsIDEyNiwgMjEsIAorICAgIDE1OCwgMTI2LCAyMSwgMTYxLCAxMjYsIDIxLCAxODksIDEyNiwgMjEsIDE5NCwgMTI2LCAyMSwgMTk4LCAxMjYsIDIxLCAKKyAgICAxOTUsIDEyNiwgMjEsIDIwMCwgMTI2LCAyNDksIDIyNywgMTI2LCAyMjAsIDE1MSwgMTI2LCAyMzMsIDE2LCA1MCwgMTI2LCAKKyAgICAyNDUsIDk5LCA1MCwgMTI2LCAyNDIsIDEzMSwgNTAsIDEyNiwgMjI0LCAxNCwgNzgsIDEyNiwgMjQ5LCAyMTgsIDI1MywgCisgICAgMjA3LCAxMjYsIDcsIDYsIDEsIDYxLCAxMjYsIDcsIDYsIDEsIDI1MywgMTU5LCAxMjYsIDcsIDYsIDEsIDI1MSwgNjcsIAorICAgIDEyNiwgNywgNiwgMSwgMjQ5LCA2MSwgMTI2LCA3LCA2LCAxLCA3NSwgMTI2LCA3LCA2LCAxLCAyNDUsIDcsIDEyNiwgNywgNiwgCisgICAgMSwgMjQzLCAyMDMsIDEyNiwgNywgNiwgMSwgMjQyLCA2MSwgMTI2LCA3LCA2LCAxLCA3MywgMTI2LCA3LCA2LCAxLCAyMzUsIAorICAgIDE0NSwgMTI2LCA3LCA2LCAxLCAyMzUsIDI0LCAxMjYsIDcsIDYsIDEsIDE1NiwgMTI2LCA3LCA2LCAxLCAxOTMsIDEyNiwgNywgCisgICAgNiwgMSwgMjMwLCAyNiwgMTI2LCA3LCA2LCAxLCA3NiwgMTI2LCA3LCA2LCAxLCAyMjYsIDEwNiwgMTI2LCA3LCA2LCAxLCAKKyAgICAyMjQsIDk3LCAxMjYsIDcsIDYsIDEsIDE1MywgMTI2LCA3LCA2LCAxLCAyMjIsIDkyLCAxMjYsIDcsIDYsIDEsIDIxNywgCisgICAgMTUzLCAxMjYsIDcsIDYsIDEsIDcwLCAxMjYsIDcsIDYsIDEsIDIxNCwgMTA1LCAxMjYsIDcsIDYsIDEsIDIxMiwgOTgsIAorICAgIDEyNiwgNywgNiwgMSwgMjExLCAxNzgsIDEyNiwgNywgNiwgMSwgMjExLCAxMTcsIDEyNiwgNywgNiwgMSwgMjEwLCAxNTksIAorICAgIDEyNiwgNDMsIDQyLCAxMjcsIDEyNiwgMjIzLCA1MSwgMjE5LCA0NywgMTI2LCA0NCwgNDIsIDEyNywgMTI2LCAyNTAsIDMyLCAKKyAgICAyNTUsIDE1LCAxMjYsIDEyMSwgMjMyLCAyMTQsIDEyNiwgMjQyLCAxMzgsIDI1NSwgMTUsIDEyNiwgNywgNCwgMSwgNjEsIAorICAgIDEyNiwgNywgNCwgMSwgMjUzLCAxNTksIDEyNiwgNywgNCwgMSwgMjUxLCA2NywgMTI2LCA3LCA0LCAxLCAyNDksIDYxLCAKKyAgICAxMjYsIDcsIDQsIDEsIDc1LCAxMjYsIDcsIDQsIDEsIDI0NSwgNywgMTI2LCA3LCA0LCAxLCAyNDMsIDIwMywgMTI2LCA3LCAKKyAgICA0LCAxLCAyNDIsIDYxLCAxMjYsIDcsIDQsIDEsIDczLCAxMjYsIDcsIDQsIDEsIDIzNSwgMTQ1LCAxMjYsIDcsIDQsIDEsIAorICAgIDIzNSwgMjQsIDEyNiwgNywgNCwgMSwgMTU2LCAxMjYsIDcsIDQsIDEsIDE5MywgMTI2LCA3LCA0LCAxLCAyMzAsIDI2LCAKKyAgICAxMjYsIDcsIDQsIDEsIDc2LCAxMjYsIDcsIDQsIDEsIDIyNiwgMTA2LCAxMjYsIDcsIDQsIDEsIDIyNCwgOTcsIDEyNiwgNywgCisgICAgNCwgMSwgMTUzLCAxMjYsIDcsIDQsIDEsIDIyMiwgOTIsIDEyNiwgNywgNCwgMSwgMjE3LCAxNTMsIDEyNiwgNywgNCwgMSwgCisgICAgNzAsIDEyNiwgNywgNCwgMSwgMjE0LCAxMDUsIDEyNiwgNywgNCwgMSwgMjEyLCA5OCwgMTI2LCA3LCA0LCAxLCAyMTEsIAorICAgIDE3OCwgMTI2LCA3LCA0LCAxLCAyMTEsIDExNywgMTI2LCA3LCA0LCAxLCAyMTAsIDE1OSwgMTI2LCA0MywgMjQ5LCAxMDAsIAorICAgIDEyNywgMTI2LCA2NywgMjMyLCAyMTQsIDEyNiwgNDQsIDI0OSwgMTAwLCAxMjcsIDEyNiwgMTgzLCAxMjYsIDQzLCA3MSwgCisgICAgMjI2LCA0LCAxMjYsIDQ0LCA3MSwgMjI2LCA0LCAxMDEsIDEwOSwgMjQzLCAyMzAsIDIxOCwgMTMwLCAxMDEsIDQzLCAyNDksIAorICAgIDE2MiwgMTI3LCAxMDEsIDQ0LCAyNDksIDE2MiwgMTI3LCAxMDEsIDEwOSwgMjQ5LCAyMjAsIDEwMSwgNTYsIDIzMCwgMjI1LCAKKyAgICAyNDcsIDEyMSwgMTAxLCA1NiwgMSwgMjExLCAyMjcsIDEwMSwgNTYsIDEsIDQsIDYxLCAxMDEsIDU2LCAxLCA0LCA3MywgCisgICAgMTAxLCA1NiwgMSwgNCwgNzAsIDEwMSwgNTYsIDEsIDQsIDc1LCAxMDEsIDU2LCAxLCA0LCA3NiwgMTAxLCA1NiwgMSwgNCwgCisgICAgMTkxLCAxMDEsIDU2LCAxLCA0LCAyMTAsIDIxMiwgMTAxLCA1NiwgMSwgNCwgMjEwLCAyNDQsIDEwMSwgNTYsIDEsIDQsIAorICAgIDIxNSwgMTE5LCAxMDEsIDIzNCwgMjAyLCAyMjQsIDE3NCwgMjE5LCAzMiwgNzgsIDEwMSwgNTYsIDEsIDYxLCAxMDEsIDU2LCAKKyAgICAxLCA3MywgMTAxLCA1NiwgMSwgNzAsIDEwMSwgNTYsIDEsIDc1LCAxMDEsIDU2LCAxLCA3NiwgMTAxLCA1NiwgMSwgMTc2LCAKKyAgICAxMDEsIDU2LCAxLCAyMzQsIDkzLCAxMDEsIDU2LCAxLCAyMzMsIDIxOCwgMTAxLCA1NiwgMSwgMjM0LCAxODMsIDEwMSwgNTYsIAorICAgIDEsIDIzNCwgMjksIDEwMSwgNTYsIDEsIDIwNiwgMTAxLCA1NiwgMSwgMjE5LCAxOTIsIDEwMSwgNTYsIDEsIDIxOCwgODQsIAorICAgIDEwMSwgNTYsIDEsIDIyMSwgMTgyLCAxMDEsIDU2LCAxLCAyMTksIDU5LCAxMDEsIDU2LCAxLCAyMTcsIDEwNiwgMTAxLCA1NiwgCisgICAgMSwgMjE2LCAxMTgsIDEwMSwgNTYsIDEsIDIxNSwgMTE5LCAxMDEsIDU2LCAxLCAyMTcsIDIzLCAxMDEsIDU2LCAxLCAxMTEsIAorICAgIDEwMSwgNTYsIDEsIDE5NywgMTAxLCA1NiwgMSwgMjI4LCAyMzQsIDEwMSwgNTYsIDEsIDIyNywgMjM4LCAxMDEsIDU2LCAxLCAKKyAgICAyMjksIDEwOCwgMTAxLCA1NiwgMSwgMjI4LCA3NSwgMTAxLCA1NiwgMSwgMTYyLCAxMDEsIDU2LCAxLCAyNDEsIDE4MSwgCisgICAgMTAxLCA1NiwgMSwgMjQwLCAyMjMsIDEwMSwgNTYsIDEsIDI0MSwgMjM5LCAxMDEsIDU2LCAxLCAyNDEsIDY5LCAxMDEsIDU2LCAKKyAgICAxLCAxODUsIDEwMSwgNTYsIDEsIDIzMCwgMjMxLCAxMDEsIDU2LCAxLCAyMzAsIDEwMywgMTAxLCA1NiwgMSwgMjMxLCA5MiwgCisgICAgMTAxLCA1NiwgMSwgMjMwLCAxNjIsIDEwMSwgNTYsIDEsIDE5MSwgMTAxLCA1NiwgMSwgMjEwLCAyMTIsIDEwMSwgNTYsIDEsIAorICAgIDIxMCwgMjQ0LCAxMDEsIDU2LCAxLCAyMDUsIDEwMSwgNTYsIDEsIDIyMywgMzYsIDEwMSwgNTYsIDEsIDIyMiwgMTQxLCAKKyAgICAxMDEsIDU2LCAxLCAyMjMsIDEyOSwgMTAxLCA1NiwgMSwgMjIyLCAyMTIsIDEwMSwgNTYsIDEsIDIxMiwgNjUsIDEwMSwgNTYsIAorICAgIDEsIDIzMCwgMjYsIDEwMSwgNTYsIDIxMywgMTM1LCAyMTksIDMyLCA3OCwgMTAxLCA1NiwgMjIwLCAxNTYsIDIxOSwgMzIsIAorICAgIDc4LCAxMDEsIDI0LCAyNDQsIDEwNCwgMTAxLCAyNCwgMSwgMjM0LCA1OSwgMTAxLCAyNCwgMSwgMjE4LCAyMTYsIDEwMSwgCisgICAgMjQsIDEsIDIzNCwgNTIsIDEwMSwgMjQsIDEsIDIyOCwgMjI3LCAxMDEsIDI0LCAxLCAyMjgsIDIyNSwgMTAxLCAyNCwgMSwgCisgICAgMjI4LCAyMjQsIDEwMSwgMjQsIDEsIDIxNiwgMTAyLCAxMDEsIDI0LCAxLCAyMTgsIDIwNSwgMTAxLCAyNCwgMSwgMjIzLCAKKyAgICAyNywgMTAxLCAyNCwgMSwgMjIzLCAyMiwgMTAxLCAyNCwgMSwgMjIzLCAxOSwgMTAxLCAyNCwgMSwgMjIzLCAxMiwgMTAxLCAKKyAgICAyNCwgMSwgMjIzLCA3LCAxMDEsIDI0LCAxLCAyMjMsIDIsIDEwMSwgMjQsIDEsIDIyMywgMTMsIDEwMSwgMjQsIDEsIDIyMywgCisgICAgMjUsIDEwMSwgMjQsIDEsIDIzMCwgMjE4LCAxMDEsIDI0LCAxLCAyMjUsIDk2LCAxMDEsIDI0LCAxLCAyMTgsIDIxMywgMTAxLCAKKyAgICAyNCwgMSwgMjI1LCA4NSwgMTAxLCAyNCwgMSwgMjE5LCAxNDksIDEwMSwgMjQsIDEsIDIxOCwgMjEwLCAxMDEsIDI0LCAxLCAKKyAgICAyMzYsIDU3LCAxMDEsIDI0LCAxLCAyNTAsIDQ3LCAxMDEsIDI0LCAxLCAyMTgsIDIyMCwgMTAxLCAyNCwgMSwgMjUwLCAxMDcsIAorICAgIDEwMSwgMjQsIDEsIDIzNCwgMTExLCAxMDEsIDI0LCAxLCAyMTYsIDE3NCwgMTAxLCAyNCwgMSwgMjI1LCAxMzIsIDEwMSwgCisgICAgMjQsIDEsIDI0MSwgMTczLCAxMDEsIDI0LCAxLCA2MSwgMTAxLCAyNCwgMSwgMjU0LCAyNDQsIDEwMSwgMjQsIDEsIDE5MSwgCisgICAgMTAxLCAyNCwgMSwgMjExLCA5MiwgMTAxLCAyNCwgMSwgMjQ1LCAxMTgsIDEwMSwgMjQsIDEsIDc1LCAxMDEsIDI0LCAxLCAKKyAgICAyMTEsIDM2LCAxMDEsIDI0LCAxLCAyMTEsIDQ3LCAxMDEsIDI0LCAxLCA3NiwgMTAxLCAyNCwgMSwgMjEyLCA2NSwgMTAxLCAKKyAgICAyNCwgMSwgMjEyLCA2MiwgMTAxLCAyNCwgMSwgMjI2LCAyMzUsIDEwMSwgMjQsIDEsIDIxMCwgMjQ0LCAxMDEsIDI0LCAxLCAKKyAgICA3MCwgMTAxLCAyNCwgMSwgMjEyLCAxMSwgMTAxLCAyNCwgMSwgMjEyLCAyMiwgMTAxLCAyNCwgMSwgMjExLCAyNTAsIDEwMSwgCisgICAgMjQsIDEsIDIxMCwgMjEyLCAxMDEsIDI0LCAxLCAyNDUsIDU2LCAxMDEsIDI0LCAxLCAyMTEsIDgsIDEwMSwgMjQsIDEsIDczLCAKKyAgICAxMjYsIDI1MCwgMTc3LCA1MCwgMTI2LCAyMjQsIDIyOSwgNTAsIDEyNiwgMjI4LCA1MywgNTAsIDEyNiwgMjMxLCAyMzMsIAorICAgIDEyNiwgMjUxLCAxMzYsIDEzMCwgMTI2LCAyMTEsIDQwLCA1MCwgMTI2LCAyMTEsIDIxNywgNTAsIDEwMSwgMjQ0LCAxOSwgCisgICAgMTkyLCAyMTMsIDIzOSwgMTAxLCAxNDAsIDc0LCAxMDEsIDIxNCwgMTUzLCA3NCwgMTAxLCA5NywgNzQsIDEwMSwgMjQ2LCAKKyAgICAxMDUsIDc0LCAxMDEsIDg1LCAyMTgsIDIzNSwgMTAxLCA3MSwgMjUwLCAzNiwgMjM1LCAyMDUsIDI1NCwgMTAwLCAyNTQsIAorICAgIDEyMSwgMjM1LCAyMDUsIDI1NCwgMTAwLCAyMjAsIDEzOCwgMjM1LCAyMDUsIDI1NCwgMTAwLCAyMTYsIDIzNywgMjI2LCAKKyAgICAyNTAsIDIyMywgNzMsIDI1MCwgMTQzLCAyMjMsIDczLCAyNTAsIDE0MywgNjIsIDU3LCAzLCAyNTMsIDE0MywgNjEsIDYyLCAKKyAgICA1NywgMywgMjUzLCAxMTIsIDc1LCA2MiwgNTcsIDMsIDI1MywgMTIxLCA3MywgNjIsIDU3LCAzLCAyNTMsIDg5LCA3NiwgNjIsIAorICAgIDU3LCAzLCAyNTMsIDEzOSwgNzAsIDYyLCA1NywgMywgMjUzLCAxNTgsIDI0OCwgMjIyLCA2MiwgNTcsIDMsIDI1MywgMTA1LCAKKyAgICAyNDgsIDkxLCA2MiwgNTcsIDMsIDI1MywgMTQ1LCAyNDgsIDQsIDYyLCA1NywgMywgMjUzLCAxMzUsIDI0NywgMTQ2LCA2MiwgCisgICAgNTcsIDMsIDI1MywgOTksIDI0NiwgNzksIDYyLCA1NywgMywgMjUzLCA5MywgMjM1LCAxNDIsIDYyLCA1NywgMywgMjUzLCAKKyAgICAxMDQsIDIzNSwgMTI3LCA2MiwgNTcsIDMsIDI1MywgMTE0LCAyMzUsIDY5LCA2MiwgNTcsIDMsIDI1MywgODUsIDIzNSwgNTIsIAorICAgIDYyLCA1NywgMywgMjUzLCA3MywgMTc2LCA2MiwgNTcsIDMsIDI1MywgMTA2LCAyMzQsIDE4MywgNjIsIDU3LCAzLCAyNTMsIAorICAgIDgzLCAyMzQsIDkzLCA2MiwgNTcsIDMsIDI1MywgODAsIDIzNCwgMjksIDYyLCA1NywgMywgMjUzLCA2OSwgMjMzLCAyMTgsIAorICAgIDYyLCA1NywgMywgMjUzLCA3MCwgMTg1LCA2MiwgNTcsIDMsIDI1MywgMTM2LCAyMzEsIDkyLCA2MiwgNTcsIDMsIDI1MywgCisgICAgNzcsIDIzMCwgMjMxLCA2MiwgNTcsIDMsIDI1MywgMTM0LCAyMzAsIDE2MiwgNjIsIDU3LCAzLCAyNTMsIDEyNiwgMjMwLCAKKyAgICAxMDMsIDYyLCA1NywgMywgMjUzLCAxNDcsIDE5NywgNjIsIDU3LCAzLCAyNTMsIDEyNSwgMjI5LCAxMDgsIDYyLCA1NywgMywgCisgICAgMjUzLCAxMTksIDIyOCwgMjM0LCA2MiwgNTcsIDMsIDI1MywgOTgsIDIyOCwgNzUsIDYyLCA1NywgMywgMjUzLCA5NSwgMjI3LCAKKyAgICAyMzgsIDYyLCA1NywgMywgMjUzLCAxNTQsIDE5MCwgNjIsIDU3LCAzLCAyNTMsIDc4LCAyMjUsIDIyMiwgNjIsIDU3LCAzLCAKKyAgICAyNTMsIDExMSwgMjI1LCAxMDksIDYyLCA1NywgMywgMjUzLCAxMzgsIDIyNSwgMTcsIDYyLCA1NywgMywgMjUzLCAxMDAsIAorICAgIDIyNCwgMTUxLCA2MiwgNTcsIDMsIDI1MywgMTMzLCAyMjQsIDg5LCA2MiwgNTcsIDMsIDI1MywgNzIsIDIyNCwgNzAsIDYyLCAKKyAgICA1NywgMywgMjUzLCAxMjgsIDIyNCwgNTQsIDYyLCA1NywgMywgMjUzLCAxMTcsIDIyNCwgNDMsIDYyLCA1NywgMywgMjUzLCAKKyAgICA5MCwgMjA1LCA2MiwgNTcsIDMsIDI1MywgMTIyLCAyMjMsIDEyOSwgNjIsIDU3LCAzLCAyNTMsIDk3LCAyMjMsIDM2LCA2MiwgCisgICAgNTcsIDMsIDI1MywgMTU2LCAyMjIsIDIxMiwgNjIsIDU3LCAzLCAyNTMsIDEyMywgMjIyLCAxNDEsIDYyLCA1NywgMywgMjUzLCAKKyAgICAxMTgsIDIwNiwgNjIsIDU3LCAzLCAyNTMsIDE0MSwgMjIxLCAxODIsIDYyLCA1NywgMywgMjUzLCAxMDksIDIxOSwgMTkyLCAKKyAgICA2MiwgNTcsIDMsIDI1MywgMTM3LCAyMTksIDU5LCA2MiwgNTcsIDMsIDI1MywgOTIsIDIxOCwgODQsIDYyLCA1NywgMywgCisgICAgMjUzLCA5MSwgMjE3LCAxMDYsIDYyLCA1NywgMywgMjUzLCAxNTIsIDIxNywgMjMsIDYyLCA1NywgMywgMjUzLCAxMTMsIAorICAgIDIxNiwgMTE4LCA2MiwgNTcsIDMsIDI1MywgMTUwLCAxMTEsIDYyLCA1NywgMywgMjUzLCA4MSwgMjE1LCAxMTksIDYyLCA1NywgCisgICAgMywgMjUzLCA5NiwgMjEyLCA2NSwgNjIsIDU3LCAzLCAyNTMsIDc1LCAyMTIsIDIyLCA2MiwgNTcsIDMsIDI1MywgMTEwLCAKKyAgICAyMTEsIDI1MCwgNjIsIDU3LCAzLCAyNTMsIDEwOCwgMjExLCAyMjcsIDYyLCA1NywgMywgMjUzLCAxMzIsIDIxMCwgMTE2LCAKKyAgICA2MiwgNTcsIDMsIDI1MywgNzYsIDIxMCwgOTQsIDYyLCA1NywgMywgMjUzLCAxMjksIDIxMCwgMjMsIDYyLCA1NywgMywgCisgICAgMjUzLCAxMjQsIDI1NSwgNzYsIDYyLCA1NywgMywgMjUzLCAxMDcsIDI1NSwgNzUsIDYyLCA1NywgMywgMjUzLCA2NiwgMjUzLCAKKyAgICAxOTMsIDYyLCA1NywgMywgMjUzLCA3OSwgMjQ2LCA0NywgNjIsIDU3LCAzLCAyNTMsIDYyLCAyNDYsIDQ2LCA2MiwgNTcsIDMsIAorICAgIDI1MywgMTAyLCAyMjcsIDE3NSwgNjIsIDU3LCAzLCAyNTMsIDEyMCwgMjI0LCAxNDksIDYyLCA1NywgMywgMjUzLCA4OCwgCisgICAgMjI0LCAxNTMsIDYyLCA1NywgMywgMjUzLCA3NCwgMjIzLCAxODcsIDYyLCA1NywgMywgMjUzLCAxMTYsIDIyMywgMTg2LCAKKyAgICA2MiwgNTcsIDMsIDI1MywgODIsIDIyMiwgMjExLCA2MiwgNTcsIDMsIDI1MywgODQsIDIxNywgMTAzLCA2MiwgNTcsIDMsIAorICAgIDI1MywgNjQsIDIxNSwgNzgsIDYyLCA1NywgMywgMjUzLCA2MSwgMTA1LCA2MiwgNTcsIDE2LCAyNTMsIDEzMSwgNjIsIDU3LCAKKyAgICAxNiwgMjUzLCAxMzAsIDYyLCA1NywgMTYsIDI1MywgMTI3LCA2MiwgNTcsIDE2LCAyNTMsIDExNSwgNjIsIDU3LCAxNiwgCisgICAgMjUzLCAxMDMsIDYyLCA1NywgMTYsIDI1MywgMTAxLCA2MiwgNTcsIDE2LCAyNTMsIDk0LCA2MiwgNTcsIDE2LCAyNTMsIDg3LCAKKyAgICA2MiwgNTcsIDE2LCAyNTMsIDg2LCA2MiwgNTcsIDE2LCAyNTMsIDcxLCA2MiwgNTcsIDE2LCAyNTMsIDY4LCA2MiwgNTcsIAorICAgIDE2LCAyNTMsIDY3LCA2MiwgNTcsIDE2LCAyNTMsIDY1LCA2MiwgNTcsIDE2LCAyNTMsIDYzLCA2MiwgNTcsIDEwNiwgMjUzLCAKKyAgICA2MCwgMjMxLCAxODYsIDYyLCA1NywgMTA2LCAyNTMsIDU5LCAyMTEsIDIyMSwgNjIsIDU3LCAxMDYsIDI1MywgNTgsIDI0OCwgCisgICAgNzUsIDYyLCA1NywgMTA2LCAyNTMsIDU3LCAyNDUsIDk2LCA2MiwgNTcsIDEwNiwgMjUzLCA1NiwgMjMxLCAxNjAsIDYyLCAKKyAgICA1NywgMTA2LCAyNTMsIDU1LCAyMTgsIDE2MywgNjIsIDU3LCAxMDYsIDI1MywgNTQsIDI0NSwgMzgsIDYyLCA1NywgMTA2LCAKKyAgICAyNTMsIDUzLCAyMjMsIDE1NCwgNjIsIDU3LCAxMDYsIDI1MywgNTIsIDIyMCwgNjMsIDYyLCA1NywgMTA2LCAyNTMsIDUxLCAKKyAgICAyNDEsIDIzOCwgNjIsIDU3LCAxMDYsIDI1MywgNTAsIDIxOSwgMjYsIDYyLCA1NywgMTA2LCAyNTMsIDQ5LCAyNTEsIDIwNCwgCisgICAgNjIsIDU3LCAxMDYsIDI1MywgNDgsIDI0OSwgMTQ2LCA2MiwgNTcsIDEwNiwgMjUzLCA0NywgMjUxLCAxMTYsIDYyLCA1NywgCisgICAgMTA2LCAyNTMsIDQ2LCAyMTIsIDIsIDYyLCA1NywgMTA2LCAyNTMsIDQ1LCAyNTIsIDEzNywgNjIsIDU3LCAxMDYsIDI1MywgCisgICAgNDQsIDIyNiwgMjA2LCA2MiwgNTcsIDEwNiwgMjUzLCA0MywgMjE4LCAyNTUsIDYyLCA1NywgMTA2LCAyNTMsIDQyLCAyNDksIAorICAgIDY5LCA2MiwgNTcsIDIzMCwgMTQzLCAyNTMsIDQxLCAyMzQsIDIyNSwgNjIsIDU3LCAyMzAsIDE0MywgMjUzLCA0MCwgMjM0LCAKKyAgICAyMzMsIDYyLCA1NywgMTA2LCAyNTMsIDM5LCAyMjYsIDIxOSwgNjIsIDU3LCAxMDYsIDI1MywgMzgsIDIxMSwgMjM2LCA2MiwgCisgICAgNTcsIDEwNiwgMjUzLCAzNywgNjIsIDU3LCAyMzAsIDE0MywgMjUzLCAzNiwgMjU0LCAxOCwgNjIsIDU3LCAyMzAsIDE0MywgCisgICAgMjUzLCAzNSwgMjMxLCA1MywgNjIsIDU3LCAxMDYsIDI1MywgMzQsIDI1MSwgMTM1LCA2MiwgNTcsIDEwNiwgMjUzLCAzMywgCisgICAgMjQyLCAxNjcsIDYyLCA1NywgMTA2LCAyNTMsIDMyLCA2MiwgNTcsIDEwNiwgMjUzLCAzMSwgMjExLCAyMTIsIDYyLCA1NywgCisgICAgMTA2LCAyNTMsIDMwLCA2MiwgNTcsIDEwNiwgMjUzLCAyOSwgNjIsIDU3LCAxMDYsIDI1MywgMjgsIDI0MCwgMjQ5LCA2MiwgCisgICAgNTcsIDEwNiwgMjUzLCAyNywgNjIsIDU3LCAxMDYsIDI1MywgMjYsIDYyLCA1NywgMTA2LCAyNTMsIDI1LCA2MiwgNTcsIAorICAgIDIzMCwgMTQzLCAyNTMsIDIzLCAyMTUsIDkyLCA2MiwgNTcsIDEwNiwgMjUzLCAyMiwgNjIsIDU3LCAxMDYsIDI1MywgMjEsIAorICAgIDYyLCA1NywgMTA2LCAyNTMsIDIwLCAyNDksIDI1MSwgNjIsIDU3LCAxMDYsIDI1MywgMTksIDYyLCA1NywgMTA2LCAyNTMsIAorICAgIDE4LCA2MiwgNTcsIDEwNiwgMjUzLCAxNywgMjQzLCA5NCwgNjIsIDU3LCAxMDYsIDI1MywgMTYsIDI1NCwgNSwgNjIsIDU3LCAKKyAgICAxMDYsIDI1MywgMTUsIDYyLCA1NywgMTA2LCAyNTMsIDE0LCA2MiwgNTcsIDEwNiwgMjUzLCAxMywgNjIsIDU3LCAxMDYsIAorICAgIDI1MywgMTIsIDYyLCA1NywgMTA2LCAyNTMsIDExLCA2MiwgNTcsIDEwNiwgMjUzLCAxMCwgNjIsIDU3LCAxMDYsIDI1MywgOSwgCisgICAgNjIsIDU3LCAxMDYsIDI1MywgOCwgNjIsIDU3LCAxMDYsIDI1MywgNywgNjIsIDU3LCAxMDYsIDI1MywgNiwgMjMwLCAxMzUsIAorICAgIDYyLCA1NywgMTA2LCAyNTMsIDUsIDYyLCA1NywgMTA2LCAyNTMsIDQsIDIxNSwgMjM2LCA2MiwgNTcsIDEwNiwgMjUzLCAzLCAKKyAgICA2MiwgNTcsIDEwNiwgMjUzLCAyLCA2MiwgNTcsIDEwNiwgMjUzLCAxLCA2MiwgNTcsIDEwNiwgMjUzLCAwLCA2MiwgNTcsIAorICAgIDEwNiwgMjUyLCAyNTUsIDYyLCA1NywgMTA2LCAyNTIsIDI1NCwgNjIsIDU3LCAxMDYsIDI1MiwgMjUzLCA2MiwgNTcsIDEwNiwgCisgICAgMjUyLCAyNTIsIDYyLCA1NywgMTA2LCAyNTIsIDI1MSwgNjIsIDU3LCAxMDYsIDI1MiwgMjUwLCA2MiwgNTcsIDEwNiwgMjUyLCAKKyAgICAyNDksIDYyLCA1NywgMTA2LCAyNTIsIDI0OCwgMjQxLCAyMTIsIDYyLCA1NywgMTA2LCAyNTIsIDIyNywgMjQ0LCAyOSwgNjIsIAorICAgIDU3LCAxMDYsIDI1MiwgMjI0LCAyNTIsIDExNywgNjIsIDU3LCAxMDYsIDI1MiwgMjE5LCAyMTksIDYsIDYyLCA1NywgMTA2LCAKKyAgICAyNTIsIDIxOCwgNzQsIDYyLCA1NywgMTA2LCAyNTIsIDIxNywgNjIsIDU3LCAxMDYsIDI1MiwgMjE2LCAyMTcsIDIzNywgNjIsIAorICAgIDU3LCAxMDYsIDI1MiwgMjE1LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTQsIDYyLCA1NywgMTA2LCAyNTIsIDIxMywgMjExLCAKKyAgICAyNTQsIDI1MCwgMTQwLCA2MiwgNTcsIDEwNiwgMjUyLCAyMTIsIDI1MCwgMTQwLCA2MiwgNTcsIDEwNiwgMjUyLCAyMTEsIAorICAgIDI1MCwgMTQxLCAyNDQsIDAsIDYyLCA1NywgMTA2LCAyNTIsIDIxMCwgMjEyLCAwLCA2MiwgNTcsIDEwNiwgMjUyLCAyMDksIAorICAgIDYyLCA1NywgMTA2LCAyNTIsIDIwOCwgNjIsIDU3LCAyMzAsIDE0MywgMjUyLCAyMDcsIDI0NywgMTk5LCA2MiwgNTcsIDEwNiwgCisgICAgMjUyLCAyMDYsIDYyLCA1NywgMTA2LCAyNTIsIDIwNSwgNjIsIDU3LCAxMDYsIDI1MiwgMjAzLCA2MiwgNTcsIDEwNiwgMjUyLCAKKyAgICAyMDIsIDYyLCA1NywgMTA2LCAyNTIsIDIwMSwgNjIsIDU3LCAxMDYsIDI1MiwgMjAwLCAyNDgsIDE2MCwgNjIsIDU3LCAxMDYsIAorICAgIDI1MiwgMTk5LCA2MiwgNTcsIDEwNiwgMjUyLCAxOTgsIDYyLCA1NywgMTA2LCAyNTIsIDE5NywgNjIsIDU3LCAxMDYsIDI1MiwgCisgICAgMTk2LCA2MiwgNTcsIDEwNiwgMjUyLCAxOTUsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUzLCAyNCwgNjIsIDU3LCAxMDYsIAorICAgIDIxMywgMTg2LCAyNTIsIDI0NywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NiwgNjIsIDU3LCAxMDYsIDIxMywgCisgICAgMTg2LCAyNTIsIDI0NSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKKyAgICAyNTIsIDI0MywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAorICAgIDI0MSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzOSwgCisgICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzOCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNywgNjIsIDU3LCAKKyAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNSwgNjIsIDU3LCAxMDYsIAorICAgIDIxMywgMTg2LCAyNTIsIDIzNCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMywgNjIsIDU3LCAxMDYsIDIxMywgCisgICAgMTg2LCAyNTIsIDIzMiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKKyAgICAyNTIsIDIzMCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyOSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAorICAgIDIyOCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNSwgCisgICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyMywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyMiwgNjIsIDU3LCAKKyAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDIyMSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyMCwgNjIsIDU3LCAxMDYsIAorICAgIDIxMywgMTg2LCAyNTIsIDIwNCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDE5NCwgMjU0LCAyMzcsIDIxMSwgMjA5LCAKKyAgICAyMjAsIDEzOSwgMjMyLCAyMTQsIDI1NCwgMjM3LCAyMTEsIDIwOSwgMjIwLCAxMzksIDI0NywgMTIxLCAyNTQsIDIzNywgCisgICAgMjUwLCAxMzEsIDc4LCAyNTQsIDIzNywgNTQsIDExMCwgMjU0LCAyMzcsIDU0LCAxMDUsIDI1NCwgMjM3LCA1NCwgMTU4LCAKKyAgICAyNTQsIDIzNywgNTQsIDE2MSwgMjU0LCAyMzcsIDU0LCAxODksIDI1NCwgMjM3LCA1NCwgMTk0LCAyNTQsIDIzNywgNTQsIAorICAgIDE5OCwgMjU0LCAyMzcsIDU0LCAxOTUsIDI1NCwgMjM3LCA1NCwgMjAwLCAyNTQsIDIzNywgNTQsIDIxNiwgMjQ4LCAyNTQsIAorICAgIDIzNywgNTQsIDIxNSwgNzMsIDI1NCwgMjM3LCA1NCwgMjE2LCAxNjMsIDI1NCwgMjM3LCA1NCwgMjQ0LCAxNiwgMjU0LCAKKyAgICAyMzcsIDU0LCAyNDQsIDExNSwgMjU0LCAyMzcsIDU0LCAyMTksIDExMiwgMjU0LCAyMzcsIDU0LCAyMjAsIDExNywgMjU0LCAKKyAgICAyMzcsIDU0LCAyNDUsIDE4NSwgMjU0LCAyMzcsIDU0LCAyMjgsIDE5NiwgMjU0LCAyMzcsIDU0LCAxMjMsIDI0MCwgMjExLCAKKyAgICAyNTQsIDIzNywgNTQsIDExMywgMjQwLCAyMTEsIDI1NCwgMjM3LCA1NCwgMTM0LCAyNDAsIDIxMSwgMjU0LCAyMzcsIDU0LCAKKyAgICAyNDQsIDEyLCAyNDAsIDIxMSwgMjU0LCAyMzcsIDU0LCAyNDQsIDgyLCAyNDAsIDIxMSwgMjU0LCAyMzcsIDU0LCAyMTksIAorICAgIDEyNiwgMjQwLCAyMTEsIDI1NCwgMjM3LCA1NCwgMjIwLCAxMjMsIDI0MCwgMjExLCAyNTQsIDIzNywgNTQsIDI0NSwgMTk0LCAKKyAgICAyNDAsIDIxMSwgMjU0LCAyMzcsIDU0LCAyMjgsIDIwMSwgMjQwLCAyMTEsIDI1NCwgMjM3LCA1NCwgMTIzLCAyMTYsIDE0OCwgCisgICAgMjU0LCAyMzcsIDU0LCAxMTMsIDIxNiwgMTQ4LCAyNTQsIDIzNywgNTQsIDEzNCwgMjE2LCAxNDgsIDI1NCwgMjM3LCA1NCwgCisgICAgMjQ0LCAxMiwgMjE2LCAxNDgsIDI1NCwgMjM3LCA1NCwgMjQ0LCA4MiwgMjE2LCAxNDgsIDI1NCwgMjM3LCA1NCwgMjE5LCAKKyAgICAxMjYsIDIxNiwgMTQ4LCAyNTQsIDIzNywgNTQsIDIyMCwgMTIzLCAyMTYsIDE0OCwgMjU0LCAyMzcsIDU0LCAyNDUsIDE5NCwgCisgICAgMjE2LCAxNDgsIDI1NCwgMjM3LCA1NCwgMjI4LCAyMDEsIDIxNiwgMTQ4LCAyNTQsIDIzNywgNTQsIDIxNiwgMjQ5LCAyMTYsIAorICAgIDE0OCwgMjU0LCAyMzcsIDU0LCAyMTUsIDc0LCAyMTYsIDE0OCwgMjU0LCAyMzcsIDU0LCAyMTYsIDE2NCwgMjE2LCAxNDgsIAorICAgIDI1NCwgMjM3LCA1NCwgMjQ0LCAxNywgMjE2LCAxNDgsIDI1NCwgMjM3LCA1NCwgMjQ0LCAxMTYsIDIxNiwgMTQ4LCAyNTQsIAorICAgIDIzNywgNTQsIDIxOSwgMTEzLCAyMTYsIDE0OCwgMjU0LCAyMzcsIDU0LCAyMjAsIDExOCwgMjE2LCAxNDgsIDI1NCwgMjM3LCAKKyAgICA1NCwgMjQ1LCAxODYsIDIxNiwgMTQ4LCAyNTQsIDIzNywgNTQsIDIyOCwgMTk3LCAyMTYsIDE0OCwgMjU0LCAyMzcsIDIxMiwgCisgICAgMTQsIDI1MiwgMTI5LCAyMTQsIDE3MywgMjU0LCAyMzcsIDIxMiwgMTQsIDI0NCwgOTMsIDIxOCwgNjAsIDI1NCwgMjM3LCAKKyAgICAyMTIsIDE0LCAyMjEsIDE3NywgMjE4LCA2MCwgMjU0LCAyMzcsIDIxMiwgMTQsIDIxNiwgMTcwLCAyMTgsIDYwLCAyNTQsIAorICAgIDIzNywgMjEyLCAxNCwgMjQ0LCA1LCAyMTgsIDYwLCAyNTQsIDIzNywgMjQ2LCA4MiwgMjMxLCA5MSwgMjQ0LCA5MywgMjE4LCAKKyAgICA2MCwgMjU0LCAyMzcsIDIzMiwgMjAwLCAyMzEsIDkxLCAyNDQsIDkzLCAyMTgsIDYwLCAyNTQsIDIzNywgMjMxLCA5MSwgCisgICAgMjIxLCAxNzcsIDIxOCwgNjAsIDI1NCwgMjM3LCAyMzEsIDkxLCAyMTYsIDE3MCwgMjE4LCA2MCwgMjYsIDI1NSwgNywgMjUzLCAKKyAgICAxOTUsIDEyMywgMjI0LCAyMiwgMjYsIDI1NSwgNywgMjUzLCAxOTUsIDEyMywgMjQyLCAyOCwgMjYsIDI1NSwgNywgMjUzLCAKKyAgICAxOTUsIDEyMywgMjQ2LCAxMDEsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAxODksIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAyNDQsIAorICAgIDExNSwgMjYsIDI1NSwgNywgMjUzLCAxOTUsIDI0NCwgODIsIDI0MCwgMjExLCAyNiwgMjU1LCA3LCAyNTMsIDE5NSwgMjQ0LCAKKyAgICA4MiwgMjE2LCAxNDgsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAyNDQsIDExNiwgMjE2LCAxNDgsIDI2LCAyNTUsIDcsIDI1MywgCisgICAgMTk1LCAyNDQsIDgyLCAyMTcsIDY4LCAyNiwgMjU1LCA3LCAyNTMsIDE5NSwgMjE2LCAyNDksIDIxNywgNjgsIDI2LCAyNTUsIAorICAgIDcsIDI1MywgMTk1LCAyNDQsIDExNiwgMjE3LCA2OCwgMjYsIDI1NSwgNywgMjUzLCAxOTUsIDEyMywgMjQwLCAyMTIsIDIxNywgCisgICAgNjgsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAyNDQsIDgyLCAyNDAsIDIxMiwgMjE3LCA2OCwgMjYsIDI1NSwgNywgMjUzLCAKKyAgICAxOTUsIDEyMywgMjE2LCAxNDksIDIxNywgNjgsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAyNDQsIDgyLCAyMTYsIDE0OSwgCisgICAgMjE3LCA2OCwgMjYsIDI1NSwgNywgMjUzLCAxOTUsIDI0NCwgODIsIDIxOCwgMTUxLCAyNiwgMjU1LCA3LCAyNTMsIDE5NSwgCisgICAgMjE2LCAyNDksIDIxOCwgMTUxLCAyNiwgMjU1LCA3LCAyNTMsIDE5NSwgMjQ0LCAxMTYsIDIxOCwgMTUxLCAyNiwgMjU1LCA3LCAKKyAgICAyNTMsIDE5NSwgMTIzLCAyNDAsIDIxMiwgMjE4LCAxNTEsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAyNDQsIDgyLCAyNDAsIAorICAgIDIxMiwgMjE4LCAxNTEsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAxMjMsIDIxNiwgMTQ5LCAyMTgsIDE1MSwgMjYsIDI1NSwgNywgCisgICAgMjUzLCAxOTUsIDIxNiwgMjQ5LCAyMTYsIDE0OSwgMjE4LCAxNTEsIDI2LCAyNTUsIDcsIDI1MywgMTk1LCAyNDQsIDExNiwgCisgICAgMjE2LCAxNDksIDIxOCwgMTUxLCAyNiwgMjU1LCA3LCAyNTMsIDE5NSwgMjE2LCAyNDksIDIzMCwgMTY1LCAyNiwgMjU1LCA3LCAKKyAgICAyNDEsIDIwNiwgMTIzLCAyMjUsIDMyLCAyNiwgMjU1LCA3LCAyMTYsIDE4MiwgMTEwLCAyNiwgMjU1LCA3LCAyNDEsIDIwMiwgCisgICAgMTEwLCAyNiwgMjU1LCA3LCAyNDUsIDEwNSwgMTA1LCAyNiwgMjU1LCA3LCAyMTYsIDE4MiwgMTA1LCAyNiwgMjU1LCA3LCAKKyAgICAyNDksIDY2LCAxMTMsIDI0NiwgMTAwLCAyNiwgMjU1LCA3LCAyNDUsIDEwNSwgMTEzLCAyNDYsIDEwMCwgMjYsIDI1NSwgNywgCisgICAgMjE1LCAyMDQsIDE4OSwgMjYsIDI1NSwgNywgMjE1LCAyMDQsIDIxNiwgMjQ4LCAyNiwgMjU1LCA3LCAyMTUsIDIwNCwgMjE2LCAKKyAgICAyNDksIDI1NCwgMTQyLCAxNywgMjYsIDI1NSwgNywgMjQxLCAyMDIsIDIxNiwgMjQ4LCAyNiwgMjU1LCA3LCAyMzEsIDQyLCAKKyAgICAyMTYsIDI0OCwgMjYsIDI1NSwgNywgMjE2LCAxODIsIDIxNiwgMjQ4LCAyNiwgMjU1LCA3LCAyMTYsIDE4MiwgMjE2LCAxNjMsIAorICAgIDI2LCAyNTUsIDcsIDIxNSwgMjA0LCAyNDQsIDExNSwgMjYsIDI1NSwgNywgMjE1LCAyMDQsIDI0NCwgMTE2LCAyNTQsIDE0MiwgCisgICAgMTcsIDI2LCAyNTUsIDcsIDI0MSwgMjAyLCAyNDQsIDExNSwgMjYsIDI1NSwgNywgMjE2LCAxODIsIDI0NCwgMTE1LCAyNiwgCisgICAgMjU1LCA3LCAyMTYsIDE4MiwgMTIzLCAyNDAsIDIxMSwgMjYsIDI1NSwgNywgMjE2LCAxODIsIDEzNCwgMjQwLCAyMTEsIDI2LCAKKyAgICAyNTUsIDcsIDI0NSwgMTA1LCAyNDQsIDgyLCAyNDAsIDIxMSwgMjYsIDI1NSwgNywgMjE1LCAyMDQsIDI0NCwgODIsIDI0MCwgCisgICAgMjExLCAyNiwgMjU1LCA3LCAyMTYsIDE4MiwgMjQ0LCA4MiwgMjQwLCAyMTEsIDI2LCAyNTUsIDcsIDI1MCwgMjI4LCAyNDQsIAorICAgIDgyLCAyNDAsIDIxMSwgMjYsIDI1NSwgNywgMjI5LCAxODMsIDI0NCwgODIsIDI0MCwgMjExLCAyNiwgMjU1LCA3LCAyMTYsIAorICAgIDE4MiwgMTIzLCAyMTYsIDE0OCwgMjYsIDI1NSwgNywgMjE2LCAxODIsIDI0NCwgODIsIDIxNiwgMTQ4LCAyNiwgMjU1LCA3LCAKKyAgICAyNDgsIDU4LCAyNDQsIDgyLCAyMzAsIDE2NSwgMjYsIDI1NSwgNywgMjE4LCAxMTksIDI0NCwgMTE2LCAyMzAsIDE2NSwgMjYsIAorICAgIDEyMywgMTYzLCA1MCwgMjYsIDEyMywgMTYzLCA1LCAyNTQsIDE0MiwgMTcsIDI2LCAxMTMsIDIxNiwgMTY4LCA1MCwgMjYsIAorICAgIDEzNCwgMjI0LCAyMSwgNTAsIDI2LCAyMTEsIDQ1LCA1MCwgMjYsIDIxNywgNjksIDUwLCAyNiwgMjQ2LCAxMDIsIDUwLCAyNiwgCisgICAgMjI2LCAyNDcsIDUwLCAyNiwgMTEzLCAyMjYsIDI0NiwgNTAsIDI2LCAxMzQsIDIyNiwgMjQ2LCA1MCwgMjYsIDI0NCwgMTIsIAorICAgIDIyNiwgMjQ2LCA1MCwgMjYsIDI0NCwgODIsIDIyNiwgMjQ2LCA1MCwgMjYsIDIzMSwgMzYsIDUwLCAyNiwgMjMzLCAxNTgsIAorICAgIDI1MiwgMTI5LCA1MCwgMjYsIDIzMiwgMTk1LCA1MCwgMjYsIDIyNiwgMTMyLCA1MCwgMjYsIDIxMSwgMTU5LCA1MCwgMjYsIAorICAgIDI1MywgMjQ0LCA1MCwgMjYsIDI1NCwgMSwgNTAsIDI2LCAyNDIsIDE0NSwgNTAsIDI2LCAyMTUsIDE4NywgMjUyLCAxMjksIAorICAgIDUwLCAyNiwgMjEwLCA4NywgNTAsIDIyMiwgMTk5LCAyMjAsIDExNCwgNTAsIDIyMiwgMTk5LCAyMTQsIDE4NSwgNTAsIDIyMiwgCisgICAgMTk5LCAyMjAsIDE0MywgNTAsIDIyMiwgMTk5LCAyMjAsIDExMiwgNTAsIDIyMiwgMTk5LCAyNDcsIDIxNCwgMjIwLCAxMTIsIAorICAgIDUwLCAyMjIsIDE5OSwgMjE5LCAxNjksIDUwLCAyMjIsIDE5OSwgMjQ4LCA1NCwgNTAsIDIyMiwgMTk5LCAyMjQsIDcsIDUwLCAKKyAgICAyMjIsIDE5OSwgMjIwLCAxMzAsIDUwLCAyMjIsIDE5OSwgMjQ2LCA2MSwgNTAsIDIyMiwgMTk5LCAyNTMsIDIzOSwgNTAsIAorICAgIDIyMiwgMTk5LCAyNTAsIDE3MiwgNTAsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjI1LCAyMTQsIDIyNSwgMTQ0LCAyNDcsIAorICAgIDE5MiwgNSwgMjI1LCAyNSwgMjQxLCAyMzYsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjE3LCA0NiwgMjQxLCAyMzYsIDIyNSwgCisgICAgMTQ0LCAyNDcsIDE5MiwgNSwgMjUwLCAyNDgsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjUwLCAxMDIsIDIyNSwgMTQ0LCAKKyAgICAyNDcsIDE5MiwgNSwgMjExLCAyMjEsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjQxLCAyMTIsIDIyNSwgMTQ0LCAyNDcsIAorICAgIDE5MiwgNSwgMjQzLCA4NiwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMTYsIDExNywgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAKKyAgICA3NCwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyNTEsIDE3MCwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMjAsIDMwLCAyMjUsIAorICAgIDE0NCwgMjQ3LCAxOTIsIDUsIDI0OSwgMjQ1LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDIzMSwgMTg1LCAyMjUsIDE0NCwgCisgICAgMjQ3LCAxOTIsIDUsIDIzMSwgMTM3LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDIyMSwgMjE3LCAyMjUsIDE0NCwgMjQ3LCAKKyAgICAxOTIsIDUsIDIzMiwgMjM4LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDI1MSwgMTg5LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIAorICAgIDI1MCwgMjMyLCAyMjUsIDM2LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDI0NywgMTM0LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIAorICAgIDUsIDI0OSwgMjI0LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDIxOSwgODgsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjQ5LCAKKyAgICAyMjUsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjUyLCA2NCwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMjAsIDE3LCAyMjUsIAorICAgIDE0NCwgMjQ3LCAxOTIsIDUsIDI0MCwgMjQ5LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDI0MSwgMTc5LCAyMjUsIDE0NCwgCisgICAgMjQ3LCAxOTIsIDUsIDI1MSwgMTEzLCAyMzMsIDM3LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDI1MCwgMjI1LCAyMjUsIAorICAgIDE0NCwgMjQ3LCAxOTIsIDUsIDIyMywgMTU0LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDI0NSwgMjMxLCAyMjUsIDE0NCwgCisgICAgMjQ3LCAxOTIsIDUsIDI0NiwgMTA4LCAyMjUsIDE0NCwgMjQ3LCAxOTIsIDUsIDIxNSwgMTA2LCAyMjUsIDE0NCwgMjQ3LCAKKyAgICAxOTIsIDUsIDI1MiwgNjcsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjI1LCAzNywgMjE1LCAyMzYsIDIyNSwgMTQ0LCAyNDcsIAorICAgIDE5MiwgNSwgMjEzLCAxNTksIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjI2LCAxOSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAKKyAgICAyMjIsIDE5MSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMzIsIDIyNSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMjYsIAorICAgIDExNiwgMjUyLCAxODUsIDIyNSwgMTQ0LCAyNDcsIDE5MiwgNSwgMjQ0LCA0OSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAKKyAgICAyNDIsIDEzOSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMTgsIDEyMCwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCA0LCAyNTMsIAorICAgIDE2OSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAyMTIsIDMyLCAyNTIsIDE0OSwgMjI1LCAxNDQsIDI0NywgMTkyLCA1LCAzOCwgCisgICAgMjI2LCAyNDksIDkxLCAyMzIsIDYxLCAxLCA2MSwgMjMyLCA2MSwgMSwgNzUsIDIzMiwgNjEsIDEsIDI1MywgMTU5LCAyMzIsIAorICAgIDYxLCAxLCAyNTIsIDIwLCAyMzIsIDYxLCAxLCAyNDMsIDIwMywgMjMyLCA2MSwgMSwgMjQ5LCA2MSwgMjMyLCA2MSwgMSwgCisgICAgNzMsIDIzMiwgNjEsIDEsIDIxMiwgOTgsIDIzMiwgNjEsIDEsIDIxMCwgMTU5LCAyMzIsIDYxLCAxLCAyMTYsIDIxMSwgMjMyLCAKKyAgICA2MSwgMSwgMjM1LCAxNDUsIDIzMiwgNjEsIDEsIDIzNSwgMjQsIDIzMiwgNjEsIDEsIDIyNCwgOTcsIDIzMiwgNjEsIDEsIAorICAgIDE1NiwgMjMyLCA2MSwgMSwgMTkzLCAyMzIsIDYxLCAxLCAyMzAsIDI2LCAyMzIsIDYxLCAxLCAyMzAsIDE2NywgMjMyLCA2MSwgCisgICAgMSwgMjI4LCAxMTIsIDIzMiwgNjEsIDEsIDcwLCAyMzIsIDYxLCAxLCAyMjYsIDEwNiwgMjMyLCA2MSwgMSwgMjM0LCA0OCwgCisgICAgMjMyLCA2MSwgMSwgMTUzLCAyMzIsIDYxLCAxLCAyMjIsIDkyLCAyMzIsIDYxLCAxLCAyMTcsIDE1MywgMjMyLCA2MSwgMSwgCisgICAgMjE1LCAxNjAsIDIzMiwgNjEsIDEsIDI1NCwgMTI0LCAyMzIsIDYxLCAxLCAyNDUsIDE1MSwgMjMyLCA2MSwgMSwgMjQyLCAKKyAgICA2MSwgMjMyLCA2MSwgMSwgMjExLCAxNzgsIDI1MCwgMjM4LCAxLCA2MSwgMjUwLCAyMzgsIDEsIDIyNiwgOTIsIDI1MCwgCisgICAgMjM4LCAxLCAyNDksIDYxLCAyNTAsIDIzOCwgMSwgMTU2LCAyNTAsIDIzOCwgMSwgMjE0LCAxMTYsIDI1MCwgMjM4LCAxLCAKKyAgICAxNTMsIDI1MCwgMjM4LCAxLCAyMzMsIDYzLCAyNTAsIDIzOCwgMSwgMjU1LCA3NiwgMjUwLCAyMzgsIDEsIDIyNCwgOTcsIAorICAgIDI1MCwgMjM4LCAxLCAyNTMsIDE1OSwgMjUwLCAyMzgsIDEsIDE5MywgMjUwLCAyMzgsIDEsIDc2LCAyNTAsIDIzOCwgMSwgCisgICAgMjQ4LCAyMjQsIDI1MCwgMjM4LCAxLCAyMTcsIDE1MywgMjUwLCAyMzgsIDEsIDIyMCwgMTA1LCAyNTAsIDIzOCwgMSwgMjIwLCAKKyAgICAxMDQsIDI1MCwgMjM4LCAxLCAyMjIsIDkyLCAyNTAsIDIzOCwgMSwgMjUxLCA2NiwgMjUwLCAyMzgsIDEsIDcwLCAyNTAsIAorICAgIDIzOCwgMSwgMjI4LCAxMTIsIDI1MCwgMjM4LCAxLCAyMTEsIDE3OCwgMjUwLCAyMzgsIDEsIDIzMCwgMjYsIDI1MCwgMjM4LCAKKyAgICAxLCAyMTUsIDE1OSwgMjUwLCAyMzgsIDEsIDIyNiwgMTA2LCAyNTAsIDIzOCwgMSwgMjE4LCAyMjcsIDI1MCwgMjM4LCAxLCAKKyAgICA3MywgMjUwLCAyMzgsIDEsIDc1LCAyNTAsIDIzOCwgMSwgMjE0LCAxMTMsIDI1MCwgMjM4LCAxLCAyMzUsIDI0LCAyNTAsIAorICAgIDIzOCwgMSwgMjM1LCAxNSwgMjUwLCAyMzgsIDEsIDIyOSwgMTUxLCAyNTAsIDIzOCwgMSwgMjE0LCAxMTgsIDI1MCwgMjM4LCAKKyAgICAxLCAyNDMsIDIwMywgMjUwLCAyMzgsIDEsIDI0MywgMTM4LCAyNTAsIDIzOCwgMSwgMjE4LCAxNjksIDI1MCwgMjM4LCAxLCAKKyAgICAyMTgsIDE2OCwgMjUwLCAyMzgsIDEsIDIyOSwgODAsIDI1MCwgMjM4LCAxLCAyMzYsIDM0LCAyNTAsIDIzOCwgMSwgMjUxLCAKKyAgICA2NSwgMjUwLCAyMzgsIDEsIDIxNSwgMTYwLCAyNTAsIDIzOCwgMSwgMjE0LCAxMTUsIDI1MCwgMjM4LCAxLCAyMjIsIDE4MSwgCisgICAgMjUwLCAyMzgsIDEsIDIzMSwgMTMwLCAyNTAsIDIzOCwgMSwgMjMxLCAxMjksIDI1MCwgMjM4LCAxLCAyMzEsIDEyOCwgMjUwLCAKKyAgICAyMzgsIDEsIDIzMSwgMTI3LCAyNTAsIDIzOCwgMSwgMjMzLCA2MiwgMjUwLCAyMzgsIDEsIDI0NSwgMjM1LCAyNTAsIDIzOCwgCisgICAgMSwgMjE0LCAxMTQsIDU1LCAzMiwgMSwgNjEsIDU1LCAzMiwgMSwgMjUyLCA3NiwgNTUsIDMyLCAxLCAyMzQsIDE4MywgNTUsIAorICAgIDMyLCAxLCAyNDgsIDkxLCA1NSwgMzIsIDEsIDc1LCA1NSwgMzIsIDEsIDIxMywgMjU1LCA1NSwgMzIsIDEsIDIxMCwgOTQsIAorICAgIDU1LCAzMiwgMSwgMjQxLCAyMzksIDU1LCAzMiwgMSwgMjE2LCAxOTYsIDU1LCAzMiwgMSwgNzMsIDU1LCAzMiwgMSwgMTc2LCAKKyAgICA1NSwgMzIsIDEsIDI0NSwgMTc1LCA1NSwgMzIsIDEsIDI0NSwgMTYwLCA1NSwgMzIsIDEsIDI0NSwgMTUxLCA1NSwgMzIsIDEsIAorICAgIDI0NSwgNzYsIDU1LCAzMiwgMSwgNzYsIDU1LCAzMiwgMSwgMjI1LCAyMjIsIDU1LCAzMiwgMSwgMjIwLCA2NCwgNTUsIDMyLCAKKyAgICAxLCAyMzMsIDIxOCwgNTUsIDMyLCAxLCAyNDUsIDkzLCA1NSwgMzIsIDEsIDI0NSwgODMsIDU1LCAzMiwgMSwgMjE3LCAyMywgCisgICAgNTUsIDMyLCAxLCA3MCwgNTUsIDMyLCAxLCAyNDUsIDE3OCwgNTUsIDMyLCAxLCAyMjUsIDEzNywgNTUsIDMyLCAxLCAyMzQsIAorICAgIDEyMCwgNTUsIDMyLCAxLCAyNDUsIDIwMywgNTUsIDMyLCAxLCAyNDUsIDg1LCA1NSwgMzIsIDEsIDI1MCwgMTMyLCA1NSwgCisgICAgMzIsIDEsIDIzNiwgMzQsIDU1LCAzMiwgMSwgMjE0LCAxMTgsIDU1LCAzMiwgMjI3LCAxOTksIDExMCwgNTUsIDMyLCAyMjcsIAorICAgIDE5OSwgMTg5LCA1NSwgMzIsIDIyNywgMTk5LCAyMTYsIDI0OCwgNTUsIDMyLCAyMjcsIDE5OSwgMjQ0LCAxMTUsIDI0MiwgCisgICAgMTU0LCAxLCAyNTQsIDIwNSwgMjQyLCAxNTQsIDEsIDI1MiwgMTY0LCAyNDIsIDE1NCwgMSwgMjQyLCAyMTIsIDI0MiwgMTU0LCAKKyAgICAxLCAyNDgsIDIwNSwgMjQyLCAxNTQsIDEsIDI1NCwgMjAxLCAyNDIsIDE1NCwgMSwgMjI0LCA4MCwgMjQyLCAxNTQsIDEsIAorICAgIDIzNSwgMTU2LCAyNDIsIDE1NCwgMSwgMjQyLCA0MCwgMjQyLCAxNTQsIDEsIDIxNiwgMTU5LCAyNDIsIDE1NCwgMSwgMjQ1LCAKKyAgICAxODQsIDI0MiwgMTU0LCAxLCAyMzMsIDE5MSwgMjQyLCAxNTQsIDEsIDIzMywgMTE0LCAyNDIsIDE1NCwgMSwgMjMxLCAxODAsIAorICAgIDI0MiwgMTU0LCAxLCAyMjksIDE4NSwgMjQyLCAxNTQsIDEsIDIzNSwgMTIwLCAyNDIsIDE1NCwgMSwgMjE0LCAxMzYsIDI0MiwgCisgICAgMTU0LCAxLCAyMjYsIDcwLCAyNDIsIDE1NCwgMSwgMjI4LCAxOTYsIDI0MiwgMTU0LCAxLCAyMjMsIDE2NiwgMjQyLCAxNTQsIAorICAgIDEsIDIyMSwgMjE5LCAyNDIsIDE1NCwgMSwgMjE3LCA1LCAyNDIsIDE1NCwgMSwgMjExLCAyMzQsIDI0MiwgMTU0LCAxLCAKKyAgICAyNDQsIDE3OSwgMjQyLCAxNTQsIDEsIDIzNiwgMzgsIDI0MiwgMTU0LCAxLCAyNDAsIDIwMCwgMjQyLCAxNTQsIDEsIDIyNiwgCisgICAgMTQwLCAyNDIsIDE1NCwgMSwgMjI4LCAyMDEsIDI0MCwgMjExLCAyMTQsIDIwOSwgMSwgMjU0LCAxNDgsIDIxNCwgMjA5LCAxLCAKKyAgICAyNTIsIDI3LCAyMTQsIDIwOSwgMSwgMjQzLCAxMDksIDIxNCwgMjA5LCAxLCAyMzQsIDEzMywgMjE0LCAyMDksIDEsIDI0OCwgCisgICAgNTUsIDIxNCwgMjA5LCAxLCAyNDEsIDY5LCAyMTQsIDIwOSwgMSwgMjExLCAyMjcsIDIxNCwgMjA5LCAxLCAyMTAsIDg1LCAKKyAgICAyMTQsIDIwOSwgMSwgMjQwLCAyNDIsIDIxNCwgMjA5LCAxLCAyMTYsIDIzMSwgMjE0LCAyMDksIDEsIDIxMCwgMjMzLCAyMTQsIAorICAgIDIwOSwgMSwgMjM0LCAyNTEsIDIxNCwgMjA5LCAxLCAyMjAsIDIxLCAyMTQsIDIwOSwgMSwgMjMzLCA5OSwgMjE0LCAyMDksIAorICAgIDEsIDIzMSwgNjYsIDIxNCwgMjA5LCAxLCAyNDgsIDIyLCAyMTQsIDIwOSwgMSwgMjI3LCAxOTUsIDIxNCwgMjA5LCAxLCAKKyAgICAyMTAsIDEzLCAyMTQsIDIwOSwgMSwgMjIxLCAyNDksIDIxNCwgMjA5LCAxLCAyNTQsIDE5NywgMjE0LCAyMDksIDEsIDIyNCwgCisgICAgMTUxLCAyMTQsIDIwOSwgMSwgMjIyLCAyNiwgMjE0LCAyMDksIDEsIDIyNCwgMzYsIDIxNCwgMjA5LCAxLCAyMjMsIDE0NSwgCisgICAgMjE0LCAyMDksIDEsIDIxNiwgMjAwLCAyMTQsIDIwOSwgMSwgMjQyLCAyNDUsIDIxNCwgMjA5LCAxLCAxMTEsIDIxNCwgMjA5LCAKKyAgICAxLCA3MywgMjE0LCAyMDksIDEsIDcwLCAyMTQsIDIwOSwgMSwgMjE4LCAxODAsIDIxNCwgMjA5LCAyMTEsIDIwOSwgMjQ3LCAKKyAgICAxNzMsIDU1LCAyMjUsIDE3MCwgNSwgNjEsIDU1LCAyMjUsIDE3MCwgNSwgNzMsIDU1LCAyMjUsIDE3MCwgNSwgNzAsIDU1LCAKKyAgICAyMjUsIDE3MCwgNSwgMTc2LCA1NSwgMjI1LCAxNzAsIDUsIDIzMywgMjE4LCA1NSwgMjI1LCAxNzAsIDUsIDI0MywgMTM2LCAKKyAgICA1NSwgMjI1LCAxNzAsIDUsIDI0MiwgMTE0LCA1NSwgMjI1LCAxNzAsIDUsIDIxMSwgMTY1LCA1NSwgMjI1LCAxNzAsIDUsIAorICAgIDI1MSwgMzQsIDU1LCAyMjUsIDE3MCwgNSwgMjM1LCAxNDIsIDU1LCAyMjUsIDE3MCwgNSwgMjM1LCAxMDksIDU1LCAyMjUsIAorICAgIDE3MCwgNSwgMjE3LCAxMDYsIDU1LCAyMjUsIDE3MCwgNSwgMjE1LCAxMTksIDU1LCAyMjUsIDE3MCwgNSwgMjQ4LCAyMjIsIAorICAgIDU1LCAyMjUsIDE3MCwgNSwgMjQ4LCA0LCA1NSwgMjI1LCAxNzAsIDUsIDI0NiwgNzksIDU1LCAyMjUsIDE3MCwgNSwgMjE2LCAKKyAgICAyMDksIDU1LCAyMjUsIDE3MCwgNSwgMTkwLCA1NSwgMjI1LCAxNzAsIDUsIDI1MiwgMTkyLCA1NSwgMjI1LCAxNzAsIDUsIAorICAgIDI0NCwgMTk3LCA1NSwgMjI1LCAxNzAsIDUsIDE5NywgNTUsIDIyNSwgMTcwLCA1LCAyMjcsIDIzOCwgNTUsIDIyNSwgMTcwLCAKKyAgICA1LCAxODUsIDU1LCAyMjUsIDE3MCwgNSwgMjMwLCAyMzEsIDU1LCAyMjUsIDE3MCwgNSwgMjMwLCAxMDMsIDU1LCAyMjUsIAorICAgIDE3MCwgNSwgMTkxLCA1NSwgMjI1LCAxNzAsIDUsIDIxNCwgMjcsIDU1LCAyMjUsIDE3MCwgNSwgMjEzLCAxNzYsIDU1LCAKKyAgICAyMjUsIDE3MCwgNSwgMjA1LCA1NSwgMjI1LCAxNzAsIDUsIDIyMiwgMTQxLCA1NSwgMjI1LCAxNzAsIDUsIDIzMywgMTM2LCAKKyAgICA1NSwgMjI1LCAxNzAsIDUsIDIwNiwgNTUsIDIyNSwgMTcwLCA1LCAyMTAsIDExNiwgNTUsIDIyNSwgMTcwLCA1LCAyMjAsIAorICAgIDEwMywgNTUsIDIyNSwgMTcwLCA1LCAyMTgsIDIyNCwgNTUsIDIyNSwgMTcwLCA1LCAxNjIsIDU1LCAyMjUsIDE3MCwgNSwgCisgICAgMjUzLCAxODcsIDU1LCAyMjUsIDE3MCwgNSwgMjUzLCAxODYsIDU1LCAyMjUsIDE3MCwgNSwgMjUzLCAxODUsIDU1LCAyMjUsIAorICAgIDE3MCwgNSwgMjExLCAxNDIsIDU1LCAyMjUsIDE3MCwgNSwgMjQ4LCAyMDEsIDU1LCAyMjUsIDE3MCwgNSwgMjQ4LCAyMDAsIAorICAgIDU1LCAyMjUsIDE3MCwgNSwgMjUyLCAxNzEsIDU1LCAyMjUsIDE3MCwgNSwgMjUxLCA4NiwgNTUsIDIyNSwgMTcwLCAyMTEsIAorICAgIDIwOSwgMjQ3LCAxNzMsIDU1LCAyMjUsIDE3MCwgNTQsIDExMCwgNTUsIDIyNSwgMTcwLCA1NCwgMTA1LCA1NSwgMjI1LCAKKyAgICAxNzAsIDU0LCAyMTYsIDI0OCwgNTUsIDIyNSwgMTcwLCA1NCwgMjE1LCA3MywgNTUsIDIyNSwgMTcwLCA1NCwgMjQwLCAyMTEsIAogICAgIDE4MSwgNiwgMSwgMTk5LCA3MywgMTgxLCA2LCAxLCAxOTksIDc1LCAxODEsIDYsIDEsIDE5OSwgNjEsIDE4MSwgNiwgMSwgCi0gICAgMTk5LCAyNTQsIDIwOSwgMTgxLCA2LCAxLCAxOTksIDc2LCAxODEsIDYsIDEsIDE5OSwgMjI2LCAxODMsIDE4MSwgNiwgMSwgCi0gICAgMjE5LCAyNTEsIDczLCAxODEsIDYsIDEsIDIxOSwgMjUxLCA3NSwgMTgxLCA2LCAxLCAyMTksIDI1MSwgNjEsIDE4MSwgNiwgCi0gICAgMSwgMjE5LCAyNTEsIDI1NCwgMjA5LCAxODEsIDYsIDEsIDIxOSwgMjUxLCA3NiwgMTgxLCA2LCAxLCAyMTksIDI1MSwgMjI2LCAKLSAgICAxODMsIDE4MSwgNiwgMSwgMjUzLCAxNjcsIDE4MSwgNiwgMSwgMjI2LCAxMTYsIDE4MSwgNiwgMSwgMjExLCAxOTUsIDE4MSwgCi0gICAgNiwgMSwgMjExLCA0NCwgMTgxLCA2LCAxLCAyNDIsIDYwLCAxODEsIDYsIDEsIDIyNSwgMjExLCAxODEsIDYsIDEsIDI1MiwgCi0gICAgNjYsIDE4MSwgNiwgMSwgMjE3LCAxMSwgMTgxLCA2LCAxLCAyNDgsIDc3LCAxODEsIDYsIDEsIDI1MCwgMTI4LCAxODEsIDYsIAotICAgIDEsIDIzNSwgMTI0LCAxODEsIDYsIDEsIDIzNCwgMTg5LCAxODEsIDYsIDEsIDI0MywgODMsIDE4MSwgNiwgMSwgMjQ1LCAKLSAgICAyMDIsIDE4MSwgNiwgMSwgMjEzLCAyNTAsIDE4MSwgNiwgMSwgMjQ1LCA1OSwgMTgxLCA2LCAxLCAyMTYsIDE5NCwgMTgxLCAKLSAgICA2LCAxLCAyNDUsIDgyLCAxODEsIDYsIDEsIDIxMCwgOTIsIDE4MSwgNiwgMSwgMjQ1LCA3NSwgMTgxLCA2LCAxLCAyMTAsIAotICAgIDczLCAxODEsIDYsIDEsIDI0NSwgOTIsIDE4MSwgNiwgMSwgMjQ1LCAxNzQsIDE4MSwgNiwgMSwgMjQ1LCAxNTksIDE4MSwgNiwgCi0gICAgMSwgMjQ1LCAxNTAsIDE4MSwgNiwgMSwgMjQ1LCAxMzgsIDE4MSwgNiwgMSwgMjI2LCAyMTksIDE4MSwgNiwgMSwgMjQ1LCAKLSAgICAzOCwgMTgxLCA0LCAxLCAxOTksIDczLCAxODEsIDQsIDEsIDE5OSwgNzUsIDE4MSwgNCwgMSwgMTk5LCA2MSwgMTgxLCA0LCAKLSAgICAxLCAxOTksIDI1NCwgMjA5LCAxODEsIDQsIDEsIDE5OSwgNzYsIDE4MSwgNCwgMSwgMTk5LCAyMjYsIDE4MywgMTgxLCA0LCAKLSAgICAxLCAyMTksIDI1MSwgNzMsIDE4MSwgNCwgMSwgMjE5LCAyNTEsIDc1LCAxODEsIDQsIDEsIDIxOSwgMjUxLCA2MSwgMTgxLCAKLSAgICA0LCAxLCAyMTksIDI1MSwgMjU0LCAyMDksIDE4MSwgNCwgMSwgMjE5LCAyNTEsIDc2LCAxODEsIDQsIDEsIDIxOSwgMjUxLCAKLSAgICAyMjYsIDE4MywgMTgxLCA0LCAxLCAyNTMsIDE2NywgMTgxLCA0LCAxLCAyMjYsIDExNiwgMTgxLCA0LCAxLCAyMTEsIDE5NSwgCi0gICAgMTgxLCA0LCAxLCAyMTEsIDQ0LCAxODEsIDQsIDEsIDI0MiwgNjAsIDE4MSwgNCwgMSwgMjI1LCAyMTEsIDE4MSwgNCwgMSwgCi0gICAgMjUyLCA2NiwgMTgxLCA0LCAxLCAyMTcsIDExLCAxODEsIDQsIDEsIDI0OCwgNzcsIDE4MSwgNCwgMSwgMjUwLCAxMjgsIAotICAgIDE4MSwgNCwgMSwgMjM1LCAxMjQsIDE4MSwgNCwgMSwgMjM0LCAxODksIDE4MSwgNCwgMSwgMjQzLCA4MywgMTgxLCA0LCAxLCAKLSAgICAyNDUsIDIwMiwgMTgxLCA0LCAxLCAyMTMsIDI1MCwgMTgxLCA0LCAxLCAyNDUsIDU5LCAxODEsIDQsIDEsIDIxNiwgMTk0LCAKLSAgICAxODEsIDQsIDEsIDI0NSwgODIsIDE4MSwgNCwgMSwgMjEwLCA5MiwgMTgxLCA0LCAxLCAyNDUsIDc1LCAxODEsIDQsIDEsIAotICAgIDIxMCwgNzMsIDE4MSwgNCwgMSwgMjQ1LCA5MiwgMTgxLCA0LCAxLCAyNDUsIDE3NCwgMTgxLCA0LCAxLCAyNDUsIDE1OSwgCi0gICAgMTgxLCA0LCAxLCAyNDUsIDE1MCwgMTgxLCA0LCAxLCAyNDUsIDEzOCwgMTgxLCA0LCAxLCAyMjYsIDIxOSwgMTgxLCA0LCAxLCAKLSAgICAyNDUsIDM4LCAyMjAsIDY5LCAxLCAyMjUsIDIwOSwgMjIwLCA2OSwgMSwgMjE2LCA1LCAyMjAsIDY5LCAxLCAyMzQsIDkxLCAKLSAgICAyMjAsIDY5LCAxLCAyNDQsIDE0NywgMjIwLCA2OSwgMSwgMjE2LCAxNzIsIDIyMCwgNjksIDEsIDIxOSwgNTgsIDIyMCwgNjksIAotICAgIDEsIDIxOCwgMTQsIDIyMCwgNjksIDEsIDI1MCwgNjEsIDIyMCwgNjksIDEsIDIxMSwgNDYsIDIyMCwgNjksIDEsIDI0MCwgCi0gICAgMjA5LCAyMjAsIDY5LCAxLCAyNTIsIDUsIDIyMCwgNjksIDEsIDI0OCwgODksIDIyMCwgNjksIDEsIDI0MywgMTIxLCAyMjAsIAotICAgIDY5LCAxLCAyMTMsIDEyMywgMjIwLCA2OSwgMSwgMjE2LCAxNzYsIDIyMCwgNjksIDEsIDIxMCwgMjEsIDIyMCwgNjksIDEsIAotICAgIDIzMSwgODksIDIyMCwgNjksIDEsIDIzNSwgNDksIDIyMCwgNjksIDEsIDIxMSwgMjI1LCAyMjAsIDY5LCAxLCAyNDIsIDQ4LCAKLSAgICAyMjAsIDY5LCAxLCAyMzIsIDE0MiwgMjIwLCA2OSwgMSwgMjMwLCAxODksIDIyMCwgNjksIDEsIDIzNiwgNDAsIDIyMCwgNjksIAotICAgIDEsIDI0NSwgMjAxLCAyMjAsIDY5LCAxLCAyNTMsIDIzMSwgMjIwLCA2OSwgMSwgMjU0LCAyNDcsIDIyMCwgNjksIDEsIDIyNiwgCi0gICAgMTk2LCAyMjAsIDY5LCAxLCAyMTEsIDIxMiwgMjIwLCA2OSwgMSwgMjI2LCAxMzAsIDIyMCwgNjksIDEsIDI1NCwgMjA5LCAKLSAgICAyMjAsIDY5LCAxLCAyMjIsIDIwOCwgMjIwLCA2OSwgMSwgMjI3LCAxOTQsIDIyMCwgNjksIDEsIDI0NSwgMjE3LCAyMjAsIAotICAgIDY5LCAxLCAyNTQsIDIxNCwgMjIwLCA2OSwgMSwgMjQwLCAxMTEsIDIyMCwgNjksIDEsIDIxNCwgMTYzLCAyMjAsIDY5LCAxLCAKLSAgICAyMjYsIDI1NCwgMjIwLCA2OSwgMSwgMjI2LCAxNzYsIDIyMCwgNjksIDEsIDIyNiwgMjE4LCAyMjAsIDY5LCAxLCAyNTMsIAotICAgIDE3MCwgMjIwLCA2OSwgMSwgMjU0LCAxOSwgMjIwLCA2OSwgMSwgMjI2LCAxNTgsIDIyMCwgNjksIDEsIDI1NCwgMTkyLCAKLSAgICAyMjAsIDY5LCAxLCAyNDUsIDg2LCAyMjAsIDY5LCAxLCAyNTMsIDI1MywgMjIwLCA2OSwgMSwgMjQ1LCAyMjcsIDIyMCwgNjksIAotICAgIDEsIDI0MCwgMTE4LCAyMjAsIDY5LCAxLCAyMTEsIDEzLCAyMjYsIDE0MSwgMSwgMjU0LCAxNzAsIDIyNiwgMTQxLCAxLCAKLSAgICAyNTIsIDE5MSwgMjI2LCAxNDEsIDEsIDIxNywgMTA1LCAyMjYsIDE0MSwgMSwgMjM1LCAxNDEsIDIyNiwgMTQxLCAxLCAyMTEsIAotICAgIDE2NSwgMjI2LCAxNDEsIDEsIDIzNCwgMTMyLCAyMjYsIDE0MSwgMSwgMjQ4LCA3NiwgMjI2LCAxNDEsIDEsIDIwNSwgMjI2LCAKLSAgICAxNDEsIDEsIDIwNiwgMjI2LCAxNDEsIDEsIDIyMCwgMjYsIDIyNiwgMTQxLCAxLCAyNDgsIDI1LCAyMjYsIDE0MSwgMSwgCi0gICAgMjUwLCAyMTUsIDIyNiwgMTQxLCAxLCAyNDMsIDEzNSwgMjI2LCAxNDEsIDEsIDI0NCwgMTk2LCAyMjYsIDE0MSwgMSwgMjI0LCAKLSAgICA4NiwgMjI2LCAxNDEsIDEsIDIzNSwgOSwgMjI2LCAxNDEsIDEsIDIzMywgMTMwLCAyMjYsIDE0MSwgMSwgMjMwLCAyMDAsIAotICAgIDIyNiwgMTQxLCAxLCAyMjcsIDE3OCwgMjI2LCAxNDEsIDEsIDIxMiwgMzAsIDIyNiwgMTQxLCAxLCAxNjIsIDIyNiwgMTQxLCAKLSAgICAxLCAxOTEsIDIyNiwgMTQxLCAxLCA2MSwgMjI2LCAxNDEsIDEsIDc1LCAyMjYsIDE0MSwgMSwgNzMsIDIyNiwgMTQxLCAxLCAKLSAgICA3NiwgMjI2LCAxNDEsIDEsIDcwLCAyMjYsIDE0MSwgMSwgMjU1LCA3MywgMjI2LCAxNDEsIDEsIDI0NSwgMjA5LCAyMjYsIAotICAgIDE0MSwgMSwgMjI2LCAxODMsIDIyNiwgMTQxLCAyMSwgMjEwLCA4NiwgMjI2LCAxNDEsIDIxLCAxMTAsIDIyNiwgMTQxLCAyMSwgCi0gICAgMTA1LCAyMjYsIDE0MSwgMjEsIDE1OCwgMjI2LCAxNDEsIDIxLCAxNjEsIDIyNiwgMTQxLCAyMSwgMTg5LCAyMjYsIDE0MSwgCi0gICAgMjEsIDE5NCwgMjI2LCAxNDEsIDIxLCAxOTgsIDIyNiwgMTQxLCAyMSwgMTk1LCAyMjYsIDE0MSwgMjEsIDIwMCwgMjQ5LCAKLSAgICA2NywgMywgNjEsIDI0OSwgNjcsIDMsIDc1LCAyNDksIDY3LCAzLCA3MywgMjQ5LCA2NywgMywgNzYsIDI0OSwgNjcsIDMsIAotICAgIDcwLCAyNDksIDY3LCAzLCAyMzUsIDE0MSwgMjQ5LCA2NywgMywgMjM1LCA2OCwgMjQ5LCA2NywgMywgMTc2LCAyNDksIDY3LCAKLSAgICAzLCAyMzQsIDE4MiwgMjQ5LCA2NywgMywgMjM0LCA5MiwgMjQ5LCA2NywgMywgMjM0LCAyOCwgMjQ5LCA2NywgMywgMjMzLCAKLSAgICAyMTcsIDI0OSwgNjcsIDMsIDIzMywgMTM1LCAyNDksIDY3LCAzLCAyMzMsIDU4LCAyNDksIDY3LCAzLCAyMzIsIDI0MSwgCi0gICAgMjQ5LCA2NywgMywgMjMyLCAxNTYsIDI0OSwgNjcsIDMsIDIzMiwgOTgsIDI0OSwgNjcsIDMsIDE4NCwgMjQ5LCA2NywgMywgCi0gICAgMjMxLCA5MSwgMjQ5LCA2NywgMywgMjMwLCAyMzAsIDI0OSwgNjcsIDMsIDIzMCwgMTYxLCAyNDksIDY3LCAzLCAyMzAsIAotICAgIDEwMiwgMjQ5LCA2NywgMywgMTk3LCAyNDksIDY3LCAzLCAyMjksIDEwNywgMjQ5LCA2NywgMywgMjI4LCAyMzMsIDI0OSwgCi0gICAgNjcsIDMsIDIyOCwgNzQsIDI0OSwgNjcsIDMsIDIyNywgMjM3LCAyNDksIDY3LCAzLCAxOTAsIDI0OSwgNjcsIDMsIDIyNSwgCi0gICAgMjIxLCAyNDksIDY3LCAzLCAyMjUsIDEwOCwgMjQ5LCA2NywgMywgMjI1LCAxNiwgMjQ5LCA2NywgMywgMjI0LCAxNTAsIAotICAgIDI0OSwgNjcsIDMsIDIwNSwgMjQ5LCA2NywgMywgMjIzLCAxMjgsIDI0OSwgNjcsIDMsIDIyMywgMzUsIDI0OSwgNjcsIDMsIAotICAgIDIyMiwgMjExLCAyNDksIDY3LCAzLCAyMjIsIDE0MCwgMjQ5LCA2NywgMywgMjA2LCAyNDksIDY3LCAzLCAyMjEsIDE4MSwgCi0gICAgMjQ5LCA2NywgMywgMjE5LCAxOTEsIDI0OSwgNjcsIDMsIDIxOSwgNTgsIDI0OSwgNjcsIDMsIDIxOCwgODMsIDI0OSwgNjcsIAotICAgIDMsIDIxNywgMTA1LCAyNDksIDY3LCAzLCAyMTcsIDIyLCAyNDksIDY3LCAzLCAyMTYsIDExNywgMjQ5LCA2NywgMywgMTExLCAKLSAgICAyNDksIDY3LCAzLCAyMTUsIDExOCwgMjQ5LCA2NywgMywgMjEyLCA2NSwgMjQ5LCA2NywgMywgMjEyLCAyMiwgMjQ5LCA2NywgCi0gICAgMywgMjExLCAyNTAsIDI0OSwgNjcsIDMsIDIxMSwgMjI3LCAyNDksIDY3LCAzLCAyMTEsIDE2NSwgMjQ5LCA2NywgMywgMjExLCAKLSAgICAxNjIsIDI0OSwgNjcsIDMsIDIxMCwgMTE2LCAyNDksIDY3LCAzLCAyMTAsIDIzLCAyMzYsIDEsIDI1NCwgMjcsIDEsIDI1NCwgCi0gICAgMTY4LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDI1MiwgMjUsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjQyLCAyMDEsIDIzNiwgMSwgCi0gICAgMjU0LCAyNywgMSwgMjQ4LCAxODgsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjQxLCAyMzgsIDIzNiwgMSwgMjU0LCAyNywgMSwgCi0gICAgMjEyLCAzMCwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMTAsIDk3LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDI0MSwgMTk1LCAyMzYsIAotICAgIDEsIDI1NCwgMjcsIDEsIDIxNiwgMjI2LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDIxMCwgMjMyLCAyMzYsIDEsIDI1NCwgMjcsIAotICAgIDEsIDIzNCwgMjI1LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDIzMywgOTMsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjMxLCA2NSwgCi0gICAgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMjcsIDE5NCwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMjEsIDI0OSwgMjM2LCAxLCAyNTQsIAotICAgIDI3LCAxLCAyNTMsIDE2MiwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMjUsIDIyMSwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMjIsIAotICAgIDI0LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDIyNCwgMzQsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjIzLCA2NywgMjM2LCAxLCAKLSAgICAyNTQsIDI3LCAxLCAyMjAsIDIwLCAyMzYsIDEsIDI1NCwgMjcsIDEsIDIxNywgMzYsIDIzNiwgMSwgMjU0LCAyNywgMjIxLCAKLSAgICAxNzMsIDUwLCAyMzYsIDEsIDI1NCwgMjcsIDU0LCAxMTAsIDIzNiwgMSwgMjU0LCAyNywgNTQsIDEwNSwgMjM2LCAxLCAyNTQsIAotICAgIDI3LCA1NCwgMTU4LCAyMzYsIDEsIDI1NCwgMjcsIDU0LCAyMTYsIDI0NywgMjM2LCAxLCAyNTQsIDI3LCA1NCwgMjE1LCA3MywgCi0gICAgMjM2LCAxLCAyNTQsIDI3LCA1NCwgMTIzLCAyNDAsIDIxMCwgMjM2LCAxLCAyNTQsIDI3LCA1NCwgMTIzLCAyMTYsIDE0NywgCi0gICAgMjM2LCAxLCAyNTQsIDI3LCA1NCwgMjE2LCAyNDgsIDIxNiwgMTQ3LCAyMjUsIDExOSwgMSwgMjU0LCAxNjUsIDIyNSwgMTE5LCAKLSAgICAxLCAyNTIsIDI4LCAyMjUsIDExOSwgMSwgMjQzLCAxMDksIDIyNSwgMTE5LCAxLCAyNDgsIDU2LCAyMjUsIDExOSwgMSwgCi0gICAgMjQxLCAyMzgsIDIyNSwgMTE5LCAxLCAyMTIsIDM3LCAyMjUsIDExOSwgMSwgMjEwLCAxMTAsIDIyNSwgMTE5LCAxLCAyNDEsIAotICAgIDE5NywgMjI1LCAxMTksIDEsIDIxNiwgMjMwLCAyMjUsIDExOSwgMSwgMjEwLCAyMzMsIDIyNSwgMTE5LCAxLCAyMzQsIDI1MCwgCi0gICAgMjI1LCAxMTksIDEsIDIzMywgOTksIDIyNSwgMTE5LCAxLCAyMzEsIDY1LCAyMjUsIDExOSwgMSwgMjI3LCAxOTQsIDIyNSwgCi0gICAgMTE5LCAxLCAyMjAsIDE0NCwgMjI1LCAxMTksIDEsIDI1NCwgMTk2LCAyMjUsIDExOSwgMSwgMjI1LCAyMjEsIDIyNSwgMTE5LCAKLSAgICAxLCAyMjIsIDI1LCAyMjUsIDExOSwgMSwgMjI0LCAzOSwgMjI1LCAxMTksIDEsIDIyMiwgMTg5LCAyMjUsIDExOSwgMSwgCi0gICAgMjIwLCAyMCwgMjI1LCAxMTksIDEsIDIxNywgNDEsIDIyNSwgMTE5LCA1NCwgMTEwLCAyMjUsIDExOSwgNTQsIDIxNiwgMjQ3LCAKLSAgICAyMjUsIDExOSwgNTQsIDIxNSwgNzMsIDIyNSwgMTE5LCA1NCwgMTIzLCAyNDAsIDIxMCwgMjI1LCAxMTksIDU0LCAxMDUsIAotICAgIDIyNSwgMTE5LCA1NCwgMTU4LCAyMjUsIDExOSwgMjExLCAyMDksIDIyMCwgMTM3LCAyMzIsIDU5LCAxLCA2MSwgMjMyLCA1OSwgCi0gICAgMSwgMjUzLCAxNTgsIDIzMiwgNTksIDEsIDI0MywgMjAyLCAyMzIsIDU5LCAxLCAyNDksIDYwLCAyMzIsIDU5LCAxLCA3NSwgCi0gICAgMjMyLCA1OSwgMSwgMjE0LCAxMDUsIDIzMiwgNTksIDEsIDczLCAyMzIsIDU5LCAxLCAyMTEsIDExNywgMjMyLCA1OSwgMSwgCi0gICAgMjM1LCAyMywgMjMyLCA1OSwgMSwgMTU2LCAyMzIsIDU5LCAxLCAxOTMsIDIzMiwgNTksIDEsIDIzMCwgMjUsIDIzMiwgNTksIAotICAgIDEsIDc2LCAyMzIsIDU5LCAxLCAxNTMsIDIzMiwgNTksIDEsIDIxOCwgMjI2LCAyMzIsIDU5LCAxLCAyMTcsIDE1MiwgMjMyLCAKLSAgICA1OSwgMSwgNzAsIDIzMiwgNTksIDEsIDI0NSwgNiwgMjMyLCA1OSwgMSwgMjI0LCA5NiwgMjMyLCA1OSwgMSwgMjIyLCA5MSwgCi0gICAgMjMyLCA1OSwgMSwgMjE1LCAxNTksIDIzMiwgNTksIDEsIDI1NCwgMTIzLCAyMzIsIDU5LCAxLCAyNDUsIDE1MCwgMjMyLCAKLSAgICA1OSwgMSwgMjMyLCA2MiwgMjMyLCA1OSwgMSwgMjI4LCAxMTEsIDIzMiwgNTksIDEsIDI1MSwgNjYsIDIzMiwgNTksIDIxNSwgCi0gICAgMjIyLCA3OCwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDYxLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgNzUsIDIzMSwgNDgsIAotICAgIDI0MSwgMTc0LCAxLCA3MywgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDc2LCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMTkxLCAKLSAgICAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjEyLCA2NSwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDI1MiwgMTkxLCAyMzEsIDQ4LCAKLSAgICAyNDEsIDE3NCwgMSwgMjUyLCAxOTAsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAxOTAsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAKLSAgICAxODQsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAxOTcsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMjksIDIyOCwgMjMxLCA0OCwgCi0gICAgMjQxLCAxNzQsIDEsIDIyOSwgMTA3LCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjI5LCAxMDYsIDIzMSwgNDgsIDI0MSwgMTc0LCAKLSAgICAxLCAyMDUsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMjMsIDE4NywgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIzMywgMTM1LCAKLSAgICAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjM0LCAxMzIsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyNDEsIDE4OSwgMjMxLCA0OCwgCi0gICAgMjQxLCAxNzQsIDEsIDIwNiwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIyMiwgMzMsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAKLSAgICAyMjEsIDE4MSwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDE3NiwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIyNCwgODgsIDIzMSwgCi0gICAgNDgsIDI0MSwgMTc0LCAxLCAyMTcsIDEwNSwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIxNywgMTA0LCAyMzEsIDQ4LCAyNDEsIAotICAgIDE3NCwgMSwgMjE3LCAyMiwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIxNywgMjEsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAKLSAgICAxMTEsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyNDgsIDIyMSwgMjMxLCA0OCwgMjQxLCAxNzQsIDE2LCAyMTMsIDE3MCwgCi0gICAgMjMxLCA0OCwgMjQxLCAxNzQsIDE2LCAyMTMsIDE2OSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgNjEsIDIzMSwgNDgsIDI0OSwgCi0gICAgOTQsIDEsIDc1LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCA3MywgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgNzYsIDIzMSwgNDgsIAotICAgIDI0OSwgOTQsIDEsIDE5MSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjEyLCA2NSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjUyLCAKLSAgICAxOTEsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDE5MCwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMTg0LCAyMzEsIDQ4LCAyNDksIAotICAgIDk0LCAxLCAxOTcsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDIyOSwgMTA3LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyMDUsIDIzMSwgCi0gICAgNDgsIDI0OSwgOTQsIDEsIDIzMywgMTM1LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyMzQsIDEzMiwgMjMxLCA0OCwgMjQ5LCAKLSAgICA5NCwgMSwgMjQxLCAxODksIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDIwNiwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjU0LCAyMywgCi0gICAgMjA2LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyMjEsIDE4MSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMTc2LCAyMzEsIDQ4LCAKLSAgICAyNDksIDk0LCAxLCAyMjQsIDg4LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyMTcsIDEwNSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgCi0gICAgMjE3LCAyMiwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMTExLCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyNDgsIDIyMSwgMjMxLCAKLSAgICA0OCwgMjQ5LCA5NCwgMjMyLCAxNDUsIDIyMiwgMjE3LCAyMzEsIDQ4LCAyNDksIDk0LCAyMzIsIDE0NSwgMjM2LCA2LCAyMzQsIAotICAgIDEyMCwgMSwgNjEsIDIzNCwgMTIwLCAyNSwgNSwgNzMsIDIzNCwgMTIwLCAyNSwgNSwgNzAsIDIzNCwgMTIwLCAyNSwgNSwgCi0gICAgMTQ5LCAxNTMsIDIzNCwgMTIwLCAyNSwgNSwgNzUsIDIzNCwgMTIwLCAyNSwgNSwgNzYsIDIzNCwgMTIwLCAyNSwgMjMzLCAKLSAgICAyMywgNzgsIDIzNCwgMTIwLCA1LCA1MiwgMjIyLCAyMzQsIDUxLCAyMzQsIDEyMCwgNSwgMjU0LCA3NSwgMjM0LCAxMjAsIDUsIAotICAgIDIxMywgMTQ3LCAyMzQsIDEyMCwgMSwgMTc2LCAyMzQsIDEyMCwgMSwgMjM0LCAxMzIsIDIzNCwgMTIwLCAxLCAyNDMsIDEzNSwgCi0gICAgMjM0LCAxMjAsIDEsIDI0MiwgMjQ5LCAyMzQsIDEyMCwgMSwgMjUxLCAzMywgMjM0LCAxMjAsIDEsIDI1MCwgMTU3LCAyMzQsIAotICAgIDEyMCwgMSwgMjM1LCAxNDEsIDIzNCwgMTIwLCAxLCAyMjcsIDE2NSwgMjM0LCAxMjAsIDEsIDIxNSwgMTU2LCAyMzQsIDEyMCwgCi0gICAgMSwgMjE1LCAxNDQsIDIzNCwgMTIwLCAxLCAyNDgsIDEzNSwgMjM0LCAxMjAsIDEsIDI0OCwgMTE5LCAyMzQsIDEyMCwgMSwgCi0gICAgMjI4LCAxMTAsIDIzNCwgMTIwLCAxLCAyMTcsIDEwNSwgMjM0LCAxMjAsIDEsIDIxNiwgMjA4LCAyMzQsIDEyMCwgMSwgMjQ4LCAKLSAgICAyMjEsIDIzNCwgMTIwLCAxLCAyNDgsIDI1LCAyMzQsIDEyMCwgMSwgMTk3LCAyMzQsIDEyMCwgMSwgMTkwLCAyMzQsIDEyMCwgCi0gICAgMSwgMjI1LCAxNDcsIDIzNCwgMTIwLCAxLCAyNTIsIDE5MSwgMjM0LCAxMjAsIDEsIDI1MiwgMTgsIDIzNCwgMTIwLCAxLCAKLSAgICAxODQsIDIzNCwgMTIwLCAxLCAxOTEsIDIzNCwgMTIwLCAxLCAyMDUsIDIzNCwgMTIwLCAxLCAyMzMsIDEzNSwgMjM0LCAxMjAsIAotICAgIDEsIDIxNCwgMjcsIDIzNCwgMTIwLCAxLCAyMjAsIDEwMiwgMjM0LCAxMjAsIDEsIDIxOCwgMjIzLCAyMzQsIDEyMCwgMSwgCi0gICAgMjA2LCAyMzQsIDEyMCwgMSwgMjEwLCAxMTYsIDIzNCwgMTIwLCAxLCAxNjIsIDIzNCwgMTIwLCAxLCAyMzQsIDQ2LCAyMzQsIAotICAgIDEyMCwgMSwgMjE1LCAxMjQsIDIzNCwgMTIwLCA1LCAyNTIsIDE0MSwgNDgsIDIzNCwgMTIwLCA1LCAyNTAsIDIyMSwgMjM0LCAKLSAgICAxMjAsIDUsIDU5LCA1MSwgMjM0LCAxMjAsIDIxMywgMTUyLCAyMzQsIDEyMCwgMjEsIDExMCwgMjM0LCAxMjAsIDIxLCAxMDUsIAotICAgIDIzNCwgMTIwLCAyMSwgMTU4LCAyMzQsIDEyMCwgMjEsIDE2MSwgMjM0LCAxMjAsIDU0LCAyMTYsIDI0NywgMjM0LCAxMjAsIAotICAgIDU0LCAyMTUsIDczLCAyMzQsIDEyMCwgNTQsIDEyMywgMjQwLCAyMTAsIDIzNCwgMTIwLCA1NCwgMTIzLCAyMTYsIDE0NywgCi0gICAgMjM0LCAxMjAsIDIyNCwgMTQxLCAyNDcsIDEyMCwgMjM0LCAxMjAsIDIyNCwgMTQxLCA0LCAyNTAsIDM1LCAyMzQsIDEyMCwgCi0gICAgMjI0LCAxNDEsIDI1MCwgMzUsIDIzNCwgMTIwLCAyMjQsIDE0MSwgMjQ5LCAxMzcsIDEzMCwgMjM0LCAxMjAsIDIyNCwgMTQxLCAKLSAgICAyMzEsIDE4MCwgMjM0LCAxMjAsIDIyNCwgMTQxLCAyMzIsIDExNSwgMjM0LCAxMjAsIDIyNCwgMTQxLCAyNDgsIDE3OCwgCi0gICAgMjM0LCAxMjAsIDIyNCwgMTQxLCA1MiwgMjQ4LCAxNzgsIDIzNCwgMTIwLCAyMjQsIDE0MSwgMjMyLCAyMDcsIDU1LCAyMTksIAotICAgIDI4LCAyNTQsIDM4LCAxLCAyNDEsIDIzOCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIzMywgOTMsIDU1LCAyMTksIDI4LCAKLSAgICAyNTQsIDM4LCAxLCAyNDEsIDE5NSwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIzMSwgNjUsIDU1LCAyMTksIDI4LCAyNTQsIAotICAgIDM4LCAxLCAyMjQsIDM0LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjEyLCAzMCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIAotICAgIDEsIDIyMCwgMjAsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMjMsIDY3LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgCi0gICAgMjUyLCAyNSwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIxNywgMzYsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMjEsIAotICAgIDIyNiwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIzNCwgMjI1LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjI3LCAKLSAgICAxOTQsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMzQsIDExNiwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIyMiwgMjQsIAotICAgIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMjEsIDI0OSwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDI0NCwgMTU0LCA1NSwgCi0gICAgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjU0LCAxNzAsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyNTMsIDE2MSwgNTUsIAotICAgIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDI0OCwgMjIsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyNDIsIDIwMSwgNTUsIDIxOSwgCi0gICAgMjgsIDI1NCwgMzgsIDEsIDI0OCwgMTg4LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjQyLCAyMzgsIDU1LCAyMTksIDI4LCAKLSAgICAyNTQsIDM4LCAxLCAyMTYsIDIyNiwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIxMCwgOTYsIDU1LCAyMTksIDI4LCAyNTQsIAotICAgIDM4LCAxLCAyNDgsIDE5LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjEwLCAyMzIsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAKLSAgICAxLCAyMTYsIDE5NywgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIxNiwgMTc4LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgNTQsIAotICAgIDExMCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDU0LCAyNDQsIDExNCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEzMiwgMjM1LCAKLSAgICAyMzgsIDI1MywgMTcyLCAxLCA2MSwgMjUzLCAxNzIsIDEsIDI1NSwgNzMsIDI1MywgMTcyLCAxLCAyNTQsIDczLCAyNTMsIAotICAgIDE3MiwgMSwgMjU1LCAzMiwgMjUzLCAxNzIsIDEsIDI1NCwgMTIzLCAyNTMsIDE3MiwgMSwgMjU1LCAzMywgMjUzLCAxNzIsIAotICAgIDEsIDI1NCwgMjQzLCAyNTMsIDE3MiwgMSwgMjU0LCAyMzksIDI1MywgMTcyLCAxLCA3NSwgMjUzLCAxNzIsIDEsIDI0NSwgCi0gICAgMjA5LCAyNTMsIDE3MiwgMSwgNzYsIDI1MywgMTcyLCAxLCAyMjYsIDE4MywgMjUzLCAxNzIsIDEsIDczLCAyNTMsIDE3MiwgCi0gICAgMSwgMjM2LCAzMywgMjUzLCAxNzIsIDEsIDcwLCAyNTMsIDE3MiwgMSwgMjE0LCAxMTgsIDI1MywgMTcyLCAxLCAyMzQsIAotICAgIDE4MiwgMjUzLCAxNzIsIDEsIDIxMSwgMTYyLCAyNTMsIDE3MiwgMSwgMjExLCAxMjgsIDI1MywgMTcyLCAxLCAyMTEsIDEzNywgCi0gICAgMjUzLCAxNzIsIDEsIDI0MywgNjIsIDI1MywgMTcyLCAxLCAyNDMsIDI0LCAyNTMsIDE3MiwgMSwgMjQyLCAyMzYsIDI1MywgCi0gICAgMTcyLCAxLCAyNTAsIDE5MCwgMjUzLCAxNzIsIDEsIDIzNSwgMTI2LCAyNTMsIDE3MiwgMSwgMjE3LCAyMiwgMjUzLCAxNzIsIAotICAgIDEsIDIxNiwgMTk1LCAyNTMsIDE3MiwgMSwgMjQ4LCA5MCwgMjUzLCAxNzIsIDEsIDI0OCwgMTcsIDI1MywgMTcyLCAxLCAKLSAgICAyMTUsIDE1MSwgMjUzLCAxNzIsIDEsIDIyNSwgMjIxLCAyNTMsIDE3MiwgMSwgMjQ0LCAxNTQsIDI1MywgMTcyLCAxLCAyNTIsIAotICAgIDc1LCAyNTMsIDE3MiwgMSwgMjUyLCAxNCwgMjUzLCAxNzIsIDEsIDIyOSwgNjQsIDI1MywgMTcyLCAxLCAyMjgsIDIzOSwgCi0gICAgMjUzLCAxNzIsIDEsIDIyOCwgMjQwLCAyNTMsIDE3MiwgMSwgMjI5LCAxMDcsIDI1MywgMTcyLCAxLCAyMjcsIDE1NiwgMjUzLCAKLSAgICAxNzIsIDEsIDIyOCwgMTA1LCAyNTMsIDE3MiwgMSwgMjMxLCA5MSwgMjUzLCAxNzIsIDEsIDI0MSwgMTE2LCAyNTMsIDE3MiwgCi0gICAgMSwgMjEwLCAxNjYsIDI1MywgMTcyLCAxLCAyMTEsIDQ3LCAyNTMsIDE3MiwgMSwgMjEzLCAyNTUsIDI1MywgMTcyLCAxLCAKLSAgICAyMjMsIDEyOCwgMjUzLCAxNzIsIDEsIDIzMywgNTgsIDI1MywgMTcyLCAxLCAyMjEsIDE4MSwgMjUzLCAxNzIsIDEsIDIxMCwgCi0gICAgOTQsIDI1MywgMTcyLCAxLCAyMjAsIDYzLCAyNTMsIDE3MiwgMSwgMjEwLCA3NCwgMjUzLCAxNzIsIDEsIDIxOSwgMTk4LCAKLSAgICAyNTMsIDE3MiwgMSwgMjE4LCAxOTMsIDI1MywgMTcyLCAxLCAyNDEsIDIzOCwgMjUzLCAxNzIsIDI1NSwgMjEsIDc4LCAyMTYsIAotICAgIDc5LCAxMTMsIDE3MCwgMTE3LCAxMjMsIDU5LCAyMjQsIDE0MCwgNCwgMTEzLCAxNzAsIDExNywgMTIzLCA1OSwgMjI0LCAKLSAgICAxNDAsIDIzMywgODUsIDExMywgMTcwLCAxMTcsIDEyMywgNTksIDIyNCwgMTQwLCAyMzMsIDg1LCAxMjMsIDU5LCAxMTcsIAotICAgIDExMywgMTcwLCAyMjQsIDE0MCwgMjMzLCA4NSwgMTEzLCAyMjIsIDIzMiwgMTE3LCAxMjMsIDIyMiwgMjM0LCAyMjQsIDE0MCwgCi0gICAgMjMzLCA4NSwgMTIzLCAyMjIsIDIzNCwgMTE3LCAxMTMsIDIyMiwgMjMyLCAyMjQsIDE0MCwgMjM1LCAyMTgsIDIyNSwgMjU0LCAKLSAgICAxLCAyNTQsIDE2OCwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyNTIsIDI1LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDI0MiwgCi0gICAgMjAxLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDI0OCwgMTg4LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDI0MSwgMjM4LCAKLSAgICAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIxMiwgMzAsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjEwLCA5NywgMjM1LCAyMTgsIAotICAgIDIyNSwgMjU0LCAxLCAyNDEsIDE5NSwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyMTYsIDIyNiwgMjM1LCAyMTgsIDIyNSwgCi0gICAgMjU0LCAxLCAyMTAsIDIzMiwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyMzQsIDIyNSwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAKLSAgICAyMzMsIDkzLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIzMSwgNjUsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjI3LCAxOTQsIAotICAgIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjIxLCAyNDksIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjUzLCAxNjIsIDIzNSwgCi0gICAgMjE4LCAyMjUsIDI1NCwgMSwgMjI1LCAyMjEsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjIyLCAyNCwgMjM1LCAyMTgsIAotICAgIDIyNSwgMjU0LCAxLCAyMjQsIDM0LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIyMywgNjcsIDIzNSwgMjE4LCAyMjUsIDI1NCwgCi0gICAgMSwgMjIwLCAyMCwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyMTcsIDM2LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDU0LCAxMTAsIAotICAgIDIzNSwgMjE4LCAyMjUsIDI1NCwgNTQsIDEwNSwgMjM1LCAyMTgsIDIyNSwgMjU0LCA1NCwgMTU4LCAyMzUsIDIxOCwgMjI1LCAKLSAgICAyNTQsIDU0LCAxNjEsIDIzNSwgMjE4LCAyMjUsIDI1NCwgNTQsIDIxNiwgMjQ3LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDU0LCAKLSAgICAyMTUsIDczLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDU0LCAxMjMsIDI0MCwgMjEwLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDU0LCAKLSAgICAxMjMsIDIxNiwgMTQ3LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjU0LCAxNjgsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyNTIsIAotICAgIDI1LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjQyLCAyMDEsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyNDgsIDE4OCwgMjM1LCAKLSAgICAyMTgsIDIyNiwgNzIsIDEsIDI0MSwgMjM4LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjEyLCAyOSwgMjM1LCAyMTgsIDIyNiwgCi0gICAgNzIsIDEsIDIxMCwgOTcsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyNDEsIDE5NSwgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIAotICAgIDIxNiwgMjI2LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjEwLCAyMzIsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyMzQsIDIyNSwgCi0gICAgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDIzMywgOTMsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyMzEsIDY0LCAyMzUsIDIxOCwgCi0gICAgMjI2LCA3MiwgMSwgMjI3LCAxOTQsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyMjEsIDI0OSwgMjM1LCAyMTgsIDIyNiwgNzIsIAotICAgIDEsIDIyNSwgMjIxLCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjIyLCAyNCwgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDIyMCwgCi0gICAgMjAsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyMTcsIDM2LCAyMzUsIDIxOCwgMjI2LCA3MiwgNTQsIDExMCwgMjM1LCAyMTgsIAotICAgIDIyNiwgNzIsIDU0LCAxMDUsIDIzNSwgMjE4LCAyMjYsIDcyLCA1NCwgMTU4LCAyMzUsIDIxOCwgMjI2LCA3MiwgNTQsIDE2MSwgCi0gICAgMjM1LCAyMTgsIDIyNiwgNzIsIDU0LCAyMTYsIDI0NywgMjM1LCAyMTgsIDIyNiwgNzIsIDU0LCAyMTUsIDczLCAyMzUsIAotICAgIDIxOCwgMjI2LCA3MiwgNTQsIDEyMywgMjQwLCAyMTAsIDIzNSwgMjE4LCAyMjYsIDcyLCA1NCwgMTIzLCAyMTYsIDE0NywgCi0gICAgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDYxLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCA2MSwgNTUsIDIwMSwgMSwgMjExLCAzNywgCi0gICAgMjU0LCAyNDMsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCA3MywgNTUsIDIwMSwgMSwgMjExLCAzNywgNzMsIDU1LCAyMDEsIDEsIAotICAgIDIxMSwgMzcsIDc1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgNzYsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyMjYsIDIzNCwgCi0gICAgNTUsIDIwMSwgMSwgMjExLCAzNywgMjI2LCAyMzQsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNTUsIDI1LCA1NSwgMjAxLCAxLCAKLSAgICAyMTEsIDM3LCAyNTUsIDI1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyNDIsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIAotICAgIDI1NCwgMjQyLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMTYsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjE2LCAKLSAgICA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMzcsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjM3LCA1NSwgMjAxLCAKLSAgICAxLCAyMjYsIDE0OSwgMjU0LCAyNTUsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjU1LCA1NSwgMjAxLCAxLCAyMjYsIAotICAgIDE0OSwgMjU0LCAyNDEsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNDUsIDEyLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNDUsIAotICAgIDEyLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjUzLCAxNjcsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1MywgMTY3LCA1NSwgCi0gICAgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMjQsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjI0LCA1NSwgMjAxLCAxLCAKLSAgICAyMjYsIDE0OSwgMjU0LCAyMzUsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjM1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgCi0gICAgMjI2LCAyMzMsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDIyNiwgMjMzLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAxNzgsIAotICAgIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMTc4LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMzQsIDU1LCAyMDEsIAotICAgIDEsIDIyNiwgMTQ5LCAyNDUsIDE2MSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI0NSwgMTU5LCA1NSwgMjAxLCAxLCAyMjYsIAotICAgIDE0OSwgMjU0LCAxMjMsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNTQsIDIzMiwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAKLSAgICAyMzIsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNDUsIDEzMSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjQ1LCAxMzEsIDU1LCAKLSAgICAyMDEsIDEsIDIyNiwgMTQ5LCAyNDUsIDE0NywgNTUsIDIwMSwgMSwgMjExLCAzNywgMjQ1LCAxNDcsIDU1LCAyMDEsIDEsIAotICAgIDIyNiwgMTQ5LCAyNDUsIDExOCwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjQ1LCAxMTgsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIAotICAgIDI1NCwgMTE1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjQ1LCAxMzgsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjMxLCAKLSAgICA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjQ1LCAxMDgsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyMjYsIDE3NSwgNTUsIDIwMSwgCi0gICAgMSwgMjI2LCAxNDksIDI0MCwgMTEzLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjQ1LCAyMTUsIDU1LCAyMDEsIDEsIDIxMSwgCi0gICAgMzcsIDI0NSwgMjE1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCA0NSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAKLSAgICA0NSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDIzNSwgMTgxLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyMzUsIDE4MSwgNTUsIAotICAgIDIwMSwgMSwgMjI2LCAxNDksIDIyNiwgMTU5LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyMjYsIDE1OSwgNTUsIDIwMSwgMSwgCi0gICAgMjI2LCAxNDksIDI1NCwgNDEsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgNDEsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAKLSAgICAyNTQsIDIzMCwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1MywgMjM3LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMjgsIAotICAgIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNTMsIDIzMSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjUzLCAyMzEsIDU1LCAyMDEsIAotICAgIDEsIDIyNiwgMTQ5LCAyNDUsIDc1LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNDUsIDc1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgCi0gICAgMjUzLCAyMDYsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1MywgMjA2LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMjUsIAotICAgIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjI1LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjI2LCAxNDAsIDU1LCAyMDEsIAotICAgIDEsIDIyNiwgMTQ5LCAyNTIsIDEyNSwgMjIyLCAxMjcsIDIxLCAxMTAsIDIyMiwgMTI3LCAyMSwgMTA1LCAyMjIsIDEyNywgCi0gICAgMjEsIDE1OCwgMjIyLCAxMjcsIDIxLCAxNjEsIDIyMiwgMTI3LCAyMSwgMTg5LCAyMjIsIDEyNywgMjEsIDE5NCwgMjIyLCAKLSAgICAxMjcsIDIxLCAxOTgsIDIyMiwgMTI3LCAyMSwgMTk1LCAyMjIsIDEyNywgMjEsIDIwMCwgMjIyLCAxMjcsIDU0LCAyMTYsIAotICAgIDI0NywgMjIyLCAxMjcsIDU0LCAyMTUsIDczLCAyMjIsIDEyNywgNTQsIDIxNiwgMTYyLCAyMjIsIDEyNywgNTQsIDI0NCwgCi0gICAgMTUsIDIyMiwgMTI3LCA1NCwgMjQ0LCAxMTQsIDIyMiwgMTI3LCA1NCwgMjE5LCAxMTEsIDIyMiwgMTI3LCA1NCwgMjIwLCAKLSAgICAxMTYsIDIyMiwgMTI3LCA1NCwgMjQ1LCAxODQsIDIyMiwgMTI3LCA1NCwgMjI4LCAxOTUsIDIyMiwgMTI3LCA1NCwgMTIzLCAKLSAgICAyNDAsIDIxMCwgMjIyLCAxMjcsIDU0LCAxMTMsIDI0MCwgMjEwLCAyMjIsIDEyNywgNTQsIDEzNCwgMjQwLCAyMTAsIDIyMiwgCi0gICAgMTI3LCA1NCwgMjQ0LCAxMSwgMjQwLCAyMTAsIDIyMiwgMTI3LCA1NCwgMjQ0LCA4MSwgMjQwLCAyMTAsIDIyMiwgMTI3LCAKLSAgICA1NCwgMjE5LCAxMjUsIDI0MCwgMjEwLCAyMjIsIDEyNywgNTQsIDIyMCwgMTIyLCAyNDAsIDIxMCwgMjIyLCAxMjcsIDU0LCAKLSAgICAyNDUsIDE5MywgMjQwLCAyMTAsIDIyMiwgMTI3LCA1NCwgMjI4LCAyMDAsIDI0MCwgMjEwLCAyMjIsIDEyNywgMjQ0LCAyLCAKLSAgICAxMjMsIDI0MiwgMjcsIDIyMiwgMTI3LCAyNDQsIDIsIDEyMywgMjI0LCAyMSwgMjIyLCAxMjcsIDI0NCwgMiwgMTIzLCAyMTYsIAotICAgIDE2OCwgMjIyLCAxMjcsIDI0NCwgMiwgMTEzLCAyMTYsIDE2NiwgMTE4LCA1LCAyNTAsIDI1NSwgMTE4LCA1LCAyNTQsIDc1LCAKLSAgICAxMTgsIDUsIDIxMywgMTQ3LCAxMTgsIDUsIDIzNSwgMTAyLCAxMTgsIDUsIDIxNCwgMTYxLCAxMTgsIDEsIDYxLCAxMTgsIDEsIAotICAgIDI1NSwgNzMsIDExOCwgMSwgNzMsIDExOCwgMSwgMjM2LCAzMywgMTE4LCAxLCA3MCwgMTE4LCAxLCAyMTQsIDExOCwgMTE4LCAKLSAgICAxLCAxNDksIDE1MywgMTE4LCAxLCAxNDksIDIyMiwgMTgwLCAxMTgsIDEsIDE0OSwgMTU2LCAxMTgsIDEsIDE0OSwgMjMyLCAKLSAgICAxODUsIDExOCwgMSwgNzUsIDExOCwgMSwgMjU0LCAyMDEsIDExOCwgMSwgNzYsIDExOCwgMSwgMjUzLCAxOTIsIDExOCwgMSwgCi0gICAgMTc2LCAxMTgsIDEsIDIzNCwgMTMyLCAxMTgsIDEsIDI0MywgMTM1LCAxMTgsIDEsIDI0MiwgMjQ5LCAxMTgsIDEsIDIyOSwgCi0gICAgNzcsIDExOCwgMSwgMjUxLCAzMywgMTE4LCAxLCAyNTAsIDE1NywgMTE4LCAxLCAyMzUsIDE0MSwgMTE4LCAxLCAyMzUsIAotICAgIDExNCwgMTE4LCAxLCAyMjcsIDE2NSwgMTE4LCAxLCAyMTUsIDE1NiwgMTE4LCAxLCAyMTUsIDE0NCwgMTE4LCAxLCAyNDgsIAotICAgIDEzNSwgMTE4LCAxLCAyNDgsIDExOSwgMTE4LCAxLCAyMjgsIDExMCwgMTE4LCAxLCAyMTcsIDEwNSwgMTE4LCAxLCAyMTYsIAotICAgIDIwOCwgMTE4LCAxLCAyNDgsIDIyMSwgMTE4LCAxLCAyNDgsIDI1LCAxMTgsIDEsIDE5NywgMTE4LCAxLCAxOTAsIDExOCwgMSwgCi0gICAgMjI1LCAxNDcsIDExOCwgMSwgMjUyLCAxOTEsIDExOCwgMSwgMjUyLCAxOCwgMTE4LCAxLCAxODQsIDExOCwgMSwgMTkxLCAKLSAgICAxMTgsIDEsIDIwNSwgMTE4LCAxLCAyMzMsIDEzNSwgMTE4LCAxLCAyMTQsIDI3LCAxMTgsIDEsIDIyMCwgMTAyLCAxMTgsIDEsIAotICAgIDIxOCwgMjIzLCAxMTgsIDEsIDIwNiwgMTE4LCAxLCAxNjIsIDExOCwgMSwgMjMyLCAxODQsIDExOCwgMSwgNTUsIDM2LCAKLSAgICAyMzIsIDE3NSwgMTE4LCAxLCA1NSwgMzYsIDIyMiwgMTc5LCAxMTgsIDEsIDU1LCAzNiwgMjI4LCA5MiwgMTE4LCAyNSwgNSwgCi0gICAgMjU1LCA3MywgMTE4LCAyNSwgNSwgMjUyLCAxNSwgMjU1LCA3MywgMTE4LCAyNSwgNSwgNzMsIDExOCwgMjUsIDUsIDIzNiwgCi0gICAgMzMsIDExOCwgMjUsIDUsIDcwLCAxMTgsIDI1LCA1LCAyMTQsIDExOCwgMTE4LCAyNSwgNSwgMTQ5LCAxNTMsIDExOCwgMjUsIAotICAgIDUsIDE0OSwgMjIyLCAxODAsIDExOCwgMjUsIDUsIDE0OSwgMTU2LCAxMTgsIDI1LCA1LCAxNDksIDIzMiwgMTg1LCAxMTgsIAotICAgIDI1LCA1LCA3NSwgMTE4LCAyNSwgNSwgMjU0LCAyMDEsIDExOCwgMjUsIDUsIDc2LCAxMTgsIDI1LCA1LCAyNTMsIDE5MiwgCi0gICAgMTE4LCAyMTMsIDE1MiwgMTE4LCAyNDgsIDE3OCwgMTE4LCA1MiwgMjQ4LCAxNzgsIDExOCwgMjI0LCAxNDEsIDI0NywgMTIwLCAKLSAgICAxMTgsIDIyNCwgMTQxLCA1MiwgMjQ3LCAxMjAsIDExOCwgMjI0LCAxNDEsIDIzMiwgMjEzLCAxMTgsIDIyNCwgMTQxLCAyNDksIAotICAgIDEzNywgMTMwLCAxMTgsIDIyNCwgMTQxLCAyMzIsIDExNSwgMTE4LCA1NCwgMTEwLCAxMTgsIDU0LCAxMDUsIDExOCwgNTQsIAorICAgIDE5OSwgMjU0LCAyMTAsIDE4MSwgNiwgMSwgMTk5LCA3NiwgMTgxLCA2LCAxLCAxOTksIDIyNiwgMTg0LCAxODEsIDYsIDEsIAorICAgIDIxOSwgMjUyLCA3MywgMTgxLCA2LCAxLCAyMTksIDI1MiwgNzUsIDE4MSwgNiwgMSwgMjE5LCAyNTIsIDYxLCAxODEsIDYsIAorICAgIDEsIDIxOSwgMjUyLCAyNTQsIDIxMCwgMTgxLCA2LCAxLCAyMTksIDI1MiwgNzYsIDE4MSwgNiwgMSwgMjE5LCAyNTIsIDIyNiwgCisgICAgMTg0LCAxODEsIDYsIDEsIDI1MywgMTY4LCAxODEsIDYsIDEsIDIyNiwgMTE3LCAxODEsIDYsIDEsIDIxMSwgMTk1LCAxODEsIAorICAgIDYsIDEsIDIxMSwgNDQsIDE4MSwgNiwgMSwgMjQyLCA2MSwgMTgxLCA2LCAxLCAyMjUsIDIxMiwgMTgxLCA2LCAxLCAyNTIsIAorICAgIDY3LCAxODEsIDYsIDEsIDIxNywgMTIsIDE4MSwgNiwgMSwgMjQ4LCA3OCwgMTgxLCA2LCAxLCAyNTAsIDEyOSwgMTgxLCA2LCAKKyAgICAxLCAyMzUsIDEyNSwgMTgxLCA2LCAxLCAyMzQsIDE5MCwgMTgxLCA2LCAxLCAyNDMsIDg0LCAxODEsIDYsIDEsIDI0NSwgCisgICAgMjAzLCAxODEsIDYsIDEsIDIxMywgMjUwLCAxODEsIDYsIDEsIDI0NSwgNjAsIDE4MSwgNiwgMSwgMjE2LCAxOTUsIDE4MSwgCisgICAgNiwgMSwgMjQ1LCA4MywgMTgxLCA2LCAxLCAyMTAsIDkyLCAxODEsIDYsIDEsIDI0NSwgNzYsIDE4MSwgNiwgMSwgMjEwLCAKKyAgICA3MywgMTgxLCA2LCAxLCAyNDUsIDkzLCAxODEsIDYsIDEsIDI0NSwgMTc1LCAxODEsIDYsIDEsIDI0NSwgMTYwLCAxODEsIDYsIAorICAgIDEsIDI0NSwgMTUxLCAxODEsIDYsIDEsIDI0NSwgMTM5LCAxODEsIDYsIDEsIDIyNiwgMjIwLCAxODEsIDYsIDEsIDI0NSwgCisgICAgMzksIDE4MSwgNCwgMSwgMTk5LCA3MywgMTgxLCA0LCAxLCAxOTksIDc1LCAxODEsIDQsIDEsIDE5OSwgNjEsIDE4MSwgNCwgCisgICAgMSwgMTk5LCAyNTQsIDIxMCwgMTgxLCA0LCAxLCAxOTksIDc2LCAxODEsIDQsIDEsIDE5OSwgMjI2LCAxODQsIDE4MSwgNCwgCisgICAgMSwgMjE5LCAyNTIsIDczLCAxODEsIDQsIDEsIDIxOSwgMjUyLCA3NSwgMTgxLCA0LCAxLCAyMTksIDI1MiwgNjEsIDE4MSwgCisgICAgNCwgMSwgMjE5LCAyNTIsIDI1NCwgMjEwLCAxODEsIDQsIDEsIDIxOSwgMjUyLCA3NiwgMTgxLCA0LCAxLCAyMTksIDI1MiwgCisgICAgMjI2LCAxODQsIDE4MSwgNCwgMSwgMjUzLCAxNjgsIDE4MSwgNCwgMSwgMjI2LCAxMTcsIDE4MSwgNCwgMSwgMjExLCAxOTUsIAorICAgIDE4MSwgNCwgMSwgMjExLCA0NCwgMTgxLCA0LCAxLCAyNDIsIDYxLCAxODEsIDQsIDEsIDIyNSwgMjEyLCAxODEsIDQsIDEsIAorICAgIDI1MiwgNjcsIDE4MSwgNCwgMSwgMjE3LCAxMiwgMTgxLCA0LCAxLCAyNDgsIDc4LCAxODEsIDQsIDEsIDI1MCwgMTI5LCAKKyAgICAxODEsIDQsIDEsIDIzNSwgMTI1LCAxODEsIDQsIDEsIDIzNCwgMTkwLCAxODEsIDQsIDEsIDI0MywgODQsIDE4MSwgNCwgMSwgCisgICAgMjQ1LCAyMDMsIDE4MSwgNCwgMSwgMjEzLCAyNTAsIDE4MSwgNCwgMSwgMjQ1LCA2MCwgMTgxLCA0LCAxLCAyMTYsIDE5NSwgCisgICAgMTgxLCA0LCAxLCAyNDUsIDgzLCAxODEsIDQsIDEsIDIxMCwgOTIsIDE4MSwgNCwgMSwgMjQ1LCA3NiwgMTgxLCA0LCAxLCAKKyAgICAyMTAsIDczLCAxODEsIDQsIDEsIDI0NSwgOTMsIDE4MSwgNCwgMSwgMjQ1LCAxNzUsIDE4MSwgNCwgMSwgMjQ1LCAxNjAsIAorICAgIDE4MSwgNCwgMSwgMjQ1LCAxNTEsIDE4MSwgNCwgMSwgMjQ1LCAxMzksIDE4MSwgNCwgMSwgMjI2LCAyMjAsIDE4MSwgNCwgMSwgCisgICAgMjQ1LCAzOSwgMjIwLCA3MCwgMSwgMjI1LCAyMTAsIDIyMCwgNzAsIDEsIDIxNiwgNiwgMjIwLCA3MCwgMSwgMjM0LCA5MiwgCisgICAgMjIwLCA3MCwgMSwgMjQ0LCAxNDgsIDIyMCwgNzAsIDEsIDIxNiwgMTczLCAyMjAsIDcwLCAxLCAyMTksIDU5LCAyMjAsIDcwLCAKKyAgICAxLCAyMTgsIDE1LCAyMjAsIDcwLCAxLCAyNTAsIDYyLCAyMjAsIDcwLCAxLCAyMTEsIDQ2LCAyMjAsIDcwLCAxLCAyNDAsIAorICAgIDIxMCwgMjIwLCA3MCwgMSwgMjUyLCA2LCAyMjAsIDcwLCAxLCAyNDgsIDkwLCAyMjAsIDcwLCAxLCAyNDMsIDEyMiwgMjIwLCAKKyAgICA3MCwgMSwgMjEzLCAxMjMsIDIyMCwgNzAsIDEsIDIxNiwgMTc3LCAyMjAsIDcwLCAxLCAyMTAsIDIxLCAyMjAsIDcwLCAxLCAKKyAgICAyMzEsIDkwLCAyMjAsIDcwLCAxLCAyMzUsIDUwLCAyMjAsIDcwLCAxLCAyMTEsIDIyNSwgMjIwLCA3MCwgMSwgMjQyLCA0OSwgCisgICAgMjIwLCA3MCwgMSwgMjMyLCAxNDMsIDIyMCwgNzAsIDEsIDIzMCwgMTkwLCAyMjAsIDcwLCAxLCAyMzYsIDQxLCAyMjAsIDcwLCAKKyAgICAxLCAyNDUsIDIwMiwgMjIwLCA3MCwgMSwgMjUzLCAyMzIsIDIyMCwgNzAsIDEsIDI1NCwgMjQ4LCAyMjAsIDcwLCAxLCAyMjYsIAorICAgIDE5NywgMjIwLCA3MCwgMSwgMjExLCAyMTIsIDIyMCwgNzAsIDEsIDIyNiwgMTMxLCAyMjAsIDcwLCAxLCAyNTQsIDIxMCwgCisgICAgMjIwLCA3MCwgMSwgMjIyLCAyMDksIDIyMCwgNzAsIDEsIDIyNywgMTk1LCAyMjAsIDcwLCAxLCAyNDUsIDIxOCwgMjIwLCAKKyAgICA3MCwgMSwgMjU0LCAyMTUsIDIyMCwgNzAsIDEsIDI0MCwgMTEyLCAyMjAsIDcwLCAxLCAyMTQsIDE2MywgMjIwLCA3MCwgMSwgCisgICAgMjI2LCAyNTUsIDIyMCwgNzAsIDEsIDIyNiwgMTc3LCAyMjAsIDcwLCAxLCAyMjYsIDIxOSwgMjIwLCA3MCwgMSwgMjUzLCAKKyAgICAxNzEsIDIyMCwgNzAsIDEsIDI1NCwgMjAsIDIyMCwgNzAsIDEsIDIyNiwgMTU5LCAyMjAsIDcwLCAxLCAyNTQsIDE5MywgCisgICAgMjIwLCA3MCwgMSwgMjQ1LCA4NywgMjIwLCA3MCwgMSwgMjUzLCAyNTQsIDIyMCwgNzAsIDEsIDI0NSwgMjI4LCAyMjAsIDcwLCAKKyAgICAxLCAyNDAsIDExOSwgMjIwLCA3MCwgMSwgMjExLCAxMywgMjI2LCAxNDIsIDEsIDI1NCwgMTcxLCAyMjYsIDE0MiwgMSwgCisgICAgMjUyLCAxOTIsIDIyNiwgMTQyLCAxLCAyMTcsIDEwNiwgMjI2LCAxNDIsIDEsIDIzNSwgMTQyLCAyMjYsIDE0MiwgMSwgMjExLCAKKyAgICAxNjUsIDIyNiwgMTQyLCAxLCAyMzQsIDEzMywgMjI2LCAxNDIsIDEsIDI0OCwgNzcsIDIyNiwgMTQyLCAxLCAyMDUsIDIyNiwgCisgICAgMTQyLCAxLCAyMDYsIDIyNiwgMTQyLCAxLCAyMjAsIDI3LCAyMjYsIDE0MiwgMSwgMjQ4LCAyNiwgMjI2LCAxNDIsIDEsIAorICAgIDI1MCwgMjE2LCAyMjYsIDE0MiwgMSwgMjQzLCAxMzYsIDIyNiwgMTQyLCAxLCAyNDQsIDE5NywgMjI2LCAxNDIsIDEsIDIyNCwgCisgICAgODcsIDIyNiwgMTQyLCAxLCAyMzUsIDEwLCAyMjYsIDE0MiwgMSwgMjMzLCAxMzEsIDIyNiwgMTQyLCAxLCAyMzAsIDIwMSwgCisgICAgMjI2LCAxNDIsIDEsIDIyNywgMTc5LCAyMjYsIDE0MiwgMSwgMjEyLCAzMCwgMjI2LCAxNDIsIDEsIDE2MiwgMjI2LCAxNDIsIAorICAgIDEsIDE5MSwgMjI2LCAxNDIsIDEsIDYxLCAyMjYsIDE0MiwgMSwgNzUsIDIyNiwgMTQyLCAxLCA3MywgMjI2LCAxNDIsIDEsIAorICAgIDc2LCAyMjYsIDE0MiwgMSwgNzAsIDIyNiwgMTQyLCAxLCAyNTUsIDc0LCAyMjYsIDE0MiwgMSwgMjQ1LCAyMTAsIDIyNiwgCisgICAgMTQyLCAxLCAyMjYsIDE4NCwgMjI2LCAxNDIsIDIxLCAyMTAsIDg2LCAyMjYsIDE0MiwgMjEsIDExMCwgMjI2LCAxNDIsIDIxLCAKKyAgICAxMDUsIDIyNiwgMTQyLCAyMSwgMTU4LCAyMjYsIDE0MiwgMjEsIDE2MSwgMjI2LCAxNDIsIDIxLCAxODksIDIyNiwgMTQyLCAKKyAgICAyMSwgMTk0LCAyMjYsIDE0MiwgMjEsIDE5OCwgMjI2LCAxNDIsIDIxLCAxOTUsIDIyNiwgMTQyLCAyMSwgMjAwLCAyNDksIAorICAgIDY4LCAzLCA2MSwgMjQ5LCA2OCwgMywgNzUsIDI0OSwgNjgsIDMsIDczLCAyNDksIDY4LCAzLCA3NiwgMjQ5LCA2OCwgMywgCisgICAgNzAsIDI0OSwgNjgsIDMsIDIzNSwgMTQyLCAyNDksIDY4LCAzLCAyMzUsIDY5LCAyNDksIDY4LCAzLCAxNzYsIDI0OSwgNjgsIAorICAgIDMsIDIzNCwgMTgzLCAyNDksIDY4LCAzLCAyMzQsIDkzLCAyNDksIDY4LCAzLCAyMzQsIDI5LCAyNDksIDY4LCAzLCAyMzMsIAorICAgIDIxOCwgMjQ5LCA2OCwgMywgMjMzLCAxMzYsIDI0OSwgNjgsIDMsIDIzMywgNTksIDI0OSwgNjgsIDMsIDIzMiwgMjQyLCAKKyAgICAyNDksIDY4LCAzLCAyMzIsIDE1NywgMjQ5LCA2OCwgMywgMjMyLCA5OSwgMjQ5LCA2OCwgMywgMTg1LCAyNDksIDY4LCAzLCAKKyAgICAyMzEsIDkyLCAyNDksIDY4LCAzLCAyMzAsIDIzMSwgMjQ5LCA2OCwgMywgMjMwLCAxNjIsIDI0OSwgNjgsIDMsIDIzMCwgCisgICAgMTAzLCAyNDksIDY4LCAzLCAxOTcsIDI0OSwgNjgsIDMsIDIyOSwgMTA4LCAyNDksIDY4LCAzLCAyMjgsIDIzNCwgMjQ5LCAKKyAgICA2OCwgMywgMjI4LCA3NSwgMjQ5LCA2OCwgMywgMjI3LCAyMzgsIDI0OSwgNjgsIDMsIDE5MCwgMjQ5LCA2OCwgMywgMjI1LCAKKyAgICAyMjIsIDI0OSwgNjgsIDMsIDIyNSwgMTA5LCAyNDksIDY4LCAzLCAyMjUsIDE3LCAyNDksIDY4LCAzLCAyMjQsIDE1MSwgCisgICAgMjQ5LCA2OCwgMywgMjA1LCAyNDksIDY4LCAzLCAyMjMsIDEyOSwgMjQ5LCA2OCwgMywgMjIzLCAzNiwgMjQ5LCA2OCwgMywgCisgICAgMjIyLCAyMTIsIDI0OSwgNjgsIDMsIDIyMiwgMTQxLCAyNDksIDY4LCAzLCAyMDYsIDI0OSwgNjgsIDMsIDIyMSwgMTgyLCAKKyAgICAyNDksIDY4LCAzLCAyMTksIDE5MiwgMjQ5LCA2OCwgMywgMjE5LCA1OSwgMjQ5LCA2OCwgMywgMjE4LCA4NCwgMjQ5LCA2OCwgCisgICAgMywgMjE3LCAxMDYsIDI0OSwgNjgsIDMsIDIxNywgMjMsIDI0OSwgNjgsIDMsIDIxNiwgMTE4LCAyNDksIDY4LCAzLCAxMTEsIAorICAgIDI0OSwgNjgsIDMsIDIxNSwgMTE5LCAyNDksIDY4LCAzLCAyMTIsIDY1LCAyNDksIDY4LCAzLCAyMTIsIDIyLCAyNDksIDY4LCAKKyAgICAzLCAyMTEsIDI1MCwgMjQ5LCA2OCwgMywgMjExLCAyMjcsIDI0OSwgNjgsIDMsIDIxMSwgMTY1LCAyNDksIDY4LCAzLCAyMTEsIAorICAgIDE2MiwgMjQ5LCA2OCwgMywgMjEwLCAxMTYsIDI0OSwgNjgsIDMsIDIxMCwgMjMsIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjU0LCAKKyAgICAxNjksIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjUyLCAyNiwgMjM2LCAyLCAyNTQsIDI4LCAxLCAyNDIsIDIwMiwgMjM2LCAyLCAKKyAgICAyNTQsIDI4LCAxLCAyNDgsIDE4OSwgMjM2LCAyLCAyNTQsIDI4LCAxLCAyNDEsIDIzOSwgMjM2LCAyLCAyNTQsIDI4LCAxLCAKKyAgICAyMTIsIDMwLCAyMzYsIDIsIDI1NCwgMjgsIDEsIDIxMCwgOTcsIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjQxLCAxOTYsIDIzNiwgCisgICAgMiwgMjU0LCAyOCwgMSwgMjE2LCAyMjcsIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjEwLCAyMzIsIDIzNiwgMiwgMjU0LCAyOCwgCisgICAgMSwgMjM0LCAyMjYsIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjMzLCA5NCwgMjM2LCAyLCAyNTQsIDI4LCAxLCAyMzEsIDY2LCAKKyAgICAyMzYsIDIsIDI1NCwgMjgsIDEsIDIyNywgMTk1LCAyMzYsIDIsIDI1NCwgMjgsIDEsIDIyMSwgMjUwLCAyMzYsIDIsIDI1NCwgCisgICAgMjgsIDEsIDI1MywgMTYzLCAyMzYsIDIsIDI1NCwgMjgsIDEsIDIyNSwgMjIyLCAyMzYsIDIsIDI1NCwgMjgsIDEsIDIyMiwgCisgICAgMjUsIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjI0LCAzNSwgMjM2LCAyLCAyNTQsIDI4LCAxLCAyMjMsIDY4LCAyMzYsIDIsIAorICAgIDI1NCwgMjgsIDEsIDIyMCwgMjEsIDIzNiwgMiwgMjU0LCAyOCwgMSwgMjE3LCAzNywgMjM2LCAyLCAyNTQsIDI4LCAyMjEsIAorICAgIDE3NCwgNTAsIDIzNiwgMiwgMjU0LCAyOCwgNTQsIDExMCwgMjM2LCAyLCAyNTQsIDI4LCA1NCwgMTA1LCAyMzYsIDIsIDI1NCwgCisgICAgMjgsIDU0LCAxNTgsIDIzNiwgMiwgMjU0LCAyOCwgNTQsIDIxNiwgMjQ4LCAyMzYsIDIsIDI1NCwgMjgsIDU0LCAyMTUsIDczLCAKKyAgICAyMzYsIDIsIDI1NCwgMjgsIDU0LCAxMjMsIDI0MCwgMjExLCAyMzYsIDIsIDI1NCwgMjgsIDU0LCAxMjMsIDIxNiwgMTQ4LCAKKyAgICAyMzYsIDIsIDI1NCwgMjgsIDU0LCAyMTYsIDI0OSwgMjE2LCAxNDgsIDIyNSwgMTIwLCAxLCAyNTQsIDE2NiwgMjI1LCAxMjAsIAorICAgIDEsIDI1MiwgMjksIDIyNSwgMTIwLCAxLCAyNDMsIDExMCwgMjI1LCAxMjAsIDEsIDI0OCwgNTcsIDIyNSwgMTIwLCAxLCAKKyAgICAyNDEsIDIzOSwgMjI1LCAxMjAsIDEsIDIxMiwgMzcsIDIyNSwgMTIwLCAxLCAyMTAsIDExMCwgMjI1LCAxMjAsIDEsIDI0MSwgCisgICAgMTk4LCAyMjUsIDEyMCwgMSwgMjE2LCAyMzEsIDIyNSwgMTIwLCAxLCAyMTAsIDIzMywgMjI1LCAxMjAsIDEsIDIzNCwgMjUxLCAKKyAgICAyMjUsIDEyMCwgMSwgMjMzLCAxMDAsIDIyNSwgMTIwLCAxLCAyMzEsIDY2LCAyMjUsIDEyMCwgMSwgMjI3LCAxOTUsIDIyNSwgCisgICAgMTIwLCAxLCAyMjAsIDE0NSwgMjI1LCAxMjAsIDEsIDI1NCwgMTk3LCAyMjUsIDEyMCwgMSwgMjI1LCAyMjIsIDIyNSwgMTIwLCAKKyAgICAxLCAyMjIsIDI2LCAyMjUsIDEyMCwgMSwgMjI0LCA0MCwgMjI1LCAxMjAsIDEsIDIyMiwgMTkwLCAyMjUsIDEyMCwgMSwgCisgICAgMjIwLCAyMSwgMjI1LCAxMjAsIDEsIDIxNywgNDIsIDIyNSwgMTIwLCA1NCwgMTEwLCAyMjUsIDEyMCwgNTQsIDIxNiwgMjQ4LCAKKyAgICAyMjUsIDEyMCwgNTQsIDIxNSwgNzMsIDIyNSwgMTIwLCA1NCwgMTIzLCAyNDAsIDIxMSwgMjI1LCAxMjAsIDU0LCAxMDUsIAorICAgIDIyNSwgMTIwLCA1NCwgMTU4LCAyMjUsIDEyMCwgMjExLCAyMDksIDIyMCwgMTM4LCAyMzIsIDYwLCAxLCA2MSwgMjMyLCA2MCwgCisgICAgMSwgMjUzLCAxNTksIDIzMiwgNjAsIDEsIDI0MywgMjAzLCAyMzIsIDYwLCAxLCAyNDksIDYxLCAyMzIsIDYwLCAxLCA3NSwgCisgICAgMjMyLCA2MCwgMSwgMjE0LCAxMDUsIDIzMiwgNjAsIDEsIDczLCAyMzIsIDYwLCAxLCAyMTEsIDExNywgMjMyLCA2MCwgMSwgCisgICAgMjM1LCAyNCwgMjMyLCA2MCwgMSwgMTU2LCAyMzIsIDYwLCAxLCAxOTMsIDIzMiwgNjAsIDEsIDIzMCwgMjYsIDIzMiwgNjAsIAorICAgIDEsIDc2LCAyMzIsIDYwLCAxLCAxNTMsIDIzMiwgNjAsIDEsIDIxOCwgMjI3LCAyMzIsIDYwLCAxLCAyMTcsIDE1MywgMjMyLCAKKyAgICA2MCwgMSwgNzAsIDIzMiwgNjAsIDEsIDI0NSwgNywgMjMyLCA2MCwgMSwgMjI0LCA5NywgMjMyLCA2MCwgMSwgMjIyLCA5MiwgCisgICAgMjMyLCA2MCwgMSwgMjE1LCAxNjAsIDIzMiwgNjAsIDEsIDI1NCwgMTI0LCAyMzIsIDYwLCAxLCAyNDUsIDE1MSwgMjMyLCAKKyAgICA2MCwgMSwgMjMyLCA2MywgMjMyLCA2MCwgMSwgMjI4LCAxMTIsIDIzMiwgNjAsIDEsIDI1MSwgNjcsIDIzMiwgNjAsIDIxNSwgCisgICAgMjIzLCA3OCwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDYxLCAyMzEsIDQ5LCAyNDEsIDE3NSwgMSwgNzUsIDIzMSwgNDksIAorICAgIDI0MSwgMTc1LCAxLCA3MywgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDc2LCAyMzEsIDQ5LCAyNDEsIDE3NSwgMSwgMTkxLCAKKyAgICAyMzEsIDQ5LCAyNDEsIDE3NSwgMSwgMjEyLCA2NSwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDI1MiwgMTkyLCAyMzEsIDQ5LCAKKyAgICAyNDEsIDE3NSwgMSwgMjUyLCAxOTEsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAxOTAsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAKKyAgICAxODUsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAxOTcsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAyMjksIDIyOSwgMjMxLCA0OSwgCisgICAgMjQxLCAxNzUsIDEsIDIyOSwgMTA4LCAyMzEsIDQ5LCAyNDEsIDE3NSwgMSwgMjI5LCAxMDcsIDIzMSwgNDksIDI0MSwgMTc1LCAKKyAgICAxLCAyMDUsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAyMjMsIDE4OCwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDIzMywgMTM2LCAKKyAgICAyMzEsIDQ5LCAyNDEsIDE3NSwgMSwgMjM0LCAxMzMsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAyNDEsIDE5MCwgMjMxLCA0OSwgCisgICAgMjQxLCAxNzUsIDEsIDIwNiwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDIyMiwgMzQsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAKKyAgICAyMjEsIDE4MiwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDE3NiwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDIyNCwgODksIDIzMSwgCisgICAgNDksIDI0MSwgMTc1LCAxLCAyMTcsIDEwNiwgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDIxNywgMTA1LCAyMzEsIDQ5LCAyNDEsIAorICAgIDE3NSwgMSwgMjE3LCAyMywgMjMxLCA0OSwgMjQxLCAxNzUsIDEsIDIxNywgMjIsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAKKyAgICAxMTEsIDIzMSwgNDksIDI0MSwgMTc1LCAxLCAyNDgsIDIyMiwgMjMxLCA0OSwgMjQxLCAxNzUsIDE2LCAyMTMsIDE3MCwgCisgICAgMjMxLCA0OSwgMjQxLCAxNzUsIDE2LCAyMTMsIDE2OSwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgNjEsIDIzMSwgNDksIDI0OSwgCisgICAgOTUsIDEsIDc1LCAyMzEsIDQ5LCAyNDksIDk1LCAxLCA3MywgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgNzYsIDIzMSwgNDksIAorICAgIDI0OSwgOTUsIDEsIDE5MSwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgMjEyLCA2NSwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgMjUyLCAKKyAgICAxOTIsIDIzMSwgNDksIDI0OSwgOTUsIDEsIDE5MCwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgMTg1LCAyMzEsIDQ5LCAyNDksIAorICAgIDk1LCAxLCAxOTcsIDIzMSwgNDksIDI0OSwgOTUsIDEsIDIyOSwgMTA4LCAyMzEsIDQ5LCAyNDksIDk1LCAxLCAyMDUsIDIzMSwgCisgICAgNDksIDI0OSwgOTUsIDEsIDIzMywgMTM2LCAyMzEsIDQ5LCAyNDksIDk1LCAxLCAyMzQsIDEzMywgMjMxLCA0OSwgMjQ5LCAKKyAgICA5NSwgMSwgMjQxLCAxOTAsIDIzMSwgNDksIDI0OSwgOTUsIDEsIDIwNiwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgMjU0LCAyNCwgCisgICAgMjA2LCAyMzEsIDQ5LCAyNDksIDk1LCAxLCAyMjEsIDE4MiwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgMTc2LCAyMzEsIDQ5LCAKKyAgICAyNDksIDk1LCAxLCAyMjQsIDg5LCAyMzEsIDQ5LCAyNDksIDk1LCAxLCAyMTcsIDEwNiwgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgCisgICAgMjE3LCAyMywgMjMxLCA0OSwgMjQ5LCA5NSwgMSwgMTExLCAyMzEsIDQ5LCAyNDksIDk1LCAxLCAyNDgsIDIyMiwgMjMxLCAKKyAgICA0OSwgMjQ5LCA5NSwgMjMyLCAxNDYsIDIyMiwgMjE4LCAyMzEsIDQ5LCAyNDksIDk1LCAyMzIsIDE0NiwgMjM2LCA3LCAyMzQsIAorICAgIDEyMSwgMSwgNjEsIDIzNCwgMTIxLCAyNSwgNSwgNzMsIDIzNCwgMTIxLCAyNSwgNSwgNzAsIDIzNCwgMTIxLCAyNSwgNSwgCisgICAgMTQ5LCAxNTMsIDIzNCwgMTIxLCAyNSwgNSwgNzUsIDIzNCwgMTIxLCAyNSwgNSwgNzYsIDIzNCwgMTIxLCAyNSwgMjMzLCAKKyAgICAyNCwgNzgsIDIzNCwgMTIxLCA1LCA1MiwgMjIyLCAyMzUsIDUxLCAyMzQsIDEyMSwgNSwgMjU0LCA3NiwgMjM0LCAxMjEsIDUsIAorICAgIDIxMywgMTQ3LCAyMzQsIDEyMSwgMSwgMTc2LCAyMzQsIDEyMSwgMSwgMjM0LCAxMzMsIDIzNCwgMTIxLCAxLCAyNDMsIDEzNiwgCisgICAgMjM0LCAxMjEsIDEsIDI0MiwgMjUwLCAyMzQsIDEyMSwgMSwgMjUxLCAzNCwgMjM0LCAxMjEsIDEsIDI1MCwgMTU4LCAyMzQsIAorICAgIDEyMSwgMSwgMjM1LCAxNDIsIDIzNCwgMTIxLCAxLCAyMjcsIDE2NiwgMjM0LCAxMjEsIDEsIDIxNSwgMTU3LCAyMzQsIDEyMSwgCisgICAgMSwgMjE1LCAxNDUsIDIzNCwgMTIxLCAxLCAyNDgsIDEzNiwgMjM0LCAxMjEsIDEsIDI0OCwgMTIwLCAyMzQsIDEyMSwgMSwgCisgICAgMjI4LCAxMTEsIDIzNCwgMTIxLCAxLCAyMTcsIDEwNiwgMjM0LCAxMjEsIDEsIDIxNiwgMjA5LCAyMzQsIDEyMSwgMSwgMjQ4LCAKKyAgICAyMjIsIDIzNCwgMTIxLCAxLCAyNDgsIDI2LCAyMzQsIDEyMSwgMSwgMTk3LCAyMzQsIDEyMSwgMSwgMTkwLCAyMzQsIDEyMSwgCisgICAgMSwgMjI1LCAxNDgsIDIzNCwgMTIxLCAxLCAyNTIsIDE5MiwgMjM0LCAxMjEsIDEsIDI1MiwgMTksIDIzNCwgMTIxLCAxLCAKKyAgICAxODUsIDIzNCwgMTIxLCAxLCAxOTEsIDIzNCwgMTIxLCAxLCAyMDUsIDIzNCwgMTIxLCAxLCAyMzMsIDEzNiwgMjM0LCAxMjEsIAorICAgIDEsIDIxNCwgMjcsIDIzNCwgMTIxLCAxLCAyMjAsIDEwMywgMjM0LCAxMjEsIDEsIDIxOCwgMjI0LCAyMzQsIDEyMSwgMSwgCisgICAgMjA2LCAyMzQsIDEyMSwgMSwgMjEwLCAxMTYsIDIzNCwgMTIxLCAxLCAxNjIsIDIzNCwgMTIxLCAxLCAyMzQsIDQ3LCAyMzQsIAorICAgIDEyMSwgMSwgMjE1LCAxMjUsIDIzNCwgMTIxLCA1LCAyNTIsIDE0MiwgNDgsIDIzNCwgMTIxLCA1LCAyNTAsIDIyMiwgMjM0LCAKKyAgICAxMjEsIDUsIDU5LCA1MSwgMjM0LCAxMjEsIDIxMywgMTUyLCAyMzQsIDEyMSwgMjEsIDExMCwgMjM0LCAxMjEsIDIxLCAxMDUsIAorICAgIDIzNCwgMTIxLCAyMSwgMTU4LCAyMzQsIDEyMSwgMjEsIDE2MSwgMjM0LCAxMjEsIDU0LCAyMTYsIDI0OCwgMjM0LCAxMjEsIAorICAgIDU0LCAyMTUsIDczLCAyMzQsIDEyMSwgNTQsIDEyMywgMjQwLCAyMTEsIDIzNCwgMTIxLCA1NCwgMTIzLCAyMTYsIDE0OCwgCisgICAgMjM0LCAxMjEsIDIyNCwgMTQyLCAyNDcsIDEyMSwgMjM0LCAxMjEsIDIyNCwgMTQyLCA0LCAyNTAsIDM2LCAyMzQsIDEyMSwgCisgICAgMjI0LCAxNDIsIDI1MCwgMzYsIDIzNCwgMTIxLCAyMjQsIDE0MiwgMjQ5LCAxMzgsIDEzMCwgMjM0LCAxMjEsIDIyNCwgMTQyLCAKKyAgICAyMzEsIDE4MSwgMjM0LCAxMjEsIDIyNCwgMTQyLCAyMzIsIDExNiwgMjM0LCAxMjEsIDIyNCwgMTQyLCAyNDgsIDE3OSwgCisgICAgMjM0LCAxMjEsIDIyNCwgMTQyLCA1MiwgMjQ4LCAxNzksIDIzNCwgMTIxLCAyMjQsIDE0MiwgMjMyLCAyMDgsIDU1LCAyMTksIAorICAgIDI5LCAyNTQsIDM5LCAxLCAyNDEsIDIzOSwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIzMywgOTQsIDU1LCAyMTksIDI5LCAKKyAgICAyNTQsIDM5LCAxLCAyNDEsIDE5NiwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIzMSwgNjYsIDU1LCAyMTksIDI5LCAyNTQsIAorICAgIDM5LCAxLCAyMjQsIDM1LCA1NSwgMjE5LCAyOSwgMjU0LCAzOSwgMSwgMjEyLCAzMCwgNTUsIDIxOSwgMjksIDI1NCwgMzksIAorICAgIDEsIDIyMCwgMjEsIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAxLCAyMjMsIDY4LCA1NSwgMjE5LCAyOSwgMjU0LCAzOSwgMSwgCisgICAgMjUyLCAyNiwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIxNywgMzcsIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAxLCAyMjEsIAorICAgIDIyNywgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIzNCwgMjI2LCA1NSwgMjE5LCAyOSwgMjU0LCAzOSwgMSwgMjI3LCAKKyAgICAxOTUsIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAxLCAyMzQsIDExNywgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIyMiwgMjUsIAorICAgIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAxLCAyMjEsIDI1MCwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDI0NCwgMTU1LCA1NSwgCisgICAgMjE5LCAyOSwgMjU0LCAzOSwgMSwgMjU0LCAxNzEsIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAxLCAyNTMsIDE2MiwgNTUsIAorICAgIDIxOSwgMjksIDI1NCwgMzksIDEsIDI0OCwgMjMsIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAxLCAyNDIsIDIwMiwgNTUsIDIxOSwgCisgICAgMjksIDI1NCwgMzksIDEsIDI0OCwgMTg5LCA1NSwgMjE5LCAyOSwgMjU0LCAzOSwgMSwgMjQyLCAyMzksIDU1LCAyMTksIDI5LCAKKyAgICAyNTQsIDM5LCAxLCAyMTYsIDIyNywgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIxMCwgOTYsIDU1LCAyMTksIDI5LCAyNTQsIAorICAgIDM5LCAxLCAyNDgsIDIwLCA1NSwgMjE5LCAyOSwgMjU0LCAzOSwgMSwgMjEwLCAyMzIsIDU1LCAyMTksIDI5LCAyNTQsIDM5LCAKKyAgICAxLCAyMTYsIDE5OCwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEsIDIxNiwgMTc5LCA1NSwgMjE5LCAyOSwgMjU0LCAzOSwgNTQsIAorICAgIDExMCwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDU0LCAyNDQsIDExNSwgNTUsIDIxOSwgMjksIDI1NCwgMzksIDEzMiwgMjM1LCAKKyAgICAyMzksIDI1MywgMTczLCAxLCA2MSwgMjUzLCAxNzMsIDEsIDI1NSwgNzQsIDI1MywgMTczLCAxLCAyNTQsIDc0LCAyNTMsIAorICAgIDE3MywgMSwgMjU1LCAzMywgMjUzLCAxNzMsIDEsIDI1NCwgMTI0LCAyNTMsIDE3MywgMSwgMjU1LCAzNCwgMjUzLCAxNzMsIAorICAgIDEsIDI1NCwgMjQ0LCAyNTMsIDE3MywgMSwgMjU0LCAyNDAsIDI1MywgMTczLCAxLCA3NSwgMjUzLCAxNzMsIDEsIDI0NSwgCisgICAgMjEwLCAyNTMsIDE3MywgMSwgNzYsIDI1MywgMTczLCAxLCAyMjYsIDE4NCwgMjUzLCAxNzMsIDEsIDczLCAyNTMsIDE3MywgCisgICAgMSwgMjM2LCAzNCwgMjUzLCAxNzMsIDEsIDcwLCAyNTMsIDE3MywgMSwgMjE0LCAxMTgsIDI1MywgMTczLCAxLCAyMzQsIAorICAgIDE4MywgMjUzLCAxNzMsIDEsIDIxMSwgMTYyLCAyNTMsIDE3MywgMSwgMjExLCAxMjgsIDI1MywgMTczLCAxLCAyMTEsIDEzNywgCisgICAgMjUzLCAxNzMsIDEsIDI0MywgNjMsIDI1MywgMTczLCAxLCAyNDMsIDI1LCAyNTMsIDE3MywgMSwgMjQyLCAyMzcsIDI1MywgCisgICAgMTczLCAxLCAyNTAsIDE5MSwgMjUzLCAxNzMsIDEsIDIzNSwgMTI3LCAyNTMsIDE3MywgMSwgMjE3LCAyMywgMjUzLCAxNzMsIAorICAgIDEsIDIxNiwgMTk2LCAyNTMsIDE3MywgMSwgMjQ4LCA5MSwgMjUzLCAxNzMsIDEsIDI0OCwgMTgsIDI1MywgMTczLCAxLCAKKyAgICAyMTUsIDE1MiwgMjUzLCAxNzMsIDEsIDIyNSwgMjIyLCAyNTMsIDE3MywgMSwgMjQ0LCAxNTUsIDI1MywgMTczLCAxLCAyNTIsIAorICAgIDc2LCAyNTMsIDE3MywgMSwgMjUyLCAxNSwgMjUzLCAxNzMsIDEsIDIyOSwgNjUsIDI1MywgMTczLCAxLCAyMjgsIDI0MCwgCisgICAgMjUzLCAxNzMsIDEsIDIyOCwgMjQxLCAyNTMsIDE3MywgMSwgMjI5LCAxMDgsIDI1MywgMTczLCAxLCAyMjcsIDE1NywgMjUzLCAKKyAgICAxNzMsIDEsIDIyOCwgMTA2LCAyNTMsIDE3MywgMSwgMjMxLCA5MiwgMjUzLCAxNzMsIDEsIDI0MSwgMTE3LCAyNTMsIDE3MywgCisgICAgMSwgMjEwLCAxNjYsIDI1MywgMTczLCAxLCAyMTEsIDQ3LCAyNTMsIDE3MywgMSwgMjEzLCAyNTUsIDI1MywgMTczLCAxLCAKKyAgICAyMjMsIDEyOSwgMjUzLCAxNzMsIDEsIDIzMywgNTksIDI1MywgMTczLCAxLCAyMjEsIDE4MiwgMjUzLCAxNzMsIDEsIDIxMCwgCisgICAgOTQsIDI1MywgMTczLCAxLCAyMjAsIDY0LCAyNTMsIDE3MywgMSwgMjEwLCA3NCwgMjUzLCAxNzMsIDEsIDIxOSwgMTk5LCAKKyAgICAyNTMsIDE3MywgMSwgMjE4LCAxOTQsIDI1MywgMTczLCAxLCAyNDEsIDIzOSwgMjUzLCAxNzMsIDI1NSwgMjIsIDc4LCAyMTYsIAorICAgIDgwLCAxMTMsIDE3MCwgMTE3LCAxMjMsIDU5LCAyMjQsIDE0MSwgNCwgMTEzLCAxNzAsIDExNywgMTIzLCA1OSwgMjI0LCAKKyAgICAxNDEsIDIzMywgODYsIDExMywgMTcwLCAxMTcsIDEyMywgNTksIDIyNCwgMTQxLCAyMzMsIDg2LCAxMjMsIDU5LCAxMTcsIAorICAgIDExMywgMTcwLCAyMjQsIDE0MSwgMjMzLCA4NiwgMTEzLCAyMjIsIDIzMywgMTE3LCAxMjMsIDIyMiwgMjM1LCAyMjQsIDE0MSwgCisgICAgMjMzLCA4NiwgMTIzLCAyMjIsIDIzNSwgMTE3LCAxMTMsIDIyMiwgMjMzLCAyMjQsIDE0MSwgMjM1LCAyMTksIDIyNSwgMjU1LCAKKyAgICAxLCAyNTQsIDE2OSwgMjM1LCAyMTksIDIyNSwgMjU1LCAxLCAyNTIsIDI2LCAyMzUsIDIxOSwgMjI1LCAyNTUsIDEsIDI0MiwgCisgICAgMjAyLCAyMzUsIDIxOSwgMjI1LCAyNTUsIDEsIDI0OCwgMTg5LCAyMzUsIDIxOSwgMjI1LCAyNTUsIDEsIDI0MSwgMjM5LCAKKyAgICAyMzUsIDIxOSwgMjI1LCAyNTUsIDEsIDIxMiwgMzAsIDIzNSwgMjE5LCAyMjUsIDI1NSwgMSwgMjEwLCA5NywgMjM1LCAyMTksIAorICAgIDIyNSwgMjU1LCAxLCAyNDEsIDE5NiwgMjM1LCAyMTksIDIyNSwgMjU1LCAxLCAyMTYsIDIyNywgMjM1LCAyMTksIDIyNSwgCisgICAgMjU1LCAxLCAyMTAsIDIzMiwgMjM1LCAyMTksIDIyNSwgMjU1LCAxLCAyMzQsIDIyNiwgMjM1LCAyMTksIDIyNSwgMjU1LCAxLCAKKyAgICAyMzMsIDk0LCAyMzUsIDIxOSwgMjI1LCAyNTUsIDEsIDIzMSwgNjYsIDIzNSwgMjE5LCAyMjUsIDI1NSwgMSwgMjI3LCAxOTUsIAorICAgIDIzNSwgMjE5LCAyMjUsIDI1NSwgMSwgMjIxLCAyNTAsIDIzNSwgMjE5LCAyMjUsIDI1NSwgMSwgMjUzLCAxNjMsIDIzNSwgCisgICAgMjE5LCAyMjUsIDI1NSwgMSwgMjI1LCAyMjIsIDIzNSwgMjE5LCAyMjUsIDI1NSwgMSwgMjIyLCAyNSwgMjM1LCAyMTksIAorICAgIDIyNSwgMjU1LCAxLCAyMjQsIDM1LCAyMzUsIDIxOSwgMjI1LCAyNTUsIDEsIDIyMywgNjgsIDIzNSwgMjE5LCAyMjUsIDI1NSwgCisgICAgMSwgMjIwLCAyMSwgMjM1LCAyMTksIDIyNSwgMjU1LCAxLCAyMTcsIDM3LCAyMzUsIDIxOSwgMjI1LCAyNTUsIDU0LCAxMTAsIAorICAgIDIzNSwgMjE5LCAyMjUsIDI1NSwgNTQsIDEwNSwgMjM1LCAyMTksIDIyNSwgMjU1LCA1NCwgMTU4LCAyMzUsIDIxOSwgMjI1LCAKKyAgICAyNTUsIDU0LCAxNjEsIDIzNSwgMjE5LCAyMjUsIDI1NSwgNTQsIDIxNiwgMjQ4LCAyMzUsIDIxOSwgMjI1LCAyNTUsIDU0LCAKKyAgICAyMTUsIDczLCAyMzUsIDIxOSwgMjI1LCAyNTUsIDU0LCAxMjMsIDI0MCwgMjExLCAyMzUsIDIxOSwgMjI1LCAyNTUsIDU0LCAKKyAgICAxMjMsIDIxNiwgMTQ4LCAyMzUsIDIxOSwgMjI2LCA3MywgMSwgMjU0LCAxNjksIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyNTIsIAorICAgIDI2LCAyMzUsIDIxOSwgMjI2LCA3MywgMSwgMjQyLCAyMDIsIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyNDgsIDE4OSwgMjM1LCAKKyAgICAyMTksIDIyNiwgNzMsIDEsIDI0MSwgMjM5LCAyMzUsIDIxOSwgMjI2LCA3MywgMSwgMjEyLCAyOSwgMjM1LCAyMTksIDIyNiwgCisgICAgNzMsIDEsIDIxMCwgOTcsIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyNDEsIDE5NiwgMjM1LCAyMTksIDIyNiwgNzMsIDEsIAorICAgIDIxNiwgMjI3LCAyMzUsIDIxOSwgMjI2LCA3MywgMSwgMjEwLCAyMzIsIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyMzQsIDIyNiwgCisgICAgMjM1LCAyMTksIDIyNiwgNzMsIDEsIDIzMywgOTQsIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyMzEsIDY1LCAyMzUsIDIxOSwgCisgICAgMjI2LCA3MywgMSwgMjI3LCAxOTUsIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyMjEsIDI1MCwgMjM1LCAyMTksIDIyNiwgNzMsIAorICAgIDEsIDIyNSwgMjIyLCAyMzUsIDIxOSwgMjI2LCA3MywgMSwgMjIyLCAyNSwgMjM1LCAyMTksIDIyNiwgNzMsIDEsIDIyMCwgCisgICAgMjEsIDIzNSwgMjE5LCAyMjYsIDczLCAxLCAyMTcsIDM3LCAyMzUsIDIxOSwgMjI2LCA3MywgNTQsIDExMCwgMjM1LCAyMTksIAorICAgIDIyNiwgNzMsIDU0LCAxMDUsIDIzNSwgMjE5LCAyMjYsIDczLCA1NCwgMTU4LCAyMzUsIDIxOSwgMjI2LCA3MywgNTQsIDE2MSwgCisgICAgMjM1LCAyMTksIDIyNiwgNzMsIDU0LCAyMTYsIDI0OCwgMjM1LCAyMTksIDIyNiwgNzMsIDU0LCAyMTUsIDczLCAyMzUsIAorICAgIDIxOSwgMjI2LCA3MywgNTQsIDEyMywgMjQwLCAyMTEsIDIzNSwgMjE5LCAyMjYsIDczLCA1NCwgMTIzLCAyMTYsIDE0OCwgCisgICAgNTUsIDIwMSwgMSwgMjI2LCAxNTAsIDYxLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCA2MSwgNTUsIDIwMSwgMSwgMjExLCAzNywgCisgICAgMjU0LCAyNDQsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCA3MywgNTUsIDIwMSwgMSwgMjExLCAzNywgNzMsIDU1LCAyMDEsIDEsIAorICAgIDIxMSwgMzcsIDc1LCA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgNzYsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyMjYsIDIzNSwgCisgICAgNTUsIDIwMSwgMSwgMjExLCAzNywgMjI2LCAyMzUsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTUsIDI2LCA1NSwgMjAxLCAxLCAKKyAgICAyMTEsIDM3LCAyNTUsIDI2LCA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgMjU0LCAyNDMsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIAorICAgIDI1NCwgMjQzLCA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgMjU0LCAyMTcsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjE3LCAKKyAgICA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgMjU0LCAyMzgsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgMjM4LCA1NSwgMjAxLCAKKyAgICAxLCAyMjYsIDE1MCwgMjU1LCAwLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTUsIDAsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAKKyAgICAyNTQsIDI0MiwgNTUsIDIwMSwgMSwgMjI2LCAxNTAsIDI0NSwgMTMsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI0NSwgMTMsIAorICAgIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTMsIDE2OCwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjUzLCAxNjgsIDU1LCAyMDEsIAorICAgIDEsIDIyNiwgMTUwLCAyNTQsIDIyNSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAyMjUsIDU1LCAyMDEsIDEsIDIyNiwgCisgICAgMTUwLCAyNTQsIDIzNiwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAyMzYsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyMjYsIAorICAgIDIzNCwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjI2LCAyMzQsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTQsIDE3OSwgNTUsIAorICAgIDIwMSwgMSwgMjExLCAzNywgMjU0LCAxNzksIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTQsIDIzNSwgNTUsIDIwMSwgMSwgCisgICAgMjI2LCAxNTAsIDI0NSwgMTYyLCA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgMjQ1LCAxNjAsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAKKyAgICAyNTQsIDEyNCwgNTUsIDIwMSwgMSwgMjI2LCAxNTAsIDI1NCwgMjMzLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIzMywgCisgICAgNTUsIDIwMSwgMSwgMjI2LCAxNTAsIDI0NSwgMTMyLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNDUsIDEzMiwgNTUsIDIwMSwgCisgICAgMSwgMjI2LCAxNTAsIDI0NSwgMTQ4LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNDUsIDE0OCwgNTUsIDIwMSwgMSwgMjI2LCAKKyAgICAxNTAsIDI0NSwgMTE5LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNDUsIDExOSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAKKyAgICAxMTYsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNDUsIDEzOSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAyMzIsIDU1LCAKKyAgICAyMDEsIDEsIDIyNiwgMTUwLCAyNDUsIDEwOSwgNTUsIDIwMSwgMSwgMjI2LCAxNTAsIDIyNiwgMTc2LCA1NSwgMjAxLCAxLCAKKyAgICAyMjYsIDE1MCwgMjQwLCAxMTQsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNDUsIDIxNiwgNTUsIDIwMSwgMSwgMjExLCAzNywgCisgICAgMjQ1LCAyMTYsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTQsIDQ2LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDQ2LCAKKyAgICA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgMjM1LCAxODIsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDIzNSwgMTgyLCA1NSwgMjAxLCAKKyAgICAxLCAyMjYsIDE1MCwgMjI2LCAxNjAsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDIyNiwgMTYwLCA1NSwgMjAxLCAxLCAyMjYsIAorICAgIDE1MCwgMjU0LCA0MiwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCA0MiwgNTUsIDIwMSwgMSwgMjI2LCAxNTAsIDI1NCwgCisgICAgMjMxLCA1NSwgMjAxLCAxLCAyMjYsIDE1MCwgMjUzLCAyMzgsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTQsIDIyOSwgNTUsIAorICAgIDIwMSwgMSwgMjI2LCAxNTAsIDI1MywgMjMyLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTMsIDIzMiwgNTUsIDIwMSwgMSwgCisgICAgMjI2LCAxNTAsIDI0NSwgNzYsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI0NSwgNzYsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAKKyAgICAyNTMsIDIwNywgNTUsIDIwMSwgMSwgMjExLCAzNywgMjUzLCAyMDcsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyNTQsIDIyNiwgCisgICAgNTUsIDIwMSwgMSwgMjExLCAzNywgMjU0LCAyMjYsIDU1LCAyMDEsIDEsIDIyNiwgMTUwLCAyMjYsIDE0MSwgNTUsIDIwMSwgCisgICAgMSwgMjI2LCAxNTAsIDI1MiwgMTI2LCAyMjIsIDEyOCwgMjEsIDExMCwgMjIyLCAxMjgsIDIxLCAxMDUsIDIyMiwgMTI4LCAKKyAgICAyMSwgMTU4LCAyMjIsIDEyOCwgMjEsIDE2MSwgMjIyLCAxMjgsIDIxLCAxODksIDIyMiwgMTI4LCAyMSwgMTk0LCAyMjIsIAorICAgIDEyOCwgMjEsIDE5OCwgMjIyLCAxMjgsIDIxLCAxOTUsIDIyMiwgMTI4LCAyMSwgMjAwLCAyMjIsIDEyOCwgNTQsIDIxNiwgCisgICAgMjQ4LCAyMjIsIDEyOCwgNTQsIDIxNSwgNzMsIDIyMiwgMTI4LCA1NCwgMjE2LCAxNjMsIDIyMiwgMTI4LCA1NCwgMjQ0LCAKKyAgICAxNiwgMjIyLCAxMjgsIDU0LCAyNDQsIDExNSwgMjIyLCAxMjgsIDU0LCAyMTksIDExMiwgMjIyLCAxMjgsIDU0LCAyMjAsIAorICAgIDExNywgMjIyLCAxMjgsIDU0LCAyNDUsIDE4NSwgMjIyLCAxMjgsIDU0LCAyMjgsIDE5NiwgMjIyLCAxMjgsIDU0LCAxMjMsIAorICAgIDI0MCwgMjExLCAyMjIsIDEyOCwgNTQsIDExMywgMjQwLCAyMTEsIDIyMiwgMTI4LCA1NCwgMTM0LCAyNDAsIDIxMSwgMjIyLCAKKyAgICAxMjgsIDU0LCAyNDQsIDEyLCAyNDAsIDIxMSwgMjIyLCAxMjgsIDU0LCAyNDQsIDgyLCAyNDAsIDIxMSwgMjIyLCAxMjgsIAorICAgIDU0LCAyMTksIDEyNiwgMjQwLCAyMTEsIDIyMiwgMTI4LCA1NCwgMjIwLCAxMjMsIDI0MCwgMjExLCAyMjIsIDEyOCwgNTQsIAorICAgIDI0NSwgMTk0LCAyNDAsIDIxMSwgMjIyLCAxMjgsIDU0LCAyMjgsIDIwMSwgMjQwLCAyMTEsIDIyMiwgMTI4LCAyNDQsIDMsIAorICAgIDEyMywgMjQyLCAyOCwgMjIyLCAxMjgsIDI0NCwgMywgMTIzLCAyMjQsIDIyLCAyMjIsIDEyOCwgMjQ0LCAzLCAxMjMsIDIxNiwgCisgICAgMTY5LCAyMjIsIDEyOCwgMjQ0LCAzLCAxMTMsIDIxNiwgMTY3LCAxMTgsIDUsIDI1MSwgMCwgMTE4LCA1LCAyNTQsIDc2LCAKKyAgICAxMTgsIDUsIDIxMywgMTQ3LCAxMTgsIDUsIDIzNSwgMTAzLCAxMTgsIDUsIDIxNCwgMTYxLCAxMTgsIDEsIDYxLCAxMTgsIDEsIAorICAgIDI1NSwgNzQsIDExOCwgMSwgNzMsIDExOCwgMSwgMjM2LCAzNCwgMTE4LCAxLCA3MCwgMTE4LCAxLCAyMTQsIDExOCwgMTE4LCAKKyAgICAxLCAxNDksIDE1MywgMTE4LCAxLCAxNDksIDIyMiwgMTgxLCAxMTgsIDEsIDE0OSwgMTU2LCAxMTgsIDEsIDE0OSwgMjMyLCAKKyAgICAxODYsIDExOCwgMSwgNzUsIDExOCwgMSwgMjU0LCAyMDIsIDExOCwgMSwgNzYsIDExOCwgMSwgMjUzLCAxOTMsIDExOCwgMSwgCisgICAgMTc2LCAxMTgsIDEsIDIzNCwgMTMzLCAxMTgsIDEsIDI0MywgMTM2LCAxMTgsIDEsIDI0MiwgMjUwLCAxMTgsIDEsIDIyOSwgCisgICAgNzgsIDExOCwgMSwgMjUxLCAzNCwgMTE4LCAxLCAyNTAsIDE1OCwgMTE4LCAxLCAyMzUsIDE0MiwgMTE4LCAxLCAyMzUsIAorICAgIDExNSwgMTE4LCAxLCAyMjcsIDE2NiwgMTE4LCAxLCAyMTUsIDE1NywgMTE4LCAxLCAyMTUsIDE0NSwgMTE4LCAxLCAyNDgsIAorICAgIDEzNiwgMTE4LCAxLCAyNDgsIDEyMCwgMTE4LCAxLCAyMjgsIDExMSwgMTE4LCAxLCAyMTcsIDEwNiwgMTE4LCAxLCAyMTYsIAorICAgIDIwOSwgMTE4LCAxLCAyNDgsIDIyMiwgMTE4LCAxLCAyNDgsIDI2LCAxMTgsIDEsIDE5NywgMTE4LCAxLCAxOTAsIDExOCwgMSwgCisgICAgMjI1LCAxNDgsIDExOCwgMSwgMjUyLCAxOTIsIDExOCwgMSwgMjUyLCAxOSwgMTE4LCAxLCAxODUsIDExOCwgMSwgMTkxLCAKKyAgICAxMTgsIDEsIDIwNSwgMTE4LCAxLCAyMzMsIDEzNiwgMTE4LCAxLCAyMTQsIDI3LCAxMTgsIDEsIDIyMCwgMTAzLCAxMTgsIDEsIAorICAgIDIxOCwgMjI0LCAxMTgsIDEsIDIwNiwgMTE4LCAxLCAxNjIsIDExOCwgMSwgMjMyLCAxODUsIDExOCwgMSwgNTUsIDM2LCAKKyAgICAyMzIsIDE3NiwgMTE4LCAxLCA1NSwgMzYsIDIyMiwgMTgwLCAxMTgsIDEsIDU1LCAzNiwgMjI4LCA5MywgMTE4LCAyNSwgNSwgCisgICAgMjU1LCA3NCwgMTE4LCAyNSwgNSwgMjUyLCAxNiwgMjU1LCA3NCwgMTE4LCAyNSwgNSwgNzMsIDExOCwgMjUsIDUsIDIzNiwgCisgICAgMzQsIDExOCwgMjUsIDUsIDcwLCAxMTgsIDI1LCA1LCAyMTQsIDExOCwgMTE4LCAyNSwgNSwgMTQ5LCAxNTMsIDExOCwgMjUsIAorICAgIDUsIDE0OSwgMjIyLCAxODEsIDExOCwgMjUsIDUsIDE0OSwgMTU2LCAxMTgsIDI1LCA1LCAxNDksIDIzMiwgMTg2LCAxMTgsIAorICAgIDI1LCA1LCA3NSwgMTE4LCAyNSwgNSwgMjU0LCAyMDIsIDExOCwgMjUsIDUsIDc2LCAxMTgsIDI1LCA1LCAyNTMsIDE5MywgCisgICAgMTE4LCAyMTMsIDE1MiwgMTE4LCAyNDgsIDE3OSwgMTE4LCA1MiwgMjQ4LCAxNzksIDExOCwgMjI0LCAxNDIsIDI0NywgMTIxLCAKKyAgICAxMTgsIDIyNCwgMTQyLCA1MiwgMjQ3LCAxMjEsIDExOCwgMjI0LCAxNDIsIDIzMiwgMjE0LCAxMTgsIDIyNCwgMTQyLCAyNDksIAorICAgIDEzOCwgMTMwLCAxMTgsIDIyNCwgMTQyLCAyMzIsIDExNiwgMTE4LCA1NCwgMTEwLCAxMTgsIDU0LCAxMDUsIDExOCwgNTQsIAogICAgIDE1OCwgMTE4LCA1NCwgMTYxLCAxMTgsIDU0LCAxODksIDExOCwgNTQsIDE5NCwgMTE4LCA1NCwgMTk4LCAxMTgsIDU0LCAKLSAgICAxOTUsIDExOCwgNTQsIDIwMCwgMTE4LCA1NCwgMjE2LCAyNDcsIDExOCwgNTQsIDIxNSwgNzMsIDExOCwgNTQsIDIxNiwgCi0gICAgMTYyLCAxMTgsIDU0LCAyNDQsIDE1LCAxMTgsIDU0LCAyNDQsIDExNCwgMTE4LCA1NCwgMjE5LCAxMTEsIDExOCwgNTQsIAotICAgIDIyMCwgMTE2LCAxMTgsIDU0LCAyNDUsIDE4NCwgMTE4LCA1NCwgMjI4LCAxOTUsIDExOCwgNTQsIDEyMywgMjQwLCAyMTAsIAotICAgIDExOCwgNTQsIDEyMywgMjE2LCAxNDcsIDExOCwgMjEsIDIxMCwgODYsIDExOCwgMjEsIDExMCwgMTE4LCAyMSwgMTA1LCAKKyAgICAxOTUsIDExOCwgNTQsIDIwMCwgMTE4LCA1NCwgMjE2LCAyNDgsIDExOCwgNTQsIDIxNSwgNzMsIDExOCwgNTQsIDIxNiwgCisgICAgMTYzLCAxMTgsIDU0LCAyNDQsIDE2LCAxMTgsIDU0LCAyNDQsIDExNSwgMTE4LCA1NCwgMjE5LCAxMTIsIDExOCwgNTQsIAorICAgIDIyMCwgMTE3LCAxMTgsIDU0LCAyNDUsIDE4NSwgMTE4LCA1NCwgMjI4LCAxOTYsIDExOCwgNTQsIDEyMywgMjQwLCAyMTEsIAorICAgIDExOCwgNTQsIDEyMywgMjE2LCAxNDgsIDExOCwgMjEsIDIxMCwgODYsIDExOCwgMjEsIDExMCwgMTE4LCAyMSwgMTA1LCAKICAgICAxMTgsIDIxLCAxNTgsIDExOCwgMjEsIDE2MSwgMTE4LCAyMSwgMTg5LCAxMTgsIDIxLCAxOTQsIDExOCwgMjEsIDE5OCwgCi0gICAgMTE4LCAyMSwgMTk1LCAxMTgsIDIxLCAyMDAsIDIzNCwgMjQ0LCA1LCAyNTAsIDI1NSwgMjM0LCAyNDQsIDUsIDI1NCwgNzUsIAotICAgIDIzNCwgMjQ0LCA1LCAyMTMsIDE0NywgMjM0LCAyNDQsIDEsIDYxLCAyMzQsIDI0NCwgMSwgMjU1LCA3MywgMjM0LCAyNDQsIAotICAgIDEsIDczLCAyMzQsIDI0NCwgMSwgMjM2LCAzMywgMjM0LCAyNDQsIDEsIDcwLCAyMzQsIDI0NCwgMSwgMjE0LCAxMTgsIDIzNCwgCi0gICAgMjQ0LCAxLCA3NSwgMjM0LCAyNDQsIDEsIDI1NCwgMjAxLCAyMzQsIDI0NCwgMSwgNzYsIDIzNCwgMjQ0LCAxLCAyNTMsIAotICAgIDE5MiwgMjM0LCAyNDQsIDEsIDE3NiwgMjM0LCAyNDQsIDEsIDIzNCwgMTMyLCAyMzQsIDI0NCwgMSwgMjQzLCAxMzUsIDIzNCwgCi0gICAgMjQ0LCAxLCAyNDIsIDI0OSwgMjM0LCAyNDQsIDEsIDIyOSwgNzcsIDIzNCwgMjQ0LCAxLCAyNTEsIDMzLCAyMzQsIDI0NCwgCi0gICAgMSwgMjUwLCAxNTcsIDIzNCwgMjQ0LCAxLCAyMzUsIDE0MSwgMjM0LCAyNDQsIDEsIDIzNSwgMTE0LCAyMzQsIDI0NCwgMSwgCi0gICAgMjI3LCAxNjUsIDIzNCwgMjQ0LCAxLCAyMTUsIDE1NiwgMjM0LCAyNDQsIDEsIDIxNSwgMTQ0LCAyMzQsIDI0NCwgMSwgMjQ4LCAKLSAgICAxMzUsIDIzNCwgMjQ0LCAxLCAyNDgsIDEyNCwgMjM0LCAyNDQsIDEsIDI0OCwgMTE5LCAyMzQsIDI0NCwgMSwgMjIzLCAzOSwgCi0gICAgMjM0LCAyNDQsIDEsIDIyOCwgMTEwLCAyMzQsIDI0NCwgMSwgMjE3LCAxMDUsIDIzNCwgMjQ0LCAxLCAyMTYsIDIwOCwgMjM0LCAKLSAgICAyNDQsIDEsIDI0OCwgMjIxLCAyMzQsIDI0NCwgMSwgMjQ4LCAyNSwgMjM0LCAyNDQsIDEsIDE5NywgMjM0LCAyNDQsIDEsIAotICAgIDE5MCwgMjM0LCAyNDQsIDEsIDIyNSwgMTQ3LCAyMzQsIDI0NCwgMSwgMjUyLCAxOTEsIDIzNCwgMjQ0LCAxLCAyNTIsIDE4LCAKLSAgICAyMzQsIDI0NCwgMSwgMTg0LCAyMzQsIDI0NCwgMSwgMTkxLCAyMzQsIDI0NCwgMSwgMjA1LCAyMzQsIDI0NCwgMSwgMjMzLCAKLSAgICAxMzUsIDIzNCwgMjQ0LCAxLCAyMTQsIDI3LCAyMzQsIDI0NCwgMSwgMjIwLCAxMDIsIDIzNCwgMjQ0LCAxLCAyMTgsIDIyMywgCi0gICAgMjM0LCAyNDQsIDEsIDIwNiwgMjM0LCAyNDQsIDEsIDE2MiwgMjM0LCAyNDQsIDI1LCA1LCAyNTUsIDczLCAyMzQsIDI0NCwgCi0gICAgMjUsIDUsIDczLCAyMzQsIDI0NCwgMjUsIDUsIDIzNiwgMzMsIDIzNCwgMjQ0LCAyNSwgNSwgNzAsIDIzNCwgMjQ0LCAyNSwgCi0gICAgNSwgMjE0LCAxMTgsIDIzNCwgMjQ0LCAyNSwgNSwgNzUsIDIzNCwgMjQ0LCAyNSwgNSwgMjU0LCAyMDEsIDIzNCwgMjQ0LCAKLSAgICAyNSwgNSwgNzYsIDIzNCwgMjQ0LCAyNSwgNSwgMjUzLCAxOTIsIDIzNCwgMjQ0LCA1LCAyMTMsIDE1MiwgMjM0LCAyNDQsIDUsIAotICAgIDIyNywgMjA1LCAyMzQsIDI0NCwgMjU1LCAyMSwgNTAsIDIzNCwgMjQ0LCAyNDUsIDEyMSwgNTAsIDIzNCwgMjQ0LCA1NCwgCi0gICAgNTAsIDIzNCwgMjQ0LCAyMjEsIDE3MywgNzgsIDIzNCwgMjQ0LCA1MiwgMjIxLCAxNzMsIDc4LCAyMzQsIDI0NCwgMjQ4LCAKLSAgICAxNzgsIDIzNCwgMjQ0LCA1MiwgMjQ4LCAxNzgsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIyMiwgMTgsIDIxOSwgMzYsIDIxOSwgCi0gICAgNDQsIDEsIDIxNywgODAsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDI1MiwgMTY4LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyNTEsIAotICAgIDIzLCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyNDgsIDIwMywgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjQzLCAxMjAsIDIxOSwgCi0gICAgMzYsIDIxOSwgNDQsIDEsIDIzMSwgMjEwLCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMjksIDc0LCAyMTksIDM2LCAyMTksIDQ0LCAKLSAgICAxLCAyMzMsIDExMiwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjI5LCAyMTMsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIxNCwgMjQsIAotICAgIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIyNiwgNzMsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIxMSwgODQsIDIxOSwgMzYsIDIxOSwgCi0gICAgNDQsIDEsIDIyMywgMTY4LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyNDIsIDM3LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMzQsIAotICAgIDI0OCwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjM1LCAxMzYsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIyNywgMTYyLCAyMTksIAotICAgIDM2LCAyMTksIDQ0LCAxLCAyNTQsIDIwOSwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjQ1LCAyMDcsIDIxOSwgMzYsIDIxOSwgCi0gICAgNDQsIDEsIDIzNiwgMzQsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIxNCwgMjA4LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMjYsIAotICAgIDIyMiwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjQ1LCAxOTcsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIzMSwgMjIzLCAyMTksIAotICAgIDM2LCAyMTksIDQ0LCAyMSwgMjEwLCA4NiwgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDExMCwgMjE5LCAzNiwgMjE5LCA0NCwgCi0gICAgMjEsIDEwNSwgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDE1OCwgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDE2MSwgMjE5LCAzNiwgCi0gICAgMjE5LCA0NCwgMjEsIDE4OSwgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDE5NCwgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDE5OCwgCi0gICAgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDE5NSwgMjE5LCAzNiwgMjE5LCA0NCwgMjEsIDIwMCwgMjUwLCAxNTEsIDUsIDI1MCwgCi0gICAgMjU1LCAyNTAsIDE1MSwgNSwgMjU0LCA3NSwgMjUwLCAxNTEsIDUsIDIxMywgMTQ3LCAyNTAsIDE1MSwgMSwgMjU1LCA3MywgCi0gICAgMjUwLCAxNTEsIDEsIDczLCAyNTAsIDE1MSwgMSwgNzAsIDI1MCwgMTUxLCAxLCA3NSwgMjUwLCAxNTEsIDEsIDIzNSwgMTAsIAotICAgIDI1MCwgMTUxLCAxLCAyMzQsIDEzMSwgMjUwLCAxNTEsIDEsIDI0MywgMTMyLCAyNTAsIDE1MSwgMSwgMjQyLCAyNDgsIDI1MCwgCi0gICAgMTUxLCAxLCAyMjksIDc2LCAyNTAsIDE1MSwgMSwgMjUxLCAzMiwgMjUwLCAxNTEsIDEsIDI1MCwgMTU2LCAyNTAsIDE1MSwgCi0gICAgMSwgMjM1LCAxNDAsIDI1MCwgMTUxLCAxLCAyMzUsIDExMywgMjUwLCAxNTEsIDEsIDIyNywgMTY0LCAyNTAsIDE1MSwgMSwgCi0gICAgMjE1LCAxNTUsIDI1MCwgMTUxLCAxLCAyMTUsIDE0MywgMjUwLCAxNTEsIDEsIDI0OCwgMTM0LCAyNTAsIDE1MSwgMSwgMjQ4LCAKLSAgICAxMTgsIDI1MCwgMTUxLCAxLCAyMjgsIDEwOSwgMjUwLCAxNTEsIDEsIDIxNywgMTAxLCAyNTAsIDE1MSwgMSwgMjE2LCAyMDcsIAotICAgIDI1MCwgMTUxLCAxLCAyNDgsIDIyMCwgMjUwLCAxNTEsIDEsIDI0OCwgMjQsIDI1MCwgMTUxLCAxLCAyMjksIDIyNSwgMjUwLCAKLSAgICAxNTEsIDEsIDIyNiwgODksIDI1MCwgMTUxLCAxLCAyMjUsIDE0NiwgMjUwLCAxNTEsIDEsIDI1MiwgMTg5LCAyNTAsIDE1MSwgCi0gICAgMSwgMjUyLCAxNywgMjUwLCAxNTEsIDEsIDIzMSwgMjM3LCAyNTAsIDE1MSwgMSwgMjEwLCAxNjcsIDI1MCwgMTUxLCAxLCAKLSAgICAyMTEsIDEwMywgMjUwLCAxNTEsIDEsIDIyMywgMTg0LCAyNTAsIDE1MSwgMSwgMjMzLCAxMzQsIDI1MCwgMTUxLCAxLCAyMTIsIAotICAgIDY0LCAyNTAsIDE1MSwgMSwgMjIyLCAzMSwgMjUwLCAxNTEsIDEsIDI0MiwgNDYsIDI1MCwgMTUxLCAyNSwgNSwgNjEsIDI1MCwgCi0gICAgMTUxLCAyNSwgNSwgNzMsIDI1MCwgMTUxLCAyNSwgNSwgMjM2LCAzMywgMjUwLCAxNTEsIDI1LCA1LCA3MCwgMjUwLCAxNTEsIAotICAgIDI1LCA1LCAyMTQsIDExOCwgMjUwLCAxNTEsIDI1LCA1LCA3NSwgMjUwLCAxNTEsIDI1LCA1LCAyNTQsIDIwMSwgMjUwLCAKLSAgICAxNTEsIDI1LCA1LCA3NiwgMjUwLCAxNTEsIDI1LCA1LCAyNTMsIDE5MiwgMjUwLCAxNTEsIDI1LCA1LCAyMjYsIDIxOSwgCi0gICAgMjUwLCAxNTEsIDE0NCwgNzgsIDI1MCwgMTUxLCAyNTMsIDE5MywgNzgsIDI1MCwgMTUxLCAyMTMsIDE1MiwgMjUwLCAxNTEsIAotICAgIDIzMSwgMjM1LCAyNTAsIDE1MSwgMjEsIDIxMCwgODYsIDI1MCwgMTUxLCAyMSwgMTEwLCAyNTAsIDE1MSwgMjEsIDEwNSwgCi0gICAgMjUwLCAxNTEsIDIxLCAxNTgsIDI1MCwgMTUxLCAyMSwgMTYxLCAyNTAsIDE1MSwgMjEsIDE4OSwgMjUwLCAxNTEsIDIxLCAKLSAgICAxOTQsIDI1MCwgMTUxLCAyMSwgMTk4LCAyNTAsIDE1MSwgMjEsIDE5NSwgMjUwLCAxNTEsIDIxLCAyMDAsIDI1MCwgMTUxLCAKLSAgICAyMjEsIDE3MywgNzgsIDI1MCwgMTUxLCAyNDgsIDE3OCwgMjUwLCAxNTEsIDUyLCAyNDgsIDE3OCwgMjUwLCAxNTEsIDIyNCwgCi0gICAgMTMsIDc4LCAxNzQsIDUsIDI1MCwgMjU1LCAxNzQsIDUsIDI1NCwgNzUsIDE3NCwgNSwgMjEzLCAxNDcsIDE3NCwgMSwgNjEsIAotICAgIDE3NCwgMSwgMjU1LCA3MywgMTc0LCAxLCA3MywgMTc0LCAxLCAyMzYsIDMzLCAxNzQsIDEsIDcwLCAxNzQsIDEsIDIxNCwgCi0gICAgMTE4LCAxNzQsIDEsIDE0OSwgMTUzLCAxNzQsIDEsIDE0OSwgMjIyLCAxODAsIDE3NCwgMSwgMTQ5LCAxNTYsIDE3NCwgMSwgCi0gICAgMTQ5LCAyMzIsIDE4NSwgMTc0LCAxLCA3NSwgMTc0LCAxLCAyNTQsIDIwMSwgMTc0LCAxLCA3NiwgMTc0LCAxLCAyNTMsIAotICAgIDE5MiwgMTc0LCAxLCAxNzYsIDE3NCwgMSwgMjM0LCAxMzIsIDE3NCwgMSwgMjQzLCAxMzUsIDE3NCwgMSwgMjQyLCAyNDksIAotICAgIDE3NCwgMSwgMjI5LCA3NywgMTc0LCAxLCAyNTEsIDMzLCAxNzQsIDEsIDI1MCwgMTU3LCAxNzQsIDEsIDIzNSwgMTQxLCAKLSAgICAxNzQsIDEsIDIzNSwgMTE0LCAxNzQsIDEsIDIyNywgMTY1LCAxNzQsIDEsIDIxNSwgMTU2LCAxNzQsIDEsIDIxNSwgMTQ0LCAKLSAgICAxNzQsIDEsIDI0OCwgMTM1LCAxNzQsIDEsIDI0OCwgMTE5LCAxNzQsIDEsIDIyOCwgMTEwLCAxNzQsIDEsIDIxNywgMTA1LCAKLSAgICAxNzQsIDEsIDIxNiwgMjA4LCAxNzQsIDEsIDI0OCwgMjIxLCAxNzQsIDEsIDI0OCwgMjUsIDE3NCwgMSwgMTk3LCAxNzQsIDEsIAotICAgIDE5MCwgMTc0LCAxLCAyMjUsIDE0NywgMTc0LCAxLCAyNTIsIDE5MSwgMTc0LCAxLCAyNTIsIDE4LCAxNzQsIDEsIDE4NCwgCi0gICAgMTc0LCAxLCAxOTEsIDE3NCwgMSwgMjA1LCAxNzQsIDEsIDIzMywgMTM1LCAxNzQsIDEsIDIzMiwgMTg0LCAxNzQsIDEsIAotICAgIDIxNCwgMjcsIDE3NCwgMSwgMjIwLCAxMDIsIDE3NCwgMSwgMjE4LCAyMjMsIDE3NCwgMSwgMjA2LCAxNzQsIDEsIDE2MiwgCi0gICAgMTc0LCAyNSwgNSwgMjU1LCA3MywgMTc0LCAyNSwgNSwgNzMsIDE3NCwgMjUsIDUsIDIzNiwgMzMsIDE3NCwgMjUsIDUsIDcwLCAKLSAgICAxNzQsIDI1LCA1LCAyMTQsIDExOCwgMTc0LCAyNSwgNSwgMTQ5LCAxNTMsIDE3NCwgMjUsIDUsIDE0OSwgMjIyLCAxODAsIAotICAgIDE3NCwgMjUsIDUsIDE0OSwgMTU2LCAxNzQsIDI1LCA1LCAxNDksIDIzMiwgMTg1LCAxNzQsIDI1LCA1LCA3NSwgMTc0LCAyNSwgCi0gICAgNSwgMjU0LCAyMDEsIDE3NCwgMjUsIDUsIDc2LCAxNzQsIDI1LCA1LCAyNTMsIDE5MiwgMTc0LCA1LCAyMTMsIDE1MiwgMTc0LCAKLSAgICA1LCAyNTMsIDE3NSwgMTc0LCA1LCAyMzUsIDEwMiwgMTc0LCA1LCAyMTQsIDE2MSwgMTc0LCAyMjYsIDIwNCwgMTc0LCAyNDgsIAotICAgIDE3OCwgMTc0LCA1MiwgMjQ4LCAxNzgsIDE3NCwgMjU1LCAyMSwgNTAsIDE3NCwgMjIwLCAxMzcsIDE3NCwgMjEsIDIxMCwgCisgICAgMTE4LCAyMSwgMTk1LCAxMTgsIDIxLCAyMDAsIDIzNCwgMjQ1LCA1LCAyNTEsIDAsIDIzNCwgMjQ1LCA1LCAyNTQsIDc2LCAKKyAgICAyMzQsIDI0NSwgNSwgMjEzLCAxNDcsIDIzNCwgMjQ1LCAxLCA2MSwgMjM0LCAyNDUsIDEsIDI1NSwgNzQsIDIzNCwgMjQ1LCAKKyAgICAxLCA3MywgMjM0LCAyNDUsIDEsIDIzNiwgMzQsIDIzNCwgMjQ1LCAxLCA3MCwgMjM0LCAyNDUsIDEsIDIxNCwgMTE4LCAyMzQsIAorICAgIDI0NSwgMSwgNzUsIDIzNCwgMjQ1LCAxLCAyNTQsIDIwMiwgMjM0LCAyNDUsIDEsIDc2LCAyMzQsIDI0NSwgMSwgMjUzLCAKKyAgICAxOTMsIDIzNCwgMjQ1LCAxLCAxNzYsIDIzNCwgMjQ1LCAxLCAyMzQsIDEzMywgMjM0LCAyNDUsIDEsIDI0MywgMTM2LCAyMzQsIAorICAgIDI0NSwgMSwgMjQyLCAyNTAsIDIzNCwgMjQ1LCAxLCAyMjksIDc4LCAyMzQsIDI0NSwgMSwgMjUxLCAzNCwgMjM0LCAyNDUsIAorICAgIDEsIDI1MCwgMTU4LCAyMzQsIDI0NSwgMSwgMjM1LCAxNDIsIDIzNCwgMjQ1LCAxLCAyMzUsIDExNSwgMjM0LCAyNDUsIDEsIAorICAgIDIyNywgMTY2LCAyMzQsIDI0NSwgMSwgMjE1LCAxNTcsIDIzNCwgMjQ1LCAxLCAyMTUsIDE0NSwgMjM0LCAyNDUsIDEsIDI0OCwgCisgICAgMTM2LCAyMzQsIDI0NSwgMSwgMjQ4LCAxMjUsIDIzNCwgMjQ1LCAxLCAyNDgsIDEyMCwgMjM0LCAyNDUsIDEsIDIyMywgNDAsIAorICAgIDIzNCwgMjQ1LCAxLCAyMjgsIDExMSwgMjM0LCAyNDUsIDEsIDIxNywgMTA2LCAyMzQsIDI0NSwgMSwgMjE2LCAyMDksIDIzNCwgCisgICAgMjQ1LCAxLCAyNDgsIDIyMiwgMjM0LCAyNDUsIDEsIDI0OCwgMjYsIDIzNCwgMjQ1LCAxLCAxOTcsIDIzNCwgMjQ1LCAxLCAKKyAgICAxOTAsIDIzNCwgMjQ1LCAxLCAyMjUsIDE0OCwgMjM0LCAyNDUsIDEsIDI1MiwgMTkyLCAyMzQsIDI0NSwgMSwgMjUyLCAxOSwgCisgICAgMjM0LCAyNDUsIDEsIDE4NSwgMjM0LCAyNDUsIDEsIDE5MSwgMjM0LCAyNDUsIDEsIDIwNSwgMjM0LCAyNDUsIDEsIDIzMywgCisgICAgMTM2LCAyMzQsIDI0NSwgMSwgMjE0LCAyNywgMjM0LCAyNDUsIDEsIDIyMCwgMTAzLCAyMzQsIDI0NSwgMSwgMjE4LCAyMjQsIAorICAgIDIzNCwgMjQ1LCAxLCAyMDYsIDIzNCwgMjQ1LCAxLCAxNjIsIDIzNCwgMjQ1LCAyNSwgNSwgMjU1LCA3NCwgMjM0LCAyNDUsIAorICAgIDI1LCA1LCA3MywgMjM0LCAyNDUsIDI1LCA1LCAyMzYsIDM0LCAyMzQsIDI0NSwgMjUsIDUsIDcwLCAyMzQsIDI0NSwgMjUsIAorICAgIDUsIDIxNCwgMTE4LCAyMzQsIDI0NSwgMjUsIDUsIDc1LCAyMzQsIDI0NSwgMjUsIDUsIDI1NCwgMjAyLCAyMzQsIDI0NSwgCisgICAgMjUsIDUsIDc2LCAyMzQsIDI0NSwgMjUsIDUsIDI1MywgMTkzLCAyMzQsIDI0NSwgNSwgMjEzLCAxNTIsIDIzNCwgMjQ1LCA1LCAKKyAgICAyMjcsIDIwNiwgMjM0LCAyNDUsIDI1NSwgMjIsIDUwLCAyMzQsIDI0NSwgMjQ1LCAxMjIsIDUwLCAyMzQsIDI0NSwgNTQsIAorICAgIDUwLCAyMzQsIDI0NSwgMjIxLCAxNzQsIDc4LCAyMzQsIDI0NSwgNTIsIDIyMSwgMTc0LCA3OCwgMjM0LCAyNDUsIDI0OCwgCisgICAgMTc5LCAyMzQsIDI0NSwgNTIsIDI0OCwgMTc5LCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMjIsIDE5LCAyMTksIDM3LCAyMTksIAorICAgIDQ1LCAxLCAyMTcsIDgxLCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyNTIsIDE2OSwgMjE5LCAzNywgMjE5LCA0NSwgMSwgMjUxLCAKKyAgICAyNCwgMjE5LCAzNywgMjE5LCA0NSwgMSwgMjQ4LCAyMDQsIDIxOSwgMzcsIDIxOSwgNDUsIDEsIDI0MywgMTIxLCAyMTksIAorICAgIDM3LCAyMTksIDQ1LCAxLCAyMzEsIDIxMSwgMjE5LCAzNywgMjE5LCA0NSwgMSwgMjI5LCA3NSwgMjE5LCAzNywgMjE5LCA0NSwgCisgICAgMSwgMjMzLCAxMTMsIDIxOSwgMzcsIDIxOSwgNDUsIDEsIDIyOSwgMjE0LCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMTQsIDI0LCAKKyAgICAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMjYsIDc0LCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMTEsIDg0LCAyMTksIDM3LCAyMTksIAorICAgIDQ1LCAxLCAyMjMsIDE2OSwgMjE5LCAzNywgMjE5LCA0NSwgMSwgMjQyLCAzOCwgMjE5LCAzNywgMjE5LCA0NSwgMSwgMjM0LCAKKyAgICAyNDksIDIxOSwgMzcsIDIxOSwgNDUsIDEsIDIzNSwgMTM3LCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMjcsIDE2MywgMjE5LCAKKyAgICAzNywgMjE5LCA0NSwgMSwgMjU0LCAyMTAsIDIxOSwgMzcsIDIxOSwgNDUsIDEsIDI0NSwgMjA4LCAyMTksIDM3LCAyMTksIAorICAgIDQ1LCAxLCAyMzYsIDM1LCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMTQsIDIwOCwgMjE5LCAzNywgMjE5LCA0NSwgMSwgMjI2LCAKKyAgICAyMjMsIDIxOSwgMzcsIDIxOSwgNDUsIDEsIDI0NSwgMTk4LCAyMTksIDM3LCAyMTksIDQ1LCAxLCAyMzEsIDIyNCwgMjE5LCAKKyAgICAzNywgMjE5LCA0NSwgMjEsIDIxMCwgODYsIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAxMTAsIDIxOSwgMzcsIDIxOSwgNDUsIAorICAgIDIxLCAxMDUsIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAxNTgsIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAxNjEsIDIxOSwgMzcsIAorICAgIDIxOSwgNDUsIDIxLCAxODksIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAxOTQsIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAxOTgsIAorICAgIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAxOTUsIDIxOSwgMzcsIDIxOSwgNDUsIDIxLCAyMDAsIDI1MCwgMTUyLCA1LCAyNTEsIAorICAgIDAsIDI1MCwgMTUyLCA1LCAyNTQsIDc2LCAyNTAsIDE1MiwgNSwgMjEzLCAxNDcsIDI1MCwgMTUyLCAxLCAyNTUsIDc0LCAKKyAgICAyNTAsIDE1MiwgMSwgNzMsIDI1MCwgMTUyLCAxLCA3MCwgMjUwLCAxNTIsIDEsIDc1LCAyNTAsIDE1MiwgMSwgMjM1LCAxMSwgCisgICAgMjUwLCAxNTIsIDEsIDIzNCwgMTMyLCAyNTAsIDE1MiwgMSwgMjQzLCAxMzMsIDI1MCwgMTUyLCAxLCAyNDIsIDI0OSwgMjUwLCAKKyAgICAxNTIsIDEsIDIyOSwgNzcsIDI1MCwgMTUyLCAxLCAyNTEsIDMzLCAyNTAsIDE1MiwgMSwgMjUwLCAxNTcsIDI1MCwgMTUyLCAKKyAgICAxLCAyMzUsIDE0MSwgMjUwLCAxNTIsIDEsIDIzNSwgMTE0LCAyNTAsIDE1MiwgMSwgMjI3LCAxNjUsIDI1MCwgMTUyLCAxLCAKKyAgICAyMTUsIDE1NiwgMjUwLCAxNTIsIDEsIDIxNSwgMTQ0LCAyNTAsIDE1MiwgMSwgMjQ4LCAxMzUsIDI1MCwgMTUyLCAxLCAyNDgsIAorICAgIDExOSwgMjUwLCAxNTIsIDEsIDIyOCwgMTEwLCAyNTAsIDE1MiwgMSwgMjE3LCAxMDIsIDI1MCwgMTUyLCAxLCAyMTYsIDIwOCwgCisgICAgMjUwLCAxNTIsIDEsIDI0OCwgMjIxLCAyNTAsIDE1MiwgMSwgMjQ4LCAyNSwgMjUwLCAxNTIsIDEsIDIyOSwgMjI2LCAyNTAsIAorICAgIDE1MiwgMSwgMjI2LCA5MCwgMjUwLCAxNTIsIDEsIDIyNSwgMTQ3LCAyNTAsIDE1MiwgMSwgMjUyLCAxOTAsIDI1MCwgMTUyLCAKKyAgICAxLCAyNTIsIDE4LCAyNTAsIDE1MiwgMSwgMjMxLCAyMzgsIDI1MCwgMTUyLCAxLCAyMTAsIDE2NywgMjUwLCAxNTIsIDEsIAorICAgIDIxMSwgMTAzLCAyNTAsIDE1MiwgMSwgMjIzLCAxODUsIDI1MCwgMTUyLCAxLCAyMzMsIDEzNSwgMjUwLCAxNTIsIDEsIDIxMiwgCisgICAgNjQsIDI1MCwgMTUyLCAxLCAyMjIsIDMyLCAyNTAsIDE1MiwgMSwgMjQyLCA0NywgMjUwLCAxNTIsIDI1LCA1LCA2MSwgMjUwLCAKKyAgICAxNTIsIDI1LCA1LCA3MywgMjUwLCAxNTIsIDI1LCA1LCAyMzYsIDM0LCAyNTAsIDE1MiwgMjUsIDUsIDcwLCAyNTAsIDE1MiwgCisgICAgMjUsIDUsIDIxNCwgMTE4LCAyNTAsIDE1MiwgMjUsIDUsIDc1LCAyNTAsIDE1MiwgMjUsIDUsIDI1NCwgMjAyLCAyNTAsIAorICAgIDE1MiwgMjUsIDUsIDc2LCAyNTAsIDE1MiwgMjUsIDUsIDI1MywgMTkzLCAyNTAsIDE1MiwgMjUsIDUsIDIyNiwgMjIwLCAKKyAgICAyNTAsIDE1MiwgMTQ0LCA3OCwgMjUwLCAxNTIsIDI1MywgMTk0LCA3OCwgMjUwLCAxNTIsIDIxMywgMTUyLCAyNTAsIDE1MiwgCisgICAgMjMxLCAyMzYsIDI1MCwgMTUyLCAyMSwgMjEwLCA4NiwgMjUwLCAxNTIsIDIxLCAxMTAsIDI1MCwgMTUyLCAyMSwgMTA1LCAKKyAgICAyNTAsIDE1MiwgMjEsIDE1OCwgMjUwLCAxNTIsIDIxLCAxNjEsIDI1MCwgMTUyLCAyMSwgMTg5LCAyNTAsIDE1MiwgMjEsIAorICAgIDE5NCwgMjUwLCAxNTIsIDIxLCAxOTgsIDI1MCwgMTUyLCAyMSwgMTk1LCAyNTAsIDE1MiwgMjEsIDIwMCwgMjUwLCAxNTIsIAorICAgIDIyMSwgMTc0LCA3OCwgMjUwLCAxNTIsIDI0OCwgMTc5LCAyNTAsIDE1MiwgNTIsIDI0OCwgMTc5LCAyNTAsIDE1MiwgMjI0LCAKKyAgICAxNCwgNzgsIDE3NCwgNSwgMjUxLCAwLCAxNzQsIDUsIDI1NCwgNzYsIDE3NCwgNSwgMjEzLCAxNDcsIDE3NCwgMSwgNjEsIAorICAgIDE3NCwgMSwgMjU1LCA3NCwgMTc0LCAxLCA3MywgMTc0LCAxLCAyMzYsIDM0LCAxNzQsIDEsIDcwLCAxNzQsIDEsIDIxNCwgCisgICAgMTE4LCAxNzQsIDEsIDE0OSwgMTUzLCAxNzQsIDEsIDE0OSwgMjIyLCAxODEsIDE3NCwgMSwgMTQ5LCAxNTYsIDE3NCwgMSwgCisgICAgMTQ5LCAyMzIsIDE4NiwgMTc0LCAxLCA3NSwgMTc0LCAxLCAyNTQsIDIwMiwgMTc0LCAxLCA3NiwgMTc0LCAxLCAyNTMsIAorICAgIDE5MywgMTc0LCAxLCAxNzYsIDE3NCwgMSwgMjM0LCAxMzMsIDE3NCwgMSwgMjQzLCAxMzYsIDE3NCwgMSwgMjQyLCAyNTAsIAorICAgIDE3NCwgMSwgMjI5LCA3OCwgMTc0LCAxLCAyNTEsIDM0LCAxNzQsIDEsIDI1MCwgMTU4LCAxNzQsIDEsIDIzNSwgMTQyLCAKKyAgICAxNzQsIDEsIDIzNSwgMTE1LCAxNzQsIDEsIDIyNywgMTY2LCAxNzQsIDEsIDIxNSwgMTU3LCAxNzQsIDEsIDIxNSwgMTQ1LCAKKyAgICAxNzQsIDEsIDI0OCwgMTM2LCAxNzQsIDEsIDI0OCwgMTIwLCAxNzQsIDEsIDIyOCwgMTExLCAxNzQsIDEsIDIxNywgMTA2LCAKKyAgICAxNzQsIDEsIDIxNiwgMjA5LCAxNzQsIDEsIDI0OCwgMjIyLCAxNzQsIDEsIDI0OCwgMjYsIDE3NCwgMSwgMTk3LCAxNzQsIDEsIAorICAgIDE5MCwgMTc0LCAxLCAyMjUsIDE0OCwgMTc0LCAxLCAyNTIsIDE5MiwgMTc0LCAxLCAyNTIsIDE5LCAxNzQsIDEsIDE4NSwgCisgICAgMTc0LCAxLCAxOTEsIDE3NCwgMSwgMjA1LCAxNzQsIDEsIDIzMywgMTM2LCAxNzQsIDEsIDIzMiwgMTg1LCAxNzQsIDEsIAorICAgIDIxNCwgMjcsIDE3NCwgMSwgMjIwLCAxMDMsIDE3NCwgMSwgMjE4LCAyMjQsIDE3NCwgMSwgMjA2LCAxNzQsIDEsIDE2MiwgCisgICAgMTc0LCAyNSwgNSwgMjU1LCA3NCwgMTc0LCAyNSwgNSwgNzMsIDE3NCwgMjUsIDUsIDIzNiwgMzQsIDE3NCwgMjUsIDUsIDcwLCAKKyAgICAxNzQsIDI1LCA1LCAyMTQsIDExOCwgMTc0LCAyNSwgNSwgMTQ5LCAxNTMsIDE3NCwgMjUsIDUsIDE0OSwgMjIyLCAxODEsIAorICAgIDE3NCwgMjUsIDUsIDE0OSwgMTU2LCAxNzQsIDI1LCA1LCAxNDksIDIzMiwgMTg2LCAxNzQsIDI1LCA1LCA3NSwgMTc0LCAyNSwgCisgICAgNSwgMjU0LCAyMDIsIDE3NCwgMjUsIDUsIDc2LCAxNzQsIDI1LCA1LCAyNTMsIDE5MywgMTc0LCA1LCAyMTMsIDE1MiwgMTc0LCAKKyAgICA1LCAyNTMsIDE3NiwgMTc0LCA1LCAyMzUsIDEwMywgMTc0LCA1LCAyMTQsIDE2MSwgMTc0LCAyMjYsIDIwNSwgMTc0LCAyNDgsIAorICAgIDE3OSwgMTc0LCA1MiwgMjQ4LCAxNzksIDE3NCwgMjU1LCAyMiwgNTAsIDE3NCwgMjIwLCAxMzgsIDE3NCwgMjEsIDIxMCwgCiAgICAgODYsIDE3NCwgMjEsIDExMCwgMTc0LCAyMSwgMTA1LCAxNzQsIDIxLCAxNTgsIDE3NCwgMjEsIDE2MSwgMTc0LCAyMSwgMTg5LCAKLSAgICAxNzQsIDIxLCAxOTQsIDE3NCwgMjEsIDE5OCwgMTc0LCAyMSwgMTk1LCAxNzQsIDIxLCAyMDAsIDIxNywgNjksIDEsIDYxLCAKLSAgICAyMTcsIDY5LCAxLCAyNTUsIDczLCAyMTcsIDY5LCAxLCA3MywgMjE3LCA2OSwgMSwgMjM2LCAzMywgMjE3LCA2OSwgMSwgNzAsIAotICAgIDIxNywgNjksIDEsIDIxNCwgMTE4LCAyMTcsIDY5LCAxLCA3NSwgMjE3LCA2OSwgMSwgMjU0LCAyMDEsIDIxNywgNjksIDEsIAotICAgIDc2LCAyMTcsIDY5LCAxLCAyNTMsIDE5MiwgMjE3LCA2OSwgMSwgMTc2LCAyMTcsIDY5LCAxLCAyMzQsIDEzMiwgMjE3LCA2OSwgCi0gICAgMSwgMjQzLCAxMzUsIDIxNywgNjksIDEsIDI0MiwgMjQ5LCAyMTcsIDY5LCAxLCAyMjksIDc3LCAyMTcsIDY5LCAxLCAyNTEsIAotICAgIDMzLCAyMTcsIDY5LCAxLCAyNTAsIDE1NywgMjE3LCA2OSwgMSwgMjM1LCAxNDEsIDIxNywgNjksIDEsIDIzNSwgMTE0LCAKLSAgICAyMTcsIDY5LCAxLCAyMjcsIDE2NSwgMjE3LCA2OSwgMSwgMjE1LCAxNTYsIDIxNywgNjksIDEsIDIxNSwgMTQ0LCAyMTcsIAotICAgIDY5LCAxLCAyNDgsIDEzNSwgMjE3LCA2OSwgMSwgMjQ4LCAxMTksIDIxNywgNjksIDEsIDIyOCwgMTEwLCAyMTcsIDY5LCAxLCAKLSAgICAyMTcsIDEwNSwgMjE3LCA2OSwgMSwgMjE2LCAyMDgsIDIxNywgNjksIDEsIDI0OCwgMjIxLCAyMTcsIDY5LCAxLCAyNDgsIAotICAgIDI1LCAyMTcsIDY5LCAxLCAxOTcsIDIxNywgNjksIDEsIDE5MCwgMjE3LCA2OSwgMSwgMjI1LCAxNDcsIDIxNywgNjksIDEsIAotICAgIDI1MiwgMTkxLCAyMTcsIDY5LCAxLCAyNTIsIDE4LCAyMTcsIDY5LCAxLCAxODQsIDIxNywgNjksIDEsIDE5MSwgMjE3LCA2OSwgCi0gICAgMSwgMjA1LCAyMTcsIDY5LCAxLCAyMzMsIDEzNSwgMjE3LCA2OSwgMSwgMjE0LCAyNywgMjE3LCA2OSwgMSwgMjIwLCAxMDIsIAotICAgIDIxNywgNjksIDEsIDIwNiwgMjE3LCA2OSwgMSwgMTYyLCAyMTcsIDY5LCAxLCAyMjIsIDE3OSwgMjE3LCA2OSwgNSwgMjU0LCAKLSAgICA3NSwgMjE3LCA2OSwgNSwgMjEzLCAxNDcsIDIxNywgNjksIDI1LCA1LCAyNTUsIDczLCAyMTcsIDY5LCAyNSwgNSwgNzMsIAotICAgIDIxNywgNjksIDI1LCA1LCAyMzYsIDMzLCAyMTcsIDY5LCAyNSwgNSwgNzAsIDIxNywgNjksIDI1LCA1LCAyMTQsIDExOCwgCi0gICAgMjE3LCA2OSwgMjUsIDUsIDc1LCAyMTcsIDY5LCAyNSwgNSwgMjU0LCAyMDEsIDIxNywgNjksIDI1LCA1LCA3NiwgMjE3LCAKLSAgICA2OSwgMjUsIDUsIDI1MywgMTkyLCAyMTcsIDY5LCA1LCAyMTMsIDE1MiwgMjE3LCA2OSwgNSwgMjI3LCAyMDUsIDIxNywgNjksIAotICAgIDIxLCAyMTAsIDg2LCAyMTcsIDY5LCAyMSwgMTEwLCAyMTcsIDY5LCAyMSwgMTA1LCAyMTcsIDY5LCAyMSwgMTU4LCAyMTcsIAotICAgIDY5LCAyMSwgMTYxLCAyMTcsIDY5LCAyMSwgMTg5LCAyMTcsIDY5LCAyMSwgMTk0LCAyMTcsIDY5LCAyMSwgMTk4LCAyMTcsIAotICAgIDY5LCAyMSwgMTk1LCAyMTcsIDY5LCAyMSwgMjAwLCAxNSwgNSwgNjEsIDE1LCA1LCAxMTUsIDMwLCA2MSwgMTUsIDUsIDExNSwgCi0gICAgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMTE1LCAzMCwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMTE1LCAzMCwgMTYyLCAKLSAgICAxNSwgNSwgMTE1LCAzMCwgMjM2LCAzNSwgMTUsIDUsIDExNSwgMzAsIDIzMywgMTE2LCAyNDIsIDk0LCAxNSwgNSwgMTE1LCAKLSAgICAzMCwgMjMwLCA2MSwgMTUsIDUsIDExNSwgMzAsIDIyMiwgMjEsIDE1LCA1LCAyNTUsIDc1LCAxNSwgNSwgMjU1LCAyNSwgMTUsIAotICAgIDUsIDI1NSwgMjYsIDMwLCAyNTMsIDIyOSwgMTUsIDUsIDI1NSwgMjYsIDMwLCAyNDYsIDY3LCAyNDIsIDk0LCAxNSwgNSwgCi0gICAgMjU1LCAyNiwgMzAsIDI0MywgMTE4LCAxNSwgNSwgMjU1LCAyNiwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIAotICAgIDI1NSwgMjYsIDMwLCAxNjIsIDE1LCA1LCAyNTUsIDI2LCAzMCwgMjM2LCAzNiwgMjQyLCA5NCwgMTUsIDUsIDI1NSwgMjYsIAotICAgIDMwLCAyMzYsIDksIDE1LCA1LCAyNTUsIDI2LCAzMCwgMjMzLCAxMTcsIDE1LCA1LCAyNTUsIDI2LCAzMCwgMjIwLCA0OCwgCi0gICAgMTUsIDUsIDI1NSwgMjYsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCA3MCwgMTUsIDUsIDI1NSwgMjYsIDI0MiwgOTQsIDE1LCA1LCAKLSAgICAyNTUsIDIzLCAxNSwgNSwgMjU1LCAyNCwgMzAsIDI1MiwgMTYwLCAxNSwgNSwgMjU1LCAyNCwgMzAsIDI0MywgMTA1LCAyMTYsIAotICAgIDIzOSwgMTUsIDUsIDI1NSwgMjQsIDMwLCAyMzEsIDkyLCA5NiwgMjQ1LCAxNTAsIDE1LCA1LCAyNTUsIDI0LCAzMCwgMjIwLCAKLSAgICAxMDAsIDE1LCA1LCAyNTUsIDI0LCAzMCwgMjE3LCA3MiwgMTUsIDUsIDI1NCwgMjU1LCAxNSwgNSwgMjU0LCAxODYsIDE1LCAKLSAgICA1LCAyNTQsIDE4NywgMzAsIDI0NSwgODcsIDE1LCA1LCAyNTQsIDE4NywgMzAsIDIyMCwgMTAsIDk2LCAyNDIsIDE5MCwgMTUsIAotICAgIDUsIDI1NCwgMTc4LCAxNSwgNSwgMjU0LCAxNzksIDMwLCAyNTQsIDE3OCwgMTUsIDUsIDI1NCwgMTc5LCAzMCwgMjQ3LCAKLSAgICAyMTYsIDE1LCA1LCAyNTQsIDE3OSwgMzAsIDI0MiwgMTkwLCAxNSwgNSwgMjU0LCAxNzksIDMwLCAxNjIsIDE1LCA1LCAyNTQsIAotICAgIDE3OSwgMzAsIDIzNCwgMjU1LCAxNSwgNSwgMjU0LCAxNzksIDMwLCAyMzQsIDkyLCAxNSwgNSwgMjU0LCAxNzksIDMwLCAKLSAgICAyMjAsIDYzLCAxNSwgNSwgMjU0LCAxNzksIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDI1NCwgMTc1LCAxNSwgNSwgMjU0LCAxNjgsIAotICAgIDE1LCA1LCAyNTQsIDEzMiwgMTUsIDUsIDI1NCwgMTMzLCAzMCwgMjIwLCA2MywgMTUsIDUsIDI1NCwgMTIzLCAxNSwgNSwgCi0gICAgMjU0LCAxMjQsIDExNywgMjU0LCAxMjMsIDE1LCA1LCAyNTQsIDEyNCwgMTM0LCAyMTYsIDg1LCAxNSwgNSwgMjU0LCAxMjQsIAotICAgIDk2LCAyMjksIDIxNywgMjI2LCAxNjQsIDI1NCwgMTI0LCA5NiwgMjI5LCAyMTYsIDE1LCA1LCAyNTQsIDEyNCwgOTYsIDIyOSwgCi0gICAgMjE3LCAyMTgsIDIzMywgMTUsIDUsIDI1NCwgOTQsIDE1LCA1LCAyNTQsIDY3LCAxNSwgNSwgMjU0LCAzNSwgMTUsIDUsIAotICAgIDI1NCwgMzYsIDMwLCAyMzMsIDE5NiwgMTUsIDUsIDI1NCwgOCwgMTUsIDUsIDI1MywgMjM2LCAxNSwgNSwgMjUzLCAyMzEsIAotICAgIDE1LCA1LCAyNTMsIDIzMiwgMjEwLCA0MCwgMjE2LCAyMzksIDE1LCA1LCAyNTMsIDIzMiwgMjM1LCAzLCAyMTYsIDIzOSwgCi0gICAgMTUsIDUsIDI1MywgMjMyLCAxMTcsIDI1MywgMjMyLCAyMTUsIDExNCwgMTE3LCAyMTUsIDExNCwgMjE1LCAxMTQsIDExNywgCi0gICAgMjE1LCAxMTQsIDIyNiwgMjEsIDE1LCA1LCAyNTMsIDIzMiwgMTE3LCAyNTMsIDIzMiwgMTE3LCAyNTMsIDIzMSwgMTUsIDUsIAotICAgIDI1MywgMjMyLCAxMTcsIDI1MywgMjMyLCAxMTcsIDI1MywgMjMyLCAyNDksIDEyNSwgMjUzLCAyMzIsIDExNywgMjUzLCAKLSAgICAyMzIsIDExNywgMjUzLCAyMzEsIDE1LCA1LCAyNTMsIDIyOSwgMTUsIDUsIDI1MywgMjI2LCAxNSwgNSwgMjUyLCAxOTEsIAotICAgIDE1LCA1LCAyNTIsIDE3NiwgMTUsIDUsIDI1MiwgMTcxLCAxNSwgNSwgMjUyLCAxNjcsIDE1LCA1LCAyNTIsIDE2MSwgMTUsIAotICAgIDUsIDI1MiwgMTYyLCAxMTcsIDI1MiwgMTYxLCAxNSwgNSwgMjUyLCAxNjAsIDE1LCA1LCAxMzAsIDE1LCA1LCAyNTIsIDE0MCwgCi0gICAgMTUsIDUsIDI1MiwgNiwgMTUsIDUsIDI1MiwgNywgMzAsIDYxLCAxNSwgNSwgMjUyLCA3LCAzMCwgMjQzLCA5NiwgMTUsIDUsIAotICAgIDI1MiwgNywgMzAsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAyNTEsIDEyNSwgMTUsIDUsIDI1MSwgMTI2LCAxMTcsIDI1MSwgCi0gICAgMTI2LCAyNTUsIDI1LCAxNSwgNSwgMjUxLCAxMjYsIDExNywgMjUxLCAxMjYsIDIxNCwgMTkwLCAxNSwgNSwgMjUxLCAxMjYsIAotICAgIDI0OSwgMTI1LCAyNTEsIDEyNSwgMTUsIDUsIDI1MSwgMTA5LCAxNSwgNSwgMjUxLCAxMTAsIDExNywgMjUxLCAxMDksIDE1LCAKLSAgICA1LCAyNTEsIDk4LCAxNSwgNSwgMjUxLCA5NywgMTUsIDUsIDI0OCwgMjIxLCAxNSwgNSwgMjQ4LCAyMTIsIDE1LCA1LCAyNDgsIAotICAgIDIxMywgMjM0LCA2NiwgMzAsIDExNSwgOTYsIDIzMSwgMTQ3LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyNTQsIAotICAgIDEzMiwgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjUyLCAxNjAsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgCi0gICAgMzAsIDI1MiwgNiwgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjQzLCAxMzUsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCAKLSAgICA2NiwgMzAsIDI0MywgMTM2LCA5NiwgMjMxLCAxNDcsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDI0MiwgMjE0LCAKLSAgICAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyNDIsIDE5NywgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgCi0gICAgMjQyLCAxMDMsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDE2MiwgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAKLSAgICAzMCwgMjM1LCAxNzksIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIzNSwgMTgwLCA5NiwgMjMyLCA5OCwgMTUsIDUsIAotICAgIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjM0LCAyNDIsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIzMywgMTM1LCAKLSAgICAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMzIsIDk4LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMzIsIAotICAgIDk5LCA5NiwgMjMxLCAxNDYsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIzMiwgODQsIDE1LCA1LCAyNDgsIDIxMywgCi0gICAgMjM0LCA2NiwgMzAsIDIyOSwgMTA3LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMjYsIDIyLCA5NiwgMjI2LCAKLSAgICAyMSwgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjE5LCAxOTEsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIAotICAgIDIxNywgNzIsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIxNCwgMjMxLCA5NiwgMjQyLCAxOTcsIDE1LCA1LCAKLSAgICAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjQ4LCAxODcsIDE1LCA1LCAyNDgsIDE2NiwgMTUsIDUsIAotICAgIDI0OCwgMTY1LCAxNSwgNSwgMjQ4LCAxNjQsIDE1LCA1LCAyNDgsIDMsIDE1LCA1LCAyNDcsIDI0MiwgMTUsIDUsIDI0NywgCi0gICAgMjE3LCAxNSwgNSwgMjQ3LCAyMTgsIDMwLCAyMjAsIDYzLCAxNSwgNSwgMjQ3LCAyMTYsIDE1LCA1LCAyNDcsIDIwNiwgMTUsIAotICAgIDUsIDI0NywgMjA3LCAyMzQsIDIwOCwgMTA0LCAyNDIsIDk1LCAyNDcsIDE4NywgMTUsIDUsIDI0NywgMTg3LCAxNSwgNSwgCi0gICAgMjQ2LCA3OCwgMTUsIDUsIDI0NiwgNzksIDExNywgMjQ2LCA3OCwgMTUsIDUsIDI0NiwgNzksIDI0MiwgOTQsIDE1LCA1LCAKLSAgICAyNDYsIDc5LCAyMjAsIDQ1LCAxNSwgNSwgMjQ2LCA3NiwgMTUsIDUsIDI0NiwgNzcsIDMwLCAyNDUsIDcyLCAxNSwgNSwgCi0gICAgMjQ2LCA3NSwgMTUsIDUsIDI0NiwgNzQsIDE1LCA1LCAyNDYsIDczLCAxNSwgNSwgMjQ2LCA3MiwgMTUsIDUsIDI0NiwgNjgsIAotICAgIDE1LCA1LCAyNDYsIDY2LCAxNSwgNSwgMjQ2LCA2NywgMjQyLCA5NCwgMTUsIDUsIDI0NiwgNjcsIDI0MiwgOTUsIDI0MiwgCi0gICAgOTQsIDE1LCA1LCAyNDYsIDY1LCAxNSwgNSwgMjQ2LCA1OCwgMTUsIDUsIDc1LCAxNSwgNSwgMTYwLCAzMCwgMjI2LCAyMSwgCi0gICAgMTUsIDUsIDE2MCwgMTE3LCAxNjAsIDIyNywgMTk1LCAxMTcsIDIyNywgMTk0LCAxNSwgNSwgMjQ1LCAyMzQsIDE1LCA1LCAKLSAgICAyNDUsIDIzNSwgMzAsIDExNSwgOTYsIDI0MiwgNDksIDk2LCAyNDgsIDIyMSwgMTUsIDUsIDI0NSwgMjM1LCAzMCwgMjQzLCAKLSAgICA5NiwgMTUsIDUsIDI0NSwgMjM1LCAzMCwgMjMwLCAyMzAsIDE1LCA1LCAyNDUsIDIzNSwgMzAsIDIyMiwgOCwgMTUsIDUsIAotICAgIDI0NSwgMjM1LCAzMCwgMjIwLCA2MywgMTUsIDUsIDI0NSwgMjM1LCAzMCwgNzAsIDE1LCA1LCAyNDUsIDIxMSwgMTUsIDUsIAotICAgIDI0NSwgMjAwLCAxNSwgNSwgMjQ1LCAxNzQsIDE1LCA1LCAyNDUsIDE1MCwgMTUsIDUsIDI0NSwgMTUxLCAzMCwgMjQzLCAKLSAgICAxMDQsIDE1LCA1LCAyNDUsIDE1MSwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDI0NSwgMTUxLCAzMCwgMjMxLCAKLSAgICA5MSwgMTUsIDUsIDI0NSwgMTUxLCAyNDksIDEyNSwgMjQ1LCAxNTAsIDE1LCA1LCAyNDUsIDE1MSwgMjI2LCAxNjQsIDI0NSwgCi0gICAgMTUwLCAxNSwgNSwgMjQ1LCAxNTEsIDIxOCwgMjMzLCAxNSwgNSwgMjQ1LCA4OSwgMTUsIDUsIDI0NSwgODcsIDE1LCA1LCAKLSAgICAyNDUsIDcyLCAxNSwgNSwgMjQ1LCAxMCwgMTUsIDUsIDI0NSwgMTEsIDMwLCA2MSwgMTUsIDUsIDI0NSwgMTEsIDMwLCAxMTUsIAotICAgIDk2LCAyMzMsIDEwNCwgMTUsIDUsIDI0NSwgMTEsIDMwLCAxMTUsIDk2LCAyMzMsIDEwNSwgMzAsIDIzMywgMTA0LCAxNSwgNSwgCi0gICAgMjQ1LCAxMSwgMzAsIDI1NCwgMTIzLCAxNSwgNSwgMjQ1LCAxMSwgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjQ1LCAxMSwgMzAsIAotICAgIDI0NiwgNjcsIDI0MiwgOTQsIDE1LCA1LCAyNDUsIDExLCAzMCwgMjQ2LCA2NywgMjQyLCA5NSwgMjQyLCA5NCwgMTUsIDUsIAotICAgIDI0NSwgMTEsIDMwLCAxNjIsIDE1LCA1LCAyNDUsIDExLCAzMCwgMjQyLCA0OSwgMjQyLCA5NCwgMTUsIDUsIDI0NSwgMTEsIAotICAgIDMwLCAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjQ1LCAxMSwgMzAsIDIzNCwgMjA3LCAxNSwgNSwgMjQ1LCAxMSwgMzAsIAotICAgIDIzNCwgMjA4LCAyMTgsIDIzMywgMTUsIDUsIDI0NSwgMTEsIDMwLCAyMzMsIDIxNSwgMTUsIDUsIDI0NSwgMTEsIDMwLCAKLSAgICAyMzMsIDEzNSwgMTUsIDUsIDI0NSwgMTEsIDMwLCAyMzMsIDEwNSwgMzAsIDIzMywgMTA0LCAxNSwgNSwgMjQ1LCAxMSwgMzAsIAotICAgIDIzMiwgMjQxLCAxNSwgNSwgMjQ1LCAxMSwgMzAsIDIzMiwgOTgsIDE1LCA1LCAyNDUsIDExLCAzMCwgMjE0LCAyMzAsIDE1LCAKLSAgICA1LCAyNDUsIDExLCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyNDMsIDEzNSwgMTUsIDUsIDI0MywgMTM2LCAyNDIsIDk0LCAxNSwgCi0gICAgNSwgMjQzLCAxMzMsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDExNSwgOTYsIDI0OCwgMjIyLCA5NiwgMTYyLCAxNSwgNSwgMjQzLCAKLSAgICAxMzQsIDMwLCAxMTUsIDk2LCAxNjIsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDExNSwgOTYsIDIzNiwgMzUsIDE1LCA1LCAyNDMsIAotICAgIDEzNCwgMzAsIDI1NSwgMjQsIDIxNiwgMjQwLCA5NiwgMjE3LCA5MywgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjU0LCAxMjMsIAotICAgIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI1MywgMjMxLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNTMsIDIzMCwgOTYsIDI0MywgCi0gICAgMTE4LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjUyLCAxNDEsIDk2LCAKLSAgICAyMDUsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI1MSwgOTgsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI1MSwgOTksIDk2LCAyMDUsIAotICAgIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0OCwgMjIxLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDgsIDMsIDE1LCA1LCAyNDMsIAotICAgIDEzNCwgMzAsIDI0NywgMjE4LCAzMCwgMjIwLCA2MywgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQ2LCA3NiwgMTUsIDUsIDI0MywgCi0gICAgMTM0LCAzMCwgMjQ1LCAxNzQsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0NSwgMTc1LCA5NiwgMjMzLCAxMzUsIDE1LCA1LCAKLSAgICAyNDMsIDEzNCwgMzAsIDI0NSwgMTUwLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDUsIDE1MSwgMzAsIDI0MywgMTA1LCAyMTYsIAotICAgIDIzOSwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDMsIAotICAgIDk2LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDIsIDIxNCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQyLCAyMTIsIDE1LCA1LCAKLSAgICAyNDMsIDEzNCwgMzAsIDI0MiwgMjEzLCA5NiwgNjEsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0MiwgMTk4LCA5NiwgMjE4LCAKLSAgICA4MywgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQyLCA0OSwgOTYsIDIzMiwgOTksIDk2LCAyNDUsIDcyLCAxNSwgNSwgMjQzLCAKLSAgICAxMzQsIDMwLCAyNDIsIDMwLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDIsIDMxLCA5NiwgMjMzLCAxMzUsIDE1LCA1LCAyNDMsIAotICAgIDEzNCwgMzAsIDI0MSwgMTgxLCA5NiwgMjMyLCAyNDEsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0MCwgMjE4LCAxNSwgNSwgCi0gICAgMjQzLCAxMzQsIDMwLCAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMzUsIDE2NiwgOTYsIDI0MCwgCi0gICAgMjIzLCA5NiwgMjUzLCAyMzEsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIzNCwgMjQyLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAKLSAgICAyMzQsIDIwNywgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjM0LCA4OSwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjM0LCA5MCwgOTYsIAotICAgIDIzMywgMTA0LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMzMsIDIxNiwgOTYsIDI1NCwgMTIzLCAxNSwgNSwgMjQzLCAxMzQsIAotICAgIDMwLCAyMzMsIDEzNSwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjMxLCA5MiwgOTYsIDI0NSwgMTUwLCAxNSwgNSwgMjQzLCAKLSAgICAxMzQsIDMwLCAyMzAsIDIzMCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjI3LCAxOTQsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIAotICAgIDIyNywgMTk1LCAxMTcsIDIyNywgMTk0LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAxOTAsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIAotICAgIDIyMiwgOCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjIxLCAyMzEsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIyMCwgNjMsIDE1LCAKLSAgICA1LCAyNDMsIDEzNCwgMzAsIDIyMCwgNjQsIDk2LCAyMTUsIDk4LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMjAsIDMwLCAxNSwgCi0gICAgNSwgMjQzLCAxMzQsIDMwLCAyMTgsIDQzLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMTcsIDcyLCAxNSwgNSwgMjQzLCAxMzQsIAotICAgIDMwLCA3MCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIxNCwgMjIwLCA5NiwgCi0gICAgMjQ2LCA3OCwgMTUsIDUsIDI0MywgMTM0LCAxMTcsIDI0MywgMTMzLCAxNSwgNSwgMjQzLCAxMjgsIDE1LCA1LCAyNDMsIAotICAgIDEyOSwgMjQ5LCAxMjUsIDI0MywgMTI4LCAxNSwgNSwgMjQzLCAxMjYsIDE1LCA1LCAyNDMsIDEyNywgMTE3LCAyNDMsIDEyNywgCi0gICAgMjQzLCA5NywgMTE3LCAyNDMsIDk2LCAxNSwgNSwgMjQzLCAxMTgsIDE1LCA1LCAyNDMsIDExOSwgMjQzLCAxMjcsIDExNywgCi0gICAgMjQzLCAxMjcsIDI0MywgOTcsIDExNywgMjQzLCA5NiwgMTUsIDUsIDI0MywgMTE3LCAxNSwgNSwgMjQzLCAxMTUsIDE1LCA1LCAKLSAgICAyNDMsIDEwNiwgMTUsIDUsIDI0MywgMTA0LCAxNSwgNSwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjQzLCAxMDUsIAotICAgIDExNywgMjQzLCAxMDQsIDE1LCA1LCAyNDMsIDEwNSwgMjQ5LCAxMjUsIDI0MywgMTA0LCAxNSwgNSwgMjQzLCA5NiwgMTUsIAotICAgIDUsIDI0MywgOTUsIDE1LCA1LCAyNDMsIDkwLCAxNSwgNSwgMjQzLCAzNiwgMTUsIDUsIDI0MywgMzcsIDMwLCAyMzMsIDE5NiwgCi0gICAgMTUsIDUsIDI0MiwgMjE0LCAxNSwgNSwgMjQyLCAyMTUsIDMwLCA3NSwgMTUsIDUsIDI0MiwgMjE1LCAzMCwgNzAsIDE1LCA1LCAKLSAgICAyNDIsIDIxNSwgMjQ5LCAxMjUsIDI0MiwgMjE0LCAxNSwgNSwgMjQyLCAyMTIsIDE1LCA1LCAyNDIsIDIxMywgMTE3LCAyNDIsIAotICAgIDIxMiwgMTUsIDUsIDI0MiwgMjEzLCAyNDksIDEyNSwgMjQyLCAyMTIsIDE1LCA1LCAyNDIsIDIwOSwgMTUsIDUsIDI0MiwgCi0gICAgMTk3LCAxNSwgNSwgMjQyLCAxOTgsIDI0MiwgOTQsIDE1LCA1LCAyNDIsIDE5NSwgMTUsIDUsIDI0MiwgMTk2LCAzMCwgMTE1LCAKLSAgICA5NiwgMjM2LCAzNSwgMTUsIDUsIDI0MiwgMTk2LCAzMCwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjQyLCAxOTYsIAotICAgIDMwLCAyMzYsIDM1LCAxNSwgNSwgMjQyLCAxOTYsIDMwLCAyMzIsIDk5LCA5NiwgMjM2LCAzNSwgMTUsIDUsIDI0MiwgMTk2LCAKLSAgICAzMCwgMTkwLCAxNSwgNSwgMjQyLCAxOTIsIDE1LCA1LCAyNDIsIDE5MCwgMTUsIDUsIDI0MiwgMTkxLCAyNDksIDEyNSwgCi0gICAgMjQyLCAxOTAsIDE1LCA1LCAyNDIsIDE5MSwgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjQyLCAxOTEsIDMwLCAyMTcsIDcyLCAKLSAgICAxNSwgNSwgMjQyLCAxOTEsIDIxNiwgMjM5LCAxNSwgNSwgMjQyLCAxMTMsIDE1LCA1LCAyNDIsIDExNCwgMjQ5LCAxMjUsIAotICAgIDI0MiwgMTEzLCAxNSwgNSwgMjQyLCAxMTEsIDE1LCA1LCAyNDIsIDExMiwgMzAsIDIzNCwgMjQyLCAxNSwgNSwgMjQyLCAKLSAgICAxMTIsIDMwLCAyMzQsIDI0MywgMzAsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAyNDIsIDExMiwgMzAsIDIyNywgMTk0LCAKLSAgICAxNSwgNSwgMjQyLCAxMTIsIDMwLCAyMjIsIDksIDk2LCAyMTUsIDExMywgMTUsIDUsIDI0MiwgMTEyLCAyNDIsIDk0LCAxNSwgCi0gICAgNSwgMjQyLCAxMDMsIDE1LCA1LCAyNDIsIDEwNCwgMzAsIDExNSwgOTYsIDIzMywgMTk2LCAxNSwgNSwgMjQyLCAxMDQsIDMwLCAKLSAgICAyMzMsIDE5NiwgMTUsIDUsIDI0MiwgMTA0LCAxMTcsIDI0MiwgMTA0LCAyMzIsIDkxLCAxNSwgNSwgMjQyLCA5OCwgMTUsIDUsIAotICAgIDI0MiwgOTYsIDE1LCA1LCAyNDIsIDk3LCAzMCwgMjIwLCA2MywgMTUsIDUsIDI0MiwgODgsIDE1LCA1LCAyNDIsIDg3LCAxNSwgCi0gICAgNSwgMjQyLCA4NCwgMTUsIDUsIDI0MiwgODMsIDE1LCA1LCAxNjIsIDE1LCA1LCAyNDIsIDQ5LCAyMTYsIDIzOSwgMTUsIDUsIAotICAgIDI0MiwgNDksIDI0MiwgOTQsIDE1LCA1LCAyNDIsIDMwLCAxNSwgNSwgMjQxLCAxODAsIDE1LCA1LCAyNDEsIDE4MSwgMzAsIAotICAgIDI1MywgMjMxLCAxNSwgNSwgMjQxLCAxODEsIDMwLCAyNTMsIDIyOSwgMTUsIDUsIDI0MSwgMTgxLCAzMCwgMjUyLCAxNzYsIAotICAgIDE1LCA1LCAyNDEsIDE4MSwgMzAsIDI0NywgMTg3LCAxNSwgNSwgMjQxLCAxODEsIDMwLCAyNDMsIDEyNiwgMTUsIDUsIDI0MSwgCi0gICAgMTgxLCAzMCwgMjM0LCA4MSwgMTUsIDUsIDI0MSwgMTgxLCAzMCwgMjI3LCAxOTQsIDE1LCA1LCAyNDEsIDE4MSwgMzAsIAotICAgIDIyMCwgNjMsIDE1LCA1LCAyNDEsIDE4MSwgMzAsIDcwLCAxNSwgNSwgMjQwLCAyMjIsIDE1LCA1LCAyNDAsIDIxOCwgMTUsIAotICAgIDUsIDI0MCwgMjE5LCAzMCwgMjU0LCAxMjMsIDE1LCA1LCAyNDAsIDIxOSwgMzAsIDI0MiwgMzAsIDE1LCA1LCAyNDAsIDIxOSwgCi0gICAgMzAsIDIzNCwgMjA3LCAxNSwgNSwgMjQwLCAyMTksIDMwLCAyMzIsIDE5NywgMTUsIDUsIDI0MCwgMjE5LCAzMCwgMjE0LCAKLSAgICAyMTksIDE1LCA1LCAyNDAsIDIxNSwgMTUsIDUsIDczLCAxNSwgNSwgMjQwLCAxNTQsIDYxLCAxNSwgNSwgMjQwLCAxMTUsIAotICAgIDE1LCA1LCAyMzYsIDYzLCAxNSwgNSwgMjM2LCA2NCwgMTE3LCAyMzYsIDY0LCAyNTEsIDk4LCAxNSwgNSwgMjM2LCA2NCwgCi0gICAgMTE3LCAyMzYsIDY0LCAyMTgsIDIzMywgMTUsIDUsIDIzNiwgMzgsIDE1LCA1LCAyMzYsIDM1LCAxNSwgNSwgMjM2LCAzNiwgCi0gICAgMjQ3LCAyNDIsIDE1LCA1LCAyMzYsIDM2LCAyMjMsIDM1LCAxNSwgNSwgMjM2LCAzNiwgMTE3LCAyMzYsIDM2LCAyMjAsIDE0LCAKLSAgICAxMTcsIDIyMCwgMTQsIDIxNCwgMjIwLCAxMTcsIDIxNCwgMjE5LCAxNSwgNSwgMjM2LCAzNiwgMjQyLCA5NCwgMTUsIDUsIAotICAgIDIzNiwgMjcsIDE1LCA1LCAyMzYsIDI4LCAzMCwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjM2LCAyNiwgMTUsIDUsIAotICAgIDIzNiwgMTYsIDE1LCA1LCAyMzYsIDE3LCAzMCwgMjE3LCA3MiwgMTUsIDUsIDIzNiwgMTcsIDI0OSwgMTI1LCAyMzYsIDE2LCAKLSAgICAxNSwgNSwgMjM2LCAxNywgMjI2LCAxNjQsIDIzNiwgMTYsIDE1LCA1LCAyMzYsIDE3LCAyMTgsIDIzMywgMTUsIDUsIDIzNiwgCi0gICAgOSwgMTUsIDUsIDIzNSwgMjU1LCAxNSwgNSwgMjM1LCAxNzksIDE1LCA1LCAyMzUsIDE2NSwgMTUsIDUsIDE3NiwgMTUsIDUsIAotICAgIDIzNSwgMTMsIDMwLCA2MSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNTQsIDI1NSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNTUsIAotICAgIDAsIDk2LCAyMzMsIDIxNSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNTMsIDIyOSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNTIsIAotICAgIDE3NiwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNTIsIDE2MCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAxMzAsIDE1LCA1LCAyMzUsIAotICAgIDEzLCAzMCwgMjUyLCA2LCAxNSwgNSwgMjM1LCAxMywgMzAsIDI0NSwgODcsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQ1LCA3MiwgCi0gICAgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNDMsIDEzNSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNDMsIDExOCwgMTUsIDUsIDIzNSwgCi0gICAgMTMsIDMwLCAyNDMsIDEwNSwgMjE2LCAyMzksIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQzLCA5NiwgMTUsIDUsIDIzNSwgMTMsIAotICAgIDMwLCAyNDMsIDk3LCA5NiwgMjIwLCAxMDEsIDk2LCA2MSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNDIsIDIxNCwgMTUsIDUsIAotICAgIDIzNSwgMTMsIDMwLCAyNDIsIDE5NywgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNDIsIDE5MSwgOTYsIDIyMSwgMjMxLCAxNSwgNSwgCi0gICAgMjM1LCAxMywgMzAsIDI0MiwgMTkxLCAyNDksIDEyNSwgMjQyLCAxOTAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQyLCAxMTMsIAotICAgIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQyLCA4NywgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMzYsIDM1LCAxNSwgNSwgMjM1LCAxMywgCi0gICAgMzAsIDIzNiwgMTYsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjM0LCAyNDIsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjM0LCA5MiwgCi0gICAgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMzQsIDg5LCAxNSwgNSwgMjM1LCAxMywgMzAsIDIzMiwgMjQxLCAxNSwgNSwgMjM1LCAKLSAgICAxMywgMzAsIDIzMiwgOTgsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjMxLCA5MSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMzEsIAotICAgIDkyLCA5NiwgMjQ2LCA3OCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMzEsIDkyLCA5NiwgMjQyLCAyMTQsIDE1LCA1LCAyMzUsIAotICAgIDEzLCAzMCwgMjMxLCA5MiwgOTYsIDIxNywgMjIsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjMwLCAyMzAsIDE1LCA1LCAyMzUsIAotICAgIDEzLCAzMCwgMjMwLCAyMzEsIDk2LCAyMjcsIDE4OSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMjksIDEwNywgMTUsIDUsIDIzNSwgCi0gICAgMTMsIDMwLCAyMjcsIDE5NCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMjUsIDEwOCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMjIsIAotICAgIDE0MCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMDYsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjIxLCAyMzEsIDE1LCA1LCAyMzUsIAotICAgIDEzLCAzMCwgMjIwLCAxMDIsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjIwLCA2MywgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMjAsIAotICAgIDMwLCAxNSwgNSwgMjM1LCAxMywgMzAsIDIxOSwgMjI1LCAxNSwgNSwgMjM1LCAxMywgMzAsIDIxOSwgMTgyLCAxNSwgNSwgCi0gICAgMjM1LCAxMywgMzAsIDIxOCwgNTEsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjE3LCA1MCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAKLSAgICA3MCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIAotICAgIDIzNSwgMTMsIDMwLCAyMTQsIDE5MywgMzAsIDE5MCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIzNSwgCi0gICAgMTMsIDMwLCAyMTAsIDQ0LCAxNSwgNSwgMjM1LCAxMSwgMTUsIDUsIDIzNSwgMTIsIDI0OSwgMTI1LCAyMzUsIDExLCAxNSwgCi0gICAgNSwgMjM1LCA0LCAxNSwgNSwgMjM1LCAxLCAxNSwgNSwgMjM0LCAyNTUsIDE1LCA1LCAyMzQsIDI1NCwgMTUsIDUsIDIzNCwgCi0gICAgMjUyLCAxNSwgNSwgMjM0LCAyNTMsIDExNywgMjM0LCAyNTIsIDE1LCA1LCAyMzQsIDI0MiwgMTUsIDUsIDIzNCwgMjQzLCAKLSAgICAzMCwgMjM2LCAzNiwgMjQyLCA5NCwgMTUsIDUsIDIzNCwgMjM4LCAxNSwgNSwgMjM0LCAyMzksIDMwLCAyNTIsIDE3NiwgMTUsIAotICAgIDUsIDIzNCwgMjM5LCAyNDksIDEyNSwgMjM0LCAyMzgsIDE1LCA1LCAyMzQsIDIzNiwgMTUsIDUsIDIzNCwgMjM1LCAxNSwgNSwgCi0gICAgMjM0LCAyMDcsIDE1LCA1LCAyMzQsIDIwOCwgMjMzLCAxMTgsIDMwLCAxMDQsIDExNywgMjMzLCAxMTgsIDMwLCA3MCwgMTUsIAotICAgIDUsIDIzNCwgMjA4LCAxMTcsIDIzNCwgMjA4LCAyMzMsIDExOCwgMzAsIDEwNCwgMTE3LCAyMzMsIDExOCwgMzAsIDcwLCAxNSwgCi0gICAgNSwgMjM0LCAxNTcsIDE1LCA1LCAyMzQsIDkyLCAxNSwgNSwgMjM0LCA5MywgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjM0LCAKLSAgICA5MywgMzAsIDcwLCAxNSwgNSwgMjM0LCA5MywgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjM0LCA4OSwgMTUsIDUsIDIzNCwgODEsIAotICAgIDE1LCA1LCAyMzQsIDY4LCAxNSwgNSwgMjM0LCA2NywgMTUsIDUsIDIzNCwgNjUsIDE1LCA1LCAyMzQsIDY2LCAxMTcsIDIzNCwgCi0gICAgNjUsIDE1LCA1LCAyMzMsIDIxNywgMTUsIDUsIDIzMywgMjE4LCAxMTcsIDI0MSwgMTgxLCAzMCwgMjUzLCAyMzAsIDIzMywgCi0gICAgMjE4LCAxMTcsIDI0MSwgMTgxLCAzMCwgMjUzLCAyMjksIDE1LCA1LCAyMzMsIDIxNSwgMTUsIDUsIDIzMywgMjEzLCAxNSwgCi0gICAgNSwgMjMzLCAyMTQsIDIxNCwgMTIsIDE3LCAxNSwgNSwgMjMzLCAyMTIsIDE1LCA1LCAyMzMsIDIwOSwgMTUsIDUsIDIzMywgCi0gICAgMjEwLCAyNDIsIDk0LCAxNSwgNSwgMjMzLCAyMDgsIDE1LCA1LCAyMzMsIDE5NiwgMTUsIDUsIDIzMywgMTk3LCAyMjYsIAotICAgIDE2NCwgMjMzLCAxOTYsIDE1LCA1LCAyMzMsIDE5MSwgMTUsIDUsIDIzMywgMTcyLCAxNSwgNSwgMjMzLCAxMzUsIDE1LCA1LCAKLSAgICAyMzMsIDExNywgMTUsIDUsIDIzMywgMTE4LCAzMCwgNjEsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDExNSwgOTYsIDI0OCwgCi0gICAgMjIyLCA5NiwgMTYyLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAxMTUsIDk2LCAyNDMsIDk2LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAKLSAgICAxMTUsIDk2LCAyMzMsIDEwNCwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjU0LCAxNzgsIDE1LCA1LCAyMzMsIDExOCwgMzAsIAotICAgIDI1NCwgMTIzLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyNTMsIDIzMiwgMjEwLCA0MCwgMjE2LCAyMzksIDE1LCA1LCAyMzMsIAotICAgIDExOCwgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyNTIsIDYsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDI0OCwgCi0gICAgMTY2LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyNDUsIDE1MCwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjQzLCAxMzUsIDE1LCA1LCAKLSAgICAyMzMsIDExOCwgMzAsIDI0MywgOTYsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDI0MiwgMTAzLCAxNSwgNSwgMjMzLCAxMTgsIAotICAgIDMwLCAyNDIsIDEwNCwgOTYsIDI0MiwgMTAzLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAxNjIsIDE1LCA1LCAyMzMsIDExOCwgCi0gICAgMzAsIDI0MiwgMzAsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDI0MSwgMTgxLCAzMCwgMjI3LCAxOTQsIDE1LCA1LCAyMzMsIAotICAgIDExOCwgMzAsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIzNiwgMTYsIDE1LCA1LCAyMzMsIDExOCwgCi0gICAgMzAsIDIzNiwgMTcsIDk2LCAxNjIsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIzNiwgMTcsIDk2LCAyMzIsIDk4LCAxNSwgNSwgCi0gICAgMjMzLCAxMTgsIDMwLCAyMzQsIDkyLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzQsIDgxLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAKLSAgICAyMzMsIDIxNSwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjMzLCAyMDksIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIzMywgMjEwLCAKLSAgICA5NiwgMjQxLCAxODEsIDk2LCA2MSwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjMzLCAxMTcsIDE1LCA1LCAyMzMsIDExOCwgMzAsIAotICAgIDIzMiwgMTk3LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzIsIDk4LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzIsIDg2LCAxNSwgCi0gICAgNSwgMjMzLCAxMTgsIDMwLCAyMzEsIDkxLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzEsIDkyLCA5NiwgMjQ1LCAxNTAsIDE1LCAKLSAgICA1LCAyMzMsIDExOCwgMzAsIDIzMCwgNjEsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIyOSwgMTA3LCAxNSwgNSwgMjMzLCAxMTgsIAotICAgIDMwLCAyMjAsIDY0LCA5NiwgMjE4LCA0MywgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjIwLCAxMCwgOTYsIDI0MiwgMTkxLCA5NiwgCi0gICAgMjQ1LCA4NywgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjIwLCAxMCwgOTYsIDI0MiwgMTkxLCAyMTYsIDIzOSwgMTUsIDUsIAotICAgIDIzMywgMTE4LCAzMCwgMjE5LCAyMjMsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIxOSwgMjI0LCA5NiwgMjE5LCAyMjMsIDE1LCAKLSAgICA1LCAyMzMsIDExOCwgMzAsIDIxOCwgNDMsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIxNywgODQsIDE1LCA1LCAyMzMsIDExOCwgCi0gICAgMzAsIDIxNywgNzIsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIxNywgMjMsIDk2LCAxMTUsIDk2LCAyMTgsIDg0LCA5NiwgMTk3LCAKLSAgICAxNSwgNSwgMjMzLCAxMTgsIDMwLCA3MCwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMTA0LCA5NiwgNjEsIDE1LCA1LCAyMzMsIAotICAgIDExOCwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDcwLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgCi0gICAgMjMxLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAKLSAgICAyMzMsIDExOCwgMjE4LCAyMzMsIDE1LCA1LCAyMzMsIDExNSwgMTUsIDUsIDIzMywgMTE2LCAzMCwgMjIwLCA2MywgMTUsIDUsIAotICAgIDIzMywgMTE2LCAzMCwgMjIwLCA2NCwgOTYsIDIxOCwgNDMsIDE1LCA1LCAyMzMsIDExNiwgMjQyLCA5NCwgMTUsIDUsIDIzMywgCi0gICAgMTE2LCAyNDIsIDk1LCAxMTcsIDIzMywgMTE2LCAyNDIsIDk1LCAyMjAsIDYzLCAxNSwgNSwgMjMzLCAxMTEsIDE1LCA1LCAKLSAgICAyMzMsIDEwNCwgMTUsIDUsIDIzMywgMTA1LCAzMCwgMjMzLCAxMDQsIDE1LCA1LCAyMzMsIDEwMiwgMTUsIDUsIDIzMywgCi0gICAgMTAzLCAzMCwgMjMzLCAxOTYsIDE1LCA1LCAyMzMsIDEwMywgMzAsIDIzMywgMTk3LCA5NiwgMjIyLCAxNDAsIDE1LCA1LCAKLSAgICAyMzIsIDI0MSwgMTUsIDUsIDIzMiwgMjI2LCAxNSwgNSwgMjMyLCAyMTYsIDE1LCA1LCAyMzIsIDE5NywgMTUsIDUsIDIzMiwgCi0gICAgOTgsIDE1LCA1LCAyMzIsIDk5LCAzMCwgMjUyLCAxNzYsIDE1LCA1LCAyMzIsIDk2LCAxNSwgNSwgMjMyLCA5NywgMzAsIAotICAgIDI1NCwgMTc4LCAxNSwgNSwgMjMyLCA5NywgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjMyLCA5NywgMzAsIDI0NSwgNzIsIDE1LCAKLSAgICA1LCAyMzIsIDk3LCAzMCwgMjQ1LCA3MywgMjE2LCAyMzksIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjQzLCAxMDUsIDIxNiwgCi0gICAgMjM5LCAxNSwgNSwgMjMyLCA5NywgMzAsIDI0MSwgMTgxLCAzMCwgMjUyLCAxNzYsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjM2LCAKLSAgICAxNiwgMTUsIDUsIDIzMiwgOTcsIDMwLCAyMzUsIDEsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjM0LCAyNTUsIDE1LCA1LCAyMzIsIAotICAgIDk3LCAzMCwgMjM1LCAwLCA5NiwgMjUzLCAyMzEsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjM0LCA5MiwgMTUsIDUsIDIzMiwgCi0gICAgOTcsIDMwLCAyMzMsIDEzNiwgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjMyLCA5NywgMzAsIDIzMywgMTE3LCAxNSwgNSwgMjMyLCAKLSAgICA5NywgMzAsIDIzMSwgOTIsIDk2LCAyNDUsIDE1MCwgMTUsIDUsIDIzMiwgOTcsIDMwLCAyMjksIDEwNywgMTUsIDUsIDIzMiwgCi0gICAgOTcsIDMwLCAyMjcsIDIzNywgMTUsIDUsIDIzMiwgOTcsIDMwLCAyMTksIDE5MiwgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjMyLCAKLSAgICA5NywgMzAsIDIxOSwgMTc0LCA5NiwgMjUxLCAxMjUsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjE1LCAxMTMsIDE1LCA1LCAyMzIsIAotICAgIDk3LCAyMTYsIDIzOSwgMTUsIDUsIDIzMiwgOTcsIDI0OSwgMTI1LCAyMzIsIDk2LCAxNSwgNSwgMjMyLCA5NywgMjI2LCAKLSAgICAxNjQsIDIzMiwgOTYsIDE1LCA1LCAyMzIsIDk3LCAyMTgsIDIzMywgMTUsIDUsIDIzMiwgOTcsIDIyMCwgNDUsIDE1LCA1LCAKLSAgICAyMzIsIDk1LCAxNSwgNSwgMjMyLCA5MSwgMTUsIDUsIDIzMiwgOTIsIDExNywgMjMyLCA5MSwgMTUsIDUsIDIzMiwgOTIsIAotICAgIDIyNiwgMTY0LCAyMzIsIDkxLCAxNSwgNSwgMjMyLCA5MiwgMjIwLCA0NSwgMTUsIDUsIDIzMiwgODksIDE1LCA1LCAyMzIsIAotICAgIDg2LCAxNSwgNSwgMjMyLCA4NCwgMTUsIDUsIDIzMiwgODUsIDExNywgMjMyLCA4NCwgMTUsIDUsIDIzMiwgODUsIDExNywgCi0gICAgMjMyLCA4NSwgMjQzLCA5NywgMTE3LCAyNDMsIDk2LCAxNSwgNSwgMTg0LCAxNSwgNSwgMjMxLCAyMzksIDMwLCAyMTcsIDcyLCAKLSAgICAxNSwgNSwgMjMxLCAyMzksIDI0MiwgOTQsIDE1LCA1LCAyMzEsIDIzOCwgMTUsIDUsIDIzMSwgMjEwLCAxNSwgNSwgMjMxLCAKLSAgICAxNjYsIDE1LCA1LCAyMzEsIDE0NywgMTUsIDUsIDIzMSwgMTQ2LCAxNSwgNSwgMjMxLCA5MSwgMTUsIDUsIDIzMSwgNDcsIAotICAgIDE1LCA1LCAyMzAsIDIzMCwgMTUsIDUsIDIzMCwgMTg4LCAxNSwgNSwgMjMwLCAxMDIsIDE1LCA1LCAyMzAsIDEwMywgMTE3LCAKLSAgICAyMzAsIDEwMiwgMTUsIDUsIDIzMCwgOTMsIDE1LCA1LCAyMzAsIDk0LCAyNDIsIDk0LCAxNSwgNSwgMjMwLCA3OCwgMTUsIDUsIAotICAgIDIzMCwgNjQsIDE1LCA1LCAyMzAsIDYxLCAxNSwgNSwgMjMwLCA2MiwgMzAsIDYxLCAxNSwgNSwgMjMwLCA2MiwgMzAsIDIzMywgCi0gICAgMTk2LCAxNSwgNSwgMjMwLCA2MiwgMzAsIDIxMCwgMTE2LCAxNSwgNSwgMjMwLCA2MiwgMTE3LCAyMzAsIDYxLCAxNSwgNSwgCi0gICAgMjMwLCA2MiwgMTE3LCAyMzAsIDYyLCAzMCwgMTE1LCA5NiwgMTk3LCAxNSwgNSwgMjMwLCA2MiwgMjQ5LCAxMjUsIDIzMCwgCi0gICAgNjEsIDE1LCA1LCAyMzAsIDU5LCAxNSwgNSwgMjMwLCA2MCwgMzAsIDYxLCAxNSwgNSwgMjMwLCA2MCwgMzAsIDExNSwgOTYsIAotICAgIDI0OCwgMywgMTUsIDUsIDIzMCwgNjAsIDMwLCAyNDgsIDMsIDE1LCA1LCAyMzAsIDYwLCAyNDIsIDk0LCAxNSwgNSwgMTk3LCAKLSAgICAxNSwgNSwgMjI5LCAyMjcsIDE1LCA1LCAyMjksIDIxNiwgMTUsIDUsIDIyOSwgMjE3LCAyMzUsIDE5MiwgMTUsIDUsIDIyOSwgCi0gICAgMjE3LCAzMCwgMjE5LCAyMjYsIDIxNiwgMjM5LCAxNSwgNSwgMjI5LCAyMTcsIDIyNiwgMTY0LCAyMjksIDIxNiwgMTUsIDUsIAotICAgIDIyOSwgMjE1LCAxNSwgNSwgMjI5LCAyMDgsIDIyNywgMTgwLCAxNSwgNSwgMjI5LCAyMDcsIDE1LCA1LCAyMjksIDIwNiwgCi0gICAgMTUsIDUsIDIyOSwgMTA3LCAxNSwgNSwgMjI5LCAxMDgsIDMwLCA2MSwgMTUsIDUsIDIyOSwgMTA4LCAzMCwgMjE0LCAyMTksIAotICAgIDE1LCA1LCAyMjksIDEwOCwgMjIwLCA0NSwgMTUsIDUsIDIyOCwgMjMzLCAxNSwgNSwgMjI4LCAyMzQsIDMwLCA3NSwgMTUsIAotICAgIDUsIDIyOCwgMjMyLCAxNSwgNSwgMjI4LCAyMDMsIDE1LCA1LCAyMjgsIDIwNCwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgCi0gICAgMTUsIDUsIDIyOCwgMjA0LCAzMCwgMjQzLCA5NywgOTYsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDIyOCwgMjAxLCAKLSAgICAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyNTQsIDEyMywgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjUzLCAyMzEsIDE1LCA1LCAyMjgsIAotICAgIDIwMiwgMzAsIDI1MywgMjMyLCA5NiwgMjUzLCAyMzEsIDE1LCA1LCAyMjgsIDIwMiwgMzAsIDI0MiwgMTAzLCAxNSwgNSwgCi0gICAgMjI4LCAyMDIsIDMwLCAyMzEsIDkyLCA5NiwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyMjksIAotICAgIDEwNywgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjI3LCAxOTQsIDE1LCA1LCAyMjgsIDIwMiwgMzAsIDIyMCwgNjMsIDE1LCA1LCAKLSAgICAyMjgsIDIwMiwgMzAsIDIyMCwgNjQsIDk2LCAxMTUsIDI1NCwgMTIzLCAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyMjAsIDY0LCAKLSAgICA5NiwgMjUzLCAyMzEsIDE1LCA1LCAyMjgsIDIwMiwgMzAsIDIyMCwgNjQsIDk2LCAyNTMsIDIzMiwgOTYsIDI1MywgMjMxLCAKLSAgICAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyMTQsIDIzMSwgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyMTQsIAotICAgIDEyNiwgMTUsIDUsIDIyOCwgMTkwLCAxNSwgNSwgMjI3LCAyMzcsIDE1LCA1LCAyMjcsIDIxMCwgMTUsIDUsIDIyNywgMTk0LCAKLSAgICAxNSwgNSwgMjI3LCAxOTUsIDIzMywgMTE2LCAzMCwgMjQzLCA5NiwgMTUsIDUsIDIyNywgMTk1LCAyMzMsIDExNiwgMzAsIAotICAgIDIzMSwgMTQ3LCAxNSwgNSwgMjI3LCAxOTUsIDIzMywgMTE2LCAzMCwgMjIyLCA4LCAxNSwgNSwgMjI3LCAxOTUsIDIzMywgCi0gICAgMTE2LCAzMCwgMjIyLCA5LCAxMTcsIDIyNywgMTk1LCAyMzMsIDExNiwgMzAsIDIyMiwgOCwgMTUsIDUsIDIyNywgMTk1LCAKLSAgICAyMzMsIDExNiwgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjI3LCAxOTUsIDIxNiwgMjM5LCAxNSwgNSwgMjI3LCAxOTUsIDExNywgCi0gICAgMjI3LCAxOTQsIDE1LCA1LCAyMjcsIDE5NSwgMjQ5LCAxMjUsIDIyNywgMTk0LCAxNSwgNSwgMjI3LCAxOTUsIDI0OSwgMTI1LCAKLSAgICAyMjcsIDE5NSwgMjMzLCAxMTYsIDExNywgMjMzLCAxMTUsIDE1LCA1LCAyMjcsIDE4OSwgMTUsIDUsIDIyNywgMTkwLCAyNTUsIAotICAgIDI0LCAzMCwgMjUzLCAyMjYsIDE1LCA1LCAyMjcsIDE5MCwgMjU1LCAyNCwgMzAsIDI1MiwgNiwgMTUsIDUsIDIyNywgMTkwLCAKLSAgICAyNTUsIDI0LCAzMCwgMjQ2LCA3NCwgMTUsIDUsIDIyNywgMTkwLCAyNTUsIDI0LCAzMCwgMjQyLCAxMDMsIDE1LCA1LCAyMjcsIAotICAgIDE5MCwgMjU1LCAyNCwgMzAsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAyMjcsIDE5MCwgMjU1LCAyNCwgMzAsIDIzNCwgCi0gICAgMjU1LCAxNSwgNSwgMjI3LCAxOTAsIDI1NSwgMjQsIDMwLCAyMzMsIDEzNSwgMTUsIDUsIDIyNywgMTkwLCAyNTUsIDI0LCAKLSAgICAzMCwgMjI5LCAxMDcsIDE1LCA1LCAyMjcsIDE5MCwgMjU1LCAyNCwgMzAsIDIxOSwgMTcxLCAxNSwgNSwgMjI3LCAxOTAsIAotICAgIDI1NSwgMjQsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyNywgMTkwLCAyMzQsIDY2LCAzMCwgMjUyLCA2LCAxNSwgNSwgMjI3LCAKLSAgICAxOTAsIDIzNCwgNjYsIDMwLCAyNTIsIDcsIDcwLCAxNSwgNSwgMTkwLCAxNSwgNSwgMjI2LCA4MCwgMTUsIDUsIDIyNiwgNDcsIAotICAgIDE1LCA1LCAyMjYsIDIxLCAxNSwgNSwgMjI1LCAxNjEsIDE1LCA1LCAyMjUsIDEwOCwgMTUsIDUsIDIyNSwgMTA5LCAzMCwgCi0gICAgNjEsIDE1LCA1LCAyMjUsIDEwOSwgMzAsIDI1NSwgMjUsIDE1LCA1LCAyMjUsIDEwOSwgMzAsIDI1MiwgNiwgMTUsIDUsIAotICAgIDIyNSwgMTA5LCAzMCwgMjUxLCAxMjUsIDE1LCA1LCAyMjUsIDEwOSwgMzAsIDc1LCAxNSwgNSwgMjI1LCAxMDksIDMwLCA3MywgCi0gICAgMTUsIDUsIDIyNSwgMTA5LCAzMCwgMjQwLCAxMTUsIDE1LCA1LCAyMjUsIDEwOSwgMzAsIDcwLCAxNSwgNSwgMjI1LCAxMDksIAotICAgIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyNSwgMTA5LCAyNDksIDEyNSwgMjI1LCAxMDgsIDE1LCA1LCAyMjUsIDUzLCAxNSwgNSwgCi0gICAgMjI1LCA1NCwgMzAsIDIzNCwgMjM4LCAxNSwgNSwgMjI1LCA1NCwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjI1LCA1NCwgMzAsIAotICAgIDIxMCwgMTE2LCAxNSwgNSwgMjI1LCA1NCwgMjI2LCAxNjQsIDIyNSwgNTMsIDE1LCA1LCAyMDUsIDE1LCA1LCAyMjMsIDE4MiwgCi0gICAgMTUsIDUsIDIyMywgMzUsIDE1LCA1LCAyMjIsIDE0MCwgMTUsIDUsIDIwNiwgMTUsIDUsIDIyMiwgMjIsIDIyNywgMTgwLCAKLSAgICAxNSwgNSwgMjIyLCAyMSwgMTUsIDUsIDIyMiwgMjIsIDMwLCA2MSwgMTUsIDUsIDIyMiwgMjIsIDMwLCAyNDYsIDc4LCAxNSwgCi0gICAgNSwgMjIyLCAyMiwgMzAsIDI0NiwgNzYsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMTYyLCAxNSwgNSwgMjIyLCAyMiwgMzAsIAotICAgIDIzNCwgMjQyLCAxNSwgNSwgMjIyLCAyMiwgMzAsIDIzMywgMTk2LCAxNSwgNSwgMjIyLCAyMiwgMzAsIDIzMiwgODQsIDE1LCAKLSAgICA1LCAyMjIsIDIyLCAzMCwgMjMwLCAyMzAsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMjI3LCAxOTQsIDE1LCA1LCAyMjIsIDIyLCAKLSAgICAzMCwgMjIyLCA4LCAxNSwgNSwgMjIyLCAyMiwgMzAsIDIyMCwgMzAsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMjE3LCA5MywgMTUsIAotICAgIDUsIDIyMiwgMjIsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyMiwgMjIsIDMwLCAyMTQsIDIyNSwgMTUsIDUsIDIyMiwgMjIsIAotICAgIDMwLCAyMTQsIDE5NywgMTUsIDUsIDIyMiwgMjIsIDMwLCAyMTQsIDE1MCwgMTUsIDUsIDIyMiwgMjIsIDMwLCAyMTQsIDEyNiwgCi0gICAgMTUsIDUsIDIyMiwgMjIsIDExNywgMjIyLCAyMSwgMTUsIDUsIDIyMiwgMjIsIDI0MiwgOTQsIDE1LCA1LCAyMjIsIDgsIDE1LCAKLSAgICA1LCAyMjIsIDksIDIzMywgMTE4LCAzMCwgMjUzLCAyMjksIDE1LCA1LCAyMjEsIDIzOSwgMTUsIDUsIDIyMSwgMjMxLCAxNSwgCi0gICAgNSwgMjIwLCAxMDIsIDE1LCA1LCAyMjAsIDEwMCwgMTUsIDUsIDIyMCwgMTAxLCAzMCwgNjEsIDE1LCA1LCAyMjAsIDEwMSwgCi0gICAgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjIwLCAxMDEsIDMwLCAyNDIsIDE5MCwgMTUsIDUsIDIyMCwgMTAxLCAzMCwgMjI5LCAKLSAgICAxMDcsIDE1LCA1LCAyMjAsIDEwMSwgMzAsIDIxOSwgMjIzLCAxNSwgNSwgMjIwLCAxMDEsIDMwLCAyMTUsIDk4LCAxNSwgNSwgCi0gICAgMjIwLCAxMDEsIDMwLCA3MCwgMTUsIDUsIDIyMCwgMTAxLCAzMCwgMTA0LCA5NiwgNjEsIDE1LCA1LCAyMjAsIDk5LCAxNSwgCi0gICAgNSwgMjIwLCA5NywgMTUsIDUsIDIyMCwgNzgsIDE1LCA1LCAyMjAsIDYzLCAxNSwgNSwgMjIwLCA2NCwgMjQwLCAyMjIsIDE1LCAKLSAgICA1LCAyMjAsIDY0LCAxMTcsIDIyMCwgNjQsIDI0MywgMTI3LCAxMTcsIDI0MywgMTI3LCAyNDMsIDk3LCAxMTcsIDI0MywgOTYsIAotICAgIDE1LCA1LCAyMjAsIDY0LCAxMTcsIDIyMCwgNjQsIDIxNywgOTQsIDExNywgMjE3LCA5NCwgMjQzLCA5NywgMTE3LCAyNDMsIAotICAgIDk2LCAxNSwgNSwgMjIwLCA1NiwgMTUsIDUsIDIyMCwgNTEsIDE1LCA1LCAyMjAsIDQ4LCAxNSwgNSwgMjIwLCA0NywgMTUsIAotICAgIDUsIDIyMCwgNDQsIDE1LCA1LCAyMjAsIDMwLCAxNSwgNSwgMjIwLCAzMSwgMzAsIDYxLCAxNSwgNSwgMjIwLCAzMSwgMzAsIAotICAgIDIzNiwgMTYsIDE1LCA1LCAyMjAsIDI0LCAxNSwgNSwgMjIwLCAyNSwgMzAsIDYxLCAxNSwgNSwgMjIwLCAyNSwgMzAsIDI1MiwgCi0gICAgMTYxLCAxNSwgNSwgMjIwLCAyNSwgMzAsIDI1MSwgMTA5LCAxNSwgNSwgMjIwLCAyNSwgMzAsIDI0NywgMjA2LCAxNSwgNSwgCi0gICAgMjIwLCAyNSwgMzAsIDI0MywgOTYsIDE1LCA1LCAyMjAsIDI1LCAzMCwgMjM2LCAzNSwgMTUsIDUsIDIyMCwgMjUsIDMwLCAKLSAgICAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjIwLCAyNSwgMzAsIDIzMywgMTkxLCAxNSwgNSwgMjIwLCAyNSwgMzAsIDIzMiwgCi0gICAgODYsIDE1LCA1LCAyMjAsIDI1LCAzMCwgMjMwLCA5MywgMTUsIDUsIDIyMCwgMjUsIDMwLCAyMjIsIDgsIDE1LCA1LCAyMjAsIAotICAgIDE4LCAxNSwgNSwgMjIwLCAxMywgMTUsIDUsIDIyMCwgMTQsIDIxNiwgMjM5LCAxNSwgNSwgMjIwLCAxNCwgMTE3LCAyMjAsIAotICAgIDE0LCAyNTEsIDk5LCAxMTcsIDI1MSwgOTgsIDE1LCA1LCAyMjAsIDksIDE1LCA1LCAyMTksIDIyNSwgMTUsIDUsIDIxOSwgCi0gICAgMjI2LCAxMTcsIDIzNSwgMTkzLCAyMTksIDIyNSwgMTUsIDUsIDIxOSwgMjIzLCAxNSwgNSwgMjE5LCAyMjIsIDE1LCA1LCAKLSAgICAyMTksIDE5MSwgMTUsIDUsIDIxOSwgMTkyLCAyNDIsIDk0LCAxNSwgNSwgMjE5LCAxODIsIDE1LCA1LCAyMTksIDE4MCwgMTUsIAotICAgIDUsIDIxOSwgMTgxLCAxMTcsIDIxOSwgMTgxLCAyMTksIDIyMywgMTUsIDUsIDIxOSwgMTczLCAxNSwgNSwgMjE5LCAxNzEsIAotICAgIDE1LCA1LCAyMTgsIDgzLCAxNSwgNSwgMjE4LCA4NCwgMTE3LCAyMTgsIDgzLCAxNSwgNSwgMjE4LCA1NCwgMTUsIDUsIDIxOCwgCi0gICAgNTMsIDE1LCA1LCAyMTgsIDUxLCAxNSwgNSwgMjE4LCA0MywgMTUsIDUsIDIxOCwgNDIsIDE1LCA1LCAyMTgsIDE3LCAxNSwgCi0gICAgNSwgMjE4LCAxNiwgMTUsIDUsIDIxNywgMTA1LCAxNSwgNSwgMjE3LCAxMDYsIDI1MywgMjE2LCAxNSwgNSwgMjE3LCAxMDYsIAotICAgIDMwLCAyNDEsIDE4MCwgMTUsIDUsIDIxNywgMTA2LCAzMCwgMjMwLCAyMzAsIDE1LCA1LCAyMTcsIDEwNiwgMjQyLCA5NCwgCi0gICAgMTUsIDUsIDIxNywgOTMsIDE1LCA1LCAyMTcsIDk0LCAxMTcsIDIxNywgOTQsIDIyOCwgMjM0LCAxMTcsIDIyOCwgMjM0LCAKLSAgICAyNDcsIDE4OCwgMTE3LCAyNDcsIDE4NywgMTUsIDUsIDIxNywgOTQsIDIxOCwgMjMzLCAxNSwgNSwgMjE3LCA4NCwgMTUsIDUsIAotICAgIDEyOSwgMzAsIDI1MiwgNiwgMTUsIDUsIDEyOSwgMzAsIDI0MiwgMTAzLCAxNSwgNSwgMTI5LCAzMCwgMjIwLCA2MywgMTUsIAotICAgIDUsIDEyOSwgMzAsIDIxOSwgMjI1LCAxNSwgNSwgMTI5LCAzMCwgMjE1LCAxMTMsIDE1LCA1LCAxMjksIDMwLCAyMTQsIDIxOSwgCi0gICAgMTUsIDUsIDIxNywgNzIsIDE1LCA1LCAyMTcsIDUwLCAxNSwgNSwgMjE3LCAyMiwgMTUsIDUsIDIxNywgMjMsIDI0MiwgOTQsIAotICAgIDE1LCA1LCAyMTYsIDExNywgMTUsIDUsIDIxNiwgMTE4LCAyMTYsIDIzOSwgMTUsIDUsIDIxNiwgOTAsIDE1LCA1LCAyMTYsIAotICAgIDcyLCAxNSwgNSwgMjE2LCA3MywgMzAsIDIxNywgNzIsIDE1LCA1LCAyMTYsIDczLCAxMTcsIDIxNiwgNzIsIDE1LCA1LCAKLSAgICAyMTYsIDczLCAxMTcsIDIxNiwgNzMsIDI0MywgMTI3LCAxMTcsIDI0MywgMTI3LCAyNDMsIDk3LCAxMTcsIDI0MywgOTYsIAotICAgIDE1LCA1LCAyMTUsIDExOCwgMTUsIDUsIDIxNSwgMTEzLCAxNSwgNSwgMjE1LCAxMTEsIDE1LCA1LCAyMTUsIDEwOCwgMTUsIAotICAgIDUsIDIxNSwgOTgsIDE1LCA1LCAyMTUsIDk5LCAxMTcsIDIxNSwgOTksIDIxMCwgMTE3LCAxMTcsIDIxMCwgMTE2LCAxNSwgNSwgCi0gICAgNzAsIDE1LCA1LCAxMDQsIDI0MiwgMTAzLCAxNSwgNSwgMTA0LCAxMDQsIDcwLCAxNSwgNSwgMTA0LCAxMTcsIDEwNCwgMjI2LCAKLSAgICA5MCwgMTE3LCAyMjYsIDkwLCAyNDMsIDk3LCAxMTcsIDI0MywgOTYsIDE1LCA1LCAxMDQsIDExNywgMTA0LCAyMTgsIDE4LCAKLSAgICAxMTcsIDIxOCwgMTcsIDE1LCA1LCAxMDQsIDExNywgMTA0LCAxMDQsIDIyMywgNDksIDExNywgMTA0LCAyMjMsIDQ4LCAxNSwgCi0gICAgNSwgMjE0LCAyMzAsIDE1LCA1LCAyMTQsIDIyNSwgMTUsIDUsIDIxNCwgMjE5LCAxNSwgNSwgMjE0LCAyMjAsIDIzMywgMTkxLCAKLSAgICAxNSwgNSwgMjE0LCAyMjAsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMjMwLCAyMzAsIDE1LCA1LCAyMTQsIAotICAgIDIyMCwgMzAsIDEwNCwgOTYsIDEwNCwgOTYsIDcwLCAxNSwgNSwgMjE0LCAyMjAsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCAKLSAgICAxMDQsIDI0MiwgOTQsIDE1LCA1LCAyMTQsIDIyMCwgMjQyLCA5NCwgMTUsIDUsIDIxNCwgMjIwLCAyMjAsIDQ1LCAxNSwgNSwgCi0gICAgMjE0LCAyMjAsIDIyMCwgNDYsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDIxNCwgMjE1LCAxNSwgNSwgMjE0LCAxOTcsIDE1LCA1LCAKLSAgICAyMTQsIDE5OCwgMzAsIDIzMywgMTE3LCAxNSwgNSwgMjE0LCAxOTgsIDMwLCAyMzEsIDkyLCA5NiwgMjQ4LCAyMjEsIDE1LCAKLSAgICA1LCAyMTQsIDE5OCwgMzAsIDIyMCwgMTAwLCAxNSwgNSwgMjE0LCAxOTgsIDMwLCA3MCwgMTUsIDUsIDIxNCwgMTk2LCAxNSwgCi0gICAgNSwgMjE0LCAxOTIsIDE1LCA1LCAyMTQsIDE5MywgMzAsIDIzNCwgMjA3LCAxNSwgNSwgMjE0LCAxOTMsIDMwLCAxOTAsIDE1LCAKLSAgICA1LCAyMTQsIDE5MCwgMTUsIDUsIDIxNCwgMTkxLCAyNDIsIDk0LCAxNSwgNSwgMjE0LCAxNTAsIDE1LCA1LCAyMTQsIDE1MSwgCi0gICAgMjQ5LCAxMjUsIDIxNCwgMTUwLCAxNSwgNSwgMjE0LCAxNTEsIDIyMCwgNDUsIDE1LCA1LCAyMTQsIDE0OCwgMTUsIDUsIAotICAgIDIxNCwgMTQ5LCAzMCwgMTE1LCA5NiwgMTYyLCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxMTUsIDk2LCAxOTcsIDE1LCA1LCAKLSAgICAyMTQsIDE0OSwgMzAsIDI1NCwgMTc4LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxNjIsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIAotICAgIDIyNywgMTk0LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzEsIAotICAgIDk2LCAyNTMsIDIzMSwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTIsIDYsIDE1LCA1LCAyMTQsIDE0NywgCi0gICAgMTUsIDUsIDIxNCwgMTQ0LCAxNSwgNSwgMjE0LCAxNDMsIDE1LCA1LCAyMTQsIDEzOSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCi0gICAgNjEsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI1MywgMjI2LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxMzAsIDE1LCA1LCAyMTQsIAotICAgIDE0MCwgMzAsIDI0NiwgNjgsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0MywgMTM1LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAKLSAgICAyNDMsIDExOCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAKLSAgICAyNDMsIDk2LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDIsIDExMywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMTYyLCAxNSwgNSwgCi0gICAgMjE0LCAxNDAsIDMwLCAyMzYsIDM1LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMzYsIDE2LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAKLSAgICAyMzUsIDE2NSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM0LCA5MiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjMyLCA4NCwgMTUsIAotICAgIDUsIDIxNCwgMTQwLCAzMCwgMjMwLCAxODgsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDE5MCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCi0gICAgMjIwLCA2MywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjE5LCAxODAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxNSwgMTE4LCAKLSAgICAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxMDQsIDk2LCAyNDIsIDEwMywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjE0LCAyMTksIAorICAgIDE3NCwgMjEsIDE5NCwgMTc0LCAyMSwgMTk4LCAxNzQsIDIxLCAxOTUsIDE3NCwgMjEsIDIwMCwgMjE3LCA3MCwgMSwgNjEsIAorICAgIDIxNywgNzAsIDEsIDI1NSwgNzQsIDIxNywgNzAsIDEsIDczLCAyMTcsIDcwLCAxLCAyMzYsIDM0LCAyMTcsIDcwLCAxLCA3MCwgCisgICAgMjE3LCA3MCwgMSwgMjE0LCAxMTgsIDIxNywgNzAsIDEsIDc1LCAyMTcsIDcwLCAxLCAyNTQsIDIwMiwgMjE3LCA3MCwgMSwgCisgICAgNzYsIDIxNywgNzAsIDEsIDI1MywgMTkzLCAyMTcsIDcwLCAxLCAxNzYsIDIxNywgNzAsIDEsIDIzNCwgMTMzLCAyMTcsIDcwLCAKKyAgICAxLCAyNDMsIDEzNiwgMjE3LCA3MCwgMSwgMjQyLCAyNTAsIDIxNywgNzAsIDEsIDIyOSwgNzgsIDIxNywgNzAsIDEsIDI1MSwgCisgICAgMzQsIDIxNywgNzAsIDEsIDI1MCwgMTU4LCAyMTcsIDcwLCAxLCAyMzUsIDE0MiwgMjE3LCA3MCwgMSwgMjM1LCAxMTUsIAorICAgIDIxNywgNzAsIDEsIDIyNywgMTY2LCAyMTcsIDcwLCAxLCAyMTUsIDE1NywgMjE3LCA3MCwgMSwgMjE1LCAxNDUsIDIxNywgCisgICAgNzAsIDEsIDI0OCwgMTM2LCAyMTcsIDcwLCAxLCAyNDgsIDEyMCwgMjE3LCA3MCwgMSwgMjI4LCAxMTEsIDIxNywgNzAsIDEsIAorICAgIDIxNywgMTA2LCAyMTcsIDcwLCAxLCAyMTYsIDIwOSwgMjE3LCA3MCwgMSwgMjQ4LCAyMjIsIDIxNywgNzAsIDEsIDI0OCwgCisgICAgMjYsIDIxNywgNzAsIDEsIDE5NywgMjE3LCA3MCwgMSwgMTkwLCAyMTcsIDcwLCAxLCAyMjUsIDE0OCwgMjE3LCA3MCwgMSwgCisgICAgMjUyLCAxOTIsIDIxNywgNzAsIDEsIDI1MiwgMTksIDIxNywgNzAsIDEsIDE4NSwgMjE3LCA3MCwgMSwgMTkxLCAyMTcsIDcwLCAKKyAgICAxLCAyMDUsIDIxNywgNzAsIDEsIDIzMywgMTM2LCAyMTcsIDcwLCAxLCAyMTQsIDI3LCAyMTcsIDcwLCAxLCAyMjAsIDEwMywgCisgICAgMjE3LCA3MCwgMSwgMjA2LCAyMTcsIDcwLCAxLCAxNjIsIDIxNywgNzAsIDEsIDIyMiwgMTgwLCAyMTcsIDcwLCA1LCAyNTQsIAorICAgIDc2LCAyMTcsIDcwLCA1LCAyMTMsIDE0NywgMjE3LCA3MCwgMjUsIDUsIDI1NSwgNzQsIDIxNywgNzAsIDI1LCA1LCA3MywgCisgICAgMjE3LCA3MCwgMjUsIDUsIDIzNiwgMzQsIDIxNywgNzAsIDI1LCA1LCA3MCwgMjE3LCA3MCwgMjUsIDUsIDIxNCwgMTE4LCAKKyAgICAyMTcsIDcwLCAyNSwgNSwgNzUsIDIxNywgNzAsIDI1LCA1LCAyNTQsIDIwMiwgMjE3LCA3MCwgMjUsIDUsIDc2LCAyMTcsIAorICAgIDcwLCAyNSwgNSwgMjUzLCAxOTMsIDIxNywgNzAsIDUsIDIxMywgMTUyLCAyMTcsIDcwLCA1LCAyMjcsIDIwNiwgMjE3LCA3MCwgCisgICAgMjEsIDIxMCwgODYsIDIxNywgNzAsIDIxLCAxMTAsIDIxNywgNzAsIDIxLCAxMDUsIDIxNywgNzAsIDIxLCAxNTgsIDIxNywgCisgICAgNzAsIDIxLCAxNjEsIDIxNywgNzAsIDIxLCAxODksIDIxNywgNzAsIDIxLCAxOTQsIDIxNywgNzAsIDIxLCAxOTgsIDIxNywgCisgICAgNzAsIDIxLCAxOTUsIDIxNywgNzAsIDIxLCAyMDAsIDE1LCA1LCA2MSwgMTUsIDUsIDExNSwgMzAsIDYxLCAxNSwgNSwgMTE1LCAKKyAgICAzMCwgMjUyLCAxNzcsIDE1LCA1LCAxMTUsIDMwLCAyNDMsIDEwNiwgMjE2LCAyNDAsIDE1LCA1LCAxMTUsIDMwLCAxNjIsIAorICAgIDE1LCA1LCAxMTUsIDMwLCAyMzYsIDM2LCAxNSwgNSwgMTE1LCAzMCwgMjMzLCAxMTcsIDI0MiwgOTUsIDE1LCA1LCAxMTUsIAorICAgIDMwLCAyMzAsIDYyLCAxNSwgNSwgMTE1LCAzMCwgMjIyLCAyMiwgMTUsIDUsIDI1NSwgNzYsIDE1LCA1LCAyNTUsIDI2LCAxNSwgCisgICAgNSwgMjU1LCAyNywgMzAsIDI1MywgMjMwLCAxNSwgNSwgMjU1LCAyNywgMzAsIDI0NiwgNjgsIDI0MiwgOTUsIDE1LCA1LCAKKyAgICAyNTUsIDI3LCAzMCwgMjQzLCAxMTksIDE1LCA1LCAyNTUsIDI3LCAzMCwgMjQzLCAxMDYsIDIxNiwgMjQwLCAxNSwgNSwgCisgICAgMjU1LCAyNywgMzAsIDE2MiwgMTUsIDUsIDI1NSwgMjcsIDMwLCAyMzYsIDM3LCAyNDIsIDk1LCAxNSwgNSwgMjU1LCAyNywgCisgICAgMzAsIDIzNiwgMTAsIDE1LCA1LCAyNTUsIDI3LCAzMCwgMjMzLCAxMTgsIDE1LCA1LCAyNTUsIDI3LCAzMCwgMjIwLCA0OSwgCisgICAgMTUsIDUsIDI1NSwgMjcsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCA3MCwgMTUsIDUsIDI1NSwgMjcsIDI0MiwgOTUsIDE1LCA1LCAKKyAgICAyNTUsIDI0LCAxNSwgNSwgMjU1LCAyNSwgMzAsIDI1MiwgMTYxLCAxNSwgNSwgMjU1LCAyNSwgMzAsIDI0MywgMTA2LCAyMTYsIAorICAgIDI0MCwgMTUsIDUsIDI1NSwgMjUsIDMwLCAyMzEsIDkzLCA5NiwgMjQ1LCAxNTEsIDE1LCA1LCAyNTUsIDI1LCAzMCwgMjIwLCAKKyAgICAxMDEsIDE1LCA1LCAyNTUsIDI1LCAzMCwgMjE3LCA3MywgMTUsIDUsIDI1NSwgMCwgMTUsIDUsIDI1NCwgMTg3LCAxNSwgNSwgCisgICAgMjU0LCAxODgsIDMwLCAyNDUsIDg4LCAxNSwgNSwgMjU0LCAxODgsIDMwLCAyMjAsIDExLCA5NiwgMjQyLCAxOTEsIDE1LCA1LCAKKyAgICAyNTQsIDE3OSwgMTUsIDUsIDI1NCwgMTgwLCAzMCwgMjU0LCAxNzksIDE1LCA1LCAyNTQsIDE4MCwgMzAsIDI0NywgMjE3LCAKKyAgICAxNSwgNSwgMjU0LCAxODAsIDMwLCAyNDIsIDE5MSwgMTUsIDUsIDI1NCwgMTgwLCAzMCwgMTYyLCAxNSwgNSwgMjU0LCAxODAsIAorICAgIDMwLCAyMzUsIDAsIDE1LCA1LCAyNTQsIDE4MCwgMzAsIDIzNCwgOTMsIDE1LCA1LCAyNTQsIDE4MCwgMzAsIDIyMCwgNjQsIAorICAgIDE1LCA1LCAyNTQsIDE4MCwgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjU0LCAxNzYsIDE1LCA1LCAyNTQsIDE2OSwgMTUsIDUsIAorICAgIDI1NCwgMTMzLCAxNSwgNSwgMjU0LCAxMzQsIDMwLCAyMjAsIDY0LCAxNSwgNSwgMjU0LCAxMjQsIDE1LCA1LCAyNTQsIDEyNSwgCisgICAgMTE3LCAyNTQsIDEyNCwgMTUsIDUsIDI1NCwgMTI1LCAxMzQsIDIxNiwgODYsIDE1LCA1LCAyNTQsIDEyNSwgOTYsIDIyOSwgCisgICAgMjE4LCAyMjYsIDE2NSwgMjU0LCAxMjUsIDk2LCAyMjksIDIxNywgMTUsIDUsIDI1NCwgMTI1LCA5NiwgMjI5LCAyMTgsIAorICAgIDIxOCwgMjM0LCAxNSwgNSwgMjU0LCA5NSwgMTUsIDUsIDI1NCwgNjgsIDE1LCA1LCAyNTQsIDM2LCAxNSwgNSwgMjU0LCAzNywgCisgICAgMzAsIDIzMywgMTk3LCAxNSwgNSwgMjU0LCA5LCAxNSwgNSwgMjUzLCAyMzcsIDE1LCA1LCAyNTMsIDIzMiwgMTUsIDUsIAorICAgIDI1MywgMjMzLCAyMTAsIDQwLCAyMTYsIDI0MCwgMTUsIDUsIDI1MywgMjMzLCAyMzUsIDQsIDIxNiwgMjQwLCAxNSwgNSwgCisgICAgMjUzLCAyMzMsIDExNywgMjUzLCAyMzMsIDIxNSwgMTE1LCAxMTcsIDIxNSwgMTE1LCAyMTUsIDExNSwgMTE3LCAyMTUsIAorICAgIDExNSwgMjI2LCAyMiwgMTUsIDUsIDI1MywgMjMzLCAxMTcsIDI1MywgMjMzLCAxMTcsIDI1MywgMjMyLCAxNSwgNSwgMjUzLCAKKyAgICAyMzMsIDExNywgMjUzLCAyMzMsIDExNywgMjUzLCAyMzMsIDI0OSwgMTI2LCAyNTMsIDIzMywgMTE3LCAyNTMsIDIzMywgCisgICAgMTE3LCAyNTMsIDIzMiwgMTUsIDUsIDI1MywgMjMwLCAxNSwgNSwgMjUzLCAyMjcsIDE1LCA1LCAyNTIsIDE5MiwgMTUsIDUsIAorICAgIDI1MiwgMTc3LCAxNSwgNSwgMjUyLCAxNzIsIDE1LCA1LCAyNTIsIDE2OCwgMTUsIDUsIDI1MiwgMTYyLCAxNSwgNSwgMjUyLCAKKyAgICAxNjMsIDExNywgMjUyLCAxNjIsIDE1LCA1LCAyNTIsIDE2MSwgMTUsIDUsIDEzMCwgMTUsIDUsIDI1MiwgMTQxLCAxNSwgNSwgCisgICAgMjUyLCA3LCAxNSwgNSwgMjUyLCA4LCAzMCwgNjEsIDE1LCA1LCAyNTIsIDgsIDMwLCAyNDMsIDk3LCAxNSwgNSwgMjUyLCA4LCAKKyAgICAzMCwgMjM2LCAzNywgMjQyLCA5NSwgMTUsIDUsIDI1MSwgMTI2LCAxNSwgNSwgMjUxLCAxMjcsIDExNywgMjUxLCAxMjcsIAorICAgIDI1NSwgMjYsIDE1LCA1LCAyNTEsIDEyNywgMTE3LCAyNTEsIDEyNywgMjE0LCAxOTAsIDE1LCA1LCAyNTEsIDEyNywgMjQ5LCAKKyAgICAxMjYsIDI1MSwgMTI2LCAxNSwgNSwgMjUxLCAxMTAsIDE1LCA1LCAyNTEsIDExMSwgMTE3LCAyNTEsIDExMCwgMTUsIDUsIAorICAgIDI1MSwgOTksIDE1LCA1LCAyNTEsIDk4LCAxNSwgNSwgMjQ4LCAyMjIsIDE1LCA1LCAyNDgsIDIxMywgMTUsIDUsIDI0OCwgCisgICAgMjE0LCAyMzQsIDY3LCAzMCwgMTE1LCA5NiwgMjMxLCAxNDgsIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDI1NCwgCisgICAgMTMzLCAxNSwgNSwgMjQ4LCAyMTQsIDIzNCwgNjcsIDMwLCAyNTIsIDE2MSwgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIDY3LCAKKyAgICAzMCwgMjUyLCA3LCAxNSwgNSwgMjQ4LCAyMTQsIDIzNCwgNjcsIDMwLCAyNDMsIDEzNiwgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIAorICAgIDY3LCAzMCwgMjQzLCAxMzcsIDk2LCAyMzEsIDE0OCwgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIDY3LCAzMCwgMjQyLCAyMTUsIAorICAgIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDI0MiwgMTk4LCAxNSwgNSwgMjQ4LCAyMTQsIDIzNCwgNjcsIDMwLCAKKyAgICAyNDIsIDEwNCwgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIDY3LCAzMCwgMTYyLCAxNSwgNSwgMjQ4LCAyMTQsIDIzNCwgNjcsIAorICAgIDMwLCAyMzUsIDE4MCwgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIDY3LCAzMCwgMjM1LCAxODEsIDk2LCAyMzIsIDk5LCAxNSwgNSwgCisgICAgMjQ4LCAyMTQsIDIzNCwgNjcsIDMwLCAyMzQsIDI0MywgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIDY3LCAzMCwgMjMzLCAxMzYsIAorICAgIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDIzMiwgOTksIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDIzMiwgCisgICAgMTAwLCA5NiwgMjMxLCAxNDcsIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDIzMiwgODUsIDE1LCA1LCAyNDgsIAorICAgIDIxNCwgMjM0LCA2NywgMzAsIDIyOSwgMTA4LCAxNSwgNSwgMjQ4LCAyMTQsIDIzNCwgNjcsIDMwLCAyMjYsIDIzLCA5NiwgCisgICAgMjI2LCAyMiwgMTUsIDUsIDI0OCwgMjE0LCAyMzQsIDY3LCAzMCwgMjE5LCAxOTIsIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCAKKyAgICA2NywgMzAsIDIxNywgNzMsIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDIxNCwgMjMxLCA5NiwgMjQyLCAxOTgsIAorICAgIDE1LCA1LCAyNDgsIDIxNCwgMjM0LCA2NywgMzAsIDIxNCwgMTI2LCAxNSwgNSwgMjQ4LCAxODgsIDE1LCA1LCAyNDgsIDE2NywgCisgICAgMTUsIDUsIDI0OCwgMTY2LCAxNSwgNSwgMjQ4LCAxNjUsIDE1LCA1LCAyNDgsIDQsIDE1LCA1LCAyNDcsIDI0MywgMTUsIDUsIAorICAgIDI0NywgMjE4LCAxNSwgNSwgMjQ3LCAyMTksIDMwLCAyMjAsIDY0LCAxNSwgNSwgMjQ3LCAyMTcsIDE1LCA1LCAyNDcsIDIwNywgCisgICAgMTUsIDUsIDI0NywgMjA4LCAyMzQsIDIwOSwgMTA0LCAyNDIsIDk2LCAyNDcsIDE4OCwgMTUsIDUsIDI0NywgMTg4LCAxNSwgCisgICAgNSwgMjQ2LCA3OSwgMTUsIDUsIDI0NiwgODAsIDExNywgMjQ2LCA3OSwgMTUsIDUsIDI0NiwgODAsIDI0MiwgOTUsIDE1LCA1LCAKKyAgICAyNDYsIDgwLCAyMjAsIDQ2LCAxNSwgNSwgMjQ2LCA3NywgMTUsIDUsIDI0NiwgNzgsIDMwLCAyNDUsIDczLCAxNSwgNSwgCisgICAgMjQ2LCA3NiwgMTUsIDUsIDI0NiwgNzUsIDE1LCA1LCAyNDYsIDc0LCAxNSwgNSwgMjQ2LCA3MywgMTUsIDUsIDI0NiwgNjksIAorICAgIDE1LCA1LCAyNDYsIDY3LCAxNSwgNSwgMjQ2LCA2OCwgMjQyLCA5NSwgMTUsIDUsIDI0NiwgNjgsIDI0MiwgOTYsIDI0MiwgCisgICAgOTUsIDE1LCA1LCAyNDYsIDY2LCAxNSwgNSwgMjQ2LCA1OSwgMTUsIDUsIDc1LCAxNSwgNSwgMTYwLCAzMCwgMjI2LCAyMiwgCisgICAgMTUsIDUsIDE2MCwgMTE3LCAxNjAsIDIyNywgMTk2LCAxMTcsIDIyNywgMTk1LCAxNSwgNSwgMjQ1LCAyMzUsIDE1LCA1LCAKKyAgICAyNDUsIDIzNiwgMzAsIDExNSwgOTYsIDI0MiwgNTAsIDk2LCAyNDgsIDIyMiwgMTUsIDUsIDI0NSwgMjM2LCAzMCwgMjQzLCAKKyAgICA5NywgMTUsIDUsIDI0NSwgMjM2LCAzMCwgMjMwLCAyMzEsIDE1LCA1LCAyNDUsIDIzNiwgMzAsIDIyMiwgOSwgMTUsIDUsIAorICAgIDI0NSwgMjM2LCAzMCwgMjIwLCA2NCwgMTUsIDUsIDI0NSwgMjM2LCAzMCwgNzAsIDE1LCA1LCAyNDUsIDIxMiwgMTUsIDUsIAorICAgIDI0NSwgMjAxLCAxNSwgNSwgMjQ1LCAxNzUsIDE1LCA1LCAyNDUsIDE1MSwgMTUsIDUsIDI0NSwgMTUyLCAzMCwgMjQzLCAKKyAgICAxMDUsIDE1LCA1LCAyNDUsIDE1MiwgMzAsIDI0MywgMTA2LCAyMTYsIDI0MCwgMTUsIDUsIDI0NSwgMTUyLCAzMCwgMjMxLCAKKyAgICA5MiwgMTUsIDUsIDI0NSwgMTUyLCAyNDksIDEyNiwgMjQ1LCAxNTEsIDE1LCA1LCAyNDUsIDE1MiwgMjI2LCAxNjUsIDI0NSwgCisgICAgMTUxLCAxNSwgNSwgMjQ1LCAxNTIsIDIxOCwgMjM0LCAxNSwgNSwgMjQ1LCA5MCwgMTUsIDUsIDI0NSwgODgsIDE1LCA1LCAKKyAgICAyNDUsIDczLCAxNSwgNSwgMjQ1LCAxMSwgMTUsIDUsIDI0NSwgMTIsIDMwLCA2MSwgMTUsIDUsIDI0NSwgMTIsIDMwLCAxMTUsIAorICAgIDk2LCAyMzMsIDEwNSwgMTUsIDUsIDI0NSwgMTIsIDMwLCAxMTUsIDk2LCAyMzMsIDEwNiwgMzAsIDIzMywgMTA1LCAxNSwgNSwgCisgICAgMjQ1LCAxMiwgMzAsIDI1NCwgMTI0LCAxNSwgNSwgMjQ1LCAxMiwgMzAsIDI1MiwgMTc3LCAxNSwgNSwgMjQ1LCAxMiwgMzAsIAorICAgIDI0NiwgNjgsIDI0MiwgOTUsIDE1LCA1LCAyNDUsIDEyLCAzMCwgMjQ2LCA2OCwgMjQyLCA5NiwgMjQyLCA5NSwgMTUsIDUsIAorICAgIDI0NSwgMTIsIDMwLCAxNjIsIDE1LCA1LCAyNDUsIDEyLCAzMCwgMjQyLCA1MCwgMjQyLCA5NSwgMTUsIDUsIDI0NSwgMTIsIAorICAgIDMwLCAyMzYsIDM3LCAyNDIsIDk1LCAxNSwgNSwgMjQ1LCAxMiwgMzAsIDIzNCwgMjA4LCAxNSwgNSwgMjQ1LCAxMiwgMzAsIAorICAgIDIzNCwgMjA5LCAyMTgsIDIzNCwgMTUsIDUsIDI0NSwgMTIsIDMwLCAyMzMsIDIxNiwgMTUsIDUsIDI0NSwgMTIsIDMwLCAKKyAgICAyMzMsIDEzNiwgMTUsIDUsIDI0NSwgMTIsIDMwLCAyMzMsIDEwNiwgMzAsIDIzMywgMTA1LCAxNSwgNSwgMjQ1LCAxMiwgMzAsIAorICAgIDIzMiwgMjQyLCAxNSwgNSwgMjQ1LCAxMiwgMzAsIDIzMiwgOTksIDE1LCA1LCAyNDUsIDEyLCAzMCwgMjE0LCAyMzAsIDE1LCAKKyAgICA1LCAyNDUsIDEyLCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyNDMsIDEzNiwgMTUsIDUsIDI0MywgMTM3LCAyNDIsIDk1LCAxNSwgCisgICAgNSwgMjQzLCAxMzQsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDExNSwgOTYsIDI0OCwgMjIzLCA5NiwgMTYyLCAxNSwgNSwgMjQzLCAKKyAgICAxMzUsIDMwLCAxMTUsIDk2LCAxNjIsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDExNSwgOTYsIDIzNiwgMzYsIDE1LCA1LCAyNDMsIAorICAgIDEzNSwgMzAsIDI1NSwgMjUsIDIxNiwgMjQxLCA5NiwgMjE3LCA5NCwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjU0LCAxMjQsIAorICAgIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI1MywgMjMyLCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyNTMsIDIzMSwgOTYsIDI0MywgCisgICAgMTE5LCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyNTIsIDE3NywgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjUyLCAxNDIsIDk2LCAKKyAgICAyMDUsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI1MSwgOTksIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI1MSwgMTAwLCA5NiwgCisgICAgMjA1LCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyNDgsIDIyMiwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjQ4LCA0LCAxNSwgNSwgCisgICAgMjQzLCAxMzUsIDMwLCAyNDcsIDIxOSwgMzAsIDIyMCwgNjQsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI0NiwgNzcsIDE1LCA1LCAKKyAgICAyNDMsIDEzNSwgMzAsIDI0NSwgMTc1LCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyNDUsIDE3NiwgOTYsIDIzMywgMTM2LCAxNSwgCisgICAgNSwgMjQzLCAxMzUsIDMwLCAyNDUsIDE1MSwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjQ1LCAxNTIsIDMwLCAyNDMsIDEwNiwgCisgICAgMjE2LCAyNDAsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI0MywgMTA2LCAyMTYsIDI0MCwgMTUsIDUsIDI0MywgMTM1LCAzMCwgCisgICAgMjQzLCA5NywgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjQyLCAyMTUsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI0MiwgMjEzLCAKKyAgICAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyNDIsIDIxNCwgOTYsIDYxLCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyNDIsIDE5OSwgOTYsIAorICAgIDIxOCwgODQsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI0MiwgNTAsIDk2LCAyMzIsIDEwMCwgOTYsIDI0NSwgNzMsIDE1LCA1LCAKKyAgICAyNDMsIDEzNSwgMzAsIDI0MiwgMzEsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDI0MiwgMzIsIDk2LCAyMzMsIDEzNiwgMTUsIDUsIAorICAgIDI0MywgMTM1LCAzMCwgMjQxLCAxODIsIDk2LCAyMzIsIDI0MiwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjQwLCAyMTksIDE1LCAKKyAgICA1LCAyNDMsIDEzNSwgMzAsIDIzNiwgMzcsIDI0MiwgOTUsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDIzNSwgMTY3LCA5NiwgCisgICAgMjQwLCAyMjQsIDk2LCAyNTMsIDIzMiwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjM0LCAyNDMsIDE1LCA1LCAyNDMsIDEzNSwgCisgICAgMzAsIDIzNCwgMjA4LCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyMzQsIDkwLCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyMzQsIDkxLCAKKyAgICA5NiwgMjMzLCAxMDUsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDIzMywgMjE3LCA5NiwgMjU0LCAxMjQsIDE1LCA1LCAyNDMsIAorICAgIDEzNSwgMzAsIDIzMywgMTM2LCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyMzEsIDkzLCA5NiwgMjQ1LCAxNTEsIDE1LCA1LCAKKyAgICAyNDMsIDEzNSwgMzAsIDIzMCwgMjMxLCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyMjcsIDE5NSwgMTUsIDUsIDI0MywgMTM1LCAKKyAgICAzMCwgMjI3LCAxOTYsIDExNywgMjI3LCAxOTUsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDE5MCwgMTUsIDUsIDI0MywgMTM1LCAKKyAgICAzMCwgMjIyLCA5LCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyMjEsIDIzMiwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjIwLCA2NCwgCisgICAgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjIwLCA2NSwgOTYsIDIxNSwgOTksIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDIyMCwgMzEsIAorICAgIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDIxOCwgNDQsIDE1LCA1LCAyNDMsIDEzNSwgMzAsIDIxNywgNzMsIDE1LCA1LCAyNDMsIAorICAgIDEzNSwgMzAsIDcwLCAxNSwgNSwgMjQzLCAxMzUsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIDI0MywgMTM1LCAzMCwgMjE0LCAKKyAgICAyMjAsIDk2LCAyNDYsIDc5LCAxNSwgNSwgMjQzLCAxMzUsIDExNywgMjQzLCAxMzQsIDE1LCA1LCAyNDMsIDEyOSwgMTUsIDUsIAorICAgIDI0MywgMTMwLCAyNDksIDEyNiwgMjQzLCAxMjksIDE1LCA1LCAyNDMsIDEyNywgMTUsIDUsIDI0MywgMTI4LCAxMTcsIDI0MywgCisgICAgMTI4LCAyNDMsIDk4LCAxMTcsIDI0MywgOTcsIDE1LCA1LCAyNDMsIDExOSwgMTUsIDUsIDI0MywgMTIwLCAyNDMsIDEyOCwgCisgICAgMTE3LCAyNDMsIDEyOCwgMjQzLCA5OCwgMTE3LCAyNDMsIDk3LCAxNSwgNSwgMjQzLCAxMTgsIDE1LCA1LCAyNDMsIDExNiwgCisgICAgMTUsIDUsIDI0MywgMTA3LCAxNSwgNSwgMjQzLCAxMDUsIDE1LCA1LCAyNDMsIDEwNiwgMjE2LCAyNDAsIDE1LCA1LCAyNDMsIAorICAgIDEwNiwgMTE3LCAyNDMsIDEwNSwgMTUsIDUsIDI0MywgMTA2LCAyNDksIDEyNiwgMjQzLCAxMDUsIDE1LCA1LCAyNDMsIDk3LCAKKyAgICAxNSwgNSwgMjQzLCA5NiwgMTUsIDUsIDI0MywgOTEsIDE1LCA1LCAyNDMsIDM3LCAxNSwgNSwgMjQzLCAzOCwgMzAsIDIzMywgCisgICAgMTk3LCAxNSwgNSwgMjQyLCAyMTUsIDE1LCA1LCAyNDIsIDIxNiwgMzAsIDc1LCAxNSwgNSwgMjQyLCAyMTYsIDMwLCA3MCwgCisgICAgMTUsIDUsIDI0MiwgMjE2LCAyNDksIDEyNiwgMjQyLCAyMTUsIDE1LCA1LCAyNDIsIDIxMywgMTUsIDUsIDI0MiwgMjE0LCAKKyAgICAxMTcsIDI0MiwgMjEzLCAxNSwgNSwgMjQyLCAyMTQsIDI0OSwgMTI2LCAyNDIsIDIxMywgMTUsIDUsIDI0MiwgMjEwLCAxNSwgCisgICAgNSwgMjQyLCAxOTgsIDE1LCA1LCAyNDIsIDE5OSwgMjQyLCA5NSwgMTUsIDUsIDI0MiwgMTk2LCAxNSwgNSwgMjQyLCAxOTcsIAorICAgIDMwLCAxMTUsIDk2LCAyMzYsIDM2LCAxNSwgNSwgMjQyLCAxOTcsIDMwLCAyNDMsIDEwNiwgMjE2LCAyNDAsIDE1LCA1LCAKKyAgICAyNDIsIDE5NywgMzAsIDIzNiwgMzYsIDE1LCA1LCAyNDIsIDE5NywgMzAsIDIzMiwgMTAwLCA5NiwgMjM2LCAzNiwgMTUsIDUsIAorICAgIDI0MiwgMTk3LCAzMCwgMTkwLCAxNSwgNSwgMjQyLCAxOTMsIDE1LCA1LCAyNDIsIDE5MSwgMTUsIDUsIDI0MiwgMTkyLCAKKyAgICAyNDksIDEyNiwgMjQyLCAxOTEsIDE1LCA1LCAyNDIsIDE5MiwgMzAsIDI1MiwgMTc3LCAxNSwgNSwgMjQyLCAxOTIsIDMwLCAKKyAgICAyMTcsIDczLCAxNSwgNSwgMjQyLCAxOTIsIDIxNiwgMjQwLCAxNSwgNSwgMjQyLCAxMTQsIDE1LCA1LCAyNDIsIDExNSwgCisgICAgMjQ5LCAxMjYsIDI0MiwgMTE0LCAxNSwgNSwgMjQyLCAxMTIsIDE1LCA1LCAyNDIsIDExMywgMzAsIDIzNCwgMjQzLCAxNSwgCisgICAgNSwgMjQyLCAxMTMsIDMwLCAyMzQsIDI0NCwgMzAsIDIzNiwgMzcsIDI0MiwgOTUsIDE1LCA1LCAyNDIsIDExMywgMzAsIAorICAgIDIyNywgMTk1LCAxNSwgNSwgMjQyLCAxMTMsIDMwLCAyMjIsIDEwLCA5NiwgMjE1LCAxMTQsIDE1LCA1LCAyNDIsIDExMywgCisgICAgMjQyLCA5NSwgMTUsIDUsIDI0MiwgMTA0LCAxNSwgNSwgMjQyLCAxMDUsIDMwLCAxMTUsIDk2LCAyMzMsIDE5NywgMTUsIDUsIAorICAgIDI0MiwgMTA1LCAzMCwgMjMzLCAxOTcsIDE1LCA1LCAyNDIsIDEwNSwgMTE3LCAyNDIsIDEwNSwgMjMyLCA5MiwgMTUsIDUsIAorICAgIDI0MiwgOTksIDE1LCA1LCAyNDIsIDk3LCAxNSwgNSwgMjQyLCA5OCwgMzAsIDIyMCwgNjQsIDE1LCA1LCAyNDIsIDg5LCAxNSwgCisgICAgNSwgMjQyLCA4OCwgMTUsIDUsIDI0MiwgODUsIDE1LCA1LCAyNDIsIDg0LCAxNSwgNSwgMTYyLCAxNSwgNSwgMjQyLCA1MCwgCisgICAgMjE2LCAyNDAsIDE1LCA1LCAyNDIsIDUwLCAyNDIsIDk1LCAxNSwgNSwgMjQyLCAzMSwgMTUsIDUsIDI0MSwgMTgxLCAxNSwgCisgICAgNSwgMjQxLCAxODIsIDMwLCAyNTMsIDIzMiwgMTUsIDUsIDI0MSwgMTgyLCAzMCwgMjUzLCAyMzAsIDE1LCA1LCAyNDEsIAorICAgIDE4MiwgMzAsIDI1MiwgMTc3LCAxNSwgNSwgMjQxLCAxODIsIDMwLCAyNDcsIDE4OCwgMTUsIDUsIDI0MSwgMTgyLCAzMCwgCisgICAgMjQzLCAxMjcsIDE1LCA1LCAyNDEsIDE4MiwgMzAsIDIzNCwgODIsIDE1LCA1LCAyNDEsIDE4MiwgMzAsIDIyNywgMTk1LCAKKyAgICAxNSwgNSwgMjQxLCAxODIsIDMwLCAyMjAsIDY0LCAxNSwgNSwgMjQxLCAxODIsIDMwLCA3MCwgMTUsIDUsIDI0MCwgMjIzLCAKKyAgICAxNSwgNSwgMjQwLCAyMTksIDE1LCA1LCAyNDAsIDIyMCwgMzAsIDI1NCwgMTI0LCAxNSwgNSwgMjQwLCAyMjAsIDMwLCAyNDIsIAorICAgIDMxLCAxNSwgNSwgMjQwLCAyMjAsIDMwLCAyMzQsIDIwOCwgMTUsIDUsIDI0MCwgMjIwLCAzMCwgMjMyLCAxOTgsIDE1LCA1LCAKKyAgICAyNDAsIDIyMCwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjQwLCAyMTYsIDE1LCA1LCA3MywgMTUsIDUsIDI0MCwgMTU1LCA2MSwgCisgICAgMTUsIDUsIDI0MCwgMTE2LCAxNSwgNSwgMjM2LCA2NCwgMTUsIDUsIDIzNiwgNjUsIDExNywgMjM2LCA2NSwgMjUxLCA5OSwgCisgICAgMTUsIDUsIDIzNiwgNjUsIDExNywgMjM2LCA2NSwgMjE4LCAyMzQsIDE1LCA1LCAyMzYsIDM5LCAxNSwgNSwgMjM2LCAzNiwgCisgICAgMTUsIDUsIDIzNiwgMzcsIDI0NywgMjQzLCAxNSwgNSwgMjM2LCAzNywgMjIzLCAzNiwgMTUsIDUsIDIzNiwgMzcsIDExNywgCisgICAgMjM2LCAzNywgMjIwLCAxNSwgMTE3LCAyMjAsIDE1LCAyMTQsIDIyMCwgMTE3LCAyMTQsIDIxOSwgMTUsIDUsIDIzNiwgMzcsIAorICAgIDI0MiwgOTUsIDE1LCA1LCAyMzYsIDI4LCAxNSwgNSwgMjM2LCAyOSwgMzAsIDI0MywgMTA2LCAyMTYsIDI0MCwgMTUsIDUsIAorICAgIDIzNiwgMjcsIDE1LCA1LCAyMzYsIDE3LCAxNSwgNSwgMjM2LCAxOCwgMzAsIDIxNywgNzMsIDE1LCA1LCAyMzYsIDE4LCAKKyAgICAyNDksIDEyNiwgMjM2LCAxNywgMTUsIDUsIDIzNiwgMTgsIDIyNiwgMTY1LCAyMzYsIDE3LCAxNSwgNSwgMjM2LCAxOCwgCisgICAgMjE4LCAyMzQsIDE1LCA1LCAyMzYsIDEwLCAxNSwgNSwgMjM2LCAwLCAxNSwgNSwgMjM1LCAxODAsIDE1LCA1LCAyMzUsIAorICAgIDE2NiwgMTUsIDUsIDE3NiwgMTUsIDUsIDIzNSwgMTQsIDMwLCA2MSwgMTUsIDUsIDIzNSwgMTQsIDMwLCAyNTUsIDAsIDE1LCAKKyAgICA1LCAyMzUsIDE0LCAzMCwgMjU1LCAxLCA5NiwgMjMzLCAyMTYsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjUzLCAyMzAsIDE1LCAKKyAgICA1LCAyMzUsIDE0LCAzMCwgMjUyLCAxNzcsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjUyLCAxNjEsIDE1LCA1LCAyMzUsIDE0LCAKKyAgICAzMCwgMTMwLCAxNSwgNSwgMjM1LCAxNCwgMzAsIDI1MiwgNywgMTUsIDUsIDIzNSwgMTQsIDMwLCAyNDUsIDg4LCAxNSwgNSwgCisgICAgMjM1LCAxNCwgMzAsIDI0NSwgNzMsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjQzLCAxMzYsIDE1LCA1LCAyMzUsIDE0LCAzMCwgCisgICAgMjQzLCAxMTksIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjQzLCAxMDYsIDIxNiwgMjQwLCAxNSwgNSwgMjM1LCAxNCwgMzAsIAorICAgIDI0MywgOTcsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjQzLCA5OCwgOTYsIDIyMCwgMTAyLCA5NiwgNjEsIDE1LCA1LCAyMzUsIAorICAgIDE0LCAzMCwgMjQyLCAyMTUsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjQyLCAxOTgsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjQyLCAKKyAgICAxOTIsIDk2LCAyMjEsIDIzMiwgMTUsIDUsIDIzNSwgMTQsIDMwLCAyNDIsIDE5MiwgMjQ5LCAxMjYsIDI0MiwgMTkxLCAxNSwgCisgICAgNSwgMjM1LCAxNCwgMzAsIDI0MiwgMTE0LCAxNSwgNSwgMjM1LCAxNCwgMzAsIDI0MiwgODgsIDE1LCA1LCAyMzUsIDE0LCAKKyAgICAzMCwgMjM2LCAzNiwgMTUsIDUsIDIzNSwgMTQsIDMwLCAyMzYsIDE3LCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIzNCwgMjQzLCAKKyAgICAxNSwgNSwgMjM1LCAxNCwgMzAsIDIzNCwgOTMsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjM0LCA5MCwgMTUsIDUsIDIzNSwgMTQsIAorICAgIDMwLCAyMzIsIDI0MiwgMTUsIDUsIDIzNSwgMTQsIDMwLCAyMzIsIDk5LCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIzMSwgOTIsIAorICAgIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjMxLCA5MywgOTYsIDI0NiwgNzksIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjMxLCA5MywgCisgICAgOTYsIDI0MiwgMjE1LCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIzMSwgOTMsIDk2LCAyMTcsIDIzLCAxNSwgNSwgMjM1LCAxNCwgCisgICAgMzAsIDIzMCwgMjMxLCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIzMCwgMjMyLCA5NiwgMjI3LCAxOTAsIDE1LCA1LCAyMzUsIDE0LCAKKyAgICAzMCwgMjI5LCAxMDgsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjI3LCAxOTUsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjI1LCAxMDksIAorICAgIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjIyLCAxNDEsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjA2LCAxNSwgNSwgMjM1LCAxNCwgCisgICAgMzAsIDIyMSwgMjMyLCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIyMCwgMTAzLCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIyMCwgNjQsIAorICAgIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjIwLCAzMSwgMTUsIDUsIDIzNSwgMTQsIDMwLCAyMTksIDIyNiwgMTUsIDUsIDIzNSwgCisgICAgMTQsIDMwLCAyMTksIDE4MywgMTUsIDUsIDIzNSwgMTQsIDMwLCAyMTgsIDUyLCAxNSwgNSwgMjM1LCAxNCwgMzAsIDIxNywgCisgICAgNTEsIDE1LCA1LCAyMzUsIDE0LCAzMCwgNzAsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMzUsIDE0LCAKKyAgICAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjE0LCAxOTMsIDMwLCAxOTAsIDE1LCA1LCAyMzUsIDE0LCAzMCwgCisgICAgMjE0LCAxMjYsIDE1LCA1LCAyMzUsIDE0LCAzMCwgMjEwLCA0NCwgMTUsIDUsIDIzNSwgMTIsIDE1LCA1LCAyMzUsIDEzLCAKKyAgICAyNDksIDEyNiwgMjM1LCAxMiwgMTUsIDUsIDIzNSwgNSwgMTUsIDUsIDIzNSwgMiwgMTUsIDUsIDIzNSwgMCwgMTUsIDUsIAorICAgIDIzNCwgMjU1LCAxNSwgNSwgMjM0LCAyNTMsIDE1LCA1LCAyMzQsIDI1NCwgMTE3LCAyMzQsIDI1MywgMTUsIDUsIDIzNCwgCisgICAgMjQzLCAxNSwgNSwgMjM0LCAyNDQsIDMwLCAyMzYsIDM3LCAyNDIsIDk1LCAxNSwgNSwgMjM0LCAyMzksIDE1LCA1LCAyMzQsIAorICAgIDI0MCwgMzAsIDI1MiwgMTc3LCAxNSwgNSwgMjM0LCAyNDAsIDI0OSwgMTI2LCAyMzQsIDIzOSwgMTUsIDUsIDIzNCwgMjM3LCAKKyAgICAxNSwgNSwgMjM0LCAyMzYsIDE1LCA1LCAyMzQsIDIwOCwgMTUsIDUsIDIzNCwgMjA5LCAyMzMsIDExOSwgMzAsIDEwNCwgCisgICAgMTE3LCAyMzMsIDExOSwgMzAsIDcwLCAxNSwgNSwgMjM0LCAyMDksIDExNywgMjM0LCAyMDksIDIzMywgMTE5LCAzMCwgMTA0LCAKKyAgICAxMTcsIDIzMywgMTE5LCAzMCwgNzAsIDE1LCA1LCAyMzQsIDE1OCwgMTUsIDUsIDIzNCwgOTMsIDE1LCA1LCAyMzQsIDk0LCAKKyAgICAzMCwgMjUyLCAxNzcsIDE1LCA1LCAyMzQsIDk0LCAzMCwgNzAsIDE1LCA1LCAyMzQsIDk0LCAzMCwgMjE0LCAyMTksIDE1LCAKKyAgICA1LCAyMzQsIDkwLCAxNSwgNSwgMjM0LCA4MiwgMTUsIDUsIDIzNCwgNjksIDE1LCA1LCAyMzQsIDY4LCAxNSwgNSwgMjM0LCAKKyAgICA2NiwgMTUsIDUsIDIzNCwgNjcsIDExNywgMjM0LCA2NiwgMTUsIDUsIDIzMywgMjE4LCAxNSwgNSwgMjMzLCAyMTksIDExNywgCisgICAgMjQxLCAxODIsIDMwLCAyNTMsIDIzMSwgMjMzLCAyMTksIDExNywgMjQxLCAxODIsIDMwLCAyNTMsIDIzMCwgMTUsIDUsIAorICAgIDIzMywgMjE2LCAxNSwgNSwgMjMzLCAyMTQsIDE1LCA1LCAyMzMsIDIxNSwgMjE0LCAxMiwgMTcsIDE1LCA1LCAyMzMsIDIxMywgCisgICAgMTUsIDUsIDIzMywgMjEwLCAxNSwgNSwgMjMzLCAyMTEsIDI0MiwgOTUsIDE1LCA1LCAyMzMsIDIwOSwgMTUsIDUsIDIzMywgCisgICAgMTk3LCAxNSwgNSwgMjMzLCAxOTgsIDIyNiwgMTY1LCAyMzMsIDE5NywgMTUsIDUsIDIzMywgMTkyLCAxNSwgNSwgMjMzLCAKKyAgICAxNzMsIDE1LCA1LCAyMzMsIDEzNiwgMTUsIDUsIDIzMywgMTE4LCAxNSwgNSwgMjMzLCAxMTksIDMwLCA2MSwgMTUsIDUsIAorICAgIDIzMywgMTE5LCAzMCwgMTE1LCA5NiwgMjQ4LCAyMjMsIDk2LCAxNjIsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDExNSwgOTYsIAorICAgIDI0MywgOTcsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDExNSwgOTYsIDIzMywgMTA1LCAxNSwgNSwgMjMzLCAxMTksIDMwLCAKKyAgICAyNTQsIDE3OSwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjU0LCAxMjQsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDI1MywgMjMzLCAKKyAgICAyMTAsIDQwLCAyMTYsIDI0MCwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjUyLCAxNzcsIDE1LCA1LCAyMzMsIDExOSwgMzAsIAorICAgIDI1MiwgNywgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjQ4LCAxNjcsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDI0NSwgMTUxLCAxNSwgCisgICAgNSwgMjMzLCAxMTksIDMwLCAyNDMsIDEzNiwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjQzLCA5NywgMTUsIDUsIDIzMywgMTE5LCAKKyAgICAzMCwgMjQyLCAxMDQsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDI0MiwgMTA1LCA5NiwgMjQyLCAxMDQsIDE1LCA1LCAyMzMsIAorICAgIDExOSwgMzAsIDE2MiwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjQyLCAzMSwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjQxLCAKKyAgICAxODIsIDMwLCAyMjcsIDE5NSwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjM2LCAzNywgMjQyLCA5NSwgMTUsIDUsIDIzMywgCisgICAgMTE5LCAzMCwgMjM2LCAxNywgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjM2LCAxOCwgOTYsIDE2MiwgMTUsIDUsIDIzMywgMTE5LCAKKyAgICAzMCwgMjM2LCAxOCwgOTYsIDIzMiwgOTksIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIzNCwgOTMsIDE1LCA1LCAyMzMsIDExOSwgCisgICAgMzAsIDIzNCwgODIsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIzMywgMjE2LCAxNSwgNSwgMjMzLCAxMTksIDMwLCAyMzMsIAorICAgIDIxMCwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjMzLCAyMTEsIDk2LCAyNDEsIDE4MiwgOTYsIDYxLCAxNSwgNSwgMjMzLCAKKyAgICAxMTksIDMwLCAyMzMsIDExOCwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjMyLCAxOTgsIDE1LCA1LCAyMzMsIDExOSwgMzAsIAorICAgIDIzMiwgOTksIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIzMiwgODcsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIzMSwgOTIsIDE1LCAKKyAgICA1LCAyMzMsIDExOSwgMzAsIDIzMSwgOTMsIDk2LCAyNDUsIDE1MSwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjMwLCA2MiwgMTUsIAorICAgIDUsIDIzMywgMTE5LCAzMCwgMjI5LCAxMDgsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIyMCwgNjUsIDk2LCAyMTgsIDQ0LCAxNSwgCisgICAgNSwgMjMzLCAxMTksIDMwLCAyMjAsIDExLCA5NiwgMjQyLCAxOTIsIDk2LCAyNDUsIDg4LCAxNSwgNSwgMjMzLCAxMTksIDMwLCAKKyAgICAyMjAsIDExLCA5NiwgMjQyLCAxOTIsIDIxNiwgMjQwLCAxNSwgNSwgMjMzLCAxMTksIDMwLCAyMTksIDIyNCwgMTUsIDUsIAorICAgIDIzMywgMTE5LCAzMCwgMjE5LCAyMjUsIDk2LCAyMTksIDIyNCwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjE4LCA0NCwgMTUsIAorICAgIDUsIDIzMywgMTE5LCAzMCwgMjE3LCA4NSwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMjE3LCA3MywgMTUsIDUsIDIzMywgMTE5LCAKKyAgICAzMCwgMjE3LCAyNCwgOTYsIDExNSwgOTYsIDIxOCwgODUsIDk2LCAxOTcsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDcwLCAxNSwgCisgICAgNSwgMjMzLCAxMTksIDMwLCAxMDQsIDk2LCA2MSwgMTUsIDUsIDIzMywgMTE5LCAzMCwgMTA0LCA5NiwgMTA0LCA5NiwgNzAsIAorICAgIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIxNCwgMjMxLCA5NiwgMjUzLCAyMzIsIDE1LCA1LCAyMzMsIDExOSwgMzAsIDIxNCwgCisgICAgMjE5LCAxNSwgNSwgMjMzLCAxMTksIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIzMywgMTE5LCAyMTgsIDIzNCwgMTUsIDUsIAorICAgIDIzMywgMTE2LCAxNSwgNSwgMjMzLCAxMTcsIDMwLCAyMjAsIDY0LCAxNSwgNSwgMjMzLCAxMTcsIDMwLCAyMjAsIDY1LCA5NiwgCisgICAgMjE4LCA0NCwgMTUsIDUsIDIzMywgMTE3LCAyNDIsIDk1LCAxNSwgNSwgMjMzLCAxMTcsIDI0MiwgOTYsIDExNywgMjMzLCAKKyAgICAxMTcsIDI0MiwgOTYsIDIyMCwgNjQsIDE1LCA1LCAyMzMsIDExMiwgMTUsIDUsIDIzMywgMTA1LCAxNSwgNSwgMjMzLCAxMDYsIAorICAgIDMwLCAyMzMsIDEwNSwgMTUsIDUsIDIzMywgMTAzLCAxNSwgNSwgMjMzLCAxMDQsIDMwLCAyMzMsIDE5NywgMTUsIDUsIDIzMywgCisgICAgMTA0LCAzMCwgMjMzLCAxOTgsIDk2LCAyMjIsIDE0MSwgMTUsIDUsIDIzMiwgMjQyLCAxNSwgNSwgMjMyLCAyMjcsIDE1LCA1LCAKKyAgICAyMzIsIDIxNywgMTUsIDUsIDIzMiwgMTk4LCAxNSwgNSwgMjMyLCA5OSwgMTUsIDUsIDIzMiwgMTAwLCAzMCwgMjUyLCAxNzcsIAorICAgIDE1LCA1LCAyMzIsIDk3LCAxNSwgNSwgMjMyLCA5OCwgMzAsIDI1NCwgMTc5LCAxNSwgNSwgMjMyLCA5OCwgMzAsIDI1MiwgCisgICAgMTc3LCAxNSwgNSwgMjMyLCA5OCwgMzAsIDI0NSwgNzMsIDE1LCA1LCAyMzIsIDk4LCAzMCwgMjQ1LCA3NCwgMjE2LCAyNDAsIAorICAgIDE1LCA1LCAyMzIsIDk4LCAzMCwgMjQzLCAxMDYsIDIxNiwgMjQwLCAxNSwgNSwgMjMyLCA5OCwgMzAsIDI0MSwgMTgyLCAzMCwgCisgICAgMjUyLCAxNzcsIDE1LCA1LCAyMzIsIDk4LCAzMCwgMjM2LCAxNywgMTUsIDUsIDIzMiwgOTgsIDMwLCAyMzUsIDIsIDE1LCA1LCAKKyAgICAyMzIsIDk4LCAzMCwgMjM1LCAwLCAxNSwgNSwgMjMyLCA5OCwgMzAsIDIzNSwgMSwgOTYsIDI1MywgMjMyLCAxNSwgNSwgCisgICAgMjMyLCA5OCwgMzAsIDIzNCwgOTMsIDE1LCA1LCAyMzIsIDk4LCAzMCwgMjMzLCAxMzcsIDk2LCAyNTMsIDIzMiwgMTUsIDUsIAorICAgIDIzMiwgOTgsIDMwLCAyMzMsIDExOCwgMTUsIDUsIDIzMiwgOTgsIDMwLCAyMzEsIDkzLCA5NiwgMjQ1LCAxNTEsIDE1LCA1LCAKKyAgICAyMzIsIDk4LCAzMCwgMjI5LCAxMDgsIDE1LCA1LCAyMzIsIDk4LCAzMCwgMjI3LCAyMzgsIDE1LCA1LCAyMzIsIDk4LCAzMCwgCisgICAgMjE5LCAxOTMsIDk2LCAyNTMsIDIzMiwgMTUsIDUsIDIzMiwgOTgsIDMwLCAyMTksIDE3NSwgOTYsIDI1MSwgMTI2LCAxNSwgCisgICAgNSwgMjMyLCA5OCwgMzAsIDIxNSwgMTE0LCAxNSwgNSwgMjMyLCA5OCwgMjE2LCAyNDAsIDE1LCA1LCAyMzIsIDk4LCAyNDksIAorICAgIDEyNiwgMjMyLCA5NywgMTUsIDUsIDIzMiwgOTgsIDIyNiwgMTY1LCAyMzIsIDk3LCAxNSwgNSwgMjMyLCA5OCwgMjE4LCAKKyAgICAyMzQsIDE1LCA1LCAyMzIsIDk4LCAyMjAsIDQ2LCAxNSwgNSwgMjMyLCA5NiwgMTUsIDUsIDIzMiwgOTIsIDE1LCA1LCAyMzIsIAorICAgIDkzLCAxMTcsIDIzMiwgOTIsIDE1LCA1LCAyMzIsIDkzLCAyMjYsIDE2NSwgMjMyLCA5MiwgMTUsIDUsIDIzMiwgOTMsIDIyMCwgCisgICAgNDYsIDE1LCA1LCAyMzIsIDkwLCAxNSwgNSwgMjMyLCA4NywgMTUsIDUsIDIzMiwgODUsIDE1LCA1LCAyMzIsIDg2LCAxMTcsIAorICAgIDIzMiwgODUsIDE1LCA1LCAyMzIsIDg2LCAxMTcsIDIzMiwgODYsIDI0MywgOTgsIDExNywgMjQzLCA5NywgMTUsIDUsIDE4NSwgCisgICAgMTUsIDUsIDIzMSwgMjQwLCAzMCwgMjE3LCA3MywgMTUsIDUsIDIzMSwgMjQwLCAyNDIsIDk1LCAxNSwgNSwgMjMxLCAyMzksIAorICAgIDE1LCA1LCAyMzEsIDIxMSwgMTUsIDUsIDIzMSwgMTY3LCAxNSwgNSwgMjMxLCAxNDgsIDE1LCA1LCAyMzEsIDE0NywgMTUsIAorICAgIDUsIDIzMSwgOTIsIDE1LCA1LCAyMzEsIDQ4LCAxNSwgNSwgMjMwLCAyMzEsIDE1LCA1LCAyMzAsIDE4OSwgMTUsIDUsIDIzMCwgCisgICAgMTAzLCAxNSwgNSwgMjMwLCAxMDQsIDExNywgMjMwLCAxMDMsIDE1LCA1LCAyMzAsIDk0LCAxNSwgNSwgMjMwLCA5NSwgMjQyLCAKKyAgICA5NSwgMTUsIDUsIDIzMCwgNzksIDE1LCA1LCAyMzAsIDY1LCAxNSwgNSwgMjMwLCA2MiwgMTUsIDUsIDIzMCwgNjMsIDMwLCAKKyAgICA2MSwgMTUsIDUsIDIzMCwgNjMsIDMwLCAyMzMsIDE5NywgMTUsIDUsIDIzMCwgNjMsIDMwLCAyMTAsIDExNiwgMTUsIDUsIAorICAgIDIzMCwgNjMsIDExNywgMjMwLCA2MiwgMTUsIDUsIDIzMCwgNjMsIDExNywgMjMwLCA2MywgMzAsIDExNSwgOTYsIDE5NywgCisgICAgMTUsIDUsIDIzMCwgNjMsIDI0OSwgMTI2LCAyMzAsIDYyLCAxNSwgNSwgMjMwLCA2MCwgMTUsIDUsIDIzMCwgNjEsIDMwLCAKKyAgICA2MSwgMTUsIDUsIDIzMCwgNjEsIDMwLCAxMTUsIDk2LCAyNDgsIDQsIDE1LCA1LCAyMzAsIDYxLCAzMCwgMjQ4LCA0LCAxNSwgCisgICAgNSwgMjMwLCA2MSwgMjQyLCA5NSwgMTUsIDUsIDE5NywgMTUsIDUsIDIyOSwgMjI4LCAxNSwgNSwgMjI5LCAyMTcsIDE1LCA1LCAKKyAgICAyMjksIDIxOCwgMjM1LCAxOTMsIDE1LCA1LCAyMjksIDIxOCwgMzAsIDIxOSwgMjI3LCAyMTYsIDI0MCwgMTUsIDUsIDIyOSwgCisgICAgMjE4LCAyMjYsIDE2NSwgMjI5LCAyMTcsIDE1LCA1LCAyMjksIDIxNiwgMTUsIDUsIDIyOSwgMjA5LCAyMjcsIDE4MSwgMTUsIAorICAgIDUsIDIyOSwgMjA4LCAxNSwgNSwgMjI5LCAyMDcsIDE1LCA1LCAyMjksIDEwOCwgMTUsIDUsIDIyOSwgMTA5LCAzMCwgNjEsIAorICAgIDE1LCA1LCAyMjksIDEwOSwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjI5LCAxMDksIDIyMCwgNDYsIDE1LCA1LCAyMjgsIDIzNCwgCisgICAgMTUsIDUsIDIyOCwgMjM1LCAzMCwgNzUsIDE1LCA1LCAyMjgsIDIzMywgMTUsIDUsIDIyOCwgMjA0LCAxNSwgNSwgMjI4LCAKKyAgICAyMDUsIDMwLCAyNDMsIDEwNiwgMjE2LCAyNDAsIDE1LCA1LCAyMjgsIDIwNSwgMzAsIDI0MywgOTgsIDk2LCAyNDMsIDEwNiwgCisgICAgMjE2LCAyNDAsIDE1LCA1LCAyMjgsIDIwMiwgMTUsIDUsIDIyOCwgMjAzLCAzMCwgMjU0LCAxMjQsIDE1LCA1LCAyMjgsIAorICAgIDIwMywgMzAsIDI1MywgMjMyLCAxNSwgNSwgMjI4LCAyMDMsIDMwLCAyNTMsIDIzMywgOTYsIDI1MywgMjMyLCAxNSwgNSwgCisgICAgMjI4LCAyMDMsIDMwLCAyNDIsIDEwNCwgMTUsIDUsIDIyOCwgMjAzLCAzMCwgMjMxLCA5MywgOTYsIDI0MywgMTA2LCAyMTYsIAorICAgIDI0MCwgMTUsIDUsIDIyOCwgMjAzLCAzMCwgMjI5LCAxMDgsIDE1LCA1LCAyMjgsIDIwMywgMzAsIDIyNywgMTk1LCAxNSwgNSwgCisgICAgMjI4LCAyMDMsIDMwLCAyMjAsIDY0LCAxNSwgNSwgMjI4LCAyMDMsIDMwLCAyMjAsIDY1LCA5NiwgMTE1LCAyNTQsIDEyNCwgCisgICAgMTUsIDUsIDIyOCwgMjAzLCAzMCwgMjIwLCA2NSwgOTYsIDI1MywgMjMyLCAxNSwgNSwgMjI4LCAyMDMsIDMwLCAyMjAsIDY1LCAKKyAgICA5NiwgMjUzLCAyMzMsIDk2LCAyNTMsIDIzMiwgMTUsIDUsIDIyOCwgMjAzLCAzMCwgMjE0LCAyMzEsIDk2LCAyNTMsIDIzMiwgCisgICAgMTUsIDUsIDIyOCwgMjAzLCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMjgsIDE5MSwgMTUsIDUsIDIyNywgMjM4LCAxNSwgNSwgCisgICAgMjI3LCAyMTEsIDE1LCA1LCAyMjcsIDE5NSwgMTUsIDUsIDIyNywgMTk2LCAyMzMsIDExNywgMzAsIDI0MywgOTcsIDE1LCA1LCAKKyAgICAyMjcsIDE5NiwgMjMzLCAxMTcsIDMwLCAyMzEsIDE0OCwgMTUsIDUsIDIyNywgMTk2LCAyMzMsIDExNywgMzAsIDIyMiwgOSwgCisgICAgMTUsIDUsIDIyNywgMTk2LCAyMzMsIDExNywgMzAsIDIyMiwgMTAsIDExNywgMjI3LCAxOTYsIDIzMywgMTE3LCAzMCwgMjIyLCAKKyAgICA5LCAxNSwgNSwgMjI3LCAxOTYsIDIzMywgMTE3LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMjcsIDE5NiwgMjE2LCAyNDAsIAorICAgIDE1LCA1LCAyMjcsIDE5NiwgMTE3LCAyMjcsIDE5NSwgMTUsIDUsIDIyNywgMTk2LCAyNDksIDEyNiwgMjI3LCAxOTUsIDE1LCAKKyAgICA1LCAyMjcsIDE5NiwgMjQ5LCAxMjYsIDIyNywgMTk2LCAyMzMsIDExNywgMTE3LCAyMzMsIDExNiwgMTUsIDUsIDIyNywgCisgICAgMTkwLCAxNSwgNSwgMjI3LCAxOTEsIDI1NSwgMjUsIDMwLCAyNTMsIDIyNywgMTUsIDUsIDIyNywgMTkxLCAyNTUsIDI1LCAKKyAgICAzMCwgMjUyLCA3LCAxNSwgNSwgMjI3LCAxOTEsIDI1NSwgMjUsIDMwLCAyNDYsIDc1LCAxNSwgNSwgMjI3LCAxOTEsIDI1NSwgCisgICAgMjUsIDMwLCAyNDIsIDEwNCwgMTUsIDUsIDIyNywgMTkxLCAyNTUsIDI1LCAzMCwgMjM2LCAzNywgMjQyLCA5NSwgMTUsIDUsIAorICAgIDIyNywgMTkxLCAyNTUsIDI1LCAzMCwgMjM1LCAwLCAxNSwgNSwgMjI3LCAxOTEsIDI1NSwgMjUsIDMwLCAyMzMsIDEzNiwgCisgICAgMTUsIDUsIDIyNywgMTkxLCAyNTUsIDI1LCAzMCwgMjI5LCAxMDgsIDE1LCA1LCAyMjcsIDE5MSwgMjU1LCAyNSwgMzAsIAorICAgIDIxOSwgMTcyLCAxNSwgNSwgMjI3LCAxOTEsIDI1NSwgMjUsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyNywgMTkxLCAyMzQsIAorICAgIDY3LCAzMCwgMjUyLCA3LCAxNSwgNSwgMjI3LCAxOTEsIDIzNCwgNjcsIDMwLCAyNTIsIDgsIDcwLCAxNSwgNSwgMTkwLCAxNSwgCisgICAgNSwgMjI2LCA4MSwgMTUsIDUsIDIyNiwgNDgsIDE1LCA1LCAyMjYsIDIyLCAxNSwgNSwgMjI1LCAxNjIsIDE1LCA1LCAyMjUsIAorICAgIDEwOSwgMTUsIDUsIDIyNSwgMTEwLCAzMCwgNjEsIDE1LCA1LCAyMjUsIDExMCwgMzAsIDI1NSwgMjYsIDE1LCA1LCAyMjUsIAorICAgIDExMCwgMzAsIDI1MiwgNywgMTUsIDUsIDIyNSwgMTEwLCAzMCwgMjUxLCAxMjYsIDE1LCA1LCAyMjUsIDExMCwgMzAsIDc1LCAKKyAgICAxNSwgNSwgMjI1LCAxMTAsIDMwLCA3MywgMTUsIDUsIDIyNSwgMTEwLCAzMCwgMjQwLCAxMTYsIDE1LCA1LCAyMjUsIDExMCwgCisgICAgMzAsIDcwLCAxNSwgNSwgMjI1LCAxMTAsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyNSwgMTEwLCAyNDksIDEyNiwgMjI1LCAKKyAgICAxMDksIDE1LCA1LCAyMjUsIDU0LCAxNSwgNSwgMjI1LCA1NSwgMzAsIDIzNCwgMjM5LCAxNSwgNSwgMjI1LCA1NSwgMzAsIAorICAgIDIxNCwgMjE5LCAxNSwgNSwgMjI1LCA1NSwgMzAsIDIxMCwgMTE2LCAxNSwgNSwgMjI1LCA1NSwgMjI2LCAxNjUsIDIyNSwgCisgICAgNTQsIDE1LCA1LCAyMDUsIDE1LCA1LCAyMjMsIDE4MywgMTUsIDUsIDIyMywgMzYsIDE1LCA1LCAyMjIsIDE0MSwgMTUsIDUsIAorICAgIDIwNiwgMTUsIDUsIDIyMiwgMjMsIDIyNywgMTgxLCAxNSwgNSwgMjIyLCAyMiwgMTUsIDUsIDIyMiwgMjMsIDMwLCA2MSwgCisgICAgMTUsIDUsIDIyMiwgMjMsIDMwLCAyNDYsIDc5LCAxNSwgNSwgMjIyLCAyMywgMzAsIDI0NiwgNzcsIDE1LCA1LCAyMjIsIDIzLCAKKyAgICAzMCwgMTYyLCAxNSwgNSwgMjIyLCAyMywgMzAsIDIzNCwgMjQzLCAxNSwgNSwgMjIyLCAyMywgMzAsIDIzMywgMTk3LCAxNSwgCisgICAgNSwgMjIyLCAyMywgMzAsIDIzMiwgODUsIDE1LCA1LCAyMjIsIDIzLCAzMCwgMjMwLCAyMzEsIDE1LCA1LCAyMjIsIDIzLCAKKyAgICAzMCwgMjI3LCAxOTUsIDE1LCA1LCAyMjIsIDIzLCAzMCwgMjIyLCA5LCAxNSwgNSwgMjIyLCAyMywgMzAsIDIyMCwgMzEsIAorICAgIDE1LCA1LCAyMjIsIDIzLCAzMCwgMjE3LCA5NCwgMTUsIDUsIDIyMiwgMjMsIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIyMiwgCisgICAgMjMsIDMwLCAyMTQsIDIyNSwgMTUsIDUsIDIyMiwgMjMsIDMwLCAyMTQsIDE5NywgMTUsIDUsIDIyMiwgMjMsIDMwLCAyMTQsIAorICAgIDE1MCwgMTUsIDUsIDIyMiwgMjMsIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyMiwgMjMsIDExNywgMjIyLCAyMiwgMTUsIDUsIAorICAgIDIyMiwgMjMsIDI0MiwgOTUsIDE1LCA1LCAyMjIsIDksIDE1LCA1LCAyMjIsIDEwLCAyMzMsIDExOSwgMzAsIDI1MywgMjMwLCAKKyAgICAxNSwgNSwgMjIxLCAyNDAsIDE1LCA1LCAyMjEsIDIzMiwgMTUsIDUsIDIyMCwgMTAzLCAxNSwgNSwgMjIwLCAxMDEsIDE1LCAKKyAgICA1LCAyMjAsIDEwMiwgMzAsIDYxLCAxNSwgNSwgMjIwLCAxMDIsIDMwLCAyNTIsIDE3NywgMTUsIDUsIDIyMCwgMTAyLCAzMCwgCisgICAgMjQyLCAxOTEsIDE1LCA1LCAyMjAsIDEwMiwgMzAsIDIyOSwgMTA4LCAxNSwgNSwgMjIwLCAxMDIsIDMwLCAyMTksIDIyNCwgCisgICAgMTUsIDUsIDIyMCwgMTAyLCAzMCwgMjE1LCA5OSwgMTUsIDUsIDIyMCwgMTAyLCAzMCwgNzAsIDE1LCA1LCAyMjAsIDEwMiwgCisgICAgMzAsIDEwNCwgOTYsIDYxLCAxNSwgNSwgMjIwLCAxMDAsIDE1LCA1LCAyMjAsIDk4LCAxNSwgNSwgMjIwLCA3OSwgMTUsIDUsIAorICAgIDIyMCwgNjQsIDE1LCA1LCAyMjAsIDY1LCAyNDAsIDIyMywgMTUsIDUsIDIyMCwgNjUsIDExNywgMjIwLCA2NSwgMjQzLCAKKyAgICAxMjgsIDExNywgMjQzLCAxMjgsIDI0MywgOTgsIDExNywgMjQzLCA5NywgMTUsIDUsIDIyMCwgNjUsIDExNywgMjIwLCA2NSwgCisgICAgMjE3LCA5NSwgMTE3LCAyMTcsIDk1LCAyNDMsIDk4LCAxMTcsIDI0MywgOTcsIDE1LCA1LCAyMjAsIDU3LCAxNSwgNSwgMjIwLCAKKyAgICA1MiwgMTUsIDUsIDIyMCwgNDksIDE1LCA1LCAyMjAsIDQ4LCAxNSwgNSwgMjIwLCA0NSwgMTUsIDUsIDIyMCwgMzEsIDE1LCAKKyAgICA1LCAyMjAsIDMyLCAzMCwgNjEsIDE1LCA1LCAyMjAsIDMyLCAzMCwgMjM2LCAxNywgMTUsIDUsIDIyMCwgMjUsIDE1LCA1LCAKKyAgICAyMjAsIDI2LCAzMCwgNjEsIDE1LCA1LCAyMjAsIDI2LCAzMCwgMjUyLCAxNjIsIDE1LCA1LCAyMjAsIDI2LCAzMCwgMjUxLCAKKyAgICAxMTAsIDE1LCA1LCAyMjAsIDI2LCAzMCwgMjQ3LCAyMDcsIDE1LCA1LCAyMjAsIDI2LCAzMCwgMjQzLCA5NywgMTUsIDUsIAorICAgIDIyMCwgMjYsIDMwLCAyMzYsIDM2LCAxNSwgNSwgMjIwLCAyNiwgMzAsIDIzNiwgMzcsIDI0MiwgOTUsIDE1LCA1LCAyMjAsIAorICAgIDI2LCAzMCwgMjMzLCAxOTIsIDE1LCA1LCAyMjAsIDI2LCAzMCwgMjMyLCA4NywgMTUsIDUsIDIyMCwgMjYsIDMwLCAyMzAsIAorICAgIDk0LCAxNSwgNSwgMjIwLCAyNiwgMzAsIDIyMiwgOSwgMTUsIDUsIDIyMCwgMTksIDE1LCA1LCAyMjAsIDE0LCAxNSwgNSwgCisgICAgMjIwLCAxNSwgMjE2LCAyNDAsIDE1LCA1LCAyMjAsIDE1LCAxMTcsIDIyMCwgMTUsIDI1MSwgMTAwLCAxMTcsIDI1MSwgOTksIAorICAgIDE1LCA1LCAyMjAsIDEwLCAxNSwgNSwgMjE5LCAyMjYsIDE1LCA1LCAyMTksIDIyNywgMTE3LCAyMzUsIDE5NCwgMjE5LCAKKyAgICAyMjYsIDE1LCA1LCAyMTksIDIyNCwgMTUsIDUsIDIxOSwgMjIzLCAxNSwgNSwgMjE5LCAxOTIsIDE1LCA1LCAyMTksIDE5MywgCisgICAgMjQyLCA5NSwgMTUsIDUsIDIxOSwgMTgzLCAxNSwgNSwgMjE5LCAxODEsIDE1LCA1LCAyMTksIDE4MiwgMTE3LCAyMTksIAorICAgIDE4MiwgMjE5LCAyMjQsIDE1LCA1LCAyMTksIDE3NCwgMTUsIDUsIDIxOSwgMTcyLCAxNSwgNSwgMjE4LCA4NCwgMTUsIDUsIAorICAgIDIxOCwgODUsIDExNywgMjE4LCA4NCwgMTUsIDUsIDIxOCwgNTUsIDE1LCA1LCAyMTgsIDU0LCAxNSwgNSwgMjE4LCA1MiwgCisgICAgMTUsIDUsIDIxOCwgNDQsIDE1LCA1LCAyMTgsIDQzLCAxNSwgNSwgMjE4LCAxOCwgMTUsIDUsIDIxOCwgMTcsIDE1LCA1LCAKKyAgICAyMTcsIDEwNiwgMTUsIDUsIDIxNywgMTA3LCAyNTMsIDIxNywgMTUsIDUsIDIxNywgMTA3LCAzMCwgMjQxLCAxODEsIDE1LCAKKyAgICA1LCAyMTcsIDEwNywgMzAsIDIzMCwgMjMxLCAxNSwgNSwgMjE3LCAxMDcsIDI0MiwgOTUsIDE1LCA1LCAyMTcsIDk0LCAxNSwgCisgICAgNSwgMjE3LCA5NSwgMTE3LCAyMTcsIDk1LCAyMjgsIDIzNSwgMTE3LCAyMjgsIDIzNSwgMjQ3LCAxODksIDExNywgMjQ3LCAKKyAgICAxODgsIDE1LCA1LCAyMTcsIDk1LCAyMTgsIDIzNCwgMTUsIDUsIDIxNywgODUsIDE1LCA1LCAxMjksIDMwLCAyNTIsIDcsIAorICAgIDE1LCA1LCAxMjksIDMwLCAyNDIsIDEwNCwgMTUsIDUsIDEyOSwgMzAsIDIyMCwgNjQsIDE1LCA1LCAxMjksIDMwLCAyMTksIAorICAgIDIyNiwgMTUsIDUsIDEyOSwgMzAsIDIxNSwgMTE0LCAxNSwgNSwgMTI5LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMTcsIDczLCAKKyAgICAxNSwgNSwgMjE3LCA1MSwgMTUsIDUsIDIxNywgMjMsIDE1LCA1LCAyMTcsIDI0LCAyNDIsIDk1LCAxNSwgNSwgMjE2LCAxMTgsIAorICAgIDE1LCA1LCAyMTYsIDExOSwgMjE2LCAyNDAsIDE1LCA1LCAyMTYsIDkxLCAxNSwgNSwgMjE2LCA3MywgMTUsIDUsIDIxNiwgCisgICAgNzQsIDMwLCAyMTcsIDczLCAxNSwgNSwgMjE2LCA3NCwgMTE3LCAyMTYsIDczLCAxNSwgNSwgMjE2LCA3NCwgMTE3LCAyMTYsIAorICAgIDc0LCAyNDMsIDEyOCwgMTE3LCAyNDMsIDEyOCwgMjQzLCA5OCwgMTE3LCAyNDMsIDk3LCAxNSwgNSwgMjE1LCAxMTksIDE1LCAKKyAgICA1LCAyMTUsIDExNCwgMTUsIDUsIDIxNSwgMTEyLCAxNSwgNSwgMjE1LCAxMDksIDE1LCA1LCAyMTUsIDk5LCAxNSwgNSwgCisgICAgMjE1LCAxMDAsIDExNywgMjE1LCAxMDAsIDIxMCwgMTE3LCAxMTcsIDIxMCwgMTE2LCAxNSwgNSwgNzAsIDE1LCA1LCAxMDQsIAorICAgIDI0MiwgMTA0LCAxNSwgNSwgMTA0LCAxMDQsIDcwLCAxNSwgNSwgMTA0LCAxMTcsIDEwNCwgMjI2LCA5MSwgMTE3LCAyMjYsIAorICAgIDkxLCAyNDMsIDk4LCAxMTcsIDI0MywgOTcsIDE1LCA1LCAxMDQsIDExNywgMTA0LCAyMTgsIDE5LCAxMTcsIDIxOCwgMTgsIAorICAgIDE1LCA1LCAxMDQsIDExNywgMTA0LCAxMDQsIDIyMywgNTAsIDExNywgMTA0LCAyMjMsIDQ5LCAxNSwgNSwgMjE0LCAyMzAsIAorICAgIDE1LCA1LCAyMTQsIDIyNSwgMTUsIDUsIDIxNCwgMjE5LCAxNSwgNSwgMjE0LCAyMjAsIDIzMywgMTkyLCAxNSwgNSwgMjE0LCAKKyAgICAyMjAsIDMwLCAyNTIsIDE3NywgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMjMwLCAyMzEsIDE1LCA1LCAyMTQsIDIyMCwgMzAsIAorICAgIDEwNCwgOTYsIDEwNCwgOTYsIDcwLCAxNSwgNSwgMjE0LCAyMjAsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCAxMDQsIDI0MiwgCisgICAgOTUsIDE1LCA1LCAyMTQsIDIyMCwgMjQyLCA5NSwgMTUsIDUsIDIxNCwgMjIwLCAyMjAsIDQ2LCAxNSwgNSwgMjE0LCAyMjAsIAorICAgIDIyMCwgNDcsIDMwLCAyNTIsIDE3NywgMTUsIDUsIDIxNCwgMjE1LCAxNSwgNSwgMjE0LCAxOTcsIDE1LCA1LCAyMTQsIDE5OCwgCisgICAgMzAsIDIzMywgMTE4LCAxNSwgNSwgMjE0LCAxOTgsIDMwLCAyMzEsIDkzLCA5NiwgMjQ4LCAyMjIsIDE1LCA1LCAyMTQsIAorICAgIDE5OCwgMzAsIDIyMCwgMTAxLCAxNSwgNSwgMjE0LCAxOTgsIDMwLCA3MCwgMTUsIDUsIDIxNCwgMTk2LCAxNSwgNSwgMjE0LCAKKyAgICAxOTIsIDE1LCA1LCAyMTQsIDE5MywgMzAsIDIzNCwgMjA4LCAxNSwgNSwgMjE0LCAxOTMsIDMwLCAxOTAsIDE1LCA1LCAyMTQsIAorICAgIDE5MCwgMTUsIDUsIDIxNCwgMTkxLCAyNDIsIDk1LCAxNSwgNSwgMjE0LCAxNTAsIDE1LCA1LCAyMTQsIDE1MSwgMjQ5LCAKKyAgICAxMjYsIDIxNCwgMTUwLCAxNSwgNSwgMjE0LCAxNTEsIDIyMCwgNDYsIDE1LCA1LCAyMTQsIDE0OCwgMTUsIDUsIDIxNCwgCisgICAgMTQ5LCAzMCwgMTE1LCA5NiwgMTYyLCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxMTUsIDk2LCAxOTcsIDE1LCA1LCAyMTQsIAorICAgIDE0OSwgMzAsIDI1NCwgMTc5LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAxNjIsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDIyNywgCisgICAgMTk1LCAxNSwgNSwgMjE0LCAxNDksIDMwLCAyMTQsIDIzMCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzEsIDk2LCAKKyAgICAyNTMsIDIzMiwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTIsIDcsIDE1LCA1LCAyMTQsIDE0NywgMTUsIAorICAgIDUsIDIxNCwgMTQ0LCAxNSwgNSwgMjE0LCAxNDMsIDE1LCA1LCAyMTQsIDEzOSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgNjEsIAorICAgIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI1MywgMjI3LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxMzAsIDE1LCA1LCAyMTQsIDE0MCwgCisgICAgMzAsIDI0NiwgNjksIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0MywgMTM2LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIAorICAgIDExOSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjQzLCAxMDYsIDIxNiwgMjQwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIAorICAgIDk3LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDIsIDExNCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMTYyLCAxNSwgNSwgMjE0LCAKKyAgICAxNDAsIDMwLCAyMzYsIDM2LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMzYsIDE3LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMzUsIAorICAgIDE2NiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM0LCA5MywgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjMyLCA4NSwgMTUsIDUsIAorICAgIDIxNCwgMTQwLCAzMCwgMjMwLCAxODksIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDE5MCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCisgICAgMjIwLCA2NCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjE5LCAxODEsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxNSwgMTE5LCAKKyAgICAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxMDQsIDk2LCAyNDIsIDEwNCwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjE0LCAyMTksIAogICAgIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxNCwgMTM3LCAxNSwgNSwgMjE0LCAxMzcsIDE1LCA1LCAyMTQsIDEzOCwgMzAsIDcwLCAKLSAgICAxNSwgNSwgMjE0LCAxMjYsIDE1LCA1LCAyMTQsIDEyNywgMzAsIDYxLCAxNSwgNSwgMjE0LCAxMjcsIDMwLCAyMzMsIDIxNywgCi0gICAgMTUsIDUsIDIxNCwgMTI3LCAzMCwgMjMzLCAxOTYsIDE1LCA1LCAyMTQsIDEyNywgMzAsIDIxNywgNzIsIDE1LCA1LCAyMTQsIAorICAgIDE1LCA1LCAyMTQsIDEyNiwgMTUsIDUsIDIxNCwgMTI3LCAzMCwgNjEsIDE1LCA1LCAyMTQsIDEyNywgMzAsIDIzMywgMjE4LCAKKyAgICAxNSwgNSwgMjE0LCAxMjcsIDMwLCAyMzMsIDE5NywgMTUsIDUsIDIxNCwgMTI3LCAzMCwgMjE3LCA3MywgMTUsIDUsIDIxNCwgCiAgICAgMTIyLCAxNSwgNSwgMjE0LCAxMjUsIDE1LCA1LCAyMTQsIDEyMywgMTUsIDUsIDIxNCwgMTE5LCAxNSwgNSwgMjE0LCAxMDgsIAotICAgIDE1LCA1LCAyMTQsIDEwOSwgMzAsIDIzNCwgMjA3LCAxNSwgNSwgMjE0LCAxMDcsIDE1LCA1LCAyMTAsIDExNiwgMTUsIDUsIAotICAgIDIxMCwgMTE3LCAyMTYsIDIzOSwgMTUsIDUsIDIxMCwgMTE3LCA5MiwgMzAsIDIzMywgMTk2LCAxNSwgNSwgMjEwLCAxMTMsIAorICAgIDE1LCA1LCAyMTQsIDEwOSwgMzAsIDIzNCwgMjA4LCAxNSwgNSwgMjE0LCAxMDcsIDE1LCA1LCAyMTAsIDExNiwgMTUsIDUsIAorICAgIDIxMCwgMTE3LCAyMTYsIDI0MCwgMTUsIDUsIDIxMCwgMTE3LCA5MiwgMzAsIDIzMywgMTk3LCAxNSwgNSwgMjEwLCAxMTMsIAogICAgIDE1LCA1LCAyMTAsIDEwNiwgMTUsIDUsIDIxMCwgOTMsIDE1LCA1LCAyMTAsIDQ0LCAxNSwgNSwgMjEwLCA0NSwgMTE3LCAKLSAgICAyMTAsIDQ0LCAxNSwgNSwgMjEwLCA0MywgMTUsIDUsIDIxMCwgNDEsIDE1LCA1LCAyMTAsIDQyLCAyMzUsIDMsIDIxNiwgCi0gICAgMjM5LCAxNSwgNSwgMjEwLCAzNiwgMTUsIDUsIDIxMCwgMjgsIDE1LCA1LCAyMTAsIDEzLCAxNSwgNSwgMjEwLCAxMSwgMTUsIAorICAgIDIxMCwgNDQsIDE1LCA1LCAyMTAsIDQzLCAxNSwgNSwgMjEwLCA0MSwgMTUsIDUsIDIxMCwgNDIsIDIzNSwgNCwgMjE2LCAKKyAgICAyNDAsIDE1LCA1LCAyMTAsIDM2LCAxNSwgNSwgMjEwLCAyOCwgMTUsIDUsIDIxMCwgMTMsIDE1LCA1LCAyMTAsIDExLCAxNSwgCiAgICAgNSwgMjEwLCAxMiwgMzAsIDYxLCAxNSwgNSwgMjEwLCAxMCwgMTUsIDUsIDIxMCwgOSwgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIAotICAgIDIzMSwgMTUsIDEzMiwgNSwgMTM0LCAyNTMsIDIzMSwgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjUzLCAyMzEsIDE1LCAxMzIsIAotICAgIDUsIDI0NCwgODEsIDI1MywgMjMxLCAxNSwgMTMyLCA1LCAyMTksIDEyNSwgMjUzLCAyMzEsIDE1LCAxMzIsIDUsIDIyMCwgCi0gICAgMTIyLCAyNTMsIDIzMSwgMTUsIDEzMiwgNSwgMjQ1LCAxOTMsIDI1MywgMjMxLCAxNSwgMTMyLCA1LCAyMjgsIDIwMCwgMjUzLCAKLSAgICAyMzEsIDE1LCAxMzIsIDUsIDEzNCwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIDI0NywgMTg3LCAxNSwgMTMyLCAKLSAgICA1LCAyNDQsIDgxLCAyNDcsIDE4NywgMTUsIDEzMiwgNSwgMjE5LCAxMjUsIDI0NywgMTg3LCAxNSwgMTMyLCA1LCAyMjAsIAotICAgIDEyMiwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIDI0NSwgMTkzLCAyNDcsIDE4NywgMTUsIDEzMiwgNSwgMjI4LCAyMDAsIDI0NywgCi0gICAgMTg3LCAxNSwgMTMyLCA1LCAyNDQsIDExLCA3MCwgMTUsIDEzMiwgNSwgMjQ0LCA4MSwgNzAsIDE1LCAxMzIsIDUsIDIxOSwgCi0gICAgMTI1LCA3MCwgMTUsIDEzMiwgNSwgMjIwLCAxMjIsIDcwLCAxNSwgMTMyLCA1LCAyNDUsIDE5MywgNzAsIDE1LCAxMzIsIDUsIAotICAgIDIyOCwgMjAwLCA3MCwgMTUsIDEzMiwgNSwgMTIzLCAyNDMsIDM4LCAxNSwgMTMyLCA1LCAxMTMsIDI0MywgMzgsIDE1LCAKLSAgICAxMzIsIDUsIDEzNCwgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjQ0LCA4MSwgCi0gICAgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjE5LCAxMjUsIDI0MywgMzgsIDE1LCAxMzIsIDUsIDIyMCwgMTIyLCAyNDMsIDM4LCAKLSAgICAxNSwgMTMyLCA1LCAyNDUsIDE5MywgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjI4LCAyMDAsIDI0MywgMzgsIDE1LCAxMzIsIDUsIAotICAgIDEyMywgMjQzLCAzNSwgMTUsIDEzMiwgNSwgMTEzLCAyNDMsIDM1LCAxNSwgMTMyLCA1LCAxMzQsIDI0MywgMzUsIDE1LCAKLSAgICAxMzIsIDUsIDI0NCwgMTEsIDI0MywgMzUsIDE1LCAxMzIsIDUsIDI0NCwgODEsIDI0MywgMzUsIDE1LCAxMzIsIDUsIDExMywgCi0gICAgMjIwLCA3OCwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc4LCAxNSwgMTMyLCA1LCAxMzQsIDIyMCwgNzksIDIxNCwgMTIsIDE3LCAKLSAgICAxNSwgMTMyLCA1LCAyNDQsIDExLCAyMjAsIDc4LCAxNSwgMTMyLCA1LCAyNDQsIDgxLCAyMjAsIDc4LCAxNSwgMTMyLCA1LCAKLSAgICAyMTksIDEyNSwgMjIwLCA3OCwgMTUsIDEzMiwgNSwgMjIwLCAxMjIsIDIyMCwgNzgsIDE1LCAxMzIsIDUsIDI0NSwgMTkzLCAKLSAgICAyMjAsIDc4LCAxNSwgMTMyLCA1LCAyMjgsIDIwMCwgMjIwLCA3OCwgMTUsIDEzMiwgNSwgMTIzLCAyMjAsIDczLCAxNSwgCi0gICAgMTMyLCA1LCAxMTMsIDIyMCwgNzMsIDE1LCAxMzIsIDUsIDEzNCwgMjIwLCA3MywgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc0LCAKLSAgICAyMTQsIDEyLCAxNywgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjIwLCA3MywgMTUsIDEzMiwgNSwgMjQ0LCA4MSwgMjIwLCA3MywgCi0gICAgMTUsIDEzMiwgNSwgMjIwLCA3OSwgMzAsIDI0MywgMTE5LCA5NiwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIDIyMCwgNzksIDMwLCAKLSAgICAyNDMsIDExOSwgOTYsIDIzMCwgMTg4LCAxNSwgMTMyLCA1LCAxMjMsIDI1MSwgOTUsIDE1LCAxMzIsIDUsIDExMywgMjUxLCAKLSAgICA5NSwgMTUsIDEzMiwgNSwgMTM0LCAyNTEsIDk1LCAxNSwgMTMyLCA1LCAxMzQsIDI1MSwgOTYsIDIxNCwgMTIsIDE3LCAxNSwgCi0gICAgMTMyLCA1LCAyNDQsIDExLCAyNTEsIDk1LCAxNSwgMTMyLCA1LCAyNDQsIDgxLCAyNTEsIDk1LCAxNSwgMTMyLCA1LCAxMzQsIAotICAgIDIxNCwgMTIsIDI0NCwgMjAsIDI0NSwgNzQsIDE1LCAxMzIsIDUsIDEzNCwgMjE0LCAxMiwgMjQ0LCAyMCwgMjQ1LCA3MSwgCi0gICAgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjE0LCAxMiwgMjQ0LCAyMCwgMjMyLCAyMTcsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIAotICAgIDIxNCwgMTIsIDI0NCwgMjAsIDIzMiwgMjE1LCAxNSwgMTMyLCA1LCAyNDQsIDExLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzIsIAotICAgIDIxOCwgNjEsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIDIxNCwgMTIsIDI0NCwgMjAsIDIzMiwgMjE4LCAyNTMsIDE1OCwgMTUsIAotICAgIDEzMiwgNSwgMjE5LCAxMjUsIDIxNCwgMTIsIDI0NCwgMjAsIDI1MywgMjI4LCAxNSwgMTMyLCA1LCAyMjAsIDEyMiwgMjE0LCAKLSAgICAxMiwgMjQ0LCAyMCwgMjM2LCA4LCAxNSwgMTMyLCA1LCAyMjAsIDEyMiwgMjE0LCAxMiwgMjQ0LCAyMCwgMjM2LCAxMCwgNjEsIAotICAgIDE1LCAxMzIsIDUsIDIyMCwgMTIyLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzYsIDEwLCAyNTMsIDE1OCwgMTUsIDEzMiwgNSwgCi0gICAgMjQ1LCAxOTMsIDIxNCwgMTIsIDI0NCwgMjAsIDIxNCwgMTIxLCAxNSwgMTMyLCA1LCAyNDUsIDE5MywgMjE0LCAxMiwgMjQ0LCAKLSAgICAyMCwgMjE0LCAxMjAsIDE1LCAxMzIsIDUsIDIyOCwgMjAwLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzYsIDI0LCAxNSwgMTMyLCAKLSAgICA1LCAyMjgsIDIwMCwgMjE0LCAxMiwgMjQ0LCAyMCwgMjM2LCAyMywgMTUsIDEzMiwgNSwgMjI4LCAyMDAsIDIxNCwgMTIsIAotICAgIDI0NCwgMjAsIDIzNiwgMjIsIDE1LCAxMzIsIDUsIDIyOCwgMjAwLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzYsIDI1LCA2MSwgCi0gICAgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIDIzMiwgMjE2LCAyMzksIDE1LCAxMzIsIDUsIDEzNCwgMjUzLCAyMzIsIDIxNiwgMjM5LCAKLSAgICAxNSwgMTMyLCA1LCAyNDQsIDExLCAyNTMsIDIzMiwgMjE2LCAyMzksIDE1LCAxMzIsIDUsIDI0NCwgODEsIDI1MywgMjMyLCAKLSAgICAyMTYsIDIzOSwgMTUsIDEzMiwgNSwgMjE5LCAxMjUsIDI1MywgMjMyLCAyMTYsIDIzOSwgMTUsIDEzMiwgNSwgMTIzLCAyNTIsIAotICAgIDE1MCwgMTUsIDEzMiwgNSwgMTEzLCAyNTIsIDE1MCwgMTUsIDEzMiwgNSwgMTM0LCAyNTIsIDE1MCwgMTUsIDEzMiwgNSwgCi0gICAgMjQ0LCAxMSwgMjUyLCAxNTAsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIDI1MiwgMTUxLCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgCi0gICAgNSwgMjQ0LCA4MSwgMjUyLCAxNTAsIDE1LCAxMzIsIDUsIDI0NCwgODEsIDI1MiwgMTUxLCAyMTQsIDEyLCAxNywgMTUsIAotICAgIDEzMiwgNSwgMjI4LCAyMTAsIDE1LCAxMzIsIDUsIDIyOCwgMjExLCAxNSwgMTMyLCA1LCAxMjMsIDI0NSwgNzAsIDE1LCAKLSAgICAxMzIsIDUsIDExMywgMjQ1LCA3MCwgMTUsIDEzMiwgNSwgMTIzLCAyMTYsIDE2OSwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIAotICAgIDExMywgMjE2LCAxNjcsIDI0NywgMTg3LCAxNSwgMTMyLCA1LCAyNDQsIDgxLCAyMTksIDExNCwgMjQ3LCAxODcsIDE1LCAKLSAgICAxMzIsIDUsIDEyMywgMjE2LCAxNjksIDIxNCwgMTIsIDI0NCwgMjAsIDYxLCAxNSwgMTMyLCA1LCAxMTMsIDIxNiwgMTY3LCAKLSAgICAyMTQsIDEyLCAyNDQsIDIwLCA2MSwgMTUsIDEzMiwgNSwgMTIzLCAyNDUsIDE4OSwgMjUzLCAyMzEsIDE1LCAxMzIsIDUsIAotICAgIDEyMywgMjI0LCAyMiwgMjUzLCAyMzEsIDE1LCAxMzIsIDUsIDU1LCAyNTMsIDIxOSwgMTIzLCAyMTksIDExNSwgMTUsIDEzMiwgCi0gICAgNSwgNTUsIDI1MywgMjE5LCAxMjMsIDIyNCwgMjEsIDE1LCAyMjQsIDE0MSwgNSwgNTUsIDI1MywgMjE5LCAyMTEsIDIwOSwgCi0gICAgMjQ3LCAxNzIsIDE1LCAyMjQsIDE0MSwgNSwgNjcsIDI0OSwgMjI2LCAxNSwgMjI0LCAxNDEsIDUsIDI0NywgMjU1LCAyNDksIAotICAgIDIyNiwgMTUsIDIyNCwgMTQxLCA1LCAyNDcsIDI1NSwgMjE1LCAyMjEsIDEyLCAxMywgMjU1LCAxNTUsIDEyLCAxMywgMjU1LCAKLSAgICAxNTQsIDEyLCAxMywgMjU1LCAxNTMsIDEyLCAxMywgMjU1LCAxNTIsIDEyLCAxMywgMjU1LCAxNTEsIDEyLCAxMywgMjU1LCAKLSAgICAxNTAsIDEyLCAxMywgMjU1LCAxNDksIDEyLCAxMywgMjU1LCAxNDgsIDEyLCAxMywgMjU1LCAxNDcsIDEyLCAxMywgMjU1LCAKLSAgICAxNDYsIDEyLCAxMywgMjU1LCAxNDUsIDEyLCAxMywgMjU1LCAxNDQsIDEyLCAxMywgMjU1LCAxNDMsIDEyLCAxMywgMjU1LCAKLSAgICAxNDIsIDEyLCAxMywgMjU1LCAxNDEsIDEyLCAxMywgMjU1LCAxNDAsIDEyLCAxMywgMjU1LCAxMzksIDEyLCAxMywgMjU1LCAKLSAgICAxMzgsIDEyLCAxMywgMjU1LCAxMzcsIDEyLCAxMywgMjU1LCAxMzYsIDEyLCAxMywgMjU1LCAxMzUsIDEyLCAxMywgMjU1LCAKLSAgICAxMzQsIDEyLCAxMywgMjU1LCAxMzMsIDEyLCAxMywgMjU1LCAxMzIsIDEyLCAxMywgMjU1LCAxMzEsIDEyLCAxMywgMjU1LCAKLSAgICAxMzAsIDEyLCAxMywgMjU1LCAxMjksIDEyLCAxMywgMjU1LCAxMjgsIDEyLCAxMywgMjU1LCAxMjcsIDEyLCAxMywgMjU1LCAKLSAgICAxMjYsIDEyLCAxMywgMjU1LCAxMjUsIDEyLCAxMywgMjU1LCAxMjQsIDEyLCAxMywgMjU1LCAxMjMsIDEyLCAxMywgMjU1LCAKLSAgICAxMjIsIDEyLCAxMywgMjU1LCAxMjEsIDEyLCAxMywgMjU1LCAxMjAsIDEyLCAxMywgMjU1LCAxMTksIDEyLCAxMywgMjU1LCAKLSAgICAxMTgsIDEyLCAxMywgMjU1LCAxMTcsIDEyLCAxMywgMjU1LCAxMTYsIDEyLCAxMywgMjU1LCAxMTUsIDEyLCAxMywgMjU1LCAKLSAgICAxMTQsIDEyLCAxMywgMjU1LCAxMTMsIDEyLCAxMywgMjU1LCAxMTIsIDEyLCAxMywgMjU1LCAxMTEsIDEyLCAxMywgMjU1LCAKLSAgICAxMTAsIDEyLCAxMywgMjU1LCAxMDksIDEyLCAxMywgMjU1LCAxMDgsIDEyLCAxMywgMjU1LCAxMDcsIDEyLCAxMywgMjU1LCAKLSAgICAxMDYsIDEyLCAxMywgMjU1LCAxMDUsIDEyLCAxMywgMjU1LCAxMDQsIDEyLCAxMywgMjU1LCAxMDMsIDEyLCAxMywgMjU1LCAKLSAgICAxMDIsIDEyLCAxMywgMjU1LCAxMDEsIDEyLCAxMywgMjU1LCAxMDAsIDEyLCAxMywgMjU1LCA5OSwgMTIsIDEzLCAyNTUsIAotICAgIDk4LCAxMiwgMTMsIDI1NSwgOTcsIDEyLCAxMywgMjU1LCA5NiwgMTIsIDEzLCAyNTUsIDk1LCAxMiwgMTMsIDI1NSwgOTQsIAotICAgIDEyLCAxMywgMjU1LCA5MywgMTIsIDEzLCAyNTUsIDkyLCAxMiwgMTMsIDI1NSwgOTEsIDEyLCAxMywgMjU1LCA5MCwgMTIsIAotICAgIDEzLCAyNTUsIDg5LCAxMiwgMTMsIDI1NSwgODgsIDEyLCAxMywgMjU1LCA4NywgMTIsIDEzLCAyNTUsIDg2LCAxMiwgMTMsIAotICAgIDI1NSwgODUsIDEyLCAxMywgMjU1LCA4NCwgMTIsIDEzLCAyNTUsIDgzLCAxMiwgMTMsIDI1NSwgODIsIDEyLCAxMywgMjU1LCAKLSAgICA4MSwgMTIsIDEzLCAyNTUsIDgwLCAxMiwgMTMsIDI1NSwgNzksIDEyLCAxMywgMjU1LCA3OCwgMTIsIDEzLCAyNTUsIDc3LCAKLSAgICAxMiwgMTMsIDI1NSwgNzYsIDEyLCAxMywgMjUzLCAxNTYsIDEyLCAxMywgMjUzLCAxNTQsIDEyLCAxMywgMjUzLCAxNTIsIAotICAgIDEyLCAxMywgMjUzLCAxNTAsIDEyLCAxMywgMjUzLCAxNDgsIDEyLCAxMywgMjUzLCAxNDcsIDEyLCAxMywgMjUzLCAxNDUsIAotICAgIDEyLCAxMywgMjUzLCAxNDMsIDEyLCAxMywgMjUzLCAxNDEsIDEyLCAxMywgMjUzLCAxMzksIDEyLCAxMywgMjUxLCA2MiwgCi0gICAgMTIsIDEzLCAyNTEsIDYxLCAxMiwgMTMsIDI1MSwgNjAsIDEyLCAxMywgMjUxLCA1OSwgMTIsIDEzLCAyNTEsIDU4LCAxMiwgCi0gICAgMTMsIDI1MSwgNTcsIDEyLCAxMywgMjUxLCA1NiwgMTIsIDEzLCAyNTEsIDU1LCAxMiwgMTMsIDI1MSwgNTQsIDEyLCAxMywgCi0gICAgMjUxLCA1MywgMTIsIDEzLCAyNTEsIDUyLCAxMiwgMTMsIDI1MSwgNTEsIDEyLCAxMywgMjUxLCA1MCwgMTIsIDEzLCAyNTEsIAotICAgIDQ5LCAxMiwgMTMsIDI1MSwgNDgsIDEyLCAxMywgMjUxLCA0NywgMTIsIDEzLCAyNTEsIDQ2LCAxMiwgMTMsIDI1MSwgNDUsIAotICAgIDEyLCAxMywgMjUxLCA0NCwgMTIsIDEzLCAyNTEsIDQzLCAxMiwgMTMsIDI1MSwgNDIsIDEyLCAxMywgMjUxLCA0MSwgMTIsIAotICAgIDEzLCAyNTEsIDQwLCAxMiwgMTMsIDI1MSwgMzksIDEyLCAxMywgMjUxLCAzOCwgMTIsIDEzLCAyNTEsIDM3LCAxMiwgMTMsIAotICAgIDI1MSwgMzYsIDEyLCAxMywgMjUxLCAzNSwgMTIsIDEzLCAyNDksIDU5LCAxMiwgMTMsIDI0OSwgNTgsIDEyLCAxMywgMjQ5LCAKLSAgICA1NywgMTIsIDEzLCAyNDksIDU2LCAxMiwgMTMsIDI0OSwgNTUsIDEyLCAxMywgMjQ5LCA1NCwgMTIsIDEzLCAyNDksIDUzLCAKLSAgICAxMiwgMTMsIDI0OSwgNTIsIDEyLCAxMywgMjQ5LCA1MSwgMTIsIDEzLCAyNDksIDUwLCAxMiwgMTMsIDI0OSwgNDksIDEyLCAKLSAgICAxMywgMjQ5LCA0OCwgMTIsIDEzLCAyNDksIDQ3LCAxMiwgMTMsIDI0OSwgNDYsIDEyLCAxMywgMjQ5LCA0NSwgMTIsIDEzLCAKLSAgICAyNDksIDQ0LCAxMiwgMTMsIDI0OSwgNDMsIDEyLCAxMywgMjQ5LCA0MiwgMTIsIDEzLCAyNDksIDQxLCAxMiwgMTMsIDI0OSwgCi0gICAgNDAsIDEyLCAxMywgMjQ5LCAzOSwgMTIsIDEzLCAyNDksIDM4LCAxMiwgMTMsIDI0OSwgMzcsIDEyLCAxMywgMjQ5LCAzNiwgCi0gICAgMTIsIDEzLCAyNDksIDM1LCAxMiwgMTMsIDI0OSwgMzQsIDEyLCAxMywgMjQ5LCAzMywgMTIsIDEzLCAyNDksIDMyLCAxMiwgCi0gICAgMTMsIDI0OSwgMzEsIDEyLCAxMywgMjQ5LCAzMCwgMTIsIDEzLCAyNDksIDI5LCAxMiwgMTMsIDI0OSwgMjgsIDEyLCAxMywgCi0gICAgMjQ5LCAyNywgMTIsIDEzLCAyNDksIDI2LCAxMiwgMTMsIDI0OSwgMjUsIDEyLCAxMywgMjQ5LCAyNCwgMTIsIDEzLCAyNDksIAotICAgIDIzLCAxMiwgMTMsIDI0OSwgMjIsIDEyLCAxMywgMjQ5LCAyMSwgMTIsIDEzLCAyNDksIDIwLCAxMiwgMTMsIDI0OSwgMTksIAotICAgIDEyLCAxMywgMjQ5LCAxOCwgMTIsIDEzLCAyNDksIDE3LCAxMiwgMTMsIDI0OSwgMTYsIDEyLCAxMywgMjQ5LCAxNSwgMTIsIAotICAgIDEzLCAyNDksIDE0LCAxMiwgMTMsIDI0OSwgMTMsIDEyLCAxMywgMjQ5LCAxMiwgMTIsIDEzLCAyNDksIDExLCAxMiwgMTMsIAotICAgIDI0OSwgMTAsIDEyLCAxMywgMjQ5LCA5LCAxMiwgMTMsIDI0OSwgOCwgMTIsIDEzLCAyNDksIDcsIDEyLCAxMywgMjQ5LCA2LCAKLSAgICAxMiwgMTMsIDI0OSwgNSwgMTIsIDEzLCAyNDksIDQsIDEyLCAxMywgMjQ5LCAzLCAxMiwgMTMsIDI0OSwgMiwgMTIsIDEzLCAKLSAgICAyNDksIDEsIDEyLCAxMywgMjQ5LCAwLCAxMiwgMTMsIDI0OCwgMjU1LCAxMiwgMTMsIDI0OCwgMjU0LCAxMiwgMTMsIDI0OCwgCi0gICAgMjUzLCAxMiwgMTMsIDI0OCwgMjUyLCAxMiwgMTMsIDI0OCwgMjUxLCAxMiwgMTMsIDI0OCwgMjUwLCAxMiwgMTMsIDI0OCwgCi0gICAgMjQ5LCAxMiwgMTMsIDI0OCwgMjQ4LCAxMiwgMTMsIDI0OCwgMjQ3LCAxMiwgMTMsIDI0OCwgMjQ2LCAxMiwgMTMsIDI0OCwgCi0gICAgMjQ1LCAxMiwgMTMsIDI0OCwgMjQ0LCAxMiwgMTMsIDI0OCwgMjQzLCAxMiwgMTMsIDI0OCwgMjQyLCAxMiwgMTMsIDI0OCwgCi0gICAgMjQxLCAxMiwgMTMsIDI0OCwgMjQwLCAxMiwgMTMsIDI0OCwgMjM5LCAxMiwgMTMsIDI0OCwgMjM4LCAxMiwgMTMsIDI0OCwgCi0gICAgMjM3LCAxMiwgMTMsIDI0OCwgMjM2LCAxMiwgMTMsIDI0OCwgMjM1LCAxMiwgMTMsIDI0OCwgMjM0LCAxMiwgMTMsIDI0OCwgCi0gICAgMjMzLCAxMiwgMTMsIDI0OCwgMjMyLCAxMiwgMTMsIDI0OCwgMjMxLCAxMiwgMTMsIDI0OCwgMjMwLCAxMiwgMTMsIDI0OCwgCi0gICAgMjI5LCAxMiwgMTMsIDI0OCwgMjI4LCAxMiwgMTMsIDI0OCwgMjI3LCAxMiwgMTMsIDI0OCwgMjI2LCAxMiwgMTMsIDI0OCwgCi0gICAgMjI1LCAxMiwgMTMsIDI0OCwgMjI0LCAxMiwgMTMsIDI0NiwgMjMsIDEyLCAxMywgMjQ2LCAyMiwgMTIsIDEzLCAyNDYsIDIxLCAKLSAgICAxMiwgMTMsIDI0NiwgMjAsIDEyLCAxMywgMjQ2LCAxOSwgMTIsIDEzLCAyNDYsIDE4LCAxMiwgMTMsIDI0NiwgMTcsIDEyLCAKLSAgICAxMywgMjQ2LCAxNiwgMTIsIDEzLCAyNDYsIDE1LCAxMiwgMTMsIDI0NiwgMTQsIDEyLCAxMywgMjQ2LCAxMywgMTIsIDEzLCAKLSAgICAyNDYsIDEyLCAxMiwgMTMsIDI0NiwgMTEsIDEyLCAxMywgMjQ2LCAxMCwgMTIsIDEzLCAyNDYsIDksIDEyLCAxMywgMjQ2LCAKLSAgICA4LCAxMiwgMTMsIDI0NiwgNywgMTIsIDEzLCAyNDYsIDYsIDEyLCAxMywgMjQ2LCA1LCAxMiwgMTMsIDI0NiwgNCwgMTIsIAotICAgIDEzLCAyNDYsIDMsIDEyLCAxMywgMjQ2LCAyLCAxMiwgMTMsIDI0NiwgMSwgMTIsIDEzLCAyNDYsIDAsIDEyLCAxMywgMjQ1LCAKLSAgICAyNTUsIDEyLCAxMywgMjQ1LCAyNTQsIDEyLCAxMywgMjQ1LCAyNTMsIDEyLCAxMywgMjQ1LCAyNTIsIDEyLCAxMywgMjQ1LCAKLSAgICAyNTEsIDEyLCAxMywgMjQ1LCAyNTAsIDEyLCAxMywgMjQ1LCAyNDksIDEyLCAxMywgMjQ1LCAyNDgsIDEyLCAxMywgMjQ1LCAKLSAgICAyNDcsIDEyLCAxMywgMjQ1LCAyNDYsIDEyLCAxMywgMjQ1LCAyNDUsIDEyLCAxMywgMjQ1LCAyNDQsIDEyLCAxMywgMjQ1LCAKLSAgICAyNDMsIDEyLCAxMywgMjQ1LCAyNDIsIDEyLCAxMywgMjQ1LCAyNDEsIDEyLCAxMywgMjQ1LCAyNDAsIDEyLCAxMywgMjQ1LCAKLSAgICAyMzksIDEyLCAxMywgMjQ1LCAyMzgsIDEyLCAxMywgMjQ1LCAyMzcsIDEyLCAxMywgMjQ1LCAyMzYsIDEyLCAxMywgMjQ1LCAKLSAgICA1LCAxMiwgMTMsIDI0NSwgNCwgMTIsIDEzLCAyNDUsIDMsIDEyLCAxMywgMjQ1LCAyLCAxMiwgMTMsIDI0NSwgMSwgMTIsIAotICAgIDEzLCAyNDUsIDAsIDEyLCAxMywgMjQ0LCAyNTUsIDEyLCAxMywgMjQ0LCAyNTQsIDEyLCAxMywgMjQ0LCAyNTMsIDEyLCAxMywgCi0gICAgMjQ0LCAyNTIsIDEyLCAxMywgMjQ0LCAyNTEsIDEyLCAxMywgMjQ0LCAyNTAsIDEyLCAxMywgMjQ0LCAyNDksIDEyLCAxMywgCi0gICAgMjQ0LCAyNDgsIDEyLCAxMywgMjQ0LCAyNDcsIDEyLCAxMywgMjQ0LCAyNDYsIDEyLCAxMywgMjQ0LCAyNDUsIDEyLCAxMywgCi0gICAgMjQ0LCAyNDQsIDEyLCAxMywgMjQ0LCAyNDMsIDEyLCAxMywgMjQ0LCAyNDIsIDEyLCAxMywgMjQ0LCAyNDEsIDEyLCAxMywgCi0gICAgMjQ0LCAyNDAsIDEyLCAxMywgMjQ0LCAyMzksIDEyLCAxMywgMjQ0LCAyMzgsIDEyLCAxMywgMjQ0LCAyMzcsIDEyLCAxMywgCi0gICAgMjQ0LCAyMzYsIDEyLCAxMywgMjQ0LCAyMzUsIDEyLCAxMywgMjQ0LCAyMzQsIDEyLCAxMywgMjQ0LCAyMzMsIDEyLCAxMywgCi0gICAgMjQ0LCAyMzIsIDEyLCAxMywgMjQ0LCAyMzEsIDEyLCAxMywgMjQ0LCAyMzAsIDEyLCAxMywgMjQ0LCAyMjksIDEyLCAxMywgCi0gICAgMjQ0LCAyMjgsIDEyLCAxMywgMjQ0LCAyMjcsIDEyLCAxMywgMjQ0LCAyMjYsIDEyLCAxMywgMjQ0LCAyMjUsIDEyLCAxMywgCi0gICAgMjQ0LCAyMjQsIDEyLCAxMywgMjQ0LCAyMjMsIDEyLCAxMywgMjQ0LCAyMjIsIDEyLCAxMywgMjQ0LCAyMjEsIDEyLCAxMywgCi0gICAgMjQ0LCAyMjAsIDEyLCAxMywgMjQ0LCAyMTksIDEyLCAxMywgMjQ0LCAyMTgsIDEyLCAxMywgMjQ0LCAyMTcsIDEyLCAxMywgCi0gICAgMjQ0LCAyMTYsIDEyLCAxMywgMjQ0LCAyMTUsIDEyLCAxMywgMjQ0LCAyMTQsIDEyLCAxMywgMjQ0LCAyMTMsIDEyLCAxMywgCi0gICAgMjQ0LCAyMTIsIDEyLCAxMywgMjQ0LCAyMTEsIDEyLCAxMywgMjQ0LCAyMTAsIDEyLCAxMywgMjQ0LCAyMDksIDEyLCAxMywgCi0gICAgMjQ0LCAyMDgsIDEyLCAxMywgMjQ0LCAyMDcsIDEyLCAxMywgMjQ0LCAyMDYsIDEyLCAxMywgMjQ0LCAyMDUsIDEyLCAxMywgCi0gICAgMjQ0LCAyMDQsIDEyLCAxMywgMjQ0LCAyMDMsIDEyLCAxMywgMjQ0LCAyMDIsIDEyLCAxMywgMjQ0LCAyMDEsIDEyLCAxMywgCi0gICAgMjQ0LCAyMDAsIDEyLCAxMywgMjQ0LCAxOTksIDEyLCAxMywgMjQ0LCAxOTgsIDEyLCAxMywgMjQ0LCAxOTcsIDEyLCAxMywgCi0gICAgMjQzLCAyMDEsIDEyLCAxMywgMjQzLCAyMDAsIDEyLCAxMywgMjQzLCAxOTksIDEyLCAxMywgMjQzLCAxOTgsIDEyLCAxMywgCi0gICAgMjQzLCAxOTcsIDEyLCAxMywgMjQzLCAxOTYsIDEyLCAxMywgMjQzLCAxOTUsIDEyLCAxMywgMjQzLCAxOTQsIDEyLCAxMywgCi0gICAgMjQzLCAxOTMsIDEyLCAxMywgMjQzLCAxOTIsIDEyLCAxMywgMjQzLCAxOTEsIDEyLCAxMywgMjQzLCAxOTAsIDEyLCAxMywgCi0gICAgMjQzLCAxODksIDEyLCAxMywgMjQzLCAxODgsIDEyLCAxMywgMjQzLCAxODcsIDEyLCAxMywgMjQzLCAxODYsIDEyLCAxMywgCi0gICAgMjQzLCAxODUsIDEyLCAxMywgMjQzLCAxODQsIDEyLCAxMywgMjQzLCAxODMsIDEyLCAxMywgMjQzLCAxODIsIDEyLCAxMywgCi0gICAgMjQzLCAxODEsIDEyLCAxMywgMjQzLCAxODAsIDEyLCAxMywgMjQzLCAxNzksIDEyLCAxMywgMjQzLCAxNzgsIDEyLCAxMywgCi0gICAgMjQzLCAxNzcsIDEyLCAxMywgMjQzLCAxNzYsIDEyLCAxMywgMjQzLCAxNzUsIDEyLCAxMywgMjQzLCAxNzQsIDEyLCAxMywgCi0gICAgMjQzLCAxNzMsIDEyLCAxMywgMjQzLCAxNzIsIDEyLCAxMywgMjQzLCAxNzEsIDEyLCAxMywgMjQzLCAxNzAsIDEyLCAxMywgCi0gICAgMjQzLCAxNjksIDEyLCAxMywgMjQzLCAxNjgsIDEyLCAxMywgMjQzLCAxNjcsIDEyLCAxMywgMjQzLCAxNjYsIDEyLCAxMywgCi0gICAgMjQzLCAxNjUsIDEyLCAxMywgMjQzLCAxNjQsIDEyLCAxMywgMjQzLCAxNjMsIDEyLCAxMywgMjQzLCAxNjIsIDEyLCAxMywgCi0gICAgMjQzLCAxNjEsIDEyLCAxMywgMjQzLCAxNjAsIDEyLCAxMywgMjQzLCAxNTksIDEyLCAxMywgMjQzLCAxNTgsIDEyLCAxMywgCi0gICAgMjQzLCAxNTcsIDEyLCAxMywgMjQzLCAxNTYsIDEyLCAxMywgMjQzLCAxNTUsIDEyLCAxMywgMjQzLCAxNTQsIDEyLCAxMywgCi0gICAgMjQzLCAxNTMsIDEyLCAxMywgMjQzLCAxNTIsIDEyLCAxMywgMjQzLCAxNTEsIDEyLCAxMywgMjQzLCAxNTAsIDEyLCAxMywgCi0gICAgMjQzLCAxNDksIDEyLCAxMywgMjQzLCAxNDgsIDEyLCAxMywgMjQzLCAxNDcsIDEyLCAxMywgMjQzLCAxNDYsIDEyLCAxMywgCi0gICAgMjQzLCAxNDUsIDEyLCAxMywgMjQzLCAxNDQsIDEyLCAxMywgMjQzLCAxNDMsIDEyLCAxMywgMjQzLCAxNDIsIDEyLCAxMywgCi0gICAgMjQzLCAxNDEsIDEyLCAxMywgMjQzLCAxNDAsIDEyLCAxMywgMjQzLCAxMzksIDEyLCAxMywgMjQzLCAxMzgsIDEyLCAxMywgCi0gICAgMjQyLCA1OCwgMTIsIDEzLCAyNDIsIDU3LCAxMiwgMTMsIDI0MiwgNTYsIDEyLCAxMywgMjQyLCA1NSwgMTIsIDEzLCAyNDIsIAotICAgIDU0LCAxMiwgMTMsIDI0MiwgNTMsIDEyLCAxMywgMjQyLCA1MiwgMTIsIDEzLCAyNDIsIDUxLCAxMiwgMTMsIDI0MiwgNTAsIAotICAgIDEyLCAxMywgMjQwLCAxMzgsIDEyLCAxMywgMjQwLCAxMzcsIDEyLCAxMywgMjQwLCAxMzYsIDEyLCAxMywgMjQwLCAxMzUsIAotICAgIDEyLCAxMywgMjQwLCAxMzQsIDEyLCAxMywgMjQwLCAxMzMsIDEyLCAxMywgMjQwLCAxMzIsIDEyLCAxMywgMjQwLCAxMzEsIAotICAgIDEyLCAxMywgMjQwLCAxMzAsIDEyLCAxMywgMjQwLCAxMjksIDEyLCAxMywgMjQwLCAxMjgsIDEyLCAxMywgMjQwLCAxMjcsIAotICAgIDEyLCAxMywgMjQwLCAxMjYsIDEyLCAxMywgMjQwLCAxMjUsIDEyLCAxMywgMjQwLCAxMjQsIDEyLCAxMywgMjQwLCAxMjMsIAotICAgIDEyLCAxMywgMjQwLCAxMjIsIDEyLCAxMywgMjQwLCAxMjEsIDEyLCAxMywgMjQwLCAxMjAsIDEyLCAxMywgMjM1LCAyMiwgCi0gICAgMTIsIDEzLCAyMzUsIDIxLCAxMiwgMTMsIDIzNSwgMjAsIDEyLCAxMywgMjM1LCAxOSwgMTIsIDEzLCAyMzUsIDE4LCAxMiwgCi0gICAgMTMsIDIzNSwgMTcsIDEyLCAxMywgMjM1LCAxNiwgMTIsIDEzLCAyMzUsIDE1LCAxMiwgMTMsIDIzMywgMTQ2LCAxMiwgMTMsIAotICAgIDIzMywgMTQ1LCAxMiwgMTMsIDIzMywgMTQ0LCAxMiwgMTMsIDIzMywgMTQzLCAxMiwgMTMsIDIzMywgMTQyLCAxMiwgMTMsIAotICAgIDIzMywgMTQxLCAxMiwgMTMsIDIzMywgMTQwLCAxMiwgMTMsIDIzMywgMTM5LCAxMiwgMTMsIDIzMywgMTM4LCAxMiwgMTMsIAotICAgIDIzMywgMTM3LCAxMiwgMTMsIDIzMiwgNDksIDEyLCAxMywgMjMyLCA0OCwgMTIsIDEzLCAyMzIsIDQ3LCAxMiwgMTMsIDIzMiwgCi0gICAgNDYsIDEyLCAxMywgMjMyLCA0NSwgMTIsIDEzLCAyMzIsIDQ0LCAxMiwgMTMsIDIzMiwgNDMsIDEyLCAxMywgMjMyLCA0MiwgCi0gICAgMTIsIDEzLCAyMzIsIDQxLCAxMiwgMTMsIDIzMiwgNDAsIDEyLCAxMywgMjMyLCAzOSwgMTIsIDEzLCAyMzIsIDM4LCAxMiwgCi0gICAgMTMsIDIzMiwgMzcsIDEyLCAxMywgMjMyLCAzNiwgMTIsIDEzLCAyMzIsIDM1LCAxMiwgMTMsIDIzMiwgMzQsIDEyLCAxMywgCi0gICAgMjMyLCAzMywgMTIsIDEzLCAyMzIsIDMyLCAxMiwgMTMsIDIzMiwgMzEsIDEyLCAxMywgMjMyLCAzMCwgMTIsIDEzLCAyMzIsIAotICAgIDI5LCAxMiwgMTMsIDIzMiwgMjgsIDEyLCAxMywgMjMyLCAyNywgMTIsIDEzLCAyMzIsIDI2LCAxMiwgMTMsIDIzMiwgMjUsIAotICAgIDEyLCAxMywgMjMyLCAyNCwgMTIsIDEzLCAyMzIsIDIzLCAxMiwgMTMsIDIzMiwgMjIsIDEyLCAxMywgMjMyLCAyMSwgMTIsIAotICAgIDEzLCAyMzIsIDIwLCAxMiwgMTMsIDIzMiwgMTksIDEyLCAxMywgMjMyLCAxOCwgMTIsIDEzLCAyMzIsIDE3LCAxMiwgMTMsIAotICAgIDIzMiwgMTYsIDEyLCAxMywgMjMyLCAxNSwgMTIsIDEzLCAyMzIsIDE0LCAxMiwgMTMsIDIzMiwgMTMsIDEyLCAxMywgMjMyLCAKLSAgICAxMiwgMTIsIDEzLCAyMzIsIDExLCAxMiwgMTMsIDIzMiwgMTAsIDEyLCAxMywgMjMyLCA5LCAxMiwgMTMsIDIzMiwgOCwgMTIsIAotICAgIDEzLCAyMzIsIDcsIDEyLCAxMywgMjMyLCA2LCAxMiwgMTMsIDIzMiwgNSwgMTIsIDEzLCAyMzIsIDQsIDEyLCAxMywgMjMyLCAKLSAgICAzLCAxMiwgMTMsIDIzMiwgMiwgMTIsIDEzLCAyMzIsIDEsIDEyLCAxMywgMjMyLCAwLCAxMiwgMTMsIDIzMSwgMjU1LCAxMiwgCi0gICAgMTMsIDIzMSwgMjU0LCAxMiwgMTMsIDIzMSwgMjUzLCAxMiwgMTMsIDIzMSwgMjUyLCAxMiwgMTMsIDIzMSwgMjUxLCAxMiwgCi0gICAgMTMsIDIzMSwgMjUwLCAxMiwgMTMsIDIzMSwgMjQ5LCAxMiwgMTMsIDIzMSwgMjQ4LCAxMiwgMTMsIDIzMSwgMjQ3LCAxMiwgCi0gICAgMTMsIDIzMSwgMjQ2LCAxMiwgMTMsIDIzMSwgMjQ1LCAxMiwgMTMsIDIzMSwgMjQ0LCAxMiwgMTMsIDIzMSwgMjQzLCAxMiwgCi0gICAgMTMsIDIzMSwgMjQyLCAxMiwgMTMsIDIzMSwgMjQxLCAxMiwgMTMsIDIzMSwgMjQwLCAxMiwgMTMsIDIzMCwgMjIsIDEyLCAKLSAgICAxMywgMjMwLCAyMSwgMTIsIDEzLCAyMzAsIDIwLCAxMiwgMTMsIDIzMCwgMTksIDEyLCAxMywgMjMwLCAxOCwgMTIsIDEzLCAKLSAgICAyMzAsIDE3LCAxMiwgMTMsIDIzMCwgMTYsIDEyLCAxMywgMjMwLCAxNSwgMTIsIDEzLCAyMzAsIDE0LCAxMiwgMTMsIDIzMCwgCi0gICAgMTMsIDEyLCAxMywgMjMwLCAxMiwgMTIsIDEzLCAyMzAsIDExLCAxMiwgMTMsIDIzMCwgMTAsIDEyLCAxMywgMjMwLCA5LCAKLSAgICAxMiwgMTMsIDIzMCwgOCwgMTIsIDEzLCAyMzAsIDcsIDEyLCAxMywgMjMwLCA2LCAxMiwgMTMsIDIzMCwgNSwgMTIsIDEzLCAKLSAgICAyMzAsIDQsIDEyLCAxMywgMjMwLCAzLCAxMiwgMTMsIDIzMCwgMiwgMTIsIDEzLCAyMzAsIDEsIDEyLCAxMywgMjMwLCAwLCAKLSAgICAxMiwgMTMsIDIyOSwgMjU1LCAxMiwgMTMsIDIyOSwgMjU0LCAxMiwgMTMsIDIyOSwgMjUzLCAxMiwgMTMsIDIyOSwgMjUyLCAKLSAgICAxMiwgMTMsIDIyOSwgMjUxLCAxMiwgMTMsIDIyOSwgMjUwLCAxMiwgMTMsIDIyOSwgMjQ5LCAxMiwgMTMsIDIyOSwgMjQ4LCAKLSAgICAxMiwgMTMsIDIyOSwgMjQ3LCAxMiwgMTMsIDIyOSwgMjQ2LCAxMiwgMTMsIDIyOSwgMjQ1LCAxMiwgMTMsIDIyOSwgMjQ0LCAKLSAgICAxMiwgMTMsIDIyOSwgMjQzLCAxMiwgMTMsIDIyOSwgMjQyLCAxMiwgMTMsIDIyOSwgMjQxLCAxMiwgMTMsIDIyOSwgMjQwLCAKLSAgICAxMiwgMTMsIDIyOSwgMjM5LCAxMiwgMTMsIDIyOSwgMjM4LCAxMiwgMTMsIDIyOSwgMjM3LCAxMiwgMTMsIDIyOSwgMjM2LCAKLSAgICAxMiwgMTMsIDIyOSwgMjM1LCAxMiwgMTMsIDIyOSwgMjM0LCAxMiwgMTMsIDIyOSwgMjMzLCAxMiwgMTMsIDIyOSwgMjMyLCAKLSAgICAxMiwgMTMsIDIyOSwgMjMxLCAxMiwgMTMsIDIyOSwgMjMwLCAxMiwgMTMsIDIyOCwgMTM0LCAxMiwgMTMsIDIyOCwgMTMzLCAKLSAgICAxMiwgMTMsIDIyOCwgMTMyLCAxMiwgMTMsIDIyOCwgMTMxLCAxMiwgMTMsIDIyOCwgMTMwLCAxMiwgMTMsIDIyOCwgMTI5LCAKLSAgICAxMiwgMTMsIDIyOCwgMTI4LCAxMiwgMTMsIDIyOCwgMTI3LCAxMiwgMTMsIDIyOCwgMTI2LCAxMiwgMTMsIDIyOCwgMTI1LCAKLSAgICAxMiwgMTMsIDIyOCwgMTI0LCAxMiwgMTMsIDIyOCwgMTIzLCAxMiwgMTMsIDIyOCwgMTIyLCAxMiwgMTMsIDIyOCwgMTIxLCAKLSAgICAxMiwgMTMsIDIyOCwgMTIwLCAxMiwgMTMsIDIyOCwgMTE5LCAxMiwgMTMsIDIyOCwgMTE4LCAxMiwgMTMsIDIyOCwgMTE3LCAKLSAgICAxMiwgMTMsIDIyOCwgMTE2LCAxMiwgMTMsIDIyOCwgMTE1LCAxMiwgMTMsIDIyOCwgMTE0LCAxMiwgMTMsIDIyOCwgMTEzLCAKLSAgICAxMiwgMTMsIDIyNywgMjM2LCAxMiwgMTMsIDIyNywgMjM1LCAxMiwgMTMsIDIyNywgMjM0LCAxMiwgMTMsIDIyNywgMjMzLCAKLSAgICAxMiwgMTMsIDIyNywgMjMyLCAxMiwgMTMsIDIyNywgMjMxLCAxMiwgMTMsIDIyNywgMjMwLCAxMiwgMTMsIDIyNywgMjI5LCAKLSAgICAxMiwgMTMsIDIyNywgMjI4LCAxMiwgMTMsIDIyNywgMjI3LCAxMiwgMTMsIDIyNywgMjI2LCAxMiwgMTMsIDIyNywgMjI1LCAKLSAgICAxMiwgMTMsIDIyNywgMjI0LCAxMiwgMTMsIDIyNywgMjIzLCAxMiwgMTMsIDIyNywgMjIyLCAxMiwgMTMsIDIyNywgMjIxLCAKLSAgICAxMiwgMTMsIDIyNywgMjIwLCAxMiwgMTMsIDIyNywgMjE5LCAxMiwgMTMsIDIyNywgMjE4LCAxMiwgMTMsIDIyNywgMjE3LCAKLSAgICAxMiwgMTMsIDIyNywgMjE2LCAxMiwgMTMsIDIyNywgMjE1LCAxMiwgMTMsIDIyNywgMjE0LCAxMiwgMTMsIDIyNywgMjEzLCAKLSAgICAxMiwgMTMsIDIyNywgMjEyLCAxMiwgMTMsIDIyNywgMjExLCAxMiwgMTMsIDIyNywgNzYsIDEyLCAxMywgMjI3LCA3NSwgMTIsIAotICAgIDEzLCAyMjcsIDc0LCAxMiwgMTMsIDIyNywgNzMsIDEyLCAxMywgMjI3LCA3MiwgMTIsIDEzLCAyMjcsIDcxLCAxMiwgMTMsIAotICAgIDIyNywgNzAsIDEyLCAxMywgMjI3LCA2OSwgMTIsIDEzLCAyMjcsIDY4LCAxMiwgMTMsIDIyNywgNjcsIDEyLCAxMywgMjI3LCAKLSAgICA2NiwgMTIsIDEzLCAyMjcsIDY1LCAxMiwgMTMsIDIyNywgNjQsIDEyLCAxMywgMjI3LCA2MywgMTIsIDEzLCAyMjcsIDYyLCAKLSAgICAxMiwgMTMsIDIyNywgNjEsIDEyLCAxMywgMjI3LCA2MCwgMTIsIDEzLCAyMjcsIDU5LCAxMiwgMTMsIDIyNywgNTgsIDEyLCAKLSAgICAxMywgMjI3LCA1NywgMTIsIDEzLCAyMjcsIDU2LCAxMiwgMTMsIDIyNywgNTUsIDEyLCAxMywgMjI3LCA1NCwgMTIsIDEzLCAKLSAgICAyMjcsIDUzLCAxMiwgMTMsIDIyNywgNTIsIDEyLCAxMywgMjI3LCA1MSwgMTIsIDEzLCAyMjcsIDUwLCAxMiwgMTMsIDIyNywgCi0gICAgNDksIDEyLCAxMywgMjI3LCA0OCwgMTIsIDEzLCAyMjcsIDQ3LCAxMiwgMTMsIDIyNywgNDYsIDEyLCAxMywgMjI3LCA0NSwgCi0gICAgMTIsIDEzLCAyMjcsIDQ0LCAxMiwgMTMsIDIyNywgNDMsIDEyLCAxMywgMjI3LCA0MiwgMTIsIDEzLCAyMjcsIDQxLCAxMiwgCi0gICAgMTMsIDIyNywgNDAsIDEyLCAxMywgMjI3LCAzOSwgMTIsIDEzLCAyMjcsIDM4LCAxMiwgMTMsIDIyNywgMzcsIDEyLCAxMywgCi0gICAgMjI3LCAzNiwgMTIsIDEzLCAyMjcsIDM1LCAxMiwgMTMsIDIyNywgMzQsIDEyLCAxMywgMjI3LCAzMywgMTIsIDEzLCAyMjcsIAotICAgIDMyLCAxMiwgMTMsIDIyNywgMzEsIDEyLCAxMywgMjI3LCAzMCwgMTIsIDEzLCAyMjcsIDI5LCAxMiwgMTMsIDIyNywgMjgsIAotICAgIDEyLCAxMywgMjI3LCAyNywgMTIsIDEzLCAyMjcsIDI2LCAxMiwgMTMsIDIyNywgMjUsIDEyLCAxMywgMjI3LCAyNCwgMTIsIAotICAgIDEzLCAyMjcsIDIzLCAxMiwgMTMsIDIyNywgMjIsIDEyLCAxMywgMjI3LCAyMSwgMTIsIDEzLCAyMjcsIDIwLCAxMiwgMTMsIAotICAgIDIyNywgMTksIDEyLCAxMywgMjI3LCAxOCwgMTIsIDEzLCAyMjcsIDE3LCAxMiwgMTMsIDIyNywgMTYsIDEyLCAxMywgMjI3LCAKLSAgICAxNSwgMTIsIDEzLCAyMjcsIDE0LCAxMiwgMTMsIDIyNywgMTMsIDEyLCAxMywgMjI3LCAxMiwgMTIsIDEzLCAyMjcsIDExLCAKLSAgICAxMiwgMTMsIDIyNywgMTAsIDEyLCAxMywgMjI3LCA5LCAxMiwgMTMsIDIyNywgOCwgMTIsIDEzLCAyMjcsIDcsIDEyLCAxMywgCi0gICAgMjI3LCA2LCAxMiwgMTMsIDIyNywgNSwgMTIsIDEzLCAyMjcsIDQsIDEyLCAxMywgMjI3LCAzLCAxMiwgMTMsIDIyNywgMiwgCi0gICAgMTIsIDEzLCAyMjYsIDEwNCwgMTIsIDEzLCAyMjYsIDEwMywgMTIsIDEzLCAyMjYsIDEwMiwgMTIsIDEzLCAyMjYsIDEwMSwgCi0gICAgMTIsIDEzLCAyMjYsIDEwMCwgMTIsIDEzLCAyMjYsIDk5LCAxMiwgMTMsIDIyNiwgOTgsIDEyLCAxMywgMjI2LCA5NywgMTIsIAotICAgIDEzLCAyMjYsIDk2LCAxMiwgMTMsIDIyNiwgOTUsIDEyLCAxMywgMjI2LCA5NCwgMTIsIDEzLCAyMjYsIDkzLCAxMiwgMTMsIAotICAgIDIyNiwgOTIsIDEyLCAxMywgMjI0LCA5NSwgMTIsIDEzLCAyMjQsIDk0LCAxMiwgMTMsIDIyNCwgOTMsIDEyLCAxMywgMjI0LCAKLSAgICA5MiwgMTIsIDEzLCAyMjQsIDkxLCAxMiwgMTMsIDIyNCwgOTAsIDEyLCAxMywgMjI0LCA4OSwgMTIsIDEzLCAyMjMsIDIyMiwgCi0gICAgMTIsIDEzLCAyMjMsIDIyMSwgMTIsIDEzLCAyMjMsIDIyMCwgMTIsIDEzLCAyMjMsIDIxOSwgMTIsIDEzLCAyMjMsIDIxOCwgCi0gICAgMTIsIDEzLCAyMjMsIDIxNywgMTIsIDEzLCAyMjMsIDIxNiwgMTIsIDEzLCAyMjMsIDIxNSwgMTIsIDEzLCAyMjMsIDIxNCwgCi0gICAgMTIsIDEzLCAyMjMsIDIxMywgMTIsIDEzLCAyMjMsIDIxMiwgMTIsIDEzLCAyMjMsIDIxMSwgMTIsIDEzLCAyMjMsIDIxMCwgCi0gICAgMTIsIDEzLCAyMjMsIDIwOSwgMTIsIDEzLCAyMjMsIDIwOCwgMTIsIDEzLCAyMjMsIDIwNywgMTIsIDEzLCAyMjMsIDIwNiwgCi0gICAgMTIsIDEzLCAyMjMsIDIwNSwgMTIsIDEzLCAyMjMsIDIwNCwgMTIsIDEzLCAyMjMsIDIwMywgMTIsIDEzLCAyMjMsIDIwMiwgCi0gICAgMTIsIDEzLCAyMjMsIDIwMSwgMTIsIDEzLCAyMjMsIDIwMCwgMTIsIDEzLCAyMjMsIDE5OSwgMTIsIDEzLCAyMjMsIDE5OCwgCi0gICAgMTIsIDEzLCAyMjMsIDE5NywgMTIsIDEzLCAyMjMsIDE5NiwgMTIsIDEzLCAyMjMsIDE5NSwgMTIsIDEzLCAyMjMsIDE5NCwgCi0gICAgMTIsIDEzLCAyMjMsIDE5MywgMTIsIDEzLCAyMjMsIDE5MiwgMTIsIDEzLCAyMjMsIDE5MSwgMTIsIDEzLCAyMjMsIDE5MCwgCi0gICAgMTIsIDEzLCAyMjMsIDE4OSwgMTIsIDEzLCAyMjIsIDg4LCAxMiwgMTMsIDIyMiwgODcsIDEyLCAxMywgMjIyLCA4NiwgMTIsIAotICAgIDEzLCAyMjIsIDg1LCAxMiwgMTMsIDIyMiwgODQsIDEyLCAxMywgMjIyLCA4MywgMTIsIDEzLCAyMjIsIDgyLCAxMiwgMTMsIAotICAgIDIyMiwgODEsIDEyLCAxMywgMjIyLCA4MCwgMTIsIDEzLCAyMjIsIDc5LCAxMiwgMTMsIDIyMiwgNzgsIDEyLCAxMywgMjIyLCAKLSAgICA3NywgMTIsIDEzLCAyMjIsIDc2LCAxMiwgMTMsIDIyMiwgNzUsIDEyLCAxMywgMjIyLCA3NCwgMTIsIDEzLCAyMjIsIDczLCAKLSAgICAxMiwgMTMsIDIyMiwgNzIsIDEyLCAxMywgMjIyLCA3MSwgMTIsIDEzLCAyMjIsIDcwLCAxMiwgMTMsIDIyMiwgNjksIDEyLCAKLSAgICAxMywgMjIyLCA2OCwgMTIsIDEzLCAyMjIsIDY3LCAxMiwgMTMsIDIyMiwgNjYsIDEyLCAxMywgMjIyLCA2NSwgMTIsIDEzLCAKLSAgICAyMjIsIDY0LCAxMiwgMTMsIDIyMiwgNjMsIDEyLCAxMywgMjIyLCA2MiwgMTIsIDEzLCAyMjIsIDYxLCAxMiwgMTMsIDIyMiwgCi0gICAgNjAsIDEyLCAxMywgMjIyLCA1OSwgMTIsIDEzLCAyMjIsIDU4LCAxMiwgMTMsIDIyMiwgNTcsIDEyLCAxMywgMjIyLCA1NiwgCi0gICAgMTIsIDEzLCAyMjIsIDU1LCAxMiwgMTMsIDIyMiwgNTQsIDEyLCAxMywgMjIyLCA1MywgMTIsIDEzLCAyMjIsIDUyLCAxMiwgCi0gICAgMTMsIDIyMiwgNTEsIDEyLCAxMywgMjIyLCA1MCwgMTIsIDEzLCAyMjIsIDQ5LCAxMiwgMTMsIDIyMiwgNDgsIDEyLCAxMywgCi0gICAgMjIyLCA0NywgMTIsIDEzLCAyMjIsIDQ2LCAxMiwgMTMsIDIyMiwgNDUsIDEyLCAxMywgMjIyLCA0NCwgMTIsIDEzLCAyMjIsIAotICAgIDQzLCAxMiwgMTMsIDIyMiwgNDIsIDEyLCAxMywgMjIyLCA0MSwgMTIsIDEzLCAyMjIsIDQwLCAxMiwgMTMsIDIyMiwgMzksIAotICAgIDEyLCAxMywgMjIyLCAzOCwgMTIsIDEzLCAyMjIsIDM3LCAxMiwgMTMsIDIyMiwgMzYsIDEyLCAxMywgMjIyLCAzNSwgMTIsIAotICAgIDEzLCAyMTcsIDE1MCwgMTIsIDEzLCAyMTcsIDE0OSwgMTIsIDEzLCAyMTcsIDE0OCwgMTIsIDEzLCAyMTcsIDE0NywgMTIsIAotICAgIDEzLCAyMTcsIDE0NiwgMTIsIDEzLCAyMTcsIDE0NSwgMTIsIDEzLCAyMTcsIDE0NCwgMTIsIDEzLCAyMTcsIDE0MywgMTIsIAotICAgIDEzLCAyMTcsIDE0MiwgMTIsIDEzLCAyMTcsIDE0MSwgMTIsIDEzLCAyMTcsIDE0MCwgMTIsIDEzLCAyMTcsIDEzOSwgMTIsIAotICAgIDEzLCAyMTcsIDEzOCwgMTIsIDEzLCAyMTcsIDEzNywgMTIsIDEzLCAyMTcsIDEzNiwgMTIsIDEzLCAyMTcsIDEzNSwgMTIsIAotICAgIDEzLCAyMTcsIDEzNCwgMTIsIDEzLCAyMTcsIDEzMywgMTIsIDEzLCAyMTcsIDEzMiwgMTIsIDEzLCAyMTcsIDEzMSwgMTIsIAotICAgIDEzLCAyMTcsIDEzMCwgMTIsIDEzLCAyMTcsIDEyOSwgMTIsIDEzLCAyMTcsIDEyOCwgMTIsIDEzLCAyMTcsIDEyNywgMTIsIAotICAgIDEzLCAyMTcsIDEyNiwgMTIsIDEzLCAyMTcsIDEyNSwgMTIsIDEzLCAyMTcsIDEyNCwgMTIsIDEzLCAyMTcsIDEyMywgMTIsIAotICAgIDEzLCAyMTcsIDEyMiwgMTIsIDEzLCAyMTcsIDEyMSwgMTIsIDEzLCAyMTcsIDEyMCwgMTIsIDEzLCAyMTcsIDExOSwgMTIsIAotICAgIDEzLCAyMTcsIDExOCwgMTIsIDEzLCAyMTcsIDExNywgMTIsIDEzLCAyMTcsIDExNiwgMTIsIDEzLCAyMTcsIDExNSwgMTIsIAotICAgIDEzLCAyMTcsIDExNCwgMTIsIDEzLCAyMTcsIDExMywgMTIsIDEzLCAyMTcsIDExMiwgMTIsIDEzLCAyMTcsIDExMSwgMTIsIAotICAgIDEzLCAyMTcsIDExMCwgMTIsIDEzLCAyMTcsIDEwOSwgMTIsIDEzLCAyMTcsIDEwOCwgMTIsIDEzLCAyMTcsIDEwNywgMTIsIAorICAgIDIzMiwgMTUsIDEzMiwgNSwgMTM0LCAyNTMsIDIzMiwgMTUsIDEzMiwgNSwgMjQ0LCAxMiwgMjUzLCAyMzIsIDE1LCAxMzIsIAorICAgIDUsIDI0NCwgODIsIDI1MywgMjMyLCAxNSwgMTMyLCA1LCAyMTksIDEyNiwgMjUzLCAyMzIsIDE1LCAxMzIsIDUsIDIyMCwgCisgICAgMTIzLCAyNTMsIDIzMiwgMTUsIDEzMiwgNSwgMjQ1LCAxOTQsIDI1MywgMjMyLCAxNSwgMTMyLCA1LCAyMjgsIDIwMSwgMjUzLCAKKyAgICAyMzIsIDE1LCAxMzIsIDUsIDEzNCwgMjQ3LCAxODgsIDE1LCAxMzIsIDUsIDI0NCwgMTIsIDI0NywgMTg4LCAxNSwgMTMyLCAKKyAgICA1LCAyNDQsIDgyLCAyNDcsIDE4OCwgMTUsIDEzMiwgNSwgMjE5LCAxMjYsIDI0NywgMTg4LCAxNSwgMTMyLCA1LCAyMjAsIAorICAgIDEyMywgMjQ3LCAxODgsIDE1LCAxMzIsIDUsIDI0NSwgMTk0LCAyNDcsIDE4OCwgMTUsIDEzMiwgNSwgMjI4LCAyMDEsIDI0NywgCisgICAgMTg4LCAxNSwgMTMyLCA1LCAyNDQsIDEyLCA3MCwgMTUsIDEzMiwgNSwgMjQ0LCA4MiwgNzAsIDE1LCAxMzIsIDUsIDIxOSwgCisgICAgMTI2LCA3MCwgMTUsIDEzMiwgNSwgMjIwLCAxMjMsIDcwLCAxNSwgMTMyLCA1LCAyNDUsIDE5NCwgNzAsIDE1LCAxMzIsIDUsIAorICAgIDIyOCwgMjAxLCA3MCwgMTUsIDEzMiwgNSwgMTIzLCAyNDMsIDM5LCAxNSwgMTMyLCA1LCAxMTMsIDI0MywgMzksIDE1LCAKKyAgICAxMzIsIDUsIDEzNCwgMjQzLCAzOSwgMTUsIDEzMiwgNSwgMjQ0LCAxMiwgMjQzLCAzOSwgMTUsIDEzMiwgNSwgMjQ0LCA4MiwgCisgICAgMjQzLCAzOSwgMTUsIDEzMiwgNSwgMjE5LCAxMjYsIDI0MywgMzksIDE1LCAxMzIsIDUsIDIyMCwgMTIzLCAyNDMsIDM5LCAKKyAgICAxNSwgMTMyLCA1LCAyNDUsIDE5NCwgMjQzLCAzOSwgMTUsIDEzMiwgNSwgMjI4LCAyMDEsIDI0MywgMzksIDE1LCAxMzIsIDUsIAorICAgIDEyMywgMjQzLCAzNiwgMTUsIDEzMiwgNSwgMTEzLCAyNDMsIDM2LCAxNSwgMTMyLCA1LCAxMzQsIDI0MywgMzYsIDE1LCAKKyAgICAxMzIsIDUsIDI0NCwgMTIsIDI0MywgMzYsIDE1LCAxMzIsIDUsIDI0NCwgODIsIDI0MywgMzYsIDE1LCAxMzIsIDUsIDExMywgCisgICAgMjIwLCA3OSwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc5LCAxNSwgMTMyLCA1LCAxMzQsIDIyMCwgODAsIDIxNCwgMTIsIDE3LCAKKyAgICAxNSwgMTMyLCA1LCAyNDQsIDEyLCAyMjAsIDc5LCAxNSwgMTMyLCA1LCAyNDQsIDgyLCAyMjAsIDc5LCAxNSwgMTMyLCA1LCAKKyAgICAyMTksIDEyNiwgMjIwLCA3OSwgMTUsIDEzMiwgNSwgMjIwLCAxMjMsIDIyMCwgNzksIDE1LCAxMzIsIDUsIDI0NSwgMTk0LCAKKyAgICAyMjAsIDc5LCAxNSwgMTMyLCA1LCAyMjgsIDIwMSwgMjIwLCA3OSwgMTUsIDEzMiwgNSwgMTIzLCAyMjAsIDc0LCAxNSwgCisgICAgMTMyLCA1LCAxMTMsIDIyMCwgNzQsIDE1LCAxMzIsIDUsIDEzNCwgMjIwLCA3NCwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc1LCAKKyAgICAyMTQsIDEyLCAxNywgMTUsIDEzMiwgNSwgMjQ0LCAxMiwgMjIwLCA3NCwgMTUsIDEzMiwgNSwgMjQ0LCA4MiwgMjIwLCA3NCwgCisgICAgMTUsIDEzMiwgNSwgMjIwLCA4MCwgMzAsIDI0MywgMTIwLCA5NiwgMjQ3LCAxODgsIDE1LCAxMzIsIDUsIDIyMCwgODAsIDMwLCAKKyAgICAyNDMsIDEyMCwgOTYsIDIzMCwgMTg5LCAxNSwgMTMyLCA1LCAxMjMsIDI1MSwgOTYsIDE1LCAxMzIsIDUsIDExMywgMjUxLCAKKyAgICA5NiwgMTUsIDEzMiwgNSwgMTM0LCAyNTEsIDk2LCAxNSwgMTMyLCA1LCAxMzQsIDI1MSwgOTcsIDIxNCwgMTIsIDE3LCAxNSwgCisgICAgMTMyLCA1LCAyNDQsIDEyLCAyNTEsIDk2LCAxNSwgMTMyLCA1LCAyNDQsIDgyLCAyNTEsIDk2LCAxNSwgMTMyLCA1LCAxMzQsIAorICAgIDIxNCwgMTIsIDI0NCwgMjEsIDI0NSwgNzUsIDE1LCAxMzIsIDUsIDEzNCwgMjE0LCAxMiwgMjQ0LCAyMSwgMjQ1LCA3MiwgCisgICAgMTUsIDEzMiwgNSwgMjQ0LCAxMiwgMjE0LCAxMiwgMjQ0LCAyMSwgMjMyLCAyMTgsIDE1LCAxMzIsIDUsIDI0NCwgMTIsIAorICAgIDIxNCwgMTIsIDI0NCwgMjEsIDIzMiwgMjE2LCAxNSwgMTMyLCA1LCAyNDQsIDEyLCAyMTQsIDEyLCAyNDQsIDIxLCAyMzIsIAorICAgIDIxOSwgNjEsIDE1LCAxMzIsIDUsIDI0NCwgMTIsIDIxNCwgMTIsIDI0NCwgMjEsIDIzMiwgMjE5LCAyNTMsIDE1OSwgMTUsIAorICAgIDEzMiwgNSwgMjE5LCAxMjYsIDIxNCwgMTIsIDI0NCwgMjEsIDI1MywgMjI5LCAxNSwgMTMyLCA1LCAyMjAsIDEyMywgMjE0LCAKKyAgICAxMiwgMjQ0LCAyMSwgMjM2LCA5LCAxNSwgMTMyLCA1LCAyMjAsIDEyMywgMjE0LCAxMiwgMjQ0LCAyMSwgMjM2LCAxMSwgNjEsIAorICAgIDE1LCAxMzIsIDUsIDIyMCwgMTIzLCAyMTQsIDEyLCAyNDQsIDIxLCAyMzYsIDExLCAyNTMsIDE1OSwgMTUsIDEzMiwgNSwgCisgICAgMjQ1LCAxOTQsIDIxNCwgMTIsIDI0NCwgMjEsIDIxNCwgMTIxLCAxNSwgMTMyLCA1LCAyNDUsIDE5NCwgMjE0LCAxMiwgMjQ0LCAKKyAgICAyMSwgMjE0LCAxMjAsIDE1LCAxMzIsIDUsIDIyOCwgMjAxLCAyMTQsIDEyLCAyNDQsIDIxLCAyMzYsIDI1LCAxNSwgMTMyLCAKKyAgICA1LCAyMjgsIDIwMSwgMjE0LCAxMiwgMjQ0LCAyMSwgMjM2LCAyNCwgMTUsIDEzMiwgNSwgMjI4LCAyMDEsIDIxNCwgMTIsIAorICAgIDI0NCwgMjEsIDIzNiwgMjMsIDE1LCAxMzIsIDUsIDIyOCwgMjAxLCAyMTQsIDEyLCAyNDQsIDIxLCAyMzYsIDI2LCA2MSwgCisgICAgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIDIzMywgMjE2LCAyNDAsIDE1LCAxMzIsIDUsIDEzNCwgMjUzLCAyMzMsIDIxNiwgMjQwLCAKKyAgICAxNSwgMTMyLCA1LCAyNDQsIDEyLCAyNTMsIDIzMywgMjE2LCAyNDAsIDE1LCAxMzIsIDUsIDI0NCwgODIsIDI1MywgMjMzLCAKKyAgICAyMTYsIDI0MCwgMTUsIDEzMiwgNSwgMjE5LCAxMjYsIDI1MywgMjMzLCAyMTYsIDI0MCwgMTUsIDEzMiwgNSwgMTIzLCAyNTIsIAorICAgIDE1MSwgMTUsIDEzMiwgNSwgMTEzLCAyNTIsIDE1MSwgMTUsIDEzMiwgNSwgMTM0LCAyNTIsIDE1MSwgMTUsIDEzMiwgNSwgCisgICAgMjQ0LCAxMiwgMjUyLCAxNTEsIDE1LCAxMzIsIDUsIDI0NCwgMTIsIDI1MiwgMTUyLCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgCisgICAgNSwgMjQ0LCA4MiwgMjUyLCAxNTEsIDE1LCAxMzIsIDUsIDI0NCwgODIsIDI1MiwgMTUyLCAyMTQsIDEyLCAxNywgMTUsIAorICAgIDEzMiwgNSwgMjI4LCAyMTEsIDE1LCAxMzIsIDUsIDIyOCwgMjEyLCAxNSwgMTMyLCA1LCAxMjMsIDI0NSwgNzEsIDE1LCAKKyAgICAxMzIsIDUsIDExMywgMjQ1LCA3MSwgMTUsIDEzMiwgNSwgMTIzLCAyMTYsIDE3MCwgMjQ3LCAxODgsIDE1LCAxMzIsIDUsIAorICAgIDExMywgMjE2LCAxNjgsIDI0NywgMTg4LCAxNSwgMTMyLCA1LCAyNDQsIDgyLCAyMTksIDExNSwgMjQ3LCAxODgsIDE1LCAKKyAgICAxMzIsIDUsIDEyMywgMjE2LCAxNzAsIDIxNCwgMTIsIDI0NCwgMjEsIDYxLCAxNSwgMTMyLCA1LCAxMTMsIDIxNiwgMTY4LCAKKyAgICAyMTQsIDEyLCAyNDQsIDIxLCA2MSwgMTUsIDEzMiwgNSwgMTIzLCAyNDUsIDE5MCwgMjUzLCAyMzIsIDE1LCAxMzIsIDUsIAorICAgIDEyMywgMjI0LCAyMywgMjUzLCAyMzIsIDE1LCAxMzIsIDUsIDU1LCAyNTMsIDIyMCwgMTIzLCAyMTksIDExNiwgMTUsIDEzMiwgCisgICAgNSwgNTUsIDI1MywgMjIwLCAxMjMsIDIyNCwgMjIsIDE1LCAyMjQsIDE0MiwgNSwgNTUsIDI1MywgMjIwLCAyMTEsIDIwOSwgCisgICAgMjQ3LCAxNzMsIDE1LCAyMjQsIDE0MiwgNSwgNjcsIDI0OSwgMjI3LCAxNSwgMjI0LCAxNDIsIDUsIDI0OCwgMCwgMjQ5LCAKKyAgICAyMjcsIDE1LCAyMjQsIDE0MiwgNSwgMjQ4LCAwLCAyMTUsIDIyMiwgMTIsIDEzLCAyNTUsIDE1NiwgMTIsIDEzLCAyNTUsIAorICAgIDE1NSwgMTIsIDEzLCAyNTUsIDE1NCwgMTIsIDEzLCAyNTUsIDE1MywgMTIsIDEzLCAyNTUsIDE1MiwgMTIsIDEzLCAyNTUsIAorICAgIDE1MSwgMTIsIDEzLCAyNTUsIDE1MCwgMTIsIDEzLCAyNTUsIDE0OSwgMTIsIDEzLCAyNTUsIDE0OCwgMTIsIDEzLCAyNTUsIAorICAgIDE0NywgMTIsIDEzLCAyNTUsIDE0NiwgMTIsIDEzLCAyNTUsIDE0NSwgMTIsIDEzLCAyNTUsIDE0NCwgMTIsIDEzLCAyNTUsIAorICAgIDE0MywgMTIsIDEzLCAyNTUsIDE0MiwgMTIsIDEzLCAyNTUsIDE0MSwgMTIsIDEzLCAyNTUsIDE0MCwgMTIsIDEzLCAyNTUsIAorICAgIDEzOSwgMTIsIDEzLCAyNTUsIDEzOCwgMTIsIDEzLCAyNTUsIDEzNywgMTIsIDEzLCAyNTUsIDEzNiwgMTIsIDEzLCAyNTUsIAorICAgIDEzNSwgMTIsIDEzLCAyNTUsIDEzNCwgMTIsIDEzLCAyNTUsIDEzMywgMTIsIDEzLCAyNTUsIDEzMiwgMTIsIDEzLCAyNTUsIAorICAgIDEzMSwgMTIsIDEzLCAyNTUsIDEzMCwgMTIsIDEzLCAyNTUsIDEyOSwgMTIsIDEzLCAyNTUsIDEyOCwgMTIsIDEzLCAyNTUsIAorICAgIDEyNywgMTIsIDEzLCAyNTUsIDEyNiwgMTIsIDEzLCAyNTUsIDEyNSwgMTIsIDEzLCAyNTUsIDEyNCwgMTIsIDEzLCAyNTUsIAorICAgIDEyMywgMTIsIDEzLCAyNTUsIDEyMiwgMTIsIDEzLCAyNTUsIDEyMSwgMTIsIDEzLCAyNTUsIDEyMCwgMTIsIDEzLCAyNTUsIAorICAgIDExOSwgMTIsIDEzLCAyNTUsIDExOCwgMTIsIDEzLCAyNTUsIDExNywgMTIsIDEzLCAyNTUsIDExNiwgMTIsIDEzLCAyNTUsIAorICAgIDExNSwgMTIsIDEzLCAyNTUsIDExNCwgMTIsIDEzLCAyNTUsIDExMywgMTIsIDEzLCAyNTUsIDExMiwgMTIsIDEzLCAyNTUsIAorICAgIDExMSwgMTIsIDEzLCAyNTUsIDExMCwgMTIsIDEzLCAyNTUsIDEwOSwgMTIsIDEzLCAyNTUsIDEwOCwgMTIsIDEzLCAyNTUsIAorICAgIDEwNywgMTIsIDEzLCAyNTUsIDEwNiwgMTIsIDEzLCAyNTUsIDEwNSwgMTIsIDEzLCAyNTUsIDEwNCwgMTIsIDEzLCAyNTUsIAorICAgIDEwMywgMTIsIDEzLCAyNTUsIDEwMiwgMTIsIDEzLCAyNTUsIDEwMSwgMTIsIDEzLCAyNTUsIDEwMCwgMTIsIDEzLCAyNTUsIAorICAgIDk5LCAxMiwgMTMsIDI1NSwgOTgsIDEyLCAxMywgMjU1LCA5NywgMTIsIDEzLCAyNTUsIDk2LCAxMiwgMTMsIDI1NSwgOTUsIAorICAgIDEyLCAxMywgMjU1LCA5NCwgMTIsIDEzLCAyNTUsIDkzLCAxMiwgMTMsIDI1NSwgOTIsIDEyLCAxMywgMjU1LCA5MSwgMTIsIAorICAgIDEzLCAyNTUsIDkwLCAxMiwgMTMsIDI1NSwgODksIDEyLCAxMywgMjU1LCA4OCwgMTIsIDEzLCAyNTUsIDg3LCAxMiwgMTMsIAorICAgIDI1NSwgODYsIDEyLCAxMywgMjU1LCA4NSwgMTIsIDEzLCAyNTUsIDg0LCAxMiwgMTMsIDI1NSwgODMsIDEyLCAxMywgMjU1LCAKKyAgICA4MiwgMTIsIDEzLCAyNTUsIDgxLCAxMiwgMTMsIDI1NSwgODAsIDEyLCAxMywgMjU1LCA3OSwgMTIsIDEzLCAyNTUsIDc4LCAKKyAgICAxMiwgMTMsIDI1NSwgNzcsIDEyLCAxMywgMjUzLCAxNTcsIDEyLCAxMywgMjUzLCAxNTUsIDEyLCAxMywgMjUzLCAxNTMsIAorICAgIDEyLCAxMywgMjUzLCAxNTEsIDEyLCAxMywgMjUzLCAxNDksIDEyLCAxMywgMjUzLCAxNDgsIDEyLCAxMywgMjUzLCAxNDYsIAorICAgIDEyLCAxMywgMjUzLCAxNDQsIDEyLCAxMywgMjUzLCAxNDIsIDEyLCAxMywgMjUzLCAxNDAsIDEyLCAxMywgMjUxLCA2MywgCisgICAgMTIsIDEzLCAyNTEsIDYyLCAxMiwgMTMsIDI1MSwgNjEsIDEyLCAxMywgMjUxLCA2MCwgMTIsIDEzLCAyNTEsIDU5LCAxMiwgCisgICAgMTMsIDI1MSwgNTgsIDEyLCAxMywgMjUxLCA1NywgMTIsIDEzLCAyNTEsIDU2LCAxMiwgMTMsIDI1MSwgNTUsIDEyLCAxMywgCisgICAgMjUxLCA1NCwgMTIsIDEzLCAyNTEsIDUzLCAxMiwgMTMsIDI1MSwgNTIsIDEyLCAxMywgMjUxLCA1MSwgMTIsIDEzLCAyNTEsIAorICAgIDUwLCAxMiwgMTMsIDI1MSwgNDksIDEyLCAxMywgMjUxLCA0OCwgMTIsIDEzLCAyNTEsIDQ3LCAxMiwgMTMsIDI1MSwgNDYsIAorICAgIDEyLCAxMywgMjUxLCA0NSwgMTIsIDEzLCAyNTEsIDQ0LCAxMiwgMTMsIDI1MSwgNDMsIDEyLCAxMywgMjUxLCA0MiwgMTIsIAorICAgIDEzLCAyNTEsIDQxLCAxMiwgMTMsIDI1MSwgNDAsIDEyLCAxMywgMjUxLCAzOSwgMTIsIDEzLCAyNTEsIDM4LCAxMiwgMTMsIAorICAgIDI1MSwgMzcsIDEyLCAxMywgMjUxLCAzNiwgMTIsIDEzLCAyNDksIDYwLCAxMiwgMTMsIDI0OSwgNTksIDEyLCAxMywgMjQ5LCAKKyAgICA1OCwgMTIsIDEzLCAyNDksIDU3LCAxMiwgMTMsIDI0OSwgNTYsIDEyLCAxMywgMjQ5LCA1NSwgMTIsIDEzLCAyNDksIDU0LCAKKyAgICAxMiwgMTMsIDI0OSwgNTMsIDEyLCAxMywgMjQ5LCA1MiwgMTIsIDEzLCAyNDksIDUxLCAxMiwgMTMsIDI0OSwgNTAsIDEyLCAKKyAgICAxMywgMjQ5LCA0OSwgMTIsIDEzLCAyNDksIDQ4LCAxMiwgMTMsIDI0OSwgNDcsIDEyLCAxMywgMjQ5LCA0NiwgMTIsIDEzLCAKKyAgICAyNDksIDQ1LCAxMiwgMTMsIDI0OSwgNDQsIDEyLCAxMywgMjQ5LCA0MywgMTIsIDEzLCAyNDksIDQyLCAxMiwgMTMsIDI0OSwgCisgICAgNDEsIDEyLCAxMywgMjQ5LCA0MCwgMTIsIDEzLCAyNDksIDM5LCAxMiwgMTMsIDI0OSwgMzgsIDEyLCAxMywgMjQ5LCAzNywgCisgICAgMTIsIDEzLCAyNDksIDM2LCAxMiwgMTMsIDI0OSwgMzUsIDEyLCAxMywgMjQ5LCAzNCwgMTIsIDEzLCAyNDksIDMzLCAxMiwgCisgICAgMTMsIDI0OSwgMzIsIDEyLCAxMywgMjQ5LCAzMSwgMTIsIDEzLCAyNDksIDMwLCAxMiwgMTMsIDI0OSwgMjksIDEyLCAxMywgCisgICAgMjQ5LCAyOCwgMTIsIDEzLCAyNDksIDI3LCAxMiwgMTMsIDI0OSwgMjYsIDEyLCAxMywgMjQ5LCAyNSwgMTIsIDEzLCAyNDksIAorICAgIDI0LCAxMiwgMTMsIDI0OSwgMjMsIDEyLCAxMywgMjQ5LCAyMiwgMTIsIDEzLCAyNDksIDIxLCAxMiwgMTMsIDI0OSwgMjAsIAorICAgIDEyLCAxMywgMjQ5LCAxOSwgMTIsIDEzLCAyNDksIDE4LCAxMiwgMTMsIDI0OSwgMTcsIDEyLCAxMywgMjQ5LCAxNiwgMTIsIAorICAgIDEzLCAyNDksIDE1LCAxMiwgMTMsIDI0OSwgMTQsIDEyLCAxMywgMjQ5LCAxMywgMTIsIDEzLCAyNDksIDEyLCAxMiwgMTMsIAorICAgIDI0OSwgMTEsIDEyLCAxMywgMjQ5LCAxMCwgMTIsIDEzLCAyNDksIDksIDEyLCAxMywgMjQ5LCA4LCAxMiwgMTMsIDI0OSwgNywgCisgICAgMTIsIDEzLCAyNDksIDYsIDEyLCAxMywgMjQ5LCA1LCAxMiwgMTMsIDI0OSwgNCwgMTIsIDEzLCAyNDksIDMsIDEyLCAxMywgCisgICAgMjQ5LCAyLCAxMiwgMTMsIDI0OSwgMSwgMTIsIDEzLCAyNDksIDAsIDEyLCAxMywgMjQ4LCAyNTUsIDEyLCAxMywgMjQ4LCAKKyAgICAyNTQsIDEyLCAxMywgMjQ4LCAyNTMsIDEyLCAxMywgMjQ4LCAyNTIsIDEyLCAxMywgMjQ4LCAyNTEsIDEyLCAxMywgMjQ4LCAKKyAgICAyNTAsIDEyLCAxMywgMjQ4LCAyNDksIDEyLCAxMywgMjQ4LCAyNDgsIDEyLCAxMywgMjQ4LCAyNDcsIDEyLCAxMywgMjQ4LCAKKyAgICAyNDYsIDEyLCAxMywgMjQ4LCAyNDUsIDEyLCAxMywgMjQ4LCAyNDQsIDEyLCAxMywgMjQ4LCAyNDMsIDEyLCAxMywgMjQ4LCAKKyAgICAyNDIsIDEyLCAxMywgMjQ4LCAyNDEsIDEyLCAxMywgMjQ4LCAyNDAsIDEyLCAxMywgMjQ4LCAyMzksIDEyLCAxMywgMjQ4LCAKKyAgICAyMzgsIDEyLCAxMywgMjQ4LCAyMzcsIDEyLCAxMywgMjQ4LCAyMzYsIDEyLCAxMywgMjQ4LCAyMzUsIDEyLCAxMywgMjQ4LCAKKyAgICAyMzQsIDEyLCAxMywgMjQ4LCAyMzMsIDEyLCAxMywgMjQ4LCAyMzIsIDEyLCAxMywgMjQ4LCAyMzEsIDEyLCAxMywgMjQ4LCAKKyAgICAyMzAsIDEyLCAxMywgMjQ4LCAyMjksIDEyLCAxMywgMjQ4LCAyMjgsIDEyLCAxMywgMjQ4LCAyMjcsIDEyLCAxMywgMjQ4LCAKKyAgICAyMjYsIDEyLCAxMywgMjQ4LCAyMjUsIDEyLCAxMywgMjQ2LCAyNCwgMTIsIDEzLCAyNDYsIDIzLCAxMiwgMTMsIDI0NiwgMjIsIAorICAgIDEyLCAxMywgMjQ2LCAyMSwgMTIsIDEzLCAyNDYsIDIwLCAxMiwgMTMsIDI0NiwgMTksIDEyLCAxMywgMjQ2LCAxOCwgMTIsIAorICAgIDEzLCAyNDYsIDE3LCAxMiwgMTMsIDI0NiwgMTYsIDEyLCAxMywgMjQ2LCAxNSwgMTIsIDEzLCAyNDYsIDE0LCAxMiwgMTMsIAorICAgIDI0NiwgMTMsIDEyLCAxMywgMjQ2LCAxMiwgMTIsIDEzLCAyNDYsIDExLCAxMiwgMTMsIDI0NiwgMTAsIDEyLCAxMywgMjQ2LCAKKyAgICA5LCAxMiwgMTMsIDI0NiwgOCwgMTIsIDEzLCAyNDYsIDcsIDEyLCAxMywgMjQ2LCA2LCAxMiwgMTMsIDI0NiwgNSwgMTIsIAorICAgIDEzLCAyNDYsIDQsIDEyLCAxMywgMjQ2LCAzLCAxMiwgMTMsIDI0NiwgMiwgMTIsIDEzLCAyNDYsIDEsIDEyLCAxMywgMjQ2LCAKKyAgICAwLCAxMiwgMTMsIDI0NSwgMjU1LCAxMiwgMTMsIDI0NSwgMjU0LCAxMiwgMTMsIDI0NSwgMjUzLCAxMiwgMTMsIDI0NSwgCisgICAgMjUyLCAxMiwgMTMsIDI0NSwgMjUxLCAxMiwgMTMsIDI0NSwgMjUwLCAxMiwgMTMsIDI0NSwgMjQ5LCAxMiwgMTMsIDI0NSwgCisgICAgMjQ4LCAxMiwgMTMsIDI0NSwgMjQ3LCAxMiwgMTMsIDI0NSwgMjQ2LCAxMiwgMTMsIDI0NSwgMjQ1LCAxMiwgMTMsIDI0NSwgCisgICAgMjQ0LCAxMiwgMTMsIDI0NSwgMjQzLCAxMiwgMTMsIDI0NSwgMjQyLCAxMiwgMTMsIDI0NSwgMjQxLCAxMiwgMTMsIDI0NSwgCisgICAgMjQwLCAxMiwgMTMsIDI0NSwgMjM5LCAxMiwgMTMsIDI0NSwgMjM4LCAxMiwgMTMsIDI0NSwgMjM3LCAxMiwgMTMsIDI0NSwgCisgICAgNiwgMTIsIDEzLCAyNDUsIDUsIDEyLCAxMywgMjQ1LCA0LCAxMiwgMTMsIDI0NSwgMywgMTIsIDEzLCAyNDUsIDIsIDEyLCAKKyAgICAxMywgMjQ1LCAxLCAxMiwgMTMsIDI0NSwgMCwgMTIsIDEzLCAyNDQsIDI1NSwgMTIsIDEzLCAyNDQsIDI1NCwgMTIsIDEzLCAKKyAgICAyNDQsIDI1MywgMTIsIDEzLCAyNDQsIDI1MiwgMTIsIDEzLCAyNDQsIDI1MSwgMTIsIDEzLCAyNDQsIDI1MCwgMTIsIDEzLCAKKyAgICAyNDQsIDI0OSwgMTIsIDEzLCAyNDQsIDI0OCwgMTIsIDEzLCAyNDQsIDI0NywgMTIsIDEzLCAyNDQsIDI0NiwgMTIsIDEzLCAKKyAgICAyNDQsIDI0NSwgMTIsIDEzLCAyNDQsIDI0NCwgMTIsIDEzLCAyNDQsIDI0MywgMTIsIDEzLCAyNDQsIDI0MiwgMTIsIDEzLCAKKyAgICAyNDQsIDI0MSwgMTIsIDEzLCAyNDQsIDI0MCwgMTIsIDEzLCAyNDQsIDIzOSwgMTIsIDEzLCAyNDQsIDIzOCwgMTIsIDEzLCAKKyAgICAyNDQsIDIzNywgMTIsIDEzLCAyNDQsIDIzNiwgMTIsIDEzLCAyNDQsIDIzNSwgMTIsIDEzLCAyNDQsIDIzNCwgMTIsIDEzLCAKKyAgICAyNDQsIDIzMywgMTIsIDEzLCAyNDQsIDIzMiwgMTIsIDEzLCAyNDQsIDIzMSwgMTIsIDEzLCAyNDQsIDIzMCwgMTIsIDEzLCAKKyAgICAyNDQsIDIyOSwgMTIsIDEzLCAyNDQsIDIyOCwgMTIsIDEzLCAyNDQsIDIyNywgMTIsIDEzLCAyNDQsIDIyNiwgMTIsIDEzLCAKKyAgICAyNDQsIDIyNSwgMTIsIDEzLCAyNDQsIDIyNCwgMTIsIDEzLCAyNDQsIDIyMywgMTIsIDEzLCAyNDQsIDIyMiwgMTIsIDEzLCAKKyAgICAyNDQsIDIyMSwgMTIsIDEzLCAyNDQsIDIyMCwgMTIsIDEzLCAyNDQsIDIxOSwgMTIsIDEzLCAyNDQsIDIxOCwgMTIsIDEzLCAKKyAgICAyNDQsIDIxNywgMTIsIDEzLCAyNDQsIDIxNiwgMTIsIDEzLCAyNDQsIDIxNSwgMTIsIDEzLCAyNDQsIDIxNCwgMTIsIDEzLCAKKyAgICAyNDQsIDIxMywgMTIsIDEzLCAyNDQsIDIxMiwgMTIsIDEzLCAyNDQsIDIxMSwgMTIsIDEzLCAyNDQsIDIxMCwgMTIsIDEzLCAKKyAgICAyNDQsIDIwOSwgMTIsIDEzLCAyNDQsIDIwOCwgMTIsIDEzLCAyNDQsIDIwNywgMTIsIDEzLCAyNDQsIDIwNiwgMTIsIDEzLCAKKyAgICAyNDQsIDIwNSwgMTIsIDEzLCAyNDQsIDIwNCwgMTIsIDEzLCAyNDQsIDIwMywgMTIsIDEzLCAyNDQsIDIwMiwgMTIsIDEzLCAKKyAgICAyNDQsIDIwMSwgMTIsIDEzLCAyNDQsIDIwMCwgMTIsIDEzLCAyNDQsIDE5OSwgMTIsIDEzLCAyNDQsIDE5OCwgMTIsIDEzLCAKKyAgICAyNDMsIDIwMiwgMTIsIDEzLCAyNDMsIDIwMSwgMTIsIDEzLCAyNDMsIDIwMCwgMTIsIDEzLCAyNDMsIDE5OSwgMTIsIDEzLCAKKyAgICAyNDMsIDE5OCwgMTIsIDEzLCAyNDMsIDE5NywgMTIsIDEzLCAyNDMsIDE5NiwgMTIsIDEzLCAyNDMsIDE5NSwgMTIsIDEzLCAKKyAgICAyNDMsIDE5NCwgMTIsIDEzLCAyNDMsIDE5MywgMTIsIDEzLCAyNDMsIDE5MiwgMTIsIDEzLCAyNDMsIDE5MSwgMTIsIDEzLCAKKyAgICAyNDMsIDE5MCwgMTIsIDEzLCAyNDMsIDE4OSwgMTIsIDEzLCAyNDMsIDE4OCwgMTIsIDEzLCAyNDMsIDE4NywgMTIsIDEzLCAKKyAgICAyNDMsIDE4NiwgMTIsIDEzLCAyNDMsIDE4NSwgMTIsIDEzLCAyNDMsIDE4NCwgMTIsIDEzLCAyNDMsIDE4MywgMTIsIDEzLCAKKyAgICAyNDMsIDE4MiwgMTIsIDEzLCAyNDMsIDE4MSwgMTIsIDEzLCAyNDMsIDE4MCwgMTIsIDEzLCAyNDMsIDE3OSwgMTIsIDEzLCAKKyAgICAyNDMsIDE3OCwgMTIsIDEzLCAyNDMsIDE3NywgMTIsIDEzLCAyNDMsIDE3NiwgMTIsIDEzLCAyNDMsIDE3NSwgMTIsIDEzLCAKKyAgICAyNDMsIDE3NCwgMTIsIDEzLCAyNDMsIDE3MywgMTIsIDEzLCAyNDMsIDE3MiwgMTIsIDEzLCAyNDMsIDE3MSwgMTIsIDEzLCAKKyAgICAyNDMsIDE3MCwgMTIsIDEzLCAyNDMsIDE2OSwgMTIsIDEzLCAyNDMsIDE2OCwgMTIsIDEzLCAyNDMsIDE2NywgMTIsIDEzLCAKKyAgICAyNDMsIDE2NiwgMTIsIDEzLCAyNDMsIDE2NSwgMTIsIDEzLCAyNDMsIDE2NCwgMTIsIDEzLCAyNDMsIDE2MywgMTIsIDEzLCAKKyAgICAyNDMsIDE2MiwgMTIsIDEzLCAyNDMsIDE2MSwgMTIsIDEzLCAyNDMsIDE2MCwgMTIsIDEzLCAyNDMsIDE1OSwgMTIsIDEzLCAKKyAgICAyNDMsIDE1OCwgMTIsIDEzLCAyNDMsIDE1NywgMTIsIDEzLCAyNDMsIDE1NiwgMTIsIDEzLCAyNDMsIDE1NSwgMTIsIDEzLCAKKyAgICAyNDMsIDE1NCwgMTIsIDEzLCAyNDMsIDE1MywgMTIsIDEzLCAyNDMsIDE1MiwgMTIsIDEzLCAyNDMsIDE1MSwgMTIsIDEzLCAKKyAgICAyNDMsIDE1MCwgMTIsIDEzLCAyNDMsIDE0OSwgMTIsIDEzLCAyNDMsIDE0OCwgMTIsIDEzLCAyNDMsIDE0NywgMTIsIDEzLCAKKyAgICAyNDMsIDE0NiwgMTIsIDEzLCAyNDMsIDE0NSwgMTIsIDEzLCAyNDMsIDE0NCwgMTIsIDEzLCAyNDMsIDE0MywgMTIsIDEzLCAKKyAgICAyNDMsIDE0MiwgMTIsIDEzLCAyNDMsIDE0MSwgMTIsIDEzLCAyNDMsIDE0MCwgMTIsIDEzLCAyNDMsIDEzOSwgMTIsIDEzLCAKKyAgICAyNDIsIDU5LCAxMiwgMTMsIDI0MiwgNTgsIDEyLCAxMywgMjQyLCA1NywgMTIsIDEzLCAyNDIsIDU2LCAxMiwgMTMsIDI0MiwgCisgICAgNTUsIDEyLCAxMywgMjQyLCA1NCwgMTIsIDEzLCAyNDIsIDUzLCAxMiwgMTMsIDI0MiwgNTIsIDEyLCAxMywgMjQyLCA1MSwgCisgICAgMTIsIDEzLCAyNDAsIDEzOSwgMTIsIDEzLCAyNDAsIDEzOCwgMTIsIDEzLCAyNDAsIDEzNywgMTIsIDEzLCAyNDAsIDEzNiwgCisgICAgMTIsIDEzLCAyNDAsIDEzNSwgMTIsIDEzLCAyNDAsIDEzNCwgMTIsIDEzLCAyNDAsIDEzMywgMTIsIDEzLCAyNDAsIDEzMiwgCisgICAgMTIsIDEzLCAyNDAsIDEzMSwgMTIsIDEzLCAyNDAsIDEzMCwgMTIsIDEzLCAyNDAsIDEyOSwgMTIsIDEzLCAyNDAsIDEyOCwgCisgICAgMTIsIDEzLCAyNDAsIDEyNywgMTIsIDEzLCAyNDAsIDEyNiwgMTIsIDEzLCAyNDAsIDEyNSwgMTIsIDEzLCAyNDAsIDEyNCwgCisgICAgMTIsIDEzLCAyNDAsIDEyMywgMTIsIDEzLCAyNDAsIDEyMiwgMTIsIDEzLCAyNDAsIDEyMSwgMTIsIDEzLCAyMzUsIDIzLCAKKyAgICAxMiwgMTMsIDIzNSwgMjIsIDEyLCAxMywgMjM1LCAyMSwgMTIsIDEzLCAyMzUsIDIwLCAxMiwgMTMsIDIzNSwgMTksIDEyLCAKKyAgICAxMywgMjM1LCAxOCwgMTIsIDEzLCAyMzUsIDE3LCAxMiwgMTMsIDIzNSwgMTYsIDEyLCAxMywgMjMzLCAxNDcsIDEyLCAxMywgCisgICAgMjMzLCAxNDYsIDEyLCAxMywgMjMzLCAxNDUsIDEyLCAxMywgMjMzLCAxNDQsIDEyLCAxMywgMjMzLCAxNDMsIDEyLCAxMywgCisgICAgMjMzLCAxNDIsIDEyLCAxMywgMjMzLCAxNDEsIDEyLCAxMywgMjMzLCAxNDAsIDEyLCAxMywgMjMzLCAxMzksIDEyLCAxMywgCisgICAgMjMzLCAxMzgsIDEyLCAxMywgMjMyLCA1MCwgMTIsIDEzLCAyMzIsIDQ5LCAxMiwgMTMsIDIzMiwgNDgsIDEyLCAxMywgMjMyLCAKKyAgICA0NywgMTIsIDEzLCAyMzIsIDQ2LCAxMiwgMTMsIDIzMiwgNDUsIDEyLCAxMywgMjMyLCA0NCwgMTIsIDEzLCAyMzIsIDQzLCAKKyAgICAxMiwgMTMsIDIzMiwgNDIsIDEyLCAxMywgMjMyLCA0MSwgMTIsIDEzLCAyMzIsIDQwLCAxMiwgMTMsIDIzMiwgMzksIDEyLCAKKyAgICAxMywgMjMyLCAzOCwgMTIsIDEzLCAyMzIsIDM3LCAxMiwgMTMsIDIzMiwgMzYsIDEyLCAxMywgMjMyLCAzNSwgMTIsIDEzLCAKKyAgICAyMzIsIDM0LCAxMiwgMTMsIDIzMiwgMzMsIDEyLCAxMywgMjMyLCAzMiwgMTIsIDEzLCAyMzIsIDMxLCAxMiwgMTMsIDIzMiwgCisgICAgMzAsIDEyLCAxMywgMjMyLCAyOSwgMTIsIDEzLCAyMzIsIDI4LCAxMiwgMTMsIDIzMiwgMjcsIDEyLCAxMywgMjMyLCAyNiwgCisgICAgMTIsIDEzLCAyMzIsIDI1LCAxMiwgMTMsIDIzMiwgMjQsIDEyLCAxMywgMjMyLCAyMywgMTIsIDEzLCAyMzIsIDIyLCAxMiwgCisgICAgMTMsIDIzMiwgMjEsIDEyLCAxMywgMjMyLCAyMCwgMTIsIDEzLCAyMzIsIDE5LCAxMiwgMTMsIDIzMiwgMTgsIDEyLCAxMywgCisgICAgMjMyLCAxNywgMTIsIDEzLCAyMzIsIDE2LCAxMiwgMTMsIDIzMiwgMTUsIDEyLCAxMywgMjMyLCAxNCwgMTIsIDEzLCAyMzIsIAorICAgIDEzLCAxMiwgMTMsIDIzMiwgMTIsIDEyLCAxMywgMjMyLCAxMSwgMTIsIDEzLCAyMzIsIDEwLCAxMiwgMTMsIDIzMiwgOSwgCisgICAgMTIsIDEzLCAyMzIsIDgsIDEyLCAxMywgMjMyLCA3LCAxMiwgMTMsIDIzMiwgNiwgMTIsIDEzLCAyMzIsIDUsIDEyLCAxMywgCisgICAgMjMyLCA0LCAxMiwgMTMsIDIzMiwgMywgMTIsIDEzLCAyMzIsIDIsIDEyLCAxMywgMjMyLCAxLCAxMiwgMTMsIDIzMiwgMCwgCisgICAgMTIsIDEzLCAyMzEsIDI1NSwgMTIsIDEzLCAyMzEsIDI1NCwgMTIsIDEzLCAyMzEsIDI1MywgMTIsIDEzLCAyMzEsIDI1MiwgCisgICAgMTIsIDEzLCAyMzEsIDI1MSwgMTIsIDEzLCAyMzEsIDI1MCwgMTIsIDEzLCAyMzEsIDI0OSwgMTIsIDEzLCAyMzEsIDI0OCwgCisgICAgMTIsIDEzLCAyMzEsIDI0NywgMTIsIDEzLCAyMzEsIDI0NiwgMTIsIDEzLCAyMzEsIDI0NSwgMTIsIDEzLCAyMzEsIDI0NCwgCisgICAgMTIsIDEzLCAyMzEsIDI0MywgMTIsIDEzLCAyMzEsIDI0MiwgMTIsIDEzLCAyMzEsIDI0MSwgMTIsIDEzLCAyMzAsIDIzLCAKKyAgICAxMiwgMTMsIDIzMCwgMjIsIDEyLCAxMywgMjMwLCAyMSwgMTIsIDEzLCAyMzAsIDIwLCAxMiwgMTMsIDIzMCwgMTksIDEyLCAKKyAgICAxMywgMjMwLCAxOCwgMTIsIDEzLCAyMzAsIDE3LCAxMiwgMTMsIDIzMCwgMTYsIDEyLCAxMywgMjMwLCAxNSwgMTIsIDEzLCAKKyAgICAyMzAsIDE0LCAxMiwgMTMsIDIzMCwgMTMsIDEyLCAxMywgMjMwLCAxMiwgMTIsIDEzLCAyMzAsIDExLCAxMiwgMTMsIDIzMCwgCisgICAgMTAsIDEyLCAxMywgMjMwLCA5LCAxMiwgMTMsIDIzMCwgOCwgMTIsIDEzLCAyMzAsIDcsIDEyLCAxMywgMjMwLCA2LCAxMiwgCisgICAgMTMsIDIzMCwgNSwgMTIsIDEzLCAyMzAsIDQsIDEyLCAxMywgMjMwLCAzLCAxMiwgMTMsIDIzMCwgMiwgMTIsIDEzLCAyMzAsIAorICAgIDEsIDEyLCAxMywgMjMwLCAwLCAxMiwgMTMsIDIyOSwgMjU1LCAxMiwgMTMsIDIyOSwgMjU0LCAxMiwgMTMsIDIyOSwgMjUzLCAKKyAgICAxMiwgMTMsIDIyOSwgMjUyLCAxMiwgMTMsIDIyOSwgMjUxLCAxMiwgMTMsIDIyOSwgMjUwLCAxMiwgMTMsIDIyOSwgMjQ5LCAKKyAgICAxMiwgMTMsIDIyOSwgMjQ4LCAxMiwgMTMsIDIyOSwgMjQ3LCAxMiwgMTMsIDIyOSwgMjQ2LCAxMiwgMTMsIDIyOSwgMjQ1LCAKKyAgICAxMiwgMTMsIDIyOSwgMjQ0LCAxMiwgMTMsIDIyOSwgMjQzLCAxMiwgMTMsIDIyOSwgMjQyLCAxMiwgMTMsIDIyOSwgMjQxLCAKKyAgICAxMiwgMTMsIDIyOSwgMjQwLCAxMiwgMTMsIDIyOSwgMjM5LCAxMiwgMTMsIDIyOSwgMjM4LCAxMiwgMTMsIDIyOSwgMjM3LCAKKyAgICAxMiwgMTMsIDIyOSwgMjM2LCAxMiwgMTMsIDIyOSwgMjM1LCAxMiwgMTMsIDIyOSwgMjM0LCAxMiwgMTMsIDIyOSwgMjMzLCAKKyAgICAxMiwgMTMsIDIyOSwgMjMyLCAxMiwgMTMsIDIyOSwgMjMxLCAxMiwgMTMsIDIyOCwgMTM1LCAxMiwgMTMsIDIyOCwgMTM0LCAKKyAgICAxMiwgMTMsIDIyOCwgMTMzLCAxMiwgMTMsIDIyOCwgMTMyLCAxMiwgMTMsIDIyOCwgMTMxLCAxMiwgMTMsIDIyOCwgMTMwLCAKKyAgICAxMiwgMTMsIDIyOCwgMTI5LCAxMiwgMTMsIDIyOCwgMTI4LCAxMiwgMTMsIDIyOCwgMTI3LCAxMiwgMTMsIDIyOCwgMTI2LCAKKyAgICAxMiwgMTMsIDIyOCwgMTI1LCAxMiwgMTMsIDIyOCwgMTI0LCAxMiwgMTMsIDIyOCwgMTIzLCAxMiwgMTMsIDIyOCwgMTIyLCAKKyAgICAxMiwgMTMsIDIyOCwgMTIxLCAxMiwgMTMsIDIyOCwgMTIwLCAxMiwgMTMsIDIyOCwgMTE5LCAxMiwgMTMsIDIyOCwgMTE4LCAKKyAgICAxMiwgMTMsIDIyOCwgMTE3LCAxMiwgMTMsIDIyOCwgMTE2LCAxMiwgMTMsIDIyOCwgMTE1LCAxMiwgMTMsIDIyOCwgMTE0LCAKKyAgICAxMiwgMTMsIDIyNywgMjM3LCAxMiwgMTMsIDIyNywgMjM2LCAxMiwgMTMsIDIyNywgMjM1LCAxMiwgMTMsIDIyNywgMjM0LCAKKyAgICAxMiwgMTMsIDIyNywgMjMzLCAxMiwgMTMsIDIyNywgMjMyLCAxMiwgMTMsIDIyNywgMjMxLCAxMiwgMTMsIDIyNywgMjMwLCAKKyAgICAxMiwgMTMsIDIyNywgMjI5LCAxMiwgMTMsIDIyNywgMjI4LCAxMiwgMTMsIDIyNywgMjI3LCAxMiwgMTMsIDIyNywgMjI2LCAKKyAgICAxMiwgMTMsIDIyNywgMjI1LCAxMiwgMTMsIDIyNywgMjI0LCAxMiwgMTMsIDIyNywgMjIzLCAxMiwgMTMsIDIyNywgMjIyLCAKKyAgICAxMiwgMTMsIDIyNywgMjIxLCAxMiwgMTMsIDIyNywgMjIwLCAxMiwgMTMsIDIyNywgMjE5LCAxMiwgMTMsIDIyNywgMjE4LCAKKyAgICAxMiwgMTMsIDIyNywgMjE3LCAxMiwgMTMsIDIyNywgMjE2LCAxMiwgMTMsIDIyNywgMjE1LCAxMiwgMTMsIDIyNywgMjE0LCAKKyAgICAxMiwgMTMsIDIyNywgMjEzLCAxMiwgMTMsIDIyNywgMjEyLCAxMiwgMTMsIDIyNywgNzcsIDEyLCAxMywgMjI3LCA3NiwgMTIsIAorICAgIDEzLCAyMjcsIDc1LCAxMiwgMTMsIDIyNywgNzQsIDEyLCAxMywgMjI3LCA3MywgMTIsIDEzLCAyMjcsIDcyLCAxMiwgMTMsIAorICAgIDIyNywgNzEsIDEyLCAxMywgMjI3LCA3MCwgMTIsIDEzLCAyMjcsIDY5LCAxMiwgMTMsIDIyNywgNjgsIDEyLCAxMywgMjI3LCAKKyAgICA2NywgMTIsIDEzLCAyMjcsIDY2LCAxMiwgMTMsIDIyNywgNjUsIDEyLCAxMywgMjI3LCA2NCwgMTIsIDEzLCAyMjcsIDYzLCAKKyAgICAxMiwgMTMsIDIyNywgNjIsIDEyLCAxMywgMjI3LCA2MSwgMTIsIDEzLCAyMjcsIDYwLCAxMiwgMTMsIDIyNywgNTksIDEyLCAKKyAgICAxMywgMjI3LCA1OCwgMTIsIDEzLCAyMjcsIDU3LCAxMiwgMTMsIDIyNywgNTYsIDEyLCAxMywgMjI3LCA1NSwgMTIsIDEzLCAKKyAgICAyMjcsIDU0LCAxMiwgMTMsIDIyNywgNTMsIDEyLCAxMywgMjI3LCA1MiwgMTIsIDEzLCAyMjcsIDUxLCAxMiwgMTMsIDIyNywgCisgICAgNTAsIDEyLCAxMywgMjI3LCA0OSwgMTIsIDEzLCAyMjcsIDQ4LCAxMiwgMTMsIDIyNywgNDcsIDEyLCAxMywgMjI3LCA0NiwgCisgICAgMTIsIDEzLCAyMjcsIDQ1LCAxMiwgMTMsIDIyNywgNDQsIDEyLCAxMywgMjI3LCA0MywgMTIsIDEzLCAyMjcsIDQyLCAxMiwgCisgICAgMTMsIDIyNywgNDEsIDEyLCAxMywgMjI3LCA0MCwgMTIsIDEzLCAyMjcsIDM5LCAxMiwgMTMsIDIyNywgMzgsIDEyLCAxMywgCisgICAgMjI3LCAzNywgMTIsIDEzLCAyMjcsIDM2LCAxMiwgMTMsIDIyNywgMzUsIDEyLCAxMywgMjI3LCAzNCwgMTIsIDEzLCAyMjcsIAorICAgIDMzLCAxMiwgMTMsIDIyNywgMzIsIDEyLCAxMywgMjI3LCAzMSwgMTIsIDEzLCAyMjcsIDMwLCAxMiwgMTMsIDIyNywgMjksIAorICAgIDEyLCAxMywgMjI3LCAyOCwgMTIsIDEzLCAyMjcsIDI3LCAxMiwgMTMsIDIyNywgMjYsIDEyLCAxMywgMjI3LCAyNSwgMTIsIAorICAgIDEzLCAyMjcsIDI0LCAxMiwgMTMsIDIyNywgMjMsIDEyLCAxMywgMjI3LCAyMiwgMTIsIDEzLCAyMjcsIDIxLCAxMiwgMTMsIAorICAgIDIyNywgMjAsIDEyLCAxMywgMjI3LCAxOSwgMTIsIDEzLCAyMjcsIDE4LCAxMiwgMTMsIDIyNywgMTcsIDEyLCAxMywgMjI3LCAKKyAgICAxNiwgMTIsIDEzLCAyMjcsIDE1LCAxMiwgMTMsIDIyNywgMTQsIDEyLCAxMywgMjI3LCAxMywgMTIsIDEzLCAyMjcsIDEyLCAKKyAgICAxMiwgMTMsIDIyNywgMTEsIDEyLCAxMywgMjI3LCAxMCwgMTIsIDEzLCAyMjcsIDksIDEyLCAxMywgMjI3LCA4LCAxMiwgMTMsIAorICAgIDIyNywgNywgMTIsIDEzLCAyMjcsIDYsIDEyLCAxMywgMjI3LCA1LCAxMiwgMTMsIDIyNywgNCwgMTIsIDEzLCAyMjcsIDMsIAorICAgIDEyLCAxMywgMjI2LCAxMDUsIDEyLCAxMywgMjI2LCAxMDQsIDEyLCAxMywgMjI2LCAxMDMsIDEyLCAxMywgMjI2LCAxMDIsIAorICAgIDEyLCAxMywgMjI2LCAxMDEsIDEyLCAxMywgMjI2LCAxMDAsIDEyLCAxMywgMjI2LCA5OSwgMTIsIDEzLCAyMjYsIDk4LCAxMiwgCisgICAgMTMsIDIyNiwgOTcsIDEyLCAxMywgMjI2LCA5NiwgMTIsIDEzLCAyMjYsIDk1LCAxMiwgMTMsIDIyNiwgOTQsIDEyLCAxMywgCisgICAgMjI2LCA5MywgMTIsIDEzLCAyMjQsIDk2LCAxMiwgMTMsIDIyNCwgOTUsIDEyLCAxMywgMjI0LCA5NCwgMTIsIDEzLCAyMjQsIAorICAgIDkzLCAxMiwgMTMsIDIyNCwgOTIsIDEyLCAxMywgMjI0LCA5MSwgMTIsIDEzLCAyMjQsIDkwLCAxMiwgMTMsIDIyMywgMjIzLCAKKyAgICAxMiwgMTMsIDIyMywgMjIyLCAxMiwgMTMsIDIyMywgMjIxLCAxMiwgMTMsIDIyMywgMjIwLCAxMiwgMTMsIDIyMywgMjE5LCAKKyAgICAxMiwgMTMsIDIyMywgMjE4LCAxMiwgMTMsIDIyMywgMjE3LCAxMiwgMTMsIDIyMywgMjE2LCAxMiwgMTMsIDIyMywgMjE1LCAKKyAgICAxMiwgMTMsIDIyMywgMjE0LCAxMiwgMTMsIDIyMywgMjEzLCAxMiwgMTMsIDIyMywgMjEyLCAxMiwgMTMsIDIyMywgMjExLCAKKyAgICAxMiwgMTMsIDIyMywgMjEwLCAxMiwgMTMsIDIyMywgMjA5LCAxMiwgMTMsIDIyMywgMjA4LCAxMiwgMTMsIDIyMywgMjA3LCAKKyAgICAxMiwgMTMsIDIyMywgMjA2LCAxMiwgMTMsIDIyMywgMjA1LCAxMiwgMTMsIDIyMywgMjA0LCAxMiwgMTMsIDIyMywgMjAzLCAKKyAgICAxMiwgMTMsIDIyMywgMjAyLCAxMiwgMTMsIDIyMywgMjAxLCAxMiwgMTMsIDIyMywgMjAwLCAxMiwgMTMsIDIyMywgMTk5LCAKKyAgICAxMiwgMTMsIDIyMywgMTk4LCAxMiwgMTMsIDIyMywgMTk3LCAxMiwgMTMsIDIyMywgMTk2LCAxMiwgMTMsIDIyMywgMTk1LCAKKyAgICAxMiwgMTMsIDIyMywgMTk0LCAxMiwgMTMsIDIyMywgMTkzLCAxMiwgMTMsIDIyMywgMTkyLCAxMiwgMTMsIDIyMywgMTkxLCAKKyAgICAxMiwgMTMsIDIyMywgMTkwLCAxMiwgMTMsIDIyMiwgODksIDEyLCAxMywgMjIyLCA4OCwgMTIsIDEzLCAyMjIsIDg3LCAxMiwgCisgICAgMTMsIDIyMiwgODYsIDEyLCAxMywgMjIyLCA4NSwgMTIsIDEzLCAyMjIsIDg0LCAxMiwgMTMsIDIyMiwgODMsIDEyLCAxMywgCisgICAgMjIyLCA4MiwgMTIsIDEzLCAyMjIsIDgxLCAxMiwgMTMsIDIyMiwgODAsIDEyLCAxMywgMjIyLCA3OSwgMTIsIDEzLCAyMjIsIAorICAgIDc4LCAxMiwgMTMsIDIyMiwgNzcsIDEyLCAxMywgMjIyLCA3NiwgMTIsIDEzLCAyMjIsIDc1LCAxMiwgMTMsIDIyMiwgNzQsIAorICAgIDEyLCAxMywgMjIyLCA3MywgMTIsIDEzLCAyMjIsIDcyLCAxMiwgMTMsIDIyMiwgNzEsIDEyLCAxMywgMjIyLCA3MCwgMTIsIAorICAgIDEzLCAyMjIsIDY5LCAxMiwgMTMsIDIyMiwgNjgsIDEyLCAxMywgMjIyLCA2NywgMTIsIDEzLCAyMjIsIDY2LCAxMiwgMTMsIAorICAgIDIyMiwgNjUsIDEyLCAxMywgMjIyLCA2NCwgMTIsIDEzLCAyMjIsIDYzLCAxMiwgMTMsIDIyMiwgNjIsIDEyLCAxMywgMjIyLCAKKyAgICA2MSwgMTIsIDEzLCAyMjIsIDYwLCAxMiwgMTMsIDIyMiwgNTksIDEyLCAxMywgMjIyLCA1OCwgMTIsIDEzLCAyMjIsIDU3LCAKKyAgICAxMiwgMTMsIDIyMiwgNTYsIDEyLCAxMywgMjIyLCA1NSwgMTIsIDEzLCAyMjIsIDU0LCAxMiwgMTMsIDIyMiwgNTMsIDEyLCAKKyAgICAxMywgMjIyLCA1MiwgMTIsIDEzLCAyMjIsIDUxLCAxMiwgMTMsIDIyMiwgNTAsIDEyLCAxMywgMjIyLCA0OSwgMTIsIDEzLCAKKyAgICAyMjIsIDQ4LCAxMiwgMTMsIDIyMiwgNDcsIDEyLCAxMywgMjIyLCA0NiwgMTIsIDEzLCAyMjIsIDQ1LCAxMiwgMTMsIDIyMiwgCisgICAgNDQsIDEyLCAxMywgMjIyLCA0MywgMTIsIDEzLCAyMjIsIDQyLCAxMiwgMTMsIDIyMiwgNDEsIDEyLCAxMywgMjIyLCA0MCwgCisgICAgMTIsIDEzLCAyMjIsIDM5LCAxMiwgMTMsIDIyMiwgMzgsIDEyLCAxMywgMjIyLCAzNywgMTIsIDEzLCAyMjIsIDM2LCAxMiwgCisgICAgMTMsIDIxNywgMTUxLCAxMiwgMTMsIDIxNywgMTUwLCAxMiwgMTMsIDIxNywgMTQ5LCAxMiwgMTMsIDIxNywgMTQ4LCAxMiwgCisgICAgMTMsIDIxNywgMTQ3LCAxMiwgMTMsIDIxNywgMTQ2LCAxMiwgMTMsIDIxNywgMTQ1LCAxMiwgMTMsIDIxNywgMTQ0LCAxMiwgCisgICAgMTMsIDIxNywgMTQzLCAxMiwgMTMsIDIxNywgMTQyLCAxMiwgMTMsIDIxNywgMTQxLCAxMiwgMTMsIDIxNywgMTQwLCAxMiwgCisgICAgMTMsIDIxNywgMTM5LCAxMiwgMTMsIDIxNywgMTM4LCAxMiwgMTMsIDIxNywgMTM3LCAxMiwgMTMsIDIxNywgMTM2LCAxMiwgCisgICAgMTMsIDIxNywgMTM1LCAxMiwgMTMsIDIxNywgMTM0LCAxMiwgMTMsIDIxNywgMTMzLCAxMiwgMTMsIDIxNywgMTMyLCAxMiwgCisgICAgMTMsIDIxNywgMTMxLCAxMiwgMTMsIDIxNywgMTMwLCAxMiwgMTMsIDIxNywgMTI5LCAxMiwgMTMsIDIxNywgMTI4LCAxMiwgCisgICAgMTMsIDIxNywgMTI3LCAxMiwgMTMsIDIxNywgMTI2LCAxMiwgMTMsIDIxNywgMTI1LCAxMiwgMTMsIDIxNywgMTI0LCAxMiwgCisgICAgMTMsIDIxNywgMTIzLCAxMiwgMTMsIDIxNywgMTIyLCAxMiwgMTMsIDIxNywgMTIxLCAxMiwgMTMsIDIxNywgMTIwLCAxMiwgCisgICAgMTMsIDIxNywgMTE5LCAxMiwgMTMsIDIxNywgMTE4LCAxMiwgMTMsIDIxNywgMTE3LCAxMiwgMTMsIDIxNywgMTE2LCAxMiwgCisgICAgMTMsIDIxNywgMTE1LCAxMiwgMTMsIDIxNywgMTE0LCAxMiwgMTMsIDIxNywgMTEzLCAxMiwgMTMsIDIxNywgMTEyLCAxMiwgCisgICAgMTMsIDIxNywgMTExLCAxMiwgMTMsIDIxNywgMTEwLCAxMiwgMTMsIDIxNywgMTA5LCAxMiwgMTMsIDIxNywgMTA4LCAxMiwgCiAgICAgMTMsIDIxNSwgMjIsIDEyLCAxMywgMjE1LCAyMSwgMTIsIDEzLCAyMTUsIDIwLCAxMiwgMTMsIDIxNSwgMTksIDEyLCAxMywgCiAgICAgMjE1LCAxOCwgMTIsIDEzLCAyMTUsIDE3LCAxMiwgMTMsIDIxNSwgMTYsIDEyLCAxMywgMjE1LCAxNSwgMTIsIDEzLCAyMTUsIAogICAgIDE0LCAxMiwgMTMsIDIxNSwgMTMsIDEyLCAxMywgMjE1LCAxMiwgMTIsIDEzLCAyMTUsIDExLCAxMiwgMTMsIDIxNSwgMTAsIApAQCAtMTIxNzQsMTY0OSArMTIxNzUsMTY1MCBAQAogICAgIDIxMCwgMTMxLCAxMiwgMTMsIDIxMCwgMTMwLCAxMiwgMTMsIDIxMCwgMTI5LCAxMiwgMTMsIDIxMCwgMTI4LCAxMiwgMTMsIAogICAgIDIxMCwgMTI3LCAxMiwgMTMsIDIxMCwgMTI2LCAxMiwgMTMsIDIxMCwgMTI1LCAxMiwgMTMsIDIxMCwgMTI0LCAxMiwgMTMsIAogICAgIDIxMCwgMTIzLCAxMiwgMTMsIDIxMCwgMTIyLCAxMiwgMTMsIDIxMCwgMTIxLCAxMiwgMTMsIDIxMCwgMTIwLCAxMiwgMTMsIAotICAgIDIxMCwgMTE5LCAxMiwgMTMsIDIxMCwgMTE4LCAxMiwgMTMsIDI1NSwgNzIsIDEyLCAxMywgMjU1LCA3MSwgMTIsIDEzLCAKLSAgICAyNTUsIDcwLCAxMiwgMTMsIDI1NSwgNjksIDEyLCAxMywgMjU1LCA2OCwgMTIsIDEzLCAyNTUsIDY3LCAxMiwgMTMsIDI1NSwgCi0gICAgNjYsIDEyLCAxMywgMjU1LCA2NSwgMTIsIDEzLCAyNTUsIDY0LCAxMiwgMTMsIDI1NSwgNjMsIDEyLCAxMywgMjU1LCA2MiwgCi0gICAgMTIsIDEzLCAyNTUsIDYxLCAxMiwgMTMsIDI1NSwgNjAsIDEyLCAxMywgMjU1LCA1OSwgMTIsIDEzLCAyNTUsIDU4LCAxMiwgCi0gICAgMTMsIDI1NSwgNTcsIDEyLCAxMywgMjU1LCA1NiwgMTIsIDEzLCAyNTUsIDU1LCAxMiwgMTMsIDI1NSwgNTQsIDEyLCAxMywgCi0gICAgMjU1LCA1MywgMTIsIDEzLCAyNTUsIDUyLCAxMiwgMTMsIDI1NSwgNTEsIDEyLCAxMywgMjU1LCA1MCwgMTIsIDEzLCAyNTUsIAotICAgIDQ5LCAxMiwgMTMsIDI1NSwgNDgsIDEyLCAxMywgMjU1LCA0NywgMTIsIDEzLCAyNTUsIDQ2LCAxMiwgMTMsIDI1NSwgNDUsIAotICAgIDEyLCAxMywgMjU1LCA0NCwgMTIsIDEzLCAyNTUsIDQzLCAxMiwgMTMsIDI1NSwgNDIsIDEyLCAxMywgMjU1LCA0MSwgMTIsIAotICAgIDEzLCAyNTUsIDQwLCAxMiwgMTMsIDI1NSwgMzksIDIwLCAxLCAxNjcsIDIyOSwgMTIsIDIzMSwgMTYsIDIwLCAxLCAxNjcsIAotICAgIDI0MywgNzAsIDI0NCwgMzYsIDIwLCAxLCAxNjcsIDIyNCwgMjUxLCAyMzEsIDE3LCAyMjUsIDU3LCAyMCwgMSwgMTY3LCAKLSAgICAyMjQsIDI1MSwgMjMxLCAxNywgMjI1LCA1OCwgMjAsIDEsIDE2NywgMjI5LCAyMjYsIDIzMSwgMTYsIDIwLCAxLCAxNjcsIAotICAgIDIxOSwgMjIxLCAyMCwgMSwgMTY3LCAyMTYsIDY2LCAyMzEsIDE2LCAyMCwgMSwgMTY3LCAyMjcsIDExOCwgMjMxLCAxNiwgCi0gICAgMjAsIDEsIDE2NywgMjIwLCAxOSwgMjI2LCA5MCwgMjI4LCAxNjksIDIwLCAxLCAxNjcsIDIyNCwgMjUxLCAyMjYsIDkwLCAKLSAgICAyMjgsIDE3MCwgMjI1LCA1NywgMjAsIDEsIDE2NywgMjI0LCAyNTEsIDIyNiwgOTAsIDIyOCwgMTcwLCAyMjUsIDU4LCAyMCwgCi0gICAgMSwgMTY3LCAyMzEsIDIxOCwgMjAsIDEsIDE2NywgMjE1LCAxMTksIDIzMSwgMjE5LCAyMCwgMSwgMTY3LCAyMjksIDcxLCAKLSAgICAyMCwgMSwgMTY3LCAyMzEsIDIxNSwgMjAsIDEsIDE2NywgMjMxLCAxNzYsIDIwLCAxLCAxNjcsIDIzMCwgNDgsIDIwLCAxLCAKLSAgICAxNjcsIDIyMCwgMTI0LCAyMCwgMSwgMTY3LCAyMjcsIDI0MSwgMjAsIDEsIDE2NywgMjM0LCAxNDksIDIwLCAxLCAxNjcsIAotICAgIDIyOCwgMTM4LCAyMCwgMSwgMTY3LCAyMTgsIDQsIDIwLCAxLCAxNjcsIDIyOSwgMTEsIDIwLCAxLCAxNjcsIDIzMywgODcsIAotICAgIDIwLCAxLCAxNjcsIDIzMywgMTIsIDIzMywgMTg5LCAyMCwgMSwgMTY3LCAyMjcsIDI0OCwgMjMxLCAyNCwgMjAsIDEsIDE2NywgCi0gICAgMjMxLCAyMjIsIDIwLCAxLCAxNjcsIDIyNSwgMjQ2LCAyMCwgMSwgMTY3LCAyNDIsIDIzMSwgMjAsIDEsIDE2NywgMjI2LCAKLSAgICA1MCwgMjAsIDEsIDE2NywgMjMwLCAxNTEsIDIyOSwgNDUsIDIwLCAxLCAxNjcsIDIyNywgOTksIDIzMSwgMjcsIDIwLCAxLCAKLSAgICAxNjcsIDEwNCwgMjEwLCAxODgsIDIyOSwgMjIwLCAyMCwgMSwgMTY3LCAyNDIsIDIzMiwgMjAsIDEsIDE2NywgMjI3LCAyNDgsIAotICAgIDIyNywgMjQ5LCAyMCwgMSwgMTY3LCAyMTksIDEyOCwgMjAsIDEsIDE2NywgMjMxLCA5LCAyMCwgMSwgMTY3LCAyMzEsIDMwLCAKLSAgICAyMCwgMSwgMTY3LCAyMzAsIDEzMCwgMjAsIDEsIDE2NywgMjM0LCAyNDksIDIwLCAxLCAxNjcsIDIyNiwgOTAsIDIzMywgNDcsIAotICAgIDIwLCAxLCAxNjcsIDIyOSwgMTQ5LCAyMzMsIDQ3LCAyMCwgMSwgMTY3LCAyMjUsIDE1OCwgMjAsIDEsIDE2NywgMjMxLCAKLSAgICAyMTYsIDIwLCAxLCAxNjcsIDIyOCwgMjA3LCAyMCwgMSwgMTY3LCAyMjQsIDEzNCwgMjAsIDEsIDE2NywgMjE1LCAxMTYsIAotICAgIDIwLCAxLCAxNjcsIDIzMiwgOTQsIDIwLCAxLCAxNjcsIDIxOSwgNDEsIDIwLCAxLCAxNjcsIDIxNiwgMjE2LCAyMCwgMSwgCi0gICAgMTY3LCAyMzEsIDIxMywgMjAsIDEsIDE2NywgMjM0LCAxNTYsIDIwLCAxLCAxNjcsIDIyOSwgMTQ1LCAyMCwgMSwgMTY3LCAKLSAgICAyMzMsIDIwMSwgMjAsIDEsIDE2NywgMjMwLCAxMzEsIDIwLCAxLCAxNjcsIDIxOSwgMjE4LCAyMCwgMSwgMTY3LCAyMzIsIAotICAgIDEzOCwgMjAsIDEsIDE2NywgMjQ0LCA5MywgMjAsIDEsIDE2NywgMjIyLCAxOTksIDIwLCAxLCAxNjcsIDIzMywgMjQxLCAyMCwgCi0gICAgMSwgMTY3LCAyMTksIDM3LCAyMCwgMSwgMTY3LCAyMzEsIDE3MywgMjI1LCA5OSwgMjAsIDEsIDE2NywgMjIwLCAxMiwgMjAsIAotICAgIDEsIDE2NywgMjI3LCAyNDcsIDIwLCAxLCAxNjcsIDIxOSwgMjUzLCAyMjgsIDIsIDIxMCwgMTk2LCAyMCwgMSwgMTY3LCAKLSAgICAyMjcsIDEzOCwgMjMwLCAxNDgsIDIwLCAxLCAxNjcsIDIyNiwgODUsIDIwLCAxLCAxNjcsIDIyOCwgMTM5LCAyMCwgMSwgCi0gICAgMTY3LCAyMTQsIDE3MCwgMjAsIDEsIDE2NywgMjI5LCA0OCwgMjAsIDEsIDE2NywgMjMxLCAyMTIsIDIwLCAxLCAxNjcsIAotICAgIDIyOCwgMTgxLCAyMCwgMSwgMTY3LCAyMzEsIDExOSwgMjAsIDEsIDE2NywgMjI3LCAxNTEsIDIwLCAxLCAxNjcsIDIxNiwgCi0gICAgMjIwLCAyMCwgMSwgMTY3LCAyMTksIDM0LCAyMCwgMSwgMTY3LCAyMjYsIDg2LCAyMCwgMSwgMTY3LCAyMjgsIDYsIDIwLCAxLCAKLSAgICAxNjcsIDIzMSwgMjIwLCAyMCwgMSwgMTY3LCAyMjcsIDE0OCwgMjAsIDEsIDE2NywgMjM0LCAyMTYsIDIwLCAxLCAxNjcsIAotICAgIDIyOCwgOSwgMjAsIDEsIDE2NywgMjEzLCAyNTAsIDIwLCAxLCAxNjcsIDIzMiwgOTgsIDIwLCAxLCAxNjcsIDIyOSwgOTgsIAotICAgIDIwLCAxLCAxNjcsIDIyOSwgMTk2LCAyMCwgMSwgMTY3LCAyMzEsIDExOCwgMjAsIDEsIDIyNSwgMTM4LCAyMjgsIDQsIDIwLCAKLSAgICAxLCAyMjUsIDEzOCwgMjE1LCAxMTksIDIzMSwgMjE3LCAyMCwgMSwgMjI1LCAxMzgsIDIxOSwgMTg1LCAyMCwgMSwgMjI1LCAKLSAgICAxMzgsIDIyMCwgMTI4LCAyMTUsIDExOCwgMjAsIDEsIDIyNSwgMTM4LCAyMzIsIDE0MCwgMjI3LCAyNDQsIDIwLCAxLCAyMjUsIAotICAgIDEzOCwgMjMxLCAxMjUsIDIzMSwgMjIxLCAyMCwgMSwgMjI1LCAxMzgsIDIzNCwgODcsIDIwLCAxLCAyMjUsIDEzOCwgMjExLCAKLSAgICAxNSwgMjAsIDEsIDIyNSwgMTM4LCAyMzEsIDEyMCwgMjAsIDEsIDIyNSwgMTM4LCAyMzQsIDIzNywgMjAsIDEsIDIyNSwgCi0gICAgMTM4LCAyMjUsIDIwOCwgMjAsIDEsIDIyNSwgMTM4LCAyMTEsIDg5LCAyMzMsIDQ3LCAyMCwgMSwgMjI1LCAxMzgsIDIzMywgCi0gICAgMTAzLCAyMjgsIDIsIDIyNywgMTYwLCAyMCwgMSwgMjI1LCAxMzgsIDIyNywgMjQyLCAyMjAsIDM4LCAyMCwgMSwgMjI1LCAKLSAgICAxMzgsIDIyOSwgMTE2LCAyMjgsIDE4NCwgMjAsIDEsIDIyNSwgMTM4LCAyNDIsIDIyOSwgMjAsIDEsIDIyNSwgMTM4LCAyMjUsIAotICAgIDQ5LCAyMCwgMSwgMjI1LCAxMzgsIDIxNSwgMTE5LCAyMjgsIDAsIDIwLCAxLCAyMjUsIDEzOCwgMjIwLCA0MywgMjI4LCAKLSAgICAxNzksIDIwLCAxLCAyMjUsIDEzOCwgMjIwLCAzOSwgMjAsIDEsIDIyNSwgMTM4LCAyMzEsIDE3LCAyMTYsIDIxOSwgMjAsIDEsIAotICAgIDIyNSwgMTM4LCAyMzEsIDEwNywgMjMxLCAxMjEsIDIwLCAxLCAyMjUsIDEzOCwgMjI3LCAxNDksIDIyNywgMjQ0LCAyMCwgMSwgCi0gICAgMjI1LCAxMzgsIDIzNCwgMTQ1LCAyMCwgMSwgMjI1LCAxMzgsIDI0MiwgMjMwLCAyMCwgMSwgMjI1LCAxMzgsIDIzNCwgMTQxLCAKLSAgICAyMCwgMSwgMjI1LCAxMzgsIDIzMywgMTI5LCAyMCwgMSwgMjI1LCAxMzgsIDIyNSwgMjQ5LCAyMCwgMSwgMjI1LCAxMzgsIAotICAgIDIxMywgMTgyLCAyMCwgMSwgMjI1LCAxMzgsIDIyOSwgMTMsIDIzMCwgNDYsIDIwLCAxLCAyMjUsIDEzOCwgMjI5LCA0NywgCi0gICAgMjMxLCAxMDMsIDIwLCAxLCAyMjUsIDEzOCwgMjExLCAxOTMsIDIwLCAxLCAyMjUsIDEzOCwgMjIyLCAxMSwgMjAsIDEsIAotICAgIDIyNSwgMTM4LCAyMTcsIDk3LCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgMjksIDIwLCAxLCAyMjUsIDEzOCwgMjI5LCAzMiwgCi0gICAgMjAsIDEsIDIyNSwgMTM4LCAyMjksIDMzLCAyMzMsIDg0LCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgMTksIDIwLCAxLCAyMjUsIAotICAgIDEzOCwgMjE4LCA1MiwgMjAsIDEsIDIyNSwgMTM4LCAyMzEsIDExMSwgMjAsIDEsIDIyNSwgMTM4LCAyMzAsIDEzMywgMjAsIAotICAgIDEsIDIyNSwgMTM4LCAyMjcsIDE2MywgMjAsIDEsIDIyNSwgMTM4LCAyMjQsIDEzOCwgMjAsIDEsIDIyNSwgMTM4LCAyMzEsIAotICAgIDI4LCAyMjksIDQ5LCAyMCwgMSwgMjI1LCAxMzgsIDI0NCwgMTI2LCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgOTgsIDIwLCAxLCAKLSAgICAyMjUsIDEzOCwgMjQ0LCAxNDcsIDIwLCAxLCAyMjUsIDEzOCwgMjM0LCAxNTMsIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCAyMzksIAotICAgIDIyOCwgMTczLCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgMjM5LCAyMjgsIDE0OSwgMjAsIDEsIDIyNSwgMTM4LCAyMzMsIDExLCAKLSAgICAyMCwgMSwgMjI1LCAxMzgsIDIyOSwgNTUsIDIwLCAxLCAyMjUsIDEzOCwgMjI4LCAxMSwgMjAsIDEsIDIyNSwgMTM4LCAxODQsIAotICAgIDIwLCAxLCAyMjUsIDEzOCwgMjM0LCA3NCwgMjAsIDEsIDIyNSwgMTM4LCAyMjksIDEsIDIwLCAxLCAxMzcsIDIyOSwgMTIsIAotICAgIDIzMSwgMjE5LCAyMCwgMSwgMTM3LCAyMjcsIDExNywgMjAsIDEsIDEzNywgMjEwLCAxOTYsIDIwLCAxLCAxMzcsIDIxMiwgCi0gICAgNTMsIDIwLCAxLCAxMzcsIDIyOSwgNDgsIDIwLCAxLCAxMzcsIDIyOSwgMTM3LCAyMCwgMSwgMTM3LCAyMjksIDE5LCAyMCwgCi0gICAgMSwgMTM3LCAyNDIsIDIzOSwgMjAsIDEsIDEzNywgMjMxLCAxMTUsIDIwLCAxLCAxMzcsIDI0MywgNzcsIDIwLCAxLCAxMzcsIAotICAgIDIyNywgMTQwLCAyMzAsIDE3MCwgMjMxLCAzMSwgMjAsIDEsIDEzNywgMjI3LCAyNDAsIDIzMSwgMTA2LCAyMCwgMSwgMTM3LCAKLSAgICAyMzEsIDExMiwgMjAsIDEsIDEzNywgMjI1LCA1NSwgMjAsIDEsIDEzNywgMjI5LCAxMjIsIDIwLCAxLCAxMzcsIDIzMSwgCi0gICAgMTIzLCAyNTEsIDI5LCAyMCwgMSwgMTM3LCAyMzQsIDE0MywgMjAsIDEsIDEzNywgMjQyLCAyNDAsIDIwLCAxLCAxMzcsIAotICAgIDIzNCwgMTUwLCAyMCwgMSwgMTM3LCAyMTAsIDIxMywgMjMwLCA3NiwgMjAsIDEsIDEzNywgMjI3LCAxMTEsIDIwLCAxLCAKLSAgICAxMzcsIDIzMSwgMTAwLCAyMCwgMSwgMTM3LCAyMjgsIDEwLCAyMCwgMSwgMTM3LCAyMzEsIDEwNiwgMjAsIDEsIDEzNywgCi0gICAgMjExLCAxNiwgMjAsIDEsIDEzNywgMjMzLCAyNDksIDIwLCAxLCAxMzcsIDIzNSwgMTAsIDIwLCAxLCAxMzcsIDIyMCwgMTIzLCAKLSAgICAyMCwgMSwgMTM3LCAyMjksIDEzMSwgMjAsIDEsIDEzNywgMjE3LCA5NSwgMjAsIDEsIDEzNywgMjI4LCAxNTMsIDIwLCAxLCAKLSAgICAxMzcsIDIxNiwgNjYsIDIxMCwgMTk4LCAyMCwgMSwgMTM3LCAyMTgsIDc5LCAyMCwgMSwgMTM3LCAyMjksIDM5LCAyMjcsIAotICAgIDE2MCwgMjAsIDEsIDEzNywgMjEzLCAxODEsIDIwLCAxLCAxMzcsIDIyOSwgMTk5LCAyMCwgMSwgMTM3LCAyMzEsIDIzOSwgCi0gICAgMjM0LCAxNTIsIDIwLCAxLCAxMzcsIDIyNywgMjQ5LCAyMCwgMSwgMTM3LCAyMjksIDM0LCAyMCwgMSwgMTM3LCAyMzMsIDg4LCAKLSAgICAyMCwgMSwgMTM3LCAyMzEsIDEwOCwgMjAsIDEsIDEzNywgMjMxLCA4LCAyMCwgMSwgMTM3LCAyMjcsIDI0MywgMjAsIDEsIAotICAgIDEzNywgMjE2LCAyMTUsIDIwLCAxLCAxMzcsIDIyOSwgMzYsIDIwLCAxLCAxMzcsIDI0MywgMjMzLCAyMCwgMSwgMTM3LCAKLSAgICAyMjksIDEzNiwgMjAsIDEsIDEzNywgMjI4LCAxMiwgMjAsIDEsIDEzNywgMjI4LCA4LCAyMCwgMSwgMTM3LCAyNTEsIDEwNywgCi0gICAgMjAsIDEsIDEzNywgMjEzLCAxODMsIDIwLCAxLCAxMzcsIDIzMSwgMTEzLCAyMCwgMSwgMTM3LCAyMjIsIDE0MCwgMjAsIDEsIAotICAgIDEzNywgMjI4LCAxODMsIDIwLCAxLCAxMzcsIDIzMywgMTAyLCAyMCwgMSwgMTM3LCAyMTYsIDY0LCAyMCwgMSwgMTM3LCAKLSAgICAyMjcsIDI1MCwgMjI5LCAxLCAyMCwgMSwgMTM3LCAyMjgsIDE3NSwgMjAsIDEsIDEzNywgMjM0LCAxNTYsIDIwLCAxLCAxMzcsIAotICAgIDIyOSwgNDAsIDIwLCAxLCAxMzcsIDIzMSwgMjEyLCAyMCwgMSwgMTM3LCAyMzEsIDEwMSwgMjAsIDEsIDEzNywgMjMyLCA5OCwgCi0gICAgMjAsIDEsIDEzNywgMjMzLCAxODksIDIwLCAxLCAxMzcsIDIyOCwgMTgxLCAyMCwgMSwgMTM3LCAyMjksIDEsIDIwLCAxLCAKLSAgICAxMzcsIDIxMSwgMTg0LCAyMCwgMSwgMTM3LCAyMjksIDM3LCAyMCwgMSwgMTM3LCAyMjcsIDI1MywgMjAsIDEsIDEzNywgCi0gICAgMjI3LCAyNDUsIDIwLCAxLCAxMzcsIDIzMywgMjAzLCAyMjgsIDEzOSwgMjAsIDEsIDEzNywgMjI3LCAyNTEsIDIwLCAxLCAKLSAgICAxMzcsIDIyOSwgMTQ0LCAyMCwgMSwgMTM3LCAyMzEsIDIzOSwgMjI4LCAwLCAyMCwgMSwgMTM3LCAyMTEsIDEwMywgMjAsIDEsIAotICAgIDEzNywgMjI5LCAxNDMsIDIwLCAxLCAxMzcsIDIxOSwgMjIwLCAyMCwgMSwgMTM3LCAyMjAsIDEyNiwgMjAsIDEsIDEzNywgCi0gICAgMjMxLCAxMDksIDIwLCAxLCAxMzcsIDIzMSwgMjE5LCAyMCwgMSwgMTM3LCAyMzEsIDExOSwgMjAsIDEsIDEzNywgMjM0LCAKLSAgICAxNDQsIDIwLCAxLCAxMzcsIDIzMSwgMTEwLCAyMCwgMSwgMTM3LCAyMzQsIDE0OCwgMjAsIDEsIDEzNywgMjMxLCAxMjMsIAotICAgIDIyNSwgMTAzLCAyMCwgMSwgMTM3LCAyMTAsIDE3OSwgMjAsIDEsIDEzNywgMjI4LCAxNzEsIDIwLCAxLCAxMzcsIDIzMCwgCi0gICAgMjIwLCAyMCwgMSwgMTM3LCAyMzAsIDEwMCwgMjAsIDEsIDEzNywgMjIwLCAxNSwgMjAsIDEsIDEzNywgMjM0LCAxNjYsIAotICAgIDIzMywgNzAsIDIwLCAxLCAxMzcsIDIzNCwgMTY2LCAyNDQsIDE2MCwgMjAsIDEsIDEzNywgMjI5LCA2OSwgMjAsIDEsIDEzNywgCi0gICAgMjI5LCAxOTYsIDIwLCAxLCAxMzcsIDIzMiwgMjAwLCAyMCwgMSwgMTM3LCAyMjUsIDY1LCAyMCwgMSwgMTM3LCAyMjUsIAotICAgIDE5OSwgMjAsIDEsIDEzNywgMjE2LCAyMzAsIDIwLCAxLCAxMDcsIDIzMSwgOTksIDIwLCAxLCAxMDcsIDIxMiwgNTEsIDIwLCAKLSAgICAxLCAxMDcsIDIyOCwgMTY5LCAyMCwgMSwgMTA3LCAyMzEsIDE2LCAyMCwgMSwgMTA3LCAyMjgsIDE2NywgMjAsIDEsIDEwNywgCi0gICAgMjMyLCAyMzUsIDIwLCAxLCAxMDcsIDIyOCwgMTcyLCAyMCwgMSwgMTA3LCAyMjgsIDcsIDIwLCAxLCAxMDcsIDIyOSwgNTQsIAotICAgIDIwLCAxLCAxMDcsIDIyNywgMTYwLCAyMCwgMSwgMTA3LCAyMTEsIDE5NCwgMjAsIDEsIDEwNywgMjI5LCA5LCAyMCwgMSwgCi0gICAgMTA3LCAyMjAsIDYxLCAyMCwgMSwgMTA3LCAyMjksIDIwLCAyMCwgMSwgMTA3LCAyMzQsIDE1MSwgMjAsIDEsIDEwNywgMjE2LCAKLSAgICAyMTcsIDIwLCAxLCAxMDcsIDIyMCwgNDEsIDIwLCAxLCAxMDcsIDIyOCwgMTgwLCAyMCwgMSwgMTA3LCAyMTgsIDUyLCAyMCwgCi0gICAgMSwgMTA3LCAyMzQsIDE1NiwgMjAsIDEsIDEwNywgMjExLCA5MSwgMjAsIDEsIDEwNywgMjMzLCAyMDQsIDIwLCAxLCAxMDcsIAotICAgIDIyMSwgMjM0LCAyMCwgMSwgMTA3LCAyMzEsIDIxLCAyMCwgMSwgMTA3LCAyMjksIDEzNSwgMjAsIDEsIDEwNywgMjMxLCAKLSAgICAxODgsIDIwLCAxLCAxMDcsIDIzMSwgMjcsIDIwLCAxLCAxMDcsIDIyMCwgMTI1LCAyMCwgMSwgMTA3LCAyMTEsIDM5LCAyMCwgCi0gICAgMSwgMTA3LCAyMjgsIDE3NCwgMjAsIDEsIDEwNywgMjM0LCAxNDcsIDIzMSwgMTAyLCAyMCwgMSwgMTA3LCAyMjksIDE2LCAKLSAgICAyMCwgMSwgMTA3LCAyMTUsIDExOCwgMjAsIDEsIDEwNywgMjQyLCAyNDgsIDIwLCAxLCAxMDcsIDIyOSwgNiwgMjAsIDEsIAotICAgIDEwNywgMjQ0LCAxMjcsIDIwLCAxLCAxMDcsIDIyOSwgMTM5LCAyMCwgMSwgMTA3LCAyMzEsIDAsIDIwLCAxLCAxMDcsIDIzMywgCi0gICAgNSwgMjAsIDEsIDEwNywgMjI5LCAxMjEsIDIwLCAxLCAxMDcsIDIzMCwgMTQ3LCAyMCwgMSwgMTA3LCAyMzEsIDQsIDIwLCAxLCAKLSAgICAxMDcsIDIyNCwgMTE4LCAyMCwgMSwgMTA3LCAyMzEsIDIsIDIwLCAxLCAxMDcsIDIzMSwgMTgsIDIwLCAxLCAxMDcsIDIzMiwgCi0gICAgODQsIDIwLCAxLCAxMDcsIDIyNywgMjU1LCAyMCwgMSwgMTA3LCAyMzEsIDEyMiwgMjAsIDEsIDEwNywgMjMzLCAxODAsIDIwLCAKLSAgICAxLCAxMDcsIDIyNywgMTUxLCAyMCwgMSwgMTA3LCAyMTYsIDIyMCwgMjAsIDEsIDEwNywgMjE5LCAzNCwgMjAsIDEsIDEwNywgCi0gICAgMjEwLCAxNzksIDIwLCAxLCAxMDcsIDIzNCwgMTQ4LCAyMCwgMSwgMTA3LCAyMjMsIDE3MCwgMjAsIDEsIDEwNywgMjE3LCAKLSAgICAxMCwgMjAsIDEsIDEwNywgMjI5LCAxNywgMjAsIDEsIDEwNywgMjMxLCAyMywgMjAsIDEsIDEwNywgMjI3LCAyNTQsIDIwLCAKLSAgICAxLCAxMDcsIDIzNCwgMTQ2LCAyMCwgMSwgMTA3LCAyMjUsIDU5LCAyMCwgMSwgMTA3LCAyMjUsIDE1MiwgMjAsIDEsIDEwNywgCi0gICAgMjI3LCAxMjcsIDIwLCAxLCAxMDcsIDIzMywgMTEsIDIwLCAxLCAxMDcsIDIyOSwgNTUsIDIwLCAxLCAxMDcsIDIzMSwgMjAsIAotICAgIDIwLCAxLCAxMDcsIDIyOSwgMjksIDIwLCAxLCAxMDcsIDIxMCwgMTkzLCAyMCwgMSwgMTA3LCAyMjYsIDIxLCAyMCwgMSwgCi0gICAgMTA3LCAyMTAsIDE5MiwgMjAsIDEsIDEwNywgMjI5LCAxNDQsIDIwLCAxLCAxMDcsIDIyNywgMjQ0LCAyMCwgMSwgMTA3LCAKLSAgICAyMTgsIDgxLCAyMCwgMSwgMTA3LCAyMzMsIDIwOCwgMjAsIDEsIDEwNywgMjI5LCA0NCwgMjAsIDEsIDEwNywgMjI5LCAxNCwgCi0gICAgMjAsIDEsIDEwNywgMjE1LCAxMDIsIDIwLCAxLCAxMDcsIDIzMSwgMzEsIDIwLCAxLCAxMDcsIDIzMywgMTk4LCAyMCwgMSwgCi0gICAgMTA3LCAyMjcsIDI1MiwgMjAsIDEsIDEwNywgMjE2LCAyMTgsIDIwLCAxLCAxMDcsIDIzMSwgMjE0LCAyMCwgMSwgMTA3LCAKLSAgICAyMjksIDUzLCAyMCwgMSwgMTA3LCAyMzMsIDQsIDIwLCAxLCAxMDcsIDIyOSwgMzUsIDIwLCAxLCAxMDcsIDIyOCwgMSwgMjAsIAotICAgIDEsIDEwNywgMjI4LCAxNTMsIDIwLCAxLCAxMDcsIDI0MiwgMjMzLCAyMCwgMSwgMTA3LCAyMzMsIDIxNywgMjAsIDEsIDEwNywgCi0gICAgMjIzLCA4NCwgMjI2LCAyMDksIDIwLCAxLCAxMDcsIDIxNywgODYsIDIwLCAxLCAxMDcsIDIxNiwgMTAsIDIwLCAxLCAxMDcsIAotICAgIDIyNywgMTQ4LCAyMCwgMSwgMTA3LCAyMjIsIDIzOSwgMjAsIDEsIDEwNywgMjMzLCA0OSwgMjAsIDEsIDEwNywgMjMxLCA3OSwgCi0gICAgMjAsIDEsIDEwNywgMTkzLCAyMCwgMSwgMTA3LCAyMTgsIDQsIDIwLCAxLCAxMDcsIDIzMCwgMTAyLCAyMCwgMSwgMTA3LCAKLSAgICAyMjAsIDI3LCAyMCwgMSwgMTA3LCAyMjAsIDM3LCAyMCwgMSwgMTA3LCAyMzMsIDE1NSwgMjAsIDEsIDEwNywgMjI3LCAyMzcsIAotICAgIDIwLCAxLCAxMDcsIDIxOSwgMjI1LCAyMCwgMSwgMTA3LCAyMjcsIDI0NiwgMjAsIDEsIDEwNywgMjI1LCAyMTEsIDIwLCAxLCAKLSAgICAxMDcsIDIyOCwgMjMzLCAyMCwgMSwgMTA3LCAyMTksIDI1MiwgMjAsIDEsIDEwNywgMjI0LCAxMzMsIDIwLCAxLCAxMDcsIAotICAgIDIzMCwgNDYsIDIwLCAxLCAxMDcsIDIzMiwgMTE5LCAyMCwgMSwgMTA3LCAyMjMsIDg0LCAyMzAsIDk2LCAyMCwgMSwgMTA3LCAKLSAgICAyMTYsIDExNywgMjAsIDEsIDEwNywgMjI3LCAyMzgsIDIwLCAxLCAxMDcsIDIzMSwgMTIzLCAxOTgsIDIwLCAxLCAxMDcsIAotICAgIDIyMSwgMjMyLCAyMCwgMSwgMTA3LCAyNDQsIDE5NSwgMjAsIDEsIDgyLCAyMjksIDE0MywgMjAsIDEsIDgyLCAyMTYsIDE2LCAKLSAgICAyMCwgMSwgODIsIDIzMSwgMTEyLCAyMCwgMSwgODIsIDIzMywgODgsIDIwLCAxLCA4MiwgMjEzLCAxMjgsIDIwLCAxLCA4MiwgCi0gICAgMjMyLCAxMjUsIDIwLCAxLCA4MiwgMjI2LCA4OSwgMjAsIDEsIDgyLCAyMTksIDQ1LCAyMCwgMSwgODIsIDIyMywgMTQ1LCAKLSAgICAyMCwgMSwgODIsIDIyOCwgMywgMjAsIDEsIDgyLCAyMjksIDExNCwgMjAsIDEsIDgyLCAyMjQsIDE0NywgMjAsIDEsIDgyLCAKLSAgICAyMTcsIDYyLCAyMCwgMSwgODIsIDIyOSwgMjIsIDIwLCAxLCA4MiwgMjMzLCAyNDUsIDIwLCAxLCA4MiwgMjExLCAxODcsIAotICAgIDIwLCAxLCA4MiwgMjIxLCAxNzAsIDIwLCAxLCA4MiwgMjI5LCA0NSwgMjAsIDEsIDgyLCAyMjYsIDg2LCAyMCwgMSwgODIsIAotICAgIDIxNiwgMTcsIDIwLCAxLCA4MiwgMjMzLCAyMDIsIDIwLCAxLCA4MiwgMjMyLCAxMzksIDIwLCAxLCA4MiwgMjI4LCA2LCAyMCwgCi0gICAgMSwgODIsIDIyOCwgMjU0LCAyMCwgMSwgODIsIDIzMSwgMjIwLCAyMCwgMSwgODIsIDIyOSwgMTUsIDIwLCAxLCA4MiwgMjI4LCAKLSAgICAyNTMsIDIwLCAxLCA4MiwgMjI4LCA1LCAyMCwgMSwgODIsIDIyMiwgMjM3LCAyMCwgMSwgODIsIDIyOCwgMTcxLCAyMCwgMSwgCi0gICAgODIsIDIyNSwgMjEwLCAyMCwgMSwgODIsIDIyMiwgMzEsIDIwLCAxLCA4MiwgMjI5LCAzMCwgMjAsIDEsIDgyLCAyMzEsIDEwLCAKLSAgICAyMCwgMSwgODIsIDI0MiwgMjI3LCAyMCwgMSwgODIsIDIyOSwgMTgsIDIwLCAxLCA4MiwgMjI4LCAxODIsIDIwLCAxLCA4MiwgCi0gICAgMjMxLCAxNzIsIDIwLCAxLCA4MiwgMjMyLCAxMjEsIDIwLCAxLCA4MiwgMjI5LCA1MCwgMjAsIDEsIDgyLCAyMjksIDEyNywgCi0gICAgMjAsIDEsIDgyLCAyMTcsIDg1LCAyMjcsIDI0NCwgMjAsIDEsIDgyLCAyMjAsIDEyNywgMjAsIDEsIDgyLCAyMjQsIDE0MywgCi0gICAgMjAsIDEsIDgyLCAyMjksIDE0NywgMjE5LCA1MSwgMjAsIDEsIDgyLCAyMjksIDM4LCAyMjcsIDE2MCwgMjAsIDEsIDgyLCAKLSAgICAyMTEsIDQsIDIwLCAxLCA4MiwgMjQyLCAyMjgsIDIwLCAxLCA4MiwgMjE1LCAxMTcsIDIwLCAxLCA4MiwgMjExLCAxOSwgMjAsIAotICAgIDEsIDgyLCAyMjUsIDE2LCAyMCwgMSwgODIsIDIxNSwgMTA3LCAyMCwgMSwgODIsIDIzNCwgMTU0LCAyMCwgMSwgODIsIDIxOCwgCi0gICAgODAsIDIwLCAxLCA4MiwgMjE2LCAyMTksIDIwLCAxLCA4MiwgMjEzLCAxODQsIDIwLCAxLCA4MiwgMjEyLCA2LCAyMCwgMSwgCi0gICAgODIsIDIzMywgMTMyLCAyMCwgMSwgODIsIDIyNCwgMTUwLCAyMCwgMSwgODIsIDIxNywgOTYsIDIwLCAxLCA4MiwgMjQyLCAKLSAgICAyNDcsIDIwLCAxLCA4MiwgMjI5LCA1OSwgMjAsIDEsIDgyLCAyMjAsIDQwLCAyMCwgMSwgODIsIDIzMSwgNSwgMjAsIDEsIAotICAgIDgyLCAyMzEsIDExNiwgMjAsIDEsIDgyLCAyMjcsIDExNSwgMjAsIDEsIDgyLCAyMjgsIDEzNiwgMjAsIDEsIDgyLCAyNDMsIAotICAgIDczLCAyMCwgMSwgODIsIDIxNSwgMTA4LCAyMCwgMSwgODIsIDIzMywgMjExLCAyMCwgMSwgODIsIDIxMSwgNjcsIDIwLCAxLCAKLSAgICA4MiwgMjI3LCAxNDksIDI1MCwgMTYsIDIwLCAxLCA4MiwgMjEwLCAyNTAsIDIwLCAxLCA4MiwgMjMxLCAyMiwgMjAsIDEsIAotICAgIDgyLCAyMjksIDEzMiwgMjAsIDEsIDgyLCAyMjUsIDEwMCwgMjAsIDEsIDgyLCAyMTAsIDE5NywgMjAsIDEsIDgyLCAyMzMsIAotICAgIDYsIDIwLCAxLCA4MiwgMjQzLCAyMzMsIDIwLCAxLCA4MiwgMjQzLCA3MiwgMjAsIDEsIDgyLCAyMjksIDgsIDIwLCAxLCA4MiwgCi0gICAgMjM0LCAxNTYsIDIwLCAxLCA4MiwgMjMxLCAyMjMsIDIwLCAxLCA4MiwgMjI5LCAyMSwgMjAsIDEsIDgyLCAyNDIsIDIzNCwgCi0gICAgMjAsIDEsIDgyLCAyNDQsIDE5NiwgMjAsIDEsIDgyLCAyMjcsIDIzOSwgMjAsIDEsIDgyLCAyMjUsIDE1MywgMjAsIDEsIDgyLCAKLSAgICAyMTEsIDE3LCAyMCwgMSwgODIsIDIyOSwgNDYsIDIwLCAxLCA4MiwgMjI3LCAxNDksIDI1MiwgMjMsIDIwLCAxLCA4MiwgCi0gICAgMjI3LCA5NSwgMjAsIDEsIDgyLCAyMjQsIDI0NywgMjAsIDEsIDgyLCAyMzAsIDIyMCwgMjAsIDEsIDgyLCAyNDMsIDIzMSwgCi0gICAgMjAsIDEsIDgyLCAyMjksIDIyMCwgMjAsIDEsIDgyLCAyMzAsIDEwMCwgMjAsIDEsIDgyLCAyNDIsIDIzMywgMjAsIDEsIDgyLCAKLSAgICAyNDMsIDIzNSwgNzMsIDIwLCAxLCA4MiwgMjMwLCA0NywgMjAsIDEsIDgyLCAyMjQsIDE0NiwgMjAsIDEsIDgyLCAyMjksIAotICAgIDEwLCAyMCwgMSwgODIsIDIzMywgMTg5LCAyMCwgMSwgODIsIDIyNSwgOTcsIDIwLCAxLCA4MiwgMjI3LCAyNDcsIDIwLCAxLCAKLSAgICA4MiwgMjExLCAxOCwgMjAsIDEsIDgyLCAyMjksIDMxLCAyMCwgMSwgODIsIDIyNiwgOTAsIDIyNSwgMTg3LCAyMCwgMSwgODIsIAotICAgIDI0MywgMjM1LCAyNTEsIDE1LCAyMCwgMSwgODIsIDI0NCwgMzcsIDIwLCAxLCA4MiwgMjI4LCAxNzYsIDIwLCAxLCA4MiwgCi0gICAgNjEsIDIwLCAxLCA4MiwgMjE2LCAxMCwgMjAsIDEsIDgyLCA3NiwgMjAsIDEsIDgyLCA3MywgMjAsIDEsIDgyLCAyMzMsIDg2LCAKLSAgICAyMCwgMSwgODIsIDIyNiwgOTAsIDIyNSwgMjMsIDIwLCAxLCA4MiwgMjE3LCAxMDEsIDIwLCAxLCA4MiwgMjE3LCA1MSwgMjAsIAotICAgIDEsIDgyLCAyMjksIDE0NywgMjMwLCAzNCwgMjQwLCAyMzQsIDIwLCAxLCA4MiwgMjIwLCAxNSwgMjAsIDEsIDgyLCAyMTEsIAotICAgIDE0LCAyMCwgMSwgODIsIDIyOCwgMjQ3LCAyMCwgMSwgODIsIDIxMCwgMjAyLCAyMCwgMSwgODIsIDIxMCwgMjI3LCAyMTcsIAotICAgIDI0MCwgMjAsIDEsIDgyLCAyMTAsIDIyNywgMjQ5LCAxNDcsIDIwLCAxLCA4MiwgMjEwLCAxODcsIDIwLCAxLCA4MiwgMjEwLCAKLSAgICAxOTUsIDIwLCAxLCA4MiwgMjM0LCAxNDIsIDIwLCAxLCA4MiwgMjI1LCAxNTEsIDIwLCAxLCA4MiwgMjI4LCAxNzcsIDI0NSwgCi0gICAgMTAyLCAyMCwgMSwgODIsIDIyNCwgMTQ0LCAyMCwgMSwgODIsIDIxMSwgMTkyLCAyMCwgMSwgODIsIDI0NCwgMTQ3LCAyMCwgCi0gICAgMSwgODIsIDIxMywgMjUwLCAyMCwgMSwgODIsIDIzMiwgOTgsIDIwLCAxLCA4MiwgMjMwLCAyMzAsIDIwLCAxLCA4MiwgMjIzLCAKLSAgICA1MSwgMjAsIDEsIDgyLCAyMjMsIDE3MSwgMjAsIDEsIDgyLCAyMjgsIDI0NiwgMjAsIDEsIDgyLCAyMjksIDc3LCAyMCwgMSwgCi0gICAgODIsIDIyMCwgNywgMjAsIDEsIDgyLCAyMTksIDI1MiwgMjAsIDEsIDgyLCAyNDMsIDIzNSwgMjIzLCA4NiwgMjAsIDEsIDgyLCAKLSAgICAxOTcsIDIwLCAxLCA4MiwgMjI1LCAxMDgsIDIwLCAxLCA4MiwgMjMyLCAxMTksIDIwLCAxLCA4MiwgMjM0LCAyOCwgMjAsIDEsIAotICAgIDgyLCAyMzEsIDU4LCAyMCwgMSwgODIsIDE4NCwgMjAsIDEsIDgyLCAyMzEsIDE2OSwgMjAsIDEsIDgyLCAyMTYsIDIyMSwgCi0gICAgMjAsIDEsIDgyLCAyMzQsIDkyLCAyMCwgMSwgODIsIDIzMCwgMTUwLCAyMCwgMSwgODIsIDIxNiwgMjQ3LCAyMCwgMSwgODIsIAotICAgIDI0NCwgMTY5LCAyMCwgMSwgODIsIDI0MiwgMjIzLCAyMCwgMSwgMjI1LCAxMzcsIDE3NiwgMjAsIDEsIDIyNSwgMTM3LCA3MCwgCi0gICAgMjAsIDEsIDIyNSwgMTM3LCAyMzMsIDIxNywgMjAsIDEsIDIyNSwgMTM3LCAyNDUsIDIwOSwgMjAsIDEsIDIyNSwgMTM3LCAKLSAgICAyMjMsIDEwOCwgMjAsIDEsIDIyNSwgMTM3LCAyMTcsIDg2LCAyMCwgMSwgMjI1LCAxMzcsIDIyNywgMTQ4LCAyMCwgMSwgCi0gICAgMjI1LCAxMzcsIDIzMywgMTM1LCAyMCwgMSwgMjI1LCAxMzcsIDIyMiwgMjM5LCAyMCwgMSwgMjI1LCAxMzcsIDIyMywgMjksIAotICAgIDIwLCAxLCAyMjUsIDEzNywgMjMxLCA3OSwgMjAsIDEsIDIyNSwgMTM3LCAyMTcsIDEwMSwgMjAsIDEsIDIyNSwgMTM3LCAKLSAgICAyMjksIDE0NiwgMjAsIDEsIDIyNSwgMTM3LCAyMjgsIDE4MywgMjAsIDEsIDIyNSwgMTM3LCAxOTMsIDIwLCAxLCAyMjUsIAotICAgIDEzNywgMjE4LCA0LCAyMCwgMSwgMjI1LCAxMzcsIDIyMCwgMjcsIDIwLCAxLCAyMjUsIDEzNywgMjE5LCAxOTEsIDIwLCAxLCAKLSAgICAyMjUsIDEzNywgMjIwLCAxMjMsIDIwLCAxLCAyMjUsIDEzNywgMjMzLCAxNTUsIDIwLCAxLCAyMjUsIDEzNywgMjM0LCAxNTYsIAotICAgIDIwLCAxLCAyMjUsIDEzNywgMjI3LCAyMDksIDIwLCAxLCAyMjUsIDEzNywgMjI3LCAyMzcsIDIwLCAxLCAyMjUsIDEzNywgCi0gICAgMjI4LCAxNTQsIDIwLCAxLCAyMjUsIDEzNywgMjEwLCAyMjYsIDIwLCAxLCAyMjUsIDEzNywgMjE5LCAyMjUsIDIwLCAxLCAKLSAgICAyMjUsIDEzNywgMTkxLCAyMCwgMSwgMjI1LCAxMzcsIDIyOCwgOSwgMjAsIDEsIDIyNSwgMTM3LCAyMjUsIDE1MSwgMjAsIDEsIAotICAgIDIyNSwgMTM3LCAyMjcsIDI0NiwgMjAsIDEsIDIyNSwgMTM3LCAyMTEsIDE5MiwgMjAsIDEsIDIyNSwgMTM3LCAyMjUsIDIxMSwgCi0gICAgMjAsIDEsIDIyNSwgMTM3LCAyMjIsIDE0MCwgMjAsIDEsIDIyNSwgMTM3LCAyMjgsIDIzMywgMjAsIDEsIDIyNSwgMTM3LCAKLSAgICAyMjMsIDUxLCAyMCwgMSwgMjI1LCAxMzcsIDIzNCwgMTY1LCAyMCwgMSwgMjI1LCAxMzcsIDIyOSwgNywgMjAsIDEsIDIyNSwgCi0gICAgMTM3LCAyMjksIDU2LCAyMCwgMSwgMjI1LCAxMzcsIDIyMCwgNywgMjAsIDEsIDIyNSwgMTM3LCAyMjQsIDE0NywgMjAsIDEsIAotICAgIDIyNSwgMTM3LCAyNDQsIDM3LCAyMCwgMSwgMjI1LCAxMzcsIDIxMiwgNjUsIDIwLCAxLCAyMjUsIDEzNywgMjMyLCAyNDEsIAotICAgIDIwLCAxLCAyMjUsIDEzNywgMjMyLCAxMTksIDIwLCAxLCAyMjUsIDEzNywgMjM0LCAyOCwgMjAsIDEsIDIyNSwgMTM3LCAKLSAgICAyMzEsIDExNCwgMjAsIDEsIDIyNSwgMTM3LCAyMjMsIDgzLCAyMCwgMSwgMjI1LCAxMzcsIDE4NCwgMjAsIDEsIDIyNSwgCi0gICAgMTM3LCAyMzAsIDE2MSwgMjAsIDEsIDIyNSwgMTM3LCAyMzEsIDEyMiwgMjAsIDEsIDIyNSwgMTM3LCAyMTYsIDIzMCwgMjAsIAotICAgIDEsIDIyNSwgMTM3LCAyMzMsIDI1MSwgMjAsIDEsIDIyNSwgMTM3LCAyMjEsIDI1MSwgMjAsIDEsIDIyNSwgMTM3LCAyMTIsIAotICAgIDExNSwgOTUsIDEsIDE5MCwgOTUsIDEsIDI1MiwgMTkxLCA5NSwgMSwgOCwgMTkwLCA5NSwgMSwgMjI1LCA0MiwgOTUsIDEsIAotICAgIDE4NCwgOTUsIDEsIDIzMCwgMjMzLCA5NSwgMSwgMjU0LCAyMywgMTg0LCA5NSwgMSwgMjQ0LCAxOTYsIDk1LCAxLCAyMTQsIAotICAgIDI3LCA5NSwgMSwgMjEzLCAxNzcsIDk1LCAxLCAyMTcsIDEwNSwgOTUsIDEsIDI0OCwgMjIxLCA5NSwgMSwgOCwgMjE1LCAKLSAgICAxNTYsIDk1LCAxLCA4LCAyMTcsIDEwNSwgOTUsIDEsIDIxNSwgMTU2LCA5NSwgMSwgMjQ4LCAxMzUsIDk1LCAxLCAxOTcsIAotICAgIDk1LCAxLCAyMjgsIDIzNywgOTUsIDEsIDgsIDIyOCwgMTEwLCA5NSwgMSwgMjU0LCAyMywgMTk3LCA5NSwgMSwgMjI4LCAKLSAgICAxMTAsIDk1LCAxLCAyMjgsIDk2LCA5NSwgMSwgMjMzLCAxMzUsIDk1LCAxLCAyMzIsIDYxLCA5NSwgMSwgMjMyLCAyNTQsIAotICAgIDk1LCAxLCAyMzIsIDI0MywgOTUsIDEsIDIxNiwgNTYsIDk1LCAxLCAyNDcsIDE1MywgOTUsIDEsIDIxNiwgNDgsIDk1LCAxLCAKLSAgICAyNDcsIDE1MiwgOTUsIDEsIDE3NiwgOTUsIDEsIDI0MywgMTM1LCA5NSwgMSwgOCwgMTc2LCA5NSwgMSwgMjI0LCA4OCwgOTUsIAotICAgIDEsIDIyNCwgNjYsIDk1LCAxLCAyMjksIDc3LCA5NSwgMSwgMjI5LCAyOCwgOTUsIDEsIDI1NCwgMjMsIDIyOSwgNzcsIDk1LCAKLSAgICAxLCAxNjIsIDk1LCAxLCAyMTEsIDE2NSwgOTUsIDEsIDI0MiwgMjQ5LCA5NSwgMSwgMjQyLCAyMjYsIDk1LCAxLCAyMTUsIAotICAgIDE2NSwgOTUsIDEsIDI0NiwgMjYsIDk1LCAxLCAyMjcsIDE2NSwgOTUsIDEsIDIyNywgMTUwLCA5NSwgMSwgMjE1LCAxNzUsIAotICAgIDk1LCAxLCAyNDYsIDMzLCA5NSwgMSwgOCwgMjE1LCAxNzUsIDk1LCAxLCA4LCAyNDYsIDMzLCA5NSwgMSwgMjIzLCAxMDYsIAotICAgIDIxNSwgMTc1LCA5NSwgMSwgMjIwLCAxMDIsIDk1LCAxLCAyMTgsIDIyMywgOTUsIDEsIDIxMCwgODIsIDk1LCAxLCAyMTAsIAotICAgIDE0LCA5NSwgMSwgMjE1LCAxODMsIDk1LCAxLCAyNDYsIDM4LCA5NSwgMSwgOCwgMjE1LCAxODMsIDk1LCAxLCAyMDYsIDk1LCAKLSAgICAxLCAyMTAsIDExNiwgOTUsIDEsIDIxMCwgMTUsIDk1LCAxLCAyMDksIDI0MywgOTUsIDEsIDIwOSwgMjIzLCA5NSwgMSwgCi0gICAgMjU0LCAyMywgMjA5LCAyNDMsIDk1LCAxLCAyMDksIDIxNSwgOTUsIDEsIDIwOSwgMjIyLCA5NSwgMSwgMjEyLCA2NSwgOTUsIAotICAgIDEsIDI1NCwgMjA5LCA5NSwgMSwgMjQxLCAxODksIDk1LCAxLCAyMjksIDE5MiwgOTUsIDUsIDI1MywgMjIyLCA5NSwgNSwgCi0gICAgMjIzLCAxMDYsIDIxMywgMTMzLCA5NSwgNSwgMjIzLCAxMDYsIDI1MywgMjIyLCA5NSwgMjUsIDUsIDYxLCA5NSwgMjUsIDUsIAotICAgIDI1NSwgNzMsIDk1LCAyNSwgNSwgMjU0LCAyMDUsIDk1LCAyNSwgNSwgMjU0LCAxMjMsIDk1LCAyNSwgNSwgMjU0LCAxMTUsIAotICAgIDk1LCAyNSwgNSwgNzYsIDk1LCAyNSwgNSwgMjI2LCAxODMsIDk1LCAyNSwgNSwgMjExLCAyMjcsIDk1LCAyNSwgNSwgMjEyLCAKLSAgICA5OCwgOTUsIDI1LCA1LCA3NSwgOTUsIDI1LCA1LCAyNDUsIDE1MCwgOTUsIDI1LCA1LCAyNDUsIDEzOCwgOTUsIDI1LCA1LCAKLSAgICAyMjYsIDIzMiwgOTUsIDI1LCA1LCA3MywgOTUsIDI1LCA1LCAyNDAsIDExOSwgOTUsIDI1LCA1LCAyNDAsIDExOCwgOTUsIAotICAgIDI1LCA1LCAyNDAsIDExNywgOTUsIDI1LCA1LCAyMzUsIDE4OSwgOTUsIDI1LCA1LCAyMzYsIDYwLCA5NSwgMjUsIDUsIDIzNiwgCi0gICAgMzMsIDk1LCAyNSwgNSwgMjM1LCAxNTYsIDk1LCAyNSwgNSwgMjM1LCAyMzEsIDk1LCAyNSwgNSwgNzAsIDk1LCAyNSwgNSwgCisgICAgMjEwLCAxMTksIDEyLCAxMywgMjEwLCAxMTgsIDEyLCAxMywgMjU1LCA3MywgMTIsIDEzLCAyNTUsIDcyLCAxMiwgMTMsIAorICAgIDI1NSwgNzEsIDEyLCAxMywgMjU1LCA3MCwgMTIsIDEzLCAyNTUsIDY5LCAxMiwgMTMsIDI1NSwgNjgsIDEyLCAxMywgMjU1LCAKKyAgICA2NywgMTIsIDEzLCAyNTUsIDY2LCAxMiwgMTMsIDI1NSwgNjUsIDEyLCAxMywgMjU1LCA2NCwgMTIsIDEzLCAyNTUsIDYzLCAKKyAgICAxMiwgMTMsIDI1NSwgNjIsIDEyLCAxMywgMjU1LCA2MSwgMTIsIDEzLCAyNTUsIDYwLCAxMiwgMTMsIDI1NSwgNTksIDEyLCAKKyAgICAxMywgMjU1LCA1OCwgMTIsIDEzLCAyNTUsIDU3LCAxMiwgMTMsIDI1NSwgNTYsIDEyLCAxMywgMjU1LCA1NSwgMTIsIDEzLCAKKyAgICAyNTUsIDU0LCAxMiwgMTMsIDI1NSwgNTMsIDEyLCAxMywgMjU1LCA1MiwgMTIsIDEzLCAyNTUsIDUxLCAxMiwgMTMsIDI1NSwgCisgICAgNTAsIDEyLCAxMywgMjU1LCA0OSwgMTIsIDEzLCAyNTUsIDQ4LCAxMiwgMTMsIDI1NSwgNDcsIDEyLCAxMywgMjU1LCA0NiwgCisgICAgMTIsIDEzLCAyNTUsIDQ1LCAxMiwgMTMsIDI1NSwgNDQsIDEyLCAxMywgMjU1LCA0MywgMTIsIDEzLCAyNTUsIDQyLCAxMiwgCisgICAgMTMsIDI1NSwgNDEsIDEyLCAxMywgMjU1LCA0MCwgMjAsIDEsIDE2NywgMjI5LCAxMywgMjMxLCAxNywgMjAsIDEsIDE2NywgCisgICAgMjQzLCA3MSwgMjQ0LCAzNywgMjAsIDEsIDE2NywgMjI0LCAyNTIsIDIzMSwgMTgsIDIyNSwgNTgsIDIwLCAxLCAxNjcsIAorICAgIDIyNCwgMjUyLCAyMzEsIDE4LCAyMjUsIDU5LCAyMCwgMSwgMTY3LCAyMjksIDIyNywgMjMxLCAxNywgMjAsIDEsIDE2NywgCisgICAgMjE5LCAyMjIsIDIwLCAxLCAxNjcsIDIxNiwgNjcsIDIzMSwgMTcsIDIwLCAxLCAxNjcsIDIyNywgMTE5LCAyMzEsIDE3LCAKKyAgICAyMCwgMSwgMTY3LCAyMjAsIDIwLCAyMjYsIDkxLCAyMjgsIDE3MCwgMjAsIDEsIDE2NywgMjI0LCAyNTIsIDIyNiwgOTEsIAorICAgIDIyOCwgMTcxLCAyMjUsIDU4LCAyMCwgMSwgMTY3LCAyMjQsIDI1MiwgMjI2LCA5MSwgMjI4LCAxNzEsIDIyNSwgNTksIDIwLCAKKyAgICAxLCAxNjcsIDIzMSwgMjE5LCAyMCwgMSwgMTY3LCAyMTUsIDEyMCwgMjMxLCAyMjAsIDIwLCAxLCAxNjcsIDIyOSwgNzIsIAorICAgIDIwLCAxLCAxNjcsIDIzMSwgMjE2LCAyMCwgMSwgMTY3LCAyMzEsIDE3NywgMjAsIDEsIDE2NywgMjMwLCA0OSwgMjAsIDEsIAorICAgIDE2NywgMjIwLCAxMjUsIDIwLCAxLCAxNjcsIDIyNywgMjQyLCAyMCwgMSwgMTY3LCAyMzQsIDE1MCwgMjAsIDEsIDE2NywgCisgICAgMjI4LCAxMzksIDIwLCAxLCAxNjcsIDIxOCwgNSwgMjAsIDEsIDE2NywgMjI5LCAxMiwgMjAsIDEsIDE2NywgMjMzLCA4OCwgCisgICAgMjAsIDEsIDE2NywgMjMzLCAxMywgMjMzLCAxOTAsIDIwLCAxLCAxNjcsIDIyNywgMjQ5LCAyMzEsIDI1LCAyMCwgMSwgMTY3LCAKKyAgICAyMzEsIDIyMywgMjAsIDEsIDE2NywgMjI1LCAyNDcsIDIwLCAxLCAxNjcsIDI0MiwgMjMyLCAyMCwgMSwgMTY3LCAyMjYsIAorICAgIDUxLCAyMCwgMSwgMTY3LCAyMzAsIDE1MiwgMjI5LCA0NiwgMjAsIDEsIDE2NywgMjI3LCAxMDAsIDIzMSwgMjgsIDIwLCAxLCAKKyAgICAxNjcsIDEwNCwgMjEwLCAxODgsIDIyOSwgMjIxLCAyMCwgMSwgMTY3LCAyNDIsIDIzMywgMjAsIDEsIDE2NywgMjI3LCAyNDksIAorICAgIDIyNywgMjUwLCAyMCwgMSwgMTY3LCAyMTksIDEyOSwgMjAsIDEsIDE2NywgMjMxLCAxMCwgMjAsIDEsIDE2NywgMjMxLCAzMSwgCisgICAgMjAsIDEsIDE2NywgMjMwLCAxMzEsIDIwLCAxLCAxNjcsIDIzNCwgMjUwLCAyMCwgMSwgMTY3LCAyMjYsIDkxLCAyMzMsIDQ4LCAKKyAgICAyMCwgMSwgMTY3LCAyMjksIDE1MCwgMjMzLCA0OCwgMjAsIDEsIDE2NywgMjI1LCAxNTksIDIwLCAxLCAxNjcsIDIzMSwgCisgICAgMjE3LCAyMCwgMSwgMTY3LCAyMjgsIDIwOCwgMjAsIDEsIDE2NywgMjI0LCAxMzUsIDIwLCAxLCAxNjcsIDIxNSwgMTE3LCAKKyAgICAyMCwgMSwgMTY3LCAyMzIsIDk1LCAyMCwgMSwgMTY3LCAyMTksIDQyLCAyMCwgMSwgMTY3LCAyMTYsIDIxNywgMjAsIDEsIAorICAgIDE2NywgMjMxLCAyMTQsIDIwLCAxLCAxNjcsIDIzNCwgMTU3LCAyMCwgMSwgMTY3LCAyMjksIDE0NiwgMjAsIDEsIDE2NywgCisgICAgMjMzLCAyMDIsIDIwLCAxLCAxNjcsIDIzMCwgMTMyLCAyMCwgMSwgMTY3LCAyMTksIDIxOSwgMjAsIDEsIDE2NywgMjMyLCAKKyAgICAxMzksIDIwLCAxLCAxNjcsIDI0NCwgOTQsIDIwLCAxLCAxNjcsIDIyMiwgMjAwLCAyMCwgMSwgMTY3LCAyMzMsIDI0MiwgMjAsIAorICAgIDEsIDE2NywgMjE5LCAzOCwgMjAsIDEsIDE2NywgMjMxLCAxNzQsIDIyNSwgMTAwLCAyMCwgMSwgMTY3LCAyMjAsIDEzLCAyMCwgCisgICAgMSwgMTY3LCAyMjcsIDI0OCwgMjAsIDEsIDE2NywgMjE5LCAyNTQsIDIyOCwgMywgMjEwLCAxOTYsIDIwLCAxLCAxNjcsIAorICAgIDIyNywgMTM5LCAyMzAsIDE0OSwgMjAsIDEsIDE2NywgMjI2LCA4NiwgMjAsIDEsIDE2NywgMjI4LCAxNDAsIDIwLCAxLCAKKyAgICAxNjcsIDIxNCwgMTcwLCAyMCwgMSwgMTY3LCAyMjksIDQ5LCAyMCwgMSwgMTY3LCAyMzEsIDIxMywgMjAsIDEsIDE2NywgCisgICAgMjI4LCAxODIsIDIwLCAxLCAxNjcsIDIzMSwgMTIwLCAyMCwgMSwgMTY3LCAyMjcsIDE1MiwgMjAsIDEsIDE2NywgMjE2LCAKKyAgICAyMjEsIDIwLCAxLCAxNjcsIDIxOSwgMzUsIDIwLCAxLCAxNjcsIDIyNiwgODcsIDIwLCAxLCAxNjcsIDIyOCwgNywgMjAsIDEsIAorICAgIDE2NywgMjMxLCAyMjEsIDIwLCAxLCAxNjcsIDIyNywgMTQ5LCAyMCwgMSwgMTY3LCAyMzQsIDIxNywgMjAsIDEsIDE2NywgCisgICAgMjI4LCAxMCwgMjAsIDEsIDE2NywgMjEzLCAyNTAsIDIwLCAxLCAxNjcsIDIzMiwgOTksIDIwLCAxLCAxNjcsIDIyOSwgOTksIAorICAgIDIwLCAxLCAxNjcsIDIyOSwgMTk3LCAyMCwgMSwgMTY3LCAyMzEsIDExOSwgMjAsIDEsIDIyNSwgMTM5LCAyMjgsIDUsIDIwLCAKKyAgICAxLCAyMjUsIDEzOSwgMjE1LCAxMjAsIDIzMSwgMjE4LCAyMCwgMSwgMjI1LCAxMzksIDIxOSwgMTg2LCAyMCwgMSwgMjI1LCAKKyAgICAxMzksIDIyMCwgMTI5LCAyMTUsIDExOSwgMjAsIDEsIDIyNSwgMTM5LCAyMzIsIDE0MSwgMjI3LCAyNDUsIDIwLCAxLCAyMjUsIAorICAgIDEzOSwgMjMxLCAxMjYsIDIzMSwgMjIyLCAyMCwgMSwgMjI1LCAxMzksIDIzNCwgODgsIDIwLCAxLCAyMjUsIDEzOSwgMjExLCAKKyAgICAxNSwgMjAsIDEsIDIyNSwgMTM5LCAyMzEsIDEyMSwgMjAsIDEsIDIyNSwgMTM5LCAyMzQsIDIzOCwgMjAsIDEsIDIyNSwgCisgICAgMTM5LCAyMjUsIDIwOSwgMjAsIDEsIDIyNSwgMTM5LCAyMTEsIDg5LCAyMzMsIDQ4LCAyMCwgMSwgMjI1LCAxMzksIDIzMywgCisgICAgMTA0LCAyMjgsIDMsIDIyNywgMTYxLCAyMCwgMSwgMjI1LCAxMzksIDIyNywgMjQzLCAyMjAsIDM5LCAyMCwgMSwgMjI1LCAKKyAgICAxMzksIDIyOSwgMTE3LCAyMjgsIDE4NSwgMjAsIDEsIDIyNSwgMTM5LCAyNDIsIDIzMCwgMjAsIDEsIDIyNSwgMTM5LCAyMjUsIAorICAgIDUwLCAyMCwgMSwgMjI1LCAxMzksIDIxNSwgMTIwLCAyMjgsIDEsIDIwLCAxLCAyMjUsIDEzOSwgMjIwLCA0NCwgMjI4LCAKKyAgICAxODAsIDIwLCAxLCAyMjUsIDEzOSwgMjIwLCA0MCwgMjAsIDEsIDIyNSwgMTM5LCAyMzEsIDE4LCAyMTYsIDIyMCwgMjAsIDEsIAorICAgIDIyNSwgMTM5LCAyMzEsIDEwOCwgMjMxLCAxMjIsIDIwLCAxLCAyMjUsIDEzOSwgMjI3LCAxNTAsIDIyNywgMjQ1LCAyMCwgMSwgCisgICAgMjI1LCAxMzksIDIzNCwgMTQ2LCAyMCwgMSwgMjI1LCAxMzksIDI0MiwgMjMxLCAyMCwgMSwgMjI1LCAxMzksIDIzNCwgMTQyLCAKKyAgICAyMCwgMSwgMjI1LCAxMzksIDIzMywgMTMwLCAyMCwgMSwgMjI1LCAxMzksIDIyNSwgMjUwLCAyMCwgMSwgMjI1LCAxMzksIAorICAgIDIxMywgMTgyLCAyMCwgMSwgMjI1LCAxMzksIDIyOSwgMTQsIDIzMCwgNDcsIDIwLCAxLCAyMjUsIDEzOSwgMjI5LCA0OCwgCisgICAgMjMxLCAxMDQsIDIwLCAxLCAyMjUsIDEzOSwgMjExLCAxOTMsIDIwLCAxLCAyMjUsIDEzOSwgMjIyLCAxMiwgMjAsIDEsIAorICAgIDIyNSwgMTM5LCAyMTcsIDk4LCAyMCwgMSwgMjI1LCAxMzksIDIzMSwgMzAsIDIwLCAxLCAyMjUsIDEzOSwgMjI5LCAzMywgCisgICAgMjAsIDEsIDIyNSwgMTM5LCAyMjksIDM0LCAyMzMsIDg1LCAyMCwgMSwgMjI1LCAxMzksIDIzMSwgMjAsIDIwLCAxLCAyMjUsIAorICAgIDEzOSwgMjE4LCA1MywgMjAsIDEsIDIyNSwgMTM5LCAyMzEsIDExMiwgMjAsIDEsIDIyNSwgMTM5LCAyMzAsIDEzNCwgMjAsIAorICAgIDEsIDIyNSwgMTM5LCAyMjcsIDE2NCwgMjAsIDEsIDIyNSwgMTM5LCAyMjQsIDEzOSwgMjAsIDEsIDIyNSwgMTM5LCAyMzEsIAorICAgIDI5LCAyMjksIDUwLCAyMCwgMSwgMjI1LCAxMzksIDI0NCwgMTI3LCAyMCwgMSwgMjI1LCAxMzksIDIzMSwgOTksIDIwLCAxLCAKKyAgICAyMjUsIDEzOSwgMjQ0LCAxNDgsIDIwLCAxLCAyMjUsIDEzOSwgMjM0LCAxNTQsIDIwLCAxLCAyMjUsIDEzOSwgMjMxLCAyNDAsIAorICAgIDIyOCwgMTc0LCAyMCwgMSwgMjI1LCAxMzksIDIzMSwgMjQwLCAyMjgsIDE1MCwgMjAsIDEsIDIyNSwgMTM5LCAyMzMsIDEyLCAKKyAgICAyMCwgMSwgMjI1LCAxMzksIDIyOSwgNTYsIDIwLCAxLCAyMjUsIDEzOSwgMjI4LCAxMiwgMjAsIDEsIDIyNSwgMTM5LCAxODUsIAorICAgIDIwLCAxLCAyMjUsIDEzOSwgMjM0LCA3NSwgMjAsIDEsIDIyNSwgMTM5LCAyMjksIDIsIDIwLCAxLCAxMzcsIDIyOSwgMTMsIAorICAgIDIzMSwgMjIwLCAyMCwgMSwgMTM3LCAyMjcsIDExOCwgMjAsIDEsIDEzNywgMjEwLCAxOTYsIDIwLCAxLCAxMzcsIDIxMiwgCisgICAgNTMsIDIwLCAxLCAxMzcsIDIyOSwgNDksIDIwLCAxLCAxMzcsIDIyOSwgMTM4LCAyMCwgMSwgMTM3LCAyMjksIDIwLCAyMCwgCisgICAgMSwgMTM3LCAyNDIsIDI0MCwgMjAsIDEsIDEzNywgMjMxLCAxMTYsIDIwLCAxLCAxMzcsIDI0MywgNzgsIDIwLCAxLCAxMzcsIAorICAgIDIyNywgMTQxLCAyMzAsIDE3MSwgMjMxLCAzMiwgMjAsIDEsIDEzNywgMjI3LCAyNDEsIDIzMSwgMTA3LCAyMCwgMSwgMTM3LCAKKyAgICAyMzEsIDExMywgMjAsIDEsIDEzNywgMjI1LCA1NiwgMjAsIDEsIDEzNywgMjI5LCAxMjMsIDIwLCAxLCAxMzcsIDIzMSwgCisgICAgMTI0LCAyNTEsIDMwLCAyMCwgMSwgMTM3LCAyMzQsIDE0NCwgMjAsIDEsIDEzNywgMjQyLCAyNDEsIDIwLCAxLCAxMzcsIAorICAgIDIzNCwgMTUxLCAyMCwgMSwgMTM3LCAyMTAsIDIxMywgMjMwLCA3NywgMjAsIDEsIDEzNywgMjI3LCAxMTIsIDIwLCAxLCAKKyAgICAxMzcsIDIzMSwgMTAxLCAyMCwgMSwgMTM3LCAyMjgsIDExLCAyMCwgMSwgMTM3LCAyMzEsIDEwNywgMjAsIDEsIDEzNywgCisgICAgMjExLCAxNiwgMjAsIDEsIDEzNywgMjMzLCAyNTAsIDIwLCAxLCAxMzcsIDIzNSwgMTEsIDIwLCAxLCAxMzcsIDIyMCwgMTI0LCAKKyAgICAyMCwgMSwgMTM3LCAyMjksIDEzMiwgMjAsIDEsIDEzNywgMjE3LCA5NiwgMjAsIDEsIDEzNywgMjI4LCAxNTQsIDIwLCAxLCAKKyAgICAxMzcsIDIxNiwgNjcsIDIxMCwgMTk4LCAyMCwgMSwgMTM3LCAyMTgsIDgwLCAyMCwgMSwgMTM3LCAyMjksIDQwLCAyMjcsIAorICAgIDE2MSwgMjAsIDEsIDEzNywgMjEzLCAxODEsIDIwLCAxLCAxMzcsIDIyOSwgMjAwLCAyMCwgMSwgMTM3LCAyMzEsIDI0MCwgCisgICAgMjM0LCAxNTMsIDIwLCAxLCAxMzcsIDIyNywgMjUwLCAyMCwgMSwgMTM3LCAyMjksIDM1LCAyMCwgMSwgMTM3LCAyMzMsIDg5LCAKKyAgICAyMCwgMSwgMTM3LCAyMzEsIDEwOSwgMjAsIDEsIDEzNywgMjMxLCA5LCAyMCwgMSwgMTM3LCAyMjcsIDI0NCwgMjAsIDEsIAorICAgIDEzNywgMjE2LCAyMTYsIDIwLCAxLCAxMzcsIDIyOSwgMzcsIDIwLCAxLCAxMzcsIDI0MywgMjM0LCAyMCwgMSwgMTM3LCAKKyAgICAyMjksIDEzNywgMjAsIDEsIDEzNywgMjI4LCAxMywgMjAsIDEsIDEzNywgMjI4LCA5LCAyMCwgMSwgMTM3LCAyNTEsIDEwOCwgCisgICAgMjAsIDEsIDEzNywgMjEzLCAxODMsIDIwLCAxLCAxMzcsIDIzMSwgMTE0LCAyMCwgMSwgMTM3LCAyMjIsIDE0MSwgMjAsIDEsIAorICAgIDEzNywgMjI4LCAxODQsIDIwLCAxLCAxMzcsIDIzMywgMTAzLCAyMCwgMSwgMTM3LCAyMTYsIDY1LCAyMCwgMSwgMTM3LCAKKyAgICAyMjcsIDI1MSwgMjI5LCAyLCAyMCwgMSwgMTM3LCAyMjgsIDE3NiwgMjAsIDEsIDEzNywgMjM0LCAxNTcsIDIwLCAxLCAxMzcsIAorICAgIDIyOSwgNDEsIDIwLCAxLCAxMzcsIDIzMSwgMjEzLCAyMCwgMSwgMTM3LCAyMzEsIDEwMiwgMjAsIDEsIDEzNywgMjMyLCA5OSwgCisgICAgMjAsIDEsIDEzNywgMjMzLCAxOTAsIDIwLCAxLCAxMzcsIDIyOCwgMTgyLCAyMCwgMSwgMTM3LCAyMjksIDIsIDIwLCAxLCAKKyAgICAxMzcsIDIxMSwgMTg0LCAyMCwgMSwgMTM3LCAyMjksIDM4LCAyMCwgMSwgMTM3LCAyMjcsIDI1NCwgMjAsIDEsIDEzNywgCisgICAgMjI3LCAyNDYsIDIwLCAxLCAxMzcsIDIzMywgMjA0LCAyMjgsIDE0MCwgMjAsIDEsIDEzNywgMjI3LCAyNTIsIDIwLCAxLCAKKyAgICAxMzcsIDIyOSwgMTQ1LCAyMCwgMSwgMTM3LCAyMzEsIDI0MCwgMjI4LCAxLCAyMCwgMSwgMTM3LCAyMTEsIDEwMywgMjAsIDEsIAorICAgIDEzNywgMjI5LCAxNDQsIDIwLCAxLCAxMzcsIDIxOSwgMjIxLCAyMCwgMSwgMTM3LCAyMjAsIDEyNywgMjAsIDEsIDEzNywgCisgICAgMjMxLCAxMTAsIDIwLCAxLCAxMzcsIDIzMSwgMjIwLCAyMCwgMSwgMTM3LCAyMzEsIDEyMCwgMjAsIDEsIDEzNywgMjM0LCAKKyAgICAxNDUsIDIwLCAxLCAxMzcsIDIzMSwgMTExLCAyMCwgMSwgMTM3LCAyMzQsIDE0OSwgMjAsIDEsIDEzNywgMjMxLCAxMjQsIAorICAgIDIyNSwgMTA0LCAyMCwgMSwgMTM3LCAyMTAsIDE3OSwgMjAsIDEsIDEzNywgMjI4LCAxNzIsIDIwLCAxLCAxMzcsIDIzMCwgCisgICAgMjIxLCAyMCwgMSwgMTM3LCAyMzAsIDEwMSwgMjAsIDEsIDEzNywgMjIwLCAxNiwgMjAsIDEsIDEzNywgMjM0LCAxNjcsIAorICAgIDIzMywgNzEsIDIwLCAxLCAxMzcsIDIzNCwgMTY3LCAyNDQsIDE2MSwgMjAsIDEsIDEzNywgMjI5LCA3MCwgMjAsIDEsIDEzNywgCisgICAgMjI5LCAxOTcsIDIwLCAxLCAxMzcsIDIzMiwgMjAxLCAyMCwgMSwgMTM3LCAyMjUsIDY2LCAyMCwgMSwgMTM3LCAyMjUsIAorICAgIDIwMCwgMjAsIDEsIDEzNywgMjE2LCAyMzEsIDIwLCAxLCAxMDcsIDIzMSwgMTAwLCAyMCwgMSwgMTA3LCAyMTIsIDUxLCAyMCwgCisgICAgMSwgMTA3LCAyMjgsIDE3MCwgMjAsIDEsIDEwNywgMjMxLCAxNywgMjAsIDEsIDEwNywgMjI4LCAxNjgsIDIwLCAxLCAxMDcsIAorICAgIDIzMiwgMjM2LCAyMCwgMSwgMTA3LCAyMjgsIDE3MywgMjAsIDEsIDEwNywgMjI4LCA4LCAyMCwgMSwgMTA3LCAyMjksIDU1LCAKKyAgICAyMCwgMSwgMTA3LCAyMjcsIDE2MSwgMjAsIDEsIDEwNywgMjExLCAxOTQsIDIwLCAxLCAxMDcsIDIyOSwgMTAsIDIwLCAxLCAKKyAgICAxMDcsIDIyMCwgNjIsIDIwLCAxLCAxMDcsIDIyOSwgMjEsIDIwLCAxLCAxMDcsIDIzNCwgMTUyLCAyMCwgMSwgMTA3LCAyMTYsIAorICAgIDIxOCwgMjAsIDEsIDEwNywgMjIwLCA0MiwgMjAsIDEsIDEwNywgMjI4LCAxODEsIDIwLCAxLCAxMDcsIDIxOCwgNTMsIDIwLCAKKyAgICAxLCAxMDcsIDIzNCwgMTU3LCAyMCwgMSwgMTA3LCAyMTEsIDkxLCAyMCwgMSwgMTA3LCAyMzMsIDIwNSwgMjAsIDEsIDEwNywgCisgICAgMjIxLCAyMzUsIDIwLCAxLCAxMDcsIDIzMSwgMjIsIDIwLCAxLCAxMDcsIDIyOSwgMTM2LCAyMCwgMSwgMTA3LCAyMzEsIAorICAgIDE4OSwgMjAsIDEsIDEwNywgMjMxLCAyOCwgMjAsIDEsIDEwNywgMjIwLCAxMjYsIDIwLCAxLCAxMDcsIDIxMSwgMzksIDIwLCAKKyAgICAxLCAxMDcsIDIyOCwgMTc1LCAyMCwgMSwgMTA3LCAyMzQsIDE0OCwgMjMxLCAxMDMsIDIwLCAxLCAxMDcsIDIyOSwgMTcsIAorICAgIDIwLCAxLCAxMDcsIDIxNSwgMTE5LCAyMCwgMSwgMTA3LCAyNDIsIDI0OSwgMjAsIDEsIDEwNywgMjI5LCA3LCAyMCwgMSwgCisgICAgMTA3LCAyNDQsIDEyOCwgMjAsIDEsIDEwNywgMjI5LCAxNDAsIDIwLCAxLCAxMDcsIDIzMSwgMSwgMjAsIDEsIDEwNywgMjMzLCAKKyAgICA2LCAyMCwgMSwgMTA3LCAyMjksIDEyMiwgMjAsIDEsIDEwNywgMjMwLCAxNDgsIDIwLCAxLCAxMDcsIDIzMSwgNSwgMjAsIDEsIAorICAgIDEwNywgMjI0LCAxMTksIDIwLCAxLCAxMDcsIDIzMSwgMywgMjAsIDEsIDEwNywgMjMxLCAxOSwgMjAsIDEsIDEwNywgMjMyLCAKKyAgICA4NSwgMjAsIDEsIDEwNywgMjI4LCAwLCAyMCwgMSwgMTA3LCAyMzEsIDEyMywgMjAsIDEsIDEwNywgMjMzLCAxODEsIDIwLCAKKyAgICAxLCAxMDcsIDIyNywgMTUyLCAyMCwgMSwgMTA3LCAyMTYsIDIyMSwgMjAsIDEsIDEwNywgMjE5LCAzNSwgMjAsIDEsIDEwNywgCisgICAgMjEwLCAxNzksIDIwLCAxLCAxMDcsIDIzNCwgMTQ5LCAyMCwgMSwgMTA3LCAyMjMsIDE3MSwgMjAsIDEsIDEwNywgMjE3LCAKKyAgICAxMSwgMjAsIDEsIDEwNywgMjI5LCAxOCwgMjAsIDEsIDEwNywgMjMxLCAyNCwgMjAsIDEsIDEwNywgMjI3LCAyNTUsIDIwLCAKKyAgICAxLCAxMDcsIDIzNCwgMTQ3LCAyMCwgMSwgMTA3LCAyMjUsIDYwLCAyMCwgMSwgMTA3LCAyMjUsIDE1MywgMjAsIDEsIDEwNywgCisgICAgMjI3LCAxMjgsIDIwLCAxLCAxMDcsIDIzMywgMTIsIDIwLCAxLCAxMDcsIDIyOSwgNTYsIDIwLCAxLCAxMDcsIDIzMSwgMjEsIAorICAgIDIwLCAxLCAxMDcsIDIyOSwgMzAsIDIwLCAxLCAxMDcsIDIxMCwgMTkzLCAyMCwgMSwgMTA3LCAyMjYsIDIyLCAyMCwgMSwgCisgICAgMTA3LCAyMTAsIDE5MiwgMjAsIDEsIDEwNywgMjI5LCAxNDUsIDIwLCAxLCAxMDcsIDIyNywgMjQ1LCAyMCwgMSwgMTA3LCAKKyAgICAyMTgsIDgyLCAyMCwgMSwgMTA3LCAyMzMsIDIwOSwgMjAsIDEsIDEwNywgMjI5LCA0NSwgMjAsIDEsIDEwNywgMjI5LCAxNSwgCisgICAgMjAsIDEsIDEwNywgMjE1LCAxMDMsIDIwLCAxLCAxMDcsIDIzMSwgMzIsIDIwLCAxLCAxMDcsIDIzMywgMTk5LCAyMCwgMSwgCisgICAgMTA3LCAyMjcsIDI1MywgMjAsIDEsIDEwNywgMjE2LCAyMTksIDIwLCAxLCAxMDcsIDIzMSwgMjE1LCAyMCwgMSwgMTA3LCAKKyAgICAyMjksIDU0LCAyMCwgMSwgMTA3LCAyMzMsIDUsIDIwLCAxLCAxMDcsIDIyOSwgMzYsIDIwLCAxLCAxMDcsIDIyOCwgMiwgMjAsIAorICAgIDEsIDEwNywgMjI4LCAxNTQsIDIwLCAxLCAxMDcsIDI0MiwgMjM0LCAyMCwgMSwgMTA3LCAyMzMsIDIxOCwgMjAsIDEsIDEwNywgCisgICAgMjIzLCA4NSwgMjI2LCAyMTAsIDIwLCAxLCAxMDcsIDIxNywgODcsIDIwLCAxLCAxMDcsIDIxNiwgMTEsIDIwLCAxLCAxMDcsIAorICAgIDIyNywgMTQ5LCAyMCwgMSwgMTA3LCAyMjIsIDI0MCwgMjAsIDEsIDEwNywgMjMzLCA1MCwgMjAsIDEsIDEwNywgMjMxLCA4MCwgCisgICAgMjAsIDEsIDEwNywgMTkzLCAyMCwgMSwgMTA3LCAyMTgsIDUsIDIwLCAxLCAxMDcsIDIzMCwgMTAzLCAyMCwgMSwgMTA3LCAKKyAgICAyMjAsIDI4LCAyMCwgMSwgMTA3LCAyMjAsIDM4LCAyMCwgMSwgMTA3LCAyMzMsIDE1NiwgMjAsIDEsIDEwNywgMjI3LCAyMzgsIAorICAgIDIwLCAxLCAxMDcsIDIxOSwgMjI2LCAyMCwgMSwgMTA3LCAyMjcsIDI0NywgMjAsIDEsIDEwNywgMjI1LCAyMTIsIDIwLCAxLCAKKyAgICAxMDcsIDIyOCwgMjM0LCAyMCwgMSwgMTA3LCAyMTksIDI1MywgMjAsIDEsIDEwNywgMjI0LCAxMzQsIDIwLCAxLCAxMDcsIAorICAgIDIzMCwgNDcsIDIwLCAxLCAxMDcsIDIzMiwgMTIwLCAyMCwgMSwgMTA3LCAyMjMsIDg1LCAyMzAsIDk3LCAyMCwgMSwgMTA3LCAKKyAgICAyMTYsIDExOCwgMjAsIDEsIDEwNywgMjI3LCAyMzksIDIwLCAxLCAxMDcsIDIzMSwgMTI0LCAxOTgsIDIwLCAxLCAxMDcsIAorICAgIDIyMSwgMjMzLCAyMCwgMSwgMTA3LCAyNDQsIDE5NiwgMjAsIDEsIDgyLCAyMjksIDE0NCwgMjAsIDEsIDgyLCAyMTYsIDE3LCAKKyAgICAyMCwgMSwgODIsIDIzMSwgMTEzLCAyMCwgMSwgODIsIDIzMywgODksIDIwLCAxLCA4MiwgMjEzLCAxMjgsIDIwLCAxLCA4MiwgCisgICAgMjMyLCAxMjYsIDIwLCAxLCA4MiwgMjI2LCA5MCwgMjAsIDEsIDgyLCAyMTksIDQ2LCAyMCwgMSwgODIsIDIyMywgMTQ2LCAKKyAgICAyMCwgMSwgODIsIDIyOCwgNCwgMjAsIDEsIDgyLCAyMjksIDExNSwgMjAsIDEsIDgyLCAyMjQsIDE0OCwgMjAsIDEsIDgyLCAKKyAgICAyMTcsIDYzLCAyMCwgMSwgODIsIDIyOSwgMjMsIDIwLCAxLCA4MiwgMjMzLCAyNDYsIDIwLCAxLCA4MiwgMjExLCAxODcsIAorICAgIDIwLCAxLCA4MiwgMjIxLCAxNzEsIDIwLCAxLCA4MiwgMjI5LCA0NiwgMjAsIDEsIDgyLCAyMjYsIDg3LCAyMCwgMSwgODIsIAorICAgIDIxNiwgMTgsIDIwLCAxLCA4MiwgMjMzLCAyMDMsIDIwLCAxLCA4MiwgMjMyLCAxNDAsIDIwLCAxLCA4MiwgMjI4LCA3LCAyMCwgCisgICAgMSwgODIsIDIyOCwgMjU1LCAyMCwgMSwgODIsIDIzMSwgMjIxLCAyMCwgMSwgODIsIDIyOSwgMTYsIDIwLCAxLCA4MiwgMjI4LCAKKyAgICAyNTQsIDIwLCAxLCA4MiwgMjI4LCA2LCAyMCwgMSwgODIsIDIyMiwgMjM4LCAyMCwgMSwgODIsIDIyOCwgMTcyLCAyMCwgMSwgCisgICAgODIsIDIyNSwgMjExLCAyMCwgMSwgODIsIDIyMiwgMzIsIDIwLCAxLCA4MiwgMjI5LCAzMSwgMjAsIDEsIDgyLCAyMzEsIDExLCAKKyAgICAyMCwgMSwgODIsIDI0MiwgMjI4LCAyMCwgMSwgODIsIDIyOSwgMTksIDIwLCAxLCA4MiwgMjI4LCAxODMsIDIwLCAxLCA4MiwgCisgICAgMjMxLCAxNzMsIDIwLCAxLCA4MiwgMjMyLCAxMjIsIDIwLCAxLCA4MiwgMjI5LCA1MSwgMjAsIDEsIDgyLCAyMjksIDEyOCwgCisgICAgMjAsIDEsIDgyLCAyMTcsIDg2LCAyMjcsIDI0NSwgMjAsIDEsIDgyLCAyMjAsIDEyOCwgMjAsIDEsIDgyLCAyMjQsIDE0NCwgCisgICAgMjAsIDEsIDgyLCAyMjksIDE0OCwgMjE5LCA1MiwgMjAsIDEsIDgyLCAyMjksIDM5LCAyMjcsIDE2MSwgMjAsIDEsIDgyLCAKKyAgICAyMTEsIDQsIDIwLCAxLCA4MiwgMjQyLCAyMjksIDIwLCAxLCA4MiwgMjE1LCAxMTgsIDIwLCAxLCA4MiwgMjExLCAxOSwgMjAsIAorICAgIDEsIDgyLCAyMjUsIDE3LCAyMCwgMSwgODIsIDIxNSwgMTA4LCAyMCwgMSwgODIsIDIzNCwgMTU1LCAyMCwgMSwgODIsIDIxOCwgCisgICAgODEsIDIwLCAxLCA4MiwgMjE2LCAyMjAsIDIwLCAxLCA4MiwgMjEzLCAxODQsIDIwLCAxLCA4MiwgMjEyLCA2LCAyMCwgMSwgCisgICAgODIsIDIzMywgMTMzLCAyMCwgMSwgODIsIDIyNCwgMTUxLCAyMCwgMSwgODIsIDIxNywgOTcsIDIwLCAxLCA4MiwgMjQyLCAKKyAgICAyNDgsIDIwLCAxLCA4MiwgMjI5LCA2MCwgMjAsIDEsIDgyLCAyMjAsIDQxLCAyMCwgMSwgODIsIDIzMSwgNiwgMjAsIDEsIAorICAgIDgyLCAyMzEsIDExNywgMjAsIDEsIDgyLCAyMjcsIDExNiwgMjAsIDEsIDgyLCAyMjgsIDEzNywgMjAsIDEsIDgyLCAyNDMsIAorICAgIDc0LCAyMCwgMSwgODIsIDIxNSwgMTA5LCAyMCwgMSwgODIsIDIzMywgMjEyLCAyMCwgMSwgODIsIDIxMSwgNjcsIDIwLCAxLCAKKyAgICA4MiwgMjI3LCAxNTAsIDI1MCwgMTcsIDIwLCAxLCA4MiwgMjEwLCAyNTAsIDIwLCAxLCA4MiwgMjMxLCAyMywgMjAsIDEsIAorICAgIDgyLCAyMjksIDEzMywgMjAsIDEsIDgyLCAyMjUsIDEwMSwgMjAsIDEsIDgyLCAyMTAsIDE5NywgMjAsIDEsIDgyLCAyMzMsIAorICAgIDcsIDIwLCAxLCA4MiwgMjQzLCAyMzQsIDIwLCAxLCA4MiwgMjQzLCA3MywgMjAsIDEsIDgyLCAyMjksIDksIDIwLCAxLCA4MiwgCisgICAgMjM0LCAxNTcsIDIwLCAxLCA4MiwgMjMxLCAyMjQsIDIwLCAxLCA4MiwgMjI5LCAyMiwgMjAsIDEsIDgyLCAyNDIsIDIzNSwgCisgICAgMjAsIDEsIDgyLCAyNDQsIDE5NywgMjAsIDEsIDgyLCAyMjcsIDI0MCwgMjAsIDEsIDgyLCAyMjUsIDE1NCwgMjAsIDEsIDgyLCAKKyAgICAyMTEsIDE3LCAyMCwgMSwgODIsIDIyOSwgNDcsIDIwLCAxLCA4MiwgMjI3LCAxNTAsIDI1MiwgMjQsIDIwLCAxLCA4MiwgCisgICAgMjI3LCA5NiwgMjAsIDEsIDgyLCAyMjQsIDI0OCwgMjAsIDEsIDgyLCAyMzAsIDIyMSwgMjAsIDEsIDgyLCAyNDMsIDIzMiwgCisgICAgMjAsIDEsIDgyLCAyMjksIDIyMSwgMjAsIDEsIDgyLCAyMzAsIDEwMSwgMjAsIDEsIDgyLCAyNDIsIDIzNCwgMjAsIDEsIDgyLCAKKyAgICAyNDMsIDIzNiwgNzMsIDIwLCAxLCA4MiwgMjMwLCA0OCwgMjAsIDEsIDgyLCAyMjQsIDE0NywgMjAsIDEsIDgyLCAyMjksIAorICAgIDExLCAyMCwgMSwgODIsIDIzMywgMTkwLCAyMCwgMSwgODIsIDIyNSwgOTgsIDIwLCAxLCA4MiwgMjI3LCAyNDgsIDIwLCAxLCAKKyAgICA4MiwgMjExLCAxOCwgMjAsIDEsIDgyLCAyMjksIDMyLCAyMCwgMSwgODIsIDIyNiwgOTEsIDIyNSwgMTg4LCAyMCwgMSwgODIsIAorICAgIDI0MywgMjM2LCAyNTEsIDE2LCAyMCwgMSwgODIsIDI0NCwgMzgsIDIwLCAxLCA4MiwgMjI4LCAxNzcsIDIwLCAxLCA4MiwgCisgICAgNjEsIDIwLCAxLCA4MiwgMjE2LCAxMSwgMjAsIDEsIDgyLCA3NiwgMjAsIDEsIDgyLCA3MywgMjAsIDEsIDgyLCAyMzMsIDg3LCAKKyAgICAyMCwgMSwgODIsIDIyNiwgOTEsIDIyNSwgMjQsIDIwLCAxLCA4MiwgMjE3LCAxMDIsIDIwLCAxLCA4MiwgMjE3LCA1MiwgMjAsIAorICAgIDEsIDgyLCAyMjksIDE0OCwgMjMwLCAzNSwgMjQwLCAyMzUsIDIwLCAxLCA4MiwgMjIwLCAxNiwgMjAsIDEsIDgyLCAyMTEsIAorICAgIDE0LCAyMCwgMSwgODIsIDIyOCwgMjQ4LCAyMCwgMSwgODIsIDIxMCwgMjAyLCAyMCwgMSwgODIsIDIxMCwgMjI3LCAyMTcsIAorICAgIDI0MSwgMjAsIDEsIDgyLCAyMTAsIDIyNywgMjQ5LCAxNDgsIDIwLCAxLCA4MiwgMjEwLCAxODcsIDIwLCAxLCA4MiwgMjEwLCAKKyAgICAxOTUsIDIwLCAxLCA4MiwgMjM0LCAxNDMsIDIwLCAxLCA4MiwgMjI1LCAxNTIsIDIwLCAxLCA4MiwgMjI4LCAxNzgsIDI0NSwgCisgICAgMTAzLCAyMCwgMSwgODIsIDIyNCwgMTQ1LCAyMCwgMSwgODIsIDIxMSwgMTkyLCAyMCwgMSwgODIsIDI0NCwgMTQ4LCAyMCwgCisgICAgMSwgODIsIDIxMywgMjUwLCAyMCwgMSwgODIsIDIzMiwgOTksIDIwLCAxLCA4MiwgMjMwLCAyMzEsIDIwLCAxLCA4MiwgMjIzLCAKKyAgICA1MiwgMjAsIDEsIDgyLCAyMjMsIDE3MiwgMjAsIDEsIDgyLCAyMjgsIDI0NywgMjAsIDEsIDgyLCAyMjksIDc4LCAyMCwgMSwgCisgICAgODIsIDIyMCwgOCwgMjAsIDEsIDgyLCAyMTksIDI1MywgMjAsIDEsIDgyLCAyNDMsIDIzNiwgMjIzLCA4NywgMjAsIDEsIDgyLCAKKyAgICAxOTcsIDIwLCAxLCA4MiwgMjI1LCAxMDksIDIwLCAxLCA4MiwgMjMyLCAxMjAsIDIwLCAxLCA4MiwgMjM0LCAyOSwgMjAsIDEsIAorICAgIDgyLCAyMzEsIDU5LCAyMCwgMSwgODIsIDE4NSwgMjAsIDEsIDgyLCAyMzEsIDE3MCwgMjAsIDEsIDgyLCAyMTYsIDIyMiwgCisgICAgMjAsIDEsIDgyLCAyMzQsIDkzLCAyMCwgMSwgODIsIDIzMCwgMTUxLCAyMCwgMSwgODIsIDIxNiwgMjQ4LCAyMCwgMSwgODIsIAorICAgIDI0NCwgMTcwLCAyMCwgMSwgODIsIDI0MiwgMjI0LCAyMCwgMSwgMjI1LCAxMzgsIDE3NiwgMjAsIDEsIDIyNSwgMTM4LCA3MCwgCisgICAgMjAsIDEsIDIyNSwgMTM4LCAyMzMsIDIxOCwgMjAsIDEsIDIyNSwgMTM4LCAyNDUsIDIxMCwgMjAsIDEsIDIyNSwgMTM4LCAKKyAgICAyMjMsIDEwOSwgMjAsIDEsIDIyNSwgMTM4LCAyMTcsIDg3LCAyMCwgMSwgMjI1LCAxMzgsIDIyNywgMTQ5LCAyMCwgMSwgCisgICAgMjI1LCAxMzgsIDIzMywgMTM2LCAyMCwgMSwgMjI1LCAxMzgsIDIyMiwgMjQwLCAyMCwgMSwgMjI1LCAxMzgsIDIyMywgMzAsIAorICAgIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCA4MCwgMjAsIDEsIDIyNSwgMTM4LCAyMTcsIDEwMiwgMjAsIDEsIDIyNSwgMTM4LCAKKyAgICAyMjksIDE0NywgMjAsIDEsIDIyNSwgMTM4LCAyMjgsIDE4NCwgMjAsIDEsIDIyNSwgMTM4LCAxOTMsIDIwLCAxLCAyMjUsIAorICAgIDEzOCwgMjE4LCA1LCAyMCwgMSwgMjI1LCAxMzgsIDIyMCwgMjgsIDIwLCAxLCAyMjUsIDEzOCwgMjE5LCAxOTIsIDIwLCAxLCAKKyAgICAyMjUsIDEzOCwgMjIwLCAxMjQsIDIwLCAxLCAyMjUsIDEzOCwgMjMzLCAxNTYsIDIwLCAxLCAyMjUsIDEzOCwgMjM0LCAxNTcsIAorICAgIDIwLCAxLCAyMjUsIDEzOCwgMjI3LCAyMTAsIDIwLCAxLCAyMjUsIDEzOCwgMjI3LCAyMzgsIDIwLCAxLCAyMjUsIDEzOCwgCisgICAgMjI4LCAxNTUsIDIwLCAxLCAyMjUsIDEzOCwgMjEwLCAyMjYsIDIwLCAxLCAyMjUsIDEzOCwgMjE5LCAyMjYsIDIwLCAxLCAKKyAgICAyMjUsIDEzOCwgMTkxLCAyMCwgMSwgMjI1LCAxMzgsIDIyOCwgMTAsIDIwLCAxLCAyMjUsIDEzOCwgMjI1LCAxNTIsIDIwLCAKKyAgICAxLCAyMjUsIDEzOCwgMjI3LCAyNDcsIDIwLCAxLCAyMjUsIDEzOCwgMjExLCAxOTIsIDIwLCAxLCAyMjUsIDEzOCwgMjI1LCAKKyAgICAyMTIsIDIwLCAxLCAyMjUsIDEzOCwgMjIyLCAxNDEsIDIwLCAxLCAyMjUsIDEzOCwgMjI4LCAyMzQsIDIwLCAxLCAyMjUsIAorICAgIDEzOCwgMjIzLCA1MiwgMjAsIDEsIDIyNSwgMTM4LCAyMzQsIDE2NiwgMjAsIDEsIDIyNSwgMTM4LCAyMjksIDgsIDIwLCAxLCAKKyAgICAyMjUsIDEzOCwgMjI5LCA1NywgMjAsIDEsIDIyNSwgMTM4LCAyMjAsIDgsIDIwLCAxLCAyMjUsIDEzOCwgMjI0LCAxNDgsIAorICAgIDIwLCAxLCAyMjUsIDEzOCwgMjQ0LCAzOCwgMjAsIDEsIDIyNSwgMTM4LCAyMTIsIDY1LCAyMCwgMSwgMjI1LCAxMzgsIDIzMiwgCisgICAgMjQyLCAyMCwgMSwgMjI1LCAxMzgsIDIzMiwgMTIwLCAyMCwgMSwgMjI1LCAxMzgsIDIzNCwgMjksIDIwLCAxLCAyMjUsIAorICAgIDEzOCwgMjMxLCAxMTUsIDIwLCAxLCAyMjUsIDEzOCwgMjIzLCA4NCwgMjAsIDEsIDIyNSwgMTM4LCAxODUsIDIwLCAxLCAKKyAgICAyMjUsIDEzOCwgMjMwLCAxNjIsIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCAxMjMsIDIwLCAxLCAyMjUsIDEzOCwgMjE2LCAyMzEsIAorICAgIDIwLCAxLCAyMjUsIDEzOCwgMjMzLCAyNTIsIDIwLCAxLCAyMjUsIDEzOCwgMjIxLCAyNTIsIDIwLCAxLCAyMjUsIDEzOCwgCisgICAgMjEyLCAxMTUsIDk1LCAxLCAxOTAsIDk1LCAxLCAyNTIsIDE5MiwgOTUsIDEsIDgsIDE5MCwgOTUsIDEsIDIyNSwgNDMsIDk1LCAKKyAgICAxLCAxODUsIDk1LCAxLCAyMzAsIDIzNCwgOTUsIDEsIDI1NCwgMjQsIDE4NSwgOTUsIDEsIDI0NCwgMTk3LCA5NSwgMSwgCisgICAgMjE0LCAyNywgOTUsIDEsIDIxMywgMTc3LCA5NSwgMSwgMjE3LCAxMDYsIDk1LCAxLCAyNDgsIDIyMiwgOTUsIDEsIDgsIAorICAgIDIxNSwgMTU3LCA5NSwgMSwgOCwgMjE3LCAxMDYsIDk1LCAxLCAyMTUsIDE1NywgOTUsIDEsIDI0OCwgMTM2LCA5NSwgMSwgCisgICAgMTk3LCA5NSwgMSwgMjI4LCAyMzgsIDk1LCAxLCA4LCAyMjgsIDExMSwgOTUsIDEsIDI1NCwgMjQsIDE5NywgOTUsIDEsIAorICAgIDIyOCwgMTExLCA5NSwgMSwgMjI4LCA5NywgOTUsIDEsIDIzMywgMTM2LCA5NSwgMSwgMjMyLCA2MiwgOTUsIDEsIDIzMiwgCisgICAgMjU1LCA5NSwgMSwgMjMyLCAyNDQsIDk1LCAxLCAyMTYsIDU3LCA5NSwgMSwgMjQ3LCAxNTQsIDk1LCAxLCAyMTYsIDQ5LCAKKyAgICA5NSwgMSwgMjQ3LCAxNTMsIDk1LCAxLCAxNzYsIDk1LCAxLCAyNDMsIDEzNiwgOTUsIDEsIDgsIDE3NiwgOTUsIDEsIDIyNCwgCisgICAgODksIDk1LCAxLCAyMjQsIDY3LCA5NSwgMSwgMjI5LCA3OCwgOTUsIDEsIDIyOSwgMjksIDk1LCAxLCAyNTQsIDI0LCAyMjksIAorICAgIDc4LCA5NSwgMSwgMTYyLCA5NSwgMSwgMjExLCAxNjUsIDk1LCAxLCAyNDIsIDI1MCwgOTUsIDEsIDI0MiwgMjI3LCA5NSwgMSwgCisgICAgMjE1LCAxNjYsIDk1LCAxLCAyNDYsIDI3LCA5NSwgMSwgMjI3LCAxNjYsIDk1LCAxLCAyMjcsIDE1MSwgOTUsIDEsIDIxNSwgCisgICAgMTc2LCA5NSwgMSwgMjQ2LCAzNCwgOTUsIDEsIDgsIDIxNSwgMTc2LCA5NSwgMSwgOCwgMjQ2LCAzNCwgOTUsIDEsIDIyMywgCisgICAgMTA3LCAyMTUsIDE3NiwgOTUsIDEsIDIyMCwgMTAzLCA5NSwgMSwgMjE4LCAyMjQsIDk1LCAxLCAyMTAsIDgyLCA5NSwgMSwgCisgICAgMjEwLCAxNCwgOTUsIDEsIDIxNSwgMTg0LCA5NSwgMSwgMjQ2LCAzOSwgOTUsIDEsIDgsIDIxNSwgMTg0LCA5NSwgMSwgMjA2LCAKKyAgICA5NSwgMSwgMjEwLCAxMTYsIDk1LCAxLCAyMTAsIDE1LCA5NSwgMSwgMjA5LCAyNDMsIDk1LCAxLCAyMDksIDIyMywgOTUsIDEsIAorICAgIDI1NCwgMjQsIDIwOSwgMjQzLCA5NSwgMSwgMjA5LCAyMTUsIDk1LCAxLCAyMDksIDIyMiwgOTUsIDEsIDIxMiwgNjUsIDk1LCAKKyAgICAxLCAyNTQsIDIxMCwgOTUsIDEsIDI0MSwgMTkwLCA5NSwgMSwgMjI5LCAxOTMsIDk1LCA1LCAyNTMsIDIyMywgOTUsIDUsIAorICAgIDIyMywgMTA3LCAyMTMsIDEzMywgOTUsIDUsIDIyMywgMTA3LCAyNTMsIDIyMywgOTUsIDI1LCA1LCA2MSwgOTUsIDI1LCA1LCAKKyAgICAyNTUsIDc0LCA5NSwgMjUsIDUsIDI1NCwgMjA2LCA5NSwgMjUsIDUsIDI1NCwgMTI0LCA5NSwgMjUsIDUsIDI1NCwgMTE2LCAKKyAgICA5NSwgMjUsIDUsIDc2LCA5NSwgMjUsIDUsIDIyNiwgMTg0LCA5NSwgMjUsIDUsIDIxMSwgMjI3LCA5NSwgMjUsIDUsIDIxMiwgCisgICAgOTgsIDk1LCAyNSwgNSwgNzUsIDk1LCAyNSwgNSwgMjQ1LCAxNTEsIDk1LCAyNSwgNSwgMjQ1LCAxMzksIDk1LCAyNSwgNSwgCisgICAgMjI2LCAyMzMsIDk1LCAyNSwgNSwgNzMsIDk1LCAyNSwgNSwgMjQwLCAxMjAsIDk1LCAyNSwgNSwgMjQwLCAxMTksIDk1LCAKKyAgICAyNSwgNSwgMjQwLCAxMTgsIDk1LCAyNSwgNSwgMjM1LCAxOTAsIDk1LCAyNSwgNSwgMjM2LCA2MSwgOTUsIDI1LCA1LCAyMzYsIAorICAgIDM0LCA5NSwgMjUsIDUsIDIzNSwgMTU3LCA5NSwgMjUsIDUsIDIzNSwgMjMyLCA5NSwgMjUsIDUsIDcwLCA5NSwgMjUsIDUsIAogICAgIDIxNCwgMjI5LCA5NSwgMjUsIDUsIDIxNCwgMjI4LCA5NSwgMjUsIDUsIDIxNCwgMjI3LCA5NSwgMjUsIDUsIDIxNCwgMTE4LCAKICAgICA5NSwgMjUsIDUsIDIxNCwgMjExLCA5NSwgMjUsIDUsIDIxNCwgMTc4LCA5NSwgMjUsIDUsIDIxMSwgMTE3LCA5NSwgMjUsIDUsIAotICAgIDIxMSwgOCwgOTUsIDI1LCA1LCAyNTQsIDI0MywgOTUsIDI1LCA1LCAyNTQsIDIzOSwgOTUsIDI1LCA1LCAyNDUsIDg2LCA5NSwgCi0gICAgMjUsIDUsIDIyMiwgMTgzLCAyNDUsIDg2LCA5NSwgMjUsIDUsIDI0NSwgOTIsIDk1LCAyNSwgNSwgMjIyLCAxODMsIDI0NSwgCi0gICAgOTIsIDk1LCAyNSwgNSwgMjU0LCAyMDEsIDk1LCAyNSwgNSwgMjQ1LCAxOTUsIDk1LCAyNSwgNSwgMjUzLCAxOTIsIDk1LCAKLSAgICAyNSwgNSwgMjI2LCAxMzQsIDk1LCAyNSwgNSwgMjMwLCAyNSwgOTUsIDI1LCA1LCAyMjksIDc5LCA5NSwgMTM4LCAyMjIsIAotICAgIDI1MSwgOTUsIDEzOCwgMjE2LCAxNCwgMjIyLCAyNTEsIDk1LCAxMzgsIDQ4LCA5NSwgMTM4LCA1MSwgOTUsIDEsIDIxNiwgCi0gICAgMjgsIDk1LCAxLCAyMTYsIDI3LCA5NSwgMSwgMjE2LCAyNiwgOTUsIDEsIDIxNiwgMjUsIDk1LCAxLCAyMTYsIDI0LCA5NSwgCi0gICAgMSwgMjE2LCAyMywgOTUsIDEsIDIxNiwgMjIsIDk1LCAxLCAyMjMsIDEwNiwgMjE2LCAyOSwgOTUsIDEsIDIyMywgMTA2LCAKLSAgICAyMTYsIDI4LCA5NSwgMSwgMjIzLCAxMDYsIDIxNiwgMjYsIDk1LCAxLCAyMjMsIDEwNiwgMjE2LCAyNSwgOTUsIDEsIDIyMywgCi0gICAgMTA2LCAyMTYsIDI0LCA5NSwgMSwgMjIzLCAxMDYsIDIxNiwgMjIsIDU2LCAxLCAyNTQsIDIzLCA3NSwgMTQxLCAxLCAyNTQsIAotICAgIDIzLCAyMTEsIDQ3LCA0OSwgMjgsIDE2LCAyMjQsIDE1NCwgNDksIDI4LCAxNiwgMjQ4LCAxNTgsIDQ5LCAyOCwgMTYsIDIyNSwgCi0gICAgMTc1LCA0OSwgMjgsIDE2LCAyMjYsIDExMywgMjQ1LCAxNzgsIDQ5LCAyOCwgMTYsIDIyNiwgMTEzLCAyNDcsIDIwMSwgNDksIAotICAgIDI4LCAxNiwgMjE0LCAxNiwgMjQ1LCAxNzgsIDQ5LCAyOCwgMTYsIDIxNCwgMTYsIDI0NywgMjAxLCA0OSwgMjgsIDE2LCAKLSAgICAyMzQsIDE5NywgNDksIDI4LCAxNiwgMjE3LCAxNjksIDQ5LCAyOCwgMTYsIDIyNiwgOSwgNDksIDI4LCAxNiwgMjEwLCAyMTcsIAotICAgIDQ5LCAyOCwgMTYsIDIxMCwgMjE4LCAyNDcsIDIwMSwgNDksIDI4LCAxNiwgMjMzLCAyMzQsIDQ5LCAyOCwgMTYsIDI1NCwgCi0gICAgNjgsIDI0NSwgMTc4LCA0OSwgMjgsIDE2LCAyNDUsIDI2LCAyNDUsIDE3OCwgNDksIDI4LCAxNiwgMjE3LCAyLCA0OSwgMjgsIAotICAgIDE2LCAyMzQsIDE2MSwgNDksIDI4LCAxNiwgMjU0LCA1OCwgNDksIDI4LCAxNiwgMjU0LCA1OSwgMjQ3LCAyMDEsIDQ5LCAyOCwgCi0gICAgMTYsIDIxNywgMTc1LCA0OSwgMjgsIDE2LCAyMTYsIDE1OSwgNDksIDI4LCAxNiwgMjI2LCAyMDYsIDI1NCwgMjEsIDQ5LCAKLSAgICAyOCwgMTYsIDI0MiwgMTU5LCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMjQsIDE1MywgNDksIDI4LCAxNiwgMjUwLCAxNDksIAotICAgIDQ5LCAyOCwgMTYsIDIxNCwgNiwgNDksIDI4LCAxNiwgMjM1LCAxNjQsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDIzNCwgMTYzLCAKLSAgICAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMzQsIDE2MiwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjIxLCAyMTMsIDQ5LCAyOCwgMTYsIAotICAgIDIyNiwgMCwgNDksIDI4LCAxNiwgMjE4LCAxNDYsIDI1NCwgNjEsIDQ5LCAyOCwgMTYsIDIyNiwgMTEyLCAyNTQsIDIxLCA0OSwgCi0gICAgMjgsIDE2LCAyMTQsIDE1LCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyNTQsIDYyLCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyNTQsIAotICAgIDU2LCA0OSwgMjgsIDE2LCAyMzQsIDM3LCA0OSwgMjgsIDE2LCAyMjMsIDQ2LCA0OSwgMjgsIDE2LCAyMjUsIDEwNiwgMjU0LCAKLSAgICAyMSwgNDksIDI4LCAxNiwgMjE2LCA4MywgNDksIDI4LCAxNiwgMjU0LCAxMjEsIDQ5LCAyOCwgMTYsIDIyMSwgMTU5LCA0OSwgCi0gICAgMjgsIDE2LCAyMTcsIDE3OCwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjE3LCAxNzgsIDIzMSwgNDAsIDIxOCwgMTQ0LCA0OSwgCi0gICAgMjgsIDE2LCAyMjYsIDEwNywgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjE2LCAxOTAsIDQ5LCAyOCwgMTYsIDIzMywgMjcsIDQ5LCAKLSAgICAyOCwgMTYsIDI0NiwgNDEsIDQ5LCAyOCwgMTYsIDIxNSwgMjI3LCA0OSwgMjgsIDE2LCAyMTYsIDIzMiwgNDksIDI4LCAxNiwgCi0gICAgMjMzLCAyMzcsIDQ5LCAyOCwgMTYsIDI1NCwgNjgsIDI0NSwgMjYsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAKLSAgICAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMzYsIDEyLCA0OSwgMjgsIDE2LCAyMTUsIDE5OSwgMjU0LCAyMSwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCAyMDAsIDIxNSwgMTk4LCA0OSwgMjgsIDE2LCAyMjUsIDIwMCwgNDksIDI4LCAxNiwgMjI0LCAxNTgsIDQ5LCAyOCwgCi0gICAgMTYsIDIzNCwgMTEsIDQ5LCAyOCwgMTYsIDI1MCwgODAsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDIyMywgMTQ2LCA0OSwgMjgsIAotICAgIDE2LCAyMjYsIDEyLCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMjYsIDEwLCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyNDAsIDEwOSwgCi0gICAgNDksIDI4LCAxNiwgMjI5LCAyMDMsIDQ5LCAyOCwgMTYsIDIyNSwgMTU2LCA0OSwgMjgsIDE2LCAyMzQsIDEyLCAyNTQsIAotICAgIDE0OSwgNDksIDI4LCAxNiwgMjE1LCAxOTksIDI1NCwgMTQ5LCA0OSwgMjgsIDE2LCAyMTgsIDEyMywgNDksIDI4LCAxNiwgCi0gICAgMjQyLCAxMjMsIDQ5LCAyOCwgMTYsIDIzNSwgMTY0LCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMjYsIDIwNiwgMjI5LCA5NSwgCi0gICAgNDksIDI4LCAxNiwgMjI2LCAxMTMsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIyNSwgMTU1LCA0OSwgMjgsIDE2LCAyMzMsIAotICAgIDI1NCwgNDksIDI4LCAxNiwgMjI1LCAxNTQsIDQ5LCAyOCwgMTYsIDIzMywgMjM2LCA0OSwgMjgsIDE2LCAyMjUsIDIwMSwgCi0gICAgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjM0LCAxNjIsIDIyOSwgOTYsIDI1NCwgOTYsIDQ5LCAyOCwgMTYsIDIzNCwgMTYzLCAKLSAgICAyMjksIDk2LCAyNTQsIDk2LCA0OSwgMjgsIDE2LCAyMTAsIDIxNSwgNDksIDI4LCAxNiwgMjU0LCA1OSwgMjI5LCA5NSwgNDksIAotICAgIDI4LCAxNiwgMjU0LCA2MCwgMjE3LCAxNzYsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIxMCwgMjE2LCA0OSwgMjgsIDE2LCAKLSAgICAyMzMsIDIzNSwgNDksIDI4LCAxNiwgMjQ1LCAxNzMsIDQ5LCAyOCwgMTYsIDI1MCwgMTUwLCA0OSwgMjgsIDE2LCAyMzAsIAotICAgIDE5OCwgMjM1LCAxNjMsIDQ5LCAyOCwgMTYsIDIxNCwgMTYsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIyNSwgMTA2LCAyMjksIAotICAgIDk1LCA0OSwgMjgsIDE2LCAyMjQsIDE1OSwgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjI2LCAyMDMsIDQ5LCAyOCwgMTYsIDI1NCwgCi0gICAgODQsIDQ5LCAyOCwgMTYsIDIzMiwgNTgsIDQ5LCAyOCwgMTYsIDIyNiwgMTAsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIyNiwgCi0gICAgMTIsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDI0NSwgNjAsIDIyNiwgMTEsIDQ5LCAyOCwgMTYsIDIzMywgMTUzLCA0OSwgMjgsIAotICAgIDE2LCAyNTQsIDg1LCA0OSwgMjgsIDE2LCAyMTUsIDE5OSwgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjQ1LCAxNzYsIDQ5LCAyOCwgCi0gICAgMTYsIDIxNywgMTc4LCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMTcsIDE3MCwgNDksIDI4LCAxNiwgMjUwLCA4MCwgMjI5LCAKLSAgICA5NSwgNDksIDI4LCAxNiwgMjQ1LCAxMDYsIDQ5LCAyOCwgMTYsIDIyMSwgMTYwLCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMTEsIAotICAgIDE1MSwgMjM0LCAzNywgNDksIDI4LCAxNiwgMjE1LCAxOTYsIDQ5LCAyOCwgMTYsIDIyNCwgMTYwLCA0OSwgMjgsIDE2LCAKLSAgICAyMTUsIDIwMCwgNDksIDI4LCAxNiwgMjE1LCAxOTcsIDQ5LCAyOCwgMTYsIDIyNCwgMTU3LCA0OSwgMjgsIDE2LCAyMTUsIAotICAgIDE5NSwgNDksIDI4LCAxNiwgMjI0LCAxNTYsIDQ5LCAyOCwgMTYsIDI0MiwgMTU4LCA0OSwgMjgsIDE2LCAyNTQsIDE0LCA0OSwgCi0gICAgMjgsIDE2LCAyNDUsIDYwLCAyNTQsIDE0LCA0OSwgMjgsIDE2LCAyMjYsIDEwNywgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjE2LCAKLSAgICAxODksIDI0NSwgNjksIDQ5LCAyOCwgMTYsIDIxNiwgMTg5LCAyNDUsIDI1LCA0OSwgMjgsIDE2LCAyMTYsIDE5MSwgMjU0LCAKLSAgICA2MywgNDksIDI4LCAxNiwgMjE2LCAxODQsIDIzNCwgMjQ3LCAyNTQsIDU1LCA0OSwgMjgsIDE2LCAyMzQsIDE5OSwgNDksIAotICAgIDI4LCAxNiwgMjQ1LCAxMzksIDQ5LCAyOCwgMTYsIDIxMSwgMTEsIDIzNCwgMTk2LCA0OSwgMjgsIDE2LCAyMTEsIDExLCAKLSAgICAyNTQsIDk2LCA0OSwgMjgsIDE2LCAyMTgsIDE0NSwgNDksIDI4LCAxNiwgMjM0LCAzOCwgMjU0LCA5NiwgNDksIDI4LCAxNiwgCi0gICAgMjQ3LCAyMDIsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDIzMywgMjM4LCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMzMsIDIzOCwgCi0gICAgMjU0LCAxNDksIDQ5LCAyOCwgMTYsIDIzMywgMjM4LCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyNTQsIDYyLCAyMjksIDk1LCAKLSAgICA0OSwgMjgsIDE2LCAyNTQsIDY0LCA0OSwgMjgsIDE2LCAyNDcsIDIwMSwgNDksIDI4LCAxNiwgMjE1LCAyMTAsIDQ5LCAyOCwgCi0gICAgMTYsIDIxNiwgMjI0LCA0OSwgMjgsIDE2LCAyMzQsIDIsIDQ5LCAyOCwgMTYsIDIzMywgMzIsIDI0NSwgMTM0LCAyNTAsIDcxLCAKLSAgICA0OSwgMjgsIDE2LCAyMzMsIDMyLCAyNDYsIDQyLCAyNTAsIDcyLCA0OSwgMjgsIDE2LCAyMzMsIDMyLCAyMTUsIDIxMiwgCi0gICAgMjUwLCA3MiwgNDksIDI4LCAxNiwgMjMzLCAzMiwgMjE2LCAyMzQsIDI1MCwgNzIsIDQ5LCAyOCwgMTYsIDIzMywgMzIsIAotICAgIDIzNiwgNywgMjUwLCA3MSwgNDksIDI4LCAxNiwgMjQyLCAxNTksIDIyOSwgOTYsIDI1NCwgOTYsIDQ5LCAyOCwgMTYsIDI0MiwgCi0gICAgMTU5LCAyMjYsIDEsIDI1NCwgMTAsIDQ5LCAyOCwgMTYsIDI0MiwgMTU5LCAyMjYsIDEsIDI0OCwgMjksIDQ5LCAyOCwgMTYsIAotICAgIDI0NywgMjI1LCA0OSwgMjgsIDE2LCAyNDcsIDIyNiwgMjI2LCAxLCAyNTQsIDExLCAyMzQsIDE5NiwgNDksIDI4LCAxNiwgCi0gICAgMjQ3LCAyMjYsIDIyNiwgMSwgMjU0LCAxMSwgMjU0LCA5NiwgNDksIDI4LCAxNiwgMjQ3LCAyMjYsIDIyNiwgMSwgMjQ4LCAKLSAgICAyOSwgNDksIDI4LCAxNiwgMjE1LCAyMTYsIDQ5LCAyOCwgMTYsIDI1NCwgMTUsIDQ5LCAyOCwgMTYsIDIzNiwgMTQsIDQ5LCAKLSAgICAyOCwgMTYsIDI0NywgMjQ2LCA0OSwgMjgsIDE2LCAyNTQsIDIxMSwgMjI1LCAwLCAyNTQsIDE2LCA0OSwgMjgsIDE2LCAyNTQsIAotICAgIDIxMSwgMjU0LCAxMywgNDksIDI4LCAxNiwgMjU0LCAyMTEsIDI1NCwgMTYsIDQ5LCAyOCwgMTYsIDI1NCwgMjExLCAyMzEsIAotICAgIDM0LCA0OSwgMjgsIDE2LCAyNTQsIDIxMSwgMjMxLCA0NSwgNDksIDI4LCAxNiwgMjU0LCAyMTEsIDI0MiwgMTYwLCA0OSwgCi0gICAgMjgsIDE2LCAyNTQsIDIxMSwgMjQyLCAxNTcsIDQ5LCAyOCwgMTYsIDI1NCwgMjExLCAyMjUsIDAsIDI0MiwgMTYwLCA0OSwgCi0gICAgMjgsIDE2LCAyMzEsIDE1MSwgMjI0LCAxNjUsIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAyMzEsIDE1MSwgMjU0LCAxNTEsIAotICAgIDIyNCwgMTY1LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjMxLCAxNTEsIDI0OCwgMjgsIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAKLSAgICAyMzEsIDE1MSwgMjU0LCAxNTEsIDI0OCwgMjgsIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAyMzEsIDE1MSwgMjE1LCAyMDUsIAotICAgIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAyMzEsIDE1MSwgMjE1LCAyMTcsIDQ5LCAyOCwgMTYsIDIzMSwgMTUxLCAyMTYsIDIyOCwgCi0gICAgMjQwLCAxMDcsIDQ5LCAyOCwgMTYsIDIzMSwgMTUxLCAyMTYsIDIyOCwgMjMzLCAzNSwgMjQwLCAxMDcsIDQ5LCAyOCwgMTYsIAotICAgIDIzMSwgMTUxLCAyMzMsIDM1LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjMxLCAxNTEsIDIyNSwgMzksIDI0MCwgMTA3LCA0OSwgCi0gICAgMjgsIDE2LCAyMzUsIDE2OSwgMjE2LCAyNTEsIDI0MCwgMTA4LCA0OSwgMjgsIDE2LCAyNTQsIDYwLCAyMTYsIDI1MSwgMjQwLCAKLSAgICAxMDgsIDQ5LCAyOCwgMTYsIDI0NCwgMTcyLCAyMTYsIDIyNSwgNDksIDI4LCAxNiwgMjQ0LCAxNzIsIDIzMCwgMTQzLCA0OSwgCi0gICAgMjgsIDE2LCAyNDQsIDE3MiwgMjQ3LCAyMzAsIDQ5LCAyOCwgMTYsIDIzMSwgMTUxLCAyMTQsIDEwLCAyNDAsIDEwNywgNDksIAotICAgIDI4LCAxNiwgMjMxLCAxNTEsIDIyNCwgMTY0LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjMxLCAxNTEsIDIyNSwgMzksIDIxNiwgCi0gICAgMjI4LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjQyLCAxNTUsIDIzMCwgMjYsIDI1NCwgNjMsIDQ5LCAyOCwgMTYsIDI0MiwgCi0gICAgMTU1LCAyMzAsIDI2LCAyNDcsIDIwMCwgNDksIDI4LCAxNiwgMjQ1LCAxNDgsIDIzNCwgMjQ3LCAyNDMsIDIzNiwgMjEzLCAKLSAgICAxMjQsIDQ5LCAyOCwgMTYsIDIzNiwgMTMsIDQ5LCAyOCwgMTYsIDIzNiwgMTEsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNTQsIAotICAgIDIyLCAyNDgsIDI3LCAyNDAsIDEwNiwgNDksIDI4LCAxNiwgMjQzLCAyMzYsIDI0NywgMjQ0LCAxOTAsIDQ5LCAyOCwgMTYsIAotICAgIDI0MywgMjM2LCAyNDcsIDI0NCwgMjI5LCAyMDMsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyMjksIDE5OCwgMjQwLCAxMDcsIAotICAgIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDcsIDI0NCwgMjQ4LCAzLCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjE5LCAxMDIsIAotICAgIDI0NywgMjQzLCAyNDgsIDMsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDcsIDI0NCwgMjM0LCAxODIsIDQ5LCAyOCwgMTYsIAotICAgIDI0MywgMjM2LCAyNDcsIDI0NCwgMjEwLCAyMywgNDksIDI4LCAxNiwgMjQzLCAyMzYsIDI0NywgMjQ0LCAyMjgsIDIzNCwgCi0gICAgMjM0LCAxOTYsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDcsIDI0NCwgMjI4LCAyMzQsIDI1NCwgOTYsIDQ5LCAyOCwgMTYsIAotICAgIDI0MywgMjM2LCAyMzEsIDE5MSwgMjUwLCA3MywgMjQ3LCAyMzAsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyMzEsIDE5MSwgCi0gICAgMjUwLCA3MywgMjMwLCAxNDMsIDQ5LCAyOCwgMTYsIDI0NCwgMTIyLCAyMTksIDEwMiwgMjUwLCA3MywgMjE0LCA5LCA0OSwgCi0gICAgMjgsIDE2LCAyNDMsIDIzNiwgMjE5LCAxMDIsIDI1MCwgNzMsIDIxNywgMTc5LCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjI5LCAKLSAgICA5NywgNDksIDI4LCAxNiwgMjUwLCA3NCwgMjA5LCAyNDksIDQ5LCAyOCwgMTYsIDI1MCwgNzQsIDIzNCwgMzYsIDQ5LCAyOCwgCi0gICAgMTYsIDI1MCwgNzQsIDIxOSwgOSwgNDksIDI4LCAxNiwgMjQzLCAyMzYsIDI0MCwgMTU0LCAyMTEsIDEwLCAyMTYsIDIyOSwgCi0gICAgNDksIDI4LCAxNiwgMjQzLCAyMzYsIDI0NSwgMTQ5LCAyNTQsIDg2LCA0OSwgMjgsIDE2LCAyMTEsIDEwLCAyMTUsIDIwNiwgCi0gICAgNDksIDI4LCAxNiwgMjQ3LCAyMzgsIDIxNSwgMjA2LCA0OSwgMjgsIDE2LCAyNDcsIDIzOCwgMjE2LCAyMjksIDQ5LCAyOCwgCi0gICAgMTYsIDI0NywgMjM4LCAyNTQsIDY1LCAyNDYsIDQyLCAyNDcsIDEzOSwgNDksIDI4LCAxNiwgMjQ3LCAyMzgsIDIzMCwgMTQxLCAKLSAgICAyMTYsIDIzMywgMjQ3LCAxMzksIDQ5LCAyOCwgMTYsIDI0NywgMjM4LCAyNDcsIDIyMiwgMjQ1LCAzNiwgMjQ3LCAxMzksIAotICAgIDQ5LCAyOCwgMTYsIDI0NywgMjM4LCAyMTUsIDIxNCwgMjI2LCAyMTEsIDI0NywgMTM5LCA0OSwgMjgsIDE2LCAyMTEsIDEwLCAKLSAgICAyNTQsIDY1LCAyNDYsIDQyLCAyNDcsIDEzOSwgNDksIDI4LCAxNiwgMjExLCAxMCwgMjMwLCAxNDEsIDIxNiwgMjMzLCAyNDcsIAotICAgIDEzOSwgNDksIDI4LCAxNiwgMjExLCAxMCwgMjQ3LCAyMjIsIDI0NSwgMzYsIDI0NywgMTM5LCA0OSwgMjgsIDE2LCAyMTEsIAotICAgIDEwLCAyMTUsIDIxNCwgMjI2LCAyMTEsIDI0NywgMTM5LCA0OSwgMjgsIDE2LCAyNDMsIDQ5LCAyNDcsIDIzNywgNDksIDI4LCAKLSAgICAxNiwgMjQzLCA0OSwgMjExLCA5LCA0OSwgMjgsIDE2LCAyNDcsIDI0NSwgMjU0LCA2NSwgMjMwLCAxOTksIDQ5LCAyOCwgMTYsIAotICAgIDI0NywgMjQ1LCAyNTQsIDY1LCAyMzEsIDczLCA0OSwgMjgsIDE2LCAyNDcsIDI0NSwgMjQ3LCAyMDEsIDQ5LCAyOCwgMTYsIAotICAgIDI0NywgMjQ1LCAyMTYsIDE4MiwgNDksIDI4LCAxNiwgMjE5LCAxNjMsIDIxNiwgMTgyLCA0OSwgMjgsIDE2LCAyMTksIDE2MywgCi0gICAgMjE2LCAxODMsIDI0NywgMTg2LCA0OSwgMjgsIDE2LCAyMTksIDE2MywgMjE2LCAxODMsIDIxNSwgMjA3LCA0OSwgMjgsIDE2LCAKLSAgICAyMTksIDE2MywgMjE2LCAxODMsIDIxNiwgMjIyLCA0OSwgMjgsIDE2LCAyMTksIDE2MywgMjUzLCAyNDQsIDQ5LCAyOCwgMTYsIAotICAgIDIxOSwgMTYzLCAyNTMsIDI0NSwgMjQ3LCAxODYsIDQ5LCAyOCwgMTYsIDIxOSwgMTYzLCAyNTMsIDI0NSwgMjE1LCAyMDcsIAotICAgIDQ5LCAyOCwgMTYsIDIxOSwgMTYzLCAyNTMsIDI0NSwgMjE2LCAyMjIsIDQ5LCAyOCwgMTYsIDI0NywgMjIzLCAyNDMsIDMwLCAKLSAgICA0OSwgMjgsIDE2LCAyNDcsIDIyOSwgMjI2LCAxMzQsIDQ5LCAyOCwgMTYsIDIxOCwgMTM3LCA0OSwgMjgsIDE2LCAyNTQsIDcsIAotICAgIDE5MCwgNDksIDI4LCAxNiwgMjU0LCA3LCAyMTMsIDEyNCwgNDksIDI4LCAxNiwgMjU0LCA3LCAyNDMsIDEzNSwgNDksIDI4LCAKLSAgICAxNiwgMjU0LCA3LCAyNDgsIDMsIDQ5LCAyOCwgMTYsIDI1NCwgNywgMjM0LCAxODIsIDQ5LCAyOCwgMTYsIDI1NCwgNywgCi0gICAgMjEwLCAyMywgNDksIDI4LCAxNiwgMjU0LCA3LCAyMjgsIDIzMywgNDksIDI4LCAxNiwgMjM0LCAxNjIsIDIyOSwgOTYsIAotICAgIDIzMSwgNDQsIDQ5LCAyOCwgMTYsIDIzNCwgMTYzLCAyMjksIDk2LCAyMzEsIDQ0LCA0OSwgMjgsIDE2LCAyMzQsIDE2MiwgCi0gICAgMjI5LCA5NiwgMjM0LCAxOTYsIDQ5LCAyOCwgMTYsIDIzNCwgMTYzLCAyMjksIDk2LCAyMzQsIDE5NiwgNDksIDI4LCAxNiwgCi0gICAgMjM0LCAzOCwgMjM0LCAxOTYsIDQ5LCAyOCwgMTYsIDI0MiwgMTU5LCAyMjksIDk2LCAyMzQsIDE5NiwgMjgsIDE2LCAyMTksIAotICAgIDE1NSwgMjUyLCAxMzUsIDI4LCAxNiwgNTIsIDI1MiwgMTM1LCAyOCwgMTYsIDQwLCAyNTIsIDEzNSwgMjgsIDE2LCAyMjMsIAotICAgIDUwLCA0MCwgMjUyLCAxMzUsIDI4LCAxNiwgMjQ4LCAxNTUsIDI1MiwgMTM1LCAyOCwgMTYsIDIxOSwgMjUxLCAyNTIsIDEzNSwgCi0gICAgMjgsIDE2LCA0MywgMjIzLCA3NywgNTAsIDI4LCAxNiwgNDQsIDIyMywgNzcsIDUwLCAyOCwgMTYsIDIyMywgNzcsIDI0NywgCi0gICAgMTE4LCAyOCwgMTYsIDI0OCwgMTk2LCAyMjEsIDE2MywgMjgsIDE2LCAyNDgsIDIyMiwgMjUwLCAyNDksIDI4LCAxNiwgMjIxLCAKLSAgICAxNjMsIDI4LCAxNiwgMjQ5LCAyMzQsIDI4LCAxNiwgMjIzLCA3NSwgMjQ0LCAxMTEsIDI4LCAxNiwgMjIzLCA3NSwgMjQ0LCAKLSAgICAxMTAsIDI4LCAxNiwgMjIzLCA3NSwgMjQ0LCAxMDksIDI4LCAxNiwgMjQ0LCAxMzEsIDI4LCAxNiwgMjQ0LCAxMzIsIDUxLCAKLSAgICAyOCwgMTYsIDI1MSwgMTQ4LCA3OCwgMjgsIDE2LCAyNTEsIDI0LCAyOCwgMTYsIDI1MSwgMTU5LCAyOCwgMTYsIDEyNywgMjgsIAotICAgIDE2LCAyMjYsIDE5MywgMjE4LCAxNjMsIDI4LCAxNiwgMjE1LCA1NywgMjE4LCAxNjMsIDI4LCAxNiwgMjE2LCAxNDIsIDIxOCwgCi0gICAgMTYzLCAyOCwgMTYsIDI0NCwgMTAsIDIxOCwgMTYzLCAyOCwgMTYsIDI0NCwgODAsIDIxOCwgMTYzLCAyOCwgMTYsIDIxOSwgCi0gICAgMTI0LCAyMTgsIDE2MywgMjgsIDE2LCAyMTksIDEyMiwgMjQzLCAyNTAsIDI4LCAxNiwgMjQ0LCA4LCAyNDMsIDI1MCwgMjgsIAotICAgIDE2LCAyNDMsIDIwMywgMjUwLCAxNCwgMjgsIDE2LCAyNDMsIDIwMywgMjUwLCAxNSwgMjI2LCAxMzYsIDI1NCwgMTQyLCAyOCwgCi0gICAgMTYsIDI0MywgMjAzLCAyNTAsIDE1LCAyMjYsIDEzNiwgMjUyLCAxMjIsIDI4LCAxNiwgMjUxLCA2NywgMjUwLCAxNCwgMjgsIAotICAgIDE2LCAyNDUsIDcsIDI1MCwgMTQsIDI4LCAxNiwgMjQ1LCA3LCAyNTAsIDE1LCAyMjYsIDEzNiwgMjU0LCAxNDIsIDI4LCAxNiwgCi0gICAgMjQ1LCA3LCAyNTAsIDE1LCAyMjYsIDEzNiwgMjUyLCAxMjIsIDI4LCAxNiwgMjQ2LCA4MywgMjUwLCAxMywgMjgsIDE2LCAKLSAgICAyNDYsIDgzLCAyNTAsIDEyLCAyOCwgMTYsIDIzMCwgODUsIDIzMSwgOTAsIDIyMywgNjEsIDI4LCAxNiwgNTIsIDIyMCwgNzUsIAotICAgIDI4LCAxNiwgNTIsIDI0NCwgNjUsIDI4LCAxNiwgMjQ0LCA2NiwgMjE0LCAxNjMsIDI4LCAxNiwgMjQ0LCA2NiwgMjQ2LCAKLSAgICAxMDYsIDI4LCAxNiwgMjI5LCAxODgsIDIxNCwgMTYzLCAyOCwgMTYsIDIyOSwgMTg4LCAyNDYsIDEwNiwgMjgsIDE2LCAyMjAsIAotICAgIDc2LCAyMTQsIDE2MywgMjgsIDE2LCAyMjAsIDc2LCAyNDYsIDEwNiwgMjgsIDE2LCAyMjQsIDIyLCAxMzgsIDIyMCwgNzUsIAotICAgIDI4LCAxNiwgMjI0LCAyMiwgMTM4LCAyNDQsIDY1LCAyOCwgMTYsIDI0OSwgMjE2LCAyMTYsIDg3LCAyOCwgMTYsIDI0OSwgCi0gICAgODUsIDIxNiwgODcsIDI4LCAxNiwgMjI2LCAxMzYsIDI1NCwgMTQyLCAyOCwgMTYsIDIyNiwgMTM2LCAyNTIsIDEyMiwgMjgsIAotICAgIDE2LCAyMjQsIDQsIDI1NCwgMTQyLCAyOCwgMTYsIDIyNCwgNCwgMjUyLCAxMjIsIDI4LCAxNiwgMjMwLCA4OCwgMjIzLCA2MSwgCi0gICAgMjgsIDE2LCAyMTEsIDI1MSwgMjIzLCA2MSwgMjgsIDE2LCAxNjMsIDIyMywgNjEsIDI4LCAxNiwgMjI0LCAyMiwgMjIzLCAKLSAgICA2MSwgMjgsIDE2LCAyNDUsIDE4OSwgMjIzLCA2MSwgMjgsIDE2LCAyMTksIDExOCwgMjIzLCA2MSwgMjgsIDE2LCAyMTYsIAotICAgIDE2MCwgMjIzLCA2MSwgMjgsIDE2LCAyMTksIDExMCwgMjIzLCA2MSwgMjgsIDE2LCAxMjMsIDI0MCwgMjExLCAyMTUsIDcxLCAKLSAgICAyMjMsIDYxLCAyOCwgMTYsIDIxMSwgMTc5LCAyMjgsIDQzLCAyOCwgMTYsIDk2LCAyMjgsIDQzLCAyOCwgMTYsIDI1MCwgMzYsIAotICAgIDIxMSwgMTc5LCAyMjgsIDQzLCAyOCwgMTYsIDQyLCAyMjgsIDQ0LCAyMTEsIDI1MywgMjgsIDE2LCA0MiwgMjI4LCA0NCwgCi0gICAgMjUxLCAyMjEsIDI4LCAxNiwgMjE1LCAyMjYsIDIyOCwgNDQsIDEyMCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjYsIAotICAgIDIyOCwgNDQsIDEyMCwgMjUxLCAyMjEsIDI4LCAxNiwgMjE1LCAyMjYsIDIyOCwgNDQsIDQzLCAyMTEsIDI1MywgMjgsIDE2LCAKLSAgICAyMTUsIDIyNiwgMjI4LCA0NCwgNDMsIDI1MSwgMjIxLCAyOCwgMTYsIDIxNSwgMjI2LCAyMjgsIDQ0LCA0NCwgMjExLCAyNTMsIAotICAgIDI4LCAxNiwgMjE1LCAyMjYsIDIyOCwgNDQsIDQ0LCAyNTEsIDIyMSwgMjgsIDE2LCAyMTUsIDIyNiwgMjI4LCA0NCwgMTI0LCAKLSAgICAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNiwgMjI4LCA0NCwgMTI0LCAyNTEsIDIyMSwgMjgsIDE2LCAyMTUsIDIyNiwgCi0gICAgMjI4LCA0NCwgMTIwLCA0NCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjYsIDIyOCwgNDQsIDEyMCwgNDQsIDI1MSwgMjIxLCAKLSAgICAyOCwgMTYsIDIzMCwgMTI5LCAyMjgsIDQ0LCAyMTEsIDI1MywgMjgsIDE2LCAyMzAsIDEyOSwgMjI4LCA0NCwgMjUxLCAyMjEsIAotICAgIDI4LCAxNiwgMjE1LCAyMjMsIDIyOCwgNDQsIDEyNCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjMsIDIyOCwgNDQsIDEyNCwgCi0gICAgMjUxLCAyMjEsIDI4LCAxNiwgMjI2LCA0LCAyMjgsIDQzLCAyOCwgMTYsIDIxMywgMTMyLCAyMjgsIDQzLCAyOCwgMTYsIAotICAgIDIyOCwgNDQsIDI1MSwgMjIxLCAyOCwgMTYsIDIyNywgMjAzLCAyMjgsIDQzLCAyOCwgMTYsIDI0OSwgMjQxLCAyMjgsIDQ0LCAKLSAgICAyMTEsIDI1MywgMjgsIDE2LCAyNDksIDI0MSwgMjI4LCA0NCwgMjUxLCAyMjEsIDI4LCAxNiwgMjUxLCAxNDYsIDI4LCAxNiwgCi0gICAgMjExLCAyNTEsIDIyOCwgNDcsIDI4LCAxNiwgMTYzLCAyMjgsIDQ3LCAyOCwgMTYsIDIyNCwgMjIsIDIyOCwgNDcsIDI4LCAKLSAgICAxNiwgMjQ1LCAxODksIDIyOCwgNDcsIDI4LCAxNiwgMjE5LCAxMTgsIDIyOCwgNDcsIDI4LCAxNiwgMjE2LCAxNjAsIDIyOCwgCi0gICAgNDcsIDI4LCAxNiwgMjE5LCAxMTAsIDIyOCwgNDcsIDI4LCAxNiwgMTIzLCAyNDAsIDIxMSwgMjE1LCA3MSwgMjI4LCA0NywgCi0gICAgMjgsIDE2LCAzOCwgMjE4LCAxMzksIDI4LCAxNiwgMzgsIDIxOCwgMjQwLCAyMTgsIDEzOSwgMjgsIDE2LCAzOCwgMjE1LCAKLSAgICAyMzQsIDI4LCAxNiwgMzgsIDIxNSwgMjMzLCAyOCwgMTYsIDM4LCAyMTUsIDIzMiwgMjgsIDE2LCAyNDQsIDEwMSwgMjE1LCAKLSAgICAyMzQsIDI4LCAxNiwgMjQ0LCAxMDEsIDIxNSwgMjMzLCAyOCwgMTYsIDI0NCwgMTAxLCAyMTUsIDIzMiwgMjgsIDE2LCAzOCwgCi0gICAgMjUzLCAxODksIDI0NywgMTIwLCAyOCwgMTYsIDM4LCAyNDQsIDcyLCAyOCwgMTYsIDM4LCAyNDQsIDcxLCAyOCwgMTYsIDM4LCAKLSAgICAyNDQsIDcwLCAyOCwgMTYsIDM4LCAyNDQsIDY5LCAyOCwgMTYsIDM4LCAyNDQsIDY4LCAyOCwgMTYsIDI1MiwgNTgsIDI1MiwgCi0gICAgNzQsIDI4LCAxNiwgMjQ1LCAxNDMsIDI1MiwgNzQsIDI4LCAxNiwgMjUyLCA1OCwgMjE2LCAxMTEsIDI4LCAxNiwgMjQ1LCAKLSAgICAxNDMsIDIxNiwgMTExLCAyOCwgMTYsIDI1MiwgNTgsIDIxOSwgODAsIDI4LCAxNiwgMjQ1LCAxNDMsIDIxOSwgODAsIDI4LCAKLSAgICAxNiwgMjUyLCA1OCwgMjI1LCAxMTUsIDI4LCAxNiwgMjQ1LCAxNDMsIDIyNSwgMTE1LCAyOCwgMTYsIDM4LCAyNTUsIDE0LCAKLSAgICAyOCwgMTYsIDM4LCAyMTgsIDE2NSwgMjgsIDE2LCAzOCwgMjE2LCAyMzgsIDI4LCAxNiwgMzgsIDIxOCwgMTY2LCAyOCwgMTYsIAotICAgIDM4LCAyMzEsIDE2MiwgMjgsIDE2LCAzOCwgMjMxLCAxNjEsIDI4LCAxNiwgMzgsIDI1NSwgMTMsIDI4LCAxNiwgMzgsIDIzMiwgCi0gICAgMTEyLCAyOCwgMTYsIDI1MywgMjU0LCAyMTQsIDE2MywgMjgsIDE2LCAyNTMsIDI1NCwgMjQ2LCAxMDYsIDI4LCAxNiwgMzgsIAotICAgIDI0NywgMTM1LCAyOCwgMTYsIDM4LCAyMjIsIDIzMSwgMjgsIDE2LCAzOCwgMjQ0LCA1OCwgMjgsIDE2LCAzOCwgMjE5LCA3NiwgCi0gICAgMjgsIDE2LCAzOCwgMjUyLCAzOCwgMjgsIDE2LCAzOCwgNTIsIDIxNiwgMTksIDI4LCAxNiwgMzgsIDIxNSwgMjExLCAyMTYsIAotICAgIDE5LCAyOCwgMTYsIDIyMiwgMjM1LCAyOCwgMTYsIDIxOCwgNzUsIDI4LCAxNiwgMjEwLCAxNTksIDI4LCAxNiwgMjI1LCAKLSAgICAxMDcsIDI4LCAxNiwgMjMxLCAyNSwgMjgsIDE2LCAyNDQsIDE3LCAyOCwgMTYsIDI0OSwgMTM4LCAyOCwgMTYsIDI0OCwgNzgsIAotICAgIDI4LCAxNiwgMjQyLCAxNTAsIDIyOCwgNDgsIDIxOSwgOTUsIDI4LCAxNiwgMjQyLCAxNTAsIDIyOCwgNDgsIDIyOCwgNzUsIAotICAgIDIxOSwgOTUsIDI4LCAxNiwgMjE2LCAwLCAyOCwgMTYsIDIxNSwgOTUsIDI4LCAxNiwgMjM1LCAxOTMsIDIxNSwgOTUsIDI4LCAKLSAgICAxNiwgMjE1LCA5NiwgMjE5LCA5NSwgMjgsIDE2LCAyMTUsIDk2LCAyMTQsIDE2MywgMjgsIDE2LCAyMjYsIDE0OCwgMjE4LCAKLSAgICAxMDIsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgOTksIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgOTgsIDI4LCAxNiwgMjI2LCAKLSAgICAxNDgsIDIxOCwgOTcsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgOTYsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgOTUsIDI4LCAKLSAgICAxNiwgMjI2LCAxNDgsIDIxOCwgOTQsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgOTMsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgCi0gICAgOTIsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgMTAxLCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDEwMCwgMjgsIDE2LCAyNDEsIAotICAgIDI0NSwgMjgsIDE2LCAyMjksIDEwNSwgMjgsIDE2LCAyNDUsIDE0MywgNjQsIDIxOCwgMTMzLCAyOCwgMTYsIDI0OCwgNzEsIAotICAgIDIxOSwgOTUsIDI4LCAxNiwgMzgsIDEyNCwgMjUxLCAxNjksIDI4LCAxNiwgMzgsIDEyMCwgMjUxLCAxNjksIDI4LCAxNiwgCi0gICAgMzgsIDI0MiwgMCwgMjgsIDE2LCAzOCwgMjE5LCA2NywgMjI1LCA0MywgMjgsIDE2LCAyMjUsIDIxNiwgNzgsIDI4LCAxNiwgCi0gICAgMjI1LCAyMTYsIDEyMCwgNzgsIDI4LCAxNiwgMTYzLCAyMjUsIDIxNiwgNzgsIDI4LCAxNiwgMjQyLCAxODIsIDIxNCwgMTYzLCAKLSAgICAyOCwgMTYsIDI0MiwgMTgyLCAyNDYsIDEwNiwgMjgsIDE2LCAyLCAyNDQsIDEwMCwgMjgsIDE2LCAyNDgsIDE4MCwgMjgsIAotICAgIDE2LCAyNDgsIDE4MSwgMjU0LCAxNTQsIDI4LCAxNiwgMjMxLCAxMzMsIDI4LCAxNiwgMjMyLCAxMjksIDI4LCAxNiwgMjUxLCAKLSAgICAxNDMsIDI4LCAxNiwgMjIwLCAxNTQsIDIxMSwgMjUzLCAyOCwgMTYsIDIyMCwgMTU0LCAyNTEsIDIyMSwgMjgsIDE2LCAyMzAsIAotICAgIDE4NCwgMjgsIDE2LCAyMzAsIDE4NSwgMjUxLCAyMjEsIDI4LCAxNiwgMjIwLCAxNDgsIDIxMSwgMjUzLCAyOCwgMTYsIDIyMCwgCi0gICAgMTQ4LCAyNTEsIDIyMSwgMjgsIDE2LCAyNDMsIDIyMCwgMjExLCAyNTMsIDI4LCAxNiwgMjQzLCAyMjAsIDI1MSwgMjIxLCAKLSAgICAyOCwgMTYsIDIzMiwgMTMwLCAyMjUsIDE4MCwgMjIzLCA2MSwgMjgsIDE2LCAyMzIsIDEzMCwgMjM2LCA0LCAyMjMsIDYxLCAKLSAgICAyOCwgMTYsIDI1MSwgMTQ0LCAyMjMsIDYxLCAyOCwgMTYsIDIyMCwgMTU0LCAyMjMsIDYxLCAyOCwgMTYsIDIzMCwgMTg1LCAKLSAgICAyMjMsIDYxLCAyOCwgMTYsIDIyMCwgMTQ4LCAyMjMsIDYxLCAyOCwgMTYsIDIxNiwgMjQ5LCAyMjUsIDE3OCwgMjQ5LCAxMDcsIAotICAgIDIyNCwgMTc0LCAyMjUsIDE3OSwgMjgsIDE2LCAyMTYsIDI0OSwgMjI1LCAxNzgsIDI0OSwgMTA3LCAyMjQsIDE3NCwgMjM2LCAKLSAgICAzLCAyOCwgMTYsIDIxNiwgMjQ5LCAyMjUsIDE3OCwgMjQ5LCAxMDcsIDIyNCwgMTc0LCAyMjUsIDE4MCwgMjQ3LCAyMTEsIAotICAgIDI4LCAxNiwgMjE2LCAyNDksIDIzNiwgMiwgMjQ5LCAxMDcsIDIyNCwgMTc0LCAyMjUsIDE3OSwgMjgsIDE2LCAyMTYsIDI0OSwgCi0gICAgMjM2LCAyLCAyNDksIDEwNywgMjI0LCAxNzQsIDIzNiwgMywgMjgsIDE2LCAyMTYsIDI0OSwgMjM2LCAyLCAyNDksIDEwNywgCi0gICAgMjI0LCAxNzQsIDIzNiwgNCwgMjQ3LCAyMTEsIDI4LCAxNiwgMjE2LCAyNDksIDIzNiwgMiwgMjQ5LCAxMDcsIDIyNCwgMTc0LCAKLSAgICAyMzYsIDQsIDI0NywgMjEwLCAyOCwgMTYsIDIxNiwgMjQ5LCAyMzYsIDIsIDI0OSwgMTA3LCAyMjQsIDE3NCwgMjM2LCA0LCAKLSAgICAyNDcsIDIwOSwgMjgsIDE2LCAyNDksIDEzMywgMjgsIDE2LCAyNDIsIDEyNiwgMjUxLCA2NywgMjUwLCAxNCwgMjgsIDE2LCAKLSAgICAyNDIsIDEyNiwgMjQ1LCA3LCAyNTAsIDE0LCAyOCwgMTYsIDQyLCAyNTMsIDE1OCwgMjgsIDE2LCAyMTMsIDE1MSwgMjgsIAotICAgIDE2LCAyMjUsIDE0LCAyOCwgMTYsIDI1MCwgNSwgMjgsIDE2LCAyMjEsIDIwMywgMjgsIDE2LCAyNTAsIDksIDI4LCAxNiwgCi0gICAgMjE2LCA3LCAyOCwgMTYsIDIyNCwgMjQyLCAyOCwgMTYsIDIyNCwgMjQzLCAyNDQsIDYwLCAyOCwgMTYsIDIyMSwgMjA0LCAKLSAgICAyNDQsIDYwLCAyOCwgMTYsIDIxNiwgOCwgMjIzLCA1OCwgMjgsIDE2LCAyMjUsIDE2MywgMjE4LCA2NiwgMjYsIDIxMywgCi0gICAgMTM3LCAxODcsIDIxNywgMjI5LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMTgsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIAotICAgIDIwOCwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjAxLCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAxOTMsIDI2LCAyMTMsIAotICAgIDEzNywgMTg3LCAyMTcsIDE4NywgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMTg2LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAKLSAgICAxODUsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDE4NCwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjI4LCAyNiwgMjEzLCAKLSAgICAxMzcsIDE4NywgMjE3LCAyMjcsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIyNiwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgCi0gICAgMjI1LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMjQsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIyMywgMjYsIDIxMywgCi0gICAgMTM3LCAxODcsIDIxNywgMjIyLCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMjEsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIAotICAgIDIyMCwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjE5LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMTcsIDI2LCAyMTMsIAotICAgIDEzNywgMTg3LCAyMTcsIDIxNiwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjE1LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAKLSAgICAyMTQsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIxMywgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMTkyLCAyNiwgMjEzLCAKLSAgICAxMzcsIDE4NywgMjE3LCAxOTEsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDE5MCwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgCi0gICAgMTg5LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAxODgsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIyOSwgMjYsIDIzNSwgCi0gICAgMjE0LCAxODcsIDIxNywgMjE4LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMDEsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIAotICAgIDE5MywgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMTg2LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAxODUsIDI2LCAyMzUsIAotICAgIDIxNCwgMTg3LCAyMTcsIDIyNywgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjI2LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAKLSAgICAyMjUsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIyNCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjIxLCAyNiwgMjM1LCAKLSAgICAyMTQsIDE4NywgMjE3LCAyMjAsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIxOSwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgCi0gICAgMjE0LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMTMsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIxMiwgMjYsIDIzNSwgCi0gICAgMjE0LCAxODcsIDIxNywgMjExLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMTAsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIAotICAgIDIwOSwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjA3LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMDYsIDI2LCAyMzUsIAotICAgIDIxNCwgMTg3LCAyMTcsIDIwNSwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjA0LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAKLSAgICAyMDMsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIwMiwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjAwLCAyNiwgMjM1LCAKLSAgICAyMTQsIDE4NywgMjE3LCAxOTksIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDE5OCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgCi0gICAgMTk3LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAxOTYsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDE5NSwgMjYsIDIzNSwgCi0gICAgMjE0LCAxODcsIDIxNywgMTk0LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAxOTIsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIAotICAgIDE5MSwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMTkwLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAxODksIDI2LCAyMzUsIAotICAgIDIxNCwgMTg3LCAyMTcsIDE4OCwgMzgsIDI2LCAyOCwgMjE1LCAyMDgsIDM4LCAyNiwgMjgsIDIxNiwgMjIzLCAzOCwgMjYsIAotICAgIDI4LCAyMjUsIDE4OCwgMjYsIDI4LCAyMzMsIDMxLCAyMzAsIDE0MiwgMzEsIDI0NSwgMjIzLCAyNDcsIDIyNCwgMzEsIDI0MSwgCi0gICAgMjIyLCAyNDUsIDIyMywgMjQ3LCAyMjQsIDMxLCAyNDAsIDIxNCwgMjQ1LCAyMjMsIDI0NywgMjI0LCAzMSwgMjQ1LCAyMjIsIAotICAgIDI0MSwgMjIzLCAyNDcsIDIyNCwgMzEsIDI0NSwgMjIyLCAyNDAsIDIxMywgMjQ3LCAyMjQsIDMxLCAyNDUsIDIyMywgMTgwLCAKLSAgICAzMSwgMjUwLCAxNzQsIDE4MCwgMzEsIDI0MywgMjI5LCAyNTAsIDM1LCAxODAsIDMxLCAyMzAsIDE3NywgMTgwLCAzMSwgCi0gICAgMjUyLCAxMzAsIDE4MCwgMzEsIDIzNCwgMTc5LCAyMTksIDc5LCAxODAsIDMxLCAyNDksIDE3OSwgMTgwLCAzMSwgMjUzLCAKLSAgICAyMzMsIDE4MCwgMzEsIDIyNiwgMTYzLCAxODAsIDMxLCAyNTEsIDE1MywgMjI2LCAxMzAsIDE4MCwgMzEsIDI0OCwgNzMsIAotICAgIDE3NywgMjQ3LCAxNzksIDE4MCwgMzEsIDI0NywgMTc2LCAxODAsIDMxLCAyMTAsIDIyMiwgMTgwLCAzMSwgMjM1LCAyNDcsIAotICAgIDE4MCwgMzEsIDIyNSwgMTk3LCAxODAsIDMxLCAyMjMsIDEyNywgMTgwLCAzMSwgMjQ5LCAxODksIDE4MCwgMzEsIDI0MSwgCi0gICAgNjAsIDI1MiwgMTg0LCAxODAsIDMxLCAyMTIsIDU5LCAxODAsIDMxLCAyNDQsIDM5LCAxODAsIDMxLCAyNTQsIDI0NiwgMTgwLCAKLSAgICAzMSwgMjIzLCA4OSwgMTgwLCAzMSwgMjIzLCA2NSwgMTgwLCAzMSwgMjQ1LCAyMjEsIDE4MCwgMzEsIDIzNSwgNTMsIDE4MCwgCi0gICAgMzEsIDI0OSwgMTg0LCAxODAsIDMxLCAyNDUsIDE0MiwgMTgwLCAzMSwgMjQ2LCA1MiwgMTgwLCAzMSwgMjUwLCAxNDUsIAotICAgIDE4MCwgMzEsIDI0OCwgODIsIDE4MCwgMzEsIDIzLCAyMjMsIDY0LCAxODAsIDMxLCAyMjYsIDgxLCAxODAsIDMxLCAyMzMsIAotICAgIDM0LCAxODAsIDMxLCAyNDksIDI1NCwgMTgwLCAzMSwgMjM0LCA3NywgMTgwLCAzMSwgMjQzLCA4NiwgMTgwLCAzMSwgMjE4LCAKLSAgICAxMTIsIDE4MCwgMzEsIDIyNCwgMTMwLCAxODAsIDMxLCAyNDMsIDIyOCwgMTgwLCAzMSwgMjIzLCA2NiwgMTgwLCAzMSwgCi0gICAgMjMzLCA3MSwgMTc3LCAyMzAsIDE1NywgMTgwLCAzMSwgMjIzLCA2MiwgMTgwLCAzMSwgMjQyLCAxNjgsIDIxNiwgNDIsIAotICAgIDIzMSwgNzYsIDE4MCwgMzEsIDI0NSwgMTQ0LCAxODAsIDMxLCAyMTgsIDEyNCwgMTgwLCAzMSwgMjQyLCAxMjgsIDE4MCwgCi0gICAgMzEsIDI0NSwgMTM2LCAxODAsIDMxLCAyMjUsIDIzNSwgMTgwLCAzMSwgMjIyLCAyMjUsIDE4MCwgMzEsIDI0NCwgNTksIAotICAgIDE4MCwgMzEsIDIxNCwgOCwgMTc3LCAyMTIsIDQ0LCAxODAsIDMxLCAyNDksIDE5MywgMTgwLCAzMSwgMjMxLCA4OSwgMTgwLCAKLSAgICAzMSwgMjQ1LCA2MSwgMTgwLCAzMSwgMjE0LCAxNzIsIDE4MCwgMzEsIDI0NywgMjEyLCAxODAsIDMxLCAyNTAsIDAsIDIzMCwgCi0gICAgMTEwLCAxODAsIDMxLCAyNDIsIDEwNiwgMTgwLCAzMSwgMjQzLCA4NywgMjM1LCAyNTUsIDE4MCwgMzEsIDIzMSwgMTQxLCAKLSAgICAxODAsIDMxLCAyNTUsIDEwLCAxODAsIDMxLCAyNDUsIDE1NywgMTgwLCAzMSwgMjQ2LCAxMDksIDE4MCwgMzEsIDIxMiwgNDIsIAotICAgIDE4MCwgMzEsIDIxOSwgMTUwLCAxODAsIDMxLCAyMzUsIDIyMiwgMTgwLCAzMSwgMjQ4LCA0MiwgMTgwLCAzMSwgMjQ4LCAKLSAgICAxNjAsIDE4MCwgMzEsIDI0NywgMjA4LCAxODAsIDMxLCAyNDUsIDI5LCAxODAsIDMxLCAyMjAsIDExNSwgMTgwLCAzMSwgCi0gICAgMjE4LCAxMjgsIDE4MCwgMzEsIDI0MiwgMiwgMTgwLCAzMSwgMjQ5LCAyMTIsIDE4MCwgMzEsIDI0OSwgMjUxLCAxODAsIDMxLCAKLSAgICAyNDQsIDE3NywgMTgwLCAzMSwgMjU0LCAyMTIsIDE4MCwgMzEsIDI0OSwgMjExLCAxODAsIDMxLCAyMjYsIDE5NywgMjE2LCAKLSAgICAxOTYsIDIxMywgMjQyLCAxODAsIDMxLCAyNDcsIDIzMiwgMTgwLCAzMSwgMjMzLCAxMjQsIDE4MCwgMzEsIDI0NCwgMTMsIAotICAgIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIDIxLCAxMTAsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIDIxLCAKLSAgICAxMDUsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIDIxLCAxNTgsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIAotICAgIDIxLCAxNjEsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIDIxLCAxODksIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAKLSAgICAxNzQsIDIxLCAxOTQsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIDIxLCAxOTgsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgCi0gICAgMjE0LCAxNzQsIDIxLCAxOTUsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE0LCAxNzQsIDIxLCAyMDAsIDI0OSwgMTQ5LCAyMjIsIAotICAgIDIwMiwgMjE2LCAyNDMsIDIxLCAxMTAsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAxMDUsIDI0OSwgMTQ5LCAKLSAgICAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAxNTgsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAxNjEsIDI0OSwgCi0gICAgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAxODksIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAxOTQsIAotICAgIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAxOTgsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAKLSAgICAxOTUsIDI0OSwgMTQ5LCAyMjIsIDIwMiwgMjE2LCAyNDMsIDIxLCAyMDAsIDExLCAyMywgNiwgNjEsIDExLCAyMywgNiwgCi0gICAgMjUzLCAxNTgsIDExLCAyMywgNiwgMjUxLCA2NiwgMTEsIDIzLCA2LCAyNDksIDYwLCAxMSwgMjMsIDYsIDc1LCAxMSwgMjMsIAotICAgIDYsIDI0NSwgNiwgMTEsIDIzLCA2LCAyNDMsIDIwMiwgMTEsIDIzLCA2LCAyNDIsIDYwLCAxMSwgMjMsIDYsIDczLCAxMSwgCi0gICAgMjMsIDYsIDIzNSwgMTQ0LCAxMSwgMjMsIDYsIDIzNSwgMjMsIDExLCAyMywgNiwgMTU2LCAxMSwgMjMsIDYsIDE5MywgMTEsIAotICAgIDIzLCA2LCAyMzAsIDI1LCAxMSwgMjMsIDYsIDc2LCAxMSwgMjMsIDYsIDIyNiwgMTA1LCAxMSwgMjMsIDYsIDIyNCwgOTYsIAotICAgIDExLCAyMywgNiwgMTUzLCAxMSwgMjMsIDYsIDIyMiwgOTEsIDExLCAyMywgNiwgMjE3LCAxNTIsIDExLCAyMywgNiwgNzAsIAotICAgIDExLCAyMywgNiwgMjE0LCAxMDUsIDExLCAyMywgNiwgMjEyLCA5OCwgMTEsIDIzLCA2LCAyMTEsIDE3OCwgMTEsIDIzLCA2LCAKLSAgICAyMTEsIDExNywgMTEsIDIzLCA2LCAyMTAsIDE1OSwgMTEsIDIzLCA0LCA2MSwgMTEsIDIzLCA0LCAyNTMsIDE1OCwgMTEsIAotICAgIDIzLCA0LCAyNTEsIDY2LCAxMSwgMjMsIDQsIDI0OSwgNjAsIDExLCAyMywgNCwgNzUsIDExLCAyMywgNCwgMjQ1LCA2LCAxMSwgCi0gICAgMjMsIDQsIDI0MywgMjAyLCAxMSwgMjMsIDQsIDI0MiwgNjAsIDExLCAyMywgNCwgNzMsIDExLCAyMywgNCwgMjM1LCAxNDQsIAotICAgIDExLCAyMywgNCwgMjM1LCAyMywgMTEsIDIzLCA0LCAxNTYsIDExLCAyMywgNCwgMTkzLCAxMSwgMjMsIDQsIDIzMCwgMjUsIAotICAgIDExLCAyMywgNCwgNzYsIDExLCAyMywgNCwgMjI2LCAxMDUsIDExLCAyMywgNCwgMjI0LCA5NiwgMTEsIDIzLCA0LCAxNTMsIAotICAgIDExLCAyMywgNCwgMjIyLCA5MSwgMTEsIDIzLCA0LCAyMTcsIDE1MiwgMTEsIDIzLCA0LCA3MCwgMTEsIDIzLCA0LCAyMTQsIAotICAgIDEwNSwgMTEsIDIzLCA0LCAyMTIsIDk4LCAxMSwgMjMsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDQsIDIxMSwgMTE3LCAxMSwgCi0gICAgMjMsIDQsIDIxMCwgMTU5LCAxMSwgMzIsIDYsIDYxLCAxMSwgMzIsIDYsIDI1MywgMTU4LCAxMSwgMzIsIDYsIDI1MSwgNjYsIAotICAgIDExLCAzMiwgNiwgMjQ5LCA2MCwgMTEsIDMyLCA2LCA3NSwgMTEsIDMyLCA2LCAyNDUsIDYsIDExLCAzMiwgNiwgMjQzLCAKLSAgICAyMDIsIDExLCAzMiwgNiwgMjQyLCA2MCwgMTEsIDMyLCA2LCA3MywgMTEsIDMyLCA2LCAyMzUsIDE0NCwgMTEsIDMyLCA2LCAKLSAgICAyMzUsIDIzLCAxMSwgMzIsIDYsIDE1NiwgMTEsIDMyLCA2LCAxOTMsIDExLCAzMiwgNiwgMjMwLCAyNSwgMTEsIDMyLCA2LCAKLSAgICA3NiwgMTEsIDMyLCA2LCAyMjYsIDEwNSwgMTEsIDMyLCA2LCAyMjQsIDk2LCAxMSwgMzIsIDYsIDE1MywgMTEsIDMyLCA2LCAKLSAgICAyMjIsIDkxLCAxMSwgMzIsIDYsIDIxNywgMTUyLCAxMSwgMzIsIDYsIDcwLCAxMSwgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMzIsIAotICAgIDYsIDIxMiwgOTgsIDExLCAzMiwgNiwgMjExLCAxNzgsIDExLCAzMiwgNiwgMjExLCAxMTcsIDExLCAzMiwgNiwgMjEwLCAKLSAgICAxNTksIDExLCAzMiwgNCwgNjEsIDExLCAzMiwgNCwgMjUzLCAxNTgsIDExLCAzMiwgNCwgMjUxLCA2NiwgMTEsIDMyLCA0LCAKLSAgICAyNDksIDYwLCAxMSwgMzIsIDQsIDc1LCAxMSwgMzIsIDQsIDI0NSwgNiwgMTEsIDMyLCA0LCAyNDMsIDIwMiwgMTEsIDMyLCAKLSAgICA0LCA3MywgMTEsIDMyLCA0LCAyMzUsIDE0NCwgMTEsIDMyLCA0LCAyMzUsIDIzLCAxMSwgMzIsIDQsIDE1NiwgMTEsIDMyLCAKLSAgICA0LCAxOTMsIDExLCAzMiwgNCwgMjMwLCAyNSwgMTEsIDMyLCA0LCA3NiwgMTEsIDMyLCA0LCAyMjYsIDEwNSwgMTEsIDMyLCAKLSAgICA0LCAyMjQsIDk2LCAxMSwgMzIsIDQsIDE1MywgMTEsIDMyLCA0LCAyMjIsIDkxLCAxMSwgMzIsIDQsIDIxNywgMTUyLCAxMSwgCi0gICAgMzIsIDQsIDcwLCAxMSwgMzIsIDQsIDIxNCwgMTA1LCAxMSwgMzIsIDQsIDIxMiwgOTgsIDExLCAzMiwgNCwgMjExLCAxNzgsIAotICAgIDExLCAzMiwgNCwgMjExLCAxMTcsIDExLCAzMiwgNCwgMjEwLCAxNTksIDExLCAyMywgMzIsIDYsIDYxLCAxMSwgMjMsIDMyLCAKLSAgICA2LCAyNTMsIDE1OCwgMTEsIDIzLCAzMiwgNiwgMjUxLCA2NiwgMTEsIDIzLCAzMiwgNiwgMjQ5LCA2MCwgMTEsIDIzLCAzMiwgCi0gICAgNiwgNzUsIDExLCAyMywgMzIsIDYsIDI0NSwgNiwgMTEsIDIzLCAzMiwgNiwgMjQzLCAyMDIsIDExLCAyMywgMzIsIDYsIAotICAgIDI0MiwgNjAsIDExLCAyMywgMzIsIDYsIDczLCAxMSwgMjMsIDMyLCA2LCAyMzUsIDE0NCwgMTEsIDIzLCAzMiwgNiwgMjM1LCAKLSAgICAyMywgMTEsIDIzLCAzMiwgNiwgMTU2LCAxMSwgMjMsIDMyLCA2LCAxOTMsIDExLCAyMywgMzIsIDYsIDIzMCwgMjUsIDExLCAKLSAgICAyMywgMzIsIDYsIDc2LCAxMSwgMjMsIDMyLCA2LCAyMjYsIDEwNSwgMTEsIDIzLCAzMiwgNiwgMjI0LCA5NiwgMTEsIDIzLCAKLSAgICAzMiwgNiwgMTUzLCAxMSwgMjMsIDMyLCA2LCAyMjIsIDkxLCAxMSwgMjMsIDMyLCA2LCAyMTcsIDE1MiwgMTEsIDIzLCAzMiwgCi0gICAgNiwgNzAsIDExLCAyMywgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyMTEsIDE3OCwgMTEsIDIzLCAzMiwgNiwgMjExLCAxMTcsIDExLCAyMywgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDMyLCAKLSAgICA0LCA2MSwgMTEsIDIzLCAzMiwgNCwgMjUzLCAxNTgsIDExLCAyMywgMzIsIDQsIDI1MSwgNjYsIDExLCAyMywgMzIsIDQsIAotICAgIDI0OSwgNjAsIDExLCAyMywgMzIsIDQsIDc1LCAxMSwgMjMsIDMyLCA0LCAyNDUsIDYsIDExLCAyMywgMzIsIDQsIDI0MywgCi0gICAgMjAyLCAxMSwgMjMsIDMyLCA0LCAyNDIsIDYwLCAxMSwgMjMsIDMyLCA0LCA3MywgMTEsIDIzLCAzMiwgNCwgMjM1LCAxNDQsIAotICAgIDExLCAyMywgMzIsIDQsIDIzNSwgMjMsIDExLCAyMywgMzIsIDQsIDE1NiwgMTEsIDIzLCAzMiwgNCwgMTkzLCAxMSwgMjMsIAotICAgIDMyLCA0LCAyMzAsIDI1LCAxMSwgMjMsIDMyLCA0LCA3NiwgMTEsIDIzLCAzMiwgNCwgMjI2LCAxMDUsIDExLCAyMywgMzIsIAotICAgIDQsIDIyNCwgOTYsIDExLCAyMywgMzIsIDQsIDE1MywgMTEsIDIzLCAzMiwgNCwgMjIyLCA5MSwgMTEsIDIzLCAzMiwgNCwgCi0gICAgMjE3LCAxNTIsIDExLCAyMywgMzIsIDQsIDcwLCAxMSwgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDIzLCAzMiwgNCwgMjEyLCAKLSAgICA5OCwgMTEsIDIzLCAzMiwgNCwgMjExLCAxNzgsIDExLCAyMywgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDMyLCA0LCAyMTAsIAotICAgIDE1OSwgMTEsIDExOSwgNiwgNjEsIDExLCAxMTksIDYsIDI1MSwgNjYsIDExLCAxMTksIDYsIDI0OSwgNjAsIDExLCAxMTksIAotICAgIDYsIDI0MywgMjAyLCAxMSwgMTE5LCA2LCAyMzUsIDE0NCwgMTEsIDExOSwgNiwgMjM1LCAyMywgMTEsIDExOSwgNiwgMjMwLCAKLSAgICAyNSwgMTEsIDExOSwgNiwgNzYsIDExLCAxMTksIDYsIDIyNiwgMTA1LCAxMSwgMTE5LCA2LCAyMjQsIDk2LCAxMSwgMTE5LCAKLSAgICA2LCAyMjIsIDkxLCAxMSwgMTE5LCA2LCAyMTcsIDE1MiwgMTEsIDExOSwgNiwgNzAsIDExLCAxMTksIDYsIDIxNCwgMTA1LCAKLSAgICAxMSwgMTE5LCA2LCAyMTIsIDk4LCAxMSwgMTE5LCA2LCAyMTEsIDE3OCwgMTEsIDExOSwgNiwgMjExLCAxMTcsIDExLCAxMTksIAotICAgIDYsIDIxMCwgMTU5LCAxMSwgMTE5LCA0LCA2MSwgMTEsIDExOSwgNCwgMjUzLCAxNTgsIDExLCAxMTksIDQsIDI1MSwgNjYsIAotICAgIDExLCAxMTksIDQsIDI0OSwgNjAsIDExLCAxMTksIDQsIDI0NSwgNiwgMTEsIDExOSwgNCwgMjQyLCA2MCwgMTEsIDExOSwgNCwgCi0gICAgNzMsIDExLCAxMTksIDQsIDIzNSwgMTQ0LCAxMSwgMTE5LCA0LCAyMzUsIDIzLCAxMSwgMTE5LCA0LCAxNTYsIDExLCAxMTksIAotICAgIDQsIDE5MywgMTEsIDExOSwgNCwgMjMwLCAyNSwgMTEsIDExOSwgNCwgMjI2LCAxMDUsIDExLCAxMTksIDQsIDIyNCwgOTYsIAotICAgIDExLCAxMTksIDQsIDE1MywgMTEsIDExOSwgNCwgMjIyLCA5MSwgMTEsIDExOSwgNCwgMjE3LCAxNTIsIDExLCAxMTksIDQsIAotICAgIDcwLCAxMSwgMTE5LCA0LCAyMTQsIDEwNSwgMTEsIDExOSwgNCwgMjEyLCA5OCwgMTEsIDExOSwgNCwgMjExLCAxNzgsIDExLCAKLSAgICAxMTksIDQsIDIxMSwgMTE3LCAxMSwgMTE5LCA0LCAyMTAsIDE1OSwgMTEsIDIzLCAxMTksIDYsIDYxLCAxMSwgMjMsIDExOSwgCi0gICAgNiwgMjUzLCAxNTgsIDExLCAyMywgMTE5LCA2LCAyNTEsIDY2LCAxMSwgMjMsIDExOSwgNiwgMjQ5LCA2MCwgMTEsIDIzLCAKLSAgICAxMTksIDYsIDc1LCAxMSwgMjMsIDExOSwgNiwgMjQ1LCA2LCAxMSwgMjMsIDExOSwgNiwgMjQzLCAyMDIsIDExLCAyMywgCi0gICAgMTE5LCA2LCAyNDIsIDYwLCAxMSwgMjMsIDExOSwgNiwgNzMsIDExLCAyMywgMTE5LCA2LCAyMzUsIDE0NCwgMTEsIDIzLCAKLSAgICAxMTksIDYsIDIzNSwgMjMsIDExLCAyMywgMTE5LCA2LCAxNTYsIDExLCAyMywgMTE5LCA2LCAxOTMsIDExLCAyMywgMTE5LCAKLSAgICA2LCAyMzAsIDI1LCAxMSwgMjMsIDExOSwgNiwgNzYsIDExLCAyMywgMTE5LCA2LCAyMjYsIDEwNSwgMTEsIDIzLCAxMTksIDYsIAotICAgIDIyNCwgOTYsIDExLCAyMywgMTE5LCA2LCAxNTMsIDExLCAyMywgMTE5LCA2LCAyMjIsIDkxLCAxMSwgMjMsIDExOSwgNiwgCi0gICAgMjE3LCAxNTIsIDExLCAyMywgMTE5LCA2LCA3MCwgMTEsIDIzLCAxMTksIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNiwgCi0gICAgMjEyLCA5OCwgMTEsIDIzLCAxMTksIDYsIDIxMSwgMTc4LCAxMSwgMjMsIDExOSwgNiwgMjExLCAxMTcsIDExLCAyMywgMTE5LCAKLSAgICA2LCAyMTAsIDE1OSwgMTEsIDIzLCAxMTksIDQsIDYxLCAxMSwgMjMsIDExOSwgNCwgMjUzLCAxNTgsIDExLCAyMywgMTE5LCAKLSAgICA0LCAyNTEsIDY2LCAxMSwgMjMsIDExOSwgNCwgMjQ5LCA2MCwgMTEsIDIzLCAxMTksIDQsIDc1LCAxMSwgMjMsIDExOSwgNCwgCi0gICAgMjQ1LCA2LCAxMSwgMjMsIDExOSwgNCwgMjQzLCAyMDIsIDExLCAyMywgMTE5LCA0LCAyNDIsIDYwLCAxMSwgMjMsIDExOSwgCi0gICAgNCwgNzMsIDExLCAyMywgMTE5LCA0LCAyMzUsIDE0NCwgMTEsIDIzLCAxMTksIDQsIDIzNSwgMjMsIDExLCAyMywgMTE5LCA0LCAKLSAgICAxNTYsIDExLCAyMywgMTE5LCA0LCAxOTMsIDExLCAyMywgMTE5LCA0LCAyMzAsIDI1LCAxMSwgMjMsIDExOSwgNCwgNzYsIAotICAgIDExLCAyMywgMTE5LCA0LCAyMjYsIDEwNSwgMTEsIDIzLCAxMTksIDQsIDIyNCwgOTYsIDExLCAyMywgMTE5LCA0LCAxNTMsIAotICAgIDExLCAyMywgMTE5LCA0LCAyMjIsIDkxLCAxMSwgMjMsIDExOSwgNCwgMjE3LCAxNTIsIDExLCAyMywgMTE5LCA0LCA3MCwgCi0gICAgMTEsIDIzLCAxMTksIDQsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNCwgMjEyLCA5OCwgMTEsIDIzLCAxMTksIDQsIDIxMSwgCi0gICAgMTc4LCAxMSwgMjMsIDExOSwgNCwgMjExLCAxMTcsIDExLCAyMywgMTE5LCA0LCAyMTAsIDE1OSwgMTEsIDEzMywgNiwgNjEsIAotICAgIDExLCAxMzMsIDYsIDI1MywgMTU4LCAxMSwgMTMzLCA2LCAyNDksIDYwLCAxMSwgMTMzLCA2LCA3NSwgMTEsIDEzMywgNiwgCi0gICAgMjQ1LCA2LCAxMSwgMTMzLCA2LCAyNDMsIDIwMiwgMTEsIDEzMywgNiwgMjM1LCAxNDQsIDExLCAxMzMsIDYsIDIzNSwgMjMsIAotICAgIDExLCAxMzMsIDYsIDE1NiwgMTEsIDEzMywgNiwgMTkzLCAxMSwgMTMzLCA2LCAyMzAsIDI1LCAxMSwgMTMzLCA2LCA3NiwgCi0gICAgMTEsIDEzMywgNiwgMjI2LCAxMDUsIDExLCAxMzMsIDYsIDIyNCwgOTYsIDExLCAxMzMsIDYsIDIyMiwgOTEsIDExLCAxMzMsIAotICAgIDYsIDIxNywgMTUyLCAxMSwgMTMzLCA2LCA3MCwgMTEsIDEzMywgNiwgMjE0LCAxMDUsIDExLCAxMzMsIDYsIDIxMiwgOTgsIAotICAgIDExLCAxMzMsIDYsIDIxMSwgMTc4LCAxMSwgMTMzLCA2LCAyMTEsIDExNywgMTEsIDEzMywgNCwgNjEsIDExLCAxMzMsIDQsIAotICAgIDI1MywgMTU4LCAxMSwgMTMzLCA0LCAyNTEsIDY2LCAxMSwgMTMzLCA0LCAyNDksIDYwLCAxMSwgMTMzLCA0LCA3NSwgMTEsIAotICAgIDEzMywgNCwgMjQ1LCA2LCAxMSwgMTMzLCA0LCAyNDMsIDIwMiwgMTEsIDEzMywgNCwgMjQyLCA2MCwgMTEsIDEzMywgNCwgCi0gICAgNzMsIDExLCAxMzMsIDQsIDIzNSwgMTQ0LCAxMSwgMTMzLCA0LCAyMzUsIDIzLCAxMSwgMTMzLCA0LCAxNTYsIDExLCAxMzMsIAotICAgIDQsIDE5MywgMTEsIDEzMywgNCwgMjMwLCAyNSwgMTEsIDEzMywgNCwgNzYsIDExLCAxMzMsIDQsIDIyNiwgMTA1LCAxMSwgCi0gICAgMTMzLCA0LCAyMjQsIDk2LCAxMSwgMTMzLCA0LCAxNTMsIDExLCAxMzMsIDQsIDIyMiwgOTEsIDExLCAxMzMsIDQsIDIxNywgCi0gICAgMTUyLCAxMSwgMTMzLCA0LCA3MCwgMTEsIDEzMywgNCwgMjE0LCAxMDUsIDExLCAxMzMsIDQsIDIxMiwgOTgsIDExLCAxMzMsIAotICAgIDQsIDIxMSwgMTc4LCAxMSwgMTMzLCA0LCAyMTEsIDExNywgMTEsIDEzMywgNCwgMjEwLCAxNTksIDExLCAxMzksIDYsIDYxLCAKLSAgICAxMSwgMTM5LCA2LCAyNTMsIDE1OCwgMTEsIDEzOSwgNiwgMjQ5LCA2MCwgMTEsIDEzOSwgNiwgNzUsIDExLCAxMzksIDYsIAotICAgIDI0NSwgNiwgMTEsIDEzOSwgNiwgMjQzLCAyMDIsIDExLCAxMzksIDYsIDczLCAxMSwgMTM5LCA2LCAyMzUsIDE0NCwgMTEsIAotICAgIDEzOSwgNiwgMjM1LCAyMywgMTEsIDEzOSwgNiwgMTU2LCAxMSwgMTM5LCA2LCAxOTMsIDExLCAxMzksIDYsIDc2LCAxMSwgCi0gICAgMTM5LCA2LCAyMjIsIDkxLCAxMSwgMTM5LCA2LCAyMTcsIDE1MiwgMTEsIDEzOSwgNiwgNzAsIDExLCAxMzksIDYsIDIxNCwgCi0gICAgMTA1LCAxMSwgMTM5LCA2LCAyMTIsIDk4LCAxMSwgMTM5LCA2LCAyMTEsIDE3OCwgMTEsIDEzOSwgNiwgMjExLCAxMTcsIDExLCAKLSAgICAxMzksIDQsIDYxLCAxMSwgMTM5LCA0LCAyNTMsIDE1OCwgMTEsIDEzOSwgNCwgMjUxLCA2NiwgMTEsIDEzOSwgNCwgMjQ5LCAKLSAgICA2MCwgMTEsIDEzOSwgNCwgNzUsIDExLCAxMzksIDQsIDI0NSwgNiwgMTEsIDEzOSwgNCwgMjQzLCAyMDIsIDExLCAxMzksIDQsIAotICAgIDI0MiwgNjAsIDExLCAxMzksIDQsIDczLCAxMSwgMTM5LCA0LCAyMzUsIDE0NCwgMTEsIDEzOSwgNCwgMjM1LCAyMywgMTEsIAotICAgIDEzOSwgNCwgMTU2LCAxMSwgMTM5LCA0LCAxOTMsIDExLCAxMzksIDQsIDIzMCwgMjUsIDExLCAxMzksIDQsIDc2LCAxMSwgCi0gICAgMTM5LCA0LCAyMjYsIDEwNSwgMTEsIDEzOSwgNCwgMjI0LCA5NiwgMTEsIDEzOSwgNCwgMTUzLCAxMSwgMTM5LCA0LCAyMjIsIAotICAgIDkxLCAxMSwgMTM5LCA0LCAyMTcsIDE1MiwgMTEsIDEzOSwgNCwgNzAsIDExLCAxMzksIDQsIDIxNCwgMTA1LCAxMSwgMTM5LCAKLSAgICA0LCAyMTIsIDk4LCAxMSwgMTM5LCA0LCAyMTEsIDE3OCwgMTEsIDEzOSwgNCwgMjExLCAxMTcsIDExLCAxMzksIDQsIDIxMCwgCi0gICAgMTU5LCAxMSwgMjMsIDEzMywgNiwgNjEsIDExLCAyMywgMTMzLCA2LCAyNTMsIDE1OCwgMTEsIDIzLCAxMzMsIDYsIDI1MSwgCi0gICAgNjYsIDExLCAyMywgMTMzLCA2LCAyNDksIDYwLCAxMSwgMjMsIDEzMywgNiwgNzUsIDExLCAyMywgMTMzLCA2LCAyNDUsIDYsIAotICAgIDExLCAyMywgMTMzLCA2LCAyNDMsIDIwMiwgMTEsIDIzLCAxMzMsIDYsIDI0MiwgNjAsIDExLCAyMywgMTMzLCA2LCA3MywgCi0gICAgMTEsIDIzLCAxMzMsIDYsIDIzNSwgMTQ0LCAxMSwgMjMsIDEzMywgNiwgMjM1LCAyMywgMTEsIDIzLCAxMzMsIDYsIDE1NiwgCi0gICAgMTEsIDIzLCAxMzMsIDYsIDE5MywgMTEsIDIzLCAxMzMsIDYsIDIzMCwgMjUsIDExLCAyMywgMTMzLCA2LCA3NiwgMTEsIDIzLCAKLSAgICAxMzMsIDYsIDIyNiwgMTA1LCAxMSwgMjMsIDEzMywgNiwgMjI0LCA5NiwgMTEsIDIzLCAxMzMsIDYsIDE1MywgMTEsIDIzLCAKLSAgICAxMzMsIDYsIDIyMiwgOTEsIDExLCAyMywgMTMzLCA2LCAyMTcsIDE1MiwgMTEsIDIzLCAxMzMsIDYsIDcwLCAxMSwgMjMsIAotICAgIDEzMywgNiwgMjE0LCAxMDUsIDExLCAyMywgMTMzLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDEzMywgNiwgMjExLCAxNzgsIDExLCAKLSAgICAyMywgMTMzLCA2LCAyMTEsIDExNywgMTEsIDIzLCAxMzMsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDEzMywgNCwgNjEsIDExLCAKLSAgICAyMywgMTMzLCA0LCAyNTMsIDE1OCwgMTEsIDIzLCAxMzMsIDQsIDI1MSwgNjYsIDExLCAyMywgMTMzLCA0LCAyNDksIDYwLCAKLSAgICAxMSwgMjMsIDEzMywgNCwgNzUsIDExLCAyMywgMTMzLCA0LCAyNDUsIDYsIDExLCAyMywgMTMzLCA0LCAyNDMsIDIwMiwgMTEsIAotICAgIDIzLCAxMzMsIDQsIDI0MiwgNjAsIDExLCAyMywgMTMzLCA0LCA3MywgMTEsIDIzLCAxMzMsIDQsIDIzNSwgMTQ0LCAxMSwgCi0gICAgMjMsIDEzMywgNCwgMjM1LCAyMywgMTEsIDIzLCAxMzMsIDQsIDE1NiwgMTEsIDIzLCAxMzMsIDQsIDE5MywgMTEsIDIzLCAKLSAgICAxMzMsIDQsIDIzMCwgMjUsIDExLCAyMywgMTMzLCA0LCA3NiwgMTEsIDIzLCAxMzMsIDQsIDIyNiwgMTA1LCAxMSwgMjMsIAotICAgIDEzMywgNCwgMjI0LCA5NiwgMTEsIDIzLCAxMzMsIDQsIDE1MywgMTEsIDIzLCAxMzMsIDQsIDIyMiwgOTEsIDExLCAyMywgCi0gICAgMTMzLCA0LCAyMTcsIDE1MiwgMTEsIDIzLCAxMzMsIDQsIDcwLCAxMSwgMjMsIDEzMywgNCwgMjE0LCAxMDUsIDExLCAyMywgCi0gICAgMTMzLCA0LCAyMTIsIDk4LCAxMSwgMjMsIDEzMywgNCwgMjExLCAxNzgsIDExLCAyMywgMTMzLCA0LCAyMTEsIDExNywgMTEsIAotICAgIDIzLCAxMzMsIDQsIDIxMCwgMTU5LCAxMSwgMzUsIDYsIDYxLCAxMSwgMzUsIDYsIDI1MywgMTU4LCAxMSwgMzUsIDYsIDI1MSwgCi0gICAgNjYsIDExLCAzNSwgNiwgMjQ5LCA2MCwgMTEsIDM1LCA2LCA3NSwgMTEsIDM1LCA2LCAyNDUsIDYsIDExLCAzNSwgNiwgMjQzLCAKLSAgICAyMDIsIDExLCAzNSwgNiwgMjQyLCA2MCwgMTEsIDM1LCA2LCA3MywgMTEsIDM1LCA2LCAyMzUsIDE0NCwgMTEsIDM1LCA2LCAKLSAgICAyMzUsIDIzLCAxMSwgMzUsIDYsIDE1NiwgMTEsIDM1LCA2LCAxOTMsIDExLCAzNSwgNiwgMjMwLCAyNSwgMTEsIDM1LCA2LCAKLSAgICA3NiwgMTEsIDM1LCA2LCAyMjYsIDEwNSwgMTEsIDM1LCA2LCAyMjQsIDk2LCAxMSwgMzUsIDYsIDE1MywgMTEsIDM1LCA2LCAKLSAgICAyMjIsIDkxLCAxMSwgMzUsIDYsIDIxNywgMTUyLCAxMSwgMzUsIDYsIDcwLCAxMSwgMzUsIDYsIDIxNCwgMTA1LCAxMSwgMzUsIAotICAgIDYsIDIxMiwgOTgsIDExLCAzNSwgNiwgMjExLCAxNzgsIDExLCAzNSwgNiwgMjExLCAxMTcsIDExLCAzNSwgNiwgMjEwLCAKLSAgICAxNTksIDExLCAzNSwgNCwgNjEsIDExLCAzNSwgNCwgMjUzLCAxNTgsIDExLCAzNSwgNCwgMjUxLCA2NiwgMTEsIDM1LCA0LCAKLSAgICAyNDksIDYwLCAxMSwgMzUsIDQsIDc1LCAxMSwgMzUsIDQsIDI0NSwgNiwgMTEsIDM1LCA0LCAyNDMsIDIwMiwgMTEsIDM1LCAKLSAgICA0LCAyNDIsIDYwLCAxMSwgMzUsIDQsIDczLCAxMSwgMzUsIDQsIDIzNSwgMTQ0LCAxMSwgMzUsIDQsIDIzNSwgMjMsIDExLCAKLSAgICAzNSwgNCwgMTU2LCAxMSwgMzUsIDQsIDE5MywgMTEsIDM1LCA0LCAyMzAsIDI1LCAxMSwgMzUsIDQsIDc2LCAxMSwgMzUsIDQsIAotICAgIDIyNiwgMTA1LCAxMSwgMzUsIDQsIDIyNCwgOTYsIDExLCAzNSwgNCwgMTUzLCAxMSwgMzUsIDQsIDIyMiwgOTEsIDExLCAzNSwgCi0gICAgNCwgMjE3LCAxNTIsIDExLCAzNSwgNCwgNzAsIDExLCAzNSwgNCwgMjE0LCAxMDUsIDExLCAzNSwgNCwgMjEyLCA5OCwgMTEsIAotICAgIDM1LCA0LCAyMTEsIDE3OCwgMTEsIDM1LCA0LCAyMTEsIDExNywgMTEsIDM1LCA0LCAyMTAsIDE1OSwgMTEsIDM1LCAyMywgNiwgCi0gICAgNjEsIDExLCAzNSwgMjMsIDYsIDI1MywgMTU4LCAxMSwgMzUsIDIzLCA2LCAyNTEsIDY2LCAxMSwgMzUsIDIzLCA2LCAyNDksIAotICAgIDYwLCAxMSwgMzUsIDIzLCA2LCA3NSwgMTEsIDM1LCAyMywgNiwgMjQ1LCA2LCAxMSwgMzUsIDIzLCA2LCAyNDMsIDIwMiwgCi0gICAgMTEsIDM1LCAyMywgNiwgMjQyLCA2MCwgMTEsIDM1LCAyMywgNiwgNzMsIDExLCAzNSwgMjMsIDYsIDIzNSwgMTQ0LCAxMSwgCi0gICAgMzUsIDIzLCA2LCAyMzUsIDIzLCAxMSwgMzUsIDIzLCA2LCAxNTYsIDExLCAzNSwgMjMsIDYsIDE5MywgMTEsIDM1LCAyMywgCi0gICAgNiwgMjMwLCAyNSwgMTEsIDM1LCAyMywgNiwgNzYsIDExLCAzNSwgMjMsIDYsIDIyNiwgMTA1LCAxMSwgMzUsIDIzLCA2LCAKLSAgICAyMjQsIDk2LCAxMSwgMzUsIDIzLCA2LCAxNTMsIDExLCAzNSwgMjMsIDYsIDIyMiwgOTEsIDExLCAzNSwgMjMsIDYsIDIxNywgCi0gICAgMTUyLCAxMSwgMzUsIDIzLCA2LCA3MCwgMTEsIDM1LCAyMywgNiwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDYsIDIxMiwgOTgsIAotICAgIDExLCAzNSwgMjMsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDIzLCA2LCAyMTEsIDExNywgMTEsIDM1LCAyMywgNiwgMjEwLCAKLSAgICAxNTksIDExLCAzNSwgMjMsIDQsIDYxLCAxMSwgMzUsIDIzLCA0LCAyNTMsIDE1OCwgMTEsIDM1LCAyMywgNCwgMjUxLCA2NiwgCi0gICAgMTEsIDM1LCAyMywgNCwgMjQ5LCA2MCwgMTEsIDM1LCAyMywgNCwgNzUsIDExLCAzNSwgMjMsIDQsIDI0NSwgNiwgMTEsIDM1LCAKLSAgICAyMywgNCwgMjQzLCAyMDIsIDExLCAzNSwgMjMsIDQsIDI0MiwgNjAsIDExLCAzNSwgMjMsIDQsIDczLCAxMSwgMzUsIDIzLCAKLSAgICA0LCAyMzUsIDE0NCwgMTEsIDM1LCAyMywgNCwgMjM1LCAyMywgMTEsIDM1LCAyMywgNCwgMTU2LCAxMSwgMzUsIDIzLCA0LCAKLSAgICAxOTMsIDExLCAzNSwgMjMsIDQsIDIzMCwgMjUsIDExLCAzNSwgMjMsIDQsIDc2LCAxMSwgMzUsIDIzLCA0LCAyMjYsIDEwNSwgCi0gICAgMTEsIDM1LCAyMywgNCwgMjI0LCA5NiwgMTEsIDM1LCAyMywgNCwgMTUzLCAxMSwgMzUsIDIzLCA0LCAyMjIsIDkxLCAxMSwgCi0gICAgMzUsIDIzLCA0LCAyMTcsIDE1MiwgMTEsIDM1LCAyMywgNCwgNzAsIDExLCAzNSwgMjMsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIAotICAgIDIzLCA0LCAyMTIsIDk4LCAxMSwgMzUsIDIzLCA0LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgNCwgMjExLCAxMTcsIDExLCAzNSwgCi0gICAgMjMsIDQsIDIxMCwgMTU5LCAxMSwgMzUsIDMyLCA2LCA2MSwgMTEsIDM1LCAzMiwgNiwgMjUzLCAxNTgsIDExLCAzNSwgMzIsIAotICAgIDYsIDI1MSwgNjYsIDExLCAzNSwgMzIsIDYsIDI0OSwgNjAsIDExLCAzNSwgMzIsIDYsIDc1LCAxMSwgMzUsIDMyLCA2LCAKLSAgICAyNDUsIDYsIDExLCAzNSwgMzIsIDYsIDI0MywgMjAyLCAxMSwgMzUsIDMyLCA2LCAyNDIsIDYwLCAxMSwgMzUsIDMyLCA2LCAKLSAgICA3MywgMTEsIDM1LCAzMiwgNiwgMjM1LCAxNDQsIDExLCAzNSwgMzIsIDYsIDIzNSwgMjMsIDExLCAzNSwgMzIsIDYsIDE1NiwgCi0gICAgMTEsIDM1LCAzMiwgNiwgMTkzLCAxMSwgMzUsIDMyLCA2LCAyMzAsIDI1LCAxMSwgMzUsIDMyLCA2LCA3NiwgMTEsIDM1LCAKLSAgICAzMiwgNiwgMjI2LCAxMDUsIDExLCAzNSwgMzIsIDYsIDIyNCwgOTYsIDExLCAzNSwgMzIsIDYsIDE1MywgMTEsIDM1LCAzMiwgCi0gICAgNiwgMjIyLCA5MSwgMTEsIDM1LCAzMiwgNiwgMjE3LCAxNTIsIDExLCAzNSwgMzIsIDYsIDcwLCAxMSwgMzUsIDMyLCA2LCAKLSAgICAyMTQsIDEwNSwgMTEsIDM1LCAzMiwgNiwgMjEyLCA5OCwgMTEsIDM1LCAzMiwgNiwgMjExLCAxNzgsIDExLCAzNSwgMzIsIDYsIAotICAgIDIxMSwgMTE3LCAxMSwgMzUsIDMyLCA2LCAyMTAsIDE1OSwgMTEsIDM1LCAzMiwgNCwgNjEsIDExLCAzNSwgMzIsIDQsIDI1MywgCi0gICAgMTU4LCAxMSwgMzUsIDMyLCA0LCAyNTEsIDY2LCAxMSwgMzUsIDMyLCA0LCAyNDksIDYwLCAxMSwgMzUsIDMyLCA0LCA3NSwgCi0gICAgMTEsIDM1LCAzMiwgNCwgMjQ1LCA2LCAxMSwgMzUsIDMyLCA0LCAyNDMsIDIwMiwgMTEsIDM1LCAzMiwgNCwgMjQyLCA2MCwgCi0gICAgMTEsIDM1LCAzMiwgNCwgNzMsIDExLCAzNSwgMzIsIDQsIDIzNSwgMTQ0LCAxMSwgMzUsIDMyLCA0LCAyMzUsIDIzLCAxMSwgCi0gICAgMzUsIDMyLCA0LCAxNTYsIDExLCAzNSwgMzIsIDQsIDE5MywgMTEsIDM1LCAzMiwgNCwgMjMwLCAyNSwgMTEsIDM1LCAzMiwgCi0gICAgNCwgNzYsIDExLCAzNSwgMzIsIDQsIDIyNiwgMTA1LCAxMSwgMzUsIDMyLCA0LCAyMjQsIDk2LCAxMSwgMzUsIDMyLCA0LCAKLSAgICAxNTMsIDExLCAzNSwgMzIsIDQsIDIyMiwgOTEsIDExLCAzNSwgMzIsIDQsIDIxNywgMTUyLCAxMSwgMzUsIDMyLCA0LCA3MCwgCi0gICAgMTEsIDM1LCAzMiwgNCwgMjE0LCAxMDUsIDExLCAzNSwgMzIsIDQsIDIxMiwgOTgsIDExLCAzNSwgMzIsIDQsIDIxMSwgMTc4LCAKLSAgICAxMSwgMzUsIDMyLCA0LCAyMTEsIDExNywgMTEsIDM1LCAzMiwgNCwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDMyLCA2LCA2MSwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDYsIDI1MywgMTU4LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjUxLCA2NiwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDI0OSwgNjAsIDExLCAzNSwgMjMsIDMyLCA2LCA3NSwgMTEsIDM1LCAyMywgMzIsIDYsIDI0NSwgNiwgMTEsIDM1LCAyMywgCi0gICAgMzIsIDYsIDI0MywgMjAyLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQyLCA2MCwgMTEsIDM1LCAyMywgMzIsIDYsIDczLCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjM1LCAxNDQsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzUsIDIzLCAxMSwgMzUsIDIzLCAzMiwgNiwgCi0gICAgMTU2LCAxMSwgMzUsIDIzLCAzMiwgNiwgMTkzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjMwLCAyNSwgMTEsIDM1LCAyMywgMzIsIAotICAgIDYsIDc2LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI2LCAxMDUsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjQsIDk2LCAxMSwgMzUsIAotICAgIDIzLCAzMiwgNiwgMTUzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjIyLCA5MSwgMTEsIDM1LCAyMywgMzIsIDYsIDIxNywgMTUyLCAKLSAgICAxMSwgMzUsIDIzLCAzMiwgNiwgNzAsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgMzIsIDYsIAotICAgIDIxMiwgOTgsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgMzIsIDYsIDIxMSwgMTE3LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDMyLCA0LCA2MSwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MywgCi0gICAgMTU4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjUxLCA2NiwgMTEsIDM1LCAyMywgMzIsIDQsIDI0OSwgNjAsIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCA3NSwgMTEsIDM1LCAyMywgMzIsIDQsIDI0NSwgNiwgMTEsIDM1LCAyMywgMzIsIDQsIDI0MywgMjAyLCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNCwgMjQyLCA2MCwgMTEsIDM1LCAyMywgMzIsIDQsIDczLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM1LCAKLSAgICAxNDQsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDIzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMTU2LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNCwgMTkzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjMwLCAyNSwgMTEsIDM1LCAyMywgMzIsIDQsIDc2LCAxMSwgMzUsIDIzLCAKLSAgICAzMiwgNCwgMjI2LCAxMDUsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjQsIDk2LCAxMSwgMzUsIDIzLCAzMiwgNCwgMTUzLCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNCwgMjIyLCA5MSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxNywgMTUyLCAxMSwgMzUsIDIzLCAzMiwgNCwgCi0gICAgNzAsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMiwgOTgsIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjEwLCAKLSAgICAxNTksIDExLCAyMzAsIDEzOCwgNiwgNjEsIDExLCAyMzAsIDEzOCwgNiwgMjUzLCAxNTgsIDExLCAyMzAsIDEzOCwgNiwgCi0gICAgMjUxLCA2NiwgMTEsIDIzMCwgMTM4LCA2LCAyNDksIDYwLCAxMSwgMjMwLCAxMzgsIDYsIDc1LCAxMSwgMjMwLCAxMzgsIDYsIAotICAgIDI0NSwgNiwgMTEsIDIzMCwgMTM4LCA2LCAyNDMsIDIwMiwgMTEsIDIzMCwgMTM4LCA2LCAyNDIsIDYwLCAxMSwgMjMwLCAKLSAgICAxMzgsIDYsIDczLCAxMSwgMjMwLCAxMzgsIDYsIDIzNSwgMTQ0LCAxMSwgMjMwLCAxMzgsIDYsIDIzNSwgMjMsIDExLCAyMzAsIAotICAgIDEzOCwgNiwgMTU2LCAxMSwgMjMwLCAxMzgsIDYsIDE5MywgMTEsIDIzMCwgMTM4LCA2LCAyMzAsIDI1LCAxMSwgMjMwLCAKLSAgICAxMzgsIDYsIDc2LCAxMSwgMjMwLCAxMzgsIDYsIDIyNiwgMTA1LCAxMSwgMjMwLCAxMzgsIDYsIDIyNCwgOTYsIDExLCAyMzAsIAotICAgIDEzOCwgNiwgMTUzLCAxMSwgMjMwLCAxMzgsIDYsIDIyMiwgOTEsIDExLCAyMzAsIDEzOCwgNiwgMjE3LCAxNTIsIDExLCAKLSAgICAyMzAsIDEzOCwgNiwgNzAsIDExLCAyMzAsIDEzOCwgNiwgMjE0LCAxMDUsIDExLCAyMzAsIDEzOCwgNiwgMjEyLCA5OCwgMTEsIAotICAgIDIzMCwgMTM4LCA2LCAyMTEsIDE3OCwgMTEsIDIzMCwgMTM4LCA2LCAyMTEsIDExNywgMTEsIDIzMCwgMTM4LCA2LCAyMTAsIAotICAgIDE1OSwgMTEsIDIzMCwgMTM4LCA0LCA2MSwgMTEsIDIzMCwgMTM4LCA0LCAyNTMsIDE1OCwgMTEsIDIzMCwgMTM4LCA0LCAKLSAgICAyNTEsIDY2LCAxMSwgMjMwLCAxMzgsIDQsIDI0OSwgNjAsIDExLCAyMzAsIDEzOCwgNCwgNzUsIDExLCAyMzAsIDEzOCwgNCwgCi0gICAgMjQ1LCA2LCAxMSwgMjMwLCAxMzgsIDQsIDI0MywgMjAyLCAxMSwgMjMwLCAxMzgsIDQsIDI0MiwgNjAsIDExLCAyMzAsIAotICAgIDEzOCwgNCwgNzMsIDExLCAyMzAsIDEzOCwgNCwgMjM1LCAxNDQsIDExLCAyMzAsIDEzOCwgNCwgMjM1LCAyMywgMTEsIDIzMCwgCi0gICAgMTM4LCA0LCAxNTYsIDExLCAyMzAsIDEzOCwgNCwgMTkzLCAxMSwgMjMwLCAxMzgsIDQsIDIzMCwgMjUsIDExLCAyMzAsIAotICAgIDEzOCwgNCwgNzYsIDExLCAyMzAsIDEzOCwgNCwgMjI2LCAxMDUsIDExLCAyMzAsIDEzOCwgNCwgMjI0LCA5NiwgMTEsIDIzMCwgCi0gICAgMTM4LCA0LCAxNTMsIDExLCAyMzAsIDEzOCwgNCwgMjIyLCA5MSwgMTEsIDIzMCwgMTM4LCA0LCAyMTcsIDE1MiwgMTEsIAotICAgIDIzMCwgMTM4LCA0LCA3MCwgMTEsIDIzMCwgMTM4LCA0LCAyMTQsIDEwNSwgMTEsIDIzMCwgMTM4LCA0LCAyMTIsIDk4LCAxMSwgCi0gICAgMjMwLCAxMzgsIDQsIDIxMSwgMTc4LCAxMSwgMjMwLCAxMzgsIDQsIDIxMSwgMTE3LCAxMSwgMjMwLCAxMzgsIDQsIDIxMCwgCi0gICAgMTU5LCAxMSwgMzIsIDQsIDI0NywgMTE5LCA3MywgMTEsIDMyLCA0LCAyNDcsIDExOSwgMjM1LCAxNDQsIDExLCAyMywgNiwgCi0gICAgMjU0LCAxNDMsIDExLCAyMywgNiwgMjUyLCAyNiwgMTEsIDIzLCA2LCAyNDMsIDEwNywgMTEsIDIzLCA2LCAyNDgsIDU0LCAKLSAgICAxMSwgMjMsIDYsIDI0NSwgMTAwLCAxMSwgMjMsIDYsIDIxMCwgODUsIDExLCAyMywgNiwgMjQ1LCA2MywgMTEsIDIzLCA2LCAKLSAgICAyMTYsIDE3OSwgMTEsIDIzLCA2LCAyMzUsIDE4NSwgMTEsIDIzLCA2LCAyMzQsIDIyMiwgMTEsIDIzLCA2LCAyMzMsIDk4LCAKLSAgICAxMSwgMjMsIDYsIDIzMCwgMTAyLCAxMSwgMjMsIDYsIDIyNywgMjM3LCAxMSwgMjMsIDYsIDIxMSwgMTU3LCAxMSwgMjMsIDYsIAotICAgIDIyNiwgMTk5LCAxMSwgMjMsIDYsIDIyNSwgMTA4LCAxMSwgMjMsIDYsIDIyMywgMzcsIDExLCAyMywgNiwgMjE2LCAxODAsIAotICAgIDg3LCAxMSwgMjMsIDYsIDIxOSwgMTc3LCAxMSwgMjMsIDYsIDIxNywgNDEsIDExLCAyMywgNiwgMjE0LCAxNTcsIDExLCAyMywgCi0gICAgNiwgMjI1LCAxMzMsIDExLCAyMywgNiwgMjUwLCAxMTAsIDExLCAyMywgNiwgMjI0LCAxNjEsIDExLCAyMywgNiwgMjI2LCAKLSAgICAyMDEsIDExLCAyMywgMjI5LCAyMjEsIDExLCAyMywgNCwgMjU0LCAxNDMsIDExLCAyMywgNCwgMjUyLCAyNiwgMTEsIDIzLCAKLSAgICA0LCAyNDMsIDEwNywgMTEsIDIzLCA0LCAyNDgsIDU0LCAxMSwgMjMsIDQsIDI0NSwgMTAwLCAxMSwgMjMsIDQsIDIxMCwgODUsIAotICAgIDExLCAyMywgNCwgMjQ1LCA2MywgMTEsIDIzLCA0LCAyMTYsIDE3OSwgMTEsIDIzLCA0LCAyMzUsIDE4NSwgMTEsIDIzLCA0LCAKLSAgICAyMzQsIDIyMiwgMTEsIDIzLCA0LCAyMzMsIDk4LCAxMSwgMjMsIDQsIDIzMCwgMTAyLCAxMSwgMjMsIDQsIDIyNywgMjM3LCAKLSAgICAxMSwgMjMsIDQsIDIxMSwgMTU3LCAxMSwgMjMsIDQsIDIyNiwgMTk5LCAxMSwgMjMsIDQsIDIyNSwgMTA4LCAxMSwgMjMsIDQsIAotICAgIDIyMywgMzcsIDExLCAyMywgNCwgNDAsIDIxOSwgMTc3LCAxMSwgMjMsIDQsIDIxOSwgMTc3LCAxMSwgMjMsIDQsIDIxNywgCi0gICAgNDEsIDExLCAyMywgNCwgMjE0LCAxNTcsIDExLCAyMywgNCwgMjI1LCAxMzMsIDExLCAyMywgNCwgMjUwLCAxMTAsIDExLCAKLSAgICAyMywgNCwgMjI0LCAxNjEsIDExLCAyMywgNCwgMjI2LCAyMDEsIDExLCAyMywgMjI1LCAyNTMsIDI0NywgMjMzLCAxMSwgMjMsIAotICAgIDI0NSwgMTAxLCA4NywgMTEsIDIzLCAyMTYsIDE4MCwgODcsIDExLCAyMywgMjM0LCAyMjMsIDg3LCAxMSwgMjMsIDIyNSwgCi0gICAgMTM0LCA4NywgMTEsIDIzLCAyMjMsIDM4LCA4NywgMTEsIDIzLCAyMjUsIDEwOSwgODcsIDExLCAzMiwgNiwgMjU0LCAxNDMsIAotICAgIDExLCAzMiwgNiwgMjUyLCAyNiwgMTEsIDMyLCA2LCAyNDMsIDEwNywgMTEsIDMyLCA2LCAyNDgsIDU0LCAxMSwgMzIsIDYsIAotICAgIDI0NSwgMTAwLCAxMSwgMzIsIDYsIDIxMCwgODUsIDExLCAzMiwgNiwgMjQ1LCA2MywgMTEsIDMyLCA2LCAyMTYsIDE3OSwgCi0gICAgMTEsIDMyLCA2LCAyMzUsIDE4NSwgMTEsIDMyLCA2LCAyMzQsIDIyMiwgMTEsIDMyLCA2LCAyMzMsIDk4LCAxMSwgMzIsIDYsIAotICAgIDIzMCwgMTAyLCAxMSwgMzIsIDYsIDIyNywgMjM3LCAxMSwgMzIsIDYsIDIxMSwgMTU3LCAxMSwgMzIsIDYsIDIyNiwgMTk5LCAKLSAgICAxMSwgMzIsIDYsIDIyNSwgMTA4LCAxMSwgMzIsIDYsIDIyMywgMzcsIDExLCAzMiwgNiwgMjE2LCAxODAsIDg3LCAxMSwgMzIsIAotICAgIDYsIDIxOSwgMTc3LCAxMSwgMzIsIDYsIDIxNywgNDEsIDExLCAzMiwgNiwgMjE0LCAxNTcsIDExLCAzMiwgNiwgMjI1LCAKLSAgICAxMzMsIDExLCAzMiwgNiwgMjUwLCAxMTAsIDExLCAzMiwgNiwgMjI0LCAxNjEsIDExLCAzMiwgNiwgMjI2LCAyMDEsIDExLCAKLSAgICAzMiwgMjI5LCAyMjEsIDExLCAzMiwgNCwgMjU0LCAxNDMsIDExLCAzMiwgNCwgMjUyLCAyNiwgMTEsIDMyLCA0LCAyNDMsIAotICAgIDEwNywgMTEsIDMyLCA0LCAyNDgsIDU0LCAxMSwgMzIsIDQsIDI0NSwgMTAwLCAxMSwgMzIsIDQsIDIxMCwgODUsIDExLCAzMiwgCi0gICAgNCwgMjQ1LCA2MywgMTEsIDMyLCA0LCAyMTYsIDE3OSwgMTEsIDMyLCA0LCAyMzUsIDE4NSwgMTEsIDMyLCA0LCAyMzQsIAotICAgIDIyMiwgMTEsIDMyLCA0LCAyMzMsIDk4LCAxMSwgMzIsIDQsIDIzMCwgMTAyLCAxMSwgMzIsIDQsIDIyNywgMjM3LCAxMSwgCi0gICAgMzIsIDQsIDIxMSwgMTU3LCAxMSwgMzIsIDQsIDIyNiwgMTk5LCAxMSwgMzIsIDQsIDIyNSwgMTA4LCAxMSwgMzIsIDQsIAotICAgIDIyMywgMzcsIDExLCAzMiwgNCwgNDAsIDIxOSwgMTc3LCAxMSwgMzIsIDQsIDIxOSwgMTc3LCAxMSwgMzIsIDQsIDIxNywgCi0gICAgNDEsIDExLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzMiwgNCwgMjI1LCAxMzMsIDExLCAzMiwgNCwgMjUwLCAxMTAsIDExLCAKLSAgICAzMiwgNCwgMjI0LCAxNjEsIDExLCAzMiwgNCwgMjI2LCAyMDEsIDExLCAzMiwgMjI1LCAyNTMsIDI0NywgMjMzLCAxMSwgMzIsIAotICAgIDI0NSwgMTAxLCA4NywgMTEsIDMyLCAyMTYsIDE4MCwgODcsIDExLCAzMiwgMjM0LCAyMjMsIDg3LCAxMSwgMzIsIDIyNSwgCi0gICAgMTM0LCA4NywgMTEsIDMyLCAyMjMsIDM4LCA4NywgMTEsIDMyLCAyMjUsIDEwOSwgODcsIDExLCAyMywgMzIsIDYsIDI1NCwgCi0gICAgMTQzLCAxMSwgMjMsIDMyLCA2LCAyNTIsIDI2LCAxMSwgMjMsIDMyLCA2LCAyNDMsIDEwNywgMTEsIDIzLCAzMiwgNiwgMjQ4LCAKLSAgICA1NCwgMTEsIDIzLCAzMiwgNiwgMjQ1LCAxMDAsIDExLCAyMywgMzIsIDYsIDIxMCwgODUsIDExLCAyMywgMzIsIDYsIDI0NSwgCi0gICAgNjMsIDExLCAyMywgMzIsIDYsIDIxNiwgMTc5LCAxMSwgMjMsIDMyLCA2LCAyMzUsIDE4NSwgMTEsIDIzLCAzMiwgNiwgMjM0LCAKLSAgICAyMjIsIDExLCAyMywgMzIsIDYsIDIzMywgOTgsIDExLCAyMywgMzIsIDYsIDIzMCwgMTAyLCAxMSwgMjMsIDMyLCA2LCAyMjcsIAotICAgIDIzNywgMTEsIDIzLCAzMiwgNiwgMjExLCAxNTcsIDExLCAyMywgMzIsIDYsIDIyNiwgMTk5LCAxMSwgMjMsIDMyLCA2LCAKLSAgICAyMjUsIDEwOCwgMTEsIDIzLCAzMiwgNiwgMjIzLCAzNywgMTEsIDIzLCAzMiwgNiwgMjE2LCAxODAsIDg3LCAxMSwgMjMsIAotICAgIDMyLCA2LCAyMTksIDE3NywgMTEsIDIzLCAzMiwgNiwgMjE3LCA0MSwgMTEsIDIzLCAzMiwgNiwgMjE0LCAxNTcsIDExLCAyMywgCi0gICAgMzIsIDYsIDIyNSwgMTMzLCAxMSwgMjMsIDMyLCA2LCAyNTAsIDExMCwgMTEsIDIzLCAzMiwgNiwgMjI0LCAxNjEsIDExLCAKLSAgICAyMywgMzIsIDYsIDIyNiwgMjAxLCAxMSwgMjMsIDMyLCAyMjksIDIyMSwgMTEsIDIzLCAzMiwgNCwgMjU0LCAxNDMsIDExLCAKLSAgICAyMywgMzIsIDQsIDI1MiwgMjYsIDExLCAyMywgMzIsIDQsIDI0MywgMTA3LCAxMSwgMjMsIDMyLCA0LCAyNDgsIDU0LCAxMSwgCi0gICAgMjMsIDMyLCA0LCAyNDUsIDEwMCwgMTEsIDIzLCAzMiwgNCwgMjEwLCA4NSwgMTEsIDIzLCAzMiwgNCwgMjQ1LCA2MywgMTEsIAotICAgIDIzLCAzMiwgNCwgMjE2LCAxNzksIDExLCAyMywgMzIsIDQsIDIzNSwgMTg1LCAxMSwgMjMsIDMyLCA0LCAyMzQsIDIyMiwgCi0gICAgMTEsIDIzLCAzMiwgNCwgMjMzLCA5OCwgMTEsIDIzLCAzMiwgNCwgMjMwLCAxMDIsIDExLCAyMywgMzIsIDQsIDIyNywgMjM3LCAKLSAgICAxMSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDIzLCAzMiwgNCwgMjI2LCAxOTksIDExLCAyMywgMzIsIDQsIDIyNSwgCi0gICAgMTA4LCAxMSwgMjMsIDMyLCA0LCAyMjMsIDM3LCAxMSwgMjMsIDMyLCA0LCA0MCwgMjE5LCAxNzcsIDExLCAyMywgMzIsIDQsIAotICAgIDIxOSwgMTc3LCAxMSwgMjMsIDMyLCA0LCAyMTcsIDQxLCAxMSwgMjMsIDMyLCA0LCAyMTQsIDE1NywgMTEsIDIzLCAzMiwgNCwgCi0gICAgMjI1LCAxMzMsIDExLCAyMywgMzIsIDQsIDI1MCwgMTEwLCAxMSwgMjMsIDMyLCA0LCAyMjQsIDE2MSwgMTEsIDIzLCAzMiwgCi0gICAgNCwgMjI2LCAyMDEsIDExLCAyMywgMzIsIDIyNSwgMjUzLCAyNDcsIDIzMywgMTEsIDIzLCAzMiwgMjQ1LCAxMDEsIDg3LCAKLSAgICAxMSwgMjMsIDMyLCAyMTYsIDE4MCwgODcsIDExLCAyMywgMzIsIDIzNCwgMjIzLCA4NywgMTEsIDIzLCAzMiwgMjI1LCAxMzQsIAotICAgIDg3LCAxMSwgMjMsIDMyLCAyMjMsIDM4LCA4NywgMTEsIDIzLCAzMiwgMjI1LCAxMDksIDg3LCAxMSwgMzUsIDIzLCA2LCAKLSAgICAyNTQsIDE0MywgMTEsIDM1LCAyMywgNiwgMjUyLCAyNiwgMTEsIDM1LCAyMywgNiwgMjQzLCAxMDcsIDExLCAzNSwgMjMsIDYsIAotICAgIDI0OCwgNTQsIDExLCAzNSwgMjMsIDYsIDI0NSwgMTAwLCAxMSwgMzUsIDIzLCA2LCAyMTAsIDg1LCAxMSwgMzUsIDIzLCA2LCAKLSAgICAyNDUsIDYzLCAxMSwgMzUsIDIzLCA2LCAyMTYsIDE3OSwgMTEsIDM1LCAyMywgNiwgMjM1LCAxODUsIDExLCAzNSwgMjMsIDYsIAotICAgIDIzNCwgMjIyLCAxMSwgMzUsIDIzLCA2LCAyMzMsIDk4LCAxMSwgMzUsIDIzLCA2LCAyMzAsIDEwMiwgMTEsIDM1LCAyMywgNiwgCi0gICAgMjI3LCAyMzcsIDExLCAzNSwgMjMsIDYsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCA2LCAyMjYsIDE5OSwgMTEsIDM1LCAyMywgCi0gICAgNiwgMjI1LCAxMDgsIDExLCAzNSwgMjMsIDYsIDIyMywgMzcsIDExLCAzNSwgMjMsIDYsIDIxNiwgMTgwLCA4NywgMTEsIDM1LCAKLSAgICAyMywgNiwgMjE5LCAxNzcsIDExLCAzNSwgMjMsIDYsIDIxNywgNDEsIDExLCAzNSwgMjMsIDYsIDIxNCwgMTU3LCAxMSwgMzUsIAotICAgIDIzLCA2LCAyMjUsIDEzMywgMTEsIDM1LCAyMywgNiwgMjUwLCAxMTAsIDExLCAzNSwgMjMsIDYsIDIyNCwgMTYxLCAxMSwgCi0gICAgMzUsIDIzLCA2LCAyMjYsIDIwMSwgMTEsIDM1LCAyMywgMjI5LCAyMjEsIDExLCAzNSwgMjMsIDQsIDI1NCwgMTQzLCAxMSwgCi0gICAgMzUsIDIzLCA0LCAyNTIsIDI2LCAxMSwgMzUsIDIzLCA0LCAyNDMsIDEwNywgMTEsIDM1LCAyMywgNCwgMjQ4LCA1NCwgMTEsIAotICAgIDM1LCAyMywgNCwgMjQ1LCAxMDAsIDExLCAzNSwgMjMsIDQsIDIxMCwgODUsIDExLCAzNSwgMjMsIDQsIDI0NSwgNjMsIDExLCAKLSAgICAzNSwgMjMsIDQsIDIxNiwgMTc5LCAxMSwgMzUsIDIzLCA0LCAyMzUsIDE4NSwgMTEsIDM1LCAyMywgNCwgMjM0LCAyMjIsIAotICAgIDExLCAzNSwgMjMsIDQsIDIzMywgOTgsIDExLCAzNSwgMjMsIDQsIDIzMCwgMTAyLCAxMSwgMzUsIDIzLCA0LCAyMjcsIDIzNywgCi0gICAgMTEsIDM1LCAyMywgNCwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDQsIDIyNiwgMTk5LCAxMSwgMzUsIDIzLCA0LCAyMjUsIAotICAgIDEwOCwgMTEsIDM1LCAyMywgNCwgMjIzLCAzNywgMTEsIDM1LCAyMywgNCwgNDAsIDIxOSwgMTc3LCAxMSwgMzUsIDIzLCA0LCAKLSAgICAyMTksIDE3NywgMTEsIDM1LCAyMywgNCwgMjE3LCA0MSwgMTEsIDM1LCAyMywgNCwgMjE0LCAxNTcsIDExLCAzNSwgMjMsIDQsIAotICAgIDIyNSwgMTMzLCAxMSwgMzUsIDIzLCA0LCAyNTAsIDExMCwgMTEsIDM1LCAyMywgNCwgMjI0LCAxNjEsIDExLCAzNSwgMjMsIAotICAgIDQsIDIyNiwgMjAxLCAxMSwgMzUsIDIzLCAyMjUsIDI1MywgMjQ3LCAyMzMsIDExLCAzNSwgMjMsIDI0NSwgMTAxLCA4NywgCi0gICAgMTEsIDM1LCAyMywgMjE2LCAxODAsIDg3LCAxMSwgMzUsIDIzLCAyMzQsIDIyMywgODcsIDExLCAzNSwgMjMsIDIyNSwgMTM0LCAKLSAgICA4NywgMTEsIDM1LCAyMywgMjIzLCAzOCwgODcsIDExLCAzNSwgMjMsIDIyNSwgMTA5LCA4NywgMTEsIDM1LCAyMywgMzIsIDYsIAotICAgIDI1NCwgMTQzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjUyLCAyNiwgMTEsIDM1LCAyMywgMzIsIDYsIDI0MywgMTA3LCAxMSwgCi0gICAgMzUsIDIzLCAzMiwgNiwgMjQ4LCA1NCwgMTEsIDM1LCAyMywgMzIsIDYsIDI0NSwgMTAwLCAxMSwgMzUsIDIzLCAzMiwgNiwgCi0gICAgMjEwLCA4NSwgMTEsIDM1LCAyMywgMzIsIDYsIDI0NSwgNjMsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTYsIDE3OSwgMTEsIDM1LCAKLSAgICAyMywgMzIsIDYsIDIzNSwgMTg1LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjM0LCAyMjIsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzMsIAotICAgIDk4LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjMwLCAxMDIsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjcsIDIzNywgMTEsIDM1LCAyMywgCi0gICAgMzIsIDYsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI2LCAxOTksIDExLCAzNSwgMjMsIDMyLCA2LCAyMjUsIAotICAgIDEwOCwgMTEsIDM1LCAyMywgMzIsIDYsIDIyMywgMzcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTYsIDE4MCwgODcsIDExLCAzNSwgCi0gICAgMjMsIDMyLCA2LCAyMTksIDE3NywgMTEsIDM1LCAyMywgMzIsIDYsIDIxNywgNDEsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTQsIAotICAgIDE1NywgMTEsIDM1LCAyMywgMzIsIDYsIDIyNSwgMTMzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjUwLCAxMTAsIDExLCAzNSwgCi0gICAgMjMsIDMyLCA2LCAyMjQsIDE2MSwgMTEsIDM1LCAyMywgMzIsIDYsIDIyNiwgMjAxLCAxMSwgMzUsIDIzLCAzMiwgMjI5LCAKLSAgICAyMjEsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTQsIDE0MywgMTEsIDM1LCAyMywgMzIsIDQsIDI1MiwgMjYsIDExLCAzNSwgMjMsIAotICAgIDMyLCA0LCAyNDMsIDEwNywgMTEsIDM1LCAyMywgMzIsIDQsIDI0OCwgNTQsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDEwMCwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDQsIDIxMCwgODUsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDYzLCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNCwgMjE2LCAxNzksIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDE4NSwgMTEsIDM1LCAyMywgMzIsIDQsIDIzNCwgMjIyLCAKLSAgICAxMSwgMzUsIDIzLCAzMiwgNCwgMjMzLCA5OCwgMTEsIDM1LCAyMywgMzIsIDQsIDIzMCwgMTAyLCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNCwgMjI3LCAyMzcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgMTEsIDM1LCAyMywgMzIsIDQsIDIyNiwgMTk5LCAKLSAgICAxMSwgMzUsIDIzLCAzMiwgNCwgMjI1LCAxMDgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjMsIDM3LCAxMSwgMzUsIDIzLCAzMiwgCi0gICAgNCwgNDAsIDIxOSwgMTc3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE5LCAxNzcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTcsIDQxLCAKLSAgICAxMSwgMzUsIDIzLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjUsIDEzMywgMTEsIDM1LCAyMywgMzIsIAotICAgIDQsIDI1MCwgMTEwLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI0LCAxNjEsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIDIwMSwgCi0gICAgMTEsIDM1LCAyMywgMzIsIDIyNSwgMjUzLCAyNDcsIDIzMywgMTEsIDM1LCAyMywgMzIsIDI0NSwgMTAxLCA4NywgMTEsIDM1LCAKLSAgICAyMywgMzIsIDIxNiwgMTgwLCA4NywgMTEsIDM1LCAyMywgMzIsIDIzNCwgMjIzLCA4NywgMTEsIDM1LCAyMywgMzIsIDIyNSwgCi0gICAgMTM0LCA4NywgMTEsIDM1LCAyMywgMzIsIDIyMywgMzgsIDg3LCAxMSwgMzUsIDIzLCAzMiwgMjI1LCAxMDksIDg3LCAxMSwgCi0gICAgMjMsIDYsIDI0NywgMjI3LCAxMSwgMjMsIDQsIDI0NywgMjI3LCAxMSwgMjMsIDIxLCAyMTAsIDg2LCAxMSwgMjMsIDIxLCAKLSAgICAxMTAsIDExLCAyMywgMjEsIDEwNSwgMTEsIDIzLCAyMSwgMTU4LCAxMSwgMjMsIDIxLCAxNjEsIDExLCAyMywgMjEsIDE4OSwgCi0gICAgMTEsIDIzLCAyMSwgMTk0LCAxMSwgMjMsIDIxLCAxOTgsIDExLCAyMywgMjEsIDE5NSwgMTEsIDIzLCAyMSwgMjAwLCAxMSwgCi0gICAgMTM5LCAyMSwgMjEwLCA4NiwgMTEsIDEzOSwgMjEsIDExMCwgMTEsIDEzOSwgMjEsIDEwNSwgMTEsIDEzOSwgMjEsIDE1OCwgCi0gICAgMTEsIDEzOSwgMjEsIDE2MSwgMTEsIDEzOSwgMjEsIDE4OSwgMTEsIDEzOSwgMjEsIDE5NCwgMTEsIDEzOSwgMjEsIDE5OCwgCi0gICAgMTEsIDEzOSwgMjEsIDE5NSwgMTEsIDEzOSwgMjEsIDIwMCwgMTEsIDM1LCAyMSwgMjEwLCA4NiwgMTEsIDM1LCAyMSwgMTEwLCAKLSAgICAxMSwgMzUsIDIxLCAxMDUsIDExLCAzNSwgMjEsIDE1OCwgMTEsIDM1LCAyMSwgMTYxLCAxMSwgMzUsIDIxLCAxODksIDExLCAKLSAgICAzNSwgMjEsIDE5NCwgMTEsIDM1LCAyMSwgMTk4LCAxMSwgMzUsIDIxLCAxOTUsIDExLCAzNSwgMjEsIDIwMCwgMTEsIDM1LCAKLSAgICAyMywgMjEsIDIxMCwgODYsIDExLCAzNSwgMjMsIDIxLCAxMTAsIDExLCAzNSwgMjMsIDIxLCAxMDUsIDExLCAzNSwgMjMsIAotICAgIDIxLCAxNTgsIDExLCAzNSwgMjMsIDIxLCAxNjEsIDExLCAzNSwgMjMsIDIxLCAxODksIDExLCAzNSwgMjMsIDIxLCAxOTQsIAotICAgIDExLCAzNSwgMjMsIDIxLCAxOTgsIDExLCAzNSwgMjMsIDIxLCAxOTUsIDExLCAzNSwgMjMsIDIxLCAyMDAsIDExLCAyMzAsIAotICAgIDEzOCwgMjEsIDIxMCwgODYsIDExLCAyMzAsIDEzOCwgMjEsIDExMCwgMTEsIDIzMCwgMTM4LCAyMSwgMTA1LCAxMSwgMjMwLCAKLSAgICAxMzgsIDIxLCAxNTgsIDExLCAyMzAsIDEzOCwgMjEsIDE2MSwgMTEsIDIzMCwgMTM4LCAyMSwgMTg5LCAxMSwgMjMwLCAxMzgsIAotICAgIDIxLCAxOTQsIDExLCAyMzAsIDEzOCwgMjEsIDE5OCwgMTEsIDIzMCwgMTM4LCAyMSwgMTk1LCAxMSwgMjMwLCAxMzgsIDIxLCAKLSAgICAyMDAsIDEwLCAxMSwgMjU0LCAxNzAsIDEwLCAxMSwgMjUyLCA1NCwgMTAsIDExLCAyMzUsIDEyMywgMTAsIDExLCAyNDgsIAotICAgIDE5NSwgMTAsIDExLCAyMTIsIDMwLCAxMCwgMTEsIDIxMCwgMTA4LCAxMCwgMTEsIDI0MiwgMzcsIDEwLCAxMSwgMjE3LCA4MCwgCi0gICAgMTAsIDExLCAyMTEsIDQzLCAxMCwgMTEsIDIzNCwgMjUwLCAxMCwgMTEsIDIzMywgMTAyLCAxMCwgMTEsIDIzMSwgNzgsIDEwLCAKLSAgICAxMSwgMjI4LCA2MiwgMTAsIDExLCAyMjEsIDE2NiwgMTAsIDExLCAyNTQsIDE5NiwgMTAsIDExLCAyNDQsIDE0MiwgMTAsIAotICAgIDExLCAyMjIsIDI2LCAxMCwgMTEsIDIyNCwgODEsIDEwLCAxMSwgMjIzLCA5NSwgMTAsIDExLCAyMjAsIDU5LCAxMCwgMTEsIAotICAgIDIxNywgNywgMTAsIDExLCAyMTYsIDE5MiwgMTAsIDExLCAyMzQsIDEyOSwgMTAsIDExLCAyMTYsIDIwMiwgMTAsIDExLCAKLSAgICAyNDgsIDIxNiwgMTAsIDExLCAyMTAsIDExMSwgMTAsIDExLCAyNDIsIDI0NCwgMTAsIDExLCAyNDcsIDExOSwgMjUyLCA1NCwgCi0gICAgMTAsIDExLCAyNDcsIDExOSwgMjI4LCA2MiwgMTAsIDExLCAyNDcsIDExOSwgMjQ0LCAxNDIsIDEwLCAxMSwgMjQ3LCAxMTksIAotICAgIDIyNCwgODEsIDEwLCAxMSwgNjUsIDI1MiwgNTQsIDEwLCAxMSwgNjUsIDIzNSwgMTIzLCAxMCwgMTEsIDY1LCAyNDEsIDIxOCwgCi0gICAgMTAsIDExLCA2NSwgMjQyLCAzNywgMTAsIDExLCA2NSwgMjExLCA0MywgMTAsIDExLCA2NSwgMjM0LCAyNTAsIDEwLCAxMSwgCi0gICAgNjUsIDIzMywgMTAyLCAxMCwgMTEsIDY1LCAyMzEsIDc4LCAxMCwgMTEsIDY1LCAyMjgsIDYyLCAxMCwgMTEsIDY1LCAyMjEsIAotICAgIDE2NiwgMTAsIDExLCA2NSwgMjU0LCAxOTYsIDEwLCAxMSwgNjUsIDI0NCwgMTQyLCAxMCwgMTEsIDY1LCAyMjIsIDI2LCAxMCwgCi0gICAgMTEsIDY1LCAyMjQsIDgxLCAxMCwgMTEsIDY1LCAyMjAsIDU5LCAxMCwgMTEsIDY1LCAyMTcsIDcsIDEwLCAxMSwgNjUsIAotICAgIDIxNiwgMTkyLCAxMCwgMTEsIDY1LCAyMzQsIDEyOSwgMTAsIDExLCA2NSwgMjQ4LCAyMTYsIDEwLCAxMSwgNjUsIDI0MiwgCi0gICAgMjQ0LCAxMCwgMTEsIDIxNywgNzYsIDIzNSwgMTIzLCAxMCwgMTEsIDIxNywgNzYsIDI0MiwgMzcsIDEwLCAxMSwgMjE3LCAKLSAgICA3NiwgMjExLCA0MywgMTAsIDExLCAyMTcsIDc2LCAyMzMsIDEwMiwgMTAsIDExLCAyMTcsIDc2LCAyMjgsIDYyLCAxMCwgMTEsIAotICAgIDIxNywgNzYsIDIyMSwgMTY2LCAxMCwgMTEsIDIxNywgNzYsIDI1NCwgMTk2LCAxMCwgMTEsIDIxNywgNzYsIDIyMiwgMjYsIAotICAgIDEwLCAxMSwgMjE3LCA3NiwgMjI0LCA4MSwgMTAsIDExLCAyMTcsIDc2LCAyMjAsIDU5LCAxMCwgMTEsIDIxNywgNzYsIDIzNCwgCi0gICAgMTI5LCAxMCwgMTEsIDIxNywgNzYsIDI0OCwgMjE2LCAxMCwgMTEsIDIxNywgNzYsIDI0MiwgMjQ0LCAxMCwgMTEsIDIxNywgCi0gICAgNzYsIDI0NywgMTE5LCAyMjgsIDYyLCAxMCwgMTEsIDIxNywgNzYsIDI0NywgMTE5LCAyMjQsIDgxLCAxMCwgMTEsIDIxOCwgCi0gICAgMTEwLCAyNTIsIDU0LCAxMCwgMTEsIDIxOCwgMTEwLCAyMzUsIDEyMywgMTAsIDExLCAyMTgsIDExMCwgMjQxLCAyMTgsIDEwLCAKLSAgICAxMSwgMjE4LCAxMTAsIDI0MiwgMzcsIDEwLCAxMSwgMjE4LCAxMTAsIDIxNywgODAsIDEwLCAxMSwgMjE4LCAxMTAsIDIxMSwgCi0gICAgNDMsIDEwLCAxMSwgMjE4LCAxMTAsIDIzNCwgMjUwLCAxMCwgMTEsIDIxOCwgMTEwLCAyMzEsIDc4LCAxMCwgMTEsIDIxOCwgCi0gICAgMTEwLCAyMjgsIDYyLCAxMCwgMTEsIDIxOCwgMTEwLCAyMjEsIDE2NiwgMTAsIDExLCAyMTgsIDExMCwgMjU0LCAxOTYsIDEwLCAKLSAgICAxMSwgMjE4LCAxMTAsIDI0NCwgMTQyLCAxMCwgMTEsIDIxOCwgMTEwLCAyMjIsIDI2LCAxMCwgMTEsIDIxOCwgMTEwLCAyMjQsIAotICAgIDgxLCAxMCwgMTEsIDIxOCwgMTEwLCAyMjAsIDU5LCAxMCwgMTEsIDIxOCwgMTEwLCAyMTcsIDcsIDEwLCAxMSwgMjE4LCAKLSAgICAxMTAsIDIxNiwgMTkyLCAxMCwgMTEsIDIxOCwgMTEwLCAyMzQsIDEyOSwgMTAsIDExLCAyMTgsIDExMCwgMjQ4LCAyMTYsIAotICAgIDEwLCAxMSwgMjE4LCAxMTAsIDIxMCwgMTExLCAxMCwgMTEsIDIxOCwgMTEwLCAyNDIsIDI0NCwgMTAsIDExLCAyMTgsIDExMCwgCi0gICAgMjQ3LCAxMTksIDI1MiwgNTQsIDEwLCAxMSwgMjE4LCAxMTAsIDI0NywgMTE5LCAyNDQsIDE0MiwgMTAsIDExLCAyMzIsIAotICAgIDEyMiwgMjU0LCAxNzAsIDEwLCAxMSwgMjMyLCAxMjIsIDI1MiwgNTQsIDEwLCAxMSwgMjMyLCAxMjIsIDIzNSwgMTIzLCAxMCwgCi0gICAgMTEsIDIzMiwgMTIyLCAyNDgsIDE5NSwgMTAsIDExLCAyMzIsIDEyMiwgMjQxLCAyMTgsIDEwLCAxMSwgMjMyLCAxMjIsIAotICAgIDIxMiwgMzAsIDEwLCAxMSwgMjMyLCAxMjIsIDIxMCwgMTA4LCAxMCwgMTEsIDIzMiwgMTIyLCAyNDIsIDM3LCAxMCwgMTEsIAotICAgIDIzMiwgMTIyLCAyMTcsIDgwLCAxMCwgMTEsIDIzMiwgMTIyLCAyMTEsIDQzLCAxMCwgMTEsIDIzMiwgMTIyLCAyMzMsIDEwMiwgCi0gICAgMTAsIDExLCAyMzIsIDEyMiwgMjMxLCA3OCwgMTAsIDExLCAyMzIsIDEyMiwgMjI4LCA2MiwgMTAsIDExLCAyMzIsIDEyMiwgCi0gICAgMjIxLCAxNjYsIDEwLCAxMSwgMjMyLCAxMjIsIDI1NCwgMTk2LCAxMCwgMTEsIDIzMiwgMTIyLCAyNDQsIDE0MiwgMTAsIDExLCAKLSAgICAyMzIsIDEyMiwgMjIyLCAyNiwgMTAsIDExLCAyMzIsIDEyMiwgMjI0LCA4MSwgMTAsIDExLCAyMzIsIDEyMiwgMjIzLCA5NSwgCi0gICAgMTAsIDExLCAyMzIsIDEyMiwgMjIwLCA1OSwgMTAsIDExLCAyMzIsIDEyMiwgMjE3LCA3LCAxMCwgMTEsIDIzMiwgMTIyLCAKLSAgICAyMTYsIDE5MiwgMTAsIDExLCAyMzIsIDEyMiwgMjM0LCAxMjksIDEwLCAxMSwgMjMyLCAxMjIsIDIxNiwgMjAyLCAxMCwgMTEsIAotICAgIDIzMiwgMTIyLCAyNDgsIDIxNiwgMTAsIDExLCAyMzIsIDEyMiwgMjEwLCAxMTEsIDEwLCAxMSwgMjMyLCAxMjIsIDI0MiwgCi0gICAgMjQ0LCAxMCwgMTEsIDEzOSwgMjUyLCA1NCwgMTAsIDExLCAxMzksIDIzNSwgMTIzLCAxMCwgMTEsIDEzOSwgMjQ4LCAxOTUsIAotICAgIDEwLCAxMSwgMTM5LCAyMTIsIDMwLCAxMCwgMTEsIDEzOSwgMjEwLCAxMDgsIDEwLCAxMSwgMTM5LCAyNDIsIDM3LCAxMCwgCi0gICAgMTEsIDEzOSwgMjE3LCA4MCwgMTAsIDExLCAxMzksIDIxMSwgNDMsIDEwLCAxMSwgMTM5LCAyMzMsIDEwMiwgMTAsIDExLCAKLSAgICAxMzksIDIzMSwgNzgsIDEwLCAxMSwgMTM5LCAyMjgsIDYyLCAxMCwgMTEsIDEzOSwgMjIxLCAxNjYsIDEwLCAxMSwgMTM5LCAKLSAgICAyNTQsIDE5NiwgMTAsIDExLCAxMzksIDI0NCwgMTQyLCAxMCwgMTEsIDEzOSwgMjIyLCAyNiwgMTAsIDExLCAxMzksIDIyNCwgCi0gICAgODEsIDEwLCAxMSwgMTM5LCAyMjMsIDk1LCAxMCwgMTEsIDEzOSwgMjIwLCA1OSwgMTAsIDExLCAxMzksIDIxNywgNywgMTAsIAotICAgIDExLCAxMzksIDIxNiwgMTkyLCAxMCwgMTEsIDEzOSwgMjM0LCAxMjksIDEwLCAxMSwgMTM5LCAyMTYsIDIwMiwgMTAsIDExLCAKLSAgICAxMzksIDI0OCwgMjE2LCAxMCwgMTEsIDEzOSwgMjEwLCAxMTEsIDEwLCAxMSwgMTM5LCAyNDIsIDI0NCwgMTAsIDExLCAyMjYsIAotICAgIDE2OCwgNjYsIDIsIDEyMiwgMiwgMjE3LCA0MywgMTAsIDExLCAyMjYsIDE2OCwgMTIyLCAyLCAyNDgsIDE5NSwgMjMxLCAKLSAgICAyMDUsIDg2LCAyNDUsIDIyMCwgMjExLCAyMzksIDIzMSwgMjA1LCA4NiwgMjE5LCAyOCwgMjExLCAyMzksIDIzMSwgMjA1LCAKLSAgICA4NiwgMjEyLCA5LCAyMTEsIDIzOSwgMjMxLCAyMDUsIDg2LCAyMjgsIDU2LCAyMTEsIDIzOSwgMjMxLCAyMDUsIDg2LCAyMjMsIAotICAgIDExMSwgMjQ2LCA5NiwgMjMxLCAyMDUsIDg2LCAyNDIsIDEyNywgMjQ2LCA5NiwgMjMxLCAyMDUsIDg2LCA3MSwgMjQ2LCA5NiwgCi0gICAgMjMxLCAyMDUsIDg2LCAxMjMsIDY0LCAyNTAsIDE0MSwgMjMxLCAyMDUsIDg2LCAxMTMsIDY0LCAyNTAsIDE0MSwgMjMxLCAKLSAgICAyMDUsIDg2LCAxMzQsIDY0LCAyNTAsIDE0MSwgMjMxLCAyMDUsIDg2LCAyNDQsIDExLCA2NCwgMjUwLCAxNDEsIDIzMSwgCi0gICAgMjA1LCA4NiwgMjQ0LCA4MSwgNjQsIDI1MCwgMTQxLCAyMzEsIDIwNSwgODYsIDIxOSwgMTI1LCA2NCwgMjUwLCAxNDEsIAotICAgIDIzMSwgMjA1LCA4NiwgMjIwLCAxMjIsIDY0LCAyNTAsIDE0MSwgMjMxLCAyMDUsIDg2LCAyNDUsIDE5MywgNjQsIDI1MCwgCi0gICAgMTQxLCAyMzEsIDIwNSwgODYsIDIyOCwgMjAwLCA2NCwgMjUwLCAxNDEsIDIzMSwgMjA1LCA4NiwgMTIzLCA2NCwgMjUyLCAKLSAgICAxNTMsIDIzMSwgMjA1LCA4NiwgMTEzLCA2NCwgMjUyLCAxNTMsIDIzMSwgMjA1LCA4NiwgMTM0LCA2NCwgMjUyLCAxNTMsIAotICAgIDIzMSwgMjA1LCA4NiwgMjQ0LCAxMSwgNjQsIDI1MiwgMTUzLCAyMzEsIDIwNSwgODYsIDI0NCwgODEsIDY0LCAyNTIsIDE1MywgCi0gICAgMjMxLCAyMDUsIDg2LCAyMTksIDEyNSwgNjQsIDI1MiwgMTUzLCAyMzEsIDIwNSwgODYsIDIyMCwgMTIyLCA2NCwgMjUyLCAKLSAgICAxNTMsIDIzMSwgMjA1LCA4NiwgMjQ1LCAxOTMsIDY0LCAyNTIsIDE1MywgMjMxLCAyMDUsIDg2LCAyMjgsIDIwMCwgNjQsIAotICAgIDI1MiwgMTUzLCAyMzEsIDIwNSwgODYsIDEyMywgNjQsIDI1MCwgMzQsIDIzMSwgMjA1LCA4NiwgMTEzLCA2NCwgMjUwLCAzNCwgCi0gICAgMjMxLCAyMDUsIDg2LCAxMzQsIDY0LCAyNTAsIDM0LCAyMzEsIDIwNSwgODYsIDI0NCwgMTEsIDY0LCAyNTAsIDM0LCAyMzEsIAotICAgIDIwNSwgODYsIDI0NCwgODEsIDY0LCAyNTAsIDM0LCAyMzEsIDIwNSwgODYsIDIxOSwgMTI1LCA2NCwgMjUwLCAzNCwgMjMxLCAKLSAgICAyMDUsIDg2LCAyMjAsIDEyMiwgNjQsIDI1MCwgMzQsIDIzMSwgMjA1LCA4NiwgMjQ1LCAxOTMsIDY0LCAyNTAsIDM0LCAyMzEsIAotICAgIDIwNSwgODYsIDIyOCwgMjAwLCA2NCwgMjUwLCAzNCwgMjMxLCAyMDUsIDg2LCAyMjUsIDI1LCAyMzEsIDIwNSwgODYsIDIyNiwgCi0gICAgMTU2LCAyMzEsIDIwNSwgODYsIDI1MiwgMTU0LCAyMzEsIDIwNSwgODYsIDI1MCwgNzAsIDIzMSwgMjA1LCA4NiwgMjE4LCAKLSAgICAyMzksIDIzMSwgMjA1LCA4NiwgMjE4LCAzOSwgMjMxLCAyMDUsIDg2LCAyNTMsIDE3OSwgMjMxLCAyMDUsIDg2LCAyMTEsIAotICAgIDIzMiwgMjMxLCAyMDUsIDg2LCAyMzUsIDYyLCAyMzEsIDIwNSwgODYsIDI1MiwgMTg0LCAxMzEsIDg2LCAyMDMsIDI1MiwgCi0gICAgMTg0LCAxMzEsIDg2LCAyNDEsIDQzLCAxMzEsIDg2LCAyNDEsIDQyLCAxMzEsIDg2LCAyNDEsIDQxLCAxMzEsIDg2LCAyNDEsIAotICAgIDQwLCAxMzEsIDg2LCAyNDEsIDM5LCAxMzEsIDg2LCAyNDEsIDM4LCAxMzEsIDg2LCAyNDEsIDM3LCAxMzEsIDg2LCAyNDEsIAotICAgIDM2LCAxMzEsIDg2LCAyNDEsIDM1LCAxMzEsIDg2LCAyNDEsIDM0LCAxMzEsIDg2LCAyNDEsIDMzLCAxMzEsIDg2LCAyNDEsIAotICAgIDMyLCAxMzEsIDg2LCAyNDEsIDMxLCAxMzEsIDg2LCAyNDEsIDMwLCAxMzEsIDg2LCAyNDEsIDI5LCAxMzEsIDg2LCAyNDEsIAotICAgIDI4LCAxMzEsIDg2LCAyNDEsIDI3LCAxMzEsIDg2LCAyNDEsIDI2LCAxMzEsIDg2LCAyNDEsIDI1LCAxMzEsIDg2LCAyNDEsIAotICAgIDI0LCAxMzEsIDg2LCAyNDEsIDIzLCAxMzEsIDg2LCAyNDEsIDIyLCAxMzEsIDg2LCAyNDEsIDIxLCAxMzEsIDg2LCAyNDEsIAotICAgIDIwLCAxMzEsIDg2LCAyNDEsIDE5LCAxMzEsIDg2LCAyNDEsIDE4LCAxMzEsIDg2LCAyNDEsIDE3LCAxMzEsIDg2LCAyNDEsIAotICAgIDE2LCAxMzEsIDg2LCAyNDEsIDE1LCAxMzEsIDg2LCAyNDEsIDE0LCAxMzEsIDg2LCAyNDEsIDEzLCAxMzEsIDg2LCAyNDEsIAotICAgIDEyLCAxMzEsIDg2LCAyNDEsIDExLCAxMzEsIDg2LCAyNDEsIDEwLCAxMzEsIDg2LCAyNDEsIDksIDEzMSwgODYsIDI0MSwgOCwgCi0gICAgMTMxLCA4NiwgMjQxLCA3LCAxMzEsIDg2LCAyNDEsIDYsIDEzMSwgODYsIDI0MSwgNSwgMTMxLCA4NiwgMjQxLCA0LCAxMzEsIAotICAgIDg2LCAyNDEsIDMsIDEzMSwgODYsIDI0MSwgMiwgMTMxLCA4NiwgMjQxLCAxLCAxMzEsIDg2LCAyNDEsIDAsIDEzMSwgODYsIAotICAgIDI0MCwgMjU1LCAxMzEsIDg2LCAyNDAsIDI1NCwgMTMxLCA4NiwgMjQwLCAyNTMsIDEzMSwgODYsIDI0MCwgMjUyLCAxMzEsIAotICAgIDg2LCAyNDAsIDI1MSwgMTMxLCA4NiwgNjcsIDI1MiwgMTg0LCAxMzEsIDg2LCAyMTMsIDIzOCwgMTMxLCA4NiwgMjEzLCAKLSAgICAyMzcsIDEzMSwgODYsIDIxMywgMjM2LCAxMzEsIDg2LCAyMTMsIDIzNSwgMTMxLCA4NiwgMjEzLCAyMzQsIDEzMSwgODYsIAotICAgIDIxMywgMjMzLCAxMzEsIDg2LCAyMTMsIDIzMiwgMTMxLCA4NiwgMjEzLCAyMzEsIDEzMSwgODYsIDIxMywgMjMwLCAxMzEsIAotICAgIDg2LCAyMTMsIDIyOSwgMTMxLCA4NiwgMjEzLCAyMjgsIDEzMSwgODYsIDIxMywgMjI3LCAxMzEsIDg2LCAyMTMsIDIyNiwgCi0gICAgMTMxLCA4NiwgMjEzLCAyMjUsIDEzMSwgODYsIDIxMywgMjI0LCAxMzEsIDg2LCAyMTMsIDIyMywgMTMxLCA4NiwgMjEzLCAKLSAgICAyMjIsIDEzMSwgODYsIDIxMywgMjIxLCAxMzEsIDg2LCAyMTMsIDIyMCwgMTMxLCA4NiwgMjEzLCAyMTksIDEzMSwgODYsIAotICAgIDIxMywgMjE4LCAxMzEsIDg2LCAyMTMsIDIxNywgMTMxLCA4NiwgMjEzLCAyMTYsIDEzMSwgODYsIDIxMywgMjE1LCAxMzEsIAotICAgIDg2LCAyMTMsIDIxNCwgMTMxLCA4NiwgMjEzLCAyMTMsIDEzMSwgODYsIDIxMywgMjEyLCAxMzEsIDg2LCAyMTMsIDIxMSwgCi0gICAgMTMxLCA4NiwgMjEzLCAyMTAsIDEzMSwgODYsIDIxMywgMjA5LCAxMzEsIDg2LCAyMTMsIDIwOCwgMTMxLCA4NiwgMjEzLCAKLSAgICAyMDcsIDEzMSwgODYsIDIxMywgMjA2LCAxMzEsIDg2LCAyMTMsIDIwNSwgMTMxLCA4NiwgMjEzLCAyMDQsIDEzMSwgODYsIAotICAgIDIxMywgMjAzLCAxMzEsIDg2LCAyMTMsIDIwMiwgMTMxLCA4NiwgMjEzLCAyMDEsIDEzMSwgODYsIDIxMywgMjAwLCAxMzEsIAotICAgIDg2LCAyMTMsIDE5OSwgMTMxLCA4NiwgMjEzLCAxOTgsIDEzMSwgODYsIDIxMywgMTk3LCAxMzEsIDg2LCAyMTMsIDE5NiwgCi0gICAgMTMxLCA4NiwgMjEzLCAxOTUsIDEzMSwgODYsIDIxMywgMTk0LCAxMzEsIDg2LCAyMTMsIDE5MywgMTMxLCA4NiwgMjEzLCAKLSAgICAxOTIsIDEzMSwgODYsIDIxMywgMTkxLCAxMzEsIDg2LCAyMTMsIDE5MCwgMjI1LCAzMywgMjUwLCAyNDMsIDI1MiwgMTg0LCAKLSAgICAyMjUsIDMzLCAyNTAsIDI0MywgMjU1LCA5LCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDExMywgNjQsIDIxOSwgCi0gICAgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAxMzQsIDY0LCAyMTksIDE1LCAyMjUsIDMzLCAyNTAsIDI0MywgMjQ0LCAxMSwgNjQsIAotICAgIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNDQsIDgxLCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIxOSwgCi0gICAgMTI1LCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIyMCwgMTIyLCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAKLSAgICAyNDMsIDI0NSwgMTkzLCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIyOCwgMjAwLCA2NCwgMjE5LCAxNSwgCi0gICAgMjI1LCAzMywgMjUwLCAyNDMsIDIxNiwgMjQ4LCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIzNSwgMTM5LCAKLSAgICA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgMzEsIDY0LCAyMTksIDE1LCAyMjUsIDMzLCAyNTAsIDI0MywgCi0gICAgMjI0LCAxNSwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzQsIDc5LCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgCi0gICAgMjUwLCAyNDMsIDI1NSwgOSwgNjQsIDI0MSwgMjI1LCAyMjUsIDMzLCAyNTAsIDI0MywgMTEzLCA2NCwgMjQxLCAyMjUsIAotICAgIDIyNSwgMzMsIDI1MCwgMjQzLCAxMzQsIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDI0NCwgMTEsIDY0LCAKLSAgICAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDI0NCwgODEsIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIAotICAgIDIxOSwgMTI1LCA2NCwgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjAsIDEyMiwgNjQsIDI0MSwgMjI1LCAyMjUsIAotICAgIDMzLCAyNTAsIDI0MywgMjQ1LCAxOTMsIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIyOCwgMjAwLCA2NCwgCi0gICAgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMTYsIDI0OCwgNjQsIDI0MSwgMjI1LCAyMjUsIDMzLCAyNTAsIDI0MywgCi0gICAgMjM1LCAxMzksIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgMzEsIDY0LCAyNDEsIDIyNSwgMjI1LCAKLSAgICAzMywgMjUwLCAyNDMsIDIyNCwgMTUsIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgNzksIDY0LCAyNDEsIAotICAgIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDI1NSwgOSwgNjQsIDI0NywgMjQ3LCAyMjUsIDMzLCAyNTAsIDI0MywgMTEzLCA2NCwgCi0gICAgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAxMzQsIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDI0NCwgCi0gICAgMTEsIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDI0NCwgODEsIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAKLSAgICAyNDMsIDIxOSwgMTI1LCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjAsIDEyMiwgNjQsIDI0NywgMjQ3LCAKLSAgICAyMjUsIDMzLCAyNTAsIDI0MywgMjQ1LCAxOTMsIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDIyOCwgMjAwLCAKLSAgICA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMTYsIDI0OCwgNjQsIDI0NywgMjQ3LCAyMjUsIDMzLCAyNTAsIAotICAgIDI0MywgMjM1LCAxMzksIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgMzEsIDY0LCAyNDcsIDI0NywgCi0gICAgMjI1LCAzMywgMjUwLCAyNDMsIDIyNCwgMTUsIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgNzksIDY0LCAKLSAgICAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDg1LCAyMzUsIDYyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjU1LCA5LCA2NCwgCi0gICAgMjQ5LCAyNDIsIDIyNSwgMzMsIDI1MCwgMjQzLCAxMTMsIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIDEzNCwgCi0gICAgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjQ0LCAxMSwgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIAotICAgIDI0MywgMjQ0LCA4MSwgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjE5LCAxMjUsIDY0LCAyNDksIDI0MiwgCi0gICAgMjI1LCAzMywgMjUwLCAyNDMsIDIyMCwgMTIyLCA2NCwgMjQ5LCAyNDIsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNDUsIDE5MywgCi0gICAgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjI4LCAyMDAsIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAKLSAgICAyNDMsIDIxNiwgMjQ4LCA2NCwgMjQ5LCAyNDIsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzUsIDEzOSwgNjQsIDI0OSwgMjQyLCAKLSAgICAyMjUsIDMzLCAyNTAsIDI0MywgMjM0LCAzMSwgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjI0LCAxNSwgNjQsIAotICAgIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjM0LCA3OSwgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgCi0gICAgNzEsIDIzNSwgNjIsIDIxLCAyMTAsIDg3LCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAyMTAsIDg3LCAyNDksIDIxOSwgMjEsIAotICAgIDEyMywgMjQ5LCAyMTksIDIxLCAxMTMsIDI0OSwgMjE5LCAyMSwgMTM0LCAyNDksIDIxOSwgMjEsIDI0NCwgMTEsIDI0OSwgCi0gICAgMjE5LCAyMSwgMjQ0LCA4MSwgMjQ5LCAyMTksIDIxLCAyMTksIDEyNSwgMjQ5LCAyMTksIDIxLCAyMjAsIDEyMiwgMjQ5LCAKLSAgICAyMTksIDIxLCAyNDUsIDE5MywgMjQ5LCAyMTksIDIxLCAyMjgsIDIwMCwgMjQ5LCAyMTksIDg4LCA3LCA2LCAxLCA2MSwgODgsIAotICAgIDcsIDYsIDEsIDI1MywgMTU4LCA4OCwgNywgNiwgMSwgMjUxLCA2NiwgODgsIDcsIDYsIDEsIDI0OSwgNjAsIDg4LCA3LCA2LCAKLSAgICAxLCA3NSwgODgsIDcsIDYsIDEsIDI0NSwgNiwgODgsIDcsIDYsIDEsIDI0MywgMjAyLCA4OCwgNywgNiwgMSwgMjQyLCA2MCwgCi0gICAgODgsIDcsIDYsIDEsIDczLCA4OCwgNywgNiwgMSwgMjM1LCAxNDQsIDg4LCA3LCA2LCAxLCAyMzUsIDIzLCA4OCwgNywgNiwgCi0gICAgMSwgMTU2LCA4OCwgNywgNiwgMSwgMTkzLCA4OCwgNywgNiwgMSwgMjMwLCAyNSwgODgsIDcsIDYsIDEsIDc2LCA4OCwgNywgCi0gICAgNiwgMSwgMjI2LCAxMDUsIDg4LCA3LCA2LCAxLCAyMjQsIDk2LCA4OCwgNywgNiwgMSwgMTUzLCA4OCwgNywgNiwgMSwgMjIyLCAKLSAgICA5MSwgODgsIDcsIDYsIDEsIDIxNywgMTUyLCA4OCwgNywgNiwgMSwgNzAsIDg4LCA3LCA2LCAxLCAyMTQsIDEwNSwgODgsIDcsIAotICAgIDYsIDEsIDIxMiwgOTgsIDg4LCA3LCA2LCAxLCAyMTEsIDE3OCwgODgsIDcsIDYsIDEsIDIxMSwgMTE3LCA4OCwgNywgNiwgMSwgCi0gICAgMjEwLCAxNTksIDIxNiwgNiwgMjIwLCA1MywgMjUxLCAxNTcsIDcsIDYsIDEsIDIyMiwgOTEsIDM3LCAzMiwgNywgNiwgMSwgCi0gICAgMjUxLCA2NiwgMzcsIDMyLCA3LCA2LCAxLCAxNTMsIDM3LCAyNTAsIDE5MSwgMzcsIDIxMSwgMTgwLCA5MiwgNywgNiwgMSwgCi0gICAgNjEsIDkyLCA3LCA2LCAxLCAyNTMsIDE1OCwgOTIsIDcsIDYsIDEsIDI1MSwgNjYsIDkyLCA3LCA2LCAxLCAyNDksIDYwLCAKLSAgICA5MiwgNywgNiwgMSwgNzUsIDkyLCA3LCA2LCAxLCAyNDUsIDYsIDkyLCA3LCA2LCAxLCAyNDMsIDIwMiwgOTIsIDcsIDYsIDEsIAotICAgIDI0MiwgNjAsIDkyLCA3LCA2LCAxLCA3MywgOTIsIDcsIDYsIDEsIDIzNSwgMTQ0LCA5MiwgNywgNiwgMSwgMjM1LCAyMywgCi0gICAgOTIsIDcsIDYsIDEsIDE1NiwgOTIsIDcsIDYsIDEsIDE5MywgOTIsIDcsIDYsIDEsIDIzMCwgMjUsIDkyLCA3LCA2LCAxLCAKLSAgICA3NiwgOTIsIDcsIDYsIDEsIDIyNiwgMTA1LCA5MiwgNywgNiwgMSwgMjI0LCA5NiwgOTIsIDcsIDYsIDEsIDE1MywgOTIsIDcsIAotICAgIDYsIDEsIDIyMiwgOTEsIDkyLCA3LCA2LCAxLCAyMTcsIDE1MiwgOTIsIDcsIDYsIDEsIDcwLCA5MiwgNywgNiwgMSwgMjE0LCAKLSAgICAxMDUsIDkyLCA3LCA2LCAxLCAyMTIsIDk4LCA5MiwgNywgNiwgMSwgMjExLCAxNzgsIDkyLCA3LCA2LCAxLCAyMTEsIDExNywgCi0gICAgOTIsIDcsIDYsIDEsIDIxMCwgMTU5LCA5MiwgMjQwLCAyMDEsIDkyLCAyMzAsIDQ5LCA5MiwgMjIxLCAxODMsIDkyLCAyMTgsIAotICAgIDIyNiwgOTIsIDIyNCwgMjE4LCA5MiwgMjEyLCAyMywgMTUyLCAzNywgNywgNiwgMSwgNjEsIDE1MiwgMzcsIDcsIDYsIDEsIAotICAgIDI1MywgMTU4LCAxNTIsIDM3LCA3LCA2LCAxLCAyNTEsIDY2LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDksIDYwLCAxNTIsIDM3LCAKLSAgICA3LCA2LCAxLCA3NSwgMTUyLCAzNywgNywgNiwgMSwgMjQ1LCA2LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDMsIDIwMiwgMTUyLCAKLSAgICAzNywgNywgNiwgMSwgMjQyLCA2MCwgMTUyLCAzNywgNywgNiwgMSwgNzMsIDE1MiwgMzcsIDcsIDYsIDEsIDIzNSwgMTQ0LCAKLSAgICAxNTIsIDM3LCA3LCA2LCAxLCAyMzUsIDIzLCAxNTIsIDM3LCA3LCA2LCAxLCAxNTYsIDE1MiwgMzcsIDcsIDYsIDEsIDE5MywgCi0gICAgMTUyLCAzNywgNywgNiwgMSwgMjMwLCAyNSwgMTUyLCAzNywgNywgNiwgMSwgNzYsIDE1MiwgMzcsIDcsIDYsIDEsIDIyNiwgCi0gICAgMTA1LCAxNTIsIDM3LCA3LCA2LCAxLCAyMjQsIDk2LCAxNTIsIDM3LCA3LCA2LCAxLCAxNTMsIDE1MiwgMzcsIDcsIDYsIDEsIAotICAgIDIyMiwgOTEsIDE1MiwgMzcsIDcsIDYsIDEsIDIxNywgMTUyLCAxNTIsIDM3LCA3LCA2LCAxLCA3MCwgMTUyLCAzNywgNywgNiwgCi0gICAgMSwgMjE0LCAxMDUsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMiwgOTgsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMSwgMTc4LCAxNTIsIAotICAgIDM3LCA3LCA2LCAxLCAyMTEsIDExNywgMTUyLCAzNywgNywgNiwgMSwgMjEwLCAxNTksIDIyMywgMTU3LCAyMzEsIDk3LCA1MCwgCi0gICAgMjIzLCAxNTcsIDIzMSwgOTQsIDUwLCAxNTIsIDkyLCA3LCA2LCAxLCA2MSwgMTUyLCA5MiwgNywgNiwgMSwgMjUzLCAxNTgsIAotICAgIDE1MiwgOTIsIDcsIDYsIDEsIDI1MSwgNjYsIDE1MiwgOTIsIDcsIDYsIDEsIDI0OSwgNjAsIDE1MiwgOTIsIDcsIDYsIDEsIAotICAgIDc1LCAxNTIsIDkyLCA3LCA2LCAxLCAyNDUsIDYsIDE1MiwgOTIsIDcsIDYsIDEsIDI0MywgMjAyLCAxNTIsIDkyLCA3LCA2LCAKLSAgICAxLCAyNDIsIDYwLCAxNTIsIDkyLCA3LCA2LCAxLCA3MywgMTUyLCA5MiwgNywgNiwgMSwgMjM1LCAxNDQsIDE1MiwgOTIsIDcsIAotICAgIDYsIDEsIDIzNSwgMjMsIDE1MiwgOTIsIDcsIDYsIDEsIDE1NiwgMTUyLCA5MiwgNywgNiwgMSwgMTkzLCAxNTIsIDkyLCA3LCAKLSAgICA2LCAxLCAyMzAsIDI1LCAxNTIsIDkyLCA3LCA2LCAxLCA3NiwgMTUyLCA5MiwgNywgNiwgMSwgMjI2LCAxMDUsIDE1MiwgOTIsIAotICAgIDcsIDYsIDEsIDIyNCwgOTYsIDE1MiwgOTIsIDcsIDYsIDEsIDE1MywgMTUyLCA5MiwgNywgNiwgMSwgMjIyLCA5MSwgMTUyLCAKLSAgICA5MiwgNywgNiwgMSwgMjE3LCAxNTIsIDE1MiwgOTIsIDcsIDYsIDEsIDcwLCAxNTIsIDkyLCA3LCA2LCAxLCAyMTQsIDEwNSwgCi0gICAgMTUyLCA5MiwgNywgNiwgMSwgMjEyLCA5OCwgMTUyLCA5MiwgNywgNiwgMSwgMjExLCAxNzgsIDE1MiwgOTIsIDcsIDYsIDEsIAotICAgIDIxMSwgMTE3LCAxNTIsIDkyLCA3LCA2LCAxLCAyMTAsIDE1OSwgMjQ5LCAxMjgsIDE1MiwgOTIsIDcsIDYsIDEsIDIyNiwgCi0gICAgMTA1LCAxNTIsIDkyLCAyNDAsIDExMywgMTUyLCA5MiwgMTkwLCAxNTIsIDkyLCAyMDYsIDE1MiwgOTIsIDI1NSwgMjUsIAotICAgIDE1MiwgOTIsIDIxMiwgMjMsIDQyLCAyNDcsIDE2NCwgOTIsIDI1MCwgMjMsIDkyLCAyNDksIDE3MCwgOTIsIDI0MywgMjUyLCAKLSAgICA5MiwgMjQwLCAxMDUsIDkyLCAyMjksIDg2LCA5MiwgMjI5LCA3OSwgOTIsIDIyNiwgMjE0LCA5MiwgMjE5LCAzNSwgOTIsIAotICAgIDEyMCwgMiwgMjQ1LCAzMSwgNzgsIDkyLCAyMTMsIDExOSwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgNjEsIDIyMywgCi0gICAgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDI1MywgMTU4LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyNTEsIDY2LCAyMjMsIAotICAgIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyNDksIDYwLCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCA3NSwgMjIzLCAxMDMsIAotICAgIDIzNSwgMjM5LCAxNiwgMSwgMjQ1LCA2LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyNDMsIDIwMiwgMjIzLCAxMDMsIAotICAgIDIzNSwgMjM5LCAxNiwgMSwgMjQyLCA2MCwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgNzMsIDIyMywgMTAzLCAyMzUsIAotICAgIDIzOSwgMTYsIDEsIDIzNSwgMTQ0LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMzUsIDIzLCAyMjMsIDEwMywgMjM1LCAKLSAgICAyMzksIDE2LCAxLCAxNTYsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDE5MywgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgCi0gICAgMSwgMjMwLCAyNSwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgNzYsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIAotICAgIDIyNiwgMTA1LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMjQsIDk2LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAKLSAgICAxNTMsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDIyMiwgOTEsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDIxNywgCi0gICAgMTUyLCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCA3MCwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjE0LCAxMDUsIAotICAgIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDIxMiwgOTgsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDIxMSwgMTc4LCAKLSAgICAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMTEsIDExNywgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjEwLCAxNTksIAotICAgIDQyLCAxNDEsIDI0MSwgNjMsIDkyLCA1NiwgMjM0LCAxOCwgOTIsIDU2LCAyMDYsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1MCwgCi0gICAgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDU0LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjIsIDkyLCA1NiwgMjQ4LCA5MCwgOTIsIAotICAgIDksIDIxNCwgMTc3LCAyMzgsIDY5LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNTYsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAyOCwgCi0gICAgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDU1LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjgsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAKLSAgICA0MiwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDM1LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDQsIDkyLCA5LCAyMTQsIDE3NywgCi0gICAgMjM4LCA2NSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDUxLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjcsIDkyLCA5LCAyMTQsIAotICAgIDE3NywgMjM4LCA0MywgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDY2LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMjksIDkyLCA5LCAKLSAgICAyMTQsIDE3NywgMjM4LCAzNCwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDI3LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNTcsIAotICAgIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1OSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDM3LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgCi0gICAgNDgsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0NiwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDcyLCA5MiwgOSwgMjE0LCAxNzcsIAotICAgIDIzOCwgNzEsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAyNSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDUyLCA5MiwgOSwgMjE0LCAKLSAgICAxNzcsIDIzOCwgNzAsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA2MSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDQ3LCA5MiwgOSwgCi0gICAgMjE0LCAxNzcsIDIzOCwgMjYsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0OSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDMxLCAKLSAgICA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMzAsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA2MCwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIAotICAgIDM4LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDAsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0MSwgOTIsIDksIDIxNCwgMTc3LCAKLSAgICAyMzgsIDMzLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjQsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1OCwgMjE2LCA2LCAyMjAsIAotICAgIDUzLCAyNTEsIDE1NywgOSwgMjE0LCAxNzcsIDIzOCwgMzksIDIxNiwgNiwgMjIwLCA1MywgMjUxLCAxNTcsIDksIDIxNCwgCi0gICAgMTc3LCAyMzgsIDcxLCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA5LCAyMTQsIDE3NywgMjM4LCA2OSwgMjE2LCA2LCAKLSAgICAyMjAsIDUzLCAyNTEsIDE1NywgOSwgMjE0LCAxNzcsIDIzOCwgNTMsIDIxNiwgNiwgMjIwLCA1MywgMjUxLCAxNTcsIDksIAotICAgIDIxNCwgMTc3LCAyMzgsIDM2LCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA5LCAyMTQsIDE3NywgMjM4LCA0OSwgMjE2LCAKLSAgICA2LCAyMjAsIDUzLCAyNTEsIDE1NywgOSwgMjE0LCAxNzcsIDIzOCwgMzIsIDIxNiwgNiwgMjIwLCA1MywgMjUxLCAxNTcsIDksIAotICAgIDIxNCwgMTc3LCAyMzgsIDYzLCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA5LCAyMTQsIDE3NywgMjM4LCA0NSwgMzcsIAotICAgIDE1NCwgMjU0LCAyNDUsIDM3LCAxNTQsIDI1NSwgMTIsIDI0OSwgNzEsIDI0NCwgNDIsIDI1MCwgMCwgMjE0LCAxOTQsIDIyOCwgCi0gICAgMjEzLCAyLCAyMTgsIDE1MywgMjE4LCAzMywgMTE3LCAyMzAsIDExNCwgMjE4LCAzMiwgMjUwLCAyNiwgMjUzLCAyMDcsIAotICAgIDI0NiwgNTQsIDIxOCwgMzEsIDExNywgMjUxLCAxMTgsIDIyMywgMTU4LCAyNTEsIDE0MCwgMjUzLCAyMDcsIDIyOCwgMjEyLCAKLSAgICAyMTIsIDQxLCAyMTIsIDM1LCAyMTMsIDEzMSwgMjMwLCAxOTUsIDIxMiwgMjUsIDI0NSwgMjI0LCAyNDIsIDE4MSwgMjQ1LCAKLSAgICA0NSwgMjQ1LCAyMjQsIDI0MiwgMTgxLCAyNTQsIDEyOCwgMjQ1LCAyMjQsIDI0MiwgMTgxLCAyNTMsIDIyNSwgMjQyLCAxODEsIAotICAgIDIsIDIzMSwgNTEsIDE2NiwgMjMwLCAxMjksIDg3LCAyMTIsIDI3LCAyNDksIDEzNywgMjMwLCAxMjksIDg3LCAyNDQsIDkyLCAKLSAgICAyMjQsIDIyLCAyMzAsIDEyOSwgODcsIDIxMiwgMjcsIDI0MiwgMjEwLCAyMzAsIDEyOSwgODcsIDI0MywgMjI5LCAyMzAsIAotICAgIDEyOSwgODcsIDIxMiwgNTIsIDI0MiwgMjEwLCAyMzAsIDEyOSwgODcsIDIzMywgODAsIDIyNCwgMjIsIDIzMCwgMTI5LCA4NywgCi0gICAgMjEyLCA1MiwgMjQ5LCAxMzcsIDIzMCwgMTI5LCA4NywgMjQ5LCAxMzcsIDIzMCwgMTI4LCAxNjYsIDIzMCwgMTI5LCAyLCAKLSAgICAyNDQsIDE5MCwgMjQ0LCA5MiwgMjI0LCAyMiwgMjMwLCAxMjksIDIsIDI0NCwgMTkwLCAyMzMsIDgwLCAyMjQsIDIyLCAyMzAsIAotICAgIDEyOSwgMiwgMjQ0LCAxOTAsIDI0MywgMjI5LCAyMzAsIDEyOSwgMiwgMjQ0LCAxOTAsIDIxOCwgMzgsIDIsIDI0NCwgMTkwLCAKLSAgICAyNDIsIDE3OSwgMjE4LCAxNTYsIDIxOSwgMjU1LCAyMTgsIDE1NiwgMjUwLCAxMTYsIDIyMSwgMTY4LCAyNDUsIDM5LCAyMTUsIAotICAgIDIzNSwgMjQ4LCA4NCwgMjE1LCAyMzUsIDIyNiwgNTksIDIxNSwgMjM1LCAyNTEsIDI3LCAyMTUsIDEwOSwgMjUwLCAxMTgsIAotICAgIDI1MSwgMjEwLCAyMjIsIDE5MSwgMjQxLCAxNzksIDIxOCwgMzYsIDI1MSwgMjEwLCAyNDUsIDIyOCwgNjQsIDIzMSwgMTk0LCAKLSAgICAyNDUsIDIyOCwgNjQsIDIyMywgMzEsIDI0MSwgMjA0LCAyNDQsIDExLCAyMzMsIDU0LCAyNDksIDI0NiwgMjMxLCAxNzAsIAotICAgIDIzMywgNTMsIDI0NCwgMTc2LCAyMzMsIDUzLCAyMzMsIDU0LCAyNDQsIDQ3LCAyMzYsIDAsIDIxMSwgMjM5LCAyMzAsIDU4LCAKLSAgICAyMTYsIDM0LCAyNTMsIDE5MSwgMjQyLCAxNDMsIDIzMSwgNjcsIDIxMiwgMzksIDIxNywgNTcsIDIzMywgMjYsIDI1MiwgCi0gICAgMTQ5LCAyMjUsIDYyLCAyMjMsIDExMSwgMjU0LCA1NCwgMjQyLCAxMjcsIDI1NCwgNTQsIDIyNSwgMjE3LCAyMjUsIDIxOCwgCi0gICAgMjUwLCAxMTksIDIxOCwgMTE0LCAyNDIsIDIzLCAyMTksIDkwLCA2NCwgMjI1LCA0NCwgMjMxLCA4NywgMjI2LCAxOTcsIAotICAgIDI1MSwgMTk0LCAyMjQsIDIyOSwgMjMzLCAzNiwgMjIzLCAzMiwgMjQ5LCAxNDIsIDIyMywgMzIsIDI1MiwgMTU5LCAyNDksIAotICAgIDE3MywgMjIzLCAzMSwgMjQ5LCA5NSwgMjIsIDIyMywgMzEsIDIxOCwgMTQxLCAyNTEsIDE2NywgMjE5LCAxNCwgMjUxLCAKLSAgICAxNTEsIDI0MywgMjUxLCAyNDMsIDI0NywgMjIyLCAyMDcsIDIxNywgMjQ2LCAyMjQsIDIzMSwgMjQ4LCAxNzUsIDIyNiwgCi0gICAgMjM2LCAyMTgsIDcsIDI0MywgMjQ4LCAyMTksIDIzMCwgMjQ0LCA5MSwgMjUxLCAyMSwgMiwgMjE3LCAyMzksIDI0OCwgMzUsIAotICAgIDIxOSwgNTIsIDI0MCwgMTEyLCAyNDksIDE0MSwgMjIwLCA3MCwgMjQwLCAxMTEsIDI0MCwgMTEyLCAyNDksIDE0MSwgMjQ2LCAKLSAgICAxMDgsIDI0OSwgMTcyLCAyNTAsIDg0LCAxMzAsIDI1MCwgMjU0LCAyMzIsIDE0MSwgMjQ5LCA4OCwgMjQxLCA1NSwgMjI0LCAKLSAgICAyMzMsIDIxOSwgMjQwLCAyNTIsIDM2LCAyNTEsIDE2MywgMjI0LCAyMzQsIDY0LCAyNDQsIDMzLCAyNDksIDE3MSwgMjQ0LCAKLSAgICAyNCwgMjIsIDIzNCwgMzIsIDIxNywgMTksIDIxMSwgMjMwLCAyNDIsIDEzLCAyMjIsIDEyLCAyNTEsIDE3NywgMjIsIDI0OSwgCi0gICAgMTAyLCAyMTEsIDIzNywgMjQyLCAxODQsIDI0OSwgMjM1LCAyNDIsIDE4NCwgMjE1LCAxOTMsIDI0NiwgOTAsIDI1MiwgNjIsIAotICAgIDIzMCwgOTMsIDI1MCwgNywgMjUyLCA2MiwgMjMwLCA5MiwgMjUyLCAxODcsIDI1MSwgMTc2LCAyMjMsIDMzLCAyMTEsIDIwMSwgCi0gICAgMjI0LCAxOTUsIDI1MSwgMjM1LCAyNTEsIDIwLCAyMzUsIDEzOCwgMjUwLCA3NywgMjE1LCAyMzUsIDI0NCwgMTYyLCAyNTAsIAotICAgIDc2LCAyNDQsIDk0LCAyNDQsIDk1LCAyMTksIDEyLCAyNTIsIDE1OCwgMjI1LCAyNTAsIDIyNCwgMjQ0LCAyNDksIDIwNCwgCi0gICAgMjUyLCAxNTksIDIxNywgNTksIDIxNSwgMjM1LCAyNDksIDEyOCwgMjQ0LCA2NywgMjI1LCA2MywgMjQ4LCA4MSwgMjM1LCAKLSAgICAxMzEsIDI0NywgMTMxLCAyNTAsIDIzMiwgMjE4LCAxMTMsIDIxMSwgMjQwLCAyNTAsIDk4LCAyMzAsIDEyOSwgMjEzLCAxNjQsIAotICAgIDI1MCwgMTYyLCAyMjEsIDE5OSwgMjIxLCAyMjQsIDI0MiwgMTQ4LCAyNTAsIDI1MSwgMjUwLCAyMzMsIDI0MCwgMjQ1LCAKLSAgICAyNDQsIDEzMCwgMjEyLCAwLCAyMjIsIDIwMCwgMjQ5LCAyMzYsIDI0NCwgODYsIDIyNSwgMiwgMjIsIDI0NCwgOTAsIDIzMCwgCi0gICAgMjI3LCAyMzAsIDEwOCwgMjUxLCAxMCwgMjUwLCAzOSwgMjQxLCAyMzIsIDI1MywgMjQxLCAyMjYsIDYyLCAyMTYsIDE0LCAKLSAgICAyNDEsIDI1MSwgMjUwLCAyOSwgMjE2LCAyNDIsIDIxNiwgMTEzLCAyNTAsIDIwLCAyNTEsIDIwMiwgMjI1LCAxNzcsIDI1MywgCi0gICAgMjQwLCAyMTMsIDE3MiwgMjQzLCAxMTAsIDI0NywgMTk3LCAyNDEsIDE1NiwgMjE5LCA4NCwgMjMxLCAyMzQsIDI1MSwgMjQ1LCAKLSAgICAyNDMsIDExMSwgMjQ3LCAyNDAsIDI1MSwgMTY2LCAyNDQsIDUyLCAyMjUsIDMzLCAyNTAsIDI0MSwgMjgsIDIyOCwgNDcsIAotICAgIDIzMCwgODUsIDI4LCAyMjgsIDQyLCAyMjEsIDIxMiwgMjQyLCA5OSwgMjgsIDIzNCwgMTM3LCAyMTUsIDE5MCwgMjEzLCAKLSAgICAxNTQsIDI4LCAyMjEsIDE5MiwgMjIyLCAxMjQsIDIyMCwgMTEsIDIsIDIyMSwgMjI3LCAyMTYsIDI0NCwgMjIzLCAxNzgsIAotICAgIDIyLCAyNTIsIDE1OSwgMjE5LCAxMDUsIDIyLCAyMTksIDEwNSwgMjUxLCAxODcsIDI1MiwgMTIzLCAyMiwgMjQxLCA0OSwgCi0gICAgMjUwLCAxMjAsIDI0NCwgNzMsIDIxOSwgNjMsIDIyMiwgMTI1LCAyMTgsIDEyLCAyMTUsIDE5NCwgMjQwLCAyNDYsIDIyMywgCi0gICAgMTc5LCAyNTQsIDEyOSwgMjQ0LCAzMSwgMjIyLCAxMzYsIDI0NCwgMzEsIDIxNywgMjQxLCAyNDAsIDIzNSwgMjUxLCAxMTksIAotICAgIDI0MCwgMjM1LCAyLCAyNDMsIDk0LCAyMjYsIDIyOSwgMjUxLCAxMTksIDIzNSwgMTMxLCAyMjQsIDIzOSwgMjI2LCAyMjgsIAotICAgIDI0NSwgNDQsIDIyNCwgMjM5LCAyMjYsIDIyOCwgMjQwLCAyNDQsIDI1MiwgMTQ1LCAyNTMsIDE4MSwgMjE2LCAyNTIsIDIzMSwgCi0gICAgMjM0LCAyNDAsIDI0MCwgMjMyLCAxMTEsIDI0MCwgMjQwLCAyNDksIDE3NiwgMjE4LCAxMjUsIDIyMSwgMTk4LCAyNDgsIDQzLCAKLSAgICAyMTgsIDEyNSwgMjQ0LCAxODAsIDIzNSwgMTQ5LCAyMzMsIDg5LCAyMzUsIDEzMSwgMjUwLCAyMjYsIDI0NSwgNDQsIDI1MCwgCi0gICAgMjI2LCAyMjMsIDE0MSwgMjMwLCAxMTIsIDIyNiwgMTE0LCAyMTIsIDQxLCAyNTEsIDEyMywgMjQ5LCAxNDUsIDIxNiwgMTA2LCAKLSAgICAyMzMsIDE4LCAyMjMsIDE4MCwgMjUwLCAyMjQsIDI0NiwgOTYsIDI0OSwgMTM1LCAyMTIsIDMsIDIxOSwgNzAsIDIxOSwgNjgsIAotICAgIDI0MCwgMjQ1LCAyMjMsIDE1MywgMjQyLCAxNzAsIDIyMCwgNTcsIDIzMCwgMTQ1LCAyMjIsIDE5NCwgMjUwLCAxMDgsIDI0NywgCi0gICAgMTM2LCAyMjUsIDczLCAyNTEsIDIwMywgMjQ1LCAxNjksIDIyNiwgMjM4LCAyMTgsIDI1MiwgMjIwLCA1MiwgMjUxLCAxMjIsIAotICAgIDI1NCwgOTIsIDI0MSwgNTQsIDIzMywgMTIxLCAyNTIsIDYwLCAyNDQsIDkwLCAyMTUsIDE5MywgMjQ0LCA5MCwgMjUxLCAKLSAgICAyMDksIDIxNSwgOTEsIDI0MSwgMjQ5LCAyNTAsIDEwOSwgMjUyLCAxODcsIDI1MCwgMTA5LCAyNDMsIDI0MiwgMjUyLCAxODcsIAotICAgIDI1MCwgMTA5LCAyNTEsIDIzNywgMjI1LCAxOTUsIDIzNCwgMjYsIDIyNCwgMjQ4LCAyNDYsIDg3LCAyNTEsIDExLCAyNTIsIAotICAgIDE3NywgMjUxLCAxMSwgMjQ3LCAxMzAsIDIzMCwgMTEzLCAyNDQsIDE5MCwgMjQ5LCAxNDYsIDI0NCwgMTkwLCAyMTYsIDEwNywgCi0gICAgMjQ0LCAxOTAsIDIyMywgMTgxLCAyNDQsIDE5MCwgMjUwLCAyMjUsIDI0NCwgMTkwLCAyNDYsIDk3LCAyNDQsIDE5MCwgMjE4LCAKLSAgICAyNDEsIDIxMiwgMywgMjQwLCAyNDYsIDI0NCwgMTkwLCAyMzAsIDE0NiwgMjQ0LCAxOTAsIDI0NywgMTM3LCAyNDQsIDE5MCwgCi0gICAgMjI1LCA3NCwgMjQ0LCAxOTAsIDI0MywgMjQ1LCAyNDQsIDE5MCwgMjQyLCAyMCwgMjQ0LCAxOTAsIDIxMSwgMjI0LCAyNDQsIAotICAgIDE5MCwgMjUyLCA3MSwgMjQ0LCAxOTAsIDIyNiwgNDUsIDI0NCwgMTkwLCAyMjUsIDc0LCAyMjgsIDUzLCAyMjUsIDIzMiwgCi0gICAgMjI0LCAxODYsIDI0NSwgMTMsIDI0NSwgMjI3LCAyMjgsIDUzLCAyMzAsIDExMCwgMjE2LCAxOSwgNzEsIDEyMCwgMjI1LCA3LCAKLSAgICAyNTIsIDE4MiwgMjM1LCAyNDIsIDcxLCAxMjQsIDIyNSwgNywgMjUyLCAxODIsIDIzNSwgMjQyLCA3MSwgNDMsIDIyNSwgNywgCi0gICAgMjUyLCAxODIsIDIzNSwgMjQyLCA3MSwgNDQsIDIyNSwgNywgMjUyLCAxODIsIDIzNSwgMjQyLCAyNDQsIDg0LCAyNDIsIDE2LCAKLSAgICA1MCwgMjEyLCAzMywgMjQyLCAxNiwgNTAsIDIyNiwgMjE1LCAyNDIsIDE2LCA1MCwgMjE2LCAxMzUsIDEyMCwgNTAsIDIxNiwgCi0gICAgMTM1LCAxMjQsIDUwLCAyNTAsIDE5LCAyNDIsIDExLCA1MCwgMjA0LCAyNDIsIDExLCA1MCwgMjQ5LCAxMjMsIDIxMSwgMjIwLCAKLSAgICAyNDEsIDI1MSwgMjQ1LCAxNCwgMjI5LCAxMDQsIDIxNywgMTUxLCAyMzUsIDEyNSwgMjQ2LCA5MiwgMjM0LCA4MiwgMjUxLCAKLSAgICAyNDcsIDIxMSwgMjIwLCAyNDksIDI0OSwgMjI0LCAxMjcsIDI0MiwgMTQsIDIyNCwgMjMwLCAyMzEsIDE3NywgMjIwLCA0LCAKLSAgICAyNTMsIDIwMywgMjIwLCA0LCAyNDEsIDE2NCwgMjIwLCA0LCAyMTEsIDIyMCwgMjIxLCAyNDAsIDIxMSwgMjIwLCAyNTEsIAotICAgIDE4NiwgMjQ0LCAyOSwgMjUxLCA5MCwgMjM2LCAwLCAyMTksIDE2OSwgMjUxLCA4OSwgMjM2LCAwLCAyMTksIDE2OSwgMjUxLCAKLSAgICAxNjIsIDI0MiwgMTk0LCAyMzEsIDE4NSwgMjExLCAyMjEsIDI0NCwgMTc0LCAyMzEsIDE4NiwgMjIsIDIxMSwgMjIyLCAyNDEsIAotICAgIDYwLCAyNDIsIDEwLCAxMTMsIDIzMSwgNTksIDI0MSwgNjAsIDI0MiwgMTAsIDExMywgMjExLCAyMTksIDI0MSwgNjAsIDI0MiwgCi0gICAgMTAsIDIyNCwgMjU1LCAyMjYsIDIyNywgMjExLCAyMjIsIDIsIDI1MSwgMTA2LCAyNDUsIDIyNSwgMjUxLCAxNDEsIDIsIAotICAgIDIxMywgMjQ2LCAyMjUsIDE2OCwgMiwgMjUxLCAyMTIsIDI0MiwgMzQsIDIzMSwgMTg2LCAyLCAyNDIsIDExMCwgMjI1LCAKLSAgICAxMDksIDIzMSwgMTc0LCAyMzEsIDE4NiwgMiwgMjE1LCA5NywgMjI2LCAyMDgsIDIzMSwgMTg1LCAyMjYsIDIwOCwgMjExLCAKLSAgICAyMjEsIDI1MiwgMTg2LCAyNDksIDE5MCwgMjExLCAyMDUsIDIyNCwgMTg5LCAyMzUsIDEzMSwgMjI2LCAyMjMsIDIzNSwgCi0gICAgMTMxLCAyNDIsIDE2OSwgMjQyLCAyMjIsIDI1MiwgMTg3LCAyNTQsIDExMywgMjQ1LCAxOCwgMjU0LCAxNjAsIDI1NCwgMTYxLCAKLSAgICAyMzAsIDEzNiwgMjM2LCA1LCAyMTksIDEwMCwgMjM1LCAyMzIsIDI0OCwgMzQsIDIyNSwgMTY3LCAyNDIsIDEwNSwgMjQ4LCAKLSAgICAxNzksIDIzMiwgMjAxLCAyMjksIDIxMSwgMjI0LCAyNTQsIDI0NCwgMTkxLCAyMzEsIDE0MiwgMjQyLCAzMywgMjUyLCAxMzgsIAotICAgIDIyNSwgMSwgMjE3LCAxNzEsIDIyNSwgNjYsIDIzNCwgNjQsIDc4LCAyMzIsIDExMSwgMjMzLCAxMCwgMjIyLCAyMzMsIDI0MywgCi0gICAgNTQsIDIxOCwgMTMxLCAyMzQsIDYzLCAyNTEsIDE3MSwgMjQ5LCAxNDgsIDIsIDI0MSwgMjI3LCAyMTIsIDE5LCAyNTIsIDY5LCAKLSAgICAyNDEsIDIyNywgMjUxLCAxMzUsIDI0MSwgMjI3LCAxMTMsIDI0MSwgMjI1LCAyMTksIDEwLCAyNDEsIDIyNywgMjQyLCAxMjAsIAotICAgIDI0MSwgMjI3LCAyNDEsIDIyOCwgMiwgNzQsIDI1MSwgMjA4LCAyNDEsIDIyNywgMjQyLCAxMjcsIDI0MSwgMjI3LCAyMTEsIAotICAgIDQyLCAyNDEsIDIyNywgMjI0LCAxMjgsIDI0MSwgMjI3LCAyNDEsIDIyOCwgMiwgMjIzLCAzMywgMjIzLCA0NCwgMjQxLCAKLSAgICAyMjUsIDI0MSwgMjI4LCAyNDgsIDgxLCAyNDcsIDI0OSwgMjIwLCA4MiwgMiwgMTE1LCA1OSwgMjM1LCAyMTUsIDI0NSwgCi0gICAgMTcyLCAxOTIsIDI1MSwgMTE2LCAyNTQsIDExMiwgODcsIDI1MSwgMTk1LCAyMTksIDkyLCA4NywgMjQ5LCAyMjgsIDg3LCAKLSAgICAyMTgsIDI0NiwgMjE3LCAyNDgsIDg3LCAyNDYsIDg1LCAyNDgsIDE1NywgODcsIDIyNSwgNjcsIDY0LCAyMjQsIDI0OSwgCi0gICAgMjQ0LCA2MSwgMjUyLCAzLCAyNDcsIDE2NSwgODcsIDIxOSwgMywgMjUyLCAxNTgsIDIxNiwgMTQ5LCAyNTIsIDE1OCwgNzEsIAotICAgIDI0NCwgNTEsIDI0MCwgMjExLCAyMjUsIDUsIDg3LCAyMzAsIDE0OSwgMjUyLCAxNzIsIDI0OSwgOTgsIDI0NSwgMzIsIDExNCwgCi0gICAgMjQ3LCAxMzIsIDUwLCAyNDksIDEzOSwgMjUwLCAyNDIsIDI1MiwgMTQ0LCAyLCAyMTEsIDQwLCA1MCwgMjUyLCAxNDQsIDIsIAotICAgIDI0NywgMTMyLCA1MCwgMjUyLCAxNDQsIDIsIDI0NSwgNDcsIDUwLCAyNTIsIDE0NCwgMiwgMjI0LCAyMjgsIDUwLCAyMzAsIAotICAgIDE0OSwgMiwgMjExLCAyMzUsIDI1MCwgMTM4LCAyLCAyMTQsIDE1MywgMjE1LCAyMzEsIDIyLCAyMTEsIDQwLCA1MCwgMjIxLCAKLSAgICAxNzgsIDIyNSwgMTY2LCAyNDksIDIwOCwgMjUxLCAxMzksIDIzMCwgMTg2LCAyNDQsIDU2LCAyNDcsIDE4NSwgMjI2LCAxNjEsIAotICAgIDI0NywgMTkwLCAyNDYsIDQ5LCAyNDQsIDEwNywgMjQ0LCA0MCwgMjA0LCAyNDQsIDEwNywgMjQ0LCA0MCwgMjI2LCA3NiwgMiwgCi0gICAgMjQ5LCAxMDAsIDIyNiwgNzYsIDI0NCwgMTgzLCAyMTQsIDE2MywgMjUxLCAxNiwgMjE3LCAxOCwgMjUxLCAxNiwgMjUwLCAKLSAgICAyNDMsIDIzNSwgMjQyLCAyNTAsIDEzOCwgMiwgMjE0LCAxNTMsIDIxNSwgMjMwLCAyNTAsIDEzOCwgMiwgMjQ2LCAxMDQsIAotICAgIDIxNSwgMjMwLCAyNTIsIDE0MSwgMjUwLCAxMzcsIDI1MCwgNiwgMjI0LCAxMjMsIDIyMiwgMTg1LCAyMjQsIDEyMywgMjI2LCAKLSAgICAxOSwgMjE4LCAxMjEsIDIyMiwgMTMxLCAyMTUsIDIyMiwgMjIyLCAxMzEsIDI1MSwgMTkxLCAyMTcsIDkxLCAyMzMsIDUxLCAKLSAgICAyMjgsIDQ1LCAyMjgsIDQ2LCAyLCAyNDgsIDgwLCAyNDksIDE0NywgMjUwLCAwLCAyNTEsIDE5MiwgMjA0LCAyNTEsIDE5MiwgCi0gICAgMjQyLCAxMjcsIDI1MSwgMTkyLCAyNTEsIDIwOCwgMjUxLCAxOTIsIDIyNiwgMTU3LCAyNTEsIDE5MiwgMjUxLCAxODksIAotICAgIDIyOSwgMjA1LCAyNTIsIDE3NSwgMjIxLCAxODYsIDIzMSwgNjAsIDIxNywgMSwgMjIzLCAxMjMsIDIyNiwgNzQsIDI0NCwgCi0gICAgMTU5LCAyMzEsIDIzNCwgMjIxLCAyMjMsIDI1NCwgODksIDIyNCwgMTQ1LCAyNTQsIDI1MiwgMjMyLCAxMTMsIDI1MCwgMTI3LCAKLSAgICAyMzEsIDcyLCAyMjYsIDEyOSwgMjE1LCAyMzgsIDIzNSwgMjUyLCAyMTUsIDIzOCwgMjI2LCA4MiwgMjQ2LCAyNCwgODcsIAotICAgIDIzNSwgMjQ5LCAyNDUsIDExOSwgMjQ1LCAxMjAsIDIsIDI0NiwgMTA0LCA4MCwgNDgsIDI1MCwgMCwgMjMxLCAyMDAsIDIsIAotICAgIDIzMiwgMTA3LCAyNDQsIDczLCAyNTAsIDAsIDIzMSwgMjAwLCAyLCAyMjMsIDE1NywgMjQ0LCA3MywgMjA0LCAyMzEsIDIwMCwgCi0gICAgMiwgMjIzLCAxNTcsIDI0NCwgNzMsIDIwNCwgMjMxLCAyMDAsIDIsIDIzMiwgMTA3LCAyNDQsIDczLCAyMjQsIDIzNiwgMjI0LCAKLSAgICAyMzcsIDI0MCwgMjQ4LCAyMjksIDg0LCAyMzAsIDE1OSwgMjI1LCAxMTcsIDIzMCwgMTU5LCAyMjUsIDExOCwgMiwgOTcsIAotICAgIDgwLCAyNTMsIDIwNywgMjMzLCA0NiwgMjEzLCAxNzUsIDIzMCwgMTU4LCAyMzAsIDE1OSwgMjI1LCAxMTgsIDIyNiwgMjMwLCAKLSAgICAyMjgsIDc1LCAyMzAsIDE1OSwgMjI1LCAxMTYsIDI1NCwgOTAsIDIsIDI1MiwgMTI5LCAyNTEsIDEwLCAyMTMsIDE3MiwgCi0gICAgMjUxLCAxMCwgMjE2LCAyNTQsIDIyMywgMTczLCAyMTMsIDE3MSwgMjE1LCA2MCwgOTcsIDI1MywgMjQ3LCAyNTAsIDIsIDk3LCAKLSAgICAyMiwgMTQwLCAyMDQsIDI1MCwgMzYsIDI1MywgMjQ3LCAyNTAsIDIsIDk3LCAyMiwgMTQwLCAyMDQsIDI1MCwgMzYsIDI1MywgCi0gICAgMjQ4LCAyLCAzNywgMTIzLCAyMjYsIDEyMCwgMjUwLCAyLCAyNDYsIDEwNCwgMjIsIDIxNCwgMTUzLCAyMDQsIDI1MCwgMzYsIAotICAgIDI1MywgMjQ3LCAyNTQsIDg4LCAyNDYsIDEwNCwgMjIsIDIxNCwgMTUzLCAyMDQsIDI1MCwgMzYsIDI1MywgMjQ3LCAxMjEsIAotICAgIDI1MSwgMTM4LCA4NywgMTI1LCAyNTEsIDEzOCwgODcsIDIxOSwgNywgMiwgMjUxLCA0LCA5MSwgMjE5LCA2LCAyMTksIDcsIAotICAgIDIsIDEyMywgMjE5LCAzMSwgMjEyLCAzNSwgMjE5LCA3LCAyLCAxMzQsIDIxOSwgMzEsIDIxMiwgMzQsIDI1MiwgMTE1LCAKLSAgICAyNDUsIDE3MiwgMjI1LCAyNywgMjMzLCA0MiwgMjMxLCAyMTEsIDI0MiwgMTg0LCAyMjIsIDI0NywgMjMxLCAyMTEsIDI0MiwgCi0gICAgMTg0LCAyMzIsIDE1MiwgMiwgMjM1LCAyMjUsIDIyNSwgMTk5LCAyNTAsIDAsIDIzMiwgMTUyLCAyLCAyMzQsIDEzOCwgMjM0LCAKLSAgICAxMzgsIDIzMiwgMTUxLCAyMDQsIDIzMiwgMTUxLCAyNTIsIDQ0LCAyNTIsIDQ1LCAyLCAyNTEsIDQsIDkxLCAyNTEsIDE5MCwgCi0gICAgMjMyLCAyMDQsIDg3LCAyMjMsIDE3NCwgMjUxLCA4NiwgMjUyLCAxODUsIDIsIDE0MCwgODAsIDQ4LCAyNDUsIDE0MywgMiwgCi0gICAgMTQwLCA4MCwgNDgsIDIyNiwgMTk3LCAyLCAyNDUsIDMxLCAxNjQsIDIsIDQzLCA0NCwgODAsIDQ4LCAyMTksIDM5LCAyLCAKLSAgICA5NywgODAsIDQ4LCAyMTYsIDE0LCAyLCAyMTQsIDE1MywgODAsIDQ4LCAyMjgsIDc1LCAxMjMsIDIxNCwgMTg0LCAyNDUsIAotICAgIDE5MSwgODcsIDIzNCwgMTM2LCAyMTYsIDI0NywgMjM1LCAyMTksIDE2LCAzMSwgNywgNiwgMjMzLCA5LCAyMzUsIDIxOSwgCi0gICAgMTYsIDMxLCA3LCA0LCAyMzMsIDksIDIzNSwgMjE5LCAxNiwgMzEsIDIyNywgMTk5LCAyMzUsIDIxOSwgMTYsIDMxLCAyMTcsIAotICAgIDE4MywgMjM1LCAyMTksIDE2LCAzMSwgNywgMjMzLCA5LCAyNDQsIDk2LCAyNDUsIDE3MiwgMjE2LCA5LCAyMTEsIDE5OSwgCi0gICAgMjQyLCAyMSwgMjI3LCAxODIsIDIyLCAyNTEsIDE5NywgMjQxLCA2NiwgMjI1LCA1MCwgMjMwLCAyMjYsIDIxNiwgMjU1LCAKLSAgICAyNDksIDExNCwgMjUyLCAxNTksIDIxOSwgMTI1LCAyMjUsIDksIDIxOCwgMTU3LCAyLCAyMzAsIDIyNCwgMjQ3LCAxMjAsIAotICAgIDIzNSwgMTMxLCAxNiwgMzEsIDI1MiwgNTcsIDIxNSwgMjIwLCAyNDUsIDE1NiwgODUsIDQyLCAyNTEsIDg2LCA3MSwgNDIsIAotICAgIDI1MSwgODYsIDIzMywgODUsIDIyMywgMTExLCAyNTAsIDM1LCAyMzMsIDg1LCAyNTEsIDIwOCwgMjUwLCAzNSwgMjMzLCA4NSwgCi0gICAgMjI2LCAxNTcsIDI0NywgMjQ4LCAyMzMsIDg1LCAyNTEsIDIwOCwgMjQ3LCAyNDgsIDQsIDIyNiwgMTU3LCAyNDcsIDI0OCwgCi0gICAgNCwgMjUxLCAyMDgsIDI0NywgMjQ4LCAyMTQsIDE2MiwgMjIzLCAxMTEsIDIxNSwgMjI1LCAyNDYsIDEwNSwgMjIzLCAxMTEsIAotICAgIDIxNSwgMjI1LCAyMTQsIDE2MiwgNCwgMjIzLCAxMTEsIDIxNSwgMjI1LCAyNDYsIDEwNSwgNCwgMjIzLCAxMTEsIDIxNSwgCi0gICAgMjI1LCAzNywgMjQ5LCAxMzEsIDIyNCwgMjUyLCAyNDksIDEzMSwgMjI0LCAyNTMsIDIsIDI0MiwgMjYsIDUxLCAyNDksIAotICAgIDEzMSwgMjI0LCAyNTIsIDIyOCwgNDksIDQzLCAyMjAsIDE1MywgMiwgMTM0LCAyNDcsIDExOCwgMjUwLCA0LCAyNDQsIDE5MSwgCi0gICAgMTIzLCAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgMTEzLCAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgMTM0LCAKLSAgICAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgMjQ0LCAxMSwgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDI0NCwgODEsIAotICAgIDIyNiwgMjQyLCAyNTAsIDQsIDI0NCwgMTkxLCAyMTksIDEyNSwgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDIyMCwgCi0gICAgMTIyLCAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgMjQ1LCAxOTMsIDIyNiwgMjQyLCAyNTAsIDQsIDI0NCwgMTkxLCAKLSAgICAyMjgsIDIwMCwgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDIxNiwgMjQ4LCAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIAotICAgIDE5MSwgMjQ1LCAxNjgsIDIyNiwgMjQyLCAyNTAsIDQsIDI0NCwgMTkxLCAyMTUsIDc3LCAyMjYsIDI0MiwgMjUwLCA0LCAKLSAgICAyNDQsIDE5MSwgMjI2LCAxOTIsIDI1MCwgNCwgMjQ0LCAxOTEsIDIxNSwgNTYsIDI1MCwgNCwgMjQ0LCAxOTEsIDIxNiwgCi0gICAgMTQwLCAyNTAsIDQsIDI0NCwgMTkxLCAyNDQsIDcsIDI1MCwgNCwgMjQ0LCAxOTEsIDI0NCwgNzksIDI1MCwgNCwgMjQ0LCAKLSAgICAxOTEsIDIxOSwgMTIxLCAyNTAsIDQsIDI0NCwgMTkxLCAyMjAsIDEyMSwgMjUwLCA0LCAyNDQsIDE5MSwgMjQ1LCAxOTIsIAotICAgIDI1MCwgNCwgMjQ0LCAxOTEsIDIyOCwgMTk5LCAyNTAsIDQsIDI0NCwgMTkxLCAyMTYsIDI0NiwgMjUwLCA0LCAyNDQsIDE5MSwgCi0gICAgMjQ1LCAxNjYsIDI1MCwgNCwgMjQ0LCAxOTEsIDIxNSwgNzUsIDIzMCwgMTE3LCAyNDMsIDIzMCwgMjE2LCAzNiwgMjE2LCAyLCAKLSAgICAyMTgsIDE0OCwgNjQsIDIzMiwgMjM5LCAyMTksIDE3MCwgNjQsIDIzNSwgMTMyLCAyMzAsIDEwNiwgMjQyLCAxMjQsIDI0NCwgCi0gICAgMTkwLCAyNDIsIDEyNCwgMjQ0LCAxOTEsIDIsIDIxOSwgNzQsIDI0NSwgMTMsIDI0NCwgMTkxLCAyLCAyMTcsIDE0LCA2NCwgCi0gICAgMjM1LCA1MywgMjE5LCA3NCwgMjQ0LCAxOTEsIDIsIDIwNCwgMjMwLCAxMTAsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyMDQsIAotICAgIDIzMCwgMTExLCAyMiwgMjE5LCA3NCwgMjQ1LCAxMywgMjE5LCA3NCwgMjQ0LCAxOTEsIDIsIDIwNCwgMjMwLCAxMTEsIDIyLCAKLSAgICAyNDksIDIzMCwgMjE3LCAyNDcsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyMDQsIDIzMCwgMTExLCAyMiwgMjE2LCAxMDQsIAotICAgIDI0NSwgMTMsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyNDIsIDI1LCAyMTksIDc0LCAyNDQsIDE5MSwgMiwgMjQwLCAyNDcsIAotICAgIDIxMSwgMjMzLCAyNDQsIDE5MCwgMjE5LCA3NCwgMjQ0LCAxOTEsIDIsIDIxOSwgNzQsIDI0NSwgMTMsIDI0NCwgMTkxLCAKLSAgICAyMjEsIDIxNywgMjQ4LCA2MiwgMjQ0LCAzMywgMjIzLCA4OCwgMjQ0LCAxOTAsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyNDEsIAotICAgIDIyNiwgMjQ1LCAxMywgMjE5LCA3NCwgMjQ0LCAxOTEsIDIsIDIxOCwgMzQsIDIxOSwgNzMsIDI0NCwgMTkwLCAyMjksIDg3LCAKLSAgICAyNDQsIDE5MCwgMjQ1LCAyMywgMjQ0LCAxOTAsIDIxNCwgMTg4LCAyNDQsIDE5MCwgMjQ0LCAxOTEsIDIsIDI0OSwgMjMwLCAKLSAgICAyMTcsIDI0NywgMjI1LCAxOTIsIDI0NCwgMTkwLCAyNDksIDIwMSwgMjQ0LCAxOTAsIDI0OSwgMjAyLCAyNDQsIDE5MCwgCi0gICAgMjM0LCA2MiwgMjQ0LCAxOTAsIDI0NCwgMTkxLCAyMTYsIDEzNywgMTE1LCAyMzQsIDYzLCAyMzQsIDYyLCAyNDQsIDE5MSwgCi0gICAgMiwgMjE5LCA3NCwgMjQ1LCAxMywgMjM0LCA2MiwgMjQ0LCAxOTEsIDIsIDI1MCwgMCwgMjQ1LCAxMywgMjQ0LCAxOTEsIDIsIAotICAgIDIxOCwgODgsIDIxNiwgMTksIDI0NCwgMTkxLCAyLCAyMTgsIDg4LCAyMTYsIDIwLCAyMiwgMjExLCAyMzMsIDI0NSwgMTUsIAotICAgIDI0NCwgMTkxLCAyLCAyMTgsIDg4LCAyMTYsIDIwLCAyMiwgMjE2LCAxMDQsIDI0NSwgMTMsIDI0NywgMTkyLCAyNDQsIDE5MCwgCi0gICAgMjExLCAyMDQsIDI0NCwgMTkwLCAyNTQsIDEwOCwgMjQ0LCAxOTAsIDIyNCwgMjI3LCAyNDQsIDE5MCwgMjQ5LCAxMTYsIAotICAgIDI0NCwgMTkwLCAyMjUsIDE3MCwgMjQ0LCAxOTAsIDI0NCwgMTkxLCAyLCAyMzIsIDEyNiwgNjQsIDIxNSwgMjA0LCAyNDcsIAotICAgIDE5MiwgMjUxLCA4OCwgMjIzLCA4OCwgMjQ0LCAxOTAsIDI0MywgMjM5LCAyNDQsIDE5MSwgMiwgMjA0LCAyMzAsIDExMCwgCi0gICAgMjU0LCAxMDYsIDI0NCwgMTkwLCAyNDQsIDE1MiwgMjQ0LCAxOTAsIDIxMiwgMjAsIDI0NCwgMTkwLCAyMTksIDkxLCAyNDQsIAotICAgIDE5MCwgMjE2LCA3MSwgMjQ0LCAxOTAsIDI0MiwgMTI1LCAyNDQsIDE5MCwgMjMyLCAxMTQsIDI0OSwgMTE2LCAyNDQsIDE5MCwgCi0gICAgMjQ0LCAxOTEsIDIsIDIwNCwgMjMwLCAxMTAsIDI0MCwgMjAzLCAyNDQsIDE5MCwgMjQ0LCAxOTEsIDIsIDIwNCwgMjMwLCAKLSAgICAxMTEsIDIyLCAyNDksIDIzMCwgMjE3LCAyNDcsIDI0NCwgMTkxLCAyMjEsIDE5MCwgMjM2LCAwLCAyNDQsIDE1MywgMjUzLCAKLSAgICAyMTMsIDI0NCwgMTkwLCAyNDQsIDQ5LCAyNDQsIDE5MCwgMjE5LCA5MiwgMjQ0LCAxOTAsIDI0NywgMTY1LCAyNDQsIDE5MCwgCi0gICAgMjQ0LCAxOTEsIDIxMSwgMjMwLCAyMzAsIDExMCwgMjQ0LCAxOTEsIDIsIDIzMSwgODQsIDIzMSwgMTQ0LCAyNDIsIDEyNCwgCi0gICAgMjUwLCAyMjUsIDI0NCwgMTkxLCAyLCAyMTksIDc0LCAyNDUsIDEzLCAyNTAsIDIyNSwgMjQ0LCAxOTEsIDIsIDIxNywgMTQsIAotICAgIDY0LCAyMzUsIDUzLCAyMTksIDc0LCAyNTAsIDIyNSwgMjQ0LCAxOTEsIDIsIDIwNCwgMjMwLCAxMTAsIDIxOSwgNzQsIDI1MCwgCi0gICAgMjI1LCAyNDQsIDE5MSwgMiwgMjQxLCAyMjYsIDI0NSwgMTMsIDI1MCwgMjI1LCAyNDQsIDE5MSwgMiwgMjExLCAxOTYsIAotICAgIDIxOSwgNzUsIDIzNCwgNjIsIDI1MCwgMjI1LCAyNDQsIDE5MSwgMiwgMjUwLCAwLCAyNDUsIDEzLCAyMjQsIDIyNywgMjUwLCAKLSAgICAyMjUsIDI0NCwgMTkwLCAyNDksIDExNiwgMjUwLCAyMjUsIDI0NCwgMTkwLCAyMTIsIDIwLCAyNTAsIDIyNSwgMjQ0LCAxOTAsIAotICAgIDI0NCwgMTkxLCAyLCAyMjgsIDc1LCAyNDIsIDE2MywgMjQzLCAzNCwgMjQ0LCAxOTEsIDIsIDIyNiwgMjE1LCAyNDMsIDM0LCAKLSAgICAyMjUsIDE2OCwgMjUxLCAxNjgsIDI0OCwgNzUsIDIyMSwgMTY5LCAyMzAsIDE0NSwgMjQxLCAyMjksIDIzMCwgMTQ1LCAyMTksIAotICAgIDgsIDIzMCwgMTQ1LCAyNDIsIDUsIDIyNSwgMTY4LCAyMjMsIDE1NiwgMTIzLCAyNDIsIDE1LCAyMjUsIDE2OCwgMjIzLCAKLSAgICAxNTYsIDI1MSwgMTc4LCAyNDIsIDExLCAyMzYsIDAsIDI1MCwgMTc5LCAyMjUsIDE2OCwgMjQzLCAyMzgsIDIyNSwgMTY4LCAKLSAgICAyLCAyMjQsIDIyNywgMjQ0LCAxOTAsIDIyNSwgMTY4LCAyLCAyNDQsIDQxLCAyNDIsIDEwLCAyMjIsIDIwMywgMjQxLCAyMTQsIAotICAgIDIxOCwgMTQzLCAyMzIsIDE0OSwgMjIzLCAxNjIsIDI1MCwgMjQ0LCAyNDEsIDE2MiwgMjE1LCAyNDgsIDI0MSwgMTYyLCAKLSAgICAyMTUsIDI0OSwgMiwgMjUxLCAxMTQsIDIyOCwgNTMsIDIxNSwgMjQ4LCAyMzEsIDMyLCAxOTIsIDIyMywgMTYzLCAyMTgsIAotICAgIDE0OSwgMjE1LCAyNDYsIDIxNSwgMjQ3LCAyNTAsIDI0NCwgMjUxLCA5MiwgMjI2LCAxOTQsIDI1MSwgOTIsIDIxNSwgMjAxLCAKLSAgICAyNTEsIDkzLCAyMTgsIDEyOSwgMjMwLCAxODcsIDI1NCwgMTMwLCAyNDQsIDk3LCAyNDUsIDEzNywgMjI0LCAyNTUsIDI1MCwgCi0gICAgMjQ0LCAyMjYsIDE5NCwgMjI0LCAyNTUsIDI1MCwgMjQ0LCAyMTcsIDMyLCAyMjYsIDE5NCwgMjE3LCAzMiwgMjUzLCAxODAsIAotICAgIDIyNiwgMTk0LCAyNTMsIDE4MCwgMjIzLCAxMTgsIDIxMywgMjQ3LCAyNDgsIDU4LCAyMTUsIDE5MiwgMjUzLCAyNDIsIDIzMiwgCi0gICAgMTE3LCAyMTUsIDI1NCwgMjMwLCAxMzksIDIzMCwgMTE2LCAyMjMsIDE2MSwgMjE4LCA2LCAyMjMsIDE2MSwgMjMwLCAxMTYsIAotICAgIDI1MSwgMjgsIDI1NCwgMjI5LCAyMTUsIDI0NSwgMjIwLCAxNiwgMjIyLCAxODIsIDIxOSwgMSwgMjAzLCAyMTUsIDI1MiwgCi0gICAgMjMyLCAyMzAsIDY3LCAyMTUsIDI1MiwgMjMyLCAyMzAsIDI0OSwgMTkwLCA1MCwgMjI0LCAyNTUsIDI1MCwgMjI5LCAyMjMsIAotICAgIDQ0LCAyMzIsIDIzMCwgMjE1LCAyMjIsIDI0NCwgNzQsIDIyNiwgMTk3LCAyMjQsIDIzOCwgMjQ3LCAxMjMsIDIyOCwgNzUsIAotICAgIDI0NSwgMTI1LCA1MCwgMjE5LCA3MiwgODcsIDIyOCwgNzUsIDIxOSwgNzIsIDg3LCAyMjQsIDEyMiwgMjMyLCAxOTMsIDIzNiwgCi0gICAgMCwgMjM1LCAxNTcsIDIyNSwgNDEsIDg3LCAyNDcsIDE0NiwgMjI4LCA1MiwgMjMyLCAxOTMsIDg3LCAyMjQsIDIzMiwgMjEyLCAKLSAgICA0MSwgODcsIDIyOCwgNjYsIDIxMiwgNDEsIDg3LCAyNTIsIDIsIDIyOCwgNzUsIDI1MiwgMSwgMjUyLCAwLCAyMzAsIDExNiwgCi0gICAgMjUyLCAwLCAyMjUsIDIxMywgMjI4LCA3NSwgMjI1LCAyMTIsIDI1MCwgMTAwLCAyNDksIDEyNCwgMjMxLCA1NiwgODcsIAotICAgIDIxMSwgMjE4LCA4NywgMjIzLCA1OSwgMjUyLCAxODcsIDg3LCAyMTYsIDM3LCAyMTIsIDQxLCAyNDksIDI1MywgMjE5LCAKLSAgICAyMzQsIDI1MiwgMTE4LCAyNTIsIDExNiwgMjI1LCAyNDIsIDI0OSwgMTc3LCAyNDksIDg2LCAyNTIsIDE2OSwgMjUwLCAyMiwgCi0gICAgNDMsIDIzMiwgOTAsIDEwOCwgMTYsIDMxLCAyMjQsIDMsIDEwOCwgMTYsIDMxLCAyNTQsIDE5MiwgMTA4LCAxNiwgMzEsIAotICAgIDI0NCwgOTYsIDEwOCwgMTYsIDMxLCAyNDUsIDIyMywgMTA4LCAxNiwgMzEsIDIxMiwgNDAsIDEwOCwgMTYsIDMxLCAyNTQsIAotICAgIDQzLCAxMDgsIDE2LCAzMSwgMjU0LCA0NCwgMjIzLCAxMDUsIDEwOCwgMTYsIDMxLCAyNTQsIDQ0LCAyMjMsIDEwNCwgMTA4LCAKLSAgICAxNiwgMzEsIDI1NCwgNDQsIDIxMywgMTQzLCAxMDgsIDE2LCAzMSwgMjU0LCA0NCwgMjEzLCAxNDIsIDEwOCwgMTYsIDMxLCAKKyAgICAyMTEsIDgsIDk1LCAyNSwgNSwgMjU0LCAyNDQsIDk1LCAyNSwgNSwgMjU0LCAyNDAsIDk1LCAyNSwgNSwgMjQ1LCA4NywgOTUsIAorICAgIDI1LCA1LCAyMjIsIDE4NCwgMjQ1LCA4NywgOTUsIDI1LCA1LCAyNDUsIDkzLCA5NSwgMjUsIDUsIDIyMiwgMTg0LCAyNDUsIAorICAgIDkzLCA5NSwgMjUsIDUsIDI1NCwgMjAyLCA5NSwgMjUsIDUsIDI0NSwgMTk2LCA5NSwgMjUsIDUsIDI1MywgMTkzLCA5NSwgCisgICAgMjUsIDUsIDIyNiwgMTM1LCA5NSwgMjUsIDUsIDIzMCwgMjYsIDk1LCAyNSwgNSwgMjI5LCA4MCwgOTUsIDEzOCwgMjIyLCAKKyAgICAyNTIsIDk1LCAxMzgsIDIxNiwgMTUsIDIyMiwgMjUyLCA5NSwgMTM4LCA0OCwgOTUsIDEzOCwgNTEsIDk1LCAxLCAyMTYsIAorICAgIDI5LCA5NSwgMSwgMjE2LCAyOCwgOTUsIDEsIDIxNiwgMjcsIDk1LCAxLCAyMTYsIDI2LCA5NSwgMSwgMjE2LCAyNSwgOTUsIAorICAgIDEsIDIxNiwgMjQsIDk1LCAxLCAyMTYsIDIzLCA5NSwgMSwgMjIzLCAxMDcsIDIxNiwgMzAsIDk1LCAxLCAyMjMsIDEwNywgCisgICAgMjE2LCAyOSwgOTUsIDEsIDIyMywgMTA3LCAyMTYsIDI3LCA5NSwgMSwgMjIzLCAxMDcsIDIxNiwgMjYsIDk1LCAxLCAyMjMsIAorICAgIDEwNywgMjE2LCAyNSwgOTUsIDEsIDIyMywgMTA3LCAyMTYsIDIzLCA1NiwgMSwgMjU0LCAyNCwgNzUsIDE0MSwgMSwgMjU0LCAKKyAgICAyNCwgMjExLCA0NywgNDksIDI4LCAxNiwgMjI0LCAxNTUsIDQ5LCAyOCwgMTYsIDI0OCwgMTU5LCA0OSwgMjgsIDE2LCAyMjUsIAorICAgIDE3NiwgNDksIDI4LCAxNiwgMjI2LCAxMTQsIDI0NSwgMTc5LCA0OSwgMjgsIDE2LCAyMjYsIDExNCwgMjQ3LCAyMDIsIDQ5LCAKKyAgICAyOCwgMTYsIDIxNCwgMTYsIDI0NSwgMTc5LCA0OSwgMjgsIDE2LCAyMTQsIDE2LCAyNDcsIDIwMiwgNDksIDI4LCAxNiwgCisgICAgMjM0LCAxOTgsIDQ5LCAyOCwgMTYsIDIxNywgMTcwLCA0OSwgMjgsIDE2LCAyMjYsIDEwLCA0OSwgMjgsIDE2LCAyMTAsIAorICAgIDIxNywgNDksIDI4LCAxNiwgMjEwLCAyMTgsIDI0NywgMjAyLCA0OSwgMjgsIDE2LCAyMzMsIDIzNSwgNDksIDI4LCAxNiwgCisgICAgMjU0LCA2OSwgMjQ1LCAxNzksIDQ5LCAyOCwgMTYsIDI0NSwgMjcsIDI0NSwgMTc5LCA0OSwgMjgsIDE2LCAyMTcsIDMsIDQ5LCAKKyAgICAyOCwgMTYsIDIzNCwgMTYyLCA0OSwgMjgsIDE2LCAyNTQsIDU5LCA0OSwgMjgsIDE2LCAyNTQsIDYwLCAyNDcsIDIwMiwgNDksIAorICAgIDI4LCAxNiwgMjE3LCAxNzYsIDQ5LCAyOCwgMTYsIDIxNiwgMTYwLCA0OSwgMjgsIDE2LCAyMjYsIDIwNywgMjU0LCAyMiwgCisgICAgNDksIDI4LCAxNiwgMjQyLCAxNjAsIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIDIyNCwgMTU0LCA0OSwgMjgsIDE2LCAyNTAsIAorICAgIDE1MCwgNDksIDI4LCAxNiwgMjE0LCA2LCA0OSwgMjgsIDE2LCAyMzUsIDE2NSwgMjU0LCAyMiwgNDksIDI4LCAxNiwgMjM0LCAKKyAgICAxNjQsIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIDIzNCwgMTYzLCAyNTQsIDIyLCA0OSwgMjgsIDE2LCAyMjEsIDIxNCwgNDksIAorICAgIDI4LCAxNiwgMjI2LCAxLCA0OSwgMjgsIDE2LCAyMTgsIDE0NywgMjU0LCA2MiwgNDksIDI4LCAxNiwgMjI2LCAxMTMsIDI1NCwgCisgICAgMjIsIDQ5LCAyOCwgMTYsIDIxNCwgMTUsIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIDI1NCwgNjMsIDI1NCwgMjIsIDQ5LCAyOCwgCisgICAgMTYsIDI1NCwgNTcsIDQ5LCAyOCwgMTYsIDIzNCwgMzgsIDQ5LCAyOCwgMTYsIDIyMywgNDcsIDQ5LCAyOCwgMTYsIDIyNSwgCisgICAgMTA3LCAyNTQsIDIyLCA0OSwgMjgsIDE2LCAyMTYsIDg0LCA0OSwgMjgsIDE2LCAyNTQsIDEyMiwgNDksIDI4LCAxNiwgMjIxLCAKKyAgICAxNjAsIDQ5LCAyOCwgMTYsIDIxNywgMTc5LCAyNTQsIDIyLCA0OSwgMjgsIDE2LCAyMTcsIDE3OSwgMjMxLCA0MSwgMjE4LCAKKyAgICAxNDUsIDQ5LCAyOCwgMTYsIDIyNiwgMTA4LCAyNTQsIDIyLCA0OSwgMjgsIDE2LCAyMTYsIDE5MSwgNDksIDI4LCAxNiwgCisgICAgMjMzLCAyOCwgNDksIDI4LCAxNiwgMjQ2LCA0MiwgNDksIDI4LCAxNiwgMjE1LCAyMjgsIDQ5LCAyOCwgMTYsIDIxNiwgMjMzLCAKKyAgICA0OSwgMjgsIDE2LCAyMzMsIDIzOCwgNDksIDI4LCAxNiwgMjU0LCA2OSwgMjQ1LCAyNywgMjI5LCA5NiwgNDksIDI4LCAxNiwgCisgICAgMjQzLCAyMzcsIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIDIzNiwgMTMsIDQ5LCAyOCwgMTYsIDIxNSwgMjAwLCAyNTQsIDIyLCAKKyAgICA0OSwgMjgsIDE2LCAyMzQsIDIwMSwgMjE1LCAxOTksIDQ5LCAyOCwgMTYsIDIyNSwgMjAxLCA0OSwgMjgsIDE2LCAyMjQsIAorICAgIDE1OSwgNDksIDI4LCAxNiwgMjM0LCAxMiwgNDksIDI4LCAxNiwgMjUwLCA4MSwgMjU0LCAyMiwgNDksIDI4LCAxNiwgMjIzLCAKKyAgICAxNDcsIDQ5LCAyOCwgMTYsIDIyNiwgMTMsIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIDIyNiwgMTEsIDI1NCwgMjIsIDQ5LCAyOCwgCisgICAgMTYsIDI0MCwgMTEwLCA0OSwgMjgsIDE2LCAyMjksIDIwNCwgNDksIDI4LCAxNiwgMjI1LCAxNTcsIDQ5LCAyOCwgMTYsIAorICAgIDIzNCwgMTMsIDI1NCwgMTUwLCA0OSwgMjgsIDE2LCAyMTUsIDIwMCwgMjU0LCAxNTAsIDQ5LCAyOCwgMTYsIDIxOCwgMTI0LCAKKyAgICA0OSwgMjgsIDE2LCAyNDIsIDEyNCwgNDksIDI4LCAxNiwgMjM1LCAxNjUsIDIyOSwgOTYsIDQ5LCAyOCwgMTYsIDIyNiwgCisgICAgMjA3LCAyMjksIDk2LCA0OSwgMjgsIDE2LCAyMjYsIDExNCwgMjI5LCA5NiwgNDksIDI4LCAxNiwgMjI1LCAxNTYsIDQ5LCAKKyAgICAyOCwgMTYsIDIzMywgMjU1LCA0OSwgMjgsIDE2LCAyMjUsIDE1NSwgNDksIDI4LCAxNiwgMjMzLCAyMzcsIDQ5LCAyOCwgMTYsIAorICAgIDIyNSwgMjAyLCAyMjksIDk2LCA0OSwgMjgsIDE2LCAyMzQsIDE2MywgMjI5LCA5NywgMjU0LCA5NywgNDksIDI4LCAxNiwgCisgICAgMjM0LCAxNjQsIDIyOSwgOTcsIDI1NCwgOTcsIDQ5LCAyOCwgMTYsIDIxMCwgMjE1LCA0OSwgMjgsIDE2LCAyNTQsIDYwLCAKKyAgICAyMjksIDk2LCA0OSwgMjgsIDE2LCAyNTQsIDYxLCAyMTcsIDE3NywgMjI5LCA5NiwgNDksIDI4LCAxNiwgMjEwLCAyMTYsIAorICAgIDQ5LCAyOCwgMTYsIDIzMywgMjM2LCA0OSwgMjgsIDE2LCAyNDUsIDE3NCwgNDksIDI4LCAxNiwgMjUwLCAxNTEsIDQ5LCAyOCwgCisgICAgMTYsIDIzMCwgMTk5LCAyMzUsIDE2NCwgNDksIDI4LCAxNiwgMjE0LCAxNiwgMjI5LCA5NiwgNDksIDI4LCAxNiwgMjI1LCAKKyAgICAxMDcsIDIyOSwgOTYsIDQ5LCAyOCwgMTYsIDIyNCwgMTYwLCAyMjksIDk2LCA0OSwgMjgsIDE2LCAyMjYsIDIwNCwgNDksIAorICAgIDI4LCAxNiwgMjU0LCA4NSwgNDksIDI4LCAxNiwgMjMyLCA1OSwgNDksIDI4LCAxNiwgMjI2LCAxMSwgMjI5LCA5NiwgNDksIAorICAgIDI4LCAxNiwgMjI2LCAxMywgMjI5LCA5NiwgNDksIDI4LCAxNiwgMjQ1LCA2MSwgMjI2LCAxMiwgNDksIDI4LCAxNiwgMjMzLCAKKyAgICAxNTQsIDQ5LCAyOCwgMTYsIDI1NCwgODYsIDQ5LCAyOCwgMTYsIDIxNSwgMjAwLCAyMjksIDk2LCA0OSwgMjgsIDE2LCAyNDUsIAorICAgIDE3NywgNDksIDI4LCAxNiwgMjE3LCAxNzksIDIyOSwgOTYsIDQ5LCAyOCwgMTYsIDIxNywgMTcxLCA0OSwgMjgsIDE2LCAKKyAgICAyNTAsIDgxLCAyMjksIDk2LCA0OSwgMjgsIDE2LCAyNDUsIDEwNywgNDksIDI4LCAxNiwgMjIxLCAxNjEsIDIyOSwgOTYsIAorICAgIDQ5LCAyOCwgMTYsIDIxMSwgMTUxLCAyMzQsIDM4LCA0OSwgMjgsIDE2LCAyMTUsIDE5NywgNDksIDI4LCAxNiwgMjI0LCAKKyAgICAxNjEsIDQ5LCAyOCwgMTYsIDIxNSwgMjAxLCA0OSwgMjgsIDE2LCAyMTUsIDE5OCwgNDksIDI4LCAxNiwgMjI0LCAxNTgsIAorICAgIDQ5LCAyOCwgMTYsIDIxNSwgMTk2LCA0OSwgMjgsIDE2LCAyMjQsIDE1NywgNDksIDI4LCAxNiwgMjQyLCAxNTksIDQ5LCAyOCwgCisgICAgMTYsIDI1NCwgMTUsIDQ5LCAyOCwgMTYsIDI0NSwgNjEsIDI1NCwgMTUsIDQ5LCAyOCwgMTYsIDIyNiwgMTA4LCAyMjksIDk2LCAKKyAgICA0OSwgMjgsIDE2LCAyMTYsIDE5MCwgMjQ1LCA3MCwgNDksIDI4LCAxNiwgMjE2LCAxOTAsIDI0NSwgMjYsIDQ5LCAyOCwgMTYsIAorICAgIDIxNiwgMTkyLCAyNTQsIDY0LCA0OSwgMjgsIDE2LCAyMTYsIDE4NSwgMjM0LCAyNDgsIDI1NCwgNTYsIDQ5LCAyOCwgMTYsIAorICAgIDIzNCwgMjAwLCA0OSwgMjgsIDE2LCAyNDUsIDE0MCwgNDksIDI4LCAxNiwgMjExLCAxMSwgMjM0LCAxOTcsIDQ5LCAyOCwgCisgICAgMTYsIDIxMSwgMTEsIDI1NCwgOTcsIDQ5LCAyOCwgMTYsIDIxOCwgMTQ2LCA0OSwgMjgsIDE2LCAyMzQsIDM5LCAyNTQsIDk3LCAKKyAgICA0OSwgMjgsIDE2LCAyNDcsIDIwMywgMjU0LCAyMiwgNDksIDI4LCAxNiwgMjMzLCAyMzksIDI1NCwgMjIsIDQ5LCAyOCwgMTYsIAorICAgIDIzMywgMjM5LCAyNTQsIDE1MCwgNDksIDI4LCAxNiwgMjMzLCAyMzksIDIyOSwgOTYsIDQ5LCAyOCwgMTYsIDI1NCwgNjMsIAorICAgIDIyOSwgOTYsIDQ5LCAyOCwgMTYsIDI1NCwgNjUsIDQ5LCAyOCwgMTYsIDI0NywgMjAyLCA0OSwgMjgsIDE2LCAyMTUsIDIxMSwgCisgICAgNDksIDI4LCAxNiwgMjE2LCAyMjUsIDQ5LCAyOCwgMTYsIDIzNCwgMywgNDksIDI4LCAxNiwgMjMzLCAzMywgMjQ1LCAxMzUsIAorICAgIDI1MCwgNzIsIDQ5LCAyOCwgMTYsIDIzMywgMzMsIDI0NiwgNDMsIDI1MCwgNzMsIDQ5LCAyOCwgMTYsIDIzMywgMzMsIDIxNSwgCisgICAgMjEzLCAyNTAsIDczLCA0OSwgMjgsIDE2LCAyMzMsIDMzLCAyMTYsIDIzNSwgMjUwLCA3MywgNDksIDI4LCAxNiwgMjMzLCAKKyAgICAzMywgMjM2LCA4LCAyNTAsIDcyLCA0OSwgMjgsIDE2LCAyNDIsIDE2MCwgMjI5LCA5NywgMjU0LCA5NywgNDksIDI4LCAxNiwgCisgICAgMjQyLCAxNjAsIDIyNiwgMiwgMjU0LCAxMSwgNDksIDI4LCAxNiwgMjQyLCAxNjAsIDIyNiwgMiwgMjQ4LCAzMCwgNDksIDI4LCAKKyAgICAxNiwgMjQ3LCAyMjYsIDQ5LCAyOCwgMTYsIDI0NywgMjI3LCAyMjYsIDIsIDI1NCwgMTIsIDIzNCwgMTk3LCA0OSwgMjgsIAorICAgIDE2LCAyNDcsIDIyNywgMjI2LCAyLCAyNTQsIDEyLCAyNTQsIDk3LCA0OSwgMjgsIDE2LCAyNDcsIDIyNywgMjI2LCAyLCAKKyAgICAyNDgsIDMwLCA0OSwgMjgsIDE2LCAyMTUsIDIxNywgNDksIDI4LCAxNiwgMjU0LCAxNiwgNDksIDI4LCAxNiwgMjM2LCAxNSwgCisgICAgNDksIDI4LCAxNiwgMjQ3LCAyNDcsIDQ5LCAyOCwgMTYsIDI1NCwgMjEyLCAyMjUsIDEsIDI1NCwgMTcsIDQ5LCAyOCwgMTYsIAorICAgIDI1NCwgMjEyLCAyNTQsIDE0LCA0OSwgMjgsIDE2LCAyNTQsIDIxMiwgMjU0LCAxNywgNDksIDI4LCAxNiwgMjU0LCAyMTIsIAorICAgIDIzMSwgMzUsIDQ5LCAyOCwgMTYsIDI1NCwgMjEyLCAyMzEsIDQ2LCA0OSwgMjgsIDE2LCAyNTQsIDIxMiwgMjQyLCAxNjEsIAorICAgIDQ5LCAyOCwgMTYsIDI1NCwgMjEyLCAyNDIsIDE1OCwgNDksIDI4LCAxNiwgMjU0LCAyMTIsIDIyNSwgMSwgMjQyLCAxNjEsIAorICAgIDQ5LCAyOCwgMTYsIDIzMSwgMTUyLCAyMjQsIDE2NiwgMjQwLCAxMDgsIDQ5LCAyOCwgMTYsIDIzMSwgMTUyLCAyNTQsIDE1MiwgCisgICAgMjI0LCAxNjYsIDI0MCwgMTA4LCA0OSwgMjgsIDE2LCAyMzEsIDE1MiwgMjQ4LCAyOSwgMjQwLCAxMDgsIDQ5LCAyOCwgMTYsIAorICAgIDIzMSwgMTUyLCAyNTQsIDE1MiwgMjQ4LCAyOSwgMjQwLCAxMDgsIDQ5LCAyOCwgMTYsIDIzMSwgMTUyLCAyMTUsIDIwNiwgCisgICAgMjQwLCAxMDgsIDQ5LCAyOCwgMTYsIDIzMSwgMTUyLCAyMTUsIDIxOCwgNDksIDI4LCAxNiwgMjMxLCAxNTIsIDIxNiwgMjI5LCAKKyAgICAyNDAsIDEwOCwgNDksIDI4LCAxNiwgMjMxLCAxNTIsIDIxNiwgMjI5LCAyMzMsIDM2LCAyNDAsIDEwOCwgNDksIDI4LCAxNiwgCisgICAgMjMxLCAxNTIsIDIzMywgMzYsIDI0MCwgMTA4LCA0OSwgMjgsIDE2LCAyMzEsIDE1MiwgMjI1LCA0MCwgMjQwLCAxMDgsIDQ5LCAKKyAgICAyOCwgMTYsIDIzNSwgMTcwLCAyMTYsIDI1MiwgMjQwLCAxMDksIDQ5LCAyOCwgMTYsIDI1NCwgNjEsIDIxNiwgMjUyLCAyNDAsIAorICAgIDEwOSwgNDksIDI4LCAxNiwgMjQ0LCAxNzMsIDIxNiwgMjI2LCA0OSwgMjgsIDE2LCAyNDQsIDE3MywgMjMwLCAxNDQsIDQ5LCAKKyAgICAyOCwgMTYsIDI0NCwgMTczLCAyNDcsIDIzMSwgNDksIDI4LCAxNiwgMjMxLCAxNTIsIDIxNCwgMTAsIDI0MCwgMTA4LCA0OSwgCisgICAgMjgsIDE2LCAyMzEsIDE1MiwgMjI0LCAxNjUsIDI0MCwgMTA4LCA0OSwgMjgsIDE2LCAyMzEsIDE1MiwgMjI1LCA0MCwgMjE2LCAKKyAgICAyMjksIDI0MCwgMTA4LCA0OSwgMjgsIDE2LCAyNDIsIDE1NiwgMjMwLCAyNywgMjU0LCA2NCwgNDksIDI4LCAxNiwgMjQyLCAKKyAgICAxNTYsIDIzMCwgMjcsIDI0NywgMjAxLCA0OSwgMjgsIDE2LCAyNDUsIDE0OSwgMjM0LCAyNDgsIDI0MywgMjM3LCAyMTMsIAorICAgIDEyNCwgNDksIDI4LCAxNiwgMjM2LCAxNCwgNDksIDI4LCAxNiwgMjM2LCAxMiwgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDI1NCwgCisgICAgMjMsIDI0OCwgMjgsIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAyNDMsIDIzNywgMjQ3LCAyNDUsIDE5MCwgNDksIDI4LCAxNiwgCisgICAgMjQzLCAyMzcsIDI0NywgMjQ1LCAyMjksIDIwNCwgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDIyOSwgMTk5LCAyNDAsIDEwOCwgCisgICAgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDI0NywgMjQ1LCAyNDgsIDQsIDQ5LCAyOCwgMTYsIDI0MywgMjM3LCAyMTksIDEwMywgCisgICAgMjQ3LCAyNDQsIDI0OCwgNCwgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDI0NywgMjQ1LCAyMzQsIDE4MywgNDksIDI4LCAxNiwgCisgICAgMjQzLCAyMzcsIDI0NywgMjQ1LCAyMTAsIDIzLCA0OSwgMjgsIDE2LCAyNDMsIDIzNywgMjQ3LCAyNDUsIDIyOCwgMjM1LCAKKyAgICAyMzQsIDE5NywgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDI0NywgMjQ1LCAyMjgsIDIzNSwgMjU0LCA5NywgNDksIDI4LCAxNiwgCisgICAgMjQzLCAyMzcsIDIzMSwgMTkyLCAyNTAsIDc0LCAyNDcsIDIzMSwgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDIzMSwgMTkyLCAKKyAgICAyNTAsIDc0LCAyMzAsIDE0NCwgNDksIDI4LCAxNiwgMjQ0LCAxMjMsIDIxOSwgMTAzLCAyNTAsIDc0LCAyMTQsIDksIDQ5LCAKKyAgICAyOCwgMTYsIDI0MywgMjM3LCAyMTksIDEwMywgMjUwLCA3NCwgMjE3LCAxODAsIDQ5LCAyOCwgMTYsIDI0MywgMjM3LCAyMjksIAorICAgIDk4LCA0OSwgMjgsIDE2LCAyNTAsIDc1LCAyMDksIDI0OSwgNDksIDI4LCAxNiwgMjUwLCA3NSwgMjM0LCAzNywgNDksIDI4LCAKKyAgICAxNiwgMjUwLCA3NSwgMjE5LCAxMCwgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDI0MCwgMTU1LCAyMTEsIDEwLCAyMTYsIDIzMCwgCisgICAgNDksIDI4LCAxNiwgMjQzLCAyMzcsIDI0NSwgMTUwLCAyNTQsIDg3LCA0OSwgMjgsIDE2LCAyMTEsIDEwLCAyMTUsIDIwNywgCisgICAgNDksIDI4LCAxNiwgMjQ3LCAyMzksIDIxNSwgMjA3LCA0OSwgMjgsIDE2LCAyNDcsIDIzOSwgMjE2LCAyMzAsIDQ5LCAyOCwgCisgICAgMTYsIDI0NywgMjM5LCAyNTQsIDY2LCAyNDYsIDQzLCAyNDcsIDE0MCwgNDksIDI4LCAxNiwgMjQ3LCAyMzksIDIzMCwgMTQyLCAKKyAgICAyMTYsIDIzNCwgMjQ3LCAxNDAsIDQ5LCAyOCwgMTYsIDI0NywgMjM5LCAyNDcsIDIyMywgMjQ1LCAzNywgMjQ3LCAxNDAsIAorICAgIDQ5LCAyOCwgMTYsIDI0NywgMjM5LCAyMTUsIDIxNSwgMjI2LCAyMTIsIDI0NywgMTQwLCA0OSwgMjgsIDE2LCAyMTEsIDEwLCAKKyAgICAyNTQsIDY2LCAyNDYsIDQzLCAyNDcsIDE0MCwgNDksIDI4LCAxNiwgMjExLCAxMCwgMjMwLCAxNDIsIDIxNiwgMjM0LCAyNDcsIAorICAgIDE0MCwgNDksIDI4LCAxNiwgMjExLCAxMCwgMjQ3LCAyMjMsIDI0NSwgMzcsIDI0NywgMTQwLCA0OSwgMjgsIDE2LCAyMTEsIAorICAgIDEwLCAyMTUsIDIxNSwgMjI2LCAyMTIsIDI0NywgMTQwLCA0OSwgMjgsIDE2LCAyNDMsIDUwLCAyNDcsIDIzOCwgNDksIDI4LCAKKyAgICAxNiwgMjQzLCA1MCwgMjExLCA5LCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgMjU0LCA2NiwgMjMwLCAyMDAsIDQ5LCAyOCwgMTYsIAorICAgIDI0NywgMjQ2LCAyNTQsIDY2LCAyMzEsIDc0LCA0OSwgMjgsIDE2LCAyNDcsIDI0NiwgMjQ3LCAyMDIsIDQ5LCAyOCwgMTYsIAorICAgIDI0NywgMjQ2LCAyMTYsIDE4MywgNDksIDI4LCAxNiwgMjE5LCAxNjQsIDIxNiwgMTgzLCA0OSwgMjgsIDE2LCAyMTksIDE2NCwgCisgICAgMjE2LCAxODQsIDI0NywgMTg3LCA0OSwgMjgsIDE2LCAyMTksIDE2NCwgMjE2LCAxODQsIDIxNSwgMjA4LCA0OSwgMjgsIDE2LCAKKyAgICAyMTksIDE2NCwgMjE2LCAxODQsIDIxNiwgMjIzLCA0OSwgMjgsIDE2LCAyMTksIDE2NCwgMjUzLCAyNDUsIDQ5LCAyOCwgMTYsIAorICAgIDIxOSwgMTY0LCAyNTMsIDI0NiwgMjQ3LCAxODcsIDQ5LCAyOCwgMTYsIDIxOSwgMTY0LCAyNTMsIDI0NiwgMjE1LCAyMDgsIAorICAgIDQ5LCAyOCwgMTYsIDIxOSwgMTY0LCAyNTMsIDI0NiwgMjE2LCAyMjMsIDQ5LCAyOCwgMTYsIDI0NywgMjI0LCAyNDMsIDMxLCAKKyAgICA0OSwgMjgsIDE2LCAyNDcsIDIzMCwgMjI2LCAxMzUsIDQ5LCAyOCwgMTYsIDIxOCwgMTM4LCA0OSwgMjgsIDE2LCAyNTQsIDgsIAorICAgIDE5MCwgNDksIDI4LCAxNiwgMjU0LCA4LCAyMTMsIDEyNCwgNDksIDI4LCAxNiwgMjU0LCA4LCAyNDMsIDEzNiwgNDksIDI4LCAKKyAgICAxNiwgMjU0LCA4LCAyNDgsIDQsIDQ5LCAyOCwgMTYsIDI1NCwgOCwgMjM0LCAxODMsIDQ5LCAyOCwgMTYsIDI1NCwgOCwgCisgICAgMjEwLCAyMywgNDksIDI4LCAxNiwgMjU0LCA4LCAyMjgsIDIzNCwgNDksIDI4LCAxNiwgMjM0LCAxNjMsIDIyOSwgOTcsIAorICAgIDIzMSwgNDUsIDQ5LCAyOCwgMTYsIDIzNCwgMTY0LCAyMjksIDk3LCAyMzEsIDQ1LCA0OSwgMjgsIDE2LCAyMzQsIDE2MywgCisgICAgMjI5LCA5NywgMjM0LCAxOTcsIDQ5LCAyOCwgMTYsIDIzNCwgMTY0LCAyMjksIDk3LCAyMzQsIDE5NywgNDksIDI4LCAxNiwgCisgICAgMjM0LCAzOSwgMjM0LCAxOTcsIDQ5LCAyOCwgMTYsIDI0MiwgMTYwLCAyMjksIDk3LCAyMzQsIDE5NywgMjgsIDE2LCAyMTksIAorICAgIDE1NiwgMjUyLCAxMzYsIDI4LCAxNiwgNTIsIDI1MiwgMTM2LCAyOCwgMTYsIDQwLCAyNTIsIDEzNiwgMjgsIDE2LCAyMjMsIAorICAgIDUxLCA0MCwgMjUyLCAxMzYsIDI4LCAxNiwgMjQ4LCAxNTYsIDI1MiwgMTM2LCAyOCwgMTYsIDIxOSwgMjUyLCAyNTIsIDEzNiwgCisgICAgMjgsIDE2LCA0MywgMjIzLCA3OCwgNTAsIDI4LCAxNiwgNDQsIDIyMywgNzgsIDUwLCAyOCwgMTYsIDIyMywgNzgsIDI0NywgCisgICAgMTE5LCAyOCwgMTYsIDI0OCwgMTk3LCAyMjEsIDE2NCwgMjgsIDE2LCAyNDgsIDIyMywgMjUwLCAyNTAsIDI4LCAxNiwgMjIxLCAKKyAgICAxNjQsIDI4LCAxNiwgMjQ5LCAyMzUsIDI4LCAxNiwgMjIzLCA3NiwgMjQ0LCAxMTIsIDI4LCAxNiwgMjIzLCA3NiwgMjQ0LCAKKyAgICAxMTEsIDI4LCAxNiwgMjIzLCA3NiwgMjQ0LCAxMTAsIDI4LCAxNiwgMjQ0LCAxMzIsIDI4LCAxNiwgMjQ0LCAxMzMsIDUxLCAKKyAgICAyOCwgMTYsIDI1MSwgMTQ5LCA3OCwgMjgsIDE2LCAyNTEsIDI1LCAyOCwgMTYsIDI1MSwgMTYwLCAyOCwgMTYsIDEyNywgMjgsIAorICAgIDE2LCAyMjYsIDE5NCwgMjE4LCAxNjQsIDI4LCAxNiwgMjE1LCA1NywgMjE4LCAxNjQsIDI4LCAxNiwgMjE2LCAxNDMsIDIxOCwgCisgICAgMTY0LCAyOCwgMTYsIDI0NCwgMTEsIDIxOCwgMTY0LCAyOCwgMTYsIDI0NCwgODEsIDIxOCwgMTY0LCAyOCwgMTYsIDIxOSwgCisgICAgMTI1LCAyMTgsIDE2NCwgMjgsIDE2LCAyMTksIDEyMywgMjQzLCAyNTEsIDI4LCAxNiwgMjQ0LCA5LCAyNDMsIDI1MSwgMjgsIAorICAgIDE2LCAyNDMsIDIwNCwgMjUwLCAxNSwgMjgsIDE2LCAyNDMsIDIwNCwgMjUwLCAxNiwgMjI2LCAxMzcsIDI1NCwgMTQzLCAyOCwgCisgICAgMTYsIDI0MywgMjA0LCAyNTAsIDE2LCAyMjYsIDEzNywgMjUyLCAxMjMsIDI4LCAxNiwgMjUxLCA2OCwgMjUwLCAxNSwgMjgsIAorICAgIDE2LCAyNDUsIDgsIDI1MCwgMTUsIDI4LCAxNiwgMjQ1LCA4LCAyNTAsIDE2LCAyMjYsIDEzNywgMjU0LCAxNDMsIDI4LCAxNiwgCisgICAgMjQ1LCA4LCAyNTAsIDE2LCAyMjYsIDEzNywgMjUyLCAxMjMsIDI4LCAxNiwgMjQ2LCA4NCwgMjUwLCAxNCwgMjgsIDE2LCAKKyAgICAyNDYsIDg0LCAyNTAsIDEzLCAyOCwgMTYsIDIzMCwgODYsIDIzMSwgOTEsIDIyMywgNjIsIDI4LCAxNiwgNTIsIDIyMCwgNzYsIAorICAgIDI4LCAxNiwgNTIsIDI0NCwgNjYsIDI4LCAxNiwgMjQ0LCA2NywgMjE0LCAxNjMsIDI4LCAxNiwgMjQ0LCA2NywgMjQ2LCAKKyAgICAxMDcsIDI4LCAxNiwgMjI5LCAxODksIDIxNCwgMTYzLCAyOCwgMTYsIDIyOSwgMTg5LCAyNDYsIDEwNywgMjgsIDE2LCAyMjAsIAorICAgIDc3LCAyMTQsIDE2MywgMjgsIDE2LCAyMjAsIDc3LCAyNDYsIDEwNywgMjgsIDE2LCAyMjQsIDIzLCAxMzgsIDIyMCwgNzYsIAorICAgIDI4LCAxNiwgMjI0LCAyMywgMTM4LCAyNDQsIDY2LCAyOCwgMTYsIDI0OSwgMjE3LCAyMTYsIDg4LCAyOCwgMTYsIDI0OSwgCisgICAgODYsIDIxNiwgODgsIDI4LCAxNiwgMjI2LCAxMzcsIDI1NCwgMTQzLCAyOCwgMTYsIDIyNiwgMTM3LCAyNTIsIDEyMywgMjgsIAorICAgIDE2LCAyMjQsIDUsIDI1NCwgMTQzLCAyOCwgMTYsIDIyNCwgNSwgMjUyLCAxMjMsIDI4LCAxNiwgMjMwLCA4OSwgMjIzLCA2MiwgCisgICAgMjgsIDE2LCAyMTEsIDI1MSwgMjIzLCA2MiwgMjgsIDE2LCAxNjMsIDIyMywgNjIsIDI4LCAxNiwgMjI0LCAyMywgMjIzLCAKKyAgICA2MiwgMjgsIDE2LCAyNDUsIDE5MCwgMjIzLCA2MiwgMjgsIDE2LCAyMTksIDExOSwgMjIzLCA2MiwgMjgsIDE2LCAyMTYsIAorICAgIDE2MSwgMjIzLCA2MiwgMjgsIDE2LCAyMTksIDExMSwgMjIzLCA2MiwgMjgsIDE2LCAxMjMsIDI0MCwgMjEyLCAyMTUsIDcxLCAKKyAgICAyMjMsIDYyLCAyOCwgMTYsIDIxMSwgMTc5LCAyMjgsIDQ0LCAyOCwgMTYsIDk2LCAyMjgsIDQ0LCAyOCwgMTYsIDI1MCwgMzcsIAorICAgIDIxMSwgMTc5LCAyMjgsIDQ0LCAyOCwgMTYsIDQyLCAyMjgsIDQ1LCAyMTEsIDI1MywgMjgsIDE2LCA0MiwgMjI4LCA0NSwgCisgICAgMjUxLCAyMjIsIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDUsIDEyMCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjcsIAorICAgIDIyOCwgNDUsIDEyMCwgMjUxLCAyMjIsIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDUsIDQzLCAyMTEsIDI1MywgMjgsIDE2LCAKKyAgICAyMTUsIDIyNywgMjI4LCA0NSwgNDMsIDI1MSwgMjIyLCAyOCwgMTYsIDIxNSwgMjI3LCAyMjgsIDQ1LCA0NCwgMjExLCAyNTMsIAorICAgIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDUsIDQ0LCAyNTEsIDIyMiwgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0NSwgMTI0LCAKKyAgICAyMTEsIDI1MywgMjgsIDE2LCAyMTUsIDIyNywgMjI4LCA0NSwgMTI0LCAyNTEsIDIyMiwgMjgsIDE2LCAyMTUsIDIyNywgCisgICAgMjI4LCA0NSwgMTIwLCA0NCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjcsIDIyOCwgNDUsIDEyMCwgNDQsIDI1MSwgMjIyLCAKKyAgICAyOCwgMTYsIDIzMCwgMTMwLCAyMjgsIDQ1LCAyMTEsIDI1MywgMjgsIDE2LCAyMzAsIDEzMCwgMjI4LCA0NSwgMjUxLCAyMjIsIAorICAgIDI4LCAxNiwgMjE1LCAyMjQsIDIyOCwgNDUsIDEyNCwgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjQsIDIyOCwgNDUsIDEyNCwgCisgICAgMjUxLCAyMjIsIDI4LCAxNiwgMjI2LCA1LCAyMjgsIDQ0LCAyOCwgMTYsIDIxMywgMTMyLCAyMjgsIDQ0LCAyOCwgMTYsIAorICAgIDIyOCwgNDUsIDI1MSwgMjIyLCAyOCwgMTYsIDIyNywgMjA0LCAyMjgsIDQ0LCAyOCwgMTYsIDI0OSwgMjQyLCAyMjgsIDQ1LCAKKyAgICAyMTEsIDI1MywgMjgsIDE2LCAyNDksIDI0MiwgMjI4LCA0NSwgMjUxLCAyMjIsIDI4LCAxNiwgMjUxLCAxNDcsIDI4LCAxNiwgCisgICAgMjExLCAyNTEsIDIyOCwgNDgsIDI4LCAxNiwgMTYzLCAyMjgsIDQ4LCAyOCwgMTYsIDIyNCwgMjMsIDIyOCwgNDgsIDI4LCAKKyAgICAxNiwgMjQ1LCAxOTAsIDIyOCwgNDgsIDI4LCAxNiwgMjE5LCAxMTksIDIyOCwgNDgsIDI4LCAxNiwgMjE2LCAxNjEsIDIyOCwgCisgICAgNDgsIDI4LCAxNiwgMjE5LCAxMTEsIDIyOCwgNDgsIDI4LCAxNiwgMTIzLCAyNDAsIDIxMiwgMjE1LCA3MSwgMjI4LCA0OCwgCisgICAgMjgsIDE2LCAzOCwgMjE4LCAxNDAsIDI4LCAxNiwgMzgsIDIxOCwgMjQxLCAyMTgsIDE0MCwgMjgsIDE2LCAzOCwgMjE1LCAKKyAgICAyMzUsIDI4LCAxNiwgMzgsIDIxNSwgMjM0LCAyOCwgMTYsIDM4LCAyMTUsIDIzMywgMjgsIDE2LCAyNDQsIDEwMiwgMjE1LCAKKyAgICAyMzUsIDI4LCAxNiwgMjQ0LCAxMDIsIDIxNSwgMjM0LCAyOCwgMTYsIDI0NCwgMTAyLCAyMTUsIDIzMywgMjgsIDE2LCAzOCwgCisgICAgMjUzLCAxOTAsIDI0NywgMTIxLCAyOCwgMTYsIDM4LCAyNDQsIDczLCAyOCwgMTYsIDM4LCAyNDQsIDcyLCAyOCwgMTYsIDM4LCAKKyAgICAyNDQsIDcxLCAyOCwgMTYsIDM4LCAyNDQsIDcwLCAyOCwgMTYsIDM4LCAyNDQsIDY5LCAyOCwgMTYsIDI1MiwgNTksIDI1MiwgCisgICAgNzUsIDI4LCAxNiwgMjQ1LCAxNDQsIDI1MiwgNzUsIDI4LCAxNiwgMjUyLCA1OSwgMjE2LCAxMTIsIDI4LCAxNiwgMjQ1LCAKKyAgICAxNDQsIDIxNiwgMTEyLCAyOCwgMTYsIDI1MiwgNTksIDIxOSwgODEsIDI4LCAxNiwgMjQ1LCAxNDQsIDIxOSwgODEsIDI4LCAKKyAgICAxNiwgMjUyLCA1OSwgMjI1LCAxMTYsIDI4LCAxNiwgMjQ1LCAxNDQsIDIyNSwgMTE2LCAyOCwgMTYsIDM4LCAyNTUsIDE1LCAKKyAgICAyOCwgMTYsIDM4LCAyMTgsIDE2NiwgMjgsIDE2LCAzOCwgMjE2LCAyMzksIDI4LCAxNiwgMzgsIDIxOCwgMTY3LCAyOCwgMTYsIAorICAgIDM4LCAyMzEsIDE2MywgMjgsIDE2LCAzOCwgMjMxLCAxNjIsIDI4LCAxNiwgMzgsIDI1NSwgMTQsIDI4LCAxNiwgMzgsIDIzMiwgCisgICAgMTEzLCAyOCwgMTYsIDI1MywgMjU1LCAyMTQsIDE2MywgMjgsIDE2LCAyNTMsIDI1NSwgMjQ2LCAxMDcsIDI4LCAxNiwgMzgsIAorICAgIDI0NywgMTM2LCAyOCwgMTYsIDM4LCAyMjIsIDIzMiwgMjgsIDE2LCAzOCwgMjQ0LCA1OSwgMjgsIDE2LCAzOCwgMjE5LCA3NywgCisgICAgMjgsIDE2LCAzOCwgMjUyLCAzOSwgMjgsIDE2LCAzOCwgNTIsIDIxNiwgMjAsIDI4LCAxNiwgMzgsIDIxNSwgMjEyLCAyMTYsIAorICAgIDIwLCAyOCwgMTYsIDIyMiwgMjM2LCAyOCwgMTYsIDIxOCwgNzYsIDI4LCAxNiwgMjEwLCAxNTksIDI4LCAxNiwgMjI1LCAKKyAgICAxMDgsIDI4LCAxNiwgMjMxLCAyNiwgMjgsIDE2LCAyNDQsIDE4LCAyOCwgMTYsIDI0OSwgMTM5LCAyOCwgMTYsIDI0OCwgNzksIAorICAgIDI4LCAxNiwgMjQyLCAxNTEsIDIyOCwgNDksIDIxOSwgOTYsIDI4LCAxNiwgMjQyLCAxNTEsIDIyOCwgNDksIDIyOCwgNzYsIAorICAgIDIxOSwgOTYsIDI4LCAxNiwgMjE2LCAxLCAyOCwgMTYsIDIxNSwgOTUsIDI4LCAxNiwgMjM1LCAxOTQsIDIxNSwgOTUsIDI4LCAKKyAgICAxNiwgMjE1LCA5NiwgMjE5LCA5NiwgMjgsIDE2LCAyMTUsIDk2LCAyMTQsIDE2MywgMjgsIDE2LCAyMjYsIDE0OSwgMjE4LCAKKyAgICAxMDMsIDI4LCAxNiwgMjI2LCAxNDksIDIxOCwgMTAwLCAyOCwgMTYsIDIyNiwgMTQ5LCAyMTgsIDk5LCAyOCwgMTYsIDIyNiwgCisgICAgMTQ5LCAyMTgsIDk4LCAyOCwgMTYsIDIyNiwgMTQ5LCAyMTgsIDk3LCAyOCwgMTYsIDIyNiwgMTQ5LCAyMTgsIDk2LCAyOCwgCisgICAgMTYsIDIyNiwgMTQ5LCAyMTgsIDk1LCAyOCwgMTYsIDIyNiwgMTQ5LCAyMTgsIDk0LCAyOCwgMTYsIDIyNiwgMTQ5LCAyMTgsIAorICAgIDkzLCAyOCwgMTYsIDIyNiwgMTQ5LCAyMTgsIDEwMiwgMjgsIDE2LCAyMjYsIDE0OSwgMjE4LCAxMDEsIDI4LCAxNiwgMjQxLCAKKyAgICAyNDYsIDI4LCAxNiwgMjI5LCAxMDYsIDI4LCAxNiwgMjQ1LCAxNDQsIDY0LCAyMTgsIDEzNCwgMjgsIDE2LCAyNDgsIDcyLCAKKyAgICAyMTksIDk2LCAyOCwgMTYsIDM4LCAxMjQsIDI1MSwgMTcwLCAyOCwgMTYsIDM4LCAxMjAsIDI1MSwgMTcwLCAyOCwgMTYsIAorICAgIDM4LCAyNDIsIDEsIDI4LCAxNiwgMzgsIDIxOSwgNjgsIDIyNSwgNDQsIDI4LCAxNiwgMjI1LCAyMTcsIDc4LCAyOCwgMTYsIAorICAgIDIyNSwgMjE3LCAxMjAsIDc4LCAyOCwgMTYsIDE2MywgMjI1LCAyMTcsIDc4LCAyOCwgMTYsIDI0MiwgMTgzLCAyMTQsIDE2MywgCisgICAgMjgsIDE2LCAyNDIsIDE4MywgMjQ2LCAxMDcsIDI4LCAxNiwgMiwgMjQ0LCAxMDEsIDI4LCAxNiwgMjQ4LCAxODEsIDI4LCAKKyAgICAxNiwgMjQ4LCAxODIsIDI1NCwgMTU1LCAyOCwgMTYsIDIzMSwgMTM0LCAyOCwgMTYsIDIzMiwgMTMwLCAyOCwgMTYsIDI1MSwgCisgICAgMTQ0LCAyOCwgMTYsIDIyMCwgMTU1LCAyMTEsIDI1MywgMjgsIDE2LCAyMjAsIDE1NSwgMjUxLCAyMjIsIDI4LCAxNiwgMjMwLCAKKyAgICAxODUsIDI4LCAxNiwgMjMwLCAxODYsIDI1MSwgMjIyLCAyOCwgMTYsIDIyMCwgMTQ5LCAyMTEsIDI1MywgMjgsIDE2LCAyMjAsIAorICAgIDE0OSwgMjUxLCAyMjIsIDI4LCAxNiwgMjQzLCAyMjEsIDIxMSwgMjUzLCAyOCwgMTYsIDI0MywgMjIxLCAyNTEsIDIyMiwgCisgICAgMjgsIDE2LCAyMzIsIDEzMSwgMjI1LCAxODEsIDIyMywgNjIsIDI4LCAxNiwgMjMyLCAxMzEsIDIzNiwgNSwgMjIzLCA2MiwgCisgICAgMjgsIDE2LCAyNTEsIDE0NSwgMjIzLCA2MiwgMjgsIDE2LCAyMjAsIDE1NSwgMjIzLCA2MiwgMjgsIDE2LCAyMzAsIDE4NiwgCisgICAgMjIzLCA2MiwgMjgsIDE2LCAyMjAsIDE0OSwgMjIzLCA2MiwgMjgsIDE2LCAyMTYsIDI1MCwgMjI1LCAxNzksIDI0OSwgMTA4LCAKKyAgICAyMjQsIDE3NSwgMjI1LCAxODAsIDI4LCAxNiwgMjE2LCAyNTAsIDIyNSwgMTc5LCAyNDksIDEwOCwgMjI0LCAxNzUsIDIzNiwgCisgICAgNCwgMjgsIDE2LCAyMTYsIDI1MCwgMjI1LCAxNzksIDI0OSwgMTA4LCAyMjQsIDE3NSwgMjI1LCAxODEsIDI0NywgMjEyLCAKKyAgICAyOCwgMTYsIDIxNiwgMjUwLCAyMzYsIDMsIDI0OSwgMTA4LCAyMjQsIDE3NSwgMjI1LCAxODAsIDI4LCAxNiwgMjE2LCAyNTAsIAorICAgIDIzNiwgMywgMjQ5LCAxMDgsIDIyNCwgMTc1LCAyMzYsIDQsIDI4LCAxNiwgMjE2LCAyNTAsIDIzNiwgMywgMjQ5LCAxMDgsIAorICAgIDIyNCwgMTc1LCAyMzYsIDUsIDI0NywgMjEyLCAyOCwgMTYsIDIxNiwgMjUwLCAyMzYsIDMsIDI0OSwgMTA4LCAyMjQsIDE3NSwgCisgICAgMjM2LCA1LCAyNDcsIDIxMSwgMjgsIDE2LCAyMTYsIDI1MCwgMjM2LCAzLCAyNDksIDEwOCwgMjI0LCAxNzUsIDIzNiwgNSwgCisgICAgMjQ3LCAyMTAsIDI4LCAxNiwgMjQ5LCAxMzQsIDI4LCAxNiwgMjQyLCAxMjcsIDI1MSwgNjgsIDI1MCwgMTUsIDI4LCAxNiwgCisgICAgMjQyLCAxMjcsIDI0NSwgOCwgMjUwLCAxNSwgMjgsIDE2LCA0MiwgMjUzLCAxNTksIDI4LCAxNiwgMjEzLCAxNTEsIDI4LCAKKyAgICAxNiwgMjI1LCAxNSwgMjgsIDE2LCAyNTAsIDYsIDI4LCAxNiwgMjIxLCAyMDQsIDI4LCAxNiwgMjUwLCAxMCwgMjgsIDE2LCAKKyAgICAyMTYsIDgsIDI4LCAxNiwgMjI0LCAyNDMsIDI4LCAxNiwgMjI0LCAyNDQsIDI0NCwgNjEsIDI4LCAxNiwgMjIxLCAyMDUsIAorICAgIDI0NCwgNjEsIDI4LCAxNiwgMjE2LCA5LCAyMjMsIDU5LCAyOCwgMTYsIDIyNSwgMTY0LCAyMTgsIDY3LCAyNiwgMjEzLCAKKyAgICAxMzcsIDE4OCwgMjE3LCAyMzAsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIDIxOSwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgCisgICAgMjA5LCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAyMDIsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIDE5NCwgMjYsIDIxMywgCisgICAgMTM3LCAxODgsIDIxNywgMTg4LCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAxODcsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIAorICAgIDE4NiwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgMTg1LCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAyMjksIDI2LCAyMTMsIAorICAgIDEzNywgMTg4LCAyMTcsIDIyOCwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgMjI3LCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAKKyAgICAyMjYsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIDIyNSwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgMjI0LCAyNiwgMjEzLCAKKyAgICAxMzcsIDE4OCwgMjE3LCAyMjMsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIDIyMiwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgCisgICAgMjIxLCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAyMjAsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIDIxOCwgMjYsIDIxMywgCisgICAgMTM3LCAxODgsIDIxNywgMjE3LCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAyMTYsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIAorICAgIDIxNSwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgMjE0LCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAxOTMsIDI2LCAyMTMsIAorICAgIDEzNywgMTg4LCAyMTcsIDE5MiwgMjYsIDIxMywgMTM3LCAxODgsIDIxNywgMTkxLCAyNiwgMjEzLCAxMzcsIDE4OCwgMjE3LCAKKyAgICAxOTAsIDI2LCAyMTMsIDEzNywgMTg4LCAyMTcsIDE4OSwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMjMwLCAyNiwgMjM1LCAKKyAgICAyMTUsIDE4OCwgMjE3LCAyMTksIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDIwMiwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgCisgICAgMTk0LCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAxODcsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDE4NiwgMjYsIDIzNSwgCisgICAgMjE1LCAxODgsIDIxNywgMjI4LCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAyMjcsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIAorICAgIDIyNiwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMjI1LCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAyMjIsIDI2LCAyMzUsIAorICAgIDIxNSwgMTg4LCAyMTcsIDIyMSwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMjIwLCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAKKyAgICAyMTUsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDIxNCwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMjEzLCAyNiwgMjM1LCAKKyAgICAyMTUsIDE4OCwgMjE3LCAyMTIsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDIxMSwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgCisgICAgMjEwLCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAyMDgsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDIwNywgMjYsIDIzNSwgCisgICAgMjE1LCAxODgsIDIxNywgMjA2LCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAyMDUsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIAorICAgIDIwNCwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMjAzLCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAyMDEsIDI2LCAyMzUsIAorICAgIDIxNSwgMTg4LCAyMTcsIDIwMCwgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMTk5LCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAKKyAgICAxOTgsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDE5NywgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgMTk2LCAyNiwgMjM1LCAKKyAgICAyMTUsIDE4OCwgMjE3LCAxOTUsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDE5MywgMjYsIDIzNSwgMjE1LCAxODgsIDIxNywgCisgICAgMTkyLCAyNiwgMjM1LCAyMTUsIDE4OCwgMjE3LCAxOTEsIDI2LCAyMzUsIDIxNSwgMTg4LCAyMTcsIDE5MCwgMjYsIDIzNSwgCisgICAgMjE1LCAxODgsIDIxNywgMTg5LCAzOCwgMjYsIDI4LCAyMTUsIDIwOSwgMzgsIDI2LCAyOCwgMjE2LCAyMjQsIDM4LCAyNiwgCisgICAgMjgsIDIyNSwgMTg5LCAyNiwgMjgsIDIzMywgMzIsIDIzMCwgMTQzLCAzMSwgMjQ1LCAyMjQsIDI0NywgMjI1LCAzMSwgMjQxLCAKKyAgICAyMjMsIDI0NSwgMjI0LCAyNDcsIDIyNSwgMzEsIDI0MCwgMjE1LCAyNDUsIDIyNCwgMjQ3LCAyMjUsIDMxLCAyNDUsIDIyMywgCisgICAgMjQxLCAyMjQsIDI0NywgMjI1LCAzMSwgMjQ1LCAyMjMsIDI0MCwgMjE0LCAyNDcsIDIyNSwgMzEsIDI0NSwgMjI0LCAxODAsIAorICAgIDMxLCAyNTAsIDE3NSwgMTgwLCAzMSwgMjQzLCAyMzAsIDI1MCwgMzYsIDE4MCwgMzEsIDIzMCwgMTc4LCAxODAsIDMxLCAKKyAgICAyNTIsIDEzMSwgMTgwLCAzMSwgMjM0LCAxODAsIDIxOSwgODAsIDE4MCwgMzEsIDI0OSwgMTgwLCAxODAsIDMxLCAyNTMsIAorICAgIDIzNCwgMTgwLCAzMSwgMjI2LCAxNjQsIDE4MCwgMzEsIDI1MSwgMTU0LCAyMjYsIDEzMSwgMTgwLCAzMSwgMjQ4LCA3NCwgCisgICAgMTc3LCAyNDcsIDE4MCwgMTgwLCAzMSwgMjQ3LCAxNzcsIDE4MCwgMzEsIDIxMCwgMjIyLCAxODAsIDMxLCAyMzUsIDI0OCwgCisgICAgMTgwLCAzMSwgMjI1LCAxOTgsIDE4MCwgMzEsIDIyMywgMTI4LCAxODAsIDMxLCAyNDksIDE5MCwgMTgwLCAzMSwgMjQxLCAKKyAgICA2MSwgMjUyLCAxODUsIDE4MCwgMzEsIDIxMiwgNTksIDE4MCwgMzEsIDI0NCwgNDAsIDE4MCwgMzEsIDI1NCwgMjQ3LCAxODAsIAorICAgIDMxLCAyMjMsIDkwLCAxODAsIDMxLCAyMjMsIDY2LCAxODAsIDMxLCAyNDUsIDIyMiwgMTgwLCAzMSwgMjM1LCA1NCwgMTgwLCAKKyAgICAzMSwgMjQ5LCAxODUsIDE4MCwgMzEsIDI0NSwgMTQzLCAxODAsIDMxLCAyNDYsIDUzLCAxODAsIDMxLCAyNTAsIDE0NiwgCisgICAgMTgwLCAzMSwgMjQ4LCA4MywgMTgwLCAzMSwgMjMsIDIyMywgNjUsIDE4MCwgMzEsIDIyNiwgODIsIDE4MCwgMzEsIDIzMywgCisgICAgMzUsIDE4MCwgMzEsIDI0OSwgMjU1LCAxODAsIDMxLCAyMzQsIDc4LCAxODAsIDMxLCAyNDMsIDg3LCAxODAsIDMxLCAyMTgsIAorICAgIDExMywgMTgwLCAzMSwgMjI0LCAxMzEsIDE4MCwgMzEsIDI0MywgMjI5LCAxODAsIDMxLCAyMjMsIDY3LCAxODAsIDMxLCAKKyAgICAyMzMsIDcyLCAxNzcsIDIzMCwgMTU4LCAxODAsIDMxLCAyMjMsIDYzLCAxODAsIDMxLCAyNDIsIDE2OSwgMjE2LCA0MywgCisgICAgMjMxLCA3NywgMTgwLCAzMSwgMjQ1LCAxNDUsIDE4MCwgMzEsIDIxOCwgMTI1LCAxODAsIDMxLCAyNDIsIDEyOSwgMTgwLCAKKyAgICAzMSwgMjQ1LCAxMzcsIDE4MCwgMzEsIDIyNSwgMjM2LCAxODAsIDMxLCAyMjIsIDIyNiwgMTgwLCAzMSwgMjQ0LCA2MCwgCisgICAgMTgwLCAzMSwgMjE0LCA4LCAxNzcsIDIxMiwgNDQsIDE4MCwgMzEsIDI0OSwgMTk0LCAxODAsIDMxLCAyMzEsIDkwLCAxODAsIAorICAgIDMxLCAyNDUsIDYyLCAxODAsIDMxLCAyMTQsIDE3MiwgMTgwLCAzMSwgMjQ3LCAyMTMsIDE4MCwgMzEsIDI1MCwgMSwgMjMwLCAKKyAgICAxMTEsIDE4MCwgMzEsIDI0MiwgMTA3LCAxODAsIDMxLCAyNDMsIDg4LCAyMzYsIDAsIDE4MCwgMzEsIDIzMSwgMTQyLCAxODAsIAorICAgIDMxLCAyNTUsIDExLCAxODAsIDMxLCAyNDUsIDE1OCwgMTgwLCAzMSwgMjQ2LCAxMTAsIDE4MCwgMzEsIDIxMiwgNDIsIDE4MCwgCisgICAgMzEsIDIxOSwgMTUxLCAxODAsIDMxLCAyMzUsIDIyMywgMTgwLCAzMSwgMjQ4LCA0MywgMTgwLCAzMSwgMjQ4LCAxNjEsIAorICAgIDE4MCwgMzEsIDI0NywgMjA5LCAxODAsIDMxLCAyNDUsIDMwLCAxODAsIDMxLCAyMjAsIDExNiwgMTgwLCAzMSwgMjE4LCAKKyAgICAxMjksIDE4MCwgMzEsIDI0MiwgMywgMTgwLCAzMSwgMjQ5LCAyMTMsIDE4MCwgMzEsIDI0OSwgMjUyLCAxODAsIDMxLCAyNDQsIAorICAgIDE3OCwgMTgwLCAzMSwgMjU0LCAyMTMsIDE4MCwgMzEsIDI0OSwgMjEyLCAxODAsIDMxLCAyMjYsIDE5OCwgMjE2LCAxOTcsIAorICAgIDIxMywgMjQyLCAxODAsIDMxLCAyNDcsIDIzMywgMTgwLCAzMSwgMjMzLCAxMjUsIDE4MCwgMzEsIDI0NCwgMTQsIDI0OSwgCisgICAgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAxMTAsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAxMDUsIAorICAgIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAxNTgsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAKKyAgICAxNjEsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAxODksIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIAorICAgIDIxLCAxOTQsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAxOTgsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAKKyAgICAxNzQsIDIxLCAxOTUsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE0LCAxNzQsIDIxLCAyMDAsIDI0OSwgMTUwLCAyMjIsIDIwMywgCisgICAgMjE2LCAyNDQsIDIxLCAxMTAsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAxMDUsIDI0OSwgMTUwLCAyMjIsIAorICAgIDIwMywgMjE2LCAyNDQsIDIxLCAxNTgsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAxNjEsIDI0OSwgMTUwLCAKKyAgICAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAxODksIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAxOTQsIDI0OSwgCisgICAgMTUwLCAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAxOTgsIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAxOTUsIAorICAgIDI0OSwgMTUwLCAyMjIsIDIwMywgMjE2LCAyNDQsIDIxLCAyMDAsIDExLCAyMywgNiwgNjEsIDExLCAyMywgNiwgMjUzLCAKKyAgICAxNTksIDExLCAyMywgNiwgMjUxLCA2NywgMTEsIDIzLCA2LCAyNDksIDYxLCAxMSwgMjMsIDYsIDc1LCAxMSwgMjMsIDYsIAorICAgIDI0NSwgNywgMTEsIDIzLCA2LCAyNDMsIDIwMywgMTEsIDIzLCA2LCAyNDIsIDYxLCAxMSwgMjMsIDYsIDczLCAxMSwgMjMsIAorICAgIDYsIDIzNSwgMTQ1LCAxMSwgMjMsIDYsIDIzNSwgMjQsIDExLCAyMywgNiwgMTU2LCAxMSwgMjMsIDYsIDE5MywgMTEsIDIzLCAKKyAgICA2LCAyMzAsIDI2LCAxMSwgMjMsIDYsIDc2LCAxMSwgMjMsIDYsIDIyNiwgMTA2LCAxMSwgMjMsIDYsIDIyNCwgOTcsIDExLCAKKyAgICAyMywgNiwgMTUzLCAxMSwgMjMsIDYsIDIyMiwgOTIsIDExLCAyMywgNiwgMjE3LCAxNTMsIDExLCAyMywgNiwgNzAsIDExLCAKKyAgICAyMywgNiwgMjE0LCAxMDUsIDExLCAyMywgNiwgMjEyLCA5OCwgMTEsIDIzLCA2LCAyMTEsIDE3OCwgMTEsIDIzLCA2LCAyMTEsIAorICAgIDExNywgMTEsIDIzLCA2LCAyMTAsIDE1OSwgMTEsIDIzLCA0LCA2MSwgMTEsIDIzLCA0LCAyNTMsIDE1OSwgMTEsIDIzLCA0LCAKKyAgICAyNTEsIDY3LCAxMSwgMjMsIDQsIDI0OSwgNjEsIDExLCAyMywgNCwgNzUsIDExLCAyMywgNCwgMjQ1LCA3LCAxMSwgMjMsIDQsIAorICAgIDI0MywgMjAzLCAxMSwgMjMsIDQsIDI0MiwgNjEsIDExLCAyMywgNCwgNzMsIDExLCAyMywgNCwgMjM1LCAxNDUsIDExLCAyMywgCisgICAgNCwgMjM1LCAyNCwgMTEsIDIzLCA0LCAxNTYsIDExLCAyMywgNCwgMTkzLCAxMSwgMjMsIDQsIDIzMCwgMjYsIDExLCAyMywgCisgICAgNCwgNzYsIDExLCAyMywgNCwgMjI2LCAxMDYsIDExLCAyMywgNCwgMjI0LCA5NywgMTEsIDIzLCA0LCAxNTMsIDExLCAyMywgCisgICAgNCwgMjIyLCA5MiwgMTEsIDIzLCA0LCAyMTcsIDE1MywgMTEsIDIzLCA0LCA3MCwgMTEsIDIzLCA0LCAyMTQsIDEwNSwgMTEsIAorICAgIDIzLCA0LCAyMTIsIDk4LCAxMSwgMjMsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDQsIDIxMCwgCisgICAgMTU5LCAxMSwgMzIsIDYsIDYxLCAxMSwgMzIsIDYsIDI1MywgMTU5LCAxMSwgMzIsIDYsIDI1MSwgNjcsIDExLCAzMiwgNiwgCisgICAgMjQ5LCA2MSwgMTEsIDMyLCA2LCA3NSwgMTEsIDMyLCA2LCAyNDUsIDcsIDExLCAzMiwgNiwgMjQzLCAyMDMsIDExLCAzMiwgCisgICAgNiwgMjQyLCA2MSwgMTEsIDMyLCA2LCA3MywgMTEsIDMyLCA2LCAyMzUsIDE0NSwgMTEsIDMyLCA2LCAyMzUsIDI0LCAxMSwgCisgICAgMzIsIDYsIDE1NiwgMTEsIDMyLCA2LCAxOTMsIDExLCAzMiwgNiwgMjMwLCAyNiwgMTEsIDMyLCA2LCA3NiwgMTEsIDMyLCA2LCAKKyAgICAyMjYsIDEwNiwgMTEsIDMyLCA2LCAyMjQsIDk3LCAxMSwgMzIsIDYsIDE1MywgMTEsIDMyLCA2LCAyMjIsIDkyLCAxMSwgMzIsIAorICAgIDYsIDIxNywgMTUzLCAxMSwgMzIsIDYsIDcwLCAxMSwgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMzIsIDYsIDIxMiwgOTgsIDExLCAKKyAgICAzMiwgNiwgMjExLCAxNzgsIDExLCAzMiwgNiwgMjExLCAxMTcsIDExLCAzMiwgNiwgMjEwLCAxNTksIDExLCAzMiwgNCwgNjEsIAorICAgIDExLCAzMiwgNCwgMjUzLCAxNTksIDExLCAzMiwgNCwgMjUxLCA2NywgMTEsIDMyLCA0LCAyNDksIDYxLCAxMSwgMzIsIDQsIAorICAgIDc1LCAxMSwgMzIsIDQsIDI0NSwgNywgMTEsIDMyLCA0LCAyNDMsIDIwMywgMTEsIDMyLCA0LCA3MywgMTEsIDMyLCA0LCAKKyAgICAyMzUsIDE0NSwgMTEsIDMyLCA0LCAyMzUsIDI0LCAxMSwgMzIsIDQsIDE1NiwgMTEsIDMyLCA0LCAxOTMsIDExLCAzMiwgNCwgCisgICAgMjMwLCAyNiwgMTEsIDMyLCA0LCA3NiwgMTEsIDMyLCA0LCAyMjYsIDEwNiwgMTEsIDMyLCA0LCAyMjQsIDk3LCAxMSwgMzIsIAorICAgIDQsIDE1MywgMTEsIDMyLCA0LCAyMjIsIDkyLCAxMSwgMzIsIDQsIDIxNywgMTUzLCAxMSwgMzIsIDQsIDcwLCAxMSwgMzIsIAorICAgIDQsIDIxNCwgMTA1LCAxMSwgMzIsIDQsIDIxMiwgOTgsIDExLCAzMiwgNCwgMjExLCAxNzgsIDExLCAzMiwgNCwgMjExLCAKKyAgICAxMTcsIDExLCAzMiwgNCwgMjEwLCAxNTksIDExLCAyMywgMzIsIDYsIDYxLCAxMSwgMjMsIDMyLCA2LCAyNTMsIDE1OSwgMTEsIAorICAgIDIzLCAzMiwgNiwgMjUxLCA2NywgMTEsIDIzLCAzMiwgNiwgMjQ5LCA2MSwgMTEsIDIzLCAzMiwgNiwgNzUsIDExLCAyMywgCisgICAgMzIsIDYsIDI0NSwgNywgMTEsIDIzLCAzMiwgNiwgMjQzLCAyMDMsIDExLCAyMywgMzIsIDYsIDI0MiwgNjEsIDExLCAyMywgCisgICAgMzIsIDYsIDczLCAxMSwgMjMsIDMyLCA2LCAyMzUsIDE0NSwgMTEsIDIzLCAzMiwgNiwgMjM1LCAyNCwgMTEsIDIzLCAzMiwgCisgICAgNiwgMTU2LCAxMSwgMjMsIDMyLCA2LCAxOTMsIDExLCAyMywgMzIsIDYsIDIzMCwgMjYsIDExLCAyMywgMzIsIDYsIDc2LCAKKyAgICAxMSwgMjMsIDMyLCA2LCAyMjYsIDEwNiwgMTEsIDIzLCAzMiwgNiwgMjI0LCA5NywgMTEsIDIzLCAzMiwgNiwgMTUzLCAxMSwgCisgICAgMjMsIDMyLCA2LCAyMjIsIDkyLCAxMSwgMjMsIDMyLCA2LCAyMTcsIDE1MywgMTEsIDIzLCAzMiwgNiwgNzAsIDExLCAyMywgCisgICAgMzIsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDMyLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDMyLCA2LCAyMTEsIDE3OCwgMTEsIDIzLCAKKyAgICAzMiwgNiwgMjExLCAxMTcsIDExLCAyMywgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDMyLCA0LCA2MSwgMTEsIDIzLCAzMiwgCisgICAgNCwgMjUzLCAxNTksIDExLCAyMywgMzIsIDQsIDI1MSwgNjcsIDExLCAyMywgMzIsIDQsIDI0OSwgNjEsIDExLCAyMywgMzIsIAorICAgIDQsIDc1LCAxMSwgMjMsIDMyLCA0LCAyNDUsIDcsIDExLCAyMywgMzIsIDQsIDI0MywgMjAzLCAxMSwgMjMsIDMyLCA0LCAKKyAgICAyNDIsIDYxLCAxMSwgMjMsIDMyLCA0LCA3MywgMTEsIDIzLCAzMiwgNCwgMjM1LCAxNDUsIDExLCAyMywgMzIsIDQsIDIzNSwgCisgICAgMjQsIDExLCAyMywgMzIsIDQsIDE1NiwgMTEsIDIzLCAzMiwgNCwgMTkzLCAxMSwgMjMsIDMyLCA0LCAyMzAsIDI2LCAxMSwgCisgICAgMjMsIDMyLCA0LCA3NiwgMTEsIDIzLCAzMiwgNCwgMjI2LCAxMDYsIDExLCAyMywgMzIsIDQsIDIyNCwgOTcsIDExLCAyMywgCisgICAgMzIsIDQsIDE1MywgMTEsIDIzLCAzMiwgNCwgMjIyLCA5MiwgMTEsIDIzLCAzMiwgNCwgMjE3LCAxNTMsIDExLCAyMywgMzIsIAorICAgIDQsIDcwLCAxMSwgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDIzLCAzMiwgNCwgMjEyLCA5OCwgMTEsIDIzLCAzMiwgNCwgCisgICAgMjExLCAxNzgsIDExLCAyMywgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDMyLCA0LCAyMTAsIDE1OSwgMTEsIDExOSwgNiwgCisgICAgNjEsIDExLCAxMTksIDYsIDI1MSwgNjcsIDExLCAxMTksIDYsIDI0OSwgNjEsIDExLCAxMTksIDYsIDI0MywgMjAzLCAxMSwgCisgICAgMTE5LCA2LCAyMzUsIDE0NSwgMTEsIDExOSwgNiwgMjM1LCAyNCwgMTEsIDExOSwgNiwgMjMwLCAyNiwgMTEsIDExOSwgNiwgCisgICAgNzYsIDExLCAxMTksIDYsIDIyNiwgMTA2LCAxMSwgMTE5LCA2LCAyMjQsIDk3LCAxMSwgMTE5LCA2LCAyMjIsIDkyLCAxMSwgCisgICAgMTE5LCA2LCAyMTcsIDE1MywgMTEsIDExOSwgNiwgNzAsIDExLCAxMTksIDYsIDIxNCwgMTA1LCAxMSwgMTE5LCA2LCAyMTIsIAorICAgIDk4LCAxMSwgMTE5LCA2LCAyMTEsIDE3OCwgMTEsIDExOSwgNiwgMjExLCAxMTcsIDExLCAxMTksIDYsIDIxMCwgMTU5LCAxMSwgCisgICAgMTE5LCA0LCA2MSwgMTEsIDExOSwgNCwgMjUzLCAxNTksIDExLCAxMTksIDQsIDI1MSwgNjcsIDExLCAxMTksIDQsIDI0OSwgCisgICAgNjEsIDExLCAxMTksIDQsIDI0NSwgNywgMTEsIDExOSwgNCwgMjQyLCA2MSwgMTEsIDExOSwgNCwgNzMsIDExLCAxMTksIDQsIAorICAgIDIzNSwgMTQ1LCAxMSwgMTE5LCA0LCAyMzUsIDI0LCAxMSwgMTE5LCA0LCAxNTYsIDExLCAxMTksIDQsIDE5MywgMTEsIDExOSwgCisgICAgNCwgMjMwLCAyNiwgMTEsIDExOSwgNCwgMjI2LCAxMDYsIDExLCAxMTksIDQsIDIyNCwgOTcsIDExLCAxMTksIDQsIDE1MywgCisgICAgMTEsIDExOSwgNCwgMjIyLCA5MiwgMTEsIDExOSwgNCwgMjE3LCAxNTMsIDExLCAxMTksIDQsIDcwLCAxMSwgMTE5LCA0LCAKKyAgICAyMTQsIDEwNSwgMTEsIDExOSwgNCwgMjEyLCA5OCwgMTEsIDExOSwgNCwgMjExLCAxNzgsIDExLCAxMTksIDQsIDIxMSwgCisgICAgMTE3LCAxMSwgMTE5LCA0LCAyMTAsIDE1OSwgMTEsIDIzLCAxMTksIDYsIDYxLCAxMSwgMjMsIDExOSwgNiwgMjUzLCAxNTksIAorICAgIDExLCAyMywgMTE5LCA2LCAyNTEsIDY3LCAxMSwgMjMsIDExOSwgNiwgMjQ5LCA2MSwgMTEsIDIzLCAxMTksIDYsIDc1LCAxMSwgCisgICAgMjMsIDExOSwgNiwgMjQ1LCA3LCAxMSwgMjMsIDExOSwgNiwgMjQzLCAyMDMsIDExLCAyMywgMTE5LCA2LCAyNDIsIDYxLCAKKyAgICAxMSwgMjMsIDExOSwgNiwgNzMsIDExLCAyMywgMTE5LCA2LCAyMzUsIDE0NSwgMTEsIDIzLCAxMTksIDYsIDIzNSwgMjQsIAorICAgIDExLCAyMywgMTE5LCA2LCAxNTYsIDExLCAyMywgMTE5LCA2LCAxOTMsIDExLCAyMywgMTE5LCA2LCAyMzAsIDI2LCAxMSwgCisgICAgMjMsIDExOSwgNiwgNzYsIDExLCAyMywgMTE5LCA2LCAyMjYsIDEwNiwgMTEsIDIzLCAxMTksIDYsIDIyNCwgOTcsIDExLCAKKyAgICAyMywgMTE5LCA2LCAxNTMsIDExLCAyMywgMTE5LCA2LCAyMjIsIDkyLCAxMSwgMjMsIDExOSwgNiwgMjE3LCAxNTMsIDExLCAKKyAgICAyMywgMTE5LCA2LCA3MCwgMTEsIDIzLCAxMTksIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNiwgMjEyLCA5OCwgMTEsIAorICAgIDIzLCAxMTksIDYsIDIxMSwgMTc4LCAxMSwgMjMsIDExOSwgNiwgMjExLCAxMTcsIDExLCAyMywgMTE5LCA2LCAyMTAsIDE1OSwgCisgICAgMTEsIDIzLCAxMTksIDQsIDYxLCAxMSwgMjMsIDExOSwgNCwgMjUzLCAxNTksIDExLCAyMywgMTE5LCA0LCAyNTEsIDY3LCAKKyAgICAxMSwgMjMsIDExOSwgNCwgMjQ5LCA2MSwgMTEsIDIzLCAxMTksIDQsIDc1LCAxMSwgMjMsIDExOSwgNCwgMjQ1LCA3LCAxMSwgCisgICAgMjMsIDExOSwgNCwgMjQzLCAyMDMsIDExLCAyMywgMTE5LCA0LCAyNDIsIDYxLCAxMSwgMjMsIDExOSwgNCwgNzMsIDExLCAKKyAgICAyMywgMTE5LCA0LCAyMzUsIDE0NSwgMTEsIDIzLCAxMTksIDQsIDIzNSwgMjQsIDExLCAyMywgMTE5LCA0LCAxNTYsIDExLCAKKyAgICAyMywgMTE5LCA0LCAxOTMsIDExLCAyMywgMTE5LCA0LCAyMzAsIDI2LCAxMSwgMjMsIDExOSwgNCwgNzYsIDExLCAyMywgCisgICAgMTE5LCA0LCAyMjYsIDEwNiwgMTEsIDIzLCAxMTksIDQsIDIyNCwgOTcsIDExLCAyMywgMTE5LCA0LCAxNTMsIDExLCAyMywgCisgICAgMTE5LCA0LCAyMjIsIDkyLCAxMSwgMjMsIDExOSwgNCwgMjE3LCAxNTMsIDExLCAyMywgMTE5LCA0LCA3MCwgMTEsIDIzLCAKKyAgICAxMTksIDQsIDIxNCwgMTA1LCAxMSwgMjMsIDExOSwgNCwgMjEyLCA5OCwgMTEsIDIzLCAxMTksIDQsIDIxMSwgMTc4LCAxMSwgCisgICAgMjMsIDExOSwgNCwgMjExLCAxMTcsIDExLCAyMywgMTE5LCA0LCAyMTAsIDE1OSwgMTEsIDEzMywgNiwgNjEsIDExLCAxMzMsIAorICAgIDYsIDI1MywgMTU5LCAxMSwgMTMzLCA2LCAyNDksIDYxLCAxMSwgMTMzLCA2LCA3NSwgMTEsIDEzMywgNiwgMjQ1LCA3LCAxMSwgCisgICAgMTMzLCA2LCAyNDMsIDIwMywgMTEsIDEzMywgNiwgMjM1LCAxNDUsIDExLCAxMzMsIDYsIDIzNSwgMjQsIDExLCAxMzMsIDYsIAorICAgIDE1NiwgMTEsIDEzMywgNiwgMTkzLCAxMSwgMTMzLCA2LCAyMzAsIDI2LCAxMSwgMTMzLCA2LCA3NiwgMTEsIDEzMywgNiwgCisgICAgMjI2LCAxMDYsIDExLCAxMzMsIDYsIDIyNCwgOTcsIDExLCAxMzMsIDYsIDIyMiwgOTIsIDExLCAxMzMsIDYsIDIxNywgMTUzLCAKKyAgICAxMSwgMTMzLCA2LCA3MCwgMTEsIDEzMywgNiwgMjE0LCAxMDUsIDExLCAxMzMsIDYsIDIxMiwgOTgsIDExLCAxMzMsIDYsIAorICAgIDIxMSwgMTc4LCAxMSwgMTMzLCA2LCAyMTEsIDExNywgMTEsIDEzMywgNCwgNjEsIDExLCAxMzMsIDQsIDI1MywgMTU5LCAxMSwgCisgICAgMTMzLCA0LCAyNTEsIDY3LCAxMSwgMTMzLCA0LCAyNDksIDYxLCAxMSwgMTMzLCA0LCA3NSwgMTEsIDEzMywgNCwgMjQ1LCA3LCAKKyAgICAxMSwgMTMzLCA0LCAyNDMsIDIwMywgMTEsIDEzMywgNCwgMjQyLCA2MSwgMTEsIDEzMywgNCwgNzMsIDExLCAxMzMsIDQsIAorICAgIDIzNSwgMTQ1LCAxMSwgMTMzLCA0LCAyMzUsIDI0LCAxMSwgMTMzLCA0LCAxNTYsIDExLCAxMzMsIDQsIDE5MywgMTEsIDEzMywgCisgICAgNCwgMjMwLCAyNiwgMTEsIDEzMywgNCwgNzYsIDExLCAxMzMsIDQsIDIyNiwgMTA2LCAxMSwgMTMzLCA0LCAyMjQsIDk3LCAKKyAgICAxMSwgMTMzLCA0LCAxNTMsIDExLCAxMzMsIDQsIDIyMiwgOTIsIDExLCAxMzMsIDQsIDIxNywgMTUzLCAxMSwgMTMzLCA0LCAKKyAgICA3MCwgMTEsIDEzMywgNCwgMjE0LCAxMDUsIDExLCAxMzMsIDQsIDIxMiwgOTgsIDExLCAxMzMsIDQsIDIxMSwgMTc4LCAxMSwgCisgICAgMTMzLCA0LCAyMTEsIDExNywgMTEsIDEzMywgNCwgMjEwLCAxNTksIDExLCAxMzksIDYsIDYxLCAxMSwgMTM5LCA2LCAyNTMsIAorICAgIDE1OSwgMTEsIDEzOSwgNiwgMjQ5LCA2MSwgMTEsIDEzOSwgNiwgNzUsIDExLCAxMzksIDYsIDI0NSwgNywgMTEsIDEzOSwgNiwgCisgICAgMjQzLCAyMDMsIDExLCAxMzksIDYsIDczLCAxMSwgMTM5LCA2LCAyMzUsIDE0NSwgMTEsIDEzOSwgNiwgMjM1LCAyNCwgMTEsIAorICAgIDEzOSwgNiwgMTU2LCAxMSwgMTM5LCA2LCAxOTMsIDExLCAxMzksIDYsIDc2LCAxMSwgMTM5LCA2LCAyMjIsIDkyLCAxMSwgCisgICAgMTM5LCA2LCAyMTcsIDE1MywgMTEsIDEzOSwgNiwgNzAsIDExLCAxMzksIDYsIDIxNCwgMTA1LCAxMSwgMTM5LCA2LCAyMTIsIAorICAgIDk4LCAxMSwgMTM5LCA2LCAyMTEsIDE3OCwgMTEsIDEzOSwgNiwgMjExLCAxMTcsIDExLCAxMzksIDQsIDYxLCAxMSwgMTM5LCAKKyAgICA0LCAyNTMsIDE1OSwgMTEsIDEzOSwgNCwgMjUxLCA2NywgMTEsIDEzOSwgNCwgMjQ5LCA2MSwgMTEsIDEzOSwgNCwgNzUsIAorICAgIDExLCAxMzksIDQsIDI0NSwgNywgMTEsIDEzOSwgNCwgMjQzLCAyMDMsIDExLCAxMzksIDQsIDI0MiwgNjEsIDExLCAxMzksIAorICAgIDQsIDczLCAxMSwgMTM5LCA0LCAyMzUsIDE0NSwgMTEsIDEzOSwgNCwgMjM1LCAyNCwgMTEsIDEzOSwgNCwgMTU2LCAxMSwgCisgICAgMTM5LCA0LCAxOTMsIDExLCAxMzksIDQsIDIzMCwgMjYsIDExLCAxMzksIDQsIDc2LCAxMSwgMTM5LCA0LCAyMjYsIDEwNiwgCisgICAgMTEsIDEzOSwgNCwgMjI0LCA5NywgMTEsIDEzOSwgNCwgMTUzLCAxMSwgMTM5LCA0LCAyMjIsIDkyLCAxMSwgMTM5LCA0LCAKKyAgICAyMTcsIDE1MywgMTEsIDEzOSwgNCwgNzAsIDExLCAxMzksIDQsIDIxNCwgMTA1LCAxMSwgMTM5LCA0LCAyMTIsIDk4LCAxMSwgCisgICAgMTM5LCA0LCAyMTEsIDE3OCwgMTEsIDEzOSwgNCwgMjExLCAxMTcsIDExLCAxMzksIDQsIDIxMCwgMTU5LCAxMSwgMjMsIAorICAgIDEzMywgNiwgNjEsIDExLCAyMywgMTMzLCA2LCAyNTMsIDE1OSwgMTEsIDIzLCAxMzMsIDYsIDI1MSwgNjcsIDExLCAyMywgCisgICAgMTMzLCA2LCAyNDksIDYxLCAxMSwgMjMsIDEzMywgNiwgNzUsIDExLCAyMywgMTMzLCA2LCAyNDUsIDcsIDExLCAyMywgMTMzLCAKKyAgICA2LCAyNDMsIDIwMywgMTEsIDIzLCAxMzMsIDYsIDI0MiwgNjEsIDExLCAyMywgMTMzLCA2LCA3MywgMTEsIDIzLCAxMzMsIDYsIAorICAgIDIzNSwgMTQ1LCAxMSwgMjMsIDEzMywgNiwgMjM1LCAyNCwgMTEsIDIzLCAxMzMsIDYsIDE1NiwgMTEsIDIzLCAxMzMsIDYsIAorICAgIDE5MywgMTEsIDIzLCAxMzMsIDYsIDIzMCwgMjYsIDExLCAyMywgMTMzLCA2LCA3NiwgMTEsIDIzLCAxMzMsIDYsIDIyNiwgCisgICAgMTA2LCAxMSwgMjMsIDEzMywgNiwgMjI0LCA5NywgMTEsIDIzLCAxMzMsIDYsIDE1MywgMTEsIDIzLCAxMzMsIDYsIDIyMiwgCisgICAgOTIsIDExLCAyMywgMTMzLCA2LCAyMTcsIDE1MywgMTEsIDIzLCAxMzMsIDYsIDcwLCAxMSwgMjMsIDEzMywgNiwgMjE0LCAKKyAgICAxMDUsIDExLCAyMywgMTMzLCA2LCAyMTIsIDk4LCAxMSwgMjMsIDEzMywgNiwgMjExLCAxNzgsIDExLCAyMywgMTMzLCA2LCAKKyAgICAyMTEsIDExNywgMTEsIDIzLCAxMzMsIDYsIDIxMCwgMTU5LCAxMSwgMjMsIDEzMywgNCwgNjEsIDExLCAyMywgMTMzLCA0LCAKKyAgICAyNTMsIDE1OSwgMTEsIDIzLCAxMzMsIDQsIDI1MSwgNjcsIDExLCAyMywgMTMzLCA0LCAyNDksIDYxLCAxMSwgMjMsIDEzMywgCisgICAgNCwgNzUsIDExLCAyMywgMTMzLCA0LCAyNDUsIDcsIDExLCAyMywgMTMzLCA0LCAyNDMsIDIwMywgMTEsIDIzLCAxMzMsIDQsIAorICAgIDI0MiwgNjEsIDExLCAyMywgMTMzLCA0LCA3MywgMTEsIDIzLCAxMzMsIDQsIDIzNSwgMTQ1LCAxMSwgMjMsIDEzMywgNCwgCisgICAgMjM1LCAyNCwgMTEsIDIzLCAxMzMsIDQsIDE1NiwgMTEsIDIzLCAxMzMsIDQsIDE5MywgMTEsIDIzLCAxMzMsIDQsIDIzMCwgCisgICAgMjYsIDExLCAyMywgMTMzLCA0LCA3NiwgMTEsIDIzLCAxMzMsIDQsIDIyNiwgMTA2LCAxMSwgMjMsIDEzMywgNCwgMjI0LCAKKyAgICA5NywgMTEsIDIzLCAxMzMsIDQsIDE1MywgMTEsIDIzLCAxMzMsIDQsIDIyMiwgOTIsIDExLCAyMywgMTMzLCA0LCAyMTcsIAorICAgIDE1MywgMTEsIDIzLCAxMzMsIDQsIDcwLCAxMSwgMjMsIDEzMywgNCwgMjE0LCAxMDUsIDExLCAyMywgMTMzLCA0LCAyMTIsIAorICAgIDk4LCAxMSwgMjMsIDEzMywgNCwgMjExLCAxNzgsIDExLCAyMywgMTMzLCA0LCAyMTEsIDExNywgMTEsIDIzLCAxMzMsIDQsIAorICAgIDIxMCwgMTU5LCAxMSwgMzUsIDYsIDYxLCAxMSwgMzUsIDYsIDI1MywgMTU5LCAxMSwgMzUsIDYsIDI1MSwgNjcsIDExLCAzNSwgCisgICAgNiwgMjQ5LCA2MSwgMTEsIDM1LCA2LCA3NSwgMTEsIDM1LCA2LCAyNDUsIDcsIDExLCAzNSwgNiwgMjQzLCAyMDMsIDExLCAKKyAgICAzNSwgNiwgMjQyLCA2MSwgMTEsIDM1LCA2LCA3MywgMTEsIDM1LCA2LCAyMzUsIDE0NSwgMTEsIDM1LCA2LCAyMzUsIDI0LCAKKyAgICAxMSwgMzUsIDYsIDE1NiwgMTEsIDM1LCA2LCAxOTMsIDExLCAzNSwgNiwgMjMwLCAyNiwgMTEsIDM1LCA2LCA3NiwgMTEsIAorICAgIDM1LCA2LCAyMjYsIDEwNiwgMTEsIDM1LCA2LCAyMjQsIDk3LCAxMSwgMzUsIDYsIDE1MywgMTEsIDM1LCA2LCAyMjIsIDkyLCAKKyAgICAxMSwgMzUsIDYsIDIxNywgMTUzLCAxMSwgMzUsIDYsIDcwLCAxMSwgMzUsIDYsIDIxNCwgMTA1LCAxMSwgMzUsIDYsIDIxMiwgCisgICAgOTgsIDExLCAzNSwgNiwgMjExLCAxNzgsIDExLCAzNSwgNiwgMjExLCAxMTcsIDExLCAzNSwgNiwgMjEwLCAxNTksIDExLCAKKyAgICAzNSwgNCwgNjEsIDExLCAzNSwgNCwgMjUzLCAxNTksIDExLCAzNSwgNCwgMjUxLCA2NywgMTEsIDM1LCA0LCAyNDksIDYxLCAKKyAgICAxMSwgMzUsIDQsIDc1LCAxMSwgMzUsIDQsIDI0NSwgNywgMTEsIDM1LCA0LCAyNDMsIDIwMywgMTEsIDM1LCA0LCAyNDIsIAorICAgIDYxLCAxMSwgMzUsIDQsIDczLCAxMSwgMzUsIDQsIDIzNSwgMTQ1LCAxMSwgMzUsIDQsIDIzNSwgMjQsIDExLCAzNSwgNCwgCisgICAgMTU2LCAxMSwgMzUsIDQsIDE5MywgMTEsIDM1LCA0LCAyMzAsIDI2LCAxMSwgMzUsIDQsIDc2LCAxMSwgMzUsIDQsIDIyNiwgCisgICAgMTA2LCAxMSwgMzUsIDQsIDIyNCwgOTcsIDExLCAzNSwgNCwgMTUzLCAxMSwgMzUsIDQsIDIyMiwgOTIsIDExLCAzNSwgNCwgCisgICAgMjE3LCAxNTMsIDExLCAzNSwgNCwgNzAsIDExLCAzNSwgNCwgMjE0LCAxMDUsIDExLCAzNSwgNCwgMjEyLCA5OCwgMTEsIDM1LCAKKyAgICA0LCAyMTEsIDE3OCwgMTEsIDM1LCA0LCAyMTEsIDExNywgMTEsIDM1LCA0LCAyMTAsIDE1OSwgMTEsIDM1LCAyMywgNiwgNjEsIAorICAgIDExLCAzNSwgMjMsIDYsIDI1MywgMTU5LCAxMSwgMzUsIDIzLCA2LCAyNTEsIDY3LCAxMSwgMzUsIDIzLCA2LCAyNDksIDYxLCAKKyAgICAxMSwgMzUsIDIzLCA2LCA3NSwgMTEsIDM1LCAyMywgNiwgMjQ1LCA3LCAxMSwgMzUsIDIzLCA2LCAyNDMsIDIwMywgMTEsIAorICAgIDM1LCAyMywgNiwgMjQyLCA2MSwgMTEsIDM1LCAyMywgNiwgNzMsIDExLCAzNSwgMjMsIDYsIDIzNSwgMTQ1LCAxMSwgMzUsIAorICAgIDIzLCA2LCAyMzUsIDI0LCAxMSwgMzUsIDIzLCA2LCAxNTYsIDExLCAzNSwgMjMsIDYsIDE5MywgMTEsIDM1LCAyMywgNiwgCisgICAgMjMwLCAyNiwgMTEsIDM1LCAyMywgNiwgNzYsIDExLCAzNSwgMjMsIDYsIDIyNiwgMTA2LCAxMSwgMzUsIDIzLCA2LCAyMjQsIAorICAgIDk3LCAxMSwgMzUsIDIzLCA2LCAxNTMsIDExLCAzNSwgMjMsIDYsIDIyMiwgOTIsIDExLCAzNSwgMjMsIDYsIDIxNywgMTUzLCAKKyAgICAxMSwgMzUsIDIzLCA2LCA3MCwgMTEsIDM1LCAyMywgNiwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDYsIDIxMiwgOTgsIDExLCAKKyAgICAzNSwgMjMsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDIzLCA2LCAyMTEsIDExNywgMTEsIDM1LCAyMywgNiwgMjEwLCAxNTksIAorICAgIDExLCAzNSwgMjMsIDQsIDYxLCAxMSwgMzUsIDIzLCA0LCAyNTMsIDE1OSwgMTEsIDM1LCAyMywgNCwgMjUxLCA2NywgMTEsIAorICAgIDM1LCAyMywgNCwgMjQ5LCA2MSwgMTEsIDM1LCAyMywgNCwgNzUsIDExLCAzNSwgMjMsIDQsIDI0NSwgNywgMTEsIDM1LCAyMywgCisgICAgNCwgMjQzLCAyMDMsIDExLCAzNSwgMjMsIDQsIDI0MiwgNjEsIDExLCAzNSwgMjMsIDQsIDczLCAxMSwgMzUsIDIzLCA0LCAKKyAgICAyMzUsIDE0NSwgMTEsIDM1LCAyMywgNCwgMjM1LCAyNCwgMTEsIDM1LCAyMywgNCwgMTU2LCAxMSwgMzUsIDIzLCA0LCAxOTMsIAorICAgIDExLCAzNSwgMjMsIDQsIDIzMCwgMjYsIDExLCAzNSwgMjMsIDQsIDc2LCAxMSwgMzUsIDIzLCA0LCAyMjYsIDEwNiwgMTEsIAorICAgIDM1LCAyMywgNCwgMjI0LCA5NywgMTEsIDM1LCAyMywgNCwgMTUzLCAxMSwgMzUsIDIzLCA0LCAyMjIsIDkyLCAxMSwgMzUsIAorICAgIDIzLCA0LCAyMTcsIDE1MywgMTEsIDM1LCAyMywgNCwgNzAsIDExLCAzNSwgMjMsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIDIzLCAKKyAgICA0LCAyMTIsIDk4LCAxMSwgMzUsIDIzLCA0LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgNCwgMjExLCAxMTcsIDExLCAzNSwgMjMsIAorICAgIDQsIDIxMCwgMTU5LCAxMSwgMzUsIDMyLCA2LCA2MSwgMTEsIDM1LCAzMiwgNiwgMjUzLCAxNTksIDExLCAzNSwgMzIsIDYsIAorICAgIDI1MSwgNjcsIDExLCAzNSwgMzIsIDYsIDI0OSwgNjEsIDExLCAzNSwgMzIsIDYsIDc1LCAxMSwgMzUsIDMyLCA2LCAyNDUsIAorICAgIDcsIDExLCAzNSwgMzIsIDYsIDI0MywgMjAzLCAxMSwgMzUsIDMyLCA2LCAyNDIsIDYxLCAxMSwgMzUsIDMyLCA2LCA3MywgCisgICAgMTEsIDM1LCAzMiwgNiwgMjM1LCAxNDUsIDExLCAzNSwgMzIsIDYsIDIzNSwgMjQsIDExLCAzNSwgMzIsIDYsIDE1NiwgMTEsIAorICAgIDM1LCAzMiwgNiwgMTkzLCAxMSwgMzUsIDMyLCA2LCAyMzAsIDI2LCAxMSwgMzUsIDMyLCA2LCA3NiwgMTEsIDM1LCAzMiwgNiwgCisgICAgMjI2LCAxMDYsIDExLCAzNSwgMzIsIDYsIDIyNCwgOTcsIDExLCAzNSwgMzIsIDYsIDE1MywgMTEsIDM1LCAzMiwgNiwgMjIyLCAKKyAgICA5MiwgMTEsIDM1LCAzMiwgNiwgMjE3LCAxNTMsIDExLCAzNSwgMzIsIDYsIDcwLCAxMSwgMzUsIDMyLCA2LCAyMTQsIDEwNSwgCisgICAgMTEsIDM1LCAzMiwgNiwgMjEyLCA5OCwgMTEsIDM1LCAzMiwgNiwgMjExLCAxNzgsIDExLCAzNSwgMzIsIDYsIDIxMSwgMTE3LCAKKyAgICAxMSwgMzUsIDMyLCA2LCAyMTAsIDE1OSwgMTEsIDM1LCAzMiwgNCwgNjEsIDExLCAzNSwgMzIsIDQsIDI1MywgMTU5LCAxMSwgCisgICAgMzUsIDMyLCA0LCAyNTEsIDY3LCAxMSwgMzUsIDMyLCA0LCAyNDksIDYxLCAxMSwgMzUsIDMyLCA0LCA3NSwgMTEsIDM1LCAKKyAgICAzMiwgNCwgMjQ1LCA3LCAxMSwgMzUsIDMyLCA0LCAyNDMsIDIwMywgMTEsIDM1LCAzMiwgNCwgMjQyLCA2MSwgMTEsIDM1LCAKKyAgICAzMiwgNCwgNzMsIDExLCAzNSwgMzIsIDQsIDIzNSwgMTQ1LCAxMSwgMzUsIDMyLCA0LCAyMzUsIDI0LCAxMSwgMzUsIDMyLCAKKyAgICA0LCAxNTYsIDExLCAzNSwgMzIsIDQsIDE5MywgMTEsIDM1LCAzMiwgNCwgMjMwLCAyNiwgMTEsIDM1LCAzMiwgNCwgNzYsIAorICAgIDExLCAzNSwgMzIsIDQsIDIyNiwgMTA2LCAxMSwgMzUsIDMyLCA0LCAyMjQsIDk3LCAxMSwgMzUsIDMyLCA0LCAxNTMsIDExLCAKKyAgICAzNSwgMzIsIDQsIDIyMiwgOTIsIDExLCAzNSwgMzIsIDQsIDIxNywgMTUzLCAxMSwgMzUsIDMyLCA0LCA3MCwgMTEsIDM1LCAKKyAgICAzMiwgNCwgMjE0LCAxMDUsIDExLCAzNSwgMzIsIDQsIDIxMiwgOTgsIDExLCAzNSwgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMzUsIAorICAgIDMyLCA0LCAyMTEsIDExNywgMTEsIDM1LCAzMiwgNCwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDMyLCA2LCA2MSwgMTEsIDM1LCAKKyAgICAyMywgMzIsIDYsIDI1MywgMTU5LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjUxLCA2NywgMTEsIDM1LCAyMywgMzIsIDYsIDI0OSwgCisgICAgNjEsIDExLCAzNSwgMjMsIDMyLCA2LCA3NSwgMTEsIDM1LCAyMywgMzIsIDYsIDI0NSwgNywgMTEsIDM1LCAyMywgMzIsIDYsIAorICAgIDI0MywgMjAzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQyLCA2MSwgMTEsIDM1LCAyMywgMzIsIDYsIDczLCAxMSwgMzUsIDIzLCAKKyAgICAzMiwgNiwgMjM1LCAxNDUsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzUsIDI0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMTU2LCAxMSwgCisgICAgMzUsIDIzLCAzMiwgNiwgMTkzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjMwLCAyNiwgMTEsIDM1LCAyMywgMzIsIDYsIDc2LCAKKyAgICAxMSwgMzUsIDIzLCAzMiwgNiwgMjI2LCAxMDYsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjQsIDk3LCAxMSwgMzUsIDIzLCAzMiwgCisgICAgNiwgMTUzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjIyLCA5MiwgMTEsIDM1LCAyMywgMzIsIDYsIDIxNywgMTUzLCAxMSwgMzUsIAorICAgIDIzLCAzMiwgNiwgNzAsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgMzIsIDYsIDIxMiwgOTgsIAorICAgIDExLCAzNSwgMjMsIDMyLCA2LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgMzIsIDYsIDIxMSwgMTE3LCAxMSwgMzUsIDIzLCAzMiwgCisgICAgNiwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDMyLCA0LCA2MSwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MywgMTU5LCAxMSwgMzUsIAorICAgIDIzLCAzMiwgNCwgMjUxLCA2NywgMTEsIDM1LCAyMywgMzIsIDQsIDI0OSwgNjEsIDExLCAzNSwgMjMsIDMyLCA0LCA3NSwgCisgICAgMTEsIDM1LCAyMywgMzIsIDQsIDI0NSwgNywgMTEsIDM1LCAyMywgMzIsIDQsIDI0MywgMjAzLCAxMSwgMzUsIDIzLCAzMiwgCisgICAgNCwgMjQyLCA2MSwgMTEsIDM1LCAyMywgMzIsIDQsIDczLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM1LCAxNDUsIDExLCAzNSwgCisgICAgMjMsIDMyLCA0LCAyMzUsIDI0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMTU2LCAxMSwgMzUsIDIzLCAzMiwgNCwgMTkzLCAxMSwgCisgICAgMzUsIDIzLCAzMiwgNCwgMjMwLCAyNiwgMTEsIDM1LCAyMywgMzIsIDQsIDc2LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI2LCAKKyAgICAxMDYsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjQsIDk3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMTUzLCAxMSwgMzUsIDIzLCAzMiwgCisgICAgNCwgMjIyLCA5MiwgMTEsIDM1LCAyMywgMzIsIDQsIDIxNywgMTUzLCAxMSwgMzUsIDIzLCAzMiwgNCwgNzAsIDExLCAzNSwgCisgICAgMjMsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMiwgOTgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIAorICAgIDE3OCwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjEwLCAxNTksIDExLCAyMzAsIAorICAgIDEzOSwgNiwgNjEsIDExLCAyMzAsIDEzOSwgNiwgMjUzLCAxNTksIDExLCAyMzAsIDEzOSwgNiwgMjUxLCA2NywgMTEsIDIzMCwgCisgICAgMTM5LCA2LCAyNDksIDYxLCAxMSwgMjMwLCAxMzksIDYsIDc1LCAxMSwgMjMwLCAxMzksIDYsIDI0NSwgNywgMTEsIDIzMCwgCisgICAgMTM5LCA2LCAyNDMsIDIwMywgMTEsIDIzMCwgMTM5LCA2LCAyNDIsIDYxLCAxMSwgMjMwLCAxMzksIDYsIDczLCAxMSwgMjMwLCAKKyAgICAxMzksIDYsIDIzNSwgMTQ1LCAxMSwgMjMwLCAxMzksIDYsIDIzNSwgMjQsIDExLCAyMzAsIDEzOSwgNiwgMTU2LCAxMSwgCisgICAgMjMwLCAxMzksIDYsIDE5MywgMTEsIDIzMCwgMTM5LCA2LCAyMzAsIDI2LCAxMSwgMjMwLCAxMzksIDYsIDc2LCAxMSwgMjMwLCAKKyAgICAxMzksIDYsIDIyNiwgMTA2LCAxMSwgMjMwLCAxMzksIDYsIDIyNCwgOTcsIDExLCAyMzAsIDEzOSwgNiwgMTUzLCAxMSwgCisgICAgMjMwLCAxMzksIDYsIDIyMiwgOTIsIDExLCAyMzAsIDEzOSwgNiwgMjE3LCAxNTMsIDExLCAyMzAsIDEzOSwgNiwgNzAsIDExLCAKKyAgICAyMzAsIDEzOSwgNiwgMjE0LCAxMDUsIDExLCAyMzAsIDEzOSwgNiwgMjEyLCA5OCwgMTEsIDIzMCwgMTM5LCA2LCAyMTEsIAorICAgIDE3OCwgMTEsIDIzMCwgMTM5LCA2LCAyMTEsIDExNywgMTEsIDIzMCwgMTM5LCA2LCAyMTAsIDE1OSwgMTEsIDIzMCwgMTM5LCAKKyAgICA0LCA2MSwgMTEsIDIzMCwgMTM5LCA0LCAyNTMsIDE1OSwgMTEsIDIzMCwgMTM5LCA0LCAyNTEsIDY3LCAxMSwgMjMwLCAxMzksIAorICAgIDQsIDI0OSwgNjEsIDExLCAyMzAsIDEzOSwgNCwgNzUsIDExLCAyMzAsIDEzOSwgNCwgMjQ1LCA3LCAxMSwgMjMwLCAxMzksIAorICAgIDQsIDI0MywgMjAzLCAxMSwgMjMwLCAxMzksIDQsIDI0MiwgNjEsIDExLCAyMzAsIDEzOSwgNCwgNzMsIDExLCAyMzAsIDEzOSwgCisgICAgNCwgMjM1LCAxNDUsIDExLCAyMzAsIDEzOSwgNCwgMjM1LCAyNCwgMTEsIDIzMCwgMTM5LCA0LCAxNTYsIDExLCAyMzAsIAorICAgIDEzOSwgNCwgMTkzLCAxMSwgMjMwLCAxMzksIDQsIDIzMCwgMjYsIDExLCAyMzAsIDEzOSwgNCwgNzYsIDExLCAyMzAsIDEzOSwgCisgICAgNCwgMjI2LCAxMDYsIDExLCAyMzAsIDEzOSwgNCwgMjI0LCA5NywgMTEsIDIzMCwgMTM5LCA0LCAxNTMsIDExLCAyMzAsIAorICAgIDEzOSwgNCwgMjIyLCA5MiwgMTEsIDIzMCwgMTM5LCA0LCAyMTcsIDE1MywgMTEsIDIzMCwgMTM5LCA0LCA3MCwgMTEsIDIzMCwgCisgICAgMTM5LCA0LCAyMTQsIDEwNSwgMTEsIDIzMCwgMTM5LCA0LCAyMTIsIDk4LCAxMSwgMjMwLCAxMzksIDQsIDIxMSwgMTc4LCAKKyAgICAxMSwgMjMwLCAxMzksIDQsIDIxMSwgMTE3LCAxMSwgMjMwLCAxMzksIDQsIDIxMCwgMTU5LCAxMSwgMzIsIDQsIDI0NywgCisgICAgMTIwLCA3MywgMTEsIDMyLCA0LCAyNDcsIDEyMCwgMjM1LCAxNDUsIDExLCAyMywgNiwgMjU0LCAxNDQsIDExLCAyMywgNiwgCisgICAgMjUyLCAyNywgMTEsIDIzLCA2LCAyNDMsIDEwOCwgMTEsIDIzLCA2LCAyNDgsIDU1LCAxMSwgMjMsIDYsIDI0NSwgMTAxLCAKKyAgICAxMSwgMjMsIDYsIDIxMCwgODUsIDExLCAyMywgNiwgMjQ1LCA2NCwgMTEsIDIzLCA2LCAyMTYsIDE4MCwgMTEsIDIzLCA2LCAKKyAgICAyMzUsIDE4NiwgMTEsIDIzLCA2LCAyMzQsIDIyMywgMTEsIDIzLCA2LCAyMzMsIDk5LCAxMSwgMjMsIDYsIDIzMCwgMTAzLCAKKyAgICAxMSwgMjMsIDYsIDIyNywgMjM4LCAxMSwgMjMsIDYsIDIxMSwgMTU3LCAxMSwgMjMsIDYsIDIyNiwgMjAwLCAxMSwgMjMsIDYsIAorICAgIDIyNSwgMTA5LCAxMSwgMjMsIDYsIDIyMywgMzgsIDExLCAyMywgNiwgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDYsIDIxOSwgCisgICAgMTc4LCAxMSwgMjMsIDYsIDIxNywgNDIsIDExLCAyMywgNiwgMjE0LCAxNTcsIDExLCAyMywgNiwgMjI1LCAxMzQsIDExLCAKKyAgICAyMywgNiwgMjUwLCAxMTEsIDExLCAyMywgNiwgMjI0LCAxNjIsIDExLCAyMywgNiwgMjI2LCAyMDIsIDExLCAyMywgMjI5LCAKKyAgICAyMjIsIDExLCAyMywgNCwgMjU0LCAxNDQsIDExLCAyMywgNCwgMjUyLCAyNywgMTEsIDIzLCA0LCAyNDMsIDEwOCwgMTEsIAorICAgIDIzLCA0LCAyNDgsIDU1LCAxMSwgMjMsIDQsIDI0NSwgMTAxLCAxMSwgMjMsIDQsIDIxMCwgODUsIDExLCAyMywgNCwgMjQ1LCAKKyAgICA2NCwgMTEsIDIzLCA0LCAyMTYsIDE4MCwgMTEsIDIzLCA0LCAyMzUsIDE4NiwgMTEsIDIzLCA0LCAyMzQsIDIyMywgMTEsIAorICAgIDIzLCA0LCAyMzMsIDk5LCAxMSwgMjMsIDQsIDIzMCwgMTAzLCAxMSwgMjMsIDQsIDIyNywgMjM4LCAxMSwgMjMsIDQsIDIxMSwgCisgICAgMTU3LCAxMSwgMjMsIDQsIDIyNiwgMjAwLCAxMSwgMjMsIDQsIDIyNSwgMTA5LCAxMSwgMjMsIDQsIDIyMywgMzgsIDExLCAKKyAgICAyMywgNCwgNDAsIDIxOSwgMTc4LCAxMSwgMjMsIDQsIDIxOSwgMTc4LCAxMSwgMjMsIDQsIDIxNywgNDIsIDExLCAyMywgNCwgCisgICAgMjE0LCAxNTcsIDExLCAyMywgNCwgMjI1LCAxMzQsIDExLCAyMywgNCwgMjUwLCAxMTEsIDExLCAyMywgNCwgMjI0LCAxNjIsIAorICAgIDExLCAyMywgNCwgMjI2LCAyMDIsIDExLCAyMywgMjI1LCAyNTQsIDI0NywgMjM0LCAxMSwgMjMsIDI0NSwgMTAyLCA4NywgCisgICAgMTEsIDIzLCAyMTYsIDE4MSwgODcsIDExLCAyMywgMjM0LCAyMjQsIDg3LCAxMSwgMjMsIDIyNSwgMTM1LCA4NywgMTEsIDIzLCAKKyAgICAyMjMsIDM5LCA4NywgMTEsIDIzLCAyMjUsIDExMCwgODcsIDExLCAzMiwgNiwgMjU0LCAxNDQsIDExLCAzMiwgNiwgMjUyLCAKKyAgICAyNywgMTEsIDMyLCA2LCAyNDMsIDEwOCwgMTEsIDMyLCA2LCAyNDgsIDU1LCAxMSwgMzIsIDYsIDI0NSwgMTAxLCAxMSwgMzIsIAorICAgIDYsIDIxMCwgODUsIDExLCAzMiwgNiwgMjQ1LCA2NCwgMTEsIDMyLCA2LCAyMTYsIDE4MCwgMTEsIDMyLCA2LCAyMzUsIDE4NiwgCisgICAgMTEsIDMyLCA2LCAyMzQsIDIyMywgMTEsIDMyLCA2LCAyMzMsIDk5LCAxMSwgMzIsIDYsIDIzMCwgMTAzLCAxMSwgMzIsIDYsIAorICAgIDIyNywgMjM4LCAxMSwgMzIsIDYsIDIxMSwgMTU3LCAxMSwgMzIsIDYsIDIyNiwgMjAwLCAxMSwgMzIsIDYsIDIyNSwgMTA5LCAKKyAgICAxMSwgMzIsIDYsIDIyMywgMzgsIDExLCAzMiwgNiwgMjE2LCAxODEsIDg3LCAxMSwgMzIsIDYsIDIxOSwgMTc4LCAxMSwgMzIsIAorICAgIDYsIDIxNywgNDIsIDExLCAzMiwgNiwgMjE0LCAxNTcsIDExLCAzMiwgNiwgMjI1LCAxMzQsIDExLCAzMiwgNiwgMjUwLCAKKyAgICAxMTEsIDExLCAzMiwgNiwgMjI0LCAxNjIsIDExLCAzMiwgNiwgMjI2LCAyMDIsIDExLCAzMiwgMjI5LCAyMjIsIDExLCAzMiwgCisgICAgNCwgMjU0LCAxNDQsIDExLCAzMiwgNCwgMjUyLCAyNywgMTEsIDMyLCA0LCAyNDMsIDEwOCwgMTEsIDMyLCA0LCAyNDgsIDU1LCAKKyAgICAxMSwgMzIsIDQsIDI0NSwgMTAxLCAxMSwgMzIsIDQsIDIxMCwgODUsIDExLCAzMiwgNCwgMjQ1LCA2NCwgMTEsIDMyLCA0LCAKKyAgICAyMTYsIDE4MCwgMTEsIDMyLCA0LCAyMzUsIDE4NiwgMTEsIDMyLCA0LCAyMzQsIDIyMywgMTEsIDMyLCA0LCAyMzMsIDk5LCAKKyAgICAxMSwgMzIsIDQsIDIzMCwgMTAzLCAxMSwgMzIsIDQsIDIyNywgMjM4LCAxMSwgMzIsIDQsIDIxMSwgMTU3LCAxMSwgMzIsIDQsIAorICAgIDIyNiwgMjAwLCAxMSwgMzIsIDQsIDIyNSwgMTA5LCAxMSwgMzIsIDQsIDIyMywgMzgsIDExLCAzMiwgNCwgNDAsIDIxOSwgCisgICAgMTc4LCAxMSwgMzIsIDQsIDIxOSwgMTc4LCAxMSwgMzIsIDQsIDIxNywgNDIsIDExLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAKKyAgICAzMiwgNCwgMjI1LCAxMzQsIDExLCAzMiwgNCwgMjUwLCAxMTEsIDExLCAzMiwgNCwgMjI0LCAxNjIsIDExLCAzMiwgNCwgCisgICAgMjI2LCAyMDIsIDExLCAzMiwgMjI1LCAyNTQsIDI0NywgMjM0LCAxMSwgMzIsIDI0NSwgMTAyLCA4NywgMTEsIDMyLCAyMTYsIAorICAgIDE4MSwgODcsIDExLCAzMiwgMjM0LCAyMjQsIDg3LCAxMSwgMzIsIDIyNSwgMTM1LCA4NywgMTEsIDMyLCAyMjMsIDM5LCA4NywgCisgICAgMTEsIDMyLCAyMjUsIDExMCwgODcsIDExLCAyMywgMzIsIDYsIDI1NCwgMTQ0LCAxMSwgMjMsIDMyLCA2LCAyNTIsIDI3LCAKKyAgICAxMSwgMjMsIDMyLCA2LCAyNDMsIDEwOCwgMTEsIDIzLCAzMiwgNiwgMjQ4LCA1NSwgMTEsIDIzLCAzMiwgNiwgMjQ1LCAxMDEsIAorICAgIDExLCAyMywgMzIsIDYsIDIxMCwgODUsIDExLCAyMywgMzIsIDYsIDI0NSwgNjQsIDExLCAyMywgMzIsIDYsIDIxNiwgMTgwLCAKKyAgICAxMSwgMjMsIDMyLCA2LCAyMzUsIDE4NiwgMTEsIDIzLCAzMiwgNiwgMjM0LCAyMjMsIDExLCAyMywgMzIsIDYsIDIzMywgOTksIAorICAgIDExLCAyMywgMzIsIDYsIDIzMCwgMTAzLCAxMSwgMjMsIDMyLCA2LCAyMjcsIDIzOCwgMTEsIDIzLCAzMiwgNiwgMjExLCAKKyAgICAxNTcsIDExLCAyMywgMzIsIDYsIDIyNiwgMjAwLCAxMSwgMjMsIDMyLCA2LCAyMjUsIDEwOSwgMTEsIDIzLCAzMiwgNiwgCisgICAgMjIzLCAzOCwgMTEsIDIzLCAzMiwgNiwgMjE2LCAxODEsIDg3LCAxMSwgMjMsIDMyLCA2LCAyMTksIDE3OCwgMTEsIDIzLCAKKyAgICAzMiwgNiwgMjE3LCA0MiwgMTEsIDIzLCAzMiwgNiwgMjE0LCAxNTcsIDExLCAyMywgMzIsIDYsIDIyNSwgMTM0LCAxMSwgMjMsIAorICAgIDMyLCA2LCAyNTAsIDExMSwgMTEsIDIzLCAzMiwgNiwgMjI0LCAxNjIsIDExLCAyMywgMzIsIDYsIDIyNiwgMjAyLCAxMSwgCisgICAgMjMsIDMyLCAyMjksIDIyMiwgMTEsIDIzLCAzMiwgNCwgMjU0LCAxNDQsIDExLCAyMywgMzIsIDQsIDI1MiwgMjcsIDExLCAKKyAgICAyMywgMzIsIDQsIDI0MywgMTA4LCAxMSwgMjMsIDMyLCA0LCAyNDgsIDU1LCAxMSwgMjMsIDMyLCA0LCAyNDUsIDEwMSwgMTEsIAorICAgIDIzLCAzMiwgNCwgMjEwLCA4NSwgMTEsIDIzLCAzMiwgNCwgMjQ1LCA2NCwgMTEsIDIzLCAzMiwgNCwgMjE2LCAxODAsIDExLCAKKyAgICAyMywgMzIsIDQsIDIzNSwgMTg2LCAxMSwgMjMsIDMyLCA0LCAyMzQsIDIyMywgMTEsIDIzLCAzMiwgNCwgMjMzLCA5OSwgMTEsIAorICAgIDIzLCAzMiwgNCwgMjMwLCAxMDMsIDExLCAyMywgMzIsIDQsIDIyNywgMjM4LCAxMSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgCisgICAgMTEsIDIzLCAzMiwgNCwgMjI2LCAyMDAsIDExLCAyMywgMzIsIDQsIDIyNSwgMTA5LCAxMSwgMjMsIDMyLCA0LCAyMjMsIDM4LCAKKyAgICAxMSwgMjMsIDMyLCA0LCA0MCwgMjE5LCAxNzgsIDExLCAyMywgMzIsIDQsIDIxOSwgMTc4LCAxMSwgMjMsIDMyLCA0LCAyMTcsIAorICAgIDQyLCAxMSwgMjMsIDMyLCA0LCAyMTQsIDE1NywgMTEsIDIzLCAzMiwgNCwgMjI1LCAxMzQsIDExLCAyMywgMzIsIDQsIDI1MCwgCisgICAgMTExLCAxMSwgMjMsIDMyLCA0LCAyMjQsIDE2MiwgMTEsIDIzLCAzMiwgNCwgMjI2LCAyMDIsIDExLCAyMywgMzIsIDIyNSwgCisgICAgMjU0LCAyNDcsIDIzNCwgMTEsIDIzLCAzMiwgMjQ1LCAxMDIsIDg3LCAxMSwgMjMsIDMyLCAyMTYsIDE4MSwgODcsIDExLCAKKyAgICAyMywgMzIsIDIzNCwgMjI0LCA4NywgMTEsIDIzLCAzMiwgMjI1LCAxMzUsIDg3LCAxMSwgMjMsIDMyLCAyMjMsIDM5LCA4NywgCisgICAgMTEsIDIzLCAzMiwgMjI1LCAxMTAsIDg3LCAxMSwgMzUsIDIzLCA2LCAyNTQsIDE0NCwgMTEsIDM1LCAyMywgNiwgMjUyLCAKKyAgICAyNywgMTEsIDM1LCAyMywgNiwgMjQzLCAxMDgsIDExLCAzNSwgMjMsIDYsIDI0OCwgNTUsIDExLCAzNSwgMjMsIDYsIDI0NSwgCisgICAgMTAxLCAxMSwgMzUsIDIzLCA2LCAyMTAsIDg1LCAxMSwgMzUsIDIzLCA2LCAyNDUsIDY0LCAxMSwgMzUsIDIzLCA2LCAyMTYsIAorICAgIDE4MCwgMTEsIDM1LCAyMywgNiwgMjM1LCAxODYsIDExLCAzNSwgMjMsIDYsIDIzNCwgMjIzLCAxMSwgMzUsIDIzLCA2LCAKKyAgICAyMzMsIDk5LCAxMSwgMzUsIDIzLCA2LCAyMzAsIDEwMywgMTEsIDM1LCAyMywgNiwgMjI3LCAyMzgsIDExLCAzNSwgMjMsIDYsIAorICAgIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCA2LCAyMjYsIDIwMCwgMTEsIDM1LCAyMywgNiwgMjI1LCAxMDksIDExLCAzNSwgMjMsIAorICAgIDYsIDIyMywgMzgsIDExLCAzNSwgMjMsIDYsIDIxNiwgMTgxLCA4NywgMTEsIDM1LCAyMywgNiwgMjE5LCAxNzgsIDExLCAzNSwgCisgICAgMjMsIDYsIDIxNywgNDIsIDExLCAzNSwgMjMsIDYsIDIxNCwgMTU3LCAxMSwgMzUsIDIzLCA2LCAyMjUsIDEzNCwgMTEsIDM1LCAKKyAgICAyMywgNiwgMjUwLCAxMTEsIDExLCAzNSwgMjMsIDYsIDIyNCwgMTYyLCAxMSwgMzUsIDIzLCA2LCAyMjYsIDIwMiwgMTEsIAorICAgIDM1LCAyMywgMjI5LCAyMjIsIDExLCAzNSwgMjMsIDQsIDI1NCwgMTQ0LCAxMSwgMzUsIDIzLCA0LCAyNTIsIDI3LCAxMSwgCisgICAgMzUsIDIzLCA0LCAyNDMsIDEwOCwgMTEsIDM1LCAyMywgNCwgMjQ4LCA1NSwgMTEsIDM1LCAyMywgNCwgMjQ1LCAxMDEsIDExLCAKKyAgICAzNSwgMjMsIDQsIDIxMCwgODUsIDExLCAzNSwgMjMsIDQsIDI0NSwgNjQsIDExLCAzNSwgMjMsIDQsIDIxNiwgMTgwLCAxMSwgCisgICAgMzUsIDIzLCA0LCAyMzUsIDE4NiwgMTEsIDM1LCAyMywgNCwgMjM0LCAyMjMsIDExLCAzNSwgMjMsIDQsIDIzMywgOTksIDExLCAKKyAgICAzNSwgMjMsIDQsIDIzMCwgMTAzLCAxMSwgMzUsIDIzLCA0LCAyMjcsIDIzOCwgMTEsIDM1LCAyMywgNCwgMjExLCAxNTcsIAorICAgIDExLCAzNSwgMjMsIDQsIDIyNiwgMjAwLCAxMSwgMzUsIDIzLCA0LCAyMjUsIDEwOSwgMTEsIDM1LCAyMywgNCwgMjIzLCAzOCwgCisgICAgMTEsIDM1LCAyMywgNCwgNDAsIDIxOSwgMTc4LCAxMSwgMzUsIDIzLCA0LCAyMTksIDE3OCwgMTEsIDM1LCAyMywgNCwgMjE3LCAKKyAgICA0MiwgMTEsIDM1LCAyMywgNCwgMjE0LCAxNTcsIDExLCAzNSwgMjMsIDQsIDIyNSwgMTM0LCAxMSwgMzUsIDIzLCA0LCAyNTAsIAorICAgIDExMSwgMTEsIDM1LCAyMywgNCwgMjI0LCAxNjIsIDExLCAzNSwgMjMsIDQsIDIyNiwgMjAyLCAxMSwgMzUsIDIzLCAyMjUsIAorICAgIDI1NCwgMjQ3LCAyMzQsIDExLCAzNSwgMjMsIDI0NSwgMTAyLCA4NywgMTEsIDM1LCAyMywgMjE2LCAxODEsIDg3LCAxMSwgCisgICAgMzUsIDIzLCAyMzQsIDIyNCwgODcsIDExLCAzNSwgMjMsIDIyNSwgMTM1LCA4NywgMTEsIDM1LCAyMywgMjIzLCAzOSwgODcsIAorICAgIDExLCAzNSwgMjMsIDIyNSwgMTEwLCA4NywgMTEsIDM1LCAyMywgMzIsIDYsIDI1NCwgMTQ0LCAxMSwgMzUsIDIzLCAzMiwgNiwgCisgICAgMjUyLCAyNywgMTEsIDM1LCAyMywgMzIsIDYsIDI0MywgMTA4LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjQ4LCA1NSwgMTEsIDM1LCAKKyAgICAyMywgMzIsIDYsIDI0NSwgMTAxLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjEwLCA4NSwgMTEsIDM1LCAyMywgMzIsIDYsIDI0NSwgCisgICAgNjQsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTYsIDE4MCwgMTEsIDM1LCAyMywgMzIsIDYsIDIzNSwgMTg2LCAxMSwgMzUsIDIzLCAKKyAgICAzMiwgNiwgMjM0LCAyMjMsIDExLCAzNSwgMjMsIDMyLCA2LCAyMzMsIDk5LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjMwLCAxMDMsIAorICAgIDExLCAzNSwgMjMsIDMyLCA2LCAyMjcsIDIzOCwgMTEsIDM1LCAyMywgMzIsIDYsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgCisgICAgNiwgMjI2LCAyMDAsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjUsIDEwOSwgMTEsIDM1LCAyMywgMzIsIDYsIDIyMywgMzgsIDExLCAKKyAgICAzNSwgMjMsIDMyLCA2LCAyMTYsIDE4MSwgODcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTksIDE3OCwgMTEsIDM1LCAyMywgMzIsIAorICAgIDYsIDIxNywgNDIsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTQsIDE1NywgMTEsIDM1LCAyMywgMzIsIDYsIDIyNSwgMTM0LCAxMSwgCisgICAgMzUsIDIzLCAzMiwgNiwgMjUwLCAxMTEsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjQsIDE2MiwgMTEsIDM1LCAyMywgMzIsIDYsIAorICAgIDIyNiwgMjAyLCAxMSwgMzUsIDIzLCAzMiwgMjI5LCAyMjIsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTQsIDE0NCwgMTEsIDM1LCAKKyAgICAyMywgMzIsIDQsIDI1MiwgMjcsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDMsIDEwOCwgMTEsIDM1LCAyMywgMzIsIDQsIDI0OCwgCisgICAgNTUsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDEwMSwgMTEsIDM1LCAyMywgMzIsIDQsIDIxMCwgODUsIDExLCAzNSwgMjMsIAorICAgIDMyLCA0LCAyNDUsIDY0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE2LCAxODAsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzUsIDE4NiwgCisgICAgMTEsIDM1LCAyMywgMzIsIDQsIDIzNCwgMjIzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjMzLCA5OSwgMTEsIDM1LCAyMywgMzIsIAorICAgIDQsIDIzMCwgMTAzLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI3LCAyMzgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIDE1NywgCisgICAgMTEsIDM1LCAyMywgMzIsIDQsIDIyNiwgMjAwLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI1LCAxMDksIDExLCAzNSwgMjMsIDMyLCAKKyAgICA0LCAyMjMsIDM4LCAxMSwgMzUsIDIzLCAzMiwgNCwgNDAsIDIxOSwgMTc4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE5LCAxNzgsIAorICAgIDExLCAzNSwgMjMsIDMyLCA0LCAyMTcsIDQyLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAzNSwgMjMsIDMyLCAKKyAgICA0LCAyMjUsIDEzNCwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MCwgMTExLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI0LCAxNjIsIAorICAgIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIDIwMiwgMTEsIDM1LCAyMywgMzIsIDIyNSwgMjU0LCAyNDcsIDIzNCwgMTEsIDM1LCAKKyAgICAyMywgMzIsIDI0NSwgMTAyLCA4NywgMTEsIDM1LCAyMywgMzIsIDIxNiwgMTgxLCA4NywgMTEsIDM1LCAyMywgMzIsIDIzNCwgCisgICAgMjI0LCA4NywgMTEsIDM1LCAyMywgMzIsIDIyNSwgMTM1LCA4NywgMTEsIDM1LCAyMywgMzIsIDIyMywgMzksIDg3LCAxMSwgCisgICAgMzUsIDIzLCAzMiwgMjI1LCAxMTAsIDg3LCAxMSwgMjMsIDYsIDI0NywgMjI4LCAxMSwgMjMsIDQsIDI0NywgMjI4LCAxMSwgCisgICAgMjMsIDIxLCAyMTAsIDg2LCAxMSwgMjMsIDIxLCAxMTAsIDExLCAyMywgMjEsIDEwNSwgMTEsIDIzLCAyMSwgMTU4LCAxMSwgCisgICAgMjMsIDIxLCAxNjEsIDExLCAyMywgMjEsIDE4OSwgMTEsIDIzLCAyMSwgMTk0LCAxMSwgMjMsIDIxLCAxOTgsIDExLCAyMywgCisgICAgMjEsIDE5NSwgMTEsIDIzLCAyMSwgMjAwLCAxMSwgMTM5LCAyMSwgMjEwLCA4NiwgMTEsIDEzOSwgMjEsIDExMCwgMTEsIAorICAgIDEzOSwgMjEsIDEwNSwgMTEsIDEzOSwgMjEsIDE1OCwgMTEsIDEzOSwgMjEsIDE2MSwgMTEsIDEzOSwgMjEsIDE4OSwgMTEsIAorICAgIDEzOSwgMjEsIDE5NCwgMTEsIDEzOSwgMjEsIDE5OCwgMTEsIDEzOSwgMjEsIDE5NSwgMTEsIDEzOSwgMjEsIDIwMCwgMTEsIAorICAgIDM1LCAyMSwgMjEwLCA4NiwgMTEsIDM1LCAyMSwgMTEwLCAxMSwgMzUsIDIxLCAxMDUsIDExLCAzNSwgMjEsIDE1OCwgMTEsIAorICAgIDM1LCAyMSwgMTYxLCAxMSwgMzUsIDIxLCAxODksIDExLCAzNSwgMjEsIDE5NCwgMTEsIDM1LCAyMSwgMTk4LCAxMSwgMzUsIAorICAgIDIxLCAxOTUsIDExLCAzNSwgMjEsIDIwMCwgMTEsIDM1LCAyMywgMjEsIDIxMCwgODYsIDExLCAzNSwgMjMsIDIxLCAxMTAsIAorICAgIDExLCAzNSwgMjMsIDIxLCAxMDUsIDExLCAzNSwgMjMsIDIxLCAxNTgsIDExLCAzNSwgMjMsIDIxLCAxNjEsIDExLCAzNSwgCisgICAgMjMsIDIxLCAxODksIDExLCAzNSwgMjMsIDIxLCAxOTQsIDExLCAzNSwgMjMsIDIxLCAxOTgsIDExLCAzNSwgMjMsIDIxLCAKKyAgICAxOTUsIDExLCAzNSwgMjMsIDIxLCAyMDAsIDExLCAyMzAsIDEzOSwgMjEsIDIxMCwgODYsIDExLCAyMzAsIDEzOSwgMjEsIAorICAgIDExMCwgMTEsIDIzMCwgMTM5LCAyMSwgMTA1LCAxMSwgMjMwLCAxMzksIDIxLCAxNTgsIDExLCAyMzAsIDEzOSwgMjEsIDE2MSwgCisgICAgMTEsIDIzMCwgMTM5LCAyMSwgMTg5LCAxMSwgMjMwLCAxMzksIDIxLCAxOTQsIDExLCAyMzAsIDEzOSwgMjEsIDE5OCwgMTEsIAorICAgIDIzMCwgMTM5LCAyMSwgMTk1LCAxMSwgMjMwLCAxMzksIDIxLCAyMDAsIDEwLCAxMSwgMjU0LCAxNzEsIDEwLCAxMSwgMjUyLCAKKyAgICA1NSwgMTAsIDExLCAyMzUsIDEyNCwgMTAsIDExLCAyNDgsIDE5NiwgMTAsIDExLCAyMTIsIDMwLCAxMCwgMTEsIDIxMCwgCisgICAgMTA4LCAxMCwgMTEsIDI0MiwgMzgsIDEwLCAxMSwgMjE3LCA4MSwgMTAsIDExLCAyMTEsIDQzLCAxMCwgMTEsIDIzNCwgMjUxLCAKKyAgICAxMCwgMTEsIDIzMywgMTAzLCAxMCwgMTEsIDIzMSwgNzksIDEwLCAxMSwgMjI4LCA2MywgMTAsIDExLCAyMjEsIDE2NywgMTAsIAorICAgIDExLCAyNTQsIDE5NywgMTAsIDExLCAyNDQsIDE0MywgMTAsIDExLCAyMjIsIDI3LCAxMCwgMTEsIDIyNCwgODIsIDEwLCAxMSwgCisgICAgMjIzLCA5NiwgMTAsIDExLCAyMjAsIDYwLCAxMCwgMTEsIDIxNywgOCwgMTAsIDExLCAyMTYsIDE5MywgMTAsIDExLCAyMzQsIAorICAgIDEzMCwgMTAsIDExLCAyMTYsIDIwMywgMTAsIDExLCAyNDgsIDIxNywgMTAsIDExLCAyMTAsIDExMSwgMTAsIDExLCAyNDIsIAorICAgIDI0NSwgMTAsIDExLCAyNDcsIDEyMCwgMjUyLCA1NSwgMTAsIDExLCAyNDcsIDEyMCwgMjI4LCA2MywgMTAsIDExLCAyNDcsIAorICAgIDEyMCwgMjQ0LCAxNDMsIDEwLCAxMSwgMjQ3LCAxMjAsIDIyNCwgODIsIDEwLCAxMSwgNjUsIDI1MiwgNTUsIDEwLCAxMSwgCisgICAgNjUsIDIzNSwgMTI0LCAxMCwgMTEsIDY1LCAyNDEsIDIxOSwgMTAsIDExLCA2NSwgMjQyLCAzOCwgMTAsIDExLCA2NSwgMjExLCAKKyAgICA0MywgMTAsIDExLCA2NSwgMjM0LCAyNTEsIDEwLCAxMSwgNjUsIDIzMywgMTAzLCAxMCwgMTEsIDY1LCAyMzEsIDc5LCAxMCwgCisgICAgMTEsIDY1LCAyMjgsIDYzLCAxMCwgMTEsIDY1LCAyMjEsIDE2NywgMTAsIDExLCA2NSwgMjU0LCAxOTcsIDEwLCAxMSwgNjUsIAorICAgIDI0NCwgMTQzLCAxMCwgMTEsIDY1LCAyMjIsIDI3LCAxMCwgMTEsIDY1LCAyMjQsIDgyLCAxMCwgMTEsIDY1LCAyMjAsIDYwLCAKKyAgICAxMCwgMTEsIDY1LCAyMTcsIDgsIDEwLCAxMSwgNjUsIDIxNiwgMTkzLCAxMCwgMTEsIDY1LCAyMzQsIDEzMCwgMTAsIDExLCAKKyAgICA2NSwgMjQ4LCAyMTcsIDEwLCAxMSwgNjUsIDI0MiwgMjQ1LCAxMCwgMTEsIDIxNywgNzcsIDIzNSwgMTI0LCAxMCwgMTEsIAorICAgIDIxNywgNzcsIDI0MiwgMzgsIDEwLCAxMSwgMjE3LCA3NywgMjExLCA0MywgMTAsIDExLCAyMTcsIDc3LCAyMzMsIDEwMywgCisgICAgMTAsIDExLCAyMTcsIDc3LCAyMjgsIDYzLCAxMCwgMTEsIDIxNywgNzcsIDIyMSwgMTY3LCAxMCwgMTEsIDIxNywgNzcsIAorICAgIDI1NCwgMTk3LCAxMCwgMTEsIDIxNywgNzcsIDIyMiwgMjcsIDEwLCAxMSwgMjE3LCA3NywgMjI0LCA4MiwgMTAsIDExLCAKKyAgICAyMTcsIDc3LCAyMjAsIDYwLCAxMCwgMTEsIDIxNywgNzcsIDIzNCwgMTMwLCAxMCwgMTEsIDIxNywgNzcsIDI0OCwgMjE3LCAKKyAgICAxMCwgMTEsIDIxNywgNzcsIDI0MiwgMjQ1LCAxMCwgMTEsIDIxNywgNzcsIDI0NywgMTIwLCAyMjgsIDYzLCAxMCwgMTEsIAorICAgIDIxNywgNzcsIDI0NywgMTIwLCAyMjQsIDgyLCAxMCwgMTEsIDIxOCwgMTExLCAyNTIsIDU1LCAxMCwgMTEsIDIxOCwgMTExLCAKKyAgICAyMzUsIDEyNCwgMTAsIDExLCAyMTgsIDExMSwgMjQxLCAyMTksIDEwLCAxMSwgMjE4LCAxMTEsIDI0MiwgMzgsIDEwLCAxMSwgCisgICAgMjE4LCAxMTEsIDIxNywgODEsIDEwLCAxMSwgMjE4LCAxMTEsIDIxMSwgNDMsIDEwLCAxMSwgMjE4LCAxMTEsIDIzNCwgMjUxLCAKKyAgICAxMCwgMTEsIDIxOCwgMTExLCAyMzEsIDc5LCAxMCwgMTEsIDIxOCwgMTExLCAyMjgsIDYzLCAxMCwgMTEsIDIxOCwgMTExLCAKKyAgICAyMjEsIDE2NywgMTAsIDExLCAyMTgsIDExMSwgMjU0LCAxOTcsIDEwLCAxMSwgMjE4LCAxMTEsIDI0NCwgMTQzLCAxMCwgMTEsIAorICAgIDIxOCwgMTExLCAyMjIsIDI3LCAxMCwgMTEsIDIxOCwgMTExLCAyMjQsIDgyLCAxMCwgMTEsIDIxOCwgMTExLCAyMjAsIDYwLCAKKyAgICAxMCwgMTEsIDIxOCwgMTExLCAyMTcsIDgsIDEwLCAxMSwgMjE4LCAxMTEsIDIxNiwgMTkzLCAxMCwgMTEsIDIxOCwgMTExLCAKKyAgICAyMzQsIDEzMCwgMTAsIDExLCAyMTgsIDExMSwgMjQ4LCAyMTcsIDEwLCAxMSwgMjE4LCAxMTEsIDIxMCwgMTExLCAxMCwgMTEsIAorICAgIDIxOCwgMTExLCAyNDIsIDI0NSwgMTAsIDExLCAyMTgsIDExMSwgMjQ3LCAxMjAsIDI1MiwgNTUsIDEwLCAxMSwgMjE4LCAKKyAgICAxMTEsIDI0NywgMTIwLCAyNDQsIDE0MywgMTAsIDExLCAyMzIsIDEyMywgMjU0LCAxNzEsIDEwLCAxMSwgMjMyLCAxMjMsIAorICAgIDI1MiwgNTUsIDEwLCAxMSwgMjMyLCAxMjMsIDIzNSwgMTI0LCAxMCwgMTEsIDIzMiwgMTIzLCAyNDgsIDE5NiwgMTAsIDExLCAKKyAgICAyMzIsIDEyMywgMjQxLCAyMTksIDEwLCAxMSwgMjMyLCAxMjMsIDIxMiwgMzAsIDEwLCAxMSwgMjMyLCAxMjMsIDIxMCwgCisgICAgMTA4LCAxMCwgMTEsIDIzMiwgMTIzLCAyNDIsIDM4LCAxMCwgMTEsIDIzMiwgMTIzLCAyMTcsIDgxLCAxMCwgMTEsIDIzMiwgCisgICAgMTIzLCAyMTEsIDQzLCAxMCwgMTEsIDIzMiwgMTIzLCAyMzMsIDEwMywgMTAsIDExLCAyMzIsIDEyMywgMjMxLCA3OSwgMTAsIAorICAgIDExLCAyMzIsIDEyMywgMjI4LCA2MywgMTAsIDExLCAyMzIsIDEyMywgMjIxLCAxNjcsIDEwLCAxMSwgMjMyLCAxMjMsIDI1NCwgCisgICAgMTk3LCAxMCwgMTEsIDIzMiwgMTIzLCAyNDQsIDE0MywgMTAsIDExLCAyMzIsIDEyMywgMjIyLCAyNywgMTAsIDExLCAyMzIsIAorICAgIDEyMywgMjI0LCA4MiwgMTAsIDExLCAyMzIsIDEyMywgMjIzLCA5NiwgMTAsIDExLCAyMzIsIDEyMywgMjIwLCA2MCwgMTAsIAorICAgIDExLCAyMzIsIDEyMywgMjE3LCA4LCAxMCwgMTEsIDIzMiwgMTIzLCAyMTYsIDE5MywgMTAsIDExLCAyMzIsIDEyMywgMjM0LCAKKyAgICAxMzAsIDEwLCAxMSwgMjMyLCAxMjMsIDIxNiwgMjAzLCAxMCwgMTEsIDIzMiwgMTIzLCAyNDgsIDIxNywgMTAsIDExLCAyMzIsIAorICAgIDEyMywgMjEwLCAxMTEsIDEwLCAxMSwgMjMyLCAxMjMsIDI0MiwgMjQ1LCAxMCwgMTEsIDEzOSwgMjUyLCA1NSwgMTAsIDExLCAKKyAgICAxMzksIDIzNSwgMTI0LCAxMCwgMTEsIDEzOSwgMjQ4LCAxOTYsIDEwLCAxMSwgMTM5LCAyMTIsIDMwLCAxMCwgMTEsIDEzOSwgCisgICAgMjEwLCAxMDgsIDEwLCAxMSwgMTM5LCAyNDIsIDM4LCAxMCwgMTEsIDEzOSwgMjE3LCA4MSwgMTAsIDExLCAxMzksIDIxMSwgCisgICAgNDMsIDEwLCAxMSwgMTM5LCAyMzMsIDEwMywgMTAsIDExLCAxMzksIDIzMSwgNzksIDEwLCAxMSwgMTM5LCAyMjgsIDYzLCAKKyAgICAxMCwgMTEsIDEzOSwgMjIxLCAxNjcsIDEwLCAxMSwgMTM5LCAyNTQsIDE5NywgMTAsIDExLCAxMzksIDI0NCwgMTQzLCAxMCwgCisgICAgMTEsIDEzOSwgMjIyLCAyNywgMTAsIDExLCAxMzksIDIyNCwgODIsIDEwLCAxMSwgMTM5LCAyMjMsIDk2LCAxMCwgMTEsIAorICAgIDEzOSwgMjIwLCA2MCwgMTAsIDExLCAxMzksIDIxNywgOCwgMTAsIDExLCAxMzksIDIxNiwgMTkzLCAxMCwgMTEsIDEzOSwgCisgICAgMjM0LCAxMzAsIDEwLCAxMSwgMTM5LCAyMTYsIDIwMywgMTAsIDExLCAxMzksIDI0OCwgMjE3LCAxMCwgMTEsIDEzOSwgMjEwLCAKKyAgICAxMTEsIDEwLCAxMSwgMTM5LCAyNDIsIDI0NSwgMTAsIDExLCAyMjYsIDE2OSwgNjYsIDIsIDEyMiwgMiwgMjE3LCA0NCwgMTAsIAorICAgIDExLCAyMjYsIDE2OSwgMTIyLCAyLCAyNDgsIDE5NiwgMjMxLCAyMDYsIDg2LCAyNDUsIDIyMSwgMjExLCAyMzksIDIzMSwgCisgICAgMjA2LCA4NiwgMjE5LCAyOSwgMjExLCAyMzksIDIzMSwgMjA2LCA4NiwgMjEyLCA5LCAyMTEsIDIzOSwgMjMxLCAyMDYsIDg2LCAKKyAgICAyMjgsIDU3LCAyMTEsIDIzOSwgMjMxLCAyMDYsIDg2LCAyMjMsIDExMiwgMjQ2LCA5NywgMjMxLCAyMDYsIDg2LCAyNDIsIAorICAgIDEyOCwgMjQ2LCA5NywgMjMxLCAyMDYsIDg2LCA3MSwgMjQ2LCA5NywgMjMxLCAyMDYsIDg2LCAxMjMsIDY0LCAyNTAsIDE0MiwgCisgICAgMjMxLCAyMDYsIDg2LCAxMTMsIDY0LCAyNTAsIDE0MiwgMjMxLCAyMDYsIDg2LCAxMzQsIDY0LCAyNTAsIDE0MiwgMjMxLCAKKyAgICAyMDYsIDg2LCAyNDQsIDEyLCA2NCwgMjUwLCAxNDIsIDIzMSwgMjA2LCA4NiwgMjQ0LCA4MiwgNjQsIDI1MCwgMTQyLCAyMzEsIAorICAgIDIwNiwgODYsIDIxOSwgMTI2LCA2NCwgMjUwLCAxNDIsIDIzMSwgMjA2LCA4NiwgMjIwLCAxMjMsIDY0LCAyNTAsIDE0MiwgCisgICAgMjMxLCAyMDYsIDg2LCAyNDUsIDE5NCwgNjQsIDI1MCwgMTQyLCAyMzEsIDIwNiwgODYsIDIyOCwgMjAxLCA2NCwgMjUwLCAKKyAgICAxNDIsIDIzMSwgMjA2LCA4NiwgMTIzLCA2NCwgMjUyLCAxNTQsIDIzMSwgMjA2LCA4NiwgMTEzLCA2NCwgMjUyLCAxNTQsIAorICAgIDIzMSwgMjA2LCA4NiwgMTM0LCA2NCwgMjUyLCAxNTQsIDIzMSwgMjA2LCA4NiwgMjQ0LCAxMiwgNjQsIDI1MiwgMTU0LCAKKyAgICAyMzEsIDIwNiwgODYsIDI0NCwgODIsIDY0LCAyNTIsIDE1NCwgMjMxLCAyMDYsIDg2LCAyMTksIDEyNiwgNjQsIDI1MiwgCisgICAgMTU0LCAyMzEsIDIwNiwgODYsIDIyMCwgMTIzLCA2NCwgMjUyLCAxNTQsIDIzMSwgMjA2LCA4NiwgMjQ1LCAxOTQsIDY0LCAKKyAgICAyNTIsIDE1NCwgMjMxLCAyMDYsIDg2LCAyMjgsIDIwMSwgNjQsIDI1MiwgMTU0LCAyMzEsIDIwNiwgODYsIDEyMywgNjQsIAorICAgIDI1MCwgMzUsIDIzMSwgMjA2LCA4NiwgMTEzLCA2NCwgMjUwLCAzNSwgMjMxLCAyMDYsIDg2LCAxMzQsIDY0LCAyNTAsIDM1LCAKKyAgICAyMzEsIDIwNiwgODYsIDI0NCwgMTIsIDY0LCAyNTAsIDM1LCAyMzEsIDIwNiwgODYsIDI0NCwgODIsIDY0LCAyNTAsIDM1LCAKKyAgICAyMzEsIDIwNiwgODYsIDIxOSwgMTI2LCA2NCwgMjUwLCAzNSwgMjMxLCAyMDYsIDg2LCAyMjAsIDEyMywgNjQsIDI1MCwgMzUsIAorICAgIDIzMSwgMjA2LCA4NiwgMjQ1LCAxOTQsIDY0LCAyNTAsIDM1LCAyMzEsIDIwNiwgODYsIDIyOCwgMjAxLCA2NCwgMjUwLCAzNSwgCisgICAgMjMxLCAyMDYsIDg2LCAyMjUsIDI2LCAyMzEsIDIwNiwgODYsIDIyNiwgMTU3LCAyMzEsIDIwNiwgODYsIDI1MiwgMTU1LCAKKyAgICAyMzEsIDIwNiwgODYsIDI1MCwgNzEsIDIzMSwgMjA2LCA4NiwgMjE4LCAyNDAsIDIzMSwgMjA2LCA4NiwgMjE4LCA0MCwgCisgICAgMjMxLCAyMDYsIDg2LCAyNTMsIDE4MCwgMjMxLCAyMDYsIDg2LCAyMTEsIDIzMiwgMjMxLCAyMDYsIDg2LCAyMzUsIDYzLCAKKyAgICAyMzEsIDIwNiwgODYsIDI1MiwgMTg1LCAxMzEsIDg2LCAyMDMsIDI1MiwgMTg1LCAxMzEsIDg2LCAyNDEsIDQ0LCAxMzEsIAorICAgIDg2LCAyNDEsIDQzLCAxMzEsIDg2LCAyNDEsIDQyLCAxMzEsIDg2LCAyNDEsIDQxLCAxMzEsIDg2LCAyNDEsIDQwLCAxMzEsIAorICAgIDg2LCAyNDEsIDM5LCAxMzEsIDg2LCAyNDEsIDM4LCAxMzEsIDg2LCAyNDEsIDM3LCAxMzEsIDg2LCAyNDEsIDM2LCAxMzEsIAorICAgIDg2LCAyNDEsIDM1LCAxMzEsIDg2LCAyNDEsIDM0LCAxMzEsIDg2LCAyNDEsIDMzLCAxMzEsIDg2LCAyNDEsIDMyLCAxMzEsIAorICAgIDg2LCAyNDEsIDMxLCAxMzEsIDg2LCAyNDEsIDMwLCAxMzEsIDg2LCAyNDEsIDI5LCAxMzEsIDg2LCAyNDEsIDI4LCAxMzEsIAorICAgIDg2LCAyNDEsIDI3LCAxMzEsIDg2LCAyNDEsIDI2LCAxMzEsIDg2LCAyNDEsIDI1LCAxMzEsIDg2LCAyNDEsIDI0LCAxMzEsIAorICAgIDg2LCAyNDEsIDIzLCAxMzEsIDg2LCAyNDEsIDIyLCAxMzEsIDg2LCAyNDEsIDIxLCAxMzEsIDg2LCAyNDEsIDIwLCAxMzEsIAorICAgIDg2LCAyNDEsIDE5LCAxMzEsIDg2LCAyNDEsIDE4LCAxMzEsIDg2LCAyNDEsIDE3LCAxMzEsIDg2LCAyNDEsIDE2LCAxMzEsIAorICAgIDg2LCAyNDEsIDE1LCAxMzEsIDg2LCAyNDEsIDE0LCAxMzEsIDg2LCAyNDEsIDEzLCAxMzEsIDg2LCAyNDEsIDEyLCAxMzEsIAorICAgIDg2LCAyNDEsIDExLCAxMzEsIDg2LCAyNDEsIDEwLCAxMzEsIDg2LCAyNDEsIDksIDEzMSwgODYsIDI0MSwgOCwgMTMxLCA4NiwgCisgICAgMjQxLCA3LCAxMzEsIDg2LCAyNDEsIDYsIDEzMSwgODYsIDI0MSwgNSwgMTMxLCA4NiwgMjQxLCA0LCAxMzEsIDg2LCAyNDEsIAorICAgIDMsIDEzMSwgODYsIDI0MSwgMiwgMTMxLCA4NiwgMjQxLCAxLCAxMzEsIDg2LCAyNDEsIDAsIDEzMSwgODYsIDI0MCwgMjU1LCAKKyAgICAxMzEsIDg2LCAyNDAsIDI1NCwgMTMxLCA4NiwgMjQwLCAyNTMsIDEzMSwgODYsIDI0MCwgMjUyLCAxMzEsIDg2LCA2NywgCisgICAgMjUyLCAxODUsIDEzMSwgODYsIDIxMywgMjM4LCAxMzEsIDg2LCAyMTMsIDIzNywgMTMxLCA4NiwgMjEzLCAyMzYsIDEzMSwgCisgICAgODYsIDIxMywgMjM1LCAxMzEsIDg2LCAyMTMsIDIzNCwgMTMxLCA4NiwgMjEzLCAyMzMsIDEzMSwgODYsIDIxMywgMjMyLCAKKyAgICAxMzEsIDg2LCAyMTMsIDIzMSwgMTMxLCA4NiwgMjEzLCAyMzAsIDEzMSwgODYsIDIxMywgMjI5LCAxMzEsIDg2LCAyMTMsIAorICAgIDIyOCwgMTMxLCA4NiwgMjEzLCAyMjcsIDEzMSwgODYsIDIxMywgMjI2LCAxMzEsIDg2LCAyMTMsIDIyNSwgMTMxLCA4NiwgCisgICAgMjEzLCAyMjQsIDEzMSwgODYsIDIxMywgMjIzLCAxMzEsIDg2LCAyMTMsIDIyMiwgMTMxLCA4NiwgMjEzLCAyMjEsIDEzMSwgCisgICAgODYsIDIxMywgMjIwLCAxMzEsIDg2LCAyMTMsIDIxOSwgMTMxLCA4NiwgMjEzLCAyMTgsIDEzMSwgODYsIDIxMywgMjE3LCAKKyAgICAxMzEsIDg2LCAyMTMsIDIxNiwgMTMxLCA4NiwgMjEzLCAyMTUsIDEzMSwgODYsIDIxMywgMjE0LCAxMzEsIDg2LCAyMTMsIAorICAgIDIxMywgMTMxLCA4NiwgMjEzLCAyMTIsIDEzMSwgODYsIDIxMywgMjExLCAxMzEsIDg2LCAyMTMsIDIxMCwgMTMxLCA4NiwgCisgICAgMjEzLCAyMDksIDEzMSwgODYsIDIxMywgMjA4LCAxMzEsIDg2LCAyMTMsIDIwNywgMTMxLCA4NiwgMjEzLCAyMDYsIDEzMSwgCisgICAgODYsIDIxMywgMjA1LCAxMzEsIDg2LCAyMTMsIDIwNCwgMTMxLCA4NiwgMjEzLCAyMDMsIDEzMSwgODYsIDIxMywgMjAyLCAKKyAgICAxMzEsIDg2LCAyMTMsIDIwMSwgMTMxLCA4NiwgMjEzLCAyMDAsIDEzMSwgODYsIDIxMywgMTk5LCAxMzEsIDg2LCAyMTMsIAorICAgIDE5OCwgMTMxLCA4NiwgMjEzLCAxOTcsIDEzMSwgODYsIDIxMywgMTk2LCAxMzEsIDg2LCAyMTMsIDE5NSwgMTMxLCA4NiwgCisgICAgMjEzLCAxOTQsIDEzMSwgODYsIDIxMywgMTkzLCAxMzEsIDg2LCAyMTMsIDE5MiwgMTMxLCA4NiwgMjEzLCAxOTEsIDEzMSwgCisgICAgODYsIDIxMywgMTkwLCAyMjUsIDM0LCAyNTAsIDI0NCwgMjUyLCAxODUsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyNTUsIDEwLCAKKyAgICA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDExMywgNjQsIDIxOSwgMTYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAxMzQsIAorICAgIDY0LCAyMTksIDE2LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjQ0LCAxMiwgNjQsIDIxOSwgMTYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAKKyAgICAyNDQsIDgyLCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDIxOSwgMTI2LCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgCisgICAgMjUwLCAyNDQsIDIyMCwgMTIzLCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDI0NSwgMTk0LCA2NCwgMjE5LCAKKyAgICAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDIyOCwgMjAxLCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDIxNiwgCisgICAgMjQ5LCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDIzNSwgMTQwLCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAKKyAgICAyNDQsIDIzNCwgMzIsIDY0LCAyMTksIDE2LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjI0LCAxNiwgNjQsIDIxOSwgMTYsIDIyNSwgCisgICAgMzQsIDI1MCwgMjQ0LCAyMzQsIDgwLCA2NCwgMjE5LCAxNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDI1NSwgMTAsIDY0LCAyNDEsIAorICAgIDIyNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDExMywgNjQsIDI0MSwgMjI2LCAyMjUsIDM0LCAyNTAsIDI0NCwgMTM0LCA2NCwgCisgICAgMjQxLCAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyNDQsIDEyLCA2NCwgMjQxLCAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAKKyAgICAyNDQsIDgyLCA2NCwgMjQxLCAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyMTksIDEyNiwgNjQsIDI0MSwgMjI2LCAyMjUsIAorICAgIDM0LCAyNTAsIDI0NCwgMjIwLCAxMjMsIDY0LCAyNDEsIDIyNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDI0NSwgMTk0LCA2NCwgCisgICAgMjQxLCAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyMjgsIDIwMSwgNjQsIDI0MSwgMjI2LCAyMjUsIDM0LCAyNTAsIDI0NCwgCisgICAgMjE2LCAyNDksIDY0LCAyNDEsIDIyNiwgMjI1LCAzNCwgMjUwLCAyNDQsIDIzNSwgMTQwLCA2NCwgMjQxLCAyMjYsIDIyNSwgCisgICAgMzQsIDI1MCwgMjQ0LCAyMzQsIDMyLCA2NCwgMjQxLCAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyMjQsIDE2LCA2NCwgMjQxLCAKKyAgICAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyMzQsIDgwLCA2NCwgMjQxLCAyMjYsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyNTUsIAorICAgIDEwLCA2NCwgMjQ3LCAyNDgsIDIyNSwgMzQsIDI1MCwgMjQ0LCAxMTMsIDY0LCAyNDcsIDI0OCwgMjI1LCAzNCwgMjUwLCAKKyAgICAyNDQsIDEzNCwgNjQsIDI0NywgMjQ4LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjQ0LCAxMiwgNjQsIDI0NywgMjQ4LCAyMjUsIAorICAgIDM0LCAyNTAsIDI0NCwgMjQ0LCA4MiwgNjQsIDI0NywgMjQ4LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjE5LCAxMjYsIDY0LCAKKyAgICAyNDcsIDI0OCwgMjI1LCAzNCwgMjUwLCAyNDQsIDIyMCwgMTIzLCA2NCwgMjQ3LCAyNDgsIDIyNSwgMzQsIDI1MCwgMjQ0LCAKKyAgICAyNDUsIDE5NCwgNjQsIDI0NywgMjQ4LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjI4LCAyMDEsIDY0LCAyNDcsIDI0OCwgMjI1LCAKKyAgICAzNCwgMjUwLCAyNDQsIDIxNiwgMjQ5LCA2NCwgMjQ3LCAyNDgsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyMzUsIDE0MCwgNjQsIAorICAgIDI0NywgMjQ4LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjM0LCAzMiwgNjQsIDI0NywgMjQ4LCAyMjUsIDM0LCAyNTAsIDI0NCwgCisgICAgMjI0LCAxNiwgNjQsIDI0NywgMjQ4LCAyMjUsIDM0LCAyNTAsIDI0NCwgMjM0LCA4MCwgNjQsIDI0NywgMjQ4LCAyMjUsIDM0LCAKKyAgICAyNTAsIDI0NCwgODUsIDIzNSwgNjMsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyNTUsIDEwLCA2NCwgMjQ5LCAyNDMsIDIyNSwgMzQsIAorICAgIDI1MCwgMjQ0LCAxMTMsIDY0LCAyNDksIDI0MywgMjI1LCAzNCwgMjUwLCAyNDQsIDEzNCwgNjQsIDI0OSwgMjQzLCAyMjUsIAorICAgIDM0LCAyNTAsIDI0NCwgMjQ0LCAxMiwgNjQsIDI0OSwgMjQzLCAyMjUsIDM0LCAyNTAsIDI0NCwgMjQ0LCA4MiwgNjQsIDI0OSwgCisgICAgMjQzLCAyMjUsIDM0LCAyNTAsIDI0NCwgMjE5LCAxMjYsIDY0LCAyNDksIDI0MywgMjI1LCAzNCwgMjUwLCAyNDQsIDIyMCwgCisgICAgMTIzLCA2NCwgMjQ5LCAyNDMsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyNDUsIDE5NCwgNjQsIDI0OSwgMjQzLCAyMjUsIDM0LCAKKyAgICAyNTAsIDI0NCwgMjI4LCAyMDEsIDY0LCAyNDksIDI0MywgMjI1LCAzNCwgMjUwLCAyNDQsIDIxNiwgMjQ5LCA2NCwgMjQ5LCAKKyAgICAyNDMsIDIyNSwgMzQsIDI1MCwgMjQ0LCAyMzUsIDE0MCwgNjQsIDI0OSwgMjQzLCAyMjUsIDM0LCAyNTAsIDI0NCwgMjM0LCAKKyAgICAzMiwgNjQsIDI0OSwgMjQzLCAyMjUsIDM0LCAyNTAsIDI0NCwgMjI0LCAxNiwgNjQsIDI0OSwgMjQzLCAyMjUsIDM0LCAyNTAsIAorICAgIDI0NCwgMjM0LCA4MCwgNjQsIDI0OSwgMjQzLCAyMjUsIDM0LCAyNTAsIDI0NCwgNzEsIDIzNSwgNjMsIDIxLCAyMTAsIDg3LCAKKyAgICAyNDMsIDIzMCwgMjE4LCAxMzAsIDIxLCAyMTAsIDg3LCAyNDksIDIyMCwgMjEsIDEyMywgMjQ5LCAyMjAsIDIxLCAxMTMsIAorICAgIDI0OSwgMjIwLCAyMSwgMTM0LCAyNDksIDIyMCwgMjEsIDI0NCwgMTIsIDI0OSwgMjIwLCAyMSwgMjQ0LCA4MiwgMjQ5LCAKKyAgICAyMjAsIDIxLCAyMTksIDEyNiwgMjQ5LCAyMjAsIDIxLCAyMjAsIDEyMywgMjQ5LCAyMjAsIDIxLCAyNDUsIDE5NCwgMjQ5LCAKKyAgICAyMjAsIDIxLCAyMjgsIDIwMSwgMjQ5LCAyMjAsIDg4LCA3LCA2LCAxLCA2MSwgODgsIDcsIDYsIDEsIDI1MywgMTU5LCA4OCwgCisgICAgNywgNiwgMSwgMjUxLCA2NywgODgsIDcsIDYsIDEsIDI0OSwgNjEsIDg4LCA3LCA2LCAxLCA3NSwgODgsIDcsIDYsIDEsIAorICAgIDI0NSwgNywgODgsIDcsIDYsIDEsIDI0MywgMjAzLCA4OCwgNywgNiwgMSwgMjQyLCA2MSwgODgsIDcsIDYsIDEsIDczLCA4OCwgCisgICAgNywgNiwgMSwgMjM1LCAxNDUsIDg4LCA3LCA2LCAxLCAyMzUsIDI0LCA4OCwgNywgNiwgMSwgMTU2LCA4OCwgNywgNiwgMSwgCisgICAgMTkzLCA4OCwgNywgNiwgMSwgMjMwLCAyNiwgODgsIDcsIDYsIDEsIDc2LCA4OCwgNywgNiwgMSwgMjI2LCAxMDYsIDg4LCA3LCAKKyAgICA2LCAxLCAyMjQsIDk3LCA4OCwgNywgNiwgMSwgMTUzLCA4OCwgNywgNiwgMSwgMjIyLCA5MiwgODgsIDcsIDYsIDEsIDIxNywgCisgICAgMTUzLCA4OCwgNywgNiwgMSwgNzAsIDg4LCA3LCA2LCAxLCAyMTQsIDEwNSwgODgsIDcsIDYsIDEsIDIxMiwgOTgsIDg4LCA3LCAKKyAgICA2LCAxLCAyMTEsIDE3OCwgODgsIDcsIDYsIDEsIDIxMSwgMTE3LCA4OCwgNywgNiwgMSwgMjEwLCAxNTksIDIxNiwgNywgCisgICAgMjIwLCA1NCwgMjUxLCAxNTgsIDcsIDYsIDEsIDIyMiwgOTIsIDM3LCAzMiwgNywgNiwgMSwgMjUxLCA2NywgMzcsIDMyLCA3LCAKKyAgICA2LCAxLCAxNTMsIDM3LCAyNTAsIDE5MiwgMzcsIDIxMSwgMTgwLCA5MiwgNywgNiwgMSwgNjEsIDkyLCA3LCA2LCAxLCAyNTMsIAorICAgIDE1OSwgOTIsIDcsIDYsIDEsIDI1MSwgNjcsIDkyLCA3LCA2LCAxLCAyNDksIDYxLCA5MiwgNywgNiwgMSwgNzUsIDkyLCA3LCAKKyAgICA2LCAxLCAyNDUsIDcsIDkyLCA3LCA2LCAxLCAyNDMsIDIwMywgOTIsIDcsIDYsIDEsIDI0MiwgNjEsIDkyLCA3LCA2LCAxLCAKKyAgICA3MywgOTIsIDcsIDYsIDEsIDIzNSwgMTQ1LCA5MiwgNywgNiwgMSwgMjM1LCAyNCwgOTIsIDcsIDYsIDEsIDE1NiwgOTIsIDcsIAorICAgIDYsIDEsIDE5MywgOTIsIDcsIDYsIDEsIDIzMCwgMjYsIDkyLCA3LCA2LCAxLCA3NiwgOTIsIDcsIDYsIDEsIDIyNiwgMTA2LCAKKyAgICA5MiwgNywgNiwgMSwgMjI0LCA5NywgOTIsIDcsIDYsIDEsIDE1MywgOTIsIDcsIDYsIDEsIDIyMiwgOTIsIDkyLCA3LCA2LCAKKyAgICAxLCAyMTcsIDE1MywgOTIsIDcsIDYsIDEsIDcwLCA5MiwgNywgNiwgMSwgMjE0LCAxMDUsIDkyLCA3LCA2LCAxLCAyMTIsIAorICAgIDk4LCA5MiwgNywgNiwgMSwgMjExLCAxNzgsIDkyLCA3LCA2LCAxLCAyMTEsIDExNywgOTIsIDcsIDYsIDEsIDIxMCwgMTU5LCAKKyAgICA5MiwgMjQwLCAyMDIsIDkyLCAyMzAsIDUwLCA5MiwgMjIxLCAxODQsIDkyLCAyMTgsIDIyNywgOTIsIDIyNCwgMjE5LCA5MiwgCisgICAgMjEyLCAyMywgMTUyLCAzNywgNywgNiwgMSwgNjEsIDE1MiwgMzcsIDcsIDYsIDEsIDI1MywgMTU5LCAxNTIsIDM3LCA3LCA2LCAKKyAgICAxLCAyNTEsIDY3LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDksIDYxLCAxNTIsIDM3LCA3LCA2LCAxLCA3NSwgMTUyLCAzNywgNywgCisgICAgNiwgMSwgMjQ1LCA3LCAxNTIsIDM3LCA3LCA2LCAxLCAyNDMsIDIwMywgMTUyLCAzNywgNywgNiwgMSwgMjQyLCA2MSwgMTUyLCAKKyAgICAzNywgNywgNiwgMSwgNzMsIDE1MiwgMzcsIDcsIDYsIDEsIDIzNSwgMTQ1LCAxNTIsIDM3LCA3LCA2LCAxLCAyMzUsIDI0LCAKKyAgICAxNTIsIDM3LCA3LCA2LCAxLCAxNTYsIDE1MiwgMzcsIDcsIDYsIDEsIDE5MywgMTUyLCAzNywgNywgNiwgMSwgMjMwLCAyNiwgCisgICAgMTUyLCAzNywgNywgNiwgMSwgNzYsIDE1MiwgMzcsIDcsIDYsIDEsIDIyNiwgMTA2LCAxNTIsIDM3LCA3LCA2LCAxLCAyMjQsIAorICAgIDk3LCAxNTIsIDM3LCA3LCA2LCAxLCAxNTMsIDE1MiwgMzcsIDcsIDYsIDEsIDIyMiwgOTIsIDE1MiwgMzcsIDcsIDYsIDEsIAorICAgIDIxNywgMTUzLCAxNTIsIDM3LCA3LCA2LCAxLCA3MCwgMTUyLCAzNywgNywgNiwgMSwgMjE0LCAxMDUsIDE1MiwgMzcsIDcsIAorICAgIDYsIDEsIDIxMiwgOTgsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMSwgMTc4LCAxNTIsIDM3LCA3LCA2LCAxLCAyMTEsIDExNywgCisgICAgMTUyLCAzNywgNywgNiwgMSwgMjEwLCAxNTksIDIyMywgMTU4LCAyMzEsIDk4LCA1MCwgMjIzLCAxNTgsIDIzMSwgOTUsIDUwLCAKKyAgICAxNTIsIDkyLCA3LCA2LCAxLCA2MSwgMTUyLCA5MiwgNywgNiwgMSwgMjUzLCAxNTksIDE1MiwgOTIsIDcsIDYsIDEsIDI1MSwgCisgICAgNjcsIDE1MiwgOTIsIDcsIDYsIDEsIDI0OSwgNjEsIDE1MiwgOTIsIDcsIDYsIDEsIDc1LCAxNTIsIDkyLCA3LCA2LCAxLCAKKyAgICAyNDUsIDcsIDE1MiwgOTIsIDcsIDYsIDEsIDI0MywgMjAzLCAxNTIsIDkyLCA3LCA2LCAxLCAyNDIsIDYxLCAxNTIsIDkyLCAKKyAgICA3LCA2LCAxLCA3MywgMTUyLCA5MiwgNywgNiwgMSwgMjM1LCAxNDUsIDE1MiwgOTIsIDcsIDYsIDEsIDIzNSwgMjQsIDE1MiwgCisgICAgOTIsIDcsIDYsIDEsIDE1NiwgMTUyLCA5MiwgNywgNiwgMSwgMTkzLCAxNTIsIDkyLCA3LCA2LCAxLCAyMzAsIDI2LCAxNTIsIAorICAgIDkyLCA3LCA2LCAxLCA3NiwgMTUyLCA5MiwgNywgNiwgMSwgMjI2LCAxMDYsIDE1MiwgOTIsIDcsIDYsIDEsIDIyNCwgOTcsIAorICAgIDE1MiwgOTIsIDcsIDYsIDEsIDE1MywgMTUyLCA5MiwgNywgNiwgMSwgMjIyLCA5MiwgMTUyLCA5MiwgNywgNiwgMSwgMjE3LCAKKyAgICAxNTMsIDE1MiwgOTIsIDcsIDYsIDEsIDcwLCAxNTIsIDkyLCA3LCA2LCAxLCAyMTQsIDEwNSwgMTUyLCA5MiwgNywgNiwgMSwgCisgICAgMjEyLCA5OCwgMTUyLCA5MiwgNywgNiwgMSwgMjExLCAxNzgsIDE1MiwgOTIsIDcsIDYsIDEsIDIxMSwgMTE3LCAxNTIsIDkyLCAKKyAgICA3LCA2LCAxLCAyMTAsIDE1OSwgMjQ5LCAxMjksIDE1MiwgOTIsIDcsIDYsIDEsIDIyNiwgMTA2LCAxNTIsIDkyLCAyNDAsIAorICAgIDExNCwgMTUyLCA5MiwgMTkwLCAxNTIsIDkyLCAyMDYsIDE1MiwgOTIsIDI1NSwgMjYsIDE1MiwgOTIsIDIxMiwgMjMsIDQyLCAKKyAgICAyNDcsIDE2NSwgOTIsIDI1MCwgMjQsIDkyLCAyNDksIDE3MSwgOTIsIDI0MywgMjUzLCA5MiwgMjQwLCAxMDYsIDkyLCAyMjksIAorICAgIDg3LCA5MiwgMjI5LCA4MCwgOTIsIDIyNiwgMjE1LCA5MiwgMjE5LCAzNiwgOTIsIDEyMCwgMiwgMjQ1LCAzMiwgNzgsIDkyLCAKKyAgICAyMTMsIDExOSwgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgNjEsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIDEsIDI1MywgCisgICAgMTU5LCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAyNTEsIDY3LCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAyNDksIAorICAgIDYxLCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCA3NSwgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgMjQ1LCA3LCAKKyAgICAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAyNDMsIDIwMywgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgMjQyLCA2MSwgCisgICAgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgNzMsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIDEsIDIzNSwgMTQ1LCAyMjMsIAorICAgIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAyMzUsIDI0LCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAxNTYsIDIyMywgMTA0LCAKKyAgICAyMzUsIDI0MCwgMTYsIDEsIDE5MywgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgMjMwLCAyNiwgMjIzLCAxMDQsIDIzNSwgCisgICAgMjQwLCAxNiwgMSwgNzYsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIDEsIDIyNiwgMTA2LCAyMjMsIDEwNCwgMjM1LCAyNDAsIAorICAgIDE2LCAxLCAyMjQsIDk3LCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAxNTMsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIAorICAgIDEsIDIyMiwgOTIsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIDEsIDIxNywgMTUzLCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAKKyAgICAxLCA3MCwgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgMjE0LCAxMDUsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIDEsIAorICAgIDIxMiwgOTgsIDIyMywgMTA0LCAyMzUsIDI0MCwgMTYsIDEsIDIxMSwgMTc4LCAyMjMsIDEwNCwgMjM1LCAyNDAsIDE2LCAxLCAKKyAgICAyMTEsIDExNywgMjIzLCAxMDQsIDIzNSwgMjQwLCAxNiwgMSwgMjEwLCAxNTksIDQyLCAxNDEsIDI0MSwgNjQsIDkyLCA1NiwgCisgICAgMjM0LCAxOSwgOTIsIDU2LCAyMDYsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1MSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDU1LCAKKyAgICA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjMsIDkyLCA1NiwgMjQ4LCA5MSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDcwLCA5MiwgCisgICAgOSwgMjE0LCAxNzcsIDIzOCwgNTcsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAyOSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDU2LCAKKyAgICA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjksIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0MywgOTIsIDksIDIxNCwgMTc3LCAyMzgsIAorICAgIDM2LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDUsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA2NiwgOTIsIDksIDIxNCwgMTc3LCAKKyAgICAyMzgsIDUyLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjgsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0NCwgOTIsIDksIDIxNCwgCisgICAgMTc3LCAyMzgsIDY3LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMzAsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAzNSwgOTIsIDksIAorICAgIDIxNCwgMTc3LCAyMzgsIDI4LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNTgsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA2MCwgCisgICAgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDM4LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDksIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAKKyAgICA0NywgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDczLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNzIsIDkyLCA5LCAyMTQsIDE3NywgCisgICAgMjM4LCAyNiwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDUzLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNzEsIDkyLCA5LCAyMTQsIAorICAgIDE3NywgMjM4LCA2MiwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDQ4LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMjcsIDkyLCA5LCAKKyAgICAyMTQsIDE3NywgMjM4LCA1MCwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDMyLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMzEsIAorICAgIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA2MSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDM5LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgCisgICAgNDEsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0MiwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDM0LCA5MiwgOSwgMjE0LCAxNzcsIAorICAgIDIzOCwgNjUsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1OSwgMjE2LCA3LCAyMjAsIDU0LCAyNTEsIDE1OCwgOSwgMjE0LCAKKyAgICAxNzcsIDIzOCwgNDAsIDIxNiwgNywgMjIwLCA1NCwgMjUxLCAxNTgsIDksIDIxNCwgMTc3LCAyMzgsIDcyLCAyMTYsIDcsIAorICAgIDIyMCwgNTQsIDI1MSwgMTU4LCA5LCAyMTQsIDE3NywgMjM4LCA3MCwgMjE2LCA3LCAyMjAsIDU0LCAyNTEsIDE1OCwgOSwgCisgICAgMjE0LCAxNzcsIDIzOCwgNTQsIDIxNiwgNywgMjIwLCA1NCwgMjUxLCAxNTgsIDksIDIxNCwgMTc3LCAyMzgsIDM3LCAyMTYsIAorICAgIDcsIDIyMCwgNTQsIDI1MSwgMTU4LCA5LCAyMTQsIDE3NywgMjM4LCA1MCwgMjE2LCA3LCAyMjAsIDU0LCAyNTEsIDE1OCwgOSwgCisgICAgMjE0LCAxNzcsIDIzOCwgMzMsIDIxNiwgNywgMjIwLCA1NCwgMjUxLCAxNTgsIDksIDIxNCwgMTc3LCAyMzgsIDY0LCAyMTYsIAorICAgIDcsIDIyMCwgNTQsIDI1MSwgMTU4LCA5LCAyMTQsIDE3NywgMjM4LCA0NiwgMzcsIDE1NCwgMjU0LCAyNDYsIDM3LCAxNTQsIAorICAgIDI1NSwgMTMsIDI0OSwgNzIsIDI0NCwgNDMsIDI1MCwgMSwgMjE0LCAxOTQsIDIyOCwgMjE0LCAyLCAyMTgsIDE1NCwgMjE4LCAKKyAgICAzNCwgMTE3LCAyMzAsIDExNSwgMjE4LCAzMywgMjUwLCAyNywgMjUzLCAyMDgsIDI0NiwgNTUsIDIxOCwgMzIsIDExNywgCisgICAgMjUxLCAxMTksIDIyMywgMTU5LCAyNTEsIDE0MSwgMjUzLCAyMDgsIDIyOCwgMjEzLCAyMTIsIDQxLCAyMTIsIDM1LCAyMTMsIAorICAgIDEzMSwgMjMwLCAxOTYsIDIxMiwgMjUsIDI0NSwgMjI1LCAyNDIsIDE4MiwgMjQ1LCA0NiwgMjQ1LCAyMjUsIDI0MiwgMTgyLCAKKyAgICAyNTQsIDEyOSwgMjQ1LCAyMjUsIDI0MiwgMTgyLCAyNTMsIDIyNiwgMjQyLCAxODIsIDIsIDIzMSwgNTIsIDE2NiwgMjMwLCAKKyAgICAxMzAsIDg3LCAyMTIsIDI3LCAyNDksIDEzOCwgMjMwLCAxMzAsIDg3LCAyNDQsIDkzLCAyMjQsIDIzLCAyMzAsIDEzMCwgODcsIAorICAgIDIxMiwgMjcsIDI0MiwgMjExLCAyMzAsIDEzMCwgODcsIDI0MywgMjMwLCAyMzAsIDEzMCwgODcsIDIxMiwgNTIsIDI0MiwgCisgICAgMjExLCAyMzAsIDEzMCwgODcsIDIzMywgODEsIDIyNCwgMjMsIDIzMCwgMTMwLCA4NywgMjEyLCA1MiwgMjQ5LCAxMzgsIAorICAgIDIzMCwgMTMwLCA4NywgMjQ5LCAxMzgsIDIzMCwgMTI5LCAxNjYsIDIzMCwgMTMwLCAyLCAyNDQsIDE5MSwgMjQ0LCA5MywgCisgICAgMjI0LCAyMywgMjMwLCAxMzAsIDIsIDI0NCwgMTkxLCAyMzMsIDgxLCAyMjQsIDIzLCAyMzAsIDEzMCwgMiwgMjQ0LCAxOTEsIAorICAgIDI0MywgMjMwLCAyMzAsIDEzMCwgMiwgMjQ0LCAxOTEsIDIxOCwgMzksIDIsIDI0NCwgMTkxLCAyNDIsIDE4MCwgMjE4LCAKKyAgICAxNTcsIDIyMCwgMCwgMjE4LCAxNTcsIDI1MCwgMTE3LCAyMjEsIDE2OSwgMjQ1LCA0MCwgMjE1LCAyMzYsIDI0OCwgODUsIAorICAgIDIxNSwgMjM2LCAyMjYsIDYwLCAyMTUsIDIzNiwgMjUxLCAyOCwgMjE1LCAxMTAsIDI1MCwgMTE5LCAyNTEsIDIxMSwgMjIyLCAKKyAgICAxOTIsIDI0MSwgMTgwLCAyMTgsIDM3LCAyNTEsIDIxMSwgMjQ1LCAyMjksIDY0LCAyMzEsIDE5NSwgMjQ1LCAyMjksIDY0LCAKKyAgICAyMjMsIDMyLCAyNDEsIDIwNSwgMjQ0LCAxMiwgMjMzLCA1NSwgMjQ5LCAyNDcsIDIzMSwgMTcxLCAyMzMsIDU0LCAyNDQsIAorICAgIDE3NywgMjMzLCA1NCwgMjMzLCA1NSwgMjQ0LCA0OCwgMjM2LCAxLCAyMTEsIDIzOSwgMjMwLCA1OSwgMjE2LCAzNSwgMjUzLCAKKyAgICAxOTIsIDI0MiwgMTQ0LCAyMzEsIDY4LCAyMTIsIDM5LCAyMTcsIDU4LCAyMzMsIDI3LCAyNTIsIDE1MCwgMjI1LCA2MywgCisgICAgMjIzLCAxMTIsIDI1NCwgNTUsIDI0MiwgMTI4LCAyNTQsIDU1LCAyMjUsIDIxOCwgMjI1LCAyMTksIDI1MCwgMTIwLCAyMTgsIAorICAgIDExNSwgMjQyLCAyNCwgMjE5LCA5MSwgNjQsIDIyNSwgNDUsIDIzMSwgODgsIDIyNiwgMTk4LCAyNTEsIDE5NSwgMjI0LCAKKyAgICAyMzAsIDIzMywgMzcsIDIyMywgMzMsIDI0OSwgMTQzLCAyMjMsIDMzLCAyNTIsIDE2MCwgMjQ5LCAxNzQsIDIyMywgMzIsIAorICAgIDI0OSwgOTYsIDIyLCAyMjMsIDMyLCAyMTgsIDE0MiwgMjUxLCAxNjgsIDIxOSwgMTUsIDI1MSwgMTUyLCAyNDMsIDI1MiwgCisgICAgMjQzLCAyNDgsIDIyMiwgMjA4LCAyMTcsIDI0NywgMjI0LCAyMzIsIDI0OCwgMTc2LCAyMjYsIDIzNywgMjE4LCA4LCAyNDMsIAorICAgIDI0OSwgMjE5LCAyMzEsIDI0NCwgOTIsIDI1MSwgMjIsIDIsIDIxNywgMjQwLCAyNDgsIDM2LCAyMTksIDUzLCAyNDAsIDExMywgCisgICAgMjQ5LCAxNDIsIDIyMCwgNzEsIDI0MCwgMTEyLCAyNDAsIDExMywgMjQ5LCAxNDIsIDI0NiwgMTA5LCAyNDksIDE3MywgMjUwLCAKKyAgICA4NSwgMTMwLCAyNTAsIDI1NSwgMjMyLCAxNDIsIDI0OSwgODksIDI0MSwgNTYsIDIyNCwgMjM0LCAyMTksIDI0MSwgMjUyLCAKKyAgICAzNywgMjUxLCAxNjQsIDIyNCwgMjM1LCA2NCwgMjQ0LCAzNCwgMjQ5LCAxNzIsIDI0NCwgMjUsIDIyLCAyMzQsIDMzLCAyMTcsIAorICAgIDIwLCAyMTEsIDIzMCwgMjQyLCAxNCwgMjIyLCAxMywgMjUxLCAxNzgsIDIyLCAyNDksIDEwMywgMjExLCAyMzcsIDI0MiwgCisgICAgMTg1LCAyNDksIDIzNiwgMjQyLCAxODUsIDIxNSwgMTk0LCAyNDYsIDkxLCAyNTIsIDYzLCAyMzAsIDk0LCAyNTAsIDgsIAorICAgIDI1MiwgNjMsIDIzMCwgOTMsIDI1MiwgMTg4LCAyNTEsIDE3NywgMjIzLCAzNCwgMjExLCAyMDEsIDIyNCwgMTk2LCAyNTEsIAorICAgIDIzNiwgMjUxLCAyMSwgMjM1LCAxMzksIDI1MCwgNzgsIDIxNSwgMjM2LCAyNDQsIDE2MywgMjUwLCA3NywgMjQ0LCA5NSwgCisgICAgMjQ0LCA5NiwgMjE5LCAxMywgMjUyLCAxNTksIDIyNSwgMjUxLCAyMjQsIDI0NSwgMjQ5LCAyMDUsIDI1MiwgMTYwLCAyMTcsIAorICAgIDYwLCAyMTUsIDIzNiwgMjQ5LCAxMjksIDI0NCwgNjgsIDIyNSwgNjQsIDI0OCwgODIsIDIzNSwgMTMyLCAyNDcsIDEzMiwgCisgICAgMjUwLCAyMzMsIDIxOCwgMTE0LCAyMTEsIDI0MCwgMjUwLCA5OSwgMjMwLCAxMzAsIDIxMywgMTY0LCAyNTAsIDE2MywgMjIxLCAKKyAgICAyMDAsIDIyMSwgMjI1LCAyNDIsIDE0OSwgMjUwLCAyNTIsIDI1MCwgMjM0LCAyNDAsIDI0NiwgMjQ0LCAxMzEsIDIxMiwgMCwgCisgICAgMjIyLCAyMDEsIDI0OSwgMjM3LCAyNDQsIDg3LCAyMjUsIDMsIDIyLCAyNDQsIDkxLCAyMzAsIDIyOCwgMjMwLCAxMDksIAorICAgIDI1MSwgMTEsIDI1MCwgNDAsIDI0MSwgMjMzLCAyNTMsIDI0MiwgMjI2LCA2MywgMjE2LCAxNSwgMjQxLCAyNTIsIDI1MCwgCisgICAgMzAsIDIxNiwgMjQzLCAyMTYsIDExNCwgMjUwLCAyMSwgMjUxLCAyMDMsIDIyNSwgMTc4LCAyNTMsIDI0MSwgMjEzLCAxNzIsIAorICAgIDI0MywgMTExLCAyNDcsIDE5OCwgMjQxLCAxNTcsIDIxOSwgODUsIDIzMSwgMjM1LCAyNTEsIDI0NiwgMjQzLCAxMTIsIDI0NywgCisgICAgMjQxLCAyNTEsIDE2NywgMjQ0LCA1MywgMjI1LCAzNCwgMjUwLCAyNDIsIDI4LCAyMjgsIDQ4LCAyMzAsIDg2LCAyOCwgMjI4LCAKKyAgICA0MywgMjIxLCAyMTMsIDI0MiwgMTAwLCAyOCwgMjM0LCAxMzgsIDIxNSwgMTkxLCAyMTMsIDE1NCwgMjgsIDIyMSwgMTkzLCAKKyAgICAyMjIsIDEyNSwgMjIwLCAxMiwgMiwgMjIxLCAyMjgsIDIxNiwgMjQ1LCAyMjMsIDE3OSwgMjIsIDI1MiwgMTYwLCAyMTksIAorICAgIDEwNiwgMjIsIDIxOSwgMTA2LCAyNTEsIDE4OCwgMjUyLCAxMjQsIDIyLCAyNDEsIDUwLCAyNTAsIDEyMSwgMjQ0LCA3NCwgCisgICAgMjE5LCA2NCwgMjIyLCAxMjYsIDIxOCwgMTMsIDIxNSwgMTk1LCAyNDAsIDI0NywgMjIzLCAxODAsIDI1NCwgMTMwLCAyNDQsIAorICAgIDMyLCAyMjIsIDEzNywgMjQ0LCAzMiwgMjE3LCAyNDIsIDI0MCwgMjM2LCAyNTEsIDEyMCwgMjQwLCAyMzYsIDIsIDI0MywgCisgICAgOTUsIDIyNiwgMjMwLCAyNTEsIDEyMCwgMjM1LCAxMzIsIDIyNCwgMjQwLCAyMjYsIDIyOSwgMjQ1LCA0NSwgMjI0LCAyNDAsIAorICAgIDIyNiwgMjI5LCAyNDAsIDI0NSwgMjUyLCAxNDYsIDI1MywgMTgyLCAyMTYsIDI1MywgMjMxLCAyMzUsIDI0MCwgMjQxLCAKKyAgICAyMzIsIDExMiwgMjQwLCAyNDEsIDI0OSwgMTc3LCAyMTgsIDEyNiwgMjIxLCAxOTksIDI0OCwgNDQsIDIxOCwgMTI2LCAyNDQsIAorICAgIDE4MSwgMjM1LCAxNTAsIDIzMywgOTAsIDIzNSwgMTMyLCAyNTAsIDIyNywgMjQ1LCA0NSwgMjUwLCAyMjcsIDIyMywgMTQyLCAKKyAgICAyMzAsIDExMywgMjI2LCAxMTUsIDIxMiwgNDEsIDI1MSwgMTI0LCAyNDksIDE0NiwgMjE2LCAxMDcsIDIzMywgMTksIDIyMywgCisgICAgMTgxLCAyNTAsIDIyNSwgMjQ2LCA5NywgMjQ5LCAxMzYsIDIxMiwgMywgMjE5LCA3MSwgMjE5LCA2OSwgMjQwLCAyNDYsIAorICAgIDIyMywgMTU0LCAyNDIsIDE3MSwgMjIwLCA1OCwgMjMwLCAxNDYsIDIyMiwgMTk1LCAyNTAsIDEwOSwgMjQ3LCAxMzcsIDIyNSwgCisgICAgNzQsIDI1MSwgMjA0LCAyNDUsIDE3MCwgMjI2LCAyMzksIDIxOCwgMjUzLCAyMjAsIDUzLCAyNTEsIDEyMywgMjU0LCA5MywgCisgICAgMjQxLCA1NSwgMjMzLCAxMjIsIDI1MiwgNjEsIDI0NCwgOTEsIDIxNSwgMTk0LCAyNDQsIDkxLCAyNTEsIDIxMCwgMjE1LCAKKyAgICA5MSwgMjQxLCAyNTAsIDI1MCwgMTEwLCAyNTIsIDE4OCwgMjUwLCAxMTAsIDI0MywgMjQzLCAyNTIsIDE4OCwgMjUwLCAxMTAsIAorICAgIDI1MSwgMjM4LCAyMjUsIDE5NiwgMjM0LCAyNywgMjI0LCAyNDksIDI0NiwgODgsIDI1MSwgMTIsIDI1MiwgMTc4LCAyNTEsIAorICAgIDEyLCAyNDcsIDEzMSwgMjMwLCAxMTQsIDI0NCwgMTkxLCAyNDksIDE0NywgMjQ0LCAxOTEsIDIxNiwgMTA4LCAyNDQsIDE5MSwgCisgICAgMjIzLCAxODIsIDI0NCwgMTkxLCAyNTAsIDIyNiwgMjQ0LCAxOTEsIDI0NiwgOTgsIDI0NCwgMTkxLCAyMTgsIDI0MiwgMjEyLCAKKyAgICAzLCAyNDAsIDI0NywgMjQ0LCAxOTEsIDIzMCwgMTQ3LCAyNDQsIDE5MSwgMjQ3LCAxMzgsIDI0NCwgMTkxLCAyMjUsIDc1LCAKKyAgICAyNDQsIDE5MSwgMjQzLCAyNDYsIDI0NCwgMTkxLCAyNDIsIDIxLCAyNDQsIDE5MSwgMjExLCAyMjQsIDI0NCwgMTkxLCAyNTIsIAorICAgIDcyLCAyNDQsIDE5MSwgMjI2LCA0NiwgMjQ0LCAxOTEsIDIyNSwgNzUsIDIyOCwgNTQsIDIyNSwgMjMzLCAyMjQsIDE4NywgCisgICAgMjQ1LCAxNCwgMjQ1LCAyMjgsIDIyOCwgNTQsIDIzMCwgMTExLCAyMTYsIDIwLCA3MSwgMTIwLCAyMjUsIDgsIDI1MiwgMTgzLCAKKyAgICAyMzUsIDI0MywgNzEsIDEyNCwgMjI1LCA4LCAyNTIsIDE4MywgMjM1LCAyNDMsIDcxLCA0MywgMjI1LCA4LCAyNTIsIDE4MywgCisgICAgMjM1LCAyNDMsIDcxLCA0NCwgMjI1LCA4LCAyNTIsIDE4MywgMjM1LCAyNDMsIDI0NCwgODUsIDI0MiwgMTcsIDUwLCAyMTIsIAorICAgIDMzLCAyNDIsIDE3LCA1MCwgMjI2LCAyMTYsIDI0MiwgMTcsIDUwLCAyMTYsIDEzNiwgMTIwLCA1MCwgMjE2LCAxMzYsIDEyNCwgCisgICAgNTAsIDI1MCwgMjAsIDI0MiwgMTIsIDUwLCAyMDQsIDI0MiwgMTIsIDUwLCAyNDksIDEyNCwgMjExLCAyMjAsIDI0MSwgMjUyLCAKKyAgICAyNDUsIDE1LCAyMjksIDEwNSwgMjE3LCAxNTIsIDIzNSwgMTI2LCAyNDYsIDkzLCAyMzQsIDgzLCAyNTEsIDI0OCwgMjExLCAKKyAgICAyMjAsIDI0OSwgMjUwLCAyMjQsIDEyOCwgMjQyLCAxNSwgMjI0LCAyMzEsIDIzMSwgMTc4LCAyMjAsIDUsIDI1MywgMjA0LCAKKyAgICAyMjAsIDUsIDI0MSwgMTY1LCAyMjAsIDUsIDIxMSwgMjIwLCAyMjEsIDI0MSwgMjExLCAyMjAsIDI1MSwgMTg3LCAyNDQsIAorICAgIDMwLCAyNTEsIDkxLCAyMzYsIDEsIDIxOSwgMTcwLCAyNTEsIDkwLCAyMzYsIDEsIDIxOSwgMTcwLCAyNTEsIDE2MywgMjQyLCAKKyAgICAxOTUsIDIzMSwgMTg2LCAyMTEsIDIyMSwgMjQ0LCAxNzUsIDIzMSwgMTg3LCAyMiwgMjExLCAyMjIsIDI0MSwgNjEsIDI0MiwgCisgICAgMTEsIDExMywgMjMxLCA2MCwgMjQxLCA2MSwgMjQyLCAxMSwgMTEzLCAyMTEsIDIxOSwgMjQxLCA2MSwgMjQyLCAxMSwgMjI1LCAKKyAgICAwLCAyMjYsIDIyOCwgMjExLCAyMjIsIDIsIDI1MSwgMTA3LCAyNDUsIDIyNiwgMjUxLCAxNDIsIDIsIDIxMywgMjQ2LCAyMjUsIAorICAgIDE2OSwgMiwgMjUxLCAyMTMsIDI0MiwgMzUsIDIzMSwgMTg3LCAyLCAyNDIsIDExMSwgMjI1LCAxMTAsIDIzMSwgMTc1LCAKKyAgICAyMzEsIDE4NywgMiwgMjE1LCA5OCwgMjI2LCAyMDksIDIzMSwgMTg2LCAyMjYsIDIwOSwgMjExLCAyMjEsIDI1MiwgMTg3LCAKKyAgICAyNDksIDE5MSwgMjExLCAyMDUsIDIyNCwgMTkwLCAyMzUsIDEzMiwgMjI2LCAyMjQsIDIzNSwgMTMyLCAyNDIsIDE3MCwgCisgICAgMjQyLCAyMjMsIDI1MiwgMTg4LCAyNTQsIDExNCwgMjQ1LCAxOSwgMjU0LCAxNjEsIDI1NCwgMTYyLCAyMzAsIDEzNywgMjM2LCAKKyAgICA2LCAyMTksIDEwMSwgMjM1LCAyMzMsIDI0OCwgMzUsIDIyNSwgMTY4LCAyNDIsIDEwNiwgMjQ4LCAxODAsIDIzMiwgMjAyLCAKKyAgICAyMjksIDIxMiwgMjI0LCAyNTUsIDI0NCwgMTkyLCAyMzEsIDE0MywgMjQyLCAzNCwgMjUyLCAxMzksIDIyNSwgMiwgMjE3LCAKKyAgICAxNzIsIDIyNSwgNjcsIDIzNCwgNjUsIDc4LCAyMzIsIDExMiwgMjMzLCAxMSwgMjIyLCAyMzQsIDI0MywgNTUsIDIxOCwgCisgICAgMTMyLCAyMzQsIDY0LCAyNTEsIDE3MiwgMjQ5LCAxNDksIDIsIDI0MSwgMjI4LCAyMTIsIDE5LCAyNTIsIDcwLCAyNDEsIAorICAgIDIyOCwgMjUxLCAxMzYsIDI0MSwgMjI4LCAxMTMsIDI0MSwgMjI2LCAyMTksIDExLCAyNDEsIDIyOCwgMjQyLCAxMjEsIDI0MSwgCisgICAgMjI4LCAyNDEsIDIyOSwgMiwgNzQsIDI1MSwgMjA5LCAyNDEsIDIyOCwgMjQyLCAxMjgsIDI0MSwgMjI4LCAyMTEsIDQyLCAKKyAgICAyNDEsIDIyOCwgMjI0LCAxMjksIDI0MSwgMjI4LCAyNDEsIDIyOSwgMiwgMjIzLCAzNCwgMjIzLCA0NSwgMjQxLCAyMjYsIAorICAgIDI0MSwgMjI5LCAyNDgsIDgyLCAyNDcsIDI1MCwgMjIwLCA4MywgMiwgMTE1LCA1OSwgMjM1LCAyMTYsIDI0NSwgMTczLCAKKyAgICAxOTIsIDI1MSwgMTE3LCAyNTQsIDExMywgODcsIDI1MSwgMTk2LCAyMTksIDkzLCA4NywgMjQ5LCAyMjksIDg3LCAyMTgsIAorICAgIDI0NywgMjE3LCAyNDksIDg3LCAyNDYsIDg2LCAyNDgsIDE1OCwgODcsIDIyNSwgNjgsIDY0LCAyMjQsIDI1MCwgMjQ0LCA2MiwgCisgICAgMjUyLCA0LCAyNDcsIDE2NiwgODcsIDIxOSwgNCwgMjUyLCAxNTksIDIxNiwgMTUwLCAyNTIsIDE1OSwgNzEsIDI0NCwgNTIsIAorICAgIDI0MCwgMjEyLCAyMjUsIDYsIDg3LCAyMzAsIDE1MCwgMjUyLCAxNzMsIDI0OSwgOTksIDI0NSwgMzMsIDExNCwgMjQ3LCAKKyAgICAxMzMsIDUwLCAyNDksIDE0MCwgMjUwLCAyNDMsIDI1MiwgMTQ1LCAyLCAyMTEsIDQwLCA1MCwgMjUyLCAxNDUsIDIsIDI0NywgCisgICAgMTMzLCA1MCwgMjUyLCAxNDUsIDIsIDI0NSwgNDgsIDUwLCAyNTIsIDE0NSwgMiwgMjI0LCAyMjksIDUwLCAyMzAsIDE1MCwgCisgICAgMiwgMjExLCAyMzUsIDI1MCwgMTM5LCAyLCAyMTQsIDE1MywgMjE1LCAyMzIsIDIyLCAyMTEsIDQwLCA1MCwgMjIxLCAxNzksIAorICAgIDIyNSwgMTY3LCAyNDksIDIwOSwgMjUxLCAxNDAsIDIzMCwgMTg3LCAyNDQsIDU3LCAyNDcsIDE4NiwgMjI2LCAxNjIsIDI0NywgCisgICAgMTkxLCAyNDYsIDUwLCAyNDQsIDEwOCwgMjQ0LCA0MSwgMjA0LCAyNDQsIDEwOCwgMjQ0LCA0MSwgMjI2LCA3NywgMiwgMjQ5LCAKKyAgICAxMDEsIDIyNiwgNzcsIDI0NCwgMTg0LCAyMTQsIDE2MywgMjUxLCAxNywgMjE3LCAxOSwgMjUxLCAxNywgMjUwLCAyNDQsIAorICAgIDIzNSwgMjQzLCAyNTAsIDEzOSwgMiwgMjE0LCAxNTMsIDIxNSwgMjMxLCAyNTAsIDEzOSwgMiwgMjQ2LCAxMDUsIDIxNSwgCisgICAgMjMxLCAyNTIsIDE0MiwgMjUwLCAxMzgsIDI1MCwgNywgMjI0LCAxMjQsIDIyMiwgMTg2LCAyMjQsIDEyNCwgMjI2LCAyMCwgCisgICAgMjE4LCAxMjIsIDIyMiwgMTMyLCAyMTUsIDIyMywgMjIyLCAxMzIsIDI1MSwgMTkyLCAyMTcsIDkyLCAyMzMsIDUyLCAyMjgsIAorICAgIDQ2LCAyMjgsIDQ3LCAyLCAyNDgsIDgxLCAyNDksIDE0OCwgMjUwLCAxLCAyNTEsIDE5MywgMjA0LCAyNTEsIDE5MywgMjQyLCAKKyAgICAxMjgsIDI1MSwgMTkzLCAyNTEsIDIwOSwgMjUxLCAxOTMsIDIyNiwgMTU4LCAyNTEsIDE5MywgMjUxLCAxOTAsIDIyOSwgCisgICAgMjA2LCAyNTIsIDE3NiwgMjIxLCAxODcsIDIzMSwgNjEsIDIxNywgMiwgMjIzLCAxMjQsIDIyNiwgNzUsIDI0NCwgMTYwLCAKKyAgICAyMzEsIDIzNSwgMjIxLCAyMjQsIDI1NCwgOTAsIDIyNCwgMTQ2LCAyNTQsIDI1MywgMjMyLCAxMTQsIDI1MCwgMTI4LCAyMzEsIAorICAgIDczLCAyMjYsIDEzMCwgMjE1LCAyMzksIDIzNSwgMjUzLCAyMTUsIDIzOSwgMjI2LCA4MywgMjQ2LCAyNSwgODcsIDIzNSwgCisgICAgMjUwLCAyNDUsIDEyMCwgMjQ1LCAxMjEsIDIsIDI0NiwgMTA1LCA4MCwgNDgsIDI1MCwgMSwgMjMxLCAyMDEsIDIsIDIzMiwgCisgICAgMTA4LCAyNDQsIDc0LCAyNTAsIDEsIDIzMSwgMjAxLCAyLCAyMjMsIDE1OCwgMjQ0LCA3NCwgMjA0LCAyMzEsIDIwMSwgMiwgCisgICAgMjIzLCAxNTgsIDI0NCwgNzQsIDIwNCwgMjMxLCAyMDEsIDIsIDIzMiwgMTA4LCAyNDQsIDc0LCAyMjQsIDIzNywgMjI0LCAKKyAgICAyMzgsIDI0MCwgMjQ5LCAyMjksIDg1LCAyMzAsIDE2MCwgMjI1LCAxMTgsIDIzMCwgMTYwLCAyMjUsIDExOSwgMiwgOTcsIAorICAgIDgwLCAyNTMsIDIwOCwgMjMzLCA0NywgMjEzLCAxNzUsIDIzMCwgMTU5LCAyMzAsIDE2MCwgMjI1LCAxMTksIDIyNiwgMjMxLCAKKyAgICAyMjgsIDc2LCAyMzAsIDE2MCwgMjI1LCAxMTcsIDI1NCwgOTEsIDIsIDI1MiwgMTMwLCAyNTEsIDExLCAyMTMsIDE3MiwgCisgICAgMjUxLCAxMSwgMjE2LCAyNTUsIDIyMywgMTc0LCAyMTMsIDE3MSwgMjE1LCA2MCwgOTcsIDI1MywgMjQ4LCAyNTAsIDMsIDk3LCAKKyAgICAyMiwgMTQwLCAyMDQsIDI1MCwgMzcsIDI1MywgMjQ4LCAyNTAsIDMsIDk3LCAyMiwgMTQwLCAyMDQsIDI1MCwgMzcsIDI1MywgCisgICAgMjQ5LCAyLCAzNywgMTIzLCAyMjYsIDEyMSwgMjUwLCAzLCAyNDYsIDEwNSwgMjIsIDIxNCwgMTUzLCAyMDQsIDI1MCwgMzcsIAorICAgIDI1MywgMjQ4LCAyNTQsIDg5LCAyNDYsIDEwNSwgMjIsIDIxNCwgMTUzLCAyMDQsIDI1MCwgMzcsIDI1MywgMjQ4LCAxMjEsIAorICAgIDI1MSwgMTM5LCA4NywgMTI1LCAyNTEsIDEzOSwgODcsIDIxOSwgOCwgMiwgMjUxLCA1LCA5MSwgMjE5LCA3LCAyMTksIDgsIAorICAgIDIsIDEyMywgMjE5LCAzMiwgMjEyLCAzNSwgMjE5LCA4LCAyLCAxMzQsIDIxOSwgMzIsIDIxMiwgMzQsIDI1MiwgMTE2LCAKKyAgICAyNDUsIDE3MywgMjI1LCAyOCwgMjMzLCA0MywgMjMxLCAyMTIsIDI0MiwgMTg1LCAyMjIsIDI0OCwgMjMxLCAyMTIsIDI0MiwgCisgICAgMTg1LCAyMzIsIDE1MywgMiwgMjM1LCAyMjYsIDIyNSwgMjAwLCAyNTAsIDEsIDIzMiwgMTUzLCAyLCAyMzQsIDEzOSwgMjM0LCAKKyAgICAxMzksIDIzMiwgMTUyLCAyMDQsIDIzMiwgMTUyLCAyNTIsIDQ1LCAyNTIsIDQ2LCAyLCAyNTEsIDUsIDkxLCAyNTEsIDE5MSwgCisgICAgMjMyLCAyMDUsIDg3LCAyMjMsIDE3NSwgMjUxLCA4NywgMjUyLCAxODYsIDIsIDE0MCwgODAsIDQ4LCAyNDUsIDE0NCwgMiwgCisgICAgMTQwLCA4MCwgNDgsIDIyNiwgMTk4LCAyLCAyNDUsIDMyLCAxNjQsIDIsIDQzLCA0NCwgODAsIDQ4LCAyMTksIDQwLCAyLCAKKyAgICA5NywgODAsIDQ4LCAyMTYsIDE1LCAyLCAyMTQsIDE1MywgODAsIDQ4LCAyMjgsIDc2LCAxMjMsIDIxNCwgMTg0LCAyNDUsIAorICAgIDE5MiwgODcsIDIzNCwgMTM3LCAyMTYsIDI0OCwgMjM1LCAyMjAsIDE2LCAzMSwgNywgNiwgMjMzLCAxMCwgMjM1LCAyMjAsIAorICAgIDE2LCAzMSwgNywgNCwgMjMzLCAxMCwgMjM1LCAyMjAsIDE2LCAzMSwgMjI3LCAyMDAsIDIzNSwgMjIwLCAxNiwgMzEsIDIxNywgCisgICAgMTg0LCAyMzUsIDIyMCwgMTYsIDMxLCA3LCAyMzMsIDEwLCAyNDQsIDk3LCAyNDUsIDE3MywgMjE2LCAxMCwgMjExLCAxOTksIAorICAgIDI0MiwgMjIsIDIyNywgMTgzLCAyMiwgMjUxLCAxOTgsIDI0MSwgNjcsIDIyNSwgNTEsIDIzMCwgMjI3LCAyMTcsIDAsIDI0OSwgCisgICAgMTE1LCAyNTIsIDE2MCwgMjE5LCAxMjYsIDIyNSwgMTAsIDIxOCwgMTU4LCAyLCAyMzAsIDIyNSwgMjQ3LCAxMjEsIDIzNSwgCisgICAgMTMyLCAxNiwgMzEsIDI1MiwgNTgsIDIxNSwgMjIxLCAyNDUsIDE1NywgODUsIDQyLCAyNTEsIDg3LCA3MSwgNDIsIDI1MSwgCisgICAgODcsIDIzMywgODYsIDIyMywgMTEyLCAyNTAsIDM2LCAyMzMsIDg2LCAyNTEsIDIwOSwgMjUwLCAzNiwgMjMzLCA4NiwgMjI2LCAKKyAgICAxNTgsIDI0NywgMjQ5LCAyMzMsIDg2LCAyNTEsIDIwOSwgMjQ3LCAyNDksIDQsIDIyNiwgMTU4LCAyNDcsIDI0OSwgNCwgCisgICAgMjUxLCAyMDksIDI0NywgMjQ5LCAyMTQsIDE2MiwgMjIzLCAxMTIsIDIxNSwgMjI2LCAyNDYsIDEwNiwgMjIzLCAxMTIsIAorICAgIDIxNSwgMjI2LCAyMTQsIDE2MiwgNCwgMjIzLCAxMTIsIDIxNSwgMjI2LCAyNDYsIDEwNiwgNCwgMjIzLCAxMTIsIDIxNSwgCisgICAgMjI2LCAzNywgMjQ5LCAxMzIsIDIyNCwgMjUzLCAyNDksIDEzMiwgMjI0LCAyNTQsIDIsIDI0MiwgMjcsIDUxLCAyNDksIAorICAgIDEzMiwgMjI0LCAyNTMsIDIyOCwgNTAsIDQzLCAyMjAsIDE1NCwgMiwgMTM0LCAyNDcsIDExOSwgMjUwLCA1LCAyNDQsIDE5MiwgCisgICAgMTIzLCAyMjYsIDI0MywgMjUwLCA1LCAyNDQsIDE5MiwgMTEzLCAyMjYsIDI0MywgMjUwLCA1LCAyNDQsIDE5MiwgMTM0LCAKKyAgICAyMjYsIDI0MywgMjUwLCA1LCAyNDQsIDE5MiwgMjQ0LCAxMiwgMjI2LCAyNDMsIDI1MCwgNSwgMjQ0LCAxOTIsIDI0NCwgODIsIAorICAgIDIyNiwgMjQzLCAyNTAsIDUsIDI0NCwgMTkyLCAyMTksIDEyNiwgMjI2LCAyNDMsIDI1MCwgNSwgMjQ0LCAxOTIsIDIyMCwgCisgICAgMTIzLCAyMjYsIDI0MywgMjUwLCA1LCAyNDQsIDE5MiwgMjQ1LCAxOTQsIDIyNiwgMjQzLCAyNTAsIDUsIDI0NCwgMTkyLCAKKyAgICAyMjgsIDIwMSwgMjI2LCAyNDMsIDI1MCwgNSwgMjQ0LCAxOTIsIDIxNiwgMjQ5LCAyMjYsIDI0MywgMjUwLCA1LCAyNDQsIAorICAgIDE5MiwgMjQ1LCAxNjksIDIyNiwgMjQzLCAyNTAsIDUsIDI0NCwgMTkyLCAyMTUsIDc3LCAyMjYsIDI0MywgMjUwLCA1LCAKKyAgICAyNDQsIDE5MiwgMjI2LCAxOTMsIDI1MCwgNSwgMjQ0LCAxOTIsIDIxNSwgNTYsIDI1MCwgNSwgMjQ0LCAxOTIsIDIxNiwgCisgICAgMTQxLCAyNTAsIDUsIDI0NCwgMTkyLCAyNDQsIDgsIDI1MCwgNSwgMjQ0LCAxOTIsIDI0NCwgODAsIDI1MCwgNSwgMjQ0LCAKKyAgICAxOTIsIDIxOSwgMTIyLCAyNTAsIDUsIDI0NCwgMTkyLCAyMjAsIDEyMiwgMjUwLCA1LCAyNDQsIDE5MiwgMjQ1LCAxOTMsIAorICAgIDI1MCwgNSwgMjQ0LCAxOTIsIDIyOCwgMjAwLCAyNTAsIDUsIDI0NCwgMTkyLCAyMTYsIDI0NywgMjUwLCA1LCAyNDQsIDE5MiwgCisgICAgMjQ1LCAxNjcsIDI1MCwgNSwgMjQ0LCAxOTIsIDIxNSwgNzUsIDIzMCwgMTE4LCAyNDMsIDIzMSwgMjE2LCAzNywgMjE2LCAzLCAKKyAgICAyMTgsIDE0OSwgNjQsIDIzMiwgMjQwLCAyMTksIDE3MSwgNjQsIDIzNSwgMTMzLCAyMzAsIDEwNywgMjQyLCAxMjUsIDI0NCwgCisgICAgMTkxLCAyNDIsIDEyNSwgMjQ0LCAxOTIsIDIsIDIxOSwgNzUsIDI0NSwgMTQsIDI0NCwgMTkyLCAyLCAyMTcsIDE1LCA2NCwgCisgICAgMjM1LCA1NCwgMjE5LCA3NSwgMjQ0LCAxOTIsIDIsIDIwNCwgMjMwLCAxMTEsIDIxOSwgNzUsIDI0NCwgMTkyLCAyLCAyMDQsIAorICAgIDIzMCwgMTEyLCAyMiwgMjE5LCA3NSwgMjQ1LCAxNCwgMjE5LCA3NSwgMjQ0LCAxOTIsIDIsIDIwNCwgMjMwLCAxMTIsIDIyLCAKKyAgICAyNDksIDIzMSwgMjE3LCAyNDgsIDIxOSwgNzUsIDI0NCwgMTkyLCAyLCAyMDQsIDIzMCwgMTEyLCAyMiwgMjE2LCAxMDUsIAorICAgIDI0NSwgMTQsIDIxOSwgNzUsIDI0NCwgMTkyLCAyLCAyNDIsIDI2LCAyMTksIDc1LCAyNDQsIDE5MiwgMiwgMjQwLCAyNDgsIAorICAgIDIxMSwgMjMzLCAyNDQsIDE5MSwgMjE5LCA3NSwgMjQ0LCAxOTIsIDIsIDIxOSwgNzUsIDI0NSwgMTQsIDI0NCwgMTkyLCAKKyAgICAyMjEsIDIxOCwgMjQ4LCA2MywgMjQ0LCAzNCwgMjIzLCA4OSwgMjQ0LCAxOTEsIDIxOSwgNzUsIDI0NCwgMTkyLCAyLCAyNDEsIAorICAgIDIyNywgMjQ1LCAxNCwgMjE5LCA3NSwgMjQ0LCAxOTIsIDIsIDIxOCwgMzUsIDIxOSwgNzQsIDI0NCwgMTkxLCAyMjksIDg4LCAKKyAgICAyNDQsIDE5MSwgMjQ1LCAyNCwgMjQ0LCAxOTEsIDIxNCwgMTg4LCAyNDQsIDE5MSwgMjQ0LCAxOTIsIDIsIDI0OSwgMjMxLCAKKyAgICAyMTcsIDI0OCwgMjI1LCAxOTMsIDI0NCwgMTkxLCAyNDksIDIwMiwgMjQ0LCAxOTEsIDI0OSwgMjAzLCAyNDQsIDE5MSwgCisgICAgMjM0LCA2MywgMjQ0LCAxOTEsIDI0NCwgMTkyLCAyMTYsIDEzOCwgMTE1LCAyMzQsIDY0LCAyMzQsIDYzLCAyNDQsIDE5MiwgCisgICAgMiwgMjE5LCA3NSwgMjQ1LCAxNCwgMjM0LCA2MywgMjQ0LCAxOTIsIDIsIDI1MCwgMSwgMjQ1LCAxNCwgMjQ0LCAxOTIsIDIsIAorICAgIDIxOCwgODksIDIxNiwgMjAsIDI0NCwgMTkyLCAyLCAyMTgsIDg5LCAyMTYsIDIxLCAyMiwgMjExLCAyMzMsIDI0NSwgMTYsIAorICAgIDI0NCwgMTkyLCAyLCAyMTgsIDg5LCAyMTYsIDIxLCAyMiwgMjE2LCAxMDUsIDI0NSwgMTQsIDI0NywgMTkzLCAyNDQsIDE5MSwgCisgICAgMjExLCAyMDQsIDI0NCwgMTkxLCAyNTQsIDEwOSwgMjQ0LCAxOTEsIDIyNCwgMjI4LCAyNDQsIDE5MSwgMjQ5LCAxMTcsIAorICAgIDI0NCwgMTkxLCAyMjUsIDE3MSwgMjQ0LCAxOTEsIDI0NCwgMTkyLCAyLCAyMzIsIDEyNywgNjQsIDIxNSwgMjA1LCAyNDcsIAorICAgIDE5MywgMjUxLCA4OSwgMjIzLCA4OSwgMjQ0LCAxOTEsIDI0MywgMjQwLCAyNDQsIDE5MiwgMiwgMjA0LCAyMzAsIDExMSwgCisgICAgMjU0LCAxMDcsIDI0NCwgMTkxLCAyNDQsIDE1MywgMjQ0LCAxOTEsIDIxMiwgMjAsIDI0NCwgMTkxLCAyMTksIDkyLCAyNDQsIAorICAgIDE5MSwgMjE2LCA3MiwgMjQ0LCAxOTEsIDI0MiwgMTI2LCAyNDQsIDE5MSwgMjMyLCAxMTUsIDI0OSwgMTE3LCAyNDQsIDE5MSwgCisgICAgMjQ0LCAxOTIsIDIsIDIwNCwgMjMwLCAxMTEsIDI0MCwgMjA0LCAyNDQsIDE5MSwgMjQ0LCAxOTIsIDIsIDIwNCwgMjMwLCAKKyAgICAxMTIsIDIyLCAyNDksIDIzMSwgMjE3LCAyNDgsIDI0NCwgMTkyLCAyMjEsIDE5MSwgMjM2LCAxLCAyNDQsIDE1NCwgMjUzLCAKKyAgICAyMTQsIDI0NCwgMTkxLCAyNDQsIDUwLCAyNDQsIDE5MSwgMjE5LCA5MywgMjQ0LCAxOTEsIDI0NywgMTY2LCAyNDQsIDE5MSwgCisgICAgMjQ0LCAxOTIsIDIxMSwgMjMwLCAyMzAsIDExMSwgMjQ0LCAxOTIsIDIsIDIzMSwgODUsIDIzMSwgMTQ1LCAyNDIsIDEyNSwgCisgICAgMjUwLCAyMjYsIDI0NCwgMTkyLCAyLCAyMTksIDc1LCAyNDUsIDE0LCAyNTAsIDIyNiwgMjQ0LCAxOTIsIDIsIDIxNywgMTUsIAorICAgIDY0LCAyMzUsIDU0LCAyMTksIDc1LCAyNTAsIDIyNiwgMjQ0LCAxOTIsIDIsIDIwNCwgMjMwLCAxMTEsIDIxOSwgNzUsIDI1MCwgCisgICAgMjI2LCAyNDQsIDE5MiwgMiwgMjQxLCAyMjcsIDI0NSwgMTQsIDI1MCwgMjI2LCAyNDQsIDE5MiwgMiwgMjExLCAxOTYsIAorICAgIDIxOSwgNzYsIDIzNCwgNjMsIDI1MCwgMjI2LCAyNDQsIDE5MiwgMiwgMjUwLCAxLCAyNDUsIDE0LCAyMjQsIDIyOCwgMjUwLCAKKyAgICAyMjYsIDI0NCwgMTkxLCAyNDksIDExNywgMjUwLCAyMjYsIDI0NCwgMTkxLCAyMTIsIDIwLCAyNTAsIDIyNiwgMjQ0LCAxOTEsIAorICAgIDI0NCwgMTkyLCAyLCAyMjgsIDc2LCAyNDIsIDE2NCwgMjQzLCAzNSwgMjQ0LCAxOTIsIDIsIDIyNiwgMjE2LCAyNDMsIDM1LCAKKyAgICAyMjUsIDE2OSwgMjUxLCAxNjksIDI0OCwgNzYsIDIyMSwgMTcwLCAyMzAsIDE0NiwgMjQxLCAyMzAsIDIzMCwgMTQ2LCAyMTksIAorICAgIDksIDIzMCwgMTQ2LCAyNDIsIDYsIDIyNSwgMTY5LCAyMjMsIDE1NywgMTIzLCAyNDIsIDE2LCAyMjUsIDE2OSwgMjIzLCAKKyAgICAxNTcsIDI1MSwgMTc5LCAyNDIsIDEyLCAyMzYsIDEsIDI1MCwgMTgwLCAyMjUsIDE2OSwgMjQzLCAyMzksIDIyNSwgMTY5LCAKKyAgICAyLCAyMjQsIDIyOCwgMjQ0LCAxOTEsIDIyNSwgMTY5LCAyLCAyNDQsIDQyLCAyNDIsIDExLCAyMjIsIDIwNCwgMjQxLCAyMTUsIAorICAgIDIxOCwgMTQ0LCAyMzIsIDE1MCwgMjIzLCAxNjMsIDI1MCwgMjQ1LCAyNDEsIDE2MywgMjE1LCAyNDksIDI0MSwgMTYzLCAKKyAgICAyMTUsIDI1MCwgMiwgMjUxLCAxMTUsIDIyOCwgNTQsIDIxNSwgMjQ5LCAyMzEsIDMzLCAxOTIsIDIyMywgMTY0LCAyMTgsIAorICAgIDE1MCwgMjE1LCAyNDcsIDIxNSwgMjQ4LCAyNTAsIDI0NSwgMjUxLCA5MywgMjI2LCAxOTUsIDI1MSwgOTMsIDIxNSwgMjAyLCAKKyAgICAyNTEsIDk0LCAyMTgsIDEzMCwgMjMwLCAxODgsIDI1NCwgMTMxLCAyNDQsIDk4LCAyNDUsIDEzOCwgMjI1LCAwLCAyNTAsIAorICAgIDI0NSwgMjI2LCAxOTUsIDIyNSwgMCwgMjUwLCAyNDUsIDIxNywgMzMsIDIyNiwgMTk1LCAyMTcsIDMzLCAyNTMsIDE4MSwgCisgICAgMjI2LCAxOTUsIDI1MywgMTgxLCAyMjMsIDExOSwgMjEzLCAyNDcsIDI0OCwgNTksIDIxNSwgMTkzLCAyNTMsIDI0MywgMjMyLCAKKyAgICAxMTgsIDIxNSwgMjU1LCAyMzAsIDE0MCwgMjMwLCAxMTcsIDIyMywgMTYyLCAyMTgsIDcsIDIyMywgMTYyLCAyMzAsIDExNywgCisgICAgMjUxLCAyOSwgMjU0LCAyMzAsIDIxNSwgMjQ2LCAyMjAsIDE3LCAyMjIsIDE4MywgMjE5LCAyLCAyMDMsIDIxNSwgMjUzLCAKKyAgICAyMzIsIDIzMSwgNjcsIDIxNSwgMjUzLCAyMzIsIDIzMSwgMjQ5LCAxOTEsIDUwLCAyMjUsIDAsIDI1MCwgMjMwLCAyMjMsIAorICAgIDQ1LCAyMzIsIDIzMSwgMjE1LCAyMjMsIDI0NCwgNzUsIDIyNiwgMTk4LCAyMjQsIDIzOSwgMjQ3LCAxMjQsIDIyOCwgNzYsIAorICAgIDI0NSwgMTI2LCA1MCwgMjE5LCA3MywgODcsIDIyOCwgNzYsIDIxOSwgNzMsIDg3LCAyMjQsIDEyMywgMjMyLCAxOTQsIDIzNiwgCisgICAgMSwgMjM1LCAxNTgsIDIyNSwgNDIsIDg3LCAyNDcsIDE0NywgMjI4LCA1MywgMjMyLCAxOTQsIDg3LCAyMjQsIDIzMywgMjEyLCAKKyAgICA0MSwgODcsIDIyOCwgNjcsIDIxMiwgNDEsIDg3LCAyNTIsIDMsIDIyOCwgNzYsIDI1MiwgMiwgMjUyLCAxLCAyMzAsIDExNywgCisgICAgMjUyLCAxLCAyMjUsIDIxNCwgMjI4LCA3NiwgMjI1LCAyMTMsIDI1MCwgMTAxLCAyNDksIDEyNSwgMjMxLCA1NywgODcsIAorICAgIDIxMSwgMjE4LCA4NywgMjIzLCA2MCwgMjUyLCAxODgsIDg3LCAyMTYsIDM4LCAyMTIsIDQxLCAyNDksIDI1NCwgMjE5LCAKKyAgICAyMzUsIDI1MiwgMTE5LCAyNTIsIDExNywgMjI1LCAyNDMsIDI0OSwgMTc4LCAyNDksIDg3LCAyNTIsIDE3MCwgMjUwLCAyMywgCisgICAgNDMsIDIzMiwgOTEsIDEwOCwgMTYsIDMxLCAyMjQsIDQsIDEwOCwgMTYsIDMxLCAyNTQsIDE5MywgMTA4LCAxNiwgMzEsIAorICAgIDI0NCwgOTcsIDEwOCwgMTYsIDMxLCAyNDUsIDIyNCwgMTA4LCAxNiwgMzEsIDIxMiwgNDAsIDEwOCwgMTYsIDMxLCAyNTQsIAorICAgIDQ0LCAxMDgsIDE2LCAzMSwgMjU0LCA0NSwgMjIzLCAxMDYsIDEwOCwgMTYsIDMxLCAyNTQsIDQ1LCAyMjMsIDEwNSwgMTA4LCAKKyAgICAxNiwgMzEsIDI1NCwgNDUsIDIxMywgMTQzLCAxMDgsIDE2LCAzMSwgMjU0LCA0NSwgMjEzLCAxNDIsIDEwOCwgMTYsIDMxLCAKICAgICAyMTMsIDE1NywgMTA4LCAxNiwgMzEsIDIxMywgMTU2LCAxMDgsIDE2LCAzMSwgMjEzLCAxNTUsIDEwOCwgMTYsIDMxLCAyMTgsIAotICAgIDQ0LCAxMDgsIDE2LCAzMSwgMjI1LCAxMjUsIDIxOCwgNDQsIDEwOCwgMTYsIDMxLCA4NSwgMjE4LCA0NCwgMTA4LCAxNiwgCi0gICAgMzEsIDIzMSwgNTUsIDIxOCwgNzEsIDEwOCwgMTYsIDMxLCAyMzEsIDU1LCAyMTgsIDcwLCAxMDgsIDE2LCAzMSwgMjMxLCAKLSAgICA1NSwgMjE4LCA2OSwgMTA4LCAxNiwgMzEsIDI1MCwgMzgsIDEwOCwgMTYsIDMxLCAyMjIsIDEsIDEwOCwgMTYsIDMxLCAyMjgsIAotICAgIDE4OCwgMTA4LCAxNiwgMzEsIDIxMywgMTQxLCAxMDgsIDE2LCAzMSwgMjEzLCAxNDAsIDEwOCwgMTYsIDMxLCAyMjIsIDIwNCwgCi0gICAgMjIyLCAxLCAxMDgsIDE2LCAzMSwgMjIyLCAyMDQsIDIyMiwgMCwgMTA4LCAxNiwgMzEsIDI0MiwgMTY2LCAxMDgsIDE2LCAKLSAgICAzMSwgMjE5LCAxNjYsIDEwOCwgMTYsIDMxLCAyMzUsIDE3NywgMjI2LCAxNTMsIDEwOCwgMTYsIDMxLCAyMzUsIDE3NywgCi0gICAgMjI2LCAxNTIsIDEwOCwgMTYsIDMxLCAyNDksIDEzNCwgNjQsIDIzNSwgMTc2LCAxMDgsIDE2LCAzMSwgMjIzLCAxMDEsIDY0LCAKLSAgICAyMzUsIDE3NiwgMTA4LCAxNiwgMzEsIDI0OSwgMTY4LCAyMjYsIDE1MywgMTA4LCAxNiwgMzEsIDIzNSwgMTc1LCAyMjYsIAotICAgIDE1MywgMTA4LCAxNiwgMzEsIDIxOCwgNzIsIDY0LCAyNDksIDE2NywgMTA4LCAxNiwgMzEsIDI0OSwgMTM0LCA2NCwgMjQ5LCAKLSAgICAxNjcsIDEwOCwgMTYsIDMxLCAyNDksIDEzNCwgNjQsIDI0OSwgMTY2LCAxMDgsIDE2LCAzMSwgMjQ5LCAxNjgsIDI1NCwgODMsIAotICAgIDEwOCwgMTYsIDMxLCAyMjIsIDIsIDY0LCAyNDksIDE2OCwgMjU0LCA4MywgMTA4LCAxNiwgMzEsIDIxOCwgNzIsIDY0LCAKLSAgICAyMjIsIDIsIDY0LCAyNDksIDE2NywgMTA4LCAxNiwgMzEsIDIxMywgMjQzLCAxMDgsIDE2LCAzMSwgMjE2LCA4NCwgMjI2LCAKLSAgICAxNTMsIDEwOCwgMTYsIDMxLCAyMzMsIDU3LCAyMjYsIDE1MywgMTA4LCAxNiwgMzEsIDI1NCwgODIsIDIyNiwgMTUzLCAxMDgsIAotICAgIDE2LCAzMSwgMjE4LCA3MiwgNjQsIDI1NCwgODEsIDEwOCwgMTYsIDMxLCAyMjIsIDIsIDY0LCAyNTQsIDgxLCAxMDgsIDE2LCAKLSAgICAzMSwgMjE4LCA3MiwgNjQsIDIyMiwgMiwgNjQsIDI1NCwgODEsIDEwOCwgMTYsIDMxLCAyMTMsIDE1OCwgNjQsIDI1NCwgODEsIAotICAgIDEwOCwgMTYsIDMxLCAyMjMsIDEwMSwgNjQsIDI1NCwgODEsIDEwOCwgMTYsIDMxLCAyMjMsIDEwMSwgNjQsIDI1NCwgODAsIAotICAgIDEwOCwgMTYsIDMxLCAyMjMsIDEwMCwgMTA4LCAxNiwgMzEsIDIyMywgOTksIDEwOCwgMTYsIDMxLCAyMjMsIDk4LCAxMDgsIAotICAgIDE2LCAzMSwgMjIzLCA5NywgMTA4LCAxNiwgMzEsIDI1NCwgMTU3LCAxMDgsIDE2LCAzMSwgMjU0LCAxNTYsIDEwOCwgMTYsIAotICAgIDMxLCAyMzEsIDE2MywgMTA4LCAxNiwgMzEsIDIyMiwgNywgMTA4LCAxNiwgMzEsIDI1MywgMjQ2LCAxMDgsIDE2LCAzMSwgCi0gICAgMjIzLCAxMjUsIDEwOCwgMTYsIDMxLCAyMjMsIDEyNCwgMTA4LCAxNiwgMzEsIDI1MywgMTgzLCAxMDgsIDE2LCAzMSwgMjUxLCAKLSAgICAyMjksIDIyNiwgMTUzLCAxMDgsIDE2LCAzMSwgMjE3LCA0OSwgMTA4LCAxNiwgMzEsIDIxNywgNDgsIDEwOCwgMTYsIDMxLCAKLSAgICAyMjQsIDgsIDIzMiwgMjIyLCAxMDgsIDE2LCAzMSwgMjUxLCAxODMsIDEwOCwgMTYsIDMxLCAyNTEsIDE4MiwgMTA4LCAxNiwgCi0gICAgMzEsIDI1MSwgMTgxLCAxMDgsIDE2LCAzMSwgMjU0LCAxMzgsIDEwOCwgMTYsIDMxLCAyMjYsIDIxOCwgMTA4LCAxNiwgMzEsIAotICAgIDIxOCwgMjQ4LCAxMDgsIDE2LCAzMSwgMjE2LCA4MiwgMTA4LCAxNiwgMzEsIDI0MiwgOTYsIDEwOCwgMTYsIDMxLCAyMTIsIAotICAgIDI4LCAxMDgsIDE2LCAzMSwgMjI0LCAyMjYsIDEwOCwgMTYsIDMxLCAyNTEsIDE0LCAxMDgsIDE2LCAzMSwgMjE1LCA4NiwgCi0gICAgMTA4LCAxNiwgMzEsIDI1MCwgMjQ2LCAyMzAsIDEyMiwgMTA4LCAxNiwgMzEsIDIyMSwgMjAyLCA2NCwgMjM1LCA1NSwgMTA4LCAKLSAgICAxNiwgMzEsIDI1MSwgMjUsIDEwOCwgMTYsIDMxLCAyMTUsIDIxOSwgMTA4LCAxNiwgMzEsIDIxOCwgMTU0LCAyMTUsIDIxOSwgCi0gICAgMTA4LCAxNiwgMzEsIDIzMiwgMTQ4LCAxMDgsIDE2LCAzMSwgMjE5LCA1NiwgMTA4LCAxNiwgMzEsIDIxNCwgMTQyLCAxMDgsIAotICAgIDE2LCAzMSwgMjQwLCAyNDYsIDI0NiwgNjQsIDEwOCwgMTYsIDMxLCAyNTMsIDIyNywgMTA4LCAxNiwgMzEsIDIyNCwgMjM0LCAKLSAgICAyNTMsIDIyNywgMTA4LCAxNiwgMzEsIDI1MSwgMTQyLCAxMDgsIDE2LCAzMSwgMjI0LCAyMjUsIDI1MSwgMTQyLCAxMDgsIAotICAgIDE2LCAzMSwgMjU0LCAxMzUsIDEwOCwgMTYsIDMxLCAyMTgsIDExNywgMjE4LCAyNiwgMjE4LCAxMTYsIDEwOCwgMTYsIDMxLCAKLSAgICAyMTgsIDExNywgMjE4LCAyNiwgMjE4LCAxMTUsIDEwOCwgMTYsIDMxLCAyMTgsIDY4LCAxMDgsIDE2LCAzMSwgMjI0LCAyMDAsIAotICAgIDEwOCwgMTYsIDMxLCAyNDcsIDE4MSwgMTA4LCAxNiwgMzEsIDI0NywgMTgzLCAxMDgsIDE2LCAzMSwgMjQ3LCAxODIsIDEwOCwgCi0gICAgMTYsIDMxLCAyMjQsIDEzMSwgMTA4LCAxNiwgMzEsIDIyNCwgMTIwLCAxMDgsIDE2LCAzMSwgMjQ5LCAxMjIsIDEwOCwgMTYsIAotICAgIDMxLCAyNDksIDEyMSwgMTA4LCAxNiwgMzEsIDI0OSwgMTIwLCAxMDgsIDE2LCAzMSwgMjQ5LCAxMTksIDEwOCwgMTYsIDMxLCAKLSAgICAyNDksIDExOCwgMTA4LCAxNiwgMzEsIDI1NCwgMTY5LCAxMDgsIDE2LCAzMSwgMjUyLCAxMTksIDY0LCAyMzEsIDE0OSwgCi0gICAgMTA4LCAxNiwgMzEsIDI1MiwgMTE5LCA2NCwgMjE0LCAxNywgMTA4LCAxNiwgMzEsIDIyMywgNTcsIDEwOCwgMTYsIDMxLCAKLSAgICAyNDAsIDIzOCwgMTA4LCAxNiwgMzEsIDIyOCwgMjEyLCAxMDgsIDE2LCAzMSwgMjQ4LCAxNDUsIDEwOCwgMTYsIDMxLCAyMzAsIAotICAgIDEzNCwgMTA4LCAxNiwgMzEsIDE2MywgMjQ2LCA5NCwgMTA4LCAxNiwgMzEsIDE2MywgMjI2LCAxMzIsIDksIDE0LCAyNDAsIAotICAgIDEwMiwgOSwgMTQsIDI0MCwgMTAxLCA5LCAxNCwgMjQwLCAxMDAsIDksIDE0LCAyNDAsIDk5LCA5LCAxNCwgMjQwLCA5OCwgOSwgCi0gICAgMTQsIDI0MCwgOTcsIDksIDE0LCAyNDAsIDk2LCA5LCAxNCwgMjQwLCA5NSwgOSwgMTQsIDI0MCwgOTQsIDksIDE0LCAyNDAsIAotICAgIDkzLCA5LCAxNCwgMjQwLCA5MiwgOSwgMTQsIDI0MCwgOTEsIDksIDE0LCAyNDAsIDkwLCA5LCAxNCwgMjQwLCA4OSwgOSwgCi0gICAgMTQsIDI0MCwgODgsIDksIDE0LCAyNDAsIDg3LCA5LCAxNCwgMjQwLCA4NiwgOSwgMTQsIDI0MCwgODUsIDksIDE0LCAyNDAsIAotICAgIDg0LCA5LCAxNCwgMjQwLCA4MywgOSwgMTQsIDI0MCwgODIsIDksIDE0LCAyNDAsIDgxLCA5LCAxNCwgMjQwLCA4MCwgOSwgCi0gICAgMTQsIDI0MCwgNzksIDksIDE0LCAyNDAsIDc4LCA5LCAxNCwgMjQwLCA3NywgOSwgMTQsIDI0MCwgNzYsIDksIDE0LCAyNDAsIAotICAgIDc1LCA5LCAxNCwgMjQwLCA3NCwgOSwgMTQsIDI0MCwgNzMsIDksIDE0LCAyNDAsIDcyLCA5LCAxNCwgMjQwLCA3MSwgOSwgCi0gICAgMTQsIDI0MCwgNzAsIDksIDE0LCAyNDAsIDY5LCA5LCAxNCwgMjQwLCA2OCwgOSwgMTQsIDI0MCwgNjcsIDksIDE0LCAyNDAsIAotICAgIDY2LCA5LCAxNCwgMjQwLCA2NSwgOSwgMTQsIDI0MCwgNjQsIDksIDE0LCAyNDAsIDYzLCA5LCAxNCwgMjQwLCA2MiwgOSwgCi0gICAgMTQsIDI0MCwgNjEsIDksIDE0LCAyNDAsIDYwLCA5LCAxNCwgMjQwLCA1OSwgOSwgMTQsIDI0MCwgNTgsIDksIDE0LCAyNDAsIAotICAgIDU3LCA5LCAxNCwgMjQwLCA1NiwgOSwgMTQsIDI0MCwgNTUsIDksIDE0LCAyNDAsIDU0LCA5LCAxNCwgMjQwLCA1MywgOSwgCi0gICAgMTQsIDI0MCwgNTIsIDksIDE0LCAyNDAsIDUxLCA5LCAxNCwgMjQwLCA1MCwgOSwgMTQsIDI0MCwgNDksIDksIDE0LCAyNDAsIAotICAgIDQ4LCA5LCAxNCwgMjQwLCA0NywgOSwgMTQsIDI0MCwgNDYsIDksIDE0LCAyNDAsIDQ1LCA5LCAxNCwgMjQwLCA0NCwgOSwgCi0gICAgMTQsIDI0MCwgNDMsIDksIDE0LCAyNDAsIDQyLCA5LCAxNCwgMjQwLCA0MSwgOSwgMTQsIDI0MCwgNDAsIDksIDE0LCAyNDAsIAotICAgIDM5LCA5LCAxNCwgMjQwLCAzOCwgOSwgMTQsIDI0MCwgMzcsIDksIDE0LCAyNDAsIDM2LCA5LCAxNCwgMjQwLCAzNSwgOSwgCi0gICAgMTQsIDI0MCwgMzQsIDksIDE0LCAyNDAsIDMzLCA5LCAxNCwgMjQwLCAzMiwgOSwgMTQsIDI0MCwgMzEsIDksIDE0LCAyNDAsIAotICAgIDMwLCA5LCAxNCwgMjQwLCAyOSwgOSwgMTQsIDI0MCwgMjgsIDksIDE0LCAyNDAsIDI3LCA5LCAxNCwgMjQwLCAyNiwgOSwgCi0gICAgMTQsIDI0MCwgMjUsIDksIDE0LCAyNDAsIDI0LCA5LCAxNCwgMjQwLCAyMywgOSwgMTQsIDI0MCwgMjIsIDksIDE0LCAyNDAsIAotICAgIDIxLCA5LCAxNCwgMjQwLCAyMCwgOSwgMTQsIDI0MCwgMTksIDksIDE0LCAyNDAsIDE4LCA5LCAxNCwgMjQwLCAxNywgOSwgCi0gICAgMTQsIDI0MCwgMTYsIDksIDE0LCAyNDAsIDE1LCA5LCAxNCwgMjQwLCAxNCwgOSwgMTQsIDI0MCwgMTMsIDksIDE0LCAyNDAsIAotICAgIDEyLCA5LCAxNCwgMjQwLCAxMSwgOSwgMTQsIDI0MCwgMTAsIDksIDE0LCAyNDAsIDksIDksIDE0LCAyNDAsIDgsIDksIDE0LCAKLSAgICAyNDAsIDcsIDksIDE0LCAyNDAsIDYsIDksIDE0LCAyNDAsIDUsIDksIDE0LCAyNDAsIDQsIDksIDE0LCAyNDAsIDMsIDksIAotICAgIDE0LCAyNDAsIDIsIDksIDE0LCAyNDAsIDEsIDksIDE0LCAyNDAsIDAsIDksIDE0LCAyMzksIDI1NSwgOSwgMTQsIDIzOSwgCi0gICAgMjU0LCA5LCAxNCwgMjM5LCAyNTMsIDksIDE0LCAyMzksIDI1MiwgOSwgMTQsIDIzOSwgMjUxLCA5LCAxNCwgMjM5LCAyNTAsIAotICAgIDksIDE0LCAyMzksIDI0OSwgOSwgMTQsIDIzOSwgMjQ4LCA5LCAxNCwgMjM5LCAyNDcsIDksIDE0LCAyMzksIDI0NiwgOSwgCi0gICAgMTQsIDIzOSwgMjQ1LCA5LCAxNCwgMjM5LCAyNDQsIDksIDE0LCAyMzksIDI0MywgOSwgMTQsIDIzOSwgMjQyLCA5LCAxNCwgCi0gICAgMjM5LCAyNDEsIDksIDE0LCAyMzksIDI0MCwgOSwgMTQsIDIzOSwgMjM5LCA5LCAxNCwgMjM5LCAyMzgsIDksIDE0LCAyMzksIAotICAgIDIzNywgOSwgMTQsIDIzOSwgMjM2LCA5LCAxNCwgMjM5LCAyMzUsIDksIDE0LCAyMzksIDIzNCwgOSwgMTQsIDIzOSwgMjMzLCAKLSAgICA5LCAxNCwgMjM5LCAyMzIsIDksIDE0LCAyMzksIDIzMSwgOSwgMTQsIDIzOSwgMjMwLCA5LCAxNCwgMjM5LCAyMjksIDksIAotICAgIDE0LCAyMzksIDIyOCwgOSwgMTQsIDIzOSwgMjI3LCA5LCAxNCwgMjM5LCAyMjYsIDksIDE0LCAyMzksIDIyNSwgOSwgMTQsIAotICAgIDIzOSwgMjI0LCA5LCAxNCwgMjM5LCAyMjMsIDksIDE0LCAyMzksIDIyMiwgOSwgMTQsIDIzOSwgMjIxLCA5LCAxNCwgMjM5LCAKLSAgICAyMjAsIDksIDE0LCAyMzksIDIxOSwgOSwgMTQsIDIzOSwgMjE4LCA5LCAxNCwgMjM5LCAyMTcsIDksIDE0LCAyMzksIDIxNiwgCi0gICAgOSwgMTQsIDIzOSwgMjE1LCA5LCAxNCwgMjM5LCAyMTQsIDksIDE0LCAyMzksIDIxMywgOSwgMTQsIDIzOSwgMjEyLCA5LCAKLSAgICAxNCwgMjM5LCAyMTEsIDksIDE0LCAyMzksIDIxMCwgOSwgMTQsIDIzOSwgMjA5LCA5LCAxNCwgMjM5LCAyMDgsIDksIDE0LCAKLSAgICAyMzksIDIwNywgOSwgMTQsIDIzOSwgMjA2LCA5LCAxNCwgMjM5LCAyMDUsIDksIDE0LCAyMzksIDIwNCwgOSwgMTQsIDIzOSwgCi0gICAgMjAzLCA5LCAxNCwgMjM5LCAyMDIsIDksIDE0LCAyMzksIDIwMSwgOSwgMTQsIDIzOSwgMjAwLCA5LCAxNCwgMjM5LCAxOTksIAotICAgIDksIDE0LCAyMzksIDE5OCwgOSwgMTQsIDIzOSwgMTk3LCA5LCAxNCwgMjM5LCAxOTYsIDksIDE0LCAyMzksIDE5NSwgOSwgCi0gICAgMTQsIDIzOSwgMTk0LCA5LCAxNCwgMjM5LCAxOTMsIDksIDE0LCAyMzksIDE5MiwgOSwgMTQsIDIzOSwgMTkxLCA5LCAxNCwgCi0gICAgMjM5LCAxOTAsIDksIDE0LCAyMzksIDE4OSwgOSwgMTQsIDIzOSwgMTg4LCA5LCAxNCwgMjM5LCAxODcsIDksIDE0LCAyMzksIAotICAgIDE4NiwgOSwgMTQsIDIzOSwgMTg1LCA5LCAxNCwgMjM5LCAxODQsIDksIDE0LCAyMzksIDE4MywgOSwgMTQsIDIzOSwgMTgyLCAKLSAgICA5LCAxNCwgMjM5LCAxODEsIDksIDE0LCAyMzksIDE4MCwgOSwgMTQsIDIzOSwgMTc5LCA5LCAxNCwgMjM5LCAxNzgsIDksIAotICAgIDE0LCAyMzksIDE3NywgOSwgMTQsIDIzOSwgMTc2LCA5LCAxNCwgMjM5LCAxNzUsIDksIDE0LCAyMzksIDE3NCwgOSwgMTQsIAotICAgIDIzOSwgMTczLCA5LCAxNCwgMjM5LCAxNzIsIDksIDE0LCAyMzksIDE3MSwgOSwgMTQsIDIzOSwgMTcwLCA5LCAxNCwgMjM5LCAKLSAgICAxNjksIDksIDE0LCAyMzksIDE2OCwgOSwgMTQsIDIzOSwgMTY3LCA5LCAxNCwgMjM5LCAxNjYsIDksIDE0LCAyMzksIDE2NSwgCi0gICAgOSwgMTQsIDIzOSwgMTY0LCA5LCAxNCwgMjM5LCAxNjMsIDksIDE0LCAyMzksIDE2MiwgOSwgMTQsIDIzOSwgMTYxLCA5LCAKLSAgICAxNCwgMjM5LCAxNjAsIDksIDE0LCAyMzksIDE1OSwgOSwgMTQsIDIzOSwgMTU4LCA5LCAxNCwgMjM5LCAxNTcsIDksIDE0LCAKLSAgICAyMzksIDE1NiwgOSwgMTQsIDIzOSwgMTU1LCA5LCAxNCwgMjM5LCAxNTQsIDksIDE0LCAyMzksIDE1MywgOSwgMTQsIDIzOSwgCi0gICAgMTUyLCA5LCAxNCwgMjM5LCAxNTEsIDksIDE0LCAyMzksIDE1MCwgOSwgMTQsIDIzOSwgMTQ5LCA5LCAxNCwgMjM5LCAxNDgsIAotICAgIDksIDE0LCAyMzksIDE0NywgOSwgMTQsIDIzOSwgMTQ2LCA5LCAxNCwgMjM5LCAxNDUsIDksIDE0LCAyMzksIDE0NCwgOSwgCi0gICAgMTQsIDIzOSwgMTQzLCA5LCAxNCwgMjM5LCAxNDIsIDksIDE0LCAyMzksIDE0MSwgOSwgMTQsIDIzOSwgMTQwLCA5LCAxNCwgCi0gICAgMjM5LCAxMzksIDksIDE0LCAyMzksIDEzOCwgOSwgMTQsIDIzOSwgMTM3LCA5LCAxNCwgMjM5LCAxMzYsIDksIDE0LCAyMzksIAotICAgIDEzNSwgOSwgMTQsIDIzOSwgMTM0LCA5LCAxNCwgMjM5LCAxMzMsIDksIDE0LCAyMzksIDEzMiwgOSwgMTQsIDIzOSwgMTMxLCAKLSAgICA5LCAxNCwgMjM5LCAxMzAsIDksIDE0LCAyMzksIDEyOSwgOSwgMTQsIDIzOSwgMTI4LCA5LCAxNCwgMjM5LCAxMjcsIDksIAotICAgIDE0LCAyMzksIDEyNiwgOSwgMTQsIDIzOSwgMTI1LCA5LCAxNCwgMjM5LCAxMjQsIDksIDE0LCAyMzksIDEyMywgOSwgMTQsIAotICAgIDIzOSwgMTIyLCA5LCAxNCwgMjM5LCAxMjEsIDksIDE0LCAyMzksIDEyMCwgOSwgMTQsIDIzOSwgMTE5LCA5LCAxNCwgMjM5LCAKLSAgICAxMTgsIDksIDE0LCAyMzksIDExNywgOSwgMTQsIDIzOSwgMTE2LCA5LCAxNCwgMjM5LCAxMTUsIDksIDE0LCAyMzksIDExNCwgCi0gICAgOSwgMTQsIDIzOSwgMTEzLCA5LCAxNCwgMjM5LCAxMTIsIDksIDE0LCAyMzksIDExMSwgOSwgMTQsIDIzOSwgMTEwLCA5LCAKLSAgICAxNCwgMjM5LCAxMDksIDksIDE0LCAyMzksIDEwOCwgOSwgMTQsIDIzOSwgMTA3LCA5LCAxNCwgMjM5LCAxMDYsIDksIDE0LCAKLSAgICAyMzksIDEwNSwgOSwgMTQsIDIzOSwgMTA0LCA5LCAxNCwgMjM5LCAxMDMsIDksIDE0LCAyMzksIDEwMiwgOSwgMTQsIDIzOSwgCi0gICAgMTAxLCA5LCAxNCwgMjM5LCAxMDAsIDksIDE0LCAyMzksIDk5LCA5LCAxNCwgMjM5LCA5OCwgOSwgMTQsIDIzOSwgOTcsIDksIAotICAgIDE0LCAyMzksIDk2LCA5LCAxNCwgMjM5LCA5NSwgOSwgMTQsIDIzOSwgOTQsIDksIDE0LCAyMzksIDkzLCA5LCAxNCwgMjM5LCAKLSAgICA5MiwgOSwgMTQsIDIzOSwgOTEsIDksIDE0LCAyMzksIDkwLCA5LCAxNCwgMjM5LCA4OSwgOSwgMTQsIDIzOSwgODgsIDksIAotICAgIDE0LCAyMzksIDg3LCA5LCAxNCwgMjM5LCA4NiwgOSwgMTQsIDIzOSwgODUsIDksIDE0LCAyMzksIDg0LCA5LCAxNCwgMjM5LCAKLSAgICA4MywgOSwgMTQsIDIzOSwgODIsIDksIDE0LCAyMzksIDgxLCA5LCAxNCwgMjM5LCA4MCwgOSwgMTQsIDIzOSwgNzksIDksIAotICAgIDE0LCAyMzksIDc4LCA5LCAxNCwgMjM5LCA3NywgOSwgMTQsIDIzOSwgNzYsIDksIDE0LCAyMzksIDc1LCA5LCAxNCwgMjM5LCAKLSAgICA3NCwgOSwgMTQsIDIzOSwgNzMsIDksIDE0LCAyMzksIDcyLCA5LCAxNCwgMjM5LCA3MSwgOSwgMTQsIDIzOSwgNzAsIDksIAotICAgIDE0LCAyMzksIDY5LCA5LCAxNCwgMjM5LCA2OCwgOSwgMTQsIDIzOSwgNjcsIDksIDE0LCAyMzksIDY2LCA5LCAxNCwgMjM5LCAKLSAgICA2NSwgOSwgMTQsIDIzOSwgNjQsIDksIDE0LCAyMzksIDYzLCA5LCAxNCwgMjM5LCA2MiwgOSwgMTQsIDIzOSwgNjEsIDksIAotICAgIDE0LCAyMzksIDYwLCA5LCAxNCwgMjM5LCA1OSwgOSwgMTQsIDIzOSwgNTgsIDksIDE0LCAyMzksIDU3LCA5LCAxNCwgMjM5LCAKLSAgICA1NiwgOSwgMTQsIDIzOSwgNTUsIDksIDE0LCAyMzksIDU0LCA5LCAxNCwgMjM5LCA1MywgOSwgMTQsIDIzOSwgNTIsIDksIAotICAgIDE0LCAyMzksIDUxLCA5LCAxNCwgMjM5LCA1MCwgOSwgMTQsIDIzOSwgNDksIDksIDE0LCAyMzksIDQ4LCA5LCAxNCwgMjM5LCAKLSAgICA0NywgOSwgMTQsIDIzOSwgNDYsIDksIDE0LCAyMzksIDQ1LCA5LCAxNCwgMjM5LCA0NCwgOSwgMTQsIDIzOSwgNDMsIDksIAotICAgIDE0LCAyMzksIDQyLCA5LCAxNCwgMjM5LCA0MSwgOSwgMTQsIDIzOSwgNDAsIDksIDE0LCAyMzksIDM5LCA5LCAxNCwgMjM5LCAKLSAgICAzOCwgOSwgMTQsIDIzOSwgMzcsIDksIDE0LCAyMzksIDM2LCA5LCAxNCwgMjM5LCAzNSwgOSwgMTQsIDIzOSwgMzQsIDksIAotICAgIDE0LCAyMzksIDMzLCA5LCAxNCwgMjM5LCAzMiwgOSwgMTQsIDIzOSwgMzEsIDksIDE0LCAyMzksIDMwLCA5LCAxNCwgMjM5LCAKLSAgICAyOSwgOSwgMTQsIDIzOSwgMjgsIDksIDE0LCAyMzksIDI3LCA5LCAxNCwgMjM5LCAyNiwgOSwgMTQsIDIzOSwgMjUsIDksIAotICAgIDE0LCAyMzksIDI0LCA5LCAxNCwgMjM5LCAyMywgOSwgMTQsIDIzOSwgMjIsIDksIDE0LCAyMzksIDIxLCA5LCAxNCwgMjM5LCAKLSAgICAyMCwgOSwgMTQsIDIzOSwgMTksIDksIDE0LCAyMzksIDE4LCA5LCAxNCwgMjM5LCAxNywgOSwgMTQsIDIzOSwgMTYsIDksIAotICAgIDE0LCAyMzksIDE1LCA5LCAxNCwgMjM5LCAxNCwgOSwgMTQsIDIzOSwgMTMsIDksIDE0LCAyMzksIDEyLCA5LCAxNCwgMjM5LCAKLSAgICAxMSwgOSwgMTQsIDIzOSwgMTAsIDksIDE0LCAyMzksIDksIDksIDE0LCAyMzksIDgsIDksIDE0LCAyMzksIDcsIDksIDE0LCAKLSAgICAyMzksIDYsIDksIDE0LCAyMzksIDUsIDksIDE0LCAyMzksIDQsIDksIDE0LCAyMzksIDMsIDksIDE0LCAyMzksIDIsIDksIAotICAgIDE0LCAyMzksIDEsIDksIDE0LCAyMzksIDAsIDksIDE0LCAyMzgsIDI1NSwgOSwgMTQsIDIzOCwgMjU0LCA5LCAxNCwgMjM4LCAKLSAgICAyNTMsIDksIDE0LCAyMzgsIDI1MiwgOSwgMTQsIDIzOCwgMjUxLCA5LCAxNCwgMjM4LCAyNTAsIDksIDE0LCAyMzgsIDI0OSwgCi0gICAgOSwgMTQsIDIzOCwgMjQ4LCA5LCAxNCwgMjM4LCAyNDcsIDksIDE0LCAyMzgsIDI0NiwgOSwgMTQsIDIzOCwgMjQ1LCA5LCAKLSAgICAxNCwgMjM4LCAyNDQsIDksIDE0LCAyMzgsIDI0MywgOSwgMTQsIDIzOCwgMjQyLCA5LCAxNCwgMjM4LCAyNDEsIDksIDE0LCAKLSAgICAyMzgsIDI0MCwgOSwgMTQsIDIzOCwgMjM5LCA5LCAxNCwgMjM4LCAyMzgsIDksIDE0LCAyMzgsIDIzNywgOSwgMTQsIDIzOCwgCi0gICAgMjM2LCA5LCAxNCwgMjM4LCAyMzUsIDksIDE0LCAyMzgsIDIzNCwgOSwgMTQsIDIzOCwgMjMzLCA5LCAxNCwgMjM4LCAyMzIsIAotICAgIDksIDE0LCAyMzgsIDIzMSwgOSwgMTQsIDIzOCwgMjMwLCA5LCAxNCwgMjM4LCAyMjksIDksIDE0LCAyMzgsIDIyOCwgOSwgCi0gICAgMTQsIDIzOCwgMjI3LCA5LCAxNCwgMjM4LCAyMjYsIDksIDE0LCAyMzgsIDIyNSwgOSwgMTQsIDIzOCwgMjI0LCA5LCAxNCwgCi0gICAgMjM4LCAyMjMsIDksIDE0LCAyMzgsIDIyMiwgOSwgMTQsIDIzOCwgMjIxLCA5LCAxNCwgMjM4LCAyMjAsIDksIDE0LCAyMzgsIAotICAgIDIxOSwgOSwgMTQsIDIzOCwgMjE4LCA5LCAxNCwgMjM4LCAyMTcsIDksIDE0LCAyMzgsIDIxNiwgOSwgMTQsIDIzOCwgMjE1LCAKLSAgICA5LCAxNCwgMjM4LCAyMTQsIDksIDE0LCAyMzgsIDIxMywgOSwgMTQsIDIzOCwgMjEyLCA5LCAxNCwgMjM4LCAyMTEsIDksIAotICAgIDE0LCAyMzgsIDIxMCwgOSwgMTQsIDIzOCwgMjA5LCA5LCAxNCwgMjM4LCAyMDgsIDksIDE0LCAyMzgsIDIwNywgOSwgMTQsIAotICAgIDIzOCwgMjA2LCA5LCAxNCwgMjM4LCAyMDUsIDksIDE0LCAyMzgsIDIwNCwgOSwgMTQsIDIzOCwgMjAzLCA5LCAxNCwgMjM4LCAKLSAgICAyMDIsIDksIDE0LCAyMzgsIDIwMSwgOSwgMTQsIDIzOCwgMjAwLCA5LCAxNCwgMjM4LCAxOTksIDksIDE0LCAyMzgsIDE5OCwgCi0gICAgOSwgMTQsIDIzOCwgMTk3LCA5LCAxNCwgMjM4LCAxOTYsIDksIDE0LCAyMzgsIDE5NSwgOSwgMTQsIDIzOCwgMTk0LCA5LCAKLSAgICAxNCwgMjM4LCAxOTMsIDksIDE0LCAyMzgsIDE5MiwgOSwgMTQsIDIzOCwgMTkxLCA5LCAxNCwgMjM4LCAxOTAsIDksIDE0LCAKLSAgICAyMzgsIDE4OSwgOSwgMTQsIDIzOCwgMTg4LCA5LCAxNCwgMjM4LCAxODcsIDksIDE0LCAyMzgsIDE4NiwgOSwgMTQsIDIzOCwgCi0gICAgMTg1LCA5LCAxNCwgMjM4LCAxODQsIDksIDE0LCAyMzgsIDE4MywgOSwgMTQsIDIzOCwgMTgyLCA5LCAxNCwgMjM4LCAxODEsIAotICAgIDksIDE0LCAyMzgsIDE4MCwgOSwgMTQsIDIzOCwgMTc5LCA5LCAxNCwgMjM4LCAxNzgsIDksIDE0LCAyMzgsIDE3NywgOSwgCi0gICAgMTQsIDIzOCwgMTc2LCA5LCAxNCwgMjM4LCAxNzUsIDksIDE0LCAyMzgsIDE3NCwgOSwgMTQsIDIzOCwgMTczLCA5LCAxNCwgCi0gICAgMjM4LCAxNzIsIDksIDE0LCAyMzgsIDE3MSwgOSwgMTQsIDIzOCwgMTcwLCA5LCAxNCwgMjM4LCAxNjksIDksIDE0LCAyMzgsIAotICAgIDE2OCwgOSwgMTQsIDIzOCwgMTY3LCA5LCAxNCwgMjM4LCAxNjYsIDksIDE0LCAyMzgsIDE2NSwgOSwgMTQsIDIzOCwgMTY0LCAKLSAgICA5LCAxNCwgMjM4LCAxNjMsIDksIDE0LCAyMzgsIDE2MiwgOSwgMTQsIDIzOCwgMTYxLCA5LCAxNCwgMjM4LCAxNjAsIDksIAotICAgIDE0LCAyMzgsIDE1OSwgOSwgMTQsIDIzOCwgMTU4LCA5LCAxNCwgMjM4LCAxNTcsIDksIDE0LCAyMzgsIDE1NiwgOSwgMTQsIAotICAgIDIzOCwgMTU1LCA5LCAxNCwgMjM4LCAxNTQsIDksIDE0LCAyMzgsIDE1MywgOSwgMTQsIDIzOCwgMTUyLCA5LCAxNCwgMjM4LCAKLSAgICAxNTEsIDksIDE0LCAyMzgsIDE1MCwgOSwgMTQsIDIzOCwgMTQ5LCA5LCAxNCwgMjM4LCAxNDgsIDksIDE0LCAyMzgsIDE0NywgCi0gICAgOSwgMTQsIDIzOCwgMTQ2LCA5LCAxNCwgMjM4LCAxNDUsIDksIDE0LCAyMzgsIDE0NCwgOSwgMTQsIDIzOCwgMTQzLCA5LCAKLSAgICAxNCwgMjM4LCAxNDIsIDksIDE0LCAyMzgsIDE0MSwgOSwgMTQsIDIzOCwgMTQwLCA5LCAxNCwgMjM4LCAxMzksIDksIDE0LCAKLSAgICAyMzgsIDEzOCwgOSwgMTQsIDIzOCwgMTM3LCA5LCAxNCwgMjM4LCAxMzYsIDksIDE0LCAyMzgsIDEzNSwgOSwgMTQsIDIzOCwgCi0gICAgMTM0LCA5LCAxNCwgMjM4LCAxMzMsIDksIDE0LCAyMzgsIDEzMiwgOSwgMTQsIDIzOCwgMTMxLCA5LCAxNCwgMjM4LCAxMzAsIAotICAgIDksIDE0LCAyMzgsIDEyOSwgOSwgMTQsIDIzOCwgMTI4LCA5LCAxNCwgMjM4LCAxMjcsIDksIDE0LCAyMzgsIDEyNiwgOSwgCi0gICAgMTQsIDIzOCwgMTI1LCA5LCAxNCwgMjM4LCAxMjQsIDksIDE0LCAyMzgsIDEyMywgOSwgMTQsIDIzOCwgMTIyLCA5LCAxNCwgCi0gICAgMjM4LCAxMjEsIDksIDE0LCAyMzgsIDEyMCwgOSwgMTQsIDIzOCwgMTE5LCA5LCAxNCwgMjM4LCAxMTgsIDksIDE0LCAyMzgsIAotICAgIDExNywgOSwgMTQsIDIzOCwgMTE2LCA5LCAxNCwgMjM4LCAxMTUsIDksIDE0LCAyMzgsIDExNCwgOSwgMTQsIDIzOCwgMTEzLCAKLSAgICA5LCAxNCwgMjM4LCAxMTIsIDksIDE0LCAyMzgsIDExMSwgOSwgMTQsIDIzOCwgMTEwLCA5LCAxNCwgMjM4LCAxMDksIDksIAotICAgIDE0LCAyMzgsIDEwOCwgOSwgMTQsIDIzOCwgMTA3LCA5LCAxNCwgMjM4LCAxMDYsIDksIDE0LCAyMzgsIDEwNSwgOSwgMTQsIAotICAgIDIzOCwgMTA0LCA5LCAxNCwgMjM4LCAxMDMsIDksIDE0LCAyMzgsIDEwMiwgOSwgMTQsIDIzOCwgMTAxLCA5LCAxNCwgMjM4LCAKLSAgICAxMDAsIDksIDE0LCAyMzgsIDk5LCA5LCAxNCwgMjM4LCA5OCwgOSwgMTQsIDIzOCwgOTcsIDksIDE0LCAyMzgsIDk2LCA5LCAKLSAgICAxNCwgMjM4LCA5NSwgOSwgMTQsIDIzOCwgOTQsIDksIDE0LCAyMzgsIDkzLCA5LCAxNCwgMjM4LCA5MiwgOSwgMTQsIDIzOCwgCi0gICAgOTEsIDksIDE0LCAyMzgsIDkwLCA5LCAxNCwgMjM4LCA4OSwgOSwgMTQsIDIzOCwgODgsIDksIDE0LCAyMzgsIDg3LCA5LCAKLSAgICAxNCwgMjM4LCA4NiwgOSwgMTQsIDIzOCwgODUsIDksIDE0LCAyMzgsIDg0LCA5LCAxNCwgMjM4LCA4MywgOSwgMTQsIDIzOCwgCi0gICAgODIsIDksIDE0LCAyMzgsIDgxLCA5LCAxNCwgMjM4LCA4MCwgOSwgMTQsIDIzOCwgNzksIDksIDE0LCAyMzgsIDc4LCA5LCAKLSAgICAxNCwgMjM4LCA3NywgOSwgMTQsIDIzOCwgNzYsIDksIDE0LCAyMzgsIDc1LCA5LCAxNCwgMjM4LCA3NCwgOSwgMTQsIDIzOCwgCi0gICAgNzMsIDIzMywgOTAsIDIxNywgODQsIDEyOSwgMjE5LCAxOCwgMTI5LCAyNDUsIDMxLCA3OCwgMTI5LCAyMjMsIDI1NCwgNzgsIAotICAgIDEyOSwgNTQsIDUwLCAxMjksIDI0NywgMTMyLCA1MCwgMTI5LCAyMjUsIDE4MiwgNTAsIDEyOSwgMjU0LCAxMjYsIDEyOSwgCi0gICAgMjU0LCA1NywgMTI5LCA0MywgMjI2LCAzLCAxMjksIDQ0LCAyMjYsIDMsIDEyOSwgMjUzLCAyMTYsIDEyOSwgOTYsIDUwLCAKLSAgICAxMjksIDI0OSwgMjE5LCAxMjksIDI0MCwgMTY3LCAxMjksIDI0MywgMjI5LCAyMTgsIDEyOSwgMTI5LCAyMTksIDQ2LCAxMjksIAotICAgIDIxLCAyMTAsIDg2LCAxMjksIDIxLCAxMTAsIDEyOSwgMjEsIDEwNSwgMTI5LCAyMSwgMTU4LCAxMjksIDIxLCAxNjEsIDEyOSwgCi0gICAgMjEsIDE4OSwgMTI5LCAyMSwgMTk0LCAxMjksIDIxLCAxOTgsIDEyOSwgMjEsIDE5NSwgMTI5LCAyMSwgMjAwLCAxMjksIAotICAgIDI0OSwgMjI2LCAxMjksIDIyMCwgMTUwLCAxMjksIDIzMywgMTUsIDUwLCAxMjksIDI0NSwgOTgsIDUwLCAxMjksIDI0MiwgCi0gICAgMTMwLCA1MCwgMTI5LCAyMjQsIDEzLCA3OCwgMTI5LCAyNDksIDIxNywgMjUzLCAyMDYsIDEyOSwgNywgNiwgMSwgNjEsIAotICAgIDEyOSwgNywgNiwgMSwgMjUzLCAxNTgsIDEyOSwgNywgNiwgMSwgMjUxLCA2NiwgMTI5LCA3LCA2LCAxLCAyNDksIDYwLCAKLSAgICAxMjksIDcsIDYsIDEsIDc1LCAxMjksIDcsIDYsIDEsIDI0NSwgNiwgMTI5LCA3LCA2LCAxLCAyNDMsIDIwMiwgMTI5LCA3LCAKLSAgICA2LCAxLCAyNDIsIDYwLCAxMjksIDcsIDYsIDEsIDczLCAxMjksIDcsIDYsIDEsIDIzNSwgMTQ0LCAxMjksIDcsIDYsIDEsIAotICAgIDIzNSwgMjMsIDEyOSwgNywgNiwgMSwgMTU2LCAxMjksIDcsIDYsIDEsIDE5MywgMTI5LCA3LCA2LCAxLCAyMzAsIDI1LCAKLSAgICAxMjksIDcsIDYsIDEsIDc2LCAxMjksIDcsIDYsIDEsIDIyNiwgMTA1LCAxMjksIDcsIDYsIDEsIDIyNCwgOTYsIDEyOSwgNywgCi0gICAgNiwgMSwgMTUzLCAxMjksIDcsIDYsIDEsIDIyMiwgOTEsIDEyOSwgNywgNiwgMSwgMjE3LCAxNTIsIDEyOSwgNywgNiwgMSwgCisgICAgNDUsIDEwOCwgMTYsIDMxLCAyMjUsIDEyNiwgMjE4LCA0NSwgMTA4LCAxNiwgMzEsIDg1LCAyMTgsIDQ1LCAxMDgsIDE2LCAKKyAgICAzMSwgMjMxLCA1NiwgMjE4LCA3MiwgMTA4LCAxNiwgMzEsIDIzMSwgNTYsIDIxOCwgNzEsIDEwOCwgMTYsIDMxLCAyMzEsIAorICAgIDU2LCAyMTgsIDcwLCAxMDgsIDE2LCAzMSwgMjUwLCAzOSwgMTA4LCAxNiwgMzEsIDIyMiwgMiwgMTA4LCAxNiwgMzEsIDIyOCwgCisgICAgMTg5LCAxMDgsIDE2LCAzMSwgMjEzLCAxNDEsIDEwOCwgMTYsIDMxLCAyMTMsIDE0MCwgMTA4LCAxNiwgMzEsIDIyMiwgMjA1LCAKKyAgICAyMjIsIDIsIDEwOCwgMTYsIDMxLCAyMjIsIDIwNSwgMjIyLCAxLCAxMDgsIDE2LCAzMSwgMjQyLCAxNjcsIDEwOCwgMTYsIAorICAgIDMxLCAyMTksIDE2NywgMTA4LCAxNiwgMzEsIDIzNSwgMTc4LCAyMjYsIDE1NCwgMTA4LCAxNiwgMzEsIDIzNSwgMTc4LCAKKyAgICAyMjYsIDE1MywgMTA4LCAxNiwgMzEsIDI0OSwgMTM1LCA2NCwgMjM1LCAxNzcsIDEwOCwgMTYsIDMxLCAyMjMsIDEwMiwgNjQsIAorICAgIDIzNSwgMTc3LCAxMDgsIDE2LCAzMSwgMjQ5LCAxNjksIDIyNiwgMTU0LCAxMDgsIDE2LCAzMSwgMjM1LCAxNzYsIDIyNiwgCisgICAgMTU0LCAxMDgsIDE2LCAzMSwgMjE4LCA3MywgNjQsIDI0OSwgMTY4LCAxMDgsIDE2LCAzMSwgMjQ5LCAxMzUsIDY0LCAyNDksIAorICAgIDE2OCwgMTA4LCAxNiwgMzEsIDI0OSwgMTM1LCA2NCwgMjQ5LCAxNjcsIDEwOCwgMTYsIDMxLCAyNDksIDE2OSwgMjU0LCA4NCwgCisgICAgMTA4LCAxNiwgMzEsIDIyMiwgMywgNjQsIDI0OSwgMTY5LCAyNTQsIDg0LCAxMDgsIDE2LCAzMSwgMjE4LCA3MywgNjQsIAorICAgIDIyMiwgMywgNjQsIDI0OSwgMTY4LCAxMDgsIDE2LCAzMSwgMjEzLCAyNDMsIDEwOCwgMTYsIDMxLCAyMTYsIDg1LCAyMjYsIAorICAgIDE1NCwgMTA4LCAxNiwgMzEsIDIzMywgNTgsIDIyNiwgMTU0LCAxMDgsIDE2LCAzMSwgMjU0LCA4MywgMjI2LCAxNTQsIDEwOCwgCisgICAgMTYsIDMxLCAyMTgsIDczLCA2NCwgMjU0LCA4MiwgMTA4LCAxNiwgMzEsIDIyMiwgMywgNjQsIDI1NCwgODIsIDEwOCwgMTYsIAorICAgIDMxLCAyMTgsIDczLCA2NCwgMjIyLCAzLCA2NCwgMjU0LCA4MiwgMTA4LCAxNiwgMzEsIDIxMywgMTU4LCA2NCwgMjU0LCA4MiwgCisgICAgMTA4LCAxNiwgMzEsIDIyMywgMTAyLCA2NCwgMjU0LCA4MiwgMTA4LCAxNiwgMzEsIDIyMywgMTAyLCA2NCwgMjU0LCA4MSwgCisgICAgMTA4LCAxNiwgMzEsIDIyMywgMTAxLCAxMDgsIDE2LCAzMSwgMjIzLCAxMDAsIDEwOCwgMTYsIDMxLCAyMjMsIDk5LCAxMDgsIAorICAgIDE2LCAzMSwgMjIzLCA5OCwgMTA4LCAxNiwgMzEsIDI1NCwgMTU4LCAxMDgsIDE2LCAzMSwgMjU0LCAxNTcsIDEwOCwgMTYsIAorICAgIDMxLCAyMzEsIDE2NCwgMTA4LCAxNiwgMzEsIDIyMiwgOCwgMTA4LCAxNiwgMzEsIDI1MywgMjQ3LCAxMDgsIDE2LCAzMSwgCisgICAgMjIzLCAxMjYsIDEwOCwgMTYsIDMxLCAyMjMsIDEyNSwgMTA4LCAxNiwgMzEsIDI1MywgMTg0LCAxMDgsIDE2LCAzMSwgMjUxLCAKKyAgICAyMzAsIDIyNiwgMTU0LCAxMDgsIDE2LCAzMSwgMjE3LCA1MCwgMTA4LCAxNiwgMzEsIDIxNywgNDksIDEwOCwgMTYsIDMxLCAKKyAgICAyMjQsIDksIDIzMiwgMjIzLCAxMDgsIDE2LCAzMSwgMjUxLCAxODQsIDEwOCwgMTYsIDMxLCAyNTEsIDE4MywgMTA4LCAxNiwgCisgICAgMzEsIDI1MSwgMTgyLCAxMDgsIDE2LCAzMSwgMjU0LCAxMzksIDEwOCwgMTYsIDMxLCAyMjYsIDIxOSwgMTA4LCAxNiwgMzEsIAorICAgIDIxOCwgMjQ5LCAxMDgsIDE2LCAzMSwgMjE2LCA4MywgMTA4LCAxNiwgMzEsIDI0MiwgOTcsIDEwOCwgMTYsIDMxLCAyMTIsIAorICAgIDI4LCAxMDgsIDE2LCAzMSwgMjI0LCAyMjcsIDEwOCwgMTYsIDMxLCAyNTEsIDE1LCAxMDgsIDE2LCAzMSwgMjE1LCA4NiwgCisgICAgMTA4LCAxNiwgMzEsIDI1MCwgMjQ3LCAyMzAsIDEyMywgMTA4LCAxNiwgMzEsIDIyMSwgMjAzLCA2NCwgMjM1LCA1NiwgMTA4LCAKKyAgICAxNiwgMzEsIDI1MSwgMjYsIDEwOCwgMTYsIDMxLCAyMTUsIDIyMCwgMTA4LCAxNiwgMzEsIDIxOCwgMTU1LCAyMTUsIDIyMCwgCisgICAgMTA4LCAxNiwgMzEsIDIzMiwgMTQ5LCAxMDgsIDE2LCAzMSwgMjE5LCA1NywgMTA4LCAxNiwgMzEsIDIxNCwgMTQyLCAxMDgsIAorICAgIDE2LCAzMSwgMjQwLCAyNDcsIDI0NiwgNjUsIDEwOCwgMTYsIDMxLCAyNTMsIDIyOCwgMTA4LCAxNiwgMzEsIDIyNCwgMjM1LCAKKyAgICAyNTMsIDIyOCwgMTA4LCAxNiwgMzEsIDI1MSwgMTQzLCAxMDgsIDE2LCAzMSwgMjI0LCAyMjYsIDI1MSwgMTQzLCAxMDgsIAorICAgIDE2LCAzMSwgMjU0LCAxMzYsIDEwOCwgMTYsIDMxLCAyMTgsIDExOCwgMjE4LCAyNywgMjE4LCAxMTcsIDEwOCwgMTYsIDMxLCAKKyAgICAyMTgsIDExOCwgMjE4LCAyNywgMjE4LCAxMTYsIDEwOCwgMTYsIDMxLCAyMTgsIDY5LCAxMDgsIDE2LCAzMSwgMjI0LCAyMDEsIAorICAgIDEwOCwgMTYsIDMxLCAyNDcsIDE4MiwgMTA4LCAxNiwgMzEsIDI0NywgMTg0LCAxMDgsIDE2LCAzMSwgMjQ3LCAxODMsIDEwOCwgCisgICAgMTYsIDMxLCAyMjQsIDEzMiwgMTA4LCAxNiwgMzEsIDIyNCwgMTIxLCAxMDgsIDE2LCAzMSwgMjQ5LCAxMjMsIDEwOCwgMTYsIAorICAgIDMxLCAyNDksIDEyMiwgMTA4LCAxNiwgMzEsIDI0OSwgMTIxLCAxMDgsIDE2LCAzMSwgMjQ5LCAxMjAsIDEwOCwgMTYsIDMxLCAKKyAgICAyNDksIDExOSwgMTA4LCAxNiwgMzEsIDI1NCwgMTcwLCAxMDgsIDE2LCAzMSwgMjUyLCAxMjAsIDY0LCAyMzEsIDE1MCwgCisgICAgMTA4LCAxNiwgMzEsIDI1MiwgMTIwLCA2NCwgMjE0LCAxNywgMTA4LCAxNiwgMzEsIDIyMywgNTgsIDEwOCwgMTYsIDMxLCAKKyAgICAyNDAsIDIzOSwgMTA4LCAxNiwgMzEsIDIyOCwgMjEzLCAxMDgsIDE2LCAzMSwgMjQ4LCAxNDYsIDEwOCwgMTYsIDMxLCAyMzAsIAorICAgIDEzNSwgMTA4LCAxNiwgMzEsIDE2MywgMjQ2LCA5NSwgMTA4LCAxNiwgMzEsIDE2MywgMjI2LCAxMzMsIDksIDE0LCAyNDAsIAorICAgIDEwMywgOSwgMTQsIDI0MCwgMTAyLCA5LCAxNCwgMjQwLCAxMDEsIDksIDE0LCAyNDAsIDEwMCwgOSwgMTQsIDI0MCwgOTksIAorICAgIDksIDE0LCAyNDAsIDk4LCA5LCAxNCwgMjQwLCA5NywgOSwgMTQsIDI0MCwgOTYsIDksIDE0LCAyNDAsIDk1LCA5LCAxNCwgCisgICAgMjQwLCA5NCwgOSwgMTQsIDI0MCwgOTMsIDksIDE0LCAyNDAsIDkyLCA5LCAxNCwgMjQwLCA5MSwgOSwgMTQsIDI0MCwgOTAsIAorICAgIDksIDE0LCAyNDAsIDg5LCA5LCAxNCwgMjQwLCA4OCwgOSwgMTQsIDI0MCwgODcsIDksIDE0LCAyNDAsIDg2LCA5LCAxNCwgCisgICAgMjQwLCA4NSwgOSwgMTQsIDI0MCwgODQsIDksIDE0LCAyNDAsIDgzLCA5LCAxNCwgMjQwLCA4MiwgOSwgMTQsIDI0MCwgODEsIAorICAgIDksIDE0LCAyNDAsIDgwLCA5LCAxNCwgMjQwLCA3OSwgOSwgMTQsIDI0MCwgNzgsIDksIDE0LCAyNDAsIDc3LCA5LCAxNCwgCisgICAgMjQwLCA3NiwgOSwgMTQsIDI0MCwgNzUsIDksIDE0LCAyNDAsIDc0LCA5LCAxNCwgMjQwLCA3MywgOSwgMTQsIDI0MCwgNzIsIAorICAgIDksIDE0LCAyNDAsIDcxLCA5LCAxNCwgMjQwLCA3MCwgOSwgMTQsIDI0MCwgNjksIDksIDE0LCAyNDAsIDY4LCA5LCAxNCwgCisgICAgMjQwLCA2NywgOSwgMTQsIDI0MCwgNjYsIDksIDE0LCAyNDAsIDY1LCA5LCAxNCwgMjQwLCA2NCwgOSwgMTQsIDI0MCwgNjMsIAorICAgIDksIDE0LCAyNDAsIDYyLCA5LCAxNCwgMjQwLCA2MSwgOSwgMTQsIDI0MCwgNjAsIDksIDE0LCAyNDAsIDU5LCA5LCAxNCwgCisgICAgMjQwLCA1OCwgOSwgMTQsIDI0MCwgNTcsIDksIDE0LCAyNDAsIDU2LCA5LCAxNCwgMjQwLCA1NSwgOSwgMTQsIDI0MCwgNTQsIAorICAgIDksIDE0LCAyNDAsIDUzLCA5LCAxNCwgMjQwLCA1MiwgOSwgMTQsIDI0MCwgNTEsIDksIDE0LCAyNDAsIDUwLCA5LCAxNCwgCisgICAgMjQwLCA0OSwgOSwgMTQsIDI0MCwgNDgsIDksIDE0LCAyNDAsIDQ3LCA5LCAxNCwgMjQwLCA0NiwgOSwgMTQsIDI0MCwgNDUsIAorICAgIDksIDE0LCAyNDAsIDQ0LCA5LCAxNCwgMjQwLCA0MywgOSwgMTQsIDI0MCwgNDIsIDksIDE0LCAyNDAsIDQxLCA5LCAxNCwgCisgICAgMjQwLCA0MCwgOSwgMTQsIDI0MCwgMzksIDksIDE0LCAyNDAsIDM4LCA5LCAxNCwgMjQwLCAzNywgOSwgMTQsIDI0MCwgMzYsIAorICAgIDksIDE0LCAyNDAsIDM1LCA5LCAxNCwgMjQwLCAzNCwgOSwgMTQsIDI0MCwgMzMsIDksIDE0LCAyNDAsIDMyLCA5LCAxNCwgCisgICAgMjQwLCAzMSwgOSwgMTQsIDI0MCwgMzAsIDksIDE0LCAyNDAsIDI5LCA5LCAxNCwgMjQwLCAyOCwgOSwgMTQsIDI0MCwgMjcsIAorICAgIDksIDE0LCAyNDAsIDI2LCA5LCAxNCwgMjQwLCAyNSwgOSwgMTQsIDI0MCwgMjQsIDksIDE0LCAyNDAsIDIzLCA5LCAxNCwgCisgICAgMjQwLCAyMiwgOSwgMTQsIDI0MCwgMjEsIDksIDE0LCAyNDAsIDIwLCA5LCAxNCwgMjQwLCAxOSwgOSwgMTQsIDI0MCwgMTgsIAorICAgIDksIDE0LCAyNDAsIDE3LCA5LCAxNCwgMjQwLCAxNiwgOSwgMTQsIDI0MCwgMTUsIDksIDE0LCAyNDAsIDE0LCA5LCAxNCwgCisgICAgMjQwLCAxMywgOSwgMTQsIDI0MCwgMTIsIDksIDE0LCAyNDAsIDExLCA5LCAxNCwgMjQwLCAxMCwgOSwgMTQsIDI0MCwgOSwgCisgICAgOSwgMTQsIDI0MCwgOCwgOSwgMTQsIDI0MCwgNywgOSwgMTQsIDI0MCwgNiwgOSwgMTQsIDI0MCwgNSwgOSwgMTQsIDI0MCwgCisgICAgNCwgOSwgMTQsIDI0MCwgMywgOSwgMTQsIDI0MCwgMiwgOSwgMTQsIDI0MCwgMSwgOSwgMTQsIDI0MCwgMCwgOSwgMTQsIAorICAgIDIzOSwgMjU1LCA5LCAxNCwgMjM5LCAyNTQsIDksIDE0LCAyMzksIDI1MywgOSwgMTQsIDIzOSwgMjUyLCA5LCAxNCwgMjM5LCAKKyAgICAyNTEsIDksIDE0LCAyMzksIDI1MCwgOSwgMTQsIDIzOSwgMjQ5LCA5LCAxNCwgMjM5LCAyNDgsIDksIDE0LCAyMzksIDI0NywgCisgICAgOSwgMTQsIDIzOSwgMjQ2LCA5LCAxNCwgMjM5LCAyNDUsIDksIDE0LCAyMzksIDI0NCwgOSwgMTQsIDIzOSwgMjQzLCA5LCAKKyAgICAxNCwgMjM5LCAyNDIsIDksIDE0LCAyMzksIDI0MSwgOSwgMTQsIDIzOSwgMjQwLCA5LCAxNCwgMjM5LCAyMzksIDksIDE0LCAKKyAgICAyMzksIDIzOCwgOSwgMTQsIDIzOSwgMjM3LCA5LCAxNCwgMjM5LCAyMzYsIDksIDE0LCAyMzksIDIzNSwgOSwgMTQsIDIzOSwgCisgICAgMjM0LCA5LCAxNCwgMjM5LCAyMzMsIDksIDE0LCAyMzksIDIzMiwgOSwgMTQsIDIzOSwgMjMxLCA5LCAxNCwgMjM5LCAyMzAsIAorICAgIDksIDE0LCAyMzksIDIyOSwgOSwgMTQsIDIzOSwgMjI4LCA5LCAxNCwgMjM5LCAyMjcsIDksIDE0LCAyMzksIDIyNiwgOSwgCisgICAgMTQsIDIzOSwgMjI1LCA5LCAxNCwgMjM5LCAyMjQsIDksIDE0LCAyMzksIDIyMywgOSwgMTQsIDIzOSwgMjIyLCA5LCAxNCwgCisgICAgMjM5LCAyMjEsIDksIDE0LCAyMzksIDIyMCwgOSwgMTQsIDIzOSwgMjE5LCA5LCAxNCwgMjM5LCAyMTgsIDksIDE0LCAyMzksIAorICAgIDIxNywgOSwgMTQsIDIzOSwgMjE2LCA5LCAxNCwgMjM5LCAyMTUsIDksIDE0LCAyMzksIDIxNCwgOSwgMTQsIDIzOSwgMjEzLCAKKyAgICA5LCAxNCwgMjM5LCAyMTIsIDksIDE0LCAyMzksIDIxMSwgOSwgMTQsIDIzOSwgMjEwLCA5LCAxNCwgMjM5LCAyMDksIDksIAorICAgIDE0LCAyMzksIDIwOCwgOSwgMTQsIDIzOSwgMjA3LCA5LCAxNCwgMjM5LCAyMDYsIDksIDE0LCAyMzksIDIwNSwgOSwgMTQsIAorICAgIDIzOSwgMjA0LCA5LCAxNCwgMjM5LCAyMDMsIDksIDE0LCAyMzksIDIwMiwgOSwgMTQsIDIzOSwgMjAxLCA5LCAxNCwgMjM5LCAKKyAgICAyMDAsIDksIDE0LCAyMzksIDE5OSwgOSwgMTQsIDIzOSwgMTk4LCA5LCAxNCwgMjM5LCAxOTcsIDksIDE0LCAyMzksIDE5NiwgCisgICAgOSwgMTQsIDIzOSwgMTk1LCA5LCAxNCwgMjM5LCAxOTQsIDksIDE0LCAyMzksIDE5MywgOSwgMTQsIDIzOSwgMTkyLCA5LCAKKyAgICAxNCwgMjM5LCAxOTEsIDksIDE0LCAyMzksIDE5MCwgOSwgMTQsIDIzOSwgMTg5LCA5LCAxNCwgMjM5LCAxODgsIDksIDE0LCAKKyAgICAyMzksIDE4NywgOSwgMTQsIDIzOSwgMTg2LCA5LCAxNCwgMjM5LCAxODUsIDksIDE0LCAyMzksIDE4NCwgOSwgMTQsIDIzOSwgCisgICAgMTgzLCA5LCAxNCwgMjM5LCAxODIsIDksIDE0LCAyMzksIDE4MSwgOSwgMTQsIDIzOSwgMTgwLCA5LCAxNCwgMjM5LCAxNzksIAorICAgIDksIDE0LCAyMzksIDE3OCwgOSwgMTQsIDIzOSwgMTc3LCA5LCAxNCwgMjM5LCAxNzYsIDksIDE0LCAyMzksIDE3NSwgOSwgCisgICAgMTQsIDIzOSwgMTc0LCA5LCAxNCwgMjM5LCAxNzMsIDksIDE0LCAyMzksIDE3MiwgOSwgMTQsIDIzOSwgMTcxLCA5LCAxNCwgCisgICAgMjM5LCAxNzAsIDksIDE0LCAyMzksIDE2OSwgOSwgMTQsIDIzOSwgMTY4LCA5LCAxNCwgMjM5LCAxNjcsIDksIDE0LCAyMzksIAorICAgIDE2NiwgOSwgMTQsIDIzOSwgMTY1LCA5LCAxNCwgMjM5LCAxNjQsIDksIDE0LCAyMzksIDE2MywgOSwgMTQsIDIzOSwgMTYyLCAKKyAgICA5LCAxNCwgMjM5LCAxNjEsIDksIDE0LCAyMzksIDE2MCwgOSwgMTQsIDIzOSwgMTU5LCA5LCAxNCwgMjM5LCAxNTgsIDksIAorICAgIDE0LCAyMzksIDE1NywgOSwgMTQsIDIzOSwgMTU2LCA5LCAxNCwgMjM5LCAxNTUsIDksIDE0LCAyMzksIDE1NCwgOSwgMTQsIAorICAgIDIzOSwgMTUzLCA5LCAxNCwgMjM5LCAxNTIsIDksIDE0LCAyMzksIDE1MSwgOSwgMTQsIDIzOSwgMTUwLCA5LCAxNCwgMjM5LCAKKyAgICAxNDksIDksIDE0LCAyMzksIDE0OCwgOSwgMTQsIDIzOSwgMTQ3LCA5LCAxNCwgMjM5LCAxNDYsIDksIDE0LCAyMzksIDE0NSwgCisgICAgOSwgMTQsIDIzOSwgMTQ0LCA5LCAxNCwgMjM5LCAxNDMsIDksIDE0LCAyMzksIDE0MiwgOSwgMTQsIDIzOSwgMTQxLCA5LCAKKyAgICAxNCwgMjM5LCAxNDAsIDksIDE0LCAyMzksIDEzOSwgOSwgMTQsIDIzOSwgMTM4LCA5LCAxNCwgMjM5LCAxMzcsIDksIDE0LCAKKyAgICAyMzksIDEzNiwgOSwgMTQsIDIzOSwgMTM1LCA5LCAxNCwgMjM5LCAxMzQsIDksIDE0LCAyMzksIDEzMywgOSwgMTQsIDIzOSwgCisgICAgMTMyLCA5LCAxNCwgMjM5LCAxMzEsIDksIDE0LCAyMzksIDEzMCwgOSwgMTQsIDIzOSwgMTI5LCA5LCAxNCwgMjM5LCAxMjgsIAorICAgIDksIDE0LCAyMzksIDEyNywgOSwgMTQsIDIzOSwgMTI2LCA5LCAxNCwgMjM5LCAxMjUsIDksIDE0LCAyMzksIDEyNCwgOSwgCisgICAgMTQsIDIzOSwgMTIzLCA5LCAxNCwgMjM5LCAxMjIsIDksIDE0LCAyMzksIDEyMSwgOSwgMTQsIDIzOSwgMTIwLCA5LCAxNCwgCisgICAgMjM5LCAxMTksIDksIDE0LCAyMzksIDExOCwgOSwgMTQsIDIzOSwgMTE3LCA5LCAxNCwgMjM5LCAxMTYsIDksIDE0LCAyMzksIAorICAgIDExNSwgOSwgMTQsIDIzOSwgMTE0LCA5LCAxNCwgMjM5LCAxMTMsIDksIDE0LCAyMzksIDExMiwgOSwgMTQsIDIzOSwgMTExLCAKKyAgICA5LCAxNCwgMjM5LCAxMTAsIDksIDE0LCAyMzksIDEwOSwgOSwgMTQsIDIzOSwgMTA4LCA5LCAxNCwgMjM5LCAxMDcsIDksIAorICAgIDE0LCAyMzksIDEwNiwgOSwgMTQsIDIzOSwgMTA1LCA5LCAxNCwgMjM5LCAxMDQsIDksIDE0LCAyMzksIDEwMywgOSwgMTQsIAorICAgIDIzOSwgMTAyLCA5LCAxNCwgMjM5LCAxMDEsIDksIDE0LCAyMzksIDEwMCwgOSwgMTQsIDIzOSwgOTksIDksIDE0LCAyMzksIAorICAgIDk4LCA5LCAxNCwgMjM5LCA5NywgOSwgMTQsIDIzOSwgOTYsIDksIDE0LCAyMzksIDk1LCA5LCAxNCwgMjM5LCA5NCwgOSwgCisgICAgMTQsIDIzOSwgOTMsIDksIDE0LCAyMzksIDkyLCA5LCAxNCwgMjM5LCA5MSwgOSwgMTQsIDIzOSwgOTAsIDksIDE0LCAyMzksIAorICAgIDg5LCA5LCAxNCwgMjM5LCA4OCwgOSwgMTQsIDIzOSwgODcsIDksIDE0LCAyMzksIDg2LCA5LCAxNCwgMjM5LCA4NSwgOSwgCisgICAgMTQsIDIzOSwgODQsIDksIDE0LCAyMzksIDgzLCA5LCAxNCwgMjM5LCA4MiwgOSwgMTQsIDIzOSwgODEsIDksIDE0LCAyMzksIAorICAgIDgwLCA5LCAxNCwgMjM5LCA3OSwgOSwgMTQsIDIzOSwgNzgsIDksIDE0LCAyMzksIDc3LCA5LCAxNCwgMjM5LCA3NiwgOSwgCisgICAgMTQsIDIzOSwgNzUsIDksIDE0LCAyMzksIDc0LCA5LCAxNCwgMjM5LCA3MywgOSwgMTQsIDIzOSwgNzIsIDksIDE0LCAyMzksIAorICAgIDcxLCA5LCAxNCwgMjM5LCA3MCwgOSwgMTQsIDIzOSwgNjksIDksIDE0LCAyMzksIDY4LCA5LCAxNCwgMjM5LCA2NywgOSwgCisgICAgMTQsIDIzOSwgNjYsIDksIDE0LCAyMzksIDY1LCA5LCAxNCwgMjM5LCA2NCwgOSwgMTQsIDIzOSwgNjMsIDksIDE0LCAyMzksIAorICAgIDYyLCA5LCAxNCwgMjM5LCA2MSwgOSwgMTQsIDIzOSwgNjAsIDksIDE0LCAyMzksIDU5LCA5LCAxNCwgMjM5LCA1OCwgOSwgCisgICAgMTQsIDIzOSwgNTcsIDksIDE0LCAyMzksIDU2LCA5LCAxNCwgMjM5LCA1NSwgOSwgMTQsIDIzOSwgNTQsIDksIDE0LCAyMzksIAorICAgIDUzLCA5LCAxNCwgMjM5LCA1MiwgOSwgMTQsIDIzOSwgNTEsIDksIDE0LCAyMzksIDUwLCA5LCAxNCwgMjM5LCA0OSwgOSwgCisgICAgMTQsIDIzOSwgNDgsIDksIDE0LCAyMzksIDQ3LCA5LCAxNCwgMjM5LCA0NiwgOSwgMTQsIDIzOSwgNDUsIDksIDE0LCAyMzksIAorICAgIDQ0LCA5LCAxNCwgMjM5LCA0MywgOSwgMTQsIDIzOSwgNDIsIDksIDE0LCAyMzksIDQxLCA5LCAxNCwgMjM5LCA0MCwgOSwgCisgICAgMTQsIDIzOSwgMzksIDksIDE0LCAyMzksIDM4LCA5LCAxNCwgMjM5LCAzNywgOSwgMTQsIDIzOSwgMzYsIDksIDE0LCAyMzksIAorICAgIDM1LCA5LCAxNCwgMjM5LCAzNCwgOSwgMTQsIDIzOSwgMzMsIDksIDE0LCAyMzksIDMyLCA5LCAxNCwgMjM5LCAzMSwgOSwgCisgICAgMTQsIDIzOSwgMzAsIDksIDE0LCAyMzksIDI5LCA5LCAxNCwgMjM5LCAyOCwgOSwgMTQsIDIzOSwgMjcsIDksIDE0LCAyMzksIAorICAgIDI2LCA5LCAxNCwgMjM5LCAyNSwgOSwgMTQsIDIzOSwgMjQsIDksIDE0LCAyMzksIDIzLCA5LCAxNCwgMjM5LCAyMiwgOSwgCisgICAgMTQsIDIzOSwgMjEsIDksIDE0LCAyMzksIDIwLCA5LCAxNCwgMjM5LCAxOSwgOSwgMTQsIDIzOSwgMTgsIDksIDE0LCAyMzksIAorICAgIDE3LCA5LCAxNCwgMjM5LCAxNiwgOSwgMTQsIDIzOSwgMTUsIDksIDE0LCAyMzksIDE0LCA5LCAxNCwgMjM5LCAxMywgOSwgCisgICAgMTQsIDIzOSwgMTIsIDksIDE0LCAyMzksIDExLCA5LCAxNCwgMjM5LCAxMCwgOSwgMTQsIDIzOSwgOSwgOSwgMTQsIDIzOSwgCisgICAgOCwgOSwgMTQsIDIzOSwgNywgOSwgMTQsIDIzOSwgNiwgOSwgMTQsIDIzOSwgNSwgOSwgMTQsIDIzOSwgNCwgOSwgMTQsIAorICAgIDIzOSwgMywgOSwgMTQsIDIzOSwgMiwgOSwgMTQsIDIzOSwgMSwgOSwgMTQsIDIzOSwgMCwgOSwgMTQsIDIzOCwgMjU1LCA5LCAKKyAgICAxNCwgMjM4LCAyNTQsIDksIDE0LCAyMzgsIDI1MywgOSwgMTQsIDIzOCwgMjUyLCA5LCAxNCwgMjM4LCAyNTEsIDksIDE0LCAKKyAgICAyMzgsIDI1MCwgOSwgMTQsIDIzOCwgMjQ5LCA5LCAxNCwgMjM4LCAyNDgsIDksIDE0LCAyMzgsIDI0NywgOSwgMTQsIDIzOCwgCisgICAgMjQ2LCA5LCAxNCwgMjM4LCAyNDUsIDksIDE0LCAyMzgsIDI0NCwgOSwgMTQsIDIzOCwgMjQzLCA5LCAxNCwgMjM4LCAyNDIsIAorICAgIDksIDE0LCAyMzgsIDI0MSwgOSwgMTQsIDIzOCwgMjQwLCA5LCAxNCwgMjM4LCAyMzksIDksIDE0LCAyMzgsIDIzOCwgOSwgCisgICAgMTQsIDIzOCwgMjM3LCA5LCAxNCwgMjM4LCAyMzYsIDksIDE0LCAyMzgsIDIzNSwgOSwgMTQsIDIzOCwgMjM0LCA5LCAxNCwgCisgICAgMjM4LCAyMzMsIDksIDE0LCAyMzgsIDIzMiwgOSwgMTQsIDIzOCwgMjMxLCA5LCAxNCwgMjM4LCAyMzAsIDksIDE0LCAyMzgsIAorICAgIDIyOSwgOSwgMTQsIDIzOCwgMjI4LCA5LCAxNCwgMjM4LCAyMjcsIDksIDE0LCAyMzgsIDIyNiwgOSwgMTQsIDIzOCwgMjI1LCAKKyAgICA5LCAxNCwgMjM4LCAyMjQsIDksIDE0LCAyMzgsIDIyMywgOSwgMTQsIDIzOCwgMjIyLCA5LCAxNCwgMjM4LCAyMjEsIDksIAorICAgIDE0LCAyMzgsIDIyMCwgOSwgMTQsIDIzOCwgMjE5LCA5LCAxNCwgMjM4LCAyMTgsIDksIDE0LCAyMzgsIDIxNywgOSwgMTQsIAorICAgIDIzOCwgMjE2LCA5LCAxNCwgMjM4LCAyMTUsIDksIDE0LCAyMzgsIDIxNCwgOSwgMTQsIDIzOCwgMjEzLCA5LCAxNCwgMjM4LCAKKyAgICAyMTIsIDksIDE0LCAyMzgsIDIxMSwgOSwgMTQsIDIzOCwgMjEwLCA5LCAxNCwgMjM4LCAyMDksIDksIDE0LCAyMzgsIDIwOCwgCisgICAgOSwgMTQsIDIzOCwgMjA3LCA5LCAxNCwgMjM4LCAyMDYsIDksIDE0LCAyMzgsIDIwNSwgOSwgMTQsIDIzOCwgMjA0LCA5LCAKKyAgICAxNCwgMjM4LCAyMDMsIDksIDE0LCAyMzgsIDIwMiwgOSwgMTQsIDIzOCwgMjAxLCA5LCAxNCwgMjM4LCAyMDAsIDksIDE0LCAKKyAgICAyMzgsIDE5OSwgOSwgMTQsIDIzOCwgMTk4LCA5LCAxNCwgMjM4LCAxOTcsIDksIDE0LCAyMzgsIDE5NiwgOSwgMTQsIDIzOCwgCisgICAgMTk1LCA5LCAxNCwgMjM4LCAxOTQsIDksIDE0LCAyMzgsIDE5MywgOSwgMTQsIDIzOCwgMTkyLCA5LCAxNCwgMjM4LCAxOTEsIAorICAgIDksIDE0LCAyMzgsIDE5MCwgOSwgMTQsIDIzOCwgMTg5LCA5LCAxNCwgMjM4LCAxODgsIDksIDE0LCAyMzgsIDE4NywgOSwgCisgICAgMTQsIDIzOCwgMTg2LCA5LCAxNCwgMjM4LCAxODUsIDksIDE0LCAyMzgsIDE4NCwgOSwgMTQsIDIzOCwgMTgzLCA5LCAxNCwgCisgICAgMjM4LCAxODIsIDksIDE0LCAyMzgsIDE4MSwgOSwgMTQsIDIzOCwgMTgwLCA5LCAxNCwgMjM4LCAxNzksIDksIDE0LCAyMzgsIAorICAgIDE3OCwgOSwgMTQsIDIzOCwgMTc3LCA5LCAxNCwgMjM4LCAxNzYsIDksIDE0LCAyMzgsIDE3NSwgOSwgMTQsIDIzOCwgMTc0LCAKKyAgICA5LCAxNCwgMjM4LCAxNzMsIDksIDE0LCAyMzgsIDE3MiwgOSwgMTQsIDIzOCwgMTcxLCA5LCAxNCwgMjM4LCAxNzAsIDksIAorICAgIDE0LCAyMzgsIDE2OSwgOSwgMTQsIDIzOCwgMTY4LCA5LCAxNCwgMjM4LCAxNjcsIDksIDE0LCAyMzgsIDE2NiwgOSwgMTQsIAorICAgIDIzOCwgMTY1LCA5LCAxNCwgMjM4LCAxNjQsIDksIDE0LCAyMzgsIDE2MywgOSwgMTQsIDIzOCwgMTYyLCA5LCAxNCwgMjM4LCAKKyAgICAxNjEsIDksIDE0LCAyMzgsIDE2MCwgOSwgMTQsIDIzOCwgMTU5LCA5LCAxNCwgMjM4LCAxNTgsIDksIDE0LCAyMzgsIDE1NywgCisgICAgOSwgMTQsIDIzOCwgMTU2LCA5LCAxNCwgMjM4LCAxNTUsIDksIDE0LCAyMzgsIDE1NCwgOSwgMTQsIDIzOCwgMTUzLCA5LCAKKyAgICAxNCwgMjM4LCAxNTIsIDksIDE0LCAyMzgsIDE1MSwgOSwgMTQsIDIzOCwgMTUwLCA5LCAxNCwgMjM4LCAxNDksIDksIDE0LCAKKyAgICAyMzgsIDE0OCwgOSwgMTQsIDIzOCwgMTQ3LCA5LCAxNCwgMjM4LCAxNDYsIDksIDE0LCAyMzgsIDE0NSwgOSwgMTQsIDIzOCwgCisgICAgMTQ0LCA5LCAxNCwgMjM4LCAxNDMsIDksIDE0LCAyMzgsIDE0MiwgOSwgMTQsIDIzOCwgMTQxLCA5LCAxNCwgMjM4LCAxNDAsIAorICAgIDksIDE0LCAyMzgsIDEzOSwgOSwgMTQsIDIzOCwgMTM4LCA5LCAxNCwgMjM4LCAxMzcsIDksIDE0LCAyMzgsIDEzNiwgOSwgCisgICAgMTQsIDIzOCwgMTM1LCA5LCAxNCwgMjM4LCAxMzQsIDksIDE0LCAyMzgsIDEzMywgOSwgMTQsIDIzOCwgMTMyLCA5LCAxNCwgCisgICAgMjM4LCAxMzEsIDksIDE0LCAyMzgsIDEzMCwgOSwgMTQsIDIzOCwgMTI5LCA5LCAxNCwgMjM4LCAxMjgsIDksIDE0LCAyMzgsIAorICAgIDEyNywgOSwgMTQsIDIzOCwgMTI2LCA5LCAxNCwgMjM4LCAxMjUsIDksIDE0LCAyMzgsIDEyNCwgOSwgMTQsIDIzOCwgMTIzLCAKKyAgICA5LCAxNCwgMjM4LCAxMjIsIDksIDE0LCAyMzgsIDEyMSwgOSwgMTQsIDIzOCwgMTIwLCA5LCAxNCwgMjM4LCAxMTksIDksIAorICAgIDE0LCAyMzgsIDExOCwgOSwgMTQsIDIzOCwgMTE3LCA5LCAxNCwgMjM4LCAxMTYsIDksIDE0LCAyMzgsIDExNSwgOSwgMTQsIAorICAgIDIzOCwgMTE0LCA5LCAxNCwgMjM4LCAxMTMsIDksIDE0LCAyMzgsIDExMiwgOSwgMTQsIDIzOCwgMTExLCA5LCAxNCwgMjM4LCAKKyAgICAxMTAsIDksIDE0LCAyMzgsIDEwOSwgOSwgMTQsIDIzOCwgMTA4LCA5LCAxNCwgMjM4LCAxMDcsIDksIDE0LCAyMzgsIDEwNiwgCisgICAgOSwgMTQsIDIzOCwgMTA1LCA5LCAxNCwgMjM4LCAxMDQsIDksIDE0LCAyMzgsIDEwMywgOSwgMTQsIDIzOCwgMTAyLCA5LCAKKyAgICAxNCwgMjM4LCAxMDEsIDksIDE0LCAyMzgsIDEwMCwgOSwgMTQsIDIzOCwgOTksIDksIDE0LCAyMzgsIDk4LCA5LCAxNCwgCisgICAgMjM4LCA5NywgOSwgMTQsIDIzOCwgOTYsIDksIDE0LCAyMzgsIDk1LCA5LCAxNCwgMjM4LCA5NCwgOSwgMTQsIDIzOCwgOTMsIAorICAgIDksIDE0LCAyMzgsIDkyLCA5LCAxNCwgMjM4LCA5MSwgOSwgMTQsIDIzOCwgOTAsIDksIDE0LCAyMzgsIDg5LCA5LCAxNCwgCisgICAgMjM4LCA4OCwgOSwgMTQsIDIzOCwgODcsIDksIDE0LCAyMzgsIDg2LCA5LCAxNCwgMjM4LCA4NSwgOSwgMTQsIDIzOCwgODQsIAorICAgIDksIDE0LCAyMzgsIDgzLCA5LCAxNCwgMjM4LCA4MiwgOSwgMTQsIDIzOCwgODEsIDksIDE0LCAyMzgsIDgwLCA5LCAxNCwgCisgICAgMjM4LCA3OSwgOSwgMTQsIDIzOCwgNzgsIDksIDE0LCAyMzgsIDc3LCA5LCAxNCwgMjM4LCA3NiwgOSwgMTQsIDIzOCwgNzUsIAorICAgIDksIDE0LCAyMzgsIDc0LCAyMzMsIDkxLCAyMTcsIDg1LCAxMjksIDIxOSwgMTksIDEyOSwgMjQ1LCAzMiwgNzgsIDEyOSwgCisgICAgMjIzLCAyNTUsIDc4LCAxMjksIDU0LCA1MCwgMTI5LCAyNDcsIDEzMywgNTAsIDEyOSwgMjI1LCAxODMsIDUwLCAxMjksIAorICAgIDI1NCwgMTI3LCAxMjksIDI1NCwgNTgsIDEyOSwgNDMsIDIyNiwgNCwgMTI5LCA0NCwgMjI2LCA0LCAxMjksIDI1MywgMjE3LCAKKyAgICAxMjksIDk2LCA1MCwgMTI5LCAyNDksIDIyMCwgMTI5LCAyNDAsIDE2OCwgMTI5LCAyNDMsIDIzMCwgMjE4LCAxMzAsIDEyOSwgCisgICAgMjE5LCA0NywgMTI5LCAyMSwgMjEwLCA4NiwgMTI5LCAyMSwgMTEwLCAxMjksIDIxLCAxMDUsIDEyOSwgMjEsIDE1OCwgMTI5LCAKKyAgICAyMSwgMTYxLCAxMjksIDIxLCAxODksIDEyOSwgMjEsIDE5NCwgMTI5LCAyMSwgMTk4LCAxMjksIDIxLCAxOTUsIDEyOSwgMjEsIAorICAgIDIwMCwgMTI5LCAyNDksIDIyNywgMTI5LCAyMjAsIDE1MSwgMTI5LCAyMzMsIDE2LCA1MCwgMTI5LCAyNDUsIDk5LCA1MCwgCisgICAgMTI5LCAyNDIsIDEzMSwgNTAsIDEyOSwgMjI0LCAxNCwgNzgsIDEyOSwgMjQ5LCAyMTgsIDI1MywgMjA3LCAxMjksIDcsIDYsIAorICAgIDEsIDYxLCAxMjksIDcsIDYsIDEsIDI1MywgMTU5LCAxMjksIDcsIDYsIDEsIDI1MSwgNjcsIDEyOSwgNywgNiwgMSwgMjQ5LCAKKyAgICA2MSwgMTI5LCA3LCA2LCAxLCA3NSwgMTI5LCA3LCA2LCAxLCAyNDUsIDcsIDEyOSwgNywgNiwgMSwgMjQzLCAyMDMsIDEyOSwgCisgICAgNywgNiwgMSwgMjQyLCA2MSwgMTI5LCA3LCA2LCAxLCA3MywgMTI5LCA3LCA2LCAxLCAyMzUsIDE0NSwgMTI5LCA3LCA2LCAxLCAKKyAgICAyMzUsIDI0LCAxMjksIDcsIDYsIDEsIDE1NiwgMTI5LCA3LCA2LCAxLCAxOTMsIDEyOSwgNywgNiwgMSwgMjMwLCAyNiwgCisgICAgMTI5LCA3LCA2LCAxLCA3NiwgMTI5LCA3LCA2LCAxLCAyMjYsIDEwNiwgMTI5LCA3LCA2LCAxLCAyMjQsIDk3LCAxMjksIDcsIAorICAgIDYsIDEsIDE1MywgMTI5LCA3LCA2LCAxLCAyMjIsIDkyLCAxMjksIDcsIDYsIDEsIDIxNywgMTUzLCAxMjksIDcsIDYsIDEsIAogICAgIDcwLCAxMjksIDcsIDYsIDEsIDIxNCwgMTA1LCAxMjksIDcsIDYsIDEsIDIxMiwgOTgsIDEyOSwgNywgNiwgMSwgMjExLCAKICAgICAxNzgsIDEyOSwgNywgNiwgMSwgMjExLCAxMTcsIDEyOSwgNywgNiwgMSwgMjEwLCAxNTksIDEyOSwgNDMsIDQyLCAxMjcsIAotICAgIDEyOSwgMjIzLCA1MCwgMjE5LCA0NiwgMTI5LCA0NCwgNDIsIDEyNywgMTI5LCAyNTAsIDMxLCAyNTUsIDE0LCAxMjksIDEyMSwgCi0gICAgMjMyLCAyMTMsIDEyOSwgMjQyLCAxMzcsIDI1NSwgMTQsIDEyOSwgNywgNCwgMSwgNjEsIDEyOSwgNywgNCwgMSwgMjUzLCAKLSAgICAxNTgsIDEyOSwgNywgNCwgMSwgMjUxLCA2NiwgMTI5LCA3LCA0LCAxLCAyNDksIDYwLCAxMjksIDcsIDQsIDEsIDc1LCAxMjksIAotICAgIDcsIDQsIDEsIDI0NSwgNiwgMTI5LCA3LCA0LCAxLCAyNDMsIDIwMiwgMTI5LCA3LCA0LCAxLCAyNDIsIDYwLCAxMjksIDcsIAotICAgIDQsIDEsIDczLCAxMjksIDcsIDQsIDEsIDIzNSwgMTQ0LCAxMjksIDcsIDQsIDEsIDIzNSwgMjMsIDEyOSwgNywgNCwgMSwgCi0gICAgMTU2LCAxMjksIDcsIDQsIDEsIDE5MywgMTI5LCA3LCA0LCAxLCAyMzAsIDI1LCAxMjksIDcsIDQsIDEsIDc2LCAxMjksIDcsIAotICAgIDQsIDEsIDIyNiwgMTA1LCAxMjksIDcsIDQsIDEsIDIyNCwgOTYsIDEyOSwgNywgNCwgMSwgMTUzLCAxMjksIDcsIDQsIDEsIAotICAgIDIyMiwgOTEsIDEyOSwgNywgNCwgMSwgMjE3LCAxNTIsIDEyOSwgNywgNCwgMSwgNzAsIDEyOSwgNywgNCwgMSwgMjE0LCAKKyAgICAxMjksIDIyMywgNTEsIDIxOSwgNDcsIDEyOSwgNDQsIDQyLCAxMjcsIDEyOSwgMjUwLCAzMiwgMjU1LCAxNSwgMTI5LCAxMjEsIAorICAgIDIzMiwgMjE0LCAxMjksIDI0MiwgMTM4LCAyNTUsIDE1LCAxMjksIDcsIDQsIDEsIDYxLCAxMjksIDcsIDQsIDEsIDI1MywgCisgICAgMTU5LCAxMjksIDcsIDQsIDEsIDI1MSwgNjcsIDEyOSwgNywgNCwgMSwgMjQ5LCA2MSwgMTI5LCA3LCA0LCAxLCA3NSwgMTI5LCAKKyAgICA3LCA0LCAxLCAyNDUsIDcsIDEyOSwgNywgNCwgMSwgMjQzLCAyMDMsIDEyOSwgNywgNCwgMSwgMjQyLCA2MSwgMTI5LCA3LCAKKyAgICA0LCAxLCA3MywgMTI5LCA3LCA0LCAxLCAyMzUsIDE0NSwgMTI5LCA3LCA0LCAxLCAyMzUsIDI0LCAxMjksIDcsIDQsIDEsIAorICAgIDE1NiwgMTI5LCA3LCA0LCAxLCAxOTMsIDEyOSwgNywgNCwgMSwgMjMwLCAyNiwgMTI5LCA3LCA0LCAxLCA3NiwgMTI5LCA3LCAKKyAgICA0LCAxLCAyMjYsIDEwNiwgMTI5LCA3LCA0LCAxLCAyMjQsIDk3LCAxMjksIDcsIDQsIDEsIDE1MywgMTI5LCA3LCA0LCAxLCAKKyAgICAyMjIsIDkyLCAxMjksIDcsIDQsIDEsIDIxNywgMTUzLCAxMjksIDcsIDQsIDEsIDcwLCAxMjksIDcsIDQsIDEsIDIxNCwgCiAgICAgMTA1LCAxMjksIDcsIDQsIDEsIDIxMiwgOTgsIDEyOSwgNywgNCwgMSwgMjExLCAxNzgsIDEyOSwgNywgNCwgMSwgMjExLCAKLSAgICAxMTcsIDEyOSwgNywgNCwgMSwgMjEwLCAxNTksIDEyOSwgNDMsIDI0OSwgOTksIDEyNywgMTI5LCA2NywgMjMyLCAyMTMsIAotICAgIDEyOSwgNDQsIDI0OSwgOTksIDEyNywgMTI5LCAxODIsIDI1MSwgNiwgMjE3LCA4NCwgNDUsIDIyMSwgNzgsIDQ1LCAyMjEsIAotICAgIDY3LCA0NSwgMjIxLCA1NiwgNDUsIDIyMSwgNDQsIDQ1LCAyMjEsIDMzLCA0NSwgMjIxLCAyMiwgNDUsIDIyMSwgMTEsIDQ1LCAKLSAgICAyMjEsIDAsIDQ1LCAyMjAsIDI0NSwgNDUsIDIyMCwgMjM3LCA0NSwgMjIwLCAyMzYsIDQ1LCAyMjAsIDIzNSwgNDUsIDIyMCwgCi0gICAgMjM0LCA0NSwgMjIwLCAyMzIsIDQ1LCAyMjAsIDIzMSwgNDUsIDIyMCwgMjMwLCA0NSwgMjIwLCAyMjksIDQ1LCAyMjAsIAotICAgIDIyOCwgNDUsIDIyMCwgMjI3LCA0NSwgMjIwLCAyMjYsIDQ1LCAyMjAsIDIyNSwgNDUsIDIyMCwgMjI0LCA0NSwgMjIwLCAKLSAgICAyMjMsIDQ1LCAyMjAsIDIyMSwgNDUsIDIyMCwgMjIwLCA0NSwgMjIwLCAyMTksIDQ1LCAyMjAsIDIxOCwgNDUsIDIyMCwgCi0gICAgMjE3LCA0NSwgMjIwLCAyMTYsIDQ1LCAyMjAsIDIxNSwgNDUsIDIyMCwgMjE0LCA0NSwgMjIwLCAyMTMsIDQ1LCAyMjAsIAotICAgIDIxMiwgNDUsIDIyMCwgMjEwLCA0NSwgMjIwLCAyMDksIDQ1LCAyMjAsIDIwOCwgNDUsIDIyMCwgMjA3LCA0NSwgMjIwLCAKLSAgICAyMDYsIDQ1LCAyMjAsIDIwNSwgNDUsIDIyMCwgMjA0LCA0NSwgMjIwLCAyMDMsIDQ1LCAyMjAsIDIwMiwgNDUsIDIyMCwgCi0gICAgMjAxLCA0NSwgMjIwLCAxOTksIDQ1LCAyMjAsIDE5OCwgNDUsIDIyMCwgMTk3LCA0NSwgMjIwLCAxOTYsIDQ1LCAyMjAsIAotICAgIDE5NSwgNDUsIDIyMCwgMTk0LCA0NSwgMjIwLCAxOTMsIDQ1LCAyMjAsIDE5MiwgNDUsIDIyMCwgMTkxLCA0NSwgMjIwLCAKLSAgICAxOTAsIDQ1LCAyMjAsIDE4OCwgNDUsIDIyMCwgMTg3LCA0NSwgMjIwLCAxODYsIDQ1LCAyMjAsIDE4NSwgNDUsIDIyMCwgCi0gICAgMTg0LCA0NSwgMjIwLCAxODMsIDQ1LCAyMjAsIDE4MiwgNDUsIDIyMCwgMTgxLCA0NSwgMjIwLCAxODAsIDQ1LCAyMjAsIAotICAgIDE3OSwgNDUsIDIyMCwgMTc3LCA0NSwgMjIwLCAxNzYsIDQ1LCAyMjAsIDE3NSwgNDUsIDIyMCwgMTc0LCA0NSwgMjIwLCAKLSAgICAxNzMsIDQ1LCAyMjAsIDE3MiwgNDUsIDIyMCwgMTcxLCA0NSwgMjIwLCAxNzAsIDQ1LCAyMjAsIDE2OSwgNDUsIDIyMCwgCi0gICAgMTY4LCA0NSwgMjIwLCAxNjYsIDQ1LCAyMjAsIDE2NSwgNDUsIDIyMCwgMTY0LCA0NSwgMjIwLCAxNjMsIDQ1LCAyMjAsIAotICAgIDE2MiwgNDUsIDIyMCwgMTYxLCA0NSwgMjIwLCAxNjAsIDQ1LCAyMjAsIDE1OSwgNDUsIDIyMCwgMTU4LCA0NSwgMjIwLCAKLSAgICAxNTcsIDQ1LCAyMjEsIDE1NCwgNDUsIDIyMSwgMTUzLCA0NSwgMjIxLCAxNTIsIDQ1LCAyMjEsIDE1MSwgNDUsIDIyMSwgCi0gICAgMTUwLCA0NSwgMjIxLCAxNDksIDQ1LCAyMjEsIDE0OCwgNDUsIDIyMSwgMTQ3LCA0NSwgMjIxLCAxNDYsIDQ1LCAyMjEsIAotICAgIDE0NSwgNDUsIDIyMSwgMTQzLCA0NSwgMjIxLCAxNDIsIDQ1LCAyMjEsIDE0MSwgNDUsIDIyMSwgMTQwLCA0NSwgMjIxLCAKLSAgICAxMzksIDQ1LCAyMjEsIDEzOCwgNDUsIDIyMSwgMTM3LCA0NSwgMjIxLCAxMzYsIDQ1LCAyMjEsIDEzNSwgNDUsIDIyMSwgCi0gICAgMTM0LCA0NSwgMjIxLCAxMzIsIDQ1LCAyMjEsIDEzMSwgNDUsIDIyMSwgMTMwLCA0NSwgMjIxLCAxMjksIDQ1LCAyMjEsIAotICAgIDEyOCwgNDUsIDIyMSwgMTI3LCA0NSwgMjIxLCAxMjYsIDQ1LCAyMjEsIDEyNSwgNDUsIDIyMSwgMTI0LCA0NSwgMjIxLCAKLSAgICAxMjMsIDQ1LCAyMjEsIDEyMSwgNDUsIDIyMSwgMTIwLCA0NSwgMjIxLCAxMTksIDQ1LCAyMjEsIDExOCwgNDUsIDIyMSwgCi0gICAgMTE3LCA0NSwgMjIxLCAxMTYsIDQ1LCAyMjEsIDExNSwgNDUsIDIyMSwgMTE0LCA0NSwgMjIxLCAxMTMsIDQ1LCAyMjEsIAotICAgIDExMiwgNDUsIDIyMSwgMTEwLCA0NSwgMjIxLCAxMDksIDQ1LCAyMjEsIDEwOCwgNDUsIDIyMSwgMTA3LCA0NSwgMjIxLCAKLSAgICAxMDYsIDQ1LCAyMjEsIDEwNSwgNDUsIDIyMSwgMTA0LCA0NSwgMjIxLCAxMDMsIDQ1LCAyMjEsIDEwMiwgNDUsIDIyMSwgCi0gICAgMTAxLCA0NSwgMjIxLCA5OSwgNDUsIDIyMSwgOTgsIDQ1LCAyMjEsIDk3LCA0NSwgMjIxLCA5NiwgNDUsIDIyMSwgOTUsIDQ1LCAKLSAgICAyMjEsIDk0LCA0NSwgMjIxLCA5MywgNDUsIDIyMSwgOTIsIDQ1LCAyMjEsIDkxLCA0NSwgMjIxLCA5MCwgNDUsIDIyMSwgODgsIAotICAgIDQ1LCAyMjEsIDg3LCA0NSwgMjIxLCA4NiwgNDUsIDIyMSwgODUsIDQ1LCAyMjEsIDg0LCA0NSwgMjIxLCA4MywgNDUsIDIyMSwgCi0gICAgODIsIDQ1LCAyMjEsIDgxLCA0NSwgMjIxLCA4MCwgNDUsIDIyMSwgNzksIDQ1LCAyMjEsIDc3LCA0NSwgMjIxLCA3NiwgNDUsIAotICAgIDIyMSwgNzUsIDQ1LCAyMjEsIDc0LCA0NSwgMjIxLCA3MywgNDUsIDIyMSwgNzIsIDQ1LCAyMjEsIDcxLCA0NSwgMjIxLCA3MCwgCi0gICAgNDUsIDIyMSwgNjksIDQ1LCAyMjEsIDY4LCA0NSwgMjIxLCA2NiwgNDUsIDIyMSwgNjUsIDQ1LCAyMjEsIDY0LCA0NSwgMjIxLCAKLSAgICA2MywgNDUsIDIyMSwgNjIsIDQ1LCAyMjEsIDYxLCA0NSwgMjIxLCA2MCwgNDUsIDIyMSwgNTksIDQ1LCAyMjEsIDU4LCA0NSwgCi0gICAgMjIxLCA1NywgNDUsIDIyMSwgNTUsIDQ1LCAyMjEsIDU0LCA0NSwgMjIxLCA1MywgNDUsIDIyMSwgNTIsIDQ1LCAyMjEsIDUxLCAKLSAgICA0NSwgMjIxLCA1MCwgNDUsIDIyMSwgNDksIDQ1LCAyMjEsIDQ4LCA0NSwgMjIxLCA0NywgNDUsIDIyMSwgNDYsIDQ1LCAyMjEsIAotICAgIDQzLCA0NSwgMjIxLCA0MiwgNDUsIDIyMSwgNDEsIDQ1LCAyMjEsIDQwLCA0NSwgMjIxLCAzOSwgNDUsIDIyMSwgMzgsIDQ1LCAKLSAgICAyMjEsIDM3LCA0NSwgMjIxLCAzNiwgNDUsIDIyMSwgMzUsIDQ1LCAyMjEsIDM0LCA0NSwgMjIxLCAzMiwgNDUsIDIyMSwgMzEsIAotICAgIDQ1LCAyMjEsIDMwLCA0NSwgMjIxLCAyOSwgNDUsIDIyMSwgMjgsIDQ1LCAyMjEsIDI3LCA0NSwgMjIxLCAyNiwgNDUsIDIyMSwgCi0gICAgMjUsIDQ1LCAyMjEsIDI0LCA0NSwgMjIxLCAyMywgNDUsIDIyMSwgMjEsIDQ1LCAyMjEsIDIwLCA0NSwgMjIxLCAxOSwgNDUsIAotICAgIDIyMSwgMTgsIDQ1LCAyMjEsIDE3LCA0NSwgMjIxLCAxNiwgNDUsIDIyMSwgMTUsIDQ1LCAyMjEsIDE0LCA0NSwgMjIxLCAxMywgCi0gICAgNDUsIDIyMSwgMTIsIDQ1LCAyMjEsIDEwLCA0NSwgMjIxLCA5LCA0NSwgMjIxLCA4LCA0NSwgMjIxLCA3LCA0NSwgMjIxLCA2LCAKLSAgICA0NSwgMjIxLCA1LCA0NSwgMjIxLCA0LCA0NSwgMjIxLCAzLCA0NSwgMjIxLCAyLCA0NSwgMjIxLCAxLCA0NSwgMjIwLCAyNTUsIAotICAgIDQ1LCAyMjAsIDI1NCwgNDUsIDIyMCwgMjUzLCA0NSwgMjIwLCAyNTIsIDQ1LCAyMjAsIDI1MSwgNDUsIDIyMCwgMjUwLCA0NSwgCi0gICAgMjIwLCAyNDksIDQ1LCAyMjAsIDI0OCwgNDUsIDIyMCwgMjQ3LCA0NSwgMjIwLCAyNDYsIDQ1LCAyMjAsIDI0NCwgNDUsIAotICAgIDIyMCwgMjQzLCA0NSwgMjIwLCAyNDIsIDQ1LCAyMjAsIDI0MSwgNDUsIDIyMCwgMjQwLCA0NSwgMjIwLCAyMzksIDQ1LCAKLSAgICAyMjAsIDIzOCwgMjI3LCAyMDIsIDIyNywgMjA0LCAyMTgsIDE1MiwgNjQsIDI0MSwgMjMzLCAyMTksIDQ4LCAyMTgsIDE1MiwgCi0gICAgNjQsIDIxNiwgMjEyLCAyMTgsIDg1LCAyNDUsIDE0MywgNjQsIDIxNiwgMjEyLCAyNDUsIDU2LCAyNDUsIDE0MywgNjQsIAotICAgIDIxNSwgMjQzLCAyNDUsIDEwOSwgMjQ1LCAxMzIsIDI0NSwgMTMzLCAyNTUsIDcsIDI1NSwgOCwgMjU0LCAxNjcsIDI1MiwgCi0gICAgNDcsIDI1MiwgMTc5LCAyNTEsIDEzMSwgMTM1LCAyMTcsIDg5LCAyMDMsIDIxNywgODksIDI0MCwgMjI3LCAyMTcsIDkzLCAKLSAgICAyMzIsIDIxNCwgMjQ0LCAxNDUsIDE2NiwgMjMyLCAyMTMsIDI0NSwgMTQzLCA2NCwgMjMyLCAyMTMsIDIzMywgMCwgMjI4LCAKLSAgICAxMzUsIDI0NSwgMTEyLCAyMzIsIDIxNCwgMjE3LCA4OSwgNjcsIDIxNywgODksIDIxMiwgMTE4LCAyNDQsIDIwLCAyNDQsIAotICAgIDE0NSwgMjQ0LCAxMjUsIDI1MCwgMjMwLCAyMjMsIDUzLCAyNDksIDE0MywgMjIwLCAyOCwgMjI2LCAxMzAsIDIzMiwgMTUwLCAKLSAgICAxMTAsIDIxOSwgNTgsIDIyMCwgMjgsIDIzNSwgMjU1LCAyMzIsIDE1MCwgMjEwLCA4NiwgMjE5LCAxOTEsIDI0OCwgMTUxLCAKLSAgICAyMzIsIDIwNCwgMjQ1LCA3NywgMjQ3LCAxNTUsIDI0OCwgMzEsIDI0OSwgMTc4LCAxMTAsIDI0OCwgMTQxLCAyNDgsIDMxLCAKLSAgICAyNDksIDE3OCwgMTA1LCAyNDgsIDE0MCwgMjQ4LCAzMSwgMjQ5LCAxNzgsIDE1OCwgMjQ4LCAxMzksIDI0OCwgMzEsIDI0OSwgCi0gICAgMTc4LCAxNjEsIDI0OCwgMTM4LCAxNTIsIDI1NSwgNywgMjI5LCAyMDksIDIxNywgMTc3LCAyMzYsIDYyLCAyMTcsIDE4MCwgCi0gICAgMjQ1LCAxNDMsIDY0LCAyMTUsIDI0NCwgMjUxLCAyMTMsIDI0NSwgNjIsIDI1MSwgNSwgMjUxLCA3LCAyNDUsIDE0MywgNjQsIAotICAgIDIzMSwgODEsIDI0NSwgMTEwLCAyMTgsIDYxLCAyMTgsIDc4LCAyNDUsIDc3LCAyNDUsIDc4LCAyMzUsIDIzMiwgMjIwLCAKLSAgICAxMzgsIDE2MSwgMjQ0LCAxMDcsIDIyMCwgMTM3LCAyNDMsIDIzNywgMjM1LCAyMzIsIDIyMCwgMTM4LCAxNTgsIDI0MiwgCi0gICAgMTIxLCAyMjAsIDEzNywgMjQyLCAxMTgsIDIzNSwgMjMyLCAyMjAsIDEzOCwgMTA1LCAyMjMsIDEyMSwgMjIwLCAxMzcsIAotICAgIDIyMiwgMTQ1LCAyMzUsIDIzMiwgMjIwLCAxMzgsIDExMCwgMjE0LCAxNzQsIDIyMCwgMTM3LCAyMTQsIDEzMywgMjE5LCAyMSwgCi0gICAgMjQ4LCA2MywgMjQ4LCA2NSwgMjI2LCA3OCwgMjUwLCAxNDIsIDIyNiwgODAsIDEyNSwgMjI2LCAyNDAsIDIyNCwgMTkzLCAKLSAgICAyNDEsIDQ3LCAyNTEsIDE1MCwgMjI1LCAxNzMsIDI0MSwgMjAzLCAyNTEsIDE2MSwgMjI4LCA3NSwgMjUxLCAxNTAsIDI0MSwgCi0gICAgMjAzLCAyMjksIDE3NSwgMjM1LCAyNDIsIDIzNSwgMjQ0LCAyMjksIDgyLCAyMzIsIDIxMywgMjI5LCA5OSwgMjE4LCAxNTIsIAotICAgIDY0LCAyMjEsIDE1OCwgMjU0LCAxOCwgMjE4LCAyMjMsIDI0NSwgMTQzLCA2NCwgMjIxLCAxNTgsIDI1NCwgMTgsIDI0NSwgCi0gICAgODAsIDEzNSwgMjE3LCA5MCwgMjIwLCAxMjcsIDIwMywgMjE3LCA5MCwgMjIwLCAxMjcsIDI0MCwgMjI0LCAxMzUsIDIxNywgCi0gICAgOTAsIDIsIDIzNSwgMzUsIDIwMywgMjE3LCA5MCwgMiwgMjM1LCAzNSwgMjQwLCAyMjUsIDIzMiwgMjE0LCAyMTcsIDkwLCAKLSAgICAyMjAsIDEyNywgNjcsIDIxNywgOTAsIDIyMCwgMTI3LCAyMTIsIDExNywgMjI1LCAyNTMsIDIzMiwgMjE0LCAyNDQsIDE0LCAKLSAgICAyMjUsIDI1MywgMjMyLCAyMTQsIDI0NiwgMTA2LCAyMjUsIDMyLCAyMjUsIDI1MywgMjMyLCAyMTQsIDI1MiwgMTc4LCAyMjUsIAotICAgIDI1MywgMjMyLCAyMTQsIDIxNCwgMTYzLCAyMjUsIDI4LCAyMjMsIDUwLCAyMzIsIDIxNCwgMjQ0LCAxNDUsIDIyMywgNTAsIAotICAgIDIzNSwgMjQyLCAyMjMsIDM1LCAyMTksIDE1NSwgMjIwLCAyOCwgMTA1LCAyMTksIDE1MiwgMjE4LCAyMjUsIDIxOSwgMTU1LCAKLSAgICAyMjAsIDI4LCAxNTgsIDIxOSwgMTUxLCAyMTgsIDIyNCwgMjQ4LCAzMSwgMjQ5LCAxNzgsIDIxOCwgMTA1LCAyNDgsIDEzNywgCi0gICAgMjI0LCAxODMsIDIxNCwgMTMyLCAxMTAsIDIyNCwgMTgzLCAyMTQsIDEzMCwgMjI0LCAxNDksIDIyNCwgMTgzLCAyMTQsIAotICAgIDEzMiwgMTA1LCAyMjQsIDE4MywgMjE0LCAxMjksIDIyNCwgMTQ4LCAyMjAsIDEyOCwgMjE1LCAyNDIsIDIxOCwgMTUxLCAKLSAgICAyMTgsIDg5LCAyNTEsIDYsIDI1MCwgMTQyLCAyNTAsIDIwOSwgMjMxLCA0MywgMjEyLCA1OSwgMjMwLCA0MywgMjE4LCAxNTIsIAotICAgIDY0LCAyNDIsIDEwNywgMjU0LCAxOCwgMjE4LCAxNTIsIDY0LCAyMjQsIDE2NiwgMjU0LCAxOCwgMjE5LCAyMCwgMjQ1LCAKLSAgICAxNDMsIDY0LCAyNDIsIDEwNywgMjU0LCAxOCwgMjQ1LCAxNDMsIDY0LCAyMjQsIDE2NiwgMjU0LCAxOCwgMjQ1LCAxMDcsIAotICAgIDIxOCwgMTUyLCA2NCwgMjE4LCAxMDUsIDIxOSwgMzUsIDIxOSwgMTU1LCAyNDIsIDE0MSwgMTM1LCAyMzUsIDE5NSwgMjIwLCAKLSAgICAxMDcsIDIxOSwgMTU1LCAxMzUsIDIzNSwgMTk1LCAyMjEsIDE5NCwgMjQ5LCAxNzgsIDIyMCwgMTM1LCAyMzUsIDE5NSwgCi0gICAgMjQ5LCAxMTMsIDIxOCwgMTA2LCAyMTYsIDIzNiwgMjE4LCAxNjgsIDIyNiwgMTY5LCAyMTcsIDE2NywgMjQ5LCAyMTgsIAotICAgIDIyNiwgMTQyLCAyMjQsIDE4NCwgMjMxLCA0MiwgMjI1LCAxOSwgMjU0LCA1MywgMjI0LCAxNzgsIDI0OSwgMjE4LCAyNTQsIAotICAgIDY5LCAyMjksIDE2MywgMjE5LCAyMDAsIDcsIDYsIDEsIDI0MiwgMjQ5LCA3LCA0LCAxLCAyNDIsIDI0OSwgMjUwLCAxNTksIAotICAgIDE2NSwgMSwgMjMyLCAxNzUsIDIwOSwgMjA5LCAxLCAyNDQsIDQ0LCAyNDQsIDM2LCAyMDksIDIwOSwgMSwgMjQ0LCA0NCwgCi0gICAgMjQ0LCAxNTcsIDIwOSwgMjA5LCAxLCAyMjIsIDIxMSwgMjA5LCAyMDksIDEsIDIzMiwgMTU2LCA2MywgMTY0LCAyNTEsIAotICAgIDIyMywgMjIwLCAzLCAyNDIsIDIxNSwgMjMwLCAyNDgsIDIyMywgNDEsIDI0MywgMjE2LCAyNDMsIDIxNSwgMjQzLCAyMTQsIAotICAgIDIzMCwgNDUsIDIwOSwgMjUxLCAyMDksIDI1MiwgMjA5LCAyNTQsIDIzMiwgMTAyLCAyMjIsIDIxOSwgMjMyLCAxMDMsIDIyMiwgCi0gICAgMjIwLCAyMjUsIDIyMywgMjMyLCAxMDEsIDIyMiwgMjE4LCAyMjgsIDEwNiwgMjMwLCAxNjUsIDIxMSwgMjI5LCAyMTIsIDE1LCAKLSAgICAyNDUsIDE2MiwgMjQzLCAyMjYsIDIzMCwgMjI5LCAyMjYsIDE5NywgMjE0LCAxMzQsIDg3LCAyMzAsIDIyOSwgMjQ4LCAxNTcsIAotICAgIDg3LCA4LCAzLCAyMzUsIDE1OCwgNzgsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQ0LCA3MSwgMjMzLCAyMCwgMTI3LCAKLSAgICAyMTMsIDExOCwgMjEzLCA3LCAyMTIsIDE5NSwgMjEyLCAxODQsIDIxMiwgMTczLCAyMTIsIDE2MiwgMjEyLCAxNTEsIDIxMiwgCi0gICAgMTQwLCAyMTIsIDEyOSwgMjEzLCAxMTcsIDIxMywgMTA2LCAyMTMsIDk1LCAyMTMsIDg0LCAyMTMsIDczLCAyMTMsIDYyLCAKLSAgICAyMTMsIDUxLCAyNTEsIDcxLCAyMjYsIDE1NSwgNzgsIDI1MSwgMTk2LCAyMDksIDI1MywgNDksIDI4LCAxNiwgMjQzLCAyMzYsIAotICAgIDIxOSwgMTAyLCAyNTAsIDczLCAyMTQsIDksIDIxMywgNDAsIDIxMywgMjksIDIxMywgMTgsIDIxMywgNiwgMjEyLCAyNTEsIAotICAgIDIxMiwgMjQwLCAyMTIsIDIyOSwgMjEyLCAyMTgsIDIxMiwgMjA3LCAyMTIsIDE5OSwgMjEyLCAxOTgsIDIxMiwgMTk3LCAKLSAgICAyMTIsIDE5NiwgMjEyLCAxOTQsIDIxMiwgMTkzLCAyMTIsIDE5MiwgMjEyLCAxOTEsIDIxMiwgMTkwLCAyMTIsIDE4OSwgCi0gICAgMjEyLCAxODgsIDIxMiwgMTg3LCAyMTIsIDE4NiwgMjEyLCAxODUsIDIxMiwgMTgzLCAyMTIsIDE4MiwgMjEyLCAxODEsIAotICAgIDIxMiwgMTgwLCAyMTIsIDE3OSwgMjEyLCAxNzgsIDIxMiwgMTc3LCAyMTIsIDE3NiwgMjEyLCAxNzUsIDIxMiwgMTc0LCAKLSAgICAyMTIsIDE3MiwgMjEyLCAxNzEsIDIxMiwgMTcwLCAyMTIsIDE2OSwgMjEyLCAxNjgsIDIxMiwgMTY3LCAyMTIsIDE2NiwgCi0gICAgMjEyLCAxNjUsIDIxMiwgMTY0LCAyMTIsIDE2MywgMjEyLCAxNjEsIDIxMiwgMTYwLCAyMTIsIDE1OSwgMjEyLCAxNTgsIAotICAgIDIxMiwgMTU3LCAyMTIsIDE1NiwgMjEyLCAxNTUsIDIxMiwgMTU0LCAyMTIsIDE1MywgMjEyLCAxNTIsIDIxMiwgMTUwLCAKLSAgICAyMTIsIDE0OSwgMjEyLCAxNDgsIDIxMiwgMTQ3LCAyMTIsIDE0NiwgMjEyLCAxNDUsIDIxMiwgMTQ0LCAyMTIsIDE0MywgCi0gICAgMjEyLCAxNDIsIDIxMiwgMTQxLCAyMTIsIDEzOSwgMjEyLCAxMzgsIDIxMiwgMTM3LCAyMTIsIDEzNiwgMjEyLCAxMzUsIAotICAgIDIxMiwgMTM0LCAyMTIsIDEzMywgMjEyLCAxMzIsIDIxMiwgMTMxLCAyMTIsIDEzMCwgMjEyLCAxMjgsIDIxMiwgMTI3LCAKLSAgICAyMTIsIDEyNiwgMjEyLCAxMjUsIDIxMiwgMTI0LCAyMTIsIDEyMywgMjEyLCAxMjIsIDIxMiwgMTIxLCAyMTIsIDEyMCwgCi0gICAgMjEyLCAxMTksIDIxMywgMTE2LCAyMTMsIDExNSwgMjEzLCAxMTQsIDIxMywgMTEzLCAyMTMsIDExMiwgMjEzLCAxMTEsIAotICAgIDIxMywgMTEwLCAyMTMsIDEwOSwgMjEzLCAxMDgsIDIxMywgMTA3LCAyMTMsIDEwNSwgMjEzLCAxMDQsIDIxMywgMTAzLCAKLSAgICAyMTMsIDEwMiwgMjEzLCAxMDEsIDIxMywgMTAwLCAyMTMsIDk5LCAyMTMsIDk4LCAyMTMsIDk3LCAyMTMsIDk2LCAyMTMsIAotICAgIDk0LCAyMTMsIDkzLCAyMTMsIDkyLCAyMTMsIDkxLCAyMTMsIDkwLCAyMTMsIDg5LCAyMTMsIDg4LCAyMTMsIDg3LCAyMTMsIAotICAgIDg2LCAyMTMsIDg1LCAyMTMsIDgzLCAyMTMsIDgyLCAyMTMsIDgxLCAyMTMsIDgwLCAyMTMsIDc5LCAyMTMsIDc4LCAyMTMsIAotICAgIDc3LCAyMTMsIDc2LCAyMTMsIDc1LCAyMTMsIDc0LCAyMTMsIDcyLCAyMTMsIDcxLCAyMTMsIDcwLCAyMTMsIDY5LCAyMTMsIAotICAgIDY4LCAyMTMsIDY3LCAyMTMsIDY2LCAyMTMsIDY1LCAyMTMsIDY0LCAyMTMsIDYzLCAyMTMsIDYxLCAyMTMsIDYwLCAyMTMsIAotICAgIDU5LCAyMTMsIDU4LCAyMTMsIDU3LCAyMTMsIDU2LCAyMTMsIDU1LCAyMTMsIDU0LCAyMTMsIDUzLCAyMTMsIDUyLCAyMTMsIAotICAgIDUwLCAyMTMsIDQ5LCAyMTMsIDQ4LCAyMTMsIDQ3LCAyMTMsIDQ2LCAyMTMsIDQ1LCAyMTMsIDQ0LCAyMTMsIDQzLCAyMTMsIAotICAgIDQyLCAyMTMsIDQxLCAyMTMsIDM5LCAyMTMsIDM4LCAyMTMsIDM3LCAyMTMsIDM2LCAyMTMsIDM1LCAyMTMsIDM0LCAyMTMsIAotICAgIDMzLCAyMTMsIDMyLCAyMTMsIDMxLCAyMTMsIDMwLCAyMTMsIDI4LCAyMTMsIDI3LCAyMTMsIDI2LCAyMTMsIDI1LCAyMTMsIAotICAgIDI0LCAyMTMsIDIzLCAyMTMsIDIyLCAyMTMsIDIxLCAyMTMsIDIwLCAyMTMsIDE5LCAyMTMsIDE3LCAyMTMsIDE2LCAyMTMsIAotICAgIDE1LCAyMTMsIDE0LCAyMTMsIDEzLCAyMTMsIDEyLCAyMTMsIDExLCAyMTMsIDEwLCAyMTMsIDksIDIxMywgOCwgMjEzLCA1LCAKLSAgICAyMTMsIDQsIDIxMywgMywgMjEzLCAyLCAyMTMsIDEsIDIxMywgMCwgMjEyLCAyNTUsIDIxMiwgMjU0LCAyMTIsIDI1MywgCi0gICAgMjEyLCAyNTIsIDIxMiwgMjUwLCAyMTIsIDI0OSwgMjEyLCAyNDgsIDIxMiwgMjQ3LCAyMTIsIDI0NiwgMjEyLCAyNDUsIAotICAgIDIxMiwgMjQ0LCAyMTIsIDI0MywgMjEyLCAyNDIsIDIxMiwgMjQxLCAyMTIsIDIzOSwgMjEyLCAyMzgsIDIxMiwgMjM3LCAKLSAgICAyMTIsIDIzNiwgMjEyLCAyMzUsIDIxMiwgMjM0LCAyMTIsIDIzMywgMjEyLCAyMzIsIDIxMiwgMjMxLCAyMTIsIDIzMCwgCi0gICAgMjEyLCAyMjgsIDIxMiwgMjI3LCAyMTIsIDIyNiwgMjEyLCAyMjUsIDIxMiwgMjI0LCAyMTIsIDIyMywgMjEyLCAyMjIsIAotICAgIDIxMiwgMjIxLCAyMTIsIDIyMCwgMjEyLCAyMTksIDIxMiwgMjE3LCAyMTIsIDIxNiwgMjEyLCAyMTUsIDIxMiwgMjE0LCAKLSAgICAyMTIsIDIxMywgMjEyLCAyMTIsIDIxMiwgMjExLCAyMTIsIDIxMCwgMjEyLCAyMDksIDIxMiwgMjA4LCAyMTIsIDIwNiwgCi0gICAgMjEyLCAyMDUsIDIxMiwgMjA0LCAyMTIsIDIwMywgMjEyLCAyMDIsIDIxMiwgMjAxLCAyMTIsIDIwMCwgNywgNiwgMSwgMTE1LCAKLSAgICAyLCAyMzEsIDIzMywgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxMTUsIDIsIDIzMSwgMjMzLCAyMiwgMjQyLCAxMzYsIDcsIDYsIAotICAgIDEsIDE2MCwgMiwgNjcsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMTQsIDUxLCA3LCA2LCAxLCAKLSAgICAxNjAsIDIsIDY3LCAyMzIsIDIxNCwgMjUyLCA0MywgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxNjAsIDIsIDY3LCAyMzIsIAotICAgIDIxNCwgMjUyLCA0MywgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIxNCwgMjUyLCA0MywgMjIsIAotICAgIDE0MiwgNywgNCwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMTQsIDI1MiwgNDMsIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgCi0gICAgMjUwLCAzMSwgMjIsIDIzMSwgMjMyLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDIyLCAyMzEsIDIzMiwgNywgNiwgMSwgCi0gICAgMTYwLCAyLCAyNTAsIDMxLCAyMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDI1MCwgMjM0LCA3LCAKLSAgICA2LCAxLCAyNDAsIDE1NCwgMiwgMjMxLCAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDIzMSwgCi0gICAgMjMzLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCA1OSwgNzcsIDIyLCAxNDIsIDcsIDQsIDEsIDIyOSwgCi0gICAgODAsIDIsIDIxNiwgODksIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDY3LCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgCi0gICAgNjcsIDIzMiwgMjE0LCA1MSwgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMTQsIDI1MiwgNDMsIDIyLCAyNDIsIDEzNiwgCi0gICAgNywgNCwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMTQsIDI1MiwgNDMsIDIyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTQ0LCAyLCAKLSAgICA2NywgMjMyLCAyMTQsIDI1MiwgNDMsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjE0LCAyNTIsIDQzLCAKLSAgICAyMiwgMTQyLCA3LCA2LCAxLCAyMjIsIDkyLCAyLCA2NywgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAyMjIsIDkyLCAyLCA2NywgCi0gICAgMjMyLCAyMTQsIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDEwNCwgMiwgCi0gICAgMjMxLCAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTE1LCAyLCAyMjYsIDIyNSwgMjIsIDE0MiwgNywgNCwgMSwgMTE1LCAKLSAgICAyLCAyMjYsIDIyNSwgMjIsIDE0MiwgNywgNiwgMSwgMTE1LCAyLCAyMjYsIDIyNSwgMjIsIDE4MiwgNywgNCwgMSwgMTE1LCAKLSAgICAyLCAyMjYsIDIyNSwgMjIsIDE4MiwgNywgNiwgMSwgMTYwLCAyLCAyMjYsIDIyNSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAKLSAgICAyLCAyMjYsIDIyNSwgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAyMjYsIDIyNSwgMjIsIDE4MiwgNywgNCwgMSwgMTYwLCAKLSAgICAyLCAyMjYsIDIyNSwgMjIsIDE4MiwgNywgNiwgMSwgMTYwLCAyLCA1OSwgNzcsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgCi0gICAgNTksIDc3LCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA3NywgMjIsIDE4MiwgNywgNCwgMSwgMTYwLCAyLCA1OSwgCi0gICAgNzcsIDIyLCAxODIsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCA1OSwgNzcsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjQwLCAKLSAgICAxNTQsIDIsIDU5LCA3NywgMjIsIDE4MiwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCA3LCA0LCAKLSAgICAxLCAyNDAsIDE1NCwgMiwgMjI2LCAyMjUsIDIyLCA1OSwgNzcsIDIyLCAxNDIsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCAyMjYsIAotICAgIDIyNSwgMjIsIDE4MiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDIyNiwgMjI1LCAyMiwgNTksIDc3LCAyMiwgMTgyLCA3LCA2LCAKLSAgICAxLCAyMzUsIDE0NSwgMiwgMTgyLCA3LCA0LCAxLCAyMzUsIDE0NSwgMiwgNTksIDc3LCAyMiwgMTgyLCA3LCA2LCAxLCAyMzMsIAotICAgIDE0OSwgMiwgMTgyLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMTgyLCA3LCA2LCAxLCAyMzIsIDUwLCAyLCAxODIsIDcsIDQsIAotICAgIDEsIDIzMiwgNTAsIDIsIDE4MiwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDE4MiwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDE4MiwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyNSwgMjIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAyMjYsIDIyNSwgMjIsIDE0MiwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyNSwgMjIsIDE4MiwgNywgNCwgMSwgMTA0LCAyLCAyMjYsIDIyNSwgMjIsIDE4MiwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzMywgMjIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAyMzEsIDIzMywgMjIsIDE0MiwgCi0gICAgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzMywgMjIsIDE4MiwgNywgNCwgMSwgMTA0LCAyLCAyMzEsIDIzMywgMjIsIDE4MiwgCi0gICAgNywgNCwgMSwgMjU0LCAyNDQsIDIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyMDQsIDE0NCwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIAotICAgIDIwNCwgMTQ0LCAyLCAxNDIsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNCwgMTA2LCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjE1LCAKLSAgICA5NCwgMjE0LCAxMDYsIDIsIDE0MiwgNywgNCwgMSwgMjIxLCAxOTYsIDIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyMjEsIDE5NiwgCi0gICAgMiwgMTQyLCA3LCA0LCAxLCAyNDEsIDUxLCAyMjEsIDE5NiwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDI0MSwgNTEsIDIyMSwgCi0gICAgMTk2LCAyLCAxNDIsIDE0NiwgMSwgMjM0LCAxMDksIDM2LCAxMTYsIDIzNSwgMjMsIDM2LCAxMTYsIDIyOSwgNzksIDM2LCAKLSAgICAxMTYsIDI1MSwgNjYsIDM2LCAxMTYsIDIyNywgMTY3LCAzNiwgMTE2LCAyMTUsIDE1OSwgMzYsIDExNiwgMjI4LCAxMTEsIAotICAgIDM2LCAxMTYsIDIxNywgMTUyLCAzNiwgMTE2LCAyMzAsIDI1LCAzNiwgMTE2LCAyMjYsIDEwNSwgMzYsIDExNiwgMTkzLCAzNiwgCi0gICAgMTE2LCAyMTEsIDExNywgMzYsIDExNiwgMTUzLCAzNiwgMTE2LCAxNTYsIDM2LCAxMTYsIDIxNCwgMTA1LCAzNiwgMTE2LCAKLSAgICAyMzIsIDE3NiwgMzYsIDExNiwgMjMyLCAxODUsIDM2LCAxMTYsIDIyMiwgMTgwLCAzNiwgMTE2LCAyMjgsIDkzLCAzNiwgCi0gICAgMTE2LCAyMzUsIDE0NCwgMzYsIDExNiwgMjIwLCAxMDQsIDM2LCAxMTYsIDIxOCwgMjI2LCAzNiwgMTE2LCAyMjIsIDkxLCAKLSAgICAzNiwgMTE2LCAyNDIsIDYwLCAzNiwgMTE2LCAyMzMsIDIzMiwgMzYsIDMsIDIzNSwgMTAsIDM2LCAzLCAyMzQsIDkyLCAzNiwgCi0gICAgMywgMjM0LCA4MywgMzYsIDMsIDIzMywgMjE3LCAzNiwgMywgMjMzLCAxODgsIDM2LCAzLCAyMzQsIDE4MiwgMzYsIDMsIAotICAgIDIzNCwgMTgxLCAzNiwgMywgMjM0LCAyNDYsIDM2LCAzLCAyMzQsIDI4LCAzNiwgMywgMjM0LCAxMCwgMzYsIDMsIDIzNCwgCi0gICAgMTk1LCAzNiwgMywgMjI5LCA3NiwgMzYsIDMsIDIyOSwgMjcsIDM2LCAzLCAyMjksIDIzLCAzNiwgMywgMjI4LCAyNDgsIDM2LCAKLSAgICAzLCAyMjgsIDI0MSwgMzYsIDMsIDIyOSwgNjQsIDM2LCAzLCAyMjksIDYyLCAzNiwgMywgMjI5LCA3MywgMzYsIDMsIDIyOSwgCi0gICAgNCwgMzYsIDMsIDIyOCwgMjU1LCAzNiwgMywgMjI5LCA2NiwgMzYsIDMsIDI1MSwgMzIsIDM2LCAzLCAyNTAsIDUxLCAzNiwgCi0gICAgMywgMjUwLCA0MSwgMzYsIDMsIDI0OSwgMTEyLCAzNiwgMywgMjQ5LCA4MywgMzYsIDMsIDI1MCwgMTkwLCAzNiwgMywgMjUwLCAKLSAgICAxODIsIDM2LCAzLCAyNTEsIDIyLCAzNiwgMywgMjQ5LCAyMzgsIDM2LCAzLCAyNDksIDE3NCwgMzYsIDMsIDI1MCwgMjIyLCAKLSAgICAzNiwgMywgMjI3LCAxNjQsIDM2LCAzLCAyMjcsIDE0OCwgMzYsIDMsIDIyNywgMTQzLCAzNiwgMywgMjI3LCAxMjgsIDM2LCAKLSAgICAzLCAyMjcsIDEyMSwgMzYsIDMsIDIyNywgMTU2LCAzNiwgMywgMjI3LCAxNTUsIDM2LCAzLCAyMjcsIDE2MSwgMzYsIDMsIAotICAgIDIyNywgMTM0LCAzNiwgMywgMjI3LCAxMzIsIDM2LCAzLCAyMjcsIDE1OSwgMzYsIDMsIDIxNSwgMTU1LCAzNiwgMywgMjE1LCAKLSAgICAxMzUsIDM2LCAzLCAyMTUsIDEzNCwgMzYsIDMsIDIxNSwgMTIzLCAzNiwgMywgMjE1LCAxMjAsIDM2LCAzLCAyMTUsIDE1MSwgCi0gICAgMzYsIDMsIDIxNSwgMTUwLCAzNiwgMywgMjE1LCAxNTQsIDM2LCAzLCAyMTUsIDEzMywgMzYsIDMsIDIxNSwgMTMyLCAzNiwgCi0gICAgMywgMjE1LCAxNTMsIDM2LCAzLCAyMjgsIDEwOSwgMzYsIDMsIDIyOCwgOTUsIDM2LCAzLCAyMjgsIDk0LCAzNiwgMywgMjI4LCAKLSAgICA3OCwgMzYsIDMsIDIyOCwgNzcsIDM2LCAzLCAyMjgsIDEwNSwgMzYsIDMsIDIyOCwgMTA0LCAzNiwgMywgMjI4LCAxMDgsIAotICAgIDM2LCAzLCAyMjgsIDgwLCAzNiwgMywgMjI4LCA3OSwgMzYsIDMsIDIyOCwgMTA3LCAzNiwgMywgMjE3LCAxMDEsIDM2LCAzLCAKLSAgICAyMTYsIDExNywgMzYsIDMsIDIxNiwgMTAzLCAzNiwgMywgMjE1LCAxMTgsIDM2LCAzLCAyMTUsIDg1LCAzNiwgMywgMjE3LCAKLSAgICAyMiwgMzYsIDMsIDIxNywgMTEsIDM2LCAzLCAyMTcsIDc5LCAzNiwgMywgMTExLCAzNiwgMywgMjE2LCAxNywgMzYsIDMsIAotICAgIDIxNywgNDEsIDM2LCAzLCAyMjksIDIyNSwgMzYsIDMsIDIyOCwgMjMzLCAzNiwgMywgMjI4LCAyMDgsIDM2LCAzLCAyMjcsIAotICAgIDIzNywgMzYsIDMsIDIyNywgMTc5LCAzNiwgMywgMjI5LCAxMDcsIDM2LCAzLCAyMjksIDEwMywgMzYsIDMsIDIyOSwgMjEyLCAKLSAgICAzNiwgMywgMjI4LCA3NCwgMzYsIDMsIDIyOCwgNjQsIDM2LCAzLCAyMjksIDE4NywgMzYsIDMsIDIyNiwgODksIDM2LCAzLCAKLSAgICAyMjUsIDEwOCwgMzYsIDMsIDIyNSwgNzEsIDM2LCAzLCAyMjQsIDE1MCwgMzYsIDMsIDIyNCwgMTE5LCAzNiwgMywgMjI1LCAKLSAgICAyMjEsIDM2LCAzLCAyMjUsIDIxMSwgMzYsIDMsIDIyNiwgNzEsIDM2LCAzLCAyMjUsIDE2LCAzNiwgMywgMjI0LCAyNDksIAotICAgIDM2LCAzLCAyMjUsIDIzNCwgMzYsIDMsIDIzMSwgMjM3LCAzNiwgMywgMjMwLCAyMzAsIDM2LCAzLCAyMzAsIDIwMSwgMzYsIAotICAgIDMsIDIzMCwgMTAyLCAzNiwgMywgMjMwLCA1NCwgMzYsIDMsIDIzMSwgOTEsIDM2LCAzLCAyMzEsIDgwLCAzNiwgMywgMjMxLCAKLSAgICAyMDMsIDM2LCAzLCAyMzAsIDE2MSwgMzYsIDMsIDIzMCwgMTMyLCAzNiwgMywgMjMxLCAxMzUsIDM2LCAzLCAyMTEsIDEwMywgCi0gICAgMzYsIDMsIDIxMSwgOCwgMzYsIDMsIDIxMCwgMjU1LCAzNiwgMywgMjEwLCAyMTIsIDM2LCAzLCAyMTAsIDE4MSwgMzYsIDMsIAotICAgIDIxMSwgNDcsIDM2LCAzLCAyMTEsIDQ0LCAzNiwgMywgMjExLCA4MiwgMzYsIDMsIDIxMCwgMjQ0LCAzNiwgMywgMjEwLCAKLSAgICAyMjksIDM2LCAzLCAyMTEsIDU1LCAzNiwgMywgMjIzLCAxODQsIDM2LCAzLCAyMjMsIDM1LCAzNiwgMywgMjIyLCAyMzksIAotICAgIDM2LCAzLCAyMjIsIDE0MCwgMzYsIDMsIDIyMiwgMTEyLCAzNiwgMywgMjIzLCAxMjgsIDM2LCAzLCAyMjMsIDEwOCwgMzYsIAotICAgIDMsIDIyMywgMTY2LCAzNiwgMywgMjIyLCAyMTEsIDM2LCAzLCAyMjIsIDE5NywgMzYsIDMsIDIyMywgMTM2LCAzNiwgMywgCi0gICAgMjMzLCAxMzQsIDM2LCAzLCAyMzIsIDI0MSwgMzYsIDMsIDIzMiwgMjI3LCAzNiwgMywgMjMyLCA5OCwgMzYsIDMsIDIzMiwgCi0gICAgNzMsIDM2LCAzLCAyMzMsIDU4LCAzNiwgMywgMjMzLCA1MCwgMzYsIDMsIDIzMywgMTA5LCAzNiwgMywgMjMyLCAxNTYsIDM2LCAKLSAgICAzLCAyMzIsIDEyNywgMzYsIDMsIDIzMywgNzQsIDM2LCAzLCAyMTQsIDI2LCAzNiwgMywgMjEzLCAxNzYsIDM2LCAzLCAyMTMsIAotICAgIDE2MiwgMzYsIDMsIDIxMiwgMTE2LCAzNiwgMywgMjEyLCAxMDksIDM2LCAzLCAyMTMsIDI1NSwgMzYsIDMsIDIxMywgMjUwLCAKLSAgICAzNiwgMywgMjE0LCAyMywgMzYsIDMsIDIxMywgMTM4LCAzNiwgMywgMjEzLCAxMjcsIDM2LCAzLCAyMTQsIDUsIDM2LCAzLCAKLSAgICAyMzIsIDE3NCwgMzYsIDMsIDIzMiwgMTY5LCAzNiwgMywgMjMyLCAxNjgsIDM2LCAzLCAyMzIsIDE2NSwgMzYsIDMsIDIzMiwgCi0gICAgMTY0LCAzNiwgMywgMjMyLCAxNzEsIDM2LCAzLCAyMzIsIDE3MCwgMzYsIDMsIDIzMiwgMTczLCAzNiwgMywgMjMyLCAxNjcsIAotICAgIDM2LCAzLCAyMzIsIDE2NiwgMzYsIDMsIDIzMiwgMTcyLCAzNiwgMywgMjMyLCAxODMsIDM2LCAzLCAyMzIsIDE3OCwgMzYsIAotICAgIDMsIDIzMiwgMTc3LCAzNiwgMywgMjMyLCAxNjEsIDM2LCAzLCAyMzIsIDE2MCwgMzYsIDMsIDIzMiwgMTgwLCAzNiwgMywgCi0gICAgMjMyLCAxNzksIDM2LCAzLCAyMzIsIDE4MiwgMzYsIDMsIDIzMiwgMTYzLCAzNiwgMywgMjMyLCAxNjIsIDM2LCAzLCAyMzIsIAotICAgIDE4MSwgMzYsIDMsIDIyMiwgMTc4LCAzNiwgMywgMjIyLCAxNjcsIDM2LCAzLCAyMjIsIDE2NiwgMzYsIDMsIDIyMiwgMTYwLCAKLSAgICAzNiwgMywgMjIyLCAxNTMsIDM2LCAzLCAyMjIsIDE3NCwgMzYsIDMsIDIyMiwgMTczLCAzNiwgMywgMjIyLCAxNzcsIDM2LCAKLSAgICAzLCAyMjIsIDE2NSwgMzYsIDMsIDIyMiwgMTY0LCAzNiwgMywgMjIyLCAxNzYsIDM2LCAzLCAyMjgsIDkxLCAzNiwgMywgCi0gICAgMjI4LCA4NiwgMzYsIDMsIDIyOCwgODUsIDM2LCAzLCAyMjgsIDgyLCAzNiwgMywgMjI4LCA4MSwgMzYsIDMsIDIyOCwgODgsIAotICAgIDM2LCAzLCAyMjgsIDg3LCAzNiwgMywgMjI4LCA5MCwgMzYsIDMsIDIyOCwgODQsIDM2LCAzLCAyMjgsIDgzLCAzNiwgMywgCi0gICAgMjI4LCA4OSwgMzYsIDMsIDIzNSwgMTQwLCAzNiwgMywgMjM1LCAxMDgsIDM2LCAzLCAyMzUsIDEwMSwgMzYsIDMsIDIzNSwgCi0gICAgNTEsIDM2LCAzLCAyMzUsIDMzLCAzNiwgMywgMjM1LCAxMjYsIDM2LCAzLCAyMzUsIDEyNCwgMzYsIDMsIDIzNSwgMTM1LCAKLSAgICAzNiwgMywgMjM1LCA2OCwgMzYsIDMsIDIzNSwgNTksIDM2LCAzLCAyMzUsIDEyOSwgMzYsIDMsIDIyMCwgOTgsIDM2LCAzLCAKLSAgICAyMjAsIDMyLCAzNiwgMywgMjIwLCAyNywgMzYsIDMsIDIxOSwgMjI1LCAzNiwgMywgMjE5LCAyMTAsIDM2LCAzLCAyMjAsIAotICAgIDYzLCAzNiwgMywgMjIwLCA2MSwgMzYsIDMsIDIyMCwgOTAsIDM2LCAzLCAyMjAsIDcsIDM2LCAzLCAyMjAsIDEsIDM2LCAzLCAKLSAgICAyMjAsIDcxLCAzNiwgMywgMjE4LCAyMjIsIDM2LCAzLCAyMTgsIDE5MiwgMzYsIDMsIDIxOCwgMTg4LCAzNiwgMywgMjE4LCAKLSAgICAxNzksIDM2LCAzLCAyMTgsIDE3NiwgMzYsIDMsIDIxOCwgMTk3LCAzNiwgMywgMjE4LCAxOTYsIDM2LCAzLCAyMTgsIDIyMSwgCi0gICAgMzYsIDMsIDIxOCwgMTg0LCAzNiwgMywgMjE4LCAxODMsIDM2LCAzLCAyMTgsIDE5OSwgMzYsIDMsIDIyMiwgMzEsIDM2LCAzLCAKLSAgICAyMTksIDE5MSwgMzYsIDMsIDIxOSwgMTc1LCAzNiwgMywgMjE4LCA4MywgMzYsIDMsIDIxOCwgNCwgMzYsIDMsIDIyMSwgCi0gICAgMTgxLCAzNiwgMywgMjIxLCAxNzAsIDM2LCAzLCAyMjIsIDE3LCAzNiwgMywgMjE5LCA1OCwgMzYsIDMsIDIxOSwgNDAsIDM2LCAKLSAgICAzLCAyMjEsIDIxOSwgMzYsIDMsIDI0MiwgNDYsIDM2LCAzLCAyNDEsIDE4MCwgMzYsIDMsIDI0MSwgMTYxLCAzNiwgMywgCi0gICAgMjQwLCAyMjIsIDM2LCAzLCAyNDAsIDIwMiwgMzYsIDMsIDI0MSwgMjM4LCAzNiwgMywgMjQxLCAyMjAsIDM2LCAzLCAyNDIsIAotICAgIDM2LCAzNiwgMywgMjQxLCA2OCwgMzYsIDMsIDI0MSwgNTMsIDM2LCAzLCAyNDEsIDI0NiwgMzYsIDMsIDIzMywgMjMxLCAzNiwgCi0gICAgMywgMjMzLCAyMzAsIDM2LCAzLCAyMzMsIDIyNSwgMzYsIDMsIDIzMywgMjI0LCAzNiwgMywgMjMzLCAyMjEsIDM2LCAzLCAKLSAgICAyMzMsIDIyMCwgMzYsIDMsIDIzMywgMjI3LCAzNiwgMywgMjMzLCAyMjYsIDM2LCAzLCAyMzMsIDIyOSwgMzYsIDMsIDIzMywgCi0gICAgMjIzLCAzNiwgMywgMjMzLCAyMjIsIDM2LCAzLCAyMzMsIDIyOCwgMzYsIDMsIDIxOSwgMjMxLCAxNzUsIDExNiwgNSwgMjExLCAKLSAgICA2OCwgMTc1LCAxMTYsIDUsIDIyMywgMTU1LCAxNzUsIDExNiwgNSwgMjIzLCA3OCwgOTgsIDEsIDIxNSwgMjgsIDY5LCAxMTYsIAotICAgIDUsIDI0OSwgMjMzLCAxNzYsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMzQsIDEzMiwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIAotICAgIDIzNCwgMjgsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMzQsIDEwNSwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIyOSwgNCwgCi0gICAgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDI1MSwgMzMsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyNTAsIDE1NywgNjksIDExNiwgCi0gICAgNSwgMjQ5LCAyMzMsIDI0OSwgMjM4LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjUwLCA4NiwgNjksIDExNiwgNSwgMjQ5LCAKLSAgICAyMzMsIDIyNywgMTM0LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjQ4LCAyMjEsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMTUsIAotICAgIDE0NCwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDI0NywgMTQ1LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjE1LCAxMzksIDY5LCAKLSAgICAxMTYsIDUsIDI0OSwgMjMzLCAxOTcsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMTcsIDEwNSwgNjksIDExNiwgNSwgMjQ5LCAKLSAgICAyMzMsIDIxNiwgMjA4LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMTExLCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjE2LCAxNTYsIAotICAgIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMjgsIDc0LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjUyLCAxOTEsIDY5LCAxMTYsIAotICAgIDUsIDI0OSwgMjMzLCAyMjUsIDE0NywgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIyNSwgMTYsIDY5LCAxMTYsIDUsIDI0OSwgCi0gICAgMjMzLCAyMjUsIDEyMSwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIzMCwgMTYxLCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjEwLCAKLSAgICAyNDQsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMjIsIDIxMSwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIzMiwgMTU2LCA2OSwgCi0gICAgMTE2LCA1LCAyNDksIDIzMywgMjEzLCAxMzgsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMjAsIDEwMiwgNjksIDExNiwgNSwgCi0gICAgMjQ5LCAyMzMsIDIxOCwgMjIzLCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjA2LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMTYyLCAKLSAgICA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjMzLCAxMzUsIDY5LCAyNSwgNSwgMjQ5LCAyMzMsIDIyNCwgODgsIDY5LCAyMzUsIAotICAgIDI0MywgMjUsIDUsIDI0OSwgMjMzLCAyMjQsIDMwLCA2OSwgMjM1LCAyNDMsIDI1LCA1LCAyNDksIDIzMywgMjIyLCAxMDAsIAotICAgIDY5LCAyMzUsIDI0MywgMjUsIDUsIDI0OSwgMjMzLCAyMjIsIDkzLCA2OSwgMjM1LCAyNDMsIDI1LCA1LCAyNDksIDIzMywgCi0gICAgMjI0LCA2OSwgNjksIDI1LCA1LCAyMjYsIDIwNCwgNjksIDI1LCA1LCAyNTUsIDM0LCAxNDEsIDEsIDI1MSwgMjU1LCAyMjksIAotICAgIDc3LCAxNDEsIDEsIDI1MSwgMjU1LCAyMjksIDI3LCAxNDEsIDEsIDI1MSwgMjU1LCAyMjgsIDI0OCwgMTQxLCAxLCAyNTEsIAotICAgIDI1NSwgMjI5LCA2NCwgMTQxLCAxLCAyNTEsIDI1NSwgMjI5LCA0LCA1NiwgMSwgMjUxLCAyNTUsIDIyOSwgNzcsIDU2LCAxLCAKLSAgICAyNTEsIDI1NSwgMjI5LCAyNywgNTYsIDEsIDI1MSwgMjU1LCAyMjgsIDI0OCwgNTYsIDEsIDI1MSwgMjU1LCAyMjksIDY0LCAKLSAgICA1NiwgMSwgMjUxLCAyNTUsIDIyOSwgNCwgNTYsIDEsIDI1NCwgMTk0LCAyNTAsIDE5MCwgNTYsIDEsIDI1NCwgMTk0LCAyMTUsIAotICAgIDExOCwgNTYsIDEsIDI1NCwgMTk0LCAxMTEsIDU2LCAxLCAyNTQsIDE5NCwgMjI2LCAxMDUsIDU4LCAxLCAyNDUsIDIwLCAKLSAgICAyNDUsIDE5LCAyNDksIDE4MiwgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDE5LCAyNDUsIDIwLCAyNDksIDE4MiwgMTM4LCAxMzAsIAorICAgIDExNywgMTI5LCA3LCA0LCAxLCAyMTAsIDE1OSwgMTI5LCA0MywgMjQ5LCAxMDAsIDEyNywgMTI5LCA2NywgMjMyLCAyMTQsIAorICAgIDEyOSwgNDQsIDI0OSwgMTAwLCAxMjcsIDEyOSwgMTgzLCAyNTEsIDcsIDIxNywgODUsIDQ1LCAyMjEsIDc5LCA0NSwgMjIxLCAKKyAgICA2OCwgNDUsIDIyMSwgNTcsIDQ1LCAyMjEsIDQ1LCA0NSwgMjIxLCAzNCwgNDUsIDIyMSwgMjMsIDQ1LCAyMjEsIDEyLCA0NSwgCisgICAgMjIxLCAxLCA0NSwgMjIwLCAyNDYsIDQ1LCAyMjAsIDIzOCwgNDUsIDIyMCwgMjM3LCA0NSwgMjIwLCAyMzYsIDQ1LCAyMjAsIAorICAgIDIzNSwgNDUsIDIyMCwgMjMzLCA0NSwgMjIwLCAyMzIsIDQ1LCAyMjAsIDIzMSwgNDUsIDIyMCwgMjMwLCA0NSwgMjIwLCAKKyAgICAyMjksIDQ1LCAyMjAsIDIyOCwgNDUsIDIyMCwgMjI3LCA0NSwgMjIwLCAyMjYsIDQ1LCAyMjAsIDIyNSwgNDUsIDIyMCwgCisgICAgMjI0LCA0NSwgMjIwLCAyMjIsIDQ1LCAyMjAsIDIyMSwgNDUsIDIyMCwgMjIwLCA0NSwgMjIwLCAyMTksIDQ1LCAyMjAsIAorICAgIDIxOCwgNDUsIDIyMCwgMjE3LCA0NSwgMjIwLCAyMTYsIDQ1LCAyMjAsIDIxNSwgNDUsIDIyMCwgMjE0LCA0NSwgMjIwLCAKKyAgICAyMTMsIDQ1LCAyMjAsIDIxMSwgNDUsIDIyMCwgMjEwLCA0NSwgMjIwLCAyMDksIDQ1LCAyMjAsIDIwOCwgNDUsIDIyMCwgCisgICAgMjA3LCA0NSwgMjIwLCAyMDYsIDQ1LCAyMjAsIDIwNSwgNDUsIDIyMCwgMjA0LCA0NSwgMjIwLCAyMDMsIDQ1LCAyMjAsIAorICAgIDIwMiwgNDUsIDIyMCwgMjAwLCA0NSwgMjIwLCAxOTksIDQ1LCAyMjAsIDE5OCwgNDUsIDIyMCwgMTk3LCA0NSwgMjIwLCAKKyAgICAxOTYsIDQ1LCAyMjAsIDE5NSwgNDUsIDIyMCwgMTk0LCA0NSwgMjIwLCAxOTMsIDQ1LCAyMjAsIDE5MiwgNDUsIDIyMCwgCisgICAgMTkxLCA0NSwgMjIwLCAxODksIDQ1LCAyMjAsIDE4OCwgNDUsIDIyMCwgMTg3LCA0NSwgMjIwLCAxODYsIDQ1LCAyMjAsIAorICAgIDE4NSwgNDUsIDIyMCwgMTg0LCA0NSwgMjIwLCAxODMsIDQ1LCAyMjAsIDE4MiwgNDUsIDIyMCwgMTgxLCA0NSwgMjIwLCAKKyAgICAxODAsIDQ1LCAyMjAsIDE3OCwgNDUsIDIyMCwgMTc3LCA0NSwgMjIwLCAxNzYsIDQ1LCAyMjAsIDE3NSwgNDUsIDIyMCwgCisgICAgMTc0LCA0NSwgMjIwLCAxNzMsIDQ1LCAyMjAsIDE3MiwgNDUsIDIyMCwgMTcxLCA0NSwgMjIwLCAxNzAsIDQ1LCAyMjAsIAorICAgIDE2OSwgNDUsIDIyMCwgMTY3LCA0NSwgMjIwLCAxNjYsIDQ1LCAyMjAsIDE2NSwgNDUsIDIyMCwgMTY0LCA0NSwgMjIwLCAKKyAgICAxNjMsIDQ1LCAyMjAsIDE2MiwgNDUsIDIyMCwgMTYxLCA0NSwgMjIwLCAxNjAsIDQ1LCAyMjAsIDE1OSwgNDUsIDIyMCwgCisgICAgMTU4LCA0NSwgMjIxLCAxNTUsIDQ1LCAyMjEsIDE1NCwgNDUsIDIyMSwgMTUzLCA0NSwgMjIxLCAxNTIsIDQ1LCAyMjEsIAorICAgIDE1MSwgNDUsIDIyMSwgMTUwLCA0NSwgMjIxLCAxNDksIDQ1LCAyMjEsIDE0OCwgNDUsIDIyMSwgMTQ3LCA0NSwgMjIxLCAKKyAgICAxNDYsIDQ1LCAyMjEsIDE0NCwgNDUsIDIyMSwgMTQzLCA0NSwgMjIxLCAxNDIsIDQ1LCAyMjEsIDE0MSwgNDUsIDIyMSwgCisgICAgMTQwLCA0NSwgMjIxLCAxMzksIDQ1LCAyMjEsIDEzOCwgNDUsIDIyMSwgMTM3LCA0NSwgMjIxLCAxMzYsIDQ1LCAyMjEsIAorICAgIDEzNSwgNDUsIDIyMSwgMTMzLCA0NSwgMjIxLCAxMzIsIDQ1LCAyMjEsIDEzMSwgNDUsIDIyMSwgMTMwLCA0NSwgMjIxLCAKKyAgICAxMjksIDQ1LCAyMjEsIDEyOCwgNDUsIDIyMSwgMTI3LCA0NSwgMjIxLCAxMjYsIDQ1LCAyMjEsIDEyNSwgNDUsIDIyMSwgCisgICAgMTI0LCA0NSwgMjIxLCAxMjIsIDQ1LCAyMjEsIDEyMSwgNDUsIDIyMSwgMTIwLCA0NSwgMjIxLCAxMTksIDQ1LCAyMjEsIAorICAgIDExOCwgNDUsIDIyMSwgMTE3LCA0NSwgMjIxLCAxMTYsIDQ1LCAyMjEsIDExNSwgNDUsIDIyMSwgMTE0LCA0NSwgMjIxLCAKKyAgICAxMTMsIDQ1LCAyMjEsIDExMSwgNDUsIDIyMSwgMTEwLCA0NSwgMjIxLCAxMDksIDQ1LCAyMjEsIDEwOCwgNDUsIDIyMSwgCisgICAgMTA3LCA0NSwgMjIxLCAxMDYsIDQ1LCAyMjEsIDEwNSwgNDUsIDIyMSwgMTA0LCA0NSwgMjIxLCAxMDMsIDQ1LCAyMjEsIAorICAgIDEwMiwgNDUsIDIyMSwgMTAwLCA0NSwgMjIxLCA5OSwgNDUsIDIyMSwgOTgsIDQ1LCAyMjEsIDk3LCA0NSwgMjIxLCA5NiwgCisgICAgNDUsIDIyMSwgOTUsIDQ1LCAyMjEsIDk0LCA0NSwgMjIxLCA5MywgNDUsIDIyMSwgOTIsIDQ1LCAyMjEsIDkxLCA0NSwgMjIxLCAKKyAgICA4OSwgNDUsIDIyMSwgODgsIDQ1LCAyMjEsIDg3LCA0NSwgMjIxLCA4NiwgNDUsIDIyMSwgODUsIDQ1LCAyMjEsIDg0LCA0NSwgCisgICAgMjIxLCA4MywgNDUsIDIyMSwgODIsIDQ1LCAyMjEsIDgxLCA0NSwgMjIxLCA4MCwgNDUsIDIyMSwgNzgsIDQ1LCAyMjEsIDc3LCAKKyAgICA0NSwgMjIxLCA3NiwgNDUsIDIyMSwgNzUsIDQ1LCAyMjEsIDc0LCA0NSwgMjIxLCA3MywgNDUsIDIyMSwgNzIsIDQ1LCAyMjEsIAorICAgIDcxLCA0NSwgMjIxLCA3MCwgNDUsIDIyMSwgNjksIDQ1LCAyMjEsIDY3LCA0NSwgMjIxLCA2NiwgNDUsIDIyMSwgNjUsIDQ1LCAKKyAgICAyMjEsIDY0LCA0NSwgMjIxLCA2MywgNDUsIDIyMSwgNjIsIDQ1LCAyMjEsIDYxLCA0NSwgMjIxLCA2MCwgNDUsIDIyMSwgNTksIAorICAgIDQ1LCAyMjEsIDU4LCA0NSwgMjIxLCA1NiwgNDUsIDIyMSwgNTUsIDQ1LCAyMjEsIDU0LCA0NSwgMjIxLCA1MywgNDUsIDIyMSwgCisgICAgNTIsIDQ1LCAyMjEsIDUxLCA0NSwgMjIxLCA1MCwgNDUsIDIyMSwgNDksIDQ1LCAyMjEsIDQ4LCA0NSwgMjIxLCA0NywgNDUsIAorICAgIDIyMSwgNDQsIDQ1LCAyMjEsIDQzLCA0NSwgMjIxLCA0MiwgNDUsIDIyMSwgNDEsIDQ1LCAyMjEsIDQwLCA0NSwgMjIxLCAzOSwgCisgICAgNDUsIDIyMSwgMzgsIDQ1LCAyMjEsIDM3LCA0NSwgMjIxLCAzNiwgNDUsIDIyMSwgMzUsIDQ1LCAyMjEsIDMzLCA0NSwgMjIxLCAKKyAgICAzMiwgNDUsIDIyMSwgMzEsIDQ1LCAyMjEsIDMwLCA0NSwgMjIxLCAyOSwgNDUsIDIyMSwgMjgsIDQ1LCAyMjEsIDI3LCA0NSwgCisgICAgMjIxLCAyNiwgNDUsIDIyMSwgMjUsIDQ1LCAyMjEsIDI0LCA0NSwgMjIxLCAyMiwgNDUsIDIyMSwgMjEsIDQ1LCAyMjEsIDIwLCAKKyAgICA0NSwgMjIxLCAxOSwgNDUsIDIyMSwgMTgsIDQ1LCAyMjEsIDE3LCA0NSwgMjIxLCAxNiwgNDUsIDIyMSwgMTUsIDQ1LCAyMjEsIAorICAgIDE0LCA0NSwgMjIxLCAxMywgNDUsIDIyMSwgMTEsIDQ1LCAyMjEsIDEwLCA0NSwgMjIxLCA5LCA0NSwgMjIxLCA4LCA0NSwgCisgICAgMjIxLCA3LCA0NSwgMjIxLCA2LCA0NSwgMjIxLCA1LCA0NSwgMjIxLCA0LCA0NSwgMjIxLCAzLCA0NSwgMjIxLCAyLCA0NSwgCisgICAgMjIxLCAwLCA0NSwgMjIwLCAyNTUsIDQ1LCAyMjAsIDI1NCwgNDUsIDIyMCwgMjUzLCA0NSwgMjIwLCAyNTIsIDQ1LCAyMjAsIAorICAgIDI1MSwgNDUsIDIyMCwgMjUwLCA0NSwgMjIwLCAyNDksIDQ1LCAyMjAsIDI0OCwgNDUsIDIyMCwgMjQ3LCA0NSwgMjIwLCAKKyAgICAyNDUsIDQ1LCAyMjAsIDI0NCwgNDUsIDIyMCwgMjQzLCA0NSwgMjIwLCAyNDIsIDQ1LCAyMjAsIDI0MSwgNDUsIDIyMCwgCisgICAgMjQwLCA0NSwgMjIwLCAyMzksIDIyNywgMjAzLCAyMjcsIDIwNSwgMjE4LCAxNTMsIDY0LCAyNDEsIDIzNCwgMjE5LCA0OSwgCisgICAgMjE4LCAxNTMsIDY0LCAyMTYsIDIxMywgMjE4LCA4NiwgMjQ1LCAxNDQsIDY0LCAyMTYsIDIxMywgMjQ1LCA1NywgMjQ1LCAKKyAgICAxNDQsIDY0LCAyMTUsIDI0NCwgMjQ1LCAxMTAsIDI0NSwgMTMzLCAyNDUsIDEzNCwgMjU1LCA4LCAyNTUsIDksIDI1NCwgCisgICAgMTY4LCAyNTIsIDQ4LCAyNTIsIDE4MCwgMjUxLCAxMzIsIDEzNSwgMjE3LCA5MCwgMjAzLCAyMTcsIDkwLCAyNDAsIDIyOCwgCisgICAgMjE3LCA5NCwgMjMyLCAyMTUsIDI0NCwgMTQ2LCAxNjYsIDIzMiwgMjE0LCAyNDUsIDE0NCwgNjQsIDIzMiwgMjE0LCAyMzMsIAorICAgIDEsIDIyOCwgMTM2LCAyNDUsIDExMywgMjMyLCAyMTUsIDIxNywgOTAsIDY3LCAyMTcsIDkwLCAyMTIsIDExOCwgMjQ0LCAyMSwgCisgICAgMjQ0LCAxNDYsIDI0NCwgMTI2LCAyNTAsIDIzMSwgMjIzLCA1NCwgMjQ5LCAxNDQsIDIyMCwgMjksIDIyNiwgMTMxLCAyMzIsIAorICAgIDE1MSwgMTEwLCAyMTksIDU5LCAyMjAsIDI5LCAyMzYsIDAsIDIzMiwgMTUxLCAyMTAsIDg2LCAyMTksIDE5MiwgMjQ4LCAKKyAgICAxNTIsIDIzMiwgMjA1LCAyNDUsIDc4LCAyNDcsIDE1NiwgMjQ4LCAzMiwgMjQ5LCAxNzksIDExMCwgMjQ4LCAxNDIsIDI0OCwgCisgICAgMzIsIDI0OSwgMTc5LCAxMDUsIDI0OCwgMTQxLCAyNDgsIDMyLCAyNDksIDE3OSwgMTU4LCAyNDgsIDE0MCwgMjQ4LCAzMiwgCisgICAgMjQ5LCAxNzksIDE2MSwgMjQ4LCAxMzksIDE1MiwgMjU1LCA4LCAyMjksIDIxMCwgMjE3LCAxNzgsIDIzNiwgNjMsIDIxNywgCisgICAgMTgxLCAyNDUsIDE0NCwgNjQsIDIxNSwgMjQ1LCAyNTEsIDIxNCwgMjQ1LCA2MywgMjUxLCA2LCAyNTEsIDgsIDI0NSwgMTQ0LCAKKyAgICA2NCwgMjMxLCA4MiwgMjQ1LCAxMTEsIDIxOCwgNjIsIDIxOCwgNzksIDI0NSwgNzgsIDI0NSwgNzksIDIzNSwgMjMzLCAyMjAsIAorICAgIDEzOSwgMTYxLCAyNDQsIDEwOCwgMjIwLCAxMzgsIDI0MywgMjM4LCAyMzUsIDIzMywgMjIwLCAxMzksIDE1OCwgMjQyLCAKKyAgICAxMjIsIDIyMCwgMTM4LCAyNDIsIDExOSwgMjM1LCAyMzMsIDIyMCwgMTM5LCAxMDUsIDIyMywgMTIyLCAyMjAsIDEzOCwgCisgICAgMjIyLCAxNDYsIDIzNSwgMjMzLCAyMjAsIDEzOSwgMTEwLCAyMTQsIDE3NCwgMjIwLCAxMzgsIDIxNCwgMTMzLCAyMTksIDIyLCAKKyAgICAyNDgsIDY0LCAyNDgsIDY2LCAyMjYsIDc5LCAyNTAsIDE0MywgMjI2LCA4MSwgMTI1LCAyMjYsIDI0MSwgMjI0LCAxOTQsIAorICAgIDI0MSwgNDgsIDI1MSwgMTUxLCAyMjUsIDE3NCwgMjQxLCAyMDQsIDI1MSwgMTYyLCAyMjgsIDc2LCAyNTEsIDE1MSwgMjQxLCAKKyAgICAyMDQsIDIyOSwgMTc2LCAyMzUsIDI0MywgMjM1LCAyNDUsIDIyOSwgODMsIDIzMiwgMjE0LCAyMjksIDEwMCwgMjE4LCAxNTMsIAorICAgIDY0LCAyMjEsIDE1OSwgMjU0LCAxOSwgMjE4LCAyMjQsIDI0NSwgMTQ0LCA2NCwgMjIxLCAxNTksIDI1NCwgMTksIDI0NSwgCisgICAgODEsIDEzNSwgMjE3LCA5MSwgMjIwLCAxMjgsIDIwMywgMjE3LCA5MSwgMjIwLCAxMjgsIDI0MCwgMjI1LCAxMzUsIDIxNywgCisgICAgOTEsIDIsIDIzNSwgMzYsIDIwMywgMjE3LCA5MSwgMiwgMjM1LCAzNiwgMjQwLCAyMjYsIDIzMiwgMjE1LCAyMTcsIDkxLCAKKyAgICAyMjAsIDEyOCwgNjcsIDIxNywgOTEsIDIyMCwgMTI4LCAyMTIsIDExNywgMjI1LCAyNTQsIDIzMiwgMjE1LCAyNDQsIDE1LCAKKyAgICAyMjUsIDI1NCwgMjMyLCAyMTUsIDI0NiwgMTA3LCAyMjUsIDMzLCAyMjUsIDI1NCwgMjMyLCAyMTUsIDI1MiwgMTc5LCAyMjUsIAorICAgIDI1NCwgMjMyLCAyMTUsIDIxNCwgMTYzLCAyMjUsIDI5LCAyMjMsIDUxLCAyMzIsIDIxNSwgMjQ0LCAxNDYsIDIyMywgNTEsIAorICAgIDIzNSwgMjQzLCAyMjMsIDM2LCAyMTksIDE1NiwgMjIwLCAyOSwgMTA1LCAyMTksIDE1MywgMjE4LCAyMjYsIDIxOSwgMTU2LCAKKyAgICAyMjAsIDI5LCAxNTgsIDIxOSwgMTUyLCAyMTgsIDIyNSwgMjQ4LCAzMiwgMjQ5LCAxNzksIDIxOCwgMTA2LCAyNDgsIDEzOCwgCisgICAgMjI0LCAxODQsIDIxNCwgMTMyLCAxMTAsIDIyNCwgMTg0LCAyMTQsIDEzMCwgMjI0LCAxNTAsIDIyNCwgMTg0LCAyMTQsIAorICAgIDEzMiwgMTA1LCAyMjQsIDE4NCwgMjE0LCAxMjksIDIyNCwgMTQ5LCAyMjAsIDEyOSwgMjE1LCAyNDMsIDIxOCwgMTUyLCAKKyAgICAyMTgsIDkwLCAyNTEsIDcsIDI1MCwgMTQzLCAyNTAsIDIxMCwgMjMxLCA0NCwgMjEyLCA1OSwgMjMwLCA0NCwgMjE4LCAxNTMsIAorICAgIDY0LCAyNDIsIDEwOCwgMjU0LCAxOSwgMjE4LCAxNTMsIDY0LCAyMjQsIDE2NywgMjU0LCAxOSwgMjE5LCAyMSwgMjQ1LCAKKyAgICAxNDQsIDY0LCAyNDIsIDEwOCwgMjU0LCAxOSwgMjQ1LCAxNDQsIDY0LCAyMjQsIDE2NywgMjU0LCAxOSwgMjQ1LCAxMDgsIAorICAgIDIxOCwgMTUzLCA2NCwgMjE4LCAxMDYsIDIxOSwgMzYsIDIxOSwgMTU2LCAyNDIsIDE0MiwgMTM1LCAyMzUsIDE5NiwgMjIwLCAKKyAgICAxMDgsIDIxOSwgMTU2LCAxMzUsIDIzNSwgMTk2LCAyMjEsIDE5NSwgMjQ5LCAxNzksIDIyMCwgMTM2LCAyMzUsIDE5NiwgCisgICAgMjQ5LCAxMTQsIDIxOCwgMTA3LCAyMTYsIDIzNywgMjE4LCAxNjksIDIyNiwgMTcwLCAyMTcsIDE2OCwgMjQ5LCAyMTksIAorICAgIDIyNiwgMTQzLCAyMjQsIDE4NSwgMjMxLCA0MywgMjI1LCAyMCwgMjU0LCA1NCwgMjI0LCAxNzksIDI0OSwgMjE5LCAyNTQsIAorICAgIDcwLCAyMjksIDE2NCwgMjE5LCAyMDEsIDcsIDYsIDEsIDI0MiwgMjUwLCA3LCA0LCAxLCAyNDIsIDI1MCwgMjUwLCAxNjAsIAorICAgIDE4MiwgMjE4LCA2OCwgMjQ5LCAyMjgsIDIxOSwgMTA3LCAyMzMsIDQ3LCAxNjUsIDEsIDIzMiwgMTc2LCAyMDksIDIwOSwgMSwgCisgICAgMjQ0LCA0NSwgMjQ0LCAzNywgMjA5LCAyMDksIDEsIDI0NCwgNDUsIDI0NCwgMTU4LCAyMDksIDIwOSwgMSwgMjIyLCAyMTIsIAorICAgIDIwOSwgMjA5LCAxLCAyMzIsIDE1NywgNjMsIDE2NCwgMjUxLCAyMjQsIDIyMCwgNCwgMjQyLCAyMTYsIDIzMCwgMjQ5LCAKKyAgICAyMjMsIDQyLCAyNDMsIDIxNywgMjQzLCAyMTYsIDI0MywgMjE1LCAyMzAsIDQ2LCAyMDksIDI1MSwgMjA5LCAyNTIsIDIwOSwgCisgICAgMjU0LCAyMzIsIDEwMywgMjIyLCAyMjAsIDIzMiwgMTA0LCAyMjIsIDIyMSwgMjI1LCAyMjQsIDIzMiwgMTAyLCAyMjIsIAorICAgIDIxOSwgMjI4LCAxMDcsIDIzMCwgMTY2LCAyMTEsIDIyOSwgMjEyLCAxNSwgMjQ1LCAxNjMsIDI0MywgMjI3LCAyMzAsIDIzMCwgCisgICAgMjI2LCAxOTgsIDIxNCwgMTM0LCA4NywgMjMwLCAyMzAsIDI0OCwgMTU4LCA4NywgOCwgMywgMjM1LCAxNTksIDc4LCAyMjQsIAorICAgIDE5NSwgMjQ0LCAyMSwgMzEsIDY3LCA0NCwgNzEsIDIzMywgMjEsIDEyNywgMjEzLCAxMTgsIDIxMywgNywgMjEyLCAxOTUsIAorICAgIDIxMiwgMTg0LCAyMTIsIDE3MywgMjEyLCAxNjIsIDIxMiwgMTUxLCAyMTIsIDE0MCwgMjEyLCAxMjksIDIxMywgMTE3LCAKKyAgICAyMTMsIDEwNiwgMjEzLCA5NSwgMjEzLCA4NCwgMjEzLCA3MywgMjEzLCA2MiwgMjEzLCA1MSwgMjUxLCA3MiwgMjI2LCAxNTYsIAorICAgIDc4LCAyNTEsIDE5NywgMjA5LCAyNTMsIDQ5LCAyOCwgMTYsIDI0MywgMjM3LCAyMTksIDEwMywgMjUwLCA3NCwgMjE0LCA5LCAKKyAgICAyMTMsIDQwLCAyMTMsIDI5LCAyMTMsIDE4LCAyMTMsIDYsIDIxMiwgMjUxLCAyMTIsIDI0MCwgMjEyLCAyMjksIDIxMiwgCisgICAgMjE4LCAyMTIsIDIwNywgMjEyLCAxOTksIDIxMiwgMTk4LCAyMTIsIDE5NywgMjEyLCAxOTYsIDIxMiwgMTk0LCAyMTIsIAorICAgIDE5MywgMjEyLCAxOTIsIDIxMiwgMTkxLCAyMTIsIDE5MCwgMjEyLCAxODksIDIxMiwgMTg4LCAyMTIsIDE4NywgMjEyLCAKKyAgICAxODYsIDIxMiwgMTg1LCAyMTIsIDE4MywgMjEyLCAxODIsIDIxMiwgMTgxLCAyMTIsIDE4MCwgMjEyLCAxNzksIDIxMiwgCisgICAgMTc4LCAyMTIsIDE3NywgMjEyLCAxNzYsIDIxMiwgMTc1LCAyMTIsIDE3NCwgMjEyLCAxNzIsIDIxMiwgMTcxLCAyMTIsIAorICAgIDE3MCwgMjEyLCAxNjksIDIxMiwgMTY4LCAyMTIsIDE2NywgMjEyLCAxNjYsIDIxMiwgMTY1LCAyMTIsIDE2NCwgMjEyLCAKKyAgICAxNjMsIDIxMiwgMTYxLCAyMTIsIDE2MCwgMjEyLCAxNTksIDIxMiwgMTU4LCAyMTIsIDE1NywgMjEyLCAxNTYsIDIxMiwgCisgICAgMTU1LCAyMTIsIDE1NCwgMjEyLCAxNTMsIDIxMiwgMTUyLCAyMTIsIDE1MCwgMjEyLCAxNDksIDIxMiwgMTQ4LCAyMTIsIAorICAgIDE0NywgMjEyLCAxNDYsIDIxMiwgMTQ1LCAyMTIsIDE0NCwgMjEyLCAxNDMsIDIxMiwgMTQyLCAyMTIsIDE0MSwgMjEyLCAKKyAgICAxMzksIDIxMiwgMTM4LCAyMTIsIDEzNywgMjEyLCAxMzYsIDIxMiwgMTM1LCAyMTIsIDEzNCwgMjEyLCAxMzMsIDIxMiwgCisgICAgMTMyLCAyMTIsIDEzMSwgMjEyLCAxMzAsIDIxMiwgMTI4LCAyMTIsIDEyNywgMjEyLCAxMjYsIDIxMiwgMTI1LCAyMTIsIAorICAgIDEyNCwgMjEyLCAxMjMsIDIxMiwgMTIyLCAyMTIsIDEyMSwgMjEyLCAxMjAsIDIxMiwgMTE5LCAyMTMsIDExNiwgMjEzLCAKKyAgICAxMTUsIDIxMywgMTE0LCAyMTMsIDExMywgMjEzLCAxMTIsIDIxMywgMTExLCAyMTMsIDExMCwgMjEzLCAxMDksIDIxMywgCisgICAgMTA4LCAyMTMsIDEwNywgMjEzLCAxMDUsIDIxMywgMTA0LCAyMTMsIDEwMywgMjEzLCAxMDIsIDIxMywgMTAxLCAyMTMsIAorICAgIDEwMCwgMjEzLCA5OSwgMjEzLCA5OCwgMjEzLCA5NywgMjEzLCA5NiwgMjEzLCA5NCwgMjEzLCA5MywgMjEzLCA5MiwgMjEzLCAKKyAgICA5MSwgMjEzLCA5MCwgMjEzLCA4OSwgMjEzLCA4OCwgMjEzLCA4NywgMjEzLCA4NiwgMjEzLCA4NSwgMjEzLCA4MywgMjEzLCAKKyAgICA4MiwgMjEzLCA4MSwgMjEzLCA4MCwgMjEzLCA3OSwgMjEzLCA3OCwgMjEzLCA3NywgMjEzLCA3NiwgMjEzLCA3NSwgMjEzLCAKKyAgICA3NCwgMjEzLCA3MiwgMjEzLCA3MSwgMjEzLCA3MCwgMjEzLCA2OSwgMjEzLCA2OCwgMjEzLCA2NywgMjEzLCA2NiwgMjEzLCAKKyAgICA2NSwgMjEzLCA2NCwgMjEzLCA2MywgMjEzLCA2MSwgMjEzLCA2MCwgMjEzLCA1OSwgMjEzLCA1OCwgMjEzLCA1NywgMjEzLCAKKyAgICA1NiwgMjEzLCA1NSwgMjEzLCA1NCwgMjEzLCA1MywgMjEzLCA1MiwgMjEzLCA1MCwgMjEzLCA0OSwgMjEzLCA0OCwgMjEzLCAKKyAgICA0NywgMjEzLCA0NiwgMjEzLCA0NSwgMjEzLCA0NCwgMjEzLCA0MywgMjEzLCA0MiwgMjEzLCA0MSwgMjEzLCAzOSwgMjEzLCAKKyAgICAzOCwgMjEzLCAzNywgMjEzLCAzNiwgMjEzLCAzNSwgMjEzLCAzNCwgMjEzLCAzMywgMjEzLCAzMiwgMjEzLCAzMSwgMjEzLCAKKyAgICAzMCwgMjEzLCAyOCwgMjEzLCAyNywgMjEzLCAyNiwgMjEzLCAyNSwgMjEzLCAyNCwgMjEzLCAyMywgMjEzLCAyMiwgMjEzLCAKKyAgICAyMSwgMjEzLCAyMCwgMjEzLCAxOSwgMjEzLCAxNywgMjEzLCAxNiwgMjEzLCAxNSwgMjEzLCAxNCwgMjEzLCAxMywgMjEzLCAKKyAgICAxMiwgMjEzLCAxMSwgMjEzLCAxMCwgMjEzLCA5LCAyMTMsIDgsIDIxMywgNSwgMjEzLCA0LCAyMTMsIDMsIDIxMywgMiwgCisgICAgMjEzLCAxLCAyMTMsIDAsIDIxMiwgMjU1LCAyMTIsIDI1NCwgMjEyLCAyNTMsIDIxMiwgMjUyLCAyMTIsIDI1MCwgMjEyLCAKKyAgICAyNDksIDIxMiwgMjQ4LCAyMTIsIDI0NywgMjEyLCAyNDYsIDIxMiwgMjQ1LCAyMTIsIDI0NCwgMjEyLCAyNDMsIDIxMiwgCisgICAgMjQyLCAyMTIsIDI0MSwgMjEyLCAyMzksIDIxMiwgMjM4LCAyMTIsIDIzNywgMjEyLCAyMzYsIDIxMiwgMjM1LCAyMTIsIAorICAgIDIzNCwgMjEyLCAyMzMsIDIxMiwgMjMyLCAyMTIsIDIzMSwgMjEyLCAyMzAsIDIxMiwgMjI4LCAyMTIsIDIyNywgMjEyLCAKKyAgICAyMjYsIDIxMiwgMjI1LCAyMTIsIDIyNCwgMjEyLCAyMjMsIDIxMiwgMjIyLCAyMTIsIDIyMSwgMjEyLCAyMjAsIDIxMiwgCisgICAgMjE5LCAyMTIsIDIxNywgMjEyLCAyMTYsIDIxMiwgMjE1LCAyMTIsIDIxNCwgMjEyLCAyMTMsIDIxMiwgMjEyLCAyMTIsIAorICAgIDIxMSwgMjEyLCAyMTAsIDIxMiwgMjA5LCAyMTIsIDIwOCwgMjEyLCAyMDYsIDIxMiwgMjA1LCAyMTIsIDIwNCwgMjEyLCAKKyAgICAyMDMsIDIxMiwgMjAyLCAyMTIsIDIwMSwgMjEyLCAyMDAsIDcsIDYsIDEsIDExNSwgMiwgMjMxLCAyMzQsIDIyLCAyNDIsIAorICAgIDEzNywgNywgNCwgMSwgMTE1LCAyLCAyMzEsIDIzNCwgMjIsIDI0MiwgMTM3LCA3LCA2LCAxLCAxNjAsIDIsIDY3LCAyMzIsIAorICAgIDIxNSwgNTEsIDcsIDQsIDEsIDE2MCwgMiwgNjcsIDIzMiwgMjE1LCA1MSwgNywgNiwgMSwgMTYwLCAyLCA2NywgMjMyLCAKKyAgICAyMTUsIDI1MiwgNDQsIDIyLCAyNDIsIDEzNywgNywgNCwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMTUsIDI1MiwgNDQsIDIyLCAKKyAgICAyNDIsIDEzNywgNywgNiwgMSwgMTYwLCAyLCA2NywgMjMyLCAyMTUsIDI1MiwgNDQsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgCisgICAgMiwgNjcsIDIzMiwgMjE1LCAyNTIsIDQ0LCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzIsIDIyLCAyMzEsIAorICAgIDIzMywgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDMyLCAyMiwgMjMxLCAyMzMsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMiwgCisgICAgMjIsIDI1MCwgMjM1LCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzIsIDIyLCAyNTAsIDIzNSwgNywgNiwgMSwgMjQwLCAxNTUsIAorICAgIDIsIDIzMSwgMjM0LCAyMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDI0MCwgMTU1LCAyLCAyMzEsIDIzNCwgMjIsIDI0MiwgMTM3LCAKKyAgICA3LCA0LCAxLCAyNDAsIDE1NSwgMiwgNTksIDc3LCAyMiwgMTQyLCA3LCA0LCAxLCAyMjksIDgxLCAyLCAyMTYsIDkwLCA0OCwgCisgICAgNywgNiwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMTUsIDUxLCA3LCA0LCAxLCAxNDQsIDIsIDY3LCAyMzIsIDIxNSwgNTEsIDcsIAorICAgIDYsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjE1LCAyNTIsIDQ0LCAyMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDE0NCwgMiwgNjcsIAorICAgIDIzMiwgMjE1LCAyNTIsIDQ0LCAyMiwgMjQyLCAxMzcsIDcsIDYsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjE1LCAyNTIsIDQ0LCAKKyAgICAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDY3LCAyMzIsIDIxNSwgMjUyLCA0NCwgMjIsIDE0MiwgNywgNiwgMSwgMjIyLCAKKyAgICA5MywgMiwgNjcsIDIzMiwgMjE1LCA1MSwgNywgNCwgMSwgMjIyLCA5MywgMiwgNjcsIDIzMiwgMjE1LCA1MSwgNywgNiwgMSwgCisgICAgMTA0LCAyLCAyMzEsIDIzNCwgMjIsIDI0MiwgMTM3LCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgMjM0LCAyMiwgMjQyLCAxMzcsIAorICAgIDcsIDYsIDEsIDExNSwgMiwgMjI2LCAyMjYsIDIyLCAxNDIsIDcsIDQsIDEsIDExNSwgMiwgMjI2LCAyMjYsIDIyLCAxNDIsIAorICAgIDcsIDYsIDEsIDExNSwgMiwgMjI2LCAyMjYsIDIyLCAxODMsIDcsIDQsIDEsIDExNSwgMiwgMjI2LCAyMjYsIDIyLCAxODMsIAorICAgIDcsIDYsIDEsIDE2MCwgMiwgMjI2LCAyMjYsIDIyLCAxNDIsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjYsIDIyLCAxNDIsIAorICAgIDcsIDYsIDEsIDE2MCwgMiwgMjI2LCAyMjYsIDIyLCAxODMsIDcsIDQsIDEsIDE2MCwgMiwgMjI2LCAyMjYsIDIyLCAxODMsIAorICAgIDcsIDYsIDEsIDE2MCwgMiwgNTksIDc3LCAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDU5LCA3NywgMjIsIDE0MiwgNywgNiwgCisgICAgMSwgMTYwLCAyLCA1OSwgNzcsIDIyLCAxODMsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDc3LCAyMiwgMTgzLCA3LCA0LCAxLCAKKyAgICAyNDAsIDE1NSwgMiwgNTksIDc3LCAyMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDI0MCwgMTU1LCAyLCA1OSwgNzcsIDIyLCAxODMsIAorICAgIDcsIDYsIDEsIDI0MCwgMTU1LCAyLCAyMjYsIDIyNiwgMjIsIDE0MiwgNywgNCwgMSwgMjQwLCAxNTUsIDIsIDIyNiwgMjI2LCAKKyAgICAyMiwgNTksIDc3LCAyMiwgMTQyLCA3LCA2LCAxLCAyNDAsIDE1NSwgMiwgMjI2LCAyMjYsIDIyLCAxODMsIDcsIDQsIDEsIAorICAgIDI0MCwgMTU1LCAyLCAyMjYsIDIyNiwgMjIsIDU5LCA3NywgMjIsIDE4MywgNywgNiwgMSwgMjM1LCAxNDYsIDIsIDE4MywgNywgCisgICAgNCwgMSwgMjM1LCAxNDYsIDIsIDU5LCA3NywgMjIsIDE4MywgNywgNiwgMSwgMjMzLCAxNTAsIDIsIDE4MywgNywgNCwgMSwgCisgICAgMjMzLCAxNTAsIDIsIDE4MywgNywgNiwgMSwgMjMyLCA1MSwgMiwgMTgzLCA3LCA0LCAxLCAyMzIsIDUxLCAyLCAxODMsIDcsIAorICAgIDYsIDEsIDIyMywgMjI1LCAyLCAxODMsIDcsIDQsIDEsIDIyMywgMjI1LCAyLCAxODMsIDcsIDYsIDEsIDEwNCwgMiwgMjI2LCAKKyAgICAyMjYsIDIyLCAxNDIsIDcsIDQsIDEsIDEwNCwgMiwgMjI2LCAyMjYsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjI2LCAKKyAgICAyMjYsIDIyLCAxODMsIDcsIDQsIDEsIDEwNCwgMiwgMjI2LCAyMjYsIDIyLCAxODMsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAKKyAgICAyMzQsIDIyLCAxNDIsIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzQsIDIyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAKKyAgICAyMzQsIDIyLCAxODMsIDcsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzQsIDIyLCAxODMsIDcsIDQsIDEsIDI1NCwgMjQ1LCAyLCAKKyAgICAyNDIsIDEzNywgNywgNCwgMSwgMjA0LCAxNDQsIDIsIDI0MiwgMTM3LCA3LCA0LCAxLCAyMDQsIDE0NCwgMiwgMTQyLCA3LCAKKyAgICA0LCAxLCAyMTUsIDk0LCAyMTQsIDEwNiwgMiwgMjQyLCAxMzcsIDcsIDQsIDEsIDIxNSwgOTQsIDIxNCwgMTA2LCAyLCAxNDIsIAorICAgIDcsIDQsIDEsIDIyMSwgMTk3LCAyLCAyNDIsIDEzNywgNywgNCwgMSwgMjIxLCAxOTcsIDIsIDE0MiwgNywgNCwgMSwgMjQxLCAKKyAgICA1MiwgMjIxLCAxOTcsIDIsIDI0MiwgMTM3LCA3LCA0LCAxLCAyNDEsIDUyLCAyMjEsIDE5NywgMiwgMTQyLCAxNDYsIDEsIAorICAgIDIzNCwgMTEwLCAzNiwgMTE2LCAyMzUsIDI0LCAzNiwgMTE2LCAyMjksIDgwLCAzNiwgMTE2LCAyNTEsIDY3LCAzNiwgMTE2LCAKKyAgICAyMjcsIDE2OCwgMzYsIDExNiwgMjE1LCAxNjAsIDM2LCAxMTYsIDIyOCwgMTEyLCAzNiwgMTE2LCAyMTcsIDE1MywgMzYsIAorICAgIDExNiwgMjMwLCAyNiwgMzYsIDExNiwgMjI2LCAxMDYsIDM2LCAxMTYsIDE5MywgMzYsIDExNiwgMjExLCAxMTcsIDM2LCAKKyAgICAxMTYsIDE1MywgMzYsIDExNiwgMTU2LCAzNiwgMTE2LCAyMTQsIDEwNSwgMzYsIDExNiwgMjMyLCAxNzcsIDM2LCAxMTYsIAorICAgIDIzMiwgMTg2LCAzNiwgMTE2LCAyMjIsIDE4MSwgMzYsIDExNiwgMjI4LCA5NCwgMzYsIDExNiwgMjM1LCAxNDUsIDM2LCAKKyAgICAxMTYsIDIyMCwgMTA1LCAzNiwgMTE2LCAyMTgsIDIyNywgMzYsIDExNiwgMjIyLCA5MiwgMzYsIDExNiwgMjQyLCA2MSwgMzYsIAorICAgIDExNiwgMjMzLCAyMzMsIDM2LCAzLCAyMzUsIDExLCAzNiwgMywgMjM0LCA5MywgMzYsIDMsIDIzNCwgODQsIDM2LCAzLCAKKyAgICAyMzMsIDIxOCwgMzYsIDMsIDIzMywgMTg5LCAzNiwgMywgMjM0LCAxODMsIDM2LCAzLCAyMzQsIDE4MiwgMzYsIDMsIDIzNCwgCisgICAgMjQ3LCAzNiwgMywgMjM0LCAyOSwgMzYsIDMsIDIzNCwgMTEsIDM2LCAzLCAyMzQsIDE5NiwgMzYsIDMsIDIyOSwgNzcsIDM2LCAKKyAgICAzLCAyMjksIDI4LCAzNiwgMywgMjI5LCAyNCwgMzYsIDMsIDIyOCwgMjQ5LCAzNiwgMywgMjI4LCAyNDIsIDM2LCAzLCAyMjksIAorICAgIDY1LCAzNiwgMywgMjI5LCA2MywgMzYsIDMsIDIyOSwgNzQsIDM2LCAzLCAyMjksIDUsIDM2LCAzLCAyMjksIDAsIDM2LCAzLCAKKyAgICAyMjksIDY3LCAzNiwgMywgMjUxLCAzMywgMzYsIDMsIDI1MCwgNTIsIDM2LCAzLCAyNTAsIDQyLCAzNiwgMywgMjQ5LCAxMTMsIAorICAgIDM2LCAzLCAyNDksIDg0LCAzNiwgMywgMjUwLCAxOTEsIDM2LCAzLCAyNTAsIDE4MywgMzYsIDMsIDI1MSwgMjMsIDM2LCAzLCAKKyAgICAyNDksIDIzOSwgMzYsIDMsIDI0OSwgMTc1LCAzNiwgMywgMjUwLCAyMjMsIDM2LCAzLCAyMjcsIDE2NSwgMzYsIDMsIDIyNywgCisgICAgMTQ5LCAzNiwgMywgMjI3LCAxNDQsIDM2LCAzLCAyMjcsIDEyOSwgMzYsIDMsIDIyNywgMTIyLCAzNiwgMywgMjI3LCAxNTcsIAorICAgIDM2LCAzLCAyMjcsIDE1NiwgMzYsIDMsIDIyNywgMTYyLCAzNiwgMywgMjI3LCAxMzUsIDM2LCAzLCAyMjcsIDEzMywgMzYsIAorICAgIDMsIDIyNywgMTYwLCAzNiwgMywgMjE1LCAxNTYsIDM2LCAzLCAyMTUsIDEzNiwgMzYsIDMsIDIxNSwgMTM1LCAzNiwgMywgCisgICAgMjE1LCAxMjQsIDM2LCAzLCAyMTUsIDEyMSwgMzYsIDMsIDIxNSwgMTUyLCAzNiwgMywgMjE1LCAxNTEsIDM2LCAzLCAyMTUsIAorICAgIDE1NSwgMzYsIDMsIDIxNSwgMTM0LCAzNiwgMywgMjE1LCAxMzMsIDM2LCAzLCAyMTUsIDE1NCwgMzYsIDMsIDIyOCwgMTEwLCAKKyAgICAzNiwgMywgMjI4LCA5NiwgMzYsIDMsIDIyOCwgOTUsIDM2LCAzLCAyMjgsIDc5LCAzNiwgMywgMjI4LCA3OCwgMzYsIDMsIAorICAgIDIyOCwgMTA2LCAzNiwgMywgMjI4LCAxMDUsIDM2LCAzLCAyMjgsIDEwOSwgMzYsIDMsIDIyOCwgODEsIDM2LCAzLCAyMjgsIAorICAgIDgwLCAzNiwgMywgMjI4LCAxMDgsIDM2LCAzLCAyMTcsIDEwMiwgMzYsIDMsIDIxNiwgMTE4LCAzNiwgMywgMjE2LCAxMDQsIAorICAgIDM2LCAzLCAyMTUsIDExOSwgMzYsIDMsIDIxNSwgODUsIDM2LCAzLCAyMTcsIDIzLCAzNiwgMywgMjE3LCAxMiwgMzYsIDMsIAorICAgIDIxNywgODAsIDM2LCAzLCAxMTEsIDM2LCAzLCAyMTYsIDE4LCAzNiwgMywgMjE3LCA0MiwgMzYsIDMsIDIyOSwgMjI2LCAzNiwgCisgICAgMywgMjI4LCAyMzQsIDM2LCAzLCAyMjgsIDIwOSwgMzYsIDMsIDIyNywgMjM4LCAzNiwgMywgMjI3LCAxODAsIDM2LCAzLCAKKyAgICAyMjksIDEwOCwgMzYsIDMsIDIyOSwgMTA0LCAzNiwgMywgMjI5LCAyMTMsIDM2LCAzLCAyMjgsIDc1LCAzNiwgMywgMjI4LCAKKyAgICA2NSwgMzYsIDMsIDIyOSwgMTg4LCAzNiwgMywgMjI2LCA5MCwgMzYsIDMsIDIyNSwgMTA5LCAzNiwgMywgMjI1LCA3MiwgMzYsIAorICAgIDMsIDIyNCwgMTUxLCAzNiwgMywgMjI0LCAxMjAsIDM2LCAzLCAyMjUsIDIyMiwgMzYsIDMsIDIyNSwgMjEyLCAzNiwgMywgCisgICAgMjI2LCA3MiwgMzYsIDMsIDIyNSwgMTcsIDM2LCAzLCAyMjQsIDI1MCwgMzYsIDMsIDIyNSwgMjM1LCAzNiwgMywgMjMxLCAKKyAgICAyMzgsIDM2LCAzLCAyMzAsIDIzMSwgMzYsIDMsIDIzMCwgMjAyLCAzNiwgMywgMjMwLCAxMDMsIDM2LCAzLCAyMzAsIDU1LCAKKyAgICAzNiwgMywgMjMxLCA5MiwgMzYsIDMsIDIzMSwgODEsIDM2LCAzLCAyMzEsIDIwNCwgMzYsIDMsIDIzMCwgMTYyLCAzNiwgMywgCisgICAgMjMwLCAxMzMsIDM2LCAzLCAyMzEsIDEzNiwgMzYsIDMsIDIxMSwgMTAzLCAzNiwgMywgMjExLCA4LCAzNiwgMywgMjEwLCAKKyAgICAyNTUsIDM2LCAzLCAyMTAsIDIxMiwgMzYsIDMsIDIxMCwgMTgxLCAzNiwgMywgMjExLCA0NywgMzYsIDMsIDIxMSwgNDQsIAorICAgIDM2LCAzLCAyMTEsIDgyLCAzNiwgMywgMjEwLCAyNDQsIDM2LCAzLCAyMTAsIDIyOSwgMzYsIDMsIDIxMSwgNTUsIDM2LCAzLCAKKyAgICAyMjMsIDE4NSwgMzYsIDMsIDIyMywgMzYsIDM2LCAzLCAyMjIsIDI0MCwgMzYsIDMsIDIyMiwgMTQxLCAzNiwgMywgMjIyLCAKKyAgICAxMTMsIDM2LCAzLCAyMjMsIDEyOSwgMzYsIDMsIDIyMywgMTA5LCAzNiwgMywgMjIzLCAxNjcsIDM2LCAzLCAyMjIsIDIxMiwgCisgICAgMzYsIDMsIDIyMiwgMTk4LCAzNiwgMywgMjIzLCAxMzcsIDM2LCAzLCAyMzMsIDEzNSwgMzYsIDMsIDIzMiwgMjQyLCAzNiwgCisgICAgMywgMjMyLCAyMjgsIDM2LCAzLCAyMzIsIDk5LCAzNiwgMywgMjMyLCA3NCwgMzYsIDMsIDIzMywgNTksIDM2LCAzLCAyMzMsIAorICAgIDUxLCAzNiwgMywgMjMzLCAxMTAsIDM2LCAzLCAyMzIsIDE1NywgMzYsIDMsIDIzMiwgMTI4LCAzNiwgMywgMjMzLCA3NSwgCisgICAgMzYsIDMsIDIxNCwgMjYsIDM2LCAzLCAyMTMsIDE3NiwgMzYsIDMsIDIxMywgMTYyLCAzNiwgMywgMjEyLCAxMTYsIDM2LCAzLCAKKyAgICAyMTIsIDEwOSwgMzYsIDMsIDIxMywgMjU1LCAzNiwgMywgMjEzLCAyNTAsIDM2LCAzLCAyMTQsIDIzLCAzNiwgMywgMjEzLCAKKyAgICAxMzgsIDM2LCAzLCAyMTMsIDEyNywgMzYsIDMsIDIxNCwgNSwgMzYsIDMsIDIzMiwgMTc1LCAzNiwgMywgMjMyLCAxNzAsIAorICAgIDM2LCAzLCAyMzIsIDE2OSwgMzYsIDMsIDIzMiwgMTY2LCAzNiwgMywgMjMyLCAxNjUsIDM2LCAzLCAyMzIsIDE3MiwgMzYsIAorICAgIDMsIDIzMiwgMTcxLCAzNiwgMywgMjMyLCAxNzQsIDM2LCAzLCAyMzIsIDE2OCwgMzYsIDMsIDIzMiwgMTY3LCAzNiwgMywgCisgICAgMjMyLCAxNzMsIDM2LCAzLCAyMzIsIDE4NCwgMzYsIDMsIDIzMiwgMTc5LCAzNiwgMywgMjMyLCAxNzgsIDM2LCAzLCAyMzIsIAorICAgIDE2MiwgMzYsIDMsIDIzMiwgMTYxLCAzNiwgMywgMjMyLCAxODEsIDM2LCAzLCAyMzIsIDE4MCwgMzYsIDMsIDIzMiwgMTgzLCAKKyAgICAzNiwgMywgMjMyLCAxNjQsIDM2LCAzLCAyMzIsIDE2MywgMzYsIDMsIDIzMiwgMTgyLCAzNiwgMywgMjIyLCAxNzksIDM2LCAKKyAgICAzLCAyMjIsIDE2OCwgMzYsIDMsIDIyMiwgMTY3LCAzNiwgMywgMjIyLCAxNjEsIDM2LCAzLCAyMjIsIDE1NCwgMzYsIDMsIAorICAgIDIyMiwgMTc1LCAzNiwgMywgMjIyLCAxNzQsIDM2LCAzLCAyMjIsIDE3OCwgMzYsIDMsIDIyMiwgMTY2LCAzNiwgMywgMjIyLCAKKyAgICAxNjUsIDM2LCAzLCAyMjIsIDE3NywgMzYsIDMsIDIyOCwgOTIsIDM2LCAzLCAyMjgsIDg3LCAzNiwgMywgMjI4LCA4NiwgMzYsIAorICAgIDMsIDIyOCwgODMsIDM2LCAzLCAyMjgsIDgyLCAzNiwgMywgMjI4LCA4OSwgMzYsIDMsIDIyOCwgODgsIDM2LCAzLCAyMjgsIAorICAgIDkxLCAzNiwgMywgMjI4LCA4NSwgMzYsIDMsIDIyOCwgODQsIDM2LCAzLCAyMjgsIDkwLCAzNiwgMywgMjM1LCAxNDEsIDM2LCAKKyAgICAzLCAyMzUsIDEwOSwgMzYsIDMsIDIzNSwgMTAyLCAzNiwgMywgMjM1LCA1MiwgMzYsIDMsIDIzNSwgMzQsIDM2LCAzLCAyMzUsIAorICAgIDEyNywgMzYsIDMsIDIzNSwgMTI1LCAzNiwgMywgMjM1LCAxMzYsIDM2LCAzLCAyMzUsIDY5LCAzNiwgMywgMjM1LCA2MCwgCisgICAgMzYsIDMsIDIzNSwgMTMwLCAzNiwgMywgMjIwLCA5OSwgMzYsIDMsIDIyMCwgMzMsIDM2LCAzLCAyMjAsIDI4LCAzNiwgMywgCisgICAgMjE5LCAyMjYsIDM2LCAzLCAyMTksIDIxMSwgMzYsIDMsIDIyMCwgNjQsIDM2LCAzLCAyMjAsIDYyLCAzNiwgMywgMjIwLCAKKyAgICA5MSwgMzYsIDMsIDIyMCwgOCwgMzYsIDMsIDIyMCwgMiwgMzYsIDMsIDIyMCwgNzIsIDM2LCAzLCAyMTgsIDIyMywgMzYsIDMsIAorICAgIDIxOCwgMTkzLCAzNiwgMywgMjE4LCAxODksIDM2LCAzLCAyMTgsIDE4MCwgMzYsIDMsIDIxOCwgMTc3LCAzNiwgMywgMjE4LCAKKyAgICAxOTgsIDM2LCAzLCAyMTgsIDE5NywgMzYsIDMsIDIxOCwgMjIyLCAzNiwgMywgMjE4LCAxODUsIDM2LCAzLCAyMTgsIDE4NCwgCisgICAgMzYsIDMsIDIxOCwgMjAwLCAzNiwgMywgMjIyLCAzMiwgMzYsIDMsIDIxOSwgMTkyLCAzNiwgMywgMjE5LCAxNzYsIDM2LCAzLCAKKyAgICAyMTgsIDg0LCAzNiwgMywgMjE4LCA1LCAzNiwgMywgMjIxLCAxODIsIDM2LCAzLCAyMjEsIDE3MSwgMzYsIDMsIDIyMiwgMTgsIAorICAgIDM2LCAzLCAyMTksIDU5LCAzNiwgMywgMjE5LCA0MSwgMzYsIDMsIDIyMSwgMjIwLCAzNiwgMywgMjQyLCA0NywgMzYsIDMsIAorICAgIDI0MSwgMTgxLCAzNiwgMywgMjQxLCAxNjIsIDM2LCAzLCAyNDAsIDIyMywgMzYsIDMsIDI0MCwgMjAzLCAzNiwgMywgMjQxLCAKKyAgICAyMzksIDM2LCAzLCAyNDEsIDIyMSwgMzYsIDMsIDI0MiwgMzcsIDM2LCAzLCAyNDEsIDY5LCAzNiwgMywgMjQxLCA1NCwgMzYsIAorICAgIDMsIDI0MSwgMjQ3LCAzNiwgMywgMjMzLCAyMzIsIDM2LCAzLCAyMzMsIDIzMSwgMzYsIDMsIDIzMywgMjI2LCAzNiwgMywgCisgICAgMjMzLCAyMjUsIDM2LCAzLCAyMzMsIDIyMiwgMzYsIDMsIDIzMywgMjIxLCAzNiwgMywgMjMzLCAyMjgsIDM2LCAzLCAyMzMsIAorICAgIDIyNywgMzYsIDMsIDIzMywgMjMwLCAzNiwgMywgMjMzLCAyMjQsIDM2LCAzLCAyMzMsIDIyMywgMzYsIDMsIDIzMywgMjI5LCAKKyAgICAzNiwgMywgMjE5LCAyMzIsIDE3NSwgMTE2LCA1LCAyMTEsIDY4LCAxNzUsIDExNiwgNSwgMjIzLCAxNTYsIDE3NSwgMTE2LCAKKyAgICA1LCAyMjMsIDc5LCA5OCwgMSwgMjE1LCAyOCwgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDE3NiwgNjksIDExNiwgNSwgMjQ5LCAKKyAgICAyMzQsIDIzNCwgMTMzLCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjM0LCAyOSwgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDIzNCwgCisgICAgMTA2LCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjI5LCA1LCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjUxLCAzNCwgNjksIAorICAgIDExNiwgNSwgMjQ5LCAyMzQsIDI1MCwgMTU4LCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjQ5LCAyMzksIDY5LCAxMTYsIDUsIAorICAgIDI0OSwgMjM0LCAyNTAsIDg3LCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjI3LCAxMzUsIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAKKyAgICAyNDgsIDIyMiwgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDIxNSwgMTQ1LCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjQ3LCAxNDYsIAorICAgIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAyMTUsIDE0MCwgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDE5NywgNjksIDExNiwgNSwgCisgICAgMjQ5LCAyMzQsIDIxNywgMTA2LCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjE2LCAyMDksIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAKKyAgICAxMTEsIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAyMTYsIDE1NywgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDIyOCwgNzUsIDY5LCAKKyAgICAxMTYsIDUsIDI0OSwgMjM0LCAyNTIsIDE5MiwgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDIyNSwgMTQ4LCA2OSwgMTE2LCA1LCAKKyAgICAyNDksIDIzNCwgMjI1LCAxNywgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDIyNSwgMTIyLCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgCisgICAgMjMwLCAxNjIsIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAyMTAsIDI0NCwgNjksIDExNiwgNSwgMjQ5LCAyMzQsIDIyMiwgMjEyLCAKKyAgICA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjMyLCAxNTcsIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAyMTMsIDEzOCwgNjksIDExNiwgCisgICAgNSwgMjQ5LCAyMzQsIDIyMCwgMTAzLCA2OSwgMTE2LCA1LCAyNDksIDIzNCwgMjE4LCAyMjQsIDY5LCAxMTYsIDUsIDI0OSwgCisgICAgMjM0LCAyMDYsIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAxNjIsIDY5LCAxMTYsIDUsIDI0OSwgMjM0LCAyMzMsIDEzNiwgNjksIAorICAgIDI1LCA1LCAyNDksIDIzNCwgMjI0LCA4OSwgNjksIDIzNSwgMjQ0LCAyNSwgNSwgMjQ5LCAyMzQsIDIyNCwgMzEsIDY5LCAKKyAgICAyMzUsIDI0NCwgMjUsIDUsIDI0OSwgMjM0LCAyMjIsIDEwMSwgNjksIDIzNSwgMjQ0LCAyNSwgNSwgMjQ5LCAyMzQsIDIyMiwgCisgICAgOTQsIDY5LCAyMzUsIDI0NCwgMjUsIDUsIDI0OSwgMjM0LCAyMjQsIDcwLCA2OSwgMjUsIDUsIDIyNiwgMjA1LCA2OSwgMjUsIAorICAgIDUsIDI1NSwgMzUsIDE0MSwgMSwgMjUyLCAwLCAyMjksIDc4LCAxNDEsIDEsIDI1MiwgMCwgMjI5LCAyOCwgMTQxLCAxLCAKKyAgICAyNTIsIDAsIDIyOCwgMjQ5LCAxNDEsIDEsIDI1MiwgMCwgMjI5LCA2NSwgMTQxLCAxLCAyNTIsIDAsIDIyOSwgNSwgNTYsIDEsIAorICAgIDI1MiwgMCwgMjI5LCA3OCwgNTYsIDEsIDI1MiwgMCwgMjI5LCAyOCwgNTYsIDEsIDI1MiwgMCwgMjI4LCAyNDksIDU2LCAxLCAKKyAgICAyNTIsIDAsIDIyOSwgNjUsIDU2LCAxLCAyNTIsIDAsIDIyOSwgNSwgNTYsIDEsIDI1NCwgMTk1LCAyNTAsIDE5MSwgNTYsIDEsIAorICAgIDI1NCwgMTk1LCAyMTUsIDExOSwgNTYsIDEsIDI1NCwgMTk1LCAxMTEsIDU2LCAxLCAyNTQsIDE5NSwgMjI2LCAxMDYsIDU4LCAKKyAgICAxLCAyNDUsIDIxLCAyNDUsIDIwLCAyNDksIDE4MywgMTM4LCAxMzAsIDU4LCAxLCAyNDUsIDIwLCAyNDUsIDIxLCAyNDksIAorICAgIDE4MywgMTM4LCAxMzAsIAogfTsKIAogc3RhdGljIHVuc2lnbmVkIGNoYXIgcGhyYXNlYm9va19vZmZzZXQxW10gPSB7CkBAIC0xNTA0MCwyMDQ0ICsxNTA0MiwyMDQ0IEBACiAgICAgMzkyNTEsIDM5MjU4LCAzOTI2NSwgMzkyNzIsIDM5Mjc5LCAzOTI4NSwgMzkyOTEsIDM5Mjk4LCAzOTMwNSwgMzkzMTIsIDAsIAogICAgIDAsIDAsIDM5MzE5LCAzOTMyMiwgMzkzMjUsIDM5MzI4LCAzOTMzMywgMzkzMzYsIDM5MzM5LCAzOTM0MiwgMzkzNDUsIAogICAgIDM5MzQ4LCAzOTM1MSwgMzkzNTUsIDM5MzU4LCAzOTM2MSwgMzkzNjQsIDM5MzY3LCAzOTM3MCwgMzkzNzUsIDM5Mzc4LCAKLSAgICAzOTM4MSwgMzkzODQsIDM5Mzg3LCAzOTM5MCwgMzkzOTUsIDM5Mzk4LCAzOTQwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk0MDYsIDM5NDExLCAzOTQxNiwgMzk0MjMsIAotICAgIDM5NDMxLCAzOTQzNiwgMzk0NDEsIDM5NDQ1LCAzOTQ0OSwgMzk0NTQsIDM5NDYxLCAzOTQ2OCwgMzk0NzIsIDM5NDc3LCAKLSAgICAzOTQ4MiwgMzk0ODcsIDM5NDkyLCAzOTQ5OSwgMzk1MDQsIDM5NTA5LCAzOTUxNCwgMzk1MjMsIDM5NTMwLCAzOTUzNywgCi0gICAgMzk1NDEsIDM5NTQ2LCAzOTU1MiwgMzk1NTcsIDM5NTY0LCAzOTU3MywgMzk1ODIsIDM5NTg2LCAzOTU5MCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk1OTQsIDM5NTk4LCAzOTYwNiwgMzk2MTAsIDM5NjE0LCAKLSAgICAzOTYxOSwgMzk2MjMsIDM5NjI3LCAzOTYzMSwgMzk2MzMsIDM5NjM3LCAzOTY0MSwgMzk2NDUsIDM5NjUwLCAzOTY1NCwgCi0gICAgMzk2NTgsIDM5NjY2LCAzOTY2OSwgMzk2NzMsIDM5Njc2LCAzOTY3OSwgMzk2ODUsIDM5Njg5LCAzOTY5MiwgMzk2OTgsIAotICAgIDM5NzAyLCAzOTcwNiwgMzk3MTAsIDM5NzEzLCAzOTcxNywgMzk3MjAsIDM5NzI0LCAzOTcyNiwgMzk3MjksIDM5NzMyLCAKLSAgICAzOTczNiwgMzk3MzgsIDM5NzQyLCAzOTc0NSwgMzk3NDgsIDM5NzUzLCAzOTc1OCwgMzk3NjUsIDM5NzY4LCAzOTc3MSwgCi0gICAgMzk3NzUsIDM5NzgwLCAzOTc4MywgMzk3ODYsIDM5Nzg5LCAzOTc5MywgMzk3OTgsIDM5ODAxLCAzOTgwNCwgMzk4MDYsIAotICAgIDM5ODA5LCAzOTgxMiwgMzk4MTUsIDM5ODE5LCAzOTgyNCwgMzk4MjcsIDM5ODMxLCAzOTgzNSwgMzk4MzksIDM5ODQzLCAKLSAgICAzOTg0OCwgMzk4NTQsIDM5ODU5LCAzOTg2NCwgMzk4NzAsIDM5ODc1LCAzOTg4MCwgMzk4ODQsIDM5ODg4LCAzOTg5MywgCi0gICAgMzk4OTcsIDM5OTAxLCAzOTkwNCwgMzk5MDYsIDM5OTExLCAzOTkxNywgMzk5MjQsIDM5OTMxLCAzOTkzOCwgMzk5NDUsIAotICAgIDM5OTUyLCAzOTk1OSwgMzk5NjYsIDM5OTczLCAzOTk4MSwgMzk5ODgsIDM5OTk2LCA0MDAwMywgNDAwMTAsIDQwMDE4LCAKLSAgICA0MDAyNiwgNDAwMzEsIDQwMDM2LCA0MDA0MSwgNDAwNDYsIDQwMDUxLCA0MDA1NiwgNDAwNjEsIDQwMDY2LCA0MDA3MSwgCi0gICAgNDAwNzYsIDQwMDgyLCA0MDA4OCwgNDAwOTQsIDQwMTAwLCA0MDEwNywgNDAxMTUsIDQwMTIyLCA0MDEyOCwgNDAxMzQsIAotICAgIDQwMTQwLCA0MDE0NiwgNDAxNTIsIDQwMTU4LCA0MDE2NCwgNDAxNzAsIDQwMTc2LCA0MDE4MywgNDAxOTAsIDQwMTk3LCAKLSAgICA0MDIwNCwgNDAyMTIsIDQwMjIxLCA0MDIyOSwgNDAyNDAsIDQwMjQ4LCA0MDI1NiwgNDAyNjUsIDQwMjcyLCA0MDI4MSwgCi0gICAgNDAyOTAsIDQwMjk4LCA0MDMwNywgMCwgMCwgMCwgMCwgMCwgMCwgNDAzMTUsIDQwMzE3LCA0MDMyMCwgNDAzMjIsIDQwMzI1LCAKLSAgICA0MDMyOCwgNDAzMzEsIDQwMzM2LCA0MDM0MSwgNDAzNDYsIDQwMzUxLCA0MDM1NSwgNDAzNTksIDQwMzYzLCA0MDM2NywgCi0gICAgNDAzNzIsIDQwMzc4LCA0MDM4MywgNDAzODksIDQwMzk0LCA0MDM5OSwgNDA0MDQsIDQwNDEwLCA0MDQxNSwgNDA0MjEsIAotICAgIDQwNDI3LCA0MDQzMSwgNDA0MzUsIDQwNDQwLCA0MDQ0NSwgNDA0NTAsIDQwNDU1LCA0MDQ2MCwgNDA0NjgsIDQwNDc2LCAKLSAgICA0MDQ4NCwgNDA0OTIsIDQwNDk5LCA0MDUwNywgNDA1MTQsIDQwNTIxLCA0MDUzMCwgNDA1NDIsIDQwNTQ4LCA0MDU1NCwgCi0gICAgNDA1NjIsIDQwNTcwLCA0MDU3OSwgNDA1ODgsIDQwNTk2LCA0MDYwNCwgNDA2MTMsIDQwNjIyLCA0MDYyNywgNDA2MzUsIAotICAgIDQwNjQwLCA0MDY0NSwgNDA2NTEsIDQwNjU2LCA0MDY2MiwgNDA2NjksIDQwNjc2LCA0MDY4MSwgNDA2ODcsIDQwNjkyLCAKLSAgICA0MDY5NSwgNDA2OTksIDQwNzAyLCA0MDcwNiwgNDA3MTAsIDQwNzE0LCA0MDcyMCwgNDA3MjYsIDQwNzMyLCA0MDczOCwgCi0gICAgNDA3NDIsIDQwNzQ2LCA0MDc1MCwgNDA3NTQsIDQwNzYwLCA0MDc2NiwgNDA3NzAsIDQwNzc1LCA0MDc3OSwgNDA3ODQsIAotICAgIDQwNzg5LCA0MDc5NCwgNDA3OTcsIDQwODAxLCA0MDgwNCwgNDA4MDgsIDQwODE1LCA0MDgyMywgNDA4MzQsIDQwODQ1LCAKLSAgICA0MDg1MCwgNDA4NTksIDQwODY2LCA0MDg3NSwgNDA4ODQsIDQwODg4LCA0MDg5NCwgNDA5MDIsIDQwOTA2LCA0MDkxMSwgCi0gICAgNDA5MTYsIDQwOTIyLCA0MDkyOCwgNDA5MzQsIDQwOTQxLCA0MDk0NSwgNDA5NDksIDQwOTU0LCA0MDk1NywgNDA5NTksIAotICAgIDQwOTYzLCA0MDk2NywgNDA5NzUsIDQwOTc5LCA0MDk4MSwgNDA5ODMsIDQwOTg3LCA0MDk5NSwgNDEwMDAsIDQxMDA2LCAKLSAgICA0MTAxNiwgNDEwMjMsIDQxMDI4LCA0MTAzMiwgNDEwMzYsIDQxMDQwLCA0MTA0MywgNDEwNDYsIDQxMDQ5LCA0MTA1MywgCi0gICAgNDEwNTcsIDQxMDYxLCA0MTA2NSwgNDEwNjksIDQxMDcyLCA0MTA3NiwgNDEwODAsIDQxMDgzLCA0MTA4NSwgNDEwODgsIAotICAgIDQxMDkwLCA0MTA5NCwgNDEwOTgsIDQxMTAwLCA0MTEwNiwgNDExMDksIDQxMTE0LCA0MTExOCwgNDExMjIsIDQxMTI0LCAKLSAgICA0MTEyNiwgNDExMjgsIDQxMTMxLCA0MTEzNSwgNDExMzksIDQxMTQzLCA0MTE0NywgNDExNTEsIDQxMTU3LCA0MTE2MywgCi0gICAgNDExNjUsIDQxMTY3LCA0MTE2OSwgNDExNzEsIDQxMTc0LCA0MTE3NiwgNDExODAsIDQxMTgyLCA0MTE4NiwgNDExODksIAotICAgIDQxMTk1LCA0MTE5OSwgNDEyMDMsIDQxMjA2LCA0MTIwOSwgNDEyMTMsIDQxMjE5LCA0MTIyMywgNDEyMzMsIDQxMjQzLCAKLSAgICA0MTI0NywgNDEyNTMsIDQxMjU5LCA0MTI2MiwgNDEyNjYsIDQxMjY5LCA0MTI3NCwgNDEyNzgsIDQxMjg0LCA0MTI4OCwgCi0gICAgNDEzMDAsIDQxMzA4LCA0MTMxMiwgNDEzMTYsIDQxMzIyLCA0MTMyNiwgNDEzMjksIDQxMzMxLCA0MTMzNCwgNDEzMzgsIAotICAgIDQxMzQyLCA0MTM0OSwgNDEzNTMsIDQxMzU3LCA0MTM2MSwgNDEzNjQsIDQxMzY5LCA0MTM3NCwgNDEzNzksIDQxMzg0LCAKLSAgICA0MTM4OSwgNDEzOTQsIDQxNDAyLCA0MTQxMCwgNDE0MTQsIDQxNDE4LCA0MTQyMCwgNDE0MjUsIDQxNDI5LCA0MTQzMywgCi0gICAgNDE0NDEsIDQxNDQ5LCA0MTQ1NSwgNDE0NjEsIDQxNDcwLCA0MTQ3OSwgNDE0ODQsIDQxNDg5LCA0MTQ5NywgNDE1MDUsIAotICAgIDQxNTA3LCA0MTUwOSwgNDE1MTQsIDQxNTE5LCA0MTUyNSwgNDE1MzEsIDQxNTM3LCA0MTU0MywgNDE1NDcsIDQxNTUxLCAKLSAgICA0MTU1OCwgNDE1NjUsIDQxNTcxLCA0MTU3NywgNDE1ODcsIDQxNTk3LCA0MTYwNSwgNDE2MTMsIDQxNjE1LCA0MTYxOSwgCi0gICAgNDE2MjMsIDQxNjI4LCA0MTYzMywgNDE2NDAsIDQxNjQ3LCA0MTY1MCwgNDE2NTMsIDQxNjU2LCA0MTY1OSwgNDE2NjIsIAotICAgIDQxNjY3LCA0MTY3MSwgNDE2NzYsIDQxNjgxLCA0MTY4NCwgNDE2ODcsIDQxNjkwLCA0MTY5MywgNDE2OTYsIDQxNzAwLCAKLSAgICA0MTcwMywgNDE3MDYsIDQxNzA5LCA0MTcxMiwgNDE3MTQsIDQxNzE2LCA0MTcxOCwgNDE3MjAsIDQxNzI4LCA0MTczNiwgCi0gICAgNDE3NDIsIDQxNzQ2LCA0MTc1MiwgNDE3NjIsIDQxNzY4LCA0MTc3NCwgNDE3ODAsIDQxNzg4LCA0MTc5NiwgNDE4MDcsIAotICAgIDQxODExLCA0MTgxNSwgNDE4MTcsIDQxODIzLCA0MTgyNSwgNDE4MjcsIDQxODI5LCA0MTgzMSwgNDE4MzcsIDQxODQwLCAKLSAgICA0MTg0NiwgNDE4NTIsIDQxODU2LCA0MTg2MCwgNDE4NjQsIDQxODY3LCA0MTg3MSwgNDE4NzUsIDQxODc3LCA0MTg4NiwgCi0gICAgNDE4OTUsIDQxOTAwLCA0MTkwNSwgNDE5MTEsIDQxOTE3LCA0MTkyMywgNDE5MjYsIDQxOTI5LCA0MTkzMiwgNDE5MzUsIAotICAgIDQxOTM3LCA0MTk0MiwgNDE5NDcsIDQxOTUyLCA0MTk1OCwgNDE5NjQsIDQxOTcyLCA0MTk4MCwgNDE5ODYsIDQxOTkyLCAKLSAgICA0MTk5OCwgNDIwMDQsIDQyMDEzLCA0MjAyMiwgNDIwMzEsIDQyMDQwLCA0MjA0OSwgNDIwNTgsIDQyMDY3LCA0MjA3NiwgCi0gICAgNDIwODUsIDQyMDk0LCA0MjEwMiwgNDIxMTQsIDQyMTI0LCA0MjEzOSwgNDIxNDIsIDQyMTQ3LCA0MjE1MywgNDIxNTksIAotICAgIDQyMTY2LCA0MjE4MCwgNDIxOTUsIDQyMjAxLCA0MjIwNywgNDIyMTQsIDQyMjIwLCA0MjIyOCwgNDIyMzQsIDQyMjQ3LCAKLSAgICA0MjI2MSwgNDIyNjYsIDQyMjcyLCA0MjI3OSwgNDIyODIsIDQyMjg1LCA0MjI4NywgNDIyOTAsIDQyMjkzLCA0MjI5NSwgCi0gICAgNDIyOTcsIDQyMzAxLCA0MjMwNCwgNDIzMDcsIDQyMzEwLCA0MjMxMywgNDIzMTgsIDQyMzIzLCA0MjMyOCwgNDIzMzMsIAotICAgIDQyMzM4LCA0MjM0MSwgNDIzNDMsIDQyMzQ1LCA0MjM0NywgNDIzNTEsIDQyMzU1LCA0MjM1OSwgNDIzNjUsIDQyMzcwLCAKLSAgICA0MjM3MiwgNDIzNzQsIDQyMzc5LCA0MjM4NCwgNDIzODksIDQyMzk0LCA0MjM5OSwgNDI0MDQsIDQyNDA2LCA0MjQwOCwgCi0gICAgNDI0MTcsIDQyNDIxLCA0MjQyOSwgNDI0MzgsIDQyNDQwLCA0MjQ0NSwgNDI0NTAsIDQyNDU4LCA0MjQ2MiwgNDI0NjQsIAotICAgIDQyNDY4LCA0MjQ3MCwgNDI0NzQsIDQyNDc4LCA0MjQ4MiwgNDI0ODQsIDQyNDg2LCA0MjQ4OCwgNDI0OTUsIDQyNTA0LCAKLSAgICA0MjUxMywgNDI1MjIsIDQyNTMxLCA0MjU0MCwgNDI1NDksIDQyNTU4LCA0MjU2NywgNDI1NzUsIDQyNTgzLCA0MjU5MiwgCi0gICAgNDI2MDEsIDQyNjEwLCA0MjYxOSwgNDI2MjcsIDQyNjM1LCA0MjY0NCwgNDI2NTMsIDQyNjYyLCA0MjY3MiwgNDI2ODEsIAotICAgIDQyNjkxLCA0MjcwMCwgNDI3MTAsIDQyNzE5LCA0MjcyOSwgNDI3MzksIDQyNzQ4LCA0Mjc1OCwgNDI3NjcsIDQyNzc3LCAKLSAgICA0Mjc4NiwgNDI3OTYsIDQyODA1LCA0MjgxNCwgNDI4MjMsIDQyODMyLCA0Mjg0MSwgNDI4NTEsIDQyODYwLCA0Mjg2OSwgCi0gICAgNDI4NzgsIDQyODg4LCA0Mjg5NywgNDI5MDYsIDQyOTE1LCA0MjkyNCwgNDI5MzQsIDQyOTQ0LCA0Mjk1MywgNDI5NjIsIAotICAgIDQyOTcwLCA0Mjk3OCwgNDI5ODUsIDQyOTkzLCA0MzAwMiwgNDMwMTMsIDQzMDIyLCA0MzAzMSwgNDMwNDAsIDQzMDQ3LCAKLSAgICA0MzA1NCwgNDMwNjEsIDQzMDcwLCA0MzA3OSwgNDMwODgsIDQzMDk3LCA0MzEwNCwgNDMxMDksIDQzMTE4LCA0MzEyMywgCi0gICAgNDMxMjYsIDQzMTM0LCA0MzEzNywgNDMxNDIsIDQzMTQ3LCA0MzE1MCwgNDMxNTMsIDQzMTYxLCA0MzE2NCwgNDMxNjksIAotICAgIDQzMTcyLCA0MzE3OSwgNDMxODQsIDQzMTkyLCA0MzE5NSwgNDMxOTgsIDQzMjAxLCA0MzIwNiwgNDMyMTEsIDQzMjE0LCAKLSAgICA0MzIxNywgNDMyMjUsIDQzMjI4LCA0MzIzNSwgNDMyNDIsIDQzMjQ2LCA0MzI1MCwgNDMyNTUsIDQzMjYwLCA0MzI2NiwgCi0gICAgNDMyNzEsIDQzMjc3LCA0MzI4MywgNDMyODgsIDQzMjk0LCA0MzMwMiwgNDMzMDgsIDQzMzE2LCA0MzMyNCwgNDMzMzAsIAotICAgIDQzMzM4LCA0MzM0NiwgNDMzNTUsIDQzMzYzLCA0MzM2OSwgNDMzNzcsIDQzMzg2LCA0MzM5NCwgNDMzOTgsIDQzNDAzLCAKLSAgICA0MzQxNiwgNDM0MjksIDQzNDMzLCA0MzQzNywgNDM0NDEsIDQzNDQ1LCA0MzQ1NSwgNDM0NTksIDQzNDY0LCA0MzQ2OSwgCi0gICAgNDM0NzQsIDQzNDc5LCA0MzQ4NCwgNDM0ODksIDQzNDk5LCA0MzUwOSwgNDM1MTcsIDQzNTI3LCA0MzUzNywgNDM1NDUsIAotICAgIDQzNTU1LCA0MzU2NSwgNDM1NzMsIDQzNTgzLCA0MzU5MywgNDM2MDEsIDQzNjA5LCA0MzYxOSwgNDM2MjksIDQzNjMyLCAKLSAgICA0MzYzNSwgNDM2MzgsIDQzNjQzLCA0MzY0NywgNDM2NTMsIDQzNjYwLCA0MzY2NywgNDM2NzUsIDQzNjgyLCA0MzY4NiwgCi0gICAgNDM2OTAsIDQzNjk0LCA0MzY5OCwgNDM3MDAsIDQzNzA0LCA0MzcwOCwgNDM3MTMsIDQzNzE4LCA0MzcyNSwgNDM3MzIsIAotICAgIDQzNzM1LCA0Mzc0MiwgNDM3NDQsIDQzNzQ2LCA0Mzc1MCwgNDM3NTQsIDQzNzU5LCA0Mzc2NSwgNDM3NzEsIDQzNzc3LCAKLSAgICA0Mzc4MywgNDM3OTIsIDQzODAxLCA0MzgxMCwgNDM4MTQsIDQzODE2LCA0MzgyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNDM4MjcsIDQzODMxLCA0MzgzOCwgNDM4NDUsIDQzODUyLCA0Mzg1OSwgNDM4NjMsIDQzODY3LCAKLSAgICA0Mzg3MSwgNDM4NzUsIDQzODgwLCA0Mzg4NiwgNDM4OTEsIDQzODk3LCA0MzkwMywgNDM5MDksIDQzOTE1LCA0MzkyMywgCi0gICAgNDM5MzAsIDQzOTM3LCA0Mzk0NCwgNDM5NTEsIDQzOTU2LCA0Mzk2MiwgNDM5NzEsIDQzOTc1LCA0Mzk4MiwgNDM5ODYsIAotICAgIDQzOTkwLCA0Mzk5NiwgNDQwMDIsIDQ0MDA4LCA0NDAxNCwgNDQwMTgsIDQ0MDIyLCA0NDAyNSwgNDQwMjgsIDQ0MDMyLCAKLSAgICA0NDAzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDQwNDYsIDQ0MDQ5LCA0NDA1MywgNDQwNTcsIDQ0MDYzLCA0NDA2OSwgNDQwNzUsIDQ0MDgzLCA0NDA5MCwgCi0gICAgNDQwOTQsIDQ0MTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA0NDEwNywgNDQxMTAsIDQ0MTEzLCA0NDExNiwgNDQxMTksIDQ0MTIyLCA0NDEyNSwgNDQxMjgsIDQ0MTMxLCA0NDEzNCwgCi0gICAgNDQxMzgsIDQ0MTQyLCA0NDE0NiwgNDQxNTAsIDQ0MTU0LCA0NDE1OCwgNDQxNjIsIDQ0MTY2LCA0NDE3MCwgNDQxNzQsIAotICAgIDQ0MTc4LCA0NDE4MSwgNDQxODQsIDQ0MTg3LCA0NDE5MCwgNDQxOTMsIDQ0MTk2LCA0NDE5OSwgNDQyMDIsIDQ0MjA1LCAKLSAgICA0NDIwOSwgNDQyMTMsIDQ0MjE3LCA0NDIyMSwgNDQyMjUsIDQ0MjI5LCA0NDIzMywgNDQyMzcsIDQ0MjQxLCA0NDI0NSwgCi0gICAgNDQyNDksIDQ0MjU1LCA0NDI2MSwgNDQyNjcsIDQ0Mjc0LCA0NDI4MSwgNDQyODgsIDQ0Mjk1LCA0NDMwMiwgNDQzMDksIAotICAgIDQ0MzE2LCA0NDMyMywgNDQzMzAsIDQ0MzM3LCA0NDM0NCwgNDQzNTEsIDQ0MzU4LCA0NDM2NSwgNDQzNzIsIDQ0Mzc5LCAKLSAgICA0NDM4NiwgNDQzOTEsIDQ0Mzk3LCA0NDQwMywgNDQ0MDksIDQ0NDE0LCA0NDQyMCwgNDQ0MjYsIDQ0NDMyLCA0NDQzNywgCi0gICAgNDQ0NDMsIDQ0NDQ5LCA0NDQ1NCwgNDQ0NTksIDQ0NDY1LCA0NDQ3MCwgNDQ0NzYsIDQ0NDgyLCA0NDQ4NywgNDQ0OTMsIAotICAgIDQ0NDk5LCA0NDUwNCwgNDQ1MTAsIDQ0NTE2LCA0NDUyMiwgNDQ1MjgsIDQ0NTM0LCA0NDUzOSwgNDQ1NDUsIDQ0NTUxLCAKLSAgICA0NDU1NywgNDQ1NjIsIDQ0NTY4LCA0NDU3NCwgNDQ1ODAsIDQ0NTg1LCA0NDU5MSwgNDQ1OTcsIDQ0NjAyLCA0NDYwNywgCi0gICAgNDQ2MTMsIDQ0NjE4LCA0NDYyNCwgNDQ2MzAsIDQ0NjM1LCA0NDY0MSwgNDQ2NDcsIDQ0NjUyLCA0NDY1OCwgNDQ2NjQsIAotICAgIDQ0NjcwLCA0NDY3NiwgNDQ2ODIsIDQ0Njg3LCA0NDY5MywgNDQ2OTksIDQ0NzA1LCA0NDcxMCwgNDQ3MTYsIDQ0NzIyLCAKLSAgICA0NDcyOCwgNDQ3MzMsIDQ0NzM5LCA0NDc0NSwgNDQ3NTAsIDQ0NzU1LCA0NDc2MSwgNDQ3NjYsIDQ0NzcyLCA0NDc3OCwgCi0gICAgNDQ3ODMsIDQ0Nzg5LCA0NDc5NSwgNDQ4MDAsIDQ0ODA2LCA0NDgxMiwgNDQ4MTgsIDQ0ODI0LCA0NDgzMCwgNDQ4MzQsIAotICAgIDQ0ODM5LCA0NDg0NCwgNDQ4NDksIDQ0ODU0LCA0NDg1OSwgNDQ4NjQsIDQ0ODY5LCA0NDg3NCwgNDQ4NzksIDQ0ODg0LCAKLSAgICA0NDg4OCwgNDQ4OTIsIDQ0ODk2LCA0NDkwMCwgNDQ5MDQsIDQ0OTA4LCA0NDkxMiwgNDQ5MTYsIDQ0OTIwLCA0NDkyNSwgCi0gICAgNDQ5MzAsIDQ0OTM1LCA0NDk0MCwgNDQ5NDUsIDQ0OTUwLCA0NDk1OSwgNDQ5NjgsIDQ0OTc3LCA0NDk4NiwgNDQ5OTUsIAotICAgIDQ1MDA0LCA0NTAxMywgNDUwMjIsIDQ1MDI5LCA0NTAzNywgNDUwNDUsIDQ1MDUyLCA0NTA1OSwgNDUwNjcsIDQ1MDc1LCAKLSAgICA0NTA4MiwgNDUwODksIDQ1MDk3LCA0NTEwNSwgNDUxMTIsIDQ1MTE5LCA0NTEyNywgNDUxMzUsIDQ1MTQyLCA0NTE0OSwgCi0gICAgNDUxNTcsIDQ1MTY2LCA0NTE3NSwgNDUxODMsIDQ1MTkyLCA0NTIwMSwgNDUyMDgsIDQ1MjE1LCA0NTIyMywgNDUyMzIsIAotICAgIDQ1MjQxLCA0NTI0OSwgNDUyNTgsIDQ1MjY3LCA0NTI3NCwgNDUyODEsIDQ1MjkwLCA0NTI5OSwgNDUzMDcsIDQ1MzE1LCAKLSAgICA0NTMyNCwgNDUzMzMsIDQ1MzQwLCA0NTM0NywgNDUzNTYsIDQ1MzY1LCA0NTM3MywgNDUzODEsIDQ1MzkwLCA0NTM5OSwgCi0gICAgNDU0MDYsIDQ1NDEzLCA0NTQyMiwgNDU0MzEsIDQ1NDM5LCA0NTQ0OCwgNDU0NTcsIDQ1NDY1LCA0NTQ3NSwgNDU0ODUsIAotICAgIDQ1NDk1LCA0NTUwNSwgNDU1MTQsIDQ1NTIzLCA0NTUzMiwgNDU1NDEsIDQ1NTQ4LCA0NTU1NiwgNDU1NjQsIDQ1NTcyLCAKLSAgICA0NTU4MCwgNDU1ODUsIDQ1NTkwLCA0NTU5OSwgNDU2MDcsIDQ1NjE0LCA0NTYyMywgNDU2MzEsIDQ1NjM4LCA0NTY0NywgCi0gICAgNDU2NTUsIDQ1NjYyLCA0NTY3MSwgNDU2NzksIDQ1Njg2LCA0NTY5NSwgNDU3MDMsIDQ1NzEwLCA0NTcxOSwgNDU3MjcsIAotICAgIDQ1NzM0LCA0NTc0MywgNDU3NTEsIDQ1NzU4LCA0NTc2NywgNDU3NzUsIDQ1NzgyLCA0NTc5MSwgNDU3OTksIDQ1ODA2LCAKLSAgICA0NTgxNSwgNDU4MjQsIDQ1ODMzLCA0NTg0MiwgNDU4NTYsIDQ1ODcwLCA0NTg3NywgNDU4ODIsIDQ1ODg3LCA0NTg5MiwgCi0gICAgNDU4OTcsIDQ1OTAyLCA0NTkwNywgNDU5MTIsIDQ1OTE3LCA0NTkyNSwgNDU5MzMsIDQ1OTQxLCA0NTk0OSwgNDU5NTQsIAotICAgIDQ1OTYxLCA0NTk2OCwgNDU5NzUsIDQ1OTgwLCA0NTk4OCwgNDU5OTUsIDQ2MDAzLCA0NjAwNywgNDYwMTQsIDQ2MDIwLCAKLSAgICA0NjAyNywgNDYwMzEsIDQ2MDM3LCA0NjA0MywgNDYwNDksIDQ2MDUzLCA0NjA1NiwgNDYwNjAsIDQ2MDY0LCA0NjA3MSwgCi0gICAgNDYwNzcsIDQ2MDgzLCA0NjA4OSwgNDYwOTUsIDQ2MTA5LCA0NjExOSwgNDYxMzMsIDQ2MTQ3LCA0NjE1MywgNDYxNjMsIAotICAgIDQ2MTc3LCA0NjE4MCwgNDYxODMsIDQ2MTkwLCA0NjE5OCwgNDYyMDMsIDQ2MjA4LCA0NjIxNiwgNDYyMjgsIDQ2MjQwLCAKLSAgICA0NjI0OCwgNDYyNTIsIDQ2MjU2LCA0NjI1OSwgNDYyNjIsIDQ2MjY2LCA0NjI3MCwgNDYyNzMsIDQ2Mjc2LCA0NjI4MSwgCi0gICAgNDYyODYsIDQ2MjkyLCA0NjI5OCwgNDYzMDMsIDQ2MzA4LCA0NjMxNCwgNDYzMjAsIDQ2MzI1LCA0NjMzMCwgNDYzMzUsIAotICAgIDQ2MzQwLCA0NjM0NiwgNDYzNTIsIDQ2MzU3LCA0NjM2MiwgNDYzNjgsIDQ2Mzc0LCA0NjM3OSwgNDYzODQsIDQ2Mzg3LCAKLSAgICA0NjM5MCwgNDYzOTksIDQ2NDAxLCA0NjQwMywgNDY0MDYsIDQ2NDEwLCA0NjQxNiwgNDY0MTgsIDQ2NDIxLCA0NjQyOCwgCi0gICAgNDY0MzUsIDQ2NDQzLCA0NjQ1MSwgNDY0NjEsIDQ2NDc1LCA0NjQ4MCwgNDY0ODUsIDQ2NDg5LCA0NjQ5NCwgNDY1MDIsIAotICAgIDQ2NTEwLCA0NjUxOSwgNDY1MjgsIDQ2NTM3LCA0NjU0NiwgNDY1NTEsIDQ2NTU2LCA0NjU2MiwgNDY1NjgsIDQ2NTc0LCAKLSAgICA0NjU4MCwgNDY1ODMsIDQ2NTg5LCA0NjU5NSwgNDY2MDUsIDQ2NjE1LCA0NjYyMywgNDY2MzEsIDQ2NjQwLCA0NjY0OSwgCi0gICAgNDY2NTMsIDQ2NjYxLCA0NjY2OSwgNDY2NzcsIDQ2Njg1LCA0NjY5NCwgNDY3MDMsIDQ2NzEyLCA0NjcyMSwgNDY3MjYsIAotICAgIDQ2NzMxLCA0NjczNiwgNDY3NDEsIDQ2NzQ2LCA0Njc1MiwgNDY3NTgsIDQ2NzYzLCA0Njc2OSwgNDY3NzEsIDQ2NzczLCAKLSAgICA0Njc3NSwgNDY3NzcsIDQ2NzgwLCA0Njc4MywgNDY3ODUsIDQ2Nzg3LCA0Njc4OSwgNDY3OTMsIDQ2Nzk3LCA0Njc5OSwgCi0gICAgNDY4MDEsIDQ2ODA0LCA0NjgwNywgNDY4MTEsIDQ2ODE3LCA0NjgyMywgNDY4MjUsIDQ2ODMyLCA0NjgzNiwgNDY4NDEsIAotICAgIDQ2ODQ2LCA0Njg0OCwgNDY4NTgsIDQ2ODY0LCA0Njg3MCwgNDY4NzYsIDQ2ODgyLCA0Njg4OCwgNDY4OTQsIDQ2ODk5LCAKLSAgICA0NjkwMiwgNDY5MDUsIDQ2OTA4LCA0NjkxMCwgNDY5MTIsIDQ2OTE2LCA0NjkyMCwgNDY5MjUsIDQ2OTMwLCA0NjkzNSwgCi0gICAgNDY5MzgsIDQ2OTQyLCA0Njk0NywgNDY5NTAsIDQ2OTU0LCA0Njk1OSwgNDY5NjQsIDQ2OTY5LCA0Njk3NCwgNDY5NzksIAotICAgIDQ2OTg0LCA0Njk4OSwgNDY5OTQsIDQ2OTk5LCA0NzAwNCwgNDcwMDksIDQ3MDE0LCA0NzAyMCwgNDcwMjYsIDQ3MDMyLCAKLSAgICA0NzAzNCwgNDcwMzcsIDQ3MDM5LCA0NzA0MiwgNDcwNDQsIDQ3MDQ2LCA0NzA0OCwgNDcwNTAsIDQ3MDUyLCA0NzA1NCwgCi0gICAgNDcwNTYsIDQ3MDU4LCA0NzA2MCwgNDcwNjIsIDQ3MDY0LCA0NzA2NiwgNDcwNjgsIDQ3MDcwLCA0NzA3MiwgNDcwNzQsIAotICAgIDQ3MDc2LCA0NzA4MSwgNDcwODYsIDQ3MDkxLCA0NzA5NiwgNDcxMDEsIDQ3MTA2LCA0NzExMSwgNDcxMTYsIDQ3MTIxLCAKLSAgICA0NzEyNiwgNDcxMzEsIDQ3MTM2LCA0NzE0MSwgNDcxNDYsIDQ3MTUxLCA0NzE1NiwgNDcxNjEsIDQ3MTY2LCA0NzE3MSwgCi0gICAgNDcxNzYsIDQ3MTgwLCA0NzE4NCwgNDcxODgsIDQ3MTk0LCA0NzIwMCwgNDcyMDUsIDQ3MjEwLCA0NzIxNSwgNDcyMjAsIAotICAgIDQ3MjI1LCA0NzIzMCwgNDcyMzgsIDQ3MjQ2LCA0NzI1NCwgNDcyNjIsIDQ3MjcwLCA0NzI3OCwgNDcyODYsIDQ3Mjk0LCAKLSAgICA0NzMwMCwgNDczMDUsIDQ3MzEwLCA0NzMxNSwgNDczMTgsIDQ3MzIyLCA0NzMyNiwgNDczMzAsIDQ3MzM0LCA0NzMzOCwgCi0gICAgNDczNDIsIDQ3MzQ5LCA0NzM1NiwgNDczNjQsIDQ3MzcyLCA0NzM3NywgNDczODIsIDQ3Mzg5LCA0NzM5NiwgNDc0MDMsIAotICAgIDQ3NDEwLCA0NzQxMywgNDc0MTYsIDQ3NDIxLCA0NzQyMywgNDc0MjcsIDQ3NDMyLCA0NzQzNCwgNDc0MzYsIDQ3NDM4LCAKLSAgICA0NzQ0MCwgNDc0NDUsIDQ3NDQ4LCA0NzQ1MCwgNDc0NTUsIDQ3NDYyLCA0NzQ2OSwgNDc0NzIsIDQ3NDc2LCA0NzQ4MSwgCi0gICAgNDc0ODYsIDQ3NDk0LCA0NzUwMCwgNDc1MDYsIDQ3NTE4LCA0NzUyNSwgNDc1MzIsIDQ3NTM3LCA0NzU0MiwgNDc1NDgsIAotICAgIDQ3NTUxLCA0NzU1NCwgNDc1NTksIDQ3NTYxLCA0NzU2NSwgNDc1NjcsIDQ3NTY5LCA0NzU3MSwgNDc1NzMsIDQ3NTc1LCAKLSAgICA0NzU3NywgNDc1ODIsIDQ3NTg0LCA0NzU4NiwgNDc1ODgsIDQ3NTkwLCA0NzU5NCwgNDc1OTYsIDQ3NTk5LCA0NzYwNCwgCi0gICAgNDc2MDksIDQ3NjE0LCA0NzYxOSwgNDc2MjUsIDQ3NjMxLCA0NzYzMywgNDc2MzYsIDQ3NjQzLCA0NzY1MCwgNDc2NTcsIAotICAgIDQ3NjY0LCA0NzY2OCwgNDc2NzIsIDQ3Njc0LCA0NzY3NiwgNDc2ODAsIDQ3Njg2LCA0NzY5MSwgNDc2OTMsIDQ3Njk3LCAKLSAgICA0NzcwNiwgNDc3MTQsIDQ3NzIyLCA0NzcyOCwgNDc3MzQsIDQ3NzM5LCA0Nzc0NSwgNDc3NTAsIDQ3NzUzLCA0Nzc2NywgCi0gICAgNDc3NzAsIDQ3Nzc1LCA0Nzc4MCwgNDc3ODYsIDQ3Nzk2LCA0Nzc5OCwgNDc4MDQsIDQ3ODEwLCA0NzgxNCwgNDc4MjEsIAotICAgIDQ3ODI1LCA0NzgyNywgNDc4MjksIDQ3ODMzLCA0NzgzOSwgNDc4NDQsIDQ3ODUwLCA0Nzg1MiwgNDc4NTgsIDQ3ODYwLCAKLSAgICA0Nzg2NiwgNDc4NjgsIDQ3ODcwLCA0Nzg3NSwgNDc4NzcsIDQ3ODgxLCA0Nzg4NiwgNDc4ODgsIDQ3ODkzLCA0Nzg5OCwgCi0gICAgNDc5MDIsIDQ3OTA5LCAwLCA0NzkxOSwgNDc5MjUsIDQ3OTI4LCA0NzkzNCwgNDc5MzcsIDQ3OTQyLCA0Nzk0NywgNDc5NTEsIAotICAgIDQ3OTUzLCA0Nzk1NSwgNDc5NTksIDQ3OTYzLCA0Nzk2NywgNDc5NzEsIDQ3OTc2LCA0Nzk3OCwgNDc5ODMsIDQ3OTg2LCAKLSAgICA0Nzk4OSwgNDc5OTIsIDQ3OTk2LCA0ODAwMCwgNDgwMDUsIDQ4MDA5LCA0ODAxNCwgNDgwMTksIDQ4MDIzLCA0ODAyOCwgCi0gICAgNDgwMzQsIDQ4MDM3LCA0ODA0MywgNDgwNDgsIDQ4MDUyLCA0ODA1NywgNDgwNjMsIDQ4MDY5LCA0ODA3NiwgNDgwODIsIAotICAgIDQ4MDg5LCA0ODA5NiwgNDgwOTgsIDQ4MTA1LCA0ODEwOSwgNDgxMTUsIDQ4MTIxLCA0ODEyNiwgNDgxMzIsIDQ4MTM2LCAKLSAgICA0ODE0MSwgNDgxNDQsIDQ4MTQ5LCA0ODE1NSwgNDgxNjIsIDQ4MTcwLCA0ODE3NywgNDgxODYsIDQ4MTk2LCA0ODIwMywgCi0gICAgNDgyMDksIDQ4MjEzLCA0ODIyMCwgNDgyMjUsIDQ4MjM0LCA0ODIzNywgNDgyNDAsIDQ4MjQ5LCA0ODI1OSwgNDgyNjYsIAotICAgIDQ4MjY4LCA0ODI3NCwgNDgyNzksIDQ4MjgxLCA0ODI4NCwgNDgyODgsIDQ4Mjk2LCA0ODMwNSwgNDgzMDgsIDQ4MzEzLCAKLSAgICA0ODMxOCwgNDgzMjYsIDQ4MzM0LCA0ODM0MiwgNDgzNTAsIDQ4MzU2LCA0ODM2MiwgNDgzNjgsIDQ4Mzc2LCA0ODM4MSwgCi0gICAgNDgzODQsIDQ4Mzg4LCA0ODM5MSwgNDg0MDMsIDQ4NDEzLCA0ODQyNCwgNDg0MzMsIDQ4NDQ0LCA0ODQ1NCwgNDg0NjMsIAotICAgIDQ4NDY5LCA0ODQ3NywgNDg0ODEsIDQ4NDg5LCA0ODQ5MywgNDg1MDEsIDQ4NTA4LCA0ODUxNSwgNDg1MjQsIDQ4NTMzLCAKLSAgICA0ODU0MywgNDg1NTMsIDQ4NTYzLCA0ODU3MywgNDg1ODIsIDQ4NTkxLCA0ODYwMSwgNDg2MTEsIDQ4NjIwLCA0ODYyOSwgCi0gICAgNDg2MzUsIDQ4NjQxLCA0ODY0NywgNDg2NTMsIDQ4NjU5LCA0ODY2NSwgNDg2NzEsIDQ4Njc3LCA0ODY4MywgNDg2OTAsIAotICAgIDQ4Njk2LCA0ODcwMiwgNDg3MDgsIDQ4NzE0LCA0ODcyMCwgNDg3MjYsIDQ4NzMyLCA0ODczOCwgNDg3NDQsIDQ4NzUxLCAKLSAgICA0ODc1OCwgNDg3NjUsIDQ4NzcyLCA0ODc3OSwgNDg3ODYsIDQ4NzkzLCA0ODgwMCwgNDg4MDcsIDQ4ODE0LCA0ODgyMiwgCi0gICAgNDg4MjcsIDQ4ODMwLCA0ODgzNCwgNDg4MzgsIDQ4ODQ0LCA0ODg0NywgNDg4NTMsIDQ4ODU5LCA0ODg2NCwgNDg4NjgsIAotICAgIDQ4ODczLCA0ODg3OSwgNDg4ODYsIDQ4ODg5LCA0ODg5NiwgNDg5MDMsIDQ4OTA3LCA0ODkxNiwgNDg5MjUsIDQ4OTMwLCAKLSAgICA0ODkzNiwgNDg5NDEsIDQ4OTQ2LCA0ODk1MywgNDg5NjAsIDQ4OTY4LCA0ODk3NiwgNDg5ODUsIDQ4OTg5LCA0ODk5OCwgCi0gICAgNDkwMDMsIDQ5MDA3LCA0OTAxNCwgNDkwMTgsIDQ5MDI1LCA0OTAzMywgNDkwMzgsIDQ5MDQ2LCA0OTA1MCwgNDkwNTUsIAotICAgIDQ5MDU5LCA0OTA2NCwgNDkwNjgsIDQ5MDczLCA0OTA3OCwgNDkwODcsIDQ5MDg5LCA0OTA5MiwgNDkwOTUsIDQ5MTAyLCAKLSAgICA0OTEwOSwgNDkxMTQsIDQ5MTIyLCA0OTEyOCwgNDkxMzQsIDQ5MTM5LCA0OTE0MiwgNDkxNDcsIDQ5MTUyLCA0OTE1NywgCi0gICAgNDkxNjUsIDQ5MTY5LCA0OTE3NiwgNDkxODQsIDQ5MTkyLCA0OTE5NywgNDkyMDIsIDQ5MjA4LCA0OTIxMywgNDkyMTgsIAotICAgIDQ5MjI0LCA0OTIyOSwgNDkyMzIsIDQ5MjM2LCA0OTI0MCwgNDkyNDcsIDQ5MjU2LCA0OTI2MSwgNDkyNzAsIDQ5Mjc5LCAKLSAgICA0OTI4NSwgNDkyOTEsIDQ5Mjk2LCA0OTMwMSwgNDkzMDYsIDQ5MzExLCA0OTMxNywgNDkzMjMsIDQ5MzMxLCA0OTMzOSwgCi0gICAgNDkzNDUsIDQ5MzUxLCA0OTM1NiwgNDkzNjEsIDQ5MzY4LCA0OTM3NSwgNDkzODEsIDQ5Mzg0LCA0OTM4NywgNDkzOTEsIAotICAgIDQ5Mzk1LCA0OTM5OSwgNDk0MDQsIDQ5NDEwLCA0OTQxNiwgNDk0MjMsIDQ5NDMwLCA0OTQzNSwgNDk0MzksIDQ5NDQzLCAKLSAgICA0OTQ0NywgNDk0NTEsIDQ5NDU1LCA0OTQ1OSwgNDk0NjMsIDQ5NDY3LCA0OTQ3MSwgNDk0NzUsIDQ5NDc5LCA0OTQ4MywgCi0gICAgNDk0ODcsIDQ5NDkxLCA0OTQ5NSwgNDk0OTksIDQ5NTAzLCA0OTUwNywgNDk1MTEsIDQ5NTE1LCA0OTUxOSwgNDk1MjMsIAotICAgIDQ5NTI3LCA0OTUzMSwgNDk1MzUsIDQ5NTM5LCA0OTU0MywgNDk1NDcsIDQ5NTUxLCA0OTU1NSwgNDk1NTksIDQ5NTYzLCAKLSAgICA0OTU2NywgNDk1NzEsIDQ5NTc1LCA0OTU3OSwgNDk1ODMsIDQ5NTg3LCA0OTU5MSwgNDk1OTUsIDQ5NTk5LCA0OTYwMywgCi0gICAgNDk2MDcsIDQ5NjExLCA0OTYxNSwgNDk2MTksIDQ5NjIzLCA0OTYyNywgNDk2MzEsIDQ5NjM1LCA0OTYzOSwgNDk2NDMsIAotICAgIDQ5NjQ3LCA0OTY1MSwgNDk2NTUsIDQ5NjU5LCA0OTY2MywgNDk2NjcsIDQ5NjcxLCA0OTY3NSwgNDk2NzksIDQ5NjgzLCAKLSAgICA0OTY4NywgNDk2OTEsIDQ5Njk1LCA0OTY5OSwgNDk3MDMsIDQ5NzA3LCA0OTcxMSwgNDk3MTUsIDQ5NzE5LCA0OTcyMywgCi0gICAgNDk3MjcsIDQ5NzMxLCA0OTczNSwgNDk3MzksIDQ5NzQzLCA0OTc0NywgNDk3NTEsIDQ5NzU1LCA0OTc1OSwgNDk3NjMsIAotICAgIDQ5NzY3LCA0OTc3MSwgNDk3NzUsIDQ5Nzc5LCA0OTc4MywgNDk3ODcsIDQ5NzkxLCA0OTc5NSwgNDk3OTksIDQ5ODAzLCAKLSAgICA0OTgwNywgNDk4MTEsIDQ5ODE1LCA0OTgxOSwgNDk4MjMsIDQ5ODI3LCA0OTgzMSwgNDk4MzUsIDQ5ODM5LCA0OTg0MywgCi0gICAgNDk4NDcsIDQ5ODUxLCA0OTg1NSwgNDk4NTksIDQ5ODYzLCA0OTg2NywgNDk4NzEsIDQ5ODc1LCA0OTg3OSwgNDk4ODMsIAotICAgIDQ5ODg3LCA0OTg5MSwgNDk4OTUsIDQ5ODk5LCA0OTkwMywgNDk5MDcsIDQ5OTExLCA0OTkxNSwgNDk5MTksIDQ5OTIzLCAKLSAgICA0OTkyNywgNDk5MzEsIDQ5OTM1LCA0OTkzOSwgNDk5NDMsIDQ5OTQ3LCA0OTk1MSwgNDk5NTUsIDQ5OTU5LCA0OTk2MywgCi0gICAgNDk5NjcsIDQ5OTcxLCA0OTk3NSwgNDk5NzksIDQ5OTgzLCA0OTk4NywgNDk5OTEsIDQ5OTk1LCA0OTk5OSwgNTAwMDMsIAotICAgIDUwMDA3LCA1MDAxMSwgNTAwMTUsIDUwMDE5LCA1MDAyMywgNTAwMjcsIDUwMDMxLCA1MDAzNSwgNTAwMzksIDUwMDQzLCAKLSAgICA1MDA0NywgNTAwNTEsIDUwMDU1LCA1MDA1OSwgNTAwNjMsIDUwMDY3LCA1MDA3MSwgNTAwNzUsIDUwMDc5LCA1MDA4MywgCi0gICAgNTAwODcsIDUwMDkxLCA1MDA5NSwgNTAwOTksIDUwMTAzLCA1MDEwNywgNTAxMTEsIDUwMTE1LCA1MDExOSwgNTAxMjMsIAotICAgIDUwMTI3LCA1MDEzMSwgNTAxMzUsIDUwMTM5LCA1MDE0MywgNTAxNDcsIDUwMTUxLCA1MDE1NSwgNTAxNTksIDUwMTYzLCAKLSAgICA1MDE2NywgNTAxNzEsIDUwMTc1LCA1MDE3OSwgNTAxODMsIDUwMTg3LCA1MDE5MSwgNTAxOTUsIDUwMTk5LCA1MDIwMywgCi0gICAgNTAyMDcsIDUwMjExLCA1MDIxNSwgNTAyMTksIDUwMjIzLCA1MDIyNywgNTAyMzEsIDUwMjM1LCA1MDIzOSwgNTAyNDMsIAotICAgIDUwMjQ3LCA1MDI1MSwgNTAyNTUsIDUwMjU5LCA1MDI2MywgNTAyNjcsIDUwMjcxLCA1MDI3NSwgNTAyNzksIDUwMjgzLCAKLSAgICA1MDI4NywgNTAyOTEsIDUwMjk1LCA1MDI5OSwgNTAzMDMsIDUwMzA3LCA1MDMxMSwgNTAzMTUsIDUwMzE5LCA1MDMyMywgCi0gICAgNTAzMjcsIDUwMzMxLCA1MDMzNSwgNTAzMzksIDUwMzQzLCA1MDM0NywgNTAzNTEsIDUwMzU1LCA1MDM1OSwgNTAzNjMsIAotICAgIDUwMzY3LCA1MDM3MSwgNTAzNzUsIDUwMzc5LCA1MDM4MywgNTAzODcsIDUwMzkxLCA1MDM5NSwgNTAzOTksIDUwNDAzLCAKLSAgICA1MDQwNywgNTA0MTEsIDUwNDE1LCA1MDQxOSwgNTA0MjMsIDUwNDI3LCA1MDQzMSwgNTA0MzUsIDUwNDM5LCA1MDQ0MywgCi0gICAgNTA0NDcsIDUwNDUxLCA1MDQ1NSwgNTA0NTksIDUwNDY2LCA1MDQ3NCwgNTA0ODAsIDUwNDg2LCA1MDQ5MywgNTA1MDAsIAotICAgIDUwNTA2LCA1MDUxMiwgNTA1MTgsIDUwNTI0LCA1MDUyOSwgNTA1MzQsIDUwNTM5LCA1MDU0NCwgNTA1NTAsIDUwNTU2LCAKLSAgICA1MDU2NCwgNTA1NzEsIDUwNTc3LCA1MDU4MywgNTA1OTEsIDUwNjAwLCA1MDYwNywgNTA2MTcsIDUwNjI4LCA1MDYzMSwgCi0gICAgNTA2MzQsIDUwNjM4LCA1MDY0MiwgNTA2NDksIDUwNjU2LCA1MDY2NywgNTA2NzgsIDUwNjg4LCA1MDY5OCwgNTA3MDUsIAotICAgIDUwNzEyLCA1MDcxOSwgNTA3MjYsIDUwNzM3LCA1MDc0OCwgNTA3NTksIDUwNzcwLCA1MDc4MCwgNTA3OTAsIDUwODAyLCAKLSAgICA1MDgxNCwgNTA4MjUsIDUwODM2LCA1MDg0OCwgNTA4NjAsIDUwODY5LCA1MDg3OSwgNTA4ODksIDUwOTAwLCA1MDkxMSwgCi0gICAgNTA5MTgsIDUwOTI1LCA1MDkzMiwgNTA5MzksIDUwOTQ5LCA1MDk1OSwgNTA5NjcsIDUwOTc1LCA1MDk4MiwgNTA5ODksIAotICAgIDUwOTk2LCA1MTAwMywgNTEwMTAsIDUxMDE1LCA1MTAyMCwgNTEwMjYsIDUxMDM0LCA1MTA0NCwgNTEwNTQsIDUxMDY0LCAKLSAgICA1MTA3NCwgNTEwODQsIDUxMDk0LCA1MTEwNCwgNTExMTQsIDUxMTI0LCA1MTEzNCwgNTExNDQsIDUxMTU1LCA1MTE2NiwgCi0gICAgNTExNzYsIDUxMTg2LCA1MTE5NywgNTEyMDgsIDUxMjE4LCA1MTIyOCwgNTEyMzksIDUxMjUwLCA1MTI2MCwgNTEyNzAsIAotICAgIDUxMjgxLCA1MTI5MiwgNTEzMDgsIDUxMzI3LCA1MTM0MywgNTEzNjIsIDUxMzc4LCA1MTM5NCwgNTE0MTAsIDUxNDI2LCAKLSAgICA1MTQzNywgNTE0NDksIDUxNDYwLCA1MTQ3MiwgNTE0OTEsIDUxNTEwLCA1MTUxOCwgNTE1MjQsIDUxNTMxLCA1MTUzOCwgCi0gICAgNTE1NDUsIDUxNTUyLCA1MTU1NywgNTE1NjMsIDUxNTY4LCA1MTU3MywgNTE1NzksIDUxNTg0LCA1MTU4OSwgNTE1OTQsIAotICAgIDUxNTk5LCA1MTYwNCwgNTE2MTEsIDUxNjE2LCA1MTYyMywgNTE2MjgsIDUxNjMzLCA1MTYzNywgNTE2NDEsIDUxNjQ4LCAKLSAgICA1MTY1NSwgNTE2NjIsIDUxNjY5LCA1MTY3NiwgNTE2ODMsIDUxNjk2LCA1MTcwOSwgNTE3MjIsIDUxNzM1LCA1MTc0MywgCi0gICAgNTE3NTEsIDUxNzU3LCA1MTc2MywgNTE3NzAsIDUxNzc3LCA1MTc4NCwgNTE3OTEsIDUxNzk1LCA1MTgwMCwgNTE4MDgsIAotICAgIDUxODE2LCA1MTgyNCwgNTE4MzEsIDUxODM1LCA1MTg0MywgNTE4NTEsIDUxODU1LCA1MTg1OSwgNTE4NjQsIDUxODcxLCAKLSAgICA1MTg3OSwgNTE4ODcsIDUxOTA2LCA1MTkyNSwgNTE5NDQsIDUxOTYzLCA1MTk4MiwgNTIwMDEsIDUyMDIwLCA1MjAzOSwgCi0gICAgNTIwNDUsIDUyMDUyLCA1MjA2MSwgNTIwNjksIDUyMDc3LCA1MjA4MiwgNTIwODUsIDUyMDg4LCA1MjA5MywgNTIwOTYsIAotICAgIDUyMTE1LCA1MjEyMiwgNTIxMjgsIDUyMTM0LCA1MjEzOCwgNTIxNDEsIDUyMTQ0LCA1MjE0NywgNTIxNTksIDUyMTcyLCAKLSAgICA1MjE3OSwgNTIxODYsIDUyMTg5LCA1MjE5MywgNTIxOTYsIDUyMjAxLCA1MjIwNiwgNTIyMTEsIDUyMjE3LCA1MjIyNiwgCi0gICAgNTIyMzMsIDUyMjQwLCA1MjI0OCwgNTIyNTUsIDUyMjYyLCA1MjI2NSwgNTIyNzEsIDUyMjc3LCA1MjI4MCwgNTIyODMsIAotICAgIDUyMjg4LCA1MjI5MywgNTIyOTksIDUyMzA1LCA1MjMwOSwgNTIzMTQsIDUyMzIxLCA1MjMyNSwgNTIzMzEsIDUyMzM1LCAKLSAgICA1MjMzOSwgNTIzNDcsIDUyMzU5LCA1MjM2OCwgNTIzNzIsIDUyMzc0LCA1MjM4MywgNTIzOTIsIDUyMzk4LCA1MjQwMSwgCi0gICAgNTI0MDcsIDUyNDEzLCA1MjQxOCwgNTI0MjMsIDUyNDI4LCA1MjQzMywgNTI0MzgsIDUyNDQzLCA1MjQ0NSwgNTI0NTEsIAotICAgIDUyNDU2LCA1MjQ2MywgNTI0NjcsIDUyNDczLCA1MjQ3NiwgNTI0ODAsIDUyNDg3LCA1MjQ5NCwgNTI0OTYsIDUyNDk4LCAKLSAgICA1MjUwNCwgNTI1MTAsIDUyNTE2LCA1MjUyNSwgNTI1MzQsIDUyNTQxLCA1MjU0OCwgNTI1NTQsIDUyNTYwLCA1MjU2NSwgCi0gICAgNTI1NzAsIDUyNTc1LCA1MjU4MSwgNTI1ODcsIDUyNTkyLCA1MjU5OSwgNTI2MDMsIDUyNjA3LCA1MjYyMCwgNTI2MzMsIAotICAgIDUyNjQ1LCA1MjY1NCwgNTI2NjAsIDUyNjY3LCA1MjY3MiwgNTI2NzcsIDUyNjgyLCA1MjY4NywgNTI2OTIsIDUyNjk0LCAKLSAgICA1MjcwMSwgNTI3MDgsIDUyNzE1LCA1MjcyMiwgNTI3MjksIDUyNzM3LCA1Mjc0MywgNTI3NDgsIDUyNzU0LCA1Mjc2MCwgCi0gICAgNTI3NjYsIDUyNzczLCA1Mjc3OSwgNTI3ODcsIDUyNzk1LCA1MjgwMywgNTI4MTEsIDUyODE4LCA1MjgyNCwgNTI4MzAsIAotICAgIDUyODM5LCA1Mjg0MywgNTI4NTIsIDUyODYxLCA1Mjg3MCwgNTI4NzgsIDUyODgyLCA1Mjg4OCwgNTI4OTUsIDUyOTAyLCAKLSAgICA1MjkwNiwgNTI5MTIsIDUyOTE5LCA1MjkyNCwgNTI5MjksIDUyOTM1LCA1Mjk0MCwgNTI5NDUsIDUyOTUyLCA1Mjk1OSwgCi0gICAgNTI5NjQsIDUyOTY5LCA1Mjk3NywgNTI5ODUsIDUyOTk1LCA1MzAwNSwgNTMwMTIsIDUzMDE5LCA1MzAyMywgNTMwMjcsIAotICAgIDUzMDM5LCA1MzA0NSwgNTMwNTEsIDUzMDU2LCA1MzA2MSwgNTMwNjgsIDUzMDc1LCA1MzA4MSwgNTMwODcsIDUzMDk2LCAKLSAgICA1MzEwNCwgNTMxMTIsIDUzMTE5LCA1MzEyNiwgNTMxMzMsIDUzMTM5LCA1MzE0NiwgNTMxNTIsIDUzMTU5LCA1MzE2NiwgCi0gICAgNTMxNzMsIDUzMTgwLCA1MzE4NiwgNTMxOTEsIDUzMjAwLCA1MzIxMCwgNTMyMTcsIDUzMjI2LCA1MzIzMiwgNTMyMzcsIAotICAgIDUzMjQyLCA1MzI1MiwgNTMyNTgsIDUzMjY0LCA1MzI3MCwgNTMyNzgsIDUzMjgzLCA1MzI5MCwgNTMyOTcsIDUzMzA4LCAKLSAgICA1MzMxNSwgNTMzMjIsIDUzMzI5LCA1MzMzNiwgNTMzNDMsIDUzMzUwLCA1MzM1NywgNTMzNjksIDUzMzgxLCA1MzM5MiwgCi0gICAgNTM0MDMsIDUzNDE2LCA1MzQyOSwgNTM0MzQsIDUzNDM5LCA1MzQ0OCwgNTM0NTcsIDUzNDY0LCA1MzQ3MSwgNTM0ODAsIAotICAgIDUzNDg5LCA1MzQ5NywgNTM1MDUsIDUzNTEzLCA1MzUyMSwgNTM1MzEsIDUzNTQxLCA1MzU1NSwgNTM1NjksIDUzNTc3LCAKLSAgICA1MzU4NSwgNTM1OTcsIDUzNjA5LCA1MzYxNywgNTM2MjUsIDUzNjM1LCA1MzY0NSwgNTM2NTAsIDUzNjU1LCA1MzY2NCwgCi0gICAgNTM2NzMsIDUzNjc4LCA1MzY4MywgNTM2OTEsIDUzNjk3LCA1MzcwMywgNTM3MTEsIDUzNzE5LCA1MzczMiwgNTM3NDUsIAotICAgIDUzNzQ5LCA1Mzc1MywgNTM3NjAsIDUzNzY3LCA1Mzc3NCwgNTM3ODIsIDUzNzkwLCA1Mzc5OSwgNTM4MDgsIDUzODE0LCAKLSAgICA1MzgyMCwgNTM4MjcsIDUzODM0LCA1Mzg0MSwgNTM4NDgsIDUzODU3LCA1Mzg2NiwgNTM4NjksIDUzODcyLCA1Mzg3NywgCi0gICAgNTM4ODIsIDUzODg4LCA1Mzg5NCwgNTM5MDEsIDUzOTA4LCA1MzkxOCwgNTM5MjgsIDUzOTM1LCA1Mzk0MiwgNTM5NTAsIAotICAgIDUzOTU4LCA1Mzk2NiwgNTM5NzQsIDUzOTgyLCA1Mzk5MCwgNTM5OTYsIDU0MDAyLCA1NDAwNiwgNTQwMTAsIDU0MDE3LCAKLSAgICA1NDAyNCwgNTQwMjksIDU0MDM0LCA1NDAzOSwgNTQwNDQsIDU0MDUwLCA1NDA2NCwgNTQwNzEsIDU0MDc4LCA1NDA4MiwgCi0gICAgNTQwODQsIDU0MDg2LCA1NDA5MSwgNTQwOTYsIDU0MTAxLCA1NDEwNiwgNTQxMTQsIDU0MTIxLCA1NDEyOCwgNTQxMzYsIAotICAgIDU0MTQ4LCA1NDE1NiwgNTQxNjQsIDU0MTc1LCA1NDE3OSwgNTQxODMsIDU0MTg5LCA1NDE5NywgNTQyMTAsIDU0MjE3LCAKLSAgICA1NDIyNCwgNTQyMzEsIDU0MjM2LCA1NDI0MywgNTQyNTIsIDU0MjYwLCA1NDI2NiwgNTQyNzIsIDU0Mjc4LCA1NDI4NywgCi0gICAgNTQyOTYsIDU0MzA0LCA1NDMxMywgNTQzMTgsIDU0MzIxLCA1NDMyNiwgNTQzMzIsIDU0MzM4LCA1NDM0NCwgNTQzNTAsIAotICAgIDU0MzU0LCA1NDM1NywgNTQzNjEsIDU0MzY1LCA1NDM3MSwgNTQzNzcsIDU0MzgzLCA1NDM4OSwgNTQzOTMsIDU0Mzk3LCAKLSAgICA1NDQwNCwgNTQ0MTEsIDU0NDE4LCA1NDQyNSwgNTQ0MzIsIDU0NDM5LCA1NDQ0OSwgNTQ0NTksIDU0NDY2LCA1NDQ3MywgCi0gICAgNTQ0ODEsIDU0NDg5LCA1NDQ5MywgNTQ0OTgsIDU0NTAzLCA1NDUwOSwgNTQ1MTUsIDU0NTE4LCA1NDUyMSwgNTQ1MjQsIAotICAgIDU0NTI3LCA1NDUzMSwgNTQ1MzYsIDU0NTQxLCA1NDU0NiwgNTQ1NTEsIDU0NTU2LCA1NDU2MCwgNTQ1NjQsIDU0NTY4LCAKLSAgICA1NDU3MiwgNTQ1NzYsIDU0NTgwLCA1NDU4NCwgNTQ1OTAsIDU0NTk0LCA1NDYwMCwgNTQ2MDUsIDU0NjEyLCA1NDYyMCwgCi0gICAgNTQ2MjcsIDU0NjM1LCA1NDY0MiwgNTQ2NTAsIDU0NjU5LCA1NDY2NiwgNTQ2NzYsIDU0Njg3LCA1NDY5MywgNTQ3MDIsIAotICAgIDU0NzA4LCA1NDcxNywgNTQ3MjYsIDU0NzMyLCA1NDczOCwgNTQ3NDIsIDU0NzQ2LCA1NDc1NSwgNTQ3NjQsIDU0NzcxLCAKLSAgICA1NDc3OCwgNTQ3ODcsIDAsIDAsIDAsIDU0Nzk2LCA1NDgwMSwgNTQ4MDUsIDU0ODA5LCA1NDgxNCwgNTQ4MTksIDU0ODI0LCAKLSAgICA1NDgzMiwgNTQ4NDAsIDU0ODQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzOTM4MSwgMzkzODQsIDM5Mzg3LCAzOTM5MCwgMzkzOTUsIDM5Mzk4LCAzOTQwMSwgMzk0MDYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NDExLCAzOTQxNiwgMzk0MjEsIDM5NDI4LCAKKyAgICAzOTQzNiwgMzk0NDEsIDM5NDQ2LCAzOTQ1MCwgMzk0NTQsIDM5NDU5LCAzOTQ2NiwgMzk0NzMsIDM5NDc3LCAzOTQ4MiwgCisgICAgMzk0ODcsIDM5NDkyLCAzOTQ5NywgMzk1MDQsIDM5NTA5LCAzOTUxNCwgMzk1MTksIDM5NTI4LCAzOTUzNSwgMzk1NDIsIAorICAgIDM5NTQ2LCAzOTU1MSwgMzk1NTcsIDM5NTYyLCAzOTU2OSwgMzk1NzgsIDM5NTg3LCAzOTU5MSwgMzk1OTUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NTk5LCAzOTYwMywgMzk2MTEsIDM5NjE1LCAzOTYxOSwgCisgICAgMzk2MjQsIDM5NjI4LCAzOTYzMiwgMzk2MzYsIDM5NjM4LCAzOTY0MiwgMzk2NDYsIDM5NjUwLCAzOTY1NSwgMzk2NTksIAorICAgIDM5NjYzLCAzOTY3MSwgMzk2NzQsIDM5Njc4LCAzOTY4MSwgMzk2ODQsIDM5NjkwLCAzOTY5NCwgMzk2OTcsIDM5NzAzLCAKKyAgICAzOTcwNywgMzk3MTEsIDM5NzE1LCAzOTcxOCwgMzk3MjIsIDM5NzI1LCAzOTcyOSwgMzk3MzEsIDM5NzM0LCAzOTczNywgCisgICAgMzk3NDEsIDM5NzQzLCAzOTc0NywgMzk3NTAsIDM5NzUzLCAzOTc1OCwgMzk3NjMsIDM5NzcwLCAzOTc3MywgMzk3NzYsIAorICAgIDM5NzgwLCAzOTc4NSwgMzk3ODgsIDM5NzkxLCAzOTc5NCwgMzk3OTgsIDM5ODAzLCAzOTgwNiwgMzk4MDksIDM5ODExLCAKKyAgICAzOTgxNCwgMzk4MTcsIDM5ODIwLCAzOTgyNCwgMzk4MjksIDM5ODMyLCAzOTgzNiwgMzk4NDAsIDM5ODQ0LCAzOTg0OCwgCisgICAgMzk4NTMsIDM5ODU5LCAzOTg2NCwgMzk4NjksIDM5ODc1LCAzOTg4MCwgMzk4ODUsIDM5ODg5LCAzOTg5MywgMzk4OTgsIAorICAgIDM5OTAyLCAzOTkwNiwgMzk5MDksIDM5OTExLCAzOTkxNiwgMzk5MjIsIDM5OTI5LCAzOTkzNiwgMzk5NDMsIDM5OTUwLCAKKyAgICAzOTk1NywgMzk5NjQsIDM5OTcxLCAzOTk3OCwgMzk5ODYsIDM5OTkzLCA0MDAwMSwgNDAwMDgsIDQwMDE1LCA0MDAyMywgCisgICAgNDAwMzEsIDQwMDM2LCA0MDA0MSwgNDAwNDYsIDQwMDUxLCA0MDA1NiwgNDAwNjEsIDQwMDY2LCA0MDA3MSwgNDAwNzYsIAorICAgIDQwMDgxLCA0MDA4NywgNDAwOTMsIDQwMDk5LCA0MDEwNSwgNDAxMTIsIDQwMTIwLCA0MDEyNywgNDAxMzMsIDQwMTM5LCAKKyAgICA0MDE0NSwgNDAxNTEsIDQwMTU3LCA0MDE2MywgNDAxNjksIDQwMTc1LCA0MDE4MSwgNDAxODgsIDQwMTk1LCA0MDIwMiwgCisgICAgNDAyMDksIDQwMjE3LCA0MDIyNiwgNDAyMzQsIDQwMjQ1LCA0MDI1MywgNDAyNjEsIDQwMjcwLCA0MDI3NywgNDAyODYsIAorICAgIDQwMjk1LCA0MDMwMywgNDAzMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMzIwLCA0MDMyMiwgNDAzMjUsIDQwMzI3LCA0MDMzMCwgCisgICAgNDAzMzMsIDQwMzM2LCA0MDM0MSwgNDAzNDYsIDQwMzUxLCA0MDM1NiwgNDAzNjAsIDQwMzY0LCA0MDM2OCwgNDAzNzIsIAorICAgIDQwMzc3LCA0MDM4MywgNDAzODgsIDQwMzk0LCA0MDM5OSwgNDA0MDQsIDQwNDA5LCA0MDQxNSwgNDA0MjAsIDQwNDI2LCAKKyAgICA0MDQzMiwgNDA0MzYsIDQwNDQwLCA0MDQ0NSwgNDA0NTAsIDQwNDU1LCA0MDQ2MCwgNDA0NjUsIDQwNDczLCA0MDQ4MSwgCisgICAgNDA0ODksIDQwNDk3LCA0MDUwNCwgNDA1MTIsIDQwNTE5LCA0MDUyNiwgNDA1MzUsIDQwNTQ3LCA0MDU1MywgNDA1NTksIAorICAgIDQwNTY3LCA0MDU3NSwgNDA1ODQsIDQwNTkzLCA0MDYwMSwgNDA2MDksIDQwNjE4LCA0MDYyNywgNDA2MzIsIDQwNjQwLCAKKyAgICA0MDY0NSwgNDA2NTAsIDQwNjU2LCA0MDY2MSwgNDA2NjcsIDQwNjc0LCA0MDY4MSwgNDA2ODYsIDQwNjkyLCA0MDY5NywgCisgICAgNDA3MDAsIDQwNzA0LCA0MDcwNywgNDA3MTEsIDQwNzE1LCA0MDcxOSwgNDA3MjUsIDQwNzMxLCA0MDczNywgNDA3NDMsIAorICAgIDQwNzQ3LCA0MDc1MSwgNDA3NTUsIDQwNzU5LCA0MDc2NSwgNDA3NzEsIDQwNzc1LCA0MDc4MCwgNDA3ODQsIDQwNzg5LCAKKyAgICA0MDc5NCwgNDA3OTksIDQwODAyLCA0MDgwNiwgNDA4MDksIDQwODEzLCA0MDgyMCwgNDA4MjgsIDQwODM5LCA0MDg1MCwgCisgICAgNDA4NTUsIDQwODY0LCA0MDg3MSwgNDA4ODAsIDQwODg5LCA0MDg5MywgNDA4OTksIDQwOTA3LCA0MDkxMSwgNDA5MTYsIAorICAgIDQwOTIxLCA0MDkyNywgNDA5MzMsIDQwOTM5LCA0MDk0NiwgNDA5NTAsIDQwOTU0LCA0MDk1OSwgNDA5NjIsIDQwOTY0LCAKKyAgICA0MDk2OCwgNDA5NzIsIDQwOTgwLCA0MDk4NCwgNDA5ODYsIDQwOTg4LCA0MDk5MiwgNDEwMDAsIDQxMDA1LCA0MTAxMSwgCisgICAgNDEwMjEsIDQxMDI4LCA0MTAzMywgNDEwMzcsIDQxMDQxLCA0MTA0NSwgNDEwNDgsIDQxMDUxLCA0MTA1NCwgNDEwNTgsIAorICAgIDQxMDYyLCA0MTA2NiwgNDEwNzAsIDQxMDc0LCA0MTA3NywgNDEwODEsIDQxMDg1LCA0MTA4OCwgNDEwOTAsIDQxMDkzLCAKKyAgICA0MTA5NSwgNDEwOTksIDQxMTAzLCA0MTEwNSwgNDExMTEsIDQxMTE0LCA0MTExOSwgNDExMjMsIDQxMTI3LCA0MTEyOSwgCisgICAgNDExMzEsIDQxMTMzLCA0MTEzNiwgNDExNDAsIDQxMTQ0LCA0MTE0OCwgNDExNTIsIDQxMTU2LCA0MTE2MiwgNDExNjgsIAorICAgIDQxMTcwLCA0MTE3MiwgNDExNzQsIDQxMTc2LCA0MTE3OSwgNDExODEsIDQxMTg1LCA0MTE4NywgNDExOTEsIDQxMTk0LCAKKyAgICA0MTIwMCwgNDEyMDQsIDQxMjA4LCA0MTIxMSwgNDEyMTQsIDQxMjE4LCA0MTIyNCwgNDEyMjgsIDQxMjM4LCA0MTI0OCwgCisgICAgNDEyNTIsIDQxMjU4LCA0MTI2NCwgNDEyNjcsIDQxMjcxLCA0MTI3NCwgNDEyNzksIDQxMjgzLCA0MTI4OSwgNDEyOTMsIAorICAgIDQxMzA1LCA0MTMxMywgNDEzMTcsIDQxMzIxLCA0MTMyNywgNDEzMzEsIDQxMzM0LCA0MTMzNiwgNDEzMzksIDQxMzQzLCAKKyAgICA0MTM0NywgNDEzNTQsIDQxMzU4LCA0MTM2MiwgNDEzNjYsIDQxMzY5LCA0MTM3NCwgNDEzNzksIDQxMzg0LCA0MTM4OSwgCisgICAgNDEzOTQsIDQxMzk5LCA0MTQwNywgNDE0MTUsIDQxNDE5LCA0MTQyMywgNDE0MjUsIDQxNDMwLCA0MTQzNCwgNDE0MzgsIAorICAgIDQxNDQ2LCA0MTQ1NCwgNDE0NjAsIDQxNDY2LCA0MTQ3NSwgNDE0ODQsIDQxNDg5LCA0MTQ5NCwgNDE1MDIsIDQxNTEwLCAKKyAgICA0MTUxMiwgNDE1MTQsIDQxNTE5LCA0MTUyNCwgNDE1MzAsIDQxNTM2LCA0MTU0MiwgNDE1NDgsIDQxNTUyLCA0MTU1NiwgCisgICAgNDE1NjMsIDQxNTcwLCA0MTU3NiwgNDE1ODIsIDQxNTkyLCA0MTYwMiwgNDE2MTAsIDQxNjE4LCA0MTYyMCwgNDE2MjQsIAorICAgIDQxNjI4LCA0MTYzMywgNDE2MzgsIDQxNjQ1LCA0MTY1MiwgNDE2NTUsIDQxNjU4LCA0MTY2MSwgNDE2NjQsIDQxNjY3LCAKKyAgICA0MTY3MiwgNDE2NzYsIDQxNjgxLCA0MTY4NiwgNDE2ODksIDQxNjkyLCA0MTY5NSwgNDE2OTgsIDQxNzAxLCA0MTcwNSwgCisgICAgNDE3MDgsIDQxNzExLCA0MTcxNCwgNDE3MTcsIDQxNzE5LCA0MTcyMSwgNDE3MjMsIDQxNzI1LCA0MTczMywgNDE3NDEsIAorICAgIDQxNzQ3LCA0MTc1MSwgNDE3NTcsIDQxNzY3LCA0MTc3MywgNDE3NzksIDQxNzg1LCA0MTc5MywgNDE4MDEsIDQxODEyLCAKKyAgICA0MTgxNiwgNDE4MjAsIDQxODIyLCA0MTgyOCwgNDE4MzAsIDQxODMyLCA0MTgzNCwgNDE4MzYsIDQxODQyLCA0MTg0NSwgCisgICAgNDE4NTEsIDQxODU3LCA0MTg2MSwgNDE4NjUsIDQxODY5LCA0MTg3MiwgNDE4NzYsIDQxODgwLCA0MTg4MiwgNDE4OTEsIAorICAgIDQxOTAwLCA0MTkwNSwgNDE5MTAsIDQxOTE2LCA0MTkyMiwgNDE5MjgsIDQxOTMxLCA0MTkzNCwgNDE5MzcsIDQxOTQwLCAKKyAgICA0MTk0MiwgNDE5NDcsIDQxOTUyLCA0MTk1NywgNDE5NjMsIDQxOTY5LCA0MTk3NywgNDE5ODUsIDQxOTkxLCA0MTk5NywgCisgICAgNDIwMDMsIDQyMDA5LCA0MjAxOCwgNDIwMjcsIDQyMDM2LCA0MjA0NSwgNDIwNTQsIDQyMDYzLCA0MjA3MiwgNDIwODEsIAorICAgIDQyMDkwLCA0MjA5OSwgNDIxMDcsIDQyMTE5LCA0MjEyOSwgNDIxNDQsIDQyMTQ3LCA0MjE1MiwgNDIxNTgsIDQyMTY0LCAKKyAgICA0MjE3MSwgNDIxODUsIDQyMjAwLCA0MjIwNiwgNDIyMTIsIDQyMjE5LCA0MjIyNSwgNDIyMzMsIDQyMjM5LCA0MjI1MiwgCisgICAgNDIyNjYsIDQyMjcxLCA0MjI3NywgNDIyODQsIDQyMjg3LCA0MjI5MCwgNDIyOTIsIDQyMjk1LCA0MjI5OCwgNDIzMDAsIAorICAgIDQyMzAyLCA0MjMwNiwgNDIzMDksIDQyMzEyLCA0MjMxNSwgNDIzMTgsIDQyMzIzLCA0MjMyOCwgNDIzMzMsIDQyMzM4LCAKKyAgICA0MjM0MywgNDIzNDYsIDQyMzQ4LCA0MjM1MCwgNDIzNTIsIDQyMzU2LCA0MjM2MCwgNDIzNjQsIDQyMzcwLCA0MjM3NSwgCisgICAgNDIzNzcsIDQyMzc5LCA0MjM4NCwgNDIzODksIDQyMzk0LCA0MjM5OSwgNDI0MDQsIDQyNDA5LCA0MjQxMSwgNDI0MTMsIAorICAgIDQyNDIyLCA0MjQyNiwgNDI0MzQsIDQyNDQzLCA0MjQ0NSwgNDI0NTAsIDQyNDU1LCA0MjQ2MywgNDI0NjcsIDQyNDY5LCAKKyAgICA0MjQ3MywgNDI0NzUsIDQyNDc5LCA0MjQ4MywgNDI0ODcsIDQyNDg5LCA0MjQ5MSwgNDI0OTMsIDQyNTAwLCA0MjUwOSwgCisgICAgNDI1MTgsIDQyNTI3LCA0MjUzNiwgNDI1NDUsIDQyNTU0LCA0MjU2MywgNDI1NzIsIDQyNTgwLCA0MjU4OCwgNDI1OTcsIAorICAgIDQyNjA2LCA0MjYxNSwgNDI2MjQsIDQyNjMyLCA0MjY0MCwgNDI2NDksIDQyNjU4LCA0MjY2NywgNDI2NzcsIDQyNjg2LCAKKyAgICA0MjY5NiwgNDI3MDUsIDQyNzE1LCA0MjcyNCwgNDI3MzQsIDQyNzQ0LCA0Mjc1MywgNDI3NjMsIDQyNzcyLCA0Mjc4MiwgCisgICAgNDI3OTEsIDQyODAxLCA0MjgxMCwgNDI4MTksIDQyODI4LCA0MjgzNywgNDI4NDYsIDQyODU2LCA0Mjg2NSwgNDI4NzQsIAorICAgIDQyODgzLCA0Mjg5MywgNDI5MDIsIDQyOTExLCA0MjkyMCwgNDI5MjksIDQyOTM5LCA0Mjk0OSwgNDI5NTgsIDQyOTY3LCAKKyAgICA0Mjk3NSwgNDI5ODMsIDQyOTkwLCA0Mjk5OCwgNDMwMDcsIDQzMDE4LCA0MzAyNywgNDMwMzYsIDQzMDQ1LCA0MzA1MiwgCisgICAgNDMwNTksIDQzMDY2LCA0MzA3NSwgNDMwODQsIDQzMDkzLCA0MzEwMiwgNDMxMDksIDQzMTE0LCA0MzEyMywgNDMxMjgsIAorICAgIDQzMTMxLCA0MzEzOSwgNDMxNDIsIDQzMTQ3LCA0MzE1MiwgNDMxNTUsIDQzMTU4LCA0MzE2NiwgNDMxNjksIDQzMTc0LCAKKyAgICA0MzE3NywgNDMxODQsIDQzMTg5LCA0MzE5NywgNDMyMDAsIDQzMjAzLCA0MzIwNiwgNDMyMTEsIDQzMjE2LCA0MzIxOSwgCisgICAgNDMyMjIsIDQzMjMwLCA0MzIzMywgNDMyNDAsIDQzMjQ3LCA0MzI1MSwgNDMyNTUsIDQzMjYwLCA0MzI2NSwgNDMyNzEsIAorICAgIDQzMjc2LCA0MzI4MiwgNDMyODgsIDQzMjkzLCA0MzI5OSwgNDMzMDcsIDQzMzEzLCA0MzMyMSwgNDMzMjksIDQzMzM1LCAKKyAgICA0MzM0MywgNDMzNTEsIDQzMzYwLCA0MzM2OCwgNDMzNzQsIDQzMzgyLCA0MzM5MSwgNDMzOTksIDQzNDAzLCA0MzQwOCwgCisgICAgNDM0MjEsIDQzNDM0LCA0MzQzOCwgNDM0NDIsIDQzNDQ2LCA0MzQ1MCwgNDM0NjAsIDQzNDY0LCA0MzQ2OSwgNDM0NzQsIAorICAgIDQzNDc5LCA0MzQ4NCwgNDM0ODksIDQzNDk0LCA0MzUwNCwgNDM1MTQsIDQzNTIyLCA0MzUzMiwgNDM1NDIsIDQzNTUwLCAKKyAgICA0MzU2MCwgNDM1NzAsIDQzNTc4LCA0MzU4OCwgNDM1OTgsIDQzNjA2LCA0MzYxNCwgNDM2MjQsIDQzNjM0LCA0MzYzNywgCisgICAgNDM2NDAsIDQzNjQzLCA0MzY0OCwgNDM2NTIsIDQzNjU4LCA0MzY2NSwgNDM2NzIsIDQzNjgwLCA0MzY4NywgNDM2OTEsIAorICAgIDQzNjk1LCA0MzY5OSwgNDM3MDMsIDQzNzA1LCA0MzcwOSwgNDM3MTMsIDQzNzE4LCA0MzcyMywgNDM3MzAsIDQzNzM3LCAKKyAgICA0Mzc0MCwgNDM3NDcsIDQzNzQ5LCA0Mzc1MSwgNDM3NTUsIDQzNzU5LCA0Mzc2NCwgNDM3NzAsIDQzNzc2LCA0Mzc4MiwgCisgICAgNDM3ODgsIDQzNzk3LCA0MzgwNiwgNDM4MTUsIDQzODE5LCA0MzgyMSwgNDM4MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQzODMyLCA0MzgzNiwgNDM4NDMsIDQzODUwLCA0Mzg1NywgNDM4NjQsIDQzODY4LCA0Mzg3MiwgCisgICAgNDM4NzYsIDQzODgwLCA0Mzg4NSwgNDM4OTEsIDQzODk2LCA0MzkwMiwgNDM5MDgsIDQzOTE0LCA0MzkyMCwgNDM5MjgsIAorICAgIDQzOTM1LCA0Mzk0MiwgNDM5NDksIDQzOTU2LCA0Mzk2MSwgNDM5NjcsIDQzOTc2LCA0Mzk4MCwgNDM5ODcsIDQzOTkxLCAKKyAgICA0Mzk5NSwgNDQwMDEsIDQ0MDA3LCA0NDAxMywgNDQwMTksIDQ0MDIzLCA0NDAyNywgNDQwMzAsIDQ0MDMzLCA0NDAzNywgCisgICAgNDQwNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ0MDUxLCA0NDA1NCwgNDQwNTgsIDQ0MDYyLCA0NDA2OCwgNDQwNzQsIDQ0MDgwLCA0NDA4OCwgNDQwOTUsIAorICAgIDQ0MDk5LCA0NDEwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDQxMTIsIDQ0MTE1LCA0NDExOCwgNDQxMjEsIDQ0MTI0LCA0NDEyNywgNDQxMzAsIDQ0MTMzLCA0NDEzNiwgNDQxMzksIAorICAgIDQ0MTQzLCA0NDE0NywgNDQxNTEsIDQ0MTU1LCA0NDE1OSwgNDQxNjMsIDQ0MTY3LCA0NDE3MSwgNDQxNzUsIDQ0MTc5LCAKKyAgICA0NDE4MywgNDQxODYsIDQ0MTg5LCA0NDE5MiwgNDQxOTUsIDQ0MTk4LCA0NDIwMSwgNDQyMDQsIDQ0MjA3LCA0NDIxMCwgCisgICAgNDQyMTQsIDQ0MjE4LCA0NDIyMiwgNDQyMjYsIDQ0MjMwLCA0NDIzNCwgNDQyMzgsIDQ0MjQyLCA0NDI0NiwgNDQyNTAsIAorICAgIDQ0MjU0LCA0NDI2MCwgNDQyNjYsIDQ0MjcyLCA0NDI3OSwgNDQyODYsIDQ0MjkzLCA0NDMwMCwgNDQzMDcsIDQ0MzE0LCAKKyAgICA0NDMyMSwgNDQzMjgsIDQ0MzM1LCA0NDM0MiwgNDQzNDksIDQ0MzU2LCA0NDM2MywgNDQzNzAsIDQ0Mzc3LCA0NDM4NCwgCisgICAgNDQzOTEsIDQ0Mzk2LCA0NDQwMiwgNDQ0MDgsIDQ0NDE0LCA0NDQxOSwgNDQ0MjUsIDQ0NDMxLCA0NDQzNywgNDQ0NDIsIAorICAgIDQ0NDQ4LCA0NDQ1NCwgNDQ0NTksIDQ0NDY0LCA0NDQ3MCwgNDQ0NzUsIDQ0NDgxLCA0NDQ4NywgNDQ0OTIsIDQ0NDk4LCAKKyAgICA0NDUwNCwgNDQ1MDksIDQ0NTE1LCA0NDUyMSwgNDQ1MjcsIDQ0NTMzLCA0NDUzOSwgNDQ1NDQsIDQ0NTUwLCA0NDU1NiwgCisgICAgNDQ1NjIsIDQ0NTY3LCA0NDU3MywgNDQ1NzksIDQ0NTg1LCA0NDU5MCwgNDQ1OTYsIDQ0NjAyLCA0NDYwNywgNDQ2MTIsIAorICAgIDQ0NjE4LCA0NDYyMywgNDQ2MjksIDQ0NjM1LCA0NDY0MCwgNDQ2NDYsIDQ0NjUyLCA0NDY1NywgNDQ2NjMsIDQ0NjY5LCAKKyAgICA0NDY3NSwgNDQ2ODEsIDQ0Njg3LCA0NDY5MiwgNDQ2OTgsIDQ0NzA0LCA0NDcxMCwgNDQ3MTUsIDQ0NzIxLCA0NDcyNywgCisgICAgNDQ3MzMsIDQ0NzM4LCA0NDc0NCwgNDQ3NTAsIDQ0NzU1LCA0NDc2MCwgNDQ3NjYsIDQ0NzcxLCA0NDc3NywgNDQ3ODMsIAorICAgIDQ0Nzg4LCA0NDc5NCwgNDQ4MDAsIDQ0ODA1LCA0NDgxMSwgNDQ4MTcsIDQ0ODIzLCA0NDgyOSwgNDQ4MzUsIDQ0ODM5LCAKKyAgICA0NDg0NCwgNDQ4NDksIDQ0ODU0LCA0NDg1OSwgNDQ4NjQsIDQ0ODY5LCA0NDg3NCwgNDQ4NzksIDQ0ODg0LCA0NDg4OSwgCisgICAgNDQ4OTMsIDQ0ODk3LCA0NDkwMSwgNDQ5MDUsIDQ0OTA5LCA0NDkxMywgNDQ5MTcsIDQ0OTIxLCA0NDkyNSwgNDQ5MzAsIAorICAgIDQ0OTM1LCA0NDk0MCwgNDQ5NDUsIDQ0OTUwLCA0NDk1NSwgNDQ5NjQsIDQ0OTczLCA0NDk4MiwgNDQ5OTEsIDQ1MDAwLCAKKyAgICA0NTAwOSwgNDUwMTgsIDQ1MDI3LCA0NTAzNCwgNDUwNDIsIDQ1MDUwLCA0NTA1NywgNDUwNjQsIDQ1MDcyLCA0NTA4MCwgCisgICAgNDUwODcsIDQ1MDk0LCA0NTEwMiwgNDUxMTAsIDQ1MTE3LCA0NTEyNCwgNDUxMzIsIDQ1MTQwLCA0NTE0NywgNDUxNTQsIAorICAgIDQ1MTYyLCA0NTE3MSwgNDUxODAsIDQ1MTg4LCA0NTE5NywgNDUyMDYsIDQ1MjEzLCA0NTIyMCwgNDUyMjgsIDQ1MjM3LCAKKyAgICA0NTI0NiwgNDUyNTQsIDQ1MjYzLCA0NTI3MiwgNDUyNzksIDQ1Mjg2LCA0NTI5NSwgNDUzMDQsIDQ1MzEyLCA0NTMyMCwgCisgICAgNDUzMjksIDQ1MzM4LCA0NTM0NSwgNDUzNTIsIDQ1MzYxLCA0NTM3MCwgNDUzNzgsIDQ1Mzg2LCA0NTM5NSwgNDU0MDQsIAorICAgIDQ1NDExLCA0NTQxOCwgNDU0MjcsIDQ1NDM2LCA0NTQ0NCwgNDU0NTMsIDQ1NDYyLCA0NTQ3MCwgNDU0ODAsIDQ1NDkwLCAKKyAgICA0NTUwMCwgNDU1MTAsIDQ1NTE5LCA0NTUyOCwgNDU1MzcsIDQ1NTQ2LCA0NTU1MywgNDU1NjEsIDQ1NTY5LCA0NTU3NywgCisgICAgNDU1ODUsIDQ1NTkwLCA0NTU5NSwgNDU2MDQsIDQ1NjEyLCA0NTYxOSwgNDU2MjgsIDQ1NjM2LCA0NTY0MywgNDU2NTIsIAorICAgIDQ1NjYwLCA0NTY2NywgNDU2NzYsIDQ1Njg0LCA0NTY5MSwgNDU3MDAsIDQ1NzA4LCA0NTcxNSwgNDU3MjQsIDQ1NzMyLCAKKyAgICA0NTczOSwgNDU3NDgsIDQ1NzU2LCA0NTc2MywgNDU3NzIsIDQ1NzgwLCA0NTc4NywgNDU3OTYsIDQ1ODA0LCA0NTgxMSwgCisgICAgNDU4MjAsIDQ1ODI5LCA0NTgzOCwgNDU4NDcsIDQ1ODYxLCA0NTg3NSwgNDU4ODIsIDQ1ODg3LCA0NTg5MiwgNDU4OTcsIAorICAgIDQ1OTAyLCA0NTkwNywgNDU5MTIsIDQ1OTE3LCA0NTkyMiwgNDU5MzAsIDQ1OTM4LCA0NTk0NiwgNDU5NTQsIDQ1OTU5LCAKKyAgICA0NTk2NiwgNDU5NzMsIDQ1OTgwLCA0NTk4NSwgNDU5OTMsIDQ2MDAwLCA0NjAwOCwgNDYwMTIsIDQ2MDE5LCA0NjAyNSwgCisgICAgNDYwMzIsIDQ2MDM2LCA0NjA0MiwgNDYwNDgsIDQ2MDU0LCA0NjA1OCwgNDYwNjEsIDQ2MDY1LCA0NjA2OSwgNDYwNzYsIAorICAgIDQ2MDgyLCA0NjA4OCwgNDYwOTQsIDQ2MTAwLCA0NjExNCwgNDYxMjQsIDQ2MTM4LCA0NjE1MiwgNDYxNTgsIDQ2MTY4LCAKKyAgICA0NjE4MiwgNDYxODUsIDQ2MTg4LCA0NjE5NSwgNDYyMDMsIDQ2MjA4LCA0NjIxMywgNDYyMjEsIDQ2MjMzLCA0NjI0NSwgCisgICAgNDYyNTMsIDQ2MjU3LCA0NjI2MSwgNDYyNjQsIDQ2MjY3LCA0NjI3MSwgNDYyNzUsIDQ2Mjc4LCA0NjI4MSwgNDYyODYsIAorICAgIDQ2MjkxLCA0NjI5NywgNDYzMDMsIDQ2MzA4LCA0NjMxMywgNDYzMTksIDQ2MzI1LCA0NjMzMCwgNDYzMzUsIDQ2MzQwLCAKKyAgICA0NjM0NSwgNDYzNTEsIDQ2MzU3LCA0NjM2MiwgNDYzNjcsIDQ2MzczLCA0NjM3OSwgNDYzODQsIDQ2Mzg5LCA0NjM5MiwgCisgICAgNDYzOTUsIDQ2NDA0LCA0NjQwNiwgNDY0MDgsIDQ2NDExLCA0NjQxNSwgNDY0MjEsIDQ2NDIzLCA0NjQyNiwgNDY0MzMsIAorICAgIDQ2NDQwLCA0NjQ0OCwgNDY0NTYsIDQ2NDY2LCA0NjQ4MCwgNDY0ODUsIDQ2NDkwLCA0NjQ5NCwgNDY0OTksIDQ2NTA3LCAKKyAgICA0NjUxNSwgNDY1MjQsIDQ2NTMzLCA0NjU0MiwgNDY1NTEsIDQ2NTU2LCA0NjU2MSwgNDY1NjcsIDQ2NTczLCA0NjU3OSwgCisgICAgNDY1ODUsIDQ2NTg4LCA0NjU5NCwgNDY2MDAsIDQ2NjEwLCA0NjYyMCwgNDY2MjgsIDQ2NjM2LCA0NjY0NSwgNDY2NTQsIAorICAgIDQ2NjU4LCA0NjY2NiwgNDY2NzQsIDQ2NjgyLCA0NjY5MCwgNDY2OTksIDQ2NzA4LCA0NjcxNywgNDY3MjYsIDQ2NzMxLCAKKyAgICA0NjczNiwgNDY3NDEsIDQ2NzQ2LCA0Njc1MSwgNDY3NTcsIDQ2NzYzLCA0Njc2OCwgNDY3NzQsIDQ2Nzc2LCA0Njc3OCwgCisgICAgNDY3ODAsIDQ2NzgyLCA0Njc4NSwgNDY3ODgsIDQ2NzkwLCA0Njc5MiwgNDY3OTQsIDQ2Nzk4LCA0NjgwMiwgNDY4MDQsIAorICAgIDQ2ODA2LCA0NjgwOSwgNDY4MTIsIDQ2ODE2LCA0NjgyMiwgNDY4MjgsIDQ2ODMwLCA0NjgzNywgNDY4NDEsIDQ2ODQ2LCAKKyAgICA0Njg1MSwgNDY4NTMsIDQ2ODYzLCA0Njg2OSwgNDY4NzUsIDQ2ODgxLCA0Njg4NywgNDY4OTMsIDQ2ODk5LCA0NjkwNCwgCisgICAgNDY5MDcsIDQ2OTEwLCA0NjkxMywgNDY5MTUsIDQ2OTE3LCA0NjkyMSwgNDY5MjUsIDQ2OTMwLCA0NjkzNSwgNDY5NDAsIAorICAgIDQ2OTQzLCA0Njk0NywgNDY5NTIsIDQ2OTU1LCA0Njk1OSwgNDY5NjQsIDQ2OTY5LCA0Njk3NCwgNDY5NzksIDQ2OTg0LCAKKyAgICA0Njk4OSwgNDY5OTQsIDQ2OTk5LCA0NzAwNCwgNDcwMDksIDQ3MDE0LCA0NzAxOSwgNDcwMjUsIDQ3MDMxLCA0NzAzNywgCisgICAgNDcwMzksIDQ3MDQyLCA0NzA0NCwgNDcwNDcsIDQ3MDQ5LCA0NzA1MSwgNDcwNTMsIDQ3MDU1LCA0NzA1NywgNDcwNTksIAorICAgIDQ3MDYxLCA0NzA2MywgNDcwNjUsIDQ3MDY3LCA0NzA2OSwgNDcwNzEsIDQ3MDczLCA0NzA3NSwgNDcwNzcsIDQ3MDc5LCAKKyAgICA0NzA4MSwgNDcwODYsIDQ3MDkxLCA0NzA5NiwgNDcxMDEsIDQ3MTA2LCA0NzExMSwgNDcxMTYsIDQ3MTIxLCA0NzEyNiwgCisgICAgNDcxMzEsIDQ3MTM2LCA0NzE0MSwgNDcxNDYsIDQ3MTUxLCA0NzE1NiwgNDcxNjEsIDQ3MTY2LCA0NzE3MSwgNDcxNzYsIAorICAgIDQ3MTgxLCA0NzE4NSwgNDcxODksIDQ3MTkzLCA0NzE5OSwgNDcyMDUsIDQ3MjEwLCA0NzIxNSwgNDcyMjAsIDQ3MjI1LCAKKyAgICA0NzIzMCwgNDcyMzUsIDQ3MjQzLCA0NzI1MSwgNDcyNTksIDQ3MjY3LCA0NzI3NSwgNDcyODMsIDQ3MjkxLCA0NzI5OSwgCisgICAgNDczMDUsIDQ3MzEwLCA0NzMxNSwgNDczMjAsIDQ3MzIzLCA0NzMyNywgNDczMzEsIDQ3MzM1LCA0NzMzOSwgNDczNDMsIAorICAgIDQ3MzQ3LCA0NzM1NCwgNDczNjEsIDQ3MzY5LCA0NzM3NywgNDczODIsIDQ3Mzg3LCA0NzM5NCwgNDc0MDEsIDQ3NDA4LCAKKyAgICA0NzQxNSwgNDc0MTgsIDQ3NDIxLCA0NzQyNiwgNDc0MjgsIDQ3NDMyLCA0NzQzNywgNDc0MzksIDQ3NDQxLCA0NzQ0MywgCisgICAgNDc0NDUsIDQ3NDUwLCA0NzQ1MywgNDc0NTUsIDQ3NDYwLCA0NzQ2NywgNDc0NzQsIDQ3NDc3LCA0NzQ4MSwgNDc0ODYsIAorICAgIDQ3NDkxLCA0NzQ5OSwgNDc1MDUsIDQ3NTExLCA0NzUyMywgNDc1MzAsIDQ3NTM3LCA0NzU0MiwgNDc1NDcsIDQ3NTUzLCAKKyAgICA0NzU1NiwgNDc1NTksIDQ3NTY0LCA0NzU2NiwgNDc1NzAsIDQ3NTcyLCA0NzU3NCwgNDc1NzYsIDQ3NTc4LCA0NzU4MCwgCisgICAgNDc1ODIsIDQ3NTg3LCA0NzU4OSwgNDc1OTEsIDQ3NTkzLCA0NzU5NSwgNDc1OTksIDQ3NjAxLCA0NzYwNCwgNDc2MDksIAorICAgIDQ3NjE0LCA0NzYxOSwgNDc2MjQsIDQ3NjMwLCA0NzYzNiwgNDc2MzgsIDQ3NjQxLCA0NzY0OCwgNDc2NTUsIDQ3NjYyLCAKKyAgICA0NzY2OSwgNDc2NzMsIDQ3Njc3LCA0NzY3OSwgNDc2ODEsIDQ3Njg1LCA0NzY5MSwgNDc2OTYsIDQ3Njk4LCA0NzcwMiwgCisgICAgNDc3MTEsIDQ3NzE5LCA0NzcyNywgNDc3MzMsIDQ3NzM5LCA0Nzc0NCwgNDc3NTAsIDQ3NzU1LCA0Nzc1OCwgNDc3NzIsIAorICAgIDQ3Nzc1LCA0Nzc4MCwgNDc3ODUsIDQ3NzkxLCA0NzgwMSwgNDc4MDMsIDQ3ODA5LCA0NzgxNSwgNDc4MTksIDQ3ODI2LCAKKyAgICA0NzgzMCwgNDc4MzIsIDQ3ODM0LCA0NzgzOCwgNDc4NDQsIDQ3ODQ5LCA0Nzg1NSwgNDc4NTcsIDQ3ODYzLCA0Nzg2NSwgCisgICAgNDc4NzEsIDQ3ODczLCA0Nzg3NSwgNDc4ODAsIDQ3ODgyLCA0Nzg4NiwgNDc4OTEsIDQ3ODkzLCA0Nzg5OCwgNDc5MDMsIAorICAgIDQ3OTA3LCA0NzkxNCwgMCwgNDc5MjQsIDQ3OTMwLCA0NzkzMywgNDc5MzksIDQ3OTQyLCA0Nzk0NywgNDc5NTIsIDQ3OTU2LCAKKyAgICA0Nzk1OCwgNDc5NjAsIDQ3OTY0LCA0Nzk2OCwgNDc5NzIsIDQ3OTc2LCA0Nzk4MSwgNDc5ODMsIDQ3OTg4LCA0Nzk5MSwgCisgICAgNDc5OTQsIDQ3OTk3LCA0ODAwMSwgNDgwMDUsIDQ4MDEwLCA0ODAxNCwgNDgwMTksIDQ4MDI0LCA0ODAyOCwgNDgwMzMsIAorICAgIDQ4MDM5LCA0ODA0MiwgNDgwNDgsIDQ4MDUzLCA0ODA1NywgNDgwNjIsIDQ4MDY4LCA0ODA3NCwgNDgwODEsIDQ4MDg3LCAKKyAgICA0ODA5NCwgNDgxMDEsIDQ4MTAzLCA0ODExMCwgNDgxMTQsIDQ4MTIwLCA0ODEyNiwgNDgxMzEsIDQ4MTM3LCA0ODE0MSwgCisgICAgNDgxNDYsIDQ4MTQ5LCA0ODE1NCwgNDgxNjAsIDQ4MTY3LCA0ODE3NSwgNDgxODIsIDQ4MTkxLCA0ODIwMSwgNDgyMDgsIAorICAgIDQ4MjE0LCA0ODIxOCwgNDgyMjUsIDQ4MjMwLCA0ODIzOSwgNDgyNDIsIDQ4MjQ1LCA0ODI1NCwgNDgyNjQsIDQ4MjcxLCAKKyAgICA0ODI3MywgNDgyNzksIDQ4Mjg0LCA0ODI4NiwgNDgyODksIDQ4MjkzLCA0ODMwMSwgNDgzMTAsIDQ4MzEzLCA0ODMxOCwgCisgICAgNDgzMjMsIDQ4MzMxLCA0ODMzOSwgNDgzNDcsIDQ4MzU1LCA0ODM2MSwgNDgzNjcsIDQ4MzczLCA0ODM4MSwgNDgzODYsIAorICAgIDQ4Mzg5LCA0ODM5MywgNDgzOTYsIDQ4NDA4LCA0ODQxOCwgNDg0MjksIDQ4NDM4LCA0ODQ0OSwgNDg0NTksIDQ4NDY4LCAKKyAgICA0ODQ3NCwgNDg0ODIsIDQ4NDg2LCA0ODQ5NCwgNDg0OTgsIDQ4NTA2LCA0ODUxMywgNDg1MjAsIDQ4NTI5LCA0ODUzOCwgCisgICAgNDg1NDgsIDQ4NTU4LCA0ODU2OCwgNDg1NzgsIDQ4NTg3LCA0ODU5NiwgNDg2MDYsIDQ4NjE2LCA0ODYyNSwgNDg2MzQsIAorICAgIDQ4NjQwLCA0ODY0NiwgNDg2NTIsIDQ4NjU4LCA0ODY2NCwgNDg2NzAsIDQ4Njc2LCA0ODY4MiwgNDg2ODgsIDQ4Njk1LCAKKyAgICA0ODcwMSwgNDg3MDcsIDQ4NzEzLCA0ODcxOSwgNDg3MjUsIDQ4NzMxLCA0ODczNywgNDg3NDMsIDQ4NzQ5LCA0ODc1NiwgCisgICAgNDg3NjMsIDQ4NzcwLCA0ODc3NywgNDg3ODQsIDQ4NzkxLCA0ODc5OCwgNDg4MDUsIDQ4ODEyLCA0ODgxOSwgNDg4MjcsIAorICAgIDQ4ODMyLCA0ODgzNSwgNDg4MzksIDQ4ODQzLCA0ODg0OSwgNDg4NTIsIDQ4ODU4LCA0ODg2NCwgNDg4NjksIDQ4ODczLCAKKyAgICA0ODg3OCwgNDg4ODQsIDQ4ODkxLCA0ODg5NCwgNDg5MDEsIDQ4OTA4LCA0ODkxMiwgNDg5MjEsIDQ4OTMwLCA0ODkzNSwgCisgICAgNDg5NDEsIDQ4OTQ2LCA0ODk1MSwgNDg5NTgsIDQ4OTY1LCA0ODk3MywgNDg5ODEsIDQ4OTkwLCA0ODk5NCwgNDkwMDMsIAorICAgIDQ5MDA4LCA0OTAxMiwgNDkwMTksIDQ5MDIzLCA0OTAzMCwgNDkwMzgsIDQ5MDQzLCA0OTA1MSwgNDkwNTUsIDQ5MDYwLCAKKyAgICA0OTA2NCwgNDkwNjksIDQ5MDczLCA0OTA3OCwgNDkwODMsIDQ5MDkyLCA0OTA5NCwgNDkwOTcsIDQ5MTAwLCA0OTEwNywgCisgICAgNDkxMTQsIDQ5MTE5LCA0OTEyNywgNDkxMzMsIDQ5MTM5LCA0OTE0NCwgNDkxNDcsIDQ5MTUyLCA0OTE1NywgNDkxNjIsIAorICAgIDQ5MTcwLCA0OTE3NCwgNDkxODEsIDQ5MTg5LCA0OTE5NywgNDkyMDIsIDQ5MjA3LCA0OTIxMywgNDkyMTgsIDQ5MjIzLCAKKyAgICA0OTIyOSwgNDkyMzQsIDQ5MjM3LCA0OTI0MSwgNDkyNDUsIDQ5MjUyLCA0OTI2MSwgNDkyNjYsIDQ5Mjc1LCA0OTI4NCwgCisgICAgNDkyOTAsIDQ5Mjk2LCA0OTMwMSwgNDkzMDYsIDQ5MzExLCA0OTMxNiwgNDkzMjIsIDQ5MzI4LCA0OTMzNiwgNDkzNDQsIAorICAgIDQ5MzUwLCA0OTM1NiwgNDkzNjEsIDQ5MzY2LCA0OTM3MywgNDkzODAsIDQ5Mzg2LCA0OTM4OSwgNDkzOTIsIDQ5Mzk2LCAKKyAgICA0OTQwMCwgNDk0MDQsIDQ5NDA5LCA0OTQxNSwgNDk0MjEsIDQ5NDI4LCA0OTQzNSwgNDk0NDAsIDQ5NDQ0LCA0OTQ0OCwgCisgICAgNDk0NTIsIDQ5NDU2LCA0OTQ2MCwgNDk0NjQsIDQ5NDY4LCA0OTQ3MiwgNDk0NzYsIDQ5NDgwLCA0OTQ4NCwgNDk0ODgsIAorICAgIDQ5NDkyLCA0OTQ5NiwgNDk1MDAsIDQ5NTA0LCA0OTUwOCwgNDk1MTIsIDQ5NTE2LCA0OTUyMCwgNDk1MjQsIDQ5NTI4LCAKKyAgICA0OTUzMiwgNDk1MzYsIDQ5NTQwLCA0OTU0NCwgNDk1NDgsIDQ5NTUyLCA0OTU1NiwgNDk1NjAsIDQ5NTY0LCA0OTU2OCwgCisgICAgNDk1NzIsIDQ5NTc2LCA0OTU4MCwgNDk1ODQsIDQ5NTg4LCA0OTU5MiwgNDk1OTYsIDQ5NjAwLCA0OTYwNCwgNDk2MDgsIAorICAgIDQ5NjEyLCA0OTYxNiwgNDk2MjAsIDQ5NjI0LCA0OTYyOCwgNDk2MzIsIDQ5NjM2LCA0OTY0MCwgNDk2NDQsIDQ5NjQ4LCAKKyAgICA0OTY1MiwgNDk2NTYsIDQ5NjYwLCA0OTY2NCwgNDk2NjgsIDQ5NjcyLCA0OTY3NiwgNDk2ODAsIDQ5Njg0LCA0OTY4OCwgCisgICAgNDk2OTIsIDQ5Njk2LCA0OTcwMCwgNDk3MDQsIDQ5NzA4LCA0OTcxMiwgNDk3MTYsIDQ5NzIwLCA0OTcyNCwgNDk3MjgsIAorICAgIDQ5NzMyLCA0OTczNiwgNDk3NDAsIDQ5NzQ0LCA0OTc0OCwgNDk3NTIsIDQ5NzU2LCA0OTc2MCwgNDk3NjQsIDQ5NzY4LCAKKyAgICA0OTc3MiwgNDk3NzYsIDQ5NzgwLCA0OTc4NCwgNDk3ODgsIDQ5NzkyLCA0OTc5NiwgNDk4MDAsIDQ5ODA0LCA0OTgwOCwgCisgICAgNDk4MTIsIDQ5ODE2LCA0OTgyMCwgNDk4MjQsIDQ5ODI4LCA0OTgzMiwgNDk4MzYsIDQ5ODQwLCA0OTg0NCwgNDk4NDgsIAorICAgIDQ5ODUyLCA0OTg1NiwgNDk4NjAsIDQ5ODY0LCA0OTg2OCwgNDk4NzIsIDQ5ODc2LCA0OTg4MCwgNDk4ODQsIDQ5ODg4LCAKKyAgICA0OTg5MiwgNDk4OTYsIDQ5OTAwLCA0OTkwNCwgNDk5MDgsIDQ5OTEyLCA0OTkxNiwgNDk5MjAsIDQ5OTI0LCA0OTkyOCwgCisgICAgNDk5MzIsIDQ5OTM2LCA0OTk0MCwgNDk5NDQsIDQ5OTQ4LCA0OTk1MiwgNDk5NTYsIDQ5OTYwLCA0OTk2NCwgNDk5NjgsIAorICAgIDQ5OTcyLCA0OTk3NiwgNDk5ODAsIDQ5OTg0LCA0OTk4OCwgNDk5OTIsIDQ5OTk2LCA1MDAwMCwgNTAwMDQsIDUwMDA4LCAKKyAgICA1MDAxMiwgNTAwMTYsIDUwMDIwLCA1MDAyNCwgNTAwMjgsIDUwMDMyLCA1MDAzNiwgNTAwNDAsIDUwMDQ0LCA1MDA0OCwgCisgICAgNTAwNTIsIDUwMDU2LCA1MDA2MCwgNTAwNjQsIDUwMDY4LCA1MDA3MiwgNTAwNzYsIDUwMDgwLCA1MDA4NCwgNTAwODgsIAorICAgIDUwMDkyLCA1MDA5NiwgNTAxMDAsIDUwMTA0LCA1MDEwOCwgNTAxMTIsIDUwMTE2LCA1MDEyMCwgNTAxMjQsIDUwMTI4LCAKKyAgICA1MDEzMiwgNTAxMzYsIDUwMTQwLCA1MDE0NCwgNTAxNDgsIDUwMTUyLCA1MDE1NiwgNTAxNjAsIDUwMTY0LCA1MDE2OCwgCisgICAgNTAxNzIsIDUwMTc2LCA1MDE4MCwgNTAxODQsIDUwMTg4LCA1MDE5MiwgNTAxOTYsIDUwMjAwLCA1MDIwNCwgNTAyMDgsIAorICAgIDUwMjEyLCA1MDIxNiwgNTAyMjAsIDUwMjI0LCA1MDIyOCwgNTAyMzIsIDUwMjM2LCA1MDI0MCwgNTAyNDQsIDUwMjQ4LCAKKyAgICA1MDI1MiwgNTAyNTYsIDUwMjYwLCA1MDI2NCwgNTAyNjgsIDUwMjcyLCA1MDI3NiwgNTAyODAsIDUwMjg0LCA1MDI4OCwgCisgICAgNTAyOTIsIDUwMjk2LCA1MDMwMCwgNTAzMDQsIDUwMzA4LCA1MDMxMiwgNTAzMTYsIDUwMzIwLCA1MDMyNCwgNTAzMjgsIAorICAgIDUwMzMyLCA1MDMzNiwgNTAzNDAsIDUwMzQ0LCA1MDM0OCwgNTAzNTIsIDUwMzU2LCA1MDM2MCwgNTAzNjQsIDUwMzY4LCAKKyAgICA1MDM3MiwgNTAzNzYsIDUwMzgwLCA1MDM4NCwgNTAzODgsIDUwMzkyLCA1MDM5NiwgNTA0MDAsIDUwNDA0LCA1MDQwOCwgCisgICAgNTA0MTIsIDUwNDE2LCA1MDQyMCwgNTA0MjQsIDUwNDI4LCA1MDQzMiwgNTA0MzYsIDUwNDQwLCA1MDQ0NCwgNTA0NDgsIAorICAgIDUwNDUyLCA1MDQ1NiwgNTA0NjAsIDUwNDY0LCA1MDQ3MSwgNTA0NzksIDUwNDg1LCA1MDQ5MSwgNTA0OTgsIDUwNTA1LCAKKyAgICA1MDUxMSwgNTA1MTcsIDUwNTIzLCA1MDUyOSwgNTA1MzQsIDUwNTM5LCA1MDU0NCwgNTA1NDksIDUwNTU1LCA1MDU2MSwgCisgICAgNTA1NjksIDUwNTc2LCA1MDU4MiwgNTA1ODgsIDUwNTk2LCA1MDYwNSwgNTA2MTIsIDUwNjIyLCA1MDYzMywgNTA2MzYsIAorICAgIDUwNjM5LCA1MDY0MywgNTA2NDcsIDUwNjU0LCA1MDY2MSwgNTA2NzIsIDUwNjgzLCA1MDY5MywgNTA3MDMsIDUwNzEwLCAKKyAgICA1MDcxNywgNTA3MjQsIDUwNzMxLCA1MDc0MiwgNTA3NTMsIDUwNzY0LCA1MDc3NSwgNTA3ODUsIDUwNzk1LCA1MDgwNywgCisgICAgNTA4MTksIDUwODMwLCA1MDg0MSwgNTA4NTMsIDUwODY1LCA1MDg3NCwgNTA4ODQsIDUwODk0LCA1MDkwNSwgNTA5MTYsIAorICAgIDUwOTIzLCA1MDkzMCwgNTA5MzcsIDUwOTQ0LCA1MDk1NCwgNTA5NjQsIDUwOTcyLCA1MDk4MCwgNTA5ODcsIDUwOTk0LCAKKyAgICA1MTAwMSwgNTEwMDgsIDUxMDE1LCA1MTAyMCwgNTEwMjUsIDUxMDMxLCA1MTAzOSwgNTEwNDksIDUxMDU5LCA1MTA2OSwgCisgICAgNTEwNzksIDUxMDg5LCA1MTA5OSwgNTExMDksIDUxMTE5LCA1MTEyOSwgNTExMzksIDUxMTQ5LCA1MTE2MCwgNTExNzEsIAorICAgIDUxMTgxLCA1MTE5MSwgNTEyMDIsIDUxMjEzLCA1MTIyMywgNTEyMzMsIDUxMjQ0LCA1MTI1NSwgNTEyNjUsIDUxMjc1LCAKKyAgICA1MTI4NiwgNTEyOTcsIDUxMzEzLCA1MTMzMiwgNTEzNDgsIDUxMzY3LCA1MTM4MywgNTEzOTksIDUxNDE1LCA1MTQzMSwgCisgICAgNTE0NDIsIDUxNDU0LCA1MTQ2NSwgNTE0NzcsIDUxNDk2LCA1MTUxNSwgNTE1MjMsIDUxNTI5LCA1MTUzNiwgNTE1NDMsIAorICAgIDUxNTUwLCA1MTU1NywgNTE1NjIsIDUxNTY4LCA1MTU3MywgNTE1NzgsIDUxNTg0LCA1MTU4OSwgNTE1OTQsIDUxNTk5LCAKKyAgICA1MTYwNCwgNTE2MDksIDUxNjE2LCA1MTYyMSwgNTE2MjgsIDUxNjMzLCA1MTYzOCwgNTE2NDIsIDUxNjQ2LCA1MTY1MywgCisgICAgNTE2NjAsIDUxNjY3LCA1MTY3NCwgNTE2ODEsIDUxNjg4LCA1MTcwMSwgNTE3MTQsIDUxNzI3LCA1MTc0MCwgNTE3NDgsIAorICAgIDUxNzU2LCA1MTc2MiwgNTE3NjgsIDUxNzc1LCA1MTc4MiwgNTE3ODksIDUxNzk2LCA1MTgwMCwgNTE4MDUsIDUxODEzLCAKKyAgICA1MTgyMSwgNTE4MjksIDUxODM2LCA1MTg0MCwgNTE4NDgsIDUxODU2LCA1MTg2MCwgNTE4NjQsIDUxODY5LCA1MTg3NiwgCisgICAgNTE4ODQsIDUxODkyLCA1MTkxMSwgNTE5MzAsIDUxOTQ5LCA1MTk2OCwgNTE5ODcsIDUyMDA2LCA1MjAyNSwgNTIwNDQsIAorICAgIDUyMDUwLCA1MjA1NywgNTIwNjYsIDUyMDc0LCA1MjA4MiwgNTIwODcsIDUyMDkwLCA1MjA5MywgNTIwOTgsIDUyMTAxLCAKKyAgICA1MjEyMCwgNTIxMjcsIDUyMTMzLCA1MjEzOSwgNTIxNDMsIDUyMTQ2LCA1MjE0OSwgNTIxNTIsIDUyMTY0LCA1MjE3NywgCisgICAgNTIxODQsIDUyMTkxLCA1MjE5NCwgNTIxOTgsIDUyMjAxLCA1MjIwNiwgNTIyMTEsIDUyMjE2LCA1MjIyMiwgNTIyMzEsIAorICAgIDUyMjM4LCA1MjI0NSwgNTIyNTMsIDUyMjYwLCA1MjI2NywgNTIyNzAsIDUyMjc2LCA1MjI4MiwgNTIyODUsIDUyMjg4LCAKKyAgICA1MjI5MywgNTIyOTgsIDUyMzA0LCA1MjMxMCwgNTIzMTQsIDUyMzE5LCA1MjMyNiwgNTIzMzAsIDUyMzM2LCA1MjM0MCwgCisgICAgNTIzNDQsIDUyMzUyLCA1MjM2NCwgNTIzNzMsIDUyMzc3LCA1MjM3OSwgNTIzODgsIDUyMzk3LCA1MjQwMywgNTI0MDYsIAorICAgIDUyNDEyLCA1MjQxOCwgNTI0MjMsIDUyNDI4LCA1MjQzMywgNTI0MzgsIDUyNDQzLCA1MjQ0OCwgNTI0NTAsIDUyNDU2LCAKKyAgICA1MjQ2MSwgNTI0NjgsIDUyNDcyLCA1MjQ3OCwgNTI0ODEsIDUyNDg1LCA1MjQ5MiwgNTI0OTksIDUyNTAxLCA1MjUwMywgCisgICAgNTI1MDksIDUyNTE1LCA1MjUyMSwgNTI1MzAsIDUyNTM5LCA1MjU0NiwgNTI1NTMsIDUyNTU5LCA1MjU2NSwgNTI1NzAsIAorICAgIDUyNTc1LCA1MjU4MCwgNTI1ODYsIDUyNTkyLCA1MjU5NywgNTI2MDQsIDUyNjA4LCA1MjYxMiwgNTI2MjUsIDUyNjM4LCAKKyAgICA1MjY1MCwgNTI2NTksIDUyNjY1LCA1MjY3MiwgNTI2NzcsIDUyNjgyLCA1MjY4NywgNTI2OTIsIDUyNjk3LCA1MjY5OSwgCisgICAgNTI3MDYsIDUyNzEzLCA1MjcyMCwgNTI3MjcsIDUyNzM0LCA1Mjc0MiwgNTI3NDgsIDUyNzUzLCA1Mjc1OSwgNTI3NjUsIAorICAgIDUyNzcxLCA1Mjc3OCwgNTI3ODQsIDUyNzkyLCA1MjgwMCwgNTI4MDgsIDUyODE2LCA1MjgyMywgNTI4MjksIDUyODM1LCAKKyAgICA1Mjg0NCwgNTI4NDgsIDUyODU3LCA1Mjg2NiwgNTI4NzUsIDUyODgzLCA1Mjg4NywgNTI4OTMsIDUyOTAwLCA1MjkwNywgCisgICAgNTI5MTEsIDUyOTE3LCA1MjkyNCwgNTI5MjksIDUyOTM0LCA1Mjk0MCwgNTI5NDUsIDUyOTUwLCA1Mjk1NywgNTI5NjQsIAorICAgIDUyOTY5LCA1Mjk3NCwgNTI5ODIsIDUyOTkwLCA1MzAwMCwgNTMwMTAsIDUzMDE3LCA1MzAyNCwgNTMwMjgsIDUzMDMyLCAKKyAgICA1MzA0NCwgNTMwNTAsIDUzMDU2LCA1MzA2MSwgNTMwNjYsIDUzMDczLCA1MzA4MCwgNTMwODYsIDUzMDkyLCA1MzEwMSwgCisgICAgNTMxMDksIDUzMTE3LCA1MzEyNCwgNTMxMzEsIDUzMTM4LCA1MzE0NCwgNTMxNTEsIDUzMTU3LCA1MzE2NCwgNTMxNzEsIAorICAgIDUzMTc4LCA1MzE4NSwgNTMxOTEsIDUzMTk2LCA1MzIwNSwgNTMyMTUsIDUzMjIyLCA1MzIzMSwgNTMyMzcsIDUzMjQyLCAKKyAgICA1MzI0NywgNTMyNTcsIDUzMjYzLCA1MzI2OSwgNTMyNzUsIDUzMjgzLCA1MzI4OCwgNTMyOTUsIDUzMzAyLCA1MzMxMywgCisgICAgNTMzMjAsIDUzMzI3LCA1MzMzNCwgNTMzNDEsIDUzMzQ4LCA1MzM1NSwgNTMzNjIsIDUzMzc0LCA1MzM4NiwgNTMzOTcsIAorICAgIDUzNDA4LCA1MzQyMSwgNTM0MzQsIDUzNDM5LCA1MzQ0NCwgNTM0NTMsIDUzNDYyLCA1MzQ2OSwgNTM0NzYsIDUzNDg1LCAKKyAgICA1MzQ5NCwgNTM1MDIsIDUzNTEwLCA1MzUxOCwgNTM1MjYsIDUzNTM2LCA1MzU0NiwgNTM1NjAsIDUzNTc0LCA1MzU4MiwgCisgICAgNTM1OTAsIDUzNjAyLCA1MzYxNCwgNTM2MjIsIDUzNjMwLCA1MzY0MCwgNTM2NTAsIDUzNjU1LCA1MzY2MCwgNTM2NjksIAorICAgIDUzNjc4LCA1MzY4MywgNTM2ODgsIDUzNjk2LCA1MzcwMiwgNTM3MDgsIDUzNzE2LCA1MzcyNCwgNTM3MzcsIDUzNzUwLCAKKyAgICA1Mzc1NCwgNTM3NTgsIDUzNzY1LCA1Mzc3MiwgNTM3NzksIDUzNzg3LCA1Mzc5NSwgNTM4MDQsIDUzODEzLCA1MzgxOSwgCisgICAgNTM4MjUsIDUzODMyLCA1MzgzOSwgNTM4NDYsIDUzODUzLCA1Mzg2MiwgNTM4NzEsIDUzODc0LCA1Mzg3NywgNTM4ODIsIAorICAgIDUzODg3LCA1Mzg5MywgNTM4OTksIDUzOTA2LCA1MzkxMywgNTM5MjMsIDUzOTMzLCA1Mzk0MCwgNTM5NDcsIDUzOTU1LCAKKyAgICA1Mzk2MywgNTM5NzEsIDUzOTc5LCA1Mzk4NywgNTM5OTUsIDU0MDAxLCA1NDAwNywgNTQwMTEsIDU0MDE1LCA1NDAyMiwgCisgICAgNTQwMjksIDU0MDM0LCA1NDAzOSwgNTQwNDQsIDU0MDQ5LCA1NDA1NSwgNTQwNjksIDU0MDc2LCA1NDA4MywgNTQwODcsIAorICAgIDU0MDg5LCA1NDA5MSwgNTQwOTYsIDU0MTAxLCA1NDEwNiwgNTQxMTEsIDU0MTE5LCA1NDEyNiwgNTQxMzMsIDU0MTQxLCAKKyAgICA1NDE1MywgNTQxNjEsIDU0MTY5LCA1NDE4MCwgNTQxODQsIDU0MTg4LCA1NDE5NCwgNTQyMDIsIDU0MjE1LCA1NDIyMiwgCisgICAgNTQyMjksIDU0MjM2LCA1NDI0MSwgNTQyNDgsIDU0MjU3LCA1NDI2NSwgNTQyNzEsIDU0Mjc3LCA1NDI4MywgNTQyOTIsIAorICAgIDU0MzAxLCA1NDMwOSwgNTQzMTgsIDU0MzIzLCA1NDMyNiwgNTQzMzEsIDU0MzM3LCA1NDM0MywgNTQzNDksIDU0MzU1LCAKKyAgICA1NDM1OSwgNTQzNjIsIDU0MzY2LCA1NDM3MCwgNTQzNzYsIDU0MzgyLCA1NDM4OCwgNTQzOTQsIDU0Mzk4LCA1NDQwMiwgCisgICAgNTQ0MDksIDU0NDE2LCA1NDQyMywgNTQ0MzAsIDU0NDM3LCA1NDQ0NCwgNTQ0NTQsIDU0NDY0LCA1NDQ3MSwgNTQ0NzgsIAorICAgIDU0NDg2LCA1NDQ5NCwgNTQ0OTgsIDU0NTAzLCA1NDUwOCwgNTQ1MTQsIDU0NTIwLCA1NDUyMywgNTQ1MjYsIDU0NTI5LCAKKyAgICA1NDUzMiwgNTQ1MzYsIDU0NTQxLCA1NDU0NiwgNTQ1NTEsIDU0NTU2LCA1NDU2MSwgNTQ1NjUsIDU0NTY5LCA1NDU3MywgCisgICAgNTQ1NzcsIDU0NTgxLCA1NDU4NSwgNTQ1ODksIDU0NTk1LCA1NDU5OSwgNTQ2MDUsIDU0NjEwLCA1NDYxNywgNTQ2MjUsIAorICAgIDU0NjMyLCA1NDY0MCwgNTQ2NDcsIDU0NjU1LCA1NDY2NCwgNTQ2NzEsIDU0NjgxLCA1NDY5MiwgNTQ2OTgsIDU0NzA3LCAKKyAgICA1NDcxMywgNTQ3MjIsIDU0NzMxLCA1NDczNywgNTQ3NDMsIDU0NzQ3LCA1NDc1MSwgNTQ3NjAsIDU0NzY5LCA1NDc3NiwgCisgICAgNTQ3ODMsIDU0NzkyLCAwLCAwLCAwLCA1NDgwMSwgNTQ4MDYsIDU0ODEwLCA1NDgxNCwgNTQ4MTksIDU0ODI0LCA1NDgyOSwgCisgICAgNTQ4MzcsIDU0ODQ1LCA1NDg0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTQ4NDcsIDU0ODUyLCA1NDg1NywgNTQ4NjIsIDU0ODY3LCA1NDg3MiwgNTQ4NzcsIDU0ODgyLCAKLSAgICA1NDg4NywgNTQ4OTIsIDU0ODk3LCA1NDkwMywgNTQ5MDcsIDU0OTEyLCA1NDkxNywgNTQ5MjIsIDU0OTI3LCA1NDkzMiwgCi0gICAgNTQ5MzcsIDU0OTQyLCA1NDk0NywgNTQ5NTIsIDU0OTU3LCA1NDk2MiwgNTQ5NjcsIDU0OTcyLCA1NDk3NywgNTQ5ODIsIAotICAgIDU0OTg3LCA1NDk5MiwgNTQ5OTcsIDU1MDAyLCA1NTAwNywgNTUwMTIsIDU1MDE3LCA1NTAyMywgNTUwMjgsIDU1MDM0LCAKLSAgICA1NTA0MywgNTUwNDgsIDU1MDU2LCA1NTA2MywgNTUwNzIsIDU1MDc3LCA1NTA4MiwgNTUwODcsIDU1MDkzLCAwLCA1NTEwMCwgCi0gICAgNTUxMDUsIDU1MTEwLCA1NTExNSwgNTUxMjAsIDU1MTI1LCA1NTEzMCwgNTUxMzUsIDU1MTQwLCA1NTE0NSwgNTUxNTAsIAotICAgIDU1MTU2LCA1NTE2MCwgNTUxNjUsIDU1MTcwLCA1NTE3NSwgNTUxODAsIDU1MTg1LCA1NTE5MCwgNTUxOTUsIDU1MjAwLCAKLSAgICA1NTIwNSwgNTUyMTAsIDU1MjE1LCA1NTIyMCwgNTUyMjUsIDU1MjMwLCA1NTIzNSwgNTUyNDAsIDU1MjQ1LCA1NTI1MCwgCi0gICAgNTUyNTUsIDU1MjYwLCA1NTI2NSwgNTUyNzAsIDU1Mjc2LCA1NTI4MSwgNTUyODcsIDU1Mjk2LCA1NTMwMSwgNTUzMDksIAotICAgIDU1MzE2LCA1NTMyNSwgNTUzMzAsIDU1MzM1LCA1NTM0MCwgNTUzNDYsIDAsIDU1MzUzLCA1NTM2MSwgNTUzNjksIDU1Mzc4LCAKLSAgICA1NTM4NSwgNTUzOTMsIDU1Mzk5LCA1NTQwOCwgNTU0MTYsIDU1NDI0LCA1NTQzMiwgNTU0NDAsIDU1NDQ4LCA1NTQ1NiwgCi0gICAgNTU0NjEsIDU1NDY4LCA1NTQ3NCwgNTU0ODEsIDU1NDg5LCA1NTQ5NiwgNTU1MDMsIDU1NTExLCA1NTUxNywgNTU1MjMsIAotICAgIDU1NTMwLCA1NTUzNywgNTU1NDcsIDU1NTU3LCA1NTU2NCwgNTU1NzEsIDU1NTc2LCA1NTU4NiwgNTU1OTYsIDU1NjAxLCAKLSAgICA1NTYwNiwgNTU2MTEsIDU1NjE2LCA1NTYyMSwgNTU2MjYsIDU1NjMxLCA1NTYzNiwgNTU2NDEsIDU1NjQ2LCA1NTY1MSwgCi0gICAgNTU2NTYsIDU1NjYxLCA1NTY2NiwgNTU2NzEsIDU1Njc2LCA1NTY4MSwgNTU2ODYsIDU1NjkxLCA1NTY5NiwgNTU3MDEsIAotICAgIDU1NzA2LCA1NTcxMSwgNTU3MTYsIDU1NzIxLCA1NTcyNiwgNTU3MzEsIDU1NzM2LCA1NTc0MSwgNTU3NDYsIDU1NzUwLCAKLSAgICA1NTc1NCwgNTU3NTksIDU1NzY0LCA1NTc2OSwgNTU3NzQsIDU1Nzc5LCA1NTc4NCwgNTU3ODksIDU1Nzk0LCA1NTc5OSwgCi0gICAgNTU4MDQsIDU1ODA5LCA1NTgxNCwgNTU4MTksIDU1ODI0LCA1NTgyOSwgNTU4MzQsIDU1ODM5LCA1NTg0NCwgNTU4NTEsIAotICAgIDU1ODU4LCA1NTg2NSwgNTU4NzIsIDU1ODc5LCA1NTg4NiwgNTU4OTMsIDU1OTAwLCA1NTkwNywgNTU5MTQsIDU1OTIxLCAKLSAgICA1NTkyOCwgNTU5MzUsIDU1OTQyLCA1NTk0NywgNTU5NTIsIDU1OTU5LCA1NTk2NiwgNTU5NzMsIDU1OTgwLCA1NTk4NywgCi0gICAgNTU5OTQsIDU2MDAxLCA1NjAwOCwgNTYwMTUsIDU2MDIyLCA1NjAyOSwgNTYwMzYsIDU2MDQyLCA1NjA0OCwgNTYwNTQsIAotICAgIDU2MDYwLCA1NjA2NywgNTYwNzQsIDU2MDgxLCA1NjA4OCwgNTYwOTUsIDU2MTAyLCA1NjEwOSwgNTYxMTYsIDU2MTIzLCAKLSAgICA1NjEzMCwgNTYxMzgsIDU2MTQ2LCA1NjE1NCwgNTYxNjIsIDU2MTcwLCA1NjE3OCwgNTYxODYsIDU2MTk0LCA1NjE5OCwgCi0gICAgNTYyMDQsIDU2MjEwLCA1NjIxNCwgNTYyMjAsIDU2MjI2LCA1NjIzMiwgNTYyMzksIDU2MjQ2LCA1NjI1MywgNTYyNjAsIAotICAgIDU2MjY1LCA1NjI3MSwgNTYyNzcsIDU2Mjg0LCAwLCAwLCAwLCAwLCAwLCA1NjI5MSwgNTYyOTksIDU2MzA4LCA1NjMxNywgCi0gICAgNTYzMjUsIDU2MzMxLCA1NjMzNiwgNTYzNDEsIDU2MzQ2LCA1NjM1MSwgNTYzNTYsIDU2MzYxLCA1NjM2NiwgNTYzNzEsIAotICAgIDU2Mzc2LCA1NjM4MSwgNTYzODYsIDU2MzkxLCA1NjM5NiwgNTY0MDEsIDU2NDA2LCA1NjQxMSwgNTY0MTYsIDU2NDIxLCAKLSAgICA1NjQyNiwgNTY0MzEsIDU2NDM2LCA1NjQ0MSwgNTY0NDYsIDU2NDUxLCA1NjQ1NiwgNTY0NjEsIDU2NDY2LCA1NjQ3MSwgCi0gICAgNTY0NzYsIDU2NDgxLCA1NjQ4NiwgNTY0OTEsIDU2NDk2LCA1NjUwMSwgNTY1MDYsIDU2NTExLCA1NjUxNiwgNTY1MjEsIAotICAgIDU2NTI2LCAwLCA1NjUzMSwgMCwgMCwgMCwgMCwgMCwgNTY1MzYsIDAsIDAsIDU2NTQxLCA1NjU0NSwgNTY1NTAsIDU2NTU1LCAKLSAgICA1NjU2MCwgNTY1NjUsIDU2NTc0LCA1NjU3OSwgNTY1ODQsIDU2NTg5LCA1NjU5NCwgNTY1OTksIDU2NjA0LCA1NjYwOSwgCi0gICAgNTY2MTQsIDU2NjIxLCA1NjYyNiwgNTY2MzEsIDU2NjQwLCA1NjY0NywgNTY2NTIsIDU2NjU3LCA1NjY2MiwgNTY2NjksIAotICAgIDU2Njc0LCA1NjY4MSwgNTY2ODYsIDU2NjkxLCA1NjY5OCwgNTY3MDUsIDU2NzEwLCA1NjcxNSwgNTY3MjAsIDU2NzI3LCAKLSAgICA1NjczNCwgNTY3MzksIDU2NzQ0LCA1Njc0OSwgNTY3NTQsIDU2NzU5LCA1Njc2NiwgNTY3NzMsIDU2Nzc4LCA1Njc4MywgCi0gICAgNTY3ODgsIDU2NzkzLCA1Njc5OCwgNTY4MDMsIDU2ODA4LCA1NjgxMywgNTY4MTgsIDU2ODIzLCA1NjgyOCwgNTY4MzUsIAotICAgIDU2ODQwLCA1Njg0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4NTAsIDU2ODU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1Njg2MiwgNTY4NjcsIDU2ODcxLCA1Njg3NSwgNTY4NzksIDU2ODgzLCA1Njg4NywgNTY4OTEsIAotICAgIDU2ODk1LCA1Njg5OSwgNTY5MDMsIDU2OTA3LCA1NjkxMywgNTY5MTcsIDU2OTIxLCA1NjkyNSwgNTY5MjksIDU2OTMzLCAKLSAgICA1NjkzNywgNTY5NDEsIDU2OTQ1LCA1Njk0OSwgNTY5NTMsIDU2OTU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1Njk2MSwgNTY5NjUsIDU2OTY5LCA1Njk3MywgNTY5NzcsIDU2OTgxLCA1Njk4NSwgMCwgNTY5ODksIDU2OTkzLCA1Njk5NywgCi0gICAgNTcwMDEsIDU3MDA1LCA1NzAwOSwgNTcwMTMsIDAsIDU3MDE3LCA1NzAyMSwgNTcwMjUsIDU3MDI5LCA1NzAzMywgNTcwMzcsIAotICAgIDU3MDQxLCAwLCA1NzA0NSwgNTcwNDksIDU3MDUzLCA1NzA1NywgNTcwNjEsIDU3MDY1LCA1NzA2OSwgMCwgNTcwNzMsIAotICAgIDU3MDc3LCA1NzA4MSwgNTcwODUsIDU3MDg5LCA1NzA5MywgNTcwOTcsIDAsIDU3MTAxLCA1NzEwNSwgNTcxMDksIDU3MTEzLCAKLSAgICA1NzExNywgNTcxMjEsIDU3MTI1LCAwLCA1NzEyOSwgNTcxMzMsIDU3MTM3LCA1NzE0MSwgNTcxNDUsIDU3MTQ5LCA1NzE1MywgCi0gICAgMCwgNTcxNTcsIDU3MTYxLCA1NzE2NSwgNTcxNjksIDU3MTczLCA1NzE3NywgNTcxODEsIDAsIDU3MTg1LCA1NzE5MCwgCi0gICAgNTcxOTUsIDU3MjAwLCA1NzIwNSwgNTcyMTAsIDU3MjE1LCA1NzIxOSwgNTcyMjQsIDU3MjI5LCA1NzIzNCwgNTcyMzgsIAotICAgIDU3MjQzLCA1NzI0OCwgNTcyNTMsIDU3MjU4LCA1NzI2MiwgNTcyNjcsIDU3MjcyLCA1NzI3NywgNTcyODIsIDU3Mjg3LCAKLSAgICA1NzI5MiwgNTcyOTYsIDU3MzAxLCA1NzMwNiwgNTczMTMsIDU3MzE4LCA1NzMyMywgNTczMjksIDU3MzM2LCA1NzM0MywgCi0gICAgNTczNTIsIDU3MzU5LCA1NzM2OCwgNTczNzIsIDU3Mzc2LCA1NzM4MiwgNTczODgsIDU3Mzk0LCA1NzQwMiwgNTc0MDgsIAotICAgIDU3NDEyLCA1NzQxNiwgNTc0MjAsIDU3NDI2LCA1NzQzMiwgNTc0MzYsIDU3NDM4LCA1NzQ0MiwgNTc0NDgsIDU3NDUwLCAKLSAgICA1NzQ1NCwgNTc0NTgsIDU3NDYyLCA1NzQ2OCwgNTc0NzMsIDU3NDc3LCA1NzQ4MSwgNTc0ODYsIDU3NDkyLCA1NzQ5NywgCi0gICAgNTc1MDIsIDU3NTA3LCA1NzUxMiwgNTc1MTksIDU3NTI2LCA1NzUzMSwgNTc1MzYsIDU3NTQxLCA1NzU0NiwgNTc1NTEsIAotICAgIDU3NTU2LCA1NzU2MCwgNTc1NjQsIDU3NTcxLCA1NzU3OCwgNTc1ODQsIDU3NTg4LCA1NzU5MywgNTc1OTUsIDU3NTk5LCAKLSAgICA1NzYwNywgNTc2MTEsIDU3NjE1LCA1NzYxOSwgNTc2MjMsIDU3NjI5LCA1NzYzNSwgNTc2MzksIDU3NjQ1LCA1NzY0OSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTQ4NTIsIDU0ODU3LCA1NDg2MiwgNTQ4NjcsIDU0ODcyLCA1NDg3NywgNTQ4ODIsIDU0ODg3LCAKKyAgICA1NDg5MiwgNTQ4OTcsIDU0OTAyLCA1NDkwOCwgNTQ5MTIsIDU0OTE3LCA1NDkyMiwgNTQ5MjcsIDU0OTMyLCA1NDkzNywgCisgICAgNTQ5NDIsIDU0OTQ3LCA1NDk1MiwgNTQ5NTcsIDU0OTYyLCA1NDk2NywgNTQ5NzIsIDU0OTc3LCA1NDk4MiwgNTQ5ODcsIAorICAgIDU0OTkyLCA1NDk5NywgNTUwMDIsIDU1MDA3LCA1NTAxMiwgNTUwMTcsIDU1MDIyLCA1NTAyOCwgNTUwMzMsIDU1MDM5LCAKKyAgICA1NTA0OCwgNTUwNTMsIDU1MDYxLCA1NTA2OCwgNTUwNzcsIDU1MDgyLCA1NTA4NywgNTUwOTIsIDU1MDk4LCAwLCA1NTEwNSwgCisgICAgNTUxMTAsIDU1MTE1LCA1NTEyMCwgNTUxMjUsIDU1MTMwLCA1NTEzNSwgNTUxNDAsIDU1MTQ1LCA1NTE1MCwgNTUxNTUsIAorICAgIDU1MTYxLCA1NTE2NSwgNTUxNzAsIDU1MTc1LCA1NTE4MCwgNTUxODUsIDU1MTkwLCA1NTE5NSwgNTUyMDAsIDU1MjA1LCAKKyAgICA1NTIxMCwgNTUyMTUsIDU1MjIwLCA1NTIyNSwgNTUyMzAsIDU1MjM1LCA1NTI0MCwgNTUyNDUsIDU1MjUwLCA1NTI1NSwgCisgICAgNTUyNjAsIDU1MjY1LCA1NTI3MCwgNTUyNzUsIDU1MjgxLCA1NTI4NiwgNTUyOTIsIDU1MzAxLCA1NTMwNiwgNTUzMTQsIAorICAgIDU1MzIxLCA1NTMzMCwgNTUzMzUsIDU1MzQwLCA1NTM0NSwgNTUzNTEsIDAsIDU1MzU4LCA1NTM2NiwgNTUzNzQsIDU1MzgzLCAKKyAgICA1NTM5MCwgNTUzOTgsIDU1NDA0LCA1NTQxMywgNTU0MjEsIDU1NDI5LCA1NTQzNywgNTU0NDUsIDU1NDUzLCA1NTQ2MSwgCisgICAgNTU0NjYsIDU1NDczLCA1NTQ3OSwgNTU0ODYsIDU1NDk0LCA1NTUwMSwgNTU1MDgsIDU1NTE2LCA1NTUyMiwgNTU1MjgsIAorICAgIDU1NTM1LCA1NTU0MiwgNTU1NTIsIDU1NTYyLCA1NTU2OSwgNTU1NzYsIDU1NTgxLCA1NTU5MSwgNTU2MDEsIDU1NjA2LCAKKyAgICA1NTYxMSwgNTU2MTYsIDU1NjIxLCA1NTYyNiwgNTU2MzEsIDU1NjM2LCA1NTY0MSwgNTU2NDYsIDU1NjUxLCA1NTY1NiwgCisgICAgNTU2NjEsIDU1NjY2LCA1NTY3MSwgNTU2NzYsIDU1NjgxLCA1NTY4NiwgNTU2OTEsIDU1Njk2LCA1NTcwMSwgNTU3MDYsIAorICAgIDU1NzExLCA1NTcxNiwgNTU3MjEsIDU1NzI2LCA1NTczMSwgNTU3MzYsIDU1NzQxLCA1NTc0NiwgNTU3NTEsIDU1NzU1LCAKKyAgICA1NTc1OSwgNTU3NjQsIDU1NzY5LCA1NTc3NCwgNTU3NzksIDU1Nzg0LCA1NTc4OSwgNTU3OTQsIDU1Nzk5LCA1NTgwNCwgCisgICAgNTU4MDksIDU1ODE0LCA1NTgxOSwgNTU4MjQsIDU1ODI5LCA1NTgzNCwgNTU4MzksIDU1ODQ0LCA1NTg0OSwgNTU4NTYsIAorICAgIDU1ODYzLCA1NTg3MCwgNTU4NzcsIDU1ODg0LCA1NTg5MSwgNTU4OTgsIDU1OTA1LCA1NTkxMiwgNTU5MTksIDU1OTI2LCAKKyAgICA1NTkzMywgNTU5NDAsIDU1OTQ3LCA1NTk1MiwgNTU5NTcsIDU1OTY0LCA1NTk3MSwgNTU5NzgsIDU1OTg1LCA1NTk5MiwgCisgICAgNTU5OTksIDU2MDA2LCA1NjAxMywgNTYwMjAsIDU2MDI3LCA1NjAzNCwgNTYwNDEsIDU2MDQ3LCA1NjA1MywgNTYwNTksIAorICAgIDU2MDY1LCA1NjA3MiwgNTYwNzksIDU2MDg2LCA1NjA5MywgNTYxMDAsIDU2MTA3LCA1NjExNCwgNTYxMjEsIDU2MTI4LCAKKyAgICA1NjEzNSwgNTYxNDMsIDU2MTUxLCA1NjE1OSwgNTYxNjcsIDU2MTc1LCA1NjE4MywgNTYxOTEsIDU2MTk5LCA1NjIwMywgCisgICAgNTYyMDksIDU2MjE1LCA1NjIxOSwgNTYyMjUsIDU2MjMxLCA1NjIzNywgNTYyNDQsIDU2MjUxLCA1NjI1OCwgNTYyNjUsIAorICAgIDU2MjcwLCA1NjI3NiwgNTYyODIsIDU2Mjg5LCAwLCAwLCAwLCAwLCAwLCA1NjI5NiwgNTYzMDQsIDU2MzEzLCA1NjMyMiwgCisgICAgNTYzMzAsIDU2MzM2LCA1NjM0MSwgNTYzNDYsIDU2MzUxLCA1NjM1NiwgNTYzNjEsIDU2MzY2LCA1NjM3MSwgNTYzNzYsIAorICAgIDU2MzgxLCA1NjM4NiwgNTYzOTEsIDU2Mzk2LCA1NjQwMSwgNTY0MDYsIDU2NDExLCA1NjQxNiwgNTY0MjEsIDU2NDI2LCAKKyAgICA1NjQzMSwgNTY0MzYsIDU2NDQxLCA1NjQ0NiwgNTY0NTEsIDU2NDU2LCA1NjQ2MSwgNTY0NjYsIDU2NDcxLCA1NjQ3NiwgCisgICAgNTY0ODEsIDU2NDg2LCA1NjQ5MSwgNTY0OTYsIDU2NTAxLCA1NjUwNiwgNTY1MTEsIDU2NTE2LCA1NjUyMSwgNTY1MjYsIAorICAgIDU2NTMxLCAwLCA1NjUzNiwgMCwgMCwgMCwgMCwgMCwgNTY1NDEsIDAsIDAsIDU2NTQ2LCA1NjU1MCwgNTY1NTUsIDU2NTYwLCAKKyAgICA1NjU2NSwgNTY1NzAsIDU2NTc5LCA1NjU4NCwgNTY1ODksIDU2NTk0LCA1NjU5OSwgNTY2MDQsIDU2NjA5LCA1NjYxNCwgCisgICAgNTY2MTksIDU2NjI2LCA1NjYzMSwgNTY2MzYsIDU2NjQ1LCA1NjY1MiwgNTY2NTcsIDU2NjYyLCA1NjY2NywgNTY2NzQsIAorICAgIDU2Njc5LCA1NjY4NiwgNTY2OTEsIDU2Njk2LCA1NjcwMywgNTY3MTAsIDU2NzE1LCA1NjcyMCwgNTY3MjUsIDU2NzMyLCAKKyAgICA1NjczOSwgNTY3NDQsIDU2NzQ5LCA1Njc1NCwgNTY3NTksIDU2NzY0LCA1Njc3MSwgNTY3NzgsIDU2NzgzLCA1Njc4OCwgCisgICAgNTY3OTMsIDU2Nzk4LCA1NjgwMywgNTY4MDgsIDU2ODEzLCA1NjgxOCwgNTY4MjMsIDU2ODI4LCA1NjgzMywgNTY4NDAsIAorICAgIDU2ODQ1LCA1Njg1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4NTUsIDU2ODYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1Njg2NywgNTY4NzIsIDU2ODc2LCA1Njg4MCwgNTY4ODQsIDU2ODg4LCA1Njg5MiwgNTY4OTYsIAorICAgIDU2OTAwLCA1NjkwNCwgNTY5MDgsIDU2OTEyLCA1NjkxOCwgNTY5MjIsIDU2OTI2LCA1NjkzMCwgNTY5MzQsIDU2OTM4LCAKKyAgICA1Njk0MiwgNTY5NDYsIDU2OTUwLCA1Njk1NCwgNTY5NTgsIDU2OTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1Njk2NiwgNTY5NzAsIDU2OTc0LCA1Njk3OCwgNTY5ODIsIDU2OTg2LCA1Njk5MCwgMCwgNTY5OTQsIDU2OTk4LCA1NzAwMiwgCisgICAgNTcwMDYsIDU3MDEwLCA1NzAxNCwgNTcwMTgsIDAsIDU3MDIyLCA1NzAyNiwgNTcwMzAsIDU3MDM0LCA1NzAzOCwgNTcwNDIsIAorICAgIDU3MDQ2LCAwLCA1NzA1MCwgNTcwNTQsIDU3MDU4LCA1NzA2MiwgNTcwNjYsIDU3MDcwLCA1NzA3NCwgMCwgNTcwNzgsIAorICAgIDU3MDgyLCA1NzA4NiwgNTcwOTAsIDU3MDk0LCA1NzA5OCwgNTcxMDIsIDAsIDU3MTA2LCA1NzExMCwgNTcxMTQsIDU3MTE4LCAKKyAgICA1NzEyMiwgNTcxMjYsIDU3MTMwLCAwLCA1NzEzNCwgNTcxMzgsIDU3MTQyLCA1NzE0NiwgNTcxNTAsIDU3MTU0LCA1NzE1OCwgCisgICAgMCwgNTcxNjIsIDU3MTY2LCA1NzE3MCwgNTcxNzQsIDU3MTc4LCA1NzE4MiwgNTcxODYsIDAsIDU3MTkwLCA1NzE5NSwgCisgICAgNTcyMDAsIDU3MjA1LCA1NzIxMCwgNTcyMTUsIDU3MjIwLCA1NzIyNCwgNTcyMjksIDU3MjM0LCA1NzIzOSwgNTcyNDMsIAorICAgIDU3MjQ4LCA1NzI1MywgNTcyNTgsIDU3MjYzLCA1NzI2NywgNTcyNzIsIDU3Mjc3LCA1NzI4MiwgNTcyODcsIDU3MjkyLCAKKyAgICA1NzI5NywgNTczMDEsIDU3MzA2LCA1NzMxMSwgNTczMTgsIDU3MzIzLCA1NzMyOCwgNTczMzQsIDU3MzQxLCA1NzM0OCwgCisgICAgNTczNTcsIDU3MzY0LCA1NzM3MywgNTczNzcsIDU3MzgxLCA1NzM4NywgNTczOTMsIDU3Mzk5LCA1NzQwNywgNTc0MTMsIAorICAgIDU3NDE3LCA1NzQyMSwgNTc0MjUsIDU3NDMxLCA1NzQzNywgNTc0NDEsIDU3NDQzLCA1NzQ0NywgNTc0NTMsIDU3NDU1LCAKKyAgICA1NzQ1OSwgNTc0NjMsIDU3NDY3LCA1NzQ3MywgNTc0NzgsIDU3NDgyLCA1NzQ4NiwgNTc0OTEsIDU3NDk3LCA1NzUwMiwgCisgICAgNTc1MDcsIDU3NTEyLCA1NzUxNywgNTc1MjQsIDU3NTMxLCA1NzUzNiwgNTc1NDEsIDU3NTQ2LCA1NzU1MSwgNTc1NTYsIAorICAgIDU3NTYxLCA1NzU2NSwgNTc1NjksIDU3NTc2LCA1NzU4MywgNTc1ODksIDU3NTkzLCA1NzU5OCwgNTc2MDAsIDU3NjA0LCAKKyAgICA1NzYxMiwgNTc2MTYsIDU3NjIwLCA1NzYyNCwgNTc2MjgsIDU3NjM0LCA1NzY0MCwgNTc2NDQsIDU3NjUwLCA1NzY1NCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2NTMsIDU3NjU3LCAKLSAgICA1NzY2MSwgNTc2NjYsIDU3NjcxLCA1NzY3NiwgNTc2ODAsIDU3Njg0LCA1NzY4OCwgNTc2OTMsIDU3Njk4LCA1NzcwMiwgCi0gICAgNTc3MDYsIDU3NzEwLCA1NzcxNCwgNTc3MTksIDU3NzI0LCA1NzcyOSwgNTc3MzQsIDU3NzM4LCA1Nzc0MiwgNTc3NDcsIAotICAgIDU3NzUyLCA1Nzc1NywgNTc3NjIsIDU3NzY2LCAwLCA1Nzc3MCwgNTc3NzQsIDU3Nzc4LCA1Nzc4MiwgNTc3ODYsIDU3NzkwLCAKLSAgICA1Nzc5NCwgNTc3OTksIDU3ODA0LCA1NzgwOCwgNTc4MTMsIDU3ODE4LCA1NzgyNywgNTc4MzEsIDU3ODM1LCA1NzgzOSwgCi0gICAgNTc4NDYsIDU3ODUwLCA1Nzg1NSwgNTc4NjAsIDU3ODY0LCA1Nzg2OCwgNTc4NzQsIDU3ODc5LCA1Nzg4NCwgNTc4ODksIAotICAgIDU3ODk0LCA1Nzg5OCwgNTc5MDIsIDU3OTA2LCA1NzkxMCwgNTc5MTQsIDU3OTE5LCA1NzkyNCwgNTc5MjgsIDU3OTMyLCAKLSAgICA1NzkzNywgNTc5NDIsIDU3OTQ3LCA1Nzk1MSwgNTc5NTUsIDU3OTYwLCA1Nzk2NSwgNTc5NzEsIDU3OTc3LCA1Nzk4MSwgCi0gICAgNTc5ODcsIDU3OTkzLCA1Nzk5NywgNTgwMDMsIDU4MDA5LCA1ODAxNCwgNTgwMTksIDU4MDIzLCA1ODAyOSwgNTgwMzMsIAotICAgIDU4MDM3LCA1ODA0MywgNTgwNDksIDU4MDU0LCA1ODA1OSwgNTgwNjMsIDU4MDY3LCA1ODA3NSwgNTgwODEsIDU4MDg3LCAKLSAgICA1ODA5MywgNTgwOTgsIDU4MTAzLCA1ODEwOCwgNTgxMTQsIDU4MTE4LCA1ODEyNCwgNTgxMjgsIDU4MTMyLCA1ODEzOCwgCi0gICAgNTgxNDQsIDU4MTUwLCA1ODE1NiwgNTgxNjIsIDU4MTY4LCA1ODE3NCwgNTgxODAsIDU4MTg2LCA1ODE5MiwgNTgxOTgsIAotICAgIDU4MjA0LCA1ODIwOCwgNTgyMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MjIwLCA1ODIyMywgCi0gICAgNTgyMjcsIDU4MjMxLCA1ODIzNSwgNTgyMzksIDU4MjQyLCA1ODI0NSwgNTgyNDksIDU4MjUzLCA1ODI1NywgNTgyNjEsIAotICAgIDU4MjY0LCA1ODI2OSwgNTgyNzMsIDU4Mjc3LCA1ODI4MSwgNTgyODYsIDU4MjkwLCA1ODI5NCwgNTgyOTgsIDU4MzAyLCAKLSAgICA1ODMwOCwgNTgzMTQsIDU4MzE4LCA1ODMyMiwgNTgzMjYsIDU4MzMwLCA1ODMzNCwgNTgzMzgsIDU4MzQyLCA1ODM0NiwgCi0gICAgNTgzNTAsIDU4MzU0LCA1ODM1OCwgNTgzNjQsIDU4MzY4LCA1ODM3MiwgNTgzNzYsIDU4MzgwLCA1ODM4NCwgNTgzODgsIAotICAgIDU4MzkyLCA1ODM5NiwgNTg0MDAsIDU4NDA0LCA1ODQwOCwgNTg0MTIsIDU4NDE2LCA1ODQyMCwgNTg0MjQsIDU4NDI4LCAKLSAgICA1ODQzNCwgNTg0NDAsIDU4NDQ1LCA1ODQ1MCwgNTg0NTQsIDU4NDU4LCA1ODQ2MiwgNTg0NjYsIDU4NDcwLCA1ODQ3NCwgCi0gICAgNTg0NzgsIDU4NDgyLCA1ODQ4NiwgNTg0OTAsIDU4NDk0LCA1ODQ5OCwgNTg1MDIsIDU4NTA2LCA1ODUxMCwgNTg1MTQsIAotICAgIDU4NTE4LCA1ODUyMiwgNTg1MjYsIDU4NTMwLCA1ODUzNCwgNTg1MzgsIDU4NTQyLCA1ODU0NiwgNTg1NTIsIDU4NTU2LCAKLSAgICA1ODU2MCwgNTg1NjQsIDU4NTY4LCA1ODU3MiwgNTg1NzYsIDU4NTgwLCA1ODU4NCwgNTg1ODksIDU4NTk2LCA1ODYwMCwgCi0gICAgNTg2MDQsIDU4NjA4LCA1ODYxMiwgNTg2MTYsIDU4NjIwLCA1ODYyNCwgNTg2MjgsIDU4NjMyLCA1ODYzNiwgNTg2NDAsIAotICAgIDU4NjQ0LCA1ODY1MSwgNTg2NTUsIDU4NjYxLCA1ODY2NSwgNTg2NjksIDU4NjczLCA1ODY3NywgNTg2ODEsIDU4Njg0LCAKLSAgICA1ODY4OCwgNTg2OTIsIDU4Njk2LCA1ODcwMCwgNTg3MDQsIDU4NzA4LCA1ODcxMiwgNTg3MTYsIDU4NzIwLCA1ODcyNCwgCi0gICAgNTg3MjgsIDU4NzMyLCA1ODczNiwgNTg3NDAsIDU4NzQ0LCA1ODc0OCwgNTg3NTIsIDU4NzU2LCA1ODc2MCwgNTg3NjQsIAotICAgIDU4NzY4LCA1ODc3MiwgNTg3NzYsIDU4NzgwLCA1ODc4NCwgNTg3ODgsIDU4NzkyLCA1ODc5NiwgNTg4MDAsIDU4ODA0LCAKLSAgICA1ODgwOCwgNTg4MTIsIDU4ODE4LCA1ODgyMiwgNTg4MjYsIDU4ODMwLCA1ODgzNCwgNTg4MzgsIDU4ODQyLCA1ODg0NiwgCi0gICAgNTg4NTAsIDU4ODU0LCA1ODg1OCwgNTg4NjIsIDU4ODY2LCA1ODg3MCwgNTg4NzQsIDU4ODc4LCA1ODg4MiwgNTg4ODYsIAotICAgIDU4ODkwLCA1ODg5NCwgNTg4OTgsIDU4OTAyLCA1ODkwNiwgNTg5MTAsIDU4OTE0LCA1ODkxOCwgNTg5MjIsIDU4OTI2LCAKLSAgICA1ODkzNCwgNTg5MzgsIDU4OTQyLCA1ODk0NiwgNTg5NTAsIDU4OTU0LCA1ODk2MCwgNTg5NjQsIDU4OTY4LCA1ODk3MiwgCi0gICAgNTg5NzYsIDU4OTgwLCA1ODk4NCwgNTg5ODgsIDU4OTkyLCA1ODk5NiwgNTkwMDAsIDU5MDA0LCA1OTAwOCwgNTkwMTIsIAotICAgIDU5MDE4LCA1OTAyMiwgNTkwMjYsIDU5MDMwLCA1OTAzNCwgNTkwMzgsIDU5MDQyLCA1OTA0NiwgNTkwNTAsIDU5MDU0LCAKLSAgICA1OTA1OCwgNTkwNjIsIDU5MDY2LCA1OTA3MCwgNTkwNzQsIDU5MDc4LCA1OTA4MiwgNTkwODYsIDU5MDkwLCA1OTA5NCwgCi0gICAgNTkwOTgsIDU5MTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1OTEwNiwgNTkxMTUsIDU5MTIzLCA1OTEzNSwgNTkxNDYsIDU5MTU0LCA1OTE2MywgNTkxNzIsIAotICAgIDU5MTgyLCA1OTE5NCwgNTkyMDYsIDU5MjE4LCAwLCAwLCAwLCAwLCA1OTIyNCwgNTkyMjcsIDU5MjMwLCA1OTIzNSwgCi0gICAgNTkyMzgsIDU5MjQ1LCA1OTI0OSwgNTkyNTMsIDU5MjU3LCA1OTI2MSwgNTkyNjUsIDU5MjcwLCA1OTI3NSwgNTkyNzksIAotICAgIDU5MjgzLCA1OTI4OCwgNTkyOTMsIDU5Mjk4LCA1OTMwMywgNTkzMDYsIDU5MzA5LCA1OTMxNSwgNTkzMjEsIDU5MzI2LCAKLSAgICA1OTMzMSwgNTkzMzgsIDU5MzQ1LCA1OTM0OSwgNTkzNTMsIDU5MzU3LCA1OTM2NSwgNTkzNzEsIDU5Mzc4LCA1OTM4MywgCi0gICAgNTkzODgsIDU5MzkzLCA1OTM5OCwgNTk0MDMsIDU5NDA4LCA1OTQxMywgNTk0MTgsIDU5NDIzLCA1OTQyOCwgNTk0MzMsIAotICAgIDU5NDM4LCA1OTQ0MywgNTk0NDgsIDU5NDU0LCA1OTQ1OSwgNTk0NjMsIDU5NDY5LCA1OTQ4MCwgNTk0OTAsIDU5NTA1LCAKLSAgICA1OTUxNSwgNTk1MTksIDU5NTI5LCA1OTUzNSwgNTk1NDEsIDU5NTQ3LCA1OTU1MiwgNTk1NTUsIDU5NTYwLCA1OTU2NCwgMCwgCi0gICAgNTk1NzAsIDU5NTc0LCA1OTU3NywgNTk1ODEsIDU5NTg0LCA1OTU4OCwgNTk1OTEsIDU5NTk1LCA1OTU5OCwgNTk2MDIsIAotICAgIDU5NjA1LCA1OTYwOCwgNTk2MTIsIDU5NjE2LCA1OTYyMCwgNTk2MjQsIDU5NjI4LCA1OTYzMiwgNTk2MzYsIDU5NjQwLCAKLSAgICA1OTY0NCwgNTk2NDcsIDU5NjUxLCA1OTY1NSwgNTk2NTksIDU5NjYzLCA1OTY2NywgNTk2NzEsIDU5Njc1LCA1OTY3OSwgCi0gICAgNTk2ODMsIDU5Njg3LCA1OTY5MSwgNTk2OTUsIDU5Njk5LCA1OTcwNCwgNTk3MDgsIDU5NzEyLCA1OTcxNiwgNTk3MjAsIAotICAgIDU5NzIzLCA1OTcyNywgNTk3MzAsIDU5NzM0LCA1OTczOCwgNTk3NDIsIDU5NzQ2LCA1OTc0OSwgNTk3NTMsIDU5NzU2LCAKLSAgICA1OTc2MCwgNTk3NjQsIDU5NzY4LCA1OTc3MiwgNTk3NzYsIDU5NzgwLCA1OTc4NCwgNTk3ODgsIDU5NzkyLCA1OTc5NiwgCi0gICAgNTk4MDAsIDU5ODA0LCA1OTgwNywgNTk4MTEsIDU5ODE1LCA1OTgxOSwgNTk4MjMsIDU5ODI3LCA1OTgzMCwgNTk4MzUsIAotICAgIDU5ODM5LCA1OTg0NCwgNTk4NDgsIDU5ODUxLCA1OTg1NSwgNTk4NTksIDU5ODYzLCA1OTg2NywgNTk4NzIsIDU5ODc2LCAKLSAgICA1OTg4MCwgNTk4ODQsIDU5ODg4LCA1OTg5MiwgNTk4OTYsIDU5OTAwLCAwLCAwLCA1OTkwNSwgNTk5MTMsIDU5OTIxLCAKLSAgICA1OTkyOCwgNTk5MzUsIDU5OTM5LCA1OTk0NSwgNTk5NTAsIDU5OTU1LCA1OTk1OSwgNTk5NjIsIDU5OTY2LCA1OTk2OSwgCi0gICAgNTk5NzMsIDU5OTc2LCA1OTk4MCwgNTk5ODMsIDU5OTg3LCA1OTk5MCwgNTk5OTMsIDU5OTk3LCA2MDAwMSwgNjAwMDUsIAotICAgIDYwMDA5LCA2MDAxMywgNjAwMTcsIDYwMDIxLCA2MDAyNSwgNjAwMjksIDYwMDMyLCA2MDAzNiwgNjAwNDAsIDYwMDQ0LCAKLSAgICA2MDA0OCwgNjAwNTIsIDYwMDU2LCA2MDA2MCwgNjAwNjQsIDYwMDY4LCA2MDA3MiwgNjAwNzYsIDYwMDgwLCA2MDA4NCwgCi0gICAgNjAwODksIDYwMDkzLCA2MDA5NywgNjAxMDEsIDYwMTA1LCA2MDEwOCwgNjAxMTIsIDYwMTE1LCA2MDExOSwgNjAxMjMsIAotICAgIDYwMTI3LCA2MDEzMSwgNjAxMzQsIDYwMTM4LCA2MDE0MSwgNjAxNDUsIDYwMTQ5LCA2MDE1MywgNjAxNTcsIDYwMTYxLCAKLSAgICA2MDE2NSwgNjAxNjksIDYwMTczLCA2MDE3NywgNjAxODEsIDYwMTg1LCA2MDE4OSwgNjAxOTIsIDYwMTk2LCA2MDIwMCwgCi0gICAgNjAyMDQsIDYwMjA4LCA2MDIxMiwgNjAyMTUsIDYwMjIwLCA2MDIyNCwgNjAyMjksIDYwMjMzLCA2MDIzNiwgNjAyNDAsIAotICAgIDYwMjQ0LCA2MDI0OCwgNjAyNTIsIDYwMjU3LCA2MDI2MSwgNjAyNjUsIDYwMjY5LCA2MDI3MywgNjAyNzcsIDYwMjgxLCAKLSAgICA2MDI4NSwgNjAyOTAsIDYwMjk0LCA2MDI5OCwgNjAzMDIsIDYwMzA2LCA2MDMxMSwgNjAzMTgsIDYwMzIyLCA2MDMyOCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNjAzMzMsIDYwMzM4LCA2MDM0MywgNjAzNDcsIDYwMzUyLCA2MDM1NywgNjAzNjIsIDYwMzY3LCAKLSAgICA2MDM3MSwgNjAzNzYsIDYwMzgxLCA2MDM4NiwgNjAzOTEsIDYwMzk2LCA2MDQwMSwgNjA0MDYsIDYwNDExLCA2MDQxNiwgCi0gICAgNjA0MjAsIDYwNDI1LCA2MDQzMCwgNjA0MzUsIDYwNDM5LCA2MDQ0MywgNjA0NDcsIDYwNDUyLCA2MDQ1NywgNjA0NjIsIAotICAgIDYwNDY3LCA2MDQ3MiwgNjA0NzcsIDYwNDgyLCA2MDQ4NywgNjA0OTIsIDYwNDk3LCA2MDUwMSwgNjA1MDUsIDYwNTEwLCAKLSAgICA2MDUxNSwgNjA1MjAsIDYwNTI1LCAwLCAwLCAwLCA2MDUzMCwgNjA1MzQsIDYwNTM4LCA2MDU0MiwgNjA1NDYsIDYwNTUwLCAKLSAgICA2MDU1NCwgNjA1NTgsIDYwNTYyLCA2MDU2NiwgNjA1NzAsIDYwNTc0LCA2MDU3OCwgNjA1ODIsIDYwNTg2LCA2MDU5MCwgCi0gICAgNjA1OTQsIDYwNTk4LCA2MDYwMiwgNjA2MDYsIDYwNjEwLCA2MDYxNCwgNjA2MTgsIDYwNjIyLCA2MDYyNiwgNjA2MzAsIAotICAgIDYwNjM0LCA2MDYzOCwgNjA2NDIsIDYwNjQ2LCA2MDY1MCwgNjA2NTMsIDYwNjU3LCA2MDY2MCwgNjA2NjQsIDYwNjY4LCAKLSAgICA2MDY3MSwgNjA2NzUsIDYwNjc5LCA2MDY4MiwgNjA2ODYsIDYwNjkwLCA2MDY5NCwgNjA2OTgsIDYwNzAxLCA2MDcwNSwgCi0gICAgNjA3MDksIDYwNzEzLCA2MDcxNywgNjA3MjEsIDYwNzI1LCA2MDcyOCwgNjA3MzEsIDYwNzM1LCA2MDczOSwgNjA3NDMsIAotICAgIDYwNzQ3LCA2MDc1MSwgNjA3NTUsIDYwNzU5LCA2MDc2MywgNjA3NjcsIDYwNzcxLCA2MDc3NSwgNjA3NzksIDYwNzgzLCAKLSAgICA2MDc4NywgNjA3OTEsIDYwNzk1LCA2MDc5OSwgNjA4MDMsIDYwODA3LCA2MDgxMSwgNjA4MTUsIDYwODE5LCA2MDgyMywgCi0gICAgNjA4MjcsIDYwODMxLCA2MDgzNSwgNjA4MzksIDYwODQzLCA2MDg0NywgNjA4NTEsIDYwODU1LCA2MDg1OSwgNjA4NjMsIAotICAgIDYwODY3LCA2MDg3MSwgNjA4NzUsIDYwODc5LCA2MDg4MywgNjA4ODcsIDYwODkxLCA2MDg5NSwgMCwgNjA4OTksIDYwOTA1LCAKLSAgICA2MDkxMSwgNjA5MTYsIDYwOTIxLCA2MDkyNiwgNjA5MzIsIDYwOTM4LCA2MDk0NCwgNjA5NTAsIDYwOTU2LCA2MDk2MiwgCi0gICAgNjA5NjgsIDYwOTc0LCA2MDk4MCwgNjA5ODYsIDYwOTkyLCA2MDk5NywgNjEwMDIsIDYxMDA3LCA2MTAxMiwgNjEwMTcsIAotICAgIDYxMDIyLCA2MTAyNywgNjEwMzIsIDYxMDM3LCA2MTA0MiwgNjEwNDcsIDYxMDUyLCA2MTA1NywgNjEwNjIsIDYxMDY3LCAKLSAgICA2MTA3MiwgNjEwNzcsIDYxMDgyLCA2MTA4NywgNjEwOTIsIDYxMDk4LCA2MTEwNCwgNjExMTAsIDYxMTE2LCA2MTEyMSwgCi0gICAgNjExMjYsIDAsIDAsIDAsIDAsIDAsIDYxMTMxLCA2MTEzNiwgNjExNDEsIDYxMTQ2LCA2MTE1MSwgNjExNTYsIDYxMTYxLCAKLSAgICA2MTE2NiwgNjExNzEsIDYxMTc2LCA2MTE4MSwgNjExODYsIDYxMTkxLCA2MTE5NiwgNjEyMDEsIDYxMjA2LCA2MTIxMSwgCi0gICAgNjEyMTYsIDYxMjIxLCA2MTIyNiwgNjEyMzEsIDYxMjM2LCA2MTI0MSwgNjEyNDYsIDYxMjUxLCA2MTI1NiwgNjEyNjEsIAotICAgIDYxMjY2LCA2MTI3MSwgNjEyNzYsIDYxMjgxLCA2MTI4NiwgNjEyOTEsIDYxMjk2LCA2MTMwMSwgNjEzMDYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMzExLCA2MTMxNiwgNjEzMjEsIDYxMzI2LCA2MTMzMCwgNjEzMzUsIAotICAgIDYxMzM5LCA2MTM0NCwgNjEzNDksIDYxMzU0LCA2MTM1OSwgNjEzNjQsIDYxMzY4LCA2MTM3MywgNjEzNzgsIDYxMzgzLCAKLSAgICA2MTM4OCwgNjEzOTIsIDYxMzk2LCA2MTQwMCwgNjE0MDQsIDYxNDA4LCA2MTQxMiwgNjE0MTYsIDYxNDIwLCA2MTQyNCwgCi0gICAgNjE0MjgsIDYxNDMyLCA2MTQzNiwgNjE0NDAsIDYxNDQ0LCA2MTQ0OSwgNjE0NTQsIDYxNDU5LCA2MTQ2NCwgNjE0NjksIAotICAgIDYxNDc0LCA2MTQ3OSwgNjE0ODQsIDYxNDg5LCA2MTQ5NCwgNjE0OTksIDYxNTA0LCA2MTUwOSwgNjE1MTQsIDYxNTE5LCAKLSAgICA2MTUyNSwgMCwgNjE1MzIsIDYxNTM1LCA2MTUzOCwgNjE1NDEsIDYxNTQ0LCA2MTU0NywgNjE1NTAsIDYxNTUzLCA2MTU1NiwgCi0gICAgNjE1NTksIDYxNTYzLCA2MTU2NywgNjE1NzEsIDYxNTc1LCA2MTU3OSwgNjE1ODMsIDYxNTg3LCA2MTU5MSwgNjE1OTUsIAotICAgIDYxNTk5LCA2MTYwMywgNjE2MDcsIDYxNjExLCA2MTYxNSwgNjE2MTksIDYxNjIzLCA2MTYyNywgNjE2MzEsIDYxNjM1LCAKLSAgICA2MTYzOSwgNjE2NDMsIDYxNjQ3LCA2MTY1MSwgNjE2NTUsIDYxNjU5LCA2MTY2MywgNjE2NjcsIDYxNjcxLCA2MTY3NSwgCi0gICAgNjE2NzksIDYxNjgzLCA2MTY5MiwgNjE3MDEsIDYxNzEwLCA2MTcxOSwgNjE3MjgsIDYxNzM3LCA2MTc0NiwgNjE3NTUsIAotICAgIDYxNzU4LCA2MTc2MywgNjE3NjgsIDYxNzczLCA2MTc3OCwgNjE3ODMsIDYxNzg4LCA2MTc5MywgNjE3OTgsIDYxODAzLCAKLSAgICA2MTgwNywgNjE4MTIsIDYxODE3LCA2MTgyMiwgNjE4MjcsIDYxODMyLCA2MTgzNiwgNjE4NDAsIDYxODQ0LCA2MTg0OCwgCi0gICAgNjE4NTIsIDYxODU2LCA2MTg2MCwgNjE4NjQsIDYxODY4LCA2MTg3MiwgNjE4NzYsIDYxODgwLCA2MTg4NCwgNjE4ODgsIAotICAgIDYxODkzLCA2MTg5OCwgNjE5MDMsIDYxOTA4LCA2MTkxMywgNjE5MTgsIDYxOTIzLCA2MTkyOCwgNjE5MzMsIDYxOTM4LCAKLSAgICA2MTk0MywgNjE5NDgsIDYxOTUzLCA2MTk1OCwgNjE5NjQsIDYxOTcwLCA2MTk3NSwgNjE5ODAsIDYxOTgzLCA2MTk4NiwgCi0gICAgNjE5ODksIDYxOTkyLCA2MTk5NSwgNjE5OTgsIDYyMDAxLCA2MjAwNCwgNjIwMDcsIDYyMDExLCA2MjAxNSwgNjIwMTksIAotICAgIDYyMDIzLCA2MjAyNywgNjIwMzEsIDYyMDM1LCA2MjAzOSwgNjIwNDMsIDYyMDQ3LCA2MjA1MSwgNjIwNTUsIDYyMDU5LCAKLSAgICA2MjA2MywgNjIwNjcsIDYyMDcxLCA2MjA3NSwgNjIwNzksIDYyMDgzLCA2MjA4NywgNjIwOTEsIDYyMDk1LCA2MjA5OSwgCi0gICAgNjIxMDMsIDYyMTA3LCA2MjExMSwgNjIxMTUsIDYyMTE5LCA2MjEyMywgNjIxMjcsIDYyMTMxLCA2MjEzNSwgNjIxMzksIAotICAgIDYyMTQzLCA2MjE0NywgNjIxNTEsIDYyMTU1LCA2MjE1OSwgNjIxNjMsIDYyMTY3LCA2MjE3MiwgNjIxNzcsIDYyMTgyLCAKLSAgICA2MjE4NywgNjIxOTEsIDYyMTk2LCA2MjIwMSwgNjIyMDYsIDYyMjExLCA2MjIxNiwgNjIyMjEsIDYyMjI2LCA2MjIzMSwgCi0gICAgNjIyMzYsIDYyMjQwLCA2MjI0NywgNjIyNTQsIDYyMjYxLCA2MjI2OCwgNjIyNzUsIDYyMjgyLCA2MjI4OSwgNjIyOTYsIAotICAgIDYyMzAzLCA2MjMxMCwgNjIzMTcsIDYyMzI0LCA2MjMyNywgNjIzMzAsIDYyMzMzLCA2MjMzOCwgNjIzNDEsIDYyMzQ0LCAKLSAgICA2MjM0NywgNjIzNTAsIDYyMzUzLCA2MjM1NiwgNjIzNjAsIDYyMzY0LCA2MjM2OCwgNjIzNzIsIDYyMzc1LCA2MjM3OSwgCi0gICAgNjIzODMsIDYyMzg3LCA2MjM5MSwgNjIzOTUsIDYyMzk5LCA2MjQwMywgNjI0MDcsIDYyNDEwLCA2MjQxMywgNjI0MTcsIAotICAgIDYyNDIxLCA2MjQyNSwgNjI0MjksIDYyNDMyLCA2MjQzNiwgNjI0NDAsIDYyNDQ0LCA2MjQ0OCwgNjI0NTEsIDYyNDU1LCAKLSAgICA2MjQ1OSwgNjI0NjMsIDYyNDY3LCA2MjQ3MCwgNjI0NzQsIDYyNDc4LCA2MjQ4MSwgNjI0ODUsIDYyNDg5LCA2MjQ5MywgCi0gICAgNjI0OTcsIDYyNTAxLCA2MjUwNSwgNjI1MDksIDAsIDYyNTEzLCA2MjUxNiwgNjI1MTksIDYyNTIyLCA2MjUyNSwgNjI1MjgsIAotICAgIDYyNTMxLCA2MjUzNCwgNjI1MzcsIDYyNTQwLCA2MjU0MywgNjI1NDYsIDYyNTQ5LCA2MjU1MiwgNjI1NTUsIDYyNTU4LCAKLSAgICA2MjU2MSwgNjI1NjQsIDYyNTY3LCA2MjU3MCwgNjI1NzMsIDYyNTc2LCA2MjU3OSwgNjI1ODIsIDYyNTg1LCA2MjU4OCwgCi0gICAgNjI1OTEsIDYyNTk0LCA2MjU5NywgNjI2MDAsIDYyNjAzLCA2MjYwNiwgNjI2MDksIDYyNjEyLCA2MjYxNSwgNjI2MTgsIAotICAgIDYyNjIxLCA2MjYyNCwgNjI2MjcsIDYyNjMwLCA2MjYzMywgNjI2MzYsIDYyNjM5LCA2MjY0MiwgNjI2NDUsIDYyNjQ4LCAKLSAgICA2MjY1MSwgNjI2NTQsIDYyNjU3LCA2MjY2MCwgNjI2NjMsIDYyNjY2LCA2MjY2OSwgNjI2NzIsIDYyNjc1LCA2MjY3OCwgCi0gICAgNjI2ODEsIDYyNjg0LCA2MjY4NywgNjI2OTAsIDYyNjkzLCA2MjY5NiwgNjI2OTksIDYyNzAyLCA2MjcwNSwgNjI3MDgsIAotICAgIDYyNzExLCA2MjcxNCwgNjI3MTcsIDYyNzIwLCA2MjcyMywgNjI3MjYsIDYyNzI5LCA2MjczMiwgNjI3MzUsIDYyNzM4LCAKLSAgICA2Mjc0MSwgNjI3NDQsIDYyNzQ3LCA2Mjc1MCwgNjI3NTMsIDYyNzU2LCA2Mjc1OSwgNjI3NjIsIDYyNzY1LCA2Mjc2OCwgCi0gICAgNjI3NzEsIDYyNzc0LCA2Mjc3NywgNjI3ODYsIDYyNzk0LCA2MjgwMiwgNjI4MTAsIDYyODE4LCA2MjgyNiwgNjI4MzQsIAotICAgIDYyODQyLCA2Mjg1MCwgNjI4NTgsIDYyODY3LCA2Mjg3NiwgNjI4ODUsIDYyODk0LCA2MjkwMywgNjI5MTIsIDYyOTIxLCAKLSAgICA2MjkzMCwgNjI5MzksIDYyOTQ4LCA2Mjk1NywgNjI5NjYsIDYyOTc1LCA2Mjk4NCwgNjI5OTMsIDYyOTk2LCA2Mjk5OSwgCi0gICAgNjMwMDIsIDYzMDA0LCA2MzAwNywgNjMwMTAsIDYzMDEzLCA2MzAxOCwgNjMwMjMsIDYzMDI2LCA2MzAzMywgNjMwNDAsIAotICAgIDYzMDQ3LCA2MzA1NCwgNjMwNTcsIDYzMDYyLCA2MzA2NCwgNjMwNjgsIDYzMDcwLCA2MzA3MiwgNjMwNzUsIDYzMDc4LCAKLSAgICA2MzA4MSwgNjMwODQsIDYzMDg3LCA2MzA5MCwgNjMwOTMsIDYzMDk4LCA2MzEwMywgNjMxMDYsIDYzMTA5LCA2MzExMiwgCi0gICAgNjMxMTUsIDYzMTE4LCA2MzEyMSwgNjMxMjQsIDYzMTI4LCA2MzEzMSwgNjMxMzQsIDYzMTM3LCA2MzE0MCwgNjMxNDMsIAotICAgIDYzMTQ3LCA2MzE1MCwgNjMxNTMsIDYzMTU2LCA2MzE2MSwgNjMxNjYsIDYzMTcxLCA2MzE3NiwgNjMxODEsIDYzMTg2LCAKLSAgICA2MzE5MSwgNjMxOTYsIDYzMjAyLCA2MzIxMCwgNjMyMTIsIDYzMjE1LCA2MzIxOCwgNjMyMjEsIDYzMjI0LCA2MzIzMCwgCi0gICAgNjMyMzgsIDYzMjQxLCA2MzI0NCwgNjMyNDksIDYzMjUyLCA2MzI1NSwgNjMyNTgsIDYzMjYzLCA2MzI2NiwgNjMyNjksIAotICAgIDYzMjc0LCA2MzI3NywgNjMyODAsIDYzMjg1LCA2MzI4OCwgNjMyOTEsIDYzMjk2LCA2MzMwMSwgNjMzMDYsIDYzMzA5LCAKLSAgICA2MzMxMiwgNjMzMTUsIDYzMzE4LCA2MzMyNCwgNjMzMjcsIDYzMzMwLCA2MzMzMywgNjMzMzUsIDYzMzM4LCA2MzM0MSwgCi0gICAgNjMzNDQsIDYzMzQ5LCA2MzM1MiwgNjMzNTUsIDYzMzU4LCA2MzM2MSwgNjMzNjQsIDYzMzY5LCA2MzM3MiwgNjMzNzUsIAotICAgIDYzMzc4LCA2MzM4MSwgNjMzODQsIDYzMzg3LCA2MzM5MCwgNjMzOTMsIDYzMzk2LCA2MzQwMSwgNjM0MDUsIDYzNDEzLCAKLSAgICA2MzQyMSwgNjM0MjksIDYzNDM3LCA2MzQ0NSwgNjM0NTMsIDYzNDYxLCA2MzQ2OSwgNjM0NzcsIDYzNDg2LCA2MzQ5NSwgCi0gICAgNjM1MDQsIDYzNTEzLCA2MzUyMiwgNjM1MzEsIDYzNTQwLCA2MzU0OSwgNjM1NTgsIDYzNTY3LCA2MzU3NiwgNjM1ODUsIAotICAgIDYzNTk0LCA2MzYwMywgNjM2MTIsIDYzNjIxLCA2MzYzMCwgNjM2MzksIDYzNjQ4LCA2MzY1NywgNjM2NjYsIDYzNjc1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzY1OCwgNTc2NjIsIAorICAgIDU3NjY2LCA1NzY3MSwgNTc2NzYsIDU3NjgxLCA1NzY4NSwgNTc2ODksIDU3NjkzLCA1NzY5OCwgNTc3MDMsIDU3NzA3LCAKKyAgICA1NzcxMSwgNTc3MTUsIDU3NzE5LCA1NzcyNCwgNTc3MjksIDU3NzM0LCA1NzczOSwgNTc3NDMsIDU3NzQ3LCA1Nzc1MiwgCisgICAgNTc3NTcsIDU3NzYyLCA1Nzc2NywgNTc3NzEsIDAsIDU3Nzc1LCA1Nzc3OSwgNTc3ODMsIDU3Nzg3LCA1Nzc5MSwgNTc3OTUsIAorICAgIDU3Nzk5LCA1NzgwNCwgNTc4MDksIDU3ODEzLCA1NzgxOCwgNTc4MjMsIDU3ODMyLCA1NzgzNiwgNTc4NDAsIDU3ODQ0LCAKKyAgICA1Nzg1MSwgNTc4NTUsIDU3ODYwLCA1Nzg2NSwgNTc4NjksIDU3ODczLCA1Nzg3OSwgNTc4ODQsIDU3ODg5LCA1Nzg5NCwgCisgICAgNTc4OTksIDU3OTAzLCA1NzkwNywgNTc5MTEsIDU3OTE1LCA1NzkxOSwgNTc5MjQsIDU3OTI5LCA1NzkzMywgNTc5MzcsIAorICAgIDU3OTQyLCA1Nzk0NywgNTc5NTIsIDU3OTU2LCA1Nzk2MCwgNTc5NjUsIDU3OTcwLCA1Nzk3NiwgNTc5ODIsIDU3OTg2LCAKKyAgICA1Nzk5MiwgNTc5OTgsIDU4MDAyLCA1ODAwOCwgNTgwMTQsIDU4MDE5LCA1ODAyNCwgNTgwMjgsIDU4MDM0LCA1ODAzOCwgCisgICAgNTgwNDIsIDU4MDQ4LCA1ODA1NCwgNTgwNTksIDU4MDY0LCA1ODA2OCwgNTgwNzIsIDU4MDgwLCA1ODA4NiwgNTgwOTIsIAorICAgIDU4MDk4LCA1ODEwMywgNTgxMDgsIDU4MTEzLCA1ODExOSwgNTgxMjMsIDU4MTI5LCA1ODEzMywgNTgxMzcsIDU4MTQzLCAKKyAgICA1ODE0OSwgNTgxNTUsIDU4MTYxLCA1ODE2NywgNTgxNzMsIDU4MTc5LCA1ODE4NSwgNTgxOTEsIDU4MTk3LCA1ODIwMywgCisgICAgNTgyMDksIDU4MjEzLCA1ODIxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgyMjUsIDU4MjI4LCAKKyAgICA1ODIzMiwgNTgyMzYsIDU4MjQwLCA1ODI0NCwgNTgyNDcsIDU4MjUwLCA1ODI1NCwgNTgyNTgsIDU4MjYyLCA1ODI2NiwgCisgICAgNTgyNjksIDU4Mjc0LCA1ODI3OCwgNTgyODIsIDU4Mjg2LCA1ODI5MSwgNTgyOTUsIDU4Mjk5LCA1ODMwMywgNTgzMDcsIAorICAgIDU4MzEzLCA1ODMxOSwgNTgzMjMsIDU4MzI3LCA1ODMzMSwgNTgzMzUsIDU4MzM5LCA1ODM0MywgNTgzNDcsIDU4MzUxLCAKKyAgICA1ODM1NSwgNTgzNTksIDU4MzYzLCA1ODM2OSwgNTgzNzMsIDU4Mzc3LCA1ODM4MSwgNTgzODUsIDU4Mzg5LCA1ODM5MywgCisgICAgNTgzOTcsIDU4NDAxLCA1ODQwNSwgNTg0MDksIDU4NDEzLCA1ODQxNywgNTg0MjEsIDU4NDI1LCA1ODQyOSwgNTg0MzMsIAorICAgIDU4NDM5LCA1ODQ0NSwgNTg0NTAsIDU4NDU1LCA1ODQ1OSwgNTg0NjMsIDU4NDY3LCA1ODQ3MSwgNTg0NzUsIDU4NDc5LCAKKyAgICA1ODQ4MywgNTg0ODcsIDU4NDkxLCA1ODQ5NSwgNTg0OTksIDU4NTAzLCA1ODUwNywgNTg1MTEsIDU4NTE1LCA1ODUxOSwgCisgICAgNTg1MjMsIDU4NTI3LCA1ODUzMSwgNTg1MzUsIDU4NTM5LCA1ODU0MywgNTg1NDcsIDU4NTUxLCA1ODU1NywgNTg1NjEsIAorICAgIDU4NTY1LCA1ODU2OSwgNTg1NzMsIDU4NTc3LCA1ODU4MSwgNTg1ODUsIDU4NTg5LCA1ODU5NCwgNTg2MDEsIDU4NjA1LCAKKyAgICA1ODYwOSwgNTg2MTMsIDU4NjE3LCA1ODYyMSwgNTg2MjUsIDU4NjI5LCA1ODYzMywgNTg2MzcsIDU4NjQxLCA1ODY0NSwgCisgICAgNTg2NDksIDU4NjU2LCA1ODY2MCwgNTg2NjYsIDU4NjcwLCA1ODY3NCwgNTg2NzgsIDU4NjgyLCA1ODY4NiwgNTg2ODksIAorICAgIDU4NjkzLCA1ODY5NywgNTg3MDEsIDU4NzA1LCA1ODcwOSwgNTg3MTMsIDU4NzE3LCA1ODcyMSwgNTg3MjUsIDU4NzI5LCAKKyAgICA1ODczMywgNTg3MzcsIDU4NzQxLCA1ODc0NSwgNTg3NDksIDU4NzUzLCA1ODc1NywgNTg3NjEsIDU4NzY1LCA1ODc2OSwgCisgICAgNTg3NzMsIDU4Nzc3LCA1ODc4MSwgNTg3ODUsIDU4Nzg5LCA1ODc5MywgNTg3OTcsIDU4ODAxLCA1ODgwNSwgNTg4MDksIAorICAgIDU4ODEzLCA1ODgxNywgNTg4MjMsIDU4ODI3LCA1ODgzMSwgNTg4MzUsIDU4ODM5LCA1ODg0MywgNTg4NDcsIDU4ODUxLCAKKyAgICA1ODg1NSwgNTg4NTksIDU4ODYzLCA1ODg2NywgNTg4NzEsIDU4ODc1LCA1ODg3OSwgNTg4ODMsIDU4ODg3LCA1ODg5MSwgCisgICAgNTg4OTUsIDU4ODk5LCA1ODkwMywgNTg5MDcsIDU4OTExLCA1ODkxNSwgNTg5MTksIDU4OTIzLCA1ODkyNywgNTg5MzEsIAorICAgIDU4OTM5LCA1ODk0MywgNTg5NDcsIDU4OTUxLCA1ODk1NSwgNTg5NTksIDU4OTY1LCA1ODk2OSwgNTg5NzMsIDU4OTc3LCAKKyAgICA1ODk4MSwgNTg5ODUsIDU4OTg5LCA1ODk5MywgNTg5OTcsIDU5MDAxLCA1OTAwNSwgNTkwMDksIDU5MDEzLCA1OTAxNywgCisgICAgNTkwMjMsIDU5MDI3LCA1OTAzMSwgNTkwMzUsIDU5MDM5LCA1OTA0MywgNTkwNDcsIDU5MDUxLCA1OTA1NSwgNTkwNTksIAorICAgIDU5MDYzLCA1OTA2NywgNTkwNzEsIDU5MDc1LCA1OTA3OSwgNTkwODMsIDU5MDg3LCA1OTA5MSwgNTkwOTUsIDU5MDk5LCAKKyAgICA1OTEwMywgNTkxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDU5MTExLCA1OTEyMCwgNTkxMjgsIDU5MTQwLCA1OTE1MSwgNTkxNTksIDU5MTY4LCA1OTE3NywgCisgICAgNTkxODcsIDU5MTk5LCA1OTIxMSwgNTkyMjMsIDAsIDAsIDAsIDAsIDU5MjI5LCA1OTIzMiwgNTkyMzUsIDU5MjQwLCAKKyAgICA1OTI0MywgNTkyNTAsIDU5MjU0LCA1OTI1OCwgNTkyNjIsIDU5MjY2LCA1OTI3MCwgNTkyNzUsIDU5MjgwLCA1OTI4NCwgCisgICAgNTkyODgsIDU5MjkzLCA1OTI5OCwgNTkzMDMsIDU5MzA4LCA1OTMxMSwgNTkzMTQsIDU5MzIwLCA1OTMyNiwgNTkzMzEsIAorICAgIDU5MzM2LCA1OTM0MywgNTkzNTAsIDU5MzU0LCA1OTM1OCwgNTkzNjIsIDU5MzcwLCA1OTM3NiwgNTkzODMsIDU5Mzg4LCAKKyAgICA1OTM5MywgNTkzOTgsIDU5NDAzLCA1OTQwOCwgNTk0MTMsIDU5NDE4LCA1OTQyMywgNTk0MjgsIDU5NDMzLCA1OTQzOCwgCisgICAgNTk0NDMsIDU5NDQ4LCA1OTQ1MywgNTk0NTksIDU5NDY0LCA1OTQ2OCwgNTk0NzQsIDU5NDg1LCA1OTQ5NSwgNTk1MTAsIAorICAgIDU5NTIwLCA1OTUyNCwgNTk1MzQsIDU5NTQwLCA1OTU0NiwgNTk1NTIsIDU5NTU3LCA1OTU2MCwgNTk1NjUsIDU5NTY5LCAwLCAKKyAgICA1OTU3NSwgNTk1NzksIDU5NTgyLCA1OTU4NiwgNTk1ODksIDU5NTkzLCA1OTU5NiwgNTk2MDAsIDU5NjAzLCA1OTYwNywgCisgICAgNTk2MTAsIDU5NjEzLCA1OTYxNywgNTk2MjEsIDU5NjI1LCA1OTYyOSwgNTk2MzMsIDU5NjM3LCA1OTY0MSwgNTk2NDUsIAorICAgIDU5NjQ5LCA1OTY1MiwgNTk2NTYsIDU5NjYwLCA1OTY2NCwgNTk2NjgsIDU5NjcyLCA1OTY3NiwgNTk2ODAsIDU5Njg0LCAKKyAgICA1OTY4OCwgNTk2OTIsIDU5Njk2LCA1OTcwMCwgNTk3MDQsIDU5NzA5LCA1OTcxMywgNTk3MTcsIDU5NzIxLCA1OTcyNSwgCisgICAgNTk3MjgsIDU5NzMyLCA1OTczNSwgNTk3MzksIDU5NzQzLCA1OTc0NywgNTk3NTEsIDU5NzU0LCA1OTc1OCwgNTk3NjEsIAorICAgIDU5NzY1LCA1OTc2OSwgNTk3NzMsIDU5Nzc3LCA1OTc4MSwgNTk3ODUsIDU5Nzg5LCA1OTc5MywgNTk3OTcsIDU5ODAxLCAKKyAgICA1OTgwNSwgNTk4MDksIDU5ODEyLCA1OTgxNiwgNTk4MjAsIDU5ODI0LCA1OTgyOCwgNTk4MzIsIDU5ODM1LCA1OTg0MCwgCisgICAgNTk4NDQsIDU5ODQ5LCA1OTg1MywgNTk4NTYsIDU5ODYwLCA1OTg2NCwgNTk4NjgsIDU5ODcyLCA1OTg3NywgNTk4ODEsIAorICAgIDU5ODg1LCA1OTg4OSwgNTk4OTMsIDU5ODk3LCA1OTkwMSwgNTk5MDUsIDAsIDAsIDU5OTEwLCA1OTkxOCwgNTk5MjYsIAorICAgIDU5OTMzLCA1OTk0MCwgNTk5NDQsIDU5OTUwLCA1OTk1NSwgNTk5NjAsIDU5OTY0LCA1OTk2NywgNTk5NzEsIDU5OTc0LCAKKyAgICA1OTk3OCwgNTk5ODEsIDU5OTg1LCA1OTk4OCwgNTk5OTIsIDU5OTk1LCA1OTk5OCwgNjAwMDIsIDYwMDA2LCA2MDAxMCwgCisgICAgNjAwMTQsIDYwMDE4LCA2MDAyMiwgNjAwMjYsIDYwMDMwLCA2MDAzNCwgNjAwMzcsIDYwMDQxLCA2MDA0NSwgNjAwNDksIAorICAgIDYwMDUzLCA2MDA1NywgNjAwNjEsIDYwMDY1LCA2MDA2OSwgNjAwNzMsIDYwMDc3LCA2MDA4MSwgNjAwODUsIDYwMDg5LCAKKyAgICA2MDA5NCwgNjAwOTgsIDYwMTAyLCA2MDEwNiwgNjAxMTAsIDYwMTEzLCA2MDExNywgNjAxMjAsIDYwMTI0LCA2MDEyOCwgCisgICAgNjAxMzIsIDYwMTM2LCA2MDEzOSwgNjAxNDMsIDYwMTQ2LCA2MDE1MCwgNjAxNTQsIDYwMTU4LCA2MDE2MiwgNjAxNjYsIAorICAgIDYwMTcwLCA2MDE3NCwgNjAxNzgsIDYwMTgyLCA2MDE4NiwgNjAxOTAsIDYwMTk0LCA2MDE5NywgNjAyMDEsIDYwMjA1LCAKKyAgICA2MDIwOSwgNjAyMTMsIDYwMjE3LCA2MDIyMCwgNjAyMjUsIDYwMjI5LCA2MDIzNCwgNjAyMzgsIDYwMjQxLCA2MDI0NSwgCisgICAgNjAyNDksIDYwMjUzLCA2MDI1NywgNjAyNjIsIDYwMjY2LCA2MDI3MCwgNjAyNzQsIDYwMjc4LCA2MDI4MiwgNjAyODYsIAorICAgIDYwMjkwLCA2MDI5NSwgNjAyOTksIDYwMzAzLCA2MDMwNywgNjAzMTEsIDYwMzE2LCA2MDMyMywgNjAzMjcsIDYwMzMzLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA2MDMzOCwgNjAzNDMsIDYwMzQ4LCA2MDM1MiwgNjAzNTcsIDYwMzYyLCA2MDM2NywgNjAzNzIsIAorICAgIDYwMzc2LCA2MDM4MSwgNjAzODYsIDYwMzkxLCA2MDM5NiwgNjA0MDEsIDYwNDA2LCA2MDQxMSwgNjA0MTYsIDYwNDIxLCAKKyAgICA2MDQyNSwgNjA0MzAsIDYwNDM1LCA2MDQ0MCwgNjA0NDQsIDYwNDQ4LCA2MDQ1MiwgNjA0NTcsIDYwNDYyLCA2MDQ2NywgCisgICAgNjA0NzIsIDYwNDc3LCA2MDQ4MiwgNjA0ODcsIDYwNDkyLCA2MDQ5NywgNjA1MDIsIDYwNTA2LCA2MDUxMCwgNjA1MTUsIAorICAgIDYwNTIwLCA2MDUyNSwgNjA1MzAsIDAsIDAsIDAsIDYwNTM1LCA2MDUzOSwgNjA1NDMsIDYwNTQ3LCA2MDU1MSwgNjA1NTUsIAorICAgIDYwNTU5LCA2MDU2MywgNjA1NjcsIDYwNTcxLCA2MDU3NSwgNjA1NzksIDYwNTgzLCA2MDU4NywgNjA1OTEsIDYwNTk1LCAKKyAgICA2MDU5OSwgNjA2MDMsIDYwNjA3LCA2MDYxMSwgNjA2MTUsIDYwNjE5LCA2MDYyMywgNjA2MjcsIDYwNjMxLCA2MDYzNSwgCisgICAgNjA2MzksIDYwNjQzLCA2MDY0NywgNjA2NTEsIDYwNjU1LCA2MDY1OCwgNjA2NjIsIDYwNjY1LCA2MDY2OSwgNjA2NzMsIAorICAgIDYwNjc2LCA2MDY4MCwgNjA2ODQsIDYwNjg3LCA2MDY5MSwgNjA2OTUsIDYwNjk5LCA2MDcwMywgNjA3MDYsIDYwNzEwLCAKKyAgICA2MDcxNCwgNjA3MTgsIDYwNzIyLCA2MDcyNiwgNjA3MzAsIDYwNzMzLCA2MDczNiwgNjA3NDAsIDYwNzQ0LCA2MDc0OCwgCisgICAgNjA3NTIsIDYwNzU2LCA2MDc2MCwgNjA3NjQsIDYwNzY4LCA2MDc3MiwgNjA3NzYsIDYwNzgwLCA2MDc4NCwgNjA3ODgsIAorICAgIDYwNzkyLCA2MDc5NiwgNjA4MDAsIDYwODA0LCA2MDgwOCwgNjA4MTIsIDYwODE2LCA2MDgyMCwgNjA4MjQsIDYwODI4LCAKKyAgICA2MDgzMiwgNjA4MzYsIDYwODQwLCA2MDg0NCwgNjA4NDgsIDYwODUyLCA2MDg1NiwgNjA4NjAsIDYwODY0LCA2MDg2OCwgCisgICAgNjA4NzIsIDYwODc2LCA2MDg4MCwgNjA4ODQsIDYwODg4LCA2MDg5MiwgNjA4OTYsIDYwOTAwLCAwLCA2MDkwNCwgNjA5MTAsIAorICAgIDYwOTE2LCA2MDkyMSwgNjA5MjYsIDYwOTMxLCA2MDkzNywgNjA5NDMsIDYwOTQ5LCA2MDk1NSwgNjA5NjEsIDYwOTY3LCAKKyAgICA2MDk3MywgNjA5NzksIDYwOTg1LCA2MDk5MSwgNjA5OTcsIDYxMDAyLCA2MTAwNywgNjEwMTIsIDYxMDE3LCA2MTAyMiwgCisgICAgNjEwMjcsIDYxMDMyLCA2MTAzNywgNjEwNDIsIDYxMDQ3LCA2MTA1MiwgNjEwNTcsIDYxMDYyLCA2MTA2NywgNjEwNzIsIAorICAgIDYxMDc3LCA2MTA4MiwgNjEwODcsIDYxMDkyLCA2MTA5NywgNjExMDMsIDYxMTA5LCA2MTExNSwgNjExMjEsIDYxMTI2LCAKKyAgICA2MTEzMSwgMCwgMCwgMCwgMCwgMCwgNjExMzYsIDYxMTQxLCA2MTE0NiwgNjExNTEsIDYxMTU2LCA2MTE2MSwgNjExNjYsIAorICAgIDYxMTcxLCA2MTE3NiwgNjExODEsIDYxMTg2LCA2MTE5MSwgNjExOTYsIDYxMjAxLCA2MTIwNiwgNjEyMTEsIDYxMjE2LCAKKyAgICA2MTIyMSwgNjEyMjYsIDYxMjMxLCA2MTIzNiwgNjEyNDEsIDYxMjQ2LCA2MTI1MSwgNjEyNTYsIDYxMjYxLCA2MTI2NiwgCisgICAgNjEyNzEsIDYxMjc2LCA2MTI4MSwgNjEyODYsIDYxMjkxLCA2MTI5NiwgNjEzMDEsIDYxMzA2LCA2MTMxMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEzMTYsIDYxMzIxLCA2MTMyNiwgNjEzMzEsIDYxMzM1LCA2MTM0MCwgCisgICAgNjEzNDQsIDYxMzQ5LCA2MTM1NCwgNjEzNTksIDYxMzY0LCA2MTM2OSwgNjEzNzMsIDYxMzc4LCA2MTM4MywgNjEzODgsIAorICAgIDYxMzkzLCA2MTM5NywgNjE0MDEsIDYxNDA1LCA2MTQwOSwgNjE0MTMsIDYxNDE3LCA2MTQyMSwgNjE0MjUsIDYxNDI5LCAKKyAgICA2MTQzMywgNjE0MzcsIDYxNDQxLCA2MTQ0NSwgNjE0NDksIDYxNDU0LCA2MTQ1OSwgNjE0NjQsIDYxNDY5LCA2MTQ3NCwgCisgICAgNjE0NzksIDYxNDg0LCA2MTQ4OSwgNjE0OTQsIDYxNDk5LCA2MTUwNCwgNjE1MDksIDYxNTE0LCA2MTUxOSwgNjE1MjQsIAorICAgIDYxNTMwLCAwLCA2MTUzNywgNjE1NDAsIDYxNTQzLCA2MTU0NiwgNjE1NDksIDYxNTUyLCA2MTU1NSwgNjE1NTgsIDYxNTYxLCAKKyAgICA2MTU2NCwgNjE1NjgsIDYxNTcyLCA2MTU3NiwgNjE1ODAsIDYxNTg0LCA2MTU4OCwgNjE1OTIsIDYxNTk2LCA2MTYwMCwgCisgICAgNjE2MDQsIDYxNjA4LCA2MTYxMiwgNjE2MTYsIDYxNjIwLCA2MTYyNCwgNjE2MjgsIDYxNjMyLCA2MTYzNiwgNjE2NDAsIAorICAgIDYxNjQ0LCA2MTY0OCwgNjE2NTIsIDYxNjU2LCA2MTY2MCwgNjE2NjQsIDYxNjY4LCA2MTY3MiwgNjE2NzYsIDYxNjgwLCAKKyAgICA2MTY4NCwgNjE2ODgsIDYxNjk3LCA2MTcwNiwgNjE3MTUsIDYxNzI0LCA2MTczMywgNjE3NDIsIDYxNzUxLCA2MTc2MCwgCisgICAgNjE3NjMsIDYxNzY4LCA2MTc3MywgNjE3NzgsIDYxNzgzLCA2MTc4OCwgNjE3OTMsIDYxNzk4LCA2MTgwMywgNjE4MDgsIAorICAgIDYxODEyLCA2MTgxNywgNjE4MjIsIDYxODI3LCA2MTgzMiwgNjE4MzcsIDYxODQxLCA2MTg0NSwgNjE4NDksIDYxODUzLCAKKyAgICA2MTg1NywgNjE4NjEsIDYxODY1LCA2MTg2OSwgNjE4NzMsIDYxODc3LCA2MTg4MSwgNjE4ODUsIDYxODg5LCA2MTg5MywgCisgICAgNjE4OTgsIDYxOTAzLCA2MTkwOCwgNjE5MTMsIDYxOTE4LCA2MTkyMywgNjE5MjgsIDYxOTMzLCA2MTkzOCwgNjE5NDMsIAorICAgIDYxOTQ4LCA2MTk1MywgNjE5NTgsIDYxOTYzLCA2MTk2OSwgNjE5NzUsIDYxOTgwLCA2MTk4NSwgNjE5ODgsIDYxOTkxLCAKKyAgICA2MTk5NCwgNjE5OTcsIDYyMDAwLCA2MjAwMywgNjIwMDYsIDYyMDA5LCA2MjAxMiwgNjIwMTYsIDYyMDIwLCA2MjAyNCwgCisgICAgNjIwMjgsIDYyMDMyLCA2MjAzNiwgNjIwNDAsIDYyMDQ0LCA2MjA0OCwgNjIwNTIsIDYyMDU2LCA2MjA2MCwgNjIwNjQsIAorICAgIDYyMDY4LCA2MjA3MiwgNjIwNzYsIDYyMDgwLCA2MjA4NCwgNjIwODgsIDYyMDkyLCA2MjA5NiwgNjIxMDAsIDYyMTA0LCAKKyAgICA2MjEwOCwgNjIxMTIsIDYyMTE2LCA2MjEyMCwgNjIxMjQsIDYyMTI4LCA2MjEzMiwgNjIxMzYsIDYyMTQwLCA2MjE0NCwgCisgICAgNjIxNDgsIDYyMTUyLCA2MjE1NiwgNjIxNjAsIDYyMTY0LCA2MjE2OCwgNjIxNzIsIDYyMTc3LCA2MjE4MiwgNjIxODcsIAorICAgIDYyMTkyLCA2MjE5NiwgNjIyMDEsIDYyMjA2LCA2MjIxMSwgNjIyMTYsIDYyMjIxLCA2MjIyNiwgNjIyMzEsIDYyMjM2LCAKKyAgICA2MjI0MSwgNjIyNDUsIDYyMjUyLCA2MjI1OSwgNjIyNjYsIDYyMjczLCA2MjI4MCwgNjIyODcsIDYyMjk0LCA2MjMwMSwgCisgICAgNjIzMDgsIDYyMzE1LCA2MjMyMiwgNjIzMjksIDYyMzMyLCA2MjMzNSwgNjIzMzgsIDYyMzQzLCA2MjM0NiwgNjIzNDksIAorICAgIDYyMzUyLCA2MjM1NSwgNjIzNTgsIDYyMzYxLCA2MjM2NSwgNjIzNjksIDYyMzczLCA2MjM3NywgNjIzODAsIDYyMzg0LCAKKyAgICA2MjM4OCwgNjIzOTIsIDYyMzk2LCA2MjQwMCwgNjI0MDQsIDYyNDA4LCA2MjQxMiwgNjI0MTUsIDYyNDE4LCA2MjQyMiwgCisgICAgNjI0MjYsIDYyNDMwLCA2MjQzNCwgNjI0MzcsIDYyNDQxLCA2MjQ0NSwgNjI0NDksIDYyNDUzLCA2MjQ1NiwgNjI0NjAsIAorICAgIDYyNDY0LCA2MjQ2OCwgNjI0NzIsIDYyNDc1LCA2MjQ3OSwgNjI0ODMsIDYyNDg2LCA2MjQ5MCwgNjI0OTQsIDYyNDk4LCAKKyAgICA2MjUwMiwgNjI1MDYsIDYyNTEwLCA2MjUxNCwgMCwgNjI1MTgsIDYyNTIxLCA2MjUyNCwgNjI1MjcsIDYyNTMwLCA2MjUzMywgCisgICAgNjI1MzYsIDYyNTM5LCA2MjU0MiwgNjI1NDUsIDYyNTQ4LCA2MjU1MSwgNjI1NTQsIDYyNTU3LCA2MjU2MCwgNjI1NjMsIAorICAgIDYyNTY2LCA2MjU2OSwgNjI1NzIsIDYyNTc1LCA2MjU3OCwgNjI1ODEsIDYyNTg0LCA2MjU4NywgNjI1OTAsIDYyNTkzLCAKKyAgICA2MjU5NiwgNjI1OTksIDYyNjAyLCA2MjYwNSwgNjI2MDgsIDYyNjExLCA2MjYxNCwgNjI2MTcsIDYyNjIwLCA2MjYyMywgCisgICAgNjI2MjYsIDYyNjI5LCA2MjYzMiwgNjI2MzUsIDYyNjM4LCA2MjY0MSwgNjI2NDQsIDYyNjQ3LCA2MjY1MCwgNjI2NTMsIAorICAgIDYyNjU2LCA2MjY1OSwgNjI2NjIsIDYyNjY1LCA2MjY2OCwgNjI2NzEsIDYyNjc0LCA2MjY3NywgNjI2ODAsIDYyNjgzLCAKKyAgICA2MjY4NiwgNjI2ODksIDYyNjkyLCA2MjY5NSwgNjI2OTgsIDYyNzAxLCA2MjcwNCwgNjI3MDcsIDYyNzEwLCA2MjcxMywgCisgICAgNjI3MTYsIDYyNzE5LCA2MjcyMiwgNjI3MjUsIDYyNzI4LCA2MjczMSwgNjI3MzQsIDYyNzM3LCA2Mjc0MCwgNjI3NDMsIAorICAgIDYyNzQ2LCA2Mjc0OSwgNjI3NTIsIDYyNzU1LCA2Mjc1OCwgNjI3NjEsIDYyNzY0LCA2Mjc2NywgNjI3NzAsIDYyNzczLCAKKyAgICA2Mjc3NiwgNjI3NzksIDYyNzgyLCA2Mjc5MSwgNjI3OTksIDYyODA3LCA2MjgxNSwgNjI4MjMsIDYyODMxLCA2MjgzOSwgCisgICAgNjI4NDcsIDYyODU1LCA2Mjg2MywgNjI4NzIsIDYyODgxLCA2Mjg5MCwgNjI4OTksIDYyOTA4LCA2MjkxNywgNjI5MjYsIAorICAgIDYyOTM1LCA2Mjk0NCwgNjI5NTMsIDYyOTYyLCA2Mjk3MSwgNjI5ODAsIDYyOTg5LCA2Mjk5OCwgNjMwMDEsIDYzMDA0LCAKKyAgICA2MzAwNywgNjMwMDksIDYzMDEyLCA2MzAxNSwgNjMwMTgsIDYzMDIzLCA2MzAyOCwgNjMwMzEsIDYzMDM4LCA2MzA0NSwgCisgICAgNjMwNTIsIDYzMDU5LCA2MzA2MiwgNjMwNjcsIDYzMDY5LCA2MzA3MywgNjMwNzUsIDYzMDc3LCA2MzA4MCwgNjMwODMsIAorICAgIDYzMDg2LCA2MzA4OSwgNjMwOTIsIDYzMDk1LCA2MzA5OCwgNjMxMDMsIDYzMTA4LCA2MzExMSwgNjMxMTQsIDYzMTE3LCAKKyAgICA2MzEyMCwgNjMxMjMsIDYzMTI2LCA2MzEyOSwgNjMxMzMsIDYzMTM2LCA2MzEzOSwgNjMxNDIsIDYzMTQ1LCA2MzE0OCwgCisgICAgNjMxNTIsIDYzMTU1LCA2MzE1OCwgNjMxNjEsIDYzMTY2LCA2MzE3MSwgNjMxNzYsIDYzMTgxLCA2MzE4NiwgNjMxOTEsIAorICAgIDYzMTk2LCA2MzIwMSwgNjMyMDcsIDYzMjE1LCA2MzIxNywgNjMyMjAsIDYzMjIzLCA2MzIyNiwgNjMyMjksIDYzMjM1LCAKKyAgICA2MzI0MywgNjMyNDYsIDYzMjQ5LCA2MzI1NCwgNjMyNTcsIDYzMjYwLCA2MzI2MywgNjMyNjgsIDYzMjcxLCA2MzI3NCwgCisgICAgNjMyNzksIDYzMjgyLCA2MzI4NSwgNjMyOTAsIDYzMjkzLCA2MzI5NiwgNjMzMDEsIDYzMzA2LCA2MzMxMSwgNjMzMTQsIAorICAgIDYzMzE3LCA2MzMyMCwgNjMzMjMsIDYzMzI5LCA2MzMzMiwgNjMzMzUsIDYzMzM4LCA2MzM0MCwgNjMzNDMsIDYzMzQ2LCAKKyAgICA2MzM0OSwgNjMzNTQsIDYzMzU3LCA2MzM2MCwgNjMzNjMsIDYzMzY2LCA2MzM2OSwgNjMzNzQsIDYzMzc3LCA2MzM4MCwgCisgICAgNjMzODMsIDYzMzg2LCA2MzM4OSwgNjMzOTIsIDYzMzk1LCA2MzM5OCwgNjM0MDEsIDYzNDA2LCA2MzQxMCwgNjM0MTgsIAorICAgIDYzNDI2LCA2MzQzNCwgNjM0NDIsIDYzNDUwLCA2MzQ1OCwgNjM0NjYsIDYzNDc0LCA2MzQ4MiwgNjM0OTEsIDYzNTAwLCAKKyAgICA2MzUwOSwgNjM1MTgsIDYzNTI3LCA2MzUzNiwgNjM1NDUsIDYzNTU0LCA2MzU2MywgNjM1NzIsIDYzNTgxLCA2MzU5MCwgCisgICAgNjM1OTksIDYzNjA4LCA2MzYxNywgNjM2MjYsIDYzNjM1LCA2MzY0NCwgNjM2NTMsIDYzNjYyLCA2MzY3MSwgNjM2ODAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzNjc4LCA2MzY4NywgNjM2OTYsIDYzNzA3LCAKLSAgICA2MzcxNCwgNjM3MTksIDYzNzI0LCA2MzczMSwgNjM3MzgsIDYzNzQ0LCA2Mzc0OSwgNjM3NTQsIDYzNzU5LCA2Mzc2NCwgCi0gICAgNjM3NzEsIDYzNzc2LCA2Mzc4MSwgNjM3ODYsIDYzNzk3LCA2MzgwMiwgNjM4MDcsIDYzODE0LCA2MzgxOSwgNjM4MjYsIAotICAgIDYzODMxLCA2MzgzNiwgNjM4NDMsIDYzODUwLCA2Mzg1NywgNjM4NjYsIDYzODc1LCA2Mzg4MCwgNjM4ODUsIDYzODkwLCAKLSAgICA2Mzg5NywgNjM5MDIsIDYzOTEyLCA2MzkxOSwgNjM5MjQsIDYzOTI5LCA2MzkzNCwgNjM5MzksIDYzOTQ0LCA2Mzk0OSwgCi0gICAgNjM5NTgsIDYzOTY1LCA2Mzk3MiwgNjM5NzcsIDYzOTg0LCA2Mzk4OSwgNjM5OTYsIDY0MDA1LCA2NDAxNiwgNjQwMjEsIAotICAgIDY0MDMwLCA2NDAzNSwgNjQwNDIsIDY0MDUxLCA2NDA2MCwgNjQwNjUsIDY0MDcwLCA2NDA3NywgNjQwODMsIDY0MDkwLCAKLSAgICA2NDA5NywgNjQxMDEsIDY0MTA1LCA2NDEwOCwgNjQxMTIsIDY0MTE2LCA2NDEyMCwgNjQxMjQsIDY0MTI4LCA2NDEzMiwgCi0gICAgNjQxMzYsIDY0MTM5LCA2NDE0MywgNjQxNDcsIDY0MTUxLCA2NDE1NSwgNjQxNTksIDY0MTYzLCA2NDE2NiwgNjQxNzAsIAotICAgIDY0MTc0LCA2NDE3NywgNjQxODEsIDY0MTg1LCA2NDE4OSwgNjQxOTMsIDY0MTk3LCA2NDIwMSwgNjQyMDUsIDY0MjA5LCAKLSAgICA2NDIxMywgNjQyMTcsIDY0MjIxLCA2NDIyNSwgNjQyMjksIDY0MjMzLCA2NDIzNywgNjQyNDEsIDY0MjQ1LCA2NDI0OSwgCi0gICAgNjQyNTMsIDY0MjU3LCA2NDI2MSwgNjQyNjUsIDY0MjY5LCA2NDI3MywgNjQyNzcsIDY0MjgxLCA2NDI4NSwgNjQyODksIAotICAgIDY0MjkzLCA2NDI5NywgNjQzMDEsIDY0MzA1LCA2NDMwOSwgNjQzMTMsIDY0MzE3LCA2NDMyMSwgNjQzMjUsIDY0MzI5LCAKLSAgICA2NDMzMywgNjQzMzcsIDY0MzQxLCA2NDM0NSwgNjQzNDksIDY0MzUzLCA2NDM1NiwgNjQzNjAsIDY0MzY0LCA2NDM2OCwgCi0gICAgNjQzNzIsIDY0Mzc2LCA2NDM4MCwgNjQzODQsIDY0Mzg4LCA2NDM5MiwgNjQzOTYsIDY0NDAwLCA2NDQwNCwgNjQ0MDgsIAotICAgIDY0NDEyLCA2NDQxNiwgNjQ0MjAsIDY0NDI0LCA2NDQyOCwgNjQ0MzIsIDY0NDM2LCA2NDQ0MCwgNjQ0NDQsIDY0NDQ4LCAKLSAgICA2NDQ1MiwgNjQ0NTYsIDY0NDYwLCA2NDQ2NCwgNjQ0NjgsIDY0NDcyLCA2NDQ3NiwgNjQ0ODAsIDY0NDg0LCA2NDQ4OCwgCi0gICAgNjQ0OTIsIDY0NDk2LCA2NDUwMCwgNjQ1MDQsIDY0NTA4LCA2NDUxMiwgNjQ1MTYsIDY0NTIwLCA2NDUyNCwgNjQ1MjgsIAotICAgIDY0NTMyLCA2NDUzNiwgNjQ1NDAsIDY0NTQ0LCA2NDU0OCwgNjQ1NTIsIDY0NTU2LCA2NDU2MCwgNjQ1NjQsIDY0NTY4LCAKLSAgICA2NDU3MiwgNjQ1NzYsIDY0NTgwLCA2NDU4NCwgNjQ1ODgsIDY0NTkyLCA2NDU5NiwgNjQ2MDAsIDY0NjA0LCA2NDYwOCwgCi0gICAgNjQ2MTIsIDY0NjE2LCA2NDYyMCwgNjQ2MjQsIDY0NjI4LCA2NDYzMiwgNjQ2MzYsIDY0NjQwLCA2NDY0NCwgNjQ2NDgsIAotICAgIDY0NjUyLCA2NDY1NiwgNjQ2NjAsIDY0NjY0LCA2NDY2OCwgNjQ2NzIsIDY0Njc2LCA2NDY4MCwgNjQ2ODQsIDY0Njg4LCAKLSAgICA2NDY5MiwgNjQ2OTYsIDY0NzAwLCA2NDcwNCwgNjQ3MDgsIDY0NzEyLCA2NDcxNiwgNjQ3MjAsIDY0NzI0LCA2NDcyOCwgCi0gICAgNjQ3MzIsIDY0NzM2LCA2NDc0MCwgNjQ3NDQsIDY0NzQ4LCA2NDc1MiwgNjQ3NTYsIDY0NzYwLCA2NDc2NCwgNjQ3NjgsIAotICAgIDY0NzcyLCA2NDc3NiwgNjQ3ODAsIDY0Nzg0LCA2NDc4OCwgNjQ3OTIsIDY0Nzk2LCA2NDgwMCwgNjQ4MDQsIDY0ODA4LCAKLSAgICA2NDgxMiwgNjQ4MTYsIDY0ODIwLCA2NDgyNCwgNjQ4MjcsIDY0ODMxLCA2NDgzNSwgNjQ4MzksIDY0ODQzLCA2NDg0NywgCi0gICAgNjQ4NTEsIDY0ODU1LCA2NDg1OSwgNjQ4NjMsIDY0ODY3LCA2NDg3MSwgNjQ4NzUsIDY0ODc5LCA2NDg4MywgNjQ4ODcsIAotICAgIDY0ODkxLCA2NDg5NSwgNjQ4OTksIDY0OTAzLCA2NDkwNywgNjQ5MTEsIDY0OTE1LCA2NDkxOSwgNjQ5MjMsIDY0OTI3LCAKLSAgICA2NDkzMSwgNjQ5MzUsIDY0OTM5LCA2NDk0MywgNjQ5NDcsIDY0OTUxLCA2NDk1NSwgNjQ5NTksIDY0OTYzLCA2NDk2NywgCi0gICAgNjQ5NzEsIDY0OTc1LCA2NDk3OSwgNjQ5ODMsIDY0OTg3LCA2NDk5MSwgNjQ5OTUsIDY0OTk5LCA2NTAwMywgNjUwMDcsIAotICAgIDY1MDExLCA2NTAxNSwgNjUwMTksIDY1MDIzLCA2NTAyNywgNjUwMzEsIDY1MDM1LCA2NTAzOSwgNjUwNDMsIDY1MDQ3LCAKLSAgICA2NTA1MSwgNjUwNTUsIDY1MDU5LCA2NTA2MywgNjUwNjcsIDY1MDcxLCA2NTA3NSwgNjUwNzksIDY1MDgzLCA2NTA4NywgCi0gICAgNjUwOTEsIDY1MDk1LCA2NTA5OSwgNjUxMDMsIDY1MTA3LCA2NTExMSwgNjUxMTUsIDY1MTE5LCA2NTEyMywgNjUxMjcsIAotICAgIDY1MTMxLCA2NTEzNSwgNjUxMzksIDY1MTQzLCA2NTE0NywgNjUxNTEsIDY1MTU1LCA2NTE1OSwgNjUxNjMsIDY1MTY3LCAKLSAgICA2NTE3MSwgNjUxNzUsIDY1MTc5LCA2NTE4MywgNjUxODcsIDY1MTkxLCA2NTE5NSwgNjUxOTksIDY1MjAzLCA2NTIwNywgCi0gICAgNjUyMTEsIDY1MjE1LCA2NTIxOSwgNjUyMjMsIDY1MjI3LCA2NTIzMSwgNjUyMzUsIDY1MjM5LCA2NTI0MywgNjUyNDcsIAotICAgIDY1MjUxLCA2NTI1NSwgNjUyNTksIDY1MjYzLCA2NTI2NywgNjUyNzEsIDY1Mjc1LCA2NTI3OSwgNjUyODMsIDY1Mjg3LCAKLSAgICA2NTI5MCwgNjUyOTQsIDY1Mjk4LCA2NTMwMiwgNjUzMDYsIDY1MzEwLCA2NTMxNCwgNjUzMTgsIDY1MzIyLCA2NTMyNiwgCi0gICAgNjUzMzAsIDY1MzM0LCA2NTMzOCwgNjUzNDIsIDY1MzQ2LCA2NTM1MCwgNjUzNTQsIDY1MzU4LCA2NTM2MiwgNjUzNjYsIAotICAgIDY1MzcwLCA2NTM3NCwgNjUzNzgsIDY1MzgyLCA2NTM4NiwgNjUzOTAsIDY1Mzk0LCA2NTM5OCwgNjU0MDIsIDY1NDA2LCAKLSAgICA2NTQxMCwgNjU0MTQsIDY1NDE4LCA2NTQyMiwgNjU0MjYsIDY1NDMwLCA2NTQzNCwgNjU0MzgsIDY1NDQyLCA2NTQ0NiwgCi0gICAgNjU0NTAsIDY1NDU0LCA2NTQ1OCwgNjU0NjIsIDY1NDY2LCA2NTQ3MCwgNjU0NzQsIDY1NDc4LCA2NTQ4MiwgNjU0ODYsIAotICAgIDY1NDkwLCA2NTQ5NCwgNjU0OTgsIDY1NTAyLCA2NTUwNiwgNjU1MTAsIDY1NTE0LCA2NTUxOCwgNjU1MjIsIDY1NTI2LCAKLSAgICA2NTUzMCwgNjU1MzQsIDY1NTM4LCA2NTU0MiwgNjU1NDYsIDY1NTUwLCA2NTU1NCwgNjU1NTgsIDY1NTYyLCA2NTU2NiwgCi0gICAgNjU1NzAsIDY1NTc0LCA2NTU3OCwgNjU1ODIsIDY1NTg2LCA2NTU5MCwgNjU1OTQsIDY1NTk4LCA2NTYwMiwgNjU2MDYsIAotICAgIDY1NjEwLCA2NTYxNCwgNjU2MTgsIDY1NjIyLCA2NTYyNiwgNjU2MzAsIDY1NjM0LCA2NTYzOCwgNjU2NDIsIDY1NjQ2LCAKLSAgICA2NTY0OSwgNjU2NTMsIDY1NjU3LCA2NTY2MSwgNjU2NjUsIDY1NjY5LCA2NTY3MywgNjU2NzcsIDY1NjgxLCA2NTY4NSwgCi0gICAgNjU2ODksIDY1NjkzLCA2NTY5NywgNjU3MDEsIDY1NzA1LCA2NTcwOSwgNjU3MTMsIDY1NzE3LCA2NTcyMSwgNjU3MjUsIAotICAgIDY1NzI5LCA2NTczMywgNjU3MzcsIDY1NzQxLCA2NTc0NSwgNjU3NDksIDY1NzUzLCA2NTc1NywgNjU3NjEsIDY1NzY1LCAKLSAgICA2NTc2OSwgNjU3NzMsIDY1Nzc3LCA2NTc4MSwgNjU3ODUsIDY1Nzg5LCA2NTc5MywgNjU3OTcsIDY1ODAxLCA2NTgwNSwgCi0gICAgNjU4MDksIDY1ODEzLCA2NTgxNywgNjU4MjEsIDY1ODI1LCA2NTgyOSwgNjU4MzMsIDY1ODM3LCA2NTg0MSwgNjU4NDUsIAotICAgIDY1ODQ5LCA2NTg1MywgNjU4NTcsIDY1ODYxLCA2NTg2NSwgNjU4NjksIDY1ODczLCA2NTg3NywgNjU4ODEsIDY1ODg1LCAKLSAgICA2NTg4OSwgNjU4OTMsIDY1ODk3LCA2NTkwMSwgNjU5MDUsIDY1OTA5LCA2NTkxMywgNjU5MTcsIDY1OTIxLCA2NTkyNSwgCi0gICAgNjU5MjksIDY1OTMzLCA2NTkzNywgNjU5NDEsIDY1OTQ1LCA2NTk0OSwgNjU5NTMsIDY1OTU3LCA2NTk2MSwgNjU5NjUsIAotICAgIDY1OTY5LCA2NTk3MywgNjU5NzcsIDY1OTgxLCA2NTk4NSwgNjU5ODksIDY1OTkzLCA2NTk5NywgNjYwMDEsIDY2MDA1LCAKLSAgICA2NjAwOSwgNjYwMTMsIDY2MDE3LCA2NjAyMSwgNjYwMjUsIDY2MDI5LCA2NjAzMywgNjYwMzcsIDY2MDQxLCA2NjA0NSwgCi0gICAgNjYwNDksIDY2MDUzLCA2NjA1NywgNjYwNjEsIDY2MDY1LCA2NjA2OSwgNjYwNzMsIDY2MDc3LCA2NjA4MSwgNjYwODUsIAotICAgIDY2MDg5LCA2NjA5MywgNjYwOTcsIDY2MTAxLCA2NjEwNSwgNjYxMDksIDY2MTEzLCA2NjExNywgNjYxMjEsIDY2MTI1LCAKLSAgICA2NjEyOSwgNjYxMzMsIDY2MTM3LCA2NjE0MSwgNjYxNDQsIDY2MTQ4LCA2NjE1MiwgNjYxNTYsIDY2MTYwLCA2NjE2NCwgCi0gICAgNjYxNjgsIDY2MTcyLCA2NjE3NiwgNjYxODAsIDY2MTg0LCA2NjE4OCwgNjYxOTIsIDY2MTk2LCA2NjIwMCwgNjYyMDQsIAotICAgIDY2MjA4LCA2NjIxMiwgNjYyMTYsIDY2MjIwLCA2NjIyNCwgNjYyMjgsIDY2MjMyLCA2NjIzNiwgNjYyNDAsIDY2MjQ0LCAKLSAgICA2NjI0OCwgNjYyNTIsIDY2MjU2LCA2NjI2MCwgNjYyNjQsIDY2MjY4LCA2NjI3MiwgNjYyNzYsIDY2MjgwLCA2NjI4NCwgCi0gICAgNjYyODgsIDY2MjkyLCA2NjI5NiwgNjYzMDAsIDY2MzA0LCA2NjMwOCwgNjYzMTIsIDY2MzE2LCA2NjMyMCwgNjYzMjQsIAotICAgIDY2MzI4LCA2NjMzMiwgNjYzMzYsIDY2MzQwLCA2NjM0NCwgNjYzNDgsIDY2MzUyLCA2NjM1NiwgNjYzNjAsIDY2MzY0LCAKLSAgICA2NjM2OCwgNjYzNzIsIDY2Mzc2LCA2NjM4MCwgNjYzODQsIDY2Mzg4LCA2NjM5MiwgNjYzOTYsIDY2NDAwLCA2NjQwNCwgCi0gICAgNjY0MDgsIDY2NDEyLCA2NjQxNiwgNjY0MjAsIDY2NDI0LCA2NjQyOCwgNjY0MzIsIDY2NDM2LCA2NjQ0MCwgNjY0NDQsIAotICAgIDY2NDQ4LCA2NjQ1MiwgNjY0NTYsIDY2NDYwLCA2NjQ2NCwgNjY0NjgsIDY2NDcyLCA2NjQ3NiwgNjY0ODAsIDY2NDg0LCAKLSAgICA2NjQ4OCwgNjY0OTIsIDY2NDk2LCA2NjUwMCwgNjY1MDQsIDY2NTA4LCA2NjUxMiwgNjY1MTYsIDY2NTIwLCA2NjUyNCwgCi0gICAgNjY1MjgsIDY2NTMyLCA2NjUzNiwgNjY1NDAsIDY2NTQ0LCA2NjU0OCwgNjY1NTIsIDY2NTU2LCA2NjU2MCwgNjY1NjQsIAotICAgIDY2NTY4LCA2NjU3MiwgNjY1NzYsIDY2NTgwLCA2NjU4NCwgNjY1ODgsIDY2NTkyLCA2NjU5NiwgNjY1OTksIDY2NjAzLCAKLSAgICA2NjYwNywgNjY2MTEsIDY2NjE1LCA2NjYxOSwgNjY2MjMsIDY2NjI3LCA2NjYzMSwgNjY2MzUsIDY2NjM5LCA2NjY0MywgCi0gICAgNjY2NDcsIDY2NjUxLCA2NjY1NSwgNjY2NTksIDY2NjYzLCA2NjY2NywgNjY2NzEsIDY2Njc1LCA2NjY3OSwgNjY2ODMsIAotICAgIDY2Njg3LCA2NjY5MSwgNjY2OTUsIDY2Njk5LCA2NjcwMywgNjY3MDcsIDY2NzExLCA2NjcxNSwgNjY3MTksIDY2NzIzLCAKLSAgICA2NjcyNywgNjY3MzEsIDY2NzM1LCA2NjczOSwgNjY3NDMsIDY2NzQ3LCA2Njc1MSwgNjY3NTUsIDY2NzU5LCA2Njc2MywgCi0gICAgNjY3NjcsIDY2NzcxLCA2Njc3NSwgNjY3NzksIDY2NzgzLCA2Njc4NywgNjY3OTEsIDY2Nzk1LCA2Njc5OSwgNjY4MDMsIAotICAgIDY2ODA3LCA2NjgxMSwgNjY4MTUsIDY2ODE5LCA2NjgyMywgNjY4MjcsIDY2ODMxLCA2NjgzNSwgNjY4MzksIDY2ODQzLCAKLSAgICA2Njg0NywgNjY4NTEsIDY2ODU1LCA2Njg1OSwgNjY4NjMsIDY2ODY3LCA2Njg3MSwgNjY4NzUsIDY2ODc5LCA2Njg4MywgCi0gICAgNjY4ODcsIDY2ODkxLCA2Njg5NSwgNjY4OTksIDY2OTAzLCA2NjkwNywgNjY5MTEsIDY2OTE1LCA2NjkxOSwgNjY5MjMsIAotICAgIDY2OTI3LCA2NjkzMSwgNjY5MzUsIDY2OTM5LCA2Njk0MywgNjY5NDcsIDY2OTUxLCA2Njk1NSwgNjY5NTksIDY2OTYzLCAKLSAgICA2Njk2NywgNjY5NzEsIDY2OTc1LCA2Njk3OSwgNjY5ODMsIDY2OTg3LCA2Njk5MSwgNjY5OTUsIDY2OTk5LCA2NzAwMywgCi0gICAgNjcwMDcsIDY3MDExLCA2NzAxNSwgNjcwMTksIDY3MDIzLCA2NzAyNywgNjcwMzEsIDY3MDM1LCA2NzAzOSwgNjcwNDMsIAotICAgIDY3MDQ3LCA2NzA1MSwgNjcwNTUsIDY3MDU5LCA2NzA2MywgNjcwNjcsIDY3MDcxLCA2NzA3NSwgNjcwNzksIDY3MDgzLCAKLSAgICA2NzA4NywgNjcwOTEsIDY3MDk1LCA2NzA5OSwgNjcxMDMsIDY3MTA3LCA2NzExMSwgNjcxMTUsIDY3MTE5LCA2NzEyMywgCi0gICAgNjcxMjcsIDY3MTMxLCA2NzEzNSwgNjcxMzksIDY3MTQzLCA2NzE0NywgNjcxNTEsIDY3MTU1LCA2NzE1OSwgNjcxNjMsIAotICAgIDY3MTY3LCA2NzE3MSwgNjcxNzUsIDY3MTc5LCA2NzE4MywgNjcxODcsIDY3MTkxLCA2NzE5NSwgNjcxOTksIDY3MjAyLCAKLSAgICA2NzIwNiwgNjcyMTAsIDY3MjE0LCA2NzIxOCwgNjcyMjIsIDY3MjI2LCA2NzIzMCwgNjcyMzMsIDY3MjM3LCA2NzI0MSwgCi0gICAgNjcyNDUsIDY3MjQ5LCA2NzI1MywgNjcyNTcsIDY3MjYxLCA2NzI2NSwgNjcyNjksIDY3MjczLCA2NzI3NywgNjcyODEsIAotICAgIDY3Mjg1LCA2NzI4OSwgNjcyOTMsIDY3Mjk3LCA2NzMwMSwgNjczMDUsIDY3MzA5LCA2NzMxMywgNjczMTcsIDY3MzIxLCAKLSAgICA2NzMyNSwgNjczMjksIDY3MzMzLCA2NzMzNywgNjczNDEsIDY3MzQ1LCA2NzM0OSwgNjczNTMsIDY3MzU3LCA2NzM2MSwgCi0gICAgNjczNjUsIDY3MzY5LCA2NzM3MywgNjczNzcsIDY3MzgxLCA2NzM4NSwgNjczODksIDY3MzkzLCA2NzM5NywgNjc0MDEsIAotICAgIDY3NDA1LCA2NzQwOSwgNjc0MTMsIDY3NDE3LCA2NzQyMSwgNjc0MjUsIDY3NDI5LCA2NzQzMywgNjc0MzcsIDY3NDQxLCAKLSAgICA2NzQ0NSwgNjc0NDksIDY3NDUzLCA2NzQ1NywgNjc0NjEsIDY3NDY1LCA2NzQ2OSwgNjc0NzMsIDY3NDc3LCA2NzQ4MSwgCi0gICAgNjc0ODUsIDY3NDg5LCA2NzQ5MywgNjc0OTcsIDY3NTAxLCA2NzUwNSwgNjc1MDksIDY3NTEzLCA2NzUxNywgNjc1MjEsIAotICAgIDY3NTI1LCA2NzUyOSwgNjc1MzMsIDY3NTM3LCA2NzU0MSwgNjc1NDUsIDY3NTQ5LCA2NzU1MywgNjc1NTcsIDY3NTYxLCAKLSAgICA2NzU2NSwgNjc1NjksIDY3NTczLCA2NzU3NywgNjc1ODEsIDY3NTg1LCA2NzU4OSwgNjc1OTMsIDY3NTk3LCA2NzYwMSwgCi0gICAgNjc2MDUsIDY3NjA5LCA2NzYxMywgNjc2MTcsIDY3NjIxLCA2NzYyNSwgNjc2MjksIDY3NjMzLCA2NzYzNywgNjc2NDEsIAotICAgIDY3NjQ1LCA2NzY0OSwgNjc2NTMsIDY3NjU3LCA2NzY2MSwgNjc2NjUsIDY3NjY5LCA2NzY3MywgNjc2NzcsIDY3NjgxLCAKLSAgICA2NzY4NSwgNjc2ODksIDY3NjkzLCA2NzY5NywgNjc3MDEsIDY3NzA1LCA2NzcwOSwgNjc3MTMsIDY3NzE3LCA2NzcyMSwgCi0gICAgNjc3MjUsIDY3NzI5LCA2NzczMywgNjc3MzcsIDY3NzQxLCA2Nzc0NSwgNjc3NDksIDY3NzUzLCA2Nzc1NywgNjc3NjEsIAotICAgIDY3NzY1LCA2Nzc2OSwgNjc3NzMsIDY3Nzc3LCA2Nzc4MSwgNjc3ODUsIDY3Nzg5LCA2Nzc5MywgNjc3OTcsIDY3ODAxLCAKLSAgICA2NzgwNSwgNjc4MDksIDY3ODEzLCA2NzgxNywgNjc4MjEsIDY3ODI1LCA2NzgyOSwgNjc4MzMsIDY3ODM3LCA2Nzg0MSwgCi0gICAgNjc4NDUsIDY3ODQ5LCA2Nzg1MywgNjc4NTcsIDY3ODYxLCA2Nzg2NSwgNjc4NjksIDY3ODczLCA2Nzg3NywgNjc4ODEsIAotICAgIDY3ODg1LCA2Nzg4OSwgNjc4OTMsIDY3ODk3LCA2NzkwMSwgNjc5MDUsIDY3OTA5LCA2NzkxMywgNjc5MTcsIDY3OTIxLCAKLSAgICA2NzkyNSwgNjc5MjksIDY3OTMzLCA2NzkzNywgNjc5NDEsIDY3OTQ1LCA2Nzk0OSwgNjc5NTMsIDY3OTU3LCA2Nzk2MCwgCi0gICAgNjc5NjQsIDY3OTY4LCA2Nzk3MiwgNjc5NzYsIDY3OTgwLCA2Nzk4NCwgNjc5ODgsIDY3OTkyLCA2Nzk5NiwgNjgwMDAsIAotICAgIDY4MDA0LCA2ODAwOCwgNjgwMTIsIDY4MDE2LCA2ODAyMCwgNjgwMjQsIDY4MDI4LCA2ODAzMiwgNjgwMzYsIDY4MDQwLCAKLSAgICA2ODA0NCwgNjgwNDgsIDY4MDUyLCA2ODA1NiwgNjgwNjAsIDY4MDY0LCA2ODA2OCwgNjgwNzIsIDY4MDc2LCA2ODA4MCwgCi0gICAgNjgwODQsIDY4MDg4LCA2ODA5MiwgNjgwOTYsIDY4MTAwLCA2ODEwNCwgNjgxMDgsIDY4MTEyLCA2ODExNiwgNjgxMjAsIAotICAgIDY4MTI0LCA2ODEyOCwgNjgxMzIsIDY4MTM2LCA2ODE0MCwgNjgxNDQsIDY4MTQ4LCA2ODE1MiwgNjgxNTYsIDY4MTYwLCAKLSAgICA2ODE2NCwgNjgxNjgsIDY4MTcyLCA2ODE3NiwgNjgxODAsIDY4MTg0LCA2ODE4OCwgNjgxOTIsIDY4MTk2LCA2ODIwMCwgCi0gICAgNjgyMDQsIDY4MjA4LCA2ODIxMiwgNjgyMTYsIDY4MjIwLCA2ODIyNCwgNjgyMjgsIDY4MjMyLCA2ODIzNiwgNjgyNDAsIAotICAgIDY4MjQ0LCA2ODI0OCwgNjgyNTIsIDY4MjU2LCA2ODI2MCwgNjgyNjQsIDY4MjY4LCA2ODI3MiwgNjgyNzYsIDY4MjgwLCAKLSAgICA2ODI4NCwgNjgyODgsIDY4MjkyLCA2ODI5NiwgNjgzMDAsIDY4MzA0LCA2ODMwOCwgNjgzMTIsIDY4MzE2LCA2ODMyMCwgCi0gICAgNjgzMjQsIDY4MzI4LCA2ODMzMiwgNjgzMzYsIDY4MzQwLCA2ODM0NCwgNjgzNDgsIDY4MzUyLCA2ODM1NiwgNjgzNjAsIAotICAgIDY4MzY0LCA2ODM2OCwgNjgzNzIsIDY4Mzc2LCA2ODM4MCwgNjgzODQsIDY4Mzg4LCA2ODM5MiwgNjgzOTYsIDY4NDAwLCAKLSAgICA2ODQwNCwgNjg0MDgsIDY4NDEyLCA2ODQxNiwgNjg0MjAsIDY4NDI0LCA2ODQyOCwgNjg0MzIsIDY4NDM2LCA2ODQ0MCwgCi0gICAgNjg0NDQsIDY4NDQ4LCA2ODQ1MiwgNjg0NTYsIDY4NDYwLCA2ODQ2NCwgNjg0NjgsIDY4NDcyLCA2ODQ3NiwgNjg0ODAsIAotICAgIDY4NDg0LCA2ODQ4OCwgNjg0OTIsIDY4NDk2LCA2ODUwMCwgNjg1MDQsIDY4NTA4LCA2ODUxMiwgNjg1MTYsIDY4NTIwLCAKLSAgICA2ODUyNCwgNjg1MjgsIDY4NTMyLCA2ODUzNiwgNjg1NDAsIDY4NTQ0LCA2ODU0OCwgNjg1NTIsIDY4NTU2LCA2ODU2MCwgCi0gICAgNjg1NjQsIDY4NTY4LCA2ODU3MiwgNjg1NzYsIDY4NTgwLCA2ODU4NCwgNjg1ODgsIDY4NTkyLCA2ODU5NiwgNjg2MDAsIAotICAgIDY4NjA0LCA2ODYwOCwgNjg2MTIsIDY4NjE2LCA2ODYyMCwgNjg2MjQsIDY4NjI4LCA2ODYzMiwgNjg2MzYsIDY4NjQwLCAKLSAgICA2ODY0NCwgNjg2NDgsIDY4NjUyLCA2ODY1NiwgNjg2NjAsIDY4NjY0LCA2ODY2OCwgNjg2NzIsIDY4Njc2LCA2ODY4MCwgCi0gICAgNjg2ODQsIDY4Njg4LCA2ODY5MiwgNjg2OTYsIDY4NzAwLCA2ODcwNCwgNjg3MDgsIDY4NzEyLCA2ODcxNiwgNjg3MjAsIAotICAgIDY4NzI0LCA2ODcyOCwgNjg3MzIsIDY4NzM2LCA2ODc0MCwgMCwgMCwgMCwgNjg3NDQsIDY4NzQ4LCA2ODc1MiwgNjg3NTYsIAotICAgIDY4NzYwLCA2ODc2NCwgNjg3NjgsIDY4NzcyLCA2ODc3NiwgNjg3ODAsIDY4Nzg0LCA2ODc4OCwgNjg3OTIsIDY4Nzk2LCAKLSAgICA2ODgwMCwgNjg4MDQsIDY4ODA4LCA2ODgxMiwgNjg4MTYsIDY4ODIwLCA2ODgyNCwgNjg4MjgsIDY4ODMyLCA2ODgzNiwgCi0gICAgNjg4NDAsIDY4ODQ0LCA2ODg0OCwgNjg4NTIsIDY4ODU2LCA2ODg2MCwgNjg4NjQsIDY4ODY4LCA2ODg3MiwgNjg4NzYsIAotICAgIDY4ODgwLCA2ODg4NCwgNjg4ODgsIDY4ODkyLCA2ODg5NiwgNjg5MDAsIDY4OTA0LCA2ODkwOCwgNjg5MTIsIDY4OTE2LCAKLSAgICA2ODkyMCwgNjg5MjQsIDY4OTI4LCA2ODkzMiwgNjg5MzYsIDY4OTQwLCA2ODk0NCwgNjg5NDgsIDY4OTUyLCA2ODk1NiwgCi0gICAgNjg5NjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY4OTY0LCA2ODk2OSwgNjg5NzMsIDY4OTc4LCA2ODk4MywgCi0gICAgNjg5ODgsIDY4OTkzLCA2ODk5OCwgNjkwMDIsIDY5MDA3LCA2OTAxMiwgNjkwMTcsIDY5MDIyLCA2OTAyNywgNjkwMzIsIAotICAgIDY5MDM3LCA2OTA0MSwgNjkwNDUsIDY5MDUwLCA2OTA1NCwgNjkwNTksIDY5MDY0LCA2OTA2OSwgNjkwNzMsIDY5MDc4LCAKLSAgICA2OTA4MywgNjkwODgsIDY5MDkzLCA2OTA5OCwgNjkxMDIsIDY5MTA3LCA2OTExMSwgNjkxMTYsIDY5MTIwLCA2OTEyNSwgCi0gICAgNjkxMjksIDY5MTMzLCA2OTEzNywgNjkxNDIsIDY5MTQ3LCA2OTE1MiwgNjkxNjAsIDY5MTY4LCA2OTE3NiwgNjkxODQsIAotICAgIDY5MTkxLCA2OTE5OSwgNjkyMDUsIDY5MjEzLCA2OTIxNywgNjkyMjEsIDY5MjI1LCA2OTIyOSwgNjkyMzMsIDY5MjM3LCAKLSAgICA2OTI0MSwgNjkyNDUsIDY5MjQ5LCA2OTI1MywgNjkyNTcsIDY5MjYxLCA2OTI2NSwgNjkyNjksIDY5MjczLCA2OTI3NywgCi0gICAgNjkyODEsIDY5Mjg1LCA2OTI4OSwgNjkyOTMsIDY5Mjk3LCA2OTMwMSwgNjkzMDUsIDY5MzA5LCA2OTMxMywgNjkzMTcsIAotICAgIDY5MzIxLCA2OTMyNSwgNjkzMjksIDY5MzMzLCA2OTMzNywgNjkzNDEsIDY5MzQ1LCA2OTM0OSwgNjkzNTMsIDY5MzU3LCAKLSAgICA2OTM2MCwgNjkzNjQsIDY5MzY4LCA2OTM3MiwgNjkzNzYsIDY5MzgwLCA2OTM4NCwgNjkzODgsIDY5MzkyLCA2OTM5NiwgCi0gICAgNjk0MDAsIDY5NDA0LCA2OTQwOCwgNjk0MTIsIDY5NDE2LCA2OTQyMCwgNjk0MjQsIDY5NDI4LCA2OTQzMiwgNjk0MzYsIAotICAgIDY5NDQwLCA2OTQ0NCwgNjk0NDgsIDY5NDUyLCA2OTQ1NiwgNjk0NjAsIDY5NDY0LCA2OTQ2OCwgNjk0NzIsIDY5NDc2LCAKLSAgICA2OTQ4MCwgNjk0ODQsIDY5NDg4LCA2OTQ5MiwgNjk0OTYsIDY5NTAwLCA2OTUwNCwgNjk1MDcsIDY5NTExLCA2OTUxNSwgCi0gICAgNjk1MTgsIDY5NTIyLCA2OTUyNiwgNjk1MzAsIDY5NTMzLCA2OTUzNywgNjk1NDEsIDY5NTQ1LCA2OTU0OSwgNjk1NTMsIAotICAgIDY5NTU3LCA2OTU2MSwgNjk1NjUsIDY5NTY5LCA2OTU3MywgNjk1NzcsIDY5NTgxLCA2OTU4NSwgNjk1ODksIDY5NTkyLCAKLSAgICA2OTU5NiwgNjk2MDAsIDY5NjAzLCA2OTYwNywgNjk2MTEsIDY5NjE1LCA2OTYxOSwgNjk2MjMsIDY5NjI3LCA2OTYzMCwgCi0gICAgNjk2MzMsIDY5NjM3LCA2OTY0MSwgNjk2NDUsIDY5NjQ4LCA2OTY1MSwgNjk2NTUsIDY5NjU5LCA2OTY2MywgNjk2NjcsIAotICAgIDY5NjcxLCA2OTY3NSwgNjk2NzksIDY5NjgzLCA2OTY4NywgNjk2OTEsIDY5Njk1LCA2OTY5OSwgNjk3MDMsIDY5NzA3LCAKLSAgICA2OTcxMSwgNjk3MTUsIDY5NzE5LCA2OTcyMywgNjk3MjcsIDY5NzMxLCA2OTczNSwgNjk3MzksIDY5NzQzLCA2OTc0NywgCi0gICAgNjk3NTEsIDY5NzU1LCA2OTc1OSwgNjk3NjMsIDY5NzY3LCA2OTc3MSwgNjk3NzUsIDY5Nzc5LCA2OTc4MywgNjk3ODcsIAotICAgIDY5NzkxLCA2OTc5NSwgNjk3OTksIDY5ODAyLCA2OTgwNiwgNjk4MTAsIDY5ODE0LCA2OTgxOCwgNjk4MjIsIDY5ODI2LCAKLSAgICA2OTgzMCwgNjk4MzQsIDY5ODM4LCA2OTg0MiwgNjk4NDYsIDY5ODUwLCA2OTg1NCwgNjk4NTgsIDY5ODYyLCA2OTg2NiwgCi0gICAgNjk4NzAsIDY5ODc0LCA2OTg3OCwgNjk4ODIsIDY5ODg2LCA2OTg5MCwgNjk4OTQsIDY5ODk4LCA2OTkwMiwgNjk5MDYsIAotICAgIDY5OTEwLCA2OTkxNCwgNjk5MTgsIDY5OTIyLCA2OTkyNiwgNjk5MzAsIDY5OTM0LCA2OTkzOCwgNjk5NDIsIDY5OTQ2LCAKLSAgICA2OTk0OSwgNjk5NTMsIDY5OTU3LCA2OTk2MSwgNjk5NjUsIDY5OTY5LCA2OTk3MywgNjk5NzcsIDY5OTgxLCA2OTk4NSwgCi0gICAgNjk5ODksIDY5OTkzLCA2OTk5NywgNzAwMDEsIDcwMDA1LCA3MDAwOSwgNzAwMTMsIDcwMDE2LCA3MDAyMCwgNzAwMjQsIAotICAgIDcwMDI4LCA3MDAzMiwgNzAwMzYsIDcwMDQwLCA3MDA0NCwgNzAwNDgsIDcwMDUyLCA3MDA1NiwgNzAwNjAsIDcwMDY0LCAKLSAgICA3MDA2OCwgNzAwNzIsIDcwMDc2LCA3MDA4MCwgNzAwODQsIDcwMDg4LCA3MDA5MiwgNzAwOTYsIDcwMTAwLCA3MDEwMywgCi0gICAgNzAxMDcsIDcwMTExLCA3MDExNSwgNzAxMTksIDcwMTIzLCA3MDEyNywgNzAxMzEsIDcwMTM1LCA3MDEzOSwgNzAxNDMsIAotICAgIDcwMTQ3LCA3MDE1MSwgNzAxNTUsIDcwMTU5LCA3MDE2MywgNzAxNjcsIDcwMTcxLCA3MDE3NSwgNzAxNzksIDcwMTgzLCAKLSAgICA3MDE4NywgNzAxOTEsIDcwMTk1LCA3MDE5OSwgNzAyMDMsIDcwMjA3LCA3MDIxMSwgNzAyMTUsIDcwMjE5LCA3MDIyMywgCi0gICAgNzAyMjcsIDcwMjMxLCA3MDIzNSwgNzAyMzksIDcwMjQzLCA3MDI0NywgNzAyNTEsIDcwMjU1LCA3MDI1OSwgNzAyNjMsIAotICAgIDcwMjY3LCA3MDI3MSwgNzAyNzUsIDcwMjc4LCA3MDI4MywgNzAyODcsIDcwMjkzLCA3MDI5OCwgNzAzMDQsIDcwMzA4LCAKLSAgICA3MDMxMiwgNzAzMTYsIDcwMzIwLCA3MDMyNCwgNzAzMjgsIDcwMzMyLCA3MDMzNiwgNzAzNDAsIDcwMzQ0LCA3MDM0OCwgCi0gICAgNzAzNTIsIDcwMzU2LCA3MDM2MCwgNzAzNjMsIDcwMzY2LCA3MDM2OSwgNzAzNzIsIDcwMzc1LCA3MDM3OCwgNzAzODEsIAotICAgIDcwMzg0LCA3MDM4NywgNzAzOTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDcwMzk4LCA3MDQwMywgNzA0MDgsIDcwNDEzLCA3MDQxOCwgNzA0MjUsIDcwNDMyLCA3MDQzNywgNzA0NDIsIAotICAgIDcwNDQ3LCA3MDQ1MiwgNzA0NTksIDcwNDY2LCA3MDQ3MywgNzA0ODAsIDcwNDg3LCA3MDQ5NCwgNzA1MDQsIDcwNTE0LCAKLSAgICA3MDUyMSwgNzA1MjgsIDcwNTM1LCA3MDU0MiwgNzA1NDgsIDcwNTU0LCA3MDU2MywgNzA1NzIsIDcwNTc5LCA3MDU4NiwgCi0gICAgNzA1OTcsIDcwNjA4LCA3MDYxMywgNzA2MTgsIDcwNjI1LCA3MDYzMiwgNzA2MzksIDcwNjQ2LCA3MDY1MywgNzA2NjAsIAotICAgIDcwNjY3LCA3MDY3NCwgNzA2ODAsIDcwNjg2LCA3MDY5MiwgNzA2OTgsIDcwNzA1LCA3MDcxMiwgNzA3MTcsIDcwNzIxLCAKLSAgICA3MDcyOCwgNzA3MzUsIDcwNzQyLCA3MDc0NiwgNzA3NTMsIDcwNzU3LCA3MDc2MiwgNzA3NjYsIDcwNzcyLCA3MDc3NywgCi0gICAgNzA3ODMsIDcwNzg4LCA3MDc5MiwgNzA3OTYsIDcwNzk5LCA3MDgwMiwgNzA4MDcsIDcwODEyLCA3MDgxNywgNzA4MjIsIAotICAgIDcwODI3LCA3MDgzMiwgNzA4MzcsIDcwODQyLCA3MDg0NywgNzA4NTIsIDcwODYxLCA3MDg3MCwgNzA4NzUsIDcwODgwLCAKLSAgICA3MDg4NSwgNzA4OTAsIDcwODk1LCA3MDkwMCwgNzA5MDUsIDcwOTEwLCA3MDkxNSwgNzA5MjAsIDcwOTI1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA3MDkzMCwgNzA5MzYsIDcwOTM5LCA3MDk0MiwgNzA5NDUsIDcwOTQ5LCA3MDk1MywgNzA5NTcsIAotICAgIDcwOTYxLCA3MDk2NCwgNzA5NjgsIDcwOTcxLCA3MDk3NSwgNzA5NzgsIDcwOTgyLCA3MDk4NiwgNzA5OTAsIDcwOTk0LCAKLSAgICA3MDk5OCwgNzEwMDIsIDcxMDA2LCA3MTAwOSwgNzEwMTMsIDcxMDE3LCA3MTAyMSwgNzEwMjUsIDcxMDI5LCA3MTAzMywgCi0gICAgNzEwMzcsIDcxMDQxLCA3MTA0NSwgNzEwNDksIDcxMDUzLCA3MTA1NywgNzEwNjEsIDcxMDY1LCA3MTA2OCwgNzEwNzIsIAotICAgIDcxMDc2LCA3MTA4MCwgNzEwODQsIDcxMDg4LCA3MTA5MiwgNzEwOTYsIDcxMTAwLCA3MTEwNCwgNzExMDgsIDcxMTEyLCAKLSAgICA3MTExNiwgNzExMjAsIDcxMTI0LCA3MTEyOCwgNzExMzIsIDcxMTM2LCA3MTE0MCwgNzExNDQsIDcxMTQ4LCA3MTE1MiwgCi0gICAgNzExNTYsIDcxMTYwLCA3MTE2NCwgNzExNjcsIDcxMTcxLCA3MTE3NSwgNzExNzksIDcxMTgzLCA3MTE4NywgNzExOTEsIAotICAgIDcxMTk1LCA3MTE5OCwgNzEyMDIsIDcxMjA2LCA3MTIxMCwgNzEyMTQsIDcxMjE4LCA3MTIyMiwgNzEyMjYsIDcxMjMwLCAKLSAgICA3MTIzNCwgNzEyMzgsIDcxMjQyLCA3MTI0NiwgNzEyNTEsIDcxMjU2LCA3MTI1OSwgNzEyNjQsIDcxMjY3LCA3MTI3MCwgCi0gICAgNzEyNzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcxMjc3LCA3MTI4NiwgNzEyOTUsIDcxMzA0LCA3MTMxMywgNzEzMjIsIAotICAgIDcxMzMxLCA3MTM0MCwgNzEzNDksIDcxMzU3LCA3MTM2NCwgNzEzNzIsIDcxMzc5LCA3MTM4NywgNzEzOTcsIDcxNDA2LCAKLSAgICA3MTQxNiwgNzE0MjUsIDcxNDM1LCA3MTQ0MywgNzE0NTAsIDcxNDU4LCA3MTQ2NSwgNzE0NzMsIDcxNDc4LCA3MTQ4MywgCi0gICAgNzE0ODgsIDcxNDk3LCA3MTUwMywgNzE1MDksIDcxNTE2LCA3MTUyNSwgNzE1MzMsIDcxNTQxLCA3MTU0OSwgNzE1NTYsIAotICAgIDcxNTYzLCA3MTU3MCwgNzE1NzcsIDcxNTgyLCA3MTU4NywgNzE1OTIsIDcxNTk3LCA3MTYwMiwgNzE2MDcsIDcxNjEyLCAKLSAgICA3MTYxNywgNzE2MjUsIDcxNjMzLCA3MTYzOSwgNzE2NDUsIDcxNjUwLCA3MTY1NSwgNzE2NjAsIDcxNjY1LCA3MTY3MCwgCi0gICAgNzE2NzUsIDcxNjgwLCA3MTY4NSwgNzE2OTMsIDcxNzAxLCA3MTcwNiwgNzE3MTEsIDcxNzIxLCA3MTczMSwgNzE3MzgsIAotICAgIDcxNzQ1LCA3MTc1NCwgNzE3NjMsIDcxNzc1LCA3MTc4NywgNzE3OTMsIDcxNzk5LCA3MTgwNywgNzE4MTUsIDcxODI1LCAKLSAgICA3MTgzNSwgNzE4NDIsIDcxODQ5LCA3MTg1NCwgNzE4NTksIDcxODcxLCA3MTg4MywgNzE4OTEsIDcxODk5LCA3MTkwOSwgCi0gICAgNzE5MTksIDcxOTMxLCA3MTk0MywgNzE5NTIsIDcxOTYxLCA3MTk2OCwgNzE5NzUsIDcxOTgyLCA3MTk4OSwgNzE5OTgsIAotICAgIDcyMDA3LCA3MjAxMiwgNzIwMTcsIDcyMDI0LCA3MjAzMSwgNzIwMzgsIDcyMDQ1LCA3MjA1NywgNzIwNjksIDcyMDc0LCAKLSAgICA3MjA3OSwgNzIwODQsIDcyMDg5LCA3MjA5NCwgNzIwOTksIDcyMTA0LCA3MjEwOSwgNzIxMTMsIDcyMTE4LCA3MjEyMywgCi0gICAgNzIxMjgsIDcyMTMzLCA3MjEzOCwgNzIxNDQsIDcyMTQ5LCA3MjE1NCwgNzIxNjEsIDcyMTY4LCA3MjE3NSwgNzIxODIsIAotICAgIDcyMTg5LCA3MjE5OCwgNzIyMDcsIDcyMjEzLCA3MjIxOSwgNzIyMjUsIDcyMjMxLCA3MjIzOCwgNzIyNDUsIDcyMjUyLCAKLSAgICA3MjI1OSwgNzIyNjYsIDcyMjcwLCA3MjI3NywgNzIyODIsIDcyMjg3LCA3MjI5NCwgMCwgNzIzMDcsIDcyMzE1LCA3MjMyMywgCi0gICAgNzIzMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyMzM3LCA3MjM0NiwgNzIzNTUsIDcyMzY0LCAKLSAgICA3MjM3MywgNzIzODIsIDcyMzkxLCA3MjQwMCwgNzI0MDksIDcyNDE4LCA3MjQyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM2ODMsIDYzNjkyLCA2MzcwMSwgNjM3MTIsIAorICAgIDYzNzE5LCA2MzcyNCwgNjM3MjksIDYzNzM2LCA2Mzc0MywgNjM3NDksIDYzNzU0LCA2Mzc1OSwgNjM3NjQsIDYzNzY5LCAKKyAgICA2Mzc3NiwgNjM3ODEsIDYzNzg2LCA2Mzc5MSwgNjM4MDIsIDYzODA3LCA2MzgxMiwgNjM4MTksIDYzODI0LCA2MzgzMSwgCisgICAgNjM4MzYsIDYzODQxLCA2Mzg0OCwgNjM4NTUsIDYzODYyLCA2Mzg3MSwgNjM4ODAsIDYzODg1LCA2Mzg5MCwgNjM4OTUsIAorICAgIDYzOTAyLCA2MzkwNywgNjM5MTcsIDYzOTI0LCA2MzkyOSwgNjM5MzQsIDYzOTM5LCA2Mzk0NCwgNjM5NDksIDYzOTU0LCAKKyAgICA2Mzk2MywgNjM5NzAsIDYzOTc3LCA2Mzk4MiwgNjM5ODksIDYzOTk0LCA2NDAwMSwgNjQwMTAsIDY0MDIxLCA2NDAyNiwgCisgICAgNjQwMzUsIDY0MDQwLCA2NDA0NywgNjQwNTYsIDY0MDY1LCA2NDA3MCwgNjQwNzUsIDY0MDgyLCA2NDA4OCwgNjQwOTUsIAorICAgIDY0MTAyLCA2NDEwNiwgNjQxMTAsIDY0MTEzLCA2NDExNywgNjQxMjEsIDY0MTI1LCA2NDEyOSwgNjQxMzMsIDY0MTM3LCAKKyAgICA2NDE0MSwgNjQxNDQsIDY0MTQ4LCA2NDE1MiwgNjQxNTYsIDY0MTYwLCA2NDE2NCwgNjQxNjgsIDY0MTcxLCA2NDE3NSwgCisgICAgNjQxNzksIDY0MTgyLCA2NDE4NiwgNjQxOTAsIDY0MTk0LCA2NDE5OCwgNjQyMDIsIDY0MjA2LCA2NDIxMCwgNjQyMTQsIAorICAgIDY0MjE4LCA2NDIyMiwgNjQyMjYsIDY0MjMwLCA2NDIzNCwgNjQyMzgsIDY0MjQyLCA2NDI0NiwgNjQyNTAsIDY0MjU0LCAKKyAgICA2NDI1OCwgNjQyNjIsIDY0MjY2LCA2NDI3MCwgNjQyNzQsIDY0Mjc4LCA2NDI4MiwgNjQyODYsIDY0MjkwLCA2NDI5NCwgCisgICAgNjQyOTgsIDY0MzAyLCA2NDMwNiwgNjQzMTAsIDY0MzE0LCA2NDMxOCwgNjQzMjIsIDY0MzI2LCA2NDMzMCwgNjQzMzQsIAorICAgIDY0MzM4LCA2NDM0MiwgNjQzNDYsIDY0MzUwLCA2NDM1NCwgNjQzNTgsIDY0MzYxLCA2NDM2NSwgNjQzNjksIDY0MzczLCAKKyAgICA2NDM3NywgNjQzODEsIDY0Mzg1LCA2NDM4OSwgNjQzOTMsIDY0Mzk3LCA2NDQwMSwgNjQ0MDUsIDY0NDA5LCA2NDQxMywgCisgICAgNjQ0MTcsIDY0NDIxLCA2NDQyNSwgNjQ0MjksIDY0NDMzLCA2NDQzNywgNjQ0NDEsIDY0NDQ1LCA2NDQ0OSwgNjQ0NTMsIAorICAgIDY0NDU3LCA2NDQ2MSwgNjQ0NjUsIDY0NDY5LCA2NDQ3MywgNjQ0NzcsIDY0NDgxLCA2NDQ4NSwgNjQ0ODksIDY0NDkzLCAKKyAgICA2NDQ5NywgNjQ1MDEsIDY0NTA1LCA2NDUwOSwgNjQ1MTMsIDY0NTE3LCA2NDUyMSwgNjQ1MjUsIDY0NTI5LCA2NDUzMywgCisgICAgNjQ1MzcsIDY0NTQxLCA2NDU0NSwgNjQ1NDksIDY0NTUzLCA2NDU1NywgNjQ1NjEsIDY0NTY1LCA2NDU2OSwgNjQ1NzMsIAorICAgIDY0NTc3LCA2NDU4MSwgNjQ1ODUsIDY0NTg5LCA2NDU5MywgNjQ1OTcsIDY0NjAxLCA2NDYwNSwgNjQ2MDksIDY0NjEzLCAKKyAgICA2NDYxNywgNjQ2MjEsIDY0NjI1LCA2NDYyOSwgNjQ2MzMsIDY0NjM3LCA2NDY0MSwgNjQ2NDUsIDY0NjQ5LCA2NDY1MywgCisgICAgNjQ2NTcsIDY0NjYxLCA2NDY2NSwgNjQ2NjksIDY0NjczLCA2NDY3NywgNjQ2ODEsIDY0Njg1LCA2NDY4OSwgNjQ2OTMsIAorICAgIDY0Njk3LCA2NDcwMSwgNjQ3MDUsIDY0NzA5LCA2NDcxMywgNjQ3MTcsIDY0NzIxLCA2NDcyNSwgNjQ3MjksIDY0NzMzLCAKKyAgICA2NDczNywgNjQ3NDEsIDY0NzQ1LCA2NDc0OSwgNjQ3NTMsIDY0NzU3LCA2NDc2MSwgNjQ3NjUsIDY0NzY5LCA2NDc3MywgCisgICAgNjQ3NzcsIDY0NzgxLCA2NDc4NSwgNjQ3ODksIDY0NzkzLCA2NDc5NywgNjQ4MDEsIDY0ODA1LCA2NDgwOSwgNjQ4MTMsIAorICAgIDY0ODE3LCA2NDgyMSwgNjQ4MjUsIDY0ODI5LCA2NDgzMiwgNjQ4MzYsIDY0ODQwLCA2NDg0NCwgNjQ4NDgsIDY0ODUyLCAKKyAgICA2NDg1NiwgNjQ4NjAsIDY0ODY0LCA2NDg2OCwgNjQ4NzIsIDY0ODc2LCA2NDg4MCwgNjQ4ODQsIDY0ODg4LCA2NDg5MiwgCisgICAgNjQ4OTYsIDY0OTAwLCA2NDkwNCwgNjQ5MDgsIDY0OTEyLCA2NDkxNiwgNjQ5MjAsIDY0OTI0LCA2NDkyOCwgNjQ5MzIsIAorICAgIDY0OTM2LCA2NDk0MCwgNjQ5NDQsIDY0OTQ4LCA2NDk1MiwgNjQ5NTYsIDY0OTYwLCA2NDk2NCwgNjQ5NjgsIDY0OTcyLCAKKyAgICA2NDk3NiwgNjQ5ODAsIDY0OTg0LCA2NDk4OCwgNjQ5OTIsIDY0OTk2LCA2NTAwMCwgNjUwMDQsIDY1MDA4LCA2NTAxMiwgCisgICAgNjUwMTYsIDY1MDIwLCA2NTAyNCwgNjUwMjgsIDY1MDMyLCA2NTAzNiwgNjUwNDAsIDY1MDQ0LCA2NTA0OCwgNjUwNTIsIAorICAgIDY1MDU2LCA2NTA2MCwgNjUwNjQsIDY1MDY4LCA2NTA3MiwgNjUwNzYsIDY1MDgwLCA2NTA4NCwgNjUwODgsIDY1MDkyLCAKKyAgICA2NTA5NiwgNjUxMDAsIDY1MTA0LCA2NTEwOCwgNjUxMTIsIDY1MTE2LCA2NTEyMCwgNjUxMjQsIDY1MTI4LCA2NTEzMiwgCisgICAgNjUxMzYsIDY1MTQwLCA2NTE0NCwgNjUxNDgsIDY1MTUyLCA2NTE1NiwgNjUxNjAsIDY1MTY0LCA2NTE2OCwgNjUxNzIsIAorICAgIDY1MTc2LCA2NTE4MCwgNjUxODQsIDY1MTg4LCA2NTE5MiwgNjUxOTYsIDY1MjAwLCA2NTIwNCwgNjUyMDgsIDY1MjEyLCAKKyAgICA2NTIxNiwgNjUyMjAsIDY1MjI0LCA2NTIyOCwgNjUyMzIsIDY1MjM2LCA2NTI0MCwgNjUyNDQsIDY1MjQ4LCA2NTI1MiwgCisgICAgNjUyNTYsIDY1MjYwLCA2NTI2NCwgNjUyNjgsIDY1MjcyLCA2NTI3NiwgNjUyODAsIDY1Mjg0LCA2NTI4OCwgNjUyOTIsIAorICAgIDY1Mjk1LCA2NTI5OSwgNjUzMDMsIDY1MzA3LCA2NTMxMSwgNjUzMTUsIDY1MzE5LCA2NTMyMywgNjUzMjcsIDY1MzMxLCAKKyAgICA2NTMzNSwgNjUzMzksIDY1MzQzLCA2NTM0NywgNjUzNTEsIDY1MzU1LCA2NTM1OSwgNjUzNjMsIDY1MzY3LCA2NTM3MSwgCisgICAgNjUzNzUsIDY1Mzc5LCA2NTM4MywgNjUzODcsIDY1MzkxLCA2NTM5NSwgNjUzOTksIDY1NDAzLCA2NTQwNywgNjU0MTEsIAorICAgIDY1NDE1LCA2NTQxOSwgNjU0MjMsIDY1NDI3LCA2NTQzMSwgNjU0MzUsIDY1NDM5LCA2NTQ0MywgNjU0NDcsIDY1NDUxLCAKKyAgICA2NTQ1NSwgNjU0NTksIDY1NDYzLCA2NTQ2NywgNjU0NzEsIDY1NDc1LCA2NTQ3OSwgNjU0ODMsIDY1NDg3LCA2NTQ5MSwgCisgICAgNjU0OTUsIDY1NDk5LCA2NTUwMywgNjU1MDcsIDY1NTExLCA2NTUxNSwgNjU1MTksIDY1NTIzLCA2NTUyNywgNjU1MzEsIAorICAgIDY1NTM1LCA2NTUzOSwgNjU1NDMsIDY1NTQ3LCA2NTU1MSwgNjU1NTUsIDY1NTU5LCA2NTU2MywgNjU1NjcsIDY1NTcxLCAKKyAgICA2NTU3NSwgNjU1NzksIDY1NTgzLCA2NTU4NywgNjU1OTEsIDY1NTk1LCA2NTU5OSwgNjU2MDMsIDY1NjA3LCA2NTYxMSwgCisgICAgNjU2MTUsIDY1NjE5LCA2NTYyMywgNjU2MjcsIDY1NjMxLCA2NTYzNSwgNjU2MzksIDY1NjQzLCA2NTY0NywgNjU2NTEsIAorICAgIDY1NjU0LCA2NTY1OCwgNjU2NjIsIDY1NjY2LCA2NTY3MCwgNjU2NzQsIDY1Njc4LCA2NTY4MiwgNjU2ODYsIDY1NjkwLCAKKyAgICA2NTY5NCwgNjU2OTgsIDY1NzAyLCA2NTcwNiwgNjU3MTAsIDY1NzE0LCA2NTcxOCwgNjU3MjIsIDY1NzI2LCA2NTczMCwgCisgICAgNjU3MzQsIDY1NzM4LCA2NTc0MiwgNjU3NDYsIDY1NzUwLCA2NTc1NCwgNjU3NTgsIDY1NzYyLCA2NTc2NiwgNjU3NzAsIAorICAgIDY1Nzc0LCA2NTc3OCwgNjU3ODIsIDY1Nzg2LCA2NTc5MCwgNjU3OTQsIDY1Nzk4LCA2NTgwMiwgNjU4MDYsIDY1ODEwLCAKKyAgICA2NTgxNCwgNjU4MTgsIDY1ODIyLCA2NTgyNiwgNjU4MzAsIDY1ODM0LCA2NTgzOCwgNjU4NDIsIDY1ODQ2LCA2NTg1MCwgCisgICAgNjU4NTQsIDY1ODU4LCA2NTg2MiwgNjU4NjYsIDY1ODcwLCA2NTg3NCwgNjU4NzgsIDY1ODgyLCA2NTg4NiwgNjU4OTAsIAorICAgIDY1ODk0LCA2NTg5OCwgNjU5MDIsIDY1OTA2LCA2NTkxMCwgNjU5MTQsIDY1OTE4LCA2NTkyMiwgNjU5MjYsIDY1OTMwLCAKKyAgICA2NTkzNCwgNjU5MzgsIDY1OTQyLCA2NTk0NiwgNjU5NTAsIDY1OTU0LCA2NTk1OCwgNjU5NjIsIDY1OTY2LCA2NTk3MCwgCisgICAgNjU5NzQsIDY1OTc4LCA2NTk4MiwgNjU5ODYsIDY1OTkwLCA2NTk5NCwgNjU5OTgsIDY2MDAyLCA2NjAwNiwgNjYwMTAsIAorICAgIDY2MDE0LCA2NjAxOCwgNjYwMjIsIDY2MDI2LCA2NjAzMCwgNjYwMzQsIDY2MDM4LCA2NjA0MiwgNjYwNDYsIDY2MDUwLCAKKyAgICA2NjA1NCwgNjYwNTgsIDY2MDYyLCA2NjA2NiwgNjYwNzAsIDY2MDc0LCA2NjA3OCwgNjYwODIsIDY2MDg2LCA2NjA5MCwgCisgICAgNjYwOTQsIDY2MDk4LCA2NjEwMiwgNjYxMDYsIDY2MTEwLCA2NjExNCwgNjYxMTgsIDY2MTIyLCA2NjEyNiwgNjYxMzAsIAorICAgIDY2MTM0LCA2NjEzOCwgNjYxNDIsIDY2MTQ2LCA2NjE0OSwgNjYxNTMsIDY2MTU3LCA2NjE2MSwgNjYxNjUsIDY2MTY5LCAKKyAgICA2NjE3MywgNjYxNzcsIDY2MTgxLCA2NjE4NSwgNjYxODksIDY2MTkzLCA2NjE5NywgNjYyMDEsIDY2MjA1LCA2NjIwOSwgCisgICAgNjYyMTMsIDY2MjE3LCA2NjIyMSwgNjYyMjUsIDY2MjI5LCA2NjIzMywgNjYyMzcsIDY2MjQxLCA2NjI0NSwgNjYyNDksIAorICAgIDY2MjUzLCA2NjI1NywgNjYyNjEsIDY2MjY1LCA2NjI2OSwgNjYyNzMsIDY2Mjc3LCA2NjI4MSwgNjYyODUsIDY2Mjg5LCAKKyAgICA2NjI5MywgNjYyOTcsIDY2MzAxLCA2NjMwNSwgNjYzMDksIDY2MzEzLCA2NjMxNywgNjYzMjEsIDY2MzI1LCA2NjMyOSwgCisgICAgNjYzMzMsIDY2MzM3LCA2NjM0MSwgNjYzNDUsIDY2MzQ5LCA2NjM1MywgNjYzNTcsIDY2MzYxLCA2NjM2NSwgNjYzNjksIAorICAgIDY2MzczLCA2NjM3NywgNjYzODEsIDY2Mzg1LCA2NjM4OSwgNjYzOTMsIDY2Mzk3LCA2NjQwMSwgNjY0MDUsIDY2NDA5LCAKKyAgICA2NjQxMywgNjY0MTcsIDY2NDIxLCA2NjQyNSwgNjY0MjksIDY2NDMzLCA2NjQzNywgNjY0NDEsIDY2NDQ1LCA2NjQ0OSwgCisgICAgNjY0NTMsIDY2NDU3LCA2NjQ2MSwgNjY0NjUsIDY2NDY5LCA2NjQ3MywgNjY0NzcsIDY2NDgxLCA2NjQ4NSwgNjY0ODksIAorICAgIDY2NDkzLCA2NjQ5NywgNjY1MDEsIDY2NTA1LCA2NjUwOSwgNjY1MTMsIDY2NTE3LCA2NjUyMSwgNjY1MjUsIDY2NTI5LCAKKyAgICA2NjUzMywgNjY1MzcsIDY2NTQxLCA2NjU0NSwgNjY1NDksIDY2NTUzLCA2NjU1NywgNjY1NjEsIDY2NTY1LCA2NjU2OSwgCisgICAgNjY1NzMsIDY2NTc3LCA2NjU4MSwgNjY1ODUsIDY2NTg5LCA2NjU5MywgNjY1OTcsIDY2NjAxLCA2NjYwNCwgNjY2MDgsIAorICAgIDY2NjEyLCA2NjYxNiwgNjY2MjAsIDY2NjI0LCA2NjYyOCwgNjY2MzIsIDY2NjM2LCA2NjY0MCwgNjY2NDQsIDY2NjQ4LCAKKyAgICA2NjY1MiwgNjY2NTYsIDY2NjYwLCA2NjY2NCwgNjY2NjgsIDY2NjcyLCA2NjY3NiwgNjY2ODAsIDY2Njg0LCA2NjY4OCwgCisgICAgNjY2OTIsIDY2Njk2LCA2NjcwMCwgNjY3MDQsIDY2NzA4LCA2NjcxMiwgNjY3MTYsIDY2NzIwLCA2NjcyNCwgNjY3MjgsIAorICAgIDY2NzMyLCA2NjczNiwgNjY3NDAsIDY2NzQ0LCA2Njc0OCwgNjY3NTIsIDY2NzU2LCA2Njc2MCwgNjY3NjQsIDY2NzY4LCAKKyAgICA2Njc3MiwgNjY3NzYsIDY2NzgwLCA2Njc4NCwgNjY3ODgsIDY2NzkyLCA2Njc5NiwgNjY4MDAsIDY2ODA0LCA2NjgwOCwgCisgICAgNjY4MTIsIDY2ODE2LCA2NjgyMCwgNjY4MjQsIDY2ODI4LCA2NjgzMiwgNjY4MzYsIDY2ODQwLCA2Njg0NCwgNjY4NDgsIAorICAgIDY2ODUyLCA2Njg1NiwgNjY4NjAsIDY2ODY0LCA2Njg2OCwgNjY4NzIsIDY2ODc2LCA2Njg4MCwgNjY4ODQsIDY2ODg4LCAKKyAgICA2Njg5MiwgNjY4OTYsIDY2OTAwLCA2NjkwNCwgNjY5MDgsIDY2OTEyLCA2NjkxNiwgNjY5MjAsIDY2OTI0LCA2NjkyOCwgCisgICAgNjY5MzIsIDY2OTM2LCA2Njk0MCwgNjY5NDQsIDY2OTQ4LCA2Njk1MiwgNjY5NTYsIDY2OTYwLCA2Njk2NCwgNjY5NjgsIAorICAgIDY2OTcyLCA2Njk3NiwgNjY5ODAsIDY2OTg0LCA2Njk4OCwgNjY5OTIsIDY2OTk2LCA2NzAwMCwgNjcwMDQsIDY3MDA4LCAKKyAgICA2NzAxMiwgNjcwMTYsIDY3MDIwLCA2NzAyNCwgNjcwMjgsIDY3MDMyLCA2NzAzNiwgNjcwNDAsIDY3MDQ0LCA2NzA0OCwgCisgICAgNjcwNTIsIDY3MDU2LCA2NzA2MCwgNjcwNjQsIDY3MDY4LCA2NzA3MiwgNjcwNzYsIDY3MDgwLCA2NzA4NCwgNjcwODgsIAorICAgIDY3MDkyLCA2NzA5NiwgNjcxMDAsIDY3MTA0LCA2NzEwOCwgNjcxMTIsIDY3MTE2LCA2NzEyMCwgNjcxMjQsIDY3MTI4LCAKKyAgICA2NzEzMiwgNjcxMzYsIDY3MTQwLCA2NzE0NCwgNjcxNDgsIDY3MTUyLCA2NzE1NiwgNjcxNjAsIDY3MTY0LCA2NzE2OCwgCisgICAgNjcxNzIsIDY3MTc2LCA2NzE4MCwgNjcxODQsIDY3MTg4LCA2NzE5MiwgNjcxOTYsIDY3MjAwLCA2NzIwNCwgNjcyMDcsIAorICAgIDY3MjExLCA2NzIxNSwgNjcyMTksIDY3MjIzLCA2NzIyNywgNjcyMzEsIDY3MjM1LCA2NzIzOCwgNjcyNDIsIDY3MjQ2LCAKKyAgICA2NzI1MCwgNjcyNTQsIDY3MjU4LCA2NzI2MiwgNjcyNjYsIDY3MjcwLCA2NzI3NCwgNjcyNzgsIDY3MjgyLCA2NzI4NiwgCisgICAgNjcyOTAsIDY3Mjk0LCA2NzI5OCwgNjczMDIsIDY3MzA2LCA2NzMxMCwgNjczMTQsIDY3MzE4LCA2NzMyMiwgNjczMjYsIAorICAgIDY3MzMwLCA2NzMzNCwgNjczMzgsIDY3MzQyLCA2NzM0NiwgNjczNTAsIDY3MzU0LCA2NzM1OCwgNjczNjIsIDY3MzY2LCAKKyAgICA2NzM3MCwgNjczNzQsIDY3Mzc4LCA2NzM4MiwgNjczODYsIDY3MzkwLCA2NzM5NCwgNjczOTgsIDY3NDAyLCA2NzQwNiwgCisgICAgNjc0MTAsIDY3NDE0LCA2NzQxOCwgNjc0MjIsIDY3NDI2LCA2NzQzMCwgNjc0MzQsIDY3NDM4LCA2NzQ0MiwgNjc0NDYsIAorICAgIDY3NDUwLCA2NzQ1NCwgNjc0NTgsIDY3NDYyLCA2NzQ2NiwgNjc0NzAsIDY3NDc0LCA2NzQ3OCwgNjc0ODIsIDY3NDg2LCAKKyAgICA2NzQ5MCwgNjc0OTQsIDY3NDk4LCA2NzUwMiwgNjc1MDYsIDY3NTEwLCA2NzUxNCwgNjc1MTgsIDY3NTIyLCA2NzUyNiwgCisgICAgNjc1MzAsIDY3NTM0LCA2NzUzOCwgNjc1NDIsIDY3NTQ2LCA2NzU1MCwgNjc1NTQsIDY3NTU4LCA2NzU2MiwgNjc1NjYsIAorICAgIDY3NTcwLCA2NzU3NCwgNjc1NzgsIDY3NTgyLCA2NzU4NiwgNjc1OTAsIDY3NTk0LCA2NzU5OCwgNjc2MDIsIDY3NjA2LCAKKyAgICA2NzYxMCwgNjc2MTQsIDY3NjE4LCA2NzYyMiwgNjc2MjYsIDY3NjMwLCA2NzYzNCwgNjc2MzgsIDY3NjQyLCA2NzY0NiwgCisgICAgNjc2NTAsIDY3NjU0LCA2NzY1OCwgNjc2NjIsIDY3NjY2LCA2NzY3MCwgNjc2NzQsIDY3Njc4LCA2NzY4MiwgNjc2ODYsIAorICAgIDY3NjkwLCA2NzY5NCwgNjc2OTgsIDY3NzAyLCA2NzcwNiwgNjc3MTAsIDY3NzE0LCA2NzcxOCwgNjc3MjIsIDY3NzI2LCAKKyAgICA2NzczMCwgNjc3MzQsIDY3NzM4LCA2Nzc0MiwgNjc3NDYsIDY3NzUwLCA2Nzc1NCwgNjc3NTgsIDY3NzYyLCA2Nzc2NiwgCisgICAgNjc3NzAsIDY3Nzc0LCA2Nzc3OCwgNjc3ODIsIDY3Nzg2LCA2Nzc5MCwgNjc3OTQsIDY3Nzk4LCA2NzgwMiwgNjc4MDYsIAorICAgIDY3ODEwLCA2NzgxNCwgNjc4MTgsIDY3ODIyLCA2NzgyNiwgNjc4MzAsIDY3ODM0LCA2NzgzOCwgNjc4NDIsIDY3ODQ2LCAKKyAgICA2Nzg1MCwgNjc4NTQsIDY3ODU4LCA2Nzg2MiwgNjc4NjYsIDY3ODcwLCA2Nzg3NCwgNjc4NzgsIDY3ODgyLCA2Nzg4NiwgCisgICAgNjc4OTAsIDY3ODk0LCA2Nzg5OCwgNjc5MDIsIDY3OTA2LCA2NzkxMCwgNjc5MTQsIDY3OTE4LCA2NzkyMiwgNjc5MjYsIAorICAgIDY3OTMwLCA2NzkzNCwgNjc5MzgsIDY3OTQyLCA2Nzk0NiwgNjc5NTAsIDY3OTU0LCA2Nzk1OCwgNjc5NjIsIDY3OTY1LCAKKyAgICA2Nzk2OSwgNjc5NzMsIDY3OTc3LCA2Nzk4MSwgNjc5ODUsIDY3OTg5LCA2Nzk5MywgNjc5OTcsIDY4MDAxLCA2ODAwNSwgCisgICAgNjgwMDksIDY4MDEzLCA2ODAxNywgNjgwMjEsIDY4MDI1LCA2ODAyOSwgNjgwMzMsIDY4MDM3LCA2ODA0MSwgNjgwNDUsIAorICAgIDY4MDQ5LCA2ODA1MywgNjgwNTcsIDY4MDYxLCA2ODA2NSwgNjgwNjksIDY4MDczLCA2ODA3NywgNjgwODEsIDY4MDg1LCAKKyAgICA2ODA4OSwgNjgwOTMsIDY4MDk3LCA2ODEwMSwgNjgxMDUsIDY4MTA5LCA2ODExMywgNjgxMTcsIDY4MTIxLCA2ODEyNSwgCisgICAgNjgxMjksIDY4MTMzLCA2ODEzNywgNjgxNDEsIDY4MTQ1LCA2ODE0OSwgNjgxNTMsIDY4MTU3LCA2ODE2MSwgNjgxNjUsIAorICAgIDY4MTY5LCA2ODE3MywgNjgxNzcsIDY4MTgxLCA2ODE4NSwgNjgxODksIDY4MTkzLCA2ODE5NywgNjgyMDEsIDY4MjA1LCAKKyAgICA2ODIwOSwgNjgyMTMsIDY4MjE3LCA2ODIyMSwgNjgyMjUsIDY4MjI5LCA2ODIzMywgNjgyMzcsIDY4MjQxLCA2ODI0NSwgCisgICAgNjgyNDksIDY4MjUzLCA2ODI1NywgNjgyNjEsIDY4MjY1LCA2ODI2OSwgNjgyNzMsIDY4Mjc3LCA2ODI4MSwgNjgyODUsIAorICAgIDY4Mjg5LCA2ODI5MywgNjgyOTcsIDY4MzAxLCA2ODMwNSwgNjgzMDksIDY4MzEzLCA2ODMxNywgNjgzMjEsIDY4MzI1LCAKKyAgICA2ODMyOSwgNjgzMzMsIDY4MzM3LCA2ODM0MSwgNjgzNDUsIDY4MzQ5LCA2ODM1MywgNjgzNTcsIDY4MzYxLCA2ODM2NSwgCisgICAgNjgzNjksIDY4MzczLCA2ODM3NywgNjgzODEsIDY4Mzg1LCA2ODM4OSwgNjgzOTMsIDY4Mzk3LCA2ODQwMSwgNjg0MDUsIAorICAgIDY4NDA5LCA2ODQxMywgNjg0MTcsIDY4NDIxLCA2ODQyNSwgNjg0MjksIDY4NDMzLCA2ODQzNywgNjg0NDEsIDY4NDQ1LCAKKyAgICA2ODQ0OSwgNjg0NTMsIDY4NDU3LCA2ODQ2MSwgNjg0NjUsIDY4NDY5LCA2ODQ3MywgNjg0NzcsIDY4NDgxLCA2ODQ4NSwgCisgICAgNjg0ODksIDY4NDkzLCA2ODQ5NywgNjg1MDEsIDY4NTA1LCA2ODUwOSwgNjg1MTMsIDY4NTE3LCA2ODUyMSwgNjg1MjUsIAorICAgIDY4NTI5LCA2ODUzMywgNjg1MzcsIDY4NTQxLCA2ODU0NSwgNjg1NDksIDY4NTUzLCA2ODU1NywgNjg1NjEsIDY4NTY1LCAKKyAgICA2ODU2OSwgNjg1NzMsIDY4NTc3LCA2ODU4MSwgNjg1ODUsIDY4NTg5LCA2ODU5MywgNjg1OTcsIDY4NjAxLCA2ODYwNSwgCisgICAgNjg2MDksIDY4NjEzLCA2ODYxNywgNjg2MjEsIDY4NjI1LCA2ODYyOSwgNjg2MzMsIDY4NjM3LCA2ODY0MSwgNjg2NDUsIAorICAgIDY4NjQ5LCA2ODY1MywgNjg2NTcsIDY4NjYxLCA2ODY2NSwgNjg2NjksIDY4NjczLCA2ODY3NywgNjg2ODEsIDY4Njg1LCAKKyAgICA2ODY4OSwgNjg2OTMsIDY4Njk3LCA2ODcwMSwgNjg3MDUsIDY4NzA5LCA2ODcxMywgNjg3MTcsIDY4NzIxLCA2ODcyNSwgCisgICAgNjg3MjksIDY4NzMzLCA2ODczNywgNjg3NDEsIDY4NzQ1LCAwLCAwLCAwLCA2ODc0OSwgNjg3NTMsIDY4NzU3LCA2ODc2MSwgCisgICAgNjg3NjUsIDY4NzY5LCA2ODc3MywgNjg3NzcsIDY4NzgxLCA2ODc4NSwgNjg3ODksIDY4NzkzLCA2ODc5NywgNjg4MDEsIAorICAgIDY4ODA1LCA2ODgwOSwgNjg4MTMsIDY4ODE3LCA2ODgyMSwgNjg4MjUsIDY4ODI5LCA2ODgzMywgNjg4MzcsIDY4ODQxLCAKKyAgICA2ODg0NSwgNjg4NDksIDY4ODUzLCA2ODg1NywgNjg4NjEsIDY4ODY1LCA2ODg2OSwgNjg4NzMsIDY4ODc3LCA2ODg4MSwgCisgICAgNjg4ODUsIDY4ODg5LCA2ODg5MywgNjg4OTcsIDY4OTAxLCA2ODkwNSwgNjg5MDksIDY4OTEzLCA2ODkxNywgNjg5MjEsIAorICAgIDY4OTI1LCA2ODkyOSwgNjg5MzMsIDY4OTM3LCA2ODk0MSwgNjg5NDUsIDY4OTQ5LCA2ODk1MywgNjg5NTcsIDY4OTYxLCAKKyAgICA2ODk2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjg5NjksIDY4OTc0LCA2ODk3OCwgNjg5ODMsIDY4OTg4LCAKKyAgICA2ODk5MywgNjg5OTgsIDY5MDAzLCA2OTAwNywgNjkwMTIsIDY5MDE3LCA2OTAyMiwgNjkwMjcsIDY5MDMyLCA2OTAzNywgCisgICAgNjkwNDIsIDY5MDQ2LCA2OTA1MCwgNjkwNTUsIDY5MDU5LCA2OTA2NCwgNjkwNjksIDY5MDc0LCA2OTA3OCwgNjkwODMsIAorICAgIDY5MDg4LCA2OTA5MywgNjkwOTgsIDY5MTAzLCA2OTEwNywgNjkxMTIsIDY5MTE2LCA2OTEyMSwgNjkxMjUsIDY5MTMwLCAKKyAgICA2OTEzNCwgNjkxMzgsIDY5MTQyLCA2OTE0NywgNjkxNTIsIDY5MTU3LCA2OTE2NSwgNjkxNzMsIDY5MTgxLCA2OTE4OSwgCisgICAgNjkxOTYsIDY5MjA0LCA2OTIxMCwgNjkyMTgsIDY5MjIyLCA2OTIyNiwgNjkyMzAsIDY5MjM0LCA2OTIzOCwgNjkyNDIsIAorICAgIDY5MjQ2LCA2OTI1MCwgNjkyNTQsIDY5MjU4LCA2OTI2MiwgNjkyNjYsIDY5MjcwLCA2OTI3NCwgNjkyNzgsIDY5MjgyLCAKKyAgICA2OTI4NiwgNjkyOTAsIDY5Mjk0LCA2OTI5OCwgNjkzMDIsIDY5MzA2LCA2OTMxMCwgNjkzMTQsIDY5MzE4LCA2OTMyMiwgCisgICAgNjkzMjYsIDY5MzMwLCA2OTMzNCwgNjkzMzgsIDY5MzQyLCA2OTM0NiwgNjkzNTAsIDY5MzU0LCA2OTM1OCwgNjkzNjIsIAorICAgIDY5MzY1LCA2OTM2OSwgNjkzNzMsIDY5Mzc3LCA2OTM4MSwgNjkzODUsIDY5Mzg5LCA2OTM5MywgNjkzOTcsIDY5NDAxLCAKKyAgICA2OTQwNSwgNjk0MDksIDY5NDEzLCA2OTQxNywgNjk0MjEsIDY5NDI1LCA2OTQyOSwgNjk0MzMsIDY5NDM3LCA2OTQ0MSwgCisgICAgNjk0NDUsIDY5NDQ5LCA2OTQ1MywgNjk0NTcsIDY5NDYxLCA2OTQ2NSwgNjk0NjksIDY5NDczLCA2OTQ3NywgNjk0ODEsIAorICAgIDY5NDg1LCA2OTQ4OSwgNjk0OTMsIDY5NDk3LCA2OTUwMSwgNjk1MDUsIDY5NTA5LCA2OTUxMiwgNjk1MTYsIDY5NTIwLCAKKyAgICA2OTUyMywgNjk1MjcsIDY5NTMxLCA2OTUzNSwgNjk1MzgsIDY5NTQyLCA2OTU0NiwgNjk1NTAsIDY5NTU0LCA2OTU1OCwgCisgICAgNjk1NjIsIDY5NTY2LCA2OTU3MCwgNjk1NzQsIDY5NTc4LCA2OTU4MiwgNjk1ODYsIDY5NTkwLCA2OTU5NCwgNjk1OTcsIAorICAgIDY5NjAxLCA2OTYwNSwgNjk2MDgsIDY5NjEyLCA2OTYxNiwgNjk2MjAsIDY5NjI0LCA2OTYyOCwgNjk2MzIsIDY5NjM1LCAKKyAgICA2OTYzOCwgNjk2NDIsIDY5NjQ2LCA2OTY1MCwgNjk2NTMsIDY5NjU2LCA2OTY2MCwgNjk2NjQsIDY5NjY4LCA2OTY3MiwgCisgICAgNjk2NzYsIDY5NjgwLCA2OTY4NCwgNjk2ODgsIDY5NjkyLCA2OTY5NiwgNjk3MDAsIDY5NzA0LCA2OTcwOCwgNjk3MTIsIAorICAgIDY5NzE2LCA2OTcyMCwgNjk3MjQsIDY5NzI4LCA2OTczMiwgNjk3MzYsIDY5NzQwLCA2OTc0NCwgNjk3NDgsIDY5NzUyLCAKKyAgICA2OTc1NiwgNjk3NjAsIDY5NzY0LCA2OTc2OCwgNjk3NzIsIDY5Nzc2LCA2OTc4MCwgNjk3ODQsIDY5Nzg4LCA2OTc5MiwgCisgICAgNjk3OTYsIDY5ODAwLCA2OTgwNCwgNjk4MDcsIDY5ODExLCA2OTgxNSwgNjk4MTksIDY5ODIzLCA2OTgyNywgNjk4MzEsIAorICAgIDY5ODM1LCA2OTgzOSwgNjk4NDMsIDY5ODQ3LCA2OTg1MSwgNjk4NTUsIDY5ODU5LCA2OTg2MywgNjk4NjcsIDY5ODcxLCAKKyAgICA2OTg3NSwgNjk4NzksIDY5ODgzLCA2OTg4NywgNjk4OTEsIDY5ODk1LCA2OTg5OSwgNjk5MDMsIDY5OTA3LCA2OTkxMSwgCisgICAgNjk5MTUsIDY5OTE5LCA2OTkyMywgNjk5MjcsIDY5OTMxLCA2OTkzNSwgNjk5MzksIDY5OTQzLCA2OTk0NywgNjk5NTEsIAorICAgIDY5OTU0LCA2OTk1OCwgNjk5NjIsIDY5OTY2LCA2OTk3MCwgNjk5NzQsIDY5OTc4LCA2OTk4MiwgNjk5ODYsIDY5OTkwLCAKKyAgICA2OTk5NCwgNjk5OTgsIDcwMDAyLCA3MDAwNiwgNzAwMTAsIDcwMDE0LCA3MDAxOCwgNzAwMjEsIDcwMDI1LCA3MDAyOSwgCisgICAgNzAwMzMsIDcwMDM3LCA3MDA0MSwgNzAwNDUsIDcwMDQ5LCA3MDA1MywgNzAwNTcsIDcwMDYxLCA3MDA2NSwgNzAwNjksIAorICAgIDcwMDczLCA3MDA3NywgNzAwODEsIDcwMDg1LCA3MDA4OSwgNzAwOTMsIDcwMDk3LCA3MDEwMSwgNzAxMDUsIDcwMTA4LCAKKyAgICA3MDExMiwgNzAxMTYsIDcwMTIwLCA3MDEyNCwgNzAxMjgsIDcwMTMyLCA3MDEzNiwgNzAxNDAsIDcwMTQ0LCA3MDE0OCwgCisgICAgNzAxNTIsIDcwMTU2LCA3MDE2MCwgNzAxNjQsIDcwMTY4LCA3MDE3MiwgNzAxNzYsIDcwMTgwLCA3MDE4NCwgNzAxODgsIAorICAgIDcwMTkyLCA3MDE5NiwgNzAyMDAsIDcwMjA0LCA3MDIwOCwgNzAyMTIsIDcwMjE2LCA3MDIyMCwgNzAyMjQsIDcwMjI4LCAKKyAgICA3MDIzMiwgNzAyMzYsIDcwMjQwLCA3MDI0NCwgNzAyNDgsIDcwMjUyLCA3MDI1NiwgNzAyNjAsIDcwMjY0LCA3MDI2OCwgCisgICAgNzAyNzIsIDcwMjc2LCA3MDI4MCwgNzAyODMsIDcwMjg4LCA3MDI5MiwgNzAyOTgsIDcwMzAzLCA3MDMwOSwgNzAzMTMsIAorICAgIDcwMzE3LCA3MDMyMSwgNzAzMjUsIDcwMzI5LCA3MDMzMywgNzAzMzcsIDcwMzQxLCA3MDM0NSwgNzAzNDksIDcwMzUzLCAKKyAgICA3MDM1NywgNzAzNjEsIDcwMzY1LCA3MDM2OCwgNzAzNzEsIDcwMzc0LCA3MDM3NywgNzAzODAsIDcwMzgzLCA3MDM4NiwgCisgICAgNzAzODksIDcwMzkyLCA3MDM5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNzA0MDMsIDcwNDA4LCA3MDQxMywgNzA0MTgsIDcwNDIzLCA3MDQzMCwgNzA0MzcsIDcwNDQyLCA3MDQ0NywgCisgICAgNzA0NTIsIDcwNDU3LCA3MDQ2NCwgNzA0NzEsIDcwNDc4LCA3MDQ4NSwgNzA0OTIsIDcwNDk5LCA3MDUwOSwgNzA1MTksIAorICAgIDcwNTI2LCA3MDUzMywgNzA1NDAsIDcwNTQ3LCA3MDU1MywgNzA1NTksIDcwNTY4LCA3MDU3NywgNzA1ODQsIDcwNTkxLCAKKyAgICA3MDYwMiwgNzA2MTMsIDcwNjE4LCA3MDYyMywgNzA2MzAsIDcwNjM3LCA3MDY0NCwgNzA2NTEsIDcwNjU4LCA3MDY2NSwgCisgICAgNzA2NzIsIDcwNjc5LCA3MDY4NSwgNzA2OTEsIDcwNjk3LCA3MDcwMywgNzA3MTAsIDcwNzE3LCA3MDcyMiwgNzA3MjYsIAorICAgIDcwNzMzLCA3MDc0MCwgNzA3NDcsIDcwNzUxLCA3MDc1OCwgNzA3NjIsIDcwNzY3LCA3MDc3MSwgNzA3NzcsIDcwNzgyLCAKKyAgICA3MDc4OCwgNzA3OTMsIDcwNzk3LCA3MDgwMSwgNzA4MDQsIDcwODA3LCA3MDgxMiwgNzA4MTcsIDcwODIyLCA3MDgyNywgCisgICAgNzA4MzIsIDcwODM3LCA3MDg0MiwgNzA4NDcsIDcwODUyLCA3MDg1NywgNzA4NjYsIDcwODc1LCA3MDg4MCwgNzA4ODUsIAorICAgIDcwODkwLCA3MDg5NSwgNzA5MDAsIDcwOTA1LCA3MDkxMCwgNzA5MTUsIDcwOTIwLCA3MDkyNSwgNzA5MzAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDcwOTM1LCA3MDk0MSwgNzA5NDQsIDcwOTQ3LCA3MDk1MCwgNzA5NTQsIDcwOTU4LCA3MDk2MiwgCisgICAgNzA5NjYsIDcwOTY5LCA3MDk3MywgNzA5NzYsIDcwOTgwLCA3MDk4MywgNzA5ODcsIDcwOTkxLCA3MDk5NSwgNzA5OTksIAorICAgIDcxMDAzLCA3MTAwNywgNzEwMTEsIDcxMDE0LCA3MTAxOCwgNzEwMjIsIDcxMDI2LCA3MTAzMCwgNzEwMzQsIDcxMDM4LCAKKyAgICA3MTA0MiwgNzEwNDYsIDcxMDUwLCA3MTA1NCwgNzEwNTgsIDcxMDYyLCA3MTA2NiwgNzEwNzAsIDcxMDczLCA3MTA3NywgCisgICAgNzEwODEsIDcxMDg1LCA3MTA4OSwgNzEwOTMsIDcxMDk3LCA3MTEwMSwgNzExMDUsIDcxMTA5LCA3MTExMywgNzExMTcsIAorICAgIDcxMTIxLCA3MTEyNSwgNzExMjksIDcxMTMzLCA3MTEzNywgNzExNDEsIDcxMTQ1LCA3MTE0OSwgNzExNTMsIDcxMTU3LCAKKyAgICA3MTE2MSwgNzExNjUsIDcxMTY5LCA3MTE3MiwgNzExNzYsIDcxMTgwLCA3MTE4NCwgNzExODgsIDcxMTkyLCA3MTE5NiwgCisgICAgNzEyMDAsIDcxMjAzLCA3MTIwNywgNzEyMTEsIDcxMjE1LCA3MTIxOSwgNzEyMjMsIDcxMjI3LCA3MTIzMSwgNzEyMzUsIAorICAgIDcxMjM5LCA3MTI0MywgNzEyNDcsIDcxMjUxLCA3MTI1NiwgNzEyNjEsIDcxMjY0LCA3MTI2OSwgNzEyNzIsIDcxMjc1LCAKKyAgICA3MTI3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzEyODIsIDcxMjkxLCA3MTMwMCwgNzEzMDksIDcxMzE4LCA3MTMyNywgCisgICAgNzEzMzYsIDcxMzQ1LCA3MTM1NCwgNzEzNjIsIDcxMzY5LCA3MTM3NywgNzEzODQsIDcxMzkyLCA3MTQwMiwgNzE0MTEsIAorICAgIDcxNDIxLCA3MTQzMCwgNzE0NDAsIDcxNDQ4LCA3MTQ1NSwgNzE0NjMsIDcxNDcwLCA3MTQ3OCwgNzE0ODMsIDcxNDg4LCAKKyAgICA3MTQ5MywgNzE1MDIsIDcxNTA4LCA3MTUxNCwgNzE1MjEsIDcxNTMwLCA3MTUzOCwgNzE1NDYsIDcxNTU0LCA3MTU2MSwgCisgICAgNzE1NjgsIDcxNTc1LCA3MTU4MiwgNzE1ODcsIDcxNTkyLCA3MTU5NywgNzE2MDIsIDcxNjA3LCA3MTYxMiwgNzE2MTcsIAorICAgIDcxNjIyLCA3MTYzMCwgNzE2MzgsIDcxNjQ0LCA3MTY1MCwgNzE2NTUsIDcxNjYwLCA3MTY2NSwgNzE2NzAsIDcxNjc1LCAKKyAgICA3MTY4MCwgNzE2ODUsIDcxNjkwLCA3MTY5OCwgNzE3MDYsIDcxNzExLCA3MTcxNiwgNzE3MjYsIDcxNzM2LCA3MTc0MywgCisgICAgNzE3NTAsIDcxNzU5LCA3MTc2OCwgNzE3ODAsIDcxNzkyLCA3MTc5OCwgNzE4MDQsIDcxODEyLCA3MTgyMCwgNzE4MzAsIAorICAgIDcxODQwLCA3MTg0NywgNzE4NTQsIDcxODU5LCA3MTg2NCwgNzE4NzYsIDcxODg4LCA3MTg5NiwgNzE5MDQsIDcxOTE0LCAKKyAgICA3MTkyNCwgNzE5MzYsIDcxOTQ4LCA3MTk1NywgNzE5NjYsIDcxOTczLCA3MTk4MCwgNzE5ODcsIDcxOTk0LCA3MjAwMywgCisgICAgNzIwMTIsIDcyMDE3LCA3MjAyMiwgNzIwMjksIDcyMDM2LCA3MjA0MywgNzIwNTAsIDcyMDYyLCA3MjA3NCwgNzIwNzksIAorICAgIDcyMDg0LCA3MjA4OSwgNzIwOTQsIDcyMDk5LCA3MjEwNCwgNzIxMDksIDcyMTE0LCA3MjExOCwgNzIxMjMsIDcyMTI4LCAKKyAgICA3MjEzMywgNzIxMzgsIDcyMTQzLCA3MjE0OSwgNzIxNTQsIDcyMTU5LCA3MjE2NiwgNzIxNzMsIDcyMTgwLCA3MjE4NywgCisgICAgNzIxOTQsIDcyMjAzLCA3MjIxMiwgNzIyMTgsIDcyMjI0LCA3MjIzMCwgNzIyMzYsIDcyMjQzLCA3MjI1MCwgNzIyNTcsIAorICAgIDcyMjY0LCA3MjI3MSwgNzIyNzUsIDcyMjgyLCA3MjI4NywgNzIyOTIsIDcyMjk5LCAwLCA3MjMxMiwgNzIzMjAsIDcyMzI4LCAKKyAgICA3MjMzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzIzNDIsIDcyMzUxLCA3MjM2MCwgNzIzNjksIAorICAgIDcyMzc4LCA3MjM4NywgNzIzOTYsIDcyNDA1LCA3MjQxNCwgNzI0MjMsIDcyNDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MjQzNCwgCi0gICAgNzI0NDEsIDcyNDQ3LCA3MjQ1NCwgNzI0NjIsIDcyNDcwLCA3MjQ3NywgNzI0ODUsIDcyNDkyLCA3MjQ5OCwgNzI1MDQsIAotICAgIDcyNTExLCA3MjUxNywgNzI1MjMsIDcyNTI5LCA3MjUzNiwgNzI1NDMsIDcyNTUwLCA3MjU1NywgNzI1NjQsIDcyNTcxLCAKLSAgICA3MjU3OCwgNzI1ODUsIDcyNTkyLCA3MjU5OSwgNzI2MDYsIDcyNjEzLCA3MjYyMCwgNzI2MjcsIDcyNjMzLCA3MjY0MCwgCi0gICAgNzI2NDcsIDcyNjU0LCA3MjY2MSwgNzI2NjgsIDcyNjc1LCA3MjY4MiwgNzI2ODksIDcyNjk2LCA3MjcwMywgNzI3MTAsIAotICAgIDcyNzE3LCA3MjcyNCwgNzI3MzEsIDcyNzM4LCA3Mjc0NSwgNzI3NTIsIDcyNzU5LCA3Mjc2NywgNzI3NzUsIDcyNzgzLCAKLSAgICA3Mjc5MSwgMCwgMCwgMCwgMCwgNzI3OTksIDcyODA4LCA3MjgxNywgNzI4MjYsIDcyODM1LCA3Mjg0NCwgNzI4NTMsIAotICAgIDcyODYwLCA3Mjg2NywgNzI4NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDcyODgxLCA3Mjg4NSwgNzI4OTAsIDcyODk1LCA3MjkwMCwgCi0gICAgNzI5MDUsIDcyOTEwLCA3MjkxNSwgNzI5MjAsIDcyOTI1LCA3MjkzMCwgNzI5MzUsIDcyOTM5LCA3Mjk0MywgNzI5NDgsIAotICAgIDcyOTUzLCA3Mjk1NywgNzI5NjIsIDcyOTY3LCA3Mjk3MiwgNzI5NzcsIDcyOTgyLCA3Mjk4NywgNzI5OTIsIDcyOTk2LCAKLSAgICA3MzAwMCwgNzMwMDUsIDczMDEwLCA3MzAxNCwgNzMwMTgsIDczMDIyLCA3MzAyNiwgNzMwMzAsIDczMDM0LCA3MzAzOCwgCi0gICAgNzMwNDMsIDczMDQ4LCA3MzA1MywgNzMwNTgsIDczMDYzLCA3MzA3MCwgNzMwNzYsIDczMDgxLCA3MzA4NiwgNzMwOTEsIAotICAgIDczMDk2LCA3MzEwMiwgNzMxMDksIDczMTE1LCA3MzEyMiwgNzMxMjgsIDczMTM0LCA3MzEzOSwgNzMxNDYsIDczMTUyLCAKLSAgICA3MzE1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzMxNjMsIDczMTY3LCA3MzE3MSwgNzMxNzQsIDczMTc4LCA3MzE4MSwgCi0gICAgNzMxODUsIDczMTg4LCA3MzE5MiwgNzMxOTYsIDczMjAxLCA3MzIwNSwgNzMyMTAsIDczMjEzLCA3MzIxNywgNzMyMjEsIAotICAgIDczMjI0LCA3MzIyOCwgNzMyMzIsIDczMjM1LCA3MzIzOSwgNzMyNDMsIDczMjQ3LCA3MzI1MSwgNzMyNTUsIDczMjU5LCAKLSAgICA3MzI2MywgNzMyNjcsIDczMjcxLCA3MzI3NSwgNzMyNzksIDczMjgzLCA3MzI4NywgNzMyOTEsIDczMjk1LCA3MzI5OSwgCi0gICAgNzMzMDMsIDczMzA3LCA3MzMxMCwgNzMzMTMsIDczMzE3LCA3MzMyMSwgNzMzMjUsIDczMzI4LCA3MzMzMSwgNzMzMzQsIAotICAgIDczMzM4LCA3MzM0MiwgNzMzNDYsIDczMzUwLCA3MzM1MywgNzMzNTYsIDczMzYwLCA3MzM2NSwgNzMzNzAsIDczMzc0LCAKLSAgICA3MzM3OSwgNzMzODMsIDczMzg4LCA3MzM5MywgNzMzOTksIDczNDA0LCA3MzQxMCwgNzM0MTQsIDczNDE5LCA3MzQyNCwgCi0gICAgNzM0MjgsIDczNDMzLCA3MzQzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzM0NDIsIDczNDQ1LCA3MzQ0OSwgCi0gICAgNzM0NTMsIDczNDU2LCA3MzQ1OSwgNzM0NjIsIDczNDY1LCA3MzQ2OCwgNzM0NzEsIDczNDc0LCA3MzQ3NywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzM0ODAsIDczNDg1LCA3MzQ4OSwgNzM0OTMsIDczNDk3LCA3MzUwMSwgNzM1MDUsIDczNTA5LCA3MzUxMywgCi0gICAgNzM1MTcsIDczNTIxLCA3MzUyNSwgNzM1MjksIDczNTMzLCA3MzUzNywgNzM1NDEsIDczNTQ1LCA3MzU1MCwgNzM1NTUsIAotICAgIDczNTYxLCA3MzU2NywgNzM1NzQsIDczNTc5LCA3MzU4NCwgNzM1OTAsIDczNTk0LCA3MzU5OSwgNzM2MDIsIDAsIDAsIDAsIAotICAgIDAsIDczNjA1LCA3MzYxMiwgNzM2MTgsIDczNjI0LCA3MzYzMCwgNzM2MzYsIDczNjQyLCA3MzY0OCwgNzM2NTQsIDczNjYwLCAKLSAgICA3MzY2NiwgNzM2NzIsIDczNjc5LCA3MzY4NiwgNzM2OTMsIDczNjk5LCA3MzcwNiwgNzM3MTMsIDczNzIwLCA3MzcyNywgCi0gICAgNzM3MzQsIDczNzQwLCA3Mzc0NiwgNzM3NTMsIDczNzU5LCA3Mzc2NiwgNzM3NzMsIDczNzc5LCA3Mzc4NSwgNzM3OTIsIAotICAgIDczNzk5LCA3MzgwNiwgNzM4MTIsIDczODE5LCA3MzgyNiwgNzM4MzIsIDczODM5LCA3Mzg0NSwgNzM4NTIsIDczODU5LCAKLSAgICA3Mzg2NSwgNzM4NzEsIDczODc4LCA3Mzg4NCwgNzM4OTEsIDczODk4LCA3MzkwNywgNzM5MTQsIDczOTIxLCA3MzkyNSwgCi0gICAgNzM5MzAsIDczOTM1LCA3Mzk0MCwgNzM5NDUsIDczOTQ5LCA3Mzk1MywgNzM5NTgsIDczOTYyLCA3Mzk2NywgNzM5NzIsIAotICAgIDczOTc3LCA3Mzk4MSwgNzM5ODUsIDczOTkwLCA3Mzk5NCwgNzM5OTksIDc0MDAzLCA3NDAwOCwgNzQwMTMsIDc0MDE4LCAKLSAgICA3NDAyMywgNzQwMjcsIDc0MDMyLCA3NDAzNywgNzQwNDIsIDc0MDQ4LCA3NDA1MywgNzQwNTksIDc0MDY1LCA3NDA3MSwgCi0gICAgNzQwNzcsIDc0MDgzLCA3NDA4OCwgNzQwOTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc0MDk4LCAKLSAgICA3NDEwMywgNzQxMDcsIDc0MTExLCA3NDExNSwgNzQxMTksIDc0MTIzLCA3NDEyNywgNzQxMzEsIDc0MTM1LCA3NDEzOSwgCi0gICAgNzQxNDMsIDc0MTQ3LCA3NDE1MSwgNzQxNTUsIDc0MTU5LCA3NDE2MywgNzQxNjcsIDc0MTcxLCA3NDE3NSwgNzQxNzksIAotICAgIDc0MTgzLCA3NDE4NywgNzQxOTEsIDc0MTk1LCA3NDE5OSwgNzQyMDMsIDc0MjA3LCA3NDIxMSwgNzQyMTUsIDAsIDAsIDAsIAotICAgIDc0MjE5LCA3NDIyMywgNzQyMjcsIDc0MjMxLCA3NDIzNSwgNzQyMzgsIDc0MjQ0LCA3NDI0NywgNzQyNTEsIDc0MjU0LCAKLSAgICA3NDI2MCwgNzQyNjYsIDc0Mjc0LCA3NDI3NywgNzQyODEsIDc0Mjg0LCA3NDI4NywgNzQyOTMsIDc0Mjk5LCA3NDMwMywgCi0gICAgNzQzMDksIDc0MzEzLCA3NDMxNywgNzQzMjMsIDc0MzI3LCA3NDMzMywgNzQzMzksIDc0MzQzLCA3NDM0NywgNzQzNTMsIAotICAgIDc0MzU3LCA3NDM2MywgNzQzNjksIDc0MzczLCA3NDM3OSwgNzQzODMsIDc0Mzg5LCA3NDM5MiwgNzQzOTUsIDc0NDAxLCAKLSAgICA3NDQwNSwgNzQ0MTEsIDc0NDE0LCA3NDQxNywgNzQ0MjAsIDc0NDI2LCA3NDQzMCwgNzQ0MzQsIDc0NDQwLCA3NDQ0NiwgCi0gICAgNzQ0NDksIDc0NDUyLCA3NDQ1OCwgNzQ0NjMsIDc0NDY4LCA3NDQ3MywgNzQ0ODAsIDc0NDg1LCA3NDQ5MiwgNzQ0OTcsIAotICAgIDc0NTA0LCA3NDUwOSwgNzQ1MTQsIDc0NTE5LCA3NDUyNCwgNzQ1MjcsIDc0NTMxLCA3NDUzNSwgNzQ1NDAsIDc0NTQ1LCAKLSAgICA3NDU1MCwgNzQ1NTUsIDc0NTYwLCA3NDU2NSwgNzQ1NzAsIDc0NTc1LCA3NDU4MiwgNzQ1ODcsIDAsIDc0NTk0LCA3NDU5NywgCi0gICAgNzQ2MDEsIDc0NjA0LCA3NDYwNywgNzQ2MTAsIDc0NjEzLCA3NDYxNiwgNzQ2MTksIDc0NjIyLCA3NDYyNSwgMCwgMCwgMCwgCi0gICAgMCwgNzQ2MjgsIDc0NjM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDY0MCwgNzQ2NDMsIDc0NjQ2LCA3NDY0OSwgNzQ2NTIsIAotICAgIDc0NjU2LCA3NDY1OSwgNzQ2NjIsIDc0NjY2LCA3NDY3MCwgNzQ2NzQsIDc0Njc4LCA3NDY4MiwgNzQ2ODYsIDc0NjkwLCAKLSAgICA3NDY5NCwgNzQ2OTgsIDc0NzAyLCA3NDcwNiwgNzQ3MTAsIDc0NzE0LCA3NDcxOCwgNzQ3MjIsIDc0NzI2LCA3NDczMCwgCi0gICAgNzQ3MzMsIDc0NzM3LCA3NDc0MCwgNzQ3NDQsIDc0NzQ4LCA3NDc1MiwgNzQ3NTYsIDc0NzYwLCA3NDc2MywgNzQ3NjcsIAotICAgIDc0NzcwLCA3NDc3MywgNzQ3NzcsIDc0NzgxLCA3NDc4NSwgNzQ3ODgsIDc0NzkxLCA3NDc5NiwgNzQ4MDAsIDc0ODA1LCAKLSAgICA3NDgxMCwgNzQ4MTQsIDc0ODE5LCA3NDgyMywgNzQ4MjgsIDc0ODMzLCA3NDgzOCwgNzQ4NDIsIDc0ODQ2LCA3NDg1MSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQ4NTYsIDc0ODYxLCA3NDg2NiwgNzQ4NzEsIDc0ODc3LCA3NDg4MiwgNzQ4ODcsIAotICAgIDc0ODkyLCA3NDg5NywgNzQ5MDIsIDc0OTA2LCA3NDkxMCwgNzQ5MTUsIDc0OTIwLCAwLCAwLCA3NDkyNiwgNzQ5MzAsIAotICAgIDc0OTMzLCA3NDkzNiwgNzQ5MzksIDc0OTQyLCA3NDk0NSwgNzQ5NDgsIDc0OTUxLCA3NDk1NCwgMCwgMCwgNzQ5NTcsIAotICAgIDc0OTYyLCA3NDk2NywgNzQ5NzMsIDc0OTgwLCA3NDk4NiwgNzQ5OTIsIDc0OTk4LCA3NTAwNCwgNzUwMTAsIDc1MDE2LCAKLSAgICA3NTAyMiwgNzUwMjgsIDc1MDM0LCA3NTA0MCwgNzUwNDYsIDc1MDUxLCA3NTA1NiwgNzUwNjEsIDc1MDY3LCA3NTA3MywgCi0gICAgNzUwODAsIDc1MDg2LCA3NTA5MiwgNzUwOTcsIDc1MTA0LCA3NTExMSwgNzUxMTgsIDc1MTI0LCA3NTEyOSwgNzUxMzQsIAotICAgIDc1MTM5LCAwLCAwLCAwLCAwLCA3NTE0NywgNzUxNTMsIDc1MTU5LCA3NTE2NSwgNzUxNzEsIDc1MTc3LCA3NTE4MywgCi0gICAgNzUxODksIDc1MTk1LCA3NTIwMSwgNzUyMDcsIDc1MjEzLCA3NTIxOSwgNzUyMjUsIDc1MjMxLCA3NTIzNywgNzUyNDMsIAotICAgIDc1MjQ5LCA3NTI1NSwgNzUyNjEsIDc1MjY3LCA3NTI3MiwgNzUyNzcsIDc1MjgzLCA3NTI4OSwgNzUyOTUsIDc1MzAxLCAKLSAgICA3NTMwNywgNzUzMTMsIDc1MzE5LCA3NTMyNSwgNzUzMzEsIDc1MzM3LCA3NTM0MywgNzUzNDksIDc1MzU1LCA3NTM2MSwgCi0gICAgNzUzNjcsIDc1MzczLCA3NTM3OSwgNzUzODUsIDc1MzkxLCA3NTM5NywgNzU0MDMsIDc1NDA5LCA3NTQxNSwgNzU0MjEsIAotICAgIDc1NDI2LCA3NTQzMSwgNzU0MzcsIDc1NDQyLCA3NTQ0NiwgNzU0NTEsIDc1NDU1LCA3NTQ1OSwgNzU0NjMsIDc1NDY5LCAKLSAgICA3NTQ3NCwgNzU0NzksIDc1NDg0LCA3NTQ4OSwgNzU0OTQsIDc1NDk5LCA3NTUwNCwgNzU1MTEsIDc1NTE4LCA3NTUyNSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzI0MzksIAorICAgIDcyNDQ2LCA3MjQ1MiwgNzI0NTksIDcyNDY3LCA3MjQ3NSwgNzI0ODIsIDcyNDkwLCA3MjQ5NywgNzI1MDMsIDcyNTA5LCAKKyAgICA3MjUxNiwgNzI1MjIsIDcyNTI4LCA3MjUzNCwgNzI1NDEsIDcyNTQ4LCA3MjU1NSwgNzI1NjIsIDcyNTY5LCA3MjU3NiwgCisgICAgNzI1ODMsIDcyNTkwLCA3MjU5NywgNzI2MDQsIDcyNjExLCA3MjYxOCwgNzI2MjUsIDcyNjMyLCA3MjYzOCwgNzI2NDUsIAorICAgIDcyNjUyLCA3MjY1OSwgNzI2NjYsIDcyNjczLCA3MjY4MCwgNzI2ODcsIDcyNjk0LCA3MjcwMSwgNzI3MDgsIDcyNzE1LCAKKyAgICA3MjcyMiwgNzI3MjksIDcyNzM2LCA3Mjc0MywgNzI3NTAsIDcyNzU3LCA3Mjc2NCwgNzI3NzIsIDcyNzgwLCA3Mjc4OCwgCisgICAgNzI3OTYsIDAsIDAsIDAsIDAsIDcyODA0LCA3MjgxMywgNzI4MjIsIDcyODMxLCA3Mjg0MCwgNzI4NDksIDcyODU4LCAKKyAgICA3Mjg2NSwgNzI4NzIsIDcyODc5LCAwLCAwLCAwLCAwLCAwLCAwLCA3Mjg4NiwgNzI4OTAsIDcyODk1LCA3MjkwMCwgNzI5MDUsIAorICAgIDcyOTEwLCA3MjkxNSwgNzI5MjAsIDcyOTI1LCA3MjkzMCwgNzI5MzUsIDcyOTQwLCA3Mjk0NCwgNzI5NDgsIDcyOTUzLCAKKyAgICA3Mjk1OCwgNzI5NjIsIDcyOTY3LCA3Mjk3MiwgNzI5NzcsIDcyOTgyLCA3Mjk4NywgNzI5OTIsIDcyOTk3LCA3MzAwMSwgCisgICAgNzMwMDUsIDczMDEwLCA3MzAxNSwgNzMwMTksIDczMDIzLCA3MzAyNywgNzMwMzEsIDczMDM1LCA3MzAzOSwgNzMwNDMsIAorICAgIDczMDQ4LCA3MzA1MywgNzMwNTgsIDczMDYzLCA3MzA2OCwgNzMwNzUsIDczMDgxLCA3MzA4NiwgNzMwOTEsIDczMDk2LCAKKyAgICA3MzEwMSwgNzMxMDcsIDczMTE0LCA3MzEyMCwgNzMxMjcsIDczMTMzLCA3MzEzOSwgNzMxNDQsIDczMTUxLCA3MzE1NywgCisgICAgNzMxNjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDczMTY4LCA3MzE3MiwgNzMxNzYsIDczMTc5LCA3MzE4MywgNzMxODYsIAorICAgIDczMTkwLCA3MzE5MywgNzMxOTcsIDczMjAxLCA3MzIwNiwgNzMyMTAsIDczMjE1LCA3MzIxOCwgNzMyMjIsIDczMjI2LCAKKyAgICA3MzIyOSwgNzMyMzMsIDczMjM3LCA3MzI0MCwgNzMyNDQsIDczMjQ4LCA3MzI1MiwgNzMyNTYsIDczMjYwLCA3MzI2NCwgCisgICAgNzMyNjgsIDczMjcyLCA3MzI3NiwgNzMyODAsIDczMjg0LCA3MzI4OCwgNzMyOTIsIDczMjk2LCA3MzMwMCwgNzMzMDQsIAorICAgIDczMzA4LCA3MzMxMiwgNzMzMTUsIDczMzE4LCA3MzMyMiwgNzMzMjYsIDczMzMwLCA3MzMzMywgNzMzMzYsIDczMzM5LCAKKyAgICA3MzM0MywgNzMzNDcsIDczMzUxLCA3MzM1NSwgNzMzNTgsIDczMzYxLCA3MzM2NSwgNzMzNzAsIDczMzc1LCA3MzM3OSwgCisgICAgNzMzODQsIDczMzg4LCA3MzM5MywgNzMzOTgsIDczNDA0LCA3MzQwOSwgNzM0MTUsIDczNDE5LCA3MzQyNCwgNzM0MjksIAorICAgIDczNDMzLCA3MzQzOCwgNzM0NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDczNDQ3LCA3MzQ1MCwgNzM0NTQsIAorICAgIDczNDU4LCA3MzQ2MSwgNzM0NjQsIDczNDY3LCA3MzQ3MCwgNzM0NzMsIDczNDc2LCA3MzQ3OSwgNzM0ODIsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDczNDg1LCA3MzQ5MCwgNzM0OTQsIDczNDk4LCA3MzUwMiwgNzM1MDYsIDczNTEwLCA3MzUxNCwgNzM1MTgsIAorICAgIDczNTIyLCA3MzUyNiwgNzM1MzAsIDczNTM0LCA3MzUzOCwgNzM1NDIsIDczNTQ2LCA3MzU1MCwgNzM1NTUsIDczNTYwLCAKKyAgICA3MzU2NiwgNzM1NzIsIDczNTc5LCA3MzU4NCwgNzM1ODksIDczNTk1LCA3MzU5OSwgNzM2MDQsIDczNjA3LCAwLCAwLCAwLCAKKyAgICAwLCA3MzYxMCwgNzM2MTcsIDczNjIzLCA3MzYyOSwgNzM2MzUsIDczNjQxLCA3MzY0NywgNzM2NTMsIDczNjU5LCA3MzY2NSwgCisgICAgNzM2NzEsIDczNjc3LCA3MzY4NCwgNzM2OTEsIDczNjk4LCA3MzcwNCwgNzM3MTEsIDczNzE4LCA3MzcyNSwgNzM3MzIsIAorICAgIDczNzM5LCA3Mzc0NSwgNzM3NTEsIDczNzU4LCA3Mzc2NCwgNzM3NzEsIDczNzc4LCA3Mzc4NCwgNzM3OTAsIDczNzk3LCAKKyAgICA3MzgwNCwgNzM4MTEsIDczODE3LCA3MzgyNCwgNzM4MzEsIDczODM3LCA3Mzg0NCwgNzM4NTAsIDczODU3LCA3Mzg2NCwgCisgICAgNzM4NzAsIDczODc2LCA3Mzg4MywgNzM4ODksIDczODk2LCA3MzkwMywgNzM5MTIsIDczOTE5LCA3MzkyNiwgNzM5MzAsIAorICAgIDczOTM1LCA3Mzk0MCwgNzM5NDUsIDczOTUwLCA3Mzk1NCwgNzM5NTgsIDczOTYzLCA3Mzk2NywgNzM5NzIsIDczOTc3LCAKKyAgICA3Mzk4MiwgNzM5ODYsIDczOTkwLCA3Mzk5NSwgNzM5OTksIDc0MDA0LCA3NDAwOCwgNzQwMTMsIDc0MDE4LCA3NDAyMywgCisgICAgNzQwMjgsIDc0MDMyLCA3NDAzNywgNzQwNDIsIDc0MDQ3LCA3NDA1MywgNzQwNTgsIDc0MDY0LCA3NDA3MCwgNzQwNzYsIAorICAgIDc0MDgyLCA3NDA4OCwgNzQwOTMsIDc0MDk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDEwMywgCisgICAgNzQxMDgsIDc0MTEyLCA3NDExNiwgNzQxMjAsIDc0MTI0LCA3NDEyOCwgNzQxMzIsIDc0MTM2LCA3NDE0MCwgNzQxNDQsIAorICAgIDc0MTQ4LCA3NDE1MiwgNzQxNTYsIDc0MTYwLCA3NDE2NCwgNzQxNjgsIDc0MTcyLCA3NDE3NiwgNzQxODAsIDc0MTg0LCAKKyAgICA3NDE4OCwgNzQxOTIsIDc0MTk2LCA3NDIwMCwgNzQyMDQsIDc0MjA4LCA3NDIxMiwgNzQyMTYsIDc0MjIwLCAwLCAwLCAwLCAKKyAgICA3NDIyNCwgNzQyMjgsIDc0MjMyLCA3NDIzNiwgNzQyNDAsIDc0MjQzLCA3NDI0OSwgNzQyNTIsIDc0MjU2LCA3NDI1OSwgCisgICAgNzQyNjUsIDc0MjcxLCA3NDI3OSwgNzQyODIsIDc0Mjg2LCA3NDI4OSwgNzQyOTIsIDc0Mjk4LCA3NDMwNCwgNzQzMDgsIAorICAgIDc0MzE0LCA3NDMxOCwgNzQzMjIsIDc0MzI4LCA3NDMzMiwgNzQzMzgsIDc0MzQ0LCA3NDM0OCwgNzQzNTIsIDc0MzU4LCAKKyAgICA3NDM2MiwgNzQzNjgsIDc0Mzc0LCA3NDM3OCwgNzQzODQsIDc0Mzg4LCA3NDM5NCwgNzQzOTcsIDc0NDAwLCA3NDQwNiwgCisgICAgNzQ0MTAsIDc0NDE2LCA3NDQxOSwgNzQ0MjIsIDc0NDI1LCA3NDQzMSwgNzQ0MzUsIDc0NDM5LCA3NDQ0NSwgNzQ0NTEsIAorICAgIDc0NDU0LCA3NDQ1NywgNzQ0NjMsIDc0NDY4LCA3NDQ3MywgNzQ0NzgsIDc0NDg1LCA3NDQ5MCwgNzQ0OTcsIDc0NTAyLCAKKyAgICA3NDUwOSwgNzQ1MTQsIDc0NTE5LCA3NDUyNCwgNzQ1MjksIDc0NTMyLCA3NDUzNiwgNzQ1NDAsIDc0NTQ1LCA3NDU1MCwgCisgICAgNzQ1NTUsIDc0NTYwLCA3NDU2NSwgNzQ1NzAsIDc0NTc1LCA3NDU4MCwgNzQ1ODcsIDc0NTkyLCAwLCA3NDU5OSwgNzQ2MDIsIAorICAgIDc0NjA2LCA3NDYwOSwgNzQ2MTIsIDc0NjE1LCA3NDYxOCwgNzQ2MjEsIDc0NjI0LCA3NDYyNywgNzQ2MzAsIDAsIDAsIDAsIAorICAgIDAsIDc0NjMzLCA3NDY0MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQ2NDUsIDc0NjQ4LCA3NDY1MSwgNzQ2NTQsIDc0NjU3LCAKKyAgICA3NDY2MSwgNzQ2NjQsIDc0NjY3LCA3NDY3MSwgNzQ2NzUsIDc0Njc5LCA3NDY4MywgNzQ2ODcsIDc0NjkxLCA3NDY5NSwgCisgICAgNzQ2OTksIDc0NzAzLCA3NDcwNywgNzQ3MTEsIDc0NzE1LCA3NDcxOSwgNzQ3MjMsIDc0NzI3LCA3NDczMSwgNzQ3MzUsIAorICAgIDc0NzM4LCA3NDc0MiwgNzQ3NDUsIDc0NzQ5LCA3NDc1MywgNzQ3NTcsIDc0NzYxLCA3NDc2NSwgNzQ3NjgsIDc0NzcyLCAKKyAgICA3NDc3NSwgNzQ3NzgsIDc0NzgyLCA3NDc4NiwgNzQ3OTAsIDc0NzkzLCA3NDc5NiwgNzQ4MDEsIDc0ODA1LCA3NDgxMCwgCisgICAgNzQ4MTUsIDc0ODE5LCA3NDgyNCwgNzQ4MjgsIDc0ODMzLCA3NDgzOCwgNzQ4NDMsIDc0ODQ3LCA3NDg1MSwgNzQ4NTYsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc0ODYxLCA3NDg2NiwgNzQ4NzEsIDc0ODc2LCA3NDg4MiwgNzQ4ODcsIDc0ODkyLCAKKyAgICA3NDg5NywgNzQ5MDIsIDc0OTA3LCA3NDkxMSwgNzQ5MTUsIDc0OTIwLCA3NDkyNSwgMCwgMCwgNzQ5MzEsIDc0OTM1LCAKKyAgICA3NDkzOCwgNzQ5NDEsIDc0OTQ0LCA3NDk0NywgNzQ5NTAsIDc0OTUzLCA3NDk1NiwgNzQ5NTksIDAsIDAsIDc0OTYyLCAKKyAgICA3NDk2NywgNzQ5NzIsIDc0OTc4LCA3NDk4NSwgNzQ5OTEsIDc0OTk3LCA3NTAwMywgNzUwMDksIDc1MDE1LCA3NTAyMSwgCisgICAgNzUwMjcsIDc1MDMzLCA3NTAzOSwgNzUwNDUsIDc1MDUxLCA3NTA1NiwgNzUwNjEsIDc1MDY2LCA3NTA3MiwgNzUwNzgsIAorICAgIDc1MDg1LCA3NTA5MSwgNzUwOTcsIDc1MTAyLCA3NTEwOSwgNzUxMTYsIDc1MTIzLCA3NTEyOSwgNzUxMzQsIDc1MTM5LCAKKyAgICA3NTE0NCwgMCwgMCwgMCwgMCwgNzUxNTIsIDc1MTU4LCA3NTE2NCwgNzUxNzAsIDc1MTc2LCA3NTE4MiwgNzUxODgsIAorICAgIDc1MTk0LCA3NTIwMCwgNzUyMDYsIDc1MjEyLCA3NTIxOCwgNzUyMjQsIDc1MjMwLCA3NTIzNiwgNzUyNDIsIDc1MjQ4LCAKKyAgICA3NTI1NCwgNzUyNjAsIDc1MjY2LCA3NTI3MiwgNzUyNzcsIDc1MjgyLCA3NTI4OCwgNzUyOTQsIDc1MzAwLCA3NTMwNiwgCisgICAgNzUzMTIsIDc1MzE4LCA3NTMyNCwgNzUzMzAsIDc1MzM2LCA3NTM0MiwgNzUzNDgsIDc1MzU0LCA3NTM2MCwgNzUzNjYsIAorICAgIDc1MzcyLCA3NTM3OCwgNzUzODQsIDc1MzkwLCA3NTM5NiwgNzU0MDIsIDc1NDA4LCA3NTQxNCwgNzU0MjAsIDc1NDI2LCAKKyAgICA3NTQzMSwgNzU0MzYsIDc1NDQyLCA3NTQ0NywgNzU0NTEsIDc1NDU2LCA3NTQ2MCwgNzU0NjQsIDc1NDY4LCA3NTQ3NCwgCisgICAgNzU0NzksIDc1NDg0LCA3NTQ4OSwgNzU0OTQsIDc1NDk5LCA3NTUwNCwgNzU1MDksIDc1NTE2LCA3NTUyMywgNzU1MzAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDc1NTMyLCA3NTUzNywgNzU1NDIsIDc1NTQ3LCA3NTU1NCwgNzU1NjEsIDc1NTY1LCA3NTU2OSwgNzU1NzQsIDc1NTc5LCAKLSAgICA3NTU4NCwgNzU1ODksIDc1NTk0LCA3NTU5OSwgNzU2MDQsIDc1NjA5LCA3NTYxNCwgNzU2MjAsIDc1NjI2LCA3NTYzMiwgCi0gICAgNzU2MzgsIDc1NjQ0LCA3NTY0OCwgNzU2NTQsIDc1NjU4LCA3NTY2NCwgNzU2NzEsIDc1Njc3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA3NTY4MSwgNzU2ODUsIDc1Njg5LCA3NTY5MywgNzU2OTcsIDc1NzAxLCAwLCAwLCA3NTcwNSwgNzU3MDksIAotICAgIDc1NzEzLCA3NTcxNywgNzU3MjEsIDc1NzI1LCAwLCAwLCA3NTcyOSwgNzU3MzMsIDc1NzM3LCA3NTc0MSwgNzU3NDUsIAotICAgIDc1NzQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTc1MywgNzU3NTcsIDc1NzYxLCA3NTc2NSwgNzU3NjksIAotICAgIDc1NzczLCA3NTc3NywgMCwgNzU3ODEsIDc1Nzg1LCA3NTc4OSwgNzU3OTMsIDc1Nzk3LCA3NTgwMSwgNzU4MDUsIDAsIDAsIAorICAgIDc1NTM3LCA3NTU0MiwgNzU1NDcsIDc1NTUyLCA3NTU1OSwgNzU1NjYsIDc1NTcwLCA3NTU3NCwgNzU1NzksIDc1NTg0LCAKKyAgICA3NTU4OSwgNzU1OTQsIDc1NTk5LCA3NTYwNCwgNzU2MDksIDc1NjE0LCA3NTYxOSwgNzU2MjUsIDc1NjMxLCA3NTYzNywgCisgICAgNzU2NDMsIDc1NjQ5LCA3NTY1MywgNzU2NTksIDc1NjYzLCA3NTY2OSwgNzU2NzYsIDc1NjgyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA3NTY4NiwgNzU2OTAsIDc1Njk0LCA3NTY5OCwgNzU3MDIsIDc1NzA2LCAwLCAwLCA3NTcxMCwgNzU3MTQsIAorICAgIDc1NzE4LCA3NTcyMiwgNzU3MjYsIDc1NzMwLCAwLCAwLCA3NTczNCwgNzU3MzgsIDc1NzQyLCA3NTc0NiwgNzU3NTAsIAorICAgIDc1NzU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTc1OCwgNzU3NjIsIDc1NzY2LCA3NTc3MCwgNzU3NzQsIAorICAgIDc1Nzc4LCA3NTc4MiwgMCwgNzU3ODYsIDc1NzkwLCA3NTc5NCwgNzU3OTgsIDc1ODAyLCA3NTgwNiwgNzU4MTAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDc1ODA5LCA3NTgxNCwgNzU4MTksIDc1ODI0LCA3NTgyOSwgNzU4MzMsIDc1ODM3LCA3NTg0MiwgNzU4NDcsIDc1ODUyLCAKLSAgICA3NTg1NywgNzU4NjIsIDc1ODY3LCA3NTg3MiwgNzU4NzcsIDc1ODgyLCA3NTg4NiwgNzU4OTEsIDc1ODk2LCA3NTkwMSwgCi0gICAgNzU5MDYsIDc1OTExLCA3NTkxNiwgNzU5MjEsIDc1OTI2LCA3NTkzMSwgNzU5MzYsIDc1OTQxLCA3NTk0OCwgNzU5NTUsIAotICAgIDc1OTYyLCA3NTk2OSwgNzU5NzYsIDc1OTgzLCA3NTk5MCwgNzU5OTcsIDc2MDAzLCA3NjAwOSwgNzYwMTUsIDc2MDIxLCAKLSAgICA3NjAyNywgNzYwMzMsIDc2MDM5LCA3NjA0NSwgNzYwNDksIDc2MDU1LCAwLCAwLCA3NjA2MSwgNzYwNjYsIDc2MDcwLCAKLSAgICA3NjA3NCwgNzYwNzgsIDc2MDgyLCA3NjA4NiwgNzYwOTAsIDc2MDk0LCA3NjA5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNzU4MTQsIDc1ODE5LCA3NTgyNCwgNzU4MjksIDc1ODM0LCA3NTgzOCwgNzU4NDIsIDc1ODQ3LCA3NTg1MiwgNzU4NTcsIAorICAgIDc1ODYyLCA3NTg2NywgNzU4NzIsIDc1ODc3LCA3NTg4MiwgNzU4ODcsIDc1ODkxLCA3NTg5NiwgNzU5MDEsIDc1OTA2LCAKKyAgICA3NTkxMSwgNzU5MTYsIDc1OTIxLCA3NTkyNiwgNzU5MzEsIDc1OTM2LCA3NTk0MSwgNzU5NDYsIDc1OTUzLCA3NTk2MCwgCisgICAgNzU5NjcsIDc1OTc0LCA3NTk4MSwgNzU5ODgsIDc1OTk1LCA3NjAwMiwgNzYwMDgsIDc2MDE0LCA3NjAyMCwgNzYwMjYsIAorICAgIDc2MDMyLCA3NjAzOCwgNzYwNDQsIDc2MDUwLCA3NjA1NCwgNzYwNjAsIDAsIDAsIDc2MDY2LCA3NjA3MSwgNzYwNzUsIAorICAgIDc2MDc5LCA3NjA4MywgNzYwODcsIDc2MDkxLCA3NjA5NSwgNzYwOTksIDc2MTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NjEwMiwgCi0gICAgNzYxMDYsIDc2MTEwLCA3NjExNCwgNzYxMTgsIDc2MTIyLCA3NjEyNiwgNzYxMzAsIDc2MTM0LCA3NjEzOCwgNzYxNDIsIAotICAgIDc2MTQ2LCA3NjE1MCwgNzYxNTQsIDc2MTU4LCA3NjE2MiwgNzYxNjYsIDc2MTcwLCA3NjE3NCwgNzYxNzgsIDc2MTgyLCAKLSAgICA3NjE4NiwgNzYxOTAsIDAsIDAsIDAsIDAsIDc2MTk0LCA3NjE5OCwgNzYyMDIsIDc2MjA2LCA3NjIxMCwgNzYyMTQsIAotICAgIDc2MjE4LCA3NjIyMiwgNzYyMjYsIDc2MjMwLCA3NjIzNCwgNzYyMzgsIDc2MjQyLCA3NjI0NiwgNzYyNTAsIDc2MjU0LCAKLSAgICA3NjI1OCwgNzYyNjIsIDc2MjY2LCA3NjI3MCwgNzYyNzQsIDc2Mjc4LCA3NjI4MiwgNzYyODYsIDc2MjkwLCA3NjI5NCwgCi0gICAgNzYyOTgsIDc2MzAyLCA3NjMwNiwgNzYzMTAsIDc2MzE0LCA3NjMxOCwgNzYzMjIsIDc2MzI2LCA3NjMzMCwgNzYzMzQsIAotICAgIDc2MzM4LCA3NjM0MiwgNzYzNDYsIDc2MzUwLCA3NjM1NCwgNzYzNTgsIDc2MzYyLCA3NjM2NiwgNzYzNzAsIDc2Mzc0LCAKLSAgICA3NjM3OCwgNzYzODIsIDc2Mzg2LCAwLCAwLCAwLCAwLCA3NjM5MCwgNzYzOTQsIDc2Mzk4LCA3NjQwMiwgNzY0MDYsIAotICAgIDc2NDEwLCA3NjQxNCwgNzY0MTgsIDc2NDIyLCA3NjQyNiwgNzY0MzAsIDc2NDM0LCA3NjQzOCwgNzY0NDIsIDc2NDQ2LCAKLSAgICA3NjQ1MCwgNzY0NTQsIDc2NDU4LCA3NjQ2MiwgNzY0NjYsIDc2NDcwLCA3NjQ3NCwgNzY0NzgsIDc2NDgyLCA3NjQ4NiwgCi0gICAgNzY0OTAsIDc2NDk0LCA3NjQ5OCwgNzY1MDIsIDc2NTA2LCA3NjUxMCwgNzY1MTQsIDc2NTE4LCA3NjUyMiwgNzY1MjYsIAotICAgIDc2NTMwLCA3NjUzNCwgNzY1MzgsIDc2NTQyLCA3NjU0NiwgNzY1NTAsIDc2NTU0LCA3NjU1OCwgNzY1NjIsIDc2NTY2LCAKLSAgICA3NjU3MCwgNzY1NzQsIDc2NTc4LCA3NjU4MiwgNzY1ODYsIDc2NTkwLCA3NjU5NCwgNzY1OTgsIDc2NjAyLCA3NjYwNiwgCi0gICAgNzY2MTAsIDc2NjE0LCA3NjYxOCwgNzY2MjIsIDc2NjI2LCA3NjYzMCwgNzY2MzQsIDc2NjM4LCA3NjY0MiwgNzY2NDYsIAotICAgIDc2NjUwLCA3NjY1NCwgNzY2NTgsIDc2NjYyLCA3NjY2NiwgNzY2NzAsIDc2Njc0LCA3NjY3OCwgNzY2ODIsIDc2Njg2LCAKLSAgICA3NjY5MCwgNzY2OTQsIDc2Njk4LCA3NjcwMiwgNzY3MDYsIDc2NzEwLCA3NjcxNCwgNzY3MTgsIDc2NzIyLCA3NjcyNiwgCi0gICAgNzY3MzAsIDc2NzM0LCA3NjczOCwgNzY3NDIsIDc2NzQ2LCA3Njc1MCwgNzY3NTQsIDc2NzU4LCA3Njc2MiwgNzY3NjYsIAotICAgIDc2NzcwLCA3Njc3NCwgNzY3NzgsIDc2NzgyLCA3Njc4NiwgNzY3OTAsIDc2Nzk0LCA3Njc5OCwgNzY4MDIsIDc2ODA2LCAKLSAgICA3NjgxMCwgNzY4MTQsIDc2ODE4LCA3NjgyMiwgNzY4MjYsIDc2ODMwLCA3NjgzNCwgNzY4MzgsIDc2ODQyLCA3Njg0NiwgCi0gICAgNzY4NTAsIDc2ODU0LCA3Njg1OCwgNzY4NjIsIDc2ODY2LCA3Njg3MCwgNzY4NzQsIDc2ODc4LCA3Njg4MiwgNzY4ODYsIAotICAgIDc2ODkwLCA3Njg5NCwgNzY4OTgsIDc2OTAyLCA3NjkwNiwgNzY5MTAsIDc2OTE0LCA3NjkxOCwgNzY5MjIsIDc2OTI2LCAKLSAgICA3NjkzMCwgNzY5MzQsIDc2OTM4LCA3Njk0MiwgNzY5NDYsIDc2OTUwLCA3Njk1NCwgNzY5NTgsIDc2OTYyLCA3Njk2NiwgCi0gICAgNzY5NzAsIDc2OTc0LCA3Njk3OCwgNzY5ODIsIDc2OTg2LCA3Njk5MCwgNzY5OTQsIDc2OTk4LCA3NzAwMiwgNzcwMDYsIAotICAgIDc3MDEwLCA3NzAxNCwgNzcwMTgsIDc3MDIyLCA3NzAyNiwgNzcwMzAsIDc3MDM0LCA3NzAzOCwgNzcwNDIsIDc3MDQ2LCAKLSAgICA3NzA1MCwgNzcwNTQsIDc3MDU4LCA3NzA2MiwgNzcwNjYsIDc3MDcwLCA3NzA3NCwgNzcwNzgsIDc3MDgyLCA3NzA4NiwgCi0gICAgNzcwOTAsIDc3MDk0LCA3NzA5OCwgNzcxMDIsIDc3MTA2LCA3NzExMCwgNzcxMTQsIDc3MTE4LCA3NzEyMiwgNzcxMjYsIAotICAgIDc3MTMwLCA3NzEzNCwgNzcxMzgsIDc3MTQyLCA3NzE0NiwgNzcxNTAsIDc3MTU0LCA3NzE1OCwgNzcxNjIsIDc3MTY2LCAKLSAgICA3NzE3MCwgNzcxNzQsIDc3MTc4LCA3NzE4MiwgNzcxODYsIDc3MTkwLCA3NzE5NCwgNzcxOTgsIDc3MjAyLCA3NzIwNiwgCi0gICAgNzcyMTAsIDc3MjE0LCA3NzIxOCwgNzcyMjIsIDc3MjI2LCA3NzIzMCwgNzcyMzQsIDc3MjM4LCA3NzI0MiwgNzcyNDYsIAotICAgIDc3MjUwLCA3NzI1NCwgNzcyNTgsIDc3MjYyLCA3NzI2NiwgNzcyNzAsIDc3Mjc0LCA3NzI3OCwgNzcyODIsIDc3Mjg2LCAKLSAgICA3NzI5MCwgNzcyOTQsIDc3Mjk4LCA3NzMwMiwgNzczMDYsIDc3MzEwLCA3NzMxNCwgNzczMTgsIDc3MzIyLCA3NzMyNiwgCi0gICAgNzczMzAsIDc3MzM0LCA3NzMzOCwgNzczNDIsIDc3MzQ2LCA3NzM1MCwgNzczNTQsIDc3MzU4LCA3NzM2MiwgNzczNjYsIAotICAgIDc3MzcwLCA3NzM3NCwgNzczNzgsIDc3MzgyLCA3NzM4NiwgNzczOTAsIDc3Mzk0LCA3NzM5OCwgNzc0MDIsIDc3NDA2LCAKLSAgICA3NzQxMCwgNzc0MTQsIDc3NDE4LCA3NzQyMiwgNzc0MjYsIDc3NDMwLCA3NzQzNCwgNzc0MzgsIDc3NDQyLCA3NzQ0NiwgCi0gICAgNzc0NTAsIDc3NDU0LCA3NzQ1OCwgNzc0NjIsIDc3NDY2LCA3NzQ3MCwgNzc0NzQsIDc3NDc4LCA3NzQ4MiwgNzc0ODYsIAotICAgIDc3NDkwLCA3NzQ5NCwgNzc0OTgsIDc3NTAyLCA3NzUwNiwgNzc1MTAsIDc3NTE0LCA3NzUxOCwgNzc1MjIsIDc3NTI2LCAKLSAgICA3NzUzMCwgNzc1MzQsIDc3NTM4LCA3NzU0MiwgNzc1NDYsIDc3NTUwLCA3NzU1NCwgNzc1NTgsIDc3NTYyLCA3NzU2NiwgCi0gICAgNzc1NzAsIDc3NTc0LCA3NzU3OCwgNzc1ODIsIDc3NTg2LCA3NzU5MCwgNzc1OTQsIDc3NTk4LCA3NzYwMiwgNzc2MDYsIAotICAgIDc3NjEwLCA3NzYxNCwgNzc2MTgsIDc3NjIyLCA3NzYyNiwgNzc2MzAsIDc3NjM0LCA3NzYzOCwgNzc2NDIsIDc3NjQ2LCAKLSAgICA3NzY1MCwgNzc2NTQsIDc3NjU4LCA3NzY2MiwgNzc2NjYsIDc3NjcwLCA3NzY3NCwgNzc2NzgsIDc3NjgyLCA3NzY4NiwgCi0gICAgNzc2OTAsIDc3Njk0LCA3NzY5OCwgNzc3MDIsIDc3NzA2LCA3NzcxMCwgNzc3MTQsIDc3NzE4LCA3NzcyMiwgNzc3MjYsIAotICAgIDc3NzMwLCA3NzczNCwgNzc3MzgsIDc3NzQyLCA3Nzc0NiwgNzc3NTAsIDc3NzU0LCA3Nzc1OCwgNzc3NjIsIDc3NzY2LCAKLSAgICA3Nzc3MCwgNzc3NzQsIDc3Nzc4LCA3Nzc4MiwgNzc3ODYsIDc3NzkwLCA3Nzc5NCwgNzc3OTgsIDc3ODAyLCA3NzgwNiwgCi0gICAgNzc4MTAsIDc3ODE0LCA3NzgxOCwgNzc4MjIsIDc3ODI2LCA3NzgzMCwgNzc4MzQsIDc3ODM4LCA3Nzg0MiwgNzc4NDYsIAotICAgIDc3ODUwLCAwLCAwLCA3Nzg1NCwgNzc4NTgsIDc3ODYyLCA3Nzg2NiwgNzc4NzAsIDc3ODc0LCA3Nzg3OCwgNzc4ODIsIAotICAgIDc3ODg2LCA3Nzg5MCwgNzc4OTQsIDc3ODk4LCA3NzkwMiwgNzc5MDYsIDc3OTEwLCA3NzkxNCwgNzc5MTgsIDc3OTIyLCAKLSAgICA3NzkyNiwgNzc5MzAsIDc3OTM0LCA3NzkzOCwgNzc5NDIsIDc3OTQ2LCA3Nzk1MCwgNzc5NTQsIDc3OTU4LCA3Nzk2MiwgCi0gICAgNzc5NjYsIDc3OTcwLCA3Nzk3NCwgNzc5NzgsIDc3OTgyLCA3Nzk4NiwgNzc5OTAsIDc3OTk0LCA3Nzk5OCwgNzgwMDIsIAotICAgIDc4MDA2LCA3ODAxMCwgNzgwMTQsIDc4MDE4LCA3ODAyMiwgNzgwMjYsIDc4MDMwLCA3ODAzNCwgNzgwMzgsIDc4MDQyLCAKLSAgICA3ODA0NiwgNzgwNTAsIDc4MDU0LCA3ODA1OCwgNzgwNjIsIDc4MDY2LCA3ODA3MCwgNzgwNzQsIDc4MDc4LCA3ODA4MiwgCi0gICAgNzgwODYsIDc4MDkwLCA3ODA5NCwgNzgwOTgsIDc4MTAyLCA3ODEwNiwgNzgxMTAsIDc4MTE0LCA3ODExOCwgNzgxMjIsIAotICAgIDc4MTI2LCA3ODEzMCwgNzgxMzQsIDc4MTM4LCA3ODE0MiwgNzgxNDYsIDc4MTUwLCA3ODE1NCwgNzgxNTgsIDc4MTYyLCAKLSAgICA3ODE2NiwgNzgxNzAsIDc4MTc0LCA3ODE3OCwgNzgxODIsIDc4MTg2LCA3ODE5MCwgNzgxOTQsIDc4MTk4LCA3ODIwMiwgCi0gICAgNzgyMDYsIDc4MjEwLCA3ODIxNCwgNzgyMTgsIDc4MjIyLCA3ODIyNiwgNzgyMzAsIDc4MjM0LCA3ODIzOCwgNzgyNDIsIAotICAgIDc4MjQ2LCA3ODI1MCwgNzgyNTQsIDc4MjU4LCA3ODI2MiwgNzgyNjYsIDc4MjcwLCA3ODI3NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzYxMDcsIAorICAgIDc2MTExLCA3NjExNSwgNzYxMTksIDc2MTIzLCA3NjEyNywgNzYxMzEsIDc2MTM1LCA3NjEzOSwgNzYxNDMsIDc2MTQ3LCAKKyAgICA3NjE1MSwgNzYxNTUsIDc2MTU5LCA3NjE2MywgNzYxNjcsIDc2MTcxLCA3NjE3NSwgNzYxNzksIDc2MTgzLCA3NjE4NywgCisgICAgNzYxOTEsIDc2MTk1LCAwLCAwLCAwLCAwLCA3NjE5OSwgNzYyMDMsIDc2MjA3LCA3NjIxMSwgNzYyMTUsIDc2MjE5LCAKKyAgICA3NjIyMywgNzYyMjcsIDc2MjMxLCA3NjIzNSwgNzYyMzksIDc2MjQzLCA3NjI0NywgNzYyNTEsIDc2MjU1LCA3NjI1OSwgCisgICAgNzYyNjMsIDc2MjY3LCA3NjI3MSwgNzYyNzUsIDc2Mjc5LCA3NjI4MywgNzYyODcsIDc2MjkxLCA3NjI5NSwgNzYyOTksIAorICAgIDc2MzAzLCA3NjMwNywgNzYzMTEsIDc2MzE1LCA3NjMxOSwgNzYzMjMsIDc2MzI3LCA3NjMzMSwgNzYzMzUsIDc2MzM5LCAKKyAgICA3NjM0MywgNzYzNDcsIDc2MzUxLCA3NjM1NSwgNzYzNTksIDc2MzYzLCA3NjM2NywgNzYzNzEsIDc2Mzc1LCA3NjM3OSwgCisgICAgNzYzODMsIDc2Mzg3LCA3NjM5MSwgMCwgMCwgMCwgMCwgNzYzOTUsIDc2Mzk5LCA3NjQwMywgNzY0MDcsIDc2NDExLCAKKyAgICA3NjQxNSwgNzY0MTksIDc2NDIzLCA3NjQyNywgNzY0MzEsIDc2NDM1LCA3NjQzOSwgNzY0NDMsIDc2NDQ3LCA3NjQ1MSwgCisgICAgNzY0NTUsIDc2NDU5LCA3NjQ2MywgNzY0NjcsIDc2NDcxLCA3NjQ3NSwgNzY0NzksIDc2NDgzLCA3NjQ4NywgNzY0OTEsIAorICAgIDc2NDk1LCA3NjQ5OSwgNzY1MDMsIDc2NTA3LCA3NjUxMSwgNzY1MTUsIDc2NTE5LCA3NjUyMywgNzY1MjcsIDc2NTMxLCAKKyAgICA3NjUzNSwgNzY1MzksIDc2NTQzLCA3NjU0NywgNzY1NTEsIDc2NTU1LCA3NjU1OSwgNzY1NjMsIDc2NTY3LCA3NjU3MSwgCisgICAgNzY1NzUsIDc2NTc5LCA3NjU4MywgNzY1ODcsIDc2NTkxLCA3NjU5NSwgNzY1OTksIDc2NjAzLCA3NjYwNywgNzY2MTEsIAorICAgIDc2NjE1LCA3NjYxOSwgNzY2MjMsIDc2NjI3LCA3NjYzMSwgNzY2MzUsIDc2NjM5LCA3NjY0MywgNzY2NDcsIDc2NjUxLCAKKyAgICA3NjY1NSwgNzY2NTksIDc2NjYzLCA3NjY2NywgNzY2NzEsIDc2Njc1LCA3NjY3OSwgNzY2ODMsIDc2Njg3LCA3NjY5MSwgCisgICAgNzY2OTUsIDc2Njk5LCA3NjcwMywgNzY3MDcsIDc2NzExLCA3NjcxNSwgNzY3MTksIDc2NzIzLCA3NjcyNywgNzY3MzEsIAorICAgIDc2NzM1LCA3NjczOSwgNzY3NDMsIDc2NzQ3LCA3Njc1MSwgNzY3NTUsIDc2NzU5LCA3Njc2MywgNzY3NjcsIDc2NzcxLCAKKyAgICA3Njc3NSwgNzY3NzksIDc2NzgzLCA3Njc4NywgNzY3OTEsIDc2Nzk1LCA3Njc5OSwgNzY4MDMsIDc2ODA3LCA3NjgxMSwgCisgICAgNzY4MTUsIDc2ODE5LCA3NjgyMywgNzY4MjcsIDc2ODMxLCA3NjgzNSwgNzY4MzksIDc2ODQzLCA3Njg0NywgNzY4NTEsIAorICAgIDc2ODU1LCA3Njg1OSwgNzY4NjMsIDc2ODY3LCA3Njg3MSwgNzY4NzUsIDc2ODc5LCA3Njg4MywgNzY4ODcsIDc2ODkxLCAKKyAgICA3Njg5NSwgNzY4OTksIDc2OTAzLCA3NjkwNywgNzY5MTEsIDc2OTE1LCA3NjkxOSwgNzY5MjMsIDc2OTI3LCA3NjkzMSwgCisgICAgNzY5MzUsIDc2OTM5LCA3Njk0MywgNzY5NDcsIDc2OTUxLCA3Njk1NSwgNzY5NTksIDc2OTYzLCA3Njk2NywgNzY5NzEsIAorICAgIDc2OTc1LCA3Njk3OSwgNzY5ODMsIDc2OTg3LCA3Njk5MSwgNzY5OTUsIDc2OTk5LCA3NzAwMywgNzcwMDcsIDc3MDExLCAKKyAgICA3NzAxNSwgNzcwMTksIDc3MDIzLCA3NzAyNywgNzcwMzEsIDc3MDM1LCA3NzAzOSwgNzcwNDMsIDc3MDQ3LCA3NzA1MSwgCisgICAgNzcwNTUsIDc3MDU5LCA3NzA2MywgNzcwNjcsIDc3MDcxLCA3NzA3NSwgNzcwNzksIDc3MDgzLCA3NzA4NywgNzcwOTEsIAorICAgIDc3MDk1LCA3NzA5OSwgNzcxMDMsIDc3MTA3LCA3NzExMSwgNzcxMTUsIDc3MTE5LCA3NzEyMywgNzcxMjcsIDc3MTMxLCAKKyAgICA3NzEzNSwgNzcxMzksIDc3MTQzLCA3NzE0NywgNzcxNTEsIDc3MTU1LCA3NzE1OSwgNzcxNjMsIDc3MTY3LCA3NzE3MSwgCisgICAgNzcxNzUsIDc3MTc5LCA3NzE4MywgNzcxODcsIDc3MTkxLCA3NzE5NSwgNzcxOTksIDc3MjAzLCA3NzIwNywgNzcyMTEsIAorICAgIDc3MjE1LCA3NzIxOSwgNzcyMjMsIDc3MjI3LCA3NzIzMSwgNzcyMzUsIDc3MjM5LCA3NzI0MywgNzcyNDcsIDc3MjUxLCAKKyAgICA3NzI1NSwgNzcyNTksIDc3MjYzLCA3NzI2NywgNzcyNzEsIDc3Mjc1LCA3NzI3OSwgNzcyODMsIDc3Mjg3LCA3NzI5MSwgCisgICAgNzcyOTUsIDc3Mjk5LCA3NzMwMywgNzczMDcsIDc3MzExLCA3NzMxNSwgNzczMTksIDc3MzIzLCA3NzMyNywgNzczMzEsIAorICAgIDc3MzM1LCA3NzMzOSwgNzczNDMsIDc3MzQ3LCA3NzM1MSwgNzczNTUsIDc3MzU5LCA3NzM2MywgNzczNjcsIDc3MzcxLCAKKyAgICA3NzM3NSwgNzczNzksIDc3MzgzLCA3NzM4NywgNzczOTEsIDc3Mzk1LCA3NzM5OSwgNzc0MDMsIDc3NDA3LCA3NzQxMSwgCisgICAgNzc0MTUsIDc3NDE5LCA3NzQyMywgNzc0MjcsIDc3NDMxLCA3NzQzNSwgNzc0MzksIDc3NDQzLCA3NzQ0NywgNzc0NTEsIAorICAgIDc3NDU1LCA3NzQ1OSwgNzc0NjMsIDc3NDY3LCA3NzQ3MSwgNzc0NzUsIDc3NDc5LCA3NzQ4MywgNzc0ODcsIDc3NDkxLCAKKyAgICA3NzQ5NSwgNzc0OTksIDc3NTAzLCA3NzUwNywgNzc1MTEsIDc3NTE1LCA3NzUxOSwgNzc1MjMsIDc3NTI3LCA3NzUzMSwgCisgICAgNzc1MzUsIDc3NTM5LCA3NzU0MywgNzc1NDcsIDc3NTUxLCA3NzU1NSwgNzc1NTksIDc3NTYzLCA3NzU2NywgNzc1NzEsIAorICAgIDc3NTc1LCA3NzU3OSwgNzc1ODMsIDc3NTg3LCA3NzU5MSwgNzc1OTUsIDc3NTk5LCA3NzYwMywgNzc2MDcsIDc3NjExLCAKKyAgICA3NzYxNSwgNzc2MTksIDc3NjIzLCA3NzYyNywgNzc2MzEsIDc3NjM1LCA3NzYzOSwgNzc2NDMsIDc3NjQ3LCA3NzY1MSwgCisgICAgNzc2NTUsIDc3NjU5LCA3NzY2MywgNzc2NjcsIDc3NjcxLCA3NzY3NSwgNzc2NzksIDc3NjgzLCA3NzY4NywgNzc2OTEsIAorICAgIDc3Njk1LCA3NzY5OSwgNzc3MDMsIDc3NzA3LCA3NzcxMSwgNzc3MTUsIDc3NzE5LCA3NzcyMywgNzc3MjcsIDc3NzMxLCAKKyAgICA3NzczNSwgNzc3MzksIDc3NzQzLCA3Nzc0NywgNzc3NTEsIDc3NzU1LCA3Nzc1OSwgNzc3NjMsIDc3NzY3LCA3Nzc3MSwgCisgICAgNzc3NzUsIDc3Nzc5LCA3Nzc4MywgNzc3ODcsIDc3NzkxLCA3Nzc5NSwgNzc3OTksIDc3ODAzLCA3NzgwNywgNzc4MTEsIAorICAgIDc3ODE1LCA3NzgxOSwgNzc4MjMsIDc3ODI3LCA3NzgzMSwgNzc4MzUsIDc3ODM5LCA3Nzg0MywgNzc4NDcsIDc3ODUxLCAKKyAgICA3Nzg1NSwgMCwgMCwgNzc4NTksIDc3ODYzLCA3Nzg2NywgNzc4NzEsIDc3ODc1LCA3Nzg3OSwgNzc4ODMsIDc3ODg3LCAKKyAgICA3Nzg5MSwgNzc4OTUsIDc3ODk5LCA3NzkwMywgNzc5MDcsIDc3OTExLCA3NzkxNSwgNzc5MTksIDc3OTIzLCA3NzkyNywgCisgICAgNzc5MzEsIDc3OTM1LCA3NzkzOSwgNzc5NDMsIDc3OTQ3LCA3Nzk1MSwgNzc5NTUsIDc3OTU5LCA3Nzk2MywgNzc5NjcsIAorICAgIDc3OTcxLCA3Nzk3NSwgNzc5NzksIDc3OTgzLCA3Nzk4NywgNzc5OTEsIDc3OTk1LCA3Nzk5OSwgNzgwMDMsIDc4MDA3LCAKKyAgICA3ODAxMSwgNzgwMTUsIDc4MDE5LCA3ODAyMywgNzgwMjcsIDc4MDMxLCA3ODAzNSwgNzgwMzksIDc4MDQzLCA3ODA0NywgCisgICAgNzgwNTEsIDc4MDU1LCA3ODA1OSwgNzgwNjMsIDc4MDY3LCA3ODA3MSwgNzgwNzUsIDc4MDc5LCA3ODA4MywgNzgwODcsIAorICAgIDc4MDkxLCA3ODA5NSwgNzgwOTksIDc4MTAzLCA3ODEwNywgNzgxMTEsIDc4MTE1LCA3ODExOSwgNzgxMjMsIDc4MTI3LCAKKyAgICA3ODEzMSwgNzgxMzUsIDc4MTM5LCA3ODE0MywgNzgxNDcsIDc4MTUxLCA3ODE1NSwgNzgxNTksIDc4MTYzLCA3ODE2NywgCisgICAgNzgxNzEsIDc4MTc1LCA3ODE3OSwgNzgxODMsIDc4MTg3LCA3ODE5MSwgNzgxOTUsIDc4MTk5LCA3ODIwMywgNzgyMDcsIAorICAgIDc4MjExLCA3ODIxNSwgNzgyMTksIDc4MjIzLCA3ODIyNywgNzgyMzEsIDc4MjM1LCA3ODIzOSwgNzgyNDMsIDc4MjQ3LCAKKyAgICA3ODI1MSwgNzgyNTUsIDc4MjU5LCA3ODI2MywgNzgyNjcsIDc4MjcxLCA3ODI3NSwgNzgyNzksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc4Mjc4LCA3ODI4MywgNzgyODgsIDc4MjkzLCA3ODI5OCwgNzgzMDMsIDc4MzExLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3ODMxNiwgNzgzMjMsIDc4MzMwLCA3ODMzNywgNzgzNDQsIDAsIAotICAgIDAsIDAsIDAsIDAsIDc4MzUxLCA3ODM1OCwgNzgzNjUsIDc4Mzc1LCA3ODM4MSwgNzgzODcsIDc4MzkzLCA3ODM5OSwgCi0gICAgNzg0MDUsIDc4NDExLCA3ODQxOCwgNzg0MjQsIDc4NDMwLCA3ODQzNiwgNzg0NDUsIDc4NDU0LCA3ODQ2NiwgNzg0NzgsIAotICAgIDc4NDg0LCA3ODQ5MCwgNzg0OTYsIDc4NTAzLCA3ODUxMCwgNzg1MTcsIDc4NTI0LCA3ODUzMSwgMCwgNzg1MzgsIDc4NTQ1LCAKLSAgICA3ODU1MiwgNzg1NjAsIDc4NTY3LCAwLCA3ODU3NCwgMCwgNzg1ODEsIDc4NTg4LCAwLCA3ODU5NSwgNzg2MDMsIDAsIAotICAgIDc4NjEwLCA3ODYxNywgNzg2MjQsIDc4NjMxLCA3ODYzOCwgNzg2NDUsIDc4NjUyLCA3ODY1OSwgNzg2NjYsIDc4NjczLCAKLSAgICA3ODY3OCwgNzg2ODUsIDc4NjkyLCA3ODY5OCwgNzg3MDQsIDc4NzEwLCA3ODcxNiwgNzg3MjIsIDc4NzI4LCA3ODczNCwgCi0gICAgNzg3NDAsIDc4NzQ2LCA3ODc1MiwgNzg3NTgsIDc4NzY0LCA3ODc3MCwgNzg3NzYsIDc4NzgyLCA3ODc4OCwgNzg3OTQsIAotICAgIDc4ODAwLCA3ODgwNiwgNzg4MTIsIDc4ODE4LCA3ODgyNCwgNzg4MzAsIDc4ODM2LCA3ODg0MiwgNzg4NDgsIDc4ODU0LCAKLSAgICA3ODg2MCwgNzg4NjYsIDc4ODcyLCA3ODg3OCwgNzg4ODQsIDc4ODkwLCA3ODg5NiwgNzg5MDIsIDc4OTA4LCA3ODkxNCwgCi0gICAgNzg5MjAsIDc4OTI2LCA3ODkzMiwgNzg5MzgsIDc4OTQ0LCA3ODk1MCwgNzg5NTYsIDc4OTYyLCA3ODk2OCwgNzg5NzQsIAotICAgIDc4OTgwLCA3ODk4NiwgNzg5OTIsIDc4OTk4LCA3OTAwNCwgNzkwMTAsIDc5MDE2LCA3OTAyMiwgNzkwMjgsIDc5MDM0LCAKLSAgICA3OTA0MCwgNzkwNDYsIDc5MDUyLCA3OTA1OCwgNzkwNjQsIDc5MDcwLCA3OTA3NiwgNzkwODIsIDc5MDg4LCA3OTA5NCwgCi0gICAgNzkxMDAsIDc5MTA2LCA3OTExMiwgNzkxMTgsIDc5MTI0LCA3OTEzMCwgNzkxMzYsIDc5MTQyLCA3OTE0OCwgNzkxNTYsIAotICAgIDc5MTY0LCA3OTE3MCwgNzkxNzYsIDc5MTgyLCA3OTE4OCwgNzkxOTcsIDc5MjA2LCA3OTIxNCwgNzkyMjIsIDc5MjMwLCAKLSAgICA3OTIzOCwgNzkyNDYsIDc5MjU0LCA3OTI2MiwgNzkyNzAsIDc5Mjc3LCA3OTI4NCwgNzkyOTQsIDc5MzA0LCA3OTMwOCwgCi0gICAgNzkzMTIsIDc5MzE3LCA3OTMyMiwgNzkzMjcsIDc5MzMyLCA3OTM0MSwgNzkzNTAsIDc5MzU2LCA3OTM2MiwgNzkzNjksIAotICAgIDc5Mzc2LCA3OTM4MywgNzkzODcsIDc5MzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA3OTM5OSwgNzk0MDUsIDc5NDExLCA3OTQxNywgNzk0MjMsIDc5NDI4LCA3OTQzMywgNzk0MzksIDc5NDQ1LCAKLSAgICA3OTQ1MSwgNzk0NTcsIDc5NDY1LCA3OTQ3MSwgNzk0NzcsIDc5NDg1LCA3OTQ5MywgNzk1MDEsIDc5NTA5LCA3OTUxNCwgCi0gICAgNzk1MTksIDc5NTI0LCA3OTUyOSwgNzk1NDIsIDc5NTU1LCA3OTU2NSwgNzk1NzUsIDc5NTg2LCA3OTU5NywgNzk2MDgsIAotICAgIDc5NjE5LCA3OTYyOSwgNzk2MzksIDc5NjUwLCA3OTY2MSwgNzk2NzIsIDc5NjgzLCA3OTY5MywgNzk3MDMsIDc5NzEzLCAKLSAgICA3OTcyOSwgNzk3NDUsIDc5NzYxLCA3OTc2OCwgNzk3NzUsIDc5NzgyLCA3OTc4OSwgNzk3OTksIDc5ODA5LCA3OTgxOSwgCi0gICAgNzk4MzEsIDc5ODQxLCA3OTg0OSwgNzk4NTcsIDc5ODY2LCA3OTg3NCwgNzk4ODQsIDc5ODkyLCA3OTkwMCwgNzk5MDgsIAotICAgIDc5OTE3LCA3OTkyNSwgNzk5MzUsIDc5OTQzLCA3OTk1MSwgNzk5NTksIDc5OTY5LCA3OTk3NywgNzk5ODQsIDc5OTkxLCAKLSAgICA3OTk5OCwgODAwMDUsIDgwMDEzLCA4MDAyMSwgODAwMjksIDgwMDM3LCA4MDA0NSwgODAwNTQsIDgwMDYyLCA4MDA3MCwgCi0gICAgODAwNzgsIDgwMDg2LCA4MDA5NCwgODAxMDMsIDgwMTExLCA4MDExOSwgODAxMjcsIDgwMTM1LCA4MDE0MywgODAxNTEsIAotICAgIDgwMTU5LCA4MDE2NywgODAxNzUsIDgwMTgzLCA4MDE5MiwgODAyMDAsIDgwMjEwLCA4MDIxOCwgODAyMjYsIDgwMjM0LCAKLSAgICA4MDI0NCwgODAyNTIsIDgwMjYwLCA4MDI2OCwgODAyNzYsIDgwMjg1LCA4MDI5NCwgODAzMDIsIDgwMzEyLCA4MDMyMCwgCi0gICAgODAzMjgsIDgwMzM2LCA4MDM0NSwgODAzNTMsIDgwMzYzLCA4MDM3MSwgODAzNzgsIDgwMzg1LCA4MDM5MywgODA0MDAsIAotICAgIDgwNDA5LCA4MDQxNiwgODA0MjQsIDgwNDMyLCA4MDQ0MSwgODA0NDksIDgwNDU5LCA4MDQ2NywgODA0NzUsIDgwNDgzLCAKLSAgICA4MDQ5MywgODA1MDEsIDgwNTA4LCA4MDUxNSwgODA1MjMsIDgwNTMwLCA4MDUzOSwgODA1NDYsIDgwNTU2LCA4MDU2NiwgCi0gICAgODA1NzcsIDgwNTg2LCA4MDU5NSwgODA2MDQsIDgwNjEzLCA4MDYyMiwgODA2MzIsIDgwNjQzLCA4MDY1NCwgODA2NjQsIAotICAgIDgwNjc1LCA4MDY4NywgODA2OTcsIDgwNzA2LCA4MDcxNSwgODA3MjMsIDgwNzMyLCA4MDc0MiwgODA3NTAsIDgwNzU5LCAKLSAgICA4MDc2OCwgODA3NzYsIDgwNzg1LCA4MDc5NSwgODA4MDMsIDgwODEyLCA4MDgyMSwgODA4MjksIDgwODM4LCA4MDg0OCwgCi0gICAgODA4NTYsIDgwODY2LCA4MDg3NCwgODA4ODQsIDgwODkyLCA4MDkwMCwgODA5MDksIDgwOTE3LCA4MDkyNywgODA5MzUsIAotICAgIDgwOTQzLCA4MDk1MywgODA5NjEsIDgwOTY4LCA4MDk3NSwgODA5ODQsIDgwOTkzLCA4MTAwMSwgODEwMTAsIDgxMDIwLCAKLSAgICA4MTAyOCwgODEwMzksIDgxMDQ3LCA4MTA1NSwgODEwNjIsIDgxMDcwLCA4MTA3OSwgODEwODYsIDgxMDk2LCA4MTEwNiwgCi0gICAgODExMTcsIDgxMTI3LCA4MTEzOCwgODExNDYsIDgxMTU0LCA4MTE2MywgODExNzEsIDgxMTgwLCA4MTE4OCwgODExOTYsIAotICAgIDgxMjA1LCA4MTIxMywgODEyMjIsIDgxMjMwLCA4MTIzNywgODEyNDQsIDgxMjUxLCA4MTI1OCwgODEyNjYsIDgxMjc0LCAKLSAgICA4MTI4MiwgODEyOTAsIDgxMjk5LCA4MTMwNywgODEzMTUsIDgxMzI0LCA4MTMzMiwgODEzNDAsIDgxMzQ4LCA4MTM1NywgCi0gICAgODEzNjUsIDgxMzczLCA4MTM4MSwgODEzODksIDgxMzk3LCA4MTQwNSwgODE0MTMsIDgxNDIxLCA4MTQyOSwgODE0MzgsIAotICAgIDgxNDQ2LCA4MTQ1NCwgODE0NjIsIDgxNDcwLCA4MTQ3OCwgODE0ODcsIDgxNDk2LCA4MTUwNCwgODE1MTIsIDgxNTIwLCAKLSAgICA4MTUyOSwgODE1MzcsIDgxNTQ2LCA4MTU1MywgODE1NjAsIDgxNTY4LCA4MTU3NSwgODE1ODMsIDgxNTkxLCA4MTYwMCwgCi0gICAgODE2MDgsIDgxNjE3LCA4MTYyNSwgODE2MzMsIDgxNjQzLCA4MTY1MCwgODE2NTcsIDgxNjY1LCA4MTY3MiwgODE2ODAsIAotICAgIDgxNjkwLCA4MTcwMSwgODE3MDksIDgxNzE4LCA4MTcyNiwgODE3MzUsIDgxNzQzLCA4MTc1MiwgODE3NjAsIDgxNzY5LCAKLSAgICA4MTc3NywgODE3ODYsIDgxNzk1LCA4MTgwMywgODE4MTEsIDgxODE5LCA4MTgyOCwgODE4MzUsIDgxODQzLCA4MTg1MiwgCi0gICAgODE4NjEsIDgxODcwLCA4MTg4MCwgODE4ODgsIDgxODk4LCA4MTkwNiwgODE5MTYsIDgxOTI0LCA4MTkzNCwgODE5NDIsIAotICAgIDgxOTUyLCA4MTk2MCwgODE5NjksIDgxOTc2LCA4MTk4NSwgODE5OTIsIDgyMDAyLCA4MjAxMCwgODIwMjAsIDgyMDI4LCAKLSAgICA4MjAzOCwgODIwNDYsIDgyMDU0LCA4MjA2MiwgODIwNzEsIDgyMDc5LCA4MjA4OCwgODIwOTcsIDgyMTA2LCA4MjExNSwgCi0gICAgODIxMjUsIDgyMTMzLCA4MjE0MywgODIxNTEsIDgyMTYxLCA4MjE2OSwgODIxNzksIDgyMTg3LCA4MjE5NywgODIyMDUsIAotICAgIDgyMjE0LCA4MjIyMSwgODIyMzAsIDgyMjM3LCA4MjI0NywgODIyNTUsIDgyMjY1LCA4MjI3MywgODIyODMsIDgyMjkxLCAKLSAgICA4MjI5OSwgODIzMDcsIDgyMzE2LCA4MjMyNCwgODIzMzMsIDgyMzQyLCA4MjM1MSwgODIzNjAsIDgyMzY4LCA4MjM3NiwgCi0gICAgODIzODUsIDgyMzkzLCA4MjQwMiwgODI0MTEsIDgyNDE5LCA4MjQyNywgODI0MzUsIDgyNDQ0LCA4MjQ1MiwgODI0NjAsIAotICAgIDgyNDY5LCA4MjQ3NywgODI0ODUsIDgyNDkzLCA4MjUwMSwgODI1MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDgyNTExLCA4MjUyMSwgODI1MzEsIDgyNTQxLCA4MjU1MSwgODI1NjIsIDgyNTcyLCA4MjU4MiwgCi0gICAgODI1OTMsIDgyNjAyLCA4MjYxMSwgODI2MjAsIDgyNjMxLCA4MjY0MSwgODI2NTEsIDgyNjYzLCA4MjY3MywgODI2ODMsIAotICAgIDgyNjkzLCA4MjcwMywgODI3MTMsIDgyNzIzLCA4MjczMywgODI3NDMsIDgyNzUzLCA4Mjc2MywgODI3NzMsIDgyNzg0LCAKLSAgICA4Mjc5NSwgODI4MDUsIDgyODE1LCA4MjgyNywgODI4MzgsIDgyODQ5LCA4Mjg1OSwgODI4NjksIDgyODc5LCA4Mjg4OSwgCi0gICAgODI4OTksIDgyOTA5LCA4MjkxOSwgODI5MzEsIDgyOTQxLCA4Mjk1MSwgODI5NjMsIDgyOTc0LCA4Mjk4NSwgODI5OTUsIAotICAgIDgzMDA1LCA4MzAxNSwgODMwMjUsIDgzMDM3LCA4MzA0NywgODMwNTcsIDgzMDY4LCA4MzA3OSwgODMwODksIDgzMDk5LCAKLSAgICA4MzEwOCwgODMxMTcsIDgzMTI2LCA4MzEzNSwgODMxNDQsIDgzMTU0LCAwLCAwLCA4MzE2NCwgODMxNzQsIDgzMTg0LCAKLSAgICA4MzE5NCwgODMyMDQsIDgzMjE2LCA4MzIyNiwgODMyMzYsIDgzMjQ4LCA4MzI1OCwgODMyNzAsIDgzMjc5LCA4MzI4OCwgCi0gICAgODMyOTksIDgzMzA5LCA4MzMyMSwgODMzMzIsIDgzMzQ1LCA4MzM1NSwgODMzNjcsIDgzMzc2LCA4MzM4NywgODMzOTgsIAotICAgIDgzNDExLCA4MzQyMSwgODM0MzEsIDgzNDQxLCA4MzQ1MSwgODM0NjEsIDgzNDcwLCA4MzQ3OSwgODM0ODgsIDgzNDk3LCAKLSAgICA4MzUwNywgODM1MTcsIDgzNTI3LCA4MzUzNywgODM1NDcsIDgzNTU3LCA4MzU2NywgODM1NzcsIDgzNTg3LCA4MzU5NywgCi0gICAgODM2MDcsIDgzNjE3LCA4MzYyNiwgODM2MzUsIDgzNjQ0LCA4MzY1NCwgODM2NjQsIDgzNjc0LCA4MzY4NCwgODM2OTQsIAotICAgIDgzNzA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MzcxNSwgODM3MzAsIAotICAgIDgzNzQ1LCA4Mzc1MSwgODM3NTcsIDgzNzYzLCA4Mzc2OSwgODM3NzUsIDgzNzgxLCA4Mzc4NywgODM3OTMsIDgzODAxLCAKLSAgICA4MzgwNSwgODM4MDgsIDAsIDAsIDgzODE2LCA4MzgxOSwgODM4MjIsIDgzODI1LCA4MzgyOCwgODM4MzEsIDgzODM0LCAKLSAgICA4MzgzNywgODM4NDAsIDgzODQzLCA4Mzg0NiwgODM4NDksIDgzODUyLCA4Mzg1NSwgODM4NTgsIDgzODYxLCA4Mzg2NCwgCi0gICAgODM4NzIsIDgzODgxLCA4Mzg5MiwgODM5MDAsIDgzOTA4LCA4MzkxNywgODM5MjYsIDgzOTM3LCA4Mzk0OSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgODM5NTgsIDgzOTYzLCA4Mzk2OCwgODM5NzUsIDgzOTgyLCA4Mzk4OCwgODM5OTQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDgzOTk5LCA4NDAwOSwgODQwMTksIDg0MDI5LCA4NDAzOCwgODQwNDksIDg0MDU4LCA4NDA2NywgCi0gICAgODQwNzcsIDg0MDg3LCA4NDA5OSwgODQxMTEsIDg0MTIyLCA4NDEzMywgODQxNDQsIDg0MTU1LCA4NDE2NSwgODQxNzUsIAotICAgIDg0MTg1LCA4NDE5NSwgODQyMDYsIDg0MjE3LCA4NDIyMSwgODQyMjYsIDg0MjM1LCA4NDI0NCwgODQyNDgsIDg0MjUyLCAKLSAgICA4NDI1NiwgODQyNjEsIDg0MjY2LCA4NDI3MSwgODQyNzYsIDg0Mjc5LCA4NDI4MywgMCwgODQyODgsIDg0MjkxLCA4NDI5NCwgCi0gICAgODQyOTgsIDg0MzAyLCA4NDMwNywgODQzMTEsIDg0MzE1LCA4NDMyMCwgODQzMjUsIDg0MzMyLCA4NDMzOSwgODQzNDIsIAotICAgIDg0MzQ1LCA4NDM0OCwgODQzNTEsIDg0MzU0LCA4NDM1OCwgODQzNjIsIDAsIDg0MzY2LCA4NDM3MSwgODQzNzUsIDg0Mzc5LCAKLSAgICAwLCAwLCAwLCAwLCA4NDM4NCwgODQzODksIDg0Mzk2LCA4NDQwMSwgODQ0MDYsIDAsIDg0NDExLCA4NDQxNiwgODQ0MjEsIAotICAgIDg0NDI2LCA4NDQzMSwgODQ0MzYsIDg0NDQxLCA4NDQ0NiwgODQ0NTEsIDg0NDU2LCA4NDQ2MSwgODQ0NjYsIDg0NDc1LCAKLSAgICA4NDQ4NCwgODQ0OTIsIDg0NTAwLCA4NDUwOSwgODQ1MTgsIDg0NTI3LCA4NDUzNiwgODQ1NDQsIDg0NTUyLCA4NDU2MCwgCi0gICAgODQ1NjgsIDg0NTczLCA4NDU3OCwgODQ1ODQsIDg0NTkwLCA4NDU5NiwgODQ2MDIsIDg0NjEwLCA4NDYxOCwgODQ2MjQsIAotICAgIDg0NjMwLCA4NDYzNiwgODQ2NDIsIDg0NjQ4LCA4NDY1NCwgODQ2NjAsIDg0NjY2LCA4NDY3MSwgODQ2NzYsIDg0NjgxLCAKLSAgICA4NDY4NiwgODQ2OTEsIDg0Njk2LCA4NDcwMSwgODQ3MDYsIDg0NzEyLCA4NDcxOCwgODQ3MjQsIDg0NzMwLCA4NDczNiwgCi0gICAgODQ3NDIsIDg0NzQ4LCA4NDc1NCwgODQ3NjAsIDg0NzY2LCA4NDc3MiwgODQ3NzgsIDg0Nzg0LCA4NDc5MCwgODQ3OTYsIAotICAgIDg0ODAyLCA4NDgwOCwgODQ4MTQsIDg0ODIwLCA4NDgyNiwgODQ4MzIsIDg0ODM4LCA4NDg0NCwgODQ4NTAsIDg0ODU2LCAKLSAgICA4NDg2MiwgODQ4NjgsIDg0ODc0LCA4NDg4MCwgODQ4ODYsIDg0ODkyLCA4NDg5OCwgODQ5MDQsIDg0OTEwLCA4NDkxNiwgCi0gICAgODQ5MjIsIDg0OTI4LCA4NDkzNCwgODQ5NDAsIDg0OTQ2LCA4NDk1MiwgODQ5NTgsIDg0OTY0LCA4NDk3MCwgODQ5NzYsIAotICAgIDg0OTgyLCA4NDk4OCwgODQ5OTQsIDg1MDAwLCA4NTAwNiwgODUwMTIsIDg1MDE4LCA4NTAyNCwgODUwMzAsIDg1MDM2LCAKLSAgICA4NTA0MiwgODUwNDgsIDg1MDU0LCA4NTA2MCwgODUwNjYsIDg1MDcxLCA4NTA3NiwgODUwODEsIDg1MDg2LCA4NTA5MiwgCi0gICAgODUwOTgsIDg1MTA0LCA4NTExMCwgODUxMTYsIDg1MTIyLCA4NTEyOCwgODUxMzQsIDg1MTQwLCA4NTE0NiwgODUxNTMsIAotICAgIDg1MTYwLCA4NTE2NSwgODUxNzAsIDg1MTc1LCA4NTE4MCwgODUxOTIsIDg1MjA0LCA4NTIxNSwgODUyMjYsIDg1MjM4LCAKLSAgICA4NTI1MCwgODUyNTgsIDAsIDAsIDg1MjY2LCAwLCA4NTI3NCwgODUyNzgsIDg1MjgyLCA4NTI4NSwgODUyODksIDg1MjkzLCAKLSAgICA4NTI5NiwgODUyOTksIDg1MzAzLCA4NTMwNywgODUzMTAsIDg1MzEzLCA4NTMxNiwgODUzMTksIDg1MzI0LCA4NTMyNywgCi0gICAgODUzMzEsIDg1MzM0LCA4NTMzNywgODUzNDAsIDg1MzQzLCA4NTM0NiwgODUzNDksIDg1MzUyLCA4NTM1NSwgODUzNTgsIAotICAgIDg1MzYxLCA4NTM2NCwgODUzNjgsIDg1MzcyLCA4NTM3NiwgODUzODAsIDg1Mzg1LCA4NTM5MCwgODUzOTYsIDg1NDAyLCAKLSAgICA4NTQwOCwgODU0MTMsIDg1NDE5LCA4NTQyNSwgODU0MzEsIDg1NDM2LCA4NTQ0MiwgODU0NDgsIDg1NDUzLCA4NTQ1OCwgCi0gICAgODU0NjQsIDg1NDY5LCA4NTQ3NSwgODU0ODEsIDg1NDg2LCA4NTQ5MiwgODU0OTgsIDg1NTAzLCA4NTUwOSwgODU1MTUsIAotICAgIDg1NTIxLCA4NTUyNywgODU1MzMsIDg1NTM3LCA4NTU0MiwgODU1NDYsIDg1NTUxLCA4NTU1NSwgODU1NjAsIDg1NTY1LCAKLSAgICA4NTU3MSwgODU1NzcsIDg1NTgzLCA4NTU4OCwgODU1OTQsIDg1NjAwLCA4NTYwNiwgODU2MTEsIDg1NjE3LCA4NTYyMywgCi0gICAgODU2MjgsIDg1NjMzLCA4NTYzOSwgODU2NDQsIDg1NjUwLCA4NTY1NiwgODU2NjEsIDg1NjY3LCA4NTY3MywgODU2NzgsIAotICAgIDg1Njg0LCA4NTY5MCwgODU2OTYsIDg1NzAyLCA4NTcwOCwgODU3MTMsIDg1NzE3LCA4NTcyMiwgODU3MjQsIDg1NzI5LCAKLSAgICA4NTczNCwgODU3NDAsIDg1NzQ1LCA4NTc1MCwgODU3NTQsIDg1NzYwLCA4NTc2NSwgODU3NzAsIDg1Nzc1LCA4NTc4MCwgCi0gICAgODU3ODUsIDg1NzkwLCA4NTc5NSwgODU4MDEsIDg1ODA3LCA4NTgxMywgODU4MjEsIDg1ODI1LCA4NTgyOSwgODU4MzMsIAotICAgIDg1ODM3LCA4NTg0MSwgODU4NDUsIDg1ODUwLCA4NTg1NSwgODU4NjAsIDg1ODY1LCA4NTg2OSwgODU4NzQsIDg1ODc5LCAKLSAgICA4NTg4NCwgODU4ODksIDg1ODk0LCA4NTg5OSwgODU5MDQsIDg1OTA5LCA4NTkxMywgODU5MTcsIDg1OTIyLCA4NTkyNywgCi0gICAgODU5MzIsIDg1OTM3LCA4NTk0MSwgODU5NDYsIDg1OTUxLCA4NTk1NiwgODU5NjEsIDg1OTY1LCA4NTk3MCwgODU5NzUsIAotICAgIDg1OTgwLCA4NTk4NSwgODU5ODksIDg1OTk0LCA4NTk5OSwgODYwMDMsIDg2MDA4LCA4NjAxMywgODYwMTgsIDg2MDIzLCAKLSAgICA4NjAyOCwgODYwMzMsIDg2MDQwLCA4NjA0NywgODYwNTEsIDg2MDU2LCA4NjA2MSwgODYwNjYsIDg2MDcxLCA4NjA3NiwgCi0gICAgODYwODEsIDg2MDg2LCA4NjA5MSwgODYwOTYsIDg2MTAxLCA4NjEwNiwgODYxMTEsIDg2MTE2LCA4NjEyMSwgODYxMjYsIAotICAgIDg2MTMxLCA4NjEzNiwgODYxNDEsIDg2MTQ2LCA4NjE1MSwgODYxNTYsIDg2MTYxLCA4NjE2NiwgODYxNzEsIDg2MTc2LCAKLSAgICA4NjE4MSwgODYxODYsIDg2MTkxLCA4NjE5NiwgMCwgMCwgMCwgODYyMDEsIDg2MjA1LCA4NjIxMCwgODYyMTQsIDg2MjE5LCAKLSAgICA4NjIyNCwgMCwgMCwgODYyMjgsIDg2MjMzLCA4NjIzOCwgODYyNDIsIDg2MjQ3LCA4NjI1MiwgMCwgMCwgODYyNTcsIAotICAgIDg2MjYyLCA4NjI2NiwgODYyNzEsIDg2Mjc2LCA4NjI4MSwgMCwgMCwgODYyODYsIDg2MjkxLCA4NjI5NiwgMCwgMCwgMCwgCi0gICAgODYzMDAsIDg2MzA0LCA4NjMwOCwgODYzMTIsIDg2MzE1LCA4NjMxOSwgODYzMjMsIDAsIDg2MzI3LCA4NjMzMywgODYzMzYsIAotICAgIDg2MzQwLCA4NjM0MywgODYzNDcsIDg2MzUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NjM1NSwgODYzNjEsIAotICAgIDg2MzY3LCA4NjM3MywgODYzNzksIDAsIDAsIDg2MzgzLCA4NjM4OSwgODYzOTUsIDg2NDAxLCA4NjQwNywgODY0MTMsIAotICAgIDg2NDIwLCA4NjQyNywgODY0MzQsIDg2NDQxLCA4NjQ0OCwgODY0NTUsIDAsIDg2NDYyLCA4NjQ2OSwgODY0NzYsIDg2NDgyLCAKLSAgICA4NjQ4OSwgODY0OTYsIDg2NTAzLCA4NjUxMCwgODY1MTYsIDg2NTIzLCA4NjUzMCwgODY1MzcsIDg2NTQ0LCA4NjU1MCwgCi0gICAgODY1NTcsIDg2NTY0LCA4NjU3MSwgODY1NzgsIDg2NTg0LCA4NjU5MSwgODY1OTgsIDg2NjA1LCA4NjYxMiwgODY2MTksIAotICAgIDg2NjI2LCA4NjYzMywgMCwgODY2NDAsIDg2NjQ2LCA4NjY1MywgODY2NjAsIDg2NjY3LCA4NjY3NCwgODY2ODAsIDg2Njg3LCAKLSAgICA4NjY5NCwgODY3MDEsIDg2NzA4LCA4NjcxNSwgODY3MjIsIDg2NzI5LCA4NjczNSwgODY3NDIsIDg2NzQ5LCA4Njc1NiwgCi0gICAgODY3NjMsIDAsIDg2NzcwLCA4Njc3NywgMCwgODY3ODQsIDg2NzkxLCA4Njc5OCwgODY4MDUsIDg2ODEyLCA4NjgxOSwgCi0gICAgODY4MjYsIDg2ODMzLCA4Njg0MCwgODY4NDcsIDg2ODU0LCA4Njg2MSwgODY4NjgsIDg2ODc1LCA4Njg4MiwgMCwgMCwgCi0gICAgODY4ODgsIDg2ODkzLCA4Njg5OCwgODY5MDMsIDg2OTA4LCA4NjkxMywgODY5MTgsIDg2OTIzLCA4NjkyOCwgODY5MzMsIAotICAgIDg2OTM4LCA4Njk0MywgODY5NDgsIDg2OTUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4Njk1OCwgODY5NjUsIAotICAgIDg2OTcyLCA4Njk3OSwgODY5ODYsIDg2OTkzLCA4NzAwMCwgODcwMDcsIDg3MDE0LCA4NzAyMSwgODcwMjgsIDg3MDM1LCAKLSAgICA4NzA0MiwgODcwNDksIDg3MDU2LCA4NzA2MywgODcwNzAsIDg3MDc3LCA4NzA4NCwgODcwOTEsIDg3MDk5LCA4NzEwNywgCi0gICAgODcxMTQsIDg3MTIxLCA4NzEyNiwgODcxMzQsIDg3MTQyLCA4NzE0OSwgODcxNTYsIDg3MTYxLCA4NzE2OCwgODcxNzMsIAotICAgIDg3MTc4LCA4NzE4NSwgODcxOTAsIDg3MTk1LCA4NzIwMCwgODcyMDgsIDg3MjEzLCA4NzIxOCwgODcyMjUsIDg3MjMwLCAKLSAgICA4NzIzNSwgODcyNDIsIDg3MjQ5LCA4NzI1NCwgODcyNTksIDg3MjY0LCA4NzI2OSwgODcyNzQsIDg3Mjc5LCA4NzI4NCwgCi0gICAgODcyODksIDg3Mjk0LCA4NzMwMSwgODczMDYsIDg3MzEzLCA4NzMxOCwgODczMjMsIDg3MzI4LCA4NzMzMywgODczMzgsIAotICAgIDg3MzQzLCA4NzM0OCwgODczNTMsIDg3MzU4LCA4NzM2MywgODczNjgsIDg3Mzc1LCA4NzM4MiwgODczODksIDg3Mzk2LCAKLSAgICA4NzQwMiwgODc0MDcsIDg3NDE0LCA4NzQxOSwgODc0MjQsIDg3NDMzLCA4NzQ0MCwgODc0NDksIDg3NDU2LCA4NzQ2MSwgCi0gICAgODc0NjYsIDg3NDc0LCA4NzQ3OSwgODc0ODQsIDg3NDg5LCA4NzQ5NCwgODc0OTksIDg3NTA2LCA4NzUxMSwgODc1MTYsIAotICAgIDg3NTIxLCA4NzUyNiwgODc1MzEsIDg3NTM4LCA4NzU0NSwgODc1NTIsIDg3NTU5LCA4NzU2NiwgODc1NzMsIDg3NTgwLCAKLSAgICA4NzU4NywgODc1OTQsIDg3NjAxLCA4NzYwOCwgODc2MTUsIDg3NjIyLCA4NzYyOSwgODc2MzYsIDg3NjQzLCA4NzY1MCwgCi0gICAgODc2NTcsIDg3NjY0LCA4NzY3MSwgODc2NzgsIDg3Njg1LCA4NzY5MiwgODc2OTksIDg3NzA2LCA4NzcxMywgODc3MjAsIAotICAgIDg3NzI3LCAwLCAwLCAwLCAwLCAwLCA4NzczNCwgODc3NDIsIDg3NzUwLCAwLCAwLCAwLCAwLCA4Nzc1NSwgODc3NTksIAotICAgIDg3NzYzLCA4Nzc2NywgODc3NzEsIDg3Nzc1LCA4Nzc3OSwgODc3ODMsIDg3Nzg3LCA4Nzc5MSwgODc3OTYsIDg3ODAxLCAKLSAgICA4NzgwNiwgODc4MTEsIDg3ODE2LCA4NzgyMSwgODc4MjYsIDg3ODMxLCA4NzgzNiwgODc4NDIsIDg3ODQ4LCA4Nzg1NCwgCi0gICAgODc4NjEsIDg3ODY4LCA4Nzg3NSwgODc4ODIsIDg3ODg5LCA4Nzg5NiwgODc5MDIsIDg3OTA4LCA4NzkxNCwgODc5MjEsIAotICAgIDg3OTI4LCA4NzkzNSwgODc5NDIsIDg3OTQ5LCA4Nzk1NiwgODc5NjMsIDg3OTcwLCA4Nzk3NywgODc5ODQsIDg3OTkxLCAKLSAgICA4Nzk5OCwgODgwMDUsIDg4MDEyLCAwLCAwLCAwLCA4ODAxOSwgODgwMjcsIDg4MDM1LCA4ODA0MywgODgwNTEsIDg4MDU5LCAKLSAgICA4ODA2OSwgODgwNzksIDg4MDg3LCA4ODA5NSwgODgxMDMsIDg4MTExLCA4ODExOSwgODgxMjUsIDg4MTMyLCA4ODE0MSwgCi0gICAgODgxNTAsIDg4MTU5LCA4ODE2OCwgODgxNzcsIDg4MTg2LCA4ODE5NiwgODgyMDcsIDg4MjE3LCA4ODIyOCwgODgyMzcsIAotICAgIDg4MjQ2LCA4ODI1NSwgODgyNjUsIDg4Mjc2LCA4ODI4NiwgODgyOTcsIDg4MzA4LCA4ODMxNywgODgzMjUsIDg4MzMxLCAKLSAgICA4ODMzNywgODgzNDMsIDg4MzQ5LCA4ODM1NywgODgzNjUsIDg4MzcxLCA4ODM3OCwgODgzODgsIDg4Mzk1LCA4ODQwMiwgCi0gICAgODg0MDksIDg4NDE2LCA4ODQyMywgODg0MzMsIDg4NDQwLCA4ODQ0NywgODg0NTUsIDg4NDYzLCA4ODQ3MiwgODg0ODEsIAotICAgIDg4NDkwLCA4ODQ5OSwgODg1MDgsIDg4NTE2LCA4ODUyNSwgODg1MzQsIDg4NTQzLCA4ODU0NywgODg1NTQsIDg4NTU5LCAKLSAgICA4ODU2NCwgODg1NjgsIDg4NTcyLCA4ODU3NiwgODg1ODAsIDg4NTg1LCA4ODU5MCwgODg1OTYsIDg4NjAyLCA4ODYwNiwgCi0gICAgODg2MTIsIDg4NjE2LCA4ODYyMCwgODg2MjQsIDg4NjI4LCA4ODYzMiwgODg2MzYsIDg4NjQyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA4ODY0NiwgODg2NTEsIDg4NjU2LCA4ODY2MSwgODg2NjYsIDg4NjczLCA4ODY3OCwgODg2ODMsIDg4Njg4LCA4ODY5MywgCi0gICAgODg2OTgsIDg4NzAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3ODI4MywgNzgyODgsIDc4MjkzLCA3ODI5OCwgNzgzMDMsIDc4MzA4LCA3ODMxNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgzMjEsIDc4MzI4LCA3ODMzNSwgNzgzNDIsIDc4MzQ5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA3ODM1NiwgNzgzNjMsIDc4MzcwLCA3ODM4MCwgNzgzODYsIDc4MzkyLCA3ODM5OCwgNzg0MDQsIAorICAgIDc4NDEwLCA3ODQxNiwgNzg0MjMsIDc4NDI5LCA3ODQzNSwgNzg0NDEsIDc4NDUwLCA3ODQ1OSwgNzg0NzEsIDc4NDgzLCAKKyAgICA3ODQ4OSwgNzg0OTUsIDc4NTAxLCA3ODUwOCwgNzg1MTUsIDc4NTIyLCA3ODUyOSwgNzg1MzYsIDAsIDc4NTQzLCA3ODU1MCwgCisgICAgNzg1NTcsIDc4NTY1LCA3ODU3MiwgMCwgNzg1NzksIDAsIDc4NTg2LCA3ODU5MywgMCwgNzg2MDAsIDc4NjA4LCAwLCAKKyAgICA3ODYxNSwgNzg2MjIsIDc4NjI5LCA3ODYzNiwgNzg2NDMsIDc4NjUwLCA3ODY1NywgNzg2NjQsIDc4NjcxLCA3ODY3OCwgCisgICAgNzg2ODMsIDc4NjkwLCA3ODY5NywgNzg3MDMsIDc4NzA5LCA3ODcxNSwgNzg3MjEsIDc4NzI3LCA3ODczMywgNzg3MzksIAorICAgIDc4NzQ1LCA3ODc1MSwgNzg3NTcsIDc4NzYzLCA3ODc2OSwgNzg3NzUsIDc4NzgxLCA3ODc4NywgNzg3OTMsIDc4Nzk5LCAKKyAgICA3ODgwNSwgNzg4MTEsIDc4ODE3LCA3ODgyMywgNzg4MjksIDc4ODM1LCA3ODg0MSwgNzg4NDcsIDc4ODUzLCA3ODg1OSwgCisgICAgNzg4NjUsIDc4ODcxLCA3ODg3NywgNzg4ODMsIDc4ODg5LCA3ODg5NSwgNzg5MDEsIDc4OTA3LCA3ODkxMywgNzg5MTksIAorICAgIDc4OTI1LCA3ODkzMSwgNzg5MzcsIDc4OTQzLCA3ODk0OSwgNzg5NTUsIDc4OTYxLCA3ODk2NywgNzg5NzMsIDc4OTc5LCAKKyAgICA3ODk4NSwgNzg5OTEsIDc4OTk3LCA3OTAwMywgNzkwMDksIDc5MDE1LCA3OTAyMSwgNzkwMjcsIDc5MDMzLCA3OTAzOSwgCisgICAgNzkwNDUsIDc5MDUxLCA3OTA1NywgNzkwNjMsIDc5MDY5LCA3OTA3NSwgNzkwODEsIDc5MDg3LCA3OTA5MywgNzkwOTksIAorICAgIDc5MTA1LCA3OTExMSwgNzkxMTcsIDc5MTIzLCA3OTEyOSwgNzkxMzUsIDc5MTQxLCA3OTE0NywgNzkxNTMsIDc5MTYxLCAKKyAgICA3OTE2OSwgNzkxNzUsIDc5MTgxLCA3OTE4NywgNzkxOTMsIDc5MjAyLCA3OTIxMSwgNzkyMTksIDc5MjI3LCA3OTIzNSwgCisgICAgNzkyNDMsIDc5MjUxLCA3OTI1OSwgNzkyNjcsIDc5Mjc1LCA3OTI4MiwgNzkyODksIDc5Mjk5LCA3OTMwOSwgNzkzMTMsIAorICAgIDc5MzE3LCA3OTMyMiwgNzkzMjcsIDc5MzMyLCA3OTMzNywgNzkzNDYsIDc5MzU1LCA3OTM2MSwgNzkzNjcsIDc5Mzc0LCAKKyAgICA3OTM4MSwgNzkzODgsIDc5MzkyLCA3OTM5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNzk0MDQsIDc5NDEwLCA3OTQxNiwgNzk0MjIsIDc5NDI4LCA3OTQzMywgNzk0MzgsIDc5NDQ0LCA3OTQ1MCwgCisgICAgNzk0NTYsIDc5NDYyLCA3OTQ3MCwgNzk0NzYsIDc5NDgyLCA3OTQ5MCwgNzk0OTgsIDc5NTA2LCA3OTUxNCwgNzk1MTksIAorICAgIDc5NTI0LCA3OTUyOSwgNzk1MzQsIDc5NTQ3LCA3OTU2MCwgNzk1NzAsIDc5NTgwLCA3OTU5MSwgNzk2MDIsIDc5NjEzLCAKKyAgICA3OTYyNCwgNzk2MzQsIDc5NjQ0LCA3OTY1NSwgNzk2NjYsIDc5Njc3LCA3OTY4OCwgNzk2OTgsIDc5NzA4LCA3OTcxOCwgCisgICAgNzk3MzQsIDc5NzUwLCA3OTc2NiwgNzk3NzMsIDc5NzgwLCA3OTc4NywgNzk3OTQsIDc5ODA0LCA3OTgxNCwgNzk4MjQsIAorICAgIDc5ODM2LCA3OTg0NiwgNzk4NTQsIDc5ODYyLCA3OTg3MSwgNzk4NzksIDc5ODg5LCA3OTg5NywgNzk5MDUsIDc5OTEzLCAKKyAgICA3OTkyMiwgNzk5MzAsIDc5OTQwLCA3OTk0OCwgNzk5NTYsIDc5OTY0LCA3OTk3NCwgNzk5ODIsIDc5OTg5LCA3OTk5NiwgCisgICAgODAwMDMsIDgwMDEwLCA4MDAxOCwgODAwMjYsIDgwMDM0LCA4MDA0MiwgODAwNTAsIDgwMDU5LCA4MDA2NywgODAwNzUsIAorICAgIDgwMDgzLCA4MDA5MSwgODAwOTksIDgwMTA4LCA4MDExNiwgODAxMjQsIDgwMTMyLCA4MDE0MCwgODAxNDgsIDgwMTU2LCAKKyAgICA4MDE2NCwgODAxNzIsIDgwMTgwLCA4MDE4OCwgODAxOTcsIDgwMjA1LCA4MDIxNSwgODAyMjMsIDgwMjMxLCA4MDIzOSwgCisgICAgODAyNDksIDgwMjU3LCA4MDI2NSwgODAyNzMsIDgwMjgxLCA4MDI5MCwgODAyOTksIDgwMzA3LCA4MDMxNywgODAzMjUsIAorICAgIDgwMzMzLCA4MDM0MSwgODAzNTAsIDgwMzU4LCA4MDM2OCwgODAzNzYsIDgwMzgzLCA4MDM5MCwgODAzOTgsIDgwNDA1LCAKKyAgICA4MDQxNCwgODA0MjEsIDgwNDI5LCA4MDQzNywgODA0NDYsIDgwNDU0LCA4MDQ2NCwgODA0NzIsIDgwNDgwLCA4MDQ4OCwgCisgICAgODA0OTgsIDgwNTA2LCA4MDUxMywgODA1MjAsIDgwNTI4LCA4MDUzNSwgODA1NDQsIDgwNTUxLCA4MDU2MSwgODA1NzEsIAorICAgIDgwNTgyLCA4MDU5MSwgODA2MDAsIDgwNjA5LCA4MDYxOCwgODA2MjcsIDgwNjM3LCA4MDY0OCwgODA2NTksIDgwNjY5LCAKKyAgICA4MDY4MCwgODA2OTIsIDgwNzAyLCA4MDcxMSwgODA3MjAsIDgwNzI4LCA4MDczNywgODA3NDcsIDgwNzU1LCA4MDc2NCwgCisgICAgODA3NzMsIDgwNzgxLCA4MDc5MCwgODA4MDAsIDgwODA4LCA4MDgxNywgODA4MjYsIDgwODM0LCA4MDg0MywgODA4NTMsIAorICAgIDgwODYxLCA4MDg3MSwgODA4NzksIDgwODg5LCA4MDg5NywgODA5MDUsIDgwOTE0LCA4MDkyMiwgODA5MzIsIDgwOTQwLCAKKyAgICA4MDk0OCwgODA5NTgsIDgwOTY2LCA4MDk3MywgODA5ODAsIDgwOTg5LCA4MDk5OCwgODEwMDYsIDgxMDE1LCA4MTAyNSwgCisgICAgODEwMzMsIDgxMDQ0LCA4MTA1MiwgODEwNjAsIDgxMDY3LCA4MTA3NSwgODEwODQsIDgxMDkxLCA4MTEwMSwgODExMTEsIAorICAgIDgxMTIyLCA4MTEzMiwgODExNDMsIDgxMTUxLCA4MTE1OSwgODExNjgsIDgxMTc2LCA4MTE4NSwgODExOTMsIDgxMjAxLCAKKyAgICA4MTIxMCwgODEyMTgsIDgxMjI3LCA4MTIzNSwgODEyNDIsIDgxMjQ5LCA4MTI1NiwgODEyNjMsIDgxMjcxLCA4MTI3OSwgCisgICAgODEyODcsIDgxMjk1LCA4MTMwNCwgODEzMTIsIDgxMzIwLCA4MTMyOSwgODEzMzcsIDgxMzQ1LCA4MTM1MywgODEzNjIsIAorICAgIDgxMzcwLCA4MTM3OCwgODEzODYsIDgxMzk0LCA4MTQwMiwgODE0MTAsIDgxNDE4LCA4MTQyNiwgODE0MzQsIDgxNDQzLCAKKyAgICA4MTQ1MSwgODE0NTksIDgxNDY3LCA4MTQ3NSwgODE0ODMsIDgxNDkyLCA4MTUwMSwgODE1MDksIDgxNTE3LCA4MTUyNSwgCisgICAgODE1MzQsIDgxNTQyLCA4MTU1MSwgODE1NTgsIDgxNTY1LCA4MTU3MywgODE1ODAsIDgxNTg4LCA4MTU5NiwgODE2MDUsIAorICAgIDgxNjEzLCA4MTYyMiwgODE2MzAsIDgxNjM4LCA4MTY0OCwgODE2NTUsIDgxNjYyLCA4MTY3MCwgODE2NzcsIDgxNjg1LCAKKyAgICA4MTY5NSwgODE3MDYsIDgxNzE0LCA4MTcyMywgODE3MzEsIDgxNzQwLCA4MTc0OCwgODE3NTcsIDgxNzY1LCA4MTc3NCwgCisgICAgODE3ODIsIDgxNzkxLCA4MTgwMCwgODE4MDgsIDgxODE2LCA4MTgyNCwgODE4MzMsIDgxODQwLCA4MTg0OCwgODE4NTcsIAorICAgIDgxODY2LCA4MTg3NSwgODE4ODUsIDgxODkzLCA4MTkwMywgODE5MTEsIDgxOTIxLCA4MTkyOSwgODE5MzksIDgxOTQ3LCAKKyAgICA4MTk1NywgODE5NjUsIDgxOTc0LCA4MTk4MSwgODE5OTAsIDgxOTk3LCA4MjAwNywgODIwMTUsIDgyMDI1LCA4MjAzMywgCisgICAgODIwNDMsIDgyMDUxLCA4MjA1OSwgODIwNjcsIDgyMDc2LCA4MjA4NCwgODIwOTMsIDgyMTAyLCA4MjExMSwgODIxMjAsIAorICAgIDgyMTMwLCA4MjEzOCwgODIxNDgsIDgyMTU2LCA4MjE2NiwgODIxNzQsIDgyMTg0LCA4MjE5MiwgODIyMDIsIDgyMjEwLCAKKyAgICA4MjIxOSwgODIyMjYsIDgyMjM1LCA4MjI0MiwgODIyNTIsIDgyMjYwLCA4MjI3MCwgODIyNzgsIDgyMjg4LCA4MjI5NiwgCisgICAgODIzMDQsIDgyMzEyLCA4MjMyMSwgODIzMjksIDgyMzM4LCA4MjM0NywgODIzNTYsIDgyMzY1LCA4MjM3MywgODIzODEsIAorICAgIDgyMzkwLCA4MjM5OCwgODI0MDcsIDgyNDE2LCA4MjQyNCwgODI0MzIsIDgyNDQwLCA4MjQ0OSwgODI0NTcsIDgyNDY1LCAKKyAgICA4MjQ3NCwgODI0ODIsIDgyNDkwLCA4MjQ5OCwgODI1MDYsIDgyNTExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA4MjUxNiwgODI1MjYsIDgyNTM2LCA4MjU0NiwgODI1NTYsIDgyNTY3LCA4MjU3NywgODI1ODcsIAorICAgIDgyNTk4LCA4MjYwNywgODI2MTYsIDgyNjI1LCA4MjYzNiwgODI2NDYsIDgyNjU2LCA4MjY2OCwgODI2NzgsIDgyNjg4LCAKKyAgICA4MjY5OCwgODI3MDgsIDgyNzE4LCA4MjcyOCwgODI3MzgsIDgyNzQ4LCA4Mjc1OCwgODI3NjgsIDgyNzc4LCA4Mjc4OSwgCisgICAgODI4MDAsIDgyODEwLCA4MjgyMCwgODI4MzIsIDgyODQzLCA4Mjg1NCwgODI4NjQsIDgyODc0LCA4Mjg4NCwgODI4OTQsIAorICAgIDgyOTA0LCA4MjkxNCwgODI5MjQsIDgyOTM2LCA4Mjk0NiwgODI5NTYsIDgyOTY4LCA4Mjk3OSwgODI5OTAsIDgzMDAwLCAKKyAgICA4MzAxMCwgODMwMjAsIDgzMDMwLCA4MzA0MiwgODMwNTIsIDgzMDYyLCA4MzA3MywgODMwODQsIDgzMDk0LCA4MzEwNCwgCisgICAgODMxMTMsIDgzMTIyLCA4MzEzMSwgODMxNDAsIDgzMTQ5LCA4MzE1OSwgMCwgMCwgODMxNjksIDgzMTc5LCA4MzE4OSwgCisgICAgODMxOTksIDgzMjA5LCA4MzIyMSwgODMyMzEsIDgzMjQxLCA4MzI1MywgODMyNjMsIDgzMjc1LCA4MzI4NCwgODMyOTMsIAorICAgIDgzMzA0LCA4MzMxNCwgODMzMjYsIDgzMzM3LCA4MzM1MCwgODMzNjAsIDgzMzcyLCA4MzM4MSwgODMzOTIsIDgzNDAzLCAKKyAgICA4MzQxNiwgODM0MjYsIDgzNDM2LCA4MzQ0NiwgODM0NTYsIDgzNDY2LCA4MzQ3NSwgODM0ODQsIDgzNDkzLCA4MzUwMiwgCisgICAgODM1MTIsIDgzNTIyLCA4MzUzMiwgODM1NDIsIDgzNTUyLCA4MzU2MiwgODM1NzIsIDgzNTgyLCA4MzU5MiwgODM2MDIsIAorICAgIDgzNjEyLCA4MzYyMiwgODM2MzEsIDgzNjQwLCA4MzY0OSwgODM2NTksIDgzNjY5LCA4MzY3OSwgODM2ODksIDgzNjk5LCAKKyAgICA4MzcxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODM3MjAsIDgzNzM1LCAKKyAgICA4Mzc1MCwgODM3NTYsIDgzNzYyLCA4Mzc2OCwgODM3NzQsIDgzNzgwLCA4Mzc4NiwgODM3OTIsIDgzNzk4LCA4MzgwNiwgCisgICAgODM4MTAsIDgzODEzLCAwLCAwLCA4MzgyMSwgODM4MjQsIDgzODI3LCA4MzgzMCwgODM4MzMsIDgzODM2LCA4MzgzOSwgCisgICAgODM4NDIsIDgzODQ1LCA4Mzg0OCwgODM4NTEsIDgzODU0LCA4Mzg1NywgODM4NjAsIDgzODYzLCA4Mzg2NiwgODM4NjksIAorICAgIDgzODc3LCA4Mzg4NiwgODM4OTcsIDgzOTA1LCA4MzkxMywgODM5MjIsIDgzOTMxLCA4Mzk0MiwgODM5NTQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDgzOTYzLCA4Mzk2OCwgODM5NzMsIDgzOTgwLCA4Mzk4NywgODM5OTMsIDgzOTk5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4NDAwNCwgODQwMTQsIDg0MDI0LCA4NDAzNCwgODQwNDMsIDg0MDU0LCA4NDA2MywgODQwNzIsIAorICAgIDg0MDgyLCA4NDA5MiwgODQxMDQsIDg0MTE2LCA4NDEyNywgODQxMzgsIDg0MTQ5LCA4NDE2MCwgODQxNzAsIDg0MTgwLCAKKyAgICA4NDE5MCwgODQyMDAsIDg0MjExLCA4NDIyMiwgODQyMjYsIDg0MjMxLCA4NDI0MCwgODQyNDksIDg0MjUzLCA4NDI1NywgCisgICAgODQyNjEsIDg0MjY2LCA4NDI3MSwgODQyNzYsIDg0MjgxLCA4NDI4NCwgODQyODgsIDAsIDg0MjkzLCA4NDI5NiwgODQyOTksIAorICAgIDg0MzAzLCA4NDMwNywgODQzMTIsIDg0MzE2LCA4NDMyMCwgODQzMjUsIDg0MzMwLCA4NDMzNywgODQzNDQsIDg0MzQ3LCAKKyAgICA4NDM1MCwgODQzNTMsIDg0MzU2LCA4NDM1OSwgODQzNjMsIDg0MzY3LCAwLCA4NDM3MSwgODQzNzYsIDg0MzgwLCA4NDM4NCwgCisgICAgMCwgMCwgMCwgMCwgODQzODksIDg0Mzk0LCA4NDQwMSwgODQ0MDYsIDg0NDExLCAwLCA4NDQxNiwgODQ0MjEsIDg0NDI2LCAKKyAgICA4NDQzMSwgODQ0MzYsIDg0NDQxLCA4NDQ0NiwgODQ0NTEsIDg0NDU2LCA4NDQ2MSwgODQ0NjYsIDg0NDcxLCA4NDQ4MCwgCisgICAgODQ0ODksIDg0NDk3LCA4NDUwNSwgODQ1MTQsIDg0NTIzLCA4NDUzMiwgODQ1NDEsIDg0NTQ5LCA4NDU1NywgODQ1NjUsIAorICAgIDg0NTczLCA4NDU3OCwgODQ1ODMsIDg0NTg5LCA4NDU5NSwgODQ2MDEsIDg0NjA3LCA4NDYxNSwgODQ2MjMsIDg0NjI5LCAKKyAgICA4NDYzNSwgODQ2NDEsIDg0NjQ3LCA4NDY1MywgODQ2NTksIDg0NjY1LCA4NDY3MSwgODQ2NzYsIDg0NjgxLCA4NDY4NiwgCisgICAgODQ2OTEsIDg0Njk2LCA4NDcwMSwgODQ3MDYsIDg0NzExLCA4NDcxNywgODQ3MjMsIDg0NzI5LCA4NDczNSwgODQ3NDEsIAorICAgIDg0NzQ3LCA4NDc1MywgODQ3NTksIDg0NzY1LCA4NDc3MSwgODQ3NzcsIDg0NzgzLCA4NDc4OSwgODQ3OTUsIDg0ODAxLCAKKyAgICA4NDgwNywgODQ4MTMsIDg0ODE5LCA4NDgyNSwgODQ4MzEsIDg0ODM3LCA4NDg0MywgODQ4NDksIDg0ODU1LCA4NDg2MSwgCisgICAgODQ4NjcsIDg0ODczLCA4NDg3OSwgODQ4ODUsIDg0ODkxLCA4NDg5NywgODQ5MDMsIDg0OTA5LCA4NDkxNSwgODQ5MjEsIAorICAgIDg0OTI3LCA4NDkzMywgODQ5MzksIDg0OTQ1LCA4NDk1MSwgODQ5NTcsIDg0OTYzLCA4NDk2OSwgODQ5NzUsIDg0OTgxLCAKKyAgICA4NDk4NywgODQ5OTMsIDg0OTk5LCA4NTAwNSwgODUwMTEsIDg1MDE3LCA4NTAyMywgODUwMjksIDg1MDM1LCA4NTA0MSwgCisgICAgODUwNDcsIDg1MDUzLCA4NTA1OSwgODUwNjUsIDg1MDcxLCA4NTA3NiwgODUwODEsIDg1MDg2LCA4NTA5MSwgODUwOTcsIAorICAgIDg1MTAzLCA4NTEwOSwgODUxMTUsIDg1MTIxLCA4NTEyNywgODUxMzMsIDg1MTM5LCA4NTE0NSwgODUxNTEsIDg1MTU4LCAKKyAgICA4NTE2NSwgODUxNzAsIDg1MTc1LCA4NTE4MCwgODUxODUsIDg1MTk3LCA4NTIwOSwgODUyMjAsIDg1MjMxLCA4NTI0MywgCisgICAgODUyNTUsIDg1MjYzLCAwLCAwLCA4NTI3MSwgMCwgODUyNzksIDg1MjgzLCA4NTI4NywgODUyOTAsIDg1Mjk0LCA4NTI5OCwgCisgICAgODUzMDEsIDg1MzA0LCA4NTMwOCwgODUzMTIsIDg1MzE1LCA4NTMxOCwgODUzMjEsIDg1MzI0LCA4NTMyOSwgODUzMzIsIAorICAgIDg1MzM2LCA4NTMzOSwgODUzNDIsIDg1MzQ1LCA4NTM0OCwgODUzNTEsIDg1MzU0LCA4NTM1NywgODUzNjAsIDg1MzYzLCAKKyAgICA4NTM2NiwgODUzNjksIDg1MzczLCA4NTM3NywgODUzODEsIDg1Mzg1LCA4NTM5MCwgODUzOTUsIDg1NDAxLCA4NTQwNywgCisgICAgODU0MTMsIDg1NDE4LCA4NTQyNCwgODU0MzAsIDg1NDM2LCA4NTQ0MSwgODU0NDcsIDg1NDUzLCA4NTQ1OCwgODU0NjMsIAorICAgIDg1NDY5LCA4NTQ3NCwgODU0ODAsIDg1NDg2LCA4NTQ5MSwgODU0OTcsIDg1NTAzLCA4NTUwOCwgODU1MTQsIDg1NTIwLCAKKyAgICA4NTUyNiwgODU1MzIsIDg1NTM4LCA4NTU0MiwgODU1NDcsIDg1NTUxLCA4NTU1NiwgODU1NjAsIDg1NTY1LCA4NTU3MCwgCisgICAgODU1NzYsIDg1NTgyLCA4NTU4OCwgODU1OTMsIDg1NTk5LCA4NTYwNSwgODU2MTEsIDg1NjE2LCA4NTYyMiwgODU2MjgsIAorICAgIDg1NjMzLCA4NTYzOCwgODU2NDQsIDg1NjQ5LCA4NTY1NSwgODU2NjEsIDg1NjY2LCA4NTY3MiwgODU2NzgsIDg1NjgzLCAKKyAgICA4NTY4OSwgODU2OTUsIDg1NzAxLCA4NTcwNywgODU3MTMsIDg1NzE4LCA4NTcyMiwgODU3MjcsIDg1NzI5LCA4NTczNCwgCisgICAgODU3MzksIDg1NzQ1LCA4NTc1MCwgODU3NTUsIDg1NzU5LCA4NTc2NSwgODU3NzAsIDg1Nzc1LCA4NTc4MCwgODU3ODUsIAorICAgIDg1NzkwLCA4NTc5NSwgODU4MDAsIDg1ODA2LCA4NTgxMiwgODU4MTgsIDg1ODI2LCA4NTgzMCwgODU4MzQsIDg1ODM4LCAKKyAgICA4NTg0MiwgODU4NDYsIDg1ODUwLCA4NTg1NSwgODU4NjAsIDg1ODY1LCA4NTg3MCwgODU4NzQsIDg1ODc5LCA4NTg4NCwgCisgICAgODU4ODksIDg1ODk0LCA4NTg5OSwgODU5MDQsIDg1OTA5LCA4NTkxNCwgODU5MTgsIDg1OTIyLCA4NTkyNywgODU5MzIsIAorICAgIDg1OTM3LCA4NTk0MiwgODU5NDYsIDg1OTUxLCA4NTk1NiwgODU5NjEsIDg1OTY2LCA4NTk3MCwgODU5NzUsIDg1OTgwLCAKKyAgICA4NTk4NSwgODU5OTAsIDg1OTk0LCA4NTk5OSwgODYwMDQsIDg2MDA4LCA4NjAxMywgODYwMTgsIDg2MDIzLCA4NjAyOCwgCisgICAgODYwMzMsIDg2MDM4LCA4NjA0NSwgODYwNTIsIDg2MDU2LCA4NjA2MSwgODYwNjYsIDg2MDcxLCA4NjA3NiwgODYwODEsIAorICAgIDg2MDg2LCA4NjA5MSwgODYwOTYsIDg2MTAxLCA4NjEwNiwgODYxMTEsIDg2MTE2LCA4NjEyMSwgODYxMjYsIDg2MTMxLCAKKyAgICA4NjEzNiwgODYxNDEsIDg2MTQ2LCA4NjE1MSwgODYxNTYsIDg2MTYxLCA4NjE2NiwgODYxNzEsIDg2MTc2LCA4NjE4MSwgCisgICAgODYxODYsIDg2MTkxLCA4NjE5NiwgODYyMDEsIDAsIDAsIDAsIDg2MjA2LCA4NjIxMCwgODYyMTUsIDg2MjE5LCA4NjIyNCwgCisgICAgODYyMjksIDAsIDAsIDg2MjMzLCA4NjIzOCwgODYyNDMsIDg2MjQ3LCA4NjI1MiwgODYyNTcsIDAsIDAsIDg2MjYyLCAKKyAgICA4NjI2NywgODYyNzEsIDg2Mjc2LCA4NjI4MSwgODYyODYsIDAsIDAsIDg2MjkxLCA4NjI5NiwgODYzMDEsIDAsIDAsIDAsIAorICAgIDg2MzA1LCA4NjMwOSwgODYzMTMsIDg2MzE3LCA4NjMyMCwgODYzMjQsIDg2MzI4LCAwLCA4NjMzMiwgODYzMzgsIDg2MzQxLCAKKyAgICA4NjM0NSwgODYzNDgsIDg2MzUyLCA4NjM1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODYzNjAsIDg2MzY2LCAKKyAgICA4NjM3MiwgODYzNzgsIDg2Mzg0LCAwLCAwLCA4NjM4OCwgODYzOTQsIDg2NDAwLCA4NjQwNiwgODY0MTIsIDg2NDE4LCAKKyAgICA4NjQyNSwgODY0MzIsIDg2NDM5LCA4NjQ0NiwgODY0NTMsIDg2NDYwLCAwLCA4NjQ2NywgODY0NzQsIDg2NDgxLCA4NjQ4NywgCisgICAgODY0OTQsIDg2NTAxLCA4NjUwOCwgODY1MTUsIDg2NTIxLCA4NjUyOCwgODY1MzUsIDg2NTQyLCA4NjU0OSwgODY1NTUsIAorICAgIDg2NTYyLCA4NjU2OSwgODY1NzYsIDg2NTgzLCA4NjU4OSwgODY1OTYsIDg2NjAzLCA4NjYxMCwgODY2MTcsIDg2NjI0LCAKKyAgICA4NjYzMSwgODY2MzgsIDAsIDg2NjQ1LCA4NjY1MSwgODY2NTgsIDg2NjY1LCA4NjY3MiwgODY2NzksIDg2Njg1LCA4NjY5MiwgCisgICAgODY2OTksIDg2NzA2LCA4NjcxMywgODY3MjAsIDg2NzI3LCA4NjczNCwgODY3NDAsIDg2NzQ3LCA4Njc1NCwgODY3NjEsIAorICAgIDg2NzY4LCAwLCA4Njc3NSwgODY3ODIsIDAsIDg2Nzg5LCA4Njc5NiwgODY4MDMsIDg2ODEwLCA4NjgxNywgODY4MjQsIAorICAgIDg2ODMxLCA4NjgzOCwgODY4NDUsIDg2ODUyLCA4Njg1OSwgODY4NjYsIDg2ODczLCA4Njg4MCwgODY4ODcsIDAsIDAsIAorICAgIDg2ODkzLCA4Njg5OCwgODY5MDMsIDg2OTA4LCA4NjkxMywgODY5MTgsIDg2OTIzLCA4NjkyOCwgODY5MzMsIDg2OTM4LCAKKyAgICA4Njk0MywgODY5NDgsIDg2OTUzLCA4Njk1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODY5NjMsIDg2OTcwLCAKKyAgICA4Njk3NywgODY5ODQsIDg2OTkxLCA4Njk5OCwgODcwMDUsIDg3MDEyLCA4NzAxOSwgODcwMjYsIDg3MDMzLCA4NzA0MCwgCisgICAgODcwNDcsIDg3MDU0LCA4NzA2MSwgODcwNjgsIDg3MDc1LCA4NzA4MiwgODcwODksIDg3MDk2LCA4NzEwNCwgODcxMTIsIAorICAgIDg3MTE5LCA4NzEyNiwgODcxMzEsIDg3MTM5LCA4NzE0NywgODcxNTQsIDg3MTYxLCA4NzE2NiwgODcxNzMsIDg3MTc4LCAKKyAgICA4NzE4MywgODcxOTAsIDg3MTk1LCA4NzIwMCwgODcyMDUsIDg3MjEzLCA4NzIxOCwgODcyMjMsIDg3MjMwLCA4NzIzNSwgCisgICAgODcyNDAsIDg3MjQ3LCA4NzI1NCwgODcyNTksIDg3MjY0LCA4NzI2OSwgODcyNzQsIDg3Mjc5LCA4NzI4NCwgODcyODksIAorICAgIDg3Mjk0LCA4NzI5OSwgODczMDYsIDg3MzExLCA4NzMxOCwgODczMjMsIDg3MzI4LCA4NzMzMywgODczMzgsIDg3MzQzLCAKKyAgICA4NzM0OCwgODczNTMsIDg3MzU4LCA4NzM2MywgODczNjgsIDg3MzczLCA4NzM4MCwgODczODcsIDg3Mzk0LCA4NzQwMSwgCisgICAgODc0MDcsIDg3NDEyLCA4NzQxOSwgODc0MjQsIDg3NDI5LCA4NzQzOCwgODc0NDUsIDg3NDU0LCA4NzQ2MSwgODc0NjYsIAorICAgIDg3NDcxLCA4NzQ3OSwgODc0ODQsIDg3NDg5LCA4NzQ5NCwgODc0OTksIDg3NTA0LCA4NzUxMSwgODc1MTYsIDg3NTIxLCAKKyAgICA4NzUyNiwgODc1MzEsIDg3NTM2LCA4NzU0MywgODc1NTAsIDg3NTU3LCA4NzU2NCwgODc1NzEsIDg3NTc4LCA4NzU4NSwgCisgICAgODc1OTIsIDg3NTk5LCA4NzYwNiwgODc2MTMsIDg3NjIwLCA4NzYyNywgODc2MzQsIDg3NjQxLCA4NzY0OCwgODc2NTUsIAorICAgIDg3NjYyLCA4NzY2OSwgODc2NzYsIDg3NjgzLCA4NzY5MCwgODc2OTcsIDg3NzA0LCA4NzcxMSwgODc3MTgsIDg3NzI1LCAKKyAgICA4NzczMiwgMCwgMCwgMCwgMCwgMCwgODc3MzksIDg3NzQ3LCA4Nzc1NSwgMCwgMCwgMCwgMCwgODc3NjAsIDg3NzY0LCAKKyAgICA4Nzc2OCwgODc3NzIsIDg3Nzc2LCA4Nzc4MCwgODc3ODQsIDg3Nzg4LCA4Nzc5MiwgODc3OTYsIDg3ODAxLCA4NzgwNiwgCisgICAgODc4MTEsIDg3ODE2LCA4NzgyMSwgODc4MjYsIDg3ODMxLCA4NzgzNiwgODc4NDEsIDg3ODQ3LCA4Nzg1MywgODc4NTksIAorICAgIDg3ODY2LCA4Nzg3MywgODc4ODAsIDg3ODg3LCA4Nzg5NCwgODc5MDEsIDg3OTA3LCA4NzkxMywgODc5MTksIDg3OTI2LCAKKyAgICA4NzkzMywgODc5NDAsIDg3OTQ3LCA4Nzk1NCwgODc5NjEsIDg3OTY4LCA4Nzk3NSwgODc5ODIsIDg3OTg5LCA4Nzk5NiwgCisgICAgODgwMDMsIDg4MDEwLCA4ODAxNywgMCwgMCwgMCwgODgwMjQsIDg4MDMyLCA4ODA0MCwgODgwNDgsIDg4MDU2LCA4ODA2NCwgCisgICAgODgwNzQsIDg4MDg0LCA4ODA5MiwgODgxMDAsIDg4MTA4LCA4ODExNiwgODgxMjQsIDg4MTMwLCA4ODEzNywgODgxNDYsIAorICAgIDg4MTU1LCA4ODE2NCwgODgxNzMsIDg4MTgyLCA4ODE5MSwgODgyMDEsIDg4MjEyLCA4ODIyMiwgODgyMzMsIDg4MjQyLCAKKyAgICA4ODI1MSwgODgyNjAsIDg4MjcwLCA4ODI4MSwgODgyOTEsIDg4MzAyLCA4ODMxMywgODgzMjIsIDg4MzMwLCA4ODMzNiwgCisgICAgODgzNDIsIDg4MzQ4LCA4ODM1NCwgODgzNjIsIDg4MzcwLCA4ODM3NiwgODgzODMsIDg4MzkzLCA4ODQwMCwgODg0MDcsIAorICAgIDg4NDE0LCA4ODQyMSwgODg0MjgsIDg4NDM4LCA4ODQ0NSwgODg0NTIsIDg4NDYwLCA4ODQ2OCwgODg0NzcsIDg4NDg2LCAKKyAgICA4ODQ5NSwgODg1MDQsIDg4NTEzLCA4ODUyMSwgODg1MzAsIDg4NTM5LCA4ODU0OCwgODg1NTIsIDg4NTU5LCA4ODU2NCwgCisgICAgODg1NjksIDg4NTczLCA4ODU3NywgODg1ODEsIDg4NTg1LCA4ODU5MCwgODg1OTUsIDg4NjAxLCA4ODYwNywgODg2MTEsIAorICAgIDg4NjE3LCA4ODYyMSwgODg2MjUsIDg4NjI5LCA4ODYzMywgODg2MzcsIDg4NjQxLCA4ODY0NywgMCwgMCwgMCwgMCwgMCwgCisgICAgODg2NTEsIDg4NjU2LCA4ODY2MSwgODg2NjYsIDg4NjcxLCA4ODY3OCwgODg2ODMsIDg4Njg4LCA4ODY5MywgODg2OTgsIAorICAgIDg4NzAzLCA4ODcwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODg3MDgsIDg4NzE1LCA4ODcyNCwgODg3MzMsIDg4NzQwLCA4ODc0NywgODg3NTQsIAotICAgIDg4NzYxLCA4ODc2OCwgODg3NzUsIDg4NzgxLCA4ODc4OCwgODg3OTUsIDg4ODAyLCA4ODgwOSwgODg4MTYsIDg4ODIzLCAKLSAgICA4ODgzMCwgODg4MzcsIDg4ODQ2LCA4ODg1MywgODg4NjAsIDg4ODY3LCA4ODg3NCwgODg4ODEsIDg4ODg4LCA4ODg5NSwgCi0gICAgODg5MDIsIDg4OTExLCA4ODkxOCwgODg5MjUsIDg4OTMyLCA4ODkzOSwgODg5NDYsIDg4OTUzLCA4ODk2MiwgODg5NjksIAotICAgIDg4OTc2LCA4ODk4MywgODg5OTAsIDg4OTk5LCA4OTAwNiwgODkwMTMsIDg5MDIwLCA4OTAyOCwgODkwMzcsIDAsIDAsIAotICAgIDg5MDQ2LCA4OTA1MCwgODkwNTQsIDg5MDU5LCA4OTA2NCwgODkwNjksIDg5MDc0LCA4OTA3OCwgODkwODMsIDg5MDg4LCAKLSAgICA4OTA5MywgODkwOTgsIDg5MTAzLCA4OTEwOCwgODkxMTIsIDg5MTE2LCA4OTEyMSwgODkxMjYsIDg5MTMxLCA4OTEzNSwgCi0gICAgODkxNDAsIDg5MTQ1LCA4OTE0OSwgODkxNTQsIDg5MTU5LCA4OTE2NCwgODkxNjksIDg5MTc0LCA4OTE3OSwgMCwgMCwgMCwgCi0gICAgODkxODQsIDg5MTg4LCA4OTE5MywgODkxOTgsIDg5MjAyLCA4OTIwNywgODkyMTEsIDg5MjE2LCA4OTIyMSwgODkyMjYsIAotICAgIDg5MjMxLCA4OTIzNSwgODkyMzksIDg5MjQ0LCA4OTI0OSwgODkyNTQsIDg5MjU5LCA4OTI2NCwgODkyNjksIDg5MjczLCAKLSAgICA4OTI3OCwgODkyODMsIDg5Mjg4LCA4OTI5MywgODkyOTgsIDg5MzAzLCA4OTMwNywgODkzMTEsIDg5MzE2LCA4OTMyMSwgCi0gICAgODkzMjYsIDg5MzMxLCA4OTMzNiwgODkzNDEsIDg5MzQ2LCA4OTM1MSwgODkzNTYsIDg5MzYxLCA4OTM2NiwgODkzNzEsIAotICAgIDg5Mzc2LCA4OTM4MSwgODkzODYsIDg5MzkxLCA4OTM5NiwgODk0MDEsIDg5NDA2LCA4OTQxMSwgODk0MTYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4NzEzLCA4ODcyMCwgODg3MjksIDg4NzM4LCA4ODc0NSwgODg3NTIsIDg4NzU5LCAKKyAgICA4ODc2NiwgODg3NzMsIDg4NzgwLCA4ODc4NiwgODg3OTMsIDg4ODAwLCA4ODgwNywgODg4MTQsIDg4ODIxLCA4ODgyOCwgCisgICAgODg4MzUsIDg4ODQyLCA4ODg1MSwgODg4NTgsIDg4ODY1LCA4ODg3MiwgODg4NzksIDg4ODg2LCA4ODg5MywgODg5MDAsIAorICAgIDg4OTA3LCA4ODkxNiwgODg5MjMsIDg4OTMwLCA4ODkzNywgODg5NDQsIDg4OTUxLCA4ODk1OCwgODg5NjcsIDg4OTc0LCAKKyAgICA4ODk4MSwgODg5ODgsIDg4OTk1LCA4OTAwNCwgODkwMTEsIDg5MDE4LCA4OTAyNSwgODkwMzMsIDg5MDQyLCAwLCAwLCAKKyAgICA4OTA1MSwgODkwNTUsIDg5MDU5LCA4OTA2NCwgODkwNjksIDg5MDc0LCA4OTA3OSwgODkwODMsIDg5MDg4LCA4OTA5MywgCisgICAgODkwOTgsIDg5MTAzLCA4OTEwOCwgODkxMTMsIDg5MTE3LCA4OTEyMSwgODkxMjYsIDg5MTMxLCA4OTEzNiwgODkxNDAsIAorICAgIDg5MTQ1LCA4OTE1MCwgODkxNTQsIDg5MTU5LCA4OTE2NCwgODkxNjksIDg5MTc0LCA4OTE3OSwgODkxODQsIDAsIDAsIDAsIAorICAgIDg5MTg5LCA4OTE5MywgODkxOTgsIDg5MjAzLCA4OTIwNywgODkyMTIsIDg5MjE2LCA4OTIyMSwgODkyMjYsIDg5MjMxLCAKKyAgICA4OTIzNiwgODkyNDAsIDg5MjQ0LCA4OTI0OSwgODkyNTQsIDg5MjU5LCA4OTI2NCwgODkyNjksIDg5Mjc0LCA4OTI3OCwgCisgICAgODkyODMsIDg5Mjg4LCA4OTI5MywgODkyOTgsIDg5MzAzLCA4OTMwOCwgODkzMTIsIDg5MzE2LCA4OTMyMSwgODkzMjYsIAorICAgIDg5MzMxLCA4OTMzNiwgODkzNDEsIDg5MzQ2LCA4OTM1MSwgODkzNTYsIDg5MzYxLCA4OTM2NiwgODkzNzEsIDg5Mzc2LCAKKyAgICA4OTM4MSwgODkzODYsIDg5MzkxLCA4OTM5NiwgODk0MDEsIDg5NDA2LCA4OTQxMSwgODk0MTYsIDg5NDIxLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTQyMSwgODk0MjUsIAotICAgIDg5NDMwLCA4OTQzNSwgODk0NDAsIDg5NDQ0LCA4OTQ0OSwgODk0NTQsIDg5NDU5LCA4OTQ2NCwgODk0NjgsIDg5NDcyLCAKLSAgICA4OTQ3NywgODk0ODIsIDg5NDg3LCA4OTQ5MiwgODk0OTYsIDg5NTAxLCA4OTUwNiwgODk1MTEsIDg5NTE2LCA4OTUyMSwgCi0gICAgODk1MjYsIDg5NTMwLCA4OTUzNSwgODk1NDAsIDg5NTQ1LCA4OTU1MCwgODk1NTUsIDg5NTYwLCA4OTU2NSwgMCwgODk1NzAsIAotICAgIDg5NTc1LCA4OTU4MCwgODk1ODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NTkyLCA4OTU5NywgCi0gICAgODk2MDIsIDg5NjA3LCA4OTYxMiwgODk2MTcsIDg5NjIyLCA4OTYyNywgODk2MzIsIDg5NjM3LCA4OTY0MiwgODk2NDcsIAotICAgIDg5NjUyLCA4OTY1NywgODk2NjIsIDg5NjY3LCA4OTY3MiwgODk2NzcsIDg5NjgyLCA4OTY4NywgODk2OTIsIDg5Njk3LCAKLSAgICA4OTcwMiwgODk3MDcsIDg5NzEyLCA4OTcxNywgODk3MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NDI2LCA4OTQzMCwgCisgICAgODk0MzUsIDg5NDQwLCA4OTQ0NSwgODk0NDksIDg5NDU0LCA4OTQ1OSwgODk0NjQsIDg5NDY5LCA4OTQ3MywgODk0NzcsIAorICAgIDg5NDgyLCA4OTQ4NywgODk0OTIsIDg5NDk3LCA4OTUwMSwgODk1MDYsIDg5NTExLCA4OTUxNiwgODk1MjEsIDg5NTI2LCAKKyAgICA4OTUzMSwgODk1MzUsIDg5NTQwLCA4OTU0NSwgODk1NTAsIDg5NTU1LCA4OTU2MCwgODk1NjUsIDg5NTcwLCAwLCA4OTU3NSwgCisgICAgODk1ODAsIDg5NTg1LCA4OTU5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODk1OTcsIDg5NjAyLCAKKyAgICA4OTYwNywgODk2MTIsIDg5NjE3LCA4OTYyMiwgODk2MjcsIDg5NjMyLCA4OTYzNywgODk2NDIsIDg5NjQ3LCA4OTY1MiwgCisgICAgODk2NTcsIDg5NjYyLCA4OTY2NywgODk2NzIsIDg5Njc3LCA4OTY4MiwgODk2ODcsIDg5NjkyLCA4OTY5NywgODk3MDIsIAorICAgIDg5NzA3LCA4OTcxMiwgODk3MTcsIDg5NzIyLCA4OTcyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODk3MjksIDg5NzM0LCA4OTczOSwgCi0gICAgODk3NDQsIDg5NzQ5LCA4OTc1NCwgODk3NTksIDg5NzY0LCA4OTc2OSwgODk3NzQsIDg5Nzc5LCA4OTc4NCwgODk3ODksIAotICAgIDg5Nzk0LCA4OTc5OSwgODk4MDQsIDg5ODA5LCA4OTgxNCwgODk4MTksIDg5ODI0LCA4OTgyOSwgODk4MzQsIDg5ODM5LCAKLSAgICA4OTg0NCwgODk4NDksIDg5ODU0LCA4OTg1OSwgODk4NjMsIDg5ODY3LCA4OTg3MSwgMCwgODk4NzYsIDg5ODgyLCA4OTg4NywgCi0gICAgODk4OTIsIDg5ODk3LCA4OTkwMiwgODk5MDgsIDg5OTE0LCA4OTkyMCwgODk5MjYsIDg5OTMyLCA4OTkzOCwgODk5NDQsIAotICAgIDg5OTUwLCA4OTk1NiwgODk5NjIsIDg5OTY4LCA4OTk3NCwgODk5ODAsIDg5OTg1LCA4OTk5MSwgODk5OTcsIDkwMDAyLCAKLSAgICA5MDAwOCwgOTAwMTMsIDkwMDE5LCA5MDAyNSwgOTAwMzAsIDkwMDM2LCA5MDA0MiwgOTAwNDcsIDkwMDUzLCA5MDA1OSwgCi0gICAgOTAwNjQsIDkwMDcwLCA5MDA3NiwgOTAwODIsIDAsIDAsIDAsIDAsIDkwMDg3LCA5MDA5MywgOTAwOTksIDkwMTA1LCAKLSAgICA5MDExMSwgOTAxMTcsIDkwMTIzLCA5MDEyOSwgOTAxMzUsIDkwMTQyLCA5MDE0NywgOTAxNTIsIDkwMTU4LCA5MDE2NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODk3MzQsIDg5NzM5LCA4OTc0NCwgCisgICAgODk3NDksIDg5NzU0LCA4OTc1OSwgODk3NjQsIDg5NzY5LCA4OTc3NCwgODk3NzksIDg5Nzg0LCA4OTc4OSwgODk3OTQsIAorICAgIDg5Nzk5LCA4OTgwNCwgODk4MDksIDg5ODE0LCA4OTgxOSwgODk4MjQsIDg5ODI5LCA4OTgzNCwgODk4MzksIDg5ODQ0LCAKKyAgICA4OTg0OSwgODk4NTQsIDg5ODU5LCA4OTg2NCwgODk4NjgsIDg5ODcyLCA4OTg3NiwgMCwgODk4ODEsIDg5ODg3LCA4OTg5MiwgCisgICAgODk4OTcsIDg5OTAyLCA4OTkwNywgODk5MTMsIDg5OTE5LCA4OTkyNSwgODk5MzEsIDg5OTM3LCA4OTk0MywgODk5NDksIAorICAgIDg5OTU1LCA4OTk2MSwgODk5NjcsIDg5OTczLCA4OTk3OSwgODk5ODUsIDg5OTkwLCA4OTk5NiwgOTAwMDIsIDkwMDA3LCAKKyAgICA5MDAxMywgOTAwMTgsIDkwMDI0LCA5MDAzMCwgOTAwMzUsIDkwMDQxLCA5MDA0NywgOTAwNTIsIDkwMDU4LCA5MDA2NCwgCisgICAgOTAwNjksIDkwMDc1LCA5MDA4MSwgOTAwODcsIDAsIDAsIDAsIDAsIDkwMDkyLCA5MDA5OCwgOTAxMDQsIDkwMTEwLCAKKyAgICA5MDExNiwgOTAxMjIsIDkwMTI4LCA5MDEzNCwgOTAxNDAsIDkwMTQ3LCA5MDE1MiwgOTAxNTcsIDkwMTYzLCA5MDE2OSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTAxNzAsIDkwMTc1LCA5MDE4MCwgCi0gICAgOTAxODUsIDkwMTkxLCA5MDE5NiwgOTAyMDIsIDkwMjA4LCA5MDIxNCwgOTAyMjAsIDkwMjI3LCA5MDIzMywgOTAyNDAsIAotICAgIDkwMjQ1LCA5MDI1MCwgOTAyNTUsIDkwMjYwLCA5MDI2NSwgOTAyNzAsIDkwMjc1LCA5MDI4MCwgOTAyODUsIDkwMjkwLCAKLSAgICA5MDI5NSwgOTAzMDAsIDkwMzA1LCA5MDMxMCwgOTAzMTUsIDkwMzIwLCA5MDMyNSwgOTAzMzAsIDkwMzM1LCA5MDM0MCwgCi0gICAgOTAzNDUsIDkwMzUwLCA5MDM1NSwgOTAzNjAsIDkwMzY1LCA5MDM3MCwgOTAzNzUsIDkwMzgwLCA5MDM4NSwgOTAzOTAsIAotICAgIDkwMzk1LCA5MDQwMSwgOTA0MDYsIDkwNDEyLCA5MDQxOCwgOTA0MjQsIDkwNDMwLCA5MDQzNywgOTA0NDMsIDkwNDUwLCAKLSAgICA5MDQ1NSwgOTA0NjAsIDkwNDY1LCA5MDQ3MCwgOTA0NzUsIDkwNDgwLCA5MDQ4NSwgOTA0OTAsIDkwNDk1LCA5MDUwMCwgCi0gICAgOTA1MDUsIDkwNTEwLCA5MDUxNSwgOTA1MjAsIDkwNTI1LCA5MDUzMCwgOTA1MzUsIDkwNTQwLCA5MDU0NSwgOTA1NTAsIAotICAgIDkwNTU1LCA5MDU2MCwgOTA1NjUsIDkwNTcwLCA5MDU3NSwgOTA1ODAsIDkwNTg1LCA5MDU5MCwgOTA1OTUsIDkwNjAwLCAKLSAgICA5MDYwNSwgOTA2MTAsIDkwNjE1LCA5MDYyMCwgOTA2MjUsIDkwNjMwLCA5MDYzNSwgOTA2NDAsIDkwNjQ1LCA5MDY1MCwgCi0gICAgOTA2NTUsIDkwNjYwLCA5MDY2NSwgOTA2NzAsIDkwNjc1LCA5MDY4MCwgOTA2ODUsIDkwNjkwLCA5MDY5NSwgOTA3MDAsIAotICAgIDkwNzA1LCA5MDcxMCwgOTA3MTUsIDkwNzIwLCA5MDcyNSwgOTA3MzAsIDkwNzM1LCA5MDc0MCwgOTA3NDUsIDkwNzUwLCAKLSAgICA5MDc1NSwgOTA3NjAsIDkwNzY1LCA5MDc3MCwgOTA3NzUsIDkwNzgwLCA5MDc4NSwgOTA3OTAsIDkwNzk1LCA5MDgwMCwgCi0gICAgOTA4MDUsIDkwODEwLCA5MDgxNSwgOTA4MjAsIDkwODI1LCA5MDgzMCwgOTA4MzUsIDkwODQwLCA5MDg0NSwgOTA4NTAsIAotICAgIDkwODU1LCA5MDg2MCwgOTA4NjUsIDkwODY5LCA5MDg3MywgOTA4NzgsIDkwODgzLCA5MDg4OCwgOTA4OTMsIDkwODk4LCAKLSAgICA5MDkwMywgOTA5MDgsIDkwOTEzLCA5MDkxOCwgOTA5MjMsIDkwOTI4LCA5MDkzMiwgOTA5MzYsIDkwOTQwLCA5MDk0NCwgCi0gICAgOTA5NDgsIDkwOTUyLCA5MDk1NiwgOTA5NjEsIDkwOTY2LCAwLCAwLCA5MDk3MSwgOTA5NzYsIDkwOTgwLCA5MDk4NCwgCi0gICAgOTA5ODgsIDkwOTkyLCA5MDk5NiwgOTEwMDAsIDkxMDA0LCA5MTAwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTAxNzUsIDkwMTgwLCA5MDE4NSwgCisgICAgOTAxOTAsIDkwMTk2LCA5MDIwMSwgOTAyMDcsIDkwMjEzLCA5MDIxOSwgOTAyMjUsIDkwMjMyLCA5MDIzOCwgOTAyNDUsIAorICAgIDkwMjUwLCA5MDI1NSwgOTAyNjAsIDkwMjY1LCA5MDI3MCwgOTAyNzUsIDkwMjgwLCA5MDI4NSwgOTAyOTAsIDkwMjk1LCAKKyAgICA5MDMwMCwgOTAzMDUsIDkwMzEwLCA5MDMxNSwgOTAzMjAsIDkwMzI1LCA5MDMzMCwgOTAzMzUsIDkwMzQwLCA5MDM0NSwgCisgICAgOTAzNTAsIDkwMzU1LCA5MDM2MCwgOTAzNjUsIDkwMzcwLCA5MDM3NSwgOTAzODAsIDkwMzg1LCA5MDM5MCwgOTAzOTUsIAorICAgIDkwNDAwLCA5MDQwNiwgOTA0MTEsIDkwNDE3LCA5MDQyMywgOTA0MjksIDkwNDM1LCA5MDQ0MiwgOTA0NDgsIDkwNDU1LCAKKyAgICA5MDQ2MCwgOTA0NjUsIDkwNDcwLCA5MDQ3NSwgOTA0ODAsIDkwNDg1LCA5MDQ5MCwgOTA0OTUsIDkwNTAwLCA5MDUwNSwgCisgICAgOTA1MTAsIDkwNTE1LCA5MDUyMCwgOTA1MjUsIDkwNTMwLCA5MDUzNSwgOTA1NDAsIDkwNTQ1LCA5MDU1MCwgOTA1NTUsIAorICAgIDkwNTYwLCA5MDU2NSwgOTA1NzAsIDkwNTc1LCA5MDU4MCwgOTA1ODUsIDkwNTkwLCA5MDU5NSwgOTA2MDAsIDkwNjA1LCAKKyAgICA5MDYxMCwgOTA2MTUsIDkwNjIwLCA5MDYyNSwgOTA2MzAsIDkwNjM1LCA5MDY0MCwgOTA2NDUsIDkwNjUwLCA5MDY1NSwgCisgICAgOTA2NjAsIDkwNjY1LCA5MDY3MCwgOTA2NzUsIDkwNjgwLCA5MDY4NSwgOTA2OTAsIDkwNjk1LCA5MDcwMCwgOTA3MDUsIAorICAgIDkwNzEwLCA5MDcxNSwgOTA3MjAsIDkwNzI1LCA5MDczMCwgOTA3MzUsIDkwNzQwLCA5MDc0NSwgOTA3NTAsIDkwNzU1LCAKKyAgICA5MDc2MCwgOTA3NjUsIDkwNzcwLCA5MDc3NSwgOTA3ODAsIDkwNzg1LCA5MDc5MCwgOTA3OTUsIDkwODAwLCA5MDgwNSwgCisgICAgOTA4MTAsIDkwODE1LCA5MDgyMCwgOTA4MjUsIDkwODMwLCA5MDgzNSwgOTA4NDAsIDkwODQ1LCA5MDg1MCwgOTA4NTUsIAorICAgIDkwODYwLCA5MDg2NSwgOTA4NzAsIDkwODc0LCA5MDg3OCwgOTA4ODMsIDkwODg4LCA5MDg5MywgOTA4OTgsIDkwOTAzLCAKKyAgICA5MDkwOCwgOTA5MTMsIDkwOTE4LCA5MDkyMywgOTA5MjgsIDkwOTMzLCA5MDkzNywgOTA5NDEsIDkwOTQ1LCA5MDk0OSwgCisgICAgOTA5NTMsIDkwOTU3LCA5MDk2MSwgOTA5NjYsIDkwOTcxLCAwLCAwLCA5MDk3NiwgOTA5ODEsIDkwOTg1LCA5MDk4OSwgCisgICAgOTA5OTMsIDkwOTk3LCA5MTAwMSwgOTEwMDUsIDkxMDA5LCA5MTAxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOTEwMTIsIDkxMDE2LCA5MTAyMCwgOTEwMjQsIDkxMDI4LCA5MTAzMiwgMCwgMCwgOTEwMzcsIDAsIAotICAgIDkxMDQyLCA5MTA0NiwgOTEwNTEsIDkxMDU2LCA5MTA2MSwgOTEwNjYsIDkxMDcxLCA5MTA3NiwgOTEwODEsIDkxMDg2LCAKLSAgICA5MTA5MSwgOTEwOTUsIDkxMTAwLCA5MTEwNSwgOTExMTAsIDkxMTE1LCA5MTExOSwgOTExMjQsIDkxMTI5LCA5MTEzNCwgCi0gICAgOTExMzksIDkxMTQzLCA5MTE0OCwgOTExNTMsIDkxMTU4LCA5MTE2MywgOTExNjcsIDkxMTcyLCA5MTE3NywgOTExODIsIAotICAgIDkxMTg3LCA5MTE5MSwgOTExOTYsIDkxMjAxLCA5MTIwNiwgOTEyMTEsIDkxMjE2LCA5MTIyMSwgOTEyMjYsIDkxMjMwLCAKLSAgICA5MTIzNSwgOTEyNDAsIDkxMjQ1LCA5MTI1MCwgMCwgOTEyNTUsIDkxMjYwLCAwLCAwLCAwLCA5MTI2NSwgMCwgMCwgOTEyNzAsIAotICAgIDkxMjc1LCA5MTI4MiwgOTEyODksIDkxMjk2LCA5MTMwMywgOTEzMTAsIDkxMzE3LCA5MTMyNCwgOTEzMzEsIDkxMzM4LCAKLSAgICA5MTM0NSwgOTEzNTIsIDkxMzU5LCA5MTM2NiwgOTEzNzMsIDkxMzgwLCA5MTM4NywgOTEzOTQsIDkxNDAxLCA5MTQwOCwgCi0gICAgOTE0MTUsIDkxNDIyLCAwLCA5MTQyOSwgOTE0MzYsIDkxNDQyLCA5MTQ0OCwgOTE0NTQsIDkxNDYxLCA5MTQ2OCwgOTE0NzYsIAotICAgIDkxNDg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTQ5MywgOTE0OTgsIDkxNTAzLCA5MTUwOCwgOTE1MTMsIDkxNTE4LCAKLSAgICA5MTUyMywgOTE1MjgsIDkxNTMzLCA5MTUzOCwgOTE1NDMsIDkxNTQ4LCA5MTU1MywgOTE1NTgsIDkxNTYzLCA5MTU2OCwgCi0gICAgOTE1NzMsIDkxNTc4LCA5MTU4MywgOTE1ODgsIDkxNTkzLCA5MTU5OCwgOTE2MDMsIDkxNjA3LCA5MTYxMiwgOTE2MTcsIAotICAgIDkxNjIzLCA5MTYyNywgMCwgMCwgMCwgOTE2MzEsIDkxNjM3LCA5MTY0MSwgOTE2NDYsIDkxNjUxLCA5MTY1NiwgOTE2NjAsIAotICAgIDkxNjY1LCA5MTY2OSwgOTE2NzQsIDkxNjc5LCA5MTY4MywgOTE2ODcsIDkxNjkyLCA5MTY5NiwgOTE3MDAsIDkxNzA1LCAKLSAgICA5MTcxMCwgOTE3MTQsIDkxNzE5LCA5MTcyNCwgOTE3MjksIDkxNzM0LCA5MTczOSwgOTE3NDQsIDkxNzQ5LCA5MTc1NCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgOTE3NTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDkxMDE3LCA5MTAyMSwgOTEwMjUsIDkxMDI5LCA5MTAzMywgOTEwMzcsIDAsIDAsIDkxMDQyLCAwLCAKKyAgICA5MTA0NywgOTEwNTEsIDkxMDU2LCA5MTA2MSwgOTEwNjYsIDkxMDcxLCA5MTA3NiwgOTEwODEsIDkxMDg2LCA5MTA5MSwgCisgICAgOTEwOTYsIDkxMTAwLCA5MTEwNSwgOTExMTAsIDkxMTE1LCA5MTEyMCwgOTExMjQsIDkxMTI5LCA5MTEzNCwgOTExMzksIAorICAgIDkxMTQ0LCA5MTE0OCwgOTExNTMsIDkxMTU4LCA5MTE2MywgOTExNjgsIDkxMTcyLCA5MTE3NywgOTExODIsIDkxMTg3LCAKKyAgICA5MTE5MiwgOTExOTYsIDkxMjAxLCA5MTIwNiwgOTEyMTEsIDkxMjE2LCA5MTIyMSwgOTEyMjYsIDkxMjMxLCA5MTIzNSwgCisgICAgOTEyNDAsIDkxMjQ1LCA5MTI1MCwgOTEyNTUsIDAsIDkxMjYwLCA5MTI2NSwgMCwgMCwgMCwgOTEyNzAsIDAsIDAsIDkxMjc1LCAKKyAgICA5MTI4MCwgOTEyODcsIDkxMjk0LCA5MTMwMSwgOTEzMDgsIDkxMzE1LCA5MTMyMiwgOTEzMjksIDkxMzM2LCA5MTM0MywgCisgICAgOTEzNTAsIDkxMzU3LCA5MTM2NCwgOTEzNzEsIDkxMzc4LCA5MTM4NSwgOTEzOTIsIDkxMzk5LCA5MTQwNiwgOTE0MTMsIAorICAgIDkxNDIwLCA5MTQyNywgMCwgOTE0MzQsIDkxNDQxLCA5MTQ0NywgOTE0NTMsIDkxNDU5LCA5MTQ2NiwgOTE0NzMsIDkxNDgxLCAKKyAgICA5MTQ4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTE0OTgsIDkxNTAzLCA5MTUwOCwgOTE1MTMsIDkxNTE4LCA5MTUyMywgCisgICAgOTE1MjgsIDkxNTMzLCA5MTUzOCwgOTE1NDMsIDkxNTQ4LCA5MTU1MywgOTE1NTgsIDkxNTYzLCA5MTU2OCwgOTE1NzMsIAorICAgIDkxNTc4LCA5MTU4MywgOTE1ODgsIDkxNTkzLCA5MTU5OCwgOTE2MDMsIDkxNjA4LCA5MTYxMiwgOTE2MTcsIDkxNjIyLCAKKyAgICA5MTYyOCwgOTE2MzIsIDAsIDAsIDAsIDkxNjM2LCA5MTY0MiwgOTE2NDYsIDkxNjUxLCA5MTY1NiwgOTE2NjEsIDkxNjY1LCAKKyAgICA5MTY3MCwgOTE2NzQsIDkxNjc5LCA5MTY4NCwgOTE2ODgsIDkxNjkyLCA5MTY5NywgOTE3MDEsIDkxNzA1LCA5MTcxMCwgCisgICAgOTE3MTUsIDkxNzE5LCA5MTcyNCwgOTE3MjksIDkxNzM0LCA5MTczOSwgOTE3NDQsIDkxNzQ5LCA5MTc1NCwgOTE3NTksIDAsIAorICAgIDAsIDAsIDAsIDAsIDkxNzY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTc2NCwgCi0gICAgOTE3NzAsIDkxNzc2LCA5MTc4MiwgOTE3ODgsIDkxNzk0LCA5MTgwMSwgOTE4MDgsIDkxODE1LCA5MTgyMSwgOTE4MjcsIAotICAgIDkxODMzLCA5MTg0MCwgOTE4NDcsIDkxODU0LCA5MTg2MCwgOTE4NjcsIDkxODc0LCA5MTg4MSwgOTE4ODgsIDkxODk0LCAKLSAgICA5MTkwMSwgOTE5MDgsIDkxOTE0LCA5MTkyMSwgOTE5MjgsIDkxOTM1LCA5MTk0MiwgOTE5NDksIDkxOTU1LCA5MTk2MiwgCi0gICAgOTE5NjksIDkxOTc2LCA5MTk4MiwgOTE5ODgsIDkxOTk0LCA5MjAwMCwgOTIwMDYsIDkyMDEzLCA5MjAyMCwgOTIwMjYsIAotICAgIDkyMDMyLCA5MjAzOCwgOTIwNDUsIDkyMDUxLCA5MjA1OCwgOTIwNjUsIDkyMDcyLCA5MjA3OCwgOTIwODYsIDkyMDkzLCAKLSAgICA5MjA5OSwgOTIxMDYsIDkyMTEzLCA5MjEyMCwgOTIxMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDkyMTMzLCA5MjE0MSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTE3NjksIAorICAgIDkxNzc1LCA5MTc4MSwgOTE3ODcsIDkxNzkzLCA5MTc5OSwgOTE4MDYsIDkxODEzLCA5MTgyMCwgOTE4MjYsIDkxODMyLCAKKyAgICA5MTgzOCwgOTE4NDUsIDkxODUyLCA5MTg1OSwgOTE4NjUsIDkxODcyLCA5MTg3OSwgOTE4ODYsIDkxODkzLCA5MTg5OSwgCisgICAgOTE5MDYsIDkxOTEzLCA5MTkxOSwgOTE5MjYsIDkxOTMzLCA5MTk0MCwgOTE5NDcsIDkxOTU0LCA5MTk2MCwgOTE5NjcsIAorICAgIDkxOTc0LCA5MTk4MSwgOTE5ODcsIDkxOTkzLCA5MTk5OSwgOTIwMDUsIDkyMDExLCA5MjAxOCwgOTIwMjUsIDkyMDMxLCAKKyAgICA5MjAzNywgOTIwNDMsIDkyMDUwLCA5MjA1NiwgOTIwNjMsIDkyMDcwLCA5MjA3NywgOTIwODMsIDkyMDkxLCA5MjA5OCwgCisgICAgOTIxMDQsIDkyMTExLCA5MjExOCwgOTIxMjUsIDkyMTMxLCAwLCAwLCAwLCAwLCAwLCAwLCA5MjEzOCwgOTIxNDYsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyMTQ5LCA5MjE1MywgOTIxNTgsIDkyMTYzLCAwLCAKLSAgICA5MjE2OSwgOTIxNzQsIDAsIDAsIDAsIDAsIDAsIDkyMTc5LCA5MjE4NSwgOTIxOTIsIDkyMTk3LCA5MjIwMiwgOTIyMDYsIAotICAgIDkyMjExLCA5MjIxNiwgMCwgOTIyMjEsIDkyMjI2LCA5MjIzMSwgMCwgOTIyMzYsIDkyMjQxLCA5MjI0NiwgOTIyNTEsIAotICAgIDkyMjU2LCA5MjI2MSwgOTIyNjYsIDkyMjcxLCA5MjI3NiwgOTIyODEsIDkyMjg2LCA5MjI5MCwgOTIyOTQsIDkyMjk5LCAKLSAgICA5MjMwNCwgOTIzMDksIDkyMzEzLCA5MjMxNywgOTIzMjEsIDkyMzI2LCA5MjMzMSwgOTIzMzYsIDkyMzQxLCA5MjM0NSwgCi0gICAgOTIzNTAsIDkyMzU0LCA5MjM1OSwgMCwgMCwgMCwgMCwgOTIzNjQsIDkyMzcwLCA5MjM3NSwgMCwgMCwgMCwgMCwgOTIzODAsIAotICAgIDkyMzg0LCA5MjM4OCwgOTIzOTIsIDkyMzk2LCA5MjQwMCwgOTI0MDUsIDkyNDEwLCA5MjQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgOTI0MjIsIDkyNDI4LCA5MjQzNSwgOTI0NDEsIDkyNDQ4LCA5MjQ1NCwgOTI0NjAsIDkyNDY2LCA5MjQ3MywgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgOTI0NzksIDkyNDg3LCA5MjQ5NSwgOTI1MDMsIDkyNTExLCA5MjUxOSwgOTI1MjcsIDkyNTM1LCAKLSAgICA5MjU0MywgOTI1NTEsIDkyNTU5LCA5MjU2NywgOTI1NzUsIDkyNTgzLCA5MjU5MSwgOTI1OTksIDkyNjA3LCA5MjYxNSwgCi0gICAgOTI2MjMsIDkyNjMxLCA5MjYzOSwgOTI2NDcsIDkyNjU1LCA5MjY2MywgOTI2NzEsIDkyNjc5LCA5MjY4NywgOTI2OTUsIAotICAgIDkyNzAzLCA5MjcxMSwgOTI3MTgsIDkyNzI2LCA5MjczNCwgOTI3MzgsIDkyNzQzLCA5Mjc0OCwgOTI3NTMsIDkyNzU4LCAKLSAgICA5Mjc2MywgOTI3NjgsIDkyNzczLCA5Mjc3NywgOTI3ODIsIDkyNzg2LCA5Mjc5MSwgOTI3OTUsIDkyODAwLCA5MjgwNCwgCi0gICAgOTI4MDksIDkyODE0LCA5MjgxOSwgOTI4MjQsIDkyODI5LCA5MjgzNCwgOTI4MzksIDkyODQ0LCA5Mjg0OSwgOTI4NTQsIAotICAgIDkyODU5LCA5Mjg2NCwgOTI4NjksIDkyODc0LCA5Mjg3OSwgOTI4ODQsIDkyODg5LCA5Mjg5NCwgOTI4OTksIDkyOTA0LCAKLSAgICA5MjkwOSwgOTI5MTQsIDkyOTE5LCA5MjkyNCwgOTI5MjksIDkyOTM0LCA5MjkzOSwgOTI5NDQsIDkyOTQ5LCA5Mjk1NCwgCi0gICAgOTI5NTksIDkyOTY0LCA5Mjk2OSwgOTI5NzQsIDkyOTc5LCA5Mjk4NCwgOTI5ODksIDkyOTk0LCAwLCAwLCAwLCA5Mjk5OSwgCi0gICAgOTMwMDQsIDkzMDEzLCA5MzAyMSwgOTMwMzAsIDkzMDM5LCA5MzA1MCwgOTMwNjEsIDkzMDY4LCA5MzA3NSwgOTMwODIsIAotICAgIDkzMDg5LCA5MzA5NiwgOTMxMDMsIDkzMTEwLCA5MzExNywgOTMxMjQsIDkzMTMxLCA5MzEzOCwgOTMxNDUsIDkzMTUyLCAKLSAgICA5MzE1OSwgOTMxNjYsIDkzMTczLCA5MzE4MCwgOTMxODcsIDkzMTk0LCA5MzIwMSwgOTMyMDgsIDAsIDAsIDkzMjE1LCAKLSAgICA5MzIyMSwgOTMyMjcsIDkzMjMzLCA5MzIzOSwgOTMyNDYsIDkzMjUzLCA5MzI2MSwgOTMyNjksIDkzMjc2LCA5MzI4MywgCi0gICAgOTMyOTAsIDkzMjk3LCA5MzMwNCwgOTMzMTEsIDkzMzE4LCA5MzMyNSwgOTMzMzIsIDkzMzM5LCA5MzM0NiwgOTMzNTMsIAotICAgIDkzMzYwLCA5MzM2NywgOTMzNzQsIDkzMzgxLCA5MzM4OCwgOTMzOTUsIDAsIDAsIDAsIDAsIDAsIDkzNDAyLCA5MzQwOCwgCi0gICAgOTM0MTQsIDkzNDIwLCA5MzQyNiwgOTM0MzMsIDkzNDQwLCA5MzQ0OCwgOTM0NTYsIDkzNDYyLCA5MzQ2OCwgOTM0NzUsIAotICAgIDkzNDgxLCA5MzQ4NywgOTM0OTMsIDkzNDk5LCA5MzUwNiwgOTM1MTMsIDkzNTIwLCA5MzUyNywgOTM1MzQsIDkzNTQxLCAKLSAgICA5MzU0OCwgOTM1NTUsIDkzNTYyLCA5MzU2OSwgOTM1NzYsIDkzNTgzLCA5MzU5MCwgOTM1OTcsIDkzNjA0LCA5MzYxMSwgCi0gICAgOTM2MTgsIDkzNjI1LCA5MzYzMiwgOTM2MzksIDkzNjQ2LCA5MzY1MywgOTM2NjAsIDkzNjY3LCA5MzY3NCwgOTM2ODEsIAotICAgIDkzNjg4LCA5MzY5NSwgOTM3MDIsIDkzNzA5LCA5MzcxNiwgOTM3MjMsIDkzNzMwLCA5MzczNywgOTM3NDQsIDkzNzUxLCAKLSAgICA5Mzc1OCwgOTM3NjUsIDkzNzcyLCA5Mzc3OSwgOTM3ODYsIDkzNzkzLCA5MzgwMCwgOTM4MDcsIDkzODE0LCA5MzgyMSwgCi0gICAgOTM4MjgsIDkzODM1LCA5Mzg0MiwgOTM4NDksIDkzODU2LCA5Mzg2MywgOTM4NzAsIDkzODc3LCA5Mzg4NCwgOTM4OTEsIAotICAgIDkzODk4LCA5MzkwNSwgOTM5MTIsIDkzOTE5LCA5MzkyNiwgOTM5MzMsIDkzOTQwLCA5Mzk0NywgOTM5NTQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyMTU0LCA5MjE1OCwgOTIxNjMsIDkyMTY4LCAwLCAKKyAgICA5MjE3NCwgOTIxNzksIDAsIDAsIDAsIDAsIDAsIDkyMTg0LCA5MjE5MCwgOTIxOTcsIDkyMjAyLCA5MjIwNywgOTIyMTEsIAorICAgIDkyMjE2LCA5MjIyMSwgMCwgOTIyMjYsIDkyMjMxLCA5MjIzNiwgMCwgOTIyNDEsIDkyMjQ2LCA5MjI1MSwgOTIyNTYsIAorICAgIDkyMjYxLCA5MjI2NiwgOTIyNzEsIDkyMjc2LCA5MjI4MSwgOTIyODYsIDkyMjkxLCA5MjI5NSwgOTIyOTksIDkyMzA0LCAKKyAgICA5MjMwOSwgOTIzMTQsIDkyMzE4LCA5MjMyMiwgOTIzMjYsIDkyMzMxLCA5MjMzNiwgOTIzNDEsIDkyMzQ2LCA5MjM1MCwgCisgICAgOTIzNTUsIDkyMzU5LCA5MjM2NCwgMCwgMCwgMCwgMCwgOTIzNjksIDkyMzc1LCA5MjM4MCwgMCwgMCwgMCwgMCwgOTIzODUsIAorICAgIDkyMzg5LCA5MjM5MywgOTIzOTcsIDkyNDAxLCA5MjQwNSwgOTI0MTAsIDkyNDE1LCA5MjQyMSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOTI0MjcsIDkyNDMzLCA5MjQ0MCwgOTI0NDYsIDkyNDUzLCA5MjQ1OSwgOTI0NjUsIDkyNDcxLCA5MjQ3OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOTI0ODQsIDkyNDkyLCA5MjUwMCwgOTI1MDgsIDkyNTE2LCA5MjUyNCwgOTI1MzIsIDkyNTQwLCAKKyAgICA5MjU0OCwgOTI1NTYsIDkyNTY0LCA5MjU3MiwgOTI1ODAsIDkyNTg4LCA5MjU5NiwgOTI2MDQsIDkyNjEyLCA5MjYyMCwgCisgICAgOTI2MjgsIDkyNjM2LCA5MjY0NCwgOTI2NTIsIDkyNjYwLCA5MjY2OCwgOTI2NzYsIDkyNjg0LCA5MjY5MiwgOTI3MDAsIAorICAgIDkyNzA4LCA5MjcxNiwgOTI3MjMsIDkyNzMxLCA5MjczOSwgOTI3NDMsIDkyNzQ4LCA5Mjc1MywgOTI3NTgsIDkyNzYzLCAKKyAgICA5Mjc2OCwgOTI3NzMsIDkyNzc4LCA5Mjc4MiwgOTI3ODcsIDkyNzkxLCA5Mjc5NiwgOTI4MDAsIDkyODA1LCA5MjgwOSwgCisgICAgOTI4MTQsIDkyODE5LCA5MjgyNCwgOTI4MjksIDkyODM0LCA5MjgzOSwgOTI4NDQsIDkyODQ5LCA5Mjg1NCwgOTI4NTksIAorICAgIDkyODY0LCA5Mjg2OSwgOTI4NzQsIDkyODc5LCA5Mjg4NCwgOTI4ODksIDkyODk0LCA5Mjg5OSwgOTI5MDQsIDkyOTA5LCAKKyAgICA5MjkxNCwgOTI5MTksIDkyOTI0LCA5MjkyOSwgOTI5MzQsIDkyOTM5LCA5Mjk0NCwgOTI5NDksIDkyOTU0LCA5Mjk1OSwgCisgICAgOTI5NjQsIDkyOTY5LCA5Mjk3NCwgOTI5NzksIDkyOTg0LCA5Mjk4OSwgOTI5OTQsIDkyOTk5LCAwLCAwLCAwLCA5MzAwNCwgCisgICAgOTMwMDksIDkzMDE4LCA5MzAyNiwgOTMwMzUsIDkzMDQ0LCA5MzA1NSwgOTMwNjYsIDkzMDczLCA5MzA4MCwgOTMwODcsIAorICAgIDkzMDk0LCA5MzEwMSwgOTMxMDgsIDkzMTE1LCA5MzEyMiwgOTMxMjksIDkzMTM2LCA5MzE0MywgOTMxNTAsIDkzMTU3LCAKKyAgICA5MzE2NCwgOTMxNzEsIDkzMTc4LCA5MzE4NSwgOTMxOTIsIDkzMTk5LCA5MzIwNiwgOTMyMTMsIDAsIDAsIDkzMjIwLCAKKyAgICA5MzIyNiwgOTMyMzIsIDkzMjM4LCA5MzI0NCwgOTMyNTEsIDkzMjU4LCA5MzI2NiwgOTMyNzQsIDkzMjgxLCA5MzI4OCwgCisgICAgOTMyOTUsIDkzMzAyLCA5MzMwOSwgOTMzMTYsIDkzMzIzLCA5MzMzMCwgOTMzMzcsIDkzMzQ0LCA5MzM1MSwgOTMzNTgsIAorICAgIDkzMzY1LCA5MzM3MiwgOTMzNzksIDkzMzg2LCA5MzM5MywgOTM0MDAsIDAsIDAsIDAsIDAsIDAsIDkzNDA3LCA5MzQxMywgCisgICAgOTM0MTksIDkzNDI1LCA5MzQzMSwgOTM0MzgsIDkzNDQ1LCA5MzQ1MywgOTM0NjEsIDkzNDY3LCA5MzQ3MywgOTM0ODAsIAorICAgIDkzNDg2LCA5MzQ5MiwgOTM0OTgsIDkzNTA0LCA5MzUxMSwgOTM1MTgsIDkzNTI1LCA5MzUzMiwgOTM1MzksIDkzNTQ2LCAKKyAgICA5MzU1MywgOTM1NjAsIDkzNTY3LCA5MzU3NCwgOTM1ODEsIDkzNTg4LCA5MzU5NSwgOTM2MDIsIDkzNjA5LCA5MzYxNiwgCisgICAgOTM2MjMsIDkzNjMwLCA5MzYzNywgOTM2NDQsIDkzNjUxLCA5MzY1OCwgOTM2NjUsIDkzNjcyLCA5MzY3OSwgOTM2ODYsIAorICAgIDkzNjkzLCA5MzcwMCwgOTM3MDcsIDkzNzE0LCA5MzcyMSwgOTM3MjgsIDkzNzM1LCA5Mzc0MiwgOTM3NDksIDkzNzU2LCAKKyAgICA5Mzc2MywgOTM3NzAsIDkzNzc3LCA5Mzc4NCwgOTM3OTEsIDkzNzk4LCA5MzgwNSwgOTM4MTIsIDkzODE5LCA5MzgyNiwgCisgICAgOTM4MzMsIDkzODQwLCA5Mzg0NywgOTM4NTQsIDkzODYxLCA5Mzg2OCwgOTM4NzUsIDkzODgyLCA5Mzg4OSwgOTM4OTYsIAorICAgIDkzOTAzLCA5MzkxMCwgOTM5MTcsIDkzOTI0LCA5MzkzMSwgOTM5MzgsIDkzOTQ1LCA5Mzk1MiwgOTM5NTksIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDkzOTYxLCA5Mzk2NSwgOTM5NjksIDkzOTczLCA5Mzk3NywgOTM5ODEsIDkzOTg1LCA5Mzk4OSwgCi0gICAgOTM5OTMsIDkzOTk3LCA5NDAwMiwgOTQwMDcsIDk0MDEyLCA5NDAxNywgOTQwMjIsIDk0MDI3LCA5NDAzMiwgOTQwMzcsIAotICAgIDk0MDQyLCA5NDA0OCwgOTQwNTQsIDk0MDYwLCA5NDA2NywgOTQwNzQsIDk0MDgxLCA5NDA4OCwgOTQwOTUsIDk0MTAyLCAKLSAgICA5NDEwOSwgOTQxMTYsIDk0MTIzLCAwLCA5NDEzMCwgOTQxMzQsIDk0MTM4LCA5NDE0MiwgOTQxNDYsIDk0MTUwLCA5NDE1MywgCi0gICAgOTQxNTcsIDk0MTYwLCA5NDE2NCwgOTQxNjcsIDk0MTcxLCA5NDE3NSwgOTQxODAsIDk0MTg0LCA5NDE4OSwgOTQxOTIsIAotICAgIDk0MTk2LCA5NDE5OSwgOTQyMDMsIDk0MjA2LCA5NDIxMCwgOTQyMTQsIDk0MjE4LCA5NDIyMiwgOTQyMjYsIDk0MjMwLCAKLSAgICA5NDIzNCwgOTQyMzgsIDk0MjQyLCA5NDI0NiwgOTQyNTAsIDk0MjU0LCA5NDI1OCwgOTQyNjIsIDk0MjY2LCA5NDI3MCwgCi0gICAgOTQyNzQsIDk0Mjc4LCA5NDI4MSwgOTQyODQsIDk0Mjg4LCA5NDI5MiwgOTQyOTYsIDk0Mjk5LCA5NDMwMiwgOTQzMDUsIAotICAgIDk0MzA5LCA5NDMxMywgOTQzMTcsIDk0MzIxLCA5NDMyNCwgOTQzMjcsIDk0MzMxLCA5NDMzNywgOTQzNDMsIDk0MzQ5LCAKLSAgICA5NDM1NCwgOTQzNjEsIDk0MzY1LCA5NDM3MCwgOTQzNzQsIDk0Mzc5LCA5NDM4NCwgOTQzOTAsIDk0Mzk1LCA5NDQwMSwgCi0gICAgOTQ0MDUsIDk0NDEwLCA5NDQxNCwgOTQ0MTksIDk0NDIyLCA5NDQyNSwgOTQ0MjksIDk0NDM0LCA5NDQ0MCwgOTQ0NDUsIAotICAgIDk0NDUxLCAwLCAwLCAwLCAwLCA5NDQ1NiwgOTQ0NTksIDk0NDYyLCA5NDQ2NSwgOTQ0NjgsIDk0NDcxLCA5NDQ3NCwgCi0gICAgOTQ0NzcsIDk0NDgwLCA5NDQ4MywgOTQ0ODcsIDk0NDkxLCA5NDQ5NSwgOTQ0OTksIDk0NTAzLCA5NDUwNywgOTQ1MTEsIAotICAgIDk0NTE1LCA5NDUxOSwgOTQ1MjQsIDk0NTI5LCA5NDUzMywgOTQ1MzYsIDk0NTM5LCA5NDU0MiwgOTQ1NDUsIDk0NTQ4LCAKLSAgICA5NDU1MSwgOTQ1NTQsIDk0NTU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA5NDU2MCwgOTQ1NjUsIDk0NTcwLCA5NDU3NSwgOTQ1NzksIDk0NTg0LCA5NDU4OCwgOTQ1OTMsIDk0NTk3LCA5NDYwMiwgCi0gICAgOTQ2MDYsIDk0NjExLCA5NDYxNSwgOTQ2MjAsIDk0NjI0LCA5NDYyOSwgOTQ2MzQsIDk0NjM5LCA5NDY0NCwgOTQ2NDksIAotICAgIDk0NjU0LCA5NDY1OSwgOTQ2NjQsIDk0NjY5LCA5NDY3NCwgOTQ2NzksIDk0Njg0LCA5NDY4OSwgOTQ2OTQsIDk0Njk5LCAKLSAgICA5NDcwNCwgOTQ3MDksIDk0NzE0LCA5NDcxOSwgOTQ3MjQsIDk0NzI4LCA5NDczMiwgOTQ3MzcsIDk0NzQyLCA5NDc0NywgCi0gICAgOTQ3NTEsIDk0NzU1LCA5NDc1OSwgOTQ3NjQsIDk0NzY5LCA5NDc3NCwgOTQ3NzksIDk0NzgzLCA5NDc4NywgOTQ3OTMsIAotICAgIDk0Nzk4LCA5NDgwNCwgOTQ4MDksIDk0ODE1LCA5NDgyMCwgOTQ4MjYsIDk0ODMxLCA5NDgzNywgOTQ4NDIsIDk0ODQ3LCAKLSAgICA5NDg1MiwgOTQ4NTcsIDk0ODYxLCA5NDg2NiwgOTQ4NzIsIDk0ODc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA5NDg4MSwgOTQ4ODgsIDk0ODk1LCA5NDkwMiwgOTQ5MDksIDk0OTE2LCA5NDkyMywgOTQ5MzAsIAotICAgIDk0OTM3LCA5NDk0NCwgOTQ5NTEsIDk0OTU4LCA5NDk2NSwgOTQ5NzIsIDk0OTc5LCA5NDk4NiwgOTQ5OTMsIDk1MDAwLCAKLSAgICA5NTAwNywgOTUwMTQsIDk1MDIxLCA5NTAyOCwgOTUwMzUsIDk1MDQyLCA5NTA0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgOTUwNTYsIDk1MDYzLCA5NTA2OSwgOTUwNzUsIDk1MDgxLCA5NTA4NywgOTUwOTMsIDk1MDk5LCA5NTEwNSwgOTUxMTEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDk1MTE3LCA5NTEyMiwgOTUxMjcsIDk1MTMyLCA5NTEzNywgOTUxNDEsIDk1MTQ1LCA5NTE0OSwgCi0gICAgOTUxNTQsIDk1MTU5LCA5NTE2NCwgOTUxNjksIDk1MTc0LCA5NTE3OSwgOTUxODQsIDk1MTg5LCA5NTE5NCwgOTUxOTksIAotICAgIDk1MjA0LCA5NTIwOSwgOTUyMTQsIDk1MjE5LCA5NTIyNCwgOTUyMjksIDk1MjM0LCA5NTIzOSwgOTUyNDQsIDk1MjQ5LCAKLSAgICA5NTI1NCwgOTUyNTksIDk1MjY0LCA5NTI2OSwgOTUyNzQsIDk1Mjc5LCA5NTI4NCwgOTUyODksIDk1Mjk0LCA5NTI5OSwgCi0gICAgOTUzMDQsIDk1MzA5LCA5NTMxNCwgOTUzMTksIDk1MzI1LCA5NTMzMCwgOTUzMzYsIDk1MzQxLCA5NTM0NywgOTUzNTIsIAotICAgIDk1MzU4LCA5NTM2NCwgOTUzNjgsIDk1MzczLCA5NTM3NywgMCwgOTUzODEsIDk1Mzg2LCA5NTM5MCwgOTUzOTQsIDk1Mzk4LCAKLSAgICA5NTQwMiwgOTU0MDYsIDk1NDEwLCA5NTQxNCwgOTU0MTgsIDk1NDIyLCA5NTQyNywgOTU0MzEsIDk1NDM2LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5Mzk2NiwgOTM5NzAsIDkzOTc0LCA5Mzk3OCwgOTM5ODIsIDkzOTg2LCA5Mzk5MCwgOTM5OTQsIAorICAgIDkzOTk4LCA5NDAwMiwgOTQwMDcsIDk0MDEyLCA5NDAxNywgOTQwMjIsIDk0MDI3LCA5NDAzMiwgOTQwMzcsIDk0MDQyLCAKKyAgICA5NDA0NywgOTQwNTMsIDk0MDU5LCA5NDA2NSwgOTQwNzIsIDk0MDc5LCA5NDA4NiwgOTQwOTMsIDk0MTAwLCA5NDEwNywgCisgICAgOTQxMTQsIDk0MTIxLCA5NDEyOCwgMCwgOTQxMzUsIDk0MTM5LCA5NDE0MywgOTQxNDcsIDk0MTUxLCA5NDE1NSwgOTQxNTgsIAorICAgIDk0MTYyLCA5NDE2NSwgOTQxNjksIDk0MTcyLCA5NDE3NiwgOTQxODAsIDk0MTg1LCA5NDE4OSwgOTQxOTQsIDk0MTk3LCAKKyAgICA5NDIwMSwgOTQyMDQsIDk0MjA4LCA5NDIxMSwgOTQyMTUsIDk0MjE5LCA5NDIyMywgOTQyMjcsIDk0MjMxLCA5NDIzNSwgCisgICAgOTQyMzksIDk0MjQzLCA5NDI0NywgOTQyNTEsIDk0MjU1LCA5NDI1OSwgOTQyNjMsIDk0MjY3LCA5NDI3MSwgOTQyNzUsIAorICAgIDk0Mjc5LCA5NDI4MywgOTQyODYsIDk0Mjg5LCA5NDI5MywgOTQyOTcsIDk0MzAxLCA5NDMwNCwgOTQzMDcsIDk0MzEwLCAKKyAgICA5NDMxNCwgOTQzMTgsIDk0MzIyLCA5NDMyNiwgOTQzMjksIDk0MzMyLCA5NDMzNiwgOTQzNDIsIDk0MzQ4LCA5NDM1NCwgCisgICAgOTQzNTksIDk0MzY2LCA5NDM3MCwgOTQzNzUsIDk0Mzc5LCA5NDM4NCwgOTQzODksIDk0Mzk1LCA5NDQwMCwgOTQ0MDYsIAorICAgIDk0NDEwLCA5NDQxNSwgOTQ0MTksIDk0NDI0LCA5NDQyNywgOTQ0MzAsIDk0NDM0LCA5NDQzOSwgOTQ0NDUsIDk0NDUwLCAKKyAgICA5NDQ1NiwgMCwgMCwgMCwgMCwgOTQ0NjEsIDk0NDY0LCA5NDQ2NywgOTQ0NzAsIDk0NDczLCA5NDQ3NiwgOTQ0NzksIAorICAgIDk0NDgyLCA5NDQ4NSwgOTQ0ODgsIDk0NDkyLCA5NDQ5NiwgOTQ1MDAsIDk0NTA0LCA5NDUwOCwgOTQ1MTIsIDk0NTE2LCAKKyAgICA5NDUyMCwgOTQ1MjQsIDk0NTI5LCA5NDUzNCwgOTQ1MzgsIDk0NTQxLCA5NDU0NCwgOTQ1NDcsIDk0NTUwLCA5NDU1MywgCisgICAgOTQ1NTYsIDk0NTU5LCA5NDU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOTQ1NjUsIDk0NTcwLCA5NDU3NSwgOTQ1ODAsIDk0NTg0LCA5NDU4OSwgOTQ1OTMsIDk0NTk4LCA5NDYwMiwgOTQ2MDcsIAorICAgIDk0NjExLCA5NDYxNiwgOTQ2MjAsIDk0NjI1LCA5NDYyOSwgOTQ2MzQsIDk0NjM5LCA5NDY0NCwgOTQ2NDksIDk0NjU0LCAKKyAgICA5NDY1OSwgOTQ2NjQsIDk0NjY5LCA5NDY3NCwgOTQ2NzksIDk0Njg0LCA5NDY4OSwgOTQ2OTQsIDk0Njk5LCA5NDcwNCwgCisgICAgOTQ3MDksIDk0NzE0LCA5NDcxOSwgOTQ3MjQsIDk0NzI5LCA5NDczMywgOTQ3MzcsIDk0NzQyLCA5NDc0NywgOTQ3NTIsIAorICAgIDk0NzU2LCA5NDc2MCwgOTQ3NjQsIDk0NzY5LCA5NDc3NCwgOTQ3NzksIDk0Nzg0LCA5NDc4OCwgOTQ3OTIsIDk0Nzk4LCAKKyAgICA5NDgwMywgOTQ4MDksIDk0ODE0LCA5NDgyMCwgOTQ4MjUsIDk0ODMxLCA5NDgzNiwgOTQ4NDIsIDk0ODQ3LCA5NDg1MiwgCisgICAgOTQ4NTcsIDk0ODYyLCA5NDg2NiwgOTQ4NzEsIDk0ODc3LCA5NDg4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOTQ4ODYsIDk0ODkzLCA5NDkwMCwgOTQ5MDcsIDk0OTE0LCA5NDkyMSwgOTQ5MjgsIDk0OTM1LCAKKyAgICA5NDk0MiwgOTQ5NDksIDk0OTU2LCA5NDk2MywgOTQ5NzAsIDk0OTc3LCA5NDk4NCwgOTQ5OTEsIDk0OTk4LCA5NTAwNSwgCisgICAgOTUwMTIsIDk1MDE5LCA5NTAyNiwgOTUwMzMsIDk1MDQwLCA5NTA0NywgOTUwNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDk1MDYxLCA5NTA2OCwgOTUwNzQsIDk1MDgwLCA5NTA4NiwgOTUwOTIsIDk1MDk4LCA5NTEwNCwgOTUxMTAsIDk1MTE2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5NTEyMiwgOTUxMjcsIDk1MTMyLCA5NTEzNywgOTUxNDIsIDk1MTQ2LCA5NTE1MCwgOTUxNTQsIAorICAgIDk1MTU5LCA5NTE2NCwgOTUxNjksIDk1MTc0LCA5NTE3OSwgOTUxODQsIDk1MTg5LCA5NTE5NCwgOTUxOTksIDk1MjA0LCAKKyAgICA5NTIwOSwgOTUyMTQsIDk1MjE5LCA5NTIyNCwgOTUyMjksIDk1MjM0LCA5NTIzOSwgOTUyNDQsIDk1MjQ5LCA5NTI1NCwgCisgICAgOTUyNTksIDk1MjY0LCA5NTI2OSwgOTUyNzQsIDk1Mjc5LCA5NTI4NCwgOTUyODksIDk1Mjk0LCA5NTI5OSwgOTUzMDQsIAorICAgIDk1MzA5LCA5NTMxNCwgOTUzMTksIDk1MzI0LCA5NTMzMCwgOTUzMzUsIDk1MzQxLCA5NTM0NiwgOTUzNTIsIDk1MzU3LCAKKyAgICA5NTM2MywgOTUzNjksIDk1MzczLCA5NTM3OCwgOTUzODIsIDAsIDk1Mzg2LCA5NTM5MSwgOTUzOTUsIDk1Mzk5LCA5NTQwMywgCisgICAgOTU0MDcsIDk1NDExLCA5NTQxNSwgOTU0MTksIDk1NDIzLCA5NTQyNywgOTU0MzIsIDk1NDM2LCA5NTQ0MSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU0NDEsIDk1NDQ1LCA5NTQ0OSwgOTU0NTMsIDk1NDU2LCA5NTQ2MCwgCi0gICAgOTU0NjMsIDk1NDY3LCA5NTQ3MCwgOTU0NzQsIDk1NDc4LCA5NTQ4MywgOTU0ODcsIDk1NDkyLCA5NTQ5NSwgOTU0OTksIAotICAgIDk1NTAyLCA5NTUwNiwgOTU1MDksIDk1NTEzLCA5NTUxNywgOTU1MjEsIDk1NTI1LCA5NTUyOSwgOTU1MzMsIDk1NTM3LCAKLSAgICA5NTU0MSwgOTU1NDUsIDk1NTQ5LCA5NTU1MywgOTU1NTcsIDk1NTYxLCA5NTU2NSwgOTU1NjksIDk1NTczLCA5NTU3NywgCi0gICAgOTU1ODEsIDk1NTg0LCA5NTU4NywgOTU1OTEsIDk1NTk1LCA5NTU5OSwgOTU2MDIsIDk1NjA1LCA5NTYwOCwgOTU2MTIsIAotICAgIDk1NjE2LCA5NTYyMCwgOTU2MjQsIDk1NjI4LCA5NTYzMSwgOTU2MzQsIDk1NjM5LCA5NTY0MywgOTU2NDgsIDk1NjUyLCAKLSAgICA5NTY1NywgOTU2NjIsIDk1NjY4LCA5NTY3MywgOTU2NzksIDk1NjgzLCA5NTY4OCwgOTU2OTIsIDk1Njk3LCA5NTcwMSwgCi0gICAgOTU3MDUsIDk1NzA5LCA5NTcxMywgOTU3MTYsIDk1NzE5LCA5NTcyMywgOTU3MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDk1NzMwLCA5NTczNCwgOTU3MzcsIDk1NzQwLCA5NTc0MywgOTU3NDYsIDk1NzQ5LCA5NTc1MiwgOTU3NTUsIDk1NzU4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTQ0NiwgOTU0NTAsIDk1NDU0LCA5NTQ1OCwgOTU0NjEsIDk1NDY1LCAKKyAgICA5NTQ2OCwgOTU0NzIsIDk1NDc1LCA5NTQ3OSwgOTU0ODMsIDk1NDg4LCA5NTQ5MiwgOTU0OTcsIDk1NTAwLCA5NTUwNCwgCisgICAgOTU1MDcsIDk1NTExLCA5NTUxNCwgOTU1MTgsIDk1NTIyLCA5NTUyNiwgOTU1MzAsIDk1NTM0LCA5NTUzOCwgOTU1NDIsIAorICAgIDk1NTQ2LCA5NTU1MCwgOTU1NTQsIDk1NTU4LCA5NTU2MiwgOTU1NjYsIDk1NTcwLCA5NTU3NCwgOTU1NzgsIDk1NTgyLCAKKyAgICA5NTU4NiwgOTU1ODksIDk1NTkyLCA5NTU5NiwgOTU2MDAsIDk1NjA0LCA5NTYwNywgOTU2MTAsIDk1NjEzLCA5NTYxNywgCisgICAgOTU2MjEsIDk1NjI1LCA5NTYyOSwgOTU2MzMsIDk1NjM2LCA5NTYzOSwgOTU2NDQsIDk1NjQ4LCA5NTY1MywgOTU2NTcsIAorICAgIDk1NjYyLCA5NTY2NywgOTU2NzMsIDk1Njc4LCA5NTY4NCwgOTU2ODgsIDk1NjkzLCA5NTY5NywgOTU3MDIsIDk1NzA2LCAKKyAgICA5NTcxMCwgOTU3MTQsIDk1NzE4LCA5NTcyMSwgOTU3MjQsIDk1NzI4LCA5NTczMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOTU3MzUsIDk1NzM5LCA5NTc0MiwgOTU3NDUsIDk1NzQ4LCA5NTc1MSwgOTU3NTQsIDk1NzU3LCA5NTc2MCwgOTU3NjMsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NzYxLCA5NTc2NSwgOTU3NzAsIDk1Nzc0LCA5NTc3OSwgCi0gICAgOTU3ODMsIDk1Nzg4LCA5NTc5MiwgOTU3OTcsIDk1ODAxLCA5NTgwNiwgOTU4MTAsIDk1ODE1LCA5NTgyMCwgOTU4MjUsIAotICAgIDk1ODMwLCA5NTgzNSwgOTU4NDAsIDk1ODQ1LCA5NTg1MCwgOTU4NTUsIDk1ODYwLCA5NTg2NSwgOTU4NzAsIDk1ODc1LCAKLSAgICA5NTg4MCwgOTU4ODUsIDk1ODkwLCA5NTg5NSwgOTU5MDAsIDk1OTA0LCA5NTkwOCwgOTU5MTMsIDk1OTE4LCA5NTkyMywgCi0gICAgOTU5MjcsIDk1OTMxLCA5NTkzNSwgOTU5NDAsIDk1OTQ1LCA5NTk1MCwgOTU5NTQsIDk1OTU4LCA5NTk2MywgOTU5NjgsIAotICAgIDk1OTczLCA5NTk3OSwgOTU5ODQsIDk1OTkwLCA5NTk5NSwgOTYwMDEsIDk2MDA2LCA5NjAxMiwgOTYwMTcsIDk2MDIzLCAKLSAgICA5NjAyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTYwMzMsIDk2MDM4LCA5NjA0MiwgOTYwNDYsIDk2MDUwLCA5NjA1NCwgCi0gICAgOTYwNTgsIDk2MDYyLCA5NjA2NiwgOTYwNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NzY2LCA5NTc3MCwgOTU3NzUsIDk1Nzc5LCA5NTc4NCwgCisgICAgOTU3ODgsIDk1NzkzLCA5NTc5NywgOTU4MDIsIDk1ODA2LCA5NTgxMSwgOTU4MTUsIDk1ODIwLCA5NTgyNSwgOTU4MzAsIAorICAgIDk1ODM1LCA5NTg0MCwgOTU4NDUsIDk1ODUwLCA5NTg1NSwgOTU4NjAsIDk1ODY1LCA5NTg3MCwgOTU4NzUsIDk1ODgwLCAKKyAgICA5NTg4NSwgOTU4OTAsIDk1ODk1LCA5NTkwMCwgOTU5MDUsIDk1OTA5LCA5NTkxMywgOTU5MTgsIDk1OTIzLCA5NTkyOCwgCisgICAgOTU5MzIsIDk1OTM2LCA5NTk0MCwgOTU5NDUsIDk1OTUwLCA5NTk1NSwgOTU5NTksIDk1OTYzLCA5NTk2OCwgOTU5NzMsIAorICAgIDk1OTc4LCA5NTk4NCwgOTU5ODksIDk1OTk1LCA5NjAwMCwgOTYwMDYsIDk2MDExLCA5NjAxNywgOTYwMjIsIDk2MDI4LCAKKyAgICA5NjAzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTYwMzgsIDk2MDQzLCA5NjA0NywgOTYwNTEsIDk2MDU1LCA5NjA1OSwgCisgICAgOTYwNjMsIDk2MDY3LCA5NjA3MSwgOTYwNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk2MDc0LCA5NjA3NywgOTYwODIsIDk2MDg4LCAKLSAgICA5NjA5NiwgOTYxMDEsIDk2MTA3LCA5NjExNSwgOTYxMjEsIDk2MTI3LCA5NjEzMSwgOTYxMzUsIDk2MTQyLCA5NjE1MSwgCi0gICAgOTYxNTgsIDk2MTY3LCA5NjE3MywgOTYxODIsIDk2MTg5LCA5NjE5NiwgOTYyMDMsIDk2MjEzLCA5NjIxOSwgOTYyMjMsIAotICAgIDk2MjMwLCA5NjIzOSwgOTYyNDksIDk2MjU2LCA5NjI2MywgOTYyNjcsIDk2MjcxLCA5NjI3OCwgOTYyODgsIDk2MjkyLCAKLSAgICA5NjI5OSwgOTYzMDYsIDk2MzEzLCA5NjMxOSwgOTYzMjYsIDk2MzMzLCA5NjM0MCwgOTYzNDcsIDk2MzUxLCA5NjM1NSwgCi0gICAgOTYzNTksIDk2MzY2LCA5NjM3MCwgOTYzNzcsIDk2Mzg0LCA5NjM5OCwgOTY0MDcsIDk2NDExLCA5NjQxNSwgOTY0MTksIAotICAgIDk2NDI2LCA5NjQzMCwgOTY0MzQsIDk2NDM4LCA5NjQ0NiwgOTY0NTQsIDk2NDczLCA5NjQ4MywgOTY1MDMsIDk2NTA3LCAKLSAgICA5NjUxMSwgOTY1MTUsIDk2NTE5LCA5NjUyMywgOTY1MjcsIDk2NTMxLCA5NjUzOCwgOTY1NDIsIDk2NTQ1LCA5NjU0OSwgCi0gICAgOTY1NTMsIDk2NTU5LCA5NjU2NiwgOTY1NzUsIDk2NTc5LCA5NjU4OCwgOTY1OTcsIDk2NjA1LCA5NjYwOSwgOTY2MTYsIAotICAgIDk2NjIwLCA5NjYyNCwgOTY2MjgsIDk2NjMyLCA5NjY0MywgOTY2NTIsIDk2NjYxLCA5NjY3MCwgOTY2NzksIDk2NjkxLCAKLSAgICA5NjcwMCwgOTY3MDksIDk2NzE4LCA5NjcyNiwgOTY3MzUsIDk2NzQ3LCA5Njc1NiwgOTY3NjUsIDk2Nzc0LCA5Njc4NiwgCi0gICAgOTY3OTUsIDk2ODA0LCA5NjgxNiwgOTY4MjUsIDk2ODM0LCA5Njg0NiwgOTY4NTUsIDk2ODU5LCA5Njg2MywgOTY4NjcsIAotICAgIDk2ODcxLCA5Njg3NSwgOTY4NzksIDk2ODgzLCA5Njg5MCwgOTY4OTQsIDk2ODk4LCA5NjkwOSwgOTY5MTMsIDk2OTE3LCAKLSAgICA5NjkyNCwgOTY5MzAsIDk2OTM2LCA5Njk0MCwgOTY5NDcsIDk2OTUxLCA5Njk1NSwgOTY5NTksIDk2OTYzLCA5Njk2NywgCi0gICAgOTY5NzEsIDk2OTc3LCA5Njk4NSwgOTY5ODksIDk2OTkzLCA5Njk5NiwgOTcwMDIsIDk3MDEyLCA5NzAxNiwgOTcwMjgsIAotICAgIDk3MDM1LCA5NzA0MiwgOTcwNDksIDk3MDU2LCA5NzA2MiwgOTcwNjYsIDk3MDcwLCA5NzA3NCwgOTcwNzgsIDk3MDg1LCAKLSAgICA5NzA5NCwgOTcxMDEsIDk3MTA5LCA5NzExNywgOTcxMjMsIDk3MTI3LCA5NzEzMSwgOTcxMzUsIDk3MTM5LCA5NzE0NSwgCi0gICAgOTcxNTQsIDk3MTY2LCA5NzE3MywgOTcxODAsIDk3MTg5LCA5NzIwMCwgOTcyMDYsIDk3MjE1LCA5NzIyNCwgOTcyMzEsIAotICAgIDk3MjQwLCA5NzI0NywgOTcyNTQsIDk3MjY0LCA5NzI3MSwgOTcyNzgsIDk3Mjg1LCA5NzI5MiwgOTcyOTYsIDk3MzAyLCAKLSAgICA5NzMwNiwgOTczMTcsIDk3MzI1LCA5NzMzNCwgOTczNDYsIDk3MzUzLCA5NzM2MCwgOTczNzAsIDk3Mzc3LCA5NzM4NiwgCi0gICAgOTczOTMsIDk3NDAyLCA5NzQwOSwgOTc0MTYsIDk3NDI2LCA5NzQzMywgOTc0NDAsIDk3NDUwLCA5NzQ1NywgOTc0NjksIAotICAgIDk3NDc4LCA5NzQ4NSwgOTc0OTIsIDk3NDk5LCA5NzUwOCwgOTc1MTgsIDk3NTMxLCA5NzUzOCwgOTc1NDgsIDk3NTU4LCAKLSAgICA5NzU2NSwgOTc1NzQsIDk3NTg3LCA5NzU5NCwgOTc2MDEsIDk3NjA4LCA5NzYxOCwgOTc2MjgsIDk3NjM1LCA5NzY0NSwgCi0gICAgOTc2NTIsIDk3NjU5LCA5NzY2OSwgOTc2NzUsIDk3NjgyLCA5NzY4OSwgOTc2OTYsIDk3NzA2LCA5NzcxMywgOTc3MjAsIAotICAgIDk3NzI3LCA5NzczMywgOTc3NDAsIDk3NzUwLCA5Nzc1NywgOTc3NjEsIDk3NzY5LCA5Nzc3MywgOTc3ODUsIDk3Nzg5LCAKLSAgICA5NzgwMywgOTc4MDcsIDk3ODExLCA5NzgxNSwgOTc4MTksIDk3ODI1LCA5NzgzMiwgOTc4NDAsIDk3ODQ0LCA5Nzg0OCwgCi0gICAgOTc4NTIsIDk3ODU2LCA5Nzg2MywgOTc4NjcsIDk3ODczLCA5Nzg3OSwgOTc4ODcsIDk3ODkxLCA5Nzg5OCwgOTc5MDYsIAotICAgIDk3OTEwLCA5NzkxNCwgOTc5MjAsIDk3OTI0LCA5NzkzMywgOTc5NDIsIDk3OTQ5LCA5Nzk1OSwgOTc5NjUsIDk3OTY5LCAKLSAgICA5Nzk3MywgOTc5ODEsIDk3OTg4LCA5Nzk5NSwgOTgwMDEsIDk4MDA1LCA5ODAxMywgOTgwMTcsIDk4MDI0LCA5ODAzNiwgCi0gICAgOTgwNDMsIDk4MDUzLCA5ODA1OSwgOTgwNjMsIDk4MDcyLCA5ODA3OSwgOTgwODgsIDk4MDkyLCA5ODA5NiwgOTgxMDMsIAotICAgIDk4MTA3LCA5ODExMSwgOTgxMTUsIDk4MTE5LCA5ODEyMiwgOTgxMjgsIDk4MTM0LCA5ODEzOCwgOTgxNDIsIDk4MTQ5LCAKLSAgICA5ODE1NiwgOTgxNjMsIDk4MTcwLCA5ODE3NywgOTgxODQsIDk4MTkxLCA5ODE5OCwgOTgyMDQsIDk4MjA4LCA5ODIxMiwgCi0gICAgOTgyMTksIDk4MjI2LCA5ODIzMywgOTgyNDAsIDk4MjQ3LCA5ODI1MSwgOTgyNTQsIDk4MjU5LCA5ODI2MywgOTgyNjcsIAotICAgIDk4Mjc2LCA5ODI4NSwgOTgyODksIDk4MjkzLCA5ODI5OSwgOTgzMDUsIDk4MzIyLCA5ODMyOCwgOTgzMzIsIDk4MzQxLCAKLSAgICA5ODM0NSwgOTgzNDksIDk4MzU2LCA5ODM2NCwgOTgzNzIsIDk4Mzc4LCA5ODM4MiwgOTgzODYsIDk4MzkwLCA5ODM5NCwgCi0gICAgOTgzOTcsIDk4NDAzLCA5ODQxMCwgOTg0MjAsIDk4NDI3LCA5ODQzNCwgOTg0NDEsIDk4NDQ3LCA5ODQ1NCwgOTg0NjEsIAotICAgIDk4NDY4LCA5ODQ3NSwgOTg0ODIsIDk4NDkxLCA5ODQ5OCwgOTg1MTAsIDk4NTE3LCA5ODUyNCwgOTg1MzQsIDk4NTQ1LCAKLSAgICA5ODU1MiwgOTg1NTksIDk4NTY2LCA5ODU3MywgOTg1ODAsIDk4NTg3LCA5ODU5NCwgOTg2MDEsIDk4NjA4LCA5ODYxNSwgCi0gICAgOTg2MjUsIDk4NjM1LCA5ODY0NSwgOTg2NTIsIDk4NjYyLCA5ODY2OSwgOTg2NzYsIDk4NjgzLCA5ODY5MCwgOTg2OTYsIAotICAgIDk4NzAzLCA5ODcxMCwgOTg3MTcsIDk4NzI0LCA5ODczMSwgOTg3MzgsIDk4NzQ1LCA5ODc1MiwgOTg3NTgsIDk4NzY1LCAKLSAgICA5ODc3MiwgOTg3ODEsIDk4Nzg4LCA5ODc5NSwgOTg3OTksIDk4ODA3LCA5ODgxMSwgOTg4MTUsIDk4ODE5LCA5ODgyMywgCi0gICAgOTg4MjcsIDk4ODM0LCA5ODgzOCwgOTg4NDcsIDk4ODUxLCA5ODg1OCwgOTg4NjYsIDk4ODcwLCA5ODg3NCwgOTg4NzgsIAotICAgIDk4ODkxLCA5ODkwNywgOTg5MTEsIDk4OTE1LCA5ODkyMiwgOTg5MjgsIDk4OTM1LCA5ODkzOSwgOTg5NDMsIDk4OTQ3LCAKLSAgICA5ODk1MSwgOTg5NTUsIDk4OTYyLCA5ODk2NiwgOTg5ODQsIDk4OTg4LCA5ODk5MiwgOTg5OTksIDk5MDAzLCA5OTAwNywgCi0gICAgOTkwMTMsIDk5MDE3LCA5OTAyMSwgOTkwMjksIDk5MDMzLCA5OTAzNywgOTkwNDEsIDk5MDQ1LCA5OTA1MSwgOTkwNjIsIAotICAgIDk5MDcxLCA5OTA4MCwgOTkwODcsIDk5MDk0LCA5OTEwNSwgOTkxMTIsIDk5MTE5LCA5OTEyNiwgOTkxMzMsIDk5MTQwLCAKLSAgICA5OTE0NywgOTkxNTQsIDk5MTY0LCA5OTE3MCwgOTkxNzcsIDk5MTg3LCA5OTE5NiwgOTkyMDMsIDk5MjEyLCA5OTIyMiwgCi0gICAgOTkyMjksIDk5MjM2LCA5OTI0MywgOTkyNTAsIDk5MjYyLCA5OTI2OSwgOTkyNzYsIDk5MjgzLCA5OTI5MCwgOTkyOTcsIAotICAgIDk5MzA3LCA5OTMxNCwgOTkzMjEsIDk5MzMxLCA5OTM0NCwgOTkzNTYsIDk5MzYzLCA5OTM3MywgOTkzODAsIDk5Mzg3LCAKLSAgICA5OTM5NCwgOTk0MDgsIDk5NDE0LCA5OTQyMiwgOTk0MzIsIDk5NDQyLCA5OTQ0OSwgOTk0NTYsIDk5NDYyLCA5OTQ2NiwgCi0gICAgOTk0NzMsIDk5NDgzLCA5OTQ4OSwgOTk1MDIsIDk5NTA2LCA5OTUxMCwgOTk1MTcsIDk5NTIxLCA5OTUyOCwgOTk1MzgsIAotICAgIDk5NTQyLCA5OTU0NiwgOTk1NTAsIDk5NTU0LCA5OTU1OCwgOTk1NjUsIDk5NTY5LCA5OTU3NiwgOTk1ODMsIDk5NTkwLCAKLSAgICA5OTU5OSwgOTk2MDgsIDk5NjE4LCA5OTYyNSwgOTk2MzIsIDk5NjM5LCA5OTY0OSwgOTk2NTYsIDk5NjY2LCA5OTY3MywgCi0gICAgOTk2ODMsIDk5NjkwLCA5OTY5NywgOTk3MDcsIDk5NzE3LCA5OTcyNCwgOTk3MzAsIDk5NzM4LCA5OTc0NiwgOTk3NTIsIAotICAgIDk5NzU4LCA5OTc2MiwgOTk3NjYsIDk5NzczLCA5OTc4MSwgOTk3ODcsIDk5NzkxLCA5OTc5NSwgOTk3OTksIDk5ODA2LCAKLSAgICA5OTgxOCwgOTk4MjEsIDk5ODI4LCA5OTgzNCwgOTk4MzgsIDk5ODQyLCA5OTg0NiwgOTk4NTAsIDk5ODU0LCA5OTg1OCwgCi0gICAgOTk4NjIsIDk5ODY2LCA5OTg3MCwgOTk4NzQsIDk5ODgxLCA5OTg4NSwgOTk4OTEsIDk5ODk1LCA5OTg5OSwgOTk5MDMsIAotICAgIDk5OTA5LCA5OTkxNiwgOTk5MjMsIDk5OTMwLCA5OTk0MSwgOTk5NDksIDk5OTUzLCA5OTk1OSwgOTk5NjgsIDk5OTc1LCAKLSAgICA5OTk4MSwgOTk5ODQsIDk5OTg4LCA5OTk5MiwgOTk5OTgsIDEwMDAwNywgMTAwMDE1LCAxMDAwMTksIDEwMDAyNSwgCi0gICAgMTAwMDI5LCAxMDAwMzMsIDEwMDAzNywgMTAwMDQzLCAxMDAwNTAsIDEwMDA1NiwgMTAwMDYwLCAxMDAwNjYsIDEwMDA3MCwgCi0gICAgMTAwMDc0LCAxMDAwODMsIDEwMDA5NSwgMTAwMDk5LCAxMDAxMDYsIDEwMDExMywgMTAwMTIzLCAxMDAxMzAsIDEwMDE0MiwgCi0gICAgMTAwMTQ5LCAxMDAxNTYsIDEwMDE2MywgMTAwMTc0LCAxMDAxODQsIDEwMDE5NywgMTAwMjA3LCAxMDAyMTQsIDEwMDIxOCwgCi0gICAgMTAwMjIyLCAxMDAyMjYsIDEwMDIzMCwgMTAwMjM5LCAxMDAyNDgsIDEwMDI1NywgMTAwMjc0LCAxMDAyODMsIDEwMDI4OSwgCi0gICAgMTAwMjk2LCAxMDAzMDQsIDEwMDMxNywgMTAwMzIxLCAxMDAzMzAsIDEwMDMzOSwgMTAwMzQ4LCAxMDAzNTcsIDEwMDM2OCwgCi0gICAgMTAwMzc3LCAxMDAzODYsIDEwMDM5NSwgMTAwNDA0LCAxMDA0MTMsIDEwMDQyMiwgMTAwNDMyLCAxMDA0MzUsIDEwMDQzOSwgCi0gICAgMTAwNDQzLCAxMDA0NDcsIDEwMDQ1MSwgMTAwNDU1LCAxMDA0NjEsIDEwMDQ2OCwgMTAwNDc1LCAxMDA0ODIsIDEwMDQ4OCwgCi0gICAgMTAwNDk0LCAxMDA1MDEsIDEwMDUwNywgMTAwNTE0LCAxMDA1MjIsIDEwMDUyNiwgMTAwNTMzLCAxMDA1NDAsIDEwMDU0NywgCi0gICAgMTAwNTU1LCAxMDA1NTgsIDEwMDU2MiwgMTAwNTY2LCAxMDA1NzAsIDEwMDU3MywgMTAwNTc5LCAxMDA1ODMsIDEwMDU4OSwgCi0gICAgMTAwNTk2LCAxMDA2MDMsIDEwMDYwOSwgMTAwNjE2LCAxMDA2MjMsIDEwMDYzMCwgMTAwNjM3LCAxMDA2NDQsIDEwMDY1MSwgCi0gICAgMTAwNjU4LCAxMDA2NjUsIDEwMDY3MiwgMTAwNjc5LCAxMDA2ODYsIDEwMDY5MywgMTAwNzAwLCAxMDA3MDcsIDEwMDcxMywgCi0gICAgMTAwNzE3LCAxMDA3MjYsIDEwMDczMCwgMTAwNzM0LCAxMDA3MzgsIDEwMDc0MiwgMTAwNzQ4LCAxMDA3NTUsIDEwMDc2MiwgCi0gICAgMTAwNzY5LCAxMDA3NzYsIDEwMDc4MywgMTAwNzg5LCAxMDA3OTcsIDEwMDgwMSwgMTAwODA1LCAxMDA4MDksIDEwMDgxMywgCi0gICAgMTAwODE5LCAxMDA4MzYsIDEwMDg1MywgMTAwODU3LCAxMDA4NjEsIDEwMDg2NSwgMTAwODY5LCAxMDA4NzMsIDEwMDg3NywgCi0gICAgMTAwODgzLCAxMDA4OTAsIDEwMDg5NCwgMTAwOTAwLCAxMDA5MDcsIDEwMDkxNCwgMTAwOTIxLCAxMDA5MjgsIDEwMDkzNSwgCi0gICAgMTAwOTQ0LCAxMDA5NTEsIDEwMDk1OCwgMTAwOTY1LCAxMDA5NzIsIDEwMDk3NiwgMTAwOTgwLCAxMDA5ODYsIDEwMDk5OCwgCi0gICAgMTAxMDAyLCAxMDEwMDYsIDEwMTAxNSwgMTAxMDE5LCAxMDEwMjMsIDEwMTAyNywgMTAxMDMzLCAxMDEwMzcsIDEwMTA0MSwgCi0gICAgMTAxMDUwLCAxMDEwNTQsIDEwMTA1OCwgMTAxMDYyLCAxMDEwNjksIDEwMTA3MywgMTAxMDc3LCAxMDEwODEsIDEwMTA4NSwgCi0gICAgMTAxMDg5LCAxMDEwOTMsIDEwMTA5NywgMTAxMTAxLCAxMDExMDcsIDEwMTExNCwgMTAxMTIxLCAxMDExMjcsIDEwMTEzMSwgCi0gICAgMTAxMTQ4LCAxMDExNTQsIDEwMTE1OCwgMTAxMTY0LCAxMDExNzAsIDEwMTE3NiwgMTAxMTgyLCAxMDExODgsIDEwMTE5NCwgCi0gICAgMTAxMTk4LCAxMDEyMDIsIDEwMTIwNiwgMTAxMjEyLCAxMDEyMTYsIDEwMTIyMiwgMTAxMjI2LCAxMDEyMzAsIDEwMTIzNywgCi0gICAgMTAxMjQ0LCAxMDEyNjEsIDEwMTI2NSwgMTAxMjY5LCAxMDEyNzMsIDEwMTI3NywgMTAxMjgxLCAxMDEyOTMsIDEwMTI5NiwgCi0gICAgMTAxMzAxLCAxMDEzMDYsIDEwMTMyMSwgMTAxMzMxLCAxMDEzNDMsIDEwMTM0NywgMTAxMzUxLCAxMDEzNTUsIDEwMTM2MSwgCi0gICAgMTAxMzY4LCAxMDEzNzUsIDEwMTM4NSwgMTAxMzk3LCAxMDE0MDMsIDEwMTQwOSwgMTAxNDE4LCAxMDE0MjIsIDEwMTQyNiwgCi0gICAgMTAxNDMzLCAxMDE0NDMsIDEwMTQ1MCwgMTAxNDU2LCAxMDE0NjAsIDEwMTQ2NCwgMTAxNDcxLCAxMDE0NzcsIDEwMTQ4MSwgCi0gICAgMTAxNDg3LCAxMDE0OTEsIDEwMTQ5OSwgMTAxNTA1LCAxMDE1MDksIDEwMTUxNywgMTAxNTI1LCAxMDE1MzIsIDEwMTUzOCwgCi0gICAgMTAxNTQ1LCAxMDE1NTIsIDEwMTU2MiwgMTAxNTcyLCAxMDE1NzYsIDEwMTU4MCwgMTAxNTg0LCAxMDE1ODgsIDEwMTU5NCwgCi0gICAgMTAxNjAxLCAxMDE2MDcsIDEwMTYxNCwgMTAxNjIxLCAxMDE2MjgsIDEwMTYzNywgMTAxNjQ0LCAxMDE2NTEsIDEwMTY1NywgCi0gICAgMTAxNjY0LCAxMDE2NzEsIDEwMTY3OCwgMTAxNjg1LCAxMDE2OTIsIDEwMTY5OSwgMTAxNzA1LCAxMDE3MTIsIDEwMTcxOSwgCi0gICAgMTAxNzI2LCAxMDE3MzUsIDEwMTc0MiwgMTAxNzQ5LCAxMDE3NTMsIDEwMTc1OSwgMTAxNzYzLCAxMDE3NjksIDEwMTc3NiwgCi0gICAgMTAxNzgzLCAxMDE3OTAsIDEwMTc5NCwgMTAxNzk4LCAxMDE4MDIsIDEwMTgwNiwgMTAxODEwLCAxMDE4MTcsIDEwMTgyMSwgCi0gICAgMTAxODI1LCAxMDE4MzEsIDEwMTgzOSwgMTAxODQzLCAxMDE4NDcsIDEwMTg1MSwgMTAxODU1LCAxMDE4NjIsIDEwMTg2NiwgCi0gICAgMTAxODcwLCAxMDE4NzgsIDEwMTg4MiwgMTAxODg2LCAxMDE4OTAsIDEwMTg5NCwgMTAxOTAwLCAxMDE5MDQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMTkwOCwgMTAxOTE0LCAxMDE5MjAsIDEwMTkyNywgCi0gICAgMTAxOTM0LCAxMDE5NDEsIDEwMTk0OCwgMTAxOTU1LCAxMDE5NjIsIDEwMTk2OCwgMTAxOTc1LCAxMDE5ODIsIDEwMTk4OSwgCi0gICAgMTAxOTk2LCAxMDIwMDMsIDEwMjAxMCwgMTAyMDE2LCAxMDIwMjIsIDEwMjAyOCwgMTAyMDM0LCAxMDIwNDAsIDEwMjA0NiwgCi0gICAgMTAyMDUyLCAxMDIwNTgsIDEwMjA2NCwgMTAyMDcxLCAxMDIwNzgsIDEwMjA4NSwgMTAyMDkyLCAxMDIwOTksIDEwMjEwNiwgCi0gICAgMTAyMTEyLCAxMDIxMTgsIDEwMjEyNCwgMTAyMTMxLCAxMDIxMzgsIDEwMjE0NCwgMTAyMTUwLCAxMDIxNTksIDEwMjE2NiwgCi0gICAgMTAyMTczLCAxMDIxODAsIDEwMjE4NywgMTAyMTk0LCAxMDIyMDEsIDEwMjIwNywgMTAyMjEzLCAxMDIyMTksIDEwMjIyOCwgCi0gICAgMTAyMjM1LCAxMDIyNDIsIDEwMjI1MywgMTAyMjY0LCAxMDIyNzAsIDEwMjI3NiwgMTAyMjgyLCAxMDIyOTEsIDEwMjI5OCwgCi0gICAgMTAyMzA1LCAxMDIzMTUsIDEwMjMyNSwgMTAyMzM2LCAxMDIzNDcsIDEwMjM1OSwgMTAyMzcyLCAxMDIzODMsIDEwMjM5NCwgCi0gICAgMTAyNDA2LCAxMDI0MTksIDEwMjQzMCwgMTAyNDQxLCAxMDI0NTIsIDEwMjQ2MywgMTAyNDc0LCAxMDI0ODYsIDEwMjQ5NCwgCi0gICAgMTAyNTAyLCAxMDI1MTEsIDEwMjUyMCwgMTAyNTI5LCAxMDI1MzUsIDEwMjU0MSwgMTAyNTQ3LCAxMDI1NTQsIDEwMjU2NCwgCi0gICAgMTAyNTcxLCAxMDI1ODEsIDEwMjU4NiwgMTAyNTkxLCAxMDI1OTcsIDEwMjYwMywgMTAyNjExLCAxMDI2MTksIDEwMjYyOCwgCi0gICAgMTAyNjM5LCAxMDI2NTAsIDEwMjY1OCwgMTAyNjY2LCAxMDI2NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDEwMjY4NCwgMTAyNjk1LCAxMDI3MDIsIDEwMjcxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTAyNzE4LCAxMDI3MjIsIDEwMjcyNiwgMTAyNzMwLCAxMDI3MzQsIDEwMjczOCwgMTAyNzQyLCAxMDI3NDYsIDEwMjc1MCwgCi0gICAgMTAyNzU0LCAxMDI3NTgsIDEwMjc2MiwgMTAyNzY2LCAxMDI3NzAsIDEwMjc3NCwgMTAyNzc4LCAxMDI3ODIsIDEwMjc4NiwgCi0gICAgMTAyNzkwLCAxMDI3OTQsIDEwMjc5OCwgMTAyODAyLCAxMDI4MDYsIDEwMjgxMCwgMTAyODE0LCAxMDI4MTgsIDEwMjgyMiwgCi0gICAgMTAyODI2LCAxMDI4MzAsIDEwMjgzNCwgMTAyODM4LCAxMDI4NDIsIDEwMjg0NiwgMTAyODUwLCAxMDI4NTQsIDEwMjg1OCwgCi0gICAgMTAyODYyLCAxMDI4NjYsIDEwMjg3MCwgMTAyODc0LCAxMDI4NzgsIDEwMjg4MiwgMTAyODg2LCAxMDI4OTAsIDEwMjg5NCwgCi0gICAgMTAyODk4LCAxMDI5MDIsIDEwMjkwNiwgMTAyOTEwLCAxMDI5MTQsIDEwMjkxOCwgMTAyOTIyLCAxMDI5MjYsIDEwMjkzMCwgCi0gICAgMTAyOTM0LCAxMDI5MzgsIDEwMjk0MiwgMTAyOTQ2LCAxMDI5NTAsIDEwMjk1NCwgMTAyOTU4LCAxMDI5NjIsIDEwMjk2NiwgCi0gICAgMTAyOTcwLCAxMDI5NzQsIDEwMjk3OCwgMTAyOTgyLCAxMDI5ODYsIDEwMjk5MCwgMTAyOTk0LCAxMDI5OTgsIDEwMzAwMiwgCi0gICAgMTAzMDA2LCAxMDMwMTAsIDEwMzAxNCwgMTAzMDE4LCAxMDMwMjIsIDEwMzAyNiwgMTAzMDMwLCAxMDMwMzQsIDEwMzAzOCwgCi0gICAgMTAzMDQyLCAxMDMwNDYsIDEwMzA1MCwgMTAzMDU0LCAxMDMwNTgsIDEwMzA2MiwgMTAzMDY2LCAxMDMwNzAsIDEwMzA3NCwgCi0gICAgMTAzMDc4LCAxMDMwODIsIDEwMzA4NiwgMTAzMDkwLCAxMDMwOTQsIDEwMzA5OCwgMTAzMTAyLCAxMDMxMDYsIDEwMzExMCwgCi0gICAgMTAzMTE0LCAxMDMxMTgsIDEwMzEyMiwgMTAzMTI2LCAxMDMxMzAsIDEwMzEzNCwgMTAzMTM4LCAxMDMxNDIsIDEwMzE0NiwgCi0gICAgMTAzMTUwLCAxMDMxNTQsIDEwMzE1OCwgMTAzMTYyLCAxMDMxNjYsIDEwMzE3MCwgMTAzMTc0LCAxMDMxNzgsIDEwMzE4MiwgCi0gICAgMTAzMTg2LCAxMDMxOTAsIDEwMzE5NCwgMTAzMTk4LCAxMDMyMDIsIDEwMzIwNiwgMTAzMjEwLCAxMDMyMTQsIDEwMzIxOCwgCi0gICAgMTAzMjIyLCAxMDMyMjYsIDEwMzIzMCwgMTAzMjM0LCAxMDMyMzgsIDEwMzI0MiwgMTAzMjQ2LCAxMDMyNTAsIDEwMzI1NCwgCi0gICAgMTAzMjU4LCAxMDMyNjIsIDEwMzI2NiwgMTAzMjcwLCAxMDMyNzQsIDEwMzI3OCwgMTAzMjgyLCAxMDMyODYsIDEwMzI5MCwgCi0gICAgMTAzMjk0LCAxMDMyOTgsIDEwMzMwMiwgMTAzMzA2LCAxMDMzMTAsIDEwMzMxNCwgMTAzMzE4LCAxMDMzMjIsIDEwMzMyNiwgCi0gICAgMTAzMzMwLCAxMDMzMzQsIDEwMzMzOCwgMTAzMzQyLCAxMDMzNDYsIDEwMzM1MCwgMTAzMzU0LCAxMDMzNTgsIDEwMzM2MiwgCi0gICAgMTAzMzY2LCAxMDMzNzAsIDEwMzM3NCwgMTAzMzc4LCAxMDMzODIsIDEwMzM4NiwgMTAzMzkwLCAxMDMzOTQsIDEwMzM5OCwgCi0gICAgMTAzNDAyLCAxMDM0MDYsIDEwMzQxMCwgMTAzNDE0LCAxMDM0MTgsIDEwMzQyMiwgMTAzNDI2LCAxMDM0MzAsIDEwMzQzNCwgCi0gICAgMTAzNDM4LCAxMDM0NDIsIDEwMzQ0NiwgMTAzNDUwLCAxMDM0NTQsIDEwMzQ1OCwgMTAzNDYyLCAxMDM0NjYsIDEwMzQ3MCwgCi0gICAgMTAzNDc0LCAxMDM0NzgsIDEwMzQ4MiwgMTAzNDg2LCAxMDM0OTAsIDEwMzQ5NCwgMTAzNDk4LCAxMDM1MDIsIDEwMzUwNiwgCi0gICAgMTAzNTEwLCAxMDM1MTQsIDEwMzUxOCwgMTAzNTIyLCAxMDM1MjYsIDEwMzUzMCwgMTAzNTM0LCAxMDM1MzgsIDEwMzU0MiwgCi0gICAgMTAzNTQ2LCAxMDM1NTAsIDEwMzU1NCwgMTAzNTU4LCAxMDM1NjIsIDEwMzU2NiwgMTAzNTcwLCAxMDM1NzQsIDEwMzU3OCwgCi0gICAgMTAzNTgyLCAxMDM1ODYsIDEwMzU5MCwgMTAzNTk0LCAxMDM1OTgsIDEwMzYwMiwgMTAzNjA2LCAxMDM2MTAsIDEwMzYxNCwgCi0gICAgMTAzNjE4LCAxMDM2MjIsIDEwMzYyNiwgMTAzNjMwLCAxMDM2MzQsIDEwMzYzOCwgMTAzNjQyLCAxMDM2NDYsIDEwMzY1MCwgCi0gICAgMTAzNjU0LCAxMDM2NTgsIDEwMzY2MiwgMTAzNjY2LCAxMDM2NzAsIDEwMzY3NCwgMTAzNjc4LCAxMDM2ODIsIDEwMzY4NiwgCi0gICAgMTAzNjkwLCAxMDM2OTQsIDEwMzY5OCwgMTAzNzAyLCAxMDM3MDYsIDEwMzcxMCwgMTAzNzE0LCAxMDM3MTgsIDEwMzcyMiwgCi0gICAgMTAzNzI2LCAxMDM3MzAsIDEwMzczNCwgMTAzNzM4LCAxMDM3NDIsIDEwMzc0NiwgMTAzNzUwLCAxMDM3NTQsIDEwMzc1OCwgCi0gICAgMTAzNzYyLCAxMDM3NjYsIDEwMzc3MCwgMTAzNzc0LCAxMDM3NzgsIDEwMzc4MiwgMTAzNzg2LCAxMDM3OTAsIDEwMzc5NCwgCi0gICAgMTAzNzk4LCAxMDM4MDIsIDEwMzgwNiwgMTAzODEwLCAxMDM4MTQsIDEwMzgxOCwgMTAzODIyLCAxMDM4MjYsIDEwMzgzMCwgCi0gICAgMTAzODM0LCAxMDM4MzgsIDEwMzg0MiwgMTAzODQ2LCAxMDM4NTAsIDEwMzg1NCwgMTAzODU4LCAxMDM4NjIsIDEwMzg2NiwgCi0gICAgMTAzODcwLCAxMDM4NzQsIDEwMzg3OCwgMTAzODgyLCAxMDM4ODYsIDEwMzg5MCwgMTAzODk0LCAxMDM4OTgsIDEwMzkwMiwgCi0gICAgMTAzOTA2LCAxMDM5MTAsIDEwMzkxNCwgMTAzOTE4LCAxMDM5MjIsIDEwMzkyNiwgMTAzOTMwLCAxMDM5MzQsIDEwMzkzOCwgCi0gICAgMTAzOTQyLCAxMDM5NDYsIDEwMzk1MCwgMTAzOTU0LCAxMDM5NTgsIDEwMzk2MiwgMTAzOTY2LCAxMDM5NzAsIDEwMzk3NCwgCi0gICAgMTAzOTc4LCAxMDM5ODIsIDEwMzk4NiwgMTAzOTkwLCAxMDM5OTQsIDEwMzk5OCwgMTA0MDAyLCAxMDQwMDYsIDEwNDAxMCwgCi0gICAgMTA0MDE0LCAxMDQwMTgsIDEwNDAyMiwgMTA0MDI2LCAxMDQwMzAsIDEwNDAzNCwgMTA0MDM4LCAxMDQwNDIsIDEwNDA0NiwgCi0gICAgMTA0MDUwLCAxMDQwNTQsIDEwNDA1OCwgMTA0MDYyLCAxMDQwNjYsIDEwNDA3MCwgMTA0MDc0LCAxMDQwNzgsIDEwNDA4MiwgCi0gICAgMTA0MDg2LCAxMDQwOTAsIDEwNDA5NCwgMTA0MDk4LCAxMDQxMDIsIDEwNDEwNiwgMTA0MTEwLCAxMDQxMTQsIDEwNDExOCwgCi0gICAgMTA0MTIyLCAxMDQxMjYsIDEwNDEzMCwgMTA0MTM0LCAxMDQxMzgsIDEwNDE0MiwgMTA0MTQ2LCAxMDQxNTAsIDEwNDE1NCwgCi0gICAgMTA0MTU4LCAxMDQxNjIsIDEwNDE2NiwgMTA0MTcwLCAxMDQxNzQsIDEwNDE3OCwgMTA0MTgyLCAxMDQxODYsIDEwNDE5MCwgCi0gICAgMTA0MTk0LCAxMDQxOTgsIDEwNDIwMiwgMTA0MjA2LCAxMDQyMTAsIDEwNDIxNCwgMTA0MjE4LCAxMDQyMjIsIDEwNDIyNiwgCi0gICAgMTA0MjMwLCAxMDQyMzQsIDEwNDIzOCwgMTA0MjQyLCAxMDQyNDYsIDEwNDI1MCwgMTA0MjU0LCAxMDQyNTgsIDEwNDI2MiwgCi0gICAgMTA0MjY2LCAxMDQyNzAsIDEwNDI3NCwgMTA0Mjc4LCAxMDQyODIsIDEwNDI4NiwgMTA0MjkwLCAxMDQyOTQsIDEwNDI5OCwgCi0gICAgMTA0MzAyLCAxMDQzMDYsIDEwNDMxMCwgMTA0MzE0LCAxMDQzMTgsIDEwNDMyMiwgMTA0MzI2LCAxMDQzMzAsIDEwNDMzNCwgCi0gICAgMTA0MzM4LCAxMDQzNDIsIDEwNDM0NiwgMTA0MzUwLCAxMDQzNTQsIDEwNDM1OCwgMTA0MzYyLCAxMDQzNjYsIDEwNDM3MCwgCi0gICAgMTA0Mzc0LCAxMDQzNzgsIDEwNDM4MiwgMTA0Mzg2LCAxMDQzOTAsIDEwNDM5NCwgMTA0Mzk4LCAxMDQ0MDIsIDEwNDQwNiwgCi0gICAgMTA0NDEwLCAxMDQ0MTQsIDEwNDQxOCwgMTA0NDIyLCAxMDQ0MjYsIDEwNDQzMCwgMTA0NDM0LCAxMDQ0MzgsIDEwNDQ0MiwgCi0gICAgMTA0NDQ2LCAxMDQ0NTAsIDEwNDQ1NCwgMTA0NDU4LCAxMDQ0NjIsIDEwNDQ2NiwgMTA0NDcwLCAxMDQ0NzQsIDEwNDQ3OCwgCi0gICAgMTA0NDgyLCAxMDQ0ODYsIDEwNDQ5MCwgMTA0NDk0LCAxMDQ0OTgsIDEwNDUwMiwgMTA0NTA2LCAxMDQ1MTAsIDEwNDUxNCwgCi0gICAgMTA0NTE4LCAxMDQ1MjIsIDEwNDUyNiwgMTA0NTMwLCAxMDQ1MzQsIDEwNDUzOCwgMTA0NTQyLCAxMDQ1NDYsIDEwNDU1MCwgCi0gICAgMTA0NTU0LCAxMDQ1NTgsIDEwNDU2MiwgMTA0NTY2LCAxMDQ1NzAsIDEwNDU3NCwgMTA0NTc4LCAxMDQ1ODIsIDEwNDU4NiwgCi0gICAgMTA0NTkwLCAxMDQ1OTQsIDEwNDU5OCwgMTA0NjAyLCAxMDQ2MDYsIDEwNDYxMCwgMTA0NjE0LCAxMDQ2MTgsIDEwNDYyMiwgCi0gICAgMTA0NjI2LCAxMDQ2MzAsIDEwNDYzNCwgMTA0NjM4LCAxMDQ2NDIsIDEwNDY0NiwgMTA0NjUwLCAxMDQ2NTQsIDEwNDY1OCwgCi0gICAgMTA0NjYyLCAxMDQ2NjYsIDEwNDY3MCwgMTA0Njc0LCAxMDQ2NzgsIDEwNDY4MiwgMTA0Njg2LCAxMDQ2OTAsIDEwNDY5NCwgCi0gICAgMTA0Njk4LCAxMDQ3MDIsIDEwNDcwNiwgMTA0NzEwLCAxMDQ3MTQsIDEwNDcxOCwgMTA0NzIyLCAxMDQ3MjYsIDEwNDczMCwgCi0gICAgMTA0NzM0LCAxMDQ3MzgsIDEwNDc0MiwgMTA0NzQ2LCAxMDQ3NTAsIDEwNDc1NCwgMTA0NzU4LCAxMDQ3NjIsIDEwNDc2NiwgCi0gICAgMTA0NzcwLCAxMDQ3NzQsIDEwNDc3OCwgMTA0NzgyLCAxMDQ3ODYsIDEwNDc5MCwgMTA0Nzk0LCAxMDQ3OTgsIDEwNDgwMiwgCi0gICAgMTA0ODA2LCAxMDQ4MTAsIDEwNDgxNCwgMTA0ODE4LCAxMDQ4MjIsIDEwNDgyNiwgMTA0ODMwLCAxMDQ4MzQsIDEwNDgzOCwgCi0gICAgMTA0ODQyLCAxMDQ4NDYsIDEwNDg1MCwgMTA0ODU0LCAxMDQ4NTgsIDEwNDg2MiwgMTA0ODY2LCAxMDQ4NzAsIDEwNDg3NCwgCi0gICAgMTA0ODc4LCAxMDQ4ODIsIDEwNDg4NiwgMTA0ODkwLCAxMDQ4OTQsIDEwNDg5OCwgMTA0OTAyLCAxMDQ5MDYsIDEwNDkxMCwgCi0gICAgMTA0OTE0LCAxMDQ5MTgsIDEwNDkyMiwgMTA0OTI2LCAxMDQ5MzAsIDEwNDkzNCwgMTA0OTM4LCAxMDQ5NDIsIDEwNDk0NiwgCi0gICAgMTA0OTUwLCAxMDQ5NTQsIDEwNDk1OCwgMTA0OTYyLCAxMDQ5NjYsIDEwNDk3MCwgMTA0OTc0LCAxMDQ5NzgsIDEwNDk4MiwgCi0gICAgMTA0OTg2LCAxMDQ5OTAsIDEwNDk5NCwgMTA0OTk4LCAxMDUwMDIsIDEwNTAwNiwgMTA1MDEwLCAxMDUwMTQsIDEwNTAxOCwgCi0gICAgMTA1MDIyLCAxMDUwMjYsIDEwNTAzMCwgMTA1MDM0LCAxMDUwMzgsIDEwNTA0MiwgMTA1MDQ2LCAxMDUwNTAsIDEwNTA1NCwgCi0gICAgMTA1MDU4LCAxMDUwNjIsIDEwNTA2NiwgMTA1MDcwLCAxMDUwNzQsIDEwNTA3OCwgMTA1MDgyLCAxMDUwODYsIDEwNTA5MCwgCi0gICAgMTA1MDk0LCAxMDUwOTgsIDEwNTEwMiwgMTA1MTA2LCAxMDUxMTAsIDEwNTExNCwgMTA1MTE4LCAxMDUxMjIsIDEwNTEyNiwgCi0gICAgMTA1MTMwLCAxMDUxMzQsIDEwNTEzOCwgMTA1MTQyLCAxMDUxNDYsIDEwNTE1MCwgMTA1MTU0LCAxMDUxNTgsIDEwNTE2MiwgCi0gICAgMTA1MTY2LCAxMDUxNzAsIDEwNTE3NCwgMTA1MTc4LCAxMDUxODIsIDEwNTE4NiwgMTA1MTkwLCAxMDUxOTQsIDEwNTE5OCwgCi0gICAgMTA1MjAyLCAxMDUyMDYsIDEwNTIxMCwgMTA1MjE0LCAxMDUyMTgsIDEwNTIyMiwgMTA1MjI2LCAxMDUyMzAsIDEwNTIzNCwgCi0gICAgMTA1MjM4LCAxMDUyNDIsIDEwNTI0NiwgMTA1MjUwLCAxMDUyNTQsIDEwNTI1OCwgMTA1MjYyLCAxMDUyNjYsIDEwNTI3MCwgCi0gICAgMTA1Mjc0LCAxMDUyNzgsIDEwNTI4MiwgMTA1Mjg2LCAxMDUyOTAsIDEwNTI5NCwgMTA1Mjk4LCAxMDUzMDIsIDEwNTMwNiwgCi0gICAgMTA1MzEwLCAxMDUzMTQsIDEwNTMxOCwgMTA1MzIyLCAxMDUzMjYsIDEwNTMzMCwgMTA1MzM0LCAxMDUzMzgsIDEwNTM0MiwgCi0gICAgMTA1MzQ2LCAxMDUzNTAsIDEwNTM1NCwgMTA1MzU4LCAxMDUzNjIsIDEwNTM2NiwgMTA1MzcwLCAxMDUzNzQsIDEwNTM3OCwgCi0gICAgMTA1MzgyLCAxMDUzODYsIDEwNTM5MCwgMTA1Mzk0LCAxMDUzOTgsIDEwNTQwMiwgMTA1NDA2LCAxMDU0MTAsIDEwNTQxNCwgCi0gICAgMTA1NDE4LCAxMDU0MjIsIDEwNTQyNiwgMTA1NDMwLCAxMDU0MzQsIDEwNTQzOCwgMTA1NDQyLCAxMDU0NDYsIDEwNTQ1MCwgCi0gICAgMTA1NDU0LCAxMDU0NTgsIDEwNTQ2MiwgMTA1NDY2LCAxMDU0NzAsIDEwNTQ3NCwgMTA1NDc4LCAxMDU0ODIsIDEwNTQ4NiwgCi0gICAgMTA1NDkwLCAxMDU0OTQsIDEwNTQ5OCwgMTA1NTAyLCAxMDU1MDYsIDEwNTUxMCwgMTA1NTE0LCAxMDU1MTgsIDEwNTUyMiwgCi0gICAgMTA1NTI2LCAxMDU1MzAsIDEwNTUzNCwgMTA1NTM4LCAxMDU1NDIsIDEwNTU0NiwgMTA1NTUwLCAxMDU1NTQsIDEwNTU1OCwgCi0gICAgMTA1NTYyLCAxMDU1NjYsIDEwNTU3MCwgMTA1NTc0LCAxMDU1NzgsIDEwNTU4MiwgMTA1NTg2LCAxMDU1OTAsIDEwNTU5NCwgCi0gICAgMTA1NTk4LCAxMDU2MDIsIDEwNTYwNiwgMTA1NjEwLCAxMDU2MTQsIDEwNTYxOCwgMTA1NjIyLCAxMDU2MjYsIDEwNTYzMCwgCi0gICAgMTA1NjM0LCAxMDU2MzgsIDEwNTY0MiwgMTA1NjQ2LCAxMDU2NTAsIDEwNTY1NCwgMTA1NjU4LCAxMDU2NjIsIDEwNTY2NiwgCi0gICAgMTA1NjcwLCAxMDU2NzQsIDEwNTY3OCwgMTA1NjgyLCAxMDU2ODYsIDEwNTY5MCwgMTA1Njk0LCAxMDU2OTgsIDEwNTcwMiwgCi0gICAgMTA1NzA2LCAxMDU3MTAsIDEwNTcxNCwgMTA1NzE4LCAxMDU3MjIsIDEwNTcyNiwgMTA1NzMwLCAxMDU3MzQsIDEwNTczOCwgCi0gICAgMTA1NzQyLCAxMDU3NDYsIDEwNTc1MCwgMTA1NzU0LCAxMDU3NTgsIDEwNTc2MiwgMTA1NzY2LCAxMDU3NzAsIDEwNTc3NCwgCi0gICAgMTA1Nzc4LCAxMDU3ODIsIDEwNTc4NiwgMTA1NzkwLCAxMDU3OTQsIDEwNTc5OCwgMTA1ODAyLCAxMDU4MDYsIDEwNTgxMCwgCi0gICAgMTA1ODE0LCAxMDU4MTgsIDEwNTgyMiwgMTA1ODI2LCAxMDU4MzAsIDEwNTgzNCwgMTA1ODM4LCAxMDU4NDIsIDEwNTg0NiwgCi0gICAgMTA1ODUwLCAxMDU4NTQsIDEwNTg1OCwgMTA1ODYyLCAxMDU4NjYsIDEwNTg3MCwgMTA1ODc0LCAxMDU4NzgsIDEwNTg4MiwgCi0gICAgMTA1ODg2LCAxMDU4OTAsIDEwNTg5NCwgMTA1ODk4LCAxMDU5MDIsIDEwNTkwNiwgMTA1OTEwLCAxMDU5MTQsIDEwNTkxOCwgCi0gICAgMTA1OTIyLCAxMDU5MjYsIDEwNTkzMCwgMTA1OTM0LCAxMDU5MzgsIDEwNTk0MiwgMTA1OTQ2LCAxMDU5NTAsIDEwNTk1NCwgCi0gICAgMTA1OTU4LCAxMDU5NjIsIDEwNTk2NiwgMTA1OTcwLCAxMDU5NzQsIDEwNTk3OCwgMTA1OTgyLCAxMDU5ODYsIDEwNTk5MCwgCi0gICAgMTA1OTk0LCAxMDU5OTgsIDEwNjAwMiwgMTA2MDA2LCAxMDYwMTAsIDEwNjAxNCwgMTA2MDE4LCAxMDYwMjIsIDEwNjAyNiwgCi0gICAgMTA2MDMwLCAxMDYwMzQsIDEwNjAzOCwgMTA2MDQyLCAxMDYwNDYsIDEwNjA1MCwgMTA2MDU0LCAxMDYwNTgsIDEwNjA2MiwgCi0gICAgMTA2MDY2LCAxMDYwNzAsIDEwNjA3NCwgMTA2MDc4LCAxMDYwODIsIDEwNjA4NiwgMTA2MDkwLCAxMDYwOTQsIDEwNjA5OCwgCi0gICAgMTA2MTAyLCAxMDYxMDYsIDEwNjExMCwgMTA2MTE0LCAxMDYxMTgsIDEwNjEyMiwgMTA2MTI2LCAxMDYxMzAsIDEwNjEzNCwgCi0gICAgMTA2MTM4LCAxMDYxNDIsIDEwNjE0NiwgMTA2MTUwLCAxMDYxNTQsIDEwNjE1OCwgMTA2MTYyLCAxMDYxNjYsIDEwNjE3MCwgCi0gICAgMTA2MTc0LCAxMDYxNzgsIDEwNjE4MiwgMTA2MTg2LCAxMDYxOTAsIDEwNjE5NCwgMTA2MTk4LCAxMDYyMDIsIDEwNjIwNiwgCi0gICAgMTA2MjEwLCAxMDYyMTQsIDEwNjIxOCwgMTA2MjIyLCAxMDYyMjYsIDEwNjIzMCwgMTA2MjM0LCAxMDYyMzgsIDEwNjI0MiwgCi0gICAgMTA2MjQ2LCAxMDYyNTAsIDEwNjI1NCwgMTA2MjU4LCAxMDYyNjIsIDEwNjI2NiwgMTA2MjcwLCAxMDYyNzQsIDEwNjI3OCwgCi0gICAgMTA2MjgyLCAxMDYyODYsIDEwNjI5MCwgMTA2Mjk0LCAxMDYyOTgsIDEwNjMwMiwgMTA2MzA2LCAxMDYzMTAsIDEwNjMxNCwgCi0gICAgMTA2MzE4LCAxMDYzMjIsIDEwNjMyNiwgMTA2MzMwLCAxMDYzMzQsIDEwNjMzOCwgMTA2MzQyLCAxMDYzNDYsIDEwNjM1MCwgCi0gICAgMTA2MzU0LCAxMDYzNTgsIDEwNjM2MiwgMTA2MzY2LCAxMDYzNzAsIDEwNjM3NCwgMTA2Mzc4LCAxMDYzODIsIDEwNjM4NiwgCi0gICAgMTA2MzkwLCAxMDYzOTQsIDEwNjM5OCwgMTA2NDAyLCAxMDY0MDYsIDEwNjQxMCwgMTA2NDE0LCAxMDY0MTgsIDEwNjQyMiwgCi0gICAgMTA2NDI2LCAxMDY0MzAsIDEwNjQzNCwgMTA2NDM4LCAxMDY0NDIsIDEwNjQ0NiwgMTA2NDUwLCAxMDY0NTQsIDEwNjQ1OCwgCi0gICAgMTA2NDYyLCAxMDY0NjYsIDEwNjQ3MCwgMTA2NDc0LCAxMDY0NzgsIDEwNjQ4MiwgMTA2NDg2LCAxMDY0OTAsIDEwNjQ5NCwgCi0gICAgMTA2NDk4LCAxMDY1MDIsIDEwNjUwNiwgMTA2NTEwLCAxMDY1MTQsIDEwNjUxOCwgMTA2NTIyLCAxMDY1MjYsIDEwNjUzMCwgCi0gICAgMTA2NTM0LCAxMDY1MzgsIDEwNjU0MiwgMTA2NTQ2LCAxMDY1NTAsIDEwNjU1NCwgMTA2NTU4LCAxMDY1NjIsIDEwNjU2NiwgCi0gICAgMTA2NTcwLCAxMDY1NzQsIDEwNjU3OCwgMTA2NTgyLCAxMDY1ODYsIDEwNjU5MCwgMTA2NTk0LCAxMDY1OTgsIDEwNjYwMiwgCi0gICAgMTA2NjA2LCAxMDY2MTAsIDEwNjYxNCwgMTA2NjE4LCAxMDY2MjIsIDEwNjYyNiwgMTA2NjMwLCAxMDY2MzQsIDEwNjYzOCwgCi0gICAgMTA2NjQyLCAxMDY2NDYsIDEwNjY1MCwgMTA2NjU0LCAxMDY2NTgsIDEwNjY2MiwgMTA2NjY2LCAxMDY2NzAsIDEwNjY3NCwgCi0gICAgMTA2Njc4LCAxMDY2ODIsIDEwNjY4NiwgMTA2NjkwLCAxMDY2OTQsIDEwNjY5OCwgMTA2NzAyLCAxMDY3MDYsIDEwNjcxMCwgCi0gICAgMTA2NzE0LCAxMDY3MTgsIDEwNjcyMiwgMTA2NzI2LCAxMDY3MzAsIDEwNjczNCwgMTA2NzM4LCAxMDY3NDIsIDEwNjc0NiwgCi0gICAgMTA2NzUwLCAxMDY3NTQsIDEwNjc1OCwgMTA2NzYyLCAxMDY3NjYsIDEwNjc3MCwgMTA2Nzc0LCAxMDY3NzgsIDEwNjc4MiwgCi0gICAgMTA2Nzg2LCAxMDY3OTAsIDEwNjc5NCwgMTA2Nzk4LCAxMDY4MDIsIDEwNjgwNiwgMTA2ODEwLCAxMDY4MTQsIDEwNjgxOCwgCi0gICAgMTA2ODIyLCAxMDY4MjYsIDEwNjgzMCwgMTA2ODM0LCAxMDY4MzgsIDEwNjg0MiwgMTA2ODQ2LCAxMDY4NTAsIDEwNjg1NCwgCi0gICAgMTA2ODU4LCAxMDY4NjIsIDEwNjg2NiwgMTA2ODcwLCAxMDY4NzQsIDEwNjg3OCwgMTA2ODgyLCAxMDY4ODYsIDEwNjg5MCwgCi0gICAgMTA2ODk0LCAxMDY4OTgsIDEwNjkwMiwgMTA2OTA2LCAxMDY5MTAsIDEwNjkxNCwgMTA2OTE4LCAxMDY5MjIsIDEwNjkyNiwgCi0gICAgMTA2OTMwLCAxMDY5MzQsIDEwNjkzOCwgMTA2OTQyLCAxMDY5NDYsIDEwNjk1MCwgMTA2OTU0LCAxMDY5NTgsIDEwNjk2MiwgCi0gICAgMTA2OTY2LCAxMDY5NzAsIDEwNjk3NCwgMTA2OTc4LCAxMDY5ODIsIDEwNjk4NiwgMTA2OTkwLCAxMDY5OTQsIDEwNjk5OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTYwNzksIDk2MDgyLCA5NjA4NywgOTYwOTMsIAorICAgIDk2MTAxLCA5NjEwNiwgOTYxMTIsIDk2MTIwLCA5NjEyNiwgOTYxMzIsIDk2MTM2LCA5NjE0MCwgOTYxNDcsIDk2MTU2LCAKKyAgICA5NjE2MywgOTYxNzIsIDk2MTc4LCA5NjE4NywgOTYxOTQsIDk2MjAxLCA5NjIwOCwgOTYyMTgsIDk2MjI0LCA5NjIyOCwgCisgICAgOTYyMzUsIDk2MjQ0LCA5NjI1NCwgOTYyNjEsIDk2MjY4LCA5NjI3MiwgOTYyNzYsIDk2MjgzLCA5NjI5MywgOTYyOTcsIAorICAgIDk2MzA0LCA5NjMxMSwgOTYzMTgsIDk2MzI0LCA5NjMzMSwgOTYzMzgsIDk2MzQ1LCA5NjM1MiwgOTYzNTYsIDk2MzYwLCAKKyAgICA5NjM2NCwgOTYzNzEsIDk2Mzc1LCA5NjM4MiwgOTYzODksIDk2NDAzLCA5NjQxMiwgOTY0MTYsIDk2NDIwLCA5NjQyNCwgCisgICAgOTY0MzEsIDk2NDM1LCA5NjQzOSwgOTY0NDMsIDk2NDUxLCA5NjQ1OSwgOTY0NzgsIDk2NDg4LCA5NjUwOCwgOTY1MTIsIAorICAgIDk2NTE2LCA5NjUyMCwgOTY1MjQsIDk2NTI4LCA5NjUzMiwgOTY1MzYsIDk2NTQzLCA5NjU0NywgOTY1NTAsIDk2NTU0LCAKKyAgICA5NjU1OCwgOTY1NjQsIDk2NTcxLCA5NjU4MCwgOTY1ODQsIDk2NTkzLCA5NjYwMiwgOTY2MTAsIDk2NjE0LCA5NjYyMSwgCisgICAgOTY2MjUsIDk2NjI5LCA5NjYzMywgOTY2MzcsIDk2NjQ4LCA5NjY1NywgOTY2NjYsIDk2Njc1LCA5NjY4NCwgOTY2OTYsIAorICAgIDk2NzA1LCA5NjcxNCwgOTY3MjMsIDk2NzMxLCA5Njc0MCwgOTY3NTIsIDk2NzYxLCA5Njc3MCwgOTY3NzksIDk2NzkxLCAKKyAgICA5NjgwMCwgOTY4MDksIDk2ODIxLCA5NjgzMCwgOTY4MzksIDk2ODUxLCA5Njg2MCwgOTY4NjQsIDk2ODY4LCA5Njg3MiwgCisgICAgOTY4NzYsIDk2ODgwLCA5Njg4NCwgOTY4ODgsIDk2ODk1LCA5Njg5OSwgOTY5MDMsIDk2OTE0LCA5NjkxOCwgOTY5MjIsIAorICAgIDk2OTI5LCA5NjkzNSwgOTY5NDEsIDk2OTQ1LCA5Njk1MiwgOTY5NTYsIDk2OTYwLCA5Njk2NCwgOTY5NjgsIDk2OTcyLCAKKyAgICA5Njk3NiwgOTY5ODIsIDk2OTkwLCA5Njk5NCwgOTY5OTgsIDk3MDAxLCA5NzAwNywgOTcwMTcsIDk3MDIxLCA5NzAzMywgCisgICAgOTcwNDAsIDk3MDQ3LCA5NzA1NCwgOTcwNjEsIDk3MDY3LCA5NzA3MSwgOTcwNzUsIDk3MDc5LCA5NzA4MywgOTcwOTAsIAorICAgIDk3MDk5LCA5NzEwNiwgOTcxMTQsIDk3MTIyLCA5NzEyOCwgOTcxMzIsIDk3MTM2LCA5NzE0MCwgOTcxNDQsIDk3MTUwLCAKKyAgICA5NzE1OSwgOTcxNzEsIDk3MTc4LCA5NzE4NSwgOTcxOTQsIDk3MjA1LCA5NzIxMSwgOTcyMjAsIDk3MjI5LCA5NzIzNiwgCisgICAgOTcyNDUsIDk3MjUyLCA5NzI1OSwgOTcyNjksIDk3Mjc2LCA5NzI4MywgOTcyOTAsIDk3Mjk3LCA5NzMwMSwgOTczMDcsIAorICAgIDk3MzExLCA5NzMyMiwgOTczMzAsIDk3MzM5LCA5NzM1MSwgOTczNTgsIDk3MzY1LCA5NzM3NSwgOTczODIsIDk3MzkxLCAKKyAgICA5NzM5OCwgOTc0MDcsIDk3NDE0LCA5NzQyMSwgOTc0MzEsIDk3NDM4LCA5NzQ0NSwgOTc0NTUsIDk3NDYyLCA5NzQ3NCwgCisgICAgOTc0ODMsIDk3NDkwLCA5NzQ5NywgOTc1MDQsIDk3NTEzLCA5NzUyMywgOTc1MzYsIDk3NTQzLCA5NzU1MywgOTc1NjMsIAorICAgIDk3NTcwLCA5NzU3OSwgOTc1OTIsIDk3NTk5LCA5NzYwNiwgOTc2MTMsIDk3NjIzLCA5NzYzMywgOTc2NDAsIDk3NjUwLCAKKyAgICA5NzY1NywgOTc2NjQsIDk3Njc0LCA5NzY4MCwgOTc2ODcsIDk3Njk0LCA5NzcwMSwgOTc3MTEsIDk3NzE4LCA5NzcyNSwgCisgICAgOTc3MzIsIDk3NzM4LCA5Nzc0NSwgOTc3NTUsIDk3NzYyLCA5Nzc2NiwgOTc3NzQsIDk3Nzc4LCA5Nzc5MCwgOTc3OTQsIAorICAgIDk3ODA4LCA5NzgxMiwgOTc4MTYsIDk3ODIwLCA5NzgyNCwgOTc4MzAsIDk3ODM3LCA5Nzg0NSwgOTc4NDksIDk3ODUzLCAKKyAgICA5Nzg1NywgOTc4NjEsIDk3ODY4LCA5Nzg3MiwgOTc4NzgsIDk3ODg0LCA5Nzg5MiwgOTc4OTYsIDk3OTAzLCA5NzkxMSwgCisgICAgOTc5MTUsIDk3OTE5LCA5NzkyNSwgOTc5MjksIDk3OTM4LCA5Nzk0NywgOTc5NTQsIDk3OTY0LCA5Nzk3MCwgOTc5NzQsIAorICAgIDk3OTc4LCA5Nzk4NiwgOTc5OTMsIDk4MDAwLCA5ODAwNiwgOTgwMTAsIDk4MDE4LCA5ODAyMiwgOTgwMjksIDk4MDQxLCAKKyAgICA5ODA0OCwgOTgwNTgsIDk4MDY0LCA5ODA2OCwgOTgwNzcsIDk4MDg0LCA5ODA5MywgOTgwOTcsIDk4MTAxLCA5ODEwOCwgCisgICAgOTgxMTIsIDk4MTE2LCA5ODEyMCwgOTgxMjQsIDk4MTI3LCA5ODEzMywgOTgxMzksIDk4MTQzLCA5ODE0NywgOTgxNTQsIAorICAgIDk4MTYxLCA5ODE2OCwgOTgxNzUsIDk4MTgyLCA5ODE4OSwgOTgxOTYsIDk4MjAzLCA5ODIwOSwgOTgyMTMsIDk4MjE3LCAKKyAgICA5ODIyNCwgOTgyMzEsIDk4MjM4LCA5ODI0NSwgOTgyNTIsIDk4MjU2LCA5ODI1OSwgOTgyNjQsIDk4MjY4LCA5ODI3MiwgCisgICAgOTgyODEsIDk4MjkwLCA5ODI5NCwgOTgyOTgsIDk4MzA0LCA5ODMxMCwgOTgzMjcsIDk4MzMzLCA5ODMzNywgOTgzNDYsIAorICAgIDk4MzUwLCA5ODM1NCwgOTgzNjEsIDk4MzY5LCA5ODM3NywgOTgzODMsIDk4Mzg3LCA5ODM5MSwgOTgzOTUsIDk4Mzk5LCAKKyAgICA5ODQwMiwgOTg0MDgsIDk4NDE1LCA5ODQyNSwgOTg0MzIsIDk4NDM5LCA5ODQ0NiwgOTg0NTIsIDk4NDU5LCA5ODQ2NiwgCisgICAgOTg0NzMsIDk4NDgwLCA5ODQ4NywgOTg0OTYsIDk4NTAzLCA5ODUxNSwgOTg1MjIsIDk4NTI5LCA5ODUzOSwgOTg1NTAsIAorICAgIDk4NTU3LCA5ODU2NCwgOTg1NzEsIDk4NTc4LCA5ODU4NSwgOTg1OTIsIDk4NTk5LCA5ODYwNiwgOTg2MTMsIDk4NjIwLCAKKyAgICA5ODYzMCwgOTg2NDAsIDk4NjUwLCA5ODY1NywgOTg2NjcsIDk4Njc0LCA5ODY4MSwgOTg2ODgsIDk4Njk1LCA5ODcwMSwgCisgICAgOTg3MDgsIDk4NzE1LCA5ODcyMiwgOTg3MjksIDk4NzM2LCA5ODc0MywgOTg3NTAsIDk4NzU3LCA5ODc2MywgOTg3NzAsIAorICAgIDk4Nzc3LCA5ODc4NiwgOTg3OTMsIDk4ODAwLCA5ODgwNCwgOTg4MTIsIDk4ODE2LCA5ODgyMCwgOTg4MjQsIDk4ODI4LCAKKyAgICA5ODgzMiwgOTg4MzksIDk4ODQzLCA5ODg1MiwgOTg4NTYsIDk4ODYzLCA5ODg3MSwgOTg4NzUsIDk4ODc5LCA5ODg4MywgCisgICAgOTg4OTYsIDk4OTEyLCA5ODkxNiwgOTg5MjAsIDk4OTI3LCA5ODkzMywgOTg5NDAsIDk4OTQ0LCA5ODk0OCwgOTg5NTIsIAorICAgIDk4OTU2LCA5ODk2MCwgOTg5NjcsIDk4OTcxLCA5ODk4OSwgOTg5OTMsIDk4OTk3LCA5OTAwNCwgOTkwMDgsIDk5MDEyLCAKKyAgICA5OTAxOCwgOTkwMjIsIDk5MDI2LCA5OTAzNCwgOTkwMzgsIDk5MDQyLCA5OTA0NiwgOTkwNTAsIDk5MDU2LCA5OTA2NywgCisgICAgOTkwNzYsIDk5MDg1LCA5OTA5MiwgOTkwOTksIDk5MTEwLCA5OTExNywgOTkxMjQsIDk5MTMxLCA5OTEzOCwgOTkxNDUsIAorICAgIDk5MTUyLCA5OTE1OSwgOTkxNjksIDk5MTc1LCA5OTE4MiwgOTkxOTIsIDk5MjAxLCA5OTIwOCwgOTkyMTcsIDk5MjI3LCAKKyAgICA5OTIzNCwgOTkyNDEsIDk5MjQ4LCA5OTI1NSwgOTkyNjcsIDk5Mjc0LCA5OTI4MSwgOTkyODgsIDk5Mjk1LCA5OTMwMiwgCisgICAgOTkzMTIsIDk5MzE5LCA5OTMyNiwgOTkzMzYsIDk5MzQ5LCA5OTM2MSwgOTkzNjgsIDk5Mzc4LCA5OTM4NSwgOTkzOTIsIAorICAgIDk5Mzk5LCA5OTQxMywgOTk0MTksIDk5NDI3LCA5OTQzNywgOTk0NDcsIDk5NDU0LCA5OTQ2MSwgOTk0NjcsIDk5NDcxLCAKKyAgICA5OTQ3OCwgOTk0ODgsIDk5NDk0LCA5OTUwNywgOTk1MTEsIDk5NTE1LCA5OTUyMiwgOTk1MjYsIDk5NTMzLCA5OTU0MywgCisgICAgOTk1NDcsIDk5NTUxLCA5OTU1NSwgOTk1NTksIDk5NTYzLCA5OTU3MCwgOTk1NzQsIDk5NTgxLCA5OTU4OCwgOTk1OTUsIAorICAgIDk5NjA0LCA5OTYxMywgOTk2MjMsIDk5NjMwLCA5OTYzNywgOTk2NDQsIDk5NjU0LCA5OTY2MSwgOTk2NzEsIDk5Njc4LCAKKyAgICA5OTY4OCwgOTk2OTUsIDk5NzAyLCA5OTcxMiwgOTk3MjIsIDk5NzI5LCA5OTczNSwgOTk3NDMsIDk5NzUxLCA5OTc1NywgCisgICAgOTk3NjMsIDk5NzY3LCA5OTc3MSwgOTk3NzgsIDk5Nzg2LCA5OTc5MiwgOTk3OTYsIDk5ODAwLCA5OTgwNCwgOTk4MTEsIAorICAgIDk5ODIzLCA5OTgyNiwgOTk4MzMsIDk5ODM5LCA5OTg0MywgOTk4NDcsIDk5ODUxLCA5OTg1NSwgOTk4NTksIDk5ODYzLCAKKyAgICA5OTg2NywgOTk4NzEsIDk5ODc1LCA5OTg3OSwgOTk4ODYsIDk5ODkwLCA5OTg5NiwgOTk5MDAsIDk5OTA0LCA5OTkwOCwgCisgICAgOTk5MTQsIDk5OTIxLCA5OTkyOCwgOTk5MzUsIDk5OTQ2LCA5OTk1NCwgOTk5NTgsIDk5OTY0LCA5OTk3MywgOTk5ODAsIAorICAgIDk5OTg2LCA5OTk4OSwgOTk5OTMsIDk5OTk3LCAxMDAwMDMsIDEwMDAxMiwgMTAwMDIwLCAxMDAwMjQsIDEwMDAzMCwgCisgICAgMTAwMDM0LCAxMDAwMzgsIDEwMDA0MiwgMTAwMDQ4LCAxMDAwNTUsIDEwMDA2MSwgMTAwMDY1LCAxMDAwNzEsIDEwMDA3NSwgCisgICAgMTAwMDc5LCAxMDAwODgsIDEwMDEwMCwgMTAwMTA0LCAxMDAxMTEsIDEwMDExOCwgMTAwMTI4LCAxMDAxMzUsIDEwMDE0NywgCisgICAgMTAwMTU0LCAxMDAxNjEsIDEwMDE2OCwgMTAwMTc5LCAxMDAxODksIDEwMDIwMiwgMTAwMjEyLCAxMDAyMTksIDEwMDIyMywgCisgICAgMTAwMjI3LCAxMDAyMzEsIDEwMDIzNSwgMTAwMjQ0LCAxMDAyNTMsIDEwMDI2MiwgMTAwMjc5LCAxMDAyODgsIDEwMDI5NCwgCisgICAgMTAwMzAxLCAxMDAzMDksIDEwMDMyMiwgMTAwMzI2LCAxMDAzMzUsIDEwMDM0NCwgMTAwMzUzLCAxMDAzNjIsIDEwMDM3MywgCisgICAgMTAwMzgyLCAxMDAzOTEsIDEwMDQwMCwgMTAwNDA5LCAxMDA0MTgsIDEwMDQyNywgMTAwNDM3LCAxMDA0NDAsIDEwMDQ0NCwgCisgICAgMTAwNDQ4LCAxMDA0NTIsIDEwMDQ1NiwgMTAwNDYwLCAxMDA0NjYsIDEwMDQ3MywgMTAwNDgwLCAxMDA0ODcsIDEwMDQ5MywgCisgICAgMTAwNDk5LCAxMDA1MDYsIDEwMDUxMiwgMTAwNTE5LCAxMDA1MjcsIDEwMDUzMSwgMTAwNTM4LCAxMDA1NDUsIDEwMDU1MiwgCisgICAgMTAwNTYwLCAxMDA1NjMsIDEwMDU2NywgMTAwNTcxLCAxMDA1NzUsIDEwMDU3OCwgMTAwNTg0LCAxMDA1ODgsIDEwMDU5NCwgCisgICAgMTAwNjAxLCAxMDA2MDgsIDEwMDYxNCwgMTAwNjIxLCAxMDA2MjgsIDEwMDYzNSwgMTAwNjQyLCAxMDA2NDksIDEwMDY1NiwgCisgICAgMTAwNjYzLCAxMDA2NzAsIDEwMDY3NywgMTAwNjg0LCAxMDA2OTEsIDEwMDY5OCwgMTAwNzA1LCAxMDA3MTIsIDEwMDcxOCwgCisgICAgMTAwNzIyLCAxMDA3MzEsIDEwMDczNSwgMTAwNzM5LCAxMDA3NDMsIDEwMDc0NywgMTAwNzUzLCAxMDA3NjAsIDEwMDc2NywgCisgICAgMTAwNzc0LCAxMDA3ODEsIDEwMDc4OCwgMTAwNzk0LCAxMDA4MDIsIDEwMDgwNiwgMTAwODEwLCAxMDA4MTQsIDEwMDgxOCwgCisgICAgMTAwODI0LCAxMDA4NDEsIDEwMDg1OCwgMTAwODYyLCAxMDA4NjYsIDEwMDg3MCwgMTAwODc0LCAxMDA4NzgsIDEwMDg4MiwgCisgICAgMTAwODg4LCAxMDA4OTUsIDEwMDg5OSwgMTAwOTA1LCAxMDA5MTIsIDEwMDkxOSwgMTAwOTI2LCAxMDA5MzMsIDEwMDk0MCwgCisgICAgMTAwOTQ5LCAxMDA5NTYsIDEwMDk2MywgMTAwOTcwLCAxMDA5NzcsIDEwMDk4MSwgMTAwOTg1LCAxMDA5OTEsIDEwMTAwMywgCisgICAgMTAxMDA3LCAxMDEwMTEsIDEwMTAyMCwgMTAxMDI0LCAxMDEwMjgsIDEwMTAzMiwgMTAxMDM4LCAxMDEwNDIsIDEwMTA0NiwgCisgICAgMTAxMDU1LCAxMDEwNTksIDEwMTA2MywgMTAxMDY3LCAxMDEwNzQsIDEwMTA3OCwgMTAxMDgyLCAxMDEwODYsIDEwMTA5MCwgCisgICAgMTAxMDk0LCAxMDEwOTgsIDEwMTEwMiwgMTAxMTA2LCAxMDExMTIsIDEwMTExOSwgMTAxMTI2LCAxMDExMzIsIDEwMTEzNiwgCisgICAgMTAxMTUzLCAxMDExNTksIDEwMTE2MywgMTAxMTY5LCAxMDExNzUsIDEwMTE4MSwgMTAxMTg3LCAxMDExOTMsIDEwMTE5OSwgCisgICAgMTAxMjAzLCAxMDEyMDcsIDEwMTIxMSwgMTAxMjE3LCAxMDEyMjEsIDEwMTIyNywgMTAxMjMxLCAxMDEyMzUsIDEwMTI0MiwgCisgICAgMTAxMjQ5LCAxMDEyNjYsIDEwMTI3MCwgMTAxMjc0LCAxMDEyNzgsIDEwMTI4MiwgMTAxMjg2LCAxMDEyOTgsIDEwMTMwMSwgCisgICAgMTAxMzA2LCAxMDEzMTEsIDEwMTMyNiwgMTAxMzM2LCAxMDEzNDgsIDEwMTM1MiwgMTAxMzU2LCAxMDEzNjAsIDEwMTM2NiwgCisgICAgMTAxMzczLCAxMDEzODAsIDEwMTM5MCwgMTAxNDAyLCAxMDE0MDgsIDEwMTQxNCwgMTAxNDIzLCAxMDE0MjcsIDEwMTQzMSwgCisgICAgMTAxNDM4LCAxMDE0NDgsIDEwMTQ1NSwgMTAxNDYxLCAxMDE0NjUsIDEwMTQ2OSwgMTAxNDc2LCAxMDE0ODIsIDEwMTQ4NiwgCisgICAgMTAxNDkyLCAxMDE0OTYsIDEwMTUwNCwgMTAxNTEwLCAxMDE1MTQsIDEwMTUyMiwgMTAxNTMwLCAxMDE1MzcsIDEwMTU0MywgCisgICAgMTAxNTUwLCAxMDE1NTcsIDEwMTU2NywgMTAxNTc3LCAxMDE1ODEsIDEwMTU4NSwgMTAxNTg5LCAxMDE1OTMsIDEwMTU5OSwgCisgICAgMTAxNjA2LCAxMDE2MTIsIDEwMTYxOSwgMTAxNjI2LCAxMDE2MzMsIDEwMTY0MiwgMTAxNjQ5LCAxMDE2NTYsIDEwMTY2MiwgCisgICAgMTAxNjY5LCAxMDE2NzYsIDEwMTY4MywgMTAxNjkwLCAxMDE2OTcsIDEwMTcwNCwgMTAxNzEwLCAxMDE3MTcsIDEwMTcyNCwgCisgICAgMTAxNzMxLCAxMDE3NDAsIDEwMTc0NywgMTAxNzU0LCAxMDE3NTgsIDEwMTc2NCwgMTAxNzY4LCAxMDE3NzQsIDEwMTc4MSwgCisgICAgMTAxNzg4LCAxMDE3OTUsIDEwMTc5OSwgMTAxODAzLCAxMDE4MDcsIDEwMTgxMSwgMTAxODE1LCAxMDE4MjIsIDEwMTgyNiwgCisgICAgMTAxODMwLCAxMDE4MzYsIDEwMTg0NCwgMTAxODQ4LCAxMDE4NTIsIDEwMTg1NiwgMTAxODYwLCAxMDE4NjcsIDEwMTg3MSwgCisgICAgMTAxODc1LCAxMDE4ODMsIDEwMTg4NywgMTAxODkxLCAxMDE4OTUsIDEwMTg5OSwgMTAxOTA1LCAxMDE5MDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMTkxMywgMTAxOTE5LCAxMDE5MjUsIDEwMTkzMiwgCisgICAgMTAxOTM5LCAxMDE5NDYsIDEwMTk1MywgMTAxOTYwLCAxMDE5NjcsIDEwMTk3MywgMTAxOTgwLCAxMDE5ODcsIDEwMTk5NCwgCisgICAgMTAyMDAxLCAxMDIwMDgsIDEwMjAxNSwgMTAyMDIxLCAxMDIwMjcsIDEwMjAzMywgMTAyMDM5LCAxMDIwNDUsIDEwMjA1MSwgCisgICAgMTAyMDU3LCAxMDIwNjMsIDEwMjA2OSwgMTAyMDc2LCAxMDIwODMsIDEwMjA5MCwgMTAyMDk3LCAxMDIxMDQsIDEwMjExMSwgCisgICAgMTAyMTE3LCAxMDIxMjMsIDEwMjEyOSwgMTAyMTM2LCAxMDIxNDMsIDEwMjE0OSwgMTAyMTU1LCAxMDIxNjQsIDEwMjE3MSwgCisgICAgMTAyMTc4LCAxMDIxODUsIDEwMjE5MiwgMTAyMTk5LCAxMDIyMDYsIDEwMjIxMiwgMTAyMjE4LCAxMDIyMjQsIDEwMjIzMywgCisgICAgMTAyMjQwLCAxMDIyNDcsIDEwMjI1OCwgMTAyMjY5LCAxMDIyNzUsIDEwMjI4MSwgMTAyMjg3LCAxMDIyOTYsIDEwMjMwMywgCisgICAgMTAyMzEwLCAxMDIzMjAsIDEwMjMzMCwgMTAyMzQxLCAxMDIzNTIsIDEwMjM2NCwgMTAyMzc3LCAxMDIzODgsIDEwMjM5OSwgCisgICAgMTAyNDExLCAxMDI0MjQsIDEwMjQzNSwgMTAyNDQ2LCAxMDI0NTcsIDEwMjQ2OCwgMTAyNDc5LCAxMDI0OTEsIDEwMjQ5OSwgCisgICAgMTAyNTA3LCAxMDI1MTYsIDEwMjUyNSwgMTAyNTM0LCAxMDI1NDAsIDEwMjU0NiwgMTAyNTUyLCAxMDI1NTksIDEwMjU2OSwgCisgICAgMTAyNTc2LCAxMDI1ODYsIDEwMjU5MSwgMTAyNTk2LCAxMDI2MDIsIDEwMjYwOCwgMTAyNjE2LCAxMDI2MjQsIDEwMjYzMywgCisgICAgMTAyNjQ0LCAxMDI2NTUsIDEwMjY2MywgMTAyNjcxLCAxMDI2ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEwMjY4OSwgMTAyNzAwLCAxMDI3MDcsIDEwMjcxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTAyNzIzLCAxMDI3MjcsIDEwMjczMSwgMTAyNzM1LCAxMDI3MzksIDEwMjc0MywgMTAyNzQ3LCAxMDI3NTEsIDEwMjc1NSwgCisgICAgMTAyNzU5LCAxMDI3NjMsIDEwMjc2NywgMTAyNzcxLCAxMDI3NzUsIDEwMjc3OSwgMTAyNzgzLCAxMDI3ODcsIDEwMjc5MSwgCisgICAgMTAyNzk1LCAxMDI3OTksIDEwMjgwMywgMTAyODA3LCAxMDI4MTEsIDEwMjgxNSwgMTAyODE5LCAxMDI4MjMsIDEwMjgyNywgCisgICAgMTAyODMxLCAxMDI4MzUsIDEwMjgzOSwgMTAyODQzLCAxMDI4NDcsIDEwMjg1MSwgMTAyODU1LCAxMDI4NTksIDEwMjg2MywgCisgICAgMTAyODY3LCAxMDI4NzEsIDEwMjg3NSwgMTAyODc5LCAxMDI4ODMsIDEwMjg4NywgMTAyODkxLCAxMDI4OTUsIDEwMjg5OSwgCisgICAgMTAyOTAzLCAxMDI5MDcsIDEwMjkxMSwgMTAyOTE1LCAxMDI5MTksIDEwMjkyMywgMTAyOTI3LCAxMDI5MzEsIDEwMjkzNSwgCisgICAgMTAyOTM5LCAxMDI5NDMsIDEwMjk0NywgMTAyOTUxLCAxMDI5NTUsIDEwMjk1OSwgMTAyOTYzLCAxMDI5NjcsIDEwMjk3MSwgCisgICAgMTAyOTc1LCAxMDI5NzksIDEwMjk4MywgMTAyOTg3LCAxMDI5OTEsIDEwMjk5NSwgMTAyOTk5LCAxMDMwMDMsIDEwMzAwNywgCisgICAgMTAzMDExLCAxMDMwMTUsIDEwMzAxOSwgMTAzMDIzLCAxMDMwMjcsIDEwMzAzMSwgMTAzMDM1LCAxMDMwMzksIDEwMzA0MywgCisgICAgMTAzMDQ3LCAxMDMwNTEsIDEwMzA1NSwgMTAzMDU5LCAxMDMwNjMsIDEwMzA2NywgMTAzMDcxLCAxMDMwNzUsIDEwMzA3OSwgCisgICAgMTAzMDgzLCAxMDMwODcsIDEwMzA5MSwgMTAzMDk1LCAxMDMwOTksIDEwMzEwMywgMTAzMTA3LCAxMDMxMTEsIDEwMzExNSwgCisgICAgMTAzMTE5LCAxMDMxMjMsIDEwMzEyNywgMTAzMTMxLCAxMDMxMzUsIDEwMzEzOSwgMTAzMTQzLCAxMDMxNDcsIDEwMzE1MSwgCisgICAgMTAzMTU1LCAxMDMxNTksIDEwMzE2MywgMTAzMTY3LCAxMDMxNzEsIDEwMzE3NSwgMTAzMTc5LCAxMDMxODMsIDEwMzE4NywgCisgICAgMTAzMTkxLCAxMDMxOTUsIDEwMzE5OSwgMTAzMjAzLCAxMDMyMDcsIDEwMzIxMSwgMTAzMjE1LCAxMDMyMTksIDEwMzIyMywgCisgICAgMTAzMjI3LCAxMDMyMzEsIDEwMzIzNSwgMTAzMjM5LCAxMDMyNDMsIDEwMzI0NywgMTAzMjUxLCAxMDMyNTUsIDEwMzI1OSwgCisgICAgMTAzMjYzLCAxMDMyNjcsIDEwMzI3MSwgMTAzMjc1LCAxMDMyNzksIDEwMzI4MywgMTAzMjg3LCAxMDMyOTEsIDEwMzI5NSwgCisgICAgMTAzMjk5LCAxMDMzMDMsIDEwMzMwNywgMTAzMzExLCAxMDMzMTUsIDEwMzMxOSwgMTAzMzIzLCAxMDMzMjcsIDEwMzMzMSwgCisgICAgMTAzMzM1LCAxMDMzMzksIDEwMzM0MywgMTAzMzQ3LCAxMDMzNTEsIDEwMzM1NSwgMTAzMzU5LCAxMDMzNjMsIDEwMzM2NywgCisgICAgMTAzMzcxLCAxMDMzNzUsIDEwMzM3OSwgMTAzMzgzLCAxMDMzODcsIDEwMzM5MSwgMTAzMzk1LCAxMDMzOTksIDEwMzQwMywgCisgICAgMTAzNDA3LCAxMDM0MTEsIDEwMzQxNSwgMTAzNDE5LCAxMDM0MjMsIDEwMzQyNywgMTAzNDMxLCAxMDM0MzUsIDEwMzQzOSwgCisgICAgMTAzNDQzLCAxMDM0NDcsIDEwMzQ1MSwgMTAzNDU1LCAxMDM0NTksIDEwMzQ2MywgMTAzNDY3LCAxMDM0NzEsIDEwMzQ3NSwgCisgICAgMTAzNDc5LCAxMDM0ODMsIDEwMzQ4NywgMTAzNDkxLCAxMDM0OTUsIDEwMzQ5OSwgMTAzNTAzLCAxMDM1MDcsIDEwMzUxMSwgCisgICAgMTAzNTE1LCAxMDM1MTksIDEwMzUyMywgMTAzNTI3LCAxMDM1MzEsIDEwMzUzNSwgMTAzNTM5LCAxMDM1NDMsIDEwMzU0NywgCisgICAgMTAzNTUxLCAxMDM1NTUsIDEwMzU1OSwgMTAzNTYzLCAxMDM1NjcsIDEwMzU3MSwgMTAzNTc1LCAxMDM1NzksIDEwMzU4MywgCisgICAgMTAzNTg3LCAxMDM1OTEsIDEwMzU5NSwgMTAzNTk5LCAxMDM2MDMsIDEwMzYwNywgMTAzNjExLCAxMDM2MTUsIDEwMzYxOSwgCisgICAgMTAzNjIzLCAxMDM2MjcsIDEwMzYzMSwgMTAzNjM1LCAxMDM2MzksIDEwMzY0MywgMTAzNjQ3LCAxMDM2NTEsIDEwMzY1NSwgCisgICAgMTAzNjU5LCAxMDM2NjMsIDEwMzY2NywgMTAzNjcxLCAxMDM2NzUsIDEwMzY3OSwgMTAzNjgzLCAxMDM2ODcsIDEwMzY5MSwgCisgICAgMTAzNjk1LCAxMDM2OTksIDEwMzcwMywgMTAzNzA3LCAxMDM3MTEsIDEwMzcxNSwgMTAzNzE5LCAxMDM3MjMsIDEwMzcyNywgCisgICAgMTAzNzMxLCAxMDM3MzUsIDEwMzczOSwgMTAzNzQzLCAxMDM3NDcsIDEwMzc1MSwgMTAzNzU1LCAxMDM3NTksIDEwMzc2MywgCisgICAgMTAzNzY3LCAxMDM3NzEsIDEwMzc3NSwgMTAzNzc5LCAxMDM3ODMsIDEwMzc4NywgMTAzNzkxLCAxMDM3OTUsIDEwMzc5OSwgCisgICAgMTAzODAzLCAxMDM4MDcsIDEwMzgxMSwgMTAzODE1LCAxMDM4MTksIDEwMzgyMywgMTAzODI3LCAxMDM4MzEsIDEwMzgzNSwgCisgICAgMTAzODM5LCAxMDM4NDMsIDEwMzg0NywgMTAzODUxLCAxMDM4NTUsIDEwMzg1OSwgMTAzODYzLCAxMDM4NjcsIDEwMzg3MSwgCisgICAgMTAzODc1LCAxMDM4NzksIDEwMzg4MywgMTAzODg3LCAxMDM4OTEsIDEwMzg5NSwgMTAzODk5LCAxMDM5MDMsIDEwMzkwNywgCisgICAgMTAzOTExLCAxMDM5MTUsIDEwMzkxOSwgMTAzOTIzLCAxMDM5MjcsIDEwMzkzMSwgMTAzOTM1LCAxMDM5MzksIDEwMzk0MywgCisgICAgMTAzOTQ3LCAxMDM5NTEsIDEwMzk1NSwgMTAzOTU5LCAxMDM5NjMsIDEwMzk2NywgMTAzOTcxLCAxMDM5NzUsIDEwMzk3OSwgCisgICAgMTAzOTgzLCAxMDM5ODcsIDEwMzk5MSwgMTAzOTk1LCAxMDM5OTksIDEwNDAwMywgMTA0MDA3LCAxMDQwMTEsIDEwNDAxNSwgCisgICAgMTA0MDE5LCAxMDQwMjMsIDEwNDAyNywgMTA0MDMxLCAxMDQwMzUsIDEwNDAzOSwgMTA0MDQzLCAxMDQwNDcsIDEwNDA1MSwgCisgICAgMTA0MDU1LCAxMDQwNTksIDEwNDA2MywgMTA0MDY3LCAxMDQwNzEsIDEwNDA3NSwgMTA0MDc5LCAxMDQwODMsIDEwNDA4NywgCisgICAgMTA0MDkxLCAxMDQwOTUsIDEwNDA5OSwgMTA0MTAzLCAxMDQxMDcsIDEwNDExMSwgMTA0MTE1LCAxMDQxMTksIDEwNDEyMywgCisgICAgMTA0MTI3LCAxMDQxMzEsIDEwNDEzNSwgMTA0MTM5LCAxMDQxNDMsIDEwNDE0NywgMTA0MTUxLCAxMDQxNTUsIDEwNDE1OSwgCisgICAgMTA0MTYzLCAxMDQxNjcsIDEwNDE3MSwgMTA0MTc1LCAxMDQxNzksIDEwNDE4MywgMTA0MTg3LCAxMDQxOTEsIDEwNDE5NSwgCisgICAgMTA0MTk5LCAxMDQyMDMsIDEwNDIwNywgMTA0MjExLCAxMDQyMTUsIDEwNDIxOSwgMTA0MjIzLCAxMDQyMjcsIDEwNDIzMSwgCisgICAgMTA0MjM1LCAxMDQyMzksIDEwNDI0MywgMTA0MjQ3LCAxMDQyNTEsIDEwNDI1NSwgMTA0MjU5LCAxMDQyNjMsIDEwNDI2NywgCisgICAgMTA0MjcxLCAxMDQyNzUsIDEwNDI3OSwgMTA0MjgzLCAxMDQyODcsIDEwNDI5MSwgMTA0Mjk1LCAxMDQyOTksIDEwNDMwMywgCisgICAgMTA0MzA3LCAxMDQzMTEsIDEwNDMxNSwgMTA0MzE5LCAxMDQzMjMsIDEwNDMyNywgMTA0MzMxLCAxMDQzMzUsIDEwNDMzOSwgCisgICAgMTA0MzQzLCAxMDQzNDcsIDEwNDM1MSwgMTA0MzU1LCAxMDQzNTksIDEwNDM2MywgMTA0MzY3LCAxMDQzNzEsIDEwNDM3NSwgCisgICAgMTA0Mzc5LCAxMDQzODMsIDEwNDM4NywgMTA0MzkxLCAxMDQzOTUsIDEwNDM5OSwgMTA0NDAzLCAxMDQ0MDcsIDEwNDQxMSwgCisgICAgMTA0NDE1LCAxMDQ0MTksIDEwNDQyMywgMTA0NDI3LCAxMDQ0MzEsIDEwNDQzNSwgMTA0NDM5LCAxMDQ0NDMsIDEwNDQ0NywgCisgICAgMTA0NDUxLCAxMDQ0NTUsIDEwNDQ1OSwgMTA0NDYzLCAxMDQ0NjcsIDEwNDQ3MSwgMTA0NDc1LCAxMDQ0NzksIDEwNDQ4MywgCisgICAgMTA0NDg3LCAxMDQ0OTEsIDEwNDQ5NSwgMTA0NDk5LCAxMDQ1MDMsIDEwNDUwNywgMTA0NTExLCAxMDQ1MTUsIDEwNDUxOSwgCisgICAgMTA0NTIzLCAxMDQ1MjcsIDEwNDUzMSwgMTA0NTM1LCAxMDQ1MzksIDEwNDU0MywgMTA0NTQ3LCAxMDQ1NTEsIDEwNDU1NSwgCisgICAgMTA0NTU5LCAxMDQ1NjMsIDEwNDU2NywgMTA0NTcxLCAxMDQ1NzUsIDEwNDU3OSwgMTA0NTgzLCAxMDQ1ODcsIDEwNDU5MSwgCisgICAgMTA0NTk1LCAxMDQ1OTksIDEwNDYwMywgMTA0NjA3LCAxMDQ2MTEsIDEwNDYxNSwgMTA0NjE5LCAxMDQ2MjMsIDEwNDYyNywgCisgICAgMTA0NjMxLCAxMDQ2MzUsIDEwNDYzOSwgMTA0NjQzLCAxMDQ2NDcsIDEwNDY1MSwgMTA0NjU1LCAxMDQ2NTksIDEwNDY2MywgCisgICAgMTA0NjY3LCAxMDQ2NzEsIDEwNDY3NSwgMTA0Njc5LCAxMDQ2ODMsIDEwNDY4NywgMTA0NjkxLCAxMDQ2OTUsIDEwNDY5OSwgCisgICAgMTA0NzAzLCAxMDQ3MDcsIDEwNDcxMSwgMTA0NzE1LCAxMDQ3MTksIDEwNDcyMywgMTA0NzI3LCAxMDQ3MzEsIDEwNDczNSwgCisgICAgMTA0NzM5LCAxMDQ3NDMsIDEwNDc0NywgMTA0NzUxLCAxMDQ3NTUsIDEwNDc1OSwgMTA0NzYzLCAxMDQ3NjcsIDEwNDc3MSwgCisgICAgMTA0Nzc1LCAxMDQ3NzksIDEwNDc4MywgMTA0Nzg3LCAxMDQ3OTEsIDEwNDc5NSwgMTA0Nzk5LCAxMDQ4MDMsIDEwNDgwNywgCisgICAgMTA0ODExLCAxMDQ4MTUsIDEwNDgxOSwgMTA0ODIzLCAxMDQ4MjcsIDEwNDgzMSwgMTA0ODM1LCAxMDQ4MzksIDEwNDg0MywgCisgICAgMTA0ODQ3LCAxMDQ4NTEsIDEwNDg1NSwgMTA0ODU5LCAxMDQ4NjMsIDEwNDg2NywgMTA0ODcxLCAxMDQ4NzUsIDEwNDg3OSwgCisgICAgMTA0ODgzLCAxMDQ4ODcsIDEwNDg5MSwgMTA0ODk1LCAxMDQ4OTksIDEwNDkwMywgMTA0OTA3LCAxMDQ5MTEsIDEwNDkxNSwgCisgICAgMTA0OTE5LCAxMDQ5MjMsIDEwNDkyNywgMTA0OTMxLCAxMDQ5MzUsIDEwNDkzOSwgMTA0OTQzLCAxMDQ5NDcsIDEwNDk1MSwgCisgICAgMTA0OTU1LCAxMDQ5NTksIDEwNDk2MywgMTA0OTY3LCAxMDQ5NzEsIDEwNDk3NSwgMTA0OTc5LCAxMDQ5ODMsIDEwNDk4NywgCisgICAgMTA0OTkxLCAxMDQ5OTUsIDEwNDk5OSwgMTA1MDAzLCAxMDUwMDcsIDEwNTAxMSwgMTA1MDE1LCAxMDUwMTksIDEwNTAyMywgCisgICAgMTA1MDI3LCAxMDUwMzEsIDEwNTAzNSwgMTA1MDM5LCAxMDUwNDMsIDEwNTA0NywgMTA1MDUxLCAxMDUwNTUsIDEwNTA1OSwgCisgICAgMTA1MDYzLCAxMDUwNjcsIDEwNTA3MSwgMTA1MDc1LCAxMDUwNzksIDEwNTA4MywgMTA1MDg3LCAxMDUwOTEsIDEwNTA5NSwgCisgICAgMTA1MDk5LCAxMDUxMDMsIDEwNTEwNywgMTA1MTExLCAxMDUxMTUsIDEwNTExOSwgMTA1MTIzLCAxMDUxMjcsIDEwNTEzMSwgCisgICAgMTA1MTM1LCAxMDUxMzksIDEwNTE0MywgMTA1MTQ3LCAxMDUxNTEsIDEwNTE1NSwgMTA1MTU5LCAxMDUxNjMsIDEwNTE2NywgCisgICAgMTA1MTcxLCAxMDUxNzUsIDEwNTE3OSwgMTA1MTgzLCAxMDUxODcsIDEwNTE5MSwgMTA1MTk1LCAxMDUxOTksIDEwNTIwMywgCisgICAgMTA1MjA3LCAxMDUyMTEsIDEwNTIxNSwgMTA1MjE5LCAxMDUyMjMsIDEwNTIyNywgMTA1MjMxLCAxMDUyMzUsIDEwNTIzOSwgCisgICAgMTA1MjQzLCAxMDUyNDcsIDEwNTI1MSwgMTA1MjU1LCAxMDUyNTksIDEwNTI2MywgMTA1MjY3LCAxMDUyNzEsIDEwNTI3NSwgCisgICAgMTA1Mjc5LCAxMDUyODMsIDEwNTI4NywgMTA1MjkxLCAxMDUyOTUsIDEwNTI5OSwgMTA1MzAzLCAxMDUzMDcsIDEwNTMxMSwgCisgICAgMTA1MzE1LCAxMDUzMTksIDEwNTMyMywgMTA1MzI3LCAxMDUzMzEsIDEwNTMzNSwgMTA1MzM5LCAxMDUzNDMsIDEwNTM0NywgCisgICAgMTA1MzUxLCAxMDUzNTUsIDEwNTM1OSwgMTA1MzYzLCAxMDUzNjcsIDEwNTM3MSwgMTA1Mzc1LCAxMDUzNzksIDEwNTM4MywgCisgICAgMTA1Mzg3LCAxMDUzOTEsIDEwNTM5NSwgMTA1Mzk5LCAxMDU0MDMsIDEwNTQwNywgMTA1NDExLCAxMDU0MTUsIDEwNTQxOSwgCisgICAgMTA1NDIzLCAxMDU0MjcsIDEwNTQzMSwgMTA1NDM1LCAxMDU0MzksIDEwNTQ0MywgMTA1NDQ3LCAxMDU0NTEsIDEwNTQ1NSwgCisgICAgMTA1NDU5LCAxMDU0NjMsIDEwNTQ2NywgMTA1NDcxLCAxMDU0NzUsIDEwNTQ3OSwgMTA1NDgzLCAxMDU0ODcsIDEwNTQ5MSwgCisgICAgMTA1NDk1LCAxMDU0OTksIDEwNTUwMywgMTA1NTA3LCAxMDU1MTEsIDEwNTUxNSwgMTA1NTE5LCAxMDU1MjMsIDEwNTUyNywgCisgICAgMTA1NTMxLCAxMDU1MzUsIDEwNTUzOSwgMTA1NTQzLCAxMDU1NDcsIDEwNTU1MSwgMTA1NTU1LCAxMDU1NTksIDEwNTU2MywgCisgICAgMTA1NTY3LCAxMDU1NzEsIDEwNTU3NSwgMTA1NTc5LCAxMDU1ODMsIDEwNTU4NywgMTA1NTkxLCAxMDU1OTUsIDEwNTU5OSwgCisgICAgMTA1NjAzLCAxMDU2MDcsIDEwNTYxMSwgMTA1NjE1LCAxMDU2MTksIDEwNTYyMywgMTA1NjI3LCAxMDU2MzEsIDEwNTYzNSwgCisgICAgMTA1NjM5LCAxMDU2NDMsIDEwNTY0NywgMTA1NjUxLCAxMDU2NTUsIDEwNTY1OSwgMTA1NjYzLCAxMDU2NjcsIDEwNTY3MSwgCisgICAgMTA1Njc1LCAxMDU2NzksIDEwNTY4MywgMTA1Njg3LCAxMDU2OTEsIDEwNTY5NSwgMTA1Njk5LCAxMDU3MDMsIDEwNTcwNywgCisgICAgMTA1NzExLCAxMDU3MTUsIDEwNTcxOSwgMTA1NzIzLCAxMDU3MjcsIDEwNTczMSwgMTA1NzM1LCAxMDU3MzksIDEwNTc0MywgCisgICAgMTA1NzQ3LCAxMDU3NTEsIDEwNTc1NSwgMTA1NzU5LCAxMDU3NjMsIDEwNTc2NywgMTA1NzcxLCAxMDU3NzUsIDEwNTc3OSwgCisgICAgMTA1NzgzLCAxMDU3ODcsIDEwNTc5MSwgMTA1Nzk1LCAxMDU3OTksIDEwNTgwMywgMTA1ODA3LCAxMDU4MTEsIDEwNTgxNSwgCisgICAgMTA1ODE5LCAxMDU4MjMsIDEwNTgyNywgMTA1ODMxLCAxMDU4MzUsIDEwNTgzOSwgMTA1ODQzLCAxMDU4NDcsIDEwNTg1MSwgCisgICAgMTA1ODU1LCAxMDU4NTksIDEwNTg2MywgMTA1ODY3LCAxMDU4NzEsIDEwNTg3NSwgMTA1ODc5LCAxMDU4ODMsIDEwNTg4NywgCisgICAgMTA1ODkxLCAxMDU4OTUsIDEwNTg5OSwgMTA1OTAzLCAxMDU5MDcsIDEwNTkxMSwgMTA1OTE1LCAxMDU5MTksIDEwNTkyMywgCisgICAgMTA1OTI3LCAxMDU5MzEsIDEwNTkzNSwgMTA1OTM5LCAxMDU5NDMsIDEwNTk0NywgMTA1OTUxLCAxMDU5NTUsIDEwNTk1OSwgCisgICAgMTA1OTYzLCAxMDU5NjcsIDEwNTk3MSwgMTA1OTc1LCAxMDU5NzksIDEwNTk4MywgMTA1OTg3LCAxMDU5OTEsIDEwNTk5NSwgCisgICAgMTA1OTk5LCAxMDYwMDMsIDEwNjAwNywgMTA2MDExLCAxMDYwMTUsIDEwNjAxOSwgMTA2MDIzLCAxMDYwMjcsIDEwNjAzMSwgCisgICAgMTA2MDM1LCAxMDYwMzksIDEwNjA0MywgMTA2MDQ3LCAxMDYwNTEsIDEwNjA1NSwgMTA2MDU5LCAxMDYwNjMsIDEwNjA2NywgCisgICAgMTA2MDcxLCAxMDYwNzUsIDEwNjA3OSwgMTA2MDgzLCAxMDYwODcsIDEwNjA5MSwgMTA2MDk1LCAxMDYwOTksIDEwNjEwMywgCisgICAgMTA2MTA3LCAxMDYxMTEsIDEwNjExNSwgMTA2MTE5LCAxMDYxMjMsIDEwNjEyNywgMTA2MTMxLCAxMDYxMzUsIDEwNjEzOSwgCisgICAgMTA2MTQzLCAxMDYxNDcsIDEwNjE1MSwgMTA2MTU1LCAxMDYxNTksIDEwNjE2MywgMTA2MTY3LCAxMDYxNzEsIDEwNjE3NSwgCisgICAgMTA2MTc5LCAxMDYxODMsIDEwNjE4NywgMTA2MTkxLCAxMDYxOTUsIDEwNjE5OSwgMTA2MjAzLCAxMDYyMDcsIDEwNjIxMSwgCisgICAgMTA2MjE1LCAxMDYyMTksIDEwNjIyMywgMTA2MjI3LCAxMDYyMzEsIDEwNjIzNSwgMTA2MjM5LCAxMDYyNDMsIDEwNjI0NywgCisgICAgMTA2MjUxLCAxMDYyNTUsIDEwNjI1OSwgMTA2MjYzLCAxMDYyNjcsIDEwNjI3MSwgMTA2Mjc1LCAxMDYyNzksIDEwNjI4MywgCisgICAgMTA2Mjg3LCAxMDYyOTEsIDEwNjI5NSwgMTA2Mjk5LCAxMDYzMDMsIDEwNjMwNywgMTA2MzExLCAxMDYzMTUsIDEwNjMxOSwgCisgICAgMTA2MzIzLCAxMDYzMjcsIDEwNjMzMSwgMTA2MzM1LCAxMDYzMzksIDEwNjM0MywgMTA2MzQ3LCAxMDYzNTEsIDEwNjM1NSwgCisgICAgMTA2MzU5LCAxMDYzNjMsIDEwNjM2NywgMTA2MzcxLCAxMDYzNzUsIDEwNjM3OSwgMTA2MzgzLCAxMDYzODcsIDEwNjM5MSwgCisgICAgMTA2Mzk1LCAxMDYzOTksIDEwNjQwMywgMTA2NDA3LCAxMDY0MTEsIDEwNjQxNSwgMTA2NDE5LCAxMDY0MjMsIDEwNjQyNywgCisgICAgMTA2NDMxLCAxMDY0MzUsIDEwNjQzOSwgMTA2NDQzLCAxMDY0NDcsIDEwNjQ1MSwgMTA2NDU1LCAxMDY0NTksIDEwNjQ2MywgCisgICAgMTA2NDY3LCAxMDY0NzEsIDEwNjQ3NSwgMTA2NDc5LCAxMDY0ODMsIDEwNjQ4NywgMTA2NDkxLCAxMDY0OTUsIDEwNjQ5OSwgCisgICAgMTA2NTAzLCAxMDY1MDcsIDEwNjUxMSwgMTA2NTE1LCAxMDY1MTksIDEwNjUyMywgMTA2NTI3LCAxMDY1MzEsIDEwNjUzNSwgCisgICAgMTA2NTM5LCAxMDY1NDMsIDEwNjU0NywgMTA2NTUxLCAxMDY1NTUsIDEwNjU1OSwgMTA2NTYzLCAxMDY1NjcsIDEwNjU3MSwgCisgICAgMTA2NTc1LCAxMDY1NzksIDEwNjU4MywgMTA2NTg3LCAxMDY1OTEsIDEwNjU5NSwgMTA2NTk5LCAxMDY2MDMsIDEwNjYwNywgCisgICAgMTA2NjExLCAxMDY2MTUsIDEwNjYxOSwgMTA2NjIzLCAxMDY2MjcsIDEwNjYzMSwgMTA2NjM1LCAxMDY2MzksIDEwNjY0MywgCisgICAgMTA2NjQ3LCAxMDY2NTEsIDEwNjY1NSwgMTA2NjU5LCAxMDY2NjMsIDEwNjY2NywgMTA2NjcxLCAxMDY2NzUsIDEwNjY3OSwgCisgICAgMTA2NjgzLCAxMDY2ODcsIDEwNjY5MSwgMTA2Njk1LCAxMDY2OTksIDEwNjcwMywgMTA2NzA3LCAxMDY3MTEsIDEwNjcxNSwgCisgICAgMTA2NzE5LCAxMDY3MjMsIDEwNjcyNywgMTA2NzMxLCAxMDY3MzUsIDEwNjczOSwgMTA2NzQzLCAxMDY3NDcsIDEwNjc1MSwgCisgICAgMTA2NzU1LCAxMDY3NTksIDEwNjc2MywgMTA2NzY3LCAxMDY3NzEsIDEwNjc3NSwgMTA2Nzc5LCAxMDY3ODMsIDEwNjc4NywgCisgICAgMTA2NzkxLCAxMDY3OTUsIDEwNjc5OSwgMTA2ODAzLCAxMDY4MDcsIDEwNjgxMSwgMTA2ODE1LCAxMDY4MTksIDEwNjgyMywgCisgICAgMTA2ODI3LCAxMDY4MzEsIDEwNjgzNSwgMTA2ODM5LCAxMDY4NDMsIDEwNjg0NywgMTA2ODUxLCAxMDY4NTUsIDEwNjg1OSwgCisgICAgMTA2ODYzLCAxMDY4NjcsIDEwNjg3MSwgMTA2ODc1LCAxMDY4NzksIDEwNjg4MywgMTA2ODg3LCAxMDY4OTEsIDEwNjg5NSwgCisgICAgMTA2ODk5LCAxMDY5MDMsIDEwNjkwNywgMTA2OTExLCAxMDY5MTUsIDEwNjkxOSwgMTA2OTIzLCAxMDY5MjcsIDEwNjkzMSwgCisgICAgMTA2OTM1LCAxMDY5MzksIDEwNjk0MywgMTA2OTQ3LCAxMDY5NTEsIDEwNjk1NSwgMTA2OTU5LCAxMDY5NjMsIDEwNjk2NywgCisgICAgMTA2OTcxLCAxMDY5NzUsIDEwNjk3OSwgMTA2OTgzLCAxMDY5ODcsIDEwNjk5MSwgMTA2OTk1LCAxMDY5OTksIDEwNzAwMywgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3MDAyLCAxMDcwMDksIDEwNzAxNiwgMTA3MDI1LCAxMDcwMzQsIAotICAgIDEwNzA0MSwgMTA3MDQ2LCAxMDcwNTMsIDEwNzA2MCwgMTA3MDY5LCAxMDcwODAsIDEwNzA5MSwgMTA3MDk2LCAxMDcxMDMsIAotICAgIDEwNzEwOCwgMTA3MTEzLCAxMDcxMTgsIDEwNzEyMywgMTA3MTI4LCAxMDcxMzMsIDEwNzEzOCwgMTA3MTQzLCAxMDcxNDgsIAotICAgIDEwNzE1MywgMTA3MTU4LCAxMDcxNjUsIDEwNzE3MiwgMTA3MTc3LCAxMDcxODIsIDEwNzE4NywgMTA3MTkyLCAxMDcxOTksIAotICAgIDEwNzIwNiwgMTA3MjE0LCAxMDcyMTksIDEwNzIyNiwgMTA3MjMxLCAxMDcyMzYsIDEwNzI0MSwgMTA3MjQ2LCAxMDcyNTEsIAotICAgIDEwNzI1OCwgMTA3MjY1LCAxMDcyNzAsIDEwNzI3NSwgMTA3MjgwLCAxMDcyODUsIDEwNzI5MCwgMTA3Mjk1LCAxMDczMDAsIAotICAgIDEwNzMwNSwgMTA3MzEwLCAxMDczMTUsIDEwNzMyMCwgMTA3MzI1LCAxMDczMzAsIDEwNzMzNSwgMTA3MzQwLCAxMDczNDUsIAotICAgIDEwNzM1MCwgMTA3MzU1LCAxMDczNjAsIDEwNzM2NywgMTA3MzcyLCAxMDczNzcsIDEwNzM4NiwgMTA3MzkzLCAxMDczOTgsIAotICAgIDEwNzQwMywgMTA3NDA4LCAxMDc0MTMsIDEwNzQxOCwgMTA3NDIzLCAxMDc0MjgsIDEwNzQzMywgMTA3NDM4LCAxMDc0NDMsIAotICAgIDEwNzQ0OCwgMTA3NDUzLCAxMDc0NTgsIDEwNzQ2MywgMTA3NDY4LCAxMDc0NzMsIDEwNzQ3OCwgMTA3NDgzLCAxMDc0ODgsIAotICAgIDEwNzQ5MywgMTA3NDk4LCAxMDc1MDQsIDEwNzUxMiwgMTA3NTE4LCAxMDc1MjYsIDEwNzUzNCwgMTA3NTQyLCAxMDc1NDgsIAotICAgIDEwNzU1NCwgMTA3NTYwLCAxMDc1NjYsIDEwNzU3MiwgMTA3NTgwLCAxMDc1OTAsIDEwNzU5OCwgMTA3NjA2LCAxMDc2MTIsIAotICAgIDEwNzYxOCwgMTA3NjI2LCAxMDc2MzQsIDEwNzY0MCwgMTA3NjQ4LCAxMDc2NTYsIDEwNzY2NCwgMTA3NjcwLCAxMDc2NzYsIAotICAgIDEwNzY4MiwgMTA3Njg4LCAxMDc2OTQsIDEwNzcwMCwgMTA3NzA4LCAxMDc3MTYsIDEwNzcyMiwgMTA3NzI4LCAxMDc3MzQsIAotICAgIDEwNzc0MCwgMTA3NzQ2LCAxMDc3NTQsIDEwNzc2MCwgMTA3NzY2LCAxMDc3NzIsIDEwNzc3OCwgMTA3Nzg0LCAxMDc3OTAsIAotICAgIDEwNzc5OCwgMTA3ODA0LCAxMDc4MTAsIDEwNzgxNiwgMTA3ODIyLCAxMDc4MzAsIDEwNzgzOCwgMTA3ODQ0LCAxMDc4NTAsIAotICAgIDEwNzg1NiwgMTA3ODYxLCAxMDc4NjcsIDEwNzg3MywgMTA3ODgwLCAxMDc4ODUsIDEwNzg5MCwgMTA3ODk1LCAxMDc5MDAsIAotICAgIDEwNzkwNSwgMTA3OTEwLCAxMDc5MTUsIDEwNzkyMCwgMTA3OTI1LCAxMDc5MzQsIDEwNzk0MSwgMTA3OTQ2LCAxMDc5NTEsIAotICAgIDEwNzk1NiwgMTA3OTYzLCAxMDc5NjgsIDEwNzk3MywgMTA3OTc4LCAxMDc5ODUsIDEwNzk5MCwgMTA3OTk1LCAxMDgwMDAsIAotICAgIDEwODAwNSwgMTA4MDEwLCAxMDgwMTUsIDEwODAyMCwgMTA4MDI1LCAxMDgwMzAsIDEwODAzNSwgMTA4MDQwLCAxMDgwNDcsIAotICAgIDEwODA1MiwgMTA4MDU5LCAxMDgwNjQsIDEwODA2OSwgMTA4MDc2LCAxMDgwODEsIDEwODA4NiwgMTA4MDkxLCAxMDgwOTYsIAotICAgIDEwODEwMSwgMTA4MTA2LCAxMDgxMTEsIDEwODExNiwgMTA4MTIxLCAxMDgxMjYsIDEwODEzMSwgMTA4MTM2LCAxMDgxNDEsIAotICAgIDEwODE0NiwgMTA4MTUxLCAxMDgxNTYsIDEwODE2MSwgMTA4MTY2LCAxMDgxNzEsIDEwODE3OCwgMTA4MTgzLCAxMDgxODgsIAotICAgIDEwODE5MywgMTA4MTk4LCAxMDgyMDMsIDEwODIwOCwgMTA4MjEzLCAxMDgyMTgsIDEwODIyMywgMTA4MjI4LCAxMDgyMzMsIAotICAgIDEwODIzOCwgMTA4MjQzLCAxMDgyNTAsIDEwODI1NSwgMTA4MjYwLCAxMDgyNjcsIDEwODI3MiwgMTA4Mjc3LCAxMDgyODIsIAotICAgIDEwODI4NywgMTA4MjkyLCAxMDgyOTcsIDEwODMwMiwgMTA4MzA3LCAxMDgzMTIsIDEwODMxNywgMTA4MzI0LCAxMDgzMjksIAotICAgIDEwODMzNCwgMTA4MzM5LCAxMDgzNDQsIDEwODM0OSwgMTA4MzU2LCAxMDgzNjMsIDEwODM2OCwgMTA4MzczLCAxMDgzNzgsIAotICAgIDEwODM4MywgMTA4Mzg4LCAxMDgzOTMsIDEwODM5OCwgMTA4NDAzLCAxMDg0MDgsIDEwODQxMywgMTA4NDE4LCAxMDg0MjMsIAotICAgIDEwODQyOCwgMTA4NDMzLCAxMDg0MzgsIDEwODQ0MywgMTA4NDQ4LCAxMDg0NTMsIDEwODQ1OCwgMTA4NDYzLCAxMDg0NjgsIAotICAgIDEwODQ3MywgMTA4NDc4LCAxMDg0ODMsIDEwODQ4OCwgMTA4NDkzLCAxMDg0OTgsIDEwODUwMywgMTA4NTA4LCAxMDg1MTMsIAotICAgIDEwODUxOCwgMTA4NTIzLCAxMDg1MjgsIDEwODUzMywgMTA4NTM4LCAxMDg1NDMsIDEwODU1MCwgMTA4NTU1LCAxMDg1NjAsIAotICAgIDEwODU2NSwgMTA4NTcwLCAxMDg1NzUsIDEwODU4MCwgMTA4NTg1LCAxMDg1OTAsIDEwODU5NSwgMTA4NjAwLCAxMDg2MDUsIAotICAgIDEwODYxMCwgMTA4NjE1LCAxMDg2MjAsIDEwODYyNSwgMTA4NjMwLCAxMDg2MzUsIDEwODY0MCwgMTA4NjQ1LCAxMDg2NTAsIAotICAgIDEwODY1NSwgMTA4NjYwLCAxMDg2NjUsIDEwODY3MCwgMTA4Njc1LCAxMDg2ODAsIDEwODY4NSwgMTA4NjkwLCAxMDg2OTUsIAotICAgIDEwODcwMCwgMTA4NzA1LCAxMDg3MTAsIDEwODcxNSwgMTA4NzIwLCAxMDg3MjUsIDEwODczMCwgMTA4NzM1LCAxMDg3NDAsIAotICAgIDEwODc0NSwgMTA4NzUwLCAxMDg3NTUsIDEwODc2MCwgMTA4NzY1LCAxMDg3NzAsIDEwODc3NSwgMTA4NzgwLCAxMDg3ODUsIAotICAgIDEwODc5MCwgMTA4Nzk1LCAxMDg4MDAsIDEwODgwNSwgMTA4ODEwLCAxMDg4MTUsIDEwODgyMCwgMTA4ODI1LCAxMDg4MzAsIAotICAgIDEwODgzNSwgMTA4ODQwLCAxMDg4NDcsIDEwODg1MiwgMTA4ODU3LCAxMDg4NjIsIDEwODg2NywgMTA4ODcyLCAxMDg4NzcsIAotICAgIDEwODg4MSwgMTA4ODg2LCAxMDg4OTEsIDEwODg5NiwgMTA4OTAxLCAxMDg5MDYsIDEwODkxMSwgMTA4OTE2LCAxMDg5MjEsIAotICAgIDEwODkyNiwgMTA4OTMxLCAxMDg5MzYsIDEwODk0MSwgMTA4OTQ2LCAxMDg5NTEsIDEwODk1OCwgMTA4OTYzLCAxMDg5NjgsIAotICAgIDEwODk3NCwgMTA4OTc5LCAxMDg5ODQsIDEwODk4OSwgMTA4OTk0LCAxMDg5OTksIDEwOTAwNCwgMTA5MDA5LCAxMDkwMTQsIAotICAgIDEwOTAxOSwgMTA5MDI0LCAxMDkwMjksIDEwOTAzNCwgMTA5MDM5LCAxMDkwNDQsIDEwOTA0OSwgMTA5MDU0LCAxMDkwNTksIAotICAgIDEwOTA2NCwgMTA5MDY5LCAxMDkwNzQsIDEwOTA3OSwgMTA5MDg0LCAxMDkwODksIDEwOTA5NCwgMTA5MDk5LCAxMDkxMDQsIAotICAgIDEwOTEwOSwgMTA5MTE0LCAxMDkxMTksIDEwOTEyNCwgMTA5MTI5LCAxMDkxMzQsIDEwOTEzOSwgMTA5MTQ0LCAxMDkxNDksIAotICAgIDEwOTE1NCwgMTA5MTU5LCAxMDkxNjQsIDEwOTE2OSwgMTA5MTc0LCAxMDkxNzksIDEwOTE4NCwgMTA5MTg5LCAxMDkxOTYsIAotICAgIDEwOTIwMSwgMTA5MjA2LCAxMDkyMTMsIDEwOTIyMCwgMTA5MjI1LCAxMDkyMzAsIDEwOTIzNSwgMTA5MjQwLCAxMDkyNDUsIAotICAgIDEwOTI1MCwgMTA5MjU1LCAxMDkyNjAsIDEwOTI2NSwgMTA5MjcwLCAxMDkyNzUsIDEwOTI4MCwgMTA5Mjg1LCAxMDkyOTAsIAotICAgIDEwOTI5NSwgMTA5MzAwLCAxMDkzMDUsIDEwOTMxMCwgMTA5MzE1LCAxMDkzMjAsIDEwOTMyNSwgMTA5MzMwLCAxMDkzMzUsIAotICAgIDEwOTM0MCwgMTA5MzQ1LCAxMDkzNTIsIDEwOTM1NywgMTA5MzYyLCAxMDkzNjcsIDEwOTM3MiwgMTA5Mzc3LCAxMDkzODIsIAotICAgIDEwOTM4NywgMTA5MzkyLCAxMDkzOTcsIDEwOTQwMiwgMTA5NDA3LCAxMDk0MTIsIDEwOTQxNywgMTA5NDIyLCAxMDk0MjcsIAotICAgIDEwOTQzMiwgMTA5NDM3LCAxMDk0NDIsIDEwOTQ0OSwgMTA5NDU0LCAxMDk0NTksIDEwOTQ2NCwgMTA5NDY5LCAxMDk0NzQsIAotICAgIDEwOTQ3OSwgMTA5NDg0LCAxMDk0OTAsIDEwOTQ5NSwgMTA5NTAwLCAxMDk1MDUsIDEwOTUxMCwgMTA5NTE1LCAxMDk1MjAsIAotICAgIDEwOTUyNSwgMTA5NTMwLCAxMDk1MzcsIDEwOTU0NCwgMTA5NTQ5LCAxMDk1NTQsIDEwOTU1OCwgMTA5NTYzLCAxMDk1NjcsIAotICAgIDEwOTU3MSwgMTA5NTc2LCAxMDk1ODMsIDEwOTU4OCwgMTA5NTkzLCAxMDk2MDIsIDEwOTYwNywgMTA5NjEyLCAxMDk2MTcsIAotICAgIDEwOTYyMiwgMTA5NjI5LCAxMDk2MzYsIDEwOTY0MSwgMTA5NjQ2LCAxMDk2NTEsIDEwOTY1NiwgMTA5NjYzLCAxMDk2NjgsIAotICAgIDEwOTY3MywgMTA5Njc4LCAxMDk2ODMsIDEwOTY4OCwgMTA5NjkzLCAxMDk2OTgsIDEwOTcwMywgMTA5NzA4LCAxMDk3MTMsIAotICAgIDEwOTcxOCwgMTA5NzIzLCAxMDk3MzAsIDEwOTczNCwgMTA5NzM5LCAxMDk3NDQsIDEwOTc0OSwgMTA5NzU0LCAxMDk3NTgsIAotICAgIDEwOTc2MywgMTA5NzY4LCAxMDk3NzMsIDEwOTc3OCwgMTA5NzgzLCAxMDk3ODgsIDEwOTc5MywgMTA5Nzk4LCAxMDk4MDMsIAotICAgIDEwOTgwOSwgMTA5ODE1LCAxMDk4MjEsIDEwOTgyNywgMTA5ODMzLCAxMDk4MzksIDEwOTg0NSwgMTA5ODUxLCAxMDk4NTcsIAotICAgIDEwOTg2MywgMTA5ODY5LCAxMDk4NzUsIDEwOTg4MCwgMTA5ODg2LCAxMDk4OTIsIDEwOTg5OCwgMTA5OTA0LCAxMDk5MTAsIAotICAgIDEwOTkxNiwgMTA5OTIyLCAxMDk5MjgsIDEwOTkzNCwgMTA5OTQwLCAxMDk5NDYsIDEwOTk1MSwgMTA5OTU3LCAxMDk5NjMsIAotICAgIDEwOTk2OSwgMTA5OTc1LCAxMDk5ODEsIDEwOTk4NywgMTA5OTkzLCAxMDk5OTksIDExMDAwNSwgMTEwMDExLCAxMTAwMTcsIAotICAgIDExMDAyMywgMTEwMDI5LCAxMTAwMzUsIDExMDA0MSwgMTEwMDQ3LCAxMTAwNTMsIDExMDA1OSwgMTEwMDY1LCAxMTAwNzEsIAotICAgIDExMDA3NiwgMTEwMDgyLCAxMTAwODgsIDExMDA5NCwgMTEwMTAwLCAxMTAxMDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNzAwNywgMTA3MDE0LCAxMDcwMjEsIDEwNzAzMCwgMTA3MDM5LCAKKyAgICAxMDcwNDYsIDEwNzA1MSwgMTA3MDU4LCAxMDcwNjUsIDEwNzA3NCwgMTA3MDg1LCAxMDcwOTYsIDEwNzEwMSwgMTA3MTA4LCAKKyAgICAxMDcxMTMsIDEwNzExOCwgMTA3MTIzLCAxMDcxMjgsIDEwNzEzMywgMTA3MTM4LCAxMDcxNDMsIDEwNzE0OCwgMTA3MTUzLCAKKyAgICAxMDcxNTgsIDEwNzE2MywgMTA3MTcwLCAxMDcxNzcsIDEwNzE4MiwgMTA3MTg3LCAxMDcxOTIsIDEwNzE5NywgMTA3MjA0LCAKKyAgICAxMDcyMTEsIDEwNzIxOSwgMTA3MjI0LCAxMDcyMzEsIDEwNzIzNiwgMTA3MjQxLCAxMDcyNDYsIDEwNzI1MSwgMTA3MjU2LCAKKyAgICAxMDcyNjMsIDEwNzI3MCwgMTA3Mjc1LCAxMDcyODAsIDEwNzI4NSwgMTA3MjkwLCAxMDcyOTUsIDEwNzMwMCwgMTA3MzA1LCAKKyAgICAxMDczMTAsIDEwNzMxNSwgMTA3MzIwLCAxMDczMjUsIDEwNzMzMCwgMTA3MzM1LCAxMDczNDAsIDEwNzM0NSwgMTA3MzUwLCAKKyAgICAxMDczNTUsIDEwNzM2MCwgMTA3MzY1LCAxMDczNzIsIDEwNzM3NywgMTA3MzgyLCAxMDczOTEsIDEwNzM5OCwgMTA3NDAzLCAKKyAgICAxMDc0MDgsIDEwNzQxMywgMTA3NDE4LCAxMDc0MjMsIDEwNzQyOCwgMTA3NDMzLCAxMDc0MzgsIDEwNzQ0MywgMTA3NDQ4LCAKKyAgICAxMDc0NTMsIDEwNzQ1OCwgMTA3NDYzLCAxMDc0NjgsIDEwNzQ3MywgMTA3NDc4LCAxMDc0ODMsIDEwNzQ4OCwgMTA3NDkzLCAKKyAgICAxMDc0OTgsIDEwNzUwMywgMTA3NTA5LCAxMDc1MTcsIDEwNzUyMywgMTA3NTMxLCAxMDc1MzksIDEwNzU0NywgMTA3NTUzLCAKKyAgICAxMDc1NTksIDEwNzU2NSwgMTA3NTcxLCAxMDc1NzcsIDEwNzU4NSwgMTA3NTk1LCAxMDc2MDMsIDEwNzYxMSwgMTA3NjE3LCAKKyAgICAxMDc2MjMsIDEwNzYzMSwgMTA3NjM5LCAxMDc2NDUsIDEwNzY1MywgMTA3NjYxLCAxMDc2NjksIDEwNzY3NSwgMTA3NjgxLCAKKyAgICAxMDc2ODcsIDEwNzY5MywgMTA3Njk5LCAxMDc3MDUsIDEwNzcxMywgMTA3NzIxLCAxMDc3MjcsIDEwNzczMywgMTA3NzM5LCAKKyAgICAxMDc3NDUsIDEwNzc1MSwgMTA3NzU5LCAxMDc3NjUsIDEwNzc3MSwgMTA3Nzc3LCAxMDc3ODMsIDEwNzc4OSwgMTA3Nzk1LCAKKyAgICAxMDc4MDMsIDEwNzgwOSwgMTA3ODE1LCAxMDc4MjEsIDEwNzgyNywgMTA3ODM1LCAxMDc4NDMsIDEwNzg0OSwgMTA3ODU1LCAKKyAgICAxMDc4NjEsIDEwNzg2NiwgMTA3ODcyLCAxMDc4NzgsIDEwNzg4NSwgMTA3ODkwLCAxMDc4OTUsIDEwNzkwMCwgMTA3OTA1LCAKKyAgICAxMDc5MTAsIDEwNzkxNSwgMTA3OTIwLCAxMDc5MjUsIDEwNzkzMCwgMTA3OTM5LCAxMDc5NDYsIDEwNzk1MSwgMTA3OTU2LCAKKyAgICAxMDc5NjEsIDEwNzk2OCwgMTA3OTczLCAxMDc5NzgsIDEwNzk4MywgMTA3OTkwLCAxMDc5OTUsIDEwODAwMCwgMTA4MDA1LCAKKyAgICAxMDgwMTAsIDEwODAxNSwgMTA4MDIwLCAxMDgwMjUsIDEwODAzMCwgMTA4MDM1LCAxMDgwNDAsIDEwODA0NSwgMTA4MDUyLCAKKyAgICAxMDgwNTcsIDEwODA2NCwgMTA4MDY5LCAxMDgwNzQsIDEwODA4MSwgMTA4MDg2LCAxMDgwOTEsIDEwODA5NiwgMTA4MTAxLCAKKyAgICAxMDgxMDYsIDEwODExMSwgMTA4MTE2LCAxMDgxMjEsIDEwODEyNiwgMTA4MTMxLCAxMDgxMzYsIDEwODE0MSwgMTA4MTQ2LCAKKyAgICAxMDgxNTEsIDEwODE1NiwgMTA4MTYxLCAxMDgxNjYsIDEwODE3MSwgMTA4MTc2LCAxMDgxODMsIDEwODE4OCwgMTA4MTkzLCAKKyAgICAxMDgxOTgsIDEwODIwMywgMTA4MjA4LCAxMDgyMTMsIDEwODIxOCwgMTA4MjIzLCAxMDgyMjgsIDEwODIzMywgMTA4MjM4LCAKKyAgICAxMDgyNDMsIDEwODI0OCwgMTA4MjU1LCAxMDgyNjAsIDEwODI2NSwgMTA4MjcyLCAxMDgyNzcsIDEwODI4MiwgMTA4Mjg3LCAKKyAgICAxMDgyOTIsIDEwODI5NywgMTA4MzAyLCAxMDgzMDcsIDEwODMxMiwgMTA4MzE3LCAxMDgzMjIsIDEwODMyOSwgMTA4MzM0LCAKKyAgICAxMDgzMzksIDEwODM0NCwgMTA4MzQ5LCAxMDgzNTQsIDEwODM2MSwgMTA4MzY4LCAxMDgzNzMsIDEwODM3OCwgMTA4MzgzLCAKKyAgICAxMDgzODgsIDEwODM5MywgMTA4Mzk4LCAxMDg0MDMsIDEwODQwOCwgMTA4NDEzLCAxMDg0MTgsIDEwODQyMywgMTA4NDI4LCAKKyAgICAxMDg0MzMsIDEwODQzOCwgMTA4NDQzLCAxMDg0NDgsIDEwODQ1MywgMTA4NDU4LCAxMDg0NjMsIDEwODQ2OCwgMTA4NDczLCAKKyAgICAxMDg0NzgsIDEwODQ4MywgMTA4NDg4LCAxMDg0OTMsIDEwODQ5OCwgMTA4NTAzLCAxMDg1MDgsIDEwODUxMywgMTA4NTE4LCAKKyAgICAxMDg1MjMsIDEwODUyOCwgMTA4NTMzLCAxMDg1MzgsIDEwODU0MywgMTA4NTQ4LCAxMDg1NTUsIDEwODU2MCwgMTA4NTY1LCAKKyAgICAxMDg1NzAsIDEwODU3NSwgMTA4NTgwLCAxMDg1ODUsIDEwODU5MCwgMTA4NTk1LCAxMDg2MDAsIDEwODYwNSwgMTA4NjEwLCAKKyAgICAxMDg2MTUsIDEwODYyMCwgMTA4NjI1LCAxMDg2MzAsIDEwODYzNSwgMTA4NjQwLCAxMDg2NDUsIDEwODY1MCwgMTA4NjU1LCAKKyAgICAxMDg2NjAsIDEwODY2NSwgMTA4NjcwLCAxMDg2NzUsIDEwODY4MCwgMTA4Njg1LCAxMDg2OTAsIDEwODY5NSwgMTA4NzAwLCAKKyAgICAxMDg3MDUsIDEwODcxMCwgMTA4NzE1LCAxMDg3MjAsIDEwODcyNSwgMTA4NzMwLCAxMDg3MzUsIDEwODc0MCwgMTA4NzQ1LCAKKyAgICAxMDg3NTAsIDEwODc1NSwgMTA4NzYwLCAxMDg3NjUsIDEwODc3MCwgMTA4Nzc1LCAxMDg3ODAsIDEwODc4NSwgMTA4NzkwLCAKKyAgICAxMDg3OTUsIDEwODgwMCwgMTA4ODA1LCAxMDg4MTAsIDEwODgxNSwgMTA4ODIwLCAxMDg4MjUsIDEwODgzMCwgMTA4ODM1LCAKKyAgICAxMDg4NDAsIDEwODg0NSwgMTA4ODUyLCAxMDg4NTcsIDEwODg2MiwgMTA4ODY3LCAxMDg4NzIsIDEwODg3NywgMTA4ODgyLCAKKyAgICAxMDg4ODYsIDEwODg5MSwgMTA4ODk2LCAxMDg5MDEsIDEwODkwNiwgMTA4OTExLCAxMDg5MTYsIDEwODkyMSwgMTA4OTI2LCAKKyAgICAxMDg5MzEsIDEwODkzNiwgMTA4OTQxLCAxMDg5NDYsIDEwODk1MSwgMTA4OTU2LCAxMDg5NjMsIDEwODk2OCwgMTA4OTczLCAKKyAgICAxMDg5NzksIDEwODk4NCwgMTA4OTg5LCAxMDg5OTQsIDEwODk5OSwgMTA5MDA0LCAxMDkwMDksIDEwOTAxNCwgMTA5MDE5LCAKKyAgICAxMDkwMjQsIDEwOTAyOSwgMTA5MDM0LCAxMDkwMzksIDEwOTA0NCwgMTA5MDQ5LCAxMDkwNTQsIDEwOTA1OSwgMTA5MDY0LCAKKyAgICAxMDkwNjksIDEwOTA3NCwgMTA5MDc5LCAxMDkwODQsIDEwOTA4OSwgMTA5MDk0LCAxMDkwOTksIDEwOTEwNCwgMTA5MTA5LCAKKyAgICAxMDkxMTQsIDEwOTExOSwgMTA5MTI0LCAxMDkxMjksIDEwOTEzNCwgMTA5MTM5LCAxMDkxNDQsIDEwOTE0OSwgMTA5MTU0LCAKKyAgICAxMDkxNTksIDEwOTE2NCwgMTA5MTY5LCAxMDkxNzQsIDEwOTE3OSwgMTA5MTg0LCAxMDkxODksIDEwOTE5NCwgMTA5MjAxLCAKKyAgICAxMDkyMDYsIDEwOTIxMSwgMTA5MjE4LCAxMDkyMjUsIDEwOTIzMCwgMTA5MjM1LCAxMDkyNDAsIDEwOTI0NSwgMTA5MjUwLCAKKyAgICAxMDkyNTUsIDEwOTI2MCwgMTA5MjY1LCAxMDkyNzAsIDEwOTI3NSwgMTA5MjgwLCAxMDkyODUsIDEwOTI5MCwgMTA5Mjk1LCAKKyAgICAxMDkzMDAsIDEwOTMwNSwgMTA5MzEwLCAxMDkzMTUsIDEwOTMyMCwgMTA5MzI1LCAxMDkzMzAsIDEwOTMzNSwgMTA5MzQwLCAKKyAgICAxMDkzNDUsIDEwOTM1MCwgMTA5MzU3LCAxMDkzNjIsIDEwOTM2NywgMTA5MzcyLCAxMDkzNzcsIDEwOTM4MiwgMTA5Mzg3LCAKKyAgICAxMDkzOTIsIDEwOTM5NywgMTA5NDAyLCAxMDk0MDcsIDEwOTQxMiwgMTA5NDE3LCAxMDk0MjIsIDEwOTQyNywgMTA5NDMyLCAKKyAgICAxMDk0MzcsIDEwOTQ0MiwgMTA5NDQ3LCAxMDk0NTQsIDEwOTQ1OSwgMTA5NDY0LCAxMDk0NjksIDEwOTQ3NCwgMTA5NDc5LCAKKyAgICAxMDk0ODQsIDEwOTQ4OSwgMTA5NDk1LCAxMDk1MDAsIDEwOTUwNSwgMTA5NTEwLCAxMDk1MTUsIDEwOTUyMCwgMTA5NTI1LCAKKyAgICAxMDk1MzAsIDEwOTUzNSwgMTA5NTQyLCAxMDk1NDksIDEwOTU1NCwgMTA5NTU5LCAxMDk1NjMsIDEwOTU2OCwgMTA5NTcyLCAKKyAgICAxMDk1NzYsIDEwOTU4MSwgMTA5NTg4LCAxMDk1OTMsIDEwOTU5OCwgMTA5NjA3LCAxMDk2MTIsIDEwOTYxNywgMTA5NjIyLCAKKyAgICAxMDk2MjcsIDEwOTYzNCwgMTA5NjQxLCAxMDk2NDYsIDEwOTY1MSwgMTA5NjU2LCAxMDk2NjEsIDEwOTY2OCwgMTA5NjczLCAKKyAgICAxMDk2NzgsIDEwOTY4MywgMTA5Njg4LCAxMDk2OTMsIDEwOTY5OCwgMTA5NzAzLCAxMDk3MDgsIDEwOTcxMywgMTA5NzE4LCAKKyAgICAxMDk3MjMsIDEwOTcyOCwgMTA5NzM1LCAxMDk3MzksIDEwOTc0NCwgMTA5NzQ5LCAxMDk3NTQsIDEwOTc1OSwgMTA5NzYzLCAKKyAgICAxMDk3NjgsIDEwOTc3MywgMTA5Nzc4LCAxMDk3ODMsIDEwOTc4OCwgMTA5NzkzLCAxMDk3OTgsIDEwOTgwMywgMTA5ODA4LCAKKyAgICAxMDk4MTQsIDEwOTgyMCwgMTA5ODI2LCAxMDk4MzIsIDEwOTgzOCwgMTA5ODQ0LCAxMDk4NTAsIDEwOTg1NiwgMTA5ODYyLCAKKyAgICAxMDk4NjgsIDEwOTg3NCwgMTA5ODgwLCAxMDk4ODUsIDEwOTg5MSwgMTA5ODk3LCAxMDk5MDMsIDEwOTkwOSwgMTA5OTE1LCAKKyAgICAxMDk5MjEsIDEwOTkyNywgMTA5OTMzLCAxMDk5MzksIDEwOTk0NSwgMTA5OTUxLCAxMDk5NTYsIDEwOTk2MiwgMTA5OTY4LCAKKyAgICAxMDk5NzQsIDEwOTk4MCwgMTA5OTg2LCAxMDk5OTIsIDEwOTk5OCwgMTEwMDA0LCAxMTAwMTAsIDExMDAxNiwgMTEwMDIyLCAKKyAgICAxMTAwMjgsIDExMDAzNCwgMTEwMDQwLCAxMTAwNDYsIDExMDA1MiwgMTEwMDU4LCAxMTAwNjQsIDExMDA3MCwgMTEwMDc2LCAKKyAgICAxMTAwODEsIDExMDA4NywgMTEwMDkzLCAxMTAwOTksIDExMDEwNSwgMTEwMTExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTAxMTIsIDExMDExNSwgMTEwMTE5LCAKLSAgICAxMTAxMjMsIDExMDEyNywgMTEwMTMwLCAxMTAxMzQsIDExMDEzOSwgMTEwMTQzLCAxMTAxNDcsIDExMDE1MSwgMTEwMTU1LCAKLSAgICAxMTAxNTksIDExMDE2NCwgMTEwMTY5LCAxMTAxNzMsIDExMDE3NywgMTEwMTgwLCAxMTAxODQsIDExMDE4OSwgMTEwMTk0LCAKLSAgICAxMTAxOTgsIDExMDIwMiwgMTEwMjA2LCAxMTAyMTAsIDExMDIxNCwgMTEwMjE4LCAxMTAyMjIsIDExMDIyNiwgMTEwMjMwLCAKLSAgICAxMTAyMzQsIDExMDIzNywgMTEwMjQxLCAxMTAyNDUsIDExMDI0OSwgMTEwMjUzLCAxMTAyNTcsIDExMDI2MSwgMTEwMjY3LCAKLSAgICAxMTAyNzAsIDExMDI3NCwgMTEwMjc4LCAxMTAyODIsIDExMDI4NiwgMTEwMjkwLCAxMTAyOTQsIDExMDI5OCwgMTEwMzAyLCAKLSAgICAxMTAzMDYsIDExMDMxMSwgMTEwMzE2LCAxMTAzMjIsIDExMDMyNiwgMTEwMzMwLCAxMTAzMzQsIDExMDMzOCwgMTEwMzQyLCAKLSAgICAxMTAzNDYsIDExMDM1MSwgMTEwMzU0LCAxMTAzNTgsIDExMDM2MiwgMTEwMzY2LCAxMTAzNzAsIDExMDM3NiwgMTEwMzgwLCAKLSAgICAxMTAzODQsIDExMDM4OCwgMTEwMzkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTAzOTYsIDExMDQwMCwgCi0gICAgMTEwNDA0LCAxMTA0MTAsIDExMDQxNiwgMTEwNDIwLCAxMTA0MjUsIDExMDQzMCwgMTEwNDM1LCAxMTA0NDAsIDExMDQ0NCwgCi0gICAgMTEwNDQ5LCAxMTA0NTQsIDExMDQ1OSwgMTEwNDYzLCAxMTA0NjgsIDExMDQ3MywgMTEwNDc4LCAxMTA0ODIsIDExMDQ4NywgCi0gICAgMTEwNDkyLCAxMTA0OTcsIDExMDUwMiwgMTEwNTA3LCAxMTA1MTIsIDExMDUxNywgMTEwNTIyLCAxMTA1MjYsIDExMDUzMSwgCi0gICAgMTEwNTM2LCAxMTA1NDEsIDExMDU0NiwgMTEwNTUxLCAxMTA1NTYsIDExMDU2MSwgMTEwNTY2LCAxMTA1NzEsIDExMDU3NiwgCi0gICAgMTEwNTgxLCAxMTA1ODgsIDExMDU5MywgMTEwNjAwLCAxMTA2MDUsIDExMDYxMCwgMTEwNjE1LCAxMTA2MjAsIDExMDYyNSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwNjMwLCAxMTA2MzQsIDExMDY0MCwgCi0gICAgMTEwNjQzLCAxMTA2NDYsIDExMDY1MCwgMTEwNjU0LCAxMTA2NTgsIDExMDY2MiwgMTEwNjY2LCAxMTA2NzAsIDExMDY3NCwgCi0gICAgMTEwNjgwLCAxMTA2ODYsIDExMDY5MiwgMTEwNjk4LCAxMTA3MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDExNywgMTEwMTIwLCAxMTAxMjQsIAorICAgIDExMDEyOCwgMTEwMTMyLCAxMTAxMzUsIDExMDEzOSwgMTEwMTQ0LCAxMTAxNDgsIDExMDE1MiwgMTEwMTU2LCAxMTAxNjAsIAorICAgIDExMDE2NCwgMTEwMTY5LCAxMTAxNzQsIDExMDE3OCwgMTEwMTgyLCAxMTAxODUsIDExMDE4OSwgMTEwMTk0LCAxMTAxOTksIAorICAgIDExMDIwMywgMTEwMjA3LCAxMTAyMTEsIDExMDIxNSwgMTEwMjE5LCAxMTAyMjMsIDExMDIyNywgMTEwMjMxLCAxMTAyMzUsIAorICAgIDExMDIzOSwgMTEwMjQyLCAxMTAyNDYsIDExMDI1MCwgMTEwMjU0LCAxMTAyNTgsIDExMDI2MiwgMTEwMjY2LCAxMTAyNzIsIAorICAgIDExMDI3NSwgMTEwMjc5LCAxMTAyODMsIDExMDI4NywgMTEwMjkxLCAxMTAyOTUsIDExMDI5OSwgMTEwMzAzLCAxMTAzMDcsIAorICAgIDExMDMxMSwgMTEwMzE2LCAxMTAzMjEsIDExMDMyNywgMTEwMzMxLCAxMTAzMzUsIDExMDMzOSwgMTEwMzQzLCAxMTAzNDcsIAorICAgIDExMDM1MSwgMTEwMzU2LCAxMTAzNTksIDExMDM2MywgMTEwMzY3LCAxMTAzNzEsIDExMDM3NSwgMTEwMzgxLCAxMTAzODUsIAorICAgIDExMDM4OSwgMTEwMzkzLCAxMTAzOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDQwMSwgMTEwNDA1LCAKKyAgICAxMTA0MDksIDExMDQxNSwgMTEwNDIxLCAxMTA0MjUsIDExMDQzMCwgMTEwNDM1LCAxMTA0NDAsIDExMDQ0NSwgMTEwNDQ5LCAKKyAgICAxMTA0NTQsIDExMDQ1OSwgMTEwNDY0LCAxMTA0NjgsIDExMDQ3MywgMTEwNDc4LCAxMTA0ODMsIDExMDQ4NywgMTEwNDkyLCAKKyAgICAxMTA0OTcsIDExMDUwMiwgMTEwNTA3LCAxMTA1MTIsIDExMDUxNywgMTEwNTIyLCAxMTA1MjcsIDExMDUzMSwgMTEwNTM2LCAKKyAgICAxMTA1NDEsIDExMDU0NiwgMTEwNTUxLCAxMTA1NTYsIDExMDU2MSwgMTEwNTY2LCAxMTA1NzEsIDExMDU3NiwgMTEwNTgxLCAKKyAgICAxMTA1ODYsIDExMDU5MywgMTEwNTk4LCAxMTA2MDUsIDExMDYxMCwgMTEwNjE1LCAxMTA2MjAsIDExMDYyNSwgMTEwNjMwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTA2MzUsIDExMDYzOSwgMTEwNjQ1LCAKKyAgICAxMTA2NDgsIDExMDY1MSwgMTEwNjU1LCAxMTA2NTksIDExMDY2MywgMTEwNjY3LCAxMTA2NzEsIDExMDY3NSwgMTEwNjc5LCAKKyAgICAxMTA2ODUsIDExMDY5MSwgMTEwNjk3LCAxMTA3MDMsIDExMDcwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEwNzEwLCAxMTA3MTUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDcxNSwgMTEwNzIwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMTA3MjEsIDExMDcyNiwgMTEwNzMxLCAxMTA3MzYsIDExMDc0MywgMTEwNzUwLCAxMTA3NTcsIDExMDc2NCwgMTEwNzY5LCAKLSAgICAxMTA3NzQsIDExMDc3OSwgMTEwNzg0LCAxMTA3OTEsIDExMDc5NiwgMTEwODAzLCAxMTA4MTAsIDExMDgxNSwgMTEwODIwLCAKLSAgICAxMTA4MjUsIDExMDgzMiwgMTEwODM3LCAxMTA4NDIsIDExMDg0OSwgMTEwODU2LCAxMTA4NjEsIDExMDg2NiwgMTEwODcxLCAKLSAgICAxMTA4NzgsIDExMDg4NSwgMTEwODkyLCAxMTA4OTcsIDExMDkwMiwgMTEwOTA5LCAxMTA5MTYsIDExMDkyMywgMTEwOTMwLCAKLSAgICAxMTA5MzUsIDExMDk0MCwgMTEwOTQ1LCAxMTA5NTIsIDExMDk1NywgMTEwOTYyLCAxMTA5NjcsIDExMDk3NCwgMTEwOTgzLCAKLSAgICAxMTA5OTAsIDExMDk5NSwgMTExMDAwLCAxMTEwMDUsIDExMTAxMCwgMTExMDE1LCAxMTEwMjAsIDExMTAyOSwgMTExMDM2LCAKLSAgICAxMTEwNDEsIDExMTA0OCwgMTExMDU1LCAxMTEwNjAsIDExMTA2NSwgMTExMDcwLCAxMTEwNzcsIDExMTA4MiwgMTExMDg5LCAKLSAgICAxMTEwOTYsIDExMTEwMSwgMTExMTA2LCAxMTExMTEsIDExMTExOCwgMTExMTI1LCAxMTExMzAsIDExMTEzNSwgMTExMTQyLCAKLSAgICAxMTExNDksIDExMTE1NiwgMTExMTYxLCAxMTExNjYsIDExMTE3MSwgMTExMTc2LCAxMTExODMsIDExMTE5MiwgMTExMjAxLCAKLSAgICAxMTEyMDYsIDExMTIxMywgMTExMjIyLCAxMTEyMjcsIDExMTIzMiwgMTExMjM3LCAxMTEyNDIsIDExMTI0OSwgMTExMjU2LCAKLSAgICAxMTEyNjMsIDExMTI3MCwgMTExMjc1LCAxMTEyODAsIDExMTI4NSwgMTExMjkyLCAxMTEyOTksIDExMTMwNiwgMTExMzExLCAKLSAgICAxMTEzMTYsIDExMTMyMywgMTExMzI4LCAxMTEzMzUsIDExMTM0MCwgMTExMzQ3LCAxMTEzNTIsIDExMTM1OSwgMTExMzY2LCAKLSAgICAxMTEzNzEsIDExMTM3NiwgMTExMzgxLCAxMTEzODYsIDExMTM5MSwgMTExMzk2LCAxMTE0MDEsIDExMTQwNiwgMTExNDExLCAKLSAgICAxMTE0MTgsIDExMTQyNSwgMTExNDMyLCAxMTE0MzksIDExMTQ0NiwgMTExNDU1LCAxMTE0NjAsIDExMTQ2NSwgMTExNDcyLCAKLSAgICAxMTE0NzksIDExMTQ4NCwgMTExNDkxLCAxMTE0OTgsIDExMTUwNSwgMTExNTEyLCAxMTE1MTksIDExMTUyNiwgMTExNTMxLCAKLSAgICAxMTE1MzYsIDExMTU0MSwgMTExNTQ2LCAxMTE1NTEsIDExMTU2MCwgMTExNTY5LCAxMTE1NzgsIDExMTU4NywgMTExNTk2LCAKLSAgICAxMTE2MDUsIDExMTYxNCwgMTExNjIzLCAxMTE2MjgsIDExMTYzOSwgMTExNjUwLCAxMTE2NTksIDExMTY2NCwgMTExNjY5LCAKLSAgICAxMTE2NzQsIDExMTY3OSwgMTExNjg4LCAxMTE2OTUsIDExMTcwMiwgMTExNzA5LCAxMTE3MTYsIDExMTcyMywgMTExNzMwLCAKLSAgICAxMTE3MzksIDExMTc0OCwgMTExNzU5LCAxMTE3NjgsIDExMTc3OSwgMTExNzg4LCAxMTE3OTUsIDExMTgwNCwgMTExODE1LCAKLSAgICAxMTE4MjQsIDExMTgzMywgMTExODQyLCAxMTE4NTEsIDExMTg1OCwgMTExODY1LCAxMTE4NzIsIDExMTg4MSwgMTExODkwLCAKLSAgICAxMTE5MDEsIDExMTkxMCwgMTExOTE5LCAxMTE5MzAsIDExMTkzNSwgMTExOTQwLCAxMTE5NTEsIDExMTk1OSwgMTExOTY4LCAKLSAgICAxMTE5NzcsIDExMTk4NiwgMTExOTk3LCAxMTIwMDYsIDExMjAxNSwgMTEyMDI2LCAxMTIwMzcsIDExMjA0OCwgMTEyMDU5LCAKLSAgICAxMTIwNzAsIDExMjA4MSwgMTEyMDg4LCAxMTIwOTUsIDExMjEwMiwgMTEyMTA5LCAxMTIxMjAsIDExMjEyOSwgMTEyMTM2LCAKLSAgICAxMTIxNDMsIDExMjE1MCwgMTEyMTYxLCAxMTIxNzIsIDExMjE4MywgMTEyMTk0LCAxMTIyMDUsIDExMjIxNiwgMTEyMjI3LCAKLSAgICAxMTIyMzgsIDExMjI0NSwgMTEyMjUyLCAxMTIyNjEsIDExMjI3MCwgMTEyMjc3LCAxMTIyODQsIDExMjI5MSwgMTEyMzAwLCAKLSAgICAxMTIzMDksIDExMjMxOCwgMTEyMzI1LCAxMTIzMzQsIDExMjM0MywgMTEyMzUyLCAxMTIzNTksIDExMjM2NiwgMTEyMzcxLCAKLSAgICAxMTIzNzcsIDExMjM4NCwgMTEyMzkxLCAxMTIzOTgsIDExMjQwNSwgMTEyNDEyLCAxMTI0MTksIDExMjQyOCwgMTEyNDM3LCAKLSAgICAxMTI0NDYsIDExMjQ1NSwgMTEyNDYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTI0NzEsIDExMjQ3NywgCi0gICAgMTEyNDgyLCAxMTI0ODcsIDExMjQ5NCwgMTEyNTAwLCAxMTI1MDYsIDExMjUxMiwgMTEyNTE4LCAxMTI1MjQsIDExMjUzMCwgCi0gICAgMTEyNTM2LCAxMTI1NDAsIDExMjU0NCwgMTEyNTUwLCAxMTI1NTYsIDExMjU2MiwgMTEyNTY2LCAxMTI1NzEsIDExMjU3NiwgCi0gICAgMTEyNTgwLCAxMTI1ODQsIDExMjU4NywgMTEyNTkzLCAxMTI1OTksIDExMjYwNSwgMTEyNjExLCAxMTI2MTcsIDExMjYyMywgCi0gICAgMTEyNjI5LCAxMTI2MzUsIDExMjY0MSwgMTEyNjUxLCAxMTI2NjEsIDExMjY2NywgMTEyNjczLCAxMTI2ODMsIDExMjY5MywgCi0gICAgMTEyNjk5LCAwLCAwLCAxMTI3MDUsIDExMjcxMywgMTEyNzE4LCAxMTI3MjMsIDExMjcyOSwgMTEyNzM1LCAxMTI3NDEsIAotICAgIDExMjc0NywgMTEyNzUzLCAxMTI3NTksIDExMjc2NiwgMTEyNzczLCAxMTI3NzksIDExMjc4NSwgMTEyNzkxLCAxMTI3OTcsIAotICAgIDExMjgwMywgMTEyODA5LCAxMTI4MTUsIDExMjgyMSwgMTEyODI2LCAxMTI4MzIsIDExMjgzOCwgMTEyODQ0LCAxMTI4NTAsIAotICAgIDExMjg1NiwgMTEyODY1LCAxMTI4NzEsIDExMjg3NiwgMTEyODg0LCAxMTI4OTEsIDExMjg5OCwgMTEyOTA3LCAxMTI5MTYsIAotICAgIDExMjkyNSwgMTEyOTM0LCAxMTI5NDMsIDExMjk1MiwgMTEyOTYxLCAxMTI5NzAsIDExMjk4MCwgMTEyOTkwLCAxMTI5OTgsIAotICAgIDExMzAwNiwgMTEzMDE1LCAxMTMwMjQsIDExMzAzMCwgMTEzMDM2LCAxMTMwNDIsIDExMzA0OCwgMTEzMDU2LCAxMTMwNjQsIAotICAgIDExMzA2OCwgMTEzMDc0LCAxMTMwNzksIDExMzA4NSwgMTEzMDkxLCAxMTMwOTcsIDExMzEwMywgMTEzMTA5LCAxMTMxMTgsIAotICAgIDExMzEyMywgMTEzMTMwLCAxMTMxMzUsIDExMzE0MCwgMTEzMTQ1LCAxMTMxNTEsIDExMzE1NywgMTEzMTYzLCAxMTMxNzAsIAotICAgIDExMzE3NSwgMTEzMTgwLCAxMTMxODUsIDExMzE5MCwgMTEzMTk1LCAxMTMyMDEsIDExMzIwNywgMTEzMjEzLCAxMTMyMTksIAotICAgIDExMzIyNSwgMTEzMjMxLCAxMTMyMzcsIDExMzI0MywgMTEzMjQ4LCAxMTMyNTMsIDExMzI1OCwgMTEzMjYzLCAxMTMyNjgsIAotICAgIDExMzI3MywgMTEzMjc4LCAxMTMyODMsIDExMzI4OSwgMTEzMjk1LCAxMTMzMDAsIDExMzMwNSwgMTEzMzEwLCAxMTMzMTUsIAotICAgIDExMzMyMCwgMTEzMzI2LCAxMTMzMzMsIDExMzMzNywgMTEzMzQxLCAxMTMzNDUsIDExMzM0OSwgMTEzMzUzLCAxMTMzNTcsIAotICAgIDExMzM2MSwgMTEzMzY1LCAxMTMzNzMsIDExMzM4MywgMTEzMzg3LCAxMTMzOTEsIDExMzM5NywgMTEzNDAzLCAxMTM0MDksIAotICAgIDExMzQxNSwgMTEzNDIxLCAxMTM0MjcsIDExMzQzMywgMTEzNDM5LCAxMTM0NDUsIDExMzQ1MSwgMTEzNDU3LCAxMTM0NjMsIAotICAgIDExMzQ2OSwgMTEzNDc1LCAxMTM0NzksIDExMzQ4MywgMTEzNDkwLCAxMTM0OTYsIDExMzUwMiwgMTEzNTA4LCAxMTM1MTMsIAotICAgIDExMzUyMCwgMTEzNTI1LCAxMTM1MzEsIDExMzUzNywgMTEzNTQzLCAxMTM1NDksIDExMzU1NCwgMTEzNTU4LCAxMTM1NjQsIAotICAgIDExMzU2OCwgMTEzNTcyLCAxMTM1NzYsIDExMzU4MiwgMTEzNTg4LCAxMTM1OTIsIDExMzU5OCwgMTEzNjA0LCAxMTM2MTAsIAotICAgIDExMzYxNiwgMTEzNjIyLCAxMTM2MzAsIDExMzYzOCwgMTEzNjQ0LCAxMTM2NTAsIDExMzY1NiwgMTEzNjYyLCAxMTM2NzQsIAotICAgIDExMzY4NiwgMTEzNzAwLCAxMTM3MTIsIDExMzcyNCwgMTEzNzM4LCAxMTM3NTIsIDExMzc2NiwgMTEzNzcwLCAxMTM3NzgsIAotICAgIDExMzc4NiwgMTEzNzkxLCAxMTM3OTUsIDExMzc5OSwgMTEzODAzLCAxMTM4MDcsIDExMzgxMSwgMTEzODE1LCAxMTM4MTksIAotICAgIDExMzgyNSwgMTEzODMxLCAxMTM4MzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMzg0MywgMTEzODQ5LCAKLSAgICAxMTM4NTUsIDExMzg2MSwgMTEzODY3LCAxMTM4NzMsIDExMzg3OSwgMTEzODg1LCAxMTM4OTEsIDExMzg5NywgMTEzOTAzLCAKLSAgICAxMTM5MDksIDExMzkxNSwgMTEzOTIxLCAxMTM5MjcsIDExMzkzMywgMTEzOTM5LCAxMTM5NDUsIDExMzk1MSwgMTEzOTU3LCAKLSAgICAxMTM5NjMsIDExMzk2OSwgMTEzOTc1LCAxMTM5ODEsIDExMzk4NywgMTEzOTkzLCAxMTM5OTksIDExNDAwNSwgMTE0MDExLCAKLSAgICAxMTQwMTcsIDExNDAyMywgMTE0MDI5LCAxMTQwMzUsIDExNDA0MSwgMTE0MDQ3LCAxMTQwNTMsIDExNDA1OSwgMTE0MDY1LCAKLSAgICAxMTQwNzEsIDExNDA3NywgMTE0MDgzLCAxMTQwODksIDExNDA5NSwgMTE0MTAxLCAxMTQxMDcsIDExNDExMywgMTE0MTE5LCAKLSAgICAxMTQxMjUsIDExNDEzMSwgMTE0MTM3LCAxMTQxNDMsIDExNDE0OSwgMTE0MTU1LCAxMTQxNjEsIDExNDE2NywgMTE0MTczLCAKLSAgICAxMTQxNzksIDExNDE4NSwgMTE0MTkxLCAxMTQxOTcsIDExNDIwMywgMTE0MjA5LCAxMTQyMTUsIDExNDIyMSwgMTE0MjI3LCAKLSAgICAxMTQyMzMsIDExNDIzOSwgMTE0MjQ0LCAxMTQyNDksIDExNDI1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTEwNzI2LCAxMTA3MzEsIDExMDczNiwgMTEwNzQxLCAxMTA3NDgsIDExMDc1NSwgMTEwNzYyLCAxMTA3NjksIDExMDc3NCwgCisgICAgMTEwNzc5LCAxMTA3ODQsIDExMDc4OSwgMTEwNzk2LCAxMTA4MDEsIDExMDgwOCwgMTEwODE1LCAxMTA4MjAsIDExMDgyNSwgCisgICAgMTEwODMwLCAxMTA4MzcsIDExMDg0MiwgMTEwODQ3LCAxMTA4NTQsIDExMDg2MSwgMTEwODY2LCAxMTA4NzEsIDExMDg3NiwgCisgICAgMTEwODgzLCAxMTA4OTAsIDExMDg5NywgMTEwOTAyLCAxMTA5MDcsIDExMDkxNCwgMTEwOTIxLCAxMTA5MjgsIDExMDkzNSwgCisgICAgMTEwOTQwLCAxMTA5NDUsIDExMDk1MCwgMTEwOTU3LCAxMTA5NjIsIDExMDk2NywgMTEwOTcyLCAxMTA5NzksIDExMDk4OCwgCisgICAgMTEwOTk1LCAxMTEwMDAsIDExMTAwNSwgMTExMDEwLCAxMTEwMTUsIDExMTAyMCwgMTExMDI1LCAxMTEwMzQsIDExMTA0MSwgCisgICAgMTExMDQ2LCAxMTEwNTMsIDExMTA2MCwgMTExMDY1LCAxMTEwNzAsIDExMTA3NSwgMTExMDgyLCAxMTEwODcsIDExMTA5NCwgCisgICAgMTExMTAxLCAxMTExMDYsIDExMTExMSwgMTExMTE2LCAxMTExMjMsIDExMTEzMCwgMTExMTM1LCAxMTExNDAsIDExMTE0NywgCisgICAgMTExMTU0LCAxMTExNjEsIDExMTE2NiwgMTExMTcxLCAxMTExNzYsIDExMTE4MSwgMTExMTg4LCAxMTExOTcsIDExMTIwNiwgCisgICAgMTExMjExLCAxMTEyMTgsIDExMTIyNywgMTExMjMyLCAxMTEyMzcsIDExMTI0MiwgMTExMjQ3LCAxMTEyNTQsIDExMTI2MSwgCisgICAgMTExMjY4LCAxMTEyNzUsIDExMTI4MCwgMTExMjg1LCAxMTEyOTAsIDExMTI5NywgMTExMzA0LCAxMTEzMTEsIDExMTMxNiwgCisgICAgMTExMzIxLCAxMTEzMjgsIDExMTMzMywgMTExMzQwLCAxMTEzNDUsIDExMTM1MiwgMTExMzU3LCAxMTEzNjQsIDExMTM3MSwgCisgICAgMTExMzc2LCAxMTEzODEsIDExMTM4NiwgMTExMzkxLCAxMTEzOTYsIDExMTQwMSwgMTExNDA2LCAxMTE0MTEsIDExMTQxNiwgCisgICAgMTExNDIzLCAxMTE0MzAsIDExMTQzNywgMTExNDQ0LCAxMTE0NTEsIDExMTQ2MCwgMTExNDY1LCAxMTE0NzAsIDExMTQ3NywgCisgICAgMTExNDg0LCAxMTE0ODksIDExMTQ5NiwgMTExNTAzLCAxMTE1MTAsIDExMTUxNywgMTExNTI0LCAxMTE1MzEsIDExMTUzNiwgCisgICAgMTExNTQxLCAxMTE1NDYsIDExMTU1MSwgMTExNTU2LCAxMTE1NjUsIDExMTU3NCwgMTExNTgzLCAxMTE1OTIsIDExMTYwMSwgCisgICAgMTExNjEwLCAxMTE2MTksIDExMTYyOCwgMTExNjMzLCAxMTE2NDQsIDExMTY1NSwgMTExNjY0LCAxMTE2NjksIDExMTY3NCwgCisgICAgMTExNjc5LCAxMTE2ODQsIDExMTY5MywgMTExNzAwLCAxMTE3MDcsIDExMTcxNCwgMTExNzIxLCAxMTE3MjgsIDExMTczNSwgCisgICAgMTExNzQ0LCAxMTE3NTMsIDExMTc2NCwgMTExNzczLCAxMTE3ODQsIDExMTc5MywgMTExODAwLCAxMTE4MDksIDExMTgyMCwgCisgICAgMTExODI5LCAxMTE4MzgsIDExMTg0NywgMTExODU2LCAxMTE4NjMsIDExMTg3MCwgMTExODc3LCAxMTE4ODYsIDExMTg5NSwgCisgICAgMTExOTA2LCAxMTE5MTUsIDExMTkyNCwgMTExOTM1LCAxMTE5NDAsIDExMTk0NSwgMTExOTU2LCAxMTE5NjQsIDExMTk3MywgCisgICAgMTExOTgyLCAxMTE5OTEsIDExMjAwMiwgMTEyMDExLCAxMTIwMjAsIDExMjAzMSwgMTEyMDQyLCAxMTIwNTMsIDExMjA2NCwgCisgICAgMTEyMDc1LCAxMTIwODYsIDExMjA5MywgMTEyMTAwLCAxMTIxMDcsIDExMjExNCwgMTEyMTI1LCAxMTIxMzQsIDExMjE0MSwgCisgICAgMTEyMTQ4LCAxMTIxNTUsIDExMjE2NiwgMTEyMTc3LCAxMTIxODgsIDExMjE5OSwgMTEyMjEwLCAxMTIyMjEsIDExMjIzMiwgCisgICAgMTEyMjQzLCAxMTIyNTAsIDExMjI1NywgMTEyMjY2LCAxMTIyNzUsIDExMjI4MiwgMTEyMjg5LCAxMTIyOTYsIDExMjMwNSwgCisgICAgMTEyMzE0LCAxMTIzMjMsIDExMjMzMCwgMTEyMzM5LCAxMTIzNDgsIDExMjM1NywgMTEyMzY0LCAxMTIzNzEsIDExMjM3NiwgCisgICAgMTEyMzgyLCAxMTIzODksIDExMjM5NiwgMTEyNDAzLCAxMTI0MTAsIDExMjQxNywgMTEyNDI0LCAxMTI0MzMsIDExMjQ0MiwgCisgICAgMTEyNDUxLCAxMTI0NjAsIDExMjQ2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEyNDc2LCAxMTI0ODIsIAorICAgIDExMjQ4NywgMTEyNDkyLCAxMTI0OTksIDExMjUwNSwgMTEyNTExLCAxMTI1MTcsIDExMjUyMywgMTEyNTI5LCAxMTI1MzUsIAorICAgIDExMjU0MSwgMTEyNTQ1LCAxMTI1NDksIDExMjU1NSwgMTEyNTYxLCAxMTI1NjcsIDExMjU3MSwgMTEyNTc2LCAxMTI1ODEsIAorICAgIDExMjU4NSwgMTEyNTg5LCAxMTI1OTIsIDExMjU5OCwgMTEyNjA0LCAxMTI2MTAsIDExMjYxNiwgMTEyNjIyLCAxMTI2MjgsIAorICAgIDExMjYzNCwgMTEyNjQwLCAxMTI2NDYsIDExMjY1NiwgMTEyNjY2LCAxMTI2NzIsIDExMjY3OCwgMTEyNjg4LCAxMTI2OTgsIAorICAgIDExMjcwNCwgMCwgMCwgMTEyNzEwLCAxMTI3MTgsIDExMjcyMywgMTEyNzI4LCAxMTI3MzQsIDExMjc0MCwgMTEyNzQ2LCAKKyAgICAxMTI3NTIsIDExMjc1OCwgMTEyNzY0LCAxMTI3NzEsIDExMjc3OCwgMTEyNzg0LCAxMTI3OTAsIDExMjc5NiwgMTEyODAyLCAKKyAgICAxMTI4MDgsIDExMjgxNCwgMTEyODIwLCAxMTI4MjYsIDExMjgzMSwgMTEyODM3LCAxMTI4NDMsIDExMjg0OSwgMTEyODU1LCAKKyAgICAxMTI4NjEsIDExMjg3MCwgMTEyODc2LCAxMTI4ODEsIDExMjg4OSwgMTEyODk2LCAxMTI5MDMsIDExMjkxMiwgMTEyOTIxLCAKKyAgICAxMTI5MzAsIDExMjkzOSwgMTEyOTQ4LCAxMTI5NTcsIDExMjk2NiwgMTEyOTc1LCAxMTI5ODUsIDExMjk5NSwgMTEzMDAzLCAKKyAgICAxMTMwMTEsIDExMzAyMCwgMTEzMDI5LCAxMTMwMzUsIDExMzA0MSwgMTEzMDQ3LCAxMTMwNTMsIDExMzA2MSwgMTEzMDY5LCAKKyAgICAxMTMwNzMsIDExMzA3OSwgMTEzMDg0LCAxMTMwOTAsIDExMzA5NiwgMTEzMTAyLCAxMTMxMDgsIDExMzExNCwgMTEzMTIzLCAKKyAgICAxMTMxMjgsIDExMzEzNSwgMTEzMTQwLCAxMTMxNDUsIDExMzE1MCwgMTEzMTU2LCAxMTMxNjIsIDExMzE2OCwgMTEzMTc1LCAKKyAgICAxMTMxODAsIDExMzE4NSwgMTEzMTkwLCAxMTMxOTUsIDExMzIwMCwgMTEzMjA2LCAxMTMyMTIsIDExMzIxOCwgMTEzMjI0LCAKKyAgICAxMTMyMzAsIDExMzIzNiwgMTEzMjQyLCAxMTMyNDgsIDExMzI1MywgMTEzMjU4LCAxMTMyNjMsIDExMzI2OCwgMTEzMjczLCAKKyAgICAxMTMyNzgsIDExMzI4MywgMTEzMjg4LCAxMTMyOTQsIDExMzMwMCwgMTEzMzA1LCAxMTMzMTAsIDExMzMxNSwgMTEzMzIwLCAKKyAgICAxMTMzMjUsIDExMzMzMSwgMTEzMzM4LCAxMTMzNDIsIDExMzM0NiwgMTEzMzUwLCAxMTMzNTQsIDExMzM1OCwgMTEzMzYyLCAKKyAgICAxMTMzNjYsIDExMzM3MCwgMTEzMzc4LCAxMTMzODgsIDExMzM5MiwgMTEzMzk2LCAxMTM0MDIsIDExMzQwOCwgMTEzNDE0LCAKKyAgICAxMTM0MjAsIDExMzQyNiwgMTEzNDMyLCAxMTM0MzgsIDExMzQ0NCwgMTEzNDUwLCAxMTM0NTYsIDExMzQ2MiwgMTEzNDY4LCAKKyAgICAxMTM0NzQsIDExMzQ4MCwgMTEzNDg0LCAxMTM0ODgsIDExMzQ5NSwgMTEzNTAxLCAxMTM1MDcsIDExMzUxMywgMTEzNTE4LCAKKyAgICAxMTM1MjUsIDExMzUzMCwgMTEzNTM2LCAxMTM1NDIsIDExMzU0OCwgMTEzNTU0LCAxMTM1NTksIDExMzU2MywgMTEzNTY5LCAKKyAgICAxMTM1NzMsIDExMzU3NywgMTEzNTgxLCAxMTM1ODcsIDExMzU5MywgMTEzNTk3LCAxMTM2MDMsIDExMzYwOSwgMTEzNjE1LCAKKyAgICAxMTM2MjEsIDExMzYyNywgMTEzNjM1LCAxMTM2NDMsIDExMzY0OSwgMTEzNjU1LCAxMTM2NjEsIDExMzY2NywgMTEzNjc5LCAKKyAgICAxMTM2OTEsIDExMzcwNSwgMTEzNzE3LCAxMTM3MjksIDExMzc0MywgMTEzNzU3LCAxMTM3NzEsIDExMzc3NSwgMTEzNzgzLCAKKyAgICAxMTM3OTEsIDExMzc5NiwgMTEzODAwLCAxMTM4MDQsIDExMzgwOCwgMTEzODEyLCAxMTM4MTYsIDExMzgyMCwgMTEzODI0LCAKKyAgICAxMTM4MzAsIDExMzgzNiwgMTEzODQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTM4NDgsIDExMzg1NCwgCisgICAgMTEzODYwLCAxMTM4NjYsIDExMzg3MiwgMTEzODc4LCAxMTM4ODQsIDExMzg5MCwgMTEzODk2LCAxMTM5MDIsIDExMzkwOCwgCisgICAgMTEzOTE0LCAxMTM5MjAsIDExMzkyNiwgMTEzOTMyLCAxMTM5MzgsIDExMzk0NCwgMTEzOTUwLCAxMTM5NTYsIDExMzk2MiwgCisgICAgMTEzOTY4LCAxMTM5NzQsIDExMzk4MCwgMTEzOTg2LCAxMTM5OTIsIDExMzk5OCwgMTE0MDA0LCAxMTQwMTAsIDExNDAxNiwgCisgICAgMTE0MDIyLCAxMTQwMjgsIDExNDAzNCwgMTE0MDQwLCAxMTQwNDYsIDExNDA1MiwgMTE0MDU4LCAxMTQwNjQsIDExNDA3MCwgCisgICAgMTE0MDc2LCAxMTQwODIsIDExNDA4OCwgMTE0MDk0LCAxMTQxMDAsIDExNDEwNiwgMTE0MTEyLCAxMTQxMTgsIDExNDEyNCwgCisgICAgMTE0MTMwLCAxMTQxMzYsIDExNDE0MiwgMTE0MTQ4LCAxMTQxNTQsIDExNDE2MCwgMTE0MTY2LCAxMTQxNzIsIDExNDE3OCwgCisgICAgMTE0MTg0LCAxMTQxOTAsIDExNDE5NiwgMTE0MjAyLCAxMTQyMDgsIDExNDIxNCwgMTE0MjIwLCAxMTQyMjYsIDExNDIzMiwgCisgICAgMTE0MjM4LCAxMTQyNDQsIDExNDI0OSwgMTE0MjU0LCAxMTQyNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDExNDI1OCwgMTE0MjYzLCAxMTQyNzAsIDExNDI3NywgMTE0Mjg0LCAxMTQyOTEsIDExNDI5NiwgMTE0MzAwLCAxMTQzMDYsIAotICAgIDExNDMxMCwgMTE0MzE0LCAxMTQzMjAsIDExNDMyNCwgMTE0MzI4LCAxMTQzMzIsIDExNDMzOCwgMTE0MzQ1LCAxMTQzNDksIAotICAgIDExNDM1MywgMTE0MzU3LCAxMTQzNjEsIDExNDM2NSwgMTE0MzY5LCAxMTQzNzUsIDExNDM3OSwgMTE0MzgzLCAxMTQzODcsIAotICAgIDExNDM5MSwgMTE0Mzk1LCAxMTQzOTksIDExNDQwMywgMTE0NDA3LCAxMTQ0MTEsIDExNDQxNSwgMTE0NDE5LCAxMTQ0MjMsIAotICAgIDExNDQyOCwgMTE0NDMyLCAxMTQ0MzYsIDExNDQ0MCwgMTE0NDQ0LCAxMTQ0NDgsIDExNDQ1MiwgMTE0NDU2LCAxMTQ0NjAsIAotICAgIDExNDQ2NCwgMTE0NDcxLCAxMTQ0NzUsIDExNDQ4MywgMTE0NDg3LCAxMTQ0OTEsIDExNDQ5NSwgMTE0NDk5LCAxMTQ1MDMsIAotICAgIDExNDUwNywgMTE0NTExLCAxMTQ1MTgsIDExNDUyMiwgMTE0NTI2LCAxMTQ1MzAsIDExNDUzNCwgMTE0NTM4LCAxMTQ1NDQsIAotICAgIDExNDU0OCwgMTE0NTU0LCAxMTQ1NTgsIDExNDU2MiwgMTE0NTY2LCAxMTQ1NzAsIDExNDU3NCwgMTE0NTc4LCAxMTQ1ODIsIAotICAgIDExNDU4NiwgMTE0NTkwLCAxMTQ1OTQsIDExNDU5OCwgMTE0NjAyLCAxMTQ2MDYsIDExNDYxMCwgMTE0NjE0LCAxMTQ2MTgsIAotICAgIDExNDYyMiwgMTE0NjI2LCAxMTQ2MzAsIDExNDYzOCwgMTE0NjQyLCAxMTQ2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDExNDY1MCwgMTE0NjU4LCAxMTQ2NjYsIDExNDY3NCwgMTE0NjgyLCAxMTQ2OTAsIDExNDY5OCwgMTE0NzA2LCAKLSAgICAxMTQ3MTQsIDExNDcyMiwgMTE0NzMwLCAxMTQ3MzgsIDExNDc0NiwgMTE0NzU0LCAxMTQ3NjIsIDExNDc3MCwgMTE0Nzc4LCAKLSAgICAxMTQ3ODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDc5NCwgMTE0Nzk4LCAxMTQ4MDMsIAotICAgIDExNDgwOCwgMTE0ODEzLCAxMTQ4MTcsIDExNDgyMiwgMTE0ODI3LCAxMTQ4MzIsIDExNDgzNiwgMTE0ODQxLCAxMTQ4NDYsIAotICAgIDExNDg1MCwgMTE0ODU0LCAxMTQ4NTksIDExNDg2MywgMTE0ODY4LCAxMTQ4NzMsIDExNDg3NywgMTE0ODgyLCAxMTQ4ODcsIAotICAgIDExNDg5MSwgMTE0ODk2LCAxMTQ5MDEsIDExNDkwNiwgMTE0OTExLCAxMTQ5MTYsIDExNDkyMCwgMTE0OTI1LCAxMTQ5MzAsIAotICAgIDExNDkzNSwgMTE0OTM5LCAxMTQ5NDQsIDExNDk0OSwgMTE0OTU0LCAxMTQ5NTgsIDExNDk2MywgMTE0OTY4LCAxMTQ5NzIsIAotICAgIDExNDk3NiwgMTE0OTgxLCAxMTQ5ODUsIDExNDk5MCwgMTE0OTk1LCAxMTQ5OTksIDExNTAwNCwgMTE1MDA5LCAxMTUwMTMsIAotICAgIDExNTAxOCwgMTE1MDIzLCAxMTUwMjgsIDExNTAzMywgMTE1MDM4LCAxMTUwNDIsIDExNTA0NywgMTE1MDUyLCAxMTUwNTcsIAotICAgIDExNTA2MSwgMTE1MDY2LCAxMTUwNzEsIDExNTA3NiwgMTE1MDgwLCAxMTUwODUsIDExNTA5MCwgMTE1MDk0LCAxMTUwOTgsIAotICAgIDExNTEwMywgMTE1MTA3LCAxMTUxMTIsIDExNTExNywgMTE1MTIxLCAxMTUxMjYsIDExNTEzMSwgMTE1MTM1LCAxMTUxNDAsIAotICAgIDExNTE0NSwgMTE1MTUwLCAxMTUxNTUsIDExNTE2MCwgMTE1MTY0LCAxMTUxNjksIDExNTE3NCwgMTE1MTc5LCAxMTUxODMsIAotICAgIDExNTE4OCwgMCwgMTE1MTkzLCAxMTUxOTcsIDExNTIwMiwgMTE1MjA3LCAxMTUyMTEsIDExNTIxNSwgMTE1MjIwLCAKLSAgICAxMTUyMjQsIDExNTIyOSwgMTE1MjM0LCAxMTUyMzgsIDExNTI0MywgMTE1MjQ4LCAxMTUyNTIsIDExNTI1NywgMTE1MjYyLCAKLSAgICAxMTUyNjcsIDExNTI3MiwgMTE1Mjc3LCAxMTUyODIsIDExNTI4OCwgMTE1Mjk0LCAxMTUzMDAsIDExNTMwNSwgMTE1MzExLCAKLSAgICAxMTUzMTcsIDExNTMyMywgMTE1MzI4LCAxMTUzMzQsIDExNTM0MCwgMTE1MzQ1LCAxMTUzNTAsIDExNTM1NiwgMTE1MzYxLCAKLSAgICAxMTUzNjcsIDExNTM3MywgMTE1Mzc4LCAxMTUzODQsIDExNTM5MCwgMTE1Mzk1LCAxMTU0MDEsIDExNTQwNywgMTE1NDEzLCAKLSAgICAxMTU0MTksIDExNTQyNSwgMTE1NDMwLCAxMTU0MzYsIDExNTQ0MiwgMTE1NDQ4LCAxMTU0NTMsIDExNTQ1OSwgMTE1NDY1LCAKLSAgICAxMTU0NzEsIDExNTQ3NiwgMTE1NDgyLCAxMTU0ODgsIDExNTQ5MywgMTE1NDk4LCAxMTU1MDQsIDExNTUwOSwgMTE1NTE1LCAKLSAgICAxMTU1MjEsIDExNTUyNiwgMTE1NTMyLCAxMTU1MzgsIDExNTU0MywgMTE1NTQ5LCAxMTU1NTUsIDExNTU2MSwgMTE1NTY3LCAKLSAgICAxMTU1NzMsIDAsIDExNTU3NywgMTE1NTgyLCAwLCAwLCAxMTU1ODcsIDAsIDAsIDExNTU5MiwgMTE1NTk3LCAwLCAwLCAKLSAgICAxMTU2MDIsIDExNTYwNywgMTE1NjExLCAxMTU2MTYsIDAsIDExNTYyMSwgMTE1NjI2LCAxMTU2MzEsIDExNTYzNSwgCi0gICAgMTE1NjQwLCAxMTU2NDUsIDExNTY1MCwgMTE1NjU1LCAxMTU2NjAsIDExNTY2NCwgMTE1NjY5LCAxMTU2NzQsIDAsIAotICAgIDExNTY3OSwgMCwgMTE1Njg0LCAxMTU2ODksIDExNTY5MywgMTE1Njk4LCAxMTU3MDMsIDExNTcwNywgMTE1NzExLCAwLCAKLSAgICAxMTU3MTYsIDExNTcyMSwgMTE1NzI2LCAxMTU3MzAsIDExNTczNSwgMTE1NzQwLCAxMTU3NDQsIDExNTc0OSwgMTE1NzU0LCAKLSAgICAxMTU3NTksIDExNTc2NCwgMTE1NzY5LCAxMTU3NzQsIDExNTc4MCwgMTE1Nzg2LCAxMTU3OTIsIDExNTc5NywgMTE1ODAzLCAKLSAgICAxMTU4MDksIDExNTgxNSwgMTE1ODIwLCAxMTU4MjYsIDExNTgzMiwgMTE1ODM3LCAxMTU4NDIsIDExNTg0OCwgMTE1ODUzLCAKLSAgICAxMTU4NTksIDExNTg2NSwgMTE1ODcwLCAxMTU4NzYsIDExNTg4MiwgMTE1ODg3LCAxMTU4OTMsIDExNTg5OSwgMTE1OTA1LCAKLSAgICAxMTU5MTEsIDExNTkxNywgMTE1OTIyLCAxMTU5MjgsIDExNTkzNCwgMTE1OTQwLCAxMTU5NDUsIDExNTk1MSwgMTE1OTU3LCAKLSAgICAxMTU5NjMsIDExNTk2OCwgMTE1OTc0LCAxMTU5ODAsIDExNTk4NSwgMTE1OTkwLCAxMTU5OTYsIDExNjAwMSwgMTE2MDA3LCAKLSAgICAxMTYwMTMsIDExNjAxOCwgMTE2MDI0LCAxMTYwMzAsIDExNjAzNSwgMTE2MDQxLCAxMTYwNDcsIDExNjA1MywgMTE2MDU5LCAKLSAgICAxMTYwNjUsIDExNjA2OSwgMCwgMTE2MDc0LCAxMTYwNzksIDExNjA4MywgMTE2MDg4LCAwLCAwLCAxMTYwOTMsIDExNjA5OCwgCi0gICAgMTE2MTAzLCAxMTYxMDcsIDExNjExMSwgMTE2MTE2LCAxMTYxMjAsIDExNjEyNSwgMCwgMTE2MTMwLCAxMTYxMzUsIAotICAgIDExNjE0MCwgMTE2MTQ0LCAxMTYxNDksIDExNjE1NCwgMTE2MTU5LCAwLCAxMTYxNjQsIDExNjE2OCwgMTE2MTczLCAKLSAgICAxMTYxNzgsIDExNjE4MywgMTE2MTg3LCAxMTYxOTIsIDExNjE5NywgMTE2MjAyLCAxMTYyMDYsIDExNjIxMSwgMTE2MjE2LCAKLSAgICAxMTYyMjAsIDExNjIyNCwgMTE2MjI5LCAxMTYyMzMsIDExNjIzOCwgMTE2MjQzLCAxMTYyNDcsIDExNjI1MiwgMTE2MjU3LCAKLSAgICAxMTYyNjEsIDExNjI2NiwgMTE2MjcxLCAxMTYyNzYsIDExNjI4MSwgMTE2Mjg2LCAxMTYyOTAsIDAsIDExNjI5NSwgCi0gICAgMTE2MzAwLCAxMTYzMDQsIDExNjMwOSwgMCwgMTE2MzE0LCAxMTYzMTgsIDExNjMyMywgMTE2MzI4LCAxMTYzMzIsIDAsIAotICAgIDExNjMzNiwgMCwgMCwgMCwgMTE2MzQwLCAxMTYzNDUsIDExNjM1MCwgMTE2MzU0LCAxMTYzNTksIDExNjM2NCwgMTE2MzY5LCAKLSAgICAwLCAxMTYzNzQsIDExNjM3OCwgMTE2MzgzLCAxMTYzODgsIDExNjM5MywgMTE2Mzk3LCAxMTY0MDIsIDExNjQwNywgCi0gICAgMTE2NDEyLCAxMTY0MTYsIDExNjQyMSwgMTE2NDI2LCAxMTY0MzAsIDExNjQzNCwgMTE2NDM5LCAxMTY0NDMsIDExNjQ0OCwgCi0gICAgMTE2NDUzLCAxMTY0NTcsIDExNjQ2MiwgMTE2NDY3LCAxMTY0NzEsIDExNjQ3NiwgMTE2NDgxLCAxMTY0ODYsIDExNjQ5MSwgCi0gICAgMTE2NDk2LCAxMTY1MDEsIDExNjUwNywgMTE2NTEzLCAxMTY1MTksIDExNjUyNCwgMTE2NTMwLCAxMTY1MzYsIDExNjU0MiwgCi0gICAgMTE2NTQ3LCAxMTY1NTMsIDExNjU1OSwgMTE2NTY0LCAxMTY1NjksIDExNjU3NSwgMTE2NTgwLCAxMTY1ODYsIDExNjU5MiwgCi0gICAgMTE2NTk3LCAxMTY2MDMsIDExNjYwOSwgMTE2NjE0LCAxMTY2MjAsIDExNjYyNiwgMTE2NjMyLCAxMTY2MzgsIDExNjY0NCwgCi0gICAgMTE2NjQ5LCAxMTY2NTUsIDExNjY2MSwgMTE2NjY3LCAxMTY2NzIsIDExNjY3OCwgMTE2Njg0LCAxMTY2OTAsIDExNjY5NSwgCi0gICAgMTE2NzAxLCAxMTY3MDcsIDExNjcxMiwgMTE2NzE3LCAxMTY3MjMsIDExNjcyOCwgMTE2NzM0LCAxMTY3NDAsIDExNjc0NSwgCi0gICAgMTE2NzUxLCAxMTY3NTcsIDExNjc2MiwgMTE2NzY4LCAxMTY3NzQsIDExNjc4MCwgMTE2Nzg2LCAxMTY3OTIsIDExNjc5NiwgCi0gICAgMTE2ODAxLCAxMTY4MDYsIDExNjgxMSwgMTE2ODE1LCAxMTY4MjAsIDExNjgyNSwgMTE2ODMwLCAxMTY4MzQsIDExNjgzOSwgCi0gICAgMTE2ODQ0LCAxMTY4NDgsIDExNjg1MiwgMTE2ODU3LCAxMTY4NjEsIDExNjg2NiwgMTE2ODcxLCAxMTY4NzUsIDExNjg4MCwgCi0gICAgMTE2ODg1LCAxMTY4ODksIDExNjg5NCwgMTE2ODk5LCAxMTY5MDQsIDExNjkwOSwgMTE2OTE0LCAxMTY5MTgsIDExNjkyMywgCi0gICAgMTE2OTI4LCAxMTY5MzMsIDExNjkzNywgMTE2OTQyLCAxMTY5NDcsIDExNjk1MiwgMTE2OTU2LCAxMTY5NjEsIDExNjk2NiwgCi0gICAgMTE2OTcwLCAxMTY5NzQsIDExNjk3OSwgMTE2OTgzLCAxMTY5ODgsIDExNjk5MywgMTE2OTk3LCAxMTcwMDIsIDExNzAwNywgCi0gICAgMTE3MDExLCAxMTcwMTYsIDExNzAyMSwgMTE3MDI2LCAxMTcwMzEsIDExNzAzNiwgMTE3MDQxLCAxMTcwNDcsIDExNzA1MywgCi0gICAgMTE3MDU5LCAxMTcwNjQsIDExNzA3MCwgMTE3MDc2LCAxMTcwODIsIDExNzA4NywgMTE3MDkzLCAxMTcwOTksIDExNzEwNCwgCi0gICAgMTE3MTA5LCAxMTcxMTUsIDExNzEyMCwgMTE3MTI2LCAxMTcxMzIsIDExNzEzNywgMTE3MTQzLCAxMTcxNDksIDExNzE1NCwgCi0gICAgMTE3MTYwLCAxMTcxNjYsIDExNzE3MiwgMTE3MTc4LCAxMTcxODQsIDExNzE4OSwgMTE3MTk1LCAxMTcyMDEsIDExNzIwNywgCi0gICAgMTE3MjEyLCAxMTcyMTgsIDExNzIyNCwgMTE3MjMwLCAxMTcyMzUsIDExNzI0MSwgMTE3MjQ3LCAxMTcyNTIsIDExNzI1NywgCi0gICAgMTE3MjYzLCAxMTcyNjgsIDExNzI3NCwgMTE3MjgwLCAxMTcyODUsIDExNzI5MSwgMTE3Mjk3LCAxMTczMDIsIDExNzMwOCwgCi0gICAgMTE3MzE0LCAxMTczMjAsIDExNzMyNiwgMTE3MzMyLCAxMTczMzcsIDExNzM0MywgMTE3MzQ5LCAxMTczNTUsIDExNzM2MCwgCi0gICAgMTE3MzY2LCAxMTczNzIsIDExNzM3OCwgMTE3MzgzLCAxMTczODksIDExNzM5NSwgMTE3NDAwLCAxMTc0MDUsIDExNzQxMSwgCi0gICAgMTE3NDE2LCAxMTc0MjIsIDExNzQyOCwgMTE3NDMzLCAxMTc0MzksIDExNzQ0NSwgMTE3NDUwLCAxMTc0NTYsIDExNzQ2MiwgCi0gICAgMTE3NDY4LCAxMTc0NzQsIDExNzQ4MCwgMTE3NDg1LCAxMTc0OTEsIDExNzQ5NywgMTE3NTAzLCAxMTc1MDgsIDExNzUxNCwgCi0gICAgMTE3NTIwLCAxMTc1MjYsIDExNzUzMSwgMTE3NTM3LCAxMTc1NDMsIDExNzU0OCwgMTE3NTUzLCAxMTc1NTksIDExNzU2NCwgCi0gICAgMTE3NTcwLCAxMTc1NzYsIDExNzU4MSwgMTE3NTg3LCAxMTc1OTMsIDExNzU5OCwgMTE3NjA0LCAxMTc2MTAsIDExNzYxNiwgCi0gICAgMTE3NjIyLCAxMTc2MjgsIDExNzYzNCwgMTE3NjQxLCAxMTc2NDgsIDExNzY1NSwgMTE3NjYxLCAxMTc2NjgsIDExNzY3NSwgCi0gICAgMTE3NjgyLCAxMTc2ODgsIDExNzY5NSwgMTE3NzAyLCAxMTc3MDgsIDExNzcxNCwgMTE3NzIxLCAxMTc3MjcsIDExNzczNCwgCi0gICAgMTE3NzQxLCAxMTc3NDcsIDExNzc1NCwgMTE3NzYxLCAxMTc3NjcsIDExNzc3NCwgMTE3NzgxLCAxMTc3ODgsIDExNzc5NSwgCi0gICAgMTE3ODAyLCAxMTc4MDgsIDExNzgxNSwgMTE3ODIyLCAxMTc4MjksIDExNzgzNSwgMTE3ODQyLCAxMTc4NDksIDExNzg1NiwgCi0gICAgMTE3ODYyLCAxMTc4NjksIDExNzg3NiwgMTE3ODgyLCAxMTc4ODgsIDExNzg5NSwgMTE3OTAxLCAxMTc5MDgsIDExNzkxNSwgCi0gICAgMTE3OTIxLCAxMTc5MjgsIDExNzkzNSwgMTE3OTQxLCAxMTc5NDgsIDExNzk1NSwgMTE3OTYyLCAxMTc5NjksIDExNzk3NiwgCi0gICAgMTE3OTgxLCAxMTc5ODcsIDExNzk5MywgMTE3OTk5LCAxMTgwMDQsIDExODAxMCwgMTE4MDE2LCAxMTgwMjIsIDExODAyNywgCi0gICAgMTE4MDMzLCAxMTgwMzksIDExODA0NCwgMTE4MDQ5LCAxMTgwNTUsIDExODA2MCwgMTE4MDY2LCAxMTgwNzIsIDExODA3NywgCi0gICAgMTE4MDgzLCAxMTgwODksIDExODA5NCwgMTE4MTAwLCAxMTgxMDYsIDExODExMiwgMTE4MTE4LCAxMTgxMjQsIDExODEyOSwgCi0gICAgMTE4MTM1LCAxMTgxNDEsIDExODE0NywgMTE4MTUyLCAxMTgxNTgsIDExODE2NCwgMTE4MTcwLCAxMTgxNzUsIDExODE4MSwgCi0gICAgMTE4MTg3LCAxMTgxOTIsIDExODE5NywgMTE4MjAzLCAxMTgyMDgsIDExODIxNCwgMTE4MjIwLCAxMTgyMjUsIDExODIzMSwgCi0gICAgMTE4MjM3LCAxMTgyNDIsIDExODI0OCwgMTE4MjU0LCAxMTgyNjAsIDExODI2NiwgMTE4MjcyLCAxMTgyNzgsIDAsIDAsIAotICAgIDExODI4NSwgMTE4MjkwLCAxMTgyOTUsIDExODMwMCwgMTE4MzA1LCAxMTgzMTAsIDExODMxNSwgMTE4MzIwLCAxMTgzMjUsIAotICAgIDExODMzMCwgMTE4MzM1LCAxMTgzNDAsIDExODM0NSwgMTE4MzUwLCAxMTgzNTUsIDExODM2MCwgMTE4MzY1LCAxMTgzNzAsIAotICAgIDExODM3NiwgMTE4MzgxLCAxMTgzODYsIDExODM5MSwgMTE4Mzk2LCAxMTg0MDEsIDExODQwNiwgMTE4NDExLCAxMTg0MTUsIAotICAgIDExODQyMCwgMTE4NDI1LCAxMTg0MzAsIDExODQzNSwgMTE4NDQwLCAxMTg0NDUsIDExODQ1MCwgMTE4NDU1LCAxMTg0NjAsIAotICAgIDExODQ2NSwgMTE4NDcwLCAxMTg0NzUsIDExODQ4MCwgMTE4NDg1LCAxMTg0OTAsIDExODQ5NSwgMTE4NTAwLCAxMTg1MDYsIAotICAgIDExODUxMSwgMTE4NTE2LCAxMTg1MjEsIDExODUyNiwgMTE4NTMxLCAxMTg1MzYsIDExODU0MSwgMTE4NTQ3LCAxMTg1NTIsIAotICAgIDExODU1NywgMTE4NTYyLCAxMTg1NjcsIDExODU3MiwgMTE4NTc3LCAxMTg1ODIsIDExODU4NywgMTE4NTkyLCAxMTg1OTcsIAotICAgIDExODYwMiwgMTE4NjA3LCAxMTg2MTIsIDExODYxNywgMTE4NjIyLCAxMTg2MjcsIDExODYzMiwgMTE4NjM3LCAxMTg2NDIsIAotICAgIDExODY0NywgMTE4NjUyLCAxMTg2NTcsIDExODY2MiwgMTE4NjY4LCAxMTg2NzMsIDExODY3OCwgMTE4NjgzLCAxMTg2ODgsIAotICAgIDExODY5MywgMTE4Njk4LCAxMTg3MDMsIDExODcwNywgMTE4NzEyLCAxMTg3MTcsIDExODcyMiwgMTE4NzI3LCAxMTg3MzIsIAotICAgIDExODczNywgMTE4NzQyLCAxMTg3NDcsIDExODc1MiwgMTE4NzU3LCAxMTg3NjIsIDExODc2NywgMTE4NzcyLCAxMTg3NzcsIAotICAgIDExODc4MiwgMTE4Nzg3LCAxMTg3OTIsIDExODc5OCwgMTE4ODAzLCAxMTg4MDgsIDExODgxMywgMTE4ODE4LCAxMTg4MjMsIAotICAgIDExODgyOCwgMTE4ODMzLCAxMTg4MzksIDExODg0NCwgMTE4ODQ5LCAxMTg4NTQsIDExODg1OSwgMTE4ODY0LCAxMTg4NjksIAotICAgIDExODg3NSwgMTE4ODgxLCAxMTg4ODcsIDExODg5MywgMTE4ODk5LCAxMTg5MDUsIDExODkxMSwgMTE4OTE3LCAxMTg5MjMsIAotICAgIDExODkyOSwgMTE4OTM1LCAxMTg5NDEsIDExODk0NywgMTE4OTUzLCAxMTg5NTksIDExODk2NSwgMTE4OTcxLCAxMTg5NzgsIAotICAgIDExODk4NCwgMTE4OTkwLCAxMTg5OTYsIDExOTAwMiwgMTE5MDA4LCAxMTkwMTQsIDExOTAyMCwgMTE5MDI1LCAxMTkwMzEsIAotICAgIDExOTAzNywgMTE5MDQzLCAxMTkwNDksIDExOTA1NSwgMTE5MDYxLCAxMTkwNjcsIDExOTA3MywgMTE5MDc5LCAxMTkwODUsIAotICAgIDExOTA5MSwgMTE5MDk3LCAxMTkxMDMsIDExOTEwOSwgMTE5MTE1LCAxMTkxMjEsIDExOTEyNywgMTE5MTM0LCAxMTkxNDAsIAotICAgIDExOTE0NiwgMTE5MTUyLCAxMTkxNTgsIDExOTE2NCwgMTE5MTcwLCAxMTkxNzYsIDExOTE4MywgMTE5MTg5LCAxMTkxOTUsIAotICAgIDExOTIwMSwgMTE5MjA3LCAxMTkyMTMsIDExOTIxOSwgMTE5MjI1LCAxMTkyMzEsIDExOTIzNywgMTE5MjQzLCAxMTkyNDksIAotICAgIDExOTI1NSwgMTE5MjYxLCAxMTkyNjcsIDExOTI3MywgMTE5Mjc5LCAxMTkyODUsIDExOTI5MSwgMTE5Mjk3LCAxMTkzMDMsIAotICAgIDExOTMwOSwgMTE5MzE1LCAxMTkzMjEsIDExOTMyOCwgMTE5MzM0LCAxMTkzNDAsIDExOTM0NiwgMTE5MzUyLCAxMTkzNTgsIAotICAgIDExOTM2NCwgMTE5MzcwLCAxMTkzNzUsIDExOTM4MSwgMTE5Mzg3LCAxMTkzOTMsIDExOTM5OSwgMTE5NDA1LCAxMTk0MTEsIAotICAgIDExOTQxNywgMTE5NDIzLCAxMTk0MjksIDExOTQzNSwgMTE5NDQxLCAxMTk0NDcsIDExOTQ1MywgMTE5NDU5LCAxMTk0NjUsIAotICAgIDExOTQ3MSwgMTE5NDc3LCAxMTk0ODQsIDExOTQ5MCwgMTE5NDk2LCAxMTk1MDIsIDExOTUwOCwgMTE5NTE0LCAxMTk1MjAsIAotICAgIDExOTUyNiwgMTE5NTMzLCAxMTk1MzksIDExOTU0NSwgMTE5NTUxLCAxMTk1NTcsIDExOTU2MywgMTE5NTY5LCAxMTk1NzYsIAotICAgIDExOTU4MywgMTE5NTkwLCAxMTk1OTcsIDExOTYwNCwgMTE5NjExLCAxMTk2MTgsIDExOTYyNSwgMTE5NjMyLCAxMTk2MzksIAotICAgIDExOTY0NiwgMTE5NjUzLCAxMTk2NjAsIDExOTY2NywgMTE5Njc0LCAxMTk2ODEsIDExOTY4OCwgMTE5Njk2LCAxMTk3MDMsIAotICAgIDExOTcxMCwgMTE5NzE3LCAxMTk3MjQsIDExOTczMSwgMTE5NzM4LCAxMTk3NDUsIDExOTc1MSwgMTE5NzU4LCAxMTk3NjUsIAotICAgIDExOTc3MiwgMTE5Nzc5LCAxMTk3ODYsIDExOTc5MywgMTE5ODAwLCAxMTk4MDcsIDExOTgxNCwgMTE5ODIxLCAxMTk4MjgsIAotICAgIDExOTgzNSwgMTE5ODQyLCAxMTk4NDksIDExOTg1NiwgMTE5ODYzLCAxMTk4NzAsIDExOTg3OCwgMTE5ODg1LCAxMTk4OTIsIAotICAgIDExOTg5OSwgMTE5OTA2LCAxMTk5MTMsIDExOTkyMCwgMTE5OTI3LCAxMTk5MzUsIDExOTk0MiwgMTE5OTQ5LCAxMTk5NTYsIAotICAgIDExOTk2MywgMTE5OTcwLCAxMTk5NzcsIDExOTk4MiwgMCwgMCwgMTE5OTg3LCAxMTk5OTIsIDExOTk5NiwgMTIwMDAwLCAKLSAgICAxMjAwMDQsIDEyMDAwOCwgMTIwMDEyLCAxMjAwMTYsIDEyMDAyMCwgMTIwMDI0LCAxMjAwMjgsIDEyMDAzMywgMTIwMDM3LCAKLSAgICAxMjAwNDEsIDEyMDA0NSwgMTIwMDQ5LCAxMjAwNTMsIDEyMDA1NywgMTIwMDYxLCAxMjAwNjUsIDEyMDA2OSwgMTIwMDc0LCAKLSAgICAxMjAwNzgsIDEyMDA4MiwgMTIwMDg2LCAxMjAwOTAsIDEyMDA5NCwgMTIwMDk4LCAxMjAxMDIsIDEyMDEwNiwgMTIwMTEwLCAKLSAgICAxMjAxMTYsIDEyMDEyMSwgMTIwMTI2LCAxMjAxMzEsIDEyMDEzNiwgMTIwMTQxLCAxMjAxNDYsIDEyMDE1MSwgMTIwMTU2LCAKLSAgICAxMjAxNjEsIDEyMDE2NywgMTIwMTcyLCAxMjAxNzcsIDEyMDE4MiwgMTIwMTg3LCAxMjAxOTIsIDEyMDE5NywgMTIwMjAyLCAKLSAgICAxMjAyMDcsIDEyMDIxMiwgMTIwMjE2LCAxMjAyMjAsIDEyMDIyNCwgMCwgMTIwMjI4LCAxMjAyMzIsIDEyMDIzNiwgCi0gICAgMTIwMjQwLCAxMjAyNDQsIDEyMDI0OCwgMTIwMjUyLCAxMjAyNTYsIDEyMDI2MCwgMTIwMjY0LCAxMjAyNjgsIDEyMDI3MiwgCi0gICAgMTIwMjc2LCAxMjAyODAsIDEyMDI4NCwgMTIwMjg4LCAxMjAyOTIsIDEyMDI5NiwgMTIwMzAwLCAxMjAzMDQsIDEyMDMwOCwgCi0gICAgMTIwMzEyLCAxMjAzMTYsIDEyMDMyMCwgMTIwMzI2LCAxMjAzMzIsIDEyMDMzOCwgMCwgMTIwMzQ0LCAxMjAzNDksIDAsIAotICAgIDEyMDM1NCwgMCwgMCwgMTIwMzU5LCAwLCAxMjAzNjQsIDEyMDM2OSwgMTIwMzc0LCAxMjAzNzksIDEyMDM4NCwgMTIwMzg5LCAKLSAgICAxMjAzOTQsIDEyMDM5OSwgMTIwNDA0LCAxMjA0MDksIDAsIDEyMDQxNCwgMTIwNDE5LCAxMjA0MjQsIDEyMDQyOSwgMCwgCi0gICAgMTIwNDM0LCAwLCAxMjA0MzksIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDQ0NCwgMCwgMCwgMCwgMCwgMTIwNDUwLCAwLCAKLSAgICAxMjA0NTYsIDAsIDEyMDQ2MiwgMCwgMTIwNDY4LCAxMjA0NzQsIDEyMDQ4MCwgMCwgMTIwNDg2LCAxMjA0OTIsIDAsIAotICAgIDEyMDQ5OCwgMCwgMCwgMTIwNTA0LCAwLCAxMjA1MTAsIDAsIDEyMDUxNiwgMCwgMTIwNTIyLCAwLCAxMjA1MzAsIDAsIAotICAgIDEyMDUzOCwgMTIwNTQ0LCAwLCAxMjA1NTAsIDAsIDAsIDEyMDU1NiwgMTIwNTYyLCAxMjA1NjgsIDEyMDU3NCwgMCwgCi0gICAgMTIwNTgwLCAxMjA1ODYsIDEyMDU5MiwgMTIwNTk4LCAxMjA2MDQsIDEyMDYxMCwgMTIwNjE2LCAwLCAxMjA2MjIsIAotICAgIDEyMDYyOCwgMTIwNjM0LCAxMjA2NDAsIDAsIDEyMDY0NiwgMTIwNjUyLCAxMjA2NTgsIDEyMDY2NCwgMCwgMTIwNjcyLCAwLCAKLSAgICAxMjA2ODAsIDEyMDY4NiwgMTIwNjkyLCAxMjA2OTgsIDEyMDcwNCwgMTIwNzEwLCAxMjA3MTYsIDEyMDcyMiwgMTIwNzI4LCAKLSAgICAxMjA3MzQsIDAsIDEyMDc0MCwgMTIwNzQ2LCAxMjA3NTIsIDEyMDc1OCwgMTIwNzY0LCAxMjA3NzAsIDEyMDc3NiwgCi0gICAgMTIwNzgyLCAxMjA3ODgsIDEyMDc5NCwgMTIwODAwLCAxMjA4MDYsIDEyMDgxMiwgMTIwODE4LCAxMjA4MjQsIDEyMDgzMCwgCi0gICAgMTIwODM2LCAwLCAwLCAwLCAwLCAwLCAxMjA4NDIsIDEyMDg0NywgMTIwODUyLCAwLCAxMjA4NTcsIDEyMDg2MiwgMTIwODY3LCAKLSAgICAxMjA4NzIsIDEyMDg3NywgMCwgMTIwODgyLCAxMjA4ODcsIDEyMDg5MiwgMTIwODk3LCAxMjA5MDIsIDEyMDkwNywgCi0gICAgMTIwOTEyLCAxMjA5MTcsIDEyMDkyMiwgMTIwOTI3LCAxMjA5MzIsIDEyMDkzNywgMTIwOTQyLCAxMjA5NDcsIDEyMDk1MiwgCi0gICAgMTIwOTU3LCAxMjA5NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDExNDI2MywgMTE0MjY4LCAxMTQyNzUsIDExNDI4MiwgMTE0Mjg5LCAxMTQyOTYsIDExNDMwMSwgMTE0MzA1LCAxMTQzMTEsIAorICAgIDExNDMxNSwgMTE0MzE5LCAxMTQzMjUsIDExNDMyOSwgMTE0MzMzLCAxMTQzMzcsIDExNDM0MywgMTE0MzUwLCAxMTQzNTQsIAorICAgIDExNDM1OCwgMTE0MzYyLCAxMTQzNjYsIDExNDM3MCwgMTE0Mzc0LCAxMTQzODAsIDExNDM4NCwgMTE0Mzg4LCAxMTQzOTIsIAorICAgIDExNDM5NiwgMTE0NDAwLCAxMTQ0MDQsIDExNDQwOCwgMTE0NDEyLCAxMTQ0MTYsIDExNDQyMCwgMTE0NDI0LCAxMTQ0MjgsIAorICAgIDExNDQzMywgMTE0NDM3LCAxMTQ0NDEsIDExNDQ0NSwgMTE0NDQ5LCAxMTQ0NTMsIDExNDQ1NywgMTE0NDYxLCAxMTQ0NjUsIAorICAgIDExNDQ2OSwgMTE0NDc2LCAxMTQ0ODAsIDExNDQ4OCwgMTE0NDkyLCAxMTQ0OTYsIDExNDUwMCwgMTE0NTA0LCAxMTQ1MDgsIAorICAgIDExNDUxMiwgMTE0NTE2LCAxMTQ1MjMsIDExNDUyNywgMTE0NTMxLCAxMTQ1MzUsIDExNDUzOSwgMTE0NTQzLCAxMTQ1NDksIAorICAgIDExNDU1MywgMTE0NTU5LCAxMTQ1NjMsIDExNDU2NywgMTE0NTcxLCAxMTQ1NzUsIDExNDU3OSwgMTE0NTgzLCAxMTQ1ODcsIAorICAgIDExNDU5MSwgMTE0NTk1LCAxMTQ1OTksIDExNDYwMywgMTE0NjA3LCAxMTQ2MTEsIDExNDYxNSwgMTE0NjE5LCAxMTQ2MjMsIAorICAgIDExNDYyNywgMTE0NjMxLCAxMTQ2MzUsIDExNDY0MywgMTE0NjQ3LCAxMTQ2NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExNDY1NSwgMTE0NjYzLCAxMTQ2NzEsIDExNDY3OSwgMTE0Njg3LCAxMTQ2OTUsIDExNDcwMywgMTE0NzExLCAKKyAgICAxMTQ3MTksIDExNDcyNywgMTE0NzM1LCAxMTQ3NDMsIDExNDc1MSwgMTE0NzU5LCAxMTQ3NjcsIDExNDc3NSwgMTE0NzgzLCAKKyAgICAxMTQ3OTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDc5OSwgMTE0ODAzLCAxMTQ4MDgsIAorICAgIDExNDgxMywgMTE0ODE4LCAxMTQ4MjIsIDExNDgyNywgMTE0ODMyLCAxMTQ4MzcsIDExNDg0MSwgMTE0ODQ2LCAxMTQ4NTEsIAorICAgIDExNDg1NSwgMTE0ODU5LCAxMTQ4NjQsIDExNDg2OCwgMTE0ODczLCAxMTQ4NzgsIDExNDg4MiwgMTE0ODg3LCAxMTQ4OTIsIAorICAgIDExNDg5NiwgMTE0OTAxLCAxMTQ5MDYsIDExNDkxMSwgMTE0OTE2LCAxMTQ5MjEsIDExNDkyNSwgMTE0OTMwLCAxMTQ5MzUsIAorICAgIDExNDk0MCwgMTE0OTQ0LCAxMTQ5NDksIDExNDk1NCwgMTE0OTU5LCAxMTQ5NjMsIDExNDk2OCwgMTE0OTczLCAxMTQ5NzcsIAorICAgIDExNDk4MSwgMTE0OTg2LCAxMTQ5OTAsIDExNDk5NSwgMTE1MDAwLCAxMTUwMDQsIDExNTAwOSwgMTE1MDE0LCAxMTUwMTgsIAorICAgIDExNTAyMywgMTE1MDI4LCAxMTUwMzMsIDExNTAzOCwgMTE1MDQzLCAxMTUwNDcsIDExNTA1MiwgMTE1MDU3LCAxMTUwNjIsIAorICAgIDExNTA2NiwgMTE1MDcxLCAxMTUwNzYsIDExNTA4MSwgMTE1MDg1LCAxMTUwOTAsIDExNTA5NSwgMTE1MDk5LCAxMTUxMDMsIAorICAgIDExNTEwOCwgMTE1MTEyLCAxMTUxMTcsIDExNTEyMiwgMTE1MTI2LCAxMTUxMzEsIDExNTEzNiwgMTE1MTQwLCAxMTUxNDUsIAorICAgIDExNTE1MCwgMTE1MTU1LCAxMTUxNjAsIDExNTE2NSwgMTE1MTY5LCAxMTUxNzQsIDExNTE3OSwgMTE1MTg0LCAxMTUxODgsIAorICAgIDExNTE5MywgMCwgMTE1MTk4LCAxMTUyMDIsIDExNTIwNywgMTE1MjEyLCAxMTUyMTYsIDExNTIyMCwgMTE1MjI1LCAKKyAgICAxMTUyMjksIDExNTIzNCwgMTE1MjM5LCAxMTUyNDMsIDExNTI0OCwgMTE1MjUzLCAxMTUyNTcsIDExNTI2MiwgMTE1MjY3LCAKKyAgICAxMTUyNzIsIDExNTI3NywgMTE1MjgyLCAxMTUyODcsIDExNTI5MywgMTE1Mjk5LCAxMTUzMDUsIDExNTMxMCwgMTE1MzE2LCAKKyAgICAxMTUzMjIsIDExNTMyOCwgMTE1MzMzLCAxMTUzMzksIDExNTM0NSwgMTE1MzUwLCAxMTUzNTUsIDExNTM2MSwgMTE1MzY2LCAKKyAgICAxMTUzNzIsIDExNTM3OCwgMTE1MzgzLCAxMTUzODksIDExNTM5NSwgMTE1NDAwLCAxMTU0MDYsIDExNTQxMiwgMTE1NDE4LCAKKyAgICAxMTU0MjQsIDExNTQzMCwgMTE1NDM1LCAxMTU0NDEsIDExNTQ0NywgMTE1NDUzLCAxMTU0NTgsIDExNTQ2NCwgMTE1NDcwLCAKKyAgICAxMTU0NzYsIDExNTQ4MSwgMTE1NDg3LCAxMTU0OTMsIDExNTQ5OCwgMTE1NTAzLCAxMTU1MDksIDExNTUxNCwgMTE1NTIwLCAKKyAgICAxMTU1MjYsIDExNTUzMSwgMTE1NTM3LCAxMTU1NDMsIDExNTU0OCwgMTE1NTU0LCAxMTU1NjAsIDExNTU2NiwgMTE1NTcyLCAKKyAgICAxMTU1NzgsIDAsIDExNTU4MiwgMTE1NTg3LCAwLCAwLCAxMTU1OTIsIDAsIDAsIDExNTU5NywgMTE1NjAyLCAwLCAwLCAKKyAgICAxMTU2MDcsIDExNTYxMiwgMTE1NjE2LCAxMTU2MjEsIDAsIDExNTYyNiwgMTE1NjMxLCAxMTU2MzYsIDExNTY0MCwgCisgICAgMTE1NjQ1LCAxMTU2NTAsIDExNTY1NSwgMTE1NjYwLCAxMTU2NjUsIDExNTY2OSwgMTE1Njc0LCAxMTU2NzksIDAsIAorICAgIDExNTY4NCwgMCwgMTE1Njg5LCAxMTU2OTQsIDExNTY5OCwgMTE1NzAzLCAxMTU3MDgsIDExNTcxMiwgMTE1NzE2LCAwLCAKKyAgICAxMTU3MjEsIDExNTcyNiwgMTE1NzMxLCAxMTU3MzUsIDExNTc0MCwgMTE1NzQ1LCAxMTU3NDksIDExNTc1NCwgMTE1NzU5LCAKKyAgICAxMTU3NjQsIDExNTc2OSwgMTE1Nzc0LCAxMTU3NzksIDExNTc4NSwgMTE1NzkxLCAxMTU3OTcsIDExNTgwMiwgMTE1ODA4LCAKKyAgICAxMTU4MTQsIDExNTgyMCwgMTE1ODI1LCAxMTU4MzEsIDExNTgzNywgMTE1ODQyLCAxMTU4NDcsIDExNTg1MywgMTE1ODU4LCAKKyAgICAxMTU4NjQsIDExNTg3MCwgMTE1ODc1LCAxMTU4ODEsIDExNTg4NywgMTE1ODkyLCAxMTU4OTgsIDExNTkwNCwgMTE1OTEwLCAKKyAgICAxMTU5MTYsIDExNTkyMiwgMTE1OTI3LCAxMTU5MzMsIDExNTkzOSwgMTE1OTQ1LCAxMTU5NTAsIDExNTk1NiwgMTE1OTYyLCAKKyAgICAxMTU5NjgsIDExNTk3MywgMTE1OTc5LCAxMTU5ODUsIDExNTk5MCwgMTE1OTk1LCAxMTYwMDEsIDExNjAwNiwgMTE2MDEyLCAKKyAgICAxMTYwMTgsIDExNjAyMywgMTE2MDI5LCAxMTYwMzUsIDExNjA0MCwgMTE2MDQ2LCAxMTYwNTIsIDExNjA1OCwgMTE2MDY0LCAKKyAgICAxMTYwNzAsIDExNjA3NCwgMCwgMTE2MDc5LCAxMTYwODQsIDExNjA4OCwgMTE2MDkzLCAwLCAwLCAxMTYwOTgsIDExNjEwMywgCisgICAgMTE2MTA4LCAxMTYxMTIsIDExNjExNiwgMTE2MTIxLCAxMTYxMjUsIDExNjEzMCwgMCwgMTE2MTM1LCAxMTYxNDAsIAorICAgIDExNjE0NSwgMTE2MTQ5LCAxMTYxNTQsIDExNjE1OSwgMTE2MTY0LCAwLCAxMTYxNjksIDExNjE3MywgMTE2MTc4LCAKKyAgICAxMTYxODMsIDExNjE4OCwgMTE2MTkyLCAxMTYxOTcsIDExNjIwMiwgMTE2MjA3LCAxMTYyMTEsIDExNjIxNiwgMTE2MjIxLCAKKyAgICAxMTYyMjUsIDExNjIyOSwgMTE2MjM0LCAxMTYyMzgsIDExNjI0MywgMTE2MjQ4LCAxMTYyNTIsIDExNjI1NywgMTE2MjYyLCAKKyAgICAxMTYyNjYsIDExNjI3MSwgMTE2Mjc2LCAxMTYyODEsIDExNjI4NiwgMTE2MjkxLCAxMTYyOTUsIDAsIDExNjMwMCwgCisgICAgMTE2MzA1LCAxMTYzMDksIDExNjMxNCwgMCwgMTE2MzE5LCAxMTYzMjMsIDExNjMyOCwgMTE2MzMzLCAxMTYzMzcsIDAsIAorICAgIDExNjM0MSwgMCwgMCwgMCwgMTE2MzQ1LCAxMTYzNTAsIDExNjM1NSwgMTE2MzU5LCAxMTYzNjQsIDExNjM2OSwgMTE2Mzc0LCAKKyAgICAwLCAxMTYzNzksIDExNjM4MywgMTE2Mzg4LCAxMTYzOTMsIDExNjM5OCwgMTE2NDAyLCAxMTY0MDcsIDExNjQxMiwgCisgICAgMTE2NDE3LCAxMTY0MjEsIDExNjQyNiwgMTE2NDMxLCAxMTY0MzUsIDExNjQzOSwgMTE2NDQ0LCAxMTY0NDgsIDExNjQ1MywgCisgICAgMTE2NDU4LCAxMTY0NjIsIDExNjQ2NywgMTE2NDcyLCAxMTY0NzYsIDExNjQ4MSwgMTE2NDg2LCAxMTY0OTEsIDExNjQ5NiwgCisgICAgMTE2NTAxLCAxMTY1MDYsIDExNjUxMiwgMTE2NTE4LCAxMTY1MjQsIDExNjUyOSwgMTE2NTM1LCAxMTY1NDEsIDExNjU0NywgCisgICAgMTE2NTUyLCAxMTY1NTgsIDExNjU2NCwgMTE2NTY5LCAxMTY1NzQsIDExNjU4MCwgMTE2NTg1LCAxMTY1OTEsIDExNjU5NywgCisgICAgMTE2NjAyLCAxMTY2MDgsIDExNjYxNCwgMTE2NjE5LCAxMTY2MjUsIDExNjYzMSwgMTE2NjM3LCAxMTY2NDMsIDExNjY0OSwgCisgICAgMTE2NjU0LCAxMTY2NjAsIDExNjY2NiwgMTE2NjcyLCAxMTY2NzcsIDExNjY4MywgMTE2Njg5LCAxMTY2OTUsIDExNjcwMCwgCisgICAgMTE2NzA2LCAxMTY3MTIsIDExNjcxNywgMTE2NzIyLCAxMTY3MjgsIDExNjczMywgMTE2NzM5LCAxMTY3NDUsIDExNjc1MCwgCisgICAgMTE2NzU2LCAxMTY3NjIsIDExNjc2NywgMTE2NzczLCAxMTY3NzksIDExNjc4NSwgMTE2NzkxLCAxMTY3OTcsIDExNjgwMSwgCisgICAgMTE2ODA2LCAxMTY4MTEsIDExNjgxNiwgMTE2ODIwLCAxMTY4MjUsIDExNjgzMCwgMTE2ODM1LCAxMTY4MzksIDExNjg0NCwgCisgICAgMTE2ODQ5LCAxMTY4NTMsIDExNjg1NywgMTE2ODYyLCAxMTY4NjYsIDExNjg3MSwgMTE2ODc2LCAxMTY4ODAsIDExNjg4NSwgCisgICAgMTE2ODkwLCAxMTY4OTQsIDExNjg5OSwgMTE2OTA0LCAxMTY5MDksIDExNjkxNCwgMTE2OTE5LCAxMTY5MjMsIDExNjkyOCwgCisgICAgMTE2OTMzLCAxMTY5MzgsIDExNjk0MiwgMTE2OTQ3LCAxMTY5NTIsIDExNjk1NywgMTE2OTYxLCAxMTY5NjYsIDExNjk3MSwgCisgICAgMTE2OTc1LCAxMTY5NzksIDExNjk4NCwgMTE2OTg4LCAxMTY5OTMsIDExNjk5OCwgMTE3MDAyLCAxMTcwMDcsIDExNzAxMiwgCisgICAgMTE3MDE2LCAxMTcwMjEsIDExNzAyNiwgMTE3MDMxLCAxMTcwMzYsIDExNzA0MSwgMTE3MDQ2LCAxMTcwNTIsIDExNzA1OCwgCisgICAgMTE3MDY0LCAxMTcwNjksIDExNzA3NSwgMTE3MDgxLCAxMTcwODcsIDExNzA5MiwgMTE3MDk4LCAxMTcxMDQsIDExNzEwOSwgCisgICAgMTE3MTE0LCAxMTcxMjAsIDExNzEyNSwgMTE3MTMxLCAxMTcxMzcsIDExNzE0MiwgMTE3MTQ4LCAxMTcxNTQsIDExNzE1OSwgCisgICAgMTE3MTY1LCAxMTcxNzEsIDExNzE3NywgMTE3MTgzLCAxMTcxODksIDExNzE5NCwgMTE3MjAwLCAxMTcyMDYsIDExNzIxMiwgCisgICAgMTE3MjE3LCAxMTcyMjMsIDExNzIyOSwgMTE3MjM1LCAxMTcyNDAsIDExNzI0NiwgMTE3MjUyLCAxMTcyNTcsIDExNzI2MiwgCisgICAgMTE3MjY4LCAxMTcyNzMsIDExNzI3OSwgMTE3Mjg1LCAxMTcyOTAsIDExNzI5NiwgMTE3MzAyLCAxMTczMDcsIDExNzMxMywgCisgICAgMTE3MzE5LCAxMTczMjUsIDExNzMzMSwgMTE3MzM3LCAxMTczNDIsIDExNzM0OCwgMTE3MzU0LCAxMTczNjAsIDExNzM2NSwgCisgICAgMTE3MzcxLCAxMTczNzcsIDExNzM4MywgMTE3Mzg4LCAxMTczOTQsIDExNzQwMCwgMTE3NDA1LCAxMTc0MTAsIDExNzQxNiwgCisgICAgMTE3NDIxLCAxMTc0MjcsIDExNzQzMywgMTE3NDM4LCAxMTc0NDQsIDExNzQ1MCwgMTE3NDU1LCAxMTc0NjEsIDExNzQ2NywgCisgICAgMTE3NDczLCAxMTc0NzksIDExNzQ4NSwgMTE3NDkwLCAxMTc0OTYsIDExNzUwMiwgMTE3NTA4LCAxMTc1MTMsIDExNzUxOSwgCisgICAgMTE3NTI1LCAxMTc1MzEsIDExNzUzNiwgMTE3NTQyLCAxMTc1NDgsIDExNzU1MywgMTE3NTU4LCAxMTc1NjQsIDExNzU2OSwgCisgICAgMTE3NTc1LCAxMTc1ODEsIDExNzU4NiwgMTE3NTkyLCAxMTc1OTgsIDExNzYwMywgMTE3NjA5LCAxMTc2MTUsIDExNzYyMSwgCisgICAgMTE3NjI3LCAxMTc2MzMsIDExNzYzOSwgMTE3NjQ2LCAxMTc2NTMsIDExNzY2MCwgMTE3NjY2LCAxMTc2NzMsIDExNzY4MCwgCisgICAgMTE3Njg3LCAxMTc2OTMsIDExNzcwMCwgMTE3NzA3LCAxMTc3MTMsIDExNzcxOSwgMTE3NzI2LCAxMTc3MzIsIDExNzczOSwgCisgICAgMTE3NzQ2LCAxMTc3NTIsIDExNzc1OSwgMTE3NzY2LCAxMTc3NzIsIDExNzc3OSwgMTE3Nzg2LCAxMTc3OTMsIDExNzgwMCwgCisgICAgMTE3ODA3LCAxMTc4MTMsIDExNzgyMCwgMTE3ODI3LCAxMTc4MzQsIDExNzg0MCwgMTE3ODQ3LCAxMTc4NTQsIDExNzg2MSwgCisgICAgMTE3ODY3LCAxMTc4NzQsIDExNzg4MSwgMTE3ODg3LCAxMTc4OTMsIDExNzkwMCwgMTE3OTA2LCAxMTc5MTMsIDExNzkyMCwgCisgICAgMTE3OTI2LCAxMTc5MzMsIDExNzk0MCwgMTE3OTQ2LCAxMTc5NTMsIDExNzk2MCwgMTE3OTY3LCAxMTc5NzQsIDExNzk4MSwgCisgICAgMTE3OTg2LCAxMTc5OTIsIDExNzk5OCwgMTE4MDA0LCAxMTgwMDksIDExODAxNSwgMTE4MDIxLCAxMTgwMjcsIDExODAzMiwgCisgICAgMTE4MDM4LCAxMTgwNDQsIDExODA0OSwgMTE4MDU0LCAxMTgwNjAsIDExODA2NSwgMTE4MDcxLCAxMTgwNzcsIDExODA4MiwgCisgICAgMTE4MDg4LCAxMTgwOTQsIDExODA5OSwgMTE4MTA1LCAxMTgxMTEsIDExODExNywgMTE4MTIzLCAxMTgxMjksIDExODEzNCwgCisgICAgMTE4MTQwLCAxMTgxNDYsIDExODE1MiwgMTE4MTU3LCAxMTgxNjMsIDExODE2OSwgMTE4MTc1LCAxMTgxODAsIDExODE4NiwgCisgICAgMTE4MTkyLCAxMTgxOTcsIDExODIwMiwgMTE4MjA4LCAxMTgyMTMsIDExODIxOSwgMTE4MjI1LCAxMTgyMzAsIDExODIzNiwgCisgICAgMTE4MjQyLCAxMTgyNDcsIDExODI1MywgMTE4MjU5LCAxMTgyNjUsIDExODI3MSwgMTE4Mjc3LCAxMTgyODMsIDAsIDAsIAorICAgIDExODI5MCwgMTE4Mjk1LCAxMTgzMDAsIDExODMwNSwgMTE4MzEwLCAxMTgzMTUsIDExODMyMCwgMTE4MzI1LCAxMTgzMzAsIAorICAgIDExODMzNSwgMTE4MzQwLCAxMTgzNDUsIDExODM1MCwgMTE4MzU1LCAxMTgzNjAsIDExODM2NSwgMTE4MzcwLCAxMTgzNzUsIAorICAgIDExODM4MSwgMTE4Mzg2LCAxMTgzOTEsIDExODM5NiwgMTE4NDAxLCAxMTg0MDYsIDExODQxMSwgMTE4NDE2LCAxMTg0MjAsIAorICAgIDExODQyNSwgMTE4NDMwLCAxMTg0MzUsIDExODQ0MCwgMTE4NDQ1LCAxMTg0NTAsIDExODQ1NSwgMTE4NDYwLCAxMTg0NjUsIAorICAgIDExODQ3MCwgMTE4NDc1LCAxMTg0ODAsIDExODQ4NSwgMTE4NDkwLCAxMTg0OTUsIDExODUwMCwgMTE4NTA1LCAxMTg1MTEsIAorICAgIDExODUxNiwgMTE4NTIxLCAxMTg1MjYsIDExODUzMSwgMTE4NTM2LCAxMTg1NDEsIDExODU0NiwgMTE4NTUyLCAxMTg1NTcsIAorICAgIDExODU2MiwgMTE4NTY3LCAxMTg1NzIsIDExODU3NywgMTE4NTgyLCAxMTg1ODcsIDExODU5MiwgMTE4NTk3LCAxMTg2MDIsIAorICAgIDExODYwNywgMTE4NjEyLCAxMTg2MTcsIDExODYyMiwgMTE4NjI3LCAxMTg2MzIsIDExODYzNywgMTE4NjQyLCAxMTg2NDcsIAorICAgIDExODY1MiwgMTE4NjU3LCAxMTg2NjIsIDExODY2NywgMTE4NjczLCAxMTg2NzgsIDExODY4MywgMTE4Njg4LCAxMTg2OTMsIAorICAgIDExODY5OCwgMTE4NzAzLCAxMTg3MDgsIDExODcxMiwgMTE4NzE3LCAxMTg3MjIsIDExODcyNywgMTE4NzMyLCAxMTg3MzcsIAorICAgIDExODc0MiwgMTE4NzQ3LCAxMTg3NTIsIDExODc1NywgMTE4NzYyLCAxMTg3NjcsIDExODc3MiwgMTE4Nzc3LCAxMTg3ODIsIAorICAgIDExODc4NywgMTE4NzkyLCAxMTg3OTcsIDExODgwMywgMTE4ODA4LCAxMTg4MTMsIDExODgxOCwgMTE4ODIzLCAxMTg4MjgsIAorICAgIDExODgzMywgMTE4ODM4LCAxMTg4NDQsIDExODg0OSwgMTE4ODU0LCAxMTg4NTksIDExODg2NCwgMTE4ODY5LCAxMTg4NzQsIAorICAgIDExODg4MCwgMTE4ODg2LCAxMTg4OTIsIDExODg5OCwgMTE4OTA0LCAxMTg5MTAsIDExODkxNiwgMTE4OTIyLCAxMTg5MjgsIAorICAgIDExODkzNCwgMTE4OTQwLCAxMTg5NDYsIDExODk1MiwgMTE4OTU4LCAxMTg5NjQsIDExODk3MCwgMTE4OTc2LCAxMTg5ODMsIAorICAgIDExODk4OSwgMTE4OTk1LCAxMTkwMDEsIDExOTAwNywgMTE5MDEzLCAxMTkwMTksIDExOTAyNSwgMTE5MDMwLCAxMTkwMzYsIAorICAgIDExOTA0MiwgMTE5MDQ4LCAxMTkwNTQsIDExOTA2MCwgMTE5MDY2LCAxMTkwNzIsIDExOTA3OCwgMTE5MDg0LCAxMTkwOTAsIAorICAgIDExOTA5NiwgMTE5MTAyLCAxMTkxMDgsIDExOTExNCwgMTE5MTIwLCAxMTkxMjYsIDExOTEzMiwgMTE5MTM5LCAxMTkxNDUsIAorICAgIDExOTE1MSwgMTE5MTU3LCAxMTkxNjMsIDExOTE2OSwgMTE5MTc1LCAxMTkxODEsIDExOTE4OCwgMTE5MTk0LCAxMTkyMDAsIAorICAgIDExOTIwNiwgMTE5MjEyLCAxMTkyMTgsIDExOTIyNCwgMTE5MjMwLCAxMTkyMzYsIDExOTI0MiwgMTE5MjQ4LCAxMTkyNTQsIAorICAgIDExOTI2MCwgMTE5MjY2LCAxMTkyNzIsIDExOTI3OCwgMTE5Mjg0LCAxMTkyOTAsIDExOTI5NiwgMTE5MzAyLCAxMTkzMDgsIAorICAgIDExOTMxNCwgMTE5MzIwLCAxMTkzMjYsIDExOTMzMywgMTE5MzM5LCAxMTkzNDUsIDExOTM1MSwgMTE5MzU3LCAxMTkzNjMsIAorICAgIDExOTM2OSwgMTE5Mzc1LCAxMTkzODAsIDExOTM4NiwgMTE5MzkyLCAxMTkzOTgsIDExOTQwNCwgMTE5NDEwLCAxMTk0MTYsIAorICAgIDExOTQyMiwgMTE5NDI4LCAxMTk0MzQsIDExOTQ0MCwgMTE5NDQ2LCAxMTk0NTIsIDExOTQ1OCwgMTE5NDY0LCAxMTk0NzAsIAorICAgIDExOTQ3NiwgMTE5NDgyLCAxMTk0ODksIDExOTQ5NSwgMTE5NTAxLCAxMTk1MDcsIDExOTUxMywgMTE5NTE5LCAxMTk1MjUsIAorICAgIDExOTUzMSwgMTE5NTM4LCAxMTk1NDQsIDExOTU1MCwgMTE5NTU2LCAxMTk1NjIsIDExOTU2OCwgMTE5NTc0LCAxMTk1ODEsIAorICAgIDExOTU4OCwgMTE5NTk1LCAxMTk2MDIsIDExOTYwOSwgMTE5NjE2LCAxMTk2MjMsIDExOTYzMCwgMTE5NjM3LCAxMTk2NDQsIAorICAgIDExOTY1MSwgMTE5NjU4LCAxMTk2NjUsIDExOTY3MiwgMTE5Njc5LCAxMTk2ODYsIDExOTY5MywgMTE5NzAxLCAxMTk3MDgsIAorICAgIDExOTcxNSwgMTE5NzIyLCAxMTk3MjksIDExOTczNiwgMTE5NzQzLCAxMTk3NTAsIDExOTc1NiwgMTE5NzYzLCAxMTk3NzAsIAorICAgIDExOTc3NywgMTE5Nzg0LCAxMTk3OTEsIDExOTc5OCwgMTE5ODA1LCAxMTk4MTIsIDExOTgxOSwgMTE5ODI2LCAxMTk4MzMsIAorICAgIDExOTg0MCwgMTE5ODQ3LCAxMTk4NTQsIDExOTg2MSwgMTE5ODY4LCAxMTk4NzUsIDExOTg4MywgMTE5ODkwLCAxMTk4OTcsIAorICAgIDExOTkwNCwgMTE5OTExLCAxMTk5MTgsIDExOTkyNSwgMTE5OTMyLCAxMTk5NDAsIDExOTk0NywgMTE5OTU0LCAxMTk5NjEsIAorICAgIDExOTk2OCwgMTE5OTc1LCAxMTk5ODIsIDExOTk4NywgMCwgMCwgMTE5OTkyLCAxMTk5OTcsIDEyMDAwMSwgMTIwMDA1LCAKKyAgICAxMjAwMDksIDEyMDAxMywgMTIwMDE3LCAxMjAwMjEsIDEyMDAyNSwgMTIwMDI5LCAxMjAwMzMsIDEyMDAzOCwgMTIwMDQyLCAKKyAgICAxMjAwNDYsIDEyMDA1MCwgMTIwMDU0LCAxMjAwNTgsIDEyMDA2MiwgMTIwMDY2LCAxMjAwNzAsIDEyMDA3NCwgMTIwMDc5LCAKKyAgICAxMjAwODMsIDEyMDA4NywgMTIwMDkxLCAxMjAwOTUsIDEyMDA5OSwgMTIwMTAzLCAxMjAxMDcsIDEyMDExMSwgMTIwMTE1LCAKKyAgICAxMjAxMjEsIDEyMDEyNiwgMTIwMTMxLCAxMjAxMzYsIDEyMDE0MSwgMTIwMTQ2LCAxMjAxNTEsIDEyMDE1NiwgMTIwMTYxLCAKKyAgICAxMjAxNjYsIDEyMDE3MiwgMTIwMTc3LCAxMjAxODIsIDEyMDE4NywgMTIwMTkyLCAxMjAxOTcsIDEyMDIwMiwgMTIwMjA3LCAKKyAgICAxMjAyMTIsIDEyMDIxNywgMTIwMjIxLCAxMjAyMjUsIDEyMDIyOSwgMCwgMTIwMjMzLCAxMjAyMzcsIDEyMDI0MSwgCisgICAgMTIwMjQ1LCAxMjAyNDksIDEyMDI1MywgMTIwMjU3LCAxMjAyNjEsIDEyMDI2NSwgMTIwMjY5LCAxMjAyNzMsIDEyMDI3NywgCisgICAgMTIwMjgxLCAxMjAyODUsIDEyMDI4OSwgMTIwMjkzLCAxMjAyOTcsIDEyMDMwMSwgMTIwMzA1LCAxMjAzMDksIDEyMDMxMywgCisgICAgMTIwMzE3LCAxMjAzMjEsIDEyMDMyNSwgMTIwMzMxLCAxMjAzMzcsIDEyMDM0MywgMCwgMTIwMzQ5LCAxMjAzNTQsIDAsIAorICAgIDEyMDM1OSwgMCwgMCwgMTIwMzY0LCAwLCAxMjAzNjksIDEyMDM3NCwgMTIwMzc5LCAxMjAzODQsIDEyMDM4OSwgMTIwMzk0LCAKKyAgICAxMjAzOTksIDEyMDQwNCwgMTIwNDA5LCAxMjA0MTQsIDAsIDEyMDQxOSwgMTIwNDI0LCAxMjA0MjksIDEyMDQzNCwgMCwgCisgICAgMTIwNDM5LCAwLCAxMjA0NDQsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDQ0OSwgMCwgMCwgMCwgMCwgMTIwNDU1LCAwLCAKKyAgICAxMjA0NjEsIDAsIDEyMDQ2NywgMCwgMTIwNDczLCAxMjA0NzksIDEyMDQ4NSwgMCwgMTIwNDkxLCAxMjA0OTcsIDAsIAorICAgIDEyMDUwMywgMCwgMCwgMTIwNTA5LCAwLCAxMjA1MTUsIDAsIDEyMDUyMSwgMCwgMTIwNTI3LCAwLCAxMjA1MzUsIDAsIAorICAgIDEyMDU0MywgMTIwNTQ5LCAwLCAxMjA1NTUsIDAsIDAsIDEyMDU2MSwgMTIwNTY3LCAxMjA1NzMsIDEyMDU3OSwgMCwgCisgICAgMTIwNTg1LCAxMjA1OTEsIDEyMDU5NywgMTIwNjAzLCAxMjA2MDksIDEyMDYxNSwgMTIwNjIxLCAwLCAxMjA2MjcsIAorICAgIDEyMDYzMywgMTIwNjM5LCAxMjA2NDUsIDAsIDEyMDY1MSwgMTIwNjU3LCAxMjA2NjMsIDEyMDY2OSwgMCwgMTIwNjc3LCAwLCAKKyAgICAxMjA2ODUsIDEyMDY5MSwgMTIwNjk3LCAxMjA3MDMsIDEyMDcwOSwgMTIwNzE1LCAxMjA3MjEsIDEyMDcyNywgMTIwNzMzLCAKKyAgICAxMjA3MzksIDAsIDEyMDc0NSwgMTIwNzUxLCAxMjA3NTcsIDEyMDc2MywgMTIwNzY5LCAxMjA3NzUsIDEyMDc4MSwgCisgICAgMTIwNzg3LCAxMjA3OTMsIDEyMDc5OSwgMTIwODA1LCAxMjA4MTEsIDEyMDgxNywgMTIwODIzLCAxMjA4MjksIDEyMDgzNSwgCisgICAgMTIwODQxLCAwLCAwLCAwLCAwLCAwLCAxMjA4NDcsIDEyMDg1MiwgMTIwODU3LCAwLCAxMjA4NjIsIDEyMDg2NywgMTIwODcyLCAKKyAgICAxMjA4NzcsIDEyMDg4MiwgMCwgMTIwODg3LCAxMjA4OTIsIDEyMDg5NywgMTIwOTAyLCAxMjA5MDcsIDEyMDkxMiwgCisgICAgMTIwOTE3LCAxMjA5MjIsIDEyMDkyNywgMTIwOTMyLCAxMjA5MzcsIDEyMDk0MiwgMTIwOTQ3LCAxMjA5NTIsIDEyMDk1NywgCisgICAgMTIwOTYyLCAxMjA5NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDk2NywgMTIwOTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxMjA5ODUsIDEyMDk5MiwgMTIwOTk5LCAxMjEwMDYsIDEyMTAxMywgMTIxMDIwLCAxMjEwMjcsIAotICAgIDEyMTAzMywgMTIxMDQwLCAxMjEwNDcsIDEyMTA1NCwgMTIxMDYyLCAxMjEwNzAsIDEyMTA3OCwgMTIxMDg2LCAxMjEwOTQsIAotICAgIDEyMTEwMiwgMTIxMTA5LCAxMjExMTYsIDEyMTEyMywgMTIxMTMxLCAxMjExMzksIDEyMTE0NywgMTIxMTU1LCAxMjExNjMsIAotICAgIDEyMTE3MSwgMTIxMTc4LCAxMjExODUsIDEyMTE5MiwgMTIxMjAwLCAxMjEyMDgsIDEyMTIxNiwgMTIxMjI0LCAxMjEyMzIsIAotICAgIDEyMTI0MCwgMTIxMjQ1LCAxMjEyNTAsIDEyMTI1NSwgMTIxMjYwLCAxMjEyNjUsIDEyMTI3MCwgMTIxMjc1LCAxMjEyODAsIAotICAgIDEyMTI4NSwgMCwgMCwgMCwgMCwgMTIxMjkwLCAxMjEyOTUsIDEyMTI5OSwgMTIxMzAzLCAxMjEzMDcsIDEyMTMxMSwgCi0gICAgMTIxMzE1LCAxMjEzMTksIDEyMTMyMywgMTIxMzI3LCAxMjEzMzEsIDEyMTMzNSwgMTIxMzM5LCAxMjEzNDMsIDEyMTM0NywgCi0gICAgMTIxMzUxLCAxMjEzNTUsIDEyMTM1OSwgMTIxMzYzLCAxMjEzNjcsIDEyMTM3MSwgMTIxMzc1LCAxMjEzNzksIDEyMTM4MywgCi0gICAgMTIxMzg3LCAxMjEzOTEsIDEyMTM5NSwgMTIxMzk5LCAxMjE0MDMsIDEyMTQwNywgMTIxNDExLCAxMjE0MTUsIDEyMTQxOSwgCi0gICAgMTIxNDIzLCAxMjE0MjcsIDEyMTQzMSwgMTIxNDM1LCAxMjE0MzksIDEyMTQ0MywgMTIxNDQ3LCAxMjE0NTEsIDEyMTQ1NSwgCi0gICAgMTIxNDU5LCAxMjE0NjMsIDEyMTQ2NywgMTIxNDcxLCAxMjE0NzUsIDEyMTQ3OSwgMTIxNDgzLCAxMjE0ODcsIDEyMTQ5MSwgCi0gICAgMTIxNDk2LCAxMjE1MDAsIDEyMTUwNCwgMTIxNTA4LCAxMjE1MTIsIDEyMTUxNiwgMTIxNTIwLCAxMjE1MjQsIDEyMTUyOCwgCi0gICAgMTIxNTMyLCAxMjE1MzYsIDEyMTU0MCwgMTIxNTQ0LCAxMjE1NDgsIDEyMTU1MiwgMTIxNTU2LCAxMjE1NjAsIDEyMTU2NCwgCi0gICAgMTIxNTY4LCAxMjE1NzIsIDEyMTU3NiwgMTIxNTgwLCAxMjE1ODQsIDEyMTU4OCwgMTIxNTkyLCAxMjE1OTYsIDEyMTYwMCwgCi0gICAgMTIxNjA0LCAxMjE2MDgsIDEyMTYxMiwgMTIxNjE2LCAxMjE2MjAsIDEyMTYyNCwgMTIxNjI4LCAxMjE2MzIsIDEyMTYzNiwgCi0gICAgMTIxNjQwLCAxMjE2NDQsIDEyMTY0OCwgMTIxNjUyLCAxMjE2NTYsIDEyMTY2MCwgMTIxNjY0LCAxMjE2NjgsIDEyMTY3MiwgCi0gICAgMTIxNjc2LCAxMjE2ODAsIDEyMTY4NCwgMTIxNjg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjE2OTIsIDEyMTY5OCwgMTIxNzA3LCAxMjE3MTUsIDEyMTcyMywgMTIxNzMyLCAxMjE3NDEsIDEyMTc1MCwgMTIxNzU5LCAKLSAgICAxMjE3NjgsIDEyMTc3NywgMTIxNzg2LCAxMjE3OTUsIDEyMTgwNCwgMTIxODEzLCAwLCAwLCAxMjE4MjIsIDEyMTgzMSwgCi0gICAgMTIxODM5LCAxMjE4NDcsIDEyMTg1NiwgMTIxODY1LCAxMjE4NzQsIDEyMTg4MywgMTIxODkyLCAxMjE5MDEsIDEyMTkxMCwgCi0gICAgMTIxOTE5LCAxMjE5MjgsIDEyMTkzNywgMCwgMCwgMTIxOTQ2LCAxMjE5NTUsIDEyMTk2MywgMTIxOTcxLCAxMjE5ODAsIAotICAgIDEyMTk4OSwgMTIxOTk4LCAxMjIwMDcsIDEyMjAxNiwgMTIyMDI1LCAxMjIwMzQsIDEyMjA0MywgMTIyMDUyLCAxMjIwNjEsIAotICAgIDEyMjA3MCwgMCwgMTIyMDc3LCAxMjIwODYsIDEyMjA5NCwgMTIyMTAyLCAxMjIxMTEsIDEyMjEyMCwgMTIyMTI5LCAKLSAgICAxMjIxMzgsIDEyMjE0NywgMTIyMTU2LCAxMjIxNjUsIDEyMjE3NCwgMTIyMTgzLCAxMjIxOTIsIDEyMjIwMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIwOTcyLCAxMjA5ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEyMDk5MCwgMTIwOTk3LCAxMjEwMDQsIDEyMTAxMSwgMTIxMDE4LCAxMjEwMjUsIDEyMTAzMiwgCisgICAgMTIxMDM4LCAxMjEwNDUsIDEyMTA1MiwgMTIxMDU5LCAxMjEwNjcsIDEyMTA3NSwgMTIxMDgzLCAxMjEwOTEsIDEyMTA5OSwgCisgICAgMTIxMTA3LCAxMjExMTQsIDEyMTEyMSwgMTIxMTI4LCAxMjExMzYsIDEyMTE0NCwgMTIxMTUyLCAxMjExNjAsIDEyMTE2OCwgCisgICAgMTIxMTc2LCAxMjExODMsIDEyMTE5MCwgMTIxMTk3LCAxMjEyMDUsIDEyMTIxMywgMTIxMjIxLCAxMjEyMjksIDEyMTIzNywgCisgICAgMTIxMjQ1LCAxMjEyNTAsIDEyMTI1NSwgMTIxMjYwLCAxMjEyNjUsIDEyMTI3MCwgMTIxMjc1LCAxMjEyODAsIDEyMTI4NSwgCisgICAgMTIxMjkwLCAwLCAwLCAwLCAwLCAxMjEyOTUsIDEyMTMwMCwgMTIxMzA0LCAxMjEzMDgsIDEyMTMxMiwgMTIxMzE2LCAKKyAgICAxMjEzMjAsIDEyMTMyNCwgMTIxMzI4LCAxMjEzMzIsIDEyMTMzNiwgMTIxMzQwLCAxMjEzNDQsIDEyMTM0OCwgMTIxMzUyLCAKKyAgICAxMjEzNTYsIDEyMTM2MCwgMTIxMzY0LCAxMjEzNjgsIDEyMTM3MiwgMTIxMzc2LCAxMjEzODAsIDEyMTM4NCwgMTIxMzg4LCAKKyAgICAxMjEzOTIsIDEyMTM5NiwgMTIxNDAwLCAxMjE0MDQsIDEyMTQwOCwgMTIxNDEyLCAxMjE0MTYsIDEyMTQyMCwgMTIxNDI0LCAKKyAgICAxMjE0MjgsIDEyMTQzMiwgMTIxNDM2LCAxMjE0NDAsIDEyMTQ0NCwgMTIxNDQ4LCAxMjE0NTIsIDEyMTQ1NiwgMTIxNDYwLCAKKyAgICAxMjE0NjQsIDEyMTQ2OCwgMTIxNDcyLCAxMjE0NzYsIDEyMTQ4MCwgMTIxNDg0LCAxMjE0ODgsIDEyMTQ5MiwgMTIxNDk2LCAKKyAgICAxMjE1MDEsIDEyMTUwNSwgMTIxNTA5LCAxMjE1MTMsIDEyMTUxNywgMTIxNTIxLCAxMjE1MjUsIDEyMTUyOSwgMTIxNTMzLCAKKyAgICAxMjE1MzcsIDEyMTU0MSwgMTIxNTQ1LCAxMjE1NDksIDEyMTU1MywgMTIxNTU3LCAxMjE1NjEsIDEyMTU2NSwgMTIxNTY5LCAKKyAgICAxMjE1NzMsIDEyMTU3NywgMTIxNTgxLCAxMjE1ODUsIDEyMTU4OSwgMTIxNTkzLCAxMjE1OTcsIDEyMTYwMSwgMTIxNjA1LCAKKyAgICAxMjE2MDksIDEyMTYxMywgMTIxNjE3LCAxMjE2MjEsIDEyMTYyNSwgMTIxNjI5LCAxMjE2MzMsIDEyMTYzNywgMTIxNjQxLCAKKyAgICAxMjE2NDUsIDEyMTY0OSwgMTIxNjUzLCAxMjE2NTcsIDEyMTY2MSwgMTIxNjY1LCAxMjE2NjksIDEyMTY3MywgMTIxNjc3LCAKKyAgICAxMjE2ODEsIDEyMTY4NSwgMTIxNjg5LCAxMjE2OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyMTY5NywgMTIxNzAzLCAxMjE3MTIsIDEyMTcyMCwgMTIxNzI4LCAxMjE3MzcsIDEyMTc0NiwgMTIxNzU1LCAxMjE3NjQsIAorICAgIDEyMTc3MywgMTIxNzgyLCAxMjE3OTEsIDEyMTgwMCwgMTIxODA5LCAxMjE4MTgsIDAsIDAsIDEyMTgyNywgMTIxODM2LCAKKyAgICAxMjE4NDQsIDEyMTg1MiwgMTIxODYxLCAxMjE4NzAsIDEyMTg3OSwgMTIxODg4LCAxMjE4OTcsIDEyMTkwNiwgMTIxOTE1LCAKKyAgICAxMjE5MjQsIDEyMTkzMywgMTIxOTQyLCAwLCAwLCAxMjE5NTEsIDEyMTk2MCwgMTIxOTY4LCAxMjE5NzYsIDEyMTk4NSwgCisgICAgMTIxOTk0LCAxMjIwMDMsIDEyMjAxMiwgMTIyMDIxLCAxMjIwMzAsIDEyMjAzOSwgMTIyMDQ4LCAxMjIwNTcsIDEyMjA2NiwgCisgICAgMTIyMDc1LCAwLCAxMjIwODIsIDEyMjA5MSwgMTIyMDk5LCAxMjIxMDcsIDEyMjExNiwgMTIyMTI1LCAxMjIxMzQsIAorICAgIDEyMjE0MywgMTIyMTUyLCAxMjIxNjEsIDEyMjE3MCwgMTIyMTc5LCAxMjIxODgsIDEyMjE5NywgMTIyMjA2LCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxMjIyMDgsIDEyMjIxNSwgMTIyMjIwLCAxMjIyMjQsIDEyMjIyOCwgMTIyMjMyLCAxMjIyMzcsIAotICAgIDEyMjI0MiwgMTIyMjQ3LCAxMjIyNTIsIDEyMjI1NywgMCwgMCwgMCwgMCwgMCwgMTIyMjYyLCAxMjIyNjcsIDEyMjI3MywgCi0gICAgMTIyMjc5LCAxMjIyODUsIDEyMjI5MCwgMTIyMjk2LCAxMjIzMDIsIDEyMjMwOCwgMTIyMzEzLCAxMjIzMTksIDEyMjMyNSwgCi0gICAgMTIyMzMwLCAxMjIzMzUsIDEyMjM0MSwgMTIyMzQ2LCAxMjIzNTIsIDEyMjM1OCwgMTIyMzYzLCAxMjIzNjksIDEyMjM3NSwgCi0gICAgMTIyMzgwLCAxMjIzODYsIDEyMjM5MiwgMTIyMzk4LCAxMjI0MDQsIDEyMjQxMCwgMTIyNDIxLCAxMjI0MjgsIDEyMjQzNCwgCi0gICAgMTIyNDM3LCAwLCAxMjI0NDAsIDEyMjQ0NSwgMTIyNDUxLCAxMjI0NTcsIDEyMjQ2MywgMTIyNDY4LCAxMjI0NzQsIAotICAgIDEyMjQ4MCwgMTIyNDg2LCAxMjI0OTEsIDEyMjQ5NywgMTIyNTAzLCAxMjI1MDgsIDEyMjUxMywgMTIyNTE5LCAxMjI1MjQsIAotICAgIDEyMjUzMCwgMTIyNTM2LCAxMjI1NDEsIDEyMjU0NywgMTIyNTUzLCAxMjI1NTgsIDEyMjU2NCwgMTIyNTcwLCAxMjI1NzYsIAotICAgIDEyMjU4MiwgMTIyNTg4LCAxMjI1OTEsIDEyMjU5NCwgMTIyNTk3LCAxMjI2MDAsIDEyMjYwMywgMTIyNjA2LCAxMjI2MTIsIAotICAgIDEyMjYxOSwgMTIyNjI2LCAxMjI2MzMsIDEyMjYzOSwgMTIyNjQ2LCAxMjI2NTMsIDEyMjY2MCwgMTIyNjY2LCAxMjI2NzMsIAotICAgIDEyMjY4MCwgMTIyNjg2LCAxMjI2OTIsIDEyMjY5OSwgMTIyNzA1LCAxMjI3MTIsIDEyMjcxOSwgMTIyNzI1LCAxMjI3MzIsIAotICAgIDEyMjczOSwgMTIyNzQ1LCAxMjI3NTIsIDEyMjc1OSwgMTIyNzY2LCAxMjI3NzMsIDEyMjc4MCwgMTIyNzg1LCAwLCAwLCAwLCAKLSAgICAwLCAxMjI3OTAsIDEyMjc5NiwgMTIyODAzLCAxMjI4MTAsIDEyMjgxNywgMTIyODIzLCAxMjI4MzAsIDEyMjgzNywgCi0gICAgMTIyODQ0LCAxMjI4NTAsIDEyMjg1NywgMTIyODY0LCAxMjI4NzAsIDEyMjg3NiwgMTIyODgzLCAxMjI4ODksIDEyMjg5NiwgCi0gICAgMTIyOTAzLCAxMjI5MDksIDEyMjkxNiwgMTIyOTIzLCAxMjI5MjksIDEyMjkzNiwgMTIyOTQzLCAxMjI5NTAsIDEyMjk1NywgCi0gICAgMTIyOTY0LCAxMjI5NzMsIDEyMjk3NywgMTIyOTgwLCAxMjI5ODMsIDEyMjk4NywgMTIyOTkxLCAxMjI5OTQsIDEyMjk5NywgCi0gICAgMTIzMDAwLCAxMjMwMDMsIDEyMzAwNiwgMTIzMDA5LCAxMjMwMTIsIDEyMzAxNSwgMTIzMDE4LCAxMjMwMjQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEyMjIxMywgMTIyMjIwLCAxMjIyMjUsIDEyMjIyOSwgMTIyMjMzLCAxMjIyMzcsIDEyMjI0MiwgCisgICAgMTIyMjQ3LCAxMjIyNTIsIDEyMjI1NywgMTIyMjYyLCAwLCAwLCAwLCAwLCAwLCAxMjIyNjcsIDEyMjI3MiwgMTIyMjc4LCAKKyAgICAxMjIyODQsIDEyMjI5MCwgMTIyMjk1LCAxMjIzMDEsIDEyMjMwNywgMTIyMzEzLCAxMjIzMTgsIDEyMjMyNCwgMTIyMzMwLCAKKyAgICAxMjIzMzUsIDEyMjM0MCwgMTIyMzQ2LCAxMjIzNTEsIDEyMjM1NywgMTIyMzYzLCAxMjIzNjgsIDEyMjM3NCwgMTIyMzgwLCAKKyAgICAxMjIzODUsIDEyMjM5MSwgMTIyMzk3LCAxMjI0MDMsIDEyMjQwOSwgMTIyNDE1LCAxMjI0MjYsIDEyMjQzMywgMTIyNDM5LCAKKyAgICAxMjI0NDIsIDAsIDEyMjQ0NSwgMTIyNDUwLCAxMjI0NTYsIDEyMjQ2MiwgMTIyNDY4LCAxMjI0NzMsIDEyMjQ3OSwgCisgICAgMTIyNDg1LCAxMjI0OTEsIDEyMjQ5NiwgMTIyNTAyLCAxMjI1MDgsIDEyMjUxMywgMTIyNTE4LCAxMjI1MjQsIDEyMjUyOSwgCisgICAgMTIyNTM1LCAxMjI1NDEsIDEyMjU0NiwgMTIyNTUyLCAxMjI1NTgsIDEyMjU2MywgMTIyNTY5LCAxMjI1NzUsIDEyMjU4MSwgCisgICAgMTIyNTg3LCAxMjI1OTMsIDEyMjU5NiwgMTIyNTk5LCAxMjI2MDIsIDEyMjYwNSwgMTIyNjA4LCAxMjI2MTEsIDEyMjYxNywgCisgICAgMTIyNjI0LCAxMjI2MzEsIDEyMjYzOCwgMTIyNjQ0LCAxMjI2NTEsIDEyMjY1OCwgMTIyNjY1LCAxMjI2NzEsIDEyMjY3OCwgCisgICAgMTIyNjg1LCAxMjI2OTEsIDEyMjY5NywgMTIyNzA0LCAxMjI3MTAsIDEyMjcxNywgMTIyNzI0LCAxMjI3MzAsIDEyMjczNywgCisgICAgMTIyNzQ0LCAxMjI3NTAsIDEyMjc1NywgMTIyNzY0LCAxMjI3NzEsIDEyMjc3OCwgMTIyNzg1LCAxMjI3OTAsIDAsIDAsIDAsIAorICAgIDAsIDEyMjc5NSwgMTIyODAxLCAxMjI4MDgsIDEyMjgxNSwgMTIyODIyLCAxMjI4MjgsIDEyMjgzNSwgMTIyODQyLCAKKyAgICAxMjI4NDksIDEyMjg1NSwgMTIyODYyLCAxMjI4NjksIDEyMjg3NSwgMTIyODgxLCAxMjI4ODgsIDEyMjg5NCwgMTIyOTAxLCAKKyAgICAxMjI5MDgsIDEyMjkxNCwgMTIyOTIxLCAxMjI5MjgsIDEyMjkzNCwgMTIyOTQxLCAxMjI5NDgsIDEyMjk1NSwgMTIyOTYyLCAKKyAgICAxMjI5NjksIDEyMjk3OCwgMTIyOTgyLCAxMjI5ODUsIDEyMjk4OCwgMTIyOTkyLCAxMjI5OTYsIDEyMjk5OSwgMTIzMDAyLCAKKyAgICAxMjMwMDUsIDEyMzAwOCwgMTIzMDExLCAxMjMwMTQsIDEyMzAxNywgMTIzMDIwLCAxMjMwMjMsIDEyMzAyOSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTIzMDI3LCAxMjMwMzQsIDEyMzA0MiwgMTIzMDUwLCAxMjMwNTgsIDEyMzA2NSwgMTIzMDczLCAxMjMwODEsIDEyMzA4OSwgCi0gICAgMTIzMDk2LCAxMjMxMDQsIDEyMzExMiwgMTIzMTE5LCAxMjMxMjYsIDEyMzEzNCwgMTIzMTQxLCAxMjMxNDksIDEyMzE1NywgCi0gICAgMTIzMTY0LCAxMjMxNzIsIDEyMzE4MCwgMTIzMTg3LCAxMjMxOTUsIDEyMzIwMywgMTIzMjExLCAxMjMyMTksIDEyMzIyNywgCi0gICAgMTIzMjMxLCAxMjMyMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzIzOCwgMTIzMjQ0LCAKLSAgICAxMjMyNTAsIDEyMzI1NiwgMTIzMjYwLCAxMjMyNjYsIDEyMzI3MiwgMTIzMjc4LCAxMjMyODQsIDEyMzI5MCwgMTIzMjk2LCAKLSAgICAxMjMzMDIsIDEyMzMwOCwgMTIzMzE0LCAxMjMzMjAsIDEyMzMyNiwgMTIzMzMyLCAxMjMzMzgsIDEyMzM0NCwgMTIzMzUwLCAKLSAgICAxMjMzNTYsIDEyMzM2MiwgMTIzMzY4LCAxMjMzNzQsIDEyMzM4MCwgMTIzMzg2LCAxMjMzOTIsIDEyMzM5OCwgMTIzNDA0LCAKLSAgICAxMjM0MTAsIDEyMzQxNiwgMTIzNDIyLCAxMjM0MjgsIDEyMzQzNCwgMTIzNDQwLCAxMjM0NDYsIDEyMzQ1MiwgMTIzNDU4LCAKLSAgICAxMjM0NjQsIDEyMzQ3MCwgMTIzNDc2LCAxMjM0ODIsIDEyMzQ4OCwgMCwgMCwgMCwgMCwgMCwgMTIzNDk0LCAxMjM1MDUsIAotICAgIDEyMzUxNiwgMTIzNTI3LCAxMjM1MzgsIDEyMzU0OSwgMTIzNTYwLCAxMjM1NzEsIDEyMzU4MiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTIzNTkzLCAxMjM1OTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyMzAzMiwgMTIzMDM5LCAxMjMwNDcsIDEyMzA1NSwgMTIzMDYzLCAxMjMwNzAsIDEyMzA3OCwgMTIzMDg2LCAxMjMwOTQsIAorICAgIDEyMzEwMSwgMTIzMTA5LCAxMjMxMTcsIDEyMzEyNCwgMTIzMTMxLCAxMjMxMzksIDEyMzE0NiwgMTIzMTU0LCAxMjMxNjIsIAorICAgIDEyMzE2OSwgMTIzMTc3LCAxMjMxODUsIDEyMzE5MiwgMTIzMjAwLCAxMjMyMDgsIDEyMzIxNiwgMTIzMjI0LCAxMjMyMzIsIAorICAgIDEyMzIzNiwgMTIzMjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjMyNDMsIDEyMzI0OSwgCisgICAgMTIzMjU1LCAxMjMyNjEsIDEyMzI2NSwgMTIzMjcxLCAxMjMyNzcsIDEyMzI4MywgMTIzMjg5LCAxMjMyOTUsIDEyMzMwMSwgCisgICAgMTIzMzA3LCAxMjMzMTMsIDEyMzMxOSwgMTIzMzI1LCAxMjMzMzEsIDEyMzMzNywgMTIzMzQzLCAxMjMzNDksIDEyMzM1NSwgCisgICAgMTIzMzYxLCAxMjMzNjcsIDEyMzM3MywgMTIzMzc5LCAxMjMzODUsIDEyMzM5MSwgMTIzMzk3LCAxMjM0MDMsIDEyMzQwOSwgCisgICAgMTIzNDE1LCAxMjM0MjEsIDEyMzQyNywgMTIzNDMzLCAxMjM0MzksIDEyMzQ0NSwgMTIzNDUxLCAxMjM0NTcsIDEyMzQ2MywgCisgICAgMTIzNDY5LCAxMjM0NzUsIDEyMzQ4MSwgMTIzNDg3LCAxMjM0OTMsIDAsIDAsIDAsIDAsIDAsIDEyMzQ5OSwgMTIzNTEwLCAKKyAgICAxMjM1MjEsIDEyMzUzMiwgMTIzNTQzLCAxMjM1NTQsIDEyMzU2NSwgMTIzNTc2LCAxMjM1ODcsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEyMzU5OCwgMTIzNjAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxMjM2MDEsIDEyMzYwMywgMTIzNjA1LCAxMjM2MDksIDEyMzYxNCwgMTIzNjE5LCAxMjM2MjEsIAotICAgIDEyMzYyNywgMTIzNjMyLCAxMjM2MzQsIDEyMzY0MCwgMTIzNjQ0LCAxMjM2NDYsIDEyMzY1MCwgMTIzNjU2LCAxMjM2NjIsIAotICAgIDEyMzY2OCwgMTIzNjczLCAxMjM2NzcsIDEyMzY4NCwgMTIzNjkxLCAxMjM2OTgsIDEyMzcwMywgMTIzNzEwLCAxMjM3MTcsIAotICAgIDEyMzcyNCwgMTIzNzI4LCAxMjM3MzQsIDEyMzc0MywgMTIzNzUyLCAxMjM3NTksIDEyMzc2NCwgMTIzNzY4LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjM3NzIsIDEyMzc3NCwgMTIzNzc2LCAxMjM3ODAsIAotICAgIDEyMzc4NCwgMTIzNzg4LCAwLCAxMjM3OTAsIDEyMzc5MiwgMTIzNzk2LCAxMjM3OTgsIDEyMzgwMCwgMTIzODAyLCAKLSAgICAxMjM4MDQsIDEyMzgwOSwgMTIzODE0LCAxMjM4MTYsIDEyMzgyMiwgMTIzODI2LCAxMjM4MzAsIDEyMzgzOCwgMTIzODQwLCAKLSAgICAxMjM4NDIsIDEyMzg0NCwgMTIzODQ2LCAxMjM4NDgsIDEyMzg1MCwgMTIzODUyLCAxMjM4NTQsIDEyMzg1NiwgMTIzODU4LCAKLSAgICAxMjM4NjIsIDEyMzg2NiwgMTIzODY4LCAxMjM4NzAsIDEyMzg3MiwgMTIzODc0LCAxMjM4NzYsIDEyMzg4MSwgMTIzODg3LCAKLSAgICAxMjM4OTEsIDEyMzg5NSwgMTIzODk5LCAxMjM5MDMsIDEyMzkwOCwgMTIzOTEyLCAxMjM5MTQsIDEyMzkxNiwgMTIzOTIwLCAKLSAgICAxMjM5MjYsIDEyMzkyOCwgMTIzOTMwLCAxMjM5MzIsIDEyMzkzNiwgMTIzOTQ1LCAxMjM5NTEsIDEyMzk1NSwgMTIzOTU5LCAKLSAgICAxMjM5NjEsIDEyMzk2MywgMTIzOTY2LCAxMjM5NjgsIDEyMzk3MCwgMTIzOTcyLCAxMjM5NzYsIDEyMzk3OCwgMTIzOTgyLCAKLSAgICAxMjM5ODcsIDEyMzk4OSwgMTIzOTk0LCAxMjQwMDAsIDEyNDAwNywgMTI0MDExLCAxMjQwMTUsIDEyNDAxOSwgMTI0MDIzLCAKLSAgICAxMjQwMjksIDAsIDAsIDAsIDEyNDAzMywgMTI0MDM1LCAxMjQwMzksIDEyNDA0MywgMTI0MDQ1LCAxMjQwNDksIDEyNDA1MywgCi0gICAgMTI0MDU1LCAxMjQwNTksIDEyNDA2MSwgMTI0MDY1LCAxMjQwNjksIDEyNDA3MywgMTI0MDc3LCAxMjQwODEsIDEyNDA4NSwgCi0gICAgMTI0MDg5LCAxMjQwOTMsIDEyNDA5OSwgMTI0MTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjQxMDcsIDEyNDExMSwgMTI0MTE1LCAxMjQxMTksIDEyNDEyNiwgMTI0MTI4LCAxMjQxMzIsIDEyNDEzNCwgMTI0MTM2LCAKLSAgICAxMjQxNDAsIDEyNDE0NCwgMTI0MTQ4LCAxMjQxNTAsIDEyNDE1NCwgMTI0MTU4LCAxMjQxNjIsIDEyNDE2NiwgMTI0MTcwLCAKLSAgICAxMjQxNzIsIDEyNDE3NiwgMTI0MTc4LCAxMjQxODQsIDEyNDE4NywgMTI0MTkyLCAxMjQxOTQsIDEyNDE5NiwgMTI0MTk5LCAKLSAgICAxMjQyMDEsIDEyNDIwMywgMTI0MjA2LCAxMjQyMTMsIDEyNDIyMCwgMTI0MjI3LCAxMjQyMzIsIDEyNDIzNiwgMTI0MjM4LCAKLSAgICAxMjQyNDAsIDAsIDEyNDI0MiwgMTI0MjQ0LCAxMjQyNDgsIDEyNDI1MiwgMTI0MjU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjQyNTgsIDEyNDI2MiwgMTI0MjY3LCAxMjQyNzEsIAotICAgIDEyNDI3NywgMTI0MjgzLCAxMjQyODUsIDEyNDI4NywgMTI0MjkzLCAxMjQyOTUsIDEyNDI5OSwgMTI0MzAzLCAxMjQzMDUsIAotICAgIDEyNDMwOSwgMTI0MzExLCAxMjQzMTUsIDEyNDMxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTI0MzIzLCAxMjQzMjUsIDEyNDMyNywgMTI0MzI5LCAxMjQzMzMsIDEyNDMzNSwgMTI0MzM3LCAxMjQzMzksIAotICAgIDEyNDM0MSwgMTI0MzQzLCAxMjQzNDUsIDEyNDM0NywgMTI0MzQ5LCAxMjQzNTEsIDEyNDM1MywgMTI0MzU1LCAxMjQzNTcsIAotICAgIDEyNDM1OSwgMTI0MzYxLCAxMjQzNjMsIDEyNDM2NSwgMTI0MzY3LCAxMjQzNjksIDEyNDM3MSwgMTI0MzczLCAxMjQzNzUsIAotICAgIDEyNDM3NywgMTI0MzgxLCAxMjQzODMsIDEyNDM4NSwgMTI0Mzg3LCAxMjQzOTEsIDEyNDM5MywgMTI0Mzk3LCAxMjQzOTksIAotICAgIDEyNDQwMSwgMTI0NDA1LCAxMjQ0MDksIDEyNDQxNSwgMTI0NDE3LCAxMjQ0MTksIDEyNDQyMSwgMTI0NDIzLCAxMjQ0MjcsIAotICAgIDEyNDQzMSwgMTI0NDMzLCAxMjQ0MzcsIDEyNDQ0MSwgMTI0NDQ1LCAxMjQ0NDksIDEyNDQ1MywgMTI0NDU3LCAxMjQ0NjEsIAotICAgIDEyNDQ2NSwgMTI0NDY5LCAxMjQ0NzMsIDEyNDQ3NywgMTI0NDgxLCAxMjQ0ODUsIDEyNDQ4OSwgMTI0NDkzLCAxMjQ0OTcsIAotICAgIDEyNDUwMSwgMCwgMTI0NTA1LCAwLCAxMjQ1MDcsIDEyNDUwOSwgMTI0NTExLCAxMjQ1MTMsIDEyNDUxNSwgMTI0NTIzLCAKLSAgICAxMjQ1MzEsIDEyNDUzOSwgMTI0NTQ3LCAxMjQ1NTIsIDEyNDU1NywgMTI0NTYyLCAxMjQ1NjYsIDEyNDU3MCwgMTI0NTc1LCAKLSAgICAxMjQ1NzksIDEyNDU4MSwgMTI0NTg1LCAxMjQ1ODcsIDEyNDU4OSwgMTI0NTkxLCAxMjQ1OTMsIDEyNDU5NSwgMTI0NTk3LCAKLSAgICAxMjQ1OTksIDEyNDYwMywgMTI0NjA1LCAxMjQ2MDcsIDEyNDYwOSwgMTI0NjEzLCAxMjQ2MTcsIDEyNDYyMSwgMTI0NjI1LCAKLSAgICAxMjQ2MjksIDEyNDYzMSwgMTI0NjM3LCAxMjQ2NDMsIDEyNDY0NSwgMTI0NjQ3LCAxMjQ2NDksIDEyNDY1MSwgMTI0NjUzLCAKLSAgICAxMjQ2NjIsIDEyNDY2OSwgMTI0Njc2LCAxMjQ2ODAsIDEyNDY4NywgMTI0NjkyLCAxMjQ2OTksIDEyNDcwOCwgMTI0NzEzLCAKLSAgICAxMjQ3MTcsIDEyNDcyMSwgMTI0NzIzLCAxMjQ3MjcsIDEyNDcyOSwgMTI0NzMzLCAxMjQ3MzcsIDEyNDczOSwgMTI0NzQzLCAKLSAgICAxMjQ3NDcsIDEyNDc1MSwgMTI0NzUzLCAxMjQ3NTUsIDEyNDc2MSwgMTI0NzYzLCAxMjQ3NjUsIDEyNDc2NywgMTI0NzcxLCAKLSAgICAxMjQ3NzUsIDEyNDc3NywgMTI0NzgxLCAxMjQ3ODMsIDEyNDc4NSwgMTI0Nzg4LCAxMjQ3OTIsIDEyNDc5NCwgMTI0Nzk4LCAKLSAgICAxMjQ4MDAsIDEyNDgwMiwgMTI0ODA3LCAxMjQ4MDksIDEyNDgxMywgMTI0ODE3LCAxMjQ4MjAsIDEyNDgyNCwgMTI0ODI4LCAKLSAgICAxMjQ4MzIsIDEyNDgzNiwgMTI0ODQwLCAxMjQ4NDQsIDEyNDg0OCwgMTI0ODUzLCAxMjQ4NTcsIDEyNDg2MSwgMTI0ODcwLCAKLSAgICAxMjQ4NzUsIDEyNDg3OCwgMTI0ODgwLCAxMjQ4ODMsIDEyNDg4NiwgMTI0ODkxLCAxMjQ4OTMsIDEyNDg5NiwgMTI0OTAxLCAKLSAgICAxMjQ5MDUsIDEyNDkwOCwgMTI0OTEyLCAxMjQ5MTYsIDEyNDkxOSwgMTI0OTI0LCAxMjQ5MjgsIDEyNDkzMiwgMTI0OTM2LCAKLSAgICAxMjQ5NDAsIDEyNDk0NiwgMTI0OTUyLCAxMjQ5NTgsIDEyNDk2NCwgMTI0OTY5LCAxMjQ5ODAsIDEyNDk4MiwgMTI0OTg2LCAKLSAgICAxMjQ5ODgsIDEyNDk5MCwgMTI0OTk0LCAxMjQ5OTgsIDEyNTAwMCwgMTI1MDA0LCAxMjUwMDksIDEyNTAxNCwgMTI1MDIwLCAKLSAgICAxMjUwMjIsIDEyNTAyNiwgMTI1MDMwLCAxMjUwMzcsIDEyNTA0NCwgMTI1MDQ4LCAxMjUwNTAsIDEyNTA1MiwgMTI1MDU2LCAKLSAgICAxMjUwNTgsIDEyNTA2MiwgMTI1MDY2LCAxMjUwNzAsIDEyNTA3MiwgMTI1MDc0LCAxMjUwODEsIDEyNTA4NSwgMTI1MDg4LCAKLSAgICAxMjUwOTIsIDEyNTA5NiwgMTI1MTAwLCAxMjUxMDIsIDEyNTEwNiwgMTI1MTA4LCAxMjUxMTAsIDEyNTExNCwgMTI1MTE2LCAKLSAgICAxMjUxMjAsIDEyNTEyNCwgMTI1MTMwLCAxMjUxMzQsIDEyNTEzOCwgMTI1MTQyLCAxMjUxNDQsIDEyNTE0NywgMTI1MTUxLCAKLSAgICAxMjUxNTgsIDEyNTE2NywgMTI1MTc2LCAxMjUxODQsIDEyNTE5MiwgMTI1MTk0LCAxMjUxOTgsIDEyNTIwMCwgMTI1MjA0LCAKLSAgICAxMjUyMTUsIDEyNTIxOSwgMTI1MjI1LCAxMjUyMzEsIDEyNTIzNiwgMCwgMTI1MjM4LCAxMjUyNDIsIDEyNTI0NCwgCi0gICAgMTI1MjQ2LCAwLCAwLCAwLCAxMjUyNDgsIDEyNTI1MywgMTI1MjYzLCAxMjUyNzgsIDEyNTI5MCwgMTI1MzAyLCAxMjUzMDYsIAotICAgIDEyNTMxMCwgMTI1MzE2LCAxMjUzMTgsIDEyNTMyNiwgMTI1MzM0LCAxMjUzMzYsIDEyNTM0MCwgMTI1MzQ2LCAxMjUzNTIsIAotICAgIDEyNTM1OSwgMTI1MzY2LCAxMjUzNjgsIDEyNTM3MCwgMTI1MzczLCAxMjUzNzUsIDEyNTM4MSwgMTI1MzgzLCAxMjUzODYsIAotICAgIDEyNTM5MCwgMTI1Mzk2LCAxMjU0MDIsIDEyNTQxMywgMTI1NDE5LCAxMjU0MjYsIDEyNTQzNCwgMTI1NDM4LCAxMjU0NDYsIAotICAgIDEyNTQ1NCwgMTI1NDYwLCAxMjU0NjYsIDEyNTQ3MywgMTI1NDc1LCAxMjU0NzksIDEyNTQ4MSwgMTI1NDgzLCAxMjU0ODgsIAotICAgIDEyNTQ5MCwgMTI1NDkyLCAxMjU0OTQsIDEyNTQ5NiwgMTI1NTAwLCAxMjU1MTEsIDEyNTUxNywgMTI1NTIxLCAxMjU1MjUsIAotICAgIDEyNTUyOSwgMTI1NTM1LCAxMjU1NDEsIDEyNTU0NywgMTI1NTUzLCAxMjU1NTgsIDEyNTU2MywgMTI1NTY5LCAxMjU1NzUsIAotICAgIDEyNTU4MiwgMCwgMCwgMTI1NTg5LCAxMjU1OTQsIDEyNTYwMiwgMTI1NjA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMjU2MTUsIDEyNTYyMiwgMTI1NjI5LCAxMjU2MzYsIDEyNTY0NCwgMTI1NjUyLCAxMjU2NjAsIDEyNTY2OCwgCi0gICAgMTI1Njc2LCAxMjU2ODQsIDEyNTY5MiwgMTI1NzAwLCAxMjU3MDgsIDEyNTcxNCwgMTI1NzIwLCAxMjU3MjYsIDEyNTczMiwgCi0gICAgMTI1NzM4LCAxMjU3NDQsIDEyNTc1MCwgMTI1NzU2LCAxMjU3NjIsIDEyNTc2OCwgMTI1Nzc0LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMjM2MDYsIDEyMzYwOCwgMTIzNjEwLCAxMjM2MTQsIDEyMzYxOSwgMTIzNjI0LCAxMjM2MjYsIAorICAgIDEyMzYzMiwgMTIzNjM3LCAxMjM2MzksIDEyMzY0NSwgMTIzNjQ5LCAxMjM2NTEsIDEyMzY1NSwgMTIzNjYxLCAxMjM2NjcsIAorICAgIDEyMzY3MywgMTIzNjc4LCAxMjM2ODIsIDEyMzY4OSwgMTIzNjk2LCAxMjM3MDMsIDEyMzcwOCwgMTIzNzE1LCAxMjM3MjIsIAorICAgIDEyMzcyOSwgMTIzNzMzLCAxMjM3MzksIDEyMzc0OCwgMTIzNzU3LCAxMjM3NjQsIDEyMzc2OSwgMTIzNzczLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjM3NzcsIDEyMzc3OSwgMTIzNzgxLCAxMjM3ODUsIAorICAgIDEyMzc4OSwgMTIzNzkzLCAwLCAxMjM3OTUsIDEyMzc5NywgMTIzODAxLCAxMjM4MDMsIDEyMzgwNSwgMTIzODA3LCAKKyAgICAxMjM4MDksIDEyMzgxNCwgMTIzODE5LCAxMjM4MjEsIDEyMzgyNywgMTIzODMxLCAxMjM4MzUsIDEyMzg0MywgMTIzODQ1LCAKKyAgICAxMjM4NDcsIDEyMzg0OSwgMTIzODUxLCAxMjM4NTMsIDEyMzg1NSwgMTIzODU3LCAxMjM4NTksIDEyMzg2MSwgMTIzODYzLCAKKyAgICAxMjM4NjcsIDEyMzg3MSwgMTIzODczLCAxMjM4NzUsIDEyMzg3NywgMTIzODc5LCAxMjM4ODEsIDEyMzg4NiwgMTIzODkyLCAKKyAgICAxMjM4OTYsIDEyMzkwMCwgMTIzOTA0LCAxMjM5MDgsIDEyMzkxMywgMTIzOTE3LCAxMjM5MTksIDEyMzkyMSwgMTIzOTI1LCAKKyAgICAxMjM5MzEsIDEyMzkzMywgMTIzOTM1LCAxMjM5MzcsIDEyMzk0MSwgMTIzOTUwLCAxMjM5NTYsIDEyMzk2MCwgMTIzOTY0LCAKKyAgICAxMjM5NjYsIDEyMzk2OCwgMTIzOTcxLCAxMjM5NzMsIDEyMzk3NSwgMTIzOTc3LCAxMjM5ODEsIDEyMzk4MywgMTIzOTg3LCAKKyAgICAxMjM5OTIsIDEyMzk5NCwgMTIzOTk5LCAxMjQwMDUsIDEyNDAxMiwgMTI0MDE2LCAxMjQwMjAsIDEyNDAyNCwgMTI0MDI4LCAKKyAgICAxMjQwMzQsIDAsIDAsIDAsIDEyNDAzOCwgMTI0MDQwLCAxMjQwNDQsIDEyNDA0OCwgMTI0MDUwLCAxMjQwNTQsIDEyNDA1OCwgCisgICAgMTI0MDYwLCAxMjQwNjQsIDEyNDA2NiwgMTI0MDcwLCAxMjQwNzQsIDEyNDA3OCwgMTI0MDgyLCAxMjQwODYsIDEyNDA5MCwgCisgICAgMTI0MDk0LCAxMjQwOTgsIDEyNDEwNCwgMTI0MTA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMjQxMTIsIDEyNDExNiwgMTI0MTIwLCAxMjQxMjQsIDEyNDEzMSwgMTI0MTMzLCAxMjQxMzcsIDEyNDEzOSwgMTI0MTQxLCAKKyAgICAxMjQxNDUsIDEyNDE0OSwgMTI0MTUzLCAxMjQxNTUsIDEyNDE1OSwgMTI0MTYzLCAxMjQxNjcsIDEyNDE3MSwgMTI0MTc1LCAKKyAgICAxMjQxNzcsIDEyNDE4MSwgMTI0MTgzLCAxMjQxODksIDEyNDE5MiwgMTI0MTk3LCAxMjQxOTksIDEyNDIwMSwgMTI0MjA0LCAKKyAgICAxMjQyMDYsIDEyNDIwOCwgMTI0MjExLCAxMjQyMTgsIDEyNDIyNSwgMTI0MjMyLCAxMjQyMzcsIDEyNDI0MSwgMTI0MjQzLCAKKyAgICAxMjQyNDUsIDAsIDEyNDI0NywgMTI0MjQ5LCAxMjQyNTMsIDEyNDI1NywgMTI0MjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjQyNjMsIDEyNDI2NywgMTI0MjcyLCAxMjQyNzYsIAorICAgIDEyNDI4MiwgMTI0Mjg4LCAxMjQyOTAsIDEyNDI5MiwgMTI0Mjk4LCAxMjQzMDAsIDEyNDMwNCwgMTI0MzA4LCAxMjQzMTAsIAorICAgIDEyNDMxNCwgMTI0MzE2LCAxMjQzMjAsIDEyNDMyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTI0MzI4LCAxMjQzMzAsIDEyNDMzMiwgMTI0MzM0LCAxMjQzMzgsIDEyNDM0MCwgMTI0MzQyLCAxMjQzNDQsIAorICAgIDEyNDM0NiwgMTI0MzQ4LCAxMjQzNTAsIDEyNDM1MiwgMTI0MzU0LCAxMjQzNTYsIDEyNDM1OCwgMTI0MzYwLCAxMjQzNjIsIAorICAgIDEyNDM2NCwgMTI0MzY2LCAxMjQzNjgsIDEyNDM3MCwgMTI0MzcyLCAxMjQzNzQsIDEyNDM3NiwgMTI0Mzc4LCAxMjQzODAsIAorICAgIDEyNDM4MiwgMTI0Mzg2LCAxMjQzODgsIDEyNDM5MCwgMTI0MzkyLCAxMjQzOTYsIDEyNDM5OCwgMTI0NDAyLCAxMjQ0MDQsIAorICAgIDEyNDQwNiwgMTI0NDEwLCAxMjQ0MTQsIDEyNDQyMCwgMTI0NDIyLCAxMjQ0MjQsIDEyNDQyNiwgMTI0NDI4LCAxMjQ0MzIsIAorICAgIDEyNDQzNiwgMTI0NDM4LCAxMjQ0NDIsIDEyNDQ0NiwgMTI0NDUwLCAxMjQ0NTQsIDEyNDQ1OCwgMTI0NDYyLCAxMjQ0NjYsIAorICAgIDEyNDQ3MCwgMTI0NDc0LCAxMjQ0NzgsIDEyNDQ4MiwgMTI0NDg2LCAxMjQ0OTAsIDEyNDQ5NCwgMTI0NDk4LCAxMjQ1MDIsIAorICAgIDEyNDUwNiwgMCwgMTI0NTEwLCAwLCAxMjQ1MTIsIDEyNDUxNCwgMTI0NTE2LCAxMjQ1MTgsIDEyNDUyMCwgMTI0NTI4LCAKKyAgICAxMjQ1MzYsIDEyNDU0NCwgMTI0NTUyLCAxMjQ1NTcsIDEyNDU2MiwgMTI0NTY3LCAxMjQ1NzEsIDEyNDU3NSwgMTI0NTgwLCAKKyAgICAxMjQ1ODQsIDEyNDU4NiwgMTI0NTkwLCAxMjQ1OTIsIDEyNDU5NCwgMTI0NTk2LCAxMjQ1OTgsIDEyNDYwMCwgMTI0NjAyLCAKKyAgICAxMjQ2MDQsIDEyNDYwOCwgMTI0NjEwLCAxMjQ2MTIsIDEyNDYxNCwgMTI0NjE4LCAxMjQ2MjIsIDEyNDYyNiwgMTI0NjMwLCAKKyAgICAxMjQ2MzQsIDEyNDYzNiwgMTI0NjQyLCAxMjQ2NDgsIDEyNDY1MCwgMTI0NjUyLCAxMjQ2NTQsIDEyNDY1NiwgMTI0NjU4LCAKKyAgICAxMjQ2NjcsIDEyNDY3NCwgMTI0NjgxLCAxMjQ2ODUsIDEyNDY5MiwgMTI0Njk3LCAxMjQ3MDQsIDEyNDcxMywgMTI0NzE4LCAKKyAgICAxMjQ3MjIsIDEyNDcyNiwgMTI0NzI4LCAxMjQ3MzIsIDEyNDczNCwgMTI0NzM4LCAxMjQ3NDIsIDEyNDc0NCwgMTI0NzQ4LCAKKyAgICAxMjQ3NTIsIDEyNDc1NiwgMTI0NzU4LCAxMjQ3NjAsIDEyNDc2NiwgMTI0NzY4LCAxMjQ3NzAsIDEyNDc3MiwgMTI0Nzc2LCAKKyAgICAxMjQ3ODAsIDEyNDc4MiwgMTI0Nzg2LCAxMjQ3ODgsIDEyNDc5MCwgMTI0NzkzLCAxMjQ3OTcsIDEyNDc5OSwgMTI0ODAzLCAKKyAgICAxMjQ4MDUsIDEyNDgwNywgMTI0ODEyLCAxMjQ4MTQsIDEyNDgxOCwgMTI0ODIyLCAxMjQ4MjUsIDEyNDgyOSwgMTI0ODMzLCAKKyAgICAxMjQ4MzcsIDEyNDg0MSwgMTI0ODQ1LCAxMjQ4NDksIDEyNDg1MywgMTI0ODU4LCAxMjQ4NjIsIDEyNDg2NiwgMTI0ODc1LCAKKyAgICAxMjQ4ODAsIDEyNDg4MywgMTI0ODg1LCAxMjQ4ODgsIDEyNDg5MSwgMTI0ODk2LCAxMjQ4OTgsIDEyNDkwMSwgMTI0OTA2LCAKKyAgICAxMjQ5MTAsIDEyNDkxMywgMTI0OTE3LCAxMjQ5MjEsIDEyNDkyNCwgMTI0OTI5LCAxMjQ5MzMsIDEyNDkzNywgMTI0OTQxLCAKKyAgICAxMjQ5NDUsIDEyNDk1MSwgMTI0OTU3LCAxMjQ5NjMsIDEyNDk2OSwgMTI0OTc0LCAxMjQ5ODUsIDEyNDk4NywgMTI0OTkxLCAKKyAgICAxMjQ5OTMsIDEyNDk5NSwgMTI0OTk5LCAxMjUwMDMsIDEyNTAwNSwgMTI1MDA5LCAxMjUwMTQsIDEyNTAxOSwgMTI1MDI1LCAKKyAgICAxMjUwMjcsIDEyNTAzMSwgMTI1MDM1LCAxMjUwNDIsIDEyNTA0OSwgMTI1MDUzLCAxMjUwNTUsIDEyNTA1NywgMTI1MDYxLCAKKyAgICAxMjUwNjMsIDEyNTA2NywgMTI1MDcxLCAxMjUwNzUsIDEyNTA3NywgMTI1MDc5LCAxMjUwODYsIDEyNTA5MCwgMTI1MDkzLCAKKyAgICAxMjUwOTcsIDEyNTEwMSwgMTI1MTA1LCAxMjUxMDcsIDEyNTExMSwgMTI1MTEzLCAxMjUxMTUsIDEyNTExOSwgMTI1MTIxLCAKKyAgICAxMjUxMjUsIDEyNTEyOSwgMTI1MTM1LCAxMjUxMzksIDEyNTE0MywgMTI1MTQ3LCAxMjUxNDksIDEyNTE1MiwgMTI1MTU2LCAKKyAgICAxMjUxNjMsIDEyNTE3MiwgMTI1MTgxLCAxMjUxODksIDEyNTE5NywgMTI1MTk5LCAxMjUyMDMsIDEyNTIwNSwgMTI1MjA5LCAKKyAgICAxMjUyMjAsIDEyNTIyNCwgMTI1MjMwLCAxMjUyMzYsIDEyNTI0MSwgMCwgMTI1MjQzLCAxMjUyNDcsIDEyNTI0OSwgCisgICAgMTI1MjUxLCAwLCAwLCAwLCAxMjUyNTMsIDEyNTI1OCwgMTI1MjY4LCAxMjUyODMsIDEyNTI5NSwgMTI1MzA3LCAxMjUzMTEsIAorICAgIDEyNTMxNSwgMTI1MzIxLCAxMjUzMjMsIDEyNTMzMSwgMTI1MzM5LCAxMjUzNDEsIDEyNTM0NSwgMTI1MzUxLCAxMjUzNTcsIAorICAgIDEyNTM2NCwgMTI1MzcxLCAxMjUzNzMsIDEyNTM3NSwgMTI1Mzc4LCAxMjUzODAsIDEyNTM4NiwgMTI1Mzg4LCAxMjUzOTEsIAorICAgIDEyNTM5NSwgMTI1NDAxLCAxMjU0MDcsIDEyNTQxOCwgMTI1NDI0LCAxMjU0MzEsIDEyNTQzOSwgMTI1NDQzLCAxMjU0NTEsIAorICAgIDEyNTQ1OSwgMTI1NDY1LCAxMjU0NzEsIDEyNTQ3OCwgMTI1NDgwLCAxMjU0ODQsIDEyNTQ4NiwgMTI1NDg4LCAxMjU0OTMsIAorICAgIDEyNTQ5NSwgMTI1NDk3LCAxMjU0OTksIDEyNTUwMSwgMTI1NTA1LCAxMjU1MTYsIDEyNTUyMiwgMTI1NTI2LCAxMjU1MzAsIAorICAgIDEyNTUzNCwgMTI1NTQwLCAxMjU1NDYsIDEyNTU1MiwgMTI1NTU4LCAxMjU1NjMsIDEyNTU2OCwgMTI1NTc0LCAxMjU1ODAsIAorICAgIDEyNTU4NywgMCwgMCwgMTI1NTk0LCAxMjU1OTksIDEyNTYwNywgMTI1NjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMjU2MjAsIDEyNTYyNywgMTI1NjM0LCAxMjU2NDEsIDEyNTY0OSwgMTI1NjU3LCAxMjU2NjUsIDEyNTY3MywgCisgICAgMTI1NjgxLCAxMjU2ODksIDEyNTY5NywgMTI1NzA1LCAxMjU3MTMsIDEyNTcxOSwgMTI1NzI1LCAxMjU3MzEsIDEyNTczNywgCisgICAgMTI1NzQzLCAxMjU3NDksIDEyNTc1NSwgMTI1NzYxLCAxMjU3NjcsIDEyNTc3MywgMTI1Nzc5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjU3ODAsIAotICAgIDEyNTc4NCwgMTI1Nzg4LCAxMjU3OTMsIDEyNTc5OCwgMTI1ODAwLCAxMjU4MDQsIDEyNTgxMywgMTI1ODIxLCAxMjU4MjksIAotICAgIDEyNTg0MiwgMTI1ODU1LCAxMjU4NjgsIDEyNTg3NSwgMTI1ODgyLCAxMjU4ODYsIDEyNTg5NSwgMTI1OTAzLCAxMjU5MDcsIAotICAgIDEyNTkxNiwgMTI1OTIzLCAxMjU5MjcsIDEyNTkzMSwgMTI1OTM1LCAxMjU5MzksIDEyNTk0NiwgMTI1OTUwLCAxMjU5NTQsIAotICAgIDEyNTk1OCwgMTI1OTYyLCAxMjU5NjksIDEyNTk3OCwgMTI1OTg3LCAxMjU5OTQsIDEyNjAwNiwgMTI2MDE4LCAxMjYwMjIsIAotICAgIDEyNjAyNiwgMTI2MDMwLCAxMjYwMzQsIDEyNjAzOCwgMTI2MDQyLCAxMjYwNTAsIDEyNjA1OCwgMTI2MDY2LCAxMjYwNzAsIAotICAgIDEyNjA3NCwgMTI2MDc4LCAxMjYwODIsIDEyNjA4NiwgMTI2MDkwLCAxMjYwOTYsIDEyNjEwMiwgMTI2MTA2LCAxMjYxMTcsIAotICAgIDEyNjEyNSwgMTI2MTI5LCAxMjYxMzMsIDEyNjEzNywgMTI2MTQxLCAxMjYxNDcsIDEyNjE1NCwgMTI2MTY1LCAxMjYxNzUsIAotICAgIDEyNjE4NSwgMTI2MTk2LCAxMjYyMDUsIDEyNjIxNiwgMTI2MjIyLCAxMjYyMjgsIDAsIDAsIDAsIDAsIDEyNjIzNCwgCi0gICAgMTI2MjQzLCAxMjYyNTAsIDEyNjI1NiwgMTI2MjYwLCAxMjYyNjQsIDEyNjI2OCwgMTI2Mjc3LCAxMjYyODksIDEyNjI5MywgCi0gICAgMTI2MzAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjU3ODUsIAorICAgIDEyNTc4OSwgMTI1NzkzLCAxMjU3OTgsIDEyNTgwMywgMTI1ODA1LCAxMjU4MDksIDEyNTgxOCwgMTI1ODI2LCAxMjU4MzQsIAorICAgIDEyNTg0NywgMTI1ODYwLCAxMjU4NzMsIDEyNTg4MCwgMTI1ODg3LCAxMjU4OTEsIDEyNTkwMCwgMTI1OTA4LCAxMjU5MTIsIAorICAgIDEyNTkyMSwgMTI1OTI4LCAxMjU5MzIsIDEyNTkzNiwgMTI1OTQwLCAxMjU5NDQsIDEyNTk1MSwgMTI1OTU1LCAxMjU5NTksIAorICAgIDEyNTk2MywgMTI1OTY3LCAxMjU5NzQsIDEyNTk4MywgMTI1OTkyLCAxMjU5OTksIDEyNjAxMSwgMTI2MDIzLCAxMjYwMjcsIAorICAgIDEyNjAzMSwgMTI2MDM1LCAxMjYwMzksIDEyNjA0MywgMTI2MDQ3LCAxMjYwNTUsIDEyNjA2MywgMTI2MDcxLCAxMjYwNzUsIAorICAgIDEyNjA3OSwgMTI2MDgzLCAxMjYwODcsIDEyNjA5MSwgMTI2MDk1LCAxMjYxMDEsIDEyNjEwNywgMTI2MTExLCAxMjYxMjIsIAorICAgIDEyNjEzMCwgMTI2MTM0LCAxMjYxMzgsIDEyNjE0MiwgMTI2MTQ2LCAxMjYxNTIsIDEyNjE1OSwgMTI2MTcwLCAxMjYxODAsIAorICAgIDEyNjE5MCwgMTI2MjAxLCAxMjYyMTAsIDEyNjIyMSwgMTI2MjI3LCAxMjYyMzMsIDAsIDAsIDAsIDAsIDEyNjIzOSwgCisgICAgMTI2MjQ4LCAxMjYyNTUsIDEyNjI2MSwgMTI2MjY1LCAxMjYyNjksIDEyNjI3MywgMTI2MjgyLCAxMjYyOTQsIDEyNjI5OCwgCisgICAgMTI2MzA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxMjYzMDcsIDEyNjMwOSwgMTI2MzExLCAxMjYzMTUsIDEyNjMxOSwgMTI2MzIzLCAxMjYzMzIsIDEyNjMzNCwgCi0gICAgMTI2MzM2LCAxMjYzMzksIDEyNjM0MSwgMTI2MzQzLCAxMjYzNDcsIDEyNjM0OSwgMTI2MzUzLCAxMjYzNTUsIDEyNjM1OSwgCi0gICAgMTI2MzYxLCAxMjYzNjMsIDEyNjM2NywgMTI2MzcxLCAxMjYzNzcsIDEyNjM3OSwgMTI2MzgzLCAxMjYzODUsIDEyNjM4OSwgCi0gICAgMTI2MzkzLCAxMjYzOTcsIDEyNjQwMSwgMTI2NDAzLCAxMjY0MDUsIDEyNjQwOSwgMTI2NDEzLCAxMjY0MTcsIDEyNjQyMSwgCi0gICAgMTI2NDIzLCAxMjY0MjUsIDEyNjQyNywgMTI2NDMyLCAxMjY0MzcsIDEyNjQ0MCwgMTI2NDQ4LCAxMjY0NTYsIDEyNjQ1OCwgCi0gICAgMTI2NDYzLCAxMjY0NjYsIDEyNjQ3MSwgMTI2NDgyLCAxMjY0ODksIDEyNjQ5NCwgMTI2NDk5LCAxMjY1MDEsIDEyNjUwNSwgCi0gICAgMTI2NTA3LCAxMjY1MTEsIDEyNjUxMywgMTI2NTE3LCAxMjY1MjEsIDEyNjUyNCwgMTI2NTI3LCAxMjY1MjksIDEyNjUzMiwgCi0gICAgMTI2NTM0LCAxMjY1MzgsIDEyNjU0MCwgMTI2NTQyLCAxMjY1NDQsIDEyNjU0OCwgMTI2NTUwLCAxMjY1NTQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEyNjMxMiwgMTI2MzE0LCAxMjYzMTYsIDEyNjMyMCwgMTI2MzI0LCAxMjYzMjgsIDEyNjMzNywgMTI2MzM5LCAKKyAgICAxMjYzNDEsIDEyNjM0NCwgMTI2MzQ2LCAxMjYzNDgsIDEyNjM1MiwgMTI2MzU0LCAxMjYzNTgsIDEyNjM2MCwgMTI2MzY0LCAKKyAgICAxMjYzNjYsIDEyNjM2OCwgMTI2MzcyLCAxMjYzNzYsIDEyNjM4MiwgMTI2Mzg0LCAxMjYzODgsIDEyNjM5MCwgMTI2Mzk0LCAKKyAgICAxMjYzOTgsIDEyNjQwMiwgMTI2NDA2LCAxMjY0MDgsIDEyNjQxMCwgMTI2NDE0LCAxMjY0MTgsIDEyNjQyMiwgMTI2NDI2LCAKKyAgICAxMjY0MjgsIDEyNjQzMCwgMTI2NDMyLCAxMjY0MzcsIDEyNjQ0MiwgMTI2NDQ1LCAxMjY0NTMsIDEyNjQ2MSwgMTI2NDYzLCAKKyAgICAxMjY0NjgsIDEyNjQ3MSwgMTI2NDc2LCAxMjY0ODcsIDEyNjQ5NCwgMTI2NDk5LCAxMjY1MDQsIDEyNjUwNiwgMTI2NTEwLCAKKyAgICAxMjY1MTIsIDEyNjUxNiwgMTI2NTE4LCAxMjY1MjIsIDEyNjUyNiwgMTI2NTI5LCAxMjY1MzIsIDEyNjUzNCwgMTI2NTM3LCAKKyAgICAxMjY1MzksIDEyNjU0MywgMTI2NTQ1LCAxMjY1NDcsIDEyNjU0OSwgMTI2NTUzLCAxMjY1NTUsIDEyNjU1OSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2NTU3LCAxMjY1NjIsIDEyNjU2NywgMTI2NTcyLCAxMjY1NzcsIDEyNjU4MiwgCi0gICAgMTI2NTg3LCAxMjY1OTQsIDEyNjYwMSwgMTI2NjA4LCAxMjY2MTUsIDEyNjYyMCwgMTI2NjI1LCAxMjY2MzAsIDEyNjYzNSwgCi0gICAgMTI2NjQyLCAxMjY2NDgsIDEyNjY1NSwgMTI2NjYyLCAxMjY2NjksIDEyNjY3NCwgMTI2Njc5LCAxMjY2ODQsIDEyNjY4OSwgCi0gICAgMTI2Njk0LCAxMjY3MDEsIDEyNjcwOCwgMTI2NzEzLCAxMjY3MTgsIDEyNjcyNSwgMTI2NzMyLCAxMjY3NDAsIDEyNjc0OCwgCi0gICAgMTI2NzU1LCAxMjY3NjIsIDEyNjc3MCwgMTI2Nzc4LCAxMjY3ODYsIDEyNjc5MywgMTI2ODAzLCAxMjY4MTQsIDEyNjgxOSwgCi0gICAgMTI2ODI2LCAxMjY4MzMsIDEyNjg0MCwgMTI2ODQ4LCAxMjY4NTYsIDEyNjg2NywgMTI2ODc1LCAxMjY4ODMsIDEyNjg5MSwgCi0gICAgMTI2ODk2LCAxMjY5MDEsIDEyNjkwNiwgMTI2OTExLCAxMjY5MTYsIDEyNjkyMSwgMTI2OTI2LCAxMjY5MzEsIDEyNjkzNiwgCi0gICAgMTI2OTQxLCAxMjY5NDYsIDEyNjk1MSwgMTI2OTU4LCAxMjY5NjMsIDEyNjk2OCwgMTI2OTc1LCAxMjY5ODAsIDEyNjk4NSwgCi0gICAgMTI2OTkwLCAxMjY5OTUsIDEyNzAwMCwgMTI3MDA1LCAxMjcwMTAsIDEyNzAxNSwgMTI3MDIwLCAxMjcwMjUsIDEyNzAzMCwgCi0gICAgMTI3MDM1LCAxMjcwNDIsIDEyNzA1MCwgMTI3MDU1LCAxMjcwNjAsIDEyNzA2NywgMTI3MDcyLCAxMjcwNzcsIDEyNzA4MiwgCi0gICAgMTI3MDg5LCAxMjcwOTQsIDEyNzEwMSwgMTI3MTA2LCAxMjcxMTMsIDEyNzExOCwgMTI3MTI3LCAxMjcxMzYsIDEyNzE0MSwgCi0gICAgMTI3MTQ2LCAxMjcxNTEsIDEyNzE1NiwgMTI3MTYxLCAxMjcxNjYsIDEyNzE3MSwgMTI3MTc2LCAxMjcxODEsIDEyNzE4NiwgCi0gICAgMTI3MTkxLCAxMjcxOTYsIDEyNzIwMSwgMTI3MjA5LCAxMjcyMTcsIDEyNzIyMiwgMTI3MjI3LCAxMjcyMzIsIDEyNzIzNywgCi0gICAgMTI3MjQyLCAxMjcyNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI1NCwgMTI3MjU4LCAKLSAgICAxMjcyNjIsIDEyNzI2NiwgMTI3MjcwLCAxMjcyNzQsIDEyNzI3OCwgMTI3MjgyLCAxMjcyODYsIDEyNzI5MCwgMTI3Mjk0LCAKLSAgICAxMjcyOTgsIDEyNzMwMiwgMTI3MzA2LCAxMjczMTAsIDEyNzMxNCwgMTI3MzE4LCAxMjczMjIsIDEyNzMyNiwgMTI3MzMwLCAKLSAgICAxMjczMzQsIDEyNzMzOCwgMTI3MzQyLCAxMjczNDYsIDEyNzM1MCwgMTI3MzU0LCAxMjczNTgsIDEyNzM2MiwgMTI3MzY2LCAKLSAgICAxMjczNzAsIDEyNzM3NCwgMTI3Mzc4LCAxMjczODIsIDEyNzM4NiwgMTI3MzkwLCAxMjczOTQsIDEyNzM5OCwgMTI3NDAyLCAKLSAgICAxMjc0MDYsIDEyNzQxMCwgMTI3NDE0LCAxMjc0MTgsIDEyNzQyMiwgMTI3NDI2LCAxMjc0MzAsIDEyNzQzNCwgMTI3NDM4LCAKLSAgICAxMjc0NDIsIDEyNzQ0NiwgMTI3NDUwLCAxMjc0NTQsIDEyNzQ1OCwgMTI3NDYyLCAxMjc0NjYsIDEyNzQ3MCwgMTI3NDc0LCAKLSAgICAxMjc0NzgsIDEyNzQ4MiwgMTI3NDg2LCAxMjc0OTAsIDEyNzQ5NCwgMTI3NDk4LCAxMjc1MDIsIDEyNzUwNiwgMTI3NTEwLCAKLSAgICAxMjc1MTQsIDEyNzUxOCwgMTI3NTIyLCAxMjc1MjYsIDEyNzUzMCwgMTI3NTM0LCAxMjc1MzgsIDEyNzU0MiwgMTI3NTQ2LCAKLSAgICAxMjc1NTAsIDEyNzU1NCwgMTI3NTU4LCAxMjc1NjIsIDEyNzU2NiwgMTI3NTcwLCAxMjc1NzQsIDEyNzU3OCwgMTI3NTgyLCAKLSAgICAxMjc1ODYsIDEyNzU5MCwgMTI3NTk0LCAxMjc1OTgsIDEyNzYwMiwgMTI3NjA2LCAxMjc2MTAsIDEyNzYxNCwgMTI3NjE4LCAKLSAgICAxMjc2MjIsIDEyNzYyNiwgMTI3NjMwLCAxMjc2MzQsIDEyNzYzOCwgMTI3NjQyLCAxMjc2NDYsIDEyNzY1MCwgMTI3NjU0LCAKLSAgICAxMjc2NTgsIDEyNzY2MiwgMTI3NjY2LCAxMjc2NzAsIDEyNzY3NCwgMTI3Njc4LCAxMjc2ODIsIDEyNzY4NiwgMTI3NjkwLCAKLSAgICAxMjc2OTQsIDEyNzY5OCwgMTI3NzAyLCAxMjc3MDYsIDEyNzcxMCwgMTI3NzE0LCAxMjc3MTgsIDEyNzcyMiwgMTI3NzI2LCAKLSAgICAxMjc3MzAsIDEyNzczNCwgMTI3NzM4LCAxMjc3NDIsIDEyNzc0NiwgMTI3NzUwLCAxMjc3NTQsIDEyNzc1OCwgMTI3NzYyLCAKLSAgICAxMjc3NjYsIDEyNzc3MCwgMTI3Nzc0LCAxMjc3NzgsIDEyNzc4MiwgMTI3Nzg2LCAxMjc3OTAsIDEyNzc5NCwgMTI3Nzk4LCAKLSAgICAxMjc4MDIsIDEyNzgwNiwgMTI3ODEwLCAxMjc4MTQsIDEyNzgxOCwgMTI3ODIyLCAxMjc4MjYsIDEyNzgzMCwgMTI3ODM0LCAKLSAgICAxMjc4MzgsIDEyNzg0MiwgMTI3ODQ2LCAxMjc4NTAsIDEyNzg1NCwgMTI3ODU4LCAxMjc4NjIsIDEyNzg2NiwgMTI3ODcwLCAKLSAgICAxMjc4NzQsIDEyNzg3OCwgMTI3ODgyLCAxMjc4ODYsIDEyNzg5MCwgMTI3ODk0LCAxMjc4OTgsIDEyNzkwMiwgMTI3OTA2LCAKLSAgICAxMjc5MTAsIDEyNzkxNCwgMTI3OTE4LCAxMjc5MjIsIDEyNzkyNiwgMTI3OTMwLCAxMjc5MzQsIDEyNzkzOCwgMTI3OTQyLCAKLSAgICAxMjc5NDYsIDEyNzk1MCwgMTI3OTU0LCAxMjc5NTgsIDEyNzk2MiwgMTI3OTY2LCAxMjc5NzAsIDEyNzk3NCwgMTI3OTc4LCAKLSAgICAxMjc5ODIsIDEyNzk4NiwgMTI3OTkwLCAxMjc5OTQsIDEyNzk5OCwgMTI4MDAyLCAxMjgwMDYsIDEyODAxMCwgMTI4MDE0LCAKLSAgICAxMjgwMTgsIDEyODAyMiwgMTI4MDI2LCAxMjgwMzAsIDEyODAzNCwgMTI4MDM4LCAxMjgwNDIsIDEyODA0NiwgMTI4MDUwLCAKLSAgICAxMjgwNTQsIDEyODA1OCwgMTI4MDYyLCAxMjgwNjYsIDEyODA3MCwgMTI4MDc0LCAxMjgwNzgsIDEyODA4MiwgMTI4MDg2LCAKLSAgICAxMjgwOTAsIDEyODA5NCwgMTI4MDk4LCAxMjgxMDIsIDEyODEwNiwgMTI4MTEwLCAxMjgxMTQsIDEyODExOCwgMTI4MTIyLCAKLSAgICAxMjgxMjYsIDEyODEzMCwgMTI4MTM0LCAxMjgxMzgsIDEyODE0MiwgMTI4MTQ2LCAxMjgxNTAsIDEyODE1NCwgMTI4MTU4LCAKLSAgICAxMjgxNjIsIDEyODE2NiwgMTI4MTcwLCAxMjgxNzQsIDEyODE3OCwgMTI4MTgyLCAxMjgxODYsIDEyODE5MCwgMTI4MTk0LCAKLSAgICAxMjgxOTgsIDEyODIwMiwgMTI4MjA2LCAxMjgyMTAsIDEyODIxNCwgMTI4MjE4LCAxMjgyMjIsIDEyODIyNiwgMTI4MjMwLCAKLSAgICAxMjgyMzQsIDEyODIzOCwgMTI4MjQyLCAxMjgyNDYsIDEyODI1MCwgMTI4MjU0LCAxMjgyNTgsIDEyODI2MiwgMTI4MjY2LCAKLSAgICAxMjgyNzAsIDEyODI3NCwgMTI4Mjc4LCAxMjgyODIsIDEyODI4NiwgMTI4MjkwLCAxMjgyOTQsIDEyODI5OCwgMTI4MzAyLCAKLSAgICAxMjgzMDYsIDEyODMxMCwgMTI4MzE0LCAxMjgzMTgsIDEyODMyMiwgMTI4MzI2LCAxMjgzMzAsIDEyODMzNCwgMTI4MzM4LCAKLSAgICAxMjgzNDIsIDEyODM0NiwgMTI4MzUwLCAxMjgzNTQsIDEyODM1OCwgMTI4MzYyLCAxMjgzNjYsIDEyODM3MCwgMTI4Mzc0LCAKLSAgICAxMjgzNzgsIDEyODM4MiwgMTI4Mzg2LCAxMjgzOTAsIDEyODM5NCwgMTI4Mzk4LCAxMjg0MDIsIDEyODQwNiwgMTI4NDEwLCAKLSAgICAxMjg0MTQsIDEyODQxOCwgMTI4NDIyLCAxMjg0MjYsIDEyODQzMCwgMTI4NDM0LCAxMjg0MzgsIDEyODQ0MiwgMTI4NDQ2LCAKLSAgICAxMjg0NTAsIDEyODQ1NCwgMTI4NDU4LCAxMjg0NjIsIDEyODQ2NiwgMTI4NDcwLCAxMjg0NzQsIDEyODQ3OCwgMTI4NDgyLCAKLSAgICAxMjg0ODYsIDEyODQ5MCwgMTI4NDk0LCAxMjg0OTgsIDEyODUwMiwgMTI4NTA2LCAxMjg1MTAsIDEyODUxNCwgMTI4NTE4LCAKLSAgICAxMjg1MjIsIDEyODUyNiwgMTI4NTMwLCAxMjg1MzQsIDEyODUzOCwgMTI4NTQyLCAxMjg1NDYsIDEyODU1MCwgMTI4NTU0LCAKLSAgICAxMjg1NTgsIDEyODU2MiwgMTI4NTY2LCAxMjg1NzAsIDEyODU3NCwgMTI4NTc4LCAxMjg1ODIsIDEyODU4NiwgMTI4NTkwLCAKLSAgICAxMjg1OTQsIDEyODU5OCwgMTI4NjAyLCAxMjg2MDYsIDEyODYxMCwgMTI4NjE0LCAxMjg2MTgsIDEyODYyMiwgMTI4NjI2LCAKLSAgICAxMjg2MzAsIDEyODYzNCwgMTI4NjM4LCAxMjg2NDIsIDEyODY0NiwgMTI4NjUwLCAxMjg2NTQsIDEyODY1OCwgMTI4NjYyLCAKLSAgICAxMjg2NjYsIDEyODY3MCwgMTI4Njc0LCAxMjg2NzgsIDEyODY4MiwgMTI4Njg2LCAxMjg2OTAsIDEyODY5NCwgMTI4Njk4LCAKLSAgICAxMjg3MDIsIDEyODcwNiwgMTI4NzEwLCAxMjg3MTQsIDEyODcxOCwgMTI4NzIyLCAxMjg3MjYsIDEyODczMCwgMTI4NzM0LCAKLSAgICAxMjg3MzgsIDEyODc0MiwgMTI4NzQ2LCAxMjg3NTAsIDEyODc1NCwgMTI4NzU4LCAxMjg3NjIsIDEyODc2NiwgMTI4NzcwLCAKLSAgICAxMjg3NzQsIDEyODc3OCwgMTI4NzgyLCAxMjg3ODYsIDEyODc5MCwgMTI4Nzk0LCAxMjg3OTgsIDEyODgwMiwgMTI4ODA2LCAKLSAgICAxMjg4MTAsIDEyODgxNCwgMTI4ODE4LCAxMjg4MjIsIDEyODgyNiwgMTI4ODMwLCAxMjg4MzQsIDEyODgzOCwgMTI4ODQyLCAKLSAgICAxMjg4NDYsIDEyODg1MCwgMTI4ODU0LCAxMjg4NTgsIDEyODg2MiwgMTI4ODY2LCAxMjg4NzAsIDEyODg3NCwgMTI4ODc4LCAKLSAgICAxMjg4ODIsIDEyODg4NiwgMTI4ODkwLCAxMjg4OTQsIDEyODg5OCwgMTI4OTAyLCAxMjg5MDYsIDEyODkxMCwgMTI4OTE0LCAKLSAgICAxMjg5MTgsIDEyODkyMiwgMTI4OTI2LCAxMjg5MzAsIDEyODkzNCwgMTI4OTM4LCAxMjg5NDIsIDEyODk0NiwgMTI4OTUwLCAKLSAgICAxMjg5NTQsIDEyODk1OCwgMTI4OTYyLCAxMjg5NjYsIDEyODk3MCwgMTI4OTc0LCAxMjg5NzgsIDEyODk4MiwgMTI4OTg2LCAKLSAgICAxMjg5OTAsIDEyODk5NCwgMTI4OTk4LCAxMjkwMDIsIDEyOTAwNiwgMTI5MDEwLCAxMjkwMTQsIDEyOTAxOCwgMTI5MDIyLCAKLSAgICAxMjkwMjYsIDEyOTAzMCwgMTI5MDM0LCAxMjkwMzgsIDEyOTA0MiwgMTI5MDQ2LCAxMjkwNTAsIDEyOTA1NCwgMTI5MDU4LCAKLSAgICAxMjkwNjIsIDEyOTA2NiwgMTI5MDcwLCAxMjkwNzQsIDEyOTA3OCwgMTI5MDgyLCAxMjkwODYsIDEyOTA5MCwgMTI5MDk0LCAKLSAgICAxMjkwOTgsIDEyOTEwMiwgMTI5MTA2LCAxMjkxMTAsIDEyOTExNCwgMTI5MTE4LCAxMjkxMjIsIDEyOTEyNiwgMTI5MTMwLCAKLSAgICAxMjkxMzQsIDEyOTEzOCwgMTI5MTQyLCAxMjkxNDYsIDEyOTE1MCwgMTI5MTU0LCAxMjkxNTgsIDEyOTE2MiwgMTI5MTY2LCAKLSAgICAxMjkxNzAsIDEyOTE3NCwgMTI5MTc4LCAxMjkxODIsIDEyOTE4NiwgMTI5MTkwLCAxMjkxOTQsIDEyOTE5OCwgMTI5MjAyLCAKLSAgICAxMjkyMDYsIDEyOTIxMCwgMTI5MjE0LCAxMjkyMTgsIDEyOTIyMiwgMTI5MjI2LCAxMjkyMzAsIDEyOTIzNCwgMTI5MjM4LCAKLSAgICAxMjkyNDIsIDEyOTI0NiwgMTI5MjUwLCAxMjkyNTQsIDEyOTI1OCwgMTI5MjYyLCAxMjkyNjYsIDEyOTI3MCwgMTI5Mjc0LCAKLSAgICAxMjkyNzgsIDEyOTI4MiwgMTI5Mjg2LCAxMjkyOTAsIDEyOTI5NCwgMTI5Mjk4LCAxMjkzMDIsIDEyOTMwNiwgMTI5MzEwLCAKLSAgICAxMjkzMTQsIDEyOTMxOCwgMTI5MzIyLCAxMjkzMjYsIDEyOTMzMCwgMTI5MzM0LCAxMjkzMzgsIDEyOTM0MiwgMTI5MzQ2LCAKLSAgICAxMjkzNTAsIDEyOTM1NCwgMTI5MzU4LCAxMjkzNjIsIDEyOTM2NiwgMTI5MzcwLCAxMjkzNzQsIDEyOTM3OCwgMTI5MzgyLCAKLSAgICAxMjkzODYsIDEyOTM5MCwgMTI5Mzk0LCAxMjkzOTgsIDEyOTQwMiwgMTI5NDA2LCAxMjk0MTAsIDEyOTQxNCwgMTI5NDE4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjY1NjIsIDEyNjU2NywgMTI2NTcyLCAxMjY1NzcsIDEyNjU4MiwgMTI2NTg3LCAKKyAgICAxMjY1OTIsIDEyNjU5OSwgMTI2NjA2LCAxMjY2MTMsIDEyNjYyMCwgMTI2NjI1LCAxMjY2MzAsIDEyNjYzNSwgMTI2NjQwLCAKKyAgICAxMjY2NDcsIDEyNjY1MywgMTI2NjYwLCAxMjY2NjcsIDEyNjY3NCwgMTI2Njc5LCAxMjY2ODQsIDEyNjY4OSwgMTI2Njk0LCAKKyAgICAxMjY2OTksIDEyNjcwNiwgMTI2NzEzLCAxMjY3MTgsIDEyNjcyMywgMTI2NzMwLCAxMjY3MzcsIDEyNjc0NSwgMTI2NzUzLCAKKyAgICAxMjY3NjAsIDEyNjc2NywgMTI2Nzc1LCAxMjY3ODMsIDEyNjc5MSwgMTI2Nzk4LCAxMjY4MDgsIDEyNjgxOSwgMTI2ODI0LCAKKyAgICAxMjY4MzEsIDEyNjgzOCwgMTI2ODQ1LCAxMjY4NTMsIDEyNjg2MSwgMTI2ODcyLCAxMjY4ODAsIDEyNjg4OCwgMTI2ODk2LCAKKyAgICAxMjY5MDEsIDEyNjkwNiwgMTI2OTExLCAxMjY5MTYsIDEyNjkyMSwgMTI2OTI2LCAxMjY5MzEsIDEyNjkzNiwgMTI2OTQxLCAKKyAgICAxMjY5NDYsIDEyNjk1MSwgMTI2OTU2LCAxMjY5NjMsIDEyNjk2OCwgMTI2OTczLCAxMjY5ODAsIDEyNjk4NSwgMTI2OTkwLCAKKyAgICAxMjY5OTUsIDEyNzAwMCwgMTI3MDA1LCAxMjcwMTAsIDEyNzAxNSwgMTI3MDIwLCAxMjcwMjUsIDEyNzAzMCwgMTI3MDM1LCAKKyAgICAxMjcwNDAsIDEyNzA0NywgMTI3MDU1LCAxMjcwNjAsIDEyNzA2NSwgMTI3MDcyLCAxMjcwNzcsIDEyNzA4MiwgMTI3MDg3LCAKKyAgICAxMjcwOTQsIDEyNzA5OSwgMTI3MTA2LCAxMjcxMTEsIDEyNzExOCwgMTI3MTIzLCAxMjcxMzIsIDEyNzE0MSwgMTI3MTQ2LCAKKyAgICAxMjcxNTEsIDEyNzE1NiwgMTI3MTYxLCAxMjcxNjYsIDEyNzE3MSwgMTI3MTc2LCAxMjcxODEsIDEyNzE4NiwgMTI3MTkxLCAKKyAgICAxMjcxOTYsIDEyNzIwMSwgMTI3MjA2LCAxMjcyMTQsIDEyNzIyMiwgMTI3MjI3LCAxMjcyMzIsIDEyNzIzNywgMTI3MjQyLCAKKyAgICAxMjcyNDcsIDEyNzI1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3MjU5LCAxMjcyNjMsIAorICAgIDEyNzI2NywgMTI3MjcxLCAxMjcyNzUsIDEyNzI3OSwgMTI3MjgzLCAxMjcyODcsIDEyNzI5MSwgMTI3Mjk1LCAxMjcyOTksIAorICAgIDEyNzMwMywgMTI3MzA3LCAxMjczMTEsIDEyNzMxNSwgMTI3MzE5LCAxMjczMjMsIDEyNzMyNywgMTI3MzMxLCAxMjczMzUsIAorICAgIDEyNzMzOSwgMTI3MzQzLCAxMjczNDcsIDEyNzM1MSwgMTI3MzU1LCAxMjczNTksIDEyNzM2MywgMTI3MzY3LCAxMjczNzEsIAorICAgIDEyNzM3NSwgMTI3Mzc5LCAxMjczODMsIDEyNzM4NywgMTI3MzkxLCAxMjczOTUsIDEyNzM5OSwgMTI3NDAzLCAxMjc0MDcsIAorICAgIDEyNzQxMSwgMTI3NDE1LCAxMjc0MTksIDEyNzQyMywgMTI3NDI3LCAxMjc0MzEsIDEyNzQzNSwgMTI3NDM5LCAxMjc0NDMsIAorICAgIDEyNzQ0NywgMTI3NDUxLCAxMjc0NTUsIDEyNzQ1OSwgMTI3NDYzLCAxMjc0NjcsIDEyNzQ3MSwgMTI3NDc1LCAxMjc0NzksIAorICAgIDEyNzQ4MywgMTI3NDg3LCAxMjc0OTEsIDEyNzQ5NSwgMTI3NDk5LCAxMjc1MDMsIDEyNzUwNywgMTI3NTExLCAxMjc1MTUsIAorICAgIDEyNzUxOSwgMTI3NTIzLCAxMjc1MjcsIDEyNzUzMSwgMTI3NTM1LCAxMjc1MzksIDEyNzU0MywgMTI3NTQ3LCAxMjc1NTEsIAorICAgIDEyNzU1NSwgMTI3NTU5LCAxMjc1NjMsIDEyNzU2NywgMTI3NTcxLCAxMjc1NzUsIDEyNzU3OSwgMTI3NTgzLCAxMjc1ODcsIAorICAgIDEyNzU5MSwgMTI3NTk1LCAxMjc1OTksIDEyNzYwMywgMTI3NjA3LCAxMjc2MTEsIDEyNzYxNSwgMTI3NjE5LCAxMjc2MjMsIAorICAgIDEyNzYyNywgMTI3NjMxLCAxMjc2MzUsIDEyNzYzOSwgMTI3NjQzLCAxMjc2NDcsIDEyNzY1MSwgMTI3NjU1LCAxMjc2NTksIAorICAgIDEyNzY2MywgMTI3NjY3LCAxMjc2NzEsIDEyNzY3NSwgMTI3Njc5LCAxMjc2ODMsIDEyNzY4NywgMTI3NjkxLCAxMjc2OTUsIAorICAgIDEyNzY5OSwgMTI3NzAzLCAxMjc3MDcsIDEyNzcxMSwgMTI3NzE1LCAxMjc3MTksIDEyNzcyMywgMTI3NzI3LCAxMjc3MzEsIAorICAgIDEyNzczNSwgMTI3NzM5LCAxMjc3NDMsIDEyNzc0NywgMTI3NzUxLCAxMjc3NTUsIDEyNzc1OSwgMTI3NzYzLCAxMjc3NjcsIAorICAgIDEyNzc3MSwgMTI3Nzc1LCAxMjc3NzksIDEyNzc4MywgMTI3Nzg3LCAxMjc3OTEsIDEyNzc5NSwgMTI3Nzk5LCAxMjc4MDMsIAorICAgIDEyNzgwNywgMTI3ODExLCAxMjc4MTUsIDEyNzgxOSwgMTI3ODIzLCAxMjc4MjcsIDEyNzgzMSwgMTI3ODM1LCAxMjc4MzksIAorICAgIDEyNzg0MywgMTI3ODQ3LCAxMjc4NTEsIDEyNzg1NSwgMTI3ODU5LCAxMjc4NjMsIDEyNzg2NywgMTI3ODcxLCAxMjc4NzUsIAorICAgIDEyNzg3OSwgMTI3ODgzLCAxMjc4ODcsIDEyNzg5MSwgMTI3ODk1LCAxMjc4OTksIDEyNzkwMywgMTI3OTA3LCAxMjc5MTEsIAorICAgIDEyNzkxNSwgMTI3OTE5LCAxMjc5MjMsIDEyNzkyNywgMTI3OTMxLCAxMjc5MzUsIDEyNzkzOSwgMTI3OTQzLCAxMjc5NDcsIAorICAgIDEyNzk1MSwgMTI3OTU1LCAxMjc5NTksIDEyNzk2MywgMTI3OTY3LCAxMjc5NzEsIDEyNzk3NSwgMTI3OTc5LCAxMjc5ODMsIAorICAgIDEyNzk4NywgMTI3OTkxLCAxMjc5OTUsIDEyNzk5OSwgMTI4MDAzLCAxMjgwMDcsIDEyODAxMSwgMTI4MDE1LCAxMjgwMTksIAorICAgIDEyODAyMywgMTI4MDI3LCAxMjgwMzEsIDEyODAzNSwgMTI4MDM5LCAxMjgwNDMsIDEyODA0NywgMTI4MDUxLCAxMjgwNTUsIAorICAgIDEyODA1OSwgMTI4MDYzLCAxMjgwNjcsIDEyODA3MSwgMTI4MDc1LCAxMjgwNzksIDEyODA4MywgMTI4MDg3LCAxMjgwOTEsIAorICAgIDEyODA5NSwgMTI4MDk5LCAxMjgxMDMsIDEyODEwNywgMTI4MTExLCAxMjgxMTUsIDEyODExOSwgMTI4MTIzLCAxMjgxMjcsIAorICAgIDEyODEzMSwgMTI4MTM1LCAxMjgxMzksIDEyODE0MywgMTI4MTQ3LCAxMjgxNTEsIDEyODE1NSwgMTI4MTU5LCAxMjgxNjMsIAorICAgIDEyODE2NywgMTI4MTcxLCAxMjgxNzUsIDEyODE3OSwgMTI4MTgzLCAxMjgxODcsIDEyODE5MSwgMTI4MTk1LCAxMjgxOTksIAorICAgIDEyODIwMywgMTI4MjA3LCAxMjgyMTEsIDEyODIxNSwgMTI4MjE5LCAxMjgyMjMsIDEyODIyNywgMTI4MjMxLCAxMjgyMzUsIAorICAgIDEyODIzOSwgMTI4MjQzLCAxMjgyNDcsIDEyODI1MSwgMTI4MjU1LCAxMjgyNTksIDEyODI2MywgMTI4MjY3LCAxMjgyNzEsIAorICAgIDEyODI3NSwgMTI4Mjc5LCAxMjgyODMsIDEyODI4NywgMTI4MjkxLCAxMjgyOTUsIDEyODI5OSwgMTI4MzAzLCAxMjgzMDcsIAorICAgIDEyODMxMSwgMTI4MzE1LCAxMjgzMTksIDEyODMyMywgMTI4MzI3LCAxMjgzMzEsIDEyODMzNSwgMTI4MzM5LCAxMjgzNDMsIAorICAgIDEyODM0NywgMTI4MzUxLCAxMjgzNTUsIDEyODM1OSwgMTI4MzYzLCAxMjgzNjcsIDEyODM3MSwgMTI4Mzc1LCAxMjgzNzksIAorICAgIDEyODM4MywgMTI4Mzg3LCAxMjgzOTEsIDEyODM5NSwgMTI4Mzk5LCAxMjg0MDMsIDEyODQwNywgMTI4NDExLCAxMjg0MTUsIAorICAgIDEyODQxOSwgMTI4NDIzLCAxMjg0MjcsIDEyODQzMSwgMTI4NDM1LCAxMjg0MzksIDEyODQ0MywgMTI4NDQ3LCAxMjg0NTEsIAorICAgIDEyODQ1NSwgMTI4NDU5LCAxMjg0NjMsIDEyODQ2NywgMTI4NDcxLCAxMjg0NzUsIDEyODQ3OSwgMTI4NDgzLCAxMjg0ODcsIAorICAgIDEyODQ5MSwgMTI4NDk1LCAxMjg0OTksIDEyODUwMywgMTI4NTA3LCAxMjg1MTEsIDEyODUxNSwgMTI4NTE5LCAxMjg1MjMsIAorICAgIDEyODUyNywgMTI4NTMxLCAxMjg1MzUsIDEyODUzOSwgMTI4NTQzLCAxMjg1NDcsIDEyODU1MSwgMTI4NTU1LCAxMjg1NTksIAorICAgIDEyODU2MywgMTI4NTY3LCAxMjg1NzEsIDEyODU3NSwgMTI4NTc5LCAxMjg1ODMsIDEyODU4NywgMTI4NTkxLCAxMjg1OTUsIAorICAgIDEyODU5OSwgMTI4NjAzLCAxMjg2MDcsIDEyODYxMSwgMTI4NjE1LCAxMjg2MTksIDEyODYyMywgMTI4NjI3LCAxMjg2MzEsIAorICAgIDEyODYzNSwgMTI4NjM5LCAxMjg2NDMsIDEyODY0NywgMTI4NjUxLCAxMjg2NTUsIDEyODY1OSwgMTI4NjYzLCAxMjg2NjcsIAorICAgIDEyODY3MSwgMTI4Njc1LCAxMjg2NzksIDEyODY4MywgMTI4Njg3LCAxMjg2OTEsIDEyODY5NSwgMTI4Njk5LCAxMjg3MDMsIAorICAgIDEyODcwNywgMTI4NzExLCAxMjg3MTUsIDEyODcxOSwgMTI4NzIzLCAxMjg3MjcsIDEyODczMSwgMTI4NzM1LCAxMjg3MzksIAorICAgIDEyODc0MywgMTI4NzQ3LCAxMjg3NTEsIDEyODc1NSwgMTI4NzU5LCAxMjg3NjMsIDEyODc2NywgMTI4NzcxLCAxMjg3NzUsIAorICAgIDEyODc3OSwgMTI4NzgzLCAxMjg3ODcsIDEyODc5MSwgMTI4Nzk1LCAxMjg3OTksIDEyODgwMywgMTI4ODA3LCAxMjg4MTEsIAorICAgIDEyODgxNSwgMTI4ODE5LCAxMjg4MjMsIDEyODgyNywgMTI4ODMxLCAxMjg4MzUsIDEyODgzOSwgMTI4ODQzLCAxMjg4NDcsIAorICAgIDEyODg1MSwgMTI4ODU1LCAxMjg4NTksIDEyODg2MywgMTI4ODY3LCAxMjg4NzEsIDEyODg3NSwgMTI4ODc5LCAxMjg4ODMsIAorICAgIDEyODg4NywgMTI4ODkxLCAxMjg4OTUsIDEyODg5OSwgMTI4OTAzLCAxMjg5MDcsIDEyODkxMSwgMTI4OTE1LCAxMjg5MTksIAorICAgIDEyODkyMywgMTI4OTI3LCAxMjg5MzEsIDEyODkzNSwgMTI4OTM5LCAxMjg5NDMsIDEyODk0NywgMTI4OTUxLCAxMjg5NTUsIAorICAgIDEyODk1OSwgMTI4OTYzLCAxMjg5NjcsIDEyODk3MSwgMTI4OTc1LCAxMjg5NzksIDEyODk4MywgMTI4OTg3LCAxMjg5OTEsIAorICAgIDEyODk5NSwgMTI4OTk5LCAxMjkwMDMsIDEyOTAwNywgMTI5MDExLCAxMjkwMTUsIDEyOTAxOSwgMTI5MDIzLCAxMjkwMjcsIAorICAgIDEyOTAzMSwgMTI5MDM1LCAxMjkwMzksIDEyOTA0MywgMTI5MDQ3LCAxMjkwNTEsIDEyOTA1NSwgMTI5MDU5LCAxMjkwNjMsIAorICAgIDEyOTA2NywgMTI5MDcxLCAxMjkwNzUsIDEyOTA3OSwgMTI5MDgzLCAxMjkwODcsIDEyOTA5MSwgMTI5MDk1LCAxMjkwOTksIAorICAgIDEyOTEwMywgMTI5MTA3LCAxMjkxMTEsIDEyOTExNSwgMTI5MTE5LCAxMjkxMjMsIDEyOTEyNywgMTI5MTMxLCAxMjkxMzUsIAorICAgIDEyOTEzOSwgMTI5MTQzLCAxMjkxNDcsIDEyOTE1MSwgMTI5MTU1LCAxMjkxNTksIDEyOTE2MywgMTI5MTY3LCAxMjkxNzEsIAorICAgIDEyOTE3NSwgMTI5MTc5LCAxMjkxODMsIDEyOTE4NywgMTI5MTkxLCAxMjkxOTUsIDEyOTE5OSwgMTI5MjAzLCAxMjkyMDcsIAorICAgIDEyOTIxMSwgMTI5MjE1LCAxMjkyMTksIDEyOTIyMywgMTI5MjI3LCAxMjkyMzEsIDEyOTIzNSwgMTI5MjM5LCAxMjkyNDMsIAorICAgIDEyOTI0NywgMTI5MjUxLCAxMjkyNTUsIDEyOTI1OSwgMTI5MjYzLCAxMjkyNjcsIDEyOTI3MSwgMTI5Mjc1LCAxMjkyNzksIAorICAgIDEyOTI4MywgMTI5Mjg3LCAxMjkyOTEsIDEyOTI5NSwgMTI5Mjk5LCAxMjkzMDMsIDEyOTMwNywgMTI5MzExLCAxMjkzMTUsIAorICAgIDEyOTMxOSwgMTI5MzIzLCAxMjkzMjcsIDEyOTMzMSwgMTI5MzM1LCAxMjkzMzksIDEyOTM0MywgMTI5MzQ3LCAxMjkzNTEsIAorICAgIDEyOTM1NSwgMTI5MzU5LCAxMjkzNjMsIDEyOTM2NywgMTI5MzcxLCAxMjkzNzUsIDEyOTM3OSwgMTI5MzgzLCAxMjkzODcsIAorICAgIDEyOTM5MSwgMTI5Mzk1LCAxMjkzOTksIDEyOTQwMywgMTI5NDA3LCAxMjk0MTEsIDEyOTQxNSwgMTI5NDE5LCAxMjk0MjMsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDEyOTQyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5NDI2LCAxMjk0MjksIDEyOTQzMywgMTI5NDM3LCAxMjk0NDAsIAotICAgIDEyOTQ0NCwgMTI5NDQ4LCAxMjk0NTEsIDEyOTQ1NCwgMTI5NDU4LCAxMjk0NjIsIDEyOTQ2NSwgMTI5NDY4LCAxMjk0NzEsIAotICAgIDEyOTQ3NCwgMTI5NDc5LCAxMjk0ODIsIDEyOTQ4NiwgMTI5NDg5LCAxMjk0OTIsIDEyOTQ5NSwgMTI5NDk4LCAxMjk1MDEsIAotICAgIDEyOTUwNCwgMTI5NTA3LCAxMjk1MTAsIDEyOTUxMywgMTI5NTE2LCAxMjk1MTksIDEyOTUyMywgMTI5NTI3LCAxMjk1MzEsIAotICAgIDEyOTUzNSwgMTI5NTQwLCAxMjk1NDUsIDEyOTU1MSwgMTI5NTU3LCAxMjk1NjMsIDEyOTU2OCwgMTI5NTc0LCAxMjk1ODAsIAotICAgIDEyOTU4NiwgMTI5NTkxLCAxMjk1OTcsIDEyOTYwMywgMTI5NjA4LCAxMjk2MTMsIDEyOTYxOSwgMTI5NjI0LCAxMjk2MzAsIAotICAgIDEyOTYzNiwgMTI5NjQxLCAxMjk2NDcsIDEyOTY1MywgMTI5NjU4LCAxMjk2NjQsIDEyOTY3MCwgMTI5Njc2LCAxMjk2ODIsIAotICAgIDEyOTY4OCwgMTI5NjkyLCAxMjk2OTcsIDEyOTcwMSwgMTI5NzA2LCAxMjk3MTAsIDEyOTcxNSwgMTI5NzIwLCAxMjk3MjYsIAotICAgIDEyOTczMiwgMTI5NzM4LCAxMjk3NDMsIDEyOTc0OSwgMTI5NzU1LCAxMjk3NjEsIDEyOTc2NiwgMTI5NzcyLCAxMjk3NzgsIAotICAgIDEyOTc4MywgMTI5Nzg4LCAxMjk3OTQsIDEyOTc5OSwgMTI5ODA1LCAxMjk4MTEsIDEyOTgxNiwgMTI5ODIyLCAxMjk4MjgsIAotICAgIDEyOTgzMywgMTI5ODM5LCAxMjk4NDUsIDEyOTg1MSwgMTI5ODU3LCAxMjk4NjMsIDEyOTg2OCwgMTI5ODcyLCAxMjk4NzcsIAotICAgIDEyOTg3OSwgMTI5ODgzLCAxMjk4ODYsIDEyOTg4OSwgMTI5ODkyLCAxMjk4OTUsIDEyOTg5OCwgMTI5OTAxLCAxMjk5MDQsIAotICAgIDEyOTkwNywgMTI5OTEwLCAxMjk5MTMsIDEyOTkxNiwgMTI5OTE5LCAxMjk5MjIsIDEyOTkyNSwgMTI5OTI4LCAxMjk5MzEsIAotICAgIDEyOTkzNCwgMTI5OTM3LCAxMjk5NDAsIDEyOTk0MywgMTI5OTQ2LCAxMjk5NDksIDEyOTk1MiwgMTI5OTU1LCAxMjk5NTgsIAotICAgIDEyOTk2MSwgMTI5OTY0LCAxMjk5NjcsIDEyOTk3MCwgMTI5OTczLCAxMjk5NzYsIDEyOTk3OSwgMTI5OTgyLCAxMjk5ODUsIAotICAgIDEyOTk4OCwgMTI5OTkxLCAxMjk5OTQsIDEyOTk5NywgMTMwMDAwLCAxMzAwMDMsIDEzMDAwNiwgMTMwMDA5LCAxMzAwMTIsIAotICAgIDEzMDAxNSwgMTMwMDE4LCAxMzAwMjEsIDEzMDAyNCwgMTMwMDI3LCAxMzAwMzAsIDEzMDAzMywgMTMwMDM2LCAxMzAwMzksIAotICAgIDEzMDA0MiwgMTMwMDQ1LCAxMzAwNDgsIDEzMDA1MSwgMTMwMDU0LCAxMzAwNTcsIDEzMDA2MCwgMTMwMDYzLCAxMzAwNjYsIAotICAgIDEzMDA2OSwgMTMwMDcyLCAxMzAwNzUsIDEzMDA3OCwgMTMwMDgxLCAxMzAwODQsIDEzMDA4NywgMTMwMDkwLCAxMzAwOTMsIAotICAgIDEzMDA5NiwgMTMwMDk5LCAxMzAxMDIsIDEzMDEwNSwgMTMwMTA4LCAxMzAxMTEsIDEzMDExNCwgMTMwMTE3LCAxMzAxMjAsIAotICAgIDEzMDEyMywgMTMwMTI2LCAxMzAxMjksIDEzMDEzMiwgMTMwMTM1LCAxMzAxMzgsIDEzMDE0MSwgMTMwMTQ0LCAxMzAxNDcsIAotICAgIDEzMDE1MCwgMTMwMTUzLCAxMzAxNTYsIDEzMDE1OSwgMTMwMTYyLCAxMzAxNjUsIDEzMDE2OCwgMTMwMTcxLCAxMzAxNzQsIAotICAgIDEzMDE3NywgMTMwMTgwLCAxMzAxODMsIDEzMDE4NiwgMTMwMTg5LCAxMzAxOTIsIDEzMDE5NSwgMTMwMTk4LCAxMzAyMDEsIAotICAgIDEzMDIwNCwgMTMwMjA3LCAxMzAyMTAsIDEzMDIxMywgMTMwMjE2LCAxMzAyMTksIDEzMDIyMiwgMTMwMjI1LCAxMzAyMjgsIAotICAgIDEzMDIzMSwgMTMwMjM0LCAxMzAyMzcsIDEzMDI0MCwgMTMwMjQzLCAxMzAyNDYsIDEzMDI0OSwgMTMwMjUyLCAxMzAyNTUsIAotICAgIDEzMDI1OCwgMTMwMjYxLCAxMzAyNjQsIDEzMDI2NywgMTMwMjcwLCAxMzAyNzMsIDEzMDI3NiwgMTMwMjc5LCAxMzAyODIsIAotICAgIDEzMDI4NSwgMTMwMjg4LCAxMzAyOTEsIDEzMDI5NCwgMTMwMjk3LCAxMzAzMDAsIDEzMDMwMywgMTMwMzA2LCAxMzAzMDksIAotICAgIDEzMDMxMiwgMTMwMzE1LCAxMzAzMTgsIDEzMDMyMSwgMTMwMzI0LCAxMzAzMjcsIDEzMDMzMCwgMTMwMzMzLCAxMzAzMzYsIAotICAgIDEzMDMzOSwgMTMwMzQyLCAxMzAzNDUsIDEzMDM0OCwgMTMwMzUxLCAxMzAzNTQsIDEzMDM1NywgMTMwMzYwLCAxMzAzNjMsIAotICAgIDEzMDM2NiwgMTMwMzY5LCAxMzAzNzIsIDEzMDM3NSwgMTMwMzc4LCAxMzAzODEsIDEzMDM4NCwgMTMwMzg3LCAxMzAzOTAsIAotICAgIDEzMDM5MywgMTMwMzk2LCAxMzAzOTksIDEzMDQwMiwgMTMwNDA1LCAxMzA0MDgsIDEzMDQxMSwgMTMwNDE0LCAxMzA0MTcsIAotICAgIDEzMDQyMCwgMTMwNDIzLCAxMzA0MjYsIDEzMDQyOSwgMTMwNDMyLCAxMzA0MzUsIDEzMDQzOCwgMTMwNDQxLCAxMzA0NDQsIAotICAgIDEzMDQ0NywgMTMwNDUwLCAxMzA0NTMsIDEzMDQ1NiwgMTMwNDU5LCAxMzA0NjIsIDEzMDQ2NSwgMTMwNDY4LCAxMzA0NzEsIAotICAgIDEzMDQ3NCwgMTMwNDc3LCAxMzA0ODAsIDEzMDQ4MywgMTMwNDg2LCAxMzA0ODksIDEzMDQ5MiwgMTMwNDk1LCAxMzA0OTgsIAotICAgIDEzMDUwMSwgMTMwNTA0LCAxMzA1MDcsIDEzMDUxMCwgMTMwNTEzLCAxMzA1MTYsIDEzMDUxOSwgMTMwNTIyLCAxMzA1MjUsIAotICAgIDEzMDUyOCwgMTMwNTMxLCAxMzA1MzQsIDEzMDUzNywgMTMwNTQwLCAxMzA1NDMsIDEzMDU0NiwgMTMwNTQ5LCAxMzA1NTIsIAotICAgIDEzMDU1NSwgMTMwNTU4LCAxMzA1NjEsIDEzMDU2NCwgMTMwNTY3LCAxMzA1NzAsIDEzMDU3MywgMTMwNTc2LCAxMzA1NzksIAotICAgIDEzMDU4MiwgMTMwNTg1LCAxMzA1ODgsIDEzMDU5MSwgMTMwNTk0LCAxMzA1OTcsIDEzMDYwMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwNjAzLCAxMzA2MDUsIDEzMDYwNywgMTMwNjEyLCAxMzA2MTQsIAotICAgIDEzMDYxOSwgMTMwNjIxLCAxMzA2MjYsIDEzMDYyOCwgMTMwNjMzLCAxMzA2MzUsIDEzMDYzNywgMTMwNjM5LCAxMzA2NDEsIAotICAgIDEzMDY0MywgMTMwNjQ1LCAxMzA2NDcsIDEzMDY0OSwgMTMwNjUxLCAxMzA2NTQsIDEzMDY1NywgMTMwNjU5LCAxMzA2NjEsIAotICAgIDEzMDY2NSwgMTMwNjY4LCAxMzA2NzMsIDEzMDY3NSwgMTMwNjc3LCAxMzA2NzksIDEzMDY4MywgMTMwNjg2LCAxMzA2ODgsIAotICAgIDEzMDY5MiwgMTMwNjk0LCAxMzA2OTgsIDEzMDcwMCwgMTMwNzA0LCAxMzA3MDcsIDEzMDcwOSwgMTMwNzEzLCAxMzA3MTcsIAotICAgIDEzMDcxOSwgMTMwNzI1LCAxMzA3MjcsIDEzMDczMiwgMTMwNzM0LCAxMzA3MzksIDEzMDc0MSwgMTMwNzQ2LCAxMzA3NDgsIAotICAgIDEzMDc1MywgMTMwNzU1LCAxMzA3NTgsIDEzMDc2MCwgMTMwNzY0LCAxMzA3NjYsIDEzMDc3MywgMTMwNzc1LCAxMzA3NzcsIAotICAgIDEzMDc3OSwgMTMwNzg0LCAxMzA3ODYsIDEzMDc4OCwgMTMwNzkwLCAxMzA3OTIsIDEzMDc5NCwgMTMwNzk5LCAxMzA4MDMsIAotICAgIDEzMDgwNSwgMTMwODEwLCAxMzA4MTQsIDEzMDgxNiwgMTMwODIxLCAxMzA4MjUsIDEzMDgyNywgMTMwODMyLCAxMzA4MzYsIAotICAgIDEzMDgzOCwgMTMwODQwLCAxMzA4NDIsIDEzMDg0NCwgMTMwODQ4LCAxMzA4NTAsIDEzMDg1NSwgMTMwODU3LCAxMzA4NjMsIAotICAgIDEzMDg2NSwgMTMwODcxLCAxMzA4NzMsIDEzMDg3NSwgMTMwODc3LCAxMzA4ODEsIDEzMDg4MywgMTMwODkwLCAxMzA4OTIsIAotICAgIDEzMDg5OSwgMTMwOTAxLCAxMzA5MDYsIDEzMDkxMSwgMTMwOTEzLCAxMzA5MTksIDEzMDkyNSwgMTMwOTI3LCAxMzA5MzMsIAotICAgIDEzMDkzOCwgMTMwOTQwLCAxMzA5NDYsIDEzMDk1MiwgMTMwOTU0LCAxMzA5NjAsIDEzMDk2NiwgMTMwOTY4LCAxMzA5NzQsIAotICAgIDEzMDk3OCwgMTMwOTgwLCAxMzA5ODUsIDEzMDk4NywgMTMwOTg5LCAxMzA5OTQsIDEzMDk5NiwgMTMwOTk4LCAxMzEwMDQsIAotICAgIDEzMTAwNiwgMTMxMDExLCAxMzEwMTUsIDEzMTAxNywgMTMxMDIyLCAxMzEwMjYsIDEzMTAyOCwgMTMxMDM0LCAxMzEwMzYsIAotICAgIDEzMTA0MCwgMTMxMDQyLCAxMzEwNDYsIDEzMTA0OCwgMTMxMDU1LCAxMzEwNjIsIDEzMTA2NCwgMTMxMDcxLCAxMzEwNzgsIAotICAgIDEzMTA4MCwgMTMxMDg1LCAxMzEwODcsIDEzMTA5NCwgMTMxMDk2LCAxMzExMDEsIDEzMTEwMywgMTMxMTA5LCAxMzExMTEsIAotICAgIDEzMTExNSwgMTMxMTE3LCAxMzExMjMsIDEzMTEyNSwgMTMxMTI5LCAxMzExMzEsIDEzMTEzNywgMTMxMTM5LCAxMzExNDEsIAotICAgIDEzMTE0MywgMTMxMTQ4LCAxMzExNTMsIDEzMTE1NSwgMTMxMTU5LCAxMzExNjYsIDEzMTE3MywgMTMxMTc4LCAxMzExODMsIAotICAgIDEzMTE5NSwgMTMxMTk3LCAxMzExOTksIDEzMTIwMSwgMTMxMjAzLCAxMzEyMDUsIDEzMTIwNywgMTMxMjA5LCAxMzEyMTEsIAotICAgIDEzMTIxMywgMTMxMjE1LCAxMzEyMTcsIDEzMTIxOSwgMTMxMjIxLCAxMzEyMjMsIDEzMTIyNSwgMTMxMjI3LCAxMzEyMjksIAotICAgIDEzMTIzNSwgMTMxMjQyLCAxMzEyNDcsIDEzMTI1MiwgMTMxMjYzLCAxMzEyNjUsIDEzMTI2NywgMTMxMjY5LCAxMzEyNzEsIAotICAgIDEzMTI3MywgMTMxMjc1LCAxMzEyNzcsIDEzMTI3OSwgMTMxMjgxLCAxMzEyODMsIDEzMTI4NSwgMTMxMjg3LCAxMzEyODksIAotICAgIDEzMTI5MSwgMTMxMjkzLCAxMzEyOTUsIDEzMTMwMCwgMTMxMzAyLCAxMzEzMDQsIDEzMTMxNSwgMTMxMzE3LCAxMzEzMTksIAotICAgIDEzMTMyMSwgMTMxMzIzLCAxMzEzMjUsIDEzMTMyNywgMTMxMzI5LCAxMzEzMzEsIDEzMTMzMywgMTMxMzM1LCAxMzEzMzcsIAotICAgIDEzMTMzOSwgMTMxMzQxLCAxMzEzNDMsIDEzMTM0NSwgMTMxMzQ3LCAxMzEzNDksIDEzMTM1MSwgMTMxMzUzLCAxMzEzNTUsIAotICAgIDEzMTM1NywgMTMxMzU5LCAxMzEzNjEsIDEzMTM2MywgMTMxMzY1LCAxMzEzNjcsIDEzMTM2OSwgMTMxMzcxLCAxMzEzNzMsIAotICAgIDEzMTM3NSwgMTMxMzc3LCAxMzEzNzksIDEzMTM4MSwgMTMxMzgzLCAxMzEzODUsIDEzMTM4NywgMTMxMzg5LCAxMzEzOTEsIAotICAgIDEzMTM5MywgMTMxMzk1LCAxMzEzOTcsIDEzMTM5OSwgMTMxNDAxLCAxMzE0MDMsIDEzMTQwNSwgMTMxNDA3LCAxMzE0MDksIAotICAgIDEzMTQxMSwgMTMxNDEzLCAxMzE0MTUsIDEzMTQxNywgMTMxNDE5LCAxMzE0MjEsIDEzMTQyMywgMTMxNDI1LCAxMzE0MjcsIAotICAgIDEzMTQyOSwgMTMxNDMxLCAxMzE0MzMsIDEzMTQzNSwgMTMxNDM3LCAxMzE0MzksIDEzMTQ0MSwgMTMxNDQzLCAxMzE0NDUsIAotICAgIDEzMTQ0NywgMTMxNDQ5LCAxMzE0NTEsIDEzMTQ1MywgMTMxNDU1LCAxMzE0NTcsIDEzMTQ1OSwgMTMxNDYxLCAxMzE0NjMsIAotICAgIDEzMTQ2NSwgMTMxNDY3LCAxMzE0NjksIDEzMTQ3MSwgMTMxNDczLCAxMzE0NzUsIDEzMTQ3NywgMTMxNDc5LCAxMzE0ODEsIAotICAgIDEzMTQ4MywgMTMxNDg1LCAxMzE0ODcsIDEzMTQ4OSwgMTMxNDkxLCAxMzE0OTMsIDEzMTQ5NSwgMTMxNDk3LCAxMzE0OTksIAotICAgIDEzMTUwMSwgMTMxNTAzLCAxMzE1MDUsIDEzMTUwNywgMTMxNTA5LCAxMzE1MTEsIDEzMTUxMywgMTMxNTE1LCAxMzE1MTcsIAotICAgIDEzMTUxOSwgMTMxNTIxLCAxMzE1MjMsIDEzMTUyNSwgMTMxNTI3LCAxMzE1MjksIDEzMTUzMSwgMTMxNTMzLCAxMzE1MzUsIAotICAgIDEzMTUzNywgMTMxNTM5LCAxMzE1NDEsIDEzMTU0MywgMTMxNTQ1LCAxMzE1NDcsIDEzMTU0OSwgMTMxNTUxLCAxMzE1NTMsIAotICAgIDEzMTU1NSwgMTMxNTU3LCAxMzE1NTksIDEzMTU2MSwgMTMxNTYzLCAxMzE1NjUsIDEzMTU2NywgMTMxNTY5LCAxMzE1NzEsIAotICAgIDEzMTU3MywgMTMxNTc1LCAxMzE1NzcsIDEzMTU3OSwgMTMxNTgxLCAxMzE1ODMsIDEzMTU4NSwgMTMxNTg3LCAxMzE1ODksIAotICAgIDEzMTU5MSwgMTMxNTkzLCAxMzE1OTUsIDEzMTU5NywgMTMxNTk5LCAxMzE2MDEsIDEzMTYwMywgMTMxNjA1LCAxMzE2MDcsIAotICAgIDEzMTYwOSwgMTMxNjExLCAxMzE2MTMsIDEzMTYxNSwgMTMxNjE3LCAxMzE2MTksIDEzMTYyMSwgMTMxNjIzLCAxMzE2MjUsIAotICAgIDEzMTYyNywgMTMxNjI5LCAxMzE2MzEsIDEzMTYzMywgMTMxNjM1LCAxMzE2MzcsIDEzMTYzOSwgMTMxNjQxLCAxMzE2NDMsIAotICAgIDEzMTY0NSwgMTMxNjQ3LCAxMzE2NDksIDEzMTY1MSwgMTMxNjUzLCAxMzE2NTUsIDEzMTY1NywgMTMxNjU5LCAxMzE2NjEsIAotICAgIDEzMTY2MywgMTMxNjY1LCAxMzE2NjcsIDEzMTY2OSwgMTMxNjcxLCAxMzE2NzMsIDEzMTY3NSwgMTMxNjc3LCAxMzE2NzksIAotICAgIDEzMTY4MSwgMTMxNjgzLCAxMzE2ODUsIDEzMTY4NywgMTMxNjg5LCAxMzE2OTEsIDEzMTY5MywgMTMxNjk1LCAxMzE2OTcsIAotICAgIDEzMTY5OSwgMTMxNzAxLCAxMzE3MDMsIDEzMTcwNSwgMTMxNzA3LCAxMzE3MDksIDEzMTcxMSwgMTMxNzEzLCAxMzE3MTUsIAotICAgIDEzMTcxNywgMTMxNzE5LCAxMzE3MjEsIDEzMTcyMywgMTMxNzI1LCAxMzE3MjcsIDEzMTcyOSwgMTMxNzMxLCAxMzE3MzMsIAotICAgIDEzMTczNSwgMTMxNzM3LCAxMzE3MzksIDEzMTc0MSwgMTMxNzQzLCAxMzE3NDUsIDEzMTc0NywgMTMxNzQ5LCAxMzE3NTEsIAotICAgIDEzMTc1MywgMTMxNzU1LCAxMzE3NTcsIDEzMTc1OSwgMTMxNzYxLCAxMzE3NjMsIDEzMTc2NSwgMTMxNzY3LCAxMzE3NjksIAotICAgIDEzMTc3MSwgMTMxNzczLCAxMzE3NzUsIDEzMTc3NywgMTMxNzc5LCAxMzE3ODEsIDEzMTc4MywgMTMxNzg1LCAxMzE3ODcsIAotICAgIDEzMTc4OSwgMTMxNzkxLCAxMzE3OTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEyOTQyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5NDMxLCAxMjk0MzQsIDEyOTQzOCwgMTI5NDQyLCAxMjk0NDUsIAorICAgIDEyOTQ0OSwgMTI5NDUzLCAxMjk0NTYsIDEyOTQ1OSwgMTI5NDYzLCAxMjk0NjcsIDEyOTQ3MCwgMTI5NDczLCAxMjk0NzYsIAorICAgIDEyOTQ3OSwgMTI5NDg0LCAxMjk0ODcsIDEyOTQ5MSwgMTI5NDk0LCAxMjk0OTcsIDEyOTUwMCwgMTI5NTAzLCAxMjk1MDYsIAorICAgIDEyOTUwOSwgMTI5NTEyLCAxMjk1MTUsIDEyOTUxOCwgMTI5NTIxLCAxMjk1MjQsIDEyOTUyOCwgMTI5NTMyLCAxMjk1MzYsIAorICAgIDEyOTU0MCwgMTI5NTQ1LCAxMjk1NTAsIDEyOTU1NiwgMTI5NTYyLCAxMjk1NjgsIDEyOTU3MywgMTI5NTc5LCAxMjk1ODUsIAorICAgIDEyOTU5MSwgMTI5NTk2LCAxMjk2MDIsIDEyOTYwOCwgMTI5NjEzLCAxMjk2MTgsIDEyOTYyNCwgMTI5NjI5LCAxMjk2MzUsIAorICAgIDEyOTY0MSwgMTI5NjQ2LCAxMjk2NTIsIDEyOTY1OCwgMTI5NjYzLCAxMjk2NjksIDEyOTY3NSwgMTI5NjgxLCAxMjk2ODcsIAorICAgIDEyOTY5MywgMTI5Njk3LCAxMjk3MDIsIDEyOTcwNiwgMTI5NzExLCAxMjk3MTUsIDEyOTcyMCwgMTI5NzI1LCAxMjk3MzEsIAorICAgIDEyOTczNywgMTI5NzQzLCAxMjk3NDgsIDEyOTc1NCwgMTI5NzYwLCAxMjk3NjYsIDEyOTc3MSwgMTI5Nzc3LCAxMjk3ODMsIAorICAgIDEyOTc4OCwgMTI5NzkzLCAxMjk3OTksIDEyOTgwNCwgMTI5ODEwLCAxMjk4MTYsIDEyOTgyMSwgMTI5ODI3LCAxMjk4MzMsIAorICAgIDEyOTgzOCwgMTI5ODQ0LCAxMjk4NTAsIDEyOTg1NiwgMTI5ODYyLCAxMjk4NjgsIDEyOTg3MywgMTI5ODc3LCAxMjk4ODIsIAorICAgIDEyOTg4NCwgMTI5ODg4LCAxMjk4OTEsIDEyOTg5NCwgMTI5ODk3LCAxMjk5MDAsIDEyOTkwMywgMTI5OTA2LCAxMjk5MDksIAorICAgIDEyOTkxMiwgMTI5OTE1LCAxMjk5MTgsIDEyOTkyMSwgMTI5OTI0LCAxMjk5MjcsIDEyOTkzMCwgMTI5OTMzLCAxMjk5MzYsIAorICAgIDEyOTkzOSwgMTI5OTQyLCAxMjk5NDUsIDEyOTk0OCwgMTI5OTUxLCAxMjk5NTQsIDEyOTk1NywgMTI5OTYwLCAxMjk5NjMsIAorICAgIDEyOTk2NiwgMTI5OTY5LCAxMjk5NzIsIDEyOTk3NSwgMTI5OTc4LCAxMjk5ODEsIDEyOTk4NCwgMTI5OTg3LCAxMjk5OTAsIAorICAgIDEyOTk5MywgMTI5OTk2LCAxMjk5OTksIDEzMDAwMiwgMTMwMDA1LCAxMzAwMDgsIDEzMDAxMSwgMTMwMDE0LCAxMzAwMTcsIAorICAgIDEzMDAyMCwgMTMwMDIzLCAxMzAwMjYsIDEzMDAyOSwgMTMwMDMyLCAxMzAwMzUsIDEzMDAzOCwgMTMwMDQxLCAxMzAwNDQsIAorICAgIDEzMDA0NywgMTMwMDUwLCAxMzAwNTMsIDEzMDA1NiwgMTMwMDU5LCAxMzAwNjIsIDEzMDA2NSwgMTMwMDY4LCAxMzAwNzEsIAorICAgIDEzMDA3NCwgMTMwMDc3LCAxMzAwODAsIDEzMDA4MywgMTMwMDg2LCAxMzAwODksIDEzMDA5MiwgMTMwMDk1LCAxMzAwOTgsIAorICAgIDEzMDEwMSwgMTMwMTA0LCAxMzAxMDcsIDEzMDExMCwgMTMwMTEzLCAxMzAxMTYsIDEzMDExOSwgMTMwMTIyLCAxMzAxMjUsIAorICAgIDEzMDEyOCwgMTMwMTMxLCAxMzAxMzQsIDEzMDEzNywgMTMwMTQwLCAxMzAxNDMsIDEzMDE0NiwgMTMwMTQ5LCAxMzAxNTIsIAorICAgIDEzMDE1NSwgMTMwMTU4LCAxMzAxNjEsIDEzMDE2NCwgMTMwMTY3LCAxMzAxNzAsIDEzMDE3MywgMTMwMTc2LCAxMzAxNzksIAorICAgIDEzMDE4MiwgMTMwMTg1LCAxMzAxODgsIDEzMDE5MSwgMTMwMTk0LCAxMzAxOTcsIDEzMDIwMCwgMTMwMjAzLCAxMzAyMDYsIAorICAgIDEzMDIwOSwgMTMwMjEyLCAxMzAyMTUsIDEzMDIxOCwgMTMwMjIxLCAxMzAyMjQsIDEzMDIyNywgMTMwMjMwLCAxMzAyMzMsIAorICAgIDEzMDIzNiwgMTMwMjM5LCAxMzAyNDIsIDEzMDI0NSwgMTMwMjQ4LCAxMzAyNTEsIDEzMDI1NCwgMTMwMjU3LCAxMzAyNjAsIAorICAgIDEzMDI2MywgMTMwMjY2LCAxMzAyNjksIDEzMDI3MiwgMTMwMjc1LCAxMzAyNzgsIDEzMDI4MSwgMTMwMjg0LCAxMzAyODcsIAorICAgIDEzMDI5MCwgMTMwMjkzLCAxMzAyOTYsIDEzMDI5OSwgMTMwMzAyLCAxMzAzMDUsIDEzMDMwOCwgMTMwMzExLCAxMzAzMTQsIAorICAgIDEzMDMxNywgMTMwMzIwLCAxMzAzMjMsIDEzMDMyNiwgMTMwMzI5LCAxMzAzMzIsIDEzMDMzNSwgMTMwMzM4LCAxMzAzNDEsIAorICAgIDEzMDM0NCwgMTMwMzQ3LCAxMzAzNTAsIDEzMDM1MywgMTMwMzU2LCAxMzAzNTksIDEzMDM2MiwgMTMwMzY1LCAxMzAzNjgsIAorICAgIDEzMDM3MSwgMTMwMzc0LCAxMzAzNzcsIDEzMDM4MCwgMTMwMzgzLCAxMzAzODYsIDEzMDM4OSwgMTMwMzkyLCAxMzAzOTUsIAorICAgIDEzMDM5OCwgMTMwNDAxLCAxMzA0MDQsIDEzMDQwNywgMTMwNDEwLCAxMzA0MTMsIDEzMDQxNiwgMTMwNDE5LCAxMzA0MjIsIAorICAgIDEzMDQyNSwgMTMwNDI4LCAxMzA0MzEsIDEzMDQzNCwgMTMwNDM3LCAxMzA0NDAsIDEzMDQ0MywgMTMwNDQ2LCAxMzA0NDksIAorICAgIDEzMDQ1MiwgMTMwNDU1LCAxMzA0NTgsIDEzMDQ2MSwgMTMwNDY0LCAxMzA0NjcsIDEzMDQ3MCwgMTMwNDczLCAxMzA0NzYsIAorICAgIDEzMDQ3OSwgMTMwNDgyLCAxMzA0ODUsIDEzMDQ4OCwgMTMwNDkxLCAxMzA0OTQsIDEzMDQ5NywgMTMwNTAwLCAxMzA1MDMsIAorICAgIDEzMDUwNiwgMTMwNTA5LCAxMzA1MTIsIDEzMDUxNSwgMTMwNTE4LCAxMzA1MjEsIDEzMDUyNCwgMTMwNTI3LCAxMzA1MzAsIAorICAgIDEzMDUzMywgMTMwNTM2LCAxMzA1MzksIDEzMDU0MiwgMTMwNTQ1LCAxMzA1NDgsIDEzMDU1MSwgMTMwNTU0LCAxMzA1NTcsIAorICAgIDEzMDU2MCwgMTMwNTYzLCAxMzA1NjYsIDEzMDU2OSwgMTMwNTcyLCAxMzA1NzUsIDEzMDU3OCwgMTMwNTgxLCAxMzA1ODQsIAorICAgIDEzMDU4NywgMTMwNTkwLCAxMzA1OTMsIDEzMDU5NiwgMTMwNTk5LCAxMzA2MDIsIDEzMDYwNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMwNjA4LCAxMzA2MTAsIDEzMDYxMiwgMTMwNjE3LCAxMzA2MTksIAorICAgIDEzMDYyNCwgMTMwNjI2LCAxMzA2MzEsIDEzMDYzMywgMTMwNjM4LCAxMzA2NDAsIDEzMDY0MiwgMTMwNjQ0LCAxMzA2NDYsIAorICAgIDEzMDY0OCwgMTMwNjUwLCAxMzA2NTIsIDEzMDY1NCwgMTMwNjU2LCAxMzA2NTksIDEzMDY2MiwgMTMwNjY0LCAxMzA2NjYsIAorICAgIDEzMDY3MCwgMTMwNjczLCAxMzA2NzgsIDEzMDY4MCwgMTMwNjgyLCAxMzA2ODQsIDEzMDY4OCwgMTMwNjkxLCAxMzA2OTMsIAorICAgIDEzMDY5NywgMTMwNjk5LCAxMzA3MDMsIDEzMDcwNSwgMTMwNzA5LCAxMzA3MTIsIDEzMDcxNCwgMTMwNzE4LCAxMzA3MjIsIAorICAgIDEzMDcyNCwgMTMwNzMwLCAxMzA3MzIsIDEzMDczNywgMTMwNzM5LCAxMzA3NDQsIDEzMDc0NiwgMTMwNzUxLCAxMzA3NTMsIAorICAgIDEzMDc1OCwgMTMwNzYwLCAxMzA3NjMsIDEzMDc2NSwgMTMwNzY5LCAxMzA3NzEsIDEzMDc3OCwgMTMwNzgwLCAxMzA3ODIsIAorICAgIDEzMDc4NCwgMTMwNzg5LCAxMzA3OTEsIDEzMDc5MywgMTMwNzk1LCAxMzA3OTcsIDEzMDc5OSwgMTMwODA0LCAxMzA4MDgsIAorICAgIDEzMDgxMCwgMTMwODE1LCAxMzA4MTksIDEzMDgyMSwgMTMwODI2LCAxMzA4MzAsIDEzMDgzMiwgMTMwODM3LCAxMzA4NDEsIAorICAgIDEzMDg0MywgMTMwODQ1LCAxMzA4NDcsIDEzMDg0OSwgMTMwODUzLCAxMzA4NTUsIDEzMDg2MCwgMTMwODYyLCAxMzA4NjgsIAorICAgIDEzMDg3MCwgMTMwODc2LCAxMzA4NzgsIDEzMDg4MCwgMTMwODgyLCAxMzA4ODYsIDEzMDg4OCwgMTMwODk1LCAxMzA4OTcsIAorICAgIDEzMDkwNCwgMTMwOTA2LCAxMzA5MTEsIDEzMDkxNiwgMTMwOTE4LCAxMzA5MjQsIDEzMDkzMCwgMTMwOTMyLCAxMzA5MzgsIAorICAgIDEzMDk0MywgMTMwOTQ1LCAxMzA5NTEsIDEzMDk1NywgMTMwOTU5LCAxMzA5NjUsIDEzMDk3MSwgMTMwOTczLCAxMzA5NzksIAorICAgIDEzMDk4MywgMTMwOTg1LCAxMzA5OTAsIDEzMDk5MiwgMTMwOTk0LCAxMzA5OTksIDEzMTAwMSwgMTMxMDAzLCAxMzEwMDksIAorICAgIDEzMTAxMSwgMTMxMDE2LCAxMzEwMjAsIDEzMTAyMiwgMTMxMDI3LCAxMzEwMzEsIDEzMTAzMywgMTMxMDM5LCAxMzEwNDEsIAorICAgIDEzMTA0NSwgMTMxMDQ3LCAxMzEwNTEsIDEzMTA1MywgMTMxMDYwLCAxMzEwNjcsIDEzMTA2OSwgMTMxMDc2LCAxMzEwODMsIAorICAgIDEzMTA4NSwgMTMxMDkwLCAxMzEwOTIsIDEzMTA5OSwgMTMxMTAxLCAxMzExMDYsIDEzMTEwOCwgMTMxMTE0LCAxMzExMTYsIAorICAgIDEzMTEyMCwgMTMxMTIyLCAxMzExMjgsIDEzMTEzMCwgMTMxMTM0LCAxMzExMzYsIDEzMTE0MiwgMTMxMTQ0LCAxMzExNDYsIAorICAgIDEzMTE0OCwgMTMxMTUzLCAxMzExNTgsIDEzMTE2MCwgMTMxMTY5LCAxMzExNzMsIDEzMTE4MCwgMTMxMTg3LCAxMzExOTIsIAorICAgIDEzMTE5NywgMTMxMjA5LCAxMzEyMTEsIDEzMTIxMywgMTMxMjE1LCAxMzEyMTcsIDEzMTIxOSwgMTMxMjIxLCAxMzEyMjMsIAorICAgIDEzMTIyNSwgMTMxMjI3LCAxMzEyMjksIDEzMTIzMSwgMTMxMjMzLCAxMzEyMzUsIDEzMTIzNywgMTMxMjM5LCAxMzEyNDEsIAorICAgIDEzMTI0MywgMTMxMjQ5LCAxMzEyNTYsIDEzMTI2MSwgMTMxMjY2LCAxMzEyNzcsIDEzMTI3OSwgMTMxMjgxLCAxMzEyODMsIAorICAgIDEzMTI4NSwgMTMxMjg3LCAxMzEyODksIDEzMTI5MSwgMTMxMjkzLCAxMzEyOTUsIDEzMTI5NywgMTMxMjk5LCAxMzEzMDEsIAorICAgIDEzMTMwMywgMTMxMzA1LCAxMzEzMDcsIDEzMTMwOSwgMTMxMzE0LCAxMzEzMTYsIDEzMTMxOCwgMTMxMzI5LCAxMzEzMzEsIAorICAgIDEzMTMzMywgMTMxMzM1LCAxMzEzMzcsIDEzMTMzOSwgMTMxMzQxLCAxMzEzNDMsIDEzMTM0NSwgMTMxMzQ3LCAxMzEzNDksIAorICAgIDEzMTM1MSwgMTMxMzUzLCAxMzEzNTUsIDEzMTM1NywgMTMxMzU5LCAxMzEzNjEsIDEzMTM2MywgMTMxMzY1LCAxMzEzNjcsIAorICAgIDEzMTM2OSwgMTMxMzcxLCAxMzEzNzMsIDEzMTM3NSwgMTMxMzc3LCAxMzEzNzksIDEzMTM4MSwgMTMxMzgzLCAxMzEzODUsIAorICAgIDEzMTM4NywgMTMxMzg5LCAxMzEzOTEsIDEzMTM5MywgMTMxMzk1LCAxMzEzOTcsIDEzMTM5OSwgMTMxNDAxLCAxMzE0MDMsIAorICAgIDEzMTQwNSwgMTMxNDA3LCAxMzE0MDksIDEzMTQxMSwgMTMxNDEzLCAxMzE0MTUsIDEzMTQxNywgMTMxNDE5LCAxMzE0MjEsIAorICAgIDEzMTQyMywgMTMxNDI1LCAxMzE0MjcsIDEzMTQyOSwgMTMxNDMxLCAxMzE0MzMsIDEzMTQzNSwgMTMxNDM3LCAxMzE0MzksIAorICAgIDEzMTQ0MSwgMTMxNDQzLCAxMzE0NDUsIDEzMTQ0NywgMTMxNDQ5LCAxMzE0NTEsIDEzMTQ1MywgMTMxNDU1LCAxMzE0NTcsIAorICAgIDEzMTQ1OSwgMTMxNDYxLCAxMzE0NjMsIDEzMTQ2NSwgMTMxNDY3LCAxMzE0NjksIDEzMTQ3MSwgMTMxNDczLCAxMzE0NzUsIAorICAgIDEzMTQ3NywgMTMxNDc5LCAxMzE0ODEsIDEzMTQ4MywgMTMxNDg1LCAxMzE0ODcsIDEzMTQ4OSwgMTMxNDkxLCAxMzE0OTMsIAorICAgIDEzMTQ5NSwgMTMxNDk3LCAxMzE0OTksIDEzMTUwMSwgMTMxNTAzLCAxMzE1MDUsIDEzMTUwNywgMTMxNTA5LCAxMzE1MTEsIAorICAgIDEzMTUxMywgMTMxNTE1LCAxMzE1MTcsIDEzMTUxOSwgMTMxNTIxLCAxMzE1MjMsIDEzMTUyNSwgMTMxNTI3LCAxMzE1MjksIAorICAgIDEzMTUzMSwgMTMxNTMzLCAxMzE1MzUsIDEzMTUzNywgMTMxNTM5LCAxMzE1NDEsIDEzMTU0MywgMTMxNTQ1LCAxMzE1NDcsIAorICAgIDEzMTU0OSwgMTMxNTUxLCAxMzE1NTMsIDEzMTU1NSwgMTMxNTU3LCAxMzE1NTksIDEzMTU2MSwgMTMxNTYzLCAxMzE1NjUsIAorICAgIDEzMTU2NywgMTMxNTY5LCAxMzE1NzEsIDEzMTU3MywgMTMxNTc1LCAxMzE1NzcsIDEzMTU3OSwgMTMxNTgxLCAxMzE1ODMsIAorICAgIDEzMTU4NSwgMTMxNTg3LCAxMzE1ODksIDEzMTU5MSwgMTMxNTkzLCAxMzE1OTUsIDEzMTU5NywgMTMxNTk5LCAxMzE2MDEsIAorICAgIDEzMTYwMywgMTMxNjA1LCAxMzE2MDcsIDEzMTYwOSwgMTMxNjExLCAxMzE2MTMsIDEzMTYxNSwgMTMxNjE3LCAxMzE2MTksIAorICAgIDEzMTYyMSwgMTMxNjIzLCAxMzE2MjUsIDEzMTYyNywgMTMxNjI5LCAxMzE2MzEsIDEzMTYzMywgMTMxNjM1LCAxMzE2MzcsIAorICAgIDEzMTYzOSwgMTMxNjQxLCAxMzE2NDMsIDEzMTY0NSwgMTMxNjQ3LCAxMzE2NDksIDEzMTY1MSwgMTMxNjUzLCAxMzE2NTUsIAorICAgIDEzMTY1NywgMTMxNjU5LCAxMzE2NjEsIDEzMTY2MywgMTMxNjY1LCAxMzE2NjcsIDEzMTY2OSwgMTMxNjcxLCAxMzE2NzMsIAorICAgIDEzMTY3NSwgMTMxNjc3LCAxMzE2NzksIDEzMTY4MSwgMTMxNjgzLCAxMzE2ODUsIDEzMTY4NywgMTMxNjg5LCAxMzE2OTEsIAorICAgIDEzMTY5MywgMTMxNjk1LCAxMzE2OTcsIDEzMTY5OSwgMTMxNzAxLCAxMzE3MDMsIDEzMTcwNSwgMTMxNzA3LCAxMzE3MDksIAorICAgIDEzMTcxMSwgMTMxNzEzLCAxMzE3MTUsIDEzMTcxNywgMTMxNzE5LCAxMzE3MjEsIDEzMTcyMywgMTMxNzI1LCAxMzE3MjcsIAorICAgIDEzMTcyOSwgMTMxNzMxLCAxMzE3MzMsIDEzMTczNSwgMTMxNzM3LCAxMzE3MzksIDEzMTc0MSwgMTMxNzQzLCAxMzE3NDUsIAorICAgIDEzMTc0NywgMTMxNzQ5LCAxMzE3NTEsIDEzMTc1MywgMTMxNzU1LCAxMzE3NTcsIDEzMTc1OSwgMTMxNzYxLCAxMzE3NjMsIAorICAgIDEzMTc2NSwgMTMxNzY3LCAxMzE3NjksIDEzMTc3MSwgMTMxNzczLCAxMzE3NzUsIDEzMTc3NywgMTMxNzc5LCAxMzE3ODEsIAorICAgIDEzMTc4MywgMTMxNzg1LCAxMzE3ODcsIDEzMTc4OSwgMTMxNzkxLCAxMzE3OTMsIDEzMTc5NSwgMTMxNzk3LCAxMzE3OTksIAorICAgIDEzMTgwMSwgMTMxODAzLCAxMzE4MDUsIDEzMTgwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTMxNzk1LCAxMzE4MDUsIDEzMTgxNSwgMTMxODI0LCAxMzE4MzMsIDEzMTg0NiwgMTMxODU5LCAxMzE4NzEsIDEzMTg4MywgCi0gICAgMTMxODkzLCAxMzE5MDMsIDEzMTkxMywgMTMxOTIzLCAxMzE5MzQsIDEzMTk0NSwgMTMxOTU1LCAxMzE5NjQsIDEzMTk3MywgCi0gICAgMTMxOTgyLCAxMzE5OTUsIDEzMjAwOCwgMTMyMDIwLCAxMzIwMzIsIDEzMjA0MiwgMTMyMDUyLCAxMzIwNjIsIDEzMjA3MiwgCi0gICAgMTMyMDgxLCAxMzIwOTAsIDEzMjA5OSwgMTMyMTA4LCAxMzIxMTcsIDEzMjEyNiwgMTMyMTM1LCAxMzIxNDQsIDEzMjE1MywgCi0gICAgMTMyMTYyLCAxMzIxNzEsIDEzMjE4MCwgMTMyMTkxLCAxMzIyMDEsIDEzMjIxMSwgMTMyMjI0LCAxMzIyMzQsIDEzMjI0NywgCi0gICAgMTMyMjU0LCAxMzIyNjQsIDEzMjI3MSwgMTMyMjc4LCAxMzIyODUsIDEzMjI5MiwgMTMyMjk5LCAxMzIzMDYsIDEzMjMxNSwgCi0gICAgMTMyMzI0LCAxMzIzMzMsIDEzMjM0MiwgMTMyMzUxLCAxMzIzNjAsIDEzMjM2OSwgMTMyMzc4LCAxMzIzODYsIDEzMjM5NCwgCi0gICAgMTMyNDAxLCAxMzI0MTEsIDEzMjQyMCwgMTMyNDI4LCAxMzI0MzUsIDEzMjQ0NSwgMTMyNDU0LCAxMzI0NTgsIDEzMjQ2MiwgCi0gICAgMTMyNDY2LCAxMzI0NzAsIDEzMjQ3NCwgMTMyNDc4LCAxMzI0ODIsIDEzMjQ4NiwgMTMyNDkwLCAxMzI0OTQsIDEzMjQ5NywgCi0gICAgMTMyNTAxLCAxMzI1MDQsIDEzMjUwNywgMTMyNTExLCAxMzI1MTUsIDEzMjUxOSwgMTMyNTIzLCAxMzI1MjcsIDEzMjUzMSwgCi0gICAgMTMyNTM1LCAxMzI1MzksIDEzMjU0MywgMTMyNTQ3LCAxMzI1NTEsIDEzMjU1NSwgMTMyNTU5LCAxMzI1NjMsIDEzMjU2NywgCi0gICAgMTMyNTcxLCAxMzI1NzUsIDEzMjU3OSwgMTMyNTgzLCAxMzI1ODcsIDEzMjU5MSwgMTMyNTk1LCAxMzI1OTksIDEzMjYwMywgCi0gICAgMTMyNjA3LCAxMzI2MTEsIDEzMjYxNSwgMTMyNjE5LCAxMzI2MjMsIDEzMjYyNywgMTMyNjMxLCAxMzI2MzUsIDEzMjYzOSwgCi0gICAgMTMyNjQzLCAxMzI2NDcsIDEzMjY1MSwgMTMyNjU1LCAxMzI2NTksIDEzMjY2MywgMTMyNjY3LCAxMzI2NzEsIDEzMjY3NSwgCi0gICAgMTMyNjc5LCAxMzI2ODMsIDEzMjY4NywgMTMyNjkxLCAxMzI2OTUsIDEzMjY5OSwgMTMyNzAzLCAxMzI3MDcsIDEzMjcxMSwgCi0gICAgMTMyNzE1LCAxMzI3MTksIDEzMjcyMywgMTMyNzI3LCAxMzI3MzEsIDEzMjczNSwgMTMyNzM5LCAxMzI3NDMsIDEzMjc0NywgCi0gICAgMTMyNzUxLCAxMzI3NTUsIDEzMjc1OSwgMTMyNzYzLCAxMzI3NjcsIDEzMjc3MSwgMTMyNzc1LCAxMzI3NzksIDEzMjc4MywgCi0gICAgMTMyNzg3LCAxMzI3OTEsIDEzMjc5NSwgMTMyNzk5LCAxMzI4MDMsIDEzMjgwNywgMTMyODExLCAxMzI4MTUsIDEzMjgxOSwgCi0gICAgMTMyODIzLCAxMzI4MjcsIDEzMjgzMSwgMTMyODM1LCAxMzI4MzksIDEzMjg0MywgMTMyODQ3LCAxMzI4NTAsIDEzMjg1NCwgCi0gICAgMTMyODU4LCAxMzI4NjIsIDEzMjg2NiwgMTMyODcwLCAxMzI4NzQsIDEzMjg3OCwgMTMyODgyLCAxMzI4ODYsIDEzMjg5MCwgCi0gICAgMTMyODk0LCAxMzI4OTgsIDEzMjkwMiwgMTMyOTA2LCAxMzI5MTAsIDEzMjkxNCwgMTMyOTE4LCAxMzI5MjIsIDEzMjkyNiwgCi0gICAgMTMyOTMwLCAxMzI5MzQsIDEzMjkzOCwgMTMyOTQyLCAxMzI5NDYsIDEzMjk1MCwgMTMyOTU0LCAxMzI5NTgsIDEzMjk2MiwgCi0gICAgMTMyOTY2LCAxMzI5NzAsIDEzMjk3NCwgMTMyOTc4LCAxMzI5ODIsIDEzMjk4NiwgMTMyOTkwLCAxMzI5OTQsIDEzMjk5OCwgCi0gICAgMTMzMDAyLCAxMzMwMDYsIDEzMzAxMCwgMTMzMDE0LCAxMzMwMTgsIDEzMzAyMiwgMTMzMDI2LCAxMzMwMzAsIDEzMzAzNCwgCi0gICAgMTMzMDM4LCAxMzMwNDIsIDEzMzA0NiwgMTMzMDUwLCAxMzMwNTQsIDEzMzA1OCwgMTMzMDYyLCAxMzMwNjYsIDEzMzA3MCwgCi0gICAgMTMzMDc0LCAxMzMwNzgsIDEzMzA4MiwgMTMzMDg2LCAxMzMwOTAsIDEzMzA5NCwgMTMzMDk4LCAxMzMxMDIsIDEzMzEwNiwgCi0gICAgMTMzMTEwLCAxMzMxMTQsIDEzMzExOCwgMTMzMTIyLCAxMzMxMjYsIDEzMzEzMCwgMTMzMTM0LCAxMzMxMzgsIDEzMzE0MiwgCi0gICAgMTMzMTQ2LCAxMzMxNTAsIDEzMzE1NCwgMTMzMTU4LCAxMzMxNjIsIDEzMzE2NiwgMTMzMTcwLCAxMzMxNzQsIDEzMzE3OCwgCi0gICAgMTMzMTgyLCAxMzMxODYsIDEzMzE5MCwgMTMzMTk0LCAxMzMxOTgsIDEzMzIwMiwgMTMzMjA2LCAxMzMyMTAsIDEzMzIxNCwgCi0gICAgMTMzMjE4LCAxMzMyMjIsIDEzMzIyNiwgMTMzMjMwLCAxMzMyMzQsIDEzMzIzOCwgMTMzMjQyLCAxMzMyNDYsIDEzMzI1MCwgCi0gICAgMTMzMjU0LCAxMzMyNTgsIDEzMzI2MiwgMTMzMjY2LCAxMzMyNzAsIDEzMzI3NCwgMTMzMjc4LCAxMzMyODIsIDEzMzI4NiwgCi0gICAgMTMzMjkwLCAxMzMyOTQsIDEzMzI5OCwgMTMzMzAyLCAxMzMzMDYsIDEzMzMxMCwgMTMzMzE0LCAxMzMzMTgsIDEzMzMyMiwgCi0gICAgMTMzMzI2LCAxMzMzMzAsIDEzMzMzNCwgMTMzMzM4LCAxMzMzNDIsIDEzMzM0NiwgMTMzMzUwLCAxMzMzNTQsIDEzMzM1OCwgCi0gICAgMTMzMzYyLCAxMzMzNjYsIDEzMzM3MCwgMTMzMzc0LCAxMzMzNzgsIDEzMzM4MiwgMTMzMzg2LCAxMzMzOTAsIDEzMzM5NCwgCi0gICAgMTMzMzk4LCAxMzM0MDIsIDEzMzQwNiwgMTMzNDEwLCAxMzM0MTQsIDEzMzQxOCwgMTMzNDIyLCAxMzM0MjYsIDEzMzQzMCwgCi0gICAgMTMzNDM0LCAxMzM0MzgsIDEzMzQ0MiwgMTMzNDQ2LCAxMzM0NTAsIDEzMzQ1NCwgMTMzNDU4LCAxMzM0NjIsIDEzMzQ2NiwgCi0gICAgMTMzNDcwLCAxMzM0NzQsIDEzMzQ3OCwgMTMzNDgyLCAxMzM0ODYsIDEzMzQ5MCwgMTMzNDk0LCAxMzM0OTgsIDEzMzUwMiwgCi0gICAgMTMzNTA2LCAxMzM1MTAsIDEzMzUxNCwgMTMzNTE4LCAxMzM1MjIsIDEzMzUyNiwgMTMzNTMwLCAxMzM1MzQsIDEzMzUzOCwgCi0gICAgMTMzNTQyLCAxMzM1NDYsIDEzMzU1MCwgMTMzNTU0LCAxMzM1NTgsIDEzMzU2MiwgMTMzNTY2LCAxMzM1NzAsIDEzMzU3NCwgCi0gICAgMTMzNTc4LCAxMzM1ODIsIDEzMzU4NiwgMTMzNTkwLCAxMzM1OTQsIDEzMzU5OCwgMTMzNjAyLCAxMzM2MDYsIDEzMzYxMCwgCi0gICAgMTMzNjE0LCAxMzM2MTksIDEzMzYyNCwgMTMzNjI5LCAxMzM2MzMsIDEzMzYzOSwgMTMzNjQ2LCAxMzM2NTMsIDEzMzY2MCwgCi0gICAgMTMzNjY3LCAxMzM2NzQsIDEzMzY4MSwgMTMzNjg4LCAxMzM2OTUsIDEzMzcwMiwgMTMzNzA5LCAxMzM3MTYsIDEzMzcyMywgCi0gICAgMTMzNzMwLCAxMzM3MzYsIDEzMzc0MywgMTMzNzUwLCAxMzM3NTYsIDEzMzc2MywgMTMzNzcwLCAxMzM3NzcsIDEzMzc4NCwgCi0gICAgMTMzNzkxLCAxMzM3OTgsIDEzMzgwNSwgMTMzODEyLCAxMzM4MTksIDEzMzgyNiwgMTMzODMzLCAxMzM4NDAsIDEzMzg0NywgCi0gICAgMTMzODUzLCAxMzM4NTksIDEzMzg2NiwgMTMzODczLCAxMzM4ODIsIDEzMzg5MSwgMTMzOTAwLCAxMzM5MDksIDEzMzkxNCwgCi0gICAgMTMzOTE5LCAxMzM5MjUsIDEzMzkzMSwgMTMzOTM3LCAxMzM5NDMsIDEzMzk0OSwgMTMzOTU1LCAxMzM5NjEsIDEzMzk2NywgCi0gICAgMTMzOTczLCAxMzM5NzksIDEzMzk4NSwgMTMzOTkxLCAxMzM5OTYsIDEzNDAwMiwgMTM0MDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzE4MDksIDEzMTgxOSwgMTMxODI5LCAxMzE4MzgsIDEzMTg0NywgMTMxODYwLCAxMzE4NzMsIDEzMTg4NSwgMTMxODk3LCAKKyAgICAxMzE5MDcsIDEzMTkxNywgMTMxOTI3LCAxMzE5MzcsIDEzMTk0OCwgMTMxOTU5LCAxMzE5NjksIDEzMTk3OCwgMTMxOTg3LCAKKyAgICAxMzE5OTYsIDEzMjAwOSwgMTMyMDIyLCAxMzIwMzQsIDEzMjA0NiwgMTMyMDU2LCAxMzIwNjYsIDEzMjA3NiwgMTMyMDg2LCAKKyAgICAxMzIwOTUsIDEzMjEwNCwgMTMyMTEzLCAxMzIxMjIsIDEzMjEzMSwgMTMyMTQwLCAxMzIxNDksIDEzMjE1OCwgMTMyMTY3LCAKKyAgICAxMzIxNzYsIDEzMjE4NSwgMTMyMTk0LCAxMzIyMDUsIDEzMjIxNSwgMTMyMjI1LCAxMzIyMzgsIDEzMjI0OCwgMTMyMjYxLCAKKyAgICAxMzIyNjgsIDEzMjI3OCwgMTMyMjg1LCAxMzIyOTIsIDEzMjI5OSwgMTMyMzA2LCAxMzIzMTMsIDEzMjMyMCwgMTMyMzI5LCAKKyAgICAxMzIzMzgsIDEzMjM0NywgMTMyMzU2LCAxMzIzNjUsIDEzMjM3NCwgMTMyMzgzLCAxMzIzOTIsIDEzMjQwMCwgMTMyNDA4LCAKKyAgICAxMzI0MTUsIDEzMjQyNSwgMTMyNDM0LCAxMzI0NDIsIDEzMjQ0OSwgMTMyNDU5LCAxMzI0NjgsIDEzMjQ3MiwgMTMyNDc2LCAKKyAgICAxMzI0ODAsIDEzMjQ4NCwgMTMyNDg4LCAxMzI0OTIsIDEzMjQ5NiwgMTMyNTAwLCAxMzI1MDQsIDEzMjUwOCwgMTMyNTExLCAKKyAgICAxMzI1MTUsIDEzMjUxOCwgMTMyNTIxLCAxMzI1MjUsIDEzMjUyOSwgMTMyNTMzLCAxMzI1MzcsIDEzMjU0MSwgMTMyNTQ1LCAKKyAgICAxMzI1NDksIDEzMjU1MywgMTMyNTU3LCAxMzI1NjEsIDEzMjU2NSwgMTMyNTY5LCAxMzI1NzMsIDEzMjU3NywgMTMyNTgxLCAKKyAgICAxMzI1ODUsIDEzMjU4OSwgMTMyNTkzLCAxMzI1OTcsIDEzMjYwMSwgMTMyNjA1LCAxMzI2MDksIDEzMjYxMywgMTMyNjE3LCAKKyAgICAxMzI2MjEsIDEzMjYyNSwgMTMyNjI5LCAxMzI2MzMsIDEzMjYzNywgMTMyNjQxLCAxMzI2NDUsIDEzMjY0OSwgMTMyNjUzLCAKKyAgICAxMzI2NTcsIDEzMjY2MSwgMTMyNjY1LCAxMzI2NjksIDEzMjY3MywgMTMyNjc3LCAxMzI2ODEsIDEzMjY4NSwgMTMyNjg5LCAKKyAgICAxMzI2OTMsIDEzMjY5NywgMTMyNzAxLCAxMzI3MDUsIDEzMjcwOSwgMTMyNzEzLCAxMzI3MTcsIDEzMjcyMSwgMTMyNzI1LCAKKyAgICAxMzI3MjksIDEzMjczMywgMTMyNzM3LCAxMzI3NDEsIDEzMjc0NSwgMTMyNzQ5LCAxMzI3NTMsIDEzMjc1NywgMTMyNzYxLCAKKyAgICAxMzI3NjUsIDEzMjc2OSwgMTMyNzczLCAxMzI3NzcsIDEzMjc4MSwgMTMyNzg1LCAxMzI3ODksIDEzMjc5MywgMTMyNzk3LCAKKyAgICAxMzI4MDEsIDEzMjgwNSwgMTMyODA5LCAxMzI4MTMsIDEzMjgxNywgMTMyODIxLCAxMzI4MjUsIDEzMjgyOSwgMTMyODMzLCAKKyAgICAxMzI4MzcsIDEzMjg0MSwgMTMyODQ1LCAxMzI4NDksIDEzMjg1MywgMTMyODU3LCAxMzI4NjEsIDEzMjg2NCwgMTMyODY4LCAKKyAgICAxMzI4NzIsIDEzMjg3NiwgMTMyODgwLCAxMzI4ODQsIDEzMjg4OCwgMTMyODkyLCAxMzI4OTYsIDEzMjkwMCwgMTMyOTA0LCAKKyAgICAxMzI5MDgsIDEzMjkxMiwgMTMyOTE2LCAxMzI5MjAsIDEzMjkyNCwgMTMyOTI4LCAxMzI5MzIsIDEzMjkzNiwgMTMyOTQwLCAKKyAgICAxMzI5NDQsIDEzMjk0OCwgMTMyOTUyLCAxMzI5NTYsIDEzMjk2MCwgMTMyOTY0LCAxMzI5NjgsIDEzMjk3MiwgMTMyOTc2LCAKKyAgICAxMzI5ODAsIDEzMjk4NCwgMTMyOTg4LCAxMzI5OTIsIDEzMjk5NiwgMTMzMDAwLCAxMzMwMDQsIDEzMzAwOCwgMTMzMDEyLCAKKyAgICAxMzMwMTYsIDEzMzAyMCwgMTMzMDI0LCAxMzMwMjgsIDEzMzAzMiwgMTMzMDM2LCAxMzMwNDAsIDEzMzA0NCwgMTMzMDQ4LCAKKyAgICAxMzMwNTIsIDEzMzA1NiwgMTMzMDYwLCAxMzMwNjQsIDEzMzA2OCwgMTMzMDcyLCAxMzMwNzYsIDEzMzA4MCwgMTMzMDg0LCAKKyAgICAxMzMwODgsIDEzMzA5MiwgMTMzMDk2LCAxMzMxMDAsIDEzMzEwNCwgMTMzMTA4LCAxMzMxMTIsIDEzMzExNiwgMTMzMTIwLCAKKyAgICAxMzMxMjQsIDEzMzEyOCwgMTMzMTMyLCAxMzMxMzYsIDEzMzE0MCwgMTMzMTQ0LCAxMzMxNDgsIDEzMzE1MiwgMTMzMTU2LCAKKyAgICAxMzMxNjAsIDEzMzE2NCwgMTMzMTY4LCAxMzMxNzIsIDEzMzE3NiwgMTMzMTgwLCAxMzMxODQsIDEzMzE4OCwgMTMzMTkyLCAKKyAgICAxMzMxOTYsIDEzMzIwMCwgMTMzMjA0LCAxMzMyMDgsIDEzMzIxMiwgMTMzMjE2LCAxMzMyMjAsIDEzMzIyNCwgMTMzMjI4LCAKKyAgICAxMzMyMzIsIDEzMzIzNiwgMTMzMjQwLCAxMzMyNDQsIDEzMzI0OCwgMTMzMjUyLCAxMzMyNTYsIDEzMzI2MCwgMTMzMjY0LCAKKyAgICAxMzMyNjgsIDEzMzI3MiwgMTMzMjc2LCAxMzMyODAsIDEzMzI4NCwgMTMzMjg4LCAxMzMyOTIsIDEzMzI5NiwgMTMzMzAwLCAKKyAgICAxMzMzMDQsIDEzMzMwOCwgMTMzMzEyLCAxMzMzMTYsIDEzMzMyMCwgMTMzMzI0LCAxMzMzMjgsIDEzMzMzMiwgMTMzMzM2LCAKKyAgICAxMzMzNDAsIDEzMzM0NCwgMTMzMzQ4LCAxMzMzNTIsIDEzMzM1NiwgMTMzMzYwLCAxMzMzNjQsIDEzMzM2OCwgMTMzMzcyLCAKKyAgICAxMzMzNzYsIDEzMzM4MCwgMTMzMzg0LCAxMzMzODgsIDEzMzM5MiwgMTMzMzk2LCAxMzM0MDAsIDEzMzQwNCwgMTMzNDA4LCAKKyAgICAxMzM0MTIsIDEzMzQxNiwgMTMzNDIwLCAxMzM0MjQsIDEzMzQyOCwgMTMzNDMyLCAxMzM0MzYsIDEzMzQ0MCwgMTMzNDQ0LCAKKyAgICAxMzM0NDgsIDEzMzQ1MiwgMTMzNDU2LCAxMzM0NjAsIDEzMzQ2NCwgMTMzNDY4LCAxMzM0NzIsIDEzMzQ3NiwgMTMzNDgwLCAKKyAgICAxMzM0ODQsIDEzMzQ4OCwgMTMzNDkyLCAxMzM0OTYsIDEzMzUwMCwgMTMzNTA0LCAxMzM1MDgsIDEzMzUxMiwgMTMzNTE2LCAKKyAgICAxMzM1MjAsIDEzMzUyNCwgMTMzNTI4LCAxMzM1MzIsIDEzMzUzNiwgMTMzNTQwLCAxMzM1NDQsIDEzMzU0OCwgMTMzNTUyLCAKKyAgICAxMzM1NTYsIDEzMzU2MCwgMTMzNTY0LCAxMzM1NjgsIDEzMzU3MiwgMTMzNTc2LCAxMzM1ODAsIDEzMzU4NCwgMTMzNTg4LCAKKyAgICAxMzM1OTIsIDEzMzU5NiwgMTMzNjAwLCAxMzM2MDQsIDEzMzYwOCwgMTMzNjEyLCAxMzM2MTYsIDEzMzYyMCwgMTMzNjI0LCAKKyAgICAxMzM2MjgsIDEzMzYzMywgMTMzNjM4LCAxMzM2NDMsIDEzMzY0NywgMTMzNjUzLCAxMzM2NjAsIDEzMzY2NywgMTMzNjc0LCAKKyAgICAxMzM2ODEsIDEzMzY4OCwgMTMzNjk1LCAxMzM3MDIsIDEzMzcwOSwgMTMzNzE2LCAxMzM3MjMsIDEzMzczMCwgMTMzNzM3LCAKKyAgICAxMzM3NDQsIDEzMzc1MCwgMTMzNzU3LCAxMzM3NjQsIDEzMzc3MCwgMTMzNzc3LCAxMzM3ODQsIDEzMzc5MSwgMTMzNzk4LCAKKyAgICAxMzM4MDUsIDEzMzgxMiwgMTMzODE5LCAxMzM4MjYsIDEzMzgzMywgMTMzODQwLCAxMzM4NDcsIDEzMzg1NCwgMTMzODYxLCAKKyAgICAxMzM4NjcsIDEzMzg3MywgMTMzODgwLCAxMzM4ODcsIDEzMzg5NiwgMTMzOTA1LCAxMzM5MTQsIDEzMzkyMywgMTMzOTI4LCAKKyAgICAxMzM5MzMsIDEzMzkzOSwgMTMzOTQ1LCAxMzM5NTEsIDEzMzk1NywgMTMzOTYzLCAxMzM5NjksIDEzMzk3NSwgMTMzOTgxLCAKKyAgICAxMzM5ODcsIDEzMzk5MywgMTMzOTk5LCAxMzQwMDUsIDEzNDAxMCwgMTM0MDE2LCAxMzQwMjYsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtMTcxMTcsOSArMTcxMTksOSBAQAogICAgIDY0MDY1LCA2NDA3MiwgNjQwNzEsIDYzLCA3MjMzLCA5MjIxMiwgMCwgNDE5MDQsIDY2MzksIDY0MDY0LCA5ODM3NjYsIAogICAgIDEyODM0NCwgMCwgMTE3NiwgMTE4OTU5LCAxMjc5MzAsIDgxNjIsIDEyODY2NywgOTgzODIyLCAwLCAxMjA1MTksIDY2Mzc2LCAKICAgICA2NjI0MiwgMTE0MTUsIDQzMzMsIDk4NTUsIDY0MTEyLCA2NDY0MiwgMCwgNTM4OCwgMCwgMCwgMCwgNzcxNCwgNjYyMjIsIAotICAgIDY5OTAyLCA3NzY4LCAwLCA0MTk5LCA2NDcwOCwgOTgzNDEzLCAwLCAwLCA4NzA4LCA5NTYwLCA2NDA3NywgNjQwNzYsIAorICAgIDY5OTAyLCA3NzY4LCAwLCA0MTk5LCA2NDcwOCwgOTgzNDE0LCAwLCAwLCA4NzA4LCA5NTYwLCA2NDA3NywgNjQwNzYsIAogICAgIDg5OTYsIDQ5OTIsIDQ0NzEsIDQyNjIyLCA2NDA3OSwgNjQwNzgsIDkyMTc5LCAwLCAxMjY1NzAsIDAsIDY0NjE1LCA0MTkxNSwgCi0gICAgMCwgMTIwNzUsIDcwMDYyLCAwLCA1MTc0LCA5ODMyMTUsIDAsIDEyNzU1NywgMzEyMywgMCwgMTI2ODUsIDEyNzkwNCwgCisgICAgMCwgMTIwNzUsIDcwMDYyLCAwLCA1MTc0LCA5ODMyMTYsIDAsIDEyNzU1NywgMzEyMywgMCwgMTI2ODUsIDEyNzkwNCwgCiAgICAgODQwOCwgNjQ3MDQsIDAsIDAsIDkyMjMsIDAsIDQxNjE2LCA2Nzk5OSwgNzM3OTcsIDAsIDExMTYsIDEyODIwNCwgNDMwNDksIAogICAgIDcxMzYsIDQzMDUwLCA4NTQ4LCAxMjA0ODUsIDAsIDExOTA2MSwgOTE3OTk5LCAwLCAxMzExNSwgNDM2NzUsIDY0MDkxLCAKICAgICA5MzIyLCAwLCAxMjA1OTUsIDY0MDk1LCA2NDA5NCwgODExMSwgNjYyNDcsIDQyMzMyLCA2NDA4OSwgNjQwODgsIDYxOTksIDAsIApAQCAtMTcxMjcsMTAgKzE3MTI5LDEwIEBACiAgICAgOTkyNywgNDEzMzUsIDQxMTgsIDE3OTcsIDAsIDQxMzM0LCAwLCA0NiwgNDM0NDgsIDEyNzg4MSwgMjk4LCAwLCAxMjgxMTQsIAogICAgIDAsIDQyNjI3LCAwLCAzMiwgNjE4NywgMTE5MDUyLCAxMTQ5NSwgMTE0NTksIDM2NjUsIDk4MzYwMCwgNDI4NzEsIDAsIAogICAgIDE5OTIzLCA3NDMzNSwgMCwgMTI3MTkyLCA2NjIzOSwgNDIyNjQsIDY0NDAzLCA0NDEyLCA3MjQwLCA5MjQ5NSwgMCwgCi0gICAgOTgzNDU4LCA2NTc1OCwgMTI3NTAsIDQxODEsIDg1NDQsIDAsIDEyMDE5OSwgOTE3ODk3LCAxMjAxOTgsIDY5ODA5LCA2MTgxLCAKKyAgICA5ODM0NTksIDY1NzU4LCAxMjc1MCwgNDE4MSwgODU0NCwgMCwgMTIwMTk5LCA5MTc4OTcsIDEyMDE5OCwgNjk4MDksIDYxODEsIAogICAgIDY1MDE0LCAwLCAwLCA5ODMxOTYsIDM2MzksIDExOTU4OCwgMCwgMCwgMTE4OTA0LCAxMDA3MywgMTIwMjA2LCAxMjg4NjIsIAogICAgIDEyNzE4NiwgNjg0MDksIDQyODQ0LCA3NDk4LCAxMDk4LCA5MjU2NSwgMTIwMjA1LCAwLCA5ODMxMTgsIDEwMjA3LCA4Nzg5LCAKLSAgICA5ODMyMjMsIDAsIDAsIDk4MzQ2NCwgOTIzNCwgMCwgNjE4MiwgOTgzNDY2LCA2NTA1OCwgMCwgOTgzNDcwLCA5ODM0NjcsIDAsIAorICAgIDk4MzIyNCwgMCwgMCwgOTgzNDY1LCA5MjM0LCAwLCA2MTgyLCA5ODM0NjcsIDY1MDU4LCAwLCA5ODM0NzEsIDk4MzQ2OCwgMCwgCiAgICAgNTQ3MSwgOTQ2MSwgNTU3MywgMTE4OTM2LCA1NDczLCA0NCwgMCwgNjYyNDQsIDk0MDcyLCAwLCA2NjIzOCwgMTI4NDQsIDAsIAogICAgIDE2MjIsIDc3NjcsIDE5MDAsIDQxMzM5LCAxMTQ1OCwgMCwgMCwgNjU4MSwgNTU3NiwgMCwgNjQ0MDUsIDQxMzM3LCAwLCAKICAgICA0MTYzMSwgODk0NywgNjgzOTAsIDEyNzg0NCwgNDE2OTQsIDAsIDAsIDc5MDgsIDAsIDEwNDA4LCA2NTc5LCAwLCA2NDYxOCwgCkBAIC0xNzE3Nyw3ICsxNzE3OSw3IEBACiAgICAgMTIwODQsIDEyNzMyNCwgMTI3MzIxLCA5MjI3OSwgMTI3MzE5LCAxMjczMjAsIDEyNzMxNywgMTI3MzE4LCAxMjczMTUsIAogICAgIDEyMjgzLCAxNjE2LCAzNzk1LCAwLCA4Nzk1LCA2NjI0NSwgMCwgMCwgMCwgMTEzOCwgNzM5MDUsIDEyNjc3LCAwLCAwLCAKICAgICAzMjM5LCAxMjczMTEsIDAsIDAsIDg0MzEsIDAsIDQyMTY0LCAwLCAxMTc3OCwgMTI2MjAsIDY4MjYsIDczNzczLCAxMTkwNzMsIAotICAgIDUwNDAsIDAsIDAsIDk4MzQzNSwgNzg0MjAsIDAsIDUwMzksIDAsIDc4NDE4LCAwLCA1MDM4LCAwLCAwLCAxMzE4NCwgCisgICAgNTA0MCwgMCwgMCwgOTgzNDM2LCA3ODQyMCwgMCwgNTAzOSwgMCwgNzg0MTgsIDAsIDUwMzgsIDAsIDAsIDEzMTg0LCAKICAgICA3NDI5MywgMCwgNjQ2NDgsIDAsIDkzNTksIDc4NDE2LCAwLCAxMjg3NzAsIDY1MTU3LCA2NjYyLCAwLCAwLCAzODYzLCAKICAgICA3MzkwOSwgNDgzNSwgNTUyNjYsIDQzNDMyLCAxMjc4MjIsIDQzMDksIDcxMjcsIDE5NDU2OSwgMCwgMTk0NTY4LCAxMzAxLCAKICAgICAwLCA0MjU4OSwgNTY5LCAwLCA3MzgxMywgNzExLCA0Mzg5LCA3MTMzLCAwLCA3Mzg4MCwgMTE2MTAsIDExMzY4LCAwLCAKQEAgLTE3MjAyLDE2ICsxNzIwNCwxNiBAQAogICAgIDYxODMsIDAsIDAsIDAsIDEyMDQ0OCwgNzYyMywgMTE4OTI1LCAxMTg4ODksIDkyMzUsIDEyNzYwLCA3NDE3NiwgNjk2NjIsIAogICAgIDY2NDQ1LCA0MzU0MCwgMTAwNjIsIDM3NDMsIDExNTE0LCAxMTA3OCwgMCwgMTIxMzYsIDAsIDEyNjU5NywgMTIwNDM1LCAwLCAKICAgICA3NzI2LCAwLCAxOTkyMiwgMjY3LCAzMzkzLCA0MjE5OCwgMTM3MSwgMTk0ODQ5LCA2OTIzMywgMjQ1OCwgMCwgNjIwMSwgMCwgCi0gICAgNDEwNzQsIDQyNjYsIDEwNjUyLCA0MTYxMiwgNDEwNzcsIDM0MDIsIDkwNTAsIDMzOTgsIDAsIDk4MzM0MCwgMCwgMzM5MSwgCisgICAgNDEwNzQsIDQyNjYsIDEwNjUyLCA0MTYxMiwgNDEwNzcsIDM0MDIsIDkwNTAsIDMzOTgsIDAsIDk4MzM0MSwgMCwgMzM5MSwgCiAgICAgNDEwNzUsIDI0NzYsIDAsIDEyODAxNywgMCwgMTA2MjUsIDAsIDEyNzY3LCAxMzAxNywgNzg3NDMsIDY0MjYxLCA2NDkzNCwgCi0gICAgMTI3NTM3LCAxMzAxNCwgMTMwMTMsIDAsIDY2NzMsIDAsIDAsIDAsIDEyNDM4LCAwLCA5ODMzMzQsIDAsIDk4Mzg3MSwgCisgICAgMTI3NTM3LCAxMzAxNCwgMTMwMTMsIDAsIDY2NzMsIDAsIDAsIDAsIDEyNDM4LCAwLCA5ODMzMzUsIDAsIDk4Mzg3MSwgCiAgICAgMTI2NjM4LCA5MDUzLCAxMzAxNSwgNzQ1MjMsIDAsIDcwNCwgNjYyMTUsIDYxOTUsIDk4MzgxOSwgNjY2MCwgNzg3NTgsIAotICAgIDkxNzc2MCwgOTE3NzkzLCA0MjIxMiwgMTI2MjksIDExNDM1LCAwLCA1NTI1NiwgNjU1MzgsIDAsIDEyNzk0MCwgOTgzMzMzLCAKKyAgICA5MTc3NjAsIDkxNzc5MywgNDIyMTIsIDEyNjI5LCAxMTQzNSwgMCwgNTUyNTYsIDY1NTM4LCAwLCAxMjc5NDAsIDk4MzMzNCwgCiAgICAgNzQ1NDcsIDEyNjU4NSwgNjU0NDgsIDc4MTAwLCAxMjk0OCwgMTE5MDAxLCAxOTUwMDIsIDExOTIzOCwgMTk1MDA0LCAKICAgICA3ODA5OSwgMTI3MDg1LCAwLCAxMjgzMjAsIDQyODcsIDgyNzYsIDQ5MDIsIDExMzEsIDAsIDc4NDU4LCA2NjcyOCwgMTgxNiwgCiAgICAgMCwgNDI1MzMsIDE2OCwgNDI4NDUsIDQ4OTgsIDY0Mjk4LCA5ODMxNDEsIDAsIDQ5MDEsIDE4MjEsIDAsIDU3OCwgMzY1MywgCiAgICAgMCwgNzkxLCA5MTYyLCA2OTc3LCAwLCA3ODg4OSwgNzQ1NjEsIDAsIDczNzMxLCA4MzU0LCA0MzU5MCwgMTE5MzAzLCAKLSAgICA5ODM0NDEsIDc1NTcsIDExOTMzOSwgMTE5MzAxLCA4MjM0LCA3MjQxLCAwLCAxMjA2NzEsIDExOTE2NywgMTk0OTk2LCAKKyAgICA5ODM0NDIsIDc1NTcsIDExOTMzOSwgMTE5MzAxLCA4MjM0LCA3MjQxLCAwLCAxMjA2NzEsIDExOTE2NywgMTk0OTk2LCAKICAgICAxMjgxMSwgNjU5MjUsIDM5NDYsIDc4MDc4LCAxMDk5OCwgNzgwODAsIDY3MywgMTk0ODY3LCA2NDM5NywgMTI4Mjc2LCAKICAgICA3NDU5OSwgNzg0NDksIDg4OTAsIDE5NDk3NywgMTk0OTc2LCAyNDQ4LCA3ODA4NSwgMTAyNjcsIDg0MjQsIDI0NTIsIAogICAgIDc4MDgzLCAxMjg4MjQsIDg3MjksIDc4NDU2LCAwLCA3ODQ1LCA5MTc5MTcsIDcxMzAyLCA0NDA4LCA0MTIyLCA2NzcyLCAKQEAgLTE3MjY3LDEyICsxNzI2OSwxMiBAQAogICAgIDE5NDU4NywgMCwgMTIxMSwgMCwgMCwgMCwgMTE4ODMyLCAxMjMxOCwgMCwgMCwgNjgwMDUsIDEwNjIyLCA5ODM3NzAsIDAsIAogICAgIDc4NjU0LCA2NTY2LCA3ODY1OSwgMCwgNzM3ODAsIDExOTE5NiwgNjQ4NjQsIDAsIDc4NjYwLCAwLCA4Mjg0LCAxMzA4MSwgMCwgCiAgICAgMzU4OSwgNDIwNTEsIDQwMzUsIDY0OTIsIDkyMjM2LCA0MjY1LCA2NjQyLCAzOTc3LCA3NDE4NiwgNDE3NzgsIDgzNiwgCi0gICAgMTE5MjE2LCAyNDg4LCAwLCA0NTgyLCAwLCAwLCA0MTc3NywgMTI5MjYsIDk4MzM2OSwgNzUyOCwgMTA1NTAsIDAsIDkyNzA2LCAKKyAgICAxMTkyMTYsIDI0ODgsIDAsIDQ1ODIsIDAsIDAsIDQxNzc3LCAxMjkyNiwgOTgzMzcwLCA3NTI4LCAxMDU1MCwgMCwgOTI3MDYsIAogICAgIDAsIDEwOTYxLCAwLCAxMzc0LCA2NDg3OCwgMTE5MDE0LCAwLCA0MjM4OSwgNDEzNzQsIDIyODYsIDAsIDc4NDkyLCA0MTM3NywgCiAgICAgMTI3OTA5LCAwLCA0MDAsIDEyNTk3LCAxMjA1ODYsIDAsIDAsIDY2NjEsIDk4MzE0NSwgNjQ4MjcsIDAsIDczODE3LCAzOTAsIAotICAgIDAsIDcxMzAxLCA5ODM4NTMsIDM0NzMsIDc3MTgsIDAsIDAsIDAsIDU1Mjg1LCAwLCAwLCAwLCAxMTk2OSwgOTgzMzgyLCAKLSAgICAxMjc4NDEsIDYzNjUsIDE4ODcsIDY3NjMsIDk4MzM2MiwgODA4MCwgNzAwNiwgMCwgOTgzMzYzLCA2NzU3LCA2NDM1MSwgCi0gICAgMTU0NCwgMCwgNjc2NiwgNjQ2NzcsIDEyMDcxNiwgOTgzMzY0LCA2MTQ2LCAwLCA3NzEsIDk4MzM2NSwgMCwgMTI4MTIsIAorICAgIDAsIDcxMzAxLCA5ODM4NTMsIDM0NzMsIDc3MTgsIDAsIDAsIDAsIDU1Mjg1LCAwLCAwLCAwLCAxMTk2OSwgOTgzMzgzLCAKKyAgICAxMjc4NDEsIDYzNjUsIDE4ODcsIDY3NjMsIDk4MzM2MywgODA4MCwgNzAwNiwgMCwgOTgzMzY0LCA2NzU3LCA2NDM1MSwgCisgICAgMTU0NCwgMCwgNjc2NiwgNjQ2NzcsIDEyMDcxNiwgOTgzMzY1LCA2MTQ2LCAwLCA3NzEsIDk4MzM2NiwgMCwgMTI4MTIsIAogICAgIDEzMTY4LCA0MjI3MiwgMTIyMDAsIDkxNzkyNywgNzkwNCwgMCwgOTUzLCAxMjkxNywgMTE5NTYwLCAxMjMwMCwgMCwgCiAgICAgMTE0OTEsIDk3MjQsIDEwMzQxLCA5ODM3NjQsIDk1MjQsIDc0OTAsIDExMzg5LCA3NDg5LCAzMzc5LCAwLCA3NDg3LCAwLCAKICAgICA0NzEsIDc0ODQsIDc0ODIsIDY3NTMsIDc0ODAsIDU3NjQsIDc0NzgsIDc0NzcsIDY1MDEsIDc0NzUsIDY5MTgsIDc0NzMsIApAQCAtMTcyODYsMTEgKzE3Mjg4LDExIEBACiAgICAgMTE4OTI4LCAxMTE4LCA3MTMzNCwgMCwgMCwgMTA4MSwgNzQzNiwgNjg0MjAsIDcyNTIsIDAsIDU5OTYsIDY5OTIxLCA0OTAzLCAKICAgICAwLCA0MTM4NiwgNTE2MiwgMTE5MTg5LCAxMzMwLCAwLCA3MTM5LCAwLCAxMjA0NywgNDEzODQsIDAsIDAsIDE4NDgsIDQzMzQsIAogICAgIDYzMjQsIDQxOTc1LCA2NDc3NywgMTA2NzQsIDEyMzA4LCAxMjE4NiwgMCwgMCwgOTgzNzMyLCAxMjcxNSwgNjgwMDIsIAotICAgIDk4MzQ3MSwgMTI2NjMwLCAyMDE4LCA2NjY3MiwgNDE5NzksIDY2Njg1LCAxMTkxNTcsIDY4MDAwLCA5MjQ2NCwgMCwgCisgICAgOTgzNDcyLCAxMjY2MzAsIDIwMTgsIDY2NjcyLCA0MTk3OSwgNjY2ODUsIDExOTE1NywgNjgwMDAsIDkyNDY0LCAwLCAKICAgICAxMjY5ODQsIDY4MDAxLCA5MzM0LCA5MjcwNSwgOTIzMTUsIDcwMTAxLCA3OTc1LCAwLCA3Nzk1NywgMCwgNjY2MjEsIDQ4ODQsIAogICAgIDY2NTk3LCA2OTczMiwgMCwgMCwgNjMxMywgNjU1MTMsIDY5ODU3LCAwLCAwLCAwLCAyMzQ1LCA0MzY5NywgNDYzLCAwLCAwLCAKLSAgICAxMTk2MDcsIDMxMTcsIDU0NjAsIDAsIDAsIDk4MzM3OSwgMCwgNDIyNzksIDE5NDU3NywgMCwgNzg0MTUsIDAsIDE5NTAwOCwgCi0gICAgOTgzMzc2LCAxMzI0OCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY2MywgMCwgMCwgMCwgMCwgMjQ4MiwgMTQ3MSwgMCwgMCwgCisgICAgMTE5NjA3LCAzMTE3LCA1NDYwLCAwLCAwLCA5ODMzODAsIDAsIDQyMjc5LCAxOTQ1NzcsIDAsIDc4NDE1LCAwLCAxOTUwMDgsIAorICAgIDk4MzM3NywgMTMyNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NjMsIDAsIDAsIDAsIDAsIDI0ODIsIDE0NzEsIDAsIDAsIAogICAgIDQyMjQ3LCAxMjM3OCwgNzM5MjUsIDY5NjY0LCAwLCAxMjM3NCwgMCwgMCwgMCwgOTgzNjg1LCAyNDYwLCAwLCAxMTk0NCwgCiAgICAgMTIzNzYsIDEyNzg2OCwgNjQ2NzksIDAsIDEyMzgwLCAxMDU1NywgNjQ0NzMsIDU4NzAsIDAsIDIwMjQsIDEyNzE4MCwgMCwgCiAgICAgMCwgNTM5LCAwLCAxMjc3NjUsIDk0MDUyLCAzODUzLCA2NTE4MCwgMTI3OTIzLCAxMjA3OTYsIDEyMDI0NSwgOTIzMjQsIDAsIApAQCAtMTcyOTgsMjAgKzE3MzAwLDIwIEBACiAgICAgNjk2MzMsIDEyMDA4OSwgMTI0NzAsIDAsIDc0MTg5LCAyNzQyLCAxMjQ3NiwgMTE3OTgsIDEwOTQ2LCAxMjczMTAsIDUwMDAsIAogICAgIDAsIDk4MzU3OSwgMCwgNjk2NzIsIDgyMTMsIDc0MDE3LCA3NzcxLCA2MTYxLCA2ODAxOCwgNjcwOSwgMCwgNzg4ODUsIAogICAgIDk4MzY5OSwgMTI3OTcxLCAxMjA1ODIsIDc4NTQ3LCAwLCAxMDMwMSwgMTAzMzMsIDEwMzk3LCAwLCAwLCA3Mzc5MSwgMCwgMCwgCi0gICAgMCwgMCwgMTE5MTIzLCA0MDE0LCAxMjg0MiwgNzM5NTIsIDEyMDE1LCAxMjcyOTAsIDgyNzUsIDM4OTMsIDk4MzI1NiwgMCwgCisgICAgMCwgMCwgMTE5MTIzLCA0MDE0LCAxMjg0MiwgNzM5NTIsIDEyMDE1LCAxMjcyOTAsIDgyNzUsIDM4OTMsIDk4MzI1NywgMCwgCiAgICAgMTIyMTAsIDcyMjEsIDQyMTQ3LCAwLCA3NDU1MCwgNzQ0NjUsIDY0NzQ3LCAxMTg4NDEsIDAsIDEyNTE2LCA0NDQ0LCAwLCAKICAgICA5MjI3MSwgNzQ1MzcsIDEwODkyLCA4MjMxLCAwLCA2NDczLCA0MTk2OCwgNzgzODgsIDQxOTczLCAzNTkxLCA0MTk2OSwgMCwgCiAgICAgMjQ1MywgMTI4NTQ5LCA5MjY2NiwgNjQ3MDUsIDAsIDAsIDEwMzQ5LCAxMDQxMywgNDM1OTEsIDQxOTYyLCAzMjAyLCAKICAgICA3NDM1MywgMCwgODMxNiwgMCwgMCwgOTQwNjAsIDY4NywgMCwgMCwgMCwgMTg0MCwgMCwgNjg2NzEsIDExOTgwOSwgNDg4MywgCiAgICAgMjg1LCA0NzIzLCA3MDA5OSwgOTI2OTIsIDQ0NTksIDc0NTc3LCA0MjkyMSwgNDE3MjAsIDExMDg5LCAyNDAsIDE5OTA2LCAwLCAKLSAgICA0MjMyMywgMCwgOTc0MywgMTIwMjMyLCAxMzEzNCwgMTI2NTM1LCAwLCAwLCAwLCAwLCA0MjYzNCwgOTgzMzM1LCA0MzQzNywgCisgICAgNDIzMjMsIDAsIDk3NDMsIDEyMDIzMiwgMTMxMzQsIDEyNjUzNSwgMCwgMCwgMCwgMCwgNDI2MzQsIDk4MzMzNiwgNDM0MzcsIAogICAgIDMwODEsIDExNDYzLCAxMjAxNTQsIDAsIDAsIDEwNDQ1LCAwLCAwLCA2NjcxNywgMjYxNCwgOTEyNSwgMTE5MDIzLCAxNzI5LCAKICAgICAwLCAxMjAyMzYsIDY1MjIxLCA2Mzg4MywgNDMzMzQsIDY0ODUyLCAwLCA2NTE5NCwgNjYyMDEsIDAsIDY2NTc4LCA1MDAxLCAKICAgICA0MTg3OSwgNzQ0MjcsIDQxMjEsIDUwMDMsIDg4NCwgNjY3MDAsIDYzODc5LCA0OTQzLCA1MTUwLCA3Mzg4OSwgNzQxODIsIAogICAgIDEyNzkxNSwgNjQzLCAzMDg2LCAwLCA0MjQ0OCwgNDIyOTksIDU4LCAwLCA5MTc5NTIsIDEyMDA4MywgNjM4NzMsIDg0OTEsIAogICAgIDAsIDAsIDAsIDQ1MzAsIDQyNDA5LCA3MTI2LCAxOTQ1NzUsIDI3MjEsIDEyMDA3NCwgMTE5MDk2LCAxOTkyOSwgMCwgCiAgICAgMTk0NTc0LCAwLCA0MjQyLCA0MjY0LCAxMjAwNzcsIDEyMDUzMCwgNjYxNzksIDQyNDEyLCA2NTk0MSwgMTMxMTQsIDY0NTIyLCAKLSAgICAxMDc0MCwgMzA5NCwgMCwgOTc1NCwgMTE5MTAyLCA0NDM3LCA3Mzk0OCwgMTI3MDc0LCA5ODMyMzIsIDU1MjgwLCA0MjE3NCwgCisgICAgMTA3NDAsIDMwOTQsIDAsIDk3NTQsIDExOTEwMiwgNDQzNywgNzM5NDgsIDEyNzA3NCwgOTgzMjMzLCA1NTI4MCwgNDIxNzQsIAogICAgIDE5NDkyNSwgNDI0MzAsIDAsIDAsIDQyMzU1LCA2NjAyNiwgNDMwNiwgNDEzODAsIDY4NDMyLCA5MjU4NiwgMCwgNjY2NjcsIAogICAgIDEyNzMwOSwgMCwgMTI2NTIxLCA0MjIwMCwgNDI1NjYsIDAsIDAsIDUwODgsIDY5NDgsIDAsIDg1MjQsIDAsIDAsIDEyMzg1LCAKICAgICAwLCAwLCA2OTY0NiwgMTM4NiwgNjQ1ODAsIDExNDgwLCA2MTE2LCA2NTAzOSwgNjUwMzgsIDEyMzkyLCA2NTAzNiwgODA2NCwgCkBAIC0xNzMzNyw3ICsxNzMzOSw3IEBACiAgICAgOTE3Nzc2LCA2NTE0OCwgMTI0MzMsIDkxNzc4MSwgMTI3Mjc2LCA5MTc3NzksIDEyNDMxLCA4NjY4LCAxMjQzNCwgOTgzODI2LCAKICAgICA5MTc3ODIsIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIDQzNjUzLCAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAKICAgICAxMjgwMTQsIDQyNDIzLCAxMTkwNjYsIDAsIDEyODEwOCwgNjY3MDksIDAsIDg4MTEsIDkyNywgMCwgMCwgMTI0MzYsIAotICAgIDk4MzIzOSwgNDIwMjEsIDAsIDAsIDEyOTksIDEyMjQwLCA0MjM1MCwgNjUxNDMsIDAsIDE5NTAxNiwgMCwgNzgxOTcsIAorICAgIDk4MzI0MCwgNDIwMjEsIDAsIDAsIDEyOTksIDEyMjQwLCA0MjM1MCwgNjUxNDMsIDAsIDE5NTAxNiwgMCwgNzgxOTcsIAogICAgIDExMzQ4LCAwLCA3ODAzNywgOTE5NCwgOTgzMTg0LCAwLCAxOTkxNCwgMTIxNzksIDk4MzgwMywgMjI5NiwgMTk0OTIzLCAKICAgICA2MzgzNiwgNjM4MzIsIDkxNzc3MywgMTA5NjcsIDYzODE2LCAyNTk0LCAzNDQ0LCA2MzgxNywgNjQ2NTEsIDAsIDQxNTAzLCAKICAgICAxMjc0NzgsIDExMjY1LCAwLCAxMjA3NTYsIDE5NDkyMiwgMCwgNTY2NCwgMzk3MiwgMCwgMCwgMCwgMTI4NTA4LCAxMjQxNiwgCkBAIC0xNzM0OCw3ICsxNzM1MCw3IEBACiAgICAgOTE3MSwgMTI3NDEsIDExNDAwLCA3MTMwNSwgMTk0Nzk5LCAwLCAxMjgyMzksIDAsIDEyODg4MSwgMTE5NjA0LCAxMjc1MjMsIAogICAgIDEyMDE5MCwgMTk0NzczLCA2NzYwOCwgMTI4MjE0LCA0MjM2OCwgMCwgNzcxNSwgMzg4MSwgNDE0ODcsIDEyMTE4LCA0MjUxNCwgCiAgICAgNjg2NTEsIDAsIDk4Mzg4NiwgMzAwOSwgNDE0NzYsIDQxNDg5LCA2OTgyNSwgMzAwNywgMTQ0OCwgMzAxOCwgMTk0ODA5LCAKLSAgICAzODg5LCA4NTIxLCA1MDgzLCA1MDgyLCAxMTk4NTksIDEyMDE4NCwgODUxOSwgOTgzMjM1LCAzMDE0LCA1MDgxLCA2NTg1MywgCisgICAgMzg4OSwgODUyMSwgNTA4MywgNTA4MiwgMTE5ODU5LCAxMjAxODQsIDg1MTksIDk4MzIzNiwgMzAxNCwgNTA4MSwgNjU4NTMsIAogICAgIDEyMDcxNSwgMCwgNjgwMTQsIDY5OTUxLCA1MDc5LCA2NDgwMiwgNDIyMTAsIDQ1OTcsIDY1NTMyLCAxMTgyOCwgMTIwMTg1LCAKICAgICAxMjM3MSwgMCwgODQwNywgMCwgMTA4MDUsIDg1MTgsIDEwNzc5LCAxMjAxODgsIDcxMzAzLCA5ODM5MjQsIDEyMzY3LCAKICAgICA0MjE3MCwgMCwgOTI1NTcsIDYyOSwgMTkyNCwgMCwgMTIwMzcsIDc0MzY2LCA1OTg3LCA4NDYyLCA4MDA1LCAxMjM2NSwgCkBAIC0xNzQwMCw3ICsxNzQwMiw3IEBACiAgICAgOTU5NCwgMCwgMCwgNDM1MjcsIDAsIDcyNywgMTk0NzAzLCAxOTUwMjMsIDU4MDUsIDAsIDY3MjYsIDAsIDQyMTc2LCAKICAgICAxMjM3MCwgMTE2NTUsIDExOTA5NSwgMTA1OTEsIDIyODAsIDAsIDEyMzcyLCAxMjA2NDIsIDEyMDMwNywgMCwgOTIzNDMsIDAsIAogICAgIDEyMzY2LCAxMDk2MywgNjA2NiwgMTMyOSwgMCwgMzA1MiwgOTIyMCwgMCwgNjQ0NzgsIDE5NDcwMSwgMTA4MDMsIDQxMzIsIAotICAgIDEyMDMwNiwgNjg0NzQsIDkyNDczLCAwLCA5ODMzMDUsIDc0ODM3LCAxMjAxNTUsIDE0OTksIDAsIDgwNTUsIDQyNzQwLCAKKyAgICAxMjAzMDYsIDY4NDc0LCA5MjQ3MywgMCwgOTgzMzA2LCA3NDgzNywgMTIwMTU1LCAxNDk5LCAwLCA4MDU1LCA0Mjc0MCwgCiAgICAgNjM5NjUsIDAsIDYzOTYyLCA3NDA0MiwgODkyNCwgNDMxMjMsIDU5ODgsIDM2NjAsIDYzOTY5LCAxMTc4MSwgNDI3MTgsIAogICAgIDg3ODgsIDEzNTcsIDY0ODUxLCA2NTc0MywgMCwgODc3NCwgMCwgMTI3MDg2LCA5OTQxLCAxMjAxNzIsIDAsIDE5MzMsIAogICAgIDY5NjU1LCA5NTY0LCAwLCA5MjQzNSwgNzM4NjYsIDAsIDAsIDI0ODcsIDY3NjE0LCAzMTIxLCAxODA0LCAzMzExLCA2NzYxNSwgCkBAIC0xNzQ1Miw3ICsxNzQ1NCw3IEBACiAgICAgNjQ0MzYsIDM2MDEsIDE5NTA5NCwgMTI4MDczLCA5ODM1NjIsIDYwOSwgMTE1NTUsIDk4MzA5OSwgMTI0OTYsIDEyNzgzOSwgCiAgICAgNzQxODEsIDQzNDMsIDEyNTA1LCAwLCAxMjc4NjMsIDAsIDExMzc3LCAyMzksIDAsIDYzNywgMCwgMCwgNDI2NzEsIDAsIDAsIAogICAgIDAsIDQzNTY1LCA3MTMwNiwgMTI2NDkzLCAxMjY5NiwgMTI4MjU2LCAwLCA5NDA2MiwgMTI5MjksIDAsIDcxMiwgMCwgNDE5NywgCi0gICAgOTgzMjA0LCA0MjgxOCwgMTI2NjMyLCAwLCAxMjA0OTAsIDAsIDExOTEzNywgMTUwNiwgNDM1NjIsIDAsIDkyNDkxLCAwLCAKKyAgICA5ODMyMDUsIDQyODE4LCAxMjY2MzIsIDAsIDEyMDQ5MCwgMCwgMTE5MTM3LCAxNTA2LCA0MzU2MiwgMCwgOTI0OTEsIDAsIAogICAgIDEyNjUxLCAwLCA2NDYyOCwgNzQ1MTcsIDEyMDU4LCA3NDA4NCwgOTE3ODM4LCA3NDk0LCAwLCA0OTI0LCA2NTU5MiwgCiAgICAgMTE4ODQ0LCAwLCAxMjcwODgsIDM1NSwgOTcxOSwgMTI3MDg3LCAxMzA2NiwgNjQ3OTYsIDAsIDAsIDEyMDMzLCA0MjE3OCwgCiAgICAgMCwgNjk3NjAsIDQyNTcxLCA5MjYzNSwgMCwgMCwgMCwgMCwgMCwgMTI3MTc2LCAzMTc4LCAwLCAwLCA5MjcwNCwgMCwgCkBAIC0xNzQ4NSw3ICsxNzQ4Nyw3IEBACiAgICAgNjY0ODksIDIyNCwgMCwgNjg2NzAsIDkzMzIsIDQ5NjYsIDY4Njc3LCAwLCA2ODY0NCwgMCwgMzg0MSwgNjg2MzQsIDAsIAogICAgIDEwNzMyLCA2ODY0MCwgODUwLCA0OTcyLCAwLCAxMjg5MCwgMjkwOSwgNjg2MTksIDQ0MDA4LCA2ODYyNywgOTgzNzA5LCAKICAgICAxMTU0NCwgMTAyMDMsIDk2MDgsIDAsIDAsIDExOTYyLCAxOTQ2OTQsIDEyNTA3LCAxMTk2LCAxMjg2ODcsIDEyODMxMSwgCi0gICAgNzc3LCAxMjAxODcsIDQzNzUsIDY1MjcxLCA2NzY3OCwgMCwgMTIxOTgsIDAsIDY0ODI0LCAxMTkzNDMsIDk4MzIzMCwgCisgICAgNzc3LCAxMjAxODcsIDQzNzUsIDY1MjcxLCA2NzY3OCwgMCwgMTIxOTgsIDAsIDY0ODI0LCAxMTkzNDMsIDk4MzIzMSwgCiAgICAgOTQ1NCwgNjM3NzgsIDg2NTgsIDQyNTI4LCA3ODAwMCwgMjcwNSwgOTE3OTc1LCA0MTUyMCwgMCwgMCwgMTE5ODYsIDc3NjUsIAogICAgIDQyNTAyLCA4MjgwLCA3NDUyMCwgMjcwMSwgMCwgMTI3MDAyLCA1NzY3LCAwLCAwLCA5ODA5LCA4MzUzLCA2Mzc0NywgCiAgICAgNjY3MDEsIDYzNzcyLCA5ODM4MDUsIDYzNzQ1LCAxNzQ4LCA2Mzc3MCwgMCwgMCwgMCwgNjU1NDIsIDYzNzY2LCA1NTI0NCwgCkBAIC0xNzQ5NSw3ICsxNzQ5Nyw3IEBACiAgICAgMTA5OTYsIDkyMjQ3LCAxOTIyLCAwLCAxMjQ5OCwgMTA5ODcsIDY5OTM2LCA2OTkzOSwgMzg5NCwgNjU1NDMsIDAsIAogICAgIDE5NDg0MiwgOTgzNTg4LCA0OTMsIDAsIDQzMTk3LCAxNzE3LCA0MjI4LCA0NzksIDEwMzAzLCA3NDAyMCwgMCwgOTE3OTM1LCAKICAgICAxMDMzNSwgMzUyMCwgOTE3OTMyLCAxMjQ5MCwgNjQzMTUsIDAsIDEyNzAzOSwgMTI0OTMsIDYyMzMsIDQyNjgxLCAxMDAyLCAKLSAgICAxMjQ5MSwgMCwgNjQ5MTEsIDkyNjE1LCAyMDk2LCA2NTEyMCwgMCwgNzgyMTksIDk4MzA4MSwgMTE2MTEsIDExNjMyLCAKKyAgICAxMjQ5MSwgMCwgNjQ5MTEsIDkyNjE1LCAyMDk2LCA2NTEyMCwgMCwgNzgyMTksIDk4MzA4MSwgODM3OCwgMTE2MzIsIAogICAgIDEyNzA0MSwgNjYyMTMsIDYzODY0LCA2NjIyMSwgNjYyMjYsIDY2MjI5LCAxMzIxOCwgNjYyMzEsIDY2MjE2LCA4NTA3LCAKICAgICA2NjIzNiwgNjYyMTEsIDY2MjE4LCA5MjY3MiwgNjYyNDAsIDc4MDQxLCA2NjIzMywgODkyOCwgOTgzNTUyLCA3OTA5LCAKICAgICA2NjIzNCwgMTE2MDUsIDYzNzU5LCA5ODM2NDUsIDY2MjA4LCA3Mzk5OSwgNjM3OTksIDYzODAzLCAyNDQsIDExNTQyLCAKQEAgLTE3NTE1LDcgKzE3NTE3LDcgQEAKICAgICA5MzgyLCA5Mzc5LCA5MzgwLCA5Mzc3LCA5Mzc4LCA5Mzc1LCA5Mzc2LCAxNjgzLCA5Mzc0LCA5ODM3NjksIDkzNzIsIAogICAgIDEyNDQ0LCAwLCAwLCAxMzAxNiwgODIxMCwgOTgzOTQ5LCA0MjAyOSwgMTEwNzksIDEyMzMxLCA0MzQ1MSwgNDIwMzIsIAogICAgIDg3NDQsIDcyNiwgMCwgOTgzODI4LCA0MTU1LCAwLCAwLCA0MjAzMCwgNTAwNywgMTI1MjIsIDQzMDg4LCAwLCA0OTUxLCAKLSAgICAxMjc4MDUsIDEyNzI0MCwgMCwgOTkyMiwgNDMzMDksIDk4MzgzMiwgMTI1MjUsIDk4MzQ2MywgMTIwMTYsIDY1NzcwLCAKKyAgICAxMjc4MDUsIDEyNzI0MCwgMCwgOTkyMiwgNDMzMDksIDk4MzgzMiwgMTI1MjUsIDk4MzQ2NCwgMTIwMTYsIDY1NzcwLCAKICAgICA5NTQ4LCA2NzY2NSwgNDAzLCA3ODIzMCwgMTI1MDMsIDAsIDAsIDExMDMwLCAwLCA5MjU2NywgNjU2OTEsIDYzOTk4LCAKICAgICAxODE5LCAxMDQ5NiwgMCwgMCwgMTE5OTIwLCAwLCAxOTQ2NjgsIDAsIDEyNTA2LCAwLCAxMjIzMSwgMCwgMTI1MDAsIAogICAgIDQ0MDIzLCAxMjUwOSwgNjQzOTMsIDc4ODMwLCAzMzg5LCAxMDU4OSwgNjYwOCwgNDEwNDcsIDEyMDMyMSwgNzgzOTUsIApAQCAtMTc1NTcsNyArMTc1NTksNyBAQAogICAgIDEzMDQzLCA4MDU2LCA5MjQ5NCwgNjU2ODEsIDIwOCwgMTI3MzgyLCA0MTUxNCwgMCwgMCwgMCwgMTA2OTksIDY0MDgsIAogICAgIDkyMjI3LCA3ODI1LCA1NjYxLCAwLCAxMjA2MzAsIDM2MDMsIDQxMTA5LCAyMzk4LCAzNTQ4LCAxMjY1OTYsIDAsIDExOTkzMywgCiAgICAgMCwgMzExNSwgOTkxOCwgMCwgMTEzMjEsIDQyOTEyLCAwLCAwLCAxOTQ3MjYsIDQ4NzYsIDY1ODA0LCAwLCAwLCA0MzQ2OCwgCi0gICAgOTgzMjY2LCA0MTU1OCwgNDE0NzEsIDczOTUwLCA4MTU4LCA5OTQ0LCA0MTQ3MiwgMTIwMjk4LCAxMzA1MSwgNzg2ODksIAorICAgIDk4MzI2NywgNDE1NTgsIDQxNDcxLCA3Mzk1MCwgODE1OCwgOTk0NCwgNDE0NzIsIDEyMDI5OCwgMTMwNTEsIDc4Njg5LCAKICAgICAzMTQzLCAxOTQ2NzQsIDY3MDEsIDQxNTU5LCAxODk2LCA2NjI1NiwgMTMwNTIsIDE5NDY4MCwgNTY2NSwgMCwgMTE5MDcxLCAKICAgICA3MDI1LCA2Mzk3NCwgMCwgNzQzNTIsIDc0MTYxLCA0MTU0LCA5ODYzLCA0MzU1MCwgMTIzMTAsIDU2NjIsIDQyMzgyLCAKICAgICAxOTQ2ODYsIDczOTI0LCAxMTIxLCA3ODMxOSwgNjM5NTksIDAsIDk5NDIsIDEzMjMxLCAwLCA2NDc1MiwgNDczMiwgCkBAIC0xNzU4Nyw3ICsxNzU4OSw3IEBACiAgICAgNjE1MywgMjg2NywgMTk0NzA4LCA2NjMxMiwgNjk4LCAxMjgwMDcsIDE5NDYwNiwgMTAzNTYsIDcwMDE3LCAxOTQ3MTMsIAogICAgIDY1MSwgMTI2NDEsIDAsIDAsIDAsIDAsIDQxNTUyLCA2NTExNSwgNzg0NjUsIDc4NDY3LCA3ODQ2MywgNzg0NjQsIDEyODg1MSwgCiAgICAgNzg0NjEsIDE5NDY5NywgNzQzNTYsIDY0OTQ1LCA0NzE2LCA0MzI3NywgMCwgNzg0NzQsIDEyMzQwLCAxMjA1NjgsIDAsIAotICAgIDE5NDcwMCwgNTUyNjQsIDQxMjExLCAxMjA2NzYsIDg3MDMsIDU0NjIsIDkxNzYyOSwgOTgzNDg3LCAxMDEwMSwgMCwgCisgICAgMTk0NzAwLCA1NTI2NCwgNDEyMTEsIDEyMDY3NiwgODcwMywgNTQ2MiwgOTE3NjI5LCA5ODM0ODgsIDEwMTAxLCAwLCAKICAgICA3MDA0OSwgODQ3OSwgNDE1MSwgNDE5MzMsIDAsIDAsIDY2MjU0LCAxMjA4MjEsIDAsIDAsIDEyODY1NCwgMCwgMTE5MTk0LCAKICAgICA3NDA1MCwgOTI3MDEsIDAsIDAsIDAsIDAsIDAsIDEyMjc4LCAwLCAwLCAwLCAyNzAwLCAxMjU3NiwgNzg0MiwgMTI4OTksIDAsIAogICAgIDAsIDI2OTksIDAsIDczODQ1LCAyOTg1LCA5MjU2OCwgMTI2NDc1LCA5MTc4NDUsIDEyMTkyLCAxMTkzMTQsIDAsIDExOTMxMiwgCkBAIC0xNzYwMiw4ICsxNzYwNCw4IEBACiAgICAgOTYzMiwgOTIzMjMsIDc0NzYxLCA2NDMyMywgMTI3MzM1LCAwLCAwLCAwLCAzMTAsIDAsIDQxMjgxLCAxMDk3NiwgMCwgCiAgICAgNzEzMjUsIDAsIDc0MjY2LCAxMDA1NCwgNjQ5NywgODU3NCwgMCwgOTAxMiwgMTk5NTgsIDc0NDIwLCA2NTA4OSwgMTMyMTUsIAogICAgIDEyNzMwLCA2NTE2MywgNzQwNDQsIDM3NCwgNDMxOTUsIDgxNiwgMTIwMTYxLCAwLCAwLCA0MTkzNCwgNzQ2NSwgMCwgCi0gICAgMTI4MTY4LCA5ODMyNjAsIDQ3MTUsIDYxMDEsIDk0MTA2LCA0MTkzNiwgMCwgNDg3OSwgMCwgNjU0NDYsIDAsIDMwNywgCi0gICAgMTI3MTQ3LCA5NTg1LCA1Mzc0LCA5ODMyNTksIDEyODA1OSwgMCwgMCwgMTI2NjE4LCAxMjAzOTAsIDAsIDY1NTY3LCAKKyAgICAxMjgxNjgsIDk4MzI2MSwgNDcxNSwgNjEwMSwgOTQxMDYsIDQxOTM2LCAwLCA0ODc5LCAwLCA2NTQ0NiwgMCwgMzA3LCAKKyAgICAxMjcxNDcsIDk1ODUsIDUzNzQsIDk4MzI2MCwgMTI4MDU5LCAwLCAwLCAxMjY2MTgsIDEyMDM5MCwgMCwgNjU1NjcsIAogICAgIDEyMDYxNCwgMTkyOSwgMCwgMTIxNDIsIDAsIDEyMjM2LCA0MTQxOSwgMTk0NjE4LCAxMjA2MTAsIDEyOTgyLCAxOTQ2MjMsIAogICAgIDUzNzgsIDc4NzkxLCAxMjg2NzksIDQxNDIxLCAwLCA0NDYyLCAwLCAxMjY1OTksIDEyODA5MiwgODIxLCAwLCAyNDk4LCAKICAgICA1ODAwLCAxMjAxNTcsIDk4MzExNSwgMTc2MCwgMjQyMSwgNDQ2OSwgMjMyNCwgODI4LCAzNjExLCA3ODQwMCwgNzU3LCAKQEAgLTE3NjIwLDcgKzE3NjIyLDcgQEAKICAgICA3Nzk1MCwgMTk0NTc4LCA3MDc0LCA5MjY0OCwgMTk0NTc5LCAxOTQ1ODIsIDExNDE0LCAxMjg4NjgsIDI1MzEsIDEzMDM0LCAKICAgICAwLCAwLCA0MjExLCAxMjU5LCA3NTE3LCAwLCAwLCAxOTQ1NjEsIDQwOTk2LCAxMzAzNywgNzA5MiwgNjQxLCA1MjE5LCAKICAgICA5NDAzNCwgMTk0NTY2LCAxMTA2NCwgNDExMjksIDAsIDQyODUwLCAxMzAzNSwgOTA3NSwgOTIzODcsIDU0NjYsIDEyODE1MywgCi0gICAgMCwgNjQwOTgsIDY1NzkzLCA0NTM1LCAxOTQ1NzMsIDQyNzEsIDc4NDE3LCAxMjgzNTcsIDY3NjksIDQxNDEwLCA5ODM0NDQsIAorICAgIDAsIDY0MDk4LCA2NTc5MywgNDUzNSwgMTk0NTczLCA0MjcxLCA3ODQxNywgMTI4MzU3LCA2NzY5LCA0MTQxMCwgOTgzNDQ1LCAKICAgICA2NDI2MiwgNjc2NywgNDE0MDcsIDAsIDAsIDY3NTUsIDExODg2NCwgOTA0NiwgMTI3OTM0LCAxMjY2MDgsIDAsIDAsIDAsIDAsIAogICAgIDY3Njc1LCAwLCAwLCAwLCA2NDMzOCwgMjU2MywgMTMwMzMsIDI0NywgMTE4OTE1LCAwLCAxMjMzOCwgNDY1MSwgNjk4OTUsIAogICAgIDExMjcwLCAwLCAwLCAxMTkzMywgMCwgMCwgNDE5MDMsIDQzNDQ3LCAxMTAwMSwgMCwgNDIyNTUsIDAsIDkyNjYxLCA2OTgyMSwgCkBAIC0xNzY1MCw3ICsxNzY1Miw3IEBACiAgICAgMTA5MSwgMTI2MzgsIDc5NzcsIDQ1MDEsIDQxMDk5LCAwLCA2NjMwOSwgMCwgMCwgMTQ5NCwgOTgzMTQ2LCAxMjY2MTMsIDAsIAogICAgIDExNjkzLCAxMjY1MTMsIDEwNDk0LCA5MjY1NSwgNjU4NzIsIDEyMzYzLCAxMTM4NiwgMCwgMCwgMCwgMCwgNjQ1ODIsIDAsIAogICAgIDczNzk0LCAwLCA4MDIyLCAwLCAxMjA0NjIsIDc0MTA2LCAxMjQxMywgOTQwNjksIDkxNzk5NCwgOTE3OTkzLCA5MTc5OTUsIAotICAgIDU1NzAsIDE4ODEsIDcyMTAsIDAsIDEwMTIsIDQzNzUyLCAwLCAxMjA3MDksIDcyMDgsIDY2NDQyLCA1NTY5LCA5ODMyMzYsIAorICAgIDU1NzAsIDE4ODEsIDcyMTAsIDAsIDEwMTIsIDQzNzUyLCAwLCAxMjA3MDksIDcyMDgsIDY2NDQyLCA1NTY5LCA5ODMyMzcsIAogICAgIDQyMzM5LCAwLCA2MDYzLCAwLCA3ODM4MywgMTE5NTk0LCA2MDUzLCA2NTYwMiwgMCwgOTIyMDEsIDY0NzI3LCA5MTYwLCAKICAgICAxOTQ4MjcsIDAsIDAsIDkyMTgwLCAxMDUwMywgMTE4ODEwLCA2MDU1LCAzODcwLCA0Mjc5LCA4NDkwLCAxMjAxMTQsIDQzMTksIAogICAgIDY0Nzg2LCA4NjAyLCAxMjAxMTAsIDExMzI2LCA5MjIwNCwgOTgzMTE2LCAwLCAxMjAxMTksIDc4MzMzLCAxMjAxMTcsIApAQCAtMTc2NTgsNyArMTc2NjAsNyBAQAogICAgIDEyMDEwOCwgNDIwODUsIDEwMTA3LCA0MjE1OSwgNDI4NzAsIDEyMDEwMSwgNTg5LCA3MDUwLCA5ODM3OTEsIDQzMjgxLCAKICAgICAxMDIzMywgNDEyNjMsIDY2MjUxLCA2NTcyOSwgNjYyNTMsIDEyNjQ5NywgNzQwOTksIDQyNjQ1LCAwLCAxOTQ4MTUsIDg1ODMsIAogICAgIDAsIDU4NDcsIDY5MjgsIDEyODA3NCwgMCwgMCwgMCwgMCwgNjY1OTIsIDEyMjA0LCA5MTc5NjIsIDE5OTY2LCA3Nzg1NiwgCi0gICAgNDI1NjEsIDEyMDYyNiwgOTgzMjQ1LCAwLCA4MTIwLCAxMjA3MDEsIDAsIDAsIDEyODAxMiwgNDEwNjMsIDAsIDEwNjY0LCAwLCAKKyAgICA0MjU2MSwgMTIwNjI2LCA5ODMyNDYsIDAsIDgxMjAsIDEyMDcwMSwgMCwgMCwgMTI4MDEyLCA0MTA2MywgMCwgMTA2NjQsIDAsIAogICAgIDgzNjksIDAsIDQ1NTEsIDE5NDk2NCwgMzM2OSwgMCwgMCwgOTY3MywgNjYzMzQsIDY1NTgwLCAxMDQ3OCwgMTE4OTYwLCAKICAgICAxMjUxNywgNTU3LCA5NDU3LCAxMjAzNCwgOTgzNjYyLCA2MzU1LCAxMjUxOSwgNDEwMDQsIDAsIDE5NTAyNSwgNzQwOTQsIDAsIAogICAgIDAsIDc3OTcwLCA5ODM1NjAsIDAsIDEyODE3NSwgMTIxMTEsIDM5MjcsIDAsIDEyNTE1LCAxNDc0LCA2Nzg5MywgNTQ5MiwgCkBAIC0xNzY4MSw3ICsxNzY4Myw3IEBACiAgICAgNzM4OTgsIDExOTc5LCA3MDA1MSwgMTE4OTAwLCA5MTc4OTQsIDAsIDk2MzUsIDEyNjAwLCA4ODcxLCAwLCAwLCAwLCA2NDY5LCAKICAgICA3NDIyNywgMCwgNjUzMDQsIDQ2NzksIDEwMjMwLCA2NDMwMCwgNjQ4NjcsIDM0MjcsIDQyNDAsIDAsIDAsIDAsIDAsIAogICAgIDQyOTE2LCAwLCAwLCAwLCA3MjgyLCA3ODcyOCwgNjU3MzMsIDQ0NDUsIDEyNzEzOCwgMTI4MDgyLCAzNDk0LCA3NDYwNiwgCi0gICAgNjU1NSwgMCwgNzc5NzYsIDAsIDAsIDc4NTY2LCAwLCA5ODMxODksIDY1ODk4LCA5ODMyMzgsIDY1MzEyLCA1NDQ3LCAwLCAKKyAgICA2NTU1LCAwLCA3Nzk3NiwgMCwgMCwgNzg1NjYsIDAsIDk4MzE4OSwgNjU4OTgsIDk4MzIzOSwgNjUzMTIsIDU0NDcsIDAsIAogICAgIDEyODk1LCA2NTU5MywgNDAxMCwgMCwgNDExMDYsIDAsIDY0NDQ4LCAwLCA0MTEwNSwgMCwgNjU4MjAsIDYyMzIsIDAsIAogICAgIDEyODI4MCwgMCwgNDM2MDgsIDExOTA5MSwgMCwgNjUzOCwgNDMzNSwgNzgzNjQsIDM5NDEsIDQxMTIyLCAxMTA2MSwgCiAgICAgNzgzNjMsIDY0ODkyLCA5MTEzLCAxOTU0LCAxMjE1NSwgOTgzNjY1LCA0Mjg3OCwgMTE1MDAsIDAsIDAsIDc0NTc4LCAwLCAKQEAgLTE3Njk1LDkgKzE3Njk3LDkgQEAKICAgICAxMTQyOCwgMTczMCwgMjQ1NywgOTE3ODA4LCAxOTkxOCwgMTA0NjksIDAsIDAsIDc3MDMsIDg4NDAsIDgwMzUsIDAsIDAsIAogICAgIDkyMjMwLCAwLCA2MTI5LCAwLCAxMjg1MjgsIDEyODI2OCwgMCwgNzg3NCwgODY4MSwgMTE5MDkyLCAwLCAxMzEzNiwgMCwgMCwgCiAgICAgNzAxMDIsIDYzODg2LCAxMTg4ODEsIDk2MDUsIDcxMzA4LCAxMzIyMCwgMTI4Nzc2LCAxMjAyNzQsIDU1MTQsIDAsIDkyMjgsIAotICAgIDAsIDAsIDAsIDUyNDAsIDk4MTEsIDEwMDEyLCAzMDk2LCAwLCAwLCA5ODMzNDMsIDY2Njc2LCA2NTg3MywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTI0MCwgOTgxMSwgMTAwMTIsIDMwOTYsIDAsIDAsIDk4MzM0NCwgNjY2NzYsIDY1ODczLCAwLCAwLCAwLCAKICAgICA5NTAxLCAwLCAxMjcyLCA2NDUzNiwgNjU0NjUsIDY0NjU0LCA3NDY3LCAwLCAxNDY3LCAxMDE1OCwgMTAwNDAsIDAsIDk1MTksIAotICAgIDAsIDkxNzgxMiwgMCwgMTE4ODk5LCAxMjE5MywgMCwgMCwgMCwgMCwgOTgzMzQ1LCAxOTkzNSwgMCwgOTIxNjIsIDY5Njc2LCAKKyAgICAwLCA5MTc4MTIsIDAsIDExODg5OSwgMTIxOTMsIDAsIDAsIDAsIDAsIDk4MzM0NiwgMTk5MzUsIDAsIDkyMTYyLCA2OTY3NiwgCiAgICAgMCwgMCwgMCwgNTI3NSwgMCwgMCwgODYzNywgMCwgMCwgMzc4OSwgNjM4ODAsIDExNDcxLCA0MzU1NCwgNjU4NjIsIDExNDc0LCAKICAgICA2NjMzMiwgNjY2MDMsIDEyODEzOCwgMjQyNiwgMTIwNDIsIDkyMTk0LCA5ODM5MDIsIDk1MzcsIDM5NjEsIDEyMTE1LCAKICAgICA3Nzk1MywgMjYwNSwgNDUwMCwgNjQ1NjEsIDU1MjI0LCA0OTgxLCAwLCAwLCA2Mzg3NiwgMTE2NjcsIDQyNjg2LCA3Nzk3MywgCkBAIC0xNzc0OCwxNCArMTc3NTAsMTQgQEAKICAgICA3MTQyLCAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIDYzODYzLCA0Mzc5NSwgCiAgICAgNzc3MCwgMTA3MTIsIDY0ODUzLCAxMjY4NiwgMTE4OTE2LCA0MjM3NSwgMCwgMTI3MjM4LCA2NjM1MiwgMTA0NzAsIDAsIAogICAgIDExMDU5LCAxMDc5MSwgOTE3OTQ0LCA0NTAsIDExOTMyOCwgMCwgMTA0MzIsIDEyMDk3LCA1NDUwLCA2NDY5MSwgMTIzMywgMCwgCi0gICAgNDQwMDksIDc4Mjg0LCA2NjMzOCwgMCwgMCwgMTgzOSwgMTE4Nzk5LCA5ODMyMTcsIDEwOTI3LCAxNzAxLCA5ODM2NTUsIAorICAgIDQ0MDA5LCA3ODI4NCwgNjYzMzgsIDAsIDAsIDE4MzksIDExODc5OSwgOTgzMjE4LCAxMDkyNywgMTcwMSwgOTgzNjU1LCAKICAgICAyMzg4LCA0MTc0OSwgNDE3NjEsIDU0NTMsIDgzNjEsIDExOTg2NSwgNDE3NTgsIDU0NDQsIDQxNzYzLCA2NDg4OSwgNzE0MywgCiAgICAgOTI0OTMsIDc4Njc3LCAwLCA5MjQyOSwgNzgxNzQsIDY2NDMyLCA4ODAxLCAzMDUzLCA0MzQwLCA5ODMwNDQsIDAsIDY1ODEyLCAKICAgICA5MTc4MzEsIDAsIDQxODI0LCA2Nzk4NSwgMTIwMjAzLCAxOTQ4MDAsIDE5NDgwMywgNDI3MDAsIDE5NDgwNSwgMTI3OTgwLCAKICAgICAxOTQ4MDcsIDc4Njc2LCA5MjM1NiwgMTk0ODA4LCAwLCAwLCA0NDkzLCA0MzM2LCAwLCAyMzE0LCA0MzYwMiwgNzg4MjYsIAogICAgIDExOTMyNSwgMTk0ODExLCA0MjQzOSwgNjQ2MzgsIDQyMzI3LCA0MzUyOCwgNDQ4OSwgNzEzMzEsIDAsIDE5NDc5MywgMTkxMiwgCiAgICAgNDIzODUsIDEwMzA2LCAxMDM3MCwgMCwgMCwgODg2NywgMTAyNTAsIDEwMjU4LCAyNzEyLCAxNjM1LCA3ODgyMSwgMTQxMCwgCi0gICAgOTI2NzEsIDk4MzI0NCwgMTE4ODc4LCAwLCAwLCA5OTE5LCAxMjA1MjgsIDU1OSwgMTI4MTU3LCA0MTgyNSwgMTI3OTc1LCAKKyAgICA5MjY3MSwgOTgzMjQ1LCAxMTg4NzgsIDAsIDAsIDk5MTksIDEyMDUyOCwgNTU5LCAxMjgxNTcsIDQxODI1LCAxMjc5NzUsIAogICAgIDc4MTg4LCA0ODkyLCA3NDAxNiwgMTk0NzgxLCA2NTQyLCA0MTk1NywgMTI4ODY1LCA1Nzc3LCAwLCA3NTksIDY1NzQ5LCAKICAgICAyMDc5LCA2NTI0OCwgMTI3ODgsIDY0NDg3LCA2NDU1MiwgMCwgMTAyMjMsIDQyMDYyLCAwLCAwLCAxMjY1NzMsIDM2NjgsIAogICAgIDY1NzU0LCA0MzU2MCwgMTIyMjYsIDY3OTkxLCA2NTE0OSwgMjM0MCwgNDE5NTksIDE5NDc4NiwgMTk0Nzg1LCAxOTQ3ODgsIApAQCAtMTc3NjUsNyArMTc3NjcsNyBAQAogICAgIDQyODA5LCA0MjgwNywgMCwgMTIwMDQ2LCAxMDE5OCwgNDE1MCwgNjQzNzEsIDgzMTgsIDQxNzkwLCA2Nzk3NiwgNDE4OTgsIAogICAgIDIzNjAsIDQxNzk0LCA5MTc5NDIsIDcxMzE0LCAxMjc4MTgsIDAsIDAsIDI0MTgsIDk4MzA5OCwgMjQxMSwgMTEzMzYsIDc5OSwgCiAgICAgNjM4MjMsIDEwMjc2LCAxMDMwOCwgMTAzNzIsIDkxNzU0MSwgNDE3NzIsIDQyODEzLCAyMzE3LCAxMDI2MCwgMTE4OTgwLCAKLSAgICA1NTI4NCwgOTIyMDMsIDAsIDEwMzg0LCA5ODMyMTgsIDAsIDAsIDc3NTMsIDIzNTEsIDY2NTUsIDY0NDg5LCA2OTkzMSwgMCwgCisgICAgNTUyODQsIDkyMjAzLCAwLCAxMDM4NCwgOTgzMjE5LCAwLCAwLCA3NzUzLCAyMzUxLCA2NjU1LCA2NDQ4OSwgNjk5MzEsIDAsIAogICAgIDc3ODcyLCA0NDQzLCA0Mjc3OSwgMjMwLCAwLCAwLCA0MzU0OSwgNDg1NSwgNDIxNTAsIDY1NzM5LCA1NDQxLCA0MTg5NiwgCiAgICAgMTAyODgsIDEwMzIwLCAwLCA4NTUsIDcwNDYsIDYxMDksIDY1MDQ1LCA2MzgzOSwgNzgxOTgsIDIwNDksIDEwMDk4LCAwLCAKICAgICA3NDE0NSwgMTI3OTQzLCAxMDI2NCwgMTAyODAsIDkxODQsIDEwMzc2LCA3MDEzLCA0NDY3LCAwLCAwLCAwLCA0MTg4NywgMCwgCkBAIC0xNzc3Niw3ICsxNzc3OCw3IEBACiAgICAgNzgxNjcsIDEwMDg4LCA2NTQ4LCAwLCAxMjAxNTYsIDQzOTc4LCA4OTg4LCA4ODg4LCAwLCAwLCAwLCAwLCAxMDY2NiwgMCwgCiAgICAgNzM5MDIsIDY5NzQwLCAwLCAwLCA5OTc1LCAxMjgwMzksIDExOTkwMiwgNDY4OSwgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgCiAgICAgNzQ0NDEsIDc4ODEwLCAwLCAwLCA2Nzk4NywgMCwgMCwgMCwgNjc5ODksIDAsIDEwMDY1LCA4MjA3LCAwLCA5MjYxMywgCi0gICAgMTI4MDExLCAwLCA2NjIsIDAsIDkyNDQsIDE5NDg2MywgMCwgMTE5MjYxLCA5ODM0MjAsIDAsIDAsIDAsIDQxOTI5LCAwLCAwLCAKKyAgICAxMjgwMTEsIDAsIDY2MiwgMCwgOTI0NCwgMTk0ODYzLCAwLCAxMTkyNjEsIDk4MzQyMSwgMCwgMCwgMCwgNDE5MjksIDAsIDAsIAogICAgIDY2Njc0LCA0MTkyNiwgMTIwNDA4LCAxMjA0NDMsIDEwNTEzLCA2NDYzNywgMTk0ODYyLCA2ODAxMywgNTIsIDEzMTE4LCAKICAgICA2NDc1LCAwLCAxMjAzNDEsIDEyMDk1LCAxMDIyNSwgNDgxMiwgOTI1NzgsIDAsIDY3OTkyLCA3NDA4NSwgMCwgMzk3OCwgMCwgCiAgICAgOTE3OTQ1LCAxMjc4MjMsIDExNTgyLCAxMjA3NjEsIDEyMjgxLCAwLCA2NTQ0LCAxMzI0MSwgOTM5NjEsIDY5NzgyLCAKQEAgLTE3Nzg2LDcgKzE3Nzg4LDcgQEAKICAgICAxMjA0MTAsIDAsIDEyMDQ1MywgNjQ4MjEsIDk0NzgsIDI1MDgsIDkyNjgzLCAwLCAyMDIsIDEyODI0NiwgNzQxMzEsIDEyNDIsIAogICAgIDY1NTE0LCAwLCA2Mzk0MCwgMTI4NzA2LCA2NDUzMywgMTIwMTI5LCAwLCA2Nzg0MiwgMTE5OTAsIDkyNDMwLCA2MzkzOSwgCiAgICAgNDMzNzUsIDY1NDQwLCAyNTA0LCAwLCA3ODY3MSwgNjQ4MjksIDk4MzkwMSwgNjk0MywgOTE3OTM0LCA1ODU5LCAwLCAyODU4LCAKLSAgICA5ODMzNTMsIDc0Mjk0LCA5ODM5MDUsIDY5MjM5LCAwLCAxMTkwMjcsIDEyOTkyLCAyNzUzLCAxOTM2LCA3MDA3OCwgOTI1NzQsIAorICAgIDk4MzM1NCwgNzQyOTQsIDk4MzkwNSwgNjkyMzksIDAsIDExOTAyNywgMTI5OTIsIDI3NTMsIDE5MzYsIDcwMDc4LCA5MjU3NCwgCiAgICAgMjc1MSwgMTI2NjIsIDI3NjMsIDg5NTMsIDY0NzAxLCAxMDczMSwgMTI5MjIsIDcwNTIsIDkxNzgzOSwgMCwgMCwgMCwgCiAgICAgNjM5MjAsIDc0MTI4LCAyODU2LCAxMTk5MTAsIDQ3LCA2OTkwOCwgMTI2OTg2LCA2NTg1OCwgMCwgMCwgMCwgNzg5OSwgMCwgCiAgICAgODQxNywgNDM3OTgsIDcwNzIsIDAsIDAsIDQwMzMsIDEyODE2NCwgNDM5OTIsIDAsIDAsIDIxMiwgNjQ2MDAsIDE5MDMsIApAQCAtMTc3OTcsMTMgKzE3Nzk5LDEzIEBACiAgICAgMTI2MjQsIDAsIDE2NzMsIDQ4MTEsIDkyMzgzLCA1OTg2LCA5MzM4LCAzMDQ2LCA3NDQ4MCwgNTk4NSwgOTE3OTI4LCAKICAgICAxMTk1OTgsIDk4MjAsIDAsIDEyMTg3LCAwLCAwLCA1OTg0LCAwLCA0MzMwOCwgNDM5MywgNjc2NTAsIDAsIDAsIDAsIDAsIAogICAgIDc0ODI2LCA2NDczMywgMCwgMCwgMzQ5MSwgMCwgMCwgMTI4MjE5LCAzNTE0LCA2NTQ4NSwgMCwgNzQ5MiwgMCwgNzQ2MDUsIAotICAgIDkyNDgzLCA3NTE0LCA5ODMzNTksIDAsIDE5NDczMSwgNzUwMiwgNzU4NywgNjgzNTMsIDAsIDAsIDYzOTI1LCAwLCA3NjEwLCAKKyAgICA5MjQ4MywgNzUxNCwgOTgzMzYwLCAwLCAxOTQ3MzEsIDc1MDIsIDc1ODcsIDY4MzUzLCAwLCAwLCA2MzkyNSwgMCwgNzYxMCwgCiAgICAgMjE5LCAwLCAwLCA2OTIsIDQzNTg4LCA3NDQzMywgNDE2MzUsIDQzMjQxLCA5Njg4LCA3MTQ3LCA5NTM1LCAwLCA5Mzk5MSwgCiAgICAgMCwgNjQ1MzAsIDAsIDY0NjEwLCAxMTgwNCwgMCwgNzE0OSwgNzQ1MywgMCwgODAxMywgMCwgOTIzMDEsIDAsIDg4OTUsIAogICAgIDUyNTMsIDcwMDI1LCA1NDU4LCAwLCAyODY2LCAwLCAxMjc4NjAsIDY1MTExLCA2ODQzMywgNjcwMCwgMTIwNDg0LCAwLCAKICAgICAxMjA1ODMsIDAsIDg5NjIsIDc3OTYwLCA5NjQxLCA0MzY5NCwgNzA1OSwgOTgzNjY4LCAwLCA5NjA0LCA3ODcwMCwgNzQ0MSwgCiAgICAgNjM4MjYsIDY3OTcwLCAxMTg5NDEsIDY0MzkyLCAxOTQ3MzUsIDk4MzY3OCwgMjg0NCwgOTgzOTMyLCA0MTk3NCwgMCwgCi0gICAgMTIxMzksIDY3OTcxLCAwLCAwLCAzMzU4LCA2NTI5NSwgMCwgMzEwNCwgMTk0NzM0LCAwLCAxOTQ3NjUsIDk4MzIyNywgCisgICAgMTIxMzksIDY3OTcxLCAwLCAwLCAzMzU4LCA2NTI5NSwgMCwgMzEwNCwgMTk0NzM0LCAwLCAxOTQ3NjUsIDk4MzIyOCwgCiAgICAgNTMwOCwgMCwgMjkwLCAwLCAwLCAyODYyLCAyNzkyLCAxOTUwODgsIDk4MzA3MCwgMCwgMzI2OCwgNjY1OTEsIDAsIDY1NTIsIAogICAgIDQyMzY3LCA3MDM1LCAxMjA1NTgsIDAsIDAsIDE4MTQsIDAsIDEwMjQwLCA5MjMzOCwgNzQzMDUsIDAsIDc0NTI4LCA2NTkwMywgCiAgICAgMCwgNDI2NDYsIDc2MDYsIDI1OTEsIDI4MzcsIDQzNDEsIDc3OTU2LCA2NDQ4MiwgMTI3MzM3LCA4MTYzLCA2NTI3MCwgMCwgCkBAIC0xNzg2NCw3ICsxNzg2Niw3IEBACiAgICAgOTM5OTgsIDU1MDYsIDAsIDE5MTEsIDY2NjUyLCAwLCA5OTYxLCA4ODQ1LCA2NjY5OCwgMCwgMTA3OTIsIDg4ODksIDAsIAogICAgIDIwOTgsIDAsIDY0NzUxLCAwLCA2NjYyMiwgMCwgMCwgNzQzNjQsIDAsIDAsIDk4Mzc5NiwgNzQzNjUsIDc1NTIsIDAsIDAsIAogICAgIDY1Mzg0LCA3MjIzLCA0NTU5LCAwLCAxOTU2LCA0MzEzOCwgNzAyNCwgNjU3MjgsIDY0NTAxLCAxMjEwLCAxOTUwNzcsIAotICAgIDY1MTc1LCAxMDE4NCwgNDMxNDAsIDQzNjU0LCAwLCAwLCAwLCAzOCwgODUzMywgNjY2NjksIDExOTEyNCwgOTgzMjg1LCAKKyAgICA2NTE3NSwgMTAxODQsIDQzMTQwLCA0MzY1NCwgMCwgMCwgMCwgMzgsIDg1MzMsIDY2NjY5LCAxMTkxMjQsIDk4MzI4NiwgCiAgICAgOTgzNzgzLCAwLCA0MzU3LCAwLCAxMTk4MzcsIDkxNzg2MywgNzQyMzMsIDk5NjcsIDc4ODg0LCA0Mjg2MCwgMTE5ODM4LCAKICAgICAxMDk0MSwgNjU3MjEsIDY5NjIsIDAsIDAsIDExOTMyNCwgMCwgMTEwMTQsIDEyNzk3MiwgODk0MiwgMTIwMDAsIDY5MjI0LCAKICAgICA5MjI2NywgMTI4NTM2LCAxMTk3NCwgOTIyMTMsIDQyNzcyLCAxMjc1MTgsIDExNjUwLCA1MDEzLCA5MjY2MywgMTI2NTgzLCAKQEAgLTE3ODgyLDcgKzE3ODg0LDcgQEAKICAgICA0MTg2OSwgMTI2MTksIDAsIDEwMTU0LCA5ODMwNDMsIDc0NDM5LCAyMDM5LCAwLCA3NDQ2LCAxNjg0LCA2Mzk3OSwgMTA5NzQsIAogICAgIDQ1OCwgMTIwNjIwLCAwLCA2OTc5MSwgMTI3MTYxLCAxMTkxNiwgNjUwMTYsIDAsIDY5NjcxLCA0MjExNSwgOTgzMTMzLCAKICAgICAxMjI4OCwgNzgwNTcsIDAsIDE0OTMsIDQyMTExLCA3NTUzLCA0MDk3LCAxMjgxOTksIDEzMDgwLCAwLCA2NTgwOCwgNjYxMCwgCi0gICAgNjAzMCwgODA1OSwgNzUwOCwgMTMxMzEsIDAsIDk4MzQyMywgMCwgODc5NCwgNDEyNzgsIDQxNjI5LCAxMjE1NCwgMTI4MTkyLCAKKyAgICA2MDMwLCA4MDU5LCA3NTA4LCAxMzEzMSwgMCwgOTgzNDI0LCAwLCA4Nzk0LCA0MTI3OCwgNDE2MjksIDEyMTU0LCAxMjgxOTIsIAogICAgIDQxMjc3LCA2NDY1OCwgMCwgNjQzODAsIDY2MjUsIDc0MzU0LCAxOTkwNCwgMCwgMCwgMCwgNjUzNzEsIDcwNzgsIDAsIDgzMywgCiAgICAgMCwgNjM2OSwgMCwgMTA5NzksIDQxOTUzLCAwLCA0MTQzNCwgNjA2MiwgMCwgMCwgMTk5MTYsIDY5MTMsIDkzMywgMTM0MSwgCiAgICAgOTg0MiwgNjcyMCwgNjU3NDQsIDAsIDk4MzU5MiwgMTI4Mjk1LCAwLCA3NDA1LCAxMDEwNSwgNjU4MTAsIDAsIDQxNjMyLCAKQEAgLTE3ODk3LDcgKzE3ODk5LDcgQEAKICAgICA2NzQxLCA0MzA0NywgMCwgMTMxODAsIDEyODUxNywgNDE4LCA5MTc5NzIsIDY0NDk1LCAxMDI5NSwgMTAzMjcsIDEwMzkxLCAKICAgICA0MTc1MiwgNzQzMzksIDg2NDEsIDQxNDQ5LCAwLCA3NDEwMCwgMCwgMTA5MTEsIDY5NDIsIDAsIDEwMjQsIDQyODQ5LCAKICAgICA0MTc1MSwgNjk3NzYsIDg5NDEsIDk4MzU1NiwgNDU1NCwgMCwgOTAyMywgMTE2ODUsIDAsIDk5MjgsIDc4NjE3LCAwLCAKLSAgICAxMTQzNywgNDM3NDEsIDkyMTYzLCAxMjA3MDAsIDYzOTY3LCA5ODM0NzUsIDQxMjA2LCAxMjA3MjQsIDkwNDksIDQxMTg1LCAKKyAgICAxMTQzNywgNDM3NDEsIDkyMTYzLCAxMjA3MDAsIDYzOTY3LCA5ODM0NzYsIDQxMjA2LCAxMjA3MjQsIDkwNDksIDQxMTg1LCAKICAgICA0MzE2NiwgMCwgMTE2ODAsIDkyNjE5LCAxMTY4NiwgNzg1NDQsIDY1MjI0LCA0NTY1LCA0NjU1LCAxMTk1NTMsIDAsIAogICAgIDkyMTgzLCA2NDUyMywgMTAzNDMsIDEwNDA3LCAwLCA2NjY3MSwgMTE0NjYsIDAsIDEyODAwMywgNDI4OTAsIDc0MDEzLCAKICAgICAxMjA1MCwgNjgyMDEsIDI4NjAsIDAsIDAsIDAsIDQyNzkyLCA1NzQzLCAxMDQyNCwgMTIwNjUsIDQyODcyLCAwLCA5MjM0MiwgCkBAIC0xNzkxMyw3ICsxNzkxNSw3IEBACiAgICAgNDI2OTAsIDk4ODAsIDQyMDEwLCA3NDgyNCwgNjQ1ODksIDEwMTExLCA2NDg3NSwgMTI3ODgwLCA2ODM5OSwgNDM5OTgsIAogICAgIDExMzYwLCAwLCAwLCAwLCAxMTg4MjYsIDQyMTQ5LCAwLCAwLCAwLCA2NDk0MSwgNzc5MTksIDEyMDQyMSwgMTI4MDc3LCAwLCAKICAgICA1NTI0NywgNDExMCwgNjYwMDUsIDY5NTksIDEwOTI5LCAxMTkxMTAsIDAsIDY2NzAzLCA3NzkyMSwgODYxNywgNDE5ODIsIAotICAgIDYwMjUsIDY5MjQyLCA5ODMxNzYsIDAsIDAsIDAsIDk1OTcsIDQyMDk5LCA0MzE3MiwgOTgzMzY4LCAxMDExNywgOTgzMTY5LCAKKyAgICA2MDI1LCA2OTI0MiwgOTgzMTc2LCAwLCAwLCAwLCA5NTk3LCA0MjA5OSwgNDMxNzIsIDk4MzM2OSwgMTAxMTcsIDk4MzE2OSwgCiAgICAgOTIyOTcsIDQxNjM2LCAwLCAwLCAxMjA2ODEsIDgzMDEsIDAsIDAsIDE4NywgMCwgNjU2NjksIDEyODMzOSwgNDk2MywgMCwgCiAgICAgMTI3NTE3LCAwLCA4OTY0LCA2NTY3NiwgNzc3NSwgMCwgNDE5NDgsIDAsIDAsIDAsIDQxOTQyLCA2NTQ0OSwgMzE2MCwgCiAgICAgMTAwODEsIDEzMjI2LCA0MjEyMSwgNDI0NzUsIDQyNjYzLCAxMjgyMTAsIDQxNzY2LCAxMTkxMTQsIDY1ODgyLCA3ODg0OSwgCkBAIC0xNzkyOCwxNSArMTc5MzAsMTUgQEAKICAgICAxMDcxNiwgMCwgNDI4MjIsIDAsIDY0MzQsIDAsIDY5MzksIDc3NjYsIDY0MzIsIDEyODEwNiwgNjk5MzIsIDkxNiwgNzY5LCAKICAgICA0MTc0MiwgMTE5NjgsIDc0ODA1LCA2NDMzLCA1NTYzLCA1NDcsIDE5NDMsIDY0MzksIDU1NjAsIDQ5OTQsIDQ4NywgCiAgICAgMTI2NTM3LCA0NDk3LCAzNzU0LCAxMjcwNTYsIDEyMDQyNCwgOTAzOSwgMCwgNDE3NzYsIDAsIDg3MTYsIDE1OTUsIDQxNjE1LCAKLSAgICAwLCAwLCA3NDI2MCwgMCwgNDI4NTQsIDQzMjE5LCAxMjg3MDksIDk4MzQ1MiwgMTIxODUsIDEyODg3OSwgNzAwNzIsIAotICAgIDY4MzU1LCA2ODM1NywgMCwgNDI4NTYsIDg2MzQsIDAsIDk4MzM4OSwgNDIwOSwgMTIwNzAyLCAwLCA2NTg3OSwgNDE1MzgsIAotICAgIDY1NjEyLCAxMjc1NDMsIDY2OSwgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAwLCA5ODM0NTYsIDU2NzgsIDExODIxLCAwLCAKLSAgICA2NzExLCA0NjAsIDAsIDAsIDk4MzQ1MywgMCwgMTIwNzQ3LCAwLCAwLCA3ODA1MCwgMTE5MDIyLCAwLCA5ODM0NTQsIDAsIAorICAgIDAsIDAsIDc0MjYwLCAwLCA0Mjg1NCwgNDMyMTksIDEyODcwOSwgOTgzNDUzLCAxMjE4NSwgMTI4ODc5LCA3MDA3MiwgCisgICAgNjgzNTUsIDY4MzU3LCAwLCA0Mjg1NiwgODYzNCwgMCwgOTgzMzkwLCA0MjA5LCAxMjA3MDIsIDAsIDY1ODc5LCA0MTUzOCwgCisgICAgNjU2MTIsIDEyNzU0MywgNjY5LCA1Njc5LCAwLCA2OTc4NiwgOTI1NDAsIDAsIDk4MzQ1NywgNTY3OCwgMTE4MjEsIDAsIAorICAgIDY3MTEsIDQ2MCwgMCwgMCwgOTgzNDU0LCAwLCAxMjA3NDcsIDAsIDAsIDc4MDUwLCAxMTkwMjIsIDAsIDk4MzQ1NSwgMCwgCiAgICAgNzc4MiwgOTA0NCwgNDk3NCwgMTE3NjAsIDc4NDk0LCA3NTc3LCA2NTcxMSwgNDE5MTIsIDEyMTYsIDAsIDEyODA3OSwgCi0gICAgNTc5MiwgMCwgMCwgNzg1MDEsIDAsIDI5MzMsIDEyMjQ0LCAwLCA1NjgzLCA5ODMzODQsIDAsIDc4MTE5LCAxNTQ5LCAwLCAwLCAKKyAgICA1NzkyLCAwLCAwLCA3ODUwMSwgMCwgMjkzMywgMTIyNDQsIDAsIDU2ODMsIDk4MzM4NSwgMCwgNzgxMTksIDE1NDksIDAsIDAsIAogICAgIDEyMDM5OCwgNTY4MiwgNjIwNiwgODY3MCwgMTAyNTYsIDU2ODAsIDY5OTM1LCAxMDAwMSwgMTI4NTEyLCA2OTc2OCwgMTQ0OSwgCiAgICAgMTAyNDEsIDc4MjkwLCAxMjgyMjgsIDAsIDEwNTUyLCA2NDM0MiwgNDE5MjIsIDEyODU0OCwgODU4NCwgNjgwMzAsIDU1NjcsIAotICAgIDI3MTcsIDAsIDAsIDU1NjQsIDQyODg2LCA0MTkwOCwgNDI4ODIsIDU1NjUsIDk4MzI0OCwgMTI4MDI2LCAwLCA2NTcwOCwgCisgICAgMjcxNywgMCwgMCwgNTU2NCwgNDI4ODYsIDQxOTA4LCA0Mjg4MiwgNTU2NSwgOTgzMjQ5LCAxMjgwMjYsIDAsIDY1NzA4LCAKICAgICA2NTcwOSwgNTU2NiwgNjk4MDMsIDY1NzA0LCA2NTcwNSwgMTE5MDQsIDQyODc1LCA0MzM3MywgNDI1MzksIDU5NDIsIDg0NjgsIAogICAgIDEyMDU2MSwgMTAzNjEsIDEwNDI1LCA2NTY5NywgNjU2OTgsIDY1Njk5LCAwLCA2NjU5OCwgMCwgNjQ2NjQsIDEwNjQ3LCAKICAgICA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDExOTkwMywgODgwMiwgNzg3MTAsIApAQCAtMTc5NTAsMTIgKzE3OTUyLDEyIEBACiAgICAgMTE5NTcwLCA0MjIzOSwgODUzNiwgNzg3NDAsIDc4MzI0LCA3ODcyNiwgNzQ0MzIsIDcyNCwgMCwgMTQ1NSwgNzg3NDksIAogICAgIDcxODMsIDY0NTgzLCA3ODc0NywgNjg0NDMsIDQxNzUsIDc4NzQxLCA0MzYxNCwgNjk4MDEsIDkzOSwgMCwgNDM1MjAsIAogICAgIDY4NjEzLCA3NDU2OSwgOTE3OTU4LCAwLCA3ODc2MywgNzg3NjQsIDc4NzYwLCAxMDc4OCwgNjA4OCwgNzg3NTksIDc4NzU1LCAKLSAgICAxOTAsIDAsIDEyNTkzLCAwLCA4MTg4LCA2NDQwOCwgMCwgNDQxNywgOTgzMjExLCA5MjI2MSwgNjM3MCwgMCwgNzgyNywgCisgICAgMTkwLCAwLCAxMjU5MywgMCwgODE4OCwgNjQ0MDgsIDAsIDQ0MTcsIDk4MzIxMiwgOTIyNjEsIDYzNzAsIDAsIDc4MjcsIAogICAgIDY4NDQxLCA2OTY1LCAwLCAwLCAxMzIwMSwgMTI4MjA1LCA2OTg5NiwgMCwgNzQzODIsIDczNzgxLCA3OTE4LCA3Mzk4OCwgMCwgCi0gICAgMCwgOTE3ODg0LCAxNzI4LCAwLCA0Mzc2NCwgMTc4LCAxMjk3MiwgOTI2NzksIDAsIDkxNzg4NywgOTI1NjMsIDk4MzM3MywgCisgICAgMCwgOTE3ODg0LCAxNzI4LCAwLCA0Mzc2NCwgMTc4LCAxMjk3MiwgOTI2NzksIDAsIDkxNzg4NywgOTI1NjMsIDk4MzM3NCwgCiAgICAgMCwgNzgzMjcsIDEyMDQwNSwgNjU2OTAsIDAsIDAsIDExOTA1NCwgMCwgOTI1MiwgOTE3ODg5LCA0NjUyLCA2ODM3MSwgMCwgCiAgICAgMCwgMCwgMTMwNjUsIDk5MjMsIDEwODA2LCAwLCAxMTc2MywgNzAwMTYsIDEyMDY4OCwgNjcyMywgNzgxODcsIDAsIDY5OTMsIAotICAgIDAsIDAsIDgzMzMsIDAsIDAsIDExMzkwLCAwLCA3NDQ2NCwgMCwgOTIzMjAsIDc0MDgwLCA5ODMzMDcsIDY5OTExLCAxMTkxMCwgCisgICAgMCwgMCwgODMzMywgMCwgMCwgMTEzOTAsIDAsIDc0NDY0LCAwLCA5MjMyMCwgNzQwODAsIDk4MzMwOCwgNjk5MTEsIDExOTEwLCAKICAgICA5MjU1OSwgODI3OCwgODk2MywgNDAzNCwgMTI4NTYwLCAwLCA2NTM0NCwgMTIwNTE3LCA0MTc0NywgMCwgMCwgODY3NywgMCwgCiAgICAgMTI3MDcsIDkzNTAsIDY2MDM3LCAxMjgxODAsIDg4MzYsIDEyMzE1LCAxMjc0NywgODMwMCwgOTgzNzQxLCAwLCA3NDkxLCAKICAgICA4ODU2LCA3MTM2MSwgMCwgNDMxNTAsIDEyNzc2OCwgMTIwNDA0LCA2NTM4OSwgMTIwNDAyLCAxMjA0MDMsIDEwODEzLCAKQEAgLTE3OTgyLDI3ICsxNzk4NCwyNyBAQAogICAgIDExNiwgMTI5OTgsIDEyMiwgMTIxLCAxMjAsIDExMSwgMTEwLCAxMDksIDEwOCwgMTE1LCAxMTQsIDExMywgMTEyLCAxMDMsIAogICAgIDEwMiwgMTAxLCAxMDAsIDEwNywgMTA2LCAxMDUsIDEwNCwgNjQzNiwgNzM5NzQsIDUzNCwgNDEyMTIsIDc3OTMxLCAxNTM2LCAKICAgICA2NDA5MywgNzM5NzAsIDc3OTMwLCAxMjcxNTcsIDAsIDYwMjAsIDEyNzE2LCAxMjcxMTIsIDEyNzQ0LCA0NzUsIDEyMDM5NCwgCi0gICAgMTMyNjYsIDEyNzgxMywgMTI3MTExLCAwLCA3MzkyNiwgMCwgMTA2NDUsIDEyMTIsIDY1NDMsIDk4MzI5OSwgODEzNCwgCisgICAgMTMyNjYsIDEyNzgxMywgMTI3MTExLCAwLCA3MzkyNiwgMCwgMTA2NDUsIDEyMTIsIDY1NDMsIDk4MzMwMCwgODEzNCwgCiAgICAgMTI4MDI4LCAyOTEzLCA3Mzg3MCwgMTI3MTEzLCAxODY2LCAwLCAxOTUwOTUsIDAsIDg5MjMsIDE2NDUsIDEyMDU5LCAKICAgICA2NjU4NSwgNzEyOTcsIDMxOTYsIDAsIDAsIDU5MzUsIDEyNTAsIDEyNzA2NiwgODE3NCwgOTc4NywgNjczMywgOTg1OSwgCiAgICAgNzkxNiwgOTg2MSwgOTg2MCwgNTI1OCwgMTg4MiwgMTg5MiwgNjczMSwgMTA4ODIsIDQwNSwgMTE0NTQsIDczOTExLCAwLCAKICAgICAxMjg3ODEsIDQxMTY5LCA4OTM5LCA0MTI0NSwgMCwgNDExNzAsIDE0NTQsIDExMzY5LCA2NDc3LCAxMjE1NywgMCwgMCwgMCwgCi0gICAgNDExNzIsIDc4NTUsIDAsIDAsIDEwNDgwLCAwLCAwLCA3NzkzNiwgODI2NCwgMTI2MTAsIDk4MzMwMCwgNjQ1LCAxMjY2MTYsIAorICAgIDQxMTcyLCA3ODU1LCAwLCAwLCAxMDQ4MCwgMCwgMCwgNzc5MzYsIDgyNjQsIDEyNjEwLCA5ODMzMDEsIDY0NSwgMTI2NjE2LCAKICAgICA3NjA5LCA0MDk3MywgNjk5NDMsIDczODMzLCA2OTk0OCwgNTgyNCwgOTg0LCA3NzkxOCwgMTA2ODgsIDU4NTEsIDAsIDc3MjksIAogICAgIDczOTgyLCAxMjA1MTgsIDAsIDE5NTA4NiwgNDMzNjksIDAsIDEyODE0MCwgNjg0MTUsIDk4MzA5MywgNDUzOCwgMTIwNDA2LCAKLSAgICA0MzE0MSwgMCwgOTgzMjA4LCA3NDIxNCwgNzM4ODYsIDAsIDAsIDExODkwMiwgNDMwMDUsIDc4NDQ4LCA5NTUyLCAwLCAwLCAKKyAgICA0MzE0MSwgMCwgOTgzMjA5LCA3NDIxNCwgNzM4ODYsIDAsIDAsIDExODkwMiwgNDMwMDUsIDc4NDQ4LCA5NTUyLCAwLCAwLCAKICAgICA5ODMxNTksIDEyOTk3LCAwLCAwLCAwLCAwLCAyMzgxLCAxMjg4MywgMTA5OTQsIDEwNTI5LCA0MTkwNiwgMCwgMCwgMCwgCiAgICAgMTI0MjUsIDEwNjYxLCAxMDg1NiwgOTYxNCwgMjQyOCwgNDE0NzgsIDg1ODIsIDEwMDY0LCA3MzkzMCwgMCwgMCwgMCwgCi0gICAgNjQ4OTYsIDExOTE2MiwgMTk1MiwgOTIxODEsIDg0NTUsIDEwMDgyLCAxMTU3NSwgOTgzNDgyLCAxMTk1NjYsIDAsIDEyODA4LCAKKyAgICA2NDg5NiwgMTE5MTYyLCAxOTUyLCA5MjE4MSwgODQ1NSwgMTAwODIsIDExNTc1LCA5ODM0ODMsIDExOTU2NiwgMCwgMTI4MDgsIAogICAgIDEyMTgzLCA2MTQ1LCAxMTg5NTUsIDY0OTI5LCA5MjQzMywgMCwgOTgzMTkzLCA0MzE4NiwgNDI1MDksIDAsIDM5MjIsIAogICAgIDkxODcsIDk4MzYxNCwgMCwgMTAxOTEsIDExOTA1NywgMTE3NTIsIDMzNTMsIDkzNTgsIDAsIDcxMzY2LCA2NjY4MCwgCi0gICAgMTIwMDkwLCA4MjQ4LCA3OTMxLCA4NTU4LCA5Nzk1LCA2ODM4MCwgOTgzMjg5LCAwLCAxMjAwODIsIDEyMDA4MSwgMTIwMDg0LCAKKyAgICAxMjAwOTAsIDgyNDgsIDc5MzEsIDg1NTgsIDk3OTUsIDY4MzgwLCA5ODMyOTAsIDAsIDEyMDA4MiwgMTIwMDgxLCAxMjAwODQsIAogICAgIDQxMDI3LCAxMjAwODYsIDAsIDEyMDA4OCwgNzM2NiwgNzAxOSwgMTIwMDczLCAwLCAxMTc1MSwgMTIwMDc4LCA3ODI5NCwgCiAgICAgNjQ2NTcsIDg2NTcsIDEyMDA0OCwgODU5NCwgMTIwMDY4LCAwLCAwLCAxMjAwNjksIDEyMDA3MiwgMTIwMDcxLCAwLCAwLCAKICAgICA0MzE1NCwgNDEwMjksIDAsIDExMzMyLCA2NTM4MCwgNzcyOCwgOTQwNzcsIDExMjk0LCAwLCA2NjY2NSwgNzg1MSwgMCwgCiAgICAgODM3NSwgODY5OSwgMCwgNDI1MjQsIDAsIDkwODUsIDk0MDQxLCA3NTA0LCA5MzI3LCA2MTYwLCAxMjgwOTUsIDk4Mzg1NSwgCiAgICAgMCwgODA4OCwgMCwgNzQwMTIsIDkyNTAwLCAwLCA0NDM5LCA2OTI2LCA5ODMwNDcsIDEyOTI0LCAxMjgyMjcsIDQyMzY5LCAKLSAgICA0MzUwLCA2NTQ5MSwgNjUxNDUsIDkwNDEsIDQzNTU5LCA2NDU3NywgMTA4MjYsIDAsIDExMjk2LCA5ODMyNzUsIDAsIDAsIAorICAgIDQzNTAsIDY1NDkxLCA2NTE0NSwgOTA0MSwgNDM1NTksIDY0NTc3LCAxMDgyNiwgMCwgMTEyOTYsIDk4MzI3NiwgMCwgMCwgCiAgICAgNjU4MjUsIDk1NzcsIDY4MTk5LCAwLCA2NDY3MCwgOTgzMTIxLCA3ODA1NiwgNjc5MywgMTEyOTUsIDAsIDc4MDUzLCAKICAgICA3Mzg3MiwgMCwgMCwgMTA5MDIsIDAsIDAsIDc4MDcwLCA3ODA2OCwgMTA0NzIsIDI5OTUsIDAsIDAsIDY0NjgyLCAyMzcxLCAKICAgICA3ODA2OSwgMTIwODA4LCAyNTksIDEwMDksIDkyMTcxLCAyNDAyLCAyMzMzLCA2NDQwLCAxOTQ3NDEsIDAsIDY1MTI1LCAKQEAgLTE4MDE2LDEzICsxODAxOCwxMyBAQAogICAgIDExNzcyLCAxMzA0MSwgNTkyOCwgNDUyNSwgMTA2NTgsIDY1OTExLCAxMjY2LCAxMDE4MCwgMCwgMTI4NTg0LCAxMjYyMiwgMCwgCiAgICAgMCwgMCwgMTk0NzE0LCAxMjcxMzksIDEzMzEwLCA3NzMsIDE5OTMzLCAxNTM5LCAwLCAxMjY5ODMsIDQyNzMxLCA2Nzk3MiwgCiAgICAgMCwgMCwgMCwgMzA1MSwgNTg2MiwgNzgyMywgOTI0NzgsIDAsIDEyMDQxMSwgMzI1MCwgNDM5OTEsIDY5Njg3LCA2NjY0OSwgCi0gICAgOTUxMCwgNjYyMzcsIDk4MzI5NCwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIDkxNzk2NCwgMCwgMzUwNSwgODcwNywgCisgICAgOTUxMCwgNjYyMzcsIDk4MzI5NSwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIDkxNzk2NCwgMCwgMzUwNSwgODcwNywgCiAgICAgOTE3OTY4LCA2NzI1LCAxMjgwMTMsIDkxNzk3MSwgOTIzMTQsIDM0NzEsIDkxNzk3MCwgNTQ3OSwgODgyLCA2Njg2LCAKLSAgICAxMTk1ODQsIDExNjEzLCAxMjA3NzIsIDQyNzU0LCAwLCA5ODMyOTgsIDkyNjk2LCAwLCAwLCAwLCAxMjg1MjMsIDMyMjUsIAorICAgIDExOTU4NCwgMTE2MTMsIDEyMDc3MiwgNDI3NTQsIDAsIDk4MzI5OSwgOTI2OTYsIDAsIDAsIDAsIDEyODUyMywgMzIyNSwgCiAgICAgOTE3OTk2LCA0NDMzLCA0MTE1NiwgNDM5NzMsIDQzMTczLCAxNDQzLCA0MzgxLCAwLCAwLCAxMDkyNiwgMTE3NTYsIDExNzU3LCAKICAgICA2NDg3OSwgOTE3OTQ5LCA5MTc5NTAsIDEyNzg0OCwgMTMyMjcsIDAsIDEwMDIxLCA1MTYwLCAxMzg3LCAwLCA5MTc5NTMsIAogICAgIDQxNDE4LCAwLCA2NTkxNCwgNjcyMSwgMjE3LCA5MTc5NTUsIDkxNzk2MCwgOTE3OTYxLCAxMDQ0MywgMTA3ODksIDQxMTU4LCAKLSAgICAxMTkyNTcsIDQyNzQsIDk4MzI5MiwgNDE0ODMsIDAsIDQxMjUwLCAwLCA0MjE3OSwgMCwgNTkzMSwgMTE3NDQsIDY5MjMyLCAKKyAgICAxMTkyNTcsIDQyNzQsIDk4MzI5MywgNDE0ODMsIDAsIDQxMjUwLCAwLCA0MjE3OSwgMCwgNTkzMSwgMTE3NDQsIDY5MjMyLCAKICAgICAwLCA0MTI1MiwgNjY2ODIsIDAsIDExOTYzNywgNDEyNDksIDEzNjYsIDY0NjM1LCA2NTA0NywgMTI0NjYsIDAsIDAsIDQzOTcsIAogICAgIDEyODAzNywgMTI4MzM2LCA0MTI5NiwgOTU0NSwgNDEyOTEsIDEyODA0OSwgMCwgNDE0ODUsIDM1MTEsIDQxMjgyLCA1OTIzLCAKICAgICAxMDQwMCwgMCwgMTI4ODE4LCA3NjAsIDAsIDEyMDg4LCA1Nzg2LCAwLCA0MjI1NiwgMTE5ODY5LCAxMTk4NjAsIDQxNywgCkBAIC0xODAzMiw3ICsxODAzNCw3IEBACiAgICAgMTE5NTc2LCAwLCAwLCAxMzc1LCA2NjcwNSwgNDM1NzMsIDY1MjYwLCA0MjA2MywgMCwgNDI4MTEsIDEwMzEyLCA2OTg0NSwgCiAgICAgMTIwNzk0LCA3ODQwLCAwLCA0MzYzMCwgMTAyNTIsIDAsIDEyODEwNCwgNDMxODUsIDAsIDQzOTYsIDAsIDExOTg4MCwgCiAgICAgMTA3NjksIDk2NzYsIDExOTA0MSwgMCwgOTc1MywgMCwgODk0NCwgMCwgMCwgMTA0NzMsIDAsIDAsIDYwNzIsIDQzMDI1LCAKLSAgICAxMDI5OSwgMCwgMCwgMTIwNjA4LCA2NjMyNiwgOTgzNDM5LCAxMjc3OTQsIDAsIDQzODExLCA5MzMwLCAxMjA1OTYsIDcyMjIsIAorICAgIDEwMjk5LCAwLCAwLCAxMjA2MDgsIDY2MzI2LCA5ODM0NDAsIDEyNzc5NCwgMCwgNDM4MTEsIDkzMzAsIDEyMDU5NiwgNzIyMiwgCiAgICAgMTAyODMsIDEwMzE1LCAxMDM3OSwgNDk5NiwgOTgzNzczLCAxMzI4MSwgNjY1MTcsIDc4NjUsIDEwMDg3LCA3ODM0MywgMCwgCiAgICAgNzgzNDcsIDAsIDAsIDc1NjUsIDY2MzYzLCAxMjk1MiwgNjQ4MDYsIDQzMTgwLCA3NzkyOCwgNzQxNCwgNzc5MjksIDQzOTgyLCAKICAgICA3NDI4OCwgNjIyLCA3NDAyMywgODg1LCA0MzQwNSwgMTYwMiwgMCwgMCwgODUyLCAwLCAxMjE2MCwgMCwgMTAyMTIsIApAQCAtMTgwNjMsNyArMTgwNjUsNyBAQAogICAgIDc4MzAsIDExNjUxLCAxMzA5MywgNjQwMDIsIDAsIDY1NzQyLCAxMjg3NCwgMTE5NTk3LCAxMTU5MCwgMCwgNzQwNDgsIAogICAgIDEyODM1MCwgODU5NSwgMCwgOTE3OTQ3LCA0MzcwMywgMTMwOTcsIDAsIDY0NjQzLCAxMzI4MywgMTI2OTcsIDAsIDEyMzgxLCAKICAgICAzNDg4LCA1OTMzLCAxMDAzMywgNzM3MzgsIDY2MjQxLCA2NTU3MCwgMCwgMTIyOTcsIDExOTE1MywgMTk1NSwgMCwgNTM0OSwgCi0gICAgNDI1MzgsIDAsIDAsIDc0MTEsIDk0NjIsIDkxNzU1NCwgMCwgMCwgMCwgNDI3MzYsIDAsIDU3NTYsIDk4MzIxOSwgNzYzOCwgCisgICAgNDI1MzgsIDAsIDAsIDc0MTEsIDk0NjIsIDkxNzU1NCwgMCwgMCwgMCwgNDI3MzYsIDAsIDU3NTYsIDk4MzIyMCwgNzYzOCwgCiAgICAgNDE2NDIsIDQyNzY0LCAwLCA0MzEwOSwgNzYzNywgNTc1MiwgNzQwMzcsIDAsIDczODMyLCAxMjg4MjcsIDEyMDYzNSwgCiAgICAgMTI4MjMxLCA3ODMzNCwgMCwgNzYzNiwgNjUxNzEsIDkxMjQsIDAsIDc4ODkyLCAxMjA3OTgsIDI5MSwgMCwgMCwgMjAyNywgCiAgICAgNjYyMzAsIDEwMDgwLCA3ODEzNiwgMTA0MDMsIDAsIDQ2NDAsIDY0NzEzLCAxMDIyNCwgMTIwNDI5LCA0MjUxMiwgMTIwNDMxLCAKQEAgLTE4MTEwLDE0ICsxODExMiwxNCBAQAogICAgIDAsIDQ5MTYsIDAsIDM4MCwgMTA5NTgsIDY2NTYzLCA3Nzk1NSwgNjk3NzMsIDk3NzMsIDEzMTY3LCAxMjkxOCwgNDEwOTYsIAogICAgIDczOTgwLCA2OTI0NSwgNzgyNTQsIDkxNzg5MywgMTA2ODQsIDAsIDkxNzg5NiwgMCwgNzk0NiwgMTI1NDEsIDgxODIsIAogICAgIDY3NTg2LCA2OTc4MCwgMCwgMCwgMCwgMCwgOTAwNSwgMTIyNSwgNjYzMCwgMCwgMCwgMCwgNjgwMTEsIDg4NDcsIDAsIAotICAgIDY1ODc2LCA1NTM1LCA4MzI5LCA3NDU5MCwgOTgzMjA2LCA5MjYwOSwgMCwgMCwgMzEyNywgMjU5NSwgNjU3MTMsIDQyMDEzLCAKKyAgICA2NTg3NiwgNTUzNSwgODMyOSwgNzQ1OTAsIDk4MzIwNywgOTI2MDksIDAsIDAsIDMxMjcsIDI1OTUsIDY1NzEzLCA0MjAxMywgCiAgICAgOTgzODQ5LCA1NjA3LCA0MTA4OSwgMCwgMCwgNzQyNTYsIDI2NjUsIDExMzA0LCA0Mzc1MSwgNzQyMDAsIDQ5NzAsIDg3NjQsIAogICAgIDEyMDQ1OSwgODkzNCwgOTI3MjYsIDQxNTY2LCA0NDkyLCAwLCA2NTAxMSwgNDEwOTAsIDAsIDAsIDExODgsIDcyNTQsIAogICAgIDExMDAsIDAsIDEyODMwMSwgNDEwODEsIDI5MTIsIDExNzQ5LCA2OTc5MiwgMCwgNjgwMTksIDM1NzIsIDEwMDIzLCA0OTU5LCAKLSAgICAxMzA3OSwgMCwgOTgzMjY4LCA5NzI5LCAwLCAwLCAwLCA0MzM2MSwgMCwgMCwgMTE4MDMsIDc5OTYsIDk5MDcsIDQxNDUwLCAKLSAgICAxMzMwNCwgMTI4MjkwLCAxMjcyNjAsIDQxNDUxLCAwLCAxMTA5NSwgODI3MywgMTI3NTMzLCAzNDUxLCA5ODMzMDEsIDk3MiwgCi0gICAgNDE0NTMsIDk4MzQzNCwgMCwgNzM4ODMsIDY4MDIyLCA3Mzk0NSwgOTgzNzI2LCAyMjg4LCAxOTk1NSwgOTUzOCwgMCwgCi0gICAgNjk4MDcsIDAsIDAsIDAsIDAsIDExMzk2LCA5ODM0MzIsIDExMDE5LCAwLCAwLCAwLCA2ODAyMCwgNDEwNzgsIDcxMzY1LCAKKyAgICAxMzA3OSwgMCwgOTgzMjY5LCA5NzI5LCAwLCAwLCAwLCA0MzM2MSwgMCwgMCwgMTE4MDMsIDc5OTYsIDk5MDcsIDQxNDUwLCAKKyAgICAxMzMwNCwgMTI4MjkwLCAxMjcyNjAsIDQxNDUxLCAwLCAxMTA5NSwgODI3MywgMTI3NTMzLCAzNDUxLCA5ODMzMDIsIDk3MiwgCisgICAgNDE0NTMsIDk4MzQzNSwgMCwgNzM4ODMsIDY4MDIyLCA3Mzk0NSwgOTgzNzI2LCAyMjg4LCAxOTk1NSwgOTUzOCwgMCwgCisgICAgNjk4MDcsIDAsIDAsIDAsIDAsIDExMzk2LCA5ODM0MzMsIDExMDE5LCAwLCAwLCAwLCA2ODAyMCwgNDEwNzgsIDcxMzY1LCAKICAgICAyNjEsIDU5MjcsIDc3OTEsIDAsIDczNjIsIDAsIDEwNjk2LCAwLCA2MDczLCA5ODM4LCAxMTg5MjAsIDAsIDYwNzUsIAogICAgIDkzOTk1LCAyODIsIDEyNjUxMCwgNjQzNywgNzQwNzgsIDEyODAwMCwgOTgwMSwgMCwgNzQxNzcsIDAsIDAsIDM0NzQsIAogICAgIDExODc4NywgMCwgMTIwNjU1LCA2MDgxLCAwLCA3ODg3NCwgNzQwNzYsIDc4ODc5LCAwLCAwLCAwLCAwLCAwLCA4NzUxLCAKQEAgLTE4MTM4LDcgKzE4MTQwLDcgQEAKICAgICA0NTY0LCAwLCAwLCA3NDI3MSwgNzM3NTMsIDgzNzQsIDk4MzE1NiwgMCwgNjgyOSwgNTIyNSwgMTI4ODA3LCAxMjczODUsIDAsIAogICAgIDAsIDExOTYxNSwgMCwgNzQ3OTMsIDU2MjYsIDczODA3LCAxMTc3MSwgNzQwNzUsIDEyNzIzNiwgMTI4MDE5LCA0MjYxNCwgCiAgICAgNTM1MywgNTYyNSwgNzQxNzksIDAsIDAsIDEwMTAsIDY0NTcyLCA0MTc4MCwgNDI2MjMsIDY0Mjc3LCA2OTk0MiwgNjk1MiwgCi0gICAgOTgzMjY0LCAxMjA3NTIsIDc4NzYyLCAyNTkwLCA1NjI5LCA2NTU1MiwgNzU1MSwgMTAzMjUsIDU2MzIsIDEwNDcxLCAKKyAgICA5ODMyNjUsIDEyMDc1MiwgNzg3NjIsIDI1OTAsIDU2MjksIDY1NTUyLCA3NTUxLCAxMDMyNSwgNTYzMiwgMTA0NzEsIAogICAgIDEyMDAzOCwgMTIwMDI3LCAxMjAwMjgsIDEyMDAyNSwgNTYyOCwgMTIwMDMxLCA5NzAsIDEyMDAyOSwgNDc3MiwgMjQwMCwgCiAgICAgNTYyNywgMTIwMDE3LCAxMjAwMTgsIDEyMDAyMywgNjQyNzUsIDEyMDAyMSwgODc4NiwgMCwgMjAzLCAwLCAwLCAwLCAwLCAKICAgICA3ODM1MCwgMCwgNjQzNzgsIDQyMDU0LCAwLCAwLCA1NTQsIDExOTY0OSwgMTEzNTgsIDAsIDEyMTgyLCA0MjA0OCwgMTEwNjUsIApAQCAtMTgxNzUsMTAgKzE4MTc3LDEwIEBACiAgICAgNjEyLCAwLCA2NDQwMSwgNjY0NDgsIDY4Mzc2LCAwLCAxNjc0LCAwLCA1ODIzLCA5ODMxNjMsIDEyMjgwLCAwLCA1NDAsIAogICAgIDc0NTY0LCAxMTkwMTcsIDAsIDg0MzIsIDAsIDExMDczLCAwLCA2NDMxNiwgMCwgMCwgODIwLCA0MTc0MSwgMCwgMTIwNjY3LCAKICAgICAwLCA2NDY4NCwgMTI2OTkyLCAzMzU5LCA3ODAwLCA2OTkzNCwgNjUxNzcsIDYyMjYsIDM1MywgMTIzOTYsIDAsIDExOTYxMiwgCi0gICAgNjQ3NDIsIDEyODY4MiwgMTIwMjgyLCAwLCA5ODM0NDIsIDEyNDEyLCAxOTk0MSwgMCwgMTIwMjc3LCA3ODg0NywgMTg4NCwgCisgICAgNjQ3NDIsIDEyODY4MiwgMTIwMjgyLCAwLCA5ODM0NDMsIDEyNDEyLCAxOTk0MSwgMCwgMTIwMjc3LCA3ODg0NywgMTg4NCwgCiAgICAgOTQ4MSwgNDI0MTgsIDcwMDU5LCA0MTE1NywgMCwgMTE5NSwgNjQ4OTgsIDc5MjQsIDAsIDQxMTUxLCAyMDEwLCAwLCAKICAgICA0MTMyOCwgNDIzNDQsIDAsIDEyNDA5LCAwLCA0MzYwLCAxMjcwMDksIDk3MzksIDEyODU1MCwgNjk5MzMsIDczOTIxLCAwLCAKLSAgICA0MjUyMSwgODUzOSwgOTgzNzE2LCAwLCAxMTg5ODYsIDAsIDQ3ODgsIDAsIDY4MDIzLCA2NTczNCwgOTgzNDQ3LCA0Mzc5MCwgCisgICAgNDI1MjEsIDg1MzksIDk4MzcxNiwgMCwgMTE4OTg2LCAwLCA0Nzg4LCAwLCA2ODAyMywgNjU3MzQsIDk4MzQ0OCwgNDM3OTAsIAogICAgIDAsIDEzMDc1LCA3NDQyOSwgOTQwNjMsIDY0NTY5LCA0MzUzMiwgMTA4MzcsIDI0OTIsIDEyNzE5NywgMTE4OTAxLCA2ODYzNywgCiAgICAgNDExMzYsIDQzNzg1LCAxMTgxMywgOTY0OSwgNDExNTQsIDExOTYxNywgNTEyOCwgNDAzOCwgNDExNDMsIDY1NjA0LCAKICAgICA2NDg1OSwgNDE1OTIsIDY3NzEsIDE2NDgsIDU0MzUsIDkxNzgzNywgNjczNCwgNDEzNDMsIDExOTg0OCwgNjU0MzksIApAQCAtMTgyMTQsNyArMTgyMTYsNyBAQAogICAgIDQxNDYxLCAxMjg4MjMsIDAsIDEyNzkxMiwgMCwgODgxOSwgMTI2NjMsIDAsIDQxMTg0LCA3NDAxNCwgMjMyLCA3NDgzNSwgCiAgICAgMTIwNjQ2LCA5MTY4LCA2NTc4NiwgMCwgMCwgMCwgOTA5NCwgMCwgMTE3NTgsIDY4NDI1LCAwLCAxMDY0LCA0MjQ2NywgCiAgICAgMTI4MDQ0LCAxMDExNSwgMTk5MjQsIDkyNzExLCAwLCA3ODYyLCA2NDU1MSwgMTMyMjQsIDg1MTYsIDQxODYyLCA2NjY1MCwgCi0gICAgNzU2MSwgNzg2MTgsIDY5NzkzLCAxODc4LCAwLCA5ODMyNjEsIDI5MTEsIDAsIDQxMTc4LCA1NDI3LCA2NDgyMywgMCwgMCwgCisgICAgNzU2MSwgNzg2MTgsIDY5NzkzLCAxODc4LCAwLCA5ODMyNjIsIDI5MTEsIDAsIDQxMTc4LCA1NDI3LCA2NDgyMywgMCwgMCwgCiAgICAgMzc4NywgNDExNzQsIDAsIDQxNDU4LCAwLCA0MTQ2MywgNDI0MTMsIDExMjkyLCAyNDA2LCA3NzUsIDAsIDY1NTg0LCAKICAgICA2OTkyMywgNjA3NCwgOTYxOCwgMTI4NjY4LCA5ODM5NDMsIDQzNDQwLCAwLCAxOTQ5MDEsIDQxNDM2LCAzNjU2LCAwLCAKICAgICAxMjA2MDAsIDQxNDU2LCAwLCAxNTk5LCAxMTMzMywgMCwgNjcwMywgODUxMywgMCwgMTYxMywgMCwgNjg0NTYsIDEyNTk4LCAKQEAgLTE4MjM2LDcgKzE4MjM4LDcgQEAKICAgICA0MTI4NywgOTI2MTAsIDAsIDAsIDQyMjE5LCAxMjgyNTcsIDAsIDQxOTg3LCA0MTY3NiwgOTgzMDU5LCAxMjA4MjMsIAogICAgIDk4MzE0NCwgNDE2NzAsIDAsIDkyNTkwLCAyNzk2LCA1NTI5MSwgMTE2ODMsIDk5MDIsIDc0NTIxLCA2Nzk4OCwgMTE0NTEsIAogICAgIDk4MzExMSwgMTI4ODIyLCA0MjYzMSwgMjM1OSwgMCwgNjc4NDQsIDc0MTY0LCA0MTIzOCwgNTQ4LCAxMTQwNSwgMTMxMzMsIAotICAgIDY0MzY4LCA5ODMyMzMsIDEyODc5NSwgMCwgMzk3LCA0MzYyMiwgNDIxMzksIDk1NDcsIDk1OTAsIDEyODIzOCwgMTYxNCwgCisgICAgNjQzNjgsIDk4MzIzNCwgMTI4Nzk1LCAwLCAzOTcsIDQzNjIyLCA0MjEzOSwgOTU0NywgOTU5MCwgMTI4MjM4LCAxNjE0LCAKICAgICA0MzY2MSwgNjQzNTYsIDY2MzA3LCA2NjUxLCAxMzU4LCAwLCA0MjgsIDk2MjAsIDE0NjYsIDc4MTEyLCAxMDk4MiwgCiAgICAgMTE4ODMxLCAxMzMzLCA3MTA0LCA0MDcsIDY0MjUsIDEyODgzNCwgNzQyNTMsIDAsIDAsIDAsIDU4MDQsIDExOTc2LCA4NTU0LCAKICAgICA5MjcyMSwgMCwgMCwgOTA1NywgNDIyOTQsIDQxMjE4LCAwLCAwLCA3ODEzNywgMTg4MywgMTA5NTIsIDgwNDgsIDc4MTQyLCAKQEAgLTE4MjUwLDcgKzE4MjUyLDcgQEAKICAgICA2NjMxNSwgMjEwNiwgMTIwMjIyLCAxMTI3MywgMCwgNDMwMDQsIDc1NDEsIDAsIDAsIDk2MSwgNjQzMDcsIDY2MzI0LCAKICAgICA2NDkwNiwgMTI4NTkxLCAzMTA2LCA2NTkxNywgNDEyODQsIDE2OTYsIDAsIDg5MSwgMTIxMDUsIDAsIDQyNjI0LCAxMjgwMiwgCiAgICAgMzI2NCwgODgyNCwgMTMyNjgsIDQzMDAzLCAxMDkzNiwgMCwgMCwgMCwgMTk0ODI2LCA5MjY4OCwgMCwgMjMyMiwgMTIwMzcxLCAKLSAgICA5ODM1ODQsIDExNDQ5LCAxMjgxODcsIDQyODY4LCA0MTI4NSwgMzU0NywgMCwgMCwgMTI4NzkzLCA5ODMzOTAsIDQzMjE2LCAKKyAgICA5ODM1ODQsIDExNDQ5LCAxMjgxODcsIDQyODY4LCA0MTI4NSwgMzU0NywgMCwgMCwgMTI4NzkzLCA5ODMzOTEsIDQzMjE2LCAKICAgICA2MDg5LCA3ODY4MiwgMCwgMTIwNTc4LCA0MTcwLCAxMDI5LCAxMjc3NjEsIDEyNzAzNiwgMTE5MjI0LCA0MjM3NCwgMCwgCiAgICAgNzQ0LCAwLCAwLCAwLCA2NTgyMywgMTI3ODI2LCAwLCAzNTUxLCAwLCAwLCA0NjIzLCA1NTI2OCwgMCwgNDU5OCwgOTgzMTYyLCAKICAgICA2NTEzNiwgMTI3MTM2LCAwLCAwLCAxMDg1MSwgMCwgNjE3OSwgOTI2MDIsIDYxODAsIDAsIDExOTUyLCAxMjA3NzgsIApAQCAtMTgyNzcsOCArMTgyNzksOCBAQAogICAgIDYzNTIsIDQxODkyLCAwLCA3NTU1LCAxMzEwMywgNTQwOCwgMjgxNywgMTIxNCwgNjk5MTksIDkyMzM1LCA5ODMxMjUsIDAsIAogICAgIDAsIDAsIDEyNzE5NSwgNzk1NywgODY4OSwgNjQ3MjMsIDEwNTYsIDQyODk2LCA3NDE0NywgMTk0ODEzLCAwLCA1NTI4NiwgCiAgICAgNzA3MywgNjU4NTAsIDEyMzI3LCA5ODM5MzksIDExOTAyOCwgMCwgMCwgMCwgMjM0MSwgODQ1MCwgODQ4NCwgODQ3NCwgCi0gICAgOTgzMjUyLCAwLCA3MDA3OSwgODQ2MSwgMTI4MTAyLCAxMjE1MywgMTI3OTksIDAsIDQzNzA5LCA0MzcwOCwgOTQ1MSwgCi0gICAgNzU3MSwgMTMwNzMsIDAsIDAsIDY4MSwgOTgzMjQ2LCA3MDMsIDAsIDMyNzIsIDg3ODEsIDEyODk0LCA3MDA3NywgMTE3MDksIAorICAgIDk4MzI1MywgMCwgNzAwNzksIDg0NjEsIDEyODEwMiwgMTIxNTMsIDEyNzk5LCAwLCA0MzcwOSwgNDM3MDgsIDk0NTEsIAorICAgIDc1NzEsIDEzMDczLCAwLCAwLCA2ODEsIDk4MzI0NywgNzAzLCAwLCAzMjcyLCA4NzgxLCAxMjg5NCwgNzAwNzcsIDExNzA5LCAKICAgICA5MjI4OCwgNzQ0NDYsIDAsIDkyNTMyLCAwLCAxMTMzOCwgMTIwNzY4LCAzMjc2LCAwLCAwLCA2NTkyOCwgMCwgMCwgNjUwMjEsIAogICAgIDY0Nzk1LCA3NDU3NCwgMCwgMTAwNDcsIDc4ODE0LCAzMjYyLCA3ODgxMSwgNDI3MTEsIDAsIDAsIDY4NDc4LCAxNjMsIDU3NiwgCiAgICAgOTg5NSwgMTY1NSwgNzg4MTcsIDc0NTkxLCA3ODgxNSwgNzg4MTYsIDk4MzEyMiwgMCwgMCwgMCwgMTAwMzksIDAsIApAQCAtMTgyODgsNyArMTgyOTAsNyBAQAogICAgIDAsIDcxMzYyLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgCiAgICAgNjUxMTgsIDAsIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAwLCAyNDAxLCA2ODE0NCwgODc5MiwgOTgzNjM5LCAwLCA2NTQ1NSwgCiAgICAgMCwgOTIyNDYsIDAsIDExOTEyOSwgMCwgMTI4ODYsIDEyNzkyMCwgNjY2MjQsIDAsIDQzNTU3LCAxMDMwMCwgMTAxNjEsIAotICAgIDEwMzk2LCA3NDEzNSwgOTgzNDQ1LCAxMTg5NDUsIDc4MTE4LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzgxMjIsIDE0NTgsIAorICAgIDEwMzk2LCA3NDEzNSwgOTgzNDQ2LCAxMTg5NDUsIDc4MTE4LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzgxMjIsIDE0NTgsIAogICAgIDQxNDc1LCAxMjg2NzIsIDkzOTc1LCAwLCAxMTQ3OSwgMCwgMTIwMzU2LCA2MzUwLCAxMjg2NCwgNjk2NzQsIDc4MTE0LCAKICAgICAxMDYxLCA2NDc4MCwgMjAwMSwgNDMxMTEsIDU1MjMwLCAxMjg2ODYsIDQwNTIsIDAsIDc2MjYsIDAsIDAsIDEwNDUsIDAsIAogICAgIDU2MzEsIDQxMTEzLCAwLCAwLCA0MzcwNywgNzQxMjcsIDAsIDAsIDg0ODYsIDAsIDczNzU4LCAyMzM1LCA0MzYyLCAKQEAgLTE4MzA0LDggKzE4MzA2LDggQEAKICAgICA5MjI0NSwgNDQwLCAwLCAxMzA4NSwgOTIzMywgNzQyMTYsIDAsIDAsIDk5NTcsIDEyODI4NSwgNjY0NDcsIDgwNDYsIAogICAgIDY0OTYzLCA2NTc3NywgMTAxMjUsIDc0MjEyLCA0MjgxOSwgMTA5MTAsIDAsIDE1MjEsIDk4OTYsIDkzOTY1LCAxMDQ4NywgCiAgICAgNjk4NzgsIDEyNTI3LCAwLCA3OTcwLCAwLCAxMjg2NjAsIDAsIDY1NzY5LCA1MjQzLCA5ODQ5LCA1MjM5LCA2NTc3MSwgCi0gICAgOTgzMjI5LCAwLCA1MjM3LCA2OTcxNCwgMCwgMTAxMDMsIDUyNDcsIDQ3NjksIDAsIDExODk3NywgMTI4NzMsIDIyODMsIAotICAgIDk4MzIzMSwgMCwgMzAwOCwgNDg5NiwgMCwgMTIwODcsIDAsIDU1MjMxLCA0MTEwMywgMCwgNjQ1NjUsIDQ3NzMsIDAsIAorICAgIDk4MzIzMCwgMCwgNTIzNywgNjk3MTQsIDAsIDEwMTAzLCA1MjQ3LCA0NzY5LCAwLCAxMTg5NzcsIDEyODczLCAyMjgzLCAKKyAgICA5ODMyMzIsIDAsIDMwMDgsIDQ4OTYsIDAsIDEyMDg3LCAwLCA1NTIzMSwgNDExMDMsIDAsIDY0NTY1LCA0NzczLCAwLCAKICAgICA5MjcxNywgNzAwNzQsIDQ3NzAsIDAsIDkxNzU2NywgODczMSwgNjUzNzgsIDEyNzM2MiwgMTIwNjE5LCA5MTIyLCAxMjgwMzMsIAogICAgIDEyNjYwMCwgNDc3NCwgMzAxOSwgOTk5NywgMTI4MzQsIDAsIDk0NTYsIDEwMjE1LCAxMjA1NDcsIDAsIDAsIDAsIDAsIAogICAgIDc0Nzc2LCA0MjgxLCA0NzY4LCAwLCA0MTUzNSwgNDA5OSwgOTAxNywgMCwgMCwgNzgwOTUsIDAsIDc4MDk2LCAwLCAwLCAwLCAKQEAgLTE4MzMzLDcgKzE4MzM1LDcgQEAKICAgICA0MTUyMSwgMTE4OTM0LCA0OTQsIDEzMjUwLCAwLCA2NTA5OCwgNjM2NCwgOTU2LCAwLCAxMjgzMCwgMTA0NjIsIDczNzQwLCAKICAgICA3MzczNCwgMCwgMCwgMCwgNjY0NDksIDEzMjYzLCA3NDI4MSwgNjkyMTcsIDEzMTcxLCAxMjc3OTYsIDAsIDAsIDkyMjk0LCAKICAgICAwLCAxMDQ0LCA0MTI3NiwgMCwgMCwgMCwgNDIwNjgsIDExNzk1LCAwLCAwLCAwLCAwLCA0MjQ1MCwgMzkwNywgMCwgNjQ1MjYsIAotICAgIDExODI5LCA2ODE5NywgMTIyOTUsIDAsIDExNDc1LCAwLCAzMDIwLCAxMTUzNywgMCwgNjY0NDEsIDk4MzQ0NiwgNzA5OCwgMCwgCisgICAgMTE4MjksIDY4MTk3LCAxMjI5NSwgMCwgMTE0NzUsIDAsIDMwMjAsIDExNTM3LCAwLCA2NjQ0MSwgOTgzNDQ3LCA3MDk4LCAwLCAKICAgICAwLCAxMDU3LCA1NjYsIDQyNjk2LCAwLCAzMDE2LCA0MjI3NCwgNDM0NjQsIDY2NDkwLCAxMjkyMSwgNjY1NzEsIDc4NDcyLCAKICAgICA5MjUxMCwgMzAwNiwgNDYyMCwgMTI3MjM3LCA5ODM1NzgsIDAsIDAsIDY0NjU5LCAwLCAxMjc3NDksIDU1MjUzLCA2MzU3LCAKICAgICA2MzYyLCA4NjI2LCA3MTMzNywgMjIxNiwgOTA5MCwgNjUzNzcsIDQxNTk2LCAwLCA0MjkyMCwgMTY5OCwgMCwgNjQ0NzcsIDAsIApAQCAtMTgzNjQsOSArMTgzNjYsOSBAQAogICAgIDQyMjQ5LCA3NjM5LCA0Mzk5NSwgNjc4NDUsIDQyNjQxLCA1NDU0LCAwLCAwLCAxOTQ5OTcsIDEyMDAwNSwgMCwgOTgzOTU3LCAKICAgICA1MDg0LCAwLCAwLCAxMTg4NjEsIDAsIDczMywgOTE3ODc2LCA3ODAxNCwgNzg0MzYsIDc4NDM1LCA0MTY3NywgMCwgOTIxOCwgCiAgICAgMTczMSwgMCwgOTgzNzM3LCAwLCA2Nzk5MCwgMCwgMCwgMCwgMTIwMDAxLCAxMjcwMTgsIDkyNDkyLCA1MTU1LCAxMjAwMDAsIAotICAgIDUzNTgsIDk4MzczNSwgMCwgOTE3NzY3LCA2NDQyNCwgOTgzMjI1LCAzODQwLCA2NDMxNCwgNDE0MzIsIDAsIDc4MzE1LCAKKyAgICA1MzU4LCA5ODM3MzUsIDAsIDkxNzc2NywgNjQ0MjQsIDk4MzIyNiwgMzg0MCwgNjQzMTQsIDQxNDMyLCAwLCA3ODMxNSwgCiAgICAgNjg0MzAsIDY3OTgwLCA0MzI1MywgNjU5NDMsIDAsIDMzNzEsIDEwOTg4LCAwLCA4NzcxLCAxNDc5LCAwLCAwLCAxMTA5LCAKLSAgICAxMTU4MCwgMCwgNjQ2MDEsIDEyMjA1LCAwLCAwLCA2NDUwNywgODg2OCwgMzk5LCA2Nzk3OCwgNzQ4NDIsIDk4MzI3NiwgCisgICAgMTE1ODAsIDAsIDY0NjAxLCAxMjIwNSwgMCwgMCwgNjQ1MDcsIDg4NjgsIDM5OSwgNjc5NzgsIDc0ODQyLCA5ODMyNzcsIAogICAgIDk4MzcxMiwgMTIxNDksIDEzMDg4LCA1NTEsIDAsIDEwMTU2LCAxMjExOSwgOTI1NzIsIDAsIDI1NDQsIDY1MDc0LCAKICAgICAxMTkyMTEsIDAsIDAsIDc4MDExLCAzNTEsIDExOTE0OSwgMCwgMCwgNTUyMjksIDAsIDc0MjY4LCAwLCAwLCAwLCA0MjM3NywgCiAgICAgMCwgMCwgMCwgOTgzOTE1LCAwLCA5MDEzLCA0MDU0LCAwLCA5ODM1NzAsIDAsIDAsIDczOTYwLCA1NTg1LCA2NTg4MSwgCkBAIC0xODQzOSwzMyArMTg0NDEsMzMgQEAKICAgICAwLCA0MzQzNSwgMCwgMCwgNDk5MywgMCwgNjE2OCwgMTA5MzQsIDE5NDYsIDc0MSwgMCwgNTQ5NCwgNDYzOSwgOTgzMTQ3LCAKICAgICAxOTkwLCA2NjU4OSwgNDQ5OCwgNzg2NjQsIDExOTE4MywgMCwgMCwgNjk3MzQsIDI5NjAsIDczNzc5LCAwLCA4OTY5LCAKICAgICAxMjgxMTcsIDQzNDI0LCAxMjcwNTksIDAsIDI5NTAsIDExOTU3OSwgNjIxMCwgNjU3NTMsIDM3MCwgMCwgMCwgMCwgNDk1MywgCi0gICAgOTgzNjczLCAwLCAwLCAwLCA2OTIzMCwgMCwgMCwgNjU2ODgsIDk4MzI0MCwgNTA2MywgMzUxNywgMjk2NCwgNDM2NjMsIAorICAgIDk4MzY3MywgMCwgMCwgMCwgNjkyMzAsIDAsIDAsIDY1Njg4LCA5ODMyNDEsIDUwNjMsIDM1MTcsIDI5NjQsIDQzNjYzLCAKICAgICA5MTc3NjIsIDYzNDQsIDc0NzkxLCAxMDU2NiwgMTAxNDQsIDY2MzMzLCA4MjUyLCA3MjksIDY2MDE2LCA3ODI1MywgMCwgCiAgICAgNzEzMTcsIDY0OTIzLCAxMjgwNDAsIDQzNjY5LCA5MDMyLCA3ODI2MywgNzgyNjQsIDAsIDQxMjE1LCAwLCA2NTg4MywgMCwgCiAgICAgOTE3Nzc0LCAxMjA2MDIsIDM3NjEsIDAsIDAsIDcwMDY4LCAwLCAxMjkxMiwgMTE5MDEyLCAzODUwLCAxMjgxOTEsIDAsIDAsIAogICAgIDAsIDAsIDkwOCwgMCwgODYxMSwgMCwgMCwgMTI3NTU1LCA0MzY5MSwgNDExOTcsIDAsIDg5NzgsIDEyMDU0MCwgMTE5MTM1LCAKICAgICA0MTU4NiwgMTA1MjcsIDAsIDkxNzg0OCwgMzg0OCwgNzg3MzksIDE5NDkzNywgMTI3NTM2LCA2NTI0MSwgNTMzNiwgCi0gICAgOTgzMjUxLCAxMjg3ODYsIDY2MywgMCwgMTA3ODAsIDAsIDAsIDc4NzY3LCA5ODMyNDksIDEyNzE2MywgNjgxOTMsIDM0NywgCisgICAgOTgzMjUyLCAxMjg3ODYsIDY2MywgMCwgMTA3ODAsIDAsIDAsIDc4NzY3LCA5ODMyNTAsIDEyNzE2MywgNjgxOTMsIDM0NywgCiAgICAgMCwgMCwgNzg3NzUsIDY0Njc1LCA0MTU4MiwgNzg3NzQsIDc4NzQ0LCA2NTU3OSwgMTI5ODAsIDc4NzY5LCAxMjE0MywgCiAgICAgNjk2NTcsIDc4NTEyLCAwLCA0MzQ0MSwgNDE4MDQsIDc4NTIzLCAwLCA3ODUyNSwgMCwgMTI4ODU5LCA0MTU4NCwgMTA2ODEsIAogICAgIDAsIDk4MzY4NiwgNzM5MzgsIDAsIDEyODAyMiwgNDgwMCwgNjY2NjEsIDAsIDY2MzA2LCA2NDcxNSwgNzg1MzQsIDk1MTgsIAotICAgIDY2MDksIDEwNDM0LCAwLCAxMTMxOSwgMTA5NywgMCwgOTE3ODUwLCA0MTczMCwgOTgzMjEyLCAwLCA3Mzg0NywgNzg3NjEsIAorICAgIDY2MDksIDEwNDM0LCAwLCAxMTMxOSwgMTA5NywgMCwgOTE3ODUwLCA0MTczMCwgOTgzMjEzLCAwLCA3Mzg0NywgNzg3NjEsIAogICAgIDY1MTcyLCA0MTcyOCwgNDE3MjEsIDAsIDAsIDAsIDQxMjAzLCA5MTc2MTIsIDEzMTEwLCA0MTcyNiwgOTgzODQ2LCAwLCAKICAgICAxMDAwLCA2OTY1MSwgMCwgNDExNDAsIDEyMDksIDczOTc4LCAwLCA3Mzc1MCwgMTA3MywgNjMyMSwgNzc4NzgsIDQxMTM4LCAKICAgICAwLCA2ODIxMywgMCwgMTIxNjcsIDExMTUsIDQxNjA1LCA5Nzk0LCAxMjcwNjIsIDY3NjcxLCA1NTI0OCwgMTIyMzcsIAogICAgIDc4Nzg3LCA2NjMxNCwgNjU4NywgOTI5MCwgNzg3ODIsIDc4NzgzLCA5MjMxLCA3ODc4MSwgMjk1OSwgNzkyNiwgMCwgMCwgMCwgCiAgICAgNjQzOTgsIDAsIDExOTk3MCwgMTIzMTEsIDk4MzcxOCwgNzg3OTYsIDc4Nzk4LCA3ODc5NCwgNzg3OTUsIDY4NDM0LCAKICAgICA3ODc5MywgNjY2NzAsIDAsIDAsIDEyMjkwLCAxMjAxNjksIDAsIDExOTg3MywgNDIxNDIsIDk5NjgsIDgyMDUsIDAsIDUxMzEsIAotICAgIDAsIDk2MjcsIDc4NTM2LCA3ODU0MiwgNzg1MzUsIDk4MzIxMCwgMTk0NCwgMTI0OCwgMTAxNDgsIDEyNzc1NSwgMTE5OTkwLCAKKyAgICAwLCA5NjI3LCA3ODUzNiwgNzg1NDIsIDc4NTM1LCA5ODMyMTEsIDE5NDQsIDEyNDgsIDEwMTQ4LCAxMjc3NTUsIDExOTk5MCwgCiAgICAgMTE5OTkxLCAxMjcwMSwgNzgzNzYsIDExMzA4LCAxMTk5OTUsIDAsIDExOTk5NywgMTE5OTk4LCA2NTMwNSwgNjUxMDAsIAogICAgIDQwMzEsIDQyNzk0LCAxMjAwMDMsIDcwNzUsIDgxNTQsIDExOTk4NSwgMTIwMDA3LCA0MTgxNywgNzM5MzQsIDQyMjc1LCAKICAgICAxMjAwMTEsIDEyMDAxMiwgNzg1MjYsIDEyMDAxNCwgMTIwMDE1LCA2MDQxLCAwLCA0MTg5OSwgMCwgODAwMiwgMCwgNDM2NCwgCiAgICAgMCwgMCwgNjQzMzIsIDAsIDc4MTMsIDkwNjQsIDExOTk4NiwgMTAxMjQsIDc1MjYsIDg2MDEsIDcyODEsIDc4NDU1LCA3Mjc5LCAKLSAgICAxMjA0MSwgMTQxOCwgMTA4ODUsIDEyNjczLCAwLCAwLCA5NjYwLCA5ODMyNzIsIDEzMDEyLCA0NTcxLCAwLCAwLCAxMjAxNjQsIAorICAgIDEyMDQxLCAxNDE4LCAxMDg4NSwgMTI2NzMsIDAsIDAsIDk2NjAsIDk4MzI3MywgMTMwMTIsIDQ1NzEsIDAsIDAsIDEyMDE2NCwgCiAgICAgMTIwNzgsIDI5NzAsIDAsIDEwOTMzLCAwLCA3Nzg3MCwgMCwgMTI3MDE1LCAwLCA0MTU5OSwgMCwgMTI4ODMxLCAwLCAKICAgICAxMjk1MCwgOTIxNjAsIDM0ODYsIDAsIDc4MzExLCA0MjM5LCAwLCAxMjc3OTksIDY2NTExLCAwLCAyNjM3LCA2NDYyOSwgCiAgICAgODQ2MCwgMTI3MDUzLCA4NDc2LCA5ODM5NjYsIDAsIDAsIDAsIDY1NjczLCAxMDE5LCA3ODQ5NSwgNDE0OCwgMCwgMTIyODksIAotICAgIDAsIDQzMTYsIDAsIDEzMTE5LCA4NDg4LCA1NDEyLCA2NjI0MywgOTkzNSwgMCwgNzM4NjQsIDk4MzIwMSwgNDE3MzQsIAorICAgIDAsIDQzMTYsIDAsIDEzMTE5LCA4NDg4LCA1NDEyLCA2NjI0MywgOTkzNSwgMCwgNzM4NjQsIDk4MzIwMiwgNDE3MzQsIAogICAgIDgyMDYsIDc0MDgxLCA5MTYzLCAzMjg2LCA5MDcyLCA1ODY3LCAxMzMwMiwgNzYyMiwgNzEyMCwgNDE3MzYsIDkyNTQ2LCAKICAgICA0MTczMSwgMCwgNzQwMCwgNTQxNiwgNjg2NjMsIDExODkyNCwgMTA4MTcsIDAsIDQxNTM5LCAxMjcyODQsIDAsIDczOTYzLCAKICAgICA0MTg1NSwgNDE4NjcsIDY1NTY0LCAxMTI3NywgNjU4OTIsIDExNTM2LCAxMDYyMCwgOTIyNzIsIDcxMTUsIDY2MDMwLCAKQEAgLTE4NDczLDggKzE4NDc1LDggQEAKICAgICA5MjUxMiwgMCwgNjYzNzcsIDY5NzgxLCAwLCA5ODM2OTAsIDc4NTExLCAzMTYxLCAyOTUsIDEyMDIwNywgMCwgOTIyMjMsIAogICAgIDEyNzg1NiwgNzg3NDIsIDkwMTYsIDQzNDU0LCA2MzkwMywgNjM5MDIsIDQzNjQxLCAwLCAzOTcxLCAwLCA3MDA2MywgMjk1MiwgCiAgICAgNzg3NjUsIDExMDM4LCAxMDkwMSwgNjM5MDAsIDYzODk5LCA2Mzg5OCwgOTQwNDMsIDY2NywgMTIzMzIsIDYzODg3LCA2MDg2LCAKLSAgICA0MTcyMiwgMCwgNTE3MiwgMCwgMCwgNDE1OSwgMCwgMCwgOTgxNSwgNjM4ODQsIDE5OTM0LCA2Mzg4MiwgNDExOTgsIDg1NTUsIAotICAgIDYzODc4LCA2Mzg3NywgNDI0NjAsIDYwNTAsIDQyNzA4LCA2Mzg4MSwgNjM4NzIsIDAsIDQyNDIxLCAwLCA0MTcyMywgCisgICAgNDE3MjIsIDAsIDUxNzIsIDAsIDk4MzI3MSwgNDE1OSwgMCwgMCwgOTgxNSwgNjM4ODQsIDE5OTM0LCA2Mzg4MiwgNDExOTgsIAorICAgIDg1NTUsIDYzODc4LCA2Mzg3NywgNDI0NjAsIDYwNTAsIDQyNzA4LCA2Mzg4MSwgNjM4NzIsIDAsIDQyNDIxLCAwLCA0MTcyMywgCiAgICAgNjM4NzUsIDYzODc0LCAxMTQ2MCwgNzQzMiwgMTkxMywgNDE5MTMsIDYzODUyLCAxMjY2MzYsIDAsIDQyMzQ4LCA3Mzg5MiwgCiAgICAgNjc1MiwgNDQ2LCA0MTkxMSwgMTI3OTA2LCA2Mzg1MSwgNjM4NTAsIDQxOTEwLCAwLCA2Mzg0NiwgMjk3MiwgMTI5MzIsIAogICAgIDcyNjIsIDAsIDYzODQ5LCA2Mzg0OCwgNjM4NDcsIDEyODA3MCwgNjU3MCwgODMwMiwgNzI1OSwgNjM4NDIsIDQxNzgsIApAQCAtMTg1MTUsNyArMTg1MTcsNyBAQAogICAgIDAsIDEwNTE1LCA0MTU4OSwgMTI4Njk4LCAwLCA2MjE4LCAwLCAxNDMwLCAwLCAwLCAxMjA2MDYsIDc4NzU0LCA1NDEzLCAKICAgICA3NjE5LCAzMjU1LCAzNDkzLCA3NDAzMiwgMTE1NDksIDEwNzM1LCA0MTc0MywgNzM5MzcsIDY4MDEsIDk4MzYyNCwgNDUxOCwgCiAgICAgMTA5OTAsIDY1MDczLCA1MTY3LCA0NDgxLCAzNzcxLCAxMjAxNTgsIDI3MTAsIDAsIDY5MjQzLCA0MTcyNCwgMCwgNDMwNzMsIAotICAgIDQxNjkwLCAxMjQ3OSwgOTgzNjI2LCAwLCAwLCA5ODM4MDksIDcwMDQ2LCAxNjI4LCAxMjcxNDksIDk4MzQ3OSwgOTgzNzIyLCAKKyAgICA0MTY5MCwgMTI0NzksIDk4MzYyNiwgMCwgMCwgOTgzODA5LCA3MDA0NiwgMTYyOCwgMTI3MTQ5LCA5ODM0ODAsIDk4MzcyMiwgCiAgICAgNjUyNjIsIDYzMzMsIDEwNzgzLCA0MjMxNSwgMCwgNjM4NTUsIDk0MDU2LCAwLCAwLCA1MzM5LCA3NDMyMywgMCwgMTMwMDQsIAogICAgIDAsIDQ0NTcsIDAsIDAsIDAsIDAsIDU2ODQsIDg2NzgsIDEwOTE0LCAwLCA1Njg5LCA2NTgwNywgMCwgNjg0NjQsIDEyNjMzLCAKICAgICAxMjg3MCwgNjk3MDUsIDY1MTgzLCA1Njg4LCAxMTkyNiwgNjAzMywgNjMxMCwgNTY4NiwgMCwgNzQyNTEsIDAsIDEyMDY0NywgCkBAIC0xODU0Miw3ICsxODU0NCw3IEBACiAgICAgNzM4NTksIDY1OTA0LCA3MzYzLCAxNjg2LCAwLCA3ODQwNiwgMTE0NjcsIDM2NjQsIDY1OTIxLCA2NDI5OSwgMTk0NjY0LCAwLCAKICAgICAwLCA0MzI0LCAxMjYsIDQyMjQ2LCAxMTkxNTIsIDAsIDc0Mzc4LCA2NTkyNiwgNzc0NCwgMTk0NjM2LCA3NDI3NywgNzQzMDIsIAogICAgIDc4MDUyLCA0MzgxNywgNjk2NiwgNDM4MjIsIDgxMzYsIDAsIDY1NjAwLCAxNjMzLCAwLCAwLCA0NzYyLCAxMTAzLCAwLCAwLCAKLSAgICA0NzY1LCA5ODM0ODQsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgMjA1MCwgMTA4NzEsIDQzMTk5LCAxMTAyLCAwLCA0MjIzNiwgCisgICAgNDc2NSwgOTgzNDg1LCAxMzA3OCwgMCwgNDc2MCwgNjM4MjcsIDIwNTAsIDEwODcxLCA0MzE5OSwgMTEwMiwgMCwgNDIyMzYsIAogICAgIDEyODg2NywgMTk0NjY3LCAxMTU0NiwgNzQ3OTQsIDMzNywgMCwgNDI1OTEsIDg2MjcsIDEyMjc5LCAxMTExLCAwLCA5MjE2MSwgCiAgICAgNDcwNywgNjgyMDYsIDEwMTQzLCA3ODgzLCAxMjcwODEsIDc4ODAsIDQ1MjIsIDg2NDUsIDU3MDQsIDEzMDEwLCAwLCA4MzA0LCAKICAgICA5MTc1NjEsIDAsIDExOTU3NSwgMjI5MywgMCwgNjY2NTQsIDAsIDkyNjc2LCAwLCAxMzAwOCwgMCwgNDM4NSwgMCwgMTMwMTEsIApAQCAtMTg1NjYsNyArMTg1NjgsNyBAQAogICAgIDEzNDksIDYzNzUwLCA2Mzc0OSwgMCwgMCwgMCwgNjM3NTMsIDYzODAyLCA0MTA4NCwgMTIwNjIyLCA2ODEzMywgNDE5MzAsIAogICAgIDYzODA1LCA2MzgwNCwgNDM2MzIsIDYzODAxLCA0MTA4MiwgODE0MCwgNjM3OTgsIDYyNjAsIDAsIDAsIDk0MDc0LCA2Mzc5MywgCiAgICAgMTE5ODgsIDM4OTgsIDEyODI0MSwgMTAyMDEsIDEyMjM4LCA2Mzc5NSwgNDIxOTQsIDEwMzY3LCAxMjUyMSwgMTA0MzEsIAotICAgIDQyMTE0LCA0MTkzMiwgMTA2OCwgMCwgMTI1MjMsIDEyOTQ1LCA5ODMzMjEsIDQyMjAzLCA3OTUwLCAxMDgwNCwgNjM3NzEsIAorICAgIDQyMTE0LCA0MTkzMiwgMTA2OCwgMCwgMTI1MjMsIDEyOTQ1LCA5ODMzMjIsIDQyMjAzLCA3OTUwLCAxMDgwNCwgNjM3NzEsIAogICAgIDQyNzg3LCA0Mzg2LCAxMjIyNCwgNjk3MywgMjc5MywgMTI0NzUsIDAsIDAsIDYzNzY5LCA5NTMwLCA5ODMxMTksIDEyMjMyLCAKICAgICAxMzEzNSwgODU5NiwgNTY4MSwgNjM3NjIsIDQ1OTUsIDYzNzYwLCA3OTIsIDAsIDY0ODAzLCAwLCA4NzQyLCAwLCAxMTA1MywgCiAgICAgMTI4Nzk2LCA2Mzc0NCwgMTI4MTA3LCAwLCA3NTg4LCA2Mzc0OCwgMTY5MywgNjM3NDYsIDQzMjA0LCA1MDU1LCA2ODQyNiwgCkBAIC0xODU5NSw3ICsxODU5Nyw3IEBACiAgICAgNjU4MzUsIDAsIDIzNjUsIDc4NDEsIDAsIDQyODU1LCAxMTg4NTYsIDQyODY2LCAwLCAwLCAwLCA2NjQzOCwgNDE3ODUsIAogICAgIDEyNjE3LCA2NDE3MiwgMTMxNzMsIDQzNzIsIDExOTM1NCwgMCwgOTgzNTY4LCAwLCAwLCA5MjQwMiwgMTI4MDYyLCAxMjk2NSwgCiAgICAgMzg0LCA2NDUxMiwgMTA0MDQsIDEwMzQwLCAxMTkzNTIsIDE1NTYsIDUyNzQsIDEzMjEwLCAxMjAxMjUsIDEwMDE3LCA5NzMzLCAKLSAgICA0MTc4NywgOTgzMjM3LCAxMjY5OTQsIDQxMzczLCA3ODAzOSwgMTIzMDMsIDAsIDEzMjMyLCAxMzIzMywgMzQ5LCA0ODYzLCAKKyAgICA0MTc4NywgOTgzMjM4LCAxMjY5OTQsIDQxMzczLCA3ODAzOSwgMTIzMDMsIDAsIDEzMjMyLCAxMzIzMywgMzQ5LCA0ODYzLCAKICAgICA0MTM3MSwgMTE2NTYsIDAsIDEyMDcwMywgMTE5ODgzLCAxMjg2MSwgNDM5OCwgODU0MywgNjU2MTgsIDEyODAxOCwgMTA5NiwgCiAgICAgMCwgMCwgNDI2ODgsIDEyNDQxLCAxMjM1NSwgMTE5MzQ4LCAxMTkzNDcsIDQzMTgsIDEwNDUyLCAwLCA4MDMyLCAxMzI0MywgCiAgICAgMTMyMzcsIDEyNzE5LCAxMjY2NDYsIDExOTEwMSwgMCwgNjQ4ODQsIDExOTg3MiwgMTE5MzQ1LCA4NTk3LCAwLCAwLCA5ODY0LCAKQEAgLTE4NjIzLDcgKzE4NjI1LDcgQEAKICAgICA1ODQxLCA1ODM3LCA1NTIzNCwgMCwgMzEwNSwgMTI4MjksIDU4MzgsIDU3OTYsIDAsIDExOTU5MiwgNTc5MywgMCwgNTg2NiwgCiAgICAgNTc5NywgNDEwMTEsIDU4NjUsIDEyMDA5MSwgNzk1NiwgNTk4LCAwLCA2NDY0OSwgNTgwNiwgNDIzOTgsIDAsIDkwMzcsIAogICAgIDU2NzEsIDEyMDA0MSwgMCwgMCwgMCwgMTI4ODU1LCAwLCA4NDcsIDEyODI0MiwgOTUyOSwgMCwgNjY2NTcsIDY5ODAsIAotICAgIDc4NDgzLCAxMjAwMzUsIDc4NDg0LCA5ODM0ODMsIDAsIDEyMDAzMywgNzg0ODYsIDAsIDAsIDEyMDAzOSwgNDI2ODMsIDAsIAorICAgIDc4NDgzLCAxMjAwMzUsIDc4NDg0LCA5ODM0ODQsIDAsIDEyMDAzMywgNzg0ODYsIDAsIDAsIDEyMDAzOSwgNDI2ODMsIDAsIAogICAgIDk4MzA1NSwgNzExNCwgMCwgMCwgNDMxOTAsIDY1NDYzLCAxNTU0LCAwLCA0MjYxMSwgNDI1NjMsIDAsIDU2NTEsIDI5MjksIAogICAgIDY3OTIsIDQzMjAxLCAwLCAxOTk2MywgNTY5OCwgMCwgMCwgMCwgMCwgNTY0NCwgMTAyOTIsIDY1NTQ2LCA2OTcyNywgCiAgICAgNjgxNDEsIDgzNzIsIDAsIDY1MTE2LCAwLCAxMjAwMjIsIDEwMTc1LCAxMDM4OCwgNDI3OTksIDk0MTAwLCA0MTAxMywgCkBAIC0xODYzMSw3ICsxODYzMyw3IEBACiAgICAgNDI2MDgsIDc4NDY5LCA5ODg0LCA0NzU5LCAwLCAwLCAxMDI2NiwgNDEzNTksIDExNzAsIDQzMzY1LCA2OTgxMCwgNzM5MDgsIAogICAgIDE2MDksIDkwMiwgMCwgNjM5MzYsIDEyODg3NSwgMTE2NjEsIDgxMjIsIDU4MTgsIDAsIDAsIDM4NjEsIDk1NDAsIDExMDI4LCAKICAgICAyNTU0LCA1MTU4LCA1NzE0LCAyMjEzLCAwLCAwLCA4MDcsIDQzMDc5LCAwLCA3ODQ3NSwgOTc2LCA1NTExLCA2NDU1MywgMCwgCi0gICAgNDIxNTUsIDAsIDQxMzU2LCA3NDExMCwgMTE4ODAxLCAxMjY2MTQsIDAsIDg2NzYsIDk4MzI4MywgMCwgNTU4MiwgNDUxLCAKKyAgICA0MjE1NSwgMCwgNDEzNTYsIDc0MTEwLCAxMTg4MDEsIDEyNjYxNCwgMCwgODY3NiwgOTgzMjg0LCAwLCA1NTgyLCA0NTEsIAogICAgIDYzOTQxLCA1Nzk4LCA5MzQ5LCA0MjAxOCwgMTI3ODU4LCAwLCAwLCA0MzYwOSwgNTkwNiwgMTIwNTUzLCAxNDQwLCAwLCAKICAgICAxMjg4NTMsIDEyMDAxNiwgNzQyODMsIDExMDA1LCAwLCA2NjY1NiwgNjYwNDQsIDAsIDE5NDY5OCwgMCwgMCwgNDMzOTMsIAogICAgIDEwMDk0LCAwLCAxMTUyOSwgMTA4NTcsIDEyMDY0MywgNjY0MzYsIDY1NDYsIDkzLCA4MTAyLCAwLCA2ODQwNSwgMCwgMCwgCkBAIC0xODY2NSw3ICsxODY2Nyw3IEBACiAgICAgMCwgMTg2MiwgNjU4MDAsIDkxNTUsIDY2NjIzLCA5Nzg2LCA2NTA4MiwgNDE5MTksIDg1NzksIDQxOTE0LCA3OTgxLCAwLCAKICAgICA2NjAxNywgNDUwOCwgNjQ4ODMsIDkyNDU2LCA5MjUyMiwgMTI3ODE0LCAwLCA2NDU5MiwgNzQyNzYsIDEyMDA4MCwgNjc4NCwgCiAgICAgNzg3ODgsIDY4MTgxLCAwLCAwLCAwLCAxMjc1MzQsIDEyMTQ3LCA5MDI0LCA2NjM3OCwgNjY0NzIsIDk4MzkyMCwgNjQyODksIAotICAgIDY1Mjg5LCA3ODE1MSwgNjY2NTgsIDE5NDkyOSwgNjQ1MDksIDc4MTUyLCAwLCAxMjY1MDUsIDExMDUxLCA5ODMyODgsIDAsIAorICAgIDY1Mjg5LCA3ODE1MSwgNjY2NTgsIDE5NDkyOSwgNjQ1MDksIDc4MTUyLCAwLCAxMjY1MDUsIDExMDUxLCA5ODMyODksIDAsIAogICAgIDExMzU1LCA2NTg4NSwgMCwgMTI4MzEwLCA0MTIxNCwgMCwgMTIyOTksIDAsIDc1MDAsIDQ1MDYsIDc3NzMsIDAsIDAsIAogICAgIDk5NjMsIDY4NjQ5LCAxMjY2MDksIDQwNDAsIDEyMDU3MCwgNjE2NywgMCwgNjM5MjIsIDY1OTQsIDk4MzczMSwgMCwgMCwgCiAgICAgMzYyNCwgNDMwMzYsIDAsIDYzODcsIDYzOTkwLCAxOTk0NywgNjM5ODgsIDQxOTU1LCAwLCA2Mzk5MywgMTA0NDAsIDk2MTEsIApAQCAtMTg2ODAsNyArMTg2ODIsNyBAQAogICAgIDExOTYyNSwgNDI5MjIsIDQyMTAzLCA4NjI4LCA5ODEzLCAwLCA0MjQ1MywgMTYwNCwgOTU2NSwgMTA1MzksIDY5NzAxLCAKICAgICA2NTc2NCwgNDE0MTUsIDY1NzY3LCAwLCA4NDU3LCA0MjMwMSwgMTEzNzIsIDY0ODczLCAxMTk5MiwgMCwgMCwgNjM5ODAsIAogICAgIDExODAxLCAzNjIyLCA5ODMxMjQsIDY0MzM2LCAxMjAxNywgMTA0NjMsIDYzOTgxLCA0OTY3LCA2NDE4OSwgMTk2NiwgCi0gICAgNDM2MjgsIDAsIDk4MzI4NCwgMCwgMCwgNjM5NzEsIDQzNDcsIDQ0MTYsIDQyMDk4LCAxMTAwOSwgMTA2OTQsIDYzOTczLCAKKyAgICA0MzYyOCwgMCwgOTgzMjg1LCAwLCAwLCA2Mzk3MSwgNDM0NywgNDQxNiwgNDIwOTgsIDExMDA5LCAxMDY5NCwgNjM5NzMsIAogICAgIDQwMiwgMCwgMTMxNDcsIDEyODY5MiwgNDIxMDAsIDY0NjQ2LCAxMzIyOCwgMCwgNDE4NzUsIDM1MTUsIDc0MjUyLCAxMTgwNSwgCiAgICAgMCwgMTEzMDIsIDYyNTksIDQzMzk1LCAwLCAwLCAxOTQ2NzAsIDAsIDkyMzUxLCAwLCA3NDQyNSwgMTEyOTksIDE1NjEsIDAsIAogICAgIDkyMzU5LCA2NDk0MiwgOTgzNTU5LCAxOTQ3MzMsIDk4MzY3NywgMTk0NzMyLCAwLCA3NDMwMSwgMCwgMTEyODAsIDAsIApAQCAtMTg2OTEsNyArMTg2OTMsNyBAQAogICAgIDMzNTUsIDk1MDgsIDk4NjcsIDU3MjMsIDExNTIwLCA1NjExLCAwLCAzMzc3LCAwLCAwLCAwLCAwLCA3ODIyOCwgMCwgCiAgICAgOTgzNzUzLCA0MjY5MSwgOTE3ODg2LCAxMjcxOTgsIDc0NzY3LCAwLCAxMjcwNzUsIDEzNzksIDI0NiwgMCwgOTgzNzUyLCAKICAgICAzNzg4LCA5ODMxMDYsIDExMDQxLCA5MjU0OSwgNjYzMDQsIDAsIDAsIDg5MTcsIDQyNDAzLCAzMDEsIDAsIDAsIDAsIDAsIDAsIAotICAgIDk4MzY4OCwgMTA2NTYsIDAsIDY1MjE0LCAxMTkyNDIsIDQyNTY3LCA5MjIxNywgMTMxNjMsIDk4MzIwMiwgMTIwODMxLCAKKyAgICA5ODM2ODgsIDEwNjU2LCAwLCA2NTIxNCwgMTE5MjQyLCA0MjU2NywgOTIyMTcsIDEzMTYzLCA5ODMyMDMsIDEyMDgzMSwgCiAgICAgNzQ1OTcsIDMxODIsIDAsIDAsIDAsIDY1MDM0LCA2NTg4OSwgNDIxNjksIDQ3NTUsIDc0MjQ0LCAxOTQ2MjEsIDExNDQzLCAwLCAKICAgICA2NjMxOSwgNzQ1OTgsIDYwOCwgNjAwLCAwLCAxMjE5LCAzOTM0LCA2NDIwNiwgMTE0ODMsIDc0NTEwLCAwLCA3NDQ4NSwgCiAgICAgNDI0NDIsIDY1NDcwLCA5ODM4OTgsIDY0MjAyLCAxMzE2MCwgNzc1OSwgNDI0ODIsIDQ4NSwgMTI4MDA2LCAwLCA5ODI4LCAwLCAKQEAgLTE4NzAzLDE0ICsxODcwNSwxNCBAQAogICAgIDAsIDE5NDY3NSwgMTQwNiwgMCwgMCwgOTI2NTksIDAsIDY4MjIzLCA0MTQzLCAxOTQ2NzcsIDAsIDY1NzQ4LCA0MTQxLCAKICAgICA5NjgyLCA2NTI4NywgMTUwOCwgMTI3MDEzLCA4Nzc5LCAxMDU2OSwgODcyNSwgMTMyOTksIDY2NjM4LCA2NTc1MCwgNDIyNjMsIAogICAgIDQxNDUsIDYzODAsIDY1NzUxLCA2NjYxMywgNDM5OTQsIDY1NzM4LCA1NTI1MCwgOTE4NSwgOTU1MCwgMCwgNDM0MDMsIDAsIAotICAgIDAsIDAsIDY1NzM2LCA0MTk1MSwgNjQ4MTYsIDY1NzU2LCA5ODMyMDMsIDEyOTU1LCAxMDU5NiwgMjg4OCwgMTk0NjQ1LCAwLCAKKyAgICAwLCAwLCA2NTczNiwgNDE5NTEsIDY0ODE2LCA2NTc1NiwgOTgzMjA0LCAxMjk1NSwgMTA1OTYsIDI4ODgsIDE5NDY0NSwgMCwgCiAgICAgMCwgOTY1NywgOTAxOSwgMTk0NzY2LCAwLCAyODc4LCA1MzkwLCAwLCAxOTQ5NjEsIDAsIDY4Njc5LCA0MzU1MiwgNzUwMSwgCiAgICAgNjMyOCwgMCwgMTA0MjksIDEwMzY1LCAwLCAwLCA0MTk0NiwgNzUwMywgNTIzNSwgODAzLCA2ODM4MSwgMCwgMCwgODk4NiwgCiAgICAgMTI2NTQyLCAxMDYzMiwgMTE5MzQsIDExNDUyLCAxMzMyLCAwLCAwLCAxMjY2NDcsIDAsIDExODg4NywgMTc5MSwgNTE5MSwgCiAgICAgOTI4OCwgNjQ4MjIsIDI4OTIsIDAsIDQzMzk0LCA1NTUsIDAsIDAsIDY2NjQ2LCAwLCAxMTkwMDIsIDEzMTUxLCA3NDUxMiwgCiAgICAgNzI4OSwgNzQwNTUsIDY0MTYxLCA4ODU0LCA2NDE2MiwgNTg1OCwgNDE5MjcsIDEwNTgyLCAwLCAxNzg0LCAxMzYxLCAKICAgICAxOTUwNDcsIDAsIDc5MDUsIDAsIDY0ODY4LCAxMjg4MTMsIDEzMTU4LCA5MjE2NiwgNzIxMSwgMCwgOTM3MSwgNzM5NzMsIAotICAgIDkxNzU1MywgNjgyOCwgMTYyNSwgOTIzMDIsIDAsIDEzNDIsIDY4NDQwLCA2NDE3MSwgMTI2NzA0LCAxMDkwMywgOTgzNDg2LCAKKyAgICA5MTc1NTMsIDY4MjgsIDE2MjUsIDkyMzAyLCAwLCAxMzQyLCA2ODQ0MCwgNjQxNzEsIDEyNjcwNCwgMTA5MDMsIDk4MzQ4NywgCiAgICAgMCwgMCwgMCwgMCwgNDQ4MiwgNDE2MDYsIDAsIDEyODU2OSwgOTgzMTEyLCAwLCA2NDM4MSwgMCwgMCwgMTk1MDkwLCAKICAgICA0MjI0NSwgMTI2NDY3LCA0MTk3MiwgMCwgNDQ0LCAwLCA5MTI3LCA2NjY4NywgNjY2MTksIDEyNjQ4OSwgNzgwMjUsIDAsIAogICAgIDExMzQ5LCA0MDk5MSwgOTE3NTcwLCAwLCAxMTk1OTksIDEyMDgzMCwgMCwgMTE5NywgMTI4MjgyLCAxMTQ5LCAxOTQ5NzAsIApAQCAtMTg3MzYsMTAgKzE4NzM4LDEwIEBACiAgICAgNDczMSwgMCwgNjY2MjksIDAsIDAsIDEyNTUsIDQxNDksIDkyNDcsIDAsIDk5MTMsIDAsIDAsIDY0OTE0LCA5MTc3ODcsIAogICAgIDY1MTAxLCAwLCAxMTY5NCwgOTI0NzUsIDExNjkwLCA1ODM1LCAxMjcxNjQsIDY2NjI1LCAxMDg0MiwgNDEzNTQsIDQyMTIzLCAKICAgICA0MzA5NywgMTE2ODgsIDY2NjM0LCAxMDk0LCAxOTQsIDY0NjkyLCAwLCA4MTgwLCAwLCAwLCA5OTcyLCA3Mzg2NSwgNDUxOSwgCi0gICAgNjExNCwgMTA4OTgsIDQzMDcyLCAwLCAwLCA5Mzk2MCwgOTgzMzE0LCAxMjY1ODEsIDEwNjk1LCAwLCA3NTQwLCAwLCA4ODEsIAorICAgIDYxMTQsIDEwODk4LCA0MzA3MiwgMCwgMCwgOTM5NjAsIDk4MzMxNSwgMTI2NTgxLCAxMDY5NSwgMCwgNzU0MCwgMCwgODgxLCAKICAgICA3ODU3LCA2MDY3LCA2NTE2NCwgMCwgMCwgMCwgMTMzMTEsIDY4NDAzLCA0MTg1NywgNjQzMjEsIDgzNTksIDAsIDEyNjg5LCAKLSAgICAwLCAxOTQ1OTQsIDAsIDk4MzMwNCwgOTgzODcyLCA2ODE4MywgMCwgOTgzMzA2LCAxMjg3LCA1NDM2LCAwLCA5ODMzMDksIAotICAgIDc0MTQyLCA5MjMyOCwgNzQxNTIsIDExOTA3OCwgNjA1MSwgMTA0OTcsIDY5NjY4LCA4OTg1LCAxMjEwOSwgOTgzMzE1LCAwLCAKKyAgICAwLCAxOTQ1OTQsIDAsIDk4MzMwNSwgOTgzODcyLCA2ODE4MywgMCwgOTgzMzA3LCAxMjg3LCA1NDM2LCAwLCA5ODMzMTAsIAorICAgIDc0MTQyLCA5MjMyOCwgNzQxNTIsIDExOTA3OCwgNjA1MSwgMTA0OTcsIDY5NjY4LCA4OTg1LCAxMjEwOSwgOTgzMzE2LCAwLCAKICAgICAxMjcyNDIsIDAsIDAsIDM2NTIsIDEwNTM3LCAwLCAxMjc2LCAxMjA0NDAsIDY1NDksIDI3OSwgNzM3NDUsIDAsIDAsIDAsIAogICAgIDE0ODksIDAsIDAsIDAsIDM4OTksIDEwMDcsIDQyMTI0LCA5ODM1NTcsIDQyMTIyLCA5MjMzNywgOTIzNjcsIDAsIDExOTg1LCAKICAgICAxMzQ1LCA3ODYwMCwgMCwgMCwgODk1NiwgNDMwODMsIDk0MDU3LCA0MjEzOCwgNzg2MTAsIDAsIDEyMTUxLCA3ODYwOCwgCkBAIC0xODc1NCwxNCArMTg3NTYsMTQgQEAKICAgICA3ODYyNywgNzg2MjgsIDc4NjI1LCAyMzk5LCA2OTY5MywgODk5NCwgMTA5NDQsIDQxMjA4LCA5ODM3MDQsIDQxMTY4LCAKICAgICA4MTc4LCAwLCAzMzY3LCA5MjMzNCwgNDI1MTAsIDc4NjQxLCA3ODYzNiwgNjgwNCwgNzg2MzQsIDE5NDcsIDAsIDAsIAogICAgIDkyNjgxLCA0Mjc1OSwgMTEwNjgsIDE3MDUsIDkzMzEsIDAsIDc0Nzk4LCA5MTgxLCA2NTM1OSwgMCwgODAxNywgMTE5ODMxLCAKLSAgICA2NTA5NiwgNjY3MjAsIDAsIDQzNDc1LCAwLCA0OTA5LCAxMjEyNiwgMTI4NjczLCAxMjA2OTYsIDQ5MDQsIDk4MzMyNSwgCisgICAgNjUwOTYsIDY2NzIwLCAwLCA0MzQ3NSwgMCwgNDkwOSwgMTIxMjYsIDEyODY3MywgMTIwNjk2LCA0OTA0LCA5ODMzMjYsIAogICAgIDY5NjUwLCAxMzY1LCA5MjUzLCA0Mjc1NywgNDM0MzYsIDc0NjIsIDAsIDAsIDAsIDAsIDExOTU4NywgNjQ0MTUsIDAsIDAsIAogICAgIDUzOTgsIDAsIDEyNzM4NiwgOTM5NTMsIDAsIDAsIDExOTAxNSwgMCwgMCwgOTQ3NiwgMCwgOTgzNzY4LCAxMjc2MywgCiAgICAgMTI2NjAzLCAzNjI5LCAwLCAxMzAwNSwgMCwgMzYyOCwgMCwgMCwgOTI1MDIsIDM0NjksIDQyMTA3LCA0MjExNiwgOTE3NTc4LCAKICAgICA2NDgwOSwgMjkyOCwgNDkwNSwgOTg1MywgODUxLCA5MDQwLCAwLCA2NDY2NSwgNDMwODYsIDkxMTQsIDAsIDQyNTgzLCAKICAgICA5MzE1LCA0ODIyLCA0OTA2LCAzODUyLCAyODQ3LCAxMTk4MjEsIDMyMzYsIDExMzE3LCAxMjUxLCA3Nzc3LCA0MTg1MiwgCiAgICAgMTE0MTAsIDEwOTY0LCAwLCA0MzIyMiwgMTI2NDYsIDEyMDI2OSwgMTAyNTksIDk4NjUsIDY1ODIxLCAwLCA2MDE4LCAKLSAgICA5MjI5MCwgMCwgMTIyNzYsIDAsIDY4MzcyLCAwLCA5MjI1OSwgMTE5MjQ0LCAwLCA5ODMyMjQsIDEwNDY3LCAwLCAyNDQzLCAKKyAgICA5MjI5MCwgMCwgMTIyNzYsIDAsIDY4MzcyLCAwLCA5MjI1OSwgMTE5MjQ0LCAwLCA5ODMyMjUsIDEwNDY3LCAwLCAyNDQzLCAKICAgICAxMDkxOCwgNzgyMTcsIDExOTgyNSwgMTAwMSwgOTI0MSwgMTkyNywgMCwgMCwgNzM5ODcsIDEyNzg4NSwgMCwgMCwgCiAgICAgMTE4ODI4LCAxMjAyNzEsIDY1Njc4LCAxMjg2NywgMCwgODI2MCwgNzc5NDUsIDc1MTksIDExNTA1LCAxMjI3NCwgODkwNCwgCiAgICAgNTE4LCA2NTg1NywgMCwgMTI4Njc0LCAxMzIwNCwgNDM4NywgODU3LCAwLCA2NTM2OSwgMCwgOTIzMzYsIDQzMTI1LCAKQEAgLTE4Nzc3LDE5ICsxODc3OSwxOSBAQAogICAgIDc4Njk4LCA3ODY5NywgNzg2OTYsIDc4Njk1LCA4NzEwLCA0MjQ5NSwgMTE4OTU2LCAwLCA0MDUxLCAxMDQ2MCwgNDMzNjQsIAogICAgIDExODkxNywgMTM1NiwgMTIxNjEsIDQyNzEzLCAxMjg4NTcsIDEyNzI2OCwgMTYxOSwgOTcwMywgNDMxNTIsIDQyNDg5LCAKICAgICA0MjExMiwgMTI3OTc4LCAxODc1LCAxMDgwOCwgNDIxMDksIDEyMDI4NCwgNDE4NjAsIDY0ODYyLCAxMzMwNSwgNjQ5MDcsIAotICAgIDUyODksIDEzMTQ0LCAxMjg2NTgsIDAsIDU1NzUsIDk2NzUsIDAsIDU5NDAsIDIyNiwgMjY0OSwgNjMzNiwgOTgzMjY5LCAKKyAgICA1Mjg5LCAxMzE0NCwgMTI4NjU4LCAwLCA1NTc1LCA5Njc1LCAwLCA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDk4MzI3MCwgCiAgICAgMTE5ODMwLCA0MzIzNiwgMzM4MiwgNDI0NDksIDY0OTgsIDE2NTgsIDExOTM2LCA3ODIzMiwgMCwgMTEyNjksIDEwMTUxLCAKICAgICA3Mzc1OSwgNDMxMDAsIDY5ODg4LCA2NTUwOCwgMCwgMCwgMCwgODkzNSwgOTE3OTg1LCAwLCAwLCAwLCA2MTYsIDc0NzUzLCAKICAgICA2NTE3OCwgNDY4NCwgNzg3MDEsIDExOTY1MywgMCwgMTI2NTUxLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAKICAgICAxMDg3MCwgODU1NywgMTEwNTQsIDY4NjY0LCAxMTkwNDksIDk2ODEsIDQ0NzUsIDAsIDQxMTQyLCAyMTAwLCAwLCAxMjA3MzEsIAotICAgIDYwMzUsIDAsIDc2NTEsIDEwMjk2LCA2NDQ0MywgMCwgOTgzMjg3LCA5MTc5ODcsIDAsIDExODk2NiwgNzQxNDQsIDQwOTk3LCAKKyAgICA2MDM1LCAwLCA3NjUxLCAxMDI5NiwgNjQ0NDMsIDAsIDk4MzI4OCwgOTE3OTg3LCAwLCAxMTg5NjYsIDc0MTQ0LCA0MDk5NywgCiAgICAgMCwgMTAzOTIsIDEwMzI4LCA0MDk5OCwgNDM0NjIsIDc0NDg4LCAwLCA5ODAwLCA4OTc5LCAwLCAxMzMwNywgNDEwMDAsIDAsIAogICAgIDExOTIzOSwgNjQ4NywgMzM4NiwgMCwgMTAzNDQsIDAsIDY1Mjk5LCA1Mzk0LCA0MzI0NiwgNzgyNDMsIDEwMjIwLCA2NjUwNSwgCiAgICAgNDEyMDAsIDEyODU4MywgNDQyNSwgMCwgMCwgMCwgNDMwNzQsIDczNzk5LCA5ODMyMDAsIDc4MTQ3LCAwLCAxMjE3MywgCiAgICAgNzg1NDUsIDAsIDEyNzAxMSwgNjUzMzgsIDAsIDAsIDExOTU4MiwgNDQ3NCwgMCwgNDMwOTMsIDEyODY0NCwgMTU4NywgMCwgCiAgICAgMTI3MzcyLCA2NDQ3NSwgMTI4MDk4LCAxMzY5LCA5ODM2NjMsIDk5NTksIDc5MjcsIDAsIDQ1NjAsIDAsIDAsIDkyMjc3LCAwLCAKICAgICA2NDk0OCwgNDQzMCwgNzQzNDcsIDQyNjAxLCA0NTE0LCA2NjQzNCwgOTM5NTUsIDgxOTQsIDY1NDYyLCAxMDYyNiwgMTA5NjUsIAotICAgIDAsIDg4OTMsIDk4MzI5MywgMTI1NDIsIDAsIDY1MzQxLCAwLCA2NTgyOSwgNzkyNSwgMTE5ODIyLCAxMDQ3NSwgMCwgMCwgCisgICAgMCwgODg5MywgOTgzMjk0LCAxMjU0MiwgMCwgNjUzNDEsIDAsIDY1ODI5LCA3OTI1LCAxMTk4MjIsIDEwNDc1LCAwLCAwLCAKICAgICAxMzUyLCAxMTA2OSwgNzcwNywgMTI3NTYwLCAxMjY0ODYsIDY1Mjc5LCAxMjcxMDIsIDY4MjA3LCAxMjcxMDAsIDcwOTksIAogICAgIDYwNDAsIDEyNzA5NywgMTAwNzEsIDAsIDkzMzYsIDQzNzUwLCAwLCA4ODk5LCA3Nzk4LCA2NDQ3NCwgNjQyNTksIDY5ODczLCAKICAgICA2NTE4OCwgNzgyMCwgNDMwMTgsIDEyNzA4MiwgMCwgNzc0NiwgMTQ5MiwgNzg1NTEsIDEwODg0LCA3Nzk4MiwgMCwgNTEyNywgCkBAIC0xODgxMSw3ICsxODgxMyw3IEBACiAgICAgNDA5ODgsIDkyNTkyLCA3NDgwOSwgNDE3MjcsIDAsIDQyODQ4LCAyMzk2LCA5MTc3NjYsIDAsIDc0MDE4LCA5MTc1MzgsIAogICAgIDY0OTQwLCA3MDI3LCAzODg2LCAwLCA0MjQ1NywgMTE5MDA4LCAwLCA5OTYsIDY4MTIzLCA5NDA1OCwgNDI0OSwgMCwgCiAgICAgOTE3NTk0LCAxMTcwNywgODIyMiwgMCwgNzkzOSwgOTI0NTQsIDkyNDYwLCAxMjc4MDEsIDkxNzU5MiwgMTI4MzU5LCA4NTM0LCAKLSAgICAxMjcxNTQsIDQwOTgzLCAwLCA5ODMyMzQsIDAsIDcyMDEsIDEyNTYxLCAwLCA0MjM3MSwgMTI1NTgsIDE1NDAsIDkxNzU0OSwgCisgICAgMTI3MTU0LCA0MDk4MywgMCwgOTgzMjM1LCAwLCA3MjAxLCAxMjU2MSwgMCwgNDIzNzEsIDEyNTU4LCAxNTQwLCA5MTc1NDksIAogICAgIDEwMDUyLCA0MDk4MiwgMCwgMCwgMTQ4OCwgMCwgMCwgMCwgOTE3NTU5LCAwLCAwLCAxNTYzLCAxMjgwMzQsIDk2MTksIAogICAgIDk4MzkzMSwgMCwgMCwgMTI3ODcyLCA3MTM2MywgNTgwMywgNzc5NywgNjA3MCwgMTAwMDYsIDAsIDI5MjIsIDYwODIsIDAsIAogICAgIDY1MDA5LCA5ODM5MzMsIDEyNTY3LCAxMjg3MDMsIDAsIDQxNDEyLCAwLCAwLCAzNjA3LCA5MjAwLCAxMDA0NiwgOTYxMiwgCkBAIC0xODgyMiwxMyArMTg4MjQsMTMgQEAKICAgICAxMjMyOCwgNTAxLCA5Mzk4NSwgMTA2MDEsIDAsIDU4MywgMCwgNDE5NzcsIDAsIDY2MDA0LCAxMTkzNTAsIDY1MDUsIAogICAgIDc0MDEwLCAwLCAxMzA2NCwgNTUyNjcsIDEyMDgxMCwgNjUwMCwgNTUyNiwgNjUwNDksIDAsIDczNzY0LCAwLCA5MjM3NiwgCiAgICAgMTI3NDUsIDk2NzgsIDAsIDEyMDU4NywgOTg2OSwgMTI4ODE1LCAxNzcxLCAwLCA4OTM2LCAwLCAwLCA0MjA4LCA3ODM0MSwgCi0gICAgNzg1NjcsIDc4MzQyLCAwLCA5ODM0NDgsIDc0MTAxLCAwLCAxMTc2MiwgMCwgOTI0MjIsIDc3OTk3LCA2ODAxMCwgNjY0NzUsIAorICAgIDc4NTY3LCA3ODM0MiwgMCwgOTgzNDQ5LCA3NDEwMSwgMCwgMTE3NjIsIDAsIDkyNDIyLCA3Nzk5NywgNjgwMTAsIDY2NDc1LCAKICAgICAwLCA1MDI3LCA3ODE3MiwgMTI4ODc4LCAwLCA1MDY5LCA3Mzg2MiwgNTAyOCwgOTg5NywgMCwgNzM3MzksIDUwMjYsIAotICAgIDk4MzI0NywgNjg2MzksIDYzMzEsIDEwMDc5LCA4OTMxLCAwLCAxNDE1LCA4ODY2LCA0MTkwMSwgNzQ3OTAsIDc4MTM4LCAKKyAgICA5ODMyNDgsIDY4NjM5LCA2MzMxLCAxMDA3OSwgODkzMSwgMCwgMTQxNSwgODg2NiwgNDE5MDEsIDc0NzkwLCA3ODEzOCwgCiAgICAgMTE5MzYxLCA5ODM1NjQsIDQzMTA2LCA1MDI5LCA2NTMwOSwgMTU4MCwgMzU5OCwgNjg0MjQsIDQxMDcwLCA3NzkwMywgMCwgCiAgICAgMzQ0MCwgNzgyMTUsIDE1NjIsIDEyODY1NiwgMTI3MTc1LCAxMTkzNTgsIDE3MTYsIDk4MzY3MCwgMTA2MDAsIDkxNzg2NywgCiAgICAgNjIwLCA0MTAwMSwgNjAyOCwgMCwgNDI4OTIsIDAsIDc0ODIyLCA1MDI0LCAxMjA4MjksIDQxMDAzLCAwLCA1MDI1LCAKLSAgICA2OTg5MiwgOTgzMjA3LCAwLCAxMTg4ODUsIDAsIDY1NTU3LCAwLCA3NDU0MSwgOTgzNTg3LCAxMTU5OSwgMTI4MjA5LCAKKyAgICA2OTg5MiwgOTgzMjA4LCAwLCAxMTg4ODUsIDAsIDY1NTU3LCAwLCA3NDU0MSwgOTgzNTg3LCAxMTU5OSwgMTI4MjA5LCAKICAgICAxMTYwMiwgNjI0MywgMTE1NzQsIDExNTgxLCAxMTU5NywgMTE1OTgsIDYyNTMsIDYxMDUsIDExNTg0LCA3NDE5NSwgMTE1NjksIAogICAgIDY1Mjc1LCA4OTA2LCAxMjcwOTYsIDU3NTUsIDI2MzYsIDAsIDEwODE1LCAxMTYxOSwgMjMwMSwgNDE1NDAsIDc4MTUsIAogICAgIDExNjE2LCA2OTc5LCAxMjA4MCwgNzcyMSwgMTE2MDQsIDc4NjksIDE1OTIsIDAsIDQyMTUyLCA3ODQ5OCwgNDEwNDgsIApAQCAtMTg5NDMsNyArMTg5NDUsNyBAQAogICAgIDEyMDM1NywgODQ1LCAwLCA0MTU2MCwgMTE5NzAsIDQ1NjIsIDkxNzkyMCwgMjkyNiwgOTE3OTE5LCA0NTY5LCA3NDEzMCwgMCwgCiAgICAgNDM0ODcsIDE5NDYzMCwgNjExLCA3NDEyOSwgNjQ4NzEsIDExODg5MSwgNjU2MjksIDAsIDE5NDg1OCwgMCwgMCwgMTI3NTQ1LCAKICAgICAxMjA1NDMsIDAsIDAsIDYyOTEsIDAsIDc4NjM5LCA0MTY2OSwgNzA5NCwgOTE3OTIxLCAwLCA5ODM1ODEsIDc0MDU0LCAKLSAgICAxMjc3NTQsIDE5NTAyOSwgMCwgODM5LCA5ODMzMTEsIDc2OTUsIDg3NjksIDY1MjQ2LCA0ODI5LCAxOTQ2NjMsIDQ4NTksIAorICAgIDEyNzc1NCwgMTk1MDI5LCAwLCA4MzksIDk4MzMxMiwgNzY5NSwgODc2OSwgNjUyNDYsIDQ4MjksIDE5NDY2MywgNDg1OSwgCiAgICAgNjQ0NjcsIDAsIDk4Mzk1NCwgMTE4OTk4LCA3MjA2LCAwLCA2NjQ3LCA0Mzk4NiwgMCwgNjk3NjYsIDAsIDY0NzY0LCA0MjEwLCAKICAgICA5ODM4NTQsIDEyNzkzNiwgODA0LCAwLCAwLCAxMjI5OCwgMCwgNjY2NTMsIDAsIDY0OTI0LCAxMDA5MSwgNzM5MzEsIDk0NjgsIAogICAgIDc0MjQ1LCAwLCAwLCA3NDI0NiwgOTI1MDMsIDEyODM5LCA2NDY2OSwgOTIyMDIsIDAsIDEyNzksIDE0MjUsIDYyMjQsIApAQCAtMTg5NjYsNyArMTg5NjgsNyBAQAogICAgIDE5OTM2LCA3ODMzLCAxMjA2OTEsIDAsIDQyNTk5LCA0MjU5NywgNDI3MDksIDEyMDQwOSwgMTI3MDQ0LCAwLCA4NTM3LCAwLCAKICAgICAwLCA5MzU0LCA5ODMxNjQsIDEyODgzMywgNDExOTksIDEwMTIxLCAyMDI4LCAwLCA5ODMxOTQsIDY5NzE1LCAwLCAzMDYyLCAKICAgICAwLCA3NDQ0NywgMTI2MDgsIDAsIDY2NDQwLCA3NTQ1LCA5NzAwLCAxMjU4MCwgOTIyMDUsIDEyMDc3NywgMTIwNTAyLCAKLSAgICA0MTE1NSwgMCwgNzQwNzEsIDAsIDk4MzQ0OSwgMTI3MTMsIDAsIDAsIDAsIDc4NzcyLCAwLCAxNzM0LCAwLCAwLCAxMjcwNDAsIAorICAgIDQxMTU1LCAwLCA3NDA3MSwgMCwgOTgzNDUwLCAxMjcxMywgMCwgMCwgMCwgNzg3NzIsIDAsIDE3MzQsIDAsIDAsIDEyNzA0MCwgCiAgICAgNjQ1OTQsIDI0NTYsIDIzMSwgMCwgNzQxNjcsIDU0MiwgMCwgMTE4Nzg2LCAwLCA5ODM5NzAsIDEyMzAsIDAsIDAsIDM1OTcsIAogICAgIDQ0NDYsIDEwNTg0LCA3NDIzNSwgOTIyMTUsIDQwMzcsIDEyNzkzOCwgODM1MiwgMCwgNTY4NywgMCwgNjQ1MTUsIDAsIAogICAgIDE5NDgwMSwgNTUyNjUsIDY3ODQ2LCA3ODQzNCwgOTcwNCwgMCwgMCwgNzAwODAsIDcxMzM4LCAwLCA4NjYwLCAxMjY0OTUsIApAQCAtMTg5ODYsNyArMTg5ODgsNyBAQAogICAgIDExOTE3MywgMCwgMCwgNzgwNSwgMCwgOTQwMDcsIDY5MzUsIDkyMjkyLCA3ODMyNSwgNzgzMjYsIDc4MzIzLCA0MzMyNywgCiAgICAgNDM5ODksIDExOTA0NiwgODQ5MiwgODI1MCwgODQ1OSwgMCwgODQ5NywgODQ5NiwgMCwgMCwgNzgzMzYsIDc4MzM5LCA5NTQzLCAKICAgICA3ODMzNSwgNzgzMzIsIDc3ODMyLCA2NTg0OSwgNzc4MzEsIDk4Mzk1MiwgMCwgMTI0NTEsIDAsIDg2ODQsIDAsIDYxMDIsIDAsIAotICAgIDUyOTgsIDAsIDUyOTQsIDAsIDAsIDk4MzQ1MSwgMTk1MDYyLCA5OTQ5LCAxMTk4MjYsIDQzNjE3LCAxMTkyMTUsIDAsIAorICAgIDUyOTgsIDAsIDUyOTQsIDAsIDAsIDk4MzQ1MiwgMTk1MDYyLCA5OTQ5LCAxMTk4MjYsIDQzNjE3LCAxMTkyMTUsIDAsIAogICAgIDEyMDczLCAwLCAwLCA3Nzg2MywgMTMxMDgsIDEyMDYxNywgMTE0MzksIDQxNDY4LCA5ODM3NDgsIDAsIDUyOTIsIDU1MjcyLCAKICAgICA5ODM4NzQsIDE5MzksIDUzMDIsIDM5NzAsIDkxNzg3OSwgMTI0NTUsIDE3OTMsIDAsIDAsIDAsIDY2NDMsIDkyNDc3LCAKICAgICA2NTI2MywgMCwgNzgzMzAsIDQxMjkzLCA3ODMyOCwgNjU5MjMsIDAsIDEzMjE5LCA5NTY5LCAwLCA3NDM4MywgMCwgNzQxOTcsIApAQCAtMTg5OTcsNyArMTg5OTksNyBAQAogICAgIDAsIDAsIDc4MDc0LCA2OTQ3LCA0MTE1MiwgODg3LCA5MjQ5LCA2NTY1LCA3ODUxMCwgNDE5OTAsIDc4NTA5LCA0MTgxMSwgCiAgICAgNzQ0NjYsIDkzOTY2LCA2NjcwLCA3Nzg4MiwgMCwgMCwgNDMwOTIsIDQzMzI1LCAwLCAxMDE2OCwgMCwgOTc4MSwgMTI4NjU1LCAKICAgICA5MTkwLCAwLCA5NjY2LCA4MjY5LCA2NTk0NCwgNzQwMDUsIDEzMDE5LCAxMTY3MCwgNjk4NjAsIDMxNSwgMTI4MTMsIAotICAgIDk4MzQ1MCwgNzg0MzIsIDc4MjU2LCA3ODM1MSwgNzgzNTIsIDAsIDk4MzY0OCwgMCwgMCwgMTM3OCwgOTUwOSwgMCwgMCwgCisgICAgOTgzNDUxLCA3ODQzMiwgNzgyNTYsIDc4MzUxLCA3ODM1MiwgMCwgOTgzNjQ4LCAwLCAwLCAxMzc4LCA5NTA5LCAwLCAwLCAKICAgICA3NDQ3NSwgMzA2NiwgOTIyMjAsIDY3ODQ3LCAwLCA5MjM1NSwgMCwgNzgzNjUsIDg3ODcsIDEyMDM3OSwgMTk0NjE2LCAKICAgICA0MTYxOCwgMTk0NjE1LCA3ODI2MSwgMTk0NjE0LCAwLCA2NDY1MiwgMCwgMTk0NjEyLCAwLCA3ODM2NiwgNDIwODgsIDAsIAogICAgIDE5NTA2MSwgNzE3NiwgNDM3NTYsIDEwMTM3LCA2MTIxLCAxMDk5NSwgNzgyNTksIDc0NTM0LCA4MTE5LCA2NDg3NCwgCkBAIC0xOTAxNiw3ICsxOTAxOCw3IEBACiAgICAgNTQ5LCAxNTcwLCAwLCAyODM1LCAwLCAxMDYyNCwgNDM2MjMsIDExMDcyLCAxMjcxOTEsIDAsIDAsIDEyNjA2LCA3ODQzMywgCiAgICAgMjgyNSwgMCwgMTA4MjUsIDgwNzksIDI4MjEsIDQxMDQ2LCA5MjMyNywgNzM2NSwgOTgzNzQ0LCAxMjA1OTMsIDEzMDcxLCAwLCAKICAgICA0NTIsIDQxMDQ5LCA0Mjg0MCwgNjM0NiwgMjgzMSwgNTQ2MSwgNzQ1OTYsIDExNDY1LCA1MjEyLCAwLCA2NDcwMywgCi0gICAgMTE5MTkxLCA0MjMwOCwgNzE4MSwgMCwgNDEzMzIsIDAsIDEyMzMzLCAwLCAxNjY4LCAwLCAwLCAwLCAxMTg3LCA5ODMzNzcsIAorICAgIDExOTE5MSwgNDIzMDgsIDcxODEsIDAsIDQxMzMyLCAwLCAxMjMzMywgMCwgMTY2OCwgMCwgMCwgMCwgMTE4NywgOTgzMzc4LCAKICAgICA0MjYyOCwgNzg1NzUsIDAsIDEyODc3NywgMCwgMzI0MCwgMTI4NTE4LCAxMjE5NCwgMCwgMTE1OTEsIDQxMDY1LCA1MzIzLCAKICAgICA4MTY2LCAwLCAwLCAwLCA3NDUzNSwgMTYyMywgNjUyOTcsIDEyODg1NiwgNTcxLCAwLCA0OTE4LCAwLCA1Mjg4LCAxMjcyOTUsIAogICAgIDg5MTYsIDY1MDQ4LCAxOTA5LCA4ODY0LCAwLCAwLCAxMDczNiwgOTI1MDgsIDExNTcxLCA3NjE1LCAxMjczMDAsIDkyMjk2LCAKQEAgLTE5MDMzLDcgKzE5MDM1LDcgQEAKICAgICA2NjAxMCwgMTE5NTUyLCA2MDc4LCA5OTU0LCAwLCAxNDc1LCAxMTkyNDcsIDk5MzgsIDYwODQsIDkxNzU0NiwgNDEwNjQsIAogICAgIDQxMDYyLCAwLCAwLCAzMjU2LCAxMDE4OSwgNDIwNzYsIDQzMjUyLCA3ODgyMywgOTE3OTA2LCA4NzI3LCAwLCA2NTg3NSwgMCwgCiAgICAgMCwgMTI3NzYyLCAxMDU2MiwgNzQyMTUsIDQzMDY1LCAwLCAwLCAzMjQ4LCA3NDI5NywgMzI2MSwgOTAxNSwgNzEzNTEsIDAsIAotICAgIDM2MzUsIDY0MzM3LCA5ODMyNzMsIDAsIDAsIDcxOTUsIDAsIDIwMDcsIDY0NDMxLCAwLCAwLCAwLCAwLCA2MzUsIDAsIDAsIAorICAgIDM2MzUsIDY0MzM3LCA5ODMyNzQsIDAsIDAsIDcxOTUsIDAsIDIwMDcsIDY0NDMxLCAwLCAwLCAwLCAwLCA2MzUsIDAsIDAsIAogICAgIDY1NjEzLCA3NzkwOSwgOTI0MjAsIDczOTk3LCAwLCAwLCAxMTkyMTgsIDc5ODQsIDg2MDAsIDc0NDM0LCAxMjc3NzAsIAogICAgIDQxNzYsIDcwMDUwLCAyMDM0LCA5MjU1MSwgMTIwODA1LCA2NTg5MSwgMTI3MDM4LCAwLCAzMTgsIDIwMzgsIDEyODg2MCwgCiAgICAgNzg1OTYsIDAsIDM2NDksIDEzMTQ5LCA0MjE0NSwgNDI3OTgsIDM2MzQsIDEyMDI5MSwgMTE4OTI3LCA2NzY3NywgMTIwMTI0LCAKQEAgLTE5MDQzLDEzICsxOTA0NSwxMyBAQAogICAgIDE5NDU2NywgMTI5ODksIDY2NDc0LCA5MzY4LCAxMjg0OCwgMTYyNCwgNDMyNzAsIDAsIDc0Mjc4LCAxMDgxOCwgMTI2NjQ0LCAKICAgICA5OTUzLCAwLCA3ODQyMSwgMTE5NCwgMzI0MiwgOTc2MSwgOTU1NSwgODU5OCwgMTIwMjk5LCA2MTY5LCAxMjg3MSwgMTU1MSwgCiAgICAgMjc5OCwgNjUxNzYsIDQ5NTgsIDQyNzUyLCAxMTkwMjUsIDAsIDY3ODc1LCAxMjAzMDEsIDM0OTUsIDY2NjQ4LCAxOTQ3NjgsIAotICAgIDAsIDY4MzY0LCA5ODMyMjIsIDQ4OTEsIDAsIDEwNjQxLCAwLCA3Mzc0NiwgMCwgNjgzNTIsIDAsIDczNzg3LCAxOTQ4MjksIAorICAgIDAsIDY4MzY0LCA5ODMyMjMsIDQ4OTEsIDAsIDEwNjQxLCAwLCA3Mzc0NiwgMCwgNjgzNTIsIDAsIDczNzg3LCAxOTQ4MjksIAogICAgIDE5NDYzMywgNzE5OSwgNjQ5NTUsIDAsIDAsIDAsIDAsIDAsIDQyNjg1LCA0MjY3OSwgMTkzLCAwLCAwLCAwLCA0MjY2NywgMCwgCi0gICAgNTI3MSwgOTIzMTgsIDkyNTE3LCAxMTg4ODIsIDEzNjIsIDEzMjk3LCAwLCAxMjgwOTQsIDAsIDk4MzMyMywgNzM3ODksIDAsIAotICAgIDY2NTgsIDQ0MjYsIDAsIDkyNjI4LCA5ODM4MzMsIDkyMzE5LCA3Mjc2LCA0MjE2MywgNTIyMCwgMCwgMCwgOTgzMzIyLCAKKyAgICA1MjcxLCA5MjMxOCwgOTI1MTcsIDExODg4MiwgMTM2MiwgMTMyOTcsIDAsIDEyODA5NCwgMCwgOTgzMzI0LCA3Mzc4OSwgMCwgCisgICAgNjY1OCwgNDQyNiwgMCwgOTI2MjgsIDk4MzgzMywgOTIzMTksIDcyNzYsIDQyMTYzLCA1MjIwLCAwLCAwLCA5ODMzMjMsIAogICAgIDI0MTYsIDMzMTAsIDQyNzAzLCAwLCAzNzksIDAsIDQzNzU1LCAwLCAwLCAzMjIzLCA2NTQ5MiwgMTI4NCwgMTk0NzcxLCAKICAgICA0NTQ5LCAwLCAwLCA5ODMxNTQsIDEyNzc2MywgMTA4MDcsIDk1NTgsIDE5NDYxMywgMCwgODUxNSwgODY4OCwgMTI4NjYsIAotICAgIDY1MzA4LCAzMjk0LCA5ODMzMjQsIDg1MjksIDEyODEwMSwgNDMzODUsIDc1NjQsIDAsIDQzMzI5LCAwLCA5MjQ1OCwgCisgICAgNjUzMDgsIDMyOTQsIDk4MzMyNSwgODUyOSwgMTI4MTAxLCA0MzM4NSwgNzU2NCwgMCwgNDMzMjksIDAsIDkyNDU4LCAKICAgICA3Mzc1NywgNjY0NTYsIDQyMzU5LCAwLCAyMDMxLCAwLCA3MjAyLCAwLCAxMjY3NiwgNDI3MjksIDkyMTk4LCAzMjE1LCAwLCAKICAgICA3NzEwLCAxNjEwLCA3MzgwMSwgMCwgMCwgNjU2ODIsIDAsIDEyMDUzNywgNjU5MjQsIDk5NzQsIDIyOCwgNjYzNTQsIDE1MDEsIAogICAgIDAsIDY0Mzk1LCA1MTc5LCA3MjAwLCA2MjI1LCAwLCA2NTc5NCwgMTcyNSwgNjU1MzMsIDgxOTYsIDc0NzYsIDc0Mzk5LCAwLCAKQEAgLTE5MDc2LDIwICsxOTA3OCwyMCBAQAogICAgIDEyNjQ2OSwgMTE5NDYsIDAsIDMyNTcsIDAsIDEyMzA3LCAxODQ1LCA5ODMxNTcsIDQzNTI2LCAwLCAwLCAxODg2LCA0MjM0MiwgCiAgICAgMTAwODksIDg3MCwgNzY0OCwgMzQ5OSwgODYwOSwgNzY1MiwgODc2LCA4NzEsIDg3NywgMCwgODc4LCA0MjAxNSwgODc5LCAKICAgICA0MzY5MiwgNDU2MywgMCwgMCwgNzU5MSwgNjU4ODcsIDg2NywgOTUyMCwgODcyLCAxMjY2MDcsIDg2OCwgODczLCA3NjQyLCAKLSAgICAwLCA4NjksIDg3NCwgNzY0NCwgMTIwNjc0LCA4NzUsIDc5MCwgMTI4MzAzLCAwLCAwLCAwLCA2NjE4MiwgOTgzMjUwLCAKLSAgICA1NDI5LCAxOTUwNTUsIDY2MTgwLCAxMjY0ODAsIDY2MTgxLCA2ODQ1MiwgOTgzMjgxLCA5ODMyNDIsIDQyMDY3LCAwLCAKKyAgICAwLCA4NjksIDg3NCwgNzY0NCwgMTIwNjc0LCA4NzUsIDc5MCwgMTI4MzAzLCAwLCAwLCAwLCA2NjE4MiwgOTgzMjUxLCAKKyAgICA1NDI5LCAxOTUwNTUsIDY2MTgwLCAxMjY0ODAsIDY2MTgxLCA2ODQ1MiwgOTgzMjgyLCA5ODMyNDMsIDQyMDY3LCAwLCAKICAgICA1NDMzLCAxMDY1NywgNzkxMSwgMTk0NjIyLCAxNTQ3LCA2NjE3NiwgNDIwMTIsIDEyMDU3NiwgNTQyNSwgNDk3NywgOTk5OSwgCiAgICAgNTMxNywgNTQyMywgNDYxMSwgMCwgNjc2MzcsIDAsIDk2NzksIDc0MTIyLCAwLCAwLCAwLCA2NjE5NCwgNDQxOCwgNjYxODQsIAogICAgIDQ2MjgsIDQyNDUsIDExOTY0OCwgMCwgMCwgMTg1MSwgMCwgMTI3MTg5LCAxMTkwOCwgMCwgOTM2MCwgMTE4ODk3LCAKLSAgICA5ODMyNzAsIDQyNzc2LCA2NjE4NywgMTI4MzcsIDg4MjksIDc3MTEsIDkyNzE0LCAwLCA5MjMyMSwgNDMzMTgsIDAsIDg4MDksIAotICAgIDY5ODgxLCAwLCA5ODMxNDIsIDEyMDYwNCwgOTgzMDUyLCA5ODM4NzMsIDAsIDk4MzI2MiwgMCwgMCwgNzQyNywgOTk1OCwgCisgICAgOTgzMjAxLCA0Mjc3NiwgNjYxODcsIDEyODM3LCA4ODI5LCA3NzExLCA5MjcxNCwgMCwgOTIzMjEsIDQzMzE4LCAwLCA4ODA5LCAKKyAgICA2OTg4MSwgMCwgOTgzMTQyLCAxMjA2MDQsIDk4MzA1MiwgOTgzODczLCAwLCA5ODMyNjMsIDAsIDAsIDc0MjcsIDk5NTgsIAogICAgIDQ1ODgsIDQzNjgwLCAwLCA3NDQ4NCwgMTk0OTY4LCAyNDMzLCAwLCAxMTk2MjIsIDMzNTIsIDc0MzYzLCA5ODM4NzYsIDAsIAogICAgIDc5MywgNzQ0MDQsIDAsIDMwNSwgNTY3LCA2NzY2MiwgODQyLCAxMjg1MTksIDgyMDgsIDAsIDQxNjk1LCAxNjQ3LCAKICAgICAxMTg4NzcsIDAsIDc4MzcsIDkxNzYyNSwgODE4LCA1MzM3LCAxOTQ2MjgsIDkxNzYyMSwgNDEzNzYsIDExOTk3OCwgCiAgICAgMTI2NTc2LCAxMjA1OTQsIDc0MDg2LCA5MTc2MTUsIDkxNzYxNCwgOTE3NjEzLCAxMDk3MywgNjYzNTksIDEzNzIsIAogICAgIDEyNzE3MiwgOTE3NjA4LCA0OTY5LCAxMjU0LCA5MTc2MDUsIDkxNzYwNCwgOTM5NjcsIDkxNzYwMiwgNjUyMjgsIDc4MjIxLCAKICAgICAxMjY2MTIsIDAsIDI4NDAsIDAsIDExOTk4MiwgOTgzOTMwLCAwLCAzMjQ1LCA5MDY4LCA2ODE5NCwgNjQ3MjUsIDAsIDAsIAotICAgIDEyOTkxLCAwLCAyNjUxLCA2ODAxNiwgOTgzMjU3LCA5MTc2MTEsIDEyNzAyNiwgMTI4ODgzLCAwLCAwLCA0MzY0OCwgCisgICAgMTI5OTEsIDAsIDI2NTEsIDY4MDE2LCA5ODMyNTgsIDkxNzYxMSwgMTI3MDI2LCAxMjg4ODMsIDAsIDAsIDQzNjQ4LCAKICAgICAxMjA4MTIsIDAsIDQzMzIyLCA5MjY2MiwgMCwgMCwgNjQzNzIsIDkyNjk4LCAzMjI2LCA2NTUsIDc1MiwgNzQ1NywgNzQ1NiwgCiAgICAgNzQ1MiwgMzI4NSwgMTI4Nzc5LCAxMjc4MjEsIDExOTk4OCwgNjU2MTAsIDIzOTEsIDAsIDkyMjQ4LCA2NzEsIDI1MCwgCiAgICAgNzQzNCwgNjE4LCA2NjgsIDYxMCwgNDI4MDAsIDc0MzEsIDExNTIsIDQyODAxLCA2NDAsIDEyMDY2NiwgNzQ0OCwgNzQzOSwgCkBAIC0xOTEwNiw3ICsxOTEwOCw3IEBACiAgICAgMTIwMjg1LCA3NDIyNSwgOTQxMTEsIDgyNjcsIDAsIDEyNzI2NSwgMCwgNzUxNiwgMCwgMjYyNSwgOTgzOTY4LCA4MDM0LCAKICAgICA3NDMwOSwgMCwgMzYzMSwgMTA5NTUsIDc4NTAsIDEyMDI5MywgODQxNiwgMCwgMCwgMCwgNDMzODQsIDEyNjYwLCAwLCAwLCAKICAgICAwLCA3NDg1MCwgNDEwNjksIDAsIDEyODE1NiwgMTIwOTksIDQzMTAsIDEwMDMyLCA2MjUyLCA3MTMsIDc5OTAsIDAsIDM5OTAsIAotICAgIDAsIDk4MzI1NCwgNjYzNjgsIDUwMTcsIDY0OTU2LCA3MDcxLCAwLCAxMTkxNDQsIDEwMzAsIDExODgwMCwgOTgzMTIwLCAKKyAgICAwLCA5ODMyNTUsIDY2MzY4LCA1MDE3LCA2NDk1NiwgNzA3MSwgMCwgMTE5MTQ0LCAxMDMwLCAxMTg4MDAsIDk4MzEyMCwgCiAgICAgOTUxMywgNDEwNTksIDkzNTcsIDAsIDE3NzMsIDAsIDEyMDM1MCwgMCwgNjMzOSwgNzc0NSwgOTg0NCwgMCwgNjQ2NTAsIDk0LCAKICAgICAxODgwLCA3NDc2NiwgOTgzODI5LCA4OTA4LCAwLCAxMjg3MDcsIDY1OTEzLCA3ODQ3MCwgMTA3NTIsIDEzMDAzLCAwLCAKICAgICAxMjY1NzIsIDQxMzA3LCA4NzMyLCAxMjAzMzgsIDAsIDE3NTcsIDY5NjQsIDQ2OTYsIDAsIDEyMDMzNSwgNjQ3ODUsIDczOTQsIApAQCAtMTkxMjUsMTcgKzE5MTI3LDE3IEBACiAgICAgNjUzMDIsIDQwOTg5LCAwLCAxOTQ2OTYsIDAsIDQyNzYwLCAwLCA5ODM1NjYsIDAsIDQwOTg3LCA0NjY3LCAwLCA5ODM5MjMsIAogICAgIDg4MjgsIDAsIDAsIDEyNDYsIDQ3NDYsIDAsIDAsIDExMDIxLCA0NzQ5LCA5MjY3NSwgMCwgOTIxLCA0NzQ0LCAwLCAxMjcwMiwgCiAgICAgMjQyLCAwLCAxNTY2LCA4MjE3LCAwLCA2NDY1MywgNzgzODYsIDEyODEyMSwgNzQwMzYsIDc0NTA1LCA0MzI3NCwgNTMxMywgCi0gICAgOTUxLCAwLCAwLCA5ODM4NTgsIDc2MDQsIDk4MzI4MiwgNDAwOSwgMTI3ODE2LCA5ODM3MDEsIDEyMDU2MiwgMCwgOTgzNzExLCAKKyAgICA5NTEsIDAsIDAsIDk4Mzg1OCwgNzYwNCwgOTgzMjgzLCA0MDA5LCAxMjc4MTYsIDk4MzcwMSwgMTIwNTYyLCAwLCA5ODM3MTEsIAogICAgIDY0ODYwLCAxMTkxMzgsIDExOTA2OSwgMCwgMTI3MzcwLCA0MDQ4LCA5ODM1OTgsIDAsIDcwMDI0LCAxNjQ2LCA3Nzg5MCwgCiAgICAgNjQ1MzQsIDczOTk1LCAxMjA3MDUsIDAsIDExOTg5MCwgMjU3OSwgMTE5OTA1LCAzMTc3LCAxMTM1NywgOTA5OSwgNDEwNywgCiAgICAgMzQ0MSwgMTE5ODk0LCAyOTc1LCA3NDQ0MiwgOTgyMiwgOTgzOTI2LCA1NTIyMCwgMTAwODQsIDczOTQzLCAxMTg4NDAsIDAsIAogICAgIDkxNzU2MiwgMTk0NjEwLCAzMzk5LCA5ODUxLCA5ODM3MDgsIDExOTA5LCA5MDU5LCAwLCA3Njg3LCAwLCA2Nzg5LCAwLCAwLCAKICAgICAwLCA3MTM2NywgMCwgMCwgMTc3NywgOTE1MSwgMTEzNywgNjk3NjcsIDc0OSwgNDIzNjYsIDAsIDUzODUsIDEyODU3NCwgCiAgICAgMTI4MjE4LCAwLCAwLCA1OTg5LCAwLCAwLCAxMjgwOTEsIDAsIDQxNjg1LCA2OTIyMywgMCwgOTc2OSwgNDE2ODQsIAotICAgIDk4MzIxNCwgNTE5LCAwLCAxMTc0MCwgNTc2NiwgMCwgMCwgMjYwMCwgODg0OCwgMTIwMTM4LCA0MTI5NywgMCwgMzY2NiwgCisgICAgOTgzMjE1LCA1MTksIDAsIDExNzQwLCA1NzY2LCAwLCAwLCAyNjAwLCA4ODQ4LCAxMjAxMzgsIDQxMjk3LCAwLCAzNjY2LCAKICAgICA3NDQ3MywgNDEzMDAsIDc0NDY4LCA2NTE2MCwgMCwgNjk2ODgsIDY5NzcxLCA3NDQ3OSwgMCwgNjU1OCwgMCwgMCwgNjk3NjUsIAogICAgIDEyMDc1MCwgMjUyLCAwLCA0MTMwMiwgMCwgMCwgMCwgNjk3NjMsIDAsIDExNzI5LCA4NzE5LCA5MDYwLCAwLCAxMjAxMzksIAotICAgIDEwNzYxLCAwLCAwLCAwLCAxMTg3OTIsIDExNzM0LCA5ODMyMjEsIDExNzMwLCAwLCA5NTkzLCA1NzU3LCAyNDAzLCA2NDgwOCwgCisgICAgMTA3NjEsIDAsIDAsIDAsIDExODc5MiwgMTE3MzQsIDk4MzIyMiwgMTE3MzAsIDAsIDk1OTMsIDU3NTcsIDI0MDMsIDY0ODA4LCAKICAgICA1NTI3NSwgMCwgMTE3MjgsIDQzNTcyLCAwLCAwLCA3NzY0LCA5ODM3MDUsIDExMDk0LCAxMjA4MjUsIDAsIDAsIDQyODIsIAogICAgIDgyOTgsIDAsIDAsIDAsIDAsIDAsIDY0NDQ5LCAwLCAxMjY2NTAsIDYzODU0LCA4NDU2LCAwLCA3NDc4MywgNjU2NzAsIDAsIAogICAgIDc4MjUwLCAwLCA3Nzc0LCAxMDYwNywgOTc5MiwgMCwgMCwgMCwgMCwgMTIwNzY0LCAwLCAxMDAxOSwgNzQ3NjIsIDAsIApAQCAtMTkxNTAsNDggKzE5MTUyLDQ4IEBACiAgICAgNzAwNjUsIDI1ODgsIDI5MTQsIDcwMTEsIDU1MjgxLCAwLCAyNDcxLCAxOTQ2MzEsIDI4ODMsIDI3NDksIDExOTU2MywgCiAgICAgNzM3NzQsIDEwOTEzLCAwLCAwLCA4NjY2LCA2NzUsIDQyNDkzLCAwLCA0MzU3MSwgMCwgNjIxOSwgMCwgOTk4MCwgNDEyMzIsIAogICAgIDEwOTI4LCAwLCA0MTE1MywgNDEyMjksIDExODk2NywgMCwgMzczOCwgOTQwMTYsIDAsIDEyNzExLCAzMTgxLCA2NjIxMiwgCi0gICAgNzQyODksIDY4NDcyLCA0Mjg1NywgODI2MiwgOTgzMzcxLCAwLCA5ODMyMjAsIDAsIDQyMzQ3LCAxMjA5MiwgOTYxNSwgCisgICAgNzQyODksIDY4NDcyLCA0Mjg1NywgODI2MiwgOTgzMzcyLCAwLCA5ODMyMjEsIDAsIDQyMzQ3LCAxMjA5MiwgOTYxNSwgCiAgICAgNzIzNCwgNzQwNDcsIDk4MzA4OCwgMCwgNDM3NDQsIDAsIDAsIDczODQ2LCAyOTM0LCAxMjcyMiwgMTIwNzYyLCA5MjIsIAogICAgIDQzOTgzLCA3NDUwNywgOTgzMTI2LCA3NDQ2MSwgMzIxOCwgMTIwNDcxLCA3NDI5MCwgMTIwNDY5LCA2NDU2MiwgMTIwNDc1LCAKICAgICA4NTY5LCAxMTQwNCwgMTE5MzIsIDczNzI4LCAzMjE0LCAxMjA0NjEsIDEyMDQ2OCwgMTIxMjgsIDMyMDcsIDY1NDg2LCAKICAgICA3ODcyOSwgMTkwMSwgNzg3MjcsIDEyNzMyNiwgMTIwNDYwLCA3NDI1LCAzMjA1LCA2ODAwMywgNzg3MzcsIDc4NzM2LCAKICAgICA3ODczNSwgNDMzODMsIDY5OTQwLCA2NTQ1OSwgMjYwNiwgNzg3MzAsIDczODk3LCAwLCAxMTQ5NiwgMTE3MywgMCwgNDEyNzIsIAotICAgIDExOTY2MSwgMCwgMCwgOTgzMzEzLCAxMjA3MzcsIDAsIDk4Mzk2MiwgOTgzMzEyLCAzNzgsIDI2MTAsIDAsIDY1MDc5LCAKLSAgICA5ODMzMTcsIDY1Njk1LCAxMjY1NTksIDM3LCA3MDY4LCAwLCAxMjA0ODAsIDEyMDQ3OSwgMzIwOSwgMTIwNDc3LCAwLCAKLSAgICAxMDYzOCwgOTc2OCwgNjk5NTIsIDExOTkwOSwgOTgzMzkxLCAwLCAwLCAwLCAwLCA2NTUxMCwgMCwgMCwgNTIzMywgCi0gICAgOTgzMzI3LCA2NDc5MiwgOTgzMzI2LCAwLCAxMjY2MzMsIDAsIDcwNjAsIDk4NDcsIDEyMDE0NCwgMTY4NSwgNTk1LCAwLCAKKyAgICAxMTk2NjEsIDAsIDAsIDk4MzMxNCwgMTIwNzM3LCAwLCA5ODM5NjIsIDk4MzMxMywgMzc4LCAyNjEwLCAwLCA2NTA3OSwgCisgICAgOTgzMzE4LCA2NTY5NSwgMTI2NTU5LCAzNywgNzA2OCwgMCwgMTIwNDgwLCAxMjA0NzksIDMyMDksIDEyMDQ3NywgMCwgCisgICAgMTA2MzgsIDk3NjgsIDY5OTUyLCAxMTk5MDksIDk4MzM5MiwgMCwgMCwgMCwgMCwgNjU1MTAsIDAsIDAsIDUyMzMsIAorICAgIDk4MzMyOCwgNjQ3OTIsIDk4MzMyNywgMCwgMTI2NjMzLCAwLCA3MDYwLCA5ODQ3LCAxMjAxNDQsIDE2ODUsIDU5NSwgMCwgCiAgICAgNzM5NzEsIDEyOTIsIDg5NDAsIDczODAsIDExMDg4LCAwLCAxMDAwNCwgMTI2OTk3LCAwLCA2NTQxLCAwLCAwLCAwLCAzMjQzLCAKICAgICA5MDE0LCA1NjA2LCAwLCA1MzgsIDY0NjIwLCA1NjAyLCA4NDY3LCA3NDM5MSwgNjU0NywgMTI4MTMyLCA4MjAzLCA3ODQ4OCwgCiAgICAgOTgzMDkwLCA4NDU4LCA2NTIxMSwgODQ5NSwgMTE5OTA0LCAwLCA5MTc1NTIsIDc3OSwgNzgzMTQsIDY0MzY3LCAyNDY1LCAKICAgICA2OTkwMSwgODE5MywgNTUyNzksIDk3MzAsIDkyODAsIDAsIDcwNjUsIDc0MTU1LCA0MzQ2LCAwLCA3Mzc5OCwgNTA0LCAwLCAKICAgICA5MjQxNCwgODk4MiwgMCwgMCwgMCwgNzgyLCAwLCAxMDg4MywgMCwgMTk0ODUyLCA3MzIsIDM3MzcsIDEyNzI1MywgMTU0OCwgCiAgICAgNjg2NTAsIDkyNTA3LCAxODMyLCA1NjA0LCA1NzM1LCA0MTE0MSwgMTE5MDIwLCA0Mzc2LCAwLCAxMTc4NywgMzc0NSwgMCwgCi0gICAgMCwgNDI4ODgsIDY1NzEyLCA5ODMyOTYsIDM4NjksIDExOTM3LCA1NzI1LCAxMjc1MzksIDE3ODMsIDY4NjQ4LCA1NzI4LCAwLCAKKyAgICAwLCA0Mjg4OCwgNjU3MTIsIDk4MzI5NywgMzg2OSwgMTE5MzcsIDU3MjUsIDEyNzUzOSwgMTc4MywgNjg2NDgsIDU3MjgsIDAsIAogICAgIDAsIDAsIDExOTE4LCA2NjU2NywgNTcyNCwgMCwgNTcyNywgNzg1MjEsIDAsIDAsIDc2NCwgMCwgMTI4MTE2LCA0MzUzMSwgMCwgCiAgICAgOTAzMywgMCwgNDI1MzIsIDYyMjMsIDExMDQyLCAxMjA3NDksIDExNDIzLCAwLCAxMTk4NjEsIDcxMzQ0LCA0MzQ2NSwgMCwgCiAgICAgMTI4MjY3LCA2NTU5LCA2NDU1NywgNzEzNDgsIDkyNjQ5LCAxMjA2NDgsIDQzMDE5LCA0MzQ3NywgMTAyMzgsIDc0NDkxLCAwLCAKICAgICA0MzM3NywgOTIyODIsIDcxMzQ2LCAxNDc4LCA5NzgzLCAxMTgyNSwgMjYwNywgNjQ3NDAsIDAsIDc3MzksIDc0NTQzLCAwLCAKICAgICAwLCAwLCA2MTMyLCAwLCA2Mzc2NSwgMCwgNzAwNTgsIDQxMTQ0LCAwLCA5MjQzOCwgNDM1MzcsIDY3NjEsIDEwMDkzLCAKICAgICA0MzY5LCA5MTc3OTEsIDAsIDk4MzE0OCwgODgyMCwgMzk0NywgMCwgMCwgMTE1MTUsIDUyNiwgMTI4MTAzLCA0MTI5NSwgCi0gICAgMTk0NjAzLCA5MTc3ODUsIDE5NDkzMiwgMCwgNzY4OCwgOTE3Nzg2LCA3Njg2LCA4Mjg4LCAxMTgxNSwgMCwgMCwgOTgzMzc0LCAKKyAgICAxOTQ2MDMsIDkxNzc4NSwgMTk0OTMyLCAwLCA3Njg4LCA5MTc3ODYsIDc2ODYsIDgyODgsIDExODE1LCAwLCAwLCA5ODMzNzUsIAogICAgIDE1NDMsIDM3MTMsIDQxMjIxLCAxMjQyMywgNDIyODEsIDkxNzc4OCwgNzQwMjQsIDEyMjkzLCAwLCA2NDM1NywgMTE3OTQsIAogICAgIDQyMDgyLCAwLCAxNzM3LCA4OTg3LCA0MjA4MSwgMCwgNzIwNSwgMCwgOTMzNSwgMTI4NTAsIDExOTg3MCwgNjU1MywgNzA1NSwgCiAgICAgMCwgODI3NywgMCwgMCwgNTQ3NSwgNzQ3OTUsIDY3ODAsIDAsIDAsIDEyOTkwLCAxMTYwLCA0MjA4NCwgMTE5NjUwLCAKICAgICA0MTIxNywgMTE5NjYwLCAxMDAxOCwgMzYwLCAwLCAwLCA2ODE3NiwgNTg2MywgMzEzNywgMCwgNDE0NywgOTgzMTcwLCAKLSAgICA0MTIxNiwgNzg0NCwgMjYxNiwgMTE5MTkwLCA2ODQ2MSwgNjUyMzQsIDk4MzI4NiwgMTMwNzYsIDMxMzUsIDk4MzI3OSwgCisgICAgNDEyMTYsIDc4NDQsIDI2MTYsIDExOTE5MCwgNjg0NjEsIDY1MjM0LCA5ODMyODcsIDEzMDc2LCAzMTM1LCA5ODMyODAsIAogICAgIDc4MTQzLCAxMTkxMzksIDMxNDIsIDkyNDUxLCA5NDA2OCwgMTA4MTksIDExOTU4MCwgMTAxODMsIDAsIDI2MDgsIDE0NzAsIAogICAgIDczOTY3LCA5NDAwOCwgNjIyNywgMCwgMTI3MTczLCA2OTc0MSwgOTgzNTgyLCA2MTYzLCA5ODM1NTgsIDAsIDEyNzMxNCwgMCwgCiAgICAgMCwgODYwMywgMCwgMTE5ODY2LCAzMzA2LCAxMDg3NiwgNDMzOTIsIDExOTU3MywgMTI3OTMxLCA1NzUxLCAwLCA2MjIyLCAwLCAKICAgICAwLCAxMjA4NiwgNzQwMywgMTYwMCwgNjQzMDksIDY0OTM5LCAwLCA2NDc4MywgOTI2NTgsIDExMzEwLCAwLCA4ODgyLCAwLCAKLSAgICAwLCAyNTcwLCA3MDIxLCAwLCAwLCA0MzExMCwgMCwgMTIzNCwgNjU0MCwgNjk3NCwgMCwgMCwgOTgzMjA5LCA1MDAyLCAwLCAKKyAgICAwLCAyNTcwLCA3MDIxLCAwLCAwLCA0MzExMCwgMCwgMTIzNCwgNjU0MCwgNjk3NCwgMCwgMCwgOTgzMjEwLCA1MDAyLCAwLCAKICAgICA0MTI4NiwgNjk5NDYsIDEyNzAxOSwgMCwgNDM1ODUsIDAsIDY1NTEsIDk4Mzk1MywgMTI4MjI5LCAwLCA0MTI4OSwgMCwgCi0gICAgMTk0NjAyLCAwLCA4OTc3LCA2MDIsIDEyMDgxNCwgMCwgMTI4Nzc4LCAxMjg2NjEsIDAsIDk4MzM2NywgNDEyNzksIDAsIDAsIAorICAgIDE5NDYwMiwgMCwgODk3NywgNjAyLCAxMjA4MTQsIDAsIDEyODc3OCwgMTI4NjYxLCAwLCA5ODMzNjgsIDQxMjc5LCAwLCAwLCAKICAgICAwLCAxMTA4MSwgNDM2MTUsIDAsIDAsIDAsIDk4MzYxMiwgMTI3MjcsIDAsIDAsIDc4Mzk3LCA5NDc1LCA3MTEyLCA2NTEwNSwgCiAgICAgMCwgOTYzMywgMTA4ODYsIDQzNTkyLCA3ODMxLCA5ODM4MjAsIDE5NDU3MSwgMCwgNzM5MTUsIDgwNzYsIDQzMDQ4LCA4MjkwLCAKICAgICA4MjkxLCA0MzA1MSwgOTI1NzAsIDAsIDI1OTYsIDQzNTg0LCAwLCAxMzExMywgMCwgMTI3NzU3LCAyMzkzLCA3MDU4LCAKICAgICA5MDg3LCA3NDA2NywgNjg2NzMsIDQxNTc0LCA3ODMzNywgMCwgNzQwNTgsIDYzNzYsIDAsIDAsIDAsIDAsIDk4NTQsIAogICAgIDEyNzc0OCwgNjQ2OTYsIDAsIDEyODIyMCwgMCwgNjk5NCwgMCwgMTcyMCwgMCwgMCwgMCwgNjUyOSwgNzA2MywgOTgzMTgyLCAKLSAgICAzNzUxLCA5MTIwLCA5ODM0NzcsIDAsIDE3OTgsIDcwOSwgMCwgMTM1NCwgMTg3NiwgMTMxNTIsIDY1NTcsIDEyNDMwLCAKKyAgICAzNzUxLCA5MTIwLCA5ODM0NzgsIDAsIDE3OTgsIDcwOSwgMCwgMTM1NCwgMTg3NiwgMTMxNTIsIDY1NTcsIDEyNDMwLCAKICAgICA4MTM3LCA5NDA5OCwgOTI2NDIsIDAsIDAsIDI0NSwgMTI4MDk3LCAxMTQ1NiwgNDEyMzMsIDcwNzAsIDAsIDk0MDQ2LCAKICAgICA2MTM2LCA5MTc2MDksIDY1Njc3LCA4NjgyLCA0MTIzNSwgOTI1OTUsIDQyMDQ1LCA5ODA0LCAxMTg5NjMsIDQzMiwgMzU5NSwgCiAgICAgMTk0OTQ1LCA2NTQzNywgMCwgNzQ0NTUsIDQyMzk5LCAwLCAwLCAxMjgyNzQsIDAsIDExOTY1OCwgMCwgMCwgMCwgNzc4OTQsIApAQCAtMTkyMDMsNyArMTkyMDUsNyBAQAogICAgIDM3MzMsIDExMzQ2LCAwLCAxMjA1NCwgMCwgNzQwOTgsIDQyODI3LCAwLCAxMzA5MSwgMCwgMCwgMCwgOTE3OTE1LCAwLCAKICAgICAxMjcwMjUsIDAsIDc0ODIxLCAwLCA5ODM3MjQsIDExOTA0MiwgMCwgMTI3ODY1LCAxMzA5MCwgNjY2NDMsIDAsIDEyNzAsIAogICAgIDExMzIsIDQyMzYwLCAwLCA3NDA5NiwgNjY2NTUsIDQyNTY5LCAxMjc4MjQsIDAsIDY0NzYxLCAwLCA0MTAyMSwgODUxMCwgCi0gICAgNDI0MzIsIDAsIDAsIDE5NDc4MiwgMCwgNjQ0OTYsIDc0MTA5LCA3MDAzMCwgOTkxNSwgMCwgOTgzMjE2LCA3MDYxLCAKKyAgICA0MjQzMiwgMCwgMCwgMTk0NzgyLCAwLCA2NDQ5NiwgNzQxMDksIDcwMDMwLCA5OTE1LCAwLCA5ODMyMTcsIDcwNjEsIAogICAgIDQxMzM2LCAzODU0LCA2OTcwMCwgMTMxNDEsIDY4NDEzLCA0MzQwMSwgNDIzMTksIDEzMDgyLCAwLCA3MDY3LCA2ODIyMSwgMCwgCiAgICAgMTI3MzgzLCAxMjcxNzEsIDAsIDAsIDEyNzc5NywgOTAyOSwgNDM1NDMsIDExOTMxNSwgMjM1MywgNjMwOCwgMCwgNzQ3OTIsIAogICAgIDI2MTEsIDExOTE4NiwgMCwgMCwgMCwgNDM2NjQsIDkyMzk5LCA2NjYyNywgMCwgNDQ4NCwgODUwOSwgMTE4OTc2LCAxMTA2NiwgCkBAIC0xOTIxNyw3ICsxOTIxOSw3IEBACiAgICAgMzk2LCA0MTU4MCwgNjgxNDYsIDAsIDEyOTAxLCA0MzA1OCwgMCwgMzQzLCA3MTI5LCA0MjY4MCwgNDEzNjAsIDc4MTU0LCAwLCAKICAgICA0NzQzLCAwLCAwLCA3NDA0MCwgNzQxMDgsIDg3NDMsIDE3MjQsIDE0MzMsIDExOTMyMiwgMCwgMzczOSwgNjI2MywgNzEzNDksIAogICAgIDAsIDM5NjQsIDY1OTIsIDAsIDEyODY5MywgNjYwNDAsIDAsIDQyNTY4LCA2OTgwNiwgMTI4MTEzLCAxNzc4LCAzOTU2LCAwLCAKLSAgICA0MjA3MCwgNjU2MywgNDMwNzUsIDkwMTgsIDk0MDA2LCA5ODMzODgsIDEyMDY3LCA0MTMxMiwgMCwgNTU0NywgNzQ1MzEsIAorICAgIDQyMDcwLCA2NTYzLCA0MzA3NSwgOTAxOCwgOTQwMDYsIDk4MzM4OSwgMTIwNjcsIDQxMzEyLCAwLCA1NTQ3LCA3NDUzMSwgCiAgICAgMTI3OTY5LCAwLCA4MTc1LCAwLCAyODQsIDgxMDgsIDkzNCwgMCwgNzQwMDEsIDE3MywgNjY0NjAsIDcxNzQsIDkyNzAzLCAKICAgICAxMTg4MjIsIDE3NTAsIDAsIDQzOTQsIDY4MzY4LCAxODA3LCA5ODM4NzksIDkyMjk4LCAwLCA1ODg5LCAwLCA3MTgwLCAwLCAKICAgICAxMTkxNDUsIDAsIDkxNzU1OCwgNDI0NzEsIDY5ODIsIDE3MjEsIDQ0MDIyLCA3ODkxLCA0MjI0MywgNDIxNjAsIDI1ODMsIApAQCAtMTkyMzgsMjYgKzE5MjQwLDI2IEBACiAgICAgMTI4NTQ0LCAwLCA1NTk2LCA1NTQ1LCA3Mjg4LCAyNTg2LCA2NDg4NywgMCwgNTIxNywgNzEzMzYsIDAsIDAsIDAsIDY0MjkzLCAKICAgICA2ODA5OCwgMjYzNSwgMCwgMCwgOTgzODM3LCAwLCA5ODM2MzIsIDc4MzUsIDcwMDQwLCAwLCAxOTQ5ODgsIDkyMjg1LCAKICAgICA2NDU1OCwgMTI3MTIyLCAwLCAxMjcxMjEsIDAsIDEyNzkxMywgMCwgNTc4NCwgOTgzMTAyLCAwLCAwLCA3MDAzMywgNDAxMSwgCi0gICAgOTE3NjE2LCA2ODEwMSwgMCwgNzg2NCwgNDI1NCwgNjUwOTUsIDk4MzQ4OCwgNTYwMCwgMzkwMywgMTI3MDgzLCAxMDQ0NywgCisgICAgOTE3NjE2LCA2ODEwMSwgMCwgNzg2NCwgNDI1NCwgNjUwOTUsIDk4MzQ4OSwgNTYwMCwgMzkwMywgMTI3MDgzLCAxMDQ0NywgCiAgICAgNTU5OCwgMTIwNywgMTIwNTIxLCA2NjY4OSwgMzUwMSwgNDI1ODIsIDQzNjAwLCAxOTQ3ODAsIDAsIDExMjQsIDU1OTcsIAotICAgIDE5NDc3OCwgMTk0NzcyLCA5MzIxLCA5ODM0NzYsIDk4MzQ3MywgOTgzNDc0LCAwLCAxNzE5LCA2ODM1NiwgNjgzNTQsIAotICAgIDk2NzEsIDExMjUsIDQzOTksIDEyNzQ3OSwgOTE3NjEwLCA5ODM0ODAsIDc2MzEsIDU0ODgsIDcxMjgsIDEyMDUzMiwgMCwgCisgICAgMTk0Nzc4LCAxOTQ3NzIsIDkzMjEsIDk4MzQ3NywgOTgzNDc0LCA5ODM0NzUsIDAsIDE3MTksIDY4MzU2LCA2ODM1NCwgCisgICAgOTY3MSwgMTEyNSwgNDM5OSwgMTI3NDc5LCA5MTc2MTAsIDk4MzQ4MSwgNzYzMSwgNTQ4OCwgNzEyOCwgMTIwNTMyLCAwLCAKICAgICA1NDkxLCAwLCA4OTM3LCA0MzA0NCwgMjYwNCwgNzQxODcsIDU0OTAsIDQzMDQ2LCA1NDg5LCA3MjEyLCAxMTc2OCwgNDMwNDMsIAogICAgIDYzMDAsIDAsIDcxMjIsIDAsIDQzOTAsIDQ1NCwgNDEzOTcsIDAsIDk4NzUsIDc1OTMsIDE5NDc5MSwgOTIyNzQsIDExODkxMywgCiAgICAgNzIwNywgMCwgNjU5MDEsIDIzOTQsIDI1NzUsIDAsIDM3NDYsIDExMDE2LCA2NTc1MiwgMTIwMDM3LCAwLCA0MzQyMywgCiAgICAgMTI4NjgzLCAxMTk4OSwgMCwgMCwgMCwgMCwgMCwgODI0OSwgMTI4MTcyLCAwLCA3ODUzMSwgNjY0MCwgNzQ4MDYsIDI1OTgsIAotICAgIDUxMywgMCwgNjU4NiwgODY1NiwgMCwgMTIwNzEwLCA2NTAwOCwgMCwgMTk0Nzg0LCAxOTQ5ODksIDE5NDc5NSwgOTgzNDY1LCAKLSAgICA5MjUxNSwgNjg0NzUsIDkzOTczLCAwLCAwLCA3ODYzNywgMTI2NDcsIDAsIDEyODA0MywgNjk4OTMsIDEwMzYsIDk4MzQ2OSwgCi0gICAgOTI0MTksIDE3MjMsIDEyODA1NiwgNzQyMTcsIDAsIDQxNTc5LCAyNDQ0LCAwLCAxMDcwNSwgNzM4NzYsIDk4MzQ2MSwgCi0gICAgNzQ0ODYsIDk4MzQ1OSwgNzQwLCAxMTkyMjIsIDE5NDk3OCwgMTk0OTg0LCAwLCA0MjM4LCAxMTA3MSwgOTQ1OSwgNjg0MzcsIAorICAgIDUxMywgMCwgNjU4NiwgODY1NiwgMCwgMTIwNzEwLCA2NTAwOCwgMCwgMTk0Nzg0LCAxOTQ5ODksIDE5NDc5NSwgOTgzNDY2LCAKKyAgICA5MjUxNSwgNjg0NzUsIDkzOTczLCAwLCAwLCA3ODYzNywgMTI2NDcsIDAsIDEyODA0MywgNjk4OTMsIDEwMzYsIDk4MzQ3MCwgCisgICAgOTI0MTksIDE3MjMsIDEyODA1NiwgNzQyMTcsIDAsIDQxNTc5LCAyNDQ0LCAwLCAxMDcwNSwgNzM4NzYsIDk4MzQ2MiwgCisgICAgNzQ0ODYsIDk4MzQ2MCwgNzQwLCAxMTkyMjIsIDE5NDk3OCwgMTk0OTg0LCAwLCA0MjM4LCAxMTA3MSwgOTQ1OSwgNjg0MzcsIAogICAgIDc4MTQwLCA3ODEzOSwgMTk0OTg1LCA4MTIxLCAxMDQzOCwgNzQ0ODcsIDQyNTc0LCAxMzI4NSwgNTUyNjMsIDExOTA3LCAKICAgICAxOTUwMDAsIDU2OTAsIDkyMjU1LCA5Mzk5MiwgMCwgNDMxODEsIDEzMDk1LCAwLCAxMjc4NTcsIDY0NDk4LCAwLCA5NTA2LCAKICAgICA2OTc4LCAxOTQ5OTMsIDc3OTkyLCAwLCAwLCAxOTQ5OTIsIDAsIDEyNzg0NSwgMTEyMiwgMzE3LCAwLCAwLCAwLCAwLCAKICAgICAxOTIwLCAwLCAxMDE3MywgODI3LCAwLCAwLCA3ODM3OCwgMTIwMTI2LCA1MjIzLCAxMzA0LCAwLCAxMTk1NjQsIDUyMjYsIAogICAgIDEyNjAyLCA5NDA0NCwgMCwgOTMyOSwgNzc1OCwgOTIzOSwgNDExNzMsIDUyMjQsIDU0ODcsIDEyMjIsIDU2OTIsIDQxNzI1LCAKICAgICA2OTIyOSwgOTY3NCwgNTY5NSwgNDE3MTEsIDY0NjI3LCAxOTkwOSwgMCwgNzQ2MDQsIDU2OTEsIDI4NywgODY2LCAyMzMsIAotICAgIDEyNzQ5MCwgOTgzNDMzLCA0MjgxNiwgOTQwMzYsIDY1MTQwLCA3NDc5NywgMCwgODgzMCwgNjU2OCwgNDIzMDAsIDEwNTI0LCAKLSAgICA0MTE3NSwgOTgzNDQwLCA5ODM0MzcsIDk4MzQzOCwgNTI5NiwgOTgzNDM2LCA0MjQ5MiwgNDM0MDIsIDkyNDY2LCAzMzAyLCAKKyAgICAxMjc0OTAsIDk4MzQzNCwgNDI4MTYsIDk0MDM2LCA2NTE0MCwgNzQ3OTcsIDAsIDg4MzAsIDY1NjgsIDQyMzAwLCAxMDUyNCwgCisgICAgNDExNzUsIDk4MzQ0MSwgOTgzNDM4LCA5ODM0MzksIDUyOTYsIDk4MzQzNywgNDI0OTIsIDQzNDAyLCA5MjQ2NiwgMzMwMiwgCiAgICAgMCwgMCwgNjUxNiwgNjUxNSwgNjUxNCwgNjUxMywgNjUxMiwgMCwgNzg1NiwgODY5MCwgMCwgMCwgMTIxMjIsIDExOTYwMiwgCiAgICAgNDM5NzYsIDAsIDE3ODUsIDY5OTI1LCA2ODYyMiwgNjUxNTMsIDE5NDgxMCwgNTEzOCwgMCwgMCwgMTE4ODY5LCAwLCA0NTQwLCAKICAgICA0MTE4MSwgMCwgNjIwMCwgMCwgNTEzNCwgMCwgMzIyLCA0NjQzLCA1MTMyLCAwLCA2Mzg5LCAxMjg1MzMsIDUxNDMsIDAsIApAQCAtMTkyNzUsMTQgKzE5Mjc3LDE0IEBACiAgICAgNTE5OCwgNDM0OSwgMTAzOTAsIDc0MjAyLCA1MTk2LCA0MzIyNCwgNjExMywgNDIwMDksIDUyMDUsIDAsIDQzMzA3LCAwLCAKICAgICAxMTg5NzMsIDAsIDEyMTM0LCAwLCAwLCAxMTg4NDMsIDkxMjYsIDQzNSwgMCwgMTIwMTQsIDEwMzc3LCA4MDkzLCA5MDc5LCAKICAgICAzMjAzLCAxOTIsIDY1MTA5LCAzMzg1LCAwLCA2NDQzMCwgNTM4MywgMTAyOTQsIDEwMzI2LCAxMjgxNzgsIDU3MzgsIAotICAgIDk4MzIxMywgMzMzNiwgNzgzNTUsIDUzNjEsIDM2MjMsIDQxMTU5LCAwLCA2ODExMiwgNzg3MiwgODU4MSwgMCwgMTI2MCwgCisgICAgOTgzMjE0LCAzMzM2LCA3ODM1NSwgNTM2MSwgMzYyMywgNDExNTksIDAsIDY4MTEyLCA3ODcyLCA4NTgxLCAwLCAxMjYwLCAKICAgICAzMTQ5LCA1MzU5LCAxMjAxMzQsIDAsIDc5MTQsIDUzNTcsIDkyMTcwLCAxMjg2NTksIDI2MjQsIDUzNjQsIDAsIDExNDMxLCAKICAgICAxMjAwMzAsIDkxMDEsIDExMDU4LCA3ODI4OCwgMCwgNzgyOTMsIDQyMjcxLCA3ODI4OSwgNDI5MTcsIDEyMDc5MywgMCwgCiAgICAgNjU1NjYsIDY3MTcsIDEwNjE5LCA0MzM2MCwgNzgzODUsIDc4Mzg0LCAxMTgzMiwgNzgzODIsIDc4MzgxLCA3ODM4MCwgCiAgICAgNzgzNzksIDkzMTksIDcwOTcsIDExOTA1NSwgNzc5MDYsIDMyMzIsIDczODI0LCA3NDU4MSwgMTIwNjMyLCAwLCAwLCAKICAgICA0MTg4OSwgOTI0NTMsIDAsIDExNjEsIDQxODk1LCA3NDEwMywgOTcwMSwgODYyMiwgMCwgMCwgNzM4MTksIDEyMDU4OCwgCiAgICAgNTAxMiwgNzc5MTIsIDQxMzYyLCA2OTg2MiwgNzgyOTYsIDExOTIxLCAwLCAxMTc2OSwgMCwgNjg2MDksIDQxMzY0LCAwLCAKLSAgICA3NDIyOCwgNDEzNTIsIDQxMzYxLCAwLCA0MTM2NiwgMCwgMzM1NiwgMCwgOTE3LCA2ODQyMiwgMTE5OTE1LCA3MTM0LCAKKyAgICA3NDIyOCwgNDEzNTIsIDQxMzYxLCAwLCA0MTM2NiwgMCwgMzM1NiwgMTE2MTEsIDkxNywgNjg0MjIsIDExOTkxNSwgNzEzNCwgCiAgICAgODE5OSwgNzgzODksIDExOTkxNywgNjc3LCAxMTk5MTYsIDAsIDExOTkzMiwgMTI3MTY5LCAwLCAwLCAwLCAzMzQ5LCAKICAgICA3NDEyNSwgNzAyMiwgODkyNywgNDczOSwgMCwgNTgwMiwgMCwgODYxNSwgMCwgMCwgNDkxLCAxMjg4MTksIDEwMTkwLCAKICAgICAxMjA2OTgsIDY1ODM3LCAxMjg4MjAsIDg0MjYsIDExMDkyLCA5ODkxLCAwLCA0MjQ5NywgNzExMywgNzU4NiwgNDIzMDUsIApAQCAtMTkzMjMsNyArMTkzMjUsNyBAQAogICAgIDAsIDc4NjIxLCAxOTQ2NzIsIDY5MjUsIDAsIDAsIDkxNzkyOSwgMCwgMTE1NjgsIDk4MzY2NCwgNDMzNjcsIDY0NTc5LCAKICAgICA5MTc5MzAsIDc4NTIsIDAsIDAsIDY3NTQsIDYzMTIsIDAsIDY0NjcyLCA2NTI5NiwgMCwgMTE4OTU3LCAwLCA0MTYsIAogICAgIDEyMjk2LCA2ODQ1NywgNzM4MzQsIDY4MTc3LCAxMTA1MCwgMTA5ODQsIDkyMjA4LCAwLCAwLCA5MjE4MiwgMCwgOTgzNjA1LCAKLSAgICA5NTMyLCA2NjM1NSwgMCwgOTgzMjI4LCA5MTc5MjUsIDY0MzQzLCAxOTUwMzIsIDEyODI4MSwgMTk1MDMxLCAwLCAxOTUwMzAsIAorICAgIDk1MzIsIDY2MzU1LCAwLCA5ODMyMjksIDkxNzkyNSwgNjQzNDMsIDE5NTAzMiwgMTI4MjgxLCAxOTUwMzEsIDAsIDE5NTAzMCwgCiAgICAgMTk1MDU3LCAxMTQ0NSwgMCwgMjExMiwgMTk1MDU2LCAxMjg4MTQsIDEwMTg1LCAxMDIxLCAxMjgxMzAsIDk1MDcsIDEwMjEwLCAKICAgICA3NDU0NCwgODAyMywgMTIwMCwgMTIyNDMsIDc4MDAxLCA1MjgyLCA3ODAwMywgOTYyNCwgMTE1NDUsIDAsIDEyMDQ5MywgCiAgICAgMzM0MywgNDQyNCwgMTEwNDcsIDE4ODUsIDQzMjY4LCAzODk2LCA3ODQ0NCwgNjY0OTcsIDI5NDcsIDM5MiwgNzg5NCwgCkBAIC0xOTM1OCw0MyArMTkzNjAsNDMgQEAKICAgICA2NjQ1NCwgOTU5MiwgNDI4NTEsIDEyNjk5MywgMTU0MiwgOTIzMDMsIDAsIDAsIDAsIDAsIDc0MzExLCA3ODQ5NywgMCwgCiAgICAgMTAxODEsIDAsIDQzNjI0LCAwLCA3Nzc5LCAwLCAxMDE5NSwgOTQ3OSwgNjAyOSwgMCwgOTIyNjgsIDk2ODksIDAsIDY1NTc3LCAKICAgICA4OTkzLCA2NjM1OCwgMCwgNDIzNzgsIDMzNjgsIDYwNiwgMTI3MDMwLCA3Njk3LCA2OTIzNywgNjk3ODcsIDIwMzAsIDAsIAotICAgIDYwMjcsIDgzNzAsIDQzMjIsIDAsIDY1MjA3LCAwLCA5ODMzMzEsIDk4MzMzMCwgOTgzMzI5LCA5ODMzMjgsIDI3MzUsIAorICAgIDYwMjcsIDgzNzAsIDQzMjIsIDAsIDY1MjA3LCAwLCA5ODMzMzIsIDk4MzMzMSwgOTgzMzMwLCA5ODMzMjksIDI3MzUsIAogICAgIDQyODMxLCA3NzkzNSwgMTI3MTIwLCA3NDg2NiwgODg4MSwgMTE5MDQ3LCAwLCAwLCA3Mzk0NiwgMCwgMCwgMCwgNjgxNDAsIAogICAgIDk4MzkxOSwgOTU3NiwgMTI4ODcyLCAzMzQ3LCA0MTYwLCA1MTU0LCA1NTI4OCwgMzc5NCwgNjY1NjQsIDg1MzAsIDEyNzA2MywgCiAgICAgNzcwOSwgNDExMTIsIDk4MzEzMiwgNjY1NjAsIDQyMDQxLCA0NTcyLCAxMjg3NiwgNjY1NjEsIDk4Mzc0OSwgNjc1OCwgCi0gICAgOTgzOTE3LCAxNjE1LCA1ODU1LCA4MDksIDAsIDkyMjgzLCAxMjgzMTYsIDEyODAwNCwgNTc5OSwgOTgzMzIwLCA3MDEwMCwgCi0gICAgOTgzMzE4LCA3MjYwLCA5ODMzMTYsIDQzMDMxLCA2NDQyNSwgNjUxMjgsIDc4ODE5LCA2NDM4NiwgNjUyNTcsIDAsIDY4NjE2LCAKKyAgICA5ODM5MTcsIDE2MTUsIDU4NTUsIDgwOSwgMCwgOTIyODMsIDEyODMxNiwgMTI4MDA0LCA1Nzk5LCA5ODMzMjEsIDcwMTAwLCAKKyAgICA5ODMzMTksIDcyNjAsIDk4MzMxNywgNDMwMzEsIDY0NDI1LCA2NTEyOCwgNzg4MTksIDY0Mzg2LCA2NTI1NywgMCwgNjg2MTYsIAogICAgIDEyMDYwNywgOTM0NywgMTI4MDY3LCA2NTMyLCAwLCAwLCAwLCAxMjcwNjAsIDY1ODI4LCAwLCAyODMsIDY4NjY1LCA3ODgxMywgCiAgICAgNTMyLCA3ODY2MywgMCwgOTgzNzg3LCAxMjA2MDksIDAsIDMzNzAsIDAsIDExMzYxLCA1NDQzLCA3ODc3OCwgODE1MywgCi0gICAgNzM3NjcsIDAsIDEwNzQxLCAwLCAyMjk4LCAwLCA5ODM5MDgsIDY1NDk1LCA2NDcwNiwgOTgzMzEwLCA0MzM0NCwgOTgzMzA4LCAKLSAgICA3MTQ0LCA5NDY2LCA3ODg2NiwgOTgyNCwgOTgzMzAzLCA5ODMzMDIsIDAsIDAsIDkxNSwgNDM0MjUsIDAsIDAsIDAsIDAsIAorICAgIDczNzY3LCAwLCAxMDc0MSwgMCwgMjI5OCwgMCwgOTgzOTA4LCA2NTQ5NSwgNjQ3MDYsIDk4MzMxMSwgNDMzNDQsIDk4MzMwOSwgCisgICAgNzE0NCwgOTQ2NiwgNzg4NjYsIDk4MjQsIDk4MzMwNCwgOTgzMzAzLCAwLCAwLCA5MTUsIDQzNDI1LCAwLCAwLCAwLCAwLCAKICAgICAxMjcxNzgsIDQzMjY0LCA3MDA5NiwgMCwgMCwgNDMwMzgsIDc4ODY0LCA2NzMwLCA3ODg2MiwgNjgxNjEsIDY0NTUwLCAKICAgICA1MTg2LCA3MzYwLCAxMjc4MzcsIDAsIDEyMTA4LCAwLCA2NTEyNCwgNDMxMjcsIDY2MDQzLCAwLCA2MzI2LCA0MzEwNywgCi0gICAgNzc4MjYsIDAsIDQyNTYyLCAwLCAxMjg4MjEsIDAsIDEyODUyMCwgMTE0ODUsIDYxMDMsIDEyNzEyMywgOTgzMjk3LCAKLSAgICAxMTcxOCwgOTgzMjk1LCAxMjg4OSwgOTI2NTcsIDEyNzEzNywgMCwgMCwgMCwgNTUyNDUsIDAsIDE2MzAsIDEyODIzMiwgCisgICAgNzc4MjYsIDAsIDQyNTYyLCAwLCAxMjg4MjEsIDAsIDEyODUyMCwgMTE0ODUsIDYxMDMsIDEyNzEyMywgOTgzMjk4LCAKKyAgICAxMTcxOCwgOTgzMjk2LCAxMjg4OSwgOTI2NTcsIDEyNzEzNywgMCwgMCwgMCwgNTUyNDUsIDAsIDE2MzAsIDEyODIzMiwgCiAgICAgNjU0ODMsIDAsIDEyNTY1LCAwLCA2NTQ3NiwgMTIwMDEzLCAwLCAxMTk1NTQsIDkyODMsIDc3MDAsIDkxNzUzNywgOTY5MCwgCiAgICAgNjU0OTksIDAsIDY0NTkzLCA1MTIsIDMzNzYsIDY4MjEwLCAwLCAxMjg2NzcsIDc3ODkyLCA2MzIsIDEyOTQwLCA3Nzg5MSwgCi0gICAgNDI1MjksIDc4NTg3LCAwLCA1OTU3LCAxMTA1OTMsIDg5MjYsIDk4MzI5MSwgOTgzMjkwLCAxMjgyNzMsIDEwNzQ1LCAKKyAgICA0MjUyOSwgNzg1ODcsIDAsIDU5NTcsIDExMDU5MywgODkyNiwgOTgzMjkyLCA5ODMyOTEsIDEyODI3MywgMTA3NDUsIAogICAgIDEwMTc0LCA3Mzc5LCA2NDU4MSwgNTM4NiwgMTIwNjg2LCAxMTcxMywgMTA2MzMsIDY5NzA4LCA1MDU2LCAwLCAwLCAwLCAKICAgICAxMjA3NzMsIDAsIDk4MTIsIDAsIDQ0NjAsIDAsIDAsIDcxMzA3LCAxMjgwMzgsIDAsIDAsIDEyNzE3NCwgNjQyNzgsIAogICAgIDkyMzcwLCA0MzQ2NiwgMCwgMCwgNjQzODksIDI5NTMsIDczODc5LCAxODAxLCAxMjgzNSwgMTE5MDI5LCAwLCA3MzgyMywgMCwgCi0gICAgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA5ODMyNzgsIDk4MzI3NywgCi0gICAgMTI4NTcwLCAxMjEwNiwgOTgzMjc0LCA3NDIwNywgMTc1NSwgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgCisgICAgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA5ODMyNzksIDk4MzI3OCwgCisgICAgMTI4NTcwLCAxMjEwNiwgOTgzMjc1LCA3NDIwNywgMTc1NSwgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgCiAgICAgOTUyMiwgNzQwNzksIDc4MjY2LCA2NjYwNCwgMCwgMzM4NCwgNjkyMjcsIDEwNzAyLCA4MzAsIDc3OTAyLCA3Nzg5OSwgCiAgICAgNzc5MDAsIDg0NTEsIDAsIDAsIDAsIDY5NzM5LCAwLCAwLCAwLCAwLCAyOTA4LCAwLCA0MzM4NiwgNjQ5MDIsIDQyNDMsIDAsIAotICAgIDEyMjM5LCAwLCAwLCA0NDQxLCAwLCA5ODMyNzEsIDczOTQwLCA2NDM1MiwgMTI3NTEzLCA5ODMyNjcsIDQxMSwgOTgzMjY1LCAKLSAgICA5MTk5LCA5ODMyNjMsIDQwNTYsIDExODk5MiwgNDE4OTAsIDAsIDI3MzAsIDQxNjA0LCA5ODM5MjgsIDU0MjgsIDE5NDc0MywgCisgICAgMTIyMzksIDAsIDAsIDQ0NDEsIDAsIDk4MzI3MiwgNzM5NDAsIDY0MzUyLCAxMjc1MTMsIDk4MzI2OCwgNDExLCA5ODMyNjYsIAorICAgIDkxOTksIDk4MzI2NCwgNDA1NiwgMTE4OTkyLCA0MTg5MCwgMCwgMjczMCwgNDE2MDQsIDk4MzkyOCwgNTQyOCwgMTk0NzQzLCAKICAgICAzMzY0LCA0MjI2NSwgNjQ0MzcsIDEyNzkzNSwgMTE4ODE2LCAxOTQ3NDIsIDk2ODQsIDIxNiwgMCwgMTQwMSwgMTI4MDUzLCAKICAgICA0NDAxMiwgMCwgMCwgOTI1ODUsIDkxNTgsIDc3ODQyLCA2OTkwNSwgNTc2OCwgMCwgMCwgMCwgNDg0LCAxOTQ3MzksIDAsIDAsIAotICAgIDY1ODk1LCAwLCAwLCAzMzM4LCA3MzkzNSwgNTcyLCA3MDQxLCAyNzM2LCA2NzYwNSwgOTgzMjU1LCA5Mzk2MiwgMjc5NCwgCisgICAgNjU4OTUsIDAsIDAsIDMzMzgsIDczOTM1LCA1NzIsIDcwNDEsIDI3MzYsIDY3NjA1LCA5ODMyNTYsIDkzOTYyLCAyNzk0LCAKICAgICA4ODA3LCA2NDQ5MSwgNzc4NDcsIDU0MzgsIDUyMjIsIDUzODEsIDQzMTE0LCAwLCA1MTkzLCA1MTI1LCA1NDU2LCA1NTA5LCAKICAgICA3Nzg0NiwgMTk0NzQ3LCA5NTM0LCAwLCAwLCAwLCAzNDMwLCAwLCAwLCA3ODcxNywgMCwgOTgxLCAwLCA0MzMwLCA3MzkyOSwgCiAgICAgMTIwNTM2LCAxODI0LCAxMDkwOCwgMCwgNzAzNCwgNDE2ODMsIDY0NjE3LCAwLCA3Mzc1NCwgMzk1NywgNjQzNTgsIDY0NTQ3LCAKLSAgICAxMjgyNTksIDY3NCwgNjM5OTEsIDk4MzI0MywgMjk0NiwgNTM1NCwgNTI1MSwgNTMyOCwgNTMwNywgMzc1OSwgMTE0MTEsIAorICAgIDEyODI1OSwgNjc0LCA2Mzk5MSwgOTgzMjQ0LCAyOTQ2LCA1MzU0LCA1MjUxLCA1MzI4LCA1MzA3LCAzNzU5LCAxMTQxMSwgCiAgICAgODM2NCwgNTEyMywgMTE5NjI4LCA1MjgxLCA1NDY5LCA1MTIxLCAxMTkyNDUsIDExODk5MywgMCwgNTEzMCwgMCwgMCwgCiAgICAgNzc5OTAsIDAsIDEyMDcyNiwgMTIyMSwgMjczMywgMTE3NDYsIDc3OTkxLCA1MjE2LCAwLCAwLCAwLCAwLCAzNDY4LCA3MDMzLCAKICAgICA5MjMwLCA1OTM5LCAxOTUwNTIsIDAsIDAsIDEyMDY3NywgNjg0MDAsIDcyNzgsIDEwMzIxLCAxMDI4OSwgNjQ2MTMsIAotICAgIDEwMzg1LCA0MTcwNiwgMCwgMCwgOTgzNDA1LCAwLCAxMTczOSwgOTgzNDE4LCA0MTk4MSwgMCwgNTkzOCwgMCwgNDM3NjYsIAorICAgIDEwMzg1LCA0MTcwNiwgMCwgMCwgOTgzNDA2LCAwLCAxMTczOSwgOTgzNDE5LCA0MTk4MSwgMCwgNTkzOCwgMCwgNDM3NjYsIAogICAgIDEyNDQ4LCA3NTc2LCAxMDQwMSwgMTAzMzcsIDczODUyLCAwLCAxMzA1NywgMCwgMTI2OTc2LCAwLCAxMDAwOSwgMCwgCiAgICAgNDE3MDMsIDk4MzYyOSwgMTIxNjUsIDAsIDAsIDk4ODUsIDAsIDgwNzcsIDAsIDEyNzkwOCwgMCwgMCwgMCwgOTI0NTcsIDAsIAogICAgIDQyMjAsIDEwNzI1LCAxMDQzMywgMCwgNjgzOTUsIDQ5ODcsIDY0NTE5LCAwLCAxMjgzNDAsIDAsIDAsIDAsIDEwOTcwLCAKQEAgLTE5NDA2LDUzICsxOTQwOCw1MyBAQAogICAgIDAsIDQ0NzcsIDExODk2NCwgODE0LCA0MjA2NiwgNjYxODMsIDY2MjA0LCA0Mzc4NiwgMTE5OTYxLCA2NjE5OCwgNDE4ODAsIAogICAgIDY2MTg4LCAxMTYyMywgNzgxNDgsIDExOTU1LCA2NjE5MCwgNjYxOTEsIDQxMTExLCA2NjE4OSwgNzM3ODgsIDc3ODgsIAogICAgIDQ4NDcsIDAsIDEyNzc1OSwgMCwgMCwgMCwgMTU4MSwgNjUzNSwgNzgxNjEsIDEyOTU0LCA0MzAsIDc4MTYwLCA1NTI1OSwgCi0gICAgNzgxNTgsIDEyODAzNiwgNTI3OCwgNDk0NSwgNDI4ODMsIDQ5NTAsIDk4MzQzMCwgNjg2MjUsIDk4MzQyOCwgNzI2OSwgMCwgCi0gICAgNTk2NCwgMTI5MDgsIDk4MzU1NSwgMCwgNzQ3NjQsIDc0NDc3LCAxMTkxNDYsIDE5NDkzNiwgNDk0OSwgOTgzNDIxLCA0NDMsIAotICAgIDk4MzQxOSwgNDk0NCwgNTQ2NywgMTE5NjAzLCAwLCA2NTEzNywgNjA0NCwgNjUzOTIsIDAsIDQyMTMsIDAsIDQxMzAzLCAwLCAKKyAgICA3ODE1OCwgMTI4MDM2LCA1Mjc4LCA0OTQ1LCA0Mjg4MywgNDk1MCwgOTgzNDMxLCA2ODYyNSwgOTgzNDI5LCA3MjY5LCAwLCAKKyAgICA1OTY0LCAxMjkwOCwgOTgzNTU1LCAwLCA3NDc2NCwgNzQ0NzcsIDExOTE0NiwgMTk0OTM2LCA0OTQ5LCA5ODM0MjIsIDQ0MywgCisgICAgOTgzNDIwLCA0OTQ0LCA1NDY3LCAxMTk2MDMsIDAsIDY1MTM3LCA2MDQ0LCA2NTM5MiwgMCwgNDIxMywgMCwgNDEzMDMsIDAsIAogICAgIDE5NDkzMSwgMTE5OTYyLCA0MTMwNiwgNzM5ODQsIDI2OTgsIDEyNzE1OSwgMCwgMTIwNzIsIDMxOTMsIDAsIDQxMzA0LCAKICAgICA4MjQsIDEyODY3NiwgMTIwOTEsIDc4ODkzLCA3ODg5NCwgMTE5ODE2LCA0NjczLCA2NDgwNCwgNDY3OCwgMTE5ODIwLCAKICAgICAxMTk4MTksIDY1MDU5LCAwLCA2NzM5LCAwLCA1NDgxLCAzNDkwLCAxMTk5LCAxMTk4MTEsIDgzNTYsIDY5OTQ3LCAxMTk4MzIsIAogICAgIDQ2NzcsIDEyNjg4LCAzMTAyLCAwLCA0NjcyLCA3ODE3MywgNzgxNzUsIDU1MzEsIDY4MzY3LCA0MjU3NSwgNzgxNzAsIAogICAgIDc4MTY2LCA0Njc0LCA0NTQ4LCA0NDAwNSwgMTE5OTQ5LCA2ODY1OCwgMTE5OTQ2LCA4MDI1LCA2ODYzMCwgMTI3MDI0LCAKLSAgICAxODU1LCA5ODM0MDQsIDY4NjY5LCA5ODM0MDIsIDkyNDQ1LCAxMjc1NTQsIDAsIDEyNzMzOSwgMTE5NjUyLCAyNzQ1LCAKLSAgICAxMTc5NywgOTgzNDEwLCAxMjgxNTksIDkyMDIsIDQ2NTQsIDk4MzQwNiwgOTgzNDA4LCA2ODYzOCwgNzM5OTMsIDEwNTI1LCAKLSAgICA0NjQ5LCA2NTIwOSwgOTgzNDA5LCAwLCA0NjQ4LCA0MzA4MCwgOTgzMzk4LCA5ODMzOTksIDk4MzM5NiwgNjI0NiwgNjQ5NTAsIAorICAgIDE4NTUsIDk4MzQwNSwgNjg2NjksIDk4MzQwMywgOTI0NDUsIDEyNzU1NCwgMCwgMTI3MzM5LCAxMTk2NTIsIDI3NDUsIAorICAgIDExNzk3LCA5ODM0MTEsIDEyODE1OSwgOTIwMiwgNDY1NCwgOTgzNDA3LCA5ODM0MDksIDY4NjM4LCA3Mzk5MywgMTA1MjUsIAorICAgIDQ2NDksIDY1MjA5LCA5ODM0MTAsIDAsIDQ2NDgsIDQzMDgwLCA5ODMzOTksIDk4MzQwMCwgOTgzMzk3LCA2MjQ2LCA2NDk1MCwgCiAgICAgNzgyOCwgNDY1MCwgNjc3NywgNjc3NiwgNjc3NSwgNDY1MywgNzgyMiwgNzgwMDUsIDkyMzg0LCA0MzE4NywgODY2OSwgCi0gICAgOTgzNDA3LCA2ODIxLCA2NTA5MywgMCwgNzg4ODEsIDI3MTYsIDAsIDk4MzA2MCwgOTgzNDExLCAwLCA2ODM2OSwgMTIwMDU0LCAKKyAgICA5ODM0MDgsIDY4MjEsIDY1MDkzLCAwLCA3ODg4MSwgMjcxNiwgMCwgOTgzMDYwLCA5ODM0MTIsIDAsIDY4MzY5LCAxMjAwNTQsIAogICAgIDExMDYwLCA4NTQ3LCAyNzExLCA0MjE2NSwgNzgwMjcsIDc4MDI2LCA3OTkyLCAwLCAwLCA0NjYyLCA3ODAzMywgNzgwMzIsIAogICAgIDkxNDksIDkxNDYsIDU5OSwgMjA4MSwgNzgwMzEsIDc4MDMwLCAxOTQ5NjIsIDQ2NTYsIDEwMTMwLCA2ODQ1MCwgNzgxMSwgCi0gICAgNDA5OTQsIDE5NDk2NSwgNjQxNCwgNTk2NywgNDY1OCwgMzcyNSwgNTcxMywgNTgxNCwgNDY2MSwgNDI0MzQsIDk4MzQwMywgCisgICAgNDA5OTQsIDE5NDk2NSwgNjQxNCwgNTk2NywgNDY1OCwgMzcyNSwgNTcxMywgNTgxNCwgNDY2MSwgNDI0MzQsIDk4MzQwNCwgCiAgICAgMCwgMCwgNjQ5MDQsIDkwMjYsIDEwODMzLCA3NDg2NCwgNzU0NywgNDg2NywgMCwgMTAwMDgsIDEwMjIyLCAzMDU0LCAKLSAgICAxOTQ5NTYsIDk3NDQsIDc4ODYwLCA3NjA1LCA0NjIyLCAxMTk2NTYsIDk4MzM4NywgOTQwNzAsIDk4MzM4NSwgOTgzMzg2LCAKLSAgICA5ODMzODMsIDkwNDUsIDc4ODg4LCA0MjI1LCAxOTkyNiwgNzg4ODcsIDEyODgwLCA2NTMwNywgNDYxNywgNzg4ODMsIAotICAgIDk4MzM3OCwgNDE3MzIsIDQ2MTYsIDEwNTE4LCAxMDQyMywgMTAzNTksIDk4MzM3MiwgNTk1OCwgMCwgOTgzNDI1LCA0MjE1LCAKLSAgICA5Nzg5LCA5MTc5NDEsIDQzMjEsIDQ2MjEsIDk4MzM4MSwgNDEzMTMsIDUyMiwgNTM2OCwgMCwgNjU4MDMsIDAsIDUzNjYsIAotICAgIDEyMjAxLCA1MzcyLCAwLCA5ODM0MDEsIDAsIDc3MjAsIDczOTAsIDI2OTYsIDk4MzM5MiwgMCwgNDYzOCwgOTgzMzk3LCAKKyAgICAxOTQ5NTYsIDk3NDQsIDc4ODYwLCA3NjA1LCA0NjIyLCAxMTk2NTYsIDk4MzM4OCwgOTQwNzAsIDk4MzM4NiwgOTgzMzg3LCAKKyAgICA5ODMzODQsIDkwNDUsIDc4ODg4LCA0MjI1LCAxOTkyNiwgNzg4ODcsIDEyODgwLCA2NTMwNywgNDYxNywgNzg4ODMsIAorICAgIDk4MzM3OSwgNDE3MzIsIDQ2MTYsIDEwNTE4LCAxMDQyMywgMTAzNTksIDk4MzM3MywgNTk1OCwgMCwgOTgzNDI2LCA0MjE1LCAKKyAgICA5Nzg5LCA5MTc5NDEsIDQzMjEsIDQ2MjEsIDk4MzM4MiwgNDEzMTMsIDUyMiwgNTM2OCwgMCwgNjU4MDMsIDAsIDUzNjYsIAorICAgIDEyMjAxLCA1MzcyLCAwLCA5ODM0MDIsIDAsIDc3MjAsIDczOTAsIDI2OTYsIDk4MzM5MywgMCwgNDYzOCwgOTgzMzk4LCAKICAgICAxNzkwLCA3ODI0MiwgNTk2NSwgNjQzNjMsIDY2NTY5LCA2ODY0NiwgMTI3ODMzLCA1Mzc2LCAxODM1LCA1MzM1LCAxOTQ5NjYsIAogICAgIDEyODA4OSwgNDYzMywgMCwgNjgxMTksIDExODAsIDQ2MzIsIDEyODA5MywgNTM4NywgNTMzMywgMCwgMCwgNDIwOTQsIAogICAgIDUzMzEsIDQ2MzQsIDExOTI4LCA5ODM1OTQsIDUzMzgsIDQ2MzcsIDEyODE3MCwgNTk3MSwgNDI0MTQsIDAsIDEyNjgsIAogICAgIDY1MDk3LCA0MjM2MSwgMCwgMCwgNzM4NTMsIDE0MjcsIDAsIDAsIDU5NzAsIDM0MzEsIDAsIDEwMzU4LCAxMDQyMiwgNDc1OCwgCi0gICAgOTgzMzY2LCAxNjA4LCAyNzM4LCAwLCAxMDQ1NSwgNDc1MywgNzQwMjYsIDExMzQ0LCA0MjIyLCA2MjQwLCA1MjMxLCAKLSAgICA3NDM4NCwgOTgzMzcwLCA2ODM3NywgNjI0OCwgOTgzMzU0LCA5ODMzNTUsIDk4MzM1MiwgNDIzMTgsIDkyNTgyLCA1MjI5LCAKKyAgICA5ODMzNjcsIDE2MDgsIDI3MzgsIDAsIDEwNDU1LCA0NzUzLCA3NDAyNiwgMTEzNDQsIDQyMjIsIDYyNDAsIDUyMzEsIAorICAgIDc0Mzg0LCA5ODMzNzEsIDY4Mzc3LCA2MjQ4LCA5ODMzNTUsIDk4MzM1NiwgOTgzMzUzLCA0MjMxOCwgOTI1ODIsIDUyMjksIAogICAgIDQ3NTcsIDAsIDAsIDI3MjgsIDQ3NTIsIDY0NTYzLCA2NTIzNSwgNTIzNCwgMCwgMTI4MTQ1LCAwLCAxMDcxMywgNzE2NiwgMCwgCiAgICAgMjYyMiwgNzQ2MCwgMTI3MzAyLCAwLCAwLCA4OTU0LCA3NDc2MCwgNjUxODksIDI2MzIsIDQyNjE3LCAxMDEwOCwgMTAxMSwgCiAgICAgNTU3NCwgMTg1MywgMjcwOSwgNjUxMzksIDU1NzcsIDAsIDAsIDExODg3MSwgNjg2NDEsIDg5NjUsIDc2MzUsIDQyMTc3LCAKLSAgICA1MzE2LCAwLCA1MzE0LCA2NDUxLCA1NTcyLCA2NjQ2NCwgNTMxMiwgMCwgNTUyNSwgNTMzMCwgNTMxOSwgOTgzNDEyLCAKLSAgICA5ODM4NjMsIDE5NDkwNywgNDQwMDMsIDAsIDk4MzQ3MiwgOTgzNDE1LCAxMjA0OTgsIDEyNzg1MSwgMTk1MDA5LCA5ODM4NTYsIAotICAgIDc0MDIyLCA5ODM0MTQsIDY0NjA5LCA2ODY0MywgMTIwNjM0LCA5ODM0ODEsIDU3MjEsIDk4MzM5MywgNTUxOSwgODYzMiwgCi0gICAgNjY0NjUsIDExMjY3LCA3Mzk2MSwgOTIyNzgsIDU3MjAsIDk4MzM0NCwgMTY5MiwgNDIxOSwgNDYxMCwgODY5NiwgNDMwNSwgCi0gICAgMCwgNDYwOSwgNDM0NzgsIDQ2MTQsIDU0MSwgOTgzMzQ3LCA1Mjg3LCA1MzA5LCA1Mjg1LCA2ODM4OSwgNTk2MSwgNDY0NywgCi0gICAgNTYsIDQyMTYsIDEwNTc3LCA0MTM4MSwgNjAxLCA0NjEzLCA5ODMzNDEsIDk4MzMzOCwgNzc4NDksIDQ2MDgsIDY0MjYwLCAKKyAgICA1MzE2LCAwLCA1MzE0LCA2NDUxLCA1NTcyLCA2NjQ2NCwgNTMxMiwgMCwgNTUyNSwgNTMzMCwgNTMxOSwgOTgzNDEzLCAKKyAgICA5ODM4NjMsIDE5NDkwNywgNDQwMDMsIDAsIDk4MzQ3MywgOTgzNDE2LCAxMjA0OTgsIDEyNzg1MSwgMTk1MDA5LCA5ODM4NTYsIAorICAgIDc0MDIyLCA5ODM0MTUsIDY0NjA5LCA2ODY0MywgMTIwNjM0LCA5ODM0ODIsIDU3MjEsIDk4MzM5NCwgNTUxOSwgODYzMiwgCisgICAgNjY0NjUsIDExMjY3LCA3Mzk2MSwgOTIyNzgsIDU3MjAsIDk4MzM0NSwgMTY5MiwgNDIxOSwgNDYxMCwgODY5NiwgNDMwNSwgCisgICAgMCwgNDYwOSwgNDM0NzgsIDQ2MTQsIDU0MSwgOTgzMzQ4LCA1Mjg3LCA1MzA5LCA1Mjg1LCA2ODM4OSwgNTk2MSwgNDY0NywgCisgICAgNTYsIDQyMTYsIDEwNTc3LCA0MTM4MSwgNjAxLCA0NjEzLCA5ODMzNDIsIDk4MzMzOSwgNzc4NDksIDQ2MDgsIDY0MjYwLCAKICAgICA0MTEyNCwgNTE5MCwgNjc2MjgsIDAsIDY4MTQ1LCA3MDg2LCAwLCA2Nzk5OCwgNjc2MjAsIDAsIDI3MzQsIDExMDc0LCAwLCAKICAgICA2NzYyNywgNDM1OTMsIDAsIDY3NjI1LCA1OTYwLCAwLCA4OTkyLCA0MjU5MywgMTI4MjYwLCAxNzgyLCA2NzYyMiwgNjgxMTQsIAogICAgIDExOTkzOSwgMCwgNjgxODAsIDU1MDEsIDExOTk1MiwgNDI1MDgsIDc0NDIsIDQzNjY1LCAzNTksIDQxMjUzLCA2ODM5MiwgCiAgICAgNjIzOSwgMTE5OTU2LCA0MTI1NiwgMCwgNjgxMzQsIDAsIDc0MjA5LCA5MTc1NTAsIDkzNDYsIDY5NjYwLCA0MTI1NCwgCiAgICAgMTI4MDQ3LCA0MzI5MSwgMzc2NywgNTczNywgMCwgNDg2NSwgMCwgNTc0MCwgOTE3OTk3LCA1NzM2LCA0MzY4LCA2NDcyNCwgCiAgICAgNzE5MywgNjgxMzcsIDAsIDU3MzksIDQxMDI0LCA0ODY2LCAwLCA3MzkwNCwgOTgzODMxLCA0ODY5LCAxMjA1NjMsIDAsIAotICAgIDQyMjMsIDEyODIwMSwgNjY1MCwgMTI2NTA5LCAwLCA5ODM0NTUsIDEyNzg5MCwgNDg3MCwgMTIwNDQ1LCA2ODY2MSwgNjcxNiwgCisgICAgNDIyMywgMTI4MjAxLCA2NjUwLCAxMjY1MDksIDAsIDk4MzQ1NiwgMTI3ODkwLCA0ODcwLCAxMjA0NDUsIDY4NjYxLCA2NzE2LCAKICAgICA3ODE3NiwgNjg2NjcsIDY4MzgyLCA2ODY3NiwgMTI3OTI1LCAxMDEyMiwgNDg2NCwgNjY1NjgsIDQxNDQsIDc5MzcsIDAsIAogICAgIDYyNDUsIDY4NjUyLCAyNzMyLCA0MjczNCwgNzQ1LCAwLCAxOTUwOTcsIDkyMTk1LCA0Nzc3LCA3ODIxLCAwLCA2ODYzMSwgCi0gICAgNDI3NzUsIDAsIDE5NDk1NCwgMCwgMzA5NywgMCwgNTk2NiwgOTgzNDc4LCA0Nzc4LCAwLCAxMDg2MywgMCwgNDc4MSwgMCwgCisgICAgNDI3NzUsIDAsIDE5NDk1NCwgMCwgMzA5NywgMCwgNTk2NiwgOTgzNDc5LCA0Nzc4LCAwLCAxMDg2MywgMCwgNDc4MSwgMCwgCiAgICAgNjQ0MDcsIDAsIDEyODMyMywgODU3NywgMTI4NTYyLCA2ODE5NiwgNDMyODUsIDEwMjE2LCA0NzgyLCAwLCAwLCAxMjA3NTcsIAogICAgIDY4NjE4LCAxMjMyNSwgNDMwNTYsIDg3MTcsIDAsIDAsIDQ3NzYsIDczODE4LCAxMTQ5MiwgODcwMCwgMCwgMTMxNzYsIAogICAgIDY4MzYzLCAxMDQyNiwgMCwgOTE3NTk5LCAxMDM2MiwgMTk0NzA2LCAxNzE1LCA0ODQ5LCA4MjQyLCA5NTYxLCA3MzkyMiwgCkBAIC0xOTQ2MCwxOSArMTk0NjIsMTkgQEAKICAgICA0ODU0LCAxMjc5MTgsIDUxNjQsIDk4Mzg2MSwgMTM1MCwgNTEyNCwgNjQ0MjAsIDE5OTMsIDUzNjIsIDg0NzEsIDI3MDgsIAogICAgIDkyNDcxLCAxMjQ0NSwgMzc4NSwgMjM0LCAzMTk5LCAwLCA0MTI2OCwgNDg0OCwgMjUzMCwgOTE3OTA5LCAyMDY4LCAxOTY0LCAKICAgICAwLCA3Mzc2MiwgMTA0NTgsIDAsIDg1NzYsIDc4NTQzLCAwLCAyNzA0LCA0Nzk0LCAwLCA2ODIxMSwgODMyMiwgNDc5NywgCi0gICAgNTc1MywgMCwgMjY5NCwgNDc5MiwgMCwgMjQzOSwgNjUxMDQsIDY5ODA0LCA5ODM0MTYsIDMwMywgOTgzMTAxLCA5MjYyMiwgCi0gICAgOTgzNDE3LCAyNDM3LCAwLCA0MjIxLCA0ODQ0LCA5MjIxNiwgMCwgMCwgMCwgNzAwNDIsIDAsIDQzMjkyLCAwLCAyNDQxLCAKKyAgICA1NzUzLCAwLCAyNjk0LCA0NzkyLCAwLCAyNDM5LCA2NTEwNCwgNjk4MDQsIDk4MzQxNywgMzAzLCA5ODMxMDEsIDkyNjIyLCAKKyAgICA5ODM0MTgsIDI0MzcsIDAsIDQyMjEsIDQ4NDQsIDkyMjE2LCAwLCAwLCAwLCA3MDA0MiwgMCwgNDMyOTIsIDAsIDI0NDEsIAogICAgIDEwNzM5LCA2NTA5MCwgMCwgMTE5MzI3LCAxMjY1NDEsIDI0NTEsIDI3MTQsIDExOTMyNiwgMCwgNDMzNzksIDQ5MzcsIAogICAgIDQzMzc2LCA3NTMsIDU4NDksIDEwNTk3LCA0MzA4OSwgMTE3MjIsIDkyNDgsIDkyNTU1LCA0Mjg3OSwgMTE3MjUsIDAsIDAsIAogICAgIDI3MjYsIDMxMDcsIDczOTU4LCA0OTQxLCA2NDkzNywgMTE5MjMzLCA5MTQwLCAxNDA4LCA1MjYxLCA0NjA3LCAwLCAxODEsIAotICAgIDk4MzQyMiwgNDk0MiwgOTUzOSwgNDkzOCwgMCwgNjUyMDEsIDUyNTksIDkzNjksIDY0MTg1LCA0MTQyLCA1MjU3LCAKKyAgICA5ODM0MjMsIDQ5NDIsIDk1MzksIDQ5MzgsIDAsIDY1MjAxLCA1MjU5LCA5MzY5LCA2NDE4NSwgNDE0MiwgNTI1NywgCiAgICAgOTgzNjAxLCAwLCA0OTY0LCA1MjY0LCA2NDE3OCwgNjQxNzcsIDEyOTc5LCA0MTQxMSwgNjQxODIsIDY0MTgxLCA2NDE4MCwgCiAgICAgNjQxNzksIDk0ODIsIDQ4NzMsIDQxMjMxLCAxODIyLCA0MjUyNiwgMTI4NTgxLCAxMjc1OCwgMzg2NSwgMCwgMCwgMTA1MDAsIAogICAgIDAsIDExOTAyNCwgNzgwMjgsIDkyNDA4LCA5ODMwLCA0MzY0MiwgMzg5LCAxMDg5MywgNzUyMSwgMTI3ODc5LCA0ODcyLCAKICAgICA1NDYzLCAwLCAzMTI1LCA5NTY3LCAwLCA0ODc4LCA1NDU5LCA0NjA0LCA5MTc5MzEsIDk1NTcsIDU0NjUsIDY4NjE3LCAwLCAKLSAgICAxMTQ5NCwgMTI2NDkyLCA5NTYzLCAxMDg2NSwgNzQ1NzAsIDQzMjc5LCA2NDE4NiwgOTgzNDMxLCA3ODcxNCwgNjQxOTEsIAorICAgIDExNDk0LCAxMjY0OTIsIDk1NjMsIDEwODY1LCA3NDU3MCwgNDMyNzksIDY0MTg2LCA5ODM0MzIsIDc4NzE0LCA2NDE5MSwgCiAgICAgNjQxOTAsIDg4OTgsIDY0MTg4LCAwLCA0MTAzMCwgNzg4MzYsIDAsIDkxNzgzNSwgNzg4MjAsIDkxNzgzNCwgMCwgNzg4MDUsIAotICAgIDQxMDMxLCA3ODgwMSwgMTE5NjAsIDY3NDUsIDMwODIsIDk4MzQyOSwgNzg1MzksIDczOTE5LCAxMDU3MywgNDE3NDQsIAorICAgIDQxMDMxLCA3ODgwMSwgMTE5NjAsIDY3NDUsIDMwODIsIDk4MzQzMCwgNzg1MzksIDczOTE5LCAxMDU3MywgNDE3NDQsIAogICAgIDcwNzksIDU4NTYsIDEyNzA0MywgNTE2MywgNzg4MDksIDEyODE2MiwgMTgxNywgNjY3MjQsIDc4NTM4LCAwLCAxMDU2NCwgCiAgICAgNzc2MywgMTMwNzcsIDQxODEzLCA0NDAwLCA0MTc0NSwgNjQyMDcsIDEwMjc1LCA4OTI1LCAxMDM3MSwgMTAzMDcsIDQxODE0LCAKICAgICA0MjQ4LCAwLCAwLCA0NTQxLCA2Mjk5LCA2NDIwNCwgNjQyMDMsIDY0MjAxLCA2NDIwMCwgNjQxOTksIDY0MTk4LCAxMjY0NzEsIApAQCAtMTk0ODgsMzAgKzE5NDkwLDMwIEBACiAgICAgMzkzMywgNzQ1NTksIDQ3NDAsIDc5NTQsIDAsIDAsIDQyNjA5LCAwLCA3NDE3NSwgMCwgMTI3MDE2LCAwLCA5ODM4NjQsIAogICAgIDQyMTMwLCAwLCA1MTUxLCA5MTc4MjksIDkxNzgyMywgMCwgOTM5ODAsIDAsIDc2MjAsIDM4MDAsIDY1MTIyLCAwLCAwLCAKICAgICA4MzU1LCA3ODU0LCAwLCA5NTQsIDY0OTI3LCA0MTg1LCA0MTA0NSwgMTI3MTQxLCA0MTQzOCwgNDE0MzksIDY4NjY2LCAKLSAgICAxMDcxMSwgNDU5MywgMTI3NzQ1LCAxMjA1ODQsIDk4MzQwMCwgNjQ3NzQsIDgwNTMsIDEwNTMyLCA2NjcyNywgMCwgMCwgMCwgCisgICAgMTA3MTEsIDQ1OTMsIDEyNzc0NSwgMTIwNTg0LCA5ODM0MDEsIDY0Nzc0LCA4MDUzLCAxMDUzMiwgNjY3MjcsIDAsIDAsIDAsIAogICAgIDY0NzU5LCA2MzgxLCA1MTY2LCA5ODg4LCAxMjc4MDAsIDUxNDgsIDQyODM0LCAwLCA3ODIwNSwgNzgyMDYsIDQzNzg3LCAKICAgICA3ODIwNCwgNjQxMzEsIDMxMTksIDkxNzgxNCwgMCwgMzA2MCwgNjQxMzUsIDk5ODYsIDAsIDc3ODc2LCA2MzYsIDExNjk4LCAKLSAgICAwLCA5ODM0NDMsIDk5MTYsIDExNzAxLCA3ODM2LCA0Mjc0MSwgNjQxMzcsIDgzMjAsIDc4NjQwLCA4ODYzLCA5MjQzMSwgCi0gICAgMTE5OTYwLCAxNDc3LCA0MzI4OSwgMCwgNzQzNTgsIDg2MTgsIDk4MzM5NCwgOTkwOCwgOTgzOTcyLCAwLCAwLCAzOTM3LCAKLSAgICAxMjMxMiwgMCwgOTgzMzk1LCAwLCA2NDc4MSwgOTEyLCA2MzQ5LCA0NTM2LCA5Mzk1NCwgNzQ1MzIsIDEyNjU5NCwgNjI0NCwgCi0gICAgOTIyMDksIDcxMzQxLCAzOTM1LCAxMjA2NjUsIDk4MzQ2OCwgMCwgMTE5NTAsIDUzOTIsIDQyMjQ4LCA2NTEyOSwgNjg2NTYsIAorICAgIDAsIDk4MzQ0NCwgOTkxNiwgMTE3MDEsIDc4MzYsIDQyNzQxLCA2NDEzNywgODMyMCwgNzg2NDAsIDg4NjMsIDkyNDMxLCAKKyAgICAxMTk5NjAsIDE0NzcsIDQzMjg5LCAwLCA3NDM1OCwgODYxOCwgOTgzMzk1LCA5OTA4LCA5ODM5NzIsIDAsIDAsIDM5MzcsIAorICAgIDEyMzEyLCAwLCA5ODMzOTYsIDAsIDY0NzgxLCA5MTIsIDYzNDksIDQ1MzYsIDkzOTU0LCA3NDUzMiwgMTI2NTk0LCA2MjQ0LCAKKyAgICA5MjIwOSwgNzEzNDEsIDM5MzUsIDEyMDY2NSwgOTgzNDY5LCAwLCAxMTk1MCwgNTM5MiwgNDIyNDgsIDY1MTI5LCA2ODY1NiwgCiAgICAgNTM5NywgMCwgMTIwNDYsIDEyNTk5LCAwLCAxMjgyNjEsIDUzOTUsIDAsIDUzOTMsIDM1NCwgNjg2MTUsIDExOTk0OCwgCiAgICAgNzg1MDMsIDAsIDAsIDQyMDM5LCAwLCAwLCA2NDE0MiwgNjI2LCAwLCA1ODk1LCAwLCAwLCA1NzgwLCAwLCAwLCAxMjg4NzQsIAogICAgIDAsIDAsIDQzMjk3LCA5ODMwNzksIDQzMTEsIDQ2NDQsIDg4MTgsIDAsIDEyODE4NiwgMCwgNzE0NSwgMzkxOCwgNjY0NTIsIAogICAgIDM3OTcsIDE2NDQsIDkyMzQ2LCA5NjU4LCA0MTQwLCAxMTM4NSwgNjU5NDcsIDY0NTUsIDkwMzAsIDgxMywgMTE5OTQ1LCAKICAgICA2ODEzMSwgNDE0NiwgMTE5OTU3LCA1MzYwLCAyNDY2LCAwLCA2NzY2OSwgMTE5OTQyLCA2MjQ5LCA0MjExNywgOTIyODcsIAotICAgIDEyODIyNCwgMCwgMCwgNzQwNDYsIDQzNzQ1LCA0OTExLCA5ODgsIDkxNzgwNywgMCwgOTgzNDYwLCA0MzA2MSwgNzA1NCwgCisgICAgMTI4MjI0LCAwLCAwLCA3NDA0NiwgNDM3NDUsIDQ5MTEsIDk4OCwgOTE3ODA3LCAwLCA5ODM0NjEsIDQzMDYxLCA3MDU0LCAKICAgICA2NDE0NywgMCwgNjQ5MjAsIDY4MTk1LCA2Njk4LCAxMTg5MzMsIDkyNTA2LCAwLCAxMjAwMDYsIDExOTgxLCAxMjIwMiwgMCwgCiAgICAgMTEwMzIsIDY3NjU0LCA2MDkzLCAxMTYwOCwgOTc1LCA2ODY2MiwgNjU4NDMsIDE3MCwgMCwgMCwgNDE2OSwgMCwgNDE4NTksIAogICAgIDYwNTgsIDEyMDQwMSwgMTMyMDMsIDEyMDY1NywgMCwgMCwgNjg2NTcsIDk4MTgsIDEwMTc4LCAxMDMyNCwgNDIxMDYsIAogICAgIDU4OTgsIDc0NTQwLCA0NzM4LCA0MTg1NiwgNzA2MiwgOTE3ODY1LCA0NzM3LCAxMTc3OSwgNDc0MiwgMTIwNTY0LCA5MjM5MSwgCi0gICAgNzM3MzYsIDk4MzM1NiwgOTgyNSwgNjQ0OCwgNjcxNSwgMTI3MDA4LCA0ODMxLCAwLCA5MjUyNSwgMCwgNTMwMCwgNDc0MSwgCi0gICAgNDIxMDgsIDk4MzM0NiwgNjQxNTksIDQ3MzYsIDY0MTQ4LCAwLCA4NDksIDkyMTkxLCA3ODQ5MSwgNDMyODgsIDAsIDY2NjIwLCAKLSAgICA5MTc5MTYsIDEyNzMzMSwgNjU1NDksIDk0OTYsIDY0NTk4LCAxMTg4NjYsIDk4MzM1OCwgNzg3NiwgNjgxMzIsIDkxNzg3MiwgCisgICAgNzM3MzYsIDk4MzM1NywgOTgyNSwgNjQ0OCwgNjcxNSwgMTI3MDA4LCA0ODMxLCAwLCA5MjUyNSwgMCwgNTMwMCwgNDc0MSwgCisgICAgNDIxMDgsIDk4MzM0NywgNjQxNTksIDQ3MzYsIDY0MTQ4LCAwLCA4NDksIDkyMTkxLCA3ODQ5MSwgNDMyODgsIDAsIDY2NjIwLCAKKyAgICA5MTc5MTYsIDEyNzMzMSwgNjU1NDksIDk0OTYsIDY0NTk4LCAxMTg4NjYsIDk4MzM1OSwgNzg3NiwgNjgxMzIsIDkxNzg3MiwgCiAgICAgMzkyOCwgOTE3ODcwLCA0MzM3OCwgMTA3MDYsIDcxOTgsIDAsIDQ4NDIsIDEyMDUzLCAxMjgxMjksIDAsIDQ4NDEsIDAsIAogICAgIDQxNzEsIDEyMDA4LCA2MjUxLCAzOTIzLCAxNDkwLCAwLCAxMTk1OTEsIDEyNjUxMiwgNDA5NzIsIDUyNDUsIDAsIDEwMTE0LCAKICAgICA0MjAwMSwgNDE4ODgsIDQ4NDUsIDgzMzIsIDQwOTc0LCA2NDM0NywgNDg0MCwgOTA3NywgNzgzNDYsIDE3NDcsIDkxNzg0OSwgCi0gICAgNDgyNSwgNjkyNDAsIDkxNzg1MiwgNjg2NTUsIDAsIDk4MzM4MCwgMCwgMCwgNjg2MjgsIDk4MzMzOSwgOTg1MCwgMTE4OTM3LCAKKyAgICA0ODI1LCA2OTI0MCwgOTE3ODUyLCA2ODY1NSwgMCwgOTgzMzgxLCAwLCAwLCA2ODYyOCwgOTgzMzQwLCA5ODUwLCAxMTg5MzcsIAogICAgIDM2NywgMTQ3MiwgOTE3ODU5LCA2Njg3LCAxMjc0LCAwLCA1OTA1LCAxMjMzOSwgODkxOSwgNzM5NTMsIDEwOTA3LCA2NTI2MSwgCiAgICAgMTEwMjMsIDExOTU1OSwgNDgzMCwgOTEzNCwgNzg2NjYsIDY0MTI2LCA0MzAxMSwgMCwgMTI2NjI2LCA2NDEwMSwgMCwgMCwgCiAgICAgNDgyNCwgMTA2MTQsIDExOTY1OSwgMCwgMTg4OCwgMTk2MCwgNzg2MSwgOTE3ODU2LCA3ODUyNCwgNDE4MzYsIDQzMDEyLCAKQEAgLTE5NTIwLDcgKzE5NTIyLDcgQEAKICAgICA2NDExOCwgMTI2OTk4LCAxMjk2MiwgMCwgMTI2NTgwLCA0MDE3LCAxMjgyNywgNTI0MSwgMTIwMzkyLCAwLCA0MTExOCwgCiAgICAgMzkyNCwgMCwgMTEzNjYsIDkxNzg0MywgMCwgMCwgOTE3ODQ2LCA0MTExNiwgOTE3ODQ0LCA5MTc1NjQsIDAsIDExMzYzLCAKICAgICAxMjA1NywgMTE5MTcsIDE1NjcsIDc0MDAwLCA0NzIxLCAxMjY2NDEsIDY2MjAyLCA4OTU3LCA0MTM5LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMjc0MCwgMTI4NzAyLCA0NzIyLCA2ODE2LCAxMjc3OTMsIDEyNzU5LCA0NzI1LCA5ODMzNzUsIDQ3MjYsIDAsIAorICAgIDAsIDEyNzQwLCAxMjg3MDIsIDQ3MjIsIDY4MTYsIDEyNzc5MywgMTI3NTksIDQ3MjUsIDk4MzM3NiwgNDcyNiwgMCwgCiAgICAgMTk0ODkyLCAwLCAxMjgzMjEsIDkxNzkwNSwgMCwgMTI3NTUsIDEyNzYyLCA0MDE1LCAwLCA4MDUyLCA0NzYsIDAsIDAsIAogICAgIDEyODI5NCwgNjQyMTIsIDQxMDIwLCAxMzgyLCA2NDIwOSwgNjQyMTYsIDQ0MDAyLCA2NDIxNCwgMTY1NiwgNDE4MzEsIDAsIAogICAgIDAsIDQxODQzLCA4NzIwLCAzOTA4LCAxNDUyLCAxMzExMSwgMCwgNjQwNjcsIDEyNzMyOCwgODU1MiwgNjQxMTMsIDQxODQ1LCAKQEAgLTE5NTM3LDExICsxOTUzOSwxMSBAQAogICAgIDQ4MTQsIDAsIDQ4MTAsIDAsIDAsIDY0OTI4LCAxMDU0MywgMCwgMzUyMiwgNzEzMzUsIDQxNCwgNjU0MDQsIDAsIDE5NTAyNywgCiAgICAgNjQ1NiwgNzM4MjAsIDAsIDY2OTEsIDQyMTkzLCA5MjIyNSwgMTI4MTcxLCAwLCA3NDQ5NSwgMCwgMCwgMCwgMTE4ODIwLCAKICAgICA5NzUxLCA2NTQwNywgMTI4MDg1LCAxMTc3MCwgMzkxOSwgMCwgMCwgNjUwNjEsIDAsIDAsIDAsIDEyMjM1LCAwLCAwLCAKLSAgICAxMjcyMzMsIDY0MDkyLCA5ODM0NjIsIDY0MDgwLCAwLCA2NDA5MCwgMCwgNjk5MTMsIDEwMTYyLCAxMDMxMCwgMCwgODQ1NCwgCisgICAgMTI3MjMzLCA2NDA5MiwgOTgzNDYzLCA2NDA4MCwgMCwgNjQwOTAsIDAsIDY5OTEzLCAxMDE2MiwgMTAzMTAsIDAsIDg0NTQsIAogICAgIDEyNzg4OCwgNDIwMzgsIDM4NywgNDEzNjMsIDEyNzM3LCAwLCA0NzgwLCA0MzM2OCwgMCwgNjQzMTAsIDY0NjIxLCA2NzMyLCAKICAgICA3ODExNiwgMCwgOTgzMTM5LCAwLCA5ODMwNzQsIDg4OTYsIDAsIDM3NSwgNjk3NiwgNjY1ODIsIDExOTAwNSwgOTgzODY1LCAKLSAgICAwLCA5ODM0MjYsIDExOTIwMiwgMTE5MjAzLCAxMjUyNiwgNDMxMjAsIDIzMTUsIDAsIDE5MzgsIDExOTE5NywgMCwgNDUyOSwgCi0gICAgMTE5MjAwLCAxMTkyMDEsIDExOTE5OCwgMTE5MTk5LCA2OTY5MiwgOTgzNDI0LCA2OTY5OCwgMTMxNTAsIDY0NDkyLCAwLCAwLCAKKyAgICAwLCA5ODM0MjcsIDExOTIwMiwgMTE5MjAzLCAxMjUyNiwgNDMxMjAsIDIzMTUsIDAsIDE5MzgsIDExOTE5NywgMCwgNDUyOSwgCisgICAgMTE5MjAwLCAxMTkyMDEsIDExOTE5OCwgMTE5MTk5LCA2OTY5MiwgOTgzNDI1LCA2OTY5OCwgMTMxNTAsIDY0NDkyLCAwLCAwLCAKICAgICAyMjkxLCAxMjkwMiwgMCwgNDI4OTEsIDY2MzI3LCA3NDI5OCwgOTE3ODU3LCAxMDc5OSwgNjk2OTAsIDI1ODcsIDY2MzcyLCAKICAgICAwLCA0MTkzLCA5MjI1MCwgNDI0MSwgOTgzMDU3LCA3OTk4LCAwLCAwLCAwLCAxMjY2NDAsIDIzMTYsIDExODgyMSwgMCwgMCwgCiAgICAgMCwgNjQyOTcsIDc0Nzk5LCA5MjQ0MiwgNzQxNDAsIDAsIDUzNzMsIDAsIDk4Mzg3NywgMzc2MiwgMTAwMTUsIDEyMDY3MiwgCkBAIC0xOTU1MCwxMyArMTk1NTIsMTMgQEAKICAgICAyODAsIDc0NTU4LCAxMjczMzIsIDY4MTM4LCAxMzA3MiwgMTg5NCwgMCwgMCwgNjU0NzgsIDQzMzEwLCA3MjMxLCAwLCAKICAgICAxMTc3MywgMCwgMCwgMCwgMCwgMjU1MSwgMCwgNjQ1MywgMTAyMDAsIDYyMzUsIDk4Mzc0MywgMTE5MjM3LCAwLCAxMjg4MDUsIAogICAgIDQ0NzAsIDExODI2LCA5MTc1NTcsIDc3ODAsIDUzNjksIDExODk1OCwgNTI0OSwgMCwgNTM2NywgODc1NiwgMTI3MTQzLCAwLCAKLSAgICA1Mzc3LCAxMjA1ODUsIDY4MTQzLCAxNjg4LCA3ODI0NSwgOTgzMzQ4LCA2OTY4NSwgOTgzNzQ3LCAwLCAwLCA0NDAyMCwgCisgICAgNTM3NywgMTIwNTg1LCA2ODE0MywgMTY4OCwgNzgyNDUsIDk4MzM0OSwgNjk2ODUsIDk4Mzc0NywgMCwgMCwgNDQwMjAsIAogICAgIDY4MDgsIDQxMzE5LCAxMzAwLCAxMDY1MCwgNDE2OTIsIDY0NTA1LCAyMjkwLCAwLCAxMTk2MjQsIDE0NjUsIDEwODUwLCAKICAgICAzOTQzLCAwLCA0MTIwNSwgNDEzMTUsIDExODk2MSwgMCwgMCwgNTM1MiwgMCwgMCwgODgzOSwgNDEzMTQsIDczODQsIDc3ODUsIAogICAgIDQxMjA0LCAxMjczMjIsIDQxMjA5LCA2OTYzNywgOTIyNDEsIDQzNjA3LCAwLCAwLCA1NDIwLCAzODk3LCAxMDEzNCwgMCwgCiAgICAgNzQ0MTcsIDQwMTgsIDcxNTAsIDY4MTI3LCAwLCAwLCAwLCAwLCAxMjc1MjYsIDI1NjEsIDY4NjIxLCAzNTQyLCA3MTQ4LCAKICAgICAxMjA3NiwgNzk1MSwgNjgxNTIsIDExODg1NywgNTMwMywgNjI3NiwgMTcwNiwgMCwgNzg3NTEsIDcxNDYsIDAsIDY1MTUwLCAKLSAgICA0MTgxOSwgMCwgNzM5NTEsIDEwODQ3LCA0MTgyMiwgOTk4NSwgODYwLCAwLCAxMDUwNiwgOTgzNDI3LCA2OTY0MSwgMTA3NTMsIAorICAgIDQxODE5LCAwLCA3Mzk1MSwgMTA4NDcsIDQxODIyLCA5OTg1LCA4NjAsIDAsIDEwNTA2LCA5ODM0MjgsIDY5NjQxLCAxMDc1MywgCiAgICAgMTA4MzAsIDAsIDYxNSwgNjQ0OTAsIDc1NzQsIDkyNjE3LCA3NzkyMiwgMCwgMTI5MDksIDQzMDE2LCA2NDU1OSwgMTI3MDI4LCAKICAgICAwLCAwLCA2Nzk5NiwgMjAyMCwgMCwgNDAyMiwgMTI4NzgzLCAwLCA3NzkyMywgMTI2NTkzLCA0MTY5MSwgMCwgMCwgNzQzMjksIAogICAgIDAsIDY0NjIyLCA5MDcwLCAwLCA2ODQxMSwgMzkxMSwgNDI4MjksIDQzMTIyLCAxMDMzLCA3NDQ0MCwgMCwgNzAwMCwgMzkwNCwgCkBAIC0xOTU5MCw5ICsxOTU5Miw5IEBACiAgICAgOTQyNSwgOTQyNiwgOTQyNywgOTQyOCwgOTQyOSwgNjQ3NTgsIDIzNjIsIDk2NTUsIDAsIDIwMDQsIDkwOTYsIDk3ODIsIAogICAgIDEyODg0OCwgOTE3MiwgMTI4NTQ1LCAxOTk2NSwgMCwgNTk1NSwgNjc2NjYsIDExMDgsIDAsIDc0NzczLCAwLCAwLCA2NDc4MiwgCiAgICAgMzkyNiwgOTI0NDgsIDY1MjEwLCA4Nzk4LCAwLCA5MjE2NSwgMTM5MiwgMCwgMCwgMTI3MzY0LCAxMDYwNiwgODA2NSwgCi0gICAgMTE4ODA1LCAxMDM1MywgMTA0MTcsIDAsIDAsIDY0NTI0LCA5MjQxOCwgNDAxOSwgMCwgOTgzMjgwLCA0MzI4MCwgODIxOSwgCisgICAgMTE4ODA1LCAxMDM1MywgMTA0MTcsIDAsIDAsIDY0NTI0LCA5MjQxOCwgNDAxOSwgMCwgOTgzMjgxLCA0MzI4MCwgODIxOSwgCiAgICAgNjg0MDIsIDE4MTIsIDExOTk2MywgOTgzNjgzLCAwLCAxMjY0ODgsIDQyNDEwLCA3NDQ0OCwgMTE5MTMyLCA2MDU0LCAKLSAgICAxMDY5NywgMzE2OSwgNDIyOTcsIDQyMzIyLCAxMDY0MiwgMzkwOSwgOTk1MCwgMCwgMTI4MTM5LCA5ODMyNTMsIDY4Njc4LCAKKyAgICAxMDY5NywgMzE2OSwgNDIyOTcsIDQyMzIyLCAxMDY0MiwgMzkwOSwgOTk1MCwgMCwgMTI4MTM5LCA5ODMyNTQsIDY4Njc4LCAKICAgICAwLCAwLCAxMDQ5LCAwLCA2NTcwNywgMjMwNCwgNDE4MDYsIDkyMzI2LCA0MjMzNiwgMzkyMSwgMCwgMTE3NzUsIDY0NzYwLCAKICAgICAxMTc2NiwgMTAzOCwgNDIzMDMsIDk4MjMsIDEyNzI3OCwgNjkyMzYsIDQwMDgsIDY0MDA0LCA4NzczLCAxMDczMywgMzYsIDAsIAogICAgIDUxNTMsIDQxODA1LCAwLCA3MzczNSwgNzYzLCA0MTgwOCwgNjQ5MTAsIDk4MzEzMCwgMjAwOSwgMCwgMCwgMTI3MTQyLCAKQEAgLTE5NjM0LDkgKzE5NjM2LDkgQEAKICAgICAxMjAxMzAsIDQyNjcsIDE2MzEsIDQyMjA2LCA3Nzk4MywgMCwgMTk1MDQ2LCA2NTcwMCwgNjY1NjIsIDAsIDY0NjQ1LCAwLCAKICAgICAwLCAxMjY1ODgsIDEyNTg2LCAwLCA5MjQyLCAxMjc5MjIsIDAsIDQ1MjMsIDU4NDIsIDEwNDk1LCAzMTIyLCA5ODM3ODgsIAogICAgIDc3OTMsIDc4Mjc1LCA5MzI4LCAxMTkxMDQsIDc4MzkzLCAxMjYwNCwgMCwgNjYxNSwgMjI4NSwgOTIzNDQsIDM5ODYsIAotICAgIDQ0MDI1LCAwLCA4OTEyLCA2NDU1NSwgNzQwOSwgMCwgOTgzMzUwLCA5NTQxLCA3ODI3NiwgMCwgMTEyNzUsIDg1NDAsIAotICAgIDExNDk4LCAwLCA5ODMzNDksIDQxMDQwLCAyNDU5LCAwLCAxMzA2MCwgNDEwNDEsIDc0NDEzLCA5ODMxMzgsIDAsIDAsIAotICAgIDY4NDI3LCAxMDQ1MCwgMTI1NTEsIDQxMDQzLCA3MDIwLCAxMjAzNTMsIDM3NjUsIDk4MzM0MiwgMCwgMTYwNiwgMTIwMzQ4LCAKKyAgICA0NDAyNSwgMCwgODkxMiwgNjQ1NTUsIDc0MDksIDAsIDk4MzM1MSwgOTU0MSwgNzgyNzYsIDAsIDExMjc1LCA4NTQwLCAKKyAgICAxMTQ5OCwgMCwgOTgzMzUwLCA0MTA0MCwgMjQ1OSwgMCwgMTMwNjAsIDQxMDQxLCA3NDQxMywgOTgzMTM4LCAwLCAwLCAKKyAgICA2ODQyNywgMTA0NTAsIDEyNTUxLCA0MTA0MywgNzAyMCwgMTIwMzUzLCAzNzY1LCA5ODMzNDMsIDAsIDE2MDYsIDEyMDM0OCwgCiAgICAgMTIwMzUxLCAzMDkzLCA2ODQzNiwgMCwgOTgzMDYxLCAxMTk2MTMsIDAsIDAsIDQzMTIsIDc0MDkxLCAxMjAzMzcsIAogICAgIDEyMDMzNiwgMTE5MjMsIDQwMjMsIDEyMDMzMywgNTc2MywgOTQwMTUsIDQ4MjcsIDEwODk0LCAxMjgxMCwgNjQ0MDYsIAogICAgIDExODc4NSwgNDQ1NSwgNzQzMjEsIDQzMywgMTE5NjIwLCA2NjY2MCwgMjQ5OSwgMCwgMCwgMTE4ODM3LCAxMTk3MywgCkBAIC0xOTY0NiwxMSArMTk2NDgsMTEgQEAKICAgICA3MDA0LCAwLCA2NTg4MCwgMTI3ODg2LCAxMTkwNDgsIDIzODAsIDExMzgwLCAwLCA5Mzk5NiwgMjM3NiwgMCwgMTE5MzIwLCAKICAgICAwLCA1MTk3LCAxMjcwNDYsIDEyNzA0NywgMTI3MDQ4LCAyMzY2LCAxMjcwNTAsIDEyNzA1MSwgMTIwNTU0LCAxMjAwNDUsIDAsIAogICAgIDAsIDAsIDk4MzA4NCwgMCwgMCwgMCwgNzQxODgsIDcxMzQyLCA5ODMwODYsIDk4MzU3MywgMTIwMDQ3LCAxMjg1NzUsIDAsIAotICAgIDAsIDEyMDA0OSwgMCwgMTg0NywgMCwgMTAzMzksIDk4MzM1NywgNDIzODQsIDAsIDQyMjcsIDc0MTU4LCAwLCA5MjUwMSwgCi0gICAgNDMwMzIsIDAsIDQyMzY1LCAwLCAxMjY3MSwgMTEzODQsIDAsIDk4MzQ1NywgMCwgNjQ3OTcsIDk4MzMzNywgNTgyMCwgCi0gICAgOTgzMzM2LCAxMjAwNTIsIDEyMDA2NSwgMCwgMTIwMDY0LCAxMjA2NTAsIDQyMTM3LCA5ODkzLCAyNzU0LCAxMjY2NCwgCisgICAgMCwgMTIwMDQ5LCAwLCAxODQ3LCAwLCAxMDMzOSwgOTgzMzU4LCA0MjM4NCwgMCwgNDIyNywgNzQxNTgsIDAsIDkyNTAxLCAKKyAgICA0MzAzMiwgMCwgNDIzNjUsIDAsIDEyNjcxLCAxMTM4NCwgMCwgOTgzNDU4LCAwLCA2NDc5NywgOTgzMzM4LCA1ODIwLCAKKyAgICA5ODMzMzcsIDEyMDA1MiwgMTIwMDY1LCAwLCAxMjAwNjQsIDEyMDY1MCwgNDIxMzcsIDk4OTMsIDI3NTQsIDEyNjY0LCAKICAgICAxMjAwNjMsIDAsIDczNzcsIDEyNzg2NywgNDE3OTksIDY1NTMwLCAxNzExLCAxMjk4NCwgNDMwMzksIDMxMTQsIDYyNTUsIAotICAgIDk4MzMzMiwgMTE4OTM4LCAwLCAxMDg1MywgOTI2LCA5ODMzNjEsIDc0MTg0LCA5ODMzNjAsIDEyMDA1NSwgMCwgNDMxNzUsIAorICAgIDk4MzMzMywgMTE4OTM4LCAwLCAxMDg1MywgOTI2LCA5ODMzNjIsIDc0MTg0LCA5ODMzNjEsIDEyMDA1NSwgMCwgNDMxNzUsIAogICAgIDAsIDQzMDM3LCA0MTc5OCwgNDEwMzUsIDExNTgzLCAxMjc3NjksIDQxODAxLCAxMTkwODgsIDExOTYwNSwgNTIwLCA0MjAwLCAKICAgICAxMjY5OSwgODMzMSwgMCwgMzA5MSwgNDEwMzQsIDEyNzM1MywgOTgzNjcyLCA4MzYwLCAwLCA3ODA0NCwgMzIxLCA0MjI5LCAKICAgICA2NDU0MywgOTE3OTQ2LCA2NTU2MywgMCwgOTE3OTc0LCAyODYxLCA0Mzc5MywgMTAwOTUsIDAsIDkxOTUsIDkyMzg2LCAKQEAgLTE5NjY0LDcgKzE5NjY2LDcgQEAKICAgICA3ODIyMiwgMTM0NiwgMCwgOTE3NjMxLCA2NDU3MywgNjQ4OTcsIDQyMywgMTgxOCwgNjUxNDQsIDAsIDgyNzIsIDEyNzgxMiwgCiAgICAgMTk5MTEsIDQyMTgsIDMwODcsIDY0OTYwLCAxMjcyMzQsIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgOTgzODkzLCAKICAgICA3NDM1OSwgMTI2MjYsIDkxMDYsIDAsIDQyNjQyLCAxMjAyMzAsIDY0NzUwLCA5MzkwLCAwLCA0MTc5NywgMCwgMCwgMjY1LCAKLSAgICA0MTc5NSwgNjQ2NjYsIDEyNjUwOCwgNDM1MzAsIDI3NTIsIDAsIDAsIDk4MzQ4NSwgNTksIDAsIDk4MzU5MywgMCwgOTIzNzEsIAorICAgIDQxNzk1LCA2NDY2NiwgMTI2NTA4LCA0MzUzMCwgMjc1MiwgMCwgMCwgOTgzNDg2LCA1OSwgMCwgOTgzNTkzLCAwLCA5MjM3MSwgCiAgICAgNzc4NzMsIDQxODEwLCAwLCA3MDEwLCAwLCA0MTgwOSwgNDE0OTUsIDExOTM2NCwgMCwgNDIyNTIsIDQyMjEzLCA4MDA5LCAKICAgICAzMzA1LCA0MzAzMywgNTExLCA5MjcwMCwgNjYyNTUsIDEzMTI3LCAxMjAwNjcsIDAsIDc0Mzk3LCAxMjAyMzUsIDkxNzk3NywgCiAgICAgNjU5MTUsIDE0MDAsIDQxODEyLCAxMDY4NSwgMTk0ODcwLCAyMTAzLCAxMDM4NywgNDQ1MywgNDMyNzYsIDkxNzc4MywgCkBAIC0xOTcwMyw3ICsxOTcwNSw3IEBACiAgICAgNzg3MTksIDY2NTczLCAwLCA3ODcyNCwgNzg3MTIsIDExNzYxLCAxOTQ2NTUsIDAsIDQxMDk0LCAwLCAwLCAxOTQ4OTMsIDAsIAogICAgIDkyNjg5LCA2MTk2LCA2OTQ1LCA5Mzk2OSwgMTk0ODkwLCAxMjgxODQsIDEyMDQ5MSwgMTE4MTYsIDE5NDk0MywgNTczMywgCiAgICAgMjkzMCwgMCwgMCwgNDEwOTgsIDAsIDQxMDkzLCAwLCA2NjYyNiwgNTg4LCA5NzYwLCAwLCAxOTQ3MTcsIDEyMzgsIDIwMCwgCi0gICAgOTgzMjA1LCAxNjYwLCA3MzkxNiwgMCwgMTE4OTA1LCA3NDM2MiwgMCwgOTI0ODUsIDE5NDY1MSwgMCwgOTgzNjk3LCAzMzk0LCAKKyAgICA5ODMyMDYsIDE2NjAsIDczOTE2LCAwLCAxMTg5MDUsIDc0MzYyLCAwLCA5MjQ4NSwgMTk0NjUxLCAwLCA5ODM2OTcsIDMzOTQsIAogICAgIDE5NDg5NCwgMTIwNjY4LCAwLCAwLCAxMjczNTgsIDY2MjE5LCAxMjcxODMsIDQzMjg0LCAxOTQ2NTYsIDc4MTcsIDE4NDEsIAogICAgIDExMDU1LCAxMjA1MzMsIDE5NDk3OSwgMTk0OTgyLCAxNjY5LCAxMDc3NiwgMTk0OTgxLCA3NzAxLCAxOTQ5ODAsIDAsIAogICAgIDE5NDk5NSwgMTczMiwgNDAzMCwgMCwgMzk2MywgNjY2MTEsIDEyNzUzMCwgNDE3NjgsIDY0OTEsIDAsIDY1MzI0LCA5MTQsIApAQCAtMTk3MzIsNyArMTk3MzQsNyBAQAogICAgIDY4NDY1LCAxMzAyNywgNDI4MjQsIDEyMDU3NCwgMTAzOSwgNzE1MSwgMTAxNTUsIDU3NDUsIDE4OCwgNDE4NTgsIDExNTkyLCAKICAgICAwLCA3NDAxNSwgOTA1NSwgNDE4NTMsIDQ4NTgsIDkxNzc4MCwgMCwgNDM2LCA0NzcxLCAwLCAyNzg2LCAwLCA0ODU2LCAKICAgICA4MDUxLCAwLCAxMTk2MDksIDcxMzI3LCA5NjQ0LCAwLCAwLCAwLCAxOTQ5MTYsIDEyMDczMiwgNjY3MTAsIDExODgzNCwgCi0gICAgOTgzMzUxLCA3MzkwNiwgMTI4NjgwLCAxMjcxMTQsIDAsIDEwMjM0LCA1ODQzLCAxMTkzOSwgMCwgNDIxNTcsIDAsIDMxNTcsIAorICAgIDk4MzM1MiwgNzM5MDYsIDEyODY4MCwgMTI3MTE0LCAwLCAxMDIzNCwgNTg0MywgMTE5MzksIDAsIDQyMTU3LCAwLCAzMTU3LCAKICAgICAxOTQ5MTgsIDY4MzkzLCAwLCAzNTA0LCAxMTkxNzgsIDAsIDEwODIyLCA1MTQ5LCA2NjAyOSwgMTAyMjYsIDY1MTQyLCAKICAgICAxMjgwMjUsIDM1OTQsIDQyNDI0LCAxOTQ5NTksIDQwLCAxMjY1NywgOTgzNjU2LCAwLCAzODYsIDAsIDg4MzQsIDAsIAogICAgIDEyODE1LCA0MzU3NCwgMCwgNzM5MDcsIDAsIDc0MTk2LCA3MjIwLCA3NDUwNCwgMCwgNzQzMTYsIDAsIDY1MzIyLCA0MzA0LCAKQEAgLTE5NzQ2LDcgKzE5NzQ4LDcgQEAKICAgICA0MjUwNywgMTk2MiwgNDMzMDUsIDc4NDc2LCA0MjUwNSwgMTE2NjAsIDAsIDIwNzIsIDkyMzEyLCA2OTk1LCA3NDE3MywgCiAgICAgNTQzNywgNzQxNzQsIDEwNjY5LCA4NzAyLCA3OTY0LCA5MjM1MiwgMCwgMTk5LCAxOTQ4NDMsIDQxMDUsIDE5NDg0NSwgCiAgICAgMTk0Njk5LCAxOTQ4NDcsIDE5NDcxMCwgMTE5ODc1LCAxMzE0OCwgNzU2MCwgNzg0NzksIDkyMjYsIDc4NDgwLCAxOTUwNzAsIAotICAgIDY0NzIsIDY1ODE0LCA3Mzk1NCwgMCwgNDcyNCwgMCwgMCwgOTE5MSwgMCwgNjQ0MzIsIDk4MzgwOCwgOTgzMjQxLCAKKyAgICA2NDcyLCA2NTgxNCwgNzM5NTQsIDAsIDQ3MjQsIDAsIDAsIDkxOTEsIDAsIDY0NDMyLCA5ODM4MDgsIDk4MzI0MiwgCiAgICAgMTk1MDI0LCAxMDE5NiwgNzg4NiwgMCwgNjU4NSwgMCwgNjY4MCwgMTk1MDQyLCAwLCAxOTUwNTEsIDY2NzksIDc0NDEyLCAKICAgICA5MjI1MSwgMTk0ODY2LCA3NDQyMSwgMTEzODIsIDk4MzYyMiwgOTgzNjI4LCAxMjc4OTEsIDEyNzQ4NCwgMTk0ODMzLCAKICAgICAxOTQ4MzIsIDY2ODEsIDEyNzQ4MiwgMTI2OTMsIDE5NDgzNiwgNDI3MjcsIDc4MTk2LCAxMjgyNTIsIDc4MTk1LCA2NTQ0MiwgCkBAIC0xOTc5MiwxMSArMTk3OTQsMTEgQEAKICAgICA2NDAzMiwgNDI3MzUsIDY0MDM4LCA2NDAzNywgNjQwMzYsIDY0MDM1LCA0MjkxLCAxOTQ5MjgsIDY0MDE1LCA2NDAxNCwgCiAgICAgNjQ2ODEsIDE5NDkzMCwgMCwgNzgxNDUsIDAsIDQzMDkwLCAwLCAzNDc2LCA4OTczLCA2NDAxMiwgNDI0NzMsIDY0MDEwLCAKICAgICA2NDAwOCwgNjQwMDcsIDIwMDMsIDc3MDYsIDY0NTE3LCA3ODE1MywgMjUzOCwgNjQwMDksIDIwNCwgMCwgNDgwMiwgNDExMSwgCi0gICAgODIzOSwgOTA5OCwgNDgwNSwgNjQwMDEsIDY0MDU3LCA3ODg1LCA3MjQ3LCA2NDA1NCwgOTgzMjU4LCAwLCA0NzY3LCA5MzQzLCAKKyAgICA4MjM5LCA5MDk4LCA0ODA1LCA2NDAwMSwgNjQwNTcsIDc4ODUsIDcyNDcsIDY0MDU0LCA5ODMyNTksIDAsIDQ3NjcsIDkzNDMsIAogICAgIDY0MDQ5LCA2NDA0OCwgMTIwMDM0LCAxMTMzLCA2NDA1MywgNjQwNTIsIDQzNDUzLCA2NDA1MCwgNDEzNDAsIDExODk3NSwgCiAgICAgMTk0ODM1LCAxMDAwNSwgMTIzMjksIDQxMzMzLCAwLCA4NDg5LCAxOTQyLCAwLCAxOTQ4MzQsIDQyNTIwLCAxMjgyNDksIDAsIAogICAgIDAsIDEwNzYwLCA2NDAyMywgNjQwMjIsIDY0MDIxLCA2NTgyLCA0MzY3MCwgMCwgNjQwMjUsIDkxNjcsIDQyMTUxLCA3ODI0NCwgCi0gICAgOTgzMjI2LCAyMDI2LCA2NDAxOSwgNjQwMTgsIDY0MDE3LCA2NDAxNiwgMTI3NjgsIDAsIDc1ODIsIDc4MjUyLCA3ODI0OCwgCisgICAgOTgzMjI3LCAyMDI2LCA2NDAxOSwgNjQwMTgsIDY0MDE3LCA2NDAxNiwgMTI3NjgsIDAsIDc1ODIsIDc4MjUyLCA3ODI0OCwgCiAgICAgNzc5MTQsIDc4MjQ2LCA3ODI0NywgMCwgNzc5MTUsIDc4NzY2LCA2Nzg4LCAxMzA5NCwgNzc5MjAsIDc1MzIsIDQxNDE0LCAKICAgICA3ODUyMCwgMzE3OSwgNzg1MTgsIDY0NzY5LCA3ODUxNCwgNzg1MTcsIDExNDYxLCA3NDQ1NCwgMTA3NTEsIDkwNTEsIAogICAgIDEyMDcyMCwgNjcwOCwgMTA1MzUsIDAsIDY4MjE4LCA1NTI3NCwgMjAwOCwgNjQwMzEsIDY0MDMwLCAyOTQsIDQxODc0LCAwLCAKQEAgLTE5ODA0LDcgKzE5ODA2LDcgQEAKICAgICA2MzQzLCA0MzI0NywgMTE5ODg4LCAwLCAxMTk4ODYsIDExOTg5MSwgMTE5ODkyLCAxMTk4ODksIDExNDMzLCAxMTk4OTUsIAogICAgIDExOTg5NiwgMCwgNzgwMSwgNjU1NzgsIDE5NDgzOSwgMTI5MTUsIDQzOTY4LCAzMjk3LCA5Njk5LCAxOTQ5NTUsIDExMzUsIAogICAgIDAsIDAsIDEyODUyNSwgMTk5NSwgNjcyMiwgOTgzOTE2LCAwLCAyNTUyLCA0MTU0NiwgNjAsIDY4Mzk0LCA4NjQ5LCA0MTU0OSwgCi0gICAgNzg0OTYsIDk4MzMxOSwgMCwgNjY4MiwgMCwgNzg2NzksIDY0NzEwLCA0MTU0NywgOTgzNjIxLCAyMDEzLCAxMjgyOTEsIAorICAgIDc4NDk2LCA5ODMzMjAsIDAsIDY2ODIsIDAsIDc4Njc5LCA2NDcxMCwgNDE1NDcsIDk4MzYyMSwgMjAxMywgMTI4MjkxLCAKICAgICA3ODUzMCwgNzg1MzIsIDc4NTI4LCA3ODUyOSwgMTI4MzIsIDc4NDkzLCA4MDgxLCA4MzYyLCAzNTM3LCAxMTk5MDgsIDkxMzcsIAogICAgIDcxNTUsIDg5OTksIDAsIDc4NTMzLCAzNDY2LCAwLCAwLCAxOTk2LCAwLCAzNDUzLCA2MjgyLCAwLCAyMDAyLCAyMDAwLCAKICAgICAxMjAxNzUsIDUzNywgMCwgNDE3OSwgNjUxMTksIDE5OTgsIDAsIDE4NDIsIDAsIDkyNjc0LCA5NjI4LCA2ODQ0NiwgMTIwODEsIApAQCAtMTk4MTksNyArMTk4MjEsNyBAQAogI2RlZmluZSBjb2RlX3BvbHkgMzI3NzEKIAogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBhbGlhc2VzX3N0YXJ0ID0gMHhmMDAwMDsKLXN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYWxpYXNlc19lbmQgPSAweGYwMWMxOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBhbGlhc2VzX2VuZCA9IDB4ZjAxYzI7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG5hbWVfYWxpYXNlc1tdID0gewogICAgIDB4MDAwMCwKICAgICAweDAwMDAsCkBAIC0xOTk4Miw2ICsxOTk4NCw3IEBACiAgICAgMHgwMUEyLAogICAgIDB4MDFBMywKICAgICAweDAzNEYsCisgICAgMHgwNzA5LAogICAgIDB4MENERSwKICAgICAweDBFOUQsCiAgICAgMHgwRTlGLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy96aXBpbXBvcnQuYyBiL01vZHVsZXMvemlwaW1wb3J0LmMKaW5kZXggMmZlYjJhOC4uNTZlNWM0YyAxMDA2NDQKLS0tIGEvTW9kdWxlcy96aXBpbXBvcnQuYworKysgYi9Nb2R1bGVzL3ppcGltcG9ydC5jCkBAIC04NjIsNiArODYyLDcgQEAKICAgICBsb25nIGwsIGNvdW50OwogICAgIFB5X3NzaXplX3QgaTsKICAgICBjaGFyIG5hbWVbTUFYUEFUSExFTiArIDVdOworICAgIGNoYXIgZHVtbXlbOF07IC8qIEJ1ZmZlciB0byByZWFkIHVudXNlZCBoZWFkZXIgdmFsdWVzIGludG8gKi8KICAgICBQeU9iamVjdCAqbmFtZW9iaiA9IE5VTEw7CiAgICAgY2hhciAqcCwgZW5kb2ZfY2VudHJhbF9kaXJbMjJdOwogICAgIFB5X3NzaXplX3QgYXJjX29mZnNldDsgIC8qIEFic29sdXRlIG9mZnNldCB0byBzdGFydCBvZiB0aGUgemlwLWFyY2hpdmUuICovCkBAIC05MDUsMTcgKzkwNiwyMyBAQAogCiAgICAgLyogU3RhcnQgb2YgQ2VudHJhbCBEaXJlY3RvcnkgKi8KICAgICBjb3VudCA9IDA7CisgICAgaWYgKGZzZWVrKGZwLCBoZWFkZXJfb2Zmc2V0LCAwKSA9PSAtMSkKKyAgICAgICAgZ290byBmaWxlX2Vycm9yOwogICAgIGZvciAoOzspIHsKICAgICAgICAgUHlPYmplY3QgKnQ7CiAgICAgICAgIGludCBlcnI7CiAKLSAgICAgICAgaWYgKGZzZWVrKGZwLCBoZWFkZXJfb2Zmc2V0LCAwKSA9PSAtMSkgIC8qIFN0YXJ0IG9mIGZpbGUgaGVhZGVyICovCi0gICAgICAgICAgICBnb3RvIGZzZWVrX2Vycm9yOworICAgICAgICAvKiBTdGFydCBvZiBmaWxlIGhlYWRlciAqLwogICAgICAgICBsID0gUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUoZnApOwogICAgICAgICBpZiAobCAhPSAweDAyMDE0QjUwKQogICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAvKiBCYWQ6IENlbnRyYWwgRGlyIEZpbGUgSGVhZGVyICovCi0gICAgICAgIGlmIChmc2VlayhmcCwgaGVhZGVyX29mZnNldCArIDgsIDApID09IC0xKQotICAgICAgICAgICAgZ290byBmc2Vla19lcnJvcjsKKworICAgICAgICAvKiBPbiBXaW5kb3dzLCBjYWxsaW5nIGZzZWVrIHRvIHNraXAgb3ZlciB0aGUgZmllbGRzIHdlIGRvbid0IHVzZSBpcworICAgICAgICBzbG93ZXIgdGhhbiByZWFkaW5nIHRoZSBkYXRhIGludG8gYSBkdW1teSBidWZmZXIgYmVjYXVzZSBmc2VlayBmbHVzaGVzCisgICAgICAgIHN0ZGlvJ3MgaW50ZXJuYWwgYnVmZmVycy4gU2VlIGlzc3VlICM4NzQ1LiAqLworICAgICAgICBpZiAoZnJlYWQoZHVtbXksIDEsIDQsIGZwKSAhPSA0KSAvKiBTa2lwIHVudXNlZCBmaWVsZHMsIGF2b2lkIGZzZWVrICovCisgICAgICAgICAgICBnb3RvIGZpbGVfZXJyb3I7CisKICAgICAgICAgZmxhZ3MgPSAodW5zaWduZWQgc2hvcnQpUHlNYXJzaGFsX1JlYWRTaG9ydEZyb21GaWxlKGZwKTsKICAgICAgICAgY29tcHJlc3MgPSBQeU1hcnNoYWxfUmVhZFNob3J0RnJvbUZpbGUoZnApOwogICAgICAgICB0aW1lID0gUHlNYXJzaGFsX1JlYWRTaG9ydEZyb21GaWxlKGZwKTsKQEAgLTkyNCwxMSArOTMxLDExIEBACiAgICAgICAgIGRhdGFfc2l6ZSA9IFB5TWFyc2hhbF9SZWFkTG9uZ0Zyb21GaWxlKGZwKTsKICAgICAgICAgZmlsZV9zaXplID0gUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUoZnApOwogICAgICAgICBuYW1lX3NpemUgPSBQeU1hcnNoYWxfUmVhZFNob3J0RnJvbUZpbGUoZnApOwotICAgICAgICBoZWFkZXJfc2l6ZSA9IDQ2ICsgbmFtZV9zaXplICsKKyAgICAgICAgaGVhZGVyX3NpemUgPSBuYW1lX3NpemUgKwogICAgICAgICAgICBQeU1hcnNoYWxfUmVhZFNob3J0RnJvbUZpbGUoZnApICsKICAgICAgICAgICAgUHlNYXJzaGFsX1JlYWRTaG9ydEZyb21GaWxlKGZwKTsKLSAgICAgICAgaWYgKGZzZWVrKGZwLCBoZWFkZXJfb2Zmc2V0ICsgNDIsIDApID09IC0xKQotICAgICAgICAgICAgZ290byBmc2Vla19lcnJvcjsKKyAgICAgICAgaWYgKGZyZWFkKGR1bW15LCAxLCA4LCBmcCkgIT0gOCkgLyogU2tpcCB1bnVzZWQgZmllbGRzLCBhdm9pZCBmc2VlayAqLworICAgICAgICAgICAgZ290byBmaWxlX2Vycm9yOwogICAgICAgICBmaWxlX29mZnNldCA9IFB5TWFyc2hhbF9SZWFkTG9uZ0Zyb21GaWxlKGZwKSArIGFyY19vZmZzZXQ7CiAgICAgICAgIGlmIChuYW1lX3NpemUgPiBNQVhQQVRITEVOKQogICAgICAgICAgICAgbmFtZV9zaXplID0gTUFYUEFUSExFTjsKQEAgLTk0MSw3ICs5NDgsOSBAQAogICAgICAgICAgICAgcCsrOwogICAgICAgICB9CiAgICAgICAgICpwID0gMDsgICAgICAgICAvKiBBZGQgdGVybWluYXRpbmcgbnVsbCBieXRlICovCi0gICAgICAgIGhlYWRlcl9vZmZzZXQgKz0gaGVhZGVyX3NpemU7CisgICAgICAgIGZvciAoOyBpIDwgaGVhZGVyX3NpemU7IGkrKykgLyogU2tpcCB0aGUgcmVzdCBvZiB0aGUgaGVhZGVyICovCisgICAgICAgICAgICBpZihnZXRjKGZwKSA9PSBFT0YpIC8qIEF2b2lkIGZzZWVrICovCisgICAgICAgICAgICAgICAgZ290byBmaWxlX2Vycm9yOwogCiAgICAgICAgIGJvb3RzdHJhcCA9IDA7CiAgICAgICAgIGlmIChmbGFncyAmIDB4MDgwMCkKQEAgLTk4OCw3ICs5OTcsNyBAQAogICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiMgemlwaW1wb3J0OiBmb3VuZCAlbGQgbmFtZXMgaW4gJVJcbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCwgYXJjaGl2ZSk7CiAgICAgcmV0dXJuIGZpbGVzOwotZnNlZWtfZXJyb3I6CitmaWxlX2Vycm9yOgogICAgIGZjbG9zZShmcCk7CiAgICAgUHlfWERFQ1JFRihmaWxlcyk7CiAgICAgUHlfWERFQ1JFRihuYW1lb2JqKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvemxpYm1vZHVsZS5jIGIvTW9kdWxlcy96bGlibW9kdWxlLmMKaW5kZXggZTcxODc5NS4uNGIzOWFhZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy96bGlibW9kdWxlLmMKKysrIGIvTW9kdWxlcy96bGlibW9kdWxlLmMKQEAgLTE2MSw3ICsxNjEsNyBAQAogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KICAgICBpbnB1dCA9IHBpbnB1dC5idWY7Ci0gICAgbGVuZ3RoID0gcGlucHV0LmxlbjsKKyAgICBsZW5ndGggPSAodW5zaWduZWQgaW50KXBpbnB1dC5sZW47CiAKICAgICB6c3QuYXZhaWxfb3V0ID0gbGVuZ3RoICsgbGVuZ3RoLzEwMDAgKyAxMiArIDE7CiAKQEAgLTI1MSw3ICsyNTEsNyBAQAogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KICAgICBpbnB1dCA9IHBpbnB1dC5idWY7Ci0gICAgbGVuZ3RoID0gcGlucHV0LmxlbjsKKyAgICBsZW5ndGggPSAodW5zaWduZWQgaW50KXBpbnB1dC5sZW47CiAKICAgICBpZiAocl9zdHJsZW4gPD0gMCkKICAgICAgICAgcl9zdHJsZW4gPSAxOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9hYnN0cmFjdC5jIGIvT2JqZWN0cy9hYnN0cmFjdC5jCmluZGV4IDdjMjQ3MjQuLmJmZDUzYzkgMTAwNjQ0Ci0tLSBhL09iamVjdHMvYWJzdHJhY3QuYworKysgYi9PYmplY3RzL2Fic3RyYWN0LmMKQEAgLTY0LDQ5ICs2NCw3MCBAQAogfQogI2RlZmluZSBQeU9iamVjdF9MZW5ndGggUHlPYmplY3RfU2l6ZQogCitpbnQKK19QeU9iamVjdF9IYXNMZW4oUHlPYmplY3QgKm8pIHsKKyAgICByZXR1cm4gKFB5X1RZUEUobyktPnRwX2FzX3NlcXVlbmNlICYmIFB5X1RZUEUobyktPnRwX2FzX3NlcXVlbmNlLT5zcV9sZW5ndGgpIHx8CisgICAgICAgIChQeV9UWVBFKG8pLT50cF9hc19tYXBwaW5nICYmIFB5X1RZUEUobyktPnRwX2FzX21hcHBpbmctPm1wX2xlbmd0aCk7Cit9CiAKIC8qIFRoZSBsZW5ndGggaGludCBmdW5jdGlvbiByZXR1cm5zIGEgbm9uLW5lZ2F0aXZlIHZhbHVlIGZyb20gby5fX2xlbl9fKCkKLSAgIG9yIG8uX19sZW5ndGhfaGludF9fKCkuICBJZiB0aG9zZSBtZXRob2RzIGFyZW4ndCBmb3VuZCBvciByZXR1cm4gYSBuZWdhdGl2ZQotICAgdmFsdWUsIHRoZW4gdGhlIGRlZmF1bHR2YWx1ZSBpcyByZXR1cm5lZC4gIElmIG9uZSBvZiB0aGUgY2FsbHMgZmFpbHMsCisgICBvciBvLl9fbGVuZ3RoX2hpbnRfXygpLiBJZiB0aG9zZSBtZXRob2RzIGFyZW4ndCBmb3VuZCB0aGUgZGVmYXVsdHZhbHVlIGlzCisgICByZXR1cm5lZC4gIElmIG9uZSBvZiB0aGUgY2FsbHMgZmFpbHMgd2l0aCBhbiBleGNlcHRpb24gb3RoZXIgdGhhbiBUeXBlRXJyb3IKICAgIHRoaXMgZnVuY3Rpb24gcmV0dXJucyAtMS4KICovCiAKIFB5X3NzaXplX3QKLV9QeU9iamVjdF9MZW5ndGhIaW50KFB5T2JqZWN0ICpvLCBQeV9zc2l6ZV90IGRlZmF1bHR2YWx1ZSkKK1B5T2JqZWN0X0xlbmd0aEhpbnQoUHlPYmplY3QgKm8sIFB5X3NzaXplX3QgZGVmYXVsdHZhbHVlKQogeworICAgIFB5T2JqZWN0ICpoaW50LCAqcmVzdWx0OworICAgIFB5X3NzaXplX3QgcmVzOwogICAgIF9QeV9JREVOVElGSUVSKF9fbGVuZ3RoX2hpbnRfXyk7Ci0gICAgUHlPYmplY3QgKnJvLCAqaGludG1ldGg7Ci0gICAgUHlfc3NpemVfdCBydjsKLQotICAgIC8qIHRyeSBvLl9fbGVuX18oKSAqLwotICAgIHJ2ID0gUHlPYmplY3RfU2l6ZShvKTsKLSAgICBpZiAocnYgPj0gMCkKLSAgICAgICAgcmV0dXJuIHJ2OwotICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7Ci0gICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgIHJlcyA9IFB5T2JqZWN0X0xlbmd0aChvKTsKKyAgICBpZiAocmVzIDwgMCAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKSB7CiAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICB9Ci0KLSAgICAvKiB0cnkgby5fX2xlbmd0aF9oaW50X18oKSAqLwotICAgIGhpbnRtZXRoID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwobywgJlB5SWRfX19sZW5ndGhfaGludF9fKTsKLSAgICBpZiAoaGludG1ldGggPT0gTlVMTCkgewotICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHR2YWx1ZTsKKyAgICBlbHNlIHsKKyAgICAgICAgcmV0dXJuIHJlczsKICAgICB9Ci0gICAgcm8gPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGhpbnRtZXRoLCBOVUxMKTsKLSAgICBQeV9ERUNSRUYoaGludG1ldGgpOwotICAgIGlmIChybyA9PSBOVUxMKSB7Ci0gICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgIGhpbnQgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChvLCAmUHlJZF9fX2xlbmd0aF9oaW50X18pOworICAgIGlmIChoaW50ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gZGVmYXVsdHZhbHVlOwogICAgIH0KLSAgICBydiA9IFB5TG9uZ19DaGVjayhybykgPyBQeUxvbmdfQXNTc2l6ZV90KHJvKSA6IGRlZmF1bHR2YWx1ZTsKLSAgICBQeV9ERUNSRUYocm8pOwotICAgIHJldHVybiBydjsKKyAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGhpbnQsIE5VTEwpOworICAgIFB5X0RFQ1JFRihoaW50KTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkgeworICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgICAgIHJldHVybiBkZWZhdWx0dmFsdWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBlbHNlIGlmIChyZXN1bHQgPT0gUHlfTm90SW1wbGVtZW50ZWQpIHsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgIHJldHVybiBkZWZhdWx0dmFsdWU7CisgICAgfQorICAgIGlmICghUHlMb25nX0NoZWNrKHJlc3VsdCkpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIl9fbGVuZ3RoX2hpbnRfXyBtdXN0IGJlIGFuIGludGVnZXIsIG5vdCAlLjEwMHMiLAorICAgICAgICAgICAgUHlfVFlQRShyZXN1bHQpLT50cF9uYW1lKTsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcmVzID0gUHlMb25nX0FzU3NpemVfdChyZXN1bHQpOworICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgIGlmIChyZXMgPCAwICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAocmVzIDwgMCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwgIl9fbGVuZ3RoX2hpbnRfXygpIHNob3VsZCByZXR1cm4gPj0gMCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHJldHVybiByZXM7CiB9CiAKIFB5T2JqZWN0ICoKQEAgLTE2ODksNyArMTcxMCw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgLyogR3Vlc3MgcmVzdWx0IHNpemUgYW5kIGFsbG9jYXRlIHNwYWNlLiAqLwotICAgIG4gPSBfUHlPYmplY3RfTGVuZ3RoSGludCh2LCAxMCk7CisgICAgbiA9IFB5T2JqZWN0X0xlbmd0aEhpbnQodiwgMTApOwogICAgIGlmIChuID09IC0xKQogICAgICAgICBnb3RvIEZhaWw7CiAgICAgcmVzdWx0ID0gUHlUdXBsZV9OZXcobik7CmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jIGIvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYwppbmRleCA5ZjFjZjBhLi5kMWI3MGU1IDEwMDY0NAotLS0gYS9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jCisrKyBiL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMKQEAgLTEwMzgsNiArMTAzOCw3IEBACiAjZGVmaW5lIEZBU1RTRUFSQ0ggZmFzdHNlYXJjaAogI2RlZmluZSBTVFJJTkdMSUIoRikgc3RyaW5nbGliXyMjRgogI2RlZmluZSBTVFJJTkdMSUJfQ0hBUiBjaGFyCisjZGVmaW5lIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiAxCiAjZGVmaW5lIFNUUklOR0xJQl9MRU4gUHlCeXRlQXJyYXlfR0VUX1NJWkUKICNkZWZpbmUgU1RSSU5HTElCX1NUUiBQeUJ5dGVBcnJheV9BU19TVFJJTkcKICNkZWZpbmUgU1RSSU5HTElCX05FVyBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZQpAQCAtMTA0OSw2ICsxMDUwLDcgQEAKICNpbmNsdWRlICJzdHJpbmdsaWIvZmFzdHNlYXJjaC5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9jb3VudC5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9maW5kLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2pvaW4uaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvcGFydGl0aW9uLmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL3NwbGl0LmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2N0eXBlLmgiCkBAIC0yMjg4LDcgKzIyOTAsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIC8qIFRyeSB0byBkZXRlcm1pbmUgdGhlIGxlbmd0aCBvZiB0aGUgYXJndW1lbnQuIDMyIGlzIGFyYml0cmFyeS4gKi8KLSAgICBidWZfc2l6ZSA9IF9QeU9iamVjdF9MZW5ndGhIaW50KGFyZywgMzIpOworICAgIGJ1Zl9zaXplID0gUHlPYmplY3RfTGVuZ3RoSGludChhcmcsIDMyKTsKICAgICBpZiAoYnVmX3NpemUgPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKGl0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yNTc1LDczICsyNTc3LDkgQEAKIGluIGJldHdlZW4gZWFjaCBwYWlyLCBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgYSBuZXcgYnl0ZWFycmF5LiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X2pvaW4oUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppdCkKK2J5dGVhcnJheV9qb2luKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqaXRlcmFibGUpCiB7Ci0gICAgUHlPYmplY3QgKnNlcTsKLSAgICBQeV9zc2l6ZV90IG15c2l6ZSA9IFB5X1NJWkUoc2VsZik7Ci0gICAgUHlfc3NpemVfdCBpOwotICAgIFB5X3NzaXplX3QgbjsKLSAgICBQeU9iamVjdCAqKml0ZW1zOwotICAgIFB5X3NzaXplX3QgdG90YWxzaXplID0gMDsKLSAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIGNoYXIgKmRlc3Q7Ci0KLSAgICBzZXEgPSBQeVNlcXVlbmNlX0Zhc3QoaXQsICJjYW4gb25seSBqb2luIGFuIGl0ZXJhYmxlIik7Ci0gICAgaWYgKHNlcSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBuID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFKHNlcSk7Ci0gICAgaXRlbXMgPSBQeVNlcXVlbmNlX0Zhc3RfSVRFTVMoc2VxKTsKLQotICAgIC8qIENvbXB1dGUgdGhlIHRvdGFsIHNpemUsIGFuZCBjaGVjayB0aGF0IHRoZXkgYXJlIGFsbCBieXRlcyAqLwotICAgIC8qIFhYWCBTaG91bGRuJ3Qgd2UgdXNlIF9nZXRidWZmZXIoKSBvbiB0aGVzZSBpdGVtcyBpbnN0ZWFkPyAqLwotICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgUHlPYmplY3QgKm9iaiA9IGl0ZW1zW2ldOwotICAgICAgICBpZiAoIVB5Qnl0ZUFycmF5X0NoZWNrKG9iaikgJiYgIVB5Qnl0ZXNfQ2hlY2sob2JqKSkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiY2FuIG9ubHkgam9pbiBhbiBpdGVyYWJsZSBvZiBieXRlcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgIihpdGVtICVsZCBoYXMgdHlwZSAnJS4xMDBzJykiLAotICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFhYWCAlbGQgaXNuJ3QgcmlnaHQgb24gV2luNjQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAobG9uZylpLCBQeV9UWVBFKG9iaiktPnRwX25hbWUpOwotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgfQotICAgICAgICBpZiAoaSA+IDApCi0gICAgICAgICAgICB0b3RhbHNpemUgKz0gbXlzaXplOwotICAgICAgICB0b3RhbHNpemUgKz0gUHlfU0laRShvYmopOwotICAgICAgICBpZiAodG90YWxzaXplIDwgMCkgewotICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiBBbGxvY2F0ZSB0aGUgcmVzdWx0LCBhbmQgY29weSB0aGUgYnl0ZXMgKi8KLSAgICByZXN1bHQgPSBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCB0b3RhbHNpemUpOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICBkZXN0ID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHJlc3VsdCk7Ci0gICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewotICAgICAgICBQeU9iamVjdCAqb2JqID0gaXRlbXNbaV07Ci0gICAgICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5X1NJWkUob2JqKTsKLSAgICAgICAgY2hhciAqYnVmOwotICAgICAgICBpZiAoUHlCeXRlQXJyYXlfQ2hlY2sob2JqKSkKLSAgICAgICAgICAgYnVmID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKG9iaik7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgYnVmID0gUHlCeXRlc19BU19TVFJJTkcob2JqKTsKLSAgICAgICAgaWYgKGkpIHsKLSAgICAgICAgICAgIG1lbWNweShkZXN0LCBzZWxmLT5vYl9ieXRlcywgbXlzaXplKTsKLSAgICAgICAgICAgIGRlc3QgKz0gbXlzaXplOwotICAgICAgICB9Ci0gICAgICAgIG1lbWNweShkZXN0LCBidWYsIHNpemUpOwotICAgICAgICBkZXN0ICs9IHNpemU7Ci0gICAgfQotCi0gICAgLyogRG9uZSAqLwotICAgIFB5X0RFQ1JFRihzZXEpOwotICAgIHJldHVybiByZXN1bHQ7Ci0KLSAgICAvKiBFcnJvciBoYW5kbGluZyAqLwotICBlcnJvcjoKLSAgICBQeV9ERUNSRUYoc2VxKTsKLSAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gc3RyaW5nbGliX2J5dGVzX2pvaW4oc2VsZiwgaXRlcmFibGUpOwogfQogCiBQeURvY19TVFJWQVIoc3BsaXRsaW5lc19fZG9jX18sCmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVzb2JqZWN0LmMgYi9PYmplY3RzL2J5dGVzb2JqZWN0LmMKaW5kZXggNDc4OThmZS4uMDU2YWMzNiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9ieXRlc29iamVjdC5jCisrKyBiL09iamVjdHMvYnl0ZXNvYmplY3QuYwpAQCAtMTAsOSArMTAsMTggQEAKIHN0YXRpYyBQeV9zc2l6ZV90CiBfZ2V0YnVmZmVyKFB5T2JqZWN0ICpvYmosIFB5X2J1ZmZlciAqdmlldykKIHsKLSAgICBQeUJ1ZmZlclByb2NzICpidWZmZXIgPSBQeV9UWVBFKG9iaiktPnRwX2FzX2J1ZmZlcjsKKyAgICBQeUJ1ZmZlclByb2NzICpidWZmZXJwcm9jczsKKyAgICBpZiAoUHlCeXRlc19DaGVja0V4YWN0KG9iaikpIHsKKyAgICAgICAgLyogRmFzdCBwYXRoLCBlLmcuIGZvciAuam9pbigpIG9mIG1hbnkgYnl0ZXMgb2JqZWN0cyAqLworICAgICAgICBQeV9JTkNSRUYob2JqKTsKKyAgICAgICAgdmlldy0+b2JqID0gb2JqOworICAgICAgICB2aWV3LT5idWYgPSBQeUJ5dGVzX0FTX1NUUklORyhvYmopOworICAgICAgICB2aWV3LT5sZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKG9iaik7CisgICAgICAgIHJldHVybiB2aWV3LT5sZW47CisgICAgfQogCi0gICAgaWYgKGJ1ZmZlciA9PSBOVUxMIHx8IGJ1ZmZlci0+YmZfZ2V0YnVmZmVyID09IE5VTEwpCisgICAgYnVmZmVycHJvY3MgPSBQeV9UWVBFKG9iaiktPnRwX2FzX2J1ZmZlcjsKKyAgICBpZiAoYnVmZmVycHJvY3MgPT0gTlVMTCB8fCBidWZmZXJwcm9jcy0+YmZfZ2V0YnVmZmVyID09IE5VTEwpCiAgICAgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgIlR5cGUgJS4xMDBzIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgYnVmZmVyIEFQSSIsCkBAIC0yMCw3ICsyOSw3IEBACiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICBpZiAoYnVmZmVyLT5iZl9nZXRidWZmZXIob2JqLCB2aWV3LCBQeUJVRl9TSU1QTEUpIDwgMCkKKyAgICBpZiAoYnVmZmVycHJvY3MtPmJmX2dldGJ1ZmZlcihvYmosIHZpZXcsIFB5QlVGX1NJTVBMRSkgPCAwKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgcmV0dXJuIHZpZXctPmxlbjsKIH0KQEAgLTU2MCw2ICs1NjksNyBAQAogI2luY2x1ZGUgInN0cmluZ2xpYi9mYXN0c2VhcmNoLmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2NvdW50LmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2ZpbmQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvam9pbi5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9wYXJ0aXRpb24uaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvc3BsaXQuaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvY3R5cGUuaCIKQEAgLTExMTIsOTQgKzExMjIsOSBAQAogRXhhbXBsZTogYicuJy5qb2luKFtiJ2FiJywgYidwcScsIGIncnMnXSkgLT4gYidhYi5wcS5ycycuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19qb2luKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb3JpZykKK2J5dGVzX2pvaW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICppdGVyYWJsZSkKIHsKLSAgICBjaGFyICpzZXAgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKTsKLSAgICBjb25zdCBQeV9zc2l6ZV90IHNlcGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZik7Ci0gICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7Ci0gICAgY2hhciAqcDsKLSAgICBQeV9zc2l6ZV90IHNlcWxlbiA9IDA7Ci0gICAgc2l6ZV90IHN6ID0gMDsKLSAgICBQeV9zc2l6ZV90IGk7Ci0gICAgUHlPYmplY3QgKnNlcSwgKml0ZW07Ci0KLSAgICBzZXEgPSBQeVNlcXVlbmNlX0Zhc3Qob3JpZywgIiIpOwotICAgIGlmIChzZXEgPT0gTlVMTCkgewotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBzZXFsZW4gPSBQeVNlcXVlbmNlX1NpemUoc2VxKTsKLSAgICBpZiAoc2VxbGVuID09IDApIHsKLSAgICAgICAgUHlfREVDUkVGKHNlcSk7Ci0gICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmcoIiIpOwotICAgIH0KLSAgICBpZiAoc2VxbGVuID09IDEpIHsKLSAgICAgICAgaXRlbSA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTShzZXEsIDApOwotICAgICAgICBpZiAoUHlCeXRlc19DaGVja0V4YWN0KGl0ZW0pKSB7Ci0gICAgICAgICAgICBQeV9JTkNSRUYoaXRlbSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoc2VxKTsKLSAgICAgICAgICAgIHJldHVybiBpdGVtOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLyogVGhlcmUgYXJlIGF0IGxlYXN0IHR3byB0aGluZ3MgdG8gam9pbiwgb3IgZWxzZSB3ZSBoYXZlIGEgc3ViY2xhc3MKLSAgICAgKiBvZiB0aGUgYnVpbHRpbiB0eXBlcyBpbiB0aGUgc2VxdWVuY2UuCi0gICAgICogRG8gYSBwcmUtcGFzcyB0byBmaWd1cmUgb3V0IHRoZSB0b3RhbCBhbW91bnQgb2Ygc3BhY2Ugd2UnbGwKLSAgICAgKiBuZWVkIChzeiksIGFuZCBzZWUgd2hldGhlciBhbGwgYXJndW1lbnQgYXJlIGJ5dGVzLgotICAgICAqLwotICAgIC8qIFhYWCBTaG91bGRuJ3Qgd2UgdXNlIF9nZXRidWZmZXIoKSBvbiB0aGVzZSBpdGVtcyBpbnN0ZWFkPyAqLwotICAgIGZvciAoaSA9IDA7IGkgPCBzZXFsZW47IGkrKykgewotICAgICAgICBjb25zdCBzaXplX3Qgb2xkX3N6ID0gc3o7Ci0gICAgICAgIGl0ZW0gPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX0lURU0oc2VxLCBpKTsKLSAgICAgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKGl0ZW0pICYmICFQeUJ5dGVBcnJheV9DaGVjayhpdGVtKSkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UgaXRlbSAlemQ6IGV4cGVjdGVkIGJ5dGVzLCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiICUuODBzIGZvdW5kIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBpLCBQeV9UWVBFKGl0ZW0pLT50cF9uYW1lKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihzZXEpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgc3ogKz0gUHlfU0laRShpdGVtKTsKLSAgICAgICAgaWYgKGkgIT0gMCkKLSAgICAgICAgICAgIHN6ICs9IHNlcGxlbjsKLSAgICAgICAgaWYgKHN6IDwgb2xkX3N6IHx8IHN6ID4gUFlfU1NJWkVfVF9NQVgpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICJqb2luKCkgcmVzdWx0IGlzIHRvbyBsb25nIGZvciBieXRlcyIpOwotICAgICAgICAgICAgUHlfREVDUkVGKHNlcSk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLQotICAgIC8qIEFsbG9jYXRlIHJlc3VsdCBzcGFjZS4gKi8KLSAgICByZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyKilOVUxMLCBzeik7Ci0gICAgaWYgKHJlcyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihzZXEpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICAvKiBDYXRlbmF0ZSBldmVyeXRoaW5nLiAqLwotICAgIC8qIEknbSBub3Qgd29ycmllZCBhYm91dCBhIFB5Qnl0ZUFycmF5IGl0ZW0gZ3Jvd2luZyBiZWNhdXNlIHRoZXJlJ3MKLSAgICAgICBub3doZXJlIGluIHRoaXMgZnVuY3Rpb24gd2hlcmUgd2UgcmVsZWFzZSB0aGUgR0lMLiAqLwotICAgIHAgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXMpOwotICAgIGZvciAoaSA9IDA7IGkgPCBzZXFsZW47ICsraSkgewotICAgICAgICBzaXplX3QgbjsKLSAgICAgICAgY2hhciAqcTsKLSAgICAgICAgaWYgKGkpIHsKLSAgICAgICAgICAgIFB5X01FTUNQWShwLCBzZXAsIHNlcGxlbik7Ci0gICAgICAgICAgICBwICs9IHNlcGxlbjsKLSAgICAgICAgfQotICAgICAgICBpdGVtID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKHNlcSwgaSk7Ci0gICAgICAgIG4gPSBQeV9TSVpFKGl0ZW0pOwotICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhpdGVtKSkKLSAgICAgICAgICAgIHEgPSBQeUJ5dGVzX0FTX1NUUklORyhpdGVtKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcSA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhpdGVtKTsKLSAgICAgICAgUHlfTUVNQ1BZKHAsIHEsIG4pOwotICAgICAgICBwICs9IG47Ci0gICAgfQotCi0gICAgUHlfREVDUkVGKHNlcSk7Ci0gICAgcmV0dXJuIHJlczsKKyAgICByZXR1cm4gc3RyaW5nbGliX2J5dGVzX2pvaW4oc2VsZiwgaXRlcmFibGUpOwogfQogCiBQeU9iamVjdCAqCkBAIC0yMzE2LDggKzIyNDEsNiBAQAogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifHNzOmRlY29kZSIsIGt3bGlzdCwgJmVuY29kaW5nLCAmZXJyb3JzKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKGVuY29kaW5nID09IE5VTEwpCi0gICAgICAgIGVuY29kaW5nID0gUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZygpOwogICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Qoc2VsZiwgZW5jb2RpbmcsIGVycm9ycyk7CiB9CiAKQEAgLTI2NzksNyArMjYwMiw3IEBACiAgICAgfQogCiAgICAgLyogRm9yIGl0ZXJhdG9yIHZlcnNpb24sIGNyZWF0ZSBhIHN0cmluZyBvYmplY3QgYW5kIHJlc2l6ZSBhcyBuZWVkZWQgKi8KLSAgICBzaXplID0gX1B5T2JqZWN0X0xlbmd0aEhpbnQoeCwgNjQpOworICAgIHNpemUgPSBQeU9iamVjdF9MZW5ndGhIaW50KHgsIDY0KTsKICAgICBpZiAoc2l6ZSA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICAvKiBBbGxvY2F0ZSBhbiBleHRyYSBieXRlIHRvIHByZXZlbnQgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgpIGZyb20KZGlmZiAtLWdpdCBhL09iamVjdHMvY29tcGxleG9iamVjdC5jIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKaW5kZXggNDAzYzYwYy4uNTQ4MzhjYyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKQEAgLTI3MSw2ICsyNzEsMTIgQEAKICAgICBpZiAoZikgewogICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhmLCBOVUxMKTsKICAgICAgICAgUHlfREVDUkVGKGYpOworICAgICAgICBpZiAocmVzICE9IE5VTEwgJiYgIVB5Q29tcGxleF9DaGVjayhyZXMpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJfX2NvbXBsZXhfXyBzaG91bGQgcmV0dXJuIGEgY29tcGxleCBvYmplY3QiKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXMpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHJlczsKICAgICB9CiAgICAgcmV0dXJuIE5VTEw7CkBAIC0yOTYsMTIgKzMwMiw2IEBACiAgICAgbmV3b3AgPSB0cnlfY29tcGxleF9zcGVjaWFsX21ldGhvZChvcCk7CiAKICAgICBpZiAobmV3b3ApIHsKLSAgICAgICAgaWYgKCFQeUNvbXBsZXhfQ2hlY2sobmV3b3ApKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICJfX2NvbXBsZXhfXyBzaG91bGQgcmV0dXJuIGEgY29tcGxleCBvYmplY3QiKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdvcCk7Ci0gICAgICAgICAgICByZXR1cm4gY3Y7Ci0gICAgICAgIH0KICAgICAgICAgY3YgPSAoKFB5Q29tcGxleE9iamVjdCAqKW5ld29wKS0+Y3ZhbDsKICAgICAgICAgUHlfREVDUkVGKG5ld29wKTsKICAgICAgICAgcmV0dXJuIGN2OwpAQCAtNzA1LDcgKzcwNSw3IEBACiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOl9fZm9ybWF0X18iLCAmZm9ybWF0X3NwZWMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyLCAwKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlcik7CiAgICAgcmV0ID0gX1B5Q29tcGxleF9Gb3JtYXRBZHZhbmNlZFdyaXRlcigKICAgICAgICAgJndyaXRlciwKICAgICAgICAgc2VsZiwKZGlmZiAtLWdpdCBhL09iamVjdHMvZGVzY3JvYmplY3QuYyBiL09iamVjdHMvZGVzY3JvYmplY3QuYwppbmRleCBhYmNjMDAyLi4zY2YwMGQ1IDEwMDY0NAotLS0gYS9PYmplY3RzL2Rlc2Nyb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9kZXNjcm9iamVjdC5jCkBAIC0xMTUsNyArMTE1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICgoUHlUeXBlT2JqZWN0ICopdHlwZSktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5Q0Z1bmN0aW9uX05ldyhkZXNjci0+ZF9tZXRob2QsIHR5cGUpOworICAgIHJldHVybiBQeUNGdW5jdGlvbl9OZXdFeChkZXNjci0+ZF9tZXRob2QsIHR5cGUsIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTI1LDcgKzEyNSw3IEBACiAKICAgICBpZiAoZGVzY3JfY2hlY2soKFB5RGVzY3JPYmplY3QgKilkZXNjciwgb2JqLCAmcmVzKSkKICAgICAgICAgcmV0dXJuIHJlczsKLSAgICByZXR1cm4gUHlDRnVuY3Rpb25fTmV3KGRlc2NyLT5kX21ldGhvZCwgb2JqKTsKKyAgICByZXR1cm4gUHlDRnVuY3Rpb25fTmV3RXgoZGVzY3ItPmRfbWV0aG9kLCBvYmosIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjM5LDcgKzIzOSw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGZ1bmMgPSBQeUNGdW5jdGlvbl9OZXcoZGVzY3ItPmRfbWV0aG9kLCBzZWxmKTsKKyAgICBmdW5jID0gUHlDRnVuY3Rpb25fTmV3RXgoZGVzY3ItPmRfbWV0aG9kLCBzZWxmLCBOVUxMKTsKICAgICBpZiAoZnVuYyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBhcmdzID0gUHlUdXBsZV9HZXRTbGljZShhcmdzLCAxLCBhcmdjKTsKQEAgLTI5Miw3ICsyOTIsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBmdW5jID0gUHlDRnVuY3Rpb25fTmV3KGRlc2NyLT5kX21ldGhvZCwgc2VsZik7CisgICAgZnVuYyA9IFB5Q0Z1bmN0aW9uX05ld0V4KGRlc2NyLT5kX21ldGhvZCwgc2VsZiwgTlVMTCk7CiAgICAgaWYgKGZ1bmMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgYXJncyA9IFB5VHVwbGVfR2V0U2xpY2UoYXJncywgMSwgYXJnYyk7CmRpZmYgLS1naXQgYS9PYmplY3RzL2RpY3RvYmplY3QuYyBiL09iamVjdHMvZGljdG9iamVjdC5jCmluZGV4IDhjMDllNDYuLjIwODg4OGQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZGljdG9iamVjdC5jCisrKyBiL09iamVjdHMvZGljdG9iamVjdC5jCkBAIC0yMTE0LDEzICsyMTE0LDE4IEBACiAgICAgICAgIGlmIChhdmFsICE9IE5VTEwpIHsKICAgICAgICAgICAgIGludCBjbXA7CiAgICAgICAgICAgICBQeU9iamVjdCAqYnZhbDsKKyAgICAgICAgICAgIFB5T2JqZWN0ICoqdmFkZHI7CiAgICAgICAgICAgICBQeU9iamVjdCAqa2V5ID0gZXAtPm1lX2tleTsKICAgICAgICAgICAgIC8qIHRlbXBvcmFyaWx5IGJ1bXAgYXZhbCdzIHJlZmNvdW50IHRvIGVuc3VyZSBpdCBzdGF5cwogICAgICAgICAgICAgICAgYWxpdmUgdW50aWwgd2UncmUgZG9uZSB3aXRoIGl0ICovCiAgICAgICAgICAgICBQeV9JTkNSRUYoYXZhbCk7CiAgICAgICAgICAgICAvKiBkaXR0byBmb3Iga2V5ICovCiAgICAgICAgICAgICBQeV9JTkNSRUYoa2V5KTsKLSAgICAgICAgICAgIGJ2YWwgPSBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcigoUHlPYmplY3QgKiliLCBrZXkpOworICAgICAgICAgICAgLyogcmV1c2UgdGhlIGtub3duIGhhc2ggdmFsdWUgKi8KKyAgICAgICAgICAgIGlmICgoYi0+bWFfa2V5cy0+ZGtfbG9va3VwKShiLCBrZXksIGVwLT5tZV9oYXNoLCAmdmFkZHIpID09IE5VTEwpCisgICAgICAgICAgICAgICAgYnZhbCA9IE5VTEw7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYnZhbCA9ICp2YWRkcjsKICAgICAgICAgICAgIFB5X0RFQ1JFRihrZXkpOwogICAgICAgICAgICAgaWYgKGJ2YWwgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhdmFsKTsKQEAgLTIyMDYsMTkgKzIyMTEsMTkgQEAKICAgICByZXR1cm4gdmFsOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotZGljdF9zZXRkZWZhdWx0KHJlZ2lzdGVyIFB5RGljdE9iamVjdCAqbXAsIFB5T2JqZWN0ICphcmdzKQorUHlPYmplY3QgKgorUHlEaWN0X1NldERlZmF1bHQoUHlPYmplY3QgKmQsIFB5T2JqZWN0ICprZXksIFB5T2JqZWN0ICpkZWZhdWx0b2JqKQogewotICAgIFB5T2JqZWN0ICprZXk7Ci0gICAgUHlPYmplY3QgKmZhaWxvYmogPSBQeV9Ob25lOworICAgIFB5RGljdE9iamVjdCAqbXAgPSAoUHlEaWN0T2JqZWN0ICopZDsKICAgICBQeU9iamVjdCAqdmFsID0gTlVMTDsKICAgICBQeV9oYXNoX3QgaGFzaDsKICAgICBQeURpY3RLZXlFbnRyeSAqZXA7CiAgICAgUHlPYmplY3QgKip2YWx1ZV9hZGRyOwogCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAic2V0ZGVmYXVsdCIsIDEsIDIsICZrZXksICZmYWlsb2JqKSkKKyAgICBpZiAoIVB5RGljdF9DaGVjayhkKSkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0KKyAgICB9CiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8CiAgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CiAgICAgICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGtleSk7CkBAIC0yMjM2LDIwICsyMjQxLDMyIEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICBlcCA9IGZpbmRfZW1wdHlfc2xvdChtcCwga2V5LCBoYXNoLCAmdmFsdWVfYWRkcik7CiAgICAgICAgIH0KLSAgICAgICAgUHlfSU5DUkVGKGZhaWxvYmopOworICAgICAgICBQeV9JTkNSRUYoZGVmYXVsdG9iaik7CiAgICAgICAgIFB5X0lOQ1JFRihrZXkpOwotICAgICAgICBNQUlOVEFJTl9UUkFDS0lORyhtcCwga2V5LCBmYWlsb2JqKTsKKyAgICAgICAgTUFJTlRBSU5fVFJBQ0tJTkcobXAsIGtleSwgZGVmYXVsdG9iaik7CiAgICAgICAgIGVwLT5tZV9rZXkgPSBrZXk7CiAgICAgICAgIGVwLT5tZV9oYXNoID0gaGFzaDsKLSAgICAgICAgKnZhbHVlX2FkZHIgPSBmYWlsb2JqOwotICAgICAgICB2YWwgPSBmYWlsb2JqOworICAgICAgICAqdmFsdWVfYWRkciA9IGRlZmF1bHRvYmo7CisgICAgICAgIHZhbCA9IGRlZmF1bHRvYmo7CiAgICAgICAgIG1wLT5tYV9rZXlzLT5ka191c2FibGUtLTsKICAgICAgICAgbXAtPm1hX3VzZWQrKzsKICAgICB9Ci0gICAgUHlfSU5DUkVGKHZhbCk7CiAgICAgcmV0dXJuIHZhbDsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2RpY3Rfc2V0ZGVmYXVsdChQeURpY3RPYmplY3QgKm1wLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqa2V5LCAqdmFsOworICAgIFB5T2JqZWN0ICpkZWZhdWx0b2JqID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInNldGRlZmF1bHQiLCAxLCAyLCAma2V5LCAmZGVmYXVsdG9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgdmFsID0gUHlEaWN0X1NldERlZmF1bHQoKFB5T2JqZWN0ICopbXAsIGtleSwgZGVmYXVsdG9iaik7CisgICAgUHlfWElOQ1JFRih2YWwpOworICAgIHJldHVybiB2YWw7Cit9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBkaWN0X2NsZWFyKHJlZ2lzdGVyIFB5RGljdE9iamVjdCAqbXApCmRpZmYgLS1naXQgYS9PYmplY3RzL2V4Y2VwdGlvbnMuYyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCmluZGV4IDZiMDQ3MDAuLjc5YmJiOGYgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZXhjZXB0aW9ucy5jCisrKyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCkBAIC0yMzI3LDcgKzIzMjcsNyBAQAogICAgIH0KIAogI2lmZGVmIE1TX1dJTkRPV1MKLSNpbmNsdWRlIDxXaW5zb2NrMi5oPgorI2luY2x1ZGUgPHdpbnNvY2syLmg+CiAvKiBUaGUgZm9sbG93aW5nIGNvbnN0YW50cyB3ZXJlIGFkZGVkIHRvIGVycm5vLmggaW4gVlMyMDEwIGJ1dCBoYXZlCiAgICBwcmVmZXJyZWQgV1NBIGVxdWl2YWxlbnRzLiAqLwogI3VuZGVmIEVBRERSSU5VU0UKZGlmZiAtLWdpdCBhL09iamVjdHMvZmxvYXRvYmplY3QuYyBiL09iamVjdHMvZmxvYXRvYmplY3QuYwppbmRleCBiNTcxY2E4Li5jNTRjOGUxIDEwMDY0NAotLS0gYS9PYmplY3RzL2Zsb2F0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9mbG9hdG9iamVjdC5jCkBAIC0xNzExLDcgKzE3MTEsNyBAQAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpfX2Zvcm1hdF9fIiwgJmZvcm1hdF9zcGVjKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlciwgMCk7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOwogICAgIHJldCA9IF9QeUZsb2F0X0Zvcm1hdEFkdmFuY2VkV3JpdGVyKAogICAgICAgICAmd3JpdGVyLAogICAgICAgICBzZWxmLApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9mcmFtZW9iamVjdC5jIGIvT2JqZWN0cy9mcmFtZW9iamVjdC5jCmluZGV4IDgwOGU1OTUuLjZmZmYzNzAgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZnJhbWVvYmplY3QuYworKysgYi9PYmplY3RzL2ZyYW1lb2JqZWN0LmMKQEAgLTQ2Niw3ICs0NjYsNyBAQAogZnJhbWVfdHJhdmVyc2UoUHlGcmFtZU9iamVjdCAqZiwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCiB7CiAgICAgUHlPYmplY3QgKipmYXN0bG9jYWxzLCAqKnA7Ci0gICAgaW50IGksIHNsb3RzOworICAgIFB5X3NzaXplX3QgaSwgc2xvdHM7CiAKICAgICBQeV9WSVNJVChmLT5mX2JhY2spOwogICAgIFB5X1ZJU0lUKGYtPmZfY29kZSk7CkBAIC00OTYsNyArNDk2LDcgQEAKIGZyYW1lX2NsZWFyKFB5RnJhbWVPYmplY3QgKmYpCiB7CiAgICAgUHlPYmplY3QgKipmYXN0bG9jYWxzLCAqKnAsICoqb2xkdG9wOwotICAgIGludCBpLCBzbG90czsKKyAgICBQeV9zc2l6ZV90IGksIHNsb3RzOwogCiAgICAgLyogQmVmb3JlIGFueXRoaW5nIGVsc2UsIG1ha2Ugc3VyZSB0aGF0IHRoaXMgZnJhbWUgaXMgY2xlYXJseSBtYXJrZWQKICAgICAgKiBhcyBiZWluZyBkZWZ1bmN0ISAgRWxzZSwgZS5nLiwgYSBnZW5lcmF0b3IgcmVhY2hhYmxlIGZyb20gdGhpcwpAQCAtODQ4LDcgKzg0OCw3IEBACiAgICAgUHlPYmplY3QgKmVycm9yX3R5cGUsICplcnJvcl92YWx1ZSwgKmVycm9yX3RyYWNlYmFjazsKICAgICBQeUNvZGVPYmplY3QgKmNvOwogICAgIFB5X3NzaXplX3QgajsKLSAgICBpbnQgbmNlbGxzLCBuZnJlZXZhcnM7CisgICAgUHlfc3NpemVfdCBuY2VsbHMsIG5mcmVldmFyczsKICAgICBpZiAoZiA9PSBOVUxMKQogICAgICAgICByZXR1cm47CiAgICAgbG9jYWxzID0gZi0+Zl9sb2NhbHM7CkBAIC05MDAsNyArOTAwLDcgQEAKICAgICBQeU9iamVjdCAqZXJyb3JfdHlwZSwgKmVycm9yX3ZhbHVlLCAqZXJyb3JfdHJhY2ViYWNrOwogICAgIFB5Q29kZU9iamVjdCAqY287CiAgICAgUHlfc3NpemVfdCBqOwotICAgIGludCBuY2VsbHMsIG5mcmVldmFyczsKKyAgICBQeV9zc2l6ZV90IG5jZWxscywgbmZyZWV2YXJzOwogICAgIGlmIChmID09IE5VTEwpCiAgICAgICAgIHJldHVybjsKICAgICBsb2NhbHMgPSBmLT5mX2xvY2FsczsKZGlmZiAtLWdpdCBhL09iamVjdHMvaXRlcm9iamVjdC5jIGIvT2JqZWN0cy9pdGVyb2JqZWN0LmMKaW5kZXggM2NmYmVhZi4uOWFjZDFiNyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9pdGVyb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9pdGVyb2JqZWN0LmMKQEAgLTc2LDkgKzc2LDE0IEBACiAgICAgUHlfc3NpemVfdCBzZXFzaXplLCBsZW47CiAKICAgICBpZiAoaXQtPml0X3NlcSkgewotICAgICAgICBzZXFzaXplID0gUHlTZXF1ZW5jZV9TaXplKGl0LT5pdF9zZXEpOwotICAgICAgICBpZiAoc2Vxc2l6ZSA9PSAtMSkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0xlbihpdC0+aXRfc2VxKSkgeworICAgICAgICAgICAgc2Vxc2l6ZSA9IFB5U2VxdWVuY2VfU2l6ZShpdC0+aXRfc2VxKTsKKyAgICAgICAgICAgIGlmIChzZXFzaXplID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworICAgICAgICB9CiAgICAgICAgIGxlbiA9IHNlcXNpemUgLSBpdC0+aXRfaW5kZXg7CiAgICAgICAgIGlmIChsZW4gPj0gMCkKICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QobGVuKTsKZGlmZiAtLWdpdCBhL09iamVjdHMvbGlzdG9iamVjdC5jIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKaW5kZXggNmUwZDA5NC4uNGNjMzRiNSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9saXN0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKQEAgLTgyNiw3ICs4MjYsNyBAQAogICAgIGl0ZXJuZXh0ID0gKml0LT5vYl90eXBlLT50cF9pdGVybmV4dDsKIAogICAgIC8qIEd1ZXNzIGEgcmVzdWx0IGxpc3Qgc2l6ZS4gKi8KLSAgICBuID0gX1B5T2JqZWN0X0xlbmd0aEhpbnQoYiwgOCk7CisgICAgbiA9IFB5T2JqZWN0X0xlbmd0aEhpbnQoYiwgOCk7CiAgICAgaWYgKG4gPT0gLTEpIHsKICAgICAgICAgUHlfREVDUkVGKGl0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9PYmplY3RzL2xvbmdvYmplY3QuYyBiL09iamVjdHMvbG9uZ29iamVjdC5jCmluZGV4IGQ0ZGM0NWEuLjJiMDQ4MDQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbG9uZ29iamVjdC5jCisrKyBiL09iamVjdHMvbG9uZ29iamVjdC5jCkBAIC05NTQsOSArOTU0LDYgQEAKIFB5TG9uZ19Gcm9tVm9pZFB0cih2b2lkICpwKQogewogI2lmIFNJWkVPRl9WT0lEX1AgPD0gU0laRU9GX0xPTkcKLSAgICAvKiBzcGVjaWFsLWNhc2UgbnVsbCBwb2ludGVyICovCi0gICAgaWYgKCFwKQotICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKDApOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZygodW5zaWduZWQgbG9uZykoUHlfdWludHB0cl90KXApOwogI2Vsc2UKIApAQCAtOTY2LDkgKzk2Myw2IEBACiAjaWYgU0laRU9GX0xPTkdfTE9ORyA8IFNJWkVPRl9WT0lEX1AKICMgICBlcnJvciAiUHlMb25nX0Zyb21Wb2lkUHRyOiBzaXplb2YoUFlfTE9OR19MT05HKSA8IHNpemVvZih2b2lkKikiCiAjZW5kaWYKLSAgICAvKiBzcGVjaWFsLWNhc2UgbnVsbCBwb2ludGVyICovCi0gICAgaWYgKCFwKQotICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKDApOwogICAgIHJldHVybiBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmcoKHVuc2lnbmVkIFBZX0xPTkdfTE9ORykoUHlfdWludHB0cl90KXApOwogI2VuZGlmIC8qIFNJWkVPRl9WT0lEX1AgPD0gU0laRU9GX0xPTkcgKi8KIApAQCAtMTAxNCw3ICsxMDA4LDYgQEAKICAqIHJld3JpdHRlbiB0byB1c2UgdGhlIG5ld2VyIFB5TG9uZ197QXMsRnJvbX1CeXRlQXJyYXkgQVBJLgogICovCiAKLSNkZWZpbmUgSVNfTElUVExFX0VORElBTiAoaW50KSoodW5zaWduZWQgY2hhciopJm9uZQogI2RlZmluZSBQWV9BQlNfTExPTkdfTUlOICgwLSh1bnNpZ25lZCBQWV9MT05HX0xPTkcpUFlfTExPTkdfTUlOKQogCiAvKiBDcmVhdGUgYSBuZXcgbG9uZyBpbnQgb2JqZWN0IGZyb20gYSBDIFBZX0xPTkdfTE9ORyBpbnQuICovCkBAIC0xMTY3LDcgKzExNjAsNiBAQAogewogICAgIFB5TG9uZ09iamVjdCAqdjsKICAgICBQWV9MT05HX0xPTkcgYnl0ZXM7Ci0gICAgaW50IG9uZSA9IDE7CiAgICAgaW50IHJlczsKIAogICAgIGlmICh2diA9PSBOVUxMKSB7CkBAIC0xMjAyLDcgKzExOTQsNyBAQAogICAgIGNhc2UgMTogcmV0dXJuIHYtPm9iX2RpZ2l0WzBdOwogICAgIH0KICAgICByZXMgPSBfUHlMb25nX0FzQnl0ZUFycmF5KChQeUxvbmdPYmplY3QgKil2diwgKHVuc2lnbmVkIGNoYXIgKikmYnl0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSVpFT0ZfTE9OR19MT05HLCBJU19MSVRUTEVfRU5ESUFOLCAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWkVPRl9MT05HX0xPTkcsIFBZX0xJVFRMRV9FTkRJQU4sIDEpOwogCiAgICAgLyogUGxhbiA5IGNhbid0IGhhbmRsZSBQWV9MT05HX0xPTkcgaW4gPyA6IGV4cHJlc3Npb25zICovCiAgICAgaWYgKHJlcyA8IDApCkBAIC0xMjE5LDcgKzEyMTEsNiBAQAogewogICAgIFB5TG9uZ09iamVjdCAqdjsKICAgICB1bnNpZ25lZCBQWV9MT05HX0xPTkcgYnl0ZXM7Ci0gICAgaW50IG9uZSA9IDE7CiAgICAgaW50IHJlczsKIAogICAgIGlmICh2diA9PSBOVUxMKSB7CkBAIC0xMjM4LDcgKzEyMjksNyBAQAogICAgIH0KIAogICAgIHJlcyA9IF9QeUxvbmdfQXNCeXRlQXJyYXkoKFB5TG9uZ09iamVjdCAqKXZ2LCAodW5zaWduZWQgY2hhciAqKSZieXRlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWkVPRl9MT05HX0xPTkcsIElTX0xJVFRMRV9FTkRJQU4sIDApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0laRU9GX0xPTkdfTE9ORywgUFlfTElUVExFX0VORElBTiwgMCk7CiAKICAgICAvKiBQbGFuIDkgY2FuJ3QgaGFuZGxlIFBZX0xPTkdfTE9ORyBpbiA/IDogZXhwcmVzc2lvbnMgKi8KICAgICBpZiAocmVzIDwgMCkKQEAgLTEzMTQsNyArMTMwNSw2IEBACiAgICAgICAgIHJldHVybiAodW5zaWduZWQgUFlfTE9OR19MT05HKS0xOwogICAgIH0KIH0KLSN1bmRlZiBJU19MSVRUTEVfRU5ESUFOCiAKIC8qIEdldCBhIEMgbG9uZyBsb25nIGludCBmcm9tIGEgbG9uZyBpbnQgb2JqZWN0IG9yIGFueSBvYmplY3QgdGhhdCBoYXMgYW4KICAgIF9faW50X18gbWV0aG9kLgpAQCAtMTY3Niw3ICsxNjY2LDYgQEAKICAgICAgICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBwID0gKFRZUEUqKVB5VW5pY29kZV9EQVRBKHN0cikgKyBzdHJsZW47ICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgKnAgPSAnXDAnOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIC8qIHBvdXRbMF0gdGhyb3VnaCBwb3V0W3NpemUtMl0gY29udHJpYnV0ZSBleGFjdGx5ICAgICAgICAgICAgXAogICAgICAgICAgICBfUHlMb25nX0RFQ0lNQUxfU0hJRlQgZGlnaXRzIGVhY2ggKi8gICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgZm9yIChpPTA7IGkgPCBzaXplIC0gMTsgaSsrKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC00MTAxLDcgKzQwOTAsNyBAQAogCiBzdGF0aWMgUHlPYmplY3QgKgogbG9uZ19iaXR3aXNlKFB5TG9uZ09iamVjdCAqYSwKLSAgICAgICAgICAgICBpbnQgb3AsICAvKiAnJicsICd8JywgJ14nICovCisgICAgICAgICAgICAgY2hhciBvcCwgIC8qICcmJywgJ3wnLCAnXicgKi8KICAgICAgICAgICAgICBQeUxvbmdPYmplY3QgKmIpCiB7CiAgICAgaW50IG5lZ2EsIG5lZ2IsIG5lZ3o7CkBAIC00Mjc2LDggKzQyNjUsNyBAQAogbG9uZ19uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CiAgICAgUHlPYmplY3QgKm9iYXNlID0gTlVMTCwgKnggPSBOVUxMOwotICAgIGxvbmcgYmFzZTsKLSAgICBpbnQgb3ZlcmZsb3c7CisgICAgUHlfc3NpemVfdCBiYXNlOwogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsieCIsICJiYXNlIiwgMH07CiAKICAgICBpZiAodHlwZSAhPSAmUHlMb25nX1R5cGUpCkBAIC00Mjk2LDEwICs0Mjg0LDEwIEBACiAgICAgaWYgKG9iYXNlID09IE5VTEwpCiAgICAgICAgIHJldHVybiBQeU51bWJlcl9Mb25nKHgpOwogCi0gICAgYmFzZSA9IFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdyhvYmFzZSwgJm92ZXJmbG93KTsKKyAgICBiYXNlID0gUHlOdW1iZXJfQXNTc2l6ZV90KG9iYXNlLCBOVUxMKTsKICAgICBpZiAoYmFzZSA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAob3ZlcmZsb3cgfHwgKGJhc2UgIT0gMCAmJiBiYXNlIDwgMikgfHwgYmFzZSA+IDM2KSB7CisgICAgaWYgKChiYXNlICE9IDAgJiYgYmFzZSA8IDIpIHx8IGJhc2UgPiAzNikgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJpbnQoKSBiYXNlIG11c3QgYmUgPj0gMiBhbmQgPD0gMzYiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC00MzkxLDcgKzQzNzksNyBAQAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpfX2Zvcm1hdF9fIiwgJmZvcm1hdF9zcGVjKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlciwgMCk7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOwogICAgIHJldCA9IF9QeUxvbmdfRm9ybWF0QWR2YW5jZWRXcml0ZXIoCiAgICAgICAgICZ3cml0ZXIsCiAgICAgICAgIHNlbGYsCmRpZmYgLS1naXQgYS9PYmplY3RzL21ldGhvZG9iamVjdC5jIGIvT2JqZWN0cy9tZXRob2RvYmplY3QuYwppbmRleCBmMDY4NWRkLi45OTQ0ZmFkIDEwMDY0NAotLS0gYS9PYmplY3RzL21ldGhvZG9iamVjdC5jCisrKyBiL09iamVjdHMvbWV0aG9kb2JqZWN0LmMKQEAgLTEzLDYgKzEzLDE1IEBACiAjZGVmaW5lIFB5Q0Z1bmN0aW9uX01BWEZSRUVMSVNUIDI1NgogI2VuZGlmCiAKKy8qIHVuZGVmaW5lIG1hY3JvIHRyYW1wb2xpbmUgdG8gUHlDRnVuY3Rpb25fTmV3RXggKi8KKyN1bmRlZiBQeUNGdW5jdGlvbl9OZXcKKworUHlPYmplY3QgKgorUHlDRnVuY3Rpb25fTmV3KFB5TWV0aG9kRGVmICptbCwgUHlPYmplY3QgKnNlbGYpCit7CisgICAgcmV0dXJuIFB5Q0Z1bmN0aW9uX05ld0V4KG1sLCBzZWxmLCBOVUxMKTsKK30KKwogUHlPYmplY3QgKgogUHlDRnVuY3Rpb25fTmV3RXgoUHlNZXRob2REZWYgKm1sLCBQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm1vZHVsZSkKIHsKQEAgLTM0NiwxNyArMzU1LDMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcmVlIFB5Q0Z1bmN0aW9uT2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bWZyZWUsIHNpemVvZihQeUNGdW5jdGlvbk9iamVjdCkpOwogfQotCi0vKiBQeUNGdW5jdGlvbl9OZXcoKSBpcyBub3cganVzdCBhIG1hY3JvIHRoYXQgY2FsbHMgUHlDRnVuY3Rpb25fTmV3RXgoKSwKLSAgIGJ1dCBpdCdzIHBhcnQgb2YgdGhlIEFQSSBzbyB3ZSBuZWVkIHRvIGtlZXAgYSBmdW5jdGlvbiBhcm91bmQgdGhhdAotICAgZXhpc3RpbmcgQyBleHRlbnNpb25zIGNhbiBjYWxsLgotKi8KLQotI3VuZGVmIFB5Q0Z1bmN0aW9uX05ldwotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUNGdW5jdGlvbl9OZXcoUHlNZXRob2REZWYgKiwgUHlPYmplY3QgKik7Ci0KLVB5T2JqZWN0ICoKLVB5Q0Z1bmN0aW9uX05ldyhQeU1ldGhvZERlZiAqbWwsIFB5T2JqZWN0ICpzZWxmKQotewotICAgIHJldHVybiBQeUNGdW5jdGlvbl9OZXdFeChtbCwgc2VsZiwgTlVMTCk7Ci19CmRpZmYgLS1naXQgYS9PYmplY3RzL25hbWVzcGFjZW9iamVjdC5jIGIvT2JqZWN0cy9uYW1lc3BhY2VvYmplY3QuYwppbmRleCBmZjI3OGQzLi43ZTkxMDdhIDEwMDY0NAotLS0gYS9PYmplY3RzL25hbWVzcGFjZW9iamVjdC5jCisrKyBiL09iamVjdHMvbmFtZXNwYWNlb2JqZWN0LmMKQEAgLTY2LDE2ICs2NiwyMCBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1uYW1lc3BhY2VfcmVwcihfUHlOYW1lc3BhY2VPYmplY3QgKm5zKQorbmFtZXNwYWNlX3JlcHIoUHlPYmplY3QgKm5zKQogewogICAgIGludCBpLCBsb29wX2Vycm9yID0gMDsKICAgICBQeU9iamVjdCAqcGFpcnMgPSBOVUxMLCAqZCA9IE5VTEwsICprZXlzID0gTlVMTCwgKmtleXNfaXRlciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmtleTsKICAgICBQeU9iamVjdCAqc2VwYXJhdG9yLCAqcGFpcnNyZXByLCAqcmVwciA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqIG5hbWU7CiAKLSAgICBpID0gUHlfUmVwckVudGVyKChQeU9iamVjdCAqKW5zKTsKKyAgICBuYW1lID0gKFB5X1RZUEUobnMpID09ICZfUHlOYW1lc3BhY2VfVHlwZSkgPyAibmFtZXNwYWNlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IG5zLT5vYl90eXBlLT50cF9uYW1lOworCisgICAgaSA9IFB5X1JlcHJFbnRlcihucyk7CiAgICAgaWYgKGkgIT0gMCkgewotICAgICAgICByZXR1cm4gaSA+IDAgPyBQeVVuaWNvZGVfRnJvbVN0cmluZygibmFtZXNwYWNlKC4uLikiKSA6IE5VTEw7CisgICAgICAgIHJldHVybiBpID4gMCA/IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlcyguLi4pIiwgbmFtZSkgOiBOVUxMOwogICAgIH0KIAogICAgIHBhaXJzID0gUHlMaXN0X05ldygwKTsKQEAgLTEyNyw4ICsxMzEsNyBAQAogICAgIGlmIChwYWlyc3JlcHIgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIAotICAgIHJlcHIgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJXMoJVMpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChQeU9iamVjdCAqKW5zKS0+b2JfdHlwZS0+dHBfbmFtZSwgcGFpcnNyZXByKTsKKyAgICByZXByID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVzKCVTKSIsIG5hbWUsIHBhaXJzcmVwcik7CiAgICAgUHlfREVDUkVGKHBhaXJzcmVwcik7CiAKIGVycm9yOgpAQCAtMTM2LDcgKzEzOSw3IEBACiAgICAgUHlfWERFQ1JFRihkKTsKICAgICBQeV9YREVDUkVGKGtleXMpOwogICAgIFB5X1hERUNSRUYoa2V5c19pdGVyKTsKLSAgICBQeV9SZXByTGVhdmUoKFB5T2JqZWN0ICopbnMpOworICAgIFB5X1JlcHJMZWF2ZShucyk7CiAKICAgICByZXR1cm4gcmVwcjsKIH0KQEAgLTE1OCwxNCArMTYxLDQ5IEBACiB9CiAKIAorc3RhdGljIFB5T2JqZWN0ICoKK25hbWVzcGFjZV9yaWNoY29tcGFyZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm90aGVyLCBpbnQgb3ApCit7CisgICAgaWYgKFB5T2JqZWN0X0lzSW5zdGFuY2Uoc2VsZiwgKFB5T2JqZWN0ICopJl9QeU5hbWVzcGFjZV9UeXBlKSAmJgorICAgICAgICAgICAgUHlPYmplY3RfSXNJbnN0YW5jZShvdGhlciwgKFB5T2JqZWN0ICopJl9QeU5hbWVzcGFjZV9UeXBlKSkKKyAgICAgICAgcmV0dXJuIFB5T2JqZWN0X1JpY2hDb21wYXJlKCgoX1B5TmFtZXNwYWNlT2JqZWN0ICopc2VsZiktPm5zX2RpY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoX1B5TmFtZXNwYWNlT2JqZWN0ICopb3RoZXIpLT5uc19kaWN0LCBvcCk7CisgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKKyAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Cit9CisKKworUHlEb2NfU1RSVkFSKG5hbWVzcGFjZV9yZWR1Y2VfX2RvY19fLCAiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZyIpOworCitzdGF0aWMgUHlPYmplY3QgKgorbmFtZXNwYWNlX3JlZHVjZShyZWdpc3RlciBfUHlOYW1lc3BhY2VPYmplY3QgKm5zKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQsICphcmdzID0gUHlUdXBsZV9OZXcoMCk7CisKKyAgICBpZiAoIWFyZ3MpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmVzdWx0ID0gUHlUdXBsZV9QYWNrKDMsIChQeU9iamVjdCAqKVB5X1RZUEUobnMpLCBhcmdzLCBucy0+bnNfZGljdCk7CisgICAgUHlfREVDUkVGKGFyZ3MpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKworc3RhdGljIFB5TWV0aG9kRGVmIG5hbWVzcGFjZV9tZXRob2RzW10gPSB7CisgICAgeyJfX3JlZHVjZV9fIiwgKFB5Q0Z1bmN0aW9uKW5hbWVzcGFjZV9yZWR1Y2UsIE1FVEhfTk9BUkdTLAorICAgICBuYW1lc3BhY2VfcmVkdWNlX19kb2NfX30sCisgICAge05VTEwsICAgICAgICAgTlVMTH0gIC8qIHNlbnRpbmVsICovCit9OworCisKIFB5RG9jX1NUUlZBUihuYW1lc3BhY2VfZG9jLAogIkEgc2ltcGxlIGF0dHJpYnV0ZS1iYXNlZCBuYW1lc3BhY2UuXG5cCiBcblwKLW5hbWVzcGFjZSgqKmt3YXJncykiKTsKK1NpbXBsZU5hbWVzcGFjZSgqKmt3YXJncykiKTsKIAogUHlUeXBlT2JqZWN0IF9QeU5hbWVzcGFjZV9UeXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCi0gICAgIm5hbWVzcGFjZSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9uYW1lICovCisgICAgInR5cGVzLlNpbXBsZU5hbWVzcGFjZSIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9uYW1lICovCiAgICAgc2l6ZW9mKF9QeU5hbWVzcGFjZU9iamVjdCksICAgICAgICAgICAgICAgICAvKiB0cF9zaXplICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVtc2l6ZSAqLwogICAgIChkZXN0cnVjdG9yKW5hbWVzcGFjZV9kZWFsbG9jLCAgICAgICAgICAgICAgLyogdHBfZGVhbGxvYyAqLwpAQCAtMTg4LDExICsyMjYsMTEgQEAKICAgICBuYW1lc3BhY2VfZG9jLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RvYyAqLwogICAgICh0cmF2ZXJzZXByb2MpbmFtZXNwYWNlX3RyYXZlcnNlLCAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KICAgICAoaW5xdWlyeSluYW1lc3BhY2VfY2xlYXIsICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgIG5hbWVzcGFjZV9yaWNoY29tcGFyZSwgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAgIG5hbWVzcGFjZV9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLwogICAgIG5hbWVzcGFjZV9tZW1iZXJzLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCmRpZmYgLS1naXQgYS9PYmplY3RzL29iamVjdC5jIGIvT2JqZWN0cy9vYmplY3QuYwppbmRleCA5NDllN2RjLi43OWYxYzhhIDEwMDY0NAotLS0gYS9PYmplY3RzL29iamVjdC5jCisrKyBiL09iamVjdHMvb2JqZWN0LmMKQEAgLTQ1MSw2ICs0NTEsOSBAQAogICAgIGlmIChyZXByID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCisgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShyZXByKSkKKyAgICAgICAgcmV0dXJuIHJlcHI7CisKICAgICAvKiByZXByIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBQeVVuaWNvZGUgb2JqZWN0IGJ5IFB5T2JqZWN0X1JlcHIgKi8KICAgICBhc2NpaSA9IF9QeVVuaWNvZGVfQXNBU0NJSVN0cmluZyhyZXByLCAiYmFja3NsYXNocmVwbGFjZSIpOwogICAgIFB5X0RFQ1JFRihyZXByKTsKQEAgLTE1MjQsMTIgKzE1MjcsMjEgQEAKICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiB9CiAKK3N0YXRpYyB2b2lkCitub3RpbXBsZW1lbnRlZF9kZWFsbG9jKFB5T2JqZWN0KiBpZ25vcmUpCit7CisgICAgLyogVGhpcyBzaG91bGQgbmV2ZXIgZ2V0IGNhbGxlZCwgYnV0IHdlIGFsc28gZG9uJ3Qgd2FudCB0byBTRUdWIGlmCisgICAgICogd2UgYWNjaWRlbnRhbGx5IGRlY3JlZiBOb3RJbXBsZW1lbnRlZCBvdXQgb2YgZXhpc3RlbmNlLgorICAgICAqLworICAgIFB5X0ZhdGFsRXJyb3IoImRlYWxsb2NhdGluZyBOb3RJbXBsZW1lbnRlZCIpOworfQorCiBzdGF0aWMgUHlUeXBlT2JqZWN0IFB5Tm90SW1wbGVtZW50ZWRfVHlwZSA9IHsKICAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoJlB5VHlwZV9UeXBlLCAwKQogICAgICJOb3RJbXBsZW1lbnRlZFR5cGUiLAogICAgIDAsCiAgICAgMCwKLSAgICBub25lX2RlYWxsb2MsICAgICAgIC8qdHBfZGVhbGxvYyovIC8qbmV2ZXIgY2FsbGVkKi8KKyAgICBub3RpbXBsZW1lbnRlZF9kZWFsbG9jLCAgICAgICAvKnRwX2RlYWxsb2MqLyAvKm5ldmVyIGNhbGxlZCovCiAgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3ByaW50Ki8KICAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0ciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIqLwpAQCAtMTY5OSwxNSArMTcxMSw2IEBACiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlNZW1iZXJEZXNjcl9UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgbWVtYmVyIGRlc2NyaXB0b3IgdHlwZSIpOwogCi0gICAgaWYgKFB5VHlwZV9SZWFkeSgmUHlGaWx0ZXJfVHlwZSkgPCAwKQotICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIGZpbHRlciB0eXBlIik7Ci0KLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeU1hcF9UeXBlKSA8IDApCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgbWFwIHR5cGUiKTsKLQotICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5WmlwX1R5cGUpIDwgMCkKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSB6aXAgdHlwZSIpOwotCiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmX1B5TmFtZXNwYWNlX1R5cGUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2FuJ3QgaW5pdGlhbGl6ZSBuYW1lc3BhY2UgdHlwZSIpOwogCmRpZmYgLS1naXQgYS9PYmplY3RzL29ibWFsbG9jLmMgYi9PYmplY3RzL29ibWFsbG9jLmMKaW5kZXggNTBmYzdjMS4uMzAyOGYyMiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9vYm1hbGxvYy5jCisrKyBiL09iamVjdHMvb2JtYWxsb2MuYwpAQCAtNTI1LDYgKzUyNSwxNSBAQAogLyogSGlnaCB3YXRlciBtYXJrIChtYXggdmFsdWUgZXZlciBzZWVuKSBmb3IgbmFyZW5hc19jdXJyZW50bHlfYWxsb2NhdGVkLiAqLwogc3RhdGljIHNpemVfdCBuYXJlbmFzX2hpZ2h3YXRlciA9IDA7CiAKK3N0YXRpYyBQeV9zc2l6ZV90IF9QeV9BbGxvY2F0ZWRCbG9ja3MgPSAwOworCitQeV9zc2l6ZV90CitfUHlfR2V0QWxsb2NhdGVkQmxvY2tzKHZvaWQpCit7CisgICAgcmV0dXJuIF9QeV9BbGxvY2F0ZWRCbG9ja3M7Cit9CisKKwogLyogQWxsb2NhdGUgYSBuZXcgYXJlbmEuICBJZiB3ZSBydW4gb3V0IG9mIG1lbW9yeSwgcmV0dXJuIE5VTEwuICBFbHNlCiAgKiBhbGxvY2F0ZSBhIG5ldyBhcmVuYSwgYW5kIHJldHVybiB0aGUgYWRkcmVzcyBvZiBhbiBhcmVuYV9vYmplY3QKICAqIGRlc2NyaWJpbmcgdGhlIG5ldyBhcmVuYS4gIEl0J3MgZXhwZWN0ZWQgdGhhdCB0aGUgY2FsbGVyIHdpbGwgc2V0CkBAIC03NjksNiArNzc4LDggQEAKICAgICBwb29scCBuZXh0OwogICAgIHVpbnQgc2l6ZTsKIAorICAgIF9QeV9BbGxvY2F0ZWRCbG9ja3MrKzsKKwogI2lmZGVmIFdJVEhfVkFMR1JJTkQKICAgICBpZiAoVU5MSUtFTFkocnVubmluZ19vbl92YWxncmluZCA9PSAtMSkpCiAgICAgICAgIHJ1bm5pbmdfb25fdmFsZ3JpbmQgPSBSVU5OSU5HX09OX1ZBTEdSSU5EOwpAQCAtNzgyLDggKzc5MywxMCBAQAogICAgICAqIHRoaW5ncyB3aXRob3V0IGNoZWNraW5nIGZvciBvdmVyZmxvd3Mgb3IgbmVnYXRpdmVzLgogICAgICAqIEFzIHNpemVfdCBpcyB1bnNpZ25lZCwgY2hlY2tpbmcgZm9yIG5ieXRlcyA8IDAgaXMgbm90IHJlcXVpcmVkLgogICAgICAqLwotICAgIGlmIChuYnl0ZXMgPiBQWV9TU0laRV9UX01BWCkKKyAgICBpZiAobmJ5dGVzID4gUFlfU1NJWkVfVF9NQVgpIHsKKyAgICAgICAgX1B5X0FsbG9jYXRlZEJsb2Nrcy0tOwogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKICAgICAvKgogICAgICAqIFRoaXMgaW1wbGljaXRseSByZWRpcmVjdHMgbWFsbG9jKDApLgpAQCAtOTAxLDYgKzkxNCw3IEBACiAgICAgICAgICAgICAgICAgICogYW5kIGZyZWUgbGlzdCBhcmUgYWxyZWFkeSBpbml0aWFsaXplZC4KICAgICAgICAgICAgICAgICAgKi8KICAgICAgICAgICAgICAgICBicCA9IHBvb2wtPmZyZWVibG9jazsKKyAgICAgICAgICAgICAgICBhc3NlcnQoYnAgIT0gTlVMTCk7CiAgICAgICAgICAgICAgICAgcG9vbC0+ZnJlZWJsb2NrID0gKihibG9jayAqKilicDsKICAgICAgICAgICAgICAgICBVTkxPQ0soKTsKICAgICAgICAgICAgICAgICByZXR1cm4gKHZvaWQgKilicDsKQEAgLTk1OCw3ICs5NzIsMTIgQEAKICAgICAgKi8KICAgICBpZiAobmJ5dGVzID09IDApCiAgICAgICAgIG5ieXRlcyA9IDE7Ci0gICAgcmV0dXJuICh2b2lkICopbWFsbG9jKG5ieXRlcyk7CisgICAgeworICAgICAgICB2b2lkICpyZXN1bHQgPSBtYWxsb2MobmJ5dGVzKTsKKyAgICAgICAgaWYgKCFyZXN1bHQpCisgICAgICAgICAgICBfUHlfQWxsb2NhdGVkQmxvY2tzLS07CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQogfQogCiAvKiBmcmVlICovCkBAIC05NzgsNiArOTk3LDggQEAKICAgICBpZiAocCA9PSBOVUxMKSAgICAgIC8qIGZyZWUoTlVMTCkgaGFzIG5vIGVmZmVjdCAqLwogICAgICAgICByZXR1cm47CiAKKyAgICBfUHlfQWxsb2NhdGVkQmxvY2tzLS07CisKICNpZmRlZiBXSVRIX1ZBTEdSSU5ECiAgICAgaWYgKFVOTElLRUxZKHJ1bm5pbmdfb25fdmFsZ3JpbmQgPiAwKSkKICAgICAgICAgZ290byByZWRpcmVjdDsKQEAgLTEyOTcsNiArMTMxOCwxMyBAQAogewogICAgIFB5TWVtX0ZSRUUocCk7CiB9CisKK1B5X3NzaXplX3QKK19QeV9HZXRBbGxvY2F0ZWRCbG9ja3Modm9pZCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogI2VuZGlmIC8qIFdJVEhfUFlNQUxMT0MgKi8KIAogI2lmZGVmIFBZTUFMTE9DX0RFQlVHCmRpZmYgLS1naXQgYS9PYmplY3RzL3Jhbmdlb2JqZWN0LmMgYi9PYmplY3RzL3Jhbmdlb2JqZWN0LmMKaW5kZXggMjE0YjQ1NS4uYmE1MWZlYyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9yYW5nZW9iamVjdC5jCisrKyBiL09iamVjdHMvcmFuZ2VvYmplY3QuYwpAQCAtMzE4LDE5NSArMzE4LDYgQEAKICAgICByZXR1cm4gcmVzOwogfQogCi0vKiBBZGRpdGlvbmFsIGhlbHBlcnMsIHNpbmNlIHRoZSBzdGFuZGFyZCBzbGljZSBoZWxwZXJzCi0gKiBhbGwgY2xpcCB0byBQWV9TU0laRV9UX01BWAotICovCi0KLS8qIFJlcGxhY2UgX1B5RXZhbF9TbGljZUluZGV4ICovCi1zdGF0aWMgUHlPYmplY3QgKgotY29tcHV0ZV9zbGljZV9lbGVtZW50KFB5T2JqZWN0ICpvYmopCi17Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgaWYgKG9iaiAhPSBOVUxMKSB7Ci0gICAgICAgIGlmIChQeUluZGV4X0NoZWNrKG9iaikpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IFB5TnVtYmVyX0luZGV4KG9iaik7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzbGljZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3IgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIG9yIGhhdmUgYW4gX19pbmRleF9fIG1ldGhvZCIpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIFJlcGxhY2UgUHlTbGljZV9HZXRJbmRpY2VzRXgKLSAqICAgUmVzdWx0IGluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgc2xpY2UgaXMgZW1wdHkKLSAqICAgICgtMSA9IGVycm9yLCAwID0gZW1wdHkgc2xpY2UsIDEgPSBzbGljZSBjb250YWlucyBlbGVtZW50cykKLSAqLwotc3RhdGljIGludAotY29tcHV0ZV9zbGljZV9pbmRpY2VzKHJhbmdlb2JqZWN0ICpyLCBQeVNsaWNlT2JqZWN0ICpzbGljZSwKLSAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnN0YXJ0LCBQeU9iamVjdCAqKnN0b3AsIFB5T2JqZWN0ICoqc3RlcCkKLXsKLSAgICBpbnQgY21wX3Jlc3VsdCwgaGFzX2VsZW1lbnRzOwotICAgIFB5X3NzaXplX3QgY2xhbXBlZF9zdGVwID0gMDsKLSAgICBQeU9iamVjdCAqemVybyA9IE5VTEwsICpvbmUgPSBOVUxMLCAqbmVnX29uZSA9IE5VTEwsICpjYW5kaWRhdGUgPSBOVUxMOwotICAgIFB5T2JqZWN0ICp0bXBfc3RhcnQgPSBOVUxMLCAqdG1wX3N0b3AgPSBOVUxMLCAqdG1wX3N0ZXAgPSBOVUxMOwotICAgIHplcm8gPSBQeUxvbmdfRnJvbUxvbmcoMCk7Ci0gICAgaWYgKHplcm8gPT0gTlVMTCkgZ290byBGYWlsOwotICAgIG9uZSA9IFB5TG9uZ19Gcm9tTG9uZygxKTsKLSAgICBpZiAob25lID09IE5VTEwpIGdvdG8gRmFpbDsKLSAgICBuZWdfb25lID0gUHlMb25nX0Zyb21Mb25nKC0xKTsKLSAgICBpZiAobmVnX29uZSA9PSBOVUxMKSBnb3RvIEZhaWw7Ci0KLSAgICAvKiBDYWxjdWxhdGUgc3RlcCB2YWx1ZSAqLwotICAgIGlmIChzbGljZS0+c3RlcCA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIGNsYW1wZWRfc3RlcCA9IDE7Ci0gICAgICAgIHRtcF9zdGVwID0gb25lOwotICAgICAgICBQeV9JTkNSRUYodG1wX3N0ZXApOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmICghX1B5RXZhbF9TbGljZUluZGV4KHNsaWNlLT5zdGVwLCAmY2xhbXBlZF9zdGVwKSkgZ290byBGYWlsOwotICAgICAgICBpZiAoY2xhbXBlZF9zdGVwID09IDApIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzbGljZSBzdGVwIGNhbm5vdCBiZSB6ZXJvIik7Ci0gICAgICAgICAgICBnb3RvIEZhaWw7Ci0gICAgICAgIH0KLSAgICAgICAgdG1wX3N0ZXAgPSBjb21wdXRlX3NsaWNlX2VsZW1lbnQoc2xpY2UtPnN0ZXApOwotICAgICAgICBpZiAodG1wX3N0ZXAgPT0gTlVMTCkgZ290byBGYWlsOwotICAgIH0KLQotICAgIC8qIENhbGN1bGF0ZSBzdGFydCB2YWx1ZSAqLwotICAgIGlmIChzbGljZS0+c3RhcnQgPT0gUHlfTm9uZSkgewotICAgICAgICBpZiAoY2xhbXBlZF9zdGVwIDwgMCkgewotICAgICAgICAgICAgdG1wX3N0YXJ0ID0gUHlOdW1iZXJfU3VidHJhY3Qoci0+bGVuZ3RoLCBvbmUpOwotICAgICAgICAgICAgaWYgKHRtcF9zdGFydCA9PSBOVUxMKSBnb3RvIEZhaWw7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0bXBfc3RhcnQgPSB6ZXJvOwotICAgICAgICAgICAgUHlfSU5DUkVGKHRtcF9zdGFydCk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBjYW5kaWRhdGUgPSBjb21wdXRlX3NsaWNlX2VsZW1lbnQoc2xpY2UtPnN0YXJ0KTsKLSAgICAgICAgaWYgKGNhbmRpZGF0ZSA9PSBOVUxMKSBnb3RvIEZhaWw7Ci0gICAgICAgIGNtcF9yZXN1bHQgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2woY2FuZGlkYXRlLCB6ZXJvLCBQeV9MVCk7Ci0gICAgICAgIGlmIChjbXBfcmVzdWx0ID09IC0xKSBnb3RvIEZhaWw7Ci0gICAgICAgIGlmIChjbXBfcmVzdWx0KSB7Ci0gICAgICAgICAgICAvKiBjYW5kaWRhdGUgPCAwICovCi0gICAgICAgICAgICB0bXBfc3RhcnQgPSBQeU51bWJlcl9BZGQoci0+bGVuZ3RoLCBjYW5kaWRhdGUpOwotICAgICAgICAgICAgaWYgKHRtcF9zdGFydCA9PSBOVUxMKSBnb3RvIEZhaWw7Ci0gICAgICAgICAgICBQeV9DTEVBUihjYW5kaWRhdGUpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogY2FuZGlkYXRlID49IDAgKi8KLSAgICAgICAgICAgIHRtcF9zdGFydCA9IGNhbmRpZGF0ZTsKLSAgICAgICAgICAgIGNhbmRpZGF0ZSA9IE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbCh0bXBfc3RhcnQsIHplcm8sIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcF9yZXN1bHQgPT0gLTEpIGdvdG8gRmFpbDsKLSAgICAgICAgaWYgKGNtcF9yZXN1bHQpIHsKLSAgICAgICAgICAgIC8qIHRtcF9zdGFydCA8IDAgKi8KLSAgICAgICAgICAgIFB5X0NMRUFSKHRtcF9zdGFydCk7Ci0gICAgICAgICAgICBpZiAoY2xhbXBlZF9zdGVwIDwgMCkgewotICAgICAgICAgICAgICAgIHRtcF9zdGFydCA9IG5lZ19vbmU7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHRtcF9zdGFydCA9IHplcm87Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9JTkNSRUYodG1wX3N0YXJ0KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8qIHRtcF9zdGFydCA+PSAwICovCi0gICAgICAgICAgICBjbXBfcmVzdWx0ID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHRtcF9zdGFydCwgci0+bGVuZ3RoLCBQeV9HRSk7Ci0gICAgICAgICAgICBpZiAoY21wX3Jlc3VsdCA9PSAtMSkgZ290byBGYWlsOwotICAgICAgICAgICAgaWYgKGNtcF9yZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAvKiB0bXBfc3RhcnQgPj0gci0+bGVuZ3RoICovCi0gICAgICAgICAgICAgICAgUHlfQ0xFQVIodG1wX3N0YXJ0KTsKLSAgICAgICAgICAgICAgICBpZiAoY2xhbXBlZF9zdGVwIDwgMCkgewotICAgICAgICAgICAgICAgICAgICB0bXBfc3RhcnQgPSBQeU51bWJlcl9TdWJ0cmFjdChyLT5sZW5ndGgsIG9uZSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0bXBfc3RhcnQgPT0gTlVMTCkgZ290byBGYWlsOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHRtcF9zdGFydCA9IHItPmxlbmd0aDsKLSAgICAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKHRtcF9zdGFydCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgLyogQ2FsY3VsYXRlIHN0b3AgdmFsdWUgKi8KLSAgICBpZiAoc2xpY2UtPnN0b3AgPT0gUHlfTm9uZSkgewotICAgICAgICBpZiAoY2xhbXBlZF9zdGVwIDwgMCkgewotICAgICAgICAgICAgdG1wX3N0b3AgPSBuZWdfb25lOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgdG1wX3N0b3AgPSByLT5sZW5ndGg7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfSU5DUkVGKHRtcF9zdG9wKTsKLSAgICB9IGVsc2UgewotICAgICAgICBjYW5kaWRhdGUgPSBjb21wdXRlX3NsaWNlX2VsZW1lbnQoc2xpY2UtPnN0b3ApOwotICAgICAgICBpZiAoY2FuZGlkYXRlID09IE5VTEwpIGdvdG8gRmFpbDsKLSAgICAgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChjYW5kaWRhdGUsIHplcm8sIFB5X0xUKTsKLSAgICAgICAgaWYgKGNtcF9yZXN1bHQgPT0gLTEpIGdvdG8gRmFpbDsKLSAgICAgICAgaWYgKGNtcF9yZXN1bHQpIHsKLSAgICAgICAgICAgIC8qIGNhbmRpZGF0ZSA8IDAgKi8KLSAgICAgICAgICAgIHRtcF9zdG9wID0gUHlOdW1iZXJfQWRkKHItPmxlbmd0aCwgY2FuZGlkYXRlKTsKLSAgICAgICAgICAgIGlmICh0bXBfc3RvcCA9PSBOVUxMKSBnb3RvIEZhaWw7Ci0gICAgICAgICAgICBQeV9DTEVBUihjYW5kaWRhdGUpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogY2FuZGlkYXRlID49IDAgKi8KLSAgICAgICAgICAgIHRtcF9zdG9wID0gY2FuZGlkYXRlOwotICAgICAgICAgICAgY2FuZGlkYXRlID0gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBjbXBfcmVzdWx0ID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHRtcF9zdG9wLCB6ZXJvLCBQeV9MVCk7Ci0gICAgICAgIGlmIChjbXBfcmVzdWx0ID09IC0xKSBnb3RvIEZhaWw7Ci0gICAgICAgIGlmIChjbXBfcmVzdWx0KSB7Ci0gICAgICAgICAgICAvKiB0bXBfc3RvcCA8IDAgKi8KLSAgICAgICAgICAgIFB5X0NMRUFSKHRtcF9zdG9wKTsKLSAgICAgICAgICAgIGlmIChjbGFtcGVkX3N0ZXAgPCAwKSB7Ci0gICAgICAgICAgICAgICAgdG1wX3N0b3AgPSBuZWdfb25lOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB0bXBfc3RvcCA9IHplcm87Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9JTkNSRUYodG1wX3N0b3ApOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLyogdG1wX3N0b3AgPj0gMCAqLwotICAgICAgICAgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbCh0bXBfc3RvcCwgci0+bGVuZ3RoLCBQeV9HRSk7Ci0gICAgICAgICAgICBpZiAoY21wX3Jlc3VsdCA9PSAtMSkgZ290byBGYWlsOwotICAgICAgICAgICAgaWYgKGNtcF9yZXN1bHQpIHsKLSAgICAgICAgICAgICAgICAvKiB0bXBfc3RvcCA+PSByLT5sZW5ndGggKi8KLSAgICAgICAgICAgICAgICBQeV9DTEVBUih0bXBfc3RvcCk7Ci0gICAgICAgICAgICAgICAgaWYgKGNsYW1wZWRfc3RlcCA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgdG1wX3N0b3AgPSBQeU51bWJlcl9TdWJ0cmFjdChyLT5sZW5ndGgsIG9uZSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0bXBfc3RvcCA9PSBOVUxMKSBnb3RvIEZhaWw7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgdG1wX3N0b3AgPSByLT5sZW5ndGg7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRih0bXBfc3RvcCk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfQotCi0gICAgLyogQ2hlY2sgaWYgdGhlIHNsaWNlIGlzIGVtcHR5IG9yIG5vdCAqLwotICAgIGlmIChjbGFtcGVkX3N0ZXAgPCAwKSB7Ci0gICAgICAgIGhhc19lbGVtZW50cyA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbCh0bXBfc3RhcnQsIHRtcF9zdG9wLCBQeV9HVCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaGFzX2VsZW1lbnRzID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHRtcF9zdGFydCwgdG1wX3N0b3AsIFB5X0xUKTsKLSAgICB9Ci0gICAgaWYgKGhhc19lbGVtZW50cyA9PSAtMSkgZ290byBGYWlsOwotCi0gICAgKnN0YXJ0ID0gdG1wX3N0YXJ0OwotICAgICpzdG9wID0gdG1wX3N0b3A7Ci0gICAgKnN0ZXAgPSB0bXBfc3RlcDsKLSAgICBQeV9ERUNSRUYobmVnX29uZSk7Ci0gICAgUHlfREVDUkVGKG9uZSk7Ci0gICAgUHlfREVDUkVGKHplcm8pOwotICAgIHJldHVybiBoYXNfZWxlbWVudHM7Ci0KLSAgRmFpbDoKLSAgICBQeV9YREVDUkVGKHRtcF9zdGFydCk7Ci0gICAgUHlfWERFQ1JFRih0bXBfc3RvcCk7Ci0gICAgUHlfWERFQ1JFRih0bXBfc3RlcCk7Ci0gICAgUHlfWERFQ1JFRihjYW5kaWRhdGUpOwotICAgIFB5X1hERUNSRUYobmVnX29uZSk7Ci0gICAgUHlfWERFQ1JFRihvbmUpOwotICAgIFB5X1hERUNSRUYoemVybyk7Ci0gICAgcmV0dXJuIC0xOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogY29tcHV0ZV9zbGljZShyYW5nZW9iamVjdCAqciwgUHlPYmplY3QgKl9zbGljZSkKIHsKQEAgLTUxNCwxMCArMzI1LDExIEBACiAgICAgcmFuZ2VvYmplY3QgKnJlc3VsdDsKICAgICBQeU9iamVjdCAqc3RhcnQgPSBOVUxMLCAqc3RvcCA9IE5VTEwsICpzdGVwID0gTlVMTDsKICAgICBQeU9iamVjdCAqc3Vic3RhcnQgPSBOVUxMLCAqc3Vic3RvcCA9IE5VTEwsICpzdWJzdGVwID0gTlVMTDsKLSAgICBpbnQgaGFzX2VsZW1lbnRzOworICAgIGludCBlcnJvcjsKIAotICAgIGhhc19lbGVtZW50cyA9IGNvbXB1dGVfc2xpY2VfaW5kaWNlcyhyLCBzbGljZSwgJnN0YXJ0LCAmc3RvcCwgJnN0ZXApOwotICAgIGlmIChoYXNfZWxlbWVudHMgPT0gLTEpIHJldHVybiBOVUxMOworICAgIGVycm9yID0gX1B5U2xpY2VfR2V0TG9uZ0luZGljZXMoc2xpY2UsIHItPmxlbmd0aCwgJnN0YXJ0LCAmc3RvcCwgJnN0ZXApOworICAgIGlmIChlcnJvciA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBzdWJzdGVwID0gUHlOdW1iZXJfTXVsdGlwbHkoci0+c3RlcCwgc3RlcCk7CiAgICAgaWYgKHN1YnN0ZXAgPT0gTlVMTCkgZ290byBmYWlsOwpAQCAtNTI3LDEzICszMzksOCBAQAogICAgIGlmIChzdWJzdGFydCA9PSBOVUxMKSBnb3RvIGZhaWw7CiAgICAgUHlfQ0xFQVIoc3RhcnQpOwogCi0gICAgaWYgKGhhc19lbGVtZW50cykgewotICAgICAgICBzdWJzdG9wID0gY29tcHV0ZV9pdGVtKHIsIHN0b3ApOwotICAgICAgICBpZiAoc3Vic3RvcCA9PSBOVUxMKSBnb3RvIGZhaWw7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3Vic3RvcCA9IHN1YnN0YXJ0OwotICAgICAgICBQeV9JTkNSRUYoc3Vic3RvcCk7Ci0gICAgfQorICAgIHN1YnN0b3AgPSBjb21wdXRlX2l0ZW0ociwgc3RvcCk7CisgICAgaWYgKHN1YnN0b3AgPT0gTlVMTCkgZ290byBmYWlsOwogICAgIFB5X0NMRUFSKHN0b3ApOwogCiAgICAgcmVzdWx0ID0gbWFrZV9yYW5nZV9vYmplY3QoUHlfVFlQRShyKSwgc3Vic3RhcnQsIHN1YnN0b3AsIHN1YnN0ZXApOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zbGljZW9iamVjdC5jIGIvT2JqZWN0cy9zbGljZW9iamVjdC5jCmluZGV4IDE1OTMzMzUuLjUyZjFjODkgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc2xpY2VvYmplY3QuYworKysgYi9PYmplY3RzL3NsaWNlb2JqZWN0LmMKQEAgLTI5OSwyMyArMjk5LDE5OCBAQAogICAgIHswfQogfTsKIAorLyogSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBzbGljZSBhcmd1bWVudCB0byBhIFB5TG9uZywgYW5kIHJhaXNlIFR5cGVFcnJvcgorICAgd2l0aCBhIHN1aXRhYmxlIG1lc3NhZ2Ugb24gZmFpbHVyZS4gKi8KKworc3RhdGljIFB5T2JqZWN0KgorZXZhbHVhdGVfc2xpY2VfaW5kZXgoUHlPYmplY3QgKnYpCit7CisgICAgaWYgKFB5SW5kZXhfQ2hlY2sodikpIHsKKyAgICAgICAgcmV0dXJuIFB5TnVtYmVyX0luZGV4KHYpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJzbGljZSBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMgb3IgIgorICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUgb3IgaGF2ZSBhbiBfX2luZGV4X18gbWV0aG9kIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KK30KKworLyogQ29tcHV0ZSBzbGljZSBpbmRpY2VzIGdpdmVuIGEgc2xpY2UgYW5kIGxlbmd0aC4gIFJldHVybiAtMSBvbiBmYWlsdXJlLiAgVXNlZAorICAgYnkgc2xpY2UuaW5kaWNlcyBhbmQgcmFuZ2VvYmplY3Qgc2xpY2luZy4gIEFzc3VtZXMgdGhhdCBgbGVuYCBpcyBhCisgICBub25uZWdhdGl2ZSBpbnN0YW5jZSBvZiBQeUxvbmcuICovCisKK2ludAorX1B5U2xpY2VfR2V0TG9uZ0luZGljZXMoUHlTbGljZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqc3RhcnRfcHRyLCBQeU9iamVjdCAqKnN0b3BfcHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipzdGVwX3B0cikKK3sKKyAgICBQeU9iamVjdCAqc3RhcnQ9TlVMTCwgKnN0b3A9TlVMTCwgKnN0ZXA9TlVMTDsKKyAgICBQeU9iamVjdCAqdXBwZXI9TlVMTCwgKmxvd2VyPU5VTEw7CisgICAgaW50IHN0ZXBfaXNfbmVnYXRpdmUsIGNtcF9yZXN1bHQ7CisKKyAgICAvKiBDb252ZXJ0IHN0ZXAgdG8gYW4gaW50ZWdlcjsgcmFpc2UgZm9yIHplcm8gc3RlcC4gKi8KKyAgICBpZiAoc2VsZi0+c3RlcCA9PSBQeV9Ob25lKSB7CisgICAgICAgIHN0ZXAgPSBQeUxvbmdfRnJvbUxvbmcoMUwpOworICAgICAgICBpZiAoc3RlcCA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgc3RlcF9pc19uZWdhdGl2ZSA9IDA7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpbnQgc3RlcF9zaWduOworICAgICAgICBzdGVwID0gZXZhbHVhdGVfc2xpY2VfaW5kZXgoc2VsZi0+c3RlcCk7CisgICAgICAgIGlmIChzdGVwID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBzdGVwX3NpZ24gPSBfUHlMb25nX1NpZ24oc3RlcCk7CisgICAgICAgIGlmIChzdGVwX3NpZ24gPT0gMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNsaWNlIHN0ZXAgY2Fubm90IGJlIHplcm8iKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgc3RlcF9pc19uZWdhdGl2ZSA9IHN0ZXBfc2lnbiA8IDA7CisgICAgfQorCisgICAgLyogRmluZCBsb3dlciBhbmQgdXBwZXIgYm91bmRzIGZvciBzdGFydCBhbmQgc3RvcC4gKi8KKyAgICBpZiAoc3RlcF9pc19uZWdhdGl2ZSkgeworICAgICAgICBsb3dlciA9IFB5TG9uZ19Gcm9tTG9uZygtMUwpOworICAgICAgICBpZiAobG93ZXIgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgdXBwZXIgPSBQeU51bWJlcl9BZGQobGVuZ3RoLCBsb3dlcik7CisgICAgICAgIGlmICh1cHBlciA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGxvd2VyID0gUHlMb25nX0Zyb21Mb25nKDBMKTsKKyAgICAgICAgaWYgKGxvd2VyID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgIHVwcGVyID0gbGVuZ3RoOworICAgICAgICBQeV9JTkNSRUYodXBwZXIpOworICAgIH0KKworICAgIC8qIENvbXB1dGUgc3RhcnQuICovCisgICAgaWYgKHNlbGYtPnN0YXJ0ID09IFB5X05vbmUpIHsKKyAgICAgICAgc3RhcnQgPSBzdGVwX2lzX25lZ2F0aXZlID8gdXBwZXIgOiBsb3dlcjsKKyAgICAgICAgUHlfSU5DUkVGKHN0YXJ0KTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHN0YXJ0ID0gZXZhbHVhdGVfc2xpY2VfaW5kZXgoc2VsZi0+c3RhcnQpOworICAgICAgICBpZiAoc3RhcnQgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgaWYgKF9QeUxvbmdfU2lnbihzdGFydCkgPCAwKSB7CisgICAgICAgICAgICAvKiBzdGFydCArPSBsZW5ndGggKi8KKyAgICAgICAgICAgIFB5T2JqZWN0ICp0bXAgPSBQeU51bWJlcl9BZGQoc3RhcnQsIGxlbmd0aCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoc3RhcnQpOworICAgICAgICAgICAgc3RhcnQgPSB0bXA7CisgICAgICAgICAgICBpZiAoc3RhcnQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgICAgICBjbXBfcmVzdWx0ID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHN0YXJ0LCBsb3dlciwgUHlfTFQpOworICAgICAgICAgICAgaWYgKGNtcF9yZXN1bHQgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBpZiAoY21wX3Jlc3VsdCkgeworICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihsb3dlcik7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0YXJ0KTsKKyAgICAgICAgICAgICAgICBzdGFydCA9IGxvd2VyOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChzdGFydCwgdXBwZXIsIFB5X0dUKTsKKyAgICAgICAgICAgIGlmIChjbXBfcmVzdWx0IDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgaWYgKGNtcF9yZXN1bHQpIHsKKyAgICAgICAgICAgICAgICBQeV9JTkNSRUYodXBwZXIpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdGFydCk7CisgICAgICAgICAgICAgICAgc3RhcnQgPSB1cHBlcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIENvbXB1dGUgc3RvcC4gKi8KKyAgICBpZiAoc2VsZi0+c3RvcCA9PSBQeV9Ob25lKSB7CisgICAgICAgIHN0b3AgPSBzdGVwX2lzX25lZ2F0aXZlID8gbG93ZXIgOiB1cHBlcjsKKyAgICAgICAgUHlfSU5DUkVGKHN0b3ApOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3RvcCA9IGV2YWx1YXRlX3NsaWNlX2luZGV4KHNlbGYtPnN0b3ApOworICAgICAgICBpZiAoc3RvcCA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKworICAgICAgICBpZiAoX1B5TG9uZ19TaWduKHN0b3ApIDwgMCkgeworICAgICAgICAgICAgLyogc3RvcCArPSBsZW5ndGggKi8KKyAgICAgICAgICAgIFB5T2JqZWN0ICp0bXAgPSBQeU51bWJlcl9BZGQoc3RvcCwgbGVuZ3RoKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdG9wKTsKKyAgICAgICAgICAgIHN0b3AgPSB0bXA7CisgICAgICAgICAgICBpZiAoc3RvcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgICAgIGNtcF9yZXN1bHQgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2woc3RvcCwgbG93ZXIsIFB5X0xUKTsKKyAgICAgICAgICAgIGlmIChjbXBfcmVzdWx0IDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgaWYgKGNtcF9yZXN1bHQpIHsKKyAgICAgICAgICAgICAgICBQeV9JTkNSRUYobG93ZXIpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdG9wKTsKKyAgICAgICAgICAgICAgICBzdG9wID0gbG93ZXI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBjbXBfcmVzdWx0ID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHN0b3AsIHVwcGVyLCBQeV9HVCk7CisgICAgICAgICAgICBpZiAoY21wX3Jlc3VsdCA8IDApCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIGlmIChjbXBfcmVzdWx0KSB7CisgICAgICAgICAgICAgICAgUHlfSU5DUkVGKHVwcGVyKTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoc3RvcCk7CisgICAgICAgICAgICAgICAgc3RvcCA9IHVwcGVyOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgKnN0YXJ0X3B0ciA9IHN0YXJ0OworICAgICpzdG9wX3B0ciA9IHN0b3A7CisgICAgKnN0ZXBfcHRyID0gc3RlcDsKKyAgICBQeV9ERUNSRUYodXBwZXIpOworICAgIFB5X0RFQ1JFRihsb3dlcik7CisgICAgcmV0dXJuIDA7CisKKyAgZXJyb3I6CisgICAgKnN0YXJ0X3B0ciA9ICpzdG9wX3B0ciA9ICpzdGVwX3B0ciA9IE5VTEw7CisgICAgUHlfWERFQ1JFRihzdGFydCk7CisgICAgUHlfWERFQ1JFRihzdG9wKTsKKyAgICBQeV9YREVDUkVGKHN0ZXApOworICAgIFB5X1hERUNSRUYodXBwZXIpOworICAgIFB5X1hERUNSRUYobG93ZXIpOworICAgIHJldHVybiAtMTsKK30KKworLyogSW1wbGVtZW50YXRpb24gb2Ygc2xpY2UuaW5kaWNlcy4gKi8KKwogc3RhdGljIFB5T2JqZWN0Kgogc2xpY2VfaW5kaWNlcyhQeVNsaWNlT2JqZWN0KiBzZWxmLCBQeU9iamVjdCogbGVuKQogewotICAgIFB5X3NzaXplX3QgaWxlbiwgc3RhcnQsIHN0b3AsIHN0ZXAsIHNsaWNlbGVuZ3RoOworICAgIFB5T2JqZWN0ICpzdGFydCwgKnN0b3AsICpzdGVwOworICAgIFB5T2JqZWN0ICpsZW5ndGg7CisgICAgaW50IGVycm9yOwogCi0gICAgaWxlbiA9IFB5TnVtYmVyX0FzU3NpemVfdChsZW4sIFB5RXhjX092ZXJmbG93RXJyb3IpOworICAgIC8qIENvbnZlcnQgbGVuZ3RoIHRvIGFuIGludGVnZXIgaWYgbmVjZXNzYXJ5OyByYWlzZSBmb3IgbmVnYXRpdmUgbGVuZ3RoLiAqLworICAgIGxlbmd0aCA9IFB5TnVtYmVyX0luZGV4KGxlbik7CisgICAgaWYgKGxlbmd0aCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChpbGVuID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICBpZiAoX1B5TG9uZ19TaWduKGxlbmd0aCkgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImxlbmd0aCBzaG91bGQgbm90IGJlIG5lZ2F0aXZlIik7CisgICAgICAgIFB5X0RFQ1JFRihsZW5ndGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoUHlTbGljZV9HZXRJbmRpY2VzRXgoKFB5T2JqZWN0KilzZWxmLCBpbGVuLCAmc3RhcnQsICZzdG9wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RlcCwgJnNsaWNlbGVuZ3RoKSA8IDApIHsKKyAgICBlcnJvciA9IF9QeVNsaWNlX0dldExvbmdJbmRpY2VzKHNlbGYsIGxlbmd0aCwgJnN0YXJ0LCAmc3RvcCwgJnN0ZXApOworICAgIFB5X0RFQ1JFRihsZW5ndGgpOworICAgIGlmIChlcnJvciA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihubm4pIiwgc3RhcnQsIHN0b3AsIHN0ZXApOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihOTk4pIiwgc3RhcnQsIHN0b3AsIHN0ZXApOwogfQogCiBQeURvY19TVFJWQVIoc2xpY2VfaW5kaWNlc19kb2MsCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi9hc2NpaWxpYi5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvYXNjaWlsaWIuaAppbmRleCBmNjI4MTNkLi5kMGZjMThkIDEwMDY0NAotLS0gYS9PYmplY3RzL3N0cmluZ2xpYi9hc2NpaWxpYi5oCisrKyBiL09iamVjdHMvc3RyaW5nbGliL2FzY2lpbGliLmgKQEAgLTE5LDcgKzE5LDYgQEAKICNkZWZpbmUgU1RSSU5HTElCX1NUUiAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9EQVRBCiAjZGVmaW5lIFNUUklOR0xJQl9MRU4gICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSAogI2RlZmluZSBTVFJJTkdMSUJfTkVXKFNUUixMRU4pICAgX1B5VW5pY29kZV9Gcm9tQVNDSUkoKGNoYXIqKShTVFIpLChMRU4pKQotI2RlZmluZSBTVFJJTkdMSUJfUkVTSVpFICAgICAgICAgbm90X3N1cHBvcnRlZAogI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0sgICAgICAgICAgUHlVbmljb2RlX0NoZWNrCiAjZGVmaW5lIFNUUklOR0xJQl9DSEVDS19FWEFDVCAgICBQeVVuaWNvZGVfQ2hlY2tFeGFjdAogCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi9jb2RlY3MuaCBiL09iamVjdHMvc3RyaW5nbGliL2NvZGVjcy5oCmluZGV4IGYzNTMzNjcuLmY4NTUwMDMgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL2NvZGVjcy5oCisrKyBiL09iamVjdHMvc3RyaW5nbGliL2NvZGVjcy5oCkBAIC00Nyw3ICs0Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsdWUgPSAqKHVuc2lnbmVkIGxvbmcgKikgX3M7CiAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSAmIEFTQ0lJX0NIQVJfTUFTSykKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotI2lmZGVmIEJZVEVPUkRFUl9JU19MSVRUTEVfRU5ESUFOCisjaWYgUFlfTElUVExFX0VORElBTgogICAgICAgICAgICAgICAgICAgICBfcFswXSA9IChTVFJJTkdMSUJfQ0hBUikodmFsdWUgJiAweEZGdSk7CiAgICAgICAgICAgICAgICAgICAgIF9wWzFdID0gKFNUUklOR0xJQl9DSEFSKSgodmFsdWUgPj4gOCkgJiAweEZGdSk7CiAgICAgICAgICAgICAgICAgICAgIF9wWzJdID0gKFNUUklOR0xJQl9DSEFSKSgodmFsdWUgPj4gMTYpICYgMHhGRnUpOwpAQCAtNDg2LDcgKzQ4Niw3IEBACiAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcSA9ICppbnB0cjsKICAgICBTVFJJTkdMSUJfQ0hBUiAqcCA9IGRlc3QgKyAqb3V0cG9zOwogICAgIC8qIE9mZnNldHMgZnJvbSBxIGZvciByZXRyaWV2aW5nIGJ5dGUgcGFpcnMgaW4gdGhlIHJpZ2h0IG9yZGVyLiAqLwotI2lmZGVmIEJZVEVPUkRFUl9JU19MSVRUTEVfRU5ESUFOCisjaWYgUFlfTElUVExFX0VORElBTgogICAgIGludCBpaGkgPSAhIW5hdGl2ZV9vcmRlcmluZywgaWxvID0gIW5hdGl2ZV9vcmRlcmluZzsKICNlbHNlCiAgICAgaW50IGloaSA9ICFuYXRpdmVfb3JkZXJpbmcsIGlsbyA9ICEhbmF0aXZlX29yZGVyaW5nOwpAQCAtNTE3LDcgKzUxNyw3IEBACiAgICAgICAgICAgICAgICAgICAgIGJsb2NrID0gU1dBQihibG9jayk7CiAjZW5kaWYKICAgICAgICAgICAgICAgICB9Ci0jaWZkZWYgQllURU9SREVSX0lTX0xJVFRMRV9FTkRJQU4KKyNpZiBQWV9MSVRUTEVfRU5ESUFOCiAjIGlmIFNJWkVPRl9MT05HID09IDQKICAgICAgICAgICAgICAgICBwWzBdID0gKFNUUklOR0xJQl9DSEFSKShibG9jayAmIDB4RkZGRnUpOwogICAgICAgICAgICAgICAgIHBbMV0gPSAoU1RSSU5HTElCX0NIQVIpKGJsb2NrID4+IDE2KTsKZGlmZiAtLWdpdCBhL09iamVjdHMvc3RyaW5nbGliL2Zhc3RzZWFyY2guaCBiL09iamVjdHMvc3RyaW5nbGliL2Zhc3RzZWFyY2guaAppbmRleCA1NWFjNzdkLi5jZDdjYWM0IDEwMDY0NAotLS0gYS9PYmplY3RzL3N0cmluZ2xpYi9mYXN0c2VhcmNoLmgKKysrIGIvT2JqZWN0cy9zdHJpbmdsaWIvZmFzdHNlYXJjaC5oCkBAIC0xNDIsNiArMTQyLDggQEAKICAgICBtYXNrID0gMDsKIAogICAgIGlmIChtb2RlICE9IEZBU1RfUlNFQVJDSCkgeworICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiAqc3MgPSBzICsgbSAtIDE7CisgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSICpwcCA9IHAgKyBtIC0gMTsKIAogICAgICAgICAvKiBjcmVhdGUgY29tcHJlc3NlZCBib3llci1tb29yZSBkZWx0YSAxIHRhYmxlICovCiAKQEAgLTE1Niw3ICsxNTgsNyBAQAogCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPD0gdzsgaSsrKSB7CiAgICAgICAgICAgICAvKiBub3RlOiB1c2luZyBtbGFzdCBpbiB0aGUgc2tpcCBwYXRoIHNsb3dzIHRoaW5ncyBkb3duIG9uIHg4NiAqLwotICAgICAgICAgICAgaWYgKHNbaSttLTFdID09IHBbbS0xXSkgeworICAgICAgICAgICAgaWYgKHNzW2ldID09IHBwWzBdKSB7CiAgICAgICAgICAgICAgICAgLyogY2FuZGlkYXRlIG1hdGNoICovCiAgICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG1sYXN0OyBqKyspCiAgICAgICAgICAgICAgICAgICAgIGlmIChzW2kral0gIT0gcFtqXSkKQEAgLTE3MiwxMyArMTc0LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvKiBtaXNzOiBjaGVjayBpZiBuZXh0IGNoYXJhY3RlciBpcyBwYXJ0IG9mIHBhdHRlcm4gKi8KLSAgICAgICAgICAgICAgICBpZiAoIVNUUklOR0xJQl9CTE9PTShtYXNrLCBzW2krbV0pKQorICAgICAgICAgICAgICAgIGlmICghU1RSSU5HTElCX0JMT09NKG1hc2ssIHNzW2krMV0pKQogICAgICAgICAgICAgICAgICAgICBpID0gaSArIG07CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBpID0gaSArIHNraXA7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8qIHNraXA6IGNoZWNrIGlmIG5leHQgY2hhcmFjdGVyIGlzIHBhcnQgb2YgcGF0dGVybiAqLwotICAgICAgICAgICAgICAgIGlmICghU1RSSU5HTElCX0JMT09NKG1hc2ssIHNbaSttXSkpCisgICAgICAgICAgICAgICAgaWYgKCFTVFJJTkdMSUJfQkxPT00obWFzaywgc3NbaSsxXSkpCiAgICAgICAgICAgICAgICAgICAgIGkgPSBpICsgbTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvam9pbi5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvam9pbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NjhiMzEKLS0tIC9kZXYvbnVsbAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9qb2luLmgKQEAgLTAsMCArMSwxMzMgQEAKKy8qIHN0cmluZ2xpYjogYnl0ZXMgam9pbmluZyBpbXBsZW1lbnRhdGlvbiAqLworCisjaWYgU1RSSU5HTElCX1NJWkVPRl9DSEFSICE9IDEKKyNlcnJvciBqb2luLmggb25seSBjb21wYXRpYmxlIHdpdGggYnl0ZS13aXNlIHN0cmluZ3MKKyNlbmRpZgorCitQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKK1NUUklOR0xJQihieXRlc19qb2luKShQeU9iamVjdCAqc2VwLCBQeU9iamVjdCAqaXRlcmFibGUpCit7CisgICAgY2hhciAqc2Vwc3RyID0gU1RSSU5HTElCX1NUUihzZXApOworICAgIGNvbnN0IFB5X3NzaXplX3Qgc2VwbGVuID0gU1RSSU5HTElCX0xFTihzZXApOworICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOworICAgIGNoYXIgKnA7CisgICAgUHlfc3NpemVfdCBzZXFsZW4gPSAwOworICAgIFB5X3NzaXplX3Qgc3ogPSAwOworICAgIFB5X3NzaXplX3QgaSwgbmJ1ZnM7CisgICAgUHlPYmplY3QgKnNlcSwgKml0ZW07CisgICAgUHlfYnVmZmVyICpidWZmZXJzID0gTlVMTDsKKyNkZWZpbmUgTkJfU1RBVElDX0JVRkZFUlMgMTAKKyAgICBQeV9idWZmZXIgc3RhdGljX2J1ZmZlcnNbTkJfU1RBVElDX0JVRkZFUlNdOworCisgICAgc2VxID0gUHlTZXF1ZW5jZV9GYXN0KGl0ZXJhYmxlLCAiY2FuIG9ubHkgam9pbiBhbiBpdGVyYWJsZSIpOworICAgIGlmIChzZXEgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBzZXFsZW4gPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoc2VxKTsKKyAgICBpZiAoc2VxbGVuID09IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHNlcSk7CisgICAgICAgIHJldHVybiBTVFJJTkdMSUJfTkVXKE5VTEwsIDApOworICAgIH0KKyNpZm5kZWYgU1RSSU5HTElCX01VVEFCTEUKKyAgICBpZiAoc2VxbGVuID09IDEpIHsKKyAgICAgICAgaXRlbSA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTShzZXEsIDApOworICAgICAgICBpZiAoU1RSSU5HTElCX0NIRUNLX0VYQUNUKGl0ZW0pKSB7CisgICAgICAgICAgICBQeV9JTkNSRUYoaXRlbSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoc2VxKTsKKyAgICAgICAgICAgIHJldHVybiBpdGVtOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisgICAgaWYgKHNlcWxlbiA+IE5CX1NUQVRJQ19CVUZGRVJTKSB7CisgICAgICAgIGJ1ZmZlcnMgPSBQeU1lbV9ORVcoUHlfYnVmZmVyLCBzZXFsZW4pOworICAgICAgICBpZiAoYnVmZmVycyA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoc2VxKTsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgYnVmZmVycyA9IHN0YXRpY19idWZmZXJzOworICAgIH0KKworICAgIC8qIEhlcmUgaXMgdGhlIGdlbmVyYWwgY2FzZS4gIERvIGEgcHJlLXBhc3MgdG8gZmlndXJlIG91dCB0aGUgdG90YWwKKyAgICAgKiBhbW91bnQgb2Ygc3BhY2Ugd2UnbGwgbmVlZCAoc3opLCBhbmQgc2VlIHdoZXRoZXIgYWxsIGFyZ3VtZW50cyBhcmUKKyAgICAgKiBidWZmZXItY29tcGF0aWJsZS4KKyAgICAgKi8KKyAgICBmb3IgKGkgPSAwLCBuYnVmcyA9IDA7IGkgPCBzZXFsZW47IGkrKykgeworICAgICAgICBQeV9zc2l6ZV90IGl0ZW1sZW47CisgICAgICAgIGl0ZW0gPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX0lURU0oc2VxLCBpKTsKKyAgICAgICAgaWYgKF9nZXRidWZmZXIoaXRlbSwgJmJ1ZmZlcnNbaV0pIDwgMCkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UgaXRlbSAlemQ6IGV4cGVjdGVkIGJ5dGVzLCBieXRlYXJyYXksICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAib3IgYW4gb2JqZWN0IHdpdGggdGhlIGJ1ZmZlciBpbnRlcmZhY2UsICUuODBzIGZvdW5kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpLCBQeV9UWVBFKGl0ZW0pLT50cF9uYW1lKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgbmJ1ZnMgPSBpICsgMTsgIC8qIGZvciBlcnJvciBjbGVhbnVwICovCisgICAgICAgIGl0ZW1sZW4gPSBidWZmZXJzW2ldLmxlbjsKKyAgICAgICAgaWYgKGl0ZW1sZW4gPiBQWV9TU0laRV9UX01BWCAtIHN6KSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiam9pbigpIHJlc3VsdCBpcyB0b28gbG9uZyIpOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICBzeiArPSBpdGVtbGVuOworICAgICAgICBpZiAoaSAhPSAwKSB7CisgICAgICAgICAgICBpZiAoc2VwbGVuID4gUFlfU1NJWkVfVF9NQVggLSBzeikgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiam9pbigpIHJlc3VsdCBpcyB0b28gbG9uZyIpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBzeiArPSBzZXBsZW47CisgICAgICAgIH0KKyAgICAgICAgaWYgKHNlcWxlbiAhPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoc2VxKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UgY2hhbmdlZCBzaXplIGR1cmluZyBpdGVyYXRpb24iKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBBbGxvY2F0ZSByZXN1bHQgc3BhY2UuICovCisgICAgcmVzID0gU1RSSU5HTElCX05FVyhOVUxMLCBzeik7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgLyogQ2F0ZW5hdGUgZXZlcnl0aGluZy4gKi8KKyAgICBwID0gU1RSSU5HTElCX1NUUihyZXMpOworICAgIGlmICghc2VwbGVuKSB7CisgICAgICAgIC8qIGZhc3QgcGF0aCAqLworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmJ1ZnM7IGkrKykgeworICAgICAgICAgICAgUHlfc3NpemVfdCBuID0gYnVmZmVyc1tpXS5sZW47CisgICAgICAgICAgICBjaGFyICpxID0gYnVmZmVyc1tpXS5idWY7CisgICAgICAgICAgICBQeV9NRU1DUFkocCwgcSwgbik7CisgICAgICAgICAgICBwICs9IG47CisgICAgICAgIH0KKyAgICAgICAgZ290byBkb25lOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmJ1ZnM7IGkrKykgeworICAgICAgICBQeV9zc2l6ZV90IG47CisgICAgICAgIGNoYXIgKnE7CisgICAgICAgIGlmIChpKSB7CisgICAgICAgICAgICBQeV9NRU1DUFkocCwgc2Vwc3RyLCBzZXBsZW4pOworICAgICAgICAgICAgcCArPSBzZXBsZW47CisgICAgICAgIH0KKyAgICAgICAgbiA9IGJ1ZmZlcnNbaV0ubGVuOworICAgICAgICBxID0gYnVmZmVyc1tpXS5idWY7CisgICAgICAgIFB5X01FTUNQWShwLCBxLCBuKTsKKyAgICAgICAgcCArPSBuOworICAgIH0KKyAgICBnb3RvIGRvbmU7CisKK2Vycm9yOgorICAgIHJlcyA9IE5VTEw7Citkb25lOgorICAgIFB5X0RFQ1JFRihzZXEpOworICAgIGZvciAoaSA9IDA7IGkgPCBuYnVmczsgaSsrKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWZmZXJzW2ldKTsKKyAgICBpZiAoYnVmZmVycyAhPSBzdGF0aWNfYnVmZmVycykKKyAgICAgICAgUHlNZW1fRlJFRShidWZmZXJzKTsKKyAgICByZXR1cm4gcmVzOworfQorCisjdW5kZWYgTkJfU1RBVElDX0JVRkZFUlMKZGlmZiAtLWdpdCBhL09iamVjdHMvc3RyaW5nbGliL3JlcGxhY2UuaCBiL09iamVjdHMvc3RyaW5nbGliL3JlcGxhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjMxOGVkCi0tLSAvZGV2L251bGwKKysrIGIvT2JqZWN0cy9zdHJpbmdsaWIvcmVwbGFjZS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qIHN0cmluZ2xpYjogcmVwbGFjZSBpbXBsZW1lbnRhdGlvbiAqLworCisjaWZuZGVmIFNUUklOR0xJQl9GQVNUU0VBUkNIX0gKKyNlcnJvciBtdXN0IGluY2x1ZGUgInN0cmluZ2xpYi9mYXN0c2VhcmNoLmgiIGJlZm9yZSBpbmNsdWRpbmcgdGhpcyBtb2R1bGUKKyNlbmRpZgorCitQeV9MT0NBTF9JTkxJTkUodm9pZCkKK1NUUklOR0xJQihyZXBsYWNlXzFjaGFyX2lucGxhY2UpKFNUUklOR0xJQl9DSEFSKiBzLCBTVFJJTkdMSUJfQ0hBUiogZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCB1MSwgUHlfVUNTNCB1MiwgUHlfc3NpemVfdCBtYXhjb3VudCkKK3sKKyAgICAqcyA9IHUyOworICAgIHdoaWxlICgtLW1heGNvdW50ICYmICsrcyAhPSBlbmQpIHsKKyAgICAgICAgLyogRmluZCB0aGUgbmV4dCBjaGFyYWN0ZXIgdG8gYmUgcmVwbGFjZWQuCisKKyAgICAgICAgICAgSWYgaXQgb2NjdXJzIG9mdGVuLCBpdCBpcyBmYXN0ZXIgdG8gc2NhbiBmb3IgaXQgdXNpbmcgYW4gaW5saW5lCisgICAgICAgICAgIGxvb3AuICBJZiBpdCBvY2N1cnMgc2VsZG9tLCBpdCBpcyBmYXN0ZXIgdG8gc2NhbiBmb3IgaXQgdXNpbmcgYQorICAgICAgICAgICBmdW5jdGlvbiBjYWxsOyB0aGUgb3ZlcmhlYWQgb2YgdGhlIGZ1bmN0aW9uIGNhbGwgaXMgYW1vcnRpemVkCisgICAgICAgICAgIGFjcm9zcyB0aGUgbWFueSBjaGFyYWN0ZXJzIHRoYXQgY2FsbCBjb3ZlcnMuICBXZSBzdGFydCB3aXRoIGFuCisgICAgICAgICAgIGlubGluZSBsb29wIGFuZCB1c2UgYSBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gZmFsbCBiYWNrCisgICAgICAgICAgIHRvIGEgZnVuY3Rpb24gY2FsbC4gKi8KKyAgICAgICAgaWYgKCpzICE9IHUxKSB7CisgICAgICAgICAgICBpbnQgYXR0ZW1wdHMgPSAxMDsKKyAgICAgICAgICAgIC8qIHNlYXJjaCB1MSBpbiBhIGR1bW15IGxvb3AgKi8KKyAgICAgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICAgICAgaWYgKCsrcyA9PSBlbmQpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBpZiAoKnMgPT0gdTEpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGlmICghLS1hdHRlbXB0cykgeworICAgICAgICAgICAgICAgICAgICAvKiBpZiB1MSB3YXMgbm90IGZvdW5kIGZvciBhdHRlbXB0cyBpdGVyYXRpb25zLAorICAgICAgICAgICAgICAgICAgICAgICB1c2UgRkFTVFNFQVJDSCgpIG9yIG1lbWNocigpICovCisjaWYgU1RSSU5HTElCX1NJWkVPRl9DSEFSID09IDEKKyAgICAgICAgICAgICAgICAgICAgcysrOworICAgICAgICAgICAgICAgICAgICBzID0gbWVtY2hyKHMsIHUxLCBlbmQgLSBzKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyNlbHNlCisgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKKyAgICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX0NIQVIgY2gxID0gKFNUUklOR0xJQl9DSEFSKSB1MTsKKyAgICAgICAgICAgICAgICAgICAgcysrOworICAgICAgICAgICAgICAgICAgICBpID0gRkFTVFNFQVJDSChzLCBlbmQgLSBzLCAmY2gxLCAxLCAwLCBGQVNUX1NFQVJDSCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICAgICAgcyArPSBpOworI2VuZGlmCisgICAgICAgICAgICAgICAgICAgIC8qIHJlc3RhcnQgdGhlIGR1bW15IGxvb3AgKi8KKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgICpzID0gdTI7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nZGVmcy5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nZGVmcy5oCmluZGV4IDdiYjkxYTcuLmNlMjdmM2UgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL3N0cmluZ2RlZnMuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9zdHJpbmdkZWZzLmgKQEAgLTIxLDcgKzIxLDYgQEAKICNkZWZpbmUgU1RSSU5HTElCX1NUUiAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HCiAjZGVmaW5lIFNUUklOR0xJQl9MRU4gICAgICAgICAgICBQeUJ5dGVzX0dFVF9TSVpFCiAjZGVmaW5lIFNUUklOR0xJQl9ORVcgICAgICAgICAgICBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi0jZGVmaW5lIFNUUklOR0xJQl9SRVNJWkUgICAgICAgICBfUHlCeXRlc19SZXNpemUKICNkZWZpbmUgU1RSSU5HTElCX0NIRUNLICAgICAgICAgIFB5Qnl0ZXNfQ2hlY2sKICNkZWZpbmUgU1RSSU5HTElCX0NIRUNLX0VYQUNUICAgIFB5Qnl0ZXNfQ2hlY2tFeGFjdAogI2RlZmluZSBTVFJJTkdMSUJfVE9TVFIgICAgICAgICAgUHlPYmplY3RfU3RyCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi91Y3MxbGliLmggYi9PYmplY3RzL3N0cmluZ2xpYi91Y3MxbGliLmgKaW5kZXggZThjNmZjYi4uY2UxZWI1NyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zdHJpbmdsaWIvdWNzMWxpYi5oCisrKyBiL09iamVjdHMvc3RyaW5nbGliL3VjczFsaWIuaApAQCAtMTksNyArMTksNiBAQAogI2RlZmluZSBTVFJJTkdMSUJfU1RSICAgICAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEKICNkZWZpbmUgU1RSSU5HTElCX0xFTiAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RICiAjZGVmaW5lIFNUUklOR0xJQl9ORVcgICAgICAgICAgICBfUHlVbmljb2RlX0Zyb21VQ1MxCi0jZGVmaW5lIFNUUklOR0xJQl9SRVNJWkUgICAgICAgICBub3Rfc3VwcG9ydGVkCiAjZGVmaW5lIFNUUklOR0xJQl9DSEVDSyAgICAgICAgICBQeVVuaWNvZGVfQ2hlY2sKICNkZWZpbmUgU1RSSU5HTElCX0NIRUNLX0VYQUNUICAgIFB5VW5pY29kZV9DaGVja0V4YWN0CiAKZGlmZiAtLWdpdCBhL09iamVjdHMvc3RyaW5nbGliL3VjczJsaWIuaCBiL09iamVjdHMvc3RyaW5nbGliL3VjczJsaWIuaAppbmRleCA0NWU1NzI5Li5mOTAwY2I2IDEwMDY0NAotLS0gYS9PYmplY3RzL3N0cmluZ2xpYi91Y3MybGliLmgKKysrIGIvT2JqZWN0cy9zdHJpbmdsaWIvdWNzMmxpYi5oCkBAIC0xOSw3ICsxOSw2IEBACiAjZGVmaW5lIFNUUklOR0xJQl9TVFIgICAgICAgICAgICBQeVVuaWNvZGVfMkJZVEVfREFUQQogI2RlZmluZSBTVFJJTkdMSUJfTEVOICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgKICNkZWZpbmUgU1RSSU5HTElCX05FVyAgICAgICAgICAgIF9QeVVuaWNvZGVfRnJvbVVDUzIKLSNkZWZpbmUgU1RSSU5HTElCX1JFU0laRSAgICAgICAgIG5vdF9zdXBwb3J0ZWQKICNkZWZpbmUgU1RSSU5HTElCX0NIRUNLICAgICAgICAgIFB5VW5pY29kZV9DaGVjawogI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0tfRVhBQ1QgICAgUHlVbmljb2RlX0NoZWNrRXhhY3QKIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvdWNzNGxpYi5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvdWNzNGxpYi5oCmluZGV4IDY0N2EyN2UuLjg2YTQ4MGYgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL3VjczRsaWIuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi91Y3M0bGliLmgKQEAgLTE5LDcgKzE5LDYgQEAKICNkZWZpbmUgU1RSSU5HTElCX1NUUiAgICAgICAgICAgIFB5VW5pY29kZV80QllURV9EQVRBCiAjZGVmaW5lIFNUUklOR0xJQl9MRU4gICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSAogI2RlZmluZSBTVFJJTkdMSUJfTkVXICAgICAgICAgICAgX1B5VW5pY29kZV9Gcm9tVUNTNAotI2RlZmluZSBTVFJJTkdMSUJfUkVTSVpFICAgICAgICAgbm90X3N1cHBvcnRlZAogI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0sgICAgICAgICAgUHlVbmljb2RlX0NoZWNrCiAjZGVmaW5lIFNUUklOR0xJQl9DSEVDS19FWEFDVCAgICBQeVVuaWNvZGVfQ2hlY2tFeGFjdAogCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi91bmRlZi5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvdW5kZWYuaAppbmRleCAwMzExN2VjLi5mOWQzZjFkIDEwMDY0NAotLS0gYS9PYmplY3RzL3N0cmluZ2xpYi91bmRlZi5oCisrKyBiL09iamVjdHMvc3RyaW5nbGliL3VuZGVmLmgKQEAgLTYsNyArNiw2IEBACiAjdW5kZWYgIFNUUklOR0xJQl9TVFIKICN1bmRlZiAgU1RSSU5HTElCX0xFTgogI3VuZGVmICBTVFJJTkdMSUJfTkVXCi0jdW5kZWYgIFNUUklOR0xJQl9SRVNJWkUKICN1bmRlZiAgX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nCiAjdW5kZWYgU1RSSU5HTElCX0lTX1VOSUNPREUKIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZV9mb3JtYXQuaCBiL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVfZm9ybWF0LmgKaW5kZXggZTliZTUxNi4uOTQyOTE2OSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZV9mb3JtYXQuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlX2Zvcm1hdC5oCkBAIC04NjksMjUgKzg2OSwxOSBAQAogICAgIFN1YlN0cmluZyBsaXRlcmFsOwogICAgIFN1YlN0cmluZyBmaWVsZF9uYW1lOwogICAgIFN1YlN0cmluZyBmb3JtYXRfc3BlYzsKLSAgICBQeV9VQ1M0IGNvbnZlcnNpb24sIG1heGNoYXI7Ci0gICAgUHlfc3NpemVfdCBzdWJsZW47Ci0gICAgaW50IGVycjsKKyAgICBQeV9VQ1M0IGNvbnZlcnNpb247CiAKICAgICBNYXJrdXBJdGVyYXRvcl9pbml0KCZpdGVyLCBpbnB1dC0+c3RyLCBpbnB1dC0+c3RhcnQsIGlucHV0LT5lbmQpOwogICAgIHdoaWxlICgocmVzdWx0ID0gTWFya3VwSXRlcmF0b3JfbmV4dCgmaXRlciwgJmxpdGVyYWwsICZmaWVsZF9wcmVzZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmllbGRfbmFtZSwgJmZvcm1hdF9zcGVjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY29udmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvcm1hdF9zcGVjX25lZWRzX2V4cGFuZGluZykpID09IDIpIHsKLSAgICAgICAgc3VibGVuID0gbGl0ZXJhbC5lbmQgLSBsaXRlcmFsLnN0YXJ0OwotICAgICAgICBpZiAoc3VibGVuKSB7Ci0gICAgICAgICAgICBtYXhjaGFyID0gX1B5VW5pY29kZV9GaW5kTWF4Q2hhcihsaXRlcmFsLnN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWwuc3RhcnQsIGxpdGVyYWwuZW5kKTsKLSAgICAgICAgICAgIGVyciA9IF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSh3cml0ZXIsIHN1YmxlbiwgbWF4Y2hhcik7Ci0gICAgICAgICAgICBpZiAoZXJyID09IC0xKQorICAgICAgICBpZiAobGl0ZXJhbC5lbmQgIT0gbGl0ZXJhbC5zdGFydCkgeworICAgICAgICAgICAgaWYgKCFmaWVsZF9wcmVzZW50ICYmIGl0ZXIuc3RyLnN0YXJ0ID09IGl0ZXIuc3RyLmVuZCkKKyAgICAgICAgICAgICAgICB3cml0ZXItPm92ZXJhbGxvY2F0ZSA9IDA7CisgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN1YnN0cmluZyh3cml0ZXIsIGxpdGVyYWwuc3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGl0ZXJhbC5zdGFydCwgbGl0ZXJhbC5lbmQpIDwgMCkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKHdyaXRlci0+YnVmZmVyLCB3cml0ZXItPnBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpdGVyYWwuc3RyLCBsaXRlcmFsLnN0YXJ0LCBzdWJsZW4pOwotICAgICAgICAgICAgd3JpdGVyLT5wb3MgKz0gc3VibGVuOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZpZWxkX3ByZXNlbnQpIHsKQEAgLTkxMiw3ICs5MDYsNiBAQAogICAgICAgICAgICAgIGludCByZWN1cnNpb25fZGVwdGgsIEF1dG9OdW1iZXIgKmF1dG9fbnVtYmVyKQogewogICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwotICAgIFB5X3NzaXplX3QgbWlubGVuOwogCiAgICAgLyogY2hlY2sgdGhlIHJlY3Vyc2lvbiBsZXZlbCAqLwogICAgIGlmIChyZWN1cnNpb25fZGVwdGggPD0gMCkgewpAQCAtOTIxLDggKzkxNCw5IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIG1pbmxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0LT5zdHIpICsgMTAwOwotICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyLCBtaW5sZW4pOworICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyKTsKKyAgICB3cml0ZXIub3ZlcmFsbG9jYXRlID0gMTsKKyAgICB3cml0ZXIubWluX2xlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0LT5zdHIpICsgMTAwOwogCiAgICAgaWYgKCFkb19tYXJrdXAoaW5wdXQsIGFyZ3MsIGt3YXJncywgJndyaXRlciwgcmVjdXJzaW9uX2RlcHRoLAogICAgICAgICAgICAgICAgICAgIGF1dG9fbnVtYmVyKSkgewpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZWRlZnMuaCBiL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVkZWZzLmgKaW5kZXggZjE2ZjIxZS4uNDhkMDBlYyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZWRlZnMuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlZGVmcy5oCkBAIC0yMSw3ICsyMSw2IEBACiAjZGVmaW5lIFNUUklOR0xJQl9TVFIgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERQogI2RlZmluZSBTVFJJTkdMSUJfTEVOICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFCiAjZGVmaW5lIFNUUklOR0xJQl9ORVcgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVVuaWNvZGUKLSNkZWZpbmUgU1RSSU5HTElCX1JFU0laRSAgICAgICAgIFB5VW5pY29kZV9SZXNpemUKICNkZWZpbmUgU1RSSU5HTElCX0NIRUNLICAgICAgICAgIFB5VW5pY29kZV9DaGVjawogI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0tfRVhBQ1QgICAgUHlVbmljb2RlX0NoZWNrRXhhY3QKIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy90dXBsZW9iamVjdC5jIGIvT2JqZWN0cy90dXBsZW9iamVjdC5jCmluZGV4IGVjM2Y5MWIuLjBhOTU5MDkgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdHVwbGVvYmplY3QuYworKysgYi9PYmplY3RzL3R1cGxlb2JqZWN0LmMKQEAgLTMyMiw2ICszMjIsOSBAQAogCiAgICAgIDEwODI1MjcsIDExNjUwNDksIDEwODI1MzEsIDExNjUwNTcsIDEyNDc1ODEsIDEzMzAxMDMsIDEwODI1MzMsCiAgICAgIDEzMzAxMTEsIDE0MTI2MzMsIDExNjUwNjksIDEyNDc1OTksIDE0OTUxNzcsIDE1Nzc2OTkKKworICAgVGVzdHMgaGF2ZSBzaG93biB0aGF0IGl0J3Mgbm90IHdvcnRoIHRvIGNhY2hlIHRoZSBoYXNoIHZhbHVlLCBzZWUKKyAgIGlzc3VlICM5Njg1LgogKi8KIAogc3RhdGljIFB5X2hhc2hfdApkaWZmIC0tZ2l0IGEvT2JqZWN0cy90eXBlb2JqZWN0LmMgYi9PYmplY3RzL3R5cGVvYmplY3QuYwppbmRleCA2ZWNlNzQxLi41MDkzNDUyIDEwMDY0NAotLS0gYS9PYmplY3RzL3R5cGVvYmplY3QuYworKysgYi9PYmplY3RzL3R5cGVvYmplY3QuYwpAQCAtMTkzNiw3ICsxOTM2LDcgQEAKICAgICByZXR1cm4gcmVzOwogfQogCi1sb25nCit1bnNpZ25lZCBsb25nCiBQeVR5cGVfR2V0RmxhZ3MoUHlUeXBlT2JqZWN0ICp0eXBlKQogewogICAgIHJldHVybiB0eXBlLT50cF9mbGFnczsKQEAgLTM2NTcsMTYgKzM2NTcsOSBAQAogICAgICAgICAvKiBJc3N1ZSA3OTk0OiBJZiB3ZSdyZSBjb252ZXJ0aW5nIHRvIGEgc3RyaW5nLCB3ZQogICAgICAgICAgICBzaG91bGQgcmVqZWN0IGZvcm1hdCBzcGVjaWZpY2F0aW9ucyAqLwogICAgICAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoZm9ybWF0X3NwZWMpID4gMCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19EZXByZWNhdGlvbldhcm5pbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QuX19mb3JtYXRfXyB3aXRoIGEgbm9uLWVtcHR5IGZvcm1hdCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgaXMgZGVwcmVjYXRlZCIsIDEpIDwgMCkgewotICAgICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBFdmVudHVhbGx5IHRoaXMgd2lsbCBiZWNvbWUgYW4gZXJyb3I6Ci0gICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICJub24tZW1wdHkgZm9ybWF0IHN0cmluZyBwYXNzZWQgdG8gb2JqZWN0Ll9fZm9ybWF0X18iKTsKLSAgICAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgICAgICovCisgICAgICAgICAgICBnb3RvIGRvbmU7CiAgICAgICAgIH0KIAogICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9Gb3JtYXQoc2VsZl9hc19zdHIsIGZvcm1hdF9zcGVjKTsKQEAgLTM4MjEsNyArMzgxNCw3IEBACiAgICAgICAgICAgICBkZXNjciA9IFB5RGVzY3JfTmV3Q2xhc3NNZXRob2QodHlwZSwgbWV0aCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAobWV0aC0+bWxfZmxhZ3MgJiBNRVRIX1NUQVRJQykgewotICAgICAgICAgICAgUHlPYmplY3QgKmNmdW5jID0gUHlDRnVuY3Rpb25fTmV3KG1ldGgsIChQeU9iamVjdCopdHlwZSk7CisgICAgICAgICAgUHlPYmplY3QgKmNmdW5jID0gUHlDRnVuY3Rpb25fTmV3RXgobWV0aCwgKFB5T2JqZWN0Kil0eXBlLCBOVUxMKTsKICAgICAgICAgICAgIGlmIChjZnVuYyA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIGRlc2NyID0gUHlTdGF0aWNNZXRob2RfTmV3KGNmdW5jKTsKQEAgLTQyOTEsMTMgKzQyODQsMTEgQEAKICAgICAvKiBXYXJuIGZvciBhIHR5cGUgdGhhdCBpbXBsZW1lbnRzIHRwX2NvbXBhcmUgKG5vdyBrbm93biBhcwogICAgICAgIHRwX3Jlc2VydmVkKSBidXQgbm90IHRwX3JpY2hjb21wYXJlLiAqLwogICAgIGlmICh0eXBlLT50cF9yZXNlcnZlZCAmJiAhdHlwZS0+dHBfcmljaGNvbXBhcmUpIHsKLSAgICAgICAgaW50IGVycm9yOwotICAgICAgICBlcnJvciA9IFB5RXJyX1dhcm5Gb3JtYXQoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLCAxLAorICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgIlR5cGUgJS4xMDBzIGRlZmluZXMgdHBfcmVzZXJ2ZWQgKGZvcm1lcmx5IHRwX2NvbXBhcmUpICIKICAgICAgICAgICAgICJidXQgbm90IHRwX3JpY2hjb21wYXJlLiBDb21wYXJpc29ucyBtYXkgbm90IGJlaGF2ZSBhcyBpbnRlbmRlZC4iLAogICAgICAgICAgICAgdHlwZS0+dHBfbmFtZSk7Ci0gICAgICAgIGlmIChlcnJvciA9PSAtMSkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCiAgICAgLyogQWxsIGRvbmUgLS0gc2V0IHRoZSByZWFkeSBmbGFnICovCkBAIC00ODkxLDcgKzQ4ODIsNyBAQAogCiAgICAgaWYgKF9QeURpY3RfR2V0SXRlbUlkKHR5cGUtPnRwX2RpY3QsICZQeUlkX19fbmV3X18pICE9IE5VTEwpCiAgICAgICAgIHJldHVybiAwOwotICAgIGZ1bmMgPSBQeUNGdW5jdGlvbl9OZXcodHBfbmV3X21ldGhvZGRlZiwgKFB5T2JqZWN0ICopdHlwZSk7CisgICAgZnVuYyA9IFB5Q0Z1bmN0aW9uX05ld0V4KHRwX25ld19tZXRob2RkZWYsIChQeU9iamVjdCAqKXR5cGUsIE5VTEwpOwogICAgIGlmIChmdW5jID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoX1B5RGljdF9TZXRJdGVtSWQodHlwZS0+dHBfZGljdCwgJlB5SWRfX19uZXdfXywgZnVuYykpIHsKZGlmZiAtLWdpdCBhL09iamVjdHMvdW5pY29kZW9iamVjdC5jIGIvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKaW5kZXggYzIxZTgwYy4uNGM1MzJhZiAxMDA2NDQKLS0tIGEvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKKysrIGIvT2JqZWN0cy91bmljb2Rlb2JqZWN0LmMKQEAgLTQ3LDE0ICs0Nyw2IEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2VuZGlmCiAKLS8qIEVuZGlhbm5lc3Mgc3dpdGNoZXM7IGRlZmF1bHRzIHRvIGxpdHRsZSBlbmRpYW4gKi8KLQotI2lmZGVmIFdPUkRTX0JJR0VORElBTgotIyBkZWZpbmUgQllURU9SREVSX0lTX0JJR19FTkRJQU4KLSNlbHNlCi0jIGRlZmluZSBCWVRFT1JERVJfSVNfTElUVExFX0VORElBTgotI2VuZGlmCi0KIC8qIC0tLSBHbG9iYWxzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBOT1RFOiBJbiB0aGUgaW50ZXJwcmV0ZXIncyBpbml0aWFsaXphdGlvbiBwaGFzZSwgc29tZSBnbG9iYWxzIGFyZSBjdXJyZW50bHkKQEAgLTIwNCw2ICsxOTYsMTAgQEAKICAgICAgICAgcmV0dXJuIHVuaWNvZGVfZW1wdHk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUgKDApCiAKKy8qIEZvcndhcmQgZGVjbGFyYXRpb24gKi8KK1B5X0xPQ0FMX0lOTElORShpbnQpCitfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZShfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIsIFB5X1VDUzQgY2gpOworCiAvKiBMaXN0IG9mIHN0YXRpYyBzdHJpbmdzLiAqLwogc3RhdGljIF9QeV9JZGVudGlmaWVyICpzdGF0aWNfc3RyaW5ncyA9IE5VTEw7CiAKQEAgLTQzMiw4ICs0MjgsNiBAQAogI2lmbmRlZiBQeV9ERUJVRwogICAgIFB5X3NzaXplX3QgbGVuOwogCi0gICAgYXNzZXJ0KFB5X1JFRkNOVCh1bmljb2RlKSA9PSAxKTsKLQogICAgIGxlbiA9IF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSk7CiAgICAgaWYgKGxlbiA9PSAwKSB7CiAgICAgICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKQEAgLTQ1MCwxMCArNDQ0LDEyIEBACiAgICAgfQogCiAgICAgaWYgKF9QeVVuaWNvZGVfUmVhZHkodW5pY29kZSkgPCAwKSB7Ci0gICAgICAgIFB5X1hERUNSRUYodW5pY29kZSk7CisgICAgICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogI2Vsc2UKKyAgICBhc3NlcnQoUHlfUkVGQ05UKHVuaWNvZGUpID09IDEpOworCiAgICAgLyogZG9uJ3QgbWFrZSB0aGUgcmVzdWx0IHJlYWR5IGluIGRlYnVnIG1vZGUgdG8gZW5zdXJlIHRoYXQgdGhlIGNhbGxlcgogICAgICAgIG1ha2VzIHRoZSBzdHJpbmcgcmVhZHkgYmVmb3JlIHVzaW5nIGl0ICovCiAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAxKSk7CkBAIC00NzYsNyArNDcyLDkgQEAKICAgICB9CiAKICAgICBpZiAobGVuZ3RoID09IDEpIHsKLSAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEX0NIQVIodW5pY29kZSwgMCk7CisgICAgICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKTsKKyAgICAgICAgaW50IGtpbmQgPSBQeVVuaWNvZGVfS0lORCh1bmljb2RlKTsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIDApOwogICAgICAgICBpZiAoY2ggPCAyNTYpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpsYXRpbjFfY2hhciA9IHVuaWNvZGVfbGF0aW4xW2NoXTsKICAgICAgICAgICAgIGlmIChsYXRpbjFfY2hhciAhPSBOVUxMKSB7CkBAIC01NDksNyArNTQ3LDYgQEAKIAogc3RhdGljIEJMT09NX01BU0sgYmxvb21fbGluZWJyZWFrID0gfihCTE9PTV9NQVNLKTA7CiAKLSNkZWZpbmUgQkxPT01fQUREKG1hc2ssIGNoKSAoKG1hc2sgfD0gKDFVTCA8PCAoKGNoKSAmIChCTE9PTV9XSURUSCAtIDEpKSkpKQogI2RlZmluZSBCTE9PTShtYXNrLCBjaCkgICAgICgobWFzayAmICAoMVVMIDw8ICgoY2gpICYgKEJMT09NX1dJRFRIIC0gMSkpKSkpCiAKICNkZWZpbmUgQkxPT01fTElORUJSRUFLKGNoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTU1OSwyMSArNTU2LDQwIEBACiBQeV9MT0NBTF9JTkxJTkUoQkxPT01fTUFTSykKIG1ha2VfYmxvb21fbWFzayhpbnQga2luZCwgdm9pZCogcHRyLCBQeV9zc2l6ZV90IGxlbikKIHsKKyNkZWZpbmUgQkxPT01fVVBEQVRFKFRZUEUsIE1BU0ssIFBUUiwgTEVOKSAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBUWVBFICpkYXRhID0gKFRZUEUgKilQVFI7ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgVFlQRSAqZW5kID0gZGF0YSArIExFTjsgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFB5X1VDUzQgY2g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBmb3IgKDsgZGF0YSAhPSBlbmQ7IGRhdGErKykgeyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGNoID0gKmRhdGE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBNQVNLIHw9ICgxVUwgPDwgKGNoICYgKEJMT09NX1dJRFRIIC0gMSkpKTsgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKKwogICAgIC8qIGNhbGN1bGF0ZSBzaW1wbGUgYmxvb20tc3R5bGUgYml0bWFzayBmb3IgYSBnaXZlbiB1bmljb2RlIHN0cmluZyAqLwogCiAgICAgQkxPT01fTUFTSyBtYXNrOwotICAgIFB5X3NzaXplX3QgaTsKIAogICAgIG1hc2sgPSAwOwotICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKLSAgICAgICAgQkxPT01fQUREKG1hc2ssIFB5VW5pY29kZV9SRUFEKGtpbmQsIHB0ciwgaSkpOwotCisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgQkxPT01fVVBEQVRFKFB5X1VDUzEsIG1hc2ssIHB0ciwgbGVuKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgQkxPT01fVVBEQVRFKFB5X1VDUzIsIG1hc2ssIHB0ciwgbGVuKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgQkxPT01fVVBEQVRFKFB5X1VDUzQsIG1hc2ssIHB0ciwgbGVuKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOworICAgIH0KICAgICByZXR1cm4gbWFzazsKLX0KIAotI2RlZmluZSBCTE9PTV9NRU1CRVIobWFzaywgY2hyLCBzdHIpIFwKLSAgICAoQkxPT00obWFzaywgY2hyKSBcCi0gICAgICYmIChQeVVuaWNvZGVfRmluZENoYXIoc3RyLCBjaHIsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0ciksIDEpID49IDApKQorI3VuZGVmIEJMT09NX1VQREFURQorfQogCiAvKiBDb21waWxhdGlvbiBvZiB0ZW1wbGF0ZWQgcm91dGluZXMgKi8KIApAQCAtNTkzLDYgKzYwOSw3IEBACiAjaW5jbHVkZSAic3RyaW5nbGliL3NwbGl0LmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2NvdW50LmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2ZpbmQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvcmVwbGFjZS5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9maW5kX21heF9jaGFyLmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2xvY2FsZXV0aWwuaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvdW5kZWYuaCIKQEAgLTYwMyw2ICs2MjAsNyBAQAogI2luY2x1ZGUgInN0cmluZ2xpYi9zcGxpdC5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9jb3VudC5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9maW5kLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL3JlcGxhY2UuaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvZmluZF9tYXhfY2hhci5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi9sb2NhbGV1dGlsLmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL3VuZGVmLmgiCkBAIC02MTMsNiArNjMxLDcgQEAKICNpbmNsdWRlICJzdHJpbmdsaWIvc3BsaXQuaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvY291bnQuaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvZmluZC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9yZXBsYWNlLmgiCiAjaW5jbHVkZSAic3RyaW5nbGliL2ZpbmRfbWF4X2NoYXIuaCIKICNpbmNsdWRlICJzdHJpbmdsaWIvbG9jYWxldXRpbC5oIgogI2luY2x1ZGUgInN0cmluZ2xpYi91bmRlZi5oIgpAQCAtNjU5LDYgKzY3OCwyNSBAQAogICAgIH0KIH0KIAorI2lmZGVmIFB5X0RFQlVHCisvKiBGaWxsIHRoZSBkYXRhIG9mIGFuIFVuaWNvZGUgc3RyaW5nIHdpdGggaW52YWxpZCBjaGFyYWN0ZXJzIHRvIGRldGVjdCBidWdzCisgICBlYXJsaWVyLgorCisgICBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koc3RyLCAxKSBkZXRlY3RzIGludmFsaWQgY2hhcmFjdGVycywgYXQgbGVhc3QgZm9yCisgICBBU0NJSSBhbmQgVUNTLTQgc3RyaW5ncy4gVSswMEZGIGlzIGludmFsaWQgaW4gQVNDSUkgYW5kIFUrRkZGRkZGRkYgaXMgYW4KKyAgIGludmFsaWQgY2hhcmFjdGVyIGluIFVuaWNvZGUgNi4wLiAqLworc3RhdGljIHZvaWQKK3VuaWNvZGVfZmlsbF9pbnZhbGlkKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IG9sZF9sZW5ndGgpCit7CisgICAgaW50IGtpbmQgPSBQeVVuaWNvZGVfS0lORCh1bmljb2RlKTsKKyAgICBQeV9VQ1MxICpkYXRhID0gUHlVbmljb2RlXzFCWVRFX0RBVEEodW5pY29kZSk7CisgICAgUHlfc3NpemVfdCBsZW5ndGggPSBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKTsKKyAgICBpZiAobGVuZ3RoIDw9IG9sZF9sZW5ndGgpCisgICAgICAgIHJldHVybjsKKyAgICBtZW1zZXQoZGF0YSArIG9sZF9sZW5ndGggKiBraW5kLCAweGZmLCAobGVuZ3RoIC0gb2xkX2xlbmd0aCkgKiBraW5kKTsKK30KKyNlbmRpZgorCiBzdGF0aWMgUHlPYmplY3QqCiByZXNpemVfY29tcGFjdChQeU9iamVjdCAqdW5pY29kZSwgUHlfc3NpemVfdCBsZW5ndGgpCiB7CkBAIC02NjcsNiArNzA1LDEwIEBACiAgICAgUHlfc3NpemVfdCBuZXdfc2l6ZTsKICAgICBpbnQgc2hhcmVfd3N0cjsKICAgICBQeU9iamVjdCAqbmV3X3VuaWNvZGU7CisjaWZkZWYgUHlfREVCVUcKKyAgICBQeV9zc2l6ZV90IG9sZF9sZW5ndGggPSBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKTsKKyNlbmRpZgorCiAgICAgYXNzZXJ0KHVuaWNvZGVfbW9kaWZpYWJsZSh1bmljb2RlKSk7CiAgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19SRUFEWSh1bmljb2RlKSk7CiAgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19DT01QQUNUKHVuaWNvZGUpKTsKQEAgLTcwNiw2ICs3NDgsOSBAQAogICAgICAgICBQeU9iamVjdF9ERUwoX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpKTsKICAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gTlVMTDsKICAgICB9CisjaWZkZWYgUHlfREVCVUcKKyAgICB1bmljb2RlX2ZpbGxfaW52YWxpZCh1bmljb2RlLCBvbGRfbGVuZ3RoKTsKKyNlbmRpZgogICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORCh1bmljb2RlKSwgUHlVbmljb2RlX0RBVEEodW5pY29kZSksCiAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCwgMCk7CiAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAwKSk7CkBAIC03MjQsNiArNzY5LDkgQEAKICAgICAgICAgUHlfc3NpemVfdCBjaGFyX3NpemU7CiAgICAgICAgIGludCBzaGFyZV93c3RyLCBzaGFyZV91dGY4OwogICAgICAgICB2b2lkICpkYXRhOworI2lmZGVmIFB5X0RFQlVHCisgICAgICAgIFB5X3NzaXplX3Qgb2xkX2xlbmd0aCA9IF9QeVVuaWNvZGVfTEVOR1RIKHVuaWNvZGUpOworI2VuZGlmCiAKICAgICAgICAgZGF0YSA9IF9QeVVuaWNvZGVfREFUQV9BTlkodW5pY29kZSk7CiAgICAgICAgIGNoYXJfc2l6ZSA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOwpAQCAtNzU5LDYgKzgwNyw5IEBACiAgICAgICAgIH0KICAgICAgICAgX1B5VW5pY29kZV9MRU5HVEgodW5pY29kZSkgPSBsZW5ndGg7CiAgICAgICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORCh1bmljb2RlKSwgZGF0YSwgbGVuZ3RoLCAwKTsKKyNpZmRlZiBQeV9ERUJVRworICAgICAgICB1bmljb2RlX2ZpbGxfaW52YWxpZCh1bmljb2RlLCBvbGRfbGVuZ3RoKTsKKyNlbmRpZgogICAgICAgICBpZiAoc2hhcmVfd3N0ciB8fCBfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPT0gTlVMTCkgewogICAgICAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAwKSk7CiAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTgxMSw4ICs4NjIsOCBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGNvcHlfbGVuZ3RoID0gX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKTsKICAgICAgICAgY29weV9sZW5ndGggPSBQeV9NSU4oY29weV9sZW5ndGgsIGxlbmd0aCk7Ci0gICAgICAgIFB5X1VOSUNPREVfQ09QWShfUHlVbmljb2RlX1dTVFIodyksIF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfbGVuZ3RoKTsKKyAgICAgICAgUHlfTUVNQ1BZKF9QeVVuaWNvZGVfV1NUUih3KSwgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpLAorICAgICAgICAgICAgICAgICAgY29weV9sZW5ndGggKiBzaXplb2Yod2NoYXJfdCkpOwogICAgICAgICByZXR1cm4gdzsKICAgICB9CiB9CkBAIC0xMDgzLDExICsxMTM0LDcgQEAKICAgICAgICAgfQogICAgIH0KICNpZmRlZiBQeV9ERUJVRwotICAgIC8qIEZpbGwgdGhlIGRhdGEgd2l0aCBpbnZhbGlkIGNoYXJhY3RlcnMgdG8gZGV0ZWN0IGJ1Z3MgZWFybGllci4KLSAgICAgICBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koc3RyLCAxKSBkZXRlY3RzIGludmFsaWQgY2hhcmFjdGVycywKLSAgICAgICBhdCBsZWFzdCBmb3IgQVNDSUkgYW5kIFVDUy00IHN0cmluZ3MuIFUrMDBGRiBpcyBpbnZhbGlkIGluIEFTQ0lJCi0gICAgICAgYW5kIFUrRkZGRkZGRkYgaXMgYW4gaW52YWxpZCBjaGFyYWN0ZXIgaW4gVW5pY29kZSA2LjAuICovCi0gICAgbWVtc2V0KGRhdGEsIDB4ZmYsIHNpemUgKiBraW5kKTsKKyAgICB1bmljb2RlX2ZpbGxfaW52YWxpZCgoUHlPYmplY3QqKXVuaWNvZGUsIDApOwogI2VuZGlmCiAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSgoUHlPYmplY3QqKXVuaWNvZGUsIDApKTsKICAgICByZXR1cm4gb2JqOwpAQCAtMTY0OSwzOCArMTY5Niw2IEBACiAgICAgcmV0dXJuIHVuaWNvZGVfcmVzaXplKHBfdW5pY29kZSwgbGVuZ3RoKTsKIH0KIAotc3RhdGljIGludAotdW5pY29kZV93aWRlbihQeU9iamVjdCAqKnBfdW5pY29kZSwgUHlfc3NpemVfdCBsZW5ndGgsCi0gICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhjaGFyKQotewotICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgYXNzZXJ0KFB5VW5pY29kZV9JU19SRUFEWSgqcF91bmljb2RlKSk7Ci0gICAgYXNzZXJ0KGxlbmd0aCA8PSBQeVVuaWNvZGVfR0VUX0xFTkdUSCgqcF91bmljb2RlKSk7Ci0gICAgaWYgKG1heGNoYXIgPD0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKCpwX3VuaWNvZGUpKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfTmV3KFB5VW5pY29kZV9HRVRfTEVOR1RIKCpwX3VuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Y2hhcik7Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnMocmVzdWx0LCAwLCAqcF91bmljb2RlLCAwLCBsZW5ndGgpOwotICAgIFB5X0RFQ1JFRigqcF91bmljb2RlKTsKLSAgICAqcF91bmljb2RlID0gcmVzdWx0OwotICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgaW50Ci11bmljb2RlX3B1dGNoYXIoUHlPYmplY3QgKipwX3VuaWNvZGUsIFB5X3NzaXplX3QgKnBvcywKLSAgICAgICAgICAgICAgICBQeV9VQ1M0IGNoKQotewotICAgIGFzc2VydChjaCA8PSBNQVhfVU5JQ09ERSk7Ci0gICAgaWYgKHVuaWNvZGVfd2lkZW4ocF91bmljb2RlLCAqcG9zLCBjaCkgPCAwKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgUHlVbmljb2RlX1dSSVRFKFB5VW5pY29kZV9LSU5EKCpwX3VuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfREFUQSgqcF91bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgKCpwb3MpKyssIGNoKTsKLSAgICByZXR1cm4gMDsKLX0KLQogLyogQ29weSBhIEFTQ0lJIG9yIGxhdGluMSBjaGFyKiBzdHJpbmcgaW50byBhIFB5dGhvbiBVbmljb2RlIHN0cmluZy4KIAogICAgV0FSTklORzogVGhlIGZ1bmN0aW9uIGRvZXNuJ3QgY29weSB0aGUgdGVybWluYXRpbmcgbnVsbCBjaGFyYWN0ZXIgYW5kCkBAIC0xNjk3LDYgKzE3MTIsMTQgQEAKICAgICBzd2l0Y2ggKGtpbmQpIHsKICAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOiB7CiAgICAgICAgIGFzc2VydChpbmRleCArIGxlbiA8PSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKSk7CisjaWZkZWYgUHlfREVCVUcKKyAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSSh1bmljb2RlKSkgeworICAgICAgICAgICAgUHlfVUNTNCBtYXhjaGFyID0gdWNzMWxpYl9maW5kX21heF9jaGFyKAorICAgICAgICAgICAgICAgIChjb25zdCBQeV9VQ1MxKilzdHIsCisgICAgICAgICAgICAgICAgKGNvbnN0IFB5X1VDUzEqKXN0ciArIGxlbik7CisgICAgICAgICAgICBhc3NlcnQobWF4Y2hhciA8IDEyOCk7CisgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBtZW1jcHkoKGNoYXIgKikgZGF0YSArIGluZGV4LCBzdHIsIGxlbik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE5NDIsMTMgKzE5NjUsMTcgQEAKICAgICBhc3NlcnQoc2l6ZSA+IDApOwogICAgIGlmIChzaXplID09IDEpIHsKICAgICAgICAgUHlfVUNTNCBjaCA9IHVbMF07CisgICAgICAgIGludCBraW5kOworICAgICAgICB2b2lkICpkYXRhOwogICAgICAgICBpZiAoY2ggPCAyNTYpCiAgICAgICAgICAgICByZXR1cm4gZ2V0X2xhdGluMV9jaGFyKCh1bnNpZ25lZCBjaGFyKWNoKTsKIAogICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KDEsIGNoKTsKICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORChyZXMpLCBQeVVuaWNvZGVfREFUQShyZXMpLCAwLCBjaCk7CisgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChyZXMpOworICAgICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEocmVzKTsKKyAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIDAsIGNoKTsKICAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXMsIDEpKTsKICAgICAgICAgcmV0dXJuIHJlczsKICAgICB9CkBAIC0xOTc4LDEzICsyMDA1LDE3IEBACiAgICAgYXNzZXJ0KHNpemUgPiAwKTsKICAgICBpZiAoc2l6ZSA9PSAxKSB7CiAgICAgICAgIFB5X1VDUzQgY2ggPSB1WzBdOworICAgICAgICBpbnQga2luZDsKKyAgICAgICAgdm9pZCAqZGF0YTsKICAgICAgICAgaWYgKGNoIDwgMjU2KQogICAgICAgICAgICAgcmV0dXJuIGdldF9sYXRpbjFfY2hhcigodW5zaWduZWQgY2hhciljaCk7CiAKICAgICAgICAgcmVzID0gUHlVbmljb2RlX05ldygxLCBjaCk7CiAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBQeVVuaWNvZGVfV1JJVEUoUHlVbmljb2RlX0tJTkQocmVzKSwgUHlVbmljb2RlX0RBVEEocmVzKSwgMCwgY2gpOworICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocmVzKTsKKyAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlcyk7CisgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCAwLCBjaCk7CiAgICAgICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CiAgICAgICAgIHJldHVybiByZXM7CiAgICAgfQpAQCAtMjI4MywxNiArMjMxNCw5IEBACiAKIHN0YXRpYyB2b2lkCiBtYWtlZm10KGNoYXIgKmZtdCwgaW50IGxvbmdmbGFnLCBpbnQgbG9uZ2xvbmdmbGFnLCBpbnQgc2l6ZV90ZmxhZywKLSAgICAgICAgaW50IHplcm9wYWQsIGludCB3aWR0aCwgaW50IHByZWNpc2lvbiwgY2hhciBjKQorICAgICAgICBjaGFyIGMpCiB7CiAgICAgKmZtdCsrID0gJyUnOwotICAgIGlmICh3aWR0aCkgewotICAgICAgICBpZiAoemVyb3BhZCkKLSAgICAgICAgICAgICpmbXQrKyA9ICcwJzsKLSAgICAgICAgZm10ICs9IHNwcmludGYoZm10LCAiJWQiLCB3aWR0aCk7Ci0gICAgfQotICAgIGlmIChwcmVjaXNpb24pCi0gICAgICAgIGZtdCArPSBzcHJpbnRmKGZtdCwgIi4lZCIsIHByZWNpc2lvbik7CiAgICAgaWYgKGxvbmdmbGFnKQogICAgICAgICAqZm10KysgPSAnbCc7CiAgICAgZWxzZSBpZiAobG9uZ2xvbmdmbGFnKSB7CkBAIC0yMzE3LDQ0ICsyMzQxLDcwIEBACiAgICAgKmZtdCA9ICdcMCc7CiB9CiAKLS8qIGhlbHBlciBmb3IgUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCkgKi8KKy8qIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVxdWlyZWQgZm9yIG91dHB1dCBvZiAlbGxkIG9yICVwLgorICAgV2UgbmVlZCBhdCBtb3N0IGNlaWwobG9nMTAoMjU2KSpTSVpFT0ZfTE9OR19MT05HKSBkaWdpdHMsCisgICBwbHVzIDEgZm9yIHRoZSBzaWduLiAgNTMvMjIgaXMgYW4gdXBwZXIgYm91bmQgZm9yIGxvZzEwKDI1NikuICovCisjZGVmaW5lIE1BWF9MT05HX0xPTkdfQ0hBUlMgKDIgKyAoU0laRU9GX0xPTkdfTE9ORyo1My0xKSAvIDIyKQogCiBzdGF0aWMgY29uc3QgY2hhcioKLXBhcnNlX2Zvcm1hdF9mbGFncyhjb25zdCBjaGFyICpmLAotICAgICAgICAgICAgICAgICAgIGludCAqcF93aWR0aCwgaW50ICpwX3ByZWNpc2lvbiwKLSAgICAgICAgICAgICAgICAgICBpbnQgKnBfbG9uZ2ZsYWcsIGludCAqcF9sb25nbG9uZ2ZsYWcsIGludCAqcF9zaXplX3RmbGFnKQordW5pY29kZV9mcm9tZm9ybWF0X2FyZyhfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmYsIHZhX2xpc3QgKnZhcmdzKQogewotICAgIGludCB3aWR0aCwgcHJlY2lzaW9uLCBsb25nZmxhZywgbG9uZ2xvbmdmbGFnLCBzaXplX3RmbGFnOworICAgIGNvbnN0IGNoYXIgKnA7CisgICAgUHlfc3NpemVfdCBsZW47CisgICAgaW50IHplcm9wYWQ7CisgICAgaW50IHdpZHRoOworICAgIGludCBwcmVjaXNpb247CisgICAgaW50IGxvbmdmbGFnOworICAgIGludCBsb25nbG9uZ2ZsYWc7CisgICAgaW50IHNpemVfdGZsYWc7CisgICAgaW50IGZpbGw7CisKKyAgICBwID0gZjsKKyAgICBmKys7CisgICAgemVyb3BhZCA9IDA7CisgICAgaWYgKCpmID09ICcwJykgeworICAgICAgICB6ZXJvcGFkID0gMTsKKyAgICAgICAgZisrOworICAgIH0KIAogICAgIC8qIHBhcnNlIHRoZSB3aWR0aC5wcmVjaXNpb24gcGFydCwgZS5nLiAiJTIuNXMiID0+IHdpZHRoPTIsIHByZWNpc2lvbj01ICovCi0gICAgZisrOwogICAgIHdpZHRoID0gMDsKLSAgICB3aGlsZSAoUHlfSVNESUdJVCgodW5zaWduZWQpKmYpKQotICAgICAgICB3aWR0aCA9ICh3aWR0aCoxMCkgKyAqZisrIC0gJzAnOworICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpIHsKKyAgICAgICAgaWYgKHdpZHRoID4gKElOVF9NQVggLSAoKGludCkqZiAtICcwJykpIC8gMTApIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aWR0aCB0b28gYmlnIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICB3aWR0aCA9ICh3aWR0aCoxMCkgKyAoKmYgLSAnMCcpOworICAgICAgICBmKys7CisgICAgfQogICAgIHByZWNpc2lvbiA9IDA7CiAgICAgaWYgKCpmID09ICcuJykgewogICAgICAgICBmKys7Ci0gICAgICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpCi0gICAgICAgICAgICBwcmVjaXNpb24gPSAocHJlY2lzaW9uKjEwKSArICpmKysgLSAnMCc7CisgICAgICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpIHsKKyAgICAgICAgICAgIGlmIChwcmVjaXNpb24gPiAoSU5UX01BWCAtICgoaW50KSpmIC0gJzAnKSkgLyAxMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlY2lzaW9uIHRvbyBiaWciKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHByZWNpc2lvbiA9IChwcmVjaXNpb24qMTApICsgKCpmIC0gJzAnKTsKKyAgICAgICAgICAgIGYrKzsKKyAgICAgICAgfQogICAgICAgICBpZiAoKmYgPT0gJyUnKSB7CiAgICAgICAgICAgICAvKiAiJS4zJXMiID0+IGYgcG9pbnRzIHRvICIzIiAqLwogICAgICAgICAgICAgZi0tOwogICAgICAgICB9CiAgICAgfQogICAgIGlmICgqZiA9PSAnXDAnKSB7Ci0gICAgICAgIC8qIGJvZ3VzIGZvcm1hdCAiJS4xIiA9PiBnbyBiYWNrd2FyZCwgZiBwb2ludHMgdG8gIjEiICovCisgICAgICAgIC8qIGJvZ3VzIGZvcm1hdCAiJS4xMjMiID0+IGdvIGJhY2t3YXJkLCBmIHBvaW50cyB0byAiMyIgKi8KICAgICAgICAgZi0tOwogICAgIH0KLSAgICBpZiAocF93aWR0aCAhPSBOVUxMKQotICAgICAgICAqcF93aWR0aCA9IHdpZHRoOwotICAgIGlmIChwX3ByZWNpc2lvbiAhPSBOVUxMKQotICAgICAgICAqcF9wcmVjaXNpb24gPSBwcmVjaXNpb247CiAKICAgICAvKiBIYW5kbGUgJWxkLCAlbHUsICVsbGQgYW5kICVsbHUuICovCiAgICAgbG9uZ2ZsYWcgPSAwOwogICAgIGxvbmdsb25nZmxhZyA9IDA7CiAgICAgc2l6ZV90ZmxhZyA9IDA7Ci0KICAgICBpZiAoKmYgPT0gJ2wnKSB7CiAgICAgICAgIGlmIChmWzFdID09ICdkJyB8fCBmWzFdID09ICd1JyB8fCBmWzFdID09ICdpJykgewogICAgICAgICAgICAgbG9uZ2ZsYWcgPSAxOwpAQCAtMjM3Myw0OTQgKzI0MjMsMjk1IEBACiAgICAgICAgIHNpemVfdGZsYWcgPSAxOwogICAgICAgICArK2Y7CiAgICAgfQotICAgIGlmIChwX2xvbmdmbGFnICE9IE5VTEwpCi0gICAgICAgICpwX2xvbmdmbGFnID0gbG9uZ2ZsYWc7Ci0gICAgaWYgKHBfbG9uZ2xvbmdmbGFnICE9IE5VTEwpCi0gICAgICAgICpwX2xvbmdsb25nZmxhZyA9IGxvbmdsb25nZmxhZzsKLSAgICBpZiAocF9zaXplX3RmbGFnICE9IE5VTEwpCi0gICAgICAgICpwX3NpemVfdGZsYWcgPSBzaXplX3RmbGFnOworCisgICAgaWYgKGZbMV0gPT0gJ1wwJykKKyAgICAgICAgd3JpdGVyLT5vdmVyYWxsb2NhdGUgPSAwOworCisgICAgc3dpdGNoICgqZikgeworICAgIGNhc2UgJ2MnOgorICAgIHsKKyAgICAgICAgaW50IG9yZGluYWwgPSB2YV9hcmcoKnZhcmdzLCBpbnQpOworICAgICAgICBpZiAob3JkaW5hbCA8IDAgfHwgb3JkaW5hbCA+IE1BWF9VTklDT0RFKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIGFyZ3VtZW50IG5vdCBpbiByYW5nZSgweDExMDAwMCkiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIG9yZGluYWwpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICdpJzoKKyAgICBjYXNlICdkJzoKKyAgICBjYXNlICd1JzoKKyAgICBjYXNlICd4JzoKKyAgICB7CisgICAgICAgIC8qIHVzZWQgYnkgc3ByaW50ZiAqLworICAgICAgICBjaGFyIGZtdFsxMF07IC8qIHNob3VsZCBiZSBlbm91Z2ggZm9yICIlMGxsZFwwIiAqLworICAgICAgICBjaGFyIGJ1ZmZlcltNQVhfTE9OR19MT05HX0NIQVJTXTsKKworICAgICAgICBpZiAoKmYgPT0gJ3UnKSB7CisgICAgICAgICAgICBtYWtlZm10KGZtdCwgbG9uZ2ZsYWcsIGxvbmdsb25nZmxhZywgc2l6ZV90ZmxhZywgKmYpOworCisgICAgICAgICAgICBpZiAobG9uZ2ZsYWcpCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIHVuc2lnbmVkIGxvbmcpKTsKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworICAgICAgICAgICAgZWxzZSBpZiAobG9uZ2xvbmdmbGFnKQorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCB1bnNpZ25lZCBQWV9MT05HX0xPTkcpKTsKKyNlbmRpZgorICAgICAgICAgICAgZWxzZSBpZiAoc2l6ZV90ZmxhZykKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgc2l6ZV90KSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIHVuc2lnbmVkIGludCkpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCpmID09ICd4JykgeworICAgICAgICAgICAgbWFrZWZtdChmbXQsIDAsIDAsIDAsICd4Jyk7CisgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LCB2YV9hcmcoKnZhcmdzLCBpbnQpKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIG1ha2VmbXQoZm10LCBsb25nZmxhZywgbG9uZ2xvbmdmbGFnLCBzaXplX3RmbGFnLCAqZik7CisKKyAgICAgICAgICAgIGlmIChsb25nZmxhZykKKyAgICAgICAgICAgICAgICBsZW4gPSBzcHJpbnRmKGJ1ZmZlciwgZm10LAorICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKCp2YXJncywgbG9uZykpOworI2lmZGVmIEhBVkVfTE9OR19MT05HCisgICAgICAgICAgICBlbHNlIGlmIChsb25nbG9uZ2ZsYWcpCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIFBZX0xPTkdfTE9ORykpOworI2VuZGlmCisgICAgICAgICAgICBlbHNlIGlmIChzaXplX3RmbGFnKQorICAgICAgICAgICAgICAgIGxlbiA9IHNwcmludGYoYnVmZmVyLCBmbXQsCisgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoKnZhcmdzLCBQeV9zc2l6ZV90KSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbGVuID0gc3ByaW50ZihidWZmZXIsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZygqdmFyZ3MsIGludCkpOworICAgICAgICB9CisgICAgICAgIGFzc2VydChsZW4gPj0gMCk7CisKKyAgICAgICAgaWYgKHByZWNpc2lvbiA8IGxlbikKKyAgICAgICAgICAgIHByZWNpc2lvbiA9IGxlbjsKKyAgICAgICAgaWYgKHdpZHRoID4gcHJlY2lzaW9uKSB7CisgICAgICAgICAgICBQeV9VQ1M0IGZpbGxjaGFyOworICAgICAgICAgICAgZmlsbCA9IHdpZHRoIC0gcHJlY2lzaW9uOworICAgICAgICAgICAgZmlsbGNoYXIgPSB6ZXJvcGFkPycwJzonICc7CisgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9QcmVwYXJlKHdyaXRlciwgZmlsbCwgZmlsbGNoYXIpID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9GaWxsKHdyaXRlci0+YnVmZmVyLCB3cml0ZXItPnBvcywgZmlsbCwgZmlsbGNoYXIpID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgd3JpdGVyLT5wb3MgKz0gZmlsbDsKKyAgICAgICAgfQorICAgICAgICBpZiAocHJlY2lzaW9uID4gbGVuKSB7CisgICAgICAgICAgICBmaWxsID0gcHJlY2lzaW9uIC0gbGVuOworICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSh3cml0ZXIsIGZpbGwsICcwJykgPT0gLTEpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0ZpbGwod3JpdGVyLT5idWZmZXIsIHdyaXRlci0+cG9zLCBmaWxsLCAnMCcpID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgd3JpdGVyLT5wb3MgKz0gZmlsbDsKKyAgICAgICAgfQorICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNzdHIod3JpdGVyLCBidWZmZXIsIGxlbikgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgY2FzZSAncCc6CisgICAgeworICAgICAgICBjaGFyIG51bWJlcltNQVhfTE9OR19MT05HX0NIQVJTXTsKKworICAgICAgICBsZW4gPSBzcHJpbnRmKG51bWJlciwgIiVwIiwgdmFfYXJnKCp2YXJncywgdm9pZCopKTsKKyAgICAgICAgYXNzZXJ0KGxlbiA+PSAwKTsKKworICAgICAgICAvKiAlcCBpcyBpbGwtZGVmaW5lZDogIGVuc3VyZSBsZWFkaW5nIDB4LiAqLworICAgICAgICBpZiAobnVtYmVyWzFdID09ICdYJykKKyAgICAgICAgICAgIG51bWJlclsxXSA9ICd4JzsKKyAgICAgICAgZWxzZSBpZiAobnVtYmVyWzFdICE9ICd4JykgeworICAgICAgICAgICAgbWVtbW92ZShudW1iZXIgKyAyLCBudW1iZXIsCisgICAgICAgICAgICAgICAgICAgIHN0cmxlbihudW1iZXIpICsgMSk7CisgICAgICAgICAgICBudW1iZXJbMF0gPSAnMCc7CisgICAgICAgICAgICBudW1iZXJbMV0gPSAneCc7CisgICAgICAgICAgICBsZW4gKz0gMjsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ3N0cih3cml0ZXIsIG51bWJlciwgbGVuKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICdzJzoKKyAgICB7CisgICAgICAgIC8qIFVURi04ICovCisgICAgICAgIGNvbnN0IGNoYXIgKnMgPSB2YV9hcmcoKnZhcmdzLCBjb25zdCBjaGFyKik7CisgICAgICAgIFB5T2JqZWN0ICpzdHIgPSBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsKHMsIHN0cmxlbihzKSwgInJlcGxhY2UiLCBOVUxMKTsKKyAgICAgICAgaWYgKCFzdHIpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIod3JpdGVyLCBzdHIpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoc3RyKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihzdHIpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICdVJzoKKyAgICB7CisgICAgICAgIFB5T2JqZWN0ICpvYmogPSB2YV9hcmcoKnZhcmdzLCBQeU9iamVjdCAqKTsKKyAgICAgICAgYXNzZXJ0KG9iaiAmJiBfUHlVbmljb2RlX0NIRUNLKG9iaikpOworCisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKHdyaXRlciwgb2JqKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICdWJzoKKyAgICB7CisgICAgICAgIFB5T2JqZWN0ICpvYmogPSB2YV9hcmcoKnZhcmdzLCBQeU9iamVjdCAqKTsKKyAgICAgICAgY29uc3QgY2hhciAqc3RyID0gdmFfYXJnKCp2YXJncywgY29uc3QgY2hhciAqKTsKKyAgICAgICAgUHlPYmplY3QgKnN0cl9vYmo7CisgICAgICAgIGFzc2VydChvYmogfHwgc3RyKTsKKyAgICAgICAgaWYgKG9iaikgeworICAgICAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sob2JqKSk7CisgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cih3cml0ZXIsIG9iaikgPT0gLTEpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBzdHJfb2JqID0gUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChzdHIsIHN0cmxlbihzdHIpLCAicmVwbGFjZSIsIE5VTEwpOworICAgICAgICAgICAgaWYgKCFzdHJfb2JqKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIod3JpdGVyLCBzdHJfb2JqKSA9PSAtMSkgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdHJfb2JqKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdHJfb2JqKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICdTJzoKKyAgICB7CisgICAgICAgIFB5T2JqZWN0ICpvYmogPSB2YV9hcmcoKnZhcmdzLCBQeU9iamVjdCAqKTsKKyAgICAgICAgUHlPYmplY3QgKnN0cjsKKyAgICAgICAgYXNzZXJ0KG9iaik7CisgICAgICAgIHN0ciA9IFB5T2JqZWN0X1N0cihvYmopOworICAgICAgICBpZiAoIXN0cikKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cih3cml0ZXIsIHN0cikgPT0gLTEpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdHIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKHN0cik7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGNhc2UgJ1InOgorICAgIHsKKyAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZygqdmFyZ3MsIFB5T2JqZWN0ICopOworICAgICAgICBQeU9iamVjdCAqcmVwcjsKKyAgICAgICAgYXNzZXJ0KG9iaik7CisgICAgICAgIHJlcHIgPSBQeU9iamVjdF9SZXByKG9iaik7CisgICAgICAgIGlmICghcmVwcikKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cih3cml0ZXIsIHJlcHIpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVwcik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYocmVwcik7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGNhc2UgJ0EnOgorICAgIHsKKyAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZygqdmFyZ3MsIFB5T2JqZWN0ICopOworICAgICAgICBQeU9iamVjdCAqYXNjaWk7CisgICAgICAgIGFzc2VydChvYmopOworICAgICAgICBhc2NpaSA9IFB5T2JqZWN0X0FTQ0lJKG9iaik7CisgICAgICAgIGlmICghYXNjaWkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIod3JpdGVyLCBhc2NpaSkgPT0gLTEpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihhc2NpaSk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYoYXNjaWkpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICclJzoKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKHdyaXRlciwgJyUnKSA8IDApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICAvKiBpZiB3ZSBzdHVtYmxlIHVwb24gYW4gdW5rbm93biBmb3JtYXR0aW5nIGNvZGUsIGNvcHkgdGhlIHJlc3QKKyAgICAgICAgICAgb2YgdGhlIGZvcm1hdCBzdHJpbmcgdG8gdGhlIG91dHB1dCBzdHJpbmcuICh3ZSBjYW5ub3QganVzdAorICAgICAgICAgICBza2lwIHRoZSBjb2RlLCBzaW5jZSB0aGVyZSdzIG5vIHdheSB0byBrbm93IHdoYXQncyBpbiB0aGUKKyAgICAgICAgICAgYXJndW1lbnQgbGlzdCkgKi8KKyAgICAgICAgbGVuID0gc3RybGVuKHApOworICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNzdHIod3JpdGVyLCBwLCBsZW4pID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGYgPSBwK2xlbjsKKyAgICAgICAgcmV0dXJuIGY7CisgICAgfQorCisgICAgZisrOwogICAgIHJldHVybiBmOwogfQogCi0vKiBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHJlcXVpcmVkIGZvciBvdXRwdXQgb2YgJWxkLiAgMjEgY2hhcmFjdGVycwotICAgYWxsb3dzIGZvciA2NC1iaXQgaW50ZWdlcnMgKGluIGRlY2ltYWwpIGFuZCBhbiBvcHRpb25hbCBzaWduLiAqLwotI2RlZmluZSBNQVhfTE9OR19DSEFSUyAyMQotLyogbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyByZXF1aXJlZCBmb3Igb3V0cHV0IG9mICVsbGQuCi0gICBXZSBuZWVkIGF0IG1vc3QgY2VpbChsb2cxMCgyNTYpKlNJWkVPRl9MT05HX0xPTkcpIGRpZ2l0cywKLSAgIHBsdXMgMSBmb3IgdGhlIHNpZ24uICA1My8yMiBpcyBhbiB1cHBlciBib3VuZCBmb3IgbG9nMTAoMjU2KS4gKi8KLSNkZWZpbmUgTUFYX0xPTkdfTE9OR19DSEFSUyAoMiArIChTSVpFT0ZfTE9OR19MT05HKjUzLTEpIC8gMjIpCi0KIFB5T2JqZWN0ICoKIFB5VW5pY29kZV9Gcm9tRm9ybWF0Vihjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgdmFyZ3MpCiB7Ci0gICAgdmFfbGlzdCBjb3VudDsKLSAgICBQeV9zc2l6ZV90IGNhbGxjb3VudCA9IDA7Ci0gICAgUHlPYmplY3QgKipjYWxscmVzdWx0cyA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKipjYWxscmVzdWx0ID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IG4gPSAwOwotICAgIGludCB3aWR0aCA9IDA7Ci0gICAgaW50IHByZWNpc2lvbiA9IDA7Ci0gICAgaW50IHplcm9wYWQ7Ci0gICAgY29uc3QgY2hhciogZjsKLSAgICBQeU9iamVjdCAqc3RyaW5nOwotICAgIC8qIHVzZWQgYnkgc3ByaW50ZiAqLwotICAgIGNoYXIgZm10WzYxXTsgLyogc2hvdWxkIGJlIGVub3VnaCBmb3IgJTB3aWR0aC5wcmVjaXNpb25sbGQgKi8KLSAgICBQeV9VQ1M0IG1heGNoYXIgPSAxMjc7IC8qIHJlc3VsdCBpcyBBU0NJSSBieSBkZWZhdWx0ICovCi0gICAgUHlfVUNTNCBhcmdtYXhjaGFyOwotICAgIFB5X3NzaXplX3QgbnVtYmVyc2l6ZSA9IDA7Ci0gICAgY2hhciAqbnVtYmVycmVzdWx0cyA9IE5VTEw7Ci0gICAgY2hhciAqbnVtYmVycmVzdWx0ID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IGk7Ci0gICAgaW50IGtpbmQ7Ci0gICAgdm9pZCAqZGF0YTsKKyAgICB2YV9saXN0IHZhcmdzMjsKKyAgICBjb25zdCBjaGFyICpmOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogCi0gICAgUHlfVkFfQ09QWShjb3VudCwgdmFyZ3MpOwotICAgIC8qIHN0ZXAgMTogY291bnQgdGhlIG51bWJlciBvZiAlUy8lUi8lQS8lcyBmb3JtYXQgc3BlY2lmaWNhdGlvbnMKLSAgICAgKiAod2UgY2FsbCBQeU9iamVjdF9TdHIoKS9QeU9iamVjdF9SZXByKCkvUHlPYmplY3RfQVNDSUkoKS8KLSAgICAgKiBQeVVuaWNvZGVfRGVjb2RlVVRGOCgpIGZvciB0aGVzZSBvYmplY3RzIG9uY2UgZHVyaW5nIHN0ZXAgMyBhbmQgcHV0IHRoZQotICAgICAqIHJlc3VsdCBpbiBhbiBhcnJheSkKLSAgICAgKiBhbHNvIGVzdGltYXRlIGEgdXBwZXIgYm91bmQgZm9yIGFsbCB0aGUgbnVtYmVyIGZvcm1hdHMgaW4gdGhlIHN0cmluZywKLSAgICAgKiBudW1iZXJzIHdpbGwgYmUgZm9ybWF0dGVkIGluIHN0ZXAgMyBhbmQgYmUga2VwdCBpbiBhICdcMCctc2VwYXJhdGVkCi0gICAgICogYnVmZmVyIGJlZm9yZSBwdXR0aW5nIGV2ZXJ5dGhpbmcgdG9nZXRoZXIuICovCi0gICAgZm9yIChmID0gZm9ybWF0OyAqZjsgZisrKSB7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOworICAgIHdyaXRlci5taW5fbGVuZ3RoID0gc3RybGVuKGZvcm1hdCkgKyAxMDA7CisgICAgd3JpdGVyLm92ZXJhbGxvY2F0ZSA9IDE7CisKKyAgICAvKiB2YV9saXN0IG1heSBiZSBhbiBhcnJheSAob2YgMSBpdGVtKSBvbiBzb21lIHBsYXRmb3JtcyAoZXg6IEFNRDY0KS4KKyAgICAgICBDb3B5IGl0IHRvIGJlIGFibGUgdG8gcGFzcyBhIHJlZmVyZW5jZSB0byBhIHN1YmZ1bmN0aW9uLiAqLworICAgIFB5X1ZBX0NPUFkodmFyZ3MyLCB2YXJncyk7CisKKyAgICBmb3IgKGYgPSBmb3JtYXQ7ICpmOyApIHsKICAgICAgICAgaWYgKCpmID09ICclJykgewotICAgICAgICAgICAgaW50IGxvbmdsb25nZmxhZzsKLSAgICAgICAgICAgIC8qIHNraXAgd2lkdGggb3Igd2lkdGgucHJlY2lzaW9uIChlZy4gIjEuMiIgb2YgIiUxLjJmIikgKi8KLSAgICAgICAgICAgIGYgPSBwYXJzZV9mb3JtYXRfZmxhZ3MoZiwgJndpZHRoLCBOVUxMLCBOVUxMLCAmbG9uZ2xvbmdmbGFnLCBOVUxMKTsKLSAgICAgICAgICAgIGlmICgqZiA9PSAncycgfHwgKmY9PSdTJyB8fCAqZj09J1InIHx8ICpmPT0nQScgfHwgKmY9PSdWJykKLSAgICAgICAgICAgICAgICArK2NhbGxjb3VudDsKLQotICAgICAgICAgICAgZWxzZSBpZiAoKmYgPT0gJ2QnIHx8ICpmPT0ndScgfHwgKmY9PSdpJyB8fCAqZj09J3gnIHx8ICpmPT0ncCcpIHsKLSNpZmRlZiBIQVZFX0xPTkdfTE9ORwotICAgICAgICAgICAgICAgIGlmIChsb25nbG9uZ2ZsYWcpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgTUFYX0xPTkdfTE9OR19DSEFSUykKLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gTUFYX0xPTkdfTE9OR19DSEFSUzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgIC8qIE1BWF9MT05HX0NIQVJTIGlzIGVub3VnaCB0byBob2xkIGEgNjQtYml0IGludGVnZXIsCi0gICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGluZyBzaWduLiAgRGVjaW1hbCB0YWtlcyB0aGUgbW9zdCBzcGFjZS4gIFRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgaXNuJ3QgZW5vdWdoIGZvciBvY3RhbC4gIElmIGEgd2lkdGggaXMgc3BlY2lmaWVkIHdlCi0gICAgICAgICAgICAgICAgICAgICAgIG5lZWQgbW9yZSAod2hpY2ggd2UgYWxsb2NhdGUgbGF0ZXIpLiAqLwotICAgICAgICAgICAgICAgICAgICBpZiAod2lkdGggPCBNQVhfTE9OR19DSEFSUykKLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gTUFYX0xPTkdfQ0hBUlM7Ci0KLSAgICAgICAgICAgICAgICAvKiBhY2NvdW50IGZvciB0aGUgc2l6ZSArICdcMCcgdG8gc2VwYXJhdGUgbnVtYmVycwotICAgICAgICAgICAgICAgICAgIGluc2lkZSBvZiB0aGUgbnVtYmVycmVzdWx0cyBidWZmZXIgKi8KLSAgICAgICAgICAgICAgICBudW1iZXJzaXplICs9ICh3aWR0aCArIDEpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCh1bnNpZ25lZCBjaGFyKSpmID4gMTI3KSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAiUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCkgZXhwZWN0cyBhbiBBU0NJSS1lbmNvZGVkIGZvcm1hdCAiCi0gICAgICAgICAgICAgICAgInN0cmluZywgZ290IGEgbm9uLUFTQ0lJIGJ5dGU6IDB4JTAyeCIsCi0gICAgICAgICAgICAgICAgKHVuc2lnbmVkIGNoYXIpKmYpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLyogc3RlcCAyOiBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSByZXN1bHRzIG9mCi0gICAgICogUHlPYmplY3RfU3RyKCkvUHlPYmplY3RfUmVwcigpL1B5VW5pY29kZV9EZWNvZGVVVEY4KCkgY2FsbHMgKi8KLSAgICBpZiAoY2FsbGNvdW50KSB7Ci0gICAgICAgIGNhbGxyZXN1bHRzID0gUHlPYmplY3RfTWFsbG9jKHNpemVvZihQeU9iamVjdCAqKSAqIGNhbGxjb3VudCk7Ci0gICAgICAgIGlmICghY2FsbHJlc3VsdHMpIHsKLSAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBjYWxscmVzdWx0ID0gY2FsbHJlc3VsdHM7Ci0gICAgfQotICAgIC8qIHN0ZXAgMi41OiBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRoZSByZXN1bHRzIG9mIGZvcm1hdGluZyBudW1iZXJzICovCi0gICAgaWYgKG51bWJlcnNpemUpIHsKLSAgICAgICAgbnVtYmVycmVzdWx0cyA9IFB5T2JqZWN0X01hbGxvYyhudW1iZXJzaXplKTsKLSAgICAgICAgaWYgKCFudW1iZXJyZXN1bHRzKSB7Ci0gICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICB9Ci0gICAgICAgIG51bWJlcnJlc3VsdCA9IG51bWJlcnJlc3VsdHM7Ci0gICAgfQotCi0gICAgLyogc3RlcCAzOiBmb3JtYXQgbnVtYmVycyBhbmQgZmlndXJlIG91dCBob3cgbGFyZ2UgYSBidWZmZXIgd2UgbmVlZCAqLwotICAgIGZvciAoZiA9IGZvcm1hdDsgKmY7IGYrKykgewotICAgICAgICBpZiAoKmYgPT0gJyUnKSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBwOwotICAgICAgICAgICAgaW50IGxvbmdmbGFnOwotICAgICAgICAgICAgaW50IGxvbmdsb25nZmxhZzsKLSAgICAgICAgICAgIGludCBzaXplX3RmbGFnOwotICAgICAgICAgICAgaW50IG51bXByaW50ZWQ7Ci0KLSAgICAgICAgICAgIHAgPSBmOwotICAgICAgICAgICAgemVyb3BhZCA9IChmWzFdID09ICcwJyk7Ci0gICAgICAgICAgICBmID0gcGFyc2VfZm9ybWF0X2ZsYWdzKGYsICZ3aWR0aCwgJnByZWNpc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxvbmdmbGFnLCAmbG9uZ2xvbmdmbGFnLCAmc2l6ZV90ZmxhZyk7Ci0gICAgICAgICAgICBzd2l0Y2ggKCpmKSB7Ci0gICAgICAgICAgICBjYXNlICdjJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBQeV9VQ1M0IG9yZGluYWwgPSB2YV9hcmcoY291bnQsIGludCk7Ci0gICAgICAgICAgICAgICAgbWF4Y2hhciA9IE1BWF9NQVhDSEFSKG1heGNoYXIsIG9yZGluYWwpOwotICAgICAgICAgICAgICAgIG4rKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJyUnOgotICAgICAgICAgICAgICAgIG4rKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ2knOgotICAgICAgICAgICAgY2FzZSAnZCc6Ci0gICAgICAgICAgICAgICAgbWFrZWZtdChmbXQsIGxvbmdmbGFnLCBsb25nbG9uZ2ZsYWcsIHNpemVfdGZsYWcsIHplcm9wYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgcHJlY2lzaW9uLCAqZik7Ci0gICAgICAgICAgICAgICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKGNvdW50LCBsb25nKSk7Ci0jaWZkZWYgSEFWRV9MT05HX0xPTkcKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChsb25nbG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgZm10LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoY291bnQsIFBZX0xPTkdfTE9ORykpOwotI2VuZGlmCi0gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2l6ZV90ZmxhZykKLSAgICAgICAgICAgICAgICAgICAgbnVtcHJpbnRlZCA9IHNwcmludGYobnVtYmVycmVzdWx0LCBmbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhjb3VudCwgUHlfc3NpemVfdCkpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgbnVtcHJpbnRlZCA9IHNwcmludGYobnVtYmVycmVzdWx0LCBmbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhjb3VudCwgaW50KSk7Ci0gICAgICAgICAgICAgICAgbiArPSBudW1wcmludGVkOwotICAgICAgICAgICAgICAgIC8qIGFkdmFuY2UgYnkgKzEgdG8gc2tpcCBvdmVyIHRoZSAnXDAnICovCi0gICAgICAgICAgICAgICAgbnVtYmVycmVzdWx0ICs9IChudW1wcmludGVkICsgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMSkgPT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMikgIT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bXByaW50ZWQgPj0gMCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bWJlcnJlc3VsdCA8PSBudW1iZXJyZXN1bHRzICsgbnVtYmVyc2l6ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICd1JzoKLSAgICAgICAgICAgICAgICBtYWtlZm10KGZtdCwgbG9uZ2ZsYWcsIGxvbmdsb25nZmxhZywgc2l6ZV90ZmxhZywgemVyb3BhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBwcmVjaXNpb24sICd1Jyk7Ci0gICAgICAgICAgICAgICAgaWYgKGxvbmdmbGFnKQotICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKGNvdW50LCB1bnNpZ25lZCBsb25nKSk7Ci0jaWZkZWYgSEFWRV9MT05HX0xPTkcKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChsb25nbG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgZm10LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoY291bnQsIHVuc2lnbmVkIFBZX0xPTkdfTE9ORykpOwotI2VuZGlmCi0gICAgICAgICAgICAgICAgZWxzZSBpZiAoc2l6ZV90ZmxhZykKLSAgICAgICAgICAgICAgICAgICAgbnVtcHJpbnRlZCA9IHNwcmludGYobnVtYmVycmVzdWx0LCBmbXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhjb3VudCwgc2l6ZV90KSk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKGNvdW50LCB1bnNpZ25lZCBpbnQpKTsKLSAgICAgICAgICAgICAgICBuICs9IG51bXByaW50ZWQ7Ci0gICAgICAgICAgICAgICAgbnVtYmVycmVzdWx0ICs9IChudW1wcmludGVkICsgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMSkgPT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMikgIT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bXByaW50ZWQgPj0gMCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bWJlcnJlc3VsdCA8PSBudW1iZXJyZXN1bHRzICsgbnVtYmVyc2l6ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICd4JzoKLSAgICAgICAgICAgICAgICBtYWtlZm10KGZtdCwgMCwgMCwgMCwgemVyb3BhZCwgd2lkdGgsIHByZWNpc2lvbiwgJ3gnKTsKLSAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwgdmFfYXJnKGNvdW50LCBpbnQpKTsKLSAgICAgICAgICAgICAgICBuICs9IG51bXByaW50ZWQ7Ci0gICAgICAgICAgICAgICAgbnVtYmVycmVzdWx0ICs9IChudW1wcmludGVkICsgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMSkgPT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMikgIT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bXByaW50ZWQgPj0gMCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bWJlcnJlc3VsdCA8PSBudW1iZXJyZXN1bHRzICsgbnVtYmVyc2l6ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdwJzoKLSAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsICIlcCIsIHZhX2FyZyhjb3VudCwgdm9pZCopKTsKLSAgICAgICAgICAgICAgICAvKiAlcCBpcyBpbGwtZGVmaW5lZDogIGVuc3VyZSBsZWFkaW5nIDB4LiAqLwotICAgICAgICAgICAgICAgIGlmIChudW1iZXJyZXN1bHRbMV0gPT0gJ1gnKQotICAgICAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHRbMV0gPSAneCc7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAobnVtYmVycmVzdWx0WzFdICE9ICd4JykgewotICAgICAgICAgICAgICAgICAgICBtZW1tb3ZlKG51bWJlcnJlc3VsdCArIDIsIG51bWJlcnJlc3VsdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4obnVtYmVycmVzdWx0KSArIDEpOwotICAgICAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHRbMF0gPSAnMCc7Ci0gICAgICAgICAgICAgICAgICAgIG51bWJlcnJlc3VsdFsxXSA9ICd4JzsKLSAgICAgICAgICAgICAgICAgICAgbnVtcHJpbnRlZCArPSAyOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBuICs9IG51bXByaW50ZWQ7Ci0gICAgICAgICAgICAgICAgbnVtYmVycmVzdWx0ICs9IChudW1wcmludGVkICsgMSk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMSkgPT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCoobnVtYmVycmVzdWx0IC0gMikgIT0gJ1wwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bXByaW50ZWQgPj0gMCk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG51bWJlcnJlc3VsdCA8PSBudW1iZXJyZXN1bHRzICsgbnVtYmVyc2l6ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdzJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBVVEYtOCAqLwotICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnMgPSB2YV9hcmcoY291bnQsIGNvbnN0IGNoYXIqKTsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqc3RyID0gUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChzLCBzdHJsZW4ocyksICJyZXBsYWNlIiwgTlVMTCk7Ci0gICAgICAgICAgICAgICAgaWYgKCFzdHIpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgICAgICAvKiBzaW5jZSBQeVVuaWNvZGVfRGVjb2RlVVRGOCByZXR1cm5zIGFscmVhZHkgZmxleGlibGUKLSAgICAgICAgICAgICAgICAgICB1bmljb2RlIG9iamVjdHMsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbCByZWFkeSBvbiB0aGVtICovCi0gICAgICAgICAgICAgICAgYXJnbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzdHIpOwotICAgICAgICAgICAgICAgIG1heGNoYXIgPSBNQVhfTUFYQ0hBUihtYXhjaGFyLCBhcmdtYXhjaGFyKTsKLSAgICAgICAgICAgICAgICBuICs9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cik7Ci0gICAgICAgICAgICAgICAgLyogUmVtZW1iZXIgdGhlIHN0ciBhbmQgc3dpdGNoIHRvIHRoZSBuZXh0IHNsb3QgKi8KLSAgICAgICAgICAgICAgICAqY2FsbHJlc3VsdCsrID0gc3RyOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnVSc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyhjb3VudCwgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG9iaiAmJiBfUHlVbmljb2RlX0NIRUNLKG9iaikpOwotICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkob2JqKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUob2JqKTsKLSAgICAgICAgICAgICAgICBtYXhjaGFyID0gTUFYX01BWENIQVIobWF4Y2hhciwgYXJnbWF4Y2hhcik7Ci0gICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnVic6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyhjb3VudCwgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyID0gdmFfYXJnKGNvdW50LCBjb25zdCBjaGFyICopOwotICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdHJfb2JqOwotICAgICAgICAgICAgICAgIGFzc2VydChvYmogfHwgc3RyKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQoIW9iaiB8fCBfUHlVbmljb2RlX0NIRUNLKG9iaikpOwotICAgICAgICAgICAgICAgIGlmIChvYmopIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvYmopID09IC0xKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgICAgICBhcmdtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKG9iaik7Ci0gICAgICAgICAgICAgICAgICAgIG1heGNoYXIgPSBNQVhfTUFYQ0hBUihtYXhjaGFyLCBhcmdtYXhjaGFyKTsKLSAgICAgICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopOwotICAgICAgICAgICAgICAgICAgICAqY2FsbHJlc3VsdCsrID0gTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0cl9vYmogPSBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsKHN0ciwgc3RybGVuKHN0ciksICJyZXBsYWNlIiwgTlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghc3RyX29iaikKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHJfb2JqKSA9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0cl9vYmopOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoc3RyX29iaik7Ci0gICAgICAgICAgICAgICAgICAgIG1heGNoYXIgPSBNQVhfTUFYQ0hBUihtYXhjaGFyLCBhcmdtYXhjaGFyKTsKLSAgICAgICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJfb2JqKTsKLSAgICAgICAgICAgICAgICAgICAgKmNhbGxyZXN1bHQrKyA9IHN0cl9vYmo7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnUyc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyhjb3VudCwgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKnN0cjsKLSAgICAgICAgICAgICAgICBhc3NlcnQob2JqKTsKLSAgICAgICAgICAgICAgICBzdHIgPSBQeU9iamVjdF9TdHIob2JqKTsKLSAgICAgICAgICAgICAgICBpZiAoIXN0cikKLSAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3RyKSA9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoc3RyKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBhcmdtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHN0cik7Ci0gICAgICAgICAgICAgICAgbWF4Y2hhciA9IE1BWF9NQVhDSEFSKG1heGNoYXIsIGFyZ21heGNoYXIpOwotICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKTsKLSAgICAgICAgICAgICAgICAvKiBSZW1lbWJlciB0aGUgc3RyIGFuZCBzd2l0Y2ggdG8gdGhlIG5leHQgc2xvdCAqLwotICAgICAgICAgICAgICAgICpjYWxscmVzdWx0KysgPSBzdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdSJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqb2JqID0gdmFfYXJnKGNvdW50LCBQeU9iamVjdCAqKTsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqcmVwcjsKLSAgICAgICAgICAgICAgICBhc3NlcnQob2JqKTsKLSAgICAgICAgICAgICAgICByZXByID0gUHlPYmplY3RfUmVwcihvYmopOwotICAgICAgICAgICAgICAgIGlmICghcmVwcikKLSAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVwcikgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHIpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUocmVwcik7Ci0gICAgICAgICAgICAgICAgbWF4Y2hhciA9IE1BWF9NQVhDSEFSKG1heGNoYXIsIGFyZ21heGNoYXIpOwotICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwcik7Ci0gICAgICAgICAgICAgICAgLyogUmVtZW1iZXIgdGhlIHJlcHIgYW5kIHN3aXRjaCB0byB0aGUgbmV4dCBzbG90ICovCi0gICAgICAgICAgICAgICAgKmNhbGxyZXN1bHQrKyA9IHJlcHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdBJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqb2JqID0gdmFfYXJnKGNvdW50LCBQeU9iamVjdCAqKTsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXNjaWk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KG9iaik7Ci0gICAgICAgICAgICAgICAgYXNjaWkgPSBQeU9iamVjdF9BU0NJSShvYmopOwotICAgICAgICAgICAgICAgIGlmICghYXNjaWkpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGFzY2lpKSA9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYXNjaWkpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoYXNjaWkpOwotICAgICAgICAgICAgICAgIG1heGNoYXIgPSBNQVhfTUFYQ0hBUihtYXhjaGFyLCBhcmdtYXhjaGFyKTsKLSAgICAgICAgICAgICAgICBuICs9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGFzY2lpKTsKLSAgICAgICAgICAgICAgICAvKiBSZW1lbWJlciB0aGUgcmVwciBhbmQgc3dpdGNoIHRvIHRoZSBuZXh0IHNsb3QgKi8KLSAgICAgICAgICAgICAgICAqY2FsbHJlc3VsdCsrID0gYXNjaWk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIC8qIGlmIHdlIHN0dW1ibGUgdXBvbiBhbiB1bmtub3duCi0gICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZyBjb2RlLCBjb3B5IHRoZSByZXN0IG9mCi0gICAgICAgICAgICAgICAgICAgdGhlIGZvcm1hdCBzdHJpbmcgdG8gdGhlIG91dHB1dAotICAgICAgICAgICAgICAgICAgIHN0cmluZy4gKHdlIGNhbm5vdCBqdXN0IHNraXAgdGhlCi0gICAgICAgICAgICAgICAgICAgY29kZSwgc2luY2UgdGhlcmUncyBubyB3YXkgdG8ga25vdwotICAgICAgICAgICAgICAgICAgIHdoYXQncyBpbiB0aGUgYXJndW1lbnQgbGlzdCkgKi8KLSAgICAgICAgICAgICAgICBuICs9IHN0cmxlbihwKTsKLSAgICAgICAgICAgICAgICBnb3RvIGV4cGFuZDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBuKys7Ci0gICAgfQotICBleHBhbmQ6Ci0gICAgLyogc3RlcCA0OiBmaWxsIHRoZSBidWZmZXIgKi8KLSAgICAvKiBTaW5jZSB3ZSd2ZSBhbmFseXplZCBob3cgbXVjaCBzcGFjZSB3ZSBuZWVkLAotICAgICAgIHdlIGRvbid0IGhhdmUgdG8gcmVzaXplIHRoZSBzdHJpbmcuCi0gICAgICAgVGhlcmUgY2FuIGJlIG5vIGVycm9ycyBiZXlvbmQgdGhpcyBwb2ludC4gKi8KLSAgICBzdHJpbmcgPSBQeVVuaWNvZGVfTmV3KG4sIG1heGNoYXIpOwotICAgIGlmICghc3RyaW5nKQotICAgICAgICBnb3RvIGZhaWw7Ci0gICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHN0cmluZyk7Ci0gICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHN0cmluZyk7Ci0gICAgY2FsbHJlc3VsdCA9IGNhbGxyZXN1bHRzOwotICAgIG51bWJlcnJlc3VsdCA9IG51bWJlcnJlc3VsdHM7Ci0KLSAgICBmb3IgKGkgPSAwLCBmID0gZm9ybWF0OyAqZjsgZisrKSB7Ci0gICAgICAgIGlmICgqZiA9PSAnJScpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIqIHA7Ci0KLSAgICAgICAgICAgIHAgPSBmOwotICAgICAgICAgICAgZiA9IHBhcnNlX2Zvcm1hdF9mbGFncyhmLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKLSAgICAgICAgICAgIC8qIGNoZWNraW5nIGZvciA9PSBiZWNhdXNlIHRoZSBsYXN0IGFyZ3VtZW50IGNvdWxkIGJlIGEgZW1wdHkKLSAgICAgICAgICAgICAgIHN0cmluZywgd2hpY2ggY2F1c2VzIGkgdG8gcG9pbnQgdG8gZW5kLCB0aGUgYXNzZXJ0IGF0IHRoZSBlbmQgb2YKLSAgICAgICAgICAgICAgIHRoZSBsb29wICovCi0gICAgICAgICAgICBhc3NlcnQoaSA8PSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpKTsKLQotICAgICAgICAgICAgc3dpdGNoICgqZikgewotICAgICAgICAgICAgY2FzZSAnYyc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgY29uc3QgaW50IG9yZGluYWwgPSB2YV9hcmcodmFyZ3MsIGludCk7Ci0gICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGkrKywgb3JkaW5hbCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdpJzoKLSAgICAgICAgICAgIGNhc2UgJ2QnOgotICAgICAgICAgICAgY2FzZSAndSc6Ci0gICAgICAgICAgICBjYXNlICd4JzoKLSAgICAgICAgICAgIGNhc2UgJ3AnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwotICAgICAgICAgICAgICAgIC8qIHVudXNlZCwgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHRoZSByZXN1bHQgKi8KLSAgICAgICAgICAgICAgICBpZiAoKmYgPT0gJ3AnKQotICAgICAgICAgICAgICAgICAgICAodm9pZCkgdmFfYXJnKHZhcmdzLCB2b2lkICopOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgKHZvaWQpIHZhX2FyZyh2YXJncywgaW50KTsKLSAgICAgICAgICAgICAgICAvKiBleHRyYWN0IHRoZSByZXN1bHQgZnJvbSBudW1iZXJyZXN1bHRzIGFuZCBhcHBlbmQuICovCi0gICAgICAgICAgICAgICAgbGVuID0gc3RybGVuKG51bWJlcnJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgdW5pY29kZV93cml0ZV9jc3RyKHN0cmluZywgaSwgbnVtYmVycmVzdWx0LCBsZW4pOwotICAgICAgICAgICAgICAgIC8qIHNraXAgb3ZlciB0aGUgc2VwYXJhdGluZyAnXDAnICovCi0gICAgICAgICAgICAgICAgaSArPSBsZW47Ci0gICAgICAgICAgICAgICAgbnVtYmVycmVzdWx0ICs9IGxlbjsKLSAgICAgICAgICAgICAgICBhc3NlcnQoKm51bWJlcnJlc3VsdCA9PSAnXDAnKTsKLSAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHQrKzsKLSAgICAgICAgICAgICAgICBhc3NlcnQobnVtYmVycmVzdWx0IDw9IG51bWJlcnJlc3VsdHMgKyBudW1iZXJzaXplKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ3MnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIHVudXNlZCwgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHRoZSByZXN1bHQgKi8KLSAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemU7Ci0gICAgICAgICAgICAgICAgKHZvaWQpIHZhX2FyZyh2YXJncywgY2hhciAqKTsKLSAgICAgICAgICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoKmNhbGxyZXN1bHQpOwotICAgICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORCgqY2FsbHJlc3VsdCkgPD0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKSk7Ci0gICAgICAgICAgICAgICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnMoc3RyaW5nLCBpLCAqY2FsbHJlc3VsdCwgMCwgc2l6ZSk7Ci0gICAgICAgICAgICAgICAgaSArPSBzaXplOwotICAgICAgICAgICAgICAgIC8qIFdlJ3JlIGRvbmUgd2l0aCB0aGUgdW5pY29kZSgpL3JlcHIoKSA9PiBmb3JnZXQgaXQgKi8KLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYoKmNhbGxyZXN1bHQpOwotICAgICAgICAgICAgICAgIC8qIHN3aXRjaCB0byBuZXh0IHVuaWNvZGUoKS9yZXByKCkgcmVzdWx0ICovCi0gICAgICAgICAgICAgICAgKytjYWxscmVzdWx0OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnVSc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyh2YXJncywgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplOwotICAgICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORChvYmopIDw9IFB5VW5pY29kZV9LSU5EKHN0cmluZykpOwotICAgICAgICAgICAgICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopOwotICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKHN0cmluZywgaSwgb2JqLCAwLCBzaXplKTsKLSAgICAgICAgICAgICAgICBpICs9IHNpemU7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdWJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemU7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyh2YXJncywgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgdmFfYXJnKHZhcmdzLCBjb25zdCBjaGFyICopOwotICAgICAgICAgICAgICAgIGlmIChvYmopIHsKLSAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7Ci0gICAgICAgICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORChvYmopIDw9IFB5VW5pY29kZV9LSU5EKHN0cmluZykpOwotICAgICAgICAgICAgICAgICAgICBfUHlVbmljb2RlX0Zhc3RDb3B5Q2hhcmFjdGVycyhzdHJpbmcsIGksIG9iaiwgMCwgc2l6ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGkgKz0gc2l6ZTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoKmNhbGxyZXN1bHQpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0tJTkQoKmNhbGxyZXN1bHQpIDw9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfS0lORChzdHJpbmcpKTsKLSAgICAgICAgICAgICAgICAgICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnMoc3RyaW5nLCBpLCAqY2FsbHJlc3VsdCwgMCwgc2l6ZSk7Ci0gICAgICAgICAgICAgICAgICAgIGkgKz0gc2l6ZTsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKCpjYWxscmVzdWx0KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgKytjYWxscmVzdWx0OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnUyc6Ci0gICAgICAgICAgICBjYXNlICdSJzoKLSAgICAgICAgICAgIGNhc2UgJ0EnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKCpjYWxscmVzdWx0KTsKLSAgICAgICAgICAgICAgICAvKiB1bnVzZWQsIHNpbmNlIHdlIGFscmVhZHkgaGF2ZSB0aGUgcmVzdWx0ICovCi0gICAgICAgICAgICAgICAgKHZvaWQpIHZhX2FyZyh2YXJncywgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKCpjYWxscmVzdWx0KSA8PSBQeVVuaWNvZGVfS0lORChzdHJpbmcpKTsKLSAgICAgICAgICAgICAgICBfUHlVbmljb2RlX0Zhc3RDb3B5Q2hhcmFjdGVycyhzdHJpbmcsIGksICpjYWxscmVzdWx0LCAwLCAgc2l6ZSk7Ci0gICAgICAgICAgICAgICAgaSArPSBzaXplOwotICAgICAgICAgICAgICAgIC8qIFdlJ3JlIGRvbmUgd2l0aCB0aGUgdW5pY29kZSgpL3JlcHIoKSA9PiBmb3JnZXQgaXQgKi8KLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYoKmNhbGxyZXN1bHQpOwotICAgICAgICAgICAgICAgIC8qIHN3aXRjaCB0byBuZXh0IHVuaWNvZGUoKS9yZXByKCkgcmVzdWx0ICovCi0gICAgICAgICAgICAgICAgKytjYWxscmVzdWx0OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnJSc6Ci0gICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGkrKywgJyUnKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW4gPSBzdHJsZW4ocCk7Ci0gICAgICAgICAgICAgICAgdW5pY29kZV93cml0ZV9jc3RyKHN0cmluZywgaSwgcCwgbGVuKTsKLSAgICAgICAgICAgICAgICBpICs9IGxlbjsKLSAgICAgICAgICAgICAgICBhc3NlcnQoaSA9PSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpKTsKLSAgICAgICAgICAgICAgICBnb3RvIGVuZDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGYgPSB1bmljb2RlX2Zyb21mb3JtYXRfYXJnKCZ3cml0ZXIsIGYsICZ2YXJnczIpOworICAgICAgICAgICAgaWYgKGYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBhc3NlcnQoaSA8IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZykpOwotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGkrKywgKmYpOwotICAgICAgICB9Ci0gICAgfQotICAgIGFzc2VydChpID09IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZykpOworICAgICAgICAgICAgY29uc3QgY2hhciAqcDsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogCi0gIGVuZDoKLSAgICBpZiAoY2FsbHJlc3VsdHMpCi0gICAgICAgIFB5T2JqZWN0X0ZyZWUoY2FsbHJlc3VsdHMpOwotICAgIGlmIChudW1iZXJyZXN1bHRzKQotICAgICAgICBQeU9iamVjdF9GcmVlKG51bWJlcnJlc3VsdHMpOwotICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdChzdHJpbmcpOwotICBmYWlsOgotICAgIGlmIChjYWxscmVzdWx0cykgewotICAgICAgICBQeU9iamVjdCAqKmNhbGxyZXN1bHQyID0gY2FsbHJlc3VsdHM7Ci0gICAgICAgIHdoaWxlIChjYWxscmVzdWx0MiA8IGNhbGxyZXN1bHQpIHsKLSAgICAgICAgICAgIFB5X1hERUNSRUYoKmNhbGxyZXN1bHQyKTsKLSAgICAgICAgICAgICsrY2FsbHJlc3VsdDI7CisgICAgICAgICAgICBwID0gZjsKKyAgICAgICAgICAgIGRvCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCh1bnNpZ25lZCBjaGFyKSpwID4gMTI3KSB7CisgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIlB5VW5pY29kZV9Gcm9tRm9ybWF0VigpIGV4cGVjdHMgYW4gQVNDSUktZW5jb2RlZCBmb3JtYXQgIgorICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZywgZ290IGEgbm9uLUFTQ0lJIGJ5dGU6IDB4JTAyeCIsCisgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhcikqcCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBwKys7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB3aGlsZSAoKnAgIT0gJ1wwJyAmJiAqcCAhPSAnJScpOworICAgICAgICAgICAgbGVuID0gcCAtIGY7CisKKyAgICAgICAgICAgIGlmICgqcCA9PSAnXDAnKQorICAgICAgICAgICAgICAgIHdyaXRlci5vdmVyYWxsb2NhdGUgPSAwOworICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCBsZW4sIDEyNykgPT0gLTEpCisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgdW5pY29kZV93cml0ZV9jc3RyKHdyaXRlci5idWZmZXIsIHdyaXRlci5wb3MsIGYsIGxlbik7CisgICAgICAgICAgICB3cml0ZXIucG9zICs9IGxlbjsKKworICAgICAgICAgICAgZiA9IHA7CiAgICAgICAgIH0KLSAgICAgICAgUHlPYmplY3RfRnJlZShjYWxscmVzdWx0cyk7CiAgICAgfQotICAgIGlmIChudW1iZXJyZXN1bHRzKQotICAgICAgICBQeU9iamVjdF9GcmVlKG51bWJlcnJlc3VsdHMpOworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKKworICBmYWlsOgorICAgIF9QeVVuaWNvZGVXcml0ZXJfRGVhbGxvYygmd3JpdGVyKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtMjk2OCw2ICsyODE5LDkgQEAKIFB5VW5pY29kZV9Gcm9tT3JkaW5hbChpbnQgb3JkaW5hbCkKIHsKICAgICBQeU9iamVjdCAqdjsKKyAgICB2b2lkICpkYXRhOworICAgIGludCBraW5kOworCiAgICAgaWYgKG9yZGluYWwgPCAwIHx8IG9yZGluYWwgPiBNQVhfVU5JQ09ERSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJjaHIoKSBhcmcgbm90IGluIHJhbmdlKDB4MTEwMDAwKSIpOwpAQCAtMjk4MCw3ICsyODM0LDkgQEAKICAgICB2ID0gUHlVbmljb2RlX05ldygxLCBvcmRpbmFsKTsKICAgICBpZiAodiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeVVuaWNvZGVfV1JJVEUoUHlVbmljb2RlX0tJTkQodiksIFB5VW5pY29kZV9EQVRBKHYpLCAwLCBvcmRpbmFsKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodik7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHYpOworICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCAwLCBvcmRpbmFsKTsKICAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHYsIDEpKTsKICAgICByZXR1cm4gdjsKIH0KQEAgLTMwNjAsOCArMjkxNiw4IEBACiAgICAxIG9uIHN1Y2Nlc3MuICovCiBpbnQKIF9QeV9ub3JtYWxpemVfZW5jb2RpbmcoY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgY2hhciAqbG93ZXIsCi0gICAgICAgICAgICAgICAgICAgc2l6ZV90IGxvd2VyX2xlbikKKyAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqbG93ZXIsCisgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBsb3dlcl9sZW4pCiB7CiAgICAgY29uc3QgY2hhciAqZTsKICAgICBjaGFyICpsOwpAQCAtMzM0Myw3ICszMTk5LDcgQEAKICAgICB9CiAKICAgICBpZiAoc3Vycm9nYXRlZXNjYXBlKSB7Ci0gICAgICAgIC8qIGxvY2FsZSBlbmNvZGluZyB3aXRoIHN1cnJvZ2F0ZWVzY2FwZSAqLworICAgICAgICAvKiAic3Vycm9nYXRlZXNjYXBlIiBlcnJvciBoYW5kbGVyICovCiAgICAgICAgIGNoYXIgKnN0cjsKIAogICAgICAgICBzdHIgPSBfUHlfd2NoYXIyY2hhcih3c3RyLCAmZXJyb3JfcG9zKTsKQEAgLTMzNjMsNiArMzIxOSw3IEBACiAgICAgICAgIFB5TWVtX0ZyZWUoc3RyKTsKICAgICB9CiAgICAgZWxzZSB7CisgICAgICAgIC8qIHN0cmljdCBtb2RlICovCiAgICAgICAgIHNpemVfdCBsZW4sIGxlbjI7CiAKICAgICAgICAgbGVuID0gd2NzdG9tYnMoTlVMTCwgd3N0ciwgMCk7CkBAIC0zNjA4LDggKzM0NjUsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoc3Vycm9nYXRlZXNjYXBlKQotICAgIHsKKyAgICBpZiAoc3Vycm9nYXRlZXNjYXBlKSB7CisgICAgICAgIC8qICJzdXJyb2dhdGVlc2NhcGUiIGVycm9yIGhhbmRsZXIgKi8KICAgICAgICAgd3N0ciA9IF9QeV9jaGFyMndjaGFyKHN0ciwgJndsZW4pOwogICAgICAgICBpZiAod3N0ciA9PSBOVUxMKSB7CiAgICAgICAgICAgICBpZiAod2xlbiA9PSAoc2l6ZV90KS0xKQpAQCAtMzYyMyw2ICszNDgwLDcgQEAKICAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKICAgICB9CiAgICAgZWxzZSB7CisgICAgICAgIC8qIHN0cmljdCBtb2RlICovCiAjaWZuZGVmIEhBVkVfQlJPS0VOX01CU1RPV0NTCiAgICAgICAgIHdsZW4gPSBtYnN0b3djcyhOVUxMLCBzdHIsIDApOwogI2Vsc2UKQEAgLTM2NDIsNyArMzUwMCw2IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIH0KIAotICAgICAgICAvKiBUaGlzIHNob3VsZG4ndCBmYWlsIG5vdyAqLwogICAgICAgICB3bGVuMiA9IG1ic3Rvd2NzKHdzdHIsIHN0ciwgd2xlbisxKTsKICAgICAgICAgaWYgKHdsZW4yID09IChzaXplX3QpLTEpIHsKICAgICAgICAgICAgIGlmICh3c3RyICE9IHNtYWxsYnVmKQpAQCAtMzczNiwxOCArMzU5MywyMCBAQAogCiAKIGludAotX1B5VW5pY29kZV9IYXNOVUxDaGFycyhQeU9iamVjdCogcykKK19QeVVuaWNvZGVfSGFzTlVMQ2hhcnMoUHlPYmplY3QqIHN0cikKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKm51bCA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBwb3M7CiAKLSAgICBpZiAobnVsID09IE5VTEwpCi0gICAgICAgIG51bCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSgiXDAiLCAxKTsKLSAgICBpZiAobnVsID09IE5VTEwpCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHIpID09IC0xKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Db250YWlucyhzLCBudWwpOworICAgIHBvcyA9IGZpbmRjaGFyKFB5VW5pY29kZV9EQVRBKHN0ciksIFB5VW5pY29kZV9LSU5EKHN0ciksCisgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSwgJ1wwJywgMSk7CisgICAgaWYgKHBvcyA9PSAtMSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gMTsKIH0KIAotCiBpbnQKIFB5VW5pY29kZV9GU0NvbnZlcnRlcihQeU9iamVjdCogYXJnLCB2b2lkKiBhZGRyKQogewpAQCAtNDAxOSw2ICszODc4LDkgQEAKIFB5X1VDUzQKIFB5VW5pY29kZV9SZWFkQ2hhcihQeU9iamVjdCAqdW5pY29kZSwgUHlfc3NpemVfdCBpbmRleCkKIHsKKyAgICB2b2lkICpkYXRhOworICAgIGludCBraW5kOworCiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkgfHwgUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKSB7CiAgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CiAgICAgICAgIHJldHVybiAoUHlfVUNTNCktMTsKQEAgLTQwMjcsNyArMzg4OSw5IEBACiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAic3RyaW5nIGluZGV4IG91dCBvZiByYW5nZSIpOwogICAgICAgICByZXR1cm4gKFB5X1VDUzQpLTE7CiAgICAgfQotICAgIHJldHVybiBQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIGluZGV4KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pY29kZSk7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIHJldHVybiBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpbmRleCk7CiB9CiAKIGludApAQCAtNDA4Niw2ICszOTUwLDcgQEAKICAgICAqZXhjZXB0aW9uT2JqZWN0ID0gTlVMTDsKIH0KIAorI2lmZGVmIEhBVkVfTUJDUwogLyogZXJyb3IgaGFuZGxpbmcgY2FsbGJhY2sgaGVscGVyOgogICAgYnVpbGQgYXJndW1lbnRzLCBjYWxsIHRoZSBjYWxsYmFjayBhbmQgY2hlY2sgdGhlIGFyZ3VtZW50cywKICAgIGlmIG5vIGV4Y2VwdGlvbiBvY2N1cnJlZCwgY29weSB0aGUgcmVwbGFjZW1lbnQgdG8gdGhlIG91dHB1dApAQCAtNDA5NCwxMSArMzk1OSwxMiBAQAogKi8KIAogc3RhdGljIGludAotdW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoY29uc3QgY2hhciAqZXJyb3JzLCBQeU9iamVjdCAqKmVycm9ySGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICpyZWFzb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqaW5wdXQsIGNvbnN0IGNoYXIgKippbmVuZCwgUHlfc3NpemVfdCAqc3RhcnRpbnBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKmVuZGlucG9zLCBQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwgY29uc3QgY2hhciAqKmlucHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipvdXRwdXQsIFB5X3NzaXplX3QgKm91dHBvcykKK3VuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyX3djaGFyKAorICAgIGNvbnN0IGNoYXIgKmVycm9ycywgUHlPYmplY3QgKiplcnJvckhhbmRsZXIsCisgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKnJlYXNvbiwKKyAgICBjb25zdCBjaGFyICoqaW5wdXQsIGNvbnN0IGNoYXIgKippbmVuZCwgUHlfc3NpemVfdCAqc3RhcnRpbnBvcywKKyAgICBQeV9zc2l6ZV90ICplbmRpbnBvcywgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsIGNvbnN0IGNoYXIgKippbnB0ciwKKyAgICBQeU9iamVjdCAqKm91dHB1dCwgUHlfc3NpemVfdCAqb3V0cG9zKQogewogICAgIHN0YXRpYyBjaGFyICphcmdwYXJzZSA9ICJPIW47ZGVjb2RpbmcgZXJyb3IgaGFuZGxlciBtdXN0IHJldHVybiAoc3RyLCBpbnQpIHR1cGxlIjsKIApAQCAtNDEwOSwxMiArMzk3NSwxMSBAQAogICAgIFB5X3NzaXplX3QgcmVxdWlyZWRzaXplOwogICAgIFB5X3NzaXplX3QgbmV3cG9zOwogICAgIFB5T2JqZWN0ICppbnB1dG9iaiA9IE5VTEw7Ci0gICAgaW50IHJlcyA9IC0xOworICAgIHdjaGFyX3QgKnJlcHdzdHI7CisgICAgUHlfc3NpemVfdCByZXB3bGVuOwogCi0gICAgaWYgKF9QeVVuaWNvZGVfS0lORCgqb3V0cHV0KSAhPSBQeVVuaWNvZGVfV0NIQVJfS0lORCkKLSAgICAgICAgb3V0c2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKCpvdXRwdXQpOwotICAgIGVsc2UKLSAgICAgICAgb3V0c2l6ZSA9IF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgoKm91dHB1dCk7CisgICAgYXNzZXJ0IChfUHlVbmljb2RlX0tJTkQoKm91dHB1dCkgPT0gUHlVbmljb2RlX1dDSEFSX0tJTkQpOworICAgIG91dHNpemUgPSBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKCpvdXRwdXQpOwogCiAgICAgaWYgKCplcnJvckhhbmRsZXIgPT0gTlVMTCkgewogICAgICAgICAqZXJyb3JIYW5kbGVyID0gUHlDb2RlY19Mb29rdXBFcnJvcihlcnJvcnMpOwpAQCAtNDEzOSw3ICs0MDA0LDk4IEBACiAgICAgfQogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShyZXN0dXBsZSwgYXJncGFyc2UsICZQeVVuaWNvZGVfVHlwZSwgJnJlcHVuaWNvZGUsICZuZXdwb3MpKQogICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgaWYgKFB5VW5pY29kZV9SRUFEWShyZXB1bmljb2RlKSA9PSAtMSkKKworICAgIC8qIENvcHkgYmFjayB0aGUgYnl0ZXMgdmFyaWFibGVzLCB3aGljaCBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQgYnkgdGhlCisgICAgICAgY2FsbGJhY2sgKi8KKyAgICBpbnB1dG9iaiA9IFB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdCgqZXhjZXB0aW9uT2JqZWN0KTsKKyAgICBpZiAoIWlucHV0b2JqKQorICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKGlucHV0b2JqKSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiZXhjZXB0aW9uIGF0dHJpYnV0ZSBvYmplY3QgbXVzdCBiZSBieXRlcyIpOworICAgIH0KKyAgICAqaW5wdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhpbnB1dG9iaik7CisgICAgaW5zaXplID0gUHlCeXRlc19HRVRfU0laRShpbnB1dG9iaik7CisgICAgKmluZW5kID0gKmlucHV0ICsgaW5zaXplOworICAgIC8qIHdlIGNhbiBERUNSRUYgc2FmZWx5LCBhcyB0aGUgZXhjZXB0aW9uIGhhcyBhbm90aGVyIHJlZmVyZW5jZSwKKyAgICAgICBzbyB0aGUgb2JqZWN0IHdvbid0IGdvIGF3YXkuICovCisgICAgUHlfREVDUkVGKGlucHV0b2JqKTsKKworICAgIGlmIChuZXdwb3M8MCkKKyAgICAgICAgbmV3cG9zID0gaW5zaXplK25ld3BvczsKKyAgICBpZiAobmV3cG9zPDAgfHwgbmV3cG9zPmluc2l6ZSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfSW5kZXhFcnJvciwgInBvc2l0aW9uICV6ZCBmcm9tIGVycm9yIGhhbmRsZXIgb3V0IG9mIGJvdW5kcyIsIG5ld3Bvcyk7CisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICB9CisKKyAgICByZXB3c3RyID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUocmVwdW5pY29kZSwgJnJlcHdsZW4pOworICAgIGlmIChyZXB3c3RyID09IE5VTEwpCisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAvKiBuZWVkIG1vcmUgc3BhY2U/IChhdCBsZWFzdCBlbm91Z2ggZm9yIHdoYXQgd2UKKyAgICAgICBoYXZlK3RoZSByZXBsYWNlbWVudCt0aGUgcmVzdCBvZiB0aGUgc3RyaW5nIChzdGFydGluZworICAgICAgIGF0IHRoZSBuZXcgaW5wdXQgcG9zaXRpb24pLCBzbyB3ZSB3b24ndCBoYXZlIHRvIGNoZWNrIHNwYWNlCisgICAgICAgd2hlbiB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSByZXN0IG9mIHRoZSBzdHJpbmcpICovCisgICAgcmVxdWlyZWRzaXplID0gKm91dHBvcyArIHJlcHdsZW4gKyBpbnNpemUtbmV3cG9zOworICAgIGlmIChyZXF1aXJlZHNpemUgPiBvdXRzaXplKSB7CisgICAgICAgIGlmIChyZXF1aXJlZHNpemUgPCAyKm91dHNpemUpCisgICAgICAgICAgICByZXF1aXJlZHNpemUgPSAyKm91dHNpemU7CisgICAgICAgIGlmICh1bmljb2RlX3Jlc2l6ZShvdXRwdXQsIHJlcXVpcmVkc2l6ZSkgPCAwKQorICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgIH0KKyAgICB3Y3NuY3B5KF9QeVVuaWNvZGVfV1NUUigqb3V0cHV0KSArICpvdXRwb3MsIHJlcHdzdHIsIHJlcHdsZW4pOworICAgICpvdXRwb3MgKz0gcmVwd2xlbjsKKworICAgICplbmRpbnBvcyA9IG5ld3BvczsKKyAgICAqaW5wdHIgPSAqaW5wdXQgKyBuZXdwb3M7CisKKyAgICAvKiB3ZSBtYWRlIGl0ISAqLworICAgIFB5X1hERUNSRUYocmVzdHVwbGUpOworICAgIHJldHVybiAwOworCisgIG9uRXJyb3I6CisgICAgUHlfWERFQ1JFRihyZXN0dXBsZSk7CisgICAgcmV0dXJuIC0xOworfQorI2VuZGlmICAgLyogSEFWRV9NQkNTICovCisKK3N0YXRpYyBpbnQKK3VuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyX3dyaXRlcigKKyAgICBjb25zdCBjaGFyICplcnJvcnMsIFB5T2JqZWN0ICoqZXJyb3JIYW5kbGVyLAorICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICpyZWFzb24sCisgICAgY29uc3QgY2hhciAqKmlucHV0LCBjb25zdCBjaGFyICoqaW5lbmQsIFB5X3NzaXplX3QgKnN0YXJ0aW5wb3MsCisgICAgUHlfc3NpemVfdCAqZW5kaW5wb3MsIFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LCBjb25zdCBjaGFyICoqaW5wdHIsCisgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyIC8qIFB5T2JqZWN0ICoqb3V0cHV0LCBQeV9zc2l6ZV90ICpvdXRwb3MgKi8pCit7CisgICAgc3RhdGljIGNoYXIgKmFyZ3BhcnNlID0gIk8hbjtkZWNvZGluZyBlcnJvciBoYW5kbGVyIG11c3QgcmV0dXJuIChzdHIsIGludCkgdHVwbGUiOworCisgICAgUHlPYmplY3QgKnJlc3R1cGxlID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmVwdW5pY29kZSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpbnNpemU7CisgICAgUHlfc3NpemVfdCBuZXdwb3M7CisgICAgUHlfc3NpemVfdCByZXBsZW47CisgICAgUHlPYmplY3QgKmlucHV0b2JqID0gTlVMTDsKKworICAgIGlmICgqZXJyb3JIYW5kbGVyID09IE5VTEwpIHsKKyAgICAgICAgKmVycm9ySGFuZGxlciA9IFB5Q29kZWNfTG9va3VwRXJyb3IoZXJyb3JzKTsKKyAgICAgICAgaWYgKCplcnJvckhhbmRsZXIgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICB9CisKKyAgICBtYWtlX2RlY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LAorICAgICAgICBlbmNvZGluZywKKyAgICAgICAgKmlucHV0LCAqaW5lbmQgLSAqaW5wdXQsCisgICAgICAgICpzdGFydGlucG9zLCAqZW5kaW5wb3MsCisgICAgICAgIHJlYXNvbik7CisgICAgaWYgKCpleGNlcHRpb25PYmplY3QgPT0gTlVMTCkKKyAgICAgICAgZ290byBvbkVycm9yOworCisgICAgcmVzdHVwbGUgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKCplcnJvckhhbmRsZXIsICpleGNlcHRpb25PYmplY3QsIE5VTEwpOworICAgIGlmIChyZXN0dXBsZSA9PSBOVUxMKQorICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgaWYgKCFQeVR1cGxlX0NoZWNrKHJlc3R1cGxlKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAmYXJncGFyc2VbNF0pOworICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgfQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShyZXN0dXBsZSwgYXJncGFyc2UsICZQeVVuaWNvZGVfVHlwZSwgJnJlcHVuaWNvZGUsICZuZXdwb3MpKQogICAgICAgICBnb3RvIG9uRXJyb3I7CiAKICAgICAvKiBDb3B5IGJhY2sgdGhlIGJ5dGVzIHZhcmlhYmxlcywgd2hpY2ggbWlnaHQgaGF2ZSBiZWVuIG1vZGlmaWVkIGJ5IHRoZQpAQCAtNDE2NCw1NCArNDEyMCwyNSBAQAogICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogCi0gICAgaWYgKF9QeVVuaWNvZGVfS0lORCgqb3V0cHV0KSAhPSBQeVVuaWNvZGVfV0NIQVJfS0lORCkgewotICAgICAgICAvKiBuZWVkIG1vcmUgc3BhY2U/IChhdCBsZWFzdCBlbm91Z2ggZm9yIHdoYXQgd2UKLSAgICAgICAgICAgaGF2ZSt0aGUgcmVwbGFjZW1lbnQrdGhlIHJlc3Qgb2YgdGhlIHN0cmluZyAoc3RhcnRpbmcKLSAgICAgICAgICAgYXQgdGhlIG5ldyBpbnB1dCBwb3NpdGlvbiksIHNvIHdlIHdvbid0IGhhdmUgdG8gY2hlY2sgc3BhY2UKLSAgICAgICAgICAgd2hlbiB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSByZXN0IG9mIHRoZSBzdHJpbmcpICovCi0gICAgICAgIFB5X3NzaXplX3QgcmVwbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwdW5pY29kZSk7Ci0gICAgICAgIHJlcXVpcmVkc2l6ZSA9ICpvdXRwb3MgKyByZXBsZW4gKyBpbnNpemUtbmV3cG9zOwotICAgICAgICBpZiAocmVxdWlyZWRzaXplID4gb3V0c2l6ZSkgewotICAgICAgICAgICAgaWYgKHJlcXVpcmVkc2l6ZTwyKm91dHNpemUpCi0gICAgICAgICAgICAgICAgcmVxdWlyZWRzaXplID0gMipvdXRzaXplOwotICAgICAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKG91dHB1dCwgcmVxdWlyZWRzaXplKSA8IDApCi0gICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICB9Ci0gICAgICAgIGlmICh1bmljb2RlX3dpZGVuKG91dHB1dCwgKm91dHBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHJlcHVuaWNvZGUpKSA8IDApCi0gICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKCpvdXRwdXQsICpvdXRwb3MsIHJlcHVuaWNvZGUsIDAsIHJlcGxlbik7Ci0gICAgICAgICpvdXRwb3MgKz0gcmVwbGVuOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgd2NoYXJfdCAqcmVwd3N0cjsKLSAgICAgICAgUHlfc3NpemVfdCByZXB3bGVuOwotICAgICAgICByZXB3c3RyID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUocmVwdW5pY29kZSwgJnJlcHdsZW4pOwotICAgICAgICBpZiAocmVwd3N0ciA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAvKiBuZWVkIG1vcmUgc3BhY2U/IChhdCBsZWFzdCBlbm91Z2ggZm9yIHdoYXQgd2UKLSAgICAgICAgICAgaGF2ZSt0aGUgcmVwbGFjZW1lbnQrdGhlIHJlc3Qgb2YgdGhlIHN0cmluZyAoc3RhcnRpbmcKLSAgICAgICAgICAgYXQgdGhlIG5ldyBpbnB1dCBwb3NpdGlvbiksIHNvIHdlIHdvbid0IGhhdmUgdG8gY2hlY2sgc3BhY2UKLSAgICAgICAgICAgd2hlbiB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSByZXN0IG9mIHRoZSBzdHJpbmcpICovCi0gICAgICAgIHJlcXVpcmVkc2l6ZSA9ICpvdXRwb3MgKyByZXB3bGVuICsgaW5zaXplLW5ld3BvczsKLSAgICAgICAgaWYgKHJlcXVpcmVkc2l6ZSA+IG91dHNpemUpIHsKLSAgICAgICAgICAgIGlmIChyZXF1aXJlZHNpemUgPCAyKm91dHNpemUpCi0gICAgICAgICAgICAgICAgcmVxdWlyZWRzaXplID0gMipvdXRzaXplOwotICAgICAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKG91dHB1dCwgcmVxdWlyZWRzaXplKSA8IDApCi0gICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICB9Ci0gICAgICAgIHdjc25jcHkoX1B5VW5pY29kZV9XU1RSKCpvdXRwdXQpICsgKm91dHBvcywgcmVwd3N0ciwgcmVwd2xlbik7Ci0gICAgICAgICpvdXRwb3MgKz0gcmVwd2xlbjsKLSAgICB9CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShyZXB1bmljb2RlKSA8IDApCisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICByZXBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXB1bmljb2RlKTsKKyAgICB3cml0ZXItPm1pbl9sZW5ndGggKz0gcmVwbGVuOworICAgIGlmIChyZXBsZW4gPiAxKQorICAgICAgICB3cml0ZXItPm92ZXJhbGxvY2F0ZSA9IDE7CisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIod3JpdGVyLCByZXB1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgZ290byBvbkVycm9yOworCiAgICAgKmVuZGlucG9zID0gbmV3cG9zOwogICAgICppbnB0ciA9ICppbnB1dCArIG5ld3BvczsKIAogICAgIC8qIHdlIG1hZGUgaXQhICovCi0gICAgcmVzID0gMDsKKyAgICBQeV9YREVDUkVGKHJlc3R1cGxlKTsKKyAgICByZXR1cm4gMDsKIAogICBvbkVycm9yOgogICAgIFB5X1hERUNSRUYocmVzdHVwbGUpOwotICAgIHJldHVybiByZXM7CisgICAgcmV0dXJuIC0xOwogfQogCiAvKiAtLS0gVVRGLTcgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KQEAgLTQzMTksOSArNDI0Niw4IEBACiAgICAgY29uc3QgY2hhciAqc3RhcnRzID0gczsKICAgICBQeV9zc2l6ZV90IHN0YXJ0aW5wb3M7CiAgICAgUHlfc3NpemVfdCBlbmRpbnBvczsKLSAgICBQeV9zc2l6ZV90IG91dHBvczsKICAgICBjb25zdCBjaGFyICplOwotICAgIFB5T2JqZWN0ICp1bmljb2RlOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogICAgIGNvbnN0IGNoYXIgKmVycm1zZyA9ICIiOwogICAgIGludCBpblNoaWZ0ID0gMDsKICAgICBQeV9zc2l6ZV90IHNoaWZ0T3V0U3RhcnQ7CkBAIC00MzMxLDE3ICs0MjU3LDE3IEBACiAgICAgUHlPYmplY3QgKmVycm9ySGFuZGxlciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7CiAKLSAgICAvKiBTdGFydCBvZmYgYXNzdW1pbmcgaXQncyBhbGwgQVNDSUkuIFdpZGVuIGxhdGVyIGFzIG5lY2Vzc2FyeS4gKi8KLSAgICB1bmljb2RlID0gUHlVbmljb2RlX05ldyhzaXplLCAxMjcpOwotICAgIGlmICghdW5pY29kZSkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHNpemUgPT0gMCkgewogICAgICAgICBpZiAoY29uc3VtZWQpCiAgICAgICAgICAgICAqY29uc3VtZWQgPSAwOwotICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICAgICAgX1B5X1JFVFVSTl9VTklDT0RFX0VNUFRZKCk7CiAgICAgfQogCi0gICAgc2hpZnRPdXRTdGFydCA9IG91dHBvcyA9IDA7CisgICAgLyogU3RhcnQgb2ZmIGFzc3VtaW5nIGl0J3MgYWxsIEFTQ0lJLiBXaWRlbiBsYXRlciBhcyBuZWNlc3NhcnkuICovCisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOworICAgIHdyaXRlci5taW5fbGVuZ3RoID0gc2l6ZTsKKworICAgIHNoaWZ0T3V0U3RhcnQgPSAwOwogICAgIGUgPSBzICsgc2l6ZTsKIAogICAgIHdoaWxlIChzIDwgZSkgewpAQCAtNDM2MywxMyArNDI4OSwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgLyogZXhwZWN0aW5nIGEgc2Vjb25kIHN1cnJvZ2F0ZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFB5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURShvdXRDaCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9VQ1M0IGNoMiA9IFB5X1VOSUNPREVfSk9JTl9TVVJST0dBVEVTKHN1cnJvZ2F0ZSwgb3V0Q2gpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnVuaWNvZGUsICZvdXRwb3MsIGNoMikgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCBjaDIpIDwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cnJvZ2F0ZSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ1bmljb2RlLCAmb3V0cG9zLCBzdXJyb2dhdGUpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUoJndyaXRlciwgc3Vycm9nYXRlKSA8IDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXJyb2dhdGUgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgfQpAQCAtNDM3OSw3ICs0MzA1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHN1cnJvZ2F0ZSA9IG91dENoOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgb3V0Q2gpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCBvdXRDaCkgPCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KQEAgLTQzODgsNyArNDMxNCw3IEBACiAgICAgICAgICAgICAgICAgaW5TaGlmdCA9IDA7CiAgICAgICAgICAgICAgICAgcysrOwogICAgICAgICAgICAgICAgIGlmIChzdXJyb2dhdGUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgc3Vycm9nYXRlKSA8IDApCisgICAgICAgICAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCBzdXJyb2dhdGUpIDwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICAgICAgc3Vycm9nYXRlID0gMDsKICAgICAgICAgICAgICAgICB9CkBAIC00NDA5LDcgKzQzMzUsNyBAQAogICAgICAgICAgICAgICAgIGlmIChjaCAhPSAnLScpIHsKICAgICAgICAgICAgICAgICAgICAgLyogJy0nIGlzIGFic29yYmVkOyBvdGhlciB0ZXJtaW5hdGluZwogICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzIGFyZSBwcmVzZXJ2ZWQgKi8KLSAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgY2gpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKCZ3cml0ZXIsIGNoKSA8IDApCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtNDQxOSwxOSArNDM0NSwxOSBAQAogICAgICAgICAgICAgcysrOyAvKiBjb25zdW1lICcrJyAqLwogICAgICAgICAgICAgaWYgKHMgPCBlICYmICpzID09ICctJykgeyAvKiAnKy0nIGVuY29kZXMgJysnICovCiAgICAgICAgICAgICAgICAgcysrOwotICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnVuaWNvZGUsICZvdXRwb3MsICcrJykgPCAwKQorICAgICAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCAnKycpIDwgMCkKICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7IC8qIGJlZ2luIGJhc2U2NC1lbmNvZGVkIHNlY3Rpb24gKi8KICAgICAgICAgICAgICAgICBpblNoaWZ0ID0gMTsKLSAgICAgICAgICAgICAgICBzaGlmdE91dFN0YXJ0ID0gb3V0cG9zOworICAgICAgICAgICAgICAgIHNoaWZ0T3V0U3RhcnQgPSB3cml0ZXIucG9zOwogICAgICAgICAgICAgICAgIGJhc2U2NGJpdHMgPSAwOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKERFQ09ERV9ESVJFQ1QoY2gpKSB7IC8qIGNoYXJhY3RlciBkZWNvZGVzIGFzIGl0c2VsZiAqLwotICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgY2gpIDwgMCkKLSAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICBzKys7CisgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUoJndyaXRlciwgY2gpIDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBzdGFydGlucG9zID0gcy1zdGFydHM7CkBAIC00NDQyLDExICs0MzY4LDExIEBACiAgICAgICAgIGNvbnRpbnVlOwogdXRmN0Vycm9yOgogICAgICAgICBlbmRpbnBvcyA9IHMtc3RhcnRzOwotICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCisgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcl93cml0ZXIoCiAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICJ1dGY3IiwgZXJybXNnLAogICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAmdW5pY29kZSwgJm91dHBvcykpCisgICAgICAgICAgICAgICAgJndyaXRlcikpCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogCkBAIC00NDU4LDExICs0Mzg0LDExIEBACiAgICAgICAgICAgICAgICAgKGJhc2U2NGJpdHMgPj0gNikgfHwKICAgICAgICAgICAgICAgICAoYmFzZTY0Yml0cyA+IDAgJiYgYmFzZTY0YnVmZmVyICE9IDApKSB7CiAgICAgICAgICAgICBlbmRpbnBvcyA9IHNpemU7Ci0gICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCisgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAogICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICJ1dGY3IiwgInVudGVybWluYXRlZCBzaGlmdCBzZXF1ZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MpKQorICAgICAgICAgICAgICAgICAgICAmd3JpdGVyKSkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICBpZiAocyA8IGUpCiAgICAgICAgICAgICAgICAgZ290byByZXN0YXJ0OwpAQCAtNDQ3Miw3ICs0Mzk4LDcgQEAKICAgICAvKiByZXR1cm4gc3RhdGUgKi8KICAgICBpZiAoY29uc3VtZWQpIHsKICAgICAgICAgaWYgKGluU2hpZnQpIHsKLSAgICAgICAgICAgIG91dHBvcyA9IHNoaWZ0T3V0U3RhcnQ7IC8qIGJhY2sgb2ZmIG91dHB1dCAqLworICAgICAgICAgICAgd3JpdGVyLnBvcyA9IHNoaWZ0T3V0U3RhcnQ7IC8qIGJhY2sgb2ZmIG91dHB1dCAqLwogICAgICAgICAgICAgKmNvbnN1bWVkID0gc3RhcnRpbnBvczsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKQEAgLTQ0ODAsMTcgKzQ0MDYsMTQgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdW5pY29kZSwgb3V0cG9zKSA8IDApCi0gICAgICAgIGdvdG8gb25FcnJvcjsKLQogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHVuaWNvZGUpOworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKIAogICBvbkVycm9yOgogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgIF9QeVVuaWNvZGVXcml0ZXJfRGVhbGxvYygmd3JpdGVyKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtNDU3Myw3ICs0NDk2LDcgQEAKIAogICAgICAgICAgICAgLyogY29kZSBmaXJzdCBzdXJyb2dhdGUgKi8KICAgICAgICAgICAgIGJhc2U2NGJpdHMgKz0gMTY7Ci0gICAgICAgICAgICBiYXNlNjRidWZmZXIgPSAoYmFzZTY0YnVmZmVyIDw8IDE2KSB8IDB4ZDgwMCB8ICgoY2gtMHgxMDAwMCkgPj4gMTApOworICAgICAgICAgICAgYmFzZTY0YnVmZmVyID0gKGJhc2U2NGJ1ZmZlciA8PCAxNikgfCBQeV9VTklDT0RFX0hJR0hfU1VSUk9HQVRFKGNoKTsKICAgICAgICAgICAgIHdoaWxlIChiYXNlNjRiaXRzID49IDYpIHsKICAgICAgICAgICAgICAgICAqb3V0KysgPSBUT19CQVNFNjQoYmFzZTY0YnVmZmVyID4+IChiYXNlNjRiaXRzLTYpKTsKICAgICAgICAgICAgICAgICBiYXNlNjRiaXRzIC09IDY7CkBAIC00NzE2LDEwICs0NjM5LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpjb25zdW1lZCkKIHsKLSAgICBQeU9iamVjdCAqdW5pY29kZTsKKyAgICBfUHlVbmljb2RlV3JpdGVyIHdyaXRlcjsKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwogICAgIGNvbnN0IGNoYXIgKmVuZCA9IHMgKyBzaXplOwotICAgIFB5X3NzaXplX3Qgb3V0cG9zOwogCiAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zOwogICAgIFB5X3NzaXplX3QgZW5kaW5wb3M7CkBAIC00NzQwLDI5ICs0NjYyLDI2IEBACiAgICAgICAgIHJldHVybiBnZXRfbGF0aW4xX2NoYXIoKHVuc2lnbmVkIGNoYXIpc1swXSk7CiAgICAgfQogCi0gICAgdW5pY29kZSA9IFB5VW5pY29kZV9OZXcoc2l6ZSwgMTI3KTsKLSAgICBpZiAoIXVuaWNvZGUpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyKTsKKyAgICB3cml0ZXIubWluX2xlbmd0aCA9IHNpemU7CisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCB3cml0ZXIubWluX2xlbmd0aCwgMTI3KSA9PSAtMSkKKyAgICAgICAgZ290byBvbkVycm9yOwogCi0gICAgb3V0cG9zID0gYXNjaWlfZGVjb2RlKHMsIGVuZCwgUHlVbmljb2RlXzFCWVRFX0RBVEEodW5pY29kZSkpOwotICAgIHMgKz0gb3V0cG9zOworICAgIHdyaXRlci5wb3MgPSBhc2NpaV9kZWNvZGUocywgZW5kLCB3cml0ZXIuZGF0YSk7CisgICAgcyArPSB3cml0ZXIucG9zOwogICAgIHdoaWxlIChzIDwgZW5kKSB7CiAgICAgICAgIFB5X1VDUzQgY2g7Ci0gICAgICAgIGludCBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgICAgIGludCBraW5kID0gd3JpdGVyLmtpbmQ7CiAgICAgICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7Ci0gICAgICAgICAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHVuaWNvZGUpKQotICAgICAgICAgICAgICAgIGNoID0gYXNjaWlsaWJfdXRmOF9kZWNvZGUoJnMsIGVuZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9EQVRBKHVuaWNvZGUpLCAmb3V0cG9zKTsKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkod3JpdGVyLmJ1ZmZlcikpCisgICAgICAgICAgICAgICAgY2ggPSBhc2NpaWxpYl91dGY4X2RlY29kZSgmcywgZW5kLCB3cml0ZXIuZGF0YSwgJndyaXRlci5wb3MpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGNoID0gdWNzMWxpYl91dGY4X2RlY29kZSgmcywgZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEodW5pY29kZSksICZvdXRwb3MpOworICAgICAgICAgICAgICAgIGNoID0gdWNzMWxpYl91dGY4X2RlY29kZSgmcywgZW5kLCB3cml0ZXIuZGF0YSwgJndyaXRlci5wb3MpOwogICAgICAgICB9IGVsc2UgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpIHsKLSAgICAgICAgICAgIGNoID0gdWNzMmxpYl91dGY4X2RlY29kZSgmcywgZW5kLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfMkJZVEVfREFUQSh1bmljb2RlKSwgJm91dHBvcyk7CisgICAgICAgICAgICBjaCA9IHVjczJsaWJfdXRmOF9kZWNvZGUoJnMsIGVuZCwgd3JpdGVyLmRhdGEsICZ3cml0ZXIucG9zKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGFzc2VydChraW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKTsKLSAgICAgICAgICAgIGNoID0gdWNzNGxpYl91dGY4X2RlY29kZSgmcywgZW5kLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfNEJZVEVfREFUQSh1bmljb2RlKSwgJm91dHBvcyk7CisgICAgICAgICAgICBjaCA9IHVjczRsaWJfdXRmOF9kZWNvZGUoJnMsIGVuZCwgd3JpdGVyLmRhdGEsICZ3cml0ZXIucG9zKTsKICAgICAgICAgfQogCiAgICAgICAgIHN3aXRjaCAoY2gpIHsKQEAgLTQ3ODYsMzUgKzQ3MDUsMzEgQEAKICAgICAgICAgICAgIGVuZGlucG9zID0gc3RhcnRpbnBvcyArIGNoIC0gMTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgY2gpIDwgMCkKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCBjaCkgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAogICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAidXRmLTgiLCBlcnJtc2csCiAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MpKQorICAgICAgICAgICAgICAgICZ3cml0ZXIpKQogICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KIAogRW5kOgotICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdW5pY29kZSwgb3V0cG9zKSA8IDApCi0gICAgICAgIGdvdG8gb25FcnJvcjsKLQogICAgIGlmIChjb25zdW1lZCkKICAgICAgICAgKmNvbnN1bWVkID0gcyAtIHN0YXJ0czsKIAogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAxKSk7Ci0gICAgcmV0dXJuIHVuaWNvZGU7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZ3cml0ZXIpOwogCiBvbkVycm9yOgogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgUHlfWERFQ1JFRih1bmljb2RlKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKQEAgLTQ5NjAsMTcgKzQ4NzUsMTAgQEAKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwotICAgIFB5X3NzaXplX3Qgb3V0cG9zOwotICAgIFB5T2JqZWN0ICp1bmljb2RlOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnEsICplOwotICAgIGludCBibyA9IDA7ICAgICAgIC8qIGFzc3VtZSBuYXRpdmUgb3JkZXJpbmcgYnkgZGVmYXVsdCAqLworICAgIGludCBsZSwgYm8gPSAwOyAgICAgICAvKiBhc3N1bWUgbmF0aXZlIG9yZGVyaW5nIGJ5IGRlZmF1bHQgKi8KICAgICBjb25zdCBjaGFyICplcnJtc2cgPSAiIjsKLSAgICAvKiBPZmZzZXRzIGZyb20gcSBmb3IgcmV0cmlldmluZyBieXRlcyBpbiB0aGUgcmlnaHQgb3JkZXIuICovCi0jaWZkZWYgQllURU9SREVSX0lTX0xJVFRMRV9FTkRJQU4KLSAgICBpbnQgaW9yZGVyW10gPSB7MCwgMSwgMiwgM307Ci0jZWxzZQotICAgIGludCBpb3JkZXJbXSA9IHszLCAyLCAxLCAwfTsKLSNlbmRpZgogICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwogCkBAIC00OTg0LDEwNyArNDg5MiwxMDYgQEAKICAgICAgICBieXRlIG9yZGVyIHNldHRpbmcgYWNjb3JkaW5nbHkuIEluIG5hdGl2ZSBtb2RlLCB0aGUgbGVhZGluZyBCT00KICAgICAgICBtYXJrIGlzIHNraXBwZWQsIGluIGFsbCBvdGhlciBtb2RlcywgaXQgaXMgY29waWVkIHRvIHRoZSBvdXRwdXQKICAgICAgICBzdHJlYW0gYXMtaXMgKGdpdmluZyBhIFpXTkJTUCBjaGFyYWN0ZXIpLiAqLwotICAgIGlmIChibyA9PSAwKSB7Ci0gICAgICAgIGlmIChzaXplID49IDQpIHsKLSAgICAgICAgICAgIGNvbnN0IFB5X1VDUzQgYm9tID0gKHFbaW9yZGVyWzNdXSA8PCAyNCkgfCAocVtpb3JkZXJbMl1dIDw8IDE2KSB8Ci0gICAgICAgICAgICAgICAgKHFbaW9yZGVyWzFdXSA8PCA4KSB8IHFbaW9yZGVyWzBdXTsKLSNpZmRlZiBCWVRFT1JERVJfSVNfTElUVExFX0VORElBTgotICAgICAgICAgICAgaWYgKGJvbSA9PSAweDAwMDBGRUZGKSB7Ci0gICAgICAgICAgICAgICAgcSArPSA0OwotICAgICAgICAgICAgICAgIGJvID0gLTE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChib20gPT0gMHhGRkZFMDAwMCkgewotICAgICAgICAgICAgICAgIHEgKz0gNDsKLSAgICAgICAgICAgICAgICBibyA9IDE7Ci0gICAgICAgICAgICB9CisgICAgaWYgKGJvID09IDAgJiYgc2l6ZSA+PSA0KSB7CisgICAgICAgIFB5X1VDUzQgYm9tID0gKHFbM10gPDwgMjQpIHwgKHFbMl0gPDwgMTYpIHwgKHFbMV0gPDwgOCkgfCBxWzBdOworICAgICAgICBpZiAoYm9tID09IDB4MDAwMEZFRkYpIHsKKyAgICAgICAgICAgIGJvID0gLTE7CisgICAgICAgICAgICBxICs9IDQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYm9tID09IDB4RkZGRTAwMDApIHsKKyAgICAgICAgICAgIGJvID0gMTsKKyAgICAgICAgICAgIHEgKz0gNDsKKyAgICAgICAgfQorICAgICAgICBpZiAoYnl0ZW9yZGVyKQorICAgICAgICAgICAgKmJ5dGVvcmRlciA9IGJvOworICAgIH0KKworICAgIGlmIChxID09IGUpIHsKKyAgICAgICAgaWYgKGNvbnN1bWVkKQorICAgICAgICAgICAgKmNvbnN1bWVkID0gc2l6ZTsKKyAgICAgICAgX1B5X1JFVFVSTl9VTklDT0RFX0VNUFRZKCk7CisgICAgfQorCisjaWZkZWYgV09SRFNfQklHRU5ESUFOCisgICAgbGUgPSBibyA8IDA7CiAjZWxzZQotICAgICAgICAgICAgaWYgKGJvbSA9PSAweDAwMDBGRUZGKSB7Ci0gICAgICAgICAgICAgICAgcSArPSA0OwotICAgICAgICAgICAgICAgIGJvID0gMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKGJvbSA9PSAweEZGRkUwMDAwKSB7Ci0gICAgICAgICAgICAgICAgcSArPSA0OwotICAgICAgICAgICAgICAgIGJvID0gLTE7Ci0gICAgICAgICAgICB9CisgICAgbGUgPSBibyA8PSAwOwogI2VuZGlmCisKKyAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlcik7CisgICAgd3JpdGVyLm1pbl9sZW5ndGggPSAoZSAtIHEgKyAzKSAvIDQ7CisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCB3cml0ZXIubWluX2xlbmd0aCwgMTI3KSA9PSAtMSkKKyAgICAgICAgZ290byBvbkVycm9yOworCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IDA7CisgICAgICAgIFB5X1VDUzQgbWF4Y2ggPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUod3JpdGVyLmJ1ZmZlcik7CisKKyAgICAgICAgaWYgKGUgLSBxID49IDQpIHsKKyAgICAgICAgICAgIGVudW0gUHlVbmljb2RlX0tpbmQga2luZCA9IHdyaXRlci5raW5kOworICAgICAgICAgICAgdm9pZCAqZGF0YSA9IHdyaXRlci5kYXRhOworICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqbGFzdCA9IGUgLSA0OworICAgICAgICAgICAgUHlfc3NpemVfdCBwb3MgPSB3cml0ZXIucG9zOworICAgICAgICAgICAgaWYgKGxlKSB7CisgICAgICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgICAgICBjaCA9IChxWzNdIDw8IDI0KSB8IChxWzJdIDw8IDE2KSB8IChxWzFdIDw8IDgpIHwgcVswXTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoID4gbWF4Y2gpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIHBvcysrLCBjaCk7CisgICAgICAgICAgICAgICAgICAgIHEgKz0gNDsKKyAgICAgICAgICAgICAgICB9IHdoaWxlIChxIDw9IGxhc3QpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgZG8geworICAgICAgICAgICAgICAgICAgICBjaCA9IChxWzBdIDw8IDI0KSB8IChxWzFdIDw8IDE2KSB8IChxWzJdIDw8IDgpIHwgcVszXTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoID4gbWF4Y2gpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIHBvcysrLCBjaCk7CisgICAgICAgICAgICAgICAgICAgIHEgKz0gNDsKKyAgICAgICAgICAgICAgICB9IHdoaWxlIChxIDw9IGxhc3QpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgd3JpdGVyLnBvcyA9IHBvczsKICAgICAgICAgfQotICAgIH0KIAotICAgIGlmIChibyA9PSAtMSkgewotICAgICAgICAvKiBmb3JjZSBMRSAqLwotICAgICAgICBpb3JkZXJbMF0gPSAwOwotICAgICAgICBpb3JkZXJbMV0gPSAxOwotICAgICAgICBpb3JkZXJbMl0gPSAyOwotICAgICAgICBpb3JkZXJbM10gPSAzOwotICAgIH0KLSAgICBlbHNlIGlmIChibyA9PSAxKSB7Ci0gICAgICAgIC8qIGZvcmNlIEJFICovCi0gICAgICAgIGlvcmRlclswXSA9IDM7Ci0gICAgICAgIGlvcmRlclsxXSA9IDI7Ci0gICAgICAgIGlvcmRlclsyXSA9IDE7Ci0gICAgICAgIGlvcmRlclszXSA9IDA7Ci0gICAgfQotCi0gICAgLyogVGhpcyBtaWdodCBiZSBvbmUgdG8gbXVjaCwgYmVjYXVzZSBvZiBhIEJPTSAqLwotICAgIHVuaWNvZGUgPSBQeVVuaWNvZGVfTmV3KChzaXplKzMpLzQsIDEyNyk7Ci0gICAgaWYgKCF1bmljb2RlKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2l6ZSA9PSAwKQotICAgICAgICByZXR1cm4gdW5pY29kZTsKLSAgICBvdXRwb3MgPSAwOwotCi0gICAgd2hpbGUgKHEgPCBlKSB7Ci0gICAgICAgIFB5X1VDUzQgY2g7Ci0gICAgICAgIC8qIHJlbWFpbmluZyBieXRlcyBhdCB0aGUgZW5kPyAoc2l6ZSBzaG91bGQgYmUgZGl2aXNpYmxlIGJ5IDQpICovCi0gICAgICAgIGlmIChlLXE8NCkgewotICAgICAgICAgICAgaWYgKGNvbnN1bWVkKQorICAgICAgICBpZiAoY2ggPD0gbWF4Y2gpIHsKKyAgICAgICAgICAgIGlmIChxID09IGUgfHwgY29uc3VtZWQpCiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAvKiByZW1haW5pbmcgYnl0ZXMgYXQgdGhlIGVuZD8gKHNpemUgc2hvdWxkIGJlIGRpdmlzaWJsZSBieSA0KSAqLwogICAgICAgICAgICAgZXJybXNnID0gInRydW5jYXRlZCBkYXRhIjsKLSAgICAgICAgICAgIHN0YXJ0aW5wb3MgPSAoKGNvbnN0IGNoYXIgKilxKS1zdGFydHM7Ci0gICAgICAgICAgICBlbmRpbnBvcyA9ICgoY29uc3QgY2hhciAqKWUpLXN0YXJ0czsKLSAgICAgICAgICAgIGdvdG8gdXRmMzJFcnJvcjsKLSAgICAgICAgICAgIC8qIFRoZSByZW1haW5pbmcgaW5wdXQgY2hhcnMgYXJlIGlnbm9yZWQgaWYgdGhlIGNhbGxiYWNrCi0gICAgICAgICAgICAgICBjaG9vc2VzIHRvIHNraXAgdGhlIGlucHV0ICovCisgICAgICAgICAgICBzdGFydGlucG9zID0gKChjb25zdCBjaGFyICopcSkgLSBzdGFydHM7CisgICAgICAgICAgICBlbmRpbnBvcyA9ICgoY29uc3QgY2hhciAqKWUpIC0gc3RhcnRzOwogICAgICAgICB9Ci0gICAgICAgIGNoID0gKHFbaW9yZGVyWzNdXSA8PCAyNCkgfCAocVtpb3JkZXJbMl1dIDw8IDE2KSB8Ci0gICAgICAgICAgICAocVtpb3JkZXJbMV1dIDw8IDgpIHwgcVtpb3JkZXJbMF1dOwotCi0gICAgICAgIGlmIChjaCA+PSAweDExMDAwMCkKLSAgICAgICAgeworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGlmIChjaCA8IDB4MTEwMDAwKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKCZ3cml0ZXIsIGNoKSA8IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgICAgICBxICs9IDQ7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBlcnJtc2cgPSAiY29kZXBvaW50IG5vdCBpbiByYW5nZSgweDExMDAwMCkiOwotICAgICAgICAgICAgc3RhcnRpbnBvcyA9ICgoY29uc3QgY2hhciAqKXEpLXN0YXJ0czsKLSAgICAgICAgICAgIGVuZGlucG9zID0gc3RhcnRpbnBvcys0OwotICAgICAgICAgICAgZ290byB1dGYzMkVycm9yOworICAgICAgICAgICAgc3RhcnRpbnBvcyA9ICgoY29uc3QgY2hhciAqKXEpIC0gc3RhcnRzOworICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zICsgNDsKICAgICAgICAgfQotICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ1bmljb2RlLCAmb3V0cG9zLCBjaCkgPCAwKQotICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICBxICs9IDQ7Ci0gICAgICAgIGNvbnRpbnVlOwotICAgICAgdXRmMzJFcnJvcjoKLSAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorCisgICAgICAgIC8qIFRoZSByZW1haW5pbmcgaW5wdXQgY2hhcnMgYXJlIGlnbm9yZWQgaWYgdGhlIGNhbGxiYWNrCisgICAgICAgICAgIGNob29zZXMgdG8gc2tpcCB0aGUgaW5wdXQgKi8KKyAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyX3dyaXRlcigKICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgInV0ZjMyIiwgZXJybXNnLAogICAgICAgICAgICAgICAgICZzdGFydHMsIChjb25zdCBjaGFyICoqKSZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAoY29uc3QgY2hhciAqKikmcSwKLSAgICAgICAgICAgICAgICAmdW5pY29kZSwgJm91dHBvcykpCisgICAgICAgICAgICAgICAgJndyaXRlcikpCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogCi0gICAgaWYgKGJ5dGVvcmRlcikKLSAgICAgICAgKmJ5dGVvcmRlciA9IGJvOwotCiAgICAgaWYgKGNvbnN1bWVkKQogICAgICAgICAqY29uc3VtZWQgPSAoY29uc3QgY2hhciAqKXEtc3RhcnRzOwogCi0gICAgLyogQWRqdXN0IGxlbmd0aCAqLwotICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdW5pY29kZSwgb3V0cG9zKSA8IDApCi0gICAgICAgIGdvdG8gb25FcnJvcjsKLQogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHVuaWNvZGUpOworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKIAogICBvbkVycm9yOgotICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTUxMDIsNyArNTAwOSw3IEBACiAgICAgdW5zaWduZWQgY2hhciAqcDsKICAgICBQeV9zc2l6ZV90IG5zaXplLCBpOwogICAgIC8qIE9mZnNldHMgZnJvbSBwIGZvciBzdG9yaW5nIGJ5dGUgcGFpcnMgaW4gdGhlIHJpZ2h0IG9yZGVyLiAqLwotI2lmZGVmIEJZVEVPUkRFUl9JU19MSVRUTEVfRU5ESUFOCisjaWYgUFlfTElUVExFX0VORElBTgogICAgIGludCBpb3JkZXJbXSA9IHswLCAxLCAyLCAzfTsKICNlbHNlCiAgICAgaW50IGlvcmRlcltdID0gezMsIDIsIDEsIDB9OwpAQCAtNTIwNSw4ICs1MTEyLDcgQEAKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwotICAgIFB5X3NzaXplX3Qgb3V0cG9zOwotICAgIFB5T2JqZWN0ICp1bmljb2RlOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnEsICplOwogICAgIGludCBibyA9IDA7ICAgICAgIC8qIGFzc3VtZSBuYXRpdmUgb3JkZXJpbmcgYnkgZGVmYXVsdCAqLwogICAgIGludCBuYXRpdmVfb3JkZXJpbmc7CkBAIC01MjQ0LDcgKzUxNTAsNyBAQAogICAgICAgICBfUHlfUkVUVVJOX1VOSUNPREVfRU1QVFkoKTsKICAgICB9CiAKLSNpZmRlZiBCWVRFT1JERVJfSVNfTElUVExFX0VORElBTgorI2lmIFBZX0xJVFRMRV9FTkRJQU4KICAgICBuYXRpdmVfb3JkZXJpbmcgPSBibyA8PSAwOwogI2Vsc2UKICAgICBuYXRpdmVfb3JkZXJpbmcgPSBibyA+PSAwOwpAQCAtNTI1MiwzMiArNTE1OCwzMiBAQAogCiAgICAgLyogTm90ZTogc2l6ZSB3aWxsIGFsd2F5cyBiZSBsb25nZXIgdGhhbiB0aGUgcmVzdWx0aW5nIFVuaWNvZGUKICAgICAgICBjaGFyYWN0ZXIgY291bnQgKi8KLSAgICB1bmljb2RlID0gUHlVbmljb2RlX05ldygoZSAtIHEgKyAxKSAvIDIsIDEyNyk7Ci0gICAgaWYgKCF1bmljb2RlKQotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlcik7CisgICAgd3JpdGVyLm1pbl9sZW5ndGggPSAoZSAtIHEgKyAxKSAvIDI7CisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCB3cml0ZXIubWluX2xlbmd0aCwgMTI3KSA9PSAtMSkKKyAgICAgICAgZ290byBvbkVycm9yOwogCi0gICAgb3V0cG9zID0gMDsKICAgICB3aGlsZSAoMSkgewogICAgICAgICBQeV9VQ1M0IGNoID0gMDsKICAgICAgICAgaWYgKGUgLSBxID49IDIpIHsKLSAgICAgICAgICAgIGludCBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgICAgICAgICBpbnQga2luZCA9IHdyaXRlci5raW5kOwogICAgICAgICAgICAgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHVuaWNvZGUpKQorICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkod3JpdGVyLmJ1ZmZlcikpCiAgICAgICAgICAgICAgICAgICAgIGNoID0gYXNjaWlsaWJfdXRmMTZfZGVjb2RlKCZxLCBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9EQVRBKHVuaWNvZGUpLCAmb3V0cG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeV9VQ1MxKil3cml0ZXIuZGF0YSwgJndyaXRlci5wb3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlX29yZGVyaW5nKTsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGNoID0gdWNzMWxpYl91dGYxNl9kZWNvZGUoJnEsIGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEodW5pY29kZSksICZvdXRwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5X1VDUzEqKXdyaXRlci5kYXRhLCAmd3JpdGVyLnBvcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXRpdmVfb3JkZXJpbmcpOwogICAgICAgICAgICAgfSBlbHNlIGlmIChraW5kID09IFB5VW5pY29kZV8yQllURV9LSU5EKSB7CiAgICAgICAgICAgICAgICAgY2ggPSB1Y3MybGliX3V0ZjE2X2RlY29kZSgmcSwgZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpLCAmb3V0cG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgKFB5X1VDUzIqKXdyaXRlci5kYXRhLCAmd3JpdGVyLnBvcywKICAgICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZV9vcmRlcmluZyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIGFzc2VydChraW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKTsKICAgICAgICAgICAgICAgICBjaCA9IHVjczRsaWJfdXRmMTZfZGVjb2RlKCZxLCBlLAotICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlXzRCWVRFX0RBVEEodW5pY29kZSksICZvdXRwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAoUHlfVUNTNCopd3JpdGVyLmRhdGEsICZ3cml0ZXIucG9zLAogICAgICAgICAgICAgICAgICAgICAgICAgbmF0aXZlX29yZGVyaW5nKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNTMxMywxMiArNTIxOSwxMiBAQAogICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zICsgMjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgY2gpIDwgMCkKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCBjaCkgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAogICAgICAgICAgICAgICAgIGVycm9ycywKICAgICAgICAgICAgICAgICAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICJ1dGYxNiIsIGVycm1zZywKQEAgLTUzMjgsOCArNTIzNCw3IEBACiAgICAgICAgICAgICAgICAgJmVuZGlucG9zLAogICAgICAgICAgICAgICAgICZleGMsCiAgICAgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKiopJnEsCi0gICAgICAgICAgICAgICAgJnVuaWNvZGUsCi0gICAgICAgICAgICAgICAgJm91dHBvcykpCisgICAgICAgICAgICAgICAgJndyaXRlcikpCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogCkBAIC01MzM3LDE2ICs1MjQyLDEyIEBACiAgICAgaWYgKGNvbnN1bWVkKQogICAgICAgICAqY29uc3VtZWQgPSAoY29uc3QgY2hhciAqKXEtc3RhcnRzOwogCi0gICAgLyogQWRqdXN0IGxlbmd0aCAqLwotICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdW5pY29kZSwgb3V0cG9zKSA8IDApCi0gICAgICAgIGdvdG8gb25FcnJvcjsKLQogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHVuaWNvZGUpOworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKIAogICBvbkVycm9yOgotICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTUzNjQsNyArNTI2NSw3IEBACiAgICAgdW5zaWduZWQgc2hvcnQgKm91dDsKICAgICBQeV9zc2l6ZV90IGJ5dGVzaXplOwogICAgIFB5X3NzaXplX3QgcGFpcnM7Ci0jaWZkZWYgV09SRFNfQklHRU5ESUFOCisjaWYgUFlfQklHX0VORElBTgogICAgIGludCBuYXRpdmVfb3JkZXJpbmcgPSBieXRlb3JkZXIgPj0gMDsKICNlbHNlCiAgICAgaW50IG5hdGl2ZV9vcmRlcmluZyA9IGJ5dGVvcmRlciA8PSAwOwpAQCAtNTUxMiwyNyArNTQxMywyNiBAQAogICAgIGNvbnN0IGNoYXIgKnN0YXJ0cyA9IHM7CiAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zOwogICAgIFB5X3NzaXplX3QgZW5kaW5wb3M7Ci0gICAgUHlPYmplY3QgKnY7CisgICAgX1B5VW5pY29kZVdyaXRlciB3cml0ZXI7CiAgICAgY29uc3QgY2hhciAqZW5kOwogICAgIGNoYXIqIG1lc3NhZ2U7CiAgICAgUHlfVUNTNCBjaHIgPSAweGZmZmZmZmZmOyAvKiBpbiBjYXNlICdnZXRjb2RlJyBtZXNzZXMgdXAgKi8KICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IGxlbjsKLSAgICBQeV9zc2l6ZV90IGk7CiAKICAgICBsZW4gPSBsZW5ndGhfb2ZfZXNjYXBlZF9hc2NpaV9zdHJpbmcocywgc2l6ZSk7CisgICAgaWYgKGxlbiA9PSAwKQorICAgICAgICBfUHlfUkVUVVJOX1VOSUNPREVfRU1QVFkoKTsKIAogICAgIC8qIEFmdGVyIGxlbmd0aF9vZl9lc2NhcGVkX2FzY2lpX3N0cmluZygpIHRoZXJlIGFyZSB0d28gYWx0ZXJuYXRpdmVzLAogICAgICAgIGVpdGhlciB0aGUgc3RyaW5nIGlzIHB1cmUgQVNDSUkgd2l0aCBuYW1lZCBlc2NhcGVzIGxpa2UgXG4sIGV0Yy4KICAgICAgICBhbmQgd2UgZGV0ZXJtaW5lZCBpdCdzIGV4YWN0IHNpemUgKGNvbW1vbiBjYXNlKQogICAgICAgIG9yIGl0IGNvbnRhaW5zIFx4LCBcdSwgLi4uIGVzY2FwZSBzZXF1ZW5jZXMuICB0aGVuIHdlIGNyZWF0ZSBhCiAgICAgICAgbGVnYWN5IHdjaGFyIHN0cmluZyBhbmQgcmVzaXplIGl0IGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4gKi8KLSAgICBpZiAobGVuID49IDApIHsKLSAgICAgICAgdiA9IFB5VW5pY29kZV9OZXcobGVuLCAxMjcpOwotICAgICAgICBpZiAoIXYpCi0gICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORCh2KSA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCk7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOworICAgIGlmIChsZW4gPiAwKSB7CisgICAgICAgIHdyaXRlci5taW5fbGVuZ3RoID0gbGVuOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgLyogRXNjYXBlZCBzdHJpbmdzIHdpbGwgYWx3YXlzIGJlIGxvbmdlciB0aGFuIHRoZSByZXN1bHRpbmcKQEAgLTU1NDAsMTUgKzU0NDAsMTEgQEAKICAgICAgICAgICAgbGVuZ3RoIGFmdGVyIGNvbnZlcnNpb24gdG8gdGhlIHRydWUgdmFsdWUuCiAgICAgICAgICAgIChidXQgaWYgdGhlIGVycm9yIGNhbGxiYWNrIHJldHVybnMgYSBsb25nIHJlcGxhY2VtZW50IHN0cmluZwogICAgICAgICAgICB3ZSdsbCBoYXZlIHRvIGFsbG9jYXRlIG1vcmUgc3BhY2UpICovCi0gICAgICAgIHYgPSBQeVVuaWNvZGVfTmV3KHNpemUsIDEyNyk7Ci0gICAgICAgIGlmICghdikKLSAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgbGVuID0gc2l6ZTsKKyAgICAgICAgd3JpdGVyLm1pbl9sZW5ndGggPSBzaXplOwogICAgIH0KIAogICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiB2OwotICAgIGkgPSAwOworICAgICAgICByZXR1cm4gX1B5VW5pY29kZVdyaXRlcl9GaW5pc2goJndyaXRlcik7CiAgICAgZW5kID0gcyArIHNpemU7CiAKICAgICB3aGlsZSAocyA8IGVuZCkgewpAQCAtNTU1NiwxMyArNTQ1MiwxMSBAQAogICAgICAgICBQeV9VQ1M0IHg7CiAgICAgICAgIGludCBkaWdpdHM7CiAKLSAgICAgICAgLyogVGhlIG9ubHkgY2FzZSBpbiB3aGljaCBpID09IGFzY2lpX2xlbmd0aCBpcyBhIGJhY2tzbGFzaAotICAgICAgICAgICBmb2xsb3dlZCBieSBhIG5ld2xpbmUuICovCi0gICAgICAgIGFzc2VydChpIDw9IGxlbik7Ci0KICAgICAgICAgLyogTm9uLWVzY2FwZSBjaGFyYWN0ZXJzIGFyZSBpbnRlcnByZXRlZCBhcyBVbmljb2RlIG9yZGluYWxzICovCiAgICAgICAgIGlmICgqcyAhPSAnXFwnKSB7Ci0gICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmaSwgKHVuc2lnbmVkIGNoYXIpICpzKyspIDwgMCkKKyAgICAgICAgICAgIHggPSAodW5zaWduZWQgY2hhcikqczsKKyAgICAgICAgICAgIHMrKzsKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCB4KSA8IDApCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTU1NzQsMTggKzU0NjgsMTQgQEAKICAgICAgICAgaWYgKHMgPiBlbmQpCiAgICAgICAgICAgICBjID0gJ1wwJzsgLyogSW52YWxpZCBhZnRlciBcICovCiAKLSAgICAgICAgLyogVGhlIG9ubHkgY2FzZSBpbiB3aGljaCBpID09IGFzY2lpX2xlbmd0aCBpcyBhIGJhY2tzbGFzaAotICAgICAgICAgICBmb2xsb3dlZCBieSBhIG5ld2xpbmUuICovCi0gICAgICAgIGFzc2VydChpIDwgbGVuIHx8IChpID09IGxlbiAmJiBjID09ICdcbicpKTsKLQogICAgICAgICBzd2l0Y2ggKGMpIHsKIAogICAgICAgICAgICAgLyogXHggZXNjYXBlcyAqLwotI2RlZmluZSBXUklURUNIQVIoY2gpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmaSwgY2gpIDwgMCkgICAgXAotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICB9d2hpbGUoMCkKKyNkZWZpbmUgV1JJVEVDSEFSKGNoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUoJndyaXRlciwgKGNoKSkgPCAwKSAgICBcCisgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB9IHdoaWxlKDApCiAKICAgICAgICAgY2FzZSAnXG4nOiBicmVhazsKICAgICAgICAgY2FzZSAnXFwnOiBXUklURUNIQVIoJ1xcJyk7IGJyZWFrOwpAQCAtNTcwOSwzNSArNTU5OSwzMiBAQAogCiAgICAgICBlcnJvcjoKICAgICAgICAgZW5kaW5wb3MgPSBzLXN0YXJ0czsKLSAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAogICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAidW5pY29kZWVzY2FwZSIsIG1lc3NhZ2UsCiAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgJnYsICZpKSkKKyAgICAgICAgICAgICAgICAmd3JpdGVyKSkKICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodik7CiAgICAgICAgIGNvbnRpbnVlOwogICAgIH0KICN1bmRlZiBXUklURUNIQVIKIAotICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdiwgaSkgPCAwKQotICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKLSAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodik7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZ3cml0ZXIpOwogCiAgIHVjbmhhc2hFcnJvcjoKICAgICBQeUVycl9TZXRTdHJpbmcoCiAgICAgICAgIFB5RXhjX1VuaWNvZGVFcnJvciwKICAgICAgICAgIlxcTiBlc2NhcGVzIG5vdCBzdXBwb3J0ZWQgKGNhbid0IGxvYWQgdW5pY29kZWRhdGEgbW9kdWxlKSIKICAgICAgICAgKTsKLSAgICBQeV9YREVDUkVGKHYpOworICAgIF9QeVVuaWNvZGVXcml0ZXJfRGVhbGxvYygmd3JpdGVyKTsKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CiAgICAgUHlfWERFQ1JFRihleGMpOwogICAgIHJldHVybiBOVUxMOwogCiAgIG9uRXJyb3I6Ci0gICAgUHlfWERFQ1JFRih2KTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTU4OTAsMjMgKzU3NzcsMjIgQEAKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwotICAgIFB5X3NzaXplX3Qgb3V0cG9zOwotICAgIFB5T2JqZWN0ICp2OworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogICAgIGNvbnN0IGNoYXIgKmVuZDsKICAgICBjb25zdCBjaGFyICpiczsKICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKIAorICAgIGlmIChzaXplID09IDApCisgICAgICAgIF9QeV9SRVRVUk5fVU5JQ09ERV9FTVBUWSgpOworCiAgICAgLyogRXNjYXBlZCBzdHJpbmdzIHdpbGwgYWx3YXlzIGJlIGxvbmdlciB0aGFuIHRoZSByZXN1bHRpbmcKICAgICAgICBVbmljb2RlIHN0cmluZywgc28gd2Ugc3RhcnQgd2l0aCBzaXplIGhlcmUgYW5kIHRoZW4gcmVkdWNlIHRoZQogICAgICAgIGxlbmd0aCBhZnRlciBjb252ZXJzaW9uIHRvIHRoZSB0cnVlIHZhbHVlLiAoQnV0IGRlY29kaW5nIGVycm9yCiAgICAgICAgaGFuZGxlciBtaWdodCBoYXZlIHRvIHJlc2l6ZSB0aGUgc3RyaW5nKSAqLwotICAgIHYgPSBQeVVuaWNvZGVfTmV3KHNpemUsIDEyNyk7Ci0gICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgZ290byBvbkVycm9yOwotICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiB2OwotICAgIG91dHBvcyA9IDA7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOworICAgIHdyaXRlci5taW5fbGVuZ3RoID0gc2l6ZTsKKwogICAgIGVuZCA9IHMgKyBzaXplOwogICAgIHdoaWxlIChzIDwgZW5kKSB7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKQEAgLTU5MTYsNyArNTgwMiw4IEBACiAKICAgICAgICAgLyogTm9uLWVzY2FwZSBjaGFyYWN0ZXJzIGFyZSBpbnRlcnByZXRlZCBhcyBVbmljb2RlIG9yZGluYWxzICovCiAgICAgICAgIGlmICgqcyAhPSAnXFwnKSB7Ci0gICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCAodW5zaWduZWQgY2hhcikqcysrKSA8IDApCisgICAgICAgICAgICB4ID0gKHVuc2lnbmVkIGNoYXIpKnMrKzsKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCB4KSA8IDApCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTU5MjgsNyArNTgxNSw4IEBACiAgICAgICAgIGZvciAoO3MgPCBlbmQ7KSB7CiAgICAgICAgICAgICBpZiAoKnMgIT0gJ1xcJykKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnYsICZvdXRwb3MsICh1bnNpZ25lZCBjaGFyKSpzKyspIDwgMCkKKyAgICAgICAgICAgIHggPSAodW5zaWduZWQgY2hhcikqcysrOworICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKCZ3cml0ZXIsIHgpIDwgMCkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCgocyAtIGJzKSAmIDEpID09IDAgfHwKQEAgLTU5MzYsNyArNTgyNCw3IEBACiAgICAgICAgICAgICAoKnMgIT0gJ3UnICYmICpzICE9ICdVJykpIHsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIG91dHBvcy0tOworICAgICAgICB3cml0ZXIucG9zLS07CiAgICAgICAgIGNvdW50ID0gKnM9PSd1JyA/IDQgOiA4OwogICAgICAgICBzKys7CiAKQEAgLTU5NDUsMTEgKzU4MzMsMTEgQEAKICAgICAgICAgICAgIGMgPSAodW5zaWduZWQgY2hhcikqczsKICAgICAgICAgICAgIGlmICghUHlfSVNYRElHSVQoYykpIHsKICAgICAgICAgICAgICAgICBlbmRpbnBvcyA9IHMtc3RhcnRzOwotICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKKyAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAogICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgInJhd3VuaWNvZGVlc2NhcGUiLCAidHJ1bmNhdGVkIFxcdVhYWFgiLAogICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcykpCisgICAgICAgICAgICAgICAgICAgICAgICAmd3JpdGVyKSkKICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgIGdvdG8gbmV4dEJ5dGU7CiAgICAgICAgICAgICB9CkBAIC01OTYyLDI4ICs1ODUwLDI3IEBACiAgICAgICAgICAgICAgICAgeCArPSAxMCArIGMgLSAnQSc7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHggPD0gTUFYX1VOSUNPREUpIHsKLSAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnYsICZvdXRwb3MsIHgpIDwgMCkKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSgmd3JpdGVyLCB4KSA8IDApCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICB9IGVsc2UgeworICAgICAgICB9CisgICAgICAgIGVsc2UgewogICAgICAgICAgICAgZW5kaW5wb3MgPSBzLXN0YXJ0czsKLSAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKKyAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcl93cml0ZXIoCiAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgInJhd3VuaWNvZGVlc2NhcGUiLCAiXFxVeHh4eHh4eHggb3V0IG9mIHJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zKSkKKyAgICAgICAgICAgICAgICAgICAgJndyaXRlcikpCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICB9CiAgICAgICBuZXh0Qnl0ZToKICAgICAgICAgOwogICAgIH0KLSAgICBpZiAodW5pY29kZV9yZXNpemUoJnYsIG91dHBvcykgPCAwKQotICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKLSAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodik7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZ3cml0ZXIpOwogCiAgIG9uRXJyb3I6Ci0gICAgUHlfWERFQ1JFRih2KTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTYwODMsOCArNTk3MCw3IEBACiAgICAgY29uc3QgY2hhciAqc3RhcnRzID0gczsKICAgICBQeV9zc2l6ZV90IHN0YXJ0aW5wb3M7CiAgICAgUHlfc3NpemVfdCBlbmRpbnBvczsKLSAgICBQeV9zc2l6ZV90IG91dHBvczsKLSAgICBQeU9iamVjdCAqdjsKKyAgICBfUHlVbmljb2RlV3JpdGVyIHdyaXRlcjsKICAgICBjb25zdCBjaGFyICplbmQ7CiAgICAgY29uc3QgY2hhciAqcmVhc29uOwogICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwpAQCAtNjA5NSwxNSArNTk4MSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgMSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgLyogWFhYIG92ZXJmbG93IGRldGVjdGlvbiBtaXNzaW5nICovCi0gICAgdiA9IFB5VW5pY29kZV9OZXcoKHNpemUrUHlfVU5JQ09ERV9TSVpFLTEpLyBQeV9VTklDT0RFX1NJWkUsIDEyNyk7Ci0gICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgZ290byBvbkVycm9yOwotICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSCh2KSA9PSAwKQotICAgICAgICByZXR1cm4gdjsKLSAgICBvdXRwb3MgPSAwOwotICAgIGVuZCA9IHMgKyBzaXplOworICAgIGlmIChzaXplID09IDApCisgICAgICAgIF9QeV9SRVRVUk5fVU5JQ09ERV9FTVBUWSgpOwogCisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIpOworICAgIGlmIChzaXplIC8gUHlfVU5JQ09ERV9TSVpFID4gUFlfU1NJWkVfVF9NQVggLSAxKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICB9CisgICAgd3JpdGVyLm1pbl9sZW5ndGggPSAoc2l6ZSArIChQeV9VTklDT0RFX1NJWkUgLSAxKSkgLyBQeV9VTklDT0RFX1NJWkU7CisKKyAgICBlbmQgPSBzICsgc2l6ZTsKICAgICB3aGlsZSAocyA8IGVuZCkgewogICAgICAgICBQeV9VTklDT0RFIHVjaDsKICAgICAgICAgUHlfVUNTNCBjaDsKQEAgLTYxNDUsMjggKzYwMzMsMjYgQEAKICAgICAgICAgfQogI2VuZGlmCiAKLSAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdiwgJm91dHBvcywgY2gpIDwgMCkKKyAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVDaGFySW5saW5lKCZ3cml0ZXIsIGNoKSA8IDApCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgIGNvbnRpbnVlOwogCiAgIGVycm9yOgogICAgICAgICBzdGFydGlucG9zID0gcyAtIHN0YXJ0czsKLSAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAogICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAidW5pY29kZV9pbnRlcm5hbCIsIHJlYXNvbiwKICAgICAgICAgICAgICAgICAmc3RhcnRzLCAmZW5kLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAmdiwgJm91dHBvcykpCisgICAgICAgICAgICAgICAgJndyaXRlcikpCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogCi0gICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ2LCBvdXRwb3MpIDwgMCkKLSAgICAgICAgZ290byBvbkVycm9yOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHYpOworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKIAogICBvbkVycm9yOgotICAgIFB5X1hERUNSRUYodik7CisgICAgX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKCZ3cml0ZXIpOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7CiAgICAgcmV0dXJuIE5VTEw7CkBAIC02NTMwLDcgKzY0MTYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwotICAgIFB5T2JqZWN0ICp1bmljb2RlOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogICAgIGludCBraW5kOwogICAgIHZvaWQgKmRhdGE7CiAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zOwpAQCAtNjU0Nyw0NiArNjQzMyw0NiBAQAogICAgIGlmIChzaXplID09IDEgJiYgKHVuc2lnbmVkIGNoYXIpc1swXSA8IDEyOCkKICAgICAgICAgcmV0dXJuIGdldF9sYXRpbjFfY2hhcigodW5zaWduZWQgY2hhcilzWzBdKTsKIAotICAgIHVuaWNvZGUgPSBQeVVuaWNvZGVfTmV3KHNpemUsIDEyNyk7Ci0gICAgaWYgKHVuaWNvZGUgPT0gTlVMTCkKLSAgICAgICAgZ290byBvbkVycm9yOworICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyKTsKKyAgICB3cml0ZXIubWluX2xlbmd0aCA9IHNpemU7CisgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCB3cml0ZXIubWluX2xlbmd0aCwgMTI3KSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgZSA9IHMgKyBzaXplOwotICAgIGRhdGEgPSBQeVVuaWNvZGVfMUJZVEVfREFUQSh1bmljb2RlKTsKKyAgICBkYXRhID0gd3JpdGVyLmRhdGE7CiAgICAgb3V0cG9zID0gYXNjaWlfZGVjb2RlKHMsIGUsIChQeV9VQ1MxICopZGF0YSk7Ci0gICAgaWYgKG91dHBvcyA9PSBzaXplKQotICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICB3cml0ZXIucG9zID0gb3V0cG9zOworICAgIGlmICh3cml0ZXIucG9zID09IHNpemUpCisgICAgICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKIAotICAgIHMgKz0gb3V0cG9zOwotICAgIGtpbmQgPSBQeVVuaWNvZGVfMUJZVEVfS0lORDsKKyAgICBzICs9IHdyaXRlci5wb3M7CisgICAga2luZCA9IHdyaXRlci5raW5kOwogICAgIHdoaWxlIChzIDwgZSkgewogICAgICAgICByZWdpc3RlciB1bnNpZ25lZCBjaGFyIGMgPSAodW5zaWduZWQgY2hhcikqczsKICAgICAgICAgaWYgKGMgPCAxMjgpIHsKLSAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBvdXRwb3MrKywgYyk7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgd3JpdGVyLnBvcywgYyk7CisgICAgICAgICAgICB3cml0ZXIucG9zKys7CiAgICAgICAgICAgICArK3M7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBzdGFydGlucG9zID0gcy1zdGFydHM7CiAgICAgICAgICAgICBlbmRpbnBvcyA9IHN0YXJ0aW5wb3MgKyAxOwotICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyX3dyaXRlcigKICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAiYXNjaWkiLCAib3JkaW5hbCBub3QgaW4gcmFuZ2UoMTI4KSIsCiAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MpKQorICAgICAgICAgICAgICAgICAgICAmd3JpdGVyKSkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7Ci0gICAgICAgICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pY29kZSk7CisgICAgICAgICAgICBraW5kID0gd3JpdGVyLmtpbmQ7CisgICAgICAgICAgICBkYXRhID0gd3JpdGVyLmRhdGE7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ1bmljb2RlLCBvdXRwb3MpIDwgMCkKLSAgICAgICAgZ290byBvbkVycm9yOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAxKSk7Ci0gICAgcmV0dXJuIHVuaWNvZGU7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZ3cml0ZXIpOwogCiAgIG9uRXJyb3I6Ci0gICAgUHlfWERFQ1JFRih1bmljb2RlKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTY2MTgsNyArNjUwNCw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIC8qIEZhc3QgcGF0aDogaWYgaXQgaXMgYW4gQVNDSUktb25seSBzdHJpbmcsIGNvbnN0cnVjdCBieXRlcyBvYmplY3QKICAgICAgICBkaXJlY3RseS4gRWxzZSBkZWZlciB0byBhYm92ZSBmdW5jdGlvbiB0byByYWlzZSB0aGUgZXhjZXB0aW9uLiAqLwotICAgIGlmIChQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUodW5pY29kZSkgPCAxMjgpCisgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSSh1bmljb2RlKSkKICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoUHlVbmljb2RlX0RBVEEodW5pY29kZSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpKTsKICAgICByZXR1cm4gdW5pY29kZV9lbmNvZGVfdWNzMSh1bmljb2RlLCBlcnJvcnMsIDEyOCk7CkBAIC02Njk2LDggKzY1ODIsOCBAQAogICogRGVjb2RlIGEgYnl0ZSBzdHJpbmcgZnJvbSBhIFdpbmRvd3MgY29kZSBwYWdlIGludG8gdW5pY29kZSBvYmplY3QgaW4gc3RyaWN0CiAgKiBtb2RlLgogICoKLSAqIFJldHVybnMgY29uc3VtZWQgc2l6ZSBpZiBzdWNjZWVkLCByZXR1cm5zIC0yIG9uIGRlY29kZSBlcnJvciwgb3IgcmFpc2UgYQotICogV2luZG93c0Vycm9yIGFuZCByZXR1cm5zIC0xIG9uIG90aGVyIGVycm9yLgorICogUmV0dXJucyBjb25zdW1lZCBzaXplIGlmIHN1Y2NlZWQsIHJldHVybnMgLTIgb24gZGVjb2RlIGVycm9yLCBvciByYWlzZSBhbgorICogT1NFcnJvciBhbmQgcmV0dXJucyAtMSBvbiBvdGhlciBlcnJvci4KICAqLwogc3RhdGljIGludAogZGVjb2RlX2NvZGVfcGFnZV9zdHJpY3QoVUlOVCBjb2RlX3BhZ2UsCkBAIC02NzQ4LDcgKzY2MzQsNyBAQAogICogRGVjb2RlIGEgYnl0ZSBzdHJpbmcgZnJvbSBhIGNvZGUgcGFnZSBpbnRvIHVuaWNvZGUgb2JqZWN0IHdpdGggYW4gZXJyb3IKICAqIGhhbmRsZXIuCiAgKgotICogUmV0dXJucyBjb25zdW1lZCBzaXplIGlmIHN1Y2NlZWQsIG9yIHJhaXNlIGEgV2luZG93c0Vycm9yIG9yCisgKiBSZXR1cm5zIGNvbnN1bWVkIHNpemUgaWYgc3VjY2VlZCwgb3IgcmFpc2UgYW4gT1NFcnJvciBvcgogICogVW5pY29kZURlY29kZUVycm9yIGV4Y2VwdGlvbiBhbmQgcmV0dXJucyAtMSBvbiBlcnJvci4KICAqLwogc3RhdGljIGludApAQCAtNjg0Nyw3ICs2NzMzLDcgQEAKICAgICAgICAgICAgIHN0YXJ0aW5wb3MgPSBpbiAtIHN0YXJ0aW47CiAgICAgICAgICAgICBlbmRpbnBvcyA9IHN0YXJ0aW5wb3MgKyAxOwogICAgICAgICAgICAgb3V0cG9zID0gb3V0IC0gUHlVbmljb2RlX0FTX1VOSUNPREUoKnYpOwotICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyX3djaGFyKAogICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nLCByZWFzb24sCiAgICAgICAgICAgICAgICAgICAgICZzdGFydGluLCAmZW5kaW4sICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZpbiwKQEAgLTcwMDMsNyArNjg4OSw3IEBACiAgKiBtb2RlLgogICoKICAqIFJldHVybnMgY29uc3VtZWQgY2hhcmFjdGVycyBpZiBzdWNjZWVkLCByZXR1cm5zIC0yIG9uIGVuY29kZSBlcnJvciwgb3IgcmFpc2UKLSAqIGEgV2luZG93c0Vycm9yIGFuZCByZXR1cm5zIC0xIG9uIG90aGVyIGVycm9yLgorICogYW4gT1NFcnJvciBhbmQgcmV0dXJucyAtMSBvbiBvdGhlciBlcnJvci4KICAqLwogc3RhdGljIGludAogZW5jb2RlX2NvZGVfcGFnZV9zdHJpY3QoVUlOVCBjb2RlX3BhZ2UsIFB5T2JqZWN0ICoqb3V0Ynl0ZXMsCkBAIC03MDk5LDcgKzY5ODUsNyBAQAogICogRW5jb2RlIGEgVW5pY29kZSBzdHJpbmcgdG8gYSBXaW5kb3dzIGNvZGUgcGFnZSBpbnRvIGEgYnl0ZSBzdHJpbmcgdXNpbmcgYQogICogZXJyb3IgaGFuZGxlci4KICAqCi0gKiBSZXR1cm5zIGNvbnN1bWVkIGNoYXJhY3RlcnMgaWYgc3VjY2VlZCwgb3IgcmFpc2UgYSBXaW5kb3dzRXJyb3IgYW5kIHJldHVybnMKKyAqIFJldHVybnMgY29uc3VtZWQgY2hhcmFjdGVycyBpZiBzdWNjZWVkLCBvciByYWlzZSBhbiBPU0Vycm9yIGFuZCByZXR1cm5zCiAgKiAtMSBvbiBvdGhlciBlcnJvci4KICAqLwogc3RhdGljIGludApAQCAtNzE4NSw5ICs3MDcxLDggQEAKICAgICAgICAgICAgIGNoYXJzaXplID0gMTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGNoIC09IDB4MTAwMDA7Ci0gICAgICAgICAgICBjaGFyc1swXSA9IDB4ZDgwMCArIChjaCA+PiAxMCk7Ci0gICAgICAgICAgICBjaGFyc1sxXSA9IDB4ZGMwMCArIChjaCAmIDB4M2ZmKTsKKyAgICAgICAgICAgIGNoYXJzWzBdID0gUHlfVU5JQ09ERV9ISUdIX1NVUlJPR0FURShjaCk7CisgICAgICAgICAgICBjaGFyc1sxXSA9IFB5X1VOSUNPREVfTE9XX1NVUlJPR0FURShjaCk7CiAgICAgICAgICAgICBjaGFyc2l6ZSA9IDI7CiAgICAgICAgIH0KIApAQCAtNzM4MCwyMjAgKzcyNjUsMjU4IEBACiAKIC8qIC0tLSBDaGFyYWN0ZXIgTWFwcGluZyBDb2RlYyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCitzdGF0aWMgaW50CitjaGFybWFwX2RlY29kZV9zdHJpbmcoY29uc3QgY2hhciAqcywKKyAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm1hcHBpbmcsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlcikKK3sKKyAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOworICAgIGNvbnN0IGNoYXIgKmU7CisgICAgUHlfc3NpemVfdCBzdGFydGlucG9zLCBlbmRpbnBvczsKKyAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTCwgKmV4YyA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBtYXBsZW47CisgICAgZW51bSBQeVVuaWNvZGVfS2luZCBtYXBraW5kOworICAgIHZvaWQgKm1hcGRhdGE7CisgICAgUHlfVUNTNCB4OworICAgIHVuc2lnbmVkIGNoYXIgY2g7CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKG1hcHBpbmcpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBtYXBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChtYXBwaW5nKTsKKyAgICBtYXBkYXRhID0gUHlVbmljb2RlX0RBVEEobWFwcGluZyk7CisgICAgbWFwa2luZCA9IFB5VW5pY29kZV9LSU5EKG1hcHBpbmcpOworCisgICAgZSA9IHMgKyBzaXplOworCisgICAgaWYgKG1hcGtpbmQgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQgJiYgbWFwbGVuID49IDI1NikgeworICAgICAgICAvKiBmYXN0LXBhdGggZm9yIGNwMDM3LCBjcDUwMCBhbmQgaXNvODg1OV8xIGVuY29kaW5ncy4gaXNvODg1OV8xCisgICAgICAgICAqIGlzIGRpc2FibGVkIGluIGVuY29kaW5nIGFsaWFzZXMsIGxhdGluMSBpcyBwcmVmZXJyZWQgYmVjYXVzZQorICAgICAgICAgKiBpdHMgaW1wbGVtZW50YXRpb24gaXMgZmFzdGVyLiAqLworICAgICAgICBQeV9VQ1MxICptYXBkYXRhX3VjczEgPSAoUHlfVUNTMSAqKW1hcGRhdGE7CisgICAgICAgIFB5X1VDUzEgKm91dGRhdGEgPSAoUHlfVUNTMSAqKXdyaXRlci0+ZGF0YTsKKyAgICAgICAgUHlfVUNTNCBtYXhjaGFyID0gd3JpdGVyLT5tYXhjaGFyOworCisgICAgICAgIGFzc2VydCAod3JpdGVyLT5raW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKTsKKyAgICAgICAgd2hpbGUgKHMgPCBlKSB7CisgICAgICAgICAgICBjaCA9ICpzOworICAgICAgICAgICAgeCA9IG1hcGRhdGFfdWNzMVtjaF07CisgICAgICAgICAgICBpZiAoeCA+IG1heGNoYXIpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9QcmVwYXJlKHdyaXRlciwgMSwgMHhmZikgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgICAgICBtYXhjaGFyID0gd3JpdGVyLT5tYXhjaGFyOworICAgICAgICAgICAgICAgIG91dGRhdGEgPSAoUHlfVUNTMSAqKXdyaXRlci0+ZGF0YTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG91dGRhdGFbd3JpdGVyLT5wb3NdID0geDsKKyAgICAgICAgICAgIHdyaXRlci0+cG9zKys7CisgICAgICAgICAgICArK3M7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgd2hpbGUgKHMgPCBlKSB7CisgICAgICAgIGlmIChtYXBraW5kID09IFB5VW5pY29kZV8yQllURV9LSU5EICYmIG1hcGxlbiA+PSAyNTYpIHsKKyAgICAgICAgICAgIGVudW0gUHlVbmljb2RlX0tpbmQgb3V0a2luZCA9IHdyaXRlci0+a2luZDsKKyAgICAgICAgICAgIFB5X1VDUzIgKm1hcGRhdGFfdWNzMiA9IChQeV9VQ1MyICopbWFwZGF0YTsKKyAgICAgICAgICAgIGlmIChvdXRraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgICAgICAgICAgUHlfVUNTMSAqb3V0ZGF0YSA9IChQeV9VQ1MxICopd3JpdGVyLT5kYXRhOworICAgICAgICAgICAgICAgIFB5X1VDUzQgbWF4Y2hhciA9IHdyaXRlci0+bWF4Y2hhcjsKKyAgICAgICAgICAgICAgICB3aGlsZSAocyA8IGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY2ggPSAqczsKKyAgICAgICAgICAgICAgICAgICAgeCA9IG1hcGRhdGFfdWNzMltjaF07CisgICAgICAgICAgICAgICAgICAgIGlmICh4ID4gbWF4Y2hhcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gRXJyb3I7CisgICAgICAgICAgICAgICAgICAgIG91dGRhdGFbd3JpdGVyLT5wb3NdID0geDsKKyAgICAgICAgICAgICAgICAgICAgd3JpdGVyLT5wb3MrKzsKKyAgICAgICAgICAgICAgICAgICAgKytzOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKG91dGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpIHsKKyAgICAgICAgICAgICAgICBQeV9VQ1MyICpvdXRkYXRhID0gKFB5X1VDUzIgKil3cml0ZXItPmRhdGE7CisgICAgICAgICAgICAgICAgd2hpbGUgKHMgPCBlKSB7CisgICAgICAgICAgICAgICAgICAgIGNoID0gKnM7CisgICAgICAgICAgICAgICAgICAgIHggPSBtYXBkYXRhX3VjczJbY2hdOworICAgICAgICAgICAgICAgICAgICBpZiAoeCA9PSAweEZGRkUpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIEVycm9yOworICAgICAgICAgICAgICAgICAgICBvdXRkYXRhW3dyaXRlci0+cG9zXSA9IHg7CisgICAgICAgICAgICAgICAgICAgIHdyaXRlci0+cG9zKys7CisgICAgICAgICAgICAgICAgICAgICsrczsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY2ggPSAqczsKKworICAgICAgICBpZiAoY2ggPCBtYXBsZW4pCisgICAgICAgICAgICB4ID0gUHlVbmljb2RlX1JFQUQobWFwa2luZCwgbWFwZGF0YSwgY2gpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB4ID0gMHhmZmZlOyAvKiBpbnZhbGlkIHZhbHVlICovCitFcnJvcjoKKyAgICAgICAgaWYgKHggPT0gMHhmZmZlKQorICAgICAgICB7CisgICAgICAgICAgICAvKiB1bmRlZmluZWQgbWFwcGluZyAqLworICAgICAgICAgICAgc3RhcnRpbnBvcyA9IHMtc3RhcnRzOworICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zKzE7CisgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXJfd3JpdGVyKAorICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICJjaGFybWFwIiwgImNoYXJhY3RlciBtYXBzIHRvIDx1bmRlZmluZWQ+IiwKKyAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmUsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAorICAgICAgICAgICAgICAgICAgICB3cml0ZXIpKSB7CisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUod3JpdGVyLCB4KSA8IDApCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICsrczsKKyAgICB9CisgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOworICAgIFB5X1hERUNSRUYoZXhjKTsKKyAgICByZXR1cm4gMDsKKworb25FcnJvcjoKKyAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CisgICAgUHlfWERFQ1JFRihleGMpOworICAgIHJldHVybiAtMTsKK30KKworc3RhdGljIGludAorY2hhcm1hcF9kZWNvZGVfbWFwcGluZyhjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCisgICAgICAgICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlcikKK3sKKyAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOworICAgIGNvbnN0IGNoYXIgKmU7CisgICAgUHlfc3NpemVfdCBzdGFydGlucG9zLCBlbmRpbnBvczsKKyAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTCwgKmV4YyA9IE5VTEw7CisgICAgdW5zaWduZWQgY2hhciBjaDsKKyAgICBQeU9iamVjdCAqa2V5LCAqaXRlbTsKKworICAgIGUgPSBzICsgc2l6ZTsKKworICAgIHdoaWxlIChzIDwgZSkgeworICAgICAgICBjaCA9ICpzOworCisgICAgICAgIC8qIEdldCBtYXBwaW5nIChjaGFyIG9yZGluYWwgLT4gaW50ZWdlciwgVW5pY29kZSBjaGFyIG9yIE5vbmUpICovCisgICAgICAgIGtleSA9IFB5TG9uZ19Gcm9tTG9uZygobG9uZyljaCk7CisgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKworICAgICAgICBpdGVtID0gUHlPYmplY3RfR2V0SXRlbShtYXBwaW5nLCBrZXkpOworICAgICAgICBQeV9ERUNSRUYoa2V5KTsKKyAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfTG9va3VwRXJyb3IpKSB7CisgICAgICAgICAgICAgICAgLyogTm8gbWFwcGluZyBmb3VuZCBtZWFuczogbWFwcGluZyBpcyB1bmRlZmluZWQuICovCisgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgICAgICAgICBnb3RvIFVuZGVmaW5lZDsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIC8qIEFwcGx5IG1hcHBpbmcgKi8KKyAgICAgICAgaWYgKGl0ZW0gPT0gUHlfTm9uZSkKKyAgICAgICAgICAgIGdvdG8gVW5kZWZpbmVkOworICAgICAgICBpZiAoUHlMb25nX0NoZWNrKGl0ZW0pKSB7CisgICAgICAgICAgICBsb25nIHZhbHVlID0gUHlMb25nX0FTX0xPTkcoaXRlbSk7CisgICAgICAgICAgICBpZiAodmFsdWUgPT0gMHhGRkZFKQorICAgICAgICAgICAgICAgIGdvdG8gVW5kZWZpbmVkOworICAgICAgICAgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IE1BWF9VTklDT0RFKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBtYXBwaW5nIG11c3QgYmUgaW4gcmFuZ2UoMHglbHgpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpTUFYX1VOSUNPREUgKyAxKTsKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIHZhbHVlKSA8IDApCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhpdGVtKSkgeworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpdGVtKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoaXRlbSkgPT0gMSkgeworICAgICAgICAgICAgICAgIFB5X1VDUzQgdmFsdWUgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKGl0ZW0sIDApOworICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSAweEZGRkUpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gVW5kZWZpbmVkOworICAgICAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIHZhbHVlKSA8IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIHdyaXRlci0+b3ZlcmFsbG9jYXRlID0gMTsKKyAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cih3cml0ZXIsIGl0ZW0pID09IC0xKQorICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAvKiB3cm9uZyByZXR1cm4gdmFsdWUgKi8KKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBtYXBwaW5nIG11c3QgcmV0dXJuIGludGVnZXIsIE5vbmUgb3Igc3RyIik7CisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgUHlfQ0xFQVIoaXRlbSk7CisgICAgICAgICsrczsKKyAgICAgICAgY29udGludWU7CisKK1VuZGVmaW5lZDoKKyAgICAgICAgLyogdW5kZWZpbmVkIG1hcHBpbmcgKi8KKyAgICAgICAgUHlfQ0xFQVIoaXRlbSk7CisgICAgICAgIHN0YXJ0aW5wb3MgPSBzLXN0YXJ0czsKKyAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zKzE7CisgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcl93cml0ZXIoCisgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAorICAgICAgICAgICAgICAgICJjaGFybWFwIiwgImNoYXJhY3RlciBtYXBzIHRvIDx1bmRlZmluZWQ+IiwKKyAgICAgICAgICAgICAgICAmc3RhcnRzLCAmZSwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCisgICAgICAgICAgICAgICAgd3JpdGVyKSkgeworICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICB9CisgICAgfQorICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKKyAgICBQeV9YREVDUkVGKGV4Yyk7CisgICAgcmV0dXJuIDA7CisKK29uRXJyb3I6CisgICAgUHlfWERFQ1JFRihpdGVtKTsKKyAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CisgICAgUHlfWERFQ1JFRihleGMpOworICAgIHJldHVybiAtMTsKK30KKwogUHlPYmplY3QgKgogUHlVbmljb2RlX0RlY29kZUNoYXJtYXAoY29uc3QgY2hhciAqcywKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewotICAgIGNvbnN0IGNoYXIgKnN0YXJ0cyA9IHM7Ci0gICAgUHlfc3NpemVfdCBzdGFydGlucG9zOwotICAgIFB5X3NzaXplX3QgZW5kaW5wb3M7Ci0gICAgUHlfc3NpemVfdCBvdXRwb3M7Ci0gICAgY29uc3QgY2hhciAqZTsKLSAgICBQeU9iamVjdCAqdjsKLSAgICBQeV9zc2l6ZV90IGV4dHJhY2hhcnMgPSAwOwotICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOworICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwogCiAgICAgLyogRGVmYXVsdCB0byBMYXRpbi0xICovCiAgICAgaWYgKG1hcHBpbmcgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVMYXRpbjEocywgc2l6ZSwgZXJyb3JzKTsKIAotICAgIHYgPSBQeVVuaWNvZGVfTmV3KHNpemUsIDEyNyk7Ci0gICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgZ290byBvbkVycm9yOwogICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiB2OwotICAgIG91dHBvcyA9IDA7Ci0gICAgZSA9IHMgKyBzaXplOworICAgICAgICBfUHlfUkVUVVJOX1VOSUNPREVfRU1QVFkoKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0luaXQoJndyaXRlcik7CisgICAgd3JpdGVyLm1pbl9sZW5ndGggPSBzaXplOworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUoJndyaXRlciwgd3JpdGVyLm1pbl9sZW5ndGgsIDEyNykgPT0gLTEpCisgICAgICAgIGdvdG8gb25FcnJvcjsKKwogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdChtYXBwaW5nKSkgewotICAgICAgICBQeV9zc2l6ZV90IG1hcGxlbjsKLSAgICAgICAgZW51bSBQeVVuaWNvZGVfS2luZCBtYXBraW5kOwotICAgICAgICB2b2lkICptYXBkYXRhOwotICAgICAgICBQeV9VQ1M0IHg7Ci0KLSAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShtYXBwaW5nKSA9PSAtMSkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgICAgIG1hcGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG1hcHBpbmcpOwotICAgICAgICBtYXBkYXRhID0gUHlVbmljb2RlX0RBVEEobWFwcGluZyk7Ci0gICAgICAgIG1hcGtpbmQgPSBQeVVuaWNvZGVfS0lORChtYXBwaW5nKTsKLSAgICAgICAgd2hpbGUgKHMgPCBlKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBjaGFyIGNoOwotICAgICAgICAgICAgaWYgKG1hcGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQgJiYgbWFwbGVuID49IDI1NikgewotICAgICAgICAgICAgICAgIGVudW0gUHlVbmljb2RlX0tpbmQgb3V0a2luZCA9IFB5VW5pY29kZV9LSU5EKHYpOwotICAgICAgICAgICAgICAgIGlmIChvdXRraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZvaWQgKm91dGRhdGEgPSBQeVVuaWNvZGVfREFUQSh2KTsKLSAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCBtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHYpOwotICAgICAgICAgICAgICAgICAgICB3aGlsZSAocyA8IGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgY2ggPSAqczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHggPSBQeVVuaWNvZGVfUkVBRChQeVVuaWNvZGVfMkJZVEVfS0lORCwgbWFwZGF0YSwgY2gpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHggPiBtYXhjaGFyKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gRXJyb3I7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoUHlVbmljb2RlXzFCWVRFX0tJTkQsIG91dGRhdGEsIG91dHBvcysrLCB4KTsKLSAgICAgICAgICAgICAgICAgICAgICAgICsrczsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAob3V0a2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkgewotICAgICAgICAgICAgICAgICAgICB2b2lkICpvdXRkYXRhID0gUHlVbmljb2RlX0RBVEEodik7Ci0gICAgICAgICAgICAgICAgICAgIHdoaWxlIChzIDwgZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjaCA9ICpzOwotICAgICAgICAgICAgICAgICAgICAgICAgeCA9IFB5VW5pY29kZV9SRUFEKFB5VW5pY29kZV8yQllURV9LSU5ELCBtYXBkYXRhLCBjaCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoeCA9PSAweEZGRkUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBFcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfMkJZVEVfS0lORCwgb3V0ZGF0YSwgb3V0cG9zKyssIHgpOwotICAgICAgICAgICAgICAgICAgICAgICAgKytzOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNoID0gKnM7Ci0KLSAgICAgICAgICAgIGlmIChjaCA8IG1hcGxlbikKLSAgICAgICAgICAgICAgICB4ID0gUHlVbmljb2RlX1JFQUQobWFwa2luZCwgbWFwZGF0YSwgY2gpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHggPSAweGZmZmU7IC8qIGludmFsaWQgdmFsdWUgKi8KLUVycm9yOgotICAgICAgICAgICAgaWYgKHggPT0gMHhmZmZlKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIC8qIHVuZGVmaW5lZCBtYXBwaW5nICovCi0gICAgICAgICAgICAgICAgc3RhcnRpbnBvcyA9IHMtc3RhcnRzOwotICAgICAgICAgICAgICAgIGVuZGlucG9zID0gc3RhcnRpbnBvcysxOwotICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKLSAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJjaGFybWFwIiwgImNoYXJhY3RlciBtYXBzIHRvIDx1bmRlZmluZWQ+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zKSkgewotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCB4KSA8IDApCi0gICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgKytzOwotICAgICAgICB9CisgICAgICAgIGlmIChjaGFybWFwX2RlY29kZV9zdHJpbmcocywgc2l6ZSwgbWFwcGluZywgZXJyb3JzLCAmd3JpdGVyKSA8IDApCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICB3aGlsZSAocyA8IGUpIHsKLSAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgY2ggPSAqczsKLSAgICAgICAgICAgIFB5T2JqZWN0ICp3LCAqeDsKLQotICAgICAgICAgICAgLyogR2V0IG1hcHBpbmcgKGNoYXIgb3JkaW5hbCAtPiBpbnRlZ2VyLCBVbmljb2RlIGNoYXIgb3IgTm9uZSkgKi8KLSAgICAgICAgICAgIHcgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpY2gpOwotICAgICAgICAgICAgaWYgKHcgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICB4ID0gUHlPYmplY3RfR2V0SXRlbShtYXBwaW5nLCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIGlmICh4ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19Mb29rdXBFcnJvcikpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogTm8gbWFwcGluZyBmb3VuZCBtZWFuczogbWFwcGluZyBpcyB1bmRlZmluZWQuICovCi0gICAgICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8gVW5kZWZpbmVkOwotICAgICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8qIEFwcGx5IG1hcHBpbmcgKi8KLSAgICAgICAgICAgIGlmICh4ID09IFB5X05vbmUpCi0gICAgICAgICAgICAgICAgZ290byBVbmRlZmluZWQ7Ci0gICAgICAgICAgICBpZiAoUHlMb25nX0NoZWNrKHgpKSB7Ci0gICAgICAgICAgICAgICAgbG9uZyB2YWx1ZSA9IFB5TG9uZ19BU19MT05HKHgpOwotICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSAweEZGRkUpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gVW5kZWZpbmVkOwotICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiBNQVhfVU5JQ09ERSkgewotICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBtYXBwaW5nIG11c3QgYmUgaW4gcmFuZ2UoMHglbHgpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nKU1BWF9VTklDT0RFICsgMSk7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih4KTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCB2YWx1ZSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih4KTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayh4KSkgewotICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgdGFyZ2V0c2l6ZTsKLQotICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoeCkgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHRhcmdldHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh4KTsKLQotICAgICAgICAgICAgICAgIGlmICh0YXJnZXRzaXplID09IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogMS0xIG1hcHBpbmcgKi8KLSAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCB2YWx1ZSA9IFB5VW5pY29kZV9SRUFEX0NIQVIoeCwgMCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSAweEZGRkUpCi0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIFVuZGVmaW5lZDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdiwgJm91dHBvcywgdmFsdWUpIDwgMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRhcmdldHNpemUgPiAxKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIDEtbiBtYXBwaW5nICovCi0gICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRzaXplID4gZXh0cmFjaGFycykgewotICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVzaXplIGZpcnN0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5lZWRlZCA9ICh0YXJnZXRzaXplIC0gZXh0cmFjaGFycykgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRhcmdldHNpemUgPDwgMik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBleHRyYWNoYXJzICs9IG5lZWRlZDsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIFhYWCBvdmVyZmxvdyBkZXRlY3Rpb24gbWlzc2luZyAqLwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHYpICsgbmVlZGVkKSA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBpZiAodW5pY29kZV93aWRlbigmdiwgb3V0cG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoeCkpIDwgMCkgewotICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Db3B5Q2hhcmFjdGVycyh2LCBvdXRwb3MsIHgsIDAsIHRhcmdldHNpemUpOwotICAgICAgICAgICAgICAgICAgICBvdXRwb3MgKz0gdGFyZ2V0c2l6ZTsKLSAgICAgICAgICAgICAgICAgICAgZXh0cmFjaGFycyAtPSB0YXJnZXRzaXplOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAvKiAxLTAgbWFwcGluZzogc2tpcCB0aGUgY2hhcmFjdGVyICovCi0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAvKiB3cm9uZyByZXR1cm4gdmFsdWUgKi8KLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIG1hcHBpbmcgbXVzdCByZXR1cm4gaW50ZWdlciwgTm9uZSBvciBzdHIiKTsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7Ci0gICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgKytzOwotICAgICAgICAgICAgY29udGludWU7Ci1VbmRlZmluZWQ6Ci0gICAgICAgICAgICAvKiB1bmRlZmluZWQgbWFwcGluZyAqLwotICAgICAgICAgICAgUHlfWERFQ1JFRih4KTsKLSAgICAgICAgICAgIHN0YXJ0aW5wb3MgPSBzLXN0YXJ0czsKLSAgICAgICAgICAgIGVuZGlucG9zID0gc3RhcnRpbnBvcysxOwotICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAotICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCi0gICAgICAgICAgICAgICAgICAgICJjaGFybWFwIiwgImNoYXJhY3RlciBtYXBzIHRvIDx1bmRlZmluZWQ+IiwKLSAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmUsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAotICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcykpIHsKLSAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGNoYXJtYXBfZGVjb2RlX21hcHBpbmcocywgc2l6ZSwgbWFwcGluZywgZXJyb3JzLCAmd3JpdGVyKSA8IDApCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQotICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdiwgb3V0cG9zKSA8IDApCi0gICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7Ci0gICAgUHlfWERFQ1JFRihleGMpOwotICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdCh2KTsKKyAgICByZXR1cm4gX1B5VW5pY29kZVdyaXRlcl9GaW5pc2goJndyaXRlcik7CiAKICAgb25FcnJvcjoKLSAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7Ci0gICAgUHlfWERFQ1JFRihleGMpOwotICAgIFB5X1hERUNSRUYodik7CisgICAgX1B5VW5pY29kZVdyaXRlcl9EZWFsbG9jKCZ3cml0ZXIpOwogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC04MTA3LDEwICs4MDMwLDE0IEBACiAgICAgICogLTE9bm90IGluaXRpYWxpemVkLCAwPXVua25vd24sIDE9c3RyaWN0LCAyPXJlcGxhY2UsCiAgICAgICogMz1pZ25vcmUsIDQ9eG1sY2hhcnJlZnJlcGxhY2UgKi8KICAgICBpbnQga25vd25fZXJyb3JIYW5kbGVyID0gLTE7CisgICAgdm9pZCAqZGF0YTsKKyAgICBpbnQga2luZDsKIAogICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pY29kZSk7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOwogCiAgICAgLyogRGVmYXVsdCB0byBMYXRpbi0xICovCiAgICAgaWYgKG1hcHBpbmcgPT0gTlVMTCkKQEAgLTgxMjUsNyArODA1Miw3IEBACiAgICAgICAgIHJldHVybiByZXM7CiAKICAgICB3aGlsZSAoaW5wb3M8c2l6ZSkgewotICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQURfQ0hBUih1bmljb2RlLCBpbnBvcyk7CisgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpbnBvcyk7CiAgICAgICAgIC8qIHRyeSB0byBlbmNvZGUgaXQgKi8KICAgICAgICAgY2hhcm1hcGVuY29kZV9yZXN1bHQgeCA9IGNoYXJtYXBlbmNvZGVfb3V0cHV0KGNoLCBtYXBwaW5nLCAmcmVzLCAmcmVzcG9zKTsKICAgICAgICAgaWYgKHg9PWVuY19FWENFUFRJT04pIC8qIGVycm9yICovCkBAIC04MjExLDE5ICs4MTM4LDYgQEAKICAgICB9CiB9CiAKLS8qIHJhaXNlcyBhIFVuaWNvZGVUcmFuc2xhdGVFcnJvciAqLwotc3RhdGljIHZvaWQKLXJhaXNlX3RyYW5zbGF0ZV9leGNlcHRpb24oUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp1bmljb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IGVuZHBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVhc29uKQotewotICAgIG1ha2VfdHJhbnNsYXRlX2V4Y2VwdGlvbihleGNlcHRpb25PYmplY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGUsIHN0YXJ0cG9zLCBlbmRwb3MsIHJlYXNvbik7Ci0gICAgaWYgKCpleGNlcHRpb25PYmplY3QgIT0gTlVMTCkKLSAgICAgICAgUHlDb2RlY19TdHJpY3RFcnJvcnMoKmV4Y2VwdGlvbk9iamVjdCk7Ci19Ci0KIC8qIGVycm9yIGhhbmRsaW5nIGNhbGxiYWNrIGhlbHBlcjoKICAgIGJ1aWxkIGFyZ3VtZW50cywgY2FsbCB0aGUgY2FsbGJhY2sgYW5kIGNoZWNrIHRoZSBhcmd1bWVudHMsCiAgICBwdXQgdGhlIHJlc3VsdCBpbnRvIG5ld3BvcyBhbmQgcmV0dXJuIHRoZSByZXBsYWNlbWVudCBzdHJpbmcsIHdoaWNoCkBAIC04NDk5LDggKzg0MTMsMTAgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN3aXRjaCAoa25vd25fZXJyb3JIYW5kbGVyKSB7CiAgICAgICAgICAgICBjYXNlIDE6IC8qIHN0cmljdCAqLwotICAgICAgICAgICAgICAgIHJhaXNlX3RyYW5zbGF0ZV9leGNlcHRpb24oJmV4YywgaW5wdXQsIGNvbGxzdGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxlbmQsIHJlYXNvbik7CisgICAgICAgICAgICAgICAgbWFrZV90cmFuc2xhdGVfZXhjZXB0aW9uKCZleGMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0LCBjb2xsc3RhcnQsIGNvbGxlbmQsIHJlYXNvbik7CisgICAgICAgICAgICAgICAgaWYgKGV4YyAhPSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBQeUNvZGVjX1N0cmljdEVycm9ycyhleGMpOwogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNhc2UgMjogLyogcmVwbGFjZSAqLwogICAgICAgICAgICAgICAgIC8qIE5vIG5lZWQgdG8gY2hlY2sgZm9yIHNwYWNlLCB0aGlzIGlzIGEgMToxIHJlcGxhY2VtZW50ICovCkBAIC05MDkyLDcgKzkwMDgsNyBAQAogCiAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSB8fAogICAgICAgICBQeVVuaWNvZGVfUkVBRFkoc3Vic3RyaW5nKSA9PSAtMSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAtMTsKIAogICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChzdWJzdHJpbmcpID09IDApCiAgICAgICAgIHJldHVybiAxOwpAQCAtOTEzMCw3ICs5MDQ2LDYgQEAKICAgICAgICAgICAgIC8qIFdlIGRvIG5vdCBuZWVkIHRvIGNvbXBhcmUgMCBhbmQgbGVuKHN1YnN0cmluZyktMSBiZWNhdXNlCiAgICAgICAgICAgICAgICB0aGUgaWYgc3RhdGVtZW50IGFib3ZlIGVuc3VyZWQgYWxyZWFkeSB0aGF0IHRoZXkgYXJlIGVxdWFsCiAgICAgICAgICAgICAgICB3aGVuIHdlIGVuZCB1cCBoZXJlLiAqLwotICAgICAgICAgICAgLyogVE9ETzogaG9ub3IgZGlyZWN0aW9uIGFuZCBkbyBhIGZvcndhcmQgb3IgYmFja3dhcmRzIHNlYXJjaCAqLwogICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8IGVuZF9zdWI7ICsraSkgewogICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChraW5kX3NlbGYsIGRhdGFfc2VsZiwgb2Zmc2V0ICsgaSkgIT0KICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZF9zdWIsIGRhdGFfc3ViLCBpKSkKQEAgLTk1OTIsNDEgKzk1MDcsNDkgQEAKICAgICAgICAgICAgIHNlcF9kYXRhID0gUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VwKTsKICAgICB9CiAjZW5kaWYKLSAgICBmb3IgKGkgPSAwLCByZXNfb2Zmc2V0ID0gMDsgaSA8IHNlcWxlbjsgKytpKSB7Ci0gICAgICAgIFB5X3NzaXplX3QgaXRlbWxlbjsKLSAgICAgICAgaXRlbSA9IGl0ZW1zW2ldOwotICAgICAgICAvKiBDb3B5IGl0ZW0sIGFuZCBtYXliZSB0aGUgc2VwYXJhdG9yLiAqLwotICAgICAgICBpZiAoaSAmJiBzZXBsZW4gIT0gMCkgewotICAgICAgICAgICAgaWYgKHVzZV9tZW1jcHkpIHsKKyAgICBpZiAodXNlX21lbWNweSkgeworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc2VxbGVuOyArK2kpIHsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgaXRlbWxlbjsKKyAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTsKKworICAgICAgICAgICAgLyogQ29weSBpdGVtLCBhbmQgbWF5YmUgdGhlIHNlcGFyYXRvci4gKi8KKyAgICAgICAgICAgIGlmIChpICYmIHNlcGxlbiAhPSAwKSB7CiAgICAgICAgICAgICAgICAgUHlfTUVNQ1BZKHJlc19kYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZCAqIHNlcGxlbik7CiAgICAgICAgICAgICAgICAgcmVzX2RhdGEgKz0ga2luZCAqIHNlcGxlbjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKHJlcywgcmVzX29mZnNldCwgc2VwLCAwLCBzZXBsZW4pOwotICAgICAgICAgICAgICAgIHJlc19vZmZzZXQgKz0gc2VwbGVuOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGl0ZW1sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpdGVtKTsKLSAgICAgICAgaWYgKGl0ZW1sZW4gIT0gMCkgewotICAgICAgICAgICAgaWYgKHVzZV9tZW1jcHkpIHsKKworICAgICAgICAgICAgaXRlbWxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGl0ZW0pOworICAgICAgICAgICAgaWYgKGl0ZW1sZW4gIT0gMCkgewogICAgICAgICAgICAgICAgIFB5X01FTUNQWShyZXNfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0RBVEEoaXRlbSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQgKiBpdGVtbGVuKTsKICAgICAgICAgICAgICAgICByZXNfZGF0YSArPSBraW5kICogaXRlbWxlbjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgeworICAgICAgICB9CisgICAgICAgIGFzc2VydChyZXNfZGF0YSA9PSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICArIGtpbmQgKiBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXMpKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGZvciAoaSA9IDAsIHJlc19vZmZzZXQgPSAwOyBpIDwgc2VxbGVuOyArK2kpIHsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgaXRlbWxlbjsKKyAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTsKKworICAgICAgICAgICAgLyogQ29weSBpdGVtLCBhbmQgbWF5YmUgdGhlIHNlcGFyYXRvci4gKi8KKyAgICAgICAgICAgIGlmIChpICYmIHNlcGxlbiAhPSAwKSB7CisgICAgICAgICAgICAgICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnMocmVzLCByZXNfb2Zmc2V0LCBzZXAsIDAsIHNlcGxlbik7CisgICAgICAgICAgICAgICAgcmVzX29mZnNldCArPSBzZXBsZW47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGl0ZW1sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpdGVtKTsKKyAgICAgICAgICAgIGlmIChpdGVtbGVuICE9IDApIHsKICAgICAgICAgICAgICAgICBfUHlVbmljb2RlX0Zhc3RDb3B5Q2hhcmFjdGVycyhyZXMsIHJlc19vZmZzZXQsIGl0ZW0sIDAsIGl0ZW1sZW4pOwogICAgICAgICAgICAgICAgIHJlc19vZmZzZXQgKz0gaXRlbWxlbjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KLSAgICBpZiAodXNlX21lbWNweSkKLSAgICAgICAgYXNzZXJ0KHJlc19kYXRhID09IFB5VW5pY29kZV8xQllURV9EQVRBKHJlcykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICsga2luZCAqIFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlcykpOwotICAgIGVsc2UKICAgICAgICAgYXNzZXJ0KHJlc19vZmZzZXQgPT0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVzKSk7CisgICAgfQogCiAgICAgUHlfREVDUkVGKGZzZXEpOwogICAgIFB5X1hERUNSRUYoc2VwKTsKQEAgLTEwMDE4LDYgKzk5NDEsMzEgQEAKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQKK3JlcGxhY2VfMWNoYXJfaW5wbGFjZShQeU9iamVjdCAqdSwgUHlfc3NpemVfdCBwb3MsCisgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCB1MSwgUHlfVUNTNCB1MiwgUHlfc3NpemVfdCBtYXhjb3VudCkKK3sKKyAgICBpbnQga2luZCA9IFB5VW5pY29kZV9LSU5EKHUpOworICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQSh1KTsKKyAgICBQeV9zc2l6ZV90IGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHUpOworICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgIHVjczFsaWJfcmVwbGFjZV8xY2hhcl9pbnBsYWNlKChQeV9VQ1MxICopZGF0YSArIHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5X1VDUzEgKilkYXRhICsgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MSwgdTIsIG1heGNvdW50KTsKKyAgICB9CisgICAgZWxzZSBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkgeworICAgICAgICB1Y3MybGliX3JlcGxhY2VfMWNoYXJfaW5wbGFjZSgoUHlfVUNTMiAqKWRhdGEgKyBwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeV9VQ1MyICopZGF0YSArIGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTEsIHUyLCBtYXhjb3VudCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBhc3NlcnQoa2luZCA9PSBQeVVuaWNvZGVfNEJZVEVfS0lORCk7CisgICAgICAgIHVjczRsaWJfcmVwbGFjZV8xY2hhcl9pbnBsYWNlKChQeV9VQ1M0ICopZGF0YSArIHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5X1VDUzQgKilkYXRhICsgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1MSwgdTIsIG1heGNvdW50KTsKKyAgICB9Cit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiByZXBsYWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc3RyMSwKICAgICAgICAgUHlPYmplY3QgKnN0cjIsIFB5X3NzaXplX3QgbWF4Y291bnQpCkBAIC0xMDAzNCw3ICs5OTgyLDcgQEAKICAgICBQeV9zc2l6ZV90IGxlbjEgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIxKTsKICAgICBQeV9zc2l6ZV90IGxlbjIgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIyKTsKICAgICBpbnQgbWF5c2hyaW5rOwotICAgIFB5X1VDUzQgbWF4Y2hhciwgbWF4Y2hhcl9zdHIyOworICAgIFB5X1VDUzQgbWF4Y2hhciwgbWF4Y2hhcl9zdHIxLCBtYXhjaGFyX3N0cjI7CiAKICAgICBpZiAobWF4Y291bnQgPCAwKQogICAgICAgICBtYXhjb3VudCA9IFBZX1NTSVpFX1RfTUFYOwpAQCAtMTAwNDMsMTUgKzk5OTEsMTYgQEAKIAogICAgIGlmIChzdHIxID09IHN0cjIpCiAgICAgICAgIGdvdG8gbm90aGluZzsKLSAgICBpZiAoc2tpbmQgPCBraW5kMSkKLSAgICAgICAgLyogc3Vic3RyaW5nIHRvbyB3aWRlIHRvIGJlIHByZXNlbnQgKi8KLSAgICAgICAgZ290byBub3RoaW5nOwogCiAgICAgbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzZWxmKTsKKyAgICBtYXhjaGFyX3N0cjEgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoc3RyMSk7CisgICAgaWYgKG1heGNoYXIgPCBtYXhjaGFyX3N0cjEpCisgICAgICAgIC8qIHN1YnN0cmluZyB0b28gd2lkZSB0byBiZSBwcmVzZW50ICovCisgICAgICAgIGdvdG8gbm90aGluZzsKICAgICBtYXhjaGFyX3N0cjIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoc3RyMik7CiAgICAgLyogUmVwbGFjaW5nIHN0cjEgd2l0aCBzdHIyIG1heSBjYXVzZSBhIG1heGNoYXIgcmVkdWN0aW9uIGluIHRoZQogICAgICAgIHJlc3VsdCBzdHJpbmcuICovCi0gICAgbWF5c2hyaW5rID0gKG1heGNoYXJfc3RyMiA8IG1heGNoYXIpOworICAgIG1heXNocmluayA9IChtYXhjaGFyX3N0cjIgPCBtYXhjaGFyX3N0cjEpICYmIChtYXhjaGFyID09IG1heGNoYXJfc3RyMSk7CiAgICAgbWF4Y2hhciA9IE1BWF9NQVhDSEFSKG1heGNoYXIsIG1heGNoYXJfc3RyMik7CiAKICAgICBpZiAobGVuMSA9PSBsZW4yKSB7CkBAIC0xMDA2MSwzNSArMTAwMTAsMTkgQEAKICAgICAgICAgaWYgKGxlbjEgPT0gMSkgewogICAgICAgICAgICAgLyogcmVwbGFjZSBjaGFyYWN0ZXJzICovCiAgICAgICAgICAgICBQeV9VQ1M0IHUxLCB1MjsKLSAgICAgICAgICAgIGludCBya2luZDsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgaW5kZXgsIHBvczsKLSAgICAgICAgICAgIGNoYXIgKnNyYzsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgcG9zOwogCi0gICAgICAgICAgICB1MSA9IFB5VW5pY29kZV9SRUFEX0NIQVIoc3RyMSwgMCk7Ci0gICAgICAgICAgICBwb3MgPSBmaW5kY2hhcihzYnVmLCBQeVVuaWNvZGVfS0lORChzZWxmKSwgc2xlbiwgdTEsIDEpOworICAgICAgICAgICAgdTEgPSBQeVVuaWNvZGVfUkVBRChraW5kMSwgYnVmMSwgMCk7CisgICAgICAgICAgICBwb3MgPSBmaW5kY2hhcihzYnVmLCBza2luZCwgc2xlbiwgdTEsIDEpOwogICAgICAgICAgICAgaWYgKHBvcyA8IDApCiAgICAgICAgICAgICAgICAgZ290byBub3RoaW5nOwotICAgICAgICAgICAgdTIgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHN0cjIsIDApOworICAgICAgICAgICAgdTIgPSBQeVVuaWNvZGVfUkVBRChraW5kMiwgYnVmMiwgMCk7CiAgICAgICAgICAgICB1ID0gUHlVbmljb2RlX05ldyhzbGVuLCBtYXhjaGFyKTsKICAgICAgICAgICAgIGlmICghdSkKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnModSwgMCwgc2VsZiwgMCwgc2xlbik7Ci0gICAgICAgICAgICBya2luZCA9IFB5VW5pY29kZV9LSU5EKHUpOwogCi0gICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUocmtpbmQsIFB5VW5pY29kZV9EQVRBKHUpLCBwb3MsIHUyKTsKLSAgICAgICAgICAgIGluZGV4ID0gMDsKLSAgICAgICAgICAgIHNyYyA9IHNidWY7Ci0gICAgICAgICAgICB3aGlsZSAoLS1tYXhjb3VudCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwb3MrKzsKLSAgICAgICAgICAgICAgICBzcmMgKz0gcG9zICogUHlVbmljb2RlX0tJTkQoc2VsZik7Ci0gICAgICAgICAgICAgICAgc2xlbiAtPSBwb3M7Ci0gICAgICAgICAgICAgICAgaW5kZXggKz0gcG9zOwotICAgICAgICAgICAgICAgIHBvcyA9IGZpbmRjaGFyKHNyYywgUHlVbmljb2RlX0tJTkQoc2VsZiksIHNsZW4sIHUxLCAxKTsKLSAgICAgICAgICAgICAgICBpZiAocG9zIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHJraW5kLCBQeVVuaWNvZGVfREFUQSh1KSwgaW5kZXggKyBwb3MsIHUyKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKHUsIDAsIHNlbGYsIDAsIHNsZW4pOworICAgICAgICAgICAgcmVwbGFjZV8xY2hhcl9pbnBsYWNlKHUsIHBvcywgdTEsIHUyLCBtYXhjb3VudCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBpbnQgcmtpbmQgPSBza2luZDsKQEAgLTEwNDAxLDkgKzEwMzM0LDI4IEBACiBzdGF0aWMgaW50CiB1bmljb2RlX2NvbXBhcmUoUHlPYmplY3QgKnN0cjEsIFB5T2JqZWN0ICpzdHIyKQogeworI2RlZmluZSBDT01QQVJFKFRZUEUxLCBUWVBFMikgXAorICAgIGRvIHsgXAorICAgICAgICBUWVBFMSogcDEgPSAoVFlQRTEgKilkYXRhMTsgXAorICAgICAgICBUWVBFMiogcDIgPSAoVFlQRTIgKilkYXRhMjsgXAorICAgICAgICBUWVBFMSogZW5kID0gcDEgKyBsZW47IFwKKyAgICAgICAgUHlfVUNTNCBjMSwgYzI7IFwKKyAgICAgICAgZm9yICg7IHAxICE9IGVuZDsgcDErKywgcDIrKykgeyBcCisgICAgICAgICAgICBjMSA9ICpwMTsgXAorICAgICAgICAgICAgYzIgPSAqcDI7IFwKKyAgICAgICAgICAgIGlmIChjMSAhPSBjMikgXAorICAgICAgICAgICAgICAgIHJldHVybiAoYzEgPCBjMikgPyAtMSA6IDE7IFwKKyAgICAgICAgfSBcCisgICAgfSBcCisgICAgd2hpbGUgKDApCisKICAgICBpbnQga2luZDEsIGtpbmQyOwogICAgIHZvaWQgKmRhdGExLCAqZGF0YTI7Ci0gICAgUHlfc3NpemVfdCBsZW4xLCBsZW4yLCBpOworICAgIFB5X3NzaXplX3QgbGVuMSwgbGVuMiwgbGVuOworCisgICAgLyogYSBzdHJpbmcgaXMgZXF1YWwgdG8gaXRzZWxmICovCisgICAgaWYgKHN0cjEgPT0gc3RyMikKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBraW5kMSA9IFB5VW5pY29kZV9LSU5EKHN0cjEpOwogICAgIGtpbmQyID0gUHlVbmljb2RlX0tJTkQoc3RyMik7CkBAIC0xMDQxMSwxOSArMTAzNjMsMTIwIEBACiAgICAgZGF0YTIgPSBQeVVuaWNvZGVfREFUQShzdHIyKTsKICAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyMSk7CiAgICAgbGVuMiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cjIpOworICAgIGxlbiA9IFB5X01JTihsZW4xLCBsZW4yKTsKIAotICAgIGZvciAoaSA9IDA7IGkgPCBsZW4xICYmIGkgPCBsZW4yOyArK2kpIHsKLSAgICAgICAgUHlfVUNTNCBjMSwgYzI7Ci0gICAgICAgIGMxID0gUHlVbmljb2RlX1JFQUQoa2luZDEsIGRhdGExLCBpKTsKLSAgICAgICAgYzIgPSBQeVVuaWNvZGVfUkVBRChraW5kMiwgZGF0YTIsIGkpOwotCi0gICAgICAgIGlmIChjMSAhPSBjMikKLSAgICAgICAgICAgIHJldHVybiAoYzEgPCBjMikgPyAtMSA6IDE7CisgICAgc3dpdGNoKGtpbmQxKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICB7CisgICAgICAgIHN3aXRjaChraW5kMikgeworICAgICAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICB7CisgICAgICAgICAgICBpbnQgY21wID0gbWVtY21wKGRhdGExLCBkYXRhMiwgbGVuKTsKKyAgICAgICAgICAgIC8qIG5vcm1hbGl6ZSByZXN1bHQgb2YgbWVtY21wKCkgaW50byB0aGUgcmFuZ2UgWy0xOyAxXSAqLworICAgICAgICAgICAgaWYgKGNtcCA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgaWYgKGNtcCA+IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICAgICAgQ09NUEFSRShQeV9VQ1MxLCBQeV9VQ1MyKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICAgICAgQ09NUEFSRShQeV9VQ1MxLCBQeV9VQ1M0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYXNzZXJ0KDApOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgIHsKKyAgICAgICAgc3dpdGNoKGtpbmQyKSB7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgICAgICBDT01QQVJFKFB5X1VDUzIsIFB5X1VDUzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgIHsKKyAgICAgICAgICAgIENPTVBBUkUoUHlfVUNTMiwgUHlfVUNTMik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICAgICAgQ09NUEFSRShQeV9VQ1MyLCBQeV9VQ1M0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYXNzZXJ0KDApOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgIHsKKyAgICAgICAgc3dpdGNoKGtpbmQyKSB7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgICAgICBDT01QQVJFKFB5X1VDUzQsIFB5X1VDUzEpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgICAgICBDT01QQVJFKFB5X1VDUzQsIFB5X1VDUzIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIHsKKyNpZiBkZWZpbmVkKEhBVkVfV01FTUNNUCkgJiYgU0laRU9GX1dDSEFSX1QgPT0gNAorICAgICAgICAgICAgaW50IGNtcCA9IHdtZW1jbXAoKHdjaGFyX3QgKilkYXRhMSwgKHdjaGFyX3QgKilkYXRhMiwgbGVuKTsKKyAgICAgICAgICAgIC8qIG5vcm1hbGl6ZSByZXN1bHQgb2Ygd21lbWNtcCgpIGludG8gdGhlIHJhbmdlIFstMTsgMV0gKi8KKyAgICAgICAgICAgIGlmIChjbXAgPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGlmIChjbXAgPiAwKQorICAgICAgICAgICAgICAgIHJldHVybiAxOworI2Vsc2UKKyAgICAgICAgICAgIENPTVBBUkUoUHlfVUNTNCwgUHlfVUNTNCk7CisjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6CisgICAgICAgIGFzc2VydCgwKTsKICAgICB9CiAKLSAgICByZXR1cm4gKGxlbjEgPCBsZW4yKSA/IC0xIDogKGxlbjEgIT0gbGVuMik7CisgICAgaWYgKGxlbjEgPT0gbGVuMikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKGxlbjEgPCBsZW4yKQorICAgICAgICByZXR1cm4gLTE7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gMTsKKworI3VuZGVmIENPTVBBUkUKIH0KIAorc3RhdGljIGludAordW5pY29kZV9jb21wYXJlX2VxKFB5T2JqZWN0ICpzdHIxLCBQeU9iamVjdCAqc3RyMikKK3sKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhMSwgKmRhdGEyOworICAgIFB5X3NzaXplX3QgbGVuOworICAgIGludCBjbXA7CisKKyAgICAvKiBhIHN0cmluZyBpcyBlcXVhbCB0byBpdHNlbGYgKi8KKyAgICBpZiAoc3RyMSA9PSBzdHIyKQorICAgICAgICByZXR1cm4gMTsKKworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cjEpOworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIyKSAhPSBsZW4pCisgICAgICAgIHJldHVybiAwOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzdHIxKTsKKyAgICBpZiAoUHlVbmljb2RlX0tJTkQoc3RyMikgIT0ga2luZCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgZGF0YTEgPSBQeVVuaWNvZGVfREFUQShzdHIxKTsKKyAgICBkYXRhMiA9IFB5VW5pY29kZV9EQVRBKHN0cjIpOworCisgICAgY21wID0gbWVtY21wKGRhdGExLCBkYXRhMiwgbGVuICoga2luZCk7CisgICAgcmV0dXJuIChjbXAgPT0gMCk7Cit9CisKKwogaW50CiBQeVVuaWNvZGVfQ29tcGFyZShQeU9iamVjdCAqbGVmdCwgUHlPYmplY3QgKnJpZ2h0KQogewpAQCAtMTA0NzQsMzYgKzEwNTI3LDI3IEBACiBQeVVuaWNvZGVfUmljaENvbXBhcmUoUHlPYmplY3QgKmxlZnQsIFB5T2JqZWN0ICpyaWdodCwgaW50IG9wKQogewogICAgIGludCByZXN1bHQ7CisgICAgUHlPYmplY3QgKnY7CiAKLSAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGxlZnQpICYmIFB5VW5pY29kZV9DaGVjayhyaWdodCkpIHsKLSAgICAgICAgUHlPYmplY3QgKnY7Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkobGVmdCkgPT0gLTEgfHwKLSAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEWShyaWdodCkgPT0gLTEpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKGxlZnQpICE9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJpZ2h0KSB8fAotICAgICAgICAgICAgUHlVbmljb2RlX0tJTkQobGVmdCkgIT0gUHlVbmljb2RlX0tJTkQocmlnaHQpKSB7Ci0gICAgICAgICAgICBpZiAob3AgPT0gUHlfRVEpIHsKLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYoUHlfRmFsc2UpOwotICAgICAgICAgICAgICAgIHJldHVybiBQeV9GYWxzZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChvcCA9PSBQeV9ORSkgewotICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9UcnVlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gUHlfVHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAobGVmdCA9PSByaWdodCkKLSAgICAgICAgICAgIHJlc3VsdCA9IDA7CisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sobGVmdCkgfHwgIVB5VW5pY29kZV9DaGVjayhyaWdodCkpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkobGVmdCkgPT0gLTEgfHwKKyAgICAgICAgUHlVbmljb2RlX1JFQURZKHJpZ2h0KSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAob3AgPT0gUHlfRVEgfHwgb3AgPT0gUHlfTkUpIHsKKyAgICAgICAgcmVzdWx0ID0gdW5pY29kZV9jb21wYXJlX2VxKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgaWYgKG9wID09IFB5X0VRKQorICAgICAgICAgICAgdiA9IFRFU1RfQ09ORChyZXN1bHQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSB1bmljb2RlX2NvbXBhcmUobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgdiA9IFRFU1RfQ09ORCghcmVzdWx0KTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJlc3VsdCA9IHVuaWNvZGVfY29tcGFyZShsZWZ0LCByaWdodCk7CiAKICAgICAgICAgLyogQ29udmVydCB0aGUgcmV0dXJuIHZhbHVlIHRvIGEgQm9vbGVhbiAqLwogICAgICAgICBzd2l0Y2ggKG9wKSB7Ci0gICAgICAgIGNhc2UgUHlfRVE6Ci0gICAgICAgICAgICB2ID0gVEVTVF9DT05EKHJlc3VsdCA9PSAwKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFB5X05FOgotICAgICAgICAgICAgdiA9IFRFU1RfQ09ORChyZXN1bHQgIT0gMCk7Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBQeV9MRToKICAgICAgICAgICAgIHYgPSBURVNUX0NPTkQocmVzdWx0IDw9IDApOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMDUyMCwxOCArMTA1NjQsMTYgQEAKICAgICAgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBQeV9JTkNSRUYodik7Ci0gICAgICAgIHJldHVybiB2OwogICAgIH0KLQotICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKKyAgICBQeV9JTkNSRUYodik7CisgICAgcmV0dXJuIHY7CiB9CiAKIGludAogUHlVbmljb2RlX0NvbnRhaW5zKFB5T2JqZWN0ICpjb250YWluZXIsIFB5T2JqZWN0ICplbGVtZW50KQogewogICAgIFB5T2JqZWN0ICpzdHIsICpzdWI7Ci0gICAgaW50IGtpbmQxLCBraW5kMiwga2luZDsKKyAgICBpbnQga2luZDEsIGtpbmQyOwogICAgIHZvaWQgKmJ1ZjEsICpidWYyOwogICAgIFB5X3NzaXplX3QgbGVuMSwgbGVuMjsKICAgICBpbnQgcmVzdWx0OwpAQCAtMTA1NTAsMjMgKzEwNTkyLDE4IEBACiAgICAgICAgIFB5X0RFQ1JFRihzdWIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3ViKSA9PSAtMSB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA9PSAtMSkgewotICAgICAgICBQeV9ERUNSRUYoc3ViKTsKLSAgICAgICAgUHlfREVDUkVGKHN0cik7Ci0gICAgfQogCiAgICAga2luZDEgPSBQeVVuaWNvZGVfS0lORChzdHIpOwogICAgIGtpbmQyID0gUHlVbmljb2RlX0tJTkQoc3ViKTsKLSAgICBraW5kID0ga2luZDE7CiAgICAgYnVmMSA9IFB5VW5pY29kZV9EQVRBKHN0cik7CiAgICAgYnVmMiA9IFB5VW5pY29kZV9EQVRBKHN1Yik7Ci0gICAgaWYgKGtpbmQyICE9IGtpbmQpIHsKLSAgICAgICAgaWYgKGtpbmQyID4ga2luZCkgeworICAgIGlmIChraW5kMiAhPSBraW5kMSkgeworICAgICAgICBpZiAoa2luZDIgPiBraW5kMSkgewogICAgICAgICAgICAgUHlfREVDUkVGKHN1Yik7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIGJ1ZjIgPSBfUHlVbmljb2RlX0FzS2luZChzdWIsIGtpbmQpOworICAgICAgICBidWYyID0gX1B5VW5pY29kZV9Bc0tpbmQoc3ViLCBraW5kMSk7CiAgICAgfQogICAgIGlmICghYnVmMikgewogICAgICAgICBQeV9ERUNSRUYoc3ViKTsKQEAgLTEwNTc2LDcgKzEwNjEzLDcgQEAKICAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKTsKICAgICBsZW4yID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3ViKTsKIAotICAgIHN3aXRjaCAoa2luZCkgeworICAgIHN3aXRjaCAoa2luZDEpIHsKICAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgogICAgICAgICByZXN1bHQgPSB1Y3MxbGliX2ZpbmQoYnVmMSwgbGVuMSwgYnVmMiwgbGVuMiwgMCkgIT0gLTE7CiAgICAgICAgIGJyZWFrOwpAQCAtMTA1OTQsNyArMTA2MzEsNyBAQAogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIFB5X0RFQ1JFRihzdWIpOwogCi0gICAgaWYgKGtpbmQyICE9IGtpbmQpCisgICAgaWYgKGtpbmQyICE9IGtpbmQxKQogICAgICAgICBQeU1lbV9GcmVlKGJ1ZjIpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEwNjcwLDcgKzEwNzA3LDggQEAKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBsZWZ0ID0gKnBfbGVmdDsKLSAgICBpZiAocmlnaHQgPT0gTlVMTCB8fCBsZWZ0ID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayhsZWZ0KSkgeworICAgIGlmIChyaWdodCA9PSBOVUxMIHx8IGxlZnQgPT0gTlVMTAorICAgICAgICB8fCAhUHlVbmljb2RlX0NoZWNrKGxlZnQpIHx8ICFQeVVuaWNvZGVfQ2hlY2socmlnaHQpKSB7CiAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICBnb3RvIGVycm9yOwpAQCAtMTA3MTAsMTUgKzEwNzQ4LDkgQEAKICAgICAgICAgJiYgIShQeVVuaWNvZGVfSVNfQVNDSUkobGVmdCkgJiYgIVB5VW5pY29kZV9JU19BU0NJSShyaWdodCkpKQogICAgIHsKICAgICAgICAgLyogYXBwZW5kIGlucGxhY2UgKi8KLSAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKHBfbGVmdCwgbmV3X2xlbikgIT0gMCkgewotICAgICAgICAgICAgLyogWFhYIGlmIF9QeVVuaWNvZGVfUmVzaXplKCkgZmFpbHMsICdsZWZ0JyBoYXMgYmVlbgotICAgICAgICAgICAgICogZGVhbGxvY2F0ZWQgc28gaXQgY2Fubm90IGJlIHB1dCBiYWNrIGludG8KLSAgICAgICAgICAgICAqICd2YXJpYWJsZScuICBUaGUgTWVtb3J5RXJyb3IgaXMgcmFpc2VkIHdoZW4gdGhlcmUKLSAgICAgICAgICAgICAqIGlzIG5vIHZhbHVlIGluICd2YXJpYWJsZScsIHdoaWNoIG1pZ2h0ICh2ZXJ5Ci0gICAgICAgICAgICAgKiByZW1vdGVseSkgYmUgYSBjYXVzZSBvZiBpbmNvbXBhdGliaWxpdGllcy4KLSAgICAgICAgICAgICAqLworICAgICAgICBpZiAodW5pY29kZV9yZXNpemUocF9sZWZ0LCBuZXdfbGVuKSAhPSAwKQogICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgfQorCiAgICAgICAgIC8qIGNvcHkgJ3JpZ2h0JyBpbnRvIHRoZSBuZXdseSBhbGxvY2F0ZWQgYXJlYSBvZiAnbGVmdCcgKi8KICAgICAgICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnMoKnBfbGVmdCwgbGVmdF9sZW4sIHJpZ2h0LCAwLCByaWdodF9sZW4pOwogICAgIH0KQEAgLTExNjEyLDYgKzExNjQ0LDcgQEAKICAgICBpbnQga2luZDsKICAgICBQeV9zc2l6ZV90IGksIGosIGxlbjsKICAgICBCTE9PTV9NQVNLIHNlcG1hc2s7CisgICAgUHlfc3NpemVfdCBzZXBsZW47CiAKICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xIHx8IFB5VW5pY29kZV9SRUFEWShzZXBvYmopID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTExNjE5LDI0ICsxMTY1MiwzNSBAQAogICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CiAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgc2VwbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2Vwb2JqKTsKICAgICBzZXBtYXNrID0gbWFrZV9ibG9vbV9tYXNrKFB5VW5pY29kZV9LSU5EKHNlcG9iaiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfREFUQShzZXBvYmopLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2Vwb2JqKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBsZW4pOwogCiAgICAgaSA9IDA7CiAgICAgaWYgKHN0cmlwdHlwZSAhPSBSSUdIVFNUUklQKSB7Ci0gICAgICAgIHdoaWxlIChpIDwgbGVuICYmCi0gICAgICAgICAgICAgICBCTE9PTV9NRU1CRVIoc2VwbWFzaywgUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSksIHNlcG9iaikpIHsKKyAgICAgICAgd2hpbGUgKGkgPCBsZW4pIHsKKyAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgICAgIGlmICghQkxPT00oc2VwbWFzaywgY2gpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9GaW5kQ2hhcihzZXBvYmosIGNoLCAwLCBzZXBsZW4sIDEpIDwgMCkKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGkrKzsKICAgICAgICAgfQogICAgIH0KIAogICAgIGogPSBsZW47CiAgICAgaWYgKHN0cmlwdHlwZSAhPSBMRUZUU1RSSVApIHsKLSAgICAgICAgZG8geworICAgICAgICBqLS07CisgICAgICAgIHdoaWxlIChqID49IGkpIHsKKyAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBqKTsKKyAgICAgICAgICAgIGlmICghQkxPT00oc2VwbWFzaywgY2gpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9GaW5kQ2hhcihzZXBvYmosIGNoLCAwLCBzZXBsZW4sIDEpIDwgMCkKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGotLTsKLSAgICAgICAgfSB3aGlsZSAoaiA+PSBpICYmCi0gICAgICAgICAgICAgICAgIEJMT09NX01FTUJFUihzZXBtYXNrLCBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBqKSwgc2Vwb2JqKSk7CisgICAgICAgIH0KKwogICAgICAgICBqKys7CiAgICAgfQogCkBAIC0xMTY4MywzMCArMTE3MjcsNjMgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBkb19zdHJpcChQeU9iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSkKIHsKLSAgICBpbnQga2luZDsKLSAgICB2b2lkICpkYXRhOwogICAgIFB5X3NzaXplX3QgbGVuLCBpLCBqOwogCiAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc2VsZik7Ci0gICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOwogICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOwogCi0gICAgaSA9IDA7Ci0gICAgaWYgKHN0cmlwdHlwZSAhPSBSSUdIVFNUUklQKSB7Ci0gICAgICAgIHdoaWxlIChpIDwgbGVuICYmIFB5X1VOSUNPREVfSVNTUEFDRShQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSkpIHsKLSAgICAgICAgICAgIGkrKzsKKyAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHNlbGYpKSB7CisgICAgICAgIFB5X1VDUzEgKmRhdGEgPSBQeVVuaWNvZGVfMUJZVEVfREFUQShzZWxmKTsKKworICAgICAgICBpID0gMDsKKyAgICAgICAgaWYgKHN0cmlwdHlwZSAhPSBSSUdIVFNUUklQKSB7CisgICAgICAgICAgICB3aGlsZSAoaSA8IGxlbikgeworICAgICAgICAgICAgICAgIFB5X1VDUzEgY2ggPSBkYXRhW2ldOworICAgICAgICAgICAgICAgIGlmICghX1B5X2FzY2lpX3doaXRlc3BhY2VbY2hdKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBqID0gbGVuOworICAgICAgICBpZiAoc3RyaXB0eXBlICE9IExFRlRTVFJJUCkgeworICAgICAgICAgICAgai0tOworICAgICAgICAgICAgd2hpbGUgKGogPj0gaSkgeworICAgICAgICAgICAgICAgIFB5X1VDUzEgY2ggPSBkYXRhW2pdOworICAgICAgICAgICAgICAgIGlmICghX1B5X2FzY2lpX3doaXRlc3BhY2VbY2hdKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBqLS07CisgICAgICAgICAgICB9CisgICAgICAgICAgICBqKys7CiAgICAgICAgIH0KICAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGludCBraW5kID0gUHlVbmljb2RlX0tJTkQoc2VsZik7CisgICAgICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQShzZWxmKTsKIAotICAgIGogPSBsZW47Ci0gICAgaWYgKHN0cmlwdHlwZSAhPSBMRUZUU1RSSVApIHsKLSAgICAgICAgZG8geworICAgICAgICBpID0gMDsKKyAgICAgICAgaWYgKHN0cmlwdHlwZSAhPSBSSUdIVFNUUklQKSB7CisgICAgICAgICAgICB3aGlsZSAoaSA8IGxlbikgeworICAgICAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNTUEFDRShjaCkpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGogPSBsZW47CisgICAgICAgIGlmIChzdHJpcHR5cGUgIT0gTEVGVFNUUklQKSB7CiAgICAgICAgICAgICBqLS07Ci0gICAgICAgIH0gd2hpbGUgKGogPj0gaSAmJiBQeV9VTklDT0RFX0lTU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaikpKTsKLSAgICAgICAgaisrOworICAgICAgICAgICAgd2hpbGUgKGogPj0gaSkgeworICAgICAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBqKTsKKyAgICAgICAgICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNTUEFDRShjaCkpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGotLTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGorKzsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHJldHVybiBQeVVuaWNvZGVfU3Vic3RyaW5nKHNlbGYsIGksIGopOwpAQCAtMTE5MzAsNyArMTIwMDcsNyBAQAogICAgIFB5X3NzaXplX3QgaXNpemU7CiAgICAgUHlfc3NpemVfdCBvc2l6ZSwgc3F1b3RlLCBkcXVvdGUsIGksIG87CiAgICAgUHlfVUNTNCBtYXgsIHF1b3RlOwotICAgIGludCBpa2luZCwgb2tpbmQ7CisgICAgaW50IGlraW5kLCBva2luZCwgdW5jaGFuZ2VkOwogICAgIHZvaWQgKmlkYXRhLCAqb2RhdGE7CiAKICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQpAQCAtMTE5NDEsNyArMTIwMTgsNyBAQAogCiAgICAgLyogQ29tcHV0ZSBsZW5ndGggb2Ygb3V0cHV0LCBxdW90ZSBjaGFyYWN0ZXJzLCBhbmQKICAgICAgICBtYXhpbXVtIGNoYXJhY3RlciAqLwotICAgIG9zaXplID0gMjsgLyogcXVvdGVzICovCisgICAgb3NpemUgPSAwOwogICAgIG1heCA9IDEyNzsKICAgICBzcXVvdGUgPSBkcXVvdGUgPSAwOwogICAgIGlraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CkBAIC0xMTk3Miw3ICsxMjA0OSw5IEBACiAgICAgfQogCiAgICAgcXVvdGUgPSAnXCcnOworICAgIHVuY2hhbmdlZCA9IChvc2l6ZSA9PSBpc2l6ZSk7CiAgICAgaWYgKHNxdW90ZSkgeworICAgICAgICB1bmNoYW5nZWQgPSAwOwogICAgICAgICBpZiAoZHF1b3RlKQogICAgICAgICAgICAgLyogQm90aCBzcXVvdGUgYW5kIGRxdW90ZSBwcmVzZW50LiBVc2Ugc3F1b3RlLAogICAgICAgICAgICAgICAgYW5kIGVzY2FwZSB0aGVtICovCkBAIC0xMTk4MCw2ICsxMjA1OSw3IEBACiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHF1b3RlID0gJyInOwogICAgIH0KKyAgICBvc2l6ZSArPSAyOyAgIC8qIHF1b3RlcyAqLwogCiAgICAgcmVwciA9IFB5VW5pY29kZV9OZXcob3NpemUsIG1heCk7CiAgICAgaWYgKHJlcHIgPT0gTlVMTCkKQEAgLTExOTg5LDgxICsxMjA2OSw4NyBAQAogCiAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgMCwgcXVvdGUpOwogICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG9zaXplLTEsIHF1b3RlKTsKKyAgICBpZiAodW5jaGFuZ2VkKSB7CisgICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKHJlcHIsIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGUsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzaXplKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGZvciAoaSA9IDAsIG8gPSAxOyBpIDwgaXNpemU7IGkrKykgeworICAgICAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGlraW5kLCBpZGF0YSwgaSk7CiAKLSAgICBmb3IgKGkgPSAwLCBvID0gMTsgaSA8IGlzaXplOyBpKyspIHsKLSAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGlraW5kLCBpZGF0YSwgaSk7Ci0KLSAgICAgICAgLyogRXNjYXBlIHF1b3RlcyBhbmQgYmFja3NsYXNoZXMgKi8KLSAgICAgICAgaWYgKChjaCA9PSBxdW90ZSkgfHwgKGNoID09ICdcXCcpKSB7Ci0gICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdcXCcpOwotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBjaCk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIE1hcCBzcGVjaWFsIHdoaXRlc3BhY2UgdG8gJ1x0JywgXG4nLCAnXHInICovCi0gICAgICAgIGlmIChjaCA9PSAnXHQnKSB7Ci0gICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdcXCcpOwotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAndCcpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKGNoID09ICdcbicpIHsKLSAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ1xcJyk7Ci0gICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICduJyk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoY2ggPT0gJ1xyJykgewotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKLSAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ3InKTsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIE1hcCBub24tcHJpbnRhYmxlIFVTIEFTQ0lJIHRvICdceGhoJyAqLwotICAgICAgICBlbHNlIGlmIChjaCA8ICcgJyB8fCBjaCA9PSAweDdGKSB7Ci0gICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdcXCcpOwotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAneCcpOwotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDQpICYgMHgwMDBGXSk7Ci0gICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1tjaCAmIDB4MDAwRl0pOwotICAgICAgICB9Ci0KLSAgICAgICAgLyogQ29weSBBU0NJSSBjaGFyYWN0ZXJzIGFzLWlzICovCi0gICAgICAgIGVsc2UgaWYgKGNoIDwgMHg3RikgewotICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBjaCk7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBOb24tQVNDSUkgY2hhcmFjdGVycyAqLwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIC8qIE1hcCBVbmljb2RlIHdoaXRlc3BhY2UgYW5kIGNvbnRyb2wgY2hhcmFjdGVycwotICAgICAgICAgICAgICAgKGNhdGVnb3JpZXMgWiogYW5kIEMqIGV4Y2VwdCBBU0NJSSBzcGFjZSkKLSAgICAgICAgICAgICovCi0gICAgICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNQUklOVEFCTEUoY2gpKSB7CisgICAgICAgICAgICAvKiBFc2NhcGUgcXVvdGVzIGFuZCBiYWNrc2xhc2hlcyAqLworICAgICAgICAgICAgaWYgKChjaCA9PSBxdW90ZSkgfHwgKGNoID09ICdcXCcpKSB7CiAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKLSAgICAgICAgICAgICAgICAvKiBNYXAgOC1iaXQgY2hhcmFjdGVycyB0byAnXHhoaCcgKi8KLSAgICAgICAgICAgICAgICBpZiAoY2ggPD0gMHhmZikgewotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICd4Jyk7Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4MDAwRl0pOwotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1tjaCAmIDB4MDAwRl0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAvKiBNYXAgMTYtYml0IGNoYXJhY3RlcnMgdG8gJ1x1eHh4eCcgKi8KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA8PSAweGZmZmYpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAndScpOwotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gMTIpICYgMHhGXSk7Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiA4KSAmIDB4Rl0pOwotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweEZdKTsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbY2ggJiAweEZdKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLyogTWFwIDIxLWJpdCBjaGFyYWN0ZXJzIHRvICdcVTAweHh4eHh4JyAqLwotICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdVJyk7Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiAyOCkgJiAweEZdKTsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDI0KSAmIDB4Rl0pOwotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gMjApICYgMHhGXSk7Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiAxNikgJiAweEZdKTsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4Rl0pOwotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweEZdKTsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDQpICYgMHhGXSk7Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzW2NoICYgMHhGXSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogQ29weSBjaGFyYWN0ZXJzIGFzLWlzICovCi0gICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIGNoKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogTWFwIHNwZWNpYWwgd2hpdGVzcGFjZSB0byAnXHQnLCBcbicsICdccicgKi8KKyAgICAgICAgICAgIGlmIChjaCA9PSAnXHQnKSB7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICd0Jyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjaCA9PSAnXG4nKSB7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICduJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjaCA9PSAnXHInKSB7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdyJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIE1hcCBub24tcHJpbnRhYmxlIFVTIEFTQ0lJIHRvICdceGhoJyAqLworICAgICAgICAgICAgZWxzZSBpZiAoY2ggPCAnICcgfHwgY2ggPT0gMHg3RikgeworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ1xcJyk7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAneCcpOworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4MDAwRl0pOworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzW2NoICYgMHgwMDBGXSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIENvcHkgQVNDSUkgY2hhcmFjdGVycyBhcy1pcyAqLworICAgICAgICAgICAgZWxzZSBpZiAoY2ggPCAweDdGKSB7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBjaCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIE5vbi1BU0NJSSBjaGFyYWN0ZXJzICovCisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAvKiBNYXAgVW5pY29kZSB3aGl0ZXNwYWNlIGFuZCBjb250cm9sIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICAgICAgICAoY2F0ZWdvcmllcyBaKiBhbmQgQyogZXhjZXB0IEFTQ0lJIHNwYWNlKQorICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTUFJJTlRBQkxFKGNoKSkgeworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdcXCcpOworICAgICAgICAgICAgICAgICAgICAvKiBNYXAgOC1iaXQgY2hhcmFjdGVycyB0byAnXHhoaCcgKi8KKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoIDw9IDB4ZmYpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ3gnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4MDAwRl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbY2ggJiAweDAwMEZdKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAvKiBNYXAgMTYtYml0IGNoYXJhY3RlcnMgdG8gJ1x1eHh4eCcgKi8KKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2ggPD0gMHhmZmZmKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICd1Jyk7CisgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gMTIpICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweEZdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbY2ggJiAweEZdKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAvKiBNYXAgMjEtYml0IGNoYXJhY3RlcnMgdG8gJ1xVMDB4eHh4eHgnICovCisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnVScpOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDI4KSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDI0KSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDIwKSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDE2KSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDgpICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweEZdKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzW2NoICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLyogQ29weSBjaGFyYWN0ZXJzIGFzLWlzICovCisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgY2gpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTEyNzE3LDYgKzEyODAzLDggQEAKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIHJlc3VsdCA9IHRhaWxtYXRjaChzZWxmLCBzdWJzdHJpbmcsIHN0YXJ0LCBlbmQsIC0xKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOworICAgICAgICAgICAgaWYgKHJlc3VsdCA9PSAtMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIGlmIChyZXN1bHQpIHsKICAgICAgICAgICAgICAgICBQeV9SRVRVUk5fVFJVRTsKICAgICAgICAgICAgIH0KQEAgLTEyNzMzLDYgKzEyODIxLDggQEAKICAgICB9CiAgICAgcmVzdWx0ID0gdGFpbG1hdGNoKHNlbGYsIHN1YnN0cmluZywgc3RhcnQsIGVuZCwgLTEpOwogICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOworICAgIGlmIChyZXN1bHQgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocmVzdWx0KTsKIH0KIApAQCAtMTI3NjYsNiArMTI4NTYsOCBAQAogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgcmVzdWx0ID0gdGFpbG1hdGNoKHNlbGYsIHN1YnN0cmluZywgc3RhcnQsIGVuZCwgKzEpOwogICAgICAgICAgICAgUHlfREVDUkVGKHN1YnN0cmluZyk7CisgICAgICAgICAgICBpZiAocmVzdWx0ID09IC0xKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgaWYgKHJlc3VsdCkgewogICAgICAgICAgICAgICAgIFB5X1JFVFVSTl9UUlVFOwogICAgICAgICAgICAgfQpAQCAtMTI3ODAsNiArMTI4NzIsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmVzdWx0ID0gdGFpbG1hdGNoKHNlbGYsIHN1YnN0cmluZywgc3RhcnQsIGVuZCwgKzEpOworICAgIGlmIChyZXN1bHQgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOwogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocmVzdWx0KTsKIH0KQEAgLTEyNzg3LDIxICsxMjg4MSwyNyBAQAogUHlfTE9DQUxfSU5MSU5FKHZvaWQpCiBfUHlVbmljb2RlV3JpdGVyX1VwZGF0ZShfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIpCiB7Ci0gICAgd3JpdGVyLT5zaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgod3JpdGVyLT5idWZmZXIpOworICAgIGlmICghd3JpdGVyLT5yZWFkb25seSkKKyAgICAgICAgd3JpdGVyLT5zaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgod3JpdGVyLT5idWZmZXIpOworICAgIGVsc2UgeworICAgICAgICAvKiBDb3B5LW9uLXdyaXRlIG1vZGU6IHNldCBidWZmZXIgc2l6ZSB0byAwIHNvCisgICAgICAgICAqIF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgpIHdpbGwgY29weSAoYW5kIGVubGFyZ2UpIHRoZSBidWZmZXIgb24KKyAgICAgICAgICogbmV4dCB3cml0ZS4gKi8KKyAgICAgICAgd3JpdGVyLT5zaXplID0gMDsKKyAgICB9CiAgICAgd3JpdGVyLT5tYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHdyaXRlci0+YnVmZmVyKTsKICAgICB3cml0ZXItPmRhdGEgPSBQeVVuaWNvZGVfREFUQSh3cml0ZXItPmJ1ZmZlcik7CiAgICAgd3JpdGVyLT5raW5kID0gUHlVbmljb2RlX0tJTkQod3JpdGVyLT5idWZmZXIpOwogfQogCiB2b2lkCi1fUHlVbmljb2RlV3JpdGVyX0luaXQoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyLCBQeV9zc2l6ZV90IG1pbl9sZW5ndGgpCitfUHlVbmljb2RlV3JpdGVyX0luaXQoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKQogewogICAgIG1lbXNldCh3cml0ZXIsIDAsIHNpemVvZigqd3JpdGVyKSk7CiAjaWZkZWYgUHlfREVCVUcKICAgICB3cml0ZXItPmtpbmQgPSA1OyAgICAvKiBpbnZhbGlkIGtpbmQgKi8KICNlbmRpZgotICAgIHdyaXRlci0+bWluX2xlbmd0aCA9IFB5X01BWChtaW5fbGVuZ3RoLCAxMDApOwotICAgIHdyaXRlci0+b3ZlcmFsbG9jYXRlID0gKG1pbl9sZW5ndGggPiAwKTsKKyAgICB3cml0ZXItPm1pbl9jaGFyID0gMTI3OwogfQogCiBpbnQKQEAgLTEyODE5LDI5ICsxMjkxOSwyOCBAQAogICAgIH0KICAgICBuZXdsZW4gPSB3cml0ZXItPnBvcyArIGxlbmd0aDsKIAorICAgIG1heGNoYXIgPSBNQVhfTUFYQ0hBUihtYXhjaGFyLCB3cml0ZXItPm1pbl9jaGFyKTsKKwogICAgIGlmICh3cml0ZXItPmJ1ZmZlciA9PSBOVUxMKSB7Ci0gICAgICAgIGlmICh3cml0ZXItPm92ZXJhbGxvY2F0ZSkgeworICAgICAgICBhc3NlcnQoIXdyaXRlci0+cmVhZG9ubHkpOworICAgICAgICBpZiAod3JpdGVyLT5vdmVyYWxsb2NhdGUgJiYgbmV3bGVuIDw9IChQWV9TU0laRV9UX01BWCAtIG5ld2xlbiAvIDQpKSB7CiAgICAgICAgICAgICAvKiBvdmVyYWxsb2NhdGUgMjUlIHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgcmVzaXplICovCi0gICAgICAgICAgICBpZiAobmV3bGVuIDw9IChQWV9TU0laRV9UX01BWCAtIG5ld2xlbiAvIDQpKQotICAgICAgICAgICAgICAgIG5ld2xlbiArPSBuZXdsZW4gLyA0OwotICAgICAgICAgICAgaWYgKG5ld2xlbiA8IHdyaXRlci0+bWluX2xlbmd0aCkKLSAgICAgICAgICAgICAgICBuZXdsZW4gPSB3cml0ZXItPm1pbl9sZW5ndGg7CisgICAgICAgICAgICBuZXdsZW4gKz0gbmV3bGVuIC8gNDsKICAgICAgICAgfQorICAgICAgICBpZiAobmV3bGVuIDwgd3JpdGVyLT5taW5fbGVuZ3RoKQorICAgICAgICAgICAgbmV3bGVuID0gd3JpdGVyLT5taW5fbGVuZ3RoOworCiAgICAgICAgIHdyaXRlci0+YnVmZmVyID0gUHlVbmljb2RlX05ldyhuZXdsZW4sIG1heGNoYXIpOwogICAgICAgICBpZiAod3JpdGVyLT5idWZmZXIgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgX1B5VW5pY29kZVdyaXRlcl9VcGRhdGUod3JpdGVyKTsKLSAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotCi0gICAgaWYgKG5ld2xlbiA+IHdyaXRlci0+c2l6ZSkgewotICAgICAgICBpZiAod3JpdGVyLT5vdmVyYWxsb2NhdGUpIHsKKyAgICBlbHNlIGlmIChuZXdsZW4gPiB3cml0ZXItPnNpemUpIHsKKyAgICAgICAgaWYgKHdyaXRlci0+b3ZlcmFsbG9jYXRlICYmIG5ld2xlbiA8PSAoUFlfU1NJWkVfVF9NQVggLSBuZXdsZW4gLyA0KSkgewogICAgICAgICAgICAgLyogb3ZlcmFsbG9jYXRlIDI1JSB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIHJlc2l6ZSAqLwotICAgICAgICAgICAgaWYgKG5ld2xlbiA8PSAoUFlfU1NJWkVfVF9NQVggLSBuZXdsZW4gLyA0KSkKLSAgICAgICAgICAgICAgICBuZXdsZW4gKz0gbmV3bGVuIC8gNDsKLSAgICAgICAgICAgIGlmIChuZXdsZW4gPCB3cml0ZXItPm1pbl9sZW5ndGgpCi0gICAgICAgICAgICAgICAgbmV3bGVuID0gd3JpdGVyLT5taW5fbGVuZ3RoOworICAgICAgICAgICAgbmV3bGVuICs9IG5ld2xlbiAvIDQ7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG5ld2xlbiA8IHdyaXRlci0+bWluX2xlbmd0aCkKKyAgICAgICAgICAgIG5ld2xlbiA9IHdyaXRlci0+bWluX2xlbmd0aDsKIAogICAgICAgICBpZiAobWF4Y2hhciA+IHdyaXRlci0+bWF4Y2hhciB8fCB3cml0ZXItPnJlYWRvbmx5KSB7CiAgICAgICAgICAgICAvKiByZXNpemUgKyB3aWRlbiAqLwpAQCAtMTI4NTksNyArMTI5NTgsNiBAQAogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICB3cml0ZXItPmJ1ZmZlciA9IG5ld2J1ZmZlcjsKLSAgICAgICAgX1B5VW5pY29kZVdyaXRlcl9VcGRhdGUod3JpdGVyKTsKICAgICB9CiAgICAgZWxzZSBpZiAobWF4Y2hhciA+IHdyaXRlci0+bWF4Y2hhcikgewogICAgICAgICBhc3NlcnQoIXdyaXRlci0+cmVhZG9ubHkpOwpAQCAtMTI4NzAsMTEgKzEyOTY4LDI3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlci0+YnVmZmVyLCAwLCB3cml0ZXItPnBvcyk7CiAgICAgICAgIFB5X0RFQ1JFRih3cml0ZXItPmJ1ZmZlcik7CiAgICAgICAgIHdyaXRlci0+YnVmZmVyID0gbmV3YnVmZmVyOwotICAgICAgICBfUHlVbmljb2RlV3JpdGVyX1VwZGF0ZSh3cml0ZXIpOwogICAgIH0KKyAgICBfUHlVbmljb2RlV3JpdGVyX1VwZGF0ZSh3cml0ZXIpOwogICAgIHJldHVybiAwOwogfQogCitQeV9MT0NBTF9JTkxJTkUoaW50KQorX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXJJbmxpbmUoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyLCBQeV9VQ1M0IGNoKQoreworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUod3JpdGVyLCAxLCBjaCkgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCB3cml0ZXItPnBvcywgY2gpOworICAgIHdyaXRlci0+cG9zKys7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludAorX1B5VW5pY29kZVdyaXRlcl9Xcml0ZUNoYXIoX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyLCBQeV9VQ1M0IGNoKQoreworICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIGNoKTsKK30KKwogaW50CiBfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwgUHlPYmplY3QgKnN0cikKIHsKQEAgLTEyODg5LDExICsxMzAwMywxMCBAQAogICAgIG1heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoc3RyKTsKICAgICBpZiAobWF4Y2hhciA+IHdyaXRlci0+bWF4Y2hhciB8fCBsZW4gPiB3cml0ZXItPnNpemUgLSB3cml0ZXItPnBvcykgewogICAgICAgICBpZiAod3JpdGVyLT5idWZmZXIgPT0gTlVMTCAmJiAhd3JpdGVyLT5vdmVyYWxsb2NhdGUpIHsKKyAgICAgICAgICAgIHdyaXRlci0+cmVhZG9ubHkgPSAxOwogICAgICAgICAgICAgUHlfSU5DUkVGKHN0cik7CiAgICAgICAgICAgICB3cml0ZXItPmJ1ZmZlciA9IHN0cjsKICAgICAgICAgICAgIF9QeVVuaWNvZGVXcml0ZXJfVXBkYXRlKHdyaXRlcik7Ci0gICAgICAgICAgICB3cml0ZXItPnJlYWRvbmx5ID0gMTsKLSAgICAgICAgICAgIHdyaXRlci0+c2l6ZSA9IDA7CiAgICAgICAgICAgICB3cml0ZXItPnBvcyArPSBsZW47CiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtMTI5MDYsNiArMTMwMTksNTQgQEAKICAgICByZXR1cm4gMDsKIH0KIAoraW50CitfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3Vic3RyaW5nKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwgUHlPYmplY3QgKnN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwgUHlfc3NpemVfdCBlbmQpCit7CisgICAgUHlfVUNTNCBtYXhjaGFyOworICAgIFB5X3NzaXplX3QgbGVuOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBhc3NlcnQoMCA8PSBzdGFydCk7CisgICAgYXNzZXJ0KGVuZCA8PSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpKTsKKyAgICBhc3NlcnQoc3RhcnQgPD0gZW5kKTsKKworICAgIGlmIChlbmQgPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoc3RhcnQgPT0gMCAmJiBlbmQgPT0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSkKKyAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfV3JpdGVTdHIod3JpdGVyLCBzdHIpOworCisgICAgaWYgKFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzdHIpID4gd3JpdGVyLT5tYXhjaGFyKQorICAgICAgICBtYXhjaGFyID0gX1B5VW5pY29kZV9GaW5kTWF4Q2hhcihzdHIsIHN0YXJ0LCBlbmQpOworICAgIGVsc2UKKyAgICAgICAgbWF4Y2hhciA9IHdyaXRlci0+bWF4Y2hhcjsKKyAgICBsZW4gPSBlbmQgLSBzdGFydDsKKworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUod3JpdGVyLCBsZW4sIG1heGNoYXIpIDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgX1B5VW5pY29kZV9GYXN0Q29weUNoYXJhY3RlcnMod3JpdGVyLT5idWZmZXIsIHdyaXRlci0+cG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciwgc3RhcnQsIGxlbik7CisgICAgd3JpdGVyLT5wb3MgKz0gbGVuOworICAgIHJldHVybiAwOworfQorCitpbnQKK19QeVVuaWNvZGVXcml0ZXJfV3JpdGVDc3RyKF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciwgY29uc3QgY2hhciAqc3RyLCBQeV9zc2l6ZV90IGxlbikKK3sKKyAgICBQeV9VQ1M0IG1heGNoYXI7CisKKyAgICBtYXhjaGFyID0gdWNzMWxpYl9maW5kX21heF9jaGFyKChQeV9VQ1MxKilzdHIsIChQeV9VQ1MxKilzdHIgKyBsZW4pOworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUod3JpdGVyLCBsZW4sIG1heGNoYXIpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgdW5pY29kZV93cml0ZV9jc3RyKHdyaXRlci0+YnVmZmVyLCB3cml0ZXItPnBvcywgc3RyLCBsZW4pOworICAgIHdyaXRlci0+cG9zICs9IGxlbjsKKyAgICByZXR1cm4gMDsKK30KKwogUHlPYmplY3QgKgogX1B5VW5pY29kZVdyaXRlcl9GaW5pc2goX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKQogewpAQCAtMTI5NjIsNyArMTMxMjMsNyBAQAogCiAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIsIDApOworICAgIF9QeVVuaWNvZGVXcml0ZXJfSW5pdCgmd3JpdGVyKTsKICAgICByZXQgPSBfUHlVbmljb2RlX0Zvcm1hdEFkdmFuY2VkV3JpdGVyKCZ3cml0ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLCBmb3JtYXRfc3BlYywgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKGZvcm1hdF9zcGVjKSk7CkBAIC0xMzE4MSwxNiArMTMzNDIsMzkgQEAKIAogLyogSGVscGVycyBmb3IgUHlVbmljb2RlX0Zvcm1hdCgpICovCiAKK3N0cnVjdCB1bmljb2RlX2Zvcm1hdHRlcl90IHsKKyAgICBQeU9iamVjdCAqYXJnczsKKyAgICBpbnQgYXJnc19vd25lZDsKKyAgICBQeV9zc2l6ZV90IGFyZ2xlbiwgYXJnaWR4OworICAgIFB5T2JqZWN0ICpkaWN0OworCisgICAgZW51bSBQeVVuaWNvZGVfS2luZCBmbXRraW5kOworICAgIFB5X3NzaXplX3QgZm10Y250LCBmbXRwb3M7CisgICAgdm9pZCAqZm10ZGF0YTsKKyAgICBQeU9iamVjdCAqZm10c3RyOworCisgICAgX1B5VW5pY29kZVdyaXRlciB3cml0ZXI7Cit9OworCitzdHJ1Y3QgdW5pY29kZV9mb3JtYXRfYXJnX3QgeworICAgIFB5X1VDUzQgY2g7CisgICAgaW50IGZsYWdzOworICAgIFB5X3NzaXplX3Qgd2lkdGg7CisgICAgaW50IHByZWM7CisgICAgaW50IHNpZ247Cit9OworCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0bmV4dGFyZyhQeU9iamVjdCAqYXJncywgUHlfc3NpemVfdCBhcmdsZW4sIFB5X3NzaXplX3QgKnBfYXJnaWR4KQordW5pY29kZV9mb3JtYXRfZ2V0bmV4dGFyZyhzdHJ1Y3QgdW5pY29kZV9mb3JtYXR0ZXJfdCAqY3R4KQogewotICAgIFB5X3NzaXplX3QgYXJnaWR4ID0gKnBfYXJnaWR4OwotICAgIGlmIChhcmdpZHggPCBhcmdsZW4pIHsKLSAgICAgICAgKCpwX2FyZ2lkeCkrKzsKLSAgICAgICAgaWYgKGFyZ2xlbiA8IDApCi0gICAgICAgICAgICByZXR1cm4gYXJnczsKKyAgICBQeV9zc2l6ZV90IGFyZ2lkeCA9IGN0eC0+YXJnaWR4OworCisgICAgaWYgKGFyZ2lkeCA8IGN0eC0+YXJnbGVuKSB7CisgICAgICAgIGN0eC0+YXJnaWR4Kys7CisgICAgICAgIGlmIChjdHgtPmFyZ2xlbiA8IDApCisgICAgICAgICAgICByZXR1cm4gY3R4LT5hcmdzOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gUHlUdXBsZV9HZXRJdGVtKGFyZ3MsIGFyZ2lkeCk7CisgICAgICAgICAgICByZXR1cm4gUHlUdXBsZV9HZXRJdGVtKGN0eC0+YXJncywgYXJnaWR4KTsKICAgICB9CiAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgIm5vdCBlbm91Z2ggYXJndW1lbnRzIGZvciBmb3JtYXQgc3RyaW5nIik7CkBAIC0xMzE5OSwyMyArMTMzODMsMzQgQEAKIAogLyogUmV0dXJucyBhIG5ldyByZWZlcmVuY2UgdG8gYSBQeVVuaWNvZGUgb2JqZWN0LCBvciBOVUxMIG9uIGZhaWx1cmUuICovCiAKKy8qIEZvcm1hdCBhIGZsb2F0IGludG8gdGhlIHdyaXRlciBpZiB0aGUgd3JpdGVyIGlzIG5vdCBOVUxMLCBvciBpbnRvICpwX291dHB1dAorICAgb3RoZXJ3aXNlLgorCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCByYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KIHN0YXRpYyBpbnQKLWZvcm1hdGZsb2F0KFB5T2JqZWN0ICp2LCBpbnQgZmxhZ3MsIGludCBwcmVjLCBpbnQgdHlwZSwKLSAgICAgICAgICAgIFB5T2JqZWN0ICoqcF9vdXRwdXQsIF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlcikKK2Zvcm1hdGZsb2F0KFB5T2JqZWN0ICp2LCBzdHJ1Y3QgdW5pY29kZV9mb3JtYXRfYXJnX3QgKmFyZywKKyAgICAgICAgICAgIFB5T2JqZWN0ICoqcF9vdXRwdXQsCisgICAgICAgICAgICBfUHlVbmljb2RlV3JpdGVyICp3cml0ZXIpCiB7CiAgICAgY2hhciAqcDsKICAgICBkb3VibGUgeDsKICAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICBpbnQgcHJlYzsKKyAgICBpbnQgZHRvYV9mbGFnczsKIAogICAgIHggPSBQeUZsb2F0X0FzRG91YmxlKHYpOwogICAgIGlmICh4ID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgcmV0dXJuIC0xOwogCisgICAgcHJlYyA9IGFyZy0+cHJlYzsKICAgICBpZiAocHJlYyA8IDApCiAgICAgICAgIHByZWMgPSA2OwogCi0gICAgcCA9IFB5T1NfZG91YmxlX3RvX3N0cmluZyh4LCB0eXBlLCBwcmVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZsYWdzICYgRl9BTFQpID8gUHlfRFRTRl9BTFQgOiAwLCBOVUxMKTsKKyAgICBpZiAoYXJnLT5mbGFncyAmIEZfQUxUKQorICAgICAgICBkdG9hX2ZsYWdzID0gUHlfRFRTRl9BTFQ7CisgICAgZWxzZQorICAgICAgICBkdG9hX2ZsYWdzID0gMDsKKyAgICBwID0gUHlPU19kb3VibGVfdG9fc3RyaW5nKHgsIGFyZy0+Y2gsIHByZWMsIGR0b2FfZmxhZ3MsIE5VTEwpOwogICAgIGlmIChwID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBsZW4gPSBzdHJsZW4ocCk7CkBAIC0xMzI1Miw3ICsxMzQ0Nyw3IEBACiAgKiBwcm9kdWNlIGEgJy0nIHNpZ24sIGJ1dCBjYW4gZm9yIFB5dGhvbidzIHVuYm91bmRlZCBpbnRzLgogICovCiBzdGF0aWMgUHlPYmplY3QqCi1mb3JtYXRsb25nKFB5T2JqZWN0ICp2YWwsIGludCBmbGFncywgaW50IHByZWMsIGludCB0eXBlKQorZm9ybWF0bG9uZyhQeU9iamVjdCAqdmFsLCBzdHJ1Y3QgdW5pY29kZV9mb3JtYXRfYXJnX3QgKmFyZykKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBjaGFyICpidWY7CkBAIC0xMzI2Miw2ICsxMzQ1Nyw4IEBACiAgICAgUHlfc3NpemVfdCBsbGVuOwogICAgIGludCBudW1kaWdpdHM7ICAgICAgLyogbGVuID09IG51bW5vbmRpZ2l0cyArIG51bWRpZ2l0cyAqLwogICAgIGludCBudW1ub25kaWdpdHMgPSAwOworICAgIGludCBwcmVjID0gYXJnLT5wcmVjOworICAgIGludCB0eXBlID0gYXJnLT5jaDsKIAogICAgIC8qIEF2b2lkIGV4Y2VlZGluZyBTU0laRV9UX01BWCAqLwogICAgIGlmIChwcmVjID4gSU5UX01BWC0zKSB7CkBAIC0xMzI3Myw3ICsxMzQ3MCwxMCBAQAogICAgIGFzc2VydChQeUxvbmdfQ2hlY2sodmFsKSk7CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBkZWZhdWx0OgorICAgICAgICBhc3NlcnQoISIndHlwZScgbm90IGluIFtkaXVveFhdIik7CiAgICAgY2FzZSAnZCc6CisgICAgY2FzZSAnaSc6CiAgICAgY2FzZSAndSc6CiAgICAgICAgIC8qIFNwZWNpYWwtY2FzZSBib29sZWFuOiB3ZSB3YW50IDAvMSAqLwogICAgICAgICBpZiAoUHlCb29sX0NoZWNrKHZhbCkpCkBAIC0xMzI5MCw4ICsxMzQ5MCw2IEBACiAgICAgICAgIG51bW5vbmRpZ2l0cyA9IDI7CiAgICAgICAgIHJlc3VsdCA9IFB5TnVtYmVyX1RvQmFzZSh2YWwsIDE2KTsKICAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgYXNzZXJ0KCEiJ3R5cGUnIG5vdCBpbiBbZHVveFhdIik7CiAgICAgfQogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTEzMzE5LDcgKzEzNTE3LDcgQEAKICAgICBhc3NlcnQobnVtZGlnaXRzID4gMCk7CiAKICAgICAvKiBHZXQgcmlkIG9mIGJhc2UgbWFya2VyIHVubGVzcyBGX0FMVCAqLwotICAgIGlmICgoKGZsYWdzICYgRl9BTFQpID09IDAgJiYKKyAgICBpZiAoKChhcmctPmZsYWdzICYgRl9BTFQpID09IDAgJiYKICAgICAgICAgKHR5cGUgPT0gJ28nIHx8IHR5cGUgPT0gJ3gnIHx8IHR5cGUgPT0gJ1gnKSkpIHsKICAgICAgICAgYXNzZXJ0KGJ1ZltzaWduXSA9PSAnMCcpOwogICAgICAgICBhc3NlcnQoYnVmW3NpZ24rMV0gPT0gJ3gnIHx8IGJ1ZltzaWduKzFdID09ICdYJyB8fApAQCAtMTMzNjQsMTUgKzEzNTYyLDEwMCBAQAogICAgICAgICAgICAgaWYgKGJ1ZltpXSA+PSAnYScgJiYgYnVmW2ldIDw9ICd4JykKICAgICAgICAgICAgICAgICBidWZbaV0gLT0gJ2EnLSdBJzsKICAgICB9Ci0gICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2socmVzdWx0KSB8fCBsZW4gIT0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVzdWx0KSkgeworICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHJlc3VsdCkKKyAgICAgICAgfHwgYnVmICE9IFB5VW5pY29kZV9EQVRBKHJlc3VsdCkpIHsKICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGU7CiAgICAgICAgIHVuaWNvZGUgPSBfUHlVbmljb2RlX0Zyb21BU0NJSShidWYsIGxlbik7CiAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICByZXN1bHQgPSB1bmljb2RlOwogICAgIH0KKyAgICBlbHNlIGlmIChsZW4gIT0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVzdWx0KSkgeworICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmcmVzdWx0LCBsZW4pIDwgMCkKKyAgICAgICAgICAgIFB5X0NMRUFSKHJlc3VsdCk7CisgICAgfQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKKy8qIEZvcm1hdCBhbiBpbnRlZ2VyLgorICogUmV0dXJuIDEgaWYgdGhlIG51bWJlciBoYXMgYmVlbiBmb3JtYXR0ZWQgaW50byB0aGUgd3JpdGVyLAorICogICAgICAgIDAgaWYgdGhlIG51bWJlciBoYXMgYmVlbiBmb3JtYXR0ZWQgaW50byAqcF9vdXRwdXQKKyAqICAgICAgIC0xIGFuZCByYWlzZSBhbiBleGNlcHRpb24gb24gZXJyb3IgKi8KK3N0YXRpYyBpbnQKK21haW5mb3JtYXRsb25nKFB5T2JqZWN0ICp2LAorICAgICAgICAgICAgICAgc3RydWN0IHVuaWNvZGVfZm9ybWF0X2FyZ190ICphcmcsCisgICAgICAgICAgICAgICBQeU9iamVjdCAqKnBfb3V0cHV0LAorICAgICAgICAgICAgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyKQoreworICAgIFB5T2JqZWN0ICppb2JqLCAqcmVzOworICAgIGNoYXIgdHlwZSA9IChjaGFyKWFyZy0+Y2g7CisKKyAgICBpZiAoIVB5TnVtYmVyX0NoZWNrKHYpKQorICAgICAgICBnb3RvIHdyb25ndHlwZTsKKworICAgIGlmICghUHlMb25nX0NoZWNrKHYpKSB7CisgICAgICAgIGlvYmogPSBQeU51bWJlcl9Mb25nKHYpOworICAgICAgICBpZiAoaW9iaiA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgICAgICAgICAgICAgIGdvdG8gd3Jvbmd0eXBlOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGFzc2VydChQeUxvbmdfQ2hlY2soaW9iaikpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaW9iaiA9IHY7CisgICAgICAgIFB5X0lOQ1JFRihpb2JqKTsKKyAgICB9CisKKyAgICBpZiAoUHlMb25nX0NoZWNrRXhhY3QodikKKyAgICAgICAgJiYgYXJnLT53aWR0aCA9PSAtMSAmJiBhcmctPnByZWMgPT0gLTEKKyAgICAgICAgJiYgIShhcmctPmZsYWdzICYgKEZfU0lHTiB8IEZfQkxBTkspKQorICAgICAgICAmJiB0eXBlICE9ICdYJykKKyAgICB7CisgICAgICAgIC8qIEZhc3QgcGF0aCAqLworICAgICAgICBpbnQgYWx0ZXJuYXRlID0gYXJnLT5mbGFncyAmIEZfQUxUOworICAgICAgICBpbnQgYmFzZTsKKworICAgICAgICBzd2l0Y2godHlwZSkKKyAgICAgICAgeworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBhc3NlcnQoMCAmJiAiJ3R5cGUnIG5vdCBpbiBbZGl1b3hYXSIpOworICAgICAgICAgICAgY2FzZSAnZCc6CisgICAgICAgICAgICBjYXNlICdpJzoKKyAgICAgICAgICAgIGNhc2UgJ3UnOgorICAgICAgICAgICAgICAgIGJhc2UgPSAxMDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ28nOgorICAgICAgICAgICAgICAgIGJhc2UgPSA4OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAneCc6CisgICAgICAgICAgICBjYXNlICdYJzoKKyAgICAgICAgICAgICAgICBiYXNlID0gMTY7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBpZiAoX1B5TG9uZ19Gb3JtYXRXcml0ZXIod3JpdGVyLCB2LCBiYXNlLCBhbHRlcm5hdGUpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoaW9iaik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGlvYmopOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICByZXMgPSBmb3JtYXRsb25nKGlvYmosIGFyZyk7CisgICAgUHlfREVDUkVGKGlvYmopOworICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgICpwX291dHB1dCA9IHJlczsKKyAgICByZXR1cm4gMDsKKword3Jvbmd0eXBlOgorICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAiJSUlYyBmb3JtYXQ6IGEgbnVtYmVyIGlzIHJlcXVpcmVkLCAiCisgICAgICAgICAgICAibm90ICUuMjAwcyIsCisgICAgICAgICAgICB0eXBlLCBQeV9UWVBFKHYpLT50cF9uYW1lKTsKKyAgICByZXR1cm4gLTE7Cit9CisKIHN0YXRpYyBQeV9VQ1M0CiBmb3JtYXRjaGFyKFB5T2JqZWN0ICp2KQogewpAQCAtMTM0MDUsNTQwICsxMzY4OCw1ODcgQEAKICAgICByZXR1cm4gKFB5X1VDUzQpIC0xOwogfQogCisvKiBQYXJzZSBvcHRpb25zIG9mIGFuIGFyZ3VtZW50OiBmbGFncywgd2lkdGgsIHByZWNpc2lvbi4KKyAgIEhhbmRsZSBhbHNvICIlKG5hbWUpIiBzeW50YXguCisKKyAgIFJldHVybiAwIGlmIHRoZSBhcmd1bWVudCBoYXMgYmVlbiBmb3JtYXR0ZWQgaW50byBhcmctPnN0ci4KKyAgIFJldHVybiAxIGlmIHRoZSBhcmd1bWVudCBoYXMgYmVlbiB3cml0dGVuIGludG8gY3R4LT53cml0ZXIsCisgICBSYWlzZSBhbiBleGNlcHRpb24gYW5kIHJldHVybiAtMSBvbiBlcnJvci4gKi8KK3N0YXRpYyBpbnQKK3VuaWNvZGVfZm9ybWF0X2FyZ19wYXJzZShzdHJ1Y3QgdW5pY29kZV9mb3JtYXR0ZXJfdCAqY3R4LAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB1bmljb2RlX2Zvcm1hdF9hcmdfdCAqYXJnKQoreworI2RlZmluZSBGT1JNQVRfUkVBRChjdHgpIFwKKyAgICAgICAgUHlVbmljb2RlX1JFQUQoKGN0eCktPmZtdGtpbmQsIChjdHgpLT5mbXRkYXRhLCAoY3R4KS0+Zm10cG9zKQorCisgICAgUHlPYmplY3QgKnY7CisKKyAgICBpZiAoYXJnLT5jaCA9PSAnKCcpIHsKKyAgICAgICAgLyogR2V0IGFyZ3VtZW50IHZhbHVlIGZyb20gYSBkaWN0aW9uYXJ5LiBFeGFtcGxlOiAiJShuYW1lKXMiLiAqLworICAgICAgICBQeV9zc2l6ZV90IGtleXN0YXJ0OworICAgICAgICBQeV9zc2l6ZV90IGtleWxlbjsKKyAgICAgICAgUHlPYmplY3QgKmtleTsKKyAgICAgICAgaW50IHBjb3VudCA9IDE7CisKKyAgICAgICAgaWYgKGN0eC0+ZGljdCA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgcmVxdWlyZXMgYSBtYXBwaW5nIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgKytjdHgtPmZtdHBvczsKKyAgICAgICAgLS1jdHgtPmZtdGNudDsKKyAgICAgICAga2V5c3RhcnQgPSBjdHgtPmZtdHBvczsKKyAgICAgICAgLyogU2tpcCBvdmVyIGJhbGFuY2VkIHBhcmVudGhlc2VzICovCisgICAgICAgIHdoaWxlIChwY291bnQgPiAwICYmIC0tY3R4LT5mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgYXJnLT5jaCA9IEZPUk1BVF9SRUFEKGN0eCk7CisgICAgICAgICAgICBpZiAoYXJnLT5jaCA9PSAnKScpCisgICAgICAgICAgICAgICAgLS1wY291bnQ7CisgICAgICAgICAgICBlbHNlIGlmIChhcmctPmNoID09ICcoJykKKyAgICAgICAgICAgICAgICArK3Bjb3VudDsKKyAgICAgICAgICAgIGN0eC0+Zm10cG9zKys7CisgICAgICAgIH0KKyAgICAgICAga2V5bGVuID0gY3R4LT5mbXRwb3MgLSBrZXlzdGFydCAtIDE7CisgICAgICAgIGlmIChjdHgtPmZtdGNudCA8IDAgfHwgcGNvdW50ID4gMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluY29tcGxldGUgZm9ybWF0IGtleSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGtleSA9IFB5VW5pY29kZV9TdWJzdHJpbmcoY3R4LT5mbXRzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5c3RhcnQsIGtleXN0YXJ0ICsga2V5bGVuKTsKKyAgICAgICAgaWYgKGtleSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBpZiAoY3R4LT5hcmdzX293bmVkKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoY3R4LT5hcmdzKTsKKyAgICAgICAgICAgIGN0eC0+YXJnc19vd25lZCA9IDA7CisgICAgICAgIH0KKyAgICAgICAgY3R4LT5hcmdzID0gUHlPYmplY3RfR2V0SXRlbShjdHgtPmRpY3QsIGtleSk7CisgICAgICAgIFB5X0RFQ1JFRihrZXkpOworICAgICAgICBpZiAoY3R4LT5hcmdzID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGN0eC0+YXJnc19vd25lZCA9IDE7CisgICAgICAgIGN0eC0+YXJnbGVuID0gLTE7CisgICAgICAgIGN0eC0+YXJnaWR4ID0gLTI7CisgICAgfQorCisgICAgLyogUGFyc2UgZmxhZ3MuIEV4YW1wbGU6ICIlK2kiID0+IGZsYWdzPUZfU0lHTi4gKi8KKyAgICB3aGlsZSAoLS1jdHgtPmZtdGNudCA+PSAwKSB7CisgICAgICAgIGFyZy0+Y2ggPSBGT1JNQVRfUkVBRChjdHgpOworICAgICAgICBjdHgtPmZtdHBvcysrOworICAgICAgICBzd2l0Y2ggKGFyZy0+Y2gpIHsKKyAgICAgICAgY2FzZSAnLSc6IGFyZy0+ZmxhZ3MgfD0gRl9MSlVTVDsgY29udGludWU7CisgICAgICAgIGNhc2UgJysnOiBhcmctPmZsYWdzIHw9IEZfU0lHTjsgY29udGludWU7CisgICAgICAgIGNhc2UgJyAnOiBhcmctPmZsYWdzIHw9IEZfQkxBTks7IGNvbnRpbnVlOworICAgICAgICBjYXNlICcjJzogYXJnLT5mbGFncyB8PSBGX0FMVDsgY29udGludWU7CisgICAgICAgIGNhc2UgJzAnOiBhcmctPmZsYWdzIHw9IEZfWkVSTzsgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgLyogUGFyc2Ugd2lkdGguIEV4YW1wbGU6ICIlMTBzIiA9PiB3aWR0aD0xMCAqLworICAgIGlmIChhcmctPmNoID09ICcqJykgeworICAgICAgICB2ID0gdW5pY29kZV9mb3JtYXRfZ2V0bmV4dGFyZyhjdHgpOworICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBpZiAoIVB5TG9uZ19DaGVjayh2KSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKiB3YW50cyBpbnQiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBhcmctPndpZHRoID0gUHlMb25nX0FzU3NpemVfdCh2KTsKKyAgICAgICAgaWYgKGFyZy0+d2lkdGggPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKGFyZy0+d2lkdGggPCAwKSB7CisgICAgICAgICAgICBhcmctPmZsYWdzIHw9IEZfTEpVU1Q7CisgICAgICAgICAgICBhcmctPndpZHRoID0gLWFyZy0+d2lkdGg7CisgICAgICAgIH0KKyAgICAgICAgaWYgKC0tY3R4LT5mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgYXJnLT5jaCA9IEZPUk1BVF9SRUFEKGN0eCk7CisgICAgICAgICAgICBjdHgtPmZtdHBvcysrOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgaWYgKGFyZy0+Y2ggPj0gJzAnICYmIGFyZy0+Y2ggPD0gJzknKSB7CisgICAgICAgIGFyZy0+d2lkdGggPSBhcmctPmNoIC0gJzAnOworICAgICAgICB3aGlsZSAoLS1jdHgtPmZtdGNudCA+PSAwKSB7CisgICAgICAgICAgICBhcmctPmNoID0gRk9STUFUX1JFQUQoY3R4KTsKKyAgICAgICAgICAgIGN0eC0+Zm10cG9zKys7CisgICAgICAgICAgICBpZiAoYXJnLT5jaCA8ICcwJyB8fCBhcmctPmNoID4gJzknKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgLyogU2luY2UgYXJnLT5jaCBpcyB1bnNpZ25lZCwgdGhlIFJIUyB3b3VsZCBlbmQgdXAgYXMgdW5zaWduZWQsCisgICAgICAgICAgICAgICBtaXhpbmcgc2lnbmVkIGFuZCB1bnNpZ25lZCBjb21wYXJpc29uLiBTaW5jZSBhcmctPmNoIGlzIGJldHdlZW4KKyAgICAgICAgICAgICAgICcwJyBhbmQgJzknLCBjYXN0aW5nIHRvIGludCBpcyBzYWZlLiAqLworICAgICAgICAgICAgaWYgKGFyZy0+d2lkdGggPiAoUFlfU1NJWkVfVF9NQVggLSAoKGludClhcmctPmNoIC0gJzAnKSkgLyAxMCkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2lkdGggdG9vIGJpZyIpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGFyZy0+d2lkdGggPSBhcmctPndpZHRoKjEwICsgKGFyZy0+Y2ggLSAnMCcpOworICAgICAgICB9CisgICAgfQorCisgICAgLyogUGFyc2UgcHJlY2lzaW9uLiBFeGFtcGxlOiAiJS4zZiIgPT4gcHJlYz0zICovCisgICAgaWYgKGFyZy0+Y2ggPT0gJy4nKSB7CisgICAgICAgIGFyZy0+cHJlYyA9IDA7CisgICAgICAgIGlmICgtLWN0eC0+Zm10Y250ID49IDApIHsKKyAgICAgICAgICAgIGFyZy0+Y2ggPSBGT1JNQVRfUkVBRChjdHgpOworICAgICAgICAgICAgY3R4LT5mbXRwb3MrKzsKKyAgICAgICAgfQorICAgICAgICBpZiAoYXJnLT5jaCA9PSAnKicpIHsKKyAgICAgICAgICAgIHYgPSB1bmljb2RlX2Zvcm1hdF9nZXRuZXh0YXJnKGN0eCk7CisgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGlmICghUHlMb25nX0NoZWNrKHYpKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiogd2FudHMgaW50Iik7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYXJnLT5wcmVjID0gX1B5TG9uZ19Bc0ludCh2KTsKKyAgICAgICAgICAgIGlmIChhcmctPnByZWMgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAoYXJnLT5wcmVjIDwgMCkKKyAgICAgICAgICAgICAgICBhcmctPnByZWMgPSAwOworICAgICAgICAgICAgaWYgKC0tY3R4LT5mbXRjbnQgPj0gMCkgeworICAgICAgICAgICAgICAgIGFyZy0+Y2ggPSBGT1JNQVRfUkVBRChjdHgpOworICAgICAgICAgICAgICAgIGN0eC0+Zm10cG9zKys7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYXJnLT5jaCA+PSAnMCcgJiYgYXJnLT5jaCA8PSAnOScpIHsKKyAgICAgICAgICAgIGFyZy0+cHJlYyA9IGFyZy0+Y2ggLSAnMCc7CisgICAgICAgICAgICB3aGlsZSAoLS1jdHgtPmZtdGNudCA+PSAwKSB7CisgICAgICAgICAgICAgICAgYXJnLT5jaCA9IEZPUk1BVF9SRUFEKGN0eCk7CisgICAgICAgICAgICAgICAgY3R4LT5mbXRwb3MrKzsKKyAgICAgICAgICAgICAgICBpZiAoYXJnLT5jaCA8ICcwJyB8fCBhcmctPmNoID4gJzknKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBpZiAoYXJnLT5wcmVjID4gKElOVF9NQVggLSAoKGludClhcmctPmNoIC0gJzAnKSkgLyAxMCkgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVjaXNpb24gdG9vIGJpZyIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFyZy0+cHJlYyA9IGFyZy0+cHJlYyoxMCArIChhcmctPmNoIC0gJzAnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIElnbm9yZSAiaCIsICJsIiBhbmQgIkwiIGZvcm1hdCBwcmVmaXggKGV4OiAiJWhpIiBvciAiJWxzIikgKi8KKyAgICBpZiAoY3R4LT5mbXRjbnQgPj0gMCkgeworICAgICAgICBpZiAoYXJnLT5jaCA9PSAnaCcgfHwgYXJnLT5jaCA9PSAnbCcgfHwgYXJnLT5jaCA9PSAnTCcpIHsKKyAgICAgICAgICAgIGlmICgtLWN0eC0+Zm10Y250ID49IDApIHsKKyAgICAgICAgICAgICAgICBhcmctPmNoID0gRk9STUFUX1JFQUQoY3R4KTsKKyAgICAgICAgICAgICAgICBjdHgtPmZtdHBvcysrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIGlmIChjdHgtPmZtdGNudCA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiaW5jb21wbGV0ZSBmb3JtYXQiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gMDsKKworI3VuZGVmIEZPUk1BVF9SRUFECit9CisKKy8qIEZvcm1hdCBvbmUgYXJndW1lbnQuIFN1cHBvcnRlZCBjb252ZXJzaW9uIHNwZWNpZmllcnM6CisKKyAgIC0gInMiLCAiciIsICJhIjogYW55IHR5cGUKKyAgIC0gImkiLCAiZCIsICJ1IiwgIm8iLCAieCIsICJYIjogaW50CisgICAtICJlIiwgIkUiLCAiZiIsICJGIiwgImciLCAiRyI6IGZsb2F0CisgICAtICJjIjogaW50IG9yIHN0ciAoMSBjaGFyYWN0ZXIpCisKKyAgIFdoZW4gcG9zc2libGUsIHRoZSBvdXRwdXQgaXMgd3JpdHRlbiBkaXJlY3RseSBpbnRvIHRoZSBVbmljb2RlIHdyaXRlcgorICAgKGN0eC0+d3JpdGVyKS4gQSBzdHJpbmcgaXMgY3JlYXRlZCB3aGVuIHBhZGRpbmcgaXMgcmVxdWlyZWQuCisKKyAgIFJldHVybiAwIGlmIHRoZSBhcmd1bWVudCBoYXMgYmVlbiBmb3JtYXR0ZWQgaW50byAqcF9zdHIsCisgICAgICAgICAgMSBpZiB0aGUgYXJndW1lbnQgaGFzIGJlZW4gd3JpdHRlbiBpbnRvIGN0eC0+d3JpdGVyLAorICAgICAgICAgLTEgb24gZXJyb3IuICovCitzdGF0aWMgaW50Cit1bmljb2RlX2Zvcm1hdF9hcmdfZm9ybWF0KHN0cnVjdCB1bmljb2RlX2Zvcm1hdHRlcl90ICpjdHgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB1bmljb2RlX2Zvcm1hdF9hcmdfdCAqYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnBfc3RyKQoreworICAgIFB5T2JqZWN0ICp2OworICAgIF9QeVVuaWNvZGVXcml0ZXIgKndyaXRlciA9ICZjdHgtPndyaXRlcjsKKworICAgIGlmIChjdHgtPmZtdGNudCA9PSAwKQorICAgICAgICBjdHgtPndyaXRlci5vdmVyYWxsb2NhdGUgPSAwOworCisgICAgaWYgKGFyZy0+Y2ggPT0gJyUnKSB7CisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsICclJykgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICB2ID0gdW5pY29kZV9mb3JtYXRfZ2V0bmV4dGFyZyhjdHgpOworICAgIGlmICh2ID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworCisgICAgc3dpdGNoIChhcmctPmNoKSB7CisgICAgY2FzZSAncyc6CisgICAgY2FzZSAncic6CisgICAgY2FzZSAnYSc6CisgICAgICAgIGlmIChQeUxvbmdfQ2hlY2tFeGFjdCh2KSAmJiBhcmctPndpZHRoID09IC0xICYmIGFyZy0+cHJlYyA9PSAtMSkgeworICAgICAgICAgICAgLyogRmFzdCBwYXRoICovCisgICAgICAgICAgICBpZiAoX1B5TG9uZ19Gb3JtYXRXcml0ZXIod3JpdGVyLCB2LCAxMCwgYXJnLT5mbGFncyAmIEZfQUxUKSA9PSAtMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdCh2KSAmJiBhcmctPmNoID09ICdzJykgeworICAgICAgICAgICAgKnBfc3RyID0gdjsKKyAgICAgICAgICAgIFB5X0lOQ1JFRigqcF9zdHIpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgaWYgKGFyZy0+Y2ggPT0gJ3MnKQorICAgICAgICAgICAgICAgICpwX3N0ciA9IFB5T2JqZWN0X1N0cih2KTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGFyZy0+Y2ggPT0gJ3InKQorICAgICAgICAgICAgICAgICpwX3N0ciA9IFB5T2JqZWN0X1JlcHIodik7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgKnBfc3RyID0gUHlPYmplY3RfQVNDSUkodik7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlICdpJzoKKyAgICBjYXNlICdkJzoKKyAgICBjYXNlICd1JzoKKyAgICBjYXNlICdvJzoKKyAgICBjYXNlICd4JzoKKyAgICBjYXNlICdYJzoKKyAgICB7CisgICAgICAgIGludCByZXQgPSBtYWluZm9ybWF0bG9uZyh2LCBhcmcsIHBfc3RyLCB3cml0ZXIpOworICAgICAgICBpZiAocmV0ICE9IDApCisgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBhcmctPnNpZ24gPSAxOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBjYXNlICdlJzoKKyAgICBjYXNlICdFJzoKKyAgICBjYXNlICdmJzoKKyAgICBjYXNlICdGJzoKKyAgICBjYXNlICdnJzoKKyAgICBjYXNlICdHJzoKKyAgICAgICAgaWYgKGFyZy0+d2lkdGggPT0gLTEgJiYgYXJnLT5wcmVjID09IC0xCisgICAgICAgICAgICAmJiAhKGFyZy0+ZmxhZ3MgJiAoRl9TSUdOIHwgRl9CTEFOSykpKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBGYXN0IHBhdGggKi8KKyAgICAgICAgICAgIGlmIChmb3JtYXRmbG9hdCh2LCBhcmcsIE5VTEwsIHdyaXRlcikgPT0gLTEpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKworICAgICAgICBhcmctPnNpZ24gPSAxOworICAgICAgICBpZiAoZm9ybWF0ZmxvYXQodiwgYXJnLCBwX3N0ciwgTlVMTCkgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSAnYyc6CisgICAgeworICAgICAgICBQeV9VQ1M0IGNoID0gZm9ybWF0Y2hhcih2KTsKKyAgICAgICAgaWYgKGNoID09IChQeV9VQ1M0KSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKGFyZy0+d2lkdGggPT0gLTEgJiYgYXJnLT5wcmVjID09IC0xKSB7CisgICAgICAgICAgICAvKiBGYXN0IHBhdGggKi8KKyAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlQ2hhcklubGluZSh3cml0ZXIsIGNoKSA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICAgICAgKnBfc3RyID0gUHlVbmljb2RlX0Zyb21PcmRpbmFsKGNoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgZGVmYXVsdDoKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAidW5zdXBwb3J0ZWQgZm9ybWF0IGNoYXJhY3RlciAnJWMnICgweCV4KSAiCisgICAgICAgICAgICAgICAgICAgICAiYXQgaW5kZXggJXpkIiwKKyAgICAgICAgICAgICAgICAgICAgICgzMTw9YXJnLT5jaCAmJiBhcmctPmNoPD0xMjYpID8gKGNoYXIpYXJnLT5jaCA6ICc/JywKKyAgICAgICAgICAgICAgICAgICAgIChpbnQpYXJnLT5jaCwKKyAgICAgICAgICAgICAgICAgICAgIGN0eC0+Zm10cG9zIC0gMSk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKCpwX3N0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgYXNzZXJ0IChQeVVuaWNvZGVfQ2hlY2soKnBfc3RyKSk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3VuaWNvZGVfZm9ybWF0X2FyZ19vdXRwdXQoc3RydWN0IHVuaWNvZGVfZm9ybWF0dGVyX3QgKmN0eCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHVuaWNvZGVfZm9ybWF0X2FyZ190ICphcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdHIpCit7CisgICAgUHlfc3NpemVfdCBsZW47CisgICAgZW51bSBQeVVuaWNvZGVfS2luZCBraW5kOworICAgIHZvaWQgKnBidWY7CisgICAgUHlfc3NpemVfdCBwaW5kZXg7CisgICAgUHlfVUNTNCBzaWduY2hhcjsKKyAgICBQeV9zc2l6ZV90IGJ1ZmxlbjsKKyAgICBQeV9VQ1M0IG1heGNoYXI7CisgICAgUHlfc3NpemVfdCBzdWJsZW47CisgICAgX1B5VW5pY29kZVdyaXRlciAqd3JpdGVyID0gJmN0eC0+d3JpdGVyOworICAgIFB5X1VDUzQgZmlsbDsKKworICAgIGZpbGwgPSAnICc7CisgICAgaWYgKGFyZy0+c2lnbiAmJiBhcmctPmZsYWdzICYgRl9aRVJPKQorICAgICAgICBmaWxsID0gJzAnOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpOworICAgIGlmICgoYXJnLT53aWR0aCA9PSAtMSB8fCBhcmctPndpZHRoIDw9IGxlbikKKyAgICAgICAgJiYgKGFyZy0+cHJlYyA9PSAtMSB8fCBhcmctPnByZWMgPj0gbGVuKQorICAgICAgICAmJiAhKGFyZy0+ZmxhZ3MgJiAoRl9TSUdOIHwgRl9CTEFOSykpKQorICAgIHsKKyAgICAgICAgLyogRmFzdCBwYXRoICovCisgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1dyaXRlU3RyKHdyaXRlciwgc3RyKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogVHJ1bmNhdGUgdGhlIHN0cmluZyBmb3IgInMiLCAiciIgYW5kICJhIiBmb3JtYXRzCisgICAgICAgaWYgdGhlIHByZWNpc2lvbiBpcyBzZXQgKi8KKyAgICBpZiAoYXJnLT5jaCA9PSAncycgfHwgYXJnLT5jaCA9PSAncicgfHwgYXJnLT5jaCA9PSAnYScpIHsKKyAgICAgICAgaWYgKGFyZy0+cHJlYyA+PSAwICYmIGxlbiA+IGFyZy0+cHJlYykKKyAgICAgICAgICAgIGxlbiA9IGFyZy0+cHJlYzsKKyAgICB9CisKKyAgICAvKiBBZGp1c3Qgc2lnbiBhbmQgd2lkdGggKi8KKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyKTsKKyAgICBwYnVmID0gUHlVbmljb2RlX0RBVEEoc3RyKTsKKyAgICBwaW5kZXggPSAwOworICAgIHNpZ25jaGFyID0gJ1wwJzsKKyAgICBpZiAoYXJnLT5zaWduKSB7CisgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXgpOworICAgICAgICBpZiAoY2ggPT0gJy0nIHx8IGNoID09ICcrJykgeworICAgICAgICAgICAgc2lnbmNoYXIgPSBjaDsKKyAgICAgICAgICAgIGxlbi0tOworICAgICAgICAgICAgcGluZGV4Kys7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoYXJnLT5mbGFncyAmIEZfU0lHTikKKyAgICAgICAgICAgIHNpZ25jaGFyID0gJysnOworICAgICAgICBlbHNlIGlmIChhcmctPmZsYWdzICYgRl9CTEFOSykKKyAgICAgICAgICAgIHNpZ25jaGFyID0gJyAnOworICAgICAgICBlbHNlCisgICAgICAgICAgICBhcmctPnNpZ24gPSAwOworICAgIH0KKyAgICBpZiAoYXJnLT53aWR0aCA8IGxlbikKKyAgICAgICAgYXJnLT53aWR0aCA9IGxlbjsKKworICAgIC8qIFByZXBhcmUgdGhlIHdyaXRlciAqLworICAgIG1heGNoYXIgPSB3cml0ZXItPm1heGNoYXI7CisgICAgaWYgKCEoYXJnLT5mbGFncyAmIEZfTEpVU1QpKSB7CisgICAgICAgIGlmIChhcmctPnNpZ24pIHsKKyAgICAgICAgICAgIGlmICgoYXJnLT53aWR0aC0xKSA+IGxlbikKKyAgICAgICAgICAgICAgICBtYXhjaGFyID0gTUFYX01BWENIQVIobWF4Y2hhciwgZmlsbCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoYXJnLT53aWR0aCA+IGxlbikKKyAgICAgICAgICAgICAgICBtYXhjaGFyID0gTUFYX01BWENIQVIobWF4Y2hhciwgZmlsbCk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzdHIpID4gbWF4Y2hhcikgeworICAgICAgICBQeV9VQ1M0IHN0cm1heGNoYXIgPSBfUHlVbmljb2RlX0ZpbmRNYXhDaGFyKHN0ciwgMCwgcGluZGV4K2xlbik7CisgICAgICAgIG1heGNoYXIgPSBNQVhfTUFYQ0hBUihtYXhjaGFyLCBzdHJtYXhjaGFyKTsKKyAgICB9CisKKyAgICBidWZsZW4gPSBhcmctPndpZHRoOworICAgIGlmIChhcmctPnNpZ24gJiYgbGVuID09IGFyZy0+d2lkdGgpCisgICAgICAgIGJ1ZmxlbisrOworICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUod3JpdGVyLCBidWZsZW4sIG1heGNoYXIpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICAvKiBXcml0ZSB0aGUgc2lnbiBpZiBuZWVkZWQgKi8KKyAgICBpZiAoYXJnLT5zaWduKSB7CisgICAgICAgIGlmIChmaWxsICE9ICcgJykgeworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCB3cml0ZXItPnBvcywgc2lnbmNoYXIpOworICAgICAgICAgICAgd3JpdGVyLT5wb3MgKz0gMTsKKyAgICAgICAgfQorICAgICAgICBpZiAoYXJnLT53aWR0aCA+IGxlbikKKyAgICAgICAgICAgIGFyZy0+d2lkdGgtLTsKKyAgICB9CisKKyAgICAvKiBXcml0ZSB0aGUgbnVtZXJpYyBwcmVmaXggZm9yICJ4IiwgIlgiIGFuZCAibyIgZm9ybWF0cworICAgICAgIGlmIHRoZSBhbHRlcm5hdGUgZm9ybSBpcyB1c2VkLgorICAgICAgIEZvciBleGFtcGxlLCB3cml0ZSAiMHgiIGZvciB0aGUgIiUjeCIgZm9ybWF0LiAqLworICAgIGlmICgoYXJnLT5mbGFncyAmIEZfQUxUKSAmJiAoYXJnLT5jaCA9PSAneCcgfHwgYXJnLT5jaCA9PSAnWCcgfHwgYXJnLT5jaCA9PSAnbycpKSB7CisgICAgICAgIGFzc2VydChQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXgpID09ICcwJyk7CisgICAgICAgIGFzc2VydChQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXggKyAxKSA9PSBhcmctPmNoKTsKKyAgICAgICAgaWYgKGZpbGwgIT0gJyAnKSB7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUod3JpdGVyLT5raW5kLCB3cml0ZXItPmRhdGEsIHdyaXRlci0+cG9zLCAnMCcpOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCB3cml0ZXItPnBvcysxLCBhcmctPmNoKTsKKyAgICAgICAgICAgIHdyaXRlci0+cG9zICs9IDI7CisgICAgICAgICAgICBwaW5kZXggKz0gMjsKKyAgICAgICAgfQorICAgICAgICBhcmctPndpZHRoIC09IDI7CisgICAgICAgIGlmIChhcmctPndpZHRoIDwgMCkKKyAgICAgICAgICAgIGFyZy0+d2lkdGggPSAwOworICAgICAgICBsZW4gLT0gMjsKKyAgICB9CisKKyAgICAvKiBQYWQgbGVmdCB3aXRoIHRoZSBmaWxsIGNoYXJhY3RlciBpZiBuZWVkZWQgKi8KKyAgICBpZiAoYXJnLT53aWR0aCA+IGxlbiAmJiAhKGFyZy0+ZmxhZ3MgJiBGX0xKVVNUKSkgeworICAgICAgICBzdWJsZW4gPSBhcmctPndpZHRoIC0gbGVuOworICAgICAgICBGSUxMKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCBmaWxsLCB3cml0ZXItPnBvcywgc3VibGVuKTsKKyAgICAgICAgd3JpdGVyLT5wb3MgKz0gc3VibGVuOworICAgICAgICBhcmctPndpZHRoID0gbGVuOworICAgIH0KKworICAgIC8qIElmIHBhZGRpbmcgd2l0aCBzcGFjZXM6IHdyaXRlIHNpZ24gaWYgbmVlZGVkIGFuZC9vciBudW1lcmljIHByZWZpeCBpZgorICAgICAgIHRoZSBhbHRlcm5hdGUgZm9ybSBpcyB1c2VkICovCisgICAgaWYgKGZpbGwgPT0gJyAnKSB7CisgICAgICAgIGlmIChhcmctPnNpZ24pIHsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURSh3cml0ZXItPmtpbmQsIHdyaXRlci0+ZGF0YSwgd3JpdGVyLT5wb3MsIHNpZ25jaGFyKTsKKyAgICAgICAgICAgIHdyaXRlci0+cG9zICs9IDE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChhcmctPmZsYWdzICYgRl9BTFQpICYmIChhcmctPmNoID09ICd4JyB8fCBhcmctPmNoID09ICdYJyB8fCBhcmctPmNoID09ICdvJykpIHsKKyAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXgpID09ICcwJyk7CisgICAgICAgICAgICBhc3NlcnQoUHlVbmljb2RlX1JFQUQoa2luZCwgcGJ1ZiwgcGluZGV4KzEpID09IGFyZy0+Y2gpOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci0+a2luZCwgd3JpdGVyLT5kYXRhLCB3cml0ZXItPnBvcywgJzAnKTsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURSh3cml0ZXItPmtpbmQsIHdyaXRlci0+ZGF0YSwgd3JpdGVyLT5wb3MrMSwgYXJnLT5jaCk7CisgICAgICAgICAgICB3cml0ZXItPnBvcyArPSAyOworICAgICAgICAgICAgcGluZGV4ICs9IDI7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBXcml0ZSBjaGFyYWN0ZXJzICovCisgICAgaWYgKGxlbikgeworICAgICAgICBfUHlVbmljb2RlX0Zhc3RDb3B5Q2hhcmFjdGVycyh3cml0ZXItPmJ1ZmZlciwgd3JpdGVyLT5wb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciwgcGluZGV4LCBsZW4pOworICAgICAgICB3cml0ZXItPnBvcyArPSBsZW47CisgICAgfQorCisgICAgLyogUGFkIHJpZ2h0IHdpdGggdGhlIGZpbGwgY2hhcmFjdGVyIGlmIG5lZWRlZCAqLworICAgIGlmIChhcmctPndpZHRoID4gbGVuKSB7CisgICAgICAgIHN1YmxlbiA9IGFyZy0+d2lkdGggLSBsZW47CisgICAgICAgIEZJTEwod3JpdGVyLT5raW5kLCB3cml0ZXItPmRhdGEsICcgJywgd3JpdGVyLT5wb3MsIHN1Ymxlbik7CisgICAgICAgIHdyaXRlci0+cG9zICs9IHN1YmxlbjsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIEhlbHBlciBvZiBQeVVuaWNvZGVfRm9ybWF0KCk6IGZvcm1hdCBvbmUgYXJnLgorICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gLTEgb24gZXJyb3IuICovCitzdGF0aWMgaW50Cit1bmljb2RlX2Zvcm1hdF9hcmcoc3RydWN0IHVuaWNvZGVfZm9ybWF0dGVyX3QgKmN0eCkKK3sKKyAgICBzdHJ1Y3QgdW5pY29kZV9mb3JtYXRfYXJnX3QgYXJnOworICAgIFB5T2JqZWN0ICpzdHI7CisgICAgaW50IHJldDsKKworICAgIGFyZy5jaCA9IFB5VW5pY29kZV9SRUFEKGN0eC0+Zm10a2luZCwgY3R4LT5mbXRkYXRhLCBjdHgtPmZtdHBvcyk7CisgICAgYXJnLmZsYWdzID0gMDsKKyAgICBhcmcud2lkdGggPSAtMTsKKyAgICBhcmcucHJlYyA9IC0xOworICAgIGFyZy5zaWduID0gMDsKKyAgICBzdHIgPSBOVUxMOworCisgICAgcmV0ID0gdW5pY29kZV9mb3JtYXRfYXJnX3BhcnNlKGN0eCwgJmFyZyk7CisgICAgaWYgKHJldCA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmV0ID0gdW5pY29kZV9mb3JtYXRfYXJnX2Zvcm1hdChjdHgsICZhcmcsICZzdHIpOworICAgIGlmIChyZXQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChyZXQgIT0gMSkgeworICAgICAgICByZXQgPSB1bmljb2RlX2Zvcm1hdF9hcmdfb3V0cHV0KGN0eCwgJmFyZywgc3RyKTsKKyAgICAgICAgUHlfREVDUkVGKHN0cik7CisgICAgICAgIGlmIChyZXQgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKGN0eC0+ZGljdCAmJiAoY3R4LT5hcmdpZHggPCBjdHgtPmFyZ2xlbikgJiYgYXJnLmNoICE9ICclJykgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgc3RyaW5nIGZvcm1hdHRpbmciKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKwogUHlPYmplY3QgKgogUHlVbmljb2RlX0Zvcm1hdChQeU9iamVjdCAqZm9ybWF0LCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9zc2l6ZV90IGZtdGNudCwgZm10cG9zLCBhcmdsZW4sIGFyZ2lkeDsKLSAgICBpbnQgYXJnc19vd25lZCA9IDA7Ci0gICAgUHlPYmplY3QgKmRpY3QgPSBOVUxMOwotICAgIFB5T2JqZWN0ICp0ZW1wID0gTlVMTDsKLSAgICBQeU9iamVjdCAqc2Vjb25kID0gTlVMTDsKLSAgICBQeU9iamVjdCAqdWZvcm1hdDsKLSAgICB2b2lkICpmbXQ7Ci0gICAgZW51bSBQeVVuaWNvZGVfS2luZCBraW5kLCBmbXRraW5kOwotICAgIF9QeVVuaWNvZGVXcml0ZXIgd3JpdGVyOwotICAgIFB5X3NzaXplX3Qgc3VibGVuOwotICAgIFB5X1VDUzQgbWF4Y2hhcjsKKyAgICBzdHJ1Y3QgdW5pY29kZV9mb3JtYXR0ZXJfdCBjdHg7CiAKICAgICBpZiAoZm9ybWF0ID09IE5VTEwgfHwgYXJncyA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgdWZvcm1hdCA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KGZvcm1hdCk7Ci0gICAgaWYgKHVmb3JtYXQgPT0gTlVMTCkKKworICAgIGN0eC5mbXRzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChmb3JtYXQpOworICAgIGlmIChjdHguZm10c3RyID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodWZvcm1hdCkgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKHVmb3JtYXQpOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoY3R4LmZtdHN0cikgPT0gLTEpIHsKKyAgICAgICAgUHlfREVDUkVGKGN0eC5mbXRzdHIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgY3R4LmZtdGRhdGEgPSBQeVVuaWNvZGVfREFUQShjdHguZm10c3RyKTsKKyAgICBjdHguZm10a2luZCA9IFB5VW5pY29kZV9LSU5EKGN0eC5mbXRzdHIpOworICAgIGN0eC5mbXRjbnQgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChjdHguZm10c3RyKTsKKyAgICBjdHguZm10cG9zID0gMDsKIAotICAgIGZtdCA9IFB5VW5pY29kZV9EQVRBKHVmb3JtYXQpOwotICAgIGZtdGtpbmQgPSBQeVVuaWNvZGVfS0lORCh1Zm9ybWF0KTsKLSAgICBmbXRjbnQgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1Zm9ybWF0KTsKLSAgICBmbXRwb3MgPSAwOwotCi0gICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZ3cml0ZXIsIGZtdGNudCArIDEwMCk7CisgICAgX1B5VW5pY29kZVdyaXRlcl9Jbml0KCZjdHgud3JpdGVyKTsKKyAgICBjdHgud3JpdGVyLm1pbl9sZW5ndGggPSBjdHguZm10Y250ICsgMTAwOworICAgIGN0eC53cml0ZXIub3ZlcmFsbG9jYXRlID0gMTsKIAogICAgIGlmIChQeVR1cGxlX0NoZWNrKGFyZ3MpKSB7Ci0gICAgICAgIGFyZ2xlbiA9IFB5VHVwbGVfU2l6ZShhcmdzKTsKLSAgICAgICAgYXJnaWR4ID0gMDsKKyAgICAgICAgY3R4LmFyZ2xlbiA9IFB5VHVwbGVfU2l6ZShhcmdzKTsKKyAgICAgICAgY3R4LmFyZ2lkeCA9IDA7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBhcmdsZW4gPSAtMTsKLSAgICAgICAgYXJnaWR4ID0gLTI7CisgICAgICAgIGN0eC5hcmdsZW4gPSAtMTsKKyAgICAgICAgY3R4LmFyZ2lkeCA9IC0yOwogICAgIH0KKyAgICBjdHguYXJnc19vd25lZCA9IDA7CiAgICAgaWYgKFB5TWFwcGluZ19DaGVjayhhcmdzKSAmJiAhUHlUdXBsZV9DaGVjayhhcmdzKSAmJiAhUHlVbmljb2RlX0NoZWNrKGFyZ3MpKQotICAgICAgICBkaWN0ID0gYXJnczsKKyAgICAgICAgY3R4LmRpY3QgPSBhcmdzOworICAgIGVsc2UKKyAgICAgICAgY3R4LmRpY3QgPSBOVUxMOworICAgIGN0eC5hcmdzID0gYXJnczsKIAotICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcykgIT0gJyUnKSB7CisgICAgd2hpbGUgKC0tY3R4LmZtdGNudCA+PSAwKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChjdHguZm10a2luZCwgY3R4LmZtdGRhdGEsIGN0eC5mbXRwb3MpICE9ICclJykgewogICAgICAgICAgICAgUHlfc3NpemVfdCBub25mbXRwb3M7Ci0gICAgICAgICAgICBub25mbXRwb3MgPSBmbXRwb3MrKzsKLSAgICAgICAgICAgIHdoaWxlIChmbXRjbnQgPj0gMCAmJgotICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKSAhPSAnJScpIHsKLSAgICAgICAgICAgICAgICBmbXRwb3MrKzsKLSAgICAgICAgICAgICAgICBmbXRjbnQtLTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChmbXRjbnQgPCAwKQotICAgICAgICAgICAgICAgIGZtdHBvcy0tOwotICAgICAgICAgICAgc3VibGVuID0gZm10cG9zIC0gbm9uZm10cG9zOwotICAgICAgICAgICAgbWF4Y2hhciA9IF9QeVVuaWNvZGVfRmluZE1heENoYXIodWZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmZtdHBvcywgbm9uZm10cG9zICsgc3VibGVuKTsKLSAgICAgICAgICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUoJndyaXRlciwgc3VibGVuLCBtYXhjaGFyKSA9PSAtMSkKLSAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAKLSAgICAgICAgICAgIF9QeVVuaWNvZGVfRmFzdENvcHlDaGFyYWN0ZXJzKHdyaXRlci5idWZmZXIsIHdyaXRlci5wb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Zm9ybWF0LCBub25mbXRwb3MsIHN1Ymxlbik7Ci0gICAgICAgICAgICB3cml0ZXIucG9zICs9IHN1YmxlbjsKKyAgICAgICAgICAgIG5vbmZtdHBvcyA9IGN0eC5mbXRwb3MrKzsKKyAgICAgICAgICAgIHdoaWxlIChjdHguZm10Y250ID49IDAgJiYKKyAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChjdHguZm10a2luZCwgY3R4LmZtdGRhdGEsIGN0eC5mbXRwb3MpICE9ICclJykgeworICAgICAgICAgICAgICAgIGN0eC5mbXRwb3MrKzsKKyAgICAgICAgICAgICAgICBjdHguZm10Y250LS07CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoY3R4LmZtdGNudCA8IDApIHsKKyAgICAgICAgICAgICAgICBjdHguZm10cG9zLS07CisgICAgICAgICAgICAgICAgY3R4LndyaXRlci5vdmVyYWxsb2NhdGUgPSAwOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN1YnN0cmluZygmY3R4LndyaXRlciwgY3R4LmZtdHN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmZtdHBvcywgY3R4LmZtdHBvcykgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIC8qIEdvdCBhIGZvcm1hdCBzcGVjaWZpZXIgKi8KLSAgICAgICAgICAgIGludCBmbGFncyA9IDA7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IHdpZHRoID0gLTE7Ci0gICAgICAgICAgICBpbnQgcHJlYyA9IC0xOwotICAgICAgICAgICAgUHlfVUNTNCBjID0gJ1wwJzsKLSAgICAgICAgICAgIFB5X1VDUzQgZmlsbDsKLSAgICAgICAgICAgIGludCBzaWduOwotICAgICAgICAgICAgUHlfVUNTNCBzaWduY2hhcjsKLSAgICAgICAgICAgIGludCBpc251bW9rOwotICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBOVUxMOwotICAgICAgICAgICAgdm9pZCAqcGJ1ZiA9IE5VTEw7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IHBpbmRleCwgbGVuOwotICAgICAgICAgICAgUHlfVUNTNCBidWZtYXhjaGFyOwotICAgICAgICAgICAgUHlfc3NpemVfdCBidWZsZW47Ci0KLSAgICAgICAgICAgIGZtdHBvcysrOwotICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKTsKLSAgICAgICAgICAgIGlmIChjID09ICcoJykgewotICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qga2V5c3RhcnQ7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBrZXlsZW47Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKmtleTsKLSAgICAgICAgICAgICAgICBpbnQgcGNvdW50ID0gMTsKLQotICAgICAgICAgICAgICAgIGlmIChkaWN0ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgcmVxdWlyZXMgYSBtYXBwaW5nIik7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgKytmbXRwb3M7Ci0gICAgICAgICAgICAgICAgLS1mbXRjbnQ7Ci0gICAgICAgICAgICAgICAga2V5c3RhcnQgPSBmbXRwb3M7Ci0gICAgICAgICAgICAgICAgLyogU2tpcCBvdmVyIGJhbGFuY2VkIHBhcmVudGhlc2VzICovCi0gICAgICAgICAgICAgICAgd2hpbGUgKHBjb3VudCA+IDAgJiYgLS1mbXRjbnQgPj0gMCkgewotICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MpOwotICAgICAgICAgICAgICAgICAgICBpZiAoYyA9PSAnKScpCi0gICAgICAgICAgICAgICAgICAgICAgICAtLXBjb3VudDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnKCcpCi0gICAgICAgICAgICAgICAgICAgICAgICArK3Bjb3VudDsKLSAgICAgICAgICAgICAgICAgICAgZm10cG9zKys7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGtleWxlbiA9IGZtdHBvcyAtIGtleXN0YXJ0IC0gMTsKLSAgICAgICAgICAgICAgICBpZiAoZm10Y250IDwgMCB8fCBwY291bnQgPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluY29tcGxldGUgZm9ybWF0IGtleSIpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGtleSA9IFB5VW5pY29kZV9TdWJzdHJpbmcodWZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXN0YXJ0LCBrZXlzdGFydCArIGtleWxlbik7Ci0gICAgICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgaWYgKGFyZ3Nfb3duZWQpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOwotICAgICAgICAgICAgICAgICAgICBhcmdzX293bmVkID0gMDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYXJncyA9IFB5T2JqZWN0X0dldEl0ZW0oZGljdCwga2V5KTsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYoa2V5KTsKLSAgICAgICAgICAgICAgICBpZiAoYXJncyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYXJnc19vd25lZCA9IDE7Ci0gICAgICAgICAgICAgICAgYXJnbGVuID0gLTE7Ci0gICAgICAgICAgICAgICAgYXJnaWR4ID0gLTI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgewotICAgICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcysrKTsKLSAgICAgICAgICAgICAgICBzd2l0Y2ggKGMpIHsKLSAgICAgICAgICAgICAgICBjYXNlICctJzogZmxhZ3MgfD0gRl9MSlVTVDsgY29udGludWU7Ci0gICAgICAgICAgICAgICAgY2FzZSAnKyc6IGZsYWdzIHw9IEZfU0lHTjsgY29udGludWU7Ci0gICAgICAgICAgICAgICAgY2FzZSAnICc6IGZsYWdzIHw9IEZfQkxBTks7IGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIGNhc2UgJyMnOiBmbGFncyB8PSBGX0FMVDsgY29udGludWU7Ci0gICAgICAgICAgICAgICAgY2FzZSAnMCc6IGZsYWdzIHw9IEZfWkVSTzsgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGMgPT0gJyonKSB7Ci0gICAgICAgICAgICAgICAgdiA9IGdldG5leHRhcmcoYXJncywgYXJnbGVuLCAmYXJnaWR4KTsKLSAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIqIHdhbnRzIGludCIpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHdpZHRoID0gUHlMb25nX0FzU3NpemVfdCh2KTsKLSAgICAgICAgICAgICAgICBpZiAod2lkdGggPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgZmxhZ3MgfD0gRl9MSlVTVDsKLSAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAtd2lkdGg7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQotICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKyk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChjID49ICcwJyAmJiBjIDw9ICc5JykgewotICAgICAgICAgICAgICAgIHdpZHRoID0gYyAtICcwJzsKLSAgICAgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgewotICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKyk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjIDwgJzAnIHx8IGMgPiAnOScpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgLyogU2luY2UgYyBpcyB1bnNpZ25lZCwgdGhlIFJIUyB3b3VsZCBlbmQgdXAgYXMgdW5zaWduZWQsCi0gICAgICAgICAgICAgICAgICAgICAgIG1peGluZyBzaWduZWQgYW5kIHVuc2lnbmVkIGNvbXBhcmlzb24uIFNpbmNlIGMgaXMgYmV0d2VlbgotICAgICAgICAgICAgICAgICAgICAgICAnMCcgYW5kICc5JywgY2FzdGluZyB0byBpbnQgaXMgc2FmZS4gKi8KLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoID4gKFBZX1NTSVpFX1RfTUFYIC0gKChpbnQpYyAtICcwJykpIC8gMTApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aWR0aCB0b28gYmlnIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgd2lkdGggPSB3aWR0aCoxMCArIChjIC0gJzAnKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoYyA9PSAnLicpIHsKLSAgICAgICAgICAgICAgICBwcmVjID0gMDsKLSAgICAgICAgICAgICAgICBpZiAoLS1mbXRjbnQgPj0gMCkKLSAgICAgICAgICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKyspOwotICAgICAgICAgICAgICAgIGlmIChjID09ICcqJykgewotICAgICAgICAgICAgICAgICAgICB2ID0gZ2V0bmV4dGFyZyhhcmdzLCBhcmdsZW4sICZhcmdpZHgpOwotICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TG9uZ19DaGVjayh2KSkgewotICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKiB3YW50cyBpbnQiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBwcmVjID0gX1B5TG9uZ19Bc0ludCh2KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHByZWMgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHByZWMgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgcHJlYyA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQotICAgICAgICAgICAgICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKyspOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjID49ICcwJyAmJiBjIDw9ICc5JykgewotICAgICAgICAgICAgICAgICAgICBwcmVjID0gYyAtICcwJzsKLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKC0tZm10Y250ID49IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcysrKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjIDwgJzAnIHx8IGMgPiAnOScpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlYyA+IChJTlRfTUFYIC0gKChpbnQpYyAtICcwJykpIC8gMTApIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWMgdG9vIGJpZyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIHByZWMgPSBwcmVjKjEwICsgKGMgLSAnMCcpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSAvKiBwcmVjICovCi0gICAgICAgICAgICBpZiAoZm10Y250ID49IDApIHsKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSAnaCcgfHwgYyA9PSAnbCcgfHwgYyA9PSAnTCcpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKC0tZm10Y250ID49IDApCi0gICAgICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKyk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGZtdGNudCA8IDApIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluY29tcGxldGUgZm9ybWF0Iik7CisgICAgICAgICAgICBjdHguZm10cG9zKys7CisgICAgICAgICAgICBpZiAodW5pY29kZV9mb3JtYXRfYXJnKCZjdHgpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChmbXRjbnQgPT0gMCkKLSAgICAgICAgICAgICAgICB3cml0ZXIub3ZlcmFsbG9jYXRlID0gMDsKKyAgICAgICAgfQorICAgIH0KIAotICAgICAgICAgICAgaWYgKGMgPT0gJyUnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCAxLCAnJScpID09IC0xKQotICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci5raW5kLCB3cml0ZXIuZGF0YSwgd3JpdGVyLnBvcywgJyUnKTsKLSAgICAgICAgICAgICAgICB3cml0ZXIucG9zICs9IDE7Ci0gICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIHYgPSBnZXRuZXh0YXJnKGFyZ3MsIGFyZ2xlbiwgJmFyZ2lkeCk7Ci0gICAgICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLQotICAgICAgICAgICAgc2lnbiA9IDA7Ci0gICAgICAgICAgICBzaWduY2hhciA9ICdcMCc7Ci0gICAgICAgICAgICBmaWxsID0gJyAnOwotICAgICAgICAgICAgc3dpdGNoIChjKSB7Ci0KLSAgICAgICAgICAgIGNhc2UgJ3MnOgotICAgICAgICAgICAgY2FzZSAncic6Ci0gICAgICAgICAgICBjYXNlICdhJzoKLSAgICAgICAgICAgICAgICBpZiAoUHlMb25nX0NoZWNrRXhhY3QodikgJiYgd2lkdGggPT0gLTEgJiYgcHJlYyA9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICAvKiBGYXN0IHBhdGggKi8KLSAgICAgICAgICAgICAgICAgICAgaWYgKF9QeUxvbmdfRm9ybWF0V3JpdGVyKCZ3cml0ZXIsIHYsIDEwLCBmbGFncyAmIEZfQUxUKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0YXJnOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdCh2KSAmJiBjID09ICdzJykgewotICAgICAgICAgICAgICAgICAgICB0ZW1wID0gdjsKLSAgICAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKHRlbXApOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ3MnKQotICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IFB5T2JqZWN0X1N0cih2KTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAncicpCi0gICAgICAgICAgICAgICAgICAgICAgICB0ZW1wID0gUHlPYmplY3RfUmVwcih2KTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IFB5T2JqZWN0X0FTQ0lJKHYpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSAnaSc6Ci0gICAgICAgICAgICBjYXNlICdkJzoKLSAgICAgICAgICAgIGNhc2UgJ3UnOgotICAgICAgICAgICAgY2FzZSAnbyc6Ci0gICAgICAgICAgICBjYXNlICd4JzoKLSAgICAgICAgICAgIGNhc2UgJ1gnOgotICAgICAgICAgICAgICAgIGlmIChQeUxvbmdfQ2hlY2tFeGFjdCh2KQotICAgICAgICAgICAgICAgICAgICAmJiB3aWR0aCA9PSAtMSAmJiBwcmVjID09IC0xCi0gICAgICAgICAgICAgICAgICAgICYmICEoZmxhZ3MgJiAoRl9TSUdOIHwgRl9CTEFOSykpKQotICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgLyogRmFzdCBwYXRoICovCi0gICAgICAgICAgICAgICAgICAgIHN3aXRjaChjKQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2QnOgotICAgICAgICAgICAgICAgICAgICBjYXNlICdpJzoKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAndSc6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX1B5TG9uZ19Gb3JtYXRXcml0ZXIoJndyaXRlciwgdiwgMTAsIGZsYWdzICYgRl9BTFQpID09IC0xKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gbmV4dGFyZzsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAneCc6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX1B5TG9uZ19Gb3JtYXRXcml0ZXIoJndyaXRlciwgdiwgMTYsIGZsYWdzICYgRl9BTFQpID09IC0xKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gbmV4dGFyZzsKLSAgICAgICAgICAgICAgICAgICAgY2FzZSAnbyc6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX1B5TG9uZ19Gb3JtYXRXcml0ZXIoJndyaXRlciwgdiwgOCwgZmxhZ3MgJiBGX0FMVCkgPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0YXJnOwotICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpc251bW9rID0gMDsKLSAgICAgICAgICAgICAgICBpZiAoUHlOdW1iZXJfQ2hlY2sodikpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmlvYmo9TlVMTDsKLQotICAgICAgICAgICAgICAgICAgICBpZiAoUHlMb25nX0NoZWNrKHYpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpb2JqID0gdjsKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihpb2JqKTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlvYmogPSBQeU51bWJlcl9Mb25nKHYpOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGlmIChpb2JqIT1OVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoUHlMb25nX0NoZWNrKGlvYmopKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNudW1vayA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbiA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdGxvbmcoaW9iaiwgZmxhZ3MsIHByZWMsIChjID09ICdpJz8gJ2QnOiBjKSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGlvYmopOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGlvYmopOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICghaXNudW1vaykgewotICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiUlJWMgZm9ybWF0OiBhIG51bWJlciBpcyByZXF1aXJlZCwgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCAlLjIwMHMiLCAoY2hhciljLCBQeV9UWVBFKHYpLT50cF9uYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGX1pFUk8pCi0gICAgICAgICAgICAgICAgICAgIGZpbGwgPSAnMCc7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGNhc2UgJ2UnOgotICAgICAgICAgICAgY2FzZSAnRSc6Ci0gICAgICAgICAgICBjYXNlICdmJzoKLSAgICAgICAgICAgIGNhc2UgJ0YnOgotICAgICAgICAgICAgY2FzZSAnZyc6Ci0gICAgICAgICAgICBjYXNlICdHJzoKLSAgICAgICAgICAgICAgICBpZiAod2lkdGggPT0gLTEgJiYgcHJlYyA9PSAtMQotICAgICAgICAgICAgICAgICAgICAmJiAhKGZsYWdzICYgKEZfU0lHTiB8IEZfQkxBTkspKSkKLSAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIEZhc3QgcGF0aCAqLwotICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ZmxvYXQodiwgZmxhZ3MsIHByZWMsIGMsIE5VTEwsICZ3cml0ZXIpID09IC0xKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICBnb3RvIG5leHRhcmc7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgc2lnbiA9IDE7Ci0gICAgICAgICAgICAgICAgaWYgKGZsYWdzICYgRl9aRVJPKQotICAgICAgICAgICAgICAgICAgICBmaWxsID0gJzAnOwotICAgICAgICAgICAgICAgIGlmIChmb3JtYXRmbG9hdCh2LCBmbGFncywgcHJlYywgYywgJnRlbXAsIE5VTEwpID09IC0xKQotICAgICAgICAgICAgICAgICAgICB0ZW1wID0gTlVMTDsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSAnYyc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlfVUNTNCBjaCA9IGZvcm1hdGNoYXIodik7Ci0gICAgICAgICAgICAgICAgaWYgKGNoID09IChQeV9VQ1M0KSAtMSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIGlmICh3aWR0aCA9PSAtMSAmJiBwcmVjID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIEZhc3QgcGF0aCAqLwotICAgICAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9QcmVwYXJlKCZ3cml0ZXIsIDEsIGNoKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci5raW5kLCB3cml0ZXIuZGF0YSwgd3JpdGVyLnBvcywgY2gpOwotICAgICAgICAgICAgICAgICAgICB3cml0ZXIucG9zICs9IDE7Ci0gICAgICAgICAgICAgICAgICAgIGdvdG8gbmV4dGFyZzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgdGVtcCA9IFB5VW5pY29kZV9Gcm9tT3JkaW5hbChjaCk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bnN1cHBvcnRlZCBmb3JtYXQgY2hhcmFjdGVyICclYycgKDB4JXgpICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF0IGluZGV4ICV6ZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMTw9YyAmJiBjPD0xMjYpID8gKGNoYXIpYyA6ICc/JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCljLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbXRwb3MgLSAxKTsKLSAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodGVtcCA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgIGFzc2VydCAoUHlVbmljb2RlX0NoZWNrKHRlbXApKTsKLQotICAgICAgICAgICAgaWYgKHdpZHRoID09IC0xICYmIHByZWMgPT0gLTEKLSAgICAgICAgICAgICAgICAmJiAhKGZsYWdzICYgKEZfU0lHTiB8IEZfQkxBTkspKSkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvKiBGYXN0IHBhdGggKi8KLSAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cigmd3JpdGVyLCB0ZW1wKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIGdvdG8gbmV4dGFyZzsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh0ZW1wKSA9PSAtMSkgewotICAgICAgICAgICAgICAgIFB5X0NMRUFSKHRlbXApOwotICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh0ZW1wKTsKLSAgICAgICAgICAgIHBidWYgPSBQeVVuaWNvZGVfREFUQSh0ZW1wKTsKLSAgICAgICAgICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHRlbXApOwotCi0gICAgICAgICAgICBpZiAoYyA9PSAncycgfHwgYyA9PSAncicgfHwgYyA9PSAnYScpIHsKLSAgICAgICAgICAgICAgICBpZiAocHJlYyA+PSAwICYmIGxlbiA+IHByZWMpCi0gICAgICAgICAgICAgICAgICAgIGxlbiA9IHByZWM7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8qIHBidWYgaXMgaW5pdGlhbGl6ZWQgaGVyZS4gKi8KLSAgICAgICAgICAgIHBpbmRleCA9IDA7Ci0gICAgICAgICAgICBpZiAoc2lnbikgewotICAgICAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXgpOwotICAgICAgICAgICAgICAgIGlmIChjaCA9PSAnLScgfHwgY2ggPT0gJysnKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNpZ25jaGFyID0gY2g7Ci0gICAgICAgICAgICAgICAgICAgIGxlbi0tOwotICAgICAgICAgICAgICAgICAgICBwaW5kZXgrKzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZmxhZ3MgJiBGX1NJR04pCi0gICAgICAgICAgICAgICAgICAgIHNpZ25jaGFyID0gJysnOwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZsYWdzICYgRl9CTEFOSykKLSAgICAgICAgICAgICAgICAgICAgc2lnbmNoYXIgPSAnICc7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzaWduID0gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh3aWR0aCA8IGxlbikKLSAgICAgICAgICAgICAgICB3aWR0aCA9IGxlbjsKLQotICAgICAgICAgICAgLyogQ29tcHV0ZSB0aGUgbGVuZ3RoIGFuZCBtYXhpbXVtIGNoYXJhY3RlciBvZiB0aGUKLSAgICAgICAgICAgICAgIHdyaXR0ZW4gY2hhcmFjdGVycyAqLwotICAgICAgICAgICAgYnVmbWF4Y2hhciA9IDEyNzsKLSAgICAgICAgICAgIGlmICghKGZsYWdzICYgRl9MSlVTVCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoc2lnbikgewotICAgICAgICAgICAgICAgICAgICBpZiAoKHdpZHRoLTEpID4gbGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgYnVmbWF4Y2hhciA9IE1BWF9NQVhDSEFSKGJ1Zm1heGNoYXIsIGZpbGwpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoID4gbGVuKQotICAgICAgICAgICAgICAgICAgICAgICAgYnVmbWF4Y2hhciA9IE1BWF9NQVhDSEFSKGJ1Zm1heGNoYXIsIGZpbGwpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1heGNoYXIgPSBfUHlVbmljb2RlX0ZpbmRNYXhDaGFyKHRlbXAsIDAsIHBpbmRleCtsZW4pOwotICAgICAgICAgICAgYnVmbWF4Y2hhciA9IE1BWF9NQVhDSEFSKGJ1Zm1heGNoYXIsIG1heGNoYXIpOwotCi0gICAgICAgICAgICBidWZsZW4gPSB3aWR0aDsKLSAgICAgICAgICAgIGlmIChzaWduICYmIGxlbiA9PSB3aWR0aCkKLSAgICAgICAgICAgICAgICBidWZsZW4rKzsKLQotICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVXcml0ZXJfUHJlcGFyZSgmd3JpdGVyLCBidWZsZW4sIGJ1Zm1heGNoYXIpID09IC0xKQotICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLQotICAgICAgICAgICAgLyogV3JpdGUgY2hhcmFjdGVycyAqLwotICAgICAgICAgICAgaWYgKHNpZ24pIHsKLSAgICAgICAgICAgICAgICBpZiAoZmlsbCAhPSAnICcpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci5raW5kLCB3cml0ZXIuZGF0YSwgd3JpdGVyLnBvcywgc2lnbmNoYXIpOwotICAgICAgICAgICAgICAgICAgICB3cml0ZXIucG9zICs9IDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IGxlbikKLSAgICAgICAgICAgICAgICAgICAgd2lkdGgtLTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBGX0FMVCkgJiYgKGMgPT0gJ3gnIHx8IGMgPT0gJ1gnIHx8IGMgPT0gJ28nKSkgewotICAgICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXgpID09ICcwJyk7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCArIDEpID09IGMpOwotICAgICAgICAgICAgICAgIGlmIChmaWxsICE9ICcgJykgewotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUod3JpdGVyLmtpbmQsIHdyaXRlci5kYXRhLCB3cml0ZXIucG9zLCAnMCcpOwotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUod3JpdGVyLmtpbmQsIHdyaXRlci5kYXRhLCB3cml0ZXIucG9zKzEsIGMpOwotICAgICAgICAgICAgICAgICAgICB3cml0ZXIucG9zICs9IDI7Ci0gICAgICAgICAgICAgICAgICAgIHBpbmRleCArPSAyOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB3aWR0aCAtPSAyOwotICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8IDApCi0gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gMDsKLSAgICAgICAgICAgICAgICBsZW4gLT0gMjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh3aWR0aCA+IGxlbiAmJiAhKGZsYWdzICYgRl9MSlVTVCkpIHsKLSAgICAgICAgICAgICAgICBzdWJsZW4gPSB3aWR0aCAtIGxlbjsKLSAgICAgICAgICAgICAgICBGSUxMKHdyaXRlci5raW5kLCB3cml0ZXIuZGF0YSwgZmlsbCwgd3JpdGVyLnBvcywgc3VibGVuKTsKLSAgICAgICAgICAgICAgICB3cml0ZXIucG9zICs9IHN1YmxlbjsKLSAgICAgICAgICAgICAgICB3aWR0aCA9IGxlbjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChmaWxsID09ICcgJykgewotICAgICAgICAgICAgICAgIGlmIChzaWduKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURSh3cml0ZXIua2luZCwgd3JpdGVyLmRhdGEsIHdyaXRlci5wb3MsIHNpZ25jaGFyKTsKLSAgICAgICAgICAgICAgICAgICAgd3JpdGVyLnBvcyArPSAxOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoKGZsYWdzICYgRl9BTFQpICYmIChjID09ICd4JyB8fCBjID09ICdYJyB8fCBjID09ICdvJykpIHsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCkgPT0gJzAnKTsKLSAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCsxKSA9PSBjKTsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci5raW5kLCB3cml0ZXIuZGF0YSwgd3JpdGVyLnBvcywgJzAnKTsKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHdyaXRlci5raW5kLCB3cml0ZXIuZGF0YSwgd3JpdGVyLnBvcysxLCBjKTsKLSAgICAgICAgICAgICAgICAgICAgd3JpdGVyLnBvcyArPSAyOwotICAgICAgICAgICAgICAgICAgICBwaW5kZXggKz0gMjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmIChsZW4pIHsKLSAgICAgICAgICAgICAgICBfUHlVbmljb2RlX0Zhc3RDb3B5Q2hhcmFjdGVycyh3cml0ZXIuYnVmZmVyLCB3cml0ZXIucG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXAsIHBpbmRleCwgbGVuKTsKLSAgICAgICAgICAgICAgICB3cml0ZXIucG9zICs9IGxlbjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh3aWR0aCA+IGxlbikgewotICAgICAgICAgICAgICAgIHN1YmxlbiA9IHdpZHRoIC0gbGVuOwotICAgICAgICAgICAgICAgIEZJTEwod3JpdGVyLmtpbmQsIHdyaXRlci5kYXRhLCAnICcsIHdyaXRlci5wb3MsIHN1Ymxlbik7Ci0gICAgICAgICAgICAgICAgd3JpdGVyLnBvcyArPSBzdWJsZW47Ci0gICAgICAgICAgICB9Ci0KLW5leHRhcmc6Ci0gICAgICAgICAgICBpZiAoZGljdCAmJiAoYXJnaWR4IDwgYXJnbGVuKSAmJiBjICE9ICclJykgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub3QgYWxsIGFyZ3VtZW50cyBjb252ZXJ0ZWQgZHVyaW5nIHN0cmluZyBmb3JtYXR0aW5nIik7Ci0gICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfQ0xFQVIodGVtcCk7Ci0gICAgICAgIH0gLyogJyUnICovCi0gICAgfSAvKiB1bnRpbCBlbmQgKi8KLSAgICBpZiAoYXJnaWR4IDwgYXJnbGVuICYmICFkaWN0KSB7CisgICAgaWYgKGN0eC5hcmdpZHggPCBjdHguYXJnbGVuICYmICFjdHguZGljdCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhbGwgYXJndW1lbnRzIGNvbnZlcnRlZCBkdXJpbmcgc3RyaW5nIGZvcm1hdHRpbmciKTsKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KIAotICAgIGlmIChhcmdzX293bmVkKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICBpZiAoY3R4LmFyZ3Nfb3duZWQpIHsKKyAgICAgICAgUHlfREVDUkVGKGN0eC5hcmdzKTsKICAgICB9Ci0gICAgUHlfREVDUkVGKHVmb3JtYXQpOwotICAgIFB5X1hERUNSRUYodGVtcCk7Ci0gICAgUHlfWERFQ1JFRihzZWNvbmQpOwotICAgIHJldHVybiBfUHlVbmljb2RlV3JpdGVyX0ZpbmlzaCgmd3JpdGVyKTsKKyAgICBQeV9ERUNSRUYoY3R4LmZtdHN0cik7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVXcml0ZXJfRmluaXNoKCZjdHgud3JpdGVyKTsKIAogICBvbkVycm9yOgotICAgIFB5X0RFQ1JFRih1Zm9ybWF0KTsKLSAgICBQeV9YREVDUkVGKHRlbXApOwotICAgIFB5X1hERUNSRUYoc2Vjb25kKTsKLSAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJndyaXRlcik7Ci0gICAgaWYgKGFyZ3Nfb3duZWQpIHsKLSAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgIFB5X0RFQ1JFRihjdHguZm10c3RyKTsKKyAgICBfUHlVbmljb2RlV3JpdGVyX0RlYWxsb2MoJmN0eC53cml0ZXIpOworICAgIGlmIChjdHguYXJnc19vd25lZCkgeworICAgICAgICBQeV9ERUNSRUYoY3R4LmFyZ3MpOwogICAgIH0KICAgICByZXR1cm4gTlVMTDsKIH0KQEAgLTE0MjI2LDEyICsxNDU1NiwxMiBAQAogICAgIHQgPSBQeURpY3RfR2V0SXRlbShpbnRlcm5lZCwgcyk7CiAgICAgUHlfRU5EX0FMTE9XX1JFQ1VSU0lPTgogCi0gICAgICAgIGlmICh0KSB7Ci0gICAgICAgICAgICBQeV9JTkNSRUYodCk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoKnApOwotICAgICAgICAgICAgKnAgPSB0OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9CisgICAgaWYgKHQpIHsKKyAgICAgICAgUHlfSU5DUkVGKHQpOworICAgICAgICBQeV9ERUNSRUYoKnApOworICAgICAgICAqcCA9IHQ7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBQeVRocmVhZFN0YXRlX0dFVCgpLT5yZWN1cnNpb25fY3JpdGljYWwgPSAxOwogICAgIGlmIChQeURpY3RfU2V0SXRlbShpbnRlcm5lZCwgcywgcykgPCAwKSB7CmRpZmYgLS1naXQgYS9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmggYi9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmgKaW5kZXggNDZhOTJiYi4uMTAwOWJiMyAxMDA2NDQKLS0tIGEvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oCisrKyBiL09iamVjdHMvdW5pY29kZXR5cGVfZGIuaApAQCAtMTkxOSw3ICsxOTE5LDcgQEAKICAgICAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA1LCA1LCA1LCA1LCA1LCA5NSwgMjQ1LCAyNiwgMjIsIDIzLCAyNDYsIAogICAgIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCA1LCA1LCA1LCA1LCA1LCAwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgCiAgICAgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAogICAgIDI1LCAyNSwgMjUsIDYsIDYsIDYsIDYsIDI1LCA2LCA2LCA2LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKICAgICAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAxMTMsIDUsIDUsIApAQCAtMjU5MywxMCArMjU5MywxMCBAQAogICAgIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCiAgICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAogICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAyNTIsIDI1MiwgMTQxLCAxNDEsIDE0MSwgCiAgICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAogICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAyNTIsIDI1MiwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCisgICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAorICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKICAgICAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCiAgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCkBAIC0yOTI1LDYgKzI5MjUsOSBAQAogZG91YmxlIF9QeVVuaWNvZGVfVG9OdW1lcmljKFB5X1VDUzQgY2gpCiB7CiAgICAgc3dpdGNoIChjaCkgeworICAgIGNhc2UgMHgxMjQ1NjoKKyAgICBjYXNlIDB4MTI0NTc6CisgICAgICAgIHJldHVybiAoZG91YmxlKSAtMS4wOwogICAgIGNhc2UgMHgwRjMzOgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgLTEuMC8yLjA7CiAgICAgY2FzZSAweDAwMzA6CkBAIC0zNDI3LDYgKzM0MzAsOCBAQAogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMjAwMDAuMDsKICAgICBjYXNlIDB4MzI1MToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDIxLjA7CisgICAgY2FzZSAweDEyNDMyOgorICAgICAgICByZXR1cm4gKGRvdWJsZSkgMjE2MDAwLjA7CiAgICAgY2FzZSAweDMyNTI6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSAyMi4wOwogICAgIGNhc2UgMHgzMjUzOgpAQCAtMzcyMSw2ICszNzI2LDggQEAKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDQyLjA7CiAgICAgY2FzZSAweDMyQjg6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA0My4wOworICAgIGNhc2UgMHgxMjQzMzoKKyAgICAgICAgcmV0dXJuIChkb3VibGUpIDQzMjAwMC4wOwogICAgIGNhc2UgMHgzMkI5OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNDQuMDsKICAgICBjYXNlIDB4MzJCQToKZGlmZiAtLWdpdCBhL09iamVjdHMvd2Vha3JlZm9iamVjdC5jIGIvT2JqZWN0cy93ZWFrcmVmb2JqZWN0LmMKaW5kZXggYjQ5ZGNlZS4uYzA4M2Y4ZiAxMDA2NDQKLS0tIGEvT2JqZWN0cy93ZWFrcmVmb2JqZWN0LmMKKysrIGIvT2JqZWN0cy93ZWFrcmVmb2JqZWN0LmMKQEAgLTMzOCw2ICszMzgsMTEgQEAKIH0KIAogCitzdGF0aWMgUHlNZW1iZXJEZWYgd2Vha3JlZl9tZW1iZXJzW10gPSB7CisgICAgeyJfX2NhbGxiYWNrX18iLCBUX09CSkVDVCwgb2Zmc2V0b2YoUHlXZWFrUmVmZXJlbmNlLCB3cl9jYWxsYmFjayksIFJFQURPTkxZfSwKKyAgICB7TlVMTH0gLyogU2VudGluZWwgKi8KK307CisKIFB5VHlwZU9iamVjdAogX1B5V2Vha3JlZl9SZWZUeXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCkBAIC0zNjksNyArMzc0LDcgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVyKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVybmV4dCovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbWV0aG9kcyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfbWVtYmVycyovCisgICAgd2Vha3JlZl9tZW1iZXJzLCAgICAgICAgICAgIC8qdHBfbWVtYmVycyovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0c2V0Ki8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9iYXNlKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0Ki8KZGlmZiAtLWdpdCBhL1BDL1ZDNi9fY3R5cGVzLmRzcCBiL1BDL1ZDNi9fY3R5cGVzLmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWM5OGVhYy4uMDAwMDAwMAotLS0gYS9QQy9WQzYvX2N0eXBlcy5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSwxMzEgKzAsMCBAQAotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBQcm9qZWN0IEZpbGUgLSBOYW1lPSJfY3R5cGVzIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBHZW5lcmF0ZWQgQnVpbGQgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMA0KLSMgKiogRE8gTk9UIEVESVQgKioNCi0NCi0jIFRBUkdUWVBFICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIgMHgwMTAyDQotDQotQ0ZHPV9jdHlwZXMgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX2N0eXBlcy5tYWsiLg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFDQotIU1FU1NBR0UgYnkgZGVmaW5pbmcgdGhlIG1hY3JvIENGRyBvbiB0aGUgY29tbWFuZCBsaW5lLiBGb3IgZXhhbXBsZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX2N0eXBlcy5tYWsiIENGRz0iX2N0eXBlcyAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfY3R5cGVzIC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgIl9jdHlwZXMgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJfY3R5cGVzIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl9jdHlwZXMgLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxfY3R5cGVzIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9aaSAvTzIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0kgIi4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFkMWEwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL19jdHlwZXMucHlkIg0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJfY3R5cGVzIC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLWRlYnVnXF9jdHlwZXMiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9JICIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvYmFzZToiMHgxZDFhMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9fY3R5cGVzX2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJfY3R5cGVzIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIl9jdHlwZXMgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY3R5cGVzXGNhbGxiYWNrcy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjYWxscHJvYy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjZmllbGQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY3R5cGVzXG1hbGxvY19jbG9zdXJlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXHByZXBfY2lmLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY3R5cGVzXHN0Z2RpY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luMzIuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9fY3R5cGVzX3Rlc3QuZHNwIGIvUEMvVkM2L19jdHlwZXNfdGVzdC5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxZWIyMTcuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L19jdHlwZXNfdGVzdC5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9Il9jdHlwZXNfdGVzdCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4MDEwMg0KLQ0KLUNGRz1fY3R5cGVzX3Rlc3QgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX2N0eXBlc190ZXN0Lm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfY3R5cGVzX3Rlc3QubWFrIiBDRkc9Il9jdHlwZXNfdGVzdCAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfY3R5cGVzX3Rlc3QgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAiX2N0eXBlc190ZXN0IC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiX2N0eXBlc190ZXN0Ig0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl9jdHlwZXNfdGVzdCAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXF9jdHlwZXNfdGVzdCINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiTkRFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvWmkgL08yIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIk5ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIk5ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIk5ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL19jdHlwZXNfdGVzdC5weWQiDQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gIl9jdHlwZXNfdGVzdCAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xfY3R5cGVzX3Rlc3QiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL19jdHlwZXNfdGVzdF9kLnB5ZCIgL3BkYnR5cGU6c2VwdA0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTkRJRiANCi0NCi0jIEJlZ2luIFRhcmdldA0KLQ0KLSMgTmFtZSAiX2N0eXBlc190ZXN0IC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIl9jdHlwZXNfdGVzdCAtIFdpbjMyIERlYnVnIg0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY3R5cGVzXF9jdHlwZXNfdGVzdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L19lbGVtZW50dHJlZS5kc3AgYi9QQy9WQzYvX2VsZW1lbnR0cmVlLmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGRjMGNkZC4uMDAwMDAwMAotLS0gYS9QQy9WQzYvX2VsZW1lbnR0cmVlLmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9Il9lbGVtZW50dHJlZSIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4MDEwMg0KLQ0KLUNGRz1fZWxlbWVudHRyZWUgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX2VsZW1lbnR0cmVlLm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfZWxlbWVudHRyZWUubWFrIiBDRkc9Il9lbGVtZW50dHJlZSAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfZWxlbWVudHRyZWUgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAiX2VsZW1lbnR0cmVlIC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiX2VsZW1lbnR0cmVlIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl9lbGVtZW50dHJlZSAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXF9lbGVtZW50dHJlZSINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiTkRFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvWmkgL08yIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9JICIuLlwuLlxNb2R1bGVzXGV4cGF0IiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJOREVCVUciIC9EICJXSU4zMiIgL0QgIl9XSU5ET1dTIiAvRCAiWE1MX05TIiAvRCAiWE1MX0RURCIgL0QgIkJZVEVPUkRFUj0xMjM0IiAvRCAiWE1MX0NPTlRFWFRfQllURVM9MTAyNCIgL0QgIlVTRV9QWUVYUEFUX0NBUEkiIC9EICJYTUxfU1RBVElDIiAvRCAiSEFWRV9NRU1NT1ZFIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWQxMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vX2VsZW1lbnR0cmVlLnB5ZCINCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAiX2VsZW1lbnR0cmVlIC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLWRlYnVnXF9lbGVtZW50dHJlZSINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0kgIi4uXC4uXE1vZHVsZXNcZXhwYXQiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9EICJYTUxfTlMiIC9EICJYTUxfRFREIiAvRCAiQllURU9SREVSPTEyMzQiIC9EICJYTUxfQ09OVEVYVF9CWVRFUz0xMDI0IiAvRCAiVVNFX1BZRVhQQVRfQ0FQSSIgL0QgIlhNTF9TVEFUSUMiIC9EICJIQVZFX01FTU1PVkUiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvYmFzZToiMHgxZDEwMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9fZWxlbWVudHRyZWVfZC5weWQiIC9wZGJ0eXBlOnNlcHQNCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgIl9lbGVtZW50dHJlZSAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJfZWxlbWVudHRyZWUgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2VsZW1lbnR0cmVlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcZXhwYXRceG1sdG9rLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIFRhcmdldA0KLSMgRW5kIFByb2plY3QNCmRpZmYgLS1naXQgYS9QQy9WQzYvX21zaS5kc3AgYi9QQy9WQzYvX21zaS5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc2YTYxYmMuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L19tc2kuZHNwCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBQcm9qZWN0IEZpbGUgLSBOYW1lPSJfbXNpIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBHZW5lcmF0ZWQgQnVpbGQgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMA0KLSMgKiogRE8gTk9UIEVESVQgKioNCi0NCi0jIFRBUkdUWVBFICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIgMHgwMTAyDQotDQotQ0ZHPV9tc2kgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX21zaS5tYWsiLg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFDQotIU1FU1NBR0UgYnkgZGVmaW5pbmcgdGhlIG1hY3JvIENGRyBvbiB0aGUgY29tbWFuZCBsaW5lLiBGb3IgZXhhbXBsZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX21zaS5tYWsiIENGRz0iX21zaSAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfbXNpIC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgIl9tc2kgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJfbXNpIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl9tc2kgLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxfbXNpIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9aaSAvTzIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIGZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiAvbm9sb2dvIC9iYXNlOiIweDFkMWEwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL19tc2kucHlkIg0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJfbXNpIC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLWRlYnVnXF9tc2kiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIgL25vbG9nbyAvYmFzZToiMHgxZDFhMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9fbXNpX2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJfbXNpIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIl9tc2kgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFBDXF9tc2kuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9fbXVsdGlwcm9jZXNzaW5nLmRzcCBiL1BDL1ZDNi9fbXVsdGlwcm9jZXNzaW5nLmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTFiODQ3MC4uMDAwMDAwMAotLS0gYS9QQy9WQzYvX211bHRpcHJvY2Vzc2luZy5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBQcm9qZWN0IEZpbGUgLSBOYW1lPSJfbXVsdGlwcm9jZXNzaW5nIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBHZW5lcmF0ZWQgQnVpbGQgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMA0KLSMgKiogRE8gTk9UIEVESVQgKioNCi0NCi0jIFRBUkdUWVBFICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIgMHgwMTAyDQotDQotQ0ZHPV9tdWx0aXByb2Nlc3NpbmcgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX211bHRpcHJvY2Vzc2luZy5tYWsiLg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFDQotIU1FU1NBR0UgYnkgZGVmaW5pbmcgdGhlIG1hY3JvIENGRyBvbiB0aGUgY29tbWFuZCBsaW5lLiBGb3IgZXhhbXBsZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX211bHRpcHJvY2Vzc2luZy5tYWsiIENGRz0iX211bHRpcHJvY2Vzc2luZyAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfbXVsdGlwcm9jZXNzaW5nIC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgIl9tdWx0aXByb2Nlc3NpbmcgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJfbXVsdGlwcm9jZXNzaW5nIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl9tdWx0aXByb2Nlc3NpbmcgLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxfbXVsdGlwcm9jZXNzaW5nIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9aaSAvTzIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiB1c2VyMzIubGliIGtlcm5lbDMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiB3czJfMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUxRDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vX211bHRpcHJvY2Vzc2luZy5weWQiDQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gIl9tdWx0aXByb2Nlc3NpbmcgLSBXaW4zMiBEZWJ1ZyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdcX211bHRpcHJvY2Vzc2luZyINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiX0RFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiX0RFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiX0RFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL3BkYnR5cGU6c2VwdA0KLSMgQUREIExJTkszMiB1c2VyMzIubGliIGtlcm5lbDMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiB3czJfMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUxZDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vX211bHRpcHJvY2Vzc2luZ19kLnB5ZCIgL3BkYnR5cGU6c2VwdA0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTkRJRiANCi0NCi0jIEJlZ2luIFRhcmdldA0KLQ0KLSMgTmFtZSAiX211bHRpcHJvY2Vzc2luZyAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJfbXVsdGlwcm9jZXNzaW5nIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3NpbmdcbXVsdGlwcm9jZXNzaW5nLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHNlbWFwaG9yZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1x3aW4zMl9mdW5jdGlvbnMuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9fc29ja2V0LmRzcCBiL1BDL1ZDNi9fc29ja2V0LmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTVlZThmMi4uMDAwMDAwMAotLS0gYS9QQy9WQzYvX3NvY2tldC5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9Il9zb2NrZXQiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDAxMDINCi0NCi1DRkc9X3NvY2tldCAtIFdpbjMyIERlYnVnDQotIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLA0KLSFNRVNTQUdFIHVzZSB0aGUgRXhwb3J0IE1ha2VmaWxlIGNvbW1hbmQgYW5kIHJ1bg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfc29ja2V0Lm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfc29ja2V0Lm1hayIgQ0ZHPSJfc29ja2V0IC0gV2luMzIgRGVidWciDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgUG9zc2libGUgY2hvaWNlcyBmb3IgY29uZmlndXJhdGlvbiBhcmU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgIl9zb2NrZXQgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAiX3NvY2tldCAtIFdpbjMyIERlYnVnIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSANCi0NCi0jIEJlZ2luIFByb2plY3QNCi0jIFBST1AgQWxsb3dQZXJDb25maWdEZXBlbmRlbmNpZXMgMA0KLSMgUFJPUCBTY2NfUHJvak5hbWUgIl9zb2NrZXQiDQotIyBQUk9QIFNjY19Mb2NhbFBhdGggIi4uIg0KLUNQUD1jbC5leGUNCi1NVEw9bWlkbC5leGUNCi1SU0M9cmMuZXhlDQotDQotIUlGICAiJChDRkcpIiA9PSAiX3NvY2tldCAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXF9zb2NrZXQiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVCAvVzMgL0dYIC9PMiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvR1ggL1ppIC9PMiAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJOREVCVUciIC9EICJXSU4zMiIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIHVzZXIzMi5saWIga2VybmVsMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIHdzMl8zMi5saWIgL25vbG9nbyAvYmFzZToiMHgxZTFEMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9fc29ja2V0LnB5ZCINCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAiX3NvY2tldCAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xfc29ja2V0Ig0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVRkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJfREVCVUciIC9EICJXSU4zMiIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIHVzZXIzMi5saWIga2VybmVsMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIHdzMl8zMi5saWIgL25vbG9nbyAvYmFzZToiMHgxZTFEMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9fc29ja2V0X2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJfc29ja2V0IC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIl9zb2NrZXQgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIFRhcmdldA0KLSMgRW5kIFByb2plY3QNCmRpZmYgLS1naXQgYS9QQy9WQzYvX3NxbGl0ZTMuZHNwIGIvUEMvVkM2L19zcWxpdGUzLmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg2OTkzOC4uMDAwMDAwMAotLS0gYS9QQy9WQzYvX3NxbGl0ZTMuZHNwCisrKyAvZGV2L251bGwKQEAgLTEsMTMxICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0iX3NxbGl0ZTMiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDAxMDINCi0NCi1DRkc9X3NxbGl0ZTMgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX3NxbGl0ZTMubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgIl9zcWxpdGUzLm1hayIgQ0ZHPSJfc3FsaXRlMyAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfc3FsaXRlMyAtIFdpbjMyIFJlbGVhc2UiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFICJfc3FsaXRlMyAtIFdpbjMyIERlYnVnIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSANCi0NCi0jIEJlZ2luIFByb2plY3QNCi0jIFBST1AgQWxsb3dQZXJDb25maWdEZXBlbmRlbmNpZXMgMA0KLSMgUFJPUCBTY2NfUHJvak5hbWUgIl9zcWxpdGUzIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl9zcWxpdGUzIC0gV2luMzIgUmVsZWFzZSINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLXJlbGVhc2VcX3NxbGl0ZTMiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVCAvVzMgL0dYIC9PMiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvR1ggL1ppIC9PMiAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvSSAiLi5cLi5cLi5cc3FsaXRlLXNvdXJjZS0zLjMuNCIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL0QgTU9EVUxFX05BTUU9XCJzcWxpdGUzXCIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiB1c2VyMzIubGliIGtlcm5lbDMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAuLlwuLlwuLlxzcWxpdGUtc291cmNlLTMuMy40XHNxbGl0ZTMubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUxODAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vX3NxbGl0ZTMucHlkIg0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJfc3FsaXRlMyAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xfc3FsaXRlMyINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0kgIi4uXC4uXC4uXHNxbGl0ZS1zb3VyY2UtMy4zLjQiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9EIE1PRFVMRV9OQU1FPVwic3FsaXRlM1wiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIgdXNlcjMyLmxpYiBrZXJuZWwzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgLi5cLi5cLi5cc3FsaXRlLXNvdXJjZS0zLjMuNFxzcWxpdGUzLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFlMTgwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL19zcWxpdGUzX2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJfc3FsaXRlMyAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJfc3FsaXRlMyAtIFdpbjMyIERlYnVnIg0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfc3FsaXRlXGNhY2hlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfc3FsaXRlXGNvbm5lY3Rpb24uYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9zcWxpdGVcY3Vyc29yLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfc3FsaXRlXG1pY3JvcHJvdG9jb2xzLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfc3FsaXRlXG1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxwcmVwYXJlX3Byb3RvY29sLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfc3FsaXRlXHJvdy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxzdGF0ZW1lbnQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9zcWxpdGVcdXRpbC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L19zc2wuZHNwIGIvUEMvVkM2L19zc2wuZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOGJiOTkzLi4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9fc3NsLmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDg5ICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0iX3NzbCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRXh0ZXJuYWwgVGFyZ2V0IiAweDAxMDYNCi0NCi1DRkc9X3NzbCAtIFdpbjMyIERlYnVnDQotIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLA0KLSFNRVNTQUdFIHVzZSB0aGUgRXhwb3J0IE1ha2VmaWxlIGNvbW1hbmQgYW5kIHJ1bg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfc3NsLm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfc3NsLm1hayIgQ0ZHPSJfc3NsIC0gV2luMzIgRGVidWciDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgUG9zc2libGUgY2hvaWNlcyBmb3IgY29uZmlndXJhdGlvbiBhcmU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgIl9zc2wgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIEV4dGVybmFsIFRhcmdldCIpDQotIU1FU1NBR0UgIl9zc2wgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBFeHRlcm5hbCBUYXJnZXQiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIiDQotDQotIUlGICAiJChDRkcpIiA9PSAiX3NzbCAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIENtZF9MaW5lICJOTUFLRSAvZiBfc3NsLm1hayINCi0jIFBST1AgQkFTRSBSZWJ1aWxkX09wdCAiL2EiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0ZpbGUgIl9zc2wuZXhlIg0KLSMgUFJPUCBCQVNFIEJzY19OYW1lICJfc3NsLmJzYyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxfc3NsIg0KLSMgUFJPUCBDbWRfTGluZSAicHl0aG9uIGJ1aWxkX3NzbC5weSINCi0jIFBST1AgUmVidWlsZF9PcHQgIi1hIg0KLSMgUFJPUCBUYXJnZXRfRmlsZSAiX3NzbC5weWQiDQotIyBQUk9QIEJzY19OYW1lICIiDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAiX3NzbCAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIng4Ni10ZW1wLWRlYnVnXF9zc2wiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdcX3NzbCINCi0jIFBST1AgQkFTRSBDbWRfTGluZSAiTk1BS0UgL2YgX3NzbC5tYWsiDQotIyBQUk9QIEJBU0UgUmVidWlsZF9PcHQgIi9hIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9GaWxlICJfc3NsX2QucHlkIg0KLSMgUFJPUCBCQVNFIEJzY19OYW1lICJfc3NsX2QuYnNjIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xfc3NsIg0KLSMgUFJPUCBDbWRfTGluZSAicHl0aG9uX2QgLXUgYnVpbGRfc3NsLnB5IC1kIg0KLSMgUFJPUCBSZWJ1aWxkX09wdCAiLWEiDQotIyBQUk9QIFRhcmdldF9GaWxlICJfc3NsX2QucHlkIg0KLSMgUFJPUCBCc2NfTmFtZSAiIg0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJfc3NsIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIl9zc2wgLSBXaW4zMiBEZWJ1ZyINCi0NCi0hSUYgICIkKENGRykiID09ICJfc3NsIC0gV2luMzIgUmVsZWFzZSINCi0NCi0hRUxTRUlGICAiJChDRkcpIiA9PSAiX3NzbCAtIFdpbjMyIERlYnVnIg0KLQ0KLSFFTkRJRiANCi0NCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX3NzbC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L19zc2wubWFrIGIvUEMvVkM2L19zc2wubWFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzdhNjE0Li4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9fc3NsLm1haworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLQotIUlGREVGIERFQlVHCi1NT0RVTEU9X3NzbF9kLnB5ZAotVEVNUF9ESVI9eDg2LXRlbXAtZGVidWcvX3NzbAotQ0ZMQUdTPS9PZCAvWmkgL01EZCAvTERkIC9EREVCVUcgL0RfREVCVUcgL0RXSU4zMgotTEZMQUdTPS9ub2RlZmF1bHRsaWI6Im1zdmNydCIKLSFFTFNFCi1NT0RVTEU9X3NzbC5weWQKLVRFTVBfRElSPXg4Ni10ZW1wLXJlbGVhc2UvX3NzbAotQ0ZMQUdTPS9PeCAvTUQgL0xEIC9EV0lOMzIKLUxGTEFHUz0KLSFFTkRJRgotCi1JTkNMVURFUz0tSSAuLi8uLi9JbmNsdWRlIC1JIC4uIC1JICQoU1NMX0RJUikvaW5jMzIKLVNTTF9MSUJfRElSPSQoU1NMX0RJUikvb3V0MzIKLUxJQlM9Z2RpMzIubGliIHdzb2NrMzIubGliIHVzZXIzMi5saWIgYWR2YXBpMzIubGliIC9saWJwYXRoOiQoU1NMX0xJQl9ESVIpIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIKLQotU09VUkNFPS4uLy4uL01vZHVsZXMvX3NzbC5jICQoU1NMX0xJQl9ESVIpL2xpYmVheTMyLmxpYiAkKFNTTF9MSUJfRElSKS9zc2xlYXkzMi5saWIKLQotJChNT0RVTEUpOiAkKFNPVVJDRSkgLi4vKi5oIC4uLy4uL0luY2x1ZGUvKi5oCi0gICAgQGlmIG5vdCBleGlzdCAiJChURU1QX0RJUikvLiIgbWtkaXIgIiQoVEVNUF9ESVIpIgotICAgIGNsIC9ub2xvZ28gJChTT1VSQ0UpICQoQ0ZMQUdTKSAvRm8kKFRFTVBfRElSKVwkKi5vYmogJChJTkNMVURFUykgL2xpbmsgL291dDokKE1PRFVMRSkgJChMSUJTKSAkKExGTEFHUykKZGlmZiAtLWdpdCBhL1BDL1ZDNi9fdGVzdGNhcGkuZHNwIGIvUEMvVkM2L190ZXN0Y2FwaS5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlYWEyNWEuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L190ZXN0Y2FwaS5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9Il90ZXN0Y2FwaSIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4MDEwMg0KLQ0KLUNGRz1fdGVzdGNhcGkgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX3Rlc3RjYXBpLm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfdGVzdGNhcGkubWFrIiBDRkc9Il90ZXN0Y2FwaSAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJfdGVzdGNhcGkgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAiX3Rlc3RjYXBpIC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiX3Rlc3RjYXBpIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIl90ZXN0Y2FwaSAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXF90ZXN0Y2FwaSINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiTkRFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0QgIl9VU1JETEwiIC9EICJNTUFQX0VYUE9SVFMiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvTzIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIk1NQVBfRVhQT1JUUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweGMwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweGMwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2RsbCAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUxRjAwMDAiIC9kbGwgL21hY2hpbmU6STM4NiAvb3V0OiIuL190ZXN0Y2FwaS5weWQiDQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gIl90ZXN0Y2FwaSAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xfdGVzdGNhcGkiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVGQgL1czIC9HbSAvR1ggL1pJIC9PZCAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExMIiAvRCAiTU1BUF9FWFBPUlRTIiAvWVggL0ZEIC9HWiAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExMIiAvRCAiTU1BUF9FWFBPUlRTIiAvWVggL0ZEIC9HWiAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweGMwOSAvZCAiX0RFQlVHIg0KLSMgQUREIFJTQyAvbCAweGMwOSAvZCAiX0RFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUxRjAwMDAiIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9fdGVzdGNhcGlfZC5weWQiIC9wZGJ0eXBlOnNlcHQNCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgIl90ZXN0Y2FwaSAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJfdGVzdGNhcGkgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX3Rlc3RjYXBpbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIFRhcmdldA0KLSMgRW5kIFByb2plY3QNCmRpZmYgLS1naXQgYS9QQy9WQzYvX3RraW50ZXIuZHNwIGIvUEMvVkM2L190a2ludGVyLmRzcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQ2OWY1OS4uMDAwMDAwMAotLS0gYS9QQy9WQzYvX3RraW50ZXIuZHNwCisrKyAvZGV2L251bGwKQEAgLTEsMTAzICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0iX3RraW50ZXIiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDAxMDINCi0NCi1DRkc9X3RraW50ZXIgLSBXaW4zMiBSZWxlYXNlDQotIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLA0KLSFNRVNTQUdFIHVzZSB0aGUgRXhwb3J0IE1ha2VmaWxlIGNvbW1hbmQgYW5kIHJ1bg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJfdGtpbnRlci5tYWsiLg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFDQotIU1FU1NBR0UgYnkgZGVmaW5pbmcgdGhlIG1hY3JvIENGRyBvbiB0aGUgY29tbWFuZCBsaW5lLiBGb3IgZXhhbXBsZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiX3RraW50ZXIubWFrIiBDRkc9Il90a2ludGVyIC0gV2luMzIgUmVsZWFzZSINCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSAiX3RraW50ZXIgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAiX3RraW50ZXIgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJfdGtpbnRlciINCi0jIFBST1AgU2NjX0xvY2FsUGF0aCAiLi5cLi5cLi4iDQotQ1BQPWNsLmV4ZQ0KLU1UTD1taWRsLmV4ZQ0KLVJTQz1yYy5leGUNCi0NCi0hSUYgICIkKENGRykiID09ICJfdGtpbnRlciAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xfdGtpbnRlciINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0kgIi4uXC4uXC4uXHRjbHRrXGluY2x1ZGUiIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9EICJXSVRIX0FQUElOSVQiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIgLi5cLi5cLi5cdGNsdGtcbGliXHRrODVnLmxpYiAuLlwuLlwuLlx0Y2x0a1xsaWJcdGNsODVnLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiB1c2VyMzIubGliIGtlcm5lbDMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFlMTkwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL190a2ludGVyX2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gIl90a2ludGVyIC0gV2luMzIgUmVsZWFzZSINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLXJlbGVhc2VcX3RraW50ZXIiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVCAvVzMgL0dYIC9PMiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvR1ggL1ppIC9PMiAvSSAiLi5cLi5cLi5cdGNsdGtcaW5jbHVkZSIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL0QgIldJVEhfQVBQSU5JVCIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiAuLlwuLlwuLlx0Y2x0a1xsaWJcdGs4NS5saWIgLi5cLi5cLi5cdGNsdGtcbGliXHRjbDg1LmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiB1c2VyMzIubGliIGtlcm5lbDMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFlMTkwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL190a2ludGVyLnB5ZCINCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgIl90a2ludGVyIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIl90a2ludGVyIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF90a2ludGVyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1x0a2FwcGluaXQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9idWlsZF9zc2wucHkgYi9QQy9WQzYvYnVpbGRfc3NsLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NWFmMDg0Li4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9idWlsZF9zc2wucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyMjggKzAsMCBAQAotIyBTY3JpcHQgZm9yIGJ1aWxkaW5nIHRoZSBfc3NsIG1vZHVsZSBmb3IgV2luZG93cy4KLSMgVXNlcyBQZXJsIHRvIHNldHVwIHRoZSBPcGVuU1NMIGVudmlyb25tZW50IGNvcnJlY3RseQotIyBhbmQgYnVpbGQgT3BlblNTTCwgdGhlbiBpbnZva2VzIGEgc2ltcGxlIG5tYWtlIHNlc3Npb24KLSMgZm9yIF9zc2wucHlkIGl0c2VsZi4KLQotIyBUSEVPUkVUSUNBTExZLCB5b3UgY2FuOgotIyAqIFVucGFjayB0aGUgbGF0ZXN0IFNTTCByZWxlYXNlIG9uZSBsZXZlbCBhYm92ZSB5b3VyIG1haW4gUHl0aG9uIHNvdXJjZQotIyAgIGRpcmVjdG9yeS4gIEl0IGlzIGxpa2VseSB5b3Ugd2lsbCBhbHJlYWR5IGZpbmQgdGhlIHpsaWIgbGlicmFyeSBhbmQKLSMgICBhbnkgb3RoZXIgZXh0ZXJuYWwgcGFja2FnZXMgdGhlcmUuCi0jICogSW5zdGFsbCBBY3RpdmVQZXJsIGFuZCBlbnN1cmUgaXQgaXMgc29tZXdoZXJlIG9uIHlvdXIgcGF0aC4KLSMgKiBSdW4gdGhpcyBzY3JpcHQgZnJvbSB0aGUgUEMvVkM2IGRpcmVjdG9yeS4KLSMKLSMgaXQgc2hvdWxkIGNvbmZpZ3VyZSBhbmQgYnVpbGQgU1NMLCB0aGVuIGJ1aWxkIHRoZSBzc2wgUHl0aG9uIGV4dGVuc2lvbgotIyB3aXRob3V0IGludGVydmVudGlvbi4KLQotIyBNb2RpZmllZCBieSBDaHJpc3RpYW4gSGVpbWVzCi0jIE5vdyB0aGlzIHNjcmlwdCBzdXBwb3J0cyBwcmUtZ2VuZXJhdGVkIG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkgZmlsZXMuCi0jIERldmVsb3BlcnMgZG9uJ3QgbmVlZCBhbiBpbnN0YWxsYXRpb24gb2YgUGVybCBhbnltb3JlIHRvIGJ1aWxkIFB5dGhvbi4gQSBzdm4KLSMgY2hlY2tvdXQgZnJvbSBvdXIgc3ZuIHJlcG9zaXRvcnkgaXMgZW5vdWdoLgotCi1pbXBvcnQgb3MsIHN5cywgcmUsIHNodXRpbAotCi0jIEZpbmQgYWxsICJmb28uZXhlIiBmaWxlcyBvbiB0aGUgUEFUSC4KLWRlZiBmaW5kX2FsbF9vbl9wYXRoKGZpbGVuYW1lLCBleHRyYXMgPSBOb25lKToKLSAgICBlbnRyaWVzID0gb3MuZW52aXJvblsiUEFUSCJdLnNwbGl0KG9zLnBhdGhzZXApCi0gICAgcmV0ID0gW10KLSAgICBmb3IgcCBpbiBlbnRyaWVzOgotICAgICAgICBmbmFtZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocCwgZmlsZW5hbWUpKQotICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbmFtZSkgYW5kIGZuYW1lIG5vdCBpbiByZXQ6Ci0gICAgICAgICAgICByZXQuYXBwZW5kKGZuYW1lKQotICAgIGlmIGV4dHJhczoKLSAgICAgICAgZm9yIHAgaW4gZXh0cmFzOgotICAgICAgICAgICAgZm5hbWUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHAsIGZpbGVuYW1lKSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuYW1lKSBhbmQgZm5hbWUgbm90IGluIHJldDoKLSAgICAgICAgICAgICAgICByZXQuYXBwZW5kKGZuYW1lKQotICAgIHJldHVybiByZXQKLQotIyBGaW5kIGEgc3VpdGFibGUgUGVybCBpbnN0YWxsYXRpb24gZm9yIE9wZW5TU0wuCi0jIGN5Z3dpbiBwZXJsIGRvZXMgKm5vdCogd29yay4gIEFjdGl2ZVBlcmwgZG9lcy4KLSMgQmVpbmcgYSBQZXJsIGR1bW15LCB0aGUgc2ltcGxlc3Qgd2F5IEkgY2FuIGNoZWNrIGlzIGlmIHRoZSAiV2luMzIiIHBhY2thZ2UKLSMgaXMgYXZhaWxhYmxlLgotZGVmIGZpbmRfd29ya2luZ19wZXJsKHBlcmxzKToKLSAgICBmb3IgcGVybCBpbiBwZXJsczoKLSAgICAgICAgZmggPSBvcy5wb3BlbignIiVzIiAtZSAidXNlIFdpbjMyOyInICUgcGVybCkKLSAgICAgICAgZmgucmVhZCgpCi0gICAgICAgIHJjID0gZmguY2xvc2UoKQotICAgICAgICBpZiByYzoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIHJldHVybiBwZXJsCi0gICAgcHJpbnQoIkNhbiBub3QgZmluZCBhIHN1aXRhYmxlIFBFUkw6IikKLSAgICBpZiBwZXJsczoKLSAgICAgICAgcHJpbnQoIiB0aGUgZm9sbG93aW5nIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQ6IikKLSAgICAgICAgZm9yIHAgaW4gcGVybHM6Ci0gICAgICAgICAgICBwcmludCgiICIsIHApCi0gICAgICAgIHByaW50KCIgTm9uZSBvZiB0aGVzZSB2ZXJzaW9ucyBhcHBlYXIgc3VpdGFibGUgZm9yIGJ1aWxkaW5nIE9wZW5TU0wiKQotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCIgTk8gcGVybCBpbnRlcnByZXRlcnMgd2VyZSBmb3VuZCBvbiB0aGlzIG1hY2hpbmUgYXQgYWxsISIpCi0gICAgcHJpbnQoIiBQbGVhc2UgaW5zdGFsbCBBY3RpdmVQZXJsIGFuZCBlbnN1cmUgaXQgYXBwZWFycyBvbiB5b3VyIHBhdGgiKQotICAgIHJldHVybiBOb25lCi0KLSMgTG9jYXRlIHRoZSBiZXN0IFNTTCBkaXJlY3RvcnkgZ2l2ZW4gYSBmZXcgcm9vdHMgdG8gbG9vayBpbnRvLgotZGVmIGZpbmRfYmVzdF9zc2xfZGlyKHNvdXJjZXMpOgotICAgIGNhbmRpZGF0ZXMgPSBbXQotICAgIGZvciBzIGluIHNvdXJjZXM6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgICMgbm90ZTogZG8gbm90IGFic3BhdGggczsgdGhlIGJ1aWxkIHdpbGwgZmFpbCBpZiBhbnkKLSAgICAgICAgICAgICMgaGlnaGVyIHVwIGRpcmVjdG9yeSBuYW1lIGhhcyBzcGFjZXMgaW4gaXQuCi0gICAgICAgICAgICBmbmFtZXMgPSBvcy5saXN0ZGlyKHMpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKLSAgICAgICAgICAgIGZuYW1lcyA9IFtdCi0gICAgICAgIGZvciBmbmFtZSBpbiBmbmFtZXM6Ci0gICAgICAgICAgICBmcW4gPSBvcy5wYXRoLmpvaW4ocywgZm5hbWUpCi0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKGZxbikgYW5kIGZuYW1lLnN0YXJ0c3dpdGgoIm9wZW5zc2wtIik6Ci0gICAgICAgICAgICAgICAgY2FuZGlkYXRlcy5hcHBlbmQoZnFuKQotICAgICMgTm93IHdlIGhhdmUgYWxsIHRoZSBjYW5kaWRhdGVzLCBsb2NhdGUgdGhlIGJlc3QuCi0gICAgYmVzdF9wYXJ0cyA9IFtdCi0gICAgYmVzdF9uYW1lID0gTm9uZQotICAgIGZvciBjIGluIGNhbmRpZGF0ZXM6Ci0gICAgICAgIHBhcnRzID0gcmUuc3BsaXQoIlsuLV0iLCBvcy5wYXRoLmJhc2VuYW1lKGMpKVsxOl0KLSAgICAgICAgIyBlZyAtIG9wZW5zc2wtMC45LjctYmV0YTEgLSBpZ25vcmUgYWxsICJiZXRhIiBvciBhbnkgb3RoZXIgcXVhbGlmaWVycwotICAgICAgICBpZiBsZW4ocGFydHMpID49IDQ6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiBwYXJ0cyA+IGJlc3RfcGFydHM6Ci0gICAgICAgICAgICBiZXN0X3BhcnRzID0gcGFydHMKLSAgICAgICAgICAgIGJlc3RfbmFtZSA9IGMKLSAgICBpZiBiZXN0X25hbWUgaXMgbm90IE5vbmU6Ci0gICAgICAgIHByaW50KCJGb3VuZCBhbiBTU0wgZGlyZWN0b3J5IGF0ICclcyciICUgKGJlc3RfbmFtZSwpKQotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCJDb3VsZCBub3QgZmluZCBhbiBTU0wgZGlyZWN0b3J5IGluICclcyciICUgKHNvdXJjZXMsKSkKLSAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICByZXR1cm4gYmVzdF9uYW1lCi0KLWRlZiBmaXhfbWFrZWZpbGUobWFrZWZpbGUpOgotICAgICIiIkZpeCBzb21lIHN0dWZmIGluIGFsbCBtYWtlZmlsZXMKLSAgICAiIiIKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpOgotICAgICAgICByZXR1cm4KLSAgICB3aXRoIG9wZW4obWFrZWZpbGUpIGFzIGZpbjoKLSAgICAgICAgbGluZXMgPSBmaW4ucmVhZGxpbmVzKCkKLSAgICB3aXRoIG9wZW4obWFrZWZpbGUsICd3JykgYXMgZm91dDoKLSAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6Ci0gICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIlBFUkw9Iik6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiQ1A9Iik6Ci0gICAgICAgICAgICAgICAgbGluZSA9ICJDUD1jb3B5XG4iCi0gICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoIk1LRElSPSIpOgotICAgICAgICAgICAgICAgIGxpbmUgPSAiTUtESVI9bWtkaXJcbiIKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiQ0ZMQUc9Iik6Ci0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3RyaXAoKQotICAgICAgICAgICAgICAgIGZvciBhbGdvIGluICgiUkM1IiwgIk1EQzIiLCAiSURFQSIpOgotICAgICAgICAgICAgICAgICAgICBub2FsZ28gPSAiIC1ET1BFTlNTTF9OT18lcyIgJSBhbGdvCi0gICAgICAgICAgICAgICAgICAgIGlmIG5vYWxnbyBub3QgaW4gbGluZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lICsgbm9hbGdvCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUgKyAnXG4nCi0gICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCi0KLWRlZiBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KToKLSAgICBwcmludCgicGVybCBDb25maWd1cmUgIitjb25maWd1cmUpCi0gICAgb3Muc3lzdGVtKCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSkKLSAgICBwcmludChkb19zY3JpcHQpCi0gICAgb3Muc3lzdGVtKGRvX3NjcmlwdCkKLQotZGVmIGNtcChmMSwgZjIpOgotICAgIGJ1ZnNpemUgPSAxMDI0ICogOAotICAgIHdpdGggb3BlbihmMSwgJ3JiJykgYXMgZnAxLCBvcGVuKGYyLCAncmInKSBhcyBmcDI6Ci0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBiMSA9IGZwMS5yZWFkKGJ1ZnNpemUpCi0gICAgICAgICAgICBiMiA9IGZwMi5yZWFkKGJ1ZnNpemUpCi0gICAgICAgICAgICBpZiBiMSAhPSBiMjoKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgIGlmIG5vdCBiMToKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotCi1kZWYgY29weShzcmMsIGRzdCk6Ci0gICAgaWYgb3MucGF0aC5pc2ZpbGUoZHN0KSBhbmQgY21wKHNyYywgZHN0KToKLSAgICAgICAgcmV0dXJuCi0gICAgc2h1dGlsLmNvcHkoc3JjLCBkc3QpCi0KLWRlZiBtYWluKCk6Ci0gICAgZGVidWcgPSAiLWQiIGluIHN5cy5hcmd2Ci0gICAgYnVpbGRfYWxsID0gIi1hIiBpbiBzeXMuYXJndgotICAgIGlmIDE6ICMgV2luMzIKLSAgICAgICAgYXJjaCA9ICJ4ODYiCi0gICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU4zMiIKLSAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb19uYXNtIgotICAgICAgICBtYWtlZmlsZT0ibXNcXG50Lm1hayIKLSAgICAgICAgbTMyID0gbWFrZWZpbGUKLSAgICAgICAgZGlyc3VmZml4ID0gIjMyIgotICAgIGNvbmZpZ3VyZSArPSAiIG5vLWlkZWEgbm8tcmM1IG5vLW1kYzIiCi0gICAgbWFrZV9mbGFncyA9ICIiCi0gICAgaWYgYnVpbGRfYWxsOgotICAgICAgICBtYWtlX2ZsYWdzID0gIi1hIgotICAgICMgcGVybCBzaG91bGQgYmUgb24gdGhlIHBhdGgsIGJ1dCB3ZSBhbHNvIGxvb2sgaW4gIlxwZXJsIiBhbmQgImM6XFxwZXJsIgotICAgICMgYXMgIndlbGwga25vd24iIGxvY2F0aW9ucwotICAgIHBlcmxzID0gZmluZF9hbGxfb25fcGF0aCgicGVybC5leGUiLCBbIlxccGVybFxcYmluIiwgIkM6XFxwZXJsXFxiaW4iXSkKLSAgICBwZXJsID0gZmluZF93b3JraW5nX3BlcmwocGVybHMpCi0gICAgaWYgcGVybDoKLSAgICAgICAgcHJpbnQoIkZvdW5kIGEgd29ya2luZyBwZXJsIGF0ICclcyciICUgKHBlcmwsKSkKLSAgICBlbHNlOgotICAgICAgICBwcmludCgiTm8gUGVybCBpbnN0YWxsYXRpb24gd2FzIGZvdW5kLiBFeGlzdGluZyBNYWtlZmlsZXMgYXJlIHVzZWQuIikKLSAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAjIExvb2sgZm9yIFNTTCAzIGxldmVscyB1cCBmcm9tIFBDL1ZDNiAtIGllLCBzYW1lIHBsYWNlIHpsaWIgZXRjIGFsbCBsaXZlLgotICAgIHNzbF9kaXIgPSBmaW5kX2Jlc3Rfc3NsX2RpcigoIi4uXFwuLlxcLi4iLCkpCi0gICAgaWYgc3NsX2RpciBpcyBOb25lOgotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgb2xkX2NkID0gb3MuZ2V0Y3dkKCkKLSAgICB0cnk6Ci0gICAgICAgIG9zLmNoZGlyKHNzbF9kaXIpCi0gICAgICAgICMgSWYgdGhlIHNzbCBtYWtlZmlsZXMgZG8gbm90IGV4aXN0LCB3ZSBpbnZva2UgUGVybCB0byBnZW5lcmF0ZSB0aGVtLgotICAgICAgICAjIER1ZSB0byBhIGJ1ZyBpbiB0aGlzIHNjcmlwdCwgdGhlIG1ha2VmaWxlIHNvbWV0aW1lcyBlbmRlZCB1cCBlbXB0eQotICAgICAgICAjIEZvcmNlIGEgcmVnZW5lcmF0aW9uIGlmIGl0IGlzLgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpIG9yIG9zLnBhdGguZ2V0c2l6ZShtYWtlZmlsZSk9PTA6Ci0gICAgICAgICAgICBpZiBwZXJsIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIlBlcmwgaXMgcmVxdWlyZWQgdG8gYnVpbGQgdGhlIG1ha2VmaWxlcyEiKQotICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0KLSAgICAgICAgICAgIHByaW50KCJDcmVhdGluZyB0aGUgbWFrZWZpbGVzLi4uIikKLSAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICAgICAgICAgIyBQdXQgb3VyIHdvcmtpbmcgUGVybCBhdCB0aGUgZnJvbnQgb2Ygb3VyIHBhdGgKLSAgICAgICAgICAgIG9zLmVudmlyb25bIlBBVEgiXSA9IG9zLnBhdGguZGlybmFtZShwZXJsKSArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGhzZXAgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0KLSAgICAgICAgICAgIHJ1bl9jb25maWd1cmUoY29uZmlndXJlLCBkb19zY3JpcHQpCi0gICAgICAgICAgICBpZiBkZWJ1ZzoKLSAgICAgICAgICAgICAgICBwcmludCgiT3BlblNTTCBkZWJ1ZyBidWlsZHMgYXJlbid0IHN1cHBvcnRlZC4iKQotICAgICAgICAgICAgI2lmIGFyY2g9PSJ4ODYiIGFuZCBkZWJ1ZzoKLSAgICAgICAgICAgICMgICAgIyB0aGUgZG9fbWFzbSBzY3JpcHQgaW4gb3BlbnNzbCBkb2Vzbid0IGdlbmVyYXRlIGEgZGVidWcKLSAgICAgICAgICAgICMgICAgIyBidWlsZCBtYWtlZmlsZSBzbyB3ZSBnZW5lcmF0ZSBpdCBoZXJlOgotICAgICAgICAgICAgIyAgICBvcy5zeXN0ZW0oInBlcmwgdXRpbFxtazFtZi5wbCBkZWJ1ZyAiK2NvbmZpZ3VyZSsiID4iK21ha2VmaWxlKQotCi0gICAgICAgICAgICBmaXhfbWFrZWZpbGUobWFrZWZpbGUpCi0gICAgICAgICAgICBjb3B5KHIiY3J5cHRvXGJ1aWxkaW5mLmgiLCByImNyeXB0b1xidWlsZGluZl8lcy5oIiAlIGFyY2gpCi0gICAgICAgICAgICBjb3B5KHIiY3J5cHRvXG9wZW5zc2xjb25mLmgiLCByImNyeXB0b1xvcGVuc3NsY29uZl8lcy5oIiAlIGFyY2gpCi0KLSAgICAgICAgIyBJZiB0aGUgYXNzZW1ibGVyIGZpbGVzIGRvbid0IGV4aXN0IGluIHRtcFhYLCBjb3B5IHRoZW0gdGhlcmUKLSAgICAgICAgaWYgcGVybCBpcyBOb25lIGFuZCBvcy5wYXRoLmV4aXN0cygiYXNtIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKCJ0bXAiK2RpcnN1ZmZpeCk6Ci0gICAgICAgICAgICAgICAgb3MubWtkaXIoInRtcCIrZGlyc3VmZml4KQotICAgICAgICAgICAgZm9yIGYgaW4gb3MubGlzdGRpcigiYXNtIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBmLmVuZHN3aXRoKCIuYXNtIik6IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUociJ0bXAlc1wlcyIgJSAoZGlyc3VmZml4LCBmKSk6IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkociJhc20lc1wlcyIgJSAoZGlyc3VmZml4LCBmKSwgInRtcCIrZGlyc3VmZml4KQotCi0gICAgICAgICMgTm93IHJ1biBtYWtlLgotICAgICAgICBjb3B5KHIiY3J5cHRvXGJ1aWxkaW5mXyVzLmgiICUgYXJjaCwgciJjcnlwdG9cYnVpbGRpbmYuaCIpCi0gICAgICAgIGNvcHkociJjcnlwdG9cb3BlbnNzbGNvbmZfJXMuaCIgJSBhcmNoLCByImNyeXB0b1xvcGVuc3NsY29uZi5oIikKLQotICAgICAgICAjbWFrZUNvbW1hbmQgPSAibm1ha2UgL25vbG9nbyBQRVJMPVwiJXNcIiAtZiBcIiVzXCIiICUocGVybCwgbWFrZWZpbGUpCi0gICAgICAgIG1ha2VDb21tYW5kID0gIm5tYWtlIC9ub2xvZ28gLWYgXCIlc1wiIiAlIG1ha2VmaWxlCi0gICAgICAgIHByaW50KCJFeGVjdXRpbmcgc3NsIG1ha2VmaWxlczoiLCBtYWtlQ29tbWFuZCkKLSAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgICAgIHJjID0gb3Muc3lzdGVtKG1ha2VDb21tYW5kKQotICAgICAgICBpZiByYzoKLSAgICAgICAgICAgIHByaW50KCJFeGVjdXRpbmcgIittYWtlZmlsZSsiIGZhaWxlZCIpCi0gICAgICAgICAgICBwcmludChyYykKLSAgICAgICAgICAgIHN5cy5leGl0KHJjKQotICAgIGZpbmFsbHk6Ci0gICAgICAgIG9zLmNoZGlyKG9sZF9jZCkKLSAgICAjIEFuZCBmaW5hbGx5LCB3ZSBjYW4gYnVpbGQgdGhlIF9zc2wgbW9kdWxlIGl0c2VsZiBmb3IgUHl0aG9uLgotICAgIGRlZnMgPSAiU1NMX0RJUj0lcyIgJSAoc3NsX2RpciwpCi0gICAgaWYgZGVidWc6Ci0gICAgICAgIGRlZnMgPSBkZWZzICsgIiAiICsgIkRFQlVHPTEiCi0gICAgcmMgPSBvcy5zeXN0ZW0oJ25tYWtlIC9ub2xvZ28gLWYgX3NzbC5tYWsgJyArIGRlZnMgKyAiICIgKyBtYWtlX2ZsYWdzKQotICAgIHN5cy5leGl0KHJjKQotCi1pZiBfX25hbWVfXz09J19fbWFpbl9fJzoKLSAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1BDL1ZDNi9idWlsZF90a2ludGVyLnB5IGIvUEMvVkM2L2J1aWxkX3RraW50ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1Y2E5MmMuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L2J1aWxkX3RraW50ZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLWltcG9ydCBzdWJwcm9jZXNzCi0KLVRDTF9NQUpPUiA9IDgKLVRDTF9NSU5PUiA9IDUKLVRDTF9QQVRDSCA9IDIKLQotVElYX01BSk9SID0gOAotVElYX01JTk9SID0gNAotVElYX1BBVENIID0gMwotCi1kZWYgYWJzcGF0aChuYW1lKToKLSAgICBwYXIgPSBvcy5wYXRoLnBhcmRpcgotICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKF9fZmlsZV9fLCBwYXIsIHBhciwgcGFyLCBwYXIsIG5hbWUpKQotCi1UQ0xfRElSID0gYWJzcGF0aCgidGNsJWQuJWQuJWQiICUgKFRDTF9NQUpPUiwgVENMX01JTk9SLCBUQ0xfUEFUQ0gpKQotVEtfRElSICA9IGFic3BhdGgoInRrJWQuJWQuJWQiICAlIChUQ0xfTUFKT1IsIFRDTF9NSU5PUiwgVENMX1BBVENIKSkKLVRJWF9ESVIgPSBhYnNwYXRoKCJ0aXglZC4lZC4lZCIgJSAoVElYX01BSk9SLCBUSVhfTUlOT1IsIFRJWF9QQVRDSCkpCi1PVVRfRElSID0gYWJzcGF0aCgidGNsdGsiKQotCi1kZWYgaGF2ZV9hcmdzKCphKToKLSAgICByZXR1cm4gYW55KHMgaW4gc3lzLmFyZ3ZbMTpdIGZvciBzIGluIGEpCi0KLWRlZiBlbnRlcihkaXIpOgotICAgIG9zLmNoZGlyKG9zLnBhdGguam9pbihkaXIsICJ3aW4iKSkKLQotZGVmIG1haW4oKToKLSAgICBkZWJ1ZyA9IGhhdmVfYXJncygiLWQiLCAiLS1kZWJ1ZyIpCi0gICAgY2xlYW4gPSBoYXZlX2FyZ3MoImNsZWFuIikKLSAgICBpbnN0YWxsID0gaGF2ZV9hcmdzKCJpbnN0YWxsIikKLSAgICB0Y2wgPSBoYXZlX2FyZ3MoInRjbCIpCi0gICAgdGsgPSBoYXZlX2FyZ3MoInRrIikKLSAgICB0aXggPSBoYXZlX2FyZ3MoInRpeCIpCi0gICAgaWYgbm90KHRjbCkgYW5kIG5vdCh0aykgYW5kIG5vdCh0aXgpOgotICAgICAgICB0Y2wgPSB0ayA9IHRpeCA9IFRydWUKLQotICAgIGRlZiBubWFrZShtYWtlZmlsZSwgKmEpOgotICAgICAgICBhcmdzID0gWyJubWFrZSIsICIvbm9sb2dvIiwgIi9mIiwgbWFrZWZpbGUsICJERUJVRz0lZCIgJSBkZWJ1Z10KLSAgICAgICAgYXJncy5leHRlbmQoYSkKLSAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKGFyZ3MpCi0KLSAgICBpZiB0Y2w6Ci0gICAgICAgIGVudGVyKFRDTF9ESVIpCi0gICAgICAgIGRlZiBubWFrZV90Y2woKmEpOgotICAgICAgICAgICAgbm1ha2UoIm1ha2VmaWxlLnZjIiwgKmEpCi0gICAgICAgIGlmIGNsZWFuOgotICAgICAgICAgICAgbm1ha2VfdGNsKCJjbGVhbiIpCi0gICAgICAgIGVsaWYgaW5zdGFsbDoKLSAgICAgICAgICAgIG5tYWtlX3RjbCgiaW5zdGFsbCIsICJJTlNUQUxMRElSPSIgKyBPVVRfRElSKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbm1ha2VfdGNsKCkKLQotICAgIGlmIHRrOgotICAgICAgICBlbnRlcihUS19ESVIpCi0gICAgICAgIGRlZiBubWFrZV90aygqYSk6Ci0gICAgICAgICAgICBubWFrZSgibWFrZWZpbGUudmMiLCAiVENMRElSPSIgKyBUQ0xfRElSLCAqYSkKLSAgICAgICAgaWYgY2xlYW46Ci0gICAgICAgICAgICBubWFrZV90aygiY2xlYW4iKQotICAgICAgICBlbGlmIGluc3RhbGw6Ci0gICAgICAgICAgICBubWFrZV90aygiaW5zdGFsbCIsICJJTlNUQUxMRElSPSIgKyBPVVRfRElSKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbm1ha2VfdGsoKQotCi0gICAgaWYgdGl4OgotICAgICAgICBlbnRlcihUSVhfRElSKQotICAgICAgICBkZWYgbm1ha2VfdGl4KCphKToKLSAgICAgICAgICAgIG5tYWtlKCJweXRob24ubWFrIiwKLSAgICAgICAgICAgICAgICAgICJUQ0xfTUFKT1I9JWQiICUgVENMX01BSk9SLAotICAgICAgICAgICAgICAgICAgIlRDTF9NSU5PUj0lZCIgJSBUQ0xfTUlOT1IsCi0gICAgICAgICAgICAgICAgICAiVENMX1BBVENIPSVkIiAlIFRDTF9QQVRDSCwKLSAgICAgICAgICAgICAgICAgICJNQUNISU5FPUlYODYiLCAqYSkKLSAgICAgICAgaWYgY2xlYW46Ci0gICAgICAgICAgICBubWFrZV90aXgoImNsZWFuIikKLSAgICAgICAgZWxpZiBpbnN0YWxsOgotICAgICAgICAgICAgbm1ha2VfdGl4KCJpbnN0YWxsIiwgIklOU1RBTExfRElSPSIgKyBPVVRfRElSKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbm1ha2VfdGl4KCkKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1BDL1ZDNi9iejIuZHNwIGIvUEMvVkM2L2J6Mi5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM1MmNiYWQuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L2J6Mi5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9ImJ6MiIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4MDEwMg0KLQ0KLUNGRz1iejIgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAiYnoyLm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJiejIubWFrIiBDRkc9ImJ6MiAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJiejIgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAiYnoyIC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAiYnoyIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gImJ6MiAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXGJ6MiINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiTkRFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvWmkgL08yIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9JICIuLlwuLlwuLlxiemlwMi0xLjAuNiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiAuLlwuLlwuLlxiemlwMi0xLjAuNlxsaWJiejIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MUQxNzAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9vdXQ6Ii4vYnoyLnB5ZCINCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUgL25vZGVmYXVsdGxpYg0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJiejIgLSBXaW4zMiBEZWJ1ZyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdcYnoyIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVRkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvSSAiLi5cLi5cLi5cYnppcDItMS4wLjYiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIgLi5cLi5cLi5cYnppcDItMS4wLjZcbGliYnoyLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFEMTcwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvbm9kZWZhdWx0bGliOiJtc3ZjcnQiIC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9vdXQ6Ii4vYnoyX2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJiejIgLSBXaW4zMiBSZWxlYXNlIg0KLSMgTmFtZSAiYnoyIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGJ6Mm1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L21ha2VfdmVyc2lvbmluZm8uZHNwIGIvUEMvVkM2L21ha2VfdmVyc2lvbmluZm8uZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzM1ZTEyLi4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9tYWtlX3ZlcnNpb25pbmZvLmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9Im1ha2VfdmVyc2lvbmluZm8iIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIENvbnNvbGUgQXBwbGljYXRpb24iIDB4MDEwMw0KLQ0KLUNGRz1tYWtlX3ZlcnNpb25pbmZvIC0gV2luMzIgUmVsZWFzZQ0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAibWFrZV92ZXJzaW9uaW5mby5tYWsiLg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFlvdSBjYW4gc3BlY2lmeSBhIGNvbmZpZ3VyYXRpb24gd2hlbiBydW5uaW5nIE5NQUtFDQotIU1FU1NBR0UgYnkgZGVmaW5pbmcgdGhlIG1hY3JvIENGRyBvbiB0aGUgY29tbWFuZCBsaW5lLiBGb3IgZXhhbXBsZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAibWFrZV92ZXJzaW9uaW5mby5tYWsiIENGRz0ibWFrZV92ZXJzaW9uaW5mbyAtIFdpbjMyIFJlbGVhc2UiDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgUG9zc2libGUgY2hvaWNlcyBmb3IgY29uZmlndXJhdGlvbiBhcmU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgIm1ha2VfdmVyc2lvbmluZm8gLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIENvbnNvbGUgQXBwbGljYXRpb24iKQ0KLSFNRVNTQUdFICJtYWtlX3ZlcnNpb25pbmZvIC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQ29uc29sZSBBcHBsaWNhdGlvbiIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJtYWtlX3ZlcnNpb25pbmZvIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIm1ha2VfdmVyc2lvbmluZm8gLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxtYWtlX3ZlcnNpb25pbmZvIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9DT05TT0xFIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvWmkgL08yIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9DT05TT0xFIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgL25vbG9nbyAvYmFzZToiMHgxZDAwMDAwMCIgL3N1YnN5c3RlbTpjb25zb2xlIC9kZWJ1ZyAvbWFjaGluZTpJMzg2DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotIyBCZWdpbiBDdXN0b20gQnVpbGQNCi1JbnB1dFBhdGg9LlxtYWtlX3ZlcnNpb25pbmZvLmV4ZQ0KLVNPVVJDRT0iJChJbnB1dFBhdGgpIg0KLQ0KLSIuLlxweXRob25udF9yYy5oIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIg0KLQkuXG1ha2VfdmVyc2lvbmluZm8uZXhlID4uLlxweXRob25udF9yYy5oDQotDQotIyBFbmQgQ3VzdG9tIEJ1aWxkDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gIm1ha2VfdmVyc2lvbmluZm8gLSBXaW4zMiBEZWJ1ZyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdcbWFrZV92ZXJzaW9uaW5mbyINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9DT05TT0xFIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX0NPTlNPTEUiIC9EICJfTUJDUyIgL0ZSIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiX0RFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvaSAiLi5cLi5cSW5jbHVkZSIgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06Y29uc29sZSAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWQwMDAwMDAiIC9zdWJzeXN0ZW06Y29uc29sZSAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL21ha2VfdmVyc2lvbmluZm9fZC5leGUiIC9wZGJ0eXBlOnNlcHQNCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0jIEJlZ2luIEN1c3RvbSBCdWlsZA0KLUlucHV0UGF0aD0uXG1ha2VfdmVyc2lvbmluZm9fZC5leGUNCi1TT1VSQ0U9IiQoSW5wdXRQYXRoKSINCi0NCi0iLi5ccHl0aG9ubnRfcmNfZC5oIiA6ICQoU09VUkNFKSAiJChJTlRESVIpIiAiJChPVVRESVIpIg0KLQkuXG1ha2VfdmVyc2lvbmluZm9fZC5leGUgPi4uXHB5dGhvbm50X3JjX2QuaA0KLQ0KLSMgRW5kIEN1c3RvbSBCdWlsZA0KLQ0KLSFFTkRJRiANCi0NCi0jIEJlZ2luIFRhcmdldA0KLQ0KLSMgTmFtZSAibWFrZV92ZXJzaW9uaW5mbyAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJtYWtlX3ZlcnNpb25pbmZvIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlxtYWtlX3ZlcnNpb25pbmZvLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIFRhcmdldA0KLSMgRW5kIFByb2plY3QNCmRpZmYgLS1naXQgYS9QQy9WQzYvcGNidWlsZC5kc3cgYi9QQy9WQzYvcGNidWlsZC5kc3cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg3YjJlYmMuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L3BjYnVpbGQuZHN3CisrKyAvZGV2L251bGwKQEAgLTEsMzA2ICswLDAgQEAKLU1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFdvcmtzcGFjZSBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyBXQVJOSU5HOiBETyBOT1QgRURJVCBPUiBERUxFVEUgVEhJUyBXT1JLU1BBQ0UgRklMRSENCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9jdHlwZXMiPSIuXF9jdHlwZXMuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9jdHlwZXNfdGVzdCI9Ii5cX2N0eXBlc190ZXN0LmRzcCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9lbGVtZW50dHJlZSI9Ii5cX2VsZW1lbnR0cmVlLmRzcCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9tc2kiPSIuXF9tc2kuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9tdWx0aXByb2Nlc3NpbmciPSIuXF9tdWx0aXByb2Nlc3NpbmcuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9zb2NrZXQiPSIuXF9zb2NrZXQuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl9zcWxpdGUzIj0iLlxfc3FsaXRlMy5kc3AiIC0gUGFja2FnZSBPd25lcj08ND4NCi0NCi1QYWNrYWdlPTw1Pg0KLXt7ew0KLX19fQ0KLQ0KLVBhY2thZ2U9PDQ+DQote3t7DQotfX19DQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KLVByb2plY3Q6ICJfc3NsIj0iLlxfc3NsLmRzcCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi0gICAgQmVnaW4gUHJvamVjdCBEZXBlbmRlbmN5DQotICAgIFByb2plY3RfRGVwX05hbWUgcHl0aG9uY29yZQ0KLSAgICBFbmQgUHJvamVjdCBEZXBlbmRlbmN5DQotICAgIEJlZ2luIFByb2plY3QgRGVwZW5kZW5jeQ0KLSAgICBQcm9qZWN0X0RlcF9OYW1lIHB5dGhvbg0KLSAgICBFbmQgUHJvamVjdCBEZXBlbmRlbmN5DQotICAgIEJlZ2luIFByb2plY3QgRGVwZW5kZW5jeQ0KLSAgICBQcm9qZWN0X0RlcF9OYW1lIHc5eHBvcGVuDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIl90ZXN0Y2FwaSI9Ii5cX3Rlc3RjYXBpLmRzcCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi0gICAgQmVnaW4gUHJvamVjdCBEZXBlbmRlbmN5DQotICAgIFByb2plY3RfRGVwX05hbWUgcHl0aG9uY29yZQ0KLSAgICBFbmQgUHJvamVjdCBEZXBlbmRlbmN5DQotfX19DQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KLVByb2plY3Q6ICJfdGtpbnRlciI9Ii5cX3RraW50ZXIuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogImJ6MiI9Ii5cYnoyLmRzcCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogIm1ha2VfdmVyc2lvbmluZm8iPSIuXG1ha2VfdmVyc2lvbmluZm8uZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLX19fQ0KLQ0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi0NCi1Qcm9qZWN0OiAicHlleHBhdCI9Ii5ccHlleHBhdC5kc3AiIC0gUGFja2FnZSBPd25lcj08ND4NCi0NCi1QYWNrYWdlPTw1Pg0KLXt7ew0KLX19fQ0KLQ0KLVBhY2thZ2U9PDQ+DQote3t7DQotICAgIEJlZ2luIFByb2plY3QgRGVwZW5kZW5jeQ0KLSAgICBQcm9qZWN0X0RlcF9OYW1lIHB5dGhvbmNvcmUNCi0gICAgRW5kIFByb2plY3QgRGVwZW5kZW5jeQ0KLX19fQ0KLQ0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCi0NCi1Qcm9qZWN0OiAicHl0aG9uIj0iLlxweXRob24uZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogInB5dGhvbmNvcmUiPSIuXHB5dGhvbmNvcmUuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBtYWtlX3ZlcnNpb25pbmZvDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogInB5dGhvbnciPSIuXHB5dGhvbncuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogInNlbGVjdCI9Ii5cc2VsZWN0LmRzcCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08ND4NCi17e3sNCi0gICAgQmVnaW4gUHJvamVjdCBEZXBlbmRlbmN5DQotICAgIFByb2plY3RfRGVwX05hbWUgcHl0aG9uY29yZQ0KLSAgICBFbmQgUHJvamVjdCBEZXBlbmRlbmN5DQotfX19DQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KLVByb2plY3Q6ICJ1bmljb2RlZGF0YSI9Ii5cdW5pY29kZWRhdGEuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotUHJvamVjdDogInc5eHBvcGVuIj0iLlx3OXhwb3Blbi5kc3AiIC0gUGFja2FnZSBPd25lcj08ND4NCi0NCi1QYWNrYWdlPTw1Pg0KLXt7ew0KLX19fQ0KLQ0KLVBhY2thZ2U9PDQ+DQote3t7DQotfX19DQotDQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KLQ0KLVByb2plY3Q6ICJ3aW5zb3VuZCI9Ii5cd2luc291bmQuZHNwIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotDQotUGFja2FnZT08NT4NCi17e3sNCi19fX0NCi0NCi1QYWNrYWdlPTw0Pg0KLXt7ew0KLSAgICBCZWdpbiBQcm9qZWN0IERlcGVuZGVuY3kNCi0gICAgUHJvamVjdF9EZXBfTmFtZSBweXRob25jb3JlDQotICAgIEVuZCBQcm9qZWN0IERlcGVuZGVuY3kNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotR2xvYmFsOg0KLQ0KLVBhY2thZ2U9PDU+DQote3t7DQotfX19DQotDQotUGFja2FnZT08Mz4NCi17e3sNCi19fX0NCi0NCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQotDQotDQpkaWZmIC0tZ2l0IGEvUEMvVkM2L3B5ZXhwYXQuZHNwIGIvUEMvVkM2L3B5ZXhwYXQuZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjFjOWVmLi4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9weWV4cGF0LmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDExMSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9InB5ZXhwYXQiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDAxMDINCi0NCi1DRkc9cHlleHBhdCAtIFdpbjMyIFJlbGVhc2UNCi0hTUVTU0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3QgdXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5ZXhwYXQubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5ZXhwYXQubWFrIiBDRkc9InB5ZXhwYXQgLSBXaW4zMiBSZWxlYXNlIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJweWV4cGF0IC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgInB5ZXhwYXQgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJweWV4cGF0Ig0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gInB5ZXhwYXQgLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxweWV4cGF0Ig0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9aaSAvTzIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0kgIi4uXC4uXE1vZHVsZXNcZXhwYXQiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIk5ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9EICJYTUxfTlMiIC9EICJYTUxfRFREIiAvRCBCWVRFT1JERVI9MTIzNCAvRCBYTUxfQ09OVEVYVF9CWVRFUz0xMDI0IC9EICJYTUxfU1RBVElDIiAvRCAiSEFWRV9NRU1NT1ZFIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIHVzZXIzMi5saWIga2VybmVsMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MUQxMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vcHlleHBhdC5weWQiDQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gInB5ZXhwYXQgLSBXaW4zMiBEZWJ1ZyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdccHlleHBhdCINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0kgIi4uXC4uXE1vZHVsZXNcZXhwYXQiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIkhBVkVfRVhQQVRfSCIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9EICJYTUxfTlMiIC9EICJYTUxfRFREIiAvRCBCWVRFT1JERVI9MTIzNCAvRCBYTUxfQ09OVEVYVF9CWVRFUz0xMDI0IC9EICJYTUxfU1RBVElDIiAvRCAiSEFWRV9NRU1NT1ZFIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIHVzZXIzMi5saWIga2VybmVsMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MUQxMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vcHlleHBhdF9kLnB5ZCIgL3BkYnR5cGU6c2VwdA0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTkRJRiANCi0NCi0jIEJlZ2luIFRhcmdldA0KLQ0KLSMgTmFtZSAicHlleHBhdCAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJweWV4cGF0IC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHB5ZXhwYXQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHBhcnNlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBFbmQgVGFyZ2V0DQotIyBFbmQgUHJvamVjdA0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9weXRob24uZHNwIGIvUEMvVkM2L3B5dGhvbi5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhOGI3NzIuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L3B5dGhvbi5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSwxMDAgKzAsMCBAQAotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBQcm9qZWN0IEZpbGUgLSBOYW1lPSJweXRob24iIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIENvbnNvbGUgQXBwbGljYXRpb24iIDB4MDEwMw0KLQ0KLUNGRz1weXRob24gLSBXaW4zMiBSZWxlYXNlDQotIU1FU1NBR0UgVGhpcyBpcyBub3QgYSB2YWxpZCBtYWtlZmlsZS4gVG8gYnVpbGQgdGhpcyBwcm9qZWN0IHVzaW5nIE5NQUtFLA0KLSFNRVNTQUdFIHVzZSB0aGUgRXhwb3J0IE1ha2VmaWxlIGNvbW1hbmQgYW5kIHJ1bg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJweXRob24ubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5dGhvbi5tYWsiIENGRz0icHl0aG9uIC0gV2luMzIgUmVsZWFzZSINCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSAicHl0aG9uIC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBDb25zb2xlIEFwcGxpY2F0aW9uIikNCi0hTUVTU0FHRSAicHl0aG9uIC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQ29uc29sZSBBcHBsaWNhdGlvbiIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJweXRob24iDQotIyBQUk9QIFNjY19Mb2NhbFBhdGggIi4uIg0KLUNQUD1jbC5leGUNCi1SU0M9cmMuZXhlDQotDQotIUlGICAiJChDRkcpIiA9PSAicHl0aG9uIC0gV2luMzIgUmVsZWFzZSINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLXJlbGVhc2VccHl0aG9uIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9DT05TT0xFIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvWmkgL08yIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9DT05TT0xFIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTpjb25zb2xlIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgL25vbG9nbyAvYmFzZToiMHgxZDAwMDAwMCIgL3N1YnN5c3RlbTpjb25zb2xlIC9kZWJ1ZyAvbWFjaGluZTpJMzg2DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gInB5dGhvbiAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1xweXRob24iDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL1czIC9HbSAvR1ggL1ppIC9PZCAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfQ09OU09MRSIgL0QgIl9NQkNTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9DT05TT0xFIiAvRCAiX01CQ1MiIC9GUiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIl9ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2kgIi4uLi5cXEluY2x1ZGUiIC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOmNvbnNvbGUgL2RlYnVnIC9tYWNoaW5lOkkzODYgL3BkYnR5cGU6c2VwdA0KLSMgQUREIExJTkszMiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFkMDAwMDAwIiAvc3RhY2s6MHgyMDAwMDAgL3N1YnN5c3RlbTpjb25zb2xlIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vcHl0aG9uX2QuZXhlIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJweXRob24gLSBXaW4zMiBSZWxlYXNlIg0KLSMgTmFtZSAicHl0aG9uIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlxweWNvbi5pY28NCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xweXRob24uYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlxweXRob25fZXhlLnJjDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L3B5dGhvbmNvcmUuZHNwIGIvUEMvVkM2L3B5dGhvbmNvcmUuZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwY2U5OGQxLi4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9weXRob25jb3JlLmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDc4MCArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9InB5dGhvbmNvcmUiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDAxMDINCi0NCi1DRkc9cHl0aG9uY29yZSAtIFdpbjMyIFJlbGVhc2UNCi0hTUVTU0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3QgdXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5dGhvbmNvcmUubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5dGhvbmNvcmUubWFrIiBDRkc9InB5dGhvbmNvcmUgLSBXaW4zMiBSZWxlYXNlIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJweXRob25jb3JlIC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgInB5dGhvbmNvcmUgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJweXRob25jb3JlIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gInB5dGhvbmNvcmUgLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxweXRob25jb3JlIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9aaSAvTzIgL0kgIi4uXC4uXEluY2x1ZGUiIC9JICIuLiIgL0kgIi4uXC4uXG1vZHVsZXNcemxpYiIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiTkRFQlVHIiAvRCAiV0lOMzIiIC9EICJfV0lORE9XUyIgL0QgIlVTRV9ETF9FWFBPUlQiIC9ZWCAvRkQgL1ptMjAwIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gL3dpbjMyICJOVUwiDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vIC93aW4zMiAiTlVMIg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9pICIuLlwuLlxJbmNsdWRlIiAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiBsYXJnZWludC5saWIga2VybmVsMzIubGliIHVzZXIzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUwMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9vdXQ6Ii4vcHl0aG9uMzMuZGxsIg0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJweXRob25jb3JlIC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLWRlYnVnXHB5dGhvbmNvcmUiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9JICIuLlwuLlxtb2R1bGVzXHpsaWIiIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIl9ERUJVRyIgL0QgIlVTRV9ETF9FWFBPUlQiIC9EICJXSU4zMiIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9abTIwMCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC9vIC93aW4zMiAiTlVMIg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvbyAvd2luMzIgIk5VTCINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiX0RFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvaSAiLi5cLi5cSW5jbHVkZSIgL2QgIl9ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIgbGFyZ2VpbnQubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFlMDAwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvbm9kZWZhdWx0bGliOiJsaWJjIiAvb3V0OiIuL3B5dGhvbjMzX2QuZGxsIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJweXRob25jb3JlIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgInB5dGhvbmNvcmUgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2Jpc2VjdG1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfY24uYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2hrLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19pc28yMDIyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19qcC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3Nfa3IuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX3R3LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY29kZWNzbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfY29sbGVjdGlvbnNtb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9jc3YuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9kYXRldGltZW1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2Z1bmN0b29sc21vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2hlYXBxbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfaW9cX2lvbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfanNvbi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2xvY2FsZW1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2xzcHJvZi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX21hdGguYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9waWNrbGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9yYW5kb21tb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9zcmUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9zdHJ1Y3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQQ1xfc3VicHJvY2Vzcy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX3RocmVhZG1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX3RpbWUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cX3dhcm5pbmdzLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfd2Vha3JlZi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcYWJzdHJhY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGFjY3UuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQYXJzZXJcYWNjZWxlci5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xhcnJheW1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxhc2RsLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGFzdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcYXRleGl0bW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xhdWRpb29wLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xiaW5hc2NpaS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFBhcnNlclxiaXRzZXQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cYmx0aW5tb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGJvb2xvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9pb1xidWZmZXJlZGlvLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xieXRlYXJyYXlvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGJ5dGVzX21ldGhvZHMuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9pb1xieXRlc2lvLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xieXRlc29iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcY2Fwc3VsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcY2VsbG9iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxjZXZhbC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcY2xhc3NvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGNtYXRobW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGNvZGVjcy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcY29kZW9iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxjb21waWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xjb21wbGV4b2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1x6bGliXGNvbXByZXNzLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cY29uZmlnLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1x6bGliXGNyYzMyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGR5bmFtaWNfYW5ub3RhdGlvbnMuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHpsaWJcZGVmbGF0ZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcZGVzY3JvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGRpY3RvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlxkbF9udC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxkdG9hLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGR5bmxvYWRfd2luLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xlbnVtb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xlcnJub21vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxlcnJvcnMuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGV4Y2VwdGlvbnMuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9pb1xmaWxlaW8uYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGZpbGVvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cZmlsZXV0aWxzLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUGFyc2VyXGZpcnN0c2V0cy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcZmxvYXRvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cZm9ybWF0dGVyX3VuaWNvZGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGZyYW1lb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGZyb3plbi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcZnVuY29iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxmdXR1cmUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGdjbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xnZW5vYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cZ2V0YXJncy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcZ2V0YnVpbGRpbmZvLmMNCi0jIEFERCBDUFAgL0QgQlVJTEQ9NDYNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGdldGNvbXBpbGVyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGdldGNvcHlyaWdodC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxnZXRvcHQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlxnZXRwYXRocC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxnZXRwbGF0Zm9ybS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxnZXR2ZXJzaW9uLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXGdyYW1pbml0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUGFyc2VyXGdyYW1tYXIuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQYXJzZXJcZ3JhbW1hcjEuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHpsaWJcZ3ppby5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxpbXBvcnQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25caW1wb3J0ZGwuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHpsaWJcaW5mYmFjay5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXF9pb1xpb2Jhc2UuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXGl0ZXJvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXGl0ZXJ0b29sc21vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFBhcnNlclxsaXN0bm9kZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcbGlzdG9iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcbG9uZ29iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcbWFpbi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxtYXJzaGFsLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xtYXRobW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xtZDVtb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXG1lbW9yeW9iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFBhcnNlclxtZXRhZ3JhbW1hci5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcbWV0aG9kb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xtbWFwbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXG1vZHN1cHBvcnQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXG1vZHVsZW9iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXG1zdmNydG1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG11bHRpYnl0ZWNvZGVjLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUGFyc2VyXG15cmVhZGxpbmUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cbXlzbnByaW50Zi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxteXN0cnRvdWwuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQYXJzZXJcbm9kZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xvYm1hbGxvYy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcb3BlcmF0b3IuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQYXJzZXJccGFyc2VyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xwYXJzZXJtb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQYXJzZXJccGFyc2V0b2suYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25ccGVlcGhvbGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHBvc2l4bW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXHB5YXJlbmEuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25ccHljdHlwZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxweWZwZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxweW1hdGguYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25ccHlzdGF0ZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxweXN0cmNtcC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxweXN0cnRvZC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPSIuLlwuLlxQeXRob25cUHl0aG9uLWFzdC5jIg0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlxweXRob25fbnQucmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXHB5dGhvbnJ1bi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblxweXRpbWUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25ccmFuZG9tLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xyYW5nZW9iamVjdC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNccm90YXRpbmd0cmVlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xzZXRvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHNoYTFtb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHNoYTI1Nm1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcc2hhNTEybW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xzaWduYWxtb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXHNsaWNlb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfaW9cc3RyaW5naW8uYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cc3RydWN0bWVtYmVyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1xzdHJ1Y3RzZXEuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQeXRob25cc3ltdGFibGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHN5bXRhYmxlbW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXHN5c21vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX2lvXHRleHRpby5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXFB5dGhvblx0aHJlYWQuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHRpbWVtb2R1bGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxQYXJzZXJcdG9rZW5pemVyLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cUHl0aG9uXHRyYWNlYmFjay5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcemxpYlx0cmVlcy5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcdHVwbGVvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxPYmplY3RzXHR5cGVvYmplY3QuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHpsaWJcdW5jb21wci5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE9iamVjdHNcdW5pY29kZWN0eXBlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1x1bmljb2Rlb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cT2JqZWN0c1x3ZWFrcmVmb2JqZWN0LmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cd2lucmVnLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1x4eHN1YnR5cGUuYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlwuLlxNb2R1bGVzXHppcGltcG9ydC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcemxpYm1vZHVsZS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcemxpYlx6dXRpbC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L3B5dGhvbncuZHNwIGIvUEMvVkM2L3B5dGhvbncuZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOWMzMjVjLi4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9weXRob253LmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDEwMSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9InB5dGhvbnciIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIEFwcGxpY2F0aW9uIiAweDAxMDENCi0NCi1DRkc9cHl0aG9udyAtIFdpbjMyIEFscGhhIFJlbGVhc2UNCi0hTUVTU0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3QgdXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5dGhvbncubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInB5dGhvbncubWFrIiBDRkc9InB5dGhvbncgLSBXaW4zMiBBbHBoYSBSZWxlYXNlIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJweXRob253IC0gV2luMzIgUmVsZWFzZSIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBBcHBsaWNhdGlvbiIpDQotIU1FU1NBR0UgInB5dGhvbncgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBBcHBsaWNhdGlvbiIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJweXRob253Ig0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLlxwYyINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gInB5dGhvbncgLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVxweXRob253Ig0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9XMyAvR1ggL08yIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EIC9XMyAvR1ggL1ppIC9PMiAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweDQwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvYmFzZToiMHgxZDAwMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kZWJ1ZyAvbWFjaGluZTpJMzg2DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gInB5dGhvbncgLSBXaW4zMiBEZWJ1ZyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdccHl0aG9udyINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0dtIC9HWCAvWmkgL09kIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJXSU4zMiIgL0QgIl9ERUJVRyIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RlYnVnIC9tYWNoaW5lOkkzODYgL3BkYnR5cGU6c2VwdA0KLSMgQUREIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFkMDAwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RlYnVnIC9tYWNoaW5lOkkzODYgL291dDoiLi9weXRob253X2QuZXhlIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJweXRob253IC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgInB5dGhvbncgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXHB5dGhvbl9leGUucmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cV2luTWFpbi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L3JlYWRtZS50eHQgYi9QQy9WQzYvcmVhZG1lLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTIwNGQyZi4uMDAwMDAwMAotLS0gYS9QQy9WQzYvcmVhZG1lLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE5MiArMCwwIEBACi1CdWlsZGluZyBQeXRob24gdXNpbmcgVkMrKyA2LjAgb3IgNS4wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1UaGlzIGRpcmVjdG9yeSBpcyB1c2VkIHRvIGJ1aWxkIFB5dGhvbiBmb3IgV2luMzIgcGxhdGZvcm1zLCBlLmcuIFdpbmRvd3MKLTIwMDAgYW5kIFhQLiAgSXQgcmVxdWlyZXMgTWljcm9zb2Z0IFZpc3VhbCBDKysgNi54IG9yIDUueCBhbmQgUGxhdGZvcm0KLVNESyBGZWJydWFyeSAyMDAzIEVkaXRpb24gKENvcmUgU0RLKS4KLShGb3Igb3RoZXIgV2luZG93cyBwbGF0Zm9ybXMgYW5kIGNvbXBpbGVycywgc2VlIC4uL3JlYWRtZS50eHQuKQotCi1BbGwgeW91IG5lZWQgdG8gZG8gaXMgb3BlbiB0aGUgd29ya3NwYWNlICJwY2J1aWxkLmRzdyIgaW4gTVNWQysrLCBzZWxlY3QKLXRoZSBEZWJ1ZyBvciBSZWxlYXNlIHNldHRpbmcgKHVzaW5nIEJ1aWxkIC0+IFNldCBBY3RpdmUgQ29uZmlndXJhdGlvbi4uLiksCi1hbmQgYnVpbGQgdGhlIHByb2plY3RzLgotCi1UaGUgcHJvcGVyIG9yZGVyIHRvIGJ1aWxkIHN1YnByb2plY3RzOgotCi0xKSBweXRob25jb3JlICh0aGlzIGJ1aWxkcyB0aGUgbWFpbiBQeXRob24gRExMIGFuZCBsaWJyYXJ5IGZpbGVzLAotICAgICAgICAgICAgICAgcHl0aG9uMzMue2RsbCwgbGlifSBpbiBSZWxlYXNlIG1vZGUpCi0KLTIpIHB5dGhvbiAodGhpcyBidWlsZHMgdGhlIG1haW4gUHl0aG9uIGV4ZWN1dGFibGUsCi0gICAgICAgICAgIHB5dGhvbi5leGUgaW4gUmVsZWFzZSBtb2RlKQotCi0zKSB0aGUgb3RoZXIgc3VicHJvamVjdHMsIGFzIGRlc2lyZWQgb3IgbmVlZGVkIChub3RlOiAgeW91IHByb2JhYmx5IGRvbid0Ci0gICB3YW50IHRvIGJ1aWxkIG1vc3Qgb2YgdGhlIG90aGVyIHN1YnByb2plY3RzLCB1bmxlc3MgeW91J3JlIGJ1aWxkaW5nIGFuCi0gICBlbnRpcmUgUHl0aG9uIGRpc3RyaWJ1dGlvbiBmcm9tIHNjcmF0Y2gsIG9yIHNwZWNpZmljYWxseSBtYWtpbmcgY2hhbmdlcwotICAgdG8gdGhlIHN1YnN5c3RlbXMgdGhleSBpbXBsZW1lbnQ7IHNlZSBTVUJQUk9KRUNUUyBiZWxvdykKLQotV2hlbiB1c2luZyB0aGUgRGVidWcgc2V0dGluZywgdGhlIG91dHB1dCBmaWxlcyBoYXZlIGEgX2QgYWRkZWQgdG8KLXRoZWlyIG5hbWU6ICBweXRob24zM19kLmRsbCwgcHl0aG9uX2QuZXhlLCBweWV4cGF0X2QucHlkLCBhbmQgc28gb24uCi0KLVNVQlBST0pFQ1RTCi0tLS0tLS0tLS0tLQotVGhlc2Ugc3VicHJvamVjdHMgc2hvdWxkIGJ1aWxkIG91dCBvZiB0aGUgYm94LiAgU3VicHJvamVjdHMgb3RoZXIgdGhhbiB0aGUKLW1haW4gb25lcyAocHl0aG9uY29yZSwgcHl0aG9uLCBweXRob253KSBnZW5lcmFsbHkgYnVpbGQgYSBETEwgKHJlbmFtZWQgdG8KLS5weWQpIGZyb20gYSBzcGVjaWZpYyBtb2R1bGUgc28gdGhhdCB1c2VycyBkb24ndCBoYXZlIHRvIGxvYWQgdGhlIGNvZGUKLXN1cHBvcnRpbmcgdGhhdCBtb2R1bGUgdW5sZXNzIHRoZXkgaW1wb3J0IHRoZSBtb2R1bGUuCi0KLXB5dGhvbmNvcmUKLSAgICAuZGxsIGFuZCAubGliCi1weXRob24KLSAgICAuZXhlCi1weXRob253Ci0gICAgcHl0aG9udy5leGUsIGEgdmFyaWFudCBvZiBweXRob24uZXhlIHRoYXQgZG9lc24ndCBwb3AgdXAgYSBET1MgYm94Ci1fbXNpCi0gICAgX21zaS5jLiBZb3UgbmVlZCB0byBpbnN0YWxsIFdpbmRvd3MgSW5zdGFsbGVyIFNESyB0byBidWlsZCB0aGlzIG1vZHVsZS4KLV9zb2NrZXQKLSAgICBzb2NrZXRtb2R1bGUuYwotX3Rlc3RjYXBpCi0gICAgdGVzdHMgb2YgdGhlIFB5dGhvbiBDIEFQSSwgcnVuIHZpYSBMaWIvdGVzdC90ZXN0X2NhcGkucHksIGFuZAotICAgIGltcGxlbWVudGVkIGJ5IG1vZHVsZSBNb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCi1weWV4cGF0Ci0gICAgUHl0aG9uIHdyYXBwZXIgZm9yIGFjY2VsZXJhdGVkIFhNTCBwYXJzaW5nLCB3aGljaCBpbmNvcnBvcmF0ZXMgc3RhYmxlCi0gICAgY29kZSBmcm9tIHRoZSBFeHBhdCBwcm9qZWN0OiAgaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9leHBhdC8KLXNlbGVjdAotICAgIHNlbGVjdG1vZHVsZS5jCi11bmljb2RlZGF0YQotICAgIGxhcmdlIHRhYmxlcyBvZiBVbmljb2RlIGRhdGEKLXdpbnNvdW5kCi0gICAgcGxheSBzb3VuZHMgKHR5cGljYWxseSAud2F2IGZpbGVzKSB1bmRlciBXaW5kb3dzCi0KLVRoZSBmb2xsb3dpbmcgc3VicHJvamVjdHMgd2lsbCBnZW5lcmFsbHkgTk9UIGJ1aWxkIG91dCBvZiB0aGUgYm94LiAgVGhleQotd3JhcCBjb2RlIFB5dGhvbiBkb2Vzbid0IGNvbnRyb2wsIGFuZCB5b3UnbGwgbmVlZCB0byBkb3dubG9hZCB0aGUgYmFzZQotcGFja2FnZXMgZmlyc3QgYW5kIHVucGFjayB0aGVtIGludG8gc2libGluZ3Mgb2YgUENidWlsZHMncyBwYXJlbnQKLWRpcmVjdG9yeTsgZm9yIGV4YW1wbGUsIGlmIHlvdXIgUENidWlsZCBpcyAgLi4uLi4uLlxkaXN0XHNyY1xQQ2J1aWxkXCwKLXVucGFjayBpbnRvIG5ldyBzdWJkaXJlY3RvcmllcyBvZiBkaXN0XC4KLQotX3RraW50ZXIKLSAgICBQeXRob24gd3JhcHBlciBmb3IgdGhlIFRrIHdpbmRvd2luZyBzeXN0ZW0uICBSZXF1aXJlcyBidWlsZGluZwotICAgIFRjbC9UayBmaXJzdC4gIEZvbGxvd2luZyBhcmUgaW5zdHJ1Y3Rpb25zIGZvciBUY2wvVGsgOC41LjIuCi0KLSAgICBHZXQgc291cmNlCi0gICAgLS0tLS0tLS0tLQotICAgIEluIHRoZSBkaXN0IGRpcmVjdG9yeSwgcnVuCi0gICAgc3ZuIGV4cG9ydCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvdGNsLTguNS4yLjEgdGNsOC41LjIKLSAgICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC90ay04LjUuMi4wIHRrOC41LjIKLSAgICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC90aXgtOC40LjMuMSB0aXg4LjQuMwotCi0gICAgRGVidWcgQnVpbGQKLSAgICAtLS0tLS0tLS0tLQotICAgIFRvIGJ1aWxkIGRlYnVnIHZlcnNpb24sIGFkZCBERUJVRz0xIHRvIGFsbCBubWFrZSBjYWxsIGJlbGxvdy4KLQotICAgIEJ1aWxkIFRjbCBmaXJzdCAoZG9uZSBoZXJlIHcvIE1TVkMgNiBvbiBXaW4ySykKLSAgICAtLS0tLS0tLS0tLS0tLS0KLSAgICBJZiB5b3VyIGVudmlyb25tZW50IGRvZXNuJ3QgaGF2ZSBzdHJ1Y3QgX3N0YXQ2NCwgeW91IG5lZWQgdG8gYXBwbHkKLSAgICB0Y2w4NTIucGF0Y2ggaW4gdGhpcyBkaXJlY3RvcnkgdG8gZGlzdFx0Y2w4LjUuMlxnZW5lcmljXHRjbC5oLgotCi0gICAgY2QgZGlzdFx0Y2w4LjUuMlx3aW4KLSAgICBydW4gdmN2YXJzMzIuYmF0Ci0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBJTlNUQUxMRElSPS4uXC4uXHRjbHRrIGluc3RhbGwKLQotICAgIFhYWCBTaG91bGQgd2UgY29tcGlsZSB3aXRoIE9QVFM9dGhyZWFkcz8KLQotICAgIE9wdGlvbmFsOiAgcnVuIHRlc3RzLCB2aWEKLSAgICAgICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgdGVzdAotCi0gICAgICAgIGFsbC50Y2w6ICAgICAgICBUb3RhbCAgIDI0MjQyICAgUGFzc2VkICAyMzM1OCAgIFNraXBwZWQgODc3ICAgICBGYWlsZWQgIDcKLSAgICAgICAgU291cmNlZCAxMzcgVGVzdCBGaWxlcy4KLSAgICAgICAgRmlsZXMgd2l0aCBmYWlsaW5nIHRlc3RzOiBleGVjLnRlc3QgaHR0cC50ZXN0IGlvLnRlc3QgbWFpbi50ZXN0IHN0cmluZy50ZXN0IHN0cmkKLSAgICAgICAgbmdPYmoudGVzdAotCi0gICAgQnVpbGQgVGsKLSAgICAtLS0tLS0tLQotICAgIGNkIGRpc3RcdGs4LjUuMlx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBUQ0xESVI9Li5cLi5cdGNsOC41LjIKLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBUQ0xESVI9Li5cLi5cdGNsOC41LjIgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBpbnN0YWxsCi0KLSAgICBYWFggU2hvdWxkIHdlIGNvbXBpbGUgd2l0aCBPUFRTPXRocmVhZHM/Ci0KLSAgICBYWFggSSBoYXZlIG5vIGlkZWEgd2hldGhlciAibm1ha2UgLWYgbWFrZWZpbGUudmMgdGVzdCIgcGFzc2VkIG9yCi0gICAgWFhYIGZhaWxlZC4gIEl0IHBvcHBlZCB1cCB0b25zIG9mIGxpdHRsZSB3aW5kb3dzLCBhbmQgZGlkIGxvdHMgb2YKLSAgICBYWFggc3R1ZmYsIGFuZCBub3RoaW5nIGJsZXcgdXAuCi0KLSAgICBCdWlsZCBUaXgKLSAgICAtLS0tLS0tLS0KLSAgICBjZCBkaXN0XHRpeDguNC4zXHdpbgotICAgIG5tYWtlIC1mIHB5dGhvbi5tYWsgVENMX01BSk9SPTggVENMX01JTk9SPTUgVENMX1BBVENIPTIgTUFDSElORT1JWDg2IERFQlVHPTAKLSAgICBubWFrZSAtZiBweXRob24ubWFrIFRDTF9NQUpPUj04IFRDTF9NSU5PUj01IFRDTF9QQVRDSD0yIE1BQ0hJTkU9SVg4NiBERUJVRz0wIElOU1RBTExfRElSPS4uXC4uXHRjbHRrIGluc3RhbGwKLQotYnoyCi0gICAgUHl0aG9uIHdyYXBwZXIgZm9yIHRoZSBsaWJiejIgY29tcHJlc3Npb24gbGlicmFyeS4gIEhvbWVwYWdlCi0gICAgICAgIGh0dHA6Ly93d3cuYnppcC5vcmcvCi0gICAgRG93bmxvYWQgdGhlIHNvdXJjZSBmcm9tIHRoZSBweXRob24ub3JnIGNvcHkgaW50byB0aGUgZGlzdAotICAgIGRpcmVjdG9yeToKLQotICAgIHN2biBleHBvcnQgaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsL2J6aXAyLTEuMC42Ci0KLSAgICBBbmQgcmVxdWlyZXMgYnVpbGRpbmcgYnoyIGZpcnN0LgotCi0gICAgY2QgZGlzdFxiemlwMi0xLjAuNgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLm1zYwotCi0gICAgQWxsIG9mIHRoaXMgbWFuYWdlZCB0byBidWlsZCBiemlwMi0xLjAuNlxsaWJiejIubGliLCB3aGljaCB0aGUgUHl0aG9uCi0gICAgcHJvamVjdCBsaW5rcyBpbi4KLQotCi1fc3FsaXRlMwotICAgIFB5dGhvbiB3cmFwcGVyIGZvciBTUUxpdGUgbGlicmFyeS4KLSAgICAKLSAgICBHZXQgdGhlIHNvdXJjZSBjb2RlIHRocm91Z2gKLSAgICAKLSAgICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC9zcWxpdGUtc291cmNlLTMuMy40Ci0gICAgCi0gICAgVG8gdXNlIHRoZSBleHRlbnNpb24gbW9kdWxlIGluIGEgUHl0aG9uIGJ1aWxkIHRyZWUsIGNvcHkgc3FsaXRlMy5kbGwgaW50bwotICAgIHRoZSBQQy9WQzYgZm9sZGVyLgotCi0KLV9zc2wKLSAgICBQeXRob24gd3JhcHBlciBmb3IgdGhlIHNlY3VyZSBzb2NrZXRzIGxpYnJhcnkuCi0KLSAgICBHZXQgdGhlIGxhdGVzdCBzb3VyY2UgY29kZSBmb3IgT3BlblNTTCBmcm9tCi0gICAgICAgIGh0dHA6Ly93d3cub3BlbnNzbC5vcmcKLQotICAgIFlvdSAocHJvYmFibHkpIGRvbid0IHdhbnQgdGhlICJlbmdpbmUiIGNvZGUuICBGb3IgZXhhbXBsZSwgZG9uJ3QgZ2V0Ci0gICAgICAgIG9wZW5zc2wtZW5naW5lLTAuOS42Zy50YXIuZ3oKLQotICAgIFVucGFjayBpbnRvIHRoZSAiZGlzdCIgZGlyZWN0b3J5LCByZXRhaW5pbmcgdGhlIGZvbGRlciBuYW1lIGZyb20KLSAgICB0aGUgYXJjaGl2ZSAtIGZvciBleGFtcGxlLCB0aGUgbGF0ZXN0IHN0YWJsZSBPcGVuU1NMIHdpbGwgaW5zdGFsbCBhcwotICAgICAgICBkaXN0L29wZW5zc2wtMS4wLjFkCi0KLSAgICBZb3UgbmVlZCB0byB1c2UgdmVyc2lvbiAxLjAuMWQgb2YgT3BlblNTTC4KLQotICAgIFlvdSBjYW4gaW5zdGFsbCB0aGUgTkFTTSBhc3NlbWJsZXIgZnJvbQotICAgICAgICBodHRwOi8vd3d3Lm5hc20udXMvCi0gICAgZm9yIHg4NiBidWlsZHMuICBQdXQgbmFzbXcuZXhlIGFueXdoZXJlIGluIHlvdXIgUEFUSC4KLSAgICBOb3RlOiByZWNlbnQgcmVsZWFzZXMgb2YgbmFzbSBvbmx5IGhhdmUgbmFzbS5leGUuIEp1c3QgcmVuYW1lIGl0IHRvIAotICAgIG5hc213LmV4ZS4KLQotICAgIFlvdSBjYW4gYWxzbyBpbnN0YWxsIEFjdGl2ZVBlcmwgZnJvbQotICAgICAgICBodHRwOi8vd3d3LmFjdGl2ZXN0YXRlLmNvbS9hY3RpdmVwZXJsLwotICAgIGlmIHlvdSBsaWtlIHRvIHVzZSB0aGUgb2ZmaWNpYWwgc291cmNlcyBpbnN0ZWFkIG9mIHRoZSBmaWxlcyBmcm9tIAotICAgIHB5dGhvbidzIHN1YnZlcnNpb24gcmVwb3NpdG9yeS4gVGhlIHN2biB2ZXJzaW9uIGNvbnRhaW5zIHByZS1idWlsZAotICAgIG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkgZmlsZXMuCi0KLSAgICBUaGUgTVNWQyBwcm9qZWN0IHNpbXBseSBpbnZva2VzIFBDL1ZDNi9idWlsZF9zc2wucHkgdG8gcGVyZm9ybQotICAgIHRoZSBidWlsZC4gIFRoaXMgUHl0aG9uIHNjcmlwdCBsb2NhdGVzIGFuZCBidWlsZHMgeW91ciBPcGVuU1NMCi0gICAgaW5zdGFsbGF0aW9uLCB0aGVuIGludm9rZXMgYSBzaW1wbGUgbWFrZWZpbGUgdG8gYnVpbGQgdGhlIGZpbmFsIC5weWQuCi0KLSAgICBidWlsZF9zc2wucHkgYXR0ZW1wdHMgdG8gY2F0Y2ggdGhlIG1vc3QgY29tbW9uIGVycm9ycyAoc3VjaCBhcyBub3QKLSAgICBiZWluZyBhYmxlIHRvIGZpbmQgT3BlblNTTCBzb3VyY2VzLCBvciBub3QgYmVpbmcgYWJsZSB0byBmaW5kIGEgUGVybAotICAgIHRoYXQgd29ya3Mgd2l0aCBPcGVuU1NMKSBhbmQgZ2l2ZSBhIHJlYXNvbmFibGUgZXJyb3IgbWVzc2FnZS4KLSAgICBJZiB5b3UgaGF2ZSBhIHByb2JsZW0gdGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgaGFuZGxlZCBjb3JyZWN0bHkKLSAgICAoZWcsIHlvdSBrbm93IHlvdSBoYXZlIEFjdGl2ZVBlcmwgYnV0IHdlIGNhbid0IGZpbmQgaXQpLCBwbGVhc2UgdGFrZQotICAgIGEgcGVlayBhdCBidWlsZF9zc2wucHkgYW5kIHN1Z2dlc3QgcGF0Y2hlcy4gIE5vdGUgdGhhdCBidWlsZF9zc2wucHkKLSAgICBzaG91bGQgYmUgYWJsZSB0byBiZSBydW4gZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZC1saW5lLgotCi0gICAgYnVpbGRfc3NsLnB5L01TVkMgaXNuJ3QgY2xldmVyIGVub3VnaCB0byBjbGVhbiBPcGVuU1NMIC0geW91IG11c3QgZG8KLSAgICB0aGlzIGJ5IGhhbmQuCi0KLQotWU9VUiBPV04gRVhURU5TSU9OIERMTHMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1JZiB5b3Ugd2FudCB0byBjcmVhdGUgeW91ciBvd24gZXh0ZW5zaW9uIG1vZHVsZSBETEwsIHRoZXJlJ3MgYW4gZXhhbXBsZQotd2l0aCBlYXN5LXRvLWZvbGxvdyBpbnN0cnVjdGlvbnMgaW4gLi4vUEMvZXhhbXBsZS87IHJlYWQgdGhlIGZpbGUKLXJlYWRtZS50eHQgdGhlcmUgZmlyc3QuCmRpZmYgLS1naXQgYS9QQy9WQzYvcm1weWMucHkgYi9QQy9WQzYvcm1weWMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4ZDY4MjMuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L3JtcHljLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotIyBSZW1vdmUgYWxsIHRoZSAucHljIGFuZCAucHlvIGZpbGVzIHVuZGVyIC4uL0xpYi4KLQotCi1kZWYgZGVsdHJlZShyb290KToKLSAgICBpbXBvcnQgb3MKLSAgICBmcm9tIG9zLnBhdGggaW1wb3J0IGpvaW4KLQotICAgIG5weWMgPSBucHlvID0gMAotICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHJvb3QpOgotICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKLSAgICAgICAgICAgIGRlbGV0ZSA9IEZhbHNlCi0gICAgICAgICAgICBpZiBuYW1lLmVuZHN3aXRoKCcucHljJyk6Ci0gICAgICAgICAgICAgICAgZGVsZXRlID0gVHJ1ZQotICAgICAgICAgICAgICAgIG5weWMgKz0gMQotICAgICAgICAgICAgZWxpZiBuYW1lLmVuZHN3aXRoKCcucHlvJyk6Ci0gICAgICAgICAgICAgICAgZGVsZXRlID0gVHJ1ZQotICAgICAgICAgICAgICAgIG5weW8gKz0gMQotCi0gICAgICAgICAgICBpZiBkZWxldGU6Ci0gICAgICAgICAgICAgICAgb3MucmVtb3ZlKGpvaW4ocm9vdCwgbmFtZSkpCi0KLSAgICByZXR1cm4gbnB5YywgbnB5bwotCi1ucHljLCBucHlvID0gZGVsdHJlZSgiLi4vLi4vTGliIikKLXByaW50IG5weWMsICIucHljIGRlbGV0ZWQsIiwgbnB5bywgIi5weW8gZGVsZXRlZCIKZGlmZiAtLWdpdCBhL1BDL1ZDNi9ydC5iYXQgYi9QQy9WQzYvcnQuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBhOWVhZGQ3Li4wMDAwMDAwCi0tLSBhL1BDL1ZDNi9ydC5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1AcmVtIFJ1biBUZXN0cy4gIFJ1biB0aGUgcmVncmVzc2lvbiB0ZXN0IHN1aXRlLgotQHJlbSBVc2FnZTogIHJ0IFstZF0gWy1PXSBbLXFdIHJlZ3J0ZXN0X2FyZ3MKLUByZW0gLWQgICBSdW4gRGVidWcgYnVpbGQgKHB5dGhvbl9kLmV4ZSkuICBFbHNlIHJlbGVhc2UgYnVpbGQuCi1AcmVtIC1PICAgUnVuIHB5dGhvbi5leGUgb3IgcHl0aG9uX2QuZXhlIChzZWUgLWQpIHdpdGggLU8uCi1AcmVtIC1xICAgInF1aWNrIiAtLSBub3JtYWxseSB0aGUgdGVzdHMgYXJlIHJ1biB0d2ljZSwgdGhlIGZpcnN0IHRpbWUKLUByZW0gICAgICBhZnRlciBkZWxldGluZyBhbGwgdGhlIC5weVtjb10gZmlsZXMgcmVhY2hhYmxlIGZyb20gTGliLy4KLUByZW0gICAgICAtcSBydW5zIHRoZSB0ZXN0cyBqdXN0IG9uY2UsIGFuZCB3aXRob3V0IGRlbGV0aW5nIC5weVtjb10gZmlsZXMuCi1AcmVtIEFsbCBsZWFkaW5nIGluc3RhbmNlcyBvZiB0aGVzZSBzd2l0Y2hlcyBhcmUgc2hpZnRlZCBvZmYsIGFuZAotQHJlbSB3aGF0ZXZlciByZW1haW5zIGlzIHBhc3NlZCB0byByZWdydGVzdC5weS4gIEZvciBleGFtcGxlLAotQHJlbSAgICAgcnQgLU8gLWQgLXggdGVzdF90aHJlYWQKLUByZW0gcnVucwotQHJlbSAgICAgcHl0aG9uX2QgLU8gLi4vLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgLXggdGVzdF90aHJlYWQKLUByZW0gdHdpY2UsIGFuZAotQHJlbSAgICAgcnQgLXEgLWcgdGVzdF9iaW5hc2NpaQotQHJlbSBydW5zCi1AcmVtICAgICBweXRob25fZCAuLi8uLi9saWIvdGVzdC9yZWdydGVzdC5weSAtZyB0ZXN0X2JpbmFzY2lpCi1AcmVtIHRvIGdlbmVyYXRlIHRoZSBleHBlY3RlZC1vdXRwdXQgZmlsZSBmb3IgYmluYXNjaWkgcXVpY2tseS4KLUBzZXQgX2V4ZT1weXRob24KLUBzZXQgX3Ftb2RlPW5vCi1Ac2V0IF9kYXNoTz0KLUBnb3RvIENoZWNrT3B0cwotOkFnYWluCi1Ac2hpZnQKLTpDaGVja09wdHMKLUBpZiAiJTEiPT0iLU8iIHNldCBfZGFzaE89LU8KLUBpZiAiJTEiPT0iLU8iIGdvdG8gQWdhaW4KLUBpZiAiJTEiPT0iLXEiIHNldCBfcW1vZGU9eWVzCi1AaWYgIiUxIj09Ii1xIiBnb3RvIEFnYWluCi1AaWYgIiUxIj09Ii1kIiBzZXQgX2V4ZT1weXRob25fZAotQGlmICIlMSI9PSItZCIgZ290byBBZ2FpbgotQGlmICIlX3Ftb2RlJSI9PSJ5ZXMiIGdvdG8gUW1vZGUKLUBlY2hvIERlbGV0aW5nIC5weWMvLnB5byBmaWxlcyAuLi4KLUAlX2V4ZSUgcm1weWMucHkKLSVfZXhlJSAlX2Rhc2hPJSAtRSAuLi8uLi9saWIvdGVzdC9yZWdydGVzdC5weSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQotQGVjaG8gQWJvdXQgdG8gcnVuIGFnYWluIHdpdGhvdXQgZGVsZXRpbmcgLnB5Yy8ucHlvIGZpcnN0OgotQHBhdXNlCi06UW1vZGUKLSVfZXhlJSAlX2Rhc2hPJSAtRSAuLi8uLi9saWIvdGVzdC9yZWdydGVzdC5weSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQotQHNldCBfZXhlPQotQHNldCBfcW1vZGU9Ci1Ac2V0IF9kYXNoTz0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9zZWxlY3QuZHNwIGIvUEMvVkM2L3NlbGVjdC5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwZTUyOGMuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L3NlbGVjdC5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9InNlbGVjdCIgLSBQYWNrYWdlIE93bmVyPTw0Pg0KLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gR2VuZXJhdGVkIEJ1aWxkIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDYuMDANCi0jICoqIERPIE5PVCBFRElUICoqDQotDQotIyBUQVJHVFlQRSAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiIDB4MDEwMg0KLQ0KLUNGRz1zZWxlY3QgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAic2VsZWN0Lm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJzZWxlY3QubWFrIiBDRkc9InNlbGVjdCAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJzZWxlY3QgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAic2VsZWN0IC0gV2luMzIgRGVidWciIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFIA0KLQ0KLSMgQmVnaW4gUHJvamVjdA0KLSMgUFJPUCBBbGxvd1BlckNvbmZpZ0RlcGVuZGVuY2llcyAwDQotIyBQUk9QIFNjY19Qcm9qTmFtZSAic2VsZWN0Ig0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLiINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gInNlbGVjdCAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXHNlbGVjdCINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UIC9XMyAvR1ggL08yIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiTkRFQlVHIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvWmkgL08yIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIk5ERUJVRyIgL0QgIldJTjMyIiAvRCAiX1dJTkRPV1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBCQVNFIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvbyAiTlVMIiAvd2luMzINCi0jIEFERCBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgQkFTRSBSU0MgL2wgMHg0MDkgL2QgIk5ERUJVRyINCi0jIEFERCBSU0MgL2wgMHg0MDkgL2QgIk5ERUJVRyINCi1CU0MzMj1ic2NtYWtlLmV4ZQ0KLSMgQUREIEJBU0UgQlNDMzIgL25vbG9nbw0KLSMgQUREIEJTQzMyIC9ub2xvZ28NCi1MSU5LMzI9bGluay5leGUNCi0jIEFERCBCQVNFIExJTkszMiBrZXJuZWwzMi5saWIgdXNlcjMyLmxpYiBnZGkzMi5saWIgd2luc3Bvb2wubGliIGNvbWRsZzMyLmxpYiBhZHZhcGkzMi5saWIgc2hlbGwzMi5saWIgb2xlMzIubGliIG9sZWF1dDMyLmxpYiB1dWlkLmxpYiBvZGJjMzIubGliIG9kYmNjcDMyLmxpYiAvbm9sb2dvIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIgdXNlcjMyLmxpYiBrZXJuZWwzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgd3NvY2szMi5saWIgL25vbG9nbyAvYmFzZToiMHgxRDExMDAwMCIgL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL25vZGVmYXVsdGxpYjoibGliYyIgL291dDoiLi9zZWxlY3QucHlkIg0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJzZWxlY3QgLSBXaW4zMiBEZWJ1ZyINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJEZWJ1ZyINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDENCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtZGVidWdcc2VsZWN0Ig0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVRkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9XUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRGQgL1czIC9HbSAvR1ggL1ppIC9PZCAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJfREVCVUciIC9EICJXSU4zMiIgL0QgIl9XSU5ET1dTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL28gIk5VTCIgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC9vICJOVUwiIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotIyBBREQgUlNDIC9sIDB4NDA5IC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIHVzZXIzMi5saWIga2VybmVsMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIHdzb2NrMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MUQxMTAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9ub2RlZmF1bHRsaWI6Im1zdmNydCIgL291dDoiLi9zZWxlY3RfZC5weWQiIC9wZGJ0eXBlOnNlcHQNCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgInNlbGVjdCAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJzZWxlY3QgLSBXaW4zMiBEZWJ1ZyINCi0jIEJlZ2luIFNvdXJjZSBGaWxlDQotDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcc2VsZWN0bW9kdWxlLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgRW5kIFRhcmdldA0KLSMgRW5kIFByb2plY3QNCmRpZmYgLS1naXQgYS9QQy9WQzYvdGNsODUyLnBhdGNoIGIvUEMvVkM2L3RjbDg1Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQ2NzgwYS4uMDAwMDAwMAotLS0gYS9QQy9WQzYvdGNsODUyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIHRjbDguNS4yXGdlbmVyaWNcdGNsLmgJRnJpIEp1biAxMyAwMzozNTozOSAyMDA4Ci0rKysgdGNsOC41LjJcZ2VuZXJpY1x0Y2wuaAlTdW4gSmFuICA0IDE2OjUyOjMwIDIwMDkKLUBAIC0zNjcsNyArMzY3LDcgQEAKLSB0eXBlZGVmIHN0cnVjdCBzdGF0aTY0IFRjbF9TdGF0QnVmOwotICMgICAgICAgICBkZWZpbmUgVENMX0xMX01PRElGSUVSCSJMIgotICMgICAgICBlbHNlIC8qIF9fQk9STEFORENfXyAqLwotLSMgICAgICAgICBpZiBfTVNDX1ZFUiA8IDE0MDAgJiYgIWRlZmluZWQoX01fSVg4NikKLSsjICAgICAgICAgaWYgX01TQ19WRVIgPCAxNDAwIC8qJiYgIWRlZmluZWQoX01fSVg4NikqLwotIHR5cGVkZWYgc3RydWN0IF9zdGF0aTY0CVRjbF9TdGF0QnVmOwotICMgICAgICAgICBlbHNlCi0gdHlwZWRlZiBzdHJ1Y3QgX3N0YXQ2NAlUY2xfU3RhdEJ1ZjsKZGlmZiAtLWdpdCBhL1BDL1ZDNi91bmljb2RlZGF0YS5kc3AgYi9QQy9WQzYvdW5pY29kZWRhdGEuZHNwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMDRkYjY3Li4wMDAwMDAwCi0tLSBhL1BDL1ZDNi91bmljb2RlZGF0YS5kc3AKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBACi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIFByb2plY3QgRmlsZSAtIE5hbWU9InVuaWNvZGVkYXRhIiAtIFBhY2thZ2UgT3duZXI9PDQ+DQotIyBNaWNyb3NvZnQgRGV2ZWxvcGVyIFN0dWRpbyBHZW5lcmF0ZWQgQnVpbGQgRmlsZSwgRm9ybWF0IFZlcnNpb24gNi4wMA0KLSMgKiogRE8gTk9UIEVESVQgKioNCi0NCi0jIFRBUkdUWVBFICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIgMHgwMTAyDQotDQotQ0ZHPXVuaWNvZGVkYXRhIC0gV2luMzIgRGVidWcNCi0hTUVTU0FHRSBUaGlzIGlzIG5vdCBhIHZhbGlkIG1ha2VmaWxlLiBUbyBidWlsZCB0aGlzIHByb2plY3QgdXNpbmcgTk1BS0UsDQotIU1FU1NBR0UgdXNlIHRoZSBFeHBvcnQgTWFrZWZpbGUgY29tbWFuZCBhbmQgcnVuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInVuaWNvZGVkYXRhLm1hayIuDQotIU1FU1NBR0UgDQotIU1FU1NBR0UgWW91IGNhbiBzcGVjaWZ5IGEgY29uZmlndXJhdGlvbiB3aGVuIHJ1bm5pbmcgTk1BS0UNCi0hTUVTU0FHRSBieSBkZWZpbmluZyB0aGUgbWFjcm8gQ0ZHIG9uIHRoZSBjb21tYW5kIGxpbmUuIEZvciBleGFtcGxlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIE5NQUtFIC9mICJ1bmljb2RlZGF0YS5tYWsiIENGRz0idW5pY29kZWRhdGEgLSBXaW4zMiBEZWJ1ZyINCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBQb3NzaWJsZSBjaG9pY2VzIGZvciBjb25maWd1cmF0aW9uIGFyZToNCi0hTUVTU0FHRSANCi0hTUVTU0FHRSAidW5pY29kZWRhdGEgLSBXaW4zMiBSZWxlYXNlIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSAidW5pY29kZWRhdGEgLSBXaW4zMiBEZWJ1ZyIgKGJhc2VkIG9uICJXaW4zMiAoeDg2KSBEeW5hbWljLUxpbmsgTGlicmFyeSIpDQotIU1FU1NBR0UgDQotDQotIyBCZWdpbiBQcm9qZWN0DQotIyBQUk9QIEFsbG93UGVyQ29uZmlnRGVwZW5kZW5jaWVzIDANCi0jIFBST1AgU2NjX1Byb2pOYW1lICJ1bmljb2RlZGF0YSINCi0jIFBST1AgU2NjX0xvY2FsUGF0aCAiLi4iDQotQ1BQPWNsLmV4ZQ0KLU1UTD1taWRsLmV4ZQ0KLVJTQz1yYy5leGUNCi0NCi0hSUYgICIkKENGRykiID09ICJ1bmljb2RlZGF0YSAtIFdpbjMyIFJlbGVhc2UiDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBJbnRlcm1lZGlhdGVfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1yZWxlYXNlXHVuaWNvZGVkYXRhIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIk1NQVBfRVhQT1JUUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9PMiAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExMIiAvRCAiTU1BUF9FWFBPUlRTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4YzA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4YzA5IC9kICJOREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvZGxsIC9tYWNoaW5lOkkzODYNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvYmFzZToiMHgxRDEyMDAwMCIgL2RsbCAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vdW5pY29kZWRhdGEucHlkIg0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJ1bmljb2RlZGF0YSAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1x1bmljb2RlZGF0YSINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotRjkwPWRmLmV4ZQ0KLSMgQUREIEJBU0UgQ1BQIC9ub2xvZ28gL01UZCAvVzMgL0dtIC9HWCAvWkkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0QgIl9VU1JETEwiIC9EICJNTUFQX0VYUE9SVFMiIC9ZWCAvRkQgL0daIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0QgIl9VU1JETEwiIC9EICJNTUFQX0VYUE9SVFMiIC9ZWCAvRkQgL0daIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiX0RFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4YzA5IC9kICJfREVCVUciDQotIyBBREQgUlNDIC9sIDB4YzA5IC9kICJfREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvYmFzZToiMHgxRDEyMDAwMCIgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvb3V0OiIuL3VuaWNvZGVkYXRhX2QucHlkIiAvcGRidHlwZTpzZXB0DQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVORElGIA0KLQ0KLSMgQmVnaW4gVGFyZ2V0DQotDQotIyBOYW1lICJ1bmljb2RlZGF0YSAtIFdpbjMyIFJlbGVhc2UiDQotIyBOYW1lICJ1bmljb2RlZGF0YSAtIFdpbjMyIERlYnVnIg0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1x1bmljb2RlZGF0YS5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L3c5eHBvcGVuLmRzcCBiL1BDL1ZDNi93OXhwb3Blbi5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhNjQwM2MuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L3c5eHBvcGVuLmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDk3ICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0idzl4cG9wZW4iIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIEFwcGxpY2F0aW9uIiAweDAxMDENCi0NCi1DRkc9dzl4cG9wZW4gLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAidzl4cG9wZW4ubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgInc5eHBvcGVuLm1hayIgQ0ZHPSJ3OXhwb3BlbiAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJ3OXhwb3BlbiAtIFdpbjMyIFJlbGVhc2UiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgQXBwbGljYXRpb24iKQ0KLSFNRVNTQUdFICJ3OXhwb3BlbiAtIFdpbjMyIERlYnVnIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIEFwcGxpY2F0aW9uIikNCi0hTUVTU0FHRSANCi0NCi0jIEJlZ2luIFByb2plY3QNCi0jIFBST1AgQWxsb3dQZXJDb25maWdEZXBlbmRlbmNpZXMgMA0KLSMgUFJPUCBTY2NfUHJvak5hbWUgIiINCi0jIFBST1AgU2NjX0xvY2FsUGF0aCAiIg0KLUNQUD1jbC5leGUNCi1NVEw9bWlkbC5leGUNCi1SU0M9cmMuZXhlDQotDQotIUlGICAiJChDRkcpIiA9PSAidzl4cG9wZW4gLSBXaW4zMiBSZWxlYXNlIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMA0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiUmVsZWFzZSINCi0jIFBST1AgQkFTRSBUYXJnZXRfRGlyICIiDQotIyBQUk9QIFVzZV9NRkMgMA0KLSMgUFJPUCBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgT3V0cHV0X0RpciAiLiINCi0jIFBST1AgSW50ZXJtZWRpYXRlX0RpciAieDg2LXRlbXAtcmVsZWFzZVx3OXhwb3BlbiINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0dYIC9PMiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9ZWCAvRkQgL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTUQgL1czIC9HWCAvTzIgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJOREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvWVggL0ZEIC9jDQotIyBBREQgQkFTRSBNVEwgL25vbG9nbyAvRCAiTkRFQlVHIiAvbWt0eXBsaWIyMDMgL3dpbjMyDQotIyBBREQgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIEJBU0UgUlNDIC9sIDB4YzA5IC9kICJOREVCVUciDQotIyBBREQgUlNDIC9sIDB4YzA5IC9kICJOREVCVUciDQotQlNDMzI9YnNjbWFrZS5leGUNCi0jIEFERCBCQVNFIEJTQzMyIC9ub2xvZ28NCi0jIEFERCBCU0MzMiAvbm9sb2dvDQotTElOSzMyPWxpbmsuZXhlDQotIyBBREQgQkFTRSBMSU5LMzIga2VybmVsMzIubGliIHVzZXIzMi5saWIgZ2RpMzIubGliIHdpbnNwb29sLmxpYiBjb21kbGczMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIG9sZTMyLmxpYiBvbGVhdXQzMi5saWIgdXVpZC5saWIgb2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgL25vbG9nbyAvc3Vic3lzdGVtOndpbmRvd3MgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiB1c2VyMzIubGliIC9ub2xvZ28gL21hY2hpbmU6STM4Ng0KLSMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KLQ0KLSFFTFNFSUYgICIkKENGRykiID09ICJ3OXhwb3BlbiAtIFdpbjMyIERlYnVnIg0KLQ0KLSMgUFJPUCBCQVNFIFVzZV9NRkMgMA0KLSMgUFJPUCBCQVNFIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBCQVNFIE91dHB1dF9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIkRlYnVnIg0KLSMgUFJPUCBCQVNFIFRhcmdldF9EaXIgIiINCi0jIFBST1AgVXNlX01GQyAwDQotIyBQUk9QIFVzZV9EZWJ1Z19MaWJyYXJpZXMgMQ0KLSMgUFJPUCBPdXRwdXRfRGlyICIuIg0KLSMgUFJPUCBJbnRlcm1lZGlhdGVfRGlyICJ4ODYtdGVtcC1kZWJ1Z1x3OXhwb3BlbiINCi0jIFBST1AgSWdub3JlX0V4cG9ydF9MaWIgMA0KLSMgUFJPUCBUYXJnZXRfRGlyICIiDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvVzMgL0dtIC9HWCAvWkkgL09kIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL1lYIC9GRCAvR1ogL2MNCi0jIEFERCBDUFAgL25vbG9nbyAvTURkIC9XMyAvR20gL0dYIC9aaSAvT2QgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvWVggL0ZEIC9HWiAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweGMwOSAvZCAiX0RFQlVHIg0KLSMgQUREIFJTQyAvbCAweGMwOSAvZCAiX0RFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9wZGJ0eXBlOnNlcHQNCi0jIEFERCBMSU5LMzIgdXNlcjMyLmxpYiAvbm9sb2dvIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vdzl4cG9wZW5fZC5leGUiIC9wZGJ0eXBlOnNlcHQNCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgInc5eHBvcGVuIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgInc5eHBvcGVuIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlx3OXhwb3Blbi5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVkM2L3dpbnNvdW5kLmRzcCBiL1BDL1ZDNi93aW5zb3VuZC5kc3AKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlMDliOWIuLjAwMDAwMDAKLS0tIGEvUEMvVkM2L3dpbnNvdW5kLmRzcAorKysgL2Rldi9udWxsCkBAIC0xLDk5ICswLDAgQEAKLSMgTWljcm9zb2Z0IERldmVsb3BlciBTdHVkaW8gUHJvamVjdCBGaWxlIC0gTmFtZT0id2luc291bmQiIC0gUGFja2FnZSBPd25lcj08ND4NCi0jIE1pY3Jvc29mdCBEZXZlbG9wZXIgU3R1ZGlvIEdlbmVyYXRlZCBCdWlsZCBGaWxlLCBGb3JtYXQgVmVyc2lvbiA2LjAwDQotIyAqKiBETyBOT1QgRURJVCAqKg0KLQ0KLSMgVEFSR1RZUEUgIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IiAweDAxMDINCi0NCi1DRkc9d2luc291bmQgLSBXaW4zMiBEZWJ1Zw0KLSFNRVNTQUdFIFRoaXMgaXMgbm90IGEgdmFsaWQgbWFrZWZpbGUuIFRvIGJ1aWxkIHRoaXMgcHJvamVjdCB1c2luZyBOTUFLRSwNCi0hTUVTU0FHRSB1c2UgdGhlIEV4cG9ydCBNYWtlZmlsZSBjb21tYW5kIGFuZCBydW4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBOTUFLRSAvZiAid2luc291bmQubWFrIi4NCi0hTUVTU0FHRSANCi0hTUVTU0FHRSBZb3UgY2FuIHNwZWNpZnkgYSBjb25maWd1cmF0aW9uIHdoZW4gcnVubmluZyBOTUFLRQ0KLSFNRVNTQUdFIGJ5IGRlZmluaW5nIHRoZSBtYWNybyBDRkcgb24gdGhlIGNvbW1hbmQgbGluZS4gRm9yIGV4YW1wbGU6DQotIU1FU1NBR0UgDQotIU1FU1NBR0UgTk1BS0UgL2YgIndpbnNvdW5kLm1hayIgQ0ZHPSJ3aW5zb3VuZCAtIFdpbjMyIERlYnVnIg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFIFBvc3NpYmxlIGNob2ljZXMgZm9yIGNvbmZpZ3VyYXRpb24gYXJlOg0KLSFNRVNTQUdFIA0KLSFNRVNTQUdFICJ3aW5zb3VuZCAtIFdpbjMyIFJlbGVhc2UiIChiYXNlZCBvbiAiV2luMzIgKHg4NikgRHluYW1pYy1MaW5rIExpYnJhcnkiKQ0KLSFNRVNTQUdFICJ3aW5zb3VuZCAtIFdpbjMyIERlYnVnIiAoYmFzZWQgb24gIldpbjMyICh4ODYpIER5bmFtaWMtTGluayBMaWJyYXJ5IikNCi0hTUVTU0FHRSANCi0NCi0jIEJlZ2luIFByb2plY3QNCi0jIFBST1AgQWxsb3dQZXJDb25maWdEZXBlbmRlbmNpZXMgMA0KLSMgUFJPUCBTY2NfUHJvak5hbWUgIndpbnNvdW5kIg0KLSMgUFJPUCBTY2NfTG9jYWxQYXRoICIuLlxwYyINCi1DUFA9Y2wuZXhlDQotTVRMPW1pZGwuZXhlDQotUlNDPXJjLmV4ZQ0KLQ0KLSFJRiAgIiQoQ0ZHKSIgPT0gIndpbnNvdW5kIC0gV2luMzIgUmVsZWFzZSINCi0NCi0jIFBST1AgQkFTRSBVc2VfTUZDIDANCi0jIFBST1AgQkFTRSBVc2VfRGVidWdfTGlicmFyaWVzIDANCi0jIFBST1AgQkFTRSBPdXRwdXRfRGlyICJSZWxlYXNlIg0KLSMgUFJPUCBCQVNFIEludGVybWVkaWF0ZV9EaXIgIlJlbGVhc2UiDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAwDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLXJlbGVhc2Vcd2luc291bmQiDQotIyBQUk9QIElnbm9yZV9FeHBvcnRfTGliIDANCi0jIFBST1AgVGFyZ2V0X0RpciAiIg0KLUY5MD1kZi5leGUNCi0jIEFERCBCQVNFIENQUCAvbm9sb2dvIC9NVCAvVzMgL0dYIC9PMiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExMIiAvRCAiV0lOU09VTkRfRVhQT1JUUyIgL1lYIC9GRCAvYw0KLSMgQUREIENQUCAvbm9sb2dvIC9NRCAvVzMgL0dYIC9PMiAvSSAiLi5cLi5cSW5jbHVkZSIgL0kgIi4uIiAvRCAiUHlfQlVJTERfQ09SRV9NT0RVTEUiIC9EICJXSU4zMiIgL0QgIk5ERUJVRyIgL0QgIl9XSU5ET1dTIiAvRCAiX01CQ1MiIC9EICJfVVNSRExMIiAvRCAiV0lOU09VTkRfRVhQT1JUUyIgL1lYIC9GRCAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIk5ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJOREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweGMwOSAvZCAiTkRFQlVHIg0KLSMgQUREIFJTQyAvbCAweGMwOSAvZCAiTkRFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2RsbCAvbWFjaGluZTpJMzg2DQotIyBBREQgTElOSzMyIGtlcm5lbDMyLmxpYiB3aW5tbS5saWIgdXNlcjMyLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFEMTYwMDAwIiAvZGxsIC9tYWNoaW5lOkkzODYgL291dDoiLi93aW5zb3VuZC5weWQiDQotIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQotDQotIUVMU0VJRiAgIiQoQ0ZHKSIgPT0gIndpbnNvdW5kIC0gV2luMzIgRGVidWciDQotDQotIyBQUk9QIEJBU0UgVXNlX01GQyAwDQotIyBQUk9QIEJBU0UgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIEJBU0UgT3V0cHV0X0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgSW50ZXJtZWRpYXRlX0RpciAiRGVidWciDQotIyBQUk9QIEJBU0UgVGFyZ2V0X0RpciAiIg0KLSMgUFJPUCBVc2VfTUZDIDANCi0jIFBST1AgVXNlX0RlYnVnX0xpYnJhcmllcyAxDQotIyBQUk9QIE91dHB1dF9EaXIgIi4iDQotIyBQUk9QIEludGVybWVkaWF0ZV9EaXIgIng4Ni10ZW1wLWRlYnVnXHdpbnNvdW5kIg0KLSMgUFJPUCBJZ25vcmVfRXhwb3J0X0xpYiAwDQotIyBQUk9QIFRhcmdldF9EaXIgIiINCi1GOTA9ZGYuZXhlDQotIyBBREQgQkFTRSBDUFAgL25vbG9nbyAvTVRkIC9XMyAvR20gL0dYIC9aSSAvT2QgL0QgIlB5X0JVSUxEX0NPUkVfTU9EVUxFIiAvRCAiV0lOMzIiIC9EICJfREVCVUciIC9EICJfV0lORE9XUyIgL0QgIl9NQkNTIiAvRCAiX1VTUkRMTCIgL0QgIldJTlNPVU5EX0VYUE9SVFMiIC9ZWCAvRkQgL0daIC9jDQotIyBBREQgQ1BQIC9ub2xvZ28gL01EZCAvVzMgL0dtIC9HWCAvWmkgL09kIC9JICIuLlwuLlxJbmNsdWRlIiAvSSAiLi4iIC9EICJQeV9CVUlMRF9DT1JFX01PRFVMRSIgL0QgIldJTjMyIiAvRCAiX0RFQlVHIiAvRCAiX1dJTkRPV1MiIC9EICJfTUJDUyIgL0QgIl9VU1JETEwiIC9EICJXSU5TT1VORF9FWFBPUlRTIiAvWVggL0ZEIC9HWiAvYw0KLSMgQUREIEJBU0UgTVRMIC9ub2xvZ28gL0QgIl9ERUJVRyIgL21rdHlwbGliMjAzIC93aW4zMg0KLSMgQUREIE1UTCAvbm9sb2dvIC9EICJfREVCVUciIC9ta3R5cGxpYjIwMyAvd2luMzINCi0jIEFERCBCQVNFIFJTQyAvbCAweGMwOSAvZCAiX0RFQlVHIg0KLSMgQUREIFJTQyAvbCAweGMwOSAvZCAiX0RFQlVHIg0KLUJTQzMyPWJzY21ha2UuZXhlDQotIyBBREQgQkFTRSBCU0MzMiAvbm9sb2dvDQotIyBBREQgQlNDMzIgL25vbG9nbw0KLUxJTkszMj1saW5rLmV4ZQ0KLSMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvcGRidHlwZTpzZXB0DQotIyBBREQgTElOSzMyIHVzZXIzMi5saWIga2VybmVsMzIubGliIHdpbm1tLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFEMTYwMDAwIiAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9vdXQ6Ii4vd2luc291bmRfZC5weWQiIC9wZGJ0eXBlOnNlcHQNCi0jIFNVQlRSQUNUIExJTkszMiAvcGRiOm5vbmUNCi0NCi0hRU5ESUYgDQotDQotIyBCZWdpbiBUYXJnZXQNCi0NCi0jIE5hbWUgIndpbnNvdW5kIC0gV2luMzIgUmVsZWFzZSINCi0jIE5hbWUgIndpbnNvdW5kIC0gV2luMzIgRGVidWciDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KLVNPVVJDRT0uLlx3aW5zb3VuZC5jDQotIyBFbmQgU291cmNlIEZpbGUNCi0jIEVuZCBUYXJnZXQNCi0jIEVuZCBQcm9qZWN0DQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvVW5pbnN0YWwud3NlIGIvUEMvVlM3LjEvVW5pbnN0YWwud3NlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTZkZDMwLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL1VuaW5zdGFsLndzZQorKysgL2Rldi9udWxsCkBAIC0xLDUxNCArMCwwIEBACi1Eb2N1bWVudCBUeXBlOiBXU0UKLWl0ZW06IEdsb2JhbAotICBWZXJzaW9uPTguMTQKLSAgRmxhZ3M9MDAwMDAxMDAKLSAgU3BsaXQ9MTQyMAotICBMYW5ndWFnZXM9NjUgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKLSAgQ29weSBEZWZhdWx0PTEKLSAgSmFwYW5lc2UgRm9udCBOYW1lPU1TIEdvdGhpYwotICBKYXBhbmVzZSBGb250IFNpemU9MTAKLSAgU3RhcnQgR3JhZGllbnQ9MCAwIDI1NQotICBFbmQgR3JhZGllbnQ9MCAwIDAKLSAgV2luZG93cyBGbGFncz0wMDAwMDAwMDAwMDAwMDAwMDAwMDEwMTAwMDAwMTAwMAotICBNZXNzYWdlIEZvbnQ9TVMgU2FucyBTZXJpZgotICBGb250IFNpemU9OAotICBEaXNrIExhYmVsPUdMQlMKLSAgRGlzayBGaWxlbmFtZT1JTlNUQUxMCi0gIFBhdGNoIEZsYWdzPTAwMDAwMDAwMDAwMDAwMDEKLSAgUGF0Y2ggVGhyZXNob2xkPTIwMAotICBQYXRjaCBNZW1vcnk9NDA5NgotICBQZXItVXNlciBWZXJzaW9uIElEPTEKLSAgQ3J5c3RhbCBGb3JtYXQ9MTAxMTExMDAxMDExMDAwMDAwMTAwMDEwMDEwMDEwMDEKLSAgU3RlcCBWaWV3PSZQcm9wZXJ0aWVzCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PU5vdGUgZnJvbSBUaW06ICBUaGlzIGlzIGEgdmVyYmF0aW0gY29weSBvZiBXaXNlJ3MgVW5pbnN0YWwud3NlLCBhbHRlcmVkIGF0IHRoZSBlbmQgdG8gd3JpdGUKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9dW5pbnN0YWxsIGluZm8gdW5kZXIgSEtDVSBpbnN0ZWFkIG9mIEhLTE0gaWYgb3VyIERPQURNSU4gdmFyIGlzIGZhbHNlLgotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9ICAgICBJbnN0YWxsIFN1cHBvcnQgZm9yIHVuaW5zdGFsbGluZyB0aGUgYXBwbGljYXRpb24uCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9VU5JTlNUQUxMX1BBVEgKLSAgVmFsdWU9JV9MT0dGSUxFX1BBVEhfJQotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9VU5JTlNUQUxMX1BBVEgKLSAgVmFsdWU9JVVOSU5TVEFMTF9QQVRIJVxVTldJU0UuRVhFCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhcmlhYmxlPV9FWEVfT1NfVFlQRV8KLSAgVmFsdWU9V0lOMzIKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxVTldJU0UzMi5FWEUKLSAgRGVzdGluYXRpb249JVVOSU5TVEFMTF9QQVRIJQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVsc2UKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxVTldJU0UuRVhFCi0gIERlc3RpbmF0aW9uPSVVTklOU1RBTExfUEFUSCUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PSAgICAgSW5zdGFsbCBTdXBwb3J0IGZvciBtdWx0aXBsZSBsYW5ndWFnZXMKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1VTklOU1RBTExfTEFORwotICBWYWx1ZT0lVU5JTlNUQUxMX1BBVEglCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1VTklOU1RBTExfTEFORwotICBWYWx1ZT0lVU5JTlNUQUxMX0xBTkclXFVOV0lTRS5JTkkKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFyaWFibGU9X0xBTkdfTElTVF8KLSAgVmFsdWU9QwotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYWx1ZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuRlJBCi0gIEZsYWdzPTAwMDAwMDExCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1MQU5HCi0gIFZhbHVlPSVfTEFOR19DX05BTUVfJQotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5GUkEKLSAgRGVzdGluYXRpb249JVVOSU5TVEFMTF9MQU5HJQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhcmlhYmxlPV9MQU5HX0xJU1RfCi0gIFZhbHVlPUQKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFsdWU9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkZSQQotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9TEFORwotICBWYWx1ZT0lX0xBTkdfRF9OQU1FXyUKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuRlJBCi0gIERlc3RpbmF0aW9uPSVVTklOU1RBTExfTEFORyUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYXJpYWJsZT1fTEFOR19MSVNUXwotICBWYWx1ZT1FCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhbHVlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5ERVUKLSAgRmxhZ3M9MDAwMDAwMTEKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUxBTkcKLSAgVmFsdWU9JV9MQU5HX0VfTkFNRV8lCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkRFVQotICBEZXN0aW5hdGlvbj0lVU5JTlNUQUxMX0xBTkclCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFyaWFibGU9X0xBTkdfTElTVF8KLSAgVmFsdWU9RgotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYWx1ZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuUFRHCi0gIEZsYWdzPTAwMDAwMDExCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1MQU5HCi0gIFZhbHVlPSVfTEFOR19GX05BTUVfJQotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5QVEcKLSAgRGVzdGluYXRpb249JVVOSU5TVEFMTF9MQU5HJQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhcmlhYmxlPV9MQU5HX0xJU1RfCi0gIFZhbHVlPUcKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFsdWU9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkVTUAotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9TEFORwotICBWYWx1ZT0lX0xBTkdfR19OQU1FXyUKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuRVNQCi0gIERlc3RpbmF0aW9uPSVVTklOU1RBTExfTEFORyUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYXJpYWJsZT1fTEFOR19MSVNUXwotICBWYWx1ZT1ICi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhbHVlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5FU1AKLSAgRmxhZ3M9MDAwMDAwMTEKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUxBTkcKLSAgVmFsdWU9JV9MQU5HX0hfTkFNRV8lCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkVTUAotICBEZXN0aW5hdGlvbj0lVU5JTlNUQUxMX0xBTkclCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFyaWFibGU9X0xBTkdfTElTVF8KLSAgVmFsdWU9SQotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYWx1ZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuSVRBCi0gIEZsYWdzPTAwMDAwMDExCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1MQU5HCi0gIFZhbHVlPSVfTEFOR19JX05BTUVfJQotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5JVEEKLSAgRGVzdGluYXRpb249JVVOSU5TVEFMTF9MQU5HJQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhcmlhYmxlPV9MQU5HX0xJU1RfCi0gIFZhbHVlPUoKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFsdWU9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkRBTgotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9TEFORwotICBWYWx1ZT0lX0xBTkdfSl9OQU1FXyUKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuREFOCi0gIERlc3RpbmF0aW9uPSVVTklOU1RBTExfTEFORyUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYXJpYWJsZT1fTEFOR19MSVNUXwotICBWYWx1ZT1LCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhbHVlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5GSU4KLSAgRmxhZ3M9MDAwMDAwMTEKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUxBTkcKLSAgVmFsdWU9JV9MQU5HX0tfTkFNRV8lCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkZJTgotICBEZXN0aW5hdGlvbj0lVU5JTlNUQUxMX0xBTkclCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFyaWFibGU9X0xBTkdfTElTVF8KLSAgVmFsdWU9TAotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYWx1ZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuSVNMCi0gIEZsYWdzPTAwMDAwMDExCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1MQU5HCi0gIFZhbHVlPSVfTEFOR19MX05BTUVfJQotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5JU0wKLSAgRGVzdGluYXRpb249JVVOSU5TVEFMTF9MQU5HJQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhcmlhYmxlPV9MQU5HX0xJU1RfCi0gIFZhbHVlPU0KLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFsdWU9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLk5MRAotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9TEFORwotICBWYWx1ZT0lX0xBTkdfTV9OQU1FXyUKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuTkxECi0gIERlc3RpbmF0aW9uPSVVTklOU1RBTExfTEFORyUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYXJpYWJsZT1fTEFOR19MSVNUXwotICBWYWx1ZT1OCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhbHVlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5OT1IKLSAgRmxhZ3M9MDAwMDAwMTEKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUxBTkcKLSAgVmFsdWU9JV9MQU5HX05fTkFNRV8lCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLk5PUgotICBEZXN0aW5hdGlvbj0lVU5JTlNUQUxMX0xBTkclCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFyaWFibGU9X0xBTkdfTElTVF8KLSAgVmFsdWU9TwotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBJZgotICBWYWx1ZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuU1ZFCi0gIEZsYWdzPTAwMDAwMDExCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1MQU5HCi0gIFZhbHVlPSVfTEFOR19PX05BTUVfJQotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPSVfV0lTRV8lXExBTkdVQUdFXFVOV0lTRS5TVkUKLSAgRGVzdGluYXRpb249JVVOSU5TVEFMTF9MQU5HJQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBDb21waWxlciBWYXJpYWJsZSBFbmQKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIElmCi0gIFZhcmlhYmxlPV9MQU5HX0xJU1RfCi0gIFZhbHVlPVAKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgSWYKLSAgVmFsdWU9JV9XSVNFXyVcTEFOR1VBR0VcVU5XSVNFLkpQTgotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9TEFORwotICBWYWx1ZT0lX0xBTkdfUF9OQU1FXyUKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1dJU0VfJVxMQU5HVUFHRVxVTldJU0UuSlBOCi0gIERlc3RpbmF0aW9uPSVVTklOU1RBTExfTEFORyUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogQ29tcGlsZXIgVmFyaWFibGUgRW5kCi1lbmQKLWl0ZW06IENvbXBpbGVyIFZhcmlhYmxlIEVuZAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9ICAgICBJbnN0YWxsIHRoZSBhZGQvcmVtb3ZlIG9yIHVuaW5zdGFsbCBpY29uCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9VU5JTlNUQUxMX1BBVEgKLSAgVmFsdWU9JVVOSU5TVEFMTF9QQVRIJQotICBGbGFncz0wMDAxMDEwMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9SU5TVF9MT0dfUEFUSAotICBWYWx1ZT0lX0xPR0ZJTEVfUEFUSF8lCi0gIEZsYWdzPTAwMDEwMTAwCi1lbmQKLWl0ZW06IENoZWNrIENvbmZpZ3VyYXRpb24KLSAgRmxhZ3M9MTAxMTEwMTEKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPURPQURNSU4KLSAgVmFsdWU9MQotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1Xcml0ZSB1bmluc3RhbGwgaW5mbyB1bmRlciBIS0xNLiAgVGhpcyBpZi9lbHNlL2VuZCBibG9jayBhZGRlZCBieSBUaW0uCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGxcJUFQUFRJVExFJQotICBOZXcgVmFsdWU9JUFQUFRJVExFJQotICBWYWx1ZSBOYW1lPURpc3BsYXlOYW1lCi0gIFJvb3Q9MgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgTmV3IFZhbHVlPSVVTklOU1RBTExfUEFUSCUgJUlOU1RfTE9HX1BBVEglCi0gIE5ldyBWYWx1ZT0KLSAgVmFsdWUgTmFtZT1Vbmluc3RhbGxTdHJpbmcKLSAgUm9vdD0yCi1lbmQKLWl0ZW06IEVsc2UgU3RhdGVtZW50Ci1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVRoZSBzYW1lLCBidXQgd3JpdGUgdW5kZXIgSEtDVSBpbnN0ZWFkLgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgTmV3IFZhbHVlPSVBUFBUSVRMRSUKLSAgVmFsdWUgTmFtZT1EaXNwbGF5TmFtZQotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFwlQVBQVElUTEUlCi0gIE5ldyBWYWx1ZT0lVU5JTlNUQUxMX1BBVEglICVJTlNUX0xPR19QQVRIJQotICBOZXcgVmFsdWU9Ci0gIFZhbHVlIE5hbWU9VW5pbnN0YWxsU3RyaW5nCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogQWRkIFByb2dNYW4gSWNvbgotICBHcm91cD0lR1JPVVAlCi0gIEljb24gTmFtZT1Vbmluc3RhbGwgJUFQUFRJVExFJQotICBDb21tYW5kIExpbmU9JVVOSU5TVEFMTF9QQVRIJSAlSU5TVF9MT0dfUEFUSCUKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IENoZWNrIENvbmZpZ3VyYXRpb24KLSAgRmxhZ3M9MTExMTAwMTAKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPURPQlJBTkQKLSAgVmFsdWU9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MgotICBpdGVtOiBLZXkKLSAgICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgICBOZXcgVmFsdWU9JUNPTVBBTlklCi0gICAgVmFsdWUgTmFtZT1SZWdDb21wYW55Ci0gICAgUm9vdD0yCi0gIGVuZAotICBpdGVtOiBLZXkKLSAgICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgICBOZXcgVmFsdWU9JU5BTUUlCi0gICAgVmFsdWUgTmFtZT1SZWdPd25lcgotICAgIFJvb3Q9MgotICBlbmQKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9fY3R5cGVzLnZjcHJvaiBiL1BDL1ZTNy4xL19jdHlwZXMudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMzU5ZDg4Li4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL19jdHlwZXMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMzExICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJfY3R5cGVzIg0KLQlQcm9qZWN0R1VJRD0ie0YyMkY0MEY0LUQzMTgtNDBEQy05NkIzLTg4REM4MUNFMDg5NH0iDQotCVJvb3ROYW1lc3BhY2U9Il9jdHlwZXMiDQotCUtleXdvcmQ9IldpbjMyUHJvaiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdcX2N0eXBlcyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQywuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtfREVCVUc7X1dJTkRPV1MiDQotCQkJCU1pbmltYWxSZWJ1aWxkPSJGQUxTRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJGQUxTRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJT3V0cHV0RmlsZT0iLi9fY3R5cGVzX2QucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX2N0eXBlc19kLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19jdHlwZXNfZC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1yZWxlYXNlXF9jdHlwZXMiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQywuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJGQUxTRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMCINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJT3V0cHV0RmlsZT0iLi9fY3R5cGVzLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iRkFMU0UiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fY3R5cGVzLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlPcHRpbWl6ZVJlZmVyZW5jZXM9IjAiDQotCQkJCUVuYWJsZUNPTURBVEZvbGRpbmc9IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX2N0eXBlcy5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iYW1kNjQtdGVtcC1yZWxlYXNlXF9jdHlwZXMiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19PUFRFUk9OIC9HUy0iDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMCINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9NQUNISU5FOkFNRDY0IC9VU0VMSU5LOk1TX1NESyAvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJT3V0cHV0RmlsZT0iLi9fY3R5cGVzLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iRkFMU0UiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fY3R5cGVzLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlPcHRpbWl6ZVJlZmVyZW5jZXM9IjAiDQotCQkJCUVuYWJsZUNPTURBVEZvbGRpbmc9IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX2N0eXBlcy5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJpYTY0LXRlbXAtcmVsZWFzZVxfY3R5cGVzIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfSVRBTklVTSINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMsLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7TkRFQlVHO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIwIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsgL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCU91dHB1dEZpbGU9Ii4vX2N0eXBlcy5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IkZBTFNFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX2N0eXBlcy5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJT3B0aW1pemVSZWZlcmVuY2VzPSIwIg0KLQkJCQlFbmFibGVDT01EQVRGb2xkaW5nPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19jdHlwZXMubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjYWxsYmFja3MuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNhbGxwcm9jLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjZmllbGQuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbWFsbG9jX2Nsb3N1cmUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXHByZXBfY2lmLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xzdGdkaWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1x3aW4zMi5jIj4NCi0JCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iVFJVRSI+DQotCQkJCTxUb29sDQotCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIi8+DQotCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luNjQuYXNtIj4NCi0JCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJUUlVFIj4NCi0JCQkJPFRvb2wNCi0JCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQkJRXhjbHVkZWRGcm9tQnVpbGQ9IlRSVUUiPg0KLQkJCQk8VG9vbA0KLQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiPg0KLQkJCQk8VG9vbA0KLQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQlDb21tYW5kTGluZT0iYW1kNjRfbWw2NCAvbm9sb2dvIC9jIC9GbyAmcXVvdDskKEludERpcilcd2luNjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90Ow0KLSINCi0JCQkJCU91dHB1dHM9IiZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsiLz4NCi0JCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQkJRXhjbHVkZWRGcm9tQnVpbGQ9IlRSVUUiPg0KLQkJCQk8VG9vbA0KLQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9fY3R5cGVzX3Rlc3QudmNwcm9qIGIvUEMvVlM3LjEvX2N0eXBlc190ZXN0LnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZThlOGEyYy4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9fY3R5cGVzX3Rlc3QudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjQyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJfY3R5cGVzX3Rlc3QiDQotCVByb2plY3RHVUlEPSJ7OENGMzM0RDktNEY4Mi00MkVCLTk3QUYtODM1OTJDNUFGRDJGfSINCi0JS2V5d29yZD0iV2luMzJQcm9qIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1kZWJ1Z1xfY3R5cGVzX3Rlc3QiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtfREVCVUc7X1dJTkRPV1MiDQotCQkJCU1pbmltYWxSZWJ1aWxkPSJGQUxTRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iLi9fY3R5cGVzX3Rlc3RfZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fY3R5cGVzX3Rlc3RfZC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19jdHlwZXNfdGVzdF9kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcX2N0eXBlc190ZXN0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIwIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iLi9fY3R5cGVzX3Rlc3QucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJGQUxTRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL19jdHlwZXNfdGVzdC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJT3B0aW1pemVSZWZlcmVuY2VzPSIwIg0KLQkJCQlFbmFibGVDT01EQVRGb2xkaW5nPSIwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX2N0eXBlc190ZXN0LmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImlhNjQtdGVtcC1yZWxlYXNlXF9jdHlwZXNfdGVzdCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX0lUQU5JVU0iDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO19ERUJVRztfV0lORE9XUyINCi0JCQkJTWluaW1hbFJlYnVpbGQ9IkZBTFNFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyINCi0JCQkJT3V0cHV0RmlsZT0iLi9fY3R5cGVzX3Rlc3RfZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fY3R5cGVzX3Rlc3RfZC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19jdHlwZXNfdGVzdF9kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VBTUQ2NHxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJhbWQ2NC10ZW1wLXJlbGVhc2VcX2N0eXBlc190ZXN0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMCINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9IkZBTFNFIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCU91dHB1dEZpbGU9Ii4vX2N0eXBlc190ZXN0LnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iRkFMU0UiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fY3R5cGVzX3Rlc3QucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCU9wdGltaXplUmVmZXJlbmNlcz0iMCINCi0JCQkJRW5hYmxlQ09NREFURm9sZGluZz0iMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19jdHlwZXNfdGVzdC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXF9jdHlwZXNfdGVzdC5jIj4NCi0JCTwvRmlsZT4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvX2VsZW1lbnR0cmVlLnZjcHJvaiBiL1BDL1ZTNy4xL19lbGVtZW50dHJlZS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJhMmI5ZDkuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvX2VsZW1lbnR0cmVlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI2NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0iX2VsZW1lbnR0cmVlIg0KLQlQcm9qZWN0R1VJRD0iezE5NjZEREUyLTRBQjctNEU0RS1BQ0M5LUMxMjFFNEQzN0Y4RX0iDQotCVNjY1Byb2plY3ROYW1lPSJfZWxlbWVudHRyZWUiDQotCVNjY0xvY2FsUGF0aD0iLi4iPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLWRlYnVnXF9lbGVtZW50dHJlZSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQywuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7X0RFQlVHO0hBVkVfRVhQQVRfSDtXSU4zMjtfV0lORE9XUztYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjY3AzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX2VsZW1lbnR0cmVlX2QucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX2VsZW1lbnR0cmVlX2QucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX2VsZW1lbnR0cmVlX2QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtcmVsZWFzZVxfZWxlbWVudHRyZWUiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fZWxlbWVudHRyZWUucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX2VsZW1lbnR0cmVlLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19lbGVtZW50dHJlZS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4vLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5caWE2NC10ZW1wLXJlbGVhc2VcX2VsZW1lbnR0cmVlIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfSVRBTklVTSAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiY2NwMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL19lbGVtZW50dHJlZS5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fZWxlbWVudHRyZWUucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX2VsZW1lbnR0cmVlLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VBTUQ2NHxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJhbWQ2NC10ZW1wLXJlbGVhc2VcX2VsZW1lbnR0cmVlIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fZWxlbWVudHRyZWUucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX2VsZW1lbnR0cmVlLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19lbGVtZW50dHJlZS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZWxlbWVudHRyZWUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHJvbGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suYyI+DQotCQk8L0ZpbGU+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL19tc2kudmNwcm9qIGIvUEMvVlM3LjEvX21zaS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0ZmQ0NDcuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvX21zaS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNTIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9Il9tc2kiDQotCVByb2plY3RHVUlEPSJ7MkMwQkVGQjktNzBFMi00RjgwLUFDNUItNEFCOEVFMDIzNTc0fSINCi0JU2NjUHJvamVjdE5hbWU9Il9tc2kiDQotCVNjY0xvY2FsUGF0aD0iLi5cLi5ccGMiPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLWRlYnVnXF9tc2kiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7X0RFQlVHO19XSU5ET1dTO19VU1JETEwiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL19tc2lfZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fbXNpX2QucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19tc2lfZC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1yZWxlYXNlXF9tc2kiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL19tc2kucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL19tc2kucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19tc2kubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUl0YW5pdW18V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXGlhNjQtdGVtcC1yZWxlYXNlXF9tc2kiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfSVRBTklVTSAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7TkRFQlVHO19XSU5ET1dTO19VU1JETEwiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMCINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9IkZBTFNFIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9NQUNISU5FOklBNjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiBidWZmZXJvdmVyZmxvd1UubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL19tc2kucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL19tc2kucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19tc2kubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImFtZDY0LXRlbXAtcmVsZWFzZVxfbXNpIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX09QVEVST04gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIGJ1ZmZlcm92ZXJmbG93VS5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX21zaS5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX21zaS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX21zaS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcX21zaS5jIj4NCi0JCTwvRmlsZT4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvX3NvY2tldC52Y3Byb2ogYi9QQy9WUzcuMS9fc29ja2V0LnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmZlZDhlNC4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9fc29ja2V0LnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI1NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0iX3NvY2tldCINCi0JU2NjUHJvamVjdE5hbWU9Il9zb2NrZXQiDQotCVNjY0xvY2FsUGF0aD0iLi4iPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLWRlYnVnXF9zb2NrZXQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtfREVCVUc7V0lOMzI7X1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL19zb2NrZXRfZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fc29ja2V0X2QucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX3NvY2tldF9kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcX3NvY2tldCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fc29ja2V0LnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL19zb2NrZXQucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX3NvY2tldC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4vLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5caWE2NC10ZW1wLXJlbGVhc2VcX3NvY2tldCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX0lUQU5JVU0gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO05ERUJVRztXSU4zMjtfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX3NvY2tldC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fc29ja2V0LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19zb2NrZXQubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImFtZDY0LXRlbXAtcmVsZWFzZVxfc29ja2V0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX3NvY2tldC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fc29ja2V0LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL19zb2NrZXQubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9fc3FsaXRlMy52Y3Byb2ogYi9QQy9WUzcuMS9fc3FsaXRlMy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmN2Q5OTEuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvX3NxbGl0ZTMudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjgzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJfc3FsaXRlMyINCi0JUHJvamVjdEdVSUQ9InsyRkYwQTMxMi0yMkY5LTRDMzQtQjA3MC04NDI5MTZERTI3QTl9Ig0KLQlTY2NQcm9qZWN0TmFtZT0iX3NxbGl0ZTMiDQotCVNjY0xvY2FsUGF0aD0iLi4iPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLWRlYnVnXF9zcWxpdGUzIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlOy4uXC4uXFBDOy4uXC4uXC4uXHNxbGl0ZS1zb3VyY2UtMy4zLjQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtfREVCVUc7V0lOMzI7X1dJTkRPV1M7TU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cc3FsaXRlLXNvdXJjZS0zLjMuNFxzcWxpdGUzLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fc3FsaXRlM19kLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9IiINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX3NxbGl0ZTNfZC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fc3FsaXRlM19kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcX3NxbGl0ZTMiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlOy4uXC4uXFBDOy4uXC4uXC4uXHNxbGl0ZS1zb3VyY2UtMy4zLjQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7TU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHNxbGl0ZS1zb3VyY2UtMy4zLjRcc3FsaXRlMy5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX3NxbGl0ZTMucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fc3FsaXRlMy5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fc3FsaXRlMy5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4vLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5caWE2NC10ZW1wLXJlbGVhc2VcX3NxbGl0ZTMiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19JVEFOSVVNIC9HUy0iDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGU7Li5cLi5cUEM7Li5cLi5cLi5cc3FsaXRlLXNvdXJjZS0zLjMuNCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO05ERUJVRztXSU4zMjtfV0lORE9XUztNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMCINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9IkZBTFNFIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9NQUNISU5FOklBNjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIuLlwuLlwuLlxzcWxpdGUtc291cmNlLTMuMy40XGlhNjRcc3FsaXRlMy5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX3NxbGl0ZTMucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fc3FsaXRlMy5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fc3FsaXRlMy5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iYW1kNjQtdGVtcC1yZWxlYXNlXF9zcWxpdGUzIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlOy4uXC4uXFBDOy4uXC4uXC4uXHNxbGl0ZS1zb3VyY2UtMy4zLjQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7TU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHNxbGl0ZS1zb3VyY2UtMy4zLjRcYW1kNjRcc3FsaXRlMy5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vX3NxbGl0ZTMucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9fc3FsaXRlMy5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fc3FsaXRlMy5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNhY2hlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjb25uZWN0aW9uLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjdXJzb3IuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1pY3JvcHJvdG9jb2xzLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHByZXBhcmVfcHJvdG9jb2wuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHJvdy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcc3RhdGVtZW50LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVx1dGlsLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9fc3NsLm1hayBiL1BDL1ZTNy4xL19zc2wubWFrCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDc2YTYzLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL19zc2wubWFrCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotRVhUUkFfTElCUz0KLQotIUlGREVGIERFQlVHCi1TVUZGSVg9X2QucHlkCi1URU1QPXg4Ni10ZW1wLWRlYnVnLwotQ0ZMQUdTPS9PZCAvWmkgL01EZCAvTERkIC9EREVCVUcgL0RfREVCVUcgL0RXSU4zMgotU1NMX0xJQl9ESVI9JChTU0xfRElSKS9vdXQzMi5kYmcKLSFFTFNFCi1TVUZGSVg9LnB5ZAotVEVNUD14ODYtdGVtcC1yZWxlYXNlLwotQ0ZMQUdTPS9PeCAvTUQgL0xEIC9EV0lOMzIKLVNTTF9MSUJfRElSPSQoU1NMX0RJUikvb3V0MzIKLSFFTkRJRgotCi1JTkNMVURFUz0tSSAuLi8uLi9JbmNsdWRlIC1JIC4uLy4uL1BDIC1JICQoU1NMX0RJUikvaW5jMzIKLQotU1NMX0xJQlM9Z2RpMzIubGliIHdzb2NrMzIubGliIHVzZXIzMi5saWIgYWR2YXBpMzIubGliIC9MSUJQQVRIOiQoU1NMX0xJQl9ESVIpIGxpYmVheTMyLmxpYiBzc2xlYXkzMi5saWIKLVNTTF9TT1VSQ0U9Li4vLi4vTW9kdWxlcy9fc3NsLmMgCi0KLUhBU0hfTElCUz1nZGkzMi5saWIgdXNlcjMyLmxpYiBhZHZhcGkzMi5saWIgL2xpYnBhdGg6JChTU0xfTElCX0RJUikgbGliZWF5MzIubGliCi1IQVNIX1NPVVJDRT0uLi8uLi9Nb2R1bGVzL19oYXNob3BlbnNzbC5jIAotCi1hbGw6IF9zc2wkKFNVRkZJWCkgX2hhc2hsaWIkKFNVRkZJWCkKLQotIyBTcGxpdCBjb21waWxlL2xpbmsgaW50byB0d28gc3RlcHMgdG8gYmV0dGVyIHN1cHBvcnQgVlNFeHRDb21wCi1fc3NsJChTVUZGSVgpOiAkKFNTTF9TT1VSQ0UpICQoU1NMX0xJQl9ESVIpL2xpYmVheTMyLmxpYiAkKFNTTF9MSUJfRElSKS9zc2xlYXkzMi5saWIgLi4vLi4vUEMvKi5oIC4uLy4uL0luY2x1ZGUvKi5oCi0JQGlmIG5vdCBleGlzdCAiJChURU1QKS9fc3NsLy4iIG1rZGlyICIkKFRFTVApL19zc2wiCi0JY2wgL25vbG9nbyAvYyAkKFNTTF9TT1VSQ0UpICQoQ0ZMQUdTKSAvRm8kKFRFTVApXF9zc2xcJCoub2JqICQoSU5DTFVERVMpCi0JbGluayAvbm9sb2dvIEA8PAotICAgICAgICAgICAgIC9kbGwgL291dDpfc3NsJChTVUZGSVgpICQoVEVNUClcX3NzbFwkKi5vYmogJChTU0xfTElCUykgJChFWFRSQV9MSUJTKQotPDwKLQotX2hhc2hsaWIkKFNVRkZJWCk6ICQoSEFTSF9TT1VSQ0UpICQoU1NMX0xJQl9ESVIpL2xpYmVheTMyLmxpYiAuLi8uLi9QQy8qLmggLi4vLi4vSW5jbHVkZS8qLmgKLSAgICBAaWYgbm90IGV4aXN0ICIkKFRFTVApL19oYXNobGliLy4iIG1rZGlyICIkKFRFTVApL19oYXNobGliIgotICAgIGNsIC9ub2xvZ28gL2MgJChIQVNIX1NPVVJDRSkgJChDRkxBR1MpICQoRVhUUkFfQ0ZMQUdTKSAvRm8kKFRFTVApXF9oYXNobGliXCQqLm9iaiAkKElOQ0xVREVTKSAKLSAgICBsaW5rIC9ub2xvZ28gQDw8Ci0JL2RsbCAvb3V0Ol9oYXNobGliJChTVUZGSVgpICQoSEFTSF9MSUJTKSAkKEVYVFJBX0xJQlMpICQoVEVNUClcX2hhc2hsaWJcJCoub2JqCi08PApkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvX3NzbC52Y3Byb2ogYi9QQy9WUzcuMS9fc3NsLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTZkNjVmZS4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9fc3NsLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDg0ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJfc3NsIg0KLQlSb290TmFtZXNwYWNlPSJfc3NsIg0KLQlTY2NQcm9qZWN0TmFtZT0iIg0KLQlTY2NMb2NhbFBhdGg9IiINCi0JS2V5d29yZD0iTWFrZUZpbGVQcm9qIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcX3NzbCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJidWlsZF9zc2wuYmF0ICQoQ29uZmlndXJhdGlvbk5hbWUpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImJ1aWxkX3NzbC5iYXQgJChDb25maWd1cmF0aW9uTmFtZSkgLWEiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImVjaG8gTm90aGluZyB0byBkbyINCi0JCQkJT3V0cHV0PSJfc3NsLnB5ZCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdcX3NzbCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJidWlsZF9zc2wuYmF0ICQoQ29uZmlndXJhdGlvbk5hbWUpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImJ1aWxkX3NzbC5iYXQgJChDb25maWd1cmF0aW9uTmFtZSkgLWEiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImVjaG8gTm90aGluZyB0byBkbyINCi0JCQkJT3V0cHV0PSJfc3NsX2QucHlkIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLi8uIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlxpYTY0LXRlbXAtcmVsZWFzZVxfc3NsIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImJ1aWxkX3NzbC5iYXQgJChDb25maWd1cmF0aW9uTmFtZSkiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iYnVpbGRfc3NsLmJhdCAkKENvbmZpZ3VyYXRpb25OYW1lKSAtYSINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iZWNobyBOb3RoaW5nIHRvIGRvIg0KLQkJCQlPdXRwdXQ9Il9zc2wucHlkIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VBTUQ2NHxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJhbWQ2NC10ZW1wLXJlbGVhc2VcX3NzbCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJidWlsZF9zc2wuYmF0ICQoQ29uZmlndXJhdGlvbk5hbWUpIg0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9ImJ1aWxkX3NzbC5iYXQgJChDb25maWd1cmF0aW9uTmFtZSkgLWEiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9ImVjaG8gTm90aGluZyB0byBkbyINCi0JCQkJT3V0cHV0PSJfc3NsLnB5ZCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3NsLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2hhc2hvcGVuc3NsLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9fdGVzdGNhcGkudmNwcm9qIGIvUEMvVlM3LjEvX3Rlc3RjYXBpLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE5Nzg0Mi4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9fdGVzdGNhcGkudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjQ3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJfdGVzdGNhcGkiDQotCVNjY1Byb2plY3ROYW1lPSJfdGVzdGNhcGkiDQotCVNjY0xvY2FsUGF0aD0iLi4iPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtcmVsZWFzZVxfdGVzdGNhcGkiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMO01NQVBfRVhQT1JUUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIuL190ZXN0Y2FwaS5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX3Rlc3RjYXBpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fdGVzdGNhcGkubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLWRlYnVnXF90ZXN0Y2FwaSINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtfREVCVUc7X1dJTkRPV1M7X1VTUkRMTDtNTUFQX0VYUE9SVFMiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9Ii4vX3Rlc3RjYXBpX2QucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX3Rlc3RjYXBpX2QucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFGMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL190ZXN0Y2FwaV9kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLi8uIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlxpYTY0LXRlbXAtcmVsZWFzZVxfdGVzdGNhcGkiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfSVRBTklVTSAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7TkRFQlVHO19XSU5ET1dTO19VU1JETEw7TU1BUF9FWFBPUlRTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyINCi0JCQkJT3V0cHV0RmlsZT0iLi9fdGVzdGNhcGkucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL190ZXN0Y2FwaS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX3Rlc3RjYXBpLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VBTUQ2NHxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJhbWQ2NC10ZW1wLXJlbGVhc2VcX3Rlc3RjYXBpIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX09QVEVST04gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMO01NQVBfRVhQT1JUUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6QU1ENjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlPdXRwdXRGaWxlPSIuL190ZXN0Y2FwaS5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX3Rlc3RjYXBpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRjAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fdGVzdGNhcGkubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3Rlc3RjYXBpbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9fdGtpbnRlci52Y3Byb2ogYi9QQy9WUzcuMS9fdGtpbnRlci52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVmNzM0MTYuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvX3RraW50ZXIudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjYxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJfdGtpbnRlciINCi0JU2NjUHJvamVjdE5hbWU9Il90a2ludGVyIg0KLQlTY2NMb2NhbFBhdGg9Ii4uXC4uXC4uXC4uIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcX3RraW50ZXIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLlx0Y2x0a1xpbmNsdWRlLC4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7V0lUSF9BUFBJTklUIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHRjbHRrXGxpYlx0azg0LmxpYiAuLlwuLlwuLlx0Y2x0a1xsaWJcdGNsODQubGliIG9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fdGtpbnRlci5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL190a2ludGVyLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE5MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL190a2ludGVyLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1kZWJ1Z1xfdGtpbnRlciINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi5cdGNsdGtcaW5jbHVkZSwuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7X0RFQlVHO1dJTjMyO19XSU5ET1dTO1dJVEhfQVBQSU5JVCINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHRjbHRrXGxpYlx0azg0LmxpYiAuLlwuLlwuLlx0Y2x0a1xsaWJcdGNsODQubGliIG9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fdGtpbnRlcl9kLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX3RraW50ZXJfZC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxOTAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9fdGtpbnRlcl9kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLi8uIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlxpYTY0LXRlbXAtcmVsZWFzZVxfdGtpbnRlciINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX0lUQU5JVU0gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi5cdGNsdGtcaW5jbHVkZSwuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTO1dJVEhfQVBQSU5JVCINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXHRjbHRrXGxpYlx0azg0LmxpYiAuLlwuLlwuLlx0Y2x0a1xsaWJcdGNsODQubGliIG9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9fdGtpbnRlci5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlBZGRpdGlvbmFsTGlicmFyeURpcmVjdG9yaWVzPSIiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL190a2ludGVyLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE5MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL190a2ludGVyLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VBTUQ2NHxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJhbWQ2NC10ZW1wLXJlbGVhc2VcX3RraW50ZXIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19PUFRFUk9OIC9HUy0iDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uXHRjbHRrXGluY2x1ZGUsLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO05ERUJVRztXSU4zMjtfV0lORE9XUztXSVRIX0FQUElOSVQiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMCINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9IkZBTFNFIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZXRlY3Q2NEJpdFBvcnRhYmlsaXR5UHJvYmxlbXM9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9NQUNISU5FOkFNRDY0IC9VU0VMSU5LOk1TX1NESyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cdGNsdGtcbGliXHRrODQubGliIC4uXC4uXC4uXHRjbHRrXGxpYlx0Y2w4NC5saWIgb2RiY2NwMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL190a2ludGVyLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vX3RraW50ZXIucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTkwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vX3RraW50ZXIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3RraW50ZXIuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x0a2FwcGluaXQuYyI+DQotCQk8L0ZpbGU+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL2FtZDY0X21sNjQuYmF0IGIvUEMvVlM3LjEvYW1kNjRfbWw2NC5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhOWFjZjEuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvYW1kNjRfbWw2NC5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1AZWNobyBvZmYKLXJlbSBUcnkgdG8gZmluZCB0aGUgQU1ENjQgYXNzZW1ibGVyIGFuZCBjYWxsIGl0IHdpdGggdGhlIHN1cHBsaWVkIGFyZ3VtZW50cy4KLQotc2V0IE1MRVhFPU1pY3Jvc29mdCBQbGF0Zm9ybSBTREtcQmluXFdpbjY0XHg4NlxBTUQ2NFxtbDY0LkVYRQotCi1yZW0gRm9yIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgc2VlIGFsc28KLXJlbSBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2xpYnJhcnkvZW4tdXMvd2luNjQvd2luNjQvd293NjRfaW1wbGVtZW50YXRpb25fZGV0YWlscy5hc3AKLQotaWYgZXhpc3QgIiVQcm9ncmFtRmlsZXMlXCVNTEVYRSUiICgKLSAgc2V0IE1MNjQ9IiVQcm9ncmFtRmlsZXMlXCVNTEVYRSUiCi0pIGVsc2UgaWYgZXhpc3QgIiVQcm9ncmFtVzY0MzIlXCVNTEVYRSUiICgKLSAgc2V0IE1MNjQ9IiVQcm9ncmFtVzY0MzIlXCVNTEVYRSUiCi0pIGVsc2UgKAotICBzZXQgTUw2ND1tbDY0LmV4ZQotKQotCi0lTUw2NCUgJSoKZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL2J1aWxkX3NzbC5iYXQgYi9QQy9WUzcuMS9idWlsZF9zc2wuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNmJlM2MwLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL2J1aWxkX3NzbC5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1pZiAiJTEiID09ICJSZWxlYXNlQU1ENjQiIGNhbGwgIiVNU1NkayVcU2V0RW52IiAvWFA2NCAvUkVUQUlMCi0KLUBlY2hvIG9mZgotaWYgbm90IGRlZmluZWQgSE9TVF9QWVRIT04gKAotICBpZiAlMSBFUVUgRGVidWcgKAotICAgIHNldCBIT1NUX1BZVEhPTj1weXRob25fZC5leGUKLSAgKSBFTFNFICgKLSAgICBzZXQgSE9TVF9QWVRIT049cHl0aG9uLmV4ZQotICApCi0pCi0lSE9TVF9QWVRIT04lIGJ1aWxkX3NzbC5weSAlMSAlMgotCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9idWlsZF9zc2wucHkgYi9QQy9WUzcuMS9idWlsZF9zc2wucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlOWY0ZTMuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvYnVpbGRfc3NsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTgxICswLDAgQEAKLSMgU2NyaXB0IGZvciBidWlsZGluZyB0aGUgX3NzbCBhbmQgX2hhc2hsaWIgbW9kdWxlcyBmb3IgV2luZG93cy4KLSMgVXNlcyBQZXJsIHRvIHNldHVwIHRoZSBPcGVuU1NMIGVudmlyb25tZW50IGNvcnJlY3RseQotIyBhbmQgYnVpbGQgT3BlblNTTCwgdGhlbiBpbnZva2VzIGEgc2ltcGxlIG5tYWtlIHNlc3Npb24KLSMgZm9yIHRoZSBhY3R1YWwgX3NzbC5weWQgYW5kIF9oYXNobGliLnB5ZCBETExzLgotCi0jIFRIRU9SRVRJQ0FMTFksIHlvdSBjYW46Ci0jICogVW5wYWNrIHRoZSBsYXRlc3QgU1NMIHJlbGVhc2Ugb25lIGxldmVsIGFib3ZlIHlvdXIgbWFpbiBQeXRob24gc291cmNlCi0jICAgZGlyZWN0b3J5LiAgSXQgaXMgbGlrZWx5IHlvdSB3aWxsIGFscmVhZHkgZmluZCB0aGUgemxpYiBsaWJyYXJ5IGFuZAotIyAgIGFueSBvdGhlciBleHRlcm5hbCBwYWNrYWdlcyB0aGVyZS4KLSMgKiBJbnN0YWxsIEFjdGl2ZVBlcmwgYW5kIGVuc3VyZSBpdCBpcyBzb21ld2hlcmUgb24geW91ciBwYXRoLgotIyAqIFJ1biB0aGlzIHNjcmlwdCBmcm9tIHRoZSBQQ0J1aWxkIGRpcmVjdG9yeS4KLSMKLSMgaXQgc2hvdWxkIGNvbmZpZ3VyZSBhbmQgYnVpbGQgU1NMLCB0aGVuIGJ1aWxkIHRoZSBfc3NsIGFuZCBfaGFzaGxpYgotIyBQeXRob24gZXh0ZW5zaW9ucyB3aXRob3V0IGludGVydmVudGlvbi4KLQotaW1wb3J0IG9zLCBzeXMsIHJlCi0KLSMgRmluZCBhbGwgImZvby5leGUiIGZpbGVzIG9uIHRoZSBQQVRILgotZGVmIGZpbmRfYWxsX29uX3BhdGgoZmlsZW5hbWUsIGV4dHJhcyA9IE5vbmUpOgotICAgIGVudHJpZXMgPSBvcy5lbnZpcm9uWyJQQVRIIl0uc3BsaXQob3MucGF0aHNlcCkKLSAgICByZXQgPSBbXQotICAgIGZvciBwIGluIGVudHJpZXM6Ci0gICAgICAgIGZuYW1lID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwLCBmaWxlbmFtZSkpCi0gICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuYW1lKSBhbmQgZm5hbWUgbm90IGluIHJldDoKLSAgICAgICAgICAgIHJldC5hcHBlbmQoZm5hbWUpCi0gICAgaWYgZXh0cmFzOgotICAgICAgICBmb3IgcCBpbiBleHRyYXM6Ci0gICAgICAgICAgICBmbmFtZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4ocCwgZmlsZW5hbWUpKQotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm5hbWUpIGFuZCBmbmFtZSBub3QgaW4gcmV0OgotICAgICAgICAgICAgICAgIHJldC5hcHBlbmQoZm5hbWUpCi0gICAgcmV0dXJuIHJldAotCi0jIEZpbmQgYSBzdWl0YWJsZSBQZXJsIGluc3RhbGxhdGlvbiBmb3IgT3BlblNTTC4KLSMgY3lnd2luIHBlcmwgZG9lcyAqbm90KiB3b3JrLiAgQWN0aXZlUGVybCBkb2VzLgotIyBCZWluZyBhIFBlcmwgZHVtbXksIHRoZSBzaW1wbGVzdCB3YXkgSSBjYW4gY2hlY2sgaXMgaWYgdGhlICJXaW4zMiIgcGFja2FnZQotIyBpcyBhdmFpbGFibGUuCi1kZWYgZmluZF93b3JraW5nX3BlcmwocGVybHMpOgotICAgIGZvciBwZXJsIGluIHBlcmxzOgotICAgICAgICBmaCA9IG9zLnBvcGVuKHBlcmwgKyAnIC1lICJ1c2UgV2luMzI7IicpCi0gICAgICAgIGZoLnJlYWQoKQotICAgICAgICByYyA9IGZoLmNsb3NlKCkKLSAgICAgICAgaWYgcmM6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICByZXR1cm4gcGVybAotICAgIHByaW50ICJDYW4gbm90IGZpbmQgYSBzdWl0YWJsZSBQRVJMOiIKLSAgICBpZiBwZXJsczoKLSAgICAgICAgcHJpbnQgIiB0aGUgZm9sbG93aW5nIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQ6IgotICAgICAgICBmb3IgcCBpbiBwZXJsczoKLSAgICAgICAgICAgIHByaW50ICIgIiwgcAotICAgICAgICBwcmludCAiIE5vbmUgb2YgdGhlc2UgdmVyc2lvbnMgYXBwZWFyIHN1aXRhYmxlIGZvciBidWlsZGluZyBPcGVuU1NMIgotICAgIGVsc2U6Ci0gICAgICAgIHByaW50ICIgTk8gcGVybCBpbnRlcnByZXRlcnMgd2VyZSBmb3VuZCBvbiB0aGlzIG1hY2hpbmUgYXQgYWxsISIKLSAgICBwcmludCAiIFBsZWFzZSBpbnN0YWxsIEFjdGl2ZVBlcmwgYW5kIGVuc3VyZSBpdCBhcHBlYXJzIG9uIHlvdXIgcGF0aCIKLSAgICBwcmludCAiVGhlIFB5dGhvbiBTU0wgbW9kdWxlIHdhcyBub3QgYnVpbHQiCi0gICAgcmV0dXJuIE5vbmUKLQotIyBMb2NhdGUgdGhlIGJlc3QgU1NMIGRpcmVjdG9yeSBnaXZlbiBhIGZldyByb290cyB0byBsb29rIGludG8uCi1kZWYgZmluZF9iZXN0X3NzbF9kaXIoc291cmNlcyk6Ci0gICAgY2FuZGlkYXRlcyA9IFtdCi0gICAgZm9yIHMgaW4gc291cmNlczoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgIyBub3RlOiBkbyBub3QgYWJzcGF0aCBzOyB0aGUgYnVpbGQgd2lsbCBmYWlsIGlmIGFueQotICAgICAgICAgICAgIyBoaWdoZXIgdXAgZGlyZWN0b3J5IG5hbWUgaGFzIHNwYWNlcyBpbiBpdC4KLSAgICAgICAgICAgIGZuYW1lcyA9IG9zLmxpc3RkaXIocykKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yOgotICAgICAgICAgICAgZm5hbWVzID0gW10KLSAgICAgICAgZm9yIGZuYW1lIGluIGZuYW1lczoKLSAgICAgICAgICAgIGZxbiA9IG9zLnBhdGguam9pbihzLCBmbmFtZSkKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIoZnFuKSBhbmQgZm5hbWUuc3RhcnRzd2l0aCgib3BlbnNzbC0iKToKLSAgICAgICAgICAgICAgICBjYW5kaWRhdGVzLmFwcGVuZChmcW4pCi0gICAgIyBOb3cgd2UgaGF2ZSBhbGwgdGhlIGNhbmRpZGF0ZXMsIGxvY2F0ZSB0aGUgYmVzdC4KLSAgICBiZXN0X3BhcnRzID0gW10KLSAgICBiZXN0X25hbWUgPSBOb25lCi0gICAgZm9yIGMgaW4gY2FuZGlkYXRlczoKLSAgICAgICAgcGFydHMgPSByZS5zcGxpdCgiWy4tXSIsIG9zLnBhdGguYmFzZW5hbWUoYykpWzE6XQotICAgICAgICAjIGVnIC0gb3BlbnNzbC0wLjkuNy1iZXRhMSAtIGlnbm9yZSBhbGwgImJldGEiIG9yIGFueSBvdGhlciBxdWFsaWZpZXJzCi0gICAgICAgIGlmIGxlbihwYXJ0cykgPj0gNDoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIHBhcnRzID4gYmVzdF9wYXJ0czoKLSAgICAgICAgICAgIGJlc3RfcGFydHMgPSBwYXJ0cwotICAgICAgICAgICAgYmVzdF9uYW1lID0gYwotICAgIGlmIGJlc3RfbmFtZSBpcyBub3QgTm9uZToKLSAgICAgICAgcHJpbnQgIkZvdW5kIGFuIFNTTCBkaXJlY3RvcnkgYXQgJyVzJyIgJSAoYmVzdF9uYW1lLCkKLSAgICBlbHNlOgotICAgICAgICBwcmludCAiQ291bGQgbm90IGZpbmQgYW4gU1NMIGRpcmVjdG9yeSBpbiAnJXMnIiAlIChzb3VyY2VzLCkKLSAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICByZXR1cm4gYmVzdF9uYW1lCi0KLWRlZiBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KToKLSAgICBvcy5zeXN0ZW0oInBlcmwgQ29uZmlndXJlICIrY29uZmlndXJlKQotICAgIG9zLnN5c3RlbShkb19zY3JpcHQpCi0KLWRlZiBtYWluKCk6Ci0gICAgYnVpbGRfYWxsID0gIi1hIiBpbiBzeXMuYXJndgotICAgIGlmIHN5cy5hcmd2WzFdID09ICJSZWxlYXNlIjoKLSAgICAgICAgYXJjaCA9ICJ4ODYiCi0gICAgICAgIGRlYnVnID0gRmFsc2UKLSAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjMyIgotICAgICAgICBkb19zY3JpcHQgPSAibXNcXGRvX21hc20iCi0gICAgICAgIG1ha2VmaWxlID0gIm1zXFxudC5tYWsiCi0gICAgZWxpZiBzeXMuYXJndlsxXSA9PSAiRGVidWciOgotICAgICAgICBhcmNoID0gIng4NiIKLSAgICAgICAgZGVidWcgPSBUcnVlCi0gICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU4zMiIKLSAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb19tYXNtIgotICAgICAgICBtYWtlZmlsZT0ibXNcXGQzMi5tYWsiCi0gICAgZWxpZiBzeXMuYXJndlsxXSA9PSAiUmVsZWFzZUl0YW5pdW0iOgotICAgICAgICBhcmNoID0gImlhNjQiCi0gICAgICAgIGRlYnVnID0gRmFsc2UKLSAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjY0SSIKLSAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb193aW42NGkiCi0gICAgICAgIG1ha2VmaWxlID0gIm1zXFxudC5tYWsiCi0gICAgICAgIG9zLmVudmlyb25bIlZTRVhUQ09NUF9VU0VDTCJdID0gIk1TX0lUQU5JVU0iCi0gICAgZWxpZiBzeXMuYXJndlsxXSA9PSAiUmVsZWFzZUFNRDY0IjoKLSAgICAgICAgYXJjaD0iYW1kNjQiCi0gICAgICAgIGRlYnVnPUZhbHNlCi0gICAgICAgIGNvbmZpZ3VyZSA9ICJWQy1XSU42NEEiCi0gICAgICAgIGRvX3NjcmlwdCA9ICJtc1xcZG9fd2luNjRhIgotICAgICAgICBtYWtlZmlsZSA9ICJtc1xcbnQubWFrIgotICAgICAgICBvcy5lbnZpcm9uWyJWU0VYVENPTVBfVVNFQ0wiXSA9ICJNU19PUFRFUk9OIgotICAgIG1ha2VfZmxhZ3MgPSAiIgotICAgIGlmIGJ1aWxkX2FsbDoKLSAgICAgICAgbWFrZV9mbGFncyA9ICItYSIKLSAgICAjIHBlcmwgc2hvdWxkIGJlIG9uIHRoZSBwYXRoLCBidXQgd2UgYWxzbyBsb29rIGluICJccGVybCIgYW5kICJjOlxccGVybCIKLSAgICAjIGFzICJ3ZWxsIGtub3duIiBsb2NhdGlvbnMKLSAgICBwZXJscyA9IGZpbmRfYWxsX29uX3BhdGgoInBlcmwuZXhlIiwgWyJcXHBlcmxcXGJpbiIsICJDOlxccGVybFxcYmluIl0pCi0gICAgcGVybCA9IGZpbmRfd29ya2luZ19wZXJsKHBlcmxzKQotICAgIGlmIHBlcmwgaXMgTm9uZToKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIHByaW50ICJGb3VuZCBhIHdvcmtpbmcgcGVybCBhdCAnJXMnIiAlIChwZXJsLCkKLSAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAjIExvb2sgZm9yIFNTTCAyIGxldmVscyB1cCBmcm9tIHBjYnVpbGQgLSBpZSwgc2FtZSBwbGFjZSB6bGliIGV0YyBhbGwgbGl2ZS4KLSAgICBzc2xfZGlyID0gZmluZF9iZXN0X3NzbF9kaXIoKCIuLlxcLi5cXC4uIiwpKQotICAgIGlmIHNzbF9kaXIgaXMgTm9uZToKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIG9sZF9jZCA9IG9zLmdldGN3ZCgpCi0gICAgdHJ5OgotICAgICAgICBvcy5jaGRpcihzc2xfZGlyKQotICAgICAgICAjIElmIHRoZSBzc2wgbWFrZWZpbGVzIGRvIG5vdCBleGlzdCwgd2UgaW52b2tlIFBlcmwgdG8gZ2VuZXJhdGUgdGhlbS4KLSAgICAgICAgIyBEdWUgdG8gYSBidWcgaW4gdGhpcyBzY3JpcHQsIHRoZSBtYWtlZmlsZSBzb21ldGltZXMgZW5kZWQgdXAgZW1wdHkKLSAgICAgICAgIyBGb3JjZSBhIHJlZ2VuZXJhdGlvbiBpZiBpdCBpcy4KLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKSBvciBvcy5wYXRoLmdldHNpemUobWFrZWZpbGUpPT0wOgotICAgICAgICAgICAgcHJpbnQgIkNyZWF0aW5nIHRoZSBtYWtlZmlsZXMuLi4iCi0gICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAgICAgICAgICMgUHV0IG91ciB3b3JraW5nIFBlcmwgYXQgdGhlIGZyb250IG9mIG91ciBwYXRoCi0gICAgICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0gPSBvcy5wYXRoLmRpcm5hbWUocGVybCkgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoc2VwICsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdCi0gICAgICAgICAgICBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KQotICAgICAgICAgICAgaWYgYXJjaD09Ing4NiIgYW5kIGRlYnVnOgotICAgICAgICAgICAgICAgICMgdGhlIGRvX21hc20gc2NyaXB0IGluIG9wZW5zc2wgZG9lc24ndCBnZW5lcmF0ZSBhIGRlYnVnCi0gICAgICAgICAgICAgICAgIyBidWlsZCBtYWtlZmlsZSBzbyB3ZSBnZW5lcmF0ZSBpdCBoZXJlOgotICAgICAgICAgICAgICAgIG9zLnN5c3RlbSgicGVybCB1dGlsXG1rMW1mLnBsIGRlYnVnICIrY29uZmlndXJlKyIgPiIrbWFrZWZpbGUpCi0KLSAgICAgICAgIyBOb3cgcnVuIG1ha2UuCi0gICAgICAgIG1ha2VDb21tYW5kID0gIm5tYWtlIC9ub2xvZ28gUEVSTD1cIiVzXCIgLWYgXCIlc1wiIiAlKHBlcmwsIG1ha2VmaWxlKQotICAgICAgICBwcmludCAiRXhlY3V0aW5nIHNzbCBtYWtlZmlsZXM6IiwgbWFrZUNvbW1hbmQKLSAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgICAgIHJjID0gb3Muc3lzdGVtKG1ha2VDb21tYW5kKQotICAgICAgICBpZiByYzoKLSAgICAgICAgICAgIHByaW50ICJFeGVjdXRpbmcgIittYWtlZmlsZSsiIGZhaWxlZCIKLSAgICAgICAgICAgIHByaW50IHJjCi0gICAgICAgICAgICBzeXMuZXhpdChyYykKLSAgICBmaW5hbGx5OgotICAgICAgICBvcy5jaGRpcihvbGRfY2QpCi0gICAgIyBBbmQgZmluYWxseSwgd2UgY2FuIGJ1aWxkIHRoZSBfc3NsIG1vZHVsZSBpdHNlbGYgZm9yIFB5dGhvbi4KLSAgICBkZWZzID0gIlNTTF9ESVI9XCIlc1wiIiAlIChzc2xfZGlyLCkKLSAgICBpZiBkZWJ1ZzoKLSAgICAgICAgZGVmcyA9IGRlZnMgKyAiICIgKyAiREVCVUc9MSIKLSAgICBpZiBhcmNoIGluICgnYW1kNjQnLCAnaWE2NCcpOgotICAgICAgICBkZWZzID0gZGVmcyArICIgRVhUUkFfQ0ZMQUdTPS9HUy0gRVhUUkFfTElCUz1idWZmZXJvdmVyZmxvd1UubGliIgotICAgIG1ha2VDb21tYW5kID0gJ25tYWtlIC9ub2xvZ28gLWYgX3NzbC5tYWsgJyArIGRlZnMgKyAiICIgKyBtYWtlX2ZsYWdzCi0gICAgcHJpbnQgIkV4ZWN1dGluZzoiLCBtYWtlQ29tbWFuZAotICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgIHJjID0gb3Muc3lzdGVtKG1ha2VDb21tYW5kKQotICAgIHN5cy5leGl0KHJjKQotCi1pZiBfX25hbWVfXz09J19fbWFpbl9fJzoKLSAgICBtYWluKCkKZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL2J6Mi52Y3Byb2ogYi9QQy9WUzcuMS9iejIudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjAwNWExLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL2J6Mi52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNzEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9ImJ6MiINCi0JUm9vdE5hbWVzcGFjZT0iYnoyIg0KLQlTY2NQcm9qZWN0TmFtZT0iYnoyIg0KLQlTY2NMb2NhbFBhdGg9Ii4uIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1kZWJ1Z1xiejIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMsLi5cLi5cLi5cYnppcDItMS4wLjMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtfREVCVUc7V0lOMzI7X1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIuLlwuLlwuLlxiemlwMi0xLjAuM1xsaWJiejIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL2J6Ml9kLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9Im1zdmNydCxsaWJjIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9iejJfZC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9iejJfZC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iY2QgLi5cLi5cLi5cYnppcDItMS4wLjMNCi1ubWFrZSAvbm9sb2dvIC9mIG1ha2VmaWxlLm1zYw0KLSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtcmVsZWFzZVxiejIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXC4uXGJ6aXAyLTEuMC4zIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXGJ6aXAyLTEuMC4zXGxpYmJ6Mi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vYnoyLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL2J6Mi5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9iejIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkIC4uXC4uXC4uXGJ6aXAyLTEuMC4zDQotbm1ha2UgL25vbG9nbyAvZiBtYWtlZmlsZS5tc2MgbGliDQotIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4vLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5caWE2NC10ZW1wLXJlbGVhc2VcYnoyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfSVRBTklVTSAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXC4uXGJ6aXAyLTEuMC4zIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iLi5cLi5cLi5cYnppcDItMS4wLjNcbGliYnoyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9iejIucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vYnoyLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL2J6Mi5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iY2QgLi5cLi5cLi5cYnppcDItMS4wLjMNCi1ubWFrZSAvbm9sb2dvIC9mIG1ha2VmaWxlLm1zYyBsaWINCi0iLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VBTUQ2NHxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSJhbWQ2NC10ZW1wLXJlbGVhc2VcYnoyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXC4uXGJ6aXAyLTEuMC4zIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Ii4uXC4uXC4uXGJ6aXAyLTEuMC4zXGxpYmJ6Mi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vYnoyLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL2J6Mi5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9iejIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkIC4uXC4uXC4uXGJ6aXAyLTEuMC4zDQotbm1ha2UgL25vbG9nbyAvZiBtYWtlZmlsZS5tc2MgbGliDQotIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xiejJtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL2RiLmJ1aWxkIGIvUEMvVlM3LjEvZGIuYnVpbGQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZhODdmNzQuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvZGIuYnVpbGQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiPz4KLTxwcm9qZWN0PgotIDx0YXJnZXQgbmFtZT0iYWxsIiBkZXNjcmlwdGlvbj0iQnVpbGQgYWxsIHRhcmdldHMuIj4KLSAgIDxzb2x1dGlvbiBjb25maWd1cmF0aW9uPSJyZWxlYXNlIj4KLSAgICAgPHByb2plY3RzPgotICAgICAgIDxpbmNsdWRlIG5hbWU9ImRiX3N0YXRpYy52Y3Byb2oiIC8+Ci0gICAgIDwvcHJvamVjdHM+Ci0gICA8L3NvbHV0aW9uPgotIDwvdGFyZ2V0PgotPC9wcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvZmllbGQzLnB5IGIvUEMvVlM3LjEvZmllbGQzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0N2YyNGNhLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL2ZpZWxkMy5weQorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLSMgQW4gYWJzdXJkIHdvcmthcm91bmQgZm9yIHRoZSBsYWNrIG9mIGFyaXRobWV0aWMgaW4gTVMncyByZXNvdXJjZSBjb21waWxlci4KLSMgQWZ0ZXIgYnVpbGRpbmcgUHl0aG9uLCBydW4gdGhpcywgdGhlbiBwYXN0ZSB0aGUgb3V0cHV0IGludG8gdGhlIGFwcHJvcHJpYXRlCi0jIHBhcnQgb2YgUENccHl0aG9uX250LnJjLgotIyBFeGFtcGxlIG91dHB1dDoKLSMKLSMgKiBGb3IgMi4zYTAsCi0jICogUFlfTUlDUk9fVkVSU0lPTiA9IDAKLSMgKiBQWV9SRUxFQVNFX0xFVkVMID0gJ2FscGhhJyA9IDB4QQotIyAqIFBZX1JFTEVBU0VfU0VSSUFMID0gMQotIyAqCi0jICogYW5kIDAqMTAwMCArIDEwKjEwICsgMSA9IDEwMS4KLSMgKi8KLSMgI2RlZmluZSBGSUVMRDMgMTAxCi0KLWltcG9ydCBzeXMKLQotbWFqb3IsIG1pbm9yLCBtaWNybywgbGV2ZWwsIHNlcmlhbCA9IHN5cy52ZXJzaW9uX2luZm8KLWxldmVsbnVtID0geydhbHBoYSc6IDB4QSwKLSAgICAgICAgICAgICdiZXRhJzogMHhCLAotICAgICAgICAgICAgJ2NhbmRpZGF0ZSc6IDB4QywKLSAgICAgICAgICAgICdmaW5hbCc6IDB4RiwKLSAgICAgICAgICAgfVtsZXZlbF0KLXN0cmluZyA9IHN5cy52ZXJzaW9uLnNwbGl0KClbMF0gIyBsaWtlICcyLjNhMCcKLQotcHJpbnQgIiAqIEZvciAlcywiICUgc3RyaW5nCi1wcmludCAiICogUFlfTUlDUk9fVkVSU0lPTiA9ICVkIiAlIG1pY3JvCi1wcmludCAiICogUFlfUkVMRUFTRV9MRVZFTCA9ICVyID0gJXMiICUgKGxldmVsLCBoZXgobGV2ZWxudW0pKQotcHJpbnQgIiAqIFBZX1JFTEVBU0VfU0VSSUFMID0gJWQiICUgc2VyaWFsCi1wcmludCAiICoiCi0KLWZpZWxkMyA9IG1pY3JvICogMTAwMCArIGxldmVsbnVtICogMTAgKyBzZXJpYWwKLQotcHJpbnQgIiAqIGFuZCAlZCoxMDAwICsgJWQqMTAgKyAlZCA9ICVkIiAlIChtaWNybywgbGV2ZWxudW0sIHNlcmlhbCwgZmllbGQzKQotcHJpbnQgIiAqLyIKLXByaW50ICIjZGVmaW5lIEZJRUxEMyIsIGZpZWxkMwpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvaW5zdGFsbGVyLmJtcCBiL1BDL1ZTNy4xL2luc3RhbGxlci5ibXAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE4NzVlMTkuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvaW5zdGFsbGVyLmJtcAorKysgL2Rldi9udWxsCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL21ha2VfYnVpbGRpbmZvLmMgYi9QQy9WUzcuMS9tYWtlX2J1aWxkaW5mby5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYWEyYjY2Li4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL21ha2VfYnVpbGRpbmZvLmMKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotLyogVGhpcyBmaWxlIGNyZWF0ZXMgdGhlIGdldGJ1aWxkaW5mby5vIG9iamVjdCwgYnkgZmlyc3QKLSAgIGludm9raW5nIHN1YndjcmV2LmV4ZSAoaWYgZm91bmQpLCBhbmQgdGhlbiBpbnZva2luZyBjbC5leGUuCi0gICBBcyBhIHNpZGUgZWZmZWN0LCBpdCBtaWdodCBnZW5lcmF0ZSBQQ1xWUzcuMVxnZXRidWlsZGluZm8yLmMKLSAgIGFsc28uIElmIHRoaXMgaXNuJ3QgYSBzdWJ2ZXJzaW9uIGNoZWNrb3V0LCBvciBzdWJ3Y3JldiBpc24ndAotICAgZm91bmQsIGl0IGNvbXBpbGVzIC4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMgaW5zdGVhZC4KLQotICAgQ3VycmVudGx5LCBzdWJ3Y3Jldi5leGUgaXMgZm91bmQgZnJvbSB0aGUgcmVnaXN0cnkgZW50cmllcwotICAgb2YgVG9ydG9pc2VTVk4uCi0KLSAgIE5vIGF0dGVtcHQgaXMgbWFkZSB0byBwbGFjZSBnZXRidWlsZGluZm8ubyBpbnRvIHRoZSBwcm9wZXIKLSAgIGJpbmFyeSBkaXJlY3RvcnkuIFRoaXMgaXNuJ3QgbmVjZXNzYXJ5LCBhcyB0aGlzIHRvb2wgaXMKLSAgIGludm9rZWQgYXMgYSBwcmUtbGluayBzdGVwIGZvciBweXRob25jb3JlLCBzbyB0aGF0IG92ZXJ3cml0ZXMKLSAgIGFueSBwcmV2aW91cyBnZXRidWlsZGluZm8uby4KLQotKi8KLQotaW50IG1ha2VfYnVpbGRpbmZvMigpCi17Ci0gICAgc3RydWN0IF9zdGF0IHN0OwotICAgIEhLRVkgaFRvcnRvaXNlOwotICAgIGNoYXIgY29tbWFuZFs1MDBdOwotICAgIERXT1JEIHR5cGUsIHNpemU7Ci0gICAgaWYgKF9zdGF0KCIuc3ZuIiwgJnN0KSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIC8qIEFsbG93IHN1cHByZXNzaW9uIG9mIHN1YndjcmV2LmV4ZSBpbnZvY2F0aW9uIGlmIGEgbm9fc3Vid2NyZXYgZmlsZSBpcyBwcmVzZW50LiAqLwotICAgIGlmIChfc3RhdCgibm9fc3Vid2NyZXYiLCAmc3QpID09IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChSZWdPcGVuS2V5KEhLRVlfTE9DQUxfTUFDSElORSwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MgJiYKLSAgICAgICAgUmVnT3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIC8qIFRvcnRvaXNlIG5vdCBpbnN0YWxsZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgY29tbWFuZFswXSA9ICciJzsgIC8qIHF1b3RlIHRoZSBwYXRoIHRvIHRoZSBleGVjdXRhYmxlICovCi0gICAgc2l6ZSA9IHNpemVvZihjb21tYW5kKSAtIDE7Ci0gICAgaWYgKFJlZ1F1ZXJ5VmFsdWVFeChoVG9ydG9pc2UsICJEaXJlY3RvcnkiLCAwLCAmdHlwZSwgY29tbWFuZCsxLCAmc2l6ZSkgIT0gRVJST1JfU1VDQ0VTUyB8fAotICAgICAgICB0eXBlICE9IFJFR19TWikKLSAgICAgICAgLyogUmVnaXN0cnkgY29ycnVwdGVkICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdChjb21tYW5kLCAiYmluXFxzdWJ3Y3Jldi5leGUiKTsKLSAgICBpZiAoX3N0YXQoY29tbWFuZCsxLCAmc3QpIDwgMCkKLSAgICAgICAgLyogc3Vid2NyZXYuZXhlIG5vdCBwYXJ0IG9mIHRoZSByZWxlYXNlICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdChjb21tYW5kLCAiXCIgLi5cXC4uIC4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMgZ2V0YnVpbGRpbmZvMi5jIik7Ci0gICAgcHV0cyhjb21tYW5kKTsgZmZsdXNoKHN0ZG91dCk7Ci0gICAgaWYgKHN5c3RlbShjb21tYW5kKSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAxOwotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciphcmd2W10pCi17Ci0gICAgY2hhciBjb21tYW5kWzUwMF0gPSAiY2wuZXhlIC1jIC1EX1dJTjMyIC1EVVNFX0RMX0VYUE9SVCAtRF9XSU5ET1dTIC1EV0lOMzIgLURfV0lORExMICI7Ci0gICAgaW50IGRvX3VubGluaywgcmVzdWx0OwotICAgIGlmIChhcmdjICE9IDIpIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJtYWtlX2J1aWxkaW5mbyAkKENvbmZpZ3VyYXRpb25OYW1lKVxuIik7Ci0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7Ci0gICAgfQotICAgIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2UiKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdChjb21tYW5kLCAiLU1EICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIkRlYnVnIikgPT0gMCkgewotICAgICAgICBzdHJjYXQoY29tbWFuZCwgIi1EX0RFQlVHIC1NRGQgIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZUl0YW5pdW0iKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdChjb21tYW5kLCAiLU1EIC9VU0VDTDpNU19JVEFOSVVNICIpOwotICAgIH0KLSAgICBlbHNlIGlmIChzdHJjbXAoYXJndlsxXSwgIlJlbGVhc2VBTUQ2NCIpID09IDApIHsKLSAgICAgICAgc3RyY2F0KGNvbW1hbmQsICItTUQgIik7Ci0gICAgICAgIHN0cmNhdChjb21tYW5kLCAiLU1EIC9VU0VDTDpNU19PUFRFUk9OICIpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJ1bnN1cHBvcnRlZCBjb25maWd1cmF0aW9uICVzXG4iLCBhcmd2WzFdKTsKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICB9Ci0KLSAgICBpZiAoKGRvX3VubGluayA9IG1ha2VfYnVpbGRpbmZvMigpKSkKLSAgICAgICAgc3RyY2F0KGNvbW1hbmQsICJnZXRidWlsZGluZm8yLmMgLURTVUJXQ1JFViAiKTsKLSAgICBlbHNlCi0gICAgICAgIHN0cmNhdChjb21tYW5kLCAiLi5cXC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyIpOwotICAgIHN0cmNhdChjb21tYW5kLCAiIC1Gb2dldGJ1aWxkaW5mby5vIC1JLi5cXC4uXFxJbmNsdWRlIC1JLi5cXC4uXFxQQyIpOwotICAgIHB1dHMoY29tbWFuZCk7IGZmbHVzaChzdGRvdXQpOwotICAgIHJlc3VsdCA9IHN5c3RlbShjb21tYW5kKTsKLSAgICBpZiAoZG9fdW5saW5rKQotICAgICAgICB1bmxpbmsoImdldGJ1aWxkaW5mbzIuYyIpOwotICAgIGlmIChyZXN1bHQgPCAwKQotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIHJldHVybiAwOwotfQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvbWFrZV9idWlsZGluZm8udmNwcm9qIGIvUEMvVlM3LjEvbWFrZV9idWlsZGluZm8udmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMGM4YTVkLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL21ha2VfYnVpbGRpbmZvLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDEyMiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ3aW5kb3dzLTEyNTAiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0ibWFrZV9idWlsZGluZm8iDQotCVByb2plY3RHVUlEPSJ7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfSINCi0JS2V5d29yZD0iV2luMzJQcm9qIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtcmVsZWFzZVxtYWtlX2J1aWxkaW5mbyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfQ09OU09MRSINCi0JCQkJTWluaW1hbFJlYnVpbGQ9IlRSVUUiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIwIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iNCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcikvbWFrZV9idWlsZGluZm8uZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjIiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpL21ha2VfYnVpbGRpbmZvLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcbWFrZV9idWlsZGluZm8iDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7TkRFQlVHO19DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iNCINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjAiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKS9tYWtlX2J1aWxkaW5mby5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCU9wdGltaXplUmVmZXJlbmNlcz0iMiINCi0JCQkJRW5hYmxlQ09NREFURm9sZGluZz0iMiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJRmlsdGVyPSJjcHA7YztjeHg7ZGVmO29kbDtpZGw7aHBqO2JhdDthc207YXNteCINCi0JCQlVbmlxdWVJZGVudGlmaWVyPSJ7NEZDNzM3RjEtQzdBNS00Mzc2LUEwNjYtMkEzMkQ3NTJBMkZGfSI+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuXG1ha2VfYnVpbGRpbmZvLmMiPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9tYWtlX3ZlcnNpb25pbmZvLnZjcHJvaiBiL1BDL1ZTNy4xL21ha2VfdmVyc2lvbmluZm8udmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZmZhNGViLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL21ha2VfdmVyc2lvbmluZm8udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTQyICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJtYWtlX3ZlcnNpb25pbmZvIg0KLQlSb290TmFtZXNwYWNlPSJtYWtlX3ZlcnNpb25pbmZvIg0KLQlTY2NQcm9qZWN0TmFtZT0ibWFrZV92ZXJzaW9uaW5mbyINCi0JU2NjTG9jYWxQYXRoPSIuLiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1yZWxlYXNlXG1ha2VfdmVyc2lvbmluZm8iDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO05ERUJVRztfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iLlxtYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7Li5cLi5cUENccHl0aG9ubnRfcmMuaA0KLSINCi0JCQkJT3V0cHV0cz0iLi5cLi5cUENccHl0aG9ubnRfcmMuaCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiY2NwMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuXC4vbWFrZV92ZXJzaW9uaW5mby5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9tYWtlX3ZlcnNpb25pbmZvLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiQoVGFyZ2V0RmlsZU5hbWUpICZndDsgLi5cLi5cUENccHl0aG9uX250LmgiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdcbWFrZV92ZXJzaW9uaW5mbyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfREVCVUc7X0NPTlNPTEUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJQ29tbWFuZExpbmU9Ii5cbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7Li5cLi5cUENccHl0aG9ubnRfcmNfZC5oDQotIg0KLQkJCQlPdXRwdXRzPSIuLlwuLlxQQ1xweXRob25udF9yY19kLmgiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9tYWtlX3ZlcnNpb25pbmZvX2QuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vbWFrZV92ZXJzaW9uaW5mb19kLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiQoVGFyZ2V0RmlsZU5hbWUpICZndDsgLi5cLi5cUENccHl0aG9uX250X2QuaCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xtYWtlX3ZlcnNpb25pbmZvLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9wY2J1aWxkLnNsbiBiL1BDL1ZTNy4xL3BjYnVpbGQuc2xuCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjBmMTljLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL3BjYnVpbGQuc2xuCisrKyAvZGV2L251bGwKQEAgLTEsMjc1ICswLDAgQEAKLU1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIFNvbHV0aW9uIEZpbGUsIEZvcm1hdCBWZXJzaW9uIDguMDANCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9zb2NrZXQiLCAiX3NvY2tldC52Y3Byb2oiLCAiezMyNEY2NkMyLTQ0RDAtNEQ1MC1COTc5LUY5REFFN0ZEMzZEQn0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc3NsIiwgIl9zc2wudmNwcm9qIiwgIns4RTg1QkE1NC04QTQ3LTRDOEItQjcyRS04RTE3NTc5Q0M2RDd9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSA9IHtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fSA9IHtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3Rlc3RjYXBpIiwgIl90ZXN0Y2FwaS52Y3Byb2oiLCAiezU5Q0JGNDc0LTlFMDYtNEM1MC05MTQyLUM0NEExMThCQjQ0N30iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGtpbnRlciIsICJfdGtpbnRlci52Y3Byb2oiLCAiezVCNTFERkY3LTVEQzAtNDFGOC04NzkxLUE0QUI3MTE0QTE1MX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJiejIiLCAiYnoyLnZjcHJvaiIsICJ7QUM1NTc3ODgtNjM1NC00M0Y3LUJFMDUtQzlDOEM1OUEzNDRBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1ha2VfdmVyc2lvbmluZm8iLCAibWFrZV92ZXJzaW9uaW5mby52Y3Byb2oiLCAie0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweWV4cGF0IiwgInB5ZXhwYXQudmNwcm9qIiwgIns3RTU1MTM5My0zQzQzLTQ3RjgtOUYzRi01QkMzNjhBNkM0ODd9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uIiwgInB5dGhvbi52Y3Byb2oiLCAie0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob25jb3JlIiwgInB5dGhvbmNvcmUudmNwcm9qIiwgIntDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSA9IHtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9DQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfSA9IHtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9udyIsICJweXRob253LnZjcHJvaiIsICJ7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNlbGVjdCIsICJzZWxlY3QudmNwcm9qIiwgIns5NzIzOUE1Ni1EQkMwLTQxRDItQkMxNC1DODdEOUI5N0Q2M0J9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidW5pY29kZWRhdGEiLCAidW5pY29kZWRhdGEudmNwcm9qIiwgIntGQTVGQzdFQi1DNzJGLTQxNUYtQUU0Mi05MURENjA1QUJEREF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidzl4cG9wZW4iLCAidzl4cG9wZW4udmNwcm9qIiwgIntFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAid2luc291bmQiLCAid2luc291bmQudmNwcm9qIiwgIns1MUYzNUZBRS1GQjkyLTRCMkMtOTE4Ny0xNTQyQzA2NUFENzd9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2VsZW1lbnR0cmVlIiwgIl9lbGVtZW50dHJlZS52Y3Byb2oiLCAiezE5NjZEREUyLTRBQjctNEU0RS1BQ0M5LUMxMjFFNEQzN0Y4RX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX2J1aWxkaW5mbyIsICJtYWtlX2J1aWxkaW5mby52Y3Byb2oiLCAie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfbXNpIiwgIl9tc2kudmNwcm9qIiwgInsyQzBCRUZCOS03MEUyLTRGODAtQUM1Qi00QUI4RUUwMjM1NzR9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2N0eXBlcyIsICJfY3R5cGVzLnZjcHJvaiIsICJ7RjIyRjQwRjQtRDMxOC00MERDLTk2QjMtODhEQzgxQ0UwODk0fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9jdHlwZXNfdGVzdCIsICJfY3R5cGVzX3Rlc3QudmNwcm9qIiwgIns4Q0YzMzREOS00RjgyLTQyRUItOTdBRi04MzU5MkM1QUZEMkZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7RjIyRjQwRjQtRDMxOC00MERDLTk2QjMtODhEQzgxQ0UwODk0fSA9IHtGMjJGNDBGNC1EMzE4LTQwREMtOTZCMy04OERDODFDRTA4OTR9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3NxbGl0ZTMiLCAiX3NxbGl0ZTMudmNwcm9qIiwgInsyRkYwQTMxMi0yMkY5LTRDMzQtQjA3MC04NDI5MTZERTI3QTl9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLUdsb2JhbA0KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uQ29uZmlndXJhdGlvbikgPSBwcmVTb2x1dGlvbg0KLQkJRGVidWcgPSBEZWJ1Zw0KLQkJUmVsZWFzZSA9IFJlbGVhc2UNCi0JCVJlbGVhc2VBTUQ2NCA9IFJlbGVhc2VBTUQ2NA0KLQkJUmVsZWFzZUl0YW5pdW0gPSBSZWxlYXNlSXRhbml1bQ0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb24pID0gcG9zdFNvbHV0aW9uDQotCQl7MzI0RjY2QzItNDREMC00RDUwLUI5NzktRjlEQUU3RkQzNkRCfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezMyNEY2NkMyLTQ0RDAtNEQ1MC1COTc5LUY5REFFN0ZEMzZEQn0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MzI0RjY2QzItNDREMC00RDUwLUI5NzktRjlEQUU3RkQzNkRCfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXszMjRGNjZDMi00NEQwLTRENTAtQjk3OS1GOURBRTdGRDM2REJ9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXszMjRGNjZDMi00NEQwLTRENTAtQjk3OS1GOURBRTdGRDM2REJ9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXszMjRGNjZDMi00NEQwLTRENTAtQjk3OS1GOURBRTdGRDM2REJ9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7MzI0RjY2QzItNDREMC00RDUwLUI5NzktRjlEQUU3RkQzNkRCfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezMyNEY2NkMyLTQ0RDAtNEQ1MC1COTc5LUY5REFFN0ZEMzZEQn0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7OEU4NUJBNTQtOEE0Ny00QzhCLUI3MkUtOEUxNzU3OUNDNkQ3fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezhFODVCQTU0LThBNDctNEM4Qi1CNzJFLThFMTc1NzlDQzZEN30uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7OEU4NUJBNTQtOEE0Ny00QzhCLUI3MkUtOEUxNzU3OUNDNkQ3fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs4RTg1QkE1NC04QTQ3LTRDOEItQjcyRS04RTE3NTc5Q0M2RDd9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs4RTg1QkE1NC04QTQ3LTRDOEItQjcyRS04RTE3NTc5Q0M2RDd9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXs4RTg1QkE1NC04QTQ3LTRDOEItQjcyRS04RTE3NTc5Q0M2RDd9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7OEU4NUJBNTQtOEE0Ny00QzhCLUI3MkUtOEUxNzU3OUNDNkQ3fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezhFODVCQTU0LThBNDctNEM4Qi1CNzJFLThFMTc1NzlDQzZEN30uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7NTlDQkY0NzQtOUUwNi00QzUwLTkxNDItQzQ0QTExOEJCNDQ3fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezU5Q0JGNDc0LTlFMDYtNEM1MC05MTQyLUM0NEExMThCQjQ0N30uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NTlDQkY0NzQtOUUwNi00QzUwLTkxNDItQzQ0QTExOEJCNDQ3fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs1OUNCRjQ3NC05RTA2LTRDNTAtOTE0Mi1DNDRBMTE4QkI0NDd9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs1OUNCRjQ3NC05RTA2LTRDNTAtOTE0Mi1DNDRBMTE4QkI0NDd9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXs1OUNCRjQ3NC05RTA2LTRDNTAtOTE0Mi1DNDRBMTE4QkI0NDd9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7NTlDQkY0NzQtOUUwNi00QzUwLTkxNDItQzQ0QTExOEJCNDQ3fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezU5Q0JGNDc0LTlFMDYtNEM1MC05MTQyLUM0NEExMThCQjQ0N30uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7NUI1MURGRjctNURDMC00MUY4LTg3OTEtQTRBQjcxMTRBMTUxfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezVCNTFERkY3LTVEQzAtNDFGOC04NzkxLUE0QUI3MTE0QTE1MX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NUI1MURGRjctNURDMC00MUY4LTg3OTEtQTRBQjcxMTRBMTUxfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs1QjUxREZGNy01REMwLTQxRjgtODc5MS1BNEFCNzExNEExNTF9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs1QjUxREZGNy01REMwLTQxRjgtODc5MS1BNEFCNzExNEExNTF9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXs1QjUxREZGNy01REMwLTQxRjgtODc5MS1BNEFCNzExNEExNTF9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7NUI1MURGRjctNURDMC00MUY4LTg3OTEtQTRBQjcxMTRBMTUxfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezVCNTFERkY3LTVEQzAtNDFGOC04NzkxLUE0QUI3MTE0QTE1MX0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7QUM1NTc3ODgtNjM1NC00M0Y3LUJFMDUtQzlDOEM1OUEzNDRBfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0FDNTU3Nzg4LTYzNTQtNDNGNy1CRTA1LUM5QzhDNTlBMzQ0QX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QUM1NTc3ODgtNjM1NC00M0Y3LUJFMDUtQzlDOEM1OUEzNDRBfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtBQzU1Nzc4OC02MzU0LTQzRjctQkUwNS1DOUM4QzU5QTM0NEF9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtBQzU1Nzc4OC02MzU0LTQzRjctQkUwNS1DOUM4QzU5QTM0NEF9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXtBQzU1Nzc4OC02MzU0LTQzRjctQkUwNS1DOUM4QzU5QTM0NEF9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7QUM1NTc3ODgtNjM1NC00M0Y3LUJFMDUtQzlDOEM1OUEzNDRBfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJe0FDNTU3Nzg4LTYzNTQtNDNGNy1CRTA1LUM5QzhDNTlBMzQ0QX0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlQU1ENjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2VJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2VJdGFuaXVtLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7N0U1NTEzOTMtM0M0My00N0Y4LTlGM0YtNUJDMzY4QTZDNDg3fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezdFNTUxMzkzLTNDNDMtNDdGOC05RjNGLTVCQzM2OEE2QzQ4N30uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7N0U1NTEzOTMtM0M0My00N0Y4LTlGM0YtNUJDMzY4QTZDNDg3fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs3RTU1MTM5My0zQzQzLTQ3RjgtOUYzRi01QkMzNjhBNkM0ODd9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs3RTU1MTM5My0zQzQzLTQ3RjgtOUYzRi01QkMzNjhBNkM0ODd9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXs3RTU1MTM5My0zQzQzLTQ3RjgtOUYzRi01QkMzNjhBNkM0ODd9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7N0U1NTEzOTMtM0M0My00N0Y4LTlGM0YtNUJDMzY4QTZDNDg3fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezdFNTUxMzkzLTNDNDMtNDdGOC05RjNGLTVCQzM2OEE2QzQ4N30uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7OTcyMzlBNTYtREJDMC00MUQyLUJDMTQtQzg3RDlCOTdENjNCfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezk3MjM5QTU2LURCQzAtNDFEMi1CQzE0LUM4N0Q5Qjk3RDYzQn0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7OTcyMzlBNTYtREJDMC00MUQyLUJDMTQtQzg3RDlCOTdENjNCfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs5NzIzOUE1Ni1EQkMwLTQxRDItQkMxNC1DODdEOUI5N0Q2M0J9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs5NzIzOUE1Ni1EQkMwLTQxRDItQkMxNC1DODdEOUI5N0Q2M0J9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXs5NzIzOUE1Ni1EQkMwLTQxRDItQkMxNC1DODdEOUI5N0Q2M0J9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7OTcyMzlBNTYtREJDMC00MUQyLUJDMTQtQzg3RDlCOTdENjNCfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezk3MjM5QTU2LURCQzAtNDFEMi1CQzE0LUM4N0Q5Qjk3RDYzQn0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7RkE1RkM3RUItQzcyRi00MTVGLUFFNDItOTFERDYwNUFCRERBfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0ZBNUZDN0VCLUM3MkYtNDE1Ri1BRTQyLTkxREQ2MDVBQkREQX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RkE1RkM3RUItQzcyRi00MTVGLUFFNDItOTFERDYwNUFCRERBfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGQTVGQzdFQi1DNzJGLTQxNUYtQUU0Mi05MURENjA1QUJEREF9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGQTVGQzdFQi1DNzJGLTQxNUYtQUU0Mi05MURENjA1QUJEREF9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXtGQTVGQzdFQi1DNzJGLTQxNUYtQUU0Mi05MURENjA1QUJEREF9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7RkE1RkM3RUItQzcyRi00MTVGLUFFNDItOTFERDYwNUFCRERBfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJe0ZBNUZDN0VCLUM3MkYtNDE1Ri1BRTQyLTkxREQ2MDVBQkREQX0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NTFGMzVGQUUtRkI5Mi00QjJDLTkxODctMTU0MkMwNjVBRDc3fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezUxRjM1RkFFLUZCOTItNEIyQy05MTg3LTE1NDJDMDY1QUQ3N30uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NTFGMzVGQUUtRkI5Mi00QjJDLTkxODctMTU0MkMwNjVBRDc3fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs1MUYzNUZBRS1GQjkyLTRCMkMtOTE4Ny0xNTQyQzA2NUFENzd9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs1MUYzNUZBRS1GQjkyLTRCMkMtOTE4Ny0xNTQyQzA2NUFENzd9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXs1MUYzNUZBRS1GQjkyLTRCMkMtOTE4Ny0xNTQyQzA2NUFENzd9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7NTFGMzVGQUUtRkI5Mi00QjJDLTkxODctMTU0MkMwNjVBRDc3fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezUxRjM1RkFFLUZCOTItNEIyQy05MTg3LTE1NDJDMDY1QUQ3N30uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7MTk2NkRERTItNEFCNy00RTRFLUFDQzktQzEyMUU0RDM3RjhFfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezE5NjZEREUyLTRBQjctNEU0RS1BQ0M5LUMxMjFFNEQzN0Y4RX0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MTk2NkRERTItNEFCNy00RTRFLUFDQzktQzEyMUU0RDM3RjhFfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsxOTY2RERFMi00QUI3LTRFNEUtQUNDOS1DMTIxRTREMzdGOEV9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsxOTY2RERFMi00QUI3LTRFNEUtQUNDOS1DMTIxRTREMzdGOEV9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXsxOTY2RERFMi00QUI3LTRFNEUtQUNDOS1DMTIxRTREMzdGOEV9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7MTk2NkRERTItNEFCNy00RTRFLUFDQzktQzEyMUU0RDM3RjhFfS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezE5NjZEREUyLTRBQjctNEU0RS1BQ0M5LUMxMjFFNEQzN0Y4RX0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlQU1ENjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2VJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlJlbGVhc2VJdGFuaXVtLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MkMwQkVGQjktNzBFMi00RjgwLUFDNUItNEFCOEVFMDIzNTc0fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezJDMEJFRkI5LTcwRTItNEY4MC1BQzVCLTRBQjhFRTAyMzU3NH0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MkMwQkVGQjktNzBFMi00RjgwLUFDNUItNEFCOEVFMDIzNTc0fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsyQzBCRUZCOS03MEUyLTRGODAtQUM1Qi00QUI4RUUwMjM1NzR9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsyQzBCRUZCOS03MEUyLTRGODAtQUM1Qi00QUI4RUUwMjM1NzR9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXsyQzBCRUZCOS03MEUyLTRGODAtQUM1Qi00QUI4RUUwMjM1NzR9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7MkMwQkVGQjktNzBFMi00RjgwLUFDNUItNEFCOEVFMDIzNTc0fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezJDMEJFRkI5LTcwRTItNEY4MC1BQzVCLTRBQjhFRTAyMzU3NH0uUmVsZWFzZUl0YW5pdW0uQnVpbGQuMCA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7RjIyRjQwRjQtRDMxOC00MERDLTk2QjMtODhEQzgxQ0UwODk0fS5EZWJ1Zy5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YyMkY0MEY0LUQzMTgtNDBEQy05NkIzLTg4REM4MUNFMDg5NH0uRGVidWcuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjIyRjQwRjQtRDMxOC00MERDLTk2QjMtODhEQzgxQ0UwODk0fS5SZWxlYXNlLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMjJGNDBGNC1EMzE4LTQwREMtOTZCMy04OERDODFDRTA4OTR9LlJlbGVhc2UuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMjJGNDBGNC1EMzE4LTQwREMtOTZCMy04OERDODFDRTA4OTR9LlJlbGVhc2VBTUQ2NC5BY3RpdmVDZmcgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXtGMjJGNDBGNC1EMzE4LTQwREMtOTZCMy04OERDODFDRTA4OTR9LlJlbGVhc2VBTUQ2NC5CdWlsZC4wID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7RjIyRjQwRjQtRDMxOC00MERDLTk2QjMtODhEQzgxQ0UwODk0fS5SZWxlYXNlSXRhbml1bS5BY3RpdmVDZmcgPSBSZWxlYXNlSXRhbml1bXxXaW4zMg0KLQkJezhDRjMzNEQ5LTRGODItNDJFQi05N0FGLTgzNTkyQzVBRkQyRn0uRGVidWcuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs4Q0YzMzREOS00RjgyLTQyRUItOTdBRi04MzU5MkM1QUZEMkZ9LkRlYnVnLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezhDRjMzNEQ5LTRGODItNDJFQi05N0FGLTgzNTkyQzVBRkQyRn0uUmVsZWFzZS5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7OENGMzM0RDktNEY4Mi00MkVCLTk3QUYtODM1OTJDNUFGRDJGfS5SZWxlYXNlLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7OENGMzM0RDktNEY4Mi00MkVCLTk3QUYtODM1OTJDNUFGRDJGfS5SZWxlYXNlQU1ENjQuQWN0aXZlQ2ZnID0gUmVsZWFzZUFNRDY0fFdpbjMyDQotCQl7OENGMzM0RDktNEY4Mi00MkVCLTk3QUYtODM1OTJDNUFGRDJGfS5SZWxlYXNlQU1ENjQuQnVpbGQuMCA9IFJlbGVhc2VBTUQ2NHxXaW4zMg0KLQkJezhDRjMzNEQ5LTRGODItNDJFQi05N0FGLTgzNTkyQzVBRkQyRn0uUmVsZWFzZUl0YW5pdW0uQWN0aXZlQ2ZnID0gUmVsZWFzZUl0YW5pdW18V2luMzINCi0JCXsyRkYwQTMxMi0yMkY5LTRDMzQtQjA3MC04NDI5MTZERTI3QTl9LkRlYnVnLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MkZGMEEzMTItMjJGOS00QzM0LUIwNzAtODQyOTE2REUyN0E5fS5EZWJ1Zy5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXsyRkYwQTMxMi0yMkY5LTRDMzQtQjA3MC04NDI5MTZERTI3QTl9LlJlbGVhc2UuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezJGRjBBMzEyLTIyRjktNEMzNC1CMDcwLTg0MjkxNkRFMjdBOX0uUmVsZWFzZS5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezJGRjBBMzEyLTIyRjktNEMzNC1CMDcwLTg0MjkxNkRFMjdBOX0uUmVsZWFzZUFNRDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2VBTUQ2NHxXaW4zMg0KLQkJezJGRjBBMzEyLTIyRjktNEMzNC1CMDcwLTg0MjkxNkRFMjdBOX0uUmVsZWFzZUFNRDY0LkJ1aWxkLjAgPSBSZWxlYXNlQU1ENjR8V2luMzINCi0JCXsyRkYwQTMxMi0yMkY5LTRDMzQtQjA3MC04NDI5MTZERTI3QTl9LlJlbGVhc2VJdGFuaXVtLkFjdGl2ZUNmZyA9IFJlbGVhc2VJdGFuaXVtfFdpbjMyDQotCQl7MkZGMEEzMTItMjJGOS00QzM0LUIwNzAtODQyOTE2REUyN0E5fS5SZWxlYXNlSXRhbml1bS5CdWlsZC4wID0gUmVsZWFzZUl0YW5pdW18V2luMzINCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uSXRlbXMpID0gcG9zdFNvbHV0aW9uDQotCQkuLlxNb2R1bGVzXGdldGJ1aWxkaW5mby5jID0gLi5cTW9kdWxlc1xnZXRidWlsZGluZm8uYw0KLQkJcmVhZG1lLnR4dCA9IHJlYWRtZS50eHQNCi0JRW5kR2xvYmFsU2VjdGlvbg0KLQlHbG9iYWxTZWN0aW9uKEV4dGVuc2liaWxpdHlHbG9iYWxzKSA9IHBvc3RTb2x1dGlvbg0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oRXh0ZW5zaWJpbGl0eUFkZElucykgPSBwb3N0U29sdXRpb24NCi0JRW5kR2xvYmFsU2VjdGlvbg0KLUVuZEdsb2JhbA0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL3B5ZXhwYXQudmNwcm9qIGIvUEMvVlM3LjEvcHlleHBhdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwNzM5ZmEuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvcHlleHBhdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNjMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9InB5ZXhwYXQiDQotCVNjY1Byb2plY3ROYW1lPSJweWV4cGF0Ig0KLQlTY2NMb2NhbFBhdGg9Ii4uIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1kZWJ1Z1xweWV4cGF0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtfREVCVUc7SEFWRV9FWFBBVF9IO1dJTjMyO19XSU5ET1dTO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjY3AzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vcHlleHBhdF9kLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5ZXhwYXRfZC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9weWV4cGF0X2QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtcmVsZWFzZVxweWV4cGF0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQywuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiY2NwMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3B5ZXhwYXQucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHlleHBhdC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9weWV4cGF0LmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLi8uIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlxpYTY0LXRlbXAtcmVsZWFzZVxweWV4cGF0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfSVRBTklVTSAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9weWV4cGF0LnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5ZXhwYXQucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vcHlleHBhdC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iYW1kNjQtdGVtcC1yZWxlYXNlXHB5ZXhwYXQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19PUFRFUk9OICAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDLC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6QU1ENjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjY3AzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vcHlleHBhdC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weWV4cGF0LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3B5ZXhwYXQubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccHlleHBhdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHBhcnNlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIj4NCi0JCTwvRmlsZT4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvcHl0aG9uLmJ1aWxkIGIvUEMvVlM3LjEvcHl0aG9uLmJ1aWxkCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNzExMDFkLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL3B5dGhvbi5idWlsZAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCI/PgotPHByb2plY3Q+Ci0gPHRhcmdldCBuYW1lPSJhbGwiIGRlc2NyaXB0aW9uPSJCdWlsZCBhbGwgdGFyZ2V0cy4iPgotICAgPHNvbHV0aW9uIGNvbmZpZ3VyYXRpb249InJlbGVhc2UiPgotICAgICA8cHJvamVjdHM+Ci0gICAgICAgPGluY2x1ZGUgbmFtZT0ibWFrZV92ZXJzaW9uaW5mby52Y3Byb2oiIC8+Ci0gICAgIDwvcHJvamVjdHM+Ci0gICA8L3NvbHV0aW9uPgotICAgPGV4ZWMgcHJvZ3JhbT0ibWFrZV92ZXJzaW9uaW5mbyIgb3V0cHV0PSJweXRob25udF9yYy5oIiAvPgotCi0gICA8c29sdXRpb24gY29uZmlndXJhdGlvbj0icmVsZWFzZSIgc29sdXRpb25maWxlPSJwY2J1aWxkLnNsbiI+Ci0gICAgIDxleGNsdWRlcHJvamVjdHM+Ci0gICAgICAgPGluY2x1ZGUgbmFtZT0iX3RraW50ZXIudmNwcm9qIiAvPgotICAgICAgIDxpbmNsdWRlIG5hbWU9ImJ6Mi52Y3Byb2oiIC8+Ci0gICAgICAgPGluY2x1ZGUgbmFtZT0iX3NxbGl0ZTMudmNwcm9qIiAvPgotICAgICAgIDxpbmNsdWRlIG5hbWU9Il9zc2wudmNwcm9qIiAvPgotICAgICA8L2V4Y2x1ZGVwcm9qZWN0cz4KLSAgIDwvc29sdXRpb24+Ci0gPC90YXJnZXQ+Ci08L3Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQy9WUzcuMS9weXRob24uaXNzIGIvUEMvVlM3LjEvcHl0aG9uLmlzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2E2YTNjMC4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9weXRob24uaXNzCisrKyAvZGV2L251bGwKQEAgLTEsMzQxICswLDAgQEAKLTsgU2NyaXB0IGdlbmVyYXRlZCBieSB0aGUgSW5ubyBTZXR1cCBTY3JpcHQgV2l6YXJkLgotOyBTRUUgVEhFIERPQ1VNRU5UQVRJT04gRk9SIERFVEFJTFMgT04gQ1JFQVRJTkcgSU5OTyBTRVRVUCBTQ1JJUFQgRklMRVMhCi0KLTsgVGhpcyBpcyB0aGUgd2hvbGUgYmFsbCBvZiB3YXggZm9yIGFuIElubm8gaW5zdGFsbGVyIGZvciBQeXRob24uCi07IFRvIHVzZSwgZG93bmxvYWQgSW5ubyBTZXR1cCBmcm9tIGh0dHA6Ly93d3cuanJzb2Z0d2FyZS5vcmcvaXNkbC5odG0vLAotOyBpbnN0YWxsIGl0LCBhbmQgZG91YmxlLWNsaWNrIG9uIHRoaXMgZmlsZS4gIFRoYXQgbGF1bmNoZXMgdGhlIElubm8KLTsgc2NyaXB0IGNvbXBpbGVyLiAgVGhlIEdVSSBpcyBleHRlbWVseSBzaW1wbGUsIGFuZCBoYXMgb25seSBvbmUgYnV0dG9uCi07IHlvdSBtYXkgbm90IHJlY29nbml6ZSBpbnN0YW50bHk6ICBjbGljayBpdC4gIFlvdSdyZSBkb25lLiAgSXQgYnVpbGRzCi07IHRoZSBpbnN0YWxsZXIgaW50byBQQ0J1aWxkL1B5dGhvbi0yLjJhMS5leGUuICBTaXplIGFuZCBzcGVlZCBvZiB0aGUKLTsgaW5zdGFsbGVyIGFyZSBjb21wZXRpdGl2ZSB3aXRoIHRoZSBXaXNlIGluc3RhbGxlcjsgSW5ubyB1bmluc3RhbGwKLTsgc2VlbXMgbXVjaCBxdWlja2VyIHRoYW4gV2lzZSAoYnV0IGFsc28gZmVlYmxlciwgYW5kIHRoZSB1bmluc3RhbGwKLTsgbG9nIGlzIGluIHNvbWUgdW4oaHVtYW4pcmVhZGFibGUgYmluYXJ5IGZvcm1hdCkuCi07Ci07IFdoYXQncyBEb25lCi07IC0tLS0tLS0tLS0tCi07IEFsbCB0aGUgdXN1YWwgV2luZG93cyBQeXRob24gZmlsZXMgYXJlIGluc3RhbGxlZCBieSB0aGlzIG5vdy4KLTsgQWxsIHRoZSB1c3VhbCBXaW5kb3dzIFB5dGhvbiBTdGFydCBtZW51IGVudHJpZXMgYXJlIGNyZWF0ZWQgYW5kCi07IHdvcmsgZmluZS4KLTsgLnB5LCAucHl3LCAucHljIGFuZCAucHlvIGV4dGVuc2lvbnMgYXJlIHJlZ2lzdGVyZWQuCi07ICAgICBQUk9CTEVNOiAgSW5ubyB1bmluc3RhbGwgZG9lcyBub3QgcmVzdG9yZSB0aGVpciBwcmV2aW91cyByZWdpc3RyeQotOyAgICAgICAgICAgICAgIGFzc29jaWF0aW9ucyAoaWYgYW55KS4gIFdpc2UgZGlkLiAgVGhpcyB3aWxsIG1ha2UgbGlmZQotOyAgICAgICAgICAgICAgIGRpZmZpY3VsdCBmb3IgYWxwaGEgKGV0YykgdGVzdGVycy4KLTsgVGhlIFB5dGhvbiBpbnN0YWxsIGlzIGZ1bGx5IGZ1bmN0aW9uYWwgZm9yICJ0eXBpY2FsIiB1c2VzLgotOwotOyBXaGF0J3MgTm90IERvbmUKLTsgLS0tLS0tLS0tLS0tLS0tCi07IE5vbmUgb2YgIk1hcmsgSGFtbW9uZCdzIiByZWdpc3RyeSBlbnRyaWVzIGFyZSB3cml0dGVuLgotOyBObyBpbnN0YWxsYXRpb24gb2YgZmlsZXMgaXMgZG9uZSBpbnRvIHRoZSBzeXN0ZW0gZGlyOgotOyAgICAgVGhlIE1TIERMTHMgYXJlbid0IGhhbmRsZWQgYXQgYWxsIGJ5IHRoaXMgeWV0LgotOyAgICAgUHl0aG9uMjIuZGxsIGlzIHVucGFja2VkIGludG8gdGhlIG1haW4gUHl0aG9uIGRpci4KLTsKLTsgSW5ubyBjYW4ndCBkbyBkaWZmZXJlbnQgdGhpbmdzIG9uIE5ULzIwMDAgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIHVzZXIKLTsgaGFzIEFkbWluIHByaXZpbGVnZXMsIHNvIEkgZG9uJ3Qga25vdyBob3cgdG8gInNvbHZlIiBlaXRoZXIgb2YgdGhvc2UsCi07IHNob3J0IG9mIGJ1aWxkaW5nIHR3byBpbnN0YWxsZXJzIChvbmUgKnJlcXVpcmluZyogQWRtaW4gcHJpdnMsIHRoZQotOyBvdGhlciBub3QgZG9pbmcgYW55dGhpbmcgdGhhdCBuZWVkcyBBZG1pbiBwcml2cykuCi07Ci07IElubm8gaGFzIG5vIGNvbmNlcHQgb2YgdmFyaWFibGVzLCBzbyBsb3RzIG9mIGxpbmVzIGluIHRoaXMgZmlsZSBuZWVkCi07IHRvIGJlIGZpZGRsZWQgYnkgaGFuZCBhY3Jvc3MgcmVsZWFzZXMuICBTaW1wbGVzdCB3YXkgb3V0OiAgc3RpY2sgdGhpcwotOyBmaWxlIGluIGEgZ2lhbnQgdHJpcGxlLXF1b3RlZCByLXN0cmluZyAobm90ZSB0aGF0IGJhY2tzbGFzaGVzIGFyZQotOyByZXF1aXJlZCBhbGwgb3ZlciB0aGUgcGxhY2UgaGVyZSAtLSBmb3J3YXJkIHNsYXNoZXMgRE9OJ1QgV09SSyBpbgotOyBJbm5vKSwgYW5kIHVzZSAlKHlhZGRhKXMgc3RyaW5nIGludGVycG9sYXRpb24gdG8gZG8gc3Vic3RpdHV0aW9uczsgaS5lLiwKLTsgd3JpdGUgYSB2ZXJ5IHNpbXBsZSBQeXRob24gcHJvZ3JhbSB0byAqcHJvZHVjZSogdGhpcyBzY3JpcHQuCi0KLVtTZXR1cF0KLUFwcE5hbWU9UHl0aG9uIGFuZCBjb21iaW5lZCBXaW4zMiBFeHRlbnNpb25zCi1BcHBWZXJOYW1lPVB5dGhvbiAyLjIuMiBhbmQgY29tYmluZWQgV2luMzIgRXh0ZW5zaW9ucyAxNTAKLUFwcElkPVB5dGhvbiAyLjIuMi4xNTAKLUFwcFZlcnNpb249Mi4yLjIuMTUwCi1BcHBDb3B5cmlnaHQ9UHl0aG9uIGlzIENvcHlyaWdodCCpIDIwMDEgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uIFdpbjMyIEV4dGVuc2lvbnMgYXJlIENvcHlyaWdodCCpIDE5OTYtMjAwMSBHcmVnIFN0ZWluIGFuZCBNYXJrIEhhbW1vbmQuCi0KLTsgRGVmYXVsdCBpbnN0YWxsIGRpcjsgdmFsdWUgb2Yge2FwcH0gbGF0ZXIgKHVubGVzcyB1c2VyIG92ZXJyaWRlcykuCi07IHtzZH0gPSBzeXN0ZW0gcm9vdCBkcml2ZSwgcHJvYmFibHkgIkM6Ii4KLURlZmF1bHREaXJOYW1lPXtzZH1cUHl0aG9uMjIKLTtEZWZhdWx0RGlyTmFtZT17cGZ9XFB5dGhvbgotCi07IFN0YXJ0IG1lbnUgZm9sZGVyIG5hbWU7IHZhbHVlIG9mIHtncm91cH0gbGF0ZXIgKHVubGVzcyB1c2VyIG92ZXJyaWRlcykuCi1EZWZhdWx0R3JvdXBOYW1lPVB5dGhvbiAyLjIKLQotOyBQb2ludCBTb3VyY2VEaXIgdG8gb25lIGFib3ZlIFBDQnVpbGQgPSBzcmMuCi07IG1lYW5zIHRoaXMgc2NyaXB0IGNhbiBydW4gdW5jaGFuZ2VkIGZyb20gYW55b25lJ3MgQ1ZTIHRyZWUsIG5vIG1hdHRlcgotOyB3aGF0IHRoZXkgY2FsbGVkIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3JpZXMuCi1Tb3VyY2VEaXI9LgotT3V0cHV0RGlyPS4uCi1PdXRwdXRCYXNlRmlsZW5hbWU9UHl0aG9uLTIuMi4yLVdpbjMyLTE1MC1TZXR1cAotCi1BcHBQdWJsaXNoZXI9UHl0aG9uTGFicyBhdCBEaWdpdGFsIENyZWF0aW9ucwotQXBwUHVibGlzaGVyVVJMPWh0dHA6Ly93d3cucHl0aG9uLm9yZwotQXBwU3VwcG9ydFVSTD1odHRwOi8vd3d3LnB5dGhvbi5vcmcKLUFwcFVwZGF0ZXNVUkw9aHR0cDovL3d3dy5weXRob24ub3JnCi0KLUFsd2F5c0NyZWF0ZVVuaW5zdGFsbEljb249dHJ1ZQotQ2hhbmdlc0Fzc29jaWF0aW9ucz10cnVlCi1Vbmluc3RhbGxMb2dNb2RlPW5ldwotQWxsb3dOb0ljb25zPXRydWUKLUFkbWluUHJpdmlsZWdlc1JlcXVpcmVkPXRydWUKLVVuaW5zdGFsbERpc3BsYXlJY29uPXthcHB9XHB5Yy5pY28KLVdpemFyZERlYnVnPWZhbHNlCi0KLTsgVGhlIGZld2VyIHNjcmVlbnMgdGhlIGJldHRlcjsgbGVhdmUgdGhlc2UgY29tbWVudGVkLgotCi1Db21wcmVzc2lvbj1iemlwCi1JbmZvQmVmb3JlRmlsZT1MSUNFTlNFLnR4dAotO0luZm9CZWZvcmVGaWxlPU1pc2NcTkVXUwotCi07IHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUgaWYgeW91IHdhbnQgeW91ciBpbnN0YWxsYXRpb24gdG8gcnVuIG9uIE5UIDMuNTEgdG9vLgotOyBNaW5WZXJzaW9uPTQsMy41MQotCi1bVHlwZXNdCi1OYW1lOiBub3JtYWw7IERlc2NyaXB0aW9uOiBTZWxlY3QgZGVzaXJlZCBjb21wb25lbnRzOyBGbGFnczogaXNjdXN0b20KLQotW0NvbXBvbmVudHNdCi1OYW1lOiBtYWluOyBEZXNjcmlwdGlvbjogUHl0aG9uIGFuZCBXaW4zMiBFeHRlbnNpb25zOyBUeXBlczogbm9ybWFsCi1OYW1lOiBkb2NzOyBEZXNjcmlwdGlvbjogUHl0aG9uIGRvY3VtZW50YXRpb24gKEhUTUwpOyBUeXBlczogbm9ybWFsCi1OYW1lOiB0azsgRGVzY3JpcHRpb246IFRDTC9USywgdGtpbnRlciwgYW5kIElkbGU7IFR5cGVzOiBub3JtYWwKLU5hbWU6IHRvb2xzOyBEZXNjcmlwdGlvbjogUHl0aG9uIHV0aWxpdHkgc2NyaXB0cyAoVG9vbHNcKTsgVHlwZXM6IG5vcm1hbAotTmFtZTogdGVzdDsgRGVzY3JpcHRpb246IFB5dGhvbiB0ZXN0IHN1aXRlIChMaWJcdGVzdFwpOyBUeXBlczogbm9ybWFsCi0KLVtUYXNrc10KLU5hbWU6IGV4dGVuc2lvbnM7IERlc2NyaXB0aW9uOiBSZWdpc3RlciBmaWxlIGFzc29jaWF0aW9ucyAoLnB5LCAucHl3LCAucHljLCAucHlvKTsgQ29tcG9uZW50czogbWFpbjsgQ2hlY2s6IElzQWRtaW5Mb2dnZWRPbgotCi1bRmlsZXNdCi07IENhdXRpb246ICBVc2luZyBmb3J3YXJkIHNsYXNoZXMgaW5zdGVhZCBzY3Jld3MgdXAgaW4gYW1hemluZyB3YXlzLgotOyBVbmtub3duOiAgQnkgdGhlIHRpbWUgQ29tcG9uZW50cyAoYW5kIG90aGVyIGF0dHJzKSBhcmUgYWRkZWQgdG8gdGhlc2UgbGluZXMsIHRoZXkncmUKLTsgZ29pbmcgdG8gZ2V0IGF3ZnVsbHkgbG9uZy4gIEJ1dCBkb24ndCBzZWUgYSB3YXkgdG8gY29udGludWUgbG9naWNhbCBsaW5lcyBhY3Jvc3MKLTsgcGh5c2ljYWwgbGluZXMuCi0KLVNvdXJjZTogTElDRU5TRS50eHQ7IERlc3REaXI6IHthcHB9OyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlCi1Tb3VyY2U6IFJFQURNRS50eHQ7IERlc3REaXI6IHthcHB9OyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlCi1Tb3VyY2U6IE5ld3MudHh0OyBEZXN0RGlyOiB7YXBwfTsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZQotU291cmNlOiAqLmljbzsgRGVzdERpcjoge2FwcH07IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBweXRob24uZXhlOyBEZXN0RGlyOiB7YXBwfTsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotU291cmNlOiBweXRob253LmV4ZTsgRGVzdERpcjoge2FwcH07IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogdzl4cG9wZW4uZXhlOyBEZXN0RGlyOiB7YXBwfTsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotCi0KLVNvdXJjZTogRExMc1x0Y2w4My5kbGw7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IHRrCi1Tb3VyY2U6IERMTHNcdGs4My5kbGw7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IHRrCi1Tb3VyY2U6IHRjbFwqLio7IERlc3REaXI6IHthcHB9XHRjbDsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogdGs7IEZsYWdzOiByZWN1cnNlc3ViZGlycwotCi1Tb3VyY2U6IHN5c2RpclxweXRob24yMi5kbGw7IERlc3REaXI6IHtzeXN9OyBDb3B5TW9kZTogYWx3YXlzc2tpcGlmc2FtZW9yb2xkZXI7IENvbXBvbmVudHM6IG1haW47IEZsYWdzOiBzaGFyZWRmaWxlIHJlc3RhcnRyZXBsYWNlCi1Tb3VyY2U6IHN5c2RpclxQeVdpblR5cGVzMjIuZGxsOyBEZXN0RGlyOiB7c3lzfTsgQ29weU1vZGU6IGFsd2F5c3NraXBpZnNhbWVvcm9sZGVyOyBDb21wb25lbnRzOiBtYWluOyBGbGFnczogcmVzdGFydHJlcGxhY2Ugc2hhcmVkZmlsZQotU291cmNlOiBzeXNkaXJccHl0aG9uY29tMjIuZGxsOyBEZXN0RGlyOiB7c3lzfTsgQ29weU1vZGU6IGFsd2F5c3NraXBpZnNhbWVvcm9sZGVyOyBDb21wb25lbnRzOiBtYWluOyBGbGFnczogcmVzdGFydHJlcGxhY2Ugc2hhcmVkZmlsZQotCi1Tb3VyY2U6IERMTHNcX3NvY2tldC5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1xfc29ja2V0LmxpYjsgRGVzdERpcjoge2FwcH1cbGliczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotCi1Tb3VyY2U6IERMTHNcX3NyZS5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1xfc3JlLmxpYjsgRGVzdERpcjoge2FwcH1cbGliczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotCi1Tb3VyY2U6IERMTHNcX3N5bXRhYmxlLnB5ZDsgRGVzdERpcjoge2FwcH1cRExMczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotU291cmNlOiBsaWJzXF9zeW10YWJsZS5saWI7IERlc3REaXI6IHthcHB9XGxpYnM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBETExzXF90ZXN0Y2FwaS5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1xfdGVzdGNhcGkubGliOyBEZXN0RGlyOiB7YXBwfVxsaWJzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluCi0KLVNvdXJjZTogRExMc1xfdGtpbnRlci5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IHRrCi1Tb3VyY2U6IGxpYnNcX3RraW50ZXIubGliOyBEZXN0RGlyOiB7YXBwfVxsaWJzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiB0awotCi1Tb3VyY2U6IERMTHNcbW1hcC5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1xtbWFwLmxpYjsgRGVzdERpcjoge2FwcH1cbGliczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotCi1Tb3VyY2U6IERMTHNccGFyc2VyLnB5ZDsgRGVzdERpcjoge2FwcH1cRExMczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotU291cmNlOiBsaWJzXHBhcnNlci5saWI7IERlc3REaXI6IHthcHB9XGxpYnM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBETExzXHB5ZXhwYXQucHlkOyBEZXN0RGlyOiB7YXBwfVxETExzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluCi1Tb3VyY2U6IGxpYnNccHlleHBhdC5saWI7IERlc3REaXI6IHthcHB9XGxpYnM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBETExzXHNlbGVjdC5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1xzZWxlY3QubGliOyBEZXN0RGlyOiB7YXBwfVxsaWJzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluCi0KLVNvdXJjZTogRExMc1x1bmljb2RlZGF0YS5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1x1bmljb2RlZGF0YS5saWI7IERlc3REaXI6IHthcHB9XGxpYnM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBETExzXHdpbnJlZy5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1x3aW5yZWcubGliOyBEZXN0RGlyOiB7YXBwfVxsaWJzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluCi0KLVNvdXJjZTogRExMc1x3aW5zb3VuZC5weWQ7IERlc3REaXI6IHthcHB9XERMTHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogbGlic1x3aW5zb3VuZC5saWI7IERlc3REaXI6IHthcHB9XGxpYnM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBETExzXHpsaWIucHlkOyBEZXN0RGlyOiB7YXBwfVxETExzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluCi1Tb3VyY2U6IGxpYnNcemxpYi5saWI7IERlc3REaXI6IHthcHB9XGxpYnM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBsaWJzXHB5dGhvbjIyLmxpYjsgRGVzdERpcjoge2FwcH1cbGliczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotCi1Tb3VyY2U6IERMTHNcZXhwYXQuZGxsOyBEZXN0RGlyOiB7YXBwfVxETExzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluCi0KLQotCi1Tb3VyY2U6IExpYlwqLnB5OyBEZXN0RGlyOiB7YXBwfVxMaWI7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLVNvdXJjZTogTGliXGNvbXBpbGVyXCouKjsgRGVzdERpcjoge2FwcH1cTGliXGNvbXBpbGVyOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluOyBGbGFnczogcmVjdXJzZXN1YmRpcnMKLVNvdXJjZTogTGliXGRpc3R1dGlsc1wqLio7IERlc3REaXI6IHthcHB9XExpYlxkaXN0dXRpbHM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW47IEZsYWdzOiByZWN1cnNlc3ViZGlycwotU291cmNlOiBMaWJcZW1haWxcKi4qOyBEZXN0RGlyOiB7YXBwfVxMaWJcZW1haWw7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW47IEZsYWdzOiByZWN1cnNlc3ViZGlycwotU291cmNlOiBMaWJcZW5jb2RpbmdzXCouKjsgRGVzdERpcjoge2FwcH1cTGliXGVuY29kaW5nczsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbjsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi1Tb3VyY2U6IExpYlxob3RzaG90XCouKjsgRGVzdERpcjoge2FwcH1cTGliXGhvdHNob3Q7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW47IEZsYWdzOiByZWN1cnNlc3ViZGlycwotU291cmNlOiBMaWJcbGliLW9sZFwqLio7IERlc3REaXI6IHthcHB9XExpYlxsaWItb2xkOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluOyBGbGFnczogcmVjdXJzZXN1YmRpcnMKLVNvdXJjZTogTGliXHhtbFwqLio7IERlc3REaXI6IHthcHB9XExpYlx4bWw7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW47IEZsYWdzOiByZWN1cnNlc3ViZGlycwotU291cmNlOiBMaWJcaG90c2hvdFwqLio7IERlc3REaXI6IHthcHB9XExpYlxob3RzaG90OyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluOyBGbGFnczogcmVjdXJzZXN1YmRpcnMKLVNvdXJjZTogTGliXHRlc3RcKi4qOyBEZXN0RGlyOiB7YXBwfVxMaWJcdGVzdDsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogdGVzdDsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi1Tb3VyY2U6IExpYlx0a2ludGVyXCoucHk7IERlc3REaXI6IHthcHB9XExpYlx0a2ludGVyOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiB0azsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi0KLVNvdXJjZTogTGliXHNpdGUtcGFja2FnZXNcUkVBRE1FLnR4dDsgRGVzdERpcjoge2FwcH1cTGliXHNpdGUtcGFja2FnZXM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW4KLQotU291cmNlOiBMaWJcc2l0ZS1wYWNrYWdlc1xQeVdpbjMyLmNobTsgRGVzdERpcjoge2FwcH1cTGliXHNpdGUtcGFja2FnZXM7IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IGRvY3MKLVNvdXJjZTogTGliXHNpdGUtcGFja2FnZXNcd2luMzJcKi4qOyBEZXN0RGlyOiB7YXBwfVxMaWJcc2l0ZS1wYWNrYWdlc1x3aW4zMjsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbjsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi1Tb3VyY2U6IExpYlxzaXRlLXBhY2thZ2VzXHdpbjMyY29tXCouKjsgRGVzdERpcjoge2FwcH1cTGliXHNpdGUtcGFja2FnZXNcd2luMzJjb207IENvcHlNb2RlOiBhbHdheXNvdmVyd3JpdGU7IENvbXBvbmVudHM6IG1haW47IEZsYWdzOiByZWN1cnNlc3ViZGlycwotU291cmNlOiBMaWJcc2l0ZS1wYWNrYWdlc1x3aW4zMmNvbWV4dFwqLio7IERlc3REaXI6IHthcHB9XExpYlxzaXRlLXBhY2thZ2VzXHdpbjMyY29tZXh0OyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiBtYWluOyBGbGFnczogcmVjdXJzZXN1YmRpcnMKLQotU291cmNlOiBpbmNsdWRlXCouaDsgRGVzdERpcjoge2FwcH1caW5jbHVkZTsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogbWFpbgotCi1Tb3VyY2U6IFRvb2xzXGlkbGVcKi4qOyBEZXN0RGlyOiB7YXBwfVxUb29sc1xpZGxlOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiB0azsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi0KLVNvdXJjZTogVG9vbHNccHluY2hlXCouKjsgRGVzdERpcjoge2FwcH1cVG9vbHNccHluY2hlOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiB0b29sczsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi1Tb3VyY2U6IFRvb2xzXHNjcmlwdHNcKi4qOyBEZXN0RGlyOiB7YXBwfVxUb29sc1xTY3JpcHRzOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiB0b29sczsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi1Tb3VyY2U6IFRvb2xzXHdlYmNoZWNrZXJcKi4qOyBEZXN0RGlyOiB7YXBwfVxUb29sc1x3ZWJjaGVja2VyOyBDb3B5TW9kZTogYWx3YXlzb3ZlcndyaXRlOyBDb21wb25lbnRzOiB0b29sczsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzCi1Tb3VyY2U6IFRvb2xzXHZlcnNpb25jaGVja1wqLio7IERlc3REaXI6IHthcHB9XFRvb2xzXHZlcnNpb25jaGVjazsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgQ29tcG9uZW50czogdG9vbHM7IEZsYWdzOiByZWN1cnNlc3ViZGlycwotCi1Tb3VyY2U6IERvY1wqLio7IERlc3REaXI6IHthcHB9XERvYzsgQ29weU1vZGU6IGFsd2F5c292ZXJ3cml0ZTsgRmxhZ3M6IHJlY3Vyc2VzdWJkaXJzOyBDb21wb25lbnRzOiBkb2NzCi0KLQotW0ljb25zXQotTmFtZToge2dyb3VwfVxQeXRob24gKGNvbW1hbmQgbGluZSk7IEZpbGVuYW1lOiB7YXBwfVxweXRob24uZXhlOyBXb3JraW5nRGlyOiB7YXBwfTsgQ29tcG9uZW50czogbWFpbgotTmFtZToge2dyb3VwfVxQeXRob24gTWFudWFsczsgRmlsZW5hbWU6IHthcHB9XERvY1xpbmRleC5odG1sOyBXb3JraW5nRGlyOiB7YXBwfTsgQ29tcG9uZW50czogZG9jcwotTmFtZToge2dyb3VwfVxXaW4zMiBFeHRlbnNpb25zIEhlbHA7IEZpbGVuYW1lOiB7YXBwfVxMaWJcc2l0ZS1wYWNrYWdlc1xQeVdpbjMyLmNobTsgV29ya2luZ0Rpcjoge2FwcH1cTGliXHNpdGUtcGFja2FnZXM7IENvbXBvbmVudHM6IGRvY3MKLU5hbWU6IHtncm91cH1cTW9kdWxlIERvY3M7IEZpbGVuYW1lOiB7YXBwfVxweXRob253LmV4ZTsgV29ya2luZ0Rpcjoge2FwcH07IFBhcmFtZXRlcnM6ICIiInthcHB9XFRvb2xzXFNjcmlwdHNccHlkb2MucHl3IiIiOyBDb21wb25lbnRzOiB0b29scwotTmFtZToge2dyb3VwfVxJRExFIChQeXRob24gR1VJKTsgRmlsZW5hbWU6IHthcHB9XHB5dGhvbncuZXhlOyBXb3JraW5nRGlyOiB7YXBwfTsgUGFyYW1ldGVyczogIiIie2FwcH1cVG9vbHNcaWRsZVxpZGxlLnB5dyIiIjsgQ29tcG9uZW50czogdG9vbHMKLQotW1JlZ2lzdHJ5XQotOyBSZWdpc3RlciAucHkKLVRhc2tzOiBleHRlbnNpb25zOyBSb290OiBIS0NSOyBTdWJrZXk6IC5weTsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogOyBWYWx1ZURhdGE6IFB5dGhvbiBGaWxlOyBGbGFnczogdW5pbnNkZWxldGV2YWx1ZQotVGFza3M6IGV4dGVuc2lvbnM7IFJvb3Q6IEhLQ1I7IFN1YmtleTogLnB5OyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiBDb250ZW50IFR5cGU7IFZhbHVlRGF0YTogdGV4dC9wbGFpbjsgRmxhZ3M6IHVuaW5zZGVsZXRldmFsdWUKLVRhc2tzOiBleHRlbnNpb25zOyBSb290OiBIS0NSOyBTdWJrZXk6IFB5dGhvbiBGaWxlOyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiA7IFZhbHVlRGF0YTogUHl0aG9uIEZpbGU7IEZsYWdzOiB1bmluc2RlbGV0ZWtleQotVGFza3M6IGV4dGVuc2lvbnM7IFJvb3Q6IEhLQ1I7IFN1YmtleTogUHl0aG9uIEZpbGVcRGVmYXVsdEljb247IFZhbHVlVHlwZTogc3RyaW5nOyBWYWx1ZU5hbWU6IDsgVmFsdWVEYXRhOiB7YXBwfVxQeS5pY28KLVRhc2tzOiBleHRlbnNpb25zOyBSb290OiBIS0NSOyBTdWJrZXk6IFB5dGhvbiBGaWxlXHNoZWxsXG9wZW5cY29tbWFuZDsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogOyBWYWx1ZURhdGE6ICIiInthcHB9XHB5dGhvbi5leGUiIiAiIiUxIiIgJSoiCi0KLTsgUmVnaXN0ZXIgLnB5YwotVGFza3M6IGV4dGVuc2lvbnM7IFJvb3Q6IEhLQ1I7IFN1YmtleTogLnB5YzsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogOyBWYWx1ZURhdGE6IFB5dGhvbiBDb21waWxlZEZpbGU7IEZsYWdzOiB1bmluc2RlbGV0ZXZhbHVlCi1UYXNrczogZXh0ZW5zaW9uczsgUm9vdDogSEtDUjsgU3Via2V5OiBQeXRob24gQ29tcGlsZWRGaWxlOyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiA7IFZhbHVlRGF0YTogQ29tcGlsZWQgUHl0aG9uIEZpbGU7IEZsYWdzOiB1bmluc2RlbGV0ZWtleQotVGFza3M6IGV4dGVuc2lvbnM7IFJvb3Q6IEhLQ1I7IFN1YmtleTogUHl0aG9uIENvbXBpbGVkRmlsZVxEZWZhdWx0SWNvbjsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogOyBWYWx1ZURhdGE6IHthcHB9XHB5Yy5pY28KLVRhc2tzOiBleHRlbnNpb25zOyBSb290OiBIS0NSOyBTdWJrZXk6IFB5dGhvbiBDb21waWxlZEZpbGVcc2hlbGxcb3Blblxjb21tYW5kOyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiA7IFZhbHVlRGF0YTogIiIie2FwcH1ccHl0aG9uLmV4ZSIiICIiJTEiIiAlKiIKLQotOyBSZWdpc3RlciAucHlvCi1UYXNrczogZXh0ZW5zaW9uczsgUm9vdDogSEtDUjsgU3Via2V5OiAucHlvOyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiA7IFZhbHVlRGF0YTogUHl0aG9uIENvbXBpbGVkRmlsZTsgRmxhZ3M6IHVuaW5zZGVsZXRldmFsdWUKLQotOyBSZWdpc3RlciAucHl3Ci1UYXNrczogZXh0ZW5zaW9uczsgUm9vdDogSEtDUjsgU3Via2V5OiAucHl3OyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiA7IFZhbHVlRGF0YTogUHl0aG9uIE5vQ29uRmlsZTsgRmxhZ3M6IHVuaW5zZGVsZXRldmFsdWUKLVRhc2tzOiBleHRlbnNpb25zOyBSb290OiBIS0NSOyBTdWJrZXk6IC5weXc7IFZhbHVlVHlwZTogc3RyaW5nOyBWYWx1ZU5hbWU6IENvbnRlbnQgVHlwZTsgVmFsdWVEYXRhOiB0ZXh0L3BsYWluOyBGbGFnczogdW5pbnNkZWxldGV2YWx1ZQotVGFza3M6IGV4dGVuc2lvbnM7IFJvb3Q6IEhLQ1I7IFN1YmtleTogUHl0aG9uIE5vQ29uRmlsZTsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogOyBWYWx1ZURhdGE6IFB5dGhvbiBGaWxlIChubyBjb25zb2xlKTsgRmxhZ3M6IHVuaW5zZGVsZXRla2V5Ci1UYXNrczogZXh0ZW5zaW9uczsgUm9vdDogSEtDUjsgU3Via2V5OiBQeXRob24gTm9Db25GaWxlXERlZmF1bHRJY29uOyBWYWx1ZVR5cGU6IHN0cmluZzsgVmFsdWVOYW1lOiA7IFZhbHVlRGF0YToge2FwcH1cUHkuaWNvCi1UYXNrczogZXh0ZW5zaW9uczsgUm9vdDogSEtDUjsgU3Via2V5OiBQeXRob24gTm9Db25GaWxlXHNoZWxsXG9wZW5cY29tbWFuZDsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlTmFtZTogOyBWYWx1ZURhdGE6ICIiInthcHB9XHB5dGhvbncuZXhlIiIgIiIlMSIiICUqIgotCi0KLTsgUHl0aG9uIFJlZ2lzdHJ5IEtleXMKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uOyBGbGFnczogdW5pbnNkZWxldGVrZXlpZmVtcHR5OyBDaGVjazogSXNBZG1pbkxvZ2dlZE9uCi1Sb290OiBIS0xNOyBTdWJrZXk6IFNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlOyBGbGFnczogdW5pbnNkZWxldGVrZXlpZmVtcHR5Ci1Sb290OiBIS0xNOyBTdWJrZXk6IFNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlXDIuMjsgRmxhZ3M6IHVuaW5zZGVsZXRla2V5aWZlbXB0eQotUm9vdDogSEtMTTsgU3Via2V5OiBTT0ZUV0FSRVxQeXRob25cUHl0aG9uQ29yZVwyLjJcUHl0aG9uUGF0aDsgVmFsdWVEYXRhOiAie2FwcH1cTGliO3thcHB9XERMTHMiOyBGbGFnczogdW5pbnNkZWxldGVrZXlpZmVtcHR5Ci1Sb290OiBIS0xNOyBTdWJrZXk6IFNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlXDIuMlxQeXRob25QYXRoXHdpbjMyOyBWYWx1ZURhdGE6ICJ7YXBwfVxsaWJcc2l0ZS1wYWNrYWdlc1x3aW4zMjt7YXBwfVxsaWJcc2l0ZS1wYWNrYWdlc1x3aW4zMlxsaWIiOyBGbGFnczogdW5pbnNkZWxldGVrZXkKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcMi4yXFB5dGhvblBhdGhcd2luMzJjb207IFZhbHVlRGF0YTogQzpcUHl0aG9uXGxpYlxzaXRlLXBhY2thZ2VzOyBGbGFnczogdW5pbnNkZWxldGVrZXkKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcMi4yXE1vZHVsZXM7IEZsYWdzOiB1bmluc2RlbGV0ZWtleWlmZW1wdHkKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcMi4yXE1vZHVsZXNccHl0aG9uY29tOyBWYWx1ZURhdGE6IHtzeXN9XHB5dGhvbmNvbTIyLmRsbDsgRmxhZ3M6IHVuaW5zZGVsZXRla2V5Ci1Sb290OiBIS0xNOyBTdWJrZXk6IFNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlXDIuMlxNb2R1bGVzXHB5d2ludHlwZXM7IFZhbHVlRGF0YToge3N5c31cUHlXaW5UeXBlczIyLmRsbDsgRmxhZ3M6IHVuaW5zZGVsZXRla2V5Ci1Sb290OiBIS0xNOyBTdWJrZXk6IFNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlXDIuMlxJbnN0YWxsUGF0aDsgVmFsdWVEYXRhOiB7YXBwfTsgRmxhZ3M6IHVuaW5zZGVsZXRla2V5aWZlbXB0eTsgVmFsdWVUeXBlOiBzdHJpbmcKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcMi4yXEluc3RhbGxQYXRoXEluc3RhbGxHcm91cDsgVmFsdWVEYXRhOiB7Z3JvdXB9OyBGbGFnczogdW5pbnNkZWxldGVrZXkKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcMi4yXEhlbHA7IEZsYWdzOiB1bmluc2RlbGV0ZWtleWlmZW1wdHkKLVJvb3Q6IEhLTE07IFN1YmtleTogU09GVFdBUkVcUHl0aG9uXFB5dGhvbkNvcmVcMi4yXEhlbHBcTWFpbiBQeXRob24gRG9jdW1lbnRhdGlvbjsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlRGF0YToge2FwcH1cRG9jXGluZGV4Lmh0bWw7IEZsYWdzOiB1bmluc2RlbGV0ZWtleTsgQ29tcG9uZW50czogZG9jcwotUm9vdDogSEtMTTsgU3Via2V5OiBTT0ZUV0FSRVxQeXRob25cUHl0aG9uQ29yZVwyLjJcSGVscFxQeXRob24gV2luMzIgRG9jdW1lbnRhdGlvbjsgVmFsdWVUeXBlOiBzdHJpbmc7IFZhbHVlRGF0YToge2FwcH1cbGliXHNpdGUtcGFja2FnZXNcUHlXaW4zMi5jaG07IEZsYWdzOiB1bmluc2RlbGV0ZWtleTsgQ29tcG9uZW50czogZG9jcwotCi1bX0lTVG9vbF0KLUVuYWJsZUlTWD10cnVlCi0KLQotW0NvZGVdCi1Qcm9ncmFtIFNldHVwOwotCi1GdW5jdGlvbiBJc0FkbWluTm90TG9nZ2VkT24oKTogQm9vbGVhbjsKLWJlZ2luCi0gIFJlc3VsdCA6PSBOb3QgSXNBZG1pbkxvZ2dlZE9uKCk7Ci1lbmQ7Ci0KLWJlZ2luCi1lbmQuCi0KLQotCi0KLVtVbmluc3RhbGxEZWxldGVdCi1OYW1lOiB7YXBwfVxMaWJcY29tcGlsZXJcKi5weWM7IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJcY29tcGlsZXJcKi5weW87IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJcY29tcGlsZXI7IFR5cGU6IGRpcmlmZW1wdHkKLU5hbWU6IHthcHB9XExpYlxkaXN0dXRpbHNcY29tbWFuZFwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxkaXN0dXRpbHNcY29tbWFuZFwqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxkaXN0dXRpbHNcY29tbWFuZDsgVHlwZTogZGlyaWZlbXB0eQotTmFtZToge2FwcH1cTGliXGRpc3R1dGlsc1wqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxkaXN0dXRpbHNcKi5weW87IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJcZGlzdHV0aWxzOyBUeXBlOiBkaXJpZmVtcHR5Ci1OYW1lOiB7YXBwfVxMaWJcZW1haWxcdGVzdFwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxlbWFpbFx0ZXN0XCoucHlvOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXGVtYWlsXHRlc3Q7IFR5cGU6IGRpcmlmZW1wdHkKLU5hbWU6IHthcHB9XExpYlxlbWFpbFwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxlbWFpbFwqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxlbWFpbDsgVHlwZTogZGlyaWZlbXB0eQotTmFtZToge2FwcH1cTGliXGVuY29kaW5nc1wqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxlbmNvZGluZ3NcKi5weW87IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJcZW5jb2RpbmdzOyBUeXBlOiBkaXJpZmVtcHR5Ci1OYW1lOiB7YXBwfVxMaWJcaG90c2hvdFwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlxob3RzaG90XCoucHlvOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXGhvdHNob3Q7IFR5cGU6IGRpcmlmZW1wdHkKLU5hbWU6IHthcHB9XExpYlxsaWItb2xkXCoucHljOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXGxpYi1vbGRcKi5weW87IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJcbGliLW9sZDsgVHlwZTogZGlyaWZlbXB0eQotTmFtZToge2FwcH1cTGliXHRraW50ZXJcKi5weWM7IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJcdGtpbnRlclwqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlx0a2ludGVyOyBUeXBlOiBkaXJpZmVtcHR5Ci1OYW1lOiB7YXBwfVxMaWJcdGVzdFwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlx0ZXN0XCoucHlvOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHRlc3Q7IFR5cGU6IGRpcmlmZW1wdHkKLU5hbWU6IHthcHB9XExpYlx4bWxcZG9tXCoucHljOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHhtbFxkb21cKi5weW87IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJceG1sXGRvbTsgVHlwZTogZGlyaWZlbXB0eQotTmFtZToge2FwcH1cTGliXHhtbFxwYXJzZXJzXCoucHljOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHhtbFxwYXJzZXJzXCoucHlvOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHhtbFxwYXJzZXJzOyBUeXBlOiBkaXJpZmVtcHR5Ci1OYW1lOiB7YXBwfVxMaWJceG1sXHNheFwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XExpYlx4bWxcc2F4XCoucHlvOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHhtbFxzYXg7IFR5cGU6IGRpcmlmZW1wdHkKLU5hbWU6IHthcHB9XExpYlx4bWxcKi5weWM7IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxMaWJceG1sXCoucHlvOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHhtbDsgVHlwZTogZGlyaWZlbXB0eQotCi1OYW1lOiB7YXBwfVxMaWJcc2l0ZS1wYWNrYWdlc1x3aW4zMjsgVHlwZTogZmlsZXNhbmRvcmRpcnMKLU5hbWU6IHthcHB9XExpYlxzaXRlLXBhY2thZ2VzXHdpbjMyY29tOyBUeXBlOiBmaWxlc2FuZG9yZGlycwotTmFtZToge2FwcH1cTGliXHNpdGUtcGFja2FnZXNcd2luMzJjb21leHQ7IFR5cGU6IGZpbGVzYW5kb3JkaXJzCi1OYW1lOiB7YXBwfVxMaWJcc2l0ZS1wYWNrYWdlc1xweXRob25jb20ucHkqOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliXHNpdGUtcGFja2FnZXM7IFR5cGU6IGRpcmlmZW1wdHkKLQotTmFtZToge2FwcH1cTGliXCoucHljOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cTGliOyBUeXBlOiBkaXJpZmVtcHR5Ci0KLU5hbWU6IHthcHB9XFRvb2xzXHB5bmNoZVwqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXHB5bmNoZVwqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXHB5bmNoZTsgVHlwZTogZGlyaWZlbXB0eQotCi1OYW1lOiB7YXBwfVxUb29sc1xpZGxlXCoucHljOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cVG9vbHNcaWRsZVwqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXGlkbGU7IFR5cGU6IGRpcmlmZW1wdHkKLQotTmFtZToge2FwcH1cVG9vbHNcc2NyaXB0c1wqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXHNjcmlwdHNcKi5weW87IFR5cGU6IGZpbGVzCi1OYW1lOiB7YXBwfVxUb29sc1xzY3JpcHRzOyBUeXBlOiBkaXJpZmVtcHR5Ci0KLU5hbWU6IHthcHB9XFRvb2xzXHZlcnNpb25jaGVja1wqLnB5YzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXHZlcnNpb25jaGVja1wqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXHZlcnNpb25jaGVjazsgVHlwZTogZGlyaWZlbXB0eQotCi1OYW1lOiB7YXBwfVxUb29sc1x3ZWJjaGVja2VyXCoucHljOyBUeXBlOiBmaWxlcwotTmFtZToge2FwcH1cVG9vbHNcd2ViY2hlY2tlclwqLnB5bzsgVHlwZTogZmlsZXMKLU5hbWU6IHthcHB9XFRvb2xzXHdlYmNoZWNrZXI7IFR5cGU6IGRpcmlmZW1wdHkKLQotTmFtZToge2FwcH1cVG9vbHM7IFR5cGU6IGRpcmlmZW1wdHkKLQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvcHl0aG9uLnZjcHJvaiBiL1BDL1ZTNy4xL3B5dGhvbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwYjQ0MDEuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvcHl0aG9uLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI3NCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0icHl0aG9uIg0KLQlTY2NQcm9qZWN0TmFtZT0icHl0aG9uIg0KLQlTY2NMb2NhbFBhdGg9Ii4uIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VccHl0aG9uIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiY2NwMzIubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuXC4vcHl0aG9uLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbi5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdccHl0aG9uIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19ERUJVRztfQ09OU09MRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlCcm93c2VJbmZvcm1hdGlvbj0iMSINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjY3AzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uX2QuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHl0aG9uX2QucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUl0YW5pdW18V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXGlhNjQtdGVtcC1yZWxlYXNlXHB5dGhvbiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19JVEFOSVVNICAvR1MtIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7TkRFQlVHO19DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyAvVlNFWFRDT01QX1ZFUkJPU0UiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmNjcDMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLlwuL3B5dGhvbi5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob24ucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImFtZDY0LXRlbXAtcmVsZWFzZVxweXRob24iDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO05ERUJVRztfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6QU1ENjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjY3AzMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii5cLi9weXRob24uZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHl0aG9uLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweWNvbi5pY28iPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccHl0aG9uLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9leGUucmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9weXRob24yMC53c2UgYi9QQy9WUzcuMS9weXRob24yMC53c2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlN2Y2YWQzLi4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL3B5dGhvbjIwLndzZQorKysgL2Rldi9udWxsCkBAIC0xLDMxMTcgKzAsMCBAQAotRG9jdW1lbnQgVHlwZTogV1NFCi1pdGVtOiBHbG9iYWwKLSAgVmVyc2lvbj05LjAKLSAgVGl0bGU9UHl0aG9uIDIuNGExCi0gIEZsYWdzPTAwMDEwMTAwCi0gIExhbmd1YWdlcz02NSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMAotICBKYXBhbmVzZSBGb250IE5hbWU9TVMgR290aGljCi0gIEphcGFuZXNlIEZvbnQgU2l6ZT0xMAotICBTdGFydCBHcmFkaWVudD0wIDI1NSAwCi0gIEVuZCBHcmFkaWVudD0wIDEyOCAwCi0gIFdpbmRvd3MgRmxhZ3M9MDAwMDAxMDAwMDAwMTEwMTAwMTAwMTAxMDAwMDEwMTAKLSAgTG9nIFBhdGhuYW1lPSVNQUlORElSJVxJTlNUQUxMLkxPRwotICBNZXNzYWdlIEZvbnQ9TVMgU2FucyBTZXJpZgotICBGb250IFNpemU9OAotICBQYWdlcyBNb2RpZmllZD0wMDAxMDAwMDAxMTEwMTAwMDAwMDAwMDEwMDAwMDExMQotICBFeHRyYSBQYWdlcz0wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDExMDAxMAotICBEaXNrIEZpbGVuYW1lPVNFVFVQCi0gIFBhdGNoIEZsYWdzPTAwMDAwMDAwMDAwMDEwMDEKLSAgUGF0Y2ggVGhyZXNob2xkPTg1Ci0gIFBhdGNoIE1lbW9yeT00MDAwCi0gIE1JRiBQREYgVmVyc2lvbj0xLjAKLSAgTUlGIFNNUyBWZXJzaW9uPTIuMAotICBFWEUgRmlsZW5hbWU9UHl0aG9uLTIuNGExLmV4ZQotICBEaWFsb2dzIFZlcnNpb249OAotICBWZXJzaW9uIEZpbGU9Mi40YTEKLSAgVmVyc2lvbiBEZXNjcmlwdGlvbj1QeXRob24gUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UKLSAgVmVyc2lvbiBDb3B5cmlnaHQ9qTIwMDEtMjAwNyBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbgotICBWZXJzaW9uIENvbXBhbnk9UHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24KLSAgQ3J5c3RhbCBGb3JtYXQ9MTAxMTExMDAxMDExMDAwMDAwMTAwMDEwMDEwMDEwMDEKLSAgU3RlcCBWaWV3PSZBbGwKLSAgVmFyaWFibGUgTmFtZTE9X1dJU0VfCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uMT1XSVNFIHJvb3QgZGlyZWN0b3J5Ci0gIFZhcmlhYmxlIERlZmF1bHQxPUM6XFByb2dyYW1tZVxXaXNlIEluc3RhbGxhdGlvbiBTeXN0ZW0KLSAgVmFyaWFibGUgRmxhZ3MxPTAwMDAxMDAwCi0gIFZhcmlhYmxlIE5hbWUyPV9UQ0xESVJfCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uMj1UaGUgZGlyZWN0b3J5IGluIHdoaWNoIHRoZSBUY2wvVGsgaW5zdGFsbGF0aW9uCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uMj1saXZlcy4gIFRoaXMgbXVzdCBiZSBhIHNpYmxpbmcgb2YgdGhlIFB5dGhvbgotICBWYXJpYWJsZSBEZXNjcmlwdGlvbjI9ZGlyZWN0b3J5LgotICBWYXJpYWJsZSBEZWZhdWx0Mj10Y2w4NAotICBWYXJpYWJsZSBGbGFnczI9MDAwMDEwMDAKLSAgVmFyaWFibGUgTmFtZTM9X0RPQ18KLSAgVmFyaWFibGUgRGVzY3JpcHRpb24zPVRoZSB1bnBhY2tlZCBIVE1MIGRvYyBkaXJlY3RvcnkuCi0gIFZhcmlhYmxlIERlZmF1bHQzPS4uXGh0bWwKLSAgVmFyaWFibGUgRmxhZ3MzPTAwMDAxMDAxCi0gIFZhcmlhYmxlIE5hbWU0PV9TWVNfCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uND1TeXN0ZW0gZGlyZWN0b3J5ICh3aGVyZSB0byBmaW5kIE1TVkNSVC5ETEwpCi0gIFZhcmlhYmxlIERlZmF1bHQ0PUM6XFdpbmRvd3NcU3lzdGVtCi0gIFZhcmlhYmxlIFZhbHVlczQ9QzpcV2luZG93c1xTeXN0ZW0KLSAgVmFyaWFibGUgVmFsdWVzND1DOlxXSU5OVFxTeXN0ZW0zMgotICBWYXJpYWJsZSBWYWx1ZXM0PUM6XENvZGVcTVNETExzCi0gIFZhcmlhYmxlIFZhbHVlczQ9QzpcV2luZG93c1xTeXN0ZW0zMgotICBWYXJpYWJsZSBGbGFnczQ9MDAwMDAwMTAKLSAgVmFyaWFibGUgTmFtZTU9X1BZTUFKT1JfCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uNT1QeXRob24gbWFqb3IgdmVyc2lvbiBudW1iZXI7IHRoZSAyIGluIDIuMy4KLSAgVmFyaWFibGUgRGVmYXVsdDU9MgotICBWYXJpYWJsZSBGbGFnczU9MDAwMDEwMDAKLSAgVmFyaWFibGUgTmFtZTY9X1BZTUlOT1JfCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uNj1QeXRob24gbWlub3IgdmVyc2lvbiBudW1iZXI7IHRoZSAzIGluIDIuMwotICBWYXJpYWJsZSBEZWZhdWx0Nj0zCi0gIFZhcmlhYmxlIEZsYWdzNj0wMDAwMTAwMAotICBWYXJpYWJsZSBOYW1lNz1fRE9BRE1JTl8KLSAgVmFyaWFibGUgRGVzY3JpcHRpb243PVRoZSBpbml0aWFsIHZhbHVlIGZvciAlRE9BRE1JTiUuCi0gIFZhcmlhYmxlIERlc2NyaXB0aW9uNz1XaGVuIDAsIHdlIG5ldmVyIHRyeSB0byB3cml0ZSB1bmRlciBIS0xNLAotICBWYXJpYWJsZSBEZXNjcmlwdGlvbjc9YW5kIGluc3RhbGwgdGhlIFB5dGhvbiArIE1TIHJ1bnRpbWUgRExMcyBpbgotICBWYXJpYWJsZSBEZXNjcmlwdGlvbjc9dGhlIFB5dGhvbiBkaXJlY3RvcnkgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIGRpci4KLSAgVmFyaWFibGUgRGVmYXVsdDc9MQotICBWYXJpYWJsZSBWYWx1ZXM3PTEKLSAgVmFyaWFibGUgVmFsdWVzNz0wCi0gIFZhcmlhYmxlIEZsYWdzNz0wMDAwMTAxMAotICBWYXJpYWJsZSBOYW1lOD1fQUxJQVNOQU1FXwotICBWYXJpYWJsZSBGbGFnczg9MDAwMDEwMDAKLSAgVmFyaWFibGUgTmFtZTk9X0FMSUFTUEFUSF8KLSAgVmFyaWFibGUgRmxhZ3M5PTAwMDAxMDAwCi0gIFZhcmlhYmxlIE5hbWUxMD1fQUxJQVNUWVBFXwotICBWYXJpYWJsZSBGbGFnczEwPTAwMDAxMDAwCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1QWVZFUl9TVFJJTkcKLSAgVmFsdWU9Mi4zCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1XaGVuIHRoZSB2ZXJzaW9uIG51bWJlciBjaGFuZ2VzLCBzZXQgdGhlIGNvbXBpbGVyCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PXZyYmxzIF9QWU1BSk9SXyBhbmQgIF9QWU1JTk9SXy4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9Tm90aGluZyBpbiB0aGUgc2NyaXB0IGJlbG93IHNob3VsZCBuZWVkIGZpZGRsaW5nIHRoZW4uCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PU90aGVyIHRoaW5ncyB0aGF0IG5lZWQgZmlkZGxpbmc6Ci1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PSAgICBQWVZFUl9TVFJJTkcgYWJvdmUuCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PSAgICBUaGUgIlRpdGxlOiIgaW4gdGhlIHVwcGVyIGxlZnQgY29ybmVyIG9mIHRoZSBHVUkuCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PSAgICBCdWlsZCBTZXR0aW5ncyBhbmQgVmVyc2lvbiBSZXNvdXJjZSBvbiBzdGVwIDYgKEZpbmlzaCkgb2YgdGhlIEluc3RhbGxhdGlvbiBFeHBlcnQKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9ICAgICAgICBCZSBzdXJlIHRvIHNlbGVjdCBTdGVwcy0+QWxsIG9yIHlvdSBtYXkgbm90IHNlZSB0aGVzZSEKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVdoZW4gdGhlIHZlcnNpb24gb2YgVGNsL1RrIGNoYW5nZXMsIHRoZSBjb21waWxlciB2cmJsCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PV9UQ0xESVJfIG1heSBhbHNvIG5lZWQgdG8gYmUgY2hhbmdlZC4KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1BUFBUSVRMRQotICBWYWx1ZT1QeXRob24gJVBZVkVSX1NUUklORyUKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9UFlfVkVSU0lPTiBzaG91bGQgYmUgbWFqb3IubWlub3Igb25seTsgdXNlZCB0byBjcmVhdGUgdGhlIHJlZ2lzdHJ5IGtleTsgbXVzdCBtYXRjaCBNU19ETExfSUQgaW4gcHl0aG9uX250LnJjCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1QWV9WRVJTSU9OCi0gIFZhbHVlPSVfUFlNQUpPUl8lLiVfUFlNSU5PUl8lCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUdST1VQIGlzIHRoZSBTdGFydCBtZW51IGdyb3VwIG5hbWU7IHVzZXIgY2FuIG92ZXJyaWRlLgotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9R1JPVVAKLSAgVmFsdWU9UHl0aG9uICVQWV9WRVJTSU9OJQotICBGbGFncz0xMDAwMDAwMAotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1NQUlORElSIGlzIHRoZSBhcHAgZGlyZWN0b3J5OyB1c2VyIGNhbiBvdmVycmlkZS4KLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPU1BSU5ESVIKLSAgVmFsdWU9UHl0aG9uJV9QWU1BSk9SXyUlX1BZTUlOT1JfJQotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPURPQURNSU4KLSAgVmFsdWU9JV9ET0FETUlOXyUKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9R2l2ZSBub24tYWRtaW4gdXNlcnMgYSBjaGFuY2UgdG8gYWJvcnQuCi1lbmQKLWl0ZW06IENoZWNrIENvbmZpZ3VyYXRpb24KLSAgRmxhZ3M9MTAwMTExMTEKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPURPQURNSU4KLSAgVmFsdWU9MAotZW5kCi1pdGVtOiBEaXNwbGF5IE1lc3NhZ2UKLSAgVGl0bGU9RG9pbmcgbm9uLWFkbWluIGluc3RhbGwKLSAgVGV4dD1UaGUgY3VycmVudCBsb2dpbiBkb2VzIG5vdCBoYXZlIEFkbWluaXN0cmF0b3IgUHJpdmlsZWdlcyBvbiB0aGlzIG1hY2hpbmUuICBQeXRob24gd2lsbCBpbnN0YWxsIGl0cyByZWdpc3RyeSBpbmZvcm1hdGlvbiBpbnRvIHRoZSBwZXItdXNlciBhcmVhIG9ubHkgZm9yIHRoZSBjdXJyZW50IGxvZ2luLCBpbnN0ZWFkIG9mIGludG8gdGhlIHBlci1tYWNoaW5lIGFyZWEgZm9yIGV2ZXJ5IGFjY291bnQgb24gdGhpcyBtYWNoaW5lLiAgU29tZSBhZHZhbmNlZCB1c2VzIG9mIFB5dGhvbiBtYXkgbm90IHdvcmsgYXMgYSByZXN1bHQgKGZvciBleGFtcGxlLCBydW5uaW5nIGEgUHl0aG9uIHNjcmlwdCBhcyBhIHNlcnZpY2UpLgotICBUZXh0PQotICBUZXh0PUlmIHRoaXMgaXMgbm90IHdoYXQgeW91IHdhbnQsIHBsZWFzZSBjbGljayBDYW5jZWwgdG8gYWJvcnQgdGhpcyBpbnN0YWxsYXRpb24sIGxvZyBvbiBhcyBhbiBBZG1pbmlzdHJhdG9yLCBhbmQgc3RhcnQgdGhlIGluc3RhbGxhdGlvbiBhZ2Fpbi4KLSAgRmxhZ3M9MDAwMDEwMDAKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1CRUdJTiBXSVpBUkQgU1RVRkYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9Tm90ZSBmcm9tIFRpbTogdGhlICJzdG9wIiBvbiB0aGUgbmV4dCBsaW5lIGlzIGFjdHVhbGx5ICJwYXVzZSIuCi1lbmQKLWl0ZW06IE9wZW4vQ2xvc2UgSU5TVEFMTC5MT0cKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9SWYgdGhlIGRlc3RpbmF0aW9uIHN5c3RlbSBkb2VzIG5vdCBoYXZlIGEgd3JpdGFibGUgV2luZG93c1xTeXN0ZW0gZGlyZWN0b3J5LCBzeXN0ZW0gZmlsZXMgd2lsbCBiZSB3cml0dGVuIHRvIHRoZSBXaW5kb3dzXCBkaXJlY3RvcnkKLWVuZAotaXRlbTogQ2hlY2sgaWYgRmlsZS9EaXIgRXhpc3RzCi0gIFBhdGhuYW1lPSVTWVMlCi0gIEZsYWdzPTEwMDAwMTAwCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1TWVMKLSAgVmFsdWU9JVdJTiUKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IENoZWNrIENvbmZpZ3VyYXRpb24KLSAgRmxhZ3M9MTAxMTEwMTEKLWVuZAotaXRlbTogR2V0IFJlZ2lzdHJ5IEtleSBWYWx1ZQotICBWYXJpYWJsZT1DT01NT04KLSAgS2V5PVNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uCi0gIERlZmF1bHQ9QzpcUHJvZ3JhbSBGaWxlc1xDb21tb24gRmlsZXMKLSAgVmFsdWUgTmFtZT1Db21tb25GaWxlc0RpcgotICBGbGFncz0wMDAwMDEwMAotZW5kCi1pdGVtOiBHZXQgUmVnaXN0cnkgS2V5IFZhbHVlCi0gIFZhcmlhYmxlPVBST0dSQU1fRklMRVMKLSAgS2V5PVNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uCi0gIERlZmF1bHQ9QzpcUHJvZ3JhbSBGaWxlcwotICBWYWx1ZSBOYW1lPVByb2dyYW1GaWxlc0RpcgotICBGbGFncz0wMDAwMDEwMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9RVhQTE9SRVIKLSAgVmFsdWU9MQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9Tm90ZSBmcm9tIFRpbTogIFRoZSBXaXphcmQgaGFyZGNvZCAiQzoiIGF0IHRoZSBzdGFydCBvZiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBmb3IgTUFJTkRJUi4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VGhhdCdzIG5vdCBhcHByb3ByaWF0ZSBpZiB0aGUgc3lzdGVtIGRyaXZlIGRvZXNuJ3QgaGFwcGVuIHRvIGJlIEM6LgotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1JIHJlbW92ZWQgdGhlICJDOiIsIGFuZCB0aGF0IGRpZCB0aGUgcmlnaHQgdGhpbmcgZm9yIHR3byBwZW9wbGUgd2hvIHRlc3RlZCBpdCBvbiBub24tQzogbWFjaGluZXMsCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PWJ1dCBpdCdzIHVuY2xlYXIgd2hldGhlciBpdCB3aWxsIGFsd2F5cyBkbyB0aGUgcmlnaHQgdGhpbmcuCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1NQUlORElSCi0gIFZhbHVlPVwlTUFJTkRJUiUKLSAgRmxhZ3M9MDAwMDExMDAKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9QkFDS1VQIGlzIHRoZSB2YXJpYWJsZSB0aGF0IGhvbGRzIHRoZSBwYXRoIHRoYXQgYWxsIGJhY2t1cCBmaWxlcyB3aWxsIGJlIGNvcGllZCB0byB3aGVuIG92ZXJ3cml0dGVuCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1CQUNLVVAKLSAgVmFsdWU9JU1BSU5ESVIlXEJBQ0tVUAotICBGbGFncz0xMDAwMDAwMAotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1ET0JBQ0tVUCBkZXRlcm1pbmVzIGlmIGEgYmFja3VwIHdpbGwgYmUgcGVyZm9ybWVkLiAgVGhlIHBvc3NpYmxlIHZhbHVlcyBhcmUgQSAoZG8gYmFja3VwKSBvciBCIChkbyBub3QgZG8gYmFja3VwKQotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9RE9CQUNLVVAKLSAgVmFsdWU9QQotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1CUkFORElORyBkZXRlcm1pbmVzIGlmIHRoZSBpbnN0YWxsYXRpb24gd2lsbCBiZSBicmFuZGVkIHdpdGggYSBuYW1lIGFuZCBjb21wYW55LiAgQnkgZGVmYXVsdCwgdGhpcyBpcyB3cml0dGVuIHRvIHRoZSBJTlNUIGRpcmVjdG9yeSAoaW5zdGFsbGF0aW9uIG1lZGlhKS4KLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPUJSQU5ESU5HCi0gIFZhbHVlPTAKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUJSQU5ESU5HCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogUmVhZCBJTkkgVmFsdWUKLSAgVmFyaWFibGU9TkFNRQotICBQYXRobmFtZT0lSU5TVCVcQ1VTVERBVEEuSU5JCi0gIFNlY3Rpb249UmVnaXN0cmF0aW9uCi0gIEl0ZW09TmFtZQotZW5kCi1pdGVtOiBSZWFkIElOSSBWYWx1ZQotICBWYXJpYWJsZT1DT01QQU5ZCi0gIFBhdGhuYW1lPSVJTlNUJVxDVVNUREFUQS5JTkkKLSAgU2VjdGlvbj1SZWdpc3RyYXRpb24KLSAgSXRlbT1Db21wYW55Ci1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1OQU1FCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1ET0JSQU5ECi0gIFZhbHVlPTEKLWVuZAotaXRlbTogR2V0IFN5c3RlbSBJbmZvcm1hdGlvbgotICBWYXJpYWJsZT1OQU1FCi0gIEZsYWdzPTAwMDAwMTEwCi1lbmQKLWl0ZW06IEdldCBTeXN0ZW0gSW5mb3JtYXRpb24KLSAgVmFyaWFibGU9Q09NUEFOWQotICBGbGFncz0wMDAwMDExMQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUVORCBXSVpBUkQgU1RVRkYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVNldCB2cmJscyBmb3IgdGhlICJBZHZhbmNlZCBPcHRpb25zIiBzdWJkaWFsb2cgb2YgQ29tcG9uZW50cy4KLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVNFTEVDVF9BRE1JTgotICBWYWx1ZT1BCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1ET0FETUlOCi0gIFZhbHVlPTAKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVNFTEVDVF9BRE1JTgotICBWYWx1ZT1CCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VEFTS1MgdmFsdWVzOgotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1BOiBSZWdpc3RlciBmaWxlIGV4dGVuc2lvbnMKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9QjogQ3JlYXRlIFN0YXJ0IE1lbnUgc2hvcnRjdXRzCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1UQVNLUwotICBWYWx1ZT1BQgotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9Q09NUE9ORU5UUyB2YWx1ZXM6Ci1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUE6IGludGVycHJldGVyIGFuZCBsaWJyYXJpZXMKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9QjogVGNsL1RrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUM6IGRvY3MKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RDogdG9vbHMKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RTogdGVzdCBzdWl0ZQotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1BQkNERQotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9TWFyY2ggdGhydSB0aGUgdXNlciBHVUkuCi1lbmQKLWl0ZW06IFdpemFyZCBCbG9jawotICBEaXJlY3Rpb24gVmFyaWFibGU9RElSRUNUSU9OCi0gIERpc3BsYXkgVmFyaWFibGU9RElTUExBWQotICBCaXRtYXAgUGF0aG5hbWU9LlxpbnN0YWxsZXIuYm1wCi0gIFggUG9zaXRpb249OQotICBZIFBvc2l0aW9uPTEwCi0gIEZpbGxlciBDb2xvcj0xMTE3Mzc1OQotICBEaWFsb2c9U2VsZWN0IERlc3RpbmF0aW9uIERpcmVjdG9yeQotICBEaWFsb2c9QmFja3VwIFJlcGxhY2VkIEZpbGVzCi0gIERpYWxvZz1TZWxlY3QgQ29tcG9uZW50cwotICBEaWFsb2c9U2VsZWN0IFByb2dyYW0gTWFuYWdlciBHcm91cAotICBWYXJpYWJsZT0KLSAgVmFyaWFibGU9Ci0gIFZhcmlhYmxlPQotICBWYXJpYWJsZT1UQVNLUwotICBWYWx1ZT0KLSAgVmFsdWU9Ci0gIFZhbHVlPQotICBWYWx1ZT1CCi0gIENvbXBhcmU9MAotICBDb21wYXJlPTAKLSAgQ29tcGFyZT0wCi0gIENvbXBhcmU9MwotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9RElTUExBWQotICBWYWx1ZT1TdGFydCBJbnN0YWxsYXRpb24KLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVNVTU1BUlkKLSAgVmFsdWU9SW5zdGFsbCBkaXJlY3Rvcnk6ICAlTUFJTkRJUiUlQ1JMRiUKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1TRUxFQ1RfQURNSU4KLSAgVmFsdWU9QQotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0lQ1JMRiVEb2luZyBhZG1pbiBpbnN0YWxsLiVDUkxGJQotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbHNlIFN0YXRlbWVudAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0lQ1JMRiVEb2luZyBub24tYWRtaW4gaW5zdGFsbC4lQ1JMRiUKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9RE9CQUNLVVAKLSAgVmFsdWU9QQotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0lQ1JMRiVNYWtlIGJhY2t1cHMsIGludG8gJUJBQ0tVUCUlQ1JMRiUKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVNVTU1BUlkKLSAgVmFsdWU9JUNSTEYlRG9uJ3QgbWFrZSBiYWNrdXBzLiVDUkxGJQotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1TVU1NQVJZCi0gIFZhbHVlPSVDUkxGJUNvbXBvbmVudHM6JUNSTEYlCi0gIEZsYWdzPTAwMDAwMDAxCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1DT01QT05FTlRTCi0gIFZhbHVlPUEKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVNVTU1BUlkKLSAgVmFsdWU9ICAgIFB5dGhvbiBpbnRlcnByZXRlciBhbmQgbGlicmFyaWVzJUNSTEYlCi0gIEZsYWdzPTAwMDAwMDAxCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1CCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1TVU1NQVJZCi0gIFZhbHVlPSAgICBUY2wvVGsgKFRraW50ZXIsIElETEUsIHB5ZG9jKSVDUkxGJQotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUNPTVBPTkVOVFMKLSAgVmFsdWU9QwotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0gICAgUHl0aG9uIGRvY3VtZW50YXRpb24lQ1JMRiUKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1DT01QT05FTlRTCi0gIFZhbHVlPUQKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVNVTU1BUlkKLSAgVmFsdWU9ICAgIFRvb2wgYW5kIHV0aWxpdHkgc2NyaXB0cyVDUkxGJQotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUNPTVBPTkVOVFMKLSAgVmFsdWU9RQotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0gICAgUHl0aG9uIHRlc3Qgc3VpdGUlQ1JMRiUKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9VEFTS1MKLSAgVmFsdWU9QQotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0lQ1JMRiVSZWdpc3RlciBmaWxlIGV4dGVuc2lvbnMuJUNSTEYlCi0gIEZsYWdzPTAwMDAwMDAxCi1lbmQKLWl0ZW06IEVsc2UgU3RhdGVtZW50Ci1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1TVU1NQVJZCi0gIFZhbHVlPSVDUkxGJURvbid0IHJlZ2lzdGVyIGZpbGUgZXh0ZW5zaW9ucy4lQ1JMRiUKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9VEFTS1MKLSAgVmFsdWU9QgotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0lQ1JMRiVTdGFydCBNZW51IGdyb3VwOiAgJUdST1VQJSVDUkxGJQotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbHNlIFN0YXRlbWVudAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9U1VNTUFSWQotICBWYWx1ZT0lQ1JMRiVObyBTdGFydCBNZW51IHNob3J0Y3V0cy4lQ1JMRiUKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogQ3VzdG9tIERpYWxvZyBTZXQKLSAgTmFtZT1TZWxlY3QgRGVzdGluYXRpb24gRGlyZWN0b3J5Ci0gIERpc3BsYXkgVmFyaWFibGU9RElTUExBWQotICBpdGVtOiBEaWFsb2cKLSAgICBUaXRsZT0lQVBQVElUTEUlIEluc3RhbGxhdGlvbgotICAgIFRpdGxlIEZyZW5jaD1JbnN0YWxsYXRpb24gZGUgJUFQUFRJVExFJQotICAgIFRpdGxlIEdlcm1hbj1JbnN0YWxsYXRpb24gdm9uICVBUFBUSVRMRSUKLSAgICBUaXRsZSBTcGFuaXNoPUluc3RhbGFjafNuIGRlICVBUFBUSVRMRSUKLSAgICBUaXRsZSBJdGFsaWFuPUluc3RhbGxhemlvbmUgZGkgJUFQUFRJVExFJQotICAgIFdpZHRoPTMzOQotICAgIEhlaWdodD0yODAKLSAgICBGb250IE5hbWU9SGVsdgotICAgIEZvbnQgU2l6ZT04Ci0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xODggMjM0IDI0NCAyNTMKLSAgICAgIFZhcmlhYmxlPURJUkVDVElPTgotICAgICAgVmFsdWU9TgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PSZOZXh0ID4KLSAgICAgIFRleHQgRnJlbmNoPSZTdWl0ZSA+Ci0gICAgICBUZXh0IEdlcm1hbj0mV2VpdGVyID4KLSAgICAgIFRleHQgU3BhbmlzaD0mU2lndWllbnRlID4KLSAgICAgIFRleHQgSXRhbGlhbj0mQXZhbnRpID4KLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTI2NCAyMzQgMzIwIDI1MwotICAgICAgQWN0aW9uPTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD0mQ2FuY2VsCi0gICAgICBUZXh0IEZyZW5jaD0mQW5udWxlcgotICAgICAgVGV4dCBHZXJtYW49JkFiYnJlY2hlbgotICAgICAgVGV4dCBTcGFuaXNoPSZDYW5jZWxhcgotICAgICAgVGV4dCBJdGFsaWFuPSZBbm51bGxhCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBSZWN0YW5nbGU9MTAgMjI1IDMyMCAyMjYKLSAgICAgIEFjdGlvbj0zCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTEKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMDggMTEgMzIzIDMzCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIEZsYWdzPTAwMDAwMDAwMDAwMDAwMDEKLSAgICAgIE5hbWU9VGltZXMgTmV3IFJvbWFuCi0gICAgICBGb250IFN0eWxlPS0yNCAwIDAgMCA3MDAgMjU1IDAgMCAwIDMgMiAxIDE4Ci0gICAgICBUZXh0PVNlbGVjdCBEZXN0aW5hdGlvbiBEaXJlY3RvcnkKLSAgICAgIFRleHQgRnJlbmNoPVPpbGVjdGlvbm5lciBsZSBy6XBlcnRvaXJlIGRlIGRlc3RpbmF0aW9uCi0gICAgICBUZXh0IEdlcm1hbj1aaWVsdmVyemVpY2huaXMgd+RobGVuCi0gICAgICBUZXh0IFNwYW5pc2g9U2VsZWNjaW9uZSBlbCBkaXJlY3RvcmlvIGRlIGRlc3Rpbm8KLSAgICAgIFRleHQgSXRhbGlhbj1TZWxlemlvbmFyZSBEaXJlY3RvcnkgZGkgZGVzdGluYXppb25lCi0gICAgZW5kCi0gICAgaXRlbTogTGlzdGJveAotICAgICAgUmVjdGFuZ2xlPTEwOCA1OCAzMjEgMjE5Ci0gICAgICBWYXJpYWJsZT1NQUlORElSCi0gICAgICBFbmFibGVkIENvbG9yPTAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAxMDAwMDAwMTAwMDAwMDAxMDEwMDAwMDEKLSAgICAgIEZsYWdzPTAwMDAxMTAwMDAwMDEwMTAKLSAgICAgIFRleHQ9JU1BSU5ESVIlCi0gICAgICBUZXh0PQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwOCA0MCAzMTMgNTgKLSAgICAgIEVuYWJsZWQgQ29sb3I9MDAwMDAwMDAwMDAwMDAwMDExMTExMTExMTExMTExMTEKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD1QbGVhc2Ugc2VsZWN0IGEgZGlyZWN0b3J5IGZvciB0aGUgJUFQUFRJVExFJSBmaWxlcy4KLSAgICBlbmQKLSAgZW5kCi0gIGl0ZW06IERpYWxvZwotICAgIFRpdGxlPVNlbGVjdCBEZXN0aW5hdGlvbiBEaXJlY3RvcnkKLSAgICBUaXRsZSBGcmVuY2g9U+lsZWN0aW9ubmVyIGxlIHLpcGVydG9pcmUgZGUgZGVzdGluYXRpb24KLSAgICBUaXRsZSBHZXJtYW49WmllbHZlcnplaWNobmlzIHfkaGxlbgotICAgIFRpdGxlIFNwYW5pc2g9U2VsZWNjaW9uZSBlbCBkaXJlY3RvcmlvIGRlIGRlc3Rpbm8KLSAgICBUaXRsZSBJdGFsaWFuPVNlbGV6aW9uYXJlIERpcmVjdG9yeSBkaSBkZXN0aW5hemlvbmUKLSAgICBXaWR0aD0yNzYKLSAgICBIZWlnaHQ9MjE2Ci0gICAgRm9udCBOYW1lPUhlbHYKLSAgICBGb250IFNpemU9OAotICAgIGl0ZW06IExpc3Rib3gKLSAgICAgIFJlY3RhbmdsZT02IDYgMjA0IDE4NgotICAgICAgVmFyaWFibGU9TUFJTkRJUgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMTAwMDAwMDEwMDAwMDAwMTAxMDAwMDAwCi0gICAgICBGbGFncz0wMDAwMTEwMDAwMTAwMDEwCi0gICAgICBUZXh0PSVNQUlORElSJQotICAgICAgVGV4dCBGcmVuY2g9JU1BSU5ESVIlCi0gICAgICBUZXh0IEdlcm1hbj0lTUFJTkRJUiUKLSAgICAgIFRleHQgU3BhbmlzaD0lTUFJTkRJUiUKLSAgICAgIFRleHQgSXRhbGlhbj0lTUFJTkRJUiUKLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTIwOSA4IDI2NSAyNgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PU9LCi0gICAgICBUZXh0IEZyZW5jaD1PSwotICAgICAgVGV4dCBHZXJtYW49T0sKLSAgICAgIFRleHQgU3BhbmlzaD1BY2VwdGFyCi0gICAgICBUZXh0IEl0YWxpYW49T0sKLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTIwOSAzMSAyNjUgNTAKLSAgICAgIFZhcmlhYmxlPU1BSU5ESVIKLSAgICAgIFZhbHVlPSVNQUlORElSX1NBVkUlCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIEZsYWdzPTAwMDAwMDAwMDAwMDAwMDEKLSAgICAgIFRleHQ9Q2FuY2VsCi0gICAgICBUZXh0IEZyZW5jaD1Bbm51bGVyCi0gICAgICBUZXh0IEdlcm1hbj1BYmJyZWNoZW4KLSAgICAgIFRleHQgU3BhbmlzaD1DYW5jZWxhcgotICAgICAgVGV4dCBJdGFsaWFuPUFubnVsbGEKLSAgICBlbmQKLSAgZW5kCi1lbmQKLWl0ZW06IEN1c3RvbSBEaWFsb2cgU2V0Ci0gIE5hbWU9QmFja3VwIFJlcGxhY2VkIEZpbGVzCi0gIERpc3BsYXkgVmFyaWFibGU9RElTUExBWQotICBpdGVtOiBEaWFsb2cKLSAgICBUaXRsZT0lQVBQVElUTEUlIEluc3RhbGxhdGlvbgotICAgIFRpdGxlIEZyZW5jaD1GaWNoaWVycyBkZSBTYXV2ZWdhcmRlIFJlbXBsYWPpcwotICAgIFRpdGxlIEdlcm1hbj1TaWNoZXJ1bmdza29waWUgdm9uIGVyc2V0enRlbiBEYXRlaWVuIGVyc3RlbGxlbgotICAgIFRpdGxlIFBvcnR1Z3Vlc2U9RmljaGVpcm9zIHN1YnN0aXR17WRvcyBkZSBzZWd1cmFu52EKLSAgICBUaXRsZSBTcGFuaXNoPUNvcGlhcyBkZSBzZWd1cmlkYWQgZGUgbG9zIGFyY2hpdm9zIHJlZW1wbGF6YWRvcwotICAgIFRpdGxlIEl0YWxpYW49QmFja3VwIGZpbGUgc29zdGl0dWl0aQotICAgIFRpdGxlIERhbmlzaD1TaWtrZXJoZWRza29waWVyaW5nIGFmIGVyc3RhdHRlZGUgZmlsZXIKLSAgICBUaXRsZSBEdXRjaD1WZXJ2YW5nZW4gYmVzdGFuZGVuIGtvcGnrcmVuCi0gICAgVGl0bGUgTm9yd2VnaWFuPVNpa2tlcmhldHNrb3BpZXJlIGVyc3RhdHRlZGUgZmlsZXIKLSAgICBUaXRsZSBTd2VkaXNoPVPka2VyaGV0c2tvcGllcmEgdXRieXR0YSBmaWxlcgotICAgIFdpZHRoPTM1MAotICAgIEhlaWdodD0yODAKLSAgICBGb250IE5hbWU9SGVsdgotICAgIEZvbnQgU2l6ZT04Ci0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xODggMjM0IDI0NCAyNTEKLSAgICAgIFZhcmlhYmxlPURJUkVDVElPTgotICAgICAgVmFsdWU9TgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PSZOZXh0ID4KLSAgICAgIFRleHQgRnJlbmNoPSZTdWl2YW50PgotICAgICAgVGV4dCBHZXJtYW49JldlaXRlcj4KLSAgICAgIFRleHQgUG9ydHVndWVzZT0mUHLzeGltbz4KLSAgICAgIFRleHQgU3BhbmlzaD0mU2lndWllbnRlID4KLSAgICAgIFRleHQgSXRhbGlhbj0mQXZhbnRpID4KLSAgICAgIFRleHQgRGFuaXNoPSZO5nN0ZT4KLSAgICAgIFRleHQgRHV0Y2g9JlZvbGdlbmRlPgotICAgICAgVGV4dCBOb3J3ZWdpYW49Jk5lc3RlPgotICAgICAgVGV4dCBTd2VkaXNoPSZO5HN0YSA+Ci0gICAgZW5kCi0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xMzEgMjM0IDE4OCAyNTEKLSAgICAgIFZhcmlhYmxlPURJUkVDVElPTgotICAgICAgVmFsdWU9QgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBUZXh0PTwgJkJhY2sKLSAgICAgIFRleHQgRnJlbmNoPTwmUmV0b3VyCi0gICAgICBUZXh0IEdlcm1hbj08Jlp1cvxjawotICAgICAgVGV4dCBQb3J0dWd1ZXNlPTwmUmV0b3JuYXIKLSAgICAgIFRleHQgU3BhbmlzaD08JlJldHJvY2VkZXIKLSAgICAgIFRleHQgSXRhbGlhbj08ICZJbmRpZXRybwotICAgICAgVGV4dCBEYW5pc2g9PCZUaWxiYWdlCi0gICAgICBUZXh0IER1dGNoPTwmVGVydWcKLSAgICAgIFRleHQgTm9yd2VnaWFuPTwmVGlsYmFrZQotICAgICAgVGV4dCBTd2VkaXNoPTwgJlRpbGxiYWthCi0gICAgZW5kCi0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0yNzggMjM0IDMzMCAyNTEKLSAgICAgIEFjdGlvbj0zCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9Q2FuY2VsCi0gICAgICBUZXh0IEZyZW5jaD1Bbm51bGVyCi0gICAgICBUZXh0IEdlcm1hbj1BYmJyZWNoZW4KLSAgICAgIFRleHQgUG9ydHVndWVzZT1DYW5jZWxhcgotICAgICAgVGV4dCBTcGFuaXNoPUNhbmNlbGFyCi0gICAgICBUZXh0IEl0YWxpYW49QW5udWxsYQotICAgICAgVGV4dCBEYW5pc2g9QW5udWxsZXIKLSAgICAgIFRleHQgRHV0Y2g9QW5udWxlcmVuCi0gICAgICBUZXh0IE5vcndlZ2lhbj1BdmJyeXQKLSAgICAgIFRleHQgU3dlZGlzaD1BdmJyeXQKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMSAyMjEgMzI5IDIyMwotICAgICAgQWN0aW9uPTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwOCA0NiAzMjAgOTgKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD1UaGlzIGluc3RhbGxhdGlvbiBwcm9ncmFtIGNhbiBjcmVhdGUgYmFja3VwIGNvcGllcyBvZiBhbGwgZmlsZXMgcmVwbGFjZWQgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24uIFRoZXNlIGZpbGVzIHdpbGwgYmUgdXNlZCB3aGVuIHRoZSBzb2Z0d2FyZSBpcyB1bmluc3RhbGxlZCBhbmQgYSByb2xsYmFjayBpcyByZXF1ZXN0ZWQuICBJZiBiYWNrdXAgY29waWVzIGFyZSBub3QgY3JlYXRlZCwgeW91IHdpbGwgb25seSBiZSBhYmxlIHRvIHVuaW5zdGFsbCB0aGUgc29mdHdhcmUgYW5kIG5vdCByb2xsIHRoZSBzeXN0ZW0gYmFjayB0byBhIHByZXZpb3VzIHN0YXRlLgotICAgICAgVGV4dD0KLSAgICAgIFRleHQ9RG8geW91IHdhbnQgdG8gY3JlYXRlIGJhY2t1cHMgb2YgcmVwbGFjZWQgZmlsZXM/Ci0gICAgICBUZXh0IEZyZW5jaD1MZSBwcm9ncmFtbWUgZCdpbnN0YWxsYXRpb24gcGV1dCBjcullciBkZXMgY29waWVzIGRlIHNhdXZlZ2FyZGUgZGUgdG91cyBsZXMgZmljaGllcnMgcmVtcGxhY+lzIHBlbmRhbnQgbCdpbnN0YWxsYXRpb24uIENlcyBmaWNoaWVycyBzb250IHV0aWxpc+lzIGF1IGNhcyBv+SBsZSBsb2dpY2llbCBlc3QgZOlzaW5zdGFsbOkgZXQgcXVlIGwnb24gcHJvY+hkZSDgIGxhIHJlcHJpc2UgZHUgc3lzdOhtZS4gU2kgbGVzIGNvcGllcyBkZSBzYXV2ZWdhcmRlIG5lIHNvbnQgcGFzIGNy6ellcywgb24gbmUgcG91cnJhIHF1ZSBk6XNpbnN0YWxsZXIgbGUgbG9naWNpZWwgc2FucyByZXByZW5kcmUgbGUgc3lzdOhtZSDgIHVuIOl0YXQgcHLpY+lkZW50LiBWb3VsZXotdm91cyBjcullciB1bmUgc2F1dmVnYXJkZSBkZXMgZmljaGllcnMgcmVtcGxhY+lzID8KLSAgICAgIFRleHQgR2VybWFuPURpZXNlcyBJbnN0YWxsYXRpb25zcHJvZ3JhbW0ga2FubiBTaWNoZXJ1bmdza29waWVuIHZvbiBhbGxlbiB35GhyZW5kIGRlciBJbnN0YWxsYXRpb24gZXJzZXR6dGVuIERhdGVpZW4gZXJzdGVsbGVuLiBEaWVzZSBEYXRlaWVuIHdlcmRlbiB6dXIgUvxja2fkbmdpZ21hY2h1bmcgZGVyIEluc3RhbGxhdGlvbiB1bmQgYmVpIEFuZm9yZGVydW5nIGVpbmVzIFJvbGxiYWNrcyB2ZXJ3ZW5kZXQuIE9obmUgU2ljaGVydW5nc2tvcGllbiBpc3QgbnVyIGVpbmUgUvxja2fkbmdpZ21hY2h1bmcgZGVyIEluc3RhbGxhdGlvbiBt9mdsaWNoLCBuaWNodCBhYmVyIGVpbiBSb2xsYmFjayBkZXMgU3lzdGVtcy4gU2ljaGVydW5nc2tvcGllbiBkZXIgZXJzZXR6dGVuIERhdGVpZW4gZXJzdGVsbGVuPwotICAgICAgVGV4dCBQb3J0dWd1ZXNlPUVzdGUgcHJvZ3JhbWEgZGUgaW5zdGFsYefjbyBwb2RlIGNyaWFyIGPzcGlhcyBkZSBzZWd1cmFu52EgZGUgdG9kb3Mgb3MgZmljaGVpcm9zIHN1YnN0aXR17WRvcyBkdXJhbnRlIGEgaW5zdGFsYefjby4gRXN0ZXMgZmljaGVpcm9zIHNlcuNvIHV0aWxpemFkb3MgcXVhbmRvIG8gcHJvZ3JhbWEgZm9yIGRlc2luc3RhbGFkbyAgZSBmb3IgcmVxdWlzaXRhZGEgdW1hIHJldG9tYWRhLiBTZSBhcyBj83BpYXMgZGUgc2VndXJhbudhIG7jbyBmb3JlbSBjcmlhZGFzLCBz8yBwb2RlcuEgZGVzaW5zdGFsYXIgbyBwcm9ncmFtYSBlIG7jbyBwb2RlIHJldG9tYXIgIHVtIGVzdGFkbyBhbnRlcmlvciBkbyBzaXN0ZW1hLiBEZXNlamEgY3JpYXIgY/NwaWFzIGRlIHNlZ3VyYW7nYSBkb3MgZmljaGVpcm9zIHN1YnN0aXR17WRvcz8KLSAgICAgIFRleHQgU3BhbmlzaD1Fc3RlIHByb2dyYW1hIGRlIGluc3RhbGFjafNuIHB1ZWRlIGNyZWFyIGNvcGlhcyBkZSBzZWd1cmlkYWQgZGUgdG9kb3MgbG9zIGFyY2hpdm9zIHJlZW1wbGF6YWRvcyBkdXJhbnRlIGxhIGluc3RhbGFjafNuLiBFc3RvcyBhcmNoaXZvcyBzZSB1dGlsaXphcuFuIGN1YW5kbyBzZSBkZXNpbnN0YWxlIGVsIHNvZnR3YXJlIHkgc2Ugc29saWNpdGUgdm9sdmVyIGFsIGVzdGFkbyBhbnRlcmlvci4gU2kgbm8gc2UgY3JlYW4gY29waWFzIGRlIHNlZ3VyaWRhZCwg+m5pY2FtZW50ZSBwb2Ry4SBkZXNpbnN0YWxhciBlbCBzb2Z0d2FyZSB5IG5vIHBvZHLhIGRldm9sdmVyIGVsIHNpc3RlbWEgYWwgZXN0YWRvIGFudGVyaW9yLiC/RGVzZWEgY3JlYXIgYXJjaGl2b3MgZGUgc2VndXJpZGFkIGRlIGxvcyBhcmNoaXZvcyByZWVtcGxhemFkb3M/Ci0gICAgICBUZXh0IEl0YWxpYW49UXVlc3RvIHByb2dyYW1tYSBkaSBpbnN0YWxsYXppb25lIHB18iBjcmVhcmUgY29waWUgZGkgYmFja3VwIGRpIHR1dHRpIGkgZmlsZSBzb3N0aXR1aXRpIGR1cmFudGUgbJJpbnN0YWxsYXppb25lLiBRdWVzdGkgZmlsZSBzYXJhbm5vIHVzYXRpIHF1YW5kbyBpbCBzb2Z0d2FyZSBzYXLgIGRpc2luc3RhbGxhdG8gZSBzYXLgIHJpY2hpZXN0byB1biByaXRvcm5vIGFsbG8gc3RhdG8gcHJlY2VkZW50ZS4gU2Ugbm9uIGNyZWkgbGUgY29waWUgZGkgYmFja3VwLCBwb3RyYWkgc29sbyBkaXNpbnN0YWxsYXJlIGlsIHNvZnR3YXJlLCBtYSBub24gcG90cmFpIHJpcG9ydGFyZSBpbCBzaXN0ZW1hIGFsbG8gc3RhdG8gcHJlY2VkZW50ZS4gVnVvaSBjcmVhcmUgaSBmaWxlIGRpIGJhY2t1cCBkZWkgZmlsZSBzb3N0aXR1aXRpPwotICAgICAgVGV4dCBEYW5pc2g9RGV0dGUgaW5zdGFsbGF0aW9uc3Byb2dyYW0ga2FuIG9wcmV0dGUgc2lra2VyaGVkc2tvcGllciBhZiBhbGxlIGZpbGVyLCBzb20gZXJzdGF0dGVzIHVuZGVyIGluc3RhbGxhdGlvbmVuLiBEaXNzZSBmaWxlciBiZW55dHRlcywgbuVyIHNvZnR3YXJlbiBmamVybmVzLCBvZyBkZW4gdGlkbGlnZXJlIHN5c3RlbWtvbmZpZ3VyYXRpb24gZ2VuZXRhYmxlcmVzLiBIdmlzIGRlciBpa2tlIG9wcmV0dGVzIHNpa2tlcmhlZHNrb3BpZXIsIGthbiBkdSBrdW4gZmplcm5lIGRlbiBpbnN0YWxsZXJlZGUgc29mdHdhcmUgb2cgaWtrZSBnZW5ldGFibGVyZSBkZW4gdGlkbGlnZXJlIHN5c3RlbWtvbmZpZ3VyYXRpb24uIFZpbCBkdSBvcHJldHRlIHNpa2tlcmhlZHNrb3BpZXIgYWYgZmlsZXIsIHNvbSBlcnN0YXR0ZXM/Ci0gICAgICBUZXh0IER1dGNoPURpdCBpbnN0YWxsYXRpZXByb2dyYW1tYSBrYW4ga29waWXrbiBtYWtlbiB2YW4gYWxsZSBiZXN0YW5kZW4gZGllIHRpamRlbnMgZGUgaW5zdGFsbGF0aWUgd29yZGVuIHZlcnZhbmdlbi4gRGV6ZSB3b3JkZW4gZGFuIGdlYnJ1aWt0IGFscyBkZSBzb2Z0d2FyZS1pbnN0YWxsYXRpZSBvbmdlZGFhbiB3b3JkdCBnZW1hYWt0IGVuIHUgaGV0IHN5c3RlZW0gd2lsdCBsYXRlbiB0ZXJ1Z2tlcmVuIG5hYXIgZGUgb29yc3Byb25rZWxpamtlIHN0YWF0LiBBbHMgZXIgZ2VlbiBiYWNrLXVwIGtvcGll624gd29yZGVuIGdlbWFha3QsIGt1bnQgdSBkZSBzb2Z0d2FyZSBlbmtlbCB2ZXJ3aWpkZXJlbiBtYWFyIGhldCBzeXN0ZWVtIG5pZXQgaW4gZGUgb29yc3Byb25rZWxpamtlIHN0YWF0IHRlcnVnYnJlbmdlbi4gV2lsdCB1IGVlbiBiYWNrLXVwIG1ha2VuIHZhbiBkZSB2ZXJ2YW5nZW4gYmVzdGFuZGVuPwotICAgICAgVGV4dCBOb3J3ZWdpYW49RGV0dGUgaW5zdGFsbGFzam9uc3Byb2dyYW1tZXQga2FuIGxhZ2Ugc2lra2VyaGV0c2tvcGllciBhdiBhbGxlIGZpbGVyIHNvbSBibGlyIGVyc3RhdHRldCB1bmRlciBpbnN0YWxsYXNqb25lbi4gRGlzc2UgZmlsZW5lIHZpbCB0YXMgaSBicnVrIG7lciBwcm9ncmFtdmFyZW4gZXIgYXZpbnN0YWxsZXJ0IG9nIGRldCBlciBiZWhvdiBmb3IgdGlsYmFrZXN0aWxsaW5nLiBIdmlzIGRldCBpa2tlIGVyIGxhZ2V0IHNpa2tlcmhldHNrb3BpZXIsIGthbiBkdSBrdW4gYXZpbnN0YWxsZXJlIHByb2dyYW12YXJlbiBvZyBpa2tlIHN0aWxsZSBzeXN0ZW1ldCB0aWxiYWtlIHRpbCB0aWRsaWdlcmUgc3RhdHVzLiDYbnNrZXIgZHUg5SBsYWdlIHNpa2tlcmhldHNrb3BpZXIgYXYgZGUgZmlsZW5lIHNvbSBibGlyIGVyc3RhdHRldCBu5T8KLSAgICAgIFRleHQgU3dlZGlzaD1JbnN0YWxsYXRpb25zcHJvZ3JhbW1ldCBrYW4gc2thcGEgc+RrZXJoZXRza29waW9yIGF2IGFsbGEgZmlsZXIgc29tIGJ5dHMgdXQgdW5kZXIgaW5zdGFsbGF0aW9uZW4uIERlc3NhIGZpbGVyIGthbiBzZWRhbiBhbnbkbmRhcyBu5HIgcHJvZ3JhbXZhcmFuIGF2aW5zdGFsbGVyYXMgb2NoIGR1IGJlZ+RyIHJvbGxiYWNrLiBPbSBkdSBk5SBpbnRlIGhhciBu5WdyYSBz5GtlcmhldHNrb3Bpb3Iga2FuIGR1IGJhcmEgYXZpbnN0YWxsZXJhIHByb2dyYW12YXJhbiwgaW50ZSDldGVyc2thcGEgc3lzdGVtZXQgaSBkZXNzIHRpZGlnYXJlIHNraWNrLiBWaWxsIGR1IGf2cmEgc+RrZXJoZXRza29waW9yIGF2IGRlIGVyc2F0dGEgZmlsZXJuYT8KLSAgICBlbmQKLSAgICBpdGVtOiBSYWRpbyBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xNDEgMTA2IDI2NSAxMzYKLSAgICAgIFZhcmlhYmxlPURPQkFDS1VQCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDEwMDEKLSAgICAgIFRleHQ9JlllcywgbWFrZSBiYWNrdXBzCi0gICAgICBUZXh0PU4mbywgZG8gbm90IG1ha2UgYmFja3VwcwotICAgICAgVGV4dD0KLSAgICAgIFRleHQgRnJlbmNoPSZPdWkKLSAgICAgIFRleHQgRnJlbmNoPU4mb24KLSAgICAgIFRleHQgRnJlbmNoPQotICAgICAgVGV4dCBHZXJtYW49JkphCi0gICAgICBUZXh0IEdlcm1hbj1OJmVpbgotICAgICAgVGV4dCBHZXJtYW49Ci0gICAgICBUZXh0IFBvcnR1Z3Vlc2U9JlNpbQotICAgICAgVGV4dCBQb3J0dWd1ZXNlPU7jJm8KLSAgICAgIFRleHQgUG9ydHVndWVzZT0KLSAgICAgIFRleHQgU3BhbmlzaD0mU+0KLSAgICAgIFRleHQgU3BhbmlzaD1OJm8KLSAgICAgIFRleHQgU3BhbmlzaD0KLSAgICAgIFRleHQgSXRhbGlhbj0mU+wKLSAgICAgIFRleHQgSXRhbGlhbj1OJm8KLSAgICAgIFRleHQgSXRhbGlhbj0KLSAgICAgIFRleHQgRGFuaXNoPSZKYQotICAgICAgVGV4dCBEYW5pc2g9Jk5lagotICAgICAgVGV4dCBEYW5pc2g9Ci0gICAgICBUZXh0IER1dGNoPSZKYQotICAgICAgVGV4dCBEdXRjaD1OJmVlCi0gICAgICBUZXh0IER1dGNoPQotICAgICAgVGV4dCBOb3J3ZWdpYW49JkphCi0gICAgICBUZXh0IE5vcndlZ2lhbj0mTmVpCi0gICAgICBUZXh0IE5vcndlZ2lhbj0KLSAgICAgIFRleHQgU3dlZGlzaD0mSmEKLSAgICAgIFRleHQgU3dlZGlzaD1OJmVqCi0gICAgICBUZXh0IFN3ZWRpc2g9Ci0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBDb250cm9sIE5hbWU9QkFDSzIKLSAgICAgIFJlY3RhbmdsZT0xMDggMTczIDMyMCAyMDgKLSAgICAgIEFjdGlvbj0xCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTEKLSAgICAgIFRleHQ9QmFja3VwIEZpbGUgRGVzdGluYXRpb24gRGlyZWN0b3J5Ci0gICAgICBUZXh0IEZyZW5jaD1S6XBlcnRvaXJlIGRlIGRlc3RpbmF0aW9uIGRlcyBmaWNoaWVycyBkZSBzYXV2ZWdhcmRlCi0gICAgICBUZXh0IEdlcm1hbj1aaWVsdmVyemVpY2huaXMgZvxyIGRpZSBTaWNoZXJ1bmdzZGF0ZWkKLSAgICAgIFRleHQgUG9ydHVndWVzZT1EaXJlY3TzcmlvIGRlIGRlc3Rpbm8gZGUgZmljaGVpcm8gZGUgc2VndXJhbudhCi0gICAgICBUZXh0IFNwYW5pc2g9RGlyZWN0b3JpbyBkZSBEZXN0aW5vIGRlIGxvcyBBcmNoaXZvcyBkZSBTZWd1cmlkYWQKLSAgICAgIFRleHQgSXRhbGlhbj1EaXJlY3RvcnkgZGkgZGVzdGluYXppb25lIGRlaSBmaWxlIGRpIGJhY2t1cAotICAgICAgVGV4dCBEYW5pc2g9RGVzdGluYXRpb25zYmlibGlvdGVrIHRpbCBzaWtrZXJoZWRza29waWVyCi0gICAgICBUZXh0IER1dGNoPURvZWxkaXJlY3RvcnkgYmFja3VwLWJlc3RhbmQKLSAgICAgIFRleHQgTm9yd2VnaWFuPU3lbGthdGFsb2cgZm9yIHNpa2tlcmhldHNrb3BpZXIKLSAgICAgIFRleHQgU3dlZGlzaD1LYXRhbG9nIGb2ciBz5GtlcmhldHNrb3BpZXJhZGUgZmlsZXIKLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgQ29udHJvbCBOYW1lPUJBQ0szCi0gICAgICBSZWN0YW5nbGU9MjY1IDE4NSAzMTggMjAzCi0gICAgICBWYXJpYWJsZT1CQUNLVVBfU0FWRQotICAgICAgVmFsdWU9JUJBQ0tVUCUKLSAgICAgIERlc3RpbmF0aW9uIERpYWxvZz0xCi0gICAgICBBY3Rpb249MgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBUZXh0PUImcm93c2UuLi4KLSAgICAgIFRleHQgRnJlbmNoPVAmYXJjb3VyaXIKLSAgICAgIFRleHQgR2VybWFuPUImbOR0dGVybi4uLgotICAgICAgVGV4dCBQb3J0dWd1ZXNlPVAmcm9jdXJhcgotICAgICAgVGV4dCBTcGFuaXNoPVYmaXN1YWxpemFyLi4uCi0gICAgICBUZXh0IEl0YWxpYW49U2ZvZ2xpYS4uLgotICAgICAgVGV4dCBEYW5pc2g9Jkdlbm5lbXNlLi4uCi0gICAgICBUZXh0IER1dGNoPUImbGFkZXJlbi4uLgotICAgICAgVGV4dCBOb3J3ZWdpYW49QmxhIGlnamVubm9tCi0gICAgICBUZXh0IFN3ZWRpc2g9JkJs5GRkcmEKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIENvbnRyb2wgTmFtZT1CQUNLNAotICAgICAgUmVjdGFuZ2xlPTEyOSAxODggMjU0IDIwMAotICAgICAgRGVzdGluYXRpb24gRGlhbG9nPTIKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD0lQkFDS1VQJQotICAgICAgVGV4dCBGcmVuY2g9JUJBQ0tVUCUKLSAgICAgIFRleHQgR2VybWFuPSVCQUNLVVAlCi0gICAgICBUZXh0IFBvcnR1Z3Vlc2U9JUJBQ0tVUCUKLSAgICAgIFRleHQgU3BhbmlzaD0lQkFDS1VQJQotICAgICAgVGV4dCBJdGFsaWFuPSVCQUNLVVAlCi0gICAgICBUZXh0IERhbmlzaD0lQkFDS1VQJQotICAgICAgVGV4dCBEdXRjaD0lQkFDS1VQJQotICAgICAgVGV4dCBOb3J3ZWdpYW49JUJBQ0tVUCUKLSAgICAgIFRleHQgU3dlZGlzaD0lQkFDS1VQJQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwOCAxMSAzMjMgMzYKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAwMQotICAgICAgTmFtZT1UaW1lcyBOZXcgUm9tYW4KLSAgICAgIEZvbnQgU3R5bGU9LTI0IDAgMCAwIDcwMCAyNTUgMCAwIDAgMyAyIDEgMTgKLSAgICAgIFRleHQ9QmFja3VwIFJlcGxhY2VkIEZpbGVzCi0gICAgICBUZXh0IEZyZW5jaD1T6WxlY3Rpb25uZXIgbGVzIGNvbXBvc2FudHMKLSAgICAgIFRleHQgR2VybWFuPUtvbXBvbmVudGVuIGF1c3fkaGxlbgotICAgICAgVGV4dCBTcGFuaXNoPVNlbGVjY2lvbmUgY29tcG9uZW50ZXMKLSAgICAgIFRleHQgSXRhbGlhbj1TZWxlemlvbmFyZSBpIGNvbXBvbmVudGkKLSAgICBlbmQKLSAgICBpdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgICAgIFZhcmlhYmxlPURPQkFDS1VQCi0gICAgICBWYWx1ZT1CCi0gICAgZW5kCi0gICAgaXRlbTogU2V0IENvbnRyb2wgQXR0cmlidXRlCi0gICAgICBDb250cm9sIE5hbWU9QkFDSzMKLSAgICAgIE9wZXJhdGlvbj0xCi0gICAgZW5kCi0gICAgaXRlbTogU2V0IENvbnRyb2wgQXR0cmlidXRlCi0gICAgICBDb250cm9sIE5hbWU9QkFDSzQKLSAgICAgIE9wZXJhdGlvbj0xCi0gICAgZW5kCi0gICAgaXRlbTogRWxzZSBTdGF0ZW1lbnQKLSAgICBlbmQKLSAgICBpdGVtOiBTZXQgQ29udHJvbCBBdHRyaWJ1dGUKLSAgICAgIENvbnRyb2wgTmFtZT1CQUNLMwotICAgIGVuZAotICAgIGl0ZW06IFNldCBDb250cm9sIEF0dHJpYnV0ZQotICAgICAgQ29udHJvbCBOYW1lPUJBQ0s0Ci0gICAgZW5kCi0gICAgaXRlbTogRW5kIEJsb2NrCi0gICAgZW5kCi0gIGVuZAotICBpdGVtOiBEaWFsb2cKLSAgICBUaXRsZT1TZWxlY3QgRGVzdGluYXRpb24gRGlyZWN0b3J5Ci0gICAgVGl0bGUgRnJlbmNoPUNob2lzaXNzZXogbGUgculwZXJ0b2lyZSBkZSBkZXN0aW5hdGlvbgotICAgIFRpdGxlIEdlcm1hbj1aaWVsdmVyemVpY2huaXMgd+RobGVuCi0gICAgVGl0bGUgUG9ydHVndWVzZT1TZWxlY2Npb25hciBEaXJlY3TzcmlvIGRlIERlc3Rpbm8KLSAgICBUaXRsZSBTcGFuaXNoPVNlbGVjY2lvbmUgZWwgRGlyZWN0b3JpbyBkZSBEZXN0aW5vCi0gICAgVGl0bGUgSXRhbGlhbj1TZWxlemlvbmEgRGlyZWN0b3J5IGRpIGRlc3RpbmF6aW9uZQotICAgIFRpdGxlIERhbmlzaD1W5mxnIERlc3RpbmF0aW9uc2JpYmxpb3RlawotICAgIFRpdGxlIER1dGNoPUtpZXMgRG9lbGRpcmVjdG9yeQotICAgIFRpdGxlIE5vcndlZ2lhbj1WZWxnIG3lbGthdGFsb2cKLSAgICBUaXRsZSBTd2VkaXNoPVbkbGogZGVzdGluYXRpb25za2FsYXRvZwotICAgIFdpZHRoPTI3NgotICAgIEhlaWdodD0yMTYKLSAgICBGb250IE5hbWU9SGVsdgotICAgIEZvbnQgU2l6ZT04Ci0gICAgaXRlbTogTGlzdGJveAotICAgICAgUmVjdGFuZ2xlPTYgMyAyMDAgMTg2Ci0gICAgICBWYXJpYWJsZT1CQUNLVVAKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDEwMDAwMDAxMDAwMDAwMDEwMTAwMDAwMAotICAgICAgRmxhZ3M9MDAwMDExMDAwMDEwMDAxMAotICAgICAgVGV4dD0lQkFDS1VQJQotICAgICAgVGV4dD0KLSAgICAgIFRleHQgRnJlbmNoPSVCQUNLVVAlCi0gICAgICBUZXh0IEZyZW5jaD0KLSAgICAgIFRleHQgR2VybWFuPSVCQUNLVVAlCi0gICAgICBUZXh0IEdlcm1hbj0KLSAgICAgIFRleHQgUG9ydHVndWVzZT0lQkFDS1VQJQotICAgICAgVGV4dCBQb3J0dWd1ZXNlPQotICAgICAgVGV4dCBTcGFuaXNoPSVCQUNLVVAlCi0gICAgICBUZXh0IFNwYW5pc2g9Ci0gICAgICBUZXh0IEl0YWxpYW49JUJBQ0tVUCUKLSAgICAgIFRleHQgSXRhbGlhbj0KLSAgICAgIFRleHQgRGFuaXNoPSVCQUNLVVAlCi0gICAgICBUZXh0IERhbmlzaD0KLSAgICAgIFRleHQgRHV0Y2g9JUJBQ0tVUCUKLSAgICAgIFRleHQgRHV0Y2g9Ci0gICAgICBUZXh0IE5vcndlZ2lhbj0lQkFDS1VQJQotICAgICAgVGV4dCBOb3J3ZWdpYW49Ci0gICAgICBUZXh0IFN3ZWRpc2g9JUJBQ0tVUCUKLSAgICAgIFRleHQgU3dlZGlzaD0KLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTIwOSA4IDI2NSAyNgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PU9LCi0gICAgICBUZXh0IEZyZW5jaD1PSwotICAgICAgVGV4dCBHZXJtYW49T0sKLSAgICAgIFRleHQgUG9ydHVndWVzZT1PSwotICAgICAgVGV4dCBTcGFuaXNoPUFDRVBUQVIKLSAgICAgIFRleHQgSXRhbGlhbj1PSwotICAgICAgVGV4dCBEYW5pc2g9T0sKLSAgICAgIFRleHQgRHV0Y2g9T0sKLSAgICAgIFRleHQgTm9yd2VnaWFuPU9LCi0gICAgICBUZXh0IFN3ZWRpc2g9T0sKLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTIwOSAzMSAyNjUgNTAKLSAgICAgIFZhcmlhYmxlPUJBQ0tVUAotICAgICAgVmFsdWU9JUJBQ0tVUF9TQVZFJQotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBGbGFncz0wMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PUNhbmNlbAotICAgICAgVGV4dCBGcmVuY2g9QW5udWxlcgotICAgICAgVGV4dCBHZXJtYW49QWJicmVjaGVuCi0gICAgICBUZXh0IFBvcnR1Z3Vlc2U9Q2FuY2VsYXIKLSAgICAgIFRleHQgU3BhbmlzaD1DYW5jZWxhcgotICAgICAgVGV4dCBJdGFsaWFuPUFubnVsbGEKLSAgICAgIFRleHQgRGFuaXNoPVNsZXQKLSAgICAgIFRleHQgRHV0Y2g9QW5udWxlcmVuCi0gICAgICBUZXh0IE5vcndlZ2lhbj1BdmJyeXQKLSAgICAgIFRleHQgU3dlZGlzaD1BdmJyeXQKLSAgICBlbmQKLSAgZW5kCi1lbmQKLWl0ZW06IEN1c3RvbSBEaWFsb2cgU2V0Ci0gIE5hbWU9U2VsZWN0IENvbXBvbmVudHMKLSAgRGlzcGxheSBWYXJpYWJsZT1ESVNQTEFZCi0gIGl0ZW06IERpYWxvZwotICAgIFRpdGxlPSVBUFBUSVRMRSUgSW5zdGFsbGF0aW9uCi0gICAgVGl0bGUgRnJlbmNoPUluc3RhbGxhdGlvbiBkZSAlQVBQVElUTEUlCi0gICAgVGl0bGUgR2VybWFuPUluc3RhbGxhdGlvbiB2b24gJUFQUFRJVExFJQotICAgIFRpdGxlIFNwYW5pc2g9SW5zdGFsYWNp824gZGUgJUFQUFRJVExFJQotICAgIFRpdGxlIEl0YWxpYW49SW5zdGFsbGF6aW9uZSBkaSAlQVBQVElUTEUlCi0gICAgV2lkdGg9MzM5Ci0gICAgSGVpZ2h0PTI4MAotICAgIEZvbnQgTmFtZT1IZWx2Ci0gICAgRm9udCBTaXplPTgKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTE4OCAyMzQgMjQ0IDI1MwotICAgICAgVmFyaWFibGU9RElSRUNUSU9OCi0gICAgICBWYWx1ZT1OCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDEKLSAgICAgIFRleHQ9Jk5leHQgPgotICAgICAgVGV4dCBGcmVuY2g9JlN1aXRlID4KLSAgICAgIFRleHQgR2VybWFuPSZXZWl0ZXIgPgotICAgICAgVGV4dCBTcGFuaXNoPSZTaWd1aWVudGUgPgotICAgICAgVGV4dCBJdGFsaWFuPSZBdmFudGkgPgotICAgIGVuZAotICAgIGl0ZW06IFB1c2ggQnV0dG9uCi0gICAgICBSZWN0YW5nbGU9MTMxIDIzNCAxODggMjUzCi0gICAgICBWYXJpYWJsZT1ESVJFQ1RJT04KLSAgICAgIFZhbHVlPUIKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD08ICZCYWNrCi0gICAgICBUZXh0IEZyZW5jaD08ICZSZXRvdXIKLSAgICAgIFRleHQgR2VybWFuPTwgJlp1cvxjawotICAgICAgVGV4dCBTcGFuaXNoPTwgJkF0cuFzCi0gICAgICBUZXh0IEl0YWxpYW49PCAmSW5kaWV0cm8KLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTI2NCAyMzQgMzIwIDI1MwotICAgICAgQWN0aW9uPTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD0mQ2FuY2VsCi0gICAgICBUZXh0IEZyZW5jaD0mQW5udWxlcgotICAgICAgVGV4dCBHZXJtYW49JkFiYnJlY2hlbgotICAgICAgVGV4dCBTcGFuaXNoPSZDYW5jZWxhcgotICAgICAgVGV4dCBJdGFsaWFuPSZBbm51bGxhCi0gICAgZW5kCi0gICAgaXRlbTogQ2hlY2tib3gKLSAgICAgIFJlY3RhbmdsZT0xMDggNjYgMzEzIDE1NgotICAgICAgVmFyaWFibGU9Q09NUE9ORU5UUwotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDExCi0gICAgICBGbGFncz0wMDAwMDAwMDAwMDAwMTEwCi0gICAgICBUZXh0PVB5dGhvbiBpbnRlcnByZXRlciBhbmQgbGlicmFyaWVzCi0gICAgICBUZXh0PVRjbC9UayAoVGtpbnRlciwgSURMRSwgcHlkb2MpCi0gICAgICBUZXh0PVB5dGhvbiBIVE1MIGRvY3MKLSAgICAgIFRleHQ9UHl0aG9uIHV0aWxpdHkgc2NyaXB0cyAoVG9vbHMvKQotICAgICAgVGV4dD1QeXRob24gdGVzdCBzdWl0ZSAoTGliL3Rlc3QvKQotICAgICAgVGV4dD0KLSAgICAgIFRleHQgRnJlbmNoPVB5dGhvbiBpbnRlcnByZXRlciwgbGlicmFyeSBhbmQgSURMRQotICAgICAgVGV4dCBGcmVuY2g9UHl0aG9uIEhUTUwgZG9jcwotICAgICAgVGV4dCBGcmVuY2g9UHl0aG9uIHV0aWxpdHkgc2NyaXB0cyAoVG9vbHMvKQotICAgICAgVGV4dCBGcmVuY2g9UHl0aG9uIHRlc3Qgc3VpdGUgKExpYi90ZXN0LykKLSAgICAgIFRleHQgRnJlbmNoPQotICAgICAgVGV4dCBHZXJtYW49UHl0aG9uIGludGVycHJldGVyLCBsaWJyYXJ5IGFuZCBJRExFCi0gICAgICBUZXh0IEdlcm1hbj1QeXRob24gSFRNTCBkb2NzCi0gICAgICBUZXh0IEdlcm1hbj1QeXRob24gdXRpbGl0eSBzY3JpcHRzIChUb29scy8pCi0gICAgICBUZXh0IEdlcm1hbj1QeXRob24gdGVzdCBzdWl0ZSAoTGliL3Rlc3QvKQotICAgICAgVGV4dCBHZXJtYW49Ci0gICAgICBUZXh0IFNwYW5pc2g9UHl0aG9uIGludGVycHJldGVyLCBsaWJyYXJ5IGFuZCBJRExFCi0gICAgICBUZXh0IFNwYW5pc2g9UHl0aG9uIEhUTUwgZG9jcwotICAgICAgVGV4dCBTcGFuaXNoPVB5dGhvbiB1dGlsaXR5IHNjcmlwdHMgKFRvb2xzLykKLSAgICAgIFRleHQgU3BhbmlzaD1QeXRob24gdGVzdCBzdWl0ZSAoTGliL3Rlc3QvKQotICAgICAgVGV4dCBTcGFuaXNoPQotICAgICAgVGV4dCBJdGFsaWFuPVB5dGhvbiBpbnRlcnByZXRlciwgbGlicmFyeSBhbmQgSURMRQotICAgICAgVGV4dCBJdGFsaWFuPVB5dGhvbiBIVE1MIGRvY3MKLSAgICAgIFRleHQgSXRhbGlhbj1QeXRob24gdXRpbGl0eSBzY3JpcHRzIChUb29scy8pCi0gICAgICBUZXh0IEl0YWxpYW49UHl0aG9uIHRlc3Qgc3VpdGUgKExpYi90ZXN0LykKLSAgICAgIFRleHQgSXRhbGlhbj0KLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMDggNDUgMzIwIDYzCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9Q2hvb3NlIHdoaWNoIGNvbXBvbmVudHMgdG8gaW5zdGFsbCBieSBjaGVja2luZyB0aGUgYm94ZXMgYmVsb3cuCi0gICAgICBUZXh0IEZyZW5jaD1DaG9pc2lzc2V6IGxlcyBjb21wb3NhbnRzIHF1ZSB2b3VzIHZvdWxleiBpbnN0YWxsZXIgZW4gY29jaGFudCBsZXMgY2FzZXMgY2ktZGVzc291cy4KLSAgICAgIFRleHQgR2VybWFuPVfkaGxlbiBTaWUgZGllIHp1IGluc3RhbGxpZXJlbmRlbiBLb21wb25lbnRlbiwgaW5kZW0gU2llIGluIGRpZSBlbnRzcHJlY2hlbmRlbiBL5HN0Y2hlbiBrbGlja2VuLgotICAgICAgVGV4dCBTcGFuaXNoPUVsaWphIGxvcyBjb21wb25lbnRlcyBxdWUgZGVzZWUgaW5zdGFsYXIgbWFyY2FuZG8gbG9zIGN1YWRyb3MgZGUgYWJham8uCi0gICAgICBUZXh0IEl0YWxpYW49U2NlZ2xpZXJlIHF1YWxpIGNvbXBvbmVudGkgaW5zdGFsbGFyZSBzZWxlemlvbmFuZG8gbGUgY2FzZWxsZSBzb3R0b3N0YW50aS4KLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTE4OCAyMDMgMjY5IDIyMAotICAgICAgRGVzdGluYXRpb24gRGlhbG9nPTEKLSAgICAgIEFjdGlvbj0yCi0gICAgICBFbmFibGVkIENvbG9yPTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMTExMTExCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9QWR2YW5jZWQgT3B0aW9ucyAuLi4KLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMCAyMjUgMzIwIDIyNgotICAgICAgQWN0aW9uPTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwOCAxMCAzMjMgNDMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAwMQotICAgICAgTmFtZT1UaW1lcyBOZXcgUm9tYW4KLSAgICAgIEZvbnQgU3R5bGU9LTI0IDAgMCAwIDcwMCAyNTUgMCAwIDAgMyAyIDEgMTgKLSAgICAgIFRleHQ9U2VsZWN0IENvbXBvbmVudHMKLSAgICAgIFRleHQgRnJlbmNoPVPpbGVjdGlvbm5lciBsZXMgY29tcG9zYW50cwotICAgICAgVGV4dCBHZXJtYW49S29tcG9uZW50ZW4gYXVzd+RobGVuCi0gICAgICBUZXh0IFNwYW5pc2g9U2VsZWNjaW9uZSBjb21wb25lbnRlcwotICAgICAgVGV4dCBJdGFsaWFuPVNlbGV6aW9uYXJlIGkgY29tcG9uZW50aQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTI1MSAxODAgMzExIDE5MwotICAgICAgVmFyaWFibGU9Q09NUE9ORU5UUwotICAgICAgVmFsdWU9TUFJTkRJUgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBSZWN0YW5nbGU9MjUxIDE2OCAzMTEgMTc5Ci0gICAgICBWYXJpYWJsZT1DT01QT05FTlRTCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTAKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMjMgMTY4IDIzNCAxODEKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD1EaXNrIFNwYWNlIFJlcXVpcmVkOgotICAgICAgVGV4dCBGcmVuY2g9RXNwYWNlIGRpc3F1ZSByZXF1aXMgOgotICAgICAgVGV4dCBHZXJtYW49Tm90d2VuZGlnZXIgU3BlaWNoZXJwbGF0ejoKLSAgICAgIFRleHQgU3BhbmlzaD1Fc3BhY2lvIHJlcXVlcmlkbyBlbiBlbCBkaXNjbzoKLSAgICAgIFRleHQgSXRhbGlhbj1TcGF6aW8gc3UgZGlzY28gbmVjZXNzYXJpbzoKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMjMgMTgwIDIzNCAxOTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD1EaXNrIFNwYWNlIFJlbWFpbmluZzoKLSAgICAgIFRleHQgRnJlbmNoPUVzcGFjZSBkaXNxdWUgZGlzcG9uaWJsZSA6Ci0gICAgICBUZXh0IEdlcm1hbj1WZXJibGVpYmVuZGVyIFNwZWljaGVycGxhdHo6Ci0gICAgICBUZXh0IFNwYW5pc2g9RXNwYWNpbyBlbiBkaXNjbyBkaXNwb25pYmxlOgotICAgICAgVGV4dCBJdGFsaWFuPVNwYXppbyBzdSBkaXNjbyBkaXNwb25pYmlsZToKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMDggMTU4IDMyMCAxOTYKLSAgICAgIEFjdGlvbj0xCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMTEKLSAgICBlbmQKLSAgICBpdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgICAgIFZhcmlhYmxlPURMR19FVkVOVF9UWVBFCi0gICAgICBWYWx1ZT1WRVJJRlkKLSAgICBlbmQKLSAgICBpdGVtOiBSZW1hcmsKLSAgICAgIFRleHQ9SWYgdGhleSdyZSBpbnN0YWxsaW5nIFRjbC9UaywgVG9vbHMsIG9yIHRoZSB0ZXN0IHN1aXRlLCBkb2Vzbid0IG1ha2UgbXVjaCBzZW5zZSB1bmxlc3MgdGhleSdyZSBpbnN0YWxsaW5nIFB5dGhvbiB0b28uCi0gICAgZW5kCi0gICAgaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gICAgICBWYXJpYWJsZT1DT01QT05FTlRTCi0gICAgICBWYWx1ZT1CREUKLSAgICAgIEZsYWdzPTAwMDAxMDEwCi0gICAgZW5kCi0gICAgaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gICAgICBWYXJpYWJsZT1DT01QT05FTlRTCi0gICAgICBWYWx1ZT1BCi0gICAgICBGbGFncz0wMDAwMDAxMQotICAgIGVuZAotICAgIGl0ZW06IERpc3BsYXkgTWVzc2FnZQotICAgICAgVGl0bGU9QXJlIHlvdSBzdXJlPwotICAgICAgVGV4dD1JbnN0YWxsaW5nIFRjbC9UaywgVG9vbHMgb3IgdGhlIHRlc3Qgc3VpdGUgZG9lc24ndCBtYWtlIG11Y2ggc2Vuc2UgdW5sZXNzIHlvdSBpbnN0YWxsIHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgYW5kIGxpYnJhcmllcyB0b28uCi0gICAgICBUZXh0PQotICAgICAgVGV4dD1DbGljayBZZXMgaWYgdGhhdCdzIHJlYWxseSB3aGF0IHlvdSB3YW50LgotICAgICAgRmxhZ3M9MDAxMDExMDEKLSAgICBlbmQKLSAgICBpdGVtOiBSZW1hcmsKLSAgICAgIFRleHQ9Tm90aGluZyAtLSBqdXN0IHByb2NlZWQgdG8gdGhlIG5leHQgZGlhbG9nLgotICAgIGVuZAotICAgIGl0ZW06IEVsc2UgU3RhdGVtZW50Ci0gICAgZW5kCi0gICAgaXRlbTogUmVtYXJrCi0gICAgICBUZXh0PVJldHVybiB0byB0aGUgZGlhbG9nLgotICAgIGVuZAotICAgIGl0ZW06IFNldCBWYXJpYWJsZQotICAgICAgVmFyaWFibGU9RExHX0VWRU5UX1RZUEUKLSAgICBlbmQKLSAgICBpdGVtOiBFbmQgQmxvY2sKLSAgICBlbmQKLSAgICBpdGVtOiBFbmQgQmxvY2sKLSAgICBlbmQKLSAgICBpdGVtOiBFbmQgQmxvY2sKLSAgICBlbmQKLSAgICBpdGVtOiBFbmQgQmxvY2sKLSAgICBlbmQKLSAgZW5kCi0gIGl0ZW06IERpYWxvZwotICAgIFRpdGxlPUFkdmFuY2VkIE9wdGlvbnMKLSAgICBXaWR0aD0zMzkKLSAgICBIZWlnaHQ9MjEzCi0gICAgRm9udCBOYW1lPUhlbHYKLSAgICBGb250IFNpemU9OAotICAgIGl0ZW06IFJhZGlvIEJ1dHRvbgotICAgICAgQ29udHJvbCBOYW1lPUFETUlOMgotICAgICAgUmVjdGFuZ2xlPTExIDQ2IDkwIDc2Ci0gICAgICBWYXJpYWJsZT1TRUxFQ1RfQURNSU4KLSAgICAgIEVuYWJsZWQgQ29sb3I9MDAwMDAwMDAwMDAwMDAwMDExMTExMTExMTExMTExMTEKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMTAwMQotICAgICAgVGV4dD1BZG1pbiBpbnN0YWxsCi0gICAgICBUZXh0PU5vbi1BZG1pbiBpbnN0YWxsbAotICAgICAgVGV4dD0KLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTE4OCAxNzAgMjQ0IDE4OQotICAgICAgVmFyaWFibGU9RElSRUNUSU9OCi0gICAgICBWYWx1ZT1OCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDEKLSAgICAgIFRleHQ9T0sKLSAgICAgIFRleHQgRnJlbmNoPSZTdWl0ZSA+Ci0gICAgICBUZXh0IEdlcm1hbj0mV2VpdGVyID4KLSAgICAgIFRleHQgU3BhbmlzaD0mU2lndWllbnRlID4KLSAgICAgIFRleHQgSXRhbGlhbj0mQXZhbnRpID4KLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT01IDMgMzI2IDgzCi0gICAgICBBY3Rpb249MQotICAgICAgRW5hYmxlZCBDb2xvcj0wMDAwMDAwMDAwMDAwMDAwMTExMTExMTExMTExMTExMQotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBDb250cm9sIE5hbWU9QURNSU4xCi0gICAgICBSZWN0YW5nbGU9MTEgMTEgMzIxIDQ1Ci0gICAgICBFbmFibGVkIENvbG9yPTAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9QnkgZGVmYXVsdCwgdGhlIGluc3RhbGwgcmVjb3JkcyBzZXR0aW5ncyBpbiB0aGUgcGVyLW1hY2hpbmUgYXJlYSBvZiB0aGUgcmVnaXN0cnkgKEhLTE0pLCBhbmQgaW5zdGFsbHMgdGhlIFB5dGhvbiBhbmQgQyBydW50aW1lIERMTHMgdG8gJVNZUzMyJS4gIENob29zZSAiTm9uLUFkbWluIGluc3RhbGwiIGlmIHlvdSB3b3VsZCBwcmVmZXIgc2V0dGluZ3MgbWFkZSBpbiB0aGUgcGVyLXVzZXIgcmVnaXN0cnkgKEhLQ1UpLCBhbmQgRExMcyBpbnN0YWxsZWQgaW4gJU1BSU5ESVIlLgotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTUgOTAgMzI2IDE1NwotICAgICAgQWN0aW9uPTEKLSAgICAgIEVuYWJsZWQgQ29sb3I9MDAwMDAwMDAwMDAwMDAwMDExMTExMTExMTExMTExMTEKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMQotICAgIGVuZAotICAgIGl0ZW06IENoZWNrYm94Ci0gICAgICBSZWN0YW5nbGU9MTEgMTIxIDI0MyAxNTEKLSAgICAgIFZhcmlhYmxlPVRBU0tTCi0gICAgICBFbmFibGVkIENvbG9yPTAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMTEKLSAgICAgIFRleHQ9UmVnaXN0ZXIgZmlsZSBleHRlbnNpb25zICgucHksIC5weXcsIC5weWMsIC5weW8pCi0gICAgICBUZXh0PUNyZWF0ZSBTdGFydCBNZW51IHNob3J0Y3V0cwotICAgICAgVGV4dD0KLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMSAxMDMgMzIwIDEyMQotICAgICAgRW5hYmxlZCBDb2xvcj0wMDAwMDAwMDAwMDAwMDAwMTExMTExMTExMTExMTExMQotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBUZXh0PUNob29zZSB0YXNrcyB0byBwZXJmb3JtIGJ5IGNoZWNraW5nIHRoZSBib3hlcyBiZWxvdy4KLSAgICBlbmQKLSAgICBpdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgICAgIFZhcmlhYmxlPURMR19FVkVOVF9UWVBFCi0gICAgICBWYWx1ZT1JTklUCi0gICAgZW5kCi0gICAgaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gICAgICBWYXJpYWJsZT1ET0FETUlOCi0gICAgICBWYWx1ZT0xCi0gICAgZW5kCi0gICAgaXRlbTogU2V0IENvbnRyb2wgQXR0cmlidXRlCi0gICAgICBDb250cm9sIE5hbWU9QURNSU4yCi0gICAgZW5kCi0gICAgaXRlbTogRWxzZSBTdGF0ZW1lbnQKLSAgICBlbmQKLSAgICBpdGVtOiBTZXQgQ29udHJvbCBUZXh0Ci0gICAgICBDb250cm9sIE5hbWU9QURNSU4xCi0gICAgICBDb250cm9sIFRleHQ9VGhpcyBzZWN0aW9uIGlzIGF2YWlsYWJsZSBvbmx5IGlmIGxvZ2dlZCBpbiB0byBhbiBhY2NvdW50IHdpdGggQWRtaW5pc3RyYXRvciBwcml2aWxlZ2VzLgotICAgIGVuZAotICAgIGl0ZW06IFNldCBDb250cm9sIEF0dHJpYnV0ZQotICAgICAgQ29udHJvbCBOYW1lPUFETUlOMgotICAgICAgT3BlcmF0aW9uPTEKLSAgICBlbmQKLSAgICBpdGVtOiBFbmQgQmxvY2sKLSAgICBlbmQKLSAgICBpdGVtOiBFbmQgQmxvY2sKLSAgICBlbmQKLSAgZW5kCi1lbmQKLWl0ZW06IEN1c3RvbSBEaWFsb2cgU2V0Ci0gIE5hbWU9U2VsZWN0IFByb2dyYW0gTWFuYWdlciBHcm91cAotICBEaXNwbGF5IFZhcmlhYmxlPURJU1BMQVkKLSAgaXRlbTogRGlhbG9nCi0gICAgVGl0bGU9JUFQUFRJVExFJSBJbnN0YWxsYXRpb24KLSAgICBUaXRsZSBGcmVuY2g9SW5zdGFsbGF0aW9uIGRlICVBUFBUSVRMRSUKLSAgICBUaXRsZSBHZXJtYW49SW5zdGFsbGF0aW9uIHZvbiAlQVBQVElUTEUlCi0gICAgVGl0bGUgU3BhbmlzaD1JbnN0YWxhY2nzbiBkZSAlQVBQVElUTEUlCi0gICAgVGl0bGUgSXRhbGlhbj1JbnN0YWxsYXppb25lIGRpICVBUFBUSVRMRSUKLSAgICBXaWR0aD0zMzkKLSAgICBIZWlnaHQ9MjgwCi0gICAgRm9udCBOYW1lPUhlbHYKLSAgICBGb250IFNpemU9OAotICAgIGl0ZW06IFB1c2ggQnV0dG9uCi0gICAgICBSZWN0YW5nbGU9MTg4IDIzNCAyNDQgMjUzCi0gICAgICBWYXJpYWJsZT1ESVJFQ1RJT04KLSAgICAgIFZhbHVlPU4KLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMQotICAgICAgVGV4dD0mTmV4dCA+Ci0gICAgICBUZXh0IEZyZW5jaD0mU3VpdGUgPgotICAgICAgVGV4dCBHZXJtYW49JldlaXRlciA+Ci0gICAgICBUZXh0IFNwYW5pc2g9JlNpZ3VpZW50ZSA+Ci0gICAgICBUZXh0IEl0YWxpYW49JkF2YW50aSA+Ci0gICAgZW5kCi0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xMzEgMjM0IDE4OCAyNTMKLSAgICAgIFZhcmlhYmxlPURJUkVDVElPTgotICAgICAgVmFsdWU9QgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBGbGFncz0wMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PTwgJkJhY2sKLSAgICAgIFRleHQgRnJlbmNoPTwgJlJldG91cgotICAgICAgVGV4dCBHZXJtYW49PCAmWnVy/GNrCi0gICAgICBUZXh0IFNwYW5pc2g9PCAmQXRy4XMKLSAgICAgIFRleHQgSXRhbGlhbj08ICZJbmRpZXRybwotICAgIGVuZAotICAgIGl0ZW06IFB1c2ggQnV0dG9uCi0gICAgICBSZWN0YW5nbGU9MjY0IDIzNCAzMjAgMjUzCi0gICAgICBBY3Rpb249MwotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBUZXh0PSZDYW5jZWwKLSAgICAgIFRleHQgRnJlbmNoPSZBbm51bGVyCi0gICAgICBUZXh0IEdlcm1hbj0mQWJicmVjaGVuCi0gICAgICBUZXh0IFNwYW5pc2g9JkNhbmNlbGFyCi0gICAgICBUZXh0IEl0YWxpYW49JkFubnVsbGEKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMCAyMjUgMzIwIDIyNgotICAgICAgQWN0aW9uPTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDExMQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwOCAxMCAzMjMgNTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotICAgICAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAwMQotICAgICAgTmFtZT1UaW1lcyBOZXcgUm9tYW4KLSAgICAgIEZvbnQgU3R5bGU9LTI0IDAgMCAwIDcwMCAyNTUgMCAwIDAgMyAyIDEgMTgKLSAgICAgIFRleHQ9U2VsZWN0IFN0YXJ0IE1lbnUgR3JvdXAKLSAgICAgIFRleHQgRnJlbmNoPVPpbGVjdGlvbm5lciBsZSBncm91cGUgZHUgR2VzdGlvbm5haXJlIGRlIHByb2dyYW1tZQotICAgICAgVGV4dCBHZXJtYW49QmVzdGltbXVuZyBkZXIgUHJvZ3JhbW0tTWFuYWdlcmdydXBwZQotICAgICAgVGV4dCBTcGFuaXNoPVNlbGVjY2lvbmUgZ3J1cG8gZGVsIEFkbWluaXN0cmFkb3IgZGUgcHJvZ3JhbWFzCi0gICAgICBUZXh0IEl0YWxpYW49U2VsZXppb25hcmUgaWwgZ3J1cHBvIFByb2dNYW4KLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMDggMzUgMzIwIDY1Ci0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9RW50ZXIgdGhlIG5hbWUgb2YgdGhlIFN0YXJ0IE1lbnUgcHJvZ3JhbSBncm91cCB0byB3aGljaCB0byBhZGQgdGhlICVBUFBUSVRMRSUgaWNvbnM6Ci0gICAgICBUZXh0IEZyZW5jaD1FbnRyZXogbGUgbm9tIGR1IGdyb3VwZSBkdSBHZXN0aW9ubmFpcmUgZGUgcHJvZ3JhbW1lIGRhbnMgbGVxdWVsIHZvdXMgc291aGFpdGV6IGFqb3V0ZXIgbGVzIGlj9G5lcyBkZSAlQVBQVElUTEUlIDoKLSAgICAgIFRleHQgR2VybWFuPUdlYmVuIFNpZSBkZW4gTmFtZW4gZGVyIFByb2dyYW1tZ3J1cHBlIGVpbiwgZGVyIGRhcyBTeW1ib2wgJUFQUFRJVExFJSBoaW56dWdlZvxndCB3ZXJkZW4gc29sbDoKLSAgICAgIFRleHQgU3BhbmlzaD1Fc2NyaWJhIGVsIG5vbWJyZSBkZWwgZ3J1cG8gZGVsIEFkbWluaXN0cmFkb3IgZGUgcHJvZ3JhbWFzIGVuIGVsIHF1ZSBkZXNlYSBhZ3JlZ2FyIGxvcyBpY29ub3MgZGUgJUFQUFRJVExFJToKLSAgICAgIFRleHQgSXRhbGlhbj1JbnNlcmlyZSBpbCBub21lIGRlbCBncnVwcG8gUHJvZ3JhbSBNYW5hZ2VyIHBlciBhZ2dpdW5nZXJlIGxlIGljb25lICVBUFBUSVRMRSUgYToKLSAgICBlbmQKLSAgICBpdGVtOiBDb21ib2JveAotICAgICAgUmVjdGFuZ2xlPTEwOCA1NiAzMjAgMjE5Ci0gICAgICBWYXJpYWJsZT1HUk9VUAotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAxMDAwMDEwMDAwMDAxMTAwMDAwMDAxCi0gICAgICBGbGFncz0wMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PSVHUk9VUCUKLSAgICAgIFRleHQ9Ci0gICAgICBUZXh0IEZyZW5jaD0lR1JPVVAlCi0gICAgICBUZXh0IEdlcm1hbj0lR1JPVVAlCi0gICAgICBUZXh0IFNwYW5pc2g9JUdST1VQJQotICAgICAgVGV4dCBJdGFsaWFuPSVHUk9VUCUKLSAgICBlbmQKLSAgZW5kCi1lbmQKLWl0ZW06IEN1c3RvbSBEaWFsb2cgU2V0Ci0gIE5hbWU9U3RhcnQgSW5zdGFsbGF0aW9uCi0gIERpc3BsYXkgVmFyaWFibGU9RElTUExBWQotICBpdGVtOiBEaWFsb2cKLSAgICBUaXRsZT0lQVBQVElUTEUlIEluc3RhbGxhdGlvbgotICAgIFRpdGxlIEZyZW5jaD1JbnN0YWxsYXRpb24gZGUgJUFQUFRJVExFJQotICAgIFRpdGxlIEdlcm1hbj1JbnN0YWxsYXRpb24gdm9uICVBUFBUSVRMRSUKLSAgICBUaXRsZSBTcGFuaXNoPUluc3RhbGFjafNuIGRlICVBUFBUSVRMRSUKLSAgICBUaXRsZSBJdGFsaWFuPUluc3RhbGxhemlvbmUgZGkgJUFQUFRJVExFJQotICAgIFdpZHRoPTMzOQotICAgIEhlaWdodD0yODAKLSAgICBGb250IE5hbWU9SGVsdgotICAgIEZvbnQgU2l6ZT04Ci0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xODggMjM0IDI0NCAyNTMKLSAgICAgIFZhcmlhYmxlPURJUkVDVElPTgotICAgICAgVmFsdWU9TgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PSZOZXh0ID4KLSAgICAgIFRleHQgRnJlbmNoPSZTdWl0ZSA+Ci0gICAgICBUZXh0IEdlcm1hbj0mV2VpdGVyID4KLSAgICAgIFRleHQgU3BhbmlzaD0mU2lndWllbnRlID4KLSAgICAgIFRleHQgSXRhbGlhbj0mQXZhbnRpID4KLSAgICBlbmQKLSAgICBpdGVtOiBQdXNoIEJ1dHRvbgotICAgICAgUmVjdGFuZ2xlPTEzMSAyMzQgMTg4IDI1MwotICAgICAgVmFyaWFibGU9RElSRUNUSU9OCi0gICAgICBWYWx1ZT1CCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9PCAmQmFjawotICAgICAgVGV4dCBGcmVuY2g9PCAmUmV0b3VyCi0gICAgICBUZXh0IEdlcm1hbj08ICZadXL8Y2sKLSAgICAgIFRleHQgU3BhbmlzaD08ICZBdHLhcwotICAgICAgVGV4dCBJdGFsaWFuPTwgJkluZGlldHJvCi0gICAgZW5kCi0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0yNjQgMjM0IDMyMCAyNTMKLSAgICAgIEFjdGlvbj0zCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9JkNhbmNlbAotICAgICAgVGV4dCBGcmVuY2g9JkFubnVsZXIKLSAgICAgIFRleHQgR2VybWFuPSZBYmJyZWNoZW4KLSAgICAgIFRleHQgU3BhbmlzaD0mQ2FuY2VsYXIKLSAgICAgIFRleHQgSXRhbGlhbj0mQW5udWxsYQotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwIDIyNSAzMjAgMjI2Ci0gICAgICBBY3Rpb249MwotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBSZWN0YW5nbGU9MTA4IDEwIDMyMyA1MwotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBGbGFncz0wMDAwMDAwMDAwMDAwMDAxCi0gICAgICBOYW1lPVRpbWVzIE5ldyBSb21hbgotICAgICAgRm9udCBTdHlsZT0tMjQgMCAwIDAgNzAwIDI1NSAwIDAgMCAzIDIgMSAxOAotICAgICAgVGV4dD1SZWFkeSB0byBJbnN0YWxsIQotICAgICAgVGV4dCBGcmVuY2g9UHLqdCDgIGluc3RhbGxlciAhCi0gICAgICBUZXh0IEdlcm1hbj1JbnN0YWxsYXRpb25zYmVyZWl0IQotICAgICAgVGV4dCBTcGFuaXNoPaFQcmVwYXJhZG8gcGFyYSBsYSBpbnN0YWxhY2nzbiEKLSAgICAgIFRleHQgSXRhbGlhbj1Qcm9udG8gcGVyIGwnaW5zdGFsbGF6aW9uZSEKLSAgICBlbmQKLSAgICBpdGVtOiBTdGF0aWMKLSAgICAgIFJlY3RhbmdsZT0xMDggNDAgMzIwIDYyCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9Q2xpY2sgdGhlIE5leHQgYnV0dG9uIHRvIGluc3RhbGwgJUFQUFRJVExFJSwgb3IgdGhlIEJhY2sgYnV0dG9uIHRvIGNoYW5nZSBjaG9pY2VzOgotICAgICAgVGV4dCBGcmVuY2g9Vm91cyDqdGVzIG1haW50ZW5hbnQgcHLqdCDgIGluc3RhbGxlciBsZXMgZmljaGllcnMgJUFQUFRJVExFJS4KLSAgICAgIFRleHQgRnJlbmNoPQotICAgICAgVGV4dCBGcmVuY2g9Q2xpcXVleiBzdXIgbGUgYm91dG9uIFN1aXRlIHBvdXIgY29tbWVuY2VyIGwnaW5zdGFsbGF0aW9uIG91IHN1ciBsZSBib3V0b24gUmV0b3VyIHBvdXIgZW50cmVyIGxlcyBpbmZvcm1hdGlvbnMgZCdpbnN0YWxsYXRpb24g4CBub3V2ZWF1LgotICAgICAgVGV4dCBHZXJtYW49U2llIGv2bm5lbiAlQVBQVElUTEUlIG51biBpbnN0YWxsaWVyZW4uCi0gICAgICBUZXh0IEdlcm1hbj0KLSAgICAgIFRleHQgR2VybWFuPUtsaWNrZW4gU2llIGF1ZiAiV2VpdGVyIiwgdW0gbWl0IGRlciBJbnN0YWxsYXRpb24genUgYmVnaW5uZW4uIEtsaWNrZW4gU2llIGF1ZiAiWnVy/GNrIiwgdW0gZGllIEluc3RhbGxhdGlvbnNpbmZvcm1hdGlvbmVuIG5ldSBlaW56dWdlYmVuLgotICAgICAgVGV4dCBTcGFuaXNoPVlhIGVzdOEgbGlzdG8gcGFyYSBpbnN0YWxhciAlQVBQVElUTEUlLgotICAgICAgVGV4dCBTcGFuaXNoPQotICAgICAgVGV4dCBTcGFuaXNoPVByZXNpb25lIGVsIGJvdPNuIFNpZ3VpZW50ZSBwYXJhIGNvbWVuemFyIGxhIGluc3RhbGFjafNuIG8gcHJlc2lvbmUgQXRy4XMgcGFyYSB2b2x2ZXIgYSBpbmdyZXNhciBsYSBpbmZvcm1hY2nzbiBwYXJhIGxhIGluc3RhbGFjafNuLgotICAgICAgVGV4dCBJdGFsaWFuPU9yYSDoIHBvc3NpYmlsZSBpbnN0YWxsYXJlICVBUFBUSVRMRSUuCi0gICAgICBUZXh0IEl0YWxpYW49Ci0gICAgICBUZXh0IEl0YWxpYW49UHJlbWVyZSBpbCBwdWxzYW50ZSBBdmFudGkgcGVyIGF2dmlhcmUgbCdpbnN0YWxsYXppb25lIG8gaWwgcHVsc2FudGUgSW5kaWV0cm8gcGVyIHJlaW5zZXJpcmUgbGUgaW5mb3JtYXppb25pIGRpIGluc3RhbGxhemlvbmUuCi0gICAgZW5kCi0gICAgaXRlbTogRWRpdGJveAotICAgICAgUmVjdGFuZ2xlPTEwOCA2NiAzMjQgMjE5Ci0gICAgICBIZWxwIENvbnRleHQ9MTY3MTE2ODEKLSAgICAgIEVuYWJsZWQgQ29sb3I9MDAwMDAwMDAwMDAwMDAwMDExMTExMTExMTExMTExMTEKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDEwMDAwMDAwMDAwMTEwMDAxMTAwMDEwMAotICAgICAgVGV4dD0lU1VNTUFSWSUKLSAgICBlbmQKLSAgZW5kCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9RElTUExBWQotICBWYWx1ZT1TZWxlY3QgRGVzdGluYXRpb24gRGlyZWN0b3J5Ci1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVVzZXIgbWF5IGhhdmUgY2hhbmdlZCBNQUlORElSLCBzbyByZXNldCBCQUNLVVAgdG8gbWF0Y2guCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1CQUNLVVAKLSAgVmFsdWU9JU1BSU5ESVIlXEJBQ0tVUAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9QkVHSU4gV0laQVJEIFNUVUZGIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVdoZW4gdGhlIEJBQ0tVUCBmZWF0dXJlIGlzIGVuYWJsZWQsIHRoZSBCQUNLVVBESVIgaXMgaW5pdGlhbGl6ZWQKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPURPQkFDS1VQCi0gIFZhbHVlPUEKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPUJBQ0tVUERJUgotICBWYWx1ZT0lQkFDS1VQJQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VGhlIEJSQU5ESU5HIGluZm9ybWF0aW9uIGlzIHdyaXR0ZW4gdG8gdGhlIElOSSBmaWxlIG9uIHRoZSBpbnN0YWxsYXRpb24gbWVkaWEuCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1CUkFORElORwotICBWYWx1ZT0xCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1ET0JSQU5ECi0gIFZhbHVlPTEKLWVuZAotaXRlbTogRWRpdCBJTkkgRmlsZQotICBQYXRobmFtZT0lSU5TVCVcQ1VTVERBVEEuSU5JCi0gIFNldHRpbmdzPVtSZWdpc3RyYXRpb25dCi0gIFNldHRpbmdzPU5BTUU9JU5BTUUlCi0gIFNldHRpbmdzPUNPTVBBTlk9JUNPTVBBTlklCi0gIFNldHRpbmdzPQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUJlZ2luIHdyaXRpbmcgdG8gdGhlIElOU1RBTEwuTE9HCi1lbmQKLWl0ZW06IE9wZW4vQ2xvc2UgSU5TVEFMTC5MT0cKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9Q2hlY2sgZnJlZSBkaXNrIHNwYWNlIGNhbGN1bGF0ZXMgZnJlZSBkaXNrIHNwYWNlIGFzIHdlbGwgYXMgY29tcG9uZW50IHNpemVzLgotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1JdCBzaG91bGQgYmUgbG9jYXRlZCBiZWZvcmUgYWxsIEluc3RhbGwgRmlsZSBhY3Rpb25zLgotZW5kCi1pdGVtOiBDaGVjayBEaXNrIFNwYWNlCi0gIENvbXBvbmVudD1DT01QT05FTlRTCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVRoaXMgaW5jbHVkZSBzY3JpcHQgYWxsb3dzIHVuaW5zdGFsbCBzdXBwb3J0Ci1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PU5vdGUgZnJvbSBUaW06ICB0aGlzIGlzIG91ciBvd24gVW5pbnN0YWwud3NlLCBhIGNvcHkgb2YgV2lzZSdzIGV4Y2VwdAotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1pdCB3cml0ZXMgdG8gSEtDVSAoaW5zdGVhZCBvZiBIS0xNKSBpZiB0aGUgdXNlciBkb2Vzbid0IGhhdmUgYWRtaW4gcHJpdnMuCi1lbmQKLWl0ZW06IEluY2x1ZGUgU2NyaXB0Ci0gIFBhdGhuYW1lPS5cVW5pbnN0YWwud3NlCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PU5vdGUgZnJvbSBUaW06IHRoZXNlIHNlZW1pbmcgbm8tb3BzIGFjdHVhbGx5IGNvbnZlcnQgdG8gc2hvcnQgZmlsZW5hbWVzLgotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9Q09NTU9OCi0gIFZhbHVlPSVDT01NT04lCi0gIEZsYWdzPTAwMDEwMTAwCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1NQUlORElSCi0gIFZhbHVlPSVNQUlORElSJQotICBGbGFncz0wMDAxMDEwMAotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1UaGlzIElGL1RIRU4vRUxTRSByZWFkcyB0aGUgY29ycmVjdCByZWdpc3RyeSBlbnRyaWVzIGZvciBzaG9ydGN1dC9pY29uIHBsYWNlbWVudAotZW5kCi1pdGVtOiBDaGVjayBDb25maWd1cmF0aW9uCi0gIEZsYWdzPTEwMTExMDExCi1lbmQKLWl0ZW06IEdldCBSZWdpc3RyeSBLZXkgVmFsdWUKLSAgVmFyaWFibGU9U1RBUlRVUERJUgotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cRXhwbG9yZXJcU2hlbGwgRm9sZGVycwotICBEZWZhdWx0PSVXSU4lXFN0YXJ0IE1lbnVcUHJvZ3JhbXNcU3RhcnRVcAotICBWYWx1ZSBOYW1lPVN0YXJ0VXAKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogR2V0IFJlZ2lzdHJ5IEtleSBWYWx1ZQotICBWYXJpYWJsZT1ERVNLVE9QRElSCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxFeHBsb3JlclxTaGVsbCBGb2xkZXJzCi0gIERlZmF1bHQ9JVdJTiVcRGVza3RvcAotICBWYWx1ZSBOYW1lPURlc2t0b3AKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogR2V0IFJlZ2lzdHJ5IEtleSBWYWx1ZQotICBWYXJpYWJsZT1TVEFSVE1FTlVESVIKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXEV4cGxvcmVyXFNoZWxsIEZvbGRlcnMKLSAgRGVmYXVsdD0lV0lOJVxTdGFydCBNZW51Ci0gIFZhbHVlIE5hbWU9U3RhcnQgTWVudQotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBHZXQgUmVnaXN0cnkgS2V5IFZhbHVlCi0gIFZhcmlhYmxlPUdST1VQRElSCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxFeHBsb3JlclxTaGVsbCBGb2xkZXJzCi0gIERlZmF1bHQ9JVdJTiVcU3RhcnQgTWVudVxQcm9ncmFtcwotICBWYWx1ZSBOYW1lPVByb2dyYW1zCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IEdldCBSZWdpc3RyeSBLZXkgVmFsdWUKLSAgVmFyaWFibGU9Q1NUQVJUVVBESVIKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXEV4cGxvcmVyXFNoZWxsIEZvbGRlcnMKLSAgRGVmYXVsdD0lU1RBUlRVUERJUiUKLSAgVmFsdWUgTmFtZT1Db21tb24gU3RhcnR1cAotICBGbGFncz0wMDAwMDEwMAotZW5kCi1pdGVtOiBHZXQgUmVnaXN0cnkgS2V5IFZhbHVlCi0gIFZhcmlhYmxlPUNERVNLVE9QRElSCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxFeHBsb3JlclxTaGVsbCBGb2xkZXJzCi0gIERlZmF1bHQ9JURFU0tUT1BESVIlCi0gIFZhbHVlIE5hbWU9Q29tbW9uIERlc2t0b3AKLSAgRmxhZ3M9MDAwMDAxMDAKLWVuZAotaXRlbTogR2V0IFJlZ2lzdHJ5IEtleSBWYWx1ZQotICBWYXJpYWJsZT1DU1RBUlRNRU5VRElSCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxFeHBsb3JlclxTaGVsbCBGb2xkZXJzCi0gIERlZmF1bHQ9JVNUQVJUTUVOVURJUiUKLSAgVmFsdWUgTmFtZT1Db21tb24gU3RhcnQgTWVudQotICBGbGFncz0wMDAwMDEwMAotZW5kCi1pdGVtOiBHZXQgUmVnaXN0cnkgS2V5IFZhbHVlCi0gIFZhcmlhYmxlPUNHUk9VUERJUgotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cRXhwbG9yZXJcU2hlbGwgRm9sZGVycwotICBEZWZhdWx0PSVHUk9VUERJUiUKLSAgVmFsdWUgTmFtZT1Db21tb24gUHJvZ3JhbXMKLSAgRmxhZ3M9MDAwMDAxMDAKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9Tm90ZSBmcm9tIFRpbTogIHRoZSBXaXphcmQgbGVmdCB0aGlzIGJsb2NrIGVtcHR5IQotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1QZXJoYXBzIGl0J3Mgb25seSByZWxldmFudCBvbiBXaW5kb3dzIDMuMS4KLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUVORCBXSVpBUkQgU1RVRkYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1TRUxFQ1RfQURNSU4KLSAgVmFsdWU9QgotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1UaGUgdXNlciBjaG9zZSBhIG5vbi1hZG1pbiBpbnN0YWxsIGluICJBZHZhbmNlZCBPcHRpb25zIi4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VGhpcyBzaG91bGQgY29tZSBhZnRlciB0aGUgaW5jbHVkZSBvZiBVbmluc3RhbC53c2UgYWJvdmUsIGJlY2F1c2UKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9d3JpdGluZyB1bmluc3RhbGwgaW5mbyB0byBIS0NVIGlzIGluZWZmZWN0aXZlIGV4Y2VwdCB1bmRlciBXaW4ySy4KLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPURPQURNSU4KLSAgVmFsdWU9MAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1DR1JPVVBfU0FWRQotICBWYWx1ZT0lR1JPVVAlCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1UQVNLUwotICBWYWx1ZT1CCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1ET0FETUlOCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPUdST1VQCi0gIFZhbHVlPSVDR1JPVVBESVIlXCVHUk9VUCUKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPUdST1VQCi0gIFZhbHVlPSVHUk9VUERJUiVcJUdST1VQJQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1Mb25nIHNlY3Rpb24gdG8gaW5zdGFsbCBmaWxlcy4KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1ET0FETUlOCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPURMTERFU1QKLSAgVmFsdWU9JVNZUzMyJQotZW5kCi1pdGVtOiBFbHNlIFN0YXRlbWVudAotZW5kCi1pdGVtOiBTZXQgVmFyaWFibGUKLSAgVmFyaWFibGU9RExMREVTVAotICBWYWx1ZT0lTUFJTkRJUiUKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1JbnN0YWxsIHRoZSBsaWNlbnNlIGV2ZW4gaWYgdGhleSBkZXNlbGVjdCBldmVyeXRoaW5nIDx3aW5rPi4KLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWNlbnNlCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMSUNFTlNFLnR4dAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5ccmVhZG1lCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxSRUFETUUudHh0Ci0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxtaXNjXG5ld3MKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXE5FV1MudHh0Ci0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9SWNvbnMgLS0gYWx3YXlzIGluc3RhbGwgc28gdGhhdCB0aGUgdW5pbnN0YWxsZXIgY2FuIHVzZSB0aGVtIGZvciBpdHMgb3duIGRpc3BsYXkuCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5ccGNccHljb24uaWNvCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxweWNvbi5pY28KLSAgRmxhZ3M9MDAwMDAwMDAxMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXHBjXHB5Yy5pY28KLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXHB5Yy5pY28KLSAgRmxhZ3M9MDAwMDAwMDAxMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXHBjXHB5LmljbwotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVccHkuaWNvCi0gIEZsYWdzPTAwMDAwMDAwMTAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVRoZXNlIGFycmFuZ2UgdG8gKHJlY3Vyc2l2ZWx5ISkgZGVsZXRlIGFsbCAucHljIGFuZCAucHlvIGZpbGVzIGF0IHVuaW5zdGFsbCB0aW1lLgotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1UaGlzICJkb2VzIHRoZSByaWdodCB0aGluZyI6ICBhbnkgZGlyZWN0b3JpZXMgbGVmdCBlbXB0eSBhdCB0aGUgZW5kIGFyZSByZW1vdmVkLgotZW5kCi1pdGVtOiBBZGQgVGV4dCB0byBJTlNUQUxMLkxPRwotICBUZXh0PUZpbGUgVHJlZTogJU1BSU5ESVIlXCoucHljCi1lbmQKLWl0ZW06IEFkZCBUZXh0IHRvIElOU1RBTEwuTE9HCi0gIFRleHQ9RmlsZSBUcmVlOiAlTUFJTkRJUiVcKi5weW8KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUE6IGludGVycHJldGVyIGFuZCBsaWJyYXJpZXMKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUNPTVBPTkVOVFMKLSAgVmFsdWU9QQotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1FeGVjdXRhYmxlcwotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5ccHl0aG9uLmV4ZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVccHl0aG9uLmV4ZQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxweXRob253LmV4ZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVccHl0aG9udy5leGUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cdzl4cG9wZW4uZXhlCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVx3OXhwb3Blbi5leGUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RXh0ZW5zaW9uIG1vZHVsZSBETExzICgucHlkKTsga2VlcCBpbiBzeW5jaCB3aXRoIGxpYnMgZGlyZWN0b3J5IG5leHQKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHdpbnJlZy5weWQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERMTHNcd2lucmVnLnB5ZAotICBEZXNjcmlwdGlvbj1FeHRlbnNpb24gbW9kdWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxfY3N2LnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xfY3N2LnB5ZAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Llxfc3JlLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xfc3JlLnB5ZAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Llxfc3NsLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xfc3NsLnB5ZAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Llxfc3ltdGFibGUucHlkCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxETExzXF9zeW10YWJsZS5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cX3Rlc3RjYXBpLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xfdGVzdGNhcGkucHlkCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXF90a2ludGVyLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xfdGtpbnRlci5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cX3NvY2tldC5weWQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERMTHNcX3NvY2tldC5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cYnoyLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xiejIucHlkCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXGRhdGV0aW1lLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xkYXRldGltZS5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cbW1hcC5weWQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERMTHNcbW1hcC5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5ccGFyc2VyLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1xwYXJzZXIucHlkCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHB5ZXhwYXQucHlkCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxETExzXHB5ZXhwYXQucHlkCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHNlbGVjdC5weWQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERMTHNcc2VsZWN0LnB5ZAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Llx1bmljb2RlZGF0YS5weWQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERMTHNcdW5pY29kZWRhdGEucHlkCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHdpbnNvdW5kLnB5ZAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcRExMc1x3aW5zb3VuZC5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cemxpYi5weWQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERMTHNcemxpYi5weWQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9TGluayBsaWJyYXJpZXMgKC5saWIpOyBrZWVwIGluIHN5bmNoIHdpdGggRExMcyBhYm92ZSwgZXhjZXB0IHRoYXQgdGhlIFB5dGhvbiBsaWIgbGl2ZXMgaGVyZS4KLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHdpbnJlZy5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcd2lucmVnLmxpYgotICBEZXNjcmlwdGlvbj1MaW5rIGxpYnJhcnkgZmlsZXMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cX2Nzdi5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcX2Nzdi5saWIKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cX3NyZS5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcX3NyZS5saWIKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cX3NzbC5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcX3NzbC5saWIKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cX3N5bXRhYmxlLmxpYgotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcbGlic1xfc3ltdGFibGUubGliCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXF90ZXN0Y2FwaS5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcX3Rlc3RjYXBpLmxpYgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxfdGtpbnRlci5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcX3RraW50ZXIubGliCi0gIERlc2NyaXB0aW9uPUV4dGVuc2lvbiBtb2R1bGVzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXF9zb2NrZXQubGliCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxsaWJzXF9zb2NrZXQubGliCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXGJ6Mi5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcYnoyLmxpYgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxkYXRldGltZS5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcZGF0ZXRpbWUubGliCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXG1tYXAubGliCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxsaWJzXG1tYXAubGliCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHBhcnNlci5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNccGFyc2VyLmxpYgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxweWV4cGF0LmxpYgotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcbGlic1xweWV4cGF0LmxpYgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxzZWxlY3QubGliCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxsaWJzXHNlbGVjdC5saWIKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5cdW5pY29kZWRhdGEubGliCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxsaWJzXHVuaWNvZGVkYXRhLmxpYgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Llx3aW5zb3VuZC5saWIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXGxpYnNcd2luc291bmQubGliCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uXHpsaWIubGliCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxsaWJzXHpsaWIubGliCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9LlxweXRob24lX3B5bWFqb3JfJSVfcHltaW5vcl8lLmxpYgotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcbGlic1xweXRob24lX1BZTUFKT1JfJSVfUFlNSU5PUl8lLmxpYgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1NYWluIFB5dGhvbiBETEwKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VGVsbCBXaXNlIGl0J3MgT0sgdG8gZGVsZXRlIHRoZSBQeXRob24gRExMIGF0IHVuaW5zdGFsbCB0aW1lLAotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1kZXNwaXRlIHRoYXQgd2UgKG1heSkgd3JpdGUgaXQgaW50byBhIHN5c3RlbSBkaXJlY3RvcnkuCi1lbmQKLWl0ZW06IEFkZCBUZXh0IHRvIElOU1RBTEwuTE9HCi0gIFRleHQ9Tm9uLVN5c3RlbSBGaWxlOgotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS5ccHl0aG9uJV9weW1ham9yXyUlX3B5bWlub3JfJS5kbGwKLSAgRGVzdGluYXRpb249JURMTERFU1QlXHB5dGhvbiVfUFlNQUpPUl8lJV9QWU1JTk9SXyUuZGxsCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUxpYnJhcmllcyAoTGliLykKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliCi0gIERlc2NyaXB0aW9uPUxpYnJhcnkgTW9kdWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxjb21waWxlclwqLnB5Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcY29tcGlsZXIKLSAgRGVzY3JpcHRpb249UHl0aG9uIGNvbXBpbGVyIHdyaXR0ZW4gaW4gUHl0aG9uCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXGRpc3R1dGlsc1wqLnB5Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcZGlzdHV0aWxzCi0gIERlc2NyaXB0aW9uPURpc3RyaWJ1dGlvbiB1dGlsaXR5IG1vZHVsZXMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxkaXN0dXRpbHNccmVhZG1lCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcZGlzdHV0aWxzXFJFQURNRS50eHQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFwqLnB5Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcZGlzdHV0aWxzXGNvbW1hbmQKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LmV4ZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QuZXhlCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcY29tbWFuZF90ZW1wbGF0ZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGRpc3R1dGlsc1xjb21tYW5kXGNvbW1hbmRfdGVtcGxhdGUKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcZW1haWxcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGVtYWlsCi0gIERlc2NyaXB0aW9uPUxpYnJhcnkgZW1haWwgcGFja2FnZQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXGVtYWlsXHRlc3RcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGVtYWlsXHRlc3QKLSAgRGVzY3JpcHRpb249ZW1haWwgdGVzdHMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxlbWFpbFx0ZXN0XGRhdGFcKi50eHQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlxlbWFpbFx0ZXN0XGRhdGEKLSAgRGVzY3JpcHRpb249ZW1haWwgdGVzdCBkYXRhCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcZW1haWxcdGVzdFxkYXRhXCouZ2lmCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcZW1haWxcdGVzdFxkYXRhCi0gIERlc2NyaXB0aW9uPWVtYWlsIHRlc3QgZGF0YQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXGVtYWlsXHRlc3RcZGF0YVwqLmF1Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcZW1haWxcdGVzdFxkYXRhCi0gIERlc2NyaXB0aW9uPWVtYWlsIHRlc3QgZGF0YQotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxlbmNvZGluZ3NcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGVuY29kaW5ncwotICBEZXNjcmlwdGlvbj1Vbmljb2RlIGVuY29kaW5nIHRhYmxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlxob3RzaG90XCoucHkKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlxob3RzaG90Ci0gIERlc2NyaXB0aW9uPUZhc3QgUHl0aG9uIHByb2ZpbGVyCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXGxpYi1vbGRcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGxpYi1vbGQKLSAgRGVzY3JpcHRpb249T2Jzb2xldGUgbW9kdWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlx0a2ludGVyXCoucHkKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx0a2ludGVyCi0gIERlc2NyaXB0aW9uPVRraW50ZXIgcmVsYXRlZCBsaWJyYXJ5IG1vZHVsZXMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcbG9nZ2luZ1wqLnB5Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcbG9nZ2luZwotICBEZXNjcmlwdGlvbj1Mb2dnaW5nIHBhY2thZ2UKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcc2l0ZS1wYWNrYWdlc1xyZWFkbWUKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlxzaXRlLXBhY2thZ2VzXFJFQURNRS50eHQKLSAgRGVzY3JpcHRpb249U2l0ZSBwYWNrYWdlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlx4bWxcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXHhtbAotICBEZXNjcmlwdGlvbj1YTUwgc3VwcG9ydCBwYWNrYWdlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXHhtbFxkb21cKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXHhtbFxkb20KLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlx4bWxccGFyc2Vyc1wqLnB5Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJceG1sXHBhcnNlcnMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlx4bWxcc2F4XCoucHkKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx4bWxcc2F4Ci0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUMgSW5jbHVkZSBmaWxlcwotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGluY2x1ZGVcKi5oCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxpbmNsdWRlCi0gIERlc2NyaXB0aW9uPUhlYWRlciBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5ccGNccHljb25maWcuaAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcaW5jbHVkZVxweWNvbmZpZy5oCi0gIERlc2NyaXB0aW9uPUhlYWRlciBmaWxlcyAocHljb25maWcuaCkKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9TWljcm9zb2Z0IEMgcnVudGltZSBsaWJyYXJpZXMKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0lX1NZU18lXE1TVkNJUlQuRExMCi0gIERlc3RpbmF0aW9uPSVETExERVNUJVxNU1ZDSVJULkRMTAotICBEZXNjcmlwdGlvbj1WaXN1YWwgQysrIFJ1bnRpbWUgRExMcwotICBGbGFncz0wMDAwMDExMDAwMDEwMDExCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9JV9TWVNfJVxNU1ZDUlQuRExMCi0gIERlc3RpbmF0aW9uPSVETExERVNUJVxNU1ZDUlQuRExMCi0gIERlc2NyaXB0aW9uPVZpc3VhbCBDKysgUnVudGltZSBETExzCi0gIEZsYWdzPTAwMDAwMTEwMDAwMTAwMTEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1COiBUY2wvVGsgKFRraW50ZXIsIElETEUsIHB5ZG9jKQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1CCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVRjbC9UawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXC4uXCVfdGNsZGlyXyVcYmluXCouZGxsCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxETExzCi0gIERlc2NyaXB0aW9uPVRjbC9UayBiaW5hcmllcyBhbmQgbGlicmFyaWVzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlwuLlwlX3RjbGRpcl8lXGxpYlwqLioKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXHRjbAotICBEZXNjcmlwdGlvbj1UY2wvVGsgYmluYXJpZXMgYW5kIGxpYnJhcmllcwotICBGbGFncz0wMDAwMDAwMTAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1JRExFCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cTGliXGlkbGVsaWJcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGlkbGVsaWIKLSAgRGVzY3JpcHRpb249SW50ZWdyYXRlZCBEZXZlTG9wbWVudCBFbnZpcm9ubWVudCBmb3IgUHl0aG9uCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxMaWJcaWRsZWxpYlwqLnR4dAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGlkbGVsaWIKLSAgRGVzY3JpcHRpb249SW50ZWdyYXRlZCBEZXZlTG9wbWVudCBFbnZpcm9ubWVudCBmb3IgUHl0aG9uCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxMaWJcaWRsZWxpYlwqLmRlZgotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGlkbGVsaWIKLSAgRGVzY3JpcHRpb249SW50ZWdyYXRlZCBEZXZlTG9wbWVudCBFbnZpcm9ubWVudCBmb3IgUHl0aG9uCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxMaWJcaWRsZWxpYlxJY29uc1wqCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcaWRsZWxpYlxJY29ucwotICBEZXNjcmlwdGlvbj1JbnRlZ3JhdGVkIERldmVMb3BtZW50IEVudmlyb25tZW50IGZvciBQeXRob24KLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXFRvb2xzXHNjcmlwdHNcaWRsZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXGlkbGVsaWJcaWRsZS5weXcKLSAgRGVzY3JpcHRpb249SURMRSBib290c3RyYXAgc2NyaXB0Ci0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVdpbmRvd3MgcHlkb2MgZHJpdmVyCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNcc2NyaXB0c1wqLnB5dwotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNcU2NyaXB0cwotICBEZXNjcmlwdGlvbj1XaW5kb3dzIHB5ZG9jIGRyaXZlcgotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9QzogZG9jcwotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1DCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9JV9ET0NfJVwqLioKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXERvYwotICBEZXNjcmlwdGlvbj1QeXRob24gRG9jdW1lbnRhdGlvbiAoSFRNTCkKLSAgRmxhZ3M9MDAwMDAwMDEwMDAwMDAxMAotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUQ6IHRvb2xzCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1DT01QT05FTlRTCi0gIFZhbHVlPUQKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlx0b29sc1xzY3JpcHRzXCoucHkKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXFRvb2xzXFNjcmlwdHMKLSAgRGVzY3JpcHRpb249VXRpbGl0eSBTY3JpcHRzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlx0b29sc1xzY3JpcHRzXCouZG9jCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxUb29sc1xTY3JpcHRzCi0gIERlc2NyaXB0aW9uPVV0aWxpdHkgU2NyaXB0cwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNcc2NyaXB0c1xyZWFkbWUKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXFRvb2xzXFNjcmlwdHNcUkVBRE1FLnR4dAotICBEZXNjcmlwdGlvbj1VdGlsaXR5IFNjcmlwdHMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlx0b29sc1x3ZWJjaGVja2VyXCoucHkKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXFRvb2xzXHdlYmNoZWNrZXIKLSAgRGVzY3JpcHRpb249V2ViIGNoZWNrZXIgdG9vbAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNcd2ViY2hlY2tlclxyZWFkbWUKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXFRvb2xzXHdlYmNoZWNrZXJcUkVBRE1FLnR4dAotICBEZXNjcmlwdGlvbj1XZWIgY2hlY2tlciB0b29sCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNcdmVyc2lvbmNoZWNrXCoucHkKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXFRvb2xzXHZlcnNpb25jaGVjawotICBEZXNjcmlwdGlvbj1WZXJzaW9uIGNoZWNrZXIgdG9vbAotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNcdmVyc2lvbmNoZWNrXHJlYWRtZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNcdmVyc2lvbmNoZWNrXFJFQURNRS50eHQKLSAgRGVzY3JpcHRpb249VmVyc2lvbiBjaGVja2VyIHRvb2wKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlx0b29sc1xweW5jaGVcKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNccHluY2hlCi0gIERlc2NyaXB0aW9uPXB5bmNoZSBjb2xvciBlZGl0b3IKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXHRvb2xzXHB5bmNoZVwqLnR4dAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNccHluY2hlCi0gIERlc2NyaXB0aW9uPXB5bmNoZSBjb2xvciBlZGl0b3IKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXHRvb2xzXHB5bmNoZVx4XCoudHh0Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxUb29sc1xweW5jaGVcWAotICBEZXNjcmlwdGlvbj1weW5jaGUgY29sb3IgZWRpdG9yIC0gWCBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNccHluY2hlXHJlYWRtZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNccHluY2hlXFJFQURNRS50eHQKLSAgRGVzY3JpcHRpb249cHluY2hlIGNvbG9yIGVkaXRvciAtIFJFQURNRQotICBGbGFncz0wMDAwMDAwMTAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNccHluY2hlXHB5bmNoZQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNccHluY2hlXHB5bmNoZS5weQotICBEZXNjcmlwdGlvbj1weW5jaGUgY29sb3IgZWRpdG9yIC0gbWFpbgotICBGbGFncz0wMDAwMDAwMTAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cdG9vbHNccHluY2hlXHB5bmNoZS5weXcKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXFRvb2xzXHB5bmNoZVxweW5jaGUucHl3Ci0gIERlc2NyaXB0aW9uPXB5bmNoZSBjb2xvciBlZGl0b3IgLSBub2NvbnNvbGUgbWFpbgotICBGbGFncz0wMDAwMDAwMTAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXHRvb2xzXGkxOG5cKi5weQotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcVG9vbHNcaTE4bgotICBEZXNjcmlwdGlvbj1JbnRlcm5hdGlvbmFsaXphdGlvbiBoZWxwZXJzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1FOiB0ZXN0IHN1aXRlCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1DT01QT05FTlRTCi0gIFZhbHVlPUUKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcdGVzdFxhdWRpb3Rlc3QuYXUKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx0ZXN0XGF1ZGlvdGVzdC5hdQotICBEZXNjcmlwdGlvbj1QeXRob24gVGVzdCBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXHRlc3RcKi51dWUKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx0ZXN0Ci0gIERlc2NyaXB0aW9uPVB5dGhvbiBUZXN0IGZpbGVzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcdGVzdFwqLnB5Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcdGVzdAotICBEZXNjcmlwdGlvbj1QeXRob24gVGVzdCBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXHRlc3RcKi54bWwKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx0ZXN0Ci0gIERlc2NyaXB0aW9uPVB5dGhvbiBUZXN0IGZpbGVzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcdGVzdFwqLm91dAotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXHRlc3QKLSAgRGVzY3JpcHRpb249UHl0aG9uIFRlc3QgZmlsZXMKLSAgRmxhZ3M9MDAwMDAwMDAwMDAwMDAxMAotZW5kCi1pdGVtOiBJbnN0YWxsIEZpbGUKLSAgU291cmNlPS4uXGxpYlx0ZXN0XCouYnoyCi0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcdGVzdAotICBEZXNjcmlwdGlvbj1QeXRob24gVGVzdCBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXHRlc3RcKi50YXIKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx0ZXN0Ci0gIERlc2NyaXB0aW9uPVB5dGhvbiBUZXN0IGZpbGVzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogSW5zdGFsbCBGaWxlCi0gIFNvdXJjZT0uLlxsaWJcdGVzdFwqLmd6Ci0gIERlc3RpbmF0aW9uPSVNQUlORElSJVxMaWJcdGVzdAotICBEZXNjcmlwdGlvbj1QeXRob24gVGVzdCBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXHRlc3RcKi50eHQKLSAgRGVzdGluYXRpb249JU1BSU5ESVIlXExpYlx0ZXN0Ci0gIERlc2NyaXB0aW9uPVB5dGhvbiBUZXN0IGZpbGVzCi0gIEZsYWdzPTAwMDAwMDAwMDAwMDAwMTAKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IEluc3RhbGwgRmlsZQotICBTb3VyY2U9Li5cbGliXHRlc3Rcb3V0cHV0XCouKgotICBEZXN0aW5hdGlvbj0lTUFJTkRJUiVcTGliXHRlc3Rcb3V0cHV0Ci0gIERlc2NyaXB0aW9uPVB5dGhvbiBUZXN0IG91dHB1dCBmaWxlcwotICBGbGFncz0wMDAwMDAwMDAwMDAwMDEwCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RE9ORSB3aXRoIGZpbGUgY29weWluZy4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VGhlIHJlc3QgaXMgcmVnaXN0cnkgYW5kIFN0YXJ0IE1lbnUgZmlkZGxpbmcuCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1BCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1UQVNLUwotICBWYWx1ZT1BCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVJlZ2lzdGVyIGZpbGUgZXh0ZW5zaW9ucy4gIEFzIHVzdWFsLCBBZG1pbiBwcml2cyBnZXQgaW4gdGhlIHdheSwgYnV0IHdpdGggYSB0d2lzdDoKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9WW91IGRvbid0IG5lZWQgYWRtaW4gcHJpdnMgdG8gd3JpdGUgdG8gSEtFWV9DTEFTU0VTX1JPT1QgKmV4Y2VwdCogdW5kZXIgV2luMksuCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PU9uIFdpbjJLLCBhIHVzZXIgd2l0aG91dCBBZG1pbiBwcml2cyBoYXMgdG8gcmVnaXN0ZXIgZXh0ZW5zaW9ucyB1bmRlciBIS0NVXFNvZnR3YXJlXENMQVNTRVMgaW5zdGVhZC4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9QnV0IHdoaWxlIHlvdSBjYW4gKmRvKiB0aGF0IHVuZGVyIG90aGVyIGZsYXZvcnMgb2YgV2luZG93cyB0b28sIGl0IGhhcyBubyB1c2VmdWwgZWZmZWN0IGV4Y2VwdCBpbiBXaW4ySy4KLWVuZAotaXRlbTogU2V0IFZhcmlhYmxlCi0gIFZhcmlhYmxlPVVTRV9IS0NSCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogQ2hlY2sgQ29uZmlndXJhdGlvbgotICBGbGFncz0xMTExMDAxMAotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9RE9BRE1JTgotICBWYWx1ZT0wCi1lbmQKLWl0ZW06IFNldCBWYXJpYWJsZQotICBWYXJpYWJsZT1VU0VfSEtDUgotICBWYWx1ZT0wCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPVVTRV9IS0NSCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RmlsZSB0eXBlcy4KLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVB5dGhvbi5GaWxlCi0gIE5ldyBWYWx1ZT1QeXRob24gRmlsZQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9UHl0aG9uLkZpbGVcc2hlbGxcb3Blblxjb21tYW5kCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVccHl0aG9uLmV4ZSAiJSUxIiAlJSoKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVB5dGhvbi5GaWxlXERlZmF1bHRJY29uCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVcUHkuaWNvCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9UHl0aG9uLk5vQ29uRmlsZQotICBOZXcgVmFsdWU9UHl0aG9uIEZpbGUgKG5vIGNvbnNvbGUpCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1QeXRob24uTm9Db25GaWxlXHNoZWxsXG9wZW5cY29tbWFuZAotICBOZXcgVmFsdWU9JU1BSU5ESVIlXHB5dGhvbncuZXhlICIlJTEiICUlKgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9UHl0aG9uLk5vQ29uRmlsZVxEZWZhdWx0SWNvbgotICBOZXcgVmFsdWU9JU1BSU5ESVIlXFB5LmljbwotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVB5dGhvbi5Db21waWxlZEZpbGUKLSAgTmV3IFZhbHVlPUNvbXBpbGVkIFB5dGhvbiBGaWxlCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1QeXRob24uQ29tcGlsZWRGaWxlXHNoZWxsXG9wZW5cY29tbWFuZAotICBOZXcgVmFsdWU9JU1BSU5ESVIlXHB5dGhvbi5leGUgIiUlMSIgJSUqCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1QeXRob24uQ29tcGlsZWRGaWxlXERlZmF1bHRJY29uCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVccHljLmljbwotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RmlsZSBleHRlbnNpb25zLgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9LnB5Ci0gIE5ldyBWYWx1ZT1QeXRob24uRmlsZQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9LnB5Ci0gIE5ldyBWYWx1ZT10ZXh0L3BsYWluCi0gIFZhbHVlIE5hbWU9Q29udGVudCBUeXBlCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9LnB5dwotICBOZXcgVmFsdWU9UHl0aG9uLk5vQ29uRmlsZQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9LnB5dwotICBOZXcgVmFsdWU9dGV4dC9wbGFpbgotICBWYWx1ZSBOYW1lPUNvbnRlbnQgVHlwZQotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PS5weWMKLSAgTmV3IFZhbHVlPVB5dGhvbi5Db21waWxlZEZpbGUKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PS5weW8KLSAgTmV3IFZhbHVlPVB5dGhvbi5Db21waWxlZEZpbGUKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RmlsZSB0eXBlcy4KLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXENMQVNTRVNcUHl0aG9uLkZpbGUKLSAgTmV3IFZhbHVlPVB5dGhvbiBGaWxlCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1xQeXRob24uRmlsZVxzaGVsbFxvcGVuXGNvbW1hbmQKLSAgTmV3IFZhbHVlPSVNQUlORElSJVxweXRob24uZXhlICIlJTEiICUlKgotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXENMQVNTRVNcUHl0aG9uLkZpbGVcRGVmYXVsdEljb24KLSAgTmV3IFZhbHVlPSVNQUlORElSJVxQeS5pY28KLSAgUm9vdD0xCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1xQeXRob24uTm9Db25GaWxlCi0gIE5ldyBWYWx1ZT1QeXRob24gRmlsZSAobm8gY29uc29sZSkKLSAgUm9vdD0xCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxDTEFTU0VTXFB5dGhvbi5Ob0NvbkZpbGVcc2hlbGxcb3Blblxjb21tYW5kCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVccHl0aG9udy5leGUgIiUlMSIgJSUqCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1xQeXRob24uTm9Db25GaWxlXERlZmF1bHRJY29uCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVcUHkuaWNvCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXENMQVNTRVNcUHl0aG9uLkNvbXBpbGVkRmlsZQotICBOZXcgVmFsdWU9Q29tcGlsZWQgUHl0aG9uIEZpbGUKLSAgUm9vdD0xCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxDTEFTU0VTXFB5dGhvbi5Db21waWxlZEZpbGVcc2hlbGxcb3Blblxjb21tYW5kCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVccHl0aG9uLmV4ZSAiJSUxIiAlJSoKLSAgUm9vdD0xCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxDTEFTU0VTXFB5dGhvbi5Db21waWxlZEZpbGVcRGVmYXVsdEljb24KLSAgTmV3IFZhbHVlPSVNQUlORElSJVxweWMuaWNvCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9RmlsZSBleHRlbnNpb25zLgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1wucHkKLSAgTmV3IFZhbHVlPVB5dGhvbi5GaWxlCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1wucHkKLSAgTmV3IFZhbHVlPXRleHQvcGxhaW4KLSAgVmFsdWUgTmFtZT1Db250ZW50IFR5cGUKLSAgUm9vdD0xCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1wucHl3Ci0gIE5ldyBWYWx1ZT1QeXRob24uTm9Db25GaWxlCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcQ0xBU1NFU1wucHl3Ci0gIE5ldyBWYWx1ZT10ZXh0L3BsYWluCi0gIFZhbHVlIE5hbWU9Q29udGVudCBUeXBlCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXENMQVNTRVNcLnB5YwotICBOZXcgVmFsdWU9UHl0aG9uLkNvbXBpbGVkRmlsZQotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXENMQVNTRVNcLnB5bwotICBOZXcgVmFsdWU9UHl0aG9uLkNvbXBpbGVkRmlsZQotICBSb290PTEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1JZiB3ZSdyZSBpbnN0YWxsaW5nIElETEUsIGFsc28gc2V0IGFuIEVkaXQgY29udGV4dCBtZW51IGFjdGlvbiB0byB1c2UgSURMRSwgZm9yIC5weSBhbmQgLnB5dyBmaWxlcy4KLWVuZAotaXRlbTogSWYvV2hpbGUgU3RhdGVtZW50Ci0gIFZhcmlhYmxlPUNPTVBPTkVOVFMKLSAgVmFsdWU9QgotICBGbGFncz0wMDAwMDAxMAotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9VVNFX0hLQ1IKLSAgVmFsdWU9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9UHl0aG9uLk5vQ29uRmlsZVxzaGVsbFxFZGl0IHdpdGggSURMRVxjb21tYW5kCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVccHl0aG9udy5leGUgJU1BSU5ESVIlXExpYlxpZGxlbGliXGlkbGUucHl3IC1uIC1lICIlJTEiCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1QeXRob24uRmlsZVxzaGVsbFxFZGl0IHdpdGggSURMRVxjb21tYW5kCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVccHl0aG9udy5leGUgJU1BSU5ESVIlXExpYlxpZGxlbGliXGlkbGUucHl3IC1uIC1lICIlJTEiCi1lbmQKLWl0ZW06IEVsc2UgU3RhdGVtZW50Ci1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxDTEFTU0VTXFB5dGhvbi5Ob0NvbkZpbGVcc2hlbGxcRWRpdCB3aXRoIElETEVcY29tbWFuZAotICBOZXcgVmFsdWU9JU1BSU5ESVIlXHB5dGhvbncuZXhlICVNQUlORElSJVxMaWJcaWRsZWxpYlxpZGxlLnB5dyAtbiAtZSAiJSUxIgotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXENMQVNTRVNcUHl0aG9uLkZpbGVcc2hlbGxcRWRpdCB3aXRoIElETEVcY29tbWFuZAotICBOZXcgVmFsdWU9JU1BSU5ESVIlXHB5dGhvbncuZXhlICVNQUlORElSJVxMaWJcaWRsZWxpYlxpZGxlLnB5dyAtbiAtZSAiJSUxIgotICBSb290PTEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVJlZ2lzdGVyIFB5dGhvbiBwYXRocy4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9V3JpdGUgdG8gSEtMTSBmb3IgYWRtaW4sIGVsc2UgSEtDVS4gIEtlZXAgdGhlc2UgYmxvY2tzIG90aGVyd2lzZSBpZGVudGljYWwhCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1ET0FETUlOCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXEN1cnJlbnRWZXJzaW9uCi0gIFJvb3Q9MTMwCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwlUFlfVkVSU0lPTiVcSW5zdGFsbFBhdGgKLSAgTmV3IFZhbHVlPSVNQUlORElSJQotICBSb290PTIKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXCVQWV9WRVJTSU9OJVxJbnN0YWxsUGF0aFxJbnN0YWxsR3JvdXAKLSAgTmV3IFZhbHVlPSVDR1JPVVBfU0FWRSUKLSAgTmV3IFZhbHVlPQotICBSb290PTIKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXCVQWV9WRVJTSU9OJVxQeXRob25QYXRoCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVcTGliOyVNQUlORElSJVxETExzCi0gIE5ldyBWYWx1ZT0KLSAgUm9vdD0yCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwlUFlfVkVSU0lPTiVcTW9kdWxlcwotICBSb290PTIKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXEFwcCBQYXRoc1xQeXRob24uZXhlCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVcUHl0aG9uLmV4ZQotICBSb290PTIKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXEN1cnJlbnRWZXJzaW9uCi0gIFJvb3Q9MTI5Ci1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwlUFlfVkVSU0lPTiVcSW5zdGFsbFBhdGgKLSAgTmV3IFZhbHVlPSVNQUlORElSJQotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXCVQWV9WRVJTSU9OJVxJbnN0YWxsUGF0aFxJbnN0YWxsR3JvdXAKLSAgTmV3IFZhbHVlPSVDR1JPVVBfU0FWRSUKLSAgTmV3IFZhbHVlPQotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXCVQWV9WRVJTSU9OJVxQeXRob25QYXRoCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVcTGliOyVNQUlORElSJVxETExzCi0gIE5ldyBWYWx1ZT0KLSAgUm9vdD0xCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxQeXRob25cUHl0aG9uQ29yZVwlUFlfVkVSU0lPTiVcTW9kdWxlcwotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXEFwcCBQYXRoc1xQeXRob24uZXhlCi0gIE5ldyBWYWx1ZT0lTUFJTkRJUiVcUHl0aG9uLmV4ZQotICBSb290PTEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9UmVnaXN0cnkgZmlkZGxpbmcgZm9yIGRvY3MuCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVdyaXRlIHRvIEhLTE0gZm9yIGFkbWluLCBlbHNlIEhLQ1UuICBLZWVwIHRoZXNlIGJsb2NrcyBvdGhlcndpc2UgaWRlbnRpY2FsIQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1DCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1ET0FETUlOCi0gIFZhbHVlPTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXCVQWV9WRVJTSU9OJVxIZWxwXE1haW4gUHl0aG9uIERvY3VtZW50YXRpb24KLSAgTmV3IFZhbHVlPSVNQUlORElSJVxEb2NcaW5kZXguaHRtbAotICBSb290PTIKLWVuZAotaXRlbTogRWxzZSBTdGF0ZW1lbnQKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXFB5dGhvblxQeXRob25Db3JlXCVQWV9WRVJTSU9OJVxIZWxwXE1haW4gUHl0aG9uIERvY3VtZW50YXRpb24KLSAgTmV3IFZhbHVlPSVNQUlORElSJVxEb2NcaW5kZXguaHRtbAotICBSb290PTEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9U2V0IHRoZSBhcHAgcHVibGlzaGVyIGFuZCBVUkwgZW50cmllcyBmb3IgV2luMksgYWRkL3JlbW92ZS4KLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9SXQgZG9lc24ndCBodXJ0IG9uIG90aGVyIHN5c3RlbXMuCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUFzIHVzdWFsLCB3cml0ZSB0byBIS0xNIG9yIEhLQ1UgZGVwZW5kaW5nIG9uIEFkbWluIHByaXZzLgotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1DQVVUSU9OOiAgSWYgeW91IHNldCB0aGlzIGluZm8gb24gdGhlICJXaW5kb3dzIDIwMDAiIHBhZ2UgKHN0ZXAgNikgb2YgdGhlCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PUluc3RhbGxhdGlvbiBFeHBlcnQsIGl0IG9ubHkgc2hvd3MgdXAgaW4gdGhlICJJZiIgYmxvY2sgYmVsb3cuICBLZWVwIGluIHN5bmNoIQotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9RE9BRE1JTgotICBWYWx1ZT0xCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGxcJUFQUFRJVExFJQotICBOZXcgVmFsdWU9aHR0cDovL3d3dy5weXRob24ub3JnLwotICBWYWx1ZSBOYW1lPUhlbHBMaW5rCi0gIFJvb3Q9MgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgTmV3IFZhbHVlPVB5dGhvbkxhYnMgYXQgWm9wZSBDb3Jwb3JhdGlvbgotICBWYWx1ZSBOYW1lPVB1Ymxpc2hlcgotICBSb290PTIKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFwlQVBQVElUTEUlCi0gIE5ldyBWYWx1ZT1odHRwOi8vd3d3LnB5dGhvbi5vcmcvCi0gIFZhbHVlIE5hbWU9VVJMSW5mb0Fib3V0Ci0gIFJvb3Q9MgotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgTmV3IFZhbHVlPSVQWVZFUl9TVFJJTkclCi0gIFZhbHVlIE5hbWU9RGlzcGxheVZlcnNpb24KLSAgUm9vdD0yCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGxcJUFQUFRJVExFJQotICBOZXcgVmFsdWU9JU1BSU5ESVIlXHB5LmljbywtMAotICBWYWx1ZSBOYW1lPURpc3BsYXlJY29uCi0gIFJvb3Q9MgotZW5kCi1pdGVtOiBFbHNlIFN0YXRlbWVudAotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgTmV3IFZhbHVlPWh0dHA6Ly93d3cucHl0aG9uLm9yZy8KLSAgVmFsdWUgTmFtZT1IZWxwTGluawotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFwlQVBQVElUTEUlCi0gIE5ldyBWYWx1ZT1QeXRob25MYWJzIGF0IFpvcGUgQ29ycG9yYXRpb24KLSAgVmFsdWUgTmFtZT1QdWJsaXNoZXIKLSAgUm9vdD0xCi1lbmQKLWl0ZW06IEVkaXQgUmVnaXN0cnkKLSAgVG90YWwgS2V5cz0xCi0gIEtleT1Tb2Z0d2FyZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGxcJUFQUFRJVExFJQotICBOZXcgVmFsdWU9aHR0cDovL3d3dy5weXRob24ub3JnLwotICBWYWx1ZSBOYW1lPVVSTEluZm9BYm91dAotICBSb290PTEKLWVuZAotaXRlbTogRWRpdCBSZWdpc3RyeQotICBUb3RhbCBLZXlzPTEKLSAgS2V5PVNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFwlQVBQVElUTEUlCi0gIE5ldyBWYWx1ZT0lUFlWRVJfU1RSSU5HJQotICBWYWx1ZSBOYW1lPURpc3BsYXlWZXJzaW9uCi0gIFJvb3Q9MQotZW5kCi1pdGVtOiBFZGl0IFJlZ2lzdHJ5Ci0gIFRvdGFsIEtleXM9MQotICBLZXk9U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXCVBUFBUSVRMRSUKLSAgTmV3IFZhbHVlPSVNQUlORElSJVxweS5pY28sLTAKLSAgVmFsdWUgTmFtZT1EaXNwbGF5SWNvbgotICBSb290PTEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBSZW1hcmsKLSAgVGV4dD1Qb3B1bGF0ZSBTdGFydCBNZW51IGdyb3VwCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1UQVNLUwotICBWYWx1ZT1CCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IFJlbWFyawotICBUZXh0PVNob3J0Y3V0IHRvIGluc3RhbGxlciBubyBtYXR0ZXIgd2hhdC4KLWVuZAotaXRlbTogQ3JlYXRlIFNob3J0Y3V0Ci0gIFNvdXJjZT0lTUFJTkRJUiVcdW53aXNlLmV4ZQotICBEZXN0aW5hdGlvbj0lR1JPVVAlXFVuaW5zdGFsbCBQeXRob24ubG5rCi0gIFdvcmtpbmcgRGlyZWN0b3J5PSVNQUlORElSJQotICBLZXkgVHlwZT0xNTM2Ci0gIEZsYWdzPTAwMDAwMDAxCi1lbmQKLWl0ZW06IFJlbWFyawotZW5kCi1pdGVtOiBJZi9XaGlsZSBTdGF0ZW1lbnQKLSAgVmFyaWFibGU9Q09NUE9ORU5UUwotICBWYWx1ZT1BCi0gIEZsYWdzPTAwMDAwMDEwCi1lbmQKLWl0ZW06IENyZWF0ZSBTaG9ydGN1dAotICBTb3VyY2U9JU1BSU5ESVIlXHB5dGhvbi5leGUKLSAgRGVzdGluYXRpb249JUdST1VQJVxQeXRob24gKGNvbW1hbmQgbGluZSkubG5rCi0gIFdvcmtpbmcgRGlyZWN0b3J5PSVNQUlORElSJQotICBJY29uIFBhdGhuYW1lPSVNQUlORElSJVxweWNvbi5pY28KLSAgS2V5IFR5cGU9MTUzNgotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1DT01QT05FTlRTCi0gIFZhbHVlPUIKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ3JlYXRlIFNob3J0Y3V0Ci0gIFNvdXJjZT0lTUFJTkRJUiVccHl0aG9udy5leGUKLSAgRGVzdGluYXRpb249JUdST1VQJVxJRExFIChQeXRob24gR1VJKS5sbmsKLSAgQ29tbWFuZCBPcHRpb25zPSIlTUFJTkRJUiVcTGliXGlkbGVsaWJcaWRsZS5weXciCi0gIFdvcmtpbmcgRGlyZWN0b3J5PSVNQUlORElSJQotICBLZXkgVHlwZT0xNTM2Ci0gIEZsYWdzPTAwMDAwMDAxCi1lbmQKLWl0ZW06IENyZWF0ZSBTaG9ydGN1dAotICBTb3VyY2U9JU1BSU5ESVIlXHB5dGhvbncuZXhlCi0gIERlc3RpbmF0aW9uPSVHUk9VUCVcTW9kdWxlIERvY3MubG5rCi0gIENvbW1hbmQgT3B0aW9ucz0iJU1BSU5ESVIlXFRvb2xzXFNjcmlwdHNccHlkb2NndWkucHl3IgotICBXb3JraW5nIERpcmVjdG9yeT0lTUFJTkRJUiUKLSAgS2V5IFR5cGU9MTUzNgotICBGbGFncz0wMDAwMDAwMQotZW5kCi1pdGVtOiBFbmQgQmxvY2sKLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IElmL1doaWxlIFN0YXRlbWVudAotICBWYXJpYWJsZT1DT01QT05FTlRTCi0gIFZhbHVlPUMKLSAgRmxhZ3M9MDAwMDAwMTAKLWVuZAotaXRlbTogQ3JlYXRlIFNob3J0Y3V0Ci0gIFNvdXJjZT0lTUFJTkRJUiVcRG9jXGluZGV4Lmh0bWwKLSAgRGVzdGluYXRpb249JUdST1VQJVxQeXRob24gTWFudWFscy5sbmsKLSAgV29ya2luZyBEaXJlY3Rvcnk9JU1BSU5ESVIlCi0gIEtleSBUeXBlPTE1MzYKLSAgRmxhZ3M9MDAwMDAwMDEKLWVuZAotaXRlbTogRW5kIEJsb2NrCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBSZW1hcmsKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9SSBkb24ndCB0aGluayB3ZSBuZWVkIHRoaXMsIGJ1dCBoYXZlIGFsd2F5cyBkb25lIGl0LgotZW5kCi1pdGVtOiBTZWxmLVJlZ2lzdGVyIE9DWHMvRExMcwotICBEZXNjcmlwdGlvbj1VcGRhdGluZyBTeXN0ZW0gQ29uZmlndXJhdGlvbiwgUGxlYXNlIFdhaXQuLi4KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLXJlbWFya2VkIGl0ZW06IFJlbWFyawotICBUZXh0PURvbid0IGVuYWJsZSAiRGVsZXRlIGluLXVzZSBmaWxlcyIuICBIZXJlJ3Mgd2hhdCBoYXBwZW5zOgotZW5kCi1yZW1hcmtlZCBpdGVtOiBSZW1hcmsKLSAgVGV4dD1JbnN0YWxsIFB5dGhvbjsgdW5pbnN0YWxsIFB5dGhvbjsgaW5zdGFsbCBQeXRob24gYWdhaW4uICBSZWJvb3QgdGhlIG1hY2hpbmUuCi1lbmQKLXJlbWFya2VkIGl0ZW06IFJlbWFyawotICBUZXh0PU5vdyBVTldJU0UuRVhFIGlzIG1pc3NpbmcuICBJIHRoaW5rIHRoaXMgaXMgYSBXaXNlIGJ1ZywgYnV0IHNvIGl0IGdvZXMuCi1lbmQKLXJlbWFya2VkIGl0ZW06IEFkZCBUZXh0IHRvIElOU1RBTEwuTE9HCi0gIFRleHQ9RGVsZXRlIGluLXVzZSBmaWxlczogT24KLWVuZAotaXRlbTogUmVtYXJrCi1lbmQKLWl0ZW06IFdpemFyZCBCbG9jawotICBEaXJlY3Rpb24gVmFyaWFibGU9RElSRUNUSU9OCi0gIERpc3BsYXkgVmFyaWFibGU9RElTUExBWQotICBCaXRtYXAgUGF0aG5hbWU9LlxpbnN0YWxsZXIuYm1wCi0gIFggUG9zaXRpb249OQotICBZIFBvc2l0aW9uPTEwCi0gIEZpbGxlciBDb2xvcj0xMTE3Mzc1OQotICBGbGFncz0wMDAwMDAxMQotZW5kCi1pdGVtOiBDdXN0b20gRGlhbG9nIFNldAotICBOYW1lPUZpbmlzaGVkCi0gIERpc3BsYXkgVmFyaWFibGU9RElTUExBWQotICBpdGVtOiBEaWFsb2cKLSAgICBUaXRsZT0lQVBQVElUTEUlIEluc3RhbGxhdGlvbgotICAgIFRpdGxlIEZyZW5jaD1JbnN0YWxsYXRpb24gZGUgJUFQUFRJVExFJQotICAgIFRpdGxlIEdlcm1hbj1JbnN0YWxsYXRpb24gdm9uICVBUFBUSVRMRSUKLSAgICBUaXRsZSBTcGFuaXNoPUluc3RhbGFjafNuIGRlICVBUFBUSVRMRSUKLSAgICBUaXRsZSBJdGFsaWFuPUluc3RhbGxhemlvbmUgZGkgJUFQUFRJVExFJQotICAgIFdpZHRoPTMzOQotICAgIEhlaWdodD0yODAKLSAgICBGb250IE5hbWU9SGVsdgotICAgIEZvbnQgU2l6ZT04Ci0gICAgaXRlbTogUHVzaCBCdXR0b24KLSAgICAgIFJlY3RhbmdsZT0xODggMjM0IDI0NCAyNTMKLSAgICAgIFZhcmlhYmxlPURJUkVDVElPTgotICAgICAgVmFsdWU9TgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDEwMDAwMDAwMDAwMDAwMDAxCi0gICAgICBUZXh0PSZGaW5pc2gKLSAgICAgIFRleHQgRnJlbmNoPSZGaW4KLSAgICAgIFRleHQgR2VybWFuPSZXZWl0ZXIKLSAgICAgIFRleHQgU3BhbmlzaD0mVGVybWluYXIKLSAgICAgIFRleHQgSXRhbGlhbj0mRmluZQotICAgIGVuZAotICAgIGl0ZW06IFB1c2ggQnV0dG9uCi0gICAgICBSZWN0YW5nbGU9MjY0IDIzNCAzMjAgMjUzCi0gICAgICBWYXJpYWJsZT1ESVNBQkxFRAotICAgICAgVmFsdWU9IQotICAgICAgQWN0aW9uPTMKLSAgICAgIENyZWF0ZSBGbGFncz0wMTAxMDAwMDAwMDAwMDAxMDAwMDAwMDAwMDAwMDAwMAotICAgICAgVGV4dD0mQ2FuY2VsCi0gICAgICBUZXh0IEZyZW5jaD0mQW5udWxlcgotICAgICAgVGV4dCBHZXJtYW49JkFiYnJlY2hlbgotICAgICAgVGV4dCBTcGFuaXNoPSZDYW5jZWxhcgotICAgICAgVGV4dCBJdGFsaWFuPSZBbm51bGxhCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBSZWN0YW5nbGU9MTA4IDEwIDMyMyA0OAotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBGbGFncz0wMDAwMDAwMDAwMDAwMDAxCi0gICAgICBOYW1lPVRpbWVzIE5ldyBSb21hbgotICAgICAgRm9udCBTdHlsZT0tMjQgMCAwIDAgNzAwIDI1NSAwIDAgMCAzIDIgMSAxOAotICAgICAgVGV4dD1JbnN0YWxsYXRpb24gQ29tcGxldGVkIQotICAgICAgVGV4dCBGcmVuY2g9SW5zdGFsbGF0aW9uIHRlcm1pbullICEKLSAgICAgIFRleHQgR2VybWFuPURpZSBJbnN0YWxsYXRpb24gaXN0IGFiZ2VzY2hsb3NzZW4hCi0gICAgICBUZXh0IFNwYW5pc2g9oUluc3RhbGFjafNuIHRlcm1pbmFkYSEKLSAgICAgIFRleHQgSXRhbGlhbj1JbnN0YWxsYXppb25lIGNvbXBsZXRhdGEhCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBSZWN0YW5nbGU9MTA4IDQ0IDMyMCA4MgotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0gICAgICBUZXh0PSVBUFBUSVRMRSUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZC4KLSAgICAgIFRleHQ9Ci0gICAgICBUZXh0PVByZXNzIHRoZSBGaW5pc2ggYnV0dG9uIHRvIGV4aXQgdGhpcyBpbnN0YWxsYXRpb24uCi0gICAgICBUZXh0IEZyZW5jaD0lQVBQVElUTEUlIGVzdCBtYWludGVuYW50IGluc3RhbGzpLgotICAgICAgVGV4dCBGcmVuY2g9Ci0gICAgICBUZXh0IEZyZW5jaD1DbGlxdWV6IHN1ciBsZSBib3V0b24gRmluIHBvdXIgcXVpdHRlciBsJ2luc3RhbGxhdGlvbi4KLSAgICAgIFRleHQgR2VybWFuPSVBUFBUSVRMRSUgd3VyZGUgZXJmb2xncmVpY2ggaW5zdGFsbGllcnQuCi0gICAgICBUZXh0IEdlcm1hbj0KLSAgICAgIFRleHQgR2VybWFuPUtsaWNrZW4gU2llIGF1ZiAiV2VpdGVyIiwgdW0gZGllIEluc3RhbGxhdGlvbiB6dSBiZWVuZGVuLgotICAgICAgVGV4dCBTcGFuaXNoPSVBUFBUSVRMRSUgc2UgaGEgaW5zdGFsYWRvIGNvbiDpeGl0by4KLSAgICAgIFRleHQgU3BhbmlzaD0KLSAgICAgIFRleHQgU3BhbmlzaD1QcmVzaW9uZSBlbCBib3TzbiBUZXJtaW5hciBwYXJhIHNhbGlyIGRlIGVzdGEgaW5zdGFsYWNp824uCi0gICAgICBUZXh0IEl0YWxpYW49TCdpbnN0YWxsYXppb25lICVBUFBUSVRMRSUg6CBzdGF0YSBwb3J0YXRhIGEgdGVybWluZSBjb24gc3VjY2Vzc28uCi0gICAgICBUZXh0IEl0YWxpYW49Ci0gICAgICBUZXh0IEl0YWxpYW49UHJlbWVyZSBpbCBwdWxzYW50ZSBGaW5lIHBlciB1c2NpcmUgZGFsbCdpbnN0YWxsYXppb25lLgotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwIDIyNSAzMjAgMjI2Ci0gICAgICBBY3Rpb249MwotICAgICAgQ3JlYXRlIEZsYWdzPTAxMDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMTExCi0gICAgZW5kCi0gICAgaXRlbTogU3RhdGljCi0gICAgICBSZWN0YW5nbGU9MTA2IDEwNSAzMTIgMjEwCi0gICAgICBFbmFibGVkIENvbG9yPTAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLSAgICAgIFRleHQ9U3BlY2lhbCBXaW5kb3dzIHRoYW5rcyB0bzoKLSAgICAgIFRleHQ9Ci0gICAgICBUZXh0PVdpc2UgU29sdXRpb25zLCBmb3IgdGhlIHVzZSBvZiBJbnN0YWxsTWFzdGVyIDguMS4KLSAgICAgIFRleHQ9ICAgIGh0dHA6Ly93d3cud2lzZXNvbHV0aW9ucy5jb20vCi0gICAgICBUZXh0PQotICAgICAgVGV4dD0KLSAgICAgIFRleHQ9TGV0dEVycm9yLCBFcmlrIHZhbiBCbG9rbGFuZCwgZm9yIHRoZSBQeXRob24gZm9yIFdpbmRvd3MgZ3JhcGhpYy4KLSAgICAgIFRleHQ9ICAgIGh0dHA6Ly93d3cubGV0dGVycm9yLmNvbS8KLSAgICAgIFRleHQ9Ci0gICAgICBUZXh0PQotICAgICAgVGV4dD1NYXJrIEhhbW1vbmQsIHdpdGhvdXQgd2hvc2UgeWVhcnMgb2YgZnJlZWx5IHNoYXJlZCBXaW5kb3dzIGV4cGVydGlzZSwgUHl0aG9uIGZvciBXaW5kb3dzIHdvdWxkIHN0aWxsIGJlIFB5dGhvbiBmb3IgRE9TLgotICAgIGVuZAotICAgIGl0ZW06IFN0YXRpYwotICAgICAgUmVjdGFuZ2xlPTEwNiA5NSAzMTIgOTYKLSAgICAgIEFjdGlvbj0zCi0gICAgICBFbmFibGVkIENvbG9yPTAwMDAwMDAwMDAwMDAwMDAxMTExMTExMTExMTExMTExCi0gICAgICBDcmVhdGUgRmxhZ3M9MDEwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDEKLSAgICBlbmQKLSAgZW5kCi1lbmQKLWl0ZW06IEVuZCBCbG9jawotZW5kCi1pdGVtOiBOZXcgRXZlbnQKLSAgTmFtZT1DYW5jZWwKLWVuZAotaXRlbTogUmVtYXJrCi0gIFRleHQ9VGhpcyBpbmNsdWRlIHNjcmlwdCBzdXBwb3J0cyBhIHJvbGxiYWNrIHRvIHByZWluc3RhbGxhdGlvbiBzdGF0ZSBpZiB0aGUgdXNlciBjaG9vc2VzIHRvIGNhbmNlbCBiZWZvcmUgdGhlIGluc3RhbGxhdGlvbiBpcyBjb21wbGV0ZS4KLWVuZAotaXRlbTogSW5jbHVkZSBTY3JpcHQKLSAgUGF0aG5hbWU9JV9XSVNFXyVcSU5DTFVERVxyb2xsYmFjay53c2UKLWVuZApkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvcHl0aG9uY29yZS52Y3Byb2ogYi9QQy9WUzcuMS9weXRob25jb3JlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDVjNDE4NC4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9weXRob25jb3JlLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDgyNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0icHl0aG9uY29yZSINCi0JUHJvamVjdEdVSUQ9IntDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMzB9Ig0KLQlSb290TmFtZXNwYWNlPSJweXRob25jb3JlIg0KLQlTY2NQcm9qZWN0TmFtZT0icHl0aG9uY29yZSINCi0JU2NjTG9jYWxQYXRoPSIuLiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1yZWxlYXNlXHB5dGhvbmNvcmUiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO05ERUJVRztXSU4zMjtfV0lORE9XUztVU0VfRExfRVhQT1JUIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImdldGJ1aWxkaW5mby5vIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3B5dGhvbjMzLmRsbCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbjMzLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3B5dGhvbjMzLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJnZW5lcmF0ZSBidWlsZGluZm8iDQotCQkJCUNvbW1hbmRMaW5lPSJtYWtlX2J1aWxkaW5mby5leGUgJChDb25maWd1cmF0aW9uTmFtZSkiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1kZWJ1Z1xweXRob25jb3JlIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO19ERUJVRztVU0VfRExfRVhQT1JUO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZ2V0YnVpbGRpbmZvLm8iDQotCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uMzNfZC5kbGwiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob24zM19kLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3B5dGhvbjMzX2QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249ImdlbmVyYXRlIGJ1aWxkaW5mbyINCi0JCQkJQ29tbWFuZExpbmU9Im1ha2VfYnVpbGRpbmZvLmV4ZSAkKENvbmZpZ3VyYXRpb25OYW1lKSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUl0YW5pdW18V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuLy4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXGlhNjQtdGVtcC1yZWxlYXNlXHB5dGhvbmNvcmUiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19JVEFOSVVNIC9HUy0iDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1M7VVNFX0RMX0VYUE9SVCINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImdldGJ1aWxkaW5mby5vIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3B5dGhvbjMzLmRsbCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IkZBTFNFIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob24zMy5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9weXRob24zMy5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iZ2VuZXJhdGUgYnVpbGRpbmZvIg0KLQkJCQlDb21tYW5kTGluZT0ibWFrZV9idWlsZGluZm8uZXhlICQoQ29uZmlndXJhdGlvbk5hbWUpIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuLy4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXGFtZDY0LXRlbXAtcmVsZWFzZVxweXRob25jb3JlIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAgL1VTRUNMOk1TX09QVEVST04gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO05ERUJVRztXSU4zMjtfV0lORE9XUztVU0VfRExfRVhQT1JUIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImdldGJ1aWxkaW5mby5vIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3B5dGhvbjMzLmRsbCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbjMzLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3B5dGhvbjMzLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJnZW5lcmF0ZSBidWlsZGluZm8iDQotCQkJCUNvbW1hbmRMaW5lPSJtYWtlX2J1aWxkaW5mby5leGUgJChDb25maWd1cmF0aW9uTmFtZSkiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJfaW8iDQotICAgICAgICAgICAgRmlsdGVyPSIiPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cZmlsZWlvLmMiPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXGJ5dGVzaW8uYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cc3RyaW5naW8uYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJICAgIFJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cYnVmZmVyZWRpby5jIj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xpb2Jhc2UuYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cdGV4dGlvLmMiPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2lvXF9pb21vZHVsZS5jIj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJ6bGliIg0KLQkJCUZpbHRlcj0iIj4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxhZGxlcjMyLmMiPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjb21wcmVzcy5jIj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcY3JjMzIuYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGRlZmxhdGUuYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGd6aW8uYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmJhY2suYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZhc3QuYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyI+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZnRyZWVzLmMiPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx0cmVlcy5jIj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcdW5jb21wci5jIj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJtb2R1bGUuYyI+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiI+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1x6bGliIi8+DQotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcemxpYiIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIj4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXHpsaWIiLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcemxpYiIvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx6dXRpbC5jIj4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9iaXNlY3Rtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19jbi5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2hrLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfaXNvMjAyMi5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2pwLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3Nfa3IuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc190dy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jb2RlY3Ntb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY29sbGVjdGlvbnNtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3N2LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2RhdGV0aW1lbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2Z1bmN0b29sc21vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9oZWFwcW1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9qc29uLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2xvY2FsZW1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9sc3Byb2YuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbWF0aC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9waWNrbGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfcmFuZG9tbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NyZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zdHJ1Y3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGNcX3N1YnByb2Nlc3MuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGltZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cX3dhcm5pbmdzLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3dlYWtyZWYuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xhYnN0cmFjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGFjY3UuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGFjY2VsZXIuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhcnJheW1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cYXNkbC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cYXN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXRleGl0bW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXVkaW9vcC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGJpbmFzY2lpLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxiaXRzZXQuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGJsdGlubW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYm9vbG9iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGJ5dGVzX21ldGhvZHMuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xieXRlYXJyYXlvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xieXRlc29iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNhcHN1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjZWxsb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxjZXZhbC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNsYXNzb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY21hdGhtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGNvZGVjcy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNvZGVvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGNvbXBpbGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjb21wbGV4b2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGNvbmZpZy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZHluYW1pY19hbm5vdGF0aW9ucy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGRlc2Nyb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZGljdG9iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xkbF9udC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZHRvYS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZHlubG9hZF93aW4uYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xlbnVtb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXJybm9tb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGVycm9ycy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGV4Y2VwdGlvbnMuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmaWxlb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmaWxldXRpbHMuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGZpcnN0c2V0cy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGZsb2F0b2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmb3JtYXR0ZXJfdW5pY29kZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGZyYW1lb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmb3JtYXR0ZXJfdW5pY29kZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZnJvemVuLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZnVuY29iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZnV0dXJlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZ2Ntb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xnZW5vYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldGFyZ3MuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldGNvbXBpbGVyLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXRjb3B5cmlnaHQuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldG9wdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xnZXRwYXRocC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0cGxhdGZvcm0uYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldHZlcnNpb24uYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdyYW1pbml0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxncmFtbWFyLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxncmFtbWFyMS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25caW1wb3J0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxpbXBvcnRkbC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGl0ZXJvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xpdGVydG9vbHNtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGxpc3Rub2RlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbGlzdG9iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGxvbmdvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtYWluLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxtYXJzaGFsLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbWF0aG1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0gCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtZDVtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG1ldGFncmFtbWFyLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbWVtb3J5b2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbWV0aG9kb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbW1hcG1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbW9kc3VwcG9ydC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG1vZHVsZW9iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xtc3ZjcnRtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbXVsdGlieXRlY29kZWMuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG15cmVhZGxpbmUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG15c25wcmludGYuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG15c3RydG91bC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcbm9kZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG9iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG9ibWFsbG9jLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcb3BlcmF0b3IuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXHBhcnNlci5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHBhcnNlcm1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2V0b2suYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHBlZXBob2xlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccG9zaXhtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5YXJlbmEuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5Y3R5cGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5ZnBlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweW1hdGguYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5c3RhdGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5c3RyY21wLmMiDQotCQkJPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweXN0cnRvZC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHl0aW1lLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxQeXRob24tYXN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9udC5yYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5dGhvbnJ1bi5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccmFuZG9tLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNccmFuZ2VvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xyb3RhdGluZ3RyZWUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzZXRvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGEyNTZtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGE1MTJtb2R1bGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGExbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2lnbmFsbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc2xpY2VvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHN0cnVjdG1lbWJlci5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cnVjdHNlcS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cc3ltdGFibGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzeW10YWJsZW1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cc3lzbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0aHJlYWQuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGhyZWFkbW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdGltZW1vZHVsZS5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcdG9rZW5pemVyLmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0cmFjZWJhY2suYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x0dXBsZW9iamVjdC5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHR5cGVvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x1bmljb2RlY3R5cGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1x1bmljb2Rlb2JqZWN0LmMiPg0KLQkJPC9GaWxlPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBjXHdpbnJlZy5jIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHdlYWtyZWZvYmplY3QuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x4eHN1YnR5cGUuYyI+DQotCQk8L0ZpbGU+DQotCQk8RmlsZQ0KLQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6aXBpbXBvcnQuYyI+DQotCQk8L0ZpbGU+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL3B5dGhvbncudmNwcm9qIGIvUEMvVlM3LjEvcHl0aG9udy52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3ZDdmNTAuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvcHl0aG9udy52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9InB5dGhvbnciDQotCVNjY1Byb2plY3ROYW1lPSJweXRob253Ig0KLQlTY2NMb2NhbFBhdGg9Ii4uXC4uXHBjIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1kZWJ1Z1xweXRob253Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0RFQlVHO19XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iLi9weXRob253X2QuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHl0aG9ud19kLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VccHl0aG9udyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtOREVCVUc7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iLlwuL3B5dGhvbncuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHl0aG9udy5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlSXRhbml1bXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5caWE2NC10ZW1wLXJlbGVhc2VccHl0aG9udyINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX0lUQU5JVU0gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO05ERUJVRztfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCU91dHB1dEZpbGU9Ii5cLi9weXRob253LmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbncucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImFtZDY0LXRlbXAtcmVsZWFzZVxweXRob253Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvVVNFQ0w6TVNfT1BURVJPTiINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO05ERUJVRztfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6QU1ENjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlPdXRwdXRGaWxlPSIuXC4vcHl0aG9udy5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob253LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweXRob25fZXhlLnJjIj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xXaW5NYWluLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9yZWFkbWUudHh0IGIvUEMvVlM3LjEvcmVhZG1lLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmZkOGE3MC4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS9yZWFkbWUudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMzM3ICswLDAgQEAKLUJ1aWxkaW5nIFB5dGhvbiB1c2luZyBWQysrIDcuMQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotVGhpcyBkaXJlY3RvcnkgaXMgdXNlZCB0byBidWlsZCBQeXRob24gZm9yIFdpbjMyIHBsYXRmb3JtcywgZS5nLiBXaW5kb3dzCi05NSwgOTggYW5kIE5ULiAgSXQgcmVxdWlyZXMgTWljcm9zb2Z0IFZpc3VhbCBDKysgNy4xCi0oYS5rLmEuIFZpc3VhbCBTdHVkaW8gLk5FVCAyMDAzKS4KLShGb3Igb3RoZXIgV2luZG93cyBwbGF0Zm9ybXMgYW5kIGNvbXBpbGVycywgc2VlIC4uL1BDL3JlYWRtZS50eHQuKQotCi1BbGwgeW91IG5lZWQgdG8gZG8gaXMgb3BlbiB0aGUgd29ya3NwYWNlICJwY2J1aWxkLnNsbiIgaW4gTVNWQysrLCBzZWxlY3QKLXRoZSBEZWJ1ZyBvciBSZWxlYXNlIHNldHRpbmcgKHVzaW5nICJTb2x1dGlvbiBDb25maWd1cmF0aW9uIiBmcm9tCi10aGUgIlN0YW5kYXJkIiB0b29sYmFyIiksIGFuZCBidWlsZCB0aGUgcHJvamVjdHMuCi0KLVRoZSBwcm9wZXIgb3JkZXIgdG8gYnVpbGQgc3VicHJvamVjdHM6Ci0KLTEpIHB5dGhvbmNvcmUgKHRoaXMgYnVpbGRzIHRoZSBtYWluIFB5dGhvbiBETEwgYW5kIGxpYnJhcnkgZmlsZXMsCi0gICAgICAgICAgICAgICBweXRob24zMy57ZGxsLCBsaWJ9IGluIFJlbGVhc2UgbW9kZSkKLSAgICAgICAgICAgICAgTk9URTogIGluIHByZXZpb3VzIHJlbGVhc2VzLCB0aGlzIHN1YnByb2plY3Qgd2FzCi0gICAgICAgICAgICAgIG5hbWVkIGFmdGVyIHRoZSByZWxlYXNlIG51bWJlciwgZS5nLiBweXRob24yMC4KLQotMikgcHl0aG9uICh0aGlzIGJ1aWxkcyB0aGUgbWFpbiBQeXRob24gZXhlY3V0YWJsZSwKLSAgICAgICAgICAgcHl0aG9uLmV4ZSBpbiBSZWxlYXNlIG1vZGUpCi0KLTMpIHRoZSBvdGhlciBzdWJwcm9qZWN0cywgYXMgZGVzaXJlZCBvciBuZWVkZWQgKG5vdGU6ICB5b3UgcHJvYmFibHkgZG9uJ3QKLSAgIHdhbnQgdG8gYnVpbGQgbW9zdCBvZiB0aGUgb3RoZXIgc3VicHJvamVjdHMsIHVubGVzcyB5b3UncmUgYnVpbGRpbmcgYW4KLSAgIGVudGlyZSBQeXRob24gZGlzdHJpYnV0aW9uIGZyb20gc2NyYXRjaCwgb3Igc3BlY2lmaWNhbGx5IG1ha2luZyBjaGFuZ2VzCi0gICB0byB0aGUgc3Vic3lzdGVtcyB0aGV5IGltcGxlbWVudCwgb3IgYXJlIHJ1bm5pbmcgYSBQeXRob24gY29yZSBidWlsZGJvdAotICAgdGVzdCBzbGF2ZTsgc2VlIFNVQlBST0pFQ1RTIGJlbG93KQotCi1XaGVuIHVzaW5nIHRoZSBEZWJ1ZyBzZXR0aW5nLCB0aGUgb3V0cHV0IGZpbGVzIGhhdmUgYSBfZCBhZGRlZCB0bwotdGhlaXIgbmFtZTogIHB5dGhvbjMzX2QuZGxsLCBweXRob25fZC5leGUsIHBhcnNlcl9kLnB5ZCwgYW5kIHNvIG9uLgotCi1TVUJQUk9KRUNUUwotLS0tLS0tLS0tLS0KLVRoZXNlIHN1YnByb2plY3RzIHNob3VsZCBidWlsZCBvdXQgb2YgdGhlIGJveC4gIFN1YnByb2plY3RzIG90aGVyIHRoYW4gdGhlCi1tYWluIG9uZXMgKHB5dGhvbmNvcmUsIHB5dGhvbiwgcHl0aG9udykgZ2VuZXJhbGx5IGJ1aWxkIGEgRExMIChyZW5hbWVkIHRvCi0ucHlkKSBmcm9tIGEgc3BlY2lmaWMgbW9kdWxlIHNvIHRoYXQgdXNlcnMgZG9uJ3QgaGF2ZSB0byBsb2FkIHRoZSBjb2RlCi1zdXBwb3J0aW5nIHRoYXQgbW9kdWxlIHVubGVzcyB0aGV5IGltcG9ydCB0aGUgbW9kdWxlLgotCi1weXRob25jb3JlCi0gICAgLmRsbCBhbmQgLmxpYgotcHl0aG9uCi0gICAgLmV4ZQotcHl0aG9udwotICAgIHB5dGhvbncuZXhlLCBhIHZhcmlhbnQgb2YgcHl0aG9uLmV4ZSB0aGF0IGRvZXNuJ3QgcG9wIHVwIGEgRE9TIGJveAotX3NvY2tldAotICAgIHNvY2tldG1vZHVsZS5jCi1fdGVzdGNhcGkKLSAgICB0ZXN0cyBvZiB0aGUgUHl0aG9uIEMgQVBJLCBydW4gdmlhIExpYi90ZXN0L3Rlc3RfY2FwaS5weSwgYW5kCi0gICAgaW1wbGVtZW50ZWQgYnkgbW9kdWxlIE1vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMKLXB5ZXhwYXQKLSAgICBQeXRob24gd3JhcHBlciBmb3IgYWNjZWxlcmF0ZWQgWE1MIHBhcnNpbmcsIHdoaWNoIGluY29ycG9yYXRlcyBzdGFibGUKLSAgICBjb2RlIGZyb20gdGhlIEV4cGF0IHByb2plY3Q6ICBodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL2V4cGF0Lwotc2VsZWN0Ci0gICAgc2VsZWN0bW9kdWxlLmMKLXVuaWNvZGVkYXRhCi0gICAgbGFyZ2UgdGFibGVzIG9mIFVuaWNvZGUgZGF0YQotd2luc291bmQKLSAgICBwbGF5IHNvdW5kcyAodHlwaWNhbGx5IC53YXYgZmlsZXMpIHVuZGVyIFdpbmRvd3MKLQotVGhlIGZvbGxvd2luZyBzdWJwcm9qZWN0cyB3aWxsIGdlbmVyYWxseSBOT1QgYnVpbGQgb3V0IG9mIHRoZSBib3guICBUaGV5Ci13cmFwIGNvZGUgUHl0aG9uIGRvZXNuJ3QgY29udHJvbCwgYW5kIHlvdSdsbCBuZWVkIHRvIGRvd25sb2FkIHRoZSBiYXNlCi1wYWNrYWdlcyBmaXJzdCBhbmQgdW5wYWNrIHRoZW0gaW50byBzaWJsaW5ncyBvZiBQQydzIHBhcmVudAotZGlyZWN0b3J5OyBmb3IgZXhhbXBsZSwgaWYgdGhpcyBkaXJlY3RvcnkgaXMgLi4uLlxkaXN0XHRydW5rXFBDXFZTNy4xLAotdW5wYWNrIGludG8gbmV3IHN1YmRpcmVjdG9yaWVzIG9mIGRpc3RcLgotCi1fdGtpbnRlcgotICAgIFB5dGhvbiB3cmFwcGVyIGZvciB0aGUgVGsgd2luZG93aW5nIHN5c3RlbS4gIFJlcXVpcmVzIGJ1aWxkaW5nCi0gICAgVGNsL1RrIGZpcnN0LiAgRm9sbG93aW5nIGFyZSBpbnN0cnVjdGlvbnMgZm9yIFRjbC9UayA4LjQuMTIuCi0KLSAgICBHZXQgc291cmNlCi0gICAgLS0tLS0tLS0tLQotICAgIEluIHRoZSBkaXN0IGRpcmVjdG9yeSwgcnVuCi0gICAgc3ZuIGV4cG9ydCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvdGNsOC40LjEyCi0gICAgc3ZuIGV4cG9ydCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvdGs4LjQuMTIKLSAgICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC90aXgtOC40LjAKLQotICAgIEJ1aWxkIFRjbCBmaXJzdCAoZG9uZSBoZXJlIHcvIE1TVkMgNy4xIG9uIFdpbmRvd3MgWFApCi0gICAgLS0tLS0tLS0tLS0tLS0tCi0gICAgVXNlICJTdGFydCAtPiBBbGwgUHJvZ3JhbXMgLT4gTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gLk5FVCAyMDAzCi0gICAgICAgICAtPiBWaXN1YWwgU3R1ZGlvIC5ORVQgVG9vbHMgLT4gVmlzdWFsIFN0dWRpbyAuTkVUIDIwMDMgQ29tbWFuZCBQcm9tcHQiCi0gICAgdG8gZ2V0IGEgc2hlbGwgd2luZG93IHdpdGggdGhlIGNvcnJlY3QgZW52aXJvbm1lbnQgc2V0dGluZ3MKLSAgICBjZCBkaXN0XHRjbDguNC4xMlx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YwotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIElOU1RBTExESVI9Li5cLi5cdGNsdGsgaW5zdGFsbAotCi0gICAgWFhYIFNob3VsZCB3ZSBjb21waWxlIHdpdGggT1BUUz10aHJlYWRzPwotCi0gICAgT3B0aW9uYWw6ICBydW4gdGVzdHMsIHZpYQotICAgICAgICBubWFrZSAtZiBtYWtlZmlsZS52YyB0ZXN0Ci0KLSAgICAgICAgT24gV2luWFAgUHJvLCB3aG9sbHkgdXAgdG8gZGF0ZSBhcyBvZiAzMC1BdWctMjAwNDoKLSAgICAgICAgYWxsLnRjbDogICAgICAgIFRvdGFsICAgMTA2NzggICBQYXNzZWQgIDk5NjkgICAgU2tpcHBlZCA3MDkgICAgIEZhaWxlZCAgMAotICAgICAgICBTb3VyY2VkIDEyOSBUZXN0IEZpbGVzLgotCi0gICAgQnVpbGQgVGsKLSAgICAtLS0tLS0tLQotICAgIGNkIGRpc3RcdGs4LjQuMTJcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgVENMRElSPS4uXC4uXHRjbDguNC4xMgotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIFRDTERJUj0uLlwuLlx0Y2w4LjQuMTIgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBpbnN0YWxsCi0KLSAgICBYWFggU2hvdWxkIHdlIGNvbXBpbGUgd2l0aCBPUFRTPXRocmVhZHM/Ci0KLSAgICBYWFggT3VyIGluc3RhbGxlciBjb3BpZXMgYSBsb3Qgb2Ygc3R1ZmYgb3V0IG9mIHRoZSBUY2wvVGsgaW5zdGFsbAotICAgIFhYWCBkaXJlY3RvcnkuICBJcyBhbGwgb2YgdGhhdCByZWFsbHkgbmVlZGVkIGZvciBQeXRob24gdXNlIG9mIFRjbC9Uaz8KLQotICAgIE9wdGlvbmFsOiAgcnVuIHRlc3RzLCB2aWEKLSAgICAgICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgVENMRElSPS4uXC4uXHRjbDguNC4xMiB0ZXN0Ci0KLSAgICAgICAgT24gV2luWFAgUHJvLCB3aG9sbHkgdXAgdG8gZGF0ZSBhcyBvZiAzMC1BdWctMjAwNDoKLSAgICAgICAgYWxsLnRjbDogICAgICAgIFRvdGFsICAgODQyMCAgICBQYXNzZWQgIDY4MjYgICAgU2tpcHBlZCAxNTgxICAgIEZhaWxlZCAgMTMKLSAgICAgICAgU291cmNlZCA5MSBUZXN0IEZpbGVzLgotICAgICAgICBGaWxlcyB3aXRoIGZhaWxpbmcgdGVzdHM6IGNhbnZJbWcudGVzdCBzY3JvbGxiYXIudGVzdCB0ZXh0V2luZC50ZXN0IHdpbldtLnRlc3QKLQotICAgQnVpbHQgVGl4Ci0gICAtLS0tLS0tLS0KLSAgIGNkIGRpc3RcdGl4LTguNC4wXHdpbgotICAgbm1ha2UgLWYgcHl0aG9uLm1hawotICAgbm1ha2UgLWYgcHl0aG9uLm1hayBpbnN0YWxsCi0KLWJ6MgotICAgIFB5dGhvbiB3cmFwcGVyIGZvciB0aGUgbGliYnoyIGNvbXByZXNzaW9uIGxpYnJhcnkuICBIb21lcGFnZQotICAgICAgICBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2J6aXAyLwotICAgIERvd25sb2FkIHRoZSBzb3VyY2UgZnJvbSB0aGUgcHl0aG9uLm9yZyBjb3B5IGludG8gdGhlIGRpc3QKLSAgICBkaXJlY3Rvcnk6Ci0KLSAgICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC9iemlwMi0xLjAuMwotCi0gICAgQSBjdXN0b20gcHJlLWxpbmsgc3RlcCBpbiB0aGUgYnoyIHByb2plY3Qgc2V0dGluZ3Mgc2hvdWxkIG1hbmFnZSB0bwotICAgIGJ1aWxkIGJ6aXAyLTEuMC4zXGxpYmJ6Mi5saWIgYnkgbWFnaWMgYmVmb3JlIGJ6Mi5weWQgKG9yIGJ6Ml9kLnB5ZCkgaXMKLSAgICBsaW5rZWQgaW4gVlM3LjFcLgotICAgIEhvd2V2ZXIsIHRoZSBiejIgcHJvamVjdCBpcyBub3Qgc21hcnQgZW5vdWdoIHRvIHJlbW92ZSBhbnl0aGluZyB1bmRlcgotICAgIGJ6aXAyLTEuMC4zXCB3aGVuIHlvdSBkbyBhIGNsZWFuLCBzbyBpZiB5b3Ugd2FudCB0byByZWJ1aWxkIGJ6aXAyLmxpYgotICAgIHlvdSBuZWVkIHRvIGNsZWFuIHVwIGJ6aXAyLTEuMC4zXCBieSBoYW5kLgotCi0gICAgVGhlIGJ1aWxkIHN0ZXAgc2hvdWxkbid0IHlpZWxkIGFueSB3YXJuaW5ncyBvciBlcnJvcnMsIGFuZCBzaG91bGQgZW5kCi0gICAgYnkgZGlzcGxheWluZyA2IGJsb2NrcyBlYWNoIHRlcm1pbmF0ZWQgd2l0aAotICAgICAgICBGQzogbm8gZGlmZmVyZW5jZXMgZW5jb3VudGVyZWQKLQotICAgIEFsbCBvZiB0aGlzIG1hbmFnZWQgdG8gYnVpbGQgYnppcDItMS4wLjNcbGliYnoyLmxpYiwgd2hpY2ggdGhlIFB5dGhvbgotICAgIHByb2plY3QgbGlua3MgaW4uCi0KLV9zcWxpdGUzCi0gICAgUHl0aG9uIHdyYXBwZXIgZm9yIFNRTGl0ZSBsaWJyYXJ5LgotICAgIAotICAgIEdldCB0aGUgc291cmNlIGNvZGUgdGhyb3VnaAotICAgIAotICAgIHN2biBleHBvcnQgaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL2V4dGVybmFsL3NxbGl0ZS1zb3VyY2UtMy4zLjQKLSAgICAKLSAgICBUbyB1c2UgdGhlIGV4dGVuc2lvbiBtb2R1bGUgaW4gYSBQeXRob24gYnVpbGQgdHJlZSwgY29weSBzcWxpdGUzLmRsbCBpbnRvCi0gICAgdGhlIFZTNy4xIGZvbGRlci4KLQotX3NzbAotICAgIFB5dGhvbiB3cmFwcGVyIGZvciB0aGUgc2VjdXJlIHNvY2tldHMgbGlicmFyeS4KLQotICAgIEdldCB0aGUgc291cmNlIGNvZGUgdGhyb3VnaAotCi0gICAgc3ZuIGV4cG9ydCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcvcHJvamVjdHMvZXh0ZXJuYWwvb3BlbnNzbC0wLjkuOGEKLQotICAgIEFsdGVybmF0aXZlbHksIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZnJvbSBodHRwOi8vd3d3Lm9wZW5zc2wub3JnLgotICAgIFlvdSBjYW4gKHRoZW9yZXRpY2FsbHkpIHVzZSBhbnkgdmVyc2lvbiBvZiBPcGVuU1NMIHlvdSBsaWtlIC0gdGhlCi0gICAgYnVpbGQgcHJvY2VzcyB3aWxsIGF1dG9tYXRpY2FsbHkgc2VsZWN0IHRoZSBsYXRlc3QgdmVyc2lvbi4KLQotICAgIFlvdSBtdXN0IGFsc28gaW5zdGFsbCBBY3RpdmVQZXJsIGZyb20KLSAgICAgICAgaHR0cDovL3d3dy5hY3RpdmVzdGF0ZS5jb20vUHJvZHVjdHMvQWN0aXZlUGVybC8KLSAgICBhcyB0aGlzIGlzIHVzZWQgYnkgdGhlIE9wZW5TU0wgYnVpbGQgcHJvY2Vzcy4gIENvbXBsYWluIHRvIHRoZW0gPHdpbms+LgotCi0gICAgVGhlIE1TVkMgcHJvamVjdCBzaW1wbHkgaW52b2tlcyBidWlsZF9zc2wucHkgdG8gcGVyZm9ybQotICAgIHRoZSBidWlsZC4gIFRoaXMgUHl0aG9uIHNjcmlwdCBsb2NhdGVzIGFuZCBidWlsZHMgeW91ciBPcGVuU1NMCi0gICAgaW5zdGFsbGF0aW9uLCB0aGVuIGludm9rZXMgYSBzaW1wbGUgbWFrZWZpbGUgdG8gYnVpbGQgdGhlIGZpbmFsIC5weWQuCi0KLSAgICBidWlsZF9zc2wucHkgYXR0ZW1wdHMgdG8gY2F0Y2ggdGhlIG1vc3QgY29tbW9uIGVycm9ycyAoc3VjaCBhcyBub3QKLSAgICBiZWluZyBhYmxlIHRvIGZpbmQgT3BlblNTTCBzb3VyY2VzLCBvciBub3QgYmVpbmcgYWJsZSB0byBmaW5kIGEgUGVybAotICAgIHRoYXQgd29ya3Mgd2l0aCBPcGVuU1NMKSBhbmQgZ2l2ZSBhIHJlYXNvbmFibGUgZXJyb3IgbWVzc2FnZS4KLSAgICBJZiB5b3UgaGF2ZSBhIHByb2JsZW0gdGhhdCBkb2Vzbid0IHNlZW0gdG8gYmUgaGFuZGxlZCBjb3JyZWN0bHkKLSAgICAoZWcsIHlvdSBrbm93IHlvdSBoYXZlIEFjdGl2ZVBlcmwgYnV0IHdlIGNhbid0IGZpbmQgaXQpLCBwbGVhc2UgdGFrZQotICAgIGEgcGVlayBhdCBidWlsZF9zc2wucHkgYW5kIHN1Z2dlc3QgcGF0Y2hlcy4gIE5vdGUgdGhhdCBidWlsZF9zc2wucHkKLSAgICBzaG91bGQgYmUgYWJsZSB0byBiZSBydW4gZGlyZWN0bHkgZnJvbSB0aGUgY29tbWFuZC1saW5lLgotCi0gICAgYnVpbGRfc3NsLnB5L01TVkMgaXNuJ3QgY2xldmVyIGVub3VnaCB0byBjbGVhbiBPcGVuU1NMIC0geW91IG11c3QgZG8KLSAgICB0aGlzIGJ5IGhhbmQuCi0KLUJ1aWxkaW5nIGZvciBJdGFuaXVtCi0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1UaGUgcHJvamVjdCBmaWxlcyBzdXBwb3J0IGEgUmVsZWFzZUl0YW5pdW0gY29uZmlndXJhdGlvbiB3aGljaCBjcmVhdGVzCi1XaW42NC9JdGFuaXVtIGJpbmFyaWVzLiBGb3IgdGhpcyB0byB3b3JrLCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBQbGF0Zm9ybQotU0RLLCBpbiBwYXJ0aWN1bGFyIHRoZSA2NC1iaXQgc3VwcG9ydC4gVGhpcyBpbmNsdWRlcyBhbiBJdGFuaXVtIGNvbXBpbGVyCi0oZnV0dXJlIHJlbGVhc2VzIG9mIHRoZSBTREsgbGlrZWx5IGluY2x1ZGUgYW4gQU1ENjQgY29tcGlsZXIgYXMgd2VsbCkuCi1JbiBhZGRpdGlvbiwgeW91IG5lZWQgdGhlIFZpc3VhbCBTdHVkaW8gcGx1Z2luIGZvciBleHRlcm5hbCBDIGNvbXBpbGVycywKLWZyb20gaHR0cDovL3NmLm5ldC9wcm9qZWN0cy92c2V4dGNvbXAuIFRoZSBwbHVnaW4gd2lsbCB3cmFwIGNsLmV4ZSwgdG8KLWxvY2F0ZSB0aGUgcHJvcGVyIHRhcmdldCBjb21waWxlciwgYW5kIGNvbnZlcnQgY29tcGlsZXIgb3B0aW9ucwotYWNjb3JkaW5nbHkuIFRoZSBwcm9qZWN0IGZpbGVzIHJlcXVpcmUgYXRsZWFzdCB2ZXJzaW9uIDAuOS4KLQotQnVpbGRpbmcgZm9yIEFNRDY0Ci0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlIGJ1aWxkIHByb2Nlc3MgZm9yIHRoZSBSZWxlYXNlQU1ENjQgY29uZmlndXJhdGlvbiBpcyB2ZXJ5IHNpbWlsYXIKLXRvIHRoZSBJdGFuaXVtIGNvbmZpZ3VyYXRpb247IG1ha2Ugc3VyZSB5b3UgdXNlIHRoZSBsYXRlc3QgdmVyc2lvbiBvZgotdnNleHRjb21wLgotCi1CdWlsZGluZyBQeXRob24gVXNpbmcgdGhlIGZyZWUgTVMgVG9vbGtpdCBDb21waWxlcgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlIGJ1aWxkIHByb2Nlc3MgZm9yIFZpc3VhbCBDKysgY2FuIGJlIHVzZWQgYWxtb3N0IHVuY2hhbmdlZCB3aXRoIHRoZSBmcmVlIE1TCi1Ub29sa2l0IENvbXBpbGVyLiBUaGlzIHByb3ZpZGVzIGEgd2F5IG9mIGJ1aWxkaW5nIFB5dGhvbiB1c2luZyBmcmVlbHkKLWF2YWlsYWJsZSBzb2Z0d2FyZS4KLQotTm90ZSB0aGF0IE1pY3Jvc29mdCBoYXZlIHdpdGhkcmF3biB0aGUgZnJlZSBNUyBUb29sa2l0IENvbXBpbGVyLCBzbyB0aGlzIGNhbgotbm8gbG9uZ2VyIGJlIGNvbnNpZGVyZWQgYSBzdXBwb3J0ZWQgb3B0aW9uLiBUaGUgaW5zdHJ1Y3Rpb25zIGFyZSBzdGlsbAotY29ycmVjdCwgYnV0IHlvdSBuZWVkIHRvIGFscmVhZHkgaGF2ZSBhIGNvcHkgb2YgdGhlIGNvbXBpbGVyIGluIG9yZGVyIHRvIHVzZQotdGhlbS4gTWljcm9zb2Z0IG5vdyBzdXBwbHkgVmlzdWFsIEMrKyAyMDA4IEV4cHJlc3MgRWRpdGlvbiBmb3IgZnJlZSwgYnV0IHRoaXMKLWlzIE5PVCBjb21wYXRpYmxlIHdpdGggVmlzdWFsIEMrKyA3LjEgKGl0IHVzZXMgYSBkaWZmZXJlbnQgQyBydW50aW1lKSwgYW5kIHNvCi1jYW5ub3QgYmUgdXNlZCB0byBidWlsZCBhIHZlcnNpb24gb2YgUHl0aG9uIGNvbXBhdGlibGUgd2l0aCB0aGUgc3RhbmRhcmQKLXB5dGhvbi5vcmcgYnVpbGQuIElmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiB1c2luZyBWaXN1YWwgQysrIDIwMDggRXhwcmVzcwotRWRpdGlvbiwgaG93ZXZlciwgeW91IHNob3VsZCBsb29rIGF0IHRoZSBQQ0J1aWxkIGRpcmVjdG9yeS4KLQotUmVxdWlyZW1lbnRzCi0KLSAgICBUbyBidWlsZCBQeXRob24sIHRoZSBmb2xsb3dpbmcgdG9vbHMgYXJlIHJlcXVpcmVkOgotCi0gICAgKiBUaGUgVmlzdWFsIEMrKyBUb29sa2l0IENvbXBpbGVyCi0gICAgICAgIG5vIGxvbmdlciBhdmFpbGFibGUgZm9yIGRvd25sb2FkIC0gc2VlIGFib3ZlCi0gICAgKiBBIHJlY2VudCBQbGF0Zm9ybSBTREsKLSAgICAgICAgZnJvbSBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vZG93bmxvYWRzL2RldGFpbHMuYXNweD9GYW1pbHlJRD00ODQyNjllMi0zYjg5LTQ3ZTMtOGViNy0xZjJiZTZkNzEyM2EKLSAgICAqIFRoZSAuTkVUIDEuMSBTREsKLSAgICAgICAgZnJvbSBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vZG93bmxvYWRzL2RldGFpbHMuYXNweD9GYW1pbHlJRD05YjNhMmNhNi0zNjQ3LTQwNzAtOWY0MS1hMzMzYzZiOTE4MWQKLQotICAgIFtEb2VzIGFueW9uZSBoYXZlIGJldHRlciBVUkxzIGZvciB0aGUgbGFzdCAyIG9mIHRoZXNlP10KLQotICAgIFRoZSB0b29sa2l0IGNvbXBpbGVyIGlzIG5lZWRlZCBhcyBpdCBpcyBhbiBvcHRpbWlzaW5nIGNvbXBpbGVyICh0aGUKLSAgICBjb21waWxlciBzdXBwbGllZCB3aXRoIHRoZSAuTkVUIFNESyBpcyBhIG5vbi1vcHRpbWlzaW5nIHZlcnNpb24pLiBUaGUKLSAgICBwbGF0Zm9ybSBTREsgaXMgbmVlZGVkIHRvIHByb3ZpZGUgdGhlIFdpbmRvd3MgaGVhZGVyIGZpbGVzIGFuZCBsaWJyYXJpZXMKLSAgICAodGhlIFdpbmRvd3MgMjAwMyBTZXJ2ZXIgU1AxIGVkaXRpb24sIHR5cGljYWwgaW5zdGFsbCwgaXMga25vd24gdG8gd29yayAtCi0gICAgb3RoZXIgY29uZmlndXJhdGlvbnMgb3IgdmVyc2lvbnMgYXJlIHByb2JhYmx5IGZpbmUgYXMgd2VsbCkuIFRoZSAuTkVUIDEuMQotICAgIFNESyBpcyBuZWVkZWQgYmVjYXVzZSBpdCBjb250YWlucyBhIHZlcnNpb24gb2YgbXN2Y3J0LmRsbCB3aGljaCBsaW5rcyB0bwotICAgIHRoZSBtc3ZjcjcxLmRsbCBDUlQuIE5vdGUgdGhhdCB0aGUgLk5FVCAyLjAgU0RLIGlzIE5PVCBhY2NlcHRhYmxlLCBhcyBpdAotICAgIHJlZmVyZW5jZXMgbXN2Y3I4MC5kbGwuCi0KLSAgICBBbGwgb2YgdGhlIGFib3ZlIGl0ZW1zIHNob3VsZCBiZSBpbnN0YWxsZWQgYXMgbm9ybWFsLgotCi0gICAgSWYgeW91IGludGVuZCB0byBidWlsZCB0aGUgb3BlbnNzbCAobmVlZGVkIGZvciB0aGUgX3NzbCBleHRlbnNpb24pIHlvdQotICAgIHdpbGwgbmVlZCB0aGUgQyBydW50aW1lIHNvdXJjZXMgaW5zdGFsbGVkIGFzIHBhcnQgb2YgdGhlIHBsYXRmb3JtIFNESy4KLQotICAgIEluIGFkZGl0aW9uLCB5b3Ugd2lsbCBuZWVkIE5hbnQsIGF2YWlsYWJsZSBmcm9tCi0gICAgaHR0cDovL25hbnQuc291cmNlZm9yZ2UubmV0LiBUaGUgMC44NSByZWxlYXNlIGNhbmRpZGF0ZSAzIHZlcnNpb24gaXMga25vd24KLSAgICB0byB3b3JrLiBUaGlzIGlzIHRoZSBsYXRlc3QgcmVsZWFzZWQgdmVyc2lvbiBhdCB0aGUgdGltZSBvZiB3cml0aW5nLiBMYXRlcgotICAgICJuaWdodGx5IGJ1aWxkIiB2ZXJzaW9ucyBhcmUga25vd24gTk9UIHRvIHdvcmsgLSBpdCBpcyBub3QgY2xlYXIgYXQKLSAgICBwcmVzZW50IHdoZXRoZXIgZnV0dXJlIHJlbGVhc2VkIHZlcnNpb25zIHdpbGwgd29yay4KLQotU2V0dGluZyB1cCB0aGUgZW52aXJvbm1lbnQKLQotICAgIFN0YXJ0IGEgcGxhdGZvcm0gU0RLICJidWlsZCBlbnZpcm9ubWVudCB3aW5kb3ciIGZyb20gdGhlIHN0YXJ0IG1lbnUuIFRoZQotICAgICJXaW5kb3dzIFhQIDMyLWJpdCByZXRhaWwiIHZlcnNpb24gaXMga25vd24gdG8gd29yay4KLQotICAgIEFkZCB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHRvIHlvdXIgUEFUSDoKLSAgICAgICAgKiBUaGUgdG9vbGtpdCBjb21waWxlciBkaXJlY3RvcnkKLSAgICAgICAgKiBUaGUgU0RLICJXaW42NCIgYmluYXJpZXMgZGlyZWN0b3J5Ci0JKiBUaGUgTmFudCBkaXJlY3RvcnkKLSAgICBBZGQgdG8geW91ciBJTkNMVURFIGVudmlyb25tZW50IHZhcmlhYmxlOgotICAgICAgICAqIFRoZSB0b29sa2l0IGNvbXBpbGVyIElOQ0xVREUgZGlyZWN0b3J5Ci0gICAgQWRkIHRvIHlvdXIgTElCIGVudmlyb25tZW50IHZhcmlhYmxlOgotICAgICAgICAqIFRoZSB0b29sa2l0IGNvbXBpbGVyIExJQiBkaXJlY3RvcnkKLQkqIFRoZSAuTkVUIFNESyBWaXN1YWwgU3R1ZGlvIDIwMDMgVkM3XGxpYiBkaXJlY3RvcnkKLQotICAgIFRoZSBmb2xsb3dpbmcgY29tbWFuZHMgc2hvdWxkIHNldCB0aGluZ3MgdXAgYXMgeW91IG5lZWQgdGhlbToKLQotICAgICAgICByZW0gU2V0IHRoZXNlIHZhbHVlcyBhY2NvcmRpbmcgdG8gd2hlcmUgeW91IGluc3RhbGxlZCB0aGUgc29mdHdhcmUKLSAgICAgICAgc2V0IFRPT0xLSVQ9QzpcUHJvZ3JhbSBGaWxlc1xNaWNyb3NvZnQgVmlzdWFsIEMrKyBUb29sa2l0IDIwMDMKLSAgICAgICAgc2V0IFNESz1DOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBQbGF0Zm9ybSBTREsKLSAgICAgICAgc2V0IE5FVD1DOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIC5ORVQgMjAwMwotICAgICAgICBzZXQgTkFOVD1DOlxVdGlsc1xOYW50Ci0KLSAgICAgICAgc2V0IFBBVEg9JVRPT0xLSVQlXGJpbjslUEFUSCU7JVNESyVcQmluXHdpbjY0OyVOQU5UJVxiaW4KLSAgICAgICAgc2V0IElOQ0xVREU9JVRPT0xLSVQlXGluY2x1ZGU7JUlOQ0xVREUlCi0gICAgICAgIHNldCBMSUI9JVRPT0xLSVQlXGxpYjslTkVUJVxWQzdcbGliOyVMSUIlCi0KLSAgICBUaGUgIndpbjY0IiBkaXJlY3RvcnkgZnJvbSB0aGUgU0RLIGlzIGFkZGVkIHRvIHN1cHBseSBleGVjdXRhYmxlcyBzdWNoIGFzCi0gICAgImN2dHJlcyIgYW5kICJsaWIiLCB3aGljaCBhcmUgbm90IGF2YWlsYWJsZSBlbHNld2hlcmUuIFRoZSB2ZXJzaW9ucyBpbiB0aGUKLSAgICAid2luNjQiIGRpcmVjdG9yeSBhcmUgMzItYml0IHByb2dyYW1zLCBzbyB0aGV5IGFyZSBmaW5lIHRvIHVzZSBoZXJlLgotCi0gICAgVGhhdCdzIGl0LiBUbyBidWlsZCBQeXRob24gKHRoZSBjb3JlIG9ubHksIG5vIGJpbmFyeSBleHRlbnNpb25zIHdoaWNoCi0gICAgZGVwZW5kIG9uIGV4dGVybmFsIGxpYnJhcmllcykgeW91IGp1c3QgbmVlZCB0byBpc3N1ZSB0aGUgY29tbWFuZAotCi0gICAgICAgIG5hbnQgLWJ1aWxkZmlsZTpweXRob24uYnVpbGQgYWxsCi0KLSAgICBmcm9tIHdpdGhpbiB0aGUgVlM3LjEgZGlyZWN0b3J5LgotCi1FeHRlbnNpb24gbW9kdWxlcwotCi0gICAgVG8gYnVpbGQgdGhvc2UgZXh0ZW5zaW9uIG1vZHVsZXMgd2hpY2ggcmVxdWlyZSBleHRlcm5hbCBsaWJyYXJpZXMKLSAgICAoX3RraW50ZXIsIGJ6MiwgX3NxbGl0ZTMsIF9zc2wpIHlvdSBjYW4gZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMKLSAgICBmb3IgdGhlIFZpc3VhbCBTdHVkaW8gYnVpbGQgYWJvdmUsIHdpdGggYSBmZXcgbWlub3IgbW9kaWZpY2F0aW9ucy4gVGhlc2UKLSAgICBpbnN0cnVjdGlvbnMgaGF2ZSBvbmx5IGJlZW4gdGVzdGVkIHVzaW5nIHRoZSBzb3VyY2VzIGluIHRoZSBQeXRob24KLSAgICBzdWJ2ZXJzaW9uIHJlcG9zaXRvcnkgLSBidWlsZGluZyBmcm9tIG9yaWdpbmFsIHNvdXJjZXMgc2hvdWxkIHdvcmssIGJ1dAotICAgIGhhcyBub3QgYmVlbiB0ZXN0ZWQuCi0KLSAgICBGb3IgZWFjaCBleHRlbnNpb24gbW9kdWxlIHlvdSB3aXNoIHRvIGJ1aWxkLCB5b3Ugc2hvdWxkIHJlbW92ZSB0aGUKLSAgICBhc3NvY2lhdGVkIGluY2x1ZGUgbGluZSBmcm9tIHRoZSBleGNsdWRlcHJvamVjdHMgc2VjdGlvbiBvZiBwYy5idWlsZC4KLQotICAgIFRoZSBjaGFuZ2VzIHJlcXVpcmVkIGFyZToKLQotICAgIF90a2ludGVyCi0gICAgICAgIFRoZSB0aXggbWFrZWZpbGUgKHRpeC04LjQuMFx3aW5cbWFrZWZpbGUudmMpIG11c3QgYmUgbW9kaWZpZWQgdG8KLQlyZW1vdmUgcmVmZXJlbmNlcyB0byBUT09MUzMyLiBUaGUgcmVsZXZhbnQgbGluZXMgc2hvdWxkIGJlIGNoYW5nZWQgdG8KLQlyZWFkOgotICAgICAgICAgICAgY2MzMiA9IGNsLmV4ZQotICAgICAgICAgICAgbGluazMyID0gbGluay5leGUKLSAgICAgICAgICAgIGluY2x1ZGUzMiA9IAotCVRoZSByZW1haW5kZXIgb2YgdGhlIGJ1aWxkIGluc3RydWN0aW9ucyB3aWxsIHdvcmsgYXMgZ2l2ZW4uCi0KLSAgICBiejIKLSAgICAgICAgTm8gY2hhbmdlcyBhcmUgbmVlZGVkCi0KLSAgICBfc3FsaXRlMwotICAgICAgICBObyBjaGFuZ2VzIGFyZSBuZWVkZWQuIEhvd2V2ZXIsIGluIG9yZGVyIGZvciB0aGUgdGVzdHMgdG8gc3VjY2VlZCwgYQotCWNvcHkgb2Ygc3FsaXRlMy5kbGwgbXVzdCBiZSBkb3dubG9hZGVkLCBhbmQgcGxhY2VkIGFsb25nc2lkZQotCXB5dGhvbi5leGUuCi0KLSAgICBfc3NsCi0gICAgICAgIFRoZSBkb2N1bWVudGVkIGJ1aWxkIHByb2Nlc3Mgd29ya3MgYXMgd3JpdHRlbi4gSG93ZXZlciwgaXQgbmVlZHMgYQotCWNvcHkgb2YgdGhlIGZpbGUgc2V0YXJndi5vYmosIHdoaWNoIGlzIG5vdCBzdXBwbGllZCBpbiB0aGUgcGxhdGZvcm0KLQlTREsuIEhvd2V2ZXIsIHRoZSBzb3VyY2VzIGFyZSBhdmFpbGFibGUgKGluIHRoZSBjcnQgc291cmNlIGNvZGUpLiBUbwotCWJ1aWxkIHNldGFyZ3Yub2JqLCBwcm9jZWVkIGFzIGZvbGxvd3M6Ci0KLSAgICAgICAgQ29weSBzZXRhcmd2LmMsIGNydW50aW1lLmggYW5kIGludGVybmFsLmggZnJvbSAlU0RLJVxzcmNcY3J0IHRvIGEKLQl0ZW1wb3JhcnkgZGlyZWN0b3J5LgotCUNvbXBpbGUgdXNpbmcgImNsIC9jIC9JLiAvTUQgL0RfQ1JUQkxEIHNldGFyZ3YuYyIKLQlDb3B5IHRoZSByZXN1bHRpbmcgc2V0YXJndi5vYmogdG8gc29tZXdoZXJlIG9uIHlvdXIgTElCIGVudmlyb25tZW50Ci0JKCVTREslXGxpYiBpcyBhIHJlYXNvbmFibGUgcGxhY2UpLgotCi0JV2l0aCBzZXRhcmd2Lm9iaiBpbiBwbGFjZSwgdGhlIHN0YW5kYXJkIGJ1aWxkIHByb2Nlc3Mgc2hvdWxkIHdvcmsKLQlmaW5lLgotCi1ZT1VSIE9XTiBFWFRFTlNJT04gRExMcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUlmIHlvdSB3YW50IHRvIGNyZWF0ZSB5b3VyIG93biBleHRlbnNpb24gbW9kdWxlIERMTCwgdGhlcmUncyBhbiBleGFtcGxlCi13aXRoIGVhc3ktdG8tZm9sbG93IGluc3RydWN0aW9ucyBpbiAuLi9QQy9leGFtcGxlLzsgcmVhZCB0aGUgZmlsZQotcmVhZG1lLnR4dCB0aGVyZSBmaXJzdC4KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL3JtcHljLnB5IGIvUEMvVlM3LjEvcm1weWMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzYzg1NzYuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvcm1weWMucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0jIFJlbW92ZSBhbGwgdGhlIC5weWMgYW5kIC5weW8gZmlsZXMgdW5kZXIgLi4vTGliLgotCi0KLWRlZiBkZWx0cmVlKHJvb3QpOgotICAgIGltcG9ydCBvcwotICAgIGZyb20gb3MucGF0aCBpbXBvcnQgam9pbgotCi0gICAgbnB5YyA9IG5weW8gPSAwCi0gICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsocm9vdCk6Ci0gICAgICAgIGZvciBuYW1lIGluIGZpbGVzOgotICAgICAgICAgICAgZGVsZXRlID0gRmFsc2UKLSAgICAgICAgICAgIGlmIG5hbWUuZW5kc3dpdGgoJy5weWMnKToKLSAgICAgICAgICAgICAgICBkZWxldGUgPSBUcnVlCi0gICAgICAgICAgICAgICAgbnB5YyArPSAxCi0gICAgICAgICAgICBlbGlmIG5hbWUuZW5kc3dpdGgoJy5weW8nKToKLSAgICAgICAgICAgICAgICBkZWxldGUgPSBUcnVlCi0gICAgICAgICAgICAgICAgbnB5byArPSAxCi0KLSAgICAgICAgICAgIGlmIGRlbGV0ZToKLSAgICAgICAgICAgICAgICBvcy5yZW1vdmUoam9pbihyb290LCBuYW1lKSkKLQotICAgIHJldHVybiBucHljLCBucHlvCi0KLW5weWMsIG5weW8gPSBkZWx0cmVlKCIuLi9MaWIiKQotcHJpbnQgbnB5YywgIi5weWMgZGVsZXRlZCwiLCBucHlvLCAiLnB5byBkZWxldGVkIgpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvcnQuYmF0IGIvUEMvVlM3LjEvcnQuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCBhOTEwYTc5Li4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL3J0LmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLUBlY2hvIG9mZgotcmVtIFJ1biBUZXN0cy4gIFJ1biB0aGUgcmVncmVzc2lvbiB0ZXN0IHN1aXRlLgotcmVtIFVzYWdlOiAgcnQgWy1kXSBbLU9dIFstcV0gcmVncnRlc3RfYXJncwotcmVtIC1kICAgUnVuIERlYnVnIGJ1aWxkIChweXRob25fZC5leGUpLiAgRWxzZSByZWxlYXNlIGJ1aWxkLgotcmVtIC1PICAgUnVuIHB5dGhvbi5leGUgb3IgcHl0aG9uX2QuZXhlIChzZWUgLWQpIHdpdGggLU8uCi1yZW0gLXEgICAicXVpY2siIC0tIG5vcm1hbGx5IHRoZSB0ZXN0cyBhcmUgcnVuIHR3aWNlLCB0aGUgZmlyc3QgdGltZQotcmVtICAgICAgYWZ0ZXIgZGVsZXRpbmcgYWxsIHRoZSAucHlbY29dIGZpbGVzIHJlYWNoYWJsZSBmcm9tIExpYi8uCi1yZW0gICAgICAtcSBydW5zIHRoZSB0ZXN0cyBqdXN0IG9uY2UsIGFuZCB3aXRob3V0IGRlbGV0aW5nIC5weVtjb10gZmlsZXMuCi1yZW0gQWxsIGxlYWRpbmcgaW5zdGFuY2VzIG9mIHRoZXNlIHN3aXRjaGVzIGFyZSBzaGlmdGVkIG9mZiwgYW5kCi1yZW0gd2hhdGV2ZXIgcmVtYWlucyBpcyBwYXNzZWQgdG8gcmVncnRlc3QucHkuICBGb3IgZXhhbXBsZSwKLXJlbSAgICAgcnQgLU8gLWQgLXggdGVzdF90aHJlYWQKLXJlbSBydW5zCi1yZW0gICAgIHB5dGhvbl9kIC1PIC4uLy4uL2xpYi90ZXN0L3JlZ3J0ZXN0LnB5IC14IHRlc3RfdGhyZWFkCi1yZW0gdHdpY2UsIGFuZAotcmVtICAgICBydCAtcSAtZyB0ZXN0X2JpbmFzY2lpCi1yZW0gcnVucwotcmVtICAgICBweXRob25fZCAuLi8uLi9saWIvdGVzdC9yZWdydGVzdC5weSAtZyB0ZXN0X2JpbmFzY2lpCi1yZW0gdG8gZ2VuZXJhdGUgdGhlIGV4cGVjdGVkLW91dHB1dCBmaWxlIGZvciBiaW5hc2NpaSBxdWlja2x5LgotcmVtCi1yZW0gQ29uZnVzaW5nOiAgaWYgeW91IHdhbnQgdG8gcGFzcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCBsaWtlCi1yZW0gICAgIC11IG5ldHdvcmssbGFyZ2VmaWxlCi1yZW0gdGhlbiB5b3UgaGF2ZSB0byBxdW90ZSBpdCBvbiB0aGUgcnQgbGluZSwgbGlrZQotcmVtICAgICBydCAtdSAibmV0d29yayxsYXJnZWZpbGUiCi0KLXNldGxvY2FsCi0KLXNldCBleGU9cHl0aG9uCi1zZXQgcW1vZGU9Ci1zZXQgZGFzaE89Ci1QQVRIICVQQVRIJTslfmRwMC4uXC4uXC4uXHRjbHRrXGJpbgotCi06Q2hlY2tPcHRzCi1pZiAiJTEiPT0iLU8iIChzZXQgZGFzaE89LU8pICAgICAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLWlmICIlMSI9PSItcSIgKHNldCBxbW9kZT15ZXMpICAgICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii1kIiAoc2V0IGV4ZT1weXRob25fZCkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi0KLXNldCBjbWQ9JWV4ZSUgJWRhc2hPJSAtRSAuLi8uLi9saWIvdGVzdC9yZWdydGVzdC5weSAlMSAlMiAlMyAlNCAlNSAlNiAlNyAlOCAlOQotaWYgZGVmaW5lZCBxbW9kZSBnb3RvIFFtb2RlCi0KLWVjaG8gRGVsZXRpbmcgLnB5Yy8ucHlvIGZpbGVzIC4uLgotJWV4ZSUgcm1weWMucHkKLQotZWNobyBvbgotJWNtZCUKLUBlY2hvIG9mZgotCi1lY2hvIEFib3V0IHRvIHJ1biBhZ2FpbiB3aXRob3V0IGRlbGV0aW5nIC5weWMvLnB5byBmaXJzdDoKLXBhdXNlCi0KLTpRbW9kZQotZWNobyBvbgotJWNtZCUKZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL3NlbGVjdC52Y3Byb2ogYi9QQy9WUzcuMS9zZWxlY3QudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MjUyZDQ1Li4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL3NlbGVjdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNTggKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9InNlbGVjdCINCi0JU2NjUHJvamVjdE5hbWU9InNlbGVjdCINCi0JU2NjTG9jYWxQYXRoPSIuLiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1yZWxlYXNlXHNlbGVjdCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtOREVCVUc7V0lOMzI7X1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9IlRSVUUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0iVFJVRSINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9zZWxlY3QucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vc2VsZWN0LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3NlbGVjdC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdcc2VsZWN0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7X0RFQlVHO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi9zZWxlY3RfZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjLG1zdmNydCINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vc2VsZWN0X2QucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vc2VsZWN0X2QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUl0YW5pdW18V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXGlhNjQtdGVtcC1yZWxlYXNlXHNlbGVjdCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX0lUQU5JVU0gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO05ERUJVRztXSU4zMjtfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vc2VsZWN0LnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3NlbGVjdC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9zZWxlY3QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImFtZDY0LXRlbXAtcmVsZWFzZVxzZWxlY3QiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19PUFRFUk9OIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7TkRFQlVHO1dJTjMyO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4vc2VsZWN0LnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3NlbGVjdC5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9zZWxlY3QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2VsZWN0bW9kdWxlLmMiPg0KLQkJPC9GaWxlPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzcuMS91bmljb2RlZGF0YS52Y3Byb2ogYi9QQy9WUzcuMS91bmljb2RlZGF0YS52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdmNDdmOWIuLjAwMDAwMDAKLS0tIGEvUEMvVlM3LjEvdW5pY29kZWRhdGEudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjQ3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI3LjEwIg0KLQlOYW1lPSJ1bmljb2RlZGF0YSINCi0JU2NjUHJvamVjdE5hbWU9InVuaWNvZGVkYXRhIg0KLQlTY2NMb2NhbFBhdGg9Ii4uIj4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIi8+DQotCTwvUGxhdGZvcm1zPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLXJlbGVhc2VcdW5pY29kZWRhdGEiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMO01NQVBfRVhQT1JUUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUNvbXBpbGVBcz0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3VuaWNvZGVkYXRhLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi91bmljb2RlZGF0YS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vdW5pY29kZWRhdGEubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXHg4Ni10ZW1wLWRlYnVnXHVuaWNvZGVkYXRhIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO19ERUJVRztfV0lORE9XUztfVVNSRExMO01NQVBfRVhQT1JUUyINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iLi91bmljb2RlZGF0YV9kLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3VuaWNvZGVkYXRhX2QucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3VuaWNvZGVkYXRhX2QubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUl0YW5pdW18V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuXC4iDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIuXGlhNjQtdGVtcC1yZWxlYXNlXHVuaWNvZGVkYXRhIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX0lUQU5JVU0gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMO01NQVBfRVhQT1JUUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6SUE2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCU91dHB1dEZpbGU9Ii4vdW5pY29kZWRhdGEucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3VuaWNvZGVkYXRhLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi91bmljb2RlZGF0YS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlQU1ENjR8V2luMzIiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iYW1kNjQtdGVtcC1yZWxlYXNlXHVuaWNvZGVkYXRhIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL1VTRUNMOk1TX09QVEVST04gL0dTLSINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSwuLlwuLlxQQyINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlB5X0JVSUxEX0NPUkVfTU9EVUxFO1dJTjMyO05ERUJVRztfV0lORE9XUztfVVNSRExMO01NQVBfRVhQT1JUUyINCi0JCQkJU3RyaW5nUG9vbGluZz0iVFJVRSINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIwIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJQnVmZmVyU2VjdXJpdHlDaGVjaz0iRkFMU0UiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJUUlVFIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURldGVjdDY0Qml0UG9ydGFiaWxpdHlQcm9ibGVtcz0iVFJVRSINCi0JCQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6QU1ENjQgL1VTRUxJTks6TVNfU0RLIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3VuaWNvZGVkYXRhLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi91bmljb2RlZGF0YS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vdW5pY29kZWRhdGEubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbGUNCi0JCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdW5pY29kZWRhdGEuYyI+DQotCQk8L0ZpbGU+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL3c5eHBvcGVuLnZjcHJvaiBiL1BDL1ZTNy4xL3c5eHBvcGVuLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjlmM2I0ZS4uMDAwMDAwMAotLS0gYS9QQy9WUzcuMS93OXhwb3Blbi52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMjEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjcuMTAiDQotCU5hbWU9Inc5eHBvcGVuIg0KLQlTY2NQcm9qZWN0TmFtZT0iIg0KLQlTY2NMb2NhbFBhdGg9IiI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdcdzl4cG9wZW4iDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7X0RFQlVHO19XSU5ET1dTIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjMiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlVc2VQcmVjb21waWxlZEhlYWRlcj0iMiINCi0JCQkJV2FybmluZ0xldmVsPSIzIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCURlYnVnSW5mb3JtYXRpb25Gb3JtYXQ9IjMiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iLi93OXhwb3Blbl9kLmV4ZSINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3c5eHBvcGVuX2QucGRiIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtcmVsZWFzZVx3OXhwb3BlbiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7TkRFQlVHO19XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIuXC4vdzl4cG9wZW4uZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3c5eHBvcGVuLnBkYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1x3OXhwb3Blbi5jIj4NCi0JCTwvRmlsZT4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM3LjEvd2luc291bmQudmNwcm9qIGIvUEMvVlM3LjEvd2luc291bmQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYzRjZjM5Li4wMDAwMDAwCi0tLSBhL1BDL1ZTNy4xL3dpbnNvdW5kLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDI1MSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iNy4xMCINCi0JTmFtZT0id2luc291bmQiDQotCVNjY1Byb2plY3ROYW1lPSJ3aW5zb3VuZCINCi0JU2NjTG9jYWxQYXRoPSIuLlwuLlxwYyI+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiIvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii5cLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9Ii5ceDg2LXRlbXAtZGVidWdcd2luc291bmQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9IkZBTFNFIg0KLQkJCUNoYXJhY3RlclNldD0iMiI+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlLC4uXC4uXFBDIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUHlfQlVJTERfQ09SRV9NT0RVTEU7V0lOMzI7X0RFQlVHO19XSU5ET1dTO19VU1JETEw7V0lOU09VTkRfRVhQT1JUUyINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJVXNlUHJlY29tcGlsZWRIZWFkZXI9IjIiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3dpbnNvdW5kX2QucHlkIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vd2luc291bmRfZC5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vd2luc291bmRfZC5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYkRlcGxveW1lbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0F1eGlsaWFyeU1hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlx4ODYtdGVtcC1yZWxlYXNlXHdpbnNvdW5kIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJGQUxTRSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtOREVCVUc7X1dJTkRPV1M7X1VTUkRMTDtXSU5TT1VORF9FWFBPUlRTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJQ29tcGlsZUFzPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi93aW5zb3VuZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vd2luc291bmQucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3dpbnNvdW5kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2VJdGFuaXVtfFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLlwuIg0KLQkJCUludGVybWVkaWF0ZURpcmVjdG9yeT0iLlxpYTY0LXRlbXAtcmVsZWFzZVx3aW5zb3VuZCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19JVEFOSVVNIC9HUy0iDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtOREVCVUc7X1dJTkRPV1M7X1VTUkRMTDtXSU5TT1VORF9FWFBPUlRTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuL3dpbnNvdW5kLnB5ZCINCi0JCQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi93aW5zb3VuZC5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vd2luc291bmQubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJEZXBsb3ltZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBdXhpbGlhcnlNYW5hZ2VkV3JhcHBlckdlbmVyYXRvclRvb2wiLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZUFNRDY0fFdpbjMyIg0KLQkJCU91dHB1dERpcmVjdG9yeT0iLiINCi0JCQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9ImFtZDY0LXRlbXAtcmVsZWFzZVx3aW5zb3VuZCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iRkFMU0UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIj4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iIC9VU0VDTDpNU19PUFRFUk9OIC9HUy0iDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUsLi5cLi5cUEMiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRTtXSU4zMjtOREVCVUc7X1dJTkRPV1M7X1VTUkRMTDtXSU5TT1VORF9FWFBPUlRTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJUUlVFIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjAiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlCdWZmZXJTZWN1cml0eUNoZWNrPSJGQUxTRSINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9IlRSVUUiDQotCQkJCVVzZVByZWNvbXBpbGVkSGVhZGVyPSIyIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCi0JCQkJRGV0ZWN0NjRCaXRQb3J0YWJpbGl0eVByb2JsZW1zPSJUUlVFIg0KLQkJCQlEZWJ1Z0luZm9ybWF0aW9uRm9ybWF0PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpBTUQ2NCAvVVNFTElOSzpNU19TREsiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkJT3V0cHV0RmlsZT0iLi93aW5zb3VuZC5weWQiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vd2luc291bmQucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3dpbnNvdW5kLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIi8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViRGVwbG95bWVudFRvb2wiLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRXcmFwcGVyR2VuZXJhdG9yVG9vbCIvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXV4aWxpYXJ5TWFuYWdlZFdyYXBwZXJHZW5lcmF0b3JUb29sIi8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1x3aW5zb3VuZC5jIj4NCi0JCTwvRmlsZT4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvX2N0eXBlcy52Y3Byb2ogYi9QQy9WUzguMC9fY3R5cGVzLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODk3MzIzMy4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9fY3R5cGVzLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDcwNSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0iX2N0eXBlcyINCi0JUHJvamVjdEdVSUQ9InswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9Ig0KLQlSb290TmFtZXNwYWNlPSJfY3R5cGVzIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvRVhQT1JUOkRsbEdldENsYXNzT2JqZWN0LFBSSVZBVEUgL0VYUE9SVDpEbGxDYW5VbmxvYWROb3csUFJJVkFURSINCi0JCQkJU3ViU3lzdGVtPSIwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDFBMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL0VYUE9SVDpEbGxHZXRDbGFzc09iamVjdCxQUklWQVRFIC9FWFBPUlQ6RGxsQ2FuVW5sb2FkTm93LFBSSVZBVEUiDQotCQkJCVN1YlN5c3RlbT0iMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxQTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2YyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9FWFBPUlQ6RGxsR2V0Q2xhc3NPYmplY3QsUFJJVkFURSAvRVhQT1JUOkRsbENhblVubG9hZE5vdyxQUklWQVRFIg0KLQkJCQlTdWJTeXN0ZW09IjAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMUEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjdHlwZXMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjdHlwZXNfZGxmY24uaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZmkuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xsaWJmZmlfbXN2Y1xmZmlfY29tbW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpY29uZmlnLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcZmZpdGFyZ2V0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXF9jdHlwZXMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjYWxsYmFja3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xjYWxscHJvYy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGNmaWVsZC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXGxpYmZmaV9tc3ZjXGZmaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY3R5cGVzXG1hbGxvY19jbG9zdXJlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNccHJlcF9jaWYuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xzdGdkaWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luMzIuYyINCi0JCQkJPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIg0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcbGliZmZpX21zdmNcd2luNjQuYXNtIg0KLQkJCQk+DQotCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkJQ29tbWFuZExpbmU9Im1sNjQgL25vbG9nbyAvYyAvWmkgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCQkJPg0KLQkJCQkJPFRvb2wNCi0JCQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkJCQlDb21tYW5kTGluZT0ibWw2NCAvbm9sb2dvIC9jIC9GbyAmcXVvdDskKEludERpcilcd2luNjQub2JqJnF1b3Q7ICZxdW90OyQoSW5wdXRQYXRoKSZxdW90OyYjeDBEOyYjeDBBOyINCi0JCQkJCQlPdXRwdXRzPSIkKEludERpcilcd2luNjQub2JqIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSINCi0JCQkJCT4NCi0JCQkJCTxUb29sDQotCQkJCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJLz4NCi0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJCQk+DQotCQkJCQk8VG9vbA0KLQkJCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCQkJCUNvbW1hbmRMaW5lPSJtbDY0IC9ub2xvZ28gL2MgL0ZvICZxdW90OyQoSW50RGlyKVx3aW42NC5vYmomcXVvdDsgJnF1b3Q7JChJbnB1dFBhdGgpJnF1b3Q7JiN4MEQ7JiN4MEE7Ig0KLQkJCQkJCU91dHB1dHM9IiQoSW50RGlyKVx3aW42NC5vYmoiDQotCQkJCQkvPg0KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9fZWxlbWVudHRyZWUudmNwcm9qIGIvUEMvVlM4LjAvX2VsZW1lbnR0cmVlLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDU3ZGE3Mi4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9fZWxlbWVudHRyZWUudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjEzICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJfZWxlbWVudHRyZWUiDQotCVByb2plY3RHVUlEPSJ7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfSINCi0JUm9vdE5hbWVzcGFjZT0iX2VsZW1lbnR0cmVlIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1VTRV9QWUVYUEFUX0NBUEk7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iWE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtVU0VfUFlFWFBBVF9DQVBJO1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlhNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7VVNFX1BZRVhQQVRfQ0FQSTtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxhc2NpaS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxhc2NpaXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxleHBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxleHBhdF9jb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcZXhwYXRfZXh0ZXJuYWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcaWFzY2lpdGFiLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGludGVybmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XGxhdGluMXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxtYWNjb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcbmFtZXRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFxweWV4cGF0bnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRcdXRmOHRhYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx3aW5jb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXhwYXRceG1scm9sZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWx0b2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9lbGVtZW50dHJlZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL19oYXNobGliLnZjcHJvaiBiL1BDL1ZTOC4wL19oYXNobGliLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjAzMWUyZS4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9faGFzaGxpYi52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzcgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9Il9oYXNobGliIg0KLQlQcm9qZWN0R1VJRD0iezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0iDQotCVJvb3ROYW1lc3BhY2U9Il9oYXNobGliIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2hhc2hvcGVuc3NsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvX21zaS52Y3Byb2ogYi9QQy9WUzguMC9fbXNpLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTk5NzFjNi4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9fbXNpLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyOSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0iX21zaSINCi0JUHJvamVjdEdVSUQ9InszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9Ig0KLQlSb290TmFtZXNwYWNlPSJfbXNpIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZmNpLmxpYiBtc2kubGliIHJwY3J0NC5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTYwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJmY2kubGliIG1zaS5saWIgcnBjcnQ0LmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImZjaS5saWIgbXNpLmxpYiBycGNydDQubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE2MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xfbXNpLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvX211bHRpcHJvY2Vzc2luZy52Y3Byb2ogYi9QQy9WUzguMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGYxY2FmYy4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU0NSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0iX211bHRpcHJvY2Vzc2luZyINCi0JUHJvamVjdEdVSUQ9Ins5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9Ig0KLQlSb290TmFtZXNwYWNlPSJfbXVsdGlwcm9jZXNzaW5nIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXG11bHRpcHJvY2Vzc2luZy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xtdWx0aXByb2Nlc3NpbmcuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xzZW1hcGhvcmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1x3aW4zMl9mdW5jdGlvbnMuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9fc29ja2V0LnZjcHJvaiBiL1BDL1ZTOC4wL19zb2NrZXQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWJkOTgyLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL19zb2NrZXQudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTM3ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJfc29ja2V0Ig0KLQlQcm9qZWN0R1VJRD0iezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0iDQotCVJvb3ROYW1lc3BhY2U9Il9zb2NrZXQiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxRDAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMUQwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTFEMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNvY2tldG1vZHVsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc29ja2V0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvX3NxbGl0ZTMudmNwcm9qIGIvUEMvVlM4LjAvX3NxbGl0ZTMudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NGYxOWYxLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL19zcWxpdGUzLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDYxMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0iX3NxbGl0ZTMiDQotCVByb2plY3RHVUlEPSJ7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fSINCi0JUm9vdE5hbWVzcGFjZT0iX3NxbGl0ZTMiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi5cc3FsaXRlLTMuNi4yMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uXHNxbGl0ZS0zLjYuMjEiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLlxzcWxpdGUtMy42LjIxIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uXHNxbGl0ZS0zLjYuMjEiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi5cc3FsaXRlLTMuNi4yMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cLi5cc3FsaXRlLTMuNi4yMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik1PRFVMRV9OQU1FPVwmcXVvdDtzcWxpdGUzXCZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUxODAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXC4uXHNxbGl0ZS0zLjYuMjEiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJNT0RVTEVfTkFNRT1cJnF1b3Q7c3FsaXRlM1wmcXVvdDsiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMTgwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLlxzcWxpdGUtMy42LjIxIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTU9EVUxFX05BTUU9XCZxdW90O3NxbGl0ZTNcJnF1b3Q7Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTE4MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcY2FjaGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjb25uZWN0aW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcY3Vyc29yLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcbWljcm9wcm90b2NvbHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtb2R1bGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxwcmVwYXJlX3Byb3RvY29sLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVccm93LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcc3FsaXRlY29tcGF0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcc3RhdGVtZW50LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcWxpdGVcdXRpbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjYWNoZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXGNvbm5lY3Rpb24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxjdXJzb3IuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxtaWNyb3Byb3RvY29scy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc3FsaXRlXHByZXBhcmVfcHJvdG9jb2wuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxyb3cuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVxzdGF0ZW1lbnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NxbGl0ZVx1dGlsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvX3NzbC52Y3Byb2ogYi9QQy9WUzguMC9fc3NsLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDkyNjdhNC4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9fc3NsLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0iX3NzbCINCi0JUHJvamVjdEdVSUQ9IntDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9Ig0KLQlSb290TmFtZXNwYWNlPSJfc3NsIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jNjQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQ2NFxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQob3BlbnNzbERpcilcaW5jMzIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxsaWJlYXkzMi5saWIgJChvcGVuc3NsRGlyKVxvdXQzMlxzc2xlYXkzMi5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChvcGVuc3NsRGlyKVxpbmMzMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXGxpYmVheTMyLmxpYiAkKG9wZW5zc2xEaXIpXG91dDMyXHNzbGVheTMyLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzMyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0MzJcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0MzJcc3NsZWF5MzIubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKG9wZW5zc2xEaXIpXGluYzY0Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliICQob3BlbnNzbERpcilcb3V0NjRcbGliZWF5MzIubGliICQob3BlbnNzbERpcilcb3V0NjRcc3NsZWF5MzIubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3NzbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL190a2ludGVyLnZjcHJvaiBiL1BDL1ZTOC4wL190a2ludGVyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTcwMGJkZS4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9fdGtpbnRlci52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1NDEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9Il90a2ludGVyIg0KLQlQcm9qZWN0R1VJRD0iezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0iDQotCVJvb3ROYW1lc3BhY2U9Il90a2ludGVyIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGtEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSVRIX0FQUElOSVQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQodGNsdGtMaWJEZWJ1ZykiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliRGVidWcpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKHRjbHRrRGlyKVxpbmNsdWRlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lUSF9BUFBJTklUIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKHRjbHRrTGliKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGtEaXIpXGluY2x1ZGUiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSVRIX0FQUElOSVQiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQodGNsdGtMaWIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliKSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJCh0Y2x0a0RpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0a0xpYikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQodGNsdGs2NERpcilcaW5jbHVkZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJVEhfQVBQSU5JVCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJCh0Y2x0azY0TGliKSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90a2ludGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHRrYXBwaW5pdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2JkaXN0X3dpbmluc3QudmNwcm9qIGIvUEMvVlM4LjAvYmRpc3Rfd2luaW5zdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQxMWVkZjIuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvYmRpc3Rfd2luaW5zdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwyNzAgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImJkaXN0X3dpbmluc3QiDQotCVByb2plY3RHVUlEPSJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi0JUm9vdE5hbWVzcGFjZT0id2luaW5zdCINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlPdXRwdXREaXJlY3Rvcnk9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJTWtUeXBMaWJDb21wYXRpYmxlPSJ0cnVlIg0KLQkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9InRydWUiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIxIg0KLQkJCQlUeXBlTGlicmFyeU5hbWU9Ii5cLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QudGxiIg0KLQkJCQlIZWFkZXJGaWxlTmFtZT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIxIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUENcYmRpc3Rfd2luaW5zdDsuLlwuLlxJbmNsdWRlOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCVdhcm5pbmdMZXZlbD0iMyINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIwIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQQzsuLlwuLlxQQ1xiZGlzdF93aW5pbnN0Oy4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9ImNvbWN0bDMyLmxpYiBpbWFnZWhscC5saWIiDQotCQkJCU91dHB1dEZpbGU9Ii4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LTguMC5leGUiDQotCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJMSUJDIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC04LjAucGRiIg0KLQkJCQlTdWJTeXN0ZW09IjIiDQotCQkJCVJhbmRvbWl6ZWRCYXNlQWRkcmVzcz0iMSINCi0JCQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJT3V0cHV0RGlyZWN0b3J5PSIkKFBsYXRmb3JtTmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSkiDQotCQkJSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFBsYXRmb3JtTmFtZSlcJChDb25maWd1cmF0aW9uTmFtZSkiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCU1rVHlwTGliQ29tcGF0aWJsZT0idHJ1ZSINCi0JCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJ0cnVlIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkJVHlwZUxpYnJhcnlOYW1lPSIuXC4uXC4uXGxpYlxkaXN0dXRpbHNcY29tbWFuZFx3aW5pbnN0LnRsYiINCi0JCQkJSGVhZGVyRmlsZU5hbWU9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMSINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3Q7Li5cLi5cSW5jbHVkZTsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlXYXJuaW5nTGV2ZWw9IjMiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUEM7Li5cLi5cUENcYmRpc3Rfd2luaW5zdDsuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJjb21jdGwzMi5saWIgaW1hZ2VobHAubGliIg0KLQkJCQlPdXRwdXRGaWxlPSIuLlwuLlxsaWJcZGlzdHV0aWxzXGNvbW1hbmRcd2luaW5zdC04LjAtYW1kNjQuZXhlIg0KLQkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQotCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0idHJ1ZSINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0iTElCQyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLi5cLi5cbGliXGRpc3R1dGlsc1xjb21tYW5kXHdpbmluc3QtOC4wLWFtZDY0LnBkYiINCi0JCQkJU3ViU3lzdGVtPSIyIg0KLQkJCQlSYW5kb21pemVkQmFzZUFkZHJlc3M9IjEiDQotCQkJCURhdGFFeGVjdXRpb25QcmV2ZW50aW9uPSIwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O3JjO2RlZjtyO29kbDtpZGw7aHBqO2JhdCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xiZGlzdF93aW5pbnN0XGV4dHJhY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcaW5zdGFsbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iemxpYiINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcYWRsZXIzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxjcmMzMi5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mdHJlZXMuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCUZpbHRlcj0iaDtocHA7aHh4O2htO2lubCINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xiZGlzdF93aW5pbnN0XGFyY2hpdmUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iaWNvO2N1cjtibXA7ZGxnO3JjMjtyY3Q7YmluO3JncztnaWY7anBnO2pwZWc7anBlIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcaW5zdGFsbC5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGJkaXN0X3dpbmluc3RcUHl0aG9uUG93ZXJlZC5ibXAiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvYnVpbGQuYmF0IGIvUEMvVlM4LjAvYnVpbGQuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmM4MTg2Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL2J1aWxkLmJhdAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLUBlY2hvIG9mZgotcmVtIEEgYmF0Y2ggcHJvZ3JhbSB0byBidWlsZCBvciByZWJ1aWxkIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uLgotcmVtIGp1c3QgZm9yIGNvbnZlbmllbmNlLgotCi1zZXRsb2NhbAotc2V0IHBsYXRmPVdpbjMyCi1zZXQgY29uZj1SZWxlYXNlCi1zZXQgYnVpbGQ9L2J1aWxkCi0KLTpDaGVja09wdHMKLWlmICIlMSI9PSItYyIgKHNldCBjb25mPSUyKSAgICAgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLWlmICIlMSI9PSItcCIgKHNldCBwbGF0Zj0lMikgJiBzaGlmdCAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLWlmICIlMSI9PSItciIgKHNldCBidWlsZD0vcmVidWlsZCkgICAgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi0KLXNldCBjbWQ9ZGV2ZW52IHBjYnVpbGQuc2xuICVidWlsZCUgIiVjb25mJXwlcGxhdGYlIgotZWNobyAlY21kJQotJWNtZCUKZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2J1aWxkX2Vudi5iYXQgYi9QQy9WUzguMC9idWlsZF9lbnYuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzY3YWUzLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL2J1aWxkX2Vudi5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1AJWNvbXNwZWMlIC9rIGVudi5iYXQgJSoKZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2J1aWxkX3Bnby5iYXQgYi9QQy9WUzguMC9idWlsZF9wZ28uYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMzdiNWJmLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL2J1aWxkX3Bnby5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1AZWNobyBvZmYKLXJlbSBBIGJhdGNoIHByb2dyYW0gdG8gYnVpbGQgUEdPIChQcm9maWxlIGd1aWRlZCBvcHRpbWl6YXRpb24pIGJ5IGZpcnN0Ci1yZW0gYnVpbGRpbmcgaW5zdHJ1bWVudGVkIGJpbmFyaWVzLCB0aGVuIHJ1bm5pbmcgdGhlIHRlc3RzdWl0ZSwgYW5kCi1yZW0gZmluYWxseSBidWlsZGluZyB0aGUgb3B0aW1pemVkIGNvZGUuCi1yZW0gTm90ZSwgYWZ0ZXIgdGhlIGZpcnN0IGluc3RydW1lbnRlZCBydW4sIG9uZSBjYW4ganVzdCBrZWVwIG9uCi1yZW0gYnVpbGRpbmcgdGhlIFBHVXBkYXRlIGNvbmZpZ3VyYXRpb24gd2hpbGUgZGV2ZWxvcGluZy4KLQotc2V0bG9jYWwKLXNldCBwbGF0Zj1XaW4zMgotCi1yZW0gdXNlIHRoZSBwZXJmb3JtYW5jZSB0ZXN0c3VpdGUuICBUaGlzIGlzIHF1aWNrIGFuZCBzaW1wbGUKLXNldCBqb2IxPS4uXC4uXHRvb2xzXHB5YmVuY2hccHliZW5jaC5weSAtbiAxIC1DIDEgLS13aXRoLWdjCi1zZXQgcGF0aDE9Li5cLi5cdG9vbHNccHliZW5jaAotCi1yZW0gb3IgdGhlIHdob2xlIHRlc3RzdWl0ZSBmb3IgbW9yZSB0aG9yb3VnaCB0ZXN0aW5nCi1zZXQgam9iMj0uLlwuLlxsaWJcdGVzdFxyZWdydGVzdC5weQotc2V0IHBhdGgyPS4uXC4uXGxpYgotCi1zZXQgam9iPSVqb2IxJQotc2V0IGNscnBhdGg9JXBhdGgxJQotCi06Q2hlY2tPcHRzCi1pZiAiJTEiPT0iLXAiIChzZXQgcGxhdGY9JTIpICYgc2hpZnQgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi1pZiAiJTEiPT0iLTIiIChzZXQgam9iPSVqb2IyJSkgJiAoc2V0IGNscnBhdGg9JXBhdGgyJSkgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi0KLXNldCBQR0k9JXBsYXRmJS1wZ2kKLXNldCBQR089JXBsYXRmJS1wZ28KLQotQGVjaG8gb24KLXJlbSBidWlsZCB0aGUgaW5zdHJ1bWVudGVkIHZlcnNpb24KLWNhbGwgYnVpbGQgLXAgJXBsYXRmJSAtYyBQR0luc3RydW1lbnQKLQotcmVtIHJlbW92ZSAucHljIGZpbGVzLCAucGdjIGZpbGVzIGFuZCBleGVjdXRlIHRoZSBqb2IKLSVQR0klXHB5dGhvbi5leGUgcm1weWMucHkgJWNscnBhdGglCi1kZWwgJVBHSSVcKi5wZ2MKLSVQR0klXHB5dGhvbi5leGUgJWpvYiUKLQotcmVtIGZpbmFsbHkgYnVpbGQgdGhlIG9wdGltaXplZCB2ZXJzaW9uCi1pZiBleGlzdCAlUEdPJSBkZWwgL3MgL3EgJVBHTyUKLWNhbGwgYnVpbGQgLXAgJXBsYXRmJSAtYyBQR1VwZGF0ZQotCmRpZmYgLS1naXQgYS9QQy9WUzguMC9idWlsZF9zc2wuYmF0IGIvUEMvVlM4LjAvYnVpbGRfc3NsLmJhdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzU3YjA4Yi4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9idWlsZF9zc2wuYmF0CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotQGVjaG8gb2ZmCi1pZiBub3QgZGVmaW5lZCBIT1NUX1BZVEhPTiAoCi0gIGlmICUxIEVRVSBEZWJ1ZyAoCi0gICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbl9kLmV4ZQotICAgIGlmIG5vdCBleGlzdCBweXRob24zM19kLmRsbCBleGl0IDEKLSAgKSBFTFNFICgKLSAgICBzZXQgSE9TVF9QWVRIT049cHl0aG9uLmV4ZQotICAgIGlmIG5vdCBleGlzdCBweXRob24zMy5kbGwgZXhpdCAxCi0gICkKLSkKLSVIT1NUX1BZVEhPTiUgYnVpbGRfc3NsLnB5ICUxICUyICUzCi0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2J1aWxkX3NzbC5weSBiL1BDL1ZTOC4wL2J1aWxkX3NzbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGMxM2VmNS4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9idWlsZF9zc2wucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyNzcgKzAsMCBAQAotIyBTY3JpcHQgZm9yIGJ1aWxkaW5nIHRoZSBfc3NsIGFuZCBfaGFzaGxpYiBtb2R1bGVzIGZvciBXaW5kb3dzLgotIyBVc2VzIFBlcmwgdG8gc2V0dXAgdGhlIE9wZW5TU0wgZW52aXJvbm1lbnQgY29ycmVjdGx5Ci0jIGFuZCBidWlsZCBPcGVuU1NMLCB0aGVuIGludm9rZXMgYSBzaW1wbGUgbm1ha2Ugc2Vzc2lvbgotIyBmb3IgdGhlIGFjdHVhbCBfc3NsLnB5ZCBhbmQgX2hhc2hsaWIucHlkIERMTHMuCi0KLSMgVEhFT1JFVElDQUxMWSwgeW91IGNhbjoKLSMgKiBVbnBhY2sgdGhlIGxhdGVzdCBTU0wgcmVsZWFzZSBvbmUgbGV2ZWwgYWJvdmUgeW91ciBtYWluIFB5dGhvbiBzb3VyY2UKLSMgICBkaXJlY3RvcnkuICBJdCBpcyBsaWtlbHkgeW91IHdpbGwgYWxyZWFkeSBmaW5kIHRoZSB6bGliIGxpYnJhcnkgYW5kCi0jICAgYW55IG90aGVyIGV4dGVybmFsIHBhY2thZ2VzIHRoZXJlLgotIyAqIEluc3RhbGwgQWN0aXZlUGVybCBhbmQgZW5zdXJlIGl0IGlzIHNvbWV3aGVyZSBvbiB5b3VyIHBhdGguCi0jICogUnVuIHRoaXMgc2NyaXB0IGZyb20gdGhlIFBDL1ZTOC4wIGRpcmVjdG9yeS4KLSMKLSMgaXQgc2hvdWxkIGNvbmZpZ3VyZSBhbmQgYnVpbGQgU1NMLCB0aGVuIGJ1aWxkIHRoZSBfc3NsIGFuZCBfaGFzaGxpYgotIyBQeXRob24gZXh0ZW5zaW9ucyB3aXRob3V0IGludGVydmVudGlvbi4KLQotIyBNb2RpZmllZCBieSBDaHJpc3RpYW4gSGVpbWVzCi0jIE5vdyB0aGlzIHNjcmlwdCBzdXBwb3J0cyBwcmUtZ2VuZXJhdGVkIG1ha2VmaWxlcyBhbmQgYXNzZW1ibHkgZmlsZXMuCi0jIERldmVsb3BlcnMgZG9uJ3QgbmVlZCBhbiBpbnN0YWxsYXRpb24gb2YgUGVybCBhbnltb3JlIHRvIGJ1aWxkIFB5dGhvbi4gQSBzdm4KLSMgY2hlY2tvdXQgZnJvbSBvdXIgc3ZuIHJlcG9zaXRvcnkgaXMgZW5vdWdoLgotIwotIyBJbiBPcmRlciB0byBjcmVhdGUgdGhlIGZpbGVzIGluIHRoZSBjYXNlIG9mIGFuIHVwZGF0ZSB5b3Ugc3RpbGwgbmVlZCBQZXJsLgotIyBSdW4gYnVpbGRfc3NsIGluIHRoaXMgb3JkZXI6Ci0jIHB5dGhvbi5leGUgYnVpbGRfc3NsLnB5IFJlbGVhc2UgeDY0Ci0jIHB5dGhvbi5leGUgYnVpbGRfc3NsLnB5IFJlbGVhc2UgV2luMzIKLQotaW1wb3J0IG9zLCBzeXMsIHJlLCBzaHV0aWwKLQotIyBGaW5kIGFsbCAiZm9vLmV4ZSIgZmlsZXMgb24gdGhlIFBBVEguCi1kZWYgZmluZF9hbGxfb25fcGF0aChmaWxlbmFtZSwgZXh0cmFzID0gTm9uZSk6Ci0gICAgZW50cmllcyA9IG9zLmVudmlyb25bIlBBVEgiXS5zcGxpdChvcy5wYXRoc2VwKQotICAgIHJldCA9IFtdCi0gICAgZm9yIHAgaW4gZW50cmllczoKLSAgICAgICAgZm5hbWUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKHAsIGZpbGVuYW1lKSkKLSAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm5hbWUpIGFuZCBmbmFtZSBub3QgaW4gcmV0OgotICAgICAgICAgICAgcmV0LmFwcGVuZChmbmFtZSkKLSAgICBpZiBleHRyYXM6Ci0gICAgICAgIGZvciBwIGluIGV4dHJhczoKLSAgICAgICAgICAgIGZuYW1lID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihwLCBmaWxlbmFtZSkpCi0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbmFtZSkgYW5kIGZuYW1lIG5vdCBpbiByZXQ6Ci0gICAgICAgICAgICAgICAgcmV0LmFwcGVuZChmbmFtZSkKLSAgICByZXR1cm4gcmV0Ci0KLSMgRmluZCBhIHN1aXRhYmxlIFBlcmwgaW5zdGFsbGF0aW9uIGZvciBPcGVuU1NMLgotIyBjeWd3aW4gcGVybCBkb2VzICpub3QqIHdvcmsuICBBY3RpdmVQZXJsIGRvZXMuCi0jIEJlaW5nIGEgUGVybCBkdW1teSwgdGhlIHNpbXBsZXN0IHdheSBJIGNhbiBjaGVjayBpcyBpZiB0aGUgIldpbjMyIiBwYWNrYWdlCi0jIGlzIGF2YWlsYWJsZS4KLWRlZiBmaW5kX3dvcmtpbmdfcGVybChwZXJscyk6Ci0gICAgZm9yIHBlcmwgaW4gcGVybHM6Ci0gICAgICAgIGZoID0gb3MucG9wZW4oJyIlcyIgLWUgInVzZSBXaW4zMjsiJyAlIHBlcmwpCi0gICAgICAgIGZoLnJlYWQoKQotICAgICAgICByYyA9IGZoLmNsb3NlKCkKLSAgICAgICAgaWYgcmM6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICByZXR1cm4gcGVybAotICAgIHByaW50KCJDYW4gbm90IGZpbmQgYSBzdWl0YWJsZSBQRVJMOiIpCi0gICAgaWYgcGVybHM6Ci0gICAgICAgIHByaW50KCIgdGhlIGZvbGxvd2luZyBwZXJsIGludGVycHJldGVycyB3ZXJlIGZvdW5kOiIpCi0gICAgICAgIGZvciBwIGluIHBlcmxzOgotICAgICAgICAgICAgcHJpbnQoIiAiLCBwKQotICAgICAgICBwcmludCgiIE5vbmUgb2YgdGhlc2UgdmVyc2lvbnMgYXBwZWFyIHN1aXRhYmxlIGZvciBidWlsZGluZyBPcGVuU1NMIikKLSAgICBlbHNlOgotICAgICAgICBwcmludCgiIE5PIHBlcmwgaW50ZXJwcmV0ZXJzIHdlcmUgZm91bmQgb24gdGhpcyBtYWNoaW5lIGF0IGFsbCEiKQotICAgIHByaW50KCIgUGxlYXNlIGluc3RhbGwgQWN0aXZlUGVybCBhbmQgZW5zdXJlIGl0IGFwcGVhcnMgb24geW91ciBwYXRoIikKLSAgICByZXR1cm4gTm9uZQotCi0jIExvY2F0ZSB0aGUgYmVzdCBTU0wgZGlyZWN0b3J5IGdpdmVuIGEgZmV3IHJvb3RzIHRvIGxvb2sgaW50by4KLWRlZiBmaW5kX2Jlc3Rfc3NsX2Rpcihzb3VyY2VzKToKLSAgICBjYW5kaWRhdGVzID0gW10KLSAgICBmb3IgcyBpbiBzb3VyY2VzOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICAjIG5vdGU6IGRvIG5vdCBhYnNwYXRoIHM7IHRoZSBidWlsZCB3aWxsIGZhaWwgaWYgYW55Ci0gICAgICAgICAgICAjIGhpZ2hlciB1cCBkaXJlY3RvcnkgbmFtZSBoYXMgc3BhY2VzIGluIGl0LgotICAgICAgICAgICAgZm5hbWVzID0gb3MubGlzdGRpcihzKQotICAgICAgICBleGNlcHQgb3MuZXJyb3I6Ci0gICAgICAgICAgICBmbmFtZXMgPSBbXQotICAgICAgICBmb3IgZm5hbWUgaW4gZm5hbWVzOgotICAgICAgICAgICAgZnFuID0gb3MucGF0aC5qb2luKHMsIGZuYW1lKQotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihmcW4pIGFuZCBmbmFtZS5zdGFydHN3aXRoKCJvcGVuc3NsLSIpOgotICAgICAgICAgICAgICAgIGNhbmRpZGF0ZXMuYXBwZW5kKGZxbikKLSAgICAjIE5vdyB3ZSBoYXZlIGFsbCB0aGUgY2FuZGlkYXRlcywgbG9jYXRlIHRoZSBiZXN0LgotICAgIGJlc3RfcGFydHMgPSBbXQotICAgIGJlc3RfbmFtZSA9IE5vbmUKLSAgICBmb3IgYyBpbiBjYW5kaWRhdGVzOgotICAgICAgICBwYXJ0cyA9IHJlLnNwbGl0KCJbLi1dIiwgb3MucGF0aC5iYXNlbmFtZShjKSlbMTpdCi0gICAgICAgICMgZWcgLSBvcGVuc3NsLTAuOS43LWJldGExIC0gaWdub3JlIGFsbCAiYmV0YSIgb3IgYW55IG90aGVyIHF1YWxpZmllcnMKLSAgICAgICAgaWYgbGVuKHBhcnRzKSA+PSA0OgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgaWYgcGFydHMgPiBiZXN0X3BhcnRzOgotICAgICAgICAgICAgYmVzdF9wYXJ0cyA9IHBhcnRzCi0gICAgICAgICAgICBiZXN0X25hbWUgPSBjCi0gICAgaWYgYmVzdF9uYW1lIGlzIG5vdCBOb25lOgotICAgICAgICBwcmludCgiRm91bmQgYW4gU1NMIGRpcmVjdG9yeSBhdCAnJXMnIiAlIChiZXN0X25hbWUsKSkKLSAgICBlbHNlOgotICAgICAgICBwcmludCgiQ291bGQgbm90IGZpbmQgYW4gU1NMIGRpcmVjdG9yeSBpbiAnJXMnIiAlIChzb3VyY2VzLCkpCi0gICAgc3lzLnN0ZG91dC5mbHVzaCgpCi0gICAgcmV0dXJuIGJlc3RfbmFtZQotCi1kZWYgY3JlYXRlX21ha2VmaWxlNjQobWFrZWZpbGUsIG0zMik6Ci0gICAgIiIiQ3JlYXRlIGFuZCBmaXggbWFrZWZpbGUgZm9yIDY0Yml0Ci0KLSAgICBSZXBsYWNlIDMyIHdpdGggNjRiaXQgZGlyZWN0b3JpZXMKLSAgICAiIiIKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobTMyKToKLSAgICAgICAgcmV0dXJuCi0gICAgd2l0aCBvcGVuKG0zMikgYXMgZmluOgotICAgICAgICB3aXRoIG9wZW4obWFrZWZpbGUsICd3JykgYXMgZm91dDoKLSAgICAgICAgICAgIGZvciBsaW5lIGluIGZpbjoKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9dG1wMzIiLCAiPXRtcDY0IikKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9b3V0MzIiLCAiPW91dDY0IikKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5yZXBsYWNlKCI9aW5jMzIiLCAiPWluYzY0IikKLSAgICAgICAgICAgICAgICAjIGZvcmNlIDY0IGJpdCBtYWNoaW5lCi0gICAgICAgICAgICAgICAgbGluZSA9IGxpbmUucmVwbGFjZSgiTUtMSUI9bGliIiwgIk1LTElCPWxpYiAvTUFDSElORTpYNjQiKQotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoIkxGTEFHUz0iLCAiTEZMQUdTPS9NQUNISU5FOlg2NCAiKQotICAgICAgICAgICAgICAgICMgZG9uJ3QgbGluayBhZ2FpbnN0IHRoZSBsaWIgb24gNjRiaXQgc3lzdGVtcwotICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnJlcGxhY2UoImJ1ZmZlcm92ZXJmbG93dS5saWIiLCAiIikKLSAgICAgICAgICAgICAgICBmb3V0LndyaXRlKGxpbmUpCi0gICAgb3MudW5saW5rKG0zMikKLQotZGVmIGZpeF9tYWtlZmlsZShtYWtlZmlsZSk6Ci0gICAgIiIiRml4IHNvbWUgc3R1ZmYgaW4gYWxsIG1ha2VmaWxlcwotICAgICIiIgotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtYWtlZmlsZSk6Ci0gICAgICAgIHJldHVybgotICAgIHdpdGggb3BlbihtYWtlZmlsZSkgYXMgZmluOgotICAgICAgICBsaW5lcyA9IGZpbi5yZWFkbGluZXMoKQotICAgIHdpdGggb3BlbihtYWtlZmlsZSwgJ3cnKSBhcyBmb3V0OgotICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiUEVSTD0iKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJDUD0iKToKLSAgICAgICAgICAgICAgICBsaW5lID0gIkNQPWNvcHlcbiIKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiTUtESVI9Iik6Ci0gICAgICAgICAgICAgICAgbGluZSA9ICJNS0RJUj1ta2RpclxuIgotICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJDRkxBRz0iKToKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgICAgICAgICAgZm9yIGFsZ28gaW4gKCJSQzUiLCAiTURDMiIsICJJREVBIik6Ci0gICAgICAgICAgICAgICAgICAgIG5vYWxnbyA9ICIgLURPUEVOU1NMX05PXyVzIiAlIGFsZ28KLSAgICAgICAgICAgICAgICAgICAgaWYgbm9hbGdvIG5vdCBpbiBsaW5lOgotICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUgKyBub2FsZ28KLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZSArICdcbicKLSAgICAgICAgICAgIGZvdXQud3JpdGUobGluZSkKLQotZGVmIHJ1bl9jb25maWd1cmUoY29uZmlndXJlLCBkb19zY3JpcHQpOgotICAgIHByaW50KCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSsiIG5vLWlkZWEgbm8tbWRjMiIpCi0gICAgb3Muc3lzdGVtKCJwZXJsIENvbmZpZ3VyZSAiK2NvbmZpZ3VyZSsiIG5vLWlkZWEgbm8tbWRjMiIpCi0gICAgcHJpbnQoZG9fc2NyaXB0KQotICAgIG9zLnN5c3RlbShkb19zY3JpcHQpCi0KLWRlZiBjbXAoZjEsIGYyKToKLSAgICBidWZzaXplID0gMTAyNCAqIDgKLSAgICB3aXRoIG9wZW4oZjEsICdyYicpIGFzIGZwMSwgb3BlbihmMiwgJ3JiJykgYXMgZnAyOgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgYjEgPSBmcDEucmVhZChidWZzaXplKQotICAgICAgICAgICAgYjIgPSBmcDIucmVhZChidWZzaXplKQotICAgICAgICAgICAgaWYgYjEgIT0gYjI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICBpZiBub3QgYjE6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLQotZGVmIGNvcHkoc3JjLCBkc3QpOgotICAgIGlmIG9zLnBhdGguaXNmaWxlKGRzdCkgYW5kIGNtcChzcmMsIGRzdCk6Ci0gICAgICAgIHJldHVybgotICAgIHNodXRpbC5jb3B5KHNyYywgZHN0KQotCi1kZWYgbWFpbigpOgotICAgIGJ1aWxkX2FsbCA9ICItYSIgaW4gc3lzLmFyZ3YKLSAgICBpZiBzeXMuYXJndlsxXSA9PSAiUmVsZWFzZSI6Ci0gICAgICAgIGRlYnVnID0gRmFsc2UKLSAgICBlbGlmIHN5cy5hcmd2WzFdID09ICJEZWJ1ZyI6Ci0gICAgICAgIGRlYnVnID0gVHJ1ZQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3Ioc3RyKHN5cy5hcmd2KSkKLQotICAgIGlmIHN5cy5hcmd2WzJdID09ICJXaW4zMiI6Ci0gICAgICAgIGFyY2ggPSAieDg2IgotICAgICAgICBjb25maWd1cmUgPSAiVkMtV0lOMzIiCi0gICAgICAgIGRvX3NjcmlwdCA9ICJtc1xcZG9fbmFzbSIKLSAgICAgICAgbWFrZWZpbGU9Im1zXFxudC5tYWsiCi0gICAgICAgIG0zMiA9IG1ha2VmaWxlCi0gICAgICAgIGRpcnN1ZmZpeCA9ICIzMiIKLSAgICBlbGlmIHN5cy5hcmd2WzJdID09ICJ4NjQiOgotICAgICAgICBhcmNoPSJhbWQ2NCIKLSAgICAgICAgY29uZmlndXJlID0gIlZDLVdJTjY0QSIKLSAgICAgICAgZG9fc2NyaXB0ID0gIm1zXFxkb193aW42NGEiCi0gICAgICAgIG1ha2VmaWxlID0gIm1zXFxudDY0Lm1hayIKLSAgICAgICAgbTMyID0gbWFrZWZpbGUucmVwbGFjZSgnNjQnLCAnJykKLSAgICAgICAgZGlyc3VmZml4ID0gIjY0IgotICAgICAgICAjb3MuZW52aXJvblsiVlNFWFRDT01QX1VTRUNMIl0gPSAiTVNfT1BURVJPTiIKLSAgICBlbHNlOgotICAgICAgICByYWlzZSBWYWx1ZUVycm9yKHN0cihzeXMuYXJndikpCi0KLSAgICBtYWtlX2ZsYWdzID0gIiIKLSAgICBpZiBidWlsZF9hbGw6Ci0gICAgICAgIG1ha2VfZmxhZ3MgPSAiLWEiCi0gICAgIyBwZXJsIHNob3VsZCBiZSBvbiB0aGUgcGF0aCwgYnV0IHdlIGFsc28gbG9vayBpbiAiXHBlcmwiIGFuZCAiYzpcXHBlcmwiCi0gICAgIyBhcyAid2VsbCBrbm93biIgbG9jYXRpb25zCi0gICAgcGVybHMgPSBmaW5kX2FsbF9vbl9wYXRoKCJwZXJsLmV4ZSIsIFsiXFxwZXJsXFxiaW4iLCAiQzpcXHBlcmxcXGJpbiJdKQotICAgIHBlcmwgPSBmaW5kX3dvcmtpbmdfcGVybChwZXJscykKLSAgICBpZiBwZXJsOgotICAgICAgICBwcmludCgiRm91bmQgYSB3b3JraW5nIHBlcmwgYXQgJyVzJyIgJSAocGVybCwpKQotICAgIGVsc2U6Ci0gICAgICAgIHByaW50KCJObyBQZXJsIGluc3RhbGxhdGlvbiB3YXMgZm91bmQuIEV4aXN0aW5nIE1ha2VmaWxlcyBhcmUgdXNlZC4iKQotICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICMgTG9vayBmb3IgU1NMIDMgbGV2ZWxzIHVwIGZyb20gUEMvVlM4LjAgLSBpZSwgc2FtZSBwbGFjZSB6bGliIGV0YyBhbGwgbGl2ZS4KLSAgICBzc2xfZGlyID0gZmluZF9iZXN0X3NzbF9kaXIoKCIuLlxcLi5cXC4uIiwpKQotICAgIGlmIHNzbF9kaXIgaXMgTm9uZToKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIG9sZF9jZCA9IG9zLmdldGN3ZCgpCi0gICAgdHJ5OgotICAgICAgICBvcy5jaGRpcihzc2xfZGlyKQotICAgICAgICAjIHJlYnVpbGQgbWFrZWZpbGUgd2hlbiB3ZSBkbyB0aGUgcm9sZSBvdmVyIGZyb20gMzIgdG8gNjQgYnVpbGQKLSAgICAgICAgaWYgYXJjaCA9PSAiYW1kNjQiIGFuZCBvcy5wYXRoLmlzZmlsZShtMzIpIGFuZCBub3Qgb3MucGF0aC5pc2ZpbGUobWFrZWZpbGUpOgotICAgICAgICAgICAgb3MudW5saW5rKG0zMikKLQotICAgICAgICAjIElmIHRoZSBzc2wgbWFrZWZpbGVzIGRvIG5vdCBleGlzdCwgd2UgaW52b2tlIFBlcmwgdG8gZ2VuZXJhdGUgdGhlbS4KLSAgICAgICAgIyBEdWUgdG8gYSBidWcgaW4gdGhpcyBzY3JpcHQsIHRoZSBtYWtlZmlsZSBzb21ldGltZXMgZW5kZWQgdXAgZW1wdHkKLSAgICAgICAgIyBGb3JjZSBhIHJlZ2VuZXJhdGlvbiBpZiBpdCBpcy4KLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKG1ha2VmaWxlKSBvciBvcy5wYXRoLmdldHNpemUobWFrZWZpbGUpPT0wOgotICAgICAgICAgICAgaWYgcGVybCBpcyBOb25lOgotICAgICAgICAgICAgICAgIHByaW50KCJQZXJsIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIHRoZSBtYWtlZmlsZXMhIikKLSAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgICAgICAgICBwcmludCgiQ3JlYXRpbmcgdGhlIG1ha2VmaWxlcy4uLiIpCi0gICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKLSAgICAgICAgICAgICMgUHV0IG91ciB3b3JraW5nIFBlcmwgYXQgdGhlIGZyb250IG9mIG91ciBwYXRoCi0gICAgICAgICAgICBvcy5lbnZpcm9uWyJQQVRIIl0gPSBvcy5wYXRoLmRpcm5hbWUocGVybCkgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoc2VwICsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdCi0gICAgICAgICAgICBydW5fY29uZmlndXJlKGNvbmZpZ3VyZSwgZG9fc2NyaXB0KQotICAgICAgICAgICAgaWYgZGVidWc6Ci0gICAgICAgICAgICAgICAgcHJpbnQoIk9wZW5TU0wgZGVidWcgYnVpbGRzIGFyZW4ndCBzdXBwb3J0ZWQuIikKLSAgICAgICAgICAgICNpZiBhcmNoPT0ieDg2IiBhbmQgZGVidWc6Ci0gICAgICAgICAgICAjICAgICMgdGhlIGRvX21hc20gc2NyaXB0IGluIG9wZW5zc2wgZG9lc24ndCBnZW5lcmF0ZSBhIGRlYnVnCi0gICAgICAgICAgICAjICAgICMgYnVpbGQgbWFrZWZpbGUgc28gd2UgZ2VuZXJhdGUgaXQgaGVyZToKLSAgICAgICAgICAgICMgICAgb3Muc3lzdGVtKCJwZXJsIHV0aWxcbWsxbWYucGwgZGVidWcgIitjb25maWd1cmUrIiA+IittYWtlZmlsZSkKLQotICAgICAgICAgICAgaWYgYXJjaCA9PSAiYW1kNjQiOgotICAgICAgICAgICAgICAgIGNyZWF0ZV9tYWtlZmlsZTY0KG1ha2VmaWxlLCBtMzIpCi0gICAgICAgICAgICBmaXhfbWFrZWZpbGUobWFrZWZpbGUpCi0gICAgICAgICAgICBjb3B5KHIiY3J5cHRvXGJ1aWxkaW5mLmgiLCByImNyeXB0b1xidWlsZGluZl8lcy5oIiAlIGFyY2gpCi0gICAgICAgICAgICBjb3B5KHIiY3J5cHRvXG9wZW5zc2xjb25mLmgiLCByImNyeXB0b1xvcGVuc3NsY29uZl8lcy5oIiAlIGFyY2gpCi0KLSAgICAgICAgIyBJZiB0aGUgYXNzZW1ibGVyIGZpbGVzIGRvbid0IGV4aXN0IGluIHRtcFhYLCBjb3B5IHRoZW0gdGhlcmUKLSAgICAgICAgaWYgcGVybCBpcyBOb25lIGFuZCBvcy5wYXRoLmV4aXN0cygiYXNtIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKCJ0bXAiK2RpcnN1ZmZpeCk6Ci0gICAgICAgICAgICAgICAgb3MubWtkaXIoInRtcCIrZGlyc3VmZml4KQotICAgICAgICAgICAgZm9yIGYgaW4gb3MubGlzdGRpcigiYXNtIitkaXJzdWZmaXgpOgotICAgICAgICAgICAgICAgIGlmIG5vdCBmLmVuZHN3aXRoKCIuYXNtIik6IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUociJ0bXAlc1wlcyIgJSAoZGlyc3VmZml4LCBmKSk6IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgc2h1dGlsLmNvcHkociJhc20lc1wlcyIgJSAoZGlyc3VmZml4LCBmKSwgInRtcCIrZGlyc3VmZml4KQotCi0gICAgICAgICMgTm93IHJ1biBtYWtlLgotICAgICAgICBpZiBhcmNoID09ICJhbWQ2NCI6Ci0gICAgICAgICAgICByYyA9IG9zLnN5c3RlbSgibWw2NCAtYyAtRm9tc1xcdXB0YWJsZS5vYmogbXNcXHVwdGFibGUuYXNtIikKLSAgICAgICAgICAgIGlmIHJjOgotICAgICAgICAgICAgICAgIHByaW50KCJtbDY0IGFzc2VtYmxlciBoYXMgZmFpbGVkLiIpCi0gICAgICAgICAgICAgICAgc3lzLmV4aXQocmMpCi0KLSAgICAgICAgY29weShyImNyeXB0b1xidWlsZGluZl8lcy5oIiAlIGFyY2gsIHIiY3J5cHRvXGJ1aWxkaW5mLmgiKQotICAgICAgICBjb3B5KHIiY3J5cHRvXG9wZW5zc2xjb25mXyVzLmgiICUgYXJjaCwgciJjcnlwdG9cb3BlbnNzbGNvbmYuaCIpCi0KLSAgICAgICAgI21ha2VDb21tYW5kID0gIm5tYWtlIC9ub2xvZ28gUEVSTD1cIiVzXCIgLWYgXCIlc1wiIiAlKHBlcmwsIG1ha2VmaWxlKQotICAgICAgICBtYWtlQ29tbWFuZCA9ICJubWFrZSAvbm9sb2dvIC1mIFwiJXNcIiIgJSBtYWtlZmlsZQotICAgICAgICBwcmludCgiRXhlY3V0aW5nIHNzbCBtYWtlZmlsZXM6IiwgbWFrZUNvbW1hbmQpCi0gICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICAgICByYyA9IG9zLnN5c3RlbShtYWtlQ29tbWFuZCkKLSAgICAgICAgaWYgcmM6Ci0gICAgICAgICAgICBwcmludCgiRXhlY3V0aW5nICIrbWFrZWZpbGUrIiBmYWlsZWQiKQotICAgICAgICAgICAgcHJpbnQocmMpCi0gICAgICAgICAgICBzeXMuZXhpdChyYykKLSAgICBmaW5hbGx5OgotICAgICAgICBvcy5jaGRpcihvbGRfY2QpCi0gICAgc3lzLmV4aXQocmMpCi0KLWlmIF9fbmFtZV9fPT0nX19tYWluX18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvYnVpbGRfdGtpbnRlci5weSBiL1BDL1ZTOC4wL2J1aWxkX3RraW50ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhNTkwMzkuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvYnVpbGRfdGtpbnRlci5weQorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLSIiIlNjcmlwdCB0byBjb21waWxlIHRoZSBkZXBlbmRlbmNpZXMgb2YgX3RraW50ZXIKLQotQ29weXJpZ2h0IChjKSAyMDA3IGJ5IENocmlzdGlhbiBIZWltZXMgPGNocmlzdGlhbkBjaGVpbWVzLmRlPgotCi1MaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCi0iIiIKLQotaW1wb3J0IG9zCi1pbXBvcnQgc3lzCi0KLWhlcmUgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkKLXBhciA9IG9zLnBhdGgucGFyZGlyCi0KLWlmIDE6Ci0gICAgVENMID0gInRjbDguNC4xNiIKLSAgICBUSyA9ICJ0azguNC4xNiIKLSAgICBUSVggPSAidGl4LTguNC4wIgotZWxzZToKLSAgICBUQ0wgPSAidGNsOC41YjMiCi0gICAgVEsgPSAidGNsOC41YjMiCi0gICAgVElYID0gIlRpeDguNC4yIgotCi1ST09UID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihoZXJlLCBwYXIsIHBhciwgcGFyKSkKLSMgV2luZG93cyAyMDAwIGNvbXBhdGliaWxpdHk6IFdJTlZFUiAweDA1MDAKLSMgaHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM4Mzc0NS5hc3B4Ci1OTUFLRSA9ICJubWFrZSAvbm9sb2dvIC9mICVzIENPTVBJTEVSRkxBR1M9LURXSU5WRVI9MHgwNTAwICVzICVzIgotCi1kZWYgbm1ha2UobWFrZWZpbGUsIGNvbW1hbmQ9IiIsICoqa3cpOgotICAgIGRlZmluZXMgPSAnICcuam9pbihrKyc9Jyt2IGZvciBrLCB2IGluIGt3Lml0ZW1zKCkpCi0gICAgY21kID0gTk1BS0UgJSAobWFrZWZpbGUsIGRlZmluZXMsIGNvbW1hbmQpCi0gICAgcHJpbnQoIlxuXG4iK2NtZCsiXG4iKQotICAgIGlmIG9zLnN5c3RlbShjbWQpICE9IDA6Ci0gICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcihjbWQpCi0KLWRlZiBidWlsZChwbGF0Zm9ybSwgY2xlYW4pOgotICAgIGlmIHBsYXRmb3JtID09ICJXaW4zMiI6Ci0gICAgICAgIGRlc3QgPSBvcy5wYXRoLmpvaW4oUk9PVCwgInRjbHRrIikKLSAgICAgICAgbWFjaGluZSA9ICJYODYiCi0gICAgZWxpZiBwbGF0Zm9ybSA9PSAieDY0IjoKLSAgICAgICAgZGVzdCA9IG9zLnBhdGguam9pbihST09ULCAidGNsdGs2NCIpCi0gICAgICAgIG1hY2hpbmUgPSAiWDY0IgotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIFZhbHVlRXJyb3IocGxhdGZvcm0pCi0KLSAgICAjIFRDTAotICAgIHRjbGRpciA9IG9zLnBhdGguam9pbihST09ULCBUQ0wpCi0gICAgaWYgMToKLSAgICAgICAgb3MuY2hkaXIob3MucGF0aC5qb2luKHRjbGRpciwgIndpbiIpKQotICAgICAgICBpZiBjbGVhbjoKLSAgICAgICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJjbGVhbiIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJpbnN0YWxsIiwgSU5TVEFMTERJUj1kZXN0KQotCi0gICAgIyBUSwotICAgIGlmIDE6Ci0gICAgICAgIG9zLmNoZGlyKG9zLnBhdGguam9pbihST09ULCBUSywgIndpbiIpKQotICAgICAgICBpZiBjbGVhbjoKLSAgICAgICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJjbGVhbiIsIFRDTERJUj10Y2xkaXIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsIFRDTERJUj10Y2xkaXIpCi0gICAgICAgIG5tYWtlKCJtYWtlZmlsZS52YyIsICJpbnN0YWxsIiwgVENMRElSPXRjbGRpciwgSU5TVEFMTERJUj1kZXN0KQotCi0gICAgIyBUSVgKLSAgICBpZiAxOgotICAgICAgICAjIHB5dGhvbjkubWFrIGlzIGF2YWlsYWJsZSBhdCBodHRwOi8vc3ZuLnB5dGhvbi5vcmcKLSAgICAgICAgb3MuY2hkaXIob3MucGF0aC5qb2luKFJPT1QsIFRJWCwgIndpbiIpKQotICAgICAgICBpZiBjbGVhbjoKLSAgICAgICAgICAgIG5tYWtlKCJweXRob245Lm1hayIsICJjbGVhbiIpCi0gICAgICAgIG5tYWtlKCJweXRob245Lm1hayIsIE1BQ0hJTkU9bWFjaGluZSkKLSAgICAgICAgbm1ha2UoInB5dGhvbjkubWFrIiwgImluc3RhbGwiKQotCi1kZWYgbWFpbigpOgotICAgIGlmIGxlbihzeXMuYXJndikgPCAyIG9yIHN5cy5hcmd2WzFdIG5vdCBpbiAoIldpbjMyIiwgIng2NCIpOgotICAgICAgICBwcmludCgiJXMgV2luMzJ8eDY0IiAlIHN5cy5hcmd2WzBdKQotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgaWYgIi1jIiBpbiBzeXMuYXJndjoKLSAgICAgICAgY2xlYW4gPSBUcnVlCi0gICAgZWxzZToKLSAgICAgICAgY2xlYW4gPSBGYWxzZQotCi0gICAgYnVpbGQoc3lzLmFyZ3ZbMV0sIGNsZWFuKQotCi0KLWlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgbWFpbigpCmRpZmYgLS1naXQgYS9QQy9WUzguMC9iejIudmNwcm9qIGIvUEMvVlM4LjAvYnoyLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWYxMTk3OS4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9iejIudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTgxICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJiejIiDQotCVByb2plY3RHVUlEPSJ7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fSINCi0JUm9vdE5hbWVzcGFjZT0iYnoyIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTcwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGJ6Mm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iYnppcDIgMS4wLjYgSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxiemxpYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJ6bGliX3ByaXZhdGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9ImJ6aXAyIDEuMC42IFNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYmxvY2tzb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYnpsaWIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGNyY3RhYmxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcZGVjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGh1ZmZtYW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxyYW5kdGFibGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9kZWJ1Zy52c3Byb3BzIGIvUEMvVlM4LjAvZGVidWcudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmM2NDNjYi4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9kZWJ1Zy52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImRlYnVnIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iS2lsbFB5dGhvbkV4ZSINCi0JCVZhbHVlPSIkKE91dERpcilca2lsbF9weXRob25fZC5leGUiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2Vudi5iYXQgYi9QQy9WUzguMC9lbnYuYmF0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNDk5MGE4Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL2Vudi5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLUBlY2hvIG9mZgotc2V0IFZTOD0lUHJvZ3JhbUZpbGVzJVxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyA4Ci1lY2hvIEJ1aWxkIGVudmlyb25tZW50czogeDg2LCBpYTY0LCBhbWQ2NCwgeDg2X2FtZDY0LCB4ODZfaWE2NAotZWNoby4KLWNhbGwgIiVWUzglXFZDXHZjdmFyc2FsbC5iYXQiICUxCmRpZmYgLS1naXQgYS9QQy9WUzguMC9maWVsZDMucHkgYi9QQy9WUzguMC9maWVsZDMucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkY2JlMzYuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvZmllbGQzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotIyBBbiBhYnN1cmQgd29ya2Fyb3VuZCBmb3IgdGhlIGxhY2sgb2YgYXJpdGhtZXRpYyBpbiBNUydzIHJlc291cmNlIGNvbXBpbGVyLgotIyBBZnRlciBidWlsZGluZyBQeXRob24sIHJ1biB0aGlzLCB0aGVuIHBhc3RlIHRoZSBvdXRwdXQgaW50byB0aGUgYXBwcm9wcmlhdGUKLSMgcGFydCBvZiBQQ1xweXRob25fbnQucmMuCi0jIEV4YW1wbGUgb3V0cHV0OgotIwotIyAqIEZvciAyLjNhMCwKLSMgKiBQWV9NSUNST19WRVJTSU9OID0gMAotIyAqIFBZX1JFTEVBU0VfTEVWRUwgPSAnYWxwaGEnID0gMHhBCi0jICogUFlfUkVMRUFTRV9TRVJJQUwgPSAxCi0jICoKLSMgKiBhbmQgMCoxMDAwICsgMTAqMTAgKyAxID0gMTAxLgotIyAqLwotIyAjZGVmaW5lIEZJRUxEMyAxMDEKLQotaW1wb3J0IHN5cwotCi1tYWpvciwgbWlub3IsIG1pY3JvLCBsZXZlbCwgc2VyaWFsID0gc3lzLnZlcnNpb25faW5mbwotbGV2ZWxudW0gPSB7J2FscGhhJzogMHhBLAotICAgICAgICAgICAgJ2JldGEnOiAweEIsCi0gICAgICAgICAgICAnY2FuZGlkYXRlJzogMHhDLAotICAgICAgICAgICAgJ2ZpbmFsJzogMHhGLAotICAgICAgICAgICB9W2xldmVsXQotc3RyaW5nID0gc3lzLnZlcnNpb24uc3BsaXQoKVswXSAjIGxpa2UgJzIuM2EwJwotCi1wcmludCgiICogRm9yICVzLCIgJSBzdHJpbmcpCi1wcmludCgiICogUFlfTUlDUk9fVkVSU0lPTiA9ICVkIiAlIG1pY3JvKQotcHJpbnQoIiAqIFBZX1JFTEVBU0VfTEVWRUwgPSAlciA9ICVzIiAlIChsZXZlbCwgaGV4KGxldmVsbnVtKSkpCi1wcmludCgiICogUFlfUkVMRUFTRV9TRVJJQUwgPSAlZCIgJSBzZXJpYWwpCi1wcmludCgiICoiKQotCi1maWVsZDMgPSBtaWNybyAqIDEwMDAgKyBsZXZlbG51bSAqIDEwICsgc2VyaWFsCi0KLXByaW50KCIgKiBhbmQgJWQqMTAwMCArICVkKjEwICsgJWQgPSAlZCIgJSAobWljcm8sIGxldmVsbnVtLCBzZXJpYWwsIGZpZWxkMykpCi1wcmludCgiICovIikKLXByaW50KCIjZGVmaW5lIEZJRUxEMyIsIGZpZWxkMykKZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2lkbGUuYmF0IGIvUEMvVlM4LjAvaWRsZS5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyM2U3MDQuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvaWRsZS5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1AZWNobyBvZmYKLXJlbSBzdGFydCBpZGxlCi1yZW0gVXNhZ2U6ICBpZGxlIFstZF0KLXJlbSAtZCAgIFJ1biBEZWJ1ZyBidWlsZCAocHl0aG9uX2QuZXhlKS4gIEVsc2UgcmVsZWFzZSBidWlsZC4KLQotc2V0bG9jYWwKLXNldCBleGU9cHl0aG9uCi1QQVRIICVQQVRIJTsuLlwuLlwuLlx0Y2x0a1xiaW4KLQotaWYgIiUxIj09Ii1kIiAoc2V0IGV4ZT1weXRob25fZCkgJiBzaGlmdAotCi1zZXQgY21kPSVleGUlIC4uLy4uL0xpYi9pZGxlbGliL2lkbGUucHkgJTEgJTIgJTMgJTQgJTUgJTYgJTcgJTggJTkKLQotZWNobyBvbgotJWNtZCUKZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2tpbGxfcHl0aG9uLmMgYi9QQy9WUzguMC9raWxsX3B5dGhvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjMyM2QzLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL2tpbGxfcHl0aG9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNzggKzAsMCBAQAotLyoKLSAqIEhlbHBlciBwcm9ncmFtIGZvciBraWxsaW5nIGxpbmdlcmluZyBweXRob25bX2RdLmV4ZSBwcm9jZXNzZXMgYmVmb3JlCi0gKiBidWlsZGluZywgdGh1cyBhdHRlbXB0aW5nIHRvIGF2b2lkIGJ1aWxkIGZhaWx1cmVzIGR1ZSB0byBmaWxlcyBiZWluZwotICogbG9ja2VkLgotICovCi0KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8d2NoYXIuaD4KLSNpbmNsdWRlIDx0bGhlbHAzMi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0KLSNwcmFnbWEgY29tbWVudChsaWIsICJwc2FwaSIpCi0KLSNpZmRlZiBfREVCVUcKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob25fZC5leGUiKQotI2RlZmluZSBQWVRIT05fRVhFX0xFTiAgICAgICgxMikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFICAgICAoTCJraWxsX3B5dGhvbl9kLmV4ZSIpCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRV9MRU4gKDE3KQotI2Vsc2UKLSNkZWZpbmUgUFlUSE9OX0VYRSAgICAgICAgICAoTCJweXRob24uZXhlIikKLSNkZWZpbmUgUFlUSE9OX0VYRV9MRU4gICAgICAoMTApCi0jZGVmaW5lIEtJTExfUFlUSE9OX0VYRSAgICAgKEwia2lsbF9weXRob24uZXhlIikKLSNkZWZpbmUgS0lMTF9QWVRIT05fRVhFX0xFTiAoMTUpCi0jZW5kaWYKLQotaW50Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBIQU5ETEUgICBocCwgaHNwLCBoc207IC8qIHByb2Nlc3MsIHNuYXBzaG90IHByb2Nlc3Nlcywgc25hcHNob3QgbW9kdWxlcyAqLwotICAgIERXT1JEICAgIGRhYywgb3VyX3BpZDsKLSAgICBzaXplX3QgICBsZW47Ci0gICAgd2NoYXJfdCAgcGF0aFtNQVhfUEFUSCsxXTsKLQotICAgIE1PRFVMRUVOVFJZMzJXICBtZTsKLSAgICBQUk9DRVNTRU5UUlkzMlcgcGU7Ci0KLSAgICBtZS5kd1NpemUgPSBzaXplb2YoTU9EVUxFRU5UUlkzMlcpOwotICAgIHBlLmR3U2l6ZSA9IHNpemVvZihQUk9DRVNTRU5UUlkzMlcpOwotCi0gICAgbWVtc2V0KHBhdGgsIDAsIE1BWF9QQVRIKzEpOwotCi0gICAgb3VyX3BpZCA9IEdldEN1cnJlbnRQcm9jZXNzSWQoKTsKLQotICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgb3VyX3BpZCk7Ci0gICAgaWYgKGhzbSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBwcmludGYoIkNyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdFsxXSBmYWlsZWQ6ICVkXG4iLCBHZXRMYXN0RXJyb3IoKSk7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KLQotICAgIGlmICghTW9kdWxlMzJGaXJzdFcoaHNtLCAmbWUpKSB7Ci0gICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMV0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0KLSAgICAvKgotICAgICAqIEVudW1lcmF0ZSBvdmVyIHRoZSBtb2R1bGVzIGZvciB0aGUgY3VycmVudCBwcm9jZXNzIGluIG9yZGVyIHRvIGZpbmQKLSAgICAgKiBraWxsX3Byb2Nlc3NbX2RdLmV4ZSwgdGhlbiB0YWtlIGEgbm90ZSBvZiB0aGUgZGlyZWN0b3J5IGl0IGxpdmVzIGluLgotICAgICAqLwotICAgIGRvIHsKLSAgICAgICAgaWYgKF93Y3NuaWNtcChtZS5zek1vZHVsZSwgS0lMTF9QWVRIT05fRVhFLCBLSUxMX1BZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGxlbiA9IHdjc25sZW5fcyhtZS5zekV4ZVBhdGgsIE1BWF9QQVRIKSAtIEtJTExfUFlUSE9OX0VYRV9MRU47Ci0gICAgICAgIHdjc25jcHlfcyhwYXRoLCBNQVhfUEFUSCsxLCBtZS5zekV4ZVBhdGgsIGxlbik7IAotCi0gICAgICAgIGJyZWFrOwotCi0gICAgfSB3aGlsZSAoTW9kdWxlMzJOZXh0Vyhoc20sICZtZSkpOwotCi0gICAgQ2xvc2VIYW5kbGUoaHNtKTsKLQotICAgIGlmIChwYXRoID09IE5VTEwpIHsKLSAgICAgICAgcHJpbnRmKCJmYWlsZWQgdG8gZGlzY2VybiBkaXJlY3Rvcnkgb2YgcnVubmluZyBwcm9jZXNzXG4iKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgLyoKLSAgICAgKiBUYWtlIGEgc25hcHNob3Qgb2Ygc3lzdGVtIHByb2Nlc3Nlcy4gIEVudW1lcmF0ZSBvdmVyIHRoZSBzbmFwc2hvdCwKLSAgICAgKiBsb29raW5nIGZvciBweXRob24gcHJvY2Vzc2VzLiAgV2hlbiB3ZSBmaW5kIG9uZSwgdmVyaWZ5IGl0IGxpdmVzCi0gICAgICogaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHdlIGxpdmUgaW4uICBJZiBpdCBkb2VzLCBraWxsIGl0LiAgSWYgd2UncmUKLSAgICAgKiB1bmFibGUgdG8ga2lsbCBpdCwgdHJlYXQgdGhpcyBhcyBhIGZhdGFsIGVycm9yIGFuZCByZXR1cm4gMS4KLSAgICAgKiAKLSAgICAgKiBUaGUgcmF0aW9uYWxlIGJlaGluZCB0aGlzIGlzIHRoYXQgd2UncmUgY2FsbGVkIGF0IHRoZSBzdGFydCBvZiB0aGUgCi0gICAgICogYnVpbGQgcHJvY2VzcyBvbiB0aGUgYmFzaXMgdGhhdCB3ZSdsbCB0YWtlIGNhcmUgb2Yga2lsbGluZyBhbnkKLSAgICAgKiBydW5uaW5nIGluc3RhbmNlcywgc3VjaCB0aGF0IHRoZSBidWlsZCB3b24ndCBlbmNvdW50ZXIgcGVybWlzc2lvbgotICAgICAqIGRlbmllZCBlcnJvcnMgZHVyaW5nIGxpbmtpbmcuIElmIHdlIGNhbid0IGtpbGwgb25lIG9mIHRoZSBwcm9jZXNzZXMsCi0gICAgICogd2UgY2FuJ3QgcHJvdmlkZSB0aGlzIGFzc3VyYW5jZSwgYW5kIHRoZSBidWlsZCBzaG91bGRuJ3Qgc3RhcnQuCi0gICAgICovCi0KLSAgICBoc3AgPSBDcmVhdGVUb29saGVscDMyU25hcHNob3QoVEgzMkNTX1NOQVBQUk9DRVNTLCAwKTsKLSAgICBpZiAoaHNwID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHByaW50ZigiQ3JlYXRlVG9vbGhlbHAzMlNuYXBzaG90WzJdIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgaWYgKCFQcm9jZXNzMzJGaXJzdFcoaHNwLCAmcGUpKSB7Ci0gICAgICAgIHByaW50ZigiUHJvY2VzczMyRmlyc3RXIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQotCi0gICAgZGFjID0gUFJPQ0VTU19RVUVSWV9JTkZPUk1BVElPTiB8IFBST0NFU1NfVk1fUkVBRCB8IFBST0NFU1NfVEVSTUlOQVRFOwotICAgIGRvIHsKLQotICAgICAgICAvKgotICAgICAgICAgKiBYWFggVE9ETzogaWYgd2UgcmVhbGx5IHdhbnRlZCB0byBiZSBmYW5jeSwgd2UgY291bGQgY2hlY2sgdGhlIAotICAgICAgICAgKiBtb2R1bGVzIGZvciBhbGwgcHJvY2Vzc2VzIChub3QganVzdCB0aGUgcHl0aG9uW19kXS5leGUgb25lcykKLSAgICAgICAgICogYW5kIHNlZSBpZiBhbnkgb2Ygb3VyIERMTHMgYXJlIGxvYWRlZCAoaS5lLiBweXRob24zM1tfZF0uZGxsKSwKLSAgICAgICAgICogYXMgdGhhdCB3b3VsZCBhbHNvIGluaGliaXQgb3VyIGFiaWxpdHkgdG8gcmVidWlsZCB0aGUgc29sdXRpb24uCi0gICAgICAgICAqIE5vdCB3b3J0aCBsb29zaW5nIHNsZWVwIG92ZXIgdGhvdWdoOyBmb3Igbm93LCBhIHNpbXBsZSBjaGVjayAKLSAgICAgICAgICogZm9yIGp1c3QgdGhlIHB5dGhvbiBleGVjdXRhYmxlIHNob3VsZCBiZSBzdWZmaWNpZW50LgotICAgICAgICAgKi8KLQotICAgICAgICBpZiAoX3djc25pY21wKHBlLnN6RXhlRmlsZSwgUFlUSE9OX0VYRSwgUFlUSE9OX0VYRV9MRU4pKQotICAgICAgICAgICAgLyogVGhpcyBpc24ndCBhIHB5dGhvbiBwcm9jZXNzLiAqLwotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLyogSXQncyBhIHB5dGhvbiBwcm9jZXNzLCBzbyBmaWd1cmUgb3V0IHdoaWNoIGRpcmVjdG9yeSBpdCdzIGluLi4uICovCi0gICAgICAgIGhzbSA9IENyZWF0ZVRvb2xoZWxwMzJTbmFwc2hvdChUSDMyQ1NfU05BUE1PRFVMRSwgcGUudGgzMlByb2Nlc3NJRCk7Ci0gICAgICAgIGlmIChoc20gPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgICAgICAgICAvKiAKLSAgICAgICAgICAgICAqIElmIG91ciBtb2R1bGUgc25hcHNob3QgZmFpbHMgKHdoaWNoIHdpbGwgaGFwcGVuIGlmIHdlIGRvbid0IG93bgotICAgICAgICAgICAgICogdGhlIHByb2Nlc3MpLCBqdXN0IGlnbm9yZSBpdCBhbmQgY29udGludWUuICAoSXQgc2VlbXMgZGlmZmVyZW50Ci0gICAgICAgICAgICAgKiB2ZXJzaW9ucyBvZiBXaW5kb3dzIHJldHVybiBkaWZmZXJlbnQgdmFsdWVzIGZvciBHZXRMYXN0RXJyb3IoKQotICAgICAgICAgICAgICogaW4gdGhpcyBzaXR1YXRpb247IGl0J3MgZWFzaWVyIHRvIGp1c3QgaWdub3JlIGl0IGFuZCBtb3ZlIG9uIHZzLgotICAgICAgICAgICAgICogc3RvcHBpbmcgdGhlIGJ1aWxkIGZvciB3aGF0IGNvdWxkIGJlIGEgZmFsc2UgcG9zaXRpdmUuKQotICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgaWYgKCFNb2R1bGUzMkZpcnN0Vyhoc20sICZtZSkpIHsKLSAgICAgICAgICAgIHByaW50ZigiTW9kdWxlMzJGaXJzdFdbMl0gZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNwKTsKLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotCi0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAobWUuc3pNb2R1bGUsIFBZVEhPTl9FWEUsIFBZVEhPTl9FWEVfTEVOKSkKLSAgICAgICAgICAgICAgICAvKiBXcm9uZyBtb2R1bGUsIHdlJ3JlIGxvb2tpbmcgZm9yIHB5dGhvbltfZF0uZXhlLi4uICovCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIGlmIChfd2NzbmljbXAocGF0aCwgbWUuc3pFeGVQYXRoLCBsZW4pKQotICAgICAgICAgICAgICAgIC8qIFByb2Nlc3MgZG9lc24ndCBsaXZlIGluIG91ciBkaXJlY3RvcnkuICovCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIC8qIFB5dGhvbiBwcm9jZXNzIHJlc2lkaW5nIGluIHRoZSByaWdodCBkaXJlY3RvcnksIGtpbGwgaXQhICAqLwotICAgICAgICAgICAgaHAgPSBPcGVuUHJvY2VzcyhkYWMsIEZBTFNFLCBwZS50aDMyUHJvY2Vzc0lEKTsKLSAgICAgICAgICAgIGlmICghaHApIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIk9wZW5Qcm9jZXNzIGZhaWxlZDogJWRcbiIsIEdldExhc3RFcnJvcigpKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShoc3ApOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzbSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGlmICghVGVybWluYXRlUHJvY2VzcyhocCwgMSkpIHsKLSAgICAgICAgICAgICAgICBwcmludGYoIlRlcm1pbmF0ZVByb2Nlc3MgZmFpbGVkOiAlZFxuIiwgR2V0TGFzdEVycm9yKCkpOwotICAgICAgICAgICAgICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0gICAgICAgICAgICAgICAgQ2xvc2VIYW5kbGUoaHNtKTsKLSAgICAgICAgICAgICAgICBDbG9zZUhhbmRsZShocCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIENsb3NlSGFuZGxlKGhwKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIH0gd2hpbGUgKE1vZHVsZTMyTmV4dFcoaHNtLCAmbWUpKTsKLQotICAgICAgICBDbG9zZUhhbmRsZShoc20pOwotCi0gICAgfSB3aGlsZSAoUHJvY2VzczMyTmV4dFcoaHNwLCAmcGUpKTsKLQotICAgIENsb3NlSGFuZGxlKGhzcCk7Ci0KLSAgICByZXR1cm4gMDsKLX0KLQotLyogdmk6IHNldCB0cz04IHN3PTQgc3RzPTQgZXhwYW5kdGFiICovCmRpZmYgLS1naXQgYS9QQy9WUzguMC9raWxsX3B5dGhvbi52Y3Byb2ogYi9QQy9WUzguMC9raWxsX3B5dGhvbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5YmUzMzAuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAva2lsbF9weXRob24udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMjc5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJraWxsX3B5dGhvbiINCi0JUHJvamVjdEdVSUQ9Ins2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9Ig0KLQlSb290TmFtZXNwYWNlPSJraWxsX3B5dGhvbiINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuXGtpbGxfcHl0aG9uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvbWFrZV9idWlsZGluZm8uYyBiL1BDL1ZTOC4wL21ha2VfYnVpbGRpbmZvLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlZmEwN2EuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvbWFrZV9idWlsZGluZm8uYworKysgL2Rldi9udWxsCkBAIC0xLDExNiArMCwwIEBACi0jaW5jbHVkZSA8d2luZG93cy5oPgotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLQotI2RlZmluZSBDTURfU0laRSA1MDAKLQotLyogVGhpcyBmaWxlIGNyZWF0ZXMgdGhlIGdldGJ1aWxkaW5mby5vIG9iamVjdCwgYnkgZmlyc3QKLSAgIGludm9raW5nIHN1YndjcmV2LmV4ZSAoaWYgZm91bmQpLCBhbmQgdGhlbiBpbnZva2luZyBjbC5leGUuCi0gICBBcyBhIHNpZGUgZWZmZWN0LCBpdCBtaWdodCBnZW5lcmF0ZSBQQ0J1aWxkXGdldGJ1aWxkaW5mbzIuYwotICAgYWxzby4gSWYgdGhpcyBpc24ndCBhIHN1YnZlcnNpb24gY2hlY2tvdXQsIG9yIHN1YndjcmV2IGlzbid0Ci0gICBmb3VuZCwgaXQgY29tcGlsZXMgLi5cXC4uXFxNb2R1bGVzXFxnZXRidWlsZGluZm8uYyBpbnN0ZWFkLgotCi0gICBDdXJyZW50bHksIHN1YndjcmV2LmV4ZSBpcyBmb3VuZCBmcm9tIHRoZSByZWdpc3RyeSBlbnRyaWVzCi0gICBvZiBUb3J0b2lzZVNWTi4KLQotICAgTm8gYXR0ZW1wdCBpcyBtYWRlIHRvIHBsYWNlIGdldGJ1aWxkaW5mby5vIGludG8gdGhlIHByb3BlcgotICAgYmluYXJ5IGRpcmVjdG9yeS4gVGhpcyBpc24ndCBuZWNlc3NhcnksIGFzIHRoaXMgdG9vbCBpcwotICAgaW52b2tlZCBhcyBhIHByZS1saW5rIHN0ZXAgZm9yIHB5dGhvbmNvcmUsIHNvIHRoYXQgb3ZlcndyaXRlcwotICAgYW55IHByZXZpb3VzIGdldGJ1aWxkaW5mby5vLgotCi0gICBIb3dldmVyLCBpZiBhIHNlY29uZCBhcmd1bWVudCBpcyBwcm92aWRlZCwgdGhpcyB3aWxsIGJlIHVzZWQKLSAgIGFzIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aGVyZSBhbnkgZ2V0YnVpbGRpbmZvMi5jIGFuZAotICAgZ2V0YnVpbGRpbmZvLm8gZmlsZXMgYXJlIHB1dC4gIFRoaXMgaXMgdXNlZnVsIGlmIG11bHRpcGxlCi0gICBjb25maWd1cmF0aW9ucyBhcmUgYmVpbmcgYnVpbHQgaW4gcGFyYWxsZWwsIHRvIGF2b2lkIHRoZW0KLSAgIHRyYW1wbGluZyBlYWNoIG90aGVyJ3MgZmlsZXMuCi0KLSovCi0KLWludCBtYWtlX2J1aWxkaW5mbzIoY29uc3QgY2hhciAqdG1wcGF0aCkKLXsKLSAgICBzdHJ1Y3QgX3N0YXQgc3Q7Ci0gICAgSEtFWSBoVG9ydG9pc2U7Ci0gICAgY2hhciBjb21tYW5kW0NNRF9TSVpFKzFdOwotICAgIERXT1JEIHR5cGUsIHNpemU7Ci0gICAgaWYgKF9zdGF0KCIuc3ZuIiwgJnN0KSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIC8qIEFsbG93IHN1cHByZXNzaW9uIG9mIHN1YndjcmV2LmV4ZSBpbnZvY2F0aW9uIGlmIGEgbm9fc3Vid2NyZXYgZmlsZSBpcyBwcmVzZW50LiAqLwotICAgIGlmIChfc3RhdCgibm9fc3Vid2NyZXYiLCAmc3QpID09IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChSZWdPcGVuS2V5KEhLRVlfTE9DQUxfTUFDSElORSwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MgJiYKLSAgICAgICAgUmVnT3BlbktleShIS0VZX0NVUlJFTlRfVVNFUiwgIlNvZnR3YXJlXFxUb3J0b2lzZVNWTiIsICZoVG9ydG9pc2UpICE9IEVSUk9SX1NVQ0NFU1MpCi0gICAgICAgIC8qIFRvcnRvaXNlIG5vdCBpbnN0YWxsZWQgKi8KLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgY29tbWFuZFswXSA9ICciJzsgIC8qIHF1b3RlIHRoZSBwYXRoIHRvIHRoZSBleGVjdXRhYmxlICovCi0gICAgc2l6ZSA9IHNpemVvZihjb21tYW5kKSAtIDE7Ci0gICAgaWYgKFJlZ1F1ZXJ5VmFsdWVFeChoVG9ydG9pc2UsICJEaXJlY3RvcnkiLCAwLCAmdHlwZSwgY29tbWFuZCsxLCAmc2l6ZSkgIT0gRVJST1JfU1VDQ0VTUyB8fAotICAgICAgICB0eXBlICE9IFJFR19TWikKLSAgICAgICAgLyogUmVnaXN0cnkgY29ycnVwdGVkICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiYmluXFxzdWJ3Y3Jldi5leGUiKTsKLSAgICBpZiAoX3N0YXQoY29tbWFuZCsxLCAmc3QpIDwgMCkKLSAgICAgICAgLyogc3Vid2NyZXYuZXhlIG5vdCBwYXJ0IG9mIHRoZSByZWxlYXNlICovCi0gICAgICAgIHJldHVybiAwOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiXCIgLi5cXC4uIC4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMgIik7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiZ2V0YnVpbGRpbmZvMi5jIik7Ci0gICAgcHV0cyhjb21tYW5kKTsgZmZsdXNoKHN0ZG91dCk7Ci0gICAgaWYgKHN5c3RlbShjb21tYW5kKSA8IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiAxOwotfQotCi1pbnQgbWFpbihpbnQgYXJnYywgY2hhciphcmd2W10pCi17Ci0gICAgY2hhciBjb21tYW5kW0NNRF9TSVpFXSA9ICJjbC5leGUgLWMgLURfV0lOMzIgLURVU0VfRExfRVhQT1JUIC1EX1dJTkRPV1MgLURXSU4zMiAtRF9XSU5ETEwgIjsKLSAgICBjaGFyIHRtcHBhdGhbQ01EX1NJWkVdID0gIiI7Ci0gICAgaW50IGRvX3VubGluaywgcmVzdWx0OwotICAgIGNoYXIgKnRtcGRpciA9IE5VTEw7Ci0gICAgaWYgKGFyZ2MgPD0gMiB8fCBhcmdjID4gMykgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIm1ha2VfYnVpbGRpbmZvICQoQ29uZmlndXJhdGlvbk5hbWUpIFt0bXBkaXJdXG4iKTsKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICB9Ci0gICAgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZSIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiRGVidWciKSA9PSAwKSB7Ci0gICAgICAgIHN0cmNhdF9zKGNvbW1hbmQsIENNRF9TSVpFLCAiLURfREVCVUcgLU1EZCAiKTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc3RyY21wKGFyZ3ZbMV0sICJSZWxlYXNlSXRhbml1bSIpID09IDApIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgL1VTRUNMOk1TX0lUQU5JVU0gIik7Ci0gICAgfQotICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzFdLCAiUmVsZWFzZUFNRDY0IikgPT0gMCkgewotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi1NRCAiKTsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICItTUQgL1VTRUNMOk1TX09QVEVST04gIik7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVuc3VwcG9ydGVkIGNvbmZpZ3VyYXRpb24gJXNcbiIsIGFyZ3ZbMV0pOwotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwotICAgIH0KLSAgICBpZiAoYXJnYyA+IDIpIHsKLSAgICAgICAgdG1wZGlyID0gYXJndlsyXTsKLSAgICAgICAgc3RyY2F0X3ModG1wcGF0aCwgX2NvdW50b2YodG1wcGF0aCksIHRtcGRpcik7Ci0gICAgICAgIHN0cmNhdF9zKHRtcHBhdGgsIF9jb3VudG9mKHRtcHBhdGgpLCAiXFwiKTsKLSAgICB9Ci0KLSAgICBpZiAoKGRvX3VubGluayA9IG1ha2VfYnVpbGRpbmZvMih0bXBwYXRoKSkpIHsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuYyAtRFNVQldDUkVWICIpOwotICAgIH0gZWxzZQotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIi4uXFwuLlxcTW9kdWxlc1xcZ2V0YnVpbGRpbmZvLmMiKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgIiAtRm8iKTsKLSAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgdG1wcGF0aCk7Ci0gICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsICJnZXRidWlsZGluZm8ubyAtSS4uXFwuLlxcSW5jbHVkZSAtSS4uXFwuLlxcUEMiKTsKLSAgICBwdXRzKGNvbW1hbmQpOyBmZmx1c2goc3Rkb3V0KTsKLSAgICByZXN1bHQgPSBzeXN0ZW0oY29tbWFuZCk7Ci0gICAgaWYgKGRvX3VubGluaykgewotICAgICAgICBjb21tYW5kWzBdID0gJ1wwJzsKLSAgICAgICAgc3RyY2F0X3MoY29tbWFuZCwgQ01EX1NJWkUsIHRtcHBhdGgpOwotICAgICAgICBzdHJjYXRfcyhjb21tYW5kLCBDTURfU0laRSwgImdldGJ1aWxkaW5mbzIuYyIpOwotICAgICAgICBfdW5saW5rKGNvbW1hbmQpOwotICAgIH0KLSAgICBpZiAocmVzdWx0IDwgMCkKLSAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICByZXR1cm4gMDsKLX0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL21ha2VfYnVpbGRpbmZvLnZjcHJvaiBiL1BDL1ZTOC4wL21ha2VfYnVpbGRpbmZvLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI1Y2NjZC4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9tYWtlX2J1aWxkaW5mby52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwxMDEgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0id2luZG93cy0xMjUwIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9Im1ha2VfYnVpbGRpbmZvIg0KLQlQcm9qZWN0R1VJRD0ie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQotCVJvb3ROYW1lc3BhY2U9Im1ha2VfYnVpbGRpbmZvIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpL21ha2VfYnVpbGRpbmZvLmV4ZSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChUYXJnZXREaXIpJChUYXJnZXROYW1lKS5wZGIiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLlxtYWtlX2J1aWxkaW5mby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL21ha2VfdmVyc2lvbmluZm8udmNwcm9qIGIvUEMvVlM4LjAvbWFrZV92ZXJzaW9uaW5mby52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkYmYxMGQuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvbWFrZV92ZXJzaW9uaW5mby52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSwzMjQgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9Im1ha2VfdmVyc2lvbmluZm8iDQotCVByb2plY3RHVUlEPSJ7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfSINCi0JUm9vdE5hbWVzcGFjZT0ibWFrZV92ZXJzaW9uaW5mbyINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yYy5oJiN4MEQ7JiN4MEE7Ig0KLQkJCQlPdXRwdXRzPSIkKFNvbHV0aW9uRGlyKS4uXC4uXFBDXHB5dGhvbm50X3JjLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0idHJ1ZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnQuaCYjeDBEOyYjeDBBOyINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mby5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25udF9yYy5oJiN4MEQ7JiN4MEE7Ig0KLQkJCQlPdXRwdXRzPSIkKFNvbHV0aW9uRGlyKS4uXC4uXFBDXHB5dGhvbm50X3JjLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0idHJ1ZSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKFNvbHV0aW9uRGlyKW1ha2VfdmVyc2lvbmluZm8uZXhlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCQlDb21tYW5kTGluZT0iY2QgJChTb2x1dGlvbkRpcikmI3gwRDsmI3gwQTttYWtlX3ZlcnNpb25pbmZvLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbl9udC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbm50X3JjX2QuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yY19kLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChTb2x1dGlvbkRpciltYWtlX3ZlcnNpb25pbmZvX2QuZXhlIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKFRhcmdldERpcikkKFRhcmdldE5hbWUpLnBkYiINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbl9udF9kLmgmI3gwRDsmI3gwQTsiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJCdWlsZCBQQy9weXRob25udF9yYyhfZCkuaCINCi0JCQkJQ29tbWFuZExpbmU9ImNkICQoU29sdXRpb25EaXIpJiN4MEQ7JiN4MEE7bWFrZV92ZXJzaW9uaW5mb19kLmV4ZSAmZ3Q7IC4uXC4uXFBDXHB5dGhvbm50X3JjX2QuaCYjeDBEOyYjeDBBOyINCi0JCQkJT3V0cHV0cz0iJChTb2x1dGlvbkRpcikuLlwuLlxQQ1xweXRob25udF9yY19kLmgiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoU29sdXRpb25EaXIpbWFrZV92ZXJzaW9uaW5mb19kLmV4ZSINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJCUNvbW1hbmRMaW5lPSJjZCAkKFNvbHV0aW9uRGlyKSYjeDBEOyYjeDBBO21ha2VfdmVyc2lvbmluZm9fZC5leGUgJmd0OyAuLlwuLlxQQ1xweXRob25fbnRfZC5oJiN4MEQ7JiN4MEE7Ig0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcbWFrZV92ZXJzaW9uaW5mby5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3BjYnVpbGQuc2xuIGIvUEMvVlM4LjAvcGNidWlsZC5zbG4KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhY2E0YWEuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcGNidWlsZC5zbG4KKysrIC9kZXYvbnVsbApAQCAtMSw1NjAgKzAsMCBAQAotTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gU29sdXRpb24gRmlsZSwgRm9ybWF0IFZlcnNpb24gOS4wMA0KLSMgVmlzdWFsIFN0dWRpbyAyMDA1DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweXRob24iLCAicHl0aG9uLnZjcHJvaiIsICJ7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0gPSB7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIm1ha2VfdmVyc2lvbmluZm8iLCAibWFrZV92ZXJzaW9uaW5mby52Y3Byb2oiLCAie0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0iDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9uY29yZSIsICJweXRob25jb3JlLnZjcHJvaiIsICJ7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0gPSB7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfQ0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0gPSB7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfQ0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0gPSB7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInB5dGhvbnciLCAicHl0aG9udy52Y3Byb2oiLCAie0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3OXhwb3BlbiIsICJ3OXhwb3Blbi52Y3Byb2oiLCAie0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9ID0gezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX2J1aWxkaW5mbyIsICJtYWtlX2J1aWxkaW5mby52Y3Byb2oiLCAie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQotRW5kUHJvamVjdA0KLVByb2plY3QoInsyMTUwRTMzMy04RkRDLTQyQTMtOTQ3NC0xQTM5NTZENDZERTh9IikgPSAiU29sdXRpb24gSXRlbXMiLCAiU29sdXRpb24gSXRlbXMiLCAiezU1M0VDMzNFLTk4MTYtNDk5Ni1BNjYwLTVENjE4NkEwQjBCM30iDQotCVByb2plY3RTZWN0aW9uKFNvbHV0aW9uSXRlbXMpID0gcHJlUHJvamVjdA0KLQkJLi5cLi5cTW9kdWxlc1xnZXRidWlsZGluZm8uYyA9IC4uXC4uXE1vZHVsZXNcZ2V0YnVpbGRpbmZvLmMNCi0JCXJlYWRtZS50eHQgPSByZWFkbWUudHh0DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAid2luc291bmQiLCAid2luc291bmQudmNwcm9qIiwgInsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2N0eXBlcyIsICJfY3R5cGVzLnZjcHJvaiIsICJ7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9jdHlwZXNfdGVzdCIsICJfY3R5cGVzX3Rlc3QudmNwcm9qIiwgIns5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2VsZW1lbnR0cmVlIiwgIl9lbGVtZW50dHJlZS52Y3Byb2oiLCAiezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfbXNpIiwgIl9tc2kudmNwcm9qIiwgInszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3NvY2tldCIsICJfc29ja2V0LnZjcHJvaiIsICJ7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9zcWxpdGUzIiwgIl9zcWxpdGUzLnZjcHJvaiIsICJ7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0gPSB7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9zc2wiLCAiX3NzbC52Y3Byb2oiLCAie0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9ID0ge0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0NCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9ID0gezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0NCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9ID0ge0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGVzdGNhcGkiLCAiX3Rlc3RjYXBpLnZjcHJvaiIsICJ7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90a2ludGVyIiwgIl90a2ludGVyLnZjcHJvaiIsICJ7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gImJ6MiIsICJiejIudmNwcm9qIiwgIns3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAic2VsZWN0IiwgInNlbGVjdC52Y3Byb2oiLCAiezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ1bmljb2RlZGF0YSIsICJ1bmljb2RlZGF0YS52Y3Byb2oiLCAie0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJweWV4cGF0IiwgInB5ZXhwYXQudmNwcm9qIiwgIntEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fSA9IHtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiYmRpc3Rfd2luaW5zdCIsICJiZGlzdF93aW5pbnN0LnZjcHJvaiIsICJ7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfSINCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfaGFzaGxpYiIsICJfaGFzaGxpYi52Y3Byb2oiLCAiezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9ID0ge0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0NCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9ID0ge0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJzcWxpdGUzIiwgInNxbGl0ZTMudmNwcm9qIiwgIntBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfSA9IHs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX211bHRpcHJvY2Vzc2luZyIsICJfbXVsdGlwcm9jZXNzaW5nLnZjcHJvaiIsICJ7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fSINCi0JUHJvamVjdFNlY3Rpb24oUHJvamVjdERlcGVuZGVuY2llcykgPSBwb3N0UHJvamVjdA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KLQlFbmRQcm9qZWN0U2VjdGlvbg0KLUVuZFByb2plY3QNCi1Qcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gInNzbCIsICJzc2wudmNwcm9qIiwgIntFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9Ig0KLQlQcm9qZWN0U2VjdGlvbihQcm9qZWN0RGVwZW5kZW5jaWVzKSA9IHBvc3RQcm9qZWN0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fSA9IHtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9DQotCUVuZFByb2plY3RTZWN0aW9uDQotRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAia2lsbF9weXRob24iLCAia2lsbF9weXRob24udmNwcm9qIiwgIns2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9Ig0KLUVuZFByb2plY3QNCi1HbG9iYWwNCi0JR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24NCi0JCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzINCi0JCURlYnVnfHg2NCA9IERlYnVnfHg2NA0KLQkJUEdJbnN0cnVtZW50fFdpbjMyID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQlQR0luc3RydW1lbnR8eDY0ID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJUEdVcGRhdGV8V2luMzIgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJUEdVcGRhdGV8eDY0ID0gUEdVcGRhdGV8eDY0DQotCQlSZWxlYXNlfFdpbjMyID0gUmVsZWFzZXxXaW4zMg0KLQkJUmVsZWFzZXx4NjQgPSBSZWxlYXNlfHg2NA0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oUHJvamVjdENvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcG9zdFNvbHV0aW9uDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QjExRDc1MEYtQ0QxRi00QTk2LTg1Q0UtRTY5QTVDNTI1OUY5fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtCMTFENzUwRi1DRDFGLTRBOTYtODVDRS1FNjlBNUM1MjU5Rjl9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0YwRTA1NDFFLUYxN0QtNDMwQi05N0M0LTkzQURGMEREMjg0RX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RjBFMDU0MUUtRjE3RC00MzBCLTk3QzQtOTNBREYwREQyODRFfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGMEUwNTQxRS1GMTdELTQzMEItOTdDNC05M0FERjBERDI4NEV9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtGNDIyOUNDMy04NzNDLTQ5QUUtOTcyOS1ERDMwOEVENENENEF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RjQyMjlDQzMtODczQy00OUFFLTk3MjktREQzMDhFRDRDRDRBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LkRlYnVnfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzczRjBFQzEtMzU4Qi00MTc3LTk0MEYtMDg0NkFDOEIwNENEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsyOEI1RDc3Ny1EREYyLTRCNkItQjM0Ri0zMUQ5Mzg4MTM4NTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXswRTk3OTFEQi01OTNBLTQ2NUYtOThCQy02ODEwMTEzMTE2MTh9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MEU5NzkxREItNTkzQS00NjVGLTk4QkMtNjgxMDExMzExNjE4fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezBFOTc5MURCLTU5M0EtNDY1Ri05OEJDLTY4MTAxMTMxMTYxOH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7OUVDNzE5MEEtMjQ5Ri00MTgwLUE5MDAtNTQ4RkRDRjMwNTVGfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezlFQzcxOTBBLTI0OUYtNDE4MC1BOTAwLTU0OEZEQ0YzMDU1Rn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezE3RTFFMDQ5LUMzMDktNEQ3OS04NDNGLUFFNDgzQzI2NEFFQX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsxN0UxRTA0OS1DMzA5LTRENzktODQzRi1BRTQ4M0MyNjRBRUF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MTdFMUUwNDktQzMwOS00RDc5LTg0M0YtQUU0ODNDMjY0QUVBfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXszMUZGQzQ3OC03QjRBLTQzRTgtOTk1NC04RDAzRTIxODdFOUN9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7MzFGRkM0NzgtN0I0QS00M0U4LTk5NTQtOEQwM0UyMTg3RTlDfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezMxRkZDNDc4LTdCNEEtNDNFOC05OTU0LThEMDNFMjE4N0U5Q30uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7ODY5MzdGNTMtQzE4OS00MEVGLThDRTgtODc1OUQ4RTdENDgwfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezg2OTM3RjUzLUMxODktNDBFRi04Q0U4LTg3NTlEOEU3RDQ4MH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs4NjkzN0Y1My1DMTg5LTQwRUYtOENFOC04NzU5RDhFN0Q0ODB9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezEzQ0VDQjk3LTQxMTktNDMxNi05RDQyLTg1MzQwMTlBNUE0NH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXsxM0NFQ0I5Ny00MTE5LTQzMTYtOUQ0Mi04NTM0MDE5QTVBNDR9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7MTNDRUNCOTctNDExOS00MzE2LTlENDItODUzNDAxOUE1QTQ0fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtDNkUyMEY4NC0zMjQ3LTRBRDYtQjA1MS1CMDczMjY4RjczQkF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7QzZFMjBGODQtMzI0Ny00QUQ2LUIwNTEtQjA3MzI2OEY3M0JBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0M2RTIwRjg0LTMyNDctNEFENi1CMDUxLUIwNzMyNjhGNzNCQX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7MThDQUUyOEMtQjQ1NC00NkMxLTg3QTAtNDkzRDkxRDk3RjAzfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJe0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXtFQ0M3Q0VBQy1BNUU1LTQ1OEUtQkI5RS0yNDEzQ0M4NDc4ODF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUNDN0NFQUMtQTVFNS00NThFLUJCOUUtMjQxM0NDODQ3ODgxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtEMDZCNjQyNi00NzYyLTQ0Q0MtOEJBRC1ENzkwNTI1MDdGMkZ9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0QwNkI2NDI2LTQ3NjItNDRDQy04QkFELUQ3OTA1MjUwN0YyRn0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RUIxQzE5QzEtMUYxOC00MjFFLTk3MzUtQ0FFRTY5REM2QTNDfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtFQjFDMTlDMS0xRjE4LTQyMUUtOTczNS1DQUVFNjlEQzZBM0N9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0VCMUMxOUMxLTFGMTgtNDIxRS05NzM1LUNBRUU2OURDNkEzQ30uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXs0NDdGMDVBOC1GNTgxLTRDQUMtQTQ2Ni01QUM3OTM2RTIwN0V9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NDQ3RjA1QTgtRjU4MS00Q0FDLUE0NjYtNUFDNzkzNkUyMDdFfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezQ0N0YwNUE4LUY1ODEtNENBQy1BNDY2LTVBQzc5MzZFMjA3RX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7QTFBMjk1RTUtNDYzQy00MzdGLTgxQ0EtMUYzMjM2NzY4NURBfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJe0ExQTI5NUU1LTQ2M0MtNDM3Ri04MUNBLTFGMzIzNjc2ODVEQX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXtBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezlFNDhCMzAwLTM3RDEtMTFERC04QzQxLTAwNTA1NkMwMDAwOH0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCi0JCXs5RTQ4QjMwMC0zN0QxLTExREQtOEM0MS0wMDUwNTZDMDAwMDh9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7OUU0OEIzMDAtMzdEMS0xMURELThDNDEtMDA1MDU2QzAwMDA4fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCi0JCXtFNUIwNENDMC1FQjRDLTQyQUItQjREQy0xOEVGOTVGODY0QjB9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJe0U1QjA0Q0MwLUVCNEMtNDJBQi1CNERDLTE4RUY5NUY4NjRCMH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQotCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KLQkJezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KLQlFbmRHbG9iYWxTZWN0aW9uDQotCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Qcm9wZXJ0aWVzKSA9IHByZVNvbHV0aW9uDQotCQlIaWRlU29sdXRpb25Ob2RlID0gRkFMU0UNCi0JRW5kR2xvYmFsU2VjdGlvbg0KLUVuZEdsb2JhbA0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3BnaW5zdHJ1bWVudC52c3Byb3BzIGIvUEMvVlM4LjAvcGdpbnN0cnVtZW50LnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM4YzVmMTguLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcGdpbnN0cnVtZW50LnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icGdpbnN0cnVtZW50Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoT3V0RGlyUEdJKSINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLXBnaVwkKFByb2plY3ROYW1lKVwiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlPcHRpbWl6YXRpb249IjIiDQotCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQlGYXZvclNpemVPclNwZWVkPSIyIg0KLQkJT21pdEZyYW1lUG9pbnRlcnM9InRydWUiDQotCQlFbmFibGVGaWJlclNhZmVPcHRpbWl6YXRpb25zPSJmYWxzZSINCi0JCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0idHJ1ZSINCi0JCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQlFeGNlcHRpb25IYW5kbGluZz0iMCINCi0JCUJ1ZmZlclNlY3VyaXR5Q2hlY2s9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3B0aW1pemVSZWZlcmVuY2VzPSIyIg0KLQkJRW5hYmxlQ09NREFURm9sZGluZz0iMiINCi0JCUxpbmtUaW1lQ29kZUdlbmVyYXRpb249IjIiDQotCQlQcm9maWxlR3VpZGVkRGF0YWJhc2U9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnaVwkKFRhcmdldE5hbWUpLnBnZCINCi0JCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKVwkKFRhcmdldE5hbWUpLmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iT3V0RGlyUEdJIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXBnaVwiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3BndXBkYXRlLnZzcHJvcHMgYi9QQy9WUzguMC9wZ3VwZGF0ZS52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmNmYzJkLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3BndXBkYXRlLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icGd1cGRhdGUiDQotCU91dHB1dERpcmVjdG9yeT0iJChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktcGdvXCINCi0JSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9IiQoU29sdXRpb25EaXIpXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlBZGRpdGlvbmFsTWFuaWZlc3REZXBlbmRlbmNpZXM9IiINCi0JCUxpbmtUaW1lQ29kZUdlbmVyYXRpb249IjQiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3B5ZC52c3Byb3BzIGIvUEMvVlM4LjAvcHlkLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0YzIxZTEuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcHlkLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlkIg0KLQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRSINCi0JCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLnB5ZCINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5wZGIiDQotCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcilcJChUYXJnZXROYW1lKS5saWIiDQotCQlHZW5lcmF0ZU1hbmlmZXN0PSJmYWxzZSINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJRW1iZWRNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCUNvbW1hbmRMaW5lPSIiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3B5ZF9kLnZzcHJvcHMgYi9QQy9WUzguMC9weWRfZC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTNhMzBiLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3B5ZF9kLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlkX2QiDQotCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCU9wdGltaXphdGlvbj0iMCINCi0JCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIwIg0KLQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQeV9CVUlMRF9DT1JFX01PRFVMRSINCi0JCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QucHlkIg0KLQkJTGlua0luY3JlbWVudGFsPSIxIg0KLQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QucGRiIg0KLQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpXCQoVGFyZ2V0TmFtZSkubGliIg0KLQkJR2VuZXJhdGVNYW5pZmVzdD0iZmFsc2UiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCUVtYmVkTWFuaWZlc3Q9ImZhbHNlIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQlDb21tYW5kTGluZT0iIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJQeXRob25FeGUiDQotCQlWYWx1ZT0iJChTb2x1dGlvbkRpcilweXRob25fZC5leGUiDQotCS8+DQotPC9WaXN1YWxTdHVkaW9Qcm9wZXJ0eVNoZWV0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3B5ZXhwYXQudmNwcm9qIGIvUEMvVlM4LjAvcHlleHBhdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1OWU0ZWMuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcHlleHBhdC52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1NTMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InB5ZXhwYXQiDQotCVByb2plY3RHVUlEPSJ7RDA2QjY0MjYtNDc2Mi00NENDLThCQUQtRDc5MDUyNTA3RjJGfSINCi0JUm9vdE5hbWVzcGFjZT0icHlleHBhdCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii5cLi5cLi5cTW9kdWxlc1xleHBhdCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlBZRVhQQVRfRVhQT1JUUztIQVZFX0VYUEFUX0g7WE1MX05TO1hNTF9EVEQ7QllURU9SREVSPTEyMzQ7WE1MX0NPTlRFWFRfQllURVM9MTAyNDtYTUxfU1RBVElDO0hBVkVfTUVNTU9WRSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLlwuLlwuLlxNb2R1bGVzXGV4cGF0Ig0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iUFlFWFBBVF9FWFBPUlRTO0hBVkVfRVhQQVRfSDtYTUxfTlM7WE1MX0RURDtCWVRFT1JERVI9MTIzNDtYTUxfQ09OVEVYVF9CWVRFUz0xMDI0O1hNTF9TVEFUSUM7SEFWRV9NRU1NT1ZFIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuXC4uXC4uXE1vZHVsZXNcZXhwYXQiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJQWUVYUEFUX0VYUE9SVFM7SEFWRV9FWFBBVF9IO1hNTF9OUztYTUxfRFREO0JZVEVPUkRFUj0xMjM0O1hNTF9DT05URVhUX0JZVEVTPTEwMjQ7WE1MX1NUQVRJQztIQVZFX01FTU1PVkUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccHlleHBhdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxwYXJzZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xleHBhdFx4bWxyb2xlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGV4cGF0XHhtbHRvay5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3B5cHJvamVjdC52c3Byb3BzIGIvUEMvVlM4LjAvcHlwcm9qZWN0LnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQzNTU1YTYuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcHlwcm9qZWN0LnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHlwcm9qZWN0Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpIg0KLQlJbnRlcm1lZGlhdGVEaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpJChQbGF0Zm9ybU5hbWUpLXRlbXAtJChDb25maWd1cmF0aW9uTmFtZSlcJChQcm9qZWN0TmFtZSlcIg0KLQk+DQotCTxUb29sDQotCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9InRydWUiDQotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlOyAuLlwuLlxQQyINCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lOMzIiDQotCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJRXhjZXB0aW9uSGFuZGxpbmc9IjAiDQotCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJV2FybmluZ0xldmVsPSIzIg0KLQkJRGVidWdJbmZvcm1hdGlvbkZvcm1hdD0iMyINCi0JCUNvbXBpbGVBcz0iMCINCi0JLz4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCUxpbmtJbmNyZW1lbnRhbD0iMSINCi0JCUFkZGl0aW9uYWxMaWJyYXJ5RGlyZWN0b3JpZXM9IiQoT3V0RGlyKSINCi0JCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0idHJ1ZSINCi0JCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoVGFyZ2V0TmFtZSkucGRiIg0KLQkJU3ViU3lzdGVtPSIyIg0KLQkJUmFuZG9taXplZEJhc2VBZGRyZXNzPSIxIg0KLQkJRGF0YUV4ZWN1dGlvblByZXZlbnRpb249IjAiDQotCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkvPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFBDOy4uXC4uXEluY2x1ZGUiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9IlB5RGxsTmFtZSINCi0JCVZhbHVlPSJweXRob24zMyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoU29sdXRpb25EaXIpXHB5dGhvbi5leGUiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9ImV4dGVybmFsc0RpciINCi0JCVZhbHVlPSIuLlwuLlwuLiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0ic3FsaXRlM0RpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0Rpcilcc3FsaXRlLTMuNi4yMSINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iYnoyRGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVxiemlwMi0xLjAuNiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0ib3BlbnNzbERpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0Rpcilcb3BlbnNzbC0xLjAuMWQiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InRjbHRrRGlyIg0KLQkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVx0Y2x0ayINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGs2NERpciINCi0JCVZhbHVlPSIkKGV4dGVybmFsc0RpcilcdGNsdGs2NCINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGtMaWIiDQotCQlWYWx1ZT0iJCh0Y2x0a0RpcilcbGliXHRjbDg1LmxpYiAkKHRjbHRrRGlyKVxsaWJcdGs4NS5saWIiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InRjbHRrTGliRGVidWciDQotCQlWYWx1ZT0iJCh0Y2x0a0RpcilcbGliXHRjbDg1Zy5saWIgJCh0Y2x0a0RpcilcbGliXHRrODVnLmxpYiINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0idGNsdGs2NExpYiINCi0JCVZhbHVlPSIkKHRjbHRrNjREaXIpXGxpYlx0Y2w4NS5saWIgJCh0Y2x0azY0RGlyKVxsaWJcdGs4NS5saWIiDQotCS8+DQotCTxVc2VyTWFjcm8NCi0JCU5hbWU9InRjbHRrNjRMaWJEZWJ1ZyINCi0JCVZhbHVlPSIkKHRjbHRrNjREaXIpXGxpYlx0Y2w4NWcubGliICQodGNsdGs2NERpcilcbGliXHRrODVnLmxpYiINCi0JLz4NCi08L1Zpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQ+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvcHl0aG9uLnZjcHJvaiBiL1BDL1ZTOC4wL3B5dGhvbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmNDdjMGUuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcHl0aG9uLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDYzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHl0aG9uIg0KLQlQcm9qZWN0R1VJRD0ie0IxMUQ3NTBGLUNEMUYtNEE5Ni04NUNFLUU2OUE1QzUyNTlGOX0iDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJQnJvd3NlSW5mb3JtYXRpb249IjEiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbl9kLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjMiDQotCQkJCUJyb3dzZUluZm9ybWF0aW9uPSIxIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob25fZC5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjEwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NPTlNPTEUiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9uLmV4ZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ09OU09MRSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob24uZXhlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DT05TT0xFIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbi5leGUiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5Y29uLmljbyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9leGUucmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xweXRob24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9weXRob25jb3JlLnZjcHJvaiBiL1BDL1ZTOC4wL3B5dGhvbmNvcmUudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzViYjlkLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3B5dGhvbmNvcmUudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTkyMSArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0icHl0aG9uY29yZSINCi0JUHJvamVjdEdVSUQ9IntDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9Ig0KLQlSb290TmFtZXNwYWNlPSJweXRob25jb3JlIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxMzEwNzIiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAkKEludERpcikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQoSW50RGlyKVxnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcikkKFB5RGxsTmFtZSkubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAkKEludERpcikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQoSW50RGlyKVxnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpcikkKFB5RGxsTmFtZSkubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIwIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBEZWJ1ZyAkKEludERpcikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQoSW50RGlyKVxnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKV9kLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpX2QucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpJChQeURsbE5hbWUpX2QubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIwIg0KLQkJCQlFbmFibGVJbnRyaW5zaWNGdW5jdGlvbnM9ImZhbHNlIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBEZWJ1ZyAkKEludERpcikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQoSW50RGlyKVxnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKV9kLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpX2QucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXIpJChQeURsbE5hbWUpX2QubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAkKEludERpcikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQoSW50RGlyKVxnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpclBHSSkkKFB5RGxsTmFtZSkubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9abTIwMCAiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXFB5dGhvbjsuLlwuLlxNb2R1bGVzXHpsaWIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfVVNSRExMO1B5X0JVSUxEX0NPUkU7UHlfRU5BQkxFX1NIQVJFRDtXSU4zMiINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9Ii4uXC4uXEluY2x1ZGUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJCURlc2NyaXB0aW9uPSJHZW5lcmF0ZSBidWlsZCBpbmZvcm1hdGlvbi4uLiINCi0JCQkJQ29tbWFuZExpbmU9IiZxdW90OyQoU29sdXRpb25EaXIpbWFrZV9idWlsZGluZm8uZXhlJnF1b3Q7IFJlbGVhc2UgJChJbnREaXIpIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSIkKEludERpcilcZ2V0YnVpbGRpbmZvLm8iDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFB5RGxsTmFtZSkuZGxsIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIkKE91dERpcikkKFB5RGxsTmFtZSkucGRiIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iJChPdXREaXJQR0kpJChQeURsbE5hbWUpLmxpYiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL1ptMjAwICINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cUHl0aG9uOy4uXC4uXE1vZHVsZXNcemxpYiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7UHlfQlVJTERfQ09SRTtQeV9FTkFCTEVfU0hBUkVEO1dJTjMyIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iLi5cLi5cSW5jbHVkZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkJRGVzY3JpcHRpb249IkdlbmVyYXRlIGJ1aWxkIGluZm9ybWF0aW9uLi4uIg0KLQkJCQlDb21tYW5kTGluZT0iJnF1b3Q7JChTb2x1dGlvbkRpciltYWtlX2J1aWxkaW5mby5leGUmcXVvdDsgUmVsZWFzZSAoJEludERpcikiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQoSW50RGlyKVxnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHlEbGxOYW1lKS5kbGwiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9IiQoT3V0RGlyKSQoUHlEbGxOYW1lKS5wZGIiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIkKE91dERpclBHSSkkKFB5RGxsTmFtZSkubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvWm0yMDAgIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxQeXRob247Li5cLi5cTW9kdWxlc1x6bGliIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtQeV9CVUlMRF9DT1JFO1B5X0VOQUJMRV9TSEFSRUQ7V0lOMzIiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlxJbmNsdWRlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCQlEZXNjcmlwdGlvbj0iR2VuZXJhdGUgYnVpbGQgaW5mb3JtYXRpb24uLi4iDQotCQkJCUNvbW1hbmRMaW5lPSImcXVvdDskKFNvbHV0aW9uRGlyKW1ha2VfYnVpbGRpbmZvLmV4ZSZxdW90OyBSZWxlYXNlICQoSW50RGlyKSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChJbnREaXIpXGdldGJ1aWxkaW5mby5vIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilcJChQeURsbE5hbWUpLmRsbCINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iJChPdXREaXIpJChQeURsbE5hbWUpLnBkYiINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9IiQoT3V0RGlyUEdJKSQoUHlEbGxOYW1lKS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJJbmNsdWRlIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYWJzdHJhY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYWNjdS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxhc2RsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGFzdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxiaXRzZXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcYm9vbG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxieXRlc19tZXRob2RzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGJ5dGVhcnJheW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxieXRlc29iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxjZWxsb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNldmFsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNsYXNzb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNvZGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY29kZWNzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGNvbXBpbGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcY29tcGxleG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxkYXRldGltZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxkZXNjcm9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxkaWN0b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGR5bmFtaWNfYW5ub3RhdGlvbnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZW51bW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxlcnJjb2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGV2YWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZmlsZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxmaWxldXRpbHMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZmxvYXRvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZm9ybWF0dGVyX3VuaWNvZGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZnJhbWVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZnVuY29iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxnZW5vYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZ3JhbWluaXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcZ3JhbW1hci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxpbXBvcnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcaW50cmNoZWNrLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXGl0ZXJvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbGlzdG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxsb25naW50cmVwci5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxsb25nb2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1hcnNoYWwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcbWVtb3J5b2JqZWN0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1ldGFncmFtbWFyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1ldGhvZG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxtb2RzdXBwb3J0LmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG1vZHVsZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxub2RlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxvYmppbXBsLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXG9wY29kZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxvc2RlZnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccGFyc2V0b2suaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccGF0Y2hsZXZlbC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxwZ2VuLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHBnZW5oZWFkZXJzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5X2N1cnNlcy5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWFyZW5hLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5Y2Fwc3VsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWN0eXBlLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5ZGVidWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHllcnJvcnMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlleHBhdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWZwZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweWdldG9wdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweW1hY3Rvb2xib3guaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHltYXRoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5dGltZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweW1lbS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXBvcnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVccHlzdGF0ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXN0cmNtcC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXN0cnRvZC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxkdG9hLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXFB5dGhvbi1hc3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcUHl0aG9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHB5dGhvbnJ1bi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxweXRocmVhZC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxyYW5nZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzZXRvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc2xpY2VvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcc3RydWN0bWVtYmVyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHN0cnVjdHNlcS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzeW10YWJsZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVxzeXNtb2R1bGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcdGltZWZ1bmNzLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHRva2VuLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHRyYWNlYmFjay5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx0dXBsZW9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cSW5jbHVkZVx1Y25oYXNoLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxJbmNsdWRlXHVuaWNvZGVvYmplY3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXEluY2x1ZGVcd2Vha3JlZm9iamVjdC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iTW9kdWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9iaXNlY3Rtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2NvZGVjc21vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfY29sbGVjdGlvbnNtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2Nzdi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZnVuY3Rvb2xzbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9oZWFwcW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfanNvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbG9jYWxlbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9sc3Byb2YuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX21hdGguYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX21hdGguaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3BpY2tsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfcmFuZG9tbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9zcmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3N0cnVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGltZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfdGltZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfd2Vha3JlZi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhcnJheW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xhdGV4aXRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcYXVkaW9vcC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xiaW5hc2NpaS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjbWF0aG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfZGF0ZXRpbWVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZXJybm9tb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcZ2Ntb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcaXRlcnRvb2xzbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXG1haW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbWF0aG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xtZDVtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcbW1hcG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xvcGVyYXRvci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xwYXJzZXJtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccG9zaXhtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNccm90YXRpbmd0cmVlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHJvdGF0aW5ndHJlZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGExbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHNoYTI1Nm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xzaGE1MTJtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2lnbmFsbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHN5bXRhYmxlbW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90aHJlYWRtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdGltZW1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x4eHN1YnR5cGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemlwaW1wb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsdGVyDQotCQkJCU5hbWU9Il9pbyINCi0JCQkJPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xmaWxlaW8uYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xieXRlc2lvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cc3RyaW5naW8uYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9pb1xidWZmZXJlZGlvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9caW9iYXNlLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cdGV4dGlvLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cX2lvbW9kdWxlLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfaW9cX2lvbW9kdWxlLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQk8L0ZpbHRlcj4NCi0JCQk8RmlsdGVyDQotCQkJCU5hbWU9InpsaWIiDQotCQkJCT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGFkbGVyMzIuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcY29tcHJlc3MuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcY3JjMzIuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcY3JjMzIuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcZGVmbGF0ZS5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxkZWZsYXRlLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGd6aW8uYyINCi0JCQkJCT4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUiDQotCQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjY0Ig0KLQkJCQkJCT4NCi0JCQkJCQk8VG9vbA0KLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIg0KLQkJCQkJCS8+DQotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUiDQotCQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJCQlOYW1lPSJEZWJ1Z3xXaW42NCINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURSINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURSINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW42NCINCi0JCQkJCQk+DQotCQkJCQkJPFRvb2wNCi0JCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9DUlRfU0VDVVJFX05PX0RFUFJFQ0FURSINCi0JCQkJCQkvPg0KLQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KLQkJCQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCQkJCT4NCi0JCQkJCQk8VG9vbA0KLQkJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFIg0KLQkJCQkJCS8+DQotCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KLQkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQotCQkJCQkJTmFtZT0iUEdVcGRhdGV8V2luNjQiDQotCQkJCQkJPg0KLQkJCQkJCTxUb29sDQotCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEUiDQotCQkJCQkJLz4NCi0JCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmJhY2suYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mZmFzdC5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZmYXN0LmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmZpeGVkLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXGluZmxhdGUuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcaW5mbGF0ZS5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZ0cmVlcy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlxpbmZ0cmVlcy5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx0cmVlcy5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx0cmVlcy5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcemxpYlx1bmNvbXByLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHpjb25mLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHpjb25mLmluLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x6bGliXHpsaWIuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXHpsaWJcenV0aWwuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJCTxGaWx0ZXINCi0JCQkJTmFtZT0iY2prY29kZWNzIg0KLQkJCQk+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3NfY24uYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX2hrLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19pc28yMDIyLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcX2NvZGVjc19qcC5jIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXF9jb2RlY3Nfa3IuYyINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xfY29kZWNzX3R3LmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcYWxnX2ppc3gwMjAxLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcY2prY29kZWNzLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcZW11X2ppc3gwMjEzXzIwMDAuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc19jbi5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2hrLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3NfamlzeDAyMTNfcGFpci5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG1hcHBpbmdzX2pwLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbWFwcGluZ3Nfa3IuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXGNqa2NvZGVjc1xtYXBwaW5nc190dy5oIg0KLQkJCQkJPg0KLQkJCQk8L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcY2prY29kZWNzXG11bHRpYnl0ZWNvZGVjLmMiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xjamtjb2RlY3NcbXVsdGlieXRlY29kZWMuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCTwvRmlsdGVyPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iT2JqZWN0cyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGFic3RyYWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGFjY3UuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcYm9vbG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xieXRlc19tZXRob2RzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGJ5dGVhcnJheW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xieXRlc29iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjYXBzdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGNlbGxvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY2xhc3NvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcY29kZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xjb21wbGV4b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxjb3VudC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xkZXNjcm9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xkaWN0b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGVudW1vYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZXhjZXB0aW9ucy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcZmFzdHNlYXJjaC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xmaWxlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHN0cmluZ2xpYlxmaW5kLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGZsb2F0b2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGZyYW1lb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGZ1bmNvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcZ2Vub2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXGl0ZXJvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbGlzdG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xsb25nb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG1lbW9yeW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xtZXRob2RvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcbW9kdWxlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xvYm1hbGxvYy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJccGFydGl0aW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHJhbmdlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHNldG9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzbGljZW9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cT2JqZWN0c1xzdHJpbmdsaWJcc3BsaXQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RydWN0c2VxLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHR1cGxlb2JqZWN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHR5cGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdW5pY29kZWN0eXBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxPYmplY3RzXHVuaWNvZGVvYmplY3QuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcdW5pY29kZXR5cGVfZGIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcd2Vha3JlZm9iamVjdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iUGFyc2VyIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxhY2NlbGVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcYml0c2V0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcZmlyc3RzZXRzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcZ3JhbW1hci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXGdyYW1tYXIxLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJcbGlzdG5vZGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxtZXRhZ3JhbW1hci5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUGFyc2VyXG15cmVhZGxpbmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclxub2RlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2VyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2VyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQYXJzZXJccGFyc2V0b2suYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclx0b2tlbml6ZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBhcnNlclx0b2tlbml6ZXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlBDIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXF9zdWJwcm9jZXNzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1x3aW5yZWcuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGNvbmZpZy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcZGxfbnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXGVycm1hcC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcZ2V0cGF0aHAuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXG1zdmNydG1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENccHljb25maWcuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlB5dGhvbiINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cX3dhcm5pbmdzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cYXNkbC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGFzdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGJsdGlubW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cY2V2YWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxjb2RlY3MuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxjb21waWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZHluYW1pY19hbm5vdGF0aW9ucy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGR5bmxvYWRfd2luLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZXJyb3JzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZmlsZXV0aWxzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZm9ybWF0dGVyX3VuaWNvZGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmcm96ZW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxmdXR1cmUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXRhcmdzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cZ2V0Y29tcGlsZXIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXRjb3B5cmlnaHQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXRvcHQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxnZXRwbGF0Zm9ybS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGdldHZlcnNpb24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxncmFtaW5pdC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGltcG9ydC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGltcG9ydGRsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25caW1wb3J0ZGwuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxtYXJzaGFsLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cbW9kc3VwcG9ydC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXG15c25wcmludGYuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxteXN0cnRvdWwuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxwZWVwaG9sZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXHB5YXJlbmEuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweWN0eXBlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlmcGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweW1hdGguYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweXRpbWUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweXN0YXRlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHlzdHJjbXAuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxweXN0cnRvZC5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUHl0aG9uXGR0b2EuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxQeXRob24tYXN0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccHl0aG9ucnVuLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25ccmFuZG9tLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cc3RydWN0bWVtYmVyLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQeXRob25cc3ltdGFibGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblxzeXNtb2R1bGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0aHJlYWQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0aHJlYWRfbnQuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFB5dGhvblx0cmFjZWJhY2suYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlJlc291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHB5dGhvbl9udC5yYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9weXRob253LnZjcHJvaiBiL1BDL1ZTOC4wL3B5dGhvbncudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MDM3Yjc4Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3B5dGhvbncudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNjE4ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJweXRob253Ig0KLQlQcm9qZWN0R1VJRD0ie0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0iDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJRW5hYmxlSW50cmluc2ljRnVuY3Rpb25zPSJmYWxzZSINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIzIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253X2QuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUVuYWJsZUludHJpbnNpY0Z1bmN0aW9ucz0iZmFsc2UiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU5ET1dTIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMyINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX0RFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9ud19kLmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJfV0lORE9XUyINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjIiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCQlDb21waWxlQXM9IjAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJOREVCVUciDQotCQkJCUN1bHR1cmU9IjEwMzMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVxweXRob253LmV4ZSINCi0JCQkJU3RhY2tSZXNlcnZlU2l6ZT0iMjAwMDAwMCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MWQwMDAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU5ET1dTIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMiINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJCUNvbXBpbGVBcz0iMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Ik5ERUJVRyINCi0JCQkJQ3VsdHVyZT0iMTAzMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXHB5dGhvbncuZXhlIg0KLQkJCQlTdGFja1Jlc2VydmVTaXplPSIyMDAwMDAwIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxZDAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1dJTkRPV1MiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIyIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkJQ29tcGlsZUFzPSIwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkJCQlDdWx0dXJlPSIxMDMzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlPdXRwdXRGaWxlPSIkKE91dERpcilccHl0aG9udy5leGUiDQotCQkJCVN0YWNrUmVzZXJ2ZVNpemU9IjIwMDAwMDAiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFkMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJSZXNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1xweXRob25fZXhlLnJjIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXFdpbk1haW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9yZWxlYXNlLnZzcHJvcHMgYi9QQy9WUzguMC9yZWxlYXNlLnZzcHJvcHMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4ZGVmOTAuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcmVsZWFzZS52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InJlbGVhc2UiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iTkRFQlVHIg0KLQkvPg0KLQk8VXNlck1hY3JvDQotCQlOYW1lPSJLaWxsUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoT3V0RGlyKVxraWxsX3B5dGhvbi5leGUiDQotCS8+CQ0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9ybXB5Yy5weSBiL1BDL1ZTOC4wL3JtcHljLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxOGUxNzA1Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3JtcHljLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotIyBSZW1vdmUgYWxsIHRoZSAucHljIGFuZCAucHlvIGZpbGVzIHVuZGVyIC4uL0xpYi4KLQotCi1kZWYgZGVsdHJlZShyb290KToKLSAgICBpbXBvcnQgb3MKLSAgICBmcm9tIG9zLnBhdGggaW1wb3J0IGpvaW4KLQotICAgIG5weWMgPSBucHlvID0gMAotICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKHJvb3QpOgotICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKLSAgICAgICAgICAgIGRlbGV0ZSA9IEZhbHNlCi0gICAgICAgICAgICBpZiBuYW1lLmVuZHN3aXRoKCcucHljJyk6Ci0gICAgICAgICAgICAgICAgZGVsZXRlID0gVHJ1ZQotICAgICAgICAgICAgICAgIG5weWMgKz0gMQotICAgICAgICAgICAgZWxpZiBuYW1lLmVuZHN3aXRoKCcucHlvJyk6Ci0gICAgICAgICAgICAgICAgZGVsZXRlID0gVHJ1ZQotICAgICAgICAgICAgICAgIG5weW8gKz0gMQotCi0gICAgICAgICAgICBpZiBkZWxldGU6Ci0gICAgICAgICAgICAgICAgb3MucmVtb3ZlKGpvaW4ocm9vdCwgbmFtZSkpCi0KLSAgICByZXR1cm4gbnB5YywgbnB5bwotCi1ucHljLCBucHlvID0gZGVsdHJlZSgiLi4vLi4vTGliIikKLXByaW50KG5weWMsICIucHljIGRlbGV0ZWQsIiwgbnB5bywgIi5weW8gZGVsZXRlZCIpCmRpZmYgLS1naXQgYS9QQy9WUzguMC9ydC5iYXQgYi9QQy9WUzguMC9ydC5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0MjllMTkuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvcnQuYmF0CisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotQGVjaG8gb2ZmCi1yZW0gUnVuIFRlc3RzLiAgUnVuIHRoZSByZWdyZXNzaW9uIHRlc3Qgc3VpdGUuCi1yZW0gVXNhZ2U6ICBydCBbLWRdIFstT10gWy1xXSByZWdydGVzdF9hcmdzCi1yZW0gLWQgICBSdW4gRGVidWcgYnVpbGQgKHB5dGhvbl9kLmV4ZSkuICBFbHNlIHJlbGVhc2UgYnVpbGQuCi1yZW0gLU8gICBSdW4gcHl0aG9uLmV4ZSBvciBweXRob25fZC5leGUgKHNlZSAtZCkgd2l0aCAtTy4KLXJlbSAtcSAgICJxdWljayIgLS0gbm9ybWFsbHkgdGhlIHRlc3RzIGFyZSBydW4gdHdpY2UsIHRoZSBmaXJzdCB0aW1lCi1yZW0gICAgICBhZnRlciBkZWxldGluZyBhbGwgdGhlIC5weVtjb10gZmlsZXMgcmVhY2hhYmxlIGZyb20gTGliLy4KLXJlbSAgICAgIC1xIHJ1bnMgdGhlIHRlc3RzIGp1c3Qgb25jZSwgYW5kIHdpdGhvdXQgZGVsZXRpbmcgLnB5W2NvXSBmaWxlcy4KLXJlbSBBbGwgbGVhZGluZyBpbnN0YW5jZXMgb2YgdGhlc2Ugc3dpdGNoZXMgYXJlIHNoaWZ0ZWQgb2ZmLCBhbmQKLXJlbSB3aGF0ZXZlciByZW1haW5zIGlzIHBhc3NlZCB0byByZWdydGVzdC5weS4gIEZvciBleGFtcGxlLAotcmVtICAgICBydCAtTyAtZCAteCB0ZXN0X3RocmVhZAotcmVtIHJ1bnMKLXJlbSAgICAgcHl0aG9uX2QgLU8gLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgLXggdGVzdF90aHJlYWQKLXJlbSB0d2ljZSwgYW5kCi1yZW0gICAgIHJ0IC1xIC1nIHRlc3RfYmluYXNjaWkKLXJlbSBydW5zCi1yZW0gICAgIHB5dGhvbl9kIC4uL2xpYi90ZXN0L3JlZ3J0ZXN0LnB5IC1nIHRlc3RfYmluYXNjaWkKLXJlbSB0byBnZW5lcmF0ZSB0aGUgZXhwZWN0ZWQtb3V0cHV0IGZpbGUgZm9yIGJpbmFzY2lpIHF1aWNrbHkuCi1yZW0KLXJlbSBDb25mdXNpbmc6ICBpZiB5b3Ugd2FudCB0byBwYXNzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIGxpa2UKLXJlbSAgICAgLXUgbmV0d29yayxsYXJnZWZpbGUKLXJlbSB0aGVuIHlvdSBoYXZlIHRvIHF1b3RlIGl0IG9uIHRoZSBydCBsaW5lLCBsaWtlCi1yZW0gICAgIHJ0IC11ICJuZXR3b3JrLGxhcmdlZmlsZSIKLQotc2V0bG9jYWwKLQotc2V0IGV4ZT1weXRob24KLXNldCBxbW9kZT0KLXNldCBkYXNoTz0KLVBBVEggJVBBVEglOyV+ZHAwLi5cLi5cLi5cdGNsdGtcYmluCi0KLTpDaGVja09wdHMKLWlmICIlMSI9PSItTyIgKHNldCBkYXNoTz0tTykgICAgICYgc2hpZnQgJiBnb3RvIENoZWNrT3B0cwotaWYgIiUxIj09Ii1xIiAoc2V0IHFtb2RlPXllcykgICAgJiBzaGlmdCAmIGdvdG8gQ2hlY2tPcHRzCi1pZiAiJTEiPT0iLWQiIChzZXQgZXhlPXB5dGhvbl9kKSAmIHNoaWZ0ICYgZ290byBDaGVja09wdHMKLQotc2V0IGNtZD0lZXhlJSAlZGFzaE8lIC1FIC4uLy4uL2xpYi90ZXN0L3JlZ3J0ZXN0LnB5ICUxICUyICUzICU0ICU1ICU2ICU3ICU4ICU5Ci1pZiBkZWZpbmVkIHFtb2RlIGdvdG8gUW1vZGUKLQotZWNobyBEZWxldGluZyAucHljLy5weW8gZmlsZXMgLi4uCi0lZXhlJSBybXB5Yy5weQotCi1lY2hvIG9uCi0lY21kJQotQGVjaG8gb2ZmCi0KLWVjaG8gQWJvdXQgdG8gcnVuIGFnYWluIHdpdGhvdXQgZGVsZXRpbmcgLnB5Yy8ucHlvIGZpcnN0OgotcGF1c2UKLQotOlFtb2RlCi1lY2hvIG9uCi0lY21kJQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvc2VsZWN0LnZjcHJvaiBiL1BDL1ZTOC4wL3NlbGVjdC52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3MWZjMTYuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvc2VsZWN0LnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0ic2VsZWN0Ig0KLQlQcm9qZWN0R1VJRD0iezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30iDQotCVJvb3ROYW1lc3BhY2U9InNlbGVjdCINCi0JS2V5d29yZD0iV2luMzJQcm9qIg0KLQlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQotCT4NCi0JPFBsYXRmb3Jtcz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9IldpbjMyIg0KLQkJLz4NCi0JCTxQbGF0Zm9ybQ0KLQkJCU5hbWU9Ing2NCINCi0JCS8+DQotCTwvUGxhdGZvcm1zPg0KLQk8VG9vbEZpbGVzPg0KLQk8L1Rvb2xGaWxlcz4NCi0JPENvbmZpZ3VyYXRpb25zPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJEZWJ1Z3x4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3czJfMzIubGliIg0KLQkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDExMDAwMCINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id3MyXzMyLmxpYiINCi0JCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMTAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IndzMl8zMi5saWIiDQotCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTEwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcc2VsZWN0bW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvc3FsaXRlMy52Y3Byb2ogYi9QQy9WUzguMC9zcWxpdGUzLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWFmYmU1ZC4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9zcWxpdGUzLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUzNyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0ic3FsaXRlMyINCi0JUHJvamVjdEdVSUQ9IntBMUEyOTVFNS00NjNDLTQzN0YtODFDQS0xRjMyMzY3Njg1REF9Ig0KLQlSb290TmFtZXNwYWNlPSJzcWxpdGUzIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXGRlYnVnLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpX2QuZGxsIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKV9kLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxzcWxpdGUzLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7Li5cLi5cLi5cc3FsaXRlLTMuNi4yMSZxdW90OyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJT3V0cHV0RmlsZT0iJChPdXREaXIpXCQoUHJvamVjdE5hbWUpLmRsbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCU91dHB1dEZpbGU9IiQoT3V0RGlyKVwkKFByb2plY3ROYW1lKS5kbGwiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHNxbGl0ZTMudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IkhlYWRlciBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlwuLlxzcWxpdGUtMy42LjIxXHNxbGl0ZTMuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXHNxbGl0ZS0zLjYuMjFcc3FsaXRlM2V4dC5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXC4uXHNxbGl0ZS0zLjYuMjFcc3FsaXRlMy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3NxbGl0ZTMudnNwcm9wcyBiL1BDL1ZTOC4wL3NxbGl0ZTMudnNwcm9wcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODMwMDMyOC4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9zcWxpdGUzLnZzcHJvcHMKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0ic3FsaXRlMyINCi0JSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHMiDQotCT4NCi0JPFRvb2wNCi0JCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIuLlwuLlwuLlxzcWxpdGUtMy42LjIxIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IlNRTElURV9BUEk9X19kZWNsc3BlYyhkbGxleHBvcnQpIg0KLQkJV2FybmluZ0xldmVsPSIxIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9zc2wudmNwcm9qIGIvUEMvVlM4LjAvc3NsLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjBkNjM1ZS4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC9zc2wudmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsMTg5ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJzc2wiDQotCVByb2plY3RHVUlEPSJ7RTVCMDRDQzAtRUI0Qy00MkFCLUI0REMtMThFRjk1Rjg2NEIwfSINCi0JUm9vdE5hbWVzcGFjZT0ic3NsIg0KLQlLZXl3b3JkPSJNYWtlRmlsZVByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIwIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ05NYWtlVG9vbCINCi0JCQkJQnVpbGRDb21tYW5kTGluZT0iY2QgJnF1b3Q7JChTb2x1dGlvbkRpcikmcXVvdDsmI3gwRDsmI3gwQTsmcXVvdDskKFB5dGhvbkV4ZSkmcXVvdDsgYnVpbGRfc3NsLnB5IFJlbGVhc2UgJChQbGF0Zm9ybU5hbWUpIC1hJiN4MEQ7JiN4MEE7Ig0KLQkJCQlSZUJ1aWxkQ29tbWFuZExpbmU9IiINCi0JCQkJQ2xlYW5Db21tYW5kTGluZT0iIg0KLQkJCQlPdXRwdXQ9IiINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiINCi0JCQkJSW5jbHVkZVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkSW5jbHVkZXM9IiINCi0JCQkJQXNzZW1ibHlTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZFVzaW5nQXNzZW1ibGllcz0iIg0KLQkJCQlDb21waWxlQXNNYW5hZ2VkPSIiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjAiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNOTWFrZVRvb2wiDQotCQkJCUJ1aWxkQ29tbWFuZExpbmU9ImNkICZxdW90OyQoU29sdXRpb25EaXIpJnF1b3Q7JiN4MEQ7JiN4MEE7JnF1b3Q7JChQeXRob25FeGUpJnF1b3Q7IGJ1aWxkX3NzbC5weSBSZWxlYXNlICQoUGxhdGZvcm1OYW1lKSAtYSYjeDBEOyYjeDBBOyINCi0JCQkJUmVCdWlsZENvbW1hbmRMaW5lPSIiDQotCQkJCUNsZWFuQ29tbWFuZExpbmU9IiINCi0JCQkJT3V0cHV0PSIiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIiDQotCQkJCUluY2x1ZGVTZWFyY2hQYXRoPSIiDQotCQkJCUZvcmNlZEluY2x1ZGVzPSIiDQotCQkJCUFzc2VtYmx5U2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRVc2luZ0Fzc2VtYmxpZXM9IiINCi0JCQkJQ29tcGlsZUFzTWFuYWdlZD0iIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMCINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTk1ha2VUb29sIg0KLQkJCQlCdWlsZENvbW1hbmRMaW5lPSJjZCAmcXVvdDskKFNvbHV0aW9uRGlyKSZxdW90OyYjeDBEOyYjeDBBOyZxdW90OyQoUHl0aG9uRXhlKSZxdW90OyBidWlsZF9zc2wucHkgUmVsZWFzZSAkKFBsYXRmb3JtTmFtZSkgLWEmI3gwRDsmI3gwQTsiDQotCQkJCVJlQnVpbGRDb21tYW5kTGluZT0iIg0KLQkJCQlDbGVhbkNvbW1hbmRMaW5lPSIiDQotCQkJCU91dHB1dD0iIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iIg0KLQkJCQlJbmNsdWRlU2VhcmNoUGF0aD0iIg0KLQkJCQlGb3JjZWRJbmNsdWRlcz0iIg0KLQkJCQlBc3NlbWJseVNlYXJjaFBhdGg9IiINCi0JCQkJRm9yY2VkVXNpbmdBc3NlbWJsaWVzPSIiDQotCQkJCUNvbXBpbGVBc01hbmFnZWQ9IiINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3VuaWNvZGVkYXRhLnZjcHJvaiBiL1BDL1ZTOC4wL3VuaWNvZGVkYXRhLnZjcHJvagpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGNmN2QyMy4uMDAwMDAwMAotLS0gYS9QQy9WUzguMC91bmljb2RlZGF0YS52Y3Byb2oKKysrIC9kZXYvbnVsbApAQCAtMSw1MzMgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb2plY3QNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9InVuaWNvZGVkYXRhIg0KLQlQcm9qZWN0R1VJRD0ie0VDQzdDRUFDLUE1RTUtNDU4RS1CQjlFLTI0MTNDQzg0Nzg4MX0iDQotCVJvb3ROYW1lc3BhY2U9InVuaWNvZGVkYXRhIg0KLQlLZXl3b3JkPSJXaW4zMlByb2oiDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZF9kLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUJhc2VBZGRyZXNzPSIweDFEMTIwMDAwIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDEyMDAwMCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxMjAwMDAiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCTwvQ29uZmlndXJhdGlvbnM+DQotCTxSZWZlcmVuY2VzPg0KLQk8L1JlZmVyZW5jZXM+DQotCTxGaWxlcz4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x1bmljb2RlZGF0YV9kYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1x1bmljb2RlbmFtZV9kYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcdW5pY29kZWRhdGEuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC93OXhwb3Blbi52Y3Byb2ogYi9QQy9WUzguMC93OXhwb3Blbi52Y3Byb2oKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxNGQyMDYuLjAwMDAwMDAKLS0tIGEvUEMvVlM4LjAvdzl4cG9wZW4udmNwcm9qCisrKyAvZGV2L251bGwKQEAgLTEsNTc2ICswLDAgQEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IldpbmRvd3MtMTI1MiI/Pg0KLTxWaXN1YWxTdHVkaW9Qcm9qZWN0DQotCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KLQlWZXJzaW9uPSI4LjAwIg0KLQlOYW1lPSJ3OXhwb3BlbiINCi0JUHJvamVjdEdVSUQ9IntFOUUwQTFGNi0wMDA5LTRFOEMtQjhGOC0xQjhGNUQ0OUEwNTh9Ig0KLQlSb290TmFtZXNwYWNlPSJ3OXhwb3BlbiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTMxMDcyIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIwIg0KLQkJCQlCYXNpY1J1bnRpbWVDaGVja3M9IjMiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxkZWJ1Zy52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iZmFsc2UiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIwIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJmYWxzZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHSW5zdHJ1bWVudHxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBnaW5zdHJ1bWVudC52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249ImZhbHNlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iZmFsc2UiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iZmFsc2UiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iZmFsc2UiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkJSW1wb3J0TGlicmFyeT0iIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXFBDXHc5eHBvcGVuLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JPC9GaWxlcz4NCi0JPEdsb2JhbHM+DQotCTwvR2xvYmFscz4NCi08L1Zpc3VhbFN0dWRpb1Byb2plY3Q+DQpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAvd2luc291bmQudmNwcm9qIGIvUEMvVlM4LjAvd2luc291bmQudmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkMzc5MzU3Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3dpbnNvdW5kLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDUyMyArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOC4wMCINCi0JTmFtZT0id2luc291bmQiDQotCVByb2plY3RHVUlEPSJ7MjhCNUQ3NzctRERGMi00QjZCLUIzNEYtMzFEOTM4ODEzODU2fSINCi0JUm9vdE5hbWVzcGFjZT0id2luc291bmQiDQotCUtleXdvcmQ9IldpbjMyUHJvaiINCi0JVGFyZ2V0RnJhbWV3b3JrVmVyc2lvbj0iMTk2NjEzIg0KLQk+DQotCTxQbGF0Zm9ybXM+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJXaW4zMiINCi0JCS8+DQotCQk8UGxhdGZvcm0NCi0JCQlOYW1lPSJ4NjQiDQotCQkvPg0KLQk8L1BsYXRmb3Jtcz4NCi0JPFRvb2xGaWxlcz4NCi0JPC9Ub29sRmlsZXM+DQotCTxDb25maWd1cmF0aW9ucz4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iRGVidWd8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkX2QudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWRfZC52c3Byb3BzOy5ceDY0LnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMiINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweWQudnNwcm9wczsuXHg2NC52c3Byb3BzIg0KLQkJCUNoYXJhY3RlclNldD0iMCINCi0JCQlXaG9sZVByb2dyYW1PcHRpbWl6YXRpb249IjEiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCQlUYXJnZXRFbnZpcm9ubWVudD0iMyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8eDY0Ig0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ceDY0LnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJ3aW5tbS5saWIiDQotCQkJCVRhcmdldE1hY2hpbmU9IjE3Ig0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IlBHVXBkYXRlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIyIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5ZC52c3Byb3BzOy5ccGd1cGRhdGUudnNwcm9wcyINCi0JCQlDaGFyYWN0ZXJTZXQ9IjAiDQotCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSIxIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Indpbm1tLmxpYiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjIiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlkLnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0iMSINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0id2lubW0ubGliIg0KLQkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQk8L0NvbmZpZ3VyYXRpb25zPg0KLQk8UmVmZXJlbmNlcz4NCi0JPC9SZWZlcmVuY2VzPg0KLQk8RmlsZXM+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KLQkJCUZpbHRlcj0iY3BwO2M7Y2M7Y3h4O2RlZjtvZGw7aWRsO2hwajtiYXQ7YXNtO2FzbXgiDQotCQkJVW5pcXVlSWRlbnRpZmllcj0iezRGQzczN0YxLUM3QTUtNDM3Ni1BMDY2LTJBMzJENzUyQTJGRn0iDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cUENcd2luc291bmQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQk8L0ZpbGVzPg0KLQk8R2xvYmFscz4NCi0JPC9HbG9iYWxzPg0KLTwvVmlzdWFsU3R1ZGlvUHJvamVjdD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC94NjQudnNwcm9wcyBiL1BDL1ZTOC4wL3g2NC52c3Byb3BzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Zjg4ZDQ0Li4wMDAwMDAwCi0tLSBhL1BDL1ZTOC4wL3g2NC52c3Byb3BzCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQotPFZpc3VhbFN0dWRpb1Byb3BlcnR5U2hlZXQNCi0JUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9ImFtZDY0Ig0KLQlPdXRwdXREaXJlY3Rvcnk9IiQoU29sdXRpb25EaXIpXGFtZDY0XCINCi0JSW50ZXJtZWRpYXRlRGlyZWN0b3J5PSIkKFNvbHV0aW9uRGlyKSQoUGxhdGZvcm1OYW1lKS10ZW1wLSQoQ29uZmlndXJhdGlvbk5hbWUpXCQoUHJvamVjdE5hbWUpXCINCi0JPg0KLQk8VG9vbA0KLQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCUFkZGl0aW9uYWxPcHRpb25zPSIvVVNFQ0w6TVNfT1BURVJPTiAvR1MtIg0KLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9XSU42NDtfTV9YNjQiDQotCS8+DQotCTxUb29sDQotCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQlUYXJnZXRNYWNoaW5lPSIxNyINCi0JLz4NCi0JPFVzZXJNYWNybw0KLQkJTmFtZT0iUHl0aG9uRXhlIg0KLQkJVmFsdWU9IiQoSE9TVF9QWVRIT04pIg0KLQkvPg0KLTwvVmlzdWFsU3R1ZGlvUHJvcGVydHlTaGVldD4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9fY3R5cGVzX3Rlc3QudmNwcm9qIGIvUEMvVlM5LjAvX3NoYTMudmNwcm9qCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIFBDL1ZTOC4wL19jdHlwZXNfdGVzdC52Y3Byb2oKcmVuYW1lIHRvIFBDL1ZTOS4wL19zaGEzLnZjcHJvagppbmRleCAwOTcyNDFlLi41ZmUxOGQ1IDEwMDY0NAotLS0gYS9QQy9WUzguMC9fY3R5cGVzX3Rlc3QudmNwcm9qCisrKyBiL1BDL1ZTOS4wL19zaGEzLnZjcHJvagpAQCAtMSwxMCArMSwxMCBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQogPFZpc3VhbFN0dWRpb1Byb2plY3QNCiAJUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9Il9jdHlwZXNfdGVzdCINCi0JUHJvamVjdEdVSUQ9Ins5RUM3MTkwQS0yNDlGLTQxODAtQTkwMC01NDhGRENGMzA1NUZ9Ig0KLQlSb290TmFtZXNwYWNlPSJfY3R5cGVzX3Rlc3QiDQorCVZlcnNpb249IjksMDAiDQorCU5hbWU9Il9zaGEzIg0KKwlQcm9qZWN0R1VJRD0iezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0iDQorCVJvb3ROYW1lc3BhY2U9Il9zaGEzIg0KIAlLZXl3b3JkPSJXaW4zMlByb2oiDQogCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCiAJPg0KQEAgLTUwMCwxOCArNTAwLDEwIEBACiAJPC9SZWZlcmVuY2VzPg0KIAk8RmlsZXM+DQogCQk8RmlsdGVyDQotCQkJTmFtZT0iSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX2N0eXBlc1xfY3R5cGVzX3Rlc3QuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KIAkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCiAJCQk+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9jdHlwZXNcX2N0eXBlc190ZXN0LmMiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfc2hhM1xzaGEzbW9kdWxlLmMiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQk8L0ZpbHRlcj4NCmRpZmYgLS1naXQgYS9QQy9WUzguMC9fdGVzdGNhcGkudmNwcm9qIGIvUEMvVlM5LjAvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2oKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gUEMvVlM4LjAvX3Rlc3RjYXBpLnZjcHJvagpyZW5hbWUgdG8gUEMvVlM5LjAvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2oKaW5kZXggNzZhZDJkOC4uMTRkOTEwZCAxMDA2NDQKLS0tIGEvUEMvVlM4LjAvX3Rlc3RjYXBpLnZjcHJvagorKysgYi9QQy9WUzkuMC9fdGVzdGltcG9ydG11bHRpcGxlLnZjcHJvagpAQCAtMSwxMCArMSwxMCBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQogPFZpc3VhbFN0dWRpb1Byb2plY3QNCiAJUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjguMDAiDQotCU5hbWU9Il90ZXN0Y2FwaSINCi0JUHJvamVjdEdVSUQ9Ins2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9Ig0KLQlSb290TmFtZXNwYWNlPSJfdGVzdGNhcGkiDQorCVZlcnNpb249IjkuMDAiDQorCU5hbWU9Il90ZXN0aW1wb3J0bXVsdGlwbGUiDQorCVByb2plY3RHVUlEPSJ7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfSINCisJUm9vdE5hbWVzcGFjZT0iX3Rlc3RpbXBvcnRtdWx0aXBsZSINCiAJS2V5d29yZD0iV2luMzJQcm9qIg0KIAlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQogCT4NCkBAIC01MTEsNyArNTExLDcgQEAKIAkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCiAJCQk+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF90ZXN0Y2FwaW1vZHVsZS5jIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX3Rlc3RpbXBvcnRtdWx0aXBsZS5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJPC9GaWx0ZXI+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAva2lsbF9weXRob24uYyBiL1BDL1ZTOS4wL2tpbGxfcHl0aG9uLmMKaW5kZXggYmIzMjNkMy4uNjA0NzMxZiAxMDA2NDQKLS0tIGEvUEMvVlM5LjAva2lsbF9weXRob24uYworKysgYi9QQy9WUzkuMC9raWxsX3B5dGhvbi5jCkBAIC0xMDYsNyArMTA2LDcgQEAKICAgICAgICAgLyoKICAgICAgICAgICogWFhYIFRPRE86IGlmIHdlIHJlYWxseSB3YW50ZWQgdG8gYmUgZmFuY3ksIHdlIGNvdWxkIGNoZWNrIHRoZSAKICAgICAgICAgICogbW9kdWxlcyBmb3IgYWxsIHByb2Nlc3NlcyAobm90IGp1c3QgdGhlIHB5dGhvbltfZF0uZXhlIG9uZXMpCi0gICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzNbX2RdLmRsbCksCisgICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzRbX2RdLmRsbCksCiAgICAgICAgICAqIGFzIHRoYXQgd291bGQgYWxzbyBpbmhpYml0IG91ciBhYmlsaXR5IHRvIHJlYnVpbGQgdGhlIHNvbHV0aW9uLgogICAgICAgICAgKiBOb3Qgd29ydGggbG9vc2luZyBzbGVlcCBvdmVyIHRob3VnaDsgZm9yIG5vdywgYSBzaW1wbGUgY2hlY2sgCiAgICAgICAgICAqIGZvciBqdXN0IHRoZSBweXRob24gZXhlY3V0YWJsZSBzaG91bGQgYmUgc3VmZmljaWVudC4KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3BjYnVpbGQuc2xuIGIvUEMvVlM5LjAvcGNidWlsZC5zbG4KaW5kZXggOGY4Y2JiNi4uM2I3M2ZjZSAxMDA2NDQKLS0tIGEvUEMvVlM5LjAvcGNidWlsZC5zbG4KKysrIGIvUEMvVlM5LjAvcGNidWlsZC5zbG4KQEAgLTIwLDExICsyMCw2IEBACiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCiAJRW5kUHJvamVjdFNlY3Rpb24NCiBFbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ3OXhwb3BlbiIsICJ3OXhwb3Blbi52Y3Byb2oiLCAie0U5RTBBMUY2LTAwMDktNEU4Qy1COEY4LTFCOEY1RDQ5QTA1OH0iDQotCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCi0JCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9ID0gezZERTEwNzQ0LUUzOTYtNDBBNS1CNEUyLTFCNjlBQTdDOEQzMX0NCi0JRW5kUHJvamVjdFNlY3Rpb24NCi1FbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX2J1aWxkaW5mbyIsICJtYWtlX2J1aWxkaW5mby52Y3Byb2oiLCAie0M3M0YwRUMxLTM1OEItNDE3Ny05NDBGLTA4NDZBQzhCMDRDRH0iDQogRW5kUHJvamVjdA0KIFByb2plY3QoInsyMTUwRTMzMy04RkRDLTQyQTMtOTQ3NC0xQTM5NTZENDZERTh9IikgPSAiU29sdXRpb24gSXRlbXMiLCAiU29sdXRpb24gSXRlbXMiLCAiezU1M0VDMzNFLTk4MTYtNDk5Ni1BNjYwLTVENjE4NkEwQjBCM30iDQpAQCAtODcsNiArODIsMTEgQEAKIAkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KIAlFbmRQcm9qZWN0U2VjdGlvbg0KIEVuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90ZXN0aW1wb3J0bXVsdGlwbGUiLCAiX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3Byb2oiLCAiezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0iDQorCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCisJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCisJRW5kUHJvamVjdFNlY3Rpb24NCitFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGtpbnRlciIsICJfdGtpbnRlci52Y3Byb2oiLCAiezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0iDQogCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCkBAIC0xNTIsNiArMTUyLDggQEAKIAkJe0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0gPSB7Q0Y3QUMzRDEtRTJERi00MUQyLUJFQTYtMUUyNTU2Q0RFQTI2fQ0KIAlFbmRQcm9qZWN0U2VjdGlvbg0KIEVuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9zaGEzIiwgIl9zaGEzLnZjcHJvaiIsICJ7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fSINCitFbmRQcm9qZWN0DQogR2xvYmFsDQogCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQogCQlEZWJ1Z3xXaW4zMiA9IERlYnVnfFdpbjMyDQpAQCAtNDIwLDYgKzQyMiwyMiBAQAogCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJezY5MDFEOTFDLTZFNDgtNEJCNy05RkVDLTcwMEM4MTMxREYxRH0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXs0OTQ2RUNBQy0yRTY5LTRCRjgtQTkwQS1GNTEzNkY1MDk0REZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KQEAgLTY1MSw2ICs2NjksMjIgQEAKIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezA0RjM3NDAwLTg4M0MtNDJENy1BRTI4LTZDRjk5NTNCRjk3NX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQorCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQorCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXswNEYzNzQwMC04ODNDLTQyRDctQUUyOC02Q0Y5OTUzQkY5NzV9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MDRGMzc0MDAtODgzQy00MkQ3LUFFMjgtNkNGOTk1M0JGOTc1fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJRW5kR2xvYmFsU2VjdGlvbg0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvcHlwcm9qZWN0LnZzcHJvcHMgYi9QQy9WUzkuMC9weXByb2plY3QudnNwcm9wcwppbmRleCAxODU4MWJhLi45YTYwYmU0IDEwMDY0NAotLS0gYS9QQy9WUzkuMC9weXByb2plY3QudnNwcm9wcworKysgYi9QQy9WUzkuMC9weXByb2plY3QudnNwcm9wcwpAQCAtMzgsNyArMzgsNyBAQAogCS8+DQogCTxVc2VyTWFjcm8NCiAJCU5hbWU9IlB5RGxsTmFtZSINCi0JCVZhbHVlPSJweXRob24zMyINCisJCVZhbHVlPSJweXRob24zNCINCiAJLz4NCiAJPFVzZXJNYWNybw0KIAkJTmFtZT0iUHl0aG9uRXhlIg0KZGlmZiAtLWdpdCBhL1BDL1ZTOS4wL3B5dGhvbmNvcmUudmNwcm9qIGIvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2oKaW5kZXggOWZiNjNmZi4uYzVlZTlhNiAxMDA2NDQKLS0tIGEvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2oKKysrIGIvUEMvVlM5LjAvcHl0aG9uY29yZS52Y3Byb2oKQEAgLTExMTksNyArMTExOSw3IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcb3BlcmF0b3IuYyINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9vcGVyYXRvci5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQpAQCAtMTU4Nyw2ICsxNTg3LDEwIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc3RyaW5nbGliXHJlcGxhY2UuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE9iamVjdHNcc2V0b2JqZWN0LmMiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvUEMvVlM5LjAvdzl4cG9wZW4udmNwcm9qIGIvUEMvVlM5LjAvdzl4cG9wZW4udmNwcm9qCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3YTg1YjAwLi4wMDAwMDAwCi0tLSBhL1BDL1ZTOS4wL3c5eHBvcGVuLnZjcHJvagorKysgL2Rldi9udWxsCkBAIC0xLDU3NiArMCwwIEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJXaW5kb3dzLTEyNTIiPz4NCi08VmlzdWFsU3R1ZGlvUHJvamVjdA0KLQlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCi0JVmVyc2lvbj0iOS4wMCINCi0JTmFtZT0idzl4cG9wZW4iDQotCVByb2plY3RHVUlEPSJ7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fSINCi0JUm9vdE5hbWVzcGFjZT0idzl4cG9wZW4iDQotCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjEzMTA3MiINCi0JPg0KLQk8UGxhdGZvcm1zPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0iV2luMzIiDQotCQkvPg0KLQkJPFBsYXRmb3JtDQotCQkJTmFtZT0ieDY0Ig0KLQkJLz4NCi0JPC9QbGF0Zm9ybXM+DQotCTxUb29sRmlsZXM+DQotCTwvVG9vbEZpbGVzPg0KLQk8Q29uZmlndXJhdGlvbnM+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIwIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMCINCi0JCQkJQmFzaWNSdW50aW1lQ2hlY2tzPSIzIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmlmZXN0VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWERDTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0JzY01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNGeENvcFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FwcFZlcmlmaWVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUG9zdEJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQk8L0NvbmZpZ3VyYXRpb24+DQotCQk8Q29uZmlndXJhdGlvbg0KLQkJCU5hbWU9IkRlYnVnfHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5cZGVidWcudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjAiDQotCQkJCUJhc2ljUnVudGltZUNoZWNrcz0iMyINCi0JCQkJUnVudGltZUxpYnJhcnk9IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJSZWxlYXNlfFdpbjMyIg0KLQkJCUNvbmZpZ3VyYXRpb25UeXBlPSIxIg0KLQkJCUluaGVyaXRlZFByb3BlcnR5U2hlZXRzPSIuXHB5cHJvamVjdC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249ImZhbHNlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUmVsZWFzZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkJVGFyZ2V0RW52aXJvbm1lbnQ9IjMiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlPcHRpbWl6YXRpb249IjIiDQotCQkJCUlubGluZUZ1bmN0aW9uRXhwYW5zaW9uPSIxIg0KLQkJCQlTdHJpbmdQb29saW5nPSJ0cnVlIg0KLQkJCQlSdW50aW1lTGlicmFyeT0iMCINCi0JCQkJRW5hYmxlRnVuY3Rpb25MZXZlbExpbmtpbmc9InRydWUiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUxpbmtFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQotCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iZmFsc2UiDQotCQkJCVN1YlN5c3RlbT0iMSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR0luc3RydW1lbnR8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ2luc3RydW1lbnQudnNwcm9wcyINCi0JCQlVc2VPZk1GQz0iMCINCi0JCQlBVExNaW5pbWl6ZXNDUnVuVGltZUxpYnJhcnlVc2FnZT0iZmFsc2UiDQotCQkJQ2hhcmFjdGVyU2V0PSIyIg0KLQkJCT4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1ByZUJ1aWxkRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDdXN0b21CdWlsZFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hNTERhdGFHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNXZWJTZXJ2aWNlUHJveHlHZW5lcmF0b3JUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNSURMVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCU9wdGltaXphdGlvbj0iMiINCi0JCQkJSW5saW5lRnVuY3Rpb25FeHBhbnNpb249IjEiDQotCQkJCVN0cmluZ1Bvb2xpbmc9InRydWUiDQotCQkJCVJ1bnRpbWVMaWJyYXJ5PSIwIg0KLQkJCQlFbmFibGVGdW5jdGlvbkxldmVsTGlua2luZz0idHJ1ZSINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuYWdlZFJlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNSZXNvdXJjZUNvbXBpbGVyVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlTGlua0V2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJmYWxzZSINCi0JCQkJU3ViU3lzdGVtPSIxIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdJbnN0cnVtZW50fHg2NCINCi0JCQlDb25maWd1cmF0aW9uVHlwZT0iMSINCi0JCQlJbmhlcml0ZWRQcm9wZXJ0eVNoZWV0cz0iLlxweXByb2plY3QudnNwcm9wczsuXHg2NC52c3Byb3BzOy5ccmVsZWFzZS52c3Byb3BzOy5ccGdpbnN0cnVtZW50LnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249ImZhbHNlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JCTxDb25maWd1cmF0aW9uDQotCQkJTmFtZT0iUEdVcGRhdGV8V2luMzIiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7LlxyZWxlYXNlLnZzcHJvcHM7LlxwZ3VwZGF0ZS52c3Byb3BzIg0KLQkJCVVzZU9mTUZDPSIwIg0KLQkJCUFUTE1pbmltaXplc0NSdW5UaW1lTGlicmFyeVVzYWdlPSJmYWxzZSINCi0JCQlDaGFyYWN0ZXJTZXQ9IjIiDQotCQkJPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDUHJlQnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0N1c3RvbUJ1aWxkVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDWE1MRGF0YUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1dlYlNlcnZpY2VQcm94eUdlbmVyYXRvclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ01JRExUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249ImZhbHNlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5pZmVzdFRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1hEQ01ha2VUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNCc2NNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDRnhDb3BUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNBcHBWZXJpZmllclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Bvc3RCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJPC9Db25maWd1cmF0aW9uPg0KLQkJPENvbmZpZ3VyYXRpb24NCi0JCQlOYW1lPSJQR1VwZGF0ZXx4NjQiDQotCQkJQ29uZmlndXJhdGlvblR5cGU9IjEiDQotCQkJSW5oZXJpdGVkUHJvcGVydHlTaGVldHM9Ii5ccHlwcm9qZWN0LnZzcHJvcHM7Llx4NjQudnNwcm9wczsuXHJlbGVhc2UudnNwcm9wczsuXHBndXBkYXRlLnZzcHJvcHMiDQotCQkJVXNlT2ZNRkM9IjAiDQotCQkJQVRMTWluaW1pemVzQ1J1blRpbWVMaWJyYXJ5VXNhZ2U9ImZhbHNlIg0KLQkJCUNoYXJhY3RlclNldD0iMiINCi0JCQk+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVCdWlsZEV2ZW50VG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYTUxEYXRhR2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDV2ViU2VydmljZVByb3h5R2VuZXJhdG9yVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCVRhcmdldEVudmlyb25tZW50PSIzIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJT3B0aW1pemF0aW9uPSIyIg0KLQkJCQlJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj0iMSINCi0JCQkJU3RyaW5nUG9vbGluZz0idHJ1ZSINCi0JCQkJUnVudGltZUxpYnJhcnk9IjAiDQotCQkJCUVuYWJsZUZ1bmN0aW9uTGV2ZWxMaW5raW5nPSJ0cnVlIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ1Jlc291cmNlQ29tcGlsZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQcmVMaW5rRXZlbnRUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249ImZhbHNlIg0KLQkJCQlTdWJTeXN0ZW09IjEiDQotCQkJCUltcG9ydExpYnJhcnk9IiINCi0JCQkJVGFyZ2V0TWFjaGluZT0iMTciDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0FMaW5rVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDTWFuaWZlc3RUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNYRENNYWtlVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQnNjTWFrZVRvb2wiDQotCQkJLz4NCi0JCQk8VG9vbA0KLQkJCQlOYW1lPSJWQ0Z4Q29wVG9vbCINCi0JCQkvPg0KLQkJCTxUb29sDQotCQkJCU5hbWU9IlZDQXBwVmVyaWZpZXJUb29sIg0KLQkJCS8+DQotCQkJPFRvb2wNCi0JCQkJTmFtZT0iVkNQb3N0QnVpbGRFdmVudFRvb2wiDQotCQkJLz4NCi0JCTwvQ29uZmlndXJhdGlvbj4NCi0JPC9Db25maWd1cmF0aW9ucz4NCi0JPFJlZmVyZW5jZXM+DQotCTwvUmVmZXJlbmNlcz4NCi0JPEZpbGVzPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxQQ1x3OXhwb3Blbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCTwvRmlsZXM+DQotCTxHbG9iYWxzPg0KLQk8L0dsb2JhbHM+DQotPC9WaXN1YWxTdHVkaW9Qcm9qZWN0Pg0KZGlmZiAtLWdpdCBhL1BDL2NvbmZpZy5jIGIvUEMvY29uZmlnLmMKaW5kZXggNTdiNTA3My4uOWRlODc2ZSAxMDA2NDQKLS0tIGEvUEMvY29uZmlnLmMKKysrIGIvUEMvY29uZmlnLmMKQEAgLTE3LDcgKzE3LDcgQEAKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X21hdGgodm9pZCk7CiBleHRlcm4gUHlPYmplY3QqIFB5SW5pdF9fbWQ1KHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfbnQodm9pZCk7Ci1leHRlcm4gUHlPYmplY3QqIFB5SW5pdF9vcGVyYXRvcih2b2lkKTsKK2V4dGVybiBQeU9iamVjdCogUHlJbml0X19vcGVyYXRvcih2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X3NpZ25hbCh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19zaGExKHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfX3NoYTI1Nih2b2lkKTsKQEAgLTg3LDcgKzg3LDcgQEAKICAgICB7ImdjIiwgUHlJbml0X2djfSwKICAgICB7Im1hdGgiLCBQeUluaXRfbWF0aH0sCiAgICAgeyJudCIsIFB5SW5pdF9udH0sIC8qIFVzZSB0aGUgTlQgb3MgZnVuY3Rpb25zLCBub3QgcG9zaXggKi8KLSAgICB7Im9wZXJhdG9yIiwgUHlJbml0X29wZXJhdG9yfSwKKyAgICB7Il9vcGVyYXRvciIsIFB5SW5pdF9fb3BlcmF0b3J9LAogICAgIHsic2lnbmFsIiwgUHlJbml0X3NpZ25hbH0sCiAgICAgeyJfbWQ1IiwgUHlJbml0X19tZDV9LAogICAgIHsiX3NoYTEiLCBQeUluaXRfX3NoYTF9LApkaWZmIC0tZ2l0IGEvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvaiBiL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2oKaW5kZXggZmJhMDBiNi4uZGYzNjM0MSAxMDA2NDQKLS0tIGEvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvagorKysgYi9QQy9leGFtcGxlX250L2V4YW1wbGUudmNwcm9qCkBAIC0zOSw3ICszOSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvZXhwb3J0OmluaXRleGFtcGxlIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zMy5saWIiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmMzMi5saWIgb2RiY2NwMzIubGliIHB5dGhvbjM0LmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iLlxSZWxlYXNlL2V4YW1wbGUucHlkIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCkBAIC0xMDUsNyArMTA1LDcgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9Ii9leHBvcnQ6aW5pdGV4YW1wbGUiDQotCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9Im9kYmMzMi5saWIgb2RiY2NwMzIubGliIHB5dGhvbjMzX2QubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zNF9kLmxpYiINCiAJCQkJT3V0cHV0RmlsZT0iLlxEZWJ1Zy9leGFtcGxlX2QucHlkIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCmRpZmYgLS1naXQgYS9QQy9nZXRwYXRocC5jIGIvUEMvZ2V0cGF0aHAuYwppbmRleCBiNWJmMzI1Li5kYWY2MWM5IDEwMDY0NAotLS0gYS9QQy9nZXRwYXRocC5jCisrKyBiL1BDL2dldHBhdGhwLmMKQEAgLTEsNiArMSw2IEBACiAKIC8qIFJldHVybiB0aGUgaW5pdGlhbCBtb2R1bGUgc2VhcmNoIHBhdGguICovCi0vKiBVc2VkIGJ5IERPUywgT1MvMiwgV2luZG93cyAzLjEsIFdpbmRvd3MgOTUvOTgsIFdpbmRvd3MgTlQuICovCisvKiBVc2VkIGJ5IERPUywgV2luZG93cyAzLjEsIFdpbmRvd3MgOTUvOTgsIFdpbmRvd3MgTlQuICovCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIFBBVEggUlVMRVMgRk9SIFdJTkRPV1M6CmRpZmYgLS1naXQgYS9QQy9sYXVuY2hlci5jIGIvUEMvbGF1bmNoZXIuYwppbmRleCA0NDVlOTZlLi5iMzExZDliIDEwMDY0NAotLS0gYS9QQy9sYXVuY2hlci5jCisrKyBiL1BDL2xhdW5jaGVyLmMKQEAgLTU1MCw3ICs1NTAsNyBAQAogICAgICAgICBlcnJvcihSQ19DUkVBVEVfUFJPQ0VTUywgTCJVbmFibGUgdG8gY3JlYXRlIHByb2Nlc3MgdXNpbmcgJyVzJyIsIGNtZGxpbmUpOwogICAgIEFzc2lnblByb2Nlc3NUb0pvYk9iamVjdChqb2IsIHBpLmhQcm9jZXNzKTsKICAgICBDbG9zZUhhbmRsZShwaS5oVGhyZWFkKTsKLSAgICBXYWl0Rm9yU2luZ2xlT2JqZWN0KHBpLmhQcm9jZXNzLCBJTkZJTklURSk7CisgICAgV2FpdEZvclNpbmdsZU9iamVjdEV4KHBpLmhQcm9jZXNzLCBJTkZJTklURSwgRkFMU0UpOwogICAgIG9rID0gR2V0RXhpdENvZGVQcm9jZXNzKHBpLmhQcm9jZXNzLCAmcmMpOwogICAgIGlmICghb2spCiAgICAgICAgIGVycm9yKFJDX0NSRUFURV9QUk9DRVNTLCBMIkZhaWxlZCB0byBnZXQgZXhpdCBjb2RlIG9mIHByb2Nlc3MiKTsKQEAgLTEyMjMsNiArMTIyMyw3IEBACiAgICAgdm9pZCAqIHZlcnNpb25fZGF0YTsKICAgICBWU19GSVhFREZJTEVJTkZPICogZmlsZV9pbmZvOwogICAgIFVJTlQgYmxvY2tfc2l6ZTsKKyAgICBpbnQgaW5kZXg7CiAKICAgICB3cCA9IGdldF9lbnYoTCJQWUxBVU5DSF9ERUJVRyIpOwogICAgIGlmICgod3AgIT0gTlVMTCkgJiYgKCp3cCAhPSBMJ1wwJykpCkBAIC0xMjcxLDggKzEyNzIsOCBAQAogICAgICAgICAgICAgaWYgKCF2YWxpZCkKICAgICAgICAgICAgICAgICBkZWJ1ZyhMIkdldEZpbGVWZXJzaW9uSW5mbyBmYWlsZWQ6ICVYXG4iLCBHZXRMYXN0RXJyb3IoKSk7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICB2YWxpZCA9IFZlclF1ZXJ5VmFsdWVXKHZlcnNpb25fZGF0YSwgTCJcXCIsICZmaWxlX2luZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYmxvY2tfc2l6ZSk7CisgICAgICAgICAgICAgICAgdmFsaWQgPSBWZXJRdWVyeVZhbHVlVyh2ZXJzaW9uX2RhdGEsIEwiXFwiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKExQVk9JRCAqKSAmZmlsZV9pbmZvLCAmYmxvY2tfc2l6ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWxpZCkKICAgICAgICAgICAgICAgICAgICAgZGVidWcoTCJWZXJRdWVyeVZhbHVlIGZhaWxlZDogJVhcbiIsIEdldExhc3RFcnJvcigpKTsKICAgICAgICAgICAgICAgICBlbHNlIHsKQEAgLTEzMTAsMTMgKzEzMTEsNiBAQAogICAgIGVsc2UgewogICAgICAgICBwID0gYXJndlsxXTsKICAgICAgICAgcGxlbiA9IHdjc2xlbihwKTsKLSAgICAgICAgaWYgKHBbMF0gIT0gTCctJykgewotICAgICAgICAgICAgcmVhZF9jb21tYW5kcygpOwotICAgICAgICAgICAgbWF5YmVfaGFuZGxlX3NoZWJhbmcoJmFyZ3ZbMV0sIGNvbW1hbmQpOwotICAgICAgICB9Ci0gICAgICAgIC8qIE5vIGZpbGUgd2l0aCBzaGViYW5nLCBvciBhbiB1bnJlY29nbmlzZWQgc2hlYmFuZy4KLSAgICAgICAgICogSXMgdGhlIGZpcnN0IGFyZyBhIHNwZWNpYWwgdmVyc2lvbiBxdWFsaWZpZXI/Ci0gICAgICAgICAqLwogICAgICAgICB2YWxpZCA9ICgqcCA9PSBMJy0nKSAmJiB2YWxpZGF0ZV92ZXJzaW9uKCZwWzFdKTsKICAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICAgICBpcCA9IGxvY2F0ZV9weXRob24oJnBbMV0pOwpAQCAtMTMyNiw2ICsxMzIwLDE2IEBACiAgICAgICAgICAgICBjb21tYW5kICs9IHdjc2xlbihwKTsKICAgICAgICAgICAgIGNvbW1hbmQgPSBza2lwX3doaXRlc3BhY2UoY29tbWFuZCk7CiAgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmb3IgKGluZGV4ID0gMTsgaW5kZXggPCBhcmdjOyArK2luZGV4KSB7CisgICAgICAgICAgICAgICAgaWYgKCphcmd2W2luZGV4XSAhPSBMJy0nKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChpbmRleCA8IGFyZ2MpIHsKKyAgICAgICAgICAgICAgICByZWFkX2NvbW1hbmRzKCk7CisgICAgICAgICAgICAgICAgbWF5YmVfaGFuZGxlX3NoZWJhbmcoJmFyZ3ZbaW5kZXhdLCBjb21tYW5kKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIXZhbGlkKSB7CiAgICAgICAgIGlwID0gbG9jYXRlX3B5dGhvbihMIiIpOwpAQCAtMTM0NCw3ICsxMzQ4LDcgQEAKICAgICAgICAgICAgIGZ3cHJpbnRmKHN0ZG91dCwgTCJcCiBQeXRob24gTGF1bmNoZXIgZm9yIFdpbmRvd3MgVmVyc2lvbiAlc1xuXG4iLCB2ZXJzaW9uX3RleHQpOwogICAgICAgICAgICAgZndwcmludGYoc3Rkb3V0LCBMIlwKLXVzYWdlOiAlcyBbIGxhdW5jaGVyLWFyZ3VtZW50cyBdIHNjcmlwdCBbIHNjcmlwdC1hcmd1bWVudHMgXVxuXG4iLCBhcmd2WzBdKTsKK3VzYWdlOiAlcyBbIGxhdW5jaGVyLWFyZ3VtZW50cyBdIFsgcHl0aG9uLWFyZ3VtZW50cyBdIHNjcmlwdCBbIHNjcmlwdC1hcmd1bWVudHMgXVxuXG4iLCBhcmd2WzBdKTsKICAgICAgICAgICAgIGZwdXR3cyhMIlwKIExhdW5jaGVyIGFyZ3VtZW50czpcblxuXAogLTIgICAgIDogTGF1bmNoIHRoZSBsYXRlc3QgUHl0aG9uIDIueCB2ZXJzaW9uXG5cCmRpZmYgLS1naXQgYS9QQy9vczJlbXgvTWFrZWZpbGUgYi9QQy9vczJlbXgvTWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgwMDYxMGUuLjAwMDAwMDAKLS0tIGEvUEMvb3MyZW14L01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsNjcyICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIz09PT09PT09PT09PT09PT09PS0tLS0tLS0tLS0tLS0tLS0KLSMKLSMgVG9wLUxldmVsIE1ha2VmaWxlIGZvciBCdWlsZGluZyBQeXRob24gMi42IGZvciBPUy8yIHVzaW5nIEdDQy9FTVgKLSMgT3JpZ2luYWxseSB3cml0dGVuIGJ5IEFuZHJldyBaYWJvbG90bnksIDxiaXRAZWx0ZWNoLnJ1PiBmb3IgUHl0aG9uIDEuNS4yCi0jIE1vZGlmaWVkIGJ5IEFuZHJldyBNYWNJbnR5cmUsIDxhbmR5bWFjQHBjdWcub3JnLmF1PiBmb3IgUHl0aG9uIDIuNgotIwotIyBUaGlzIG1ha2VmaWxlIHdhcyBkZXZlbG9wZWQgZm9yIHVzZSB3aXRoIFtQXUdDQy9FTVggY29tcGlsZXIgYW55Ci0jIHZlcnNpb24gYW5kIEdOVSBNYWtlLgotIwotIyBUaGUgb3V0cHV0IG9mIHRoZSBidWlsZCBpcyBhIGxhcmdpc2ggUHl0aG9uMjYuRExMIGNvbnRhaW5pbmcgdGhlCi0jIGVzc2VudGlhbCBtb2R1bGVzIG9mIFB5dGhvbiBhbmQgYSBzbWFsbCBQeXRob24uZXhlIHByb2dyYW0gdG8gc3RhcnQKLSMgdGhlIGludGVycHJldGVyLiBXaGVuIGVtYmVkZGluZyBQeXRob24gd2l0aGluIGFub3RoZXIgcHJvZ3JhbSwgb25seQotIyBQeXRob24yNi5ETEwgaXMgbmVlZGVkLiBXZSBhbHNvIGJ1aWxkIHB5dGhvbl9zLmEgc3RhdGljIGxpYnJhcnkgKHdoaWNoCi0jIGNhbiBiZSBjb252ZXJ0ZWQgaW50byBPTUYgKC5saWIpIGZvcm1hdCB1c2luZyBlbXhvbWYgdG9vbCkgYW5kIGJvdGgKLSMgcHl0aG9uLmEgYW5kIHB5dGhvbi5saWIgaW1wb3J0IGxpYnJhcmllcy4gIFRoZW4gdGhlIG9wdGlvbmFsIAotIyBleHRlbnNpb24gbW9kdWxlcywgd2hpY2ggYXJlIE9TLzIgRExMcyByZW5hbWVkIHdpdGggYSBQWUQgZmlsZSBleHRlbnNpb24uCi0jCi0jIFJlY29tbWVuZGVkIGJ1aWxkIG9yZGVyOgotIyAgIG1ha2UgZGVwZW5kCQkoaWYgeW91IGhhdmUgbWFrZWRlcCkKLSMgICBtYWtlIGFsbAotIyAgIG1ha2UgbHgJCShpZiB5b3UgaGF2ZSBseGxpdGUpCi0jICAgbWFrZSB0ZXN0CQkob3B0aW9uYWwpCi0jCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyM9PT09PT09PT09PT09PT09PT0tLS0tLS0tLS0tLS0tLS0tCi0KLSMgPT09IENvbXBpbGF0aW9uIG1vZGU6IGRlYnVnIG9yIHJlbGVhc2UgPT09Ci1NT0RFPQkJb3B0aW1pemUKLSNNT0RFPQkJZGVidWcKLSMgPT09IEFzc2VydCgpIGVuYWJsZWQgPT09Ci1BU1NFUlRJT05TPW5vCi0jQVNTRVJUSU9OUz15ZXMKLSMgPT09IEhhcmQtd2lyZSBpbnN0YWxsYXRpb24gbG9jYXRpb24gPT09Ci1GSVhFRF9QWUhPTUU9bm8KLSNGSVhFRF9QWUhPTUU9eWVzCi0KLSMgPT09IE9wdGlvbmFsIG1vZHVsZXMgPT09Ci0jIERvIHlvdSBoYXZlIHRoZSBJbmZvWmlwIGNvbXByZXNzaW9uIGxpYnJhcnkgaW5zdGFsbGVkPwotSEFWRV9aTElCPQlubwotIyBEbyB5b3UgaGF2ZSB0aGUgVWx0cmEgRmFzdCBDcnlwdCAoVUZDKSBsaWJyYXJ5IGluc3RhbGxlZD8KLUhBVkVfVUZDPQlubwotIyBEbyB5b3UgaGF2ZSB0aGUgVGNsL1RrIGxpYnJhcnkgaW5zdGFsbGVkPwotSEFWRV9UQ0xUSz0Jbm8KLSMgRG8geW91IGhhdmUgdGhlIEdOVSByZWFkbGluZSBsaWJyYXJ5IGluc3RhbGxlZD8KLSMgTk9URTogSSdtIHVzaW5nIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBLYWkgVXdlIFJvbW1lbCdzIHBvcnQgdGhhdCAKLSMgICAgICAgLSBpcyBjb21waWxlZCB3aXRoIG11bHRpdGhyZWFkaW5nIGVuYWJsZWQKLSMgICAgICAgLSBpcyBsaW5rZWQgc3RhdGljYWxseQotIyAgICAgICBJIGhhdmUgaGFkIG5vIHN1Y2Nlc3MgdHJ5aW5nIHRvIHVzZSBhIERMTCB2ZXJzaW9uLCBldmVuIHdoZW4KLSMgICAgICAgY29tcGlsZWQgd2l0aCBtdWx0aXRocmVhZGluZyBlbmFibGVkLgotSEFWRV9HUkVBRExJTkU9CW5vCi0jIERvIHlvdSBoYXZlIHRoZSBCU0QgREIgbGlicmFyeSAodjEuODUpIGFzIGluY2x1ZGVkIGluIHRoZSBFTVhCU0QgcGFja2FnZT8KLSMgTk9URTogdGhpcyBsaWJyYXJ5IG5lZWRzIHRvIGJlIHJlY29tcGlsZWQgd2l0aCBhIHN0cnVjdHVyZSBtZW1iZXIKLSMgICAgICAgcmVuYW1lZCB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIHRoZSBtdWx0aXRocmVhZGVkIGVycm5vIHN1cHBvcnQKLSMgICAgICAgKHRoZXJlIGlzIGEgc3RydWN0dXJlIG1lbWJlciBjYWxsZWQgZXJybm8sIHVzZWQgZm9yIHNoYWRvd2luZyB0aGUKLSMgICAgICAgcmVhbCBlcnJubywgd2hpY2ggY29uZmxpY3RzIHdpdGggdGhlIGVycm5vIHJlZGVmaW5pdGlvbiBvZiAtWm10KQotSEFWRV9CU0REQj0Jbm8KLSMgRG8geW91IGhhdmUgdGhlIG5jdXJzZXMgbGlicmFyeSBpbnN0YWxsZWQ/IEVNWCdzIEJTRCBjdXJzZXMgYXJlbid0IGVub3VnaCEgCi1IQVZFX05DVVJTRVM9CW5vCi0jIERvIHlvdSBoYXZlIHRoZSBHREJNIGxpYnJhcnkgaW5zdGFsbGVkPwotSEFWRV9HREJNPQlubwotIyBEbyB5b3UgaGF2ZSB0aGUgQloyIGNvbXByZXNzaW9uIGxpYnJhcnkgaW5zdGFsbGVkPwotSEFWRV9CWjI9CW5vCi0jIERvIHlvdSBoYXZlIHRoZSBPcGVuU1NMIGxpYnJhcmllcyBpbnN0YWxsZWQKLUhBVkVfT1BFTlNTTD0Jbm8KLQotIyA9PT0gaW5zdGFsbCBsb2NhdGlvbnMgPT09Ci0jIGRlZmF1bHQgdmFsdWUgb2YgUFlUSE9OSE9NRQotTElCX0RJUj1DOi9QeXRob24yNgotIyBkZWZhdWx0IGlzIHRvIGhhdmUgZXZlcnl0aGluZyBpbiBvciB1bmRlciBQWVRIT05IT01FCi1FWEVfRElSPSQoTElCX0RJUikKLURMTF9ESVI9JChFWEVfRElSKQotCi0KLSMgPT09IFRoZSBUb29scyA9PT0KLUNDPQkJZ2NjCi1DRkxBR1M9CQktWm10IC1XYWxsICQoSU5DTFVERSkKLUNGTEFHUy5MSUI9CSQoQ0ZMQUdTKQotTEQ9CQlnY2MKLUxERkxBR1M9CS1abXQgLVpjcnRkbGwgLUwuIC1sZ2NjCi1MREZMQUdTLkVYRT0JJChMREZMQUdTKQotTERGTEFHUy5ETEw9CSQoTERGTEFHUykgLVpkbGwKLUxERkxBR1MuQT0JJChMREZMQUdTKSAkKExJQlMpCi1BUkZMQUdTPQljcnMKLUlNUExJQj0JCWVteGltcAotRVhQTElCPQkJZW14ZXhwCi1FWEVPUFQ9CQllbXhiaW5kCi1QWV9ERUY9CQktRFB5X0JVSUxEX0NPUkUKLQotCi0jIGFkanVzdCBDIGNvbXBpbGVyIHNldHRpbmdzIGJhc2VkIG9uIGJ1aWxkIG9wdGlvbnMKLWlmZXEgKCQoTU9ERSksZGVidWcpCi0gIENGTEFHUys9CS1nIC1PCi0gIExERkxBR1MrPQktZwotZWxzZQotICBDRkxBR1MrPQktcyAtTzMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLW1wcm9iZQotICBMREZMQUdTKz0JLXMKLWVuZGlmCi1DRkxBR1MrPQkkKFBZX0RFRikKLWlmZXEgKCQoQVNTRVJUSU9OUyksbm8pCi0gIENGTEFHUys9CS1ETkRFQlVHCi1lbmRpZgotaWZlcSAoJChGSVhFRF9QWUhPTUUpLHllcykKLSAgQ0ZMQUdTKz0JLURQUkVGSVg9JChEUVVPVEUpJChMSUJfRElSKSQoRFFVT1RFKQotZW5kaWYKLQotIyBXZSdyZSB1c2luZyB0aGUgT01GIGZvcm1hdCBzaW5jZSBFTVgncyBsZCBoYXMgYSBvYnNjdXJlIGJ1ZwotIyBiZWNhdXNlIG9mIHdoaWNoIGl0IHNvbWV0aW1lcyBmYWlscyB0byBidWlsZCByZWxvY2F0aW9ucwotIyBpbiAuZGF0YSBzZWdtZW50IHRoYXQgcG9pbnQgdG8gYW5vdGhlciAuZGF0YSBsb2NhdGlvbnMKLSMgKGV4Y2VwdCBmb3IgdGhlIGZpbmFsIGxpbmtpbmcgaWYgdGhlIC5FWEVzKQotT01GPQkJeWVzCi0KLSMgaWYgZm9yaygpIHN1cHBvcnQgaXMgcmVxdWlyZWQsIHRoZSBtYWluIGV4ZWN1dGFibGUgbXVzdCBiZSBsaW5rZWQgd2l0aCBsZAotRVhFT01GPQkJbm8KLQotIyBGaWxlIGV4dGVuc2lvbnMKLU1PRFVMRS5FWFQ9CS5weWQKLU1PRExJQi5FWFQ9CS5kbGwKLWlmZXEgKCQoT01GKSx5ZXMpCi0gIE89CQkub2JqCi0gIEE9CQkubGliCi0gIEFSPQkJZW14b21mYXIKLSAgQ0ZMQUdTKz0JLVpvbWYKLSAgTERGTEFHUys9CS1ab21mCi0gIGlmZXEgKCQoTU9ERSksZGVidWcpCi0gICAgQVJGTEFHUz0JLXA2NCBjcnMKLSAgZWxzZQotICAgIEFSRkxBR1M9CS1wMzIgY3JzCi0gIGVuZGlmCi1lbHNlCi0gIE89CQkubwotICBBPQkJLmEKLSAgQVI9CQlhcgotZW5kaWYKLQotCi0jID09PSBCdWlsZCB0aW1lIHJlc291cmNlIHNldHRpbmdzID09PQotCi0jIEVNWCdzIGRlZmF1bHQgbnVtYmVyIG9mIGZpbGUgaGFuZGxlcyBpcyA0MCwgd2hpY2ggaXMgc29tZXRpbWVzIGluc3VmZmljaWVudAotIyAodGhlIHRlbXBmaWxlIHJlZ3Jlc3Npb24gdGVzdCB0cmllcyB0byBjcmVhdGUgMTAwIHRlbXBvcmFyeSBmaWxlcykKLU5GSUxFUz0yNTAKLQotIyBUaGUgZGVmYXVsdCBzdGFjayBzaXplIGZvciBjaGlsZCB0aHJlYWRzIGlzIDY0ayBieXRlcywgd2hpY2ggaXMKLSMgaW5zdWZmaWNpZW50IGZvciBzb21lIGFwcGxpY2F0aW9ucyB3aGljaCBkbyBhIGxvdCBvZiB3b3JrIGluIHRocmVhZHMKLSMgKHN1Y2ggYXMgWm9wZSwgZXNwZWNpYWxseSBpbiBjb25qdW5jdGlvbiB3aXRoIFBsb25lKS4KLSMgTm90ZSB0aGF0IHRoaXMgc2V0dGluZyBpcyBkaXN0aW5jdCBmcm9tIHRoZSBzdGFjayBzaXplIGZvciB0aGUgbWFpbgotIyB0aHJlYWQsIHdoaWNoIGlzIHNldCB2aWEgdGhlICUuZGVmIHJ1bGUgYmVsb3cuCi0jIEVNWCBkb2N1bWVudHMgdGhhdCB0aGUgdGhyZWFkIHN0YWNrIHNpemUgc2hvdWxkIGJlIGF0IGxlYXN0IDMyNzY4IGJ5dGVzOwotIyBmb3IgWm9wZS9QbG9uZSBhdCBsZWFzdCAxMjhrIGJ5dGVzIGlzIHJlY29tbWVuZGVkLgotIyBVbmNvbW1lbnQgJiBhZGp1c3QgdGhlIG5leHQgbGluZSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBzdGFjayBzaXplOgotI0NGTEFHUys9CS1EVEhSRUFEX1NUQUNLX1NJWkU9MHgyMDAwMAotCi0KLSMgPT09IFRoZSBlbnZpcm9ubWVudCA9PT0KLQotIyBTb3VyY2UgZmlsZSBwYXRocwotU1JDUEFUSD0uOy4uLy4uL1B5dGhvbjsuLi8uLi9QYXJzZXI7Li4vLi4vT2JqZWN0czsuLi8uLi9JbmNsdWRlOy4uLy4uL01vZHVsZXMKLSMgUHl0aG9uIGNvbnRhaW5zIHRoZSBjZW50cmFsIGNvcmUsIGNvbnRhaW5pbmcgdGhlIGJ1aWx0aW5zIGFuZCBpbnRlcnByZXRlci4KLSMgUGFyc2VyIGNvbnRhaW5zIFB5dGhvbidzIEludGVybmFsIFBhcnNlciBhbmQKLSMgICBTdGFuZGFsb25lIFBhcnNlciBHZW5lcmF0b3IgUHJvZ3JhbSAoU2hhcmVzIFNvbWUgb2YgUHl0aG9uJ3MgTW9kdWxlcykKLSMgT2JqZWN0cyBjb250YWlucyBQeXRob24gT2JqZWN0IFR5cGVzCi0jIE1vZHVsZXMgY29udGFpbnMgZXh0ZW5zaW9uIE1vZHVsZXMgKEJ1aWx0LUluIG9yIGFzIFNlcGFyYXRlIERMTHMpCi0KLSMgVW5peCBzaGVsbHMgdGVuZCB0byB1c2UgIiQiIGFzIGRlbGltaXRlciBmb3IgdmFyaWFibGUgbmFtZXMuCi0jIFRlc3QgZm9yIHRoaXMgYmVoYXZpb3VyIGFuZCBzZXQgJChCVUNLKSB2YXJpYWJsZSBjb3JyZXNwb25kaWdseSAuLi4KLV9fVE1QX186PSQoc2hlbGwgZWNobyAkJCQkKQotaWZlcSAoJChfX1RNUF9fKSwkJCQkKQotICBCVUNLPQkJJCQKLSAgQlJPPQkJKAotICBCUkM9CQkpCi1lbHNlCi0gIEJVQ0s9CQlcJCQKLSAgQlJPPQkJXCgKLSAgQlJDPQkJXCkKLWVuZGlmCi0jIENvbXB1dGUgdGhlICJkb3VibGUgcXVvdGUiIHZhcmlhYmxlCi1fX1RNUF9fOj0kKHNoZWxsIGVjaG8gIiIpCi1pZmVxICgkKF9fVE1QX18pLCIiKQotICBEUVVPVEU9CSIKLWVsc2UKLSAgRFFVT1RFPQlcIgotZW5kaWYKLQotIyBJbmNsdWRlIHBhdGhzCi0jSU5DTFVERT0JLUkkKHN1YnN0IDssIC1JLCAkKFNSQ1BBVEgpKQotSU5DTFVERT0JLUkuIC1JLi4vLi4vSW5jbHVkZQotCi0jIFBhdGggdG8gc2VhcmNoIGZvciAuYyBmaWxlcwotdnBhdGggJS5jIC47Li47JChTUkNQQVRIKQotCi0jIFRvcCBvZiB0aGUgcGFja2FnZSB0cmVlCi1UT1A9CQkuLi8uLi8KLQotIyBEaXJlY3RvcnkgZm9yIG91dHB1dCBmaWxlcwotT1VUQkFTRT0Jb3V0LwotT1VUPQkJJChPVVRCQVNFKSQoTU9ERSkvCi0KLSMgQWRkaXRpb25hbCBsaWJyYXJpZXMKLUxJQlM9CQktbHNvY2tldAotCi0jIFV0aWxpdHkgbWFjcm86IHJlcGxhY2VtZW50IGZvciAkXgotXl49CQkkKGZpbHRlci1vdXQgJSRBLCReKQotIyBVc2UgJChMXikgdG8gbGluayB3aXRoIGFsbCBsaWJyYXJpZXMgc3BlY2lmaWVkIGFzIGRlcGVuZGVuY2llcwotTF49CQkkKGFkZHByZWZpeCAtbCwkKGJhc2VuYW1lICQobm90ZGlyICQoZmlsdGVyICUkQSwkKykpKSkKLQotIyBCdWlsZCBydWxlcwotJChPVVQpJSRPOiAlLmMKLQkkKENDKSAkKENGTEFHUy5MSUIpIC1jICQ8IC1vICRACi0KLSUuYToKLQkkKExEKSAkKExERkxBR1MuQSkgLW8gJEAgJCheXikgJChMXikKLQotJS5kbGw6Ci0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKQotCi0lLnB5ZDogJChPVVQpJW1vZHVsZSRPICQoT1VUKSVfbS5kZWYKLQkkKExEKSAkKExERkxBR1MuRExMKSAtbyAkQCAkKF5eKSAkKFBZVEhPTi5JTVBMSUIpICQoTElCUykKLQotJS5leGU6Ci0JJChMRCkgJChMREZMQUdTLkVYRSkgLW8gJEAgJCheXikgJChMXikKLQotJV9tLmRlZjoKLQlAZWNobyBDcmVhdGluZyAuREVGIGZpbGU6ICRACi0JQGVjaG8gTElCUkFSWSAkKG5vdGRpciAkKikgSU5JVElOU1RBTkNFIFRFUk1JTlNUQU5DRSA+JEAKLSAgICAgICAgaWZlcSAoJChERVNDUklQVElPTi4kKG5vdGRpciAkKikkKE1PRFVMRS5FWFQpKSwpCi0JICBAZWNobyBERVNDUklQVElPTiAkKERRVU9URSlQeXRob24gc3RhbmRhcmQgbW9kdWxlICQobm90ZGlyICQqKSQoRFFVT1RFKSA+PiRACi0gICAgICAgIGVsc2UKLQkgIEBlY2hvIERFU0NSSVBUSU9OICQoRFFVT1RFKSQoREVTQ1JJUFRJT04uJChub3RkaXIgJCopJChNT0RVTEUuRVhUKSkkKERRVU9URSkgPj4kQAotICAgICAgICBlbmRpZgotCUBlY2hvIERBVEEgTVVMVElQTEUgTk9OU0hBUkVEID4+JEAKLQlAZWNobyBFWFBPUlRTID4+JEAKLQlAZWNobyAJaW5pdCQobm90ZGlyICQqKSA+PiRACi0KLSUuZGVmOgotCUBlY2hvIENyZWF0aW5nIC5ERUYgZmlsZTogJEAKLQlAZWNobyBOQU1FICQobm90ZGlyICQqKSAkKEVYRVRZUEUuJChub3RkaXIgJCopLmV4ZSkgPiRACi0JQGVjaG8gREVTQ1JJUFRJT04gJChEUVVPVEUpJChERVNDUklQVElPTi4kKG5vdGRpciAkKikuZXhlKSQoRFFVT1RFKSA+PiRACi0JQGVjaG8gU1RBQ0tTSVpFIDIwOTcxNTIgPj4kQAotCi0jIE91dHB1dCBmaWxlIG5hbWVzCi1QWVRIT05fVkVSPQkyLjYKLVBZVEhPTl9MSUI9CXB5dGhvbjMzCi1QWVRIT04uTElCPQkkKFBZVEhPTl9MSUIpX3MkQQotUFlUSE9OLklNUExJQj0JJChQWVRIT05fTElCKSRBCi1pZmVxICgkKEVYRU9NRikseWVzKQotICBQWVRIT04uRVhFSU1QPQkkKFBZVEhPTi5JTVBMSUIpCi0gIExETU9ERS5FWEU9CQktWm9tZgotZWxzZQotICBQWVRIT04uRVhFSU1QPQkkKFBZVEhPTl9MSUIpLmEKLSAgTERNT0RFLkVYRSA9IAotZW5kaWYKLVBZVEhPTi5ETEw9CSQoUFlUSE9OX0xJQikuZGxsCi1QWVRIT04uREVGPQkkKFBZVEhPTl9MSUIpLmRlZgotUFlUSE9OLkVYRT0JcHl0aG9uLmV4ZQotUFlUSE9OUE0uRVhFPQlweXRob25wbS5leGUKLVBHRU4uRVhFPQlwZ2VuLmV4ZQotTElCUkFSWT0JJChQWVRIT04uTElCKQotTERfTElCUkFSWT0JJChQWVRIT04uSU1QTElCKQotCi0jIEFkZGl0aW9uYWwgZXhlY3V0YWJsZSBwYXJhbWV0ZXJzCi1FWEVUWVBFLiQoUFlUSE9OLkVYRSk9CQlXSU5ET1dDT01QQVQKLUVYRVRZUEUuJChQWVRIT05QTS5FWEUpPQlXSU5ET1dBUEkKLUVYRVRZUEUuJChQR0VOLkVYRSk9CQlXSU5ET1dDT01QQVQKLURFU0NSSVBUSU9OLiQoUFlUSE9OLkVYRSk9CVB5dGhvbiBvYmplY3Qtb3JpZW50ZWQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgaW50ZXJwcmV0ZXIgZm9yIE9TLzIKLURFU0NSSVBUSU9OLiQoUFlUSE9OUE0uRVhFKT0JJChERVNDUklQVElPTi4kKFBZVEhPTi5FWEUpKQotREVTQ1JJUFRJT04uJChQR0VOLkVYRSk9CVB5dGhvbiBvYmplY3Qtb3JpZW50ZWQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgcGFyc2VyIGdlbmVyYXRvciBmb3IgT1MvMgotCi0jIE1vZHVsZSBkZXNjcmlwdGlvbnMKLURFU0NSSVBUSU9OLnpsaWIkKE1PRFVMRS5FWFQpPQkJUHl0aG9uIEV4dGVuc2lvbiBETEwgZm9yIGFjY2Vzc2luZyB0aGUgSW5mb1ppcCBjb21wcmVzc2lvbiBsaWJyYXJ5Ci1ERVNDUklQVElPTi5jcnlwdCQoTU9EVUxFLkVYVCk9CQlQeXRob24gRXh0ZW5zaW9uIERMTCBpbXBsZW1lbnRpbmcgdGhlIGNyeXB0JChCUk8pJChCUkMpIGZ1bmN0aW9uCi1ERVNDUklQVElPTi5fdGtpbnRlciQoTU9EVUxFLkVYVCk9CVB5dGhvbiBFeHRlbnNpb24gRExMIGZvciBhY2Nlc3MgdG8gVGNsL1RrIEVudmlyb25tZW50Ci1ERVNDUklQVElPTi5yZWFkbGluZSQoTU9EVUxFLkVYVCk9CVB5dGhvbiBFeHRlbnNpb24gRExMIGZvciBhY2Nlc3MgdG8gR05VIFJlYWRMaW5lIGxpYnJhcnkKLURFU0NSSVBUSU9OLl9jdXJzZXMkKE1PRExJQi5FWFQpPQlQeXRob24gRXh0ZW5zaW9uIERMTCBmb3IgYWNjZXNzIHRvIG5jdXJzZXMgbGlicmFyeQotREVTQ1JJUFRJT04ucHlleHBhdCQoTU9EVUxFLkVYVCk9CVB5dGhvbiBFeHRlbnNpb24gRExMIGZvciBhY2Nlc3MgdG8gZXhwYXQgbGlicmFyeQotREVTQ1JJUFRJT04uYnoyJChNT0RVTEUuRVhUKT0JCVB5dGhvbiBFeHRlbnNpb24gRExMIGZvciBhY2Nlc3NpbmcgdGhlIGJ6MiBjb21wcmVzc2lvbiBsaWJyYXJ5Ci0KLSMgU291cmNlIGZpbGVzCi1TUkMuT1MyRU1YPQljb25maWcuYyBkbGZjbi5jIGdldHBhdGhwLmMKLVNSQy5NQUlOPQkkKGFkZHByZWZpeCAkKFRPUCksIFwKLQkJTW9kdWxlcy9nZXRidWlsZGluZm8uYyBcCi0JCU1vZHVsZXMvbWFpbi5jKQotU1JDLk1PRFVMRVM9CSQoYWRkcHJlZml4ICQoVE9QKSwgXAotCQlNb2R1bGVzL2djbW9kdWxlLmMgXAotCQlNb2R1bGVzL3NpZ25hbG1vZHVsZS5jIFwKLQkJTW9kdWxlcy9wb3NpeG1vZHVsZS5jIFwKLQkJTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMgXAotCQlNb2R1bGVzL2FycmF5bW9kdWxlLmMgXAotCQlNb2R1bGVzL2JpbmFzY2lpLmMgXAotCQlNb2R1bGVzL2NtYXRobW9kdWxlLmMgXAotCQlNb2R1bGVzL19jb2RlY3Ntb2R1bGUuYyBcCi0JCU1vZHVsZXMvY29sbGVjdGlvbnNtb2R1bGUuYyBcCi0JCU1vZHVsZXMvX2Nzdi5jIFwKLQkJTW9kdWxlcy9kYXRldGltZW1vZHVsZS5jIFwKLQkJTW9kdWxlcy9lcnJub21vZHVsZS5jIFwKLQkJTW9kdWxlcy9mY250bG1vZHVsZS5jIFwKLQkJTW9kdWxlcy9fZnVuY3Rvb2xzbW9kdWxlLmMgXAotCQlNb2R1bGVzL19oZWFwcW1vZHVsZS5jIFwKLQkJTW9kdWxlcy9pbWFnZW9wLmMgXAotCQlNb2R1bGVzL2l0ZXJ0b29sc21vZHVsZS5jIFwKLQkJTW9kdWxlcy9fbG9jYWxlbW9kdWxlLmMgXAotCQlNb2R1bGVzL21hdGhtb2R1bGUuYyBcCi0JCU1vZHVsZXMvb3BlcmF0b3IuYyBcCi0JCU1vZHVsZXMvX3JhbmRvbW1vZHVsZS5jIFwKLQkJTW9kdWxlcy9zaGEyNTZtb2R1bGUuYyBcCi0JCU1vZHVsZXMvc2hhNTEybW9kdWxlLmMgXAotCQlNb2R1bGVzL19zcmUuYyBcCi0JCU1vZHVsZXMvX3N0cnVjdC5jIFwKLQkJTW9kdWxlcy9zeW10YWJsZW1vZHVsZS5jIFwKLQkJTW9kdWxlcy90ZXJtaW9zLmMgXAotCQlNb2R1bGVzL3RpbWVtb2R1bGUuYyBcCi0JCU1vZHVsZXMvX3dlYWtyZWYuYyBcCi0JCU1vZHVsZXMveHhzdWJ0eXBlLmMgXAotCQlNb2R1bGVzL3ppcGltcG9ydC5jKQotU1JDLlBBUlNFMT0JJChhZGRwcmVmaXggJChUT1ApLCBcCi0JCVBhcnNlci9hY2NlbGVyLmMgXAotCQlQYXJzZXIvZ3JhbW1hcjEuYyBcCi0JCVBhcnNlci9saXN0bm9kZS5jIFwKLQkJUGFyc2VyL25vZGUuYyBcCi0JCVBhcnNlci9wYXJzZXIuYyBcCi0JCVBhcnNlci9wYXJzZXRvay5jIFwKLQkJUGFyc2VyL2JpdHNldC5jIFwKLQkJUGFyc2VyL21ldGFncmFtbWFyLmMpCi1TUkMuUEFSU0UyPQkkKGFkZHByZWZpeCAkKFRPUCksIFwKLQkJUGFyc2VyL3Rva2VuaXplci5jIFwKLQkJUGFyc2VyL215cmVhZGxpbmUuYykKLVNSQy5QQVJTRVI9CSQoU1JDLlBBUlNFMSkgXAotCQkkKFNSQy5QQVJTRTIpCi1TUkMuUFlUSE9OPQkkKGFkZHByZWZpeCAkKFRPUCksIFwKLQkJUHl0aG9uL1B5dGhvbi1hc3QuYyBcCi0JCVB5dGhvbi9hc2RsLmMgXAotCQlQeXRob24vYXN0LmMgXAotCQlQeXRob24vYmx0aW5tb2R1bGUuYyBcCi0JCVB5dGhvbi9leGNlcHRpb25zLmMgXAotCQlQeXRob24vY2V2YWwuYyBcCi0JCVB5dGhvbi9jb21waWxlLmMgXAotCQlQeXRob24vY29kZWNzLmMgXAotCQlQeXRob24vZHluYW1pY19hbm5vdGF0aW9ucy5jIFwKLQkJUHl0aG9uL2Vycm9ycy5jIFwKLQkJUHl0aG9uL2Zyb3plbi5jIFwKLQkJUHl0aG9uL2Zyb3plbm1haW4uYyBcCi0JCVB5dGhvbi9mdXR1cmUuYyBcCi0JCVB5dGhvbi9nZXRhcmdzLmMgXAotCQlQeXRob24vZ2V0Y29tcGlsZXIuYyBcCi0JCVB5dGhvbi9nZXRjb3B5cmlnaHQuYyBcCi0JCVB5dGhvbi9nZXRwbGF0Zm9ybS5jIFwKLQkJUHl0aG9uL2dldHZlcnNpb24uYyBcCi0JCVB5dGhvbi9ncmFtaW5pdC5jIFwKLQkJUHl0aG9uL2ltcG9ydC5jIFwKLQkJUHl0aG9uL2ltcG9ydGRsLmMgXAotCQlQeXRob24vbWFyc2hhbC5jIFwKLQkJUHl0aG9uL21vZHN1cHBvcnQuYyBcCi0JCVB5dGhvbi9teXNucHJpbnRmLmMgXAotCQlQeXRob24vbXlzdHJ0b3VsLmMgXAotCQlQeXRob24vcHlhcmVuYS5jIFwKLQkJUHl0aG9uL3B5Y3R5cGUuYyBcCi0JCVB5dGhvbi9weWZwZS5jIFwKLQkJUHl0aG9uL3B5c3RhdGUuYyBcCi0JCVB5dGhvbi9weXN0cnRvZC5jIFwKLQkJUHl0aG9uL3B5dGhvbnJ1bi5jIFwKLQkJUHl0aG9uL3N0cnVjdG1lbWJlci5jIFwKLQkJUHl0aG9uL3N5bXRhYmxlLmMgXAotCQlQeXRob24vc3lzbW9kdWxlLmMgXAotCQlQeXRob24vdHJhY2ViYWNrLmMgXAotCQlQeXRob24vZ2V0b3B0LmMgXAotCQlQeXRob24vZHlubG9hZF9zaGxpYi5jIFwKLQkJUHl0aG9uL3RocmVhZC5jKQotU1JDLk9CSkVDVD0JJChhZGRwcmVmaXggJChUT1ApLCBcCi0JCU9iamVjdHMvYWJzdHJhY3QuYyBcCi0JCU9iamVjdHMvYm9vbG9iamVjdC5jIFwKLQkJT2JqZWN0cy9jZWxsb2JqZWN0LmMgXAotCQlPYmplY3RzL2NsYXNzb2JqZWN0LmMgXAotCQlPYmplY3RzL2NvYmplY3QuYyBcCi0JCU9iamVjdHMvY29kZW9iamVjdC5jIFwKLQkJT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMgXAotCQlPYmplY3RzL2Rlc2Nyb2JqZWN0LmMgXAotCQlPYmplY3RzL2RpY3RvYmplY3QuYyBcCi0JCU9iamVjdHMvZW51bW9iamVjdC5jIFwKLQkJT2JqZWN0cy9maWxlb2JqZWN0LmMgXAotCQlPYmplY3RzL2Zsb2F0b2JqZWN0LmMgXAotCQlPYmplY3RzL2ZyYW1lb2JqZWN0LmMgXAotCQlPYmplY3RzL2Z1bmNvYmplY3QuYyBcCi0JCU9iamVjdHMvZ2Vub2JqZWN0LmMgXAotCQlPYmplY3RzL2l0ZXJvYmplY3QuYyBcCi0JCU9iamVjdHMvbGlzdG9iamVjdC5jIFwKLQkJT2JqZWN0cy9sb25nb2JqZWN0LmMgXAotCQlPYmplY3RzL21ldGhvZG9iamVjdC5jIFwKLQkJT2JqZWN0cy9tb2R1bGVvYmplY3QuYyBcCi0JCU9iamVjdHMvb2JqZWN0LmMgXAotCQlPYmplY3RzL29ibWFsbG9jLmMgXAotCQlPYmplY3RzL3Jhbmdlb2JqZWN0LmMgXAotCQlPYmplY3RzL3NldG9iamVjdC5jIFwKLQkJT2JqZWN0cy9zbGljZW9iamVjdC5jIFwKLQkJT2JqZWN0cy9zdHJpbmdvYmplY3QuYyBcCi0JCU9iamVjdHMvc3RydWN0c2VxLmMgXAotCQlPYmplY3RzL3R1cGxlb2JqZWN0LmMgXAotCQlPYmplY3RzL3R5cGVvYmplY3QuYyBcCi0JCU9iamVjdHMvdW5pY29kZW9iamVjdC5jIFwKLQkJT2JqZWN0cy91bmljb2RlY3R5cGUuYyBcCi0JCU9iamVjdHMvd2Vha3JlZm9iamVjdC5jKQotCi1TUkMuTElCPQkkKFNSQy5PUzJFTVgpIFwKLQkJJChTUkMuTUFJTikgXAotCQkkKFNSQy5QQVJTRVIpIFwKLQkJJChTUkMuT0JKRUNUKSBcCi0JCSQoU1JDLlBZVEhPTikgXAotCQkkKFNSQy5NT0RVTEVTKQotT0JKLkxJQj0JJChhZGRwcmVmaXggJChPVVQpLCQobm90ZGlyICQoU1JDLkxJQjouYz0kTykpKQotCi1TUkMuUEdFTj0JJChTUkMuUEFSU0UxKSBcCi0JCSQoYWRkcHJlZml4ICQoVE9QKSwgXAotCQlPYmplY3RzL29ibWFsbG9jLmMpIFwKLQkJJChhZGRwcmVmaXggJChUT1ApLCBcCi0JCVB5dGhvbi9teXNucHJpbnRmLmMpIFwKLQkJJChhZGRwcmVmaXggJChUT1ApLCBcCi0JCVBhcnNlci90b2tlbml6ZXJfcGdlbi5jIFwKLQkJUGFyc2VyL3BnZW5tYWluLmMgXAotCQlQYXJzZXIvcGdlbi5jIFwKLQkJUGFyc2VyL3ByaW50Z3JhbW1hci5jIFwKLQkJUGFyc2VyL2dyYW1tYXIuYyBcCi0JCVBhcnNlci9maXJzdHNldHMuYykgXAotCi1PQkouUEdFTj0JJChhZGRwcmVmaXggJChPVVQpLCQobm90ZGlyICQoU1JDLlBHRU46LmM9JE8pKSkKLQotU1JDLkVYRT0JJChUT1ApTW9kdWxlcy9weXRob24uYwotU1JDLlBNRVhFPQlweXRob25wbS5jCi0KLSMgUHl0aG9uIG1vZHVsZXMgdG8gYmUgZHluYW1pY2FsbHkgbG9hZGVkIHRoYXQ6Ci0jICAgMSkgaGF2ZSBvbmx5IHNpbmdsZSBzb3VyY2UgZmlsZSBhbmQgcmVxdWlyZSBubyBleHRyYSBsaWJzCi0jICAgMikgdXNlIHRoZSBzdGFuZGFyZCBtb2R1bGUgbmFtaW5nIGNvbnZlbnRpb24KLSMgICAgICAodGhlICdtb2R1bGUnIGluID8/Pz8/bW9kdWxlLmMgaXMgYXNzdW1lZCkKLSMgLSB0aGVzZSBjYW4gYmUgYnVpbHQgd2l0aCBpbXBsaWNpdCBydWxlcwotRUFTWUVYVE1PRFVMRVM9CWZwZWN0bCBcCi0JCWZwZXRlc3QgXAotCQlwYXJzZXIgXAotCQlwd2QgXAotCQlzZWxlY3QgCi0KLSMgUHl0aG9uIG1vZHVsZXMgdG8gYmUgZHluYW1pY2FsbHkgbG9hZGVkIHRoYXQgbmVlZCBleHBsaWNpdCBidWlsZCBydWxlcwotIyAgKGVpdGhlciBtdWx0aXBsZSBzb3VyY2UgZmlsZXMgYW5kL29yIG5vbi1zdGFuZGFyZCBtb2R1bGUgbmFtaW5nKQotIyAgKE5PVEU6IHVzZSBzaG9ydGVuZWQgbmFtZXMgZm9yIG1vZHVsZXMgYWZmZWN0ZWQgYnkgOCBjaGFyIG5hbWUgbGltaXQpCi1IQVJERVhUTU9EVUxFUz0JX3NvY2tldCBcCi0JCV90ZXN0Y2FwIFwKLQkJdW5pY29kZWQKLQotIyBQeXRob24gbW9kdWxlcyB0aGF0IGFyZSB1c2VkIGFzIGxpYnJhcmllcyBhbmQgdGhlcmVmb3JlIG11c3QgdXNlCi0jIGEgLkRMTCBleHRlbnNpb24KLUxJQkVYVE1PRFVMRVM9Ci0KLSMgUHl0aG9uIGV4dGVybmFsICgkKE1PRFVMRS5FWFQpKSBtb2R1bGVzIC0gY2FuIGJlIEVBU1kgb3IgSEFSRAotaWZlcSAoJChIQVZFX1pMSUIpLHllcykKLSAgSEFSREVYVE1PRFVMRVMrPQl6bGliCi1lbmRpZgotaWZlcSAoJChIQVZFX1VGQykseWVzKQotICBIQVJERVhUTU9EVUxFUys9CWNyeXB0Ci1lbmRpZgotaWZlcSAoJChIQVZFX1RDTFRLKSx5ZXMpCi0gIEhBUkRFWFRNT0RVTEVTKz0JX3RraW50ZXIKLSAgQ0ZMQUdTKz0JCS1ESEFTX0RJUkVOVCAtSS9UY2xUazgwL2luY2x1ZGUKLSAgVEtfTElCUys9CQktTC9UY2xUazgwL2xpYiAtbHRjbDgwIC1sdGs4MAotZW5kaWYKLWlmZXEgKCQoSEFWRV9HUkVBRExJTkUpLHllcykKLSAgSEFSREVYVE1PRFVMRVMrPQlyZWFkbGluZQotZW5kaWYKLWlmZXEgKCQoSEFWRV9OQ1VSU0VTKSx5ZXMpCi0gIExJQkVYVE1PRFVMRVMrPQlfY3Vyc2VzCi0gIEhBUkRFWFRNT0RVTEVTKz0JX2N1cnNlc18KLWVuZGlmCi1pZmVxICgkKEhBVkVfR0RCTSkseWVzKQotICBIQVJERVhUTU9EVUxFUys9CV9nZGJtIF9kYm0KLWVuZGlmCi1pZmVxICgkKEhBVkVfQloyKSx5ZXMpCi0gIEhBUkRFWFRNT0RVTEVTKz0JYnoyCi1lbmRpZgotaWZlcSAoJChIQVZFX09QRU5TU0wpLHllcykKLSAgSEFSREVYVE1PRFVMRVMrPQlfc3NsCi1lbmRpZgotCi0jIEV4cGF0IGlzIG5vdyBkaXN0cmlidXRlZCB3aXRoIHRoZSBQeXRob24gc291cmNlCi1IQVJERVhUTU9EVUxFUys9CXB5ZXhwYXQKLUVYUEFULklOQz0JLUkuLi8uLi9Nb2R1bGVzL2V4cGF0Ci1FWFBBVC5ERUY9CS1ESEFWRV9FWFBBVF9IIC1EWE1MX05TPTEgLURYTUxfRFREPTEgLURYTUxfQllURV9PUkRFUj0xMiBcCi0JCS1EWE1MX0NPTlRFTlRfQllURVM9MTAyNCAtREhBVkVfTUVNTU9WRT0xIC1ESEFWRV9CQ09QWT0xCi1FWFBBVC5TUkM9CSQoYWRkcHJlZml4IC4uLy4uL01vZHVsZXMvZXhwYXQvLCBcCi0JCXhtbHBhcnNlLmMgXAotCQl4bWxyb2xlLmMgXAotCQl4bWx0b2suYykKLQotIyBhbGwgdGhlIGV4dGVybmFsIG1vZHVsZXMKLUVYVEVSTkRMTFM9CSQoYWRkc3VmZml4ICQoTU9EVUxFLkVYVCksJChwYXRzdWJzdCAlbW9kdWxlLCUsJChFQVNZRVhUTU9EVUxFUykpKQotRVhURVJORExMUys9CSQoYWRkc3VmZml4ICQoTU9EVUxFLkVYVCksJChwYXRzdWJzdCAlbW9kdWxlLCUsJChIQVJERVhUTU9EVUxFUykpKQotRVhURVJORExMUys9CSQoYWRkc3VmZml4ICQoTU9ETElCLkVYVCksJChwYXRzdWJzdCAlbW9kdWxlLCUsJChMSUJFWFRNT0RVTEVTKSkpCi0KLSMgVGFyZ2V0cwotYWxsOiAgJChPVVQpICQoUFlUSE9OLkxJQikgJChQWVRIT04uREVGKSAkKFBZVEhPTi5JTVBMSUIpICQoUFlUSE9OLkRMTCkgXAotCXB5dGhvbl9ub25jb3JlCi0KLXB5dGhvbl9ub25jb3JlOgotCW1ha2UgUFlfREVGPSAkKFBZVEhPTi5FWEUpICQoUFlUSE9OUE0uRVhFKSAkKFBHRU4uRVhFKSAkKEVYVEVSTkRMTFMpCi0KLWNsZWFuOgotCXJtIC1mICQoT1VUKSoKLQlybSAtZiAkKFBZVEhPTi5MSUIpICQoUFlUSE9OLklNUExJQikgJChQWVRIT04uRVhFSU1QKSAkKFBZVEhPTi5ETEwpIFwKLQkgICQoUFlUSE9OLkVYRSkgJChQWVRIT05QTS5FWEUpICQoUEdFTi5FWEUpICokKE1PRFVMRS5FWFQpICouZGxsCi0JZmluZCAuLi8uLi9MaWIgLW5hbWUgIioucHlbY29dIiAtZXhlYyBybSB7fSAiOyIKLQotbHg6Ci0JQGVjaG8gUGFja2luZyBldmVyeXRoaW5nIHdpdGggbHhMaXRlLi4uCi0JbHhsaXRlICQoUFlUSE9OLkRMTCkgJChQWVRIT04uRVhFKSAkKFBZVEhPTlBNLkVYRSkgJChQR0VOLkVYRSkKLQotZGVwZW5kOiAkKE9VVEJBU0UpCi0JbWFrZWRlcCAtZiAkKE9VVEJBU0UpcHl0aG9uLmRlcCAtbyAkKEJVQ0spTyAtcCAkKEJVQ0spXChPVVRcKSBcCi0JICAtciAtYyAkKElOQ0xVREUpICQoU1JDLkxJQikgJChTUkMuUEdFTikKLQotJChPVVQpOiAkKE9VVEJBU0UpCi0KLSQoT1VUKSAkKE9VVEJBU0UpOgotCW1rZGlyLmV4ZSAkQAotCi0kKFBZVEhPTi5MSUIpOiAkKE9CSi5MSUIpCi0Jcm0uZXhlIC1mICRACi0JJChBUikgJChBUkZMQUdTKSAkQCAkXgotCi0jIHRoZSBQeXRob24gY29yZSBETEwgLmRlZiBmaWxlIG5lZWRzIHRvIGhhdmUgYSBudW1iZXIgb2Ygbm9uLXN0YXRpYwotIyBzeW1ib2xzIHRoYXQgYXJlbid0IHBhcnQgb2YgdGhlIFB5dGhvbiBDIEFQSSByZW1vdmVkIChjb21tZW50ZWQgb3V0KQotIyBmcm9tIHRoZSBETEwgZXhwb3J0IGxpc3QuCi0kKFBZVEhPTi5ERUYpOiAkKFBZVEhPTi5MSUIpCi0JQGVjaG8gQ3JlYXRpbmcgLkRFRiBmaWxlOiAkQAotCUBlY2hvIExJQlJBUlkgJChQWVRIT05fTElCKSBJTklUSU5TVEFOQ0UgVEVSTUlOU1RBTkNFID4kQAotCUBlY2hvIERFU0NSSVBUSU9OICQoRFFVT1RFKVB5dGhvbiAkKFBZVEhPTl9WRVIpIENvcmUgRExMJChEUVVPVEUpID4+JEAKLQlAZWNobyBQUk9UTU9ERSA+PiRACi0JQGVjaG8gREFUQSBNVUxUSVBMRSBOT05TSEFSRUQgPj4kQAotCUBlY2hvIEVYUE9SVFMgPj4kQAotCSQoRVhQTElCKSAtdSAkKFBZVEhPTi5MSUIpIHxcCi0JIHNlZCAtZSAiL14gIC5pbml0Liovcy9eIC87IC8iIFwKLQkJLWUgIi9eICAucGNyZV8uKi9zL14gLzsgLyIgXAotCQktZSAiL14gIC5hcnJheV9tZXRob2RzL3MvXiAvOyAvIiBcCi0JCS1lICIvXiAgLmZhc3Rfc2F2ZV9sZWF2ZS9zL14gLzsgLyIgXAotCQktZSAiL14gIC5kbG9wZW4vcy9eIC87IC8iIFwKLQkJLWUgIi9eICAuZGxzeW0vcy9eIC87IC8iIFwKLQkJLWUgIi9eICAuZGxjbG9zZS9zL14gLzsgLyIgXAotCQktZSAiL14gIC5kbGVycm9yL3MvXiAvOyAvIiBcCi0JCS1lICIvXiAgLl9QeV9yZV8uKi9zL14gLzsgLyIgXAotCQktZSAiL14gIC5fUHlfTUQ1Liovcy9eIC87IC8iID4+JEAKLQotJChQWVRIT04uSU1QTElCKTogJChQWVRIT04uREVGKQotCSQoSU1QTElCKSAtbyAkQCAkXgotCi0kKFBZVEhPTi5FWEVJTVApOiAkKFBZVEhPTi5ERUYpCi0JJChJTVBMSUIpIC1vICRAICReCi0KLSQoUFlUSE9OLkRMTCk6ICQoT1VUKWRsbGVudHJ5JE8gJChQWVRIT04uTElCKSAkKFBZVEhPTi5ERUYpCi0KLSMgRXhwbGljaXQgbWFrZSB0YXJnZXRzIGZvciB0aGUgLkVYRXMgdG8gYmUgYWJsZSB0byB1c2UgTEQgdG8gbGluawotIyAoc28gdGhhdCBmb3JrKCkgd2lsbCB3b3JrIGlmIHJlcXVpcmVkKQotCi0kKFBZVEhPTi5FWEUpOiAkKFNSQy5FWEUpICQoUFlUSE9OLkVYRUlNUCkgJChPVVQpcHl0aG9uLmRlZgotCSQoQ0MpIC1abXQgJChMRE1PREUuRVhFKSAtWmNydGRsbCAtV2FsbCAkKElOQ0xVREUpIC1MLiAtbGdjYyAtbyAkQCAkKFNSQy5FWEUpICQoUFlUSE9OLkVYRUlNUCkgJChMSUJTKSAkKE9VVClweXRob24uZGVmCi0JJChFWEVPUFQpIC1hcSAkKFBZVEhPTi5FWEUpIC1oJChORklMRVMpCi0KLSQoUFlUSE9OUE0uRVhFKTogJChTUkMuUE1FWEUpICQoUFlUSE9OLkVYRUlNUCkgJChPVVQpcHl0aG9ucG0uZGVmCi0JJChDQykgLVptdCAkKExETU9ERS5FWEUpIC1aY3J0ZGxsIC1XYWxsICQoSU5DTFVERSkgLUwuIC1sZ2NjIC1vICRAICQoU1JDLlBNRVhFKSAkKFBZVEhPTi5FWEVJTVApICQoTElCUykgJChPVVQpcHl0aG9ucG0uZGVmCi0JJChFWEVPUFQpIC1hcSAkKFBZVEhPTlBNLkVYRSkgLWgkKE5GSUxFUykKLQotJChQR0VOLkVYRSk6ICQoT0JKLlBHRU4pICQoT1VUKXBnZW4uZGVmCi0KLSMgRXhwbGljaXQgYnVpbGRpbmcgaW5zdHJ1Y3Rpb25zIGZvciB0aG9zZSBleHRlcm5hbCBtb2R1bGVzIHRoYXQgcmVxdWlyZSAKLSMgYXdrd2FyZCBoYW5kbGluZyAoZHVlIGUuZy4gdG8gbm9uLXN0ZCBuYW1pbmcsIG9yIG11bHRpcGxlIHNvdXJjZSBmaWxlcykKLSMgLSBzdGFuZGFyZCBtb2R1bGVzCi0KLV9zb2NrZXQkKE1PRFVMRS5FWFQpOiAkKE9VVClzb2NrZXRtb2R1bGUkTyAkKE9VVClfc29ja2V0X20uZGVmICQoUFlUSE9OLklNUExJQikKLQkkKExEKSAkKExERkxBR1MuRExMKSAtbyAkQCAkKF5eKSAkKExeKSAkKExJQlMpCi0KLSMgX3Rlc3RjYXBpIG5lZWRzIHRvIGJlIHJlbmFtZWQgdG8gYmUgdXNlZnVsCi1fdGVzdGNhcGkkKE1PRFVMRS5FWFQpOiAkKE9VVClfdGVzdGNhcGltb2R1bGUkTyAkKE9VVClfdGVzdGNhcGlfbS5kZWYgJChQWVRIT04uSU1QTElCKQotCSQoTEQpICQoTERGTEFHUy5ETEwpIC1vICRAICQoXl4pICQoTF4pICQoTElCUykKLQotX3Rlc3RjYXAkKE1PRFVMRS5FWFQpOiBfdGVzdGNhcGkkKE1PRFVMRS5FWFQpCi0JY3AgJF4gJEAKLQotIyB1bmljb2RlZGF0YSBuZWVkcyB0byBiZSByZW5hbWVkIHRvIGJlIHVzZWZ1bAotdW5pY29kZWRhdGEkKE1PRFVMRS5FWFQpOiAkKE9VVCl1bmljb2RlZGF0YSRPICQoT1VUKXVuaWNvZGVkYXRhX20uZGVmICQoUFlUSE9OLklNUExJQikKLQkkKExEKSAkKExERkxBR1MuRExMKSAtbyAkQCAkKF5eKSAkKExeKSAkKExJQlMpICQoTU9EVUxFX0xJQlMpCi0KLXVuaWNvZGVkJChNT0RVTEUuRVhUKTogdW5pY29kZWRhdGEkKE1PRFVMRS5FWFQpCi0JY3AgJF4gJEAKLQotY3J5cHQkKE1PRFVMRS5FWFQpOiAkKE9VVCljcnlwdG1vZHVsZSRPICQoT1VUKWNyeXB0X20uZGVmICQoUFlUSE9OLklNUExJQikKLQkkKExEKSAkKExERkxBR1MuRExMKSAtbyAkQCAkKF5eKSAkKExeKSAtbHVmYyAkKExJQlMpCi0KLSMgVGhlIF9jdXJzZXNfcGFuZWwgbW9kdWxlIHJlcXVpcmVzIGEgY291cGxlIG9mIG5jdXJzZXMgbGlicmFyeSBlbnRyeQotIyBwb2ludHMsIHdoaWNoIGFyZSBiZXN0IGV4cG9zZWQgYXMgZXhwb3J0cyBmcm9tIHRoZSBfY3Vyc2VzIG1vZHVsZSBETEwKLSQoT1VUKV9jdXJzZXNfbS5kZWY6Ci0JQGVjaG8gQ3JlYXRpbmcgLkRFRiBmaWxlOiAkQAotCUBlY2hvIExJQlJBUlkgJChub3RkaXIgJCopIElOSVRJTlNUQU5DRSBURVJNSU5TVEFOQ0UgPiRACi0JQGVjaG8gREVTQ1JJUFRJT04gJChEUVVPVEUpJChERVNDUklQVElPTi4kKG5vdGRpciAkKikkKE1PRExJQi5FWFQpKSQoRFFVT1RFKSA+PiRACi0JQGVjaG8gREFUQSBNVUxUSVBMRSBOT05TSEFSRUQgPj4kQAotCUBlY2hvIEVYUE9SVFMgPj4kQAotCUBlY2hvIAlpbml0X2N1cnNlcyA+PiRACi0JQGVjaG8gCXdub3V0cmVmcmVzaCA+PiRACi0JQGVjaG8gCV9uY19wYW5lbGhvb2sgPj4kQAotCUBlY2hvIAlpc19saW5ldG91Y2hlZCA+PiRACi0JQGVjaG8gCW12d2luID4+JEAKLQlAZWNobyAJc3Rkc2NyID4+JEAKLQlAZWNobyAJd3RvdWNobG4gPj4kQAotCi0kKE9VVClfY3Vyc2VzX3BhbmVsX20uZGVmOgotCUBlY2hvIENyZWF0aW5nIC5ERUYgZmlsZTogJEAKLQlAZWNobyBMSUJSQVJZICQobm90ZGlyICQqKSBJTklUSU5TVEFOQ0UgVEVSTUlOU1RBTkNFID4kQAotCUBlY2hvIERFU0NSSVBUSU9OICQoRFFVT1RFKVB5dGhvbiBzdGFuZGFyZCBtb2R1bGUgJChub3RkaXIgJCopJChEUVVPVEUpID4+JEAKLQlAZWNobyBEQVRBIE1VTFRJUExFIE5PTlNIQVJFRCA+PiRACi0JQGVjaG8gSU1QT1JUUyA+PiRACi0JQGVjaG8gCV9jdXJzZXMud25vdXRyZWZyZXNoID4+JEAKLQlAZWNobyAJX2N1cnNlcy5fbmNfcGFuZWxob29rID4+JEAKLQlAZWNobyAJX2N1cnNlcy5pc19saW5ldG91Y2hlZCA+PiRACi0JQGVjaG8gCV9jdXJzZXMubXZ3aW4gPj4kQAotCUBlY2hvIAlfY3Vyc2VzLnN0ZHNjciA+PiRACi0JQGVjaG8gCV9jdXJzZXMud3RvdWNobG4gPj4kQAotCUBlY2hvIEVYUE9SVFMgPj4kQAotCUBlY2hvIAlpbml0X2N1cnNlc19wYW5lbCA+PiRACi0KLV9jdXJzZXMkKE1PRExJQi5FWFQpOiAkKE9VVClfY3Vyc2VzbW9kdWxlJE8gJChPVVQpX2N1cnNlc19tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAtbG5jdXJzZXMKLQotIyBjdXJzZXNfcGFuZWwgbmVlZHMgdG8gYmUgcmVuYW1lZCB0byBiZSB1c2VmdWwKLV9jdXJzZXNfcGFuZWwkKE1PRFVMRS5FWFQpOiAkKE9VVClfY3Vyc2VzX3BhbmVsJE8gJChPVVQpX2N1cnNlc19wYW5lbF9tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAtbHBhbmVsCi0KLV9jdXJzZXNfJChNT0RVTEUuRVhUKTogX2N1cnNlc19wYW5lbCQoTU9EVUxFLkVYVCkKLQljcCAkXiAkQAotCi1fZGJtJChNT0RVTEUuRVhUKTogJChPVVQpX2RibW1vZHVsZSRPICQoT1VUKWRibV9tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAtbGdkYm0KLQotX2dkYm0kKE1PRFVMRS5FWFQpOiAkKE9VVClfZ2RibW1vZHVsZSRPICQoT1VUKWdkYm1fbS5kZWYgJChQWVRIT04uSU1QTElCKQotCSQoTEQpICQoTERGTEFHUy5ETEwpIC1vICRAICQoXl4pICQoTF4pICQoTElCUykgLWxnZGJtCi0KLQotIyBFeHBhdCBpcyBub3cgZGlzdHJpYnV0ZWQgd2l0aCBQeXRob24sIHNvIHVzZSB0aGUgaW5jbHVkZWQgdmVyc2lvbgotJChPVVQpcHlleHBhdCRPOgkuLi8uLi9Nb2R1bGVzL3B5ZXhwYXQuYwotCSQoQ0MpICQoQ0ZMQUdTKSAkKEVYUEFULklOQykgLWMgLW8gJEAgJF4KLSQoT1VUKXhtbHBhcnNlJE86CS4uLy4uL01vZHVsZXMvZXhwYXQveG1scGFyc2UuYwotCSQoQ0MpICQoQ0ZMQUdTKSAkKEVYUEFULklOQykgJChFWFBBVC5ERUYpIC1jIC1vICRAICReCi0kKE9VVCl4bWxyb2xlJE86CS4uLy4uL01vZHVsZXMvZXhwYXQveG1scm9sZS5jCi0JJChDQykgJChDRkxBR1MpICQoRVhQQVQuSU5DKSAkKEVYUEFULkRFRikgLWMgLW8gJEAgJF4KLSQoT1VUKXhtbHRvayRPOgkuLi8uLi9Nb2R1bGVzL2V4cGF0L3htbHRvay5jCi0JJChDQykgJChDRkxBR1MpICQoRVhQQVQuSU5DKSAkKEVYUEFULkRFRikgLWMgLW8gJEAgJF4KLXB5ZXhwYXQkKE1PRFVMRS5FWFQpOiAkKE9VVClweWV4cGF0JE8gJChPVVQpeG1scGFyc2UkTyAkKE9VVCl4bWxyb2xlJE8gXAotCQkkKE9VVCl4bWx0b2skTyAkKE9VVClweWV4cGF0X20uZGVmICQoUFlUSE9OLklNUExJQikKLQkkKExEKSAkKExERkxBR1MuRExMKSAtbyAkQCAkKF5eKSAkKExeKSAkKExJQlMpCi0KLXJlYWRsaW5lJChNT0RVTEUuRVhUKTogJChPVVQpcmVhZGxpbmUkTyAkKE9VVClyZWFkbGluZV9tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAtbHJlYWRsaW5lIC1sbmN1cnNlcwotCi0jX3RraW50ZXIkKE1PRFVMRS5FWFQpOiAkKE9VVClfdGtpbnRlciRPICQoT1VUKXRjbE5vdGlmeSRPICQoT1VUKXRrYXBwaW5pdCRPCi1fdGtpbnRlciQoTU9EVUxFLkVYVCk6ICQoT1VUKV90a2ludGVyJE8gJChPVVQpdGNsTm90aWZ5JE8gXAotCQkkKE9VVClfdGtpbnRlcl9tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAkKFRLX0xJQlMpCi0KLXpsaWIkKE1PRFVMRS5FWFQpOiAkKE9VVCl6bGlibW9kdWxlJE8gJChPVVQpemxpYl9tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAtbHoKLQotYnoyJChNT0RVTEUuRVhUKTogJChPVVQpYnoybW9kdWxlJE8gJChPVVQpYnoyX20uZGVmICQoUFlUSE9OLklNUExJQikKLQkkKExEKSAkKExERkxBR1MuRExMKSAtbyAkQCAkKF5eKSAkKExeKSAkKExJQlMpIC1sYnoyCi0KLV9zc2wkKE1PRFVMRS5FWFQpOiAkKE9VVClfc3NsJE8gJChPVVQpX3NzbF9tLmRlZiAkKFBZVEhPTi5JTVBMSUIpCi0JJChMRCkgJChMREZMQUdTLkRMTCkgLW8gJEAgJCheXikgJChMXikgJChMSUJTKSAtbHNzbCAtbGNyeXB0bwotCi0jIHRoZSB0ZXN0IHRhcmdldAotdGVzdDoKLQktZmluZCAuLi8uLi9MaWIgLW5hbWUgIioucHlbY29dIiAtZXhlYyBybSB7fSAiOyIKLQktLi9weXRob24gLUUgLi4vLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgLWwgLXUgIm5ldHdvcmsiCi0JLi9weXRob24gLUUgLi4vLi4vbGliL3Rlc3QvcmVncnRlc3QucHkgLWwgLXUgIm5ldHdvcmsiCi0KLS1pbmNsdWRlICQoT1VUQkFTRSlweXRob24uZGVwCmRpZmYgLS1naXQgYS9QQy9vczJlbXgvUkVBRE1FLm9zMmVteCBiL1BDL29zMmVteC9SRUFETUUub3MyZW14CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWNmNmRmLi4wMDAwMDAwCi0tLSBhL1BDL29zMmVteC9SRUFETUUub3MyZW14CisrKyAvZGV2L251bGwKQEAgLTEsNjYzICswLDAgQEAKLVRoaXMgaXMgYSBwb3J0IG9mIFB5dGhvbiAyLjYgdG8gT1MvMiB1c2luZyB0aGUgRU1YIGRldmVsb3BtZW50IHRvb2xzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVdoYXQncyBuZXcgc2luY2UgdGhlIHByZXZpb3VzIHJlbGVhc2UKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotQW5vdGhlciBkYXksIGFub3RoZXIgdmVyc2lvbi4uLgotCi0KLUxpY2Vuc2VzIGFuZCBpbmZvIGFib3V0IFB5dGhvbiBhbmQgRU1YCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1QbGVhc2UgcmVhZCB0aGUgZmlsZSBSRUFETUUuUHl0aG9uLTIuNiBpbmNsdWRlZCBpbiB0aGlzIHBhY2thZ2UgZm9yIAotaW5mb3JtYXRpb24gYWJvdXQgUHl0aG9uIDIuNi4gIFRoaXMgZmlsZSBpcyB0aGUgUkVBRE1FIGZpbGUgZnJvbSB0aGUgCi1QeXRob24gMi42IHNvdXJjZSBkaXN0cmlidXRpb24gYXZhaWxhYmxlIHZpYSBodHRwOi8vd3d3LnB5dGhvbi5vcmcvIAotYW5kIGl0cyBtaXJyb3JzLiAgVGhlIGZpbGUgTElDRU5DRS5QeXRob24tMi42IGlzIHRoZSB0ZXh0IG9mIHRoZSBMaWNlbmNlIAotZnJvbSB0aGUgUHl0aG9uIDIuNiBzb3VyY2UgZGlzdHJpYnV0aW9uLgotCi1Ob3RlIHRoYXQgdGhlIEVNWCBwYWNrYWdlIHRoYXQgdGhpcyBwYWNrYWdlIGRlcGVuZHMgb24gaXMgcmVsZWFzZWQgdW5kZXIgCi10aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2VuY2UuICBQbGVhc2UgcmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gCi1hY2NvbXBhbnlpbmcgdGhlIEVNWCBSdW50aW1lIGxpYnJhcmllcyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgCi1pbXBsaWNhdGlvbnMgb2YgdGhpcy4gIEEgY29weSBvZiB2ZXJzaW9uIDIgb2YgdGhlIEdQTCBpcyBpbmNsdWRlZCBhcyB0aGUgCi1maWxlIENPUFlJTkcuZ3BsMi4KLQotUmVhZGxpbmUgYW5kIEdEQk0gYXJlIGNvdmVyZWQgYnkgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbmNlLiAgSSB0aGluayAKLUViZXJoYXJkIE1hdHRlcycgcG9ydGluZyBjaGFuZ2VzIHRvIEJTRCBEQiB2MS44NSBhcmUgYWxzbyBHUEwnZWQgKEJTRCBEQiAKLWl0c2VsZiBpcyBCU0QgTGljZW5jZWQpLiAgbmN1cnNlcyBhbmQgZXhwYXQgYXBwZWFyIHRvIGJlIGNvdmVyZWQgYnkgTUlUIAotc3R5bGUgbGljZW5jZXMgLSBwbGVhc2UgcmVmZXIgdG8gdGhlIHNvdXJjZSBkaXN0cmlidXRpb25zIGZvciBtb3JlIGRldGFpbC4gIAotemxpYiBpcyBkaXN0cmlidXRhYmxlIHVuZGVyIGEgdmVyeSBmcmVlIGxpY2Vuc2UuICBHTlUgVUZDIGlzIHVuZGVyIHRoZSAKLUdOVSBMR1BMIChzZWUgZmlsZSBDT1BZSU5HLmxpYikuCi0KLU15IHBhdGNoZXMgdG8gdGhlIFB5dGhvbi0yLnggc291cmNlIGRpc3RyaWJ1dGlvbnMsIGFuZCBhbnkgb3RoZXIgcGFja2FnZXMgCi11c2VkIGluIHRoaXMgcG9ydCwgYXJlIHBsYWNlZCBpbiB0aGUgcHVibGljIGRvbWFpbi4KLQotVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQgd2FycmFudHkuCi1JbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3IgYmUgaGVsZCBsaWFibGUgZm9yIGFueSBkYW1hZ2VzIGFyaXNpbmcgZnJvbSB0aGUgCi11c2Ugb2YgdGhlIHNvZnR3YXJlLgotCi1JIGRvIGhvcGUgaG93ZXZlciB0aGF0IGl0IHByb3ZlcyB1c2VmdWwgdG8gc29tZW9uZS4KLQotCi1PdGhlciBwb3J0cwotLS0tLS0tLS0tLS0KLQotVGhlcmUgaGF2ZSBiZWVuIHBvcnRzIG9mIHByZXZpb3VzIHZlcnNpb25zIG9mIFB5dGhvbiB0byBPUy8yLgotCi1UaGUgYmVzdCBrbm93biB3b3VsZCBiZSB0aGF0IGJ5IEplZmYgUnVzaCwgbW9zdCByZWNlbnRseSBvZiB2ZXJzaW9uIAotMS41LjIuICBKZWZmIHVzZWQgSUJNJ3MgVmlzdWFsIEFnZSBDKysgKHYzKSBmb3IgaGlzIHBvcnRzLCBhbmQgaGlzIAotcGF0Y2hlcyBoYXZlIGJlZW4gaW5jbHVkZWQgaW4gdGhlIFB5dGhvbiAyLjYgc291cmNlIGRpc3RyaWJ1dGlvbi4KLQotQW5keSBaYWJvbG90bnkgaW1wbGVtZW50ZWQgYSBwb3J0IG9mIFB5dGhvbiB2MS41LjIgdXNpbmcgdGhlIEVNWCAKLWRldmVsb3BtZW50IHRvb2xzLiAgSGlzIHBhdGNoZXMgYWdhaW5zdCB0aGUgUHl0aG9uIHYxLjUuMiBzb3VyY2UgCi1kaXN0cmlidXRpb24gaGF2ZSBiZWNvbWUgdGhlIGNvcmUgb2YgdGhpcyBwb3J0LCBhbmQgd2l0aG91dCBoaXMgZWZmb3J0cyAKLXRoaXMgcG9ydCB3b3VsZG4ndCBleGlzdC4gIEFuZHkncyBwb3J0IGFsc28gYXBwZWFycyB0byBoYXZlIGJlZW4gCi1jb21waWxlZCB3aXRoIGhpcyBwb3J0IG9mIGdjYyAyLjk1LjIgdG8gRU1YLCB3aGljaCBJIGhhdmUgYnV0IGhhdmUgCi1jaG9zZW4gbm90IHRvIHVzZSBmb3IgdGhlIGJpbmFyeSBkaXN0cmlidXRpb24gb2YgdGhpcyBwb3J0IChzZWUgaXRlbSAxNiAKLW9mIHRoZSAiWU9VIEhBVkUgQkVFTiBXQVJORUQiIHNlY3Rpb24gYmVsb3cpLgotCi1JdCBpcyBwb3NzaWJsZSB0byBoYXZlIHRoZXNlIGVhcmxpZXIgcG9ydHMgc3RpbGwgdXNhYmxlIGFmdGVyIGluc3RhbGxpbmcgCi10aGlzIHBvcnQgLSBzZWUgdGhlIFJFQURNRS5vczJlbXgubXVsdGlwbGVfdmVyc2lvbnMgZmlsZSwgY29udHJpYnV0ZWQgYnkKLURyIERhdmlkIE1lcnR6LCBmb3IgYSBzdWdnZXN0ZWQgYXBwcm9hY2ggdG8gYWNoaWV2aW5nIHRoaXMuCi0KLQotU29mdHdhcmUgcmVxdWlyZW1lbnRzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhpcyBwYWNrYWdlIHJlcXVpcmVzIHRoZSBFTVggUnVudGltZSBwYWNrYWdlLCBhdmFpbGFibGUgZnJvbSB0aGUgCi1Ib2JiZXMgKGh0dHA6Ly9ob2JiZXMubm1zdS5lZHUvKSBhbmQgTEVPIChodHRwOi8vYXJjaGl2Lmxlby5vcmcvKSAKLWFyY2hpdmVzIG9mIE9TLzIgc29mdHdhcmUuICBJIGhhdmUgdXNlZCBFTVggdmVyc2lvbiAwLjlkIGZpeDA0IGluIAotZGV2ZWxvcGluZyB0aGlzIHBvcnQuCi0KLU15IGRldmVsb3BtZW50IHN5c3RlbSBpcyBydW5uaW5nIE9TLzIgdjQgd2l0aCBmaXhwYWNrIDEyLgotCi0zcmQgcGFydHkgc29mdHdhcmUgd2hpY2ggaGFzIGJlZW4gbGlua2VkIGludG8gZHluYW1pY2FsbHkgbG9hZGVkIG1vZHVsZXM6Ci0tIG5jdXJzZXMgICAgICAoc2VlIGh0dHA6Ly9kaWNrZXkuaGlzLmNvbS8gZm9yIG1vcmUgaW5mbywgdjUuMikKLS0gR05VIFJlYWRsaW5lIChLYWkgVXdlIFJvbW1lbCdzIHBvcnQgYXZhaWxhYmxlIGZyb20gSG9iYmVzIG9yIExFTywgdjIuMSkKLS0gR05VIEdEQk0gICAgIChLYWkgVXdlIFJvbW1lbCdzIHBvcnQgYXZhaWxhYmxlIGZyb20gSG9iYmVzIG9yIExFTywgdjEuNy4zKQotLSB6bGliICAgICAgICAgKGRlcml2ZWQgZnJvbSBIdW5nLUNoaSBDaHUncyBwb3J0IG9mIHYxLjEuMywgdjEuMS40KQotLSBleHBhdCAgICAgICAgKGRpc3RyaWJ1dGVkIHdpdGggUHl0aG9uLCB2MS45NS42KQotLSBHTlUgVUZDICAgICAgKEthaSBVd2UgUm9tbWVsJ3MgcG9ydCBhdmFpbGFibGUgZnJvbSBMRU8sIHYyLjAuNCkKLQotCi1BYm91dCB0aGlzIHBvcnQKLS0tLS0tLS0tLS0tLS0tLQotCi1JIGhhdmUgYXR0ZW1wdGVkIHRvIG1ha2UgdGhpcyBwb3J0IGFzIGNvbXBsZXRlIGFuZCBmdW5jdGlvbmFsIGFzIEkgY2FuLCAKLW5vdHdpdGhzdGFuZGluZyB0aGUgaXNzdWVzIGluIHRoZSAiWU9VIEhBVkUgQkVFTiBXQVJORUQiIHNlY3Rpb24gYmVsb3cuCi0KLUNvcmUgY29tcG9uZW50czoKLQotUHl0aG9uLmV4ZSBpcyBsaW5rZWQgYXMgYW4gYS5vdXQgZXhlY3V0YWJsZSwgaWUgdXNpbmcgRU1YIG1ldGhvZCBFMSAKLXRvIGNvbXBpbGUgJiBsaW5rIHRoZSBleGVjdXRhYmxlLiAgVGhpcyBpcyBzbyB0aGF0IGZvcmsoKSB3b3JrcyAoc2VlIAotIllPVSBIQVZFIEJFRU4gV0FSTkVEIiBpdGVtIDEpLgotCi1QeXRob24yNi5kbGwgaXMgY3JlYXRlZCBhcyBhIG5vcm1hbCBPTUYgRExMLCB3aXRoIGFuIE9NRiBpbXBvcnQgCi1saWJyYXJ5IGFuZCBtb2R1bGUgZGVmaW5pdGlvbiBmaWxlLiAgVGhlcmUgaXMgYWxzbyBhbiBhLm91dCAoLmEpIGltcG9ydCAKLWxpYnJhcnkgdG8gc3VwcG9ydCBsaW5raW5nIHRoZSBETEwgdG8gYS5vdXQgZXhlY3V0YWJsZXMuICBUaGUgRExMIAotcmVxdWlyZXMgdGhlIEVNWCBydW50aW1lIERMTHMuCi0KLVRoaXMgcG9ydCBoYXMgYmVlbiBidWlsdCB3aXRoIGNvbXBsZXRlIHN1cHBvcnQgZm9yIG11bHRpdGhyZWFkaW5nLgotCi1Nb2R1bGVzOgotCi1XaXRoIHRoZSBleGNlcHRpb24gb2YgbW9kdWxlcyB0aGF0IGhhdmUgYSBzaWduaWZpY2FudCBjb2RlIHNpemUsIG9yIGFyZSAKLW5vdCByZWNvbW1lbmRlZCBvciBkZXNpcmVkIGZvciBub3JtYWwgdXNlLCB0aGUgc3RhbmRhcmQgbW9kdWxlcyBhcmUgbm93IAotYnVpbHQgaW50byB0aGUgY29yZSBETEwgcmF0aGVyIHRoYW4gY29uZmlndXJlZCBhcyBkeW5hbWljYWxseSBsb2FkYWJsZSAKLW1vZHVsZXMuICBUaGlzIGlzIGZvciBib3RoIHJlYXNvbnMgb2YgcGVyZm9ybWFuY2UgKHN0YXJ0dXAgdGltZSkgYW5kIAotbWVtb3J5IHVzZSAobG90cyBvZiBzbWFsbCBETExzIGZyYWdtZW50IHRoZSBhZGRyZXNzIHNwYWNlKS4KLQotSSBoYXZlbid0IHlldCBjaGFuZ2VkIHRoZSBidWlsZGluZyBvZiBQeXRob24ncyBkeW5hbWljYWxseSBsb2FkYWJsZSAKLW1vZHVsZXMgb3ZlciB0byB1c2luZyB0aGUgRGlzdFV0aWxzLgotCi1TZWUgIllPVSBIQVZFIEJFRU4gV0FSTkVEIiBpdGVtIDMgZm9yIG5vdGVzIGFib3V0IHRoZSBmY250bCBtb2R1bGUsIGFuZCAKLSJZT1UgSEFWRSBCRUVOIFdBUk5FRCIgaXRlbSAxMCBmb3Igbm90ZXMgYWJvdXQgdGhlIHB3ZCBhbmQgZ3JwIG1vZHVsZXMuCi0KLVRoaXMgcG9ydCBzdXBwb3J0cyBjYXNlIHNlbnNpdGl2ZSBtb2R1bGUgaW1wb3J0IHNlbWFudGljcywgbWF0Y2hpbmcgCi10aGUgV2luZG93cyByZWxlYXNlLiAgVGhpcyBjYW4gYmUgZGVhY3RpdmF0ZWQgYnkgc2V0dGluZyB0aGUgUFlUSE9OQ0FTRU9LIAotZW52aXJvbm1lbnQgdmFyaWFibGUgKHRoZSB2YWx1ZSBkb2Vzbid0IG1hdHRlcikgLSBzZWUgIllPVSBIQVZFIEJFRU4gV0FSTkVEIiAKLWl0ZW0gMTIuCi0KLU9wdGlvbmFsIG1vZHVsZXM6Ci0KLVdoZXJlIEkndmUgYmVlbiBhYmxlIHRvIGxvY2F0ZSB0aGUgcmVxdWlyZWQgM3JkIHBhcnR5IHBhY2thZ2VzIGFscmVhZHkgCi1wb3J0ZWQgdG8gT1MvMiwgSSd2ZSBidWlsdCBhbmQgaW5jbHVkZWQgdGhlbS4KLQotVGhlc2UgaW5jbHVkZSBuY3Vyc2VzIChfY3Vyc2VzLCBfY3Vyc2VzX3BhbmVsKSwKLUdOVSBHREJNIChnZGJtLCBkYm0pLCB6bGliICh6bGliKSwgR05VIFJlYWRsaW5lIChyZWFkbGluZSksIGFuZCBHTlUgVUZDIAotKGNyeXB0KS4KLQotRXhwYXQgaXMgbm93IGluY2x1ZGVkIGluIHRoZSBQeXRob24gcmVsZWFzZSBzb3VyY2ViYWxsLCBhbmQgdGhlIHB5ZXhwYXQgCi1tb2R1bGUgaXMgYWx3YXlzIGJ1aWx0LgotCi1JIGhhdmUgYnVpbHQgdGhlc2UgbW9kdWxlcyBzdGF0aWNhbGx5IGxpbmtlZCBhZ2FpbnN0IHRoZSAzcmQgcGFydHkgCi1saWJyYXJpZXMuICBVbmZvcnR1bmF0ZWx5IG15IGF0dGVtcHRzIHRvIHVzZSB0aGUgZGxsIHZlcnNpb24gb2YgR05VIAotcmVhZGxpbmUgaGF2ZSBiZWVuIGEgZGlzbWFsIGZhaWx1cmUsIGluIHRoYXQgd2hlbiB0aGUgZHluYW1pY2FsbHkgCi1saW5rZWQgcmVhZGxpbmUgbW9kdWxlIGlzIGFjdGl2ZSBvdGhlciBtb2R1bGVzIGltbWVkaWF0ZWx5IHByb3Zva2UgYSAKLWNvcmUgZHVtcCB3aGVuIGltcG9ydGVkLgotCi1Pbmx5IHRoZSBCU0QgREIgcGFja2FnZSAocGFydCBvZiB0aGUgQlNEIHBhY2thZ2UgZGlzdHJpYnV0ZWQgd2l0aCBFTVgpIAotbmVlZHMgc291cmNlIG1vZGlmaWNhdGlvbnMgdG8gYmUgdXNlZCBmb3IgdGhpcyBwb3J0LCBwZXJ0YWluaW5nIHRvIHVzZSAKLW9mIGVycm5vIHdpdGggbXVsdGl0aHJlYWRpbmcuCi0KLVRoZSBvdGhlciBwYWNrYWdlcywgZXhjZXB0IGZvciBuY3Vyc2VzIGFuZCB6bGliLCBuZWVkZWQgTWFrZWZpbGUgY2hhbmdlcyAKLWZvciBtdWx0aXRocmVhZGluZyBzdXBwb3J0IGJ1dCBubyBzb3VyY2UgY2hhbmdlcy4KLQotVGhlIF9jdXJzZXNfcGFuZWwgbW9kdWxlIGlzIGEgcG90ZW50aWFsIHByb2JsZW0gLSBzZWUgIllPVSBIQVZFIEJFRU4gCi1XQVJORUQiIGl0ZW0gMTMuCi0KLVVwc3RyZWFtIHNvdXJjZSBwYXRjaGVzOgotCi1ObyB1cGRhdGVzIHRvIHRoZSBQeXRob24gMi42IHJlbGVhc2UgaGF2ZSBiZWNvbWUgYXZhaWxhYmxlLgotCi1MaWJyYXJ5IGFuZCBvdGhlciBkaXN0cmlidXRlZCBQeXRob24gY29kZToKLQotVGhlIFB5dGhvbiBzdGFuZGFyZCBsaWJyYXJ5IGxpdmVzIGluIHRoZSBMaWIgZGlyZWN0b3J5LiAgQWxsIHRoZSBzdGFuZGFyZCAKLWxpYnJhcnkgY29kZSBpbmNsdWRlZCB3aXRoIHRoZSBQeXRob24gMi42IHNvdXJjZSBkaXN0cmlidXRpb24gaXMgaW5jbHVkZWQgCi1pbiB0aGUgYmluYXJ5IGFyY2hpdmUsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB0aGUgZG9zLTh4MyBhbmQgdGtpbnRlciAKLXN1YmRpcmVjdG9yaWVzIHdoaWNoIGhhdmUgYmVlbiBvbWl0dGVkIHRvIHJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgYmluYXJ5IAotYXJjaGl2ZSAtIHRoZSBkb3MtOHgzIGNvbXBvbmVudHMgYXJlIHVubmVjZXNzYXJ5IGR1cGxpY2F0ZXMgYW5kIFRraW50ZXIgCi1pcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgcG9ydCAoeWV0KS4gIEFsbCB0aGUgcGxhdC0qIHN1YmRpcmVjdG9yaWVzIGluIHRoZSAKLXNvdXJjZSBkaXN0cmlidXRpb24gaGF2ZSBhbHNvIGJlZW4gb21pdHRlZCwgZXhjZXB0IGZvciB0aGUgcGxhdC1vczJlbXggCi1zdWJkaXJlY3RvcnkuCi0KLVRoZSBUb29scyBhbmQgRGVtbyBkaXJlY3RvcmllcyBjb250YWluIGEgY29sbGVjdGlvbiBvZiBQeXRob24gc2NyaXB0cy4gIAotVG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBiaW5hcnkgYXJjaGl2ZSwgdGhlIERlbW8vc2dpLCBEZW1vL1RpeCwgCi1EZW1vL3RraW50ZXIsIFRvb2xzL2F1ZGlvcHkgYW5kIFRvb2xzL0lETEUgc3ViZGlyZWN0b3JpZXMgaGF2ZSBiZWVuIAotb21pdHRlZCBhcyBub3QgYmVpbmcgc3VwcG9ydGVkIGJ5IHRoaXMgcG9ydC4gIFRoZSBNaXNjIGRpcmVjdG9yeSBoYXMgCi1hbHNvIGJlZW4gb21pdHRlZC4KLQotQWxsIHN1YmRpcmVjdG9yaWVzIG9taXR0ZWQgZnJvbSB0aGUgYmluYXJ5IGFyY2hpdmUgY2FuIGJlIHJlY29uc3RpdHV0ZWQgCi1mcm9tIHRoZSBQeXRob24gMi42IHNvdXJjZSBkaXN0cmlidXRpb24sIGlmIGRlc2lyZWQuCi0KLVN1cHBvcnQgZm9yIGJ1aWxkaW5nIFB5dGhvbiBleHRlbnNpb25zOgotCi1UaGUgQ29uZmlnIHN1YmRpcmVjdG9yeSBjb250YWlucyB0aGUgZmlsZXMgZGVzY3JpYmluZyB0aGUgY29uZmlndXJhdGlvbiAKLW9mIHRoZSBpbnRlcnByZXRlciBhbmQgdGhlIE1ha2VmaWxlLCBpbXBvcnQgbGlicmFyaWVzIGZvciB0aGUgUHl0aG9uIERMTCwgCi1hbmQgdGhlIG1vZHVsZSBkZWZpbml0aW9uIGZpbGUgdXNlZCB0byBjcmVhdGUgdGhlIFB5dGhvbiBETEwuICBUaGUgCi1JbmNsdWRlIHN1YmRpcmVjdG9yeSBjb250YWlucyBhbGwgdGhlIHN0YW5kYXJkIFB5dGhvbiBoZWFkZXIgZmlsZXMgCi1uZWVkZWQgZm9yIGJ1aWxkaW5nIGV4dGVuc2lvbnMuCi0KLUFzIEkgZG9uJ3QgaGF2ZSB0aGUgVmlzdWFsIEFnZSBDKysgY29tcGlsZXIsIEkndmUgbWFkZSBubyBhdHRlbXB0IHRvIAotaGF2ZSB0aGlzIHBvcnQgc3VwcG9ydCBleHRlbnNpb25zIGJ1aWx0IHdpdGggdGhhdCBjb21waWxlci4KLQotCi1QYWNrYWdpbmcKLS0tLS0tLS0tLQotCi1UaGlzIHBvcnQgaXMgcGFja2FnZWQgYXMgZm9sbG93czoKLS0gcHl0aG9uLTIuNi1vczJlbXgtYmluLTAzPz8/Py56aXAgIChiaW5hcmllcywgbGlicmFyeSBtb2R1bGVzKQotLSBweXRob24tMi42LW9zMmVteC1zcmMtMDM/Pz8/ICAgICAgKHBhdGNoZXMrbWFrZWZpbGVzIGZvciBub24tUHl0aG9uIGNvZGUpCi0KLUFzIGFsbCB0aGUgUHl0aG9uIHNwZWNpZmljIHBhdGNoZXMgZm9yIHRoZSBwb3J0IGFyZSBub3cgcGFydCBvZiB0aGUgCi1QeXRob24gcmVsZWFzZSB0YXJiYWxsLCBvbmx5IHRoZSBwYXRjaGVzIGFuZCBtYWtlZmlsZXMgaW52b2x2ZWQgaW4gCi1idWlsZGluZyBleHRlcm5hbCBsaWJyYXJpZXMgZm9yIG9wdGlvbmFsIGV4dGVuc2lvbnMgYXJlIGluY2x1ZGVkIGluIAotdGhlIHNvdXJjZSBhcmNoaXZlLgotCi1Eb2N1bWVudGF0aW9uIGZvciB0aGUgUHl0aG9uIGxhbmd1YWdlLCBhcyB3ZWxsIGFzIHRoZSBQeXRob24gMi42IAotc291cmNlIGRpc3RpYnV0aW9uLCBjYW4gYmUgb2J0YWluZWQgZnJvbSB0aGUgUHl0aG9uIHdlYnNpdGUgCi0oaHR0cDovL3d3dy5weXRob24ub3JnLykgb3IgdGhlIFB5dGhvbiBwcm9qZWN0IHBhZ2VzIGF0IFNvdXJjZWZvcmdlIAotKGh0dHA6Ly9zZi5uZXQvcHJvamVjdHMvcHl0aG9uLykuCi0KLQotSW5zdGFsbGF0aW9uCi0tLS0tLS0tLS0tLS0KLQotT2J0YWluIGFuZCBpbnN0YWxsLCBhcyBwZXIgdGhlIGluY2x1ZGVkIGluc3RydWN0aW9ucywgdGhlIEVNWCBydW50aW1lIAotcGFja2FnZS4KLQotVW5wYWNrIHRoaXMgYXJjaGl2ZSwgcHJlc2VydmluZyB0aGUgc3ViZGlyZWN0b3JpZXMsIGluIHRoZSByb290IGRpcmVjdG9yeSAKLW9mIHRoZSBkcml2ZSB3aGVyZSB5b3Ugd2FudCBQeXRob24gdG8gbGl2ZS4KLQotQWRkIHRoZSBQeXRob24gZGlyZWN0b3J5IChlZyBDOlxQeXRob24yNikgdG8gdGhlIFBBVEggYW5kIExJQlBBVEggCi12YXJpYWJsZXMgaW4gQ09ORklHLlNZUy4KLQotWW91IHNob3VsZCB0aGVuIHNldCB0aGUgUFlUSE9OSE9NRSBhbmQgUFlUSE9OUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgCi1pbiBDT05GSUcuU1lTLgotCi1QWVRIT05IT01FIHNob3VsZCBiZSBzZXQgdG8gUHl0aG9uJ3MgdG9wIGxldmVsIGRpcmVjdG9yeS4gIFBZVEhPTlBBVEggCi1zaG91bGQgYmUgc2V0IHRvIHRoZSBzZW1pY29sb24gc2VwYXJhdGVkIGxpc3Qgb2YgcHJpbmNpcGFsIFB5dGhvbiBsaWJyYXJ5IAotZGlyZWN0b3JpZXMuCi1JIHVzZToKLSAgU0VUIFBZVEhPTkhPTUU9RjovUHl0aG9uMjYKLSAgU0VUIFBZVEhPTlBBVEg9RjovUHl0aG9uMjYvTGliO0Y6L1B5dGhvbjI2L0xpYi9wbGF0LW9zMmVteDsKLSAgICAgICAgICAgICAgICAgRjovUHl0aG9uMjYvTGliL2xpYi1keW5sb2FkO0Y6L1B5dGhvbjI2L0xpYi9zaXRlLXBhY2thZ2VzCi0KLU5PVEUhOiAgdGhlIFBZVEhPTlBBVEggc2V0dGluZyBhYm92ZSBpcyBsaW5ld3JhcHBlZCBmb3IgdGhpcyBkb2N1bWVudCAtIGl0IAotc2hvdWxkIGFsbCBiZSBvbiBvbmUgbGluZSBpbiBDT05GSUcuU1lTIQotCi1JZiB5b3Ugd2lzaCB0byB1c2UgdGhlIGN1cnNlcyBtb2R1bGUsIHlvdSBzaG91bGQgc2V0IHRoZSBURVJNIGFuZCBURVJNSU5GTyAKLWVudmlyb25tZW50IHZhcmlhYmxlcyBhcHByb3ByaWF0ZWx5LgotCi1JZiB5b3UgZG9uJ3QgYWxyZWFkeSBoYXZlIG5jdXJzZXMgaW5zdGFsbGVkLCBJIGhhdmUgaW5jbHVkZWQgYSBjb3B5IG9mIHRoZSAKLUVNWCBzdWJzZXQgb2YgdGhlIFRlcm1pbmZvIGRhdGFiYXNlIGluY2x1ZGVkIHdpdGggdGhlIG5jdXJzZXMtNS4yIHNvdXJjZSAKLWRpc3RyaWJ1dGlvbi4gIFRoaXMgY2FuIGJlIHVzZWQgYnkgc2V0dGluZyB0aGUgVEVSTUlORk8gZW52aXJvbm1lbnQgdmFyaWFibGUgCi10byB0aGUgcGF0aCBvZiB0aGUgVGVybWluZm8gc3ViZGlyZWN0b3J5IGJlbG93IHRoZSBQeXRob24gaG9tZSBkaXJlY3RvcnkuCi1PbiBteSBzeXN0ZW0gdGhpcyBsb29rcyBsaWtlOgotICBTRVQgVEVSTUlORk89RjovUHl0aG9uMjYvVGVybWluZm8KLQotRm9yIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlLCBJIHdvdWxkIHRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKLSAgU0VUIFRFUk09YW5zaQotICBTRVQgVEVSTT1vczIKLSAgU0VUIFRFUk09d2luZG93Ci0KLVlvdSB3aWxsIGhhdmUgdG8gcmVib290IHlvdXIgc3lzdGVtIGZvciB0aGVzZSBjaGFuZ2VzIHRvIENPTkZJRy5TWVMgdG8gdGFrZSAKLWVmZmVjdC4KLQotSWYgeW91IHdpc2ggdG8gY29tcGlsZSBhbGwgdGhlIGluY2x1ZGVkIFB5dGhvbiBsaWJyYXJ5IG1vZHVsZXMgdG8gYnl0ZWNvZGUsIAoteW91IGNhbiBjaGFuZ2UgaW50byB0aGUgUHl0aG9uIGhvbWUgZGlyZWN0b3J5IGFuZCBydW4gdGhlIENPTVBJTEVBTEwuQ01EIAotYmF0Y2ggZmlsZS4KLQotWW91IGNhbiBleGVjdXRlIHRoZSByZWdyZXNzaW9uIHRlc3RzIGluY2x1ZGVkIHdpdGggdGhlIFB5dGhvbiAyLjYgc291cmNlIAotZGlzdHJpYnV0aW9uIGJ5IGNoYW5naW5nIHRvIHRoZSBQeXRob24gMi42IGhvbWUgZGlyZWN0b3J5IGFuZCBleGVjdXRpbmcgdGhlIAotUkVHUlRFU1QuQ01EIGJhdGNoIGZpbGUuICBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBrbm93biB0byBmYWlsIGF0IHRoaXMgCi10aW1lOgotLSB0ZXN0X21obGliIChJIGRvbid0IGtub3cgb2YgYW55IHBvcnQgb2YgTUggdG8gT1MvMik7Ci0tIHRlc3Rfc3RycHRpbWUgKHNlZSAiWU9VIEhBVkUgQkVFTiBXQVJORUQiIGl0ZW0gMjIpOwotLSB0ZXN0X3RpbWUgKHNlZSAiWU9VIEhBVkUgQkVFTiBXQVJORUQiIGl0ZW0gMjIpOwotLSB0ZXN0X3Bvc2l4cGF0aCAoc2VlICJZT1UgSEFWRSBCRUVOIFdBUk5FRCIgaXRlbSAyMykuCi0KLU5vdGUgdGhhdCBzb21lIG9mIHRoZSBuZXR3b3JrIHJlbGF0ZWQgdGVzdHMgZXhwZWN0IHRoZSBsb29wYmFjayBpbnRlcmZhY2UKLShpbnRlcmZhY2UgImxvIiwgd2l0aCBJUCBhZGRyZXNzIDEyNy4wLjAuMSkgdG8gYmUgZW5hYmxlZCwgd2hpY2ggZnJvbSBteQotZXhwZXJpZW5jZSBpcyBub3QgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbi4gIEFkZGl0aW9uYWxseSwgdGVzdF9wb3BlbjIKLWV4cGVjdHMgdGhlICJjYXQiIHV0aWxpdHkgKHN1Y2ggYXMgZm91bmQgaW4gcG9ydHMgb2YgdGhlIEdOVSB0b29scykgdG8KLWJlIGluc3RhbGxlZC4KLQotCi1CdWlsZGluZyBmcm9tIHNvdXJjZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotV2l0aCB0aGUgRU1YIHBvcnQgbm93IGNoZWNrZWQgaW50byBQeXRob24ncyBDVlMgcmVwb3NpdG9yeSwgdGhlIGJ1aWxkIAotaW5mcmFzdHJ1Y3R1cmUgaXMgcGFydCBvZiB0aGUgUHl0aG9uIHJlbGVhc2Ugc291cmNlYmFsbC4KLQotUHJlcmVxdWlzaXRlcwotCi1GaXJzdCBhbmQgZm9yZW1vc3QsIHlvdSBuZWVkIGFuIG9wZXJhdGlvbmFsIEVNWCBkZXZlbG9wbWVudCBpbnN0YWxsYXRpb24gLSAKLUVNWCB2MC45ZCB3aXRoIGZpeDA0ICh0aGUgbGF0ZXN0IGF0IHRpbWUgb2Ygd3JpdGluZykgJiB0aGUgZ2NjIDIuOC4xIAotY29tcGlsZXIgcmVsZWFzZWQgYnkgRWJlcmhhcmQgTWF0dGVzIGlzIHRoZSByZWNvbW1lbmRlZCBzZXR1cC4KLQotSWYgeW91IGhhdmUgYSBkaWZmZXJlbnQgdmVyc2lvbiBvZiBnY2MgaW5zdGFsbGVkLCBzZWUgIllPVSBIQVZFIEJFRU4gCi1XQVJORUQiIGl0ZW0gMTYuCi0KLU90aGVyIGl0ZW1zIG9mIHNvZnR3YXJlIHJlcXVpcmVkOi0KLQotLSBHTlUgbWFrZSAoSSdtIHVzaW5nIHYzLjc2LjEpCi0tIHJtLCBjcCwgbWtkaXIgZnJvbSB0aGUgR05VIGZpbGUgdXRpbGl0aWVzIHBhY2thZ2UKLS0gR05VIGZpbmQKLS0gR05VIHNlZAotCi1Qcm9jZWR1cmUKLQotMC4gYWxsIGNoYW5nZXMgbWVudGlvbmVkIGFwcGx5IHRvIGZpbGVzIGluIHRoZSBQQy9vczJlbXggc3ViZGlyZWN0b3J5IAotICAgb2YgdGhlIFB5dGhvbiByZWxlYXNlIHNvdXJjZSB0cmVlLiAgbWFrZSBpcyBhbHNvIGV4ZWN1dGVkIGZyb20gdGhpcyAKLSAgIGRpcmVjdG9yeSwgc28gY2hhbmdlIGludG8gdGhpcyBkaXJlY3RvcnkgYmVmb3JlIHByb2NlZWRpbmcuCi0KLTEuIGRlY2lkZSBpZiB5b3UgbmVlZCB0byBjaGFuZ2UgdGhlIGxvY2F0aW9uIG9mIHRoZSBQeXRob24gaW5zdGFsbGF0aW9uLgotICAgSWYgeW91IHdpc2ggdG8gZG8gdGhpcywgc2V0IHRoZSB2YWx1ZSBvZiB0aGUgTWFrZWZpbGUgdmFyaWFibGUgTElCX0RJUiAKLSAgIHRvIHRoZSBkaXJlY3RvcnkgeW91IHdpc2ggdG8gdXNlIGZvciBQWVRIT05IT01FIAotICAgKGVnIC91c3IvbG9jYWwvbGliL3B5dGhvbjIuNikuCi0KLSAgIElmIHlvdSB3YW50IFB5dGhvbiB0byBmaW5kIGl0cyBsaWJyYXJ5IHdpdGhvdXQgdGhlIFBZVEhPTkhPTUUgCi0gICBlbnZpcm9ubWVudCB2YXJpYWJsZSBzZXQsIHNldCB0aGUgdmFsdWUgb2YgdGhlIE1ha2VmaWxlIHZhcmlhYmxlIAotICAgRklYRURfUFlIT01FIHRvICJ5ZXMiICh1bmNvbW1lbnQgdGhlIGFwcHJvcHJpYXRlIGxpbmUpLgotCi0yLiBJZiB5b3Ugd2lzaCB0aGUgUHl0aG9uIGV4ZWN1dGFibGVzIChweXRob24uZXhlLCBweXRob25wbS5leGUgJiBwZ2VuLmV4ZSkgCi0gICB0byBiZSBpbnN0YWxsZWQgaW4gYSBkaXJlY3Rvcnkgb3RoZXIgdGhhbiB0aGUgUFlUSE9OSE9NRSBkaXJlY3RvcnksIHNldCAKLSAgIHRoZSB2YWx1ZSBvZiB0aGUgTWFrZWZpbGUgdmFyaWFibGUgRVhFX0RJUiB0byB0aGUgYXBwcm9wcmlhdGUgZGlyZWN0b3J5LgotCi0zLiBJZiB5b3Ugd2lzaCB0aGUgUHl0aG9uIGNvcmUgRExMIChweXRob24zMy5kbGwpIHRvIGJlIGluc3RhbGxlZCBpbiBhIAotICAgZGlyZWN0b3J5IG90aGVyIHRoYW4gdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgUHl0aG9uIGV4ZWN1dGFibGVzIGFyZSAKLSAgIGluc3RhbGxlZCAoYnkgZGVmYXVsdCwgdGhlIFBZVEhPTkhPTUUgZGlyZWN0b3J5KSwgc2V0IHRoZSB2YWx1ZSBvZiB0aGUgCi0gICBNYWtlZmlsZSB2YXJpYWJsZSBETExfRElSIHRvIHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnkuICBUaGlzIERMTCBtdXN0IAotICAgYmUgcGxhY2VkIGluIGEgZGlyZWN0b3J5IG9uIHRoZSBzeXN0ZW0ncyBMSUJQQVRILCBvciB0aGF0IGdldHMgc2V0IAotICAgd2l0aCBCRUdJTkxJQlBBVEggb3IgRU5ETElCUEFUSC4KLQotNC4gSWYgeW91IGhhdmUgaW5zdGFsbGVkIGFueSBvZiB0aGUgbGlicmFyaWVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYnVpbGQgCi0gICBvcHRpb25hbCBQeXRob24gbW9kdWxlcywgc2V0IHRoZSB2YWx1ZSBvZiB0aGUgcmVsZXZhbnQgSEFWRV88cGFja2FnZT4gCi0gICBNYWtlZmlsZSB2YXJpYWJsZSB0byAieWVzIi4gIFRoZSBNYWtlZmlsZSBjdXJyZW50bHkgc3VwcG9ydHM6Ci0KLSAgIGxpYnJhcnkgICAgICAgICAgICAgICBNYWtlZmlsZSB2YXJpYWJsZQotICAgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgotICAgemxpYiAoMS4xLjQpICAgICAgICAgIEhBVkVfWkxJQgotICAgR05VIFVsdHJhRmFzdCBDcnlwdCAgIEhBVkVfVUZDCi0gICBUY2wvVGsgICAgICAgICAgICAgICAgSEFWRV9UQ0xUSyAobm90IGtub3duIHRvIHdvcmspCi0gICBHTlUgUmVhZGxpbmUgICAgICAgICAgSEFWRV9HUkVBRExJTkUKLSAgIG5jdXJzZXMgICAgICAgICAgICAgICBIQVZFX05DVVJTRVMKLSAgIEdOVSBnZGJtICAgICAgICAgICAgICBIQVZFX0dEQk0KLSAgIGxpYmJ6MiAgICAgICAgICAgICAgICBIQVZFX0JaMgotICAgT3BlblNTTCAgICAgICAgICAgICAgIEhBVkVfT1BFTlNTTAotCi0gICBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBuZWVkIHRvIGNoZWNrIHRoYXQgd2hhdCB5b3UgaGF2ZSBpbnN0YWxsZWQgCi0gICBpcyBjb21wYXRpYmxlIHdpdGggUHl0aG9uJ3MgYnVpbGQgb3B0aW9ucy4gIEluIHBhcnRpY3VsYXIsIHRoZSAKLSAgIEJTRCBEQiB2MS44NSBsaWJyYXJ5IG5lZWRzIHRvIGJlIHJlYnVpbHQgd2l0aCBhIHNvdXJjZSBwYXRjaCBmb3IgCi0gICBtdWx0aXRocmVhZCBzdXBwb3J0IChkb2Vzbid0IGNoYW5nZSB0aGUgbGlicmFyeSdzIHJlZW50cmFudCBzdGF0dXMgCi0gICBidXQgYWxsb3dzIGl0IHRvIGJlIGxpbmtlZCB0byBQeXRob24gd2hpY2ggaXMgbXVsdGl0aHJlYWRlZCkuICAKLSAgIFdpZGVseSBhdmFpbGFibGUgYmluYXJ5IHBhY2thZ2VzIG9mIG90aGVyIGxpYnJhcnlzICYgRExMcyBhcmUgCi0gICBub3QgYnVpbHQvbGlua2VkIHdpdGggbXVsdGl0aHJlYWQgc3VwcG9ydC4gIEJld2FyZSEKLQotICAgQWxzbyBub3RlIHRoYXQgdGhlIE1ha2VmaWxlIGN1cnJlbnRseSBleHBlY3RzIGFueSBsaWJyYXJpZXMgdG8gYmUgCi0gICBmb3VuZCB3aXRoIHRoZSBkZWZhdWx0IGxpYnJhcnkgc2VhcmNoIHBhdGguICBZb3UgbWF5IG5lZWQgdG8gYWRkIAotICAgLUwgc3dpdGNoZXMgdG8gdGhlIExERkxBR1MgTWFrZWZpbGUgdmFyaWFibGUgaWYgeW91IGhhdmUgaW5zdGFsbGVkIAotICAgbGlicmFyaWVzIGluIGRpcmVjdG9yaWVzIG5vdCBpbiB0aGUgZGVmYXVsdCBzZWFyY2ggcGF0aCAod2hpY2ggY2FuIAotICAgYmUgY29udHJvbGxlZCBieSB0aGUgTElCUkFSWV9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIHVzZWQgYnkgRU1YKS4KLQotNS4gbWFrZQotCi0gICBJdCBpcyB1c3VhbGx5IGEgZ29vZCBpZGVhIHRvIHJlZGlyZWN0IHRoZSBzdGRvdXQgYW5kIHN0ZGVyciBzdHJlYW1zIAotICAgb2YgdGhlIG1ha2UgcHJvY2VzcyB0byBsb2cgZmlsZXMsIHNvIHRoYXQgeW91IGNhbiByZXZpZXcgYW55IG1lc3NhZ2VzLiAKLQotNi4gbWFrZSB0ZXN0Ci0KLSAgIFRoaXMgcnVucyB0aGUgUHl0aG9uIHJlZ3Jlc3Npb24gdGVzdHMsIGFuZCBjb21wbGV0aW9uIGlzIGEgc2lnbiBvZiAKLSAgIGEgdXNhYmxlIGJ1aWxkLiAgWW91IHNob3VsZCBjaGVjayB0aGUgbGlzdCBvZiBza2lwcGVkIG1vZHVsZXMgdG8gCi0gICBlbnN1cmUgdGhhdCBhbnkgb3B0aW9uYWwgbW9kdWxlcyB5b3Ugc2VsZWN0ZWQgaGF2ZSBiZWVuIGJ1aWx0OyAKLSAgIGNoZWNraW5nIHRoZSBsaXN0IG9mIGZhaWx1cmVzIGFnYWluc3QgdGhlIGxpc3Qgb2Yga25vd24gZmFpbHVyZXMgCi0gICBlbHNld2hlcmUgaW4gdGhpcyBkb2N1bWVudCBpcyBhbHNvIHBydWRlbnQuCi0KLTcuIG1ha2UgaW5zdGFsbAotICAgPj4+Pj4+IE5PVCBZRVQgQ09NUExFVEUgPDw8PDw8IAotCi04LiBjaGFuZ2UgdG8gYSBkaXJlY3Rvcnkgb3V0c2lkZSB0aGUgUHl0aG9uIHNvdXJjZSB0cmVlIGFuZCBzdGFydCBQeXRob24uIAotICAgQ2hlY2sgdGhlIHZlcnNpb24gYW5kIGJ1aWxkIGRhdGUgdG8gY29uZmlybSBzYXRpc2ZhY3RvcnkgaW5zdGFsbGF0aW9uLgotCi0KLVlPVSBIQVZFIEJFRU4gV0FSTkVEISEKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotSSBrbm93IGFib3V0IGEgbnVtYmVyIG9mIG5hc3RpZXMgaW4gdGhpcyBwb3J0LgotCi0xLiAgRWJlcmhhcmQgTWF0dGVzLCBhdXRob3Igb2YgRU1YLCB3cml0ZXMgaW4gaGlzIGRvY3VtZW50YXRpb24gdGhhdCBmb3JrKCkgCi1pcyB2ZXJ5IGluZWZmaWNpZW50IGluIHRoZSBPUy8yIGVudmlyb25tZW50LiAgSXQgYWxzbyByZXF1aXJlcyB0aGF0IHRoZSAKLWV4ZWN1dGFibGUgYmUgbGlua2VkIGluIGEub3V0IGZvcm1hdCByYXRoZXIgdGhhbiBPTUYuICBVc2UgdGhlIG9zLmV4ZWMgCi1hbmQvb3IgdGhlIG9zLnNwYXduIGZhbWlseSBvZiBmdW5jdGlvbnMgd2hlcmUgcG9zc2libGUuCi0KLTIuICBJbiB0aGUgYWJzZW5jZSBvZiBHTlUgUmVhZGxpbmUsIHRlcm1pbmF0aW5nIHRoZSBpbnRlcnByZXRlciByZXF1aXJlcyBhIAotY29udHJvbC1aICheWikgZm9sbG93ZWQgYnkgYSBjYXJyaWFnZSByZXR1cm4uICBKZWZmIFJ1c2ggZG9jdW1lbnRlZCB0aGlzIAotcHJvYmxlbSBpbiBoaXMgUHl0aG9uIDEuNS4yIHBvcnQuICBXaXRoIFJlYWRsaW5lLCBhIGNvbnRyb2wtRCAoXkQpIHdvcmtzIAotYXMgcGVyIHRoZSBzdGFuZGFyZCBVbml4IGVudmlyb25tZW50LgotCi0zLiAgRU1YIG9ubHkgaGFzIGEgcGFydGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBmY250bCgpLiAgVGhlIGZjbnRsIG1vZHVsZSAKLWluIHRoaXMgcG9ydCBzdXBwb3J0cyB3aGF0IEVNWCBzdXBwb3J0cy4gIElmIGZjbnRsIGlzIGltcG9ydGFudCB0byB5b3UsIAotcGxlYXNlIHJldmlldyB0aGUgRU1YIEMgTGlicmFyeSBSZWZlcmVuY2UgKGluY2x1ZGVkIGluIC5JTkYgZm9ybWF0IGluIHRoZSAKLUVNWFZJRVcuWklQIGFyY2hpdmUgYXMgcGFydCBvZiB0aGUgY29tcGxldGUgRU1YIGRldmVsb3BtZW50IHRvb2xzIHN1aXRlKS4KLUJlY2F1c2Ugb2Ygb3RoZXIgc2lkZS1lZmZlY3RzIEkgaGF2ZSBtb2RpZmllZCB0aGUgdGVzdF9mY250bC5weSB0ZXN0IAotc2NyaXB0IHRvIGRlYWN0aXZhdGUgdGhlIGV4ZXJjaXNpbmcgb2YgdGhlIG1pc3NpbmcgZnVuY3Rpb25hbGl0eS4KLQotNC4gIFRoZSByZWFkbGluZSBtb2R1bGUgaGFzIGJlZW4gbGlua2VkIGFnYWluc3QgbmN1cnNlcyByYXRoZXIgdGhhbiB0aGUgCi10ZXJtY2FwIGxpYnJhcnkgc3VwcGxpZWQgd2l0aCBFTVguCi0KLTUuICBJIGhhdmUgY29uZmlndXJlZCB0aGlzIHBvcnQgdG8gdXNlICIvIiBhcyB0aGUgcHJlZmVycmVkIHBhdGggc2VwYXJhdG9yIAotY2hhcmFjdGVyLCByYXRoZXIgdGhhbiAiXCIgKCdcXCcpLCBpbiBsaW5lIHdpdGggdGhlIGNvbnZlbnRpb24gc3VwcG9ydGVkIAotYnkgRU1YLiAgQmFja3NsYXNoZXMgYXJlIHN0aWxsIHN1cHBvcnRlZCBvZiBjb3Vyc2UsIGFuZCBzdGlsbCBhcHBlYXIgaW4gCi11bmV4cGVjdGVkIHBsYWNlcyBkdWUgdG8gb3V0c2lkZSBzb3VyY2VzIHRoYXQgZG9uJ3QgZ2V0IG5vcm1hbGlzZWQuCi0KLTYuICBXaGlsZSB0aGUgRGlzdFV0aWxzIGNvbXBvbmVudHMgYXJlIG5vdyBmdW5jdGlvbmFsLCBvdGhlciAKLXBhY2thZ2luZy9iaW5hcnkgaGFuZGxpbmcgdG9vbHMgYW5kIHV0aWxpdGllcyBzdWNoIGFzIHRob3NlIGluY2x1ZGVkIGluCi10aGUgRGVtbyBhbmQgVG9vbHMgZGlyZWN0b3JpZXMgLSBmcmVlemUgaW4gcGFydGljdWxhciAtIGFyZSB1bmxpa2VseSB0byAKLXdvcmsuICBJZiB5b3UgZG8gZ2V0IHRoZW0gZ29pbmcsIEknZCBsaWtlIHRvIGtub3cgYWJvdXQgeW91ciBzdWNjZXNzLgotCi03LiAgSSBoYXZlbid0IHNldCBvdXQgdG8gc3VwcG9ydCB0aGUgW0JFR0lOfEVORF1MSUJQQVRIIGZ1bmN0aW9uYWxpdHkgCi1zdXBwb3J0ZWQgYnkgb25lIG9mIHRoZSBlYXJsaWVyIHBvcnRzIChSdXNoJ3M/PykuICBJZiBpdCB3b3JrcyBsZXQgbWUga25vdy4KLQotOC4gQXMgYSByZXN1bHQgb2YgdGhlIGxpbWl0YXRpb25zIGltcG9zZWQgYnkgRU1YJ3MgbGlicmFyeSByb3V0aW5lcywgdGhlIAotc3RhbmRhcmQgZXh0ZW5zaW9uIG1vZHVsZSBwd2Qgb25seSBzeW50aGVzaXNlcyBhIHNpbXBsZSBwYXNzd2QgZGF0YWJhc2UsIAotYW5kIHRoZSBncnAgbW9kdWxlIGNhbm5vdCBiZSBzdXBwb3J0ZWQgYXQgYWxsLgotCi1JIGhhdmUgd3JpdHRlbiBwdXJlIFB5dGhvbiBzdWJzdGl0dXRlcyBmb3IgcHdkIGFuZCBncnAsIHdoaWNoIGNhbiBwcm9jZXNzIAotcmVhbCBwYXNzd2QgYW5kIGdyb3VwIGZpbGVzIGZvciB0aG9zZSBhcHBsaWNhdGlvbnMgKHN1Y2ggYXMgTWFpbE1hbikgdGhhdCAKLXJlcXVpcmUgbW9yZSB0aGFuIEVNWCBlbXVsYXRlcy4gIEkgaGF2ZSBwbGFjZWQgcHdkLnB5IGFuZCBncnAucHkgaW4gCi1MaWIvcGxhdC1vczJlbXgsIHdoaWNoIGlzIHVzdWFsbHkgYmVmb3JlIExpYi9saWItZHlubG9hZCAod2hpY2ggY29udGFpbnMgCi1wd2QucHlkKSBpbiB0aGUgUFlUSE9OUEFUSC4gIElmIHlvdSBoYXZlIGJlY29tZSBhdHRhY2hlZCB0byB3aGF0IHB3ZC5weWQgCi1zdXBwb3J0cywgeW91IGNhbiBwdXQgTGliL2xpYi1keW5sb2FkIGJlZm9yZSBMaWIvcGxhdC1vczJlbXggaW4gUFlUSE9OUEFUSCAKLW9yIGRlbGV0ZS9yZW5hbWUgcHdkLnB5ICYgZ3JwLnB5LgotCi1wd2QucHkgJiBncnAucHkgc3VwcG9ydCBsb2NhdGluZyB0aGVpciBkYXRhIGZpbGVzIGJ5IGxvb2tpbmcgaW4gdGhlIAotZW52aXJvbm1lbnQgZm9yIHRoZW0gaW4gdGhlIGZvbGxvd2luZyBzZXF1ZW5jZToKLXB3ZC5weTogICRFVENfUEFTU1dEICAgICAgICAgICAgICglRVRDX1BBU1NXRCUpCi0gICAgICAgICAkRVRDL3Bhc3N3ZCAgICAgICAgICAgICAoJUVUQyUvcGFzc3dkKQotICAgICAgICAgJFBZVEhPTkhPTUUvRXRjL3Bhc3N3ZCAgKCVQWVRIT05IT01FJS9FdGMvcGFzc3dkKQotZ3JwLnB5OiAgJEVUQ19HUk9VUCAgICAgICAgICAgICAgKCVFVENfR1JPVVAlKQotICAgICAgICAgJEVUQy9ncm91cCAgICAgICAgICAgICAgKCVFVEMlL2dyb3VwKQotICAgICAgICAgJFBZVEhPTkhPTUUvRXRjL2dyb3VwICAgKCVQWVRIT05IT01FJS9FdGMvZ3JvdXApCi0KLVRoZSBFVENfUEFTU1dEIGFuZCBFVENfR1JPVVAgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBpbnRlbmRlZCB0byBhbGxvdyAKLXN1cHBvcnQgZm9yIG11bHRpcGxlIHBhc3N3ZC9ncnAgZmlsZXMsIHdoZXJlIG90aGVyIGFwcGxpY2F0aW9ucyBtYXkgbm90IAotc3VwcG9ydCBhcyB3aWRlIGEgdmFyaWV0eSBvZiBpbnB1dCB2YXJpYXRpb25zIChkcml2ZSByZW1hcHBpbmdzLCAKLXNlcGFyYXRvcnMgZXRjKS4KLQotQm90aCBtb2R1bGVzIHN1cHBvcnQgdXNpbmcgZWl0aGVyIHRoZSAiOiIgY2hhcmFjdGVyIChVbml4IHN0YW5kYXJkKSBvciAKLSI7IiAoT1MvMiwgRE9TLCBXaW5kb3dzIHN0YW5kYXJkKSBmaWVsZCBzZXBhcmF0b3IgY2hhcmFjdGVyLCBhbmQgcHdkLnB5IAotaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGRyaXZlIGxldHRlciBjb252ZXJzaW9ucyBmb3IgdGhlIGhvbWVfZGlyZWN0b3J5IGFuZCAKLXNoZWxsIGZpZWxkcyAoZm9yIHRoZSAiOiIgc2VwYXJhdG9yIG9ubHkpOgotICAgICAgICAgJHggIC0+ICB4OgotICAgICAgICAgeDsgIC0+ICB4OgotCi1FeGFtcGxlIHZlcnNpb25zIG9mIHBhc3N3ZCBhbmQgZ3JvdXAgYXJlIGluIHRoZSBFdGMgc3ViZGlyZWN0b3J5LiAgVGhlIAotcmVncmVzc2lvbiB0ZXN0cyAodGVzdF9wd2QgYW5kIHRlc3RfZ3JwKSB3aWxsIGZhaWwgaWYgdmFsaWQgcGFzc3dvcmQgYW5kIAotZ3JvdXAgZmlsZXMgY2Fubm90IGJlIGZvdW5kLCBidXQgc2hvdWxkIHBhc3Mgb3RoZXJ3aXNlLgotCi1CZSBhd2FyZSB0aGF0IFB5dGhvbidzIHB3ZCAmIGdyb3VwIG1vZHVsZXMgYXJlIGZvciByZWFkaW5nIHBhc3N3b3JkIGFuZCAKLWdyb3VwIGluZm9ybWF0aW9uIG9ubHkuCi0KLTExLiBFTVgncyB0ZXJtaW9zIHJvdXRpbmVzIGRvbid0IHN1cHBvcnQgYWxsIG9mIHRoZSBmdW5jdGlvbmFsaXR5IG5vdyAKLWV4cG9zZWQgYnkgdGhlIHRlcm1pb3MgbW9kdWxlIC0gcmVmZXIgdG8gdGhlIEVNWCBkb2N1bWVudGF0aW9uIHRvIGZpbmQgCi1vdXQgd2hhdCBpcyBzdXBwb3J0ZWQuCi0KLTEyLiBUaGUgY2FzZSBzZW5zaXRpdmUgaW1wb3J0IHNlbWFudGljcyBpbnRyb2R1Y2VkIGluIFB5dGhvbiAyLjEgZm9yIG90aGVyIAotY2FzZSBpbnNlbnNpdGl2ZSBidXQgY2FzZSBwcmVzZXJ2aW5nIGZpbGUvb3BlcmF0aW5nIHN5c3RlbXMgKFdpbmRvd3MgZXRjKSwgCi1oYXZlIGJlZW4gaW5jb3Jwb3JhdGVkIGludG8gdGhpcyBwb3J0LCBhbmQgYXJlIGFjdGl2ZSBieSBkZWZhdWx0LiAgU2V0dGluZyAKLXRoZSBQWVRIT05DQVNFT0sgZW52aXJvbm1lbnQgdmFyaWFibGUgKHRvIGFueSB2YWx1ZSkgcmV2ZXJ0cyB0byB0aGUgCi1wcmV2aW91cyAoY2FzZSBpbnNlbnNpdGl2ZSkgc2VtYW50aWNzLiAgVGhpcyBjYW4gYmUgYW4gaXNzdWUgd2l0aCBzb21lIAotZmlsZSBtYW5hZ2VtZW50IHV0aWxpdGllcyB0aGF0IGRvIG5vdCBwcmVzZXJ2ZSB0aGUgY2FzZSBvZiBmaWxlIGFuZAotZGlyZWN0b3J5IG5hbWVzLgotCi0xMy4gQmVjYXVzZSBJIGFtIHN0YXRpY2FsbHkgbGlua2luZyBuY3Vyc2VzLCB0aGUgX2N1cnNlc19wYW5lbCAKLW1vZHVsZSBoYXMgcG90ZW50aWFsIHByb2JsZW1zIGFyaXNpbmcgZnJvbSBzZXBhcmF0ZSBsaWJyYXJ5IGRhdGEgYXJlYXMuCi1UbyBhdm9pZCB0aGlzLCBJIGhhdmUgY29uZmlndXJlZCB0aGUgX2N1cnNlc18ucHlkIChpbXBvcnRlZCBhcyAKLSJfY3Vyc2VzX3BhbmVsIikgdG8gaW1wb3J0IHRoZSBuY3Vyc2VzIHN5bWJvbHMgaXQgbmVlZHMgZnJvbSBfY3Vyc2VzLmRsbCAKLSh3aGljaCBpcyB0aGUgY3Vyc2VzIG1vZHVsZSwgYnV0IHdpdGggYSAuZGxsIGV4dGVuc2lvbiByYXRoZXIgdGhhbiAucHlkIAotc28gdGhhdCB0aGUgZHluYW1pYyBsb2FkZXIgY2FuIGFjdHVhbGx5IGltcG9ydCB0aGUgc3ltYm9scyBmcm9tIGl0IGFzIGEgCi1ETEwpLgotCi1UaGUgc2l0ZSBtb2R1bGUgKExpYi9zaXRlLnB5KSBoYXMgY29kZSBhZGRlZCB0byB0d2VhayBCRUdJTkxJQlBBVEggc28KLXRoYXQgX2N1cnNlcy5kbGwgaXMgZm91bmQgd2hlbiBfY3Vyc2VzX3BhbmVsIGlzIGltcG9ydGVkLiAgSWYgeW91IGhhdmUKLXByb2JsZW1zIGF0dGVtcHRpbmcgdG8gdXNlIHRoZSBfY3Vyc2VzX3BhbmVsIHN1cHBvcnQgcGxlYXNlIGxldCBtZSBrbm93LAotYW5kIEknbGwgaGF2ZSBhbm90aGVyIGxvb2sgYXQgdGhpcy4KLQotMTQuIHN5cy5wbGF0Zm9ybSByZXBvcnRzICJvczJlbXgiIGluc3RlYWQgb2YgIm9zMiIuICBvcy5uYW1lIHN0aWxsIAotcmVwb3J0cyAib3MyIi4gIFRoaXMgY2hhbmdlIHdhcyB0byBtYWtlIGl0IGVhc2llciB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIAotdGhlIFZBQysrIGJ1aWxkIChmb3JtZXJseSBtYWludGFpbmVkIGJ5IE1pY2hhZWwgTXVsbGVyKSBhbmQgdGhlIEVNWCBidWlsZCAKLSh0aGlzIHBvcnQpLCBwcmluY2lwYWxseSBmb3IgRGlzdFV0aWxzLgotCi0xNS4gaXQgYXBwZWFycyB0aGF0IHRoZSAlVyBzdWJzdGl0dXRpb24gaW4gdGhlIEVNWCBzdHJmdGltZSgpIHJvdXRpbmUgaGFzIAotYW4gb2ZmLWJ5LW9uZSBidWcuICBzdHJmdGltZSB3YXMgbGlzdGVkIGFzIHBhc3NpbmcgdGhlIHJlZ3Jlc3Npb24gdGVzdHMgCi1pbiBwcmV2aW91cyByZWxlYXNlcywgYnV0IHRoaXMgZmFjdCBhcHBlYXJzIHRvIGhhdmUgYmVlbiBhbiBvdmVyc2lnaHQgaW4gCi10aGUgcmVncmVzc2lvbiB0ZXN0IHN1aXRlLiAgVG8gZml4IHRoaXMgcmVhbGx5IHJlcXVpcmVzIGEgcG9ydGFibGUgCi1zdHJmdGltZSByb3V0aW5lIC0gSSdtIGxvb2tpbmcgaW50byB1c2luZyBvbmUgZnJvbSBGcmVlQlNELCBidXQgaXRzIG5vdCAKLXJlYWR5IHlldC4KLQotMTYuIEkgaGF2ZSBzdWNjZXNzZnVsbHkgYnVpbHQgdGhpcyBwb3J0IHdpdGggQW5keSBaYWJvbG90bnkncyBwb3J0cyBvZiAKLXBnY2MgMi45NSBhbmQgZ2NjIDMuMi4xLCBpbiBhZGRpdGlvbiB0byBFTSdzIGdjYyAyLjguMS4KLQotSSBoYXZlIG5vdCBhdHRlbXB0ZWQgdG8gY29tcGlsZSBQeXRob24gd2l0aCBhbnkgdmVyc2lvbiBvZiBnY2MgcHJpb3IgdG8gCi12Mi44LjEuCi0KLVRoaXMgcmVsZWFzZSBzZWVzIHRoZSBkZWZhdWx0IG9wdGltaXNhdGlvbiBjaGFuZ2UgdG8gCi0iLU8zIC1mb21pdC1mcmFtZS1wb2ludGVyIC1tcHJvYmUiLiAgVGhpcyB3b3JrcyBmaW5lIHRvbyBmb3IgcGdjYyAyLjk1IAotYnV0IG5vdCBmb3IgZ2NjIDMuMi4xLgotCi1XaXRoIGdjYyAzLjIuMSwgLU8zIGNhdXNlcyAyIHVuZXhwZWN0ZWQgdGVzdCBmYWlsdXJlczogdGVzdF9mb3JtYXQgYW5kIAotdGVzdF91bmljb2RlLiAgQm90aCB0aGVzZSB0ZXN0cyBwYXNzIGlmIC1PMiBpcyBpbnN0ZWFkIG9mIC1PMyB3aXRoIHRoaXMgCi1jb21waWxlciwgYW5kIHRoZSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIGlzIG5lZ2xpZ2libGUgKGluIGNvbnRyYXN0IHRvIAotZ2NjIDIuOC4xIGFuZCBwZ2NjIDIuOTUsIHdoZXJlIHRoZSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIAotMiBvcHRpbWlzYXRpb24gc2V0dGluZ3MgYXBwcm9hY2hlcyAxMCUpLgotCi0xNy4gIG9zLnNwYXdudigpIGFuZCBvcy5zcGF3bnZlKCkgZXhwb3NlIEVNWCdzIGxpYnJhcnkgcm91dGluZXMgcmF0aGVyIAotdGhhbiB1c2UgdGhlIGVtdWxhdGlvbiBpbiBvcy5weS4KLQotSW4gb3JkZXIgdG8gbWFrZSB1c2Ugb2Ygc29tZSBvZiB0aGUgZmVhdHVyZXMgdGhpcyBtYWtlcyBhdmFpbGFibGUgaW4gCi10aGUgT1MvMiBlbnZpcm9ubWVudCwgeW91IHNob3VsZCBwZXJ1c2UgdGhlIHJlbGV2YW50IEVNWCBkb2N1bWVudGF0aW9uIAotKEVNWExJQi5JTkYgaW4gdGhlIEVNWFZJRVcuWklQIGFyY2hpdmUgYWNjb21wYW55aW5nIHRoZSBFTVggYXJjaGl2ZXMgCi1vbiBIb2JiZXMgb3IgTEVPKS4gIEJlIGF3YXJlIHRoYXQgSSBoYXZlIGV4cG9zZWQgYWxsIHRoZSAibW9kZSIgb3B0aW9ucyAKLXN1cHBvcnRlZCBieSBFTVgsIGJ1dCB0aGVyZSBhcmUgY29tYmluYXRpb25zIHRoYXQgZWl0aGVyIGNhbm5vdCBiZSAKLXByYWN0aWNhbGx5IHVzZWQgYnkvaW4gUHl0aG9uIG9yIGhhdmUgdGhlIHBvdGVudGlhbCB0byBjb21wcm9taXNlIHlvdXIgCi1zeXN0ZW0ncyBzdGFiaWxpdHkuCi0KLTE4LiAgcHl0aG9ucG0uZXhlIHVzZWQgdG8gYmUganVzdCBweXRob24uZXhlIHdpdGggdGhlIFdJTkRPV0FQSSBsaW5rZXIgCi1vcHRpb24gc2V0IGluIHRoZSBweXRob25wbS5kZWYgZmlsZS4gIEluIHByYWN0aWNlLCB0aGlzIHR1cm5zIG91dCB0byBkbyAKLW5vdGhpbmcgdXNlZnVsLgotCi1JIGhhdmUgd3JpdHRlbiBhIHJlcGxhY2VtZW50IHdoaWNoIHdyYXBzIHRoZSBQeXRob24gRExMIGluIGEgZ2VudWluZSAKLVByZXNlbnRhdGlvbiBNYW5hZ2VyIGFwcGxpY2F0aW9uLiAgVGhpcyB2ZXJzaW9uIGFjdHVhbGx5IHJ1bnMgdGhlIAotUHl0aG9uIGludGVycHJldGVyIGluIGEgc2VwYXJhdGUgdGhyZWFkIGZyb20gdGhlIFBNIHNoZWxsLCBpbiBvcmRlciAKLXRoYXQgUHl0aG9uUE0gaGFzIGEgZnVuY3Rpb25pbmcgbWVzc2FnZSBxdWV1ZSBhcyBnb29kIFBNIGFwcHMgc2hvdWxkLgotSW4gaXRzIGN1cnJlbnQgc3RhdGUsIFB5dGhvblBNJ3Mgd2luZG93IGlzIGhpZGRlbi4gIEl0IGNhbiBiZSBkaXNwbGF5ZWQsIAotYWx0aG91Z2ggaXQgd2lsbCBoYXZlIG5vIGNvbnRlbnQgYXMgbm90aGluZyBpcyBldmVyIHdyaXR0ZW4gdG8gdGhlIAotd2luZG93LiAgT25seSB0aGUgImhpZGUiIGJ1dHRvbiBpcyBhdmFpbGFibGUuICBBbHRob3VnaCB0aGUgY29kZSAKLWhhcyBzdXBwb3J0IGZvciBzaHV0dGluZyBQeXRob25QTSBkb3duIHdoZW4gdGhlIFB5dGhvbiBpbnRlcnByZXRlciBpcyAKLXN0aWxsIGJ1c3kgKHZpYSB0aGUgImNvbnRyb2wiIG1lbnUpLCB0aGlzIGlzIG5vdCB3ZWxsIHRlc3RlZCBhbmQgZ2l2ZW4gCi1jb21tZW50cyBJJ3ZlIGNvbWUgYWNyb3NzIGluIEVNWCBkb2N1bWVudGF0aW9uIHN1Z2dlc3RpbmcgdGhhdCB0aGUgCi10aHJlYWQga2lsbGluZyBvcGVyYXRpb24gaGFzIHByb2JsZW1zIEkgd291bGQgc3VnZ2VzdCBjYXV0aW9uIGluIAotcmVseWluZyBvbiB0aGlzIGNhcGFiaWxpdHkuCi0KLVB5dGhvblBNIHByb2Nlc3NlcyBjb21tYW5kbGluZSBwYXJhbWV0ZXJzIG5vcm1hbGx5LiAgVGhlIHN0YW5kYXJkIGlucHV0LCAKLW91dHB1dCBhbmQgZXJyb3Igc3RyZWFtcyBhcmUgb25seSB1c2VmdWwgaWYgcmVkaXJlY3RlZCwgYXMgUHl0aG9uUE0ncyAKLXdpbmRvdyBpcyBub3QgYSBjb25zb2xlIGluIGFueSBmb3JtIGFuZCBzbyBjYW5ub3QgYWNjZXB0IG9yIGRpc3BsYXkgCi1hbnl0aGluZy4gIFRoaXMgbWVhbnMgdGhhdCB0aGUgLWkgb3B0aW9uIGlzIGluZWZmZWN0aXZlLgotCi1CZWNhdXNlIHRoZSBQeXRob24gdGhyZWFkIGRvZXNuJ3QgY3JlYXRlIGl0cyBvd24gbWVzc2FnZSBxdWV1ZSwgY3JlYXRpbmcgCi1QTSBXaW5kb3dzIGFuZCBwZXJmb3JtaW5nIG1vc3QgUE0gb3BlcmF0aW9ucyBpcyBub3QgcG9zc2libGUgZnJvbSB3aXRoaW4gCi10aGlzIHRocmVhZC4gIEhvdyB0aGlzIHdpbGwgYWZmZWN0IHN1cHBvcnRpbmcgUE0gZXh0ZW5zaW9ucyAoc3VjaCBhcyAKLVRraW50ZXIgdXNpbmcgYSBQTSBwb3J0IG9mIFRjbC9Uaywgb3Igd3hQeXRob24gdXNpbmcgdGhlIFBNIHBvcnQgb2YgCi1XeFdpbmRvd3MpIGlzIHN0aWxsIGJlaW5nIHJlc2VhcmNoZWQuCi0KLU5vdGUgdGhhdCBvcy5mb3JrKCkgX0RPRVNfTk9UX1dPUktfIGluIFB5dGhvblBNIC0gU1lTMzE3NXMgYXJlIHRoZSByZXN1bHQgCi1vZiB0cnlpbmcuICBvcy5zcGF3bnYoKSBfZG9lc18gd29yay4gIFB5dGhvblBNIHBhc3NlcyBhbGwgcmVncmVzc2lvbiB0ZXN0cyAKLXRoYXQgdGhlIHN0YW5kYXJkIFB5dGhvbiBpbnRlcnByZXRlciAocHl0aG9uLmV4ZSkgcGFzc2VzLCB3aXRoIHRoZSBleGNlcHRpb24gCi1vZiB0ZXN0X2ZvcmsxIGFuZCB0ZXN0X3NvY2tldCB3aGljaCBib3RoIGF0dGVtcHQgdG8gdXNlIG9zLmZvcmsoKS4KLQotSSB2ZXJ5IG11Y2ggd2FudCBmZWVkYmFjayBvbiB0aGUgcGVyZm9ybWFuY2UsIGJlaGF2aW91ciBhbmQgdXRpbGl0eSBvZiAKLVB5dGhvblBNLiAgSSB3b3VsZCBsaWtlIHRvIGFkZCBhIFBNIGNvbnNvbGUgY2FwYWJpbGl0eSB0byBpdCwgYnV0IHRoYXQgCi13aWxsIGJlIGEgbm9uLXRyaXZpYWwgZWZmb3J0LiAgSSBtYXkgYmUgYWJsZSB0byBsZXZlcmFnZSB0aGUgY29kZSBpbiAKLUlsbHlhIFZhZXMnIFRjbC9UayBwb3J0LCB3aGljaCB3b3VsZCBtYWtlIGl0IGVhc2llci4KLQotMTkuICBvcy5jaGRpcigpIHVzZXMgRU1YJ3MgX2NoZGlyMigpLCB3aGljaCBzdXBwb3J0cyBjaGFuZ2luZyBib3RoIGRyaXZlIAotYW5kIGRpcmVjdG9yeSBhdCBvbmNlLiAgU2ltaWxhcmx5LCBvcy5nZXRjd2QoKSB1c2VzIEVNWCdzIF9nZXRjd2QoKSAKLXdoaWNoIHJldHVybnMgZHJpdmUgYXMgd2VsbCBhcyBwYXRoLgotCi0yMC4gIHB5Y29uZmlnLmggaXMgaW5zdGFsbGVkIGluIHRoZSBJbmNsdWRlIHN1YmRpcmVjdG9yeSB3aXRoIGFsbCAKLW90aGVyIGluY2x1ZGUgZmlsZXMuCi0KLTIxLiAgdGhlIGRlZmF1bHQgYnVpbGQgZXhwbGljaXRseSBzZXRzIHRoZSBudW1iZXIgb2YgZmlsZSBoYW5kbGVzIAotYXZhaWxhYmxlIHRvIGEgUHl0aG9uIHByb2Nlc3MgdG8gMjUwLiAgRU1YIGRlZmF1bHQgaXMgNDAsIHdoaWNoIGlzIAotaW5zdWZmaWNpZW50IGZvciB0aGUgdGVtcGZpbGUgcmVncmVzc2lvbiB0ZXN0ICh0ZXN0X3RlbXBmaWxlKSB3aGljaCAKLXRyaWVzIHRvIGNyZWF0ZSAxMDAgdGVtcG9yYXJ5IGZpbGVzLgotCi1UaGlzIHNldHRpbmcgY2FuIGJlIG92ZXJyaWRkZW4gdmlhIHRoZSBFTVhPUFQgZW52aXJvbm1lbnQgdmFyaWFibGU6Ci0gIHNldCBFTVhPUFQ9LWgyNTAKLWlzIGVxdWl2YWxlbnQgdG8gdGhlIHNldHRpbmcgY3VycmVudGx5IHVzZWQuICBUaGUgZW14YmluZCB1dGlsaXR5IChpZiB5b3UgCi1oYXZlIGl0IGluc3RhbGxlZCkgY2FuIGFsc28gYmUgdXNlZCB0byBwZXJtYW5lbnRseSBjaGFuZ2UgdGhlIHNldHRpbmcgaW4gCi1weXRob24uZXhlIC0gcGxlYXNlIHJlZmVyIHRvIHRoZSBFTVggZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLQotMjIuICBhIHB1cmUgcHl0aG9uIHN0cnB0aW1lIG1vZHVsZSBpcyBub3cgcGFydCBvZiB0aGUgUHl0aG9uIHN0YW5kYXJkCi1saWJyYXJ5LCBzdXBlcmNlZGluZyBhIHBsYXRmb3JtIHNwZWNpZmljIGV4dGVuc2lvbiBtb2R1bGUuIFRoaXMgbW9kdWxlCi1sZXZlcmFnZXMgdGhlIHN0cmZ0aW1lIG1vZHVsZSwgYW5kIGFzIGEgcmVzdWx0IHRlc3Rfc3RycHRpbWUgZmFpbHMKLWR1ZSB0byB0aGUgRU1YIHN0cmZ0aW1lIGJ1ZyBpbiBpdGVtIDIwIGFib3ZlLgotCi0yMy4gIHRlc3RfcG9zaXhwYXRoIGF0dGVtcHRzIHRvIGV4ZXJjaXNlIHZhcmlvdXMgUG9zaXggcGF0aCByZWxhdGVkCi1mdW5jdGlvbmFsaXR5LiAgTW9zdCBvZiB0aGUgc3ViLXRlc3RzIHBhc3MsIGJ1dCB0aGUgImlzbW91bnQiIGFuZAotInNhbWVzdGF0IiBzdWJ0ZXN0cyBmYWlsOgotLSBFTVggcHJvdmlkZXMgbm90IHNhdGlzZmFjdG9yeSBtb3VudCBwb2ludCBlbXVsYXRpb24sIHNvICJpc21vdW50IgotICBjYW5ub3Qgc3VjY2VlZDsKLS0gRU1YIGRvY3VtZW50cyB0aGF0IHN1Y2Nlc3NpdmUgc3RhdCgpIGNhbGxzIHdpbGwgcHJvZHVjZSBkaWZmZXJlbnQKLSAgcmVzdWx0cywgc28gInNhbWVzdGF0IiBjYW5ub3Qgc3VjY2VlZC4KLQotdGVzdF9wb3NpeHBhdGggc2hvdWxkIHNraXAgdGhlc2UgdGVzdHMgb24gRU1YLgotCi0yNC4gIEkgaGF2ZSByZXBvcnRzIG9mIEJpdFRvcnJlbnQgbm90IHdvcmtpbmcuICBJdCBhcHBlYXJzIHRoYXQgdGhlCi1FTVggc2VsZWN0KCkgZW11bGF0aW9uLCBwb3NzaWJseSBpbiBjb25jZXJ0IHdpdGggYnVncyBpbiB0aGUgVENQL0lQCi1zdGFjaywgcnVucyBpbnRvIHByb2JsZW1zIHVuZGVyIHRoZSBzdHJlc3MgaW1wb3NlZCBieSB0aGlzIGFwcGxpY2F0aW9uLgotSSB0aGluayBpdCBzdWZmaWNlcyB0byBzYXkgdGhhdCBCaXRUb3JyZW50IGlzIGEgZmFpciBzdHJlc3MgdGVzdCBvZiBhCi1zeXN0ZW0ncyBuZXR3b3JraW5nIGNhcGFiaWxpdHkuCi0KLTI1LiAgSW4gdGhlIGFic2VuY2Ugb2YgYW4gRU1YIGltcGxlbWVudGF0aW9uIG9mIHRoZSBsaW5rKCkgZnVuY3Rpb24sIEkndmUgCi1pbXBsZW1lbnRlZCBhIGNydWRlIFB5dGhvbiBlbXVsYXRpb24sIGluIHRoZSBmaWxlIAotTGliL3BsYXQtb3MyZW14L19lbXhfbGluay5weS4gIFRoaXMgaXMgaW1wb3J0ZWQgaW50byB0aGUgb3MgbW9kdWxlLCBhbmQgCi1iZWNvbWVzIGF2YWlsYWJsZSBhcyBvcy5saW5rKCkgaW4gdGhlIG5vcm1hbCB3YXkuCi0KLVRoZSBlbXVsYXRpb24gY29waWVzIHRoZSBzb3VyY2UgZmlsZSBpbiBiaW5hcnkgbW9kZSwgYW5kIHdpbGwgZmFpbCBpZiAKLWRpc2sgc3BhY2UgaXMgZXhoYXVzdGVkLiBUaGUgY2FsbCBmYWlscyBpZiB0aGUgdGFyZ2V0IGFscmVhZHkgZXhpc3RzLiAKLVRoZXJlIGFyZSBubyBndWFyYW50ZWVzIHRvIHRocmVhZCBzYWZldHkgd2l0aCB0aGlzIGVtdWxhdGlvbiAtIGJld2FyZSEKLQotVGhlIGVtdWxhdGlvbiB3YXMgd3JpdHRlbiB0byBzdXBwb3J0IGEgbGluaygpIGJhc2VkIGZpbGUgbG9ja2luZyBzeXN0ZW0gCi11c2VkIGluIEdOVSBNYWlsbWFuLgotCi0yNi4gIEFGX1VOSVggc29ja2V0cywgb3RoZXJ3aXNlIGtub3duIGFzIFVuaXggZG9tYWluIHNvY2tldHMsIGFyZSBub3cKLXN1cHBvcnRlZC4gIFVuZm9ydHVuYXRlbHksIHRoZXJlIGFyZSBzb21lIHRyYXBzIGFyaXNpbmcgZnJvbSB0aGUKLWltcGxlbWVudGF0aW9uIGluIElCTSdzIFRDUC9JUCBzdGFjazotCi0tIHRoZSBwYXRoIG5hbWUgbXVzdCBzdGFydCB3aXRoICdcXHNvY2tldFxcJyAoJy9zb2NrZXQvJyB3b24ndCB3b3JrISksCi0gIHdpdGggdGhlIGxlbmd0aCBvZiB0aGUgZnVsbCBwYXRoIG5hbWUgbGVzcyB0aGFuIDEwOCBjaGFyYWN0ZXJzOwotLSB1bmxpa2UgVW5peCwgdGhlIHNvY2tldCBlbmRwb2ludHMgZG9uJ3QgZXhpc3QgaW4gdGhlIGZpbGVzeXN0ZW07Ci0tIGJ5IGRlZmF1bHQsIHNvY2tldHMgYXJlIGluIGJpbmFyeSBtb2RlLgotCi0yNy4gIEFzIG9mIFB5dGhvbiAyLjQsIHRoZSBtcHosIHJvdG9yIGFuZCB4cmVhZGxpbmVzIG1vZHVsZXMgaGF2ZSBiZWVuIAotZHJvcHBlZCBmcm9tIHRoZSBQeXRob24gc291cmNlIHRyZWUuCi0KLTI4LiAgVGhlIHN1YnByb2Nlc3MgbW9kdWxlIHdhcyBhZGRlZCB0byB0aGUgc3RhbmRhcmQgbGlicmFyeSByZWxhdGl2ZWx5Ci1sYXRlIGluIHRoZSAyLjQgZGV2ZWxvcG1lbnQgY3ljbGUuICBVbmZvcnR1bmF0ZWx5IEkgaGF2ZW4ndCBoYWQgdGhlCi1yb3VuZCB0dWl0cyB0byBhZGFwdCB0aGUgbW9kdWxlIHRvIHRoZSBFTVggZW52aXJvbm1lbnQgeWV0LCBhbmQKLXRlc3Rfc3VicHJvY2VzcyBoYXMgYSBudW1iZXIgb2YgZmFpbHVyZXMgYXMgYSByZXN1bHQuCi0KLTI5LiAgVGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3IgdGhyZWFkcyBoYXMgYmVlbiA2NGsuICBUaGlzIGlzIHByb3ZpbmcKLWluc3VmZmljaWVudCBmb3Igc29tZSBjb2RlYmFzZXMsIHN1Y2ggYXMgWm9wZS4gIFRoZSB0aHJlYWQgc3RhY2sgc2l6ZQotc3RpbGwgZGVmYXVsdHMgdG8gNjRrLCBidXQgdGhpcyBjYW4gbm93IGJlIGluY3JlYXNlZCB2aWEgdGhlIHN0YWNrX3NpemUoKQotZnVuY3Rpb24gZXhwb3NlZCBieSB0aGUgdGhyZWFkaW5nICYgdGhyZWFkIG1vZHVsZXMgYXMgd2VsbCBhcyBieSBkZWZpbmluZwotVEhSRUFEX1NUQUNLX1NJWkUgdG8gYW4gYXBwcm9wcmlhdGUgdmFsdWUgaW4gdGhlIE1ha2VmaWxlICh3aGljaCBjb250YWlucwotYSBjb21tZW50ZWQgb3V0IGRlZmluaXRpb24gZm9yIDEyOGtCIHRocmVhZCBzdGFja3MpLiAgSSBoYXZlIHNlZW4KLXJlZmVyZW5jZXMgdG8gaGVhdnkgWm9wZS9QbG9uZSB1c2FnZSByZXF1aXJpbmcgMU1CIHRocmVhZCBzdGFja3Mgb24KLUZyZWVCU0QgYW5kIExpbnV4LCBidXQgZG91YnQgdGhhdCBmb3IgbW9zdCBsaWtlbHkgdXNhZ2Ugb24gT1MvMiB0aGF0Ci1tb3JlIHRoYW4gMjU2a0IgaXMgbmVjZXNzYXJ5LiAgVGhlIHNpemUgb2YgdGhlIHJlcXVpcmVkIHN0YWNrcyAobWFpbiAKLWFuZCB0aHJlYWQpIGNhbiB2YXJ5IHNpZ25pZmljYW50bHkgZGVwZW5kaW5nIG9uIHdoaWNoIHZlcnNpb24gb2YgZ2NjCi1pcyB1c2VkIGFsb25nIHdpdGggdGhlIGNvbXBpbGVyIG9wdGltaXNhdGlvbnMgc2VsZWN0ZWQuICBOb3RlIHRoYXQgdGhlCi1tYWluIHRocmVhZCBzdGFjayBzaXplIGlzIHNldCBkdXJpbmcgbGlua2luZyBhbmQgaXMgY3VycmVudGx5IDJNQi4KLQotLi4uIHByb2JhYmx5IG90aGVyIGlzc3VlcyB0aGF0IEkndmUgbm90IGVuY291bnRlcmVkLCBvciBkb24ndCByZW1lbWJlciA6LSgKLQotSWYgeW91IGVuY291bnRlciBvdGhlciBkaWZmaWN1bHRpZXMgd2l0aCB0aGlzIHBvcnQsIHdoaWNoIGNhbiBiZSAKLWNoYXJhY3RlcmlzZWQgYXMgcGVjdWxpYXIgdG8gdGhpcyBwb3J0IHJhdGhlciB0aGFuIHRvIHRoZSBQeXRob24gcmVsZWFzZSwKLUkgd291bGQgbGlrZSB0byBoZWFyIGFib3V0IHRoZW0uICBIb3dldmVyIEkgY2Fubm90IHByb21pc2UgdG8gYmUgYWJsZSB0byBkbyAKLWFueXRoaW5nIHRvIHJlc29sdmUgc3VjaCBwcm9ibGVtcy4gIFNlZSB0aGUgQ29udGFjdCBzZWN0aW9uIGJlbG93Li4uCi0KLQotVG8gZG8uLi4KLS0tLS0tLS0tCi0KLUluIG5vIHBhcnRpY3VsYXIgb3JkZXIgb2YgYXBwYXJlbnQgaW1wb3J0YW5jZSBvciBsaWtlbGlob29kLi4uCi0KLS0gc3VwcG9ydCBUa2ludGVyIGFuZC9vciBhbHRlcm5hdGl2ZSBHVUkgKHd4V2luZG93cz8/KQotCi0KLUNyZWRpdHMKLS0tLS0tLS0KLQotSW4gYWRkaXRpb24gdG8gcGVvcGxlIGlkZW50aWZpZWQgYWJvdmUsIEknZCBsaWtlIHRvIHRoYW5rOgotLSB0aGUgQkRGTCwgR3VpZG8gdmFuIFJvc3N1bSwgYW5kIGNyZXcgZm9yIFB5dGhvbjsKLS0gRHIgRGF2aWQgTWVydHosIGZvciB0cnlpbmcgb3V0IGEgcHJlLXJlbGVhc2Ugb2YgdGhpcyBwb3J0OwotLSB0aGUgUHl0aG9uLWxpc3QvY29tcC5sYW5nLnB5dGhvbiBjb21tdW5pdHk7Ci0tIEpvaG4gUG9sdG9yYWssIGZvciBpbnB1dCBhYm91dCBwd2QvZ3JwLgotCi1Db250YWN0Ci0tLS0tLS0tCi0KLUNvbnN0cnVjdGl2ZSBmZWVkYmFjaywgbmVnYXRpdmUgb3IgcG9zaXRpdmUsIGFib3V0IHRoaXMgcG9ydCBpcyB3ZWxjb21lIAotYW5kIHNob3VsZCBiZSBhZGRyZXNzZWQgdG8gbWUgYXQgdGhlIGUtbWFpbCBhZGRyZXNzZXMgYmVsb3cuCi0KLUkgaGF2ZSBhIHByaXZhdGUgbWFpbGluZyBsaXN0IGZvciBhbm5vdW5jZW1lbnRzIG9mIGZpeGVzICYgdXBkYXRlcyB0byAKLXRoaXMgcG9ydC4gIElmIHlvdSB3aXNoIHRvIHJlY2VpdmUgc3VjaCBlLW1haWwgYW5ub3VuY21lbnRzLCBwbGVhc2Ugc2VuZCAKLW1lIGFuIGUtbWFpbCByZXF1ZXN0aW5nIHRoYXQgeW91IGJlIGFkZGVkIHRvIHRoaXMgbGlzdC4KLQotQW5kcmV3IE1hY0ludHlyZQotRS1tYWlsOiBhbmR5bWFjQGJ1bGxzZXllLmFwYW5hLm9yZy5hdSwgb3IgYW5keW1hY0BwY3VnLm9yZy5hdQotV2ViOiAgICBodHRwOi8vd3d3LmFuZHltYWMub3JnLwotCi0yOCBKYW51YXJ5LCAyMDA4LgpkaWZmIC0tZ2l0IGEvUEMvb3MyZW14L2NvbmZpZy5jIGIvUEMvb3MyZW14L2NvbmZpZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1ODc5MTEwLi4wMDAwMDAwCi0tLSBhL1BDL29zMmVteC9jb25maWcuYworKysgL2Rldi9udWxsCkBAIC0xLDE2NCArMCwwIEBACi0vKiAtKi0gQyAtKi0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLUNvcHlyaWdodCAxOTkxLTE5OTUgYnkgU3RpY2h0aW5nIE1hdGhlbWF0aXNjaCBDZW50cnVtLCBBbXN0ZXJkYW0sCi1UaGUgTmV0aGVybGFuZHMuCi0KLSAgICAgICAgICAgICAgICAgICAgICAgIEFsbCBSaWdodHMgUmVzZXJ2ZWQKLQotUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBhbmQgaXRzCi1kb2N1bWVudGF0aW9uIGZvciBhbnkgcHVycG9zZSBhbmQgd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQsCi1wcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0Ci1ib3RoIHRoYXQgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4KLXN1cHBvcnRpbmcgZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWVzIG9mIFN0aWNodGluZyBNYXRoZW1hdGlzY2gKLUNlbnRydW0gb3IgQ1dJIG9yIENvcnBvcmF0aW9uIGZvciBOYXRpb25hbCBSZXNlYXJjaCBJbml0aWF0aXZlcyBvcgotQ05SSSBub3QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0bwotZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLCB3cml0dGVuIHByaW9yCi1wZXJtaXNzaW9uLgotCi1XaGlsZSBDV0kgaXMgdGhlIGluaXRpYWwgc291cmNlIGZvciB0aGlzIHNvZnR3YXJlLCBhIG1vZGlmaWVkIHZlcnNpb24KLWlzIG1hZGUgYXZhaWxhYmxlIGJ5IHRoZSBDb3Jwb3JhdGlvbiBmb3IgTmF0aW9uYWwgUmVzZWFyY2ggSW5pdGlhdGl2ZXMKLShDTlJJKSBhdCB0aGUgSW50ZXJuZXQgYWRkcmVzcyBmdHA6Ly9mdHAucHl0aG9uLm9yZy4KLQotU1RJQ0hUSU5HIE1BVEhFTUFUSVNDSCBDRU5UUlVNIEFORCBDTlJJIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTIFdJVEgKLVJFR0FSRCBUTyBUSElTIFNPRlRXQVJFLCBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRgotTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLCBJTiBOTyBFVkVOVCBTSEFMTCBTVElDSFRJTkcgTUFUSEVNQVRJU0NICi1DRU5UUlVNIE9SIENOUkkgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgSU5ESVJFQ1QgT1IgQ09OU0VRVUVOVElBTAotREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SCi1QUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUgotVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgotUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KLQotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0vKiBNb2R1bGUgY29uZmlndXJhdGlvbiAqLwotCi0vKiBUaGlzIGZpbGUgY29udGFpbnMgdGhlIHRhYmxlIG9mIGJ1aWx0LWluIG1vZHVsZXMuCi0gICBTZWUgaW5pdF9idWlsdGluKCkgaW4gaW1wb3J0LmMuICovCi0KLSNpbmNsdWRlICJQeXRob24uaCIKLQotZXh0ZXJuIHZvaWQgaW5pdG9zMigpOwotZXh0ZXJuIHZvaWQgaW5pdHNpZ25hbCgpOwotI2lmZGVmIFdJVEhfVEhSRUFECi1leHRlcm4gdm9pZCBpbml0X3RocmVhZCgpOwotI2VuZGlmCi1leHRlcm4gdm9pZCBpbml0X2NvZGVjcygpOwotZXh0ZXJuIHZvaWQgaW5pdF9jc3YoKTsKLWV4dGVybiB2b2lkIGluaXRfbG9jYWxlKCk7Ci1leHRlcm4gdm9pZCBpbml0X3JhbmRvbSgpOwotZXh0ZXJuIHZvaWQgaW5pdF9zcmUoKTsKLWV4dGVybiB2b2lkIGluaXRfc3ltdGFibGUoKTsKLWV4dGVybiB2b2lkIGluaXRfd2Vha3JlZigpOwotZXh0ZXJuIHZvaWQgaW5pdGFycmF5KCk7Ci1leHRlcm4gdm9pZCBpbml0YmluYXNjaWkoKTsKLWV4dGVybiB2b2lkIGluaXRjb2xsZWN0aW9ucygpOwotZXh0ZXJuIHZvaWQgaW5pdGNtYXRoKCk7Ci1leHRlcm4gdm9pZCBpbml0ZGF0ZXRpbWUoKTsKLWV4dGVybiB2b2lkIGluaXRkbCgpOwotZXh0ZXJuIHZvaWQgaW5pdGVycm5vKCk7Ci1leHRlcm4gdm9pZCBpbml0ZmNudGwoKTsKLWV4dGVybiB2b2lkIGluaXRfZnVuY3Rvb2xzKCk7Ci1leHRlcm4gdm9pZCBpbml0X2hlYXBxKCk7Ci1leHRlcm4gdm9pZCBpbml0aW1hZ2VvcCgpOwotZXh0ZXJuIHZvaWQgaW5pdGl0ZXJ0b29scygpOwotZXh0ZXJuIHZvaWQgaW5pdG1hdGgoKTsKLWV4dGVybiB2b2lkIGluaXRfbWQ1KCk7Ci1leHRlcm4gdm9pZCBpbml0b3BlcmF0b3IoKTsKLWV4dGVybiB2b2lkIGluaXRfc2hhKCk7Ci1leHRlcm4gdm9pZCBpbml0X3NoYTI1NigpOwotZXh0ZXJuIHZvaWQgaW5pdF9zaGE1MTIoKTsKLWV4dGVybiB2b2lkIGluaXRfc3RydWN0KCk7Ci1leHRlcm4gdm9pZCBpbml0dGVybWlvcygpOwotZXh0ZXJuIHZvaWQgaW5pdHRpbWUoKTsKLWV4dGVybiB2b2lkIGluaXR4eHN1YnR5cGUoKTsKLWV4dGVybiB2b2lkIGluaXR6aXBpbXBvcnQoKTsKLSNpZiAhSEFWRV9EWU5BTUlDX0xPQURJTkcKLWV4dGVybiB2b2lkIGluaXRfY3Vyc2VzKCk7Ci1leHRlcm4gdm9pZCBpbml0X2N1cnNlc19wYW5lbCgpOwotZXh0ZXJuIHZvaWQgaW5pdF90ZXN0Y2FwaSgpOwotZXh0ZXJuIHZvaWQgaW5pdGJ6MigpOwotZXh0ZXJuIHZvaWQgaW5pdGZwZWN0bCgpOwotZXh0ZXJuIHZvaWQgaW5pdGZwZXRlc3QoKTsKLWV4dGVybiB2b2lkIGluaXRwYXJzZXIoKTsKLWV4dGVybiB2b2lkIGluaXRwd2QoKTsKLWV4dGVybiB2b2lkIGluaXR1bmljb2RlZGF0YSgpOwotZXh0ZXJuIHZvaWQgaW5pdHpsaWIoKTsKLSNpZmRlZiBVU0VfU09DS0VUCi1leHRlcm4gdm9pZCBpbml0X3NvY2tldCgpOwotZXh0ZXJuIHZvaWQgaW5pdHNlbGVjdCgpOwotI2VuZGlmCi0jZW5kaWYKLS8qIC0tIEFERE1PRFVMRSBNQVJLRVIgMSAtLSAqLwotCi1leHRlcm4gdm9pZCBQeU1hcnNoYWxfSW5pdCgpOwotZXh0ZXJuIHZvaWQgaW5pdGltcCgpOwotZXh0ZXJuIHZvaWQgaW5pdGdjKCk7Ci0KLXN0cnVjdCBfaW5pdHRhYiBfUHlJbXBvcnRfSW5pdHRhYltdID0gewotCi0gICAgeyJvczIiLCBpbml0b3MyfSwKLSAgICB7InNpZ25hbCIsIGluaXRzaWduYWx9LAotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgeyJfdGhyZWFkIiwgaW5pdF90aHJlYWR9LAotI2VuZGlmCi0gICAgeyJfY29kZWNzIiwgaW5pdF9jb2RlY3N9LAotICAgIHsiX2NzdiIsIGluaXRfY3N2fSwKLSAgICB7Il9sb2NhbGUiLCBpbml0X2xvY2FsZX0sCi0gICAgeyJfcmFuZG9tIiwgaW5pdF9yYW5kb219LAotICAgIHsiX3NyZSIsIGluaXRfc3JlfSwKLSAgICB7Il9zeW10YWJsZSIsIGluaXRfc3ltdGFibGV9LAotICAgIHsiX3dlYWtyZWYiLCBpbml0X3dlYWtyZWZ9LAotICAgIHsiYXJyYXkiLCBpbml0YXJyYXl9LAotICAgIHsiYmluYXNjaWkiLCBpbml0YmluYXNjaWl9LAotICAgIHsiY29sbGVjdGlvbnMiLCBpbml0Y29sbGVjdGlvbnN9LAotICAgIHsiY21hdGgiLCBpbml0Y21hdGh9LAotICAgIHsiZGF0ZXRpbWUiLCBpbml0ZGF0ZXRpbWV9LAotICAgIHsiZGwiLCBpbml0ZGx9LAotICAgIHsiZXJybm8iLCBpbml0ZXJybm99LAotICAgIHsiZmNudGwiLCBpbml0ZmNudGx9LAotICAgIHsiX2Z1bmN0b29scyIsIGluaXRfZnVuY3Rvb2xzfSwKLSAgICB7Il9oZWFwcSIsIGluaXRfaGVhcHF9LAotICAgIHsiaW1hZ2VvcCIsIGluaXRpbWFnZW9wfSwKLSAgICB7Iml0ZXJ0b29scyIsIGluaXRpdGVydG9vbHN9LAotICAgIHsibWF0aCIsIGluaXRtYXRofSwKLSAgICB7Im9wZXJhdG9yIiwgaW5pdG9wZXJhdG9yfSwKLSAgICB7Il9zaGEyNTYiLCBpbml0X3NoYTI1Nn0sCi0gICAgeyJfc2hhNTEyIiwgaW5pdF9zaGE1MTJ9LAotICAgIHsiX3N0cnVjdCIsIGluaXRfc3RydWN0fSwKLSAgICB7InRlcm1pb3MiLCBpbml0dGVybWlvc30sCi0gICAgeyJ0aW1lIiwgaW5pdHRpbWV9LAotICAgIHsieHhzdWJ0eXBlIiwgaW5pdHh4c3VidHlwZX0sCi0gICAgeyJ6aXBpbXBvcnQiLCBpbml0emlwaW1wb3J0fSwKLSNpZiAhSEFWRV9EWU5BTUlDX0xPQURJTkcKLSAgICB7Il9jdXJzZXMiLCBpbml0X2N1cnNlc30sCi0gICAgeyJfY3Vyc2VzX3BhbmVsIiwgaW5pdF9jdXJzZXNfcGFuZWx9LAotICAgIHsiX3Rlc3RjYXBpIiwgaW5pdF90ZXN0Y2FwaX0sCi0gICAgeyJiejIiLCBpbml0YnoyfSwKLSAgICB7ImZwZWN0bCIsIGluaXRmcGVjdGx9LAotICAgIHsiZnBldGVzdCIsIGluaXRmcGV0ZXN0fSwKLSAgICB7InBhcnNlciIsIGluaXRwYXJzZXJ9LAotICAgIHsicHdkIiwgaW5pdHB3ZH0sCi0gICAgeyJ1bmljb2RlZGF0YSIsIGluaXR1bmljb2RlZGF0YX0sCi0gICAgeyJ6bGliIiwgaW5pdHpsaWJ9LAotI2lmZGVmIFVTRV9TT0NLRVQKLSAgICB7Il9zb2NrZXQiLCBpbml0X3NvY2tldH0sCi0gICAgeyJzZWxlY3QiLCBpbml0c2VsZWN0fSwKLSNlbmRpZgotI2VuZGlmCi0vKiAtLSBBRERNT0RVTEUgTUFSS0VSIDIgLS0gKi8KLQotICAgIC8qIFRoaXMgbW9kdWxlICJsaXZlcyBpbiIgd2l0aCBtYXJzaGFsLmMgKi8KLSAgICB7Im1hcnNoYWwiLCBQeU1hcnNoYWxfSW5pdH0sCi0KLSAgICAvKiBUaGlzIGxpdmVzIGl0IHdpdGggaW1wb3J0LmMgKi8KLSAgICB7Il9pbXAiLCBpbml0aW1wfSwKLQotICAgIC8qIFRoZXNlIGVudHJpZXMgYXJlIGhlcmUgZm9yIHN5cy5idWlsdGluX21vZHVsZV9uYW1lcyAqLwotICAgIHsiYnVpbHRpbnMiLCBOVUxMfSwKLSAgICB7InN5cyIsIE5VTEx9LAotCi0gICAgLyogVGhpcyBsaXZlcyBpbiBnY21vZHVsZS5jICovCi0gICAgeyJnYyIsIGluaXRnY30sCi0KLSAgICAvKiBTZW50aW5lbCAqLwotICAgIHswLCAwfQotfTsKZGlmZiAtLWdpdCBhL1BDL29zMmVteC9kbGZjbi5jIGIvUEMvb3MyZW14L2RsZmNuLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGViZGE5Y2QuLjAwMDAwMDAKLS0tIGEvUEMvb3MyZW14L2RsZmNuLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMjMgKzAsMCBAQAotLyogLSotIEMgLSotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi1Db3B5cmlnaHQgMTk5MS0xOTk1IGJ5IFN0aWNodGluZyBNYXRoZW1hdGlzY2ggQ2VudHJ1bSwgQW1zdGVyZGFtLAotVGhlIE5ldGhlcmxhbmRzLgotCi0gICAgICAgICAgICAgICAgICAgICAgICBBbGwgUmlnaHRzIFJlc2VydmVkCi0KLVBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cwotZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgYW5kIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLAotcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdAotYm90aCB0aGF0IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluCi1zdXBwb3J0aW5nIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lcyBvZiBTdGljaHRpbmcgTWF0aGVtYXRpc2NoCi1DZW50cnVtIG9yIENXSSBvciBDb3Jwb3JhdGlvbiBmb3IgTmF0aW9uYWwgUmVzZWFyY2ggSW5pdGlhdGl2ZXMgb3IKLUNOUkkgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8KLWRpc3RyaWJ1dGlvbiBvZiB0aGUgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYywgd3JpdHRlbiBwcmlvcgotcGVybWlzc2lvbi4KLQotV2hpbGUgQ1dJIGlzIHRoZSBpbml0aWFsIHNvdXJjZSBmb3IgdGhpcyBzb2Z0d2FyZSwgYSBtb2RpZmllZCB2ZXJzaW9uCi1pcyBtYWRlIGF2YWlsYWJsZSBieSB0aGUgQ29ycG9yYXRpb24gZm9yIE5hdGlvbmFsIFJlc2VhcmNoIEluaXRpYXRpdmVzCi0oQ05SSSkgYXQgdGhlIEludGVybmV0IGFkZHJlc3MgZnRwOi8vZnRwLnB5dGhvbi5vcmcuCi0KLVNUSUNIVElORyBNQVRIRU1BVElTQ0ggQ0VOVFJVTSBBTkQgQ05SSSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUyBXSVRICi1SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKLU1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgU0hBTEwgU1RJQ0hUSU5HIE1BVEhFTUFUSVNDSAotQ0VOVFJVTSBPUiBDTlJJIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwKLURBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUgotUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKLVRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKLVBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyogVGhpcyBsaWJyYXJ5IGltcGxlbWVudHMgZGxvcGVuKCkgLSBVbml4LWxpa2UgZHluYW1pYyBsaW5raW5nCi0gKiBlbXVsYXRpb24gZnVuY3Rpb25zIGZvciBPUy8yIHVzaW5nIERvc0xvYWRNb2R1bGUoKSBhbmQgY29tcGFueS4KLSAqLwotCi0jZGVmaW5lIElOQ0xfRE9TCi0jZGVmaW5lIElOQ0xfRE9TRVJST1JTCi0jZGVmaW5lIElOQ0xfRE9TU0VTTUdSCi0jZGVmaW5lIElOQ0xfV0lOUFJPR1JBTUxJU1QKLSNkZWZpbmUgSU5DTF9XSU5GUkFNRU1HUgotI2luY2x1ZGUgPG9zMi5oPgotCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxtYWxsb2MuaD4KLQotdHlwZWRlZiBzdHJ1Y3QgX3RyYWNrX3JlYyB7Ci0gICAgY2hhciAqbmFtZTsKLSAgICBITU9EVUxFIGhhbmRsZTsKLSAgICB2b2lkICppZDsKLSAgICBzdHJ1Y3QgX3RyYWNrX3JlYyAqbmV4dDsKLX0gdERMTGNoYWluLCAqRExMY2hhaW47Ci0KLXN0YXRpYyBETExjaGFpbiBkbGxvYWQgPSBOVUxMOyAgLyogQSBzaW1wbGUgY2hhaW5lZCBsaXN0IG9mIERMTCBuYW1lcyAqLwotc3RhdGljIGNoYXIgZGxlcnIgWzI1Nl07ICAgICAgICAvKiBsYXN0IGVycm9yIHRleHQgc3RyaW5nICovCi1zdGF0aWMgdm9pZCAqbGFzdF9pZDsKLQotc3RhdGljIERMTGNoYWluIGZpbmRfaWQodm9pZCAqaWQpCi17Ci0gICAgRExMY2hhaW4gdG1wOwotCi0gICAgZm9yICh0bXAgPSBkbGxvYWQ7IHRtcDsgdG1wID0gdG1wLT5uZXh0KQotICAgICAgICBpZiAoaWQgPT0gdG1wLT5pZCkKLSAgICAgICAgICAgIHJldHVybiB0bXA7Ci0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQotLyogbG9hZCBhIGR5bmFtaWMtbGluayBsaWJyYXJ5IGFuZCByZXR1cm4gaGFuZGxlICovCi12b2lkICpkbG9wZW4oY2hhciAqZmlsZW5hbWUsIGludCBmbGFncykKLXsKLSAgICBITU9EVUxFIGhtOwotICAgIERMTGNoYWluIHRtcDsKLSAgICBjaGFyIGVyclsyNTZdOwotICAgIGNoYXIgKmVycnR4dDsKLSAgICBpbnQgcmMgPSAwLCBzZXRfY2hhaW4gPSAwOwotCi0gICAgZm9yICh0bXAgPSBkbGxvYWQ7IHRtcDsgdG1wID0gdG1wLT5uZXh0KQotICAgICAgICBpZiAoc3RybmljbXAodG1wLT5uYW1lLCBmaWxlbmFtZSwgOTk5KSA9PSAwKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICBpZiAoIXRtcCkKLSAgICB7Ci0gICAgICAgIHRtcCA9IChETExjaGFpbikgbWFsbG9jKHNpemVvZih0RExMY2hhaW4pKTsKLSAgICAgICAgaWYgKCF0bXApCi0gICAgICAgICAgICBnb3RvIG5vbWVtOwotICAgICAgICB0bXAtPm5hbWUgPSBzdHJkdXAoZmlsZW5hbWUpOwotICAgICAgICB0bXAtPm5leHQgPSBkbGxvYWQ7Ci0gICAgICAgIHNldF9jaGFpbiA9IDE7Ci0gICAgfQotCi0gICAgc3dpdGNoIChyYyA9IERvc0xvYWRNb2R1bGUoKFBTWikmZXJyLCBzaXplb2YoZXJyKSwgZmlsZW5hbWUsICZobSkpCi0gICAgewotICAgICAgICBjYXNlIE5PX0VSUk9SOgotICAgICAgICAgICAgdG1wLT5oYW5kbGUgPSBobTsKLSAgICAgICAgICAgIGlmIChzZXRfY2hhaW4pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZG8KLSAgICAgICAgICAgICAgICAgICAgbGFzdF9pZCsrOwotICAgICAgICAgICAgICAgIHdoaWxlICgobGFzdF9pZCA9PSAwKSB8fCAoZmluZF9pZChsYXN0X2lkKSkpOwotICAgICAgICAgICAgICAgIHRtcC0+aWQgPSBsYXN0X2lkOwotICAgICAgICAgICAgICAgIGRsbG9hZCA9IHRtcDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiB0bXAtPmlkOwotICAgICAgICBjYXNlIEVSUk9SX0ZJTEVfTk9UX0ZPVU5EOgotICAgICAgICBjYXNlIEVSUk9SX1BBVEhfTk9UX0ZPVU5EOgotICAgICAgICAgICAgZXJydHh0ID0gIm1vZHVsZSBgJXMnIG5vdCBmb3VuZCI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBFUlJPUl9UT09fTUFOWV9PUEVOX0ZJTEVTOgotICAgICAgICBjYXNlIEVSUk9SX05PVF9FTk9VR0hfTUVNT1JZOgotICAgICAgICBjYXNlIEVSUk9SX1NIQVJJTkdfQlVGRkVSX0VYQ0VFREVEOgotbm9tZW06Ci0gICAgICAgICAgICBlcnJ0eHQgPSAib3V0IG9mIHN5c3RlbSByZXNvdXJjZXMiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRVJST1JfQUNDRVNTX0RFTklFRDoKLSAgICAgICAgICAgIGVycnR4dCA9ICJhY2Nlc3MgZGVuaWVkIjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEVSUk9SX0JBRF9GT1JNQVQ6Ci0gICAgICAgIGNhc2UgRVJST1JfSU5WQUxJRF9TRUdNRU5UX05VTUJFUjoKLSAgICAgICAgY2FzZSBFUlJPUl9JTlZBTElEX09SRElOQUw6Ci0gICAgICAgIGNhc2UgRVJST1JfSU5WQUxJRF9NT0RVTEVUWVBFOgotICAgICAgICBjYXNlIEVSUk9SX0lOVkFMSURfRVhFX1NJR05BVFVSRToKLSAgICAgICAgY2FzZSBFUlJPUl9FWEVfTUFSS0VEX0lOVkFMSUQ6Ci0gICAgICAgIGNhc2UgRVJST1JfSVRFUkFURURfREFUQV9FWENFRURTXzY0SzoKLSAgICAgICAgY2FzZSBFUlJPUl9JTlZBTElEX01JTkFMTE9DU0laRToKLSAgICAgICAgY2FzZSBFUlJPUl9JTlZBTElEX1NFR0RQTDoKLSAgICAgICAgY2FzZSBFUlJPUl9BVVRPREFUQVNFR19FWENFRURTXzY0SzoKLSAgICAgICAgY2FzZSBFUlJPUl9SRUxPQ1NSQ19DSEFJTl9FWENFRURTX1NFR0xJTUlUOgotICAgICAgICAgICAgZXJydHh0ID0gImludmFsaWQgbW9kdWxlIGZvcm1hdCI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBFUlJPUl9JTlZBTElEX05BTUU6Ci0gICAgICAgICAgICBlcnJ0eHQgPSAiZmlsZW5hbWUgZG9lc24ndCBtYXRjaCBtb2R1bGUgbmFtZSI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBFUlJPUl9TSEFSSU5HX1ZJT0xBVElPTjoKLSAgICAgICAgY2FzZSBFUlJPUl9MT0NLX1ZJT0xBVElPTjoKLSAgICAgICAgICAgIGVycnR4dCA9ICJzaGFyaW5nIHZpb2xhdGlvbiI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBFUlJPUl9JTklUX1JPVVRJTkVfRkFJTEVEOgotICAgICAgICAgICAgZXJydHh0ID0gIm1vZHVsZSBpbml0aWFsaXphdGlvbiBmYWlsZWQiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBlcnJ0eHQgPSAiY2F1c2UgYCVzJywgZXJyb3IgY29kZSA9ICVkIjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBzbnByaW50ZihkbGVyciwgc2l6ZW9mKGRsZXJyKSwgZXJydHh0LCAmZXJyLCByYyk7Ci0gICAgaWYgKHRtcCkKLSAgICB7Ci0gICAgICAgIGlmICh0bXAtPm5hbWUpCi0gICAgICAgICAgICBmcmVlKHRtcC0+bmFtZSk7Ci0gICAgICAgIGZyZWUodG1wKTsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLS8qIHJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGBzeW1ib2wnIGluIERMTCAqLwotdm9pZCAqZGxzeW0odm9pZCAqaGFuZGxlLCBjaGFyICpzeW1ib2wpCi17Ci0gICAgaW50IHJjID0gMDsKLSAgICBQRk4gYWRkcjsKLSAgICBjaGFyICplcnJ0eHQ7Ci0gICAgaW50IHN5bW9yZCA9IDA7Ci0gICAgRExMY2hhaW4gdG1wID0gZmluZF9pZChoYW5kbGUpOwotCi0gICAgaWYgKCF0bXApCi0gICAgICAgIGdvdG8gaW52X2hhbmRsZTsKLQotICAgIGlmICgqc3ltYm9sID09ICcjJykKLSAgICAgICAgc3ltb3JkID0gYXRvaShzeW1ib2wgKyAxKTsKLQotICAgIHN3aXRjaCAocmMgPSBEb3NRdWVyeVByb2NBZGRyKHRtcC0+aGFuZGxlLCBzeW1vcmQsIHN5bWJvbCwgJmFkZHIpKQotICAgIHsKLSAgICAgICAgY2FzZSBOT19FUlJPUjoKLSAgICAgICAgICAgIHJldHVybiAodm9pZCAqKWFkZHI7Ci0gICAgICAgIGNhc2UgRVJST1JfSU5WQUxJRF9IQU5ETEU6Ci1pbnZfaGFuZGxlOgotICAgICAgICAgICAgZXJydHh0ID0gImludmFsaWQgbW9kdWxlIGhhbmRsZSI7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBFUlJPUl9QUk9DX05PVF9GT1VORDoKLSAgICAgICAgY2FzZSBFUlJPUl9JTlZBTElEX05BTUU6Ci0gICAgICAgICAgICBlcnJ0eHQgPSAibm8gc3ltYm9sIGAlcycgaW4gbW9kdWxlIjsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgZXJydHh0ID0gInN5bWJvbCBgJXMnLCBlcnJvciBjb2RlID0gJWQiOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIHNucHJpbnRmKGRsZXJyLCBzaXplb2YoZGxlcnIpLCBlcnJ0eHQsIHN5bWJvbCwgcmMpOwotICAgIHJldHVybiBOVUxMOwotfQotCi0vKiBmcmVlIGR5bmFtaWNhbGx5LWxpbmtlZCBsaWJyYXJ5ICovCi1pbnQgZGxjbG9zZSh2b2lkICpoYW5kbGUpCi17Ci0gICAgaW50IHJjOwotICAgIERMTGNoYWluIHRtcCA9IGZpbmRfaWQoaGFuZGxlKTsKLQotICAgIGlmICghdG1wKQotICAgICAgICBnb3RvIGludl9oYW5kbGU7Ci0KLSAgICBzd2l0Y2ggKHJjID0gRG9zRnJlZU1vZHVsZSh0bXAtPmhhbmRsZSkpCi0gICAgewotICAgICAgICBjYXNlIE5PX0VSUk9SOgotICAgICAgICAgICAgZnJlZSh0bXAtPm5hbWUpOwotICAgICAgICAgICAgZGxsb2FkID0gdG1wLT5uZXh0OwotICAgICAgICAgICAgZnJlZSh0bXApOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGNhc2UgRVJST1JfSU5WQUxJRF9IQU5ETEU6Ci1pbnZfaGFuZGxlOgotICAgICAgICAgICAgc3RyY3B5KGRsZXJyLCAiaW52YWxpZCBtb2R1bGUgaGFuZGxlIik7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIGNhc2UgRVJST1JfSU5WQUxJRF9BQ0NFU1M6Ci0gICAgICAgICAgICBzdHJjcHkoZGxlcnIsICJhY2Nlc3MgZGVuaWVkIik7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotfQotCi0vKiByZXR1cm4gYSBzdHJpbmcgZGVzY3JpYmluZyBsYXN0IG9jY3VycmVkIGRsIGVycm9yICovCi1jaGFyICpkbGVycm9yKCkKLXsKLSAgICByZXR1cm4gZGxlcnI7Ci19CmRpZmYgLS1naXQgYS9QQy9vczJlbXgvZGxmY24uaCBiL1BDL29zMmVteC9kbGZjbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNzNhZTY5Li4wMDAwMDAwCi0tLSBhL1BDL29zMmVteC9kbGZjbi5oCisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyogLSotIEMgLSotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi1Db3B5cmlnaHQgMTk5MS0xOTk1IGJ5IFN0aWNodGluZyBNYXRoZW1hdGlzY2ggQ2VudHJ1bSwgQW1zdGVyZGFtLAotVGhlIE5ldGhlcmxhbmRzLgotCi0gICAgICAgICAgICAgICAgICAgICAgICBBbGwgUmlnaHRzIFJlc2VydmVkCi0KLVBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZCBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgYW5kIGl0cwotZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgYW5kIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLAotcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBhbmQgdGhhdAotYm90aCB0aGF0IGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluCi1zdXBwb3J0aW5nIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lcyBvZiBTdGljaHRpbmcgTWF0aGVtYXRpc2NoCi1DZW50cnVtIG9yIENXSSBvciBDb3Jwb3JhdGlvbiBmb3IgTmF0aW9uYWwgUmVzZWFyY2ggSW5pdGlhdGl2ZXMgb3IKLUNOUkkgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8KLWRpc3RyaWJ1dGlvbiBvZiB0aGUgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYywgd3JpdHRlbiBwcmlvcgotcGVybWlzc2lvbi4KLQotV2hpbGUgQ1dJIGlzIHRoZSBpbml0aWFsIHNvdXJjZSBmb3IgdGhpcyBzb2Z0d2FyZSwgYSBtb2RpZmllZCB2ZXJzaW9uCi1pcyBtYWRlIGF2YWlsYWJsZSBieSB0aGUgQ29ycG9yYXRpb24gZm9yIE5hdGlvbmFsIFJlc2VhcmNoIEluaXRpYXRpdmVzCi0oQ05SSSkgYXQgdGhlIEludGVybmV0IGFkZHJlc3MgZnRwOi8vZnRwLnB5dGhvbi5vcmcuCi0KLVNUSUNIVElORyBNQVRIRU1BVElTQ0ggQ0VOVFJVTSBBTkQgQ05SSSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUyBXSVRICi1SRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSwgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKLU1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgSU4gTk8gRVZFTlQgU0hBTEwgU1RJQ0hUSU5HIE1BVEhFTUFUSVNDSAotQ0VOVFJVTSBPUiBDTlJJIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwKLURBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUgotUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKLVRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IKLVBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCi0KLSoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyogVGhpcyBsaWJyYXJ5IGltcGxlbWVudHMgZGxvcGVuKCkgLSBVbml4LWxpa2UgZHluYW1pYyBsaW5raW5nCi0gKiBlbXVsYXRpb24gZnVuY3Rpb25zIGZvciBPUy8yIHVzaW5nIERvc0xvYWRNb2R1bGUoKSBhbmQgY29tcGFueS4KLSAqLwotCi0jaWZuZGVmIF9ETEZDTl9ICi0jZGVmaW5lIF9ETEZDTl9ICi0KLS8qIGxvYWQgYSBkeW5hbWljLWxpbmsgbGlicmFyeSBhbmQgcmV0dXJuIGhhbmRsZSAqLwotdm9pZCAqZGxvcGVuKGNoYXIgKmZpbGVuYW1lLCBpbnQgZmxhZ3MpOwotCi0vKiByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBgc3ltYm9sJyBpbiBETEwgKi8KLXZvaWQgKmRsc3ltKHZvaWQgKmhhbmRsZSwgY2hhciAqc3ltYm9sKTsKLQotLyogZnJlZSBkeW5hbWljYWxseS1saW5rZWQgbGlicmFyeSAqLwotaW50IGRsY2xvc2Uodm9pZCAqaGFuZGxlKTsKLQotLyogcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgbGFzdCBvY2N1cnJlZCBkbCBlcnJvciAqLwotY2hhciAqZGxlcnJvcih2b2lkKTsKLQotI2VuZGlmIC8qICFfRExGQ05fSCAqLwpkaWZmIC0tZ2l0IGEvUEMvb3MyZW14L2RsbGVudHJ5LmMgYi9QQy9vczJlbXgvZGxsZW50cnkuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWNjY2ExYy4uMDAwMDAwMAotLS0gYS9QQy9vczJlbXgvZGxsZW50cnkuYworKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIFB5dGhvbiAyLjMgY29yZSBETEwuCi0gKi8KLQotI2RlZmluZSBOVUxMIDAKLQotI2RlZmluZSBSRUYocykgIGV4dGVybiB2b2lkIHMoKTsgdm9pZCAqX19fX3JlZl8jI3MgPSAmczsKLQotLyogTWFrZSByZWZlcmVuY2VzIHRvIGltcG9ydGVkIHN5bWJvbHMgdG8gcHVsbCB0aGVtIGZyb20gc3RhdGljIGxpYnJhcnkgKi8KLVJFRihQeV9NYWluKTsKLQotI2luY2x1ZGUgPHNpZ25hbC5oPgotCi1leHRlcm4gaW50IF9DUlRfaW5pdCh2b2lkKTsKLWV4dGVybiB2b2lkIF9DUlRfdGVybSh2b2lkKTsKLWV4dGVybiB2b2lkIF9fY3RvcmR0b3JJbml0KHZvaWQpOwotZXh0ZXJuIHZvaWQgX19jdG9yZHRvclRlcm0odm9pZCk7Ci0KLXVuc2lnbmVkIGxvbmcgX0RMTF9Jbml0VGVybSh1bnNpZ25lZCBsb25nIG1vZF9oYW5kbGUsIHVuc2lnbmVkIGxvbmcgZmxhZykKLXsKLSAgICBzd2l0Y2ggKGZsYWcpCi0gICAgewotICAgICAgICBjYXNlIDA6Ci0gICAgICAgICAgICBpZiAoX0NSVF9pbml0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBfX2N0b3JkdG9ySW5pdCgpOwotCi0gICAgICAgICAgICAvKiBJZ25vcmUgZmF0YWwgc2lnbmFscyAqLwotICAgICAgICAgICAgc2lnbmFsKFNJR1NFR1YsIFNJR19JR04pOwotICAgICAgICAgICAgc2lnbmFsKFNJR0ZQRSwgU0lHX0lHTik7Ci0KLSAgICAgICAgICAgIHJldHVybiAxOwotCi0gICAgICAgIGNhc2UgMToKLSAgICAgICAgICAgIF9fY3RvcmR0b3JUZXJtKCk7Ci0gICAgICAgICAgICBfQ1JUX3Rlcm0oKTsKLSAgICAgICAgICAgIHJldHVybiAxOwotCi0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9QQy9vczJlbXgvZ2V0cGF0aHAuYyBiL1BDL29zMmVteC9nZXRwYXRocC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZDczNzc0Li4wMDAwMDAwCi0tLSBhL1BDL29zMmVteC9nZXRwYXRocC5jCisrKyAvZGV2L251bGwKQEAgLTEsNDE4ICswLDAgQEAKLQotLyogUmV0dXJuIHRoZSBpbml0aWFsIG1vZHVsZSBzZWFyY2ggcGF0aC4gKi8KLS8qIFRoaXMgdmVyc2lvbiB1c2VkIGJ5IE9TLzIrRU1YICovCi0KLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgIFBBVEggUlVMRVMgRk9SIE9TLzIrRU1YOgotICAgVGhpcyBkZXNjcmliZXMgaG93IHN5cy5wYXRoIGlzIGZvcm1lZCBvbiBPUy8yK0VNWC4gIEl0IGRlc2NyaWJlcyB0aGUKLSAgIGZ1bmN0aW9uYWxpdHksIG5vdCB0aGUgaW1wbGVtZW50YXRpb24gKGllLCB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlc2UKLSAgIGFyZSBhY3R1YWxseSBmZXRjaGVkIGlzIGRpZmZlcmVudCkKLQotICAgKiBQeXRob24gYWx3YXlzIGFkZHMgYW4gZW1wdHkgZW50cnkgYXQgdGhlIHN0YXJ0LCB3aGljaCBjb3JyZXNwb25kcwotICAgICB0byB0aGUgY3VycmVudCBkaXJlY3RvcnkuCi0KLSAgICogSWYgdGhlIFBZVEhPTlBBVEggZW52LiB2YXIuIGV4aXN0cywgaXRzIGVudHJpZXMgYXJlIGFkZGVkIG5leHQuCi0KLSAgICogV2UgYXR0ZW1wdCB0byBsb2NhdGUgdGhlICJQeXRob24gSG9tZSIgLSBpZiB0aGUgUFlUSE9OSE9NRSBlbnYgdmFyCi0gICAgIGlzIHNldCwgd2UgYmVsaWV2ZSBpdC4gIE90aGVyd2lzZSwgd2UgdXNlIHRoZSBwYXRoIG9mIG91ciBob3N0IC5FWEUncwotICAgICB0byB0cnkgYW5kIGxvY2F0ZSBvdXIgImxhbmRtYXJrIiAobGliXFxvcy5weSkgYW5kIGRlZHVjZSBvdXIgaG9tZS4KLSAgICAgLSBJZiB3ZSBETyBoYXZlIGEgUHl0aG9uIEhvbWU6IFRoZSByZWxldmFudCBzdWItZGlyZWN0b3JpZXMgKExpYiwKLSAgICAgICBwbGF0LXdpbiwgZXRjKSBhcmUgYmFzZWQgb24gdGhlIFB5dGhvbiBIb21lCi0gICAgIC0gSWYgd2UgRE8gTk9UIGhhdmUgYSBQeXRob24gSG9tZSwgdGhlIGNvcmUgUHl0aG9uIFBhdGggaXMKLSAgICAgICBsb2FkZWQgZnJvbSB0aGUgcmVnaXN0cnkuICBUaGlzIGlzIHRoZSBtYWluIFB5dGhvblBhdGgga2V5LAotICAgICAgIGFuZCBib3RoIEhLTE0gYW5kIEhLQ1UgYXJlIGNvbWJpbmVkIHRvIGZvcm0gdGhlIHBhdGgpCi0KLSAgICogSWZmIC0gd2UgY2FuIG5vdCBsb2NhdGUgdGhlIFB5dGhvbiBIb21lLCBhbmQgaGF2ZSBub3QgaGFkIGEgUFlUSE9OUEFUSAotICAgICBzcGVjaWZpZWQgKGllLCB3ZSBoYXZlIF9ub3RoaW5nXyB3ZSBjYW4gYXNzdW1lIGlzIGEgZ29vZCBwYXRoKSwgYQotICAgICBkZWZhdWx0IHBhdGggd2l0aCByZWxhdGl2ZSBlbnRyaWVzIGlzIHVzZWQgKGVnLiAuXExpYjsuXHBsYXQtd2luLCBldGMpCi0KLQotICBUaGUgZW5kIHJlc3VsdCBvZiBhbGwgdGhpcyBpczoKLSAgKiBXaGVuIHJ1bm5pbmcgcHl0aG9uLmV4ZSwgb3IgYW55IG90aGVyIC5leGUgaW4gdGhlIG1haW4gUHl0aG9uIGRpcmVjdG9yeQotICAgIChlaXRoZXIgYW4gaW5zdGFsbGVkIHZlcnNpb24sIG9yIGRpcmVjdGx5IGZyb20gdGhlIFBDYnVpbGQgZGlyZWN0b3J5KSwKLSAgICB0aGUgY29yZSBwYXRoIGlzIGRlZHVjZWQuCi0KLSAgKiBXaGVuIFB5dGhvbiBpcyBob3N0ZWQgaW4gYW5vdGhlciBleGUgKGRpZmZlcmVudCBkaXJlY3RvcnksIGVtYmVkZGVkIHZpYQotICAgIENPTSwgZXRjKSwgdGhlIFB5dGhvbiBIb21lIHdpbGwgbm90IGJlIGRlZHVjZWQsIHNvIHRoZSBjb3JlIHBhdGggZnJvbQotICAgIHRoZSByZWdpc3RyeSBpcyB1c2VkLiAgT3RoZXIgImFwcGxpY2F0aW9uIHBhdGhzICJpbiB0aGUgcmVnaXN0cnkgYXJlCi0gICAgYWx3YXlzIHJlYWQuCi0KLSAgKiBJZiBQeXRob24gY2FuJ3QgZmluZCBpdHMgaG9tZSBhbmQgdGhlcmUgaXMgbm8gcmVnaXN0cnkgKGVnLCBmcm96ZW4KLSAgICBleGUsIHNvbWUgdmVyeSBzdHJhbmdlIGluc3RhbGxhdGlvbiBzZXR1cCkgeW91IGdldCBhIHBhdGggd2l0aAotICAgIHNvbWUgZGVmYXVsdCwgYnV0IHJlbGF0aXZlLCBwYXRocy4KLQotICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwotCi0KLSNpbmNsdWRlICJQeXRob24uaCIKLSNpbmNsdWRlICJvc2RlZnMuaCIKLQotI2lmbmRlZiBQWU9TX09TMgotI2Vycm9yIFRoaXMgZmlsZSBvbmx5IGNvbXBpbGFibGUgb24gT1MvMgotI2VuZGlmCi0KLSNkZWZpbmUgSU5DTF9ET1MKLSNpbmNsdWRlIDxvczIuaD4KLQotI2luY2x1ZGUgPHN5cy90eXBlcy5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0KLSNpZiBIQVZFX1VOSVNURF9ICi0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0jZW5kaWYgLyogSEFWRV9VTklTVERfSCAqLwotCi0vKiBTZWFyY2ggaW4gc29tZSBjb21tb24gbG9jYXRpb25zIGZvciB0aGUgYXNzb2NpYXRlZCBQeXRob24gbGlicmFyaWVzLgotICoKLSAqIFB5X0dldFBhdGgoKSB0cmllcyB0byByZXR1cm4gYSBzZW5zaWJsZSBQeXRob24gbW9kdWxlIHNlYXJjaCBwYXRoLgotICoKLSAqIFRoZSBhcHByb2FjaCBpcyBhbiBhZGFwdGF0aW9uIGZvciBXaW5kb3dzIG9mIHRoZSBzdHJhdGVneSB1c2VkIGluCi0gKiAuLi9Nb2R1bGVzL2dldHBhdGguYzsgaXQgdXNlcyB0aGUgV2luZG93cyBSZWdpc3RyeSBhcyBvbmUgb2YgaXRzCi0gKiBpbmZvcm1hdGlvbiBzb3VyY2VzLgotICovCi0KLSNpZm5kZWYgTEFORE1BUksKLSNpZiBkZWZpbmVkKFBZQ0NfR0NDKQotI2RlZmluZSBMQU5ETUFSSyAibGliL29zLnB5IgotI2Vsc2UKLSNkZWZpbmUgTEFORE1BUksgImxpYlxcb3MucHkiCi0jZW5kaWYKLSNlbmRpZgotCi1zdGF0aWMgY2hhciBwcmVmaXhbTUFYUEFUSExFTisxXTsKLXN0YXRpYyBjaGFyIHByb2dwYXRoW01BWFBBVEhMRU4rMV07Ci1zdGF0aWMgY2hhciAqbW9kdWxlX3NlYXJjaF9wYXRoID0gTlVMTDsKLQotCi1zdGF0aWMgaW50Ci1pc19zZXAoY2hhciBjaCkgLyogZGV0ZXJtaW5lIGlmICJjaCIgaXMgYSBzZXBhcmF0b3IgY2hhcmFjdGVyICovCi17Ci0jaWZkZWYgQUxUU0VQCi0gICAgcmV0dXJuIGNoID09IFNFUCB8fCBjaCA9PSBBTFRTRVA7Ci0jZWxzZQotICAgIHJldHVybiBjaCA9PSBTRVA7Ci0jZW5kaWYKLX0KLQotLyogYXNzdW1lcyAnZGlyJyBudWxsIHRlcm1pbmF0ZWQgaW4gYm91bmRzLgotICogTmV2ZXIgd3JpdGVzIGJleW9uZCBleGlzdGluZyB0ZXJtaW5hdG9yLgotICovCi1zdGF0aWMgdm9pZAotcmVkdWNlKGNoYXIgKmRpcikKLXsKLSAgICBzaXplX3QgaSA9IHN0cmxlbihkaXIpOwotICAgIHdoaWxlIChpID4gMCAmJiAhaXNfc2VwKGRpcltpXSkpCi0gICAgICAgIC0taTsKLSAgICBkaXJbaV0gPSAnXDAnOwotfQotCi1zdGF0aWMgaW50Ci1leGlzdHMoY2hhciAqZmlsZW5hbWUpCi17Ci0gICAgc3RydWN0IHN0YXQgYnVmOwotICAgIHJldHVybiBzdGF0KGZpbGVuYW1lLCAmYnVmKSA9PSAwOwotfQotCi0vKiBJcyBtb2R1bGUgIChjaGVjayBmb3IgLnB5Yy8ucHlvIHRvbykKLSAqIEFzc3VtZXMgJ2ZpbGVuYW1lJyBNQVhQQVRITEVOKzEgYnl0ZXMgbG9uZyAtCi0gKiBtYXkgZXh0ZW5kICdmaWxlbmFtZScgYnkgb25lIGNoYXJhY3Rlci4KLSAqLwotc3RhdGljIGludAotaXNtb2R1bGUoY2hhciAqZmlsZW5hbWUpCi17Ci0gICAgaWYgKGV4aXN0cyhmaWxlbmFtZSkpCi0gICAgICAgIHJldHVybiAxOwotCi0gICAgLyogQ2hlY2sgZm9yIHRoZSBjb21waWxlZCB2ZXJzaW9uIG9mIHByZWZpeC4gKi8KLSAgICBpZiAoc3RybGVuKGZpbGVuYW1lKSA8IE1BWFBBVEhMRU4pIHsKLSAgICAgICAgc3RyY2F0KGZpbGVuYW1lLCBQeV9PcHRpbWl6ZUZsYWcgPyAibyIgOiAiYyIpOwotICAgICAgICBpZiAoZXhpc3RzKGZpbGVuYW1lKSkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgIH0KLSAgICByZXR1cm4gMDsKLX0KLQotLyogQWRkIGEgcGF0aCBjb21wb25lbnQsIGJ5IGFwcGVuZGluZyBzdHVmZiB0byBidWZmZXIuCi0gICBidWZmZXIgbXVzdCBoYXZlIGF0IGxlYXN0IE1BWFBBVEhMRU4gKyAxIGJ5dGVzIGFsbG9jYXRlZCwgYW5kIGNvbnRhaW4gYQotICAgTlVMLXRlcm1pbmF0ZWQgc3RyaW5nIHdpdGggbm8gbW9yZSB0aGFuIE1BWFBBVEhMRU4gY2hhcmFjdGVycyAobm90IGNvdW50aW5nCi0gICB0aGUgdHJhaWxpbmcgTlVMKS4gIEl0J3MgYSBmYXRhbCBlcnJvciBpZiBpdCBjb250YWlucyBhIHN0cmluZyBsb25nZXIgdGhhbgotICAgdGhhdCAoY2FsbGVycyBtdXN0IGJlIGNhcmVmdWwhKS4gIElmIHRoZXNlIHJlcXVpcmVtZW50cyBhcmUgbWV0LCBpdCdzCi0gICBndWFyYW50ZWVkIHRoYXQgYnVmZmVyIHdpbGwgc3RpbGwgYmUgYSBOVUwtdGVybWluYXRlZCBzdHJpbmcgd2l0aCBubyBtb3JlCi0gICB0aGFuIE1BWFBBVEhMRU4gY2hhcmFjdGVycyBhdCBleGl0LiAgSWYgc3R1ZmYgaXMgdG9vIGxvbmcsIG9ubHkgYXMgbXVjaCBvZgotICAgc3R1ZmYgYXMgZml0cyB3aWxsIGJlIGFwcGVuZGVkLgotKi8KLQotc3RhdGljIHZvaWQKLWpvaW4oY2hhciAqYnVmZmVyLCBjaGFyICpzdHVmZikKLXsKLSAgICBzaXplX3QgbiwgazsKLSAgICBpZiAoaXNfc2VwKHN0dWZmWzBdKSkKLSAgICAgICAgbiA9IDA7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG4gPSBzdHJsZW4oYnVmZmVyKTsKLSAgICAgICAgaWYgKG4gPiAwICYmICFpc19zZXAoYnVmZmVyW24tMV0pICYmIG4gPCBNQVhQQVRITEVOKQotICAgICAgICAgICAgYnVmZmVyW24rK10gPSBTRVA7Ci0gICAgfQotICAgIGlmIChuID4gTUFYUEFUSExFTikKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiYnVmZmVyIG92ZXJmbG93IGluIGdldHBhdGhwLmMncyBqb2lucGF0aCgpIik7Ci0gICAgayA9IHN0cmxlbihzdHVmZik7Ci0gICAgaWYgKG4gKyBrID4gTUFYUEFUSExFTikKLSAgICAgICAgayA9IE1BWFBBVEhMRU4gLSBuOwotICAgIHN0cm5jcHkoYnVmZmVyK24sIHN0dWZmLCBrKTsKLSAgICBidWZmZXJbbitrXSA9ICdcMCc7Ci19Ci0KLS8qIGdvdGxhbmRtYXJrIG9ubHkgY2FsbGVkIGJ5IHNlYXJjaF9mb3JfcHJlZml4LCB3aGljaCBlbnN1cmVzCi0gKiAncHJlZml4JyBpcyBudWxsIHRlcm1pbmF0ZWQgaW4gYm91bmRzLiAgam9pbigpIGVuc3VyZXMKLSAqICdsYW5kbWFyaycgY2FuIG5vdCBvdmVyZmxvdyBwcmVmaXggaWYgdG9vIGxvbmcuCi0gKi8KLXN0YXRpYyBpbnQKLWdvdGxhbmRtYXJrKGNoYXIgKmxhbmRtYXJrKQotewotICAgIGludCBuLCBvazsKLQotICAgIG4gPSBzdHJsZW4ocHJlZml4KTsKLSAgICBqb2luKHByZWZpeCwgbGFuZG1hcmspOwotICAgIG9rID0gaXNtb2R1bGUocHJlZml4KTsKLSAgICBwcmVmaXhbbl0gPSAnXDAnOwotICAgIHJldHVybiBvazsKLX0KLQotLyogYXNzdW1lcyBhcmd2MF9wYXRoIGlzIE1BWFBBVEhMRU4rMSBieXRlcyBsb25nLCBhbHJlYWR5IFwwIHRlcm0nZC4KLSAqIGFzc3VtcHRpb24gcHJvdmlkZWQgYnkgb25seSBjYWxsZXIsIGNhbGN1bGF0ZV9wYXRoKCkKLSAqLwotc3RhdGljIGludAotc2VhcmNoX2Zvcl9wcmVmaXgoY2hhciAqYXJndjBfcGF0aCwgY2hhciAqbGFuZG1hcmspCi17Ci0gICAgLyogU2VhcmNoIGZyb20gYXJndjBfcGF0aCwgdW50aWwgbGFuZG1hcmsgaXMgZm91bmQgKi8KLSAgICBzdHJjcHkocHJlZml4LCBhcmd2MF9wYXRoKTsKLSAgICBkbyB7Ci0gICAgICAgIGlmIChnb3RsYW5kbWFyayhsYW5kbWFyaykpCi0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgcmVkdWNlKHByZWZpeCk7Ci0gICAgfSB3aGlsZSAocHJlZml4WzBdKTsKLSAgICByZXR1cm4gMDsKLX0KLQotCi1zdGF0aWMgdm9pZAotZ2V0X3Byb2dwYXRoKHZvaWQpCi17Ci0gICAgZXh0ZXJuIGNoYXIgKlB5X0dldFByb2dyYW1OYW1lKHZvaWQpOwotICAgIGNoYXIgKnBhdGggPSBnZXRlbnYoIlBBVEgiKTsKLSAgICBjaGFyICpwcm9nID0gUHlfR2V0UHJvZ3JhbU5hbWUoKTsKLQotICAgIFBQSUIgcGliOwotICAgIGlmICgoRG9zR2V0SW5mb0Jsb2NrcyhOVUxMLCAmcGliKSA9PSAwKSAmJgotICAgICAgICAoRG9zUXVlcnlNb2R1bGVOYW1lKHBpYi0+cGliX2htdGUsIHNpemVvZihwcm9ncGF0aCksIHByb2dwYXRoKSA9PSAwKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHByb2cgPT0gTlVMTCB8fCAqcHJvZyA9PSAnXDAnKQotICAgICAgICBwcm9nID0gInB5dGhvbiI7Ci0KLSAgICAvKiBJZiB0aGVyZSBpcyBubyBzbGFzaCBpbiB0aGUgYXJndjAgcGF0aCwgdGhlbiB3ZSBoYXZlIHRvCi0gICAgICogYXNzdW1lIHB5dGhvbiBpcyBvbiB0aGUgdXNlcidzICRQQVRILCBzaW5jZSB0aGVyZSdzIG5vCi0gICAgICogb3RoZXIgd2F5IHRvIGZpbmQgYSBkaXJlY3RvcnkgdG8gc3RhcnQgdGhlIHNlYXJjaCBmcm9tLiAgSWYKLSAgICAgKiAkUEFUSCBpc24ndCBleHBvcnRlZCwgeW91IGxvc2UuCi0gICAgICovCi0jaWZkZWYgQUxUU0VQCi0gICAgaWYgKHN0cmNocihwcm9nLCBTRVApIHx8IHN0cmNocihwcm9nLCBBTFRTRVApKQotI2Vsc2UKLSAgICBpZiAoc3RyY2hyKHByb2csIFNFUCkpCi0jZW5kaWYKLSAgICAgICAgc3RybmNweShwcm9ncGF0aCwgcHJvZywgTUFYUEFUSExFTik7Ci0gICAgZWxzZSBpZiAocGF0aCkgewotICAgICAgICB3aGlsZSAoMSkgewotICAgICAgICAgICAgY2hhciAqZGVsaW0gPSBzdHJjaHIocGF0aCwgREVMSU0pOwotCi0gICAgICAgICAgICBpZiAoZGVsaW0pIHsKLSAgICAgICAgICAgICAgICBzaXplX3QgbGVuID0gZGVsaW0gLSBwYXRoOwotICAgICAgICAgICAgICAgIC8qIGVuc3VyZSB3ZSBjYW4ndCBvdmVyd3JpdGUgYnVmZmVyICovCi0jaWYgIWRlZmluZWQoUFlDQ19HQ0MpCi0gICAgICAgICAgICAgICAgbGVuID0gbWluKE1BWFBBVEhMRU4sbGVuKTsKLSNlbHNlCi0gICAgICAgICAgICAgICAgbGVuID0gTUFYUEFUSExFTiA8IGxlbiA/IE1BWFBBVEhMRU4gOiBsZW47Ci0jZW5kaWYKLSAgICAgICAgICAgICAgICBzdHJuY3B5KHByb2dwYXRoLCBwYXRoLCBsZW4pOwotICAgICAgICAgICAgICAgICoocHJvZ3BhdGggKyBsZW4pID0gJ1wwJzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBzdHJuY3B5KHByb2dwYXRoLCBwYXRoLCBNQVhQQVRITEVOKTsKLQotICAgICAgICAgICAgLyogam9pbigpIGlzIHNhZmUgZm9yIE1BWFBBVEhMRU4rMSBzaXplIGJ1ZmZlciAqLwotICAgICAgICAgICAgam9pbihwcm9ncGF0aCwgcHJvZyk7Ci0gICAgICAgICAgICBpZiAoZXhpc3RzKHByb2dwYXRoKSkKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgaWYgKCFkZWxpbSkgewotICAgICAgICAgICAgICAgIHByb2dwYXRoWzBdID0gJ1wwJzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHBhdGggPSBkZWxpbSArIDE7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZWxzZQotICAgICAgICBwcm9ncGF0aFswXSA9ICdcMCc7Ci19Ci0KLXN0YXRpYyB2b2lkCi1jYWxjdWxhdGVfcGF0aCh2b2lkKQotewotICAgIGNoYXIgYXJndjBfcGF0aFtNQVhQQVRITEVOKzFdOwotICAgIGNoYXIgKmJ1ZjsKLSAgICBzaXplX3QgYnVmc3o7Ci0gICAgY2hhciAqcHl0aG9uaG9tZSA9IFB5X0dldFB5dGhvbkhvbWUoKTsKLSAgICBjaGFyICplbnZwYXRoID0gZ2V0ZW52KCJQWVRIT05QQVRIIik7Ci0gICAgY2hhciB6aXBfcGF0aFtNQVhQQVRITEVOKzFdOwotICAgIHNpemVfdCBsZW47Ci0KLSAgICBnZXRfcHJvZ3BhdGgoKTsKLSAgICAvKiBwcm9ncGF0aCBndWFyYW50ZWVkIFwwIHRlcm1pbmF0ZWQgaW4gTUFYUEFUSCsxIGJ5dGVzLiAqLwotICAgIHN0cmNweShhcmd2MF9wYXRoLCBwcm9ncGF0aCk7Ci0gICAgcmVkdWNlKGFyZ3YwX3BhdGgpOwotICAgIGlmIChweXRob25ob21lID09IE5VTEwgfHwgKnB5dGhvbmhvbWUgPT0gJ1wwJykgewotICAgICAgICBpZiAoc2VhcmNoX2Zvcl9wcmVmaXgoYXJndjBfcGF0aCwgTEFORE1BUkspKQotICAgICAgICAgICAgcHl0aG9uaG9tZSA9IHByZWZpeDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcHl0aG9uaG9tZSA9IE5VTEw7Ci0gICAgfQotICAgIGVsc2UKLSAgICAgICAgc3RybmNweShwcmVmaXgsIHB5dGhvbmhvbWUsIE1BWFBBVEhMRU4pOwotCi0gICAgaWYgKGVudnBhdGggJiYgKmVudnBhdGggPT0gJ1wwJykKLSAgICAgICAgZW52cGF0aCA9IE5VTEw7Ci0KLSAgICAvKiBDYWxjdWxhdGUgemlwIGFyY2hpdmUgcGF0aCAqLwotICAgIHN0cm5jcHkoemlwX3BhdGgsIHByb2dwYXRoLCBNQVhQQVRITEVOKTsKLSAgICB6aXBfcGF0aFtNQVhQQVRITEVOXSA9ICdcMCc7Ci0gICAgbGVuID0gc3RybGVuKHppcF9wYXRoKTsKLSAgICBpZiAobGVuID4gNCkgewotICAgICAgICB6aXBfcGF0aFtsZW4tM10gPSAneic7ICAvKiBjaGFuZ2UgZW5kaW5nIHRvICJ6aXAiICovCi0gICAgICAgIHppcF9wYXRoW2xlbi0yXSA9ICdpJzsKLSAgICAgICAgemlwX3BhdGhbbGVuLTFdID0gJ3AnOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgemlwX3BhdGhbMF0gPSAwOwotICAgIH0KLQotICAgIC8qIFdlIG5lZWQgdG8gY29uc3RydWN0IGEgcGF0aCBmcm9tIHRoZSBmb2xsb3dpbmcgcGFydHMuCi0gICAgICogKDEpIHRoZSBQWVRIT05QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLCBpZiBzZXQ7Ci0gICAgICogKDIpIHRoZSB6aXAgYXJjaGl2ZSBmaWxlIHBhdGg7Ci0gICAgICogKDMpIHRoZSBQWVRIT05QQVRIIGNvbmZpZyBtYWNybywgd2l0aCB0aGUgbGVhZGluZyAiLiIKLSAgICAgKiAgICAgb2YgZWFjaCBjb21wb25lbnQgcmVwbGFjZWQgd2l0aCBweXRob25ob21lLCBpZiBzZXQ7Ci0gICAgICogKDQpIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgZXhlY3V0YWJsZSAoYXJndjBfcGF0aCkuCi0gICAgICogVGhlIGxlbmd0aCBjYWxjdWxhdGlvbiBjYWxjdWxhdGVzICMzIGZpcnN0LgotICAgICAqLwotCi0gICAgLyogQ2FsY3VsYXRlIHNpemUgb2YgcmV0dXJuIGJ1ZmZlciAqLwotICAgIGlmIChweXRob25ob21lICE9IE5VTEwpIHsKLSAgICAgICAgY2hhciAqcDsKLSAgICAgICAgYnVmc3ogPSAxOwotICAgICAgICBmb3IgKHAgPSBQWVRIT05QQVRIOyAqcDsgcCsrKSB7Ci0gICAgICAgICAgICBpZiAoKnAgPT0gREVMSU0pCi0gICAgICAgICAgICAgICAgYnVmc3orKzsgLyogbnVtYmVyIG9mIERFTElNIHBsdXMgb25lICovCi0gICAgICAgIH0KLSAgICAgICAgYnVmc3ogKj0gc3RybGVuKHB5dGhvbmhvbWUpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIGJ1ZnN6ID0gMDsKLSAgICBidWZzeiArPSBzdHJsZW4oUFlUSE9OUEFUSCkgKyAxOwotICAgIGJ1ZnN6ICs9IHN0cmxlbihhcmd2MF9wYXRoKSArIDE7Ci0gICAgYnVmc3ogKz0gc3RybGVuKHppcF9wYXRoKSArIDE7Ci0gICAgaWYgKGVudnBhdGggIT0gTlVMTCkKLSAgICAgICAgYnVmc3ogKz0gc3RybGVuKGVudnBhdGgpICsgMTsKLQotICAgIG1vZHVsZV9zZWFyY2hfcGF0aCA9IGJ1ZiA9IG1hbGxvYyhidWZzeik7Ci0gICAgaWYgKGJ1ZiA9PSBOVUxMKSB7Ci0gICAgICAgIC8qIFdlIGNhbid0IGV4aXQsIHNvIHByaW50IGEgd2FybmluZyBhbmQgbGltcCBhbG9uZyAqLwotICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNhbid0IG1hbGxvYyBkeW5hbWljIFBZVEhPTlBBVEguXG4iKTsKLSAgICAgICAgaWYgKGVudnBhdGgpIHsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVXNpbmcgZW52aXJvbm1lbnQgJFBZVEhPTlBBVEguXG4iKTsKLSAgICAgICAgICAgIG1vZHVsZV9zZWFyY2hfcGF0aCA9IGVudnBhdGg7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVzaW5nIGRlZmF1bHQgc3RhdGljIHBhdGguXG4iKTsKLSAgICAgICAgICAgIG1vZHVsZV9zZWFyY2hfcGF0aCA9IFBZVEhPTlBBVEg7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChlbnZwYXRoKSB7Ci0gICAgICAgIHN0cmNweShidWYsIGVudnBhdGgpOwotICAgICAgICBidWYgPSBzdHJjaHIoYnVmLCAnXDAnKTsKLSAgICAgICAgKmJ1ZisrID0gREVMSU07Ci0gICAgfQotICAgIGlmICh6aXBfcGF0aFswXSkgewotICAgICAgICBzdHJjcHkoYnVmLCB6aXBfcGF0aCk7Ci0gICAgICAgIGJ1ZiA9IHN0cmNocihidWYsICdcMCcpOwotICAgICAgICAqYnVmKysgPSBERUxJTTsKLSAgICB9Ci0KLSAgICBpZiAocHl0aG9uaG9tZSA9PSBOVUxMKSB7Ci0gICAgICAgIHN0cmNweShidWYsIFBZVEhPTlBBVEgpOwotICAgICAgICBidWYgPSBzdHJjaHIoYnVmLCAnXDAnKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGNoYXIgKnAgPSBQWVRIT05QQVRIOwotICAgICAgICBjaGFyICpxOwotICAgICAgICBzaXplX3QgbjsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgcSA9IHN0cmNocihwLCBERUxJTSk7Ci0gICAgICAgICAgICBpZiAocSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIG4gPSBzdHJsZW4ocCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbiA9IHEtcDsKLSAgICAgICAgICAgIGlmIChwWzBdID09ICcuJyAmJiBpc19zZXAocFsxXSkpIHsKLSAgICAgICAgICAgICAgICBzdHJjcHkoYnVmLCBweXRob25ob21lKTsKLSAgICAgICAgICAgICAgICBidWYgPSBzdHJjaHIoYnVmLCAnXDAnKTsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgbi0tOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RybmNweShidWYsIHAsIG4pOwotICAgICAgICAgICAgYnVmICs9IG47Ci0gICAgICAgICAgICBpZiAocSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgKmJ1ZisrID0gREVMSU07Ci0gICAgICAgICAgICBwID0gcSsxOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChhcmd2MF9wYXRoKSB7Ci0gICAgICAgICpidWYrKyA9IERFTElNOwotICAgICAgICBzdHJjcHkoYnVmLCBhcmd2MF9wYXRoKTsKLSAgICAgICAgYnVmID0gc3RyY2hyKGJ1ZiwgJ1wwJyk7Ci0gICAgfQotICAgICpidWYgPSAnXDAnOwotfQotCi0KLS8qIEV4dGVybmFsIGludGVyZmFjZSAqLwotCi1jaGFyICoKLVB5X0dldFBhdGgodm9pZCkKLXsKLSAgICBpZiAoIW1vZHVsZV9zZWFyY2hfcGF0aCkKLSAgICAgICAgY2FsY3VsYXRlX3BhdGgoKTsKLSAgICByZXR1cm4gbW9kdWxlX3NlYXJjaF9wYXRoOwotfQotCi1jaGFyICoKLVB5X0dldFByZWZpeCh2b2lkKQotewotICAgIGlmICghbW9kdWxlX3NlYXJjaF9wYXRoKQotICAgICAgICBjYWxjdWxhdGVfcGF0aCgpOwotICAgIHJldHVybiBwcmVmaXg7Ci19Ci0KLWNoYXIgKgotUHlfR2V0RXhlY1ByZWZpeCh2b2lkKQotewotICAgIHJldHVybiBQeV9HZXRQcmVmaXgoKTsKLX0KLQotY2hhciAqCi1QeV9HZXRQcm9ncmFtRnVsbFBhdGgodm9pZCkKLXsKLSAgICBpZiAoIW1vZHVsZV9zZWFyY2hfcGF0aCkKLSAgICAgICAgY2FsY3VsYXRlX3BhdGgoKTsKLSAgICByZXR1cm4gcHJvZ3BhdGg7Ci19CmRpZmYgLS1naXQgYS9QQy9vczJlbXgvcHljb25maWcuaCBiL1BDL29zMmVteC9weWNvbmZpZy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNTYxMDVhLi4wMDAwMDAwCi0tLSBhL1BDL29zMmVteC9weWNvbmZpZy5oCisrKyAvZGV2L251bGwKQEAgLTEsMzMyICswLDAgQEAKLSNpZm5kZWYgUHlfQ09ORklHX0gKLSNkZWZpbmUgUHlfQ09ORklHX0gKLQotI2Vycm9yICJQRVAgMTE6IE9TLzIgaXMgbm93IHVuc3VwcG9ydGVkLCBjb2RlIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy40IgotCi0vKiBjb25maWcuaC4KLSAqIEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkvZnJvbSBjb25maWd1cmUuCi0gKiBub3cgbWFpbnRhaW5lZCBtYW51YWxseS4KLSAqLwotCi0vKiBidWlsZCBlbnZpcm9ubWVudCAqLwotI2RlZmluZSBQTEFURk9STQkib3MyZW14IgotI2RlZmluZSBDT01QSUxFUgkiW0VNWCBHQ0MgIiBfX1ZFUlNJT05fXyAiXSIKLSNkZWZpbmUgUFlPU19PUzIJMQotI2RlZmluZSBQWUNDX0dDQwkxCi0KLS8qIGRlZmF1bHQgbG9jYXRpb24ocykgKi8KLSNpZm5kZWYgUFJFRklYCi0jZGVmaW5lIFBSRUZJWAkJIiIKLSNlbmRpZgotI2lmbmRlZiBQWVRIT05QQVRICi0jZGVmaW5lIFBZVEhPTlBBVEgJIi4vTGliOy4vTGliL3BsYXQtIiBQTEFURk9STSBcCi0JCQkiOy4vTGliL2xpYi1keW5sb2FkOy4vTGliL3NpdGUtcGFja2FnZXMiCi0jZW5kaWYKLQotLyogRGVidWdnaW5nICovCi0jaWZuZGVmIFB5X0RFQlVHCi0vKiNkZWZpbmUgUHlfREVCVUcgMSovCi0jZW5kaWYKLQotLyogaWYgYnVpbGRpbmcgYW4gZXh0ZW5zaW9uIG9yIHdyYXBwZXIgZXhlY3V0YWJsZSwKLSAqIG1hcmsgUHl0aG9uIEFQSSBzeW1ib2xzICJleHRlcm4iIHNvIHRoYXQgc3ltYm9scwotICogaW1wb3J0ZWQgZnJvbSB0aGUgUHl0aG9uIGNvcmUgRExMIGFyZW4ndCBkdXBsaWNhdGVkLgotICovCi0jaWZkZWYgUHlfQlVJTERfQ09SRQotIyAgZGVmaW5lIFB5QVBJX0ZVTkMoUlRZUEUpCVJUWVBFCi0jZWxzZQotIyAgZGVmaW5lIFB5QVBJX0ZVTkMoUlRZUEUpCWV4dGVybiBSVFlQRQotI2VuZGlmCi0jZGVmaW5lIFB5QVBJX0RBVEEoUlRZUEUpCWV4dGVybiBSVFlQRQotI2RlZmluZSBQeU1PRElOSVRfRlVOQwl2b2lkCi0KLS8qIFVzZSBPUy8yIGZsYXZvdXIgb2YgdGhyZWFkcyAqLwotI2RlZmluZSBXSVRIX1RIUkVBRAkxCi0jZGVmaW5lIE9TMl9USFJFQURTCTEKLQotLyogV2Ugd2FudCBzb2NrZXRzICovCi0jZGVmaW5lIFRDUElQVjQJCTEKLSNkZWZpbmUgVVNFX1NPQ0tFVAkxCi0jZGVmaW5lIHNvY2tsZW5fdAlpbnQKLSNkZWZpbmUgRkRfU0VUU0laRQkxMDI0Ci0KLS8qIGVuYWJsZSB0aGUgUHl0aG9uIG9iamVjdCBhbGxvY2F0b3IgKi8KLSNkZWZpbmUJV0lUSF9QWU1BTExPQwkxCi0KLS8qIGVuYWJsZSB0aGUgR0MgbW9kdWxlICovCi0jZGVmaW5lIFdJVEhfQ1lDTEVfR0MJMQotCi0vKiBEZWZpbmUgaWYgeW91IHdhbnQgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIGluIGV4dGVuc2lvbiBtb2R1bGVzICovCi0jZGVmaW5lIFdJVEhfRE9DX1NUUklOR1MgMQotCi0vKiBVbmljb2RlIHJlbGF0ZWQgKi8KLSNkZWZpbmUgUFlfVU5JQ09ERV9UWVBFCXdjaGFyX3QKLSNkZWZpbmUgUHlfVU5JQ09ERV9TSVpFIFNJWkVPRl9TSE9SVAotCi0vKiBFTVggZGVmaW5lcyBzc2l6ZV90ICovCi0jZGVmaW5lIEhBVkVfU1NJWkVfVAkxCi0KLS8qIHN5c3RlbSBjYXBhYmlsaXRpZXMgKi8KLSNkZWZpbmUgSEFWRV9UVFlOQU1FCTEKLSNkZWZpbmUgSEFWRV9XQUlUCTEKLSNkZWZpbmUgSEFWRV9HRVRFR0lEICAgIDEKLSNkZWZpbmUgSEFWRV9HRVRFVUlEICAgIDEKLSNkZWZpbmUgSEFWRV9HRVRHSUQgICAgIDEKLSNkZWZpbmUgSEFWRV9HRVRQUElEICAgIDEKLSNkZWZpbmUgSEFWRV9HRVRVSUQgICAgIDEKLSNkZWZpbmUgSEFWRV9PUEVORElSICAgIDEKLSNkZWZpbmUgSEFWRV9QSVBFICAgICAgIDEKLSNkZWZpbmUgSEFWRV9QT1BFTiAgICAgIDEKLSNkZWZpbmUgSEFWRV9TWVNURU0JMQotI2RlZmluZSBIQVZFX1RUWU5BTUUJMQotI2RlZmluZSBIQVZFX0RZTkFNSUNfTE9BRElORwkxCi0KLS8qIGlmIHBvcnQgb2YgR0RCTSBpbnN0YWxsZWQsIGl0IGluY2x1ZGVzIE5EQk0gZW11bGF0aW9uICovCi0jZGVmaW5lIEhBVkVfTkRCTV9IIDEKLQotLyogbmVlZCB0aGlzIGZvciBzcGF3bnYgY29kZSBpbiBwb3NpeG1vZHVsZSAoY2xvbmVkIGZyb20gV0lOMzIgZGVmJ24pICovCi10eXBlZGVmIGxvbmcgaW50cHRyX3Q7Ci0KLS8qIHdlIGRvbid0IGhhdmUgdG1fem9uZSBidXQgZG8gaGF2ZSB0aGUgZXh0ZXJuYWwgYXJyYXkgdHpuYW1lICovCi0jZGVmaW5lIEhBVkVfVFpOQU1FIDEKLQotLyogRGVmaW5lIGFzIHRoZSByZXR1cm4gdHlwZSBvZiBzaWduYWwgaGFuZGxlcnMgKGludCBvciB2b2lkKS4gKi8KLSNkZWZpbmUgUkVUU0lHVFlQRSB2b2lkCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgQU5TSSBDIGhlYWRlciBmaWxlcy4gKi8KLSNkZWZpbmUgU1REQ19IRUFERVJTIDEKLQotLyogRGVmaW5lIGlmIHlvdSBjYW4gc2FmZWx5IGluY2x1ZGUgYm90aCA8c3lzL3RpbWUuaD4gYW5kIDx0aW1lLmg+LiAqLwotI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQotCi0vKiBEZWZpbmUgdGhpcyBpZiB5b3UgaGF2ZSB0aGUgdHlwZSBsb25nIGxvbmcuICovCi0jZGVmaW5lIEhBVkVfTE9OR19MT05HIDEKLQotLyogRGVmaW5lIGlmIHlvdXIgY29tcGlsZXIgc3VwcG9ydHMgZnVuY3Rpb24gcHJvdG90eXBlcy4gKi8KLSNkZWZpbmUgSEFWRV9QUk9UT1RZUEVTIDEKLQotLyogRGVmaW5lIGlmIHlvdXIgY29tcGlsZXIgc3VwcG9ydHMgdmFyaWFibGUgbGVuZ3RoIGZ1bmN0aW9uIHByb3RvdHlwZXMKLSAqIChlLmcuIHZvaWQgZnByaW50ZihGSUxFICosIGNoYXIgKiwgLi4uKTspICphbmQqIDxzdGRhcmcuaD4uCi0gKi8KLSNkZWZpbmUgSEFWRV9TVERBUkdfUFJPVE9UWVBFUyAxCi0KLS8qIERlZmluZSBpZiBtYWxsb2MoMCkgcmV0dXJucyBhIE5VTEwgcG9pbnRlci4gKi8KLSNkZWZpbmUgTUFMTE9DX1pFUk9fUkVUVVJOU19OVUxMIDEKLQotLyogRGVmaW5lIHRvIGZvcmNlIHVzZSBvZiB0aHJlYWQtc2FmZSBlcnJubywgaF9lcnJubywgYW5kIG90aGVyIGZ1bmN0aW9ucy4gKi8KLSNkZWZpbmUgX1JFRU5UUkFOVCAxCi0KLS8qIERlZmluZSBpZiB5b3UgY2FuIHNhZmVseSBpbmNsdWRlIGJvdGggPHN5cy9zZWxlY3QuaD4gYW5kIDxzeXMvdGltZS5oPgotICogKHdoaWNoIHlvdSBjYW4ndCBvbiBTQ08gT0RUIDMuMCkuCi0gKi8KLSNkZWZpbmUgU1lTX1NFTEVDVF9XSVRIX1NZU19USU1FIDEKLQotLyogVGhlIG51bWJlciBvZiBieXRlcyBpbiBhbiBvZmZfdC4gKi8KLSNkZWZpbmUgU0laRU9GX09GRl9UIDQKLQotLyogVGhlIG51bWJlciBvZiBieXRlcyBpbiBhbiB0aW1lX3QuICovCi0jZGVmaW5lIFNJWkVPRl9USU1FX1QgNAotCi0vKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGluIGEgc2hvcnQuICovCi0jZGVmaW5lIFNJWkVPRl9TSE9SVCAyCi0KLS8qIFRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gYSBpbnQuICovCi0jZGVmaW5lIFNJWkVPRl9JTlQgNAotCi0vKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGluIGEgbG9uZy4gKi8KLSNkZWZpbmUgU0laRU9GX0xPTkcgNAotCi0vKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGluIGEgbG9uZyBsb25nLiAqLwotI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HIDgKLQotLyogVGhlIG51bWJlciBvZiBieXRlcyBpbiBhIHZvaWQgKi4gKi8KLSNkZWZpbmUgU0laRU9GX1ZPSURfUCA0Ci0KLS8qIFRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gYSBzaXplX3QuICovCi0jZGVmaW5lIFNJWkVPRl9TSVpFX1QgNAotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGFsYXJtIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX0FMQVJNIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBjbG9jayBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9DTE9DSyAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZHVwMiBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9EVVAyIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBleGVjdiBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9FWEVDViAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3Bhd252IGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1NQQVdOViAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZmxvY2sgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfRkxPQ0sgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGZvcmsgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfRk9SSyAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZnN5bmMgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfRlNZTkMgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGZ0aW1lIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX0ZUSU1FIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBmdHJ1bmNhdGUgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfRlRSVU5DQVRFIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBnZXRjd2QgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfR0VUQ1dEIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBnZXRwZWVybmFtZSBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9HRVRQRUVSTkFNRSAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZ2V0cGdycCBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9HRVRQR1JQIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBnZXRwaWQgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfR0VUUElEIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBnZXRwd2VudCBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9HRVRQV0VOVCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZ2V0dGltZW9mZGF5IGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZ2V0d2QgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfR0VUV0QgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGh5cG90IGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX0hZUE9UIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBraWxsIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX0tJTEwgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIG1lbW1vdmUgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfTUVNTU9WRSAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgbWt0aW1lIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX01LVElNRSAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgcGF1c2UgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfUEFVU0UgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHB1dGVudiBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9QVVRFTlYgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHNlbGVjdCBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9TRUxFQ1QgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHNldGdpZCBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9TRVRHSUQgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHNldGxvY2FsZSBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHNldHBnaWQgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfU0VUUEdJRCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc2V0dWlkIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1NFVFVJRCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc2V0dmJ1ZiBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9TRVRWQlVGIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzaWdhY3Rpb24gZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfU0lHQUNUSU9OIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJlcnJvciBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9TVFJFUlJPUiAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3RyZnRpbWUgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfU1RSRlRJTUUgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHRjZ2V0cGdycCBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9UQ0dFVFBHUlAgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHRjc2V0cGdycCBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9UQ1NFVFBHUlAgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHRtcGZpbGUgZnVuY3Rpb24uICAqLwotI2RlZmluZSBIQVZFX1RNUEZJTEUgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHRpbWVzIGZ1bmN0aW9uLiAqLwotI2RlZmluZSBIQVZFX1RJTUVTIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB0cnVuY2F0ZSBmdW5jdGlvbi4gKi8KLSNkZWZpbmUgSEFWRV9UUlVOQ0FURSAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgdW5hbWUgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfVU5BTUUgMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHdhaXRwaWQgZnVuY3Rpb24uICovCi0jZGVmaW5lIEhBVkVfV0FJVFBJRCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGNvbmlvLmg+IGhlYWRlciBmaWxlLiAqLwotI3VuZGVmIEhBVkVfQ09OSU9fSAotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxkaXJlY3QuaD4gaGVhZGVyIGZpbGUuICovCi0jdW5kZWYgSEFWRV9ESVJFQ1RfSAotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxkaXJlbnQuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfRElSRU5UX0ggMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxlcnJuby5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9FUlJOT19IIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZmNudGwuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfRkNOVExfSCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGlvLmg+IGhlYWRlciBmaWxlLiAqLwotI3VuZGVmIEhBVkVfSU9fSAotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxuY3Vyc2VzLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX05DVVJTRVNfSCAxCi0KLS8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHJvY2Vzcy5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9QUk9DRVNTX0ggMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzaWduYWwuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU0lHTkFMX0ggMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvZmlsZS5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfRklMRV9IIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3BhcmFtLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NlbGVjdC5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3RpbWUuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lcy5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfVElNRVNfSCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91bi5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCi0KLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91dHNuYW1lLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQotCi0vKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvd2FpdC5oPiBoZWFkZXIgZmlsZS4gKi8KLSNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLwotI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKLQotLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8dXRpbWUuaD4gaGVhZGVyIGZpbGUuICovCi0jZGVmaW5lIEhBVkVfVVRJTUVfSCAxCi0KLS8qIEVNWCBoYXMgYW4gc25wcmludGYoKS4gKi8KLSNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCi0KLSNlbmRpZiAvKiAhUHlfQ09ORklHX0ggKi8KLQpkaWZmIC0tZ2l0IGEvUEMvb3MyZW14L3B5dGhvbjMzLmRlZiBiL1BDL29zMmVteC9weXRob24zMy5kZWYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI1NjcyNmIuLjAwMDAwMDAKLS0tIGEvUEMvb3MyZW14L3B5dGhvbjMzLmRlZgorKysgL2Rldi9udWxsCkBAIC0xLDEzMTQgKzAsMCBAQAotTElCUkFSWSBweXRob24zMyBJTklUSU5TVEFOQ0UgVEVSTUlOU1RBTkNFIAotREVTQ1JJUFRJT04gIlB5dGhvbiAyLjYgQ29yZSBETEwiIAotUFJPVE1PREUgCi1EQVRBIE1VTFRJUExFIE5PTlNIQVJFRCAKLUVYUE9SVFMgCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjb25maWcpCi0gICJfUHlJbXBvcnRfSW5pdHRhYiIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGRsZmNuKQotOyAgImRsb3BlbiIKLTsgICJkbHN5bSIKLTsgICJkbGNsb3NlIgotOyAgImRsZXJyb3IiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihnZXRwYXRocCkKLSAgIlB5X0dldFByb2dyYW1GdWxsUGF0aCIKLSAgIlB5X0dldFByZWZpeCIKLSAgIlB5X0dldEV4ZWNQcmVmaXgiCi0gICJQeV9HZXRQYXRoIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ2V0YnVpbGRpbmZvKQotICAiUHlfR2V0QnVpbGRJbmZvIgotICAiX1B5X3N2bnZlcnNpb24iCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihtYWluKQotICAiUHlfTWFpbiIKLSAgIlB5X0dldEFyZ2NBcmd2IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoYWNjZWxlcikKLSAgIlB5R3JhbW1hcl9BZGRBY2NlbGVyYXRvcnMiCi0gICJQeUdyYW1tYXJfUmVtb3ZlQWNjZWxlcmF0b3JzIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ3JhbW1hcjEpCi0gICJQeUdyYW1tYXJfRmluZERGQSIKLSAgIlB5R3JhbW1hcl9MYWJlbFJlcHIiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihsaXN0bm9kZSkKLSAgIlB5Tm9kZV9MaXN0VHJlZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKG5vZGUpCi0gICJQeU5vZGVfTmV3IgotICAiUHlOb2RlX0FkZENoaWxkIgotICAiUHlOb2RlX0ZyZWUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihwYXJzZXIpCi0gICJQeVBhcnNlcl9BZGRUb2tlbiIKLSAgIlB5UGFyc2VyX05ldyIKLSAgIlB5UGFyc2VyX0RlbGV0ZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHBhcnNldG9rKQotICAiUHlQYXJzZXJfUGFyc2VTdHJpbmciCi0gICJQeVBhcnNlcl9QYXJzZVN0cmluZ0ZsYWdzRmlsZW5hbWUiCi0gICJQeVBhcnNlcl9QYXJzZUZpbGUiCi0gICJQeVBhcnNlcl9QYXJzZUZpbGVGbGFncyIKLSAgIlB5UGFyc2VyX1BhcnNlU3RyaW5nRmxhZ3MiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihiaXRzZXQpCi0gICJfUHlfbmV3Yml0c2V0IgotICAiX1B5X2RlbGJpdHNldCIKLSAgIl9QeV9hZGRiaXQiCi0gICJfUHlfc2FtZWJpdHNldCIKLSAgIl9QeV9tZXJnZWJpdHNldCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKG1ldGFncmFtbWFyKQotICAiX1B5X21ldGFfZ3JhbW1hciIKLSAgIlB5X21ldGFfZ3JhbW1hciIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHRva2VuaXplcikKLSAgIlB5VG9rZW5fT25lQ2hhciIKLSAgIlB5VG9rZW5fVHdvQ2hhcnMiCi0gICJQeVRva2VuX1RocmVlQ2hhcnMiCi0gICJQeVRva2VuaXplcl9Gcm9tU3RyaW5nIgotICAiUHlUb2tlbml6ZXJfRnJlZSIKLSAgIlB5VG9rZW5pemVyX0Zyb21GaWxlIgotICAiUHlUb2tlbml6ZXJfR2V0IgotICAiX1B5UGFyc2VyX1Rva2VuTmFtZXMiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihteXJlYWRsaW5lKQotICAiX1B5T1NfUmVhZGxpbmVUU3RhdGUiCi0gICJQeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyIgotICAiUHlPU19TdGRpb1JlYWRsaW5lIgotICAiUHlPU19SZWFkbGluZSIKLSAgIlB5T1NfSW5wdXRIb29rIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoYWJzdHJhY3QpCi0gICJfUHlPYmplY3RfTGVuZ3RoSGludCIKLSAgIlB5TWFwcGluZ19TaXplIgotICAiUHlPYmplY3RfQ2FsbE1ldGhvZCIKLSAgIlB5T2JqZWN0X0dldEl0ZW0iCi0gICJQeVNlcXVlbmNlX0dldEl0ZW0iCi0gICJQeU9iamVjdF9TZXRJdGVtIgotICAiUHlTZXF1ZW5jZV9TZXRJdGVtIgotICAiUHlPYmplY3RfRGVsSXRlbSIKLSAgIlB5U2VxdWVuY2VfRGVsSXRlbSIKLSAgIlB5TnVtYmVyX011bHRpcGx5IgotICAiUHlOdW1iZXJfSW5QbGFjZUFkZCIKLSAgIlB5TnVtYmVyX0luUGxhY2VNdWx0aXBseSIKLSAgIlB5TnVtYmVyX0ludCIKLSAgIlB5TnVtYmVyX0xvbmciCi0gICJQeU51bWJlcl9GbG9hdCIKLSAgIlB5U2VxdWVuY2VfQ29uY2F0IgotICAiUHlTZXF1ZW5jZV9SZXBlYXQiCi0gICJQeVNlcXVlbmNlX0luUGxhY2VDb25jYXQiCi0gICJQeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQiCi0gICJQeVNlcXVlbmNlX0dldFNsaWNlIgotICAiUHlTZXF1ZW5jZV9TZXRTbGljZSIKLSAgIlB5U2VxdWVuY2VfVHVwbGUiCi0gICJQeU9iamVjdF9HZXRJdGVyIgotICAiUHlJdGVyX05leHQiCi0gICJQeVNlcXVlbmNlX0Zhc3QiCi0gICJfUHlTZXF1ZW5jZV9JdGVyU2VhcmNoIgotICAiUHlPYmplY3RfQ2FsbEZ1bmN0aW9uIgotICAiX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVCIKLSAgIl9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUIgotICAiUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3MiCi0gICJQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzIgotICAiUHlPYmplY3RfQ21wIgotICAiUHlPYmplY3RfQ2FsbCIKLSAgIlB5T2JqZWN0X0NhbGxPYmplY3QiCi0gICJQeU9iamVjdF9UeXBlIgotICAiUHlPYmplY3RfU2l6ZSIKLSAgIlB5T2JqZWN0X0xlbmd0aCIKLSAgIlB5T2JqZWN0X0RlbEl0ZW1TdHJpbmciCi0gICJQeU9iamVjdF9Bc0NoYXJCdWZmZXIiCi0gICJQeU9iamVjdF9DaGVja1JlYWRCdWZmZXIiCi0gICJQeU9iamVjdF9Bc1JlYWRCdWZmZXIiCi0gICJQeU9iamVjdF9Bc1dyaXRlQnVmZmVyIgotICAiUHlOdW1iZXJfQ2hlY2siCi0gICJQeU51bWJlcl9BZGQiCi0gICJQeU51bWJlcl9TdWJ0cmFjdCIKLSAgIlB5TnVtYmVyX0RpdmlkZSIKLSAgIlB5TnVtYmVyX0Zsb29yRGl2aWRlIgotICAiUHlOdW1iZXJfVHJ1ZURpdmlkZSIKLSAgIlB5TnVtYmVyX1JlbWFpbmRlciIKLSAgIlB5TnVtYmVyX0Rpdm1vZCIKLSAgIlB5TnVtYmVyX1Bvd2VyIgotICAiUHlOdW1iZXJfTmVnYXRpdmUiCi0gICJQeU51bWJlcl9Qb3NpdGl2ZSIKLSAgIlB5TnVtYmVyX0Fic29sdXRlIgotICAiUHlOdW1iZXJfSW52ZXJ0IgotICAiUHlOdW1iZXJfTHNoaWZ0IgotICAiUHlOdW1iZXJfUnNoaWZ0IgotICAiUHlOdW1iZXJfQW5kIgotICAiUHlOdW1iZXJfWG9yIgotICAiUHlOdW1iZXJfT3IiCi0gICJQeU51bWJlcl9JbmRleCIKLSAgIlB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdCIKLSAgIlB5TnVtYmVyX0luUGxhY2VEaXZpZGUiCi0gICJQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUiCi0gICJQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZSIKLSAgIlB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIiCi0gICJQeU51bWJlcl9JblBsYWNlUG93ZXIiCi0gICJQeU51bWJlcl9JblBsYWNlTHNoaWZ0IgotICAiUHlOdW1iZXJfSW5QbGFjZVJzaGlmdCIKLSAgIlB5TnVtYmVyX0luUGxhY2VBbmQiCi0gICJQeU51bWJlcl9JblBsYWNlWG9yIgotICAiUHlOdW1iZXJfSW5QbGFjZU9yIgotICAiUHlTZXF1ZW5jZV9DaGVjayIKLSAgIlB5U2VxdWVuY2VfU2l6ZSIKLSAgIlB5U2VxdWVuY2VfTGVuZ3RoIgotICAiUHlTZXF1ZW5jZV9EZWxTbGljZSIKLSAgIlB5U2VxdWVuY2VfTGlzdCIKLSAgIlB5U2VxdWVuY2VfQ291bnQiCi0gICJQeVNlcXVlbmNlX0NvbnRhaW5zIgotICAiUHlTZXF1ZW5jZV9JbiIKLSAgIlB5U2VxdWVuY2VfSW5kZXgiCi0gICJQeU1hcHBpbmdfQ2hlY2siCi0gICJQeU1hcHBpbmdfTGVuZ3RoIgotICAiUHlNYXBwaW5nX0hhc0tleVN0cmluZyIKLSAgIlB5TWFwcGluZ19IYXNLZXkiCi0gICJQeU1hcHBpbmdfR2V0SXRlbVN0cmluZyIKLSAgIlB5TWFwcGluZ19TZXRJdGVtU3RyaW5nIgotICAiUHlPYmplY3RfSXNJbnN0YW5jZSIKLSAgIlB5T2JqZWN0X0lzU3ViY2xhc3MiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihib29sb2JqZWN0KQotICAiUHlCb29sX0Zyb21Mb25nIgotICAiUHlCb29sX1R5cGUiCi0gICJfUHlfWmVyb1N0cnVjdCIKLSAgIl9QeV9UcnVlU3RydWN0IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoYnVmZmVyb2JqZWN0KQotICAiUHlCdWZmZXJfRnJvbU9iamVjdCIKLSAgIlB5QnVmZmVyX0Zyb21SZWFkV3JpdGVPYmplY3QiCi0gICJQeUJ1ZmZlcl9Gcm9tTWVtb3J5IgotICAiUHlCdWZmZXJfRnJvbVJlYWRXcml0ZU1lbW9yeSIKLSAgIlB5QnVmZmVyX05ldyIKLSAgIlB5QnVmZmVyX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjZWxsb2JqZWN0KQotICAiUHlDZWxsX05ldyIKLSAgIlB5Q2VsbF9HZXQiCi0gICJQeUNlbGxfU2V0IgotICAiUHlDZWxsX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjbGFzc29iamVjdCkKLSAgIlB5Q2xhc3NfTmV3IgotICAiUHlDbGFzc19Jc1N1YmNsYXNzIgotICAiUHlJbnN0YW5jZV9OZXciCi0gICJQeUluc3RhbmNlX05ld1JhdyIKLSAgIlB5TWV0aG9kX05ldyIKLSAgIlB5TWV0aG9kX0Z1bmN0aW9uIgotICAiUHlNZXRob2RfU2VsZiIKLSAgIlB5TWV0aG9kX0NsYXNzIgotICAiX1B5SW5zdGFuY2VfTG9va3VwIgotICAiUHlNZXRob2RfRmluaSIKLSAgIlB5Q2xhc3NfVHlwZSIKLSAgIlB5SW5zdGFuY2VfVHlwZSIKLSAgIlB5TWV0aG9kX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjYXBzdWxlKQotICAiUHlDYXBzdWxlX0dldENvbnRleHQiCi0gICJQeUNhcHN1bGVfR2V0RGVzdHJ1Y3RvciIKLSAgIlB5Q2Fwc3VsZV9HZXROYW1lIgotICAiUHlDYXBzdWxlX0dldFBvaW50ZXIiCi0gICJQeUNhcHN1bGVfSW1wb3J0IgotICAiUHlDYXBzdWxlX0lzVmFsaWQiCi0gICJQeUNhcHN1bGVfTmV3IgotICAiUHlDYXBzdWxlX1NldENvbnRleHQiCi0gICJQeUNhcHN1bGVfU2V0RGVzdHJ1Y3RvciIKLSAgIlB5Q2Fwc3VsZV9TZXROYW1lIgotICAiUHlDYXBzdWxlX1NldFBvaW50ZXIiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjb2JqZWN0KQotICAiUHlDT2JqZWN0X0Zyb21Wb2lkUHRyIgotICAiUHlDT2JqZWN0X0Zyb21Wb2lkUHRyQW5kRGVzYyIKLSAgIlB5Q09iamVjdF9Bc1ZvaWRQdHIiCi0gICJQeUNPYmplY3RfR2V0RGVzYyIKLSAgIlB5Q09iamVjdF9JbXBvcnQiCi0gICJQeUNPYmplY3RfU2V0Vm9pZFB0ciIKLSAgIlB5Q09iamVjdF9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoY29kZW9iamVjdCkKLSAgIlB5Q29kZV9OZXciCi0gICJQeUNvZGVfQWRkcjJMaW5lIgotICAiUHlDb2RlX0NoZWNrTGluZU51bWJlciIKLSAgIlB5Q29kZV9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoY29tcGxleG9iamVjdCkKLSAgIl9QeV9jX3BvdyIKLSAgIl9QeV9jX3N1bSIKLSAgIl9QeV9jX2RpZmYiCi0gICJfUHlfY19uZWciCi0gICJfUHlfY19wcm9kIgotICAiX1B5X2NfcXVvdCIKLSAgIlB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgiCi0gICJQeUNvbXBsZXhfRnJvbURvdWJsZXMiCi0gICJQeUNvbXBsZXhfUmVhbEFzRG91YmxlIgotICAiUHlDb21wbGV4X0ltYWdBc0RvdWJsZSIKLSAgIlB5Q29tcGxleF9Bc0NDb21wbGV4IgotICAiUHlDb21wbGV4X1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihkZXNjcm9iamVjdCkKLSAgIlB5V3JhcHBlcl9OZXciCi0gICJQeURlc2NyX05ld01ldGhvZCIKLSAgIlB5RGVzY3JfTmV3Q2xhc3NNZXRob2QiCi0gICJQeURlc2NyX05ld01lbWJlciIKLSAgIlB5RGVzY3JfTmV3R2V0U2V0IgotICAiUHlEZXNjcl9OZXdXcmFwcGVyIgotICAiUHlEaWN0UHJveHlfTmV3IgotICAiUHlXcmFwcGVyRGVzY3JfVHlwZSIKLSAgIlB5UHJvcGVydHlfVHlwZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGRpY3RvYmplY3QpCi0gICJQeURpY3RfTmV3IgotICAiUHlEaWN0X0dldEl0ZW0iCi0gICJQeURpY3RfU2V0SXRlbSIKLSAgIlB5RGljdF9EZWxJdGVtIgotICAiUHlEaWN0X0NsZWFyIgotICAiUHlEaWN0X01lcmdlRnJvbVNlcTIiCi0gICJQeURpY3RfTWVyZ2UiCi0gICJQeURpY3RfS2V5cyIKLSAgIlB5RGljdF9WYWx1ZXMiCi0gICJQeURpY3RfQ29udGFpbnMiCi0gICJQeURpY3RfTmV4dCIKLSAgIlB5RGljdF9JdGVtcyIKLSAgIlB5RGljdF9TaXplIgotICAiUHlEaWN0X0NvcHkiCi0gICJQeURpY3RfVXBkYXRlIgotICAiUHlEaWN0X0dldEl0ZW1TdHJpbmciCi0gICJQeURpY3RfU2V0SXRlbVN0cmluZyIKLSAgIlB5RGljdF9EZWxJdGVtU3RyaW5nIgotICAiUHlEaWN0X1R5cGUiCi0gICJQeURpY3RJdGVyS2V5X1R5cGUiCi0gICJQeURpY3RJdGVyVmFsdWVfVHlwZSIKLSAgIlB5RGljdEl0ZXJJdGVtX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihlbnVtb2JqZWN0KQotICAiUHlFbnVtX1R5cGUiCi0gICJQeVJldmVyc2VkX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihmaWxlb2JqZWN0KQotICAiUHlGaWxlX0Zyb21TdHJpbmciCi0gICJQeV9Vbml2ZXJzYWxOZXdsaW5lRnJlYWQiCi0gICJQeUZpbGVfR2V0TGluZSIKLSAgIlB5RmlsZV9Tb2Z0U3BhY2UiCi0gICJQeUZpbGVfV3JpdGVPYmplY3QiCi0gICJQeUZpbGVfV3JpdGVTdHJpbmciCi0gICJQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yIgotICAiUHlfVW5pdmVyc2FsTmV3bGluZUZnZXRzIgotICAiUHlGaWxlX1NldEJ1ZlNpemUiCi0gICJQeUZpbGVfU2V0RW5jb2RpbmciCi0gICJQeUZpbGVfRnJvbUZpbGUiCi0gICJQeUZpbGVfQXNGaWxlIgotICAiUHlGaWxlX05hbWUiCi0gICJQeUZpbGVfVHlwZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGZsb2F0b2JqZWN0KQotICAiUHlGbG9hdF9Gcm9tU3RyaW5nIgotICAiUHlGbG9hdF9Bc0RvdWJsZSIKLSAgIlB5RmxvYXRfRmluaSIKLSAgIl9QeUZsb2F0X1BhY2s0IgotICAiX1B5RmxvYXRfUGFjazgiCi0gICJfUHlGbG9hdF9VbnBhY2s0IgotICAiX1B5RmxvYXRfVW5wYWNrOCIKLSAgIlB5RmxvYXRfRnJvbURvdWJsZSIKLSAgIlB5RmxvYXRfQXNSZXByU3RyaW5nIgotICAiUHlGbG9hdF9Bc1N0cmluZyIKLSAgIl9QeUZsb2F0X0luaXQiCi0gICJQeUZsb2F0X0FzU3RyaW5nRXgiCi0gICJQeUZsb2F0X1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihmcmFtZW9iamVjdCkKLSAgIlB5RnJhbWVfTmV3IgotICAiUHlGcmFtZV9GYXN0VG9Mb2NhbHMiCi0gICJQeUZyYW1lX0xvY2Fsc1RvRmFzdCIKLSAgIl9QeUZyYW1lX0luaXQiCi0gICJQeUZyYW1lX0ZpbmkiCi0gICJQeUZyYW1lX0Jsb2NrU2V0dXAiCi0gICJQeUZyYW1lX0Jsb2NrUG9wIgotICAiUHlGcmFtZV9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZnVuY29iamVjdCkKLSAgIlB5RnVuY3Rpb25fTmV3IgotICAiUHlGdW5jdGlvbl9HZXRDb2RlIgotICAiUHlGdW5jdGlvbl9HZXRHbG9iYWxzIgotICAiUHlGdW5jdGlvbl9HZXRNb2R1bGUiCi0gICJQeUZ1bmN0aW9uX0dldERlZmF1bHRzIgotICAiUHlGdW5jdGlvbl9TZXREZWZhdWx0cyIKLSAgIlB5RnVuY3Rpb25fR2V0Q2xvc3VyZSIKLSAgIlB5RnVuY3Rpb25fU2V0Q2xvc3VyZSIKLSAgIlB5Q2xhc3NNZXRob2RfTmV3IgotICAiUHlTdGF0aWNNZXRob2RfTmV3IgotICAiUHlGdW5jdGlvbl9UeXBlIgotICAiUHlDbGFzc01ldGhvZF9UeXBlIgotICAiUHlTdGF0aWNNZXRob2RfVHlwZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGdlbm9iamVjdCkKLSAgIlB5R2VuX05ldyIKLSAgIlB5R2VuX05lZWRzRmluYWxpemluZyIKLSAgIlB5R2VuX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihpbnRvYmplY3QpCi0gICJQeUludF9Bc0xvbmciCi0gICJQeUludF9Bc1Vuc2lnbmVkTG9uZ01hc2siCi0gICJQeUludF9Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrIgotICAiUHlJbnRfRnJvbVN0cmluZyIKLSAgIlB5SW50X0FzU3NpemVfdCIKLSAgIlB5SW50X0ZpbmkiCi0gICJQeUludF9Gcm9tVW5pY29kZSIKLSAgIlB5SW50X0Zyb21Mb25nIgotICAiUHlJbnRfRnJvbVNpemVfdCIKLSAgIlB5SW50X0Zyb21Tc2l6ZV90IgotICAiUHlJbnRfR2V0TWF4IgotICAiX1B5SW50X0luaXQiCi0gICJQeUludF9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoaXRlcm9iamVjdCkKLSAgIlB5U2VxSXRlcl9OZXciCi0gICJQeUNhbGxJdGVyX05ldyIKLSAgIlB5U2VxSXRlcl9UeXBlIgotICAiUHlDYWxsSXRlcl9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIobGlzdG9iamVjdCkKLSAgIlB5TGlzdF9OZXciCi0gICJQeUxpc3RfQXBwZW5kIgotICAiUHlMaXN0X1NpemUiCi0gICJQeUxpc3RfR2V0SXRlbSIKLSAgIlB5TGlzdF9TZXRJdGVtIgotICAiUHlMaXN0X0luc2VydCIKLSAgIlB5TGlzdF9HZXRTbGljZSIKLSAgIlB5TGlzdF9TZXRTbGljZSIKLSAgIlB5TGlzdF9Tb3J0IgotICAiUHlMaXN0X1JldmVyc2UiCi0gICJQeUxpc3RfQXNUdXBsZSIKLSAgIl9QeUxpc3RfRXh0ZW5kIgotICAiUHlMaXN0X0ZpbmkiCi0gICJQeUxpc3RfVHlwZSIKLSAgIlB5TGlzdEl0ZXJfVHlwZSIKLSAgIlB5TGlzdFJldkl0ZXJfVHlwZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGxvbmdvYmplY3QpCi0gICJQeUxvbmdfRnJvbURvdWJsZSIKLSAgIlB5TG9uZ19Bc0xvbmciCi0gICJfUHlMb25nX0FzU3NpemVfdCIKLSAgIlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZyIKLSAgIl9QeUxvbmdfRnJvbUJ5dGVBcnJheSIKLSAgIl9QeUxvbmdfQXNCeXRlQXJyYXkiCi0gICJQeUxvbmdfQXNEb3VibGUiCi0gICJQeUxvbmdfRnJvbUxvbmdMb25nIgotICAiUHlMb25nX0FzTG9uZ0xvbmciCi0gICJQeUxvbmdfRnJvbVN0cmluZyIKLSAgIlB5TG9uZ19Gcm9tTG9uZyIKLSAgIlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nIgotICAiUHlMb25nX0FzVW5zaWduZWRMb25nTWFzayIKLSAgIl9QeUxvbmdfRnJvbVNpemVfdCIKLSAgIl9QeUxvbmdfRnJvbVNzaXplX3QiCi0gICJfUHlMb25nX0FzU2NhbGVkRG91YmxlIgotICAiUHlMb25nX0Zyb21Wb2lkUHRyIgotICAiUHlMb25nX0FzVm9pZFB0ciIKLSAgIlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZyIKLSAgIlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmciCi0gICJQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzayIKLSAgIlB5TG9uZ19Gcm9tVW5pY29kZSIKLSAgIl9QeUxvbmdfU2lnbiIKLSAgIl9QeUxvbmdfTnVtQml0cyIKLSAgIl9QeUxvbmdfTmV3IgotICAiX1B5TG9uZ19Db3B5IgotICAiUHlMb25nX1R5cGUiCi0gICJfUHlMb25nX0RpZ2l0VmFsdWUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihtZXRob2RvYmplY3QpCi0gICJQeUNGdW5jdGlvbl9DYWxsIgotICAiUHlfRmluZE1ldGhvZEluQ2hhaW4iCi0gICJQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbiIKLSAgIlB5Q0Z1bmN0aW9uX0dldFNlbGYiCi0gICJQeUNGdW5jdGlvbl9HZXRGbGFncyIKLSAgIlB5X0ZpbmRNZXRob2QiCi0gICJQeUNGdW5jdGlvbl9OZXdFeCIKLSAgIlB5Q0Z1bmN0aW9uX0ZpbmkiCi0gICJQeUNGdW5jdGlvbl9OZXciCi0gICJQeUNGdW5jdGlvbl9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIobW9kdWxlb2JqZWN0KQotICAiUHlNb2R1bGVfTmV3IgotICAiX1B5TW9kdWxlX0NsZWFyIgotICAiUHlNb2R1bGVfR2V0RGljdCIKLSAgIlB5TW9kdWxlX0dldE5hbWUiCi0gICJQeU1vZHVsZV9HZXRGaWxlbmFtZSIKLSAgIlB5TW9kdWxlX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihvYmplY3QpCi0gICJQeV9EaXZpc2lvbldhcm5pbmdGbGFnIgotICAiUHlPYmplY3RfU3RyIgotICAiUHlPYmplY3RfUmVwciIKLSAgIl9QeU9iamVjdF9TdHIiCi0gICJQeU9iamVjdF9Vbmljb2RlIgotICAiUHlPYmplY3RfR2V0QXR0ciIKLSAgIlB5T2JqZWN0X0lzVHJ1ZSIKLSAgIlB5TnVtYmVyX0NvZXJjZUV4IgotICAiUHlPYmplY3RfQ29tcGFyZSIKLSAgIlB5T2JqZWN0X1JpY2hDb21wYXJlIgotICAiX1B5X0hhc2hEb3VibGUiCi0gICJQeU9iamVjdF9IYXNoIgotICAiUHlPYmplY3RfU2V0QXR0ciIKLSAgIlB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyIgotICAiUHlPYmplY3RfR2VuZXJpY1NldEF0dHIiCi0gICJQeUNhbGxhYmxlX0NoZWNrIgotICAiUHlPYmplY3RfRGlyIgotICAiUHlNZW1fTWFsbG9jIgotICAiUHlNZW1fUmVhbGxvYyIKLSAgIlB5TWVtX0ZyZWUiCi0gICJQeU9iamVjdF9QcmludCIKLSAgIl9QeU9iamVjdF9EdW1wIgotICAiUHlPYmplY3RfUmljaENvbXBhcmVCb29sIgotICAiUHlPYmplY3RfR2V0QXR0clN0cmluZyIKLSAgIlB5T2JqZWN0X1NldEF0dHJTdHJpbmciCi0gICJQeU9iamVjdF9IYXNBdHRyU3RyaW5nIgotICAiUHlPYmplY3RfSGFzQXR0ciIKLSAgIl9QeU9iamVjdF9HZXREaWN0UHRyIgotICAiUHlPYmplY3RfU2VsZkl0ZXIiCi0gICJQeU9iamVjdF9Ob3QiCi0gICJQeU51bWJlcl9Db2VyY2UiCi0gICJQeV9SZXByRW50ZXIiCi0gICJQeV9SZXByTGVhdmUiCi0gICJfUHlfSGFzaFBvaW50ZXIiCi0gICJQeV9JbmNSZWYiCi0gICJQeV9EZWNSZWYiCi0gICJfUHlUcmFzaF9kZXBvc2l0X29iamVjdCIKLSAgIl9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW4iCi0gICJQeU9iamVjdF9Jbml0IgotICAiUHlPYmplY3RfSW5pdFZhciIKLSAgIl9QeU9iamVjdF9OZXciCi0gICJfUHlPYmplY3RfTmV3VmFyIgotICAiX1B5T2JqZWN0X0RlbCIKLSAgIl9QeV9SZWFkeVR5cGVzIgotICAiX1B5X1N3YXBwZWRPcCIKLSAgIl9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdCIKLSAgIl9QeV9Ob25lU3RydWN0IgotICAiX1B5X2NvYmplY3RfaGFjayIKLSAgIl9QeV9hYnN0cmFjdF9oYWNrIgotICAiX1B5VHJhc2hfZGVsZXRlX25lc3RpbmciCi0gICJfUHlUcmFzaF9kZWxldGVfbGF0ZXIiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihvYm1hbGxvYykKLSAgIlB5T2JqZWN0X01hbGxvYyIKLSAgIlB5T2JqZWN0X0ZyZWUiCi0gICJQeU9iamVjdF9SZWFsbG9jIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIocmFuZ2VvYmplY3QpCi0gICJQeVJhbmdlX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihzZXRvYmplY3QpCi0gICJQeVNldF9Qb3AiCi0gICJQeVNldF9OZXciCi0gICJQeUZyb3plblNldF9OZXciCi0gICJQeVNldF9TaXplIgotICAiUHlTZXRfQ2xlYXIiCi0gICJQeVNldF9Db250YWlucyIKLSAgIlB5U2V0X0Rpc2NhcmQiCi0gICJQeVNldF9BZGQiCi0gICJfUHlTZXRfTmV4dCIKLSAgIl9QeVNldF9VcGRhdGUiCi0gICJQeVNldF9GaW5pIgotICAiUHlTZXRfVHlwZSIKLSAgIlB5RnJvemVuU2V0X1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihzbGljZW9iamVjdCkKLSAgIl9QeVNsaWNlX0Zyb21JbmRpY2VzIgotICAiUHlTbGljZV9HZXRJbmRpY2VzIgotICAiUHlTbGljZV9HZXRJbmRpY2VzRXgiCi0gICJQeVNsaWNlX05ldyIKLSAgIl9QeV9FbGxpcHNpc09iamVjdCIKLSAgIlB5U2xpY2VfVHlwZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHN0cmluZ29iamVjdCkKLSAgIlB5U3RyaW5nX0Zyb21TdHJpbmdBbmRTaXplIgotICAiUHlTdHJpbmdfSW50ZXJuSW5QbGFjZSIKLSAgIlB5U3RyaW5nX0Zyb21TdHJpbmciCi0gICJQeVN0cmluZ19Gcm9tRm9ybWF0ViIKLSAgIlB5U3RyaW5nX0FzU3RyaW5nIgotICAiX1B5U3RyaW5nX1Jlc2l6ZSIKLSAgIlB5U3RyaW5nX0Zyb21Gb3JtYXQiCi0gICJQeVN0cmluZ19Bc0RlY29kZWRTdHJpbmciCi0gICJQeVN0cmluZ19Bc0VuY29kZWRTdHJpbmciCi0gICJQeVN0cmluZ19EZWNvZGVFc2NhcGUiCi0gICJQeVN0cmluZ19SZXByIgotICAiUHlTdHJpbmdfQXNTdHJpbmdBbmRTaXplIgotICAiX1B5U3RyaW5nX0Zvcm1hdExvbmciCi0gICJQeVN0cmluZ19Gb3JtYXQiCi0gICJfUHlfUmVsZWFzZUludGVybmVkU3RyaW5ncyIKLSAgIlB5U3RyaW5nX1NpemUiCi0gICJQeVN0cmluZ19Db25jYXQiCi0gICJQeVN0cmluZ19Db25jYXRBbmREZWwiCi0gICJfUHlTdHJpbmdfRXEiCi0gICJQeVN0cmluZ19JbnRlcm5JbW1vcnRhbCIKLSAgIlB5U3RyaW5nX0ludGVybkZyb21TdHJpbmciCi0gICJfUHlTdHJpbmdfSm9pbiIKLSAgIlB5U3RyaW5nX0RlY29kZSIKLSAgIlB5U3RyaW5nX0VuY29kZSIKLSAgIlB5U3RyaW5nX0FzRW5jb2RlZE9iamVjdCIKLSAgIlB5U3RyaW5nX0FzRGVjb2RlZE9iamVjdCIKLSAgIlB5U3RyaW5nX0ZpbmkiCi0gICJQeVN0cmluZ19UeXBlIgotICAiUHlCYXNlU3RyaW5nX1R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihzdHJ1Y3RzZXEpCi0gICJQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlIgotICAiUHlTdHJ1Y3RTZXF1ZW5jZV9OZXciCi0gICJQeVN0cnVjdFNlcXVlbmNlX1VubmFtZWRGaWVsZCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHR1cGxlb2JqZWN0KQotICAiUHlUdXBsZV9OZXciCi0gICJQeVR1cGxlX1BhY2siCi0gICJfUHlUdXBsZV9SZXNpemUiCi0gICJQeVR1cGxlX1NpemUiCi0gICJQeVR1cGxlX0dldEl0ZW0iCi0gICJQeVR1cGxlX1NldEl0ZW0iCi0gICJQeVR1cGxlX0dldFNsaWNlIgotICAiUHlUdXBsZV9GaW5pIgotICAiUHlUdXBsZV9UeXBlIgotICAiUHlUdXBsZUl0ZXJfVHlwZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHR5cGVvYmplY3QpCi0gICJQeVR5cGVfSXNTdWJ0eXBlIgotICAiX1B5VHlwZV9Mb29rdXAiCi0gICJQeVR5cGVfUmVhZHkiCi0gICJQeVR5cGVfR2VuZXJpY0FsbG9jIgotICAiX1B5T2JqZWN0X1Nsb3RDb21wYXJlIgotICAiUHlUeXBlX0dlbmVyaWNOZXciCi0gICJQeVR5cGVfVHlwZSIKLSAgIlB5QmFzZU9iamVjdF9UeXBlIgotICAiUHlTdXBlcl9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIodW5pY29kZW9iamVjdCkKLSAgIlB5VW5pY29kZVVDUzJfUmVzaXplIgotICAiUHlVbmljb2RlVUNTMl9Gcm9tT3JkaW5hbCIKLSAgIlB5VW5pY29kZVVDUzJfRnJvbU9iamVjdCIKLSAgIlB5VW5pY29kZVVDUzJfRnJvbUVuY29kZWRPYmplY3QiCi0gICJQeVVuaWNvZGVVQ1MyX0RlY29kZSIKLSAgIlB5VW5pY29kZVVDUzJfR2V0RGVmYXVsdEVuY29kaW5nIgotICAiUHlVbmljb2RlVUNTMl9EZWNvZGVVVEY4IgotICAiUHlVbmljb2RlVUNTMl9EZWNvZGVMYXRpbjEiCi0gICJQeVVuaWNvZGVVQ1MyX0RlY29kZUFTQ0lJIgotICAiUHlVbmljb2RlVUNTMl9Bc0VuY29kZWRTdHJpbmciCi0gICJQeVVuaWNvZGVVQ1MyX0FzVVRGOFN0cmluZyIKLSAgIlB5VW5pY29kZVVDUzJfQXNMYXRpbjFTdHJpbmciCi0gICJQeVVuaWNvZGVVQ1MyX0FzQVNDSUlTdHJpbmciCi0gICJQeVVuaWNvZGVfRGVjb2RlVVRGNyIKLSAgIlB5VW5pY29kZV9FbmNvZGVVVEY3IgotICAiUHlVbmljb2RlVUNTMl9EZWNvZGVVVEY4U3RhdGVmdWwiCi0gICJQeVVuaWNvZGVVQ1MyX0VuY29kZVVURjgiCi0gICJQeVVuaWNvZGVVQ1MyX0RlY29kZVVURjE2U3RhdGVmdWwiCi0gICJQeVVuaWNvZGVVQ1MyX0FzVVRGMTZTdHJpbmciCi0gICJQeVVuaWNvZGVVQ1MyX0RlY29kZVVuaWNvZGVFc2NhcGUiCi0gICJQeVVuaWNvZGVVQ1MyX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUiCi0gICJQeVVuaWNvZGVVQ1MyX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUiCi0gICJfUHlVbmljb2RlX0RlY29kZVVuaWNvZGVJbnRlcm5hbCIKLSAgIlB5VW5pY29kZVVDUzJfRGVjb2RlQ2hhcm1hcCIKLSAgIlB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwIgotICAiUHlVbmljb2RlVUNTMl9FbmNvZGVDaGFybWFwIgotICAiUHlVbmljb2RlVUNTMl9UcmFuc2xhdGVDaGFybWFwIgotICAiUHlVbmljb2RlVUNTMl9FbmNvZGVEZWNpbWFsIgotICAiUHlVbmljb2RlVUNTMl9Db3VudCIKLSAgIlB5VW5pY29kZVVDUzJfRmluZCIKLSAgIlB5VW5pY29kZVVDUzJfSm9pbiIKLSAgIlB5VW5pY29kZVVDUzJfU3BsaXRsaW5lcyIKLSAgIlB5VW5pY29kZVVDUzJfQ29tcGFyZSIKLSAgIlB5VW5pY29kZVVDUzJfQ29udGFpbnMiCi0gICJQeVVuaWNvZGVVQ1MyX0NvbmNhdCIKLSAgIl9QeVVuaWNvZGVfWFN0cmlwIgotICAiUHlVbmljb2RlVUNTMl9SZXBsYWNlIgotICAiUHlVbmljb2RlVUNTMl9TcGxpdCIKLSAgIlB5VW5pY29kZVVDUzJfUlNwbGl0IgotICAiUHlVbmljb2RlVUNTMl9Gb3JtYXQiCi0gICJfUHlVbmljb2RlVUNTMl9Jbml0IgotICAiX1B5VW5pY29kZVVDUzJfRmluaSIKLSAgIlB5VW5pY29kZVVDUzJfRnJvbVVuaWNvZGUiCi0gICJQeVVuaWNvZGVVQ1MyX0FzVW5pY29kZSIKLSAgIlB5VW5pY29kZVVDUzJfR2V0U2l6ZSIKLSAgIlB5VW5pY29kZVVDUzJfR2V0TWF4IgotICAiX1B5VW5pY29kZVVDUzJfQXNEZWZhdWx0RW5jb2RlZFN0cmluZyIKLSAgIlB5VW5pY29kZVVDUzJfU2V0RGVmYXVsdEVuY29kaW5nIgotICAiUHlVbmljb2RlVUNTMl9FbmNvZGUiCi0gICJQeVVuaWNvZGVVQ1MyX0FzRW5jb2RlZE9iamVjdCIKLSAgIlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMTYiCi0gICJQeVVuaWNvZGVVQ1MyX0VuY29kZVVURjE2IgotICAiUHlVbmljb2RlVUNTMl9Bc1VuaWNvZGVFc2NhcGVTdHJpbmciCi0gICJQeVVuaWNvZGVVQ1MyX0VuY29kZVVuaWNvZGVFc2NhcGUiCi0gICJQeVVuaWNvZGVVQ1MyX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZyIKLSAgIlB5VW5pY29kZVVDUzJfRW5jb2RlTGF0aW4xIgotICAiUHlVbmljb2RlVUNTMl9FbmNvZGVBU0NJSSIKLSAgIlB5VW5pY29kZVVDUzJfQXNDaGFybWFwU3RyaW5nIgotICAiUHlVbmljb2RlVUNTMl9QYXJ0aXRpb24iCi0gICJQeVVuaWNvZGVVQ1MyX1JQYXJ0aXRpb24iCi0gICJQeVVuaWNvZGVVQ1MyX1RyYW5zbGF0ZSIKLSAgIlB5VW5pY29kZVVDUzJfVGFpbG1hdGNoIgotICAiUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdCIKLSAgIlB5VW5pY29kZV9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIodW5pY29kZWN0eXBlKQotICAiX1B5VW5pY29kZV9UeXBlUmVjb3JkcyIKLSAgIl9QeVVuaWNvZGVVQ1MyX1RvTnVtZXJpYyIKLSAgIl9QeVVuaWNvZGVVQ1MyX0lzTG93ZXJjYXNlIgotICAiX1B5VW5pY29kZVVDUzJfSXNVcHBlcmNhc2UiCi0gICJfUHlVbmljb2RlVUNTMl9Jc1RpdGxlY2FzZSIKLSAgIl9QeVVuaWNvZGVVQ1MyX0lzV2hpdGVzcGFjZSIKLSAgIl9QeVVuaWNvZGVVQ1MyX0lzTGluZWJyZWFrIgotICAiX1B5VW5pY29kZVVDUzJfVG9Mb3dlcmNhc2UiCi0gICJfUHlVbmljb2RlVUNTMl9Ub1VwcGVyY2FzZSIKLSAgIl9QeVVuaWNvZGVVQ1MyX1RvVGl0bGVjYXNlIgotICAiX1B5VW5pY29kZVVDUzJfVG9EZWNpbWFsRGlnaXQiCi0gICJfUHlVbmljb2RlVUNTMl9Ub0RpZ2l0IgotICAiX1B5VW5pY29kZVVDUzJfSXNEZWNpbWFsRGlnaXQiCi0gICJfUHlVbmljb2RlVUNTMl9Jc0RpZ2l0IgotICAiX1B5VW5pY29kZVVDUzJfSXNOdW1lcmljIgotICAiX1B5VW5pY29kZVVDUzJfSXNBbHBoYSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHdlYWtyZWZvYmplY3QpCi0gICJQeVdlYWtyZWZfTmV3UmVmIgotICAiUHlXZWFrcmVmX05ld1Byb3h5IgotICAiUHlPYmplY3RfQ2xlYXJXZWFrUmVmcyIKLSAgIlB5V2Vha3JlZl9HZXRPYmplY3QiCi0gICJfUHlXZWFrcmVmX0dldFdlYWtyZWZDb3VudCIKLSAgIl9QeVdlYWtyZWZfQ2xlYXJSZWYiCi0gICJfUHlXZWFrcmVmX1JlZlR5cGUiCi0gICJfUHlXZWFrcmVmX1Byb3h5VHlwZSIKLSAgIl9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihQeXRob24tYXN0KQotOyAgImluaXRfYXN0IgotICAiTW9kdWxlIgotICAiSW50ZXJhY3RpdmUiCi0gICJFeHByZXNzaW9uIgotICAiU3VpdGUiCi0gICJGdW5jdGlvbkRlZiIKLSAgIkNsYXNzRGVmIgotICAiUmV0dXJuIgotICAiRGVsZXRlIgotICAiQXNzaWduIgotICAiQXVnQXNzaWduIgotICAiUHJpbnQiCi0gICJGb3IiCi0gICJXaGlsZSIKLSAgIklmIgotICAiV2l0aCIKLSAgIlJhaXNlIgotICAiVHJ5RXhjZXB0IgotICAiVHJ5RmluYWxseSIKLSAgIkFzc2VydCIKLSAgIkltcG9ydCIKLSAgIkltcG9ydEZyb20iCi0gICJFeGVjIgotICAiR2xvYmFsIgotICAiRXhwciIKLSAgIlBhc3MiCi0gICJCcmVhayIKLSAgIkNvbnRpbnVlIgotICAiQm9vbE9wIgotICAiQmluT3AiCi0gICJVbmFyeU9wIgotICAiTGFtYmRhIgotICAiSWZFeHAiCi0gICJEaWN0IgotICAiTGlzdENvbXAiCi0gICJHZW5lcmF0b3JFeHAiCi0gICJZaWVsZCIKLSAgIkNvbXBhcmUiCi0gICJDYWxsIgotICAiUmVwciIKLSAgIk51bSIKLSAgIlN0ciIKLSAgIkF0dHJpYnV0ZSIKLSAgIlN1YnNjcmlwdCIKLSAgIk5hbWUiCi0gICJMaXN0IgotICAiVHVwbGUiCi0gICJFbGxpcHNpcyIKLSAgIlNsaWNlIgotICAiRXh0U2xpY2UiCi0gICJJbmRleCIKLSAgImNvbXByZWhlbnNpb24iCi0gICJleGNlcHRoYW5kbGVyIgotICAiYXJndW1lbnRzIgotICAia2V5d29yZCIKLSAgImFsaWFzIgotICAiUHlBU1RfbW9kMm9iaiIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGFzZGwpCi0gICJhc2RsX3NlcV9uZXciCi0gICJhc2RsX2ludF9zZXFfbmV3IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoYXN0KQotICAiUHlBU1RfRnJvbU5vZGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihibHRpbm1vZHVsZSkKLSAgIl9QeUJ1aWx0aW5fSW5pdCIKLSAgIlB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmciCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihleGNlcHRpb25zKQotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQiCi0gICJQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydCIKLSAgIlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZCIKLSAgIlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZCIKLSAgIl9QeUV4Y19Jbml0IgotICAiUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlIgotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfQ3JlYXRlIgotICAiUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfQ3JlYXRlIgotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2RpbmciCi0gICJQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZyIKLSAgIlB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdCIKLSAgIlB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdCIKLSAgIlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdCIKLSAgIlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0IgotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQiCi0gICJQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydCIKLSAgIlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0IgotICAiUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kIgotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kIgotICAiUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kIgotICAiUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kIgotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uIgotICAiUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uIgotICAiUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uIgotICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uIgotICAiUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uIgotICAiUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uIgotICAiX1B5RXhjX0ZpbmkiCi0gICJQeUV4Y19CYXNlRXhjZXB0aW9uIgotICAiUHlFeGNfRXhjZXB0aW9uIgotICAiUHlFeGNfU3RhbmRhcmRFcnJvciIKLSAgIlB5RXhjX1R5cGVFcnJvciIKLSAgIlB5RXhjX1N0b3BJdGVyYXRpb24iCi0gICJQeUV4Y19HZW5lcmF0b3JFeGl0IgotICAiUHlFeGNfU3lzdGVtRXhpdCIKLSAgIlB5RXhjX0tleWJvYXJkSW50ZXJydXB0IgotICAiUHlFeGNfSW1wb3J0RXJyb3IiCi0gICJQeUV4Y19FbnZpcm9ubWVudEVycm9yIgotICAiUHlFeGNfSU9FcnJvciIKLSAgIlB5RXhjX09TRXJyb3IiCi0gICJQeUV4Y19FT0ZFcnJvciIKLSAgIlB5RXhjX1J1bnRpbWVFcnJvciIKLSAgIlB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IiCi0gICJQeUV4Y19OYW1lRXJyb3IiCi0gICJQeUV4Y19VbmJvdW5kTG9jYWxFcnJvciIKLSAgIlB5RXhjX0F0dHJpYnV0ZUVycm9yIgotICAiUHlFeGNfSW5kZXhFcnJvciIKLSAgIlB5RXhjX1N5bnRheEVycm9yIgotICAiUHlFeGNfSW5kZW50YXRpb25FcnJvciIKLSAgIlB5RXhjX1RhYkVycm9yIgotICAiUHlFeGNfTG9va3VwRXJyb3IiCi0gICJQeUV4Y19LZXlFcnJvciIKLSAgIlB5RXhjX1ZhbHVlRXJyb3IiCi0gICJQeUV4Y19Vbmljb2RlRXJyb3IiCi0gICJQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IiCi0gICJQeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IiCi0gICJQeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IiCi0gICJQeUV4Y19Bc3NlcnRpb25FcnJvciIKLSAgIlB5RXhjX0FyaXRobWV0aWNFcnJvciIKLSAgIlB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvciIKLSAgIlB5RXhjX092ZXJmbG93RXJyb3IiCi0gICJQeUV4Y19aZXJvRGl2aXNpb25FcnJvciIKLSAgIlB5RXhjX1N5c3RlbUVycm9yIgotICAiUHlFeGNfUmVmZXJlbmNlRXJyb3IiCi0gICJQeUV4Y19NZW1vcnlFcnJvciIKLSAgIlB5RXhjX1dhcm5pbmciCi0gICJQeUV4Y19Vc2VyV2FybmluZyIKLSAgIlB5RXhjX0RlcHJlY2F0aW9uV2FybmluZyIKLSAgIlB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmciCi0gICJQeUV4Y19TeW50YXhXYXJuaW5nIgotICAiUHlFeGNfUnVudGltZVdhcm5pbmciCi0gICJQeUV4Y19GdXR1cmVXYXJuaW5nIgotICAiUHlFeGNfSW1wb3J0V2FybmluZyIKLSAgIlB5RXhjX01lbW9yeUVycm9ySW5zdCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGNldmFsKQotICAiUHlFdmFsX0V2YWxGcmFtZUV4IgotICAiUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMiCi0gICJQeUV2YWxfRXZhbENvZGVFeCIKLSAgIlB5RXZhbF9HZXRGcmFtZSIKLSAgIlB5RXZhbF9DYWxsT2JqZWN0IgotICAiUHlFdmFsX1NldFByb2ZpbGUiCi0gICJQeUV2YWxfU2V0VHJhY2UiCi0gICJQeUV2YWxfR2V0QnVpbHRpbnMiCi0gICJQeUV2YWxfR2V0R2xvYmFscyIKLSAgIlB5RXZhbF9HZXRMb2NhbHMiCi0gICJQeUV2YWxfR2V0UmVzdHJpY3RlZCIKLSAgIlB5RXZhbF9NZXJnZUNvbXBpbGVyRmxhZ3MiCi0gICJQeV9GbHVzaExpbmUiCi0gICJQeV9BZGRQZW5kaW5nQ2FsbCIKLSAgIlB5X01ha2VQZW5kaW5nQ2FsbHMiCi0gICJQeV9TZXRSZWN1cnNpb25MaW1pdCIKLSAgIlB5X0dldFJlY3Vyc2lvbkxpbWl0IgotICAiX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbCIKLSAgIlB5RXZhbF9HZXRGdW5jTmFtZSIKLSAgIlB5RXZhbF9HZXRGdW5jRGVzYyIKLSAgIlB5RXZhbF9HZXRDYWxsU3RhdHMiCi0gICJQeUV2YWxfRXZhbEZyYW1lIgotICAiUHlFdmFsX1NhdmVUaHJlYWQiCi0gICJQeUV2YWxfUmVzdG9yZVRocmVhZCIKLSAgIlB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQiCi0gICJQeUV2YWxfSW5pdFRocmVhZHMiCi0gICJQeUV2YWxfQWNxdWlyZUxvY2siCi0gICJQeUV2YWxfUmVsZWFzZUxvY2siCi0gICJQeUV2YWxfQWNxdWlyZVRocmVhZCIKLSAgIlB5RXZhbF9SZWxlYXNlVGhyZWFkIgotICAiUHlFdmFsX1JlSW5pdFRocmVhZHMiCi0gICJfUHlFdmFsX1NsaWNlSW5kZXgiCi0gICJQeUV2YWxfRXZhbENvZGUiCi0gICJfUHlFdmFsX0NhbGxUcmFjaW5nIgotICAiX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQiCi0gICJfUHlfQ2hlY2tJbnRlcnZhbCIKLSAgIl9QeV9UaWNrZXIiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjb21waWxlKQotICAiX1B5X01hbmdsZSIKLSAgIlB5QVNUX0NvbXBpbGUiCi0gICJQeU5vZGVfQ29tcGlsZSIKLSAgIlB5X09wdGltaXplRmxhZyIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGNvZGVjcykKLSAgIl9QeUNvZGVjX0xvb2t1cCIKLSAgIlB5Q29kZWNfRW5jb2RlIgotICAiUHlDb2RlY19EZWNvZGUiCi0gICJQeUNvZGVjX0lnbm9yZUVycm9ycyIKLSAgIlB5Q29kZWNfUmVwbGFjZUVycm9ycyIKLSAgIlB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnMiCi0gICJQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMiCi0gICJQeUNvZGVjX1JlZ2lzdGVyIgotICAiUHlDb2RlY19FbmNvZGVyIgotICAiUHlDb2RlY19EZWNvZGVyIgotICAiUHlDb2RlY19JbmNyZW1lbnRhbEVuY29kZXIiCi0gICJQeUNvZGVjX0luY3JlbWVudGFsRGVjb2RlciIKLSAgIlB5Q29kZWNfU3RyZWFtUmVhZGVyIgotICAiUHlDb2RlY19TdHJlYW1Xcml0ZXIiCi0gICJQeUNvZGVjX1JlZ2lzdGVyRXJyb3IiCi0gICJQeUNvZGVjX0xvb2t1cEVycm9yIgotICAiUHlDb2RlY19TdHJpY3RFcnJvcnMiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihlcnJvcnMpCi0gICJQeUVycl9TZXROb25lIgotICAiUHlFcnJfU2V0U3RyaW5nIgotICAiUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzIgotICAiUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uIgotICAiUHlFcnJfRmV0Y2giCi0gICJQeUVycl9DbGVhciIKLSAgIlB5RXJyX05vTWVtb3J5IgotICAiUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0IgotICAiUHlFcnJfRm9ybWF0IgotICAiUHlFcnJfTmV3RXhjZXB0aW9uIgotICAiUHlFcnJfV3JpdGVVbnJhaXNhYmxlIgotICAiUHlFcnJfU3ludGF4TG9jYXRpb24iCi0gICJQeUVycl9Qcm9ncmFtVGV4dCIKLSAgIlB5RXJyX1NldE9iamVjdCIKLSAgIlB5RXJyX09jY3VycmVkIgotICAiUHlFcnJfUmVzdG9yZSIKLSAgIlB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMiCi0gICJQeUVycl9CYWRBcmd1bWVudCIKLSAgIlB5RXJyX1NldEZyb21FcnJubyIKLSAgIlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZSIKLSAgIlB5RXJyX0JhZEludGVybmFsQ2FsbCIKLSAgIl9QeUVycl9CYWRJbnRlcm5hbENhbGwiCi0gICJQeUVycl9XYXJuIgotICAiUHlFcnJfV2FybkV4cGxpY2l0IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZnJvemVuKQotICAiUHlJbXBvcnRfRnJvemVuTW9kdWxlcyIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGZyb3plbm1haW4pCi0gICJQeV9Gcm96ZW5NYWluIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZnV0dXJlKQotICAiUHlGdXR1cmVfRnJvbUFTVCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGdldGFyZ3MpCi0gICJQeUFyZ19QYXJzZSIKLSAgIl9QeUFyZ19QYXJzZV9TaXplVCIKLSAgIlB5QXJnX1BhcnNlVHVwbGUiCi0gICJfUHlBcmdfUGFyc2VUdXBsZV9TaXplVCIKLSAgIlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyIKLSAgIl9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQiCi0gICJQeUFyZ19VbnBhY2tUdXBsZSIKLSAgIl9QeUFyZ19Ob0tleXdvcmRzIgotICAiUHlBcmdfVmFQYXJzZSIKLSAgIlB5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzIgotICAiX1B5QXJnX1ZhUGFyc2VfU2l6ZVQiCi0gICJfUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihnZXRjb21waWxlcikKLSAgIlB5X0dldENvbXBpbGVyIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ2V0Y29weXJpZ2h0KQotICAiUHlfR2V0Q29weXJpZ2h0IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ2V0cGxhdGZvcm0pCi0gICJQeV9HZXRQbGF0Zm9ybSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGdldHZlcnNpb24pCi0gICJQeV9HZXRWZXJzaW9uIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ3JhbWluaXQpCi0gICJfUHlQYXJzZXJfR3JhbW1hciIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGltcG9ydCkKLSAgIl9QeUltcG9ydF9Jbml0IgotICAiX1B5SW1wb3J0SG9va3NfSW5pdCIKLSAgIlB5SW1wb3J0X0ltcG9ydE1vZHVsZSIKLSAgIlB5SW1wb3J0X0NsZWFudXAiCi0gICJfUHlJbXBvcnRfRml4dXBFeHRlbnNpb24iCi0gICJQeUltcG9ydF9BZGRNb2R1bGUiCi0gICJQeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4IgotICAiUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlIgotICAiUHlJbXBvcnRfSW1wb3J0TW9kdWxlRXgiCi0gICJQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbCIKLSAgIlB5SW1wb3J0X1JlbG9hZE1vZHVsZSIKLSAgIlB5SW1wb3J0X0ltcG9ydCIKLTsgICJpbml0aW1wIgotICAiX1B5SW1wb3J0X0ZpbmkiCi0gICJQeUltcG9ydF9HZXRNYWdpY051bWJlciIKLSAgIlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlIgotICAiUHlJbXBvcnRfR2V0TW9kdWxlRGljdCIKLSAgIl9QeUltcG9ydF9GaW5kTW9kdWxlIgotICAiX1B5SW1wb3J0X0lzU2NyaXB0IgotICAiX1B5SW1wb3J0X1JlSW5pdExvY2siCi0gICJfUHlJbXBvcnRfRmluZEV4dGVuc2lvbiIKLSAgIlB5SW1wb3J0X0FwcGVuZEluaXR0YWIiCi0gICJQeUltcG9ydF9FeHRlbmRJbml0dGFiIgotICAiUHlJbXBvcnRfSW5pdHRhYiIKLSAgIl9QeUltcG9ydF9GaWxldGFiIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoaW1wb3J0ZGwpCi0gICJfUHlJbXBvcnRfTG9hZER5bmFtaWNNb2R1bGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihtYXJzaGFsKQotICAiUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUiCi0gICJQeU1hcnNoYWxfV3JpdGVPYmplY3RUb1N0cmluZyIKLSAgIlB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUiCi0gICJQeU1hcnNoYWxfV3JpdGVPYmplY3RUb0ZpbGUiCi0gICJQeU1hcnNoYWxfUmVhZFNob3J0RnJvbUZpbGUiCi0gICJQeU1hcnNoYWxfUmVhZE9iamVjdEZyb21GaWxlIgotICAiUHlNYXJzaGFsX1JlYWRMYXN0T2JqZWN0RnJvbUZpbGUiCi0gICJQeU1hcnNoYWxfUmVhZE9iamVjdEZyb21TdHJpbmciCi0gICJQeU1hcnNoYWxfSW5pdCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKG1vZHN1cHBvcnQpCi0gICJQeV9Jbml0TW9kdWxlNCIKLSAgIlB5X0J1aWxkVmFsdWUiCi0gICJfUHlfQnVpbGRWYWx1ZV9TaXplVCIKLSAgIlB5RXZhbF9DYWxsRnVuY3Rpb24iCi0gICJQeUV2YWxfQ2FsbE1ldGhvZCIKLSAgIl9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQiCi0gICJQeV9WYUJ1aWxkVmFsdWUiCi0gICJQeU1vZHVsZV9BZGRPYmplY3QiCi0gICJQeU1vZHVsZV9BZGRJbnRDb25zdGFudCIKLSAgIlB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50IgotICAiX1B5X1BhY2thZ2VDb250ZXh0IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIobXlzbnByaW50ZikKLSAgIlB5T1Nfc25wcmludGYiCi0gICJQeU9TX3ZzbnByaW50ZiIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKG15c3RydG91bCkKLSAgIlB5T1Nfc3RydG91bCIKLSAgIlB5T1Nfc3RydG9sIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIocHlhcmVuYSkKLSAgIlB5QXJlbmFfTmV3IgotICAiUHlBcmVuYV9GcmVlIgotICAiUHlBcmVuYV9NYWxsb2MiCi0gICJQeUFyZW5hX0FkZFB5T2JqZWN0IgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIocHlmcGUpCi0gICJQeUZQRV9kdW1teSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHB5c3RhdGUpCi0gICJQeUludGVycHJldGVyU3RhdGVfQ2xlYXIiCi0gICJQeVRocmVhZFN0YXRlX0NsZWFyIgotICAiX1B5VGhyZWFkX0N1cnJlbnRGcmFtZXMiCi0gICJQeUdJTFN0YXRlX0Vuc3VyZSIKLSAgIlB5R0lMU3RhdGVfUmVsZWFzZSIKLSAgIlB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXciCi0gICJQeUludGVycHJldGVyU3RhdGVfRGVsZXRlIgotICAiUHlUaHJlYWRTdGF0ZV9EZWxldGUiCi0gICJQeVRocmVhZFN0YXRlX05ldyIKLSAgIlB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudCIKLSAgIlB5VGhyZWFkU3RhdGVfR2V0IgotICAiUHlUaHJlYWRTdGF0ZV9Td2FwIgotICAiUHlUaHJlYWRTdGF0ZV9HZXREaWN0IgotICAiUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YyIKLSAgIlB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlIgotICAiUHlJbnRlcnByZXRlclN0YXRlX0hlYWQiCi0gICJQeUludGVycHJldGVyU3RhdGVfTmV4dCIKLSAgIlB5SW50ZXJwcmV0ZXJTdGF0ZV9UaHJlYWRIZWFkIgotICAiUHlUaHJlYWRTdGF0ZV9OZXh0IgotICAiX1B5R0lMU3RhdGVfSW5pdCIKLSAgIl9QeUdJTFN0YXRlX0ZpbmkiCi0gICJfUHlUaHJlYWRTdGF0ZV9DdXJyZW50IgotICAiX1B5VGhyZWFkU3RhdGVfR2V0RnJhbWUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihweXRob25ydW4pCi0gICJQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWciCi0gICJQeV9EZWJ1Z0ZsYWciCi0gICJQeV9WZXJib3NlRmxhZyIKLSAgIlB5X05vU2l0ZUZsYWciCi0gICJQeV9JbnRlcmFjdGl2ZUZsYWciCi0gICJQeV9Gcm96ZW5GbGFnIgotICAiUHlfSW5pdGlhbGl6ZUV4IgotICAiUHlfRmF0YWxFcnJvciIKLSAgIlB5X05ld0ludGVycHJldGVyIgotICAiUHlFcnJfUHJpbnQiCi0gICJQeVJ1bl9JbnRlcmFjdGl2ZU9uZUZsYWdzIgotICAiUHlQYXJzZXJfQVNURnJvbUZpbGUiCi0gICJQeVJ1bl9TaW1wbGVGaWxlRXhGbGFncyIKLSAgIlB5UnVuX0ZpbGVFeEZsYWdzIgotICAiUHlfRXhpdCIKLSAgIlB5RXJyX1ByaW50RXgiCi0gICJQeUVycl9EaXNwbGF5IgotICAiUHlfU2V0UHJvZ3JhbU5hbWUiCi0gICJQeV9HZXRQcm9ncmFtTmFtZSIKLSAgIlB5X1NldFB5dGhvbkhvbWUiCi0gICJQeV9HZXRQeXRob25Ib21lIgotICAiUHlfSW5pdGlhbGl6ZSIKLSAgIlB5X0ZpbmFsaXplIgotICAiUHlfSXNJbml0aWFsaXplZCIKLSAgIlB5X0VuZEludGVycHJldGVyIgotICAiUHlSdW5fQW55RmlsZUZsYWdzIgotICAiUHlfRmRJc0ludGVyYWN0aXZlIgotICAiUHlSdW5fSW50ZXJhY3RpdmVMb29wRmxhZ3MiCi0gICJQeVJ1bl9BbnlGaWxlRXhGbGFncyIKLSAgIlB5UnVuX1NpbXBsZVN0cmluZ0ZsYWdzIgotICAiUHlSdW5fU3RyaW5nRmxhZ3MiCi0gICJQeVBhcnNlcl9BU1RGcm9tU3RyaW5nIgotICAiUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncyIKLSAgIlB5UGFyc2VyX1NpbXBsZVBhcnNlRmlsZUZsYWdzIgotICAiUHlfQ29tcGlsZVN0cmluZ0ZsYWdzIgotICAiUHlfU3ltdGFibGVTdHJpbmciCi0gICJQeV9BdEV4aXQiCi0gICJQeU9TX2dldHNpZyIKLSAgIlB5T1Nfc2V0c2lnIgotICAiUHlQYXJzZXJfU2V0RXJyb3IiCi0gICJQeU1vZHVsZV9HZXRXYXJuaW5nc01vZHVsZSIKLSAgIlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3NGaWxlbmFtZSIKLSAgIlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmlsZW5hbWUiCi0gICJQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGUiCi0gICJQeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZyIKLSAgIlB5UnVuX0FueUZpbGUiCi0gICJQeVJ1bl9BbnlGaWxlRXgiCi0gICJQeVJ1bl9GaWxlIgotICAiUHlSdW5fRmlsZUV4IgotICAiUHlSdW5fRmlsZUZsYWdzIgotICAiUHlSdW5fU2ltcGxlRmlsZSIKLSAgIlB5UnVuX1NpbXBsZUZpbGVFeCIKLSAgIlB5UnVuX1N0cmluZyIKLSAgIlB5UnVuX1NpbXBsZVN0cmluZyIKLSAgIlB5X0NvbXBpbGVTdHJpbmciCi0gICJQeVJ1bl9JbnRlcmFjdGl2ZU9uZSIKLSAgIlB5UnVuX0ludGVyYWN0aXZlTG9vcCIKLSAgIlB5X1VzZUNsYXNzRXhjZXB0aW9uc0ZsYWciCi0gICJQeV9Vbmljb2RlRmxhZyIKLSAgIl9QeV9RbmV3RmxhZyIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHN0cnVjdG1lbWJlcikKLSAgIlB5TWVtYmVyX0dldCIKLSAgIlB5TWVtYmVyX0dldE9uZSIKLSAgIlB5TWVtYmVyX1NldE9uZSIKLSAgIlB5TWVtYmVyX1NldCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHN5bXRhYmxlKQotICAiUHlTeW10YWJsZV9CdWlsZCIKLSAgIlB5U3ltdGFibGVfRnJlZSIKLSAgIlB5U1RfR2V0U2NvcGUiCi0gICJQeVN5bXRhYmxlX0xvb2t1cCIKLSAgIlB5U1RFbnRyeV9UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoc3lzbW9kdWxlKQotICAiX1B5U3lzX0luaXQiCi0gICJQeVN5c19Xcml0ZVN0ZGVyciIKLSAgIlB5U3lzX1NldFBhdGgiCi0gICJQeVN5c19TZXRBcmd2IgotICAiUHlTeXNfV3JpdGVTdGRvdXQiCi0gICJQeV9TdWJ2ZXJzaW9uUmV2aXNpb24iCi0gICJQeV9TdWJ2ZXJzaW9uU2hvcnRCcmFuY2giCi0gICJQeVN5c19HZXRPYmplY3QiCi0gICJQeVN5c19TZXRPYmplY3QiCi0gICJQeVN5c19HZXRGaWxlIgotICAiUHlTeXNfUmVzZXRXYXJuT3B0aW9ucyIKLSAgIlB5U3lzX0FkZFdhcm5PcHRpb24iCi0KLTsgRnJvbSBweXRob24zM19zLmxpYih0cmFjZWJhY2spCi0gICJQeVRyYWNlQmFja19IZXJlIgotICAiUHlUcmFjZUJhY2tfUHJpbnQiCi0gICJQeVRyYWNlQmFja19UeXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ2V0b3B0KQotICAiX1B5T1NfR2V0T3B0IgotICAiX1B5T1Nfb3B0ZXJyIgotICAiX1B5T1Nfb3B0aW5kIgotICAiX1B5T1Nfb3B0YXJnIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZHlubG9hZF9zaGxpYikKLSAgIl9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYiIKLSAgIl9QeUltcG9ydF9HZXREeW5Mb2FkRnVuYyIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHRocmVhZCkKLSAgIlB5VGhyZWFkX2RlbGV0ZV9rZXlfdmFsdWUiCi0gICJQeVRocmVhZF9pbml0X3RocmVhZCIKLSAgIlB5VGhyZWFkX3N0YXJ0X25ld190aHJlYWQiCi0gICJQeVRocmVhZF9leGl0X3RocmVhZCIKLSAgIlB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQiCi0gICJQeVRocmVhZF9hbGxvY2F0ZV9sb2NrIgotICAiUHlUaHJlYWRfZnJlZV9sb2NrIgotICAiUHlUaHJlYWRfYWNxdWlyZV9sb2NrIgotICAiUHlUaHJlYWRfcmVsZWFzZV9sb2NrIgotICAiUHlUaHJlYWRfZ2V0X3N0YWNrc2l6ZSIKLSAgIlB5VGhyZWFkX3NldF9zdGFja3NpemUiCi0gICJQeVRocmVhZF9jcmVhdGVfa2V5IgotICAiUHlUaHJlYWRfZGVsZXRlX2tleSIKLSAgIlB5VGhyZWFkX3NldF9rZXlfdmFsdWUiCi0gICJQeVRocmVhZF9nZXRfa2V5X3ZhbHVlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoZ2Ntb2R1bGUpCi07ICAiaW5pdGdjIgotICAiX1B5T2JqZWN0X0dDX05ldyIKLSAgIl9QeU9iamVjdF9HQ19OZXdWYXIiCi0gICJQeUdDX0NvbGxlY3QiCi0gICJfUHlPYmplY3RfR0NfUmVzaXplIgotICAiX1B5T2JqZWN0X0dDX01hbGxvYyIKLSAgIlB5T2JqZWN0X0dDX1RyYWNrIgotICAiUHlPYmplY3RfR0NfVW5UcmFjayIKLSAgIlB5T2JqZWN0X0dDX0RlbCIKLSAgIl9QeUdDX0R1bXAiCi0gICJfUHlPYmplY3RfR0NfVHJhY2siCi0gICJfUHlPYmplY3RfR0NfVW5UcmFjayIKLSAgIl9QeU9iamVjdF9HQ19EZWwiCi0gICJfUHlHQ19nZW5lcmF0aW9uMCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHNpZ25hbG1vZHVsZSkKLTsgICJpbml0c2lnbmFsIgotICAiUHlFcnJfQ2hlY2tTaWduYWxzIgotICAiUHlFcnJfU2V0SW50ZXJydXB0IgotICAiUHlPU19GaW5pSW50ZXJydXB0cyIKLSAgIlB5T1NfSW50ZXJydXB0T2NjdXJyZWQiCi0gICJQeU9TX0luaXRJbnRlcnJ1cHRzIgotICAiUHlPU19BZnRlckZvcmsiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihwb3NpeG1vZHVsZSkKLTsgICJpbml0b3MyIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoX3RocmVhZG1vZHVsZSkKLTsgICJpbml0X3RocmVhZCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGFycmF5bW9kdWxlKQotOyAgImluaXRhcnJheSIKLTsgICJhcnJheV9tZXRob2RzIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoYmluYXNjaWkpCi07ICAiaW5pdGJpbmFzY2lpIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoY21hdGhtb2R1bGUpCi07ICAiaW5pdGNtYXRoIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoX2NvZGVjc21vZHVsZSkKLTsgICJpbml0X2NvZGVjcyIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKGNvbGxlY3Rpb25zbW9kdWxlKQotOyAgImluaXRjb2xsZWN0aW9ucyIKLSAgImRlcXVlaXRlcl90eXBlIgotICAiZGVxdWVyZXZpdGVyX3R5cGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihjUGlja2xlKQotOyAgImluaXRjUGlja2xlIgotOyAgImZhc3Rfc2F2ZV9sZWF2ZSIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKF9jc3YpCi07ICAiaW5pdF9jc3YiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihkYXRldGltZW1vZHVsZSkKLTsgICJpbml0ZGF0ZXRpbWUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihkbG1vZHVsZSkKLTsgICJpbml0ZGwiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihlcnJub21vZHVsZSkKLTsgICJpbml0ZXJybm8iCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihmY250bG1vZHVsZSkKLTsgICJpbml0ZmNudGwiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihfZnVuY3Rvb2xzbW9kdWxlKQotOyAgImluaXRfZnVuY3Rvb2xzIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoX2hlYXBxbW9kdWxlKQotOyAgImluaXRfaGVhcHEiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihpbWFnZW9wKQotOyAgImluaXRpbWFnZW9wIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoaXRlcnRvb2xzbW9kdWxlKQotOyAgImluaXRpdGVydG9vbHMiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihfbG9jYWxlbW9kdWxlKQotOyAgImluaXRfbG9jYWxlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIobWF0aG1vZHVsZSkKLTsgICJpbml0bWF0aCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKG1kNSkKLSAgIm1kNV9maW5pc2giCi0gICJtZDVfaW5pdCIKLSAgIm1kNV9hcHBlbmQiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihtZDVtb2R1bGUpCi07ICAiaW5pdF9tZDUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihvcGVyYXRvcikKLTsgICJpbml0b3BlcmF0b3IiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihfcmFuZG9tbW9kdWxlKQotOyAgImluaXRfcmFuZG9tIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIocmdiaW1nbW9kdWxlKQotOyAgImluaXRyZ2JpbWciCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihzaGFtb2R1bGUpCi07ICAiaW5pdF9zaGEiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihzaGEyNTZtb2R1bGUpCi07ICAiaW5pdF9zaGEyNTYiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihzaGE1MTJtb2R1bGUpCi07ICAiaW5pdF9zaGE1MTIiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYihfc3JlKQotOyAgImluaXRfc3JlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoc3Ryb3Btb2R1bGUpCi07ICAiaW5pdHN0cm9wIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoX3N0cnVjdCkKLTsgICJpbml0X3N0cnVjdCIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHN5bXRhYmxlbW9kdWxlKQotOyAgImluaXRfc3ltdGFibGUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYih0ZXJtaW9zKQotOyAgImluaXR0ZXJtaW9zIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIodGltZW1vZHVsZSkKLTsgICJpbml0dGltZSIKLSAgIl9QeVRpbWVfRG91YmxlVG9UaW1ldCIKLTsgICJpbml0dGltZXpvbmUiCi0KLTsgRnJvbSBweXRob24zM19zLmxpYih0aW1pbmdtb2R1bGUpCi07ICAiaW5pdHRpbWluZyIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKF93ZWFrcmVmKQotOyAgImluaXRfd2Vha3JlZiIKLQotOyBGcm9tIHB5dGhvbjMzX3MubGliKHh4c3VidHlwZSkKLTsgICJpbml0eHhzdWJ0eXBlIgotCi07IEZyb20gcHl0aG9uMzNfcy5saWIoemlwaW1wb3J0KQotOyAgImluaXR6aXBpbXBvcnQiCmRpZmYgLS1naXQgYS9QQy9vczJlbXgvcHl0aG9ucG0uYyBiL1BDL29zMmVteC9weXRob25wbS5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTQ3ZjRiLi4wMDAwMDAwCi0tLSBhL1BDL29zMmVteC9weXRob25wbS5jCisrKyAvZGV2L251bGwKQEAgLTEsMTI0ICswLDAgQEAKLS8qIE9TLzIgUE0gbWFpbiBwcm9ncmFtIC0gY3JlYXRlcyBhIGhpZGRlbiB3aW5kb3csIGFuZCBzdGFydHMgUHl0aG9uCi0gKiBpbnRlcnByZXRlciBpbiBhIHNlcGFyYXRlIHRocmVhZCwgc28gdGhhdCBQeXRob24gc2NyaXB0cyBjYW4gYmUKLSAqIHJ1biBpbiBQTSBwcm9jZXNzIHNwYWNlIHdpdGhvdXQgYSBjb25zb2xlIFdpbmRvdy4gIFRoZSBpbnRlcnByZXRlcgotICogaXMgaW5jb3Jwb3JhdGVkIGJ5IGxpbmtpbmcgaW4gdGhlIFB5dGhvbiBETEwuCi0gKgotICogQXMgaXQgc3RhbmRzLCBJIGRvbid0IHRoaW5rIHRoaXMgaXMgYWRlcXVhdGUgZm9yIHN1cHBvcnRpbmcgUHl0aG9uCi0gKiBHVUkgbW9kdWxlcywgYXMgdGhlIFB5dGhvbiB0aHJlYWQgZG9lc24ndCBoYXZlIGl0cyBvd24gbWVzc2FnZQotICogcXVldWUgLSB3aGljaCBpcyByZXF1aXJlZCBvZiB0aHJlYWRzIHRoYXQgd2FudCB0byBjcmVhdGUvdXNlCi0gKiBQTSB3aW5kb3dzLgotICoKLSAqIFRoaXMgY29kZSBvd2VzIGEgbG90IHRvICJPUy8yIFByZXNlbnRhdGlvbiBNYW5hZ2VyIFByb2dyYW1taW5nIiwgYnkKLSAqIENoYXJsZXMgUGV0em9sZC4KLSAqCi0gKiBBbmRyZXcgTWFjSW50eXJlIDxhbmR5bWFjQGJ1bGxzZXllLmFwYW5hLm9yZy5hdT4sIEF1Z3VzdCAyMDAxLgotICogUmVsZWFzZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBQeXRob24gMi4xLjEgbGljZW5jZSAtIHNlZSB0aGUgTElDRU5DRQotICogZmlsZSBpbiB0aGUgUHl0aG9uIHYyLjEuMSAob3IgbGF0ZXIpIHNvdXJjZSBkaXN0cmlidXRpb24uCi0gKiBDb3B5cmlnaHQgYXNzaWduZWQgdG8gdGhlIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uLCAyMDAxLgotICovCi0KLSNkZWZpbmUgSU5DTF9ET1MKLSNkZWZpbmUgSU5DTF9XSU4KLSNpbmNsdWRlIDxvczIuaD4KLSNpbmNsdWRlIDxwcm9jZXNzLmg+Ci0KLSNpbmNsdWRlICJQeXRob24uaCIKLQotLyogdXNlIHN0cnVjdHVyZSB0byBwYXNzIGNvbW1hbmQgbGluZSB0byBQeXRob24gdGhyZWFkICovCi10eXBlZGVmIHN0cnVjdAotewotICAgIGludCBhcmdjOwotICAgIGNoYXIgKiphcmd2OwotICAgIEhXTkQgRnJhbWU7Ci0gICAgaW50IHJ1bm5pbmc7Ci19IGFyZ2xpc3Q7Ci0KLS8qIG1ha2UgdGhpcyBhIGdsb2JhbCB0byBzaW1wbGlmeSBhY2Nlc3MuCi0gKiBpdCBzaG91bGQgb25seSBiZSBzZXQgZnJvbSB0aGUgUHl0aG9uIHRocmVhZCwgb3IgYnkgdGhlIGNvZGUgdGhhdAotICogaW5pdGlhdGVzIHRoZSBQeXRob24gdGhyZWFkIHdoZW4gdGhlIHRocmVhZCBjYW5ub3QgYmUgY3JlYXRlZC4KLSAqLwotaW50IFB5dGhvblJDOwotCi1leHRlcm4gRExfRVhQT1JUKGludCkgUHlfTWFpbihpbnQsIGNoYXIgKiopOwotdm9pZCBQeXRob25UaHJlYWQodm9pZCAqKTsKLQotaW50Ci1tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBVTE9ORyBGcmFtZUZsYWdzID0gRkNGX1RJVExFQkFSIHwKLSAgICAgICAgICAgICAgICAgICAgICAgRkNGX1NZU01FTlUgfAotICAgICAgICAgICAgICAgICAgICAgICBGQ0ZfU0laRUJPUkRFUiB8Ci0gICAgICAgICAgICAgICAgICAgICAgIEZDRl9ISURFQlVUVE9OIHwKLSAgICAgICAgICAgICAgICAgICAgICAgRkNGX1NIRUxMUE9TSVRJT04gfAotICAgICAgICAgICAgICAgICAgICAgICBGQ0ZfVEFTS0xJU1Q7Ci0gICAgSEFCIGhhYjsKLSAgICBITVEgaG1xOwotICAgIEhXTkQgQ2xpZW50OwotICAgIFFNU0cgcW1zZzsKLSAgICBhcmdsaXN0IGFyZ3M7Ci0gICAgaW50IHB5dGhvbl90aWQ7Ci0KLSAgICAvKiBpbml0IFBNIGFuZCBjcmVhdGUgbWVzc2FnZSBxdWV1ZSAqLwotICAgIGhhYiA9IFdpbkluaXRpYWxpemUoMCk7Ci0gICAgaG1xID0gV2luQ3JlYXRlTXNnUXVldWUoaGFiLCAwKTsKLQotICAgIC8qIGNyZWF0ZSBhIChoaWRkZW4pIFdpbmRvdyB0byBob3VzZSB0aGUgd2luZG93IHByb2NlZHVyZSAqLwotICAgIGFyZ3MuRnJhbWUgPSBXaW5DcmVhdGVTdGRXaW5kb3coSFdORF9ERVNLVE9QLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZGcmFtZUZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQeXRob25QTSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkNsaWVudCk7Ci0KLSAgICAvKiBydW4gUHl0aG9uIGludGVycHJldGVyIGluIGEgdGhyZWFkICovCi0gICAgYXJncy5hcmdjID0gYXJnYzsKLSAgICBhcmdzLmFyZ3YgPSBhcmd2OwotICAgIGFyZ3MucnVubmluZyA9IDA7Ci0gICAgaWYgKC0xID09IChweXRob25fdGlkID0gX2JlZ2ludGhyZWFkKFB5dGhvblRocmVhZCwgTlVMTCwgMTAyNCAqIDEwMjQsICZhcmdzKSkpCi0gICAgewotICAgICAgICAvKiBjb3VsZG4ndCBzdGFydCB0aHJlYWQgKi8KLSAgICAgICAgV2luQWxhcm0oSFdORF9ERVNLVE9QLCBXQV9FUlJPUik7Ci0gICAgICAgIFB5dGhvblJDID0gMTsKLSAgICB9Ci0gICAgZWxzZQotICAgIHsKLSAgICAgICAgLyogcHJvY2VzcyBQTSBtZXNzYWdlcywgdW50aWwgUHl0aG9uIGV4aXRzICovCi0gICAgICAgIHdoaWxlIChXaW5HZXRNc2coaGFiLCAmcW1zZywgTlVMTEhBTkRMRSwgMCwgMCkpCi0gICAgICAgICAgICBXaW5EaXNwYXRjaE1zZyhoYWIsICZxbXNnKTsKLSAgICAgICAgaWYgKGFyZ3MucnVubmluZyA+IDApCi0gICAgICAgICAgICBEb3NLaWxsVGhyZWFkKHB5dGhvbl90aWQpOwotICAgIH0KLQotICAgIC8qIGRlc3Ryb3kgd2luZG93LCBzaHV0ZG93biBtZXNzYWdlIHF1ZXVlIGFuZCBQTSAqLwotICAgIFdpbkRlc3Ryb3lXaW5kb3coYXJncy5GcmFtZSk7Ci0gICAgV2luRGVzdHJveU1zZ1F1ZXVlKGhtcSk7Ci0gICAgV2luVGVybWluYXRlKGhhYik7Ci0KLSAgICByZXR1cm4gUHl0aG9uUkM7Ci19Ci0KLXZvaWQgUHl0aG9uVGhyZWFkKHZvaWQgKmFyZ2wpCi17Ci0gICAgSEFCIGhhYjsKLSAgICBhcmdsaXN0ICphcmdzOwotCi0gICAgLyogUE0gaW5pdGlhbGlzYXRpb24gKi8KLSAgICBoYWIgPSBXaW5Jbml0aWFsaXplKDApOwotCi0gICAgLyogc3RhcnQgUHl0aG9uICovCi0gICAgYXJncyA9IChhcmdsaXN0ICopYXJnbDsKLSAgICBhcmdzLT5ydW5uaW5nID0gMTsKLSAgICBQeXRob25SQyA9IFB5X01haW4oYXJncy0+YXJnYywgYXJncy0+YXJndik7Ci0KLSAgICAvKiBlbnRlciBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHNlbmQgdGhlIHRlcm1pbmF0aW9uIG1lc3NhZ2UgKi8KLSAgICBEb3NFbnRlckNyaXRTZWMoKTsKLSAgICBhcmdzLT5ydW5uaW5nID0gMDsKLSAgICBXaW5Qb3N0TXNnKGFyZ3MtPkZyYW1lLCBXTV9RVUlULCBOVUxMLCBOVUxMKTsKLQotICAgIC8qIHNodXRkb3duIFBNIGFuZCB0ZXJtaW5hdGUgdGhyZWFkICovCi0gICAgV2luVGVybWluYXRlKGhhYik7Ci0gICAgX2VuZHRocmVhZCgpOwotfQpkaWZmIC0tZ2l0IGEvUEMvb3MydmFjcHAvX3RraW50ZXIuZGVmIGIvUEMvb3MydmFjcHAvX3RraW50ZXIuZGVmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWRhYjhkLi4wMDAwMDAwCi0tLSBhL1BDL29zMnZhY3BwL190a2ludGVyLmRlZgorKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotTElCUkFSWSAgICAgICAgX1RLSU5URVIgSU5JVElOU1RBTkNFIFRFUk1JTlNUQU5DRQotREVTQ1JJUFRJT04gICAgJ1B5dGhvbiBFeHRlbnNpb24gRExMIHYxLjAgZm9yIEFjY2VzcyB0byBUY2wvVGsgRW52aXJvbm1lbnQnCi1QUk9UTU9ERQotREFUQSAgICAgICAgICAgTVVMVElQTEUgTk9OU0hBUkVECi0KLUVYUE9SVFMKLSAgICAgICAgICAgICAgIGluaXRfdGtpbnRlcgotCmRpZmYgLS1naXQgYS9QQy9vczJ2YWNwcC9jb25maWcuYyBiL1BDL29zMnZhY3BwL2NvbmZpZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMjZiNTIxLi4wMDAwMDAwCi0tLSBhL1BDL29zMnZhY3BwL2NvbmZpZy5jCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotLyogLSotIEMgLSotICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi1Db3B5cmlnaHQgKGMpIDIwMDAsIEJlT3Blbi5jb20uCi1Db3B5cmlnaHQgKGMpIDE5OTUtMjAwMCwgQ29ycG9yYXRpb24gZm9yIE5hdGlvbmFsIFJlc2VhcmNoIEluaXRpYXRpdmVzLgotQ29weXJpZ2h0IChjKSAxOTkwLTE5OTUsIFN0aWNodGluZyBNYXRoZW1hdGlzY2ggQ2VudHJ1bS4KLUFsbCByaWdodHMgcmVzZXJ2ZWQuCi0KLVNlZSB0aGUgZmlsZSAiTWlzYy9DT1BZUklHSFQiIGZvciBpbmZvcm1hdGlvbiBvbiB1c2FnZSBhbmQKLXJlZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgYW5kIGZvciBhIERJU0NMQUlNRVIgT0YgQUxMIFdBUlJBTlRJRVMuCi0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLS8qIE1vZHVsZSBjb25maWd1cmF0aW9uICovCi0KLS8qIFRoaXMgZmlsZSBjb250YWlucyB0aGUgdGFibGUgb2YgYnVpbHQtaW4gbW9kdWxlcy4KLSAgIFNlZSBpbml0X2J1aWx0aW4oKSBpbiBpbXBvcnQuYy4gKi8KLQotI2luY2x1ZGUgIlB5dGhvbi5oIgotCi1leHRlcm4gdm9pZCBpbml0YXJyYXkodm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0YXVkaW9vcCh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRiaW5hc2NpaSh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRjbWF0aCh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRlcnJubyh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRpbWFnZW9wKHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdG1hdGgodm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0bWQ1KHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdG50KHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdG9zMih2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRvcGVyYXRvcih2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRwb3NpeCh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRyZ2JpbWcodm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0c2lnbmFsKHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdHNlbGVjdCh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXRfc29ja2V0KHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdHN0cnVjdCh2b2lkKTsKLWV4dGVybiB2b2lkIGluaXR0aW1lKHZvaWQpOwotZXh0ZXJuIHZvaWQgaW5pdF90aHJlYWQodm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0cGNyZSh2b2lkKTsKLSNpZmRlZiBXSU4zMgotZXh0ZXJuIHZvaWQgaW5pdG1zdmNydCh2b2lkKTsKLSNlbmRpZgotCi0vKiAtLSBBRERNT0RVTEUgTUFSS0VSIDEgLS0gKi8KLQotZXh0ZXJuIHZvaWQgUHlNYXJzaGFsX0luaXQodm9pZCk7Ci1leHRlcm4gdm9pZCBpbml0aW1wKHZvaWQpOwotCi1zdHJ1Y3QgX2luaXR0YWIgX1B5SW1wb3J0X0luaXR0YWJbXSA9IHsKLQotICAgICAgICB7ImFycmF5IiwgaW5pdGFycmF5fSwKLSNpZmRlZiBNX0kzODYKLSAgICAgICAgeyJhdWRpb29wIiwgaW5pdGF1ZGlvb3B9LAotI2VuZGlmCi0gICAgICAgIHsiYmluYXNjaWkiLCBpbml0YmluYXNjaWl9LAotICAgICAgICB7ImNtYXRoIiwgaW5pdGNtYXRofSwKLSAgICAgICAgeyJlcnJubyIsIGluaXRlcnJub30sCi0vLyAgICAgICAgeyJpbWFnZW9wIiwgaW5pdGltYWdlb3B9LAotICAgICAgICB7Im1hdGgiLCBpbml0bWF0aH0sCi0gICAgICAgIHsibWQ1IiwgaW5pdG1kNX0sCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSB8fCBkZWZpbmVkKF9fQk9STEFORENfXykgfHwgZGVmaW5lZChfX1dBVENPTUNfXykKLSAgICAgICAgeyJudCIsIGluaXRudH0sIC8qIFVzZSB0aGUgTlQgb3MgZnVuY3Rpb25zLCBub3QgcG9zaXggKi8KLSNlbHNlCi0jaWYgZGVmaW5lZChQWU9TX09TMikKLSAgICAgICAgeyJvczIiLCBpbml0b3MyfSwKLSNlbHNlCi0gICAgICAgIHsicG9zaXgiLCBpbml0cG9zaXh9LAotI2VuZGlmCi0jZW5kaWYKLSAgICAgICAgeyJvcGVyYXRvciIsIGluaXRvcGVyYXRvcn0sCi0vLyAgICAgICAgeyJyZ2JpbWciLCBpbml0cmdiaW1nfSwKLSAgICAgICAgeyJzaWduYWwiLCBpbml0c2lnbmFsfSwKLSNpZmRlZiBVU0VfU09DS0VUCi0gICAgICAgIHsiX3NvY2tldCIsIGluaXRfc29ja2V0fSwKLSAgICAgICAgeyJzZWxlY3QiLCBpbml0c2VsZWN0fSwKLSNlbmRpZgotICAgICAgICB7InN0cnVjdCIsIGluaXRzdHJ1Y3R9LAotICAgICAgICB7InRpbWUiLCBpbml0dGltZX0sCi0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICAgICAgeyJfdGhyZWFkIiwgaW5pdF90aHJlYWR9LAotI2VuZGlmCi0gICAgICAgIHsicGNyZSIsIGluaXRwY3JlfSwKLSNpZmRlZiBXSU4zMgotICAgICAgICB7Im1zdmNydCIsIGluaXRtc3ZjcnR9LAotI2VuZGlmCi0KLS8qIC0tIEFERE1PRFVMRSBNQVJLRVIgMiAtLSAqLwotCi0gICAgICAgIC8qIFRoaXMgbW9kdWxlICJsaXZlcyBpbiIgd2l0aCBtYXJzaGFsLmMgKi8KLSAgICAgICAgeyJtYXJzaGFsIiwgUHlNYXJzaGFsX0luaXR9LAotCi0gICAgICAgIC8qIFRoaXMgbGl2ZXMgaXQgd2l0aCBpbXBvcnQuYyAqLwotICAgICAgICB7Il9pbXAiLCBpbml0aW1wfSwKLQotICAgICAgICAvKiBUaGVzZSBlbnRyaWVzIGFyZSBoZXJlIGZvciBzeXMuYnVpbHRpbl9tb2R1bGVfbmFtZXMgKi8KLSAgICAgICAgeyJidWlsdGlucyIsIE5VTEx9LAotICAgICAgICB7InN5cyIsIE5VTEx9LAotCi0gICAgICAgIC8qIFNlbnRpbmVsICovCi0gICAgICAgIHswLCAwfQotfTsKZGlmZiAtLWdpdCBhL1BDL29zMnZhY3BwL2dldHBhdGhwLmMgYi9QQy9vczJ2YWNwcC9nZXRwYXRocC5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YmMyODI3Li4wMDAwMDAwCi0tLSBhL1BDL29zMnZhY3BwL2dldHBhdGhwLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0ODIgKzAsMCBAQAotCi0vKiBSZXR1cm4gdGhlIGluaXRpYWwgbW9kdWxlIHNlYXJjaCBwYXRoLiAqLwotLyogVXNlZCBieSBET1MsIE9TLzIsIFdpbmRvd3MgMy4xLiAgV29ya3Mgb24gTlQgdG9vLiAqLwotCi0jaW5jbHVkZSAiUHl0aG9uLmgiCi0jaW5jbHVkZSAib3NkZWZzLmgiCi0KLSNpZmRlZiBNU19XSU4zMgotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLWV4dGVybiBCT09MIFB5V2luX0lzV2luMzJzKHZvaWQpOwotI2VuZGlmCi0KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPHN0cmluZy5oPgotCi0jaWYgSEFWRV9VTklTVERfSAotI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2VuZGlmIC8qIEhBVkVfVU5JU1REX0ggKi8KLQotLyogU2VhcmNoIGluIHNvbWUgY29tbW9uIGxvY2F0aW9ucyBmb3IgdGhlIGFzc29jaWF0ZWQgUHl0aG9uIGxpYnJhcmllcy4KLSAqCi0gKiBUd28gZGlyZWN0b3JpZXMgbXVzdCBiZSBmb3VuZCwgdGhlIHBsYXRmb3JtIGluZGVwZW5kZW50IGRpcmVjdG9yeQotICogKHByZWZpeCksIGNvbnRhaW5pbmcgdGhlIGNvbW1vbiAucHkgYW5kIC5weWMgZmlsZXMsIGFuZCB0aGUgcGxhdGZvcm0KLSAqIGRlcGVuZGVudCBkaXJlY3RvcnkgKGV4ZWNfcHJlZml4KSwgY29udGFpbmluZyB0aGUgc2hhcmVkIGxpYnJhcnkKLSAqIG1vZHVsZXMuICBOb3RlIHRoYXQgcHJlZml4IGFuZCBleGVjX3ByZWZpeCBjYW4gYmUgdGhlIHNhbWUgZGlyZWN0b3J5LAotICogYnV0IGZvciBzb21lIGluc3RhbGxhdGlvbnMsIHRoZXkgYXJlIGRpZmZlcmVudC4KLSAqCi0gKiBQeV9HZXRQYXRoKCkgdHJpZXMgdG8gcmV0dXJuIGEgc2Vuc2libGUgUHl0aG9uIG1vZHVsZSBzZWFyY2ggcGF0aC4KLSAqCi0gKiBGaXJzdCwgd2UgbG9vayB0byBzZWUgaWYgdGhlIGV4ZWN1dGFibGUgaXMgaW4gYSBzdWJkaXJlY3Rvcnkgb2YKLSAqIHRoZSBQeXRob24gYnVpbGQgZGlyZWN0b3J5LiAgV2UgY2FsY3VsYXRlIHRoZSBmdWxsIHBhdGggb2YgdGhlCi0gKiBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgZXhlY3V0YWJsZSBhcyBwcm9ncGF0aC4gIFdlIHdvcmsgYmFja3dhcmRzCi0gKiBhbG9uZyBwcm9ncGF0aCBhbmQgbG9vayBmb3IgJGRpci9Nb2R1bGVzL1NldHVwLmluLCBhIGRpc3RpbmN0aXZlCi0gKiBsYW5kbWFyay4gIElmIGZvdW5kLCB3ZSB1c2UgJGRpci9MaWIgYXMgJHJvb3QuICBUaGUgcmV0dXJuZWQKLSAqIFB5dGhvbiBwYXRoIGlzIHRoZSBjb21waWxlZCAjZGVmaW5lIFBZVEhPTlBBVEggd2l0aCBhbGwgdGhlIGluaXRpYWwKLSAqICIuL2xpYiIgcmVwbGFjZWQgYnkgJHJvb3QuCi0gKgotICogT3RoZXJ3aXNlLCBpZiB0aGVyZSBpcyBhIFBZVEhPTlBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUsIHdlIHJldHVybiB0aGF0LgotICoKLSAqIE90aGVyd2lzZSB3ZSB0cnkgdG8gZmluZCAkcHJvZ3BhdGgvbGliL29zLnB5LCBhbmQgaWYgZm91bmQsIHRoZW4KLSAqIHJvb3QgaXMgJHByb2dwYXRoL2xpYiwgYW5kIHdlIHJldHVybiBQeXRob24gcGF0aCBhcyBjb21waWxlZCBQWVRIT05QQVRICi0gKiB3aXRoIGFsbCAiLi9saWIiIHJlcGxhY2VkIGJ5ICRyb290IChhcyBhYm92ZSkuCi0gKgotICovCi0KLSNpZm5kZWYgTEFORE1BUksKLSNkZWZpbmUgTEFORE1BUksgImxpYlxcb3MucHkiCi0jZW5kaWYKLQotc3RhdGljIGNoYXIgcHJlZml4W01BWFBBVEhMRU4rMV07Ci1zdGF0aWMgY2hhciBleGVjX3ByZWZpeFtNQVhQQVRITEVOKzFdOwotc3RhdGljIGNoYXIgcHJvZ3BhdGhbTUFYUEFUSExFTisxXTsKLXN0YXRpYyBjaGFyICptb2R1bGVfc2VhcmNoX3BhdGggPSBOVUxMOwotCi0KLXN0YXRpYyBpbnQKLWlzX3NlcChjaGFyIGNoKSAvKiBkZXRlcm1pbmUgaWYgImNoIiBpcyBhIHNlcGFyYXRvciBjaGFyYWN0ZXIgKi8KLXsKLSNpZmRlZiBBTFRTRVAKLSAgICByZXR1cm4gY2ggPT0gU0VQIHx8IGNoID09IEFMVFNFUDsKLSNlbHNlCi0gICAgcmV0dXJuIGNoID09IFNFUDsKLSNlbmRpZgotfQotCi0KLXN0YXRpYyB2b2lkCi1yZWR1Y2UoY2hhciAqZGlyKQotewotICAgIGludCBpID0gc3RybGVuKGRpcik7Ci0gICAgd2hpbGUgKGkgPiAwICYmICFpc19zZXAoZGlyW2ldKSkKLSAgICAgICAgLS1pOwotICAgIGRpcltpXSA9ICdcMCc7Ci19Ci0KLQotc3RhdGljIGludAotZXhpc3RzKGNoYXIgKmZpbGVuYW1lKQotewotICAgIHN0cnVjdCBzdGF0IGJ1ZjsKLSAgICByZXR1cm4gc3RhdChmaWxlbmFtZSwgJmJ1ZikgPT0gMDsKLX0KLQotCi0vKiBBZGQgYSBwYXRoIGNvbXBvbmVudCwgYnkgYXBwZW5kaW5nIHN0dWZmIHRvIGJ1ZmZlci4KLSAgIGJ1ZmZlciBtdXN0IGhhdmUgYXQgbGVhc3QgTUFYUEFUSExFTiArIDEgYnl0ZXMgYWxsb2NhdGVkLCBhbmQgY29udGFpbiBhCi0gICBOVUwtdGVybWluYXRlZCBzdHJpbmcgd2l0aCBubyBtb3JlIHRoYW4gTUFYUEFUSExFTiBjaGFyYWN0ZXJzIChub3QgY291bnRpbmcKLSAgIHRoZSB0cmFpbGluZyBOVUwpLiAgSXQncyBhIGZhdGFsIGVycm9yIGlmIGl0IGNvbnRhaW5zIGEgc3RyaW5nIGxvbmdlciB0aGFuCi0gICB0aGF0IChjYWxsZXJzIG11c3QgYmUgY2FyZWZ1bCEpLiAgSWYgdGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBtZXQsIGl0J3MKLSAgIGd1YXJhbnRlZWQgdGhhdCBidWZmZXIgd2lsbCBzdGlsbCBiZSBhIE5VTC10ZXJtaW5hdGVkIHN0cmluZyB3aXRoIG5vIG1vcmUKLSAgIHRoYW4gTUFYUEFUSExFTiBjaGFyYWN0ZXJzIGF0IGV4aXQuICBJZiBzdHVmZiBpcyB0b28gbG9uZywgb25seSBhcyBtdWNoIG9mCi0gICBzdHVmZiBhcyBmaXRzIHdpbGwgYmUgYXBwZW5kZWQuCi0qLwotc3RhdGljIHZvaWQKLWpvaW4oY2hhciAqYnVmZmVyLCBjaGFyICpzdHVmZikKLXsKLSAgICBpbnQgbiwgazsKLSAgICBpZiAoaXNfc2VwKHN0dWZmWzBdKSkKLSAgICAgICAgbiA9IDA7Ci0gICAgZWxzZSB7Ci0gICAgICAgIG4gPSBzdHJsZW4oYnVmZmVyKTsKLSAgICAgICAgaWYgKG4gPiAwICYmICFpc19zZXAoYnVmZmVyW24tMV0pICYmIG4gPCBNQVhQQVRITEVOKQotICAgICAgICAgICAgYnVmZmVyW24rK10gPSBTRVA7Ci0gICAgfQotICAgIGlmIChuID4gTUFYUEFUSExFTikKLSAgICAgICAgUHlfRmF0YWxFcnJvcigiYnVmZmVyIG92ZXJmbG93IGluIGdldHBhdGhwLmMncyBqb2lucGF0aCgpIik7Ci0gICAgayA9IHN0cmxlbihzdHVmZik7Ci0gICAgaWYgKG4gKyBrID4gTUFYUEFUSExFTikKLSAgICAgICAgayA9IE1BWFBBVEhMRU4gLSBuOwotICAgIHN0cm5jcHkoYnVmZmVyK24sIHN0dWZmLCBrKTsKLSAgICBidWZmZXJbbitrXSA9ICdcMCc7Ci19Ci0KLQotc3RhdGljIGludAotc2VhcmNoX2Zvcl9wcmVmaXgoY2hhciAqYXJndjBfcGF0aCwgY2hhciAqbGFuZG1hcmspCi17Ci0gICAgaW50IG47Ci0KLSAgICAvKiBTZWFyY2ggZnJvbSBhcmd2MF9wYXRoLCB1bnRpbCByb290IGlzIGZvdW5kICovCi0gICAgc3RyY3B5KHByZWZpeCwgYXJndjBfcGF0aCk7Ci0gICAgZG8gewotICAgICAgICBuID0gc3RybGVuKHByZWZpeCk7Ci0gICAgICAgIGpvaW4ocHJlZml4LCBsYW5kbWFyayk7Ci0gICAgICAgIGlmIChleGlzdHMocHJlZml4KSkgewotICAgICAgICAgICAgcHJlZml4W25dID0gJ1wwJzsKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICB9Ci0gICAgICAgIHByZWZpeFtuXSA9ICdcMCc7Ci0gICAgICAgIHJlZHVjZShwcmVmaXgpOwotICAgIH0gd2hpbGUgKHByZWZpeFswXSk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLSNpZmRlZiBNU19XSU4zMgotI2luY2x1ZGUgIm1hbGxvYy5oIiAvLyBmb3IgYWxsb2NhIC0gc2VlIGNvbW1lbnRzIGJlbG93IQotZXh0ZXJuIGNvbnN0IGNoYXIgKlB5V2luX0RMTFZlcnNpb25TdHJpbmc7IC8vIGEgc3RyaW5nIGxvYWRlZCBmcm9tIHRoZSBETEwgYXQgc3RhcnR1cC4KLQotCi0vKiBMb2FkIGEgUFlUSE9OUEFUSCB2YWx1ZSBmcm9tIHRoZSByZWdpc3RyeS4KLSAgIExvYWQgZnJvbSBlaXRoZXIgSEtFWV9MT0NBTF9NQUNISU5FIG9yIEhLRVlfQ1VSUkVOVF9VU0VSLgotCi0gICBSZXR1cm5zIE5VTEwsIG9yIGEgcG9pbnRlciB0aGF0IHNob3VsZCBiZSBmcmVlZC4KLSovCi0KLXN0YXRpYyBjaGFyICoKLWdldHB5dGhvbnJlZ3BhdGgoSEtFWSBrZXlCYXNlLCBCT09MIGJXaW4zMnMpCi17Ci0gICAgSEtFWSBuZXdLZXkgPSAwOwotICAgIERXT1JEIG5hbWVTaXplID0gMDsKLSAgICBEV09SRCBkYXRhU2l6ZSA9IDA7Ci0gICAgRFdPUkQgbnVtRW50cmllcyA9IDA7Ci0gICAgTE9ORyByYzsKLSAgICBjaGFyICpyZXR2YWwgPSBOVUxMOwotICAgIGNoYXIgKmRhdGFCdWY7Ci0gICAgY29uc3QgY2hhciBrZXlQcmVmaXhbXSA9ICJTb2Z0d2FyZVxcUHl0aG9uXFxQeXRob25Db3JlXFwiOwotICAgIGNvbnN0IGNoYXIga2V5U3VmZml4W10gPSAiXFxQeXRob25QYXRoIjsKLSAgICBpbnQgdmVyc2lvbkxlbjsKLSAgICBjaGFyICprZXlCdWY7Ci0KLSAgICAvLyBUcmllZCB0byB1c2Ugc3lzZ2V0KCJ3aW52ZXIiKSBidXQgaGVyZSBpcyB0b28gZWFybHkgOi0oCi0gICAgdmVyc2lvbkxlbiA9IHN0cmxlbihQeVdpbl9ETExWZXJzaW9uU3RyaW5nKTsKLSAgICAvLyBhbGxvY2EgPT0gbm8gZnJlZSByZXF1aXJlZCwgYnV0IG1lbW9yeSBvbmx5IGxvY2FsIHRvIGZuLgotICAgIC8vIGFsc28gbm8gaGVhcCBmcmFnbWVudGF0aW9uISAgQW0gSSBiZWluZyBzaWxseT8KLSAgICBrZXlCdWYgPSBhbGxvY2Eoc2l6ZW9mKGtleVByZWZpeCktMSArIHZlcnNpb25MZW4gKyBzaXplb2Yoa2V5U3VmZml4KSk7IC8vIGNoYXJzIG9ubHksIHBsdXMgMSBOVUxMLgotICAgIC8vIGxvdHMgb2YgY29uc3RhbnRzIGhlcmUgZm9yIHRoZSBjb21waWxlciB0byBvcHRpbWl6ZSBhd2F5IDotKQotICAgIG1lbWNweShrZXlCdWYsIGtleVByZWZpeCwgc2l6ZW9mKGtleVByZWZpeCktMSk7Ci0gICAgbWVtY3B5KGtleUJ1ZitzaXplb2Yoa2V5UHJlZml4KS0xLCBQeVdpbl9ETExWZXJzaW9uU3RyaW5nLCB2ZXJzaW9uTGVuKTsKLSAgICBtZW1jcHkoa2V5QnVmK3NpemVvZihrZXlQcmVmaXgpLTErdmVyc2lvbkxlbiwga2V5U3VmZml4LCBzaXplb2Yoa2V5U3VmZml4KSk7IC8vIE5VTEwgY29tZXMgd2l0aCB0aGlzIG9uZSEKLQotICAgIHJjPVJlZ09wZW5LZXkoa2V5QmFzZSwKLSAgICAgICAgICAgICAgICAgIGtleUJ1ZiwKLSAgICAgICAgICAgICAgICAgICZuZXdLZXkpOwotICAgIGlmIChyYz09RVJST1JfU1VDQ0VTUykgewotICAgICAgICBSZWdRdWVyeUluZm9LZXkobmV3S2V5LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgJm51bUVudHJpZXMsICZuYW1lU2l6ZSwgJmRhdGFTaXplLCBOVUxMLCBOVUxMKTsKLSAgICB9Ci0gICAgaWYgKGJXaW4zMnMgJiYgbnVtRW50cmllcz09MCAmJiBkYXRhU2l6ZT09MCkgewotICAgICAgICAvKiBtdXN0IGhhcmRjb2RlIGZvciBXaW4zMnMgKi8KLSAgICAgICAgbnVtRW50cmllcyA9IDE7Ci0gICAgICAgIGRhdGFTaXplID0gNTExOwotICAgIH0KLSAgICBpZiAobnVtRW50cmllcykgewotICAgICAgICAvKiBMb29wIG92ZXIgYWxsIHN1YmtleXMuICovCi0gICAgICAgIC8qIFdpbjMycyBkb2VzbnQga25vdyBob3cgbWFueSBzdWJrZXlzLCBzbyB3ZSBkbwotICAgICAgICAgICBpdCB0d2ljZSAqLwotICAgICAgICBjaGFyIGtleUJ1ZltNQVhfUEFUSCsxXTsKLSAgICAgICAgaW50IGluZGV4ID0gMDsKLSAgICAgICAgaW50IG9mZiA9IDA7Ci0gICAgICAgIGZvcihpbmRleD0wOztpbmRleCsrKSB7Ci0gICAgICAgICAgICBsb25nIHJlcWRTaXplID0gMDsKLSAgICAgICAgICAgIERXT1JEIHJjID0gUmVnRW51bUtleShuZXdLZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgsIGtleUJ1ZiwgTUFYX1BBVEgrMSk7Ci0gICAgICAgICAgICBpZiAocmMpIGJyZWFrOwotICAgICAgICAgICAgcmMgPSBSZWdRdWVyeVZhbHVlKG5ld0tleSwga2V5QnVmLCBOVUxMLCAmcmVxZFNpemUpOwotICAgICAgICAgICAgaWYgKHJjKSBicmVhazsKLSAgICAgICAgICAgIGlmIChiV2luMzJzICYmIHJlcWRTaXplPT0wKSByZXFkU2l6ZSA9IDUxMjsKLSAgICAgICAgICAgIGRhdGFTaXplICs9IHJlcWRTaXplICsgMTsgLyogMSBmb3IgdGhlICI7IiAqLwotICAgICAgICB9Ci0gICAgICAgIGRhdGFCdWYgPSBtYWxsb2MoZGF0YVNpemUrMSk7Ci0gICAgICAgIGlmIChkYXRhQnVmPT1OVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7IC8qIHByZXR0eSBzZXJpb3VzPyAgUmFpc2UgZXJyb3I/ICovCi0gICAgICAgIC8qIE5vdyBsb29wIG92ZXIsIGdyYWJiaW5nIHRoZSBwYXRocy4KLSAgICAgICAgICAgU3Via2V5cyBiZWZvcmUgbWFpbiBsaWJyYXJ5ICovCi0gICAgICAgIGZvcihpbmRleD0wOztpbmRleCsrKSB7Ci0gICAgICAgICAgICBpbnQgYWRqdXN0OwotICAgICAgICAgICAgbG9uZyByZXFkU2l6ZSA9IGRhdGFTaXplOwotICAgICAgICAgICAgRFdPUkQgcmMgPSBSZWdFbnVtS2V5KG5ld0tleSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCwga2V5QnVmLE1BWF9QQVRIKzEpOwotICAgICAgICAgICAgaWYgKHJjKSBicmVhazsKLSAgICAgICAgICAgIHJjID0gUmVnUXVlcnlWYWx1ZShuZXdLZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5QnVmLCBkYXRhQnVmK29mZiwgJnJlcWRTaXplKTsKLSAgICAgICAgICAgIGlmIChyYykgYnJlYWs7Ci0gICAgICAgICAgICBpZiAocmVxZFNpemU+MSkgewotICAgICAgICAgICAgICAgIC8qIElmIE5vdGhpbmcsIG9yIG9ubHkgJ1wwJyBjb3BpZWQuICovCi0gICAgICAgICAgICAgICAgYWRqdXN0ID0gc3RybGVuKGRhdGFCdWYrb2ZmKTsKLSAgICAgICAgICAgICAgICBkYXRhU2l6ZSAtPSBhZGp1c3Q7Ci0gICAgICAgICAgICAgICAgb2ZmICs9IGFkanVzdDsKLSAgICAgICAgICAgICAgICBkYXRhQnVmW29mZisrXSA9ICc7JzsKLSAgICAgICAgICAgICAgICBkYXRhQnVmW29mZl0gPSAnXDAnOwotICAgICAgICAgICAgICAgIGRhdGFTaXplLS07Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgLyogQWRkaXRpb25hbGx5LCB3aW4zMnMgZG9lc250IHdvcmsgYXMgZXhwZWN0ZWQsIHNvCi0gICAgICAgICAgIHRoZSBzcGVjaWZpYyBzdHJsZW4oKSBpcyByZXF1aXJlZCBmb3IgMy4xLiAqLwotICAgICAgICByYyA9IFJlZ1F1ZXJ5VmFsdWUobmV3S2V5LCAiIiwgZGF0YUJ1ZitvZmYsICZkYXRhU2l6ZSk7Ci0gICAgICAgIGlmIChyYz09RVJST1JfU1VDQ0VTUykgewotICAgICAgICAgICAgaWYgKHN0cmxlbihkYXRhQnVmKT09MCkKLSAgICAgICAgICAgICAgICBmcmVlKGRhdGFCdWYpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHZhbCA9IGRhdGFCdWY7IC8qIGNhbGxlciB3aWxsIGZyZWUgKi8KLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBmcmVlKGRhdGFCdWYpOwotICAgIH0KLQotICAgIGlmIChuZXdLZXkpCi0gICAgICAgIFJlZ0Nsb3NlS2V5KG5ld0tleSk7Ci0gICAgcmV0dXJuIHJldHZhbDsKLX0KLSNlbmRpZiAvKiBNU19XSU4zMiAqLwotCi1zdGF0aWMgdm9pZAotZ2V0X3Byb2dwYXRoKHZvaWQpCi17Ci0gICAgZXh0ZXJuIGNoYXIgKlB5X0dldFByb2dyYW1OYW1lKHZvaWQpOwotICAgIGNoYXIgKnBhdGggPSBnZXRlbnYoIlBBVEgiKTsKLSAgICBjaGFyICpwcm9nID0gUHlfR2V0UHJvZ3JhbU5hbWUoKTsKLQotI2lmZGVmIE1TX1dJTjMyCi0gICAgaWYgKEdldE1vZHVsZUZpbGVOYW1lKE5VTEwsIHByb2dwYXRoLCBNQVhQQVRITEVOKSkKLSAgICAgICAgcmV0dXJuOwotI2VuZGlmCi0gICAgaWYgKHByb2cgPT0gTlVMTCB8fCAqcHJvZyA9PSAnXDAnKQotICAgICAgICBwcm9nID0gInB5dGhvbiI7Ci0KLSAgICAvKiBJZiB0aGVyZSBpcyBubyBzbGFzaCBpbiB0aGUgYXJndjAgcGF0aCwgdGhlbiB3ZSBoYXZlIHRvCi0gICAgICogYXNzdW1lIHB5dGhvbiBpcyBvbiB0aGUgdXNlcidzICRQQVRILCBzaW5jZSB0aGVyZSdzIG5vCi0gICAgICogb3RoZXIgd2F5IHRvIGZpbmQgYSBkaXJlY3RvcnkgdG8gc3RhcnQgdGhlIHNlYXJjaCBmcm9tLiAgSWYKLSAgICAgKiAkUEFUSCBpc24ndCBleHBvcnRlZCwgeW91IGxvc2UuCi0gICAgICovCi0jaWZkZWYgQUxUU0VQCi0gICAgaWYgKHN0cmNocihwcm9nLCBTRVApIHx8IHN0cmNocihwcm9nLCBBTFRTRVApKQotI2Vsc2UKLSAgICBpZiAoc3RyY2hyKHByb2csIFNFUCkpCi0jZW5kaWYKLSAgICAgICAgc3RyY3B5KHByb2dwYXRoLCBwcm9nKTsKLSAgICBlbHNlIGlmIChwYXRoKSB7Ci0gICAgICAgIHdoaWxlICgxKSB7Ci0gICAgICAgICAgICBjaGFyICpkZWxpbSA9IHN0cmNocihwYXRoLCBERUxJTSk7Ci0KLSAgICAgICAgICAgIGlmIChkZWxpbSkgewotICAgICAgICAgICAgICAgIGludCBsZW4gPSBkZWxpbSAtIHBhdGg7Ci0gICAgICAgICAgICAgICAgc3RybmNweShwcm9ncGF0aCwgcGF0aCwgbGVuKTsKLSAgICAgICAgICAgICAgICAqKHByb2dwYXRoICsgbGVuKSA9ICdcMCc7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgc3RyY3B5KHByb2dwYXRoLCBwYXRoKTsKLQotICAgICAgICAgICAgam9pbihwcm9ncGF0aCwgcHJvZyk7Ci0gICAgICAgICAgICBpZiAoZXhpc3RzKHByb2dwYXRoKSkKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgaWYgKCFkZWxpbSkgewotICAgICAgICAgICAgICAgIHByb2dwYXRoWzBdID0gJ1wwJzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHBhdGggPSBkZWxpbSArIDE7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZWxzZQotICAgICAgICBwcm9ncGF0aFswXSA9ICdcMCc7Ci19Ci0KLXN0YXRpYyB2b2lkCi1jYWxjdWxhdGVfcGF0aCh2b2lkKQotewotICAgIGNoYXIgYXJndjBfcGF0aFtNQVhQQVRITEVOKzFdOwotICAgIGNoYXIgKmJ1ZjsKLSAgICBpbnQgYnVmc3o7Ci0gICAgY2hhciAqcHl0aG9uaG9tZSA9IFB5X0dldFB5dGhvbkhvbWUoKTsKLSAgICBjaGFyICplbnZwYXRoID0gUHlfR0VURU5WKCJQWVRIT05QQVRIIik7Ci0jaWZkZWYgTVNfV0lOMzIKLSAgICBjaGFyICptYWNoaW5lcGF0aCwgKnVzZXJwYXRoOwotCi0gICAgLyogQXJlIHdlIHJ1bm5pbmcgdW5kZXIgV2luZG93cyAzLjEoMSkgV2luMzJzPyAqLwotICAgIGlmIChQeVdpbl9Jc1dpbjMycygpKSB7Ci0gICAgICAgIC8qIE9ubHkgQ0xBU1NFU19ST09UIGlzIHN1cHBvcnRlZCAqLwotICAgICAgICBtYWNoaW5lcGF0aCA9IGdldHB5dGhvbnJlZ3BhdGgoSEtFWV9DTEFTU0VTX1JPT1QsIFRSVUUpOwotICAgICAgICB1c2VycGF0aCA9IE5VTEw7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbWFjaGluZXBhdGggPSBnZXRweXRob25yZWdwYXRoKEhLRVlfTE9DQUxfTUFDSElORSwgRkFMU0UpOwotICAgICAgICB1c2VycGF0aCA9IGdldHB5dGhvbnJlZ3BhdGgoSEtFWV9DVVJSRU5UX1VTRVIsIEZBTFNFKTsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGdldF9wcm9ncGF0aCgpOwotICAgIHN0cmNweShhcmd2MF9wYXRoLCBwcm9ncGF0aCk7Ci0gICAgcmVkdWNlKGFyZ3YwX3BhdGgpOwotICAgIGlmIChweXRob25ob21lID09IE5VTEwgfHwgKnB5dGhvbmhvbWUgPT0gJ1wwJykgewotICAgICAgICBpZiAoc2VhcmNoX2Zvcl9wcmVmaXgoYXJndjBfcGF0aCwgTEFORE1BUkspKQotICAgICAgICAgICAgcHl0aG9uaG9tZSA9IHByZWZpeDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcHl0aG9uaG9tZSA9IE5VTEw7Ci0gICAgfQotICAgIGVsc2UgewotICAgIGNoYXIgKmRlbGltOwotCi0gICAgICAgIHN0cmNweShwcmVmaXgsIHB5dGhvbmhvbWUpOwotCi0gICAgLyogRXh0cmFjdCBBbnkgT3B0aW9uYWwgVHJhaWxpbmcgRVhFQ19QUkVGSVggKi8KLSAgICAvKiBlLmcuIFBZVEhPTkhPTUU9PHByZWZpeD46PGV4ZWNfcHJlZml4PiAgICovCi0gICAgZGVsaW0gPSBzdHJjaHIocHJlZml4LCBERUxJTSk7Ci0gICAgaWYgKGRlbGltKSB7Ci0gICAgICAgICpkZWxpbSA9ICdcMCc7Ci0gICAgICAgIHN0cmNweShleGVjX3ByZWZpeCwgZGVsaW0rMSk7Ci0gICAgfSBlbHNlCi0gICAgICAgIHN0cmNweShleGVjX3ByZWZpeCwgRVhFQ19QUkVGSVgpOwotICAgIH0KLQotICAgIGlmIChlbnZwYXRoICYmICplbnZwYXRoID09ICdcMCcpCi0gICAgICAgIGVudnBhdGggPSBOVUxMOwotCi0gICAgLyogV2UgbmVlZCB0byBjb25zdHJ1Y3QgYSBwYXRoIGZyb20gdGhlIGZvbGxvd2luZyBwYXJ0czoKLSAgICAgICAoMSkgdGhlIFBZVEhPTlBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUsIGlmIHNldDsKLSAgICAgICAoMikgZm9yIFdpbjMyLCB0aGUgbWFjaGluZXBhdGggYW5kIHVzZXJwYXRoLCBpZiBzZXQ7Ci0gICAgICAgKDMpIHRoZSBQWVRIT05QQVRIIGNvbmZpZyBtYWNybywgd2l0aCB0aGUgbGVhZGluZyAiLiIKLSAgICAgICAgICAgb2YgZWFjaCBjb21wb25lbnQgcmVwbGFjZWQgd2l0aCBweXRob25ob21lLCBpZiBzZXQ7Ci0gICAgICAgKDQpIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgZXhlY3V0YWJsZSAoYXJndjBfcGF0aCkuCi0gICAgICAgVGhlIGxlbmd0aCBjYWxjdWxhdGlvbiBjYWxjdWxhdGVzICMzIGZpcnN0LgotICAgICovCi0KLSAgICAvKiBDYWxjdWxhdGUgc2l6ZSBvZiByZXR1cm4gYnVmZmVyICovCi0gICAgaWYgKHB5dGhvbmhvbWUgIT0gTlVMTCkgewotICAgICAgICBjaGFyICpwOwotICAgICAgICBidWZzeiA9IDE7Ci0gICAgICAgIGZvciAocCA9IFBZVEhPTlBBVEg7ICpwOyBwKyspIHsKLSAgICAgICAgICAgIGlmICgqcCA9PSBERUxJTSkKLSAgICAgICAgICAgICAgICBidWZzeisrOyAvKiBudW1iZXIgb2YgREVMSU0gcGx1cyBvbmUgKi8KLSAgICAgICAgfQotICAgICAgICBidWZzeiAqPSBzdHJsZW4ocHl0aG9uaG9tZSk7Ci0gICAgfQotICAgIGVsc2UKLSAgICAgICAgYnVmc3ogPSAwOwotICAgIGJ1ZnN6ICs9IHN0cmxlbihQWVRIT05QQVRIKSArIDE7Ci0gICAgaWYgKGVudnBhdGggIT0gTlVMTCkKLSAgICAgICAgYnVmc3ogKz0gc3RybGVuKGVudnBhdGgpICsgMTsKLSAgICBidWZzeiArPSBzdHJsZW4oYXJndjBfcGF0aCkgKyAxOwotI2lmZGVmIE1TX1dJTjMyCi0gICAgaWYgKG1hY2hpbmVwYXRoKQotICAgICAgICBidWZzeiArPSBzdHJsZW4obWFjaGluZXBhdGgpICsgMTsKLSAgICBpZiAodXNlcnBhdGgpCi0gICAgICAgIGJ1ZnN6ICs9IHN0cmxlbih1c2VycGF0aCkgKyAxOwotI2VuZGlmCi0KLSAgICBtb2R1bGVfc2VhcmNoX3BhdGggPSBidWYgPSBtYWxsb2MoYnVmc3opOwotICAgIGlmIChidWYgPT0gTlVMTCkgewotICAgICAgICAvKiBXZSBjYW4ndCBleGl0LCBzbyBwcmludCBhIHdhcm5pbmcgYW5kIGxpbXAgYWxvbmcgKi8KLSAgICAgICAgZnByaW50ZihzdGRlcnIsICJDYW4ndCBtYWxsb2MgZHluYW1pYyBQWVRIT05QQVRILlxuIik7Ci0gICAgICAgIGlmIChlbnZwYXRoKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVzaW5nIGRlZmF1bHQgc3RhdGljICRQWVRIT05QQVRILlxuIik7Ci0gICAgICAgICAgICBtb2R1bGVfc2VhcmNoX3BhdGggPSBlbnZwYXRoOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJVc2luZyBlbnZpcm9ubWVudCAkUFlUSE9OUEFUSC5cbiIpOwotICAgICAgICAgICAgbW9kdWxlX3NlYXJjaF9wYXRoID0gUFlUSE9OUEFUSDsKLSAgICAgICAgfQotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKGVudnBhdGgpIHsKLSAgICAgICAgc3RyY3B5KGJ1ZiwgZW52cGF0aCk7Ci0gICAgICAgIGJ1ZiA9IHN0cmNocihidWYsICdcMCcpOwotICAgICAgICAqYnVmKysgPSBERUxJTTsKLSAgICB9Ci0jaWZkZWYgTVNfV0lOMzIKLSAgICBpZiAobWFjaGluZXBhdGgpIHsKLSAgICAgICAgc3RyY3B5KGJ1ZiwgbWFjaGluZXBhdGgpOwotICAgICAgICBidWYgPSBzdHJjaHIoYnVmLCAnXDAnKTsKLSAgICAgICAgKmJ1ZisrID0gREVMSU07Ci0gICAgfQotICAgIGlmICh1c2VycGF0aCkgewotICAgICAgICBzdHJjcHkoYnVmLCB1c2VycGF0aCk7Ci0gICAgICAgIGJ1ZiA9IHN0cmNocihidWYsICdcMCcpOwotICAgICAgICAqYnVmKysgPSBERUxJTTsKLSAgICB9Ci0jZW5kaWYKLSAgICBpZiAocHl0aG9uaG9tZSA9PSBOVUxMKSB7Ci0gICAgICAgIHN0cmNweShidWYsIFBZVEhPTlBBVEgpOwotICAgICAgICBidWYgPSBzdHJjaHIoYnVmLCAnXDAnKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGNoYXIgKnAgPSBQWVRIT05QQVRIOwotICAgICAgICBjaGFyICpxOwotICAgICAgICBpbnQgbjsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgcSA9IHN0cmNocihwLCBERUxJTSk7Ci0gICAgICAgICAgICBpZiAocSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIG4gPSBzdHJsZW4ocCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgbiA9IHEtcDsKLSAgICAgICAgICAgIGlmIChwWzBdID09ICcuJyAmJiBpc19zZXAocFsxXSkpIHsKLSAgICAgICAgICAgICAgICBzdHJjcHkoYnVmLCBweXRob25ob21lKTsKLSAgICAgICAgICAgICAgICBidWYgPSBzdHJjaHIoYnVmLCAnXDAnKTsKLSAgICAgICAgICAgICAgICBwKys7Ci0gICAgICAgICAgICAgICAgbi0tOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RybmNweShidWYsIHAsIG4pOwotICAgICAgICAgICAgYnVmICs9IG47Ci0gICAgICAgICAgICBpZiAocSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgKmJ1ZisrID0gREVMSU07Ci0gICAgICAgICAgICBwID0gcSsxOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChhcmd2MF9wYXRoKSB7Ci0gICAgICAgICpidWYrKyA9IERFTElNOwotICAgICAgICBzdHJjcHkoYnVmLCBhcmd2MF9wYXRoKTsKLSAgICAgICAgYnVmID0gc3RyY2hyKGJ1ZiwgJ1wwJyk7Ci0gICAgfQotICAgICpidWYgPSAnXDAnOwotfQotCi0KLS8qIEV4dGVybmFsIGludGVyZmFjZSAqLwotCi1jaGFyICoKLVB5X0dldFBhdGgodm9pZCkKLXsKLSAgICBpZiAoIW1vZHVsZV9zZWFyY2hfcGF0aCkKLSAgICAgICAgY2FsY3VsYXRlX3BhdGgoKTsKLQotICAgIHJldHVybiBtb2R1bGVfc2VhcmNoX3BhdGg7Ci19Ci0KLWNoYXIgKgotUHlfR2V0UHJlZml4KHZvaWQpCi17Ci0gICAgaWYgKCFtb2R1bGVfc2VhcmNoX3BhdGgpCi0gICAgICAgIGNhbGN1bGF0ZV9wYXRoKCk7Ci0KLSAgICByZXR1cm4gcHJlZml4OwotfQotCi1jaGFyICoKLVB5X0dldEV4ZWNQcmVmaXgodm9pZCkKLXsKLSAgICBpZiAoIW1vZHVsZV9zZWFyY2hfcGF0aCkKLSAgICAgICAgY2FsY3VsYXRlX3BhdGgoKTsKLQotICAgIHJldHVybiBleGVjX3ByZWZpeDsKLX0KLQotY2hhciAqCi1QeV9HZXRQcm9ncmFtRnVsbFBhdGgodm9pZCkKLXsKLSAgICBpZiAoIW1vZHVsZV9zZWFyY2hfcGF0aCkKLSAgICAgICAgY2FsY3VsYXRlX3BhdGgoKTsKLQotICAgIHJldHVybiBwcm9ncGF0aDsKLX0KZGlmZiAtLWdpdCBhL1BDL29zMnZhY3BwL21ha2VmaWxlIGIvUEMvb3MydmFjcHAvbWFrZWZpbGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyZjBhZGMuLjAwMDAwMDAKLS0tIGEvUEMvb3MydmFjcHAvbWFrZWZpbGUKKysrIC9kZXYvbnVsbApAQCAtMSwxNTQ5ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgICAgICAgICAgVG9wLUxldmVsIE1ha2VmaWxlIGZvciBCdWlsZGluZyBQeXRob24gZm9yIE9TLzIKLSMKLSMgVGhpcyBtYWtlZmlsZSB3YXMgZGV2ZWxvcGVkIGZvciB1c2Ugd2l0aCBJQk0ncyBWaXN1YWxBZ2UgQy9DKysKLSMgZm9yIE9TLzIgY29tcGlsZXIsIHZlcnNpb24gMy4wLCB3aXRoIEZpeHBhY2sgOCBhcHBsaWVkLiAgSXQgdXNlcwotIyB2ZXJzaW9uIDQuMCBvZiB0aGUgTk1BS0UgdG9vbCB0aGF0IGNvbWVzIHdpdGggdGhhdCBwYWNrYWdlLgotIwotIyBUaGUgb3V0cHV0IG9mIHRoZSBidWlsZCBpcyBhIGxhcmdpc2ggUHl0aG9uMjMuRExMIGNvbnRhaW5pbmcgdGhlCi0jIGVzc2VudGlhbCBtb2R1bGVzIG9mIFB5dGhvbiBhbmQgYSBzbWFsbCBQeXRob24uZXhlIHByb2dyYW0gdG8gc3RhcnQKLSMgdGhlIGludGVycHJldGVyLiAgV2hlbiBlbWJlZGRpbmcgUHl0aG9uIHdpdGhpbiBhbm90aGVyIHByb2dyYW0sIG9ubHkKLSMgUHl0aG9uMjMuRExMIGlzIG5lZWRlZC4KLSMKLSMgVGhlc2UgdHdvIGJpbmFyaWVzIGNhbiBiZSBzdGF0aWNhbGx5IGxpbmtlZCB3aXRoIHRoZSBWaXN1YWxBZ2UgQy9DKysKLSMgcnVudGltZSBsaWJyYXJ5IChwcm9kdWNpbmcgbGFyZ2VyIGJpbmFyaWVzKSwgb3IgZHluYW1pY2FsbHkgbGlua2VkCi0jIHRvIG1ha2Ugc21hbGxlciBvbmVzIHRoYXQgcmVxdWlyZSB0aGUgY29tcGlsZXIgdG8gYmUgaW5zdGFsbGVkIG9uCi0jIGFueSBzeXN0ZW0gUHl0aG9uIGlzIHVzZWQgb24uICBSZXZpZXcgdGhlIC9HZCsgY29tcGlsZXIgb3B0aW9uIGZvcgotIyBob3cgdG8gZG8gdGhpcy4KLSMKLSMgTk9URTogSUJNJ3MgTk1BS0UgNC4wIGlzIHJhdGhlciBkdW1iLCByZXF1aXJpbmcgdGhpcyBtYWtlZmlsZSB0bwotIyAgICAgICBiZSBtdWNoIG1vcmUgY29tcGxpY2F0ZWQgdGhhbiBuZWNlc3NhcnkuICBJIHVzZSBPcHVzTUFLRQotIyAgICAgICBteXNlbGYgZm9yIGEgbXVjaCBtb3JlIHBvd2VyZnVsIE1BS0UgdG9vbCBidXQgbm90IGV2ZXJ5b25lCi0jICAgICAgIHdpc2hlcyB0byBidXkgaXQuICBIb3dldmVyLCBhcyBhIHJlc3VsdCBJIGRpZG4ndCBob29rIGluCi0jICAgICAgIHRoZSBkZXBlbmRlbmNpZXMgb24gdGhlIGluY2x1ZGUgZmlsZXMgYXMgTk1BS0UgaGFzIG5vIGVhc3kKLSMgICAgICAgd2F5IHRvIGRvIHRoaXMgd2l0aG91dCBleHBsaWNpdGx5IHNwZWxsaW5nIGl0IGFsbCBvdXQuCi0jCi0jIEhpc3RvcnkgKE1vc3QgUmVjZW50IEZpcnN0KQotIwotIyAyNi1TZXAtOTgganJyIFJldGVzdGVkIGFuZCBhZGp1c3RlZCBmb3IgYnVpbGRpbmcgdy9QeXRob24gMS41LjJhMQotIyAyMC1Ob3YtOTcganJyIENsZWFuZWQgVXAgZm9yIEFwcGx5aW5nIHRvIERpc3RyaWJ1dGlvbgotIyAyOS1PY3QtOTcganJyIE1vZGlmaWVkIGZvciBVc2Ugd2l0aCBQeXRob24gMS41IEFscGhhIDQKLSMgMDMtQXVnLTk2IGpyciBPcmlnaW5hbCBmb3IgVXNlIHdpdGggUHl0aG9uIDEuNCBSZWxlYXNlCi0jCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgUGxhY2VzIGFuZCBUaGluZ3MKLSMjIyMjIyMjIyMjIyMjIyMjIyMKLVBZX01PRFVMRVMgICAgICA9IC4uXC4uXE1vZHVsZXMKLVBZX09CSkVDVFMgICAgICA9IC4uXC4uXE9iamVjdHMKLVBZX1BBUlNFUiAgICAgICA9IC4uXC4uXFBhcnNlcgotUFlfUFlUSE9OICAgICAgID0gLi5cLi5cUHl0aG9uCi1QWV9JTkNMVURFICAgICAgPSAuLlwuLlxJbmNsdWRlCi1QWV9JTkNMVURFUyAgICAgPSAuOyQoUFlfSU5DTFVERSk7JChQWV9NT0RVTEVTKTskKFBZX09CSkVDVFMpOyQoUFlfUEFSU0VSKTskKFBZX1BZVEhPTikKLQotIyBGaWxlIHRvIENvbGxlY3QgV29yZHkgQ29tcGlsZXIgT3V0cHV0IHJlIEVycm9ycwotRVJSUwkJPSBtYWtlLm91dAotCi0jIFdoZXJlIHRvIEZpbmQgdGhlIElCTSBUQ1AvSVAgU29ja2V0IEluY2x1ZGVzIGFuZCBMaWJyYXJpZXMKLU9TMlRDUElQICAgICAgICA9IEM6XE1QVE4KLQotIyBXaGVyZSB0byBGaW5kIHRoZSBUY2wvVGsgQmFzZSBEaXJlY3RvcnkgZm9yIExpYnMvSW5jbHVkZXMKLVRDTFRLCQk9IEQ6XFRjbFRrCi1UQ0xCQVNFCQk9IEQ6XFRjbDcuNlxPUzIKLVRLQkFTRQkJPSBEOlxUazQuMlxPUzIKLQotIyBXaGVyZSB0byBQdXQgdGhlIC5PQkogRmlsZXMsIFRvIEtlZXAgVGhlbSBPdXQgb2YgdGhlIFdheQotUEFUSE9CSgkJPSBvYmoKLQotIyBTZWFyY2ggUGF0aCBmb3IgSW5jbHVkZSBGaWxlcwotUFJPSklOQ0xVREUJPSAuOyQoVENMQkFTRSk7JChUS0JBU0UpOyQoT1MyVENQSVApXEluY2x1ZGU7JChQWV9JTkNMVURFUykKLQotIyBQbGFjZSB0byBTZWFyY2ggZm9yIFNvdXJjZXMgcmUgT3B1c01BS0UgRGVwZW5kZW5jeSBHZW5lcmF0b3IgKENvbW1lcmNpYWwpCi1NS01GX1NSQ1MJPSAkKFBZX01PRFVMRVMpXCouYyAkKFBZX09CSkVDVFMpXCouYyAkKFBZX1BBUlNFUilcKi5jICQoUFlfUFlUSE9OKVwqLmMKLQotIy5IRFJQQVRILmMJOj0gJChQUk9KSU5DTFVERSw7PSApICQoLkhEUlBBVEguYykKLSMuUEFUSC5jICAgICAgICAgPSAuOyQoUFlfTU9EVUxFUyk7JChQWV9PQkpFQ1RTKTskKFBZX1BBUlNFUik7JChQWV9QWVRIT04pCi1PVEhFUkxJQlMJPSBzbzMyZGxsLmxpYiB0Y3AzMmRsbC5saWIgIyBUY2w3Ni5saWIgVGs0Mi5saWIKLQotIyMjIyMjIyMjIyMjIyMjIyMKLSMgSW5mZXJlbmNlIFJ1bGVzCi0jIyMjIyMjIyMjIyMjIyMjIwoteyQoUFlfTU9EVUxFUylcfS5jeyQoUEFUSE9CSilcfS5vYmo6CSMgQ29tcGlsZSBDIENvZGUgaW50byBhIC5PQkogRmlsZQotCUAgRWNobyBDb21waWxpbmcgJDwKLQlAICQoQ0MpIC1jICQoQ0ZMQUdTKSAtRm8kQCAkPCA+PiQoRVJSUykKLQoteyQoUFlfT0JKRUNUUylcfS5jeyQoUEFUSE9CSilcfS5vYmo6CSMgQ29tcGlsZSBDIENvZGUgaW50byBhIC5PQkogRmlsZQotCUAgRWNobyBDb21waWxpbmcgJDwKLQlAICQoQ0MpIC1jICQoQ0ZMQUdTKSAtRm8kQCAkPCA+PiQoRVJSUykKLQoteyQoUFlfUEFSU0VSKVx9LmN7JChQQVRIT0JKKVx9Lm9iajoJIyBDb21waWxlIEMgQ29kZSBpbnRvIGEgLk9CSiBGaWxlCi0JQCBFY2hvIENvbXBpbGluZyAkPAotCUAgJChDQykgLWMgJChDRkxBR1MpIC1GbyRAICQ8ID4+JChFUlJTKQotCi17JChQWV9QWVRIT04pXH0uY3skKFBBVEhPQkopXH0ub2JqOgkjIENvbXBpbGUgQyBDb2RlIGludG8gYSAuT0JKIEZpbGUKLQlAIEVjaG8gQ29tcGlsaW5nICQ8Ci0JQCAkKENDKSAtYyAkKENGTEFHUykgLUZvJEAgJDwgPj4kKEVSUlMpCi0KLS5jeyQoUEFUSE9CSilcfS5vYmo6CQkJIyBDb21waWxlIEMgQ29kZSBpbnRvIGEgLk9CSiBGaWxlCi0JQCBFY2hvIENvbXBpbGluZyAkPAotCUAgJChDQykgLWMgJChDRkxBR1MpIC1GbyRAICQ8ID4+JChFUlJTKQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjCi0jIFB5dGhvbiBTdWJzeXN0ZW1zCi0jIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMgUFlUSE9OIGlzIHRoZSBjZW50cmFsIGNvcmUsIGNvbnRhaW5pbmcgdGhlIGJ1aWx0aW5zIGFuZCBpbnRlcnByZXRlci4KLVBZVEhPTgkJPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEJsdGluTW9kdWxlLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXENFdmFsLm9iaiAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXENvbXBpbGUub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEVycm9ycy5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEZyb3plbi5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldGFyZ3Mub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldENvbXBpbGVyLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldENvcHlyaWdodC5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldE1UaW1lLm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldE9wdC5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldFBsYXRmb3JtLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdldFZlcnNpb24ub2JqICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdyYW1Jbml0Lm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEltcG9ydC5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEltcG9ydERMLm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE1hcnNoYWwub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE1vZFN1cHBvcnQub2JqICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE15U3RydG91bC5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFB5U3RhdGUub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFB5dGhvblJ1bi5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFN0cnVjdE1lbWJlci5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFN5c01vZHVsZS5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFRocmVhZC5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFRyYWNlQmFjay5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEZyb3plbk1haW4ub2JqICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXGV4Y2VwdGlvbnMub2JqICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXHN5bXRhYmxlLm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXGNvZGVjcy5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXGZ1dHVyZS5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXGR5bmxvYWRfb3MyLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXG15c25wcmludGYub2JqICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXGl0ZXJvYmplY3Qub2JqCi0KLSMgUHl0aG9uJ3MgSW50ZXJuYWwgUGFyc2VyCi1QQVJTRVIJCT0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEFjY2VsZXIub2JqICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcR3JhbW1hcjEub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxMaXN0Tm9kZS5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE5vZGUub2JqICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcUGFyc2VyLm9iaiAgICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxQYXJzZVRvay5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEJpdFNldC5vYmogICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcTWV0YUdyYW1tYXIub2JqICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxUb2tlbml6ZXIub2JqICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE15UmVhZGxpbmUub2JqCi0KLSMgUHl0aG9uIE9iamVjdCBUeXBlcwotT0JKRUNUUwkJPSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcQWJzdHJhY3Qub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxCb29sT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEJ1ZmZlck9iamVjdC5vYmogIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcQ2VsbE9iamVjdC5vYmogICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxDbGFzc09iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXENPYmplY3Qub2JqICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcQ29tcGxleE9iamVjdC5vYmogXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxEZXNjck9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXERpY3RPYmplY3Qub2JqICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcRW51bU9iamVjdC5vYmogICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxGaWxlT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEZsb2F0T2JqZWN0Lm9iaiAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcRnJhbWVPYmplY3Qub2JqICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxGdW5jT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEl0ZXJPYmplY3Qub2JqICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcTGlzdE9iamVjdC5vYmogICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxMb25nT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE1ldGhvZE9iamVjdC5vYmogIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcTW9kdWxlT2JqZWN0Lm9iaiAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxPYmplY3Qub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE9iTWFsbG9jLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcUmFuZ2VPYmplY3Qub2JqICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxTbGljZU9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFN0cmluZ09iamVjdC5vYmogIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcU3RydWN0U2VxLm9iaiAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxUdXBsZU9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFR5cGVPYmplY3Qub2JqICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcVW5pY29kZU9iamVjdC5vYmogXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxVbmljb2RlQ1R5cGUub2JqICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFdlYWtyZWZPYmplY3Qub2JqCi0KLSMgRXh0ZW5zaW9uIE1vZHVsZXMgKEJ1aWx0LUluIG9yIGFzIFNlcGFyYXRlIERMTHMpCi1NT0RVTEVTCQk9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxBcnJheU1vZHVsZS5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEJpbkFzY2lpLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcQ01hdGhNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxFcnJub01vZHVsZS5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXEdDTW9kdWxlLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcR2V0QnVpbGRJbmZvLm9iaiAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxHZXRQYXRoUC5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE1haW4ub2JqICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcTWF0aE1vZHVsZS5vYmogICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxNRDVjLm9iaiAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXE1ENU1vZHVsZS5vYmogICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcT3BlcmF0b3Iub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxQQ1JFTW9kdWxlLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFB5UENSRS5vYmogICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcUG9zaXhNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxSZWdleE1vZHVsZS5vYmogICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFJlZ0V4cHIub2JqICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcU2VsZWN0TW9kdWxlLm9iaiAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxTaWduYWxNb2R1bGUub2JqICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFNvY2tldE1vZHVsZS5vYmogIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcU3Ryb3BNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxTdHJ1Y3RNb2R1bGUub2JqICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFRpbWVNb2R1bGUub2JqICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcVGhyZWFkTW9kdWxlLm9iagotCi0jIFN0YW5kYWxvbmUgUGFyc2VyIEdlbmVyYXRvciBQcm9ncmFtIChTaGFyZXMgU29tZSBvZiBQeXRob24ncyBNb2R1bGVzKQotUEdFTiAgICAgICAgICAgID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFBHZW4ub2JqICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcUEdlbk1haW4ub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxNeVNOUHJpbnRmLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFRva2VuaXplcl9QZ2VuLm9iaiBcCi0gICAgICAgICAgICAgICAgICAkKFBBVEhPQkopXFByaW50R3JhbW1hci5vYmogIFwKLSAgICAgICAgICAgICAgICAgICQoUEFUSE9CSilcR3JhbW1hci5vYmogICAgICAgXAotICAgICAgICAgICAgICAgICAgJChQQVRIT0JKKVxGaXJzdFNldHMub2JqCi0KLSMjIyMjIyMjIyMjIyMjIyMjIwotIyBNYWNyb3MgYW5kIEZsYWdzCi0jIyMjIyMjIyMjIyMjIyMjIyMKLV9CQVNFCQk9IC9RIC9XMiAvSSQoUFJPSklOQ0xVREUpCi0JCSMgL1EgICA9IE9taXQgSUJNIENvcHlyaWdodAotCQkjIC9XMiAgPSBTaG93IFdhcm5pbmdzL0Vycm9ycyBPbmx5Ci0KLV9HRU4JCT0gL0c0IC9HbSAvR2QtCi0JCSMgL0c0ICA9IEdlbmVyYXRlIENvZGUgZm9yIDQ4NiAoVXNlIDM4NiBmb3IgRGVidWdnZXIpCi0JCSMgL0dtICA9IFVzZSBNdWx0aXRocmVhZCBSdW50aW1lCi0JCSMgL0dkICA9IER5bmFtaWNhbGx5IExvYWQgUnVudGltZQotCQkjIC9NcyAgPSBVc2UgX1N5c3RlbSBDYWxsaW5nIENvbnZlbnRpb24gKHZzIF9PcHRsaW5rKQotCQkjICAgICAgICAodG8gYWxsb3cgbm9uLVZBQysrIGNvZGUgdG8gY2FsbCBpbnRvIFB5dGhvbjIzLmRsbCkKLQotX09QVAkJPSAvTyAvR2wKLQkJIyAvTyAgID0gRW5hYmxlIFNwZWVkLU9wdGltaXphdGlvbnMKLQkJIyAvT2wgID0gUGFzcyBDb2RlIFRocnUgSW50ZXJtZWRpYXRlIExpbmtlcgotCQkjIC9HdSAgPSBBZHZpc2UgTGlua2VyIEFsbCBFeHQgRGF0YSBpcyBJRCdkCi0JCSMgL0dsICA9IEhhdmUgTGlua2VyIFJlbW92ZSBVbnVzZWQgRm5zCi0KLV9EQkcJCT0gL1dwcm8tIC9UaS0gL0RIQVZFX0NPTkZJR19IIC9EVVNFX1NPQ0tFVAotICAgICAgICAgICAgICAgICMgL1dwcm89IEdlbmVyYXRlIENvbXBpbGVyIFdhcm5pbmdzIHJlIE1pc3NpbmcgUHJvdG90eXBlcwotCQkjIC9UaSAgPSBFbWJlZCBEZWJ1Z2dlci9BbmFseXplciBSZWNzCi0JCSMgL1RtICA9IEVuYWJsZSBEZWJ1ZyBNZW1vcnkgRm5zCi0JCSMgL1R4ICA9IFJlcXVlc3QgRnVsbCBEdW1wIFVwb24gRXhjZXB0aW9uCi0JCSMgL0RIQVZFX0NPTkZJR19IID0gQ2F1c2VzIFVzZSBvZiBDT05GSUcuSCBTZXR0aW5ncwotICAgICAgICAgICAgICAgICMgL0RVU0VfU09DS0VUID0gRW5hYmxlcyBCdWlsZGluZyBJbiBvZiBTb2NrZXQgQVBJCi0KLV9PVVQJCT0gCi0JCSMgL0ZiICA9IEVtYmVkIEJyb3dzZXIgUmVjcwotCQkjIC9HaCAgPSBHZW5lcmF0ZSBDb2RlIGZvciBQcm9maWxlciBIb29rcwotCQkjIC9GbCAgPSBPdXRwdXQgQy9DKysgTGlzdGluZyBGaWxlcwotICAgICAgICAgICAgICAgICMgL0xmICA9IFByb3ZpZGUgRnVsbCAoRGV0YWlsZWQpIExpc3RpbmcgRmlsZXMKLQkJIyAvRm0uID0gT3V0cHV0IExpbmtlciBNYXAgRmlsZQotCQkjIC9GdC4gPSBPdXRwdXQgQysrIFRlbXBsYXRlIFJlc29sdXRpb24gRmlsZXMKLQotX01BUAkJPSAvRm1Ob2lzZVwkKEBSKS5tYXAKLQotX0RMTAkJPSAvR2UtCi1fRVhFCQk9IC9HZQotCQkjIC9HZSA9IENyZWF0ZSBhbiBFWEUsIG5vdCBETEwKLQotQ0ZMQUdTCQk9ICQoX0JBU0UpICQoX0dFTikgJChfT1BUKSAkKF9EQkcpICQoX09VVCkgJChfRVhFKSAvU3MKLQotIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBQcmltYXJ5IFRhcmdldChzKQotIyMjIyMjIyMjIyMjIyMjIyMjIwotQWxsOiAgb2JqIG5vaXNlIFB5Q29yZS5saWIgUHl0aG9uMjMubGliIFBHZW4uZXhlIFwKLSAgICAgIFB5dGhvbi5leGUgUHl0aG9uUE0uZXhlIFB5dGhvbjIzLmRsbCAjIF90a2ludGVyLmRsbAotCi1Nb2R1bGVzOiAkKE1PRFVMRVMpCi1PYmplY3RzOiAkKE9CSkVDVFMpCi1QYXJzZXI6ICAkKFBBUlNFUikKLVB5dGhvbjogICQoUFlUSE9OKQotCi0jIERpcmVjdG9yeSB0byBLZWVwIC5PQkogRmlsZXMgT3V0IG9mIHRoZSBXYXkKLW9iajoKLQlALW1rZGlyIG9iaiA+Pk5VTAotCi0jIERpcmVjdG9yeSB0byBLZWVwIC5NQVAgYW5kIFN1Y2ggVGV4dCBGaWxlcyBPdXQgb2YgdGhlIFdheQotbm9pc2U6Ci0JQC1ta2RpciBub2lzZSA+Pk5VTAotCi0jIyMjIyMjIyMjIyMjIwotIwotIyMjIyMjIyMjIyMjIyMKLQotIyBQeXRob24gRXh0ZW5zaW9uIERMTDogVGNsL1RrIEludGVyZmFjZQotI190a2ludGVyLmRsbDogJChQQVRIT0JKKVxfdGtpbnRlci5vYmogUHl0aG9uMjMubGliIF90a2ludGVyLmRlZgotIwlAIEVjaG8gTGlua2luZyAkQCBBcyBETEwKLSMJQCAkKENDKSAkKENGTEFHUykgL0IiL05PRSIgJChfRExMKSAvRmUkQCAkKF9NQVApICQqKiAkKE9USEVSTElCUykgPj4kKEVSUlMpCi0KLSMkKFBBVEhPQkopXF90a2ludGVyLm9iajogJChQWV9NT0RVTEVTKVxfdGtpbnRlci5jCi0jCUAgRWNobyBDb21waWxpbmcgJCoqCi0jCUAgJChDQykgLWMgJChDRkxBR1MpICQoX0RMTCkgLUZvJEAgJCoqID4+JChFUlJTKQotCi0jIE9iamVjdCBMaWJyYXJ5IG9mIEFsbCBFc3NlbnRpYWwgUHl0aG9uIFJvdXRpbmVzCi1QeUNvcmUubGliOiAkKE1PRFVMRVMpICQoT0JKRUNUUykgJChQQVJTRVIpICQoUFlUSE9OKSAkKFBBVEhPQkopXENvbmZpZy5vYmoKLQlAIEVjaG8gQWRkaW5nIFVwZGF0ZWQgT2JqZWN0IEZpbGVzIHRvIExpbmsgTGlicmFyeSAkQAotCUAgISBJTElCICRAIC9OT0xPR08gL05PQkFDS1VQIC0rJD8gOyA+PiQoRVJSUykKLQotUHl0aG9uMjMuZGxsOiAkKFBBVEhPQkopXENvbXBpbGUub2JqIFB5Q29yZS5saWIgUHl0aG9uLmRlZgotCUAgRWNobyBMaW5raW5nICRAIEFzIERMTAotCUAgJChDQykgJChDRkxBR1MpIC9CIi9OT0UiICQoX0RMTCkgL0ZlJEAgJChfTUFQKSAkKiogJChPVEhFUkxJQlMpID4+JChFUlJTKQotIwlAIEVjaG8gQ29tcHJlc3NpbmcgJEAgd2l0aCBMeExpdGUKLSMJQCBseGxpdGUgJEAKLQotIyBJQk0gTGlua2VyIFJlcXVpcmVzIE9uZSBFeHBsaWNpdCAuT0JKIFRvIEJ1aWxkIGEgLkRMTCBmcm9tIGEgLkxJQgotJChQQVRIT0JKKVxDb21waWxlLm9iajogJChQWV9QWVRIT04pXENvbXBpbGUuYwotCUAgRWNobyBDb21waWxpbmcgJCoqCi0JQCAkKENDKSAtYyAkKENGTEFHUykgJChfRExMKSAtRm8kQCAkKiogPj4kKEVSUlMpCi0KLSMgSW1wb3J0IExpYnJhcnkgZm9yIFVzaW5nIHRoZSBQeXRob24yMy5kbGwKLVB5dGhvbjIzLmxpYjogUHl0aG9uLmRlZgotCUAgRWNobyBNYWtpbmcgJEAKLQlAIElNUExJQiAvTk9MT0dPIC9OT0lHTk9SRSAkQCAkKiogPj4kKEVSUlMpCi0JQCBJTElCIC9OT0xPR08gL0NPTlZGT1JNQVQgL05PRVhURElDVElPTkFSWSAvTk9CUk9XU0UgL05PQkFDS1VQICRAOyA+PiQoRVJSUykKLQotIyBTbWFsbCBDb21tYW5kLUxpbmUgUHJvZ3JhbSB0byBTdGFydCBJbnRlcnByZXRlciBpbiBQeXRob24yMy5kbGwKLVB5dGhvbi5leGU6ICQoUEFUSE9CSilcUHl0aG9uLm9iaiBQeXRob24yMy5saWIKLQlAIEVjaG8gTGlua2luZyAkQCBBcyBFWEUKLQlAICQoQ0MpICQoQ0ZMQUdTKSAkKF9FWEUpIC9CIi9QTTpWSU8gL1NUQUNLOjM2MDAwMCIgL0ZlJEAgJChfTUFQKSAkKiogJChPVEhFUkxJQlMpID4+JChFUlJTKQotCi0jIFNtYWxsIFBNLUdVSSBQcm9ncmFtIHRvIFN0YXJ0IEludGVycHJldGVyIGluIFB5dGhvbjIzLmRsbAotUHl0aG9uUE0uZXhlOiAkKFBBVEhPQkopXFB5dGhvbi5vYmogUHl0aG9uMjMubGliCi0JQCBFY2hvIExpbmtpbmcgJEAgQXMgRVhFCi0JQCAkKENDKSAkKENGTEFHUykgJChfRVhFKSAvQiIvUE06UE0gL1NUQUNLOjM2MDAwMCIgL0ZlJEAgJChfTUFQKSAkKiogJChPVEhFUkxJQlMpID4+JChFUlJTKQotCi1QR2VuLmV4ZTogJChQR0VOKSBQeUNvcmUubGliCi0JQCBFY2hvIExpbmtpbmcgJEAgQXMgRVhFCi0JQCAkKENDKSAkKENGTEFHUykgJChfRVhFKSAvQiIvU1RBQ0s6MzYwMDAwIiAvRmUkQCAkKF9NQVApICQqKiAkKE9USEVSTElCUykgPj4kKEVSUlMpCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIE1pc2NlbGxhbmVvdXMgVGFyZ2V0cwotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQotIyBSZW1vdmUgSW50ZXJtZWRpYXRlIFRhcmdldHMgYnV0IExlYXZlIEV4ZWN1dGFibGUgQmluYXJpZXMKLWNsZWFuOgotCS0tIERlbCAvUSAkKFBBVEhPQkopXCoub2JqCQk+TlVMIDI+JjEKLQktLSBEZWwgL1EgL1kgTm9pc2UJCQk+TlVMIDI+JjEKLQktLSBEZWwgL1EgJChFUlJTKQkJCT5OVUwgMj4mMQotCi0jIFJlbW92ZSBBbGwgVGFyZ2V0cywgSW5jbHVkaW5nIEZpbmFsIEJpbmFyaWVzCi1kaXN0Y2xlYW46IGNsZWFuCi0gICAgICAgIC0tIERlbCAvUSBQeUNvcmUubGliIFB5dGhvbjIzLmxpYiAgICAgICA+TlVMIDI+JjEKLSAgICAgICAgLS0gRGVsIC9RIFB5dGhvbjIzLmRsbCBQeXRob24uZXhlIFBHZW4uZXhlID5OVUwgMj4mMQotCi1yZWxlYXNlOiBQeXRob24uZXhlIFB5dGhvbjIzLmRsbCBQeXRob24yMy5saWIKLQktLSBARWNobyBZIHwgY29weSAvVSBQeXRob24uZXhlICAgRDpcRVhFcwotCS0tIEBFY2hvIFkgfCBjb3B5IC9VIFB5dGhvbjIzLmRsbCBEOlxETExzCi0JLS0gQEVjaG8gWSB8IGNvcHkgL1UgUHl0aG9uMjMubGliIEU6XFRhdVxMaWIKLQktLSBARWNobyBZIHwgY29weSAvVSBfdGtpbnRlci5kbGwgRDpcUHl0aG9uCi0KLXRlc3Q6Ci0gICAgICAgIHB5dGhvbiAuLlwuLlxsaWJcdGVzdFxyZWdydGVzdC5weQotCi0jIFVwZGF0ZSBEZXBlbmRlbmNpZXMgb24gVGFyZ2V0cyAoVXNlcyBPcHVzTUFLRSBDb21tZXJjaWFsIFByb2R1Y3QpCi1kZXBlbmQ6Ci0JRDpcT3B1c01ha2Vcb3MybWttZiAtYyAtcwotCi0jIyMgT1BVUyBNS01GOiAgRG8gbm90IHJlbW92ZSB0aGlzIGxpbmUhICBHZW5lcmF0ZWQgZGVwZW5kZW5jaWVzIGZvbGxvdy4KLQotX3RraW50ZXIub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWFycmF5bW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWF1ZGlvb3Aub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXltYXRoLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1iaW5hc2NpaS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotY21hdGhtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteW1hdGguaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1jcGlja2xlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXltYXRoLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotY3J5cHRtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotY3Vyc2VzbW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLV9kYm1tb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWVycm5vLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1lcnJub21vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1mY250bG1vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKE9TMlRDUElQKVxJbmNsdWRlXHN5c1xpb2N0bC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWZwZWN0bG1vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1mcGV0ZXN0bW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLV9nZGJtbW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1nZXRidWlsZGluZm8ub2JqOiBweWNvbmZpZy5oCi0KLWdldHBhdGgub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXG9zZGVmcy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1ncnBtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKE9TMlRDUElQKVxJbmNsdWRlXGdycC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1pbWFnZW9wLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1tYWluLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1tYXRobW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15bWF0aC5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbXB6bW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ2ludHJlcHIuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1uaXNtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChPUzJUQ1BJUClcSW5jbHVkZVxzeXNcdGltZS5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLW9wZXJhdG9yLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1wYXJzZXJtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGlsZS5oIFwKLQkgJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZ3JhbWluaXQuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxub2RlLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdG9rZW4uaCBcCi0JICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLXBvc2l4Lm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcbXl0aW1lLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotcG9zaXhtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxteXRpbWUuaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1wd2Rtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKE9TMlRDUElQKVxJbmNsdWRlXHB3ZC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1yZWFkbGluZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotcmVzb3VyY2Uub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChPUzJUQ1BJUClcSW5jbHVkZVxzeXNcdGltZS5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLXNlbGVjdG1vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG15c2VsZWN0LmggJChQWV9JTkNMVURFKVxteXRpbWUuaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1zaWduYWxtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc29ja2V0bW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoT1MyVENQSVApXEluY2x1ZGVcbmV0aW5ldFxpbi5oIFwKLQkgJChPUzJUQ1BJUClcSW5jbHVkZVxzeXNcc29ja2V0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxteXRpbWUuaCAkKE9TMlRDUElQKVxJbmNsdWRlXG5ldGRiLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc3RydWN0bW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXltYXRoLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc3lzbG9nbW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChPUzJUQ1BJUClcSW5jbHVkZVxzeXNsb2cuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oIFwKLQkgJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotdGVybWlvcy5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotX3RocmVhZG1vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0aHJlYWQuaCBcCi0JICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLXRpbWVtb2R1bGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxteXRpbWUuaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi14eG1vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotemxpYm1vZHVsZS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotYWJzdHJhY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWNsYXNzb2JqZWN0Lm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJ1Y3RtZW1iZXIuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotY29iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotY29tcGxleG9iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15bWF0aC5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWRpY3RvYmplY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWZpbGVvYmplY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cnVjdG1lbWJlci5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1mbG9hdG9iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15bWF0aC5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWZyYW1lb2JqZWN0Lm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBpbGUuaCBcCi0JICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZyYW1lb2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXG9wY29kZS5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN0cnVjdG1lbWJlci5oIFwKLQkgJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1mdW5jb2JqZWN0Lm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBpbGUuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJ1Y3RtZW1iZXIuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbGlzdG9iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbG9uZ29iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdpbnRyZXByLmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteW1hdGguaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLW1ldGhvZG9iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0b2tlbi5oIFwKLQkgJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbW9kdWxlb2JqZWN0Lm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLW9iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotcmFuZ2VvYmplY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc2xpY2VvYmplY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc3RyaW5nb2JqZWN0Lm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXltYXRoLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotdHVwbGVvYmplY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oIFwKLQkgJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotdHlwZW9iamVjdC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQoteHhvYmplY3Qub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWFjY2VsZXIub2JqOiAkKFBZX0lOQ0xVREUpXGJpdHNldC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxncmFtbWFyLmggXAotCSAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxub2RlLmggXAotCSAkKFBZX1BBUlNFUilccGFyc2VyLmggJChQWV9JTkNMVURFKVxwZ2VuaGVhZGVycy5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVx0b2tlbi5oCi0KLWJpdHNldC5vYmo6ICQoUFlfSU5DTFVERSlcYml0c2V0LmggcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmgKLQotZmlyc3RzZXRzLm9iajogJChQWV9JTkNMVURFKVxiaXRzZXQuaCBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZ3JhbW1hci5oIFwKLQkgJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlccGdlbmhlYWRlcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlcdG9rZW4uaAotCi1ncmFtbWFyLm9iajogJChQWV9JTkNMVURFKVxiaXRzZXQuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxncmFtbWFyLmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxwZ2VuaGVhZGVycy5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlcdG9rZW4uaAotCi1ncmFtbWFyMS5vYmo6ICQoUFlfSU5DTFVERSlcYml0c2V0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZ3JhbW1hci5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlccGdlbmhlYWRlcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHRva2VuLmgKLQotaW50cmNoZWNrLm9iajogcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oCi0KLWxpc3Rub2RlLm9iajogcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG5vZGUuaCAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHRva2VuLmgKLQotbWV0YWdyYW1tYXIub2JqOiAkKFBZX0lOQ0xVREUpXGJpdHNldC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxncmFtbWFyLmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGFncmFtbWFyLmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9QQVJTRVIpXHBnZW4uaCAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmgKLQotbXlyZWFkbGluZS5vYmo6IHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaAotCi1ub2RlLm9iajogcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxub2RlLmggXAotCSAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmgKLQotcGFyc2VyLm9iajogJChQWV9JTkNMVURFKVxiaXRzZXQuaCBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZXJyY29kZS5oIFwKLQkgJChQWV9JTkNMVURFKVxncmFtbWFyLmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxub2RlLmggJChQWV9QQVJTRVIpXHBhcnNlci5oICQoUFlfSU5DTFVERSlccGdlbmhlYWRlcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlcdG9rZW4uaAotCi1wYXJzZXRvay5vYmo6ICQoUFlfSU5DTFVERSlcYml0c2V0LmggcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGVycmNvZGUuaCBcCi0JICQoUFlfSU5DTFVERSlcZ3JhbW1hci5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcbm9kZS5oICQoUFlfUEFSU0VSKVxwYXJzZXIuaCAkKFBZX0lOQ0xVREUpXHBhcnNldG9rLmggXAotCSAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVx0b2tlbi5oIFwKLQkgJChQWV9QQVJTRVIpXHRva2VuaXplci5oCi0KLXBnZW4ub2JqOiAkKFBZX0lOQ0xVREUpXGJpdHNldC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxncmFtbWFyLmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGFncmFtbWFyLmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxub2RlLmggJChQWV9QQVJTRVIpXHBnZW4uaCAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHRva2VuLmgKLQotcGdlbm1haW4ub2JqOiAkKFBZX0lOQ0xVREUpXGJpdHNldC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxncmFtbWFyLmggXAotCSAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxub2RlLmggXAotCSAkKFBZX0lOQ0xVREUpXHBhcnNldG9rLmggJChQWV9QQVJTRVIpXHBnZW4uaCAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaAotCi1wcmludGdyYW1tYXIub2JqOiAkKFBZX0lOQ0xVREUpXGJpdHNldC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxncmFtbWFyLmggXAotCSAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggJChQWV9JTkNMVURFKVxwZ2VuaGVhZGVycy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmgKLQotdG9rZW5pemVyLm9iajogcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGVycmNvZGUuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXHBnZW5oZWFkZXJzLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggXAotCSAkKFBZX0lOQ0xVREUpXHRva2VuLmggJChQWV9QQVJTRVIpXHRva2VuaXplci5oCi0KLWF0b2Yub2JqOiBweWNvbmZpZy5oCi0KLWJsdGlubW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBpbGUuaCBcCi0JICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGV2YWwuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXltYXRoLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG5vZGUuaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1jZXZhbC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21waWxlLmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmcmFtZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxvcGNvZGUuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWNvbXBpbGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGlsZS5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGdyYW1pbml0LmggXAotCSAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCBcCi0JICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxub2RlLmggJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCBcCi0JICQoUFlfSU5DTFVERSlcb3Bjb2RlLmggJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWZwZS5oICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3RydWN0bWVtYmVyLmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdG9rZW4uaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWVycm9ycy5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotZm1vZC5vYmo6IHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxteW1hdGguaAotCi1mcm96ZW4ub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWZyb3plbm1haW4ub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWdldGFyZ3Mub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWdldGNvbXBpbGVyLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWdldGNvcHlyaWdodC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1nZXRwbGF0Zm9ybS5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggXAotCSAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggXAotCSAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxweWRlYnVnLmggJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHlzdGF0ZS5oICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCBcCi0JICQoUFlfSU5DTFVERSlccmFuZ2VvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN0cmluZ29iamVjdC5oICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCBcCi0JICQoUFlfSU5DTFVERSlcdHVwbGVvYmplY3QuaAotCi1nZXR2ZXJzaW9uLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxwYXRjaGxldmVsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzeXNtb2R1bGUuaCAkKFBZX0lOQ0xVREUpXHRyYWNlYmFjay5oIFwKLQkgJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWdyYW1pbml0Lm9iajogJChQWV9JTkNMVURFKVxiaXRzZXQuaCBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZ3JhbW1hci5oIFwKLQkgJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlccGdlbmhlYWRlcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oCi0KLWh5cG90Lm9iajogcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXG15bWF0aC5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oCi0KLWltcG9ydC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21waWxlLmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZXJyY29kZS5oICQoUFlfSU5DTFVERSlcZXZhbC5oIFwKLQkgJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX1BZVEhPTilcaW1wb3J0ZGwuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWFyc2hhbC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcbm9kZS5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXG9zZGVmcy5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdG9rZW4uaCBcCi0JICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLWltcG9ydGRsLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX1BZVEhPTilcaW1wb3J0ZGwuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXG9zZGVmcy5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbWFyc2hhbC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21waWxlLmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGxvbmdpbnRyZXByLmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtYXJzaGFsLmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbW9kc3VwcG9ydC5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBcCi0JICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oIFwKLQkgJChQWV9JTkNMVURFKVxweWVycm9ycy5oICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCBcCi0JICQoUFlfSU5DTFVERSlccHl0aG9uLmggJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHNsaWNlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotbXlzdHJ0b3VsLm9iajogcHljb25maWcuaAotCi1weWZwZS5vYmo6IHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxweWZwZS5oCi0KLXB5c3RhdGUub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLXB5dGhvbnJ1bi5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGJpdHNldC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBpbGUuaCBcCi0JICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGVycmNvZGUuaCAkKFBZX0lOQ0xVREUpXGV2YWwuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZmxvYXRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGdyYW1tYXIuaCBcCi0JICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oIFwKLQkgJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggJChQWV9JTkNMVURFKVxtYXJzaGFsLmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG5vZGUuaCAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oIFwKLQkgJChQWV9JTkNMVURFKVxwYXJzZXRvay5oICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlmcGUuaCAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oIFwKLQkgJChQWV9JTkNMVURFKVxweXRob25ydW4uaCAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc2lnY2hlY2sub2JqOiAkKFBZX0lOQ0xVREUpXGFic3RyYWN0LmggJChQWV9JTkNMVURFKVxjZXZhbC5oICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcY29iamVjdC5oICQoUFlfSU5DTFVERSlcY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggXAotCSAkKFBZX0lOQ0xVREUpXGRpY3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZpbGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZ1bmNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGltcG9ydC5oICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGludHJjaGVjay5oICQoUFlfSU5DTFVERSlcbGlzdG9iamVjdC5oICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxtZXRob2RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcbW9kdWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oIFwKLQkgJChQWV9JTkNMVURFKVxvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG9iamltcGwuaCAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCBcCi0JICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggJChQWV9JTkNMVURFKVxweXN0YXRlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggJChQWV9JTkNMVURFKVx0dXBsZW9iamVjdC5oCi0KLXN0cmR1cC5vYmo6IHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxteW1hbGxvYy5oICQoUFlfSU5DTFVERSlcbXlwcm90by5oCi0KLXN0cnRvZC5vYmo6IHB5Y29uZmlnLmgKLQotc3RydWN0bWVtYmVyLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCBcCi0JICQoUFlfSU5DTFVERSlcY2xhc3NvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGZsb2F0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50b2JqZWN0LmggJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbG9uZ29iamVjdC5oICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHN1cHBvcnQuaCAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCBcCi0JICQoUFlfSU5DTFVERSlcbXlwcm90by5oICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJ1Y3RtZW1iZXIuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotc3lzbW9kdWxlLm9iajogJChQWV9JTkNMVURFKVxhYnN0cmFjdC5oICQoUFlfSU5DTFVERSlcY2V2YWwuaCAkKFBZX0lOQ0xVREUpXGNsYXNzb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXGNvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIFwKLQkgJChQWV9JTkNMVURFKVxkaWN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxmaWxlb2JqZWN0LmggJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmdW5jb2JqZWN0LmggJChQWV9JTkNMVURFKVxpbXBvcnQuaCAkKFBZX0lOQ0xVREUpXGludG9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxpbnRyY2hlY2suaCAkKFBZX0lOQ0xVREUpXGxpc3RvYmplY3QuaCAkKFBZX0lOQ0xVREUpXGxvbmdvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcbWV0aG9kb2JqZWN0LmggJChQWV9JTkNMVURFKVxtb2RzdXBwb3J0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1vZHVsZW9iamVjdC5oICQoUFlfSU5DTFVERSlcbXltYWxsb2MuaCAkKFBZX0lOQ0xVREUpXG15cHJvdG8uaCBcCi0JICQoUFlfSU5DTFVERSlcb2JqZWN0LmggJChQWV9JTkNMVURFKVxvYmppbXBsLmggJChQWV9JTkNMVURFKVxvc2RlZnMuaCBcCi0JICQoUFlfSU5DTFVERSlccHlkZWJ1Zy5oICQoUFlfSU5DTFVERSlccHllcnJvcnMuaCAkKFBZX0lOQ0xVREUpXHB5ZnBlLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5c3RhdGUuaCAkKFBZX0lOQ0xVREUpXHB5dGhvbi5oICQoUFlfSU5DTFVERSlccHl0aG9ucnVuLmggXAotCSAkKFBZX0lOQ0xVREUpXHJhbmdlb2JqZWN0LmggJChQWV9JTkNMVURFKVxzbGljZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxzdHJpbmdvYmplY3QuaCAkKFBZX0lOQ0xVREUpXHN5c21vZHVsZS5oICQoUFlfSU5DTFVERSlcdHJhY2ViYWNrLmggXAotCSAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKLQotdGhyZWFkLm9iajogcHljb25maWcuaCAkKFBZX0lOQ0xVREUpXHRocmVhZC5oCi0KLXRyYWNlYmFjay5vYmo6ICQoUFlfSU5DTFVERSlcYWJzdHJhY3QuaCAkKFBZX0lOQ0xVREUpXGNldmFsLmggJChQWV9JTkNMVURFKVxjbGFzc29iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxjb2JqZWN0LmggJChQWV9JTkNMVURFKVxjb21waWxlLmggJChQWV9JTkNMVURFKVxjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oICQoUFlfSU5DTFVERSlcZGljdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZmlsZW9iamVjdC5oIFwKLQkgJChQWV9JTkNMVURFKVxmbG9hdG9iamVjdC5oICQoUFlfSU5DTFVERSlcZnJhbWVvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcZnVuY29iamVjdC5oICQoUFlfSU5DTFVERSlcaW1wb3J0LmggJChQWV9JTkNMVURFKVxpbnRvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcaW50cmNoZWNrLmggJChQWV9JTkNMVURFKVxsaXN0b2JqZWN0LmggJChQWV9JTkNMVURFKVxsb25nb2JqZWN0LmggXAotCSAkKFBZX0lOQ0xVREUpXG1ldGhvZG9iamVjdC5oICQoUFlfSU5DTFVERSlcbW9kc3VwcG9ydC5oIFwKLQkgJChQWV9JTkNMVURFKVxtb2R1bGVvYmplY3QuaCAkKFBZX0lOQ0xVREUpXG15bWFsbG9jLmggJChQWV9JTkNMVURFKVxteXByb3RvLmggXAotCSAkKFBZX0lOQ0xVREUpXG9iamVjdC5oICQoUFlfSU5DTFVERSlcb2JqaW1wbC5oICQoUFlfSU5DTFVERSlcb3NkZWZzLmggXAotCSAkKFBZX0lOQ0xVREUpXHB5ZGVidWcuaCAkKFBZX0lOQ0xVREUpXHB5ZXJyb3JzLmggJChQWV9JTkNMVURFKVxweWZwZS5oIFwKLQkgJChQWV9JTkNMVURFKVxweXN0YXRlLmggJChQWV9JTkNMVURFKVxweXRob24uaCAkKFBZX0lOQ0xVREUpXHB5dGhvbnJ1bi5oIFwKLQkgJChQWV9JTkNMVURFKVxyYW5nZW9iamVjdC5oICQoUFlfSU5DTFVERSlcc2xpY2VvYmplY3QuaCBcCi0JICQoUFlfSU5DTFVERSlcc3RyaW5nb2JqZWN0LmggJChQWV9JTkNMVURFKVxzdHJ1Y3RtZW1iZXIuaCBcCi0JICQoUFlfSU5DTFVERSlcc3lzbW9kdWxlLmggJChQWV9JTkNMVURFKVx0cmFjZWJhY2suaCAkKFBZX0lOQ0xVREUpXHR1cGxlb2JqZWN0LmgKZGlmZiAtLWdpdCBhL1BDL29zMnZhY3BwL21ha2VmaWxlLm9tayBiL1BDL29zMnZhY3BwL21ha2VmaWxlLm9tawpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWExMmM5Ni4uMDAwMDAwMAotLS0gYS9QQy9vczJ2YWNwcC9tYWtlZmlsZS5vbWsKKysrIC9kZXYvbnVsbApAQCAtMSwxMDQ3ICswLDAgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMKLSMgICAgICAgICAgVG9wLUxldmVsIE1ha2VmaWxlIGZvciBCdWlsZGluZyBQeXRob24gZm9yIE9TLzIKLSMKLSMgVGhpcyBtYWtlZmlsZSB3YXMgZGV2ZWxvcGVkIGZvciB1c2Ugd2l0aCBJQk0ncyBWaXN1YWxBZ2UgQy9DKysKLSMgZm9yIE9TLzIgY29tcGlsZXIsIHZlcnNpb24gMy4wLCB3aXRoIEZpeHBhY2sgOCBhcHBsaWVkLiAgSXQgdXNlcwotIyB0aGUgY29tbWVyY2lhbCBPcHVzTUFLRSB0b29sLgotIwotIyBUaGUgb3V0cHV0IG9mIHRoZSBidWlsZCBpcyBhIGxhcmdpc2ggUHl0aG9uMTUuRExMIGNvbnRhaW5pbmcgdGhlCi0jIGVzc2VudGlhbCBtb2R1bGVzIG9mIFB5dGhvbiBhbmQgYSBzbWFsbCBQeXRob24uZXhlIHByb2dyYW0gdG8gc3RhcnQKLSMgdGhlIGludGVycHJldGVyLiAgV2hlbiBlbWJlZGRpbmcgUHl0aG9uIHdpdGhpbiBhbm90aGVyIHByb2dyYW0sIG9ubHkKLSMgUHl0aG9uMTUuRExMIGlzIG5lZWRlZC4KLSMKLSMgVGhlc2UgdHdvIGJpbmFyaWVzIGNhbiBiZSBzdGF0aWNhbGx5IGxpbmtlZCB3aXRoIHRoZSBWaXN1YWxBZ2UgQy9DKysKLSMgcnVudGltZSBsaWJyYXJ5IChwcm9kdWNpbmcgbGFyZ2VyIGJpbmFyaWVzKSwgb3IgZHluYW1pY2FsbHkgbGlua2VkCi0jIHRvIG1ha2Ugc21hbGxlciBvbmVzIHRoYXQgcmVxdWlyZSB0aGUgY29tcGlsZXIgdG8gYmUgaW5zdGFsbGVkIG9uCi0jIGFueSBzeXN0ZW0gUHl0aG9uIGlzIHVzZWQgb24uCi0jCi0jIEhpc3RvcnkgKE1vc3QgUmVjZW50IEZpcnN0KQotIwotIyAyMC1Ob3YtOTcganJyIENsZWFuZWQgVXAgZm9yIEFwcGx5aW5nIHRvIERpc3RyaWJ1dGlvbgotIyAyOS1PY3QtOTcganJyIE1vZGlmaWVkIGZvciBVc2Ugd2l0aCBQeXRob24gMS41IEFscGhhIDQKLSMgMDMtQXVnLTk2IGpyciBPcmlnaW5hbCBmb3IgVXNlIHdpdGggUHl0aG9uIDEuNCBSZWxlYXNlCi0jCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgUGxhY2VzIGFuZCBUaGluZ3MKLSMjIyMjIyMjIyMjIyMjIyMjIyMKLVBZX01PRFVMRVMgICAgICA9IC4uXC4uXE1vZHVsZXMKLVBZX09CSkVDVFMgICAgICA9IC4uXC4uXE9iamVjdHMKLVBZX1BBUlNFUiAgICAgICA9IC4uXC4uXFBhcnNlcgotUFlfUFlUSE9OICAgICAgID0gLi5cLi5cUHl0aG9uCi1QWV9JTkNMVURFICAgICAgPSAuLlwuLlxJbmNsdWRlCi1QWV9JTkNMVURFUyAgICAgPSAuOyQoUFlfSU5DTFVERSk7JChQWV9NT0RVTEVTKTskKFBZX09CSkVDVFMpOyQoUFlfUEFSU0VSKTskKFBZX1BZVEhPTikKLQotIyBXaGVyZSB0byBGaW5kIHRoZSBJQk0gVENQL0lQIFNvY2tldCBJbmNsdWRlcyBhbmQgTGlicmFyaWVzCi1PUzJUQ1BJUCAgICAgICAgPSBDOlxNUFROCi0KLSMgV2hlcmUgdG8gUHV0IHRoZSAuT0JKIEZpbGVzLCBUbyBLZWVwIFRoZW0gT3V0IG9mIHRoZSBXYXkKLS5QQVRILm9iagk9IG9iagotCi0jIFNlYXJjaCBQYXRoIGZvciBJbmNsdWRlIEZpbGVzCi1QUk9KSU5DTFVERQk9IC47JChPUzJUQ1BJUClcSW5jbHVkZTskKFBZX0lOQ0xVREVTKQotCi0jIFBsYWNlIHRvIFNlYXJjaCBmb3IgU291cmNlcyByZSBPcHVzTUFLRSBEZXBlbmRlbmN5IEdlbmVyYXRvciAoQ29tbWVyY2lhbCkKLU1LTUZfU1JDUwk9ICQoUFlfTU9EVUxFUylcKi5jICQoUFlfT0JKRUNUUylcKi5jICQoUFlfUEFSU0VSKVwqLmMgJChQWV9QWVRIT04pXCouYwotCi0uSERSUEFUSC5jCTo9ICQoUFJPSklOQ0xVREUsOz0gKSAkKC5IRFJQQVRILmMpCi0uUEFUSC5jICAgICAgICAgPSAuOyQoUFlfTU9EVUxFUyk7JChQWV9PQkpFQ1RTKTskKFBZX1BBUlNFUik7JChQWV9QWVRIT04pCi1PVEhFUkxJQlMJPSAkKE9TMlRDUElQKVxsaWJcc28zMmRsbC5saWIgJChPUzJUQ1BJUClcbGliXHRjcDMyZGxsLmxpYgotCi0jIyMjIyMjIyMjIyMjIyMjIwotIyBJbmZlcmVuY2UgUnVsZXMKLSMjIyMjIyMjIyMjIyMjIyMjCi0KLQotIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBQeXRob24gU3Vic3lzdGVtcwotIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIFBZVEhPTiBpcyB0aGUgY2VudHJhbCBjb3JlLCBjb250YWluaW5nIHRoZSBidWlsdGlucyBhbmQgaW50ZXJwcmV0ZXIuCi1QWVRIT04JCT0gICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEJsdGluTW9kdWxlLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBDRXZhbC5vYmogICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgQ29tcGlsZS5vYmogICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEVycm9ycy5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBGcm96ZW4ub2JqICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgR2V0YXJncy5vYmogICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEdldENvbXBpbGVyLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBHZXRDb3B5cmlnaHQub2JqICAgXAotICAgICAgICAgICAgICAgICAgR2V0TVRpbWUub2JqICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEdldE9wdC5vYmogICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBHZXRQbGF0Zm9ybS5vYmogICAgXAotICAgICAgICAgICAgICAgICAgR2V0VmVyc2lvbi5vYmogICAgIFwKLSAgICAgICAgICAgICAgICAgIEdyYW1Jbml0Lm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICBJbXBvcnQub2JqICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgSW1wb3J0REwub2JqICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIE1hcnNoYWwub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBNb2RTdXBwb3J0Lm9iaiAgICAgXAotICAgICAgICAgICAgICAgICAgTXlTdHJ0b3VsLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgIFB5U3RhdGUub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBQeXRob25SdW4ub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgU3RydWN0TWVtYmVyLm9iaiAgIFwKLSAgICAgICAgICAgICAgICAgIFN5c01vZHVsZS5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICBUaHJlYWQub2JqICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgVHJhY2VCYWNrLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEZyb3plbk1haW4ub2JqCi0KLSMgT21pdHRlZCBQeXRob24gRWxlbWVudHMgKGFuZCBSZWFzb24pOgotICAjIGF0b2YuYyAgICAgICAgICAtLSBJbXBsZW1lbnRhdGlvbiBmb3IgUGxhdGZvcm1zIHcvbyBUaGlzIEZ1bmN0aW9uCi0gICMgZHVwMi5jICAgICAgICAgIC0tIEltcGxlbWVudGF0aW9uIGZvciBQbGF0Zm9ybXMgdy9vIFRoaXMgRnVuY3Rpb24KLSAgIyBmbW9kLmMgICAgICAgICAgLS0gSW1wbGVtZW50YXRpb24gZm9yIFBsYXRmb3JtcyB3L28gVGhpcyBGdW5jdGlvbgotICAjIGdldGN3ZC5jICAgICAgICAtLSBJbXBsZW1lbnRhdGlvbiBmb3IgUGxhdGZvcm1zIHcvbyBUaGlzIEZ1bmN0aW9uCi0gICMgaHlwb3QuYyAgICAgICAgIC0tIEltcGxlbWVudGF0aW9uIGZvciBQbGF0Zm9ybXMgdy9vIFRoaXMgRnVuY3Rpb24KLSAgIyBtZW1tb3ZlLmMgICAgICAgLS0gSW1wbGVtZW50YXRpb24gZm9yIFBsYXRmb3JtcyB3L28gVGhpcyBGdW5jdGlvbgotICAjIHN0cmR1cC5jICAgICAgICAtLSBJbXBsZW1lbnRhdGlvbiBmb3IgUGxhdGZvcm1zIHcvbyBUaGlzIEZ1bmN0aW9uCi0gICMgc3RyZXJyb3IuYyAgICAgIC0tIEltcGxlbWVudGF0aW9uIGZvciBQbGF0Zm9ybXMgdy9vIFRoaXMgRnVuY3Rpb24KLSAgIyBzdHJ0b2QuYyAgICAgICAgLS0gSW1wbGVtZW50YXRpb24gZm9yIFBsYXRmb3JtcyB3L28gVGhpcyBGdW5jdGlvbgotCi0gICMgc2lnY2hlY2suYyAgICAgIC0tIFByaW1pdGl2ZSBTaWduYWwgQ2F0Y2hlciAoU2lnbmFsTW9kdWxlLmMgVXNlZCBJbnN0ZWFkKQotICAjIHB5ZnBlLmMgICAgICAgICAtLSBQcmltaXRpdmUgRlBFIENhdGNoZXIgKE5vdCBSZWZlcmVuY2VkIGJ5IEFueW9uZSkKLSAgIyBmcm96ZW5tYWluLmMKLQotIyBQeXRob24ncyBJbnRlcm5hbCBQYXJzZXIKLVBBUlNFUgkJPSAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBBY2NlbGVyLm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICBHcmFtbWFyMS5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICBNeVJlYWRsaW5lLm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBOb2RlLm9iaiAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBQYXJzZXIub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBQYXJzZVRvay5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICBUb2tlbml6ZXIub2JqCi0KLSMgUHl0aG9uIE9iamVjdCBUeXBlcwotT0JKRUNUUwkJPSAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBBYnN0cmFjdC5vYmogICAgICBcCi0gICAgICAgICAgICAgICAgICBDbGFzc09iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICBDT2JqZWN0Lm9iaiAgICAgICBcCi0gICAgICAgICAgICAgICAgICBDb21wbGV4T2JqZWN0Lm9iaiBcCi0gICAgICAgICAgICAgICAgICBEaWN0T2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBGaWxlT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBGbG9hdE9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICBGcmFtZU9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICBGdW5jT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBMaXN0T2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBMb25nT2JqZWN0Lm9iaiAgICBcCi0gICAgICAgICAgICAgICAgICBNZXRob2RPYmplY3Qub2JqICBcCi0gICAgICAgICAgICAgICAgICBNb2R1bGVPYmplY3Qub2JqICBcCi0gICAgICAgICAgICAgICAgICBPYmplY3Qub2JqICAgICAgICBcCi0gICAgICAgICAgICAgICAgICBSYW5nZU9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICBTbGljZU9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICBTdHJpbmdPYmplY3Qub2JqICBcCi0gICAgICAgICAgICAgICAgICBUdXBsZU9iamVjdC5vYmogICBcCi0gICAgICAgICAgICAgICAgICBUeXBlT2JqZWN0Lm9iagotCi0jIE9taXR0ZWQgT2JqZWN0cyAoYW5kIFJlYXNvbik6Ci0gICMgeHhvYmplY3QuYyAgICAgIC0tIFRlbXBsYXRlIHRvIENyZWF0ZSBZb3VyIE93biBPYmplY3QgVHlwZXMKLQotIyBFeHRlbnNpb24gTW9kdWxlcyAoQnVpbHQtSW4gb3IgYXMgU2VwYXJhdGUgRExMcykKLU1PRFVMRVMJCT0gICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgQXJyYXlNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgQmluQXNjaWkub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgQ01hdGhNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgRXJybm9Nb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgR2V0QnVpbGRJbmZvLm9iaiAgXAotICAgICAgICAgICAgICAgICAgR2V0UGF0aFAub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgTWFpbi5vYmogICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgTWF0aE1vZHVsZS5vYmogICAgXAotICAgICAgICAgICAgICAgICAgTUQ1Yy5vYmogICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgTUQ1TW9kdWxlLm9iaiAgICAgXAotICAgICAgICAgICAgICAgICAgT3BlcmF0b3Iub2JqICAgICAgXAotICAgICAgICAgICAgICAgICAgUG9zaXhNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgUmVnZXhNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgUmVnRXhwci5vYmogICAgICAgXAotICAgICAgICAgICAgICAgICAgUmVvcE1vZHVsZS5vYmogICAgXAotICAgICAgICAgICAgICAgICAgU2VsZWN0TW9kdWxlLm9iaiAgXAotICAgICAgICAgICAgICAgICAgU2lnbmFsTW9kdWxlLm9iaiAgXAotICAgICAgICAgICAgICAgICAgU29ja2V0TW9kdWxlLm9iaiAgXAotICAgICAgICAgICAgICAgICAgU291bmRFeC5vYmogICAgICAgXAotICAgICAgICAgICAgICAgICAgU3Ryb3BNb2R1bGUub2JqICAgXAotICAgICAgICAgICAgICAgICAgU3RydWN0TW9kdWxlLm9iaiAgXAotICAgICAgICAgICAgICAgICAgVGltZU1vZHVsZS5vYmogICAgXAotICAgICAgICAgICAgICAgICAgVGhyZWFkTW9kdWxlLm9iagotCi0jIE9taXR0ZWQgTW9kdWxlcyAoYW5kIERlc2NyaXB0aW9uL1JlYXNvbik6Ci0gICMKLSAgIyBNdWx0aW1lZGlhOgotICAjIGF1ZGlvb3AuYyAgICAgICAtLSBWYXJpb3VzIENvbXB1dGUgT3BlcmF0aW9ucyBvbiBBdWRpbyBTYW1wbGVzCi0KLSAgIyBEYXRhYmFzZToKLSAgIyBfZGJtbW9kdWxlLmMgICAgLS0gV3JhcHBlciBvZiBEQk0gRGF0YWJhc2UgQVBJIChHZW5lcmljIEZsYXZvcikKLSAgIyBfZ2RibW1vZHVsZS5jICAgLS0gV3JhcHBlciBvZiBEQk0gRGF0YWJhc2UgQVBJIChHTlUgRmxhdm9yKQotCi0gICMgQ3J5cHRvZ3JhcGh5OgotICAjIGNyeXB0bW9kdWxlLmMgICAtLSBTaW1wbGUgV3JhcHBlciBmb3IgY3J5cHQoKSBGdW5jdGlvbgotCi0jICAgICAgICAgICAgICAgICAgZmNudGxtb2R1bGUub2JqICAgXAotIyAgICAgICAgICAgICAgICAgIGZwZWN0bG1vZHVsZS5vYmogIFwKLSMgICAgICAgICAgICAgICAgICBmcGV0ZXN0bW9kdWxlLm9iaiBcCi0jIFVuaXgtU3BlY2lmaWMgICAgZ2V0cGF0aC5vYmogICAgICAgXAotIyAgICAgICAgICAgICAgICAgIGdycG1vZHVsZS5vYmogICAgIFwKLSMgICAgICAgICAgICAgICAgICBtcHptb2R1bGUub2JqICAgICBcCi0jICAgICAgICAgICAgICAgICAgbmlzbW9kdWxlLm9iaiAgICAgXAotIyAgICAgICAgICAgICAgICAgIHBhcnNlcm1vZHVsZS5vYmogIFwKLSMgICAgICAgICAgICAgICAgICBwd2Rtb2R1bGUub2JqICAgICBcCi0jICAgICAgICAgICAgICAgICAgcmVhZGxpbmUub2JqICAgICAgXAotIyAgICAgICAgICAgICAgICAgIHJlc291cmNlLm9iaiAgICAgIFwKLSMgICAgICAgICAgICAgICAgICBzeXNsb2dtb2R1bGUub2JqICBcCi0jICAgICAgICAgICAgICAgICAgdGVybWlvcy5vYmogICAgICAgXAotCi0gICMgVXNlciBJbnRlcmZhY2U6Ci0jICAgICAgICAgICAgICAgICAgX3RraW50ZXIub2JqICAgICAgXCAgICAgCi0jICAgICAgICAgICAgICAgICAgc3Rkd2lubW9kdWxlLm9iaiAgXAotIyAgICAgICAgICAgICAgICAgIGN1cnNlc21vZHVsZS5vYmogIFwKLSMgICAgICAgICAgICAgICAgICB0Y2xOb3RpZnkub2JqICAgICBcCi0jICAgICAgICAgICAgICAgICAgdGthcHBpbml0Lm9iaiAgICAgXAotICAjIGZsbW9kdWxlLmMgICAgICAtLSBXcmFwcGVyIG9mIEZPUk1TIExpYnJhcnkgKFNjcmVlbiBGb3JtcykKLQotICAjIHpsaWJtb2R1bGUuYyAgICAtLSBXcmFwcGVyIG9mIFpMaWIgQ29tcHJlc3Npb24gQVBJIChHWmlwIEZvcm1hdCkKLSAgIyBwdXJlbW9kdWxlLmMgICAgLS0gV3JhcHBlciBvZiBQdXJpZnkgRGVidWdnaW5nIEFQSSAoUHJvYmFibHkgTm9uLU9TLzIpCi0gICMgeHhtb2R1bGUuYyAgICAgIC0tIFRlbXBsYXRlIHRvIENyZWF0ZSBZb3VyIE93biBNb2R1bGUKLQotIwotIyBTdGFuZGFsb25lIFBhcnNlciBHZW5lcmF0b3IgUHJvZ3JhbSAoU2hhcmVzIFNvbWUgb2YgUHl0aG9uJ3MgTW9kdWxlcykKLVBHRU4gICAgICAgICAgICA9ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIFBHZW5NYWluLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgIFBHZW4ub2JqICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIFByaW50R3JhbW1hci5vYmogIFwKLSAgICAgICAgICAgICAgICAgIExpc3ROb2RlLm9iaiAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEdyYW1tYXIub2JqICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEJpdFNldC5vYmogICAgICAgIFwKLSAgICAgICAgICAgICAgICAgIEZpcnN0U2V0cy5vYmogICAgIFwKLSAgICAgICAgICAgICAgICAgIE1ldGFHcmFtbWFyLm9iagotCi0jIE9taXR0ZWQgUGFyc2VyIEVsZW1lbnRzIChhbmQgUmVhc29uKToKLSAgIyBpbnRyY2hlY2suYyAgICAgLS0gTm90IFJlZmVyZW5jZWQgYnkgQW55b25lICg/KQotCi0jIyMjIyMjIyMjIyMjIyMjIyMKLSMgTWFjcm9zIGFuZCBGbGFncwotIyMjIyMjIyMjIyMjIyMjIyMjCi1fQkFTRQkJPSAvUSAvVzIgL0kkKFBST0pJTkNMVURFKQotCQkjIC9RICAgPSBPbWl0IElCTSBDb3B5cmlnaHQKLQkJIyAvVzIgID0gU2hvdyBXYXJuaW5ncy9FcnJvcnMgT25seQotCQkjIC9GaSAgPSBDcmVhdGUgUHJlY29tcGlsZWQgSGVhZGVycwotCQkjIC9TaSAgPSBVdGlsaXplIFByZWNvbXBpbGVkIEhlYWRlcnMKLQotX0dFTgkJPSAvRzQgL0dtIC9HZCAvQiIvU1RBQ0s6MzYwMDAwIgotCQkjIC9HNCAgPSBHZW5lcmF0ZSBDb2RlIGZvciA0ODYgKFVzZSAzODYgZm9yIERlYnVnZ2VyKQotCQkjIC9HbSAgPSBVc2UgTXVsdGl0aHJlYWQgUnVudGltZQotCQkjIC9HZCAgPSBEeW5hbWljYWxseSBMb2FkIFJ1bnRpbWUKLQkJIyAvR3MgID0gUmVtb3ZlIENvZGUgZm9yIFN0YWNrIFByb2JlcwotCQkjIC9HeCAgPSBSZW1vdmUgQysrIEV4Y2VwdGlvbi1IYW5kbGluZyBJbmZvCi0JCSMgL1RkcCA9IEdlbmVyYXRlIENvZGUgZm9yIEMrKyBUZW1wbGF0ZXMKLQkJIyAvUm4gID0gR2VuZXJhdGUgQ29kZSB3aXRob3V0IGEgUnVudGltZQotCQkjIC9CIi9TVEFDSzpuIiA9IFNldCBTdGFjayBTaXplCi0KLV9PUFQJCT0gL08gL0dsCi0JCSMgL08gICA9IEVuYWJsZSBTcGVlZC1PcHRpbWl6YXRpb25zCi0JCSMgL09sICA9IFBhc3MgQ29kZSBUaHJ1IEludGVybWVkaWF0ZSBMaW5rZXIKLQkJIyAvR3UgID0gQWR2aXNlIExpbmtlciBBbGwgRXh0IERhdGEgaXMgSUQnZAotCQkjIC9HbCAgPSBIYXZlIExpbmtlciBSZW1vdmUgVW51c2VkIEZucwotCi1fREJHCQk9IC9ESEFWRV9DT05GSUdfSCAvRFVTRV9TT0NLRVQKLQkJIyAvVGkgID0gRW1iZWQgRGVidWdnZXIvQW5hbHl6ZXIgUmVjcwotCQkjIC9UbSAgPSBFbmFibGUgRGVidWcgTWVtb3J5IEZucwotCQkjIC9UeCAgPSBSZXF1ZXN0IEZ1bGwgRHVtcCBVcG9uIEV4Y2VwdGlvbgotCQkjIC9EREVCVUcgPSBFbmFibGUgQXBwLUludGVybmFsIERlYnVnZ2luZyBDb2RlCi0gICAgICAgICAgICAgICAgIyAvRFVTRV9TT0NLRVQgPSAKLSAgICAgICAgICAgICAgICAjIC9EVVNFX0RMX0VYUE9SVCA9IAotCi1fT1VUCQk9IAotCQkjIC9GYiAgPSBFbWJlZCBCcm93c2VyIFJlY3MKLQkJIyAvR2ggID0gR2VuZXJhdGUgQ29kZSBmb3IgUHJvZmlsZXIgSG9va3MKLQkJIyAvRmwgID0gT3V0cHV0IEMvQysrIExpc3RpbmcgRmlsZXMKLSAgICAgICAgICAgICAgICAjIC9MZiAgPSBQcm92aWRlIEZ1bGwgKERldGFpbGVkKSBMaXN0aW5nIEZpbGVzCi0JCSMgL0ZtLiA9IE91dHB1dCBMaW5rZXIgTWFwIEZpbGUKLQkJIyAvRnQuID0gT3V0cHV0IEMrKyBUZW1wbGF0ZSBSZXNvbHV0aW9uIEZpbGVzCi0KLV9NQVAJCT0gL0ZtTm9pc2VcJCguVEFSR0VULEIsPi5tYXApCi0KLV9ETEwJCT0gL0dlLQotX0VYRQkJPSAvR2UKLQkJIyAvR2UgPSBDcmVhdGUgYW4gRVhFLCBub3QgRExMCi0KLUNGTEFHUwkJPSAkKF9CQVNFKSAkKF9HRU4pICQoX09QVCkgJChfREJHKSAkKF9PVVQpICQoX0VYRSkgL1NzCi1DUFBGTEFHUwk9ICQoX0JBU0UpICQoX0dFTikgJChfT1BUKSAkKF9EQkcpICQoX09VVCkgJChfRVhFKQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjCi0jIFByaW1hcnkgVGFyZ2V0KHMpCi0jIyMjIyMjIyMjIyMjIyMjIyMjCi1BbGw6ICBvYmogbm9pc2UgUHlDb3JlLmxpYiBQeXRob24xNS5saWIgUHl0aG9uMTUuZGxsIFB5dGhvbi5leGUgUEdlbi5leGUKLQotIyMjIyMjIyMjIyMjIyMKLSMKLSMjIyMjIyMjIyMjIyMjCi0KLSMgT2JqZWN0IExpYnJhcnkgb2YgQWxsIEVzc2VudGlhbCBQeXRob24gUm91dGluZXMKLVB5Q29yZS5saWI6ICQoTU9EVUxFUykgJChPQkpFQ1RTKSAkKFBBUlNFUikgJChQWVRIT04pIENvbmZpZy5vYmoKLSAgICAgICAgJWRvICIlLmxpYiIKLQotUHl0aG9uMTUuZGxsOiBDb21waWxlLm9iaiBQeUNvcmUubGliIFB5dGhvbi5kZWYKLSAgICAgICAgJWRvICIlLmRsbCIgQ1BQRkxBR1MrPS9CIi9OT0UiIENQUEZMQUdTKz0kKF9NQVApCi0KLUNvbXBpbGUub2JqOiBDb21waWxlLmMKLSAgICAgICAgJWRvICIuYy5vYmoiIENGTEFHUys9JChfRExMKQotCi0jIEltcG9ydCBMaWJyYXJ5IGZvciBVc2luZyB0aGUgUHl0aG9uMTUuZGxsCi1QeXRob24xNS5saWI6IFB5dGhvbi5kZWYKLSAgICAgICAgJWRvICIuZGVmLmxpYiIKLQotIyBTbWFsbCBQcm9ncmFtIHRvIFN0YXJ0IEludGVycHJldGVyIGluIFB5dGhvbjE1LmRsbAotUHl0aG9uLmV4ZTogUHl0aG9uLm9iaiBQeXRob24xNS5saWIKLSAgICAgICAgJWRvICIlLmV4ZSIgQ1BQRkxBR1MrPSQoX01BUCkKLQotI1B5dGhvbi5vYmo6IFB5dGhvbi5jCi0jICAgICAgICAlZG8gIi5jLm9iaiIgQ0ZMQUdTKz0kKF9FWEUpCi0KLVBHZW4uZXhlOiAkKFBHRU4pIFB5Q29yZS5saWIKLSAgICAgICAgJWRvICIlLmV4ZSIgQ1BQRkxBR1MrPSQoX01BUCkKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgTWlzY2VsbGFuZW91cyBUYXJnZXRzCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotCi0jIFJlbW92ZSBJbnRlcm1lZGlhdGUgVGFyZ2V0cyBidXQgTGVhdmUgRXhlY3V0YWJsZSBCaW5hcmllcwotY2xlYW46Ci0JLS0gRGVsIC9RICQoLlBBVEgub2JqKVwqLm9iagkJPk5VTCAyPiYxCi0JLS0gRGVsIC9RIC9ZIE5vaXNlCQkJPk5VTCAyPiYxCi0JLS0gRGVsIC9RICQoRVJSUykJCQk+TlVMIDI+JjEKLQotIyBSZW1vdmUgQWxsIFRhcmdldHMsIEluY2x1ZGluZyBGaW5hbCBCaW5hcmllcwotZGlzdGNsZWFuOiBjbGVhbgotICAgICAgICAtLSBEZWwgL1EgUHlDb3JlLmxpYiBQeXRob24xNS5saWIgICAgICAgPk5VTCAyPiYxCi0gICAgICAgIC0tIERlbCAvUSBQeXRob24xNS5kbGwgUHl0aG9uLmV4ZSAgICAgICA+TlVMIDI+JjEKLQotcmVsZWFzZTogUHl0aG9uLmV4ZSBQeXRob24xNS5kbGwgUHl0aG9uMTUubGliCi0JLS0gQEVjaG8gWSB8IGNvcHkgL1UgJCguU09VUkNFUyxNIiouZXhlIikgRDpcRVhFcwotCS0tIEBFY2hvIFkgfCBjb3B5IC9VICQoLlNPVVJDRVMsTSIqLmRsbCIpIEQ6XERMTHMKLQktLSBARWNobyBZIHwgY29weSAvVSAkKC5TT1VSQ0VTLE0iKi5saWIiKSBFOlxUYXVcTGliCi0KLXRlc3Q6Ci0gICAgICAgIHB5dGhvbiAuLlwuLlxsaWJcdGVzdFxyZWdydGVzdC5weQotCi0jIFVwZGF0ZSBEZXBlbmRlbmNpZXMgb24gVGFyZ2V0cyAoVXNlcyBPcHVzTUFLRSBDb21tZXJjaWFsIFByb2R1Y3QpCi1kZXBlbmQ6Ci0JRDpcT3B1c01ha2Vcb3MybWttZiAtYyAtcwotCi0jIyMgT1BVUyBNS01GOiAgRG8gbm90IHJlbW92ZSB0aGlzIGxpbmUhICBHZW5lcmF0ZWQgZGVwZW5kZW5jaWVzIGZvbGxvdy4KLQotX3RraW50ZXIub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotYXJyYXltb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotYXVkaW9vcC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXltYXRoLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1iaW5hc2NpaS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1jbWF0aG1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXltYXRoLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1jcGlja2xlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBcCi0JIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBcCi0JIG15bWF0aC5oIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWNyeXB0bW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWN1cnNlc21vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1fZGJtbW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWVycm5vLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWVycm5vbW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWZjbnRsbW9kdWxlLm9iajogYWJzdHJhY3QuaCBjOlxtcHRuXGluY2x1ZGVcc3lzXGlvY3RsLmggY2V2YWwuaCBcCi0JIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBcCi0JIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBcCi0JIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIFwKLQkgbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBcCi0JIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBcCi0JIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1mcGVjdGxtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIFwKLQkgbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZnBldGVzdG1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1fZ2RibW1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1nZXRidWlsZGluZm8ub2JqOiBweWNvbmZpZy5oCi0KLWdldHBhdGgub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBvc2RlZnMuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBcCi0JIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBcCi0JIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZ3JwbW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGdycC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWltYWdlb3Aub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotbWFpbi5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1tYXRobW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteW1hdGguaCBcCi0JIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLW1wem1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25naW50cmVwci5oIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggXAotCSBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIFwKLQkgcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIFwKLQkgc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLW5pc21vZHVsZS5vYmo6IGFic3RyYWN0LmggYzpcbXB0blxpbmNsdWRlXHN5c1x0aW1lLmggY2V2YWwuaCBjbGFzc29iamVjdC5oIFwKLQkgY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggXAotCSBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBcCi0JIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIFwKLQkgbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBcCi0JIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBcCi0JIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1vcGVyYXRvci5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1wYXJzZXJtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGlsZS5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGdyYW1pbml0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggXAotCSBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBcCi0JIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIG5vZGUuaCBvYmplY3QuaCBvYmppbXBsLmggXAotCSBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCBcCi0JIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0b2tlbi5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1wb3NpeC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgbXl0aW1lLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIFwKLQkgcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIFwKLQkgc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1wb3NpeG1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgbXl0aW1lLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIFwKLQkgcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIFwKLQkgc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1wd2Rtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBwd2QuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBcCi0JIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBcCi0JIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotcmVhZGxpbmUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotcmVzb3VyY2Uub2JqOiBhYnN0cmFjdC5oIGM6XG1wdG5caW5jbHVkZVxzeXNcdGltZS5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBcCi0JIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIFwKLQkgZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggXAotCSBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBcCi0JIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggXAotCSBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0LmggXAotCSBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotc2VsZWN0bW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBcCi0JIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBcCi0JIG15cHJvdG8uaCBteXNlbGVjdC5oIG15dGltZS5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggXAotCSBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0LmggXAotCSBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotc2lnbmFsbW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBcCi0JIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBcCi0JIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXNvY2tldG1vZHVsZS5vYmo6IGFic3RyYWN0LmggYzpcbXB0blxpbmNsdWRlXG5ldGluZXRcaW4uaCBcCi0JIGM6XG1wdG5caW5jbHVkZVxzeXNcc29ja2V0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggbXl0aW1lLmggbmV0ZGIuaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggXAotCSBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXN0cnVjdG1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteW1hdGguaCBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1zeXNsb2dtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIFwKLQkgbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN5c2xvZy5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotdGVybWlvcy5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1fdGhyZWFkbW9kdWxlLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBcCi0JIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBcCi0JIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0aHJlYWQuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXRpbWVtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG15dGltZS5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBcCi0JIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBcCi0JIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQoteHhtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotemxpYm1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1hYnN0cmFjdC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1jbGFzc29iamVjdC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIFwKLQkgc3RydWN0bWVtYmVyLmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1jb2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWNvbXBsZXhvYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIFwKLQkgbXltYXRoLmggbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZGljdG9iamVjdC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1maWxlb2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0LmggXAotCSBzdHJ1Y3RtZW1iZXIuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWZsb2F0b2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteW1hdGguaCBcCi0JIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWZyYW1lb2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBpbGUuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZyYW1lb2JqZWN0LmggZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIFwKLQkgbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggXAotCSBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggb3Bjb2RlLmggXAotCSBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCBcCi0JIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzdHJ1Y3RtZW1iZXIuaCBcCi0JIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZnVuY29iamVjdC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21waWxlLmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIFwKLQkgbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN0cnVjdG1lbWJlci5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIFwKLQkgdHVwbGVvYmplY3QuaAotCi1saXN0b2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWxvbmdvYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ2ludHJlcHIuaCBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIFwKLQkgbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteW1hdGguaCBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIFwKLQkgcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggXAotCSByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggXAotCSB0dXBsZW9iamVjdC5oCi0KLW1ldGhvZG9iamVjdC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdG9rZW4uaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLW1vZHVsZW9iamVjdC5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1vYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotcmFuZ2VvYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotc2xpY2VvYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotc3RyaW5nb2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBcCi0JIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBcCi0JIG15bWF0aC5oIG15cHJvdG8uaCBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXR1cGxlb2JqZWN0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXR5cGVvYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQoteHhvYmplY3Qub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotYWNjZWxlci5vYmo6IGJpdHNldC5oIHB5Y29uZmlnLmggZ3JhbW1hci5oIG15bWFsbG9jLmggbXlwcm90by5oIG5vZGUuaCBcCi0JIHBhcnNlci5oIHBnZW5oZWFkZXJzLmggcHlkZWJ1Zy5oIHRva2VuLmgKLQotYml0c2V0Lm9iajogYml0c2V0LmggcHljb25maWcuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBwZ2VuaGVhZGVycy5oIHB5ZGVidWcuaAotCi1maXJzdHNldHMub2JqOiBiaXRzZXQuaCBweWNvbmZpZy5oIGdyYW1tYXIuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIHBnZW5oZWFkZXJzLmggcHlkZWJ1Zy5oIHRva2VuLmgKLQotZ3JhbW1hci5vYmo6IGJpdHNldC5oIHB5Y29uZmlnLmggZ3JhbW1hci5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgcGdlbmhlYWRlcnMuaCBweWRlYnVnLmggdG9rZW4uaAotCi1ncmFtbWFyMS5vYmo6IGJpdHNldC5oIHB5Y29uZmlnLmggZ3JhbW1hci5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgcGdlbmhlYWRlcnMuaCBweWRlYnVnLmggdG9rZW4uaAotCi1pbnRyY2hlY2sub2JqOiBweWNvbmZpZy5oIGludHJjaGVjay5oIG15bWFsbG9jLmggbXlwcm90by5oCi0KLWxpc3Rub2RlLm9iajogcHljb25maWcuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBub2RlLmggcGdlbmhlYWRlcnMuaCBweWRlYnVnLmggXAotCSB0b2tlbi5oCi0KLW1ldGFncmFtbWFyLm9iajogYml0c2V0LmggcHljb25maWcuaCBncmFtbWFyLmggbWV0YWdyYW1tYXIuaCBteW1hbGxvYy5oIFwKLQkgbXlwcm90by5oIHBnZW4uaCBwZ2VuaGVhZGVycy5oIHB5ZGVidWcuaAotCi1teXJlYWRsaW5lLm9iajogcHljb25maWcuaCBpbnRyY2hlY2suaCBteW1hbGxvYy5oIG15cHJvdG8uaAotCi1ub2RlLm9iajogcHljb25maWcuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBub2RlLmggcGdlbmhlYWRlcnMuaCBweWRlYnVnLmgKLQotcGFyc2VyLm9iajogYml0c2V0LmggcHljb25maWcuaCBlcnJjb2RlLmggZ3JhbW1hci5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggbm9kZS5oIHBhcnNlci5oIHBnZW5oZWFkZXJzLmggcHlkZWJ1Zy5oIHRva2VuLmgKLQotcGFyc2V0b2sub2JqOiBiaXRzZXQuaCBweWNvbmZpZy5oIGVycmNvZGUuaCBncmFtbWFyLmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBub2RlLmggcGFyc2VyLmggcGFyc2V0b2suaCBwZ2VuaGVhZGVycy5oIHB5ZGVidWcuaCB0b2tlbi5oIFwKLQkgdG9rZW5pemVyLmgKLQotcGdlbi5vYmo6IGJpdHNldC5oIHB5Y29uZmlnLmggZ3JhbW1hci5oIG1ldGFncmFtbWFyLmggbXltYWxsb2MuaCBcCi0JIG15cHJvdG8uaCBub2RlLmggcGdlbi5oIHBnZW5oZWFkZXJzLmggcHlkZWJ1Zy5oIHRva2VuLmgKLQotcGdlbm1haW4ub2JqOiBiaXRzZXQuaCBweWNvbmZpZy5oIGdyYW1tYXIuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBub2RlLmggXAotCSBwYXJzZXRvay5oIHBnZW4uaCBwZ2VuaGVhZGVycy5oIHB5ZGVidWcuaAotCi1wcmludGdyYW1tYXIub2JqOiBiaXRzZXQuaCBweWNvbmZpZy5oIGdyYW1tYXIuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIHBnZW5oZWFkZXJzLmggcHlkZWJ1Zy5oCi0KLXRva2VuaXplci5vYmo6IHB5Y29uZmlnLmggZXJyY29kZS5oIG15bWFsbG9jLmggbXlwcm90by5oIHBnZW5oZWFkZXJzLmggXAotCSBweWRlYnVnLmggdG9rZW4uaCB0b2tlbml6ZXIuaAotCi1hdG9mLm9iajogcHljb25maWcuaAotCi1ibHRpbm1vZHVsZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21waWxlLmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZXZhbC5oIGZpbGVvYmplY3QuaCBcCi0JIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIFwKLQkgbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggXAotCSBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15bWF0aC5oIG15cHJvdG8uaCBub2RlLmggb2JqZWN0LmggXAotCSBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWNldmFsLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBpbGUuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBldmFsLmggZmlsZW9iamVjdC5oIFwKLQkgZmxvYXRvYmplY3QuaCBmcmFtZW9iamVjdC5oIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBcCi0JIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIFwKLQkgbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIG9wY29kZS5oIFwKLQkgcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggXAotCSByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggXAotCSB0dXBsZW9iamVjdC5oCi0KLWNvbXBpbGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGlsZS5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnVuY29iamVjdC5oIGdyYW1pbml0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggXAotCSBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBcCi0JIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIG5vZGUuaCBvYmplY3QuaCBvYmppbXBsLmggXAotCSBvcGNvZGUuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBcCi0JIHN0cnVjdG1lbWJlci5oIHN5c21vZHVsZS5oIHRva2VuLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1lcnJvcnMub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZm1vZC5vYmo6IHB5Y29uZmlnLmggbXltYXRoLmgKLQotZnJvemVuLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLWZyb3plbm1haW4ub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZ2V0YXJncy5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1nZXRjb21waWxlci5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1nZXRjb3B5cmlnaHQub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIFwKLQkgbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZ2V0cGxhdGZvcm0ub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBweXRob24uaCBcCi0JIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCBcCi0JIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZ2V0dmVyc2lvbi5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHBhdGNobGV2ZWwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotZ3JhbWluaXQub2JqOiBiaXRzZXQuaCBweWNvbmZpZy5oIGdyYW1tYXIuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIHBnZW5oZWFkZXJzLmggcHlkZWJ1Zy5oCi0KLWh5cG90Lm9iajogcHljb25maWcuaCBteW1hdGguaCBteXByb3RvLmgKLQotaW1wb3J0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBpbGUuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBlcnJjb2RlLmggZXZhbC5oIFwKLQkgZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIGltcG9ydC5oIGltcG9ydGRsLmggXAotCSBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIG1hcnNoYWwuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG5vZGUuaCBvYmplY3QuaCBvYmppbXBsLmggb3NkZWZzLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0b2tlbi5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotaW1wb3J0ZGwub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW1wb3J0ZGwuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25nb2JqZWN0LmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggXAotCSBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIG9zZGVmcy5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggXAotCSBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIFwKLQkgc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1tYXJzaGFsLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBpbGUuaCBcCi0JIGNvbXBsZXhvYmplY3QuaCBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBcCi0JIGZ1bmNvYmplY3QuaCBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggXAotCSBsb25naW50cmVwci5oIGxvbmdvYmplY3QuaCBtYXJzaGFsLmggbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIFwKLQkgbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBcCi0JIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBcCi0JIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1tb2RzdXBwb3J0Lm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLW15c3RydG91bC5vYmo6IHB5Y29uZmlnLmgKLQotcHlmcGUub2JqOiBweWNvbmZpZy5oIHB5ZnBlLmgKLQotcHlzdGF0ZS5vYmo6IGFic3RyYWN0LmggY2V2YWwuaCBjbGFzc29iamVjdC5oIGNvYmplY3QuaCBjb21wbGV4b2JqZWN0LmggXAotCSBweWNvbmZpZy5oIGRpY3RvYmplY3QuaCBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggXAotCSBpbXBvcnQuaCBpbnRvYmplY3QuaCBpbnRyY2hlY2suaCBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIFwKLQkgbWV0aG9kb2JqZWN0LmggbW9kc3VwcG9ydC5oIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIFwKLQkgb2JqZWN0Lmggb2JqaW1wbC5oIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIFwKLQkgcHl0aG9ucnVuLmggcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN5c21vZHVsZS5oIFwKLQkgdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaAotCi1weXRob25ydW4ub2JqOiBhYnN0cmFjdC5oIGJpdHNldC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21waWxlLmggY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGVycmNvZGUuaCBldmFsLmggXAotCSBmaWxlb2JqZWN0LmggZmxvYXRvYmplY3QuaCBmdW5jb2JqZWN0LmggZ3JhbW1hci5oIGltcG9ydC5oIFwKLQkgaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBtYXJzaGFsLmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBub2RlLmggb2JqZWN0Lmggb2JqaW1wbC5oIHBhcnNldG9rLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBcCi0JIHB5c3RhdGUuaCBweXRob24uaCBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0LmggXAotCSBzdHJpbmdvYmplY3QuaCBzeXNtb2R1bGUuaCB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXNpZ2NoZWNrLm9iajogYWJzdHJhY3QuaCBjZXZhbC5oIGNsYXNzb2JqZWN0LmggY29iamVjdC5oIGNvbXBsZXhvYmplY3QuaCBcCi0JIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIGZ1bmNvYmplY3QuaCBcCi0JIGltcG9ydC5oIGludG9iamVjdC5oIGludHJjaGVjay5oIGxpc3RvYmplY3QuaCBsb25nb2JqZWN0LmggXAotCSBtZXRob2RvYmplY3QuaCBtb2RzdXBwb3J0LmggbW9kdWxlb2JqZWN0LmggbXltYWxsb2MuaCBteXByb3RvLmggXAotCSBvYmplY3QuaCBvYmppbXBsLmggcHlkZWJ1Zy5oIHB5ZXJyb3JzLmggcHlmcGUuaCBweXN0YXRlLmggcHl0aG9uLmggXAotCSBweXRob25ydW4uaCByYW5nZW9iamVjdC5oIHNsaWNlb2JqZWN0Lmggc3RyaW5nb2JqZWN0Lmggc3lzbW9kdWxlLmggXAotCSB0cmFjZWJhY2suaCB0dXBsZW9iamVjdC5oCi0KLXN0cmR1cC5vYmo6IHB5Y29uZmlnLmggbXltYWxsb2MuaCBteXByb3RvLmgKLQotc3RydG9kLm9iajogcHljb25maWcuaAotCi1zdHJ1Y3RtZW1iZXIub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggXAotCSBjb21wbGV4b2JqZWN0LmggcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggXAotCSBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIFwKLQkgbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIFwKLQkgbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIFwKLQkgcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBcCi0JIHN0cmluZ29iamVjdC5oIHN0cnVjdG1lbWJlci5oIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIFwKLQkgdHVwbGVvYmplY3QuaAotCi1zeXNtb2R1bGUub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGxleG9iamVjdC5oIFwKLQkgcHljb25maWcuaCBkaWN0b2JqZWN0LmggZmlsZW9iamVjdC5oIGZsb2F0b2JqZWN0LmggZnVuY29iamVjdC5oIFwKLQkgaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggbGlzdG9iamVjdC5oIGxvbmdvYmplY3QuaCBcCi0JIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBtb2R1bGVvYmplY3QuaCBteW1hbGxvYy5oIG15cHJvdG8uaCBcCi0JIG9iamVjdC5oIG9iamltcGwuaCBvc2RlZnMuaCBweWRlYnVnLmggcHllcnJvcnMuaCBweWZwZS5oIHB5c3RhdGUuaCBcCi0JIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIHJhbmdlb2JqZWN0Lmggc2xpY2VvYmplY3QuaCBzdHJpbmdvYmplY3QuaCBcCi0JIHN5c21vZHVsZS5oIHRyYWNlYmFjay5oIHR1cGxlb2JqZWN0LmgKLQotdGhyZWFkLm9iajogcHljb25maWcuaCB0aHJlYWQuaAotCi10cmFjZWJhY2sub2JqOiBhYnN0cmFjdC5oIGNldmFsLmggY2xhc3NvYmplY3QuaCBjb2JqZWN0LmggY29tcGlsZS5oIFwKLQkgY29tcGxleG9iamVjdC5oIHB5Y29uZmlnLmggZGljdG9iamVjdC5oIGZpbGVvYmplY3QuaCBmbG9hdG9iamVjdC5oIFwKLQkgZnJhbWVvYmplY3QuaCBmdW5jb2JqZWN0LmggaW1wb3J0LmggaW50b2JqZWN0LmggaW50cmNoZWNrLmggXAotCSBsaXN0b2JqZWN0LmggbG9uZ29iamVjdC5oIG1ldGhvZG9iamVjdC5oIG1vZHN1cHBvcnQuaCBcCi0JIG1vZHVsZW9iamVjdC5oIG15bWFsbG9jLmggbXlwcm90by5oIG9iamVjdC5oIG9iamltcGwuaCBvc2RlZnMuaCBcCi0JIHB5ZGVidWcuaCBweWVycm9ycy5oIHB5ZnBlLmggcHlzdGF0ZS5oIHB5dGhvbi5oIHB5dGhvbnJ1bi5oIFwKLQkgcmFuZ2VvYmplY3QuaCBzbGljZW9iamVjdC5oIHN0cmluZ29iamVjdC5oIHN0cnVjdG1lbWJlci5oIFwKLQkgc3lzbW9kdWxlLmggdHJhY2ViYWNrLmggdHVwbGVvYmplY3QuaApkaWZmIC0tZ2l0IGEvUEMvb3MydmFjcHAvcHljb25maWcuaCBiL1BDL29zMnZhY3BwL3B5Y29uZmlnLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3NjViNDQuLjAwMDAwMDAKLS0tIGEvUEMvb3MydmFjcHAvcHljb25maWcuaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMiArMCwwIEBACi0jaWZuZGVmIFB5X0NPTkZJR19ICi0jZGVmaW5lIFB5X0NPTkZJR19ICi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBweWNvbmZpZy5oLiAgTk9UIEdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGNvbmZpZ3VyZS4KLSAqCi0gKiBUaGlzIGlzIGEgbWFudWFsbHkgbWFpbnRhaW5lZCB2ZXJzaW9uIHVzZWQgZm9yIHRoZSBJQk0gVmlzdWFsQWdlCi0gKiBDL0MrKyBjb21waWxlciBvbiB0aGUgT1MvMiBwbGF0Zm9ybS4gIEl0IGlzIGEgc3RhbmRhcmQgcGFydCBvZgotICogdGhlIFB5dGhvbiBkaXN0cmlidXRpb24uCi0gKgotICogRklMRVNZU1RFTSBERUZJTkVTOgotICogVGhlIGNvZGUgc3BlY2lmaWMgdG8gYSBwYXJ0aWN1bGFyIHdheSBvZiBuYW1pbmcgZmlsZXMgYW5kCi0gKiBkaXJlY3RvcnkgcGF0aHMgc2hvdWxkIGJlIHdyYXBwZWQgYXJvdW5kIG9uZSBvZiB0aGUgZm9sbG93aW5nCi0gKiAjZGVmaW5lczoKLSAqCi0gKiAgICAgRE9TRklMRVNZUyAgIFBDRE9TLVN0eWxlIChmb3IgUENET1MsIFdpbmRvd3MgYW5kIE9TLzIpCi0gKiAgICAgTUFDRklMRVNZUyAgIE1hY2ludG9zaC1TdHlsZQotICogICAgIFVOSVhGSUxFU1lTICBVbml4LVN0eWxlCi0gKiAgICAgQU1JR0FGSUxFU1lTIEFtaWdhRE9TLVN0eWxlCi0gKiAKLSAqIEJlY2F1c2Ugb2YgdGhlIGRpZmZlcmVudCBjb21waWxlcnMgYW5kIG9wZXJhdGluZyBzeXN0ZW1zIGluCi0gKiB1c2Ugb24gdGhlIEludGVsIHBsYXRmb3JtLCBuZWl0aGVyIHRoZSBjb21waWxlciBuYW1lIG5vcgotICogdGhlIG9wZXJhdGluZyBzeXN0ZW0gbmFtZSBpcyBzdWZmaWNpZW50LgotICoKLSAqIE9TLzIgREVGSU5FUzoKLSAqIFRoZSBjb2RlIHNwZWNpZmljIHRvIE9TLzIncyBQcm9ncmFtIEFQSSBzaG91bGQgYmUgd3JhcHBlZCBhcm91bmQKLSAqCi0gKiBfX1RPU19PUzJfXyAgIFRhcmdldCBPcGVyYXRpbmcgU3lzdGVtLCBPUy8yCi0gKgotICogQW55IGNvZGUgc3BlY2lmaWMgdG8gdGhlIGNvbXBpbGVyIGl0c2VsZiBzaG91bGQgYmUgd3JhcHBlZCB3aXRoCi0gKgotICogX19JQk1DX18gICAgICBJQk0gQyBDb21waWxlcgotICogX19JQk1DUFBfXyAgICBJQk0gQysrIENvbXBpbGVyCi0gKgotICogTm90ZSB0aGF0IHNpbmNlIHRoZSBWaXN1YWxBZ2UgQy9DKysgY29tcGlsZXIgaXMgYWxzbyBhdmFpbGFibGUKLSAqIGZvciB0aGUgV2luZG93cyBwbGF0Zm9ybSwgaXQgbWF5IGJlIG5lY2Vzc2FyeSB0byB1c2UgYm90aCBhCi0gKiBfX1RPU19PUzJfXyBhbmQgYSBfX0lCTUNfXyB0byBzZWxlY3QgYSB2ZXJ5IHNwZWNpZmljIGVudmlyb25tZW50LgotICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi0vKgotICogU29tZSBzeXN0ZW1zIHJlcXVpcmUgc3BlY2lhbCBkZWNsYXJhdGlvbnMgZm9yIGRhdGEgaXRlbXMgaW1wb3J0ZWQKLSAqIG9yIGV4cG9ydGVkIGZyb20gZHluYW1pYyBsaW5rIGxpYnJhcmllcy4gIE5vdGUgdGhhdCB0aGUgZGVmaW5pdGlvbgotICogb2YgRExfSU1QT1JUIGNvdmVycyBib3RoIGNhc2VzLiAgRGVmaW5lIFVTRV9ETF9JTVBPUlQgZm9yIHRoZSBjbGllbnQKLSAqIG9mIGEgRExMLiAgRGVmaW5lIFVTRV9ETF9FWFBPUlQgd2hlbiBtYWtpbmcgYSBETEwuCi0gKi8KLQotI2luY2x1ZGUgPGlvLmg+Ci0KLS8qIENvbmZpZ3VyYXRpb24gT3B0aW9ucyBmb3IgRmluZGluZyBNb2R1bGVzICovCi0jZGVmaW5lIFBSRUZJWCAgICAgICAgICAgICAgICAgIiIKLSNkZWZpbmUgRVhFQ19QUkVGSVggICAgICAgICAgICAiIgotCi0vKiBQcm92aWRlIGEgZGVmYXVsdCBsaWJyYXJ5IHNvIHdyaXRlcnMgb2YgZXh0ZW5zaW9uIG1vZHVsZXMKLSAqIHdvbid0IGhhdmUgdG8gZXhwbGljaXRseSBzcGVjaWZ5IGl0IGFueW1vcmUKLSAqLwotI3ByYWdtYSBsaWJyYXJ5KCJQeXRob24yNC5saWIiKQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyogICAgMzItQml0IElCTSBWaXN1YWxBZ2UgQy9DKysgdjMuMCBmb3IgT1MvMiAgICAgKi8KLS8qICAoQ29udmVydCBDb21waWxlciBGbGFncyBpbnRvIFVzZWZ1bCBTd2l0Y2hlcykgICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotI2RlZmluZSBQTEFURk9STSAgICAib3MyIgotI2RlZmluZSBDT01QSUxFUiAgICAiW1Zpc3VhbEFnZSBDL0MrK10iCi0jZGVmaW5lIFBZT1NfT1MyICAgIC8qIERlZmluZSBJbmRpY2F0b3Igb2YgT3BlcmF0aW5nIFN5c3RlbSAqLwotI2RlZmluZSBQWUNDX1ZBQ1BQICAvKiBEZWZpbmUgSW5kaWNhdG9yIG9mIEMgQ29tcGlsZXIgKi8KLQotICAvKiBQbGF0Zm9ybSBGaWxlc3lzdGVtICovCi0jZGVmaW5lIFBZVEhPTlBBVEggICIuOy5cXGxpYjsuXFxsaWJcXHBsYXQtd2luIgotI2RlZmluZSBET1NGSUxFU1lTICAvKiBPUy8yIFVzZXMgdGhlIERPUyBGaWxlIE5hbWluZyBDb252ZW50aW9ucyAqLwotLyogI2RlZmluZSBJTVBPUlRfOHgzX05BTUVTIChsZXQncyBtb3ZlIHVwIHRvIGxvbmcgZmlsZW5hbWVzKSAqLwotCi0gIC8qIFBsYXRmb3JtIENQVS1Nb2RlIERlcGVuZGVuY2llcyAqLwotI2RlZmluZSBXT1JEX0JJVCAgICAgICAgICAgICAgICAzMiAvKiBPUy8yIGlzIGEgMzItQml0IE9wZXJhdGluZyBTeXN0ZW0gKi8KLSNkZWZpbmUgTE9OR19CSVQgICAgICAgICAgICAgICAgMzIKLSNkZWZpbmUgU0laRU9GX0lOVCAgICAgICAgICAgICAgIDQgLyogQ291bnQgb2YgQnl0ZXMgaW4gYW4gKGludCkgICAgICAgICAgICAqLwotI2RlZmluZSBTSVpFT0ZfTE9ORyAgICAgICAgICAgICAgNCAvKiBDb3VudCBvZiBCeXRlcyBpbiBhIChsb25nKSAgICAgICAgICAgICovCi0jZGVmaW5lIFNJWkVPRl9WT0lEX1AgICAgICAgICAgICA0IC8qIENvdW50IG9mIEJ5dGVzIGluIGEgKHZvaWQgKikgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9MT05HX0xPTkcgICAgIDEgKi8gLyogVkFDKysgZG9lcyBub3Qgc3VwcG9ydCAobG9uZyBsb25nKSAgICAqLwotLyogI2RlZmluZSBTSVpFT0ZfTE9OR19MT05HICAgOCAqLyAvKiBDb3VudCBvZiBCeXRlcyBpbiBhIChsb25nIGxvbmcpICAgICAgICovCi0KLS8qIHVuaWNvZGUgZGVmaW5pbmVzICovCi0jZGVmaW5lIFBZX1VOSUNPREVfVFlQRSAgICB3Y2hhcl90Ci0jZGVmaW5lIFB5X1VOSUNPREVfU0laRSBTSVpFT0ZfU0hPUlQKLQotLyogZHluYW1pYyBsb2FkaW5nICovCi0jZGVmaW5lIEhBVkVfRFlOQU1JQ19MT0FESU5HIDEKLQotLyogRGVmaW5lIGlmIHR5cGUgY2hhciBpcyB1bnNpZ25lZCBhbmQgeW91IGFyZSBub3QgdXNpbmcgZ2NjLiAgKi8KLSNpZm5kZWYgX19DSEFSX1VOU0lHTkVEX18KLS8qICN1bmRlZiBfX0NIQVJfVU5TSUdORURfXyAqLwotI2VuZGlmCi0KLXR5cGVkZWYgaW50IG1vZGVfdDsKLXR5cGVkZWYgaW50IHVpZF90OwotdHlwZWRlZiBpbnQgZ2lkX3Q7Ci10eXBlZGVmIGludCBwaWRfdDsKLQotI2lmIGRlZmluZWQoX19NVUxUSV9fKSAgICAgLyogSWYgQ29tcGlsZXIgL0d0KyBNdWx0aXRocmVhZCBPcHRpb24gRW5hYmxlZCwgICovCi0gICNkZWZpbmUgV0lUSF9USFJFQUQgICAgICAgICAgICAxIC8qIEVuYWJsZSBUaHJlYWRpbmcgVGhyb3VnaG91dCBQeXRob24gICAgKi8KLSAgI2RlZmluZSBPUzJfVEhSRUFEUyAgICAgICAgICAgIDEgLyogQW5kIFVzZSB0aGUgT1MvMiBGbGF2b3Igb2YgVGhyZWFkcyAgICAqLwotLyogI2RlZmluZSBfUkVFTlRSQU5UIDEgKi8gLyogVXNlIHRocmVhZC1zYWZlIGVycm5vLCBoX2Vycm5vLCBhbmQgb3RoZXIgZm5zICovCi0jZW5kaWYKLQotICAvKiBDb21waWxlciBSdW50aW1lIExpYnJhcnkgQ2FwYWJpbGl0aWVzICovCi0jaW5jbHVkZSA8Y3R5cGUuaD4KLSNpbmNsdWRlIDxkaXJlY3QuaD4KLS8qICN1bmRlZiBCQURfU1RBVElDX0ZPUldBUkQgKi8gLyogaWYgY29tcGlsZXIgYm90Y2hlcyBzdGF0aWMgZndkIGRlY2xzICovCi0KLSNkZWZpbmUgU1REQ19IRUFERVJTICAgICAgICAgICAgIDEgLyogVkFDKysgaXMgYW4gQU5TSSBDIENvbXBpbGVyICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX0hZUE9UICAgICAgICAgICAgICAgMSAvKiBoeXBvdCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfUFVURU5WICAgICAgICAgICAgICAxIC8qIHB1dGVudigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgVkFfTElTVF9JU19BUlJBWSAgIDEgKi8gLyogaWYgdmFfbGlzdCBpcyBhbiBhcnJheSBvZiBzb21lIGtpbmQgICAqLwotLyogI2RlZmluZSBIQVZFX0NPTklPX0ggICAgICAgMSAqLyAvKiAjaW5jbHVkZSA8Y29uaW8uaD4gICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfRVJSTk9fSCAgICAgICAgICAgICAxIC8qICNpbmNsdWRlIDxlcnJuby5oPiAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IICAgICAgICAgIDEgLyogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+ICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX1NZU19UWVBFU19IICAgICAgICAgMSAvKiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+ICAgICAgICAgICAgICAgICovCi0KLSAgLyogVmFyaWFibGUtQXJndW1lbnRzL1Byb3RvdHlwZXMgKi8KLSNkZWZpbmUgSEFWRV9QUk9UT1RZUEVTICAgICAgICAgIDEgLyogVkFDKysgc3VwcG9ydHMgQyBGdW5jdGlvbiBQcm90b3R5cGVzICAqLwotI2RlZmluZSBIQVZFX1NUREFSR19QUk9UT1RZUEVTICAgMSAvKiBPdXIgPHN0ZGFyZy5oPiBoYXMgcHJvdG90eXBlcyAgICAgICAgICovCi0KLSAgLyogU3RyaW5nL01lbW9yeS9Mb2NhbGUgT3BlcmF0aW9ucyAqLwotI2RlZmluZSBIQVZFX01FTU1PVkUgICAgICAgICAgICAgMSAvKiBtZW1tb3ZlKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfU1RSRVJST1IgICAgICAgICAgICAxIC8qIHN0cmVycm9yKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgICAgICAgICAgIDEgLyogc2V0bG9jYWxlKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBNQUxMT0NfWkVST19SRVRVUk5TX05VTEwgMSAvKiBPdXIgbWFsbG9jKDApIHJldHVybnMgYSBOVUxMIHB0ciAgICAgICovCi0KLSAgLyogU2lnbmFsIEhhbmRsaW5nICovCi0jZGVmaW5lIEhBVkVfU0lHTkFMX0ggICAgICAgICAgICAxIC8qIHNpZ25hbC5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgUkVUU0lHVFlQRSAgICAgICAgICAgIHZvaWQgLyogUmV0dXJuIHR5cGUgb2YgaGFuZGxlcnMgKGludCBvciB2b2lkKSAqLwotLyogI3VuZGVmIFdBTlRfU0lHRlBFX0hBTkRMRVIgICAqLyAvKiBIYW5kbGUgU0lHRlBFIChzZWUgSW5jbHVkZS9weWZwZS5oKSAgICovCi0vKiAjZGVmaW5lIEhBVkVfQUxBUk0gICAgICAgICAxICovIC8qIGFsYXJtKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9TSUdJTlRFUlJVUFQgIDEgKi8gLyogc2lnaW50ZXJydXB0KCkgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogI2RlZmluZSBIQVZFX1NJR1JFTFNFICAgICAgMSAqLyAvKiBzaWdyZWxzZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIERPTlRfSEFWRV9TSUdfQUxBUk0gICAgICAxCi0jZGVmaW5lIERPTlRfSEFWRV9TSUdfUEFVU0UgICAgICAxCi0KLSAgLyogQ2xvY2svVGltZSBTdXBwb3J0ICovCi0jZGVmaW5lIEhBVkVfRlRJTUUgICAgICAgICAgICAgICAxIC8qIFdlIGhhdmUgZnRpbWUoKSBpbiA8c3lzL3RpbWViLmg+ICAgICAgKi8KLSNkZWZpbmUgSEFWRV9DTE9DSyAgICAgICAgICAgICAgIDEgLyogY2xvY2soKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX1NUUkZUSU1FICAgICAgICAgICAgMSAvKiBzdHJmdGltZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfTUtUSU1FICAgICAgICAgICAgICAxIC8qIG1rdGltZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFWRV9UWk5BTUUgICAgICAgICAgICAgIDEgLyogTm8gdG1fem9uZSBidXQgZG8gaGF2ZSB0em5hbWVbXSAgICAgICAqLwotI2RlZmluZSBIQVZFX1RJTUVTICAgICAgICAgICAgICAgMSAvKiAjaW5jbHVkZSA8c3lzL3RpbWVzLmg+ICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfU1lTX1VUSU1FX0ggICAgICAgICAxIC8qICNpbmNsdWRlIDxzeXMvdXRpbWUuaD4gICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9VVElNRV9IICAgICAgIDEgKi8gLyogI2luY2x1ZGUgPHV0aW1lLmg+ICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX1NZU19USU1FX0ggICAgICAgICAgMSAvKiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4gICAgICAgICAgICAgICAgICovCi0vKiAjZGVmaW5lIFRNX0lOX1NZU19USU1FICAgICAxICovIC8qIDxzeXMvdGltZS5oPiBkZWNsYXJlcyBzdHJ1Y3QgdG0gICAgICAgKi8KLSNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgICAgICAgIDEgLyogZ2V0dGltZW9mZGF5KCkgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogI2RlZmluZSBHRVRUSU1FT0ZEQVlfTk9fVFogMSAqLyAvKiBnZXR0aW1lb2ZkYXkoKSBkb2VzIG5vdCBoYXZlIDJuZCBhcmcgICovCi0vKiAjZGVmaW5lIEhBVkVfVElNRUdNICAgICAgICAxICovIC8qIHRpbWVnbSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FICAgICAgIDEgLyogTWl4IDxzeXMvdGltZS5oPiBhbmQgPHRpbWUuaD4gICAgICAgICAqLwotI2RlZmluZSBTWVNfU0VMRUNUX1dJVEhfU1lTX1RJTUUgMSAvKiBNaXggPHN5cy9zZWxlY3QuaD4gYW5kIDxzeXMvdGltZS5oPiAgICovCi0vKiAjZGVmaW5lIEhBVkVfQUxUWk9ORSAgICAgICAxICovIC8qIGlmIDx0aW1lLmg+IGRlZmluZXMgYWx0em9uZSAgICAgICAgICAgKi8KLQotICAvKiBOZXR3b3JrL1NvY2tldHMgU3VwcG9ydCAqLwotI2RlZmluZSBIQVZFX1NZU19TRUxFQ1RfSCAgICAgICAxIC8qICNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+ICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEJTRF9TRUxFQ1QgICAgICAgICAgICAgIDEgLyogVXNlIEJTRCB2ZXJzdXMgT1MvMiBmb3JtIG9mIHNlbGVjdCgpICAgKi8KLSNkZWZpbmUgSEFWRV9TRUxFQ1QgICAgICAgICAgICAgMSAvKiBzZWxlY3QoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX0dFVFBFRVJOQU1FICAgICAgICAxIC8qIGdldHBlZXJuYW1lKCkgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAjdW5kZWYgSEFWRV9HRVRIT1NUTkFNRV9SIDEgKi8gLyogZ2V0aG9zdG5hbWVfcigpICAgICAgICAgICAgICAgICAgICAgICAgKi8KLQotICAvKiBGaWxlIEkvTyAqLwotI2RlZmluZSBIQVZFX0RVUDIgICAgICAgICAgICAgICAgMSAvKiBkdXAyKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfRVhFQ1YgICAgICAgICAgICAgICAxIC8qIGV4ZWN2KCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFWRV9TRVRWQlVGICAgICAgICAgICAgIDEgLyogc2V0dmJ1ZigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX0dFVENXRCAgICAgICAgICAgICAgMSAvKiBnZXRjd2QoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfUElQRSAgICAgICAgICAgICAgICAxIC8qIHBpcGUoKSAgICAgW09TLzItc3BlY2lmaWMgY29kZSBhZGRlZF0gKi8KLSNkZWZpbmUgSEFWRV9JT19IICAgICAgICAgICAgICAgIDEgLyogI2luY2x1ZGUgPGlvLmg+ICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX0ZDTlRMX0ggICAgICAgICAgICAgMSAvKiAjaW5jbHVkZSA8ZmNudGwuaD4gICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfRElSRUNUX0ggICAgICAgICAgICAxIC8qICNpbmNsdWRlIDxkaXJlY3QuaD4gICAgICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9GTE9DSyAgICAgICAgIDEgKi8gLyogZmxvY2soKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogI2RlZmluZSBIQVZFX1RSVU5DQVRFICAgICAgMSAqLyAvKiB0cnVuY2F0ZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAjZGVmaW5lIEhBVkVfRlRSVU5DQVRFICAgICAxICovIC8qIGZ0cnVuY2F0ZSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9MU1RBVCAgICAgICAgIDEgKi8gLyogbHN0YXQoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogI2RlZmluZSBIQVZFX0RJUkVOVF9IICAgICAgMSAqLyAvKiAjaW5jbHVkZSA8ZGlyZW50Lmg+ICAgICAgICAgICAgICAgICAgICovCi0vKiAjZGVmaW5lIEhBVkVfT1BFTkRJUiAgICAgICAxICovIC8qIG9wZW5kaXIoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLQotICAvKiBQcm9jZXNzIE9wZXJhdGlvbnMgKi8KLSNkZWZpbmUgSEFWRV9QUk9DRVNTX0ggICAgICAgICAgIDEgLyogI2luY2x1ZGUgPHByb2Nlc3MuaD4gICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX0dFVFBJRCAgICAgICAgICAgICAgMSAvKiBnZXRwaWQoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0jZGVmaW5lIEhBVkVfU1lTVEVNICAgICAgICAgICAgICAxIC8qIHN5c3RlbSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSNkZWZpbmUgSEFWRV9XQUlUICAgICAgICAgICAgICAgIDEgLyogd2FpdCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotI2RlZmluZSBIQVZFX0tJTEwgICAgICAgICAgICAgICAgMSAvKiBraWxsKCkgICAgIFtPUy8yLXNwZWNpZmljIGNvZGUgYWRkZWRdICovCi0jZGVmaW5lIEhBVkVfUE9QRU4gICAgICAgICAgICAgICAxIC8qIHBvcGVuKCkgICAgW09TLzItc3BlY2lmaWMgY29kZSBhZGRlZF0gKi8KLS8qICNkZWZpbmUgSEFWRV9HRVRQUElEICAgICAgIDEgKi8gLyogZ2V0cHBpZCgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLyogI2RlZmluZSBIQVZFX1dBSVRQSUQgICAgICAgMSAqLyAvKiB3YWl0cGlkKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0vKiAjZGVmaW5lIEhBVkVfRk9SSyAgICAgICAgICAxICovIC8qIGZvcmsoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLQotICAvKiBVc2VyL0dyb3VwIElEIFF1ZXJpZXMgKi8KLS8qICNkZWZpbmUgSEFWRV9HRVRFR0lEICAgICAgIDEgKi8KLS8qICNkZWZpbmUgSEFWRV9HRVRFVUlEICAgICAgIDEgKi8KLS8qICNkZWZpbmUgSEFWRV9HRVRHSUQgICAgICAgIDEgKi8KLS8qICNkZWZpbmUgSEFWRV9HRVRVSUQgICAgICAgIDEgKi8KLQotICAvKiBVbml4LVNwZWNpZmljICovCi0vKiAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggICAgICAgICAgICAxIC8qICNpbmNsdWRlIDxzeXMvdW4uaD4gICAgICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9IIDEgKi8gLyogI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+ICAgICAgICAgICAgICAqLwotLyogI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggICAgMSAqLyAvKiAjaW5jbHVkZSA8c3lzL3dhaXQuaD4gICAgICAgICAgICAgICAgICovCi0vKiAjZGVmaW5lIEhBVkVfVU5JU1REX0ggICAgICAxICovIC8qICNpbmNsdWRlIDx1bmlzdGQuaD4gICAgICAgICAgICAgICAgICAgKi8KLS8qICNkZWZpbmUgSEFWRV9VTkFNRSAgICAgICAgIDEgKi8gLyogdW5hbWUgKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwotCi0vKiBEZWZpbmUgaWYgeW91IHdhbnQgZG9jdW1lbnRhdGlvbiBzdHJpbmdzIGluIGV4dGVuc2lvbiBtb2R1bGVzICovCi0jZGVmaW5lIFdJVEhfRE9DX1NUUklOR1MgMQotCi0jaWZkZWYgVVNFX0RMX0VYUE9SVAotICAjZGVmaW5lIERMX0lNUE9SVChSVFlQRSkgUlRZUEUgX1N5c3RlbQotI2VuZGlmCi0KLSNlbmRpZiAvKiAhUHlfQ09ORklHX0ggKi8KLQpkaWZmIC0tZ2l0IGEvUEMvb3MydmFjcHAvcHl0aG9uLmRlZiBiL1BDL29zMnZhY3BwL3B5dGhvbi5kZWYKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE1MjVjMmEuLjAwMDAwMDAKLS0tIGEvUEMvb3MydmFjcHAvcHl0aG9uLmRlZgorKysgL2Rldi9udWxsCkBAIC0xLDQ3OSArMCwwIEBACi1MSUJSQVJZICAgICAgICBQWVRIT04yNCBJTklUSU5TVEFOQ0UgVEVSTUlOU1RBTkNFCi1ERVNDUklQVElPTiAgICAnUHl0aG9uIDIuNCBDb3JlIERMTCcKLVBST1RNT0RFCi1EQVRBICAgICAgICAgICBNVUxUSVBMRSBOT05TSEFSRUQKLQotRVhQT1JUUwotICAgICAgICAgICAgICAgOyBEYXRhCi0gICAgICAgICAgICAgICBQeUNGdW5jdGlvbl9UeXBlCi0gICAgICAgICAgICAgICBQeUNhcHN1bGVfVHlwZQotICAgICAgICAgICAgICAgUHlDT2JqZWN0X1R5cGUKLSAgICAgICAgICAgICAgIFB5Q2xhc3NfVHlwZQotICAgICAgICAgICAgICAgUHlDb2RlX1R5cGUKLSAgICAgICAgICAgICAgIFB5Q29tcGxleF9UeXBlCi0gICAgICAgICAgICAgICBQeURpY3RfVHlwZQotICAgICAgICAgICAgICAgUHlFeGNfQXJpdGhtZXRpY0Vycm9yCi0gICAgICAgICAgICAgICBQeUV4Y19Bc3NlcnRpb25FcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfQXR0cmlidXRlRXJyb3IKLSAgICAgICAgICAgICAgIFB5RXhjX0VPRkVycm9yCi0gICAgICAgICAgICAgICBQeUV4Y19FbnZpcm9ubWVudEVycm9yCi0gICAgICAgICAgICAgICBQeUV4Y19FeGNlcHRpb24KLSAgICAgICAgICAgICAgIFB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfSU9FcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfSW1wb3J0RXJyb3IKLSAgICAgICAgICAgICAgIFB5RXhjX0luZGV4RXJyb3IKLSAgICAgICAgICAgICAgIFB5RXhjX0tleUVycm9yCi0gICAgICAgICAgICAgICBQeUV4Y19LZXlib2FyZEludGVycnVwdAotICAgICAgICAgICAgICAgUHlFeGNfTG9va3VwRXJyb3IKLSAgICAgICAgICAgICAgIFB5RXhjX01lbW9yeUVycm9yCi0gICAgICAgICAgICAgICBQeUV4Y19NZW1vcnlFcnJvckluc3QKLSAgICAgICAgICAgICAgIFB5RXhjX05hbWVFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfT1NFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfT3ZlcmZsb3dFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfUnVudGltZUVycm9yCi0gICAgICAgICAgICAgICBQeUV4Y19TeW50YXhFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfU3lzdGVtRXJyb3IKLSAgICAgICAgICAgICAgIFB5RXhjX1N5c3RlbUV4aXQKLSAgICAgICAgICAgICAgIFB5RXhjX1R5cGVFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfVmFsdWVFcnJvcgotICAgICAgICAgICAgICAgUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IKLSAgICAgICAgICAgICAgIFB5RmlsZV9UeXBlCi0gICAgICAgICAgICAgICBQeUZsb2F0X1R5cGUKLSAgICAgICAgICAgICAgIFB5RnJhbWVfVHlwZQotICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9UeXBlCi0gICAgICAgICAgICAgICBQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzCi0gICAgICAgICAgICAgICBQeUltcG9ydF9Jbml0dGFiCi0gICAgICAgICAgICAgICBQeUluc3RhbmNlX1R5cGUKLSAgICAgICAgICAgICAgIFB5SW50X1R5cGUKLSAgICAgICAgICAgICAgIFB5TGlzdF9UeXBlCi0gICAgICAgICAgICAgICBQeUxvbmdfVHlwZQotICAgICAgICAgICAgICAgUHlNZXRob2RfVHlwZQotICAgICAgICAgICAgICAgUHlNb2R1bGVfVHlwZQotICAgICAgICAgICAgICAgUHlPU19JbnB1dEhvb2sKLSAgICAgICAgICAgICAgIFB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXIKLSAgICAgICAgICAgICAgIFB5UmFuZ2VfVHlwZQotICAgICAgICAgICAgICAgUHlTbGljZV9UeXBlCi0gICAgICAgICAgICAgICBQeVN0cmluZ19UeXBlCi0gICAgICAgICAgICAgICBQeVRyYWNlQmFja19UeXBlCi0gICAgICAgICAgICAgICBQeVR1cGxlX1R5cGUKLSAgICAgICAgICAgICAgIFB5VHlwZV9UeXBlCi0gICAgICAgICAgICAgICBQeV9EZWJ1Z0ZsYWcKLSAgICAgICAgICAgICAgIFB5X0Zyb3plbkZsYWcKLSAgICAgICAgICAgICAgIFB5X0ludGVyYWN0aXZlRmxhZwotICAgICAgICAgICAgICAgUHlfTm9TaXRlRmxhZwotICAgICAgICAgICAgICAgUHlfT3B0aW1pemVGbGFnCi0gICAgICAgICAgICAgICBQeV9Vc2VDbGFzc0V4Y2VwdGlvbnNGbGFnCi0gICAgICAgICAgICAgICBQeV9WZXJib3NlRmxhZwotICAgICAgICAgICAgICAgX1B5SW1wb3J0X0ZpbGV0YWIKLSAgICAgICAgICAgICAgIF9QeUltcG9ydF9Jbml0dGFiCi0gICAgICAgICAgICAgICBfUHlQYXJzZXJfR3JhbW1hcgotICAgICAgICAgICAgICAgX1B5UGFyc2VyX1Rva2VuTmFtZXMKLSAgICAgICAgICAgICAgIF9QeV9FbGxpcHNpc09iamVjdAotICAgICAgICAgICAgICAgX1B5X05vbmVTdHJ1Y3QKLSAgICAgICAgICAgICAgIF9QeV9QYWNrYWdlQ29udGV4dAotICAgICAgICAgICAgICAgX1B5X1RydWVTdHJ1Y3QKLSAgICAgICAgICAgICAgIF9QeV9aZXJvU3RydWN0Ci0gICAgICAgICAgICAgICBfUHlfYWJzdHJhY3RfaGFjawotICAgICAgICAgICAgICAgX1B5X2NhcHN1bGVfaGFjawotICAgICAgICAgICAgICAgX1B5X3JlX3N5bnRheAotICAgICAgICAgICAgICAgX1B5X3JlX3N5bnRheF90YWJsZQotCi0gICAgICAgICAgICAgICA7IENvZGUKLSAgICAgICAgICAgICAgIFB5QXJnX1BhcnNlCi0gICAgICAgICAgICAgICBQeUFyZ19QYXJzZVR1cGxlCi0gICAgICAgICAgICAgICBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMKLSAgICAgICAgICAgICAgIFB5QXJnX1ZhUGFyc2UKLSAgICAgICAgICAgICAgIFB5Q0Z1bmN0aW9uX0ZpbmkKLSAgICAgICAgICAgICAgIFB5Q0Z1bmN0aW9uX0dldEZsYWdzCi0gICAgICAgICAgICAgICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgotICAgICAgICAgICAgICAgUHlDRnVuY3Rpb25fR2V0U2VsZgotICAgICAgICAgICAgICAgUHlDRnVuY3Rpb25fTmV3Ci0gICAgICAgICAgICAgICBQeUNhcHN1bGVfR2V0Q29udGV4dAotICAgICAgICAgICAgICAgUHlDYXBzdWxlX0dldERlc3RydWN0b3IKLSAgICAgICAgICAgICAgIFB5Q2Fwc3VsZV9HZXROYW1lCi0gICAgICAgICAgICAgICBQeUNhcHN1bGVfR2V0UG9pbnRlcgotICAgICAgICAgICAgICAgUHlDYXBzdWxlX0ltcG9ydAotICAgICAgICAgICAgICAgUHlDYXBzdWxlX0lzVmFsaWQKLSAgICAgICAgICAgICAgIFB5Q2Fwc3VsZV9OZXcKLSAgICAgICAgICAgICAgIFB5Q2Fwc3VsZV9TZXRDb250ZXh0Ci0gICAgICAgICAgICAgICBQeUNhcHN1bGVfU2V0RGVzdHJ1Y3RvcgotICAgICAgICAgICAgICAgUHlDYXBzdWxlX1NldE5hbWUKLSAgICAgICAgICAgICAgIFB5Q2Fwc3VsZV9TZXRQb2ludGVyCi0gICAgICAgICAgICAgICBQeUNPYmplY3RfQXNWb2lkUHRyCi0gICAgICAgICAgICAgICBQeUNPYmplY3RfRnJvbVZvaWRQdHJBbmREZXNjCi0gICAgICAgICAgICAgICBQeUNPYmplY3RfRnJvbVZvaWRQdHIKLSAgICAgICAgICAgICAgIFB5Q09iamVjdF9HZXREZXNjCi0gICAgICAgICAgICAgICBQeUNPYmplY3RfSW1wb3J0Ci0gICAgICAgICAgICAgICBQeUNhbGxhYmxlX0NoZWNrCi0gICAgICAgICAgICAgICBQeUNsYXNzX0lzU3ViY2xhc3MKLSAgICAgICAgICAgICAgIFB5Q2xhc3NfTmV3Ci0gICAgICAgICAgICAgICBQeUNvZGVfQWRkcjJMaW5lCi0gICAgICAgICAgICAgICBQeUNvZGVfTmV3Ci0gICAgICAgICAgICAgICBQeUNvbXBsZXhfQXNDQ29tcGxleAotICAgICAgICAgICAgICAgUHlDb21wbGV4X0Zyb21DQ29tcGxleAotICAgICAgICAgICAgICAgUHlDb21wbGV4X0Zyb21Eb3VibGVzCi0gICAgICAgICAgICAgICBQeUNvbXBsZXhfSW1hZ0FzRG91YmxlCi0gICAgICAgICAgICAgICBQeUNvbXBsZXhfUmVhbEFzRG91YmxlCi0gICAgICAgICAgICAgICBQeURpY3RfQ2xlYXIKLSAgICAgICAgICAgICAgIFB5RGljdF9EZWxJdGVtCi0gICAgICAgICAgICAgICBQeURpY3RfRGVsSXRlbVN0cmluZwotICAgICAgICAgICAgICAgUHlEaWN0X0dldEl0ZW0KLSAgICAgICAgICAgICAgIFB5RGljdF9HZXRJdGVtU3RyaW5nCi0gICAgICAgICAgICAgICBQeURpY3RfSXRlbXMKLSAgICAgICAgICAgICAgIFB5RGljdF9LZXlzCi0gICAgICAgICAgICAgICBQeURpY3RfTmV3Ci0gICAgICAgICAgICAgICBQeURpY3RfTmV4dAotICAgICAgICAgICAgICAgUHlEaWN0X1NldEl0ZW0KLSAgICAgICAgICAgICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nCi0gICAgICAgICAgICAgICBQeURpY3RfU2l6ZQotICAgICAgICAgICAgICAgUHlEaWN0X1ZhbHVlcwotICAgICAgICAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQKLSAgICAgICAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbAotICAgICAgICAgICAgICAgUHlFcnJfQ2hlY2tTaWduYWxzCi0gICAgICAgICAgICAgICBQeUVycl9DbGVhcgotICAgICAgICAgICAgICAgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcwotICAgICAgICAgICAgICAgUHlFcnJfRmV0Y2gKLSAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdAotICAgICAgICAgICAgICAgUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzCi0gICAgICAgICAgICAgICBQeUVycl9OZXdFeGNlcHRpb24KLSAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5Ci0gICAgICAgICAgICAgICBQeUVycl9Ob3JtYWxpemVFeGNlcHRpb24KLSAgICAgICAgICAgICAgIFB5RXJyX09jY3VycmVkCi0gICAgICAgICAgICAgICBQeUVycl9QcmludAotICAgICAgICAgICAgICAgUHlFcnJfUHJpbnRFeAotICAgICAgICAgICAgICAgUHlFcnJfUmVzdG9yZQotICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vCi0gICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWUKLSAgICAgICAgICAgICAgIFB5RXJyX1NldEludGVycnVwdAotICAgICAgICAgICAgICAgUHlFcnJfU2V0Tm9uZQotICAgICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0Ci0gICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcKLSAgICAgICAgICAgICAgIFB5RXZhbF9BY3F1aXJlTG9jawotICAgICAgICAgICAgICAgUHlFdmFsX0FjcXVpcmVUaHJlYWQKLSAgICAgICAgICAgICAgIFB5RXZhbF9DYWxsRnVuY3Rpb24KLSAgICAgICAgICAgICAgIFB5RXZhbF9DYWxsTWV0aG9kCi0gICAgICAgICAgICAgICBQeUV2YWxfQ2FsbE9iamVjdAotICAgICAgICAgICAgICAgUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKLSAgICAgICAgICAgICAgIFB5RXZhbF9FdmFsQ29kZQotICAgICAgICAgICAgICAgUHlFdmFsX0dldEJ1aWx0aW5zCi0gICAgICAgICAgICAgICBQeUV2YWxfR2V0RnJhbWUKLSAgICAgICAgICAgICAgIFB5RXZhbF9HZXRHbG9iYWxzCi0gICAgICAgICAgICAgICBQeUV2YWxfR2V0TG9jYWxzCi0gICAgICAgICAgICAgICBQeUV2YWxfR2V0UmVzdHJpY3RlZAotICAgICAgICAgICAgICAgUHlFdmFsX0luaXRUaHJlYWRzCi0gICAgICAgICAgICAgICBQeUV2YWxfUmVsZWFzZUxvY2sKLSAgICAgICAgICAgICAgIFB5RXZhbF9SZWxlYXNlVGhyZWFkCi0gICAgICAgICAgICAgICBQeUV2YWxfUmVzdG9yZVRocmVhZAotICAgICAgICAgICAgICAgUHlFdmFsX1NhdmVUaHJlYWQKLSAgICAgICAgICAgICAgIFB5RmlsZV9Bc0ZpbGUKLSAgICAgICAgICAgICAgIFB5RmlsZV9Gcm9tRmlsZQotICAgICAgICAgICAgICAgUHlGaWxlX0Zyb21TdHJpbmcKLSAgICAgICAgICAgICAgIFB5RmlsZV9HZXRMaW5lCi0gICAgICAgICAgICAgICBQeUZpbGVfTmFtZQotICAgICAgICAgICAgICAgUHlGaWxlX1NldEJ1ZlNpemUKLSAgICAgICAgICAgICAgIFB5RmlsZV9Tb2Z0U3BhY2UKLSAgICAgICAgICAgICAgIFB5RmlsZV9Xcml0ZU9iamVjdAotICAgICAgICAgICAgICAgUHlGaWxlX1dyaXRlU3RyaW5nCi0gICAgICAgICAgICAgICBQeUZsb2F0X0FzRG91YmxlCi0gICAgICAgICAgICAgICBQeUZsb2F0X0FzU3RyaW5nCi0gICAgICAgICAgICAgICBQeUZsb2F0X0ZpbmkKLSAgICAgICAgICAgICAgIFB5RmxvYXRfRnJvbURvdWJsZQotICAgICAgICAgICAgICAgUHlGcmFtZV9CbG9ja1BvcAotICAgICAgICAgICAgICAgUHlGcmFtZV9CbG9ja1NldHVwCi0gICAgICAgICAgICAgICBQeUZyYW1lX0Zhc3RUb0xvY2FscwotICAgICAgICAgICAgICAgUHlGcmFtZV9GaW5pCi0gICAgICAgICAgICAgICBQeUZyYW1lX0xvY2Fsc1RvRmFzdAotICAgICAgICAgICAgICAgUHlGcmFtZV9OZXcKLSAgICAgICAgICAgICAgIFB5RnVuY3Rpb25fR2V0Q29kZQotICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9HZXREZWZhdWx0cwotICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9HZXRHbG9iYWxzCi0gICAgICAgICAgICAgICBQeUZ1bmN0aW9uX05ldwotICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9TZXREZWZhdWx0cwotICAgICAgICAgICAgICAgUHlHcmFtbWFyX0FkZEFjY2VsZXJhdG9ycwotICAgICAgICAgICAgICAgUHlHcmFtbWFyX0ZpbmRERkEKLSAgICAgICAgICAgICAgIFB5R3JhbW1hcl9MYWJlbFJlcHIKLSAgICAgICAgICAgICAgIFB5R3JhbW1hcl9SZW1vdmVBY2NlbGVyYXRvcnMKLSAgICAgICAgICAgICAgIFB5SW1wb3J0X0FkZE1vZHVsZQotICAgICAgICAgICAgICAgUHlJbXBvcnRfQXBwZW5kSW5pdHRhYgotICAgICAgICAgICAgICAgUHlJbXBvcnRfQ2xlYW51cAotICAgICAgICAgICAgICAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGUKLSAgICAgICAgICAgICAgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgKLSAgICAgICAgICAgICAgIFB5SW1wb3J0X0V4dGVuZEluaXR0YWIKLSAgICAgICAgICAgICAgIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCi0gICAgICAgICAgICAgICBQeUltcG9ydF9HZXRNb2R1bGVEaWN0Ci0gICAgICAgICAgICAgICBQeUltcG9ydF9JbXBvcnQKLSAgICAgICAgICAgICAgIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZQotICAgICAgICAgICAgICAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlCi0gICAgICAgICAgICAgICBQeUltcG9ydF9JbXBvcnRNb2R1bGVFeAotICAgICAgICAgICAgICAgUHlJbXBvcnRfUmVsb2FkTW9kdWxlCi0gICAgICAgICAgICAgICBQeUluc3RhbmNlX0RvQmluT3AKLSAgICAgICAgICAgICAgIFB5SW5zdGFuY2VfTmV3Ci0gICAgICAgICAgICAgICBQeUludF9Bc0xvbmcKLSAgICAgICAgICAgICAgIFB5SW50X0ZpbmkKLSAgICAgICAgICAgICAgIFB5SW50X0Zyb21Mb25nCi0gICAgICAgICAgICAgICBQeUludF9HZXRNYXgKLSAgICAgICAgICAgICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgotICAgICAgICAgICAgICAgUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQotICAgICAgICAgICAgICAgUHlJbnRlcnByZXRlclN0YXRlX05ldwotICAgICAgICAgICAgICAgUHlMaXN0X0FwcGVuZAotICAgICAgICAgICAgICAgUHlMaXN0X0FzVHVwbGUKLSAgICAgICAgICAgICAgIFB5TGlzdF9HZXRJdGVtCi0gICAgICAgICAgICAgICBQeUxpc3RfR2V0U2xpY2UKLSAgICAgICAgICAgICAgIFB5TGlzdF9JbnNlcnQKLSAgICAgICAgICAgICAgIFB5TGlzdF9OZXcKLSAgICAgICAgICAgICAgIFB5TGlzdF9SZXZlcnNlCi0gICAgICAgICAgICAgICBQeUxpc3RfU2V0SXRlbQotICAgICAgICAgICAgICAgUHlMaXN0X1NldFNsaWNlCi0gICAgICAgICAgICAgICBQeUxpc3RfU2l6ZQotICAgICAgICAgICAgICAgUHlMaXN0X1NvcnQKLSAgICAgICAgICAgICAgIFB5TG9uZ19Bc0RvdWJsZQotICAgICAgICAgICAgICAgUHlMb25nX0FzTG9uZwotOyAgICAgICAgICAgICAgIFB5TG9uZ19Bc0xvbmdMb25nCi0gICAgICAgICAgICAgICBQeUxvbmdfQXNVbnNpZ25lZExvbmcKLTsgICAgICAgICAgICAgICBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCi0gICAgICAgICAgICAgICBQeUxvbmdfQXNWb2lkUHRyCi0gICAgICAgICAgICAgICBQeUxvbmdfRnJvbURvdWJsZQotICAgICAgICAgICAgICAgUHlMb25nX0Zyb21Mb25nCi07ICAgICAgICAgICAgICAgUHlMb25nX0Zyb21Mb25nTG9uZwotICAgICAgICAgICAgICAgUHlMb25nX0Zyb21TdHJpbmcKLSAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nCi07ICAgICAgICAgICAgICAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nCi0gICAgICAgICAgICAgICBQeUxvbmdfRnJvbVZvaWRQdHIKLSAgICAgICAgICAgICAgIFB5TWFwcGluZ19DaGVjawotICAgICAgICAgICAgICAgUHlNYXBwaW5nX0dldEl0ZW1TdHJpbmcKLSAgICAgICAgICAgICAgIFB5TWFwcGluZ19IYXNLZXkKLSAgICAgICAgICAgICAgIFB5TWFwcGluZ19IYXNLZXlTdHJpbmcKLSAgICAgICAgICAgICAgIFB5TWFwcGluZ19MZW5ndGgKLSAgICAgICAgICAgICAgIFB5TWFwcGluZ19TZXRJdGVtU3RyaW5nCi0gICAgICAgICAgICAgICBQeU1hcnNoYWxfSW5pdAotICAgICAgICAgICAgICAgUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUKLSAgICAgICAgICAgICAgIFB5TWFyc2hhbF9SZWFkT2JqZWN0RnJvbUZpbGUKLSAgICAgICAgICAgICAgIFB5TWFyc2hhbF9SZWFkT2JqZWN0RnJvbVN0cmluZwotICAgICAgICAgICAgICAgUHlNYXJzaGFsX1dyaXRlTG9uZ1RvRmlsZQotICAgICAgICAgICAgICAgUHlNYXJzaGFsX1dyaXRlT2JqZWN0VG9GaWxlCi0gICAgICAgICAgICAgICBQeU1hcnNoYWxfV3JpdGVPYmplY3RUb1N0cmluZwotICAgICAgICAgICAgICAgUHlNZW1fRnJlZQotICAgICAgICAgICAgICAgUHlNZW1fTWFsbG9jCi0gICAgICAgICAgICAgICBQeU1lbV9SZWFsbG9jCi0gICAgICAgICAgICAgICBQeU1ldGhvZF9DbGFzcwotICAgICAgICAgICAgICAgUHlNZXRob2RfRmluaQotICAgICAgICAgICAgICAgUHlNZXRob2RfRnVuY3Rpb24KLSAgICAgICAgICAgICAgIFB5TWV0aG9kX05ldwotICAgICAgICAgICAgICAgUHlNZXRob2RfU2VsZgotICAgICAgICAgICAgICAgUHlNb2R1bGVfR2V0RGljdAotICAgICAgICAgICAgICAgUHlNb2R1bGVfR2V0TmFtZQotICAgICAgICAgICAgICAgUHlNb2R1bGVfTmV3Ci0gICAgICAgICAgICAgICBQeU5vZGVfQWRkQ2hpbGQKLSAgICAgICAgICAgICAgIFB5Tm9kZV9Db21waWxlCi0gICAgICAgICAgICAgICBQeU5vZGVfRnJlZQotOyAgICAgICAgICAgICAgIFB5Tm9kZV9MaXN0VHJlZQotICAgICAgICAgICAgICAgUHlOb2RlX05ldwotICAgICAgICAgICAgICAgUHlOdW1iZXJfQWJzb2x1dGUKLSAgICAgICAgICAgICAgIFB5TnVtYmVyX0FkZAotICAgICAgICAgICAgICAgUHlOdW1iZXJfQW5kCi0gICAgICAgICAgICAgICBQeU51bWJlcl9DaGVjawotICAgICAgICAgICAgICAgUHlOdW1iZXJfQ29lcmNlCi0gICAgICAgICAgICAgICBQeU51bWJlcl9Db2VyY2VFeAotICAgICAgICAgICAgICAgUHlOdW1iZXJfRGl2aWRlCi0gICAgICAgICAgICAgICBQeU51bWJlcl9EaXZtb2QKLSAgICAgICAgICAgICAgIFB5TnVtYmVyX0Zsb2F0Ci0gICAgICAgICAgICAgICBQeU51bWJlcl9JbnQKLSAgICAgICAgICAgICAgIFB5TnVtYmVyX0ludmVydAotICAgICAgICAgICAgICAgUHlOdW1iZXJfTG9uZwotICAgICAgICAgICAgICAgUHlOdW1iZXJfTHNoaWZ0Ci0gICAgICAgICAgICAgICBQeU51bWJlcl9NdWx0aXBseQotICAgICAgICAgICAgICAgUHlOdW1iZXJfTmVnYXRpdmUKLSAgICAgICAgICAgICAgIFB5TnVtYmVyX09yCi0gICAgICAgICAgICAgICBQeU51bWJlcl9Qb3NpdGl2ZQotICAgICAgICAgICAgICAgUHlOdW1iZXJfUG93ZXIKLSAgICAgICAgICAgICAgIFB5TnVtYmVyX1JlbWFpbmRlcgotICAgICAgICAgICAgICAgUHlOdW1iZXJfUnNoaWZ0Ci0gICAgICAgICAgICAgICBQeU51bWJlcl9TdWJ0cmFjdAotICAgICAgICAgICAgICAgUHlOdW1iZXJfWG9yCi0gICAgICAgICAgICAgICBQeU9TX0FmdGVyRm9yawotICAgICAgICAgICAgICAgUHlPU19GaW5pSW50ZXJydXB0cwotICAgICAgICAgICAgICAgUHlPU19Jbml0SW50ZXJydXB0cwotICAgICAgICAgICAgICAgUHlPU19JbnRlcnJ1cHRPY2N1cnJlZAotICAgICAgICAgICAgICAgUHlPU19SZWFkbGluZQotICAgICAgICAgICAgICAgUHlPU19TdGRpb1JlYWRsaW5lCi0gICAgICAgICAgICAgICBQeU9TX3N0cnRvbAotICAgICAgICAgICAgICAgUHlPU19zdHJ0b3VsCi0gICAgICAgICAgICAgICBQeU9iamVjdF9DYWxsRnVuY3Rpb24KLSAgICAgICAgICAgICAgIFB5T2JqZWN0X0NhbGxNZXRob2QKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X0NhbGxPYmplY3QKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X0NtcAotICAgICAgICAgICAgICAgUHlPYmplY3RfQ29tcGFyZQotICAgICAgICAgICAgICAgUHlPYmplY3RfRGVsSXRlbQotICAgICAgICAgICAgICAgUHlPYmplY3RfR2V0QXR0cgotICAgICAgICAgICAgICAgUHlPYmplY3RfR2V0QXR0clN0cmluZwotICAgICAgICAgICAgICAgUHlPYmplY3RfR2V0SXRlbQotICAgICAgICAgICAgICAgUHlPYmplY3RfSGFzQXR0cgotICAgICAgICAgICAgICAgUHlPYmplY3RfSGFzQXR0clN0cmluZwotICAgICAgICAgICAgICAgUHlPYmplY3RfSGFzaAotICAgICAgICAgICAgICAgUHlPYmplY3RfSXNUcnVlCi0gICAgICAgICAgICAgICBQeU9iamVjdF9MZW5ndGgKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X05vdAotICAgICAgICAgICAgICAgUHlPYmplY3RfUHJpbnQKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X1JlcHIKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X1NldEF0dHIKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X1NldEF0dHJTdHJpbmcKLSAgICAgICAgICAgICAgIFB5T2JqZWN0X1NldEl0ZW0KLSAgICAgICAgICAgICAgIFB5T2JqZWN0X1N0cgotICAgICAgICAgICAgICAgUHlPYmplY3RfVHlwZQotICAgICAgICAgICAgICAgUHlQYXJzZXJfQWRkVG9rZW4KLSAgICAgICAgICAgICAgIFB5UGFyc2VyX0RlbGV0ZQotICAgICAgICAgICAgICAgUHlQYXJzZXJfTmV3Ci0gICAgICAgICAgICAgICBQeVBhcnNlcl9QYXJzZUZpbGUKLSAgICAgICAgICAgICAgIFB5UGFyc2VyX1BhcnNlU3RyaW5nCi0gICAgICAgICAgICAgICBQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGUKLSAgICAgICAgICAgICAgIFB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nCi0gICAgICAgICAgICAgICBQeVJhbmdlX05ldwotICAgICAgICAgICAgICAgUHlSdW5fQW55RmlsZQotICAgICAgICAgICAgICAgUHlSdW5fRmlsZQotICAgICAgICAgICAgICAgUHlSdW5fSW50ZXJhY3RpdmVMb29wCi0gICAgICAgICAgICAgICBQeVJ1bl9JbnRlcmFjdGl2ZU9uZQotICAgICAgICAgICAgICAgUHlSdW5fU2ltcGxlRmlsZQotICAgICAgICAgICAgICAgUHlSdW5fU2ltcGxlU3RyaW5nCi0gICAgICAgICAgICAgICBQeVJ1bl9TdHJpbmcKLSAgICAgICAgICAgICAgIFB5U2VxdWVuY2VfQ2hlY2sKLSAgICAgICAgICAgICAgIFB5U2VxdWVuY2VfQ29uY2F0Ci0gICAgICAgICAgICAgICBQeVNlcXVlbmNlX0NvbnRhaW5zCi0gICAgICAgICAgICAgICBQeVNlcXVlbmNlX0NvdW50Ci0gICAgICAgICAgICAgICBQeVNlcXVlbmNlX0RlbEl0ZW0KLSAgICAgICAgICAgICAgIFB5U2VxdWVuY2VfRGVsU2xpY2UKLSAgICAgICAgICAgICAgIFB5U2VxdWVuY2VfR2V0SXRlbQotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9HZXRTbGljZQotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9JbgotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9JbmRleAotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9MZW5ndGgKLSAgICAgICAgICAgICAgIFB5U2VxdWVuY2VfTGlzdAotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9SZXBlYXQKLSAgICAgICAgICAgICAgIFB5U2VxdWVuY2VfU2V0SXRlbQotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9TZXRTbGljZQotICAgICAgICAgICAgICAgUHlTZXF1ZW5jZV9UdXBsZQotICAgICAgICAgICAgICAgUHlTbGljZV9HZXRJbmRpY2VzCi0gICAgICAgICAgICAgICBQeVNsaWNlX05ldwotICAgICAgICAgICAgICAgUHlTdHJpbmdfQXNTdHJpbmcKLSAgICAgICAgICAgICAgIFB5U3RyaW5nX0NvbmNhdAotICAgICAgICAgICAgICAgUHlTdHJpbmdfQ29uY2F0QW5kRGVsCi0gICAgICAgICAgICAgICBQeVN0cmluZ19GaW5pCi0gICAgICAgICAgICAgICBQeVN0cmluZ19Gb3JtYXQKLSAgICAgICAgICAgICAgIFB5U3RyaW5nX0Zyb21TdHJpbmcKLSAgICAgICAgICAgICAgIFB5U3RyaW5nX0Zyb21TdHJpbmdBbmRTaXplCi0gICAgICAgICAgICAgICBQeVN0cmluZ19JbnRlcm5Gcm9tU3RyaW5nCi0gICAgICAgICAgICAgICBQeVN0cmluZ19JbnRlcm5JblBsYWNlCi0gICAgICAgICAgICAgICBQeVN0cmluZ19TaXplCi0gICAgICAgICAgICAgICBQeVN5c19HZXRGaWxlCi0gICAgICAgICAgICAgICBQeVN5c19HZXRPYmplY3QKLSAgICAgICAgICAgICAgIFB5U3lzX1NldEFyZ3YKLSAgICAgICAgICAgICAgIFB5U3lzX1NldE9iamVjdAotICAgICAgICAgICAgICAgUHlTeXNfU2V0UGF0aAotICAgICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIKLSAgICAgICAgICAgICAgIFB5U3lzX1dyaXRlU3Rkb3V0Ci0gICAgICAgICAgICAgICBQeVRocmVhZFN0YXRlX0NsZWFyCi0gICAgICAgICAgICAgICBQeVRocmVhZFN0YXRlX0RlbGV0ZQotICAgICAgICAgICAgICAgUHlUaHJlYWRTdGF0ZV9HZXQKLSAgICAgICAgICAgICAgIFB5VGhyZWFkU3RhdGVfR2V0RGljdAotICAgICAgICAgICAgICAgUHlUaHJlYWRTdGF0ZV9OZXcKLSAgICAgICAgICAgICAgIFB5VGhyZWFkU3RhdGVfU3dhcAotICAgICAgICAgICAgICAgUHlUaHJlYWRfYWNxdWlyZV9sb2NrCi0gICAgICAgICAgICAgICBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrCi0gICAgICAgICAgICAgICBQeVRocmVhZF9hbGxvY2F0ZV9zZW1hCi0gICAgICAgICAgICAgICBQeVRocmVhZF9kb3duX3NlbWEKLSAgICAgICAgICAgICAgIFB5VGhyZWFkX2V4aXRfdGhyZWFkCi0gICAgICAgICAgICAgICBQeVRocmVhZF9mcmVlX2xvY2sKLSAgICAgICAgICAgICAgIFB5VGhyZWFkX2ZyZWVfc2VtYQotICAgICAgICAgICAgICAgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudAotICAgICAgICAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQKLSAgICAgICAgICAgICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jawotICAgICAgICAgICAgICAgUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZAotICAgICAgICAgICAgICAgUHlUaHJlYWRfdXBfc2VtYQotICAgICAgICAgICAgICAgUHlUb2tlbl9PbmVDaGFyCi0gICAgICAgICAgICAgICBQeVRva2VuX1R3b0NoYXJzCi0gICAgICAgICAgICAgICBQeVRva2VuaXplcl9GcmVlCi0gICAgICAgICAgICAgICBQeVRva2VuaXplcl9Gcm9tRmlsZQotICAgICAgICAgICAgICAgUHlUb2tlbml6ZXJfRnJvbVN0cmluZwotICAgICAgICAgICAgICAgUHlUb2tlbml6ZXJfR2V0Ci0gICAgICAgICAgICAgICBQeVRyYWNlQmFja19IZXJlCi0gICAgICAgICAgICAgICBQeVRyYWNlQmFja19QcmludAotICAgICAgICAgICAgICAgUHlUdXBsZV9GaW5pCi0gICAgICAgICAgICAgICBQeVR1cGxlX0dldEl0ZW0KLSAgICAgICAgICAgICAgIFB5VHVwbGVfR2V0U2xpY2UKLSAgICAgICAgICAgICAgIFB5VHVwbGVfTmV3Ci0gICAgICAgICAgICAgICBQeVR1cGxlX1NldEl0ZW0KLSAgICAgICAgICAgICAgIFB5VHVwbGVfU2l6ZQotICAgICAgICAgICAgICAgUHlfQWRkUGVuZGluZ0NhbGwKLSAgICAgICAgICAgICAgIFB5X0F0RXhpdAotICAgICAgICAgICAgICAgUHlfQnVpbGRWYWx1ZQotICAgICAgICAgICAgICAgUHlfQ29tcGlsZVN0cmluZwotICAgICAgICAgICAgICAgUHlfRW5kSW50ZXJwcmV0ZXIKLSAgICAgICAgICAgICAgIFB5X0V4aXQKLSAgICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IKLSAgICAgICAgICAgICAgIFB5X0ZkSXNJbnRlcmFjdGl2ZQotICAgICAgICAgICAgICAgUHlfRmluYWxpemUKLSAgICAgICAgICAgICAgIFB5X0ZpbmRNZXRob2QKLSAgICAgICAgICAgICAgIFB5X0ZpbmRNZXRob2RJbkNoYWluCi0gICAgICAgICAgICAgICBQeV9GbHVzaExpbmUKLSAgICAgICAgICAgICAgIFB5X0ZyZWUKLSAgICAgICAgICAgICAgIFB5X0dldEFyZ2NBcmd2Ci0gICAgICAgICAgICAgICBQeV9HZXRCdWlsZEluZm8KLSAgICAgICAgICAgICAgIFB5X0dldENvbXBpbGVyCi0gICAgICAgICAgICAgICBQeV9HZXRDb3B5cmlnaHQKLSAgICAgICAgICAgICAgIFB5X0dldEV4ZWNQcmVmaXgKLSAgICAgICAgICAgICAgIFB5X0dldFBhdGgKLSAgICAgICAgICAgICAgIFB5X0dldFBsYXRmb3JtCi0gICAgICAgICAgICAgICBQeV9HZXRQcmVmaXgKLSAgICAgICAgICAgICAgIFB5X0dldFByb2dyYW1GdWxsUGF0aAotICAgICAgICAgICAgICAgUHlfR2V0UHJvZ3JhbU5hbWUKLSAgICAgICAgICAgICAgIFB5X0dldFB5dGhvbkhvbWUKLSAgICAgICAgICAgICAgIFB5X0dldFZlcnNpb24KLSAgICAgICAgICAgICAgIFB5X0luaXRNb2R1bGU0Ci0gICAgICAgICAgICAgICBQeV9Jbml0aWFsaXplCi0gICAgICAgICAgICAgICBQeV9Jc0luaXRpYWxpemVkCi0gICAgICAgICAgICAgICBQeV9NYWluCi0gICAgICAgICAgICAgICBQeV9NYWtlUGVuZGluZ0NhbGxzCi0gICAgICAgICAgICAgICBQeV9NYWxsb2MKLSAgICAgICAgICAgICAgIFB5X05ld0ludGVycHJldGVyCi0gICAgICAgICAgICAgICBQeV9SZWFsbG9jCi0gICAgICAgICAgICAgICBQeV9SZXByRW50ZXIKLSAgICAgICAgICAgICAgIFB5X1JlcHJMZWF2ZQotICAgICAgICAgICAgICAgUHlfU2V0UHJvZ3JhbU5hbWUKLSAgICAgICAgICAgICAgIFB5X1NldFB5dGhvbkhvbWUKLSAgICAgICAgICAgICAgIFB5X1ZhQnVpbGRWYWx1ZQotICAgICAgICAgICAgICAgX1B5QnVpbHRpbl9GaW5pXzEKLSAgICAgICAgICAgICAgIF9QeUJ1aWx0aW5fRmluaV8yCi0gICAgICAgICAgICAgICBfUHlCdWlsdGluX0luaXRfMQotICAgICAgICAgICAgICAgX1B5QnVpbHRpbl9Jbml0XzIKLSAgICAgICAgICAgICAgIF9QeUltcG9ydF9GaW5kRXh0ZW5zaW9uCi0gICAgICAgICAgICAgICBfUHlJbXBvcnRfRmluaQotICAgICAgICAgICAgICAgX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uCi0gICAgICAgICAgICAgICBfUHlJbXBvcnRfSW5pdAotICAgICAgICAgICAgICAgX1B5SW1wb3J0X0xvYWREeW5hbWljTW9kdWxlCi0gICAgICAgICAgICAgICBfUHlMb25nX05ldwotICAgICAgICAgICAgICAgX1B5TW9kdWxlX0NsZWFyCi0gICAgICAgICAgICAgICBfUHlPYmplY3RfTmV3Ci0gICAgICAgICAgICAgICBfUHlPYmplY3RfTmV3VmFyCi0gICAgICAgICAgICAgICBfUHlTdHJpbmdfUmVzaXplCi0gICAgICAgICAgICAgICBfUHlTeXNfSW5pdAotICAgICAgICAgICAgICAgX1B5VHVwbGVfUmVzaXplCi0gICAgICAgICAgICAgICBfUHlfTUQ1RmluYWwKLSAgICAgICAgICAgICAgIF9QeV9NRDVJbml0Ci0gICAgICAgICAgICAgICBfUHlfTUQ1VXBkYXRlCi07ICAgICAgICAgICAgICAgX1B5X2FkZGJpdAotICAgICAgICAgICAgICAgX1B5X2NfZGlmZgotICAgICAgICAgICAgICAgX1B5X2NfbmVnCi0gICAgICAgICAgICAgICBfUHlfY19wb3cKLSAgICAgICAgICAgICAgIF9QeV9jX3Byb2QKLSAgICAgICAgICAgICAgIF9QeV9jX3F1b3QKLSAgICAgICAgICAgICAgIF9QeV9jX3N1bQotOyAgICAgICAgICAgICAgIF9QeV9kZWxiaXRzZXQKLTsgICAgICAgICAgICAgICBfUHlfbWVyZ2ViaXRzZXQKLTsgICAgICAgICAgICAgICBfUHlfbWV0YV9ncmFtbWFyCi07ICAgICAgICAgICAgICAgX1B5X25ld2JpdHNldAotOyAgICAgICAgICAgICAgIF9QeV9zYW1lYml0c2V0Ci0gICAgICAgICAgICAgICBQeUJ1ZmZlcl9UeXBlCi0gICAgICAgICAgICAgICBQeUJ1ZmZlcl9Gcm9tT2JqZWN0Ci0gICAgICAgICAgICAgICBQeUJ1ZmZlcl9Gcm9tTWVtb3J5Ci0gICAgICAgICAgICAgICBQeUJ1ZmZlcl9Gcm9tUmVhZFdyaXRlTWVtb3J5Ci0gICAgICAgICAgICAgICBQeUJ1ZmZlcl9OZXcKLQpkaWZmIC0tZ2l0IGEvUEMvb3MydmFjcHAvcmVhZG1lLnR4dCBiL1BDL29zMnZhY3BwL3JlYWRtZS50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjNTg2MDQuLjAwMDAwMDAKLS0tIGEvUEMvb3MydmFjcHAvcmVhZG1lLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDExOSArMCwwIEBACi1JQk0gVmlzdWFsQWdlIEMvQysrIGZvciBPUy8yCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRvIGJ1aWxkIFB5dGhvbiBmb3IgT1MvMiwgY2hhbmdlIGludG8gLi9vczJ2YWNwcCBhbmQgaXNzdWUgYW4gJ05NQUtFJwotY29tbWFuZC4gIFRoaXMgd2lsbCBidWlsZCBhIFBZVEhPTjE1LkRMTCBjb250YWluaW5nIHRoZSBzZXQgb2YgUHl0aG9uCi1tb2R1bGVzIGxpc3RlZCBpbiBjb25maWcuYyBhbmQgYSBzbWFsbCBQWVRIT04uRVhFIHRvIHN0YXJ0IHRoZQotaW50ZXJwcmV0ZXIuCi0KLUJ5IGNoYW5naW5nIHRoZSBDIGNvbXBpbGVyIGZsYWcgL0dkLSBpbiB0aGUgbWFrZWZpbGUgdG8gL0dkKywgeW91IGNhbgotcmVkdWNlIHRoZSBzaXplIG9mIHRoZXNlIGJ5IGNhdXNpbmcgUHl0aG9uIHRvIGR5bmFtaWNhbGx5IGxpbmsgdG8gdGhlCi1DIHJ1bnRpbWUgRExMcyBpbnN0ZWFkIG9mIGluY2x1ZGluZyB0aGVpciBidWxrIGluIHlvdXIgYmluYXJpZXMuIAotSG93ZXZlciwgdGhpcyBtZWFucyB0aGF0IGFueSBzeXN0ZW0gb24gd2hpY2ggeW91IHJ1biBQeXRob24gbXVzdCBoYXZlCi10aGUgVkFDKysgY29tcGlsZXIgaW5zdGFsbGVkIGluIG9yZGVyIHRvIGhhdmUgdGhvc2UgRExMcyBhdmFpbGFibGUuCi0KLUR1cmluZyB0aGUgYnVpbGQgcHJvY2VzcyB5b3UgbWF5IHNlZSBhIGNvdXBsZSBvZiBoYXJtbGVzcyB3YXJuaW5nczoKLQotICBGcm9tIHRoZSBDIENvbXBpbGVyLCAiTm8gZnVuY3Rpb24gcHJvdG90eXBlIGdpdmVuIGZvciBYWFgiLCB3aGljaAotICBjb21lcyBmcm9tIHRoZSB1c2Ugb2YgSyZSIHBhcmFtZXRlcnMgd2l0aGluIFB5dGhvbiBmb3IgcG9ydGFiaWxpdHkuCi0KLSAgRnJvbSB0aGUgSUxJQiBsaWJyYXJpYW4sICJNb2R1bGUgTm90IEZvdW5kIChYWFgpIiwgd2hpY2ggY29tZXMKLSAgZnJvbSBpdHMgYXR0ZW1wdCB0byBwZXJmb3JtIHRoZSAoLSspIG9wZXJhdGlvbiwgd2hpY2ggcmVtb3ZlcyBhbmQKLSAgdGhlbiBhZGRzIGEgLk9CSiB0byB0aGUgbGlicmFyeS4gIFRoZSBmaXJzdCB0aW1lIGEgYnVpbGQgaXMgZG9uZSwKLSAgaXQgb2J2aW91c2x5IGNhbm5vdCByZW1vdmUgd2hhdCBpcyBub3QgeWV0IGJ1aWx0LgotCi1UaGlzIGJ1aWxkIGluY2x1ZGVzIHN1cHBvcnQgZm9yIG1vc3QgUHl0aG9uIGZ1bmN0aW9uYWxpdHkgYXMgd2VsbCBhcwotVENQL0lQIHNvY2tldHMuICBJdCBvbWl0cyB0aGUgUG9zaXggYWJpbGl0eSB0byAnZm9yaycgYSBwcm9jZXNzIGJ1dAotc3VwcG9ydHMgdGhyZWFkcyB1c2luZyBPUy8yIG5hdGl2ZSBjYXBhYmlsaXRpZXMuICBJIGhhdmUgdHJpZWQgdG8KLXN1cHBvcnQgZXZlcnl0aGluZyBwb3NzaWJsZSBidXQgaGVyZSBhcmUgYSBmZXcgdXNhZ2Ugbm90ZXMuCi0KLQotLS0gb3MucG9wZW4oKSBVc2FnZSBXYXJuaW5ncwotCi1XaXRoIHJlc3BlY3QgdG8gbXkgaW1wbGVtZW50YXRpb24gb2YgcG9wZW4oKSB1bmRlciBPUy8yOgotCi0gICAgaW1wb3J0IG9zCi0KLSAgICBmZCA9IG9zLnBvcGVuKCJwa3ppcC5leGUgLUAganVuay56aXAiLCAnd2InKQotICAgIGZkLndyaXRlKCJmaWxlMS50eHRcbiIpCi0gICAgZmQud3JpdGUoImZpbGUyLnR4dFxuIikKLSAgICBmZC53cml0ZSgiZmlsZTMudHh0XG4iKQotICAgIGZkLndyaXRlKCJceDFhIikgICMgU2hvdWxkIE5vdCBCZSBOZWNlc3NhcnkgQnV0IElzCi0gICAgZmQuY2xvc2UoKQotCi1UaGVyZSBpcyBhIGJ1ZywgZWl0aGVyIGluIHRoZSBWQUMrKyBjb21waWxlciBvciBPUy8yIGl0c2VsZiwgd2hlcmUgdGhlCi1zaW1wbGUgY2xvc3VyZSBvZiB0aGUgd3JpdGUtc2lkZSBvZiBhIHBpcGUgLXRvLSBhIHByb2Nlc3MgZG9lcyBub3QKLXNlbmQgYW4gRU9GIHRvIHRoYXQgcHJvY2Vzcy4gIEkgZmluZCBJIG11c3QgZXhwbGljaXRseSB3cml0ZSBhCi1jb250cm9sLVogKEVPRikgYmVmb3JlIGNsb3NpbmcgdGhlIHBpcGUuICBUaGlzIGlzIG5vdCBhIHByb2JsZW0gd2hlbgotdXNpbmcgcG9wZW4oKSBpbiByZWFkIG1vZGUuCi0KLU9uZSBvdGhlciBzbGlnaHQgZGlmZmVyZW5jZSB3aXRoIG15IHBvcGVuKCkgaXMgdGhhdCBJIHJldHVybiBOb25lCi1mcm9tIHRoZSBjbG9zZSgpLCBpbnN0ZWFkIG9mIHRoZSBVbml4IGNvbnZlbnRpb24gb2YgdGhlIHJldHVybiBjb2RlCi1vZiB0aGUgc3Bhd25lZCBwcm9ncmFtLiAgSSBjb3VsZCBmaW5kIG5vIGVhc3kgd2F5IHRvIGRvIHRoaXMgdW5kZXIKLU9TLzIuCi0KLQotLS0gQkVHSU5MSUJQQVRIL0VORExJQlBBVEgKLQotV2l0aCByZXNwZWN0IHRvIGVudmlyb25tZW50IHZhcmlhYmxlcywgdGhpcyBPUy8yIHBvcnQgc3VwcG9ydHMgdGhlCi1zcGVjaWFsLXRvLU9TLzIgbWFnaWMgbmFtZXMgb2YgJ0JFR0lOTElCUEFUSCcgYW5kICdFTkRMSUJQQVRIJyB0bwotY29udHJvbCB3aGVyZSB0byBsb2FkIGNvbnZlbnRpb25hbCBETExzIGZyb20uICBUaG9zZSBuYW1lcyBhcmUKLWludGVyY2VwdGVkIGFuZCBjb252ZXJ0ZWQgdG8gY2FsbHMgb24gdGhlIE9TLzIga2VybmVsIEFQSXMgYW5kCi1hcmUgaW5oZXJpdGVkIGJ5IGNoaWxkIHByb2Nlc3Nlcywgd2hldGhlciBQeXRob24tYmFzZWQgb3Igbm90LgotCi1BIGZldyBuZXcgYXR0cmlidXRlcyBoYXZlIGJlZW4gYWRkZWQgdG8gdGhlIG9zIG1vZHVsZToKLQotICAgIG9zLm1lbWluc3RhbGxlZCAgIyBDb3VudCBvZiBCeXRlcyBvZiBSQU0gSW5zdGFsbGVkIG9uIE1hY2hpbmUKLSAgICBvcy5tZW1rZXJuZWwgICAgICMgQ291bnQgb2YgQnl0ZXMgb2YgUkFNIFJlc2VydmVkIChOb24tU3dhcHBhYmxlKQotICAgIG9zLm1lbXZpcnR1YWwgICAgIyBDb3VudCBvZiBCeXRlcyBvZiBWaXJ0dWFsIFJBTSBQb3NzaWJsZQotICAgIG9zLnRpbWVzbGljZSAgICAgIyBEdXJhdGlvbiBvZiBTY2hlZHVsZXIgVGltZXNsaWNlLCBpbiBNaWxsaXNlY29uZHMKLSAgICBvcy5tYXhwYXRobGVuICAgICMgTWF4aW11bSBMZW5ndGggb2YgYSBQYXRoIFNwZWNpZmljYXRpb24sIGluIGNoYXJzCi0gICAgb3MubWF4bmFtZWxlbiAgICAjIE1heGltdW0gTGVuZ3RoIG9mIGEgU2luZ2xlIERpci9GaWxlIE5hbWUsIGluIGNoYXJzCi0gICAgb3MudmVyc2lvbiAgICAgICAjIFZlcnNpb24gb2YgT1MvMiBCZWluZyBSdW4gZS5nLiAiNC4wMCIKLSAgICBvcy5yZXZpc2lvbiAgICAgICMgUmV2aXNpb24gb2YgT1MvMiBCZWluZyBSdW4gKHVzdWFsbHkgemVybykKLSAgICBvcy5ib290ZHJpdmUgICAgICMgRHJpdmUgdGhhdCBTeXN0ZW0gQm9vdGVkIEZyb20gZS5nLiAiQzoiCi0gICAgICAgICAgICAgICAgICAgICAjICh1c2VmdWwgdG8gZmluZCB0aGUgQ09ORklHLlNZUyB1c2VkIHRvIGJvb3Qgd2l0aCkKLQotCi0tLSBVc2luZyBQeXRob24gYXMgdGhlIERlZmF1bHQgT1MvMiBCYXRjaCBMYW5ndWFnZQotCi1Ob3RlIHRoYXQgT1MvMiBzdXBwb3J0cyB0aGUgVW5peCB0ZWNobmlxdWUgb2YgcHV0dGluZyB0aGUgc3BlY2lhbAotY29tbWVudCBsaW5lIGF0IHRoZSB0aW1lIG9mIHNjcmlwdHMgZS5nLiAiIyEvdXNyL2Jpbi9weXRob24iIGluCi1hIGRpZmZlcmVudCBzeW50YWN0aWMgZm9ybS4gIFRvIGRvIHRoaXMsIHB1dCB5b3VyIHNjcmlwdCBpbnRvIGEgZmlsZQotd2l0aCBhIC5DTUQgZXh0ZW5zaW9uIGFuZCBhZGRlZCAnZXh0cHJvYycgdG8gdGhlIHRvcCBhcyBmb2xsb3dzOgotCi0gICAgZXh0cHJvYyBDOlxQeXRob25cUHl0aG9uLmV4ZSAteAotICAgIGltcG9ydCBvcwotICAgIHByaW50ICJIZWxsbyBmcm9tIFB5dGhvbiIKLQotVGhlICcteCcgb3B0aW9uIHRlbGxzIFB5dGhvbiB0byBza2lwIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBmaWxlCi13aGlsZSBwcm9jZXNzaW5nIHRoZSByZXN0IGFzIG5vcm1hbCBQeXRob24gc291cmNlLgotCi0KLS0tIFN1Z2dlc3RlZCBFbnZpcm9ubWVudCBWYXJpYWJsZSBTZXR1cAotCi1XaXRoIHJlc3BlY3QgdG8gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgUHl0aG9uLCBJIHVzZSB0aGUKLWZvbGxvd2luZyBzZXR1cDoKLQotICAgIFNldCBQWVRIT05IT01FPUU6XFRhdVxQcm9qZWN0c1xQeXRob247RDpcRExMcwotICAgIFNldCBQWVRIT05QQVRIPS47RTpcVGF1XFByb2plY3RzXFB5dGhvblxMaWI7IFwKLSAgICAgICAgICAgICAgICAgICAgIEU6XFRhdVxQcm9qZWN0c1xQeXRob25cTGliXHBsYXQtd2luCi0KLVRoZSBFWEVDX1BSRUZJWCAob3B0aW9uYWwgc2Vjb25kIHBhdGhzcGVjIG9uIFBZVEhPTkhPTUUpIGlzIHdoZXJlCi15b3UgcHV0IGFueSBQeXRob24gZXh0ZW5zaW9uIERMTHMgeW91IG1heSBjcmVhdGUvb2J0YWluLiAgVGhlcmUKLWFyZSBub25lIHByb3ZpZGVkIHdpdGggdGhpcyByZWxlYXNlLgotCi0KLS0tIENvbnRhY3QgSW5mbwotCi1KZWZmIFJ1c2ggaXMgbm8gbG9uZ2VyIHN1cHBvcnRpbmcgdGhlIFZBQ1BQIHBvcnQgOi0oCi0KLUkgZG9uJ3QgaGF2ZSB0aGUgVkFDUFAgY29tcGlsZXIsIHNvIGNhbid0IHJlbGlhYmx5IG1haW50YWluIHRoaXMgcG9ydC4gCi0KLUFueW9uZSB3aXRoIFZBQ1BQIHdobyBjYW4gY29udHJpYnV0ZSBwYXRjaGVzIHRvIGtlZXAgdGhpcyBwb3J0IGJ1aWxkYWJsZQotc2hvdWxkIHVwbG9hZCB0aGVtIHRvIHRoZSBQeXRob24gUGF0Y2ggTWFuYWdlciBhdCBTb3VyY2Vmb3JnZSBhbmQgCi1hc3NpZ24gdGhlbSB0byBtZSBmb3IgcmV2aWV3L2NoZWNraW4uCi0KLUFuZHJldyBNYWNJbnR5cmUKLWFpbWFjaW50eXJlIGF0IHVzZXJzLnNvdXJjZWZvcmdlLm5ldAotQXVndXN0IDE4LCAyMDAyLgpkaWZmIC0tZ2l0IGEvUEMvcHljb25maWcuaCBiL1BDL3B5Y29uZmlnLmgKaW5kZXggZDZkZTVmMC4uYzVmMTZlNSAxMDA2NDQKLS0tIGEvUEMvcHljb25maWcuaAorKysgYi9QQy9weWNvbmZpZy5oCkBAIC0xNTYsMTUgKzE1Niw5IEBACiAjZW5kaWYgLyogTVNfV0lONjQgKi8KIAogLyogc2V0IHRoZSB2ZXJzaW9uIG1hY3JvcyBmb3IgdGhlIHdpbmRvd3MgaGVhZGVycyAqLwotI2lmZGVmIE1TX1dJTlg2NAotLyogNjQgYml0IG9ubHkgcnVucyBvbiBYUCBvciBncmVhdGVyICovCisvKiBQeXRob24gMy40KyByZXF1aXJlcyBXaW5kb3dzIFhQIG9yIGdyZWF0ZXIgKi8KICNkZWZpbmUgUHlfV0lOVkVSIDB4MDUwMSAvKiBfV0lOMzJfV0lOTlRfV0lOWFAgKi8KICNkZWZpbmUgUHlfTlREREkgTlRERElfV0lOWFAKLSNlbHNlCi0vKiBQeXRob24gMi42KyByZXF1aXJlcyBXaW5kb3dzIDIwMDAgb3IgZ3JlYXRlciAqLwotI2RlZmluZSBQeV9XSU5WRVIgMHgwNTAwIC8qIF9XSU4zMl9XSU5OVF9XSU4ySyAqLwotI2RlZmluZSBQeV9OVERESSBOVERESV9XSU4yS1NQNAotI2VuZGlmCiAKIC8qIFdlIG9ubHkgc2V0IHRoZXNlIHZhbHVlcyB3aGVuIGJ1aWxkaW5nIFB5dGhvbiAtIHdlIGRvbid0IHdhbnQgdG8gZm9yY2UKICAgIHRoZXNlIHZhbHVlcyBvbiBleHRlbnNpb25zLCBhcyB0aGF0IHdpbGwgYWZmZWN0IHRoZSBwcm90b3R5cGVzIGFuZApAQCAtMTk5LDggKzE5MywxMCBAQAogI2RlZmluZSBIQVZFX1NTSVpFX1QgMQogCiAjaWYgZGVmaW5lZChNU19XSU4zMikgJiYgIWRlZmluZWQoTVNfV0lONjQpCi0jaWZkZWYgX01fSVg4NgorI2lmIGRlZmluZWQoX01fSVg4NikKICNkZWZpbmUgQ09NUElMRVIgX1B5X1BBU1RFX1ZFUlNJT04oIjMyIGJpdCAoSW50ZWwpIikKKyNlbGlmIGRlZmluZWQoX01fQVJNKQorI2RlZmluZSBDT01QSUxFUiBfUHlfUEFTVEVfVkVSU0lPTigiMzIgYml0IChBUk0pIikKICNlbHNlCiAjZGVmaW5lIENPTVBJTEVSIF9QeV9QQVNURV9WRVJTSU9OKCIzMiBiaXQgKFVua25vd24pIikKICNlbmRpZgpAQCAtMzI0LDExICszMjAsMTEgQEAKIAkJCXRoZWlyIE1ha2VmaWxlIChvdGhlciBjb21waWxlcnMgYXJlIGdlbmVyYWxseQogCQkJdGFrZW4gY2FyZSBvZiBieSBkaXN0dXRpbHMuKSAqLwogIwkJCWlmIGRlZmluZWQoX0RFQlVHKQotIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjMzX2QubGliIikKKyMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zNF9kLmxpYiIpCiAjCQkJZWxpZiBkZWZpbmVkKFB5X0xJTUlURURfQVBJKQogIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjMubGliIikKICMJCQllbHNlCi0jCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzMubGliIikKKyMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zNC5saWIiKQogIwkJCWVuZGlmIC8qIF9ERUJVRyAqLwogIwkJZW5kaWYgLyogX01TQ19WRVIgKi8KICMJZW5kaWYgLyogUHlfQlVJTERfQ09SRSAqLwpkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uLm1rIGIvUEMvcHl0aG9uLm1rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNzY1MTA2Li4wMDAwMDAwCi0tLSBhL1BDL3B5dGhvbi5taworKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotcHJvamVjdCA6IG46XHB5dGhvblxweXRob24tMS41LjFccGNcd2F0X29zMlxweXRoX29zMi5leGUgbjpccHl0aG9uXHB5dGhvbi0xLiYNCi01LjFccGNcd2F0X2Rvc1xweXRoX2Rvcy5leGUgLlNZTUJPTElDDQotDQotIWluY2x1ZGUgbjpccHl0aG9uXHB5dGhvbi0xLjUuMVxwY1x3YXRfb3MyXHB5dGhfb3MyLm1rMQ0KLSFpbmNsdWRlIG46XHB5dGhvblxweXRob24tMS41LjFccGNcd2F0X2Rvc1xweXRoX2Rvcy5tazENCmRpZmYgLS1naXQgYS9QQy9weXRob24zLmRlZiBiL1BDL3B5dGhvbjMuZGVmCmluZGV4IGQ3MjY1MjUuLjBjZjBkOTQgMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbjMuZGVmCisrKyBiL1BDL3B5dGhvbjMuZGVmCkBAIC0xLDY5OSArMSw3MDAgQEAKLTsgV2hlbiBjaGFuZ2luZyB0aGlzIGZpbGUsIHJ1biBweXRob24zM2dlbi5weQorOyBXaGVuIGNoYW5naW5nIHRoaXMgZmlsZSwgcnVuIHB5dGhvbjM0Z2VuLnB5CiBMSUJSQVJZCSJweXRob24zIgogRVhQT1JUUwotICBQeUFyZ19QYXJzZT1weXRob24zMy5QeUFyZ19QYXJzZQotICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjMzLlB5QXJnX1BhcnNlVHVwbGUKLSAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjMzLlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcwotICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zMy5QeUFyZ19VbnBhY2tUdXBsZQotICBQeUFyZ19WYVBhcnNlPXB5dGhvbjMzLlB5QXJnX1ZhUGFyc2UKLSAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzMuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKLSAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjMzLlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cwotICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zMy5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCi0gIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zMy5QeUJvb2xfRnJvbUxvbmcKLSAgUHlCb29sX1R5cGU9cHl0aG9uMzMuUHlCb29sX1R5cGUgREFUQQotICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zMy5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjMzLlB5Qnl0ZUFycmF5X0FzU3RyaW5nCi0gIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zMy5QeUJ5dGVBcnJheV9Db25jYXQKLSAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zMy5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjMzLlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zMy5QeUJ5dGVBcnJheV9SZXNpemUKLSAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zMy5QeUJ5dGVBcnJheV9TaXplCi0gIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzMuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzMuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzMuUHlCeXRlc19Bc1N0cmluZwotICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zMy5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQotICBQeUJ5dGVzX0NvbmNhdD1weXRob24zMy5QeUJ5dGVzX0NvbmNhdAotICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zMy5QeUJ5dGVzX0NvbmNhdEFuZERlbAotICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zMy5QeUJ5dGVzX0RlY29kZUVzY2FwZQotICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzMuUHlCeXRlc19Gcm9tRm9ybWF0Ci0gIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzMuUHlCeXRlc19Gcm9tRm9ybWF0VgotICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzMuUHlCeXRlc19Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zMy5QeUJ5dGVzX0Zyb21TdHJpbmcKLSAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zMy5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZXNfUmVwcj1weXRob24zMy5QeUJ5dGVzX1JlcHIKLSAgUHlCeXRlc19TaXplPXB5dGhvbjMzLlB5Qnl0ZXNfU2l6ZQotICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzMuUHlCeXRlc19UeXBlIERBVEEKLSAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zMy5QeUNGdW5jdGlvbl9DYWxsCi0gIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzMuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAotICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zMy5QeUNGdW5jdGlvbl9HZXRGbGFncwotICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zMy5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgotICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjMzLlB5Q0Z1bmN0aW9uX0dldFNlbGYKLSAgUHlDRnVuY3Rpb25fTmV3RXg9cHl0aG9uMzMuUHlDRnVuY3Rpb25fTmV3RXgKLSAgUHlDRnVuY3Rpb25fVHlwZT1weXRob24zMy5QeUNGdW5jdGlvbl9UeXBlIERBVEEKLSAgUHlDYWxsSXRlcl9OZXc9cHl0aG9uMzMuUHlDYWxsSXRlcl9OZXcKLSAgUHlDYWxsSXRlcl9UeXBlPXB5dGhvbjMzLlB5Q2FsbEl0ZXJfVHlwZSBEQVRBCi0gIFB5Q2FsbGFibGVfQ2hlY2s9cHl0aG9uMzMuUHlDYWxsYWJsZV9DaGVjawotICBQeUNhcHN1bGVfR2V0Q29udGV4dD1weXRob24zMy5QeUNhcHN1bGVfR2V0Q29udGV4dAotICBQeUNhcHN1bGVfR2V0RGVzdHJ1Y3Rvcj1weXRob24zMy5QeUNhcHN1bGVfR2V0RGVzdHJ1Y3RvcgotICBQeUNhcHN1bGVfR2V0TmFtZT1weXRob24zMy5QeUNhcHN1bGVfR2V0TmFtZQotICBQeUNhcHN1bGVfR2V0UG9pbnRlcj1weXRob24zMy5QeUNhcHN1bGVfR2V0UG9pbnRlcgotICBQeUNhcHN1bGVfSW1wb3J0PXB5dGhvbjMzLlB5Q2Fwc3VsZV9JbXBvcnQKLSAgUHlDYXBzdWxlX0lzVmFsaWQ9cHl0aG9uMzMuUHlDYXBzdWxlX0lzVmFsaWQKLSAgUHlDYXBzdWxlX05ldz1weXRob24zMy5QeUNhcHN1bGVfTmV3Ci0gIFB5Q2Fwc3VsZV9TZXRDb250ZXh0PXB5dGhvbjMzLlB5Q2Fwc3VsZV9TZXRDb250ZXh0Ci0gIFB5Q2Fwc3VsZV9TZXREZXN0cnVjdG9yPXB5dGhvbjMzLlB5Q2Fwc3VsZV9TZXREZXN0cnVjdG9yCi0gIFB5Q2Fwc3VsZV9TZXROYW1lPXB5dGhvbjMzLlB5Q2Fwc3VsZV9TZXROYW1lCi0gIFB5Q2Fwc3VsZV9TZXRQb2ludGVyPXB5dGhvbjMzLlB5Q2Fwc3VsZV9TZXRQb2ludGVyCi0gIFB5Q2Fwc3VsZV9UeXBlPXB5dGhvbjMzLlB5Q2Fwc3VsZV9UeXBlIERBVEEKLSAgUHlDbGFzc01ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzMuUHlDbGFzc01ldGhvZERlc2NyX1R5cGUgREFUQQotICBQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnM9cHl0aG9uMzMuUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzCi0gIFB5Q29kZWNfRGVjb2RlPXB5dGhvbjMzLlB5Q29kZWNfRGVjb2RlCi0gIFB5Q29kZWNfRGVjb2Rlcj1weXRob24zMy5QeUNvZGVjX0RlY29kZXIKLSAgUHlDb2RlY19FbmNvZGU9cHl0aG9uMzMuUHlDb2RlY19FbmNvZGUKLSAgUHlDb2RlY19FbmNvZGVyPXB5dGhvbjMzLlB5Q29kZWNfRW5jb2RlcgotICBQeUNvZGVjX0lnbm9yZUVycm9ycz1weXRob24zMy5QeUNvZGVjX0lnbm9yZUVycm9ycwotICBQeUNvZGVjX0luY3JlbWVudGFsRGVjb2Rlcj1weXRob24zMy5QeUNvZGVjX0luY3JlbWVudGFsRGVjb2RlcgotICBQeUNvZGVjX0luY3JlbWVudGFsRW5jb2Rlcj1weXRob24zMy5QeUNvZGVjX0luY3JlbWVudGFsRW5jb2RlcgotICBQeUNvZGVjX0tub3duRW5jb2Rpbmc9cHl0aG9uMzMuUHlDb2RlY19Lbm93bkVuY29kaW5nCi0gIFB5Q29kZWNfTG9va3VwRXJyb3I9cHl0aG9uMzMuUHlDb2RlY19Mb29rdXBFcnJvcgotICBQeUNvZGVjX1JlZ2lzdGVyPXB5dGhvbjMzLlB5Q29kZWNfUmVnaXN0ZXIKLSAgUHlDb2RlY19SZWdpc3RlckVycm9yPXB5dGhvbjMzLlB5Q29kZWNfUmVnaXN0ZXJFcnJvcgotICBQeUNvZGVjX1JlcGxhY2VFcnJvcnM9cHl0aG9uMzMuUHlDb2RlY19SZXBsYWNlRXJyb3JzCi0gIFB5Q29kZWNfU3RyZWFtUmVhZGVyPXB5dGhvbjMzLlB5Q29kZWNfU3RyZWFtUmVhZGVyCi0gIFB5Q29kZWNfU3RyZWFtV3JpdGVyPXB5dGhvbjMzLlB5Q29kZWNfU3RyZWFtV3JpdGVyCi0gIFB5Q29kZWNfU3RyaWN0RXJyb3JzPXB5dGhvbjMzLlB5Q29kZWNfU3RyaWN0RXJyb3JzCi0gIFB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnM9cHl0aG9uMzMuUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycwotICBQeUNvbXBsZXhfRnJvbURvdWJsZXM9cHl0aG9uMzMuUHlDb21wbGV4X0Zyb21Eb3VibGVzCi0gIFB5Q29tcGxleF9JbWFnQXNEb3VibGU9cHl0aG9uMzMuUHlDb21wbGV4X0ltYWdBc0RvdWJsZQotICBQeUNvbXBsZXhfUmVhbEFzRG91YmxlPXB5dGhvbjMzLlB5Q29tcGxleF9SZWFsQXNEb3VibGUKLSAgUHlDb21wbGV4X1R5cGU9cHl0aG9uMzMuUHlDb21wbGV4X1R5cGUgREFUQQotICBQeURlc2NyX05ld0NsYXNzTWV0aG9kPXB5dGhvbjMzLlB5RGVzY3JfTmV3Q2xhc3NNZXRob2QKLSAgUHlEZXNjcl9OZXdHZXRTZXQ9cHl0aG9uMzMuUHlEZXNjcl9OZXdHZXRTZXQKLSAgUHlEZXNjcl9OZXdNZW1iZXI9cHl0aG9uMzMuUHlEZXNjcl9OZXdNZW1iZXIKLSAgUHlEZXNjcl9OZXdNZXRob2Q9cHl0aG9uMzMuUHlEZXNjcl9OZXdNZXRob2QKLSAgUHlEaWN0SXRlbXNfVHlwZT1weXRob24zMy5QeURpY3RJdGVtc19UeXBlIERBVEEKLSAgUHlEaWN0SXRlckl0ZW1fVHlwZT1weXRob24zMy5QeURpY3RJdGVySXRlbV9UeXBlIERBVEEKLSAgUHlEaWN0SXRlcktleV9UeXBlPXB5dGhvbjMzLlB5RGljdEl0ZXJLZXlfVHlwZSBEQVRBCi0gIFB5RGljdEl0ZXJWYWx1ZV9UeXBlPXB5dGhvbjMzLlB5RGljdEl0ZXJWYWx1ZV9UeXBlIERBVEEKLSAgUHlEaWN0S2V5c19UeXBlPXB5dGhvbjMzLlB5RGljdEtleXNfVHlwZSBEQVRBCi0gIFB5RGljdFByb3h5X05ldz1weXRob24zMy5QeURpY3RQcm94eV9OZXcKLSAgUHlEaWN0UHJveHlfVHlwZT1weXRob24zMy5QeURpY3RQcm94eV9UeXBlIERBVEEKLSAgUHlEaWN0VmFsdWVzX1R5cGU9cHl0aG9uMzMuUHlEaWN0VmFsdWVzX1R5cGUgREFUQQotICBQeURpY3RfQ2xlYXI9cHl0aG9uMzMuUHlEaWN0X0NsZWFyCi0gIFB5RGljdF9Db250YWlucz1weXRob24zMy5QeURpY3RfQ29udGFpbnMKLSAgUHlEaWN0X0NvcHk9cHl0aG9uMzMuUHlEaWN0X0NvcHkKLSAgUHlEaWN0X0RlbEl0ZW09cHl0aG9uMzMuUHlEaWN0X0RlbEl0ZW0KLSAgUHlEaWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzMuUHlEaWN0X0RlbEl0ZW1TdHJpbmcKLSAgUHlEaWN0X0dldEl0ZW09cHl0aG9uMzMuUHlEaWN0X0dldEl0ZW0KLSAgUHlEaWN0X0dldEl0ZW1TdHJpbmc9cHl0aG9uMzMuUHlEaWN0X0dldEl0ZW1TdHJpbmcKLSAgUHlEaWN0X0dldEl0ZW1XaXRoRXJyb3I9cHl0aG9uMzMuUHlEaWN0X0dldEl0ZW1XaXRoRXJyb3IKLSAgUHlEaWN0X0l0ZW1zPXB5dGhvbjMzLlB5RGljdF9JdGVtcwotICBQeURpY3RfS2V5cz1weXRob24zMy5QeURpY3RfS2V5cwotICBQeURpY3RfTWVyZ2U9cHl0aG9uMzMuUHlEaWN0X01lcmdlCi0gIFB5RGljdF9NZXJnZUZyb21TZXEyPXB5dGhvbjMzLlB5RGljdF9NZXJnZUZyb21TZXEyCi0gIFB5RGljdF9OZXc9cHl0aG9uMzMuUHlEaWN0X05ldwotICBQeURpY3RfTmV4dD1weXRob24zMy5QeURpY3RfTmV4dAotICBQeURpY3RfU2V0SXRlbT1weXRob24zMy5QeURpY3RfU2V0SXRlbQotICBQeURpY3RfU2V0SXRlbVN0cmluZz1weXRob24zMy5QeURpY3RfU2V0SXRlbVN0cmluZwotICBQeURpY3RfU2l6ZT1weXRob24zMy5QeURpY3RfU2l6ZQotICBQeURpY3RfVHlwZT1weXRob24zMy5QeURpY3RfVHlwZSBEQVRBCi0gIFB5RGljdF9VcGRhdGU9cHl0aG9uMzMuUHlEaWN0X1VwZGF0ZQotICBQeURpY3RfVmFsdWVzPXB5dGhvbjMzLlB5RGljdF9WYWx1ZXMKLSAgUHlFbGxpcHNpc19UeXBlPXB5dGhvbjMzLlB5RWxsaXBzaXNfVHlwZSBEQVRBCi0gIFB5RW51bV9UeXBlPXB5dGhvbjMzLlB5RW51bV9UeXBlIERBVEEKLSAgUHlFcnJfQmFkQXJndW1lbnQ9cHl0aG9uMzMuUHlFcnJfQmFkQXJndW1lbnQKLSAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsPXB5dGhvbjMzLlB5RXJyX0JhZEludGVybmFsQ2FsbAotICBQeUVycl9DaGVja1NpZ25hbHM9cHl0aG9uMzMuUHlFcnJfQ2hlY2tTaWduYWxzCi0gIFB5RXJyX0NsZWFyPXB5dGhvbjMzLlB5RXJyX0NsZWFyCi0gIFB5RXJyX0Rpc3BsYXk9cHl0aG9uMzMuUHlFcnJfRGlzcGxheQotICBQeUVycl9FeGNlcHRpb25NYXRjaGVzPXB5dGhvbjMzLlB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMKLSAgUHlFcnJfRmV0Y2g9cHl0aG9uMzMuUHlFcnJfRmV0Y2gKLSAgUHlFcnJfRm9ybWF0PXB5dGhvbjMzLlB5RXJyX0Zvcm1hdAotICBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzMuUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzCi0gIFB5RXJyX05ld0V4Y2VwdGlvbj1weXRob24zMy5QeUVycl9OZXdFeGNlcHRpb24KLSAgUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYz1weXRob24zMy5QeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jCi0gIFB5RXJyX05vTWVtb3J5PXB5dGhvbjMzLlB5RXJyX05vTWVtb3J5Ci0gIFB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbj1weXRob24zMy5QeUVycl9Ob3JtYWxpemVFeGNlcHRpb24KLSAgUHlFcnJfT2NjdXJyZWQ9cHl0aG9uMzMuUHlFcnJfT2NjdXJyZWQKLSAgUHlFcnJfUHJpbnQ9cHl0aG9uMzMuUHlFcnJfUHJpbnQKLSAgUHlFcnJfUHJpbnRFeD1weXRob24zMy5QeUVycl9QcmludEV4Ci0gIFB5RXJyX1Byb2dyYW1UZXh0PXB5dGhvbjMzLlB5RXJyX1Byb2dyYW1UZXh0Ci0gIFB5RXJyX1Jlc3RvcmU9cHl0aG9uMzMuUHlFcnJfUmVzdG9yZQotICBQeUVycl9TZXRGcm9tRXJybm89cHl0aG9uMzMuUHlFcnJfU2V0RnJvbUVycm5vCi0gIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZT1weXRob24zMy5QeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWUKLSAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0PXB5dGhvbjMzLlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdAotICBQeUVycl9TZXRJbnRlcnJ1cHQ9cHl0aG9uMzMuUHlFcnJfU2V0SW50ZXJydXB0Ci0gIFB5RXJyX1NldE5vbmU9cHl0aG9uMzMuUHlFcnJfU2V0Tm9uZQotICBQeUVycl9TZXRPYmplY3Q9cHl0aG9uMzMuUHlFcnJfU2V0T2JqZWN0Ci0gIFB5RXJyX1NldFN0cmluZz1weXRob24zMy5QeUVycl9TZXRTdHJpbmcKLSAgUHlFcnJfU3ludGF4TG9jYXRpb249cHl0aG9uMzMuUHlFcnJfU3ludGF4TG9jYXRpb24KLSAgUHlFcnJfV2FybkV4PXB5dGhvbjMzLlB5RXJyX1dhcm5FeAotICBQeUVycl9XYXJuRXhwbGljaXQ9cHl0aG9uMzMuUHlFcnJfV2FybkV4cGxpY2l0Ci0gIFB5RXJyX1dhcm5Gb3JtYXQ9cHl0aG9uMzMuUHlFcnJfV2FybkZvcm1hdAotICBQeUVycl9Xcml0ZVVucmFpc2FibGU9cHl0aG9uMzMuUHlFcnJfV3JpdGVVbnJhaXNhYmxlCi0gIFB5RXZhbF9BY3F1aXJlTG9jaz1weXRob24zMy5QeUV2YWxfQWNxdWlyZUxvY2sKLSAgUHlFdmFsX0FjcXVpcmVUaHJlYWQ9cHl0aG9uMzMuUHlFdmFsX0FjcXVpcmVUaHJlYWQKLSAgUHlFdmFsX0NhbGxGdW5jdGlvbj1weXRob24zMy5QeUV2YWxfQ2FsbEZ1bmN0aW9uCi0gIFB5RXZhbF9DYWxsTWV0aG9kPXB5dGhvbjMzLlB5RXZhbF9DYWxsTWV0aG9kCi0gIFB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzPXB5dGhvbjMzLlB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzCi0gIFB5RXZhbF9FdmFsQ29kZT1weXRob24zMy5QeUV2YWxfRXZhbENvZGUKLSAgUHlFdmFsX0V2YWxDb2RlRXg9cHl0aG9uMzMuUHlFdmFsX0V2YWxDb2RlRXgKLSAgUHlFdmFsX0V2YWxGcmFtZT1weXRob24zMy5QeUV2YWxfRXZhbEZyYW1lCi0gIFB5RXZhbF9FdmFsRnJhbWVFeD1weXRob24zMy5QeUV2YWxfRXZhbEZyYW1lRXgKLSAgUHlFdmFsX0dldEJ1aWx0aW5zPXB5dGhvbjMzLlB5RXZhbF9HZXRCdWlsdGlucwotICBQeUV2YWxfR2V0Q2FsbFN0YXRzPXB5dGhvbjMzLlB5RXZhbF9HZXRDYWxsU3RhdHMKLSAgUHlFdmFsX0dldEZyYW1lPXB5dGhvbjMzLlB5RXZhbF9HZXRGcmFtZQotICBQeUV2YWxfR2V0RnVuY0Rlc2M9cHl0aG9uMzMuUHlFdmFsX0dldEZ1bmNEZXNjCi0gIFB5RXZhbF9HZXRGdW5jTmFtZT1weXRob24zMy5QeUV2YWxfR2V0RnVuY05hbWUKLSAgUHlFdmFsX0dldEdsb2JhbHM9cHl0aG9uMzMuUHlFdmFsX0dldEdsb2JhbHMKLSAgUHlFdmFsX0dldExvY2Fscz1weXRob24zMy5QeUV2YWxfR2V0TG9jYWxzCi0gIFB5RXZhbF9Jbml0VGhyZWFkcz1weXRob24zMy5QeUV2YWxfSW5pdFRocmVhZHMKLSAgUHlFdmFsX1JlSW5pdFRocmVhZHM9cHl0aG9uMzMuUHlFdmFsX1JlSW5pdFRocmVhZHMKLSAgUHlFdmFsX1JlbGVhc2VMb2NrPXB5dGhvbjMzLlB5RXZhbF9SZWxlYXNlTG9jawotICBQeUV2YWxfUmVsZWFzZVRocmVhZD1weXRob24zMy5QeUV2YWxfUmVsZWFzZVRocmVhZAotICBQeUV2YWxfUmVzdG9yZVRocmVhZD1weXRob24zMy5QeUV2YWxfUmVzdG9yZVRocmVhZAotICBQeUV2YWxfU2F2ZVRocmVhZD1weXRob24zMy5QeUV2YWxfU2F2ZVRocmVhZAotICBQeUV2YWxfVGhyZWFkc0luaXRpYWxpemVkPXB5dGhvbjMzLlB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQKLSAgUHlFeGNfQXJpdGhtZXRpY0Vycm9yPXB5dGhvbjMzLlB5RXhjX0FyaXRobWV0aWNFcnJvciBEQVRBCi0gIFB5RXhjX0Fzc2VydGlvbkVycm9yPXB5dGhvbjMzLlB5RXhjX0Fzc2VydGlvbkVycm9yIERBVEEKLSAgUHlFeGNfQXR0cmlidXRlRXJyb3I9cHl0aG9uMzMuUHlFeGNfQXR0cmlidXRlRXJyb3IgREFUQQotICBQeUV4Y19CYXNlRXhjZXB0aW9uPXB5dGhvbjMzLlB5RXhjX0Jhc2VFeGNlcHRpb24gREFUQQotICBQeUV4Y19CdWZmZXJFcnJvcj1weXRob24zMy5QeUV4Y19CdWZmZXJFcnJvciBEQVRBCi0gIFB5RXhjX0J5dGVzV2FybmluZz1weXRob24zMy5QeUV4Y19CeXRlc1dhcm5pbmcgREFUQQotICBQeUV4Y19EZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzMuUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKLSAgUHlFeGNfRU9GRXJyb3I9cHl0aG9uMzMuUHlFeGNfRU9GRXJyb3IgREFUQQotICBQeUV4Y19FbnZpcm9ubWVudEVycm9yPXB5dGhvbjMzLlB5RXhjX0Vudmlyb25tZW50RXJyb3IgREFUQQotICBQeUV4Y19FeGNlcHRpb249cHl0aG9uMzMuUHlFeGNfRXhjZXB0aW9uIERBVEEKLSAgUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yPXB5dGhvbjMzLlB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvciBEQVRBCi0gIFB5RXhjX0Z1dHVyZVdhcm5pbmc9cHl0aG9uMzMuUHlFeGNfRnV0dXJlV2FybmluZyBEQVRBCi0gIFB5RXhjX0dlbmVyYXRvckV4aXQ9cHl0aG9uMzMuUHlFeGNfR2VuZXJhdG9yRXhpdCBEQVRBCi0gIFB5RXhjX0lPRXJyb3I9cHl0aG9uMzMuUHlFeGNfSU9FcnJvciBEQVRBCi0gIFB5RXhjX0ltcG9ydEVycm9yPXB5dGhvbjMzLlB5RXhjX0ltcG9ydEVycm9yIERBVEEKLSAgUHlFeGNfSW1wb3J0V2FybmluZz1weXRob24zMy5QeUV4Y19JbXBvcnRXYXJuaW5nIERBVEEKLSAgUHlFeGNfSW5kZW50YXRpb25FcnJvcj1weXRob24zMy5QeUV4Y19JbmRlbnRhdGlvbkVycm9yIERBVEEKLSAgUHlFeGNfSW5kZXhFcnJvcj1weXRob24zMy5QeUV4Y19JbmRleEVycm9yIERBVEEKLSAgUHlFeGNfS2V5RXJyb3I9cHl0aG9uMzMuUHlFeGNfS2V5RXJyb3IgREFUQQotICBQeUV4Y19LZXlib2FyZEludGVycnVwdD1weXRob24zMy5QeUV4Y19LZXlib2FyZEludGVycnVwdCBEQVRBCi0gIFB5RXhjX0xvb2t1cEVycm9yPXB5dGhvbjMzLlB5RXhjX0xvb2t1cEVycm9yIERBVEEKLSAgUHlFeGNfTWVtb3J5RXJyb3I9cHl0aG9uMzMuUHlFeGNfTWVtb3J5RXJyb3IgREFUQQotICBQeUV4Y19NZW1vcnlFcnJvckluc3Q9cHl0aG9uMzMuUHlFeGNfTWVtb3J5RXJyb3JJbnN0IERBVEEKLSAgUHlFeGNfTmFtZUVycm9yPXB5dGhvbjMzLlB5RXhjX05hbWVFcnJvciBEQVRBCi0gIFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3I9cHl0aG9uMzMuUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciBEQVRBCi0gIFB5RXhjX09TRXJyb3I9cHl0aG9uMzMuUHlFeGNfT1NFcnJvciBEQVRBCi0gIFB5RXhjX092ZXJmbG93RXJyb3I9cHl0aG9uMzMuUHlFeGNfT3ZlcmZsb3dFcnJvciBEQVRBCi0gIFB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzMuUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZyBEQVRBCi0gIFB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdD1weXRob24zMy5QeUV4Y19SZWN1cnNpb25FcnJvckluc3QgREFUQQotICBQeUV4Y19SZWZlcmVuY2VFcnJvcj1weXRob24zMy5QeUV4Y19SZWZlcmVuY2VFcnJvciBEQVRBCi0gIFB5RXhjX1J1bnRpbWVFcnJvcj1weXRob24zMy5QeUV4Y19SdW50aW1lRXJyb3IgREFUQQotICBQeUV4Y19SdW50aW1lV2FybmluZz1weXRob24zMy5QeUV4Y19SdW50aW1lV2FybmluZyBEQVRBCi0gIFB5RXhjX1N0b3BJdGVyYXRpb249cHl0aG9uMzMuUHlFeGNfU3RvcEl0ZXJhdGlvbiBEQVRBCi0gIFB5RXhjX1N5bnRheEVycm9yPXB5dGhvbjMzLlB5RXhjX1N5bnRheEVycm9yIERBVEEKLSAgUHlFeGNfU3ludGF4V2FybmluZz1weXRob24zMy5QeUV4Y19TeW50YXhXYXJuaW5nIERBVEEKLSAgUHlFeGNfU3lzdGVtRXJyb3I9cHl0aG9uMzMuUHlFeGNfU3lzdGVtRXJyb3IgREFUQQotICBQeUV4Y19TeXN0ZW1FeGl0PXB5dGhvbjMzLlB5RXhjX1N5c3RlbUV4aXQgREFUQQotICBQeUV4Y19UYWJFcnJvcj1weXRob24zMy5QeUV4Y19UYWJFcnJvciBEQVRBCi0gIFB5RXhjX1R5cGVFcnJvcj1weXRob24zMy5QeUV4Y19UeXBlRXJyb3IgREFUQQotICBQeUV4Y19VbmJvdW5kTG9jYWxFcnJvcj1weXRob24zMy5QeUV4Y19VbmJvdW5kTG9jYWxFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvcj1weXRob24zMy5QeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3I9cHl0aG9uMzMuUHlFeGNfVW5pY29kZUVuY29kZUVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZUVycm9yPXB5dGhvbjMzLlB5RXhjX1VuaWNvZGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcj1weXRob24zMy5QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlV2FybmluZz1weXRob24zMy5QeUV4Y19Vbmljb2RlV2FybmluZyBEQVRBCi0gIFB5RXhjX1VzZXJXYXJuaW5nPXB5dGhvbjMzLlB5RXhjX1VzZXJXYXJuaW5nIERBVEEKLSAgUHlFeGNfVmFsdWVFcnJvcj1weXRob24zMy5QeUV4Y19WYWx1ZUVycm9yIERBVEEKLSAgUHlFeGNfV2FybmluZz1weXRob24zMy5QeUV4Y19XYXJuaW5nIERBVEEKLSAgUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3I9cHl0aG9uMzMuUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IgREFUQQotICBQeUV4Y2VwdGlvbl9HZXRDYXVzZT1weXRob24zMy5QeUV4Y2VwdGlvbl9HZXRDYXVzZQotICBQeUV4Y2VwdGlvbl9HZXRDb250ZXh0PXB5dGhvbjMzLlB5RXhjZXB0aW9uX0dldENvbnRleHQKLSAgUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrPXB5dGhvbjMzLlB5RXhjZXB0aW9uX0dldFRyYWNlYmFjawotICBQeUV4Y2VwdGlvbl9TZXRDYXVzZT1weXRob24zMy5QeUV4Y2VwdGlvbl9TZXRDYXVzZQotICBQeUV4Y2VwdGlvbl9TZXRDb250ZXh0PXB5dGhvbjMzLlB5RXhjZXB0aW9uX1NldENvbnRleHQKLSAgUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrPXB5dGhvbjMzLlB5RXhjZXB0aW9uX1NldFRyYWNlYmFjawotICBQeUZpbGVfRnJvbUZkPXB5dGhvbjMzLlB5RmlsZV9Gcm9tRmQKLSAgUHlGaWxlX0dldExpbmU9cHl0aG9uMzMuUHlGaWxlX0dldExpbmUKLSAgUHlGaWxlX1dyaXRlT2JqZWN0PXB5dGhvbjMzLlB5RmlsZV9Xcml0ZU9iamVjdAotICBQeUZpbGVfV3JpdGVTdHJpbmc9cHl0aG9uMzMuUHlGaWxlX1dyaXRlU3RyaW5nCi0gIFB5RmlsdGVyX1R5cGU9cHl0aG9uMzMuUHlGaWx0ZXJfVHlwZSBEQVRBCi0gIFB5RmxvYXRfQXNEb3VibGU9cHl0aG9uMzMuUHlGbG9hdF9Bc0RvdWJsZQotICBQeUZsb2F0X0Zyb21Eb3VibGU9cHl0aG9uMzMuUHlGbG9hdF9Gcm9tRG91YmxlCi0gIFB5RmxvYXRfRnJvbVN0cmluZz1weXRob24zMy5QeUZsb2F0X0Zyb21TdHJpbmcKLSAgUHlGbG9hdF9HZXRJbmZvPXB5dGhvbjMzLlB5RmxvYXRfR2V0SW5mbwotICBQeUZsb2F0X0dldE1heD1weXRob24zMy5QeUZsb2F0X0dldE1heAotICBQeUZsb2F0X0dldE1pbj1weXRob24zMy5QeUZsb2F0X0dldE1pbgotICBQeUZsb2F0X1R5cGU9cHl0aG9uMzMuUHlGbG9hdF9UeXBlIERBVEEKLSAgUHlGcm96ZW5TZXRfTmV3PXB5dGhvbjMzLlB5RnJvemVuU2V0X05ldwotICBQeUZyb3plblNldF9UeXBlPXB5dGhvbjMzLlB5RnJvemVuU2V0X1R5cGUgREFUQQotICBQeUdDX0NvbGxlY3Q9cHl0aG9uMzMuUHlHQ19Db2xsZWN0Ci0gIFB5R0lMU3RhdGVfRW5zdXJlPXB5dGhvbjMzLlB5R0lMU3RhdGVfRW5zdXJlCi0gIFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlPXB5dGhvbjMzLlB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlCi0gIFB5R0lMU3RhdGVfUmVsZWFzZT1weXRob24zMy5QeUdJTFN0YXRlX1JlbGVhc2UKLSAgUHlHZXRTZXREZXNjcl9UeXBlPXB5dGhvbjMzLlB5R2V0U2V0RGVzY3JfVHlwZSBEQVRBCi0gIFB5SW1wb3J0X0FkZE1vZHVsZT1weXRob24zMy5QeUltcG9ydF9BZGRNb2R1bGUKLSAgUHlJbXBvcnRfQXBwZW5kSW5pdHRhYj1weXRob24zMy5QeUltcG9ydF9BcHBlbmRJbml0dGFiCi0gIFB5SW1wb3J0X0NsZWFudXA9cHl0aG9uMzMuUHlJbXBvcnRfQ2xlYW51cAotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZT1weXRob24zMy5QeUltcG9ydF9FeGVjQ29kZU1vZHVsZQotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4PXB5dGhvbjMzLlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgKLSAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzPXB5dGhvbjMzLlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcwotICBQeUltcG9ydF9HZXRJbXBvcnRlcj1weXRob24zMy5QeUltcG9ydF9HZXRJbXBvcnRlcgotICBQeUltcG9ydF9HZXRNYWdpY051bWJlcj1weXRob24zMy5QeUltcG9ydF9HZXRNYWdpY051bWJlcgotICBQeUltcG9ydF9HZXRNYWdpY1RhZz1weXRob24zMy5QeUltcG9ydF9HZXRNYWdpY1RhZwotICBQeUltcG9ydF9HZXRNb2R1bGVEaWN0PXB5dGhvbjMzLlB5SW1wb3J0X0dldE1vZHVsZURpY3QKLSAgUHlJbXBvcnRfSW1wb3J0PXB5dGhvbjMzLlB5SW1wb3J0X0ltcG9ydAotICBQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGU9cHl0aG9uMzMuUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlCi0gIFB5SW1wb3J0X0ltcG9ydE1vZHVsZT1weXRob24zMy5QeUltcG9ydF9JbXBvcnRNb2R1bGUKLSAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWw9cHl0aG9uMzMuUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwKLSAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaz1weXRob24zMy5QeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrCi0gIFB5SW1wb3J0X1JlbG9hZE1vZHVsZT1weXRob24zMy5QeUltcG9ydF9SZWxvYWRNb2R1bGUKLSAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyPXB5dGhvbjMzLlB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgotICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlPXB5dGhvbjMzLlB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUKLSAgUHlJbnRlcnByZXRlclN0YXRlX05ldz1weXRob24zMy5QeUludGVycHJldGVyU3RhdGVfTmV3Ci0gIFB5SXRlcl9OZXh0PXB5dGhvbjMzLlB5SXRlcl9OZXh0Ci0gIFB5TGlzdEl0ZXJfVHlwZT1weXRob24zMy5QeUxpc3RJdGVyX1R5cGUgREFUQQotICBQeUxpc3RSZXZJdGVyX1R5cGU9cHl0aG9uMzMuUHlMaXN0UmV2SXRlcl9UeXBlIERBVEEKLSAgUHlMaXN0X0FwcGVuZD1weXRob24zMy5QeUxpc3RfQXBwZW5kCi0gIFB5TGlzdF9Bc1R1cGxlPXB5dGhvbjMzLlB5TGlzdF9Bc1R1cGxlCi0gIFB5TGlzdF9HZXRJdGVtPXB5dGhvbjMzLlB5TGlzdF9HZXRJdGVtCi0gIFB5TGlzdF9HZXRTbGljZT1weXRob24zMy5QeUxpc3RfR2V0U2xpY2UKLSAgUHlMaXN0X0luc2VydD1weXRob24zMy5QeUxpc3RfSW5zZXJ0Ci0gIFB5TGlzdF9OZXc9cHl0aG9uMzMuUHlMaXN0X05ldwotICBQeUxpc3RfUmV2ZXJzZT1weXRob24zMy5QeUxpc3RfUmV2ZXJzZQotICBQeUxpc3RfU2V0SXRlbT1weXRob24zMy5QeUxpc3RfU2V0SXRlbQotICBQeUxpc3RfU2V0U2xpY2U9cHl0aG9uMzMuUHlMaXN0X1NldFNsaWNlCi0gIFB5TGlzdF9TaXplPXB5dGhvbjMzLlB5TGlzdF9TaXplCi0gIFB5TGlzdF9Tb3J0PXB5dGhvbjMzLlB5TGlzdF9Tb3J0Ci0gIFB5TGlzdF9UeXBlPXB5dGhvbjMzLlB5TGlzdF9UeXBlIERBVEEKLSAgUHlMb25nUmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzMuUHlMb25nUmFuZ2VJdGVyX1R5cGUgREFUQQotICBQeUxvbmdfQXNEb3VibGU9cHl0aG9uMzMuUHlMb25nX0FzRG91YmxlCi0gIFB5TG9uZ19Bc0xvbmc9cHl0aG9uMzMuUHlMb25nX0FzTG9uZwotICBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzMuUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93Ci0gIFB5TG9uZ19Bc0xvbmdMb25nPXB5dGhvbjMzLlB5TG9uZ19Bc0xvbmdMb25nCi0gIFB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzMuUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdwotICBQeUxvbmdfQXNTaXplX3Q9cHl0aG9uMzMuUHlMb25nX0FzU2l6ZV90Ci0gIFB5TG9uZ19Bc1NzaXplX3Q9cHl0aG9uMzMuUHlMb25nX0FzU3NpemVfdAotICBQeUxvbmdfQXNVbnNpZ25lZExvbmc9cHl0aG9uMzMuUHlMb25nX0FzVW5zaWduZWRMb25nCi0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzMuUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZwotICBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaz1weXRob24zMy5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzawotICBQeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrPXB5dGhvbjMzLlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2sKLSAgUHlMb25nX0FzVm9pZFB0cj1weXRob24zMy5QeUxvbmdfQXNWb2lkUHRyCi0gIFB5TG9uZ19Gcm9tRG91YmxlPXB5dGhvbjMzLlB5TG9uZ19Gcm9tRG91YmxlCi0gIFB5TG9uZ19Gcm9tTG9uZz1weXRob24zMy5QeUxvbmdfRnJvbUxvbmcKLSAgUHlMb25nX0Zyb21Mb25nTG9uZz1weXRob24zMy5QeUxvbmdfRnJvbUxvbmdMb25nCi0gIFB5TG9uZ19Gcm9tU2l6ZV90PXB5dGhvbjMzLlB5TG9uZ19Gcm9tU2l6ZV90Ci0gIFB5TG9uZ19Gcm9tU3NpemVfdD1weXRob24zMy5QeUxvbmdfRnJvbVNzaXplX3QKLSAgUHlMb25nX0Zyb21TdHJpbmc9cHl0aG9uMzMuUHlMb25nX0Zyb21TdHJpbmcKLSAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmc9cHl0aG9uMzMuUHlMb25nX0Zyb21VbnNpZ25lZExvbmcKLSAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nPXB5dGhvbjMzLlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZwotICBQeUxvbmdfRnJvbVZvaWRQdHI9cHl0aG9uMzMuUHlMb25nX0Zyb21Wb2lkUHRyCi0gIFB5TG9uZ19HZXRJbmZvPXB5dGhvbjMzLlB5TG9uZ19HZXRJbmZvCi0gIFB5TG9uZ19UeXBlPXB5dGhvbjMzLlB5TG9uZ19UeXBlIERBVEEKLSAgUHlNYXBfVHlwZT1weXRob24zMy5QeU1hcF9UeXBlIERBVEEKLSAgUHlNYXBwaW5nX0NoZWNrPXB5dGhvbjMzLlB5TWFwcGluZ19DaGVjawotICBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZz1weXRob24zMy5QeU1hcHBpbmdfR2V0SXRlbVN0cmluZwotICBQeU1hcHBpbmdfSGFzS2V5PXB5dGhvbjMzLlB5TWFwcGluZ19IYXNLZXkKLSAgUHlNYXBwaW5nX0hhc0tleVN0cmluZz1weXRob24zMy5QeU1hcHBpbmdfSGFzS2V5U3RyaW5nCi0gIFB5TWFwcGluZ19JdGVtcz1weXRob24zMy5QeU1hcHBpbmdfSXRlbXMKLSAgUHlNYXBwaW5nX0tleXM9cHl0aG9uMzMuUHlNYXBwaW5nX0tleXMKLSAgUHlNYXBwaW5nX0xlbmd0aD1weXRob24zMy5QeU1hcHBpbmdfTGVuZ3RoCi0gIFB5TWFwcGluZ19TZXRJdGVtU3RyaW5nPXB5dGhvbjMzLlB5TWFwcGluZ19TZXRJdGVtU3RyaW5nCi0gIFB5TWFwcGluZ19TaXplPXB5dGhvbjMzLlB5TWFwcGluZ19TaXplCi0gIFB5TWFwcGluZ19WYWx1ZXM9cHl0aG9uMzMuUHlNYXBwaW5nX1ZhbHVlcwotICBQeU1lbV9GcmVlPXB5dGhvbjMzLlB5TWVtX0ZyZWUKLSAgUHlNZW1fTWFsbG9jPXB5dGhvbjMzLlB5TWVtX01hbGxvYwotICBQeU1lbV9SZWFsbG9jPXB5dGhvbjMzLlB5TWVtX1JlYWxsb2MKLSAgUHlNZW1iZXJEZXNjcl9UeXBlPXB5dGhvbjMzLlB5TWVtYmVyRGVzY3JfVHlwZSBEQVRBCi0gIFB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0PXB5dGhvbjMzLlB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0Ci0gIFB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzPXB5dGhvbjMzLlB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzCi0gIFB5TWVtb3J5Vmlld19UeXBlPXB5dGhvbjMzLlB5TWVtb3J5Vmlld19UeXBlIERBVEEKLSAgUHlNZXRob2REZXNjcl9UeXBlPXB5dGhvbjMzLlB5TWV0aG9kRGVzY3JfVHlwZSBEQVRBCi0gIFB5TW9kdWxlX0FkZEludENvbnN0YW50PXB5dGhvbjMzLlB5TW9kdWxlX0FkZEludENvbnN0YW50Ci0gIFB5TW9kdWxlX0FkZE9iamVjdD1weXRob24zMy5QeU1vZHVsZV9BZGRPYmplY3QKLSAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQ9cHl0aG9uMzMuUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQKLSAgUHlNb2R1bGVfQ3JlYXRlMj1weXRob24zMy5QeU1vZHVsZV9DcmVhdGUyCi0gIFB5TW9kdWxlX0dldERlZj1weXRob24zMy5QeU1vZHVsZV9HZXREZWYKLSAgUHlNb2R1bGVfR2V0RGljdD1weXRob24zMy5QeU1vZHVsZV9HZXREaWN0Ci0gIFB5TW9kdWxlX0dldEZpbGVuYW1lPXB5dGhvbjMzLlB5TW9kdWxlX0dldEZpbGVuYW1lCi0gIFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0PXB5dGhvbjMzLlB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0Ci0gIFB5TW9kdWxlX0dldE5hbWU9cHl0aG9uMzMuUHlNb2R1bGVfR2V0TmFtZQotICBQeU1vZHVsZV9HZXRTdGF0ZT1weXRob24zMy5QeU1vZHVsZV9HZXRTdGF0ZQotICBQeU1vZHVsZV9OZXc9cHl0aG9uMzMuUHlNb2R1bGVfTmV3Ci0gIFB5TW9kdWxlX1R5cGU9cHl0aG9uMzMuUHlNb2R1bGVfVHlwZSBEQVRBCi0gIFB5TnVsbEltcG9ydGVyX1R5cGU9cHl0aG9uMzMuUHlOdWxsSW1wb3J0ZXJfVHlwZSBEQVRBCi0gIFB5TnVtYmVyX0Fic29sdXRlPXB5dGhvbjMzLlB5TnVtYmVyX0Fic29sdXRlCi0gIFB5TnVtYmVyX0FkZD1weXRob24zMy5QeU51bWJlcl9BZGQKLSAgUHlOdW1iZXJfQW5kPXB5dGhvbjMzLlB5TnVtYmVyX0FuZAotICBQeU51bWJlcl9Bc1NzaXplX3Q9cHl0aG9uMzMuUHlOdW1iZXJfQXNTc2l6ZV90Ci0gIFB5TnVtYmVyX0NoZWNrPXB5dGhvbjMzLlB5TnVtYmVyX0NoZWNrCi0gIFB5TnVtYmVyX0Rpdm1vZD1weXRob24zMy5QeU51bWJlcl9EaXZtb2QKLSAgUHlOdW1iZXJfRmxvYXQ9cHl0aG9uMzMuUHlOdW1iZXJfRmxvYXQKLSAgUHlOdW1iZXJfRmxvb3JEaXZpZGU9cHl0aG9uMzMuUHlOdW1iZXJfRmxvb3JEaXZpZGUKLSAgUHlOdW1iZXJfSW5QbGFjZUFkZD1weXRob24zMy5QeU51bWJlcl9JblBsYWNlQWRkCi0gIFB5TnVtYmVyX0luUGxhY2VBbmQ9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZUFuZAotICBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGU9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlCi0gIFB5TnVtYmVyX0luUGxhY2VMc2hpZnQ9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZUxzaGlmdAotICBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHk9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5Ci0gIFB5TnVtYmVyX0luUGxhY2VPcj1weXRob24zMy5QeU51bWJlcl9JblBsYWNlT3IKLSAgUHlOdW1iZXJfSW5QbGFjZVBvd2VyPXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VQb3dlcgotICBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyPXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIKLSAgUHlOdW1iZXJfSW5QbGFjZVJzaGlmdD1weXRob24zMy5QeU51bWJlcl9JblBsYWNlUnNoaWZ0Ci0gIFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdD1weXRob24zMy5QeU51bWJlcl9JblBsYWNlU3VidHJhY3QKLSAgUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGU9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGUKLSAgUHlOdW1iZXJfSW5QbGFjZVhvcj1weXRob24zMy5QeU51bWJlcl9JblBsYWNlWG9yCi0gIFB5TnVtYmVyX0luZGV4PXB5dGhvbjMzLlB5TnVtYmVyX0luZGV4Ci0gIFB5TnVtYmVyX0ludmVydD1weXRob24zMy5QeU51bWJlcl9JbnZlcnQKLSAgUHlOdW1iZXJfTG9uZz1weXRob24zMy5QeU51bWJlcl9Mb25nCi0gIFB5TnVtYmVyX0xzaGlmdD1weXRob24zMy5QeU51bWJlcl9Mc2hpZnQKLSAgUHlOdW1iZXJfTXVsdGlwbHk9cHl0aG9uMzMuUHlOdW1iZXJfTXVsdGlwbHkKLSAgUHlOdW1iZXJfTmVnYXRpdmU9cHl0aG9uMzMuUHlOdW1iZXJfTmVnYXRpdmUKLSAgUHlOdW1iZXJfT3I9cHl0aG9uMzMuUHlOdW1iZXJfT3IKLSAgUHlOdW1iZXJfUG9zaXRpdmU9cHl0aG9uMzMuUHlOdW1iZXJfUG9zaXRpdmUKLSAgUHlOdW1iZXJfUG93ZXI9cHl0aG9uMzMuUHlOdW1iZXJfUG93ZXIKLSAgUHlOdW1iZXJfUmVtYWluZGVyPXB5dGhvbjMzLlB5TnVtYmVyX1JlbWFpbmRlcgotICBQeU51bWJlcl9Sc2hpZnQ9cHl0aG9uMzMuUHlOdW1iZXJfUnNoaWZ0Ci0gIFB5TnVtYmVyX1N1YnRyYWN0PXB5dGhvbjMzLlB5TnVtYmVyX1N1YnRyYWN0Ci0gIFB5TnVtYmVyX1RvQmFzZT1weXRob24zMy5QeU51bWJlcl9Ub0Jhc2UKLSAgUHlOdW1iZXJfVHJ1ZURpdmlkZT1weXRob24zMy5QeU51bWJlcl9UcnVlRGl2aWRlCi0gIFB5TnVtYmVyX1hvcj1weXRob24zMy5QeU51bWJlcl9Yb3IKLSAgUHlPU19BZnRlckZvcms9cHl0aG9uMzMuUHlPU19BZnRlckZvcmsKLSAgUHlPU19Jbml0SW50ZXJydXB0cz1weXRob24zMy5QeU9TX0luaXRJbnRlcnJ1cHRzCi0gIFB5T1NfSW5wdXRIb29rPXB5dGhvbjMzLlB5T1NfSW5wdXRIb29rIERBVEEKLSAgUHlPU19JbnRlcnJ1cHRPY2N1cnJlZD1weXRob24zMy5QeU9TX0ludGVycnVwdE9jY3VycmVkCi0gIFB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXI9cHl0aG9uMzMuUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlciBEQVRBCi0gIFB5T1NfZG91YmxlX3RvX3N0cmluZz1weXRob24zMy5QeU9TX2RvdWJsZV90b19zdHJpbmcKLSAgUHlPU19nZXRzaWc9cHl0aG9uMzMuUHlPU19nZXRzaWcKLSAgUHlPU19teXN0cmljbXA9cHl0aG9uMzMuUHlPU19teXN0cmljbXAKLSAgUHlPU19teXN0cm5pY21wPXB5dGhvbjMzLlB5T1NfbXlzdHJuaWNtcAotICBQeU9TX3NldHNpZz1weXRob24zMy5QeU9TX3NldHNpZwotICBQeU9TX3NucHJpbnRmPXB5dGhvbjMzLlB5T1Nfc25wcmludGYKLSAgUHlPU19zdHJpbmdfdG9fZG91YmxlPXB5dGhvbjMzLlB5T1Nfc3RyaW5nX3RvX2RvdWJsZQotICBQeU9TX3N0cnRvbD1weXRob24zMy5QeU9TX3N0cnRvbAotICBQeU9TX3N0cnRvdWw9cHl0aG9uMzMuUHlPU19zdHJ0b3VsCi0gIFB5T1NfdnNucHJpbnRmPXB5dGhvbjMzLlB5T1NfdnNucHJpbnRmCi0gIFB5T2JqZWN0X0FTQ0lJPXB5dGhvbjMzLlB5T2JqZWN0X0FTQ0lJCi0gIFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcj1weXRob24zMy5QeU9iamVjdF9Bc0NoYXJCdWZmZXIKLSAgUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcj1weXRob24zMy5QeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yCi0gIFB5T2JqZWN0X0FzUmVhZEJ1ZmZlcj1weXRob24zMy5QeU9iamVjdF9Bc1JlYWRCdWZmZXIKLSAgUHlPYmplY3RfQXNXcml0ZUJ1ZmZlcj1weXRob24zMy5QeU9iamVjdF9Bc1dyaXRlQnVmZmVyCi0gIFB5T2JqZWN0X0J5dGVzPXB5dGhvbjMzLlB5T2JqZWN0X0J5dGVzCi0gIFB5T2JqZWN0X0NhbGw9cHl0aG9uMzMuUHlPYmplY3RfQ2FsbAotICBQeU9iamVjdF9DYWxsRnVuY3Rpb249cHl0aG9uMzMuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uCi0gIFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3M9cHl0aG9uMzMuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncwotICBQeU9iamVjdF9DYWxsTWV0aG9kPXB5dGhvbjMzLlB5T2JqZWN0X0NhbGxNZXRob2QKLSAgUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3M9cHl0aG9uMzMuUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3MKLSAgUHlPYmplY3RfQ2FsbE9iamVjdD1weXRob24zMy5QeU9iamVjdF9DYWxsT2JqZWN0Ci0gIFB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcj1weXRob24zMy5QeU9iamVjdF9DaGVja1JlYWRCdWZmZXIKLSAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcz1weXRob24zMy5QeU9iamVjdF9DbGVhcldlYWtSZWZzCi0gIFB5T2JqZWN0X0RlbEl0ZW09cHl0aG9uMzMuUHlPYmplY3RfRGVsSXRlbQotICBQeU9iamVjdF9EZWxJdGVtU3RyaW5nPXB5dGhvbjMzLlB5T2JqZWN0X0RlbEl0ZW1TdHJpbmcKLSAgUHlPYmplY3RfRGlyPXB5dGhvbjMzLlB5T2JqZWN0X0RpcgotICBQeU9iamVjdF9Gb3JtYXQ9cHl0aG9uMzMuUHlPYmplY3RfRm9ybWF0Ci0gIFB5T2JqZWN0X0ZyZWU9cHl0aG9uMzMuUHlPYmplY3RfRnJlZQotICBQeU9iamVjdF9HQ19EZWw9cHl0aG9uMzMuUHlPYmplY3RfR0NfRGVsCi0gIFB5T2JqZWN0X0dDX1RyYWNrPXB5dGhvbjMzLlB5T2JqZWN0X0dDX1RyYWNrCi0gIFB5T2JqZWN0X0dDX1VuVHJhY2s9cHl0aG9uMzMuUHlPYmplY3RfR0NfVW5UcmFjawotICBQeU9iamVjdF9HZW5lcmljR2V0QXR0cj1weXRob24zMy5QeU9iamVjdF9HZW5lcmljR2V0QXR0cgotICBQeU9iamVjdF9HZW5lcmljU2V0QXR0cj1weXRob24zMy5QeU9iamVjdF9HZW5lcmljU2V0QXR0cgotICBQeU9iamVjdF9HZXRBdHRyPXB5dGhvbjMzLlB5T2JqZWN0X0dldEF0dHIKLSAgUHlPYmplY3RfR2V0QXR0clN0cmluZz1weXRob24zMy5QeU9iamVjdF9HZXRBdHRyU3RyaW5nCi0gIFB5T2JqZWN0X0dldEl0ZW09cHl0aG9uMzMuUHlPYmplY3RfR2V0SXRlbQotICBQeU9iamVjdF9HZXRJdGVyPXB5dGhvbjMzLlB5T2JqZWN0X0dldEl0ZXIKLSAgUHlPYmplY3RfSGFzQXR0cj1weXRob24zMy5QeU9iamVjdF9IYXNBdHRyCi0gIFB5T2JqZWN0X0hhc0F0dHJTdHJpbmc9cHl0aG9uMzMuUHlPYmplY3RfSGFzQXR0clN0cmluZwotICBQeU9iamVjdF9IYXNoPXB5dGhvbjMzLlB5T2JqZWN0X0hhc2gKLSAgUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkPXB5dGhvbjMzLlB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZAotICBQeU9iamVjdF9Jbml0PXB5dGhvbjMzLlB5T2JqZWN0X0luaXQKLSAgUHlPYmplY3RfSW5pdFZhcj1weXRob24zMy5QeU9iamVjdF9Jbml0VmFyCi0gIFB5T2JqZWN0X0lzSW5zdGFuY2U9cHl0aG9uMzMuUHlPYmplY3RfSXNJbnN0YW5jZQotICBQeU9iamVjdF9Jc1N1YmNsYXNzPXB5dGhvbjMzLlB5T2JqZWN0X0lzU3ViY2xhc3MKLSAgUHlPYmplY3RfSXNUcnVlPXB5dGhvbjMzLlB5T2JqZWN0X0lzVHJ1ZQotICBQeU9iamVjdF9MZW5ndGg9cHl0aG9uMzMuUHlPYmplY3RfTGVuZ3RoCi0gIFB5T2JqZWN0X01hbGxvYz1weXRob24zMy5QeU9iamVjdF9NYWxsb2MKLSAgUHlPYmplY3RfTm90PXB5dGhvbjMzLlB5T2JqZWN0X05vdAotICBQeU9iamVjdF9SZWFsbG9jPXB5dGhvbjMzLlB5T2JqZWN0X1JlYWxsb2MKLSAgUHlPYmplY3RfUmVwcj1weXRob24zMy5QeU9iamVjdF9SZXByCi0gIFB5T2JqZWN0X1JpY2hDb21wYXJlPXB5dGhvbjMzLlB5T2JqZWN0X1JpY2hDb21wYXJlCi0gIFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbD1weXRob24zMy5QeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wKLSAgUHlPYmplY3RfU2VsZkl0ZXI9cHl0aG9uMzMuUHlPYmplY3RfU2VsZkl0ZXIKLSAgUHlPYmplY3RfU2V0QXR0cj1weXRob24zMy5QeU9iamVjdF9TZXRBdHRyCi0gIFB5T2JqZWN0X1NldEF0dHJTdHJpbmc9cHl0aG9uMzMuUHlPYmplY3RfU2V0QXR0clN0cmluZwotICBQeU9iamVjdF9TZXRJdGVtPXB5dGhvbjMzLlB5T2JqZWN0X1NldEl0ZW0KLSAgUHlPYmplY3RfU2l6ZT1weXRob24zMy5QeU9iamVjdF9TaXplCi0gIFB5T2JqZWN0X1N0cj1weXRob24zMy5QeU9iamVjdF9TdHIKLSAgUHlPYmplY3RfVHlwZT1weXRob24zMy5QeU9iamVjdF9UeXBlIERBVEEKLSAgUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3M9cHl0aG9uMzMuUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3MKLSAgUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncz1weXRob24zMy5QeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzCi0gIFB5UHJvcGVydHlfVHlwZT1weXRob24zMy5QeVByb3BlcnR5X1R5cGUgREFUQQotICBQeVJhbmdlSXRlcl9UeXBlPXB5dGhvbjMzLlB5UmFuZ2VJdGVyX1R5cGUgREFUQQotICBQeVJhbmdlX1R5cGU9cHl0aG9uMzMuUHlSYW5nZV9UeXBlIERBVEEKLSAgUHlSZXZlcnNlZF9UeXBlPXB5dGhvbjMzLlB5UmV2ZXJzZWRfVHlwZSBEQVRBCi0gIFB5U2VxSXRlcl9OZXc9cHl0aG9uMzMuUHlTZXFJdGVyX05ldwotICBQeVNlcUl0ZXJfVHlwZT1weXRob24zMy5QeVNlcUl0ZXJfVHlwZSBEQVRBCi0gIFB5U2VxdWVuY2VfQ2hlY2s9cHl0aG9uMzMuUHlTZXF1ZW5jZV9DaGVjawotICBQeVNlcXVlbmNlX0NvbmNhdD1weXRob24zMy5QeVNlcXVlbmNlX0NvbmNhdAotICBQeVNlcXVlbmNlX0NvbnRhaW5zPXB5dGhvbjMzLlB5U2VxdWVuY2VfQ29udGFpbnMKLSAgUHlTZXF1ZW5jZV9Db3VudD1weXRob24zMy5QeVNlcXVlbmNlX0NvdW50Ci0gIFB5U2VxdWVuY2VfRGVsSXRlbT1weXRob24zMy5QeVNlcXVlbmNlX0RlbEl0ZW0KLSAgUHlTZXF1ZW5jZV9EZWxTbGljZT1weXRob24zMy5QeVNlcXVlbmNlX0RlbFNsaWNlCi0gIFB5U2VxdWVuY2VfRmFzdD1weXRob24zMy5QeVNlcXVlbmNlX0Zhc3QKLSAgUHlTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjMzLlB5U2VxdWVuY2VfR2V0SXRlbQotICBQeVNlcXVlbmNlX0dldFNsaWNlPXB5dGhvbjMzLlB5U2VxdWVuY2VfR2V0U2xpY2UKLSAgUHlTZXF1ZW5jZV9Jbj1weXRob24zMy5QeVNlcXVlbmNlX0luCi0gIFB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdD1weXRob24zMy5QeVNlcXVlbmNlX0luUGxhY2VDb25jYXQKLSAgUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0PXB5dGhvbjMzLlB5U2VxdWVuY2VfSW5QbGFjZVJlcGVhdAotICBQeVNlcXVlbmNlX0luZGV4PXB5dGhvbjMzLlB5U2VxdWVuY2VfSW5kZXgKLSAgUHlTZXF1ZW5jZV9MZW5ndGg9cHl0aG9uMzMuUHlTZXF1ZW5jZV9MZW5ndGgKLSAgUHlTZXF1ZW5jZV9MaXN0PXB5dGhvbjMzLlB5U2VxdWVuY2VfTGlzdAotICBQeVNlcXVlbmNlX1JlcGVhdD1weXRob24zMy5QeVNlcXVlbmNlX1JlcGVhdAotICBQeVNlcXVlbmNlX1NldEl0ZW09cHl0aG9uMzMuUHlTZXF1ZW5jZV9TZXRJdGVtCi0gIFB5U2VxdWVuY2VfU2V0U2xpY2U9cHl0aG9uMzMuUHlTZXF1ZW5jZV9TZXRTbGljZQotICBQeVNlcXVlbmNlX1NpemU9cHl0aG9uMzMuUHlTZXF1ZW5jZV9TaXplCi0gIFB5U2VxdWVuY2VfVHVwbGU9cHl0aG9uMzMuUHlTZXF1ZW5jZV9UdXBsZQotICBQeVNldEl0ZXJfVHlwZT1weXRob24zMy5QeVNldEl0ZXJfVHlwZSBEQVRBCi0gIFB5U2V0X0FkZD1weXRob24zMy5QeVNldF9BZGQKLSAgUHlTZXRfQ2xlYXI9cHl0aG9uMzMuUHlTZXRfQ2xlYXIKLSAgUHlTZXRfQ29udGFpbnM9cHl0aG9uMzMuUHlTZXRfQ29udGFpbnMKLSAgUHlTZXRfRGlzY2FyZD1weXRob24zMy5QeVNldF9EaXNjYXJkCi0gIFB5U2V0X05ldz1weXRob24zMy5QeVNldF9OZXcKLSAgUHlTZXRfUG9wPXB5dGhvbjMzLlB5U2V0X1BvcAotICBQeVNldF9TaXplPXB5dGhvbjMzLlB5U2V0X1NpemUKLSAgUHlTZXRfVHlwZT1weXRob24zMy5QeVNldF9UeXBlIERBVEEKLSAgUHlTbGljZV9HZXRJbmRpY2VzPXB5dGhvbjMzLlB5U2xpY2VfR2V0SW5kaWNlcwotICBQeVNsaWNlX0dldEluZGljZXNFeD1weXRob24zMy5QeVNsaWNlX0dldEluZGljZXNFeAotICBQeVNsaWNlX05ldz1weXRob24zMy5QeVNsaWNlX05ldwotICBQeVNsaWNlX1R5cGU9cHl0aG9uMzMuUHlTbGljZV9UeXBlIERBVEEKLSAgUHlTb3J0V3JhcHBlcl9UeXBlPXB5dGhvbjMzLlB5U29ydFdyYXBwZXJfVHlwZSBEQVRBCi0gIFB5U3RhdGVfRmluZE1vZHVsZT1weXRob24zMy5QeVN0YXRlX0ZpbmRNb2R1bGUKLSAgUHlTdGF0ZV9BZGRNb2R1bGU9cHl0aG9uMzMuUHlTdGF0ZV9BZGRNb2R1bGUKLSAgUHlTdGF0ZV9SZW1vdmVNb2R1bGU9cHl0aG9uMzMuUHlTdGF0ZV9SZW1vdmVNb2R1bGUKLSAgUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjMzLlB5U3RydWN0U2VxdWVuY2VfR2V0SXRlbQotICBQeVN0cnVjdFNlcXVlbmNlX05ldz1weXRob24zMy5QeVN0cnVjdFNlcXVlbmNlX05ldwotICBQeVN0cnVjdFNlcXVlbmNlX05ld1R5cGU9cHl0aG9uMzMuUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlCi0gIFB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbT1weXRob24zMy5QeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW0KLSAgUHlTdXBlcl9UeXBlPXB5dGhvbjMzLlB5U3VwZXJfVHlwZSBEQVRBCi0gIFB5U3lzX0FkZFdhcm5PcHRpb249cHl0aG9uMzMuUHlTeXNfQWRkV2Fybk9wdGlvbgotICBQeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZT1weXRob24zMy5QeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZQotICBQeVN5c19Gb3JtYXRTdGRlcnI9cHl0aG9uMzMuUHlTeXNfRm9ybWF0U3RkZXJyCi0gIFB5U3lzX0Zvcm1hdFN0ZG91dD1weXRob24zMy5QeVN5c19Gb3JtYXRTdGRvdXQKLSAgUHlTeXNfR2V0T2JqZWN0PXB5dGhvbjMzLlB5U3lzX0dldE9iamVjdAotICBQeVN5c19IYXNXYXJuT3B0aW9ucz1weXRob24zMy5QeVN5c19IYXNXYXJuT3B0aW9ucwotICBQeVN5c19SZXNldFdhcm5PcHRpb25zPXB5dGhvbjMzLlB5U3lzX1Jlc2V0V2Fybk9wdGlvbnMKLSAgUHlTeXNfU2V0QXJndj1weXRob24zMy5QeVN5c19TZXRBcmd2Ci0gIFB5U3lzX1NldEFyZ3ZFeD1weXRob24zMy5QeVN5c19TZXRBcmd2RXgKLSAgUHlTeXNfU2V0T2JqZWN0PXB5dGhvbjMzLlB5U3lzX1NldE9iamVjdAotICBQeVN5c19TZXRQYXRoPXB5dGhvbjMzLlB5U3lzX1NldFBhdGgKLSAgUHlTeXNfV3JpdGVTdGRlcnI9cHl0aG9uMzMuUHlTeXNfV3JpdGVTdGRlcnIKLSAgUHlTeXNfV3JpdGVTdGRvdXQ9cHl0aG9uMzMuUHlTeXNfV3JpdGVTdGRvdXQKLSAgUHlUaHJlYWRTdGF0ZV9DbGVhcj1weXRob24zMy5QeVRocmVhZFN0YXRlX0NsZWFyCi0gIFB5VGhyZWFkU3RhdGVfRGVsZXRlPXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfRGVsZXRlCi0gIFB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudD1weXRob24zMy5QeVRocmVhZFN0YXRlX0RlbGV0ZUN1cnJlbnQKLSAgUHlUaHJlYWRTdGF0ZV9HZXQ9cHl0aG9uMzMuUHlUaHJlYWRTdGF0ZV9HZXQKLSAgUHlUaHJlYWRTdGF0ZV9HZXREaWN0PXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfR2V0RGljdAotICBQeVRocmVhZFN0YXRlX05ldz1weXRob24zMy5QeVRocmVhZFN0YXRlX05ldwotICBQeVRocmVhZFN0YXRlX1NldEFzeW5jRXhjPXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGMKLSAgUHlUaHJlYWRTdGF0ZV9Td2FwPXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfU3dhcAotICBQeVRyYWNlQmFja19IZXJlPXB5dGhvbjMzLlB5VHJhY2VCYWNrX0hlcmUKLSAgUHlUcmFjZUJhY2tfUHJpbnQ9cHl0aG9uMzMuUHlUcmFjZUJhY2tfUHJpbnQKLSAgUHlUcmFjZUJhY2tfVHlwZT1weXRob24zMy5QeVRyYWNlQmFja19UeXBlIERBVEEKLSAgUHlUdXBsZUl0ZXJfVHlwZT1weXRob24zMy5QeVR1cGxlSXRlcl9UeXBlIERBVEEKLSAgUHlUdXBsZV9DbGVhckZyZWVMaXN0PXB5dGhvbjMzLlB5VHVwbGVfQ2xlYXJGcmVlTGlzdAotICBQeVR1cGxlX0dldEl0ZW09cHl0aG9uMzMuUHlUdXBsZV9HZXRJdGVtCi0gIFB5VHVwbGVfR2V0U2xpY2U9cHl0aG9uMzMuUHlUdXBsZV9HZXRTbGljZQotICBQeVR1cGxlX05ldz1weXRob24zMy5QeVR1cGxlX05ldwotICBQeVR1cGxlX1BhY2s9cHl0aG9uMzMuUHlUdXBsZV9QYWNrCi0gIFB5VHVwbGVfU2V0SXRlbT1weXRob24zMy5QeVR1cGxlX1NldEl0ZW0KLSAgUHlUdXBsZV9TaXplPXB5dGhvbjMzLlB5VHVwbGVfU2l6ZQotICBQeVR1cGxlX1R5cGU9cHl0aG9uMzMuUHlUdXBsZV9UeXBlIERBVEEKLSAgUHlUeXBlX0NsZWFyQ2FjaGU9cHl0aG9uMzMuUHlUeXBlX0NsZWFyQ2FjaGUKLSAgUHlUeXBlX0Zyb21TcGVjPXB5dGhvbjMzLlB5VHlwZV9Gcm9tU3BlYwotICBQeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXM9cHl0aG9uMzMuUHlUeXBlX0Zyb21TcGVjV2l0aEJhc2VzCi0gIFB5VHlwZV9HZW5lcmljQWxsb2M9cHl0aG9uMzMuUHlUeXBlX0dlbmVyaWNBbGxvYwotICBQeVR5cGVfR2VuZXJpY05ldz1weXRob24zMy5QeVR5cGVfR2VuZXJpY05ldwotICBQeVR5cGVfR2V0RmxhZ3M9cHl0aG9uMzMuUHlUeXBlX0dldEZsYWdzCi0gIFB5VHlwZV9Jc1N1YnR5cGU9cHl0aG9uMzMuUHlUeXBlX0lzU3VidHlwZQotICBQeVR5cGVfTW9kaWZpZWQ9cHl0aG9uMzMuUHlUeXBlX01vZGlmaWVkCi0gIFB5VHlwZV9SZWFkeT1weXRob24zMy5QeVR5cGVfUmVhZHkKLSAgUHlUeXBlX1R5cGU9cHl0aG9uMzMuUHlUeXBlX1R5cGUgREFUQQotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGU9cHl0aG9uMzMuUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZD1weXRob24zMy5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzMuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0Ci0gIFB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZD1weXRob24zMy5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRFbmQKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX1NldFJlYXNvbgotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zMy5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZz1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZwotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzMuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdD1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjMzLlB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbgotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydD1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzMuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbj1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRSZWFzb24KLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzMuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQKLSAgUHlVbmljb2RlSXRlcl9UeXBlPXB5dGhvbjMzLlB5VW5pY29kZUl0ZXJfVHlwZSBEQVRBCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZD1weXRob24zMy5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjMzLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzMuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0PXB5dGhvbjMzLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0Ci0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZD1weXRob24zMy5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRFbmQKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjMzLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFJlYXNvbgotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydD1weXRob24zMy5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydAotICBQeVVuaWNvZGVfQXBwZW5kPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXBwZW5kCi0gIFB5VW5pY29kZV9BcHBlbmRBbmREZWw9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9BcHBlbmRBbmREZWwKLSAgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Bc0FTQ0lJU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Bc0NoYXJtYXBTdHJpbmcKLSAgUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzRGVjb2RlZE9iamVjdAotICBQeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzRGVjb2RlZFVuaWNvZGUKLSAgUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzRW5jb2RlZE9iamVjdAotICBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNFbmNvZGVkU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNFbmNvZGVkVW5pY29kZQotICBQeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Bc0xhdGluMVN0cmluZwotICBQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjE2U3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNVVEYxNlN0cmluZwotICBQeVVuaWNvZGVfQXNVVEYzMlN0cmluZz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzVVRGMzJTdHJpbmcKLSAgUHlVbmljb2RlX0FzVVRGOFN0cmluZz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzVVRGOFN0cmluZwotICBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNVbmljb2RlRXNjYXBlU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1dpZGVDaGFyPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNXaWRlQ2hhcgotICBQeVVuaWNvZGVfQ2xlYXJGcmVlbGlzdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0NsZWFyRnJlZWxpc3QKLSAgUHlVbmljb2RlX0NvbXBhcmU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Db21wYXJlCi0gIFB5VW5pY29kZV9Db25jYXQ9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Db25jYXQKLSAgUHlVbmljb2RlX0NvbnRhaW5zPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQ29udGFpbnMKLSAgUHlVbmljb2RlX0NvdW50PXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQ291bnQKLSAgUHlVbmljb2RlX0RlY29kZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZQotICBQeVVuaWNvZGVfRGVjb2RlQVNDSUk9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9EZWNvZGVBU0NJSQotICBQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUNoYXJtYXAKLSAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUZTRGVmYXVsdAotICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUZTRGVmYXVsdEFuZFNpemUKLSAgUHlVbmljb2RlX0RlY29kZUxhdGluMT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUxhdGluMQotICBQeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUKLSAgUHlVbmljb2RlX0RlY29kZVVURjE2PXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMTYKLSAgUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWw9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEYxNlN0YXRlZnVsCi0gIFB5VW5pY29kZV9EZWNvZGVVVEYzMj1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjMyCi0gIFB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMzJTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVVRGOD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjgKLSAgUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjhTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVuaWNvZGVFc2NhcGUKLSAgUHlVbmljb2RlX0ZTQ29udmVydGVyPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRlNDb252ZXJ0ZXIKLSAgUHlVbmljb2RlX0ZTRGVjb2Rlcj1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0ZTRGVjb2RlcgotICBQeVVuaWNvZGVfRmluZD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0ZpbmQKLSAgUHlVbmljb2RlX0Zvcm1hdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0Zvcm1hdAotICBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Q9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Gcm9tRW5jb2RlZE9iamVjdAotICBQeVVuaWNvZGVfRnJvbUZvcm1hdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0Zyb21Gb3JtYXQKLSAgUHlVbmljb2RlX0Zyb21Gb3JtYXRWPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRnJvbUZvcm1hdFYKLSAgUHlVbmljb2RlX0Zyb21PYmplY3Q9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Gcm9tT2JqZWN0Ci0gIFB5VW5pY29kZV9Gcm9tT3JkaW5hbD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0Zyb21PcmRpbmFsCi0gIFB5VW5pY29kZV9Gcm9tU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRnJvbVN0cmluZwotICBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Gcm9tU3RyaW5nQW5kU2l6ZQotICBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRnJvbVdpZGVDaGFyCi0gIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9HZXREZWZhdWx0RW5jb2RpbmcKLSAgUHlVbmljb2RlX0dldFNpemU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9HZXRTaXplCi0gIFB5VW5pY29kZV9Jc0lkZW50aWZpZXI9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Jc0lkZW50aWZpZXIKLSAgUHlVbmljb2RlX0pvaW49cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Kb2luCi0gIFB5VW5pY29kZV9QYXJ0aXRpb249cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9QYXJ0aXRpb24KLSAgUHlVbmljb2RlX1JQYXJ0aXRpb249cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SUGFydGl0aW9uCi0gIFB5VW5pY29kZV9SU3BsaXQ9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SU3BsaXQKLSAgUHlVbmljb2RlX1JlcGxhY2U9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SZXBsYWNlCi0gIFB5VW5pY29kZV9SZXNpemU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SZXNpemUKLSAgUHlVbmljb2RlX1JpY2hDb21wYXJlPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfUmljaENvbXBhcmUKLSAgUHlVbmljb2RlX1NldERlZmF1bHRFbmNvZGluZz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX1NldERlZmF1bHRFbmNvZGluZwotICBQeVVuaWNvZGVfU3BsaXQ9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9TcGxpdAotICBQeVVuaWNvZGVfU3BsaXRsaW5lcz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX1NwbGl0bGluZXMKLSAgUHlVbmljb2RlX1RhaWxtYXRjaD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX1RhaWxtYXRjaAotICBQeVVuaWNvZGVfVHJhbnNsYXRlPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfVHJhbnNsYXRlCi0gIFB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwPXB5dGhvbjMzLlB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwCi0gIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nCi0gIFB5VW5pY29kZV9EZWNvZGVVVEY3PXB5dGhvbjMzLlB5VW5pY29kZV9EZWNvZGVVVEY3Ci0gIFB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWw9cHl0aG9uMzMuUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0PXB5dGhvbjMzLlB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQKLSAgUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcKLSAgUHlVbmljb2RlX0ludGVybkltbW9ydGFsPXB5dGhvbjMzLlB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbAotICBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZT1weXRob24zMy5QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQotICBQeVVuaWNvZGVfVHlwZT1weXRob24zMy5QeVVuaWNvZGVfVHlwZSBEQVRBCi0gIFB5V2Vha3JlZl9HZXRPYmplY3Q9cHl0aG9uMzMuUHlXZWFrcmVmX0dldE9iamVjdCBEQVRBCi0gIFB5V2Vha3JlZl9OZXdQcm94eT1weXRob24zMy5QeVdlYWtyZWZfTmV3UHJveHkKLSAgUHlXZWFrcmVmX05ld1JlZj1weXRob24zMy5QeVdlYWtyZWZfTmV3UmVmCi0gIFB5V3JhcHBlckRlc2NyX1R5cGU9cHl0aG9uMzMuUHlXcmFwcGVyRGVzY3JfVHlwZSBEQVRBCi0gIFB5V3JhcHBlcl9OZXc9cHl0aG9uMzMuUHlXcmFwcGVyX05ldwotICBQeVppcF9UeXBlPXB5dGhvbjMzLlB5WmlwX1R5cGUgREFUQQotICBQeV9BZGRQZW5kaW5nQ2FsbD1weXRob24zMy5QeV9BZGRQZW5kaW5nQ2FsbAotICBQeV9BdEV4aXQ9cHl0aG9uMzMuUHlfQXRFeGl0Ci0gIFB5X0J1aWxkVmFsdWU9cHl0aG9uMzMuUHlfQnVpbGRWYWx1ZQotICBQeV9Db21waWxlU3RyaW5nPXB5dGhvbjMzLlB5X0NvbXBpbGVTdHJpbmcKLSAgUHlfRGVjUmVmPXB5dGhvbjMzLlB5X0RlY1JlZgotICBQeV9FbmRJbnRlcnByZXRlcj1weXRob24zMy5QeV9FbmRJbnRlcnByZXRlcgotICBQeV9FeGl0PXB5dGhvbjMzLlB5X0V4aXQKLSAgUHlfRmF0YWxFcnJvcj1weXRob24zMy5QeV9GYXRhbEVycm9yCi0gIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzMuUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCi0gIFB5X0ZpbmFsaXplPXB5dGhvbjMzLlB5X0ZpbmFsaXplCi0gIFB5X0dldEJ1aWxkSW5mbz1weXRob24zMy5QeV9HZXRCdWlsZEluZm8KLSAgUHlfR2V0Q29tcGlsZXI9cHl0aG9uMzMuUHlfR2V0Q29tcGlsZXIKLSAgUHlfR2V0Q29weXJpZ2h0PXB5dGhvbjMzLlB5X0dldENvcHlyaWdodAotICBQeV9HZXRFeGVjUHJlZml4PXB5dGhvbjMzLlB5X0dldEV4ZWNQcmVmaXgKLSAgUHlfR2V0UGF0aD1weXRob24zMy5QeV9HZXRQYXRoCi0gIFB5X0dldFBsYXRmb3JtPXB5dGhvbjMzLlB5X0dldFBsYXRmb3JtCi0gIFB5X0dldFByZWZpeD1weXRob24zMy5QeV9HZXRQcmVmaXgKLSAgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoPXB5dGhvbjMzLlB5X0dldFByb2dyYW1GdWxsUGF0aAotICBQeV9HZXRQcm9ncmFtTmFtZT1weXRob24zMy5QeV9HZXRQcm9ncmFtTmFtZQotICBQeV9HZXRQeXRob25Ib21lPXB5dGhvbjMzLlB5X0dldFB5dGhvbkhvbWUKLSAgUHlfR2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzMuUHlfR2V0UmVjdXJzaW9uTGltaXQKLSAgUHlfR2V0VmVyc2lvbj1weXRob24zMy5QeV9HZXRWZXJzaW9uCi0gIFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzMuUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCi0gIFB5X0luY1JlZj1weXRob24zMy5QeV9JbmNSZWYKLSAgUHlfSW5pdGlhbGl6ZT1weXRob24zMy5QeV9Jbml0aWFsaXplCi0gIFB5X0luaXRpYWxpemVFeD1weXRob24zMy5QeV9Jbml0aWFsaXplRXgKLSAgUHlfSXNJbml0aWFsaXplZD1weXRob24zMy5QeV9Jc0luaXRpYWxpemVkCi0gIFB5X01haW49cHl0aG9uMzMuUHlfTWFpbgotICBQeV9NYWtlUGVuZGluZ0NhbGxzPXB5dGhvbjMzLlB5X01ha2VQZW5kaW5nQ2FsbHMKLSAgUHlfTmV3SW50ZXJwcmV0ZXI9cHl0aG9uMzMuUHlfTmV3SW50ZXJwcmV0ZXIKLSAgUHlfUmVwckVudGVyPXB5dGhvbjMzLlB5X1JlcHJFbnRlcgotICBQeV9SZXByTGVhdmU9cHl0aG9uMzMuUHlfUmVwckxlYXZlCi0gIFB5X1NldFByb2dyYW1OYW1lPXB5dGhvbjMzLlB5X1NldFByb2dyYW1OYW1lCi0gIFB5X1NldFB5dGhvbkhvbWU9cHl0aG9uMzMuUHlfU2V0UHl0aG9uSG9tZQotICBQeV9TZXRSZWN1cnNpb25MaW1pdD1weXRob24zMy5QeV9TZXRSZWN1cnNpb25MaW1pdAotICBQeV9TeW10YWJsZVN0cmluZz1weXRob24zMy5QeV9TeW10YWJsZVN0cmluZwotICBQeV9WYUJ1aWxkVmFsdWU9cHl0aG9uMzMuUHlfVmFCdWlsZFZhbHVlCi0gIF9QeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzMuX1B5RXJyX0JhZEludGVybmFsQ2FsbAotICBfUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUPXB5dGhvbjMzLl9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQKLSAgX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQ9cHl0aG9uMzMuX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKLSAgX1B5T2JqZWN0X0dDX01hbGxvYz1weXRob24zMy5fUHlPYmplY3RfR0NfTWFsbG9jCi0gIF9QeU9iamVjdF9HQ19OZXc9cHl0aG9uMzMuX1B5T2JqZWN0X0dDX05ldwotICBfUHlPYmplY3RfR0NfTmV3VmFyPXB5dGhvbjMzLl9QeU9iamVjdF9HQ19OZXdWYXIKLSAgX1B5T2JqZWN0X0dDX1Jlc2l6ZT1weXRob24zMy5fUHlPYmplY3RfR0NfUmVzaXplCi0gIF9QeU9iamVjdF9OZXc9cHl0aG9uMzMuX1B5T2JqZWN0X05ldwotICBfUHlPYmplY3RfTmV3VmFyPXB5dGhvbjMzLl9QeU9iamVjdF9OZXdWYXIKLSAgX1B5U3RhdGVfQWRkTW9kdWxlPXB5dGhvbjMzLl9QeVN0YXRlX0FkZE1vZHVsZQotICBfUHlUaHJlYWRTdGF0ZV9Jbml0PXB5dGhvbjMzLl9QeVRocmVhZFN0YXRlX0luaXQKLSAgX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2M9cHl0aG9uMzMuX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKLSAgX1B5VHJhc2hfZGVsZXRlX2xhdGVyPXB5dGhvbjMzLl9QeVRyYXNoX2RlbGV0ZV9sYXRlciBEQVRBCi0gIF9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nPXB5dGhvbjMzLl9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nIERBVEEKLSAgX1B5VHJhc2hfZGVwb3NpdF9vYmplY3Q9cHl0aG9uMzMuX1B5VHJhc2hfZGVwb3NpdF9vYmplY3QKLSAgX1B5VHJhc2hfZGVzdHJveV9jaGFpbj1weXRob24zMy5fUHlUcmFzaF9kZXN0cm95X2NoYWluCi0gIF9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGU9cHl0aG9uMzMuX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZSBEQVRBCi0gIF9QeVdlYWtyZWZfUHJveHlUeXBlPXB5dGhvbjMzLl9QeVdlYWtyZWZfUHJveHlUeXBlIERBVEEKLSAgX1B5V2Vha3JlZl9SZWZUeXBlPXB5dGhvbjMzLl9QeVdlYWtyZWZfUmVmVHlwZSBEQVRBCi0gIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjMzLl9QeV9CdWlsZFZhbHVlX1NpemVUCi0gIF9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0PXB5dGhvbjMzLl9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0IERBVEEKLSAgX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbD1weXRob24zMy5fUHlfQ2hlY2tSZWN1cnNpdmVDYWxsCi0gIF9QeV9EZWFsbG9jPXB5dGhvbjMzLl9QeV9EZWFsbG9jCi0gIF9QeV9FbGxpcHNpc09iamVjdD1weXRob24zMy5fUHlfRWxsaXBzaXNPYmplY3QgREFUQQotICBfUHlfRmFsc2VTdHJ1Y3Q9cHl0aG9uMzMuX1B5X0ZhbHNlU3RydWN0IERBVEEKLSAgX1B5X05vbmVTdHJ1Y3Q9cHl0aG9uMzMuX1B5X05vbmVTdHJ1Y3QgREFUQQotICBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3Q9cHl0aG9uMzMuX1B5X05vdEltcGxlbWVudGVkU3RydWN0IERBVEEKLSAgX1B5X1N3YXBwZWRPcD1weXRob24zMy5fUHlfU3dhcHBlZE9wIERBVEEKLSAgX1B5X1RydWVTdHJ1Y3Q9cHl0aG9uMzMuX1B5X1RydWVTdHJ1Y3QgREFUQQotICBfUHlfVmFCdWlsZFZhbHVlX1NpemVUPXB5dGhvbjMzLl9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKLSAgX1B5QXJnX1BhcnNlX1NpemVUPXB5dGhvbjMzLl9QeUFyZ19QYXJzZV9TaXplVAotICBfUHlBcmdfUGFyc2VUdXBsZV9TaXplVD1weXRob24zMy5fUHlBcmdfUGFyc2VUdXBsZV9TaXplVAotICBfUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjMzLl9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQKLSAgX1B5QXJnX1ZhUGFyc2VfU2l6ZVQ9cHl0aG9uMzMuX1B5QXJnX1ZhUGFyc2VfU2l6ZVQKLSAgX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUPXB5dGhvbjMzLl9QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAotICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zMy5fUHlfQnVpbGRWYWx1ZV9TaXplVAorICBQeUFyZ19QYXJzZT1weXRob24zNC5QeUFyZ19QYXJzZQorICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjM0LlB5QXJnX1BhcnNlVHVwbGUKKyAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjM0LlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcworICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zNC5QeUFyZ19VbnBhY2tUdXBsZQorICBQeUFyZ19WYVBhcnNlPXB5dGhvbjM0LlB5QXJnX1ZhUGFyc2UKKyAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzQuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKKyAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjM0LlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cworICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zNC5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCisgIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zNC5QeUJvb2xfRnJvbUxvbmcKKyAgUHlCb29sX1R5cGU9cHl0aG9uMzQuUHlCb29sX1R5cGUgREFUQQorICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zNC5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCisgIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0FzU3RyaW5nCisgIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zNC5QeUJ5dGVBcnJheV9Db25jYXQKKyAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zNC5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0CisgIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjM0LlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCisgIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zNC5QeUJ5dGVBcnJheV9SZXNpemUKKyAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zNC5QeUJ5dGVBcnJheV9TaXplCisgIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzQuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCisgIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzQuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCisgIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzQuUHlCeXRlc19Bc1N0cmluZworICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQorICBQeUJ5dGVzX0NvbmNhdD1weXRob24zNC5QeUJ5dGVzX0NvbmNhdAorICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zNC5QeUJ5dGVzX0NvbmNhdEFuZERlbAorICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zNC5QeUJ5dGVzX0RlY29kZUVzY2FwZQorICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzQuUHlCeXRlc19Gcm9tRm9ybWF0CisgIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzQuUHlCeXRlc19Gcm9tRm9ybWF0VgorICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzQuUHlCeXRlc19Gcm9tT2JqZWN0CisgIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zNC5QeUJ5dGVzX0Zyb21TdHJpbmcKKyAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCisgIFB5Qnl0ZXNfUmVwcj1weXRob24zNC5QeUJ5dGVzX1JlcHIKKyAgUHlCeXRlc19TaXplPXB5dGhvbjM0LlB5Qnl0ZXNfU2l6ZQorICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzQuUHlCeXRlc19UeXBlIERBVEEKKyAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zNC5QeUNGdW5jdGlvbl9DYWxsCisgIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzQuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAorICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zNC5QeUNGdW5jdGlvbl9HZXRGbGFncworICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zNC5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgorICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX0dldFNlbGYKKyAgUHlDRnVuY3Rpb25fTmV3PXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX05ldworICBQeUNGdW5jdGlvbl9OZXdFeD1weXRob24zNC5QeUNGdW5jdGlvbl9OZXdFeAorICBQeUNGdW5jdGlvbl9UeXBlPXB5dGhvbjM0LlB5Q0Z1bmN0aW9uX1R5cGUgREFUQQorICBQeUNhbGxJdGVyX05ldz1weXRob24zNC5QeUNhbGxJdGVyX05ldworICBQeUNhbGxJdGVyX1R5cGU9cHl0aG9uMzQuUHlDYWxsSXRlcl9UeXBlIERBVEEKKyAgUHlDYWxsYWJsZV9DaGVjaz1weXRob24zNC5QeUNhbGxhYmxlX0NoZWNrCisgIFB5Q2Fwc3VsZV9HZXRDb250ZXh0PXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXRDb250ZXh0CisgIFB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCisgIFB5Q2Fwc3VsZV9HZXROYW1lPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXROYW1lCisgIFB5Q2Fwc3VsZV9HZXRQb2ludGVyPXB5dGhvbjM0LlB5Q2Fwc3VsZV9HZXRQb2ludGVyCisgIFB5Q2Fwc3VsZV9JbXBvcnQ9cHl0aG9uMzQuUHlDYXBzdWxlX0ltcG9ydAorICBQeUNhcHN1bGVfSXNWYWxpZD1weXRob24zNC5QeUNhcHN1bGVfSXNWYWxpZAorICBQeUNhcHN1bGVfTmV3PXB5dGhvbjM0LlB5Q2Fwc3VsZV9OZXcKKyAgUHlDYXBzdWxlX1NldENvbnRleHQ9cHl0aG9uMzQuUHlDYXBzdWxlX1NldENvbnRleHQKKyAgUHlDYXBzdWxlX1NldERlc3RydWN0b3I9cHl0aG9uMzQuUHlDYXBzdWxlX1NldERlc3RydWN0b3IKKyAgUHlDYXBzdWxlX1NldE5hbWU9cHl0aG9uMzQuUHlDYXBzdWxlX1NldE5hbWUKKyAgUHlDYXBzdWxlX1NldFBvaW50ZXI9cHl0aG9uMzQuUHlDYXBzdWxlX1NldFBvaW50ZXIKKyAgUHlDYXBzdWxlX1R5cGU9cHl0aG9uMzQuUHlDYXBzdWxlX1R5cGUgREFUQQorICBQeUNsYXNzTWV0aG9kRGVzY3JfVHlwZT1weXRob24zNC5QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZSBEQVRBCisgIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19EZWNvZGU9cHl0aG9uMzQuUHlDb2RlY19EZWNvZGUKKyAgUHlDb2RlY19EZWNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfRGVjb2RlcgorICBQeUNvZGVjX0VuY29kZT1weXRob24zNC5QeUNvZGVjX0VuY29kZQorICBQeUNvZGVjX0VuY29kZXI9cHl0aG9uMzQuUHlDb2RlY19FbmNvZGVyCisgIFB5Q29kZWNfSWdub3JlRXJyb3JzPXB5dGhvbjM0LlB5Q29kZWNfSWdub3JlRXJyb3JzCisgIFB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyCisgIFB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyPXB5dGhvbjM0LlB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCisgIFB5Q29kZWNfS25vd25FbmNvZGluZz1weXRob24zNC5QeUNvZGVjX0tub3duRW5jb2RpbmcKKyAgUHlDb2RlY19Mb29rdXBFcnJvcj1weXRob24zNC5QeUNvZGVjX0xvb2t1cEVycm9yCisgIFB5Q29kZWNfUmVnaXN0ZXI9cHl0aG9uMzQuUHlDb2RlY19SZWdpc3RlcgorICBQeUNvZGVjX1JlZ2lzdGVyRXJyb3I9cHl0aG9uMzQuUHlDb2RlY19SZWdpc3RlckVycm9yCisgIFB5Q29kZWNfUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX1JlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19TdHJlYW1SZWFkZXI9cHl0aG9uMzQuUHlDb2RlY19TdHJlYW1SZWFkZXIKKyAgUHlDb2RlY19TdHJlYW1Xcml0ZXI9cHl0aG9uMzQuUHlDb2RlY19TdHJlYW1Xcml0ZXIKKyAgUHlDb2RlY19TdHJpY3RFcnJvcnM9cHl0aG9uMzQuUHlDb2RlY19TdHJpY3RFcnJvcnMKKyAgUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycz1weXRob24zNC5QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCisgIFB5Q29tcGxleF9Gcm9tRG91Ymxlcz1weXRob24zNC5QeUNvbXBsZXhfRnJvbURvdWJsZXMKKyAgUHlDb21wbGV4X0ltYWdBc0RvdWJsZT1weXRob24zNC5QeUNvbXBsZXhfSW1hZ0FzRG91YmxlCisgIFB5Q29tcGxleF9SZWFsQXNEb3VibGU9cHl0aG9uMzQuUHlDb21wbGV4X1JlYWxBc0RvdWJsZQorICBQeUNvbXBsZXhfVHlwZT1weXRob24zNC5QeUNvbXBsZXhfVHlwZSBEQVRBCisgIFB5RGVzY3JfTmV3Q2xhc3NNZXRob2Q9cHl0aG9uMzQuUHlEZXNjcl9OZXdDbGFzc01ldGhvZAorICBQeURlc2NyX05ld0dldFNldD1weXRob24zNC5QeURlc2NyX05ld0dldFNldAorICBQeURlc2NyX05ld01lbWJlcj1weXRob24zNC5QeURlc2NyX05ld01lbWJlcgorICBQeURlc2NyX05ld01ldGhvZD1weXRob24zNC5QeURlc2NyX05ld01ldGhvZAorICBQeURpY3RJdGVtc19UeXBlPXB5dGhvbjM0LlB5RGljdEl0ZW1zX1R5cGUgREFUQQorICBQeURpY3RJdGVySXRlbV9UeXBlPXB5dGhvbjM0LlB5RGljdEl0ZXJJdGVtX1R5cGUgREFUQQorICBQeURpY3RJdGVyS2V5X1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlcktleV9UeXBlIERBVEEKKyAgUHlEaWN0SXRlclZhbHVlX1R5cGU9cHl0aG9uMzQuUHlEaWN0SXRlclZhbHVlX1R5cGUgREFUQQorICBQeURpY3RLZXlzX1R5cGU9cHl0aG9uMzQuUHlEaWN0S2V5c19UeXBlIERBVEEKKyAgUHlEaWN0UHJveHlfTmV3PXB5dGhvbjM0LlB5RGljdFByb3h5X05ldworICBQeURpY3RQcm94eV9UeXBlPXB5dGhvbjM0LlB5RGljdFByb3h5X1R5cGUgREFUQQorICBQeURpY3RWYWx1ZXNfVHlwZT1weXRob24zNC5QeURpY3RWYWx1ZXNfVHlwZSBEQVRBCisgIFB5RGljdF9DbGVhcj1weXRob24zNC5QeURpY3RfQ2xlYXIKKyAgUHlEaWN0X0NvbnRhaW5zPXB5dGhvbjM0LlB5RGljdF9Db250YWlucworICBQeURpY3RfQ29weT1weXRob24zNC5QeURpY3RfQ29weQorICBQeURpY3RfRGVsSXRlbT1weXRob24zNC5QeURpY3RfRGVsSXRlbQorICBQeURpY3RfRGVsSXRlbVN0cmluZz1weXRob24zNC5QeURpY3RfRGVsSXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbT1weXRob24zNC5QeURpY3RfR2V0SXRlbQorICBQeURpY3RfR2V0SXRlbVN0cmluZz1weXRob24zNC5QeURpY3RfR2V0SXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcj1weXRob24zNC5QeURpY3RfR2V0SXRlbVdpdGhFcnJvcgorICBQeURpY3RfSXRlbXM9cHl0aG9uMzQuUHlEaWN0X0l0ZW1zCisgIFB5RGljdF9LZXlzPXB5dGhvbjM0LlB5RGljdF9LZXlzCisgIFB5RGljdF9NZXJnZT1weXRob24zNC5QeURpY3RfTWVyZ2UKKyAgUHlEaWN0X01lcmdlRnJvbVNlcTI9cHl0aG9uMzQuUHlEaWN0X01lcmdlRnJvbVNlcTIKKyAgUHlEaWN0X05ldz1weXRob24zNC5QeURpY3RfTmV3CisgIFB5RGljdF9OZXh0PXB5dGhvbjM0LlB5RGljdF9OZXh0CisgIFB5RGljdF9TZXRJdGVtPXB5dGhvbjM0LlB5RGljdF9TZXRJdGVtCisgIFB5RGljdF9TZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5RGljdF9TZXRJdGVtU3RyaW5nCisgIFB5RGljdF9TaXplPXB5dGhvbjM0LlB5RGljdF9TaXplCisgIFB5RGljdF9UeXBlPXB5dGhvbjM0LlB5RGljdF9UeXBlIERBVEEKKyAgUHlEaWN0X1VwZGF0ZT1weXRob24zNC5QeURpY3RfVXBkYXRlCisgIFB5RGljdF9WYWx1ZXM9cHl0aG9uMzQuUHlEaWN0X1ZhbHVlcworICBQeUVsbGlwc2lzX1R5cGU9cHl0aG9uMzQuUHlFbGxpcHNpc19UeXBlIERBVEEKKyAgUHlFbnVtX1R5cGU9cHl0aG9uMzQuUHlFbnVtX1R5cGUgREFUQQorICBQeUVycl9CYWRBcmd1bWVudD1weXRob24zNC5QeUVycl9CYWRBcmd1bWVudAorICBQeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzQuUHlFcnJfQmFkSW50ZXJuYWxDYWxsCisgIFB5RXJyX0NoZWNrU2lnbmFscz1weXRob24zNC5QeUVycl9DaGVja1NpZ25hbHMKKyAgUHlFcnJfQ2xlYXI9cHl0aG9uMzQuUHlFcnJfQ2xlYXIKKyAgUHlFcnJfRGlzcGxheT1weXRob24zNC5QeUVycl9EaXNwbGF5CisgIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzQuUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcworICBQeUVycl9GZXRjaD1weXRob24zNC5QeUVycl9GZXRjaAorICBQeUVycl9Gb3JtYXQ9cHl0aG9uMzQuUHlFcnJfRm9ybWF0CisgIFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zNC5QeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMKKyAgUHlFcnJfTmV3RXhjZXB0aW9uPXB5dGhvbjM0LlB5RXJyX05ld0V4Y2VwdGlvbgorICBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jPXB5dGhvbjM0LlB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MKKyAgUHlFcnJfTm9NZW1vcnk9cHl0aG9uMzQuUHlFcnJfTm9NZW1vcnkKKyAgUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uPXB5dGhvbjM0LlB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbgorICBQeUVycl9PY2N1cnJlZD1weXRob24zNC5QeUVycl9PY2N1cnJlZAorICBQeUVycl9QcmludD1weXRob24zNC5QeUVycl9QcmludAorICBQeUVycl9QcmludEV4PXB5dGhvbjM0LlB5RXJyX1ByaW50RXgKKyAgUHlFcnJfUHJvZ3JhbVRleHQ9cHl0aG9uMzQuUHlFcnJfUHJvZ3JhbVRleHQKKyAgUHlFcnJfUmVzdG9yZT1weXRob24zNC5QeUVycl9SZXN0b3JlCisgIFB5RXJyX1NldEZyb21FcnJubz1weXRob24zNC5QeUVycl9TZXRGcm9tRXJybm8KKyAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lPXB5dGhvbjM0LlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQorICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3Q9cHl0aG9uMzQuUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0CisgIFB5RXJyX1NldEludGVycnVwdD1weXRob24zNC5QeUVycl9TZXRJbnRlcnJ1cHQKKyAgUHlFcnJfU2V0Tm9uZT1weXRob24zNC5QeUVycl9TZXROb25lCisgIFB5RXJyX1NldE9iamVjdD1weXRob24zNC5QeUVycl9TZXRPYmplY3QKKyAgUHlFcnJfU2V0U3RyaW5nPXB5dGhvbjM0LlB5RXJyX1NldFN0cmluZworICBQeUVycl9TeW50YXhMb2NhdGlvbj1weXRob24zNC5QeUVycl9TeW50YXhMb2NhdGlvbgorICBQeUVycl9XYXJuRXg9cHl0aG9uMzQuUHlFcnJfV2FybkV4CisgIFB5RXJyX1dhcm5FeHBsaWNpdD1weXRob24zNC5QeUVycl9XYXJuRXhwbGljaXQKKyAgUHlFcnJfV2FybkZvcm1hdD1weXRob24zNC5QeUVycl9XYXJuRm9ybWF0CisgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZT1weXRob24zNC5QeUVycl9Xcml0ZVVucmFpc2FibGUKKyAgUHlFdmFsX0FjcXVpcmVMb2NrPXB5dGhvbjM0LlB5RXZhbF9BY3F1aXJlTG9jaworICBQeUV2YWxfQWNxdWlyZVRocmVhZD1weXRob24zNC5QeUV2YWxfQWNxdWlyZVRocmVhZAorICBQeUV2YWxfQ2FsbEZ1bmN0aW9uPXB5dGhvbjM0LlB5RXZhbF9DYWxsRnVuY3Rpb24KKyAgUHlFdmFsX0NhbGxNZXRob2Q9cHl0aG9uMzQuUHlFdmFsX0NhbGxNZXRob2QKKyAgUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHM9cHl0aG9uMzQuUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKKyAgUHlFdmFsX0V2YWxDb2RlPXB5dGhvbjM0LlB5RXZhbF9FdmFsQ29kZQorICBQeUV2YWxfRXZhbENvZGVFeD1weXRob24zNC5QeUV2YWxfRXZhbENvZGVFeAorICBQeUV2YWxfRXZhbEZyYW1lPXB5dGhvbjM0LlB5RXZhbF9FdmFsRnJhbWUKKyAgUHlFdmFsX0V2YWxGcmFtZUV4PXB5dGhvbjM0LlB5RXZhbF9FdmFsRnJhbWVFeAorICBQeUV2YWxfR2V0QnVpbHRpbnM9cHl0aG9uMzQuUHlFdmFsX0dldEJ1aWx0aW5zCisgIFB5RXZhbF9HZXRDYWxsU3RhdHM9cHl0aG9uMzQuUHlFdmFsX0dldENhbGxTdGF0cworICBQeUV2YWxfR2V0RnJhbWU9cHl0aG9uMzQuUHlFdmFsX0dldEZyYW1lCisgIFB5RXZhbF9HZXRGdW5jRGVzYz1weXRob24zNC5QeUV2YWxfR2V0RnVuY0Rlc2MKKyAgUHlFdmFsX0dldEZ1bmNOYW1lPXB5dGhvbjM0LlB5RXZhbF9HZXRGdW5jTmFtZQorICBQeUV2YWxfR2V0R2xvYmFscz1weXRob24zNC5QeUV2YWxfR2V0R2xvYmFscworICBQeUV2YWxfR2V0TG9jYWxzPXB5dGhvbjM0LlB5RXZhbF9HZXRMb2NhbHMKKyAgUHlFdmFsX0luaXRUaHJlYWRzPXB5dGhvbjM0LlB5RXZhbF9Jbml0VGhyZWFkcworICBQeUV2YWxfUmVJbml0VGhyZWFkcz1weXRob24zNC5QeUV2YWxfUmVJbml0VGhyZWFkcworICBQeUV2YWxfUmVsZWFzZUxvY2s9cHl0aG9uMzQuUHlFdmFsX1JlbGVhc2VMb2NrCisgIFB5RXZhbF9SZWxlYXNlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9SZWxlYXNlVGhyZWFkCisgIFB5RXZhbF9SZXN0b3JlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9SZXN0b3JlVGhyZWFkCisgIFB5RXZhbF9TYXZlVGhyZWFkPXB5dGhvbjM0LlB5RXZhbF9TYXZlVGhyZWFkCisgIFB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQ9cHl0aG9uMzQuUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAorICBQeUV4Y19Bcml0aG1ldGljRXJyb3I9cHl0aG9uMzQuUHlFeGNfQXJpdGhtZXRpY0Vycm9yIERBVEEKKyAgUHlFeGNfQXNzZXJ0aW9uRXJyb3I9cHl0aG9uMzQuUHlFeGNfQXNzZXJ0aW9uRXJyb3IgREFUQQorICBQeUV4Y19BdHRyaWJ1dGVFcnJvcj1weXRob24zNC5QeUV4Y19BdHRyaWJ1dGVFcnJvciBEQVRBCisgIFB5RXhjX0Jhc2VFeGNlcHRpb249cHl0aG9uMzQuUHlFeGNfQmFzZUV4Y2VwdGlvbiBEQVRBCisgIFB5RXhjX0J1ZmZlckVycm9yPXB5dGhvbjM0LlB5RXhjX0J1ZmZlckVycm9yIERBVEEKKyAgUHlFeGNfQnl0ZXNXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0J5dGVzV2FybmluZyBEQVRBCisgIFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNC5QeUV4Y19EZXByZWNhdGlvbldhcm5pbmcgREFUQQorICBQeUV4Y19FT0ZFcnJvcj1weXRob24zNC5QeUV4Y19FT0ZFcnJvciBEQVRBCisgIFB5RXhjX0Vudmlyb25tZW50RXJyb3I9cHl0aG9uMzQuUHlFeGNfRW52aXJvbm1lbnRFcnJvciBEQVRBCisgIFB5RXhjX0V4Y2VwdGlvbj1weXRob24zNC5QeUV4Y19FeGNlcHRpb24gREFUQQorICBQeUV4Y19GbG9hdGluZ1BvaW50RXJyb3I9cHl0aG9uMzQuUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yIERBVEEKKyAgUHlFeGNfRnV0dXJlV2FybmluZz1weXRob24zNC5QeUV4Y19GdXR1cmVXYXJuaW5nIERBVEEKKyAgUHlFeGNfR2VuZXJhdG9yRXhpdD1weXRob24zNC5QeUV4Y19HZW5lcmF0b3JFeGl0IERBVEEKKyAgUHlFeGNfSU9FcnJvcj1weXRob24zNC5QeUV4Y19JT0Vycm9yIERBVEEKKyAgUHlFeGNfSW1wb3J0RXJyb3I9cHl0aG9uMzQuUHlFeGNfSW1wb3J0RXJyb3IgREFUQQorICBQeUV4Y19JbXBvcnRXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX0ltcG9ydFdhcm5pbmcgREFUQQorICBQeUV4Y19JbmRlbnRhdGlvbkVycm9yPXB5dGhvbjM0LlB5RXhjX0luZGVudGF0aW9uRXJyb3IgREFUQQorICBQeUV4Y19JbmRleEVycm9yPXB5dGhvbjM0LlB5RXhjX0luZGV4RXJyb3IgREFUQQorICBQeUV4Y19LZXlFcnJvcj1weXRob24zNC5QeUV4Y19LZXlFcnJvciBEQVRBCisgIFB5RXhjX0tleWJvYXJkSW50ZXJydXB0PXB5dGhvbjM0LlB5RXhjX0tleWJvYXJkSW50ZXJydXB0IERBVEEKKyAgUHlFeGNfTG9va3VwRXJyb3I9cHl0aG9uMzQuUHlFeGNfTG9va3VwRXJyb3IgREFUQQorICBQeUV4Y19NZW1vcnlFcnJvcj1weXRob24zNC5QeUV4Y19NZW1vcnlFcnJvciBEQVRBCisgIFB5RXhjX01lbW9yeUVycm9ySW5zdD1weXRob24zNC5QeUV4Y19NZW1vcnlFcnJvckluc3QgREFUQQorICBQeUV4Y19OYW1lRXJyb3I9cHl0aG9uMzQuUHlFeGNfTmFtZUVycm9yIERBVEEKKyAgUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcj1weXRob24zNC5QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yIERBVEEKKyAgUHlFeGNfT1NFcnJvcj1weXRob24zNC5QeUV4Y19PU0Vycm9yIERBVEEKKyAgUHlFeGNfT3ZlcmZsb3dFcnJvcj1weXRob24zNC5QeUV4Y19PdmVyZmxvd0Vycm9yIERBVEEKKyAgUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zNC5QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKKyAgUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0PXB5dGhvbjM0LlB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdCBEQVRBCisgIFB5RXhjX1JlZmVyZW5jZUVycm9yPXB5dGhvbjM0LlB5RXhjX1JlZmVyZW5jZUVycm9yIERBVEEKKyAgUHlFeGNfUnVudGltZUVycm9yPXB5dGhvbjM0LlB5RXhjX1J1bnRpbWVFcnJvciBEQVRBCisgIFB5RXhjX1J1bnRpbWVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1J1bnRpbWVXYXJuaW5nIERBVEEKKyAgUHlFeGNfU3RvcEl0ZXJhdGlvbj1weXRob24zNC5QeUV4Y19TdG9wSXRlcmF0aW9uIERBVEEKKyAgUHlFeGNfU3ludGF4RXJyb3I9cHl0aG9uMzQuUHlFeGNfU3ludGF4RXJyb3IgREFUQQorICBQeUV4Y19TeW50YXhXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1N5bnRheFdhcm5pbmcgREFUQQorICBQeUV4Y19TeXN0ZW1FcnJvcj1weXRob24zNC5QeUV4Y19TeXN0ZW1FcnJvciBEQVRBCisgIFB5RXhjX1N5c3RlbUV4aXQ9cHl0aG9uMzQuUHlFeGNfU3lzdGVtRXhpdCBEQVRBCisgIFB5RXhjX1RhYkVycm9yPXB5dGhvbjM0LlB5RXhjX1RhYkVycm9yIERBVEEKKyAgUHlFeGNfVHlwZUVycm9yPXB5dGhvbjM0LlB5RXhjX1R5cGVFcnJvciBEQVRBCisgIFB5RXhjX1VuYm91bmRMb2NhbEVycm9yPXB5dGhvbjM0LlB5RXhjX1VuYm91bmRMb2NhbEVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZURlY29kZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcj1weXRob24zNC5QeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlRXJyb3I9cHl0aG9uMzQuUHlFeGNfVW5pY29kZUVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVXYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1VuaWNvZGVXYXJuaW5nIERBVEEKKyAgUHlFeGNfVXNlcldhcm5pbmc9cHl0aG9uMzQuUHlFeGNfVXNlcldhcm5pbmcgREFUQQorICBQeUV4Y19WYWx1ZUVycm9yPXB5dGhvbjM0LlB5RXhjX1ZhbHVlRXJyb3IgREFUQQorICBQeUV4Y19XYXJuaW5nPXB5dGhvbjM0LlB5RXhjX1dhcm5pbmcgREFUQQorICBQeUV4Y19aZXJvRGl2aXNpb25FcnJvcj1weXRob24zNC5QeUV4Y19aZXJvRGl2aXNpb25FcnJvciBEQVRBCisgIFB5RXhjZXB0aW9uX0dldENhdXNlPXB5dGhvbjM0LlB5RXhjZXB0aW9uX0dldENhdXNlCisgIFB5RXhjZXB0aW9uX0dldENvbnRleHQ9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0Q29udGV4dAorICBQeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2s9cHl0aG9uMzQuUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrCisgIFB5RXhjZXB0aW9uX1NldENhdXNlPXB5dGhvbjM0LlB5RXhjZXB0aW9uX1NldENhdXNlCisgIFB5RXhjZXB0aW9uX1NldENvbnRleHQ9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0Q29udGV4dAorICBQeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2s9cHl0aG9uMzQuUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrCisgIFB5RmlsZV9Gcm9tRmQ9cHl0aG9uMzQuUHlGaWxlX0Zyb21GZAorICBQeUZpbGVfR2V0TGluZT1weXRob24zNC5QeUZpbGVfR2V0TGluZQorICBQeUZpbGVfV3JpdGVPYmplY3Q9cHl0aG9uMzQuUHlGaWxlX1dyaXRlT2JqZWN0CisgIFB5RmlsZV9Xcml0ZVN0cmluZz1weXRob24zNC5QeUZpbGVfV3JpdGVTdHJpbmcKKyAgUHlGaWx0ZXJfVHlwZT1weXRob24zNC5QeUZpbHRlcl9UeXBlIERBVEEKKyAgUHlGbG9hdF9Bc0RvdWJsZT1weXRob24zNC5QeUZsb2F0X0FzRG91YmxlCisgIFB5RmxvYXRfRnJvbURvdWJsZT1weXRob24zNC5QeUZsb2F0X0Zyb21Eb3VibGUKKyAgUHlGbG9hdF9Gcm9tU3RyaW5nPXB5dGhvbjM0LlB5RmxvYXRfRnJvbVN0cmluZworICBQeUZsb2F0X0dldEluZm89cHl0aG9uMzQuUHlGbG9hdF9HZXRJbmZvCisgIFB5RmxvYXRfR2V0TWF4PXB5dGhvbjM0LlB5RmxvYXRfR2V0TWF4CisgIFB5RmxvYXRfR2V0TWluPXB5dGhvbjM0LlB5RmxvYXRfR2V0TWluCisgIFB5RmxvYXRfVHlwZT1weXRob24zNC5QeUZsb2F0X1R5cGUgREFUQQorICBQeUZyb3plblNldF9OZXc9cHl0aG9uMzQuUHlGcm96ZW5TZXRfTmV3CisgIFB5RnJvemVuU2V0X1R5cGU9cHl0aG9uMzQuUHlGcm96ZW5TZXRfVHlwZSBEQVRBCisgIFB5R0NfQ29sbGVjdD1weXRob24zNC5QeUdDX0NvbGxlY3QKKyAgUHlHSUxTdGF0ZV9FbnN1cmU9cHl0aG9uMzQuUHlHSUxTdGF0ZV9FbnN1cmUKKyAgUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGU9cHl0aG9uMzQuUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKKyAgUHlHSUxTdGF0ZV9SZWxlYXNlPXB5dGhvbjM0LlB5R0lMU3RhdGVfUmVsZWFzZQorICBQeUdldFNldERlc2NyX1R5cGU9cHl0aG9uMzQuUHlHZXRTZXREZXNjcl9UeXBlIERBVEEKKyAgUHlJbXBvcnRfQWRkTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0FkZE1vZHVsZQorICBQeUltcG9ydF9BcHBlbmRJbml0dGFiPXB5dGhvbjM0LlB5SW1wb3J0X0FwcGVuZEluaXR0YWIKKyAgUHlJbXBvcnRfQ2xlYW51cD1weXRob24zNC5QeUltcG9ydF9DbGVhbnVwCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXg9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeAorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXM9cHl0aG9uMzQuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzCisgIFB5SW1wb3J0X0dldEltcG9ydGVyPXB5dGhvbjM0LlB5SW1wb3J0X0dldEltcG9ydGVyCisgIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyPXB5dGhvbjM0LlB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCisgIFB5SW1wb3J0X0dldE1hZ2ljVGFnPXB5dGhvbjM0LlB5SW1wb3J0X0dldE1hZ2ljVGFnCisgIFB5SW1wb3J0X0dldE1vZHVsZURpY3Q9cHl0aG9uMzQuUHlJbXBvcnRfR2V0TW9kdWxlRGljdAorICBQeUltcG9ydF9JbXBvcnQ9cHl0aG9uMzQuUHlJbXBvcnRfSW1wb3J0CisgIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZT1weXRob24zNC5QeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZQorICBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbD1weXRob24zNC5QeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbAorICBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrPXB5dGhvbjM0LlB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2sKKyAgUHlJbXBvcnRfUmVsb2FkTW9kdWxlPXB5dGhvbjM0LlB5SW1wb3J0X1JlbG9hZE1vZHVsZQorICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXI9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyCisgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGU9cHl0aG9uMzQuUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQorICBQeUludGVycHJldGVyU3RhdGVfTmV3PXB5dGhvbjM0LlB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcKKyAgUHlJdGVyX05leHQ9cHl0aG9uMzQuUHlJdGVyX05leHQKKyAgUHlMaXN0SXRlcl9UeXBlPXB5dGhvbjM0LlB5TGlzdEl0ZXJfVHlwZSBEQVRBCisgIFB5TGlzdFJldkl0ZXJfVHlwZT1weXRob24zNC5QeUxpc3RSZXZJdGVyX1R5cGUgREFUQQorICBQeUxpc3RfQXBwZW5kPXB5dGhvbjM0LlB5TGlzdF9BcHBlbmQKKyAgUHlMaXN0X0FzVHVwbGU9cHl0aG9uMzQuUHlMaXN0X0FzVHVwbGUKKyAgUHlMaXN0X0dldEl0ZW09cHl0aG9uMzQuUHlMaXN0X0dldEl0ZW0KKyAgUHlMaXN0X0dldFNsaWNlPXB5dGhvbjM0LlB5TGlzdF9HZXRTbGljZQorICBQeUxpc3RfSW5zZXJ0PXB5dGhvbjM0LlB5TGlzdF9JbnNlcnQKKyAgUHlMaXN0X05ldz1weXRob24zNC5QeUxpc3RfTmV3CisgIFB5TGlzdF9SZXZlcnNlPXB5dGhvbjM0LlB5TGlzdF9SZXZlcnNlCisgIFB5TGlzdF9TZXRJdGVtPXB5dGhvbjM0LlB5TGlzdF9TZXRJdGVtCisgIFB5TGlzdF9TZXRTbGljZT1weXRob24zNC5QeUxpc3RfU2V0U2xpY2UKKyAgUHlMaXN0X1NpemU9cHl0aG9uMzQuUHlMaXN0X1NpemUKKyAgUHlMaXN0X1NvcnQ9cHl0aG9uMzQuUHlMaXN0X1NvcnQKKyAgUHlMaXN0X1R5cGU9cHl0aG9uMzQuUHlMaXN0X1R5cGUgREFUQQorICBQeUxvbmdSYW5nZUl0ZXJfVHlwZT1weXRob24zNC5QeUxvbmdSYW5nZUl0ZXJfVHlwZSBEQVRBCisgIFB5TG9uZ19Bc0RvdWJsZT1weXRob24zNC5QeUxvbmdfQXNEb3VibGUKKyAgUHlMb25nX0FzTG9uZz1weXRob24zNC5QeUxvbmdfQXNMb25nCisgIFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdz1weXRob24zNC5QeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cKKyAgUHlMb25nX0FzTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0FzTG9uZ0xvbmcKKyAgUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdz1weXRob24zNC5QeUxvbmdfQXNMb25nTG9uZ0FuZE92ZXJmbG93CisgIFB5TG9uZ19Bc1NpemVfdD1weXRob24zNC5QeUxvbmdfQXNTaXplX3QKKyAgUHlMb25nX0FzU3NpemVfdD1weXRob24zNC5QeUxvbmdfQXNTc2l6ZV90CisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmcKKyAgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZz1weXRob24zNC5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrPXB5dGhvbjM0LlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2s9cHl0aG9uMzQuUHlMb25nX0FzVW5zaWduZWRMb25nTWFzaworICBQeUxvbmdfQXNWb2lkUHRyPXB5dGhvbjM0LlB5TG9uZ19Bc1ZvaWRQdHIKKyAgUHlMb25nX0Zyb21Eb3VibGU9cHl0aG9uMzQuUHlMb25nX0Zyb21Eb3VibGUKKyAgUHlMb25nX0Zyb21Mb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tTG9uZworICBQeUxvbmdfRnJvbUxvbmdMb25nPXB5dGhvbjM0LlB5TG9uZ19Gcm9tTG9uZ0xvbmcKKyAgUHlMb25nX0Zyb21TaXplX3Q9cHl0aG9uMzQuUHlMb25nX0Zyb21TaXplX3QKKyAgUHlMb25nX0Zyb21Tc2l6ZV90PXB5dGhvbjM0LlB5TG9uZ19Gcm9tU3NpemVfdAorICBQeUxvbmdfRnJvbVN0cmluZz1weXRob24zNC5QeUxvbmdfRnJvbVN0cmluZworICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZz1weXRob24zNC5QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZworICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzQuUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nCisgIFB5TG9uZ19Gcm9tVm9pZFB0cj1weXRob24zNC5QeUxvbmdfRnJvbVZvaWRQdHIKKyAgUHlMb25nX0dldEluZm89cHl0aG9uMzQuUHlMb25nX0dldEluZm8KKyAgUHlMb25nX1R5cGU9cHl0aG9uMzQuUHlMb25nX1R5cGUgREFUQQorICBQeU1hcF9UeXBlPXB5dGhvbjM0LlB5TWFwX1R5cGUgREFUQQorICBQeU1hcHBpbmdfQ2hlY2s9cHl0aG9uMzQuUHlNYXBwaW5nX0NoZWNrCisgIFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nPXB5dGhvbjM0LlB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCisgIFB5TWFwcGluZ19IYXNLZXk9cHl0aG9uMzQuUHlNYXBwaW5nX0hhc0tleQorICBQeU1hcHBpbmdfSGFzS2V5U3RyaW5nPXB5dGhvbjM0LlB5TWFwcGluZ19IYXNLZXlTdHJpbmcKKyAgUHlNYXBwaW5nX0l0ZW1zPXB5dGhvbjM0LlB5TWFwcGluZ19JdGVtcworICBQeU1hcHBpbmdfS2V5cz1weXRob24zNC5QeU1hcHBpbmdfS2V5cworICBQeU1hcHBpbmdfTGVuZ3RoPXB5dGhvbjM0LlB5TWFwcGluZ19MZW5ndGgKKyAgUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmcKKyAgUHlNYXBwaW5nX1NpemU9cHl0aG9uMzQuUHlNYXBwaW5nX1NpemUKKyAgUHlNYXBwaW5nX1ZhbHVlcz1weXRob24zNC5QeU1hcHBpbmdfVmFsdWVzCisgIFB5TWVtX0ZyZWU9cHl0aG9uMzQuUHlNZW1fRnJlZQorICBQeU1lbV9NYWxsb2M9cHl0aG9uMzQuUHlNZW1fTWFsbG9jCisgIFB5TWVtX1JlYWxsb2M9cHl0aG9uMzQuUHlNZW1fUmVhbGxvYworICBQeU1lbWJlckRlc2NyX1R5cGU9cHl0aG9uMzQuUHlNZW1iZXJEZXNjcl9UeXBlIERBVEEKKyAgUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Q9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X0Zyb21PYmplY3QKKyAgUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXM9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKKyAgUHlNZW1vcnlWaWV3X1R5cGU9cHl0aG9uMzQuUHlNZW1vcnlWaWV3X1R5cGUgREFUQQorICBQeU1ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzQuUHlNZXRob2REZXNjcl9UeXBlIERBVEEKKyAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQ9cHl0aG9uMzQuUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKKyAgUHlNb2R1bGVfQWRkT2JqZWN0PXB5dGhvbjM0LlB5TW9kdWxlX0FkZE9iamVjdAorICBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudD1weXRob24zNC5QeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudAorICBQeU1vZHVsZV9DcmVhdGUyPXB5dGhvbjM0LlB5TW9kdWxlX0NyZWF0ZTIKKyAgUHlNb2R1bGVfR2V0RGVmPXB5dGhvbjM0LlB5TW9kdWxlX0dldERlZgorICBQeU1vZHVsZV9HZXREaWN0PXB5dGhvbjM0LlB5TW9kdWxlX0dldERpY3QKKyAgUHlNb2R1bGVfR2V0RmlsZW5hbWU9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RmlsZW5hbWUKKyAgUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3Q9cHl0aG9uMzQuUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3QKKyAgUHlNb2R1bGVfR2V0TmFtZT1weXRob24zNC5QeU1vZHVsZV9HZXROYW1lCisgIFB5TW9kdWxlX0dldFN0YXRlPXB5dGhvbjM0LlB5TW9kdWxlX0dldFN0YXRlCisgIFB5TW9kdWxlX05ldz1weXRob24zNC5QeU1vZHVsZV9OZXcKKyAgUHlNb2R1bGVfVHlwZT1weXRob24zNC5QeU1vZHVsZV9UeXBlIERBVEEKKyAgUHlOdWxsSW1wb3J0ZXJfVHlwZT1weXRob24zNC5QeU51bGxJbXBvcnRlcl9UeXBlIERBVEEKKyAgUHlOdW1iZXJfQWJzb2x1dGU9cHl0aG9uMzQuUHlOdW1iZXJfQWJzb2x1dGUKKyAgUHlOdW1iZXJfQWRkPXB5dGhvbjM0LlB5TnVtYmVyX0FkZAorICBQeU51bWJlcl9BbmQ9cHl0aG9uMzQuUHlOdW1iZXJfQW5kCisgIFB5TnVtYmVyX0FzU3NpemVfdD1weXRob24zNC5QeU51bWJlcl9Bc1NzaXplX3QKKyAgUHlOdW1iZXJfQ2hlY2s9cHl0aG9uMzQuUHlOdW1iZXJfQ2hlY2sKKyAgUHlOdW1iZXJfRGl2bW9kPXB5dGhvbjM0LlB5TnVtYmVyX0Rpdm1vZAorICBQeU51bWJlcl9GbG9hdD1weXRob24zNC5QeU51bWJlcl9GbG9hdAorICBQeU51bWJlcl9GbG9vckRpdmlkZT1weXRob24zNC5QeU51bWJlcl9GbG9vckRpdmlkZQorICBQeU51bWJlcl9JblBsYWNlQWRkPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VBZGQKKyAgUHlOdW1iZXJfSW5QbGFjZUFuZD1weXRob24zNC5QeU51bWJlcl9JblBsYWNlQW5kCisgIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZUxzaGlmdD1weXRob24zNC5QeU51bWJlcl9JblBsYWNlTHNoaWZ0CisgIFB5TnVtYmVyX0luUGxhY2VNdWx0aXBseT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKKyAgUHlOdW1iZXJfSW5QbGFjZU9yPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VPcgorICBQeU51bWJlcl9JblBsYWNlUG93ZXI9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVBvd2VyCisgIFB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXI9cHl0aG9uMzQuUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcgorICBQeU51bWJlcl9JblBsYWNlUnNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VSc2hpZnQKKyAgUHlOdW1iZXJfSW5QbGFjZVN1YnRyYWN0PXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdAorICBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZT1weXRob24zNC5QeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZQorICBQeU51bWJlcl9JblBsYWNlWG9yPXB5dGhvbjM0LlB5TnVtYmVyX0luUGxhY2VYb3IKKyAgUHlOdW1iZXJfSW5kZXg9cHl0aG9uMzQuUHlOdW1iZXJfSW5kZXgKKyAgUHlOdW1iZXJfSW52ZXJ0PXB5dGhvbjM0LlB5TnVtYmVyX0ludmVydAorICBQeU51bWJlcl9Mb25nPXB5dGhvbjM0LlB5TnVtYmVyX0xvbmcKKyAgUHlOdW1iZXJfTHNoaWZ0PXB5dGhvbjM0LlB5TnVtYmVyX0xzaGlmdAorICBQeU51bWJlcl9NdWx0aXBseT1weXRob24zNC5QeU51bWJlcl9NdWx0aXBseQorICBQeU51bWJlcl9OZWdhdGl2ZT1weXRob24zNC5QeU51bWJlcl9OZWdhdGl2ZQorICBQeU51bWJlcl9Pcj1weXRob24zNC5QeU51bWJlcl9PcgorICBQeU51bWJlcl9Qb3NpdGl2ZT1weXRob24zNC5QeU51bWJlcl9Qb3NpdGl2ZQorICBQeU51bWJlcl9Qb3dlcj1weXRob24zNC5QeU51bWJlcl9Qb3dlcgorICBQeU51bWJlcl9SZW1haW5kZXI9cHl0aG9uMzQuUHlOdW1iZXJfUmVtYWluZGVyCisgIFB5TnVtYmVyX1JzaGlmdD1weXRob24zNC5QeU51bWJlcl9Sc2hpZnQKKyAgUHlOdW1iZXJfU3VidHJhY3Q9cHl0aG9uMzQuUHlOdW1iZXJfU3VidHJhY3QKKyAgUHlOdW1iZXJfVG9CYXNlPXB5dGhvbjM0LlB5TnVtYmVyX1RvQmFzZQorICBQeU51bWJlcl9UcnVlRGl2aWRlPXB5dGhvbjM0LlB5TnVtYmVyX1RydWVEaXZpZGUKKyAgUHlOdW1iZXJfWG9yPXB5dGhvbjM0LlB5TnVtYmVyX1hvcgorICBQeU9TX0FmdGVyRm9yaz1weXRob24zNC5QeU9TX0FmdGVyRm9yaworICBQeU9TX0luaXRJbnRlcnJ1cHRzPXB5dGhvbjM0LlB5T1NfSW5pdEludGVycnVwdHMKKyAgUHlPU19JbnB1dEhvb2s9cHl0aG9uMzQuUHlPU19JbnB1dEhvb2sgREFUQQorICBQeU9TX0ludGVycnVwdE9jY3VycmVkPXB5dGhvbjM0LlB5T1NfSW50ZXJydXB0T2NjdXJyZWQKKyAgUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlcj1weXRob24zNC5QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyIERBVEEKKyAgUHlPU19kb3VibGVfdG9fc3RyaW5nPXB5dGhvbjM0LlB5T1NfZG91YmxlX3RvX3N0cmluZworICBQeU9TX2dldHNpZz1weXRob24zNC5QeU9TX2dldHNpZworICBQeU9TX215c3RyaWNtcD1weXRob24zNC5QeU9TX215c3RyaWNtcAorICBQeU9TX215c3RybmljbXA9cHl0aG9uMzQuUHlPU19teXN0cm5pY21wCisgIFB5T1Nfc2V0c2lnPXB5dGhvbjM0LlB5T1Nfc2V0c2lnCisgIFB5T1Nfc25wcmludGY9cHl0aG9uMzQuUHlPU19zbnByaW50ZgorICBQeU9TX3N0cmluZ190b19kb3VibGU9cHl0aG9uMzQuUHlPU19zdHJpbmdfdG9fZG91YmxlCisgIFB5T1Nfc3RydG9sPXB5dGhvbjM0LlB5T1Nfc3RydG9sCisgIFB5T1Nfc3RydG91bD1weXRob24zNC5QeU9TX3N0cnRvdWwKKyAgUHlPU192c25wcmludGY9cHl0aG9uMzQuUHlPU192c25wcmludGYKKyAgUHlPYmplY3RfQVNDSUk9cHl0aG9uMzQuUHlPYmplY3RfQVNDSUkKKyAgUHlPYmplY3RfQXNDaGFyQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgorICBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yPXB5dGhvbjM0LlB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3IKKyAgUHlPYmplY3RfQXNSZWFkQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzUmVhZEJ1ZmZlcgorICBQeU9iamVjdF9Bc1dyaXRlQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0FzV3JpdGVCdWZmZXIKKyAgUHlPYmplY3RfQnl0ZXM9cHl0aG9uMzQuUHlPYmplY3RfQnl0ZXMKKyAgUHlPYmplY3RfQ2FsbD1weXRob24zNC5QeU9iamVjdF9DYWxsCisgIFB5T2JqZWN0X0NhbGxGdW5jdGlvbj1weXRob24zNC5QeU9iamVjdF9DYWxsRnVuY3Rpb24KKyAgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncz1weXRob24zNC5QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCisgIFB5T2JqZWN0X0NhbGxNZXRob2Q9cHl0aG9uMzQuUHlPYmplY3RfQ2FsbE1ldGhvZAorICBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncz1weXRob24zNC5QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncworICBQeU9iamVjdF9DYWxsT2JqZWN0PXB5dGhvbjM0LlB5T2JqZWN0X0NhbGxPYmplY3QKKyAgUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyPXB5dGhvbjM0LlB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcgorICBQeU9iamVjdF9DbGVhcldlYWtSZWZzPXB5dGhvbjM0LlB5T2JqZWN0X0NsZWFyV2Vha1JlZnMKKyAgUHlPYmplY3RfRGVsSXRlbT1weXRob24zNC5QeU9iamVjdF9EZWxJdGVtCisgIFB5T2JqZWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzQuUHlPYmplY3RfRGVsSXRlbVN0cmluZworICBQeU9iamVjdF9EaXI9cHl0aG9uMzQuUHlPYmplY3RfRGlyCisgIFB5T2JqZWN0X0Zvcm1hdD1weXRob24zNC5QeU9iamVjdF9Gb3JtYXQKKyAgUHlPYmplY3RfRnJlZT1weXRob24zNC5QeU9iamVjdF9GcmVlCisgIFB5T2JqZWN0X0dDX0RlbD1weXRob24zNC5QeU9iamVjdF9HQ19EZWwKKyAgUHlPYmplY3RfR0NfVHJhY2s9cHl0aG9uMzQuUHlPYmplY3RfR0NfVHJhY2sKKyAgUHlPYmplY3RfR0NfVW5UcmFjaz1weXRob24zNC5QeU9iamVjdF9HQ19VblRyYWNrCisgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyCisgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCisgIFB5T2JqZWN0X0dldEF0dHI9cHl0aG9uMzQuUHlPYmplY3RfR2V0QXR0cgorICBQeU9iamVjdF9HZXRBdHRyU3RyaW5nPXB5dGhvbjM0LlB5T2JqZWN0X0dldEF0dHJTdHJpbmcKKyAgUHlPYmplY3RfR2V0SXRlbT1weXRob24zNC5QeU9iamVjdF9HZXRJdGVtCisgIFB5T2JqZWN0X0dldEl0ZXI9cHl0aG9uMzQuUHlPYmplY3RfR2V0SXRlcgorICBQeU9iamVjdF9IYXNBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X0hhc0F0dHIKKyAgUHlPYmplY3RfSGFzQXR0clN0cmluZz1weXRob24zNC5QeU9iamVjdF9IYXNBdHRyU3RyaW5nCisgIFB5T2JqZWN0X0hhc2g9cHl0aG9uMzQuUHlPYmplY3RfSGFzaAorICBQeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQ9cHl0aG9uMzQuUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkCisgIFB5T2JqZWN0X0luaXQ9cHl0aG9uMzQuUHlPYmplY3RfSW5pdAorICBQeU9iamVjdF9Jbml0VmFyPXB5dGhvbjM0LlB5T2JqZWN0X0luaXRWYXIKKyAgUHlPYmplY3RfSXNJbnN0YW5jZT1weXRob24zNC5QeU9iamVjdF9Jc0luc3RhbmNlCisgIFB5T2JqZWN0X0lzU3ViY2xhc3M9cHl0aG9uMzQuUHlPYmplY3RfSXNTdWJjbGFzcworICBQeU9iamVjdF9Jc1RydWU9cHl0aG9uMzQuUHlPYmplY3RfSXNUcnVlCisgIFB5T2JqZWN0X0xlbmd0aD1weXRob24zNC5QeU9iamVjdF9MZW5ndGgKKyAgUHlPYmplY3RfTWFsbG9jPXB5dGhvbjM0LlB5T2JqZWN0X01hbGxvYworICBQeU9iamVjdF9Ob3Q9cHl0aG9uMzQuUHlPYmplY3RfTm90CisgIFB5T2JqZWN0X1JlYWxsb2M9cHl0aG9uMzQuUHlPYmplY3RfUmVhbGxvYworICBQeU9iamVjdF9SZXByPXB5dGhvbjM0LlB5T2JqZWN0X1JlcHIKKyAgUHlPYmplY3RfUmljaENvbXBhcmU9cHl0aG9uMzQuUHlPYmplY3RfUmljaENvbXBhcmUKKyAgUHlPYmplY3RfUmljaENvbXBhcmVCb29sPXB5dGhvbjM0LlB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAorICBQeU9iamVjdF9TZWxmSXRlcj1weXRob24zNC5QeU9iamVjdF9TZWxmSXRlcgorICBQeU9iamVjdF9TZXRBdHRyPXB5dGhvbjM0LlB5T2JqZWN0X1NldEF0dHIKKyAgUHlPYmplY3RfU2V0QXR0clN0cmluZz1weXRob24zNC5QeU9iamVjdF9TZXRBdHRyU3RyaW5nCisgIFB5T2JqZWN0X1NldEl0ZW09cHl0aG9uMzQuUHlPYmplY3RfU2V0SXRlbQorICBQeU9iamVjdF9TaXplPXB5dGhvbjM0LlB5T2JqZWN0X1NpemUKKyAgUHlPYmplY3RfU3RyPXB5dGhvbjM0LlB5T2JqZWN0X1N0cgorICBQeU9iamVjdF9UeXBlPXB5dGhvbjM0LlB5T2JqZWN0X1R5cGUgREFUQQorICBQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncz1weXRob24zNC5QeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncworICBQeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzPXB5dGhvbjM0LlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKKyAgUHlQcm9wZXJ0eV9UeXBlPXB5dGhvbjM0LlB5UHJvcGVydHlfVHlwZSBEQVRBCisgIFB5UmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzQuUHlSYW5nZUl0ZXJfVHlwZSBEQVRBCisgIFB5UmFuZ2VfVHlwZT1weXRob24zNC5QeVJhbmdlX1R5cGUgREFUQQorICBQeVJldmVyc2VkX1R5cGU9cHl0aG9uMzQuUHlSZXZlcnNlZF9UeXBlIERBVEEKKyAgUHlTZXFJdGVyX05ldz1weXRob24zNC5QeVNlcUl0ZXJfTmV3CisgIFB5U2VxSXRlcl9UeXBlPXB5dGhvbjM0LlB5U2VxSXRlcl9UeXBlIERBVEEKKyAgUHlTZXF1ZW5jZV9DaGVjaz1weXRob24zNC5QeVNlcXVlbmNlX0NoZWNrCisgIFB5U2VxdWVuY2VfQ29uY2F0PXB5dGhvbjM0LlB5U2VxdWVuY2VfQ29uY2F0CisgIFB5U2VxdWVuY2VfQ29udGFpbnM9cHl0aG9uMzQuUHlTZXF1ZW5jZV9Db250YWlucworICBQeVNlcXVlbmNlX0NvdW50PXB5dGhvbjM0LlB5U2VxdWVuY2VfQ291bnQKKyAgUHlTZXF1ZW5jZV9EZWxJdGVtPXB5dGhvbjM0LlB5U2VxdWVuY2VfRGVsSXRlbQorICBQeVNlcXVlbmNlX0RlbFNsaWNlPXB5dGhvbjM0LlB5U2VxdWVuY2VfRGVsU2xpY2UKKyAgUHlTZXF1ZW5jZV9GYXN0PXB5dGhvbjM0LlB5U2VxdWVuY2VfRmFzdAorICBQeVNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzQuUHlTZXF1ZW5jZV9HZXRJdGVtCisgIFB5U2VxdWVuY2VfR2V0U2xpY2U9cHl0aG9uMzQuUHlTZXF1ZW5jZV9HZXRTbGljZQorICBQeVNlcXVlbmNlX0luPXB5dGhvbjM0LlB5U2VxdWVuY2VfSW4KKyAgUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0PXB5dGhvbjM0LlB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdAorICBQeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQ9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0CisgIFB5U2VxdWVuY2VfSW5kZXg9cHl0aG9uMzQuUHlTZXF1ZW5jZV9JbmRleAorICBQeVNlcXVlbmNlX0xlbmd0aD1weXRob24zNC5QeVNlcXVlbmNlX0xlbmd0aAorICBQeVNlcXVlbmNlX0xpc3Q9cHl0aG9uMzQuUHlTZXF1ZW5jZV9MaXN0CisgIFB5U2VxdWVuY2VfUmVwZWF0PXB5dGhvbjM0LlB5U2VxdWVuY2VfUmVwZWF0CisgIFB5U2VxdWVuY2VfU2V0SXRlbT1weXRob24zNC5QeVNlcXVlbmNlX1NldEl0ZW0KKyAgUHlTZXF1ZW5jZV9TZXRTbGljZT1weXRob24zNC5QeVNlcXVlbmNlX1NldFNsaWNlCisgIFB5U2VxdWVuY2VfU2l6ZT1weXRob24zNC5QeVNlcXVlbmNlX1NpemUKKyAgUHlTZXF1ZW5jZV9UdXBsZT1weXRob24zNC5QeVNlcXVlbmNlX1R1cGxlCisgIFB5U2V0SXRlcl9UeXBlPXB5dGhvbjM0LlB5U2V0SXRlcl9UeXBlIERBVEEKKyAgUHlTZXRfQWRkPXB5dGhvbjM0LlB5U2V0X0FkZAorICBQeVNldF9DbGVhcj1weXRob24zNC5QeVNldF9DbGVhcgorICBQeVNldF9Db250YWlucz1weXRob24zNC5QeVNldF9Db250YWlucworICBQeVNldF9EaXNjYXJkPXB5dGhvbjM0LlB5U2V0X0Rpc2NhcmQKKyAgUHlTZXRfTmV3PXB5dGhvbjM0LlB5U2V0X05ldworICBQeVNldF9Qb3A9cHl0aG9uMzQuUHlTZXRfUG9wCisgIFB5U2V0X1NpemU9cHl0aG9uMzQuUHlTZXRfU2l6ZQorICBQeVNldF9UeXBlPXB5dGhvbjM0LlB5U2V0X1R5cGUgREFUQQorICBQeVNsaWNlX0dldEluZGljZXM9cHl0aG9uMzQuUHlTbGljZV9HZXRJbmRpY2VzCisgIFB5U2xpY2VfR2V0SW5kaWNlc0V4PXB5dGhvbjM0LlB5U2xpY2VfR2V0SW5kaWNlc0V4CisgIFB5U2xpY2VfTmV3PXB5dGhvbjM0LlB5U2xpY2VfTmV3CisgIFB5U2xpY2VfVHlwZT1weXRob24zNC5QeVNsaWNlX1R5cGUgREFUQQorICBQeVNvcnRXcmFwcGVyX1R5cGU9cHl0aG9uMzQuUHlTb3J0V3JhcHBlcl9UeXBlIERBVEEKKyAgUHlTdGF0ZV9GaW5kTW9kdWxlPXB5dGhvbjM0LlB5U3RhdGVfRmluZE1vZHVsZQorICBQeVN0YXRlX0FkZE1vZHVsZT1weXRob24zNC5QeVN0YXRlX0FkZE1vZHVsZQorICBQeVN0YXRlX1JlbW92ZU1vZHVsZT1weXRob24zNC5QeVN0YXRlX1JlbW92ZU1vZHVsZQorICBQeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzQuUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCisgIFB5U3RydWN0U2VxdWVuY2VfTmV3PXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfTmV3CisgIFB5U3RydWN0U2VxdWVuY2VfTmV3VHlwZT1weXRob24zNC5QeVN0cnVjdFNlcXVlbmNlX05ld1R5cGUKKyAgUHlTdHJ1Y3RTZXF1ZW5jZV9TZXRJdGVtPXB5dGhvbjM0LlB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbQorICBQeVN1cGVyX1R5cGU9cHl0aG9uMzQuUHlTdXBlcl9UeXBlIERBVEEKKyAgUHlTeXNfQWRkV2Fybk9wdGlvbj1weXRob24zNC5QeVN5c19BZGRXYXJuT3B0aW9uCisgIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlPXB5dGhvbjM0LlB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlCisgIFB5U3lzX0Zvcm1hdFN0ZGVycj1weXRob24zNC5QeVN5c19Gb3JtYXRTdGRlcnIKKyAgUHlTeXNfRm9ybWF0U3Rkb3V0PXB5dGhvbjM0LlB5U3lzX0Zvcm1hdFN0ZG91dAorICBQeVN5c19HZXRPYmplY3Q9cHl0aG9uMzQuUHlTeXNfR2V0T2JqZWN0CisgIFB5U3lzX0hhc1dhcm5PcHRpb25zPXB5dGhvbjM0LlB5U3lzX0hhc1dhcm5PcHRpb25zCisgIFB5U3lzX1Jlc2V0V2Fybk9wdGlvbnM9cHl0aG9uMzQuUHlTeXNfUmVzZXRXYXJuT3B0aW9ucworICBQeVN5c19TZXRBcmd2PXB5dGhvbjM0LlB5U3lzX1NldEFyZ3YKKyAgUHlTeXNfU2V0QXJndkV4PXB5dGhvbjM0LlB5U3lzX1NldEFyZ3ZFeAorICBQeVN5c19TZXRPYmplY3Q9cHl0aG9uMzQuUHlTeXNfU2V0T2JqZWN0CisgIFB5U3lzX1NldFBhdGg9cHl0aG9uMzQuUHlTeXNfU2V0UGF0aAorICBQeVN5c19Xcml0ZVN0ZGVycj1weXRob24zNC5QeVN5c19Xcml0ZVN0ZGVycgorICBQeVN5c19Xcml0ZVN0ZG91dD1weXRob24zNC5QeVN5c19Xcml0ZVN0ZG91dAorICBQeVRocmVhZFN0YXRlX0NsZWFyPXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfQ2xlYXIKKyAgUHlUaHJlYWRTdGF0ZV9EZWxldGU9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9EZWxldGUKKyAgUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudAorICBQeVRocmVhZFN0YXRlX0dldD1weXRob24zNC5QeVRocmVhZFN0YXRlX0dldAorICBQeVRocmVhZFN0YXRlX0dldERpY3Q9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9HZXREaWN0CisgIFB5VGhyZWFkU3RhdGVfTmV3PXB5dGhvbjM0LlB5VGhyZWFkU3RhdGVfTmV3CisgIFB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGM9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YworICBQeVRocmVhZFN0YXRlX1N3YXA9cHl0aG9uMzQuUHlUaHJlYWRTdGF0ZV9Td2FwCisgIFB5VHJhY2VCYWNrX0hlcmU9cHl0aG9uMzQuUHlUcmFjZUJhY2tfSGVyZQorICBQeVRyYWNlQmFja19QcmludD1weXRob24zNC5QeVRyYWNlQmFja19QcmludAorICBQeVRyYWNlQmFja19UeXBlPXB5dGhvbjM0LlB5VHJhY2VCYWNrX1R5cGUgREFUQQorICBQeVR1cGxlSXRlcl9UeXBlPXB5dGhvbjM0LlB5VHVwbGVJdGVyX1R5cGUgREFUQQorICBQeVR1cGxlX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzQuUHlUdXBsZV9DbGVhckZyZWVMaXN0CisgIFB5VHVwbGVfR2V0SXRlbT1weXRob24zNC5QeVR1cGxlX0dldEl0ZW0KKyAgUHlUdXBsZV9HZXRTbGljZT1weXRob24zNC5QeVR1cGxlX0dldFNsaWNlCisgIFB5VHVwbGVfTmV3PXB5dGhvbjM0LlB5VHVwbGVfTmV3CisgIFB5VHVwbGVfUGFjaz1weXRob24zNC5QeVR1cGxlX1BhY2sKKyAgUHlUdXBsZV9TZXRJdGVtPXB5dGhvbjM0LlB5VHVwbGVfU2V0SXRlbQorICBQeVR1cGxlX1NpemU9cHl0aG9uMzQuUHlUdXBsZV9TaXplCisgIFB5VHVwbGVfVHlwZT1weXRob24zNC5QeVR1cGxlX1R5cGUgREFUQQorICBQeVR5cGVfQ2xlYXJDYWNoZT1weXRob24zNC5QeVR5cGVfQ2xlYXJDYWNoZQorICBQeVR5cGVfRnJvbVNwZWM9cHl0aG9uMzQuUHlUeXBlX0Zyb21TcGVjCisgIFB5VHlwZV9Gcm9tU3BlY1dpdGhCYXNlcz1weXRob24zNC5QeVR5cGVfRnJvbVNwZWNXaXRoQmFzZXMKKyAgUHlUeXBlX0dlbmVyaWNBbGxvYz1weXRob24zNC5QeVR5cGVfR2VuZXJpY0FsbG9jCisgIFB5VHlwZV9HZW5lcmljTmV3PXB5dGhvbjM0LlB5VHlwZV9HZW5lcmljTmV3CisgIFB5VHlwZV9HZXRGbGFncz1weXRob24zNC5QeVR5cGVfR2V0RmxhZ3MKKyAgUHlUeXBlX0lzU3VidHlwZT1weXRob24zNC5QeVR5cGVfSXNTdWJ0eXBlCisgIFB5VHlwZV9Nb2RpZmllZD1weXRob24zNC5QeVR5cGVfTW9kaWZpZWQKKyAgUHlUeXBlX1JlYWR5PXB5dGhvbjM0LlB5VHlwZV9SZWFkeQorICBQeVR5cGVfVHlwZT1weXRob24zNC5QeVR5cGVfVHlwZSBEQVRBCisgIFB5VW5pY29kZURlY29kZUVycm9yX0NyZWF0ZT1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGUKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2Rpbmc9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5jb2RpbmcKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0CisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb24KKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uCisgIFB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZURlY29kZUVycm9yX1NldFN0YXJ0CisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuY29kaW5nCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjM0LlB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zNC5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVJdGVyX1R5cGU9cHl0aG9uMzQuUHlVbmljb2RlSXRlcl9UeXBlIERBVEEKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0CisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbj1weXRob24zNC5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb24KKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0U3RhcnQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kPXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzQuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0PXB5dGhvbjM0LlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0CisgIFB5VW5pY29kZV9BcHBlbmQ9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9BcHBlbmQKKyAgUHlVbmljb2RlX0FwcGVuZEFuZERlbD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0FwcGVuZEFuZERlbAorICBQeVVuaWNvZGVfQXNBU0NJSVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0FzQVNDSUlTdHJpbmcKKyAgUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZz1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0FzQ2hhcm1hcFN0cmluZworICBQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfQXNEZWNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfQXNEZWNvZGVkVW5pY29kZQorICBQeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfQXNFbmNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Bc0VuY29kZWRTdHJpbmcKKyAgUHlVbmljb2RlX0FzRW5jb2RlZFVuaWNvZGU9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Bc0VuY29kZWRVbmljb2RlCisgIFB5VW5pY29kZV9Bc0xhdGluMVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0FzTGF0aW4xU3RyaW5nCisgIFB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmcKKyAgUHlVbmljb2RlX0FzVVRGMTZTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Bc1VURjE2U3RyaW5nCisgIFB5VW5pY29kZV9Bc1VURjMyU3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfQXNVVEYzMlN0cmluZworICBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfQXNVVEY4U3RyaW5nCisgIFB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKKyAgUHlVbmljb2RlX0FzV2lkZUNoYXI9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Bc1dpZGVDaGFyCisgIFB5VW5pY29kZV9DbGVhckZyZWVsaXN0PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfQ2xlYXJGcmVlbGlzdAorICBQeVVuaWNvZGVfQ29tcGFyZT1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0NvbXBhcmUKKyAgUHlVbmljb2RlX0NvbmNhdD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0NvbmNhdAorICBQeVVuaWNvZGVfQ29udGFpbnM9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Db250YWlucworICBQeVVuaWNvZGVfQ291bnQ9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Db3VudAorICBQeVVuaWNvZGVfRGVjb2RlPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlCisgIFB5VW5pY29kZV9EZWNvZGVBU0NJST1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0RlY29kZUFTQ0lJCisgIFB5VW5pY29kZV9EZWNvZGVDaGFybWFwPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlQ2hhcm1hcAorICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlRlNEZWZhdWx0CisgIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZQorICBQeVVuaWNvZGVfRGVjb2RlTGF0aW4xPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlTGF0aW4xCisgIFB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlUmF3VW5pY29kZUVzY2FwZQorICBQeVVuaWNvZGVfRGVjb2RlVVRGMTY9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEYxNgorICBQeVVuaWNvZGVfRGVjb2RlVVRGMTZTdGF0ZWZ1bD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjE2U3RhdGVmdWwKKyAgUHlVbmljb2RlX0RlY29kZVVURjMyPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMzIKKyAgUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWw9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEYzMlN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVVEY4PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGOAorICBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGOFN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRGVjb2RlVW5pY29kZUVzY2FwZQorICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXI9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9GU0NvbnZlcnRlcgorICBQeVVuaWNvZGVfRlNEZWNvZGVyPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRlNEZWNvZGVyCisgIFB5VW5pY29kZV9GaW5kPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRmluZAorICBQeVVuaWNvZGVfRm9ybWF0PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRm9ybWF0CisgIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0Zyb21FbmNvZGVkT2JqZWN0CisgIFB5VW5pY29kZV9Gcm9tRm9ybWF0PXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRnJvbUZvcm1hdAorICBQeVVuaWNvZGVfRnJvbUZvcm1hdFY9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Gcm9tRm9ybWF0VgorICBQeVVuaWNvZGVfRnJvbU9iamVjdD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0Zyb21PYmplY3QKKyAgUHlVbmljb2RlX0Zyb21PcmRpbmFsPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfRnJvbU9yZGluYWwKKyAgUHlVbmljb2RlX0Zyb21TdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Gcm9tU3RyaW5nCisgIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0Zyb21TdHJpbmdBbmRTaXplCisgIFB5VW5pY29kZV9Gcm9tV2lkZUNoYXI9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9Gcm9tV2lkZUNoYXIKKyAgUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZz1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0dldERlZmF1bHRFbmNvZGluZworICBQeVVuaWNvZGVfR2V0U2l6ZT1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0dldFNpemUKKyAgUHlVbmljb2RlX0lzSWRlbnRpZmllcj1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0lzSWRlbnRpZmllcgorICBQeVVuaWNvZGVfSm9pbj1weXRob24zNC5QeVVuaWNvZGVVQ1MyX0pvaW4KKyAgUHlVbmljb2RlX1BhcnRpdGlvbj1weXRob24zNC5QeVVuaWNvZGVVQ1MyX1BhcnRpdGlvbgorICBQeVVuaWNvZGVfUlBhcnRpdGlvbj1weXRob24zNC5QeVVuaWNvZGVVQ1MyX1JQYXJ0aXRpb24KKyAgUHlVbmljb2RlX1JTcGxpdD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX1JTcGxpdAorICBQeVVuaWNvZGVfUmVwbGFjZT1weXRob24zNC5QeVVuaWNvZGVVQ1MyX1JlcGxhY2UKKyAgUHlVbmljb2RlX1Jlc2l6ZT1weXRob24zNC5QeVVuaWNvZGVVQ1MyX1Jlc2l6ZQorICBQeVVuaWNvZGVfUmljaENvbXBhcmU9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9SaWNoQ29tcGFyZQorICBQeVVuaWNvZGVfU2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfU2V0RGVmYXVsdEVuY29kaW5nCisgIFB5VW5pY29kZV9TcGxpdD1weXRob24zNC5QeVVuaWNvZGVVQ1MyX1NwbGl0CisgIFB5VW5pY29kZV9TcGxpdGxpbmVzPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfU3BsaXRsaW5lcworICBQeVVuaWNvZGVfVGFpbG1hdGNoPXB5dGhvbjM0LlB5VW5pY29kZVVDUzJfVGFpbG1hdGNoCisgIFB5VW5pY29kZV9UcmFuc2xhdGU9cHl0aG9uMzQuUHlVbmljb2RlVUNTMl9UcmFuc2xhdGUKKyAgUHlVbmljb2RlX0J1aWxkRW5jb2RpbmdNYXA9cHl0aG9uMzQuUHlVbmljb2RlX0J1aWxkRW5jb2RpbmdNYXAKKyAgUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmc9cHl0aG9uMzQuUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcKKyAgUHlVbmljb2RlX0RlY29kZVVURjc9cHl0aG9uMzQuUHlVbmljb2RlX0RlY29kZVVURjcKKyAgUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bD1weXRob24zNC5QeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsCisgIFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQ9cHl0aG9uMzQuUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdAorICBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZz1weXRob24zNC5QeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZworICBQeVVuaWNvZGVfSW50ZXJuSW1tb3J0YWw9cHl0aG9uMzQuUHlVbmljb2RlX0ludGVybkltbW9ydGFsCisgIFB5VW5pY29kZV9JbnRlcm5JblBsYWNlPXB5dGhvbjM0LlB5VW5pY29kZV9JbnRlcm5JblBsYWNlCisgIFB5VW5pY29kZV9UeXBlPXB5dGhvbjM0LlB5VW5pY29kZV9UeXBlIERBVEEKKyAgUHlXZWFrcmVmX0dldE9iamVjdD1weXRob24zNC5QeVdlYWtyZWZfR2V0T2JqZWN0IERBVEEKKyAgUHlXZWFrcmVmX05ld1Byb3h5PXB5dGhvbjM0LlB5V2Vha3JlZl9OZXdQcm94eQorICBQeVdlYWtyZWZfTmV3UmVmPXB5dGhvbjM0LlB5V2Vha3JlZl9OZXdSZWYKKyAgUHlXcmFwcGVyRGVzY3JfVHlwZT1weXRob24zNC5QeVdyYXBwZXJEZXNjcl9UeXBlIERBVEEKKyAgUHlXcmFwcGVyX05ldz1weXRob24zNC5QeVdyYXBwZXJfTmV3CisgIFB5WmlwX1R5cGU9cHl0aG9uMzQuUHlaaXBfVHlwZSBEQVRBCisgIFB5X0FkZFBlbmRpbmdDYWxsPXB5dGhvbjM0LlB5X0FkZFBlbmRpbmdDYWxsCisgIFB5X0F0RXhpdD1weXRob24zNC5QeV9BdEV4aXQKKyAgUHlfQnVpbGRWYWx1ZT1weXRob24zNC5QeV9CdWlsZFZhbHVlCisgIFB5X0NvbXBpbGVTdHJpbmc9cHl0aG9uMzQuUHlfQ29tcGlsZVN0cmluZworICBQeV9EZWNSZWY9cHl0aG9uMzQuUHlfRGVjUmVmCisgIFB5X0VuZEludGVycHJldGVyPXB5dGhvbjM0LlB5X0VuZEludGVycHJldGVyCisgIFB5X0V4aXQ9cHl0aG9uMzQuUHlfRXhpdAorICBQeV9GYXRhbEVycm9yPXB5dGhvbjM0LlB5X0ZhdGFsRXJyb3IKKyAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZz1weXRob24zNC5QeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nIERBVEEKKyAgUHlfRmluYWxpemU9cHl0aG9uMzQuUHlfRmluYWxpemUKKyAgUHlfR2V0QnVpbGRJbmZvPXB5dGhvbjM0LlB5X0dldEJ1aWxkSW5mbworICBQeV9HZXRDb21waWxlcj1weXRob24zNC5QeV9HZXRDb21waWxlcgorICBQeV9HZXRDb3B5cmlnaHQ9cHl0aG9uMzQuUHlfR2V0Q29weXJpZ2h0CisgIFB5X0dldEV4ZWNQcmVmaXg9cHl0aG9uMzQuUHlfR2V0RXhlY1ByZWZpeAorICBQeV9HZXRQYXRoPXB5dGhvbjM0LlB5X0dldFBhdGgKKyAgUHlfR2V0UGxhdGZvcm09cHl0aG9uMzQuUHlfR2V0UGxhdGZvcm0KKyAgUHlfR2V0UHJlZml4PXB5dGhvbjM0LlB5X0dldFByZWZpeAorICBQeV9HZXRQcm9ncmFtRnVsbFBhdGg9cHl0aG9uMzQuUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoCisgIFB5X0dldFByb2dyYW1OYW1lPXB5dGhvbjM0LlB5X0dldFByb2dyYW1OYW1lCisgIFB5X0dldFB5dGhvbkhvbWU9cHl0aG9uMzQuUHlfR2V0UHl0aG9uSG9tZQorICBQeV9HZXRSZWN1cnNpb25MaW1pdD1weXRob24zNC5QeV9HZXRSZWN1cnNpb25MaW1pdAorICBQeV9HZXRWZXJzaW9uPXB5dGhvbjM0LlB5X0dldFZlcnNpb24KKyAgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZz1weXRob24zNC5QeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nIERBVEEKKyAgUHlfSW5jUmVmPXB5dGhvbjM0LlB5X0luY1JlZgorICBQeV9Jbml0aWFsaXplPXB5dGhvbjM0LlB5X0luaXRpYWxpemUKKyAgUHlfSW5pdGlhbGl6ZUV4PXB5dGhvbjM0LlB5X0luaXRpYWxpemVFeAorICBQeV9Jc0luaXRpYWxpemVkPXB5dGhvbjM0LlB5X0lzSW5pdGlhbGl6ZWQKKyAgUHlfTWFpbj1weXRob24zNC5QeV9NYWluCisgIFB5X01ha2VQZW5kaW5nQ2FsbHM9cHl0aG9uMzQuUHlfTWFrZVBlbmRpbmdDYWxscworICBQeV9OZXdJbnRlcnByZXRlcj1weXRob24zNC5QeV9OZXdJbnRlcnByZXRlcgorICBQeV9SZXByRW50ZXI9cHl0aG9uMzQuUHlfUmVwckVudGVyCisgIFB5X1JlcHJMZWF2ZT1weXRob24zNC5QeV9SZXByTGVhdmUKKyAgUHlfU2V0UHJvZ3JhbU5hbWU9cHl0aG9uMzQuUHlfU2V0UHJvZ3JhbU5hbWUKKyAgUHlfU2V0UHl0aG9uSG9tZT1weXRob24zNC5QeV9TZXRQeXRob25Ib21lCisgIFB5X1NldFJlY3Vyc2lvbkxpbWl0PXB5dGhvbjM0LlB5X1NldFJlY3Vyc2lvbkxpbWl0CisgIFB5X1N5bXRhYmxlU3RyaW5nPXB5dGhvbjM0LlB5X1N5bXRhYmxlU3RyaW5nCisgIFB5X1ZhQnVpbGRWYWx1ZT1weXRob24zNC5QeV9WYUJ1aWxkVmFsdWUKKyAgX1B5RXJyX0JhZEludGVybmFsQ2FsbD1weXRob24zNC5fUHlFcnJfQmFkSW50ZXJuYWxDYWxsCisgIF9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQ9cHl0aG9uMzQuX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVAorICBfUHlPYmplY3RfQ2FsbE1ldGhvZF9TaXplVD1weXRob24zNC5fUHlPYmplY3RfQ2FsbE1ldGhvZF9TaXplVAorICBfUHlPYmplY3RfR0NfTWFsbG9jPXB5dGhvbjM0Ll9QeU9iamVjdF9HQ19NYWxsb2MKKyAgX1B5T2JqZWN0X0dDX05ldz1weXRob24zNC5fUHlPYmplY3RfR0NfTmV3CisgIF9QeU9iamVjdF9HQ19OZXdWYXI9cHl0aG9uMzQuX1B5T2JqZWN0X0dDX05ld1ZhcgorICBfUHlPYmplY3RfR0NfUmVzaXplPXB5dGhvbjM0Ll9QeU9iamVjdF9HQ19SZXNpemUKKyAgX1B5T2JqZWN0X05ldz1weXRob24zNC5fUHlPYmplY3RfTmV3CisgIF9QeU9iamVjdF9OZXdWYXI9cHl0aG9uMzQuX1B5T2JqZWN0X05ld1ZhcgorICBfUHlTdGF0ZV9BZGRNb2R1bGU9cHl0aG9uMzQuX1B5U3RhdGVfQWRkTW9kdWxlCisgIF9QeVRocmVhZFN0YXRlX0luaXQ9cHl0aG9uMzQuX1B5VGhyZWFkU3RhdGVfSW5pdAorICBfUHlUaHJlYWRTdGF0ZV9QcmVhbGxvYz1weXRob24zNC5fUHlUaHJlYWRTdGF0ZV9QcmVhbGxvYworICBfUHlUcmFzaF9kZWxldGVfbGF0ZXI9cHl0aG9uMzQuX1B5VHJhc2hfZGVsZXRlX2xhdGVyIERBVEEKKyAgX1B5VHJhc2hfZGVsZXRlX25lc3Rpbmc9cHl0aG9uMzQuX1B5VHJhc2hfZGVsZXRlX25lc3RpbmcgREFUQQorICBfUHlUcmFzaF9kZXBvc2l0X29iamVjdD1weXRob24zNC5fUHlUcmFzaF9kZXBvc2l0X29iamVjdAorICBfUHlUcmFzaF9kZXN0cm95X2NoYWluPXB5dGhvbjM0Ll9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW4KKyAgX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZT1weXRob24zNC5fUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlIERBVEEKKyAgX1B5V2Vha3JlZl9Qcm94eVR5cGU9cHl0aG9uMzQuX1B5V2Vha3JlZl9Qcm94eVR5cGUgREFUQQorICBfUHlXZWFrcmVmX1JlZlR5cGU9cHl0aG9uMzQuX1B5V2Vha3JlZl9SZWZUeXBlIERBVEEKKyAgX1B5X0J1aWxkVmFsdWVfU2l6ZVQ9cHl0aG9uMzQuX1B5X0J1aWxkVmFsdWVfU2l6ZVQKKyAgX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQ9cHl0aG9uMzQuX1B5X0NoZWNrUmVjdXJzaW9uTGltaXQgREFUQQorICBfUHlfQ2hlY2tSZWN1cnNpdmVDYWxsPXB5dGhvbjM0Ll9QeV9DaGVja1JlY3Vyc2l2ZUNhbGwKKyAgX1B5X0RlYWxsb2M9cHl0aG9uMzQuX1B5X0RlYWxsb2MKKyAgX1B5X0VsbGlwc2lzT2JqZWN0PXB5dGhvbjM0Ll9QeV9FbGxpcHNpc09iamVjdCBEQVRBCisgIF9QeV9GYWxzZVN0cnVjdD1weXRob24zNC5fUHlfRmFsc2VTdHJ1Y3QgREFUQQorICBfUHlfTm9uZVN0cnVjdD1weXRob24zNC5fUHlfTm9uZVN0cnVjdCBEQVRBCisgIF9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdD1weXRob24zNC5fUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3QgREFUQQorICBfUHlfU3dhcHBlZE9wPXB5dGhvbjM0Ll9QeV9Td2FwcGVkT3AgREFUQQorICBfUHlfVHJ1ZVN0cnVjdD1weXRob24zNC5fUHlfVHJ1ZVN0cnVjdCBEQVRBCisgIF9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQ9cHl0aG9uMzQuX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVAorICBfUHlBcmdfUGFyc2VfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1BhcnNlX1NpemVUCisgIF9QeUFyZ19QYXJzZVR1cGxlX1NpemVUPXB5dGhvbjM0Ll9QeUFyZ19QYXJzZVR1cGxlX1NpemVUCisgIF9QeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc19TaXplVAorICBfUHlBcmdfVmFQYXJzZV9TaXplVD1weXRob24zNC5fUHlBcmdfVmFQYXJzZV9TaXplVAorICBfUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHNfU2l6ZVQ9cHl0aG9uMzQuX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUCisgIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjM0Ll9QeV9CdWlsZFZhbHVlX1NpemVUCmRpZmYgLS1naXQgYS9QQy9weXRob24zLm1hayBiL1BDL3B5dGhvbjMubWFrCmluZGV4IDJlYzkxODUuLjhmOWQ0NjggMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbjMubWFrCisrKyBiL1BDL3B5dGhvbjMubWFrCkBAIC0xLDEwICsxLDEwIEBACi0kKE91dERpcilweXRob24zLmRsbDoJcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzNzdHViLmxpYgotCWNsIC9MRCAvRmUkKE91dERpcilweXRob24zLmRsbCBweXRob24zZGxsLmMgcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzNzdHViLmxpYgorJChPdXREaXIpcHl0aG9uMy5kbGw6CXB5dGhvbjMuZGVmICQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWIKKwljbCAvTEQgL0ZlJChPdXREaXIpcHl0aG9uMy5kbGwgcHl0aG9uM2RsbC5jIHB5dGhvbjMuZGVmICQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWIKIAotJChPdXREaXIpcHl0aG9uMzNzdHViLmxpYjoJcHl0aG9uMzNzdHViLmRlZgotCWxpYiAvZGVmOnB5dGhvbjMzc3R1Yi5kZWYgL291dDokKE91dERpcilweXRob24zM3N0dWIubGliIC9NQUNISU5FOiQoTUFDSElORSkKKyQoT3V0RGlyKXB5dGhvbjM0c3R1Yi5saWI6CXB5dGhvbjM0c3R1Yi5kZWYKKwlsaWIgL2RlZjpweXRob24zNHN0dWIuZGVmIC9vdXQ6JChPdXREaXIpcHl0aG9uMzRzdHViLmxpYiAvTUFDSElORTokKE1BQ0hJTkUpCiAKIGNsZWFuOgotCWRlbCAkKE91dERpcilweXRob24zLmRsbCAkKE91dERpcilweXRob24zLmxpYiAkKE91dERpcilweXRob24zM3N0dWIubGliICQoT3V0RGlyKXB5dGhvbjMuZXhwICQoT3V0RGlyKXB5dGhvbjMzc3R1Yi5leHAKKwlkZWwgJChPdXREaXIpcHl0aG9uMy5kbGwgJChPdXREaXIpcHl0aG9uMy5saWIgJChPdXREaXIpcHl0aG9uMzRzdHViLmxpYiAkKE91dERpcilweXRob24zLmV4cCAkKE91dERpcilweXRob24zNHN0dWIuZXhwCiAKIHJlYnVpbGQ6IGNsZWFuICQoT3V0RGlyKXB5dGhvbjMuZGxsCmRpZmYgLS1naXQgYS9QQy9weXRob24zM2dlbi5weSBiL1BDL3B5dGhvbjM0Z2VuLnB5CnNpbWlsYXJpdHkgaW5kZXggNzclCnJlbmFtZSBmcm9tIFBDL3B5dGhvbjMzZ2VuLnB5CnJlbmFtZSB0byBQQy9weXRob24zNGdlbi5weQppbmRleCAyMWI5ZjU2Li4xODBjZTExIDEwMDY0NAotLS0gYS9QQy9weXRob24zM2dlbi5weQorKysgYi9QQy9weXRob24zNGdlbi5weQpAQCAtMSw5ICsxLDkgQEAKLSMgR2VuZXJhdGUgcHl0aG9uMzNzdHViLmRlZiBvdXQgb2YgcHl0aG9uMy5kZWYKKyMgR2VuZXJhdGUgcHl0aG9uMzRzdHViLmRlZiBvdXQgb2YgcHl0aG9uMy5kZWYKICMgVGhlIHJlZ3VsYXIgaW1wb3J0IGxpYnJhcnkgY2Fubm90IGJlIHVzZWQsCiAjIHNpbmNlIGl0IGRvZXNuJ3QgcHJvdmlkZSB0aGUgcmlnaHQgc3ltYm9scyBmb3IKICMgZGF0YSBmb3J3YXJkaW5nCi1vdXQgPSBvcGVuKCJweXRob24zM3N0dWIuZGVmIiwgInciKQotb3V0LndyaXRlKCdMSUJSQVJZICJweXRob24zMyJcbicpCitvdXQgPSBvcGVuKCJweXRob24zNHN0dWIuZGVmIiwgInciKQorb3V0LndyaXRlKCdMSUJSQVJZICJweXRob24zNCJcbicpCiBvdXQud3JpdGUoJ0VYUE9SVFNcbicpCiAKIGlucCA9IG9wZW4oInB5dGhvbjMuZGVmIikKQEAgLTE0LDcgKzE0LDcgQEAKIGFzc2VydCBsaW5lLnN0cmlwKCk9PSdFWFBPUlRTJwogCiBmb3IgbGluZSBpbiBpbnA6Ci0gICAgIyBTWU0xPXB5dGhvbjMzLlNZTTJbIERBVEFdCisgICAgIyBTWU0xPXB5dGhvbjM0LlNZTTJbIERBVEFdCiAgICAgaGVhZCwgdGFpbCA9IGxpbmUuc3BsaXQoJy4nKQogICAgIGlmICdEQVRBJyBpbiB0YWlsOgogICAgICAgICBzeW1ib2wsIHRhaWwgPSB0YWlsLnNwbGl0KCcgJykKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbjMzc3R1Yi5kZWYgYi9QQy9weXRob24zNHN0dWIuZGVmCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFBDL3B5dGhvbjMzc3R1Yi5kZWYKcmVuYW1lIHRvIFBDL3B5dGhvbjM0c3R1Yi5kZWYKaW5kZXggNWI4Y2NmNi4uYzBmM2IzNSAxMDA2NDQKLS0tIGEvUEMvcHl0aG9uMzNzdHViLmRlZgorKysgYi9QQy9weXRob24zNHN0dWIuZGVmCkBAIC0xLDQgKzEsNCBAQAotTElCUkFSWSAicHl0aG9uMzMiCitMSUJSQVJZICJweXRob24zNCIKIEVYUE9SVFMKIFB5QXJnX1BhcnNlCiBQeUFyZ19QYXJzZVR1cGxlCkBAIC0zNyw2ICszNyw3IEBACiBQeUNGdW5jdGlvbl9HZXRGbGFncwogUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24KIFB5Q0Z1bmN0aW9uX0dldFNlbGYKK1B5Q0Z1bmN0aW9uX05ldwogUHlDRnVuY3Rpb25fTmV3RXgKIFB5Q0Z1bmN0aW9uX1R5cGUKIFB5Q2FsbEl0ZXJfTmV3CmRpZmYgLS1naXQgYS9QQy9yZWFkbWUudHh0IGIvUEMvcmVhZG1lLnR4dAppbmRleCBmZGMwOWFiLi42MGYyMzFlIDEwMDY0NAotLS0gYS9QQy9yZWFkbWUudHh0CisrKyBiL1BDL3JlYWRtZS50eHQKQEAgLTc5LDE5ICs3OSw2IEBACiBUaGUgc3ViZGlyZWN0b3JpZXMgVkM2LCBWUzcuMSBhbmQgVlM4LjAgY29udGFpbiBsZWdhY3kgc3VwcG9ydCBvbGRlcgogdmVyc2lvbnMgb2YgTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8uIFNlZSBQQ2J1aWxkL3JlYWRtZS50eHQuCiAKLUVNWCBkZXZlbG9wbWVudCB0b29scyBmb3IgT1MvMgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVNlZSBvczJlbXgvcmVhZG1lLnR4dC4gVGhpcyBwbGF0Zm9ybSBpcyBtYWludGFpbmVkIGJ5IEFuZHJldyBNYWNJbnR5cmUuCi0KLUlCTSBWaXN1YWxBZ2UgQy9DKysgZm9yIE9TLzIKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotU2VlIG9zMnZhY3BwL3JlYWRtZS50eHQuICBUaGlzIHBsYXRmb3JtIGlzIHN1cHBvcnRlZCBieSBKZWZmIFJ1c2guCi0KLU5PVEU6IFN1cHBvcnQgZm9yIG9zMnZhY3BwIG1heSBiZSBkcm9wcGVkIGluIHRoZSBuZWFyIGZ1dHVyZS4gUGxlYXNlIG1vdmUKLSAgICAgIHRvIEVNWC4KLQogTm90ZSBmb3IgV2luZG93cyAzLnggYW5kIERPUyB1c2VycwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCmRpZmYgLS1naXQgYS9QQy93OXhwb3Blbi5jIGIvUEMvdzl4cG9wZW4uYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjM5NzhkZC4uMDAwMDAwMAotLS0gYS9QQy93OXhwb3Blbi5jCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLS8qCi0gKiB3OXhwb3Blbi5jCi0gKgotICogU2VydmVzIGFzIGFuIGludGVybWVkaWF0ZSBzdHViIFdpbjMyIGNvbnNvbGUgYXBwbGljYXRpb24gdG8KLSAqIGF2b2lkIGEgaGFuZ2luZyBwaXBlIHdoZW4gcmVkaXJlY3RpbmcgMTYtYml0IGNvbnNvbGUgYmFzZWQKLSAqIHByb2dyYW1zIChpbmNsdWRpbmcgTVMtRE9TIGNvbnNvbGUgYmFzZWQgcHJvZ3JhbXMgYW5kIGJhdGNoCi0gKiBmaWxlcykgb24gV2luZG93IDk1IGFuZCBXaW5kb3dzIDk4LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyB0byBiZSBsYXVuY2hlZCB3aXRoIHJlZGlyZWN0ZWQgc3RhbmRhcmQKLSAqIGhhbmRsZXMuIEl0IHdpbGwgbGF1bmNoIHRoZSBjb21tYW5kIGxpbmUgc3BlY2lmaWVkIDE2LWJpdAotICogY29uc29sZSBiYXNlZCBhcHBsaWNhdGlvbiBpbiB0aGUgc2FtZSBjb25zb2xlLCBmb3J3YXJkaW5nCi0gKiBpdHMgb3duIHJlZGlyZWN0ZWQgc3RhbmRhcmQgaGFuZGxlcyB0byB0aGUgMTYtYml0IGNoaWxkLgotCi0gKiBBS0Egc29sdXRpb24gdG8gdGhlIHByb2JsZW0gZGVzY3JpYmVkIGluIEtCOiBRMTUwOTU2LgotICovICAgIAotCi0jZGVmaW5lIFdJTjMyX0xFQU5fQU5EX01FQU4KLSNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdGRsaWIuaD4gIC8qIGZvciBtYWxsb2MgYW5kIGl0cyBmcmllbmRzICovCi0KLWNvbnN0IGNoYXIgKnVzYWdlID0KLSJUaGlzIHByb2dyYW0gaXMgdXNlZCBieSBQeXRob24ncyBvcy5wb3BlbiBmdW5jdGlvblxuIgotInRvIHdvcmsgYXJvdW5kIGEgbGltaXRhdGlvbiBpbiBXaW5kb3dzIDk1Lzk4LiAgSXQgaXNcbiIKLSJub3QgZGVzaWduZWQgdG8gYmUgdXNlZCBhcyBhIHN0YW5kLWFsb25lIHByb2dyYW0uIjsKLQotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLXsKLSAgICBCT09MIGJSZXQ7Ci0gICAgU1RBUlRVUElORk8gc2k7Ci0gICAgUFJPQ0VTU19JTkZPUk1BVElPTiBwaTsKLSAgICBEV09SRCBleGl0X2NvZGU9MDsKLSAgICBzaXplX3QgY21kbGVuID0gMDsKLSAgICBpbnQgaTsKLSAgICBjaGFyICpjbWRsaW5lLCAqY21kbGluZWZpbGw7Ci0KLSAgICBpZiAoYXJnYyA8IDIpIHsKLSAgICAgICAgaWYgKEdldEZpbGVUeXBlKEdldFN0ZEhhbmRsZShTVERfSU5QVVRfSEFORExFKSk9PUZJTEVfVFlQRV9DSEFSKQotICAgICAgICAgICAgLyogQXR0YWNoZWQgdG8gYSBjb25zb2xlLCBhbmQgdGhlcmVmb3JlIG5vdCBleGVjdXRlZCBieSBQeXRob24KLSAgICAgICAgICAgICAgIERpc3BsYXkgYSBtZXNzYWdlIGJveCBmb3IgdGhlIGlucXVpc2l0aXZlIHVzZXIKLSAgICAgICAgICAgICovCi0gICAgICAgICAgICBNZXNzYWdlQm94KE5VTEwsIHVzYWdlLCBhcmd2WzBdLCBNQl9PSyk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgLyogRWVlayAtIGV4ZWN1dGVkIGJ5IFB5dGhvbiwgYnV0IGFyZ3MgYXJlIHNjcmV3ZWQhCi0gICAgICAgICAgICAgICBXcml0ZSBhbiBlcnJvciBtZXNzYWdlIHRvIHN0ZG91dCBzbyB0aGVyZSBpcyBhdAotICAgICAgICAgICAgICAgbGVhc3Qgc29tZSBjbHVlIGZvciB0aGUgZW5kIHVzZXIgd2hlbiBpdCBhcHBlYXJzCi0gICAgICAgICAgICAgICBpbiB0aGVpciBvdXRwdXQuCi0gICAgICAgICAgICAgICBBIG1lc3NhZ2UgYm94IHdvdWxkIGJlIGhpZGRlbiBhbmQgYmxvY2tzIHRoZSBhcHAuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIGZwcmludGYoc3Rkb3V0LCAiSW50ZXJuYWwgcG9wZW4gZXJyb3IgLSBubyBhcmdzIHNwZWNpZmllZFxuJXNcbiIsIHVzYWdlKTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gMTsKLSAgICB9Ci0gICAgLyogQnVpbGQgdXAgdGhlIGNvbW1hbmQtbGluZSBmcm9tIHRoZSBhcmdzLgotICAgICAgIEFyZ3Mgd2l0aCBhIHNwYWNlIGFyZSBxdW90ZWQsIGV4aXN0aW5nIHF1b3RlcyBhcmUgZXNjYXBlZC4KLSAgICAgICBUbyBrZWVwIHRoaW5ncyBzaW1wbGUgY2FsY3VsYXRpbmcgdGhlIGJ1ZmZlciBzaXplLCB3ZSBhc3N1bWUKLSAgICAgICBldmVyeSBjaGFyYWN0ZXIgaXMgYSBxdW90ZSAtIGllLCB3ZSBhbGxvY2F0ZSBkb3VibGUgd2hhdCB3ZSBuZWVkCi0gICAgICAgaW4gdGhlIHdvcnN0IGNhc2UuICBBcyB0aGlzIGlzIG9ubHkgZG91YmxlIHRoZSBjb21tYW5kIGxpbmUgcGFzc2VkCi0gICAgICAgdG8gdXMsIHRoZXJlIGlzIGEgZ29vZCBjaGFuY2UgdGhpcyBpcyByZWFzb25hYmx5IHNtYWxsLCBzbyB0aGUgdG90YWwgCi0gICAgICAgYWxsb2NhdGlvbiB3aWxsIGFsbW9zdCBhbHdheXMgYmUgPCA1MTIgYnl0ZXMuCi0gICAgKi8KLSAgICBmb3IgKGk9MTtpPGFyZ2M7aSsrKQotICAgICAgICBjbWRsZW4gKz0gc3RybGVuKGFyZ3ZbaV0pKjIgKyAzOyAvKiBvbmUgc3BhY2UsIG1heWJlIDIgcXVvdGVzICovCi0gICAgY21kbGluZSA9IGNtZGxpbmVmaWxsID0gKGNoYXIgKiltYWxsb2MoY21kbGVuKzEpOwotICAgIGlmIChjbWRsaW5lID09IE5VTEwpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBmb3IgKGk9MTtpPGFyZ2M7aSsrKSB7Ci0gICAgICAgIGNvbnN0IGNoYXIgKmFyZ2xvb2s7Ci0gICAgICAgIGludCBiUXVvdGUgPSBzdHJjaHIoYXJndltpXSwgJyAnKSAhPSBOVUxMOwotICAgICAgICBpZiAoYlF1b3RlKQotICAgICAgICAgICAgKmNtZGxpbmVmaWxsKysgPSAnIic7Ci0gICAgICAgIC8qIGVzY2FwZSBxdW90ZXMgKi8KLSAgICAgICAgZm9yIChhcmdsb29rPWFyZ3ZbaV07KmFyZ2xvb2s7YXJnbG9vaysrKSB7Ci0gICAgICAgICAgICBpZiAoKmFyZ2xvb2s9PSciJykKLSAgICAgICAgICAgICAgICAqY21kbGluZWZpbGwrKyA9ICdcXCc7Ci0gICAgICAgICAgICAqY21kbGluZWZpbGwrKyA9ICphcmdsb29rOwotICAgICAgICB9Ci0gICAgICAgIGlmIChiUXVvdGUpCi0gICAgICAgICAgICAqY21kbGluZWZpbGwrKyA9ICciJzsKLSAgICAgICAgKmNtZGxpbmVmaWxsKysgPSAnICc7Ci0gICAgfQotICAgICpjbWRsaW5lZmlsbCA9ICdcMCc7Ci0KLSAgICAvKiBNYWtlIGNoaWxkIHByb2Nlc3MgdXNlIHRoaXMgYXBwJ3Mgc3RhbmRhcmQgZmlsZXMuICovCi0gICAgWmVyb01lbW9yeSgmc2ksIHNpemVvZiBzaSk7Ci0gICAgc2kuY2IgPSBzaXplb2Ygc2k7Ci0gICAgc2kuZHdGbGFncyA9IFNUQVJURl9VU0VTVERIQU5ETEVTOwotICAgIHNpLmhTdGRJbnB1dCA9IEdldFN0ZEhhbmRsZShTVERfSU5QVVRfSEFORExFKTsKLSAgICBzaS5oU3RkT3V0cHV0ID0gR2V0U3RkSGFuZGxlKFNURF9PVVRQVVRfSEFORExFKTsKLSAgICBzaS5oU3RkRXJyb3IgPSBHZXRTdGRIYW5kbGUoU1REX0VSUk9SX0hBTkRMRSk7Ci0KLSAgICBiUmV0ID0gQ3JlYXRlUHJvY2VzcygKLSAgICAgICAgTlVMTCwgY21kbGluZSwKLSAgICAgICAgTlVMTCwgTlVMTCwKLSAgICAgICAgVFJVRSwgMCwKLSAgICAgICAgTlVMTCwgTlVMTCwKLSAgICAgICAgJnNpLCAmcGkKLSAgICAgICAgKTsKLQotICAgIGZyZWUoY21kbGluZSk7Ci0KLSAgICBpZiAoYlJldCkgewotICAgICAgICBpZiAoV2FpdEZvclNpbmdsZU9iamVjdChwaS5oUHJvY2VzcywgSU5GSU5JVEUpICE9IFdBSVRfRkFJTEVEKSB7Ci0JICAgIEdldEV4aXRDb2RlUHJvY2VzcyhwaS5oUHJvY2VzcywgJmV4aXRfY29kZSk7Ci0JfQotICAgICAgICBDbG9zZUhhbmRsZShwaS5oUHJvY2Vzcyk7Ci0gICAgICAgIENsb3NlSGFuZGxlKHBpLmhUaHJlYWQpOwotICAgICAgICByZXR1cm4gZXhpdF9jb2RlOwotICAgIH0KLQotICAgIHJldHVybiAxOwotfQpkaWZmIC0tZ2l0IGEvUEMvd2lucmVnLmMgYi9QQy93aW5yZWcuYwppbmRleCAzOGE5ZTY5Li5hMjUxMWQ1IDEwMDY0NAotLS0gYS9QQy93aW5yZWcuYworKysgYi9QQy93aW5yZWcuYwpAQCAtMTc5NCw5ICsxNzk0LDkgQEAKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkhLRVlUeXBlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopJlB5SEtFWV9UeXBlKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9JTkNSRUYoUHlFeGNfV2luZG93c0Vycm9yKTsKKyAgICBQeV9JTkNSRUYoUHlFeGNfT1NFcnJvcik7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJlcnJvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX1dpbmRvd3NFcnJvcikgIT0gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfT1NFcnJvcikgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBBZGQgdGhlIHJlbGV2YW50IGNvbnN0YW50cyAqLwpkaWZmIC0tZ2l0IGEvUENidWlsZC93OXhwb3Blbi52Y3hwcm9qIGIvUENidWlsZC9fc2hhMy52Y3hwcm9qCnNpbWlsYXJpdHkgaW5kZXggNjUlCnJlbmFtZSBmcm9tIFBDYnVpbGQvdzl4cG9wZW4udmN4cHJvagpyZW5hbWUgdG8gUENidWlsZC9fc2hhMy52Y3hwcm9qCmluZGV4IGQxYWZlMjIuLmYyNGNiZGMgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvdzl4cG9wZW4udmN4cHJvagorKysgYi9QQ2J1aWxkL19zaGEzLnZjeHByb2oKQEAgLTM1LDEwNCArMzUsOTUgQEAKICAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICA8L0l0ZW1Hcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+dzl4cG9wZW48L1Jvb3ROYW1lc3BhY2U+CisgICAgPFByb2plY3RHdWlkPnsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT5fc2hhMzwvUm9vdE5hbWVzcGFjZT4KKyAgICA8S2V5d29yZD5XaW4zMlByb2o8L0tleXdvcmQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAuRGVmYXVsdC5wcm9wcyIgLz4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8V2luMzInIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KICAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5wcm9wcyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25TZXR0aW5ncyI+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InBnaW5zdHJ1bWVudC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlkX2QucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9InBndXBkYXRlLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR0luc3RydW1lbnR8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icmVsZWFzZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9ImRlYnVnLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8UHJvcGVydHlHcm91cCBMYWJlbD0iVXNlck1hY3JvcyIgLz4KICAgPFByb3BlcnR5R3JvdXA+Ci0gICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC40MDIxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgorICAgIDxfUHJvamVjdEZpbGVWZXJzaW9uPjEwLjAuMzAzMTkuMTwvX1Byb2plY3RGaWxlVmVyc2lvbj4KICAgICA8Q29kZUFuYWx5c2lzUnVsZVNldCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+QWxsUnVsZXMucnVsZXNldDwvQ29kZUFuYWx5c2lzUnVsZVNldD4KICAgICA8Q29kZUFuYWx5c2lzUnVsZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CiAgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIiAvPgpAQCAtMTU5LDEyNyArMTUwLDY3IEBACiAgICAgPENvZGVBbmFseXNpc1J1bGVBc3NlbWJsaWVzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIiAvPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5FbmFibGVGYXN0Q2hlY2tzPC9CYXNpY1J1bnRpbWVDaGVja3M+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj4KICAgICA8TWlkbD4KICAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgogICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5EaXNhYmxlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPEJhc2ljUnVudGltZUNoZWNrcz5FbmFibGVGYXN0Q2hlY2tzPC9CYXNpY1J1bnRpbWVDaGVja3M+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZERlYnVnPC9SdW50aW1lTGlicmFyeT4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+ZmFsc2U8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPgogICAgIDxNaWRsPgogICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CiAgICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPmZhbHNlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+ZmFsc2U8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KICAgICA8TWlkbD4KICAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgogICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj5mYWxzZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPiUoQWRkaXRpb25hbERlcGVuZGVuY2llcyk8L0FkZGl0aW9uYWxEZXBlbmRlbmNpZXM+CiAgICAgICA8VGFyZ2V0TWFjaGluZT5NYWNoaW5lWDY0PC9UYXJnZXRNYWNoaW5lPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+ZmFsc2U8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgotICAgICAgPEltcG9ydExpYnJhcnk+Ci0gICAgICA8L0ltcG9ydExpYnJhcnk+CisgICAgICA8QWRkaXRpb25hbERlcGVuZGVuY2llcz4lKEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMpPC9BZGRpdGlvbmFsRGVwZW5kZW5jaWVzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfHg2NCciPgogICAgIDxNaWRsPgogICAgICAgPFRhcmdldEVudmlyb25tZW50Plg2NDwvVGFyZ2V0RW52aXJvbm1lbnQ+CiAgICAgPC9NaWRsPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPmZhbHNlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPEFkZGl0aW9uYWxEZXBlbmRlbmNpZXM+JShBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKTwvQWRkaXRpb25hbERlcGVuZGVuY2llcz4KICAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1x3OXhwb3Blbi5jIiAvPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgorICA8L0l0ZW1Hcm91cD4KKyAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcX3NoYTNcc2hhM21vZHVsZS5jIiAvPgogICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvdzl4cG9wZW4udmN4cHJvaiBiL1BDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qCnNpbWlsYXJpdHkgaW5kZXggNjUlCmNvcHkgZnJvbSBQQ2J1aWxkL3c5eHBvcGVuLnZjeHByb2oKY29weSB0byBQQ2J1aWxkL190ZXN0aW1wb3J0bXVsdGlwbGUudmN4cHJvagppbmRleCBkMWFmZTIyLi44NDk4NGZmIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3c5eHBvcGVuLnZjeHByb2oKKysrIGIvUENidWlsZC9fdGVzdGltcG9ydG11bHRpcGxlLnZjeHByb2oKQEAgLTM1LDEwNCArMzUsOTUgQEAKICAgICA8L1Byb2plY3RDb25maWd1cmF0aW9uPgogICA8L0l0ZW1Hcm91cD4KICAgPFByb3BlcnR5R3JvdXAgTGFiZWw9Ikdsb2JhbHMiPgotICAgIDxQcm9qZWN0R3VpZD57RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fTwvUHJvamVjdEd1aWQ+Ci0gICAgPFJvb3ROYW1lc3BhY2U+dzl4cG9wZW48L1Jvb3ROYW1lc3BhY2U+CisgICAgPFByb2plY3RHdWlkPnszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9PC9Qcm9qZWN0R3VpZD4KKyAgICA8Um9vdE5hbWVzcGFjZT5fdGVzdGltcG9ydG11bHRpcGxlPC9Sb290TmFtZXNwYWNlPgorICAgIDxLZXl3b3JkPldpbjMyUHJvajwvS2V5d29yZD4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRzUGF0aClcTWljcm9zb2Z0LkNwcC5EZWZhdWx0LnByb3BzIiAvPgogICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHVXBkYXRlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KLSAgICA8Q2hhcmFjdGVyU2V0Pk11bHRpQnl0ZTwvQ2hhcmFjdGVyU2V0PgorICAgIDxDb25maWd1cmF0aW9uVHlwZT5EeW5hbWljTGlicmFyeTwvQ29uZmlndXJhdGlvblR5cGU+CisgICAgPENoYXJhY3RlclNldD5Ob3RTZXQ8L0NoYXJhY3RlclNldD4KKyAgICA8V2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPnRydWU8L1dob2xlUHJvZ3JhbU9wdGltaXphdGlvbj4KICAgPC9Qcm9wZXJ0eUdyb3VwPgogICA8UHJvcGVydHlHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgTGFiZWw9IkNvbmZpZ3VyYXRpb24iPgotICAgIDxDb25maWd1cmF0aW9uVHlwZT5BcHBsaWNhdGlvbjwvQ29uZmlndXJhdGlvblR5cGU+Ci0gICAgPFVzZU9mTWZjPmZhbHNlPC9Vc2VPZk1mYz4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgogICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgorICAgIDxXaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+dHJ1ZTwvV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIExhYmVsPSJDb25maWd1cmF0aW9uIj4KLSAgICA8Q29uZmlndXJhdGlvblR5cGU+QXBwbGljYXRpb248L0NvbmZpZ3VyYXRpb25UeXBlPgotICAgIDxVc2VPZk1mYz5mYWxzZTwvVXNlT2ZNZmM+Ci0gICAgPENoYXJhY3RlclNldD5NdWx0aUJ5dGU8L0NoYXJhY3RlclNldD4KKyAgICA8Q29uZmlndXJhdGlvblR5cGU+RHluYW1pY0xpYnJhcnk8L0NvbmZpZ3VyYXRpb25UeXBlPgorICAgIDxDaGFyYWN0ZXJTZXQ+Tm90U2V0PC9DaGFyYWN0ZXJTZXQ+CisgICAgPFdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj50cnVlPC9XaG9sZVByb2dyYW1PcHRpbWl6YXRpb24+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPFByb3BlcnR5R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iQ29uZmlndXJhdGlvbiI+Ci0gICAgPENvbmZpZ3VyYXRpb25UeXBlPkFwcGxpY2F0aW9uPC9Db25maWd1cmF0aW9uVHlwZT4KLSAgICA8VXNlT2ZNZmM+ZmFsc2U8L1VzZU9mTWZjPgotICAgIDxDaGFyYWN0ZXJTZXQ+TXVsdGlCeXRlPC9DaGFyYWN0ZXJTZXQ+CisgICAgPENvbmZpZ3VyYXRpb25UeXBlPkR5bmFtaWNMaWJyYXJ5PC9Db25maWd1cmF0aW9uVHlwZT4KKyAgICA8Q2hhcmFjdGVyU2V0Pk5vdFNldDwvQ2hhcmFjdGVyU2V0PgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnByb3BzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4dGVuc2lvblNldHRpbmdzIj4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJwZ3VwZGF0ZS5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdJbnN0cnVtZW50fFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icGdpbnN0cnVtZW50LnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgorICAgIDxJbXBvcnQgUHJvamVjdD0icHlkLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIExhYmVsPSJQcm9wZXJ0eVNoZWV0cyI+CiAgICAgPEltcG9ydCBQcm9qZWN0PSIkKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMiIENvbmRpdGlvbj0iZXhpc3RzKCckKFVzZXJSb290RGlyKVxNaWNyb3NvZnQuQ3BwLiQoUGxhdGZvcm0pLnVzZXIucHJvcHMnKSIgTGFiZWw9IkxvY2FsQXBwRGF0YVBsYXRmb3JtIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0icHlwcm9qZWN0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweWRfZC5wcm9wcyIgLz4KICAgPC9JbXBvcnRHcm91cD4KICAgPEltcG9ydEdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0icGd1cGRhdGUucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5ZC5wcm9wcyIgLz4KICAgICA8SW1wb3J0IFByb2plY3Q9Ing2NC5wcm9wcyIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InJlbGVhc2UucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJwZ2luc3RydW1lbnQucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxJbXBvcnRHcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyIgTGFiZWw9IlByb3BlcnR5U2hlZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcyIgQ29uZGl0aW9uPSJleGlzdHMoJyQoVXNlclJvb3REaXIpXE1pY3Jvc29mdC5DcHAuJChQbGF0Zm9ybSkudXNlci5wcm9wcycpIiBMYWJlbD0iTG9jYWxBcHBEYXRhUGxhdGZvcm0iIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJweXByb2plY3QucHJvcHMiIC8+CisgICAgPEltcG9ydCBQcm9qZWN0PSJweWQucHJvcHMiIC8+CiAgICAgPEltcG9ydCBQcm9qZWN0PSJ4NjQucHJvcHMiIC8+Ci0gICAgPEltcG9ydCBQcm9qZWN0PSJyZWxlYXNlLnByb3BzIiAvPgogICA8L0ltcG9ydEdyb3VwPgogICA8SW1wb3J0R3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIiBMYWJlbD0iUHJvcGVydHlTaGVldHMiPgogICAgIDxJbXBvcnQgUHJvamVjdD0iJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzIiBDb25kaXRpb249ImV4aXN0cygnJChVc2VyUm9vdERpcilcTWljcm9zb2Z0LkNwcC4kKFBsYXRmb3JtKS51c2VyLnByb3BzJykiIExhYmVsPSJMb2NhbEFwcERhdGFQbGF0Zm9ybSIgLz4KLSAgICA8SW1wb3J0IFByb2plY3Q9InB5cHJvamVjdC5wcm9wcyIgLz4KKyAgICA8SW1wb3J0IFByb2plY3Q9InB5ZF9kLnByb3BzIiAvPgogICAgIDxJbXBvcnQgUHJvamVjdD0ieDY0LnByb3BzIiAvPgotICAgIDxJbXBvcnQgUHJvamVjdD0iZGVidWcucHJvcHMiIC8+CiAgIDwvSW1wb3J0R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIiAvPgogICA8UHJvcGVydHlHcm91cD4KLSAgICA8X1Byb2plY3RGaWxlVmVyc2lvbj4xMC4wLjQwMjE5LjE8L19Qcm9qZWN0RmlsZVZlcnNpb24+CisgICAgPF9Qcm9qZWN0RmlsZVZlcnNpb24+MTAuMC4zMDMxOS4xPC9fUHJvamVjdEZpbGVWZXJzaW9uPgogICAgIDxDb2RlQW5hbHlzaXNSdWxlU2V0IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj5BbGxSdWxlcy5ydWxlc2V0PC9Db2RlQW5hbHlzaXNSdWxlU2V0PgogICAgIDxDb2RlQW5hbHlzaXNSdWxlcyBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyIgLz4KICAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciIC8+CkBAIC0xNTksMTI5ICsxNTAsNjkgQEAKICAgICA8Q29kZUFuYWx5c2lzUnVsZUFzc2VtYmxpZXMgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciIC8+CiAgIDwvUHJvcGVydHlHcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPkRpc2FibGVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8QmFzaWNSdW50aW1lQ2hlY2tzPkVuYWJsZUZhc3RDaGVja3M8L0Jhc2ljUnVudGltZUNoZWNrcz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkRGVidWc8L1J1bnRpbWVMaWJyYXJ5PgotICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+CisgICAgICA8QmFzZUFkZHJlc3M+MHgxZTFGMDAwMDwvQmFzZUFkZHJlc3M+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+CiAgICAgPE1pZGw+CiAgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KICAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+RGlzYWJsZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxCYXNpY1J1bnRpbWVDaGVja3M+RW5hYmxlRmFzdENoZWNrczwvQmFzaWNSdW50aW1lQ2hlY2tzPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWREZWJ1ZzwvUnVudGltZUxpYnJhcnk+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KKyAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+ZmFsc2U8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+CiAgICAgPE1pZGw+CiAgICAgICA8VGFyZ2V0RW52aXJvbm1lbnQ+WDY0PC9UYXJnZXRFbnZpcm9ubWVudD4KICAgICA8L01pZGw+Ci0gICAgPENsQ29tcGlsZT4KLSAgICAgIDxPcHRpbWl6YXRpb24+TWF4U3BlZWQ8L09wdGltaXphdGlvbj4KLSAgICAgIDxJbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj5Pbmx5RXhwbGljaXRJbmxpbmU8L0lubGluZUZ1bmN0aW9uRXhwYW5zaW9uPgotICAgICAgPFN0cmluZ1Bvb2xpbmc+dHJ1ZTwvU3RyaW5nUG9vbGluZz4KLSAgICAgIDxSdW50aW1lTGlicmFyeT5NdWx0aVRocmVhZGVkPC9SdW50aW1lTGlicmFyeT4KLSAgICAgIDxGdW5jdGlvbkxldmVsTGlua2luZz50cnVlPC9GdW5jdGlvbkxldmVsTGlua2luZz4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8TGluaz4KLSAgICAgIDxHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+ZmFsc2U8L0dlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj4KLSAgICAgIDxTdWJTeXN0ZW0+Q29uc29sZTwvU3ViU3lzdGVtPgorICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHxXaW4zMiciPgotICAgIDxDbENvbXBpbGU+Ci0gICAgICA8T3B0aW1pemF0aW9uPk1heFNwZWVkPC9PcHRpbWl6YXRpb24+Ci0gICAgICA8SW5saW5lRnVuY3Rpb25FeHBhbnNpb24+T25seUV4cGxpY2l0SW5saW5lPC9JbmxpbmVGdW5jdGlvbkV4cGFuc2lvbj4KLSAgICAgIDxTdHJpbmdQb29saW5nPnRydWU8L1N0cmluZ1Bvb2xpbmc+Ci0gICAgICA8UnVudGltZUxpYnJhcnk+TXVsdGlUaHJlYWRlZDwvUnVudGltZUxpYnJhcnk+Ci0gICAgICA8RnVuY3Rpb25MZXZlbExpbmtpbmc+dHJ1ZTwvRnVuY3Rpb25MZXZlbExpbmtpbmc+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPExpbms+Ci0gICAgICA8R2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPmZhbHNlPC9HZW5lcmF0ZURlYnVnSW5mb3JtYXRpb24+Ci0gICAgICA8U3ViU3lzdGVtPkNvbnNvbGU8L1N1YlN5c3RlbT4KLSAgICAgIDxJbXBvcnRMaWJyYXJ5PgotICAgICAgPC9JbXBvcnRMaWJyYXJ5PgorICAgICAgPEJhc2VBZGRyZXNzPjB4MWUxRjAwMDA8L0Jhc2VBZGRyZXNzPgogICAgIDwvTGluaz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbURlZmluaXRpb25Hcm91cCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1BHSW5zdHJ1bWVudHx4NjQnIj4KICAgICA8TWlkbD4KICAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgogICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj5mYWxzZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtRGVmaW5pdGlvbkdyb3VwIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUEdVcGRhdGV8V2luMzInIj4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj5mYWxzZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICA8L0xpbms+CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1EZWZpbml0aW9uR3JvdXAgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQR1VwZGF0ZXx4NjQnIj4KICAgICA8TWlkbD4KICAgICAgIDxUYXJnZXRFbnZpcm9ubWVudD5YNjQ8L1RhcmdldEVudmlyb25tZW50PgogICAgIDwvTWlkbD4KLSAgICA8Q2xDb21waWxlPgotICAgICAgPE9wdGltaXphdGlvbj5NYXhTcGVlZDwvT3B0aW1pemF0aW9uPgotICAgICAgPElubGluZUZ1bmN0aW9uRXhwYW5zaW9uPk9ubHlFeHBsaWNpdElubGluZTwvSW5saW5lRnVuY3Rpb25FeHBhbnNpb24+Ci0gICAgICA8U3RyaW5nUG9vbGluZz50cnVlPC9TdHJpbmdQb29saW5nPgotICAgICAgPFJ1bnRpbWVMaWJyYXJ5Pk11bHRpVGhyZWFkZWQ8L1J1bnRpbWVMaWJyYXJ5PgotICAgICAgPEZ1bmN0aW9uTGV2ZWxMaW5raW5nPnRydWU8L0Z1bmN0aW9uTGV2ZWxMaW5raW5nPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxMaW5rPgotICAgICAgPEdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj5mYWxzZTwvR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPgotICAgICAgPFN1YlN5c3RlbT5Db25zb2xlPC9TdWJTeXN0ZW0+Ci0gICAgICA8SW1wb3J0TGlicmFyeT4KLSAgICAgIDwvSW1wb3J0TGlicmFyeT4KKyAgICAgIDxCYXNlQWRkcmVzcz4weDFlMUYwMDAwPC9CYXNlQWRkcmVzcz4KICAgICAgIDxUYXJnZXRNYWNoaW5lPk1hY2hpbmVYNjQ8L1RhcmdldE1hY2hpbmU+CiAgICAgPC9MaW5rPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxQQ1x3OXhwb3Blbi5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfdGVzdGltcG9ydG11bHRpcGxlLmMiIC8+CisgIDwvSXRlbUdyb3VwPgorICA8SXRlbUdyb3VwPgorICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9InB5dGhvbmNvcmUudmN4cHJvaiI+CisgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KKyAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CisgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgogICA8L0l0ZW1Hcm91cD4KICAgPEltcG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4KICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL3c5eHBvcGVuLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qLmZpbHRlcnMKc2ltaWxhcml0eSBpbmRleCA3MiUKcmVuYW1lIGZyb20gUENidWlsZC93OXhwb3Blbi52Y3hwcm9qLmZpbHRlcnMKcmVuYW1lIHRvIFBDYnVpbGQvX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZGVjNjdhZC4uZGIwZDBhNiAxMDA2NDQKLS0tIGEvUENidWlsZC93OXhwb3Blbi52Y3hwcm9qLmZpbHRlcnMKKysrIGIvUENidWlsZC9fdGVzdGltcG9ydG11bHRpcGxlLnZjeHByb2ouZmlsdGVycwpAQCAtMiwxMiArMiwxMiBAQAogPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgogICA8SXRlbUdyb3VwPgogICAgIDxGaWx0ZXIgSW5jbHVkZT0iU291cmNlIEZpbGVzIj4KLSAgICAgIDxVbmlxdWVJZGVudGlmaWVyPnthYmMyZGZmZC0zZjJhLTQ3YmQtYjg5Yi0wMzE0Yzk5ZWYyMWV9PC9VbmlxdWVJZGVudGlmaWVyPgorICAgICAgPFVuaXF1ZUlkZW50aWZpZXI+ezFlYzM4YWQ5LTFhYmYtNGI4MC04NjI4LWFjNDNjY2JhMzI0Yn08L1VuaXF1ZUlkZW50aWZpZXI+CiAgICAgPC9GaWx0ZXI+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cUENcdzl4cG9wZW4uYyI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXF90ZXN0aW1wb3J0bXVsdGlwbGUuYyI+CiAgICAgICA8RmlsdGVyPlNvdXJjZSBGaWxlczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J1aWxkX3NzbC5iYXQgYi9QQ2J1aWxkL2J1aWxkX3NzbC5iYXQKaW5kZXggMzU3YjA4Yi4uODA1ZDc3YSAxMDA2NDQKLS0tIGEvUENidWlsZC9idWlsZF9zc2wuYmF0CisrKyBiL1BDYnVpbGQvYnVpbGRfc3NsLmJhdApAQCAtMiwxMCArMiwxMCBAQAogaWYgbm90IGRlZmluZWQgSE9TVF9QWVRIT04gKAogICBpZiAlMSBFUVUgRGVidWcgKAogICAgIHNldCBIT1NUX1BZVEhPTj1weXRob25fZC5leGUKLSAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzNfZC5kbGwgZXhpdCAxCisgICAgaWYgbm90IGV4aXN0IHB5dGhvbjM0X2QuZGxsIGV4aXQgMQogICApIEVMU0UgKAogICAgIHNldCBIT1NUX1BZVEhPTj1weXRob24uZXhlCi0gICAgaWYgbm90IGV4aXN0IHB5dGhvbjMzLmRsbCBleGl0IDEKKyAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzQuZGxsIGV4aXQgMQogICApCiApCiAlSE9TVF9QWVRIT04lIGJ1aWxkX3NzbC5weSAlMSAlMiAlMwpkaWZmIC0tZ2l0IGEvUENidWlsZC9idWlsZF90a2ludGVyLnB5IGIvUENidWlsZC9idWlsZF90a2ludGVyLnB5CmluZGV4IDQxOTZjZjMuLjlmMDg2MzEgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvYnVpbGRfdGtpbnRlci5weQorKysgYi9QQ2J1aWxkL2J1aWxkX3RraW50ZXIucHkKQEAgLTE2LDExICsxNiw3IEBACiBUSVggPSAidGl4LTguNC4zLngiCiAKIFJPT1QgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGhlcmUsIHBhciwgcGFyKSkKLSMgV2luZG93cyAyMDAwIGNvbXBhdGliaWxpdHk6IFdJTlZFUiAweDA1MDAKLSMgaHR0cDovL21zZG4yLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9hYTM4Mzc0NS5hc3B4Ci1OTUFLRSA9ICgnbm1ha2UgL25vbG9nbyAvZiAlcyAnCi0gICAgJ0NPTVBJTEVSRkxBR1M9XCItRFdJTlZFUj0weDA1MDAgLURfV0lOMzJfV0lOTlQ9MHgwNTAwIC1ETlRERElfVkVSU0lPTj1OVERESV9XSU4yS1NQNFwiICcKLSAgICAnJXMgJXMnKQorTk1BS0UgPSAoJ25tYWtlIC9ub2xvZ28gL2YgJXMgJXMgJXMnKQogCiBkZWYgbm1ha2UobWFrZWZpbGUsIGNvbW1hbmQ9IiIsICoqa3cpOgogICAgIGRlZmluZXMgPSAnICcuam9pbihrKyc9JytzdHIodikgZm9yIGssIHYgaW4ga3cuaXRlbXMoKSkKZGlmZiAtLWdpdCBhL1BDYnVpbGQva2lsbF9weXRob24uYyBiL1BDYnVpbGQva2lsbF9weXRob24uYwppbmRleCBiYjMyM2QzLi42MDQ3MzFmIDEwMDY0NAotLS0gYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLmMKKysrIGIvUENidWlsZC9raWxsX3B5dGhvbi5jCkBAIC0xMDYsNyArMTA2LDcgQEAKICAgICAgICAgLyoKICAgICAgICAgICogWFhYIFRPRE86IGlmIHdlIHJlYWxseSB3YW50ZWQgdG8gYmUgZmFuY3ksIHdlIGNvdWxkIGNoZWNrIHRoZSAKICAgICAgICAgICogbW9kdWxlcyBmb3IgYWxsIHByb2Nlc3NlcyAobm90IGp1c3QgdGhlIHB5dGhvbltfZF0uZXhlIG9uZXMpCi0gICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzNbX2RdLmRsbCksCisgICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzRbX2RdLmRsbCksCiAgICAgICAgICAqIGFzIHRoYXQgd291bGQgYWxzbyBpbmhpYml0IG91ciBhYmlsaXR5IHRvIHJlYnVpbGQgdGhlIHNvbHV0aW9uLgogICAgICAgICAgKiBOb3Qgd29ydGggbG9vc2luZyBzbGVlcCBvdmVyIHRob3VnaDsgZm9yIG5vdywgYSBzaW1wbGUgY2hlY2sgCiAgICAgICAgICAqIGZvciBqdXN0IHRoZSBweXRob24gZXhlY3V0YWJsZSBzaG91bGQgYmUgc3VmZmljaWVudC4KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcGNidWlsZC5zbG4gYi9QQ2J1aWxkL3BjYnVpbGQuc2xuCmluZGV4IGQ2YTAyMmYuLjk5Mzk4ZGIgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcGNidWlsZC5zbG4KKysrIGIvUENidWlsZC9wY2J1aWxkLnNsbgpAQCAtMTQsOCArMTQsNiBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAicHl0aG9udyIsICJweXRob253LnZjeHByb2oiLCAie0Y0MjI5Q0MzLTg3M0MtNDlBRS05NzI5LUREMzA4RUQ0Q0Q0QX0iDQogRW5kUHJvamVjdA0KLVByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAidzl4cG9wZW4iLCAidzl4cG9wZW4udmN4cHJvaiIsICJ7RTlFMEExRjYtMDAwOS00RThDLUI4RjgtMUI4RjVENDlBMDU4fSINCi1FbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJtYWtlX2J1aWxkaW5mbyIsICJtYWtlX2J1aWxkaW5mby52Y3hwcm9qIiwgIntDNzNGMEVDMS0zNThCLTQxNzctOTQwRi0wODQ2QUM4QjA0Q0R9Ig0KIEVuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIndpbnNvdW5kIiwgIndpbnNvdW5kLnZjeHByb2oiLCAiezI4QjVENzc3LURERjItNEI2Qi1CMzRGLTMxRDkzODgxMzg1Nn0iDQpAQCAtMzgsNiArMzYsOCBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX3Rlc3RjYXBpIiwgIl90ZXN0Y2FwaS52Y3hwcm9qIiwgIns2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9Ig0KIEVuZFByb2plY3QNCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90ZXN0aW1wb3J0bXVsdGlwbGUiLCAiX3Rlc3RpbXBvcnRtdWx0aXBsZS52Y3hwcm9qIiwgInszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9Ig0KK0VuZFByb2plY3QNCiBQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl90a2ludGVyIiwgIl90a2ludGVyLnZjeHByb2oiLCAiezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0iDQogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2J6MiIsICJfYnoyLnZjeHByb2oiLCAiezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0iDQpAQCAtNzQsNiArNzQsOCBAQAogRW5kUHJvamVjdA0KIFByb2plY3QoIns4QkM5Q0VCOC04QjRBLTExRDAtOEQxMS0wMEEwQzkxQkM5NDJ9IikgPSAiX2ZyZWV6ZV9pbXBvcnRsaWIiLCAiX2ZyZWV6ZV9pbXBvcnRsaWIudmN4cHJvaiIsICJ7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfSINCiBFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfc2hhMyIsICJfc2hhMy52Y3hwcm9qIiwgInsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9Ig0KK0VuZFByb2plY3QNCiBHbG9iYWwNCiAJR2xvYmFsU2VjdGlvbihTb2x1dGlvbkNvbmZpZ3VyYXRpb25QbGF0Zm9ybXMpID0gcHJlU29sdXRpb24NCiAJCURlYnVnfFdpbjMyID0gRGVidWd8V2luMzINCkBAIC0zNDIsNiArMzQ0LDIyIEBACiAJCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCiAJCXs2OTAxRDkxQy02RTQ4LTRCQjctOUZFQy03MDBDODEzMURGMUR9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7NjkwMUQ5MUMtNkU0OC00QkI3LTlGRUMtNzAwQzgxMzFERjFEfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IERlYnVnfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5EZWJ1Z3xXaW4zMi5CdWlsZC4wID0gRGVidWd8V2luMzINCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBEZWJ1Z3x4NjQNCisJCXszNkQwQzUyQy1ERjRFLTQ1RDAtOEJDNy1FMjk0QzNBQkM3ODF9LkRlYnVnfHg2NC5CdWlsZC4wID0gRGVidWd8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR0luc3RydW1lbnR8eDY0LkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXxXaW4zMi5BY3RpdmVDZmcgPSBQR1VwZGF0ZXxXaW4zMg0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUEdVcGRhdGV8V2luMzIuQnVpbGQuMCA9IFBHVXBkYXRlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQorCQl7MzZEMEM1MkMtREY0RS00NUQwLThCQzctRTI5NEMzQUJDNzgxfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezM2RDBDNTJDLURGNEUtNDVEMC04QkM3LUUyOTRDM0FCQzc4MX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQogCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KIAkJezQ5NDZFQ0FDLTJFNjktNEJGOC1BOTBBLUY1MTM2RjUwOTRERn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQogCQl7NDk0NkVDQUMtMkU2OS00QkY4LUE5MEEtRjUxMzZGNTA5NERGfS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQpAQCAtNjExLDYgKzYyOSwyMiBAQAogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KIAkJezE5QzBDMTNGLTQ3Q0EtNDQzMi1BRkYzLTc5OUEyOTZBNEREQ30uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7MTlDMEMxM0YtNDdDQS00NDMyLUFGRjMtNzk5QTI5NkE0RERDfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KKwkJezI1NEEwQzA1LTY2OTYtNEIwOC04Q0IyLUVGN0Q1MzNBRUUwMX0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJezI1NEEwQzA1LTY2OTYtNEIwOC04Q0IyLUVGN0Q1MzNBRUUwMX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJezI1NEEwQzA1LTY2OTYtNEIwOC04Q0IyLUVGN0Q1MzNBRUUwMX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQorCQl7MjU0QTBDMDUtNjY5Ni00QjA4LThDQjItRUY3RDUzM0FFRTAxfS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQorCQl7MjU0QTBDMDUtNjY5Ni00QjA4LThDQjItRUY3RDUzM0FFRTAxfS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7MjU0QTBDMDUtNjY5Ni00QjA4LThDQjItRUY3RDUzM0FFRTAxfS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXsyNTRBMEMwNS02Njk2LTRCMDgtOENCMi1FRjdENTMzQUVFMDF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7MjU0QTBDMDUtNjY5Ni00QjA4LThDQjItRUY3RDUzM0FFRTAxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJRW5kR2xvYmFsU2VjdGlvbg0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXByb2plY3QucHJvcHMgYi9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcwppbmRleCAyMzMzNTEyLi42NDAwOGM2IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcworKysgYi9QQ2J1aWxkL3B5cHJvamVjdC5wcm9wcwpAQCAtMTMsNyArMTMsNyBAQAogICAgIDxJbnREaXI+JChTb2x1dGlvbkRpcikkKFBsYXRmb3JtTmFtZSktdGVtcC0kKENvbmZpZ3VyYXRpb24pXCQoUHJvamVjdE5hbWUpXDwvSW50RGlyPgogICA8L1Byb3BlcnR5R3JvdXA+CiAgIDxQcm9wZXJ0eUdyb3VwIExhYmVsPSJVc2VyTWFjcm9zIj4KLSAgICA8UHlEbGxOYW1lPnB5dGhvbjMzJChQeURlYnVnRXh0KTwvUHlEbGxOYW1lPgorICAgIDxQeURsbE5hbWU+cHl0aG9uMzQkKFB5RGVidWdFeHQpPC9QeURsbE5hbWU+CiAgICAgPFB5dGhvbkV4ZT4kKE91dERpcilweXRob24kKFB5RGVidWdFeHQpLmV4ZTwvUHl0aG9uRXhlPgogICAgIDxLaWxsUHl0aG9uRXhlPiQoT3V0RGlyKWtpbGxfcHl0aG9uJChQeURlYnVnRXh0KS5leGU8L0tpbGxQeXRob25FeGU+CiAgICAgPGV4dGVybmFsc0Rpcj4uLlwuLjwvZXh0ZXJuYWxzRGlyPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob24udmN4cHJvaiBiL1BDYnVpbGQvcHl0aG9uLnZjeHByb2oKaW5kZXggZDBhOWRlMC4uZTFkMDVlNSAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob24udmN4cHJvagorKysgYi9QQ2J1aWxkL3B5dGhvbi52Y3hwcm9qCkBAIC0zNTcsMTIgKzM1Nyw4IEBACiAgICAgICA8UHJvamVjdD57Y2Y3YWMzZDEtZTJkZi00MWQyLWJlYTYtMWUyNTU2Y2RlYTI2fTwvUHJvamVjdD4KICAgICAgIDxSZWZlcmVuY2VPdXRwdXRBc3NlbWJseT5mYWxzZTwvUmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+CiAgICAgPC9Qcm9qZWN0UmVmZXJlbmNlPgotICAgIDxQcm9qZWN0UmVmZXJlbmNlIEluY2x1ZGU9Inc5eHBvcGVuLnZjeHByb2oiPgotICAgICAgPFByb2plY3Q+e2U5ZTBhMWY2LTAwMDktNGU4Yy1iOGY4LTFiOGY1ZDQ5YTA1OH08L1Byb2plY3Q+Ci0gICAgICA8UmVmZXJlbmNlT3V0cHV0QXNzZW1ibHk+ZmFsc2U8L1JlZmVyZW5jZU91dHB1dEFzc2VtYmx5PgotICAgIDwvUHJvamVjdFJlZmVyZW5jZT4KICAgPC9JdGVtR3JvdXA+CiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9uVGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ogYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvagppbmRleCAyOTQ5M2UzLi5iYmE5OGJiIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvagorKysgYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvagpAQCAtNDc1LDYgKzQ3NSw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxPYmplY3RzXHN0cmluZ2xpYlxmYXN0c2VhcmNoLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxPYmplY3RzXHN0cmluZ2xpYlxmaW5kLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxPYmplY3RzXHN0cmluZ2xpYlxwYXJ0aXRpb24uaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE9iamVjdHNcc3RyaW5nbGliXHJlcGxhY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE9iamVjdHNcc3RyaW5nbGliXHNwbGl0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxPYmplY3RzXHVuaWNvZGV0eXBlX2RiLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxQYXJzZXJccGFyc2VyLmgiIC8+CkBAIC01MTYsNyArNTE3LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcbWF0aG1vZHVsZS5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xtZDVtb2R1bGUuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcbW1hcG1vZHVsZS5jIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xvcGVyYXRvci5jIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfb3BlcmF0b3IuYyIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNccGFyc2VybW9kdWxlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHBvc2l4bW9kdWxlLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXHJvdGF0aW5ndHJlZS5jIiAvPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ouZmlsdGVycyBiL1BDYnVpbGQvcHl0aG9uY29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMDliNGJiNC4uNzM2YTljOCAxMDA2NDQKLS0tIGEvUENidWlsZC9weXRob25jb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0zNzgsNiArMzc4LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXE9iamVjdHNcc3RyaW5nbGliXHBhcnRpdGlvbi5oIj4KICAgICAgIDxGaWx0ZXI+T2JqZWN0czwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cT2JqZWN0c1xzdHJpbmdsaWJccmVwbGFjZS5oIj4KKyAgICAgIDxGaWx0ZXI+T2JqZWN0czwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cT2JqZWN0c1xzdHJpbmdsaWJcc3BsaXQuaCI+CiAgICAgICA8RmlsdGVyPk9iamVjdHM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KQEAgLTQ5OCw3ICs1MDEsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xtbWFwbW9kdWxlLmMiPgogICAgICAgPEZpbHRlcj5Nb2R1bGVzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXG9wZXJhdG9yLmMiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cTW9kdWxlc1xfb3BlcmF0b3IuYyI+CiAgICAgICA8RmlsdGVyPk1vZHVsZXM8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNccGFyc2VybW9kdWxlLmMiPgpkaWZmIC0tZ2l0IGEvUENidWlsZC9yZWFkbWUudHh0IGIvUENidWlsZC9yZWFkbWUudHh0CmluZGV4IDA4YWEwZjcuLjhkZDNlZWUgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcmVhZG1lLnR4dAorKysgYi9QQ2J1aWxkL3JlYWRtZS50eHQKQEAgLTM3LDcgKzM3LDcgQEAKICAgIHJ1bm5pbmcgYSBQeXRob24gY29yZSBidWlsZGJvdCB0ZXN0IHNsYXZlOyBzZWUgU1VCUFJPSkVDVFMgYmVsb3cpCiAKIFdoZW4gdXNpbmcgdGhlIERlYnVnIHNldHRpbmcsIHRoZSBvdXRwdXQgZmlsZXMgaGF2ZSBhIF9kIGFkZGVkIHRvCi10aGVpciBuYW1lOiAgcHl0aG9uMzNfZC5kbGwsIHB5dGhvbl9kLmV4ZSwgcGFyc2VyX2QucHlkLCBhbmQgc28gb24uIEJvdGgKK3RoZWlyIG5hbWU6ICBweXRob24zNF9kLmRsbCwgcHl0aG9uX2QuZXhlLCBwYXJzZXJfZC5weWQsIGFuZCBzbyBvbi4gQm90aAogdGhlIGJ1aWxkIGFuZCBydCBiYXRjaCBmaWxlcyBhY2NlcHQgYSAtZCBvcHRpb24gZm9yIGRlYnVnIGJ1aWxkcy4KIAogVGhlIDMyYml0IGJ1aWxkcyBlbmQgdXAgaW4gdGhlIHNvbHV0aW9uIGZvbGRlciBQQ2J1aWxkIHdoaWxlIHRoZSB4NjQgYnVpbGRzCmRpZmYgLS1naXQgYS9QYXJzZXIvUHl0aG9uLmFzZGwgYi9QYXJzZXIvUHl0aG9uLmFzZGwKaW5kZXggYzI0ZDg0MC4uZGViZDg5ZSAxMDA2NDQKLS0tIGEvUGFyc2VyL1B5dGhvbi5hc2RsCisrKyBiL1BhcnNlci9QeXRob24uYXNkbApAQCAtMSw0ICsxLDQgQEAKLS0tIEFTREwncyBmaXZlIGJ1aWx0aW4gdHlwZXMgYXJlIGlkZW50aWZpZXIsIGludCwgc3RyaW5nLCBieXRlcywgb2JqZWN0CistLSBBU0RMJ3Mgc2l4IGJ1aWx0aW4gdHlwZXMgYXJlIGlkZW50aWZpZXIsIGludCwgc3RyaW5nLCBieXRlcywgb2JqZWN0LCBzaW5nbGV0b24KIAogbW9kdWxlIFB5dGhvbgogewpAQCAtNjksOCArNjksOCBAQAogICAgICAgICAgfCBOdW0ob2JqZWN0IG4pIC0tIGEgbnVtYmVyIGFzIGEgUHlPYmplY3QuCiAgICAgICAgICB8IFN0cihzdHJpbmcgcykgLS0gbmVlZCB0byBzcGVjaWZ5IHJhdywgdW5pY29kZSwgZXRjPwogICAgICAgICAgfCBCeXRlcyhieXRlcyBzKQorICAgICAgICAgfCBOYW1lQ29uc3RhbnQoc2luZ2xldG9uIHZhbHVlKQogICAgICAgICAgfCBFbGxpcHNpcwotICAgICAgICAgLS0gb3RoZXIgbGl0ZXJhbHM/IGJvb2xzPwogCiAgICAgICAgICAtLSB0aGUgZm9sbG93aW5nIGV4cHJlc3Npb24gY2FuIGFwcGVhciBpbiBhc3NpZ25tZW50IGNvbnRleHQKICAgICAgICAgIHwgQXR0cmlidXRlKGV4cHIgdmFsdWUsIGlkZW50aWZpZXIgYXR0ciwgZXhwcl9jb250ZXh0IGN0eCkKQEAgLTEwMywxMSArMTAzLDExIEBACiAgICAgZXhjZXB0aGFuZGxlciA9IEV4Y2VwdEhhbmRsZXIoZXhwcj8gdHlwZSwgaWRlbnRpZmllcj8gbmFtZSwgc3RtdCogYm9keSkKICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyAoaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCiAKLSAgICBhcmd1bWVudHMgPSAoYXJnKiBhcmdzLCBpZGVudGlmaWVyPyB2YXJhcmcsIGV4cHI/IHZhcmFyZ2Fubm90YXRpb24sCi0gICAgICAgICAgICAgICAgICAgICBhcmcqIGt3b25seWFyZ3MsIGlkZW50aWZpZXI/IGt3YXJnLAotICAgICAgICAgICAgICAgICAgICAgZXhwcj8ga3dhcmdhbm5vdGF0aW9uLCBleHByKiBkZWZhdWx0cywKLSAgICAgICAgICAgICAgICAgICAgIGV4cHIqIGt3X2RlZmF1bHRzKQorICAgIGFyZ3VtZW50cyA9IChhcmcqIGFyZ3MsIGFyZz8gdmFyYXJnLCBhcmcqIGt3b25seWFyZ3MsIGV4cHIqIGt3X2RlZmF1bHRzLAorICAgICAgICAgICAgICAgICBhcmc/IGt3YXJnLCBleHByKiBkZWZhdWx0cykKKwogICAgIGFyZyA9IChpZGVudGlmaWVyIGFyZywgZXhwcj8gYW5ub3RhdGlvbikKKyAgICAgICAgICAgYXR0cmlidXRlcyAoaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCiAKICAgICAtLSBrZXl3b3JkIGFyZ3VtZW50cyBzdXBwbGllZCB0byBjYWxsCiAgICAga2V5d29yZCA9IChpZGVudGlmaWVyIGFyZywgZXhwciB2YWx1ZSkKZGlmZiAtLWdpdCBhL1BhcnNlci9hc2RsLnB5IGIvUGFyc2VyL2FzZGwucHkKaW5kZXggMDhhYTA1Yi4uN2RmNzZjMCAxMDA2NDQKLS0tIGEvUGFyc2VyL2FzZGwucHkKKysrIGIvUGFyc2VyL2FzZGwucHkKQEAgLTE1OCwxMSArMTU4LDE5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSJleHBlY3RlZCBhdHRyaWJ1dGVzLCBmb3VuZCAlcyIgJSBpZCkKICAgICAgICAgcmV0dXJuIFN1bShzdW0sIGF0dHJpYnV0ZXMpCiAKLSAgICBkZWYgcF9wcm9kdWN0KHNlbGYsIGluZm8pOgorICAgIGRlZiBwX3Byb2R1Y3RfMChzZWxmLCBpbmZvKToKICAgICAgICAgIiBwcm9kdWN0IDo6PSAoIGZpZWxkcyApICIKICAgICAgICAgXzAsIGZpZWxkcywgXzEgPSBpbmZvCiAgICAgICAgIHJldHVybiBQcm9kdWN0KGZpZWxkcykKIAorICAgIGRlZiBwX3Byb2R1Y3RfMShzZWxmLCBpbmZvKToKKyAgICAgICAgIiBwcm9kdWN0IDo6PSAoIGZpZWxkcyApIElkICggZmllbGRzICkgIgorICAgICAgICBfMCwgZmllbGRzLCBfMSwgaWQsIF8yLCBhdHRyaWJ1dGVzLCBfMyA9IGluZm8KKyAgICAgICAgaWYgaWQudmFsdWUgIT0gImF0dHJpYnV0ZXMiOgorICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKGlkLmxpbmVubywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9ImV4cGVjdGVkIGF0dHJpYnV0ZXMsIGZvdW5kICVzIiAlIGlkKQorICAgICAgICByZXR1cm4gUHJvZHVjdChmaWVsZHMsIGF0dHJpYnV0ZXMpCisKICAgICBkZWYgcF9zdW1fMChzZWxmLCBjb25zdHJ1Y3Rvcik6CiAgICAgICAgICIgc3VtIDo6PSBjb25zdHJ1Y3RvciAiCiAgICAgICAgIHJldHVybiBbY29uc3RydWN0b3JbMF1dCkBAIC0yMjIsNyArMjMwLDcgQEAKICAgICAgICAgIiBmaWVsZCA6Oj0gSWQgPyAiCiAgICAgICAgIHJldHVybiBGaWVsZCh0eXBlWzBdLCBvcHQ9VHJ1ZSkKIAotYnVpbHRpbl90eXBlcyA9ICgiaWRlbnRpZmllciIsICJzdHJpbmciLCAiYnl0ZXMiLCAiaW50IiwgIm9iamVjdCIpCitidWlsdGluX3R5cGVzID0gKCJpZGVudGlmaWVyIiwgInN0cmluZyIsICJieXRlcyIsICJpbnQiLCAib2JqZWN0IiwgInNpbmdsZXRvbiIpCiAKICMgYmVsb3cgaXMgYSBjb2xsZWN0aW9uIG9mIGNsYXNzZXMgdG8gY2FwdHVyZSB0aGUgQVNUIG9mIGFuIEFTVCA6LSkKICMgbm90IHN1cmUgaWYgYW55IG9mIHRoZSBtZXRob2RzIGFyZSB1c2VmdWwgeWV0LCBidXQgSSdtIGFkZGluZyB0aGVtCkBAIC0yODksMTEgKzI5NywxNSBAQAogICAgICAgICAgICAgcmV0dXJuICJTdW0oJXMsICVzKSIgJSAoc2VsZi50eXBlcywgc2VsZi5hdHRyaWJ1dGVzKQogCiBjbGFzcyBQcm9kdWN0KEFTVCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpZWxkcyk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpZWxkcywgYXR0cmlidXRlcz1Ob25lKToKICAgICAgICAgc2VsZi5maWVsZHMgPSBmaWVsZHMKKyAgICAgICAgc2VsZi5hdHRyaWJ1dGVzID0gYXR0cmlidXRlcyBvciBbXQogCiAgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIlByb2R1Y3QoJXMpIiAlIHNlbGYuZmllbGRzCisgICAgICAgIGlmIHNlbGYuYXR0cmlidXRlcyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuICJQcm9kdWN0KCVzKSIgJSBzZWxmLmZpZWxkcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuICJQcm9kdWN0KCVzLCAlcykiICUgKHNlbGYuZmllbGRzLCBzZWxmLmF0dHJpYnV0ZXMpCiAKIGNsYXNzIFZpc2l0b3JCYXNlKG9iamVjdCk6CiAKZGlmZiAtLWdpdCBhL1BhcnNlci9hc2RsX2MucHkgYi9QYXJzZXIvYXNkbF9jLnB5CmluZGV4IGE5ZTY2MjYuLjRjN2JiMzUgMTAwNzU1Ci0tLSBhL1BhcnNlci9hc2RsX2MucHkKKysrIGIvUGFyc2VyL2FzZGxfYy5weQpAQCAtMjA5LDYgKzIwOSwxMSBAQAogICAgICAgICBzZWxmLmVtaXQoInN0cnVjdCBfJShuYW1lKXMgeyIgJSBsb2NhbHMoKSwgZGVwdGgpCiAgICAgICAgIGZvciBmIGluIHByb2R1Y3QuZmllbGRzOgogICAgICAgICAgICAgc2VsZi52aXNpdChmLCBkZXB0aCArIDEpCisgICAgICAgIGZvciBmaWVsZCBpbiBwcm9kdWN0LmF0dHJpYnV0ZXM6CisgICAgICAgICAgICAjIHJ1ZGltZW50YXJ5IGF0dHJpYnV0ZSBoYW5kbGluZworICAgICAgICAgICAgdHlwZSA9IHN0cihmaWVsZC50eXBlKQorICAgICAgICAgICAgYXNzZXJ0IHR5cGUgaW4gYXNkbC5idWlsdGluX3R5cGVzLCB0eXBlCisgICAgICAgICAgICBzZWxmLmVtaXQoIiVzICVzOyIgJSAodHlwZSwgZmllbGQubmFtZSksIGRlcHRoICsgMSk7CiAgICAgICAgIHNlbGYuZW1pdCgifTsiLCBkZXB0aCkKICAgICAgICAgc2VsZi5lbWl0KCIiLCBkZXB0aCkKIApAQCAtNDkzLDcgKzQ5OCwxMSBAQAogCiAgICAgZGVmIHZpc2l0RmllbGQoc2VsZiwgZmllbGQsIG5hbWUsIHN1bT1Ob25lLCBwcm9kPU5vbmUsIGRlcHRoPTApOgogICAgICAgICBjdHlwZSA9IGdldF9jX3R5cGUoZmllbGQudHlwZSkKLSAgICAgICAgc2VsZi5lbWl0KCJpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkXyVzKSkgeyIgJSBmaWVsZC5uYW1lLCBkZXB0aCkKKyAgICAgICAgaWYgZmllbGQub3B0OgorICAgICAgICAgICAgY2hlY2sgPSAiZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfJXMpIiAlIChmaWVsZC5uYW1lLCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNoZWNrID0gIl9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF8lcykiICUgKGZpZWxkLm5hbWUsKQorICAgICAgICBzZWxmLmVtaXQoImlmICglcykgeyIgJSAoY2hlY2ssKSwgZGVwdGgsIHJlZmxvdz1GYWxzZSkKICAgICAgICAgc2VsZi5lbWl0KCJpbnQgcmVzOyIsIGRlcHRoKzEpCiAgICAgICAgIGlmIGZpZWxkLnNlcToKICAgICAgICAgICAgIHNlbGYuZW1pdCgiUHlfc3NpemVfdCBsZW47IiwgZGVwdGgrMSkKQEAgLTU1OSw2ICs1NjgsMTMgQEAKICAgICBkZWYgdmlzaXRQcm9kdWN0KHNlbGYsIHByb2QsIG5hbWUpOgogICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBQeVR5cGVPYmplY3QgKiVzX3R5cGU7IiAlIG5hbWUsIDApCiAgICAgICAgIHNlbGYuZW1pdCgic3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqXyVzKHZvaWQqKTsiICUgbmFtZSwgMCkKKyAgICAgICAgaWYgcHJvZC5hdHRyaWJ1dGVzOgorICAgICAgICAgICAgZm9yIGEgaW4gcHJvZC5hdHRyaWJ1dGVzOgorICAgICAgICAgICAgICAgIHNlbGYuZW1pdF9pZGVudGlmaWVyKGEubmFtZSkKKyAgICAgICAgICAgIHNlbGYuZW1pdCgic3RhdGljIGNoYXIgKiVzX2F0dHJpYnV0ZXNbXSA9IHsiICUgbmFtZSwgMCkKKyAgICAgICAgICAgIGZvciBhIGluIHByb2QuYXR0cmlidXRlczoKKyAgICAgICAgICAgICAgICBzZWxmLmVtaXQoJyIlcyIsJyAlIGEubmFtZSwgMSkKKyAgICAgICAgICAgIHNlbGYuZW1pdCgifTsiLCAwKQogICAgICAgICBpZiBwcm9kLmZpZWxkczoKICAgICAgICAgICAgIGZvciBmIGluIHByb2QuZmllbGRzOgogICAgICAgICAgICAgICAgIHNlbGYuZW1pdF9pZGVudGlmaWVyKGYubmFtZSkKQEAgLTgyMCw2ICs4MzYsNyBAQAogICAgIFB5X0lOQ1JFRigoUHlPYmplY3QqKW8pOwogICAgIHJldHVybiAoUHlPYmplY3QqKW87CiB9CisjZGVmaW5lIGFzdDJvYmpfc2luZ2xldG9uIGFzdDJvYmpfb2JqZWN0CiAjZGVmaW5lIGFzdDJvYmpfaWRlbnRpZmllciBhc3Qyb2JqX29iamVjdAogI2RlZmluZSBhc3Qyb2JqX3N0cmluZyBhc3Qyb2JqX29iamVjdAogI2RlZmluZSBhc3Qyb2JqX2J5dGVzIGFzdDJvYmpfb2JqZWN0CkBAIC04MzEsNiArODQ4LDE3IEBACiAKIC8qIENvbnZlcnNpb24gUHl0aG9uIC0+IEFTVCAqLwogCitzdGF0aWMgaW50IG9iajJhc3Rfc2luZ2xldG9uKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0Kiogb3V0LCBQeUFyZW5hKiBhcmVuYSkKK3sKKyAgICBpZiAob2JqICE9IFB5X05vbmUgJiYgb2JqICE9IFB5X1RydWUgJiYgb2JqICE9IFB5X0ZhbHNlKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIkFTVCBzaW5nbGV0b24gbXVzdCBiZSBUcnVlLCBGYWxzZSwgb3IgTm9uZSIpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgKm91dCA9IG9iajsKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBvYmoyYXN0X29iamVjdChQeU9iamVjdCogb2JqLCBQeU9iamVjdCoqIG91dCwgUHlBcmVuYSogYXJlbmEpCiB7CiAgICAgaWYgKG9iaiA9PSBQeV9Ob25lKQpAQCAtOTAxLDYgKzkyOSwxOSBAQAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGV4aXN0c19ub3Rfbm9uZShQeU9iamVjdCAqb2JqLCBfUHlfSWRlbnRpZmllciAqaWQpCit7CisgICAgaW50IGlzbm9uZTsKKyAgICBQeU9iamVjdCAqYXR0ciA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCBpZCk7CisgICAgaWYgKCFhdHRyKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBpc25vbmUgPSBhdHRyID09IFB5X05vbmU7CisgICAgUHlfREVDUkVGKGF0dHIpOworICAgIHJldHVybiAhaXNub25lOworfQorCiAiIiIsIDAsIHJlZmxvdz1GYWxzZSkKIAogICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBpbnQgaW5pdF90eXBlcyh2b2lkKSIsMCkKQEAgLTkyMiw2ICs5NjMsMTEgQEAKICAgICAgICAgc2VsZi5lbWl0KCclc190eXBlID0gbWFrZV90eXBlKCIlcyIsICZBU1RfdHlwZSwgJXMsICVkKTsnICUKICAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lLCBuYW1lLCBmaWVsZHMsIGxlbihwcm9kLmZpZWxkcykpLCAxKQogICAgICAgICBzZWxmLmVtaXQoImlmICghJXNfdHlwZSkgcmV0dXJuIDA7IiAlIG5hbWUsIDEpCisgICAgICAgIGlmIHByb2QuYXR0cmlidXRlczoKKyAgICAgICAgICAgIHNlbGYuZW1pdCgiaWYgKCFhZGRfYXR0cmlidXRlcyglc190eXBlLCAlc19hdHRyaWJ1dGVzLCAlZCkpIHJldHVybiAwOyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lLCBuYW1lLCBsZW4ocHJvZC5hdHRyaWJ1dGVzKSksIDEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmVtaXQoImlmICghYWRkX2F0dHJpYnV0ZXMoJXNfdHlwZSwgTlVMTCwgMCkpIHJldHVybiAwOyIgJSBuYW1lLCAxKQogCiAgICAgZGVmIHZpc2l0U3VtKHNlbGYsIHN1bSwgbmFtZSk6CiAgICAgICAgIHNlbGYuZW1pdCgnJXNfdHlwZSA9IG1ha2VfdHlwZSgiJXMiLCAmQVNUX3R5cGUsIE5VTEwsIDApOycgJQpAQCAtMTA3Nyw2ICsxMTIzLDEyIEBACiAgICAgICAgIHNlbGYuZW1pdCgiaWYgKCFyZXN1bHQpIHJldHVybiBOVUxMOyIsIDEpCiAgICAgICAgIGZvciBmaWVsZCBpbiBwcm9kLmZpZWxkczoKICAgICAgICAgICAgIHNlbGYudmlzaXRGaWVsZChmaWVsZCwgbmFtZSwgMSwgVHJ1ZSkKKyAgICAgICAgZm9yIGEgaW4gcHJvZC5hdHRyaWJ1dGVzOgorICAgICAgICAgICAgc2VsZi5lbWl0KCJ2YWx1ZSA9IGFzdDJvYmpfJXMoby0+JXMpOyIgJSAoYS50eXBlLCBhLm5hbWUpLCAxKQorICAgICAgICAgICAgc2VsZi5lbWl0KCJpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsiLCAxKQorICAgICAgICAgICAgc2VsZi5lbWl0KCdpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkXyVzLCB2YWx1ZSkgPCAwKScgJSBhLm5hbWUsIDEpCisgICAgICAgICAgICBzZWxmLmVtaXQoJ2dvdG8gZmFpbGVkOycsIDIpCisgICAgICAgICAgICBzZWxmLmVtaXQoJ1B5X0RFQ1JFRih2YWx1ZSk7JywgMSkKICAgICAgICAgc2VsZi5mdW5jX2VuZCgpCiAKICAgICBkZWYgdmlzaXRDb25zdHJ1Y3RvcihzZWxmLCBjb25zLCBlbnVtLCBuYW1lKToKZGlmZiAtLWdpdCBhL1BhcnNlci9ncmFtbWFyMS5jIGIvUGFyc2VyL2dyYW1tYXIxLmMKaW5kZXggMWY3ZDI2NC4uNGI1YWE4YSAxMDA2NDQKLS0tIGEvUGFyc2VyL2dyYW1tYXIxLmMKKysrIGIvUGFyc2VyL2dyYW1tYXIxLmMKQEAgLTMwLDcgKzMwLDcgQEAKICNlbmRpZgogfQogCi1jaGFyICoKK2NvbnN0IGNoYXIgKgogUHlHcmFtbWFyX0xhYmVsUmVwcihsYWJlbCAqbGIpCiB7CiAgICAgc3RhdGljIGNoYXIgYnVmWzEwMF07CmRpZmYgLS1naXQgYS9QYXJzZXIvbXlyZWFkbGluZS5jIGIvUGFyc2VyL215cmVhZGxpbmUuYwppbmRleCBkODY0NjIzLi44YjI3MDQ1IDEwMDY0NAotLS0gYS9QYXJzZXIvbXlyZWFkbGluZS5jCisrKyBiL1BhcnNlci9teXJlYWRsaW5lLmMKQEAgLTY4LDcgKzY4LDcgQEAKICAgICAgICAgKi8KICAgICAgICAgaWYgKEdldExhc3RFcnJvcigpPT1FUlJPUl9PUEVSQVRJT05fQUJPUlRFRCkgewogICAgICAgICAgICAgaEludGVycnVwdEV2ZW50ID0gX1B5T1NfU2lnaW50RXZlbnQoKTsKLSAgICAgICAgICAgIHN3aXRjaCAoV2FpdEZvclNpbmdsZU9iamVjdChoSW50ZXJydXB0RXZlbnQsIDEwKSkgeworICAgICAgICAgICAgc3dpdGNoIChXYWl0Rm9yU2luZ2xlT2JqZWN0RXgoaEludGVycnVwdEV2ZW50LCAxMCwgRkFMU0UpKSB7CiAgICAgICAgICAgICBjYXNlIFdBSVRfT0JKRUNUXzA6CiAgICAgICAgICAgICAgICAgUmVzZXRFdmVudChoSW50ZXJydXB0RXZlbnQpOwogICAgICAgICAgICAgICAgIHJldHVybiAxOyAvKiBJbnRlcnJ1cHQgKi8KZGlmZiAtLWdpdCBhL1BhcnNlci90b2tlbml6ZXIuYyBiL1BhcnNlci90b2tlbml6ZXIuYwppbmRleCA5M2E0YTVjLi5jMmMxODJjIDEwMDY0NAotLS0gYS9QYXJzZXIvdG9rZW5pemVyLmMKKysrIGIvUGFyc2VyL3Rva2VuaXplci5jCkBAIC00Nyw3ICs0Nyw3IEBACiAKIC8qIFRva2VuIG5hbWVzICovCiAKLWNoYXIgKl9QeVBhcnNlcl9Ub2tlbk5hbWVzW10gPSB7Citjb25zdCBjaGFyICpfUHlQYXJzZXJfVG9rZW5OYW1lc1tdID0gewogICAgICJFTkRNQVJLRVIiLAogICAgICJOQU1FIiwKICAgICAiTlVNQkVSIiwKZGlmZiAtLWdpdCBhL1B5dGhvbi9QeXRob24tYXN0LmMgYi9QeXRob24vUHl0aG9uLWFzdC5jCmluZGV4IGU2ZjFlNTguLjY2MzIwMDEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9QeXRob24tYXN0LmMKKysrIGIvUHl0aG9uL1B5dGhvbi1hc3QuYwpAQCAtMjcxLDYgKzI3MSwxMCBAQAogc3RhdGljIGNoYXIgKkJ5dGVzX2ZpZWxkc1tdPXsKICAgICAgICAgInMiLAogfTsKK3N0YXRpYyBQeVR5cGVPYmplY3QgKk5hbWVDb25zdGFudF90eXBlOworc3RhdGljIGNoYXIgKk5hbWVDb25zdGFudF9maWVsZHNbXT17CisgICAgICAgICJ2YWx1ZSIsCit9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqRWxsaXBzaXNfdHlwZTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkF0dHJpYnV0ZV90eXBlOwogX1B5X0lERU5USUZJRVIoYXR0cik7CkBAIC00MDgsMjQgKzQxMiwyNCBAQAogc3RhdGljIFB5VHlwZU9iamVjdCAqYXJndW1lbnRzX3R5cGU7CiBzdGF0aWMgUHlPYmplY3QqIGFzdDJvYmpfYXJndW1lbnRzKHZvaWQqKTsKIF9QeV9JREVOVElGSUVSKHZhcmFyZyk7Ci1fUHlfSURFTlRJRklFUih2YXJhcmdhbm5vdGF0aW9uKTsKIF9QeV9JREVOVElGSUVSKGt3b25seWFyZ3MpOwotX1B5X0lERU5USUZJRVIoa3dhcmcpOwotX1B5X0lERU5USUZJRVIoa3dhcmdhbm5vdGF0aW9uKTsKLV9QeV9JREVOVElGSUVSKGRlZmF1bHRzKTsKIF9QeV9JREVOVElGSUVSKGt3X2RlZmF1bHRzKTsKK19QeV9JREVOVElGSUVSKGt3YXJnKTsKK19QeV9JREVOVElGSUVSKGRlZmF1bHRzKTsKIHN0YXRpYyBjaGFyICphcmd1bWVudHNfZmllbGRzW109ewogICAgICAgICAiYXJncyIsCiAgICAgICAgICJ2YXJhcmciLAotICAgICAgICAidmFyYXJnYW5ub3RhdGlvbiIsCiAgICAgICAgICJrd29ubHlhcmdzIiwKLSAgICAgICAgImt3YXJnIiwKLSAgICAgICAgImt3YXJnYW5ub3RhdGlvbiIsCi0gICAgICAgICJkZWZhdWx0cyIsCiAgICAgICAgICJrd19kZWZhdWx0cyIsCisgICAgICAgICJrd2FyZyIsCisgICAgICAgICJkZWZhdWx0cyIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqYXJnX3R5cGU7CiBzdGF0aWMgUHlPYmplY3QqIGFzdDJvYmpfYXJnKHZvaWQqKTsKK3N0YXRpYyBjaGFyICphcmdfYXR0cmlidXRlc1tdID0geworICAgICAgICAibGluZW5vIiwKKyAgICAgICAgImNvbF9vZmZzZXQiLAorfTsKIF9QeV9JREVOVElGSUVSKGFyZyk7CiBfUHlfSURFTlRJRklFUihhbm5vdGF0aW9uKTsKIHN0YXRpYyBjaGFyICphcmdfZmllbGRzW109ewpAQCAtNjczLDYgKzY3Nyw3IEBACiAgICAgUHlfSU5DUkVGKChQeU9iamVjdCopbyk7CiAgICAgcmV0dXJuIChQeU9iamVjdCopbzsKIH0KKyNkZWZpbmUgYXN0Mm9ial9zaW5nbGV0b24gYXN0Mm9ial9vYmplY3QKICNkZWZpbmUgYXN0Mm9ial9pZGVudGlmaWVyIGFzdDJvYmpfb2JqZWN0CiAjZGVmaW5lIGFzdDJvYmpfc3RyaW5nIGFzdDJvYmpfb2JqZWN0CiAjZGVmaW5lIGFzdDJvYmpfYnl0ZXMgYXN0Mm9ial9vYmplY3QKQEAgLTY4NCw2ICs2ODksMTcgQEAKIAogLyogQ29udmVyc2lvbiBQeXRob24gLT4gQVNUICovCiAKK3N0YXRpYyBpbnQgb2JqMmFzdF9zaW5nbGV0b24oUHlPYmplY3QgKm9iaiwgUHlPYmplY3QqKiBvdXQsIFB5QXJlbmEqIGFyZW5hKQoreworICAgIGlmIChvYmogIT0gUHlfTm9uZSAmJiBvYmogIT0gUHlfVHJ1ZSAmJiBvYmogIT0gUHlfRmFsc2UpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiQVNUIHNpbmdsZXRvbiBtdXN0IGJlIFRydWUsIEZhbHNlLCBvciBOb25lIik7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICAqb3V0ID0gb2JqOworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgaW50IG9iajJhc3Rfb2JqZWN0KFB5T2JqZWN0KiBvYmosIFB5T2JqZWN0Kiogb3V0LCBQeUFyZW5hKiBhcmVuYSkKIHsKICAgICBpZiAob2JqID09IFB5X05vbmUpCkBAIC03NTQsNiArNzcwLDE5IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgZXhpc3RzX25vdF9ub25lKFB5T2JqZWN0ICpvYmosIF9QeV9JZGVudGlmaWVyICppZCkKK3sKKyAgICBpbnQgaXNub25lOworICAgIFB5T2JqZWN0ICphdHRyID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosIGlkKTsKKyAgICBpZiAoIWF0dHIpIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGlzbm9uZSA9IGF0dHIgPT0gUHlfTm9uZTsKKyAgICBQeV9ERUNSRUYoYXR0cik7CisgICAgcmV0dXJuICFpc25vbmU7Cit9CisKIAogc3RhdGljIGludCBpbml0X3R5cGVzKHZvaWQpCiB7CkBAIC04NjAsNiArODg5LDkgQEAKICAgICAgICAgaWYgKCFTdHJfdHlwZSkgcmV0dXJuIDA7CiAgICAgICAgIEJ5dGVzX3R5cGUgPSBtYWtlX3R5cGUoIkJ5dGVzIiwgZXhwcl90eXBlLCBCeXRlc19maWVsZHMsIDEpOwogICAgICAgICBpZiAoIUJ5dGVzX3R5cGUpIHJldHVybiAwOworICAgICAgICBOYW1lQ29uc3RhbnRfdHlwZSA9IG1ha2VfdHlwZSgiTmFtZUNvbnN0YW50IiwgZXhwcl90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lQ29uc3RhbnRfZmllbGRzLCAxKTsKKyAgICAgICAgaWYgKCFOYW1lQ29uc3RhbnRfdHlwZSkgcmV0dXJuIDA7CiAgICAgICAgIEVsbGlwc2lzX3R5cGUgPSBtYWtlX3R5cGUoIkVsbGlwc2lzIiwgZXhwcl90eXBlLCBOVUxMLCAwKTsKICAgICAgICAgaWYgKCFFbGxpcHNpc190eXBlKSByZXR1cm4gMDsKICAgICAgICAgQXR0cmlidXRlX3R5cGUgPSBtYWtlX3R5cGUoIkF0dHJpYnV0ZSIsIGV4cHJfdHlwZSwgQXR0cmlidXRlX2ZpZWxkcywgMyk7CkBAIC0xMDM3LDYgKzEwNjksNyBAQAogICAgICAgICBjb21wcmVoZW5zaW9uX3R5cGUgPSBtYWtlX3R5cGUoImNvbXByZWhlbnNpb24iLCAmQVNUX3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wcmVoZW5zaW9uX2ZpZWxkcywgMyk7CiAgICAgICAgIGlmICghY29tcHJlaGVuc2lvbl90eXBlKSByZXR1cm4gMDsKKyAgICAgICAgaWYgKCFhZGRfYXR0cmlidXRlcyhjb21wcmVoZW5zaW9uX3R5cGUsIE5VTEwsIDApKSByZXR1cm4gMDsKICAgICAgICAgZXhjZXB0aGFuZGxlcl90eXBlID0gbWFrZV90eXBlKCJleGNlcHRoYW5kbGVyIiwgJkFTVF90eXBlLCBOVUxMLCAwKTsKICAgICAgICAgaWYgKCFleGNlcHRoYW5kbGVyX3R5cGUpIHJldHVybiAwOwogICAgICAgICBpZiAoIWFkZF9hdHRyaWJ1dGVzKGV4Y2VwdGhhbmRsZXJfdHlwZSwgZXhjZXB0aGFuZGxlcl9hdHRyaWJ1dGVzLCAyKSkKQEAgLTEwNDQsMTYgKzEwNzcsMjEgQEAKICAgICAgICAgRXhjZXB0SGFuZGxlcl90eXBlID0gbWFrZV90eXBlKCJFeGNlcHRIYW5kbGVyIiwgZXhjZXB0aGFuZGxlcl90eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0SGFuZGxlcl9maWVsZHMsIDMpOwogICAgICAgICBpZiAoIUV4Y2VwdEhhbmRsZXJfdHlwZSkgcmV0dXJuIDA7Ci0gICAgICAgIGFyZ3VtZW50c190eXBlID0gbWFrZV90eXBlKCJhcmd1bWVudHMiLCAmQVNUX3R5cGUsIGFyZ3VtZW50c19maWVsZHMsIDgpOworICAgICAgICBhcmd1bWVudHNfdHlwZSA9IG1ha2VfdHlwZSgiYXJndW1lbnRzIiwgJkFTVF90eXBlLCBhcmd1bWVudHNfZmllbGRzLCA2KTsKICAgICAgICAgaWYgKCFhcmd1bWVudHNfdHlwZSkgcmV0dXJuIDA7CisgICAgICAgIGlmICghYWRkX2F0dHJpYnV0ZXMoYXJndW1lbnRzX3R5cGUsIE5VTEwsIDApKSByZXR1cm4gMDsKICAgICAgICAgYXJnX3R5cGUgPSBtYWtlX3R5cGUoImFyZyIsICZBU1RfdHlwZSwgYXJnX2ZpZWxkcywgMik7CiAgICAgICAgIGlmICghYXJnX3R5cGUpIHJldHVybiAwOworICAgICAgICBpZiAoIWFkZF9hdHRyaWJ1dGVzKGFyZ190eXBlLCBhcmdfYXR0cmlidXRlcywgMikpIHJldHVybiAwOwogICAgICAgICBrZXl3b3JkX3R5cGUgPSBtYWtlX3R5cGUoImtleXdvcmQiLCAmQVNUX3R5cGUsIGtleXdvcmRfZmllbGRzLCAyKTsKICAgICAgICAgaWYgKCFrZXl3b3JkX3R5cGUpIHJldHVybiAwOworICAgICAgICBpZiAoIWFkZF9hdHRyaWJ1dGVzKGtleXdvcmRfdHlwZSwgTlVMTCwgMCkpIHJldHVybiAwOwogICAgICAgICBhbGlhc190eXBlID0gbWFrZV90eXBlKCJhbGlhcyIsICZBU1RfdHlwZSwgYWxpYXNfZmllbGRzLCAyKTsKICAgICAgICAgaWYgKCFhbGlhc190eXBlKSByZXR1cm4gMDsKKyAgICAgICAgaWYgKCFhZGRfYXR0cmlidXRlcyhhbGlhc190eXBlLCBOVUxMLCAwKSkgcmV0dXJuIDA7CiAgICAgICAgIHdpdGhpdGVtX3R5cGUgPSBtYWtlX3R5cGUoIndpdGhpdGVtIiwgJkFTVF90eXBlLCB3aXRoaXRlbV9maWVsZHMsIDIpOwogICAgICAgICBpZiAoIXdpdGhpdGVtX3R5cGUpIHJldHVybiAwOworICAgICAgICBpZiAoIWFkZF9hdHRyaWJ1dGVzKHdpdGhpdGVtX3R5cGUsIE5VTEwsIDApKSByZXR1cm4gMDsKICAgICAgICAgaW5pdGlhbGl6ZWQgPSAxOwogICAgICAgICByZXR1cm4gMTsKIH0KQEAgLTE5MjEsNiArMTk1OSwyNSBAQAogfQogCiBleHByX3R5CitOYW1lQ29uc3RhbnQoc2luZ2xldG9uIHZhbHVlLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpCit7CisgICAgICAgIGV4cHJfdHkgcDsKKyAgICAgICAgaWYgKCF2YWx1ZSkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQgdmFsdWUgaXMgcmVxdWlyZWQgZm9yIE5hbWVDb25zdGFudCIpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHAgPSAoZXhwcl90eSlQeUFyZW5hX01hbGxvYyhhcmVuYSwgc2l6ZW9mKCpwKSk7CisgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcC0+a2luZCA9IE5hbWVDb25zdGFudF9raW5kOworICAgICAgICBwLT52Lk5hbWVDb25zdGFudC52YWx1ZSA9IHZhbHVlOworICAgICAgICBwLT5saW5lbm8gPSBsaW5lbm87CisgICAgICAgIHAtPmNvbF9vZmZzZXQgPSBjb2xfb2Zmc2V0OworICAgICAgICByZXR1cm4gcDsKK30KKworZXhwcl90eQogRWxsaXBzaXMoaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKQogewogICAgICAgICBleHByX3R5IHA7CkBAIC0yMTc1LDkgKzIyMzIsOCBAQAogfQogCiBhcmd1bWVudHNfdHkKLWFyZ3VtZW50cyhhc2RsX3NlcSAqIGFyZ3MsIGlkZW50aWZpZXIgdmFyYXJnLCBleHByX3R5IHZhcmFyZ2Fubm90YXRpb24sCi0gICAgICAgICAgYXNkbF9zZXEgKiBrd29ubHlhcmdzLCBpZGVudGlmaWVyIGt3YXJnLCBleHByX3R5IGt3YXJnYW5ub3RhdGlvbiwKLSAgICAgICAgICBhc2RsX3NlcSAqIGRlZmF1bHRzLCBhc2RsX3NlcSAqIGt3X2RlZmF1bHRzLCBQeUFyZW5hICphcmVuYSkKK2FyZ3VtZW50cyhhc2RsX3NlcSAqIGFyZ3MsIGFyZ190eSB2YXJhcmcsIGFzZGxfc2VxICoga3dvbmx5YXJncywgYXNkbF9zZXEgKgorICAgICAgICAgIGt3X2RlZmF1bHRzLCBhcmdfdHkga3dhcmcsIGFzZGxfc2VxICogZGVmYXVsdHMsIFB5QXJlbmEgKmFyZW5hKQogewogICAgICAgICBhcmd1bWVudHNfdHkgcDsKICAgICAgICAgcCA9IChhcmd1bWVudHNfdHkpUHlBcmVuYV9NYWxsb2MoYXJlbmEsIHNpemVvZigqcCkpOwpAQCAtMjE4NSwxMiArMjI0MSwxMCBAQAogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBwLT5hcmdzID0gYXJnczsKICAgICAgICAgcC0+dmFyYXJnID0gdmFyYXJnOwotICAgICAgICBwLT52YXJhcmdhbm5vdGF0aW9uID0gdmFyYXJnYW5ub3RhdGlvbjsKICAgICAgICAgcC0+a3dvbmx5YXJncyA9IGt3b25seWFyZ3M7Ci0gICAgICAgIHAtPmt3YXJnID0ga3dhcmc7Ci0gICAgICAgIHAtPmt3YXJnYW5ub3RhdGlvbiA9IGt3YXJnYW5ub3RhdGlvbjsKLSAgICAgICAgcC0+ZGVmYXVsdHMgPSBkZWZhdWx0czsKICAgICAgICAgcC0+a3dfZGVmYXVsdHMgPSBrd19kZWZhdWx0czsKKyAgICAgICAgcC0+a3dhcmcgPSBrd2FyZzsKKyAgICAgICAgcC0+ZGVmYXVsdHMgPSBkZWZhdWx0czsKICAgICAgICAgcmV0dXJuIHA7CiB9CiAKQEAgLTI5NDgsNiArMzAwMiwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOYW1lQ29uc3RhbnRfa2luZDoKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBQeVR5cGVfR2VuZXJpY05ldyhOYW1lQ29uc3RhbnRfdHlwZSwgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9zaW5nbGV0b24oby0+di5OYW1lQ29uc3RhbnQudmFsdWUpOworICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFsdWUsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRWxsaXBzaXNfa2luZDoKICAgICAgICAgICAgICAgICByZXN1bHQgPSBQeVR5cGVfR2VuZXJpY05ldyhFbGxpcHNpc190eXBlLCBOVUxMLCBOVUxMKTsKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CkBAIC0zMzY2LDI5ICszNDI5LDI0IEBACiAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYXJncywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfaWRlbnRpZmllcihvLT52YXJhcmcpOworICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfYXJnKG8tPnZhcmFyZyk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwogICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhcmFyZywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52YXJhcmdhbm5vdGF0aW9uKTsKLSAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFyYXJnYW5ub3RhdGlvbiwgdmFsdWUpID09IC0xKQotICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwotICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT5rd29ubHlhcmdzLCBhc3Qyb2JqX2FyZyk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwogICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2t3b25seWFyZ3MsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKLSAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2lkZW50aWZpZXIoby0+a3dhcmcpOworICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT5rd19kZWZhdWx0cywgYXN0Mm9ial9leHByKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dhcmcsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9rd19kZWZhdWx0cywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT5rd2FyZ2Fubm90YXRpb24pOworICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfYXJnKG8tPmt3YXJnKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dhcmdhbm5vdGF0aW9uLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dhcmcsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+ZGVmYXVsdHMsIGFzdDJvYmpfZXhwcik7CkBAIC0zMzk2LDExICszNDU0LDYgQEAKICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9kZWZhdWx0cywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT5rd19kZWZhdWx0cywgYXN0Mm9ial9leHByKTsKLSAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dfZGVmYXVsdHMsIHZhbHVlKSA9PSAtMSkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKLSAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKIGZhaWxlZDoKICAgICAgICAgUHlfWERFQ1JFRih2YWx1ZSk7CkBAIC0zNDMwLDYgKzM0ODMsMTYgQEAKICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9hbm5vdGF0aW9uLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pbnQoby0+bGluZW5vKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7CisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbGluZW5vLCB2YWx1ZSkgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOworICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfaW50KG8tPmNvbF9vZmZzZXQpOworICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jb2xfb2Zmc2V0LCB2YWx1ZSkgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOworICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogZmFpbGVkOgogICAgICAgICBQeV9YREVDUkVGKHZhbHVlKTsKQEAgLTM3OTYsNyArMzg1OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJkZWNvcmF0b3JfbGlzdFwiIG1pc3NpbmcgZnJvbSBGdW5jdGlvbkRlZiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfcmV0dXJucykpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfcmV0dXJucykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfcmV0dXJucyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwpAQCAtMzg4Nyw3ICszOTUwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImtleXdvcmRzXCIgbWlzc2luZyBmcm9tIENsYXNzRGVmIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9zdGFyYXJncykpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfc3RhcmFyZ3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3N0YXJhcmdzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC0zODk4LDcgKzM5NjEsNyBAQAogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdGFyYXJncyA9IE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfa3dhcmdzKSkgeworICAgICAgICAgICAgICAgIGlmIChleGlzdHNfbm90X25vbmUob2JqLCAmUHlJZF9rd2FyZ3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2t3YXJncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwpAQCAtMzk3MSw3ICs0MDM0LDcgQEAKICAgICAgICAgaWYgKGlzaW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgICBleHByX3R5IHZhbHVlOwogCi0gICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3ZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC00NDI5LDcgKzQ0OTIsNyBAQAogICAgICAgICAgICAgICAgIGV4cHJfdHkgZXhjOwogICAgICAgICAgICAgICAgIGV4cHJfdHkgY2F1c2U7CiAKLSAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2V4YykpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfZXhjKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9leGMpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTQ0NDAsNyArNDUwMyw3IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGV4YyA9IE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfY2F1c2UpKSB7CisgICAgICAgICAgICAgICAgaWYgKGV4aXN0c19ub3Rfbm9uZShvYmosICZQeUlkX2NhdXNlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9jYXVzZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwpAQCAtNDU5MCw3ICs0NjUzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcInRlc3RcIiBtaXNzaW5nIGZyb20gQXNzZXJ0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9tc2cpKSB7CisgICAgICAgICAgICAgICAgaWYgKGV4aXN0c19ub3Rfbm9uZShvYmosICZQeUlkX21zZykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbXNnKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC00NjUwLDcgKzQ3MTMsNyBAQAogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBuYW1lczsKICAgICAgICAgICAgICAgICBpbnQgbGV2ZWw7CiAKLSAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX21vZHVsZSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfbW9kdWxlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9tb2R1bGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTQ2ODYsNyArNDc0OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJuYW1lc1wiIG1pc3NpbmcgZnJvbSBJbXBvcnRGcm9tIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9sZXZlbCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfbGV2ZWwpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2xldmVsKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC01NDA1LDcgKzU0NjgsNyBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGV4cHJfdHkgdmFsdWU7CiAKLSAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3ZhbHVlKSkgeworICAgICAgICAgICAgICAgIGlmIChleGlzdHNfbm90X25vbmUob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTU1OTIsNyArNTY1NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJrZXl3b3Jkc1wiIG1pc3NpbmcgZnJvbSBDYWxsIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9zdGFyYXJncykpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfc3RhcmFyZ3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3N0YXJhcmdzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC01NjAzLDcgKzU2NjYsNyBAQAogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBzdGFyYXJncyA9IE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfa3dhcmdzKSkgeworICAgICAgICAgICAgICAgIGlmIChleGlzdHNfbm90X25vbmUob2JqLCAmUHlJZF9rd2FyZ3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2t3YXJncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwpAQCAtNTY4OCw2ICs1NzUxLDI5IEBACiAgICAgICAgICAgICAgICAgaWYgKCpvdXQgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KKyAgICAgICAgaXNpbnN0YW5jZSA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCAoUHlPYmplY3QqKU5hbWVDb25zdGFudF90eXBlKTsKKyAgICAgICAgaWYgKGlzaW5zdGFuY2UgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorICAgICAgICBpZiAoaXNpbnN0YW5jZSkgeworICAgICAgICAgICAgICAgIHNpbmdsZXRvbiB2YWx1ZTsKKworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3ZhbHVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X3NpbmdsZXRvbih0bXAsICZ2YWx1ZSwgYXJlbmEpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodG1wKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcInZhbHVlXCIgbWlzc2luZyBmcm9tIE5hbWVDb25zdGFudCIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICpvdXQgPSBOYW1lQ29uc3RhbnQodmFsdWUsIGxpbmVubywgY29sX29mZnNldCwgYXJlbmEpOworICAgICAgICAgICAgICAgIGlmICgqb3V0ID09IE5VTEwpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CiAgICAgICAgIGlzaW5zdGFuY2UgPSBQeU9iamVjdF9Jc0luc3RhbmNlKG9iaiwgKFB5T2JqZWN0KilFbGxpcHNpc190eXBlKTsKICAgICAgICAgaWYgKGlzaW5zdGFuY2UgPT0gLTEpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKQEAgLTYwNTEsNyArNjEzNyw3IEBACiAgICAgICAgICAgICAgICAgZXhwcl90eSB1cHBlcjsKICAgICAgICAgICAgICAgICBleHByX3R5IHN0ZXA7CiAKLSAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2xvd2VyKSkgeworICAgICAgICAgICAgICAgIGlmIChleGlzdHNfbm90X25vbmUob2JqLCAmUHlJZF9sb3dlcikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbG93ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTYwNjIsNyArNjE0OCw3IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGxvd2VyID0gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF91cHBlcikpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfdXBwZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3VwcGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC02MDczLDcgKzYxNTksNyBAQAogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB1cHBlciA9IE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfc3RlcCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfc3RlcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfc3RlcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwpAQCAtNjUyOCw3ICs2NjE0LDcgQEAKICAgICAgICAgICAgICAgICBpZGVudGlmaWVyIG5hbWU7CiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGJvZHk7CiAKLSAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3R5cGUpKSB7CisgICAgICAgICAgICAgICAgaWYgKGV4aXN0c19ub3Rfbm9uZShvYmosICZQeUlkX3R5cGUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3R5cGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTY1MzksNyArNjYyNSw3IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX25hbWUpKSB7CisgICAgICAgICAgICAgICAgaWYgKGV4aXN0c19ub3Rfbm9uZShvYmosICZQeUlkX25hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX25hbWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTY1OTIsMTMgKzY2NzgsMTEgQEAKIHsKICAgICAgICAgUHlPYmplY3QqIHRtcCA9IE5VTEw7CiAgICAgICAgIGFzZGxfc2VxKiBhcmdzOwotICAgICAgICBpZGVudGlmaWVyIHZhcmFyZzsKLSAgICAgICAgZXhwcl90eSB2YXJhcmdhbm5vdGF0aW9uOworICAgICAgICBhcmdfdHkgdmFyYXJnOwogICAgICAgICBhc2RsX3NlcSoga3dvbmx5YXJnczsKLSAgICAgICAgaWRlbnRpZmllciBrd2FyZzsKLSAgICAgICAgZXhwcl90eSBrd2FyZ2Fubm90YXRpb247Ci0gICAgICAgIGFzZGxfc2VxKiBkZWZhdWx0czsKICAgICAgICAgYXNkbF9zZXEqIGt3X2RlZmF1bHRzOworICAgICAgICBhcmdfdHkga3dhcmc7CisgICAgICAgIGFzZGxfc2VxKiBkZWZhdWx0czsKIAogICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2FyZ3MpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKQEAgLTY2MjUsMjggKzY3MDksMTcgQEAKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJhcmdzXCIgbWlzc2luZyBmcm9tIGFyZ3VtZW50cyIpOwogICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9Ci0gICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdmFyYXJnKSkgeworICAgICAgICBpZiAoZXhpc3RzX25vdF9ub25lKG9iaiwgJlB5SWRfdmFyYXJnKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3ZhcmFyZyk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2lkZW50aWZpZXIodG1wLCAmdmFyYXJnLCBhcmVuYSk7CisgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9hcmcodG1wLCAmdmFyYXJnLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7CiAgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB2YXJhcmcgPSBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdmFyYXJnYW5ub3RhdGlvbikpIHsKLSAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF92YXJhcmdhbm5vdGF0aW9uKTsKLSAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YXJhcmdhbm5vdGF0aW9uLCBhcmVuYSk7Ci0gICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7Ci0gICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB2YXJhcmdhbm5vdGF0aW9uID0gTlVMTDsKLSAgICAgICAgfQogICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2t3b25seWFyZ3MpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKQEAgLTY2NzIsNTMgKzY3NDUsNiBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImt3b25seWFyZ3NcIiBtaXNzaW5nIGZyb20gYXJndW1lbnRzIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9rd2FyZykpIHsKLSAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd2FyZyk7Ci0gICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2lkZW50aWZpZXIodG1wLCAma3dhcmcsIGFyZW5hKTsKLSAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodG1wKTsKLSAgICAgICAgICAgICAgICB0bXAgPSBOVUxMOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGt3YXJnID0gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2t3YXJnYW5ub3RhdGlvbikpIHsKLSAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd2FyZ2Fubm90YXRpb24pOwotICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmt3YXJnYW5ub3RhdGlvbiwgYXJlbmEpOwotICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOwotICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAga3dhcmdhbm5vdGF0aW9uID0gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2RlZmF1bHRzKSkgewotICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9kZWZhdWx0cyk7Ci0gICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiYXJndW1lbnRzIGZpZWxkIFwiZGVmYXVsdHNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBsZW4gPSBQeUxpc3RfR0VUX1NJWkUodG1wKTsKLSAgICAgICAgICAgICAgICBkZWZhdWx0cyA9IGFzZGxfc2VxX25ldyhsZW4sIGFyZW5hKTsKLSAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdHMgPT0gTlVMTCkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBleHByX3R5IHZhbHVlOwotICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKFB5TGlzdF9HRVRfSVRFTSh0bXAsIGkpLCAmdmFsdWUsIGFyZW5hKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcV9TRVQoZGVmYXVsdHMsIGksIHZhbHVlKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOwotICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiZGVmYXVsdHNcIiBtaXNzaW5nIGZyb20gYXJndW1lbnRzIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9rd19kZWZhdWx0cykpIHsKICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwpAQCAtNjc0NCw4ICs2NzcwLDQ0IEBACiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwia3dfZGVmYXVsdHNcIiBtaXNzaW5nIGZyb20gYXJndW1lbnRzIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgKm91dCA9IGFyZ3VtZW50cyhhcmdzLCB2YXJhcmcsIHZhcmFyZ2Fubm90YXRpb24sIGt3b25seWFyZ3MsIGt3YXJnLAotICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnYW5ub3RhdGlvbiwgZGVmYXVsdHMsIGt3X2RlZmF1bHRzLCBhcmVuYSk7CisgICAgICAgIGlmIChleGlzdHNfbm90X25vbmUob2JqLCAmUHlJZF9rd2FyZykpIHsKKyAgICAgICAgICAgICAgICBpbnQgcmVzOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd2FyZyk7CisgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2FyZyh0bXAsICZrd2FyZywgYXJlbmEpOworICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CisgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOworICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAga3dhcmcgPSBOVUxMOworICAgICAgICB9CisgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfZGVmYXVsdHMpKSB7CisgICAgICAgICAgICAgICAgaW50IHJlczsKKyAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7CisgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2RlZmF1bHRzKTsKKyAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudHMgZmllbGQgXCJkZWZhdWx0c1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGxlbiA9IFB5TGlzdF9HRVRfU0laRSh0bXApOworICAgICAgICAgICAgICAgIGRlZmF1bHRzID0gYXNkbF9zZXFfbmV3KGxlbiwgYXJlbmEpOworICAgICAgICAgICAgICAgIGlmIChkZWZhdWx0cyA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJfdHkgdmFsdWU7CisgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIoUHlMaXN0X0dFVF9JVEVNKHRtcCwgaSksICZ2YWx1ZSwgYXJlbmEpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxX1NFVChkZWZhdWx0cywgaSwgdmFsdWUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7CisgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJkZWZhdWx0c1wiIG1pc3NpbmcgZnJvbSBhcmd1bWVudHMiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorICAgICAgICAqb3V0ID0gYXJndW1lbnRzKGFyZ3MsIHZhcmFyZywga3dvbmx5YXJncywga3dfZGVmYXVsdHMsIGt3YXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRzLCBhcmVuYSk7CiAgICAgICAgIHJldHVybiAwOwogZmFpbGVkOgogICAgICAgICBQeV9YREVDUkVGKHRtcCk7CkBAIC02NzcxLDcgKzY4MzMsNyBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImFyZ1wiIG1pc3NpbmcgZnJvbSBhcmciKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2Fubm90YXRpb24pKSB7CisgICAgICAgIGlmIChleGlzdHNfbm90X25vbmUob2JqLCAmUHlJZF9hbm5vdGF0aW9uKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2Fubm90YXRpb24pOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC02ODQ2LDcgKzY5MDgsNyBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIm5hbWVcIiBtaXNzaW5nIGZyb20gYWxpYXMiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2FzbmFtZSkpIHsKKyAgICAgICAgaWYgKGV4aXN0c19ub3Rfbm9uZShvYmosICZQeUlkX2FzbmFtZSkpIHsKICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hc25hbWUpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CkBAIC02ODgzLDcgKzY5NDUsNyBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImNvbnRleHRfZXhwclwiIG1pc3NpbmcgZnJvbSB3aXRoaXRlbSIpOwogICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9Ci0gICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfb3B0aW9uYWxfdmFycykpIHsKKyAgICAgICAgaWYgKGV4aXN0c19ub3Rfbm9uZShvYmosICZQeUlkX29wdGlvbmFsX3ZhcnMpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfb3B0aW9uYWxfdmFycyk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKQEAgLTcwMDgsNiArNzA3MCw4IEBACiAgICAgICAgICAgICBOVUxMOwogICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkJ5dGVzIiwgKFB5T2JqZWN0KilCeXRlc190eXBlKSA8IDApIHJldHVybgogICAgICAgICAgICAgTlVMTDsKKyAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJOYW1lQ29uc3RhbnQiLAorICAgICAgICAgICAgKFB5T2JqZWN0KilOYW1lQ29uc3RhbnRfdHlwZSkgPCAwKSByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJFbGxpcHNpcyIsIChQeU9iamVjdCopRWxsaXBzaXNfdHlwZSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiQXR0cmlidXRlIiwgKFB5T2JqZWN0KilBdHRyaWJ1dGVfdHlwZSkgPApkaWZmIC0tZ2l0IGEvUHl0aG9uL2FzdC5jIGIvUHl0aG9uL2FzdC5jCmluZGV4IDFiNWZhNmMuLjRkNTE3YjcgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9hc3QuYworKysgYi9QeXRob24vYXN0LmMKQEAgLTEwOSwyMiArMTA5LDE0IEBACiB7CiAgICAgaWYgKCF2YWxpZGF0ZV9hcmdzKGFyZ3MtPmFyZ3MpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoYXJncy0+dmFyYXJnYW5ub3RhdGlvbikgewotICAgICAgICBpZiAoIWFyZ3MtPnZhcmFyZykgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ2YXJhcmdhbm5vdGF0aW9uIGJ1dCBubyB2YXJhcmcgb24gYXJndW1lbnRzIik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXZhbGlkYXRlX2V4cHIoYXJncy0+dmFyYXJnYW5ub3RhdGlvbiwgTG9hZCkpCisgICAgaWYgKGFyZ3MtPnZhcmFyZyAmJiBhcmdzLT52YXJhcmctPmFubm90YXRpb24KKyAgICAgICAgJiYgIXZhbGlkYXRlX2V4cHIoYXJncy0+dmFyYXJnLT5hbm5vdGF0aW9uLCBMb2FkKSkgewogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGlmICghdmFsaWRhdGVfYXJncyhhcmdzLT5rd29ubHlhcmdzKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKGFyZ3MtPmt3YXJnYW5ub3RhdGlvbikgewotICAgICAgICBpZiAoIWFyZ3MtPmt3YXJnKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImt3YXJnYW5ub3RhdGlvbiBidXQgbm8ga3dhcmcgb24gYXJndW1lbnRzIik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgICBpZiAoIXZhbGlkYXRlX2V4cHIoYXJncy0+a3dhcmdhbm5vdGF0aW9uLCBMb2FkKSkKKyAgICBpZiAoYXJncy0+a3dhcmcgJiYgYXJncy0+a3dhcmctPmFubm90YXRpb24gCisgICAgICAgICYmICF2YWxpZGF0ZV9leHByKGFyZ3MtPmt3YXJnLT5hbm5vdGF0aW9uLCBMb2FkKSkgewogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGlmIChhc2RsX3NlcV9MRU4oYXJncy0+ZGVmYXVsdHMpID4gYXNkbF9zZXFfTEVOKGFyZ3MtPmFyZ3MpKSB7CkBAIC0yODIsNiArMjc0LDcgQEAKICAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHJzKGV4cC0+di5UdXBsZS5lbHRzLCBjdHgsIDApOwogICAgIC8qIFRoZXNlIGxhc3QgY2FzZXMgZG9uJ3QgaGF2ZSBhbnkgY2hlY2tpbmcuICovCiAgICAgY2FzZSBOYW1lX2tpbmQ6CisgICAgY2FzZSBOYW1lQ29uc3RhbnRfa2luZDoKICAgICBjYXNlIEVsbGlwc2lzX2tpbmQ6CiAgICAgICAgIHJldHVybiAxOwogICAgIGRlZmF1bHQ6CkBAIC05MDMsNyArODk2LDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIE5hbWVfa2luZDoKICAgICAgICAgICAgIGlmIChjdHggPT0gU3RvcmUpIHsKLSAgICAgICAgICAgICAgICBpZiAoZm9yYmlkZGVuX25hbWUoYywgZS0+di5OYW1lLmlkLCBuLCAxKSkKKyAgICAgICAgICAgICAgICBpZiAoZm9yYmlkZGVuX25hbWUoYywgZS0+di5OYW1lLmlkLCBuLCAwKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7IC8qIGZvcmJpZGRlbl9uYW1lKCkgY2FsbHMgYXN0X2Vycm9yKCkgKi8KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGUtPnYuTmFtZS5jdHggPSBjdHg7CkBAIC05NTUsNiArOTQ4LDkgQEAKICAgICAgICAgY2FzZSBCeXRlc19raW5kOgogICAgICAgICAgICAgZXhwcl9uYW1lID0gImxpdGVyYWwiOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmFtZUNvbnN0YW50X2tpbmQ6CisgICAgICAgICAgICBleHByX25hbWUgPSAia2V5d29yZCI7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBFbGxpcHNpc19raW5kOgogICAgICAgICAgICAgZXhwcl9uYW1lID0gIkVsbGlwc2lzIjsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTExOSw2ICsxMTE1LDcgQEAKICAgICBpZGVudGlmaWVyIG5hbWU7CiAgICAgZXhwcl90eSBhbm5vdGF0aW9uID0gTlVMTDsKICAgICBub2RlICpjaDsKKyAgICBhcmdfdHkgdG1wOwogCiAgICAgYXNzZXJ0KFRZUEUobikgPT0gdGZwZGVmIHx8IFRZUEUobikgPT0gdmZwZGVmKTsKICAgICBjaCA9IENISUxEKG4sIDApOwpAQCAtMTEzNCw3ICsxMTMxLDEzIEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICByZXR1cm4gYXJnKG5hbWUsIGFubm90YXRpb24sIGMtPmNfYXJlbmEpOworICAgIHRtcCA9IGFyZyhuYW1lLCBhbm5vdGF0aW9uLCBjLT5jX2FyZW5hKTsKKyAgICBpZiAoIXRtcCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICB0bXAtPmxpbmVubyA9IExJTkVOTyhuKTsKKyAgICB0bXAtPmNvbF9vZmZzZXQgPSBuLT5uX2NvbF9vZmZzZXQ7CisgICAgcmV0dXJuIHRtcDsKIH0KIAogLyogcmV0dXJucyAtMSBpZiBmYWlsZWQgdG8gaGFuZGxlIGtleXdvcmQgb25seSBhcmd1bWVudHMKQEAgLTEyMzAsMTUgKzEyMzMsMTMgQEAKICAgICBpbnQgaSwgaiwgaywgbnBvc2FyZ3MgPSAwLCBua3dvbmx5YXJncyA9IDA7CiAgICAgaW50IG5wb3NkZWZhdWx0cyA9IDAsIGZvdW5kX2RlZmF1bHQgPSAwOwogICAgIGFzZGxfc2VxICpwb3NhcmdzLCAqcG9zZGVmYXVsdHMsICprd29ubHlhcmdzLCAqa3dkZWZhdWx0czsKLSAgICBpZGVudGlmaWVyIHZhcmFyZyA9IE5VTEwsIGt3YXJnID0gTlVMTDsKKyAgICBhcmdfdHkgdmFyYXJnID0gTlVMTCwga3dhcmcgPSBOVUxMOwogICAgIGFyZ190eSBhcmc7Ci0gICAgZXhwcl90eSB2YXJhcmdhbm5vdGF0aW9uID0gTlVMTCwga3dhcmdhbm5vdGF0aW9uID0gTlVMTDsKICAgICBub2RlICpjaDsKIAogICAgIGlmIChUWVBFKG4pID09IHBhcmFtZXRlcnMpIHsKICAgICAgICAgaWYgKE5DSChuKSA9PSAyKSAvKiAoKSBhcyBhcmd1bWVudCBsaXN0ICovCi0gICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzKE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGMtPmNfYXJlbmEpOworICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50cyhOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBjLT5jX2FyZW5hKTsKICAgICAgICAgbiA9IENISUxEKG4sIDEpOwogICAgIH0KICAgICBhc3NlcnQoVFlQRShuKSA9PSB0eXBlZGFyZ3NsaXN0IHx8IFRZUEUobikgPT0gdmFyYXJnc2xpc3QpOwpAQCAtMTM0NCwxNyArMTM0NSwxMCBAQAogICAgICAgICAgICAgICAgICAgICBpID0gcmVzOyAvKiByZXMgaGFzIG5ldyBwb3NpdGlvbiB0byBwcm9jZXNzICovCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICB2YXJhcmcgPSBORVdfSURFTlRJRklFUihDSElMRChjaCwgMCkpOworICAgICAgICAgICAgICAgICAgICB2YXJhcmcgPSBhc3RfZm9yX2FyZyhjLCBjaCk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghdmFyYXJnKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChmb3JiaWRkZW5fbmFtZShjLCB2YXJhcmcsIENISUxEKGNoLCAwKSwgMCkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgaWYgKE5DSChjaCkgPiAxKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvKiB0aGVyZSBpcyBhbiBhbm5vdGF0aW9uIG9uIHRoZSB2YXJhcmcgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIHZhcmFyZ2Fubm90YXRpb24gPSBhc3RfZm9yX2V4cHIoYywgQ0hJTEQoY2gsIDIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdmFyYXJnYW5ub3RhdGlvbikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAgICAgICAgICAgIGkgKz0gMzsKICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBOQ0gobikgJiYgKFRZUEUoQ0hJTEQobiwgaSkpID09IHRmcGRlZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgVFlQRShDSElMRChuLCBpKSkgPT0gdmZwZGVmKSkgewpAQCAtMTM2OSwxNyArMTM2Myw5IEBACiAgICAgICAgICAgICBjYXNlIERPVUJMRVNUQVI6CiAgICAgICAgICAgICAgICAgY2ggPSBDSElMRChuLCBpKzEpOyAgLyogdGZwZGVmICovCiAgICAgICAgICAgICAgICAgYXNzZXJ0KFRZUEUoY2gpID09IHRmcGRlZiB8fCBUWVBFKGNoKSA9PSB2ZnBkZWYpOwotICAgICAgICAgICAgICAgIGt3YXJnID0gTkVXX0lERU5USUZJRVIoQ0hJTEQoY2gsIDApKTsKKyAgICAgICAgICAgICAgICBrd2FyZyA9IGFzdF9mb3JfYXJnKGMsIGNoKTsKICAgICAgICAgICAgICAgICBpZiAoIWt3YXJnKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICBpZiAoTkNIKGNoKSA+IDEpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogdGhlcmUgaXMgYW4gYW5ub3RhdGlvbiBvbiB0aGUga3dhcmcgKi8KLSAgICAgICAgICAgICAgICAgICAga3dhcmdhbm5vdGF0aW9uID0gYXN0X2Zvcl9leHByKGMsIENISUxEKGNoLCAyKSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgha3dhcmdhbm5vdGF0aW9uKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChmb3JiaWRkZW5fbmFtZShjLCBrd2FyZywgQ0hJTEQoY2gsIDApLCAwKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICAgICAgaSArPSAzOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKQEAgLTEzODksOCArMTM3NSw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIGFyZ3VtZW50cyhwb3NhcmdzLCB2YXJhcmcsIHZhcmFyZ2Fubm90YXRpb24sIGt3b25seWFyZ3MsIGt3YXJnLAotICAgICAgICAgICAgICAgICAgICBrd2FyZ2Fubm90YXRpb24sIHBvc2RlZmF1bHRzLCBrd2RlZmF1bHRzLCBjLT5jX2FyZW5hKTsKKyAgICByZXR1cm4gYXJndW1lbnRzKHBvc2FyZ3MsIHZhcmFyZywga3dvbmx5YXJncywga3dkZWZhdWx0cywga3dhcmcsIHBvc2RlZmF1bHRzLCBjLT5jX2FyZW5hKTsKIH0KIAogc3RhdGljIGV4cHJfdHkKQEAgLTE1NTUsOCArMTU0MCw3IEBACiAgICAgZXhwcl90eSBleHByZXNzaW9uOwogCiAgICAgaWYgKE5DSChuKSA9PSAzKSB7Ci0gICAgICAgIGFyZ3MgPSBhcmd1bWVudHMoTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBjLT5jX2FyZW5hKTsKKyAgICAgICAgYXJncyA9IGFyZ3VtZW50cyhOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMLCBjLT5jX2FyZW5hKTsKICAgICAgICAgaWYgKCFhcmdzKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGV4cHJlc3Npb24gPSBhc3RfZm9yX2V4cHIoYywgQ0hJTEQobiwgMikpOwpAQCAtMTgxOSwxMSArMTgwMywyMSBAQAogCiAgICAgc3dpdGNoIChUWVBFKGNoKSkgewogICAgIGNhc2UgTkFNRTogewotICAgICAgICAvKiBBbGwgbmFtZXMgc3RhcnQgaW4gTG9hZCBjb250ZXh0LCBidXQgbWF5IGxhdGVyIGJlCi0gICAgICAgICAgIGNoYW5nZWQuICovCi0gICAgICAgIFB5T2JqZWN0ICpuYW1lID0gTkVXX0lERU5USUZJRVIoY2gpOworICAgICAgICBQeU9iamVjdCAqbmFtZTsKKyAgICAgICAgY29uc3QgY2hhciAqcyA9IFNUUihjaCk7CisgICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4ocyk7CisgICAgICAgIGlmIChsZW4gPj0gNCAmJiBsZW4gPD0gNSkgeworICAgICAgICAgICAgaWYgKCFzdHJjbXAocywgIk5vbmUiKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTmFtZUNvbnN0YW50KFB5X05vbmUsIExJTkVOTyhuKSwgbi0+bl9jb2xfb2Zmc2V0LCBjLT5jX2FyZW5hKTsKKyAgICAgICAgICAgIGlmICghc3RyY21wKHMsICJUcnVlIikpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5hbWVDb25zdGFudChQeV9UcnVlLCBMSU5FTk8obiksIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7CisgICAgICAgICAgICBpZiAoIXN0cmNtcChzLCAiRmFsc2UiKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTmFtZUNvbnN0YW50KFB5X0ZhbHNlLCBMSU5FTk8obiksIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7CisgICAgICAgIH0KKyAgICAgICAgbmFtZSA9IG5ld19pZGVudGlmaWVyKHMsIGMpOwogICAgICAgICBpZiAoIW5hbWUpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgLyogQWxsIG5hbWVzIHN0YXJ0IGluIExvYWQgY29udGV4dCwgYnV0IG1heSBsYXRlciBiZSBjaGFuZ2VkLiAqLwogICAgICAgICByZXR1cm4gTmFtZShuYW1lLCBMb2FkLCBMSU5FTk8obiksIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7CiAgICAgfQogICAgIGNhc2UgU1RSSU5HOiB7CkBAIC0yMDkzLDE1ICsyMDg3LDIyIEBACiAgICAgICAgIGlmIChOQ0gobikgPT0gMikKICAgICAgICAgICAgIHJldHVybiBDYWxsKGxlZnRfZXhwciwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTElORU5PKG4pLAogICAgICAgICAgICAgICAgICAgICAgICAgbi0+bl9jb2xfb2Zmc2V0LCBjLT5jX2FyZW5hKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIGFzdF9mb3JfY2FsbChjLCBDSElMRChuLCAxKSwgbGVmdF9leHByKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBleHByX3R5IHRtcCA9IGFzdF9mb3JfY2FsbChjLCBDSElMRChuLCAxKSwgbGVmdF9leHByKTsKKyAgICAgICAgICAgIGlmICghdG1wKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgICAgICB0bXAtPmxpbmVubyA9IExJTkVOTyhuKTsKKyAgICAgICAgICAgIHRtcC0+Y29sX29mZnNldCA9IG4tPm5fY29sX29mZnNldDsKKyAgICAgICAgICAgIHJldHVybiB0bXA7CisgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSBpZiAoVFlQRShDSElMRChuLCAwKSkgPT0gRE9UICkgewogICAgICAgICBQeU9iamVjdCAqYXR0cl9pZCA9IE5FV19JREVOVElGSUVSKENISUxEKG4sIDEpKTsKICAgICAgICAgaWYgKCFhdHRyX2lkKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIHJldHVybiBBdHRyaWJ1dGUobGVmdF9leHByLCBhdHRyX2lkLCBMb2FkLAotICAgICAgICAgICAgICAgICAgICAgICAgIExJTkVOTyhuKSwgbi0+bl9jb2xfb2Zmc2V0LCBjLT5jX2FyZW5hKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBMSU5FTk8oQ0hJTEQobiwgMSkpLCBDSElMRChuLCAxKS0+bl9jb2xfb2Zmc2V0LCBjLT5jX2FyZW5hKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFJFUShDSElMRChuLCAwKSwgTFNRQik7CkBAIC0yMjAyLDggKzIyMDMsNiBAQAogICAgICAgICB0bXAgPSBhc3RfZm9yX3RyYWlsZXIoYywgY2gsIGUpOwogICAgICAgICBpZiAoIXRtcCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB0bXAtPmxpbmVubyA9IGUtPmxpbmVubzsKLSAgICAgICAgdG1wLT5jb2xfb2Zmc2V0ID0gZS0+Y29sX29mZnNldDsKICAgICAgICAgZSA9IHRtcDsKICAgICB9CiAgICAgaWYgKFRZUEUoQ0hJTEQobiwgTkNIKG4pIC0gMSkpID09IGZhY3RvcikgewpkaWZmIC0tZ2l0IGEvUHl0aG9uL2JsdGlubW9kdWxlLmMgYi9QeXRob24vYmx0aW5tb2R1bGUuYwppbmRleCA3NWFmYTg2Li41MjkxNTY1IDEwMDY0NAotLS0gYS9QeXRob24vYmx0aW5tb2R1bGUuYworKysgYi9QeXRob24vYmx0aW5tb2R1bGUuYwpAQCAtNjU5LDcgKzY1OSw3IEBACiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICB9CiAKLSAgICBzdHIgPSBzb3VyY2VfYXNfc3RyaW5nKGNtZCwgImNvbXBpbGUiLCAic3RyaW5nLCBieXRlcywgQVNUIG9yIGNvZGUiLCAmY2YpOworICAgIHN0ciA9IHNvdXJjZV9hc19zdHJpbmcoY21kLCAiY29tcGlsZSIsICJzdHJpbmcsIGJ5dGVzIG9yIEFTVCIsICZjZik7CiAgICAgaWYgKHN0ciA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCkBAIC0xODEwLDEwICsxODEwLDEwIEBACiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9yb3VuZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqcm91bmRfc3RyID0gTlVMTDsKICAgICBQeU9iamVjdCAqbmRpZ2l0cyA9IE5VTEw7CiAgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJudW1iZXIiLCAibmRpZ2l0cyIsIDB9OwotICAgIFB5T2JqZWN0ICpudW1iZXIsICpyb3VuZDsKKyAgICBQeU9iamVjdCAqbnVtYmVyLCAqcm91bmQsICpyZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIoX19yb3VuZF9fKTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPfE86cm91bmQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJm51bWJlciwgJm5kaWdpdHMpKQpAQCAtMTgyNCwyNCArMTgyNCwyMSBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKHJvdW5kX3N0ciA9PSBOVUxMKSB7Ci0gICAgICAgIHJvdW5kX3N0ciA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCJfX3JvdW5kX18iKTsKLSAgICAgICAgaWYgKHJvdW5kX3N0ciA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgcm91bmQgPSBfUHlUeXBlX0xvb2t1cChQeV9UWVBFKG51bWJlciksIHJvdW5kX3N0cik7CisgICAgcm91bmQgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChudW1iZXIsICZQeUlkX19fcm91bmRfXyk7CiAgICAgaWYgKHJvdW5kID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJ0eXBlICUuMTAwcyBkb2Vzbid0IGRlZmluZSBfX3JvdW5kX18gbWV0aG9kIiwKLSAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUobnVtYmVyKS0+dHBfbmFtZSk7CisgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgInR5cGUgJS4xMDBzIGRvZXNuJ3QgZGVmaW5lIF9fcm91bmRfXyBtZXRob2QiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUobnVtYmVyKS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAogICAgIGlmIChuZGlnaXRzID09IE5VTEwpCi0gICAgICAgIHJldHVybiBQeU9iamVjdF9DYWxsRnVuY3Rpb24ocm91bmQsICJPIiwgbnVtYmVyKTsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhyb3VuZCwgTlVMTCk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKHJvdW5kLCAiT08iLCBudW1iZXIsIG5kaWdpdHMpOworICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKHJvdW5kLCBuZGlnaXRzLCBOVUxMKTsKKyAgICBQeV9ERUNSRUYocm91bmQpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIFB5RG9jX1NUUlZBUihyb3VuZF9kb2MsCkBAIC0yNDA4LDYgKzI0MDUsMTIgQEAKIF9QeUJ1aWx0aW5fSW5pdCh2b2lkKQogewogICAgIFB5T2JqZWN0ICptb2QsICpkaWN0LCAqZGVidWc7CisKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZQeUZpbHRlcl9UeXBlKSA8IDAgfHwKKyAgICAgICAgUHlUeXBlX1JlYWR5KCZQeU1hcF9UeXBlKSA8IDAgfHwKKyAgICAgICAgUHlUeXBlX1JlYWR5KCZQeVppcF9UeXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgbW9kID0gUHlNb2R1bGVfQ3JlYXRlKCZidWlsdGluc21vZHVsZSk7CiAgICAgaWYgKG1vZCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL1B5dGhvbi9jZXZhbC5jIGIvUHl0aG9uL2NldmFsLmMKaW5kZXggZjQyNzg0MS4uMTM4Yzc1ZCAxMDA2NDQKLS0tIGEvUHl0aG9uL2NldmFsLmMKKysrIGIvUHl0aG9uL2NldmFsLmMKQEAgLTE0Miw4ICsxNDIsNiBAQAogCiAjZGVmaW5lIE5BTUVfRVJST1JfTVNHIFwKICAgICAibmFtZSAnJS4yMDBzJyBpcyBub3QgZGVmaW5lZCIKLSNkZWZpbmUgR0xPQkFMX05BTUVfRVJST1JfTVNHIFwKLSAgICAiZ2xvYmFsIG5hbWUgJyUuMjAwcycgaXMgbm90IGRlZmluZWQiCiAjZGVmaW5lIFVOQk9VTkRMT0NBTF9FUlJPUl9NU0cgXAogICAgICJsb2NhbCB2YXJpYWJsZSAnJS4yMDBzJyByZWZlcmVuY2VkIGJlZm9yZSBhc3NpZ25tZW50IgogI2RlZmluZSBVTkJPVU5ERlJFRV9FUlJPUl9NU0cgXApAQCAtNzQyLDcgKzc0MCw2IEBACiBlbnVtIHdoeV9jb2RlIHsKICAgICAgICAgV0hZX05PVCA9ICAgICAgIDB4MDAwMSwgLyogTm8gZXJyb3IgKi8KICAgICAgICAgV0hZX0VYQ0VQVElPTiA9IDB4MDAwMiwgLyogRXhjZXB0aW9uIG9jY3VycmVkICovCi0gICAgICAgIFdIWV9SRVJBSVNFID0gICAweDAwMDQsIC8qIEV4Y2VwdGlvbiByZS1yYWlzZWQgYnkgJ2ZpbmFsbHknICovCiAgICAgICAgIFdIWV9SRVRVUk4gPSAgICAweDAwMDgsIC8qICdyZXR1cm4nIHN0YXRlbWVudCAqLwogICAgICAgICBXSFlfQlJFQUsgPSAgICAgMHgwMDEwLCAvKiAnYnJlYWsnIHN0YXRlbWVudCAqLwogICAgICAgICBXSFlfQ09OVElOVUUgPSAgMHgwMDIwLCAvKiAnY29udGludWUnIHN0YXRlbWVudCAqLwpAQCAtNzUzLDcgKzc1MCw3IEBACiBzdGF0aWMgdm9pZCBzYXZlX2V4Y19zdGF0ZShQeVRocmVhZFN0YXRlICosIFB5RnJhbWVPYmplY3QgKik7CiBzdGF0aWMgdm9pZCBzd2FwX2V4Y19zdGF0ZShQeVRocmVhZFN0YXRlICosIFB5RnJhbWVPYmplY3QgKik7CiBzdGF0aWMgdm9pZCByZXN0b3JlX2FuZF9jbGVhcl9leGNfc3RhdGUoUHlUaHJlYWRTdGF0ZSAqLCBQeUZyYW1lT2JqZWN0ICopOwotc3RhdGljIGVudW0gd2h5X2NvZGUgZG9fcmFpc2UoUHlPYmplY3QgKiwgUHlPYmplY3QgKik7CitzdGF0aWMgaW50IGRvX3JhaXNlKFB5T2JqZWN0ICosIFB5T2JqZWN0ICopOwogc3RhdGljIGludCB1bnBhY2tfaXRlcmFibGUoUHlPYmplY3QgKiwgaW50LCBpbnQsIFB5T2JqZWN0ICoqKTsKIAogLyogUmVjb3JkcyB3aGV0aGVyIHRyYWNpbmcgaXMgb24gZm9yIGFueSB0aHJlYWQuICBDb3VudHMgdGhlIG51bWJlciBvZgpAQCAtNzk4LDEyICs3OTUsNiBAQAogICAgIHJlZ2lzdGVyIGludCBvcGNvZGU7ICAgICAgICAvKiBDdXJyZW50IG9wY29kZSAqLwogICAgIHJlZ2lzdGVyIGludCBvcGFyZzsgICAgICAgICAvKiBDdXJyZW50IG9wY29kZSBhcmd1bWVudCwgaWYgYW55ICovCiAgICAgcmVnaXN0ZXIgZW51bSB3aHlfY29kZSB3aHk7IC8qIFJlYXNvbiBmb3IgYmxvY2sgc3RhY2sgdW53aW5kICovCi0gICAgcmVnaXN0ZXIgaW50IGVycjsgICAgICAgICAgIC8qIEVycm9yIHN0YXR1cyAtLSBub256ZXJvIGlmIGVycm9yICovCi0gICAgcmVnaXN0ZXIgUHlPYmplY3QgKng7ICAgICAgIC8qIFJlc3VsdCBvYmplY3QgLS0gTlVMTCBpZiBlcnJvciAqLwotICAgIHJlZ2lzdGVyIFB5T2JqZWN0ICp2OyAgICAgICAvKiBUZW1wb3Jhcnkgb2JqZWN0cyBwb3BwZWQgb2ZmIHN0YWNrICovCi0gICAgcmVnaXN0ZXIgUHlPYmplY3QgKnc7Ci0gICAgcmVnaXN0ZXIgUHlPYmplY3QgKnU7Ci0gICAgcmVnaXN0ZXIgUHlPYmplY3QgKnQ7CiAgICAgcmVnaXN0ZXIgUHlPYmplY3QgKipmYXN0bG9jYWxzLCAqKmZyZWV2YXJzOwogICAgIFB5T2JqZWN0ICpyZXR2YWwgPSBOVUxMOyAgICAgICAgICAgIC8qIFJldHVybiB2YWx1ZSAqLwogICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR0VUKCk7CkBAIC0xMjA2LDE0ICsxMTk3LDkgQEAKICNlbmRpZgogCiAgICAgd2h5ID0gV0hZX05PVDsKLSAgICBlcnIgPSAwOwotICAgIHggPSBQeV9Ob25lOyAgICAgICAgLyogTm90IGEgcmVmZXJlbmNlLCBqdXN0IGFueXRoaW5nIG5vbi1OVUxMICovCi0gICAgdyA9IE5VTEw7CiAKLSAgICBpZiAodGhyb3dmbGFnKSB7IC8qIHN1cHBvcnQgZm9yIGdlbmVyYXRvci50aHJvdygpICovCi0gICAgICAgIHdoeSA9IFdIWV9FWENFUFRJT047Ci0gICAgICAgIGdvdG8gb25fZXJyb3I7Ci0gICAgfQorICAgIGlmICh0aHJvd2ZsYWcpIC8qIHN1cHBvcnQgZm9yIGdlbmVyYXRvci50aHJvdygpICovCisgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICBmb3IgKDs7KSB7CiAjaWZkZWYgV0lUSF9UU0MKQEAgLTEyNTUsMTAgKzEyNDEsOCBAQAogICAgICAgICAgICAgdGlja2VkID0gMTsKICNlbmRpZgogICAgICAgICAgICAgaWYgKF9QeV9hdG9taWNfbG9hZF9yZWxheGVkKCZwZW5kaW5nY2FsbHNfdG9fZG8pKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFB5X01ha2VQZW5kaW5nQ2FsbHMoKSA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbl9lcnJvcjsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKFB5X01ha2VQZW5kaW5nQ2FsbHMoKSA8IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICAgICAgICAgIGlmIChfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmZ2lsX2Ryb3BfcmVxdWVzdCkpIHsKQEAgLTEyNzYsMTMgKzEyNjAsMTIgQEAKICNlbmRpZgogICAgICAgICAgICAgLyogQ2hlY2sgZm9yIGFzeW5jaHJvbm91cyBleGNlcHRpb25zLiAqLwogICAgICAgICAgICAgaWYgKHRzdGF0ZS0+YXN5bmNfZXhjICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICB4ID0gdHN0YXRlLT5hc3luY19leGM7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmV4YyA9IHRzdGF0ZS0+YXN5bmNfZXhjOwogICAgICAgICAgICAgICAgIHRzdGF0ZS0+YXN5bmNfZXhjID0gTlVMTDsKICAgICAgICAgICAgICAgICBVTlNJR05BTF9BU1lOQ19FWEMoKTsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXROb25lKHgpOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih4KTsKLSAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOwotICAgICAgICAgICAgICAgIGdvdG8gb25fZXJyb3I7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0Tm9uZShleGMpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihleGMpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIApAQCAtMTI5Myw2ICsxMjc2LDcgQEAKIAogICAgICAgICBpZiAoX1B5X1RyYWNpbmdQb3NzaWJsZSAmJgogICAgICAgICAgICAgdHN0YXRlLT5jX3RyYWNlZnVuYyAhPSBOVUxMICYmICF0c3RhdGUtPnRyYWNpbmcpIHsKKyAgICAgICAgICAgIGludCBlcnI7CiAgICAgICAgICAgICAvKiBzZWUgbWF5YmVfY2FsbF9saW5lX3RyYWNlCiAgICAgICAgICAgICAgICBmb3IgZXhwb3NpdG9yeSBjb21tZW50cyAqLwogICAgICAgICAgICAgZi0+Zl9zdGFja3RvcCA9IHN0YWNrX3BvaW50ZXI7CkBAIC0xMzA3LDEwICsxMjkxLDkgQEAKICAgICAgICAgICAgICAgICBzdGFja19wb2ludGVyID0gZi0+Zl9zdGFja3RvcDsKICAgICAgICAgICAgICAgICBmLT5mX3N0YWNrdG9wID0gTlVMTDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChlcnIpIHsKKyAgICAgICAgICAgIGlmIChlcnIpCiAgICAgICAgICAgICAgICAgLyogdHJhY2UgZnVuY3Rpb24gcmFpc2VkIGFuIGV4Y2VwdGlvbiAqLwotICAgICAgICAgICAgICAgIGdvdG8gb25fZXJyb3I7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQogCiAgICAgICAgIC8qIEV4dHJhY3Qgb3Bjb2RlIGFuZCBhcmd1bWVudCAqLwpAQCAtMTM1Nyw4NyArMTM0MCw5OSBAQAogICAgICAgICBUQVJHRVQoTk9QKQogICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOwogCi0gICAgICAgIFRBUkdFVChMT0FEX0ZBU1QpCi0gICAgICAgICAgICB4ID0gR0VUTE9DQUwob3BhcmcpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5X0lOQ1JFRih4KTsKLSAgICAgICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgICAgIEZBU1RfRElTUEFUQ0goKTsKKyAgICAgICAgVEFSR0VUKExPQURfRkFTVCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnZhbHVlID0gR0VUTE9DQUwob3BhcmcpOworICAgICAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBmb3JtYXRfZXhjX2NoZWNrX2FyZyhQeUV4Y19VbmJvdW5kTG9jYWxFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVTkJPVU5ETE9DQUxfRVJST1JfTVNHLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VHVwbGVfR2V0SXRlbShjby0+Y29fdmFybmFtZXMsIG9wYXJnKSk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvcm1hdF9leGNfY2hlY2tfYXJnKFB5RXhjX1VuYm91bmRMb2NhbEVycm9yLAotICAgICAgICAgICAgICAgIFVOQk9VTkRMT0NBTF9FUlJPUl9NU0csCi0gICAgICAgICAgICAgICAgUHlUdXBsZV9HZXRJdGVtKGNvLT5jb192YXJuYW1lcywgb3BhcmcpKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChMT0FEX0NPTlNUKQotICAgICAgICAgICAgeCA9IEdFVElURU0oY29uc3RzLCBvcGFyZyk7Ci0gICAgICAgICAgICBQeV9JTkNSRUYoeCk7Ci0gICAgICAgICAgICBQVVNIKHgpOworICAgICAgICAgICAgUHlfSU5DUkVGKHZhbHVlKTsKKyAgICAgICAgICAgIFBVU0godmFsdWUpOwogICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOworICAgICAgICB9CisKKyAgICAgICAgVEFSR0VUKExPQURfQ09OU1QpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2YWx1ZSA9IEdFVElURU0oY29uc3RzLCBvcGFyZyk7CisgICAgICAgICAgICBQeV9JTkNSRUYodmFsdWUpOworICAgICAgICAgICAgUFVTSCh2YWx1ZSk7CisgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CisgICAgICAgIH0KIAogICAgICAgICBQUkVESUNURURfV0lUSF9BUkcoU1RPUkVfRkFTVCk7Ci0gICAgICAgIFRBUkdFVChTVE9SRV9GQVNUKQotICAgICAgICAgICAgdiA9IFBPUCgpOwotICAgICAgICAgICAgU0VUTE9DQUwob3BhcmcsIHYpOworICAgICAgICBUQVJHRVQoU1RPUkVfRkFTVCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnZhbHVlID0gUE9QKCk7CisgICAgICAgICAgICBTRVRMT0NBTChvcGFyZywgdmFsdWUpOwogICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKFBPUF9UT1ApCi0gICAgICAgICAgICB2ID0gUE9QKCk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7CisgICAgICAgIFRBUkdFVChQT1BfVE9QKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqdmFsdWUgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoUk9UX1RXTykKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHcgPSBTRUNPTkQoKTsKLSAgICAgICAgICAgIFNFVF9UT1Aodyk7Ci0gICAgICAgICAgICBTRVRfU0VDT05EKHYpOworICAgICAgICBUQVJHRVQoUk9UX1RXTykgeworICAgICAgICAgICAgUHlPYmplY3QgKnRvcCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnNlY29uZCA9IFNFQ09ORCgpOworICAgICAgICAgICAgU0VUX1RPUChzZWNvbmQpOworICAgICAgICAgICAgU0VUX1NFQ09ORCh0b3ApOwogICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKFJPVF9USFJFRSkKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHcgPSBTRUNPTkQoKTsKLSAgICAgICAgICAgIHggPSBUSElSRCgpOwotICAgICAgICAgICAgU0VUX1RPUCh3KTsKLSAgICAgICAgICAgIFNFVF9TRUNPTkQoeCk7Ci0gICAgICAgICAgICBTRVRfVEhJUkQodik7CisgICAgICAgIFRBUkdFVChST1RfVEhSRUUpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp0b3AgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpzZWNvbmQgPSBTRUNPTkQoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp0aGlyZCA9IFRISVJEKCk7CisgICAgICAgICAgICBTRVRfVE9QKHNlY29uZCk7CisgICAgICAgICAgICBTRVRfU0VDT05EKHRoaXJkKTsKKyAgICAgICAgICAgIFNFVF9USElSRCh0b3ApOwogICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKERVUF9UT1ApCi0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICBQeV9JTkNSRUYodik7Ci0gICAgICAgICAgICBQVVNIKHYpOworICAgICAgICBUQVJHRVQoRFVQX1RPUCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnRvcCA9IFRPUCgpOworICAgICAgICAgICAgUHlfSU5DUkVGKHRvcCk7CisgICAgICAgICAgICBQVVNIKHRvcCk7CiAgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoRFVQX1RPUF9UV08pCi0gICAgICAgICAgICB4ID0gVE9QKCk7Ci0gICAgICAgICAgICBQeV9JTkNSRUYoeCk7Ci0gICAgICAgICAgICB3ID0gU0VDT05EKCk7Ci0gICAgICAgICAgICBQeV9JTkNSRUYodyk7CisgICAgICAgIFRBUkdFVChEVVBfVE9QX1RXTykgeworICAgICAgICAgICAgUHlPYmplY3QgKnRvcCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnNlY29uZCA9IFNFQ09ORCgpOworICAgICAgICAgICAgUHlfSU5DUkVGKHRvcCk7CisgICAgICAgICAgICBQeV9JTkNSRUYoc2Vjb25kKTsKICAgICAgICAgICAgIFNUQUNLQURKKDIpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIFNFVF9TRUNPTkQodyk7CisgICAgICAgICAgICBTRVRfVE9QKHRvcCk7CisgICAgICAgICAgICBTRVRfU0VDT05EKHNlY29uZCk7CiAgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoVU5BUllfUE9TSVRJVkUpCi0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfUG9zaXRpdmUodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBUQVJHRVQoVU5BUllfUE9TSVRJVkUpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2YWx1ZSA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX1Bvc2l0aXZlKHZhbHVlKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoVU5BUllfTkVHQVRJVkUpCi0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfTmVnYXRpdmUodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBUQVJHRVQoVU5BUllfTkVHQVRJVkUpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2YWx1ZSA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX05lZ2F0aXZlKHZhbHVlKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoVU5BUllfTk9UKQotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgZXJyID0gUHlPYmplY3RfSXNUcnVlKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOworICAgICAgICBUQVJHRVQoVU5BUllfTk9UKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqdmFsdWUgPSBUT1AoKTsKKyAgICAgICAgICAgIGludCBlcnIgPSBQeU9iamVjdF9Jc1RydWUodmFsdWUpOworICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgewogICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9UcnVlKTsKICAgICAgICAgICAgICAgICBTRVRfVE9QKFB5X1RydWUpOwpAQCAtMTQ1MCw0MTYgKzE0NDUsNDY4IEBACiAgICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIFNUQUNLQURKKC0xKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChVTkFSWV9JTlZFUlQpCi0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfSW52ZXJ0KHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKFVOQVJZX0lOVkVSVCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnZhbHVlID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlOdW1iZXJfSW52ZXJ0KHZhbHVlKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQklOQVJZX1BPV0VSKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX1Bvd2VyKHYsIHcsIFB5X05vbmUpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKEJJTkFSWV9QT1dFUikgeworICAgICAgICAgICAgUHlPYmplY3QgKmV4cCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmJhc2UgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9Qb3dlcihiYXNlLCBleHAsIFB5X05vbmUpOworICAgICAgICAgICAgUHlfREVDUkVGKGJhc2UpOworICAgICAgICAgICAgUHlfREVDUkVGKGV4cCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQklOQVJZX01VTFRJUExZKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX011bHRpcGx5KHYsIHcpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKEJJTkFSWV9NVUxUSVBMWSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX011bHRpcGx5KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQklOQVJZX1RSVUVfRElWSURFKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX1RydWVEaXZpZGUodiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBUQVJHRVQoQklOQVJZX1RSVUVfRElWSURFKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqZGl2aXNvciA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlkZW5kID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcXVvdGllbnQgPSBQeU51bWJlcl9UcnVlRGl2aWRlKGRpdmlkZW5kLCBkaXZpc29yKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihkaXZpZGVuZCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZGl2aXNvcik7CisgICAgICAgICAgICBTRVRfVE9QKHF1b3RpZW50KTsKKyAgICAgICAgICAgIGlmIChxdW90aWVudCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEJJTkFSWV9GTE9PUl9ESVZJREUpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfRmxvb3JEaXZpZGUodiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBUQVJHRVQoQklOQVJZX0ZMT09SX0RJVklERSkgeworICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlzb3IgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpZGVuZCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnF1b3RpZW50ID0gUHlOdW1iZXJfRmxvb3JEaXZpZGUoZGl2aWRlbmQsIGRpdmlzb3IpOworICAgICAgICAgICAgUHlfREVDUkVGKGRpdmlkZW5kKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihkaXZpc29yKTsKKyAgICAgICAgICAgIFNFVF9UT1AocXVvdGllbnQpOworICAgICAgICAgICAgaWYgKHF1b3RpZW50ID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQklOQVJZX01PRFVMTykKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdCh2KSkKLSAgICAgICAgICAgICAgICB4ID0gUHlVbmljb2RlX0Zvcm1hdCh2LCB3KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB4ID0gUHlOdW1iZXJfUmVtYWluZGVyKHYsIHcpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKEJJTkFSWV9NT0RVTE8pIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpc29yID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqZGl2aWRlbmQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeVVuaWNvZGVfQ2hlY2tFeGFjdChkaXZpZGVuZCkgPworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gb3JtYXQoZGl2aWRlbmQsIGRpdmlzb3IpIDoKKyAgICAgICAgICAgICAgICBQeU51bWJlcl9SZW1haW5kZXIoZGl2aWRlbmQsIGRpdmlzb3IpOworICAgICAgICAgICAgUHlfREVDUkVGKGRpdmlzb3IpOworICAgICAgICAgICAgUHlfREVDUkVGKGRpdmlkZW5kKTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChCSU5BUllfQUREKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHYpICYmCi0gICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQ2hlY2tFeGFjdCh3KSkgewotICAgICAgICAgICAgICAgIHggPSB1bmljb2RlX2NvbmNhdGVuYXRlKHYsIHcsIGYsIG5leHRfaW5zdHIpOworICAgICAgICBUQVJHRVQoQklOQVJZX0FERCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnN1bTsKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdChsZWZ0KSAmJgorICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0NoZWNrRXhhY3QocmlnaHQpKSB7CisgICAgICAgICAgICAgICAgc3VtID0gdW5pY29kZV9jb25jYXRlbmF0ZShsZWZ0LCByaWdodCwgZiwgbmV4dF9pbnN0cik7CiAgICAgICAgICAgICAgICAgLyogdW5pY29kZV9jb25jYXRlbmF0ZSBjb25zdW1lZCB0aGUgcmVmIHRvIHYgKi8KLSAgICAgICAgICAgICAgICBnb3RvIHNraXBfZGVjcmVmX3Z4OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0FkZCh2LCB3KTsKKyAgICAgICAgICAgICAgICBzdW0gPSBQeU51bWJlcl9BZGQobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHN1bSk7CisgICAgICAgICAgICBpZiAoc3VtID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoQklOQVJZX1NVQlRSQUNUKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqZGlmZiA9IFB5TnVtYmVyX1N1YnRyYWN0KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBTRVRfVE9QKGRpZmYpOworICAgICAgICAgICAgaWYgKGRpZmYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCisgICAgICAgIFRBUkdFVChCSU5BUllfU1VCU0NSKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqc3ViID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqY29udGFpbmVyID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlPYmplY3RfR2V0SXRlbShjb250YWluZXIsIHN1Yik7CisgICAgICAgICAgICBQeV9ERUNSRUYoY29udGFpbmVyKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWIpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CisKKyAgICAgICAgVEFSR0VUKEJJTkFSWV9MU0hJRlQpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9Mc2hpZnQobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCisgICAgICAgIFRBUkdFVChCSU5BUllfUlNISUZUKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlOdW1iZXJfUnNoaWZ0KGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoQklOQVJZX0FORCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX0FuZChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CisKKyAgICAgICAgVEFSR0VUKEJJTkFSWV9YT1IpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9Yb3IobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCisgICAgICAgIFRBUkdFVChCSU5BUllfT1IpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9PcihsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CisKKyAgICAgICAgVEFSR0VUKExJU1RfQVBQRU5EKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxpc3QgPSBQRUVLKG9wYXJnKTsKKyAgICAgICAgICAgIGludCBlcnI7CisgICAgICAgICAgICBlcnIgPSBQeUxpc3RfQXBwZW5kKGxpc3QsIHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgIHNraXBfZGVjcmVmX3Z4OgotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChlcnIgIT0gMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgUFJFRElDVChKVU1QX0FCU09MVVRFKTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQklOQVJZX1NVQlRSQUNUKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX1N1YnRyYWN0KHYsIHcpOworICAgICAgICBUQVJHRVQoU0VUX0FERCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpzZXQgPSBzdGFja19wb2ludGVyWy1vcGFyZ107CisgICAgICAgICAgICBpbnQgZXJyOworICAgICAgICAgICAgZXJyID0gUHlTZXRfQWRkKHNldCwgdik7CiAgICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBQUkVESUNUKEpVTVBfQUJTT0xVVEUpOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChCSU5BUllfU1VCU0NSKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5T2JqZWN0X0dldEl0ZW0odiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBUQVJHRVQoSU5QTEFDRV9QT1dFUikgeworICAgICAgICAgICAgUHlPYmplY3QgKmV4cCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmJhc2UgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9JblBsYWNlUG93ZXIoYmFzZSwgZXhwLCBQeV9Ob25lKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihiYXNlKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihleHApOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEJJTkFSWV9MU0hJRlQpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfTHNoaWZ0KHYsIHcpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKElOUExBQ0VfTVVMVElQTFkpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHkobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChCSU5BUllfUlNISUZUKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX1JzaGlmdCh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFRBUkdFVChJTlBMQUNFX1RSVUVfRElWSURFKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqZGl2aXNvciA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlkZW5kID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcXVvdGllbnQgPSBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZShkaXZpZGVuZCwgZGl2aXNvcik7CisgICAgICAgICAgICBQeV9ERUNSRUYoZGl2aWRlbmQpOworICAgICAgICAgICAgUHlfREVDUkVGKGRpdmlzb3IpOworICAgICAgICAgICAgU0VUX1RPUChxdW90aWVudCk7CisgICAgICAgICAgICBpZiAocXVvdGllbnQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChCSU5BUllfQU5EKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0FuZCh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFRBUkdFVChJTlBMQUNFX0ZMT09SX0RJVklERSkgeworICAgICAgICAgICAgUHlPYmplY3QgKmRpdmlzb3IgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpkaXZpZGVuZCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnF1b3RpZW50ID0gUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlKGRpdmlkZW5kLCBkaXZpc29yKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihkaXZpZGVuZCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZGl2aXNvcik7CisgICAgICAgICAgICBTRVRfVE9QKHF1b3RpZW50KTsKKyAgICAgICAgICAgIGlmIChxdW90aWVudCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEJJTkFSWV9YT1IpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfWG9yKHYsIHcpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKElOUExBQ0VfTU9EVUxPKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbW9kID0gUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcihsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChtb2QpOworICAgICAgICAgICAgaWYgKG1vZCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEJJTkFSWV9PUikKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHggPSBQeU51bWJlcl9Pcih2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgVEFSR0VUKExJU1RfQVBQRU5EKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFBFRUsob3BhcmcpOwotICAgICAgICAgICAgZXJyID0gUHlMaXN0X0FwcGVuZCh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgewotICAgICAgICAgICAgICAgIFBSRURJQ1QoSlVNUF9BQlNPTFVURSk7Ci0gICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChTRVRfQUREKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IHN0YWNrX3BvaW50ZXJbLW9wYXJnXTsKLSAgICAgICAgICAgIGVyciA9IFB5U2V0X0FkZCh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgewotICAgICAgICAgICAgICAgIFBSRURJQ1QoSlVNUF9BQlNPTFVURSk7Ci0gICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChJTlBMQUNFX1BPV0VSKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VQb3dlcih2LCB3LCBQeV9Ob25lKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgVEFSR0VUKElOUExBQ0VfTVVMVElQTFkpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5KHYsIHcpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBUQVJHRVQoSU5QTEFDRV9UUlVFX0RJVklERSkKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHggPSBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZSh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgVEFSR0VUKElOUExBQ0VfRkxPT1JfRElWSURFKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZSh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgVEFSR0VUKElOUExBQ0VfTU9EVUxPKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIodiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChJTlBMQUNFX0FERCkKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdCh2KSAmJgotICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0NoZWNrRXhhY3QodykpIHsKLSAgICAgICAgICAgICAgICB4ID0gdW5pY29kZV9jb25jYXRlbmF0ZSh2LCB3LCBmLCBuZXh0X2luc3RyKTsKKyAgICAgICAgVEFSR0VUKElOUExBQ0VfQUREKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqc3VtOworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KGxlZnQpICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KHJpZ2h0KSkgeworICAgICAgICAgICAgICAgIHN1bSA9IHVuaWNvZGVfY29uY2F0ZW5hdGUobGVmdCwgcmlnaHQsIGYsIG5leHRfaW5zdHIpOwogICAgICAgICAgICAgICAgIC8qIHVuaWNvZGVfY29uY2F0ZW5hdGUgY29uc3VtZWQgdGhlIHJlZiB0byB2ICovCi0gICAgICAgICAgICAgICAgZ290byBza2lwX2RlY3JlZl92OwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VBZGQodiwgdyk7CisgICAgICAgICAgICAgICAgc3VtID0gUHlOdW1iZXJfSW5QbGFjZUFkZChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgIHNraXBfZGVjcmVmX3Y6Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1Aoc3VtKTsKKyAgICAgICAgICAgIGlmIChzdW0gPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChJTlBMQUNFX1NVQlRSQUNUKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdCh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFRBUkdFVChJTlBMQUNFX1NVQlRSQUNUKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqZGlmZiA9IFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChkaWZmKTsKKyAgICAgICAgICAgIGlmIChkaWZmID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoSU5QTEFDRV9MU0hJRlQpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfSW5QbGFjZUxzaGlmdCh2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFRBUkdFVChJTlBMQUNFX0xTSElGVCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX0luUGxhY2VMc2hpZnQobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChJTlBMQUNFX1JTSElGVCkKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHggPSBQeU51bWJlcl9JblBsYWNlUnNoaWZ0KHYsIHcpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKElOUExBQ0VfUlNISUZUKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlOdW1iZXJfSW5QbGFjZVJzaGlmdChsZWZ0LCByaWdodCk7CisgICAgICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgICAgICBQeV9ERUNSRUYocmlnaHQpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKElOUExBQ0VfQU5EKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VBbmQodiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBUQVJHRVQoSU5QTEFDRV9BTkQpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU51bWJlcl9JblBsYWNlQW5kKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoSU5QTEFDRV9YT1IpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlOdW1iZXJfSW5QbGFjZVhvcih2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFRBUkdFVChJTlBMQUNFX1hPUikgeworICAgICAgICAgICAgUHlPYmplY3QgKnJpZ2h0ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbGVmdCA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5TnVtYmVyX0luUGxhY2VYb3IobGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChJTlBMQUNFX09SKQotICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgdiA9IFRPUCgpOwotICAgICAgICAgICAgeCA9IFB5TnVtYmVyX0luUGxhY2VPcih2LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIFRBUkdFVChJTlBMQUNFX09SKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsZWZ0ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlOdW1iZXJfSW5QbGFjZU9yKGxlZnQsIHJpZ2h0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZWZ0KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyaWdodCk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoU1RPUkVfU1VCU0NSKQotICAgICAgICAgICAgdyA9IFRPUCgpOwotICAgICAgICAgICAgdiA9IFNFQ09ORCgpOwotICAgICAgICAgICAgdSA9IFRISVJEKCk7CisgICAgICAgIFRBUkdFVChTVE9SRV9TVUJTQ1IpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpzdWIgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpjb250YWluZXIgPSBTRUNPTkQoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gVEhJUkQoKTsKKyAgICAgICAgICAgIGludCBlcnI7CiAgICAgICAgICAgICBTVEFDS0FESigtMyk7CiAgICAgICAgICAgICAvKiB2W3ddID0gdSAqLwotICAgICAgICAgICAgZXJyID0gUHlPYmplY3RfU2V0SXRlbSh2LCB3LCB1KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKKyAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X1NldEl0ZW0oY29udGFpbmVyLCBzdWIsIHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgaWYgKGVyciA9PSAwKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBQeV9ERUNSRUYoY29udGFpbmVyKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWIpOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKERFTEVURV9TVUJTQ1IpCi0gICAgICAgICAgICB3ID0gVE9QKCk7Ci0gICAgICAgICAgICB2ID0gU0VDT05EKCk7CisgICAgICAgIFRBUkdFVChERUxFVEVfU1VCU0NSKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqc3ViID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqY29udGFpbmVyID0gU0VDT05EKCk7CisgICAgICAgICAgICBpbnQgZXJyOwogICAgICAgICAgICAgU1RBQ0tBREooLTIpOwogICAgICAgICAgICAgLyogZGVsIHZbd10gKi8KLSAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X0RlbEl0ZW0odiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBpZiAoZXJyID09IDApIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X0RlbEl0ZW0oY29udGFpbmVyLCBzdWIpOworICAgICAgICAgICAgUHlfREVDUkVGKGNvbnRhaW5lcik7CisgICAgICAgICAgICBQeV9ERUNSRUYoc3ViKTsKKyAgICAgICAgICAgIGlmIChlcnIgIT0gMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChQUklOVF9FWFBSKQotICAgICAgICAgICAgdiA9IFBPUCgpOwotICAgICAgICAgICAgdyA9IFB5U3lzX0dldE9iamVjdCgiZGlzcGxheWhvb2siKTsKLSAgICAgICAgICAgIGlmICh3ID09IE5VTEwpIHsKKyAgICAgICAgVEFSR0VUKFBSSU5UX0VYUFIpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2YWx1ZSA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmhvb2sgPSBQeVN5c19HZXRPYmplY3QoImRpc3BsYXlob29rIik7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzOworICAgICAgICAgICAgaWYgKGhvb2sgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsb3N0IHN5cy5kaXNwbGF5aG9vayIpOwotICAgICAgICAgICAgICAgIGVyciA9IC0xOwotICAgICAgICAgICAgICAgIHggPSBOVUxMOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgewotICAgICAgICAgICAgICAgIHggPSBQeVR1cGxlX1BhY2soMSwgdik7Ci0gICAgICAgICAgICAgICAgaWYgKHggPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZXJyID0gLTE7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoZXJyID09IDApIHsKLSAgICAgICAgICAgICAgICB3ID0gUHlFdmFsX0NhbGxPYmplY3QodywgeCk7Ci0gICAgICAgICAgICAgICAgUHlfWERFQ1JFRih3KTsKLSAgICAgICAgICAgICAgICBpZiAodyA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBlcnIgPSAtMTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X1hERUNSRUYoeCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoaG9vaywgdmFsdWUsIE5VTEwpOworICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKICNpZmRlZiBDQVNFX1RPT19CSUcKICAgICAgICAgZGVmYXVsdDogc3dpdGNoIChvcGNvZGUpIHsKICNlbmRpZgotICAgICAgICBUQVJHRVQoUkFJU0VfVkFSQVJHUykKLSAgICAgICAgICAgIHYgPSB3ID0gTlVMTDsKKyAgICAgICAgVEFSR0VUKFJBSVNFX1ZBUkFSR1MpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpjYXVzZSA9IE5VTEwsICpleGMgPSBOVUxMOwogICAgICAgICAgICAgc3dpdGNoIChvcGFyZykgewogICAgICAgICAgICAgY2FzZSAyOgotICAgICAgICAgICAgICAgIHYgPSBQT1AoKTsgLyogY2F1c2UgKi8KKyAgICAgICAgICAgICAgICBjYXVzZSA9IFBPUCgpOyAvKiBjYXVzZSAqLwogICAgICAgICAgICAgY2FzZSAxOgotICAgICAgICAgICAgICAgIHcgPSBQT1AoKTsgLyogZXhjICovCisgICAgICAgICAgICAgICAgZXhjID0gUE9QKCk7IC8qIGV4YyAqLwogICAgICAgICAgICAgY2FzZSAwOiAvKiBGYWxsdGhyb3VnaCAqLwotICAgICAgICAgICAgICAgIHdoeSA9IGRvX3JhaXNlKHcsIHYpOworICAgICAgICAgICAgICAgIGlmIChkb19yYWlzZShleGMsIGNhdXNlKSkgeworICAgICAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOworICAgICAgICAgICAgICAgICAgICBnb3RvIGZhc3RfYmxvY2tfZW5kOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhZCBSQUlTRV9WQVJBUkdTIG9wYXJnIik7Ci0gICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChTVE9SRV9MT0NBTFMpCi0gICAgICAgICAgICB4ID0gUE9QKCk7Ci0gICAgICAgICAgICB2ID0gZi0+Zl9sb2NhbHM7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKHYpOwotICAgICAgICAgICAgZi0+Zl9sb2NhbHMgPSB4OworICAgICAgICBUQVJHRVQoU1RPUkVfTE9DQUxTKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbG9jYWxzID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqb2xkID0gZi0+Zl9sb2NhbHM7CisgICAgICAgICAgICBQeV9YREVDUkVGKG9sZCk7CisgICAgICAgICAgICBmLT5mX2xvY2FscyA9IGxvY2FsczsKICAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoUkVUVVJOX1ZBTFVFKQorICAgICAgICBUQVJHRVQoUkVUVVJOX1ZBTFVFKSB7CiAgICAgICAgICAgICByZXR2YWwgPSBQT1AoKTsKICAgICAgICAgICAgIHdoeSA9IFdIWV9SRVRVUk47CiAgICAgICAgICAgICBnb3RvIGZhc3RfYmxvY2tfZW5kOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKFlJRUxEX0ZST00pCi0gICAgICAgICAgICB1ID0gUE9QKCk7Ci0gICAgICAgICAgICB4ID0gVE9QKCk7Ci0gICAgICAgICAgICAvKiBzZW5kIHUgdG8geCAqLwotICAgICAgICAgICAgaWYgKFB5R2VuX0NoZWNrRXhhY3QoeCkpIHsKLSAgICAgICAgICAgICAgICByZXR2YWwgPSBfUHlHZW5fU2VuZCgoUHlHZW5PYmplY3QgKil4LCB1KTsKKyAgICAgICAgVEFSR0VUKFlJRUxEX0ZST00pIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2ID0gUE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVjaWV2ZXIgPSBUT1AoKTsKKyAgICAgICAgICAgIGludCBlcnI7CisgICAgICAgICAgICBpZiAoUHlHZW5fQ2hlY2tFeGFjdChyZWNpZXZlcikpIHsKKyAgICAgICAgICAgICAgICByZXR2YWwgPSBfUHlHZW5fU2VuZCgoUHlHZW5PYmplY3QgKilyZWNpZXZlciwgdik7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKHNlbmQpOwotICAgICAgICAgICAgICAgIGlmICh1ID09IFB5X05vbmUpCi0gICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IFB5X1RZUEUoeCktPnRwX2l0ZXJuZXh0KHgpOworICAgICAgICAgICAgICAgIGlmICh2ID09IFB5X05vbmUpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IFB5X1RZUEUocmVjaWV2ZXIpLT50cF9pdGVybmV4dChyZWNpZXZlcik7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXR2YWwgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHgsICZQeUlkX3NlbmQsICJPIiwgdSk7CisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocmVjaWV2ZXIsICZQeUlkX3NlbmQsICJPIiwgdik7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9ERUNSRUYodSk7Ci0gICAgICAgICAgICBpZiAoIXJldHZhbCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHYpOworICAgICAgICAgICAgaWYgKHJldHZhbCA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnZhbDsKLSAgICAgICAgICAgICAgICB4ID0gUE9QKCk7IC8qIFJlbW92ZSBpdGVyIGZyb20gc3RhY2sgKi8KLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7CiAgICAgICAgICAgICAgICAgZXJyID0gX1B5R2VuX0ZldGNoU3RvcEl0ZXJhdGlvblZhbHVlKCZ2YWwpOwotICAgICAgICAgICAgICAgIGlmIChlcnIgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIHggPSBOVUxMOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgeCA9IHZhbDsKLSAgICAgICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGlmIChlcnIgPCAwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZWNpZXZlcik7CisgICAgICAgICAgICAgICAgU0VUX1RPUCh2YWwpOworICAgICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiB4IHJlbWFpbnMgb24gc3RhY2ssIHJldHZhbCBpcyB2YWx1ZSB0byBiZSB5aWVsZGVkICovCiAgICAgICAgICAgICBmLT5mX3N0YWNrdG9wID0gc3RhY2tfcG9pbnRlcjsKQEAgLTE4NjcsMzkgKzE5MTQsMzggQEAKICAgICAgICAgICAgIC8qIGFuZCByZXBlYXQuLi4gKi8KICAgICAgICAgICAgIGYtPmZfbGFzdGktLTsKICAgICAgICAgICAgIGdvdG8gZmFzdF95aWVsZDsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChZSUVMRF9WQUxVRSkKKyAgICAgICAgVEFSR0VUKFlJRUxEX1ZBTFVFKSB7CiAgICAgICAgICAgICByZXR2YWwgPSBQT1AoKTsKICAgICAgICAgICAgIGYtPmZfc3RhY2t0b3AgPSBzdGFja19wb2ludGVyOwogICAgICAgICAgICAgd2h5ID0gV0hZX1lJRUxEOwogICAgICAgICAgICAgZ290byBmYXN0X3lpZWxkOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKFBPUF9FWENFUFQpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgUHlUcnlCbG9jayAqYiA9IFB5RnJhbWVfQmxvY2tQb3AoZik7Ci0gICAgICAgICAgICAgICAgaWYgKGItPmJfdHlwZSAhPSBFWENFUFRfSEFORExFUikgewotICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAicG9wcGVkIGJsb2NrIGlzIG5vdCBhbiBleGNlcHQgaGFuZGxlciIpOwotICAgICAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgVU5XSU5EX0VYQ0VQVF9IQU5ETEVSKGIpOworICAgICAgICBUQVJHRVQoUE9QX0VYQ0VQVCkgeworICAgICAgICAgICAgUHlUcnlCbG9jayAqYiA9IFB5RnJhbWVfQmxvY2tQb3AoZik7CisgICAgICAgICAgICBpZiAoYi0+Yl90eXBlICE9IEVYQ0VQVF9IQU5ETEVSKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicG9wcGVkIGJsb2NrIGlzIG5vdCBhbiBleGNlcHQgaGFuZGxlciIpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBVTldJTkRfRVhDRVBUX0hBTkRMRVIoYik7CiAgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKFBPUF9CTE9DSykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBQeVRyeUJsb2NrICpiID0gUHlGcmFtZV9CbG9ja1BvcChmKTsKLSAgICAgICAgICAgICAgICBVTldJTkRfQkxPQ0soYik7Ci0gICAgICAgICAgICB9CisgICAgICAgIFRBUkdFVChQT1BfQkxPQ0spIHsKKyAgICAgICAgICAgIFB5VHJ5QmxvY2sgKmIgPSBQeUZyYW1lX0Jsb2NrUG9wKGYpOworICAgICAgICAgICAgVU5XSU5EX0JMT0NLKGIpOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCiAgICAgICAgIFBSRURJQ1RFRChFTkRfRklOQUxMWSk7Ci0gICAgICAgIFRBUkdFVChFTkRfRklOQUxMWSkKLSAgICAgICAgICAgIHYgPSBQT1AoKTsKLSAgICAgICAgICAgIGlmIChQeUxvbmdfQ2hlY2sodikpIHsKLSAgICAgICAgICAgICAgICB3aHkgPSAoZW51bSB3aHlfY29kZSkgUHlMb25nX0FTX0xPTkcodik7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KHdoeSAhPSBXSFlfWUlFTEQpOworICAgICAgICBUQVJHRVQoRU5EX0ZJTkFMTFkpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpzdGF0dXMgPSBQT1AoKTsKKyAgICAgICAgICAgIGlmIChQeUxvbmdfQ2hlY2soc3RhdHVzKSkgeworICAgICAgICAgICAgICAgIHdoeSA9IChlbnVtIHdoeV9jb2RlKSBQeUxvbmdfQVNfTE9ORyhzdGF0dXMpOworICAgICAgICAgICAgICAgIGFzc2VydCh3aHkgIT0gV0hZX1lJRUxEICYmIHdoeSAhPSBXSFlfRVhDRVBUSU9OKTsKICAgICAgICAgICAgICAgICBpZiAod2h5ID09IFdIWV9SRVRVUk4gfHwKICAgICAgICAgICAgICAgICAgICAgd2h5ID09IFdIWV9DT05USU5VRSkKICAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gUE9QKCk7CkBAIC0xOTEyLDI0OCArMTk1OCwyODAgQEAKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KGItPmJfdHlwZSA9PSBFWENFUFRfSEFORExFUik7CiAgICAgICAgICAgICAgICAgICAgIFVOV0lORF9FWENFUFRfSEFORExFUihiKTsKICAgICAgICAgICAgICAgICAgICAgd2h5ID0gV0hZX05PVDsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0YXR1cyk7CisgICAgICAgICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdGF0dXMpOworICAgICAgICAgICAgICAgIGdvdG8gZmFzdF9ibG9ja19lbmQ7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmIChQeUV4Y2VwdGlvbkNsYXNzX0NoZWNrKHYpKSB7Ci0gICAgICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgICAgIHUgPSBQT1AoKTsKLSAgICAgICAgICAgICAgICBQeUVycl9SZXN0b3JlKHYsIHcsIHUpOwotICAgICAgICAgICAgICAgIHdoeSA9IFdIWV9SRVJBSVNFOwotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZWxzZSBpZiAoUHlFeGNlcHRpb25DbGFzc19DaGVjayhzdGF0dXMpKSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmV4YyA9IFBPUCgpOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp0YiA9IFBPUCgpOworICAgICAgICAgICAgICAgIFB5RXJyX1Jlc3RvcmUoc3RhdHVzLCBleGMsIHRiKTsKKyAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOworICAgICAgICAgICAgICAgIGdvdG8gZmFzdF9ibG9ja19lbmQ7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmICh2ICE9IFB5X05vbmUpIHsKKyAgICAgICAgICAgIGVsc2UgaWYgKHN0YXR1cyAhPSBQeV9Ob25lKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAogICAgICAgICAgICAgICAgICAgICAiJ2ZpbmFsbHknIHBvcHMgYmFkIGV4Y2VwdGlvbiIpOwotICAgICAgICAgICAgICAgIHdoeSA9IFdIWV9FWENFUFRJT047CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHN0YXR1cyk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgUHlfREVDUkVGKHN0YXR1cyk7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKExPQURfQlVJTERfQ0xBU1MpCi0gICAgICAgIHsKKyAgICAgICAgVEFSR0VUKExPQURfQlVJTERfQ0xBU1MpIHsKICAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fYnVpbGRfY2xhc3NfXyk7CiAKKyAgICAgICAgICAgIFB5T2JqZWN0ICpiYzsKICAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdChmLT5mX2J1aWx0aW5zKSkgewotICAgICAgICAgICAgICAgIHggPSBfUHlEaWN0X0dldEl0ZW1JZChmLT5mX2J1aWx0aW5zLCAmUHlJZF9fX2J1aWxkX2NsYXNzX18pOwotICAgICAgICAgICAgICAgIGlmICh4ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBiYyA9IF9QeURpY3RfR2V0SXRlbUlkKGYtPmZfYnVpbHRpbnMsICZQeUlkX19fYnVpbGRfY2xhc3NfXyk7CisgICAgICAgICAgICAgICAgaWYgKGJjID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05hbWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2J1aWxkX2NsYXNzX18gbm90IGZvdW5kIik7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYoeCk7CisgICAgICAgICAgICAgICAgUHlfSU5DUkVGKGJjKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpidWlsZF9jbGFzc19zdHIgPSBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9fX2J1aWxkX2NsYXNzX18pOwogICAgICAgICAgICAgICAgIGlmIChidWlsZF9jbGFzc19zdHIgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgeCA9IFB5T2JqZWN0X0dldEl0ZW0oZi0+Zl9idWlsdGlucywgYnVpbGRfY2xhc3Nfc3RyKTsKLSAgICAgICAgICAgICAgICBpZiAoeCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgYmMgPSBQeU9iamVjdF9HZXRJdGVtKGYtPmZfYnVpbHRpbnMsIGJ1aWxkX2NsYXNzX3N0cik7CisgICAgICAgICAgICAgICAgaWYgKGJjID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfS2V5RXJyb3IpKQogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05hbWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19idWlsZF9jbGFzc19fIG5vdCBmb3VuZCIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBQVVNIKGJjKTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoU1RPUkVfTkFNRSkKLSAgICAgICAgICAgIHcgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7Ci0gICAgICAgICAgICB2ID0gUE9QKCk7Ci0gICAgICAgICAgICBpZiAoKHggPSBmLT5mX2xvY2FscykgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdCh4KSkKLSAgICAgICAgICAgICAgICAgICAgZXJyID0gUHlEaWN0X1NldEl0ZW0oeCwgdywgdik7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9TZXRJdGVtKHgsIHcsIHYpOworICAgICAgICBUQVJHRVQoU1RPUkVfTkFNRSkgeworICAgICAgICAgICAgUHlPYmplY3QgKm5hbWUgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKm5zID0gZi0+Zl9sb2NhbHM7CisgICAgICAgICAgICBpbnQgZXJyOworICAgICAgICAgICAgaWYgKG5zID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJubyBsb2NhbHMgZm91bmQgd2hlbiBzdG9yaW5nICVSIiwgbmFtZSk7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1N5c3RlbUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJubyBsb2NhbHMgZm91bmQgd2hlbiBzdG9yaW5nICVSIiwgdyk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdChucykpCisgICAgICAgICAgICAgICAgZXJyID0gUHlEaWN0X1NldEl0ZW0obnMsIG5hbWUsIHYpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X1NldEl0ZW0obnMsIG5hbWUsIHYpOworICAgICAgICAgICAgUHlfREVDUkVGKHYpOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKERFTEVURV9OQU1FKQotICAgICAgICAgICAgdyA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKLSAgICAgICAgICAgIGlmICgoeCA9IGYtPmZfbG9jYWxzKSAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgaWYgKChlcnIgPSBQeU9iamVjdF9EZWxJdGVtKHgsIHcpKSAhPSAwKQotICAgICAgICAgICAgICAgICAgICBmb3JtYXRfZXhjX2NoZWNrX2FyZyhQeUV4Y19OYW1lRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BTUVfRVJST1JfTVNHLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3KTsKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgVEFSR0VUKERFTEVURV9OQU1FKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpucyA9IGYtPmZfbG9jYWxzOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIGlmIChucyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1N5c3RlbUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm8gbG9jYWxzIHdoZW4gZGVsZXRpbmcgJVIiLCBuYW1lKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1N5c3RlbUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJubyBsb2NhbHMgd2hlbiBkZWxldGluZyAlUiIsIHcpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9EZWxJdGVtKG5zLCBuYW1lKTsKKyAgICAgICAgICAgIGlmIChlcnIgIT0gMCkgeworICAgICAgICAgICAgICAgIGZvcm1hdF9leGNfY2hlY2tfYXJnKFB5RXhjX05hbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FX0VSUk9SX01TRywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCiAgICAgICAgIFBSRURJQ1RFRF9XSVRIX0FSRyhVTlBBQ0tfU0VRVUVOQ0UpOwotICAgICAgICBUQVJHRVQoVU5QQUNLX1NFUVVFTkNFKQotICAgICAgICAgICAgdiA9IFBPUCgpOwotICAgICAgICAgICAgaWYgKFB5VHVwbGVfQ2hlY2tFeGFjdCh2KSAmJgotICAgICAgICAgICAgICAgIFB5VHVwbGVfR0VUX1NJWkUodikgPT0gb3BhcmcpIHsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqKml0ZW1zID0gXAotICAgICAgICAgICAgICAgICAgICAoKFB5VHVwbGVPYmplY3QgKil2KS0+b2JfaXRlbTsKKyAgICAgICAgVEFSR0VUKFVOUEFDS19TRVFVRU5DRSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnNlcSA9IFBPUCgpLCAqaXRlbSwgKippdGVtczsKKyAgICAgICAgICAgIGlmIChQeVR1cGxlX0NoZWNrRXhhY3Qoc2VxKSAmJgorICAgICAgICAgICAgICAgIFB5VHVwbGVfR0VUX1NJWkUoc2VxKSA9PSBvcGFyZykgeworICAgICAgICAgICAgICAgIGl0ZW1zID0gKChQeVR1cGxlT2JqZWN0ICopc2VxKS0+b2JfaXRlbTsKICAgICAgICAgICAgICAgICB3aGlsZSAob3BhcmctLSkgewotICAgICAgICAgICAgICAgICAgICB3ID0gaXRlbXNbb3BhcmddOwotICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYodyk7Ci0gICAgICAgICAgICAgICAgICAgIFBVU0godyk7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tvcGFyZ107CisgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihpdGVtKTsKKyAgICAgICAgICAgICAgICAgICAgUFVTSChpdGVtKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgICAgIERJU1BBVENIKCk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKFB5TGlzdF9DaGVja0V4YWN0KHYpICYmCi0gICAgICAgICAgICAgICAgICAgICAgIFB5TGlzdF9HRVRfU0laRSh2KSA9PSBvcGFyZykgewotICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqaXRlbXMgPSBcCi0gICAgICAgICAgICAgICAgICAgICgoUHlMaXN0T2JqZWN0ICopdiktPm9iX2l0ZW07CisgICAgICAgICAgICB9IGVsc2UgaWYgKFB5TGlzdF9DaGVja0V4YWN0KHNlcSkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9TSVpFKHNlcSkgPT0gb3BhcmcpIHsKKyAgICAgICAgICAgICAgICBpdGVtcyA9ICgoUHlMaXN0T2JqZWN0ICopc2VxKS0+b2JfaXRlbTsKICAgICAgICAgICAgICAgICB3aGlsZSAob3BhcmctLSkgewotICAgICAgICAgICAgICAgICAgICB3ID0gaXRlbXNbb3BhcmddOwotICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYodyk7Ci0gICAgICAgICAgICAgICAgICAgIFBVU0godyk7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBpdGVtc1tvcGFyZ107CisgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihpdGVtKTsKKyAgICAgICAgICAgICAgICAgICAgUFVTSChpdGVtKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHVucGFja19pdGVyYWJsZSh2LCBvcGFyZywgLTEsCisgICAgICAgICAgICB9IGVsc2UgaWYgKHVucGFja19pdGVyYWJsZShzZXEsIG9wYXJnLCAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrX3BvaW50ZXIgKyBvcGFyZykpIHsKICAgICAgICAgICAgICAgICBTVEFDS0FESihvcGFyZyk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8qIHVucGFja19pdGVyYWJsZSgpIHJhaXNlZCBhbiBleGNlcHRpb24gKi8KLSAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzZXEpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzZXEpOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChVTlBBQ0tfRVgpCi0gICAgICAgIHsKKyAgICAgICAgVEFSR0VUKFVOUEFDS19FWCkgewogICAgICAgICAgICAgaW50IHRvdGFsYXJncyA9IDEgKyAob3BhcmcgJiAweEZGKSArIChvcGFyZyA+PiA4KTsKLSAgICAgICAgICAgIHYgPSBQT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpzZXEgPSBQT1AoKTsKIAotICAgICAgICAgICAgaWYgKHVucGFja19pdGVyYWJsZSh2LCBvcGFyZyAmIDB4RkYsIG9wYXJnID4+IDgsCisgICAgICAgICAgICBpZiAodW5wYWNrX2l0ZXJhYmxlKHNlcSwgb3BhcmcgJiAweEZGLCBvcGFyZyA+PiA4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja19wb2ludGVyICsgdG90YWxhcmdzKSkgewogICAgICAgICAgICAgICAgIHN0YWNrX3BvaW50ZXIgKz0gdG90YWxhcmdzOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzZXEpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzZXEpOworICAgICAgICAgICAgRElTUEFUQ0goKTsKICAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChTVE9SRV9BVFRSKQotICAgICAgICAgICAgdyA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHUgPSBTRUNPTkQoKTsKKyAgICAgICAgVEFSR0VUKFNUT1JFX0FUVFIpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gR0VUSVRFTShuYW1lcywgb3BhcmcpOworICAgICAgICAgICAgUHlPYmplY3QgKm93bmVyID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IFNFQ09ORCgpOworICAgICAgICAgICAgaW50IGVycjsKICAgICAgICAgICAgIFNUQUNLQURKKC0yKTsKLSAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X1NldEF0dHIodiwgdywgdSk7IC8qIHYudyA9IHUgKi8KKyAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X1NldEF0dHIob3duZXIsIG5hbWUsIHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHUpOwotICAgICAgICAgICAgaWYgKGVyciA9PSAwKSBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBQeV9ERUNSRUYob3duZXIpOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKERFTEVURV9BVFRSKQotICAgICAgICAgICAgdyA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKLSAgICAgICAgICAgIHYgPSBQT1AoKTsKLSAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X1NldEF0dHIodiwgdywgKFB5T2JqZWN0ICopTlVMTCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGRlbCB2LncgKi8KKyAgICAgICAgVEFSR0VUKERFTEVURV9BVFRSKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpvd25lciA9IFBPUCgpOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X1NldEF0dHIob3duZXIsIG5hbWUsIChQeU9iamVjdCAqKU5VTEwpOworICAgICAgICAgICAgUHlfREVDUkVGKG93bmVyKTsKKyAgICAgICAgICAgIGlmIChlcnIgIT0gMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCisgICAgICAgIFRBUkdFVChTVE9SRV9HTE9CQUwpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gR0VUSVRFTShuYW1lcywgb3BhcmcpOworICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQT1AoKTsKKyAgICAgICAgICAgIGludCBlcnI7CisgICAgICAgICAgICBlcnIgPSBQeURpY3RfU2V0SXRlbShmLT5mX2dsb2JhbHMsIG5hbWUsIHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAoZXJyICE9IDApCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoU1RPUkVfR0xPQkFMKQotICAgICAgICAgICAgdyA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKLSAgICAgICAgICAgIHYgPSBQT1AoKTsKLSAgICAgICAgICAgIGVyciA9IFB5RGljdF9TZXRJdGVtKGYtPmZfZ2xvYmFscywgdywgdik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBpZiAoZXJyID09IDApIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBUQVJHRVQoREVMRVRFX0dMT0JBTCkKLSAgICAgICAgICAgIHcgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7Ci0gICAgICAgICAgICBpZiAoKGVyciA9IFB5RGljdF9EZWxJdGVtKGYtPmZfZ2xvYmFscywgdykpICE9IDApCisgICAgICAgIFRBUkdFVChERUxFVEVfR0xPQkFMKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKKyAgICAgICAgICAgIGludCBlcnI7CisgICAgICAgICAgICBlcnIgPSBQeURpY3RfRGVsSXRlbShmLT5mX2dsb2JhbHMsIG5hbWUpOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKSB7CiAgICAgICAgICAgICAgICAgZm9ybWF0X2V4Y19jaGVja19hcmcoCi0gICAgICAgICAgICAgICAgICAgIFB5RXhjX05hbWVFcnJvciwgR0xPQkFMX05BTUVfRVJST1JfTVNHLCB3KTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChMT0FEX05BTUUpCi0gICAgICAgICAgICB3ID0gR0VUSVRFTShuYW1lcywgb3BhcmcpOwotICAgICAgICAgICAgaWYgKCh2ID0gZi0+Zl9sb2NhbHMpID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJubyBsb2NhbHMgd2hlbiBsb2FkaW5nICVSIiwgdyk7Ci0gICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgUHlFeGNfTmFtZUVycm9yLCBOQU1FX0VSUk9SX01TRywgbmFtZSk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdCh2KSkgewotICAgICAgICAgICAgICAgIHggPSBQeURpY3RfR2V0SXRlbSh2LCB3KTsKLSAgICAgICAgICAgICAgICBQeV9YSU5DUkVGKHgpOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCisgICAgICAgIFRBUkdFVChMT0FEX05BTUUpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gR0VUSVRFTShuYW1lcywgb3BhcmcpOworICAgICAgICAgICAgUHlPYmplY3QgKmxvY2FscyA9IGYtPmZfbG9jYWxzOworICAgICAgICAgICAgUHlPYmplY3QgKnY7CisgICAgICAgICAgICBpZiAobG9jYWxzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJubyBsb2NhbHMgd2hlbiBsb2FkaW5nICVSIiwgbmFtZSk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdChsb2NhbHMpKSB7CisgICAgICAgICAgICAgICAgdiA9IFB5RGljdF9HZXRJdGVtKGxvY2FscywgbmFtZSk7CisgICAgICAgICAgICAgICAgUHlfWElOQ1JFRih2KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIHggPSBQeU9iamVjdF9HZXRJdGVtKHYsIHcpOwotICAgICAgICAgICAgICAgIGlmICh4ID09IE5VTEwgJiYgUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUV4Y19LZXlFcnJvcikpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB2ID0gUHlPYmplY3RfR2V0SXRlbShsb2NhbHMsIG5hbWUpOworICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfS2V5RXJyb3IpKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoeCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgeCA9IFB5RGljdF9HZXRJdGVtKGYtPmZfZ2xvYmFscywgdyk7Ci0gICAgICAgICAgICAgICAgUHlfWElOQ1JFRih4KTsKLSAgICAgICAgICAgICAgICBpZiAoeCA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAodiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgdiA9IFB5RGljdF9HZXRJdGVtKGYtPmZfZ2xvYmFscywgbmFtZSk7CisgICAgICAgICAgICAgICAgUHlfWElOQ1JFRih2KTsKKyAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdChmLT5mX2J1aWx0aW5zKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgeCA9IFB5RGljdF9HZXRJdGVtKGYtPmZfYnVpbHRpbnMsIHcpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHggPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdiA9IFB5RGljdF9HZXRJdGVtKGYtPmZfYnVpbHRpbnMsIG5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF9leGNfY2hlY2tfYXJnKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX05hbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FX0VSUk9SX01TRywgdyk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRV9FUlJPUl9NU0csIG5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoeCk7CisgICAgICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYodik7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB4ID0gUHlPYmplY3RfR2V0SXRlbShmLT5mX2J1aWx0aW5zLCB3KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICh4ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHYgPSBQeU9iamVjdF9HZXRJdGVtKGYtPmZfYnVpbHRpbnMsIG5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0tleUVycm9yKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0X2V4Y19jaGVja19hcmcoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX05hbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRV9FUlJPUl9NU0csIHcpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FX0VSUk9SX01TRywgbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFBVU0goeCk7CisgICAgICAgICAgICBQVVNIKHYpOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChMT0FEX0dMT0JBTCkKLSAgICAgICAgICAgIHcgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7CisgICAgICAgIFRBUkdFVChMT0FEX0dMT0JBTCkgeworICAgICAgICAgICAgUHlPYmplY3QgKm5hbWUgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7CisgICAgICAgICAgICBQeU9iamVjdCAqdjsKICAgICAgICAgICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdChmLT5mX2dsb2JhbHMpCiAgICAgICAgICAgICAgICAgJiYgUHlEaWN0X0NoZWNrRXhhY3QoZi0+Zl9idWlsdGlucykpIHsKLSAgICAgICAgICAgICAgICB4ID0gX1B5RGljdF9Mb2FkR2xvYmFsKChQeURpY3RPYmplY3QgKilmLT5mX2dsb2JhbHMsCisgICAgICAgICAgICAgICAgdiA9IF9QeURpY3RfTG9hZEdsb2JhbCgoUHlEaWN0T2JqZWN0ICopZi0+Zl9nbG9iYWxzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5RGljdE9iamVjdCAqKWYtPmZfYnVpbHRpbnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3KTsKLSAgICAgICAgICAgICAgICBpZiAoeCA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKKyAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF9leGNfY2hlY2tfYXJnKFB5RXhjX05hbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMT0JBTF9OQU1FX0VSUk9SX01TRywgdyk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRV9FUlJPUl9NU0csIG5hbWUpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYoeCk7CisgICAgICAgICAgICAgICAgUHlfSU5DUkVGKHYpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgLyogU2xvdy1wYXRoIGlmIGdsb2JhbHMgb3IgYnVpbHRpbnMgaXMgbm90IGEgZGljdCAqLwotICAgICAgICAgICAgICAgIHggPSBQeU9iamVjdF9HZXRJdGVtKGYtPmZfZ2xvYmFscywgdyk7Ci0gICAgICAgICAgICAgICAgaWYgKHggPT0gTlVMTCkgewotICAgICAgICAgICAgICAgICAgICB4ID0gUHlPYmplY3RfR2V0SXRlbShmLT5mX2J1aWx0aW5zLCB3KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHggPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHYgPSBQeU9iamVjdF9HZXRJdGVtKGYtPmZfZ2xvYmFscywgbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICB2ID0gUHlPYmplY3RfR2V0SXRlbShmLT5mX2J1aWx0aW5zLCBuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfS2V5RXJyb3IpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF9leGNfY2hlY2tfYXJnKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX05hbWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHTE9CQUxfTkFNRV9FUlJPUl9NU0csIHcpOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRV9FUlJPUl9NU0csIG5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFBVU0goeCk7CisgICAgICAgICAgICBQVVNIKHYpOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChERUxFVEVfRkFTVCkKLSAgICAgICAgICAgIHggPSBHRVRMT0NBTChvcGFyZyk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSB7CisgICAgICAgIFRBUkdFVChERUxFVEVfRkFTVCkgeworICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBHRVRMT0NBTChvcGFyZyk7CisgICAgICAgICAgICBpZiAodiAhPSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgU0VUTE9DQUwob3BhcmcsIE5VTEwpOwogICAgICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgICAgICB9CkBAIC0yMTYyLDI1MiArMjI0MCwyNzcgQEAKICAgICAgICAgICAgICAgICBVTkJPVU5ETE9DQUxfRVJST1JfTVNHLAogICAgICAgICAgICAgICAgIFB5VHVwbGVfR2V0SXRlbShjby0+Y29fdmFybmFtZXMsIG9wYXJnKQogICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoREVMRVRFX0RFUkVGKQotICAgICAgICAgICAgeCA9IGZyZWV2YXJzW29wYXJnXTsKLSAgICAgICAgICAgIGlmIChQeUNlbGxfR0VUKHgpICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUNlbGxfU2V0KHgsIE5VTEwpOworICAgICAgICBUQVJHRVQoREVMRVRFX0RFUkVGKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqY2VsbCA9IGZyZWV2YXJzW29wYXJnXTsKKyAgICAgICAgICAgIGlmIChQeUNlbGxfR0VUKGNlbGwpICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUNlbGxfU2V0KGNlbGwsIE5VTEwpOwogICAgICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlcnIgPSAtMTsKICAgICAgICAgICAgIGZvcm1hdF9leGNfdW5ib3VuZChjbywgb3BhcmcpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKExPQURfQ0xPU1VSRSkKLSAgICAgICAgICAgIHggPSBmcmVldmFyc1tvcGFyZ107Ci0gICAgICAgICAgICBQeV9JTkNSRUYoeCk7Ci0gICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChMT0FEX0RFUkVGKQotICAgICAgICAgICAgeCA9IGZyZWV2YXJzW29wYXJnXTsKLSAgICAgICAgICAgIHcgPSBQeUNlbGxfR2V0KHgpOwotICAgICAgICAgICAgaWYgKHcgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFBVU0godyk7Ci0gICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVyciA9IC0xOwotICAgICAgICAgICAgZm9ybWF0X2V4Y191bmJvdW5kKGNvLCBvcGFyZyk7Ci0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICBUQVJHRVQoU1RPUkVfREVSRUYpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICB4ID0gZnJlZXZhcnNbb3BhcmddOwotICAgICAgICAgICAgUHlDZWxsX1NldCh4LCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgVEFSR0VUKExPQURfQ0xPU1VSRSkgeworICAgICAgICAgICAgUHlPYmplY3QgKmNlbGwgPSBmcmVldmFyc1tvcGFyZ107CisgICAgICAgICAgICBQeV9JTkNSRUYoY2VsbCk7CisgICAgICAgICAgICBQVVNIKGNlbGwpOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChCVUlMRF9UVVBMRSkKLSAgICAgICAgICAgIHggPSBQeVR1cGxlX05ldyhvcGFyZyk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgZm9yICg7IC0tb3BhcmcgPj0gMDspIHsKLSAgICAgICAgICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHgsIG9wYXJnLCB3KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUFVTSCh4KTsKLSAgICAgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICBUQVJHRVQoTE9BRF9ERVJFRikgeworICAgICAgICAgICAgUHlPYmplY3QgKmNlbGwgPSBmcmVldmFyc1tvcGFyZ107CisgICAgICAgICAgICBQeU9iamVjdCAqdmFsdWUgPSBQeUNlbGxfR0VUKGNlbGwpOworICAgICAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBmb3JtYXRfZXhjX3VuYm91bmQoY28sIG9wYXJnKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBQeV9JTkNSRUYodmFsdWUpOworICAgICAgICAgICAgUFVTSCh2YWx1ZSk7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEJVSUxEX0xJU1QpCi0gICAgICAgICAgICB4ID0gIFB5TGlzdF9OZXcob3BhcmcpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIGZvciAoOyAtLW9wYXJnID49IDA7KSB7Ci0gICAgICAgICAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKHgsIG9wYXJnLCB3KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUFVTSCh4KTsKLSAgICAgICAgICAgICAgICBESVNQQVRDSCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgVEFSR0VUKEJVSUxEX1NFVCkKLSAgICAgICAgICAgIHggPSBQeVNldF9OZXcoTlVMTCk7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgZm9yICg7IC0tb3BhcmcgPj0gMDspIHsKLSAgICAgICAgICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZXJyID09IDApCi0gICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSBQeVNldF9BZGQoeCwgdyk7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKGVyciAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih4KTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFBVU0goeCk7Ci0gICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChCVUlMRF9NQVApCi0gICAgICAgICAgICB4ID0gX1B5RGljdF9OZXdQcmVzaXplZCgoUHlfc3NpemVfdClvcGFyZyk7Ci0gICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChTVE9SRV9NQVApCi0gICAgICAgICAgICB3ID0gVE9QKCk7ICAgICAvKiBrZXkgKi8KLSAgICAgICAgICAgIHUgPSBTRUNPTkQoKTsgIC8qIHZhbHVlICovCi0gICAgICAgICAgICB2ID0gVEhJUkQoKTsgICAvKiBkaWN0ICovCi0gICAgICAgICAgICBTVEFDS0FESigtMik7Ci0gICAgICAgICAgICBhc3NlcnQgKFB5RGljdF9DaGVja0V4YWN0KHYpKTsKLSAgICAgICAgICAgIGVyciA9IFB5RGljdF9TZXRJdGVtKHYsIHcsIHUpOyAgLyogdlt3XSA9IHUgKi8KLSAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKLSAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIFRBUkdFVChNQVBfQUREKQotICAgICAgICAgICAgdyA9IFRPUCgpOyAgICAgLyoga2V5ICovCi0gICAgICAgICAgICB1ID0gU0VDT05EKCk7ICAvKiB2YWx1ZSAqLwotICAgICAgICAgICAgU1RBQ0tBREooLTIpOwotICAgICAgICAgICAgdiA9IHN0YWNrX3BvaW50ZXJbLW9wYXJnXTsgIC8qIGRpY3QgKi8KLSAgICAgICAgICAgIGFzc2VydCAoUHlEaWN0X0NoZWNrRXhhY3QodikpOwotICAgICAgICAgICAgZXJyID0gUHlEaWN0X1NldEl0ZW0odiwgdywgdSk7ICAvKiB2W3ddID0gdSAqLwotICAgICAgICAgICAgUHlfREVDUkVGKHUpOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgaWYgKGVyciA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgUFJFRElDVChKVU1QX0FCU09MVVRFKTsKLSAgICAgICAgICAgICAgICBESVNQQVRDSCgpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgVEFSR0VUKExPQURfQVRUUikKLSAgICAgICAgICAgIHcgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7Ci0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlPYmplY3RfR2V0QXR0cih2LCB3KTsKKyAgICAgICAgVEFSR0VUKFNUT1JFX0RFUkVGKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqdiA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmNlbGwgPSBmcmVldmFyc1tvcGFyZ107CisgICAgICAgICAgICBQeUNlbGxfU2V0KGNlbGwsIHYpOwogICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQ09NUEFSRV9PUCkKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHggPSBjbXBfb3V0Y29tZShvcGFyZywgdiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggPT0gTlVMTCkgYnJlYWs7CisgICAgICAgIFRBUkdFVChCVUlMRF9UVVBMRSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnR1cCA9IFB5VHVwbGVfTmV3KG9wYXJnKTsKKyAgICAgICAgICAgIGlmICh0dXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgd2hpbGUgKC0tb3BhcmcgPj0gMCkgeworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICppdGVtID0gUE9QKCk7CisgICAgICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTSh0dXAsIG9wYXJnLCBpdGVtKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFBVU0godHVwKTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoQlVJTERfTElTVCkgeworICAgICAgICAgICAgUHlPYmplY3QgKmxpc3QgPSAgUHlMaXN0X05ldyhvcGFyZyk7CisgICAgICAgICAgICBpZiAobGlzdCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB3aGlsZSAoLS1vcGFyZyA+PSAwKSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKml0ZW0gPSBQT1AoKTsKKyAgICAgICAgICAgICAgICBQeUxpc3RfU0VUX0lURU0obGlzdCwgb3BhcmcsIGl0ZW0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUFVTSChsaXN0KTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoQlVJTERfU0VUKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqc2V0ID0gUHlTZXRfTmV3KE5VTEwpOworICAgICAgICAgICAgaW50IGVyciA9IDA7CisgICAgICAgICAgICBpZiAoc2V0ID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIHdoaWxlICgtLW9wYXJnID49IDApIHsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqaXRlbSA9IFBPUCgpOworICAgICAgICAgICAgICAgIGlmIChlcnIgPT0gMCkKKyAgICAgICAgICAgICAgICAgICAgZXJyID0gUHlTZXRfQWRkKHNldCwgaXRlbSk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGVyciAhPSAwKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHNldCk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFBVU0goc2V0KTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoQlVJTERfTUFQKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbWFwID0gX1B5RGljdF9OZXdQcmVzaXplZCgoUHlfc3NpemVfdClvcGFyZyk7CisgICAgICAgICAgICBpZiAobWFwID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIFBVU0gobWFwKTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoU1RPUkVfTUFQKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqa2V5ID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqdmFsdWUgPSBTRUNPTkQoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICptYXAgPSBUSElSRCgpOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIFNUQUNLQURKKC0yKTsKKyAgICAgICAgICAgIGFzc2VydChQeURpY3RfQ2hlY2tFeGFjdChtYXApKTsKKyAgICAgICAgICAgIGVyciA9IFB5RGljdF9TZXRJdGVtKG1hcCwga2V5LCB2YWx1ZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworICAgICAgICAgICAgUHlfREVDUkVGKGtleSk7CisgICAgICAgICAgICBpZiAoZXJyICE9IDApCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoTUFQX0FERCkgeworICAgICAgICAgICAgUHlPYmplY3QgKmtleSA9IFRPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKnZhbHVlID0gU0VDT05EKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbWFwOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIFNUQUNLQURKKC0yKTsKKyAgICAgICAgICAgIG1hcCA9IHN0YWNrX3BvaW50ZXJbLW9wYXJnXTsgIC8qIGRpY3QgKi8KKyAgICAgICAgICAgIGFzc2VydChQeURpY3RfQ2hlY2tFeGFjdChtYXApKTsKKyAgICAgICAgICAgIGVyciA9IFB5RGljdF9TZXRJdGVtKG1hcCwga2V5LCB2YWx1ZSk7ICAvKiB2W3ddID0gdSAqLworICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihrZXkpOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBQUkVESUNUKEpVTVBfQUJTT0xVVEUpOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQorCisgICAgICAgIFRBUkdFVChMT0FEX0FUVFIpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gR0VUSVRFTShuYW1lcywgb3BhcmcpOworICAgICAgICAgICAgUHlPYmplY3QgKm93bmVyID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlPYmplY3RfR2V0QXR0cihvd25lciwgbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYob3duZXIpOworICAgICAgICAgICAgU0VUX1RPUChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CisKKyAgICAgICAgVEFSR0VUKENPTVBBUkVfT1ApIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCA9IFBPUCgpOworICAgICAgICAgICAgUHlPYmplY3QgKmxlZnQgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBjbXBfb3V0Y29tZShvcGFyZywgbGVmdCwgcmlnaHQpOworICAgICAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAgICAgUHlfREVDUkVGKHJpZ2h0KTsKKyAgICAgICAgICAgIFNFVF9UT1AocmVzKTsKKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgUFJFRElDVChQT1BfSlVNUF9JRl9GQUxTRSk7CiAgICAgICAgICAgICBQUkVESUNUKFBPUF9KVU1QX0lGX1RSVUUpOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKLQotICAgICAgICBUQVJHRVQoSU1QT1JUX05BTUUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9faW1wb3J0X18pOwotICAgICAgICAgICAgdyA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKLSAgICAgICAgICAgIHggPSBfUHlEaWN0X0dldEl0ZW1JZChmLT5mX2J1aWx0aW5zLCAmUHlJZF9fX2ltcG9ydF9fKTsKLSAgICAgICAgICAgIGlmICh4ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW1wb3J0RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2ltcG9ydF9fIG5vdCBmb3VuZCIpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfSU5DUkVGKHgpOwotICAgICAgICAgICAgdiA9IFBPUCgpOwotICAgICAgICAgICAgdSA9IFRPUCgpOwotICAgICAgICAgICAgaWYgKFB5TG9uZ19Bc0xvbmcodSkgIT0gLTEgfHwgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICB3ID0gUHlUdXBsZV9QYWNrKDUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5mX2dsb2JhbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+Zl9sb2NhbHMgPT0gTlVMTCA/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSA6IGYtPmZfbG9jYWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdyA9IFB5VHVwbGVfUGFjayg0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+Zl9nbG9iYWxzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYtPmZfbG9jYWxzID09IE5VTEwgPwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X05vbmUgOiBmLT5mX2xvY2FscywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKLSAgICAgICAgICAgIGlmICh3ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICB1ID0gUE9QKCk7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgICAgIHggPSBOVUxMOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUkVBRF9USU1FU1RBTVAoaW50cjApOwotICAgICAgICAgICAgdiA9IHg7Ci0gICAgICAgICAgICB4ID0gUHlFdmFsX0NhbGxPYmplY3Qodiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBSRUFEX1RJTUVTVEFNUChpbnRyMSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICBTRVRfVE9QKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKElNUE9SVF9TVEFSKQotICAgICAgICAgICAgdiA9IFBPUCgpOworICAgICAgICBUQVJHRVQoSU1QT1JUX05BTUUpIHsKKyAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9faW1wb3J0X18pOworICAgICAgICAgICAgUHlPYmplY3QgKm5hbWUgPSBHRVRJVEVNKG5hbWVzLCBvcGFyZyk7CisgICAgICAgICAgICBQeU9iamVjdCAqZnVuYyA9IF9QeURpY3RfR2V0SXRlbUlkKGYtPmZfYnVpbHRpbnMsICZQeUlkX19faW1wb3J0X18pOworICAgICAgICAgICAgUHlPYmplY3QgKmZyb20sICpsZXZlbCwgKmFyZ3MsICpyZXM7CisgICAgICAgICAgICBpZiAoZnVuYyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0ltcG9ydEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19pbXBvcnRfXyBub3QgZm91bmQiKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfSU5DUkVGKGZ1bmMpOworICAgICAgICAgICAgZnJvbSA9IFBPUCgpOworICAgICAgICAgICAgbGV2ZWwgPSBUT1AoKTsKKyAgICAgICAgICAgIGlmIChQeUxvbmdfQXNMb25nKGxldmVsKSAhPSAtMSB8fCBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgICAgIGFyZ3MgPSBQeVR1cGxlX1BhY2soNSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYtPmZfZ2xvYmFscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLT5mX2xvY2FscyA9PSBOVUxMID8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9Ob25lIDogZi0+Zl9sb2NhbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYXJncyA9IFB5VHVwbGVfUGFjayg0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZi0+Zl9nbG9iYWxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYtPmZfbG9jYWxzID09IE5VTEwgPworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X05vbmUgOiBmLT5mX2xvY2FscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsZXZlbCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZnJvbSk7CisgICAgICAgICAgICBpZiAoYXJncyA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGZ1bmMpOworICAgICAgICAgICAgICAgIFNUQUNLQURKKC0xKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUkVBRF9USU1FU1RBTVAoaW50cjApOworICAgICAgICAgICAgcmVzID0gUHlFdmFsX0NhbGxPYmplY3QoZnVuYywgYXJncyk7CisgICAgICAgICAgICBSRUFEX1RJTUVTVEFNUChpbnRyMSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CisgICAgICAgICAgICBTRVRfVE9QKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KKworICAgICAgICBUQVJHRVQoSU1QT1JUX1NUQVIpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpmcm9tID0gUE9QKCksICpsb2NhbHM7CisgICAgICAgICAgICBpbnQgZXJyOwogICAgICAgICAgICAgUHlGcmFtZV9GYXN0VG9Mb2NhbHMoZik7Ci0gICAgICAgICAgICBpZiAoKHggPSBmLT5mX2xvY2FscykgPT0gTlVMTCkgeworICAgICAgICAgICAgbG9jYWxzID0gZi0+Zl9sb2NhbHM7CisgICAgICAgICAgICBpZiAobG9jYWxzID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICJubyBsb2NhbHMgZm91bmQgZHVyaW5nICdpbXBvcnQgKiciKTsKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgUkVBRF9USU1FU1RBTVAoaW50cjApOwotICAgICAgICAgICAgZXJyID0gaW1wb3J0X2FsbF9mcm9tKHgsIHYpOworICAgICAgICAgICAgZXJyID0gaW1wb3J0X2FsbF9mcm9tKGxvY2FscywgZnJvbSk7CiAgICAgICAgICAgICBSRUFEX1RJTUVTVEFNUChpbnRyMSk7CiAgICAgICAgICAgICBQeUZyYW1lX0xvY2Fsc1RvRmFzdChmLCAwKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIGlmIChlcnIgPT0gMCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgUHlfREVDUkVGKGZyb20pOworICAgICAgICAgICAgaWYgKGVyciAhPSAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKElNUE9SVF9GUk9NKQotICAgICAgICAgICAgdyA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKLSAgICAgICAgICAgIHYgPSBUT1AoKTsKKyAgICAgICAgVEFSR0VUKElNUE9SVF9GUk9NKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSA9IEdFVElURU0obmFtZXMsIG9wYXJnKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpmcm9tID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzOwogICAgICAgICAgICAgUkVBRF9USU1FU1RBTVAoaW50cjApOwotICAgICAgICAgICAgeCA9IGltcG9ydF9mcm9tKHYsIHcpOworICAgICAgICAgICAgcmVzID0gaW1wb3J0X2Zyb20oZnJvbSwgbmFtZSk7CiAgICAgICAgICAgICBSRUFEX1RJTUVTVEFNUChpbnRyMSk7Ci0gICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgUFVTSChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEpVTVBfRk9SV0FSRCkKKyAgICAgICAgVEFSR0VUKEpVTVBfRk9SV0FSRCkgewogICAgICAgICAgICAgSlVNUEJZKG9wYXJnKTsKICAgICAgICAgICAgIEZBU1RfRElTUEFUQ0goKTsKKyAgICAgICAgfQogCiAgICAgICAgIFBSRURJQ1RFRF9XSVRIX0FSRyhQT1BfSlVNUF9JRl9GQUxTRSk7Ci0gICAgICAgIFRBUkdFVChQT1BfSlVNUF9JRl9GQUxTRSkKLSAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgIGlmICh3ID09IFB5X1RydWUpIHsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodyk7CisgICAgICAgIFRBUkdFVChQT1BfSlVNUF9JRl9GQUxTRSkgeworICAgICAgICAgICAgUHlPYmplY3QgKmNvbmQgPSBQT1AoKTsKKyAgICAgICAgICAgIGludCBlcnI7CisgICAgICAgICAgICBpZiAoY29uZCA9PSBQeV9UcnVlKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGNvbmQpOwogICAgICAgICAgICAgICAgIEZBU1RfRElTUEFUQ0goKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh3ID09IFB5X0ZhbHNlKSB7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHcpOworICAgICAgICAgICAgaWYgKGNvbmQgPT0gUHlfRmFsc2UpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICAgICAgSlVNUFRPKG9wYXJnKTsKICAgICAgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9Jc1RydWUodyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7CisgICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9Jc1RydWUoY29uZCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICBpZiAoZXJyID4gMCkKICAgICAgICAgICAgICAgICBlcnIgPSAwOwogICAgICAgICAgICAgZWxzZSBpZiAoZXJyID09IDApCiAgICAgICAgICAgICAgICAgSlVNUFRPKG9wYXJnKTsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCiAgICAgICAgIFBSRURJQ1RFRF9XSVRIX0FSRyhQT1BfSlVNUF9JRl9UUlVFKTsKLSAgICAgICAgVEFSR0VUKFBPUF9KVU1QX0lGX1RSVUUpCi0gICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICBpZiAodyA9PSBQeV9GYWxzZSkgewotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgVEFSR0VUKFBPUF9KVU1QX0lGX1RSVUUpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpjb25kID0gUE9QKCk7CisgICAgICAgICAgICBpbnQgZXJyOworICAgICAgICAgICAgaWYgKGNvbmQgPT0gUHlfRmFsc2UpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHcgPT0gUHlfVHJ1ZSkgewotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgICAgIGlmIChjb25kID09IFB5X1RydWUpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICAgICAgSlVNUFRPKG9wYXJnKTsKICAgICAgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9Jc1RydWUodyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodyk7CisgICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9Jc1RydWUoY29uZCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICBpZiAoZXJyID4gMCkgewogICAgICAgICAgICAgICAgIGVyciA9IDA7CiAgICAgICAgICAgICAgICAgSlVNUFRPKG9wYXJnKTsKQEAgLTI0MTUsNTggKzI1MTgsNjMgQEAKICAgICAgICAgICAgIGVsc2UgaWYgKGVyciA9PSAwKQogICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChKVU1QX0lGX0ZBTFNFX09SX1BPUCkKLSAgICAgICAgICAgIHcgPSBUT1AoKTsKLSAgICAgICAgICAgIGlmICh3ID09IFB5X1RydWUpIHsKKyAgICAgICAgVEFSR0VUKEpVTVBfSUZfRkFMU0VfT1JfUE9QKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqY29uZCA9IFRPUCgpOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIGlmIChjb25kID09IFB5X1RydWUpIHsKICAgICAgICAgICAgICAgICBTVEFDS0FESigtMSk7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHcpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihjb25kKTsKICAgICAgICAgICAgICAgICBGQVNUX0RJU1BBVENIKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAodyA9PSBQeV9GYWxzZSkgeworICAgICAgICAgICAgaWYgKGNvbmQgPT0gUHlfRmFsc2UpIHsKICAgICAgICAgICAgICAgICBKVU1QVE8ob3BhcmcpOwogICAgICAgICAgICAgICAgIEZBU1RfRElTUEFUQ0goKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X0lzVHJ1ZSh3KTsKKyAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X0lzVHJ1ZShjb25kKTsKICAgICAgICAgICAgIGlmIChlcnIgPiAwKSB7CiAgICAgICAgICAgICAgICAgU1RBQ0tBREooLTEpOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICAgICAgZXJyID0gMDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKGVyciA9PSAwKQogICAgICAgICAgICAgICAgIEpVTVBUTyhvcGFyZyk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoSlVNUF9JRl9UUlVFX09SX1BPUCkKLSAgICAgICAgICAgIHcgPSBUT1AoKTsKLSAgICAgICAgICAgIGlmICh3ID09IFB5X0ZhbHNlKSB7CisgICAgICAgIFRBUkdFVChKVU1QX0lGX1RSVUVfT1JfUE9QKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqY29uZCA9IFRPUCgpOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIGlmIChjb25kID09IFB5X0ZhbHNlKSB7CiAgICAgICAgICAgICAgICAgU1RBQ0tBREooLTEpOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoY29uZCk7CiAgICAgICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHcgPT0gUHlfVHJ1ZSkgeworICAgICAgICAgICAgaWYgKGNvbmQgPT0gUHlfVHJ1ZSkgewogICAgICAgICAgICAgICAgIEpVTVBUTyhvcGFyZyk7CiAgICAgICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZXJyID0gUHlPYmplY3RfSXNUcnVlKHcpOworICAgICAgICAgICAgZXJyID0gUHlPYmplY3RfSXNUcnVlKGNvbmQpOwogICAgICAgICAgICAgaWYgKGVyciA+IDApIHsKICAgICAgICAgICAgICAgICBlcnIgPSAwOwogICAgICAgICAgICAgICAgIEpVTVBUTyhvcGFyZyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChlcnIgPT0gMCkgewogICAgICAgICAgICAgICAgIFNUQUNLQURKKC0xKTsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodyk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGNvbmQpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKICAgICAgICAgUFJFRElDVEVEX1dJVEhfQVJHKEpVTVBfQUJTT0xVVEUpOwotICAgICAgICBUQVJHRVQoSlVNUF9BQlNPTFVURSkKKyAgICAgICAgVEFSR0VUKEpVTVBfQUJTT0xVVEUpIHsKICAgICAgICAgICAgIEpVTVBUTyhvcGFyZyk7CiAjaWYgRkFTVF9MT09QUwogICAgICAgICAgICAgLyogRW5hYmxpbmcgdGhpcyBwYXRoIHNwZWVkcy11cCBhbGwgd2hpbGUgYW5kIGZvci1sb29wcyBieSBieXBhc3NpbmcKQEAgLTI0ODAsNjAgKzI1ODgsNjAgQEAKICNlbHNlCiAgICAgICAgICAgICBESVNQQVRDSCgpOwogI2VuZGlmCisgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoR0VUX0lURVIpCisgICAgICAgIFRBUkdFVChHRVRfSVRFUikgewogICAgICAgICAgICAgLyogYmVmb3JlOiBbb2JqXTsgYWZ0ZXIgW2dldGl0ZXIob2JqKV0gKi8KLSAgICAgICAgICAgIHYgPSBUT1AoKTsKLSAgICAgICAgICAgIHggPSBQeU9iamVjdF9HZXRJdGVyKHYpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFNFVF9UT1AoeCk7Ci0gICAgICAgICAgICAgICAgUFJFRElDVChGT1JfSVRFUik7Ci0gICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFNUQUNLQURKKC0xKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgUHlPYmplY3QgKml0ZXJhYmxlID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqaXRlciA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlcmFibGUpOworICAgICAgICAgICAgUHlfREVDUkVGKGl0ZXJhYmxlKTsKKyAgICAgICAgICAgIFNFVF9UT1AoaXRlcik7CisgICAgICAgICAgICBpZiAoaXRlciA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBQUkVESUNUKEZPUl9JVEVSKTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CisgICAgICAgIH0KIAogICAgICAgICBQUkVESUNURURfV0lUSF9BUkcoRk9SX0lURVIpOwotICAgICAgICBUQVJHRVQoRk9SX0lURVIpCisgICAgICAgIFRBUkdFVChGT1JfSVRFUikgewogICAgICAgICAgICAgLyogYmVmb3JlOiBbaXRlcl07IGFmdGVyOiBbaXRlciwgaXRlcigpXSAqb3IqIFtdICovCi0gICAgICAgICAgICB2ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gKCp2LT5vYl90eXBlLT50cF9pdGVybmV4dCkodik7Ci0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUFVTSCh4KTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICppdGVyID0gVE9QKCk7CisgICAgICAgICAgICBQeU9iamVjdCAqbmV4dCA9ICgqaXRlci0+b2JfdHlwZS0+dHBfaXRlcm5leHQpKGl0ZXIpOworICAgICAgICAgICAgaWYgKG5leHQgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFBVU0gobmV4dCk7CiAgICAgICAgICAgICAgICAgUFJFRElDVChTVE9SRV9GQVNUKTsKICAgICAgICAgICAgICAgICBQUkVESUNUKFVOUEFDS19TRVFVRU5DRSk7CiAgICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUV4Y19TdG9wSXRlcmF0aW9uKSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1N0b3BJdGVyYXRpb24pKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiBpdGVyYXRvciBlbmRlZCBub3JtYWxseSAqLwotICAgICAgICAgICAgeCA9IHYgPSBQT1AoKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKKyAgICAgICAgICAgIFNUQUNLQURKKC0xKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihpdGVyKTsKICAgICAgICAgICAgIEpVTVBCWShvcGFyZyk7CiAgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKEJSRUFLX0xPT1ApCisgICAgICAgIFRBUkdFVChCUkVBS19MT09QKSB7CiAgICAgICAgICAgICB3aHkgPSBXSFlfQlJFQUs7CiAgICAgICAgICAgICBnb3RvIGZhc3RfYmxvY2tfZW5kOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKENPTlRJTlVFX0xPT1ApCisgICAgICAgIFRBUkdFVChDT05USU5VRV9MT09QKSB7CiAgICAgICAgICAgICByZXR2YWwgPSBQeUxvbmdfRnJvbUxvbmcob3BhcmcpOwotICAgICAgICAgICAgaWYgKCFyZXR2YWwpIHsKLSAgICAgICAgICAgICAgICB4ID0gTlVMTDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChyZXR2YWwgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgd2h5ID0gV0hZX0NPTlRJTlVFOwogICAgICAgICAgICAgZ290byBmYXN0X2Jsb2NrX2VuZDsKKyAgICAgICAgfQogCiAgICAgICAgIFRBUkdFVF9XSVRIX0lNUEwoU0VUVVBfTE9PUCwgX3NldHVwX2ZpbmFsbHkpCiAgICAgICAgIFRBUkdFVF9XSVRIX0lNUEwoU0VUVVBfRVhDRVBULCBfc2V0dXBfZmluYWxseSkKICAgICAgICAgVEFSR0VUKFNFVFVQX0ZJTkFMTFkpCi0gICAgICAgIF9zZXR1cF9maW5hbGx5OgorICAgICAgICBfc2V0dXBfZmluYWxseTogewogICAgICAgICAgICAgLyogTk9URTogSWYgeW91IGFkZCBhbnkgbmV3IGJsb2NrLXNldHVwIG9wY29kZXMgdGhhdAogICAgICAgICAgICAgICAgYXJlIG5vdCB0cnkvZXhjZXB0L2ZpbmFsbHkgaGFuZGxlcnMsIHlvdSBtYXkgbmVlZAogICAgICAgICAgICAgICAgdG8gdXBkYXRlIHRoZSBQeUdlbl9OZWVkc0ZpbmFsaXppbmcoKSBmdW5jdGlvbi4KQEAgLTI1NDIsMzcgKzI2NTAsMzUgQEAKICAgICAgICAgICAgIFB5RnJhbWVfQmxvY2tTZXR1cChmLCBvcGNvZGUsIElOU1RSX09GRlNFVCgpICsgb3BhcmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RBQ0tfTEVWRUwoKSk7CiAgICAgICAgICAgICBESVNQQVRDSCgpOworICAgICAgICB9CiAKLSAgICAgICAgVEFSR0VUKFNFVFVQX1dJVEgpCi0gICAgICAgIHsKKyAgICAgICAgVEFSR0VUKFNFVFVQX1dJVEgpIHsKICAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fZXhpdF9fKTsKICAgICAgICAgICAgIF9QeV9JREVOVElGSUVSKF9fZW50ZXJfXyk7Ci0gICAgICAgICAgICB3ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gc3BlY2lhbF9sb29rdXAodywgJlB5SWRfX19leGl0X18pOwotICAgICAgICAgICAgaWYgKCF4KQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIHUgPSBzcGVjaWFsX2xvb2t1cCh3LCAmUHlJZF9fX2VudGVyX18pOwotICAgICAgICAgICAgUHlfREVDUkVGKHcpOwotICAgICAgICAgICAgaWYgKCF1KSB7Ci0gICAgICAgICAgICAgICAgeCA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICB4ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyh1LCBOVUxMKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKLSAgICAgICAgICAgIGlmICgheCkKLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIFB5T2JqZWN0ICptZ3IgPSBUT1AoKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpleGl0ID0gc3BlY2lhbF9sb29rdXAobWdyLCAmUHlJZF9fX2V4aXRfXyksICplbnRlcjsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZXM7CisgICAgICAgICAgICBpZiAoZXhpdCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBTRVRfVE9QKGV4aXQpOworICAgICAgICAgICAgZW50ZXIgPSBzcGVjaWFsX2xvb2t1cChtZ3IsICZQeUlkX19fZW50ZXJfXyk7CisgICAgICAgICAgICBQeV9ERUNSRUYobWdyKTsKKyAgICAgICAgICAgIGlmIChlbnRlciA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICByZXMgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGVudGVyLCBOVUxMKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihlbnRlcik7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIC8qIFNldHVwIHRoZSBmaW5hbGx5IGJsb2NrIGJlZm9yZSBwdXNoaW5nIHRoZSByZXN1bHQKICAgICAgICAgICAgICAgIG9mIF9fZW50ZXJfXyBvbiB0aGUgc3RhY2suICovCiAgICAgICAgICAgICBQeUZyYW1lX0Jsb2NrU2V0dXAoZiwgU0VUVVBfRklOQUxMWSwgSU5TVFJfT0ZGU0VUKCkgKyBvcGFyZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVEFDS19MRVZFTCgpKTsKIAotICAgICAgICAgICAgUFVTSCh4KTsKKyAgICAgICAgICAgIFBVU0gocmVzKTsKICAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoV0lUSF9DTEVBTlVQKQotICAgICAgICB7CisgICAgICAgIFRBUkdFVChXSVRIX0NMRUFOVVApIHsKICAgICAgICAgICAgIC8qIEF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrIGFyZSAxLTMgdmFsdWVzIGluZGljYXRpbmcKICAgICAgICAgICAgICAgIGhvdy93aHkgd2UgZW50ZXJlZCB0aGUgZmluYWxseSBjbGF1c2U6CiAgICAgICAgICAgICAgICAtIFRPUCA9IE5vbmUKQEAgLTI1OTksNDIgKzI3MDUsNDIgQEAKICAgICAgICAgICAgICovCiAKICAgICAgICAgICAgIFB5T2JqZWN0ICpleGl0X2Z1bmM7Ci0gICAgICAgICAgICB1ID0gVE9QKCk7Ci0gICAgICAgICAgICBpZiAodSA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqZXhjID0gVE9QKCksICp2YWwgPSBQeV9Ob25lLCAqdGIgPSBQeV9Ob25lLCAqcmVzOworICAgICAgICAgICAgaW50IGVycjsKKyAgICAgICAgICAgIGlmIChleGMgPT0gUHlfTm9uZSkgewogICAgICAgICAgICAgICAgICh2b2lkKVBPUCgpOwogICAgICAgICAgICAgICAgIGV4aXRfZnVuYyA9IFRPUCgpOwotICAgICAgICAgICAgICAgIFNFVF9UT1AodSk7Ci0gICAgICAgICAgICAgICAgdiA9IHcgPSBQeV9Ob25lOworICAgICAgICAgICAgICAgIFNFVF9UT1AoZXhjKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVjayh1KSkgewotICAgICAgICAgICAgICAgICh2b2lkKVBPUCgpOwotICAgICAgICAgICAgICAgIHN3aXRjaChQeUxvbmdfQXNMb25nKHUpKSB7CisgICAgICAgICAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soZXhjKSkgeworICAgICAgICAgICAgICAgIFNUQUNLQURKKC0xKTsKKyAgICAgICAgICAgICAgICBzd2l0Y2ggKFB5TG9uZ19Bc0xvbmcoZXhjKSkgewogICAgICAgICAgICAgICAgIGNhc2UgV0hZX1JFVFVSTjoKICAgICAgICAgICAgICAgICBjYXNlIFdIWV9DT05USU5VRToKICAgICAgICAgICAgICAgICAgICAgLyogUmV0dmFsIGluIFRPUC4gKi8KICAgICAgICAgICAgICAgICAgICAgZXhpdF9mdW5jID0gU0VDT05EKCk7CiAgICAgICAgICAgICAgICAgICAgIFNFVF9TRUNPTkQoVE9QKCkpOwotICAgICAgICAgICAgICAgICAgICBTRVRfVE9QKHUpOworICAgICAgICAgICAgICAgICAgICBTRVRfVE9QKGV4Yyk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgIGV4aXRfZnVuYyA9IFRPUCgpOwotICAgICAgICAgICAgICAgICAgICBTRVRfVE9QKHUpOworICAgICAgICAgICAgICAgICAgICBTRVRfVE9QKGV4Yyk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB1ID0gdiA9IHcgPSBQeV9Ob25lOworICAgICAgICAgICAgICAgIGV4YyA9IFB5X05vbmU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqdHAsICpleGMsICp0YjsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqdHAyLCAqZXhjMiwgKnRiMjsKICAgICAgICAgICAgICAgICBQeVRyeUJsb2NrICpibG9jazsKLSAgICAgICAgICAgICAgICB2ID0gU0VDT05EKCk7Ci0gICAgICAgICAgICAgICAgdyA9IFRISVJEKCk7Ci0gICAgICAgICAgICAgICAgdHAgPSBGT1VSVEgoKTsKLSAgICAgICAgICAgICAgICBleGMgPSBQRUVLKDUpOwotICAgICAgICAgICAgICAgIHRiID0gUEVFSyg2KTsKKyAgICAgICAgICAgICAgICB2YWwgPSBTRUNPTkQoKTsKKyAgICAgICAgICAgICAgICB0YiA9IFRISVJEKCk7CisgICAgICAgICAgICAgICAgdHAyID0gRk9VUlRIKCk7CisgICAgICAgICAgICAgICAgZXhjMiA9IFBFRUsoNSk7CisgICAgICAgICAgICAgICAgdGIyID0gUEVFSyg2KTsKICAgICAgICAgICAgICAgICBleGl0X2Z1bmMgPSBQRUVLKDcpOwotICAgICAgICAgICAgICAgIFNFVF9WQUxVRSg3LCB0Yik7Ci0gICAgICAgICAgICAgICAgU0VUX1ZBTFVFKDYsIGV4Yyk7Ci0gICAgICAgICAgICAgICAgU0VUX1ZBTFVFKDUsIHRwKTsKKyAgICAgICAgICAgICAgICBTRVRfVkFMVUUoNywgdGIyKTsKKyAgICAgICAgICAgICAgICBTRVRfVkFMVUUoNiwgZXhjMik7CisgICAgICAgICAgICAgICAgU0VUX1ZBTFVFKDUsIHRwMik7CiAgICAgICAgICAgICAgICAgLyogVU5XSU5EX0VYQ0VQVF9IQU5ETEVSIHdpbGwgcG9wIHRoaXMgb2ZmLiAqLwogICAgICAgICAgICAgICAgIFNFVF9GT1VSVEgoTlVMTCk7CiAgICAgICAgICAgICAgICAgLyogV2UganVzdCBzaGlmdGVkIHRoZSBzdGFjayBkb3duLCBzbyB3ZSBoYXZlCkBAIC0yNjQ1LDU2ICsyNzUxLDUzIEBACiAgICAgICAgICAgICAgICAgYmxvY2stPmJfbGV2ZWwtLTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIFhYWCBOb3QgdGhlIGZhc3Rlc3Qgd2F5IHRvIGNhbGwgaXQuLi4gKi8KLSAgICAgICAgICAgIHggPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGV4aXRfZnVuYywgdSwgdiwgdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICAgICAgcmVzID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhleGl0X2Z1bmMsIGV4YywgdmFsLCB0YiwgTlVMTCk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZXhpdF9mdW5jKTsKLSAgICAgICAgICAgIGlmICh4ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgYnJlYWs7IC8qIEdvIHRvIGVycm9yIGV4aXQgKi8KKyAgICAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogCi0gICAgICAgICAgICBpZiAodSAhPSBQeV9Ob25lKQotICAgICAgICAgICAgICAgIGVyciA9IFB5T2JqZWN0X0lzVHJ1ZSh4KTsKKyAgICAgICAgICAgIGlmIChleGMgIT0gUHlfTm9uZSkKKyAgICAgICAgICAgICAgICBlcnIgPSBQeU9iamVjdF9Jc1RydWUocmVzKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBlcnIgPSAwOwotICAgICAgICAgICAgUHlfREVDUkVGKHgpOworICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7CiAKICAgICAgICAgICAgIGlmIChlcnIgPCAwKQotICAgICAgICAgICAgICAgIGJyZWFrOyAvKiBHbyB0byBlcnJvciBleGl0ICovCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIGVsc2UgaWYgKGVyciA+IDApIHsKICAgICAgICAgICAgICAgICBlcnIgPSAwOwogICAgICAgICAgICAgICAgIC8qIFRoZXJlIHdhcyBhbiBleGNlcHRpb24gYW5kIGEgVHJ1ZSByZXR1cm4gKi8KICAgICAgICAgICAgICAgICBQVVNIKFB5TG9uZ19Gcm9tTG9uZygobG9uZykgV0hZX1NJTEVOQ0VEKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBQUkVESUNUKEVORF9GSU5BTExZKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgRElTUEFUQ0goKTsKICAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChDQUxMX0ZVTkNUSU9OKQotICAgICAgICB7Ci0gICAgICAgICAgICBQeU9iamVjdCAqKnNwOworICAgICAgICBUQVJHRVQoQ0FMTF9GVU5DVElPTikgeworICAgICAgICAgICAgUHlPYmplY3QgKipzcCwgKnJlczsKICAgICAgICAgICAgIFBDQUxMKFBDQUxMX0FMTCk7CiAgICAgICAgICAgICBzcCA9IHN0YWNrX3BvaW50ZXI7CiAjaWZkZWYgV0lUSF9UU0MKLSAgICAgICAgICAgIHggPSBjYWxsX2Z1bmN0aW9uKCZzcCwgb3BhcmcsICZpbnRyMCwgJmludHIxKTsKKyAgICAgICAgICAgIHJlcyA9IGNhbGxfZnVuY3Rpb24oJnNwLCBvcGFyZywgJmludHIwLCAmaW50cjEpOwogI2Vsc2UKLSAgICAgICAgICAgIHggPSBjYWxsX2Z1bmN0aW9uKCZzcCwgb3BhcmcpOworICAgICAgICAgICAgcmVzID0gY2FsbF9mdW5jdGlvbigmc3AsIG9wYXJnKTsKICNlbmRpZgogICAgICAgICAgICAgc3RhY2tfcG9pbnRlciA9IHNwOwotICAgICAgICAgICAgUFVTSCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgRElTUEFUQ0goKTsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgUFVTSChyZXMpOworICAgICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBESVNQQVRDSCgpOwogICAgICAgICB9CiAKICAgICAgICAgVEFSR0VUX1dJVEhfSU1QTChDQUxMX0ZVTkNUSU9OX1ZBUiwgX2NhbGxfZnVuY3Rpb25fdmFyX2t3KQogICAgICAgICBUQVJHRVRfV0lUSF9JTVBMKENBTExfRlVOQ1RJT05fS1csIF9jYWxsX2Z1bmN0aW9uX3Zhcl9rdykKICAgICAgICAgVEFSR0VUKENBTExfRlVOQ1RJT05fVkFSX0tXKQotICAgICAgICBfY2FsbF9mdW5jdGlvbl92YXJfa3c6Ci0gICAgICAgIHsKKyAgICAgICAgX2NhbGxfZnVuY3Rpb25fdmFyX2t3OiB7CiAgICAgICAgICAgICBpbnQgbmEgPSBvcGFyZyAmIDB4ZmY7CiAgICAgICAgICAgICBpbnQgbmsgPSAob3Bhcmc+PjgpICYgMHhmZjsKICAgICAgICAgICAgIGludCBmbGFncyA9IChvcGNvZGUgLSBDQUxMX0ZVTkNUSU9OKSAmIDM7CiAgICAgICAgICAgICBpbnQgbiA9IG5hICsgMiAqIG5rOwotICAgICAgICAgICAgUHlPYmplY3QgKipwZnVuYywgKmZ1bmMsICoqc3A7CisgICAgICAgICAgICBQeU9iamVjdCAqKnBmdW5jLCAqZnVuYywgKipzcCwgKnJlczsKICAgICAgICAgICAgIFBDQUxMKFBDQUxMX0FMTCk7CiAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBDQUxMX0ZMQUdfVkFSKQogICAgICAgICAgICAgICAgIG4rKzsKQEAgLTI3MTcsMTM3ICsyODIwLDE1NiBAQAogICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihmdW5jKTsKICAgICAgICAgICAgIHNwID0gc3RhY2tfcG9pbnRlcjsKICAgICAgICAgICAgIFJFQURfVElNRVNUQU1QKGludHIwKTsKLSAgICAgICAgICAgIHggPSBleHRfZG9fY2FsbChmdW5jLCAmc3AsIGZsYWdzLCBuYSwgbmspOworICAgICAgICAgICAgcmVzID0gZXh0X2RvX2NhbGwoZnVuYywgJnNwLCBmbGFncywgbmEsIG5rKTsKICAgICAgICAgICAgIFJFQURfVElNRVNUQU1QKGludHIxKTsKICAgICAgICAgICAgIHN0YWNrX3BvaW50ZXIgPSBzcDsKICAgICAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKIAogICAgICAgICAgICAgd2hpbGUgKHN0YWNrX3BvaW50ZXIgPiBwZnVuYykgewotICAgICAgICAgICAgICAgIHcgPSBQT1AoKTsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodyk7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQT1AoKTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYobyk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCkKLSAgICAgICAgICAgICAgICBESVNQQVRDSCgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBQVVNIKHJlcyk7CisgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgIH0KIAogICAgICAgICBUQVJHRVRfV0lUSF9JTVBMKE1BS0VfQ0xPU1VSRSwgX21ha2VfZnVuY3Rpb24pCiAgICAgICAgIFRBUkdFVChNQUtFX0ZVTkNUSU9OKQotICAgICAgICBfbWFrZV9mdW5jdGlvbjoKLSAgICAgICAgeworICAgICAgICBfbWFrZV9mdW5jdGlvbjogewogICAgICAgICAgICAgaW50IHBvc2RlZmF1bHRzID0gb3BhcmcgJiAweGZmOwogICAgICAgICAgICAgaW50IGt3ZGVmYXVsdHMgPSAob3Bhcmc+PjgpICYgMHhmZjsKICAgICAgICAgICAgIGludCBudW1fYW5ub3RhdGlvbnMgPSAob3BhcmcgPj4gMTYpICYgMHg3ZmZmOwogCi0gICAgICAgICAgICB3ID0gUE9QKCk7IC8qIHF1YWxuYW1lICovCi0gICAgICAgICAgICB2ID0gUE9QKCk7IC8qIGNvZGUgb2JqZWN0ICovCi0gICAgICAgICAgICB4ID0gUHlGdW5jdGlvbl9OZXdXaXRoUXVhbE5hbWUodiwgZi0+Zl9nbG9iYWxzLCB3KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpxdWFsbmFtZSA9IFBPUCgpOyAvKiBxdWFsbmFtZSAqLworICAgICAgICAgICAgUHlPYmplY3QgKmNvZGUgPSBQT1AoKTsgLyogY29kZSBvYmplY3QgKi8KKyAgICAgICAgICAgIFB5T2JqZWN0ICpmdW5jID0gUHlGdW5jdGlvbl9OZXdXaXRoUXVhbE5hbWUoY29kZSwgZi0+Zl9nbG9iYWxzLCBxdWFsbmFtZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoY29kZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYocXVhbG5hbWUpOwogCi0gICAgICAgICAgICBpZiAoeCAhPSBOVUxMICYmIG9wY29kZSA9PSBNQUtFX0NMT1NVUkUpIHsKLSAgICAgICAgICAgICAgICB2ID0gUE9QKCk7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RnVuY3Rpb25fU2V0Q2xvc3VyZSh4LCB2KSAhPSAwKSB7CisgICAgICAgICAgICBpZiAoZnVuYyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgICAgIGlmIChvcGNvZGUgPT0gTUFLRV9DTE9TVVJFKSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmNsb3N1cmUgPSBQT1AoKTsKKyAgICAgICAgICAgICAgICBpZiAoUHlGdW5jdGlvbl9TZXRDbG9zdXJlKGZ1bmMsIGNsb3N1cmUpICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAgLyogQ2FuJ3QgaGFwcGVuIHVubGVzcyBieXRlY29kZSBpcyBjb3JydXB0LiAqLwotICAgICAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihjbG9zdXJlKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihjbG9zdXJlKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCAmJiBudW1fYW5ub3RhdGlvbnMgPiAwKSB7CisgICAgICAgICAgICBpZiAobnVtX2Fubm90YXRpb25zID4gMCkgewogICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbmFtZV9peDsKLSAgICAgICAgICAgICAgICB1ID0gUE9QKCk7IC8qIG5hbWVzIG9mIGFyZ3Mgd2l0aCBhbm5vdGF0aW9ucyAqLwotICAgICAgICAgICAgICAgIHYgPSBQeURpY3RfTmV3KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7Ci0gICAgICAgICAgICAgICAgICAgIHggPSBOVUxMOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqbmFtZXMgPSBQT1AoKTsgLyogbmFtZXMgb2YgYXJncyB3aXRoIGFubm90YXRpb25zICovCisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFubnMgPSBQeURpY3RfTmV3KCk7CisgICAgICAgICAgICAgICAgaWYgKGFubnMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIG5hbWVfaXggPSBQeVR1cGxlX1NpemUodSk7CisgICAgICAgICAgICAgICAgbmFtZV9peCA9IFB5VHVwbGVfU2l6ZShuYW1lcyk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0KG51bV9hbm5vdGF0aW9ucyA9PSBuYW1lX2l4KzEpOwogICAgICAgICAgICAgICAgIHdoaWxlIChuYW1lX2l4ID4gMCkgeworICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbmFtZSwgKnZhbHVlOworICAgICAgICAgICAgICAgICAgICBpbnQgZXJyOwogICAgICAgICAgICAgICAgICAgICAtLW5hbWVfaXg7Ci0gICAgICAgICAgICAgICAgICAgIHQgPSBQeVR1cGxlX0dFVF9JVEVNKHUsIG5hbWVfaXgpOwotICAgICAgICAgICAgICAgICAgICB3ID0gUE9QKCk7Ci0gICAgICAgICAgICAgICAgICAgIC8qIFhYWChubm9yd2l0eik6IGNoZWNrIGZvciBlcnJvcnMgKi8KLSAgICAgICAgICAgICAgICAgICAgUHlEaWN0X1NldEl0ZW0odiwgdCwgdyk7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih3KTsKKyAgICAgICAgICAgICAgICAgICAgbmFtZSA9IFB5VHVwbGVfR0VUX0lURU0obmFtZXMsIG5hbWVfaXgpOworICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IFBPUCgpOworICAgICAgICAgICAgICAgICAgICBlcnIgPSBQeURpY3RfU2V0SXRlbShhbm5zLCBuYW1lLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChlcnIgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGFubnMpOworICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGZ1bmMpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlmIChQeUZ1bmN0aW9uX1NldEFubm90YXRpb25zKHgsIHYpICE9IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoUHlGdW5jdGlvbl9TZXRBbm5vdGF0aW9ucyhmdW5jLCBhbm5zKSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgICAgIC8qIENhbid0IGhhcHBlbiB1bmxlc3MKICAgICAgICAgICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9TZXRBbm5vdGF0aW9ucyBjaGFuZ2VzLiAqLwotICAgICAgICAgICAgICAgICAgICB3aHkgPSBXSFlfRVhDRVBUSU9OOworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYW5ucyk7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYW5ucyk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKG5hbWVzKTsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLyogWFhYIE1heWJlIHRoaXMgc2hvdWxkIGJlIGEgc2VwYXJhdGUgb3Bjb2RlPyAqLwotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCAmJiBwb3NkZWZhdWx0cyA+IDApIHsKLSAgICAgICAgICAgICAgICB2ID0gUHlUdXBsZV9OZXcocG9zZGVmYXVsdHMpOwotICAgICAgICAgICAgICAgIGlmICh2ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwotICAgICAgICAgICAgICAgICAgICB4ID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHdoaWxlICgtLXBvc2RlZmF1bHRzID49IDApIHsKLSAgICAgICAgICAgICAgICAgICAgdyA9IFBPUCgpOwotICAgICAgICAgICAgICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHYsIHBvc2RlZmF1bHRzLCB3KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5RnVuY3Rpb25fU2V0RGVmYXVsdHMoeCwgdikgIT0gMCkgewotICAgICAgICAgICAgICAgICAgICAvKiBDYW4ndCBoYXBwZW4gdW5sZXNzCi0gICAgICAgICAgICAgICAgICAgICAgIFB5RnVuY3Rpb25fU2V0RGVmYXVsdHMgY2hhbmdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHggIT0gTlVMTCAmJiBrd2RlZmF1bHRzID4gMCkgewotICAgICAgICAgICAgICAgIHYgPSBQeURpY3RfTmV3KCk7Ci0gICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7Ci0gICAgICAgICAgICAgICAgICAgIHggPSBOVUxMOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGlmIChrd2RlZmF1bHRzID4gMCkgeworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpkZWZzID0gUHlEaWN0X05ldygpOworICAgICAgICAgICAgICAgIGlmIChkZWZzID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGZ1bmMpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB3aGlsZSAoLS1rd2RlZmF1bHRzID49IDApIHsKLSAgICAgICAgICAgICAgICAgICAgdyA9IFBPUCgpOyAvKiBkZWZhdWx0IHZhbHVlICovCi0gICAgICAgICAgICAgICAgICAgIHUgPSBQT1AoKTsgLyoga3cgb25seSBhcmcgbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAvKiBYWFgobm5vcndpdHopOiBjaGVjayBmb3IgZXJyb3JzICovCi0gICAgICAgICAgICAgICAgICAgIFB5RGljdF9TZXRJdGVtKHYsIHUsIHcpOwotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodyk7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKKyAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQT1AoKTsgLyogZGVmYXVsdCB2YWx1ZSAqLworICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqa2V5ID0gUE9QKCk7IC8qIGt3IG9ubHkgYXJnIG5hbWUgKi8KKyAgICAgICAgICAgICAgICAgICAgaW50IGVyciA9IFB5RGljdF9TZXRJdGVtKGRlZnMsIGtleSwgdik7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChlcnIgIT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGRlZnMpOworICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGZ1bmMpOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlGdW5jdGlvbl9TZXRLd0RlZmF1bHRzKHgsIHYpICE9IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoUHlGdW5jdGlvbl9TZXRLd0RlZmF1bHRzKGZ1bmMsIGRlZnMpICE9IDApIHsKICAgICAgICAgICAgICAgICAgICAgLyogQ2FuJ3QgaGFwcGVuIHVubGVzcwogICAgICAgICAgICAgICAgICAgICAgICBQeUZ1bmN0aW9uX1NldEt3RGVmYXVsdHMgY2hhbmdlcy4gKi8KLSAgICAgICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGZ1bmMpOworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZGVmcyk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2KTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZGVmcyk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQVVNIKHgpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAocG9zZGVmYXVsdHMgPiAwKSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmRlZnMgPSBQeVR1cGxlX05ldyhwb3NkZWZhdWx0cyk7CisgICAgICAgICAgICAgICAgaWYgKGRlZnMgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHdoaWxlICgtLXBvc2RlZmF1bHRzID49IDApCisgICAgICAgICAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oZGVmcywgcG9zZGVmYXVsdHMsIFBPUCgpKTsKKyAgICAgICAgICAgICAgICBpZiAoUHlGdW5jdGlvbl9TZXREZWZhdWx0cyhmdW5jLCBkZWZzKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgICAgIC8qIENhbid0IGhhcHBlbiB1bmxlc3MKKyAgICAgICAgICAgICAgICAgICAgICAgUHlGdW5jdGlvbl9TZXREZWZhdWx0cyBjaGFuZ2VzLiAqLworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZGVmcyk7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGRlZnMpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUFVTSChmdW5jKTsKKyAgICAgICAgICAgIERJU1BBVENIKCk7CiAgICAgICAgIH0KIAotICAgICAgICBUQVJHRVQoQlVJTERfU0xJQ0UpCisgICAgICAgIFRBUkdFVChCVUlMRF9TTElDRSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnN0YXJ0LCAqc3RvcCwgKnN0ZXAsICpzbGljZTsKICAgICAgICAgICAgIGlmIChvcGFyZyA9PSAzKQotICAgICAgICAgICAgICAgIHcgPSBQT1AoKTsKKyAgICAgICAgICAgICAgICBzdGVwID0gUE9QKCk7CiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdyA9IE5VTEw7Ci0gICAgICAgICAgICB2ID0gUE9QKCk7Ci0gICAgICAgICAgICB1ID0gVE9QKCk7Ci0gICAgICAgICAgICB4ID0gUHlTbGljZV9OZXcodSwgdiwgdyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKHcpOwotICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIGlmICh4ICE9IE5VTEwpIERJU1BBVENIKCk7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBzdGVwID0gTlVMTDsKKyAgICAgICAgICAgIHN0b3AgPSBQT1AoKTsKKyAgICAgICAgICAgIHN0YXJ0ID0gVE9QKCk7CisgICAgICAgICAgICBzbGljZSA9IFB5U2xpY2VfTmV3KHN0YXJ0LCBzdG9wLCBzdGVwKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdGFydCk7CisgICAgICAgICAgICBQeV9ERUNSRUYoc3RvcCk7CisgICAgICAgICAgICBQeV9YREVDUkVGKHN0ZXApOworICAgICAgICAgICAgU0VUX1RPUChzbGljZSk7CisgICAgICAgICAgICBpZiAoc2xpY2UgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgRElTUEFUQ0goKTsKKyAgICAgICAgfQogCi0gICAgICAgIFRBUkdFVChFWFRFTkRFRF9BUkcpCisgICAgICAgIFRBUkdFVChFWFRFTkRFRF9BUkcpIHsKICAgICAgICAgICAgIG9wY29kZSA9IE5FWFRPUCgpOwogICAgICAgICAgICAgb3BhcmcgPSBvcGFyZzw8MTYgfCBORVhUQVJHKCk7CiAgICAgICAgICAgICBnb3RvIGRpc3BhdGNoX29wY29kZTsKKyAgICAgICAgfQogCiAjaWYgVVNFX0NPTVBVVEVEX0dPVE9TCiAgICAgICAgIF91bmtub3duX29wY29kZToKQEAgLTI4NTgsOCArMjk4MCw3IEBACiAgICAgICAgICAgICAgICAgUHlGcmFtZV9HZXRMaW5lTnVtYmVyKGYpLAogICAgICAgICAgICAgICAgIG9wY29kZSk7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJ1bmtub3duIG9wY29kZSIpOwotICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZ290byBlcnJvcjsKIAogI2lmZGVmIENBU0VfVE9PX0JJRwogICAgICAgICB9CkBAIC0yODY3LDcxICsyOTg4LDMxIEBACiAKICAgICAgICAgfSAvKiBzd2l0Y2ggKi8KIAotICAgICAgICBvbl9lcnJvcjoKKyAgICAgICAgLyogVGhpcyBzaG91bGQgbmV2ZXIgYmUgcmVhY2hlZC4gRXZlcnkgb3Bjb2RlIHNob3VsZCBlbmQgd2l0aCBESVNQQVRDSCgpCisgICAgICAgICAgIG9yIGdvdG8gZXJyb3IuICovCisgICAgICAgIGFzc2VydCgwKTsKIAorZXJyb3I6CiAgICAgICAgIFJFQURfVElNRVNUQU1QKGluc3QxKTsKIAotICAgICAgICAvKiBRdWlja2x5IGNvbnRpbnVlIGlmIG5vIGVycm9yIG9jY3VycmVkICovCisgICAgICAgIGFzc2VydCh3aHkgPT0gV0hZX05PVCk7CisgICAgICAgIHdoeSA9IFdIWV9FWENFUFRJT047CiAKLSAgICAgICAgaWYgKHdoeSA9PSBXSFlfTk9UKSB7Ci0gICAgICAgICAgICBpZiAoZXJyID09IDAgJiYgeCAhPSBOVUxMKSB7Ci0jaWZkZWYgQ0hFQ0tFWEMKLSAgICAgICAgICAgICAgICAvKiBUaGlzIGNoZWNrIGlzIGV4cGVuc2l2ZSEgKi8KLSAgICAgICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiWFhYIHVuZGV0ZWN0ZWQgZXJyb3JcbiIpOwotICAgICAgICAgICAgICAgIGVsc2UgewotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgIFJFQURfVElNRVNUQU1QKGxvb3AxKTsKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7IC8qIE5vcm1hbCwgZmFzdCBwYXRoICovCi0jaWZkZWYgQ0hFQ0tFWEMKLSAgICAgICAgICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHdoeSA9IFdIWV9FWENFUFRJT047Ci0gICAgICAgICAgICB4ID0gUHlfTm9uZTsKLSAgICAgICAgICAgIGVyciA9IDA7Ci0gICAgICAgIH0KKyAgICAgICAgLyogRG91YmxlLWNoZWNrIGV4Y2VwdGlvbiBzdGF0dXMuICovCisgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXJyb3IgcmV0dXJuIHdpdGhvdXQgZXhjZXB0aW9uIHNldCIpOwogCi0gICAgICAgIC8qIERvdWJsZS1jaGVjayBleGNlcHRpb24gc3RhdHVzICovCisgICAgICAgIC8qIExvZyB0cmFjZWJhY2sgaW5mby4gKi8KKyAgICAgICAgUHlUcmFjZUJhY2tfSGVyZShmKTsKIAotICAgICAgICBpZiAod2h5ID09IFdIWV9FWENFUFRJT04gfHwgd2h5ID09IFdIWV9SRVJBSVNFKSB7Ci0gICAgICAgICAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICJlcnJvciByZXR1cm4gd2l0aG91dCBleGNlcHRpb24gc2V0Iik7Ci0gICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotI2lmZGVmIENIRUNLRVhDCi0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgLyogVGhpcyBjaGVjayBpcyBleHBlbnNpdmUhICovCi0gICAgICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICAgICAgICAgIGNoYXIgYnVmWzEyOF07Ci0gICAgICAgICAgICAgICAgc3ByaW50ZihidWYsICJTdGFjayB1bndpbmQgd2l0aCBleGNlcHRpb24gIgotICAgICAgICAgICAgICAgICAgICAic2V0IGFuZCB3aHk9JWQiLCB3aHkpOwotICAgICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoYnVmKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotI2VuZGlmCi0KLSAgICAgICAgLyogTG9nIHRyYWNlYmFjayBpbmZvIGlmIHRoaXMgaXMgYSByZWFsIGV4Y2VwdGlvbiAqLwotCi0gICAgICAgIGlmICh3aHkgPT0gV0hZX0VYQ0VQVElPTikgewotICAgICAgICAgICAgUHlUcmFjZUJhY2tfSGVyZShmKTsKLQotICAgICAgICAgICAgaWYgKHRzdGF0ZS0+Y190cmFjZWZ1bmMgIT0gTlVMTCkKLSAgICAgICAgICAgICAgICBjYWxsX2V4Y190cmFjZSh0c3RhdGUtPmNfdHJhY2VmdW5jLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRzdGF0ZS0+Y190cmFjZW9iaiwgZik7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBGb3IgdGhlIHJlc3QsIHRyZWF0IFdIWV9SRVJBSVNFIGFzIFdIWV9FWENFUFRJT04gKi8KLQotICAgICAgICBpZiAod2h5ID09IFdIWV9SRVJBSVNFKQotICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKLQotICAgICAgICAvKiBVbndpbmQgc3RhY2tzIGlmIGEgKHBzZXVkbykgZXhjZXB0aW9uIG9jY3VycmVkICovCisgICAgICAgIGlmICh0c3RhdGUtPmNfdHJhY2VmdW5jICE9IE5VTEwpCisgICAgICAgICAgICBjYWxsX2V4Y190cmFjZSh0c3RhdGUtPmNfdHJhY2VmdW5jLCB0c3RhdGUtPmNfdHJhY2VvYmosIGYpOwogCiBmYXN0X2Jsb2NrX2VuZDoKKyAgICAgICAgYXNzZXJ0KHdoeSAhPSBXSFlfTk9UKTsKKworICAgICAgICAvKiBVbndpbmQgc3RhY2tzIGlmIGEgKHBzZXVkbykgZXhjZXB0aW9uIG9jY3VycmVkICovCiAgICAgICAgIHdoaWxlICh3aHkgIT0gV0hZX05PVCAmJiBmLT5mX2libG9jayA+IDApIHsKICAgICAgICAgICAgIC8qIFBlZWsgYXQgdGhlIGN1cnJlbnQgYmxvY2suICovCiAgICAgICAgICAgICBQeVRyeUJsb2NrICpiID0gJmYtPmZfYmxvY2tzdGFja1tmLT5mX2libG9jayAtIDFdOwpAQCAtMzAxNSw4ICszMDk2LDggQEAKICAgICBhc3NlcnQod2h5ICE9IFdIWV9ZSUVMRCk7CiAgICAgLyogUG9wIHJlbWFpbmluZyBzdGFjayBlbnRyaWVzLiAqLwogICAgIHdoaWxlICghRU1QVFkoKSkgewotICAgICAgICB2ID0gUE9QKCk7Ci0gICAgICAgIFB5X1hERUNSRUYodik7CisgICAgICAgIFB5T2JqZWN0ICpvID0gUE9QKCk7CisgICAgICAgIFB5X1hERUNSRUYobyk7CiAgICAgfQogCiAgICAgaWYgKHdoeSAhPSBXSFlfUkVUVVJOKQpAQCAtMzUxNiw3ICszNTk3LDcgQEAKIAogLyogTG9naWMgZm9yIHRoZSByYWlzZSBzdGF0ZW1lbnQgKHRvbyBjb21wbGljYXRlZCBmb3IgaW5saW5pbmcpLgogICAgVGhpcyAqY29uc3VtZXMqIGEgcmVmZXJlbmNlIGNvdW50IHRvIGVhY2ggb2YgaXRzIGFyZ3VtZW50cy4gKi8KLXN0YXRpYyBlbnVtIHdoeV9jb2RlCitzdGF0aWMgaW50CiBkb19yYWlzZShQeU9iamVjdCAqZXhjLCBQeU9iamVjdCAqY2F1c2UpCiB7CiAgICAgUHlPYmplY3QgKnR5cGUgPSBOVUxMLCAqdmFsdWUgPSBOVUxMOwpAQCAtMzUzMSwxMyArMzYxMiwxMyBAQAogICAgICAgICBpZiAodHlwZSA9PSBQeV9Ob25lKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBhY3RpdmUgZXhjZXB0aW9uIHRvIHJlcmFpc2UiKTsKLSAgICAgICAgICAgIHJldHVybiBXSFlfRVhDRVBUSU9OOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAgICAgICAgUHlfWElOQ1JFRih0eXBlKTsKICAgICAgICAgUHlfWElOQ1JFRih2YWx1ZSk7CiAgICAgICAgIFB5X1hJTkNSRUYodGIpOwogICAgICAgICBQeUVycl9SZXN0b3JlKHR5cGUsIHZhbHVlLCB0Yik7Ci0gICAgICAgIHJldHVybiBXSFlfUkVSQUlTRTsKKyAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCiAgICAgLyogV2Ugc3VwcG9ydCB0aGUgZm9sbG93aW5nIGZvcm1zIG9mIHJhaXNlOgpAQCAtMzYwMCwxMyArMzY4MSwxMyBAQAogICAgIC8qIFB5RXJyX1NldE9iamVjdCBpbmNyZWYncyBpdHMgYXJndW1lbnRzICovCiAgICAgUHlfWERFQ1JFRih2YWx1ZSk7CiAgICAgUHlfWERFQ1JFRih0eXBlKTsKLSAgICByZXR1cm4gV0hZX0VYQ0VQVElPTjsKKyAgICByZXR1cm4gMDsKIAogcmFpc2VfZXJyb3I6CiAgICAgUHlfWERFQ1JFRih2YWx1ZSk7CiAgICAgUHlfWERFQ1JFRih0eXBlKTsKICAgICBQeV9YREVDUkVGKGNhdXNlKTsKLSAgICByZXR1cm4gV0hZX0VYQ0VQVElPTjsKKyAgICByZXR1cm4gMDsKIH0KIAogLyogSXRlcmF0ZSB2IGFyZ2NudCB0aW1lcyBhbmQgc3RvcmUgdGhlIHJlc3VsdHMgb24gdGhlIHN0YWNrICh2aWEgZGVjcmVhc2luZwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2NvZGVjcy5jIGIvUHl0aG9uL2NvZGVjcy5jCmluZGV4IGZkNjdkMWIuLjhkOWNlNmYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb2RlY3MuYworKysgYi9QeXRob24vY29kZWNzLmMKQEAgLTc2MSw3ICs3NjEsNyBAQAogICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7CiAgICAgICAgICAgICAvKiBvYmplY3QgaXMgZ3VhcmFudGVlZCB0byBiZSAicmVhZHkiICovCiAgICAgICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQURfQ0hBUihvYmplY3QsIGkpOwotICAgICAgICAgICAgaWYgKGNoIDwgMHhkODAwIHx8IGNoID4gMHhkZmZmKSB7CisgICAgICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNfU1VSUk9HQVRFKGNoKSkgewogICAgICAgICAgICAgICAgIC8qIE5vdCBhIHN1cnJvZ2F0ZSwgZmFpbCB3aXRoIG9yaWdpbmFsIGV4Y2VwdGlvbiAqLwogICAgICAgICAgICAgICAgIFB5RXJyX1NldE9iamVjdChQeUV4Y2VwdGlvbkluc3RhbmNlX0NsYXNzKGV4YyksIGV4Yyk7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7CkBAIC03OTcsNyArNzk3LDcgQEAKICAgICAgICAgICAgIChwWzJdICYgMHhjMCkgPT0gMHg4MCkgewogICAgICAgICAgICAgLyogaXQncyBhIHRocmVlLWJ5dGUgY29kZSAqLwogICAgICAgICAgICAgY2ggPSAoKHBbMF0gJiAweDBmKSA8PCAxMikgKyAoKHBbMV0gJiAweDNmKSA8PCA2KSArIChwWzJdICYgMHgzZik7Ci0gICAgICAgICAgICBpZiAoY2ggPCAweGQ4MDAgfHwgY2ggPiAweGRmZmYpCisgICAgICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNfU1VSUk9HQVRFKGNoKSkKICAgICAgICAgICAgICAgICAvKiBpdCdzIG5vdCBhIHN1cnJvZ2F0ZSAtIGZhaWwgKi8KICAgICAgICAgICAgICAgICBjaCA9IDA7CiAgICAgICAgIH0KQEAgLTEwMjYsNyArMTAyNiw3IEBACiAKICAgICBpZiAoaW50ZXJwLT5jb2RlY19lcnJvcl9yZWdpc3RyeSkgewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUHlfQVJSQVlfTEVOR1RIKG1ldGhvZHMpOyArK2kpIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpmdW5jID0gUHlDRnVuY3Rpb25fTmV3KCZtZXRob2RzW2ldLmRlZiwgTlVMTCk7CisgICAgICAgICAgICBQeU9iamVjdCAqZnVuYyA9IFB5Q0Z1bmN0aW9uX05ld0V4KCZtZXRob2RzW2ldLmRlZiwgTlVMTCwgTlVMTCk7CiAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgaWYgKCFmdW5jKQogICAgICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoImNhbid0IGluaXRpYWxpemUgY29kZWMgZXJyb3IgcmVnaXN0cnkiKTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9jb21waWxlLmMgYi9QeXRob24vY29tcGlsZS5jCmluZGV4IGRkNDI2MmMuLjUyZTgxODggMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb21waWxlLmMKKysrIGIvUHl0aG9uL2NvbXBpbGUuYwpAQCAtMTUwMSwxNSArMTUwMSwxNSBAQAogCiAgICAgaWYgKGNvbXBpbGVyX3Zpc2l0X2FyZ2Fubm90YXRpb25zKGMsIGFyZ3MtPmFyZ3MsIG5hbWVzKSkKICAgICAgICAgZ290byBlcnJvcjsKLSAgICBpZiAoYXJncy0+dmFyYXJnYW5ub3RhdGlvbiAmJgotICAgICAgICBjb21waWxlcl92aXNpdF9hcmdhbm5vdGF0aW9uKGMsIGFyZ3MtPnZhcmFyZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT52YXJhcmdhbm5vdGF0aW9uLCBuYW1lcykpCisgICAgaWYgKGFyZ3MtPnZhcmFyZyAmJiBhcmdzLT52YXJhcmctPmFubm90YXRpb24gJiYKKyAgICAgICAgY29tcGlsZXJfdmlzaXRfYXJnYW5ub3RhdGlvbihjLCBhcmdzLT52YXJhcmctPmFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT52YXJhcmctPmFubm90YXRpb24sIG5hbWVzKSkKICAgICAgICAgZ290byBlcnJvcjsKICAgICBpZiAoY29tcGlsZXJfdmlzaXRfYXJnYW5ub3RhdGlvbnMoYywgYXJncy0+a3dvbmx5YXJncywgbmFtZXMpKQogICAgICAgICBnb3RvIGVycm9yOwotICAgIGlmIChhcmdzLT5rd2FyZ2Fubm90YXRpb24gJiYKLSAgICAgICAgY29tcGlsZXJfdmlzaXRfYXJnYW5ub3RhdGlvbihjLCBhcmdzLT5rd2FyZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5rd2FyZ2Fubm90YXRpb24sIG5hbWVzKSkKKyAgICBpZiAoYXJncy0+a3dhcmcgJiYgYXJncy0+a3dhcmctPmFubm90YXRpb24gJiYKKyAgICAgICAgY29tcGlsZXJfdmlzaXRfYXJnYW5ub3RhdGlvbihjLCBhcmdzLT5rd2FyZy0+YXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MtPmt3YXJnLT5hbm5vdGF0aW9uLCBuYW1lcykpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICBpZiAoIXJldHVybl9zdHIpIHsKQEAgLTE1NjgsNiArMTU2OCw4IEBACiAKICAgICBpZiAoIWNvbXBpbGVyX2RlY29yYXRvcnMoYywgZGVjb3MpKQogICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoYXJncy0+ZGVmYXVsdHMpCisgICAgICAgIFZJU0lUX1NFUShjLCBleHByLCBhcmdzLT5kZWZhdWx0cyk7CiAgICAgaWYgKGFyZ3MtPmt3b25seWFyZ3MpIHsKICAgICAgICAgaW50IHJlcyA9IGNvbXBpbGVyX3Zpc2l0X2t3b25seWRlZmF1bHRzKGMsIGFyZ3MtPmt3b25seWFyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5rd19kZWZhdWx0cyk7CkBAIC0xNTc1LDggKzE1NzcsNiBAQAogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGt3X2RlZmF1bHRfY291bnQgPSByZXM7CiAgICAgfQotICAgIGlmIChhcmdzLT5kZWZhdWx0cykKLSAgICAgICAgVklTSVRfU0VRKGMsIGV4cHIsIGFyZ3MtPmRlZmF1bHRzKTsKICAgICBudW1fYW5ub3RhdGlvbnMgPSBjb21waWxlcl92aXNpdF9hbm5vdGF0aW9ucyhjLCBhcmdzLCByZXR1cm5zKTsKICAgICBpZiAobnVtX2Fubm90YXRpb25zIDwgMCkKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNzk3LDE0ICsxNzk3LDE0IEBACiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKKyAgICBpZiAoYXJncy0+ZGVmYXVsdHMpCisgICAgICAgIFZJU0lUX1NFUShjLCBleHByLCBhcmdzLT5kZWZhdWx0cyk7CiAgICAgaWYgKGFyZ3MtPmt3b25seWFyZ3MpIHsKICAgICAgICAgaW50IHJlcyA9IGNvbXBpbGVyX3Zpc2l0X2t3b25seWRlZmF1bHRzKGMsIGFyZ3MtPmt3b25seWFyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLT5rd19kZWZhdWx0cyk7CiAgICAgICAgIGlmIChyZXMgPCAwKSByZXR1cm4gMDsKICAgICAgICAga3dfZGVmYXVsdF9jb3VudCA9IHJlczsKICAgICB9Ci0gICAgaWYgKGFyZ3MtPmRlZmF1bHRzKQotICAgICAgICBWSVNJVF9TRVEoYywgZXhwciwgYXJncy0+ZGVmYXVsdHMpOwogICAgIGlmICghY29tcGlsZXJfZW50ZXJfc2NvcGUoYywgbmFtZSwgQ09NUElMRVJfU0NPUEVfRlVOQ1RJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKWUsIGUtPmxpbmVubykpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMjYzOCw2ICsyNjM4LDEwIEBACiAgICAgaWYgKCFtYW5nbGVkKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGFzc2VydChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhuYW1lLCAiTm9uZSIpICYmCisgICAgICAgICAgIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKG5hbWUsICJUcnVlIikgJiYKKyAgICAgICAgICAgUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcobmFtZSwgIkZhbHNlIikpOworCiAgICAgb3AgPSAwOwogICAgIG9wdHlwZSA9IE9QX05BTUU7CiAgICAgc2NvcGUgPSBQeVNUX0dldFNjb3BlKGMtPnUtPnVfc3RlLCBtYW5nbGVkKTsKQEAgLTMxOTcsMTIgKzMyMDEsMTggQEAKICAgICBjYXNlIE5hbWVfa2luZDoKICAgICAgICAgLyogb3B0aW1pemUgYXdheSBuYW1lcyB0aGF0IGNhbid0IGJlIHJlYXNzaWduZWQgKi8KICAgICAgICAgaWQgPSBQeVVuaWNvZGVfQXNVVEY4KGUtPnYuTmFtZS5pZCk7Ci0gICAgICAgIGlmIChzdHJjbXAoaWQsICJUcnVlIikgPT0gMCkgcmV0dXJuIDE7Ci0gICAgICAgIGlmIChzdHJjbXAoaWQsICJGYWxzZSIpID09IDApIHJldHVybiAwOwotICAgICAgICBpZiAoc3RyY21wKGlkLCAiTm9uZSIpID09IDApIHJldHVybiAwOwotICAgICAgICBpZiAoc3RyY21wKGlkLCAiX19kZWJ1Z19fIikgPT0gMCkKLSAgICAgICAgICAgIHJldHVybiAhIGMtPmNfb3B0aW1pemU7Ci0gICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAgICAgICBpZiAoaWQgJiYgc3RyY21wKGlkLCAiX19kZWJ1Z19fIikgPT0gMCkKKyAgICAgICAgICAgIHJldHVybiAhYy0+Y19vcHRpbWl6ZTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGNhc2UgTmFtZUNvbnN0YW50X2tpbmQ6IHsKKyAgICAgICAgUHlPYmplY3QgKm8gPSBlLT52Lk5hbWVDb25zdGFudC52YWx1ZTsKKyAgICAgICAgaWYgKG8gPT0gUHlfTm9uZSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBlbHNlIGlmIChvID09IFB5X1RydWUpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgZWxzZSBpZiAobyA9PSBQeV9GYWxzZSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtMzM3OCw2ICszMzg4LDkgQEAKICAgICBjYXNlIEVsbGlwc2lzX2tpbmQ6CiAgICAgICAgIEFERE9QX08oYywgTE9BRF9DT05TVCwgUHlfRWxsaXBzaXMsIGNvbnN0cyk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgTmFtZUNvbnN0YW50X2tpbmQ6CisgICAgICAgIEFERE9QX08oYywgTE9BRF9DT05TVCwgZS0+di5OYW1lQ29uc3RhbnQudmFsdWUsIGNvbnN0cyk7CisgICAgICAgIGJyZWFrOwogICAgIC8qIFRoZSBmb2xsb3dpbmcgZXhwcnMgY2FuIGJlIGFzc2lnbm1lbnQgdGFyZ2V0cy4gKi8KICAgICBjYXNlIEF0dHJpYnV0ZV9raW5kOgogICAgICAgICBpZiAoZS0+di5BdHRyaWJ1dGUuY3R4ICE9IEF1Z1N0b3JlKQpkaWZmIC0tZ2l0IGEvUHl0aG9uL2NvbmR2YXIuaCBiL1B5dGhvbi9jb25kdmFyLmgKaW5kZXggYmJiNDBiYS4uZTAyMmRjNyAxMDA2NDQKLS0tIGEvUHl0aG9uL2NvbmR2YXIuaAorKysgYi9QeXRob24vY29uZHZhci5oCkBAIC0yNDEsNyArMjQxLDcgQEAKICAgICAgKiBidXQgd2UgYXJlIHNhZmUgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgYSBzZW1hcGhvcmUgd2ljaCBoYXMgYW4gaW50ZXJuYWwKICAgICAgKiBjb3VudC4KICAgICAgKi8KLSAgICB3YWl0ID0gV2FpdEZvclNpbmdsZU9iamVjdChjdi0+c2VtLCBtcyk7CisgICAgd2FpdCA9IFdhaXRGb3JTaW5nbGVPYmplY3RFeChjdi0+c2VtLCBtcywgRkFMU0UpOwogICAgIFB5TVVURVhfTE9DSyhjcyk7CiAgICAgaWYgKHdhaXQgIT0gV0FJVF9PQkpFQ1RfMCkKICAgICAgICAgLS1jdi0+d2FpdGluZzsKZGlmZiAtLWdpdCBhL1B5dGhvbi9keW5sb2FkX29zMi5jIGIvUHl0aG9uL2R5bmxvYWRfb3MyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBlMWI5MDcuLjAwMDAwMDAKLS0tIGEvUHl0aG9uL2R5bmxvYWRfb3MyLmMKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0KLS8qIFN1cHBvcnQgZm9yIGR5bmFtaWMgbG9hZGluZyBvZiBleHRlbnNpb24gbW9kdWxlcyAqLwotCi0jZGVmaW5lICBJTkNMX0RPU0VSUk9SUwotI2RlZmluZSAgSU5DTF9ET1NNT0RVTEVNR1IKLSNpbmNsdWRlIDxvczIuaD4KLQotI2luY2x1ZGUgIlB5dGhvbi5oIgotI2luY2x1ZGUgImltcG9ydGRsLmgiCi0KLQotY29uc3QgY2hhciAqX1B5SW1wb3J0X0R5bkxvYWRGaWxldGFiW10gPSB7Ii5weWQiLCAiLmRsbCIsIE5VTEx9OwotCi1kbF9mdW5jcHRyIF9QeUltcG9ydF9HZXREeW5Mb2FkRnVuYyhjb25zdCBjaGFyICpzaG9ydG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRobmFtZSwgRklMRSAqZnApCi17Ci0gICAgZGxfZnVuY3B0ciBwOwotICAgIEFQSVJFVCAgcmM7Ci0gICAgSE1PRFVMRSBoRExMOwotICAgIGNoYXIgZmFpbHJlYXNvblsyNTZdOwotICAgIGNoYXIgZnVuY25hbWVbMjU4XTsKLQotICAgIHJjID0gRG9zTG9hZE1vZHVsZShmYWlscmVhc29uLAotICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoZmFpbHJlYXNvbiksCi0gICAgICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAmaERMTCk7Ci0KLSAgICBpZiAocmMgIT0gTk9fRVJST1IpIHsKLSAgICAgICAgY2hhciBlcnJCdWZbMjU2XTsKLSAgICAgICAgUHlPU19zbnByaW50ZihlcnJCdWYsIHNpemVvZihlcnJCdWYpLAotICAgICAgICAgICAgICAgICAgICAgICJETEwgbG9hZCBmYWlsZWQsIHJjID0gJWQ6ICUuMjAwcyIsCi0gICAgICAgICAgICAgICAgICAgICAgcmMsIGZhaWxyZWFzb24pOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW1wb3J0RXJyb3IsIGVyckJ1Zik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIFB5T1Nfc25wcmludGYoZnVuY25hbWUsIHNpemVvZihmdW5jbmFtZSksICJQeUluaXRfJS4yMDBzIiwgc2hvcnRuYW1lKTsKLSAgICByYyA9IERvc1F1ZXJ5UHJvY0FkZHIoaERMTCwgMEwsIGZ1bmNuYW1lLCAmcCk7Ci0gICAgaWYgKHJjICE9IE5PX0VSUk9SKQotICAgICAgICBwID0gTlVMTDsgLyogU2lnbmlmeSBGYWlsdXJlIHRvIEFjcXVpcmUgRW50cnlwb2ludCAqLwotICAgIHJldHVybiBwOwotfQpkaWZmIC0tZ2l0IGEvUHl0aG9uL2R5bmxvYWRfc2hsaWIuYyBiL1B5dGhvbi9keW5sb2FkX3NobGliLmMKaW5kZXggMGNhNjVjNy4uNDZmZWQ2ZSAxMDA2NDQKLS0tIGEvUHl0aG9uL2R5bmxvYWRfc2hsaWIuYworKysgYi9QeXRob24vZHlubG9hZF9zaGxpYi5jCkBAIC0xOCwxMCArMTgsNiBAQAogCiAjaWZkZWYgSEFWRV9ETEZDTl9ICiAjaW5jbHVkZSA8ZGxmY24uaD4KLSNlbHNlCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSNpbmNsdWRlICJkbGZjbi5oIgotI2VuZGlmCiAjZW5kaWYKIAogI2lmIChkZWZpbmVkKF9fT3BlbkJTRF9fKSB8fCBkZWZpbmVkKF9fTmV0QlNEX18pKSAmJiAhZGVmaW5lZChfX0VMRl9fKQpAQCAtNDAsMTAgKzM2LDYgQEAKICNpZmRlZiBfX0NZR1dJTl9fCiAgICAgIi5kbGwiLAogI2Vsc2UgIC8qICFfX0NZR1dJTl9fICovCi0jaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKLSAgICAiLnB5ZCIsCi0gICAgIi5kbGwiLAotI2Vsc2UgIC8qICEoZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykpICovCiAjaWZkZWYgX19WTVMKICAgICAiLmV4ZSIsCiAgICAgIi5FWEUiLApAQCAtNTIsNyArNDQsNiBAQAogICAgICIuYWJpIiBQWVRIT05fQUJJX1NUUklORyAiLnNvIiwKICAgICAiLnNvIiwKICNlbmRpZiAgLyogX19WTVMgKi8KLSNlbmRpZiAgLyogZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykgKi8KICNlbmRpZiAgLyogX19DWUdXSU5fXyAqLwogICAgIE5VTEwsCiB9OwpAQCAtMTExLDkgKzEwMiw3IEBACiAgICAgICAgIH0KICAgICB9CiAKLSNpZiAhKGRlZmluZWQoUFlPU19PUzIpICYmIGRlZmluZWQoUFlDQ19HQ0MpKQogICAgIGRsb3BlbmZsYWdzID0gUHlUaHJlYWRTdGF0ZV9HRVQoKS0+aW50ZXJwLT5kbG9wZW5mbGFnczsKLSNlbmRpZgogCiAjaWZkZWYgX19WTVMKICAgICAvKiBWTVMgY3VycmVudGx5IGRvbid0IGFsbG93IGEgcGF0aG5hbWUsIHVzZSBhIGxvZ2ljYWwgbmFtZSBpbnN0ZWFkICovCkBAIC0xMjksMTkgKzExOCwzMCBAQAogICAgIGhhbmRsZSA9IGRsb3BlbihwYXRobmFtZSwgZGxvcGVuZmxhZ3MpOwogCiAgICAgaWYgKGhhbmRsZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5T2JqZWN0ICptb2RfbmFtZSA9IE5VTEw7Ci0gICAgICAgIFB5T2JqZWN0ICpwYXRoID0gTlVMTDsKLSAgICAgICAgUHlPYmplY3QgKmVycm9yX29iID0gTlVMTDsKKyAgICAgICAgUHlPYmplY3QgKm1vZF9uYW1lOworICAgICAgICBQeU9iamVjdCAqcGF0aDsKKyAgICAgICAgUHlPYmplY3QgKmVycm9yX29iOwogICAgICAgICBjb25zdCBjaGFyICplcnJvciA9IGRsZXJyb3IoKTsKICAgICAgICAgaWYgKGVycm9yID09IE5VTEwpCiAgICAgICAgICAgICBlcnJvciA9ICJ1bmtub3duIGRsb3BlbigpIGVycm9yIjsKICAgICAgICAgZXJyb3Jfb2IgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhlcnJvcik7Ci0gICAgICAgIHBhdGggPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhwYXRobmFtZSk7CisgICAgICAgIGlmIChlcnJvcl9vYiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIG1vZF9uYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoc2hvcnRuYW1lKTsKKyAgICAgICAgaWYgKG1vZF9uYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihlcnJvcl9vYik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBwYXRoID0gUHlVbmljb2RlX0Zyb21TdHJpbmcocGF0aG5hbWUpOworICAgICAgICBpZiAocGF0aCA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoZXJyb3Jfb2IpOworICAgICAgICAgICAgUHlfREVDUkVGKG1vZF9uYW1lKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAgICAgICAgIFB5RXJyX1NldEltcG9ydEVycm9yKGVycm9yX29iLCBtb2RfbmFtZSwgcGF0aCk7Ci0gICAgICAgIFB5X1hERUNSRUYoZXJyb3Jfb2IpOwotICAgICAgICBQeV9YREVDUkVGKHBhdGgpOwotICAgICAgICBQeV9YREVDUkVGKG1vZF9uYW1lKTsKKyAgICAgICAgUHlfREVDUkVGKGVycm9yX29iKTsKKyAgICAgICAgUHlfREVDUkVGKG1vZF9uYW1lKTsKKyAgICAgICAgUHlfREVDUkVGKHBhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKGZwICE9IE5VTEwgJiYgbmhhbmRsZXMgPCAxMjgpCmRpZmYgLS1naXQgYS9QeXRob24vZXJyb3JzLmMgYi9QeXRob24vZXJyb3JzLmMKaW5kZXggNjI2YjE2ZS4uMWY5NTViNSAxMDA2NDQKLS0tIGEvUHl0aG9uL2Vycm9ycy5jCisrKyBiL1B5dGhvbi9lcnJvcnMuYwpAQCAtNTg4LDcgKzU4OCw3IEBACiAKIFB5T2JqZWN0ICpQeUVycl9TZXRGcm9tV2luZG93c0VycihpbnQgaWVycikKIHsKLSAgICByZXR1cm4gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnJXaXRoRmlsZW5hbWUoUHlFeGNfV2luZG93c0Vycm9yLAorICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZShQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZXJyLCBOVUxMKTsKIH0KIFB5T2JqZWN0ICpQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZSgKQEAgLTU5Nyw3ICs1OTcsNyBAQAogewogICAgIFB5T2JqZWN0ICpuYW1lID0gZmlsZW5hbWUgPyBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGZpbGVuYW1lKSA6IE5VTEw7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyV2l0aEZpbGVuYW1lT2JqZWN0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUV4Y19XaW5kb3dzRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGllcnIsIG5hbWUpOwogICAgIFB5X1hERUNSRUYobmFtZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTYxMSw3ICs2MTEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21Vbmljb2RlKGZpbGVuYW1lLCB3Y3NsZW4oZmlsZW5hbWUpKSA6CiAgICAgICAgICAgICAgTlVMTDsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnJXaXRoRmlsZW5hbWVPYmplY3QoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWVyciwgbmFtZSk7CiAgICAgUHlfWERFQ1JFRihuYW1lKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNzk4LDcgKzc5OCwxMiBAQAogICAgIFB5RXJyX0ZldGNoKCZ0LCAmdiwgJnRiKTsKICAgICBmID0gUHlTeXNfR2V0T2JqZWN0KCJzdGRlcnIiKTsKICAgICBpZiAoZiAhPSBOVUxMICYmIGYgIT0gUHlfTm9uZSkgewotICAgICAgICBQeUZpbGVfV3JpdGVTdHJpbmcoIkV4Y2VwdGlvbiAiLCBmKTsKKyAgICAgICAgaWYgKG9iaikgeworICAgICAgICAgICAgUHlGaWxlX1dyaXRlU3RyaW5nKCJFeGNlcHRpb24gaWdub3JlZCBpbjogIiwgZik7CisgICAgICAgICAgICBQeUZpbGVfV3JpdGVPYmplY3Qob2JqLCBmLCAwKTsKKyAgICAgICAgICAgIFB5RmlsZV9Xcml0ZVN0cmluZygiXG4iLCBmKTsKKyAgICAgICAgfQorICAgICAgICBQeVRyYWNlQmFja19QcmludCh0YiwgZik7CiAgICAgICAgIGlmICh0KSB7CiAgICAgICAgICAgICBQeU9iamVjdCogbW9kdWxlTmFtZTsKICAgICAgICAgICAgIGNoYXIqIGNsYXNzTmFtZTsKQEAgLTgyOCwxNSArODMzLDExIEBACiAgICAgICAgICAgICAgICAgUHlGaWxlX1dyaXRlU3RyaW5nKGNsYXNzTmFtZSwgZik7CiAgICAgICAgICAgICBpZiAodiAmJiB2ICE9IFB5X05vbmUpIHsKICAgICAgICAgICAgICAgICBQeUZpbGVfV3JpdGVTdHJpbmcoIjogIiwgZik7Ci0gICAgICAgICAgICAgICAgUHlGaWxlX1dyaXRlT2JqZWN0KHYsIGYsIDApOworICAgICAgICAgICAgICAgIFB5RmlsZV9Xcml0ZU9iamVjdCh2LCBmLCBQeV9QUklOVF9SQVcpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlGaWxlX1dyaXRlU3RyaW5nKCJcbiIsIGYpOwogICAgICAgICAgICAgUHlfWERFQ1JFRihtb2R1bGVOYW1lKTsKICAgICAgICAgfQotICAgICAgICBpZiAob2JqKSB7Ci0gICAgICAgICAgICBQeUZpbGVfV3JpdGVTdHJpbmcoIiBpbiAiLCBmKTsKLSAgICAgICAgICAgIFB5RmlsZV9Xcml0ZU9iamVjdChvYmosIGYsIDApOwotICAgICAgICB9Ci0gICAgICAgIFB5RmlsZV9Xcml0ZVN0cmluZygiIGlnbm9yZWRcbiIsIGYpOwogICAgICAgICBQeUVycl9DbGVhcigpOyAvKiBKdXN0IGluIGNhc2UgKi8KICAgICB9CiAgICAgUHlfWERFQ1JFRih0KTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9maWxldXRpbHMuYyBiL1B5dGhvbi9maWxldXRpbHMuYwppbmRleCBiN2M0MmU4Li4zYzA0ZTQ5IDEwMDY0NAotLS0gYS9QeXRob24vZmlsZXV0aWxzLmMKKysrIGIvUHl0aG9uL2ZpbGV1dGlscy5jCkBAIC02MCw3ICs2MCw3IEBACiAgICB3b3JrYXJvdW5kIGlzIGFsc28gZW5hYmxlZCBvbiBlcnJvciwgZm9yIGV4YW1wbGUgaWYgZ2V0dGluZyB0aGUgbG9jYWxlCiAgICBmYWlsZWQuCiAKLSAgIFZhbHVlcyBvZiBsb2NhbGVfaXNfYXNjaWk6CisgICBWYWx1ZXMgb2YgZm9yY2VfYXNjaWk6CiAKICAgICAgICAxOiB0aGUgd29ya2Fyb3VuZCBpcyB1c2VkOiBfUHlfd2NoYXIyY2hhcigpIHVzZXMKICAgICAgICAgICBlbmNvZGVfYXNjaWlfc3Vycm9nYXRlZXNjYXBlKCkgYW5kIF9QeV9jaGFyMndjaGFyKCkgdXNlcwpAQCAtMjkyLDcgKzI5Miw3IEBACiAgICAgICAgICAgICAvKiBPbmx5IHVzZSB0aGUgcmVzdWx0IGlmIGl0IGNvbnRhaW5zIG5vCiAgICAgICAgICAgICAgICBzdXJyb2dhdGUgY2hhcmFjdGVycy4gKi8KICAgICAgICAgICAgIGZvciAodG1wID0gcmVzOyAqdG1wICE9IDAgJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICAoKnRtcCA8IDB4ZDgwMCB8fCAqdG1wID4gMHhkZmZmKTsgdG1wKyspCisgICAgICAgICAgICAgICAgICAgICAgICAgIVB5X1VOSUNPREVfSVNfU1VSUk9HQVRFKCp0bXApOyB0bXArKykKICAgICAgICAgICAgICAgICA7CiAgICAgICAgICAgICBpZiAoKnRtcCA9PSAwKSB7CiAgICAgICAgICAgICAgICAgaWYgKHNpemUgIT0gTlVMTCkKQEAgLTMzOCw3ICszMzgsNyBAQAogICAgICAgICAgICAgbWVtc2V0KCZtYnMsIDAsIHNpemVvZiBtYnMpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCpvdXQgPj0gMHhkODAwICYmICpvdXQgPD0gMHhkZmZmKSB7CisgICAgICAgIGlmIChQeV9VTklDT0RFX0lTX1NVUlJPR0FURSgqb3V0KSkgewogICAgICAgICAgICAgLyogU3Vycm9nYXRlIGNoYXJhY3Rlci4gIEVzY2FwZSB0aGUgb3JpZ2luYWwKICAgICAgICAgICAgICAgIGJ5dGUgc2VxdWVuY2Ugd2l0aCBzdXJyb2dhdGVlc2NhcGUuICovCiAgICAgICAgICAgICBhcmdzaXplIC09IGNvbnZlcnRlZDsKZGlmZiAtLWdpdCBhL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKaW5kZXggMTdlYjk3OC4uMDA5YmM1ZiAxMDA2NDQKLS0tIGEvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKKysrIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKQEAgLTc1Nyw3ICs3NTcsOCBAQAogICAgICAgICBnb3RvIGRvbmU7CiAgICAgfQogCi0gICAgaWYgKGZvcm1hdC0+d2lkdGggPT0gLTEgJiYgZm9ybWF0LT5wcmVjaXNpb24gPT0gLTEpIHsKKyAgICBpZiAoKGZvcm1hdC0+d2lkdGggPT0gLTEgfHwgZm9ybWF0LT53aWR0aCA8PSBsZW4pCisgICAgICAgICYmIChmb3JtYXQtPnByZWNpc2lvbiA9PSAtMSB8fCBmb3JtYXQtPnByZWNpc2lvbiA+PSBsZW4pKSB7CiAgICAgICAgIC8qIEZhc3QgcGF0aCAqLwogICAgICAgICByZXR1cm4gX1B5VW5pY29kZVdyaXRlcl9Xcml0ZVN0cih3cml0ZXIsIHZhbHVlKTsKICAgICB9CkBAIC03NzAsOSArNzcxLDEzIEBACiAKICAgICBjYWxjX3BhZGRpbmcobGVuLCBmb3JtYXQtPndpZHRoLCBmb3JtYXQtPmFsaWduLCAmbHBhZCwgJnJwYWQsICZ0b3RhbCk7CiAKLSAgICBtYXhjaGFyID0gX1B5VW5pY29kZV9GaW5kTWF4Q2hhcih2YWx1ZSwgMCwgbGVuKTsKKyAgICBtYXhjaGFyID0gd3JpdGVyLT5tYXhjaGFyOwogICAgIGlmIChscGFkICE9IDAgfHwgcnBhZCAhPSAwKQogICAgICAgICBtYXhjaGFyID0gUHlfTUFYKG1heGNoYXIsIGZvcm1hdC0+ZmlsbF9jaGFyKTsKKyAgICBpZiAoUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHZhbHVlKSA+IG1heGNoYXIpIHsKKyAgICAgICAgUHlfVUNTNCB2YWxtYXhjaGFyID0gX1B5VW5pY29kZV9GaW5kTWF4Q2hhcih2YWx1ZSwgMCwgbGVuKTsKKyAgICAgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCB2YWxtYXhjaGFyKTsKKyAgICB9CiAKICAgICAvKiBhbGxvY2F0ZSB0aGUgcmVzdWx0aW5nIHN0cmluZyAqLwogICAgIGlmIChfUHlVbmljb2RlV3JpdGVyX1ByZXBhcmUod3JpdGVyLCB0b3RhbCwgbWF4Y2hhcikgPT0gLTEpCmRpZmYgLS1naXQgYS9QeXRob24vZnJvemVuLmMgYi9QeXRob24vZnJvemVuLmMKaW5kZXggMjVmZGMxNy4uOWJjNjYyYiAxMDA2NDQKLS0tIGEvUHl0aG9uL2Zyb3plbi5jCisrKyBiL1B5dGhvbi9mcm96ZW4uYwpAQCAtMjgsNyArMjgsNyBAQAogCiAjZGVmaW5lIFNJWkUgKGludClzaXplb2YoTV9fX2hlbGxvX18pCiAKLXN0YXRpYyBzdHJ1Y3QgX2Zyb3plbiBfUHlJbXBvcnRfRnJvemVuTW9kdWxlc1tdID0geworc3RhdGljIGNvbnN0IHN0cnVjdCBfZnJvemVuIF9QeUltcG9ydF9Gcm96ZW5Nb2R1bGVzW10gPSB7CiAgICAgLyogaW1wb3J0bGliICovCiAgICAgeyJfZnJvemVuX2ltcG9ydGxpYiIsIF9QeV9NX19pbXBvcnRsaWIsIChpbnQpc2l6ZW9mKF9QeV9NX19pbXBvcnRsaWIpfSwKICAgICAvKiBUZXN0IG1vZHVsZSAqLwpAQCAtNDIsNCArNDIsNCBAQAogLyogRW1iZWRkaW5nIGFwcHMgbWF5IGNoYW5nZSB0aGlzIHBvaW50ZXIgdG8gcG9pbnQgdG8gdGhlaXIgZmF2b3JpdGUKICAgIGNvbGxlY3Rpb24gb2YgZnJvemVuIG1vZHVsZXM6ICovCiAKLXN0cnVjdCBfZnJvemVuICpQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzID0gX1B5SW1wb3J0X0Zyb3plbk1vZHVsZXM7Citjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqUHlJbXBvcnRfRnJvemVuTW9kdWxlcyA9IF9QeUltcG9ydF9Gcm96ZW5Nb2R1bGVzOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2Z1dHVyZS5jIGIvUHl0aG9uL2Z1dHVyZS5jCmluZGV4IGQyNGFlNDEuLjgwOTc4MTQgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9mdXR1cmUuYworKysgYi9QeXRob24vZnV0dXJlLmMKQEAgLTU4LDExICs1OCwxNSBAQAogc3RhdGljIGludAogZnV0dXJlX3BhcnNlKFB5RnV0dXJlRmVhdHVyZXMgKmZmLCBtb2RfdHkgbW9kLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKIHsKLSAgICBpbnQgaSwgZm91bmRfZG9jc3RyaW5nID0gMCwgZG9uZSA9IDAsIHByZXZfbGluZSA9IDA7CisgICAgaW50IGksIGRvbmUgPSAwLCBwcmV2X2xpbmUgPSAwOworICAgIHN0bXRfdHkgZmlyc3Q7CiAKICAgICBpZiAoIShtb2QtPmtpbmQgPT0gTW9kdWxlX2tpbmQgfHwgbW9kLT5raW5kID09IEludGVyYWN0aXZlX2tpbmQpKQogICAgICAgICByZXR1cm4gMTsKIAorICAgIGlmIChhc2RsX3NlcV9MRU4obW9kLT52Lk1vZHVsZS5ib2R5KSA9PSAwKQorICAgICAgICByZXR1cm4gMTsKKwogICAgIC8qIEEgc3Vic2VxdWVudCBwYXNzIHdpbGwgZGV0ZWN0IGZ1dHVyZSBpbXBvcnRzIHRoYXQgZG9uJ3QKICAgICAgICBhcHBlYXIgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4gIFRoZXJlJ3Mgb25lIGNhc2UsCiAgICAgICAgaG93ZXZlciwgdGhhdCBpcyBlYXNpZXIgdG8gaGFuZGxlIGhlcmU6IEEgc2VyaWVzIG9mIGltcG9ydHMKQEAgLTcxLDggKzc1LDEzIEBACiAgICAgICAgYnV0IGlzIHByZWNlZGVkIGJ5IGEgcmVndWxhciBpbXBvcnQuCiAgICAgKi8KIAorICAgIGkgPSAwOworICAgIGZpcnN0ID0gKHN0bXRfdHkpYXNkbF9zZXFfR0VUKG1vZC0+di5Nb2R1bGUuYm9keSwgaSk7CisgICAgaWYgKGZpcnN0LT5raW5kID09IEV4cHJfa2luZCAmJiBmaXJzdC0+di5FeHByLnZhbHVlLT5raW5kID09IFN0cl9raW5kKQorICAgICAgICBpKys7CiAKLSAgICBmb3IgKGkgPSAwOyBpIDwgYXNkbF9zZXFfTEVOKG1vZC0+di5Nb2R1bGUuYm9keSk7IGkrKykgeworCisgICAgZm9yICg7IGkgPCBhc2RsX3NlcV9MRU4obW9kLT52Lk1vZHVsZS5ib2R5KTsgaSsrKSB7CiAgICAgICAgIHN0bXRfdHkgcyA9IChzdG10X3R5KWFzZGxfc2VxX0dFVChtb2QtPnYuTW9kdWxlLmJvZHksIGkpOwogCiAgICAgICAgIGlmIChkb25lICYmIHMtPmxpbmVubyA+IHByZXZfbGluZSkKQEAgLTk5LDE4ICsxMDgsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgICAgZmYtPmZmX2xpbmVubyA9IHMtPmxpbmVubzsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGRvbmUgPSAxOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHMtPmtpbmQgPT0gRXhwcl9raW5kICYmICFmb3VuZF9kb2NzdHJpbmcpIHsKLSAgICAgICAgICAgIGV4cHJfdHkgZSA9IHMtPnYuRXhwci52YWx1ZTsKLSAgICAgICAgICAgIGlmIChlLT5raW5kICE9IFN0cl9raW5kKQotICAgICAgICAgICAgICAgIGRvbmUgPSAxOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGZvdW5kX2RvY3N0cmluZyA9IDE7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQorICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGRvbmUgPSAxOworICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiAxOwogfQpkaWZmIC0tZ2l0IGEvUHl0aG9uL2dldGFyZ3MuYyBiL1B5dGhvbi9nZXRhcmdzLmMKaW5kZXggYWU5MzFiOS4uMDhmYWViNCAxMDA2NDQKLS0tIGEvUHl0aG9uL2dldGFyZ3MuYworKysgYi9QeXRob24vZ2V0YXJncy5jCkBAIC00NiwxMCArNDYsMTIgQEAKIH0gZnJlZWxpc3RlbnRyeV90OwogCiB0eXBlZGVmIHN0cnVjdCB7Ci0gIGludCBmaXJzdF9hdmFpbGFibGU7CiAgIGZyZWVsaXN0ZW50cnlfdCAqZW50cmllczsKKyAgaW50IGZpcnN0X2F2YWlsYWJsZTsKKyAgaW50IGVudHJpZXNfbWFsbG9jZWQ7CiB9IGZyZWVsaXN0X3Q7CiAKKyNkZWZpbmUgU1RBVElDX0ZSRUVMSVNUX0VOVFJJRVMgOAogCiAvKiBGb3J3YXJkICovCiBzdGF0aWMgaW50IHZnZXRhcmdzMShQeU9iamVjdCAqLCBjb25zdCBjaGFyICosIHZhX2xpc3QgKiwgaW50KTsKQEAgLTE4Nyw3ICsxODksOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWVsaXN0LT5lbnRyaWVzW2luZGV4XS5pdGVtKTsKICAgICAgIH0KICAgICB9Ci0gICAgUHlNZW1fRlJFRShmcmVlbGlzdC0+ZW50cmllcyk7CisgICAgaWYgKGZyZWVsaXN0LT5lbnRyaWVzX21hbGxvY2VkKQorICAgICAgICBQeU1lbV9GUkVFKGZyZWVsaXN0LT5lbnRyaWVzKTsKICAgICByZXR1cm4gcmV0dmFsOwogfQogCkBAIC0xOTcsNiArMjAwLDggQEAKIHsKICAgICBjaGFyIG1zZ2J1ZlsyNTZdOwogICAgIGludCBsZXZlbHNbMzJdOworICAgIGZyZWVsaXN0ZW50cnlfdCBzdGF0aWNfZW50cmllc1tTVEFUSUNfRlJFRUxJU1RfRU5UUklFU107CisgICAgZnJlZWxpc3RfdCBmcmVlbGlzdCA9IHtzdGF0aWNfZW50cmllcywgMCwgMH07CiAgICAgY29uc3QgY2hhciAqZm5hbWUgPSBOVUxMOwogICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2UgPSBOVUxMOwogICAgIGludCBtaW4gPSAtMTsKQEAgLTIwNiw3ICsyMTEsNiBAQAogICAgIGNvbnN0IGNoYXIgKmZvcm1hdHNhdmUgPSBmb3JtYXQ7CiAgICAgUHlfc3NpemVfdCBpLCBsZW47CiAgICAgY2hhciAqbXNnOwotICAgIGZyZWVsaXN0X3QgZnJlZWxpc3QgPSB7MCwgTlVMTH07CiAgICAgaW50IGNvbXBhdCA9IGZsYWdzICYgRkxBR19DT01QQVQ7CiAKICAgICBhc3NlcnQoY29tcGF0IHx8IChhcmdzICE9IChQeU9iamVjdCopTlVMTCkpOwpAQCAtMjQwLDE1ICsyNDQsMTUgQEAKICAgICAgICAgICAgIG1lc3NhZ2UgPSBmb3JtYXQ7CiAgICAgICAgICAgICBlbmRmbXQgPSAxOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ3wnOgorICAgICAgICAgICAgaWYgKGxldmVsID09IDApCisgICAgICAgICAgICAgICAgbWluID0gbWF4OworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBpZiAobGV2ZWwgPT0gMCkgewotICAgICAgICAgICAgICAgIGlmIChjID09ICdPJykKLSAgICAgICAgICAgICAgICAgICAgbWF4Kys7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoUHlfSVNBTFBIQShQeV9DSEFSTUFTSyhjKSkpIHsKKyAgICAgICAgICAgICAgICBpZiAoUHlfSVNBTFBIQShQeV9DSEFSTUFTSyhjKSkpCiAgICAgICAgICAgICAgICAgICAgIGlmIChjICE9ICdlJykgLyogc2tpcCBlbmNvZGVkICovCiAgICAgICAgICAgICAgICAgICAgICAgICBtYXgrKzsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGMgPT0gJ3wnKQotICAgICAgICAgICAgICAgICAgICBtaW4gPSBtYXg7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMjYyLDEwICsyNjYsMTMgQEAKIAogICAgIGZvcm1hdCA9IGZvcm1hdHNhdmU7CiAKLSAgICBmcmVlbGlzdC5lbnRyaWVzID0gUHlNZW1fTkVXKGZyZWVsaXN0ZW50cnlfdCwgbWF4KTsKLSAgICBpZiAoZnJlZWxpc3QuZW50cmllcyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiAwOworICAgIGlmIChtYXggPiBTVEFUSUNfRlJFRUxJU1RfRU5UUklFUykgeworICAgICAgICBmcmVlbGlzdC5lbnRyaWVzID0gUHlNZW1fTkVXKGZyZWVsaXN0ZW50cnlfdCwgbWF4KTsKKyAgICAgICAgaWYgKGZyZWVsaXN0LmVudHJpZXMgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGZyZWVsaXN0LmVudHJpZXNfbWFsbG9jZWQgPSAxOwogICAgIH0KIAogICAgIGlmIChjb21wYXQpIHsKQEAgLTE0MjEsNyArMTQyOCw4IEBACiAgICAgaW50IG1heCA9IElOVF9NQVg7CiAgICAgaW50IGksIGxlbiwgbmFyZ3MsIG5rZXl3b3JkczsKICAgICBQeU9iamVjdCAqY3VycmVudF9hcmc7Ci0gICAgZnJlZWxpc3RfdCBmcmVlbGlzdCA9IHswLCBOVUxMfTsKKyAgICBmcmVlbGlzdGVudHJ5X3Qgc3RhdGljX2VudHJpZXNbU1RBVElDX0ZSRUVMSVNUX0VOVFJJRVNdOworICAgIGZyZWVsaXN0X3QgZnJlZWxpc3QgPSB7c3RhdGljX2VudHJpZXMsIDAsIDB9OwogCiAgICAgYXNzZXJ0KGFyZ3MgIT0gTlVMTCAmJiBQeVR1cGxlX0NoZWNrKGFyZ3MpKTsKICAgICBhc3NlcnQoa2V5d29yZHMgPT0gTlVMTCB8fCBQeURpY3RfQ2hlY2soa2V5d29yZHMpKTsKQEAgLTE0NDUsMTAgKzE0NTMsMTMgQEAKICAgICBmb3IgKGxlbj0wOyBrd2xpc3RbbGVuXTsgbGVuKyspCiAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgZnJlZWxpc3QuZW50cmllcyA9IFB5TWVtX05FVyhmcmVlbGlzdGVudHJ5X3QsIGxlbik7Ci0gICAgaWYgKGZyZWVsaXN0LmVudHJpZXMgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAobGVuID4gU1RBVElDX0ZSRUVMSVNUX0VOVFJJRVMpIHsKKyAgICAgICAgZnJlZWxpc3QuZW50cmllcyA9IFB5TWVtX05FVyhmcmVlbGlzdGVudHJ5X3QsIGxlbik7CisgICAgICAgIGlmIChmcmVlbGlzdC5lbnRyaWVzID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBmcmVlbGlzdC5lbnRyaWVzX21hbGxvY2VkID0gMTsKICAgICB9CiAKICAgICBuYXJncyA9IFB5VHVwbGVfR0VUX1NJWkUoYXJncyk7CkBAIC0xNTc0LDIwICsxNTg1LDE2IEBACiAgICAgICAgIFB5X3NzaXplX3QgcG9zID0gMDsKICAgICAgICAgd2hpbGUgKFB5RGljdF9OZXh0KGtleXdvcmRzLCAmcG9zLCAma2V5LCAmdmFsdWUpKSB7CiAgICAgICAgICAgICBpbnQgbWF0Y2ggPSAwOwotICAgICAgICAgICAgY2hhciAqa3M7CiAgICAgICAgICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhrZXkpKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImtleXdvcmRzIG11c3QgYmUgc3RyaW5ncyIpOwogICAgICAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgLyogY2hlY2sgdGhhdCBfUHlVbmljb2RlX0FzU3RyaW5nKCkgcmVzdWx0IGlzIG5vdCBOVUxMICovCi0gICAgICAgICAgICBrcyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoa2V5KTsKLSAgICAgICAgICAgIGlmIChrcyAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghc3RyY21wKGtzLCBrd2xpc3RbaV0pKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IDE7Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisgICAgICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhrZXksIGt3bGlzdFtpXSkpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSAxOworICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIW1hdGNoKSB7CmRpZmYgLS1naXQgYS9QeXRob24vaW1wb3J0LmMgYi9QeXRob24vaW1wb3J0LmMKaW5kZXggMjYyNjFlMS4uODA1Y2RkNyAxMDA2NDQKLS0tIGEvUHl0aG9uL2ltcG9ydC5jCisrKyBiL1B5dGhvbi9pbXBvcnQuYwpAQCAtMjA0LDggKzIwNCwxMSBAQAogICAgIGlmIChpbXBvcnRfbG9ja19sZXZlbCA+IDEpIHsKICAgICAgICAgLyogRm9ya2VkIGFzIGEgc2lkZSBlZmZlY3Qgb2YgaW1wb3J0ICovCiAgICAgICAgIGxvbmcgbWUgPSBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KCk7Ci0gICAgICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jayhpbXBvcnRfbG9jaywgMCk7Ci0gICAgICAgIC8qIFhYWDogY2FuIHRoZSBwcmV2aW91cyBsaW5lIGZhaWw/ICovCisgICAgICAgIC8qIFRoZSBmb2xsb3dpbmcgY291bGQgZmFpbCBpZiB0aGUgbG9jayBpcyBhbHJlYWR5IGhlbGQsIGJ1dCBmb3JraW5nIGFzCisgICAgICAgICAgIGEgc2lkZS1lZmZlY3Qgb2YgYW4gaW1wb3J0IGlzIGEpIHJhcmUsIGIpIG51dHMsIGFuZCBjKSBkaWZmaWN1bHQgdG8KKyAgICAgICAgICAgZG8gdGhhbmtzIHRvIHRoZSBsb2NrIG9ubHkgYmVpbmcgaGVsZCB3aGVuIGRvaW5nIGluZGl2aWR1YWwgbW9kdWxlCisgICAgICAgICAgIGxvY2tzIHBlciBpbXBvcnQuICovCisgICAgICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jayhpbXBvcnRfbG9jaywgTk9XQUlUX0xPQ0spOwogICAgICAgICBpbXBvcnRfbG9ja190aHJlYWQgPSBtZTsKICAgICAgICAgaW1wb3J0X2xvY2tfbGV2ZWwtLTsKICAgICB9IGVsc2UgewpAQCAtNDUxLDEyICs0NTQsMTIgQEAKIAogLyogTWFnaWMgZm9yIGV4dGVuc2lvbiBtb2R1bGVzIChidWlsdC1pbiBhcyB3ZWxsIGFzIGR5bmFtaWNhbGx5CiAgICBsb2FkZWQpLiAgVG8gcHJldmVudCBpbml0aWFsaXppbmcgYW4gZXh0ZW5zaW9uIG1vZHVsZSBtb3JlIHRoYW4KLSAgIG9uY2UsIHdlIGtlZXAgYSBzdGF0aWMgZGljdGlvbmFyeSAnZXh0ZW5zaW9ucycga2V5ZWQgYnkgbW9kdWxlIG5hbWUKLSAgIChmb3IgYnVpbHQtaW4gbW9kdWxlcykgb3IgYnkgZmlsZW5hbWUgKGZvciBkeW5hbWljYWxseSBsb2FkZWQKLSAgIG1vZHVsZXMpLCBjb250YWluaW5nIHRoZXNlIG1vZHVsZXMuICBBIGNvcHkgb2YgdGhlIG1vZHVsZSdzCi0gICBkaWN0aW9uYXJ5IGlzIHN0b3JlZCBieSBjYWxsaW5nIF9QeUltcG9ydF9GaXh1cEV4dGVuc2lvbk9iamVjdCgpCi0gICBpbW1lZGlhdGVseSBhZnRlciB0aGUgbW9kdWxlIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHN1Y2NlZWRzLiAgQQotICAgY29weSBjYW4gYmUgcmV0cmlldmVkIGZyb20gdGhlcmUgYnkgY2FsbGluZworICAgb25jZSwgd2Uga2VlcCBhIHN0YXRpYyBkaWN0aW9uYXJ5ICdleHRlbnNpb25zJyBrZXllZCBieSB0aGUgdHVwbGUKKyAgIChtb2R1bGUgbmFtZSwgbW9kdWxlIG5hbWUpICAoZm9yIGJ1aWx0LWluIG1vZHVsZXMpIG9yIGJ5CisgICAoZmlsZW5hbWUsIG1vZHVsZSBuYW1lKSAoZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGVzKSwgY29udGFpbmluZyB0aGVzZQorICAgbW9kdWxlcy4gIEEgY29weSBvZiB0aGUgbW9kdWxlJ3MgZGljdGlvbmFyeSBpcyBzdG9yZWQgYnkgY2FsbGluZworICAgX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uT2JqZWN0KCkgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIG1vZHVsZSBpbml0aWFsaXphdGlvbgorICAgZnVuY3Rpb24gc3VjY2VlZHMuICBBIGNvcHkgY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZXJlIGJ5IGNhbGxpbmcKICAgIF9QeUltcG9ydF9GaW5kRXh0ZW5zaW9uT2JqZWN0KCkuCiAKICAgIE1vZHVsZXMgd2hpY2ggZG8gc3VwcG9ydCBtdWx0aXBsZSBpbml0aWFsaXphdGlvbiBzZXQgdGhlaXIgbV9zaXplCkBAIC00NjksOCArNDcyLDkgQEAKIF9QeUltcG9ydF9GaXh1cEV4dGVuc2lvbk9iamVjdChQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZmlsZW5hbWUpCiB7Ci0gICAgUHlPYmplY3QgKm1vZHVsZXMsICpkaWN0OworICAgIFB5T2JqZWN0ICptb2R1bGVzLCAqZGljdCwgKmtleTsKICAgICBzdHJ1Y3QgUHlNb2R1bGVEZWYgKmRlZjsKKyAgICBpbnQgcmVzOwogICAgIGlmIChleHRlbnNpb25zID09IE5VTEwpIHsKICAgICAgICAgZXh0ZW5zaW9ucyA9IFB5RGljdF9OZXcoKTsKICAgICAgICAgaWYgKGV4dGVuc2lvbnMgPT0gTlVMTCkKQEAgLTUwNyw3ICs1MTEsMTMgQEAKICAgICAgICAgaWYgKGRlZi0+bV9iYXNlLm1fY29weSA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KLSAgICBQeURpY3RfU2V0SXRlbShleHRlbnNpb25zLCBmaWxlbmFtZSwgKFB5T2JqZWN0KilkZWYpOworICAgIGtleSA9IFB5VHVwbGVfUGFjaygyLCBmaWxlbmFtZSwgbmFtZSk7CisgICAgaWYgKGtleSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmVzID0gUHlEaWN0X1NldEl0ZW0oZXh0ZW5zaW9ucywga2V5LCAoUHlPYmplY3QgKilkZWYpOworICAgIFB5X0RFQ1JFRihrZXkpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gLTE7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTUyNywxMSArNTM3LDE1IEBACiBQeU9iamVjdCAqCiBfUHlJbXBvcnRfRmluZEV4dGVuc2lvbk9iamVjdChQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKmZpbGVuYW1lKQogewotICAgIFB5T2JqZWN0ICptb2QsICptZGljdDsKKyAgICBQeU9iamVjdCAqbW9kLCAqbWRpY3QsICprZXk7CiAgICAgUHlNb2R1bGVEZWYqIGRlZjsKICAgICBpZiAoZXh0ZW5zaW9ucyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkZWYgPSAoUHlNb2R1bGVEZWYqKVB5RGljdF9HZXRJdGVtKGV4dGVuc2lvbnMsIGZpbGVuYW1lKTsKKyAgICBrZXkgPSBQeVR1cGxlX1BhY2soMiwgZmlsZW5hbWUsIG5hbWUpOworICAgIGlmIChrZXkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZGVmID0gKFB5TW9kdWxlRGVmICopUHlEaWN0X0dldEl0ZW0oZXh0ZW5zaW9ucywga2V5KTsKKyAgICBQeV9ERUNSRUYoa2V5KTsKICAgICBpZiAoZGVmID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChkZWYtPm1fc2l6ZSA9PSAtMSkgewpAQCAtODMyLDcgKzg0Niw3IEBACiAKIAogLyogRm9yd2FyZCAqLwotc3RhdGljIHN0cnVjdCBfZnJvemVuICogZmluZF9mcm96ZW4oUHlPYmplY3QgKik7CitzdGF0aWMgY29uc3Qgc3RydWN0IF9mcm96ZW4gKiBmaW5kX2Zyb3plbihQeU9iamVjdCAqKTsKIAogCiAvKiBIZWxwZXIgdG8gdGVzdCBmb3IgYnVpbHQtaW4gbW9kdWxlICovCkBAIC05NjksMTAgKzk4MywxMCBAQAogCiAvKiBGcm96ZW4gbW9kdWxlcyAqLwogCi1zdGF0aWMgc3RydWN0IF9mcm96ZW4gKgorc3RhdGljIGNvbnN0IHN0cnVjdCBfZnJvemVuICoKIGZpbmRfZnJvemVuKFB5T2JqZWN0ICpuYW1lKQogewotICAgIHN0cnVjdCBfZnJvemVuICpwOworICAgIGNvbnN0IHN0cnVjdCBfZnJvemVuICpwOwogCiAgICAgaWYgKG5hbWUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05ODksNyArMTAwMyw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogZ2V0X2Zyb3plbl9vYmplY3QoUHlPYmplY3QgKm5hbWUpCiB7Ci0gICAgc3RydWN0IF9mcm96ZW4gKnAgPSBmaW5kX2Zyb3plbihuYW1lKTsKKyAgICBjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqcCA9IGZpbmRfZnJvemVuKG5hbWUpOwogICAgIGludCBzaXplOwogCiAgICAgaWYgKHAgPT0gTlVMTCkgewpAQCAtMTAxMyw3ICsxMDI3LDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBpc19mcm96ZW5fcGFja2FnZShQeU9iamVjdCAqbmFtZSkKIHsKLSAgICBzdHJ1Y3QgX2Zyb3plbiAqcCA9IGZpbmRfZnJvemVuKG5hbWUpOworICAgIGNvbnN0IHN0cnVjdCBfZnJvemVuICpwID0gZmluZF9mcm96ZW4obmFtZSk7CiAgICAgaW50IHNpemU7CiAKICAgICBpZiAocCA9PSBOVUxMKSB7CkBAIC0xMDQwLDcgKzEwNTQsNyBAQAogaW50CiBQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGVPYmplY3QoUHlPYmplY3QgKm5hbWUpCiB7Ci0gICAgc3RydWN0IF9mcm96ZW4gKnA7CisgICAgY29uc3Qgc3RydWN0IF9mcm96ZW4gKnA7CiAgICAgUHlPYmplY3QgKmNvLCAqbSwgKnBhdGg7CiAgICAgaW50IGlzcGFja2FnZTsKICAgICBpbnQgc2l6ZTsKQEAgLTE3NjgsNyArMTc4Miw3IEBACiBpbXBfaXNfZnJvemVuKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeU9iamVjdCAqbmFtZTsKLSAgICBzdHJ1Y3QgX2Zyb3plbiAqcDsKKyAgICBjb25zdCBzdHJ1Y3QgX2Zyb3plbiAqcDsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6aXNfZnJvemVuIiwgJm5hbWUpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBwID0gZmluZF9mcm96ZW4obmFtZSk7CmRpZmYgLS1naXQgYS9QeXRob24vaW1wb3J0ZGwuaCBiL1B5dGhvbi9pbXBvcnRkbC5oCmluZGV4IDZiOWNmNzUuLjZhNTFhOTEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9pbXBvcnRkbC5oCisrKyBiL1B5dGhvbi9pbXBvcnRkbC5oCkBAIC0xOCwxMyArMTgsOCBAQAogI2luY2x1ZGUgPHdpbmRvd3MuaD4KIHR5cGVkZWYgRkFSUFJPQyBkbF9mdW5jcHRyOwogI2Vsc2UKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKLSNpbmNsdWRlIDxvczJkZWYuaD4KLXR5cGVkZWYgaW50ICgqIEFQSUVOVFJZIGRsX2Z1bmNwdHIpKCk7Ci0jZWxzZQogdHlwZWRlZiB2b2lkICgqZGxfZnVuY3B0cikodm9pZCk7CiAjZW5kaWYKLSNlbmRpZgogCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2ltcG9ydGxpYi5oIGIvUHl0aG9uL2ltcG9ydGxpYi5oCmluZGV4IDQxYjkxMzMuLjllMDdhMmYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9pbXBvcnRsaWIuaAorKysgYi9QeXRob24vaW1wb3J0bGliLmgKQEAgLTEsOCArMSw4IEBACiAvKiBBdXRvLWdlbmVyYXRlZCBieSBNb2R1bGVzL19mcmVlemVfaW1wb3J0bGliLmMgKi8KLXVuc2lnbmVkIGNoYXIgX1B5X01fX2ltcG9ydGxpYltdID0geworY29uc3QgdW5zaWduZWQgY2hhciBfUHlfTV9faW1wb3J0bGliW10gPSB7CiAgICAgOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsNiwwLDAsCi0gICAgMCw2NCwwLDAsMCwxMTUsMjA2LDMsMCwwLDEwMCwwLDAsOTAsMCwwLAotICAgIDEwMCwxMzEsMCw5MCwxLDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsCisgICAgMCw2NCwwLDAsMCwxMTUsMjQ3LDMsMCwwLDEwMCwwLDAsOTAsMCwwLAorICAgIDEwMCwxMzQsMCw5MCwxLDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsCiAgICAgMiwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDMsMCwxMDAsOCwKICAgICAwLDEwMCw5LDAsMTMyLDAsMCw5MCw0LDAsMTAwLDEwLDAsMTAwLDExLDAsCiAgICAgMTMyLDAsMCw5MCw1LDAsMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsMCw5MCwKQEAgLTE4LDE1MjAgKzE4LDEyOTcgQEAKICAgICAwLDcxLDEwMCwzMSwwLDEwMCwzMiwwLDEzMiwwLDAsMTAwLDMyLDAsMTMxLDIsCiAgICAgMCw5MCwyMSwwLDEwMCwzMywwLDEwMCwzNCwwLDEzMiwwLDAsOTAsMjIsMCwKICAgICAxMDAsMzUsMCwxMDAsMzYsMCwxMzIsMCwwLDkwLDIzLDAsMTAwLDM3LDAsMTAwLAotICAgIDM4LDAsMTMyLDAsMCw5MCwyNCwwLDEwMCwzOSwwLDEwMSwyNSwwLDEwMCw0MCwKLSAgICAwLDEzMSwxLDAsMTAwLDQxLDAsNjIsNjYsMTAxLDI1LDAsMTAwLDQyLDAsMTMxLAotICAgIDEsMCwxMDAsNDMsMCw2Miw2Niw5MCwyNiwwLDEwMSwyNywwLDEwMCw0NCwwLAotICAgIDEwMCw0NSwwLDEzMiwwLDAsMTAxLDI4LDAsMTAwLDQ2LDAsMTAwLDQ3LDAsMTAwLAotICAgIDQ4LDAsMTMxLDMsMCw2OCwxMzEsMSwwLDEzMSwxLDAsOTAsMjksMCwxMDAsCi0gICAgNDksMCw5MCwzMCwwLDEwMCw1MCwwLDEwMywxLDAsOTAsMzEsMCwxMDAsNTEsCi0gICAgMCwxMDMsMSwwLDkwLDMyLDAsMTAwLDUyLDAsMTAzLDEsMCw5MCwzMywwLAotICAgIDEwMCwxMzAsMCwxMDAsNTMsMCwxMDAsNTQsMCwxMzIsMSwwLDkwLDM1LDAsMTAwLAotICAgIDU1LDAsMTAwLDU2LDAsMTMyLDAsMCw5MCwzNiwwLDEwMCw1NywwLDEwMCw1OCwKLSAgICAwLDEzMiwwLDAsOTAsMzcsMCwxMDAsNTksMCwxMDAsNjAsMCwxMDAsNjEsMCwKLSAgICAxMDAsNjIsMCwxMzIsMCwxLDkwLDM4LDAsMTAwLDYzLDAsMTAwLDY0LDAsMTMyLAotICAgIDAsMCw5MCwzOSwwLDEwMCw2NSwwLDEwMCw2NiwwLDEzMiwwLDAsOTAsNDAsCi0gICAgMCwxMDAsNjcsMCwxMDAsNjgsMCwxMzIsMCwwLDkwLDQxLDAsMTAwLDY5LDAsCi0gICAgMTAwLDcwLDAsMTMyLDAsMCw5MCw0MiwwLDEwMCw3MSwwLDEwMCw3MiwwLDEzMiwKLSAgICAwLDAsOTAsNDMsMCwxMDAsNzMsMCwxMDAsNzQsMCwxMzIsMCwwLDkwLDQ0LAotICAgIDAsMTAwLDc1LDAsMTAwLDc2LDAsMTMyLDAsMCw5MCw0NSwwLDcxLDEwMCw3NywKLSAgICAwLDEwMCw3OCwwLDEzMiwwLDAsMTAwLDc4LDAsMTMxLDIsMCw5MCw0NiwwLAotICAgIDcxLDEwMCw3OSwwLDEwMCw4MCwwLDEzMiwwLDAsMTAwLDgwLDAsMTMxLDIsMCwKLSAgICA5MCw0NywwLDcxLDEwMCw4MSwwLDEwMCw4MiwwLDEzMiwwLDAsMTAwLDgyLDAsCi0gICAgMTMxLDIsMCw5MCw0OCwwLDcxLDEwMCw4MywwLDEwMCw4NCwwLDEzMiwwLDAsCi0gICAgMTAwLDg0LDAsMTMxLDIsMCw5MCw0OSwwLDcxLDEwMCw4NSwwLDEwMCw4NiwwLAotICAgIDEzMiwwLDAsMTAwLDg2LDAsMTAxLDQ5LDAsMTMxLDMsMCw5MCw1MCwwLDcxLAorICAgIDM4LDAsMTMyLDAsMCw5MCwyNCwwLDEwMCwzOSwwLDEwNiwyNSwwLDEwMCw0MCwKKyAgICAwLDEwMCw0MSwwLDEzMSwyLDAsMTAwLDQyLDAsMjMsOTAsMjYsMCwxMDEsMjcsCisgICAgMCwxMDYsMjgsMCwxMDEsMjYsMCwxMDAsNDEsMCwxMzEsMiwwLDkwLDI5LDAsCisgICAgMTAwLDQzLDAsOTAsMzAsMCwxMDAsNDQsMCwxMDMsMSwwLDkwLDMxLDAsMTAwLAorICAgIDQ1LDAsMTAzLDEsMCw5MCwzMiwwLDEwMCw0NiwwLDEwMywxLDAsOTAsMzMsCisgICAgMCwxMDAsNDcsMCwxMDAsNDgsMCwxMDAsNDksMCwxMzIsMSwwLDkwLDM0LDAsCisgICAgMTAwLDUwLDAsMTAwLDUxLDAsMTMyLDAsMCw5MCwzNSwwLDEwMCw1MiwwLDEwMCwKKyAgICA1MywwLDEzMiwwLDAsOTAsMzYsMCwxMDAsNTQsMCwxMDAsNTUsMCwxMzIsMCwKKyAgICAwLDkwLDM3LDAsMTAwLDU2LDAsMTAwLDU3LDAsMTAwLDU4LDAsMTAwLDU5LDAsCisgICAgMTMyLDAsMSw5MCwzOCwwLDEwMCw2MCwwLDEwMCw2MSwwLDEzMiwwLDAsOTAsCisgICAgMzksMCwxMDAsNjIsMCwxMDAsNjMsMCwxMzIsMCwwLDkwLDQwLDAsMTAwLDY0LAorICAgIDAsMTAwLDY1LDAsMTMyLDAsMCw5MCw0MSwwLDEwMCw2NiwwLDEwMCw2NywwLAorICAgIDEzMiwwLDAsOTAsNDIsMCwxMDAsNjgsMCwxMDAsNjksMCwxMzIsMCwwLDkwLAorICAgIDQzLDAsMTAwLDcwLDAsMTAwLDcxLDAsMTMyLDAsMCw5MCw0NCwwLDEwMCw3MiwKKyAgICAwLDEwMCw3MywwLDEzMiwwLDAsOTAsNDUsMCwxMDAsNDcsMCwxMDAsNDcsMCwKKyAgICAxMDAsNDcsMCwxMDAsNzQsMCwxMDAsNzUsMCwxMzIsMywwLDkwLDQ2LDAsMTAwLAorICAgIDQ3LDAsMTAwLDQ3LDAsMTAwLDQ3LDAsMTAwLDc2LDAsMTAwLDc3LDAsMTMyLDMsCisgICAgMCw5MCw0NywwLDEwMCw3OCwwLDEwMCw3OCwwLDEwMCw3OSwwLDEwMCw4MCwwLAorICAgIDEzMiwyLDAsOTAsNDgsMCw3MSwxMDAsODEsMCwxMDAsODIsMCwxMzIsMCwwLAorICAgIDEwMCw4MiwwLDEzMSwyLDAsOTAsNDksMCw3MSwxMDAsODMsMCwxMDAsODQsMCwKKyAgICAxMzIsMCwwLDEwMCw4NCwwLDEzMSwyLDAsOTAsNTAsMCw3MSwxMDAsODUsMCwKKyAgICAxMDAsODYsMCwxMzIsMCwwLDEwMCw4NiwwLDEzMSwyLDAsOTAsNTEsMCw3MSwKICAgICAxMDAsODcsMCwxMDAsODgsMCwxMzIsMCwwLDEwMCw4OCwwLDEzMSwyLDAsOTAsCi0gICAgNTEsMCw3MSwxMDAsODksMCwxMDAsOTAsMCwxMzIsMCwwLDEwMCw5MCwwLDEwMSwKLSAgICA1MSwwLDEwMSw1MCwwLDEzMSw0LDAsOTAsNTIsMCw3MSwxMDAsOTEsMCwxMDAsCi0gICAgOTIsMCwxMzIsMCwwLDEwMCw5MiwwLDEwMSw1MSwwLDEwMSw0OSwwLDEzMSw0LAotICAgIDAsOTAsNTMsMCwxMDMsMCwwLDkwLDU0LDAsNzEsMTAwLDkzLDAsMTAwLDk0LAotICAgIDAsMTMyLDAsMCwxMDAsOTQsMCwxMzEsMiwwLDkwLDU1LDAsNzEsMTAwLDk1LAotICAgIDAsMTAwLDk2LDAsMTMyLDAsMCwxMDAsOTYsMCwxMzEsMiwwLDkwLDU2LDAsCi0gICAgNzEsMTAwLDk3LDAsMTAwLDk4LDAsMTMyLDAsMCwxMDAsOTgsMCwxMzEsMiwwLAotICAgIDkwLDU3LDAsNzEsMTAwLDk5LDAsMTAwLDEwMCwwLDEzMiwwLDAsMTAwLDEwMCwwLAotICAgIDEzMSwyLDAsOTAsNTgsMCw3MSwxMDAsMTAxLDAsMTAwLDEwMiwwLDEzMiwwLDAsCi0gICAgMTAwLDEwMiwwLDEzMSwyLDAsOTAsNTksMCw3MSwxMDAsMTAzLDAsMTAwLDEwNCwwLAotICAgIDEzMiwwLDAsMTAwLDEwNCwwLDEzMSwyLDAsOTAsNjAsMCwxMDAsMTA1LDAsMTAwLAotICAgIDEwNiwwLDEzMiwwLDAsOTAsNjEsMCwxMDAsMTA3LDAsMTAwLDEwOCwwLDEzMiwwLAotICAgIDAsOTAsNjIsMCwxMDAsMTA5LDAsMTAwLDExMCwwLDEzMiwwLDAsOTAsNjMsMCwKLSAgICAxMDAsMTExLDAsOTAsNjQsMCwxMDAsMTEyLDAsMTAwLDExMywwLDEzMiwwLDAsOTAsCi0gICAgNjUsMCwxMDAsMTE0LDAsMTAwLDExNSwwLDEzMiwwLDAsOTAsNjYsMCwxMDAsMTMwLAotICAgIDAsMTAwLDQ2LDAsMTAwLDExNiwwLDEwMCwxMTcsMCwxMzIsMiwwLDkwLDY3LDAsCi0gICAgMTAwLDExOCwwLDEwMCwxMTksMCwxMzIsMCwwLDkwLDY4LDAsMTAwLDEyMCwwLDEwMCwKLSAgICAxMjEsMCwxMzIsMCwwLDkwLDY5LDAsMTAwLDEyMiwwLDEwMCwxMjMsMCwxMzIsMCwKLSAgICAwLDkwLDcwLDAsMTAwLDEzMCwwLDEwMCwxMzAsMCwxMDIsMCwwLDEwMCw0NiwwLAotICAgIDEwMCwxMjQsMCwxMDAsMTI1LDAsMTMyLDQsMCw5MCw3MSwwLDEwMCwxMjYsMCwxMDAsCi0gICAgMTI3LDAsMTMyLDAsMCw5MCw3MiwwLDEwMCwxMjgsMCwxMDAsMTI5LDAsMTMyLDAsCi0gICAgMCw5MCw3MywwLDEwMCwxMzAsMCw4Myw0MCwxMzIsMCwwLDAsMTE3LDgzLDEsCi0gICAgMCwwLDY3LDExMSwxMTQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LAotICAgIDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LAotICAgIDEwLDEwLDg0LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsCi0gICAgMzIsNzgsNzksODQsMzIsMTA5LDEwMSw5NywxMTAsMTE2LDMyLDExNiwxMTEsMzIsOTgsMTAxLAotICAgIDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTA4LDEyMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDEsMTAwLDMzLDMyLDczLDExNiwzMiwxMDQsOTcsMTE1LDMyLDk4LDEwMSwxMDEsMTEwLDMyLAotICAgIDEwMCwxMDEsMTE1LDEwNSwxMDMsMTEwLDEwMSwxMDAsMzIsMTE1LDExNyw5OSwxMDQsMTAsMTE2LDEwNCwKLSAgICA5NywxMTYsMzIsMTA1LDExNiwzMiw5OSw5NywxMTAsMzIsOTgsMTAxLDMyLDk4LDExMSwxMTEsCi0gICAgMTE2LDExNSwxMTYsMTE0LDk3LDExMiwxMTIsMTAxLDEwMCwzMiwxMDUsMTEwLDExNiwxMTEsMzIsODAsCi0gICAgMTIxLDExNiwxMDQsMTExLDExMCwzMiw5NywxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMzIsNjUsMTE1LDEwLDExNSwxMTcsOTksMTA0LDMyLDEwNSwKLSAgICAxMTYsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsCi0gICAgMTEwLDEwNiwxMDEsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsMTE1LDExMiwxMDEsOTksCi0gICAgMTA1LDEwMiwxMDUsOTksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsCi0gICAgMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwzMiwxMDUsMTEwLDMyLDExMSwKLSAgICAxMTQsMTAwLDEwMSwxMTQsMzIsMTE2LDExMSwxMCwxMTksMTExLDExNCwxMDcsNDYsMzIsNzksMTEwLAotICAgIDEwMSwzMiwxMTUsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTcsMTE1LDEwMSwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsMTE3LAotICAgIDk4LDEwOCwxMDUsOTksNDUsMTAyLDk3LDk5LDEwNSwxMTAsMTAzLDMyLDExOCwxMDEsMTE0LDExNSwKLSAgICAxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw0NiwxMCwxMCwxMTcsMywwLDAsMCwxMTksMTA1LDExMCwxMTcsNiwwLAotICAgIDAsMCw5OSwxMjEsMTAzLDExOSwxMDUsMTEwLDExNyw2LDAsMCwwLDEwMCw5NywxMTQsCi0gICAgMTE5LDEwNSwxMTAsOTksMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCi0gICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsNDksMCwwLDAsMTE2LDAsMCwKLSAgICAxMDYsMSwwLDEwNiwyLDAsMTE2LDMsMCwxMzEsMSwwLDExNCwzMywwLDEwMCwKLSAgICAxLDAsMTAwLDIsMCwxMzIsMCwwLDEyNSwwLDAsMTEwLDEyLDAsMTAwLDMsCi0gICAgMCwxMDAsMiwwLDEzMiwwLDAsMTI1LDAsMCwxMjQsMCwwLDgzLDQwLDQsCi0gICAgMCwwLDAsNzgsOTksMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAotICAgIDAsMiwwLDAsMCw4MywwLDAsMCwxMTUsMTMsMCwwLDAsMTAwLDEsCi0gICAgMCwxMTYsMCwwLDEwNiwxLDAsMTA3LDYsMCw4Myw0MCwyLDAsMCwwLAotICAgIDExNyw1MywwLDAsMCw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDEwMiwxMDUsMTA4LAotICAgIDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsMzIsMTA5LDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiw5OSwKLSAgICAxMDQsMTAxLDk5LDEwNywxMDEsMTAwLDMyLDk5LDk3LDExNSwxMDEsNDUsMTA1LDExMCwxMTUsMTAxLAotICAgIDExMCwxMTUsMTA1LDExNiwxMDUsMTE4LDEwMSwxMDgsMTIxLDQ2LDExNSwxMiwwLDAsMCw4MCwKLSAgICA4OSw4NCw3Miw3OSw3OCw2Nyw2NSw4Myw2OSw3OSw3NSw0MCwyLDAsMCwwLAotICAgIDExNywzLDAsMCwwLDk1LDExMSwxMTUsMTE3LDcsMCwwLDAsMTAxLDExMCwxMTgsCi0gICAgMTA1LDExNCwxMTEsMTEwLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCw0MCwwLAotICAgIDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwKLSAgICAxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTEsMCwwLDAsOTUsMTE0LDEwMSwxMDgsOTcsMTIwLAotICAgIDk1LDk5LDk3LDExNSwxMDEsMzQsMCwwLDAsMTE1LDIsMCwwLDAsMCwyLAotICAgIDExNywzNywwLDAsMCw5NSwxMDksOTcsMTA3LDEwMSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsCi0gICAgOTUsOTksOTcsMTE1LDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsOTUsCi0gICAgMTE0LDEwMSwxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsOTksMCwwLDAsMCwwLAotICAgIDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw4MywwLDAsMCwxMTUsCi0gICAgNCwwLDAsMCwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDUzLDAsCi0gICAgMCwwLDg0LDExNCwxMTcsMTAxLDMyLDEwNSwxMDIsMzIsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywKLSAgICAxMDksMTAxLDExNSwzMiwxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDk5LDEwNCwxMDEsOTksCi0gICAgMTA3LDEwMSwxMDAsMzIsOTksOTcsMTE1LDEwMSw0NSwxMDUsMTEwLDExNSwxMDEsMTEwLDExNSwxMDUsCi0gICAgMTE2LDEwNSwxMTgsMTAxLDEwOCwxMjEsNDYsNzAsNDAsMSwwLDAsMCwxMTcsNSwwLAotICAgIDAsMCw3MCw5NywxMDgsMTE1LDEwMSw0MCwwLDAsMCwwLDQwLDAsMCwwLAotICAgIDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsCi0gICAgMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDExLDAsMCwwLDk1LDExNCwxMDEsCi0gICAgMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDM4LDAsMCwwLDExNSwyLDAsMCwKLSAgICAwLDAsMiw0MCw0LDAsMCwwLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LAotICAgIDExNyw4LDAsMCwwLDExMiwxMDgsOTcsMTE2LDEwMiwxMTEsMTE0LDEwOSwxMTcsMTAsMCwKLSAgICAwLDAsMTE1LDExNiw5NywxMTQsMTE2LDExNSwxMTksMTA1LDExNiwxMDQsMTE3LDI3LDAsMCwKLSAgICAwLDk1LDY3LDY1LDgzLDY5LDk1LDczLDc4LDgzLDY5LDc4LDgzLDczLDg0LDczLAotICAgIDg2LDY5LDk1LDgwLDc2LDY1LDg0LDcwLDc5LDgyLDc3LDgzLDQwLDEsMCwwLAotICAgIDAsMTE3LDExLDAsMCwwLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsCi0gICAgMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsCi0gICAgNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSwKLSAgICA5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE2LDAsCi0gICAgMCwwLDk1LDEwOSw5NywxMDcsMTAxLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywKLSAgICAxMTUsMTAxLDMyLDAsMCwwLDExNSw4LDAsMCwwLDAsMSwxOCwxLDE1LAotICAgIDQsMTIsMywxMTcsMTYsMCwwLDAsOTUsMTA5LDk3LDEwNywxMDEsOTUsMTE0LDEwMSwKLSAgICAxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsOTksMSwwLDAsMCwwLDAsMCwKLSAgICAwLDIsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTA4LDAsCi0gICAgMCwwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwwLDAsMTAzLDAsCi0gICAgMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDEsMCwxMjQsMCwwLDEwMCwxLDAsCi0gICAgNjQsMTMxLDEsMCwxLDEyNCwxLDAsMTA2LDEsMCwxMjQsMCwwLDEwMCwyLAotICAgIDAsNjMsMTAwLDEsMCw2NCwxMzEsMSwwLDEsMTI0LDEsMCwxMDYsMSwwLAotICAgIDEyNCwwLDAsMTAwLDMsMCw2MywxMDAsMSwwLDY0LDEzMSwxLDAsMSwxMjQsCi0gICAgMSwwLDEwNiwxLDAsMTI0LDAsMCwxMDAsNCwwLDYzLDEwMCwxLDAsNjQsCi0gICAgMTMxLDEsMCwxLDExNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQwLDUsCi0gICAgMCwwLDAsMTE3LDExMSwwLDAsMCw2NywxMTEsMTEwLDExOCwxMDEsMTE0LDExNiwzMiwKLSAgICA5NywzMiw1MSw1MCw0NSw5OCwxMDUsMTE2LDMyLDEwNSwxMTAsMTE2LDEwMSwxMDMsMTAxLDExNCwKLSAgICAzMiwxMTYsMTExLDMyLDEwOCwxMDUsMTE2LDExNiwxMDgsMTAxLDQ1LDEwMSwxMTAsMTAwLDEwNSw5NywKLSAgICAxMTAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODgsODgsODgsMzIsODQsMTAxLDEwOSwxMTIsCisgICAgNTIsMCw3MSwxMDAsODksMCwxMDAsOTAsMCwxMzIsMCwwLDEwMCw5MCwwLDEwMSwKKyAgICA1MiwwLDEzMSwzLDAsOTAsNTMsMCw3MSwxMDAsOTEsMCwxMDAsOTIsMCwxMzIsCisgICAgMCwwLDEwMCw5MiwwLDEzMSwyLDAsOTAsNTQsMCw3MSwxMDAsOTMsMCwxMDAsCisgICAgOTQsMCwxMzIsMCwwLDEwMCw5NCwwLDEwMSw1NCwwLDEwMSw1MywwLDEzMSw0LAorICAgIDAsOTAsNTUsMCw3MSwxMDAsOTUsMCwxMDAsOTYsMCwxMzIsMCwwLDEwMCw5NiwKKyAgICAwLDEwMSw1NCwwLDEwMSw1MiwwLDEzMSw0LDAsOTAsNTYsMCwxMDMsMCwwLAorICAgIDkwLDU3LDAsNzEsMTAwLDk3LDAsMTAwLDk4LDAsMTMyLDAsMCwxMDAsOTgsMCwKKyAgICAxMzEsMiwwLDkwLDU4LDAsNzEsMTAwLDk5LDAsMTAwLDEwMCwwLDEzMiwwLDAsCisgICAgMTAwLDEwMCwwLDEzMSwyLDAsOTAsNTksMCw3MSwxMDAsMTAxLDAsMTAwLDEwMiwwLAorICAgIDEzMiwwLDAsMTAwLDEwMiwwLDEzMSwyLDAsOTAsNjAsMCw3MSwxMDAsMTAzLDAsCisgICAgMTAwLDEwNCwwLDEzMiwwLDAsMTAwLDEwNCwwLDEzMSwyLDAsOTAsNjEsMCw3MSwKKyAgICAxMDAsMTA1LDAsMTAwLDEwNiwwLDEzMiwwLDAsMTAwLDEwNiwwLDEzMSwyLDAsOTAsCisgICAgNjIsMCw3MSwxMDAsMTA3LDAsMTAwLDEwOCwwLDEzMiwwLDAsMTAwLDEwOCwwLDEzMSwKKyAgICAyLDAsOTAsNjMsMCwxMDAsMTA5LDAsMTAwLDExMCwwLDEzMiwwLDAsOTAsNjQsCisgICAgMCwxMDAsMTExLDAsMTAwLDExMiwwLDEzMiwwLDAsOTAsNjUsMCwxMDAsMTEzLDAsCisgICAgMTAwLDExNCwwLDEzMiwwLDAsOTAsNjYsMCwxMDAsMTE1LDAsOTAsNjcsMCwxMDAsCisgICAgMTE2LDAsMTAwLDExNywwLDEzMiwwLDAsOTAsNjgsMCwxMDAsMTE4LDAsMTAwLDExOSwKKyAgICAwLDEzMiwwLDAsOTAsNjksMCwxMDAsNDcsMCwxMDAsNzgsMCwxMDAsMTIwLDAsCisgICAgMTAwLDEyMSwwLDEzMiwyLDAsOTAsNzAsMCwxMDAsMTIyLDAsMTAwLDEyMywwLDEzMiwKKyAgICAwLDAsOTAsNzEsMCwxMDAsMTI0LDAsMTAwLDEyNSwwLDEzMiwwLDAsOTAsNzIsCisgICAgMCwxMDAsMTI2LDAsMTAwLDEyNywwLDEzMiwwLDAsOTAsNzMsMCwxMDAsNDcsMCwKKyAgICAxMDAsNDcsMCwxMDIsMCwwLDEwMCw3OCwwLDEwMCwxMjgsMCwxMDAsMTI5LDAsMTMyLAorICAgIDQsMCw5MCw3NCwwLDEwMCwxMzAsMCwxMDAsMTMxLDAsMTMyLDAsMCw5MCw3NSwKKyAgICAwLDEwMCwxMzIsMCwxMDAsMTMzLDAsMTMyLDAsMCw5MCw3NiwwLDEwMCw0NywwLAorICAgIDgzLDQwLDEzNSwwLDAsMCwxMTcsODMsMSwwLDAsNjcsMTExLDExNCwxMDEsMzIsCisgICAgMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwKKyAgICAxMDIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMTAsMTAsODQsMTA0LDEwNSwxMTUsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw3OCw3OSw4NCwzMiwxMDksMTAxLAorICAgIDk3LDExMCwxMTYsMzIsMTE2LDExMSwzMiw5OCwxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwKKyAgICAxMDgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzMsMzIsNzMsMTE2LDMyLAorICAgIDEwNCw5NywxMTUsMzIsOTgsMTAxLDEwMSwxMTAsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsMTAxLAorICAgIDEwMCwzMiwxMTUsMTE3LDk5LDEwNCwxMCwxMTYsMTA0LDk3LDExNiwzMiwxMDUsMTE2LDMyLDk5LAorICAgIDk3LDExMCwzMiw5OCwxMDEsMzIsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDExMiwKKyAgICAxMDEsMTAwLDMyLDEwNSwxMTAsMTE2LDExMSwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLDk3LAorICAgIDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywKKyAgICAxMTYsMTA1LDExMSwxMTAsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw0NiwzMiwKKyAgICA2NSwxMTUsMTAsMTE1LDExNyw5OSwxMDQsMzIsMTA1LDExNiwzMiwxMTQsMTAxLDExMywxMTcsMTA1LAorICAgIDExNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMTAsMTA2LDEwMSw5OSwxMTYsMTA1LDExMSwKKyAgICAxMTAsMzIsMTExLDEwMiwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSw5OSwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsMTEwLDEwMCwzMiw5NywxMTYsMTE2LDExNCwxMDUsOTgsCisgICAgMTE3LDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsMTExLAorICAgIDEwLDExOSwxMTEsMTE0LDEwNyw0NiwzMiw3OSwxMTAsMTAxLDMyLDExNSwxMDQsMTExLDExNywxMDgsCisgICAgMTAwLDMyLDExNywxMTUsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsCisgICAgOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMiwxMTcsOTgsMTA4LDEwNSw5OSw0NSwxMDIsOTcsCisgICAgOTksMTA1LDExMCwxMDMsMzIsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsCisgICAgMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDI0NCwzLAorICAgIDAsMCwwLDExOSwxMDUsMTEwLDI0NCw2LDAsMCwwLDk5LDEyMSwxMDMsMTE5LDEwNSwKKyAgICAxMTAsMjQ0LDYsMCwwLDAsMTAwLDk3LDExNCwxMTksMTA1LDExMCw5OSwwLDAsMCwKKyAgICAwLDAsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwKKyAgICAwLDExNSw0OSwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTA2LDIsMCwxMTYsCisgICAgMywwLDEzMSwxLDAsMTE0LDMzLDAsMTAwLDEsMCwxMDAsMiwwLDEzMiwwLAorICAgIDAsMTI1LDAsMCwxMTAsMTIsMCwxMDAsMywwLDEwMCwyLDAsMTMyLDAsMCwKKyAgICAxMjUsMCwwLDEyNCwwLDAsODMsNDAsNCwwLDAsMCw3OCw5OSwwLDAsCisgICAgMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDgzLDAsCisgICAgMCwwLDExNSwxMywwLDAsMCwxMDAsMSwwLDExNiwwLDAsMTA2LDEsMCwKKyAgICAxMDcsNiwwLDgzLDQwLDIsMCwwLDAsMTE3LDUzLDAsMCwwLDg0LDExNCwKKyAgICAxMTcsMTAxLDMyLDEwNSwxMDIsMzIsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNSwzMiwKKyAgICAxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDk5LDEwNCwxMDEsOTksMTA3LDEwMSwxMDAsMzIsCisgICAgOTksOTcsMTE1LDEwMSw0NSwxMDUsMTEwLDExNSwxMDEsMTEwLDExNSwxMDUsMTE2LDEwNSwxMTgsMTAxLAorICAgIDEwOCwxMjEsNDYsMTE1LDEyLDAsMCwwLDgwLDg5LDg0LDcyLDc5LDc4LDY3LDY1LAorICAgIDgzLDY5LDc5LDc1LDQwLDIsMCwwLDAsMjQ0LDMsMCwwLDAsOTUsMTExLAorICAgIDExNSwxMTYsNywwLDAsMCwxMDEsMTEwLDExOCwxMDUsMTE0LDExMSwxMTAsMTY4LDAsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMjQ1LDI5LDAsMCwKKyAgICAwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwKKyAgICAxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDI0NCwxMSwKKyAgICAwLDAsMCw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LDEwMSwzNCwwLAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE3LDM3LDAsMCwwLDk1LDEwOSwKKyAgICA5NywxMDcsMTAxLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywxMTUsMTAxLDQ2LDYwLAorICAgIDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksCisgICAgOTcsMTE1LDEwMSw5OSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKyAgICAxLDAsMCwwLDgzLDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsCisgICAgODMsNDAsMiwwLDAsMCwxMTcsNTMsMCwwLDAsODQsMTE0LDExNywxMDEsMzIsCisgICAgMTA1LDEwMiwzMiwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LAorICAgIDExNiwzMiw5OCwxMDEsMzIsOTksMTA0LDEwMSw5OSwxMDcsMTAxLDEwMCwzMiw5OSw5NywxMTUsCisgICAgMTAxLDQ1LDEwNSwxMTAsMTE1LDEwMSwxMTAsMTE1LDEwNSwxMTYsMTA1LDExOCwxMDEsMTA4LDEyMSw0NiwKKyAgICA3MCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNiwwLDAsMCwzOCwKKyAgICAwLDAsMCwxMTUsMiwwLDAsMCwwLDIsNDAsNCwwLDAsMCwyNDQsCisgICAgMywwLDAsMCwxMTUsMTIxLDExNSwyNDQsOCwwLDAsMCwxMTIsMTA4LDk3LDExNiwKKyAgICAxMDIsMTExLDExNCwxMDksMjQ0LDEwLDAsMCwwLDExNSwxMTYsOTcsMTE0LDExNiwxMTUsMTE5LAorICAgIDEwNSwxMTYsMTA0LDI0NCwyNywwLDAsMCw5NSw2Nyw2NSw4Myw2OSw5NSw3Myw3OCwKKyAgICA4Myw2OSw3OCw4Myw3Myw4NCw3Myw4Niw2OSw5NSw4MCw3Niw2NSw4NCw3MCw3OSwKKyAgICA4Miw3Nyw4Myw0MCwxLDAsMCwwLDExNCw2LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNiwwLDAsCisgICAgMCw5NSwxMDksOTcsMTA3LDEwMSw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsMTE1LAorICAgIDEwMSwzMiwwLDAsMCwxMTUsOCwwLDAsMCwwLDEsMTgsMSwxNSw0LAorICAgIDEyLDMsMTE0LDExLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwKKyAgICAxLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDI2LDAsMCwKKyAgICAwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEwMCwxLDAsNjQsMTA2LDEsCisgICAgMCwxMDAsMiwwLDEwMCwzLDAsMTMxLDIsMCw4Myw0MCw0LDAsMCwwLAorICAgIDExNywxMTEsMCwwLDAsNjcsMTExLDExMCwxMTgsMTAxLDExNCwxMTYsMzIsOTcsMzIsNTEsCisgICAgNTAsNDUsOTgsMTA1LDExNiwzMiwxMDUsMTEwLDExNiwxMDEsMTAzLDEwMSwxMTQsMzIsMTE2LDExMSwKKyAgICAzMiwxMDgsMTA1LDExNiwxMTYsMTA4LDEwMSw0NSwxMDEsMTEwLDEwMCwxMDUsOTcsMTEwLDQ2LDEwLAorICAgIDEwLDMyLDMyLDMyLDMyLDg4LDg4LDg4LDMyLDg0LDEwMSwxMDksMTEyLDExMSwxMTQsOTcsCisgICAgMTE0LDEyMSwzMiwxMTcsMTEwLDExNiwxMDUsMTA4LDMyLDEwOSw5NywxMTQsMTE1LDEwNCw5NywxMDgsCisgICAgMzksMTE1LDMyLDEwOCwxMTEsMTEwLDEwMywzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsCisgICAgMTE1LDMyLDk3LDExNCwxMDEsMzIsMTAxLDEyMCwxMTIsMTExLDExNSwxMDEsMTAwLDQ2LDEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDEwOCwzLDAsMCwwLDI1NSwxMjcsMjU1LDEyNywzLDAsMjMzLAorICAgIDQsMCwwLDAsMjQ0LDYsMCwwLDAsMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsNDAsCisgICAgMiwwLDAsMCwyNDQsMywwLDAsMCwxMDUsMTEwLDExNiwyNDQsOCwwLDAsCisgICAgMCwxMTYsMTExLDk1LDk4LDEyMSwxMTYsMTAxLDExNSw0MCwxLDAsMCwwLDI0NCwxLAorICAgIDAsMCwwLDEyMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwyNDQsNywwLDAsMCw5NSwxMTksOTUsMTA4LDExMSwxMTAsMTAzLDQ1LAorICAgIDAsMCwwLDExNSwyLDAsMCwwLDAsNiwxMTQsMTcsMCwwLDAsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwKKyAgICAwLDAsMTAwLDEsMCwxMzEsMiwwLDgzLDQwLDIsMCwwLDAsMTE3LDExNSwKKyAgICAwLDAsMCw2NywxMTEsMTEwLDExOCwxMDEsMTE0LDExNiwzMiw1MiwzMiw5OCwxMjEsMTE2LAorICAgIDEwMSwxMTUsMzIsMTA1LDExMCwzMiwxMDgsMTA1LDExNiwxMTYsMTA4LDEwMSw0NSwxMDEsMTEwLDEwMCwKKyAgICAxMDUsOTcsMTEwLDMyLDExNiwxMTEsMzIsOTcsMTEwLDMyLDEwNSwxMTAsMTE2LDEwMSwxMDMsMTAxLAorICAgIDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4OCw4OCw4OCwzMiw4NCwxMDEsMTA5LDExMiwKICAgICAxMTEsMTE0LDk3LDExNCwxMjEsMzIsMTE3LDExMCwxMTYsMTA1LDEwOCwzMiwxMDksOTcsMTE0LDExNSwKICAgICAxMDQsOTcsMTA4LDM5LDExNSwzMiwxMDgsMTExLDExMCwxMDMsMzIsMTAyLDExNywxMTAsOTksMTE2LAotICAgIDEwNSwxMTEsMTEwLDExNSwzMiw5NywxMTQsMTAxLDMyLDEwMSwxMjAsMTEyLDExMSwxMTUsMTAxLDEwMCwKLSAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMDUsMjU1LDAsMCwwLDEwNSw4LDAsMCwKLSAgICAwLDEwNSwxNiwwLDAsMCwxMDUsMjQsMCwwLDAsNDAsMywwLDAsMCwKLSAgICAxMTcsMywwLDAsMCwxMDUsMTEwLDExNiwxMTcsNiwwLDAsMCw5NywxMTIsMTEyLAotICAgIDEwMSwxMTAsMTAwLDExNyw5LDAsMCwwLDk4LDEyMSwxMTYsMTAxLDk3LDExNCwxMTQsOTcsCi0gICAgMTIxLDQwLDIsMCwwLDAsMTE3LDEsMCwwLDAsMTIwLDExNyw5LDAsMCwKLSAgICAwLDEwNSwxMTAsMTE2LDk1LDk4LDEyMSwxMTYsMTAxLDExNSw0MCwwLDAsMCwwLDQwLAotICAgIDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsCi0gICAgMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw3LDAsMCwwLDk1LDExOSw5NSwxMDgsMTExLAotICAgIDExMCwxMDMsNDUsMCwwLDAsMTE1LDE0LDAsMCwwLDAsNiwxMiwxLDYsCi0gICAgMSwxNywxLDIxLDEsMjEsMSwyMSwxLDExNyw3LDAsMCwwLDk1LDExOSwKLSAgICA5NSwxMDgsMTExLDExMCwxMDMsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwKLSAgICAwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNjgsMCwwLDAsMTI0LAotICAgIDAsMCwxMDAsMSwwLDI1LDEyNSwxLDAsMTI0LDEsMCwxMjQsMCwwLDEwMCwKLSAgICAyLDAsMjUsMTAwLDMsMCw2Miw3OSwxMjUsMSwwLDEyNCwxLDAsMTI0LDAsCi0gICAgMCwxMDAsNCwwLDI1LDEwMCw1LDAsNjIsNzksMTI1LDEsMCwxMjQsMSwwLAotICAgIDEyNCwwLDAsMTAwLDYsMCwyNSwxMDAsNywwLDYyLDc5LDEyNSwxLDAsMTI0LAotICAgIDEsMCw4Myw0MCw4LDAsMCwwLDExNywxMTUsMCwwLDAsNjcsMTExLDExMCwKLSAgICAxMTgsMTAxLDExNCwxMTYsMzIsNTIsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDEwNSwxMTAsMzIsCi0gICAgMTA4LDEwNSwxMTYsMTE2LDEwOCwxMDEsNDUsMTAxLDExMCwxMDAsMTA1LDk3LDExMCwzMiwxMTYsMTExLAotICAgIDMyLDk3LDExMCwzMiwxMDUsMTEwLDExNiwxMDEsMTAzLDEwMSwxMTQsNDYsMTAsMTAsMzIsMzIsCi0gICAgMzIsMzIsODgsODgsODgsMzIsODQsMTAxLDEwOSwxMTIsMTExLDExNCw5NywxMTQsMTIxLDMyLAotICAgIDExNywxMTAsMTE2LDEwNSwxMDgsMzIsMTA5LDk3LDExNCwxMTUsMTA0LDk3LDEwOCwzOSwxMTUsMzIsCi0gICAgMTA4LDExMSwxMTAsMTAzLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiw5NywxMTQsCi0gICAgMTAxLDMyLDEwMSwxMjAsMTEyLDExMSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICAxMDUsMCwwLDAsMCwxMDUsMSwwLDAsMCwxMDUsOCwwLDAsMCwxMDUsCi0gICAgMiwwLDAsMCwxMDUsMTYsMCwwLDAsMTA1LDMsMCwwLDAsMTA1LDI0LAotICAgIDAsMCwwLDQwLDAsMCwwLDAsNDAsMiwwLDAsMCwxMTcsOSwwLAotICAgIDAsMCwxMDUsMTEwLDExNiw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsMTE3LDEsMCwwLDAsCi0gICAgMTIwLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsCi0gICAgNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSwKLSAgICA5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDcsMCwKLSAgICAwLDAsOTUsMTE0LDk1LDEwOCwxMTEsMTEwLDEwMyw2MSwwLDAsMCwxMTUsMTAsMCwKLSAgICAwLDAsMCw2LDEwLDEsMTgsMSwxOCwxLDE4LDEsMTE3LDcsMCwwLAotICAgIDAsOTUsMTE0LDk1LDEwOCwxMTEsMTEwLDEwMyw5OSwwLDAsMCwwLDAsMCwwLAotICAgIDAsMywwLDAsMCw0LDAsMCwwLDcxLDAsMCwwLDExNSwxMDMsMCwKLSAgICAwLDAsMTAzLDAsMCwxMjUsMSwwLDEyMCw3MSwwLDEyNCwwLDAsNjgsOTMsCi0gICAgNjMsMCwxMjUsMiwwLDEyNCwyLDAsMTE1LDMxLDAsMTEzLDEzLDAsMTEwLDAsCi0gICAgMCwxMjQsMSwwLDEwNiwwLDAsMTI0LDIsMCwxMzEsMSwwLDEsMTI0LDIsCi0gICAgMCwxMDAsNCwwLDI1LDExNiwxLDAsMTA3LDcsMCwxMTQsMTMsMCwxMjQsMSwKLSAgICAwLDEwNiwwLDAsMTE2LDIsMCwxMzEsMSwwLDEsMTEzLDEzLDAsMTEzLDEzLAotICAgIDAsODcsMTAwLDIsMCwxMDYsMywwLDEyNCwxLDAsMTAwLDMsMCwxMDAsNSwKLSAgICAwLDEzMywyLDAsMjUsMTMxLDEsMCw4Myw0MCw2LDAsMCwwLDExNywzMSwKLSAgICAwLDAsMCw4MiwxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwKLSAgICAxMTEsMTE0LDMyLDExMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsMTA2LDExMSwxMDUsMTEwLDQwLAotICAgIDQxLDQ2LDEwNSwxLDAsMCwwLDExNywwLDAsMCwwLDc4LDEwNSwyNTUsMjU1LAotICAgIDI1NSwyNTUsMTA1LDI1NSwyNTUsMjU1LDI1NSw0MCw0LDAsMCwwLDExNyw2LDAsMCwKLSAgICAwLDk3LDExMiwxMTIsMTAxLDExMCwxMDAsMTE3LDE1LDAsMCwwLDExMiw5NywxMTYsMTA0LAotICAgIDk1LDExNSwxMDEsMTEyLDk3LDExNCw5NywxMTYsMTExLDExNCwxMTUsMTE3LDgsMCwwLDAsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsMTE3LDQsMCwwLDAsMTA2LDExMSwxMDUsCi0gICAgMTEwLDQwLDMsMCwwLDAsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LAotICAgIDExMiw5NywxMTQsMTE2LDExNSwxMTcsOSwwLDAsMCwxMTAsMTAxLDExOSw5NSwxMTIsOTcsCi0gICAgMTE0LDExNiwxMTUsMTE3LDQsMCwwLDAsMTEyLDk3LDExNCwxMTYsNDAsMCwwLDAsCi0gICAgMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsCi0gICAgMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwKLSAgICAxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsMCwwLDAsOTUsMTEyLDk3LAotICAgIDExNiwxMDQsOTUsMTA2LDExMSwxMDUsMTEwLDc0LDAsMCwwLDExNSwxNiwwLDAsMCwKLSAgICAwLDIsNiwxLDEzLDEsNiwxLDYsMSwxMywxLDE2LDEsMjAsMSwKLSAgICAxMTcsMTAsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA2LDExMSwxMDUsMTEwLDk5LAotICAgIDEsMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDMsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDg1LDAsMCwwLDEyMCw0OCwwLDExNiwwLDAsMTI0LAotICAgIDAsMCwxMzEsMSwwLDY4LDkzLDI4LDAsMTI1LDEsMCwxMjQsMSwwLDExNiwKLSAgICAxLDAsMTA3LDYsMCwxMTQsMTMsMCwxMjQsMSwwLDEyNSwyLDAsODAsMTEzLAotICAgIDEzLDAsMTEzLDEzLDAsODcsMTE2LDIsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LAotICAgIDMsMCwxMjQsMiwwLDEzMSwxLDAsOTIsMywwLDEyNSwzLDAsMTI1LDQsCi0gICAgMCwxMjUsNSwwLDEyNCwzLDAsMTI0LDUsMCwxMDIsMiwwLDgzLDQwLDEsCi0gICAgMCwwLDAsMTE3LDMyLDAsMCwwLDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksCi0gICAgMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwKLSAgICAxMTUsMTEyLDEwOCwxMDUsMTE2LDQwLDQxLDQ2LDQwLDQsMCwwLDAsMTE3LDgsMCwKLSAgICAwLDAsMTE0LDEwMSwxMTgsMTAxLDExNCwxMTUsMTAxLDEwMCwxMTcsMTUsMCwwLDAsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsOTcsMTE0LDk3LDExNiwxMTEsMTE0LDExNSwxMTcsOCwKLSAgICAwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTAxLDExMiwxMTcsMTAsMCwwLDAsCi0gICAgMTE0LDExMiw5NywxMTQsMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsNDAsNiwwLDAsMCwxMTcsCi0gICAgNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwxMTcsMSwwLDAsMCwxMjAsMTE3LDMsCi0gICAgMCwwLDAsMTE1LDEwMSwxMTIsMTE3LDUsMCwwLDAsMTAyLDExNCwxMTEsMTEwLDExNiwKLSAgICAxMTcsMSwwLDAsMCw5NSwxMTcsNCwwLDAsMCwxMTYsOTcsMTA1LDEwOCw0MCwKLSAgICAwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwKLSAgICAxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsCi0gICAgOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsMCwKLSAgICA5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTEyLDEwOCwxMDUsMTE2LDg2LDAsMCwwLDExNSwKLSAgICAxNCwwLDAsMCwwLDIsMTksMSwxMiwxLDYsMSw4LDIsNiwxLAotICAgIDI0LDEsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTIsMTA4LAotICAgIDEwNSwxMTYsOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTEsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDYxLDAsMCwwLDEyMSwxOSwwLDExNiwKLSAgICAwLDAsMTA2LDEsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDIsMCw4NywxMTAsCi0gICAgMjIsMCw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LDQzLDAsMSwxLDEsMTAwLAotICAgIDIsMCw4Myw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsMTA2LDQsMCwxMDAsMSwKLSAgICAwLDY0LDEyNCwxLDAsMTA3LDIsMCw4Myw0MCwzLDAsMCwwLDExNyw0OSwKLSAgICAwLDAsMCw4NCwxMDEsMTE1LDExNiwzMiwxMTksMTA0LDEwMSwxMTYsMTA0LDEwMSwxMTQsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDEwMSwzMiwxMTYsCi0gICAgMTIxLDExMiwxMDEsNDYsMTA1LDAsMjQwLDAsMCw3MCw0MCw1LDAsMCwwLDExNywKLSAgICAzLDAsMCwwLDk1LDExMSwxMTUsMTE3LDQsMCwwLDAsMTE1LDExNiw5NywxMTYsCi0gICAgMTE3LDcsMCwwLDAsNzksODMsNjksMTE0LDExNCwxMTEsMTE0LDExNyw1LDAsMCwKLSAgICAwLDcwLDk3LDEwOCwxMTUsMTAxLDExNyw3LDAsMCwwLDExNSwxMTYsOTUsMTA5LDExMSwKLSAgICAxMDAsMTAxLDQwLDMsMCwwLDAsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsCi0gICAgMTE3LDQsMCwwLDAsMTA5LDExMSwxMDAsMTAxLDExNyw5LDAsMCwwLDExNSwxMTYsCi0gICAgOTcsMTE2LDk1LDEwNSwxMTAsMTAyLDExMSw0MCwwLDAsMCwwLDQwLDAsMCwwLAotICAgIDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsCi0gICAgOTcsMTEyLDYyLDExNywxOCwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTE1LAotICAgIDk1LDEwOSwxMTEsMTAwLDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsOTgsMCwwLDAsMTE1LDEwLAotICAgIDAsMCwwLDAsMiwzLDEsMTksMSwxMywxLDksMSwxMTcsMTgsMCwKLSAgICAwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSw5NSwxMDksMTExLDEwMCwxMDEsOTUsCi0gICAgMTE2LDEyMSwxMTIsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwKLSAgICAwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsODMsNDAsMiwwLDAsMCwKLSAgICAxMTcsMzEsMCwwLDAsODIsMTAxLDExMiwxMDgsOTcsOTksMTAxLDEwOSwxMDEsMTEwLDExNiwKLSAgICAzMiwxMDIsMTExLDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAyLAotICAgIDEwNSwxMDgsMTAxLDQ2LDEwNSwwLDEyOCwwLDAsNDAsMSwwLDAsMCwxMTcsMTgsCi0gICAgMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSw5NSwxMDksMTExLDEwMCwxMDEsCi0gICAgOTUsMTE2LDEyMSwxMTIsMTAxLDQwLDEsMCwwLDAsMTE3LDQsMCwwLDAsMTEyLAotICAgIDk3LDExNiwxMDQsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLAotICAgIDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsCi0gICAgMTIsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsCi0gICAgMTA4LDAsMCwwLDExNSwyLDAsMCwwLDAsMiwxMTcsMTIsMCwwLDAsCi0gICAgOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsOTksMSwwLDAsCi0gICAgMCwwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NywwLDAsCi0gICAgMCwxMTUsMzQsMCwwLDAsMTI0LDAsMCwxMTUsMjEsMCwxMTYsMCwwLDEwNiwKLSAgICAxLDAsMTMxLDAsMCwxMjUsMCwwLDExMCwwLDAsMTE2LDIsMCwxMjQsMCwKLSAgICAwLDEwMCwxLDAsMTMxLDIsMCw4Myw0MCwyLDAsMCwwLDExNywzMCwwLAorICAgIDEwNSwxMTEsMTEwLDMyLDk3LDExNCwxMDEsMzIsMTAxLDEyMCwxMTIsMTExLDExNSwxMDEsMTAwLDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDExNCwxMywwLDAsMCw0MCwyLDAsMCwwLAorICAgIDExNCwxNCwwLDAsMCwyNDQsMTAsMCwwLDAsMTAyLDExNCwxMTEsMTA5LDk1LDk4LAorICAgIDEyMSwxMTYsMTAxLDExNSw0MCwxLDAsMCwwLDExNiw5LDAsMCwwLDEwNSwxMTAsCisgICAgMTE2LDk1LDk4LDEyMSwxMTYsMTAxLDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyNDQsNywwLDAsMCw5NSwxMTQsOTUsMTA4LDExMSwKKyAgICAxMTAsMTAzLDU1LDAsMCwwLDExNSwyLDAsMCwwLDAsNiwxMTQsMTksMCwKKyAgICAwLDAsOTksMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMywKKyAgICAwLDAsMCw3MSwwLDAsMCwxMTUsMjYsMCwwLDAsMTE2LDAsMCwxMDYsCisgICAgMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLDEyNCwwLDAsNjgsMTMxLAorICAgIDEsMCwxMzEsMSwwLDgzLDQwLDMsMCwwLDAsMTE3LDMxLDAsMCwwLAorICAgIDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsMzIsCisgICAgMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMDYsMTExLDEwNSwxMTAsNDAsNDEsNDYsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwKKyAgICA4MywwLDAsMCwxMTUsMzcsMCwwLDAsMTAzLDAsMCwxMjQsMCwwLDkzLAorICAgIDI3LDAsMTI1LDEsMCwxMjQsMSwwLDExNCw2LDAsMTI0LDEsMCwxMDYsMCwKKyAgICAwLDExNiwxLDAsMTMxLDEsMCwxNDUsMiwwLDExMyw2LDAsODMsMTE0LDQsCisgICAgMCwwLDAsNDAsMiwwLDAsMCwyNDQsNiwwLDAsMCwxMTQsMTE1LDExNiwKKyAgICAxMTQsMTA1LDExMiwyNDQsMTUsMCwwLDAsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsCisgICAgOTcsMTE0LDk3LDExNiwxMTEsMTE0LDExNSw0MCwyLDAsMCwwLDI0NCwyLDAsMCwKKyAgICAwLDQ2LDQ4LDI0NCw0LDAsMCwwLDExMiw5NywxMTQsMTE2LDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NSwxMCwwLDAsMCwKKyAgICA2MCwxMDgsMTA1LDExNSwxMTYsOTksMTExLDEwOSwxMTIsNjIsNjYsMCwwLDAsMTE1LDIsCisgICAgMCwwLDAsOSwxLDExNywzMCwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKKyAgICAxMDYsMTExLDEwNSwxMTAsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwOCwKKyAgICAxMDUsMTE1LDExNiw5OSwxMTEsMTA5LDExMiw2Miw0MCwyLDAsMCwwLDI0NCw4LDAsCisgICAgMCwwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMDEsMTEyLDI0NCw0LDAsMCwwLDEwNiwKKyAgICAxMTEsMTA1LDExMCw0MCwxLDAsMCwwLDI0NCwxMCwwLDAsMCwxMTIsOTcsMTE2LAorICAgIDEwNCw5NSwxMTIsOTcsMTE0LDExNiwxMTUsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjQ0LDEwLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LAorICAgIDk1LDEwNiwxMTEsMTA1LDExMCw2NCwwLDAsMCwxMTUsNCwwLDAsMCwwLDIsCisgICAgMTUsMSwxMTQsMjgsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDUsMCwwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsMTM0LDAsMCwKKyAgICAwLDExNiwwLDAsMTE2LDEsMCwxMzEsMSwwLDEwMCwxLDAsMTA3LDIsMCwKKyAgICAxMTQsNTIsMCwxMjQsMCwwLDEwNiwyLDAsMTE2LDMsMCwxMzEsMSwwLDkyLAorICAgIDMsMCwxMjUsMSwwLDEyNSwyLDAsMTI1LDMsMCwxMjQsMSwwLDEyNCwzLAorICAgIDAsMTAyLDIsMCw4MywxMjAsNjksMCwxMTYsNCwwLDEyNCwwLDAsMTMxLDEsCisgICAgMCw2OCw5Myw1NSwwLDEyNSw0LDAsMTI0LDQsMCwxMTYsMSwwLDEwNyw2LAorICAgIDAsMTE0LDY1LDAsMTI0LDAsMCwxMDYsNSwwLDEyNCw0LDAsMTAwLDIsMCwKKyAgICAxMDAsMSwwLDEzMSwxLDEsOTIsMiwwLDEyNSwxLDAsMTI1LDMsMCwxMjQsCisgICAgMSwwLDEyNCwzLDAsMTAyLDIsMCw4MywxMTMsNjUsMCw4NywxMDAsMywwLAorICAgIDEyNCwwLDAsMTAyLDIsMCw4Myw0MCw0LDAsMCwwLDExNywzMiwwLDAsCisgICAgMCw4MiwxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LAorICAgIDMyLDExMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsMTE1LDExMiwxMDgsMTA1LDExNiw0MCw0MSwKKyAgICA0NiwyMzMsMSwwLDAsMCwxMTYsOCwwLDAsMCwxMDksOTcsMTIwLDExNSwxMTIsCisgICAgMTA4LDEwNSwxMTYsMjQ0LDAsMCwwLDAsNDAsNiwwLDAsMCwyNDQsMywwLAorICAgIDAsMCwxMDgsMTAxLDExMCwxMTQsMjEsMCwwLDAsMjQ0LDEwLDAsMCwwLDExNCwKKyAgICAxMTIsOTcsMTE0LDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLDExNCwyNSwwLDAsMCwyNDQsOCwKKyAgICAwLDAsMCwxMTQsMTAxLDExOCwxMDEsMTE0LDExNSwxMDEsMTAwLDI0NCw2LDAsMCwwLAorICAgIDExNCwxMTUsMTEyLDEwOCwxMDUsMTE2LDQwLDUsMCwwLDAsMjQ0LDQsMCwwLDAsCisgICAgMTEyLDk3LDExNiwxMDQsMTE2LDUsMCwwLDAsMTAyLDExNCwxMTEsMTEwLDExNiwyNDQsMSwKKyAgICAwLDAsMCw5NSwyNDQsNCwwLDAsMCwxMTYsOTcsMTA1LDEwOCwxMTQsMTYsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMjQ0LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTIsMTA4LDEwNSwKKyAgICAxMTYsNzAsMCwwLDAsMTE1LDE2LDAsMCwwLDAsMiwxOCwxLDI0LDEsCisgICAgMTAsMSwxOSwxLDEyLDEsMjcsMSwxNCwxLDExNCwzOCwwLDAsMCw5OSwKKyAgICAyLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxMSwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsNjEsMCwwLDAsMTIxLDE5LDAsMTE2LDAsMCwxMDYsCisgICAgMSwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsMiwwLDg3LDExMCwyMiwwLDQsCisgICAgMTE2LDIsMCwxMDcsMTAsMCwxMTQsNDMsMCwxLDEsMSwxMDAsMSwwLDgzLAorICAgIDg5LDExMCwxLDAsODgsMTI0LDIsMCwxMDYsMywwLDEwMCwyLDAsNjQsMTI0LAorICAgIDEsMCwxMDcsMiwwLDgzLDQwLDMsMCwwLDAsMTE3LDQ5LDAsMCwwLAorICAgIDg0LDEwMSwxMTUsMTE2LDMyLDExOSwxMDQsMTAxLDExNiwxMDQsMTAxLDExNCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLAorICAgIDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTAxLDMyLDExNiwxMjEsMTEyLDEwMSwKKyAgICA0Niw3MCwxMDUsMCwyNDAsMCwwLDQwLDQsMCwwLDAsMTE0LDMsMCwwLAorICAgIDAsMjQ0LDQsMCwwLDAsMTE1LDExNiw5NywxMTYsMjQ0LDcsMCwwLDAsNzksCisgICAgODMsNjksMTE0LDExNCwxMTEsMTE0LDI0NCw3LDAsMCwwLDExNSwxMTYsOTUsMTA5LDExMSwKKyAgICAxMDAsMTAxLDQwLDMsMCwwLDAsMTE0LDM1LDAsMCwwLDI0NCw0LDAsMCwKKyAgICAwLDEwOSwxMTEsMTAwLDEwMSwxMTYsOSwwLDAsMCwxMTUsMTE2LDk3LDExNiw5NSwxMDUsCisgICAgMTEwLDEwMiwxMTEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjQ0LDE4LDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsOTUsCisgICAgMTA5LDExMSwxMDAsMTAxLDk1LDExNiwxMjEsMTEyLDEwMSw4MiwwLDAsMCwxMTUsMTAsMCwKKyAgICAwLDAsMCwyLDMsMSwxOSwxLDEzLDEsOSwxLDExNCw0MywwLDAsCisgICAgMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwzLDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSwxMywwLDAsMCwxMTYsMCwwLDEyNCwwLAorICAgIDAsMTAwLDEsMCwxMzEsMiwwLDgzLDQwLDIsMCwwLDAsMTE3LDMxLDAsCiAgICAgMCwwLDgyLDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMDksMTAxLDExMCwxMTYsMzIsMTAyLDExMSwKLSAgICAxMTQsMzIsMTExLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw0NiwxMDUsMTE1LDEwMCwxMDUsMTE0LDQ2LAotICAgIDEwNSwwLDY0LDAsMCw0MCwzLDAsMCwwLDExNywzLDAsMCwwLDk1LAotICAgIDExMSwxMTUsMTE3LDYsMCwwLDAsMTAzLDEwMSwxMTYsOTksMTE5LDEwMCwxMTcsMTgsMCwKLSAgICAwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSw5NSwxMDksMTExLDEwMCwxMDEsOTUsCi0gICAgMTE2LDEyMSwxMTIsMTAxLDQwLDEsMCwwLDAsMTE3LDQsMCwwLDAsMTEyLDk3LAotICAgIDExNiwxMDQsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsCi0gICAgMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsCi0gICAgMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTEsCi0gICAgMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSwxMDAsMTA1LDExNCwxMTQsMCwKLSAgICAwLDAsMTE1LDYsMCwwLDAsMCwyLDYsMSwxNSwxLDExNywxMSwwLAotICAgIDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTE1LDEwMCwxMDUsMTE0LDEwNSwxODIsMSwKLSAgICAwLDAsOTksMywwLDAsMCwwLDAsMCwwLDYsMCwwLDAsMTcsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDE5MiwwLDAsMCwxMDAsMSwwLDEwNiwKLSAgICAwLDAsMTI0LDAsMCwxMTYsMSwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsMiwKLSAgICAwLDEyNSwzLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwzLDAsMTE2LDIsMCwKLSAgICAxMDYsNCwwLDExNiwyLDAsMTA2LDUsMCw2NiwxMTYsMiwwLDEwNiw2LDAsCi0gICAgNjYsMTI0LDIsMCwxMDAsMiwwLDY0LDEzMSwzLDAsMTI1LDQsMCwxMjEsNjAsCi0gICAgMCwxMTYsNywwLDEwNiw4LDAsMTI0LDQsMCwxMDAsMywwLDEzMSwyLDAsCi0gICAgMTQzLDIwLDAsMTI1LDUsMCwxMjQsNSwwLDEwNiw5LDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEsODcsMTAwLDQsMCw4MSw4OCwxMTYsMiwwLDEwNiwxMCwwLDEyNCwKLSAgICAzLDAsMTI0LDAsMCwxMzEsMiwwLDEsODcsMTEwLDU5LDAsNCwxMTYsMTEsCi0gICAgMCwxMDcsMTAsMCwxMTQsMTg3LDAsMSwxLDEsMTIxLDE3LDAsMTE2LDIsMCwKLSAgICAxMDYsMTIsMCwxMjQsMywwLDEzMSwxLDAsMSw4NywxMTAsMTgsMCw0LDExNiwKLSAgICAxMSwwLDEwNywxMCwwLDExNCwxNzksMCwxLDEsMSw4OSwxMTAsMSwwLDg4LAotICAgIDEzMCwwLDAsODksMTEwLDEsMCw4OCwxMDAsNCwwLDgzLDQwLDUsMCwwLAotICAgIDAsMTE3LDE2MiwwLDAsMCw2NiwxMDEsMTE1LDExNiw0NSwxMDEsMTAyLDEwMiwxMTEsMTE0LAotICAgIDExNiwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE2LDExMSwzMiwxMTksMTE0LAotICAgIDEwNSwxMTYsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTE2LDExMSwzMiw5NywzMiwxMTIsOTcsCi0gICAgMTE2LDEwNCwzMiw5NywxMTYsMTExLDEwOSwxMDUsOTksOTcsMTA4LDEwOCwxMjEsNDYsMTAsMzIsCi0gICAgMzIsMzIsMzIsNjYsMTAxLDMyLDExMiwxMTQsMTAxLDExMiw5NywxMTQsMTAxLDEwMCwzMiwxMTYsCi0gICAgMTExLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsOTcsMzIsNzAsMTA1LDEwOCwxMDEsNjksCi0gICAgMTIwLDEwNSwxMTUsMTE2LDExNSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDEwMiwzMiw5OSwxMTEsCi0gICAgMTEwLDk5LDExNywxMTQsMTE0LDEwMSwxMTAsMTE2LDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywKLSAgICAzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMDEsMTA5LDExMiwKLSAgICAxMTEsMTE0LDk3LDExNCwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTcsMTE2LAotICAgIDExNiwxMDEsMTA5LDExMiwxMTYsMTAxLDEwMCw0NiwxMTcsNSwwLDAsMCwxMjMsMTI1LDQ2LAotICAgIDEyMywxMjUsMTA1LDE4MiwxLDAsMCwxMTcsMiwwLDAsMCwxMTksOTgsNzgsNDAsCi0gICAgMTMsMCwwLDAsMTE3LDYsMCwwLDAsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwxMTcsCi0gICAgMiwwLDAsMCwxMDUsMTAwLDExNywzLDAsMCwwLDk1LDExMSwxMTUsMTE3LDQsCi0gICAgMCwwLDAsMTExLDExMiwxMDEsMTEwLDExNyw2LDAsMCwwLDc5LDk1LDY5LDg4LAotICAgIDY3LDc2LDExNyw3LDAsMCwwLDc5LDk1LDY3LDgyLDY5LDY1LDg0LDExNyw4LAotICAgIDAsMCwwLDc5LDk1LDg3LDgyLDc5LDc4LDc2LDg5LDExNywzLDAsMCwwLAotICAgIDk1LDEwNSwxMTEsMTE3LDYsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzMsNzksMTE3LDUsCi0gICAgMCwwLDAsMTE5LDExNCwxMDUsMTE2LDEwMSwxMTcsNywwLDAsMCwxMTQsMTAxLDExMiwKLSAgICAxMDgsOTcsOTksMTAxLDExNyw3LDAsMCwwLDc5LDgzLDY5LDExNCwxMTQsMTExLDExNCwKLSAgICAxMTcsNiwwLDAsMCwxMTcsMTEwLDEwOCwxMDUsMTEwLDEwNyw0MCw2LDAsMCwwLAotICAgIDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNyw0LDAsMCwwLDEwMCw5NywKLSAgICAxMTYsOTcsMTE3LDQsMCwwLDAsMTA5LDExMSwxMDAsMTAxLDExNyw4LDAsMCwwLAotICAgIDExMiw5NywxMTYsMTA0LDk1LDExNiwxMDksMTEyLDExNywyLDAsMCwwLDEwMiwxMDAsMTE3LAotICAgIDQsMCwwLDAsMTAyLDEwNSwxMDgsMTAxLDQwLDAsMCwwLDAsNDAsMCwwLAotICAgIDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LAotICAgIDExNCw5NywxMTIsNjIsMTE3LDEzLDAsMCwwLDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsCi0gICAgOTcsMTE2LDExMSwxMDksMTA1LDk5LDEyMSwwLDAsMCwxMTUsMjYsMCwwLDAsMCwKLSAgICA1LDI0LDEsOSwxLDMzLDEsMywzLDIxLDEsMTksMSwyMCwxLDEzLAotICAgIDEsMywxLDE3LDEsMTMsMSw1LDEsMTE3LDEzLDAsMCwwLDk1LDExOSwKLSAgICAxMTQsMTA1LDExNiwxMDEsOTUsOTcsMTE2LDExMSwxMDksMTA1LDk5LDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCwzLDAsMCwwLDcsMCwwLDAsNjcsMCwwLDAsCi0gICAgMTE1LDk1LDAsMCwwLDEyMCw2OSwwLDEwMCwxLDAsMTAwLDIsMCwxMDAsMywKLSAgICAwLDEwMCw0LDAsMTAzLDQsMCw2OCw5Myw0OSwwLDEyNSwyLDAsMTE2LDAsCi0gICAgMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMTQsMTksMCwxMTYsMSwwLAotICAgIDEyNCwwLDAsMTI0LDIsMCwxMTYsMiwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsCi0gICAgMiwwLDEzMSwzLDAsMSwxMTMsMTksMCwxMTMsMTksMCw4NywxMjQsMCwwLAotICAgIDEwNiwzLDAsMTA2LDQsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLDEsMCwxLAotICAgIDEwMCw1LDAsODMsNDAsNiwwLDAsMCwxMTcsNDcsMCwwLDAsODMsMTA1LAotICAgIDEwOSwxMTIsMTA4LDEwMSwzMiwxMTUsMTE3LDk4LDExNSwxMTYsMTA1LDExNiwxMTcsMTE2LDEwMSwzMiwKLSAgICAxMDIsMTExLDExNCwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTExLDExMSwxMDgsMTE1LDQ2LDExNywxMTIsCi0gICAgMTAwLDk3LDExNiwxMDEsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDYsMTE3LDEwLDAsCi0gICAgMCwwLDk1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk1LDExNyw4LDAsMCwKLSAgICAwLDk1LDk1LDExMCw5NywxMDksMTAxLDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwKLSAgICAxMTMsMTE3LDk3LDEwOCwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsNywwLDAsMCw5NSwKLSAgICA5NSwxMDAsMTExLDk5LDk1LDk1LDc4LDQwLDUsMCwwLDAsMTE3LDcsMCwwLAotICAgIDAsMTA0LDk3LDExNSw5NywxMTYsMTE2LDExNCwxMTcsNywwLDAsMCwxMTUsMTAxLDExNiwKLSAgICA5NywxMTYsMTE2LDExNCwxMTcsNywwLDAsMCwxMDMsMTAxLDExNiw5NywxMTYsMTE2LDExNCwKLSAgICAxMTcsOCwwLDAsMCw5NSw5NSwxMDAsMTA1LDk5LDExNiw5NSw5NSwxMTcsNiwwLAotICAgIDAsMCwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLDQwLDMsMCwwLDAsMTE3LDMsMCwKLSAgICAwLDAsMTEwLDEwMSwxMTksMTE3LDMsMCwwLDAsMTExLDEwOCwxMDAsMTE3LDcsMCwKLSAgICAwLDAsMTE0LDEwMSwxMTIsMTA4LDk3LDk5LDEwMSw0MCwwLDAsMCwwLDQwLDAsCi0gICAgMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLAotICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LAotICAgIDExNiwxMTQsOTcsMTEyLDYyLDExNyw1LDAsMCwwLDk1LDExOSwxMTQsOTcsMTEyLDE0MywKLSAgICAwLDAsMCwxMTUsOCwwLDAsMCwwLDIsMjUsMSwxNSwxLDMyLDEsCi0gICAgMTE3LDUsMCwwLDAsOTUsMTE5LDExNCw5NywxMTIsOTksMSwwLDAsMCwwLAotICAgIDAsMCwwLDEsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgMTYsMCwwLDAsMTE2LDAsMCwxMTYsMSwwLDEzMSwxLDAsMTI0LDAsMCwKLSAgICAxMzEsMSwwLDgzLDQwLDEsMCwwLDAsMTE3LDc1LDAsMCwwLDY3LDExNCwKLSAgICAxMDEsOTcsMTE2LDEwMSwzMiw5NywzMiwxMTAsMTAxLDExOSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTAxLDExMCwxMTYsMTAxLDExNCwxMDEsCi0gICAgMTAwLDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsNDAsMiwwLDAsMCwxMTcsNCwKLSAgICAwLDAsMCwxMTYsMTIxLDExMiwxMDEsMTE3LDMsMCwwLDAsOTUsMTA1LDExMSw0MCwKLSAgICAxLDAsMCwwLDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLDQwLDAsMCwKLSAgICAwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwKLSAgICAxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDEwLDAsMCwwLDExMCwxMDEsCi0gICAgMTE5LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDE1NCwwLDAsMCwxMTUsMiwwLDAsCi0gICAgMCwwLDYsMTE3LDEwLDAsMCwwLDExMCwxMDEsMTE5LDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDEsCi0gICAgMCwwLDAsNjYsMCwwLDAsMTE1LDIwLDAsMCwwLDEyNCwwLDAsNjksCi0gICAgMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw4MywKLSAgICA0MCwyLDAsMCwwLDExNywxNCwwLDAsMCw5NSw2OCwxMDEsOTcsMTAwLDEwOCwKLSAgICAxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCw3OCw0MCwzLDAsMCwwLDExNyw4LAotICAgIDAsMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLDk1LDk1LDExNywxMCwwLDAsMCwKLSAgICA5NSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSw5NSwxMTcsMTIsMCwwLDAsOTUsCi0gICAgOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsOTUsOTUsNDAsMSwwLDAsMCwKLSAgICAxMTcsMTAsMCwwLDAsOTUsOTUsMTA4LDExMSw5OSw5NywxMDgsMTE1LDk1LDk1LDQwLAotICAgIDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLAotICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0NiwKLSAgICA5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE0LDAsMCwwLAotICAgIDk1LDY4LDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsNjksMTE0LDExNCwxMTEsMTE0LDE3MSwwLAotICAgIDAsMCwxMTUsMiwwLDAsMCwxNiwxLDExNywxNCwwLDAsMCw5NSw2OCwKLSAgICAxMDEsOTcsMTAwLDEwOCwxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCw5OSwxLDAsMCwKLSAgICAwLDAsMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDY2LDAsMCwKLSAgICAwLDExNSw4NiwwLDAsMCwxMjQsMCwwLDY5LDEwMSwwLDAsOTAsMSwwLAotICAgIDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLAotICAgIDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsCi0gICAgMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLAotICAgIDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDcsMCwxMDAsMTAsMCwxMDAsCi0gICAgMTEsMCwxMzIsMCwwLDkwLDgsMCwxMDAsMTIsMCw4Myw0MCwxMywwLDAsCi0gICAgMCwxMTcsMTEsMCwwLDAsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksCi0gICAgMTA3LDExNywxNjksMCwwLDAsNjUsMzIsMTE0LDEwMSw5OSwxMTcsMTE0LDExNSwxMDUsMTE4LAotICAgIDEwMSwzMiwxMDgsMTExLDk5LDEwNywzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKLSAgICA5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDEwNSwxMTUsMzIsOTcsCi0gICAgOTgsMTA4LDEwMSwzMiwxMTYsMTExLDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsMzIsMTAwLDEwMSwKLSAgICA5NywxMDAsMTA4LDExMSw5OSwxMDcsMTE1LDEwLDMyLDMyLDMyLDMyLDQwLDEwMSw0NiwxMDMsCi0gICAgNDYsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwzMiw0OSwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLAotICAgIDEwMywzMiwxMTYsMTExLDMyLDExNiw5NywxMDcsMTAxLDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiwKLSAgICA2NSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNjYsNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LAotICAgIDExNCwxMDEsOTcsMTAwLDMyLDUwLDMyLDExNiwxMTQsMTIxLDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTE2LDk3LDEwNywxMDEsMzIsMTA4LDExMSw5OSwxMDcsMTE1LDMyLAotICAgIDY2LDMyLDExNiwxMDQsMTAxLDExMCwzMiw2NSw0MSw0NiwxMCwzMiwzMiwzMiwzMiw5OSwKLSAgICAyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSw3MCwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLAotICAgIDAsMCwxMjQsMCwwLDk1LDIsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsCi0gICAgMCwxMjQsMCwwLDk1LDMsMCwxMjQsMSwwLDEyNCwwLDAsOTUsNCwwLAotICAgIDEwMCwwLDAsMTI0LDAsMCw5NSw2LDAsMTAwLDEsMCwxMjQsMCwwLDk1LAotICAgIDcsMCwxMDAsMSwwLDEyNCwwLDAsOTUsOCwwLDEwMCwwLDAsODMsNDAsCi0gICAgMiwwLDAsMCw3OCwxMDUsMCwwLDAsMCw0MCw5LDAsMCwwLDExNywKLSAgICA3LDAsMCwwLDk1LDExNiwxMDQsMTE0LDEwMSw5NywxMDAsMTE3LDEzLDAsMCwwLAotICAgIDk3LDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE3LDQsMCwKLSAgICAwLDAsMTA4LDExMSw5OSwxMDcsMTE3LDYsMCwwLDAsMTE5LDk3LDEwNywxMDEsMTE3LAotICAgIDExMiwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCw3OCwKLSAgICAxMTEsMTEwLDEwMSwxMTcsNSwwLDAsMCwxMTEsMTE5LDExMCwxMDEsMTE0LDExNyw1LDAsCi0gICAgMCwwLDk5LDExMSwxMTcsMTEwLDExNiwxMTcsNywwLDAsMCwxMTksOTcsMTA1LDExNiwKLSAgICAxMDEsMTE0LDExNSw0MCwyLDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LAotICAgIDEwMiwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLDQwLAotICAgIDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsCi0gICAgMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw4LDAsMCwwLDk1LDk1LDEwNSwxMTAsMTA1LAotICAgIDExNiw5NSw5NSwxODEsMCwwLDAsMTE1LDEyLDAsMCwwLDAsMSwxNSwxLAotICAgIDE1LDEsOSwxLDksMSw5LDEsMTE3LDIwLDAsMCwwLDk1LDc3LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsCi0gICAgOTUsOTksMSwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsMiwwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsODcsMCwwLDAsMTE2LDAsMCwxMDYsMSwKLSAgICAwLDEzMSwwLDAsMTI1LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTI1LDIsMCwKLSAgICAxMjAsNTksMCwxMTYsMywwLDEwNiw0LDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwKLSAgICAzLDAsMTI0LDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDU1LDAsMTAwLDEsCi0gICAgMCw4MywxMjQsMywwLDEwNiwyLDAsMTI1LDIsMCwxMjQsMiwwLDEyNCwxLAotICAgIDAsMTA3LDIsMCwxMTQsMjQsMCwxMDAsMiwwLDgzLDExMywyNCwwLDEwMCwwLAotICAgIDAsODMsNDAsMywwLDAsMCw3OCw3MCw4NCw0MCw4LDAsMCwwLDExNywKLSAgICA3LDAsMCwwLDk1LDExNiwxMDQsMTE0LDEwMSw5NywxMDAsMTE3LDksMCwwLDAsCi0gICAgMTAzLDEwMSwxMTYsOTUsMTA1LDEwMCwxMDEsMTEwLDExNiwxMTcsNSwwLDAsMCwxMTEsMTE5LAotICAgIDExMCwxMDEsMTE0LDExNywxMiwwLDAsMCw5NSw5OCwxMDgsMTExLDk5LDEwNywxMDUsMTEwLAotICAgIDEwMyw5NSwxMTEsMTEwLDExNywzLDAsMCwwLDEwMywxMDEsMTE2LDExNyw0LDAsMCwKLSAgICAwLDc4LDExMSwxMTAsMTAxLDExNyw1LDAsMCwwLDcwLDk3LDEwOCwxMTUsMTAxLDExNywKLSAgICA0LDAsMCwwLDg0LDExNCwxMTcsMTAxLDQwLDQsMCwwLDAsMTE3LDQsMCwKLSAgICAwLDAsMTE1LDEwMSwxMDgsMTAyLDExNywyLDAsMCwwLDEwOSwxMDEsMTE3LDMsMCwKLSAgICAwLDAsMTE2LDEwNSwxMDAsMTE3LDQsMCwwLDAsMTA4LDExMSw5OSwxMDcsNDAsMCwKLSAgICAwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTIsMCwwLDAsMTA0LAotICAgIDk3LDExNSw5NSwxMDAsMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNywxODksMCwwLDAsMTE1LAotICAgIDE4LDAsMCwwLDAsMiwxMiwxLDksMSwzLDEsMTUsMSwxMiwxLAotICAgIDQsMSw5LDEsMTIsMSwxMTcsMjQsMCwwLDAsOTUsNzcsMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDEwNCw5NywxMTUsOTUsMTAwLDEwMSw5NywxMDAsMTA4LAotICAgIDExMSw5OSwxMDcsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCi0gICAgMTcsMCwwLDAsNjcsMCwwLDAsMTE1LDIxNCwwLDAsMCwxMTYsMCwwLAotICAgIDEwNiwxLDAsMTMxLDAsMCwxMjUsMSwwLDEyNCwwLDAsMTE2LDIsMCwxMjQsCi0gICAgMSwwLDYwLDEyMiwxNzcsMCwxMjAsMTcwLDAsMTI0LDAsMCwxMDYsMywwLDE0MywKLSAgICAxMzAsMCwxLDEyNCwwLDAsMTA2LDQsMCwxMDAsMSwwLDEwNywyLDAsMTE1LAotICAgIDY4LDAsMTI0LDAsMCwxMDYsNSwwLDEyNCwxLDAsMTA3LDIsMCwxMTQsOTYsCi0gICAgMCwxMjQsMSwwLDEyNCwwLDAsOTUsNSwwLDEyNCwwLDAsNCwxMDYsNCwKLSAgICAwLDEwMCwyLDAsNTUsMiw5NSw0LDAsMTAwLDUsMCw4MywxMjQsMCwwLAotICAgIDEwNiw3LDAsMTMxLDAsMCwxMTQsMTI3LDAsMTE2LDgsMCwxMDAsMywwLDEyNCwKLSAgICAwLDAsMjIsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDAsMCwxMDYsCi0gICAgOSwwLDEwNiwxMCwwLDEwMCw2LDAsMTMxLDEsMCwxMTQsMTYzLDAsMTI0LDAsCi0gICAgMCw0LDEwNiwxMiwwLDEwMCwyLDAsNTUsMiw5NSwxMiwwLDExMCwwLDAsCi0gICAgODcsMTAwLDQsMCw4MSw4OCwxMjQsMCwwLDEwNiw5LDAsMTA2LDEwLDAsMTMxLAotICAgIDAsMCwxLDEyNCwwLDAsMTA2LDksMCwxMDYsMTMsMCwxMzEsMCwwLDEsCi0gICAgMTEzLDI4LDAsODcsMTAwLDQsMCwxMTYsMiwwLDEyNCwxLDAsNjEsODgsMTAwLAotICAgIDQsMCw4Myw0MCw3LDAsMCwwLDExNywxODUsMCwwLDAsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsNjUsOTksMTEzLDExNywxMDUsMTE0LDEwMSwzMiwxMTYsMTA0LAotICAgIDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk5LDEwNyw0NiwzMiwzMiwKLSAgICA3MywxMDIsMzIsOTcsMzIsMTEyLDExMSwxMTYsMTAxLDExMCwxMTYsMTA1LDk3LDEwOCwzMiwxMDAsCi0gICAgMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNywzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTE2LDEwMSw5OSwKLSAgICAxMTYsMTAxLDEwMCw0NCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5NywzMiw5NSwKLSAgICA2OCwxMDEsOTcsMTAwLDEwOCwxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LAotICAgIDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsNzksMTE2LDEwNCwxMDEsMTE0LDExOSwxMDUsMTE1LDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMDgsMTExLDk5LDEwNywzMiwxMDUsMTE1LDMyLDk3LDEwOCwxMTksOTcsMTIxLDExNSwzMiw5NywKLSAgICA5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiw5NywxMTAsMTAwLDMyLDg0LDExNCwxMTcsMTAxLAotICAgIDMyLDEwNSwxMTUsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTAxLDEwMCw0NiwxMCwzMiwzMiwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwxMDUsMCwwLDAsMCwxMDUsMSwwLDAsMCwKLSAgICAxMTcsMjMsMCwwLDAsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMzIsMTAwLDEwMSwKLSAgICAxMTYsMTAxLDk5LDExNiwxMDEsMTAwLDMyLDk4LDEyMSwzMiwzNywxMTQsNzgsODQsNzAsNDAsCi0gICAgMTQsMCwwLDAsMTE3LDcsMCwwLDAsOTUsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwKLSAgICAxMTcsOSwwLDAsMCwxMDMsMTAxLDExNiw5NSwxMDUsMTAwLDEwMSwxMTAsMTE2LDExNywxMiwKLSAgICAwLDAsMCw5NSw5OCwxMDgsMTExLDk5LDEwNywxMDUsMTEwLDEwMyw5NSwxMTEsMTEwLDExNywKLSAgICA0LDAsMCwwLDEwOCwxMTEsOTksMTA3LDExNyw1LDAsMCwwLDk5LDExMSwxMTcsCi0gICAgMTEwLDExNiwxMTcsNSwwLDAsMCwxMTEsMTE5LDExMCwxMDEsMTE0LDExNyw0LDAsMCwKLSAgICAwLDg0LDExNCwxMTcsMTAxLDExNywxMiwwLDAsMCwxMDQsOTcsMTE1LDk1LDEwMCwxMDEsCi0gICAgOTcsMTAwLDEwOCwxMTEsOTksMTA3LDExNywxNCwwLDAsMCw5NSw2OCwxMDEsOTcsMTAwLAotICAgIDEwOCwxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCwxMTcsNiwwLDAsMCwxMTksOTcsCi0gICAgMTA3LDEwMSwxMTcsMTEyLDExNyw3LDAsMCwwLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsCi0gICAgMTE3LDUsMCwwLDAsNzAsOTcsMTA4LDExNSwxMDEsMTE3LDcsMCwwLDAsMTE5LAotICAgIDk3LDEwNSwxMTYsMTAxLDExNCwxMTUsMTE3LDcsMCwwLDAsMTE0LDEwMSwxMDgsMTAxLDk3LAotICAgIDExNSwxMDEsNDAsMiwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsCi0gICAgMTE3LDMsMCwwLDAsMTE2LDEwNSwxMDAsNDAsMCwwLDAsMCw0MCwwLDAsCi0gICAgMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsCi0gICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsCi0gICAgMTE0LDk3LDExMiw2MiwxMTcsNywwLDAsMCw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLAotICAgIDIwMSwwLDAsMCwxMTUsMzIsMCwwLDAsMCw2LDEyLDEsMTAsMSwzLAotICAgIDEsMywxLDEwLDEsMzAsMSw5LDEsMTUsMSw0LDEsMTIsMSwxOSwKLSAgICAxLDE4LDEsMjQsMiwxMywxLDIwLDIsMTE3LDE5LDAsMCwwLDk1LDc3LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsCi0gICAgMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEwLDAsCi0gICAgMCwwLDY3LDAsMCwwLDExNSwxNjUsMCwwLDAsMTE2LDAsMCwxMDYsMSwKLSAgICAwLDEzMSwwLDAsMTI1LDEsMCwxMjQsMCwwLDEwNiwyLDAsMTQzLDEzOCwwLAotICAgIDEsMTI0LDAsMCwxMDYsMywwLDEyNCwxLDAsMTA3LDMsMCwxMTQsNTIsMCwKLSAgICAxMTYsNCwwLDEwMCwxLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LAotICAgIDAsMCwxMDYsNSwwLDEwMCwyLDAsMTA3LDQsMCwxMTUsNzMsMCwxMTYsNiwKLSAgICAwLDEzMCwxLDAsMTI0LDAsMCw0LDEwNiw1LDAsMTAwLDMsMCw1NiwyLAotICAgIDk1LDUsMCwxMjQsMCwwLDEwNiw1LDAsMTAwLDIsMCwxMDcsMiwwLDExNCwKLSAgICAxNTUsMCwxMDAsMCwwLDEyNCwwLDAsOTUsMywwLDEyNCwwLDAsMTA2LDgsCi0gICAgMCwxMTQsMTU1LDAsMTI0LDAsMCw0LDEwNiw4LDAsMTAwLDMsMCw1NiwyLAotICAgIDk1LDgsMCwxMjQsMCwwLDEwNiw5LDAsMTA2LDEwLDAsMTMxLDAsMCwxLAotICAgIDExMywxNTUsMCwxMTAsMCwwLDg3LDEwMCwwLDAsODEsODgsMTAwLDAsMCw4MywKLSAgICA0MCw0LDAsMCwwLDc4LDExNywzMSwwLDAsMCw5OSw5NywxMTAsMTEwLDExMSwKLSAgICAxMTYsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsCi0gICAgMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMDUsMCwwLDAsMCwxMDUsCi0gICAgMSwwLDAsMCw0MCwxMSwwLDAsMCwxMTcsNywwLDAsMCw5NSwxMTYsCi0gICAgMTA0LDExNCwxMDEsOTcsMTAwLDExNyw5LDAsMCwwLDEwMywxMDEsMTE2LDk1LDEwNSwxMDAsCi0gICAgMTAxLDExMCwxMTYsMTE3LDQsMCwwLDAsMTA4LDExMSw5OSwxMDcsMTE3LDUsMCwwLAotICAgIDAsMTExLDExOSwxMTAsMTAxLDExNCwxMTcsMTIsMCwwLDAsODIsMTE3LDExMCwxMTYsMTA1LAotICAgIDEwOSwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDExNyw1LDAsMCwwLDk5LDExMSwxMTcsMTEwLAotICAgIDExNiwxMTcsMTQsMCwwLDAsNjUsMTE1LDExNSwxMDEsMTE0LDExNiwxMDUsMTExLDExMCw2OSwKLSAgICAxMTQsMTE0LDExMSwxMTQsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDcsMCwKLSAgICAwLDAsMTE5LDk3LDEwNSwxMTYsMTAxLDExNCwxMTUsMTE3LDYsMCwwLDAsMTE5LDk3LAotICAgIDEwNywxMDEsMTE3LDExMiwxMTcsNywwLDAsMCwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwKLSAgICA0MCwyLDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsMywKLSAgICAwLDAsMCwxMTYsMTA1LDEwMCw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsCi0gICAgMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLAotICAgIDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsCi0gICAgMTEyLDYyLDExNyw3LDAsMCwwLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDIyNiwwLAotICAgIDAsMCwxMTUsMjIsMCwwLDAsMCwxLDEyLDEsMTAsMSwxNSwxLDE1LAotICAgIDEsMjEsMSwxNSwxLDE1LDEsOSwxLDksMSwxNSwxLDExNywxOSwwLAotICAgIDAsMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsMTE0LDEwMSwKLSAgICAxMDgsMTAxLDk3LDExNSwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwKLSAgICAwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsMjMsMCwwLDAsMTAwLAotICAgIDEsMCwxMjQsMCwwLDEwNiwwLDAsMTE2LDEsMCwxMjQsMCwwLDEzMSwxLAotICAgIDAsMTAyLDIsMCwyMiw4Myw0MCwyLDAsMCwwLDc4LDExNywyMSwwLDAsCi0gICAgMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDAsMzcsMTE0LDQxLAotICAgIDMyLDk3LDExNiwzMiwzNywxMDAsNDAsMiwwLDAsMCwxMTcsNCwwLDAsMCwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTcsMiwwLDAsMCwxMDUsMTAwLDQwLDEsMCwwLDAsCi0gICAgMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDQwLDAsMCwwLDAsNDAsMCwKLSAgICAwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsCi0gICAgMTE2LDExNCw5NywxMTIsNjIsMTE3LDgsMCwwLDAsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LAotICAgIDk1LDk1LDIzOSwwLDAsMCwxMTUsMiwwLDAsMCwwLDEsMTE3LDIwLDAsCi0gICAgMCwwLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwKLSAgICAxMTQsMTAxLDExMiwxMTQsOTUsOTUsNzgsNDAsOSwwLDAsMCwxMTcsOCwwLDAsCi0gICAgMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsMTAsMCwwLDAsOTUsOTUsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsOTUsMTE3LDEyLDAsMCwwLDk1LDk1LDExMywKLSAgICAxMTcsOTcsMTA4LDExMCw5NywxMDksMTAxLDk1LDk1LDExNyw3LDAsMCwwLDk1LDk1LAotICAgIDEwMCwxMTEsOTksOTUsOTUsMTE3LDgsMCwwLDAsOTUsOTUsMTA1LDExMCwxMDUsMTE2LAotICAgIDk1LDk1LDExNywxMiwwLDAsMCwxMDQsOTcsMTE1LDk1LDEwMCwxMDEsOTcsMTAwLDEwOCwKLSAgICAxMTEsOTksMTA3LDExNyw3LDAsMCwwLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE3LAotICAgIDcsMCwwLDAsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMTE3LDgsMCwwLDAsCi0gICAgOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDQwLDEsMCwwLDAsMTE3LDEwLDAsCi0gICAgMCwwLDk1LDk1LDEwOCwxMTEsOTksOTcsMTA4LDExNSw5NSw5NSw0MCwwLDAsMCwKLSAgICAwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwKLSAgICAxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLAotICAgIDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsMCw5NSw3NywxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsMTc1LDAsMCwwLDExNSwxMiwwLDAsCi0gICAgMCwxNiw0LDYsMiwxMiw4LDEyLDEyLDEyLDI1LDEyLDEzLDExNywxMSwwLAotICAgIDAsMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsOTksMSwwLAotICAgIDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCw2NiwwLAotICAgIDAsMCwxMTUsNzQsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsCi0gICAgMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLAotICAgIDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwKLSAgICAwLDAsOTAsNSwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDYsCi0gICAgMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw3LDAsMTAwLDEwLDAsCi0gICAgODMsNDAsMTEsMCwwLDAsMTE3LDE2LDAsMCwwLDk1LDY4LDExNywxMDksMTA5LAotICAgIDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsMTE3LDg2LDAsMCwwLAotICAgIDY1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTAxLDMyLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNzYsMTExLDk5LDEwNywzMiwxMDEsMTEzLDExNywxMDUsMTE4LDk3LDEwOCwxMDEsMTEwLDExNiwzMiwKLSAgICAxMDIsMTExLDExNCwzMiw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDMyLDk4LDExNywxMDUsMTA4LDEwMCwKLSAgICAxMTUsMzIsMTE5LDEwNSwxMTYsMTA0LDExMSwxMTcsMTE2LDEwLDMyLDMyLDMyLDMyLDEwOSwxMTcsCi0gICAgMTA4LDExNiwxMDUsNDUsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTUsMTE3LAotICAgIDExMiwxMTIsMTExLDExNCwxMTYsNDYsOTksMiwwLDAsMCwwLDAsMCwwLDIsCi0gICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMjIsMCwwLDAsCi0gICAgMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMDAsMSwwLDEyNCwwLDAsOTUsCi0gICAgMSwwLDEwMCwwLDAsODMsNDAsMiwwLDAsMCw3OCwxMDUsMCwwLDAsCi0gICAgMCw0MCwyLDAsMCwwLDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLDExNywKLSAgICA1LDAsMCwwLDk5LDExMSwxMTcsMTEwLDExNiw0MCwyLDAsMCwwLDExNyw0LAotICAgIDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSwKLSAgICA0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLAotICAgIDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCi0gICAgNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw4LDAsMCwKLSAgICAwLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSwyNDcsMCwwLDAsMTE1LDQsMCwKLSAgICAwLDAsMCwxLDksMSwxMTcsMjUsMCwwLDAsOTUsNjgsMTE3LDEwOSwxMDksCi0gICAgMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMDUsMTEwLAotICAgIDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAotICAgIDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTksMCwwLDAsMTI0LDAsCi0gICAgMCw0LDEwNiwwLDAsMTAwLDEsMCw1NSwyLDk1LDAsMCwxMDAsMiwwLAotICAgIDgzLDQwLDMsMCwwLDAsNzgsMTA1LDEsMCwwLDAsODQsNDAsMiwwLAotICAgIDAsMCwxMTcsNSwwLDAsMCw5OSwxMTEsMTE3LDExMCwxMTYsMTE3LDQsMCwwLAotICAgIDAsODQsMTE0LDExNywxMDEsNDAsMSwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsCi0gICAgMTAxLDEwOCwxMDIsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLAotICAgIDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsCi0gICAgNywwLDAsMCw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDI1MSwwLDAsMCwxMTUsCi0gICAgNCwwLDAsMCwwLDEsMTUsMSwxMTcsMjQsMCwwLDAsOTUsNjgsMTE3LAotICAgIDEwOSwxMDksMTIxLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5Nyw5OSwKLSAgICAxMTMsMTE3LDEwNSwxMTQsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsCi0gICAgMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDQ5LDAsMCwwLDEyNCwKLSAgICAwLDAsMTA2LDAsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDMwLDAsMTE2LDEsCi0gICAgMCwxMDAsMiwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwwLDAsCi0gICAgNCwxMDYsMCwwLDEwMCwzLDAsNTYsMiw5NSwwLDAsMTAwLDAsMCw4MywKLSAgICA0MCw0LDAsMCwwLDc4LDEwNSwwLDAsMCwwLDExNywzMSwwLDAsMCwKLSAgICA5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LAotICAgIDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMDUsCi0gICAgMSwwLDAsMCw0MCwyLDAsMCwwLDExNyw1LDAsMCwwLDk5LDExMSwKLSAgICAxMTcsMTEwLDExNiwxMTcsMTIsMCwwLDAsODIsMTE3LDExMCwxMTYsMTA1LDEwOSwxMDEsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDQwLDEsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwKLSAgICAxMDgsMTAyLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLAotICAgIDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAotICAgIDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDcsCi0gICAgMCwwLDAsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMjU1LDAsMCwwLDExNSw2LAotICAgIDAsMCwwLDAsMSwxNSwxLDE1LDEsMTE3LDI0LDAsMCwwLDk1LDY4LAotICAgIDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsMTE0LAotICAgIDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDEsCi0gICAgMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsMjMsMCwwLDAsCi0gICAgMTAwLDEsMCwxMjQsMCwwLDEwNiwwLDAsMTE2LDEsMCwxMjQsMCwwLDEzMSwKLSAgICAxLDAsMTAyLDIsMCwyMiw4Myw0MCwyLDAsMCwwLDc4LDExNywyNiwwLAorICAgIDExNCwzMiwxMTEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDEwNSwxMTUsMTAyLDEwNSwxMDgsMTAxLAorICAgIDQ2LDEwNSwwLDEyOCwwLDAsNDAsMSwwLDAsMCwxMTQsNDMsMCwwLDAsCisgICAgNDAsMSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDEyLDAsMCwwLDk1LDExMiwKKyAgICA5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAyLDEwNSwxMDgsMTAxLDkyLDAsMCwwLDExNSwyLAorICAgIDAsMCwwLDAsMiwxMTQsNDQsMCwwLDAsOTksMSwwLDAsMCwwLAorICAgIDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMzQsMCwwLDAsMTI0LDAsMCwxMTUsMjEsMCwxMTYsMCwwLDEwNiwxLDAsCisgICAgMTMxLDAsMCwxMjUsMCwwLDExMCwwLDAsMTE2LDIsMCwxMjQsMCwwLDEwMCwKKyAgICAxLDAsMTMxLDIsMCw4Myw0MCwyLDAsMCwwLDExNywzMCwwLDAsMCwKKyAgICA4MiwxMDEsMTEyLDEwOCw5Nyw5OSwxMDEsMTA5LDEwMSwxMTAsMTE2LDMyLDEwMiwxMTEsMTE0LDMyLAorICAgIDExMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsMTA1LDExNSwxMDAsMTA1LDExNCw0NiwxMDUsMCwKKyAgICA2NCwwLDAsNDAsMywwLDAsMCwxMTQsMywwLDAsMCwxMTYsNiwwLAorICAgIDAsMCwxMDMsMTAxLDExNiw5OSwxMTksMTAwLDExNCw0MywwLDAsMCw0MCwxLDAsCisgICAgMCwwLDExNCwzNSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyNDQsMTEsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTA1LDExNSwxMDAsMTA1LDExNCw5OCwwLDAsMCwxMTUsNiwwLDAsMCwwLAorICAgIDIsNiwxLDE1LDEsMTE0LDQ1LDAsMCwwLDEwNSwxODIsMSwwLDAsOTksCisgICAgMywwLDAsMCwwLDAsMCwwLDYsMCwwLDAsMTcsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDE5MiwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsMTI0LAorICAgIDAsMCwxMTYsMSwwLDEyNCwwLDAsMTMxLDEsMCwxMzEsMiwwLDEyNSwzLAorICAgIDAsMTE2LDIsMCwxMDYsMywwLDEyNCwzLDAsMTE2LDIsMCwxMDYsNCwwLAorICAgIDExNiwyLDAsMTA2LDUsMCw2NiwxMTYsMiwwLDEwNiw2LDAsNjYsMTI0LDIsCisgICAgMCwxMDAsMiwwLDY0LDEzMSwzLDAsMTI1LDQsMCwxMjEsNjAsMCwxMTYsNywKKyAgICAwLDEwNiw4LDAsMTI0LDQsMCwxMDAsMywwLDEzMSwyLDAsMTQzLDIwLDAsCisgICAgMTI1LDUsMCwxMjQsNSwwLDEwNiw5LDAsMTI0LDEsMCwxMzEsMSwwLDEsCisgICAgODcsMTAwLDQsMCw4MSw4OCwxMTYsMiwwLDEwNiwxMCwwLDEyNCwzLDAsMTI0LAorICAgIDAsMCwxMzEsMiwwLDEsODcsMTEwLDU5LDAsNCwxMTYsMTEsMCwxMDcsMTAsCisgICAgMCwxMTQsMTg3LDAsMSwxLDEsMTIxLDE3LDAsMTE2LDIsMCwxMDYsMTIsMCwKKyAgICAxMjQsMywwLDEzMSwxLDAsMSw4NywxMTAsMTgsMCw0LDExNiwxMSwwLDEwNywKKyAgICAxMCwwLDExNCwxNzksMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDEzMCwwLDAsCisgICAgODksMTEwLDEsMCw4OCwxMDAsNCwwLDgzLDQwLDUsMCwwLDAsMTE3LDE2MiwKKyAgICAwLDAsMCw2NiwxMDEsMTE1LDExNiw0NSwxMDEsMTAyLDEwMiwxMTEsMTE0LDExNiwzMiwxMDIsCisgICAgMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTE2LDExMSwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLAorICAgIDMyLDEwMCw5NywxMTYsOTcsMzIsMTE2LDExMSwzMiw5NywzMiwxMTIsOTcsMTE2LDEwNCwzMiwKKyAgICA5NywxMTYsMTExLDEwOSwxMDUsOTksOTcsMTA4LDEwOCwxMjEsNDYsMTAsMzIsMzIsMzIsMzIsCisgICAgNjYsMTAxLDMyLDExMiwxMTQsMTAxLDExMiw5NywxMTQsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwNCwKKyAgICA5NywxMTAsMTAwLDEwOCwxMDEsMzIsOTcsMzIsNzAsMTA1LDEwOCwxMDEsNjksMTIwLDEwNSwxMTUsCisgICAgMTE2LDExNSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDEwMiwzMiw5OSwxMTEsMTEwLDk5LDExNywKKyAgICAxMTQsMTE0LDEwMSwxMTAsMTE2LDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLAorICAgIDMyLDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMDEsMTA5LDExMiwxMTEsMTE0LDk3LAorICAgIDExNCwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTcsMTE2LDExNiwxMDEsMTA5LAorICAgIDExMiwxMTYsMTAxLDEwMCw0NiwxMTcsNSwwLDAsMCwxMjMsMTI1LDQ2LDEyMywxMjUsMTA1LAorICAgIDE4MiwxLDAsMCwxMTYsMiwwLDAsMCwxMTksOTgsNzgsNDAsMTMsMCwwLAorICAgIDAsMjQ0LDYsMCwwLDAsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwyNDQsMiwwLDAsCisgICAgMCwxMDUsMTAwLDExNCwzLDAsMCwwLDExNiw0LDAsMCwwLDExMSwxMTIsMTAxLAorICAgIDExMCwxMTYsNiwwLDAsMCw3OSw5NSw2OSw4OCw2Nyw3NiwxMTYsNywwLDAsCisgICAgMCw3OSw5NSw2Nyw4Miw2OSw2NSw4NCwxMTYsOCwwLDAsMCw3OSw5NSw4NywKKyAgICA4Miw3OSw3OCw3Niw4OSwyNDQsMywwLDAsMCw5NSwxMDUsMTExLDI0NCw2LDAsCisgICAgMCwwLDcwLDEwNSwxMDgsMTAxLDczLDc5LDI0NCw1LDAsMCwwLDExOSwxMTQsMTA1LAorICAgIDExNiwxMDEsMjQ0LDcsMCwwLDAsMTE0LDEwMSwxMTIsMTA4LDk3LDk5LDEwMSwxMTQsNDAsCisgICAgMCwwLDAsMTE2LDYsMCwwLDAsMTE3LDExMCwxMDgsMTA1LDExMCwxMDcsNDAsNiwKKyAgICAwLDAsMCwxMTQsMzUsMCwwLDAsMjQ0LDQsMCwwLDAsMTAwLDk3LDExNiwKKyAgICA5NywxMTQsNDIsMCwwLDAsMTE2LDgsMCwwLDAsMTEyLDk3LDExNiwxMDQsOTUsCisgICAgMTE2LDEwOSwxMTIsMTE2LDIsMCwwLDAsMTAyLDEwMCwyNDQsNCwwLDAsMCwxMDIsCisgICAgMTA1LDEwOCwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjQ0LDEzLDAsMCwwLDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTcsMTE2LAorICAgIDExMSwxMDksMTA1LDk5LDEwNSwwLDAsMCwxMTUsMjYsMCwwLDAsMCw1LDI0LAorICAgIDEsOSwxLDMzLDEsMywzLDIxLDEsMTksMSwyMCwxLDEzLDEsMywKKyAgICAxLDE3LDEsMTMsMSw1LDEsMTE0LDU0LDAsMCwwLDk5LDIsMCwwLAorICAgIDAsMCwwLDAsMCwzLDAsMCwwLDcsMCwwLDAsNjcsMCwwLAorICAgIDAsMTE1LDk1LDAsMCwwLDEyMCw2OSwwLDEwMCwxLDAsMTAwLDIsMCwxMDAsCisgICAgMywwLDEwMCw0LDAsMTAzLDQsMCw2OCw5Myw0OSwwLDEyNSwyLDAsMTE2LAorICAgIDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDIsMCwxMTQsMTksMCwxMTYsMSwKKyAgICAwLDEyNCwwLDAsMTI0LDIsMCwxMTYsMiwwLDEyNCwxLDAsMTI0LDIsMCwKKyAgICAxMzEsMiwwLDEzMSwzLDAsMSwxMTMsMTksMCwxMTMsMTksMCw4NywxMjQsMCwKKyAgICAwLDEwNiwzLDAsMTA2LDQsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLDEsMCwKKyAgICAxLDEwMCw1LDAsODMsNDAsNiwwLDAsMCwxMTcsNDcsMCwwLDAsODMsCisgICAgMTA1LDEwOSwxMTIsMTA4LDEwMSwzMiwxMTUsMTE3LDk4LDExNSwxMTYsMTA1LDExNiwxMTcsMTE2LDEwMSwKKyAgICAzMiwxMDIsMTExLDExNCwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTExLDExMSwxMDgsMTE1LDQ2LDExNywKKyAgICAxMTIsMTAwLDk3LDExNiwxMDEsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDYsMjQ0LDEwLAorICAgIDAsMCwwLDk1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk1LDI0NCw4LDAsCisgICAgMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLDk1LDk1LDI0NCwxMiwwLDAsMCw5NSwKKyAgICA5NSwxMTMsMTE3LDk3LDEwOCwxMTAsOTcsMTA5LDEwMSw5NSw5NSwyNDQsNywwLDAsMCwKKyAgICA5NSw5NSwxMDAsMTExLDk5LDk1LDk1LDc4LDQwLDUsMCwwLDAsMjQ0LDcsMCwKKyAgICAwLDAsMTA0LDk3LDExNSw5NywxMTYsMTE2LDExNCwyNDQsNywwLDAsMCwxMTUsMTAxLAorICAgIDExNiw5NywxMTYsMTE2LDExNCwyNDQsNywwLDAsMCwxMDMsMTAxLDExNiw5NywxMTYsMTE2LAorICAgIDExNCwyNDQsOCwwLDAsMCw5NSw5NSwxMDAsMTA1LDk5LDExNiw5NSw5NSwyNDQsNiwKKyAgICAwLDAsMCwxMTcsMTEyLDEwMCw5NywxMTYsMTAxLDQwLDMsMCwwLDAsMTE2LDMsCisgICAgMCwwLDAsMTEwLDEwMSwxMTksMTE2LDMsMCwwLDAsMTExLDEwOCwxMDAsMTE0LDUxLAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDI0NCw1LDAsMCwwLDk1LDExOSwxMTQsOTcsMTEyLDEyNywwLDAsMCwKKyAgICAxMTUsOCwwLDAsMCwwLDIsMjUsMSwxNSwxLDMyLDEsMTE0LDY0LDAsCisgICAgMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDExNiwwLDAsMTE2LAorICAgIDEsMCwxMzEsMSwwLDEyNCwwLDAsMTMxLDEsMCw4Myw0MCwxLDAsMCwKKyAgICAwLDExNyw3NSwwLDAsMCw2NywxMTQsMTAxLDk3LDExNiwxMDEsMzIsOTcsMzIsMTEwLAorICAgIDEwMSwxMTksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCisgICAgODQsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsCisgICAgMTE2LDMyLDEwMSwxMTAsMTE2LDEwMSwxMTQsMTAxLDEwMCwzMiwxMDUsMTEwLDExNiwxMTEsMzIsMTE1LAorICAgIDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLAorICAgIDMyLDQwLDIsMCwwLDAsMjQ0LDQsMCwwLDAsMTE2LDEyMSwxMTIsMTAxLDExNCwKKyAgICA0OCwwLDAsMCw0MCwxLDAsMCwwLDI0NCw0LDAsMCwwLDExMCw5NywKKyAgICAxMDksMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDI0NCwxMCwwLDAsMCwxMTAsMTAxLDExOSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAxMzgsMCwwLDAsMTE1LDIsMCwwLDAsMCw2LDExNCw2NywwLDAsMCwKKyAgICA5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwxLDAsMCwKKyAgICAwLDY2LDAsMCwwLDExNSwyMCwwLDAsMCwxMjQsMCwwLDY5LDEwMSwwLAorICAgIDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsODMsNDAsMiwKKyAgICAwLDAsMCwyNDQsMTQsMCwwLDAsOTUsNjgsMTAxLDk3LDEwMCwxMDgsMTExLDk5LAorICAgIDEwNyw2OSwxMTQsMTE0LDExMSwxMTQsNzgsNDAsMywwLDAsMCwxMTQsNTYsMCwwLAorICAgIDAsMTE0LDU1LDAsMCwwLDExNCw1NywwLDAsMCw0MCwxLDAsMCwwLAorICAgIDI0NCwxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LDEwOCwxMTUsOTUsOTUsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDY4LAorICAgIDAsMCwwLDE1NSwwLDAsMCwxMTUsMiwwLDAsMCwxNiwxLDExNCw2OCwKKyAgICAwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwKKyAgICAyLDAsMCwwLDY2LDAsMCwwLDExNSw4NiwwLDAsMCwxMjQsMCwwLAorICAgIDY5LDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsCisgICAgOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsCisgICAgNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywKKyAgICAwLDEzMiwwLDAsOTAsNiwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLAorICAgIDkwLDcsMCwxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLDkwLDgsMCwxMDAsCisgICAgMTIsMCw4Myw0MCwxMywwLDAsMCwyNDQsMTEsMCwwLDAsOTUsNzcsMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDExNywxNjksMCwwLDAsNjUsMzIsMTE0LAorICAgIDEwMSw5OSwxMTcsMTE0LDExNSwxMDUsMTE4LDEwMSwzMiwxMDgsMTExLDk5LDEwNywzMiwxMDUsMTA5LAorICAgIDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE5LDEwNCwxMDUsCisgICAgOTksMTA0LDMyLDEwNSwxMTUsMzIsOTcsOTgsMTA4LDEwMSwzMiwxMTYsMTExLDMyLDEwMCwxMDEsCisgICAgMTE2LDEwMSw5OSwxMTYsMzIsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMTE1LDEwLDMyLAorICAgIDMyLDMyLDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsMTE2LDEwNCwxMTQsMTAxLDk3LDEwMCwzMiwKKyAgICA0OSwzMiwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTExLDMyLDExNiw5NywxMDcsMTAxLAorICAgIDMyLDEwOCwxMTEsOTksMTA3LDExNSwzMiw2NSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNjYsNDQsCisgICAgMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDMyLDUwLDMyLDExNiwxMTQsCisgICAgMTIxLDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTE2LDk3LDEwNywxMDEsCisgICAgMzIsMTA4LDExMSw5OSwxMDcsMTE1LDMyLDY2LDMyLDExNiwxMDQsMTAxLDExMCwzMiw2NSw0MSwKKyAgICA0NiwxMCwzMiwzMiwzMiwzMiw5OSwyLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw3MCwwLDAsMCwKKyAgICAxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjQsMCwwLDk1LDIsMCwxMTYsCisgICAgMCwwLDEwNiwxLDAsMTMxLDAsMCwxMjQsMCwwLDk1LDMsMCwxMjQsMSwKKyAgICAwLDEyNCwwLDAsOTUsNCwwLDEwMCwwLDAsMTI0LDAsMCw5NSw1LDAsCisgICAgMTAwLDEsMCwxMjQsMCwwLDk1LDYsMCwxMDAsMSwwLDEyNCwwLDAsOTUsCisgICAgNywwLDEwMCwwLDAsODMsNDAsMiwwLDAsMCw3OCwyMzMsMCwwLDAsCisgICAgMCw0MCw4LDAsMCwwLDI0NCw3LDAsMCwwLDk1LDExNiwxMDQsMTE0LDEwMSwKKyAgICA5NywxMDAsMTE2LDEzLDAsMCwwLDk3LDEwOCwxMDgsMTExLDk5LDk3LDExNiwxMDEsOTUsCisgICAgMTA4LDExMSw5OSwxMDcsMjQ0LDQsMCwwLDAsMTA4LDExMSw5OSwxMDcsMjQ0LDYsMCwKKyAgICAwLDAsMTE5LDk3LDEwNywxMDEsMTE3LDExMiwxMTQsNjYsMCwwLDAsMjQ0LDUsMCwKKyAgICAwLDAsMTExLDExOSwxMTAsMTAxLDExNCwyNDQsNSwwLDAsMCw5OSwxMTEsMTE3LDExMCwKKyAgICAxMTYsMjQ0LDcsMCwwLDAsMTE5LDk3LDEwNSwxMTYsMTAxLDExNCwxMTUsNDAsMiwwLAorICAgIDAsMCwyNDQsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE0LDY2LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwKKyAgICA4LDAsMCwwLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSwxNjUsMCwwLDAsCisgICAgMTE1LDEyLDAsMCwwLDAsMSwxNSwxLDE1LDEsOSwxLDksMSw5LAorICAgIDEsMTE3LDIwLDAsMCwwLDk1LDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LAorICAgIDEwNyw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwwLAorICAgIDAsMCwwLDQsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgODcsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwwLDAsMTI1LDEsMCwKKyAgICAxMjQsMCwwLDEwNiwyLDAsMTI1LDIsMCwxMjAsNTksMCwxMTYsMywwLDEwNiwKKyAgICA0LDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwzLDAsMTI0LDMsMCwxMDAsMCwKKyAgICAwLDEwNyw4LDAsMTE0LDU1LDAsMTAwLDEsMCw4MywxMjQsMywwLDEwNiwyLAorICAgIDAsMTI1LDIsMCwxMjQsMiwwLDEyNCwxLDAsMTA3LDIsMCwxMTQsMjQsMCwKKyAgICAxMDAsMiwwLDgzLDExMywyNCwwLDEwMCwwLDAsODMsNDAsMywwLDAsMCwKKyAgICA3OCw3MCw4NCw0MCw1LDAsMCwwLDExNCw3MiwwLDAsMCwyNDQsOSwwLAorICAgIDAsMCwxMDMsMTAxLDExNiw5NSwxMDUsMTAwLDEwMSwxMTAsMTE2LDExNCw3NSwwLDAsMCwKKyAgICAyNDQsMTIsMCwwLDAsOTUsOTgsMTA4LDExMSw5OSwxMDcsMTA1LDExMCwxMDMsOTUsMTExLAorICAgIDExMCwyNDQsMywwLDAsMCwxMDMsMTAxLDExNiw0MCw0LDAsMCwwLDExNCw3OCwKKyAgICAwLDAsMCwyNDQsMiwwLDAsMCwxMDksMTAxLDI0NCwzLDAsMCwwLDExNiwKKyAgICAxMDUsMTAwLDExNCw3MywwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyNDQsMTIsMCwwLDAsMTA0LDk3LDExNSw5NSwxMDAsCisgICAgMTAxLDk3LDEwMCwxMDgsMTExLDk5LDEwNywxNzMsMCwwLDAsMTE1LDE4LDAsMCwwLAorICAgIDAsMiwxMiwxLDksMSwzLDEsMTUsMSwxMiwxLDQsMSw5LDEsCisgICAgMTIsMSwxMTcsMjQsMCwwLDAsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsCisgICAgOTksMTA3LDQ2LDEwNCw5NywxMTUsOTUsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTcsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDIxNCwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLAorICAgIDAsMCwxMjUsMSwwLDEyNCwwLDAsMTE2LDIsMCwxMjQsMSwwLDYwLDEyMiwKKyAgICAxNzcsMCwxMjAsMTcwLDAsMTI0LDAsMCwxMDYsMywwLDE0MywxMzAsMCwxLDEyNCwKKyAgICAwLDAsMTA2LDQsMCwxMDAsMSwwLDEwNywyLDAsMTE1LDY4LDAsMTI0LDAsCisgICAgMCwxMDYsNSwwLDEyNCwxLDAsMTA3LDIsMCwxMTQsOTYsMCwxMjQsMSwwLAorICAgIDEyNCwwLDAsOTUsNSwwLDEyNCwwLDAsNCwxMDYsNCwwLDEwMCwyLDAsCisgICAgNTUsMiw5NSw0LDAsMTAwLDMsMCw4MywxMjQsMCwwLDEwNiw2LDAsMTMxLAorICAgIDAsMCwxMTQsMTI3LDAsMTE2LDcsMCwxMDAsNCwwLDEyNCwwLDAsMjIsMTMxLAorICAgIDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDAsMCwxMDYsOCwwLDEwNiw5LAorICAgIDAsMTAwLDUsMCwxMzEsMSwwLDExNCwxNjMsMCwxMjQsMCwwLDQsMTA2LDEwLAorICAgIDAsMTAwLDIsMCw1NSwyLDk1LDEwLDAsMTEwLDAsMCw4NywxMDAsNiwwLAorICAgIDgxLDg4LDEyNCwwLDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLDAsMSwxMjQsCisgICAgMCwwLDEwNiw4LDAsMTA2LDExLDAsMTMxLDAsMCwxLDExMywyOCwwLDg3LAorICAgIDEwMCw2LDAsMTE2LDIsMCwxMjQsMSwwLDYxLDg4LDEwMCw2LDAsODMsNDAsCisgICAgNywwLDAsMCwxMTcsMTg1LDAsMCwwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDY1LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsNDYsMzIsMzIsNzMsMTAyLDMyLDk3LAorICAgIDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywxMDgsMzIsMTAwLDEwMSw5NywxMDAsMTA4LAorICAgIDExMSw5OSwxMDcsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDEwMSwxMDAsNDQsCisgICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsOTcsMzIsOTUsNjgsMTAxLDk3LDEwMCwKKyAgICAxMDgsMTExLDk5LDEwNyw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LAorICAgIDExNSwxMDEsMTAwLDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDc5LDExNiwxMDQsCisgICAgMTAxLDExNCwxMTksMTA1LDExNSwxMDEsNDQsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsCisgICAgMzIsMTA1LDExNSwzMiw5NywxMDgsMTE5LDk3LDEyMSwxMTUsMzIsOTcsOTksMTEzLDExNywxMDUsCisgICAgMTE0LDEwMSwxMDAsMzIsOTcsMTEwLDEwMCwzMiw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTE1LDMyLAorICAgIDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMTE0LDcxLDAsMCwwLDExNCwyOSwwLDAsMCw4NCwxMTcsMjMsMCwKKyAgICAwLDAsMTAwLDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsMzIsMTAwLDEwMSwxMTYsMTAxLDk5LAorICAgIDExNiwxMDEsMTAwLDMyLDk4LDEyMSwzMiwzNywxMTQsNzAsNzgsNDAsMTIsMCwwLDAsCisgICAgMTE0LDcyLDAsMCwwLDExNCw4MCwwLDAsMCwxMTQsODEsMCwwLDAsMTE0LAorICAgIDczLDAsMCwwLDExNCw3NiwwLDAsMCwxMTQsNzUsMCwwLDAsMTE0LDg1LAorICAgIDAsMCwwLDExNCw2OCwwLDAsMCwxMTQsNzQsMCwwLDAsMjQ0LDcsMCwKKyAgICAwLDAsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwxMTQsNzcsMCwwLDAsMjQ0LDcsCisgICAgMCwwLDAsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsNDAsMiwwLDAsMCwxMTQsCisgICAgNzgsMCwwLDAsMTE0LDg0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCw4NiwwLDAsMCwxODUsMCwwLAorICAgIDAsMTE1LDMyLDAsMCwwLDAsNiwxMiwxLDEwLDEsMywxLDMsMSwKKyAgICAxMCwxLDMwLDEsOSwxLDE1LDEsNCwxLDEyLDEsMTksMSwxOCwxLAorICAgIDI0LDIsMTMsMSwyMCwyLDExNywxOSwwLDAsMCw5NSw3NywxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSw5OSwxLAorICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxMCwwLDAsMCw2NywKKyAgICAwLDAsMCwxMTUsMTY1LDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMzEsMCwKKyAgICAwLDEyNSwxLDAsMTI0LDAsMCwxMDYsMiwwLDE0MywxMzgsMCwxLDEyNCwwLAorICAgIDAsMTA2LDMsMCwxMjQsMSwwLDEwNywzLDAsMTE0LDUyLDAsMTE2LDQsMCwKKyAgICAxMDAsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwwLDAsMTA2LAorICAgIDUsMCwxMDAsMiwwLDEwNyw0LDAsMTE1LDczLDAsMTE2LDYsMCwxMzAsMSwKKyAgICAwLDEyNCwwLDAsNCwxMDYsNSwwLDEwMCwzLDAsNTYsMiw5NSw1LDAsCisgICAgMTI0LDAsMCwxMDYsNSwwLDEwMCwyLDAsMTA3LDIsMCwxMTQsMTU1LDAsMTAwLAorICAgIDAsMCwxMjQsMCwwLDk1LDMsMCwxMjQsMCwwLDEwNiw3LDAsMTE0LDE1NSwKKyAgICAwLDEyNCwwLDAsNCwxMDYsNywwLDEwMCwzLDAsNTYsMiw5NSw3LDAsCisgICAgMTI0LDAsMCwxMDYsOCwwLDEwNiw5LDAsMTMxLDAsMCwxLDExMywxNTUsMCwKKyAgICAxMTAsMCwwLDg3LDEwMCwwLDAsODEsODgsMTAwLDAsMCw4Myw0MCw0LDAsCisgICAgMCwwLDc4LDExNywzMSwwLDAsMCw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTE0LAorICAgIDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE3LDExMCw0NSw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsCisgICAgMTAxLDEwMCwzMiwxMDgsMTExLDk5LDEwNywxMTQsNzEsMCwwLDAsMTE0LDI5LDAsMCwKKyAgICAwLDQwLDEwLDAsMCwwLDExNCw3MiwwLDAsMCwxMTQsODAsMCwwLDAsCisgICAgMTE0LDczLDAsMCwwLDExNCw3NSwwLDAsMCwyNDQsMTIsMCwwLDAsODIsCisgICAgMTE3LDExMCwxMTYsMTA1LDEwOSwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw3NiwwLDAsMCwKKyAgICAyNDQsMTQsMCwwLDAsNjUsMTE1LDExNSwxMDEsMTE0LDExNiwxMDUsMTExLDExMCw2OSwxMTQsCisgICAgMTE0LDExMSwxMTQsMTE0LDc3LDAsMCwwLDExNCw3NCwwLDAsMCwxMTQsODcsMCwKKyAgICAwLDAsNDAsMiwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDg0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCw4NywwLDAsMCwyMTAsMCwwLDAsMTE1LDIyLDAsMCwwLDAsMSwKKyAgICAxMiwxLDEwLDEsMTUsMSwxNSwxLDIxLDEsMTUsMSwxNSwxLDksMSwKKyAgICA5LDEsMTUsMSwxMTcsMTksMCwwLDAsOTUsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICA3NiwxMTEsOTksMTA3LDQ2LDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDk5LDEsMCwwLAorICAgIDAsMCwwLDAsMCwxLDAsMCwwLDQsMCwwLDAsNjcsMCwwLAorICAgIDAsMTE1LDI1LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMCwwLDEwNiwKKyAgICAxLDAsMTE2LDIsMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDIsMCw4Myw0MCwKKyAgICAyLDAsMCwwLDc4LDExNywyMywwLDAsMCw5NSw3NywxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDc2LDExMSw5OSwxMDcsNDAsMTIzLDMzLDExNCwxMjUsNDEsMzIsOTcsMTE2LDMyLDEyMywKKyAgICAxMjUsNDAsMywwLDAsMCwxMTQsNDYsMCwwLDAsMTE0LDY2LDAsMCwwLAorICAgIDExNCw0NywwLDAsMCw0MCwxLDAsMCwwLDExNCw3OCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsOCwKKyAgICAwLDAsMCw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsMjIzLDAsMCwwLDExNSwKKyAgICAyLDAsMCwwLDAsMSwxMTcsMjAsMCwwLDAsOTUsNzcsMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw3OCwKKyAgICA0MCw5LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTUsMCwwLDAsMTE0LAorICAgIDU3LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsNzksMCwwLDAsMTE0LDg1LAorICAgIDAsMCwwLDExNCw4NiwwLDAsMCwxMTQsODcsMCwwLDAsMTE0LDkwLDAsCisgICAgMCwwLDQwLDEsMCwwLDAsMTE0LDY5LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCw3MCwwLDAsMCwKKyAgICAxNTksMCwwLDAsMTE1LDEyLDAsMCwwLDE2LDQsNiwyLDEyLDgsMTIsCisgICAgMTIsMTIsMjUsMTIsMTMsMTE0LDcwLDAsMCwwLDk5LDEsMCwwLDAsMCwKKyAgICAwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjYsMCwwLDAsMTE1LAorICAgIDc0LDAsMCwwLDEyNCwwLDAsNjksMTAxLDAsMCw5MCwxLDAsMTAwLDAsCisgICAgMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLAorICAgIDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLAorICAgIDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDgsCisgICAgMCwxMDAsOSwwLDEzMiwwLDAsOTAsNywwLDEwMCwxMCwwLDgzLDQwLDExLAorICAgIDAsMCwwLDI0NCwxNiwwLDAsMCw5NSw2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDExNyw4NiwwLDAsMCw2NSwzMiwxMTUsCisgICAgMTA1LDEwOSwxMTIsMTA4LDEwMSwzMiw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwKKyAgICAxMDcsMzIsMTAxLDExMywxMTcsMTA1LDExOCw5NywxMDgsMTAxLDExMCwxMTYsMzIsMTAyLDExMSwxMTQsCisgICAgMzIsODAsMTIxLDExNiwxMDQsMTExLDExMCwzMiw5OCwxMTcsMTA1LDEwOCwxMDAsMTE1LDMyLDExOSwKKyAgICAxMDUsMTE2LDEwNCwxMTEsMTE3LDExNiwxMCwzMiwzMiwzMiwzMiwxMDksMTE3LDEwOCwxMTYsMTA1LAorICAgIDQ1LDExNiwxMDQsMTE0LDEwMSw5NywxMDAsMTA1LDExMCwxMDMsMzIsMTE1LDExNywxMTIsMTEyLDExMSwKKyAgICAxMTQsMTE2LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLAorICAgIDIsMCwwLDAsNjcsMCwwLDAsMTE1LDIyLDAsMCwwLDEyNCwxLDAsCisgICAgMTI0LDAsMCw5NSwwLDAsMTAwLDEsMCwxMjQsMCwwLDk1LDEsMCwxMDAsCisgICAgMCwwLDgzLDQwLDIsMCwwLDAsNzgsMTE0LDcxLDAsMCwwLDQwLDIsCisgICAgMCwwLDAsMTE0LDY2LDAsMCwwLDExNCw3NiwwLDAsMCw0MCwyLDAsCisgICAgMCwwLDExNCw3OCwwLDAsMCwxMTQsNjYsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDc5LDAsMCwwLAorICAgIDIzMSwwLDAsMCwxMTUsNCwwLDAsMCwwLDEsOSwxLDExNywyNSwwLAogICAgIDAsMCw5NSw2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsCi0gICAgOTksMTA3LDQwLDM3LDExNCw0MSwzMiw5NywxMTYsMzIsMzcsMTAwLDQwLDIsMCwwLAotICAgIDAsMTE3LDQsMCwwLDAsMTEwLDk3LDEwOSwxMDEsMTE3LDIsMCwwLDAsMTA1LAotICAgIDEwMCw0MCwxLDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiw0MCwKLSAgICAwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwKLSAgICAxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsCi0gICAgOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw4LDAsMCwwLAotICAgIDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw0LDEsMCwwLDExNSwyLDAsMCwKLSAgICAwLDAsMSwxMTcsMjUsMCwwLDAsOTUsNjgsMTE3LDEwOSwxMDksMTIxLDc3LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsNzYsMTExLDk5LDEwNyw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsCi0gICAgOTUsNzgsNDAsOCwwLDAsMCwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsOTcsCi0gICAgMTA5LDEwMSw5NSw5NSwxMTcsMTAsMCwwLDAsOTUsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsOTUsOTUsMTE3LDEyLDAsMCwwLDk1LDk1LDExMywxMTcsOTcsMTA4LDExMCw5NywKLSAgICAxMDksMTAxLDk1LDk1LDExNyw3LDAsMCwwLDk1LDk1LDEwMCwxMTEsOTksOTUsOTUsCi0gICAgMTE3LDgsMCwwLDAsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDExNyw3LDAsCi0gICAgMCwwLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE3LDcsMCwwLDAsMTE0LDEwMSwKLSAgICAxMDgsMTAxLDk3LDExNSwxMDEsMTE3LDgsMCwwLDAsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LAotICAgIDk1LDk1LDQwLDEsMCwwLDAsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOCwxMTEsCi0gICAgOTksOTcsMTA4LDExNSw5NSw5NSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsCi0gICAgMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLAotICAgIDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsCi0gICAgMTEyLDYyLDExNywxNiwwLDAsMCw5NSw2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDI0MywwLDAsMCwxMTUsMTAsMCwwLDAsCi0gICAgMTYsMiw2LDIsMTIsNCwxMiw0LDEyLDUsMTE3LDE2LDAsMCwwLDk1LAotICAgIDY4LDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsOTksCi0gICAgMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTEsMCwwLDAsCi0gICAgMywwLDAsMCwxMTUsMTQyLDAsMCwwLDEwMCwzLDAsMTI1LDEsMCwxMjEsCi0gICAgMTcsMCwxMTYsMSwwLDEzNiwwLDAsMjUsMTMxLDAsMCwxMjUsMSwwLDg3LAotICAgIDExMCwxOCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsNDMsMCwxLDEsMSwKLSAgICA4OSwxMTAsMSwwLDg4LDEyNCwxLDAsMTAwLDMsMCwxMDcsOCwwLDExNCwxMzgsCi0gICAgMCwxMTYsMywwLDEwMCwzLDAsMTA3LDgsMCwxMTQsODMsMCwxMTYsNCwwLAotICAgIDEzNiwwLDAsMTMxLDEsMCwxMjUsMSwwLDExMCwxMiwwLDExNiw1LDAsMTM2LAotICAgIDAsMCwxMzEsMSwwLDEyNSwxLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLAotICAgIDAsMTAwLDIsMCwxMzQsMCwwLDEyNSwyLDAsMTE2LDYsMCwxMDYsNywwLAotICAgIDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwwLDExNiwxLDAsMTM2LDAsMCw2MCwKLSAgICAxMTAsMCwwLDEyNCwxLDAsODMsNDAsNCwwLDAsMCwxMTcsMTA5LDAsMCwKLSAgICAwLDcxLDEwMSwxMTYsMzIsMTExLDExNCwzMiw5OSwxMTQsMTAxLDk3LDExNiwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLAotICAgIDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4MywxMDQsMTExLAotICAgIDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwzMiw5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwKLSAgICAxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwxMTYsOTcsMTA3LDEwMSwxMTAsNDYsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCwxOSwKLSAgICAwLDAsMCwxMTUsMTEsMCwwLDAsMTE2LDAsMCwxMzYsMCwwLDYxLDEwMCwKLSAgICAwLDAsODMsNDAsMSwwLDAsMCw3OCw0MCwxLDAsMCwwLDExNywxMywKLSAgICAwLDAsMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTUsCi0gICAgNDAsMSwwLDAsMCwxMTcsMSwwLDAsMCw5NSw0MCwxLDAsMCwwLAotICAgIDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLDQwLDAsMCwwLDAsMTE3LDI5LAotICAgIDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLAotICAgIDExNywyLDAsMCwwLDk5LDk4LDI0LDEsMCwwLDExNSwyLDAsMCwwLAotICAgIDAsMSwxMTcsMjgsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLAotICAgIDQ2LDk5LDk4LDc4LDQwLDgsMCwwLDAsMTE3LDQsMCwwLDAsNzgsMTExLAotICAgIDExMCwxMDEsMTE3LDEzLDAsMCwwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwOCwKLSAgICAxMTEsOTksMTA3LDExNSwxMTcsOCwwLDAsMCw3NSwxMDEsMTIxLDY5LDExNCwxMTQsMTExLAotICAgIDExNCwxMTcsNywwLDAsMCw5NSwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDExNywxNiwwLAotICAgIDAsMCw5NSw2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsCi0gICAgOTksMTA3LDExNywxMSwwLDAsMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSwKLSAgICA5OSwxMDcsMTE3LDgsMCwwLDAsOTUsMTE5LDEwMSw5NywxMDcsMTE0LDEwMSwxMDIsMTE3LAotICAgIDMsMCwwLDAsMTE0LDEwMSwxMDIsNDAsMywwLDAsMCwxMTcsNCwwLDAsCi0gICAgMCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCwxMDgsMTExLDk5LDEwNywxMTcsMiwKLSAgICAwLDAsMCw5OSw5OCw0MCwwLDAsMCwwLDQwLDEsMCwwLDAsMTE3LAotICAgIDQsMCwwLDAsMTEwLDk3LDEwOSwxMDEsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxNiwwLDAsMCw5NSwKLSAgICAxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMCwKLSAgICAxLDAsMCwxMTUsMjQsMCwwLDAsMCw0LDYsMSwzLDEsMTcsMSwKLSAgICAxMywxLDUsMSwxMiwxLDEyLDEsMTUsMiwxMiwxLDE4LDIsMjUsMSwKLSAgICAxMTcsMTYsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgOTUsMTA4LDExMSw5OSwxMDcsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwKLSAgICAwLDAsMTEsMCwwLDAsNjcsMCwwLDAsMTE1LDcxLDAsMCwwLDExNiwKLSAgICAwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwxLDAsMTE2LDEsMCwxMDYsMiwKLSAgICAwLDEzMSwwLDAsMSwxMjEsMTQsMCwxMjQsMSwwLDEwNiwzLDAsMTMxLDAsCi0gICAgMCwxLDg3LDExMCwxOCwwLDQsMTE2LDQsMCwxMDcsMTAsMCwxMTQsNTYsMCwKLSAgICAxLDEsMSw4OSwxMTAsMTEsMCw4OCwxMjQsMSwwLDEwNiw1LDAsMTMxLDAsCi0gICAgMCwxLDEwMCwxLDAsODMsNDAsMiwwLDAsMCwxMTcsMjEsMSwwLDAsCi0gICAgODIsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTA4LDExMSw5OCwKLSAgICA5NywxMDgsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsNDQsMzIsCi0gICAgOTcsMTEwLDEwMCwzMiw5Nyw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwKLSAgICAxMTAsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsCi0gICAgMzIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLDExMSwKLSAgICAxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTA1LDExNSwzMiwKLSAgICAxMDUsMTE1LDMyLDExNywxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTE1LDExNywxMTQsCi0gICAgMTAxLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMTUsMzIsOTksMTExLAotICAgIDEwOSwxMTIsMTA4LDEwMSwxMTYsMTAxLDEwOCwxMjEsMzIsMTA1LDExMCwxMDUsMTE2LDEwNSw5NywxMDgsCi0gICAgMTA1LDEyMiwxMDEsMTAwLDQ0LDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsCi0gICAgMzIsMTAxLDExOCwxMDEsMTEwLDExNiwzMiwxMDUsMTE2LDMyLDEwNSwxMTUsMzIsOTgsMTAxLDEwNSwKLSAgICAxMTAsMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzIsOTgsMTIxLDMyLDk3LAotICAgIDExMCwxMTEsMTE2LDEwNCwxMDEsMTE0LDMyLDExNiwxMDQsMTE0LDEwMSw5NywxMDAsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsODMsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMTEsMTEwLDEwOCwxMjEsMzIsCi0gICAgOTgsMTAxLDMyLDk5LDk3LDEwOCwxMDgsMTAxLDEwMCwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTE2LAotICAgIDk3LDEwNywxMDEsMTEwLDQ2LDc4LDQwLDYsMCwwLDAsMTE3LDE2LDAsMCwwLAotICAgIDk1LDEwMywxMDEsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwOCwxMTEsOTksMTA3LAotICAgIDExNyw0LDAsMCwwLDk1LDEwNSwxMDksMTEyLDExNywxMiwwLDAsMCwxMTQsMTAxLAotICAgIDEwOCwxMDEsOTcsMTE1LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTcsNywwLDAsMCw5NywKLSAgICA5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNywxNCwwLDAsMCw5NSw2OCwxMDEsOTcsMTAwLAotICAgIDEwOCwxMTEsOTksMTA3LDY5LDExNCwxMTQsMTExLDExNCwxMTcsNywwLDAsMCwxMTQsMTAxLAotICAgIDEwOCwxMDEsOTcsMTE1LDEwMSw0MCwyLDAsMCwwLDExNyw0LDAsMCwwLDExMCwKLSAgICA5NywxMDksMTAxLDExNyw0LDAsMCwwLDEwOCwxMTEsOTksMTA3LDQwLDAsMCwwLAotICAgIDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsCi0gICAgMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE5LDAsMCwwLDk1LDEwOCwxMTEsCi0gICAgOTksMTA3LDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMjksMSwwLDAsMTE1LDE0LDAsMCwwLDAsNywxMiwxLDEwLDEsMywKLSAgICAxLDE0LDEsMTMsMyw1LDIsMTE3LDE5LDAsMCwwLDk1LDEwOCwxMTEsOTksCi0gICAgMTA3LDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksCi0gICAgMSwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwKLSAgICA3OSwwLDAsMCwxMTUsMTMsMCwwLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwKLSAgICAyLDAsMTQyLDAsMCw4Myw0MCwxLDAsMCwwLDExNyw0NiwxLDAsMCwKLSAgICAxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LAotICAgIDk1LDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsMzIsMTA1LDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiw0Niw5OSwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTcsMTA4LDExOSw5NywxMjEsMTE1LDMyLAotICAgIDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDMyLDExNSwxMDEsMTEzLDExNywxMDEsMTEwLDk5LDEwMSwxMTUsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTExLDEwMiwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LAotICAgIDk4LDMyLDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsMzIsMTE2LDEwNCw5NywxMTYsMzIsMTAxLDExMCwKLSAgICAxMDAsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDk3LDMyLDk5LDk3LDEwOCwxMDgsMzIsMTE2LDExMSwKLSAgICAzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDg1LDExNSwxMDEsMzIsMTA1LDExNiwzMiwxMDUsMTEwLDExNSwxMTYsMTAxLAotICAgIDk3LDEwMCwzMiwxMTEsMTAyLDMyLDk3LDMyLDExMCwxMTEsMTE0LDEwOSw5NywxMDgsMzIsOTksCi0gICAgOTcsMTA4LDEwOCwzMiwxMDUsMTEwLDMyLDExMiwxMDgsOTcsOTksMTAxLDExNSwzMiwxMTksMTA0LAotICAgIDEwMSwxMTQsMTAxLDMyLDEwNSwxMTAsOTksMTA4LDExNywxMDAsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwxMCwzMiwzMiwzMiwzMiwKLSAgICAxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDMyLDEwNSwxMTAsMTE2LDExNCwxMTEsMTAwLDExNyw5OSwxMDEsCi0gICAgMTE1LDMyLDExNywxMTAsMTE5LDk3LDExMCwxMTYsMTAxLDEwMCwzMiwxMTAsMTExLDEwNSwxMTUsMTAxLAotICAgIDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMTYsMTE0LDk3LDk5LDEwMSw5OCwKLSAgICA5Nyw5OSwxMDcsMzIsNDAsMTAxLDQ2LDEwMyw0NiwzMiwxMTksMTA0LDEwMSwxMTAsMzIsMTAxLAotICAgIDEyMCwxMDEsOTksMTE3LDExNiwxMDUsMTEwLDEwMywxMCwzMiwzMiwzMiwzMiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0MSwxMCwzMiwzMiwzMiwzMiw0MCwwLAotICAgIDAsMCwwLDQwLDMsMCwwLDAsMTE3LDEsMCwwLDAsMTAyLDExNyw0LAotICAgIDAsMCwwLDk3LDExNCwxMDMsMTE1LDExNyw0LDAsMCwwLDEwNywxMTksMTAwLDExNSwKLSAgICA0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLAotICAgIDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCi0gICAgNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywyNSwwLDAsCi0gICAgMCw5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwKLSAgICAxMDEsMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCw0OSwxLDAsMCwxMTUsMiwKLSAgICAwLDAsMCwwLDgsMTE3LDI1LDAsMCwwLDk1LDk5LDk3LDEwOCwxMDgsOTUsCi0gICAgMTE5LDEwNSwxMTYsMTA0LDk1LDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsOTUsMTE0LDEwMSwxMDksMTExLAotICAgIDExOCwxMDEsMTAwLDEwNSwxNTgsMTIsMCwwLDExNywxLDAsMCwwLDEzLDEwNSwxNiwKLSAgICAwLDAsMCwxMTcsMSwwLDAsMCwxMCwxMDUsMjQsMCwwLDAsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCw5OSwKLSAgICAwLDAsMCwxMTUsMjksMCwwLDAsMTI0LDAsMCw5MywxOSwwLDEyNSwxLAotICAgIDAsMTE2LDAsMCwxMjQsMSwwLDYzLDEwMCwwLDAsNjQsODYsMSwxMTMsMywKLSAgICAwLDEwMCwxLDAsODMsNDAsMiwwLDAsMCwxMDUsMjU1LDAsMCwwLDc4LAotICAgIDQwLDEsMCwwLDAsMTE3LDE3LDAsMCwwLDk1LDgyLDY1LDg3LDk1LDc3LAotICAgIDY1LDcxLDczLDY3LDk1LDc4LDg1LDc3LDY2LDY5LDgyLDQwLDIsMCwwLDAsCi0gICAgMTE3LDIsMCwwLDAsNDYsNDgsMTE3LDEsMCwwLDAsMTEwLDQwLDAsMCwKLSAgICAwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwKLSAgICAxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDksMCwwLDAsNjAsMTAzLAotICAgIDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDE1MCwxLDAsMCwxMTUsMiwwLDAsMCwKLSAgICA2LDAsMTE3LDksMCwwLDAsNjAsMTAzLDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLAotICAgIDEwNSwwLDAsMCwwLDEwNSwyNSwwLDAsMCwxMDUsOCwwLDAsMCwxMTcsCi0gICAgMTEsMCwwLDAsOTUsOTUsMTEyLDEyMSw5OSw5Nyw5OSwxMDQsMTAxLDk1LDk1LDExNywKLSAgICAzLDAsMCwwLDQ2LDExMiwxMjEsMTE3LDQsMCwwLDAsNDYsMTEyLDEyMSw5OSwKLSAgICAxMTcsNCwwLDAsMCw0NiwxMTIsMTIxLDExMSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMTEsMCwwLDAsNiwwLDAsMCw2NywwLDAsMCwxMTUsMTgwLAotICAgIDAsMCwwLDEyNCwxLDAsMTAwLDUsMCwxMDcsOCwwLDExNCwyNSwwLDExNiwKLSAgICAxLDAsMTA2LDIsMCwxMDYsMywwLDEyLDExMCwzLDAsMTI0LDEsMCwxMjUsCi0gICAgMiwwLDEyNCwyLDAsMTE0LDQ2LDAsMTE2LDQsMCwxMjUsMywwLDExMCw2LAotICAgIDAsMTE2LDUsMCwxMjUsMywwLDExNiw2LDAsMTI0LDAsMCwxMzEsMSwwLAotICAgIDkyLDIsMCwxMjUsNCwwLDEyNSw1LDAsMTI0LDUsMCwxMDYsNywwLDEwMCwKLSAgICAxLDAsMTMxLDEsMCw5MiwzLDAsMTI1LDYsMCwxMjUsNywwLDEyNSw4LAotICAgIDAsMTE2LDEsMCwxMDYsOCwwLDEwNiw5LDAsMTI1LDksMCwxMjQsOSwwLAotICAgIDEwMCw1LDAsMTA3LDgsMCwxMTQsMTMzLDAsMTE2LDEwLDAsMTAwLDIsMCwxMzEsCi0gICAgMSwwLDEzMCwxLDAsMTEwLDAsMCwxMDAsMywwLDEwNiwxMSwwLDEyNCw2LAotICAgIDAsMTI0LDcsMCwxMjQsOSwwLDEyNCwzLDAsMTAwLDQsMCwyNSwxMDMsNCwKLSAgICAwLDEzMSwxLDAsMTI1LDEwLDAsMTE2LDEyLDAsMTI0LDQsMCwxMTYsMTMsMCwKLSAgICAxMjQsMTAsMCwxMzEsMywwLDgzLDQwLDYsMCwwLDAsMTE3LDI0NCwxLDAsCi0gICAgMCw3MSwxMDUsMTE4LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsCi0gICAgMTE2LDExMSwzMiw5NywzMiw0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSw0NCwzMiwxMTQsCi0gICAgMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsCi0gICAgMTExLDMyLDEwNSwxMTYsMTE1LDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLDEyMSwxMTEsMzIsCi0gICAgMTAyLDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsNDYsCi0gICAgMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTAwLDExMSwxMDEsMTE1LDMyLDExMCwxMTEsMTE2LAotICAgIDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsNTksMzIsCi0gICAgMTE2LDEwNCwxMDUsMTE1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTIxLDMyLDExNCwxMDEsMTE2LDExNywKLSAgICAxMTQsMTEwLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLAotICAgIDExNiwxMDQsMTAxLDEwLDMyLDMyLDMyLDMyLDQ2LDExMiwxMjEsOTksNDcsNDYsMTEyLDEyMSwKLSAgICAxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsCi0gICAgMTAwLDMyLDk3LDExNSwzMiwxMDUsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDQ2LDExMiwxMjEsMzIsCi0gICAgMTAyLDEwNSwxMDgsMTAxLDMyLDExOSwxMDEsMTE0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDEsMTAwLDQ2LDMyLDMyLDg0LDEwNCwxMDEsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAotICAgIDExMSwxMTAsMTAsMzIsMzIsMzIsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiw0NiwKLSAgICAxMTIsMTIxLDk5LDMyLDExNywxMTAsMTA4LDEwMSwxMTUsMTE1LDMyLDExNSwxMjEsMTE1LDQ2LDEwMiwKLSAgICAxMDgsOTcsMTAzLDExNSw0NiwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDMyLDEwNSwxMTUsCi0gICAgMzIsMTEwLDExMSwxMTAsNDUsMTIyLDEwMSwxMTQsMTExLDQ0LDMyLDExNiwxMDQsMTAxLDExMCwzMiwKLSAgICAxMDUsMTE2LDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5OCwxMDEsMzIsNDYsMTEyLDEyMSwxMTEsNDYsCi0gICAgMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTAyLDMyLDEwMCwxMDEsOTgsMTE3LDEwMyw5NSwxMTEsCi0gICAgMTE4LDEwMSwxMTQsMTE0LDEwNSwxMDAsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsNzgsCi0gICAgMTExLDExMCwxMDEsNDQsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDEwNSwxMTYsMzIsMTA5LDExNywxMTUsCi0gICAgMTE2LDMyLDk4LDEwMSwzMiw5NywzMiw5OCwxMTEsMTExLDEwOCwxMDEsOTcsMTEwLDMyLDk3LAotICAgIDExMCwxMDAsMzIsMTA1LDExNSwzMiwxMTcsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCwxMCwzMiwzMiwKLSAgICAzMiwzMiwxMTIsMTA4LDk3LDk5LDEwMSwzMiwxMTEsMTAyLDMyLDExNSwxMjEsMTE1LDQ2LDEwMiwKLSAgICAxMDgsOTcsMTAzLDExNSw0NiwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDQ2LDEwLDEwLAotICAgIDMyLDMyLDMyLDMyLDczLDEwMiwzMiwxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLAotICAgIDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwKLSAgICAxMTYsOTcsMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwxMDEsMzIsMTE2LDEwNCwxMDEsMTEwLAotICAgIDMyLDc4LDExMSwxMTYsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsMTAsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTE3LDEsMCwwLDAsNDYsMTE3LDM2LDAsMCwwLAotICAgIDExNSwxMjEsMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsCi0gICAgMTExLDExMCw0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiwKLSAgICA3OCwxMTEsMTEwLDEwMSwxMTcsMCwwLDAsMCwxMDUsMCwwLDAsMCw3OCw0MCwKLSAgICAxNCwwLDAsMCwxMTcsNCwwLDAsMCw3OCwxMTEsMTEwLDEwMSwxMTcsMywwLAotICAgIDAsMCwxMTUsMTIxLDExNSwxMTcsNSwwLDAsMCwxMDIsMTA4LDk3LDEwMywxMTUsMTE3LAotICAgIDgsMCwwLDAsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLDEwMSwxMTcsMjMsMCwwLAotICAgIDAsNjgsNjksNjYsODUsNzEsOTUsNjYsODksODQsNjksNjcsNzksNjgsNjksOTUsCi0gICAgODMsODUsNzAsNzAsNzMsODgsNjksODMsMTE3LDI3LDAsMCwwLDc5LDgwLDg0LAotICAgIDczLDc3LDczLDkwLDY5LDY4LDk1LDY2LDg5LDg0LDY5LDY3LDc5LDY4LDY5LDk1LAotICAgIDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDExNywxMSwwLDAsMCw5NSwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMTUsMTEyLDEwOCwxMDUsMTE2LDExNyw5LDAsMCwwLDExMiw5NywxMTQsCi0gICAgMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE3LDE0LDAsMCwwLDEwNSwxMDksMTEyLDEwOCwxMDEsCi0gICAgMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwxMTcsOSwwLDAsMCw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMTE3LDE5LDAsMCwwLDc4LDExMSwxMTYsNzMsCi0gICAgMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwxMTcsCi0gICAgNCwwLDAsMCwxMDYsMTExLDEwNSwxMTAsMTE3LDEwLDAsMCwwLDk1LDExMiw5NywKLSAgICAxMTYsMTA0LDk1LDEwNiwxMTEsMTA1LDExMCwxMTcsOCwwLDAsMCw5NSw4MCw4OSw2NywKLSAgICA2NSw2Nyw3Miw2OSw0MCwxMSwwLDAsMCwxMTcsNCwwLDAsMCwxMTIsOTcsCi0gICAgMTE2LDEwNCwxMTcsMTQsMCwwLDAsMTAwLDEwMSw5OCwxMTcsMTAzLDk1LDExMSwxMTgsMTAxLAotICAgIDExNCwxMTQsMTA1LDEwMCwxMDEsMTE3LDUsMCwwLDAsMTAwLDEwMSw5OCwxMTcsMTAzLDExNywKLSAgICA4LDAsMCwwLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsMTE3LDQsMCwwLAotICAgIDAsMTA0LDEwMSw5NywxMDAsMTE3LDQsMCwwLDAsMTE2LDk3LDEwNSwxMDgsMTE3LDEzLAotICAgIDAsMCwwLDk4LDk3LDExNSwxMDEsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLAotICAgIDExNywzLDAsMCwwLDExNSwxMDEsMTEyLDExNywxLDAsMCwwLDk1LDExNywzLAotICAgIDAsMCwwLDExNiw5NywxMDMsMTE3LDgsMCwwLDAsMTAyLDEwNSwxMDgsMTAxLDExMCwKLSAgICA5NywxMDksMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwKLSAgICAwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LAotICAgIDE3LDAsMCwwLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwKLSAgICAxMTEsMTE3LDExNCw5OSwxMDEsMTU5LDEsMCwwLDExNSwyMiwwLDAsMCwwLDEzLAotICAgIDMxLDEsNiwxLDksMiw2LDEsMTgsMSwyNCwxLDEyLDEsMTIsMSwKLSAgICAxNSwxLDMxLDEsMTE3LDE3LDAsMCwwLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTAyLAotICAgIDExNCwxMTEsMTA5LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMSwwLDAsMCwwLAotICAgIDAsMCwwLDUsMCwwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsCi0gICAgMTkzLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMDYsMiwwLDEwMCw3LDAsCi0gICAgMTA3LDgsMCwxMTQsMzMsMCwxMTYsNCwwLDEwMCwxLDAsMTMxLDEsMCwxMzAsCi0gICAgMSwwLDExMCwwLDAsMTE2LDUsMCwxMjQsMCwwLDEzMSwxLDAsOTIsMiwKLSAgICAwLDEyNSwxLDAsMTI1LDIsMCwxMTYsNSwwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICA5MiwyLDAsMTI1LDEsMCwxMjUsMywwLDEyNCwzLDAsMTE2LDYsMCwxMDcsCi0gICAgMywwLDExNCwxMDgsMCwxMTYsNywwLDEwMCwyLDAsMTA2LDgsMCwxMTYsNiwKLSAgICAwLDEyNCwwLDAsMTMxLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwKLSAgICAxMjQsMiwwLDEwNiw5LDAsMTAwLDMsMCwxMzEsMSwwLDEwMCw0LDAsMTA3LAotICAgIDMsMCwxMTQsMTUzLDAsMTE2LDcsMCwxMDAsNSwwLDEwNiw4LDAsMTI0LDIsCi0gICAgMCwxMzEsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwyLDAsCi0gICAgMTA2LDEwLDAsMTAwLDMsMCwxMzEsMSwwLDEwMCw2LDAsMjUsMTI1LDQsMCwKLSAgICAxMTYsMTEsMCwxMjQsMSwwLDEyNCw0LDAsMTE2LDEyLDAsMTAwLDYsMCwyNSwKLSAgICAyMywxMzEsMiwwLDgzLDQwLDgsMCwwLDAsMTE3LDEyMSwxLDAsMCw3MSwKLSAgICAxMDUsMTE4LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwKLSAgICAzMiw5NywzMiw0NiwxMTIsMTIxLDk5LDQ2LDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsCi0gICAgMTA4LDEwMSw0NCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsCi0gICAgOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDEwNSwxMTYsMTE1LDMyLDQ2LDExMiwxMjEsMzIsMTAyLAotICAgIDEwNSwxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsNDYsMTEyLAotICAgIDEyMSw5OSw0Nyw0NiwxMTIsMTIxLDExMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTAwLDExMSwxMDEsCi0gICAgMTE1LDMyLDExMCwxMTEsMTE2LDMyLDExMCwxMDEsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMjAsCi0gICAgMTA1LDExNSwxMTYsNTksMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDExNSwxMDUsMTA5LDExMiwxMDgsMTIxLAotICAgIDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LAotICAgIDEwNCwzMiwxMTYsMTExLDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDQ2LDExMiwxMjEsCi0gICAgMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsMTAwLAotICAgIDMyLDExNiwxMTEsMzIsOTksMTExLDExNCwxMTQsMTAxLDExNSwxMTIsMTExLDExMCwxMDAsMzIsMTE2LAotICAgIDExMSwzMiwxMTYsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLAotICAgIDEwMiwxMDUsMTA4LDEwMSw0NiwzMiwzMiw3MywxMDIsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAwLAotICAgIDExMSwxMDEsMTE1LDEwLDMyLDMyLDMyLDMyLDExMCwxMTEsMTE2LDMyLDk5LDExMSwxMTAsMTAyLAotICAgIDExMSwxMTQsMTA5LDMyLDExNiwxMTEsMzIsODAsNjksODAsMzIsNTEsNDksNTIsNTUsMzIsCi0gICAgMTAyLDExMSwxMTQsMTA5LDk3LDExNiw0NCwzMiw4Niw5NywxMDgsMTE3LDEwMSw2OSwxMTQsMTE0LAotICAgIDExMSwxMTQsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDk4LDEwMSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsCi0gICAgMTAwLDQ2LDMyLDczLDEwMiwxMCwzMiwzMiwzMiwzMiwxMTUsMTIxLDExNSw0NiwxMDUsMTA5LAotICAgIDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsOTksOTcsOTksCi0gICAgMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMTEwLDMyLDc4LDExMSwxMTYsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKLSAgICAxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwKLSAgICAxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE3LDM2LDAsMCwwLDExNSwxMjEsMTE1LAotICAgIDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCw0NiwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LDExNSwzMiw3OCwxMTEsMTEwLAotICAgIDEwMSwxMTcsMzcsMCwwLDAsMTIzLDEyNSwzMiwxMTAsMTExLDExNiwzMiw5OCwxMTEsMTE2LAotICAgIDExNiwxMTEsMTA5LDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwKLSAgICAxMTEsMTE0LDEyMSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNywxLDAsMCwwLAotICAgIDQ2LDEwNSwyLDAsMCwwLDExNywyOCwwLDAsMCwxMDEsMTIwLDExMiwxMDEsOTksCi0gICAgMTE2LDEwMSwxMDAsMzIsMTExLDExMCwxMDgsMTIxLDMyLDUwLDMyLDEwMCwxMTEsMTE2LDExNSwzMiwKLSAgICAxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDEwNSwwLDAsMCwwLDc4LDQwLDEzLDAsCi0gICAgMCwwLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNywxNCwwLDAsMCwxMDUsCi0gICAgMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsMTE3LDksMCwKLSAgICAwLDAsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsMTAzLDExNyw0LDAsMCwwLAotICAgIDc4LDExMSwxMTAsMTAxLDExNywxOSwwLDAsMCw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LAotICAgIDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDExLDAsMCwKLSAgICAwLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTIsMTA4LDEwNSwxMTYsMTE3LDgsMCwwLAotICAgIDAsOTUsODAsODksNjcsNjUsNjcsNzIsNjksMTE3LDEwLDAsMCwwLDg2LDk3LAotICAgIDEwOCwxMTcsMTAxLDY5LDExNCwxMTQsMTExLDExNCwxMTcsNiwwLDAsMCwxMDIsMTExLDExNCwKLSAgICAxMDksOTcsMTE2LDExNyw1LDAsMCwwLDk5LDExMSwxMTcsMTEwLDExNiwxMTcsOSwwLAotICAgIDAsMCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLDExNywxMCwwLDAsMCwKLSAgICA5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDYsMTExLDEwNSwxMTAsMTE3LDE1LDAsMCwwLDgzLAorICAgIDk5LDEwNyw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMTksMCwwLDAsMTI0LDAsMCw0LDEwNiwwLDAsMTAwLDEsMCw1NSwKKyAgICAyLDk1LDAsMCwxMDAsMiwwLDgzLDQwLDMsMCwwLDAsNzgsMTE0LDI5LAorICAgIDAsMCwwLDg0LDQwLDEsMCwwLDAsMTE0LDc2LDAsMCwwLDQwLDEsCisgICAgMCwwLDAsMTE0LDc4LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCw4NiwwLDAsMCwyMzUsMCwwLDAsCisgICAgMTE1LDQsMCwwLDAsMCwxLDE1LDEsMTE3LDI0LDAsMCwwLDk1LDY4LAorICAgIDExNywxMDksMTA5LDEyMSw3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTcsCisgICAgOTksMTEzLDExNywxMDUsMTE0LDEwMSw5OSwxLDAsMCwwLDAsMCwwLDAsMSwKKyAgICAwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw0OSwwLDAsMCwKKyAgICAxMjQsMCwwLDEwNiwwLDAsMTAwLDEsMCwxMDcsMiwwLDExNCwzMCwwLDExNiwKKyAgICAxLDAsMTAwLDIsMCwxMzEsMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMCwKKyAgICAwLDQsMTA2LDAsMCwxMDAsMywwLDU2LDIsOTUsMCwwLDEwMCwwLDAsCisgICAgODMsNDAsNCwwLDAsMCw3OCwxMTQsNzEsMCwwLDAsMTE3LDMxLDAsMCwKKyAgICAwLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwzMiwKKyAgICAxMTcsMTEwLDQ1LDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTAwLDMyLDEwOCwxMTEsOTksMTA3LAorICAgIDExNCwyOSwwLDAsMCw0MCwyLDAsMCwwLDExNCw3NiwwLDAsMCwxMTQsCisgICAgODgsMCwwLDAsNDAsMSwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDg3LDAsCisgICAgMCwwLDIzOSwwLDAsMCwxMTUsNiwwLDAsMCwwLDEsMTUsMSwxNSwKKyAgICAxLDExNywyNCwwLDAsMCw5NSw2OCwxMTcsMTA5LDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQ2LDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDk5LDEsCisgICAgMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDQsMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDI1LDAsMCwwLDEwMCwxLDAsMTA2LDAsMCwxMjQsMCwKKyAgICAwLDEwNiwxLDAsMTE2LDIsMCwxMjQsMCwwLDEzMSwxLDAsMTMxLDIsMCwKKyAgICA4Myw0MCwyLDAsMCwwLDc4LDExNywyOCwwLDAsMCw5NSw2OCwxMTcsMTA5LAorICAgIDEwOSwxMjEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw3NiwxMTEsOTksMTA3LDQwLDEyMywzMywxMTQsCisgICAgMTI1LDQxLDMyLDk3LDExNiwzMiwxMjMsMTI1LDQwLDMsMCwwLDAsMTE0LDQ2LDAsCisgICAgMCwwLDExNCw2NiwwLDAsMCwxMTQsNDcsMCwwLDAsNDAsMSwwLDAsCisgICAgMCwxMTQsNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMTE0LDkwLDAsMCwwLDI0NCwwLDAsMCwxMTUsMiwKKyAgICAwLDAsMCwwLDEsMTE3LDI1LDAsMCwwLDk1LDY4LDExNywxMDksMTA5LDEyMSwKKyAgICA3NywxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsNDYsOTUsOTUsMTE0LDEwMSwxMTIsCisgICAgMTE0LDk1LDk1LDc4LDQwLDgsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCw1NSwKKyAgICAwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw3OSwwLAorICAgIDAsMCwxMTQsODYsMCwwLDAsMTE0LDg3LDAsMCwwLDExNCw5MCwwLDAsCisgICAgMCw0MCwxLDAsMCwwLDExNCw2OSwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsOTEsMCwwLDAsMjI3LAorICAgIDAsMCwwLDExNSwxMCwwLDAsMCwxNiwyLDYsMiwxMiw0LDEyLDQsCisgICAgMTIsNSwxMTQsOTEsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDMsMCwwLDAsMTEsMCwwLDAsMywwLDAsMCwxMTUsMTQyLDAsMCwKKyAgICAwLDEwMCwxLDAsMTI1LDEsMCwxMjEsMTcsMCwxMTYsMCwwLDEzNiwwLDAsCisgICAgMjUsMTMxLDAsMCwxMjUsMSwwLDg3LDExMCwxOCwwLDQsMTE2LDEsMCwxMDcsCisgICAgMTAsMCwxMTQsNDMsMCwxLDEsMSw4OSwxMTAsMSwwLDg4LDEyNCwxLDAsCisgICAgMTAwLDEsMCwxMDcsOCwwLDExNCwxMzgsMCwxMTYsMiwwLDEwMCwxLDAsMTA3LAorICAgIDgsMCwxMTQsODMsMCwxMTYsMywwLDEzNiwwLDAsMTMxLDEsMCwxMjUsMSwKKyAgICAwLDExMCwxMiwwLDExNiw0LDAsMTM2LDAsMCwxMzEsMSwwLDEyNSwxLDAsCisgICAgMTM1LDAsMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMzQsMCwwLDEyNSwKKyAgICAyLDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMiwKKyAgICAwLDExNiwwLDAsMTM2LDAsMCw2MCwxMTAsMCwwLDEyNCwxLDAsODMsNDAsCisgICAgNCwwLDAsMCwxMTcsMTA5LDAsMCwwLDcxLDEwMSwxMTYsMzIsMTExLDExNCwzMiwKKyAgICA5OSwxMTQsMTAxLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsMTA4LDExMSw5OSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsOTcsMzIsMTAzLDEwNSwxMTgsCisgICAgMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSw0NiwxMCwKKyAgICAxMCwzMiwzMiwzMiwzMiw4MywxMDQsMTExLDExNywxMDgsMTAwLDMyLDExMSwxMTAsMTA4LDEyMSwKKyAgICAzMiw5OCwxMDEsMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExOSwxMDUsMTE2LDEwNCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LDEwNywzMiwKKyAgICAxMTYsOTcsMTA3LDEwMSwxMTAsNDYsNzgsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDEsMCwwLDAsMiwwLDAsMCwxOSwwLDAsMCwxMTUsMTEsMCwwLAorICAgIDAsMTE2LDAsMCwxMzYsMCwwLDYxLDEwMCwwLDAsODMsNDAsMSwwLDAsCisgICAgMCw3OCw0MCwxLDAsMCwwLDI0NCwxMywwLDAsMCw5NSwxMDksMTExLDEwMCwKKyAgICAxMTcsMTA4LDEwMSw5NSwxMDgsMTExLDk5LDEwNywxMTUsNDAsMSwwLDAsMCwxMTQsMzYsCisgICAgMCwwLDAsNDAsMSwwLDAsMCwxMTQsNjYsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMjQ0LDIsMCwwLDAsOTksOTgsOCwxLAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDEsMTE3LDI4LDAsMCwwLDk1LDEwMywKKyAgICAxMDEsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwOCwxMTEsOTksMTA3LDQ2LDYwLAorICAgIDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5OSw5OCw0MCw3LDAsMCwwLDExNCwKKyAgICA5MiwwLDAsMCwyNDQsOCwwLDAsMCw3NSwxMDEsMTIxLDY5LDExNCwxMTQsMTExLAorICAgIDExNCwxMTQsNzIsMCwwLDAsMTE0LDkxLDAsMCwwLDExNCw3MCwwLDAsMCwKKyAgICAyNDQsOCwwLDAsMCw5NSwxMTksMTAxLDk3LDEwNywxMTQsMTAxLDEwMiwxMTYsMywwLAorICAgIDAsMCwxMTQsMTAxLDEwMiw0MCwzLDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsCisgICAgNzMsMCwwLDAsMTE0LDkzLDAsMCwwLDExNCw0LDAsMCwwLDQwLDEsCisgICAgMCwwLDAsMTE0LDY2LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNiwwLAorICAgIDAsMCw5NSwxMDMsMTAxLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDgsMTExLAorICAgIDk5LDEwNywyNTAsMCwwLDAsMTE1LDI0LDAsMCwwLDAsNCw2LDEsMywKKyAgICAxLDE3LDEsMTMsMSw1LDEsMTIsMSwxMiwxLDE1LDIsMTIsMSwxOCwKKyAgICAyLDI1LDEsMTE0LDk2LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsCisgICAgMCwyLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw3MSwwLAorICAgIDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLDEsMCwxMjUsMSwwLDExNiwxLAorICAgIDAsMTA2LDIsMCwxMzEsMCwwLDEsMTIxLDE0LDAsMTI0LDEsMCwxMDYsMywKKyAgICAwLDEzMSwwLDAsMSw4NywxMTAsMTgsMCw0LDExNiw0LDAsMTA3LDEwLDAsCisgICAgMTE0LDU2LDAsMSwxLDEsODksMTEwLDExLDAsODgsMTI0LDEsMCwxMDYsNSwKKyAgICAwLDEzMSwwLDAsMSwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDIxLAorICAgIDEsMCwwLDgyLDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTAzLAorICAgIDEwOCwxMTEsOTgsOTcsMTA4LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOCwxMTEsOTksCisgICAgMTA3LDQ0LDMyLDk3LDExMCwxMDAsMzIsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsMzIsCisgICAgMTE2LDEwNCwxMDEsMTEwLDMyLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLAorICAgIDEwLDMyLDMyLDMyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwOCwxMTEsOTksMTA3LAorICAgIDMyLDEwMiwxMTEsMTE0LDMyLDk3LDMyLDEwMywxMDUsMTE4LDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsNDYsMTAsMzIsMzIsMzIsMzIsODQsMTA0LAorICAgIDEwNSwxMTUsMzIsMTA1LDExNSwzMiwxMTcsMTE1LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDEsMTEwLAorICAgIDExNSwxMTcsMTE0LDEwMSwzMiw5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LAorICAgIDMyLDk5LDExMSwxMDksMTEyLDEwOCwxMDEsMTE2LDEwMSwxMDgsMTIxLDMyLDEwNSwxMTAsMTA1LDExNiwKKyAgICAxMDUsOTcsMTA4LDEwNSwxMjIsMTAxLDEwMCw0NCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDEwLAorICAgIDMyLDMyLDMyLDMyLDEwMSwxMTgsMTAxLDExMCwxMTYsMzIsMTA1LDExNiwzMiwxMDUsMTE1LDMyLAorICAgIDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDMyLDk4LAorICAgIDEyMSwzMiw5NywxMTAsMTExLDExNiwxMDQsMTAxLDExNCwzMiwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLAorICAgIDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDgzLDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTExLDExMCwKKyAgICAxMDgsMTIxLDMyLDk4LDEwMSwzMiw5OSw5NywxMDgsMTA4LDEwMSwxMDAsMzIsMTE5LDEwNSwxMTYsCisgICAgMTA0LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOCwxMTEsOTksCisgICAgMTA3LDMyLDExNiw5NywxMDcsMTAxLDExMCw0Niw3OCw0MCw2LDAsMCwwLDExNCw5NiwKKyAgICAwLDAsMCwyNDQsNCwwLDAsMCw5NSwxMDUsMTA5LDExMiwyNDQsMTIsMCwwLAorICAgIDAsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE0LDg2LDAsCisgICAgMCwwLDExNCw2OCwwLDAsMCwxMTQsODcsMCwwLDAsNDAsMiwwLDAsCisgICAgMCwxMTQsNjYsMCwwLDAsMTE0LDczLDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxOSwwLDAsMCw5NSwKKyAgICAxMDgsMTExLDk5LDEwNyw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDk1LDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDEzLDEsMCwwLDExNSwxNCwwLDAsMCwwLDcsMTIsMSwxMCwKKyAgICAxLDMsMSwxNCwxLDEzLDMsNSwyLDExNCw5OSwwLDAsMCw5OSwxLAorICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwzLDAsMCwwLDc5LAorICAgIDAsMCwwLDExNSwxMywwLDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsCisgICAgMCwxNDIsMCwwLDgzLDQwLDEsMCwwLDAsMTE3LDQ2LDEsMCwwLDExNCwKKyAgICAxMDEsMTA5LDExMSwxMTgsMTAxLDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsOTUsCisgICAgMTAyLDExNCw5NywxMDksMTAxLDExNSwzMiwxMDUsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDQ2LDk5LDMyLDExOSwxMDUsMTA4LDEwOCwzMiw5NywxMDgsMTE5LDk3LDEyMSwxMTUsMzIsMTE0LAorICAgIDEwMSwxMDksMTExLDExOCwxMDEsMzIsMTE1LDEwMSwxMTMsMTE3LDEwMSwxMTAsOTksMTAxLDExNSwxMCwKKyAgICAzMiwzMiwzMiwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCisgICAgMzIsMTAyLDExNCw5NywxMDksMTAxLDExNSwzMiwxMTYsMTA0LDk3LDExNiwzMiwxMDEsMTEwLDEwMCwKKyAgICAzMiwxMTksMTA1LDExNiwxMDQsMzIsOTcsMzIsOTksOTcsMTA4LDEwOCwzMiwxMTYsMTExLDMyLAorICAgIDExNiwxMDQsMTA1LDExNSwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMTAsMTAsMzIsCisgICAgMzIsMzIsMzIsODUsMTE1LDEwMSwzMiwxMDUsMTE2LDMyLDEwNSwxMTAsMTE1LDExNiwxMDEsOTcsCisgICAgMTAwLDMyLDExMSwxMDIsMzIsOTcsMzIsMTEwLDExMSwxMTQsMTA5LDk3LDEwOCwzMiw5OSw5NywKKyAgICAxMDgsMTA4LDMyLDEwNSwxMTAsMzIsMTEyLDEwOCw5Nyw5OSwxMDEsMTE1LDMyLDExOSwxMDQsMTAxLAorICAgIDExNCwxMDEsMzIsMTA1LDExMCw5OSwxMDgsMTE3LDEwMCwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDEwLDMyLDMyLDMyLDMyLDEwMiwKKyAgICAxMTQsOTcsMTA5LDEwMSwxMTUsMzIsMTA1LDExMCwxMTYsMTE0LDExMSwxMDAsMTE3LDk5LDEwMSwxMTUsCisgICAgMzIsMTE3LDExMCwxMTksOTcsMTEwLDExNiwxMDEsMTAwLDMyLDExMCwxMTEsMTA1LDExNSwxMDEsMzIsCisgICAgMTA1LDExMCwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDExNiwxMTQsOTcsOTksMTAxLDk4LDk3LAorICAgIDk5LDEwNywzMiw0MCwxMDEsNDYsMTAzLDQ2LDMyLDExOSwxMDQsMTAxLDExMCwzMiwxMDEsMTIwLAorICAgIDEwMSw5OSwxMTcsMTE2LDEwNSwxMTAsMTAzLDEwLDMyLDMyLDMyLDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQxLDEwLDMyLDMyLDMyLDMyLDExNCw0LDAsCisgICAgMCwwLDQwLDMsMCwwLDAsMjQ0LDEsMCwwLDAsMTAyLDI0NCw0LDAsCisgICAgMCwwLDk3LDExNCwxMDMsMTE1LDExNiw0LDAsMCwwLDEwNywxMTksMTAwLDExNSwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsMjUsCisgICAgMCwwLDAsOTUsOTksOTcsMTA4LDEwOCw5NSwxMTksMTA1LDExNiwxMDQsOTUsMTAyLDExNCwKKyAgICA5NywxMDksMTAxLDExNSw5NSwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwxMDAsMzMsMSwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCw4LDExNCwxMDIsMCwwLDAsMTA1LDE3OCwxMiwwLAorICAgIDAsMjMzLDIsMCwwLDAsMTE0LDEzLDAsMCwwLDExNSwyLDAsMCwwLAorICAgIDEzLDEwLDExNiwxMSwwLDAsMCw5NSw5NSwxMTIsMTIxLDk5LDk3LDk5LDEwNCwxMDEsCisgICAgOTUsOTUsMTE3LDMsMCwwLDAsNDYsMTEyLDEyMSwxMTcsNCwwLDAsMCw0NiwKKyAgICAxMTIsMTIxLDk5LDExNyw0LDAsMCwwLDQ2LDExMiwxMjEsMTExLDc4LDk5LDIsMCwKKyAgICAwLDAsMCwwLDAsMCwxMSwwLDAsMCw2LDAsMCwwLDY3LDAsCisgICAgMCwwLDExNSwxODAsMCwwLDAsMTI0LDEsMCwxMDAsMSwwLDEwNyw4LDAsCisgICAgMTE0LDI1LDAsMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsMTIsMTEwLDMsMCwKKyAgICAxMjQsMSwwLDEyNSwyLDAsMTI0LDIsMCwxMTQsNDYsMCwxMTYsMywwLDEyNSwKKyAgICAzLDAsMTEwLDYsMCwxMTYsNCwwLDEyNSwzLDAsMTE2LDUsMCwxMjQsMCwKKyAgICAwLDEzMSwxLDAsOTIsMiwwLDEyNSw0LDAsMTI1LDUsMCwxMjQsNSwwLAorICAgIDEwNiw2LDAsMTAwLDIsMCwxMzEsMSwwLDkyLDMsMCwxMjUsNiwwLDEyNSwKKyAgICA3LDAsMTI1LDgsMCwxMTYsMCwwLDEwNiw3LDAsMTA2LDgsMCwxMjUsOSwKKyAgICAwLDEyNCw5LDAsMTAwLDEsMCwxMDcsOCwwLDExNCwxMzMsMCwxMTYsOSwwLAorICAgIDEwMCwzLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTAwLDQsMCwxMDYsCisgICAgMTAsMCwxMjQsNiwwLDEyNCw3LDAsMTI0LDksMCwxMjQsMywwLDEwMCw1LAorICAgIDAsMjUsMTAzLDQsMCwxMzEsMSwwLDEyNSwxMCwwLDExNiwxMSwwLDEyNCw0LAorICAgIDAsMTE2LDEyLDAsMTI0LDEwLDAsMTMxLDMsMCw4Myw0MCw2LDAsMCwwLAorICAgIDExNywyNDQsMSwwLDAsNzEsMTA1LDExOCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiwKKyAgICA5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsOTcsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwKKyAgICAxMDEsNDQsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LAorICAgIDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMDUsMTE2LDExNSwzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LAorICAgIDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTAxLDMyLDQ2LDExMiwxMjEsMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDEwMCwxMTEsMTAxLDExNSwKKyAgICAzMiwxMTAsMTExLDExNiwzMiwxMTAsMTAxLDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDEsMTIwLDEwNSwKKyAgICAxMTUsMTE2LDU5LDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMTUsMTA1LDEwOSwxMTIsMTA4LDEyMSwzMiwKKyAgICAxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsCisgICAgMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwxMCwzMiwzMiwzMiwzMiw0NiwxMTIsMTIxLDk5LAorICAgIDQ3LDQ2LDExMiwxMjEsMTExLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiw5OSw5NywxMDgsOTksMTE3LAorICAgIDEwOCw5NywxMTYsMTAxLDEwMCwzMiw5NywxMTUsMzIsMTA1LDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICA0NiwxMTIsMTIxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMTksMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDEwMCw0NiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwMSwxMjAsMTE2LAorICAgIDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDEwLDMyLDMyLDMyLDMyLDExOSwxMDUsMTA4LDEwOCwzMiwKKyAgICA5OCwxMDEsMzIsNDYsMTEyLDEyMSw5OSwzMiwxMTcsMTEwLDEwOCwxMDEsMTE1LDExNSwzMiwxMTUsCisgICAgMTIxLDExNSw0NiwxMDIsMTA4LDk3LDEwMywxMTUsNDYsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLAorICAgIDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMTEwLDQ1LDEyMiwxMDEsMTE0LDExMSw0NCwzMiwxMTYsCisgICAgMTA0LDEwMSwxMTAsMzIsMTA1LDExNiwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTgsMTAxLDMyLDQ2LAorICAgIDExMiwxMjEsMTExLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDczLDEwMiwzMiwxMDAsMTAxLDk4LAorICAgIDExNywxMDMsOTUsMTExLDExOCwxMDEsMTE0LDExNCwxMDUsMTAwLDEwMSwzMiwxMDUsMTE1LDMyLDExMCwKKyAgICAxMTEsMTE2LDMyLDc4LDExMSwxMTAsMTAxLDQ0LDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMDUsMTE2LAorICAgIDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsOTcsMzIsOTgsMTExLDExMSwxMDgsMTAxLAorICAgIDk3LDExMCwzMiw5NywxMTAsMTAwLDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDEwNSwKKyAgICAxMTAsMTAsMzIsMzIsMzIsMzIsMTEyLDEwOCw5Nyw5OSwxMDEsMzIsMTExLDEwMiwzMiwxMTUsCisgICAgMTIxLDExNSw0NiwxMDIsMTA4LDk3LDEwMywxMTUsNDYsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsMTIyLAorICAgIDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3MywxMDIsMzIsMTE1LDEyMSwxMTUsNDYsMTA1LAorICAgIDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDQ2LDk5LDk3LAorICAgIDk5LDEwNCwxMDEsOTUsMTE2LDk3LDEwMywzMiwxMDUsMTE1LDMyLDc4LDExMSwxMTAsMTAxLDMyLAorICAgIDExNiwxMDQsMTAxLDExMCwzMiw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwKKyAgICAxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwKKyAgICAxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDc4LDI0NCwxLDAsMCwwLDQ2LAorICAgIDExNywzNiwwLDAsMCwxMTUsMTIxLDExNSw0NiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsCisgICAgMTEwLDExNiw5NywxMTYsMTA1LDExMSwxMTAsNDYsOTksOTcsOTksMTA0LDEwMSw5NSwxMTYsOTcsCisgICAgMTAzLDMyLDEwNSwxMTUsMzIsNzgsMTExLDExMCwxMDEsMTE0LDMwLDAsMCwwLDExNCw3MSwKKyAgICAwLDAsMCw0MCwxMywwLDAsMCwxMTQsNywwLDAsMCwyNDQsNSwwLAorICAgIDAsMCwxMDIsMTA4LDk3LDEwMywxMTUsMjQ0LDgsMCwwLDAsMTExLDExMiwxMTYsMTA1LAorICAgIDEwOSwxMDUsMTIyLDEwMSwyNDQsMjMsMCwwLDAsNjgsNjksNjYsODUsNzEsOTUsNjYsCisgICAgODksODQsNjksNjcsNzksNjgsNjksOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsCisgICAgMjQ0LDI3LDAsMCwwLDc5LDgwLDg0LDczLDc3LDczLDkwLDY5LDY4LDk1LDY2LAorICAgIDg5LDg0LDY5LDY3LDc5LDY4LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLAorICAgIDExNCwzOCwwLDAsMCwyNDQsOSwwLDAsMCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LAorICAgIDEwNSwxMTEsMTEwLDI0NCwxNCwwLDAsMCwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLAorICAgIDExNiw5NywxMTYsMTA1LDExMSwxMTAsMjQ0LDksMCwwLDAsOTksOTcsOTksMTA0LDEwMSwKKyAgICA5NSwxMTYsOTcsMTAzLDI0NCwxOSwwLDAsMCw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LAorICAgIDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDI2LDAsMCwKKyAgICAwLDExNCwyOCwwLDAsMCwyNDQsOCwwLDAsMCw5NSw4MCw4OSw2Nyw2NSwKKyAgICA2Nyw3Miw2OSw0MCwxMSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE2LDE0LDAsCisgICAgMCwwLDEwMCwxMDEsOTgsMTE3LDEwMyw5NSwxMTEsMTE4LDEwMSwxMTQsMTE0LDEwNSwxMDAsMTAxLAorICAgIDI0NCw1LDAsMCwwLDEwMCwxMDEsOTgsMTE3LDEwMywyNDQsOCwwLDAsMCwxMTUsCisgICAgMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsMTE1LDI0NCw0LDAsMCwwLDEwNCwxMDEsOTcsMTAwLAorICAgIDExNCwzNywwLDAsMCwyNDQsMTMsMCwwLDAsOTgsOTcsMTE1LDEwMSw5NSwxMDIsCisgICAgMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMjQ0LDMsMCwwLDAsMTE1LDEwMSwxMTIsMTE0LAorICAgIDM2LDAsMCwwLDExNiwzLDAsMCwwLDExNiw5NywxMDMsMjQ0LDgsMCwwLAorICAgIDAsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNywwLDAsMCw5OSw5Nyw5OSwKKyAgICAxMDQsMTAxLDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDE1MCwxLAorICAgIDAsMCwxMTUsMjIsMCwwLDAsMCwxMywzMSwxLDYsMSw5LDIsNiwKKyAgICAxLDE4LDEsMjQsMSwxMiwxLDEyLDEsMTUsMSwzMSwxLDExNCwxMjAsMCwKKyAgICAwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsNSwKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsMTkzLDAsMCwwLDExNiwwLDAsMTA2LAorICAgIDEsMCwxMDYsMiwwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzMsMCwxMTYsMywKKyAgICAwLDEwMCwyLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTE2LDQsMCwKKyAgICAxMjQsMCwwLDEzMSwxLDAsOTIsMiwwLDEyNSwxLDAsMTI1LDIsMCwxMTYsCisgICAgNCwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LDEsMCwxMjUsMywKKyAgICAwLDEyNCwzLDAsMTE2LDUsMCwxMDcsMywwLDExNCwxMDgsMCwxMTYsNiwwLAorICAgIDEwMCwzLDAsMTA2LDcsMCwxMTYsNSwwLDEyNCwwLDAsMTMxLDIsMCwxMzEsCisgICAgMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMiwwLDEwNiw4LDAsMTAwLDQsCisgICAgMCwxMzEsMSwwLDEwMCw1LDAsMTA3LDMsMCwxMTQsMTUzLDAsMTE2LDYsMCwKKyAgICAxMDAsNiwwLDEwNiw3LDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwxLDAsMTMwLAorICAgIDEsMCwxMTAsMCwwLDEyNCwyLDAsMTA2LDksMCwxMDAsNCwwLDEzMSwxLAorICAgIDAsMTAwLDcsMCwyNSwxMjUsNCwwLDExNiwxMCwwLDEyNCwxLDAsMTI0LDQsCisgICAgMCwxMTYsMTEsMCwxMDAsNywwLDI1LDIzLDEzMSwyLDAsODMsNDAsOCwwLAorICAgIDAsMCwxMTcsMTIxLDEsMCwwLDcxLDEwNSwxMTgsMTAxLDExMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDQ2LDExMiwxMjEsOTksNDYsCisgICAgNDcsNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ0LDMyLDExNCwxMDEsMTE2LDExNywKKyAgICAxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTA1LAorICAgIDExNiwxMTUsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsCisgICAgMzIsMzIsODQsMTA0LDEwMSwzMiw0NiwxMTIsMTIxLDk5LDQ3LDQ2LDExMiwxMjEsMTExLDMyLAorICAgIDEwMiwxMDUsMTA4LDEwMSwzMiwxMDAsMTExLDEwMSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTEwLDEwMSwKKyAgICAxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTAxLDEyMCwxMDUsMTE1LDExNiw1OSwzMiwxMTYsMTA0LDEwNSwKKyAgICAxMTUsMzIsMTE1LDEwNSwxMDksMTEyLDEwOCwxMjEsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsNDYsMTEyLDEyMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsOTksOTcsCisgICAgMTA4LDk5LDExNywxMDgsOTcsMTE2LDEwMSwxMDAsMzIsMTE2LDExMSwzMiw5OSwxMTEsMTE0LDExNCwKKyAgICAxMDEsMTE1LDExMiwxMTEsMTEwLDEwMCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDQ2LDExMiwKKyAgICAxMjEsOTksNDcsNDYsMTEyLDEyMSwxMTEsMzIsMTAyLDEwNSwxMDgsMTAxLDQ2LDMyLDMyLDczLAorICAgIDEwMiwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDAsMTExLDEwMSwxMTUsMTAsMzIsMzIsMzIsMzIsCisgICAgMTEwLDExMSwxMTYsMzIsOTksMTExLDExMCwxMDIsMTExLDExNCwxMDksMzIsMTE2LDExMSwzMiw4MCwKKyAgICA2OSw4MCwzMiw1MSw0OSw1Miw1NSwzMiwxMDIsMTExLDExNCwxMDksOTcsMTE2LDQ0LDMyLAorICAgIDg2LDk3LDEwOCwxMTcsMTAxLDY5LDExNCwxMTQsMTExLDExNCwzMiwxMTksMTA1LDEwOCwxMDgsMzIsCisgICAgOTgsMTAxLDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsMzIsNzMsMTAyLDEwLDMyLDMyLAorICAgIDMyLDMyLDExNSwxMjEsMTE1LDQ2LDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LAorICAgIDExNiwxMDUsMTExLDExMCw0Niw5OSw5Nyw5OSwxMDQsMTAxLDk1LDExNiw5NywxMDMsMzIsMTA1LAorICAgIDExNSwzMiw3OCwxMTEsMTEwLDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsNzgsMTExLDExNiw3MywKKyAgICAxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDMyLAorICAgIDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICA3OCwxMTcsMzYsMCwwLDAsMTE1LDEyMSwxMTUsNDYsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksCisgICAgMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDQ2LDk5LDk3LDk5LDEwNCwxMDEsOTUsMTE2LAorICAgIDk3LDEwMywzMiwxMDUsMTE1LDMyLDc4LDExMSwxMTAsMTAxLDExNywzNywwLDAsMCwxMjMsCisgICAgMTI1LDMyLDExMCwxMTEsMTE2LDMyLDk4LDExMSwxMTYsMTE2LDExMSwxMDksNDUsMTA4LDEwMSwxMTgsCisgICAgMTAxLDEwOCwzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDMyLDEwNSwxMTAsMzIsCisgICAgMTIzLDMzLDExNCwxMjUsMTE0LDEwNCwwLDAsMCwxMTQsMTAzLDAsMCwwLDExNywyOCwKKyAgICAwLDAsMCwxMDEsMTIwLDExMiwxMDEsOTksMTE2LDEwMSwxMDAsMzIsMTExLDExMCwxMDgsMTIxLAorICAgIDMyLDUwLDMyLDEwMCwxMTEsMTE2LDExNSwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDExNCwKKyAgICA3MSwwLDAsMCw0MCwxMiwwLDAsMCwxMTQsNywwLDAsMCwxMTQsMTEwLAorICAgIDAsMCwwLDExNCwxMTEsMCwwLDAsMTE0LDExMiwwLDAsMCwxMTQsMzgsMCwKKyAgICAwLDAsMTE0LDExMywwLDAsMCwyNDQsMTAsMCwwLDAsODYsOTcsMTA4LDExNywKKyAgICAxMDEsNjksMTE0LDExNCwxMTEsMTE0LDExNCw0NiwwLDAsMCwxMTQsNzYsMCwwLDAsCisgICAgMTE0LDEwOSwwLDAsMCwxMTQsMjgsMCwwLDAsMjQ0LDE1LDAsMCwwLDgzLAogICAgIDc5LDg1LDgyLDY3LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDQwLDUsCi0gICAgMCwwLDAsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsMTE3LDQsMCwwLAotICAgIDAsMTA0LDEwMSw5NywxMDAsMTE3LDE2LDAsMCwwLDExMiwxMjEsOTksOTcsOTksMTA0LAotICAgIDEwMSw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE3LDcsMCwwLDAsMTEyLAotICAgIDEyMSw5OSw5Nyw5OSwxMDQsMTAxLDExNywxMywwLDAsMCw5OCw5NywxMTUsMTAxLDk1LAotICAgIDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLDQwLDAsMCwKLSAgICAwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwKLSAgICAxMTQsOTcsMTEyLDYyLDExNywxNywwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LAotICAgIDEwMiwxMTQsMTExLDEwOSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDE4NiwxLDAsMCwxMTUsMjQsCi0gICAgMCwwLDAsMCw5LDE4LDEsMTUsMSwxOCwxLDE4LDEsMTIsMSw5LAotICAgIDEsMTgsMSwyMSwxLDksMSwxNSwxLDE5LDEsMTE3LDE3LDAsMCwwLAotICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDk5LDk3LDk5LDEwNCwKLSAgICAxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsMTMsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDE2NCwwLDAsMCwxMTYsMCwwLDEyNCwwLAotICAgIDAsMTMxLDEsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDIyLDAsMTAwLDYsMCwKLSAgICA4MywxMjQsMCwwLDEwNiwyLDAsMTAwLDIsMCwxMzEsMSwwLDkyLDMsMCwKLSAgICAxMjUsMSwwLDEyNSwyLDAsMTI1LDMsMCwxMjQsMSwwLDEyLDExNSw4MSwwLAotICAgIDEyNCwzLDAsMTA2LDMsMCwxMzEsMCwwLDEwMCw3LDAsMTAwLDgsMCwxMzMsCi0gICAgMiwwLDI1LDEwMCw1LDAsMTA3LDMsMCwxMTQsODUsMCwxMjQsMCwwLDgzLAotICAgIDEyMSwxNiwwLDExNiw0LDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsODcsCi0gICAgMTEwLDQwLDAsNCwxMTYsNSwwLDExNiw2LDAsMTAyLDIsMCwxMDcsMTAsMCwKLSAgICAxMTQsMTQzLDAsMSwxLDEsMTE2LDcsMCwxMDAsOSwwLDEwMCw2LDAsMTMzLAotICAgIDIsMCwyNSwxMjUsNCwwLDg5LDExMCwxLDAsODgsMTE2LDgsMCwxMTYsOSwKLSAgICAwLDEzMSwxLDAsMTE0LDE2MCwwLDEyNCw0LDAsODMsMTI0LDAsMCw4Myw0MCwKLSAgICAxMCwwLDAsMCwxMTcsMTg4LDAsMCwwLDY3LDExMSwxMTAsMTE4LDEwMSwxMTQsMTE2LAotICAgIDMyLDk3LDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwKLSAgICAzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwxMTEsMTE3LDExNCw5OSwKLSAgICAxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsMTA1LDEwMiwzMiwxMTIsMTExLDExNSwxMTUsMTA1LAotICAgIDk4LDEwOCwxMDEsNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsCi0gICAgMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsMTE1LDMyLAotICAgIDExMiwxMTcsMTE0LDEwMSwxMDgsMTIxLDMyLDEwMiwxMTEsMTE0LDMyLDk4LDk3LDk5LDEwNywxMTksCi0gICAgOTcsMTE0LDEwMCwxMTUsNDUsOTksMTExLDEwOSwxMTIsOTcsMTE2LDEwNSw5OCwxMDUsMTA4LDEwNSwKLSAgICAxMTYsMTIxLDMyLDEwMiwxMTEsMTE0LDEwLDMyLDMyLDMyLDMyLDgwLDEyMSw3MywxMDksMTEyLAotICAgIDExMSwxMTQsMTE2LDk1LDY5LDEyMCwxMDEsOTksNjcsMTExLDEwMCwxMDEsNzcsMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw4NywxMDUsMTE2LDEwNCw3MCwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsNDAsCi0gICAgNDEsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwzMiw2NywzMiw2NSw4MCw3Myw0NiwxMCwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMDUsMCwwLDAsMCwxMTcsMSwwLDAsMCw0NiwKLSAgICAxMDUsMywwLDAsMCwxMDUsMSwwLDAsMCwxMTcsMywwLDAsMCw0NiwKLSAgICAxMTIsMTIxLDc4LDEwNSwyNTMsMjU1LDI1NSwyNTUsMTA1LDI1NSwyNTUsMjU1LDI1NSwxMDUsMjU1LDI1NSwKLSAgICAyNTUsMjU1LDQwLDEwLDAsMCwwLDExNywzLDAsMCwwLDEwOCwxMDEsMTEwLDExNywKLSAgICA0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNyw5LDAsMCwwLDExNCwxMTIsOTcsCi0gICAgMTE0LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE3LDUsMCwwLDAsMTA4LDExMSwxMTksMTAxLDExNCwKLSAgICAxMTcsMTcsMCwwLDAsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksCi0gICAgOTUsOTksOTcsOTksMTA0LDEwMSwxMTcsMTksMCwwLDAsNzgsMTExLDExNiw3MywxMDksCi0gICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDExNywxMCwKLSAgICAwLDAsMCw4Niw5NywxMDgsMTE3LDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDEyLDAsCi0gICAgMCwwLDk4LDEyMSwxMTYsOTksMTExLDEwMCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDEyLAotICAgIDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAyLDEwNSwxMDgsMTAxLDExNywKLSAgICAxMiwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExNSwxMTYsOTcsMTE2LDExNSwKLSAgICA0MCw1LDAsMCwwLDExNywxMywwLDAsMCw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTcsNCwwLDAsMCwxMTQsMTAxLDExNSwxMTYsCi0gICAgMTE3LDEsMCwwLDAsOTUsMTE3LDksMCwwLDAsMTAxLDEyMCwxMTYsMTAxLDExMCwKLSAgICAxMTUsMTA1LDExMSwxMTAsMTE3LDExLDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwKLSAgICAwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwKLSAgICAxMTcsMTUsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICAxMDIsMTA1LDEwOCwxMDEsMjA5LDEsMCwwLDExNSwyMCwwLDAsMCwwLDcsMTgsCi0gICAgMSw0LDEsMjQsMSwzNSwxLDQsMiwzLDEsMTYsMSwxOSwxLDIxLAotICAgIDIsMTE3LDE1LDAsMCwwLDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwKLSAgICAxMDEsMTAyLDEwNSwxMDgsMTAxLDExNyw5LDAsMCwwLDExOCwxMDEsMTE0LDk4LDExMSwxMTUsCi0gICAgMTA1LDExNiwxMjEsMTA1LDEsMCwwLDAsOTksMSwwLDAsMCwxLDAsMCwKLSAgICAwLDMsMCwwLDAsNCwwLDAsMCw3MSwwLDAsMCwxMTUsODEsMCwKLSAgICAwLDAsMTE2LDAsMCwxMDYsMSwwLDEwNiwyLDAsMTI0LDEsMCwxMDcsNSwKLSAgICAwLDExNCw3NywwLDEyNCwwLDAsMTA2LDMsMCwxMDAsNiwwLDEzMSwxLDAsCi0gICAgMTE1LDQ2LDAsMTAwLDMsMCwxMjQsMCwwLDIzLDEyNSwwLDAsMTEwLDAsMCwKLSAgICAxMTYsNCwwLDEyNCwwLDAsMTA2LDUsMCwxMjQsMiwwLDE0MCwwLDAsMTAwLAotICAgIDQsMCwxMTYsMCwwLDEwNiw2LDAsMTMxLDEsMSwxLDExMCwwLDAsMTAwLAotICAgIDUsMCw4Myw0MCw3LDAsMCwwLDExNyw2MSwwLDAsMCw4MCwxMTQsMTA1LAotICAgIDExMCwxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMzIsMTE2LAotICAgIDExMSwzMiwxMTUsMTE2LDEwMCwxMDEsMTE0LDExNCwzMiwxMDUsMTAyLDMyLDQ1LDExOCw0Nyw4MCwKLSAgICA4OSw4NCw3Miw3OSw3OCw4Niw2OSw4Miw2Niw3OSw4Myw2OSwzMiwxMDUsMTE1LDMyLAotICAgIDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDExMSwxMTAsNDYsMTE3LDEsMCwwLDAsMzUsCi0gICAgMTE3LDcsMCwwLDAsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTE3LDIsMCwwLAotICAgIDAsMzUsMzIsMTE3LDQsMCwwLDAsMTAyLDEwNSwxMDgsMTAxLDc4LDQwLDIsMCwKLSAgICAwLDAsMTE3LDEsMCwwLDAsMzUsMTE3LDcsMCwwLDAsMTA1LDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsMzIsNDAsNywwLDAsMCwxMTcsMywwLDAsMCwxMTUsMTIxLAotICAgIDExNSwxMTcsNSwwLDAsMCwxMDIsMTA4LDk3LDEwMywxMTUsMTE3LDcsMCwwLDAsCi0gICAgMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDEsMTE3LDEwLDAsMCwwLDExNSwxMTYsOTcsMTE0LAotICAgIDExNiwxMTUsMTE5LDEwNSwxMTYsMTA0LDExNyw1LDAsMCwwLDExMiwxMTQsMTA1LDExMCwxMTYsCi0gICAgMTE3LDYsMCwwLDAsMTAyLDExMSwxMTQsMTA5LDk3LDExNiwxMTcsNiwwLDAsMCwKLSAgICAxMTUsMTE2LDEwMCwxMDEsMTE0LDExNCw0MCwzLDAsMCwwLDExNyw3LDAsMCwwLAotICAgIDEwOSwxMDEsMTE1LDExNSw5NywxMDMsMTAxLDExNyw5LDAsMCwwLDExOCwxMDEsMTE0LDk4LAotICAgIDExMSwxMTUsMTA1LDExNiwxMjEsMTE3LDQsMCwwLDAsOTcsMTE0LDEwMywxMTUsNDAsMCwKLSAgICAwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTYsMCwwLDAsOTUsCi0gICAgMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDEsOTUsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMjMwLAotICAgIDEsMCwwLDExNSw4LDAsMCwwLDAsMiwxOCwxLDE1LDEsMTMsMSwKLSAgICAxMTcsMTYsMCwwLDAsOTUsMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDEsOTUsMTA5LDEwMSwKLSAgICAxMTUsMTE1LDk3LDEwMywxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwKLSAgICAwLDAsMywwLDAsMCwzLDAsMCwwLDExNSwzNSwwLDAsMCwxMzUsCi0gICAgMCwwLDEwMiwxLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDEsCi0gICAgMCwxMTYsMCwwLDEyNCwxLDAsMTM2LDAsMCwxMzEsMiwwLDEsMTI0LDEsCi0gICAgMCw4Myw0MCwzLDAsMCwwLDExNywzOSwwLDAsMCw4MywxMDEsMTE2LDMyLAotICAgIDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwxMTEsMTEwLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsNDYsOTksMCwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsCi0gICAgNCwwLDAsMCwzMSwwLDAsMCwxMTUsMTAxLDAsMCwwLDEzNiwwLDAsCi0gICAgMTI0LDAsMCwxMjQsMSwwLDE0MiwwLDAsMTI1LDIsMCwxMTYsMCwwLDEyNCwKLSAgICAyLDAsMTAwLDEsMCwxMDAsMCwwLDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwKLSAgICAwLDExNCw5NywwLDEyNCwyLDAsMTA2LDIsMCwxMjQsMiwwLDk1LDMsMCwKLSAgICAxMTYsNCwwLDEyNCwyLDAsMTAwLDIsMCwxMzEsMiwwLDExNSw5NywwLDEyNCwKLSAgICAyLDAsMTA2LDMsMCwxMDYsNSwwLDEwMCwzLDAsMTMxLDEsMCwxMDAsNCwKLSAgICAwLDI1LDEyNCwyLDAsOTUsMywwLDExMyw5NywwLDExMCwwLDAsMTI0LDIsCi0gICAgMCw4Myw0MCw1LDAsMCwwLDc4LDExNywxMSwwLDAsMCw5NSw5NSwxMTIsCi0gICAgOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsMTE3LDgsMCwwLDAsOTUsOTUsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsOTUsMTE3LDEsMCwwLDAsNDYsMTA1LDAsMCwwLDAsCi0gICAgNDAsNiwwLDAsMCwxMTcsNywwLDAsMCwxMDMsMTAxLDExNiw5NywxMTYsMTE2LAotICAgIDExNCwxMTcsNCwwLDAsMCw3OCwxMTEsMTEwLDEwMSwxMTcsOCwwLDAsMCw5NSwKLSAgICA5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsMTEsMCwwLDAsOTUsOTUsMTEyLDk3LAotICAgIDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDExNyw3LDAsMCwwLDEwNCw5NywxMTUsOTcsCi0gICAgMTE2LDExNiwxMTQsMTE3LDEwLDAsMCwwLDExNCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDQwLDMsMCwwLDAsMTE3LDQsMCwwLDAsOTcsMTE0LDEwMywxMTUsCi0gICAgMTE3LDYsMCwwLDAsMTA3LDExOSw5NywxMTQsMTAzLDExNSwxMTcsNiwwLDAsMCwKLSAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCwxLDAsMCwwLDExNywzLDAsMCwwLAotICAgIDEwMiwxMjAsMTEwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxOSwwLDAsMCwxMTUsCi0gICAgMTAxLDExNiw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsMTE5LDExNCw5NywxMTIsMTEyLAotICAgIDEwMSwxMTQsMjQwLDEsMCwwLDExNSwxMiwwLDAsMCwwLDEsMTUsMSwyNCwKLSAgICAxLDEyLDEsMTUsMSwzMSwxLDExNyw0MCwwLDAsMCwxMTUsMTAxLDExNiw5NSwKLSAgICAxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLAotICAgIDQ2LDExNSwxMDEsMTE2LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSwxMTksMTE0LDk3LAotICAgIDExMiwxMTIsMTAxLDExNCw0MCwxLDAsMCwwLDExNyw1LDAsMCwwLDk1LDExOSwKLSAgICAxMTQsOTcsMTEyLDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsMTAyLDEyMCwxMTAsCi0gICAgMTE3LDE5LDAsMCwwLDExNSwxMDEsMTE2LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwKLSAgICA5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MCwwLDAsMCwwLDQwLDEsMCwKLSAgICAwLDAsMTE3LDMsMCwwLDAsMTAyLDEyMCwxMTAsMTE3LDI5LDAsMCwwLDYwLAotICAgIDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCi0gICAgNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsCi0gICAgMCwxMTUsMTAxLDExNiw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMjM4LDEsMCwwLAotICAgIDExNSw2LDAsMCwwLDAsMiwxOCw3LDEzLDEsMTE3LDExLDAsMCwwLAotICAgIDExNSwxMDEsMTE2LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5OSwxLDAsMCwwLAotICAgIDAsMCwwLDAsMiwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsCi0gICAgMTE1LDM1LDAsMCwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLAotICAgIDAsMTM0LDAsMCwxMjUsMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLAotICAgIDEzMSwyLDAsMSwxMjQsMSwwLDgzLDQwLDMsMCwwLDAsMTE3LDM4LDAsCi0gICAgMCwwLDgzLDEwMSwxMTYsMzIsOTUsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5NSwKLSAgICAzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTksMSwwLDAsMCwwLDAsMCwKLSAgICAwLDQsMCwwLDAsNCwwLDAsMCwzMSwwLDAsMCwxMTUsNDksMCwKLSAgICAwLDAsMTM2LDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwxNDIsMSwKLSAgICAwLDEyNSwzLDAsMTE2LDAsMCwxMjQsMywwLDEwMCwxLDAsMTMxLDIsMCwKLSAgICAxMTUsNDUsMCwxMjQsMCwwLDEyNCwzLDAsOTUsMSwwLDExMCwwLDAsMTI0LAotICAgIDMsMCw4Myw0MCwyLDAsMCwwLDc4LDExNywxMCwwLDAsMCw5NSw5NSwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDk1LDQwLDIsMCwwLDAsMTE3LDcsMCwKLSAgICAwLDAsMTA0LDk3LDExNSw5NywxMTYsMTE2LDExNCwxMTcsMTAsMCwwLDAsOTUsOTUsCi0gICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSw5NSw0MCw0LDAsMCwwLDExNyw0LDAsCi0gICAgMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsNCwwLDAsMCw5NywxMTQsMTAzLDExNSwxMTcsCi0gICAgNiwwLDAsMCwxMDcsMTE5LDk3LDExNCwxMDMsMTE1LDExNyw2LDAsMCwwLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQwLDEsMCwwLDAsMTE3LDMsMCwwLDAsMTAyLAotICAgIDEyMCwxMTAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwKLSAgICAxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE4LDAsMCwwLDExNSwxMDEsCi0gICAgMTE2LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsCi0gICAgMjUzLDEsMCwwLDExNSw4LDAsMCwwLDAsMSwxOCwxLDE1LDEsMTIsCi0gICAgMSwxMTcsMzgsMCwwLDAsMTE1LDEwMSwxMTYsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsMTE1LDEwMSwxMTYsOTUsMTA4LDExMSwKLSAgICA5NywxMDAsMTAxLDExNCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MCwxLDAsMCwKLSAgICAwLDExNyw1LDAsMCwwLDk1LDExOSwxMTQsOTcsMTEyLDQwLDIsMCwwLDAsCi0gICAgMTE3LDMsMCwwLDAsMTAyLDEyMCwxMTAsMTE3LDE4LDAsMCwwLDExNSwxMDEsMTE2LAotICAgIDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDAsCi0gICAgMCwwLDAsMCw0MCwxLDAsMCwwLDExNywzLDAsMCwwLDEwMiwxMjAsCi0gICAgMTEwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LAotICAgIDk3LDExMiw2MiwxMTcsMTAsMCwwLDAsMTE1LDEwMSwxMTYsOTUsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCwyNTEsMSwwLDAsMTE1LDYsMCwwLDAsMCwyLDE4LDUsMTMsCi0gICAgMSwxMTcsMTAsMCwwLDAsMTE1LDEwMSwxMTYsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICAwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExNiwwLDAsMCwxMTYsMTYsMCwKKyAgICAwLDAsMTEyLDEyMSw5OSw5Nyw5OSwxMDQsMTAxLDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsCisgICAgMTA5LDEwMSwxMTYsNywwLDAsMCwxMTIsMTIxLDk5LDk3LDk5LDEwNCwxMDEsMTE0LDExNywKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyNDQsMTcsMCwwLDAsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMDIsMTE0LAorICAgIDExMSwxMDksOTUsOTksOTcsOTksMTA0LDEwMSwxNzcsMSwwLDAsMTE1LDI0LDAsMCwKKyAgICAwLDAsOSwxOCwxLDE1LDEsMTgsMSwxOCwxLDEyLDEsMywxLDI0LAorICAgIDEsMjEsMSwzLDEsMjEsMSwxOSwxLDExNCwxMjMsMCwwLDAsOTksMSwKKyAgICAwLDAsMCwwLDAsMCwwLDUsMCwwLDAsMTMsMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDE2NCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLDEsCisgICAgMCwxMDAsMSwwLDEwNywyLDAsMTE0LDIyLDAsMTAwLDIsMCw4MywxMjQsMCwKKyAgICAwLDEwNiwxLDAsMTAwLDMsMCwxMzEsMSwwLDkyLDMsMCwxMjUsMSwwLAorICAgIDEyNSwyLDAsMTI1LDMsMCwxMjQsMSwwLDEyLDExNSw4MSwwLDEyNCwzLDAsCisgICAgMTA2LDIsMCwxMzEsMCwwLDEwMCw3LDAsMTAwLDgsMCwxMzMsMiwwLDI1LAorICAgIDEwMCw2LDAsMTA3LDMsMCwxMTQsODUsMCwxMjQsMCwwLDgzLDEyMSwxNiwwLAorICAgIDExNiwzLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsODcsMTEwLDQwLDAsCisgICAgNCwxMTYsNCwwLDExNiw1LDAsMTAyLDIsMCwxMDcsMTAsMCwxMTQsMTQzLDAsCisgICAgMSwxLDEsMTE2LDYsMCwxMDAsOSwwLDEwMCwyLDAsMTMzLDIsMCwyNSwKKyAgICAxMjUsNCwwLDg5LDExMCwxLDAsODgsMTE2LDcsMCwxMTYsOCwwLDEzMSwxLAorICAgIDAsMTE0LDE2MCwwLDEyNCw0LDAsODMsMTI0LDAsMCw4Myw0MCwxMCwwLDAsCisgICAgMCwxMTcsMTg4LDAsMCwwLDY3LDExMSwxMTAsMTE4LDEwMSwxMTQsMTE2LDMyLDk3LDMyLAorICAgIDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMTIsOTcsCisgICAgMTE2LDEwNCwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTEyLAorICAgIDk3LDExNiwxMDQsMzIsNDAsMTA1LDEwMiwzMiwxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsCisgICAgNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwNSwxMTUsMzIsMTAyLDExNywxMTAsCisgICAgOTksMTE2LDEwNSwxMTEsMTEwLDMyLDEwMSwxMjAsMTA1LDExNSwxMTYsMTE1LDMyLDExMiwxMTcsMTE0LAorICAgIDEwMSwxMDgsMTIxLDMyLDEwMiwxMTEsMTE0LDMyLDk4LDk3LDk5LDEwNywxMTksOTcsMTE0LDEwMCwKKyAgICAxMTUsNDUsOTksMTExLDEwOSwxMTIsOTcsMTE2LDEwNSw5OCwxMDUsMTA4LDEwNSwxMTYsMTIxLDMyLAorICAgIDEwMiwxMTEsMTE0LDEwLDMyLDMyLDMyLDMyLDgwLDEyMSw3MywxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDk1LDY5LDEyMCwxMDEsOTksNjcsMTExLDEwMCwxMDEsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSw4NywKKyAgICAxMDUsMTE2LDEwNCw3MCwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTUsNDAsNDEsMzIsMTA1LAorICAgIDExMCwzMiwxMTYsMTA0LDEwMSwzMiw2NywzMiw2NSw4MCw3Myw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMTQsNzEsMCwwLDAsNzgsMTE0LDEwNCwwLDAsMCwyMzMsMywwLAorICAgIDAsMCwxMTQsMjksMCwwLDAsMTE3LDMsMCwwLDAsNDYsMTEyLDEyMSwyMzMsCisgICAgMjUzLDI1NSwyNTUsMjU1LDIzMywyNTUsMjU1LDI1NSwyNTUsMTE0LDEyNiwwLDAsMCw0MCw5LAorICAgIDAsMCwwLDExNCwzMSwwLDAsMCwxMTYsOSwwLDAsMCwxMTQsMTEyLDk3LAorICAgIDExNCwxMDUsMTE2LDEwNSwxMTEsMTEwLDI0NCw1LDAsMCwwLDEwOCwxMTEsMTE5LDEwMSwxMTQsCisgICAgMTE0LDEyMywwLDAsMCwxMTQsMTEyLDAsMCwwLDExNCwxMjEsMCwwLDAsMTE2LAorICAgIDEyLDAsMCwwLDk4LDEyMSwxMTYsOTksMTExLDEwMCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsCisgICAgMTE0LDQ0LDAsMCwwLDI0NCwxMiwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLAorICAgIDk1LDExNSwxMTYsOTcsMTE2LDExNSw0MCw1LDAsMCwwLDI0NCwxMywwLDAsMCwKKyAgICA5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTYsNCwwLAorICAgIDAsMCwxMTQsMTAxLDExNSwxMTYsMTE0LDM2LDAsMCwwLDExNiw5LDAsMCwwLAorICAgIDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDI0NCwxMSwwLDAsMCwxMTUsMTExLAorICAgIDExNywxMTQsOTksMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNCw0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNSwwLDAsMCw5NSwxMDMsMTAxLAorICAgIDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwMiwxMDUsMTA4LDEwMSwyMDAsMSwwLDAsCisgICAgMTE1LDIwLDAsMCwwLDAsNywxOCwxLDQsMSwyNCwxLDM1LDEsNCwKKyAgICAyLDMsMSwxNiwxLDE5LDEsMjEsMiwxMTQsMTMxLDAsMCwwLDk5LDEsCisgICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsMCwwLDY3LAorICAgIDAsMCwwLDExNSw2MywwLDAsMCwxMjEsMjIsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTI0LDAsMCwxMzEsMSwwLDEwNiwyLDAsMTI1LDEsMCw4NywxMTAsMjQsCisgICAgMCw0LDExNiwzLDAsMTA3LDEwLDAsMTE0LDQ4LDAsMSwxLDEsMTAwLDEsCisgICAgMCwxMjUsMSwwLDg5LDExMCwxLDAsODgsMTI0LDEsMCwxMDAsMiwwLDc5LAorICAgIDEyNSwxLDAsMTI0LDEsMCw4Myw0MCwzLDAsMCwwLDExNyw1MSwwLDAsCisgICAgMCw2Nyw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwKKyAgICAxMTEsMTAwLDEwMSwzMiwxMTIsMTAxLDExNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMSwxMTAsMTE1LDMyLAorICAgIDEwMiwxMTEsMTE0LDMyLDk3LDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwKKyAgICAxMDUsMTA4LDEwMSw0NiwxMDUsMTgyLDEsMCwwLDIzMywxMjgsMCwwLDAsNDAsNCwKKyAgICAwLDAsMCwxMTQsMywwLDAsMCwxMTQsMzksMCwwLDAsMTE0LDQxLDAsCisgICAgMCwwLDExNCw0MCwwLDAsMCw0MCwyLDAsMCwwLDExNCwzNSwwLDAsCisgICAgMCwxMTQsNDIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjQ0LDEwLDAsMCwwLDk1LDk5LDk3LDEwOCw5OSw5NSwKKyAgICAxMDksMTExLDEwMCwxMDEsMjIxLDEsMCwwLDExNSwxMiwwLDAsMCwwLDIsMywKKyAgICAxLDIyLDEsMTMsMSwxMSwzLDEwLDEsMTE0LDEzMywwLDAsMCwyNDQsOSwKKyAgICAwLDAsMCwxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwNSwxMTYsMTIxLDExNCwyOSwwLDAsCisgICAgMCw5OSwxLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw0LDAsCisgICAgMCwwLDcxLDAsMCwwLDExNSw4MSwwLDAsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTA2LDIsMCwxMjQsMSwwLDEwNyw1LDAsMTE0LDc3LDAsMTI0LDAsMCwKKyAgICAxMDYsMywwLDEwMCw2LDAsMTMxLDEsMCwxMTUsNDYsMCwxMDAsMywwLDEyNCwKKyAgICAwLDAsMjMsMTI1LDAsMCwxMTAsMCwwLDExNiw0LDAsMTI0LDAsMCwxMDYsCisgICAgNSwwLDEyNCwyLDAsMTQwLDAsMCwxMDAsNCwwLDExNiwwLDAsMTA2LDYsCisgICAgMCwxMzEsMSwxLDEsMTEwLDAsMCwxMDAsNSwwLDgzLDQwLDcsMCwwLAorICAgIDAsMTE3LDYxLDAsMCwwLDgwLDExNCwxMDUsMTEwLDExNiwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwzMiwxMTYsMTExLDMyLDExNSwxMTYsMTAwLDEwMSwxMTQsCisgICAgMTE0LDMyLDEwNSwxMDIsMzIsNDUsMTE4LDQ3LDgwLDg5LDg0LDcyLDc5LDc4LDg2LDY5LAorICAgIDgyLDY2LDc5LDgzLDY5LDMyLDEwNSwxMTUsMzIsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsCisgICAgMTExLDExMCw0NiwyNDUsMSwwLDAsMCwzNSwyNDUsNywwLDAsMCwxMDUsMTA5LAorICAgIDExMiwxMTEsMTE0LDExNiwzMiwxMTcsMiwwLDAsMCwzNSwzMiwxMTQsNTMsMCwwLAorICAgIDAsNzgsNDAsMiwwLDAsMCwxMTQsMTM1LDAsMCwwLDExNCwxMzYsMCwwLAorICAgIDAsNDAsNywwLDAsMCwxMTQsNywwLDAsMCwxMTQsMTA1LDAsMCwwLAorICAgIDI0NCw3LDAsMCwwLDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTAxLDExNCw5LDAsMCwKKyAgICAwLDI0NCw1LDAsMCwwLDExMiwxMTQsMTA1LDExMCwxMTYsMTE0LDQ2LDAsMCwwLAorICAgIDI0NCw2LDAsMCwwLDExNSwxMTYsMTAwLDEwMSwxMTQsMTE0LDQwLDMsMCwwLDAsCisgICAgMjQ0LDcsMCwwLDAsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMTE0LDEzNCwwLDAsCisgICAgMCwxMTQsMTAxLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDI0NCwxNiwwLDAsMCw5NSwxMTgsMTAxLDExNCw5OCwxMTEsCisgICAgMTE1LDEwMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwyMzMsMSwwLDAsMTE1LDgsCisgICAgMCwwLDAsMCwyLDE4LDEsMTUsMSwxMywxLDExNCwxNDEsMCwwLDAsCiAgICAgOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsCiAgICAgMCwzLDAsMCwwLDExNSwzNSwwLDAsMCwxMzUsMCwwLDEwMiwxLDAsCiAgICAgMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwKICAgICAxLDAsMTM2LDAsMCwxMzEsMiwwLDEsMTI0LDEsMCw4Myw0MCwzLDAsCi0gICAgMCwwLDExNyw0MiwzLDAsMCw2OCwxMDEsOTksMTExLDExNCw5NywxMTYsMTExLDExNCwKLSAgICAzMiwxMTYsMTExLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsMTE1LDEwMSwxMDgsMTAxLDk5LAotICAgIDExNiwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMTIsMTE0LDExMSwxMTIsMTAxLDExNCwzMiwKLSAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwMCwxMDEsOTksCi0gICAgMTExLDExNCw5NywxMTYsMTAxLDEwMCwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsCi0gICAgMTA1LDExNSwzMiwxMTIsOTcsMTE1LDExNSwxMDEsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDMyLDExNiwxMTEsMzIsMTE3LDExNSwxMDEsMzIsMTA1LDExMCwxMTUsMTE2LAotICAgIDEwMSw5NywxMDAsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwxMCwzMiwzMiwzMiwzMiwxMTAsOTcsMTA5LDEwMSw0NiwzMiw4NCwxMDQsMTAxLDMyLAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCwKLSAgICAzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwKLSAgICAzMiwxMDUsMTE1LDMyLDEwMSwxMDUsMTE2LDEwNCwxMDEsMTE0LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwKLSAgICAxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTA1LDEwMiwxMCwzMiwKLSAgICAzMiwzMiwzMiwxMDUsMTE2LDMyLDk3LDEwOCwxMTQsMTAxLDk3LDEwMCwxMjEsMzIsMTAxLDEyMCwKLSAgICAxMDUsMTE1LDExNiwxMTUsMzIsMTExLDExNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDExMCwxMDEsMTE5LAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDMyLDczLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTE5LDQ0LDMyLDExNiwKLSAgICAxMDQsMTAxLDExMCwzMiw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMCwzMiwzMiwzMiwKLSAgICAzMiwxMDUsMTE1LDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTE0LDExNSwKLSAgICAxMTYsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsNDQsMzIsOTUsOTUsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCw5NSw5NSwzMiwxMDUsMTE1LDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsMTE1LAotICAgIDEwMSwxMDgsMTAyLDQ0LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsOTUsOTUsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMTUsMzIsMTE1LDEwMSwxMTYsMzIsCi0gICAgOTcsOTksOTksMTExLDExNCwxMDAsMTA1LDExMCwxMDMsMTA4LDEyMSwzMiw0MCwxMDUsMTAyLDMyLAotICAgIDExNSwxMDEsMTA4LDEwMiw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MCwKLSAgICA0MSwzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDEwMCw0MSwzMiwxMTksMTA1LAotICAgIDEwOCwxMDgsMzIsOTgsMTAxLDMyLDExNSwxMDEsMTE2LDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwKLSAgICAxMDIsMTExLDExNCwxMDEsMzIsMTA1LDExNiwzMiwxMDUsMTE1LDMyLDExMiw5NywxMTUsMTE1LDEwMSwKLSAgICAxMDAsMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDAsMTAxLDk5LDExMSwxMTQsOTcsMTE2LAotICAgIDEwMSwxMDAsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDQwLDEwNSwxMDIsMzIsCi0gICAgMTE1LDEwMSwxMDgsMTAyLDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQwLAotICAgIDQxLDMyLDEwMCwxMTEsMTAxLDExNSwxMCwzMiwzMiwzMiwzMiwxMTAsMTExLDExNiwzMiwxMTksCi0gICAgMTExLDExNCwxMDcsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsMzIsMTA1LDExNiwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTgsMTAxLDMyLDExNSwxMDEsCi0gICAgMTE2LDMyLDExMiwxMTEsMTE1LDExNiw0NSwxMDgsMTExLDk3LDEwMCw0MSw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiw3MywxMDIsMzIsOTcsMTEwLDMyLDEwMSwxMjAsOTksMTAxLDExMiwxMTYsMTA1LAotICAgIDExMSwxMTAsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDMyLDk3LDExMCwxMDAsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLDk5LAotICAgIDExNCwxMDEsOTcsMTE2LDEwMSwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMzIsMTA1LDExNiwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDExNSwxMTcsOTgsMTE1LAotICAgIDEwMSwxMTMsMTE3LDEwMSwxMTAsMTE2LDEwOCwxMjEsMzIsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMTAwLAotICAgIDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICAxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDAsMTAxLDk5LDExMSwKLSAgICAxMTQsOTcsMTE2LDExMSwxMTQsMzIsOTcsMTE1LDExNSwxMTcsMTA5LDEwMSwxMTUsMzIsMTE2LDEwNCwKLSAgICA5NywxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMDEsMTAwLAotICAgIDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTYsOTcsMTA3LDEwMSwxMTUsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsCi0gICAgOTcsMTE1LDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMDEsOTksMTExLDExMCwKLSAgICAxMDAsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDk5LDIsMCwwLDAsMCwwLDAsMCw3LDAsMCwwLDI1LDAsCi0gICAgMCwwLDMxLDAsMCwwLDExNSwyNTQsMCwwLDAsMTE2LDAsMCwxMDYsMSwKLSAgICAwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LDQsMCwKLSAgICAxMDAsMCwwLDEwNyw5LDAsMTI1LDUsMCwxMjQsNSwwLDExNSwxNjgsMCwxMTYsCi0gICAgNCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsNCwwLDEwMCwzLDAsMTI0LDQsCi0gICAgMCw5NSw2LDAsMTI0LDQsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwKLSAgICA2MCwxMjQsMCwwLDEyNCw0LDAsOTUsNywwLDEyMSwxOSwwLDEyNCwwLDAsCi0gICAgMTA2LDgsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDYsMCw4NywxMTAsMjQsMCwKLSAgICA0LDExNiw5LDAsMTE2LDEwLDAsMTAyLDIsMCwxMDcsMTAsMCwxMTQsMTI0LDAsCi0gICAgMSwxLDEsODksMTEzLDE3NywwLDg4LDEyNCw2LDAsMTE0LDE0MywwLDEyNCwxLAotICAgIDAsMTI0LDQsMCw5NSwxMSwwLDExMywxNzcsMCwxMjQsMSwwLDEwNiwxMiwwLAotICAgIDEwMCwxLDAsMTMxLDEsMCwxMDAsMiwwLDI1LDEyNCw0LDAsOTUsMTEsMCwKLSAgICAxMTAsOSwwLDEwMCwzLDAsMTI0LDQsMCw5NSw2LDAsMTIyLDYwLDAsMTIxLAotICAgIDIzLDAsMTM2LDAsMCwxMjQsMCwwLDEyNCw0LDAsMTI0LDIsMCwxMjQsMywKLSAgICAwLDE0MiwyLDAsODMsODcsMTEwLDMwLDAsMSwxLDEsMTI0LDUsMCwxMTUsCi0gICAgMjI4LDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsNjEsMTEwLDAsMCwxMzAsCi0gICAgMCwwLDg5LDExMCwxLDAsODgsODcsMTAwLDAsMCwxMDAsNCwwLDEyNCw0LAotICAgIDAsOTUsNiwwLDg4LDEwMCwwLDAsODMsNDAsNSwwLDAsMCw3OCwxMTcsCi0gICAgMSwwLDAsMCw0NiwxMDUsMCwwLDAsMCw4NCw3MCw0MCwxNCwwLDAsCi0gICAgMCwxMTcsMywwLDAsMCwxMTUsMTIxLDExNSwxMTcsNywwLDAsMCwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwxMTUsMTE3LDMsMCwwLDAsMTAzLDEwMSwxMTYsMTE3LDQsMCwKLSAgICAwLDAsNzgsMTExLDExMCwxMDEsMTE3LDEwLDAsMCwwLDExMCwxMDEsMTE5LDk1LDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDExNyw0LDAsMCwwLDg0LDExNCwxMTcsMTAxLDExNywxNiwKLSAgICAwLDAsMCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwxMDUsMTIyLDEwNSwxMTAsCi0gICAgMTAzLDk1LDk1LDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAotICAgIDk1LDk1LDExNywxMCwwLDAsMCwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLAotICAgIDEwMSwxMTcsMTEsMCwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwxMTQsMTE0LDExMSwKLSAgICAxMTQsMTE3LDE0LDAsMCwwLDY1LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSw2OSwKLSAgICAxMTQsMTE0LDExMSwxMTQsMTE3LDExLDAsMCwwLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsCi0gICAgMTAzLDEwMSw5NSw5NSwxMTcsMTAsMCwwLDAsMTE0LDExMiw5NywxMTQsMTE2LDEwNSwxMTYsCi0gICAgMTA1LDExMSwxMTAsMTE3LDUsMCwwLDAsNzAsOTcsMTA4LDExNSwxMDEsNDAsNywwLAotICAgIDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsMCwwLDAsCi0gICAgMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNyw0LDAsMCwwLDk3LDExNCwxMDMsCi0gICAgMTE1LDExNyw2LDAsMCwwLDEwNywxMTksOTcsMTE0LDEwMywxMTUsMTE3LDYsMCwwLAotICAgIDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDksMCwwLDAsMTA1LDExNSw5NSwxMTQsCi0gICAgMTAxLDEwOCwxMTEsOTcsMTAwLDExNywxMCwwLDAsMCwxMDUsMTE1LDk1LDExMiw5Nyw5OSwKLSAgICAxMDcsOTcsMTAzLDEwMSw0MCwxLDAsMCwwLDExNywzLDAsMCwwLDEwMiwxMjAsCi0gICAgMTEwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwKLSAgICAxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLAotICAgIDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywyNSwwLDAsMCwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw5NSwxMDIsMTExLDExNCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDExOSwKLSAgICAxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDI0LDIsMCwwLDExNSw0NCwwLDAsMCwwLAotICAgIDEsMTgsMSwxMiwxLDYsNCwxMiwzLDksMSwxMywxLDksMSwzLAotICAgIDEsMTksMSwxOSwxLDUsMiw2LDEsMTIsMiwyNSwyLDksMSw2LAotICAgIDIsMjMsMSwzLDEsNiwxLDEzLDEsMTIsMiwxMTcsNTIsMCwwLDAsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTAyLDExMSwxMTQsOTUsMTA4LDExMSw5NywxMDAsMTAxLAotICAgIDExNCw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsOTUsMTAyLDExMSwxMTQsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSwxMTksMTE0LDk3LAotICAgIDExMiwxMTIsMTAxLDExNCw0MCwxLDAsMCwwLDExNyw1LDAsMCwwLDk1LDExOSwKLSAgICAxMTQsOTcsMTEyLDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsMTAyLDEyMCwxMTAsCi0gICAgMTE3LDI1LDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwMiwxMTEsMTE0LDk1LAotICAgIDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDAsMCwKLSAgICAwLDAsMCw0MCwxLDAsMCwwLDExNywzLDAsMCwwLDEwMiwxMjAsMTEwLAotICAgIDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LAotICAgIDExMiw2MiwxMTcsMTcsMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTAyLDExMSwKLSAgICAxMTQsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw2LDIsMCwwLDExNSw2LDAsMCwKLSAgICAwLDAsMTgsMTgsMzMsMTMsMSwxMTcsMTcsMCwwLDAsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsMTAyLDExMSwxMTQsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5OSwxLDAsCi0gICAgMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDMsMCwKLSAgICAwLDAsMTE1LDM4LDAsMCwwLDEwMCwzLDAsMTM1LDAsMCwxMDIsMSwwLAotICAgIDEwMCwxLDAsMTAwLDIsMCwxMzQsMSwwLDEyNSwxLDAsMTE2LDEsMCwxMjQsCi0gICAgMSwwLDEzNiwwLDAsMTMxLDIsMCwxLDEyNCwxLDAsODMsNDAsNCwwLAotICAgIDAsMCwxMTcsMjUyLDAsMCwwLDY4LDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LAotICAgIDMyLDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsMzIsMTE2LDEwNCw5NywxMTYsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsMTAxLDEwNSwxMTAsMTAzLAotICAgIDMyLDExNCwxMDEsMTEzLDExNywxMDEsMTE1LDExNiwxMDEsMTAwLDMyLDEwOSw5NywxMTYsOTksMTA0LAotICAgIDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTExLDExMCwxMDEsMzIsMTE2LDEwNCwxMDEsMTAsMzIsCi0gICAgMzIsMzIsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSw5NywxMTAsMzIsMTA0LDk3LAotICAgIDExMCwxMDAsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwMiwKLSAgICAxMDUsMTE0LDExNSwxMTYsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDQwLDExNSwKLSAgICAxMDEsMTA4LDEwMiw0MSwzMiwxMDksMTE3LDExNSwxMTYsMzIsMTAwLDEwMSwxMDIsMTA1LDExMCwxMDEsCi0gICAgMzIsOTUsMTEwLDk3LDEwOSwxMDEsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExNSwxMDEsOTksMTExLDExMCwxMDAsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LAotICAgIDMyLDEwNSwxMTUsMTAsMzIsMzIsMzIsMzIsOTksMTExLDEwOSwxMTIsOTcsMTE0LDEwMSwxMDAsCi0gICAgMzIsOTcsMTAzLDk3LDEwNSwxMTAsMTE1LDExNiw0NiwzMiw3MywxMDIsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsOTksMTExLDEwOSwxMTIsOTcsMTE0LDEwNSwxMTUsMTExLDExMCwzMiwxMDIsOTcsMTA1LDEwOCwKLSAgICAxMTUsMzIsMTE2LDEwNCwxMDEsMTEwLDMyLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksMTE0LDExNCwKLSAgICAxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiw5OSwyLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwKLSAgICA1LDAsMCwwLDMxLDAsMCwwLDExNSw4MywwLDAsMCwxMjQsMSwwLAotICAgIDEwMCwwLDAsMTA3LDgsMCwxMTQsMjQsMCwxMjQsMCwwLDEwNiwxLDAsMTI1LAotICAgIDEsMCwxMTAsNDAsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDcsMywKLSAgICAwLDExNCw2NCwwLDExNiwyLDAsMTAwLDEsMCwxMjQsMSwwLDIyLDEwMCwyLAotICAgIDAsMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLAotICAgIDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLDEyNCwzLDAsMTQyLDIsMCw4MywKLSAgICA0MCwzLDAsMCwwLDc4LDExNywyMywwLDAsMCwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDMyLAotICAgIDM3LDExNSwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSw0MCwzLDAsMCwwLAotICAgIDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNyw0LDAsMCwwLDExMCw5NywKLSAgICAxMDksMTAxLDExNywxMSwwLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsCi0gICAgMTExLDExNCw0MCw0LDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiwKLSAgICAxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCw5NywxMTQsCi0gICAgMTAzLDExNSwxMTcsNiwwLDAsMCwxMDcsMTE5LDk3LDExNCwxMDMsMTE1LDQwLDEsMCwKLSAgICAwLDAsMTE3LDYsMCwwLDAsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsNDAsMCwwLAotICAgIDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LAotICAgIDExNCw5NywxMTIsNjIsMTE3LDE5LDAsMCwwLDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LAotICAgIDExMCw5NywxMDksMTAxLDk1LDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDY5LDIsMCwwLAotICAgIDExNSwxMCwwLDAsMCwwLDEsMTIsMSwxMiwxLDE1LDEsMjUsMSwxMTcsCi0gICAgNDAsMCwwLDAsOTUsOTksMTA0LDEwMSw5OSwxMDcsOTUsMTEwLDk3LDEwOSwxMDEsNDYsCi0gICAgNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LAotICAgIDExMCw5NywxMDksMTAxLDk1LDExOSwxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDc4LDQwLDIsMCwKLSAgICAwLDAsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDUsMCwwLDAsCi0gICAgOTUsMTE5LDExNCw5NywxMTIsNDAsMiwwLDAsMCwxMTcsNiwwLDAsMCwxMDksCi0gICAgMTAxLDExNiwxMDQsMTExLDEwMCwxMTcsMTksMCwwLDAsOTUsOTksMTA0LDEwMSw5OSwxMDcsCi0gICAgOTUsMTEwLDk3LDEwOSwxMDEsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDAsMCwwLAotICAgIDAsMCw0MCwxLDAsMCwwLDExNyw2LDAsMCwwLDEwOSwxMDEsMTE2LDEwNCwKLSAgICAxMTEsMTAwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsCi0gICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsCi0gICAgMTE0LDk3LDExMiw2MiwxMTcsMTEsMCwwLDAsOTUsOTksMTA0LDEwMSw5OSwxMDcsOTUsCi0gICAgMTEwLDk3LDEwOSwxMDEsNjEsMiwwLDAsMTE1LDYsMCwwLDAsMCw4LDIxLAotICAgIDYsMTMsMSwxMTcsMTEsMCwwLDAsOTUsOTksMTA0LDEwMSw5OSwxMDcsOTUsMTEwLAotICAgIDk3LDEwOSwxMDEsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCi0gICAgMywwLDAsMCwzLDAsMCwwLDExNSwzNSwwLDAsMCwxMzUsMCwwLAotICAgIDEwMiwxLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDEsMCwxMTYsCi0gICAgMCwwLDEyNCwxLDAsMTM2LDAsMCwxMzEsMiwwLDEsMTI0LDEsMCw4MywKLSAgICA0MCwzLDAsMCwwLDExNyw0OSwwLDAsMCw2OCwxMDEsOTksMTExLDExNCw5NywKLSAgICAxMTYsMTExLDExNCwzMiwxMTYsMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDExNiwxMDQsCi0gICAgMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsCi0gICAgMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDQ2LDk5LDIsMCwwLDAsCi0gICAgMCwwLDAsMCwyLDAsMCwwLDQsMCwwLDAsMTksMCwwLDAsCi0gICAgMTE1LDU4LDAsMCwwLDEyNCwxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNyw3LAotICAgIDAsMTE0LDQ1LDAsMTE2LDIsMCwxMDAsMSwwLDEwNiwzLDAsMTI0LDEsMCwKLSAgICAxMzEsMSwwLDEwMCwyLDAsMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLAotICAgIDAsMCwxMzYsMCwwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQwLAotICAgIDMsMCwwLDAsNzgsMTE3LDI3LDAsMCwwLDEyMywxMjUsMzIsMTA1LDExNSwzMiwKLSAgICAxMTAsMTExLDExNiwzMiw5NywzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSw0MCw0LAotICAgIDAsMCwwLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNywyMCwwLDAsMCwKLSAgICA5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTAsCi0gICAgOTcsMTA5LDEwMSwxMTUsMTE3LDExLDAsMCwwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsNDAsCi0gICAgMiwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsMCwKLSAgICAwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDQwLDEsMCwwLDAsMTE3LAotICAgIDMsMCwwLDAsMTAyLDEyMCwxMTAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLAotICAgIDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAotICAgIDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDI1LAotICAgIDAsMCwwLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsODEsMiwwLDAsCi0gICAgMTE1LDgsMCwwLDAsMCwxLDE1LDEsMTgsMSwxMiwxLDExNyw1MiwwLAotICAgIDAsMCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LAotICAgIDExNiwxMDUsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwxMTQsMTAxLAotICAgIDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExOSwKLSAgICAxMTQsOTcsMTEyLDExMiwxMDEsMTE0LDQwLDEsMCwwLDAsMTE3LDUsMCwwLDAsCi0gICAgOTUsMTE5LDExNCw5NywxMTIsNDAsMiwwLDAsMCwxMTcsMywwLDAsMCwxMDIsCi0gICAgMTIwLDExMCwxMTcsMjUsMCwwLDAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwKLSAgICA5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwKLSAgICA0MCwwLDAsMCwwLDQwLDEsMCwwLDAsMTE3LDMsMCwwLDAsMTAyLAotICAgIDEyMCwxMTAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwKLSAgICAxMTQsOTcsMTEyLDYyLDExNywxNywwLDAsMCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwKLSAgICAxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDc5LDIsMCwwLDExNSw2LAotICAgIDAsMCwwLDAsMiwxOCw1LDEzLDEsMTE3LDE3LDAsMCwwLDk1LDExNCwKLSAgICAxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTksCisgICAgMCwwLDExNywzOSwwLDAsMCw4MywxMDEsMTE2LDMyLDk1LDk1LDExMiw5Nyw5OSwKKyAgICAxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExNCwxMDEsCisgICAgMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsOTksMCwKKyAgICAwLDAsMCwwLDAsMCwwLDMsMCwwLDAsNCwwLDAsMCwzMSwKKyAgICAwLDAsMCwxMTUsMTAxLDAsMCwwLDEzNiwwLDAsMTI0LDAsMCwxMjQsMSwKKyAgICAwLDE0MiwwLDAsMTI1LDIsMCwxMTYsMCwwLDEyNCwyLDAsMTAwLDEsMCwKKyAgICAxMDAsMCwwLDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCw5NywwLDEyNCwKKyAgICAyLDAsMTA2LDEsMCwxMjQsMiwwLDk1LDIsMCwxMTYsMywwLDEyNCwyLAorICAgIDAsMTAwLDIsMCwxMzEsMiwwLDExNSw5NywwLDEyNCwyLDAsMTA2LDIsMCwKKyAgICAxMDYsNCwwLDEwMCwzLDAsMTMxLDEsMCwxMDAsNCwwLDI1LDEyNCwyLDAsCisgICAgOTUsMiwwLDExMyw5NywwLDExMCwwLDAsMTI0LDIsMCw4Myw0MCw1LDAsCisgICAgMCwwLDc4LDI0NCwxMSwwLDAsMCw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywKKyAgICAxMDEsOTUsOTUsMjQ0LDgsMCwwLDAsOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTUsCisgICAgMTE0LDEwNCwwLDAsMCwxMTQsNzEsMCwwLDAsNDAsNSwwLDAsMCwxMTQsCisgICAgNjEsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwxNDIsMCwwLDAsMTE0LDU5LAorICAgIDAsMCwwLDExNCwzMiwwLDAsMCw0MCwzLDAsMCwwLDExNCwxMDEsMCwKKyAgICAwLDAsMjQ0LDYsMCwwLDAsMTA3LDExOSw5NywxMTQsMTAzLDExNSwyNDQsNiwwLAorICAgIDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCwxLDAsMCwwLDI0NCwzLDAsCisgICAgMCwwLDEwMiwxMjAsMTEwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwKKyAgICAxOSwwLDAsMCwxMTUsMTAxLDExNiw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsCisgICAgMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsMjQzLDEsMCwwLDExNSwxMiwwLDAsMCwKKyAgICAwLDEsMTUsMSwyNCwxLDEyLDEsMTUsMSwzMSwxLDExNyw0MCwwLDAsCisgICAgMCwxMTUsMTAxLDExNiw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNjAsMTA4LDExMSwKKyAgICA5OSw5NywxMDgsMTE1LDYyLDQ2LDExNSwxMDEsMTE2LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLAorICAgIDEwMSw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MCwxLDAsMCwwLDExNCw2NCwKKyAgICAwLDAsMCw0MCwyLDAsMCwwLDExNCwxNDYsMCwwLDAsMTE0LDE0NywwLAorICAgIDAsMCwxMTQsNCwwLDAsMCw0MCwxLDAsMCwwLDExNCwxNDYsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjQ0LDExLDAsMCwwLDExNSwxMDEsMTE2LDk1LDExMiwKKyAgICA5Nyw5OSwxMDcsOTcsMTAzLDEwMSwyNDEsMSwwLDAsMTE1LDYsMCwwLDAsMCwKKyAgICAyLDE4LDcsMTMsMSwxMTQsMTQ4LDAsMCwwLDk5LDEsMCwwLDAsMCwKKyAgICAwLDAsMCwyLDAsMCwwLDMsMCwwLDAsMywwLDAsMCwxMTUsCisgICAgMzUsMCwwLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwKKyAgICAxMzQsMCwwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzNiwwLDAsMTMxLAorICAgIDIsMCwxLDEyNCwxLDAsODMsNDAsMywwLDAsMCwxMTcsMzgsMCwwLAorICAgIDAsODMsMTAxLDExNiwzMiw5NSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDk1LDMyLAorICAgIDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTAxLDEwMCwzMiwKKyAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw5OSwxLDAsMCwwLDAsMCwwLDAsCisgICAgNCwwLDAsMCw0LDAsMCwwLDMxLDAsMCwwLDExNSw1OCwwLDAsCisgICAgMCwxMzYsMCwwLDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLDE0MiwxLDAsCisgICAgMTI1LDMsMCwxMTYsMCwwLDEyNCwzLDAsMTAwLDEsMCwxMDAsMCwwLDEzMSwKKyAgICAzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCw1NCwwLDEyNCwwLDAsMTI0LDMsCisgICAgMCw5NSwxLDAsMTEwLDAsMCwxMjQsMywwLDgzLDQwLDIsMCwwLDAsCisgICAgNzgsMjQ0LDEwLDAsMCwwLDk1LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsOTUsCisgICAgNDAsMiwwLDAsMCwxMTQsNjEsMCwwLDAsMTE0LDE0OSwwLDAsMCw0MCwKKyAgICA0LDAsMCwwLDExNCw3OCwwLDAsMCwxMTQsMTAxLDAsMCwwLDExNCwxNDQsCisgICAgMCwwLDAsMTE0LDE0NSwwLDAsMCw0MCwxLDAsMCwwLDExNCwxNDYsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDE4LDAsMCwKKyAgICAwLDExNSwxMDEsMTE2LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsMTE5LDExNCw5NywxMTIsCisgICAgMTEyLDEwMSwxMTQsMCwyLDAsMCwxMTUsOCwwLDAsMCwwLDEsMTgsMSwKKyAgICAyNCwxLDEyLDEsMTE3LDM4LDAsMCwwLDExNSwxMDEsMTE2LDk1LDEwOCwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDExNSwxMDEsMTE2LAorICAgIDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDAsCisgICAgMSwwLDAsMCwxMTQsNjQsMCwwLDAsNDAsMiwwLDAsMCwxMTQsMTQ2LAorICAgIDAsMCwwLDExNCwxNTAsMCwwLDAsMTE0LDQsMCwwLDAsNDAsMSwwLAorICAgIDAsMCwxMTQsMTQ2LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxMCwwLDAsCisgICAgMCwxMTUsMTAxLDExNiw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDI1NCwxLDAsMCwxMTUsCisgICAgNiwwLDAsMCwwLDIsMTgsNSwxMywxLDExNCwxNTEsMCwwLDAsOTksCiAgICAgMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwKICAgICAzLDAsMCwwLDExNSwzNSwwLDAsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLAogICAgIDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwxLAogICAgIDAsMTM2LDAsMCwxMzEsMiwwLDEsMTI0LDEsMCw4Myw0MCwzLDAsMCwKLSAgICAwLDExNyw0NywwLDAsMCw2OCwxMDEsOTksMTExLDExNCw5NywxMTYsMTExLDExNCwzMiwKLSAgICAxMTYsMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywKLSAgICAxMDksMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsCi0gICAgMCwwLDQsMCwwLDAsMTksMCwwLDAsMTE1LDU4LDAsMCwwLDExNiwKLSAgICAwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsMTE1LDQ1LDAsMTE2LDIsCi0gICAgMCwxMDAsMSwwLDEwNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEwMCwyLDAsCi0gICAgMTI0LDEsMCwxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLDEyNCwKLSAgICAwLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDQwLDMsMCwwLDAsNzgsMTE3LAotICAgIDI1LDAsMCwwLDEyMywxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwKLSAgICAxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsNCwwLAotICAgIDAsMCwxMTAsOTcsMTA5LDEwMSw0MCw0LDAsMCwwLDExNyw0LDAsMCwwLAotICAgIDk1LDEwNSwxMDksMTEyLDExNyw5LDAsMCwwLDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsMTE3LDExLDAsMCwwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksMTE0LDExNCwKLSAgICAxMTEsMTE0LDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsNDAsMiwwLAotICAgIDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsMCwwLDAsCi0gICAgMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDQwLDEsMCwwLDAsMTE3LDMsMCwKLSAgICAwLDAsMTAyLDEyMCwxMTAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsCi0gICAgMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwKLSAgICA0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDI0LDAsMCwKLSAgICAwLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwKLSAgICAxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsOTIsMiwwLDAsMTE1LDgsMCwKLSAgICAwLDAsMCwxLDE1LDEsMTgsMSwxMiwxLDExNyw1MCwwLDAsMCw5NSwKLSAgICAxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDQ2LAotICAgIDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwKKyAgICAwLDExNyw0MiwzLDAsMCw2OCwxMDEsOTksMTExLDExNCw5NywxMTYsMTExLDExNCwzMiwKKyAgICAxMTYsMTExLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsMTE1LDEwMSwxMDgsMTAxLDk5LDExNiwKKyAgICAxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMTIsMTE0LDExMSwxMTIsMTAxLDExNCwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDEwMCwxMDEsOTksMTExLAorICAgIDExNCw5NywxMTYsMTAxLDEwMCwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTA1LAorICAgIDExNSwzMiwxMTIsOTcsMTE1LDExNSwxMDEsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDExNiwxMTEsMzIsMTE3LDExNSwxMDEsMzIsMTA1LDExMCwxMTUsMTE2LDEwMSwKKyAgICA5NywxMDAsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAxMCwzMiwzMiwzMiwzMiwxMTAsOTcsMTA5LDEwMSw0NiwzMiw4NCwxMDQsMTAxLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwKKyAgICAxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwKKyAgICAxMDUsMTE1LDMyLDEwMSwxMDUsMTE2LDEwNCwxMDEsMTE0LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTUsCisgICAgMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTA1LDEwMiwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMDUsMTE2LDMyLDk3LDEwOCwxMTQsMTAxLDk3LDEwMCwxMjEsMzIsMTAxLDEyMCwxMDUsCisgICAgMTE1LDExNiwxMTUsMzIsMTExLDExNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDExMCwxMDEsMTE5LDMyLAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDMyLDczLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTE5LDQ0LDMyLDExNiwxMDQsCisgICAgMTAxLDExMCwzMiw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMCwzMiwzMiwzMiwzMiwKKyAgICAxMDUsMTE1LDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTE0LDExNSwxMTYsCisgICAgMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsCisgICAgMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsNDQsMzIsOTUsOTUsMTA4LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw5NSw5NSwzMiwxMDUsMTE1LDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMTEsMzIsMTE1LDEwMSwKKyAgICAxMDgsMTAyLDQ0LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsOTUsOTUsMTEyLDk3LAorICAgIDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMTUsMzIsMTE1LDEwMSwxMTYsMzIsOTcsCisgICAgOTksOTksMTExLDExNCwxMDAsMTA1LDExMCwxMDMsMTA4LDEyMSwzMiw0MCwxMDUsMTAyLDMyLDExNSwKKyAgICAxMDEsMTA4LDEwMiw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MCw0MSwKKyAgICAzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDEwMCw0MSwzMiwxMTksMTA1LDEwOCwKKyAgICAxMDgsMzIsOTgsMTAxLDMyLDExNSwxMDEsMTE2LDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMDIsCisgICAgMTExLDExNCwxMDEsMzIsMTA1LDExNiwzMiwxMDUsMTE1LDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsCisgICAgMzIsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDAsMTAxLDk5LDExMSwxMTQsOTcsMTE2LDEwMSwKKyAgICAxMDAsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDMyLDQwLDEwNSwxMDIsMzIsMTE1LAorICAgIDEwMSwxMDgsMTAyLDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQwLDQxLAorICAgIDMyLDEwMCwxMTEsMTAxLDExNSwxMCwzMiwzMiwzMiwzMiwxMTAsMTExLDExNiwzMiwxMTksMTExLAorICAgIDExNCwxMDcsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMzIsMTA1LDExNiwzMiwxMTksMTA1LDEwOCwxMDgsMzIsOTgsMTAxLDMyLDExNSwxMDEsMTE2LAorICAgIDMyLDExMiwxMTEsMTE1LDExNiw0NSwxMDgsMTExLDk3LDEwMCw0MSw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiw3MywxMDIsMzIsOTcsMTEwLDMyLDEwMSwxMjAsOTksMTAxLDExMiwxMTYsMTA1LDExMSwKKyAgICAxMTAsMzIsMTA1LDExNSwzMiwxMTQsOTcsMTA1LDExNSwxMDEsMTAwLDMyLDk3LDExMCwxMDAsMzIsCisgICAgMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLDk5LDExNCwKKyAgICAxMDEsOTcsMTE2LDEwMSwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgMzIsMTA1LDExNiwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDExNSwxMTcsOTgsMTE1LDEwMSwKKyAgICAxMTMsMTE3LDEwMSwxMTAsMTE2LDEwOCwxMjEsMzIsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMTAwLDMyLAorICAgIDEwMiwxMTQsMTExLDEwOSwzMiwxMTUsMTIxLDExNSw0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsCisgICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDAsMTAxLDk5LDExMSwxMTQsCisgICAgOTcsMTE2LDExMSwxMTQsMzIsOTcsMTE1LDExNSwxMTcsMTA5LDEwMSwxMTUsMzIsMTE2LDEwNCw5NywKKyAgICAxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwMSw5OSwxMTEsMTE0LDk3LDExNiwxMDEsMTAwLDMyLAorICAgIDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTYsOTcsMTA3LDEwMSwxMTUsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsOTcsCisgICAgMTE1LDEwLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMDEsOTksMTExLDExMCwxMDAsCisgICAgMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDk5LDIsMCwwLDAsMCwwLDAsMCw3LDAsMCwwLDI1LDAsMCwKKyAgICAwLDMxLDAsMCwwLDExNSwyNTQsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLAorICAgIDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LDQsMCwxMDAsCisgICAgMCwwLDEwNyw5LDAsMTI1LDUsMCwxMjQsNSwwLDExNSwxNjgsMCwxMTYsMywKKyAgICAwLDEyNCwxLDAsMTMxLDEsMCwxMjUsNCwwLDEwMCwxLDAsMTI0LDQsMCwKKyAgICA5NSw0LDAsMTI0LDQsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCw2MCwKKyAgICAxMjQsMCwwLDEyNCw0LDAsOTUsNSwwLDEyMSwxOSwwLDEyNCwwLDAsMTA2LAorICAgIDYsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDYsMCw4NywxMTAsMjQsMCw0LAorICAgIDExNiw3LDAsMTE2LDgsMCwxMDIsMiwwLDEwNywxMCwwLDExNCwxMjQsMCwxLAorICAgIDEsMSw4OSwxMTMsMTc3LDAsODgsMTI0LDYsMCwxMTQsMTQzLDAsMTI0LDEsMCwKKyAgICAxMjQsNCwwLDk1LDksMCwxMTMsMTc3LDAsMTI0LDEsMCwxMDYsMTAsMCwxMDAsCisgICAgMiwwLDEzMSwxLDAsMTAwLDMsMCwyNSwxMjQsNCwwLDk1LDksMCwxMTAsCisgICAgOSwwLDEwMCwxLDAsMTI0LDQsMCw5NSw0LDAsMTIyLDYwLDAsMTIxLDIzLAorICAgIDAsMTM2LDAsMCwxMjQsMCwwLDEyNCw0LDAsMTI0LDIsMCwxMjQsMywwLAorICAgIDE0MiwyLDAsODMsODcsMTEwLDMwLDAsMSwxLDEsMTI0LDUsMCwxMTUsMjI4LAorICAgIDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsNjEsMTEwLDAsMCwxMzAsMCwKKyAgICAwLDg5LDExMCwxLDAsODgsODcsMTAwLDAsMCwxMDAsNCwwLDEyNCw0LDAsCisgICAgOTUsNCwwLDg4LDEwMCwwLDAsODMsNDAsNSwwLDAsMCw3OCw4NCwxMTQsCisgICAgMTA0LDAsMCwwLDExNCw3MSwwLDAsMCw3MCw0MCwxMSwwLDAsMCwxMTQsCisgICAgNywwLDAsMCwyNDQsNywwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsCisgICAgMTE0LDgyLDAsMCwwLDExNCw2NywwLDAsMCwxMTYsMTYsMCwwLDAsOTUsCisgICAgOTUsMTA1LDExMCwxMDUsMTE2LDEwNSw5NywxMDgsMTA1LDEyMiwxMDUsMTEwLDEwMyw5NSw5NSwxMTQsCisgICAgMTQ5LDAsMCwwLDI0NCwxMCwwLDAsMCwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsCisgICAgOTcsMTAzLDEwMSwyNDQsMTEsMCwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwxMTQsCisgICAgMTE0LDExMSwxMTQsMjQ0LDE0LDAsMCwwLDY1LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LAorICAgIDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE0LDE0MiwwLDAsMCwxMTQsMzIsMCwwLDAsCisgICAgNDAsNywwLDAsMCwxMTQsNzgsMCwwLDAsMjQ0LDgsMCwwLDAsMTAyLAorICAgIDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNCwxMDEsMCwwLDAsMTE0LDE0NCwwLDAsCisgICAgMCwxMTQsMTQ1LDAsMCwwLDI0NCw5LDAsMCwwLDEwNSwxMTUsOTUsMTE0LDEwMSwKKyAgICAxMDgsMTExLDk3LDEwMCwxMTQsMTUzLDAsMCwwLDQwLDEsMCwwLDAsMTE0LDE0NiwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsMjUsMCwKKyAgICAwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTAyLDExMSwxMTQsOTUsMTA4LDExMSw5NywKKyAgICAxMDAsMTAxLDExNCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCwyNywyLDAsMCwxMTUsCisgICAgNDQsMCwwLDAsMCwxLDE4LDEsMTIsMSw2LDQsMTIsMyw5LDEsCisgICAgMTMsMSw5LDEsMywxLDE5LDEsMTksMSw1LDIsNiwxLDEyLDIsCisgICAgMjUsMiw5LDEsNiwyLDIzLDEsMywxLDYsMSwxMywxLDEyLDIsCisgICAgMTE3LDUyLDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwMiwxMTEsMTE0LDk1LAorICAgIDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwMiwxMTEsMTE0LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDAsMSwwLDAsMCwxMTQsNjQsCisgICAgMCwwLDAsNDAsMiwwLDAsMCwxMTQsMTQ2LDAsMCwwLDExNCwxNTgsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsNDAsMSwwLDAsMCwxMTQsMTQ2LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDI0NCwxNywwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw5NSwxMDIsMTExLDExNCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDksMiwwLDAsCisgICAgMTE1LDYsMCwwLDAsMCwxOCwxOCwzMywxMywxLDExNCwxNTksMCwwLDAsCisgICAgOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsCisgICAgMCwzLDAsMCwwLDExNSwzOCwwLDAsMCwxMDAsMSwwLDEzNSwwLDAsCisgICAgMTAyLDEsMCwxMDAsMiwwLDEwMCwzLDAsMTM0LDEsMCwxMjUsMSwwLDExNiwKKyAgICAwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLDAsMSwxMjQsMSwwLDgzLAorICAgIDQwLDQsMCwwLDAsMTE3LDI1MiwwLDAsMCw2OCwxMDEsOTksMTExLDExNCw5NywKKyAgICAxMTYsMTExLDExNCwzMiwxMTYsMTExLDMyLDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDExNiwxMDQsCisgICAgOTcsMTE2LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk4LDEwMSwKKyAgICAxMDUsMTEwLDEwMywzMiwxMTQsMTAxLDExMywxMTcsMTAxLDExNSwxMTYsMTAxLDEwMCwzMiwxMDksOTcsCisgICAgMTE2LDk5LDEwNCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMSwxMTAsMTAxLDMyLDExNiwxMDQsCisgICAgMTAxLDEwLDMyLDMyLDMyLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTksOTcsMTEwLAorICAgIDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsODQsMTA0LAorICAgIDEwMSwzMiwxMDIsMTA1LDExNCwxMTUsMTE2LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwKKyAgICAzMiw0MCwxMTUsMTAxLDEwOCwxMDIsNDEsMzIsMTA5LDExNywxMTUsMTE2LDMyLDEwMCwxMDEsMTAyLAorICAgIDEwNSwxMTAsMTAxLDMyLDk1LDExMCw5NywxMDksMTAxLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk5LDExMSwxMTAsMTAwLDMyLDk3LDExNCwxMDMsMTE3LDEwOSwKKyAgICAxMDEsMTEwLDExNiwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDk5LDExMSwxMDksMTEyLDk3LAorICAgIDExNCwxMDEsMTAwLDMyLDk3LDEwMyw5NywxMDUsMTEwLDExNSwxMTYsNDYsMzIsNzMsMTAyLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDk5LDExMSwxMDksMTEyLDk3LDExNCwxMDUsMTE1LDExMSwxMTAsMzIsMTAyLAorICAgIDk3LDEwNSwxMDgsMTE1LDMyLDExNiwxMDQsMTAxLDExMCwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDY5LDExNCwxMTQsMTExLDExNCwzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsNDYsCisgICAgMTAsMTAsMzIsMzIsMzIsMzIsNzgsOTksMiwwLDAsMCwwLDAsMCwwLAorICAgIDQsMCwwLDAsNSwwLDAsMCwzMSwwLDAsMCwxMTUsODMsMCwwLAorICAgIDAsMTI0LDEsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDI0LDAsMTI0LDAsMCwKKyAgICAxMDYsMCwwLDEyNSwxLDAsMTEwLDQwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwKKyAgICAxLDAsMTA3LDMsMCwxMTQsNjQsMCwxMTYsMSwwLDEwMCwxLDAsMTI0LDEsCisgICAgMCwyMiwxMDAsMiwwLDEyNCwxLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLAorICAgIDAsMTM2LDAsMCwxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsMywwLAorICAgIDE0MiwyLDAsODMsNDAsMywwLDAsMCw3OCwxMTcsMjMsMCwwLDAsMTA4LAorICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExMCwKKyAgICAxMDAsMTA4LDEwMSwzMiwzNywxMTUsMTE0LDY2LDAsMCwwLDQwLDIsMCwwLDAsCisgICAgMTE0LDY2LDAsMCwwLDExNCwxNTQsMCwwLDAsNDAsNCwwLDAsMCwxMTQsCisgICAgNzgsMCwwLDAsMTE0LDY2LDAsMCwwLDExNCwxMDEsMCwwLDAsMTE0LDE0NCwKKyAgICAwLDAsMCw0MCwxLDAsMCwwLDI0NCw2LDAsMCwwLDEwOSwxMDEsMTE2LAorICAgIDEwNCwxMTEsMTAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxOSwwLAorICAgIDAsMCw5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LAorICAgIDk3LDExMiwxMTIsMTAxLDExNCw3MiwyLDAsMCwxMTUsMTAsMCwwLDAsMCwxLAorICAgIDEyLDEsMTIsMSwxNSwxLDI1LDEsMTE3LDQwLDAsMCwwLDk1LDk5LDEwNCwKKyAgICAxMDEsOTksMTA3LDk1LDExMCw5NywxMDksMTAxLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSwKKyAgICA2Miw0Niw5NSw5OSwxMDQsMTAxLDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSw5NSwxMTksMTE0LAorICAgIDk3LDExMiwxMTIsMTAxLDExNCw0MCwxLDAsMCwwLDExNCw2NCwwLDAsMCw0MCwKKyAgICAyLDAsMCwwLDExNCwxNjAsMCwwLDAsMTE0LDE2MSwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCw0MCwxLDAsMCwwLDExNCwxNjAsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjQ0LDExLDAsMCwwLDk1LDk5LDEwNCwxMDEsOTksMTA3LDk1LDExMCw5NywKKyAgICAxMDksMTAxLDY0LDIsMCwwLDExNSw2LDAsMCwwLDAsOCwyMSw2LDEzLAorICAgIDEsMTE0LDE2MiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCwzLDAsMCwwLDMsMCwwLDAsMTE1LDM1LDAsMCwwLAorICAgIDEzNSwwLDAsMTAyLDEsMCwxMDAsMSwwLDEwMCwyLDAsMTM0LDAsMCwxMjUsCisgICAgMSwwLDExNiwwLDAsMTI0LDEsMCwxMzYsMCwwLDEzMSwyLDAsMSwxMjQsCisgICAgMSwwLDgzLDQwLDMsMCwwLDAsMTE3LDQ5LDAsMCwwLDY4LDEwMSw5OSwKKyAgICAxMTEsMTE0LDk3LDExNiwxMTEsMTE0LDMyLDExNiwxMTEsMzIsMTE4LDEwMSwxMTQsMTA1LDEwMiwxMjEsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDMyLDEwNSwxMTUsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsNDYsOTksMiwKKyAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwxOSwKKyAgICAwLDAsMCwxMTUsNTgsMCwwLDAsMTI0LDEsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTA3LDcsMCwxMTQsNDUsMCwxMTYsMiwwLDEwMCwxLDAsMTA2LDMsMCwKKyAgICAxMjQsMSwwLDEzMSwxLDAsMTAwLDIsMCwxMjQsMSwwLDEzMSwxLDEsMTMwLAorICAgIDEsMCwxMTAsMCwwLDEzNiwwLDAsMTI0LDAsMCwxMjQsMSwwLDEzMSwyLAorICAgIDAsODMsNDAsMywwLDAsMCw3OCwxMTcsMjcsMCwwLDAsMTIzLDEyNSwzMiwKKyAgICAxMDUsMTE1LDMyLDExMCwxMTEsMTE2LDMyLDk3LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsCisgICAgMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNCw2NiwwLDAsMCw0MCw0LDAsCisgICAgMCwwLDExNCw3LDAsMCwwLDI0NCwyMCwwLDAsMCw5OCwxMTcsMTA1LDEwOCwKKyAgICAxMTYsMTA1LDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTUsCisgICAgMTE0LDE1NCwwLDAsMCwxMTQsNDYsMCwwLDAsNDAsMiwwLDAsMCwxMTQsCisgICAgNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCw0MCwxLDAsMCwwLDExNCwxNDYsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDI1LDAsCisgICAgMCwwLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsCisgICAgMTE2LDEwNSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsODQsMiwwLDAsMTE1LAorICAgIDgsMCwwLDAsMCwxLDE1LDEsMTgsMSwxMiwxLDExNyw1MiwwLDAsCisgICAgMCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LDExNiwKKyAgICAxMDUsMTEwLDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw5NSwxMTQsMTAxLDExMywKKyAgICAxMTcsMTA1LDExNCwxMDEsMTE1LDk1LDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExOSwxMTQsCisgICAgOTcsMTEyLDExMiwxMDEsMTE0LDQwLDEsMCwwLDAsMTE0LDY0LDAsMCwwLDQwLAorICAgIDIsMCwwLDAsMTE0LDE0NiwwLDAsMCwxMTQsMTY0LDAsMCwwLDExNCw0LAorICAgIDAsMCwwLDQwLDEsMCwwLDAsMTE0LDE0NiwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyNDQsMTcsMCwwLDAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwKKyAgICA5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw4MiwyLDAsMCwxMTUsNiwwLDAsCisgICAgMCwwLDIsMTgsNSwxMywxLDExNCwxNjUsMCwwLDAsOTksMSwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLDAsMCwKKyAgICAwLDExNSwzNSwwLDAsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDEsMCwxMDAsCisgICAgMiwwLDEzNCwwLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwxLDAsMTM2LDAsCisgICAgMCwxMzEsMiwwLDEsMTI0LDEsMCw4Myw0MCwzLDAsMCwwLDExNyw0NywKKyAgICAwLDAsMCw2OCwxMDEsOTksMTExLDExNCw5NywxMTYsMTExLDExNCwzMiwxMTYsMTExLDMyLAorICAgIDExOCwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwKKyAgICAzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsCisgICAgMTEwLDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDQsCisgICAgMCwwLDAsMTksMCwwLDAsMTE1LDU4LDAsMCwwLDExNiwwLDAsMTA2LAorICAgIDEsMCwxMjQsMSwwLDEzMSwxLDAsMTE1LDQ1LDAsMTE2LDIsMCwxMDAsMSwKKyAgICAwLDEwNiwzLDAsMTI0LDEsMCwxMzEsMSwwLDEwMCwyLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwxLDEzMCwxLDAsMTEwLDAsMCwxMzYsMCwwLDEyNCwwLDAsMTI0LAorICAgIDEsMCwxMzEsMiwwLDgzLDQwLDMsMCwwLDAsNzgsMTE3LDI1LDAsMCwKKyAgICAwLDEyMywxMjUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDIsMTE0LDExMSwKKyAgICAxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsNjYsMCwwLDAsNDAsCisgICAgNCwwLDAsMCwxMTQsOTcsMCwwLDAsMjQ0LDksMCwwLDAsMTA1LDExNSwKKyAgICA5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwxMTQsMTU0LDAsMCwwLDExNCw0NiwwLDAsCisgICAgMCw0MCwyLDAsMCwwLDExNCw3OCwwLDAsMCwxMTQsMTU2LDAsMCwwLAorICAgIDQwLDEsMCwwLDAsMTE0LDE0NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwyNDQsMjQsMCwwLDAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsCiAgICAgMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLAotICAgIDExNCw0MCwxLDAsMCwwLDExNyw1LDAsMCwwLDk1LDExOSwxMTQsOTcsMTEyLAotICAgIDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsMTAyLDEyMCwxMTAsMTE3LDI0LDAsCi0gICAgMCwwLDk1LDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsOTUsMTE5LDExNCw5NywxMTIsMTEyLDEwMSwxMTQsNDAsMCwwLDAsMCw0MCwKLSAgICAxLDAsMCwwLDExNywzLDAsMCwwLDEwMiwxMjAsMTEwLDExNywyOSwwLDAsCi0gICAgMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsCi0gICAgMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTYsCi0gICAgMCwwLDAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwKLSAgICAxMjIsMTAxLDExMCw5MCwyLDAsMCwxMTUsNiwwLDAsMCwwLDIsMTgsNSwKLSAgICAxMywxLDExNywxNiwwLDAsMCw5NSwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LAotICAgIDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICA1LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDg3LDAsMCwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsOTIsMiwwLAotICAgIDEyNSwyLDAsMTI1LDMsMCwxMjQsMiwwLDEwMCwzLDAsMTA3LDgsMCwxMTQsCi0gICAgODMsMCwxMTYsMiwwLDEyNCwzLDAsMTMxLDEsMCwxMTQsODMsMCwxMDAsMSwKLSAgICAwLDEyNSw0LDAsMTE2LDMsMCwxMDYsNCwwLDEyNCw0LDAsMTA2LDUsMCwKLSAgICAxMjQsMywwLDEwMCwyLDAsMjUsMTMxLDEsMCwxMTYsNiwwLDEzMSwyLDAsCi0gICAgMSwxMTAsMCwwLDEyNCwyLDAsODMsNDAsNCwwLDAsMCwxMTcsODYsMCwKLSAgICAwLDAsODQsMTE0LDEyMSwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwKLSAgICAxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCi0gICAgOTgsMTIxLDMyLDEwMCwxMDEsMTA4LDEwMSwxMDMsOTcsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTE1LDEwMSwxMDgsMTAyLDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsCi0gICAgMTExLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDExNyw0NCwwLDAsMCw3OCwxMTEsMTE2LAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwNSwxMTAsMTAzLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwKLSAgICAxMTYsMTExLDExNCwxMjEsMzIsMTIzLDEyNSw1OCwzMiwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwxMDMsCi0gICAgMzIsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDEwNSwwLDAsMCwwLDc4LDQwLAotICAgIDcsMCwwLDAsMTE3LDExLDAsMCwwLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNywzLDAsCi0gICAgMCwwLDEwOCwxMDEsMTEwLDExNyw5LDAsMCwwLDk1LDExOSw5NywxMTQsMTEwLDEwNSwKLSAgICAxMTAsMTAzLDExNSwxMTcsNCwwLDAsMCwxMTksOTcsMTE0LDExMCwxMTcsNiwwLDAsCi0gICAgMCwxMDIsMTExLDExNCwxMDksOTcsMTE2LDExNywxMywwLDAsMCw3MywxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDg3LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsNDAsNSwwLDAsMCwxMTcsNCwKLSAgICAwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsMCwwLDAsMTAyLDExNywxMDgsMTA4LAotICAgIDExMCw5NywxMDksMTAxLDExNyw2LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LAotICAgIDgsMCwwLDAsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSwxMTcsMywwLDAsCi0gICAgMCwxMDksMTE1LDEwMyw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LAotICAgIDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLAotICAgIDExNywxNywwLDAsMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsOTUsMTE1LDEwNCwxMDUsMTA5LDEwMSwyLDAsMCwxMTUsMTAsMCwwLDAsMCwKLSAgICA2LDIxLDEsMjQsMSw2LDEsMzIsMSwxMTcsMTcsMCwwLDAsOTUsMTAyLAotICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNSwxMDQsMTA1LDEwOSw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw2LDAsMCwwLAotICAgIDY2LDAsMCwwLDExNSwxNzMsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLAotICAgIDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDEsCi0gICAgNCwwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDEzMSwxLDAsOTAsNSwKLSAgICAwLDEwMSw0LDAsMTAwLDE0LDAsMTAwLDQsMCwxMDAsNSwwLDEzMiwxLDAsCi0gICAgMTMxLDEsMCw5MCw3LDAsMTAxLDQsMCwxMDEsOCwwLDEwMSw5LDAsMTAxLAotICAgIDEwLDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwKLSAgICAwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMSw0LDAsMTAxLDEwLDAsCi0gICAgMTAwLDgsMCwxMDAsOSwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLAotICAgIDEyLDAsMTAxLDQsMCwxMDEsMTAsMCwxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwKLSAgICAwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMywwLDEwMSw0LDAsMTAxLDEwLDAsCi0gICAgMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCi0gICAgMTQsMCwxMDAsMTQsMCw4Myw0MCwxNSwwLDAsMCwxMTcsMTUsMCwwLDAsCi0gICAgNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDExNywKLSAgICAxNDQsMCwwLDAsNzcsMTAxLDExNiw5NywzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwzMiwxMDIsMTExLDExNCwzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LAotICAgIDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsCi0gICAgNjUsMTA4LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsOTcsMTE0LDEwMSwzMiwKLSAgICAxMDEsMTA1LDExNiwxMDQsMTAxLDExNCwzMiw5OSwxMDgsOTcsMTE1LDExNSwzMiwxMTEsMTE0LDMyLAotICAgIDExNSwxMTYsOTcsMTE2LDEwNSw5OSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsMTE2LAotICAgIDExMSwzMiw5NywxMTgsMTExLDEwNSwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDEwMSwxMDEsMTAwLAotICAgIDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTA1LDExMCwxMTUsMTE2LDk3LDExMCwxMTYsMTA1LAotICAgIDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsOTksMTA4LDk3LDExNSwxMTUsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLAotICAgIDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsCi0gICAgMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQwLDIsCi0gICAgMCwwLDAsNzgsMTE3LDI0LDAsMCwwLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDMyLDM5LDEyMywxMjUsMzksMzIsNDAsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsNDEsCi0gICAgNjIsNDAsMiwwLDAsMCwxMTcsNiwwLDAsMCwxMDIsMTExLDExNCwxMDksOTcsCi0gICAgMTE2LDExNyw4LDAsMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLDk1LDk1LDQwLDIsCi0gICAgMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsNiwwLDAsMCwKLSAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsCi0gICAgMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLAotICAgIDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsCi0gICAgMTEyLDYyLDExNywxMSwwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTQsMTAxLAotICAgIDExMiwxMTQsMTI3LDIsMCwwLDExNSwyLDAsMCwwLDAsMiwxMTcsMjcsMCwKLSAgICAwLDAsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCi0gICAgMTE0LDQ2LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCw5OSwzLDAsCi0gICAgMCwwLDAsMCwwLDAsMywwLDAsMCwyLDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSwzOSwwLDAsMCwxMjQsMiwwLDEwMCwxLDAsMTA3LDksMCwKLSAgICAxMTQsMTYsMCwxMDAsMSwwLDgzLDExNiwxLDAsMTA2LDIsMCwxMjQsMSwwLAotICAgIDEzMSwxLDAsMTE0LDM1LDAsMTI0LDAsMCw4MywxMDAsMSwwLDgzLDQwLDIsCi0gICAgMCwwLDAsMTE3LDExMywwLDAsMCw3MCwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwKLSAgICAzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsMzIsMzksMTEyLAotICAgIDk3LDExNiwxMDQsMzksMzIsMTA1LDExNSwzMiwxMDEsMTE4LDEwMSwxMTQsMzIsMTE1LDExMiwxMDEsCi0gICAgOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTE1LDEwMSw5NywxMTQsOTksMTA0LDMyLDEwNSwxMTUsMzIsOTksMTExLDExMCwxMTUsMTA1LDEwMCwKLSAgICAxMDEsMTE0LDEwMSwxMDAsMzIsOTcsMzIsMTAyLDk3LDEwNSwxMDgsMTE3LDExNCwxMDEsNDYsMTAsCi0gICAgMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzgsNDAsMywwLDAsMCwxMTcsCi0gICAgNCwwLDAsMCw3OCwxMTEsMTEwLDEwMSwxMTcsNCwwLDAsMCw5NSwxMDUsMTA5LAotICAgIDExMiwxMTcsMTAsMCwwLDAsMTA1LDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwKLSAgICA0MCwzLDAsMCwwLDExNywzLDAsMCwwLDk5LDEwOCwxMTUsMTE3LDgsMCwKLSAgICAwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNyw0LDAsMCwwLDExMiwKLSAgICA5NywxMTYsMTA0LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwKLSAgICAwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LAotICAgIDExLDAsMCwwLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMzEsCi0gICAgMiwwLDAsMTE1LDYsMCwwLDAsMCw3LDEyLDEsNCwxLDExNywyNywKLSAgICAwLDAsMCw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDksMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDg4LDAsMCwwLDEyNCwxLDAsMTE2LDAsMCwxMDYsMSwKLSAgICAwLDEwNyw2LDAsMTI1LDIsMCwxMjEsMjAsMCwxMTYsMiwwLDExNiwzLDAsCi0gICAgMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsODMsODcsMTEwLDQ2LDAsMSwxLAotICAgIDEsMTI0LDIsMCwxMiwxMTQsNzYsMCwxMjQsMSwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMDcsNiwwLDExNCw3NiwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLAotICAgIDYxLDExMCwwLDAsMTMwLDAsMCw4OSwxMTAsMSwwLDg4LDEwMCwxLDAsODMsCi0gICAgNDAsMiwwLDAsMCwxMTcsMjMsMCwwLDAsNzYsMTExLDk3LDEwMCwzMiw5NywKLSAgICAzMiw5OCwxMTcsMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0Niw3OCw0MCw1LDAsMCwwLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNywKLSAgICA3LDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwxMTcsMjUsMCwwLDAsCi0gICAgOTUsOTksOTcsMTA4LDEwOCw5NSwxMTksMTA1LDExNiwxMDQsOTUsMTAyLDExNCw5NywxMDksMTAxLAotICAgIDExNSw5NSwxMTQsMTAxLDEwOSwxMTEsMTE4LDEwMSwxMDAsMTE3LDQsMCwwLDAsOTUsMTA1LAotICAgIDEwOSwxMTIsMTE3LDEyLDAsMCwwLDEwNSwxMTAsMTA1LDExNiw5NSw5OCwxMTcsMTA1LDEwOCwKLSAgICAxMTYsMTA1LDExMCw0MCwzLDAsMCwwLDExNywzLDAsMCwwLDk5LDEwOCwxMTUsCi0gICAgMTE3LDgsMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNyw5LDAsCi0gICAgMCwwLDEwNSwxMTUsOTUsMTE0LDEwMSwxMDgsMTExLDk3LDEwMCw0MCwwLDAsMCwwLAotICAgIDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwKLSAgICAxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsMCwxMDgsMTExLDk3LDEwMCwKLSAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxNDIsMiwwLDAsMTE1LDE0LDAsMCwwLAotICAgIDAsNiwxNSwxLDMsMSwyMCwxLDMsMSwyMiwxLDEzLDEsMTE3LDI3LAotICAgIDAsMCwwLDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTAxLDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLAotICAgIDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDAsMiwwLDAsCi0gICAgMCwxMTcsNTcsMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLAotICAgIDEwMSwzMiw5NywxMTUsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsMzIsMTA0LDk3LDExOCwKLSAgICAxMDEsMzIsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDExNSw0Niw3OCwKLSAgICA0MCwxLDAsMCwwLDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDQwLDIsCi0gICAgMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsOCwwLDAsMCwKLSAgICAxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDAsMCwwLDAsMCw0MCwwLDAsCi0gICAgMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsCi0gICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsCi0gICAgMTE0LDk3LDExMiw2MiwxMTcsOCwwLDAsMCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLAotICAgIDEwMSwxNTYsMiwwLDAsMTE1LDIsMCwwLDAsMCw0LDExNywyNCwwLDAsCi0gICAgMCw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsCi0gICAgNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwKLSAgICAwLDAsMCwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDU2LDAsMCwKLSAgICAwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LDMyLAotICAgIDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwKLSAgICAzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLDMyLDExNSwxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsNDAsMSwwLDAsMCwxMTcsCi0gICAgNCwwLDAsMCw3OCwxMTEsMTEwLDEwMSw0MCwyLDAsMCwwLDExNywzLDAsCi0gICAgMCwwLDk5LDEwOCwxMTUsMTE3LDgsMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywKLSAgICAxMDksMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLAotICAgIDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAotICAgIDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDEwLAotICAgIDAsMCwwLDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTYyLDIsMCwKLSAgICAwLDExNSwyLDAsMCwwLDAsNCwxMTcsMjYsMCwwLDAsNjYsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAotICAgIDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLAotICAgIDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsCi0gICAgMCwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDUyLDAsMCwwLDgyLAotICAgIDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzAsOTcsMTA4LDExNSwxMDEsMzIsOTcsMTE1LDMyLDk4LAotICAgIDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwKLSAgICA5NywxMTQsMTAxLDMyLDExMCwxMDEsMTE4LDEwMSwxMTQsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsCi0gICAgMTAxLDExNSw0Niw3MCw0MCwxLDAsMCwwLDExNyw1LDAsMCwwLDcwLDk3LAotICAgIDEwOCwxMTUsMTAxLDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwKLSAgICAxMTcsOCwwLDAsMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDAsMCwwLAotICAgIDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwKLSAgICAxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LAotICAgIDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsMCwwLDAsMTA1LDExNSwKLSAgICA5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMTY4LDIsMCwwLDExNSwyLDAsMCwKLSAgICAwLDAsNCwxMTcsMjYsMCwwLDAsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsCi0gICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDc4LDQwLDE1LDAsMCwwLDExNyw4LDAsMCwwLDk1LDk1LDExMCwKLSAgICA5NywxMDksMTAxLDk1LDk1LDExNywxMCwwLDAsMCw5NSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw5NSw5NSwxMTcsMTIsMCwwLDAsOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLAotICAgIDk3LDEwOSwxMDEsOTUsOTUsMTE3LDcsMCwwLDAsOTUsOTUsMTAwLDExMSw5OSw5NSwKLSAgICA5NSwxMTcsMTEsMCwwLDAsOTksMTA4LDk3LDExNSwxMTUsMTA5LDEwMSwxMTYsMTA0LDExMSwKLSAgICAxMDAsMTE3LDExLDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLAotICAgIDExNCwxMTcsNCwwLDAsMCw3OCwxMTEsMTEwLDEwMSwxMTcsMTEsMCwwLDAsMTAyLAotICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywxMSwwLDAsMCwxMTUsCi0gICAgMTAxLDExNiw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMTE3LDEwLDAsMCwwLDExNSwKLSAgICAxMDEsMTE2LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDE3LDAsMCwwLDk1LDExNCwKLSAgICAxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMTUsOTUsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsMTE3LAotICAgIDExLDAsMCwwLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywKLSAgICA4LDAsMCwwLDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLDExNywxMCwwLDAsCi0gICAgMCwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDExNywxMCwwLDAsMCwKLSAgICAxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MCwxLDAsMCwwLDExNywKLSAgICAxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LDEwOCwxMTUsOTUsOTUsNDAsMCwKLSAgICAwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTUsMCwwLDAsNjYsCi0gICAgMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDExOCwyLAotICAgIDAsMCwxMTUsMjgsMCwwLDAsMTYsNyw2LDIsMTgsNCwzLDEsMTgsCi0gICAgMTAsMywxLDMsMSwzLDEsMjcsMTEsMywxLDIxLDUsMywxLDIxLAotICAgIDUsMywxLDExNywxNSwwLDAsMCw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsOTksMSwwLDAsMCwwLDAsMCwwLAotICAgIDEsMCwwLDAsNiwwLDAsMCw2NiwwLDAsMCwxMTUsMTczLDAsMCwKLSAgICAwLDEyNCwwLDAsNjksMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLAotICAgIDAsMTAwLDEsMCw5MCwzLDAsMTAxLDQsMCwxMDAsMiwwLDEwMCwzLDAsCi0gICAgMTMyLDAsMCwxMzEsMSwwLDkwLDUsMCwxMDEsNCwwLDEwMCwxNCwwLDEwMCwKLSAgICA0LDAsMTAwLDUsMCwxMzIsMSwwLDEzMSwxLDAsOTAsNywwLDEwMSw0LAotICAgIDAsMTAxLDgsMCwxMDEsOSwwLDEwMSwxMCwwLDEwMCw2LDAsMTAwLDcsMCwKLSAgICAxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCi0gICAgMTEsMCwxMDEsNCwwLDEwMSwxMCwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwKLSAgICAwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMiwwLDEwMSw0LDAsMTAxLDEwLDAsCi0gICAgMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLDAsOTAsCi0gICAgMTMsMCwxMDEsNCwwLDEwMSwxMCwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwwLAotICAgIDAsMTMxLDEsMCwxMzEsMSwwLDkwLDE0LDAsMTAwLDE0LDAsODMsNDAsMTUsCi0gICAgMCwwLDAsMTE3LDE0LDAsMCwwLDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDExNywxNDIsMCwwLDAsNzcsMTAxLDExNiw5NywzMiwKLSAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDIsMTExLDExNCwzMiwKLSAgICAxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDYsMTAsCisgICAgMTE0LDk1LDIsMCwwLDExNSw4LDAsMCwwLDAsMSwxNSwxLDE4LDEsCisgICAgMTIsMSwxMTcsNTAsMCwwLDAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwKKyAgICA5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsCisgICAgNDYsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLAorICAgIDExMCw5NSwxMTksMTE0LDk3LDExMiwxMTIsMTAxLDExNCw0MCwxLDAsMCwwLDExNCw2NCwKKyAgICAwLDAsMCw0MCwyLDAsMCwwLDExNCwxNDYsMCwwLDAsMTE0LDE2NywwLAorICAgIDAsMCwxMTQsNCwwLDAsMCw0MCwxLDAsMCwwLDExNCwxNDYsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjQ0LDE2LDAsMCwwLDk1LDExNCwxMDEsMTEzLDExNywKKyAgICAxMDUsMTE0LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTMsMiwwLDAsMTE1LAorICAgIDYsMCwwLDAsMCwyLDE4LDUsMTMsMSwxMTQsMTY4LDAsMCwwLDk5LAorICAgIDIsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDUsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDg3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsCisgICAgMSwwLDEzMSwxLDAsOTIsMiwwLDEyNSwyLDAsMTI1LDMsMCwxMjQsMiwKKyAgICAwLDEwMCwxLDAsMTA3LDgsMCwxMTQsODMsMCwxMTYsMSwwLDEyNCwzLDAsCisgICAgMTMxLDEsMCwxMTQsODMsMCwxMDAsMiwwLDEyNSw0LDAsMTE2LDIsMCwxMDYsCisgICAgMywwLDEyNCw0LDAsMTA2LDQsMCwxMjQsMywwLDEwMCwzLDAsMjUsMTMxLAorICAgIDEsMCwxMTYsNSwwLDEzMSwyLDAsMSwxMTAsMCwwLDEyNCwyLDAsODMsCisgICAgNDAsNCwwLDAsMCwxMTcsODYsMCwwLDAsODQsMTE0LDEyMSwzMiwxMTYsMTExLAorICAgIDMyLDEwMiwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwKKyAgICAxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsMTIxLDMyLDEwMCwxMDEsMTA4LDEwMSwxMDMsCisgICAgOTcsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTE1LDEwMSwxMDgsCisgICAgMTAyLDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LAorICAgIDc4LDExNyw0NCwwLDAsMCw3OCwxMTEsMTE2LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDEwNSwxMTAsMTAzLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTIzLDEyNSwKKyAgICA1OCwzMiwxMDksMTA1LDExNSwxMTUsMTA1LDExMCwxMDMsMzIsOTUsOTUsMTA1LDExMCwxMDUsMTE2LAorICAgIDk1LDk1LDExNCw3MSwwLDAsMCw0MCw2LDAsMCwwLDI0NCwxMSwwLDAsCisgICAgMCwxMDIsMTA1LDExMCwxMDAsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTQsMzEsMCwwLAorICAgIDAsMjQ0LDksMCwwLDAsOTUsMTE5LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsMTE1LDI0NCwKKyAgICA0LDAsMCwwLDExOSw5NywxMTQsMTEwLDExNCw0NiwwLDAsMCwyNDQsMTMsMCwKKyAgICAwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw4Nyw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLDQwLAorICAgIDUsMCwwLDAsMTE0LDc4LDAsMCwwLDExNCwxNTYsMCwwLDAsMjQ0LDYsCisgICAgMCwwLDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCwyNDQsOCwwLDAsMCwxMTIsMTExLAorICAgIDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDI0NCwzLDAsMCwwLDEwOSwxMTUsMTAzLDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNywwLAorICAgIDAsMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LAorICAgIDEwNCwxMDUsMTA5LDEwNCwyLDAsMCwxMTUsMTAsMCwwLDAsMCw2LDIxLDEsCisgICAgMjQsMSw2LDEsMzIsMSwxMTQsMTc2LDAsMCwwLDk5LDQsMCwwLDAsCisgICAgMCwwLDAsMCwxMSwwLDAsMCwxOSwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMjQzLDEsMCwwLDEwNSwwLDAsMTI1LDQsMCwxMjQsMiwwLDEwMCwxLAorICAgIDAsMTA3LDksMCwxMTQsMzEsMCwxMjQsMiwwLDEyNCw0LDAsMTAwLDIsMCwKKyAgICA2MCwxMTAsNiwwLDEwMCwzLDAsMTI1LDIsMCwxMjQsMywwLDEwMCwxLDAsCisgICAgMTA3LDksMCwxMTQsNjIsMCwxMjQsMywwLDEyNCw0LDAsMTAwLDQsMCw2MCwKKyAgICAxMTAsMCwwLDEyNCwwLDAsMTAwLDEsMCwxMDAsNSwwLDEzMywyLDAsMjUsCisgICAgMTI1LDUsMCwxMjQsMCwwLDEwMCw1LDAsMTAwLDYsMCwxMzMsMiwwLDI1LAorICAgIDEyNSw2LDAsMTI0LDAsMCwxMDAsNiwwLDEwMCw3LDAsMTMzLDIsMCwyNSwKKyAgICAxMjUsNywwLDEyNCw1LDAsMTE2LDAsMCwxMDcsMywwLDExNCwxNjgsMCwxMDAsCisgICAgOCwwLDEwNiwxLDAsMTI0LDIsMCwxMjQsNSwwLDEzMSwyLDAsMTI1LDgsCisgICAgMCwxMTYsMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiwzLDAsMTI0LDgsCisgICAgMCwxMjQsNCwwLDE0MSwxLDAsMTMwLDEsMCwxMTAsMTE2LDAsMTE2LDQsMCwKKyAgICAxMjQsNiwwLDEzMSwxLDAsMTAwLDUsMCwxMDcsMywwLDExNCwyMjYsMCwxMDAsCisgICAgOSwwLDEwNiwxLDAsMTI0LDIsMCwxMzEsMSwwLDEyNSw4LDAsMTE2LDIsCisgICAgMCwxMjQsOCwwLDEzMSwxLDAsMSwxMTYsNSwwLDEyNCw4LDAsMTMxLDEsCisgICAgMCwxMzAsMSwwLDExMCw1OCwwLDExNiw0LDAsMTI0LDcsMCwxMzEsMSwwLAorICAgIDEwMCw1LDAsMTA3LDMsMCwxMTQsMjgsMSwxMDAsMTAsMCwxMDYsMSwwLDEyNCwKKyAgICAyLDAsMTMxLDEsMCwxMjUsOCwwLDExNiwyLDAsMTI0LDgsMCwxMzEsMSwKKyAgICAwLDEsMTE2LDUsMCwxMjQsOCwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwKKyAgICAwLDEyNCwxLDAsMTAwLDEsMCwxMDcsOSwwLDExNCwyMjksMSwxMjEsMjAsMCwKKyAgICAxMTYsNiwwLDEyNCwxLDAsMTAwLDExLDAsMjUsMTMxLDEsMCwxMjUsOSwwLAorICAgIDg3LDExMCwxOCwwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsODAsMSwxLDEsCisgICAgMSw4OSwxMTAsNjIsMCw4OCwxMTYsOCwwLDEyNCw2LDAsMTMxLDEsMCwxMjQsCisgICAgOSwwLDEwNywzLDAsMTE0LDE0MiwxLDEwMCwxMiwwLDEwNiwxLDAsMTI0LDIsCisgICAgMCwxMzEsMSwwLDEyNSw4LDAsMTE2LDIsMCwxMjQsOCwwLDEzMSwxLDAsCisgICAgMSwxMTYsMywwLDEyNCw4LDAsMTI0LDQsMCwxNDEsMSwwLDEzMCwxLDAsCisgICAgMTEwLDAsMCwxMjEsMTgsMCwxMjQsMSwwLDEwMCwxMywwLDI1LDEwMCwxNCwwLAorICAgIDY0LDEyNSwxMCwwLDg3LDExMCwxOCwwLDQsMTE2LDcsMCwxMDcsMTAsMCwxMTQsCisgICAgMTgwLDEsMSwxLDEsODksMTEzLDIyOSwxLDg4LDExNiw4LDAsMTI0LDcsMCwKKyAgICAxMzEsMSwwLDEyNCwxMCwwLDEwNywzLDAsMTE0LDIyOSwxLDExNiwzLDAsMTAwLAorICAgIDEyLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwxLDAsMTI0LDQsMCwxNDEsMSwKKyAgICAwLDEzMCwxLDAsMTEzLDIyOSwxLDExMCwwLDAsMTI0LDAsMCwxMDAsNywwLAorICAgIDEwMCwxLDAsMTMzLDIsMCwyNSw4Myw0MCwxNSwwLDAsMCwxMTcsMTIyLDEsCisgICAgMCwwLDg2LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA0LAorICAgIDEwMSw5NywxMDAsMTAxLDExNCwzMiwxMTEsMTAyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTUsCisgICAgMTE1LDEwMSwxMDAsNDUsMTA1LDExMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwKKyAgICA5NywxMDMsOTcsMTA1LDExMCwxMTUsMTE2LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTE1LAorICAgIDExNiw5NywxMTYsMTE1LDMyLDQwLDEwNSwxMDIsMTAsMzIsMzIsMzIsMzIsMTAzLDEwNSwxMTgsCisgICAgMTAxLDExMCw0MSwzMiw5NywxMTAsMTAwLDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwNSwxMTAsCisgICAgMTAzLDMyLDExNiwxMDQsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDExNiwKKyAgICAxMDQsOTcsMTE2LDMyLDk5LDk3LDExMCwzMiw5OCwxMDEsMzIsOTksMTExLDEwOSwxMTIsMTA1LAorICAgIDEwOCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5OSwxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSw0MCw0MSwKKyAgICA0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMDgsMTA4LDMyLDExMSwxMTYsMTA0LDEwMSwxMTQsCisgICAgMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDExNSwzMiw5NywxMTQsMTAxLDMyLDExNywKKyAgICAxMTUsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMSwxMTAsMTA0LDk3LDExMCw5OSwxMDEsMzIsMTAxLAorICAgIDExNCwxMTQsMTExLDExNCwzMiwxMTQsMTAxLDExMiwxMTEsMTE0LDExNiwxMDUsMTEwLDEwMyw0NiwxMCwKKyAgICAxMCwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwKKyAgICAzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDEwOSw5NywxMDMsMTA1LDk5LDMyLDExMCwxMTcsMTA5LDk4LDEwMSwxMTQsCisgICAgMzIsMTA1LDExNSwzMiwxMDUsMTEwLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwxMTYsMzIsMTExLDExNCwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDUsMTE1LAorICAgIDEwLDMyLDMyLDMyLDMyLDEwMiwxMTEsMTE3LDExMCwxMDAsMzIsMTE2LDExMSwzMiw5OCwxMDEsCisgICAgMzIsMTE1LDExNiw5NywxMDgsMTAxLDQ2LDMyLDY5LDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwKKyAgICAzMiwxMDUsMTE1LDMyLDExNCw5NywxMDUsMTE1LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDEwMCw5NywxMTYsOTcsMzIsMTA1LDExNSwzMiwxMDIsMTExLDExNywxMTAsCisgICAgMTAwLDMyLDExNiwxMTEsMzIsOTgsMTAxLDEwLDMyLDMyLDMyLDMyLDExNiwxMTQsMTE3LDExMCwKKyAgICA5OSw5NywxMTYsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw3OCwxMTQsNjYsMCwKKyAgICAwLDAsMTE3LDEwLDAsMCwwLDYwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLAorICAgIDYyLDExNCwzNSwwLDAsMCwxMTQsMTIsMCwwLDAsMjMzLDgsMCwwLDAsCisgICAgMjMzLDEyLDAsMCwwLDExNywzMCwwLDAsMCw5OCw5NywxMDAsMzIsMTA5LDk3LAorICAgIDEwMywxMDUsOTksMzIsMTEwLDExNywxMDksOTgsMTAxLDExNCwzMiwxMDUsMTEwLDMyLDEyMywzMywKKyAgICAxMTQsMTI1LDU4LDMyLDEyMywzMywxMTQsMTI1LDExNywyOCwwLDAsMCwxMDUsMTEwLDk5LAorICAgIDExMSwxMDksMTEyLDEwOCwxMDEsMTE2LDEwMSwzMiwxMTYsMTA1LDEwOSwxMDEsMTE1LDExNiw5NywxMDksCisgICAgMTEyLDMyLDEwNSwxMTAsMzIsMTIzLDMzLDExNCwxMjUsMTE3LDIzLDAsMCwwLDEwNSwxMTAsCisgICAgOTksMTExLDEwOSwxMTIsMTA4LDEwMSwxMTYsMTAxLDMyLDExNSwxMDUsMTIyLDEwMSwzMiwxMDUsMTEwLAorICAgIDMyLDEyMywzMywxMTQsMTI1LDI0NCw1LDAsMCwwLDEwOSwxMTYsMTA1LDEwOSwxMDEsMTE3LAorICAgIDI2LDAsMCwwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwNSwxMTUsMzIsCisgICAgMTE1LDExNiw5NywxMDgsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDEyMywzMywxMTQsMTI1LDI0NCw0LAorICAgIDAsMCwwLDExNSwxMDUsMTIyLDEwMSwxMDgsMywwLDAsMCwyNTUsMTI3LDI1NSwxMjcsCisgICAgMywwLDQwLDksMCwwLDAsMjQ0LDEyLDAsMCwwLDk1LDc3LDY1LDcxLAorICAgIDczLDY3LDk1LDY2LDg5LDg0LDY5LDgzLDExNCw0NiwwLDAsMCwxMTQsMTQxLDAsCisgICAgMCwwLDExNCwxNTQsMCwwLDAsMTE0LDMxLDAsMCwwLDI0NCw4LDAsMCwKKyAgICAwLDY5LDc5LDcwLDY5LDExNCwxMTQsMTExLDExNCwxMTQsMTQsMCwwLDAsMTE0LDk0LAorICAgIDAsMCwwLDExNCwxOSwwLDAsMCw0MCwxMSwwLDAsMCwxMTQsNTIsMCwKKyAgICAwLDAsMTE0LDEyOCwwLDAsMCwxMTQsNjYsMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDExNiwxMSwwLDAsMCwxMDEsMTIwLDk5LDk1LDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsCisgICAgMTE1LDExNiw1LDAsMCwwLDEwOSw5NywxMDMsMTA1LDk5LDExNiwxMywwLDAsMCwKKyAgICAxMTQsOTcsMTE5LDk1LDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMTE2LDgsMCwKKyAgICAwLDAsMTE0LDk3LDExOSw5NSwxMTUsMTA1LDEyMiwxMDEsMTE0LDE0MCwwLDAsMCwyNDQsCisgICAgMTIsMCwwLDAsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMDksMTE2LDEwNSwxMDksMTAxLAorICAgIDI0NCwxMSwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExNSwxMDUsMTIyLDEwMSwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsCisgICAgMjUsMCwwLDAsOTUsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsOTUsOTgsMTIxLAorICAgIDExNiwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTA0LDEwMSw5NywxMDAsMTAxLDExNCwxMTcsMiwwLAorICAgIDAsMTE1LDc2LDAsMCwwLDAsMTEsNiwxLDEyLDEsMTMsMyw2LDEsCisgICAgMTIsMSwxMywxLDE2LDEsMTYsMSwxNiwxLDEyLDEsMTgsMSwxMCwxLAorICAgIDE4LDEsMTgsMSwxNSwxLDEwLDEsMTUsMSwxOCwxLDE1LDEsMTAsMSwKKyAgICAxNSwxLDEyLDEsMywxLDIwLDEsMTMsMSw1LDIsMTgsMSwxNSwxLAorICAgIDEwLDEsMTgsMSwzLDEsMTgsMSwxMywxLDUsMiwxOCwxLDE1LDEsCisgICAgMTUsMSwxMTQsMTg1LDAsMCwwLDk5LDQsMCwwLDAsMCwwLDAsMCwKKyAgICA1LDAsMCwwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDExNSwwLDAsCisgICAgMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsCisgICAgMTE2LDIsMCwxMjQsNCwwLDExNiwzLDAsMTMxLDIsMCwxMTQsNzgsMCwxMTYsCisgICAgNCwwLDEwMCwxLDAsMTI0LDIsMCwxMzEsMiwwLDEsMTI0LDMsMCwxMDAsCisgICAgMiwwLDEwNyw5LDAsMTE0LDc0LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCw0LAorICAgIDAsMTI0LDMsMCwxMzEsMiwwLDEsMTEwLDAsMCwxMjQsNCwwLDgzLDExNiwKKyAgICA3LDAsMTAwLDMsMCwxMDYsOCwwLDEyNCwyLDAsMTMxLDEsMCwxMDAsNCwKKyAgICAwLDEyNCwxLDAsMTAwLDUsMCwxMjQsMiwwLDEzMSwxLDIsMTMwLDEsMCwKKyAgICAxMDAsMiwwLDgzLDQwLDYsMCwwLDAsMTE3LDYwLDAsMCwwLDY3LDExMSwKKyAgICAxMDksMTEyLDEwNSwxMDgsMTAxLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDk3LAorICAgIDExNSwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5NSwxMTgsCisgICAgOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwKKyAgICA5NSwxMDQsMTAxLDk3LDEwMCwxMDEsMTE0LDQwLDQxLDQ2LDExNywyMSwwLDAsMCw5OSwKKyAgICAxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LDMyLAorICAgIDEyMywzMywxMTQsMTI1LDc4LDExNywyMywwLDAsMCw3OCwxMTEsMTEwLDQ1LDk5LDExMSwKKyAgICAxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LDExNiwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsCisgICAgMTI1LDExNCw2NiwwLDAsMCwxMTQsMzUsMCwwLDAsNDAsOSwwLDAsMCwKKyAgICAyNDQsNywwLDAsMCwxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDExNiw1LDAsMCwKKyAgICAwLDEwOCwxMTEsOTcsMTAwLDExNSwyNDQsMTAsMCwwLDAsMTA1LDExNSwxMDUsMTEwLDExNSwKKyAgICAxMTYsOTcsMTEwLDk5LDEwMSwyNDQsMTAsMCwwLDAsOTUsOTksMTExLDEwMCwxMDEsOTUsCisgICAgMTE2LDEyMSwxMTIsMTAxLDExNCwxNDEsMCwwLDAsMTE0LDk3LDAsMCwwLDExNiwxNiwKKyAgICAwLDAsMCw5NSwxMDIsMTA1LDEyMCw5NSw5OSwxMTEsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCwKKyAgICA5NywxMDksMTAxLDExNCwxNTQsMCwwLDAsMTE0LDQ2LDAsMCwwLDQwLDUsMCwKKyAgICAwLDAsMTE0LDUyLDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsMTI5LDAsMCwKKyAgICAwLDExNCwxMzAsMCwwLDAsMjQ0LDQsMCwwLDAsOTksMTExLDEwMCwxMDEsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDE3LAorICAgIDAsMCwwLDk1LDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLAorICAgIDk5LDExMSwxMDAsMTAxLDE3MiwyLDAsMCwxMTUsMTYsMCwwLDAsMCwyLDE1LAorICAgIDEsMTUsMSwxMywxLDEyLDEsMTksMSw0LDIsMTgsMSwxMTQsMTkwLDAsCisgICAgMCwwLDExNCw3MSwwLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsCisgICAgNCwwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSw3NiwwLDAsCisgICAgMCwxMTYsMCwwLDExNiwxLDAsMTMxLDEsMCwxMjUsMywwLDEyNCwzLDAsCisgICAgMTA2LDIsMCwxMTYsMywwLDEyNCwxLDAsMTMxLDEsMCwxMzEsMSwwLDEsCisgICAgMTI0LDMsMCwxMDYsMiwwLDExNiwzLDAsMTI0LDIsMCwxMzEsMSwwLDEzMSwKKyAgICAxLDAsMSwxMjQsMywwLDEwNiwyLDAsMTE2LDQsMCwxMDYsNSwwLDEyNCwKKyAgICAwLDAsMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDMsMCw4Myw0MCwxLDAsCisgICAgMCwwLDExNyw4MCwwLDAsMCw2NywxMTEsMTA5LDExMiwxMDUsMTA4LDEwMSwzMiw5NywKKyAgICAzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTA1LDExMCwxMTYsCisgICAgMTExLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDExOSwKKyAgICAxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsMTE3LDExNiwzMiwxMTYsMTExLDMyLDk3LDMyLAorICAgIDk4LDEyMSwxMTYsMTAxLDQ1LDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDEwMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwxMDIsMTA1LDEwOCwxMDEsNDYsNDAsNiwwLDAsMCwyNDQsOSwwLDAsCisgICAgMCw5OCwxMjEsMTE2LDEwMSw5NywxMTQsMTE0LDk3LDEyMSwxMTQsMTgxLDAsMCwwLDI0NCwKKyAgICA2LDAsMCwwLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTAwLDExNCwxNywwLDAsMCwxMTQsCisgICAgMTg2LDAsMCwwLDExNiw1LDAsMCwwLDEwMCwxMTcsMTA5LDExMiwxMTUsNDAsNCwKKyAgICAwLDAsMCwxMTQsMTg5LDAsMCwwLDExNCwxNzksMCwwLDAsMTE0LDE4NCwwLAorICAgIDAsMCwxMTQsNTIsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjQ0LDE3LDAsMCwwLDk1LDk5LDExMSwxMDAsMTAxLAorICAgIDk1LDExNiwxMTEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTg0LDIsMCwwLAorICAgIDExNSwxMCwwLDAsMCwwLDMsMTIsMSwxOSwxLDE5LDEsMjIsMSwxMTQsCisgICAgMTkzLDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwKKyAgICAwLDYsMCwwLDAsNjYsMCwwLDAsMTE1LDE3MywwLDAsMCwxMjQsMCwKKyAgICAwLDY5LDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLAorICAgIDAsOTAsMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsCisgICAgMTMxLDEsMCw5MCw1LDAsMTAxLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTAwLAorICAgIDYsMCwxMzIsMSwwLDEzMSwxLDAsOTAsNiwwLDEwMSw0LDAsMTAxLDcsCisgICAgMCwxMDEsOCwwLDEwMSw5LDAsMTAwLDcsMCwxMDAsOCwwLDEzMiwwLDAsCisgICAgMTMxLDEsMCwxMzEsMSwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMCwwLDEwMSwKKyAgICA0LDAsMTAxLDksMCwxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLDAsMTMxLDEsCisgICAgMCwxMzEsMSwwLDkwLDExLDAsMTAxLDQsMCwxMDEsOSwwLDEwMCwxMSwwLAorICAgIDEwMCwxMiwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDkwLDEyLDAsMTAxLAorICAgIDQsMCwxMDEsOSwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsMTMxLDEsCisgICAgMCwxMzEsMSwwLDkwLDEzLDAsMTAwLDQsMCw4Myw0MCwxNSwwLDAsMCwKKyAgICAyNDQsMTUsMCwwLDAsNjYsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiwxMDEsMTE0LDExNywxNDQsMCwwLDAsNzcsMTAxLDExNiw5NywzMiwxMTIsOTcsCisgICAgMTE2LDEwNCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDIsMTExLDExNCwzMiw5OCwxMTcsCisgICAgMTA1LDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDYsMTAsCiAgICAgMTAsMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsCiAgICAgMzIsOTcsMTE0LDEwMSwzMiwxMDEsMTA1LDExNiwxMDQsMTAxLDExNCwzMiw5OSwxMDgsOTcsMTE1LAogICAgIDExNSwzMiwxMTEsMTE0LDMyLDExNSwxMTYsOTcsMTE2LDEwNSw5OSwzMiwxMDksMTAxLDExNiwxMDQsCkBAIC0xNTQxLDE1MDYgKzEzMTgsMTE4OSBAQAogICAgIDExNSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsMCwwLDAsCiAgICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsCiAgICAgMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDEsMCwxMzEsCi0gICAgMSwwLDgzLDQwLDIsMCwwLDAsNzgsMTE3LDIyLDAsMCwwLDYwLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDM5LDEyMywxMjUsMzksMzIsNDAsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsNDEsNjIsNDAsMiwwLDAsMCwxMTcsNiwwLDAsMCwxMDIsMTExLAotICAgIDExNCwxMDksOTcsMTE2LDExNyw4LDAsMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLDk1LAotICAgIDk1LDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsMSwKLSAgICAwLDAsMCwxMDksNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwKLSAgICAwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwKLSAgICAxMTcsMTEsMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LAotICAgIDE4NCwyLDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE3LDI2LDAsMCwwLAotICAgIDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCw5OSwzLDAsMCwwLDAsCi0gICAgMCwwLDAsMywwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAyMywwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLAotICAgIDExNCwxOSwwLDEyNCwwLDAsODMsMTAwLDEsMCw4Myw0MCwyLDAsMCwwLAotICAgIDExNywyMSwwLDAsMCw3MCwxMDUsMTEwLDEwMCwzMiw5NywzMiwxMDIsMTE0LDExMSwxMjIsCi0gICAgMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw3OCw0MCwzLDAsMCwwLAotICAgIDExNyw0LDAsMCwwLDk1LDEwNSwxMDksMTEyLDExNyw5LDAsMCwwLDEwNSwxMTUsCi0gICAgOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsCi0gICAgNDAsMywwLDAsMCwxMTcsMywwLDAsMCw5OSwxMDgsMTE1LDExNyw4LDAsCi0gICAgMCwwLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCwxMTIsCi0gICAgOTcsMTE2LDEwNCw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsCi0gICAgMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywKLSAgICAxMSwwLDAsMCwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTg4LAotICAgIDIsMCwwLDExNSwyLDAsMCwwLDAsMywxMTcsMjYsMCwwLDAsNzAsCi0gICAgMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLDEwNSwKLSAgICAxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCw0LDAsMCwwLDksMCwwLDAsNjcsMCwwLDAsMTE1LDEwMCwKLSAgICAwLDAsMCwxMjQsMSwwLDExNiwwLDAsMTA2LDEsMCwxMDcsNiwwLDEyNSwKLSAgICAyLDAsMTIxLDMyLDAsMTE2LDIsMCwxMTYsMywwLDEwNiw0LDAsMTI0LDEsCi0gICAgMCwxMzEsMiwwLDEyNSwzLDAsMTI0LDMsMCw5Niw1LDAsMTI0LDMsMCwKLSAgICA4Myw4NywxMTAsNDYsMCwxLDEsMSwxMjQsMiwwLDEyLDExNCw4OCwwLDEyNCwKLSAgICAxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNyw2LDAsMTE0LDg4LDAsMTE2LDAsCi0gICAgMCwxMDYsMSwwLDEyNCwxLDAsNjEsMTEwLDAsMCwxMzAsMCwwLDg5LDExMCwKLSAgICAxLDAsODgsMTAwLDEsMCw4Myw0MCwyLDAsMCwwLDExNywyMSwwLDAsCi0gICAgMCw3NiwxMTEsOTcsMTAwLDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDc4LDQwLDYsMCwwLDAsMTE3LDMsMCwwLAotICAgIDAsMTE1LDEyMSwxMTUsMTE3LDcsMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LAotICAgIDExNywyNSwwLDAsMCw5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LDEwNCw5NSwKLSAgICAxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCwxMTcsNCwKLSAgICAwLDAsMCw5NSwxMDUsMTA5LDExMiwxMTcsMTEsMCwwLDAsMTA1LDExMCwxMDUsMTE2LAotICAgIDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDExNyw4LDAsMCwwLDk1LDk1LDEwMiwxMDUsCi0gICAgMTA4LDEwMSw5NSw5NSw0MCw0LDAsMCwwLDExNywzLDAsMCwwLDk5LDEwOCwKLSAgICAxMTUsMTE3LDgsMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNyw5LAotICAgIDAsMCwwLDEwNSwxMTUsOTUsMTE0LDEwMSwxMDgsMTExLDk3LDEwMCwxMTcsMSwwLDAsCi0gICAgMCwxMDksNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsCi0gICAgMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsCi0gICAgMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTEsCi0gICAgMCwwLDAsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTkzLDIsCi0gICAgMCwwLDExNSwxOCwwLDAsMCwwLDYsMTUsMSwzLDEsMTgsMiw2LAotICAgIDEsOCwxLDMsMSwyMiwxLDEzLDEsMTE3LDI2LDAsMCwwLDcwLDExNCwKLSAgICAxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsCi0gICAgMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsCi0gICAgMCwyLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDEzLDAsCi0gICAgMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDEzMSwxLDAsODMsNDAsCi0gICAgMSwwLDAsMCwxMTcsNDUsMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsCi0gICAgMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNDAsMiwwLDAsMCwxMTcsNCwwLDAsMCwKLSAgICA5NSwxMDUsMTA5LDExMiwxMTcsMTcsMCwwLDAsMTAzLDEwMSwxMTYsOTUsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsOTUsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQwLDIsMCwwLDAsMTE3LAotICAgIDMsMCwwLDAsOTksMTA4LDExNSwxMTcsOCwwLDAsMCwxMDIsMTE3LDEwOCwxMDgsCi0gICAgMTEwLDk3LDEwOSwxMDEsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwKLSAgICAwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwKLSAgICAxMTcsOCwwLDAsMCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSwyMTAsMiwwLAotICAgIDAsMTE1LDIsMCwwLDAsMCw0LDExNywyMywwLDAsMCw3MCwxMTQsMTExLAotICAgIDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwKLSAgICA5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsCi0gICAgMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLAotICAgIDAsODMsNDAsMiwwLDAsMCwxMTcsNTQsMCwwLDAsODIsMTAxLDExNiwxMTcsCi0gICAgMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwKKyAgICAxLDAsODMsNDAsMiwwLDAsMCw3OCwxMTcsMjQsMCwwLDAsNjAsMTA5LAorICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMzksMTIzLDEyNSwzOSwzMiw0MCw5OCwxMTcsMTA1LDEwOCwKKyAgICAxMTYsNDUsMTA1LDExMCw0MSw2Miw0MCwyLDAsMCwwLDExNCw0NiwwLDAsMCwKKyAgICAxMTQsNTYsMCwwLDAsNDAsMiwwLDAsMCwyNDQsMywwLDAsMCw5OSwKKyAgICAxMDgsMTE1LDExNCwxNDUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMjQ0LDExLDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDk1LDExNCwxMDEsMTEyLDExNCwyMDUsMiwwLDAsMTE1LDIsMCwwLDAsMCwKKyAgICAyLDExNywyNywwLDAsMCw2NiwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLAorICAgIDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsCisgICAgMTE0LDc4LDk5LDMsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDIsCisgICAgMCwwLDAsNjcsMCwwLDAsMTE1LDM5LDAsMCwwLDEyNCwyLDAsMTAwLAorICAgIDEsMCwxMDcsOSwwLDExNCwxNiwwLDEwMCwxLDAsODMsMTE2LDAsMCwxMDYsCisgICAgMSwwLDEyNCwxLDAsMTMxLDEsMCwxMTQsMzUsMCwxMjQsMCwwLDgzLDEwMCwKKyAgICAxLDAsODMsNDAsMiwwLDAsMCwxMTcsMTEzLDAsMCwwLDcwLDEwNSwxMTAsCisgICAgMTAwLDMyLDExNiwxMDQsMTAxLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDczLDEwMiwzMiwzOSwxMTIsOTcsMTE2LDEwNCwzOSwzMiwxMDUsMTE1LDMyLDEwMSwxMTgsMTAxLAorICAgIDExNCwzMiwxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExNiwxMDQsMTAxLDExMCwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTAxLDk3LDExNCw5OSwxMDQsMzIsMTA1LDExNSwzMiw5OSwKKyAgICAxMTEsMTEwLDExNSwxMDUsMTAwLDEwMSwxMTQsMTAxLDEwMCwzMiw5NywzMiwxMDIsOTcsMTA1LDEwOCwKKyAgICAxMTcsMTE0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCw0MCwKKyAgICAyLDAsMCwwLDExNCw5NywwLDAsMCwxMTYsMTAsMCwwLDAsMTA1LDExNSwKKyAgICA5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw0MCwzLDAsMCwwLDExNCwxOTUsMCwKKyAgICAwLDAsMTE0LDE1NiwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDExLDAsMCwwLAorICAgIDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwyMDksMiwwLDAsMTE1LAorICAgIDYsMCwwLDAsMCw3LDEyLDEsNCwxLDExNywyNywwLDAsMCw2NiwKKyAgICAxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAyLAorICAgIDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwKKyAgICAwLDAsMCwzLDAsMCwwLDksMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDg4LDAsMCwwLDEyNCwxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNyw2LDAsCisgICAgMTI1LDIsMCwxMjEsMjAsMCwxMTYsMiwwLDExNiwzLDAsMTA2LDQsMCwxMjQsCisgICAgMSwwLDEzMSwyLDAsODMsODcsMTEwLDQ2LDAsMSwxLDEsMTI0LDIsMCwKKyAgICAxMiwxMTQsNzYsMCwxMjQsMSwwLDExNiwwLDAsMTA2LDEsMCwxMDcsNiwwLAorICAgIDExNCw3NiwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwwLDYxLDExMCwwLDAsCisgICAgMTMwLDAsMCw4OSwxMTAsMSwwLDg4LDEwMCwxLDAsODMsNDAsMiwwLDAsCisgICAgMCwxMTcsMjMsMCwwLDAsNzYsMTExLDk3LDEwMCwzMiw5NywzMiw5OCwxMTcsMTA1LAorICAgIDEwOCwxMTYsNDUsMTA1LDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0Niw3OCw0MCw1LAorICAgIDAsMCwwLDExNCw3LDAsMCwwLDExNCwxNTIsMCwwLDAsMTE0LDEwMiwwLAorICAgIDAsMCwxMTQsOTcsMCwwLDAsMTE2LDEyLDAsMCwwLDEwNSwxMTAsMTA1LDExNiwKKyAgICA5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw0MCwzLDAsMCwwLDExNCwxOTUsMCwKKyAgICAwLDAsMTE0LDE1NiwwLDAsMCwxMTQsMTU3LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxMSwwLDAsMCwKKyAgICAxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwyMjAsMiwwLDAsMTE1LAorICAgIDE0LDAsMCwwLDAsNiwxNSwxLDMsMSwyMCwxLDMsMSwyMiwxLAorICAgIDEzLDEsMTE3LDI3LDAsMCwwLDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsCisgICAgMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLAorICAgIDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsCisgICAgNDAsMiwwLDAsMCwxMTcsNTcsMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwKICAgICAxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDEwMCwxMTEsMzIsMTEwLDExMSwxMTYsCi0gICAgMzIsMTA0LDk3LDExOCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLAotICAgIDEwMSw0Niw3OCw0MCwxLDAsMCwwLDExNyw0LDAsMCwwLDc4LDExMSwxMTAsCi0gICAgMTAxLDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsOCwKLSAgICAwLDAsMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDAsMCwwLDAsMCwKLSAgICA0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLAotICAgIDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsCi0gICAgMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsMCwwLDAsMTAzLDEwMSwxMTYsOTUsCi0gICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwyMTYsMiwwLDAsMTE1LDIsMCwwLDAsMCwKLSAgICA0LDExNywyNSwwLDAsMCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDk5LAotICAgIDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsCi0gICAgNjcsMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsCi0gICAgMSwwLDEzMSwxLDAsODMsNDAsMSwwLDAsMCwxMTcsNDYsMCwwLDAsCi0gICAgODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw4NCwxMTQsMTE3LDEwMSwzMiwxMDUsMTAyLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDMyLDEwNSwxMTUsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQ2LDQwLDIsCi0gICAgMCwwLDAsMTE3LDQsMCwwLDAsOTUsMTA1LDEwOSwxMTIsMTE3LDE3LDAsMCwKLSAgICAwLDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDQwLDIsMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsCi0gICAgOCwwLDAsMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsNDAsMCwwLDAsCi0gICAgMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsCi0gICAgMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwKLSAgICAxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsMCwwLDAsMTA1LDExNSw5NSwKLSAgICAxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMjIyLDIsMCwwLDExNSwyLDAsMCwwLAotICAgIDAsNCwxMTcsMjUsMCwwLDAsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLAotICAgIDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsCi0gICAgNzgsNDAsMTUsMCwwLDAsMTE3LDgsMCwwLDAsOTUsOTUsMTEwLDk3LDEwOSwKLSAgICAxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwxMTMsMTE3LDk3LDEwOCwxMTAsOTcsMTA5LAotICAgIDEwMSw5NSw5NSwxMTcsNywwLDAsMCw5NSw5NSwxMDAsMTExLDk5LDk1LDk1LDExNywKLSAgICAxMSwwLDAsMCw5OSwxMDgsOTcsMTE1LDExNSwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTcsCi0gICAgMTEsMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDExNywKLSAgICA0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNywxMSwwLDAsMCwxMDIsMTA1LDExMCwKLSAgICAxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDExLDAsMCwwLDExNSwxMDEsMTE2LAotICAgIDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTcsMTAsMCwwLDAsMTE1LDEwMSwxMTYsCi0gICAgOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTcsMTYsMCwwLDAsOTUsMTE0LDEwMSwxMTMsCi0gICAgMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwxMTcsMTEsMCwwLAotICAgIDAsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDgsMCwwLAotICAgIDAsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsMTE3LDEwLDAsMCwwLDEwMywxMDEsCi0gICAgMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTE3LDEwLDAsMCwwLDEwNSwxMTUsOTUsCi0gICAgMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDQwLDEsMCwwLDAsMTE3LDEwLDAsMCwKLSAgICAwLDk1LDk1LDEwOCwxMTEsOTksOTcsMTA4LDExNSw5NSw5NSw0MCwwLDAsMCwwLAotICAgIDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwKLSAgICAxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxNCwwLDAsMCw3MCwxMTQsMTExLDEyMiwKLSAgICAxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwxNzUsMiwwLDAsMTE1LDI4LAotICAgIDAsMCwwLDE2LDcsNiwyLDE4LDQsMywxLDE4LDQsMywxLDMsCi0gICAgMSwzLDEsMjcsMTQsMywxLDIxLDUsMywxLDIxLDUsMywxLDExNywKLSAgICAxNCwwLDAsMCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTAxLDExNCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw0LAotICAgIDAsMCwwLDY2LDAsMCwwLDExNSwxMDEsMCwwLDAsMTI0LDAsMCw2OSwKLSAgICAxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLAotICAgIDMsMCwxMDAsMiwwLDkwLDQsMCwxMDAsMywwLDkwLDUsMCwxMDAsMTEsCi0gICAgMCw5MCw3LDAsMTAxLDgsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwKLSAgICAxMzEsMSwwLDkwLDksMCwxMDEsOCwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsCi0gICAgMCwwLDEzMSwxLDAsOTAsMTAsMCwxMDEsOCwwLDEwMCwxMCwwLDEwMCw4LAotICAgIDAsMTAwLDksMCwxMzIsMSwwLDEzMSwxLDAsOTAsMTIsMCwxMDAsMTAsMCwKLSAgICA4Myw0MCwxMiwwLDAsMCwxMTcsMjEsMCwwLDAsODcsMTA1LDExMCwxMDAsMTExLAotICAgIDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsCi0gICAgMTE3LDY3LDAsMCwwLDc3LDEwMSwxMTYsOTcsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAyLAotICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgMTE1LDMyLDEwMCwxMDEsOTksMTA4LDk3LDExNCwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsMzIsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsCi0gICAgMTE0LDEyMSw0NiwxMCwzMiwzMiwzMiwzMiwxMTcsNTksMCwwLDAsODMsMTExLDEwMiwKLSAgICAxMTYsMTE5LDk3LDExNCwxMDEsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw5Miw4MCwxMjEsMTE2LAotICAgIDEwNCwxMTEsMTEwLDY3LDExMSwxMTQsMTAxLDkyLDEyMywxMTUsMTIxLDExNSw5NSwxMTgsMTAxLDExNCwKLSAgICAxMTUsMTA1LDExMSwxMTAsMTI1LDkyLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDkyLDEyMywxMDIsCi0gICAgMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTI1LDExNyw2NSwwLDAsMCw4MywxMTEsMTAyLAotICAgIDExNiwxMTksOTcsMTE0LDEwMSw5Miw4MCwxMjEsMTE2LDEwNCwxMTEsMTEwLDkyLDgwLDEyMSwxMTYsCi0gICAgMTA0LDExMSwxMTAsNjcsMTExLDExNCwxMDEsOTIsMTIzLDExNSwxMjEsMTE1LDk1LDExOCwxMDEsMTE0LAotICAgIDExNSwxMDUsMTExLDExMCwxMjUsOTIsNzcsMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsOTIsMTIzLDEwMiwKLSAgICAxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSwxMjUsOTIsNjgsMTAxLDk4LDExNywxMDMsOTksMiwKLSAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMTEsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDY3LDAsMCwwLDEyMSwyMywwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMTYsMCwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMiwwLDgzLDg3LDExMCwKLSAgICAzNywwLDQsMTE2LDMsMCwxMDcsMTAsMCwxMTQsNjIsMCwxLDEsMSwxMTYsCi0gICAgMCwwLDEwNiwxLDAsMTE2LDAsMCwxMDYsNCwwLDEyNCwxLDAsMTMxLDIsCi0gICAgMCw4Myw4OSwxMTAsMSwwLDg4LDEwMCwwLDAsODMsNDAsMSwwLDAsMCwKLSAgICA3OCw0MCw1LDAsMCwwLDExNyw3LDAsMCwwLDk1LDExOSwxMDUsMTEwLDExNCwKLSAgICAxMDEsMTAzLDExNyw3LDAsMCwwLDc5LDExMiwxMDEsMTEwLDc1LDEwMSwxMjEsMTE3LDE3LAotICAgIDAsMCwwLDcyLDc1LDY5LDg5LDk1LDY3LDg1LDgyLDgyLDY5LDc4LDg0LDk1LAotICAgIDg1LDgzLDY5LDgyLDExNywxMiwwLDAsMCw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSwKLSAgICA2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDE4LDAsMCwwLDcyLDc1LDY5LDg5LDk1LDc2LAotICAgIDc5LDY3LDY1LDc2LDk1LDc3LDY1LDY3LDcyLDczLDc4LDY5LDQwLDIsMCwwLAotICAgIDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsMywwLDAsMCwxMDcsMTAxLAotICAgIDEyMSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLAotICAgIDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsCi0gICAgOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxNCwwLAotICAgIDAsMCw5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSwKLSAgICAyNDIsMiwwLDAsMTE1LDgsMCwwLDAsMCwyLDMsMSwyMywxLDEzLAotICAgIDEsMTE3LDM2LDAsMCwwLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsCi0gICAgMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDExMSwxMTIsMTAxLAotICAgIDExMCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDk5LDIsMCwwLDAsMCwKLSAgICAwLDAsMCw2LDAsMCwwLDE2LDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAxNDIsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDExNCwyMSwwLDEyNCwwLDAsCi0gICAgMTA2LDEsMCwxMjUsMiwwLDExMCw5LDAsMTI0LDAsMCwxMDYsMiwwLDEyNSwKLSAgICAyLDAsMTI0LDIsMCwxMDYsMywwLDEwMCwxLDAsMTI0LDEsMCwxMDAsMiwKLSAgICAwLDExNiw0LDAsMTA2LDUsMCwxMDAsMCwwLDEwMCwzLDAsMTMzLDIsMCwKLSAgICAyNSwxMzEsMCwyLDEyNSwzLDAsMTIxLDQ2LDAsMTI0LDAsMCwxMDYsNiwwLAotICAgIDEyNCwzLDAsMTMxLDEsMCwxNDMsMjUsMCwxMjUsNCwwLDExNiw3LDAsMTA2LAotICAgIDgsMCwxMjQsNCwwLDEwMCw0LDAsMTMxLDIsMCwxMjUsNSwwLDg3LDEwMCwKLSAgICAwLDAsODEsODgsODcsMTEwLDIyLDAsNCwxMTYsOSwwLDEwNywxMCwwLDExNCwKLSAgICAxMzcsMCwxLDEsMSwxMDAsMCwwLDgzLDg5LDExMCwxLDAsODgsMTI0LDUsCi0gICAgMCw4Myw0MCw1LDAsMCwwLDc4LDExNyw4LDAsMCwwLDEwMiwxMTcsMTA4LAotICAgIDEwOCwxMTAsOTcsMTA5LDEwMSwxMTcsMTEsMCwwLDAsMTE1LDEyMSwxMTUsOTUsMTE4LDEwMSwKLSAgICAxMTQsMTE1LDEwNSwxMTEsMTEwLDEwNSwzLDAsMCwwLDExNywwLDAsMCwwLDQwLAotICAgIDExLDAsMCwwLDExNywxMSwwLDAsMCw2OCw2OSw2Niw4NSw3MSw5NSw2NiwKLSAgICA4NSw3Myw3Niw2OCwxMTcsMTgsMCwwLDAsODIsNjksNzEsNzMsODMsODQsODIsCi0gICAgODksOTUsNzUsNjksODksOTUsNjgsNjksNjYsODUsNzEsMTE3LDEyLDAsMCwwLAotICAgIDgyLDY5LDcxLDczLDgzLDg0LDgyLDg5LDk1LDc1LDY5LDg5LDExNyw2LDAsMCwKLSAgICAwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LDMsMCwwLDAsMTE1LDEyMSwxMTUsMTE3LAotICAgIDcsMCwwLDAsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDExNywxNCwwLDAsMCwKLSAgICA5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSwxMTcsNywKLSAgICAwLDAsMCw5NSwxMTksMTA1LDExMCwxMTQsMTAxLDEwMywxMTcsMTAsMCwwLDAsODEsCi0gICAgMTE3LDEwMSwxMTQsMTIxLDg2LDk3LDEwOCwxMTcsMTAxLDExNywxMiwwLDAsMCw4NywxMDUsCi0gICAgMTEwLDEwMCwxMTEsMTE5LDExNSw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDQsMCwwLDAsNzgsCi0gICAgMTExLDExMCwxMDEsNDAsNiwwLDAsMCwxMTcsMywwLDAsMCw5OSwxMDgsMTE1LAotICAgIDExNyw4LDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSwxMTcsMTIsMCwKLSAgICAwLDAsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw5NSwxMDcsMTAxLDEyMSwxMTcsMywKLSAgICAwLDAsMCwxMDcsMTAxLDEyMSwxMTcsNCwwLDAsMCwxMDQsMTA3LDEwMSwxMjEsMTE3LAotICAgIDgsMCwwLDAsMTAyLDEwNSwxMDgsMTAxLDExMiw5NywxMTYsMTA0LDQwLDAsMCwwLAotICAgIDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsCi0gICAgMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE2LDAsMCwwLDk1LDExNSwxMDEsCi0gICAgOTcsMTE0LDk5LDEwNCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDI0OSwyLDAsCi0gICAgMCwxMTUsMjIsMCwwLDAsMCwyLDksMSwxMiwyLDksMSwxNSwxLAotICAgIDIyLDEsMywxLDE4LDEsMjgsMSwxMywxLDksMSwxMTcsMzgsMCwwLAotICAgIDAsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLAotICAgIDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LDExNCwKLSAgICAxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsOTksMywwLDAsMCwwLDAsMCwwLAotICAgIDcsMCwwLDAsMTIsMCwwLDAsNjcsMCwwLDAsMTE1LDE0MCwwLDAsCi0gICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwzLDAsCi0gICAgMTI0LDMsMCwxMDAsMSwwLDEwNyw4LDAsMTE0LDMxLDAsMTAwLDEsMCw4MywKLSAgICAxMjEsMTcsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDMsMCwxMzEsMSwwLDEsCi0gICAgODcsMTEwLDIyLDAsNCwxMTYsNCwwLDEwNywxMCwwLDExNCw3MiwwLDEsMSwKLSAgICAxLDEwMCwxLDAsODMsODksMTEwLDEsMCw4OCwxMjAsNjAsMCwxMTYsNSwwLAotICAgIDEzMSwwLDAsNjgsOTMsNDksMCw5MiwzLDAsMTI1LDQsMCwxMjUsNSwwLAotICAgIDEyNSw2LDAsMTI0LDMsMCwxMDYsNiwwLDExNiw3LDAsMTI0LDUsMCwxMzEsCi0gICAgMSwwLDEzMSwxLDAsMTE0LDgzLDAsMTI0LDQsMCwxMjQsMSwwLDEyNCwzLAotICAgIDAsMTMxLDIsMCw4MywxMTMsODMsMCw4NywxMDAsMSwwLDgzLDQwLDIsMCwKLSAgICAwLDAsMTE3LDM0LDAsMCwwLDcwLDEwNSwxMTAsMTAwLDMyLDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNDYsNzgsNDAsOCwwLDAsMCwxMTcsCi0gICAgMTYsMCwwLDAsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LDExNCwxMDEsMTAzLDEwNSwKLSAgICAxMTUsMTE2LDExNCwxMjEsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDMsMCwKLSAgICAwLDAsOTUsMTExLDExNSwxMTcsNCwwLDAsMCwxMTUsMTE2LDk3LDExNiwxMTcsNywKLSAgICAwLDAsMCw3OSw4Myw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDI3LDAsMCwwLDk1LAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDk1LDEwMiwxMDUsCi0gICAgMTA4LDEwMSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwxMTcsOCwwLDAsMCwxMDEsCi0gICAgMTEwLDEwMCwxMTUsMTE5LDEwNSwxMTYsMTA0LDExNyw1LDAsMCwwLDExNiwxMTcsMTEyLDEwOCwKLSAgICAxMDEsNDAsNywwLDAsMCwxMTcsMywwLDAsMCw5OSwxMDgsMTE1LDExNyw4LAotICAgIDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCwKLSAgICAxMTIsOTcsMTE2LDEwNCwxMTcsOCwwLDAsMCwxMDIsMTA1LDEwOCwxMDEsMTEyLDk3LDExNiwKLSAgICAxMDQsMTE3LDYsMCwwLDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTcsOCwwLDAsCi0gICAgMCwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsMTE1LDExNywxLDAsMCwwLDk1LDQwLAotICAgIDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLAotICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0NiwKLSAgICA5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDExLDAsMCwwLAotICAgIDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw4LDMsMCwwLDExNSwKLSAgICAyMCwwLDAsMCwwLDMsMTUsMSwxMiwxLDQsMSwzLDEsMTcsMSwKLSAgICAxMywxLDksMSwyNSwxLDIxLDEsMTE3LDMzLDAsMCwwLDg3LDEwNSwxMTAsCi0gICAgMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwKLSAgICAxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw3OCw3MCwKLSAgICA0MCwxMywwLDAsMCwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSwKLSAgICA5NSw5NSwxMTcsMTAsMCwwLDAsOTUsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsCi0gICAgOTUsMTE3LDEyLDAsMCwwLDk1LDk1LDExMywxMTcsOTcsMTA4LDExMCw5NywxMDksMTAxLAotICAgIDk1LDk1LDExNyw3LDAsMCwwLDk1LDk1LDEwMCwxMTEsOTksOTUsOTUsMTE3LDEyLAotICAgIDAsMCwwLDgyLDY5LDcxLDczLDgzLDg0LDgyLDg5LDk1LDc1LDY5LDg5LDExNywKLSAgICAxOCwwLDAsMCw4Miw2OSw3MSw3Myw4Myw4NCw4Miw4OSw5NSw3NSw2OSw4OSwKLSAgICA5NSw2OCw2OSw2Niw4NSw3MSwxMTcsNSwwLDAsMCw3MCw5NywxMDgsMTE1LDEwMSwKLSAgICAxMTcsMTEsMCwwLDAsNjgsNjksNjYsODUsNzEsOTUsNjYsODUsNzMsNzYsNjgsCi0gICAgMTE3LDExLDAsMCwwLDk5LDEwOCw5NywxMTUsMTE1LDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLAotICAgIDExNywxNCwwLDAsMCw5NSwxMTEsMTEyLDEwMSwxMTAsOTUsMTE0LDEwMSwxMDMsMTA1LDExNSwKLSAgICAxMTYsMTE0LDEyMSwxMTcsMTYsMCwwLDAsOTUsMTE1LDEwMSw5NywxMTQsOTksMTA0LDk1LAotICAgIDExNCwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwKLSAgICAxMDEsMTE3LDExLDAsMCwwLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSw0MCwxLDAsMCwwLDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LAotICAgIDk3LDEwOCwxMTUsOTUsOTUsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywKLSAgICAyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiwKLSAgICA2MiwxMTcsMjEsMCwwLDAsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywKLSAgICAxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMjI5LDIsMCwwLDExNSwKLSAgICAxNiwwLDAsMCwxNiwzLDYsMyw2LDMsNiwyLDYsMiwxOCw3LAotICAgIDE4LDE1LDMsMSwxMTcsMjEsMCwwLDAsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsCi0gICAgODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDEsMCwwLDAsNSwwLDAsMCw2NiwKLSAgICAwLDAsMCwxMTUsNzQsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLAotICAgIDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwKLSAgICAwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLAotICAgIDEzMiwwLDAsOTAsNSwwLDEwMSw2LDAsMTAwLDYsMCwxMDAsMTAsMCwxMDAsCi0gICAgNywwLDEwMCw4LDAsMTMyLDAsMSwxMzEsMSwwLDkwLDgsMCwxMDAsOSwKLSAgICAwLDgzLDQwLDExLDAsMCwwLDExNywxMywwLDAsMCw5NSw3NiwxMTEsOTcsCi0gICAgMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSw5OSwxMTUsMTE3LDgzLDAsMCwwLDY2LDk3LAotICAgIDExNSwxMDEsMzIsOTksMTA4LDk3LDExNSwxMTUsMzIsMTExLDEwMiwzMiw5OSwxMTEsMTA5LDEwOSwKLSAgICAxMTEsMTEwLDMyLDk5LDExMSwxMDAsMTAxLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LAotICAgIDEyMSwzMiw5OCwxMTEsMTE2LDEwNCwzMiw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsODMsMTExLDExNywxMTQsCi0gICAgOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCi0gICAgNDYsOTksMiwwLDAsMCwwLDAsMCwwLDUsMCwwLDAsMywwLAotICAgIDAsMCw2NywwLDAsMCwxMTUsODgsMCwwLDAsMTE2LDAsMCwxMjQsMCwKLSAgICAwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLDEzMSwxLDAsMTAwLDEsMCwKLSAgICAyNSwxMjUsMiwwLDEyNCwyLDAsMTA2LDIsMCwxMDAsMiwwLDEwMCwxLDAsCi0gICAgMTMxLDIsMCwxMDAsMywwLDI1LDEyNSwzLDAsMTI0LDEsMCwxMDYsMywwLAotICAgIDEwMCwyLDAsMTMxLDEsMCwxMDAsNCwwLDI1LDEyNSw0LDAsMTI0LDMsMCwKLSAgICAxMDAsNSwwLDEwNywyLDAsMTExLDg3LDAsMTI0LDQsMCwxMDAsNSwwLDEwNywKLSAgICAzLDAsODMsNDAsNiwwLDAsMCwxMTcsMTQxLDAsMCwwLDY3LDExMSwxMTAsCi0gICAgOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LAotICAgIDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDczLDExMCwxMTUsMTEyLDEwMSw5OSwxMTYsNzYsCi0gICAgMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLAotICAgIDMyLDk4LDEyMSwzMiw5OSwxMDQsMTAxLDk5LDEwNywxMDUsMTEwLDEwMywzMiwxMDUsMTAyLDEwLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LAotICAgIDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDEwMSwxMDAsMzIsOTgsMTIxLDMyLDEwMywxMDEsMTE2LAotICAgIDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiwxMDQsOTcsMTE1LDMyLDk3LDMyLAotICAgIDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiwxMTEsMTAyLDMyLDM5LDk1LDk1LDEwNSwKLSAgICAxMTAsMTA1LDExNiw5NSw5NSw0NiwxMTIsMTIxLDM5LDQ2LDEwNSwxLDAsMCwwLDExNywKLSAgICAxLDAsMCwwLDQ2LDEwNSwwLDAsMCwwLDEwNSwyLDAsMCwwLDExNywKLSAgICA4LDAsMCwwLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw0MCw0LDAsMCwKLSAgICAwLDExNywxMSwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTEyLDEwOCwxMDUsCi0gICAgMTE2LDExNywxMiwwLDAsMCwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE3LDYsMCwwLDAsMTE0LDExNSwxMTIsMTA4LDEwNSwxMTYsMTE3LDEwLDAsCi0gICAgMCwwLDExNCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLDQwLDUsMCwwLAotICAgIDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw4LDAsMCwwLDEwMiwKLSAgICAxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSwxMTcsOCwwLDAsMCwxMDIsMTA1LDEwOCwxMDEsCi0gICAgMTEwLDk3LDEwOSwxMDEsMTE3LDEzLDAsMCwwLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LAotICAgIDEwMSw5NSw5OCw5NywxMTUsMTAxLDExNyw5LDAsMCwwLDExNiw5NywxMDUsMTA4LDk1LAotICAgIDExMCw5NywxMDksMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksCi0gICAgMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwKLSAgICAxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsCi0gICAgMTE3LDEwLDAsMCwwLDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDI4LAotICAgIDMsMCwwLDExNSw4LDAsMCwwLDAsMywyNSwxLDIyLDEsMTksMSwKLSAgICAxMTcsMjQsMCwwLDAsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsCi0gICAgOTksMTE1LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LDUsMCwKLSAgICAwLDAsMCwwLDAsMCwxMiwwLDAsMCwyMiwwLDAsMCw2NywwLAotICAgIDAsMCwxMTUsMjA4LDEsMCwwLDEyNCwyLDAsMTAwLDEsMCwxMDAsMiwwLAotICAgIDEzMywyLDAsMjUsMTI1LDUsMCwxMjQsMiwwLDEwMCwyLDAsMTAwLDMsMCwKLSAgICAxMzMsMiwwLDI1LDEyNSw2LDAsMTI0LDIsMCwxMDAsMywwLDEwMCw0LDAsCi0gICAgMTMzLDIsMCwyNSwxMjUsNywwLDEyNCw1LDAsMTE2LDAsMCwxMDcsMywwLAotICAgIDExNCwxMTUsMCwxMDAsNSwwLDEwNiwxLDAsMTI0LDEsMCwxMjQsNSwwLDEzMSwKLSAgICAyLDAsMTI1LDgsMCwxMTYsMiwwLDEyNCw4LDAsMTMxLDEsMCwxLDExNiwKLSAgICAzLDAsMTI0LDgsMCwxMDAsNiwwLDEyNCwxLDAsMTAwLDcsMCwxMjQsMywKLSAgICAwLDEzMSwxLDIsMTMwLDEsMCwxMTAsMTE2LDAsMTE2LDQsMCwxMjQsNiwwLAotICAgIDEzMSwxLDAsMTAwLDIsMCwxMDcsMywwLDExNCwxNzMsMCwxMDAsOCwwLDEwNiwKLSAgICAxLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw5LDAsMTE2LDIsMCwxMjQsOSwKLSAgICAwLDEzMSwxLDAsMSwxMTYsNSwwLDEyNCw5LDAsMTMxLDEsMCwxMzAsMSwKLSAgICAwLDExMCw1OCwwLDExNiw0LDAsMTI0LDcsMCwxMzEsMSwwLDEwMCwyLDAsCi0gICAgMTA3LDMsMCwxMTQsMjMxLDAsMTAwLDksMCwxMDYsMSwwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMjUsOSwwLDExNiwyLDAsMTI0LDksMCwxMzEsMSwwLDEsMTE2LAotICAgIDUsMCwxMjQsOSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCw0LAotICAgIDAsMTAwLDEsMCwxMDcsOSwwLDExNCwxOTQsMSwxMjEsMjAsMCwxMTYsNywwLAotICAgIDEyNCw0LDAsMTAwLDEwLDAsMjUsMTMxLDEsMCwxMjUsMTAsMCw4NywxMTAsMTgsCi0gICAgMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDI3LDEsMSwxLDEsODksMTEwLAotICAgIDcxLDAsODgsMTE2LDksMCwxMjQsNiwwLDEzMSwxLDAsMTI0LDEwLDAsMTA3LAotICAgIDMsMCwxMTQsOTgsMSwxMDAsMTEsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsCi0gICAgMCwxMjUsOSwwLDExNiwyLDAsMTI0LDksMCwxMzEsMSwwLDEsMTE2LDMsCi0gICAgMCwxMjQsOSwwLDEwMCw2LDAsMTI0LDEsMCwxMDAsNywwLDEyNCwzLDAsCi0gICAgMTMxLDEsMiwxMzAsMSwwLDExMCwwLDAsMTIxLDE4LDAsMTI0LDQsMCwxMDAsCi0gICAgMTIsMCwyNSwxMDAsMTMsMCw2NCwxMjUsMTEsMCw4NywxMTAsMTgsMCw0LDExNiwKLSAgICA4LDAsMTA3LDEwLDAsMTE0LDEzNiwxLDEsMSwxLDg5LDExMywxOTQsMSw4OCwKLSAgICAxMTYsOSwwLDEyNCw3LDAsMTMxLDEsMCwxMjQsMTEsMCwxMDcsMywwLDExNCwKLSAgICAxOTQsMSwxMTYsMywwLDEwMCwxMSwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwKLSAgICAwLDEwMCw2LDAsMTI0LDEsMCwxMDAsNywwLDEyNCwzLDAsMTMxLDEsMiwKLSAgICAxMzAsMSwwLDExMywxOTQsMSwxMTAsMCwwLDEyNCwyLDAsMTAwLDQsMCwxMDAsCi0gICAgMSwwLDEzMywyLDAsMjUsODMsNDAsMTQsMCwwLDAsMTE3LDE5MywwLDAsCi0gICAgMCw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSw5NywxMTQsMTE1LAotICAgIDEwNCw5NywxMDgsMTA4LDEwMSwxMDAsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDEwMiwxMTQsMTExLAotICAgIDEwOSwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw0NCwzMiwxMTgsMTAxLDExNCwxMDUsCi0gICAgMTAyLDEyMSwxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwMSwzMiwxMDksOTcsMTAzLDEwNSw5OSwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTAsMTE3LDEwOSw5OCwxMDEsMTE0LDQ0LDMyLAotICAgIDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMzIsOTcsMTEwLDEwMCwzMiwxMTUsMTExLAotICAgIDExNywxMTQsOTksMTAxLDMyLDExNSwxMDUsMTIyLDEwMSwzMiw5NywxMDgsMTExLDExMCwxMDMsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsMTE5LDk3LDEyMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICAzMiwzMiw3MywxMDIsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSwxMTUsMTE2LDk3LDExNiwKLSAgICAxMTUsMzIsMTA1LDExNSwzMiw3OCwxMTEsMTEwLDEwMSwzMiwxMTYsMTA0LDEwMSwxMTAsMzIsMTE1LAotICAgIDEwNywxMDUsMTEyLDMyLDExNiwxMDQsMTAxLDMyLDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwKLSAgICAxMTIsMzIsOTksMTA0LDEwMSw5OSwxMDcsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsNzgsMTA1LDQsMCwwLDAsMTA1LDgsMCwwLDAsMTA1LDEyLDAsCi0gICAgMCwwLDExNywzMCwwLDAsMCw5OCw5NywxMDAsMzIsMTA5LDk3LDEwMywxMDUsOTksCi0gICAgMzIsMTEwLDExNywxMDksOTgsMTAxLDExNCwzMiwxMDUsMTEwLDMyLDEyMywzMywxMTQsMTI1LDU4LAotICAgIDMyLDEyMywzMywxMTQsMTI1LDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLDExNyw0LAotICAgIDAsMCwwLDExMiw5NywxMTYsMTA0LDExNywxOSwwLDAsMCw5OCw5NywxMDAsMzIsCi0gICAgMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiwzMiwxMDUsMTEwLDMyLDEyMywxMjUsMTE3LAotICAgIDE0LDAsMCwwLDk4LDk3LDEwMCwzMiwxMTUsMTA1LDEyMiwxMDEsMzIsMTA1LDExMCwzMiwKLSAgICAxMjMsMTI1LDExNyw1LDAsMCwwLDEwOSwxMTYsMTA1LDEwOSwxMDEsMTE3LDI0LDAsMCwKLSAgICAwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwNSwxMTUsMzIsMTE1LDExNiw5NywKLSAgICAxMDgsMTAxLDMyLDEwMiwxMTEsMTE0LDMyLDEyMywxMjUsMTE3LDQsMCwwLDAsMTE1LDEwNSwKLSAgICAxMjIsMTAxLDEwOCwzLDAsMCwwLDI1NSwxMjcsMjU1LDEyNywzLDAsNDAsMTAsMCwKLSAgICAwLDAsMTE3LDEyLDAsMCwwLDk1LDc3LDY1LDcxLDczLDY3LDk1LDY2LDg5LAotICAgIDg0LDY5LDgzLDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LDE2LAotICAgIDAsMCwwLDk1LDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTAxLDk1LDEwOSwxMDEsMTE1LDExNSwKLSAgICA5NywxMDMsMTAxLDExNywxMSwwLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwKLSAgICAxMTQsMTExLDExNCwxMTcsMywwLDAsMCwxMDgsMTAxLDExMCwxMTcsOCwwLDAsMCwKLSAgICA2OSw3OSw3MCw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwKLSAgICAxMDEsMTE3LDMsMCwwLDAsMTA1LDExMCwxMTYsMTE3LDgsMCwwLDAsNzUsMTAxLAotICAgIDEyMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDcsMCwwLDAsOTUsMTE0LDk1LDEwOCwxMTEsCi0gICAgMTEwLDEwMyw0MCwxMiwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsCi0gICAgMTE3LDgsMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNyw0LDAsCi0gICAgMCwwLDEwMCw5NywxMTYsOTcsMTE3LDEzLDAsMCwwLDk4LDEyMSwxMTYsMTAxLDk5LAotICAgIDExMSwxMDAsMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNywxMiwwLDAsMCwxMTUsMTExLDExNywKLSAgICAxMTQsOTksMTAxLDk1LDExNSwxMTYsOTcsMTE2LDExNSwxMTcsNSwwLDAsMCwxMDksOTcsCi0gICAgMTAzLDEwNSw5OSwxMTcsMTMsMCwwLDAsMTE0LDk3LDExOSw5NSwxMTYsMTA1LDEwOSwxMDEsCi0gICAgMTE1LDExNiw5NywxMDksMTEyLDExNyw4LDAsMCwwLDExNCw5NywxMTksOTUsMTE1LDEwNSwKLSAgICAxMjIsMTAxLDExNywzLDAsMCwwLDEwOSwxMTUsMTAzLDExNyw3LDAsMCwwLDEwOSwKLSAgICAxMDEsMTE1LDExNSw5NywxMDMsMTAxLDExNywxMiwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksCi0gICAgMTAxLDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsMTE3LDExLDAsMCwwLDExNSwxMTEsMTE3LDExNCwKLSAgICA5OSwxMDEsOTUsMTE1LDEwNSwxMjIsMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsCi0gICAgMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCwKLSAgICA5NywxMTIsNjIsMTE3LDIwLDAsMCwwLDk1LDk4LDEyMSwxMTYsMTAxLDExNSw5NSwxMDIsCi0gICAgMTE0LDExMSwxMDksOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzYsMywwLDAsCi0gICAgMTE1LDY4LDAsMCwwLDAsNywxNiwxLDE2LDEsMTYsMSwxMiwxLDE4LAotICAgIDEsMTAsMSwyNywxLDE4LDEsMTUsMSwxMCwxLDE1LDEsMTgsMSwxNSwKLSAgICAxLDEwLDEsMTUsMSwxMiwxLDMsMSwyMCwxLDEzLDEsNSwyLDE4LAotICAgIDEsMTUsMSwxMCwxLDE1LDEsMTIsMSwzLDEsMTgsMSwxMywxLDUsCi0gICAgMiwxOCwxLDMsMSwxNSwxLDIxLDMsMTE3LDM0LDAsMCwwLDk1LDc2LAotICAgIDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0Niw5NSw5OCwxMjEsMTE2LAotICAgIDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLAotICAgIDExNywxMCwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw5OSwKLSAgICAyLDAsMCwwLDEsMCwwLDAsNSwwLDAsMCwxMiwwLDAsMCwKLSAgICA2NywwLDAsMCwxMTUsMjI3LDAsMCwwLDEyNCwxLDAsMTA2LDAsMCwxMjUsCi0gICAgMywwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMywwLDEzMSwxLDAsMTI1LDQsCi0gICAgMCwxMjQsMCwwLDEwNiwyLDAsMTI0LDMsMCwxMzEsMSwwLDEyNCwxLDAsCi0gICAgOTUsMywwLDEyNCwyLDAsMTE1LDEwNiwwLDEyMSwyMiwwLDExNiw0LDAsMTI0LAotICAgIDEsMCwxMDYsMywwLDEzMSwxLDAsMTI0LDEsMCw5NSw1LDAsODcsMTEzLAotICAgIDExOCwwLDQsMTE2LDYsMCwxMDcsMTAsMCwxMTQsMTAyLDAsMSwxLDEsMTI0LAotICAgIDEsMCwxMDYsMywwLDEyNCwxLDAsOTUsNSwwLDg5LDExMywxMTgsMCw4OCwKLSAgICAxMTAsMTIsMCwxMjQsMSwwLDEwNiwzLDAsMTI0LDEsMCw5NSw1LDAsMTI0LAotICAgIDMsMCwxMjQsMSwwLDk1LDcsMCwxMjQsMCwwLDEwNiw4LDAsMTI0LDMsCi0gICAgMCwxMzEsMSwwLDExNCwxNzAsMCwxMTYsOSwwLDEyNCwxLDAsMTA2LDMsMCwKLSAgICAxMzEsMSwwLDEwMCwxLDAsMjUsMTAzLDEsMCwxMjQsMSwwLDk1LDEwLDAsCi0gICAgMTEwLDI1LDAsMTI0LDEsMCwxMDYsNywwLDEwNiwxMSwwLDEwMCwyLDAsMTMxLAotICAgIDEsMCwxMDAsMSwwLDI1LDEyNCwxLDAsOTUsNywwLDEyNCwwLDAsMTI0LAotICAgIDEsMCw5NSwxMiwwLDExNiwxMywwLDExNiwxNCwwLDEyNCw0LDAsMTI0LDEsCi0gICAgMCwxMDYsMTUsMCwxMzEsMywwLDEsMTI0LDEsMCw4Myw0MCwzLDAsMCwKLSAgICAwLDExNyw4MiwwLDAsMCw3MiwxMDEsMTA4LDExMiwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LAotICAgIDMyLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDk3LDk4LDEwOCwKLSAgICAxMDEsMzIsMTE2LDExMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDMyLDEwMSwxMDUsMTE2LDEwNCwKLSAgICAxMDEsMTE0LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTExLDExNCwzMiwxMTUsMTExLDExNywKLSAgICAxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDUsMTEwLDEwMyw0NiwxMDUsMCwwLDAsMCwxMTcsMSwwLAotICAgIDAsMCw0Niw0MCwxNiwwLDAsMCwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsCi0gICAgOTcsMTA5LDEwMSw5NSw5NSwxMTcsOCwwLDAsMCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsCi0gICAgMTAwLDEwMSwxMTcsMTIsMCwwLDAsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCwKLSAgICA5NywxMDksMTAxLDExNyw4LDAsMCwwLDk1LDk1LDEwMiwxMDUsMTA4LDEwMSw5NSw5NSwKLSAgICAxMTcsMTcsMCwwLDAsOTksOTcsOTksMTA0LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksOTUsCi0gICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwxMTcsMTAsMCwwLDAsOTUsOTUsOTksOTcsOTksCi0gICAgMTA0LDEwMSwxMDAsOTUsOTUsMTE3LDE5LDAsMCwwLDc4LDExMSwxMTYsNzMsMTA5LDExMiwKLSAgICAxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDY5LDExNCwxMTQsMTExLDExNCwxMTcsMTEsMCwKLSAgICAwLDAsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDExNywxMCwwLAotICAgIDAsMCwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTcsMTEsMCwwLAotICAgIDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExMiwxMDgsMTA1LDExNiwxMTcsOCwwLDAsCi0gICAgMCw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwxMTcsMTAsMCwwLDAsMTE0LDExMiwKLSAgICA5NywxMTQsMTE2LDEwNSwxMTYsMTA1LDExMSwxMTAsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOCwKLSAgICAxMTEsOTcsMTAwLDEwMSwxMTQsOTUsOTUsMTE3LDI1LDAsMCwwLDk1LDk5LDk3LDEwOCwKLSAgICAxMDgsOTUsMTE5LDEwNSwxMTYsMTA0LDk1LDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsOTUsMTE0LDEwMSwKLSAgICAxMDksMTExLDExOCwxMDEsMTAwLDExNyw0LDAsMCwwLDEwMSwxMjAsMTAxLDk5LDExNyw4LAotICAgIDAsMCwwLDk1LDk1LDEwMCwxMDUsOTksMTE2LDk1LDk1LDQwLDUsMCwwLDAsCi0gICAgMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw2LDAsMCwwLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDExNywxMCwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwOCwKLSAgICAxMDEsMTE1LDExNSwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsMTEsMCwwLAotICAgIDAsOTksMTExLDEwMCwxMDEsOTUsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQwLDAsMCwwLAotICAgIDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLAotICAgIDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsCi0gICAgMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDEyLDAsMCwwLDk1LDEwOCwxMTEsCi0gICAgOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDgyLDMsMCwwLDExNSwzMiwwLAotICAgIDAsMCwwLDQsOSwxLDE1LDEsMTgsMSw2LDEsMywxLDIyLDEsCi0gICAgMTMsMSwyMCwyLDEyLDEsOSwxLDE1LDEsMjgsMiwyNSwxLDksMSwKLSAgICAxOSwxLDExNywyNiwwLDAsMCw5NSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNjYsOTcsCi0gICAgMTE1LDEwNSw5OSwxMTUsNDYsOTUsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsNzgsNzAsNDAsOSwwLDAsMCwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsCi0gICAgOTcsMTA5LDEwMSw5NSw5NSwxMTcsMTAsMCwwLDAsOTUsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsOTUsMTE3LDEyLDAsMCwwLDk1LDk1LDExMywxMTcsOTcsMTA4LDExMCwKLSAgICA5NywxMDksMTAxLDk1LDk1LDExNyw3LDAsMCwwLDk1LDk1LDEwMCwxMTEsOTksOTUsCi0gICAgOTUsMTE3LDEwLDAsMCwwLDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLAotICAgIDExNywyMCwwLDAsMCw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTAyLDExNCwxMTEsMTA5LAotICAgIDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDExNywxNywwLDAsMCwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSw5NSwxMDIsMTExLDExNCw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNywKLSAgICA1LDAsMCwwLDcwLDk3LDEwOCwxMTUsMTAxLDExNywxMiwwLDAsMCw5NSwxMDgsCi0gICAgMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCwxLDAsMCwwLDExNywKLSAgICAxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LDEwOCwxMTUsOTUsOTUsNDAsMCwKLSAgICAwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTMsMCwwLDAsOTUsCi0gICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksMTE1LDIzLDMsMCwwLAotICAgIDExNSwxMCwwLDAsMCwxNiwzLDYsMiwxMiw4LDEyLDQ2LDYsMSwxMTcsCi0gICAgMTMsMCwwLDAsOTUsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDY2LDk3LDExNSwxMDUsOTksCi0gICAgMTE1LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKLSAgICAwLDAsNjYsMCwwLDAsMTE1LDEwNCwwLDAsMCwxMjQsMCwwLDY5LDEwMSwKLSAgICAwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsMTAwLDIsCi0gICAgMCwxMzIsMCwwLDkwLDMsMCwxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCwKLSAgICA5MCw0LDAsMTAwLDUsMCwxMDAsNiwwLDEzMiwwLDAsOTAsNSwwLDEwMCwKLSAgICA3LDAsMTAwLDgsMCwxMzIsMCwwLDkwLDYsMCwxMDAsOSwwLDEwMCwxMCwKLSAgICAwLDEzMiwwLDAsOTAsNywwLDEwMCwxMSwwLDEwMCwxMiwwLDEzMiwwLDAsCi0gICAgOTAsOCwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDAsOTAsOSwwLDEwMCwKLSAgICAxNSwwLDgzLDQwLDE2LDAsMCwwLDExNywxMiwwLDAsMCw4MywxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDEwLAotICAgIDAsMCwwLDExNiwwLDAsMTMwLDEsMCwxMDAsMSwwLDgzLDQwLDIsMCwKLSAgICAwLDAsMTE3LDEyMSwwLDAsMCw3OSwxMTIsMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwKLSAgICAxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTYsMTA0LDk3LDExNiwzMiwxMTQsMTAxLDExNiwxMTcsCi0gICAgMTE0LDExMCwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTA1LDEwMiwxMDUsOTksOTcsCi0gICAgMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMDUsMTA5LDEwMSwzMiw0MCw5NywxMTAsMzIsMTA1LDExMCwKLSAgICAxMTYsNDEsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMTIsOTcsMTE2LAotICAgIDEwNCw0NCwzMiwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwNSwxMTUsCi0gICAgMzIsOTcsMzIsMTE1LDExNiwxMTQsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgNzgsNDAsMSwwLDAsMCwxMTcsMTksMCwwLDAsNzgsMTExLDExNiw3MywxMDksCi0gICAgMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDQwLDIsCi0gICAgMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw0LDAsMCwKLSAgICAwLDExMiw5NywxMTYsMTA0LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsCi0gICAgMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsCi0gICAgNjIsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsCi0gICAgMTA4LDMsMCwwLDExNSwyLDAsMCwwLDAsNCwxMTcsMjMsMCwwLDAsCi0gICAgODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LAotICAgIDEwNCw5NSwxMDksMTE2LDEwNSwxMDksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICAyLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDIwLDAsMCwKLSAgICAwLDEwNSwxLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwKLSAgICAxMDAsMSwwLDU0LDgzLDQwLDIsMCwwLDAsMTE3LDExNCwxLDAsMCw3OSwKLSAgICAxMTIsMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTQsCi0gICAgMTAxLDExNiwxMTcsMTE0LDExMCwxMDUsMTEwLDEwMywzMiw5NywzMiwxMDksMTAxLDExNiw5NywxMDAsCi0gICAgOTcsMTE2LDk3LDMyLDEwMCwxMDUsOTksMTE2LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTEyLDk3LDExNiwxMDQsMTAsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiw5OCwxMjEsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsNDAsMTE1LDExNiwxMTQsNDEsNDYsMTAsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsODAsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTA3LAotICAgIDEwMSwxMjEsMTE1LDU4LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQ1LDMyLDM5LAotICAgIDEwOSwxMTYsMTA1LDEwOSwxMDEsMzksMzIsNDAsMTA5LDk3LDExMCwxMDAsOTcsMTE2LDExMSwxMTQsCi0gICAgMTIxLDQxLDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLDExNywxMDksMTAxLDExNCwxMDUsCi0gICAgOTksMzIsMTE2LDEwNSwxMDksMTAxLDExNSwxMTYsOTcsMTA5LDExMiwzMiwxMTEsMTAyLDMyLDEwOCwKLSAgICA5NywxMTUsMTE2LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsOTksMTExLDEwMCwxMDEsMzIsMTA5LDExMSwxMDAsMTA1LDEwMiwxMDUsCi0gICAgOTksOTcsMTE2LDEwNSwxMTEsMTEwLDU5LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDQ1LDMyLDM5LDExNSwxMDUsMTIyLDEwMSwzOSwzMiw0MCwxMTEsMTEyLDExNiwxMDUsMTExLDExMCwKLSAgICA5NywxMDgsNDEsMzIsMTA1LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTUsMTA1LDEyMiwxMDEsMzIsCi0gICAgMTA1LDExMCwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsMzIsMTExLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTA1LAotICAgIDExMCwxMDMsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDk3LAotICAgIDEwOCwxMDgsMTExLDExOSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICAzMiwxMTYsMTExLDMyLDExNCwxMDEsOTcsMTAwLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsCi0gICAgMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTUsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCi0gICAgMzIsMTE3LDUsMCwwLDAsMTA5LDExNiwxMDUsMTA5LDEwMSw0MCwxLDAsMCwwLAotICAgIDExNywxMCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDksMTE2LDEwNSwxMDksMTAxLDQwLAotICAgIDIsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw0LDAsCi0gICAgMCwwLDExMiw5NywxMTYsMTA0LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwKLSAgICAxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywKLSAgICAxMTIsNjIsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LAotICAgIDExNSwxMTQsMywwLDAsMTE1LDIsMCwwLDAsMCwxMCwxMTcsMjMsMCwwLAotICAgIDAsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsOTksNCwwLDAsMCwwLDAsMCwKLSAgICAwLDQsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwKLSAgICAwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMiwKLSAgICAwLDgzLDQwLDEsMCwwLDAsMTE3LDIyOCwwLDAsMCw3OSwxMTIsMTE2LDEwNSwKLSAgICAxMTEsMTEwLDk3LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTksMTA0LDEwNSw5OSwKLSAgICAxMDQsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwxMTUsMzIsMTAwLDk3LDExNiw5NywzMiw0MCw5OCwKLSAgICAxMjEsMTE2LDEwMSwxMTUsNDEsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsMzIsCi0gICAgMTEyLDk3LDExNiwxMDQsMzIsNDAsOTcsMzIsMTE1LDExNiwxMTQsNDEsNDYsMTAsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwKLSAgICAxMDUsMTEwLDEwMywzMiwxMTYsMTA0LDEwNSwxMTUsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsCi0gICAgOTcsMTA4LDEwOCwxMTEsMTE5LDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwxMTksCi0gICAgMTE0LDEwNSwxMTYsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMTIsOTcsCi0gICAgMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsCi0gICAgMTExLDExNCwxMDAsMTAxLDExNCwzMiwxMTYsMTExLDMyLDk5LDExMSwxMTQsMTE0LDEwMSw5OSwxMTYsCi0gICAgMTA4LDEyMSwzMiwxMTYsMTE0LDk3LDExMCwxMTUsMTAyLDEwMSwxMTQsMzIsMTEyLDEwMSwxMTQsMTA5LAotICAgIDEwNSwxMTUsMTE1LDEwNSwxMTEsMTEwLDExNSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKLSAgICA0MCwxLDAsMCwwLDExNyw4LDAsMCwwLDExNSwxMDEsMTE2LDk1LDEwMCw5NywKLSAgICAxMTYsOTcsNDAsNCwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsCi0gICAgMTE3LDExLDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsCi0gICAgMTE3LDEwLDAsMCwwLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE3LAotICAgIDQsMCwwLDAsMTAwLDk3LDExNiw5Nyw0MCwwLDAsMCwwLDQwLDAsMCwKLSAgICAwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwKLSAgICAxMTQsOTcsMTEyLDYyLDExNywxNSwwLDAsMCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDk1LAotICAgIDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDEyNiwzLDAsMCwxMTUsMiwwLDAsCi0gICAgMCwwLDgsMTE3LDI4LDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSwKLSAgICA5OSwxMTEsMTAwLDEwMSw5OSwzLDAsMCwwLDAsMCwwLDAsMywwLDAsCi0gICAgMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwxMCwwLDAsMCwxMTYsMCwKLSAgICAwLDEzMCwxLDAsMTAwLDEsMCw4Myw0MCwyLDAsMCwwLDExNywxNTEsMCwKLSAgICAwLDAsNzksMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwKLSAgICAxMDAsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExOSwxMTQsMTA1LDExNiwxMDEsMTE1LDMyLDEwMCwKLSAgICA5NywxMTYsOTcsMzIsNDAsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDMyLDExNiwxMTEsMzIsOTcsCi0gICAgMzIsMTAyLDEwNSwxMDgsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDk3LDMyLDExNSwxMTYsCi0gICAgMTE0LDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwOSwxMTIsCi0gICAgMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwKLSAgICAxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDk3LDEwOCwxMDgsMTExLDExOSwxMTUsMzIsMTAyLDExMSwxMTQsCi0gICAgMzIsMTE2LDEwNCwxMDEsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMDIsMzIsCi0gICAgOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDExNSw0NiwxMCwKLSAgICAxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCw0MCwxLDAsMCwwLDExNywKLSAgICAxOSwwLDAsMCw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsCi0gICAgMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsNDAsMywwLDAsMCwxMTcsNCwwLDAsCi0gICAgMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsMTE3LDQsCi0gICAgMCwwLDAsMTAwLDk3LDExNiw5Nyw0MCwwLDAsMCwwLDQwLDAsMCwwLAotICAgIDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsCi0gICAgOTcsMTEyLDYyLDExNyw4LDAsMCwwLDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsCi0gICAgMTM2LDMsMCwwLDExNSwyLDAsMCwwLDAsNiwxMTcsMjEsMCwwLDAsCi0gICAgODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTAxLDExNiwKLSAgICA5NSwxMDAsOTcsMTE2LDk3LDk5LDIsMCwwLDAsMCwwLDAsMCw5LDAsCi0gICAgMCwwLDQ0LDAsMCwwLDY3LDAsMCwwLDExNSw2MiwxLDAsMCwxMDAsCi0gICAgMSwwLDEwMCwyLDAsMTA4LDAsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LDEsCi0gICAgMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDMsMCwxMjEsMTksMCwxMjQsMCwwLAotICAgIDEwNiwyLDAsMTI0LDMsMCwxMzEsMSwwLDEyNSw0LDAsODcsMTEwLDU4LDAsCi0gICAgNCwxMTYsMywwLDEwNywxMCwwLDExNCwxMDYsMCwxLDEyNSw1LDAsMSwxMjIsCi0gICAgMjYsMCwxMTYsNCwwLDEwMCwzLDAsMTAwLDQsMCwxMjQsMSwwLDEzMSwxLAotICAgIDEsMTI0LDUsMCwxMzAsMiwwLDg3LDg5LDEwMCwyLDAsMTAwLDIsMCwxMjUsCi0gICAgNSwwLDEyNiw1LDAsODgsMTEwLDEsMCw4OCwxMTYsNSwwLDEwNiw2LDAsCi0gICAgMTI0LDQsMCwxMzEsMSwwLDEwNiw3LDAsMTI1LDYsMCwxMjEsMTksMCwxMjQsCi0gICAgMiwwLDEwNiw4LDAsMTI0LDYsMCwxMzEsMSwwLDEyNSw3LDAsODcsMTEwLAotICAgIDU4LDAsNCwxMTYsOSwwLDEwNywxMCwwLDExNCwyMDQsMCwxLDEyNSw1LDAsCi0gICAgMSwxMjIsMjYsMCwxMTYsNCwwLDEwMCw1LDAsMTAwLDQsMCwxMjQsMSwwLAotICAgIDEzMSwxLDEsMTI0LDUsMCwxMzAsMiwwLDg3LDg5LDEwMCwyLDAsMTAwLDIsCi0gICAgMCwxMjUsNSwwLDEyNiw1LDAsODgsMTEwLDEsMCw4OCwxMTYsNSwwLDEwNiwKLSAgICAxMCwwLDEwMCwyLDAsMTAwLDcsMCwxMzEsMiwwLDEyNSw4LDAsMTIxLDMwLAotICAgIDAsMTI0LDgsMCwxMDYsMTMsMCwxMjQsNCwwLDEwNiwxMywwLDEyNCw3LDAsCi0gICAgMTAwLDEsMCwyNSwxMzEsMSwwLDEzMSwxLDAsODMsODcsMTEwLDU4LDAsNCwKLSAgICAxMTYsMTQsMCwxMDcsMTAsMCwxMTQsNTcsMSwxLDEyNSw1LDAsMSwxMjIsMjYsCi0gICAgMCwxMTYsNCwwLDEwMCw2LDAsMTAwLDQsMCwxMjQsMSwwLDEzMSwxLDEsCi0gICAgMTI0LDUsMCwxMzAsMiwwLDg3LDg5LDEwMCwyLDAsMTAwLDIsMCwxMjUsNSwKLSAgICAwLDEyNiw1LDAsODgsMTEwLDEsMCw4OCwxMDAsMiwwLDgzLDQwLDgsMCwKLSAgICAwLDAsMTE3LDUyLDAsMCwwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLAotICAgIDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsCi0gICAgMTAyLDMyLDczLDExMCwxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDYsMTA1LDAsMCwwLDAsCi0gICAgNzgsMTE3LDM5LDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsMTEwLDExMSwxMTYsCi0gICAgMzIsOTcsMTE4LDk3LDEwNSwxMDgsOTcsOTgsMTA4LDEwMSwzMiwxMTYsMTA0LDExNCwxMTEsMTE3LAotICAgIDEwMywxMDQsMzIsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5Nyw0MCw0MSwxMTcsNCwwLAotICAgIDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsMjUsMCwwLDAsNzAsOTcsMTA1LDEwOCwxMDEsCi0gICAgMTAwLDMyLDExNiwxMTEsMzIsMTAwLDEwMSwxMTYsMTAxLDk5LDExNiwzMiwxMDEsMTEwLDk5LDExMSwKLSAgICAxMDAsMTA1LDExMCwxMDMsMTE3LDI4LDAsMCwwLDcwLDk3LDEwNSwxMDgsMTAxLDEwMCwzMiwKLSAgICAxMTYsMTExLDMyLDEwMCwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwKLSAgICAzMiwxMDIsMTA1LDEwOCwxMDEsODQsNDAsMTUsMCwwLDAsMTE3LDgsMCwwLDAsCi0gICAgMTE2LDExMSwxMDcsMTAxLDExMCwxMDUsMTIyLDEwMSwxMTcsMTIsMCwwLDAsMTAzLDEwMSwxMTYsCi0gICAgOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNyw4LDAsMCwwLDEwMywxMDEsCi0gICAgMTE2LDk1LDEwMCw5NywxMTYsOTcsMTE3LDcsMCwwLDAsNzMsNzksNjksMTE0LDExNCwKLSAgICAxMTEsMTE0LDExNywxMSwwLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsCi0gICAgMTExLDExNCwxMTcsMywwLDAsMCw5NSwxMDUsMTExLDExNyw3LDAsMCwwLDY2LAotICAgIDEyMSwxMTYsMTAxLDExNSw3Myw3OSwxMTcsOCwwLDAsMCwxMTQsMTAxLDk3LDEwMCwxMDgsCi0gICAgMTA1LDExMCwxMDEsMTE3LDE1LDAsMCwwLDEwMCwxMDEsMTE2LDEwMSw5OSwxMTYsOTUsMTAxLAotICAgIDExMCw5OSwxMTEsMTAwLDEwNSwxMTAsMTAzLDExNywxMSwwLDAsMCw4MywxMjEsMTEwLDExNiwKLSAgICA5NywxMjAsNjksMTE0LDExNCwxMTEsMTE0LDExNywyNSwwLDAsMCw3MywxMTAsOTksMTE0LAotICAgIDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTA4LDc4LDEwMSwxMTksMTA4LDEwNSwxMTAsMTAxLDY4LDEwMSwKLSAgICA5OSwxMTEsMTAwLDEwMSwxMTQsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDQsCi0gICAgMCwwLDAsODQsMTE0LDExNywxMDEsMTE3LDYsMCwwLDAsMTAwLDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwxMTcsMTgsMCwwLDAsODUsMTEwLDEwNSw5OSwxMTEsMTAwLDEwMSw2OCwxMDEsCi0gICAgOTksMTExLDEwMCwxMDEsNjksMTE0LDExNCwxMTEsMTE0LDQwLDksMCwwLDAsMTE3LDQsCi0gICAgMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw4LDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwKLSAgICAxMTAsOTcsMTA5LDEwMSwxMTcsOCwwLDAsMCwxMTYsMTExLDEwNywxMDEsMTEwLDEwNSwxMjIsCi0gICAgMTAxLDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNywxMiwwLDAsMCwxMTUsCi0gICAgMTExLDExNywxMTQsOTksMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDExNSwxMTcsMywwLDAsMCwKLSAgICAxMDEsMTIwLDk5LDExNywxMCwwLDAsMCwxMTQsMTAxLDk3LDEwMCwxMTUsMTExLDExNywxMTQsCi0gICAgOTksMTAxLDExNyw4LDAsMCwwLDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLDEwMywxMTcsCi0gICAgMTUsMCwwLDAsMTEwLDEwMSwxMTksMTA4LDEwNSwxMTAsMTAxLDk1LDEwMCwxMDEsOTksMTExLAotICAgIDEwMCwxMDEsMTE0LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwKLSAgICAwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LAotICAgIDEwLDAsMCwwLDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTQ1LDMsCi0gICAgMCwwLDExNSwzOCwwLDAsMCwwLDIsMTIsMSwxNSwxLDMsMSwxOSwKLSAgICAxLDE4LDEsOSwxLDMxLDEsMTgsMSwzLDEsMTksMSwxOCwxLDksCi0gICAgMSwzMSwxLDE4LDEsMywxLDMwLDEsMTgsMSw5LDEsMTE3LDIzLDAsCi0gICAgMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLAotICAgIDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMTIsMCwwLDAsNDUsMCwwLDAsNjcsMCwwLDAsMTE1LDUyLAotICAgIDIsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LAotICAgIDIsMCwxMDAsMTAsMCwxMjUsMywwLDEyMSwxNiwwLDExNiwyLDAsMTI0LDIsCi0gICAgMCwxMzEsMSwwLDEyNSw0LDAsODcsMTEwLDI0LDAsNCwxMTYsMywwLDEwNywKLSAgICAxMCwwLDExNCw2MywwLDEsMSwxLDEwMCwxMCwwLDEyNSw0LDAsODksMTEwLAotICAgIDE0LDEsODgsMTIxLDE5LDAsMTI0LDAsMCwxMDYsNCwwLDEyNCwyLDAsMTMxLAotICAgIDEsMCwxMjUsNSwwLDg3LDExMCwxOCwwLDQsMTE2LDMsMCwxMDcsMTAsMCwKLSAgICAxMTQsMTAzLDAsMSwxLDEsODksMTEwLDIzMCwwLDg4LDExNiw1LDAsMTI0LDUsCi0gICAgMCwxMDAsMSwwLDI1LDEzMSwxLDAsMTI1LDMsMCwxMjEsMTksMCwxMjQsMCwKLSAgICAwLDEwNiw2LDAsMTI0LDQsMCwxMzEsMSwwLDEyNSw2LDAsODcsMTEwLDE4LAotICAgIDAsNCwxMTYsNywwLDEwNywxMCwwLDExNCwxNTksMCwxLDEsMSw4OSwxMTAsCi0gICAgMTc0LDAsODgsMTIxLDI4LDAsMTI0LDAsMCwxMDYsOCwwLDEyNCwxLDAsMTI0LAotICAgIDYsMCwxMjQsNCwwLDEyNCw1LDAsMTMxLDQsMCwxMjUsNywwLDg3LDExMCwKLSAgICAyNCwwLDQsMTE2LDksMCwxMTYsMTAsMCwxMDIsMiwwLDEwNywxMCwwLDExNCwKLSAgICAyMTQsMCwxLDEsMSw4OSwxMTAsMTE5LDAsODgsMTE2LDExLDAsMTAwLDIsMCwKLSAgICAxMjQsNCwwLDEyNCwyLDAsMTMxLDMsMCwxLDExNiwxMiwwLDEwNiwxMywwLAotICAgIDEyNCw3LDAsMTMxLDEsMCwxMjUsOCwwLDExNiwxNCwwLDEyNCw4LDAsMTE2LAotICAgIDE1LDAsMTMxLDIsMCwxMTQsMzgsMSwxMTYsMTYsMCwxMDYsMTcsMCwxMjQsOCwKLSAgICAwLDEyNCwyLDAsMTMxLDIsMCwxLDExNiwxMSwwLDEwMCwzLDAsMTI0LDQsCi0gICAgMCwxMzEsMiwwLDEsMTI0LDgsMCw4MywxMDAsNCwwLDEyNSw5LDAsMTE2LAotICAgIDksMCwxMjQsOSwwLDEwNiwxOCwwLDEyNCw0LDAsMTMxLDEsMCwxMDAsNSwKLSAgICAwLDEyNCwxLDAsMTAwLDYsMCwxMjQsNCwwLDEzMSwxLDIsMTMwLDEsMCwKLSAgICAxMjQsMCwwLDEwNiw2LDAsMTI0LDIsMCwxMzEsMSwwLDEyNSwxMCwwLDExNiwKLSAgICAxOSwwLDExNiwyMCwwLDEyNCwxMCwwLDEyNCwyLDAsMTAwLDcsMCwxMDAsOCwKLSAgICAwLDEwMCwxMSwwLDEzMSw0LDEsMTI1LDExLDAsMTE2LDExLDAsMTAwLDMsMCwKLSAgICAxMjQsMiwwLDEzMSwyLDAsMSwxMTYsMjIsMCwxMDYsMjMsMCwxMiwxMTQsNDgsCi0gICAgMiwxMjQsNCwwLDEwMCwxMCwwLDEwNyw5LDAsMTE0LDQ4LDIsMTI0LDMsMCwKLSAgICAxMDAsMTAsMCwxMDcsOSwwLDExNCw0OCwyLDExNiwyNCwwLDExNiwyNSwwLDEzMSwKLSAgICAxLDAsMTI1LDYsMCwxMjQsNiwwLDEwNiwyNiwwLDExNiwyNywwLDEyNCwzLAotICAgIDAsMTMxLDEsMCwxMzEsMSwwLDEsMTI0LDYsMCwxMDYsMjYsMCwxMTYsMjcsCi0gICAgMCwxMTYsMjgsMCwxMjQsMTAsMCwxMzEsMSwwLDEzMSwxLDAsMTMxLDEsMCwKLSAgICAxLDEyNCw2LDAsMTA2LDI2LDAsMTE2LDEyLDAsMTA2LDI5LDAsMTI0LDExLDAsCi0gICAgMTMxLDEsMCwxMzEsMSwwLDEsMTIxLDM2LDAsMTI0LDAsMCwxMDYsMzAsMCwKLSAgICAxMjQsMiwwLDEyNCw0LDAsMTI0LDYsMCwxMzEsMywwLDEsMTE2LDExLDAsCi0gICAgMTAwLDksMCwxMjQsNCwwLDEzMSwyLDAsMSw4NywxMTMsNDgsMiw0LDExNiwKLSAgICAzLDAsMTA3LDEwLDAsMTE0LDQ0LDIsMSwxLDEsODksMTEzLDQ4LDIsODgsCi0gICAgMTEwLDAsMCwxMjQsMTEsMCw4Myw0MCwxMiwwLDAsMCwxMTcsMTkwLDAsMCwKLSAgICAwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LAotICAgIDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDczLDExMCwxMTUsMTEyLAotICAgIDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDk5LDExMSwKLSAgICAxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDgyLDEwMSw5NywKLSAgICAxMDAsMTA1LDExMCwxMDMsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwKLSAgICAzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMTE1LDMyLDExMiw5NywxMTYsMTA0LDk1LDExNSwKLSAgICAxMTYsOTcsMTE2LDExNSwzMiwxMTYsMTExLDMyLDk4LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLAotICAgIDEwOSwxMDEsMTEwLDExNiwxMDEsMTAwLDQ2LDMyLDg0LDExMSwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsCi0gICAgMTAxLDQ0LDMyLDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsMzIsMTA5LDExNywxMTUsMTE2LAotICAgIDMyLDk3LDEwOCwxMTUsMTExLDMyLDk4LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsCi0gICAgMTEwLDExNiwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNywKLSAgICA1LDAsMCwwLDEwOSwxMTYsMTA1LDEwOSwxMDEsMTE3LDEzLDAsMCwwLDEyMywxMjUsCi0gICAgMzIsMTA5LDk3LDExNiw5OSwxMDQsMTAxLDExNSwzMiwxMjMsMTI1LDExNywxOSwwLDAsMCwKLSAgICA5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LAotICAgIDMyLDEyMywxMjUsMTE3LDIxLDAsMCwwLDc4LDExMSwxMTAsNDUsOTksMTExLDEwMCwxMDEsCi0gICAgMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLDEwNSwxMTAsMzIsMTIzLDEyNSwxMTcsNCwwLAotICAgIDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwxMTcsCi0gICAgNCwwLDAsMCwxMDEsMTIwLDEwMSw5OSwxMTcsMTIsMCwwLDAsMTAwLDExMSwxMTAsCi0gICAgMTE2LDk1LDEwNSwxMTAsMTA0LDEwMSwxMTQsMTA1LDExNiwxMTcsMTAsMCwwLDAsMTE5LDExNCwKLSAgICAxMTEsMTE2LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSw3OCw4NCw0MCwzMSwwLDAsMCwxMTcsCi0gICAgMTIsMCwwLDAsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLAotICAgIDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNywxNywwLDAsMCw5OSw5NywKLSAgICA5OSwxMDQsMTAxLDk1LDEwMiwxMTQsMTExLDEwOSw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDExNywKLSAgICAxOSwwLDAsMCw3OCwxMTEsMTE2LDczLDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsCi0gICAgMTAxLDEwMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LAotICAgIDk1LDExNSwxMTYsOTcsMTE2LDExNSwxMTcsMywwLDAsMCwxMDUsMTEwLDExNiwxMTcsOCwKLSAgICAwLDAsMCwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDExNyw3LDAsMCwwLAotICAgIDczLDc5LDY5LDExNCwxMTQsMTExLDExNCwxMTcsMjAsMCwwLDAsOTUsOTgsMTIxLDExNiwKLSAgICAxMDEsMTE1LDk1LDEwMiwxMTQsMTExLDEwOSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwKLSAgICAxMTcsMTEsMCwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwxMTQsMTE0LDExMSwxMTQsCi0gICAgMTE3LDgsMCwwLDAsNjksNzksNzAsNjksMTE0LDExNCwxMTEsMTE0LDExNywxNiwwLAotICAgIDAsMCw5NSwxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsCi0gICAgMTAzLDEwMSwxMTcsNywwLDAsMCwxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDExNyw1LAotICAgIDAsMCwwLDEwOCwxMTEsOTcsMTAwLDExNSwxMTcsMTAsMCwwLDAsMTA1LDExNSwxMDUsCi0gICAgMTEwLDExNSwxMTYsOTcsMTEwLDk5LDEwMSwxMTcsMTAsMCwwLDAsOTUsOTksMTExLDEwMCwKLSAgICAxMDEsOTUsMTE2LDEyMSwxMTIsMTAxLDExNyw0LDAsMCwwLDk1LDEwNSwxMDksMTEyLDExNywKLSAgICAxNiwwLDAsMCw5NSwxMDIsMTA1LDEyMCw5NSw5OSwxMTEsOTUsMTAyLDEwNSwxMDgsMTAxLAotICAgIDExMCw5NywxMDksMTAxLDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LAotICAgIDI1LDAsMCwwLDk1LDk5LDk3LDEwOCwxMDgsOTUsMTE5LDEwNSwxMTYsMTA0LDk1LDEwMiwKLSAgICAxMTQsOTcsMTA5LDEwMSwxMTUsOTUsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMTAwLDExNyw3LDAsCi0gICAgMCwwLDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDExNyw0LDAsMCwwLDg0LDExNCwKLSAgICAxMTcsMTAxLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNywxOSwwLDAsMCwxMDAsCi0gICAgMTExLDExMCwxMTYsOTUsMTE5LDExNCwxMDUsMTE2LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsCi0gICAgMTAwLDEwMSwxMTcsOSwwLDAsMCw5OCwxMjEsMTE2LDEwMSw5NywxMTQsMTE0LDk3LDEyMSwKLSAgICAxMTcsMTIsMCwwLDAsOTUsNzcsNjUsNzEsNzMsNjcsOTUsNjYsODksODQsNjksCi0gICAgODMsMTE3LDYsMCwwLDAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMDAsMTE3LDcsMCwwLAotICAgIDAsOTUsMTE5LDk1LDEwOCwxMTEsMTEwLDEwMywxMTcsMywwLDAsMCwxMDgsMTAxLDExMCwKLSAgICAxMTcsNSwwLDAsMCwxMDAsMTE3LDEwOSwxMTIsMTE1LDExNywxNSwwLDAsMCw5NSwKLSAgICA5OSw5Nyw5OSwxMDQsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDQwLDEyLAotICAgIDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsOCwwLDAsCi0gICAgMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTE3LDExLDAsMCwwLDExNSwxMTEsCi0gICAgMTE3LDExNCw5OSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDEyLDAsMCwwLDExNSwxMTEsCi0gICAgMTE3LDExNCw5OSwxMDEsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwxMTcsMTMsMCwwLDAsOTgsCi0gICAgMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDIsMCwwLAotICAgIDAsMTE1LDExNiwxMTcsNCwwLDAsMCwxMDAsOTcsMTE2LDk3LDExNywxMCwwLDAsCi0gICAgMCw5OCwxMjEsMTE2LDEwMSwxMTUsOTUsMTAwLDk3LDExNiw5NywxMTcsNSwwLDAsMCwKLSAgICAxMDIsMTExLDExNywxMTAsMTAwLDExNywzLDAsMCwwLDEwOSwxMTUsMTAzLDExNywxMiwwLAotICAgIDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDExNSwxMTcsMTEsCi0gICAgMCwwLDAsOTksMTExLDEwMCwxMDEsOTUsMTExLDk4LDEwNiwxMDEsOTksMTE2LDQwLDAsCi0gICAgMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwKLSAgICAxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSwKLSAgICA5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDgsMCwwLDAsMTAzLAotICAgIDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsMTY3LDMsMCwwLDExNSw5OCwwLDAsMCwKLSAgICAwLDcsMTUsMSw2LDEsMywxLDE2LDEsMTMsMSwxMSwyLDMsMSwKLSAgICAxOSwxLDEzLDEsNSwyLDE2LDEsMywxLDE5LDEsMTMsMSw1LDIsCi0gICAgMywxLDEyLDEsMywxLDEzLDEsMTksMSw1LDIsOSwxLDcsMSwKLSAgICAxNSwxLDE1LDEsMTYsMSw2LDEsNywxLDQsMiw2LDEsMTgsMSwKLSAgICAxNSwxLDE1LDEsNiwxLDEyLDEsOSwxLDEzLDEsMjIsMSwxMiwxLAotICAgIDEyLDEsMTksMSwyNSwxLDIyLDEsMywxLDE5LDEsMTcsMSwxMywxLAotICAgIDgsMSwxMTcsMjEsMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwKLSAgICAwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwwLDY3LDAsMCwKLSAgICAwLDExNSwxMywwLDAsMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDgzLDQwLDEsMCwwLDAsMTE3LDAsMSwwLDAsNjcsMTExLDExMCwKLSAgICA5OSwxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsCi0gICAgMTE2LDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwKLSAgICAxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDgyLDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiw2OSwxMjAsCi0gICAgMTAxLDk5LDExNywxMTYsMTA1LDExMSwxMTAsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsCi0gICAgMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwzMiw5NywxMTAsMTAwLDMyLDgyLAotICAgIDEwMSwxMTUsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsMTAxLAotICAgIDExNiw5NSwxMDAsOTcsMTE2LDk3LDMyLDExNiwxMTEsMzIsOTgsMTAxLDEwLDMyLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwMSwxMDAsCi0gICAgMzIsMTE2LDExMSwzMiwxMDgsMTExLDk3LDEwMCwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLAotICAgIDk5LDExMSwxMDAsMTAxLDQ2LDMyLDg1LDExNSwxMDEsMzIsMTExLDEwMiwzMiw5OCwxMjEsMTE2LAotICAgIDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMDUsMTE1LDMyLDEwMCwxMDUsOTksMTE2LDk3LDExNiwxMDEsCi0gICAgMTAwLDMyLDk4LDEyMSwzMiwxMTksMTA0LDEwMSwxMTYsMTA0LDEwMSwxMTQsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsMzIsMTE3LDExNSwKLSAgICAxMDEsMTE1LDQ3LDExOSwxMTQsMTA1LDExNiwxMDEsMTE1LDMyLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwKLSAgICAxMDAsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDQwLDEsMCwKLSAgICAwLDAsMTE3LDEyLDAsMCwwLDk1LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDQwLDIsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsCi0gICAgMTAyLDExNyw4LDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSw0MCwwLAotICAgIDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsMCwxMDgsCi0gICAgMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwyMjksMywwLDAsMTE1LDIsCi0gICAgMCwwLDAsMCw4LDExNywyNCwwLDAsMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsCi0gICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDc4LDQwLDEwLDAsMCwwLDExNyw4LDAsMCwwLDk1LDk1LDExMCwKLSAgICA5NywxMDksMTAxLDk1LDk1LDExNywxMCwwLDAsMCw5NSw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw5NSw5NSwxMTcsMTIsMCwwLDAsOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLAotICAgIDk3LDEwOSwxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDEwOSwKLSAgICAxMTYsMTA1LDEwOSwxMDEsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsCi0gICAgOTcsMTE2LDExNSwxMTcsMTUsMCwwLDAsOTUsOTksOTcsOTksMTA0LDEwMSw5NSw5OCwKLSAgICAxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwxMTcsOCwwLDAsMCwxMTUsMTAxLDExNiw5NSwKLSAgICAxMDAsOTcsMTE2LDk3LDExNywxMCwwLDAsMCwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywKLSAgICAxMTQsOTksMTAxLDExNyw4LDAsMCwwLDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLAotICAgIDExNywxMSwwLDAsMCwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0MCwxLDAsMCwwLDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LAotICAgIDEwOCwxMTUsOTUsOTUsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwKLSAgICAwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwKLSAgICAxMTcsMTIsMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLAotICAgIDExNCwxMDYsMywwLDAsMTE1LDE0LDAsMCwwLDE2LDIsMTIsNiwxMiwxMiwKLSAgICAxMiwxMCwxMiw5LDEyLDIyLDEyLDYyLDExNywxMiwwLDAsMCw4MywxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDEsMCwwLDAsMCwwLAotICAgIDAsMCwxLDAsMCwwLDQsMCwwLDAsMiwwLDAsMCwxMTUsOTIsCi0gICAgMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLAotICAgIDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLAotICAgIDAsMCw5MCw0LDAsMTAxLDUsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDQsCi0gICAgMCwxMDAsNSwwLDEzNCwwLDAsMTMxLDEsMCw5MCw2LDAsMTAxLDUsMCwKLSAgICAxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDcsMCwxMDAsCi0gICAgOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCw4LDAsMTM1LDAsMCw4Myw0MCwKLSAgICAxMCwwLDAsMCwxMTcsMTAsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDExNywxMDMsMCwwLDAsNjYsOTcsMTE1LDEwMSwzMiwxMDIsMTA1LDEwOCwKLSAgICAxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5OSwxMDgsOTcsMTE1LDExNSwzMiwxMTksCi0gICAgMTA0LDEwNSw5OSwxMDQsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTE1LDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTEyLDExNCwxMTEsMTE2LDExMSwKLSAgICA5OSwxMTEsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNSwzMiwxMTYsMTA0LDk3LDExNiwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMTQsMTAxLDExMywxMTcsMTA1LDExNCwxMDEsMzIsMTAyLDEwNSwxMDgsCi0gICAgMTAxLDMyLDExNSwxMjEsMTE1LDExNiwxMDEsMTA5LDMyLDExNywxMTUsOTcsMTAzLDEwMSw0Niw5OSwKLSAgICAzLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwyLDAsMCwwLAotICAgIDY3LDAsMCwwLDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsCi0gICAgMCwwLDEyNCwyLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDEsMCw4Myw0MCwKLSAgICAyLDAsMCwwLDExNyw3NSwwLDAsMCw2Nyw5Nyw5OSwxMDQsMTAxLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDk3LAotICAgIDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTYsCi0gICAgMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiw5OCwxMjEsCi0gICAgMzIsMTE2LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDEwMSwxMTQsNDYsNzgsNDAsMiwwLDAsMCwxMTcsNCwwLDAsMCwxMTAsCi0gICAgOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw0MCwzLDAsMCwKLSAgICAwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsOCwwLDAsMCwxMDIsCi0gICAgMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsCi0gICAgNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwKLSAgICAxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LAotICAgIDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsOCwwLDAsCi0gICAgMCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMjQ1LDMsMCwwLDExNSw0LDAsCi0gICAgMCwwLDAsMyw5LDEsMTE3LDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LAotICAgIDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwKLSAgICAwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLAotICAgIDAsMCwwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDAsCi0gICAgMCwxMzEsMiwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQwLDEsCi0gICAgMCwwLDAsMTE3LDI2LDAsMCwwLDc2LDExMSw5NywxMDAsMzIsOTcsMzIsMTA5LAotICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDk3LDMyLDEwMiwxMDUsMTA4LAotICAgIDEwMSw0Niw0MCwzLDAsMCwwLDExNyw1LDAsMCwwLDExNSwxMTcsMTEyLDEwMSwKLSAgICAxMTQsMTE3LDEwLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICAxMTcsMTEsMCwwLDAsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCi0gICAgNDAsMiwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsCi0gICAgMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDQwLDEsMCwwLDAsCi0gICAgMTE3LDksMCwwLDAsOTUsOTUsOTksMTA4LDk3LDExNSwxMTUsOTUsOTUsNDAsMCwKLSAgICAwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsCi0gICAgMTE2LDExNCw5NywxMTIsNjIsMTE3LDExLDAsMCwwLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDI1MSwzLDAsMCwxMTUsMiwwLDAsMCwwLDUsCi0gICAgMTE3LDIyLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwKLSAgICAxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLAotICAgIDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSw3LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCw4Myw0MCwxLDAsMCwKLSAgICAwLDExNyw1OCwwLDAsMCw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMSwxMTcsCi0gICAgMTE0LDk5LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsOTcsMTE1LDMyLDEwMiwxMTEsMTE3LDExMCwKLSAgICAxMDAsMzIsOTgsMTIxLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LAotICAgIDQwLDEsMCwwLDAsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsNDAsMiwKLSAgICAwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsMCwwLAotICAgIDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDQwLDAsMCwwLDAsNDAsMCwKLSAgICAwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsCi0gICAgMTE2LDExNCw5NywxMTIsNjIsMTE3LDEyLDAsMCwwLDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsCi0gICAgMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwyLDQsMCwwLDExNSwyLDAsMCwwLDAsCi0gICAgMywxMTcsMjMsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LAotICAgIDQ2LDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5OSwyLDAsCi0gICAgMCwwLDAsMCwwLDAsMywwLDAsMCw4LDAsMCwwLDY3LDAsCi0gICAgMCwwLDExNSw0MSwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwKLSAgICAxMDAsMSwwLDEzMSwyLDAsMTQzLDE3LDAsMTI1LDIsMCwxMjQsMiwwLDEwNiwKLSAgICAyLDAsMTMxLDAsMCw4Myw4NywxMDAsMiwwLDgxLDg4LDEwMCwyLDAsODMsCi0gICAgNDAsMywwLDAsMCwxMTcsMzksMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKLSAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDAsOTcsMTE2LDk3LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTIsCi0gICAgOTcsMTE2LDEwNCwzMiw5NywxMTUsMzIsMTE0LDk3LDExOSwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsCi0gICAgNDYsMTE3LDEsMCwwLDAsMTE0LDc4LDQwLDMsMCwwLDAsMTE3LDMsMCwKLSAgICAwLDAsOTUsMTA1LDExMSwxMTcsNiwwLDAsMCw3MCwxMDUsMTA4LDEwMSw3Myw3OSwKLSAgICAxMTcsNCwwLDAsMCwxMTQsMTAxLDk3LDEwMCw0MCwzLDAsMCwwLDExNyw0LAotICAgIDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwKLSAgICAxMTcsNCwwLDAsMCwxMDIsMTA1LDEwOCwxMDEsNDAsMCwwLDAsMCw0MCwwLAotICAgIDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwKLSAgICAxMTYsMTE0LDk3LDExMiw2MiwxMTcsOCwwLDAsMCwxMDMsMTAxLDExNiw5NSwxMDAsOTcsCi0gICAgMTE2LDk3LDcsNCwwLDAsMTE1LDQsMCwwLDAsMCwyLDIxLDEsMTE3LAotICAgIDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsCi0gICAgMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDQwLDksMCwwLDAsMTE3LDgsMCwwLAotICAgIDAsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDk1LDk1LAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwxMTMsCi0gICAgMTE3LDk3LDEwOCwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsNywwLDAsMCw5NSw5NSwKLSAgICAxMDAsMTExLDk5LDk1LDk1LDExNyw4LDAsMCwwLDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKLSAgICA5NSw5NSwxMTcsMTEsMCwwLDAsOTUsOTksMTA0LDEwMSw5OSwxMDcsOTUsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE3LDExLDAsMCwwLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDExNywxMiwwLDAsMCwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLAotICAgIDk3LDEwOSwxMDEsMTE3LDgsMCwwLDAsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywKLSAgICA0MCwxLDAsMCwwLDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LAotICAgIDEwOCwxMTUsOTUsOTUsNDAsMCwwLDAsMCw0MCwxLDAsMCwwLDExNyw5LAotICAgIDAsMCwwLDk1LDk1LDk5LDEwOCw5NywxMTUsMTE1LDk1LDk1LDExNywyOSwwLDAsCi0gICAgMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsCi0gICAgMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsCi0gICAgMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDI0MCwzLDAsCi0gICAgMCwxMTUsMTAsMCwwLDAsMTYsMyw2LDIsMTIsNiwyNCw3LDE4LDUsCi0gICAgMTE3LDEwLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw5OSwKLSAgICAxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw0LDAsMCwwLAotICAgIDY2LDAsMCwwLDExNSw2OCwwLDAsMCwxMjQsMCwwLDY5LDEwMSwwLDAsCi0gICAgOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwKLSAgICAyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDAsNCwwLDEwMCw1LAotICAgIDAsMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCwxMDAsNywwLDEwMCw4LDAsCi0gICAgMTAwLDksMCwxMzIsMCwxLDkwLDYsMCwxMDAsMTAsMCw4Myw0MCwxMSwwLAotICAgIDAsMCwxMTcsMTYsMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwxMDgsCi0gICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTcsNjIsMCwwLDAsNjcsMTExLDExMCw5OSwKLSAgICAxMTQsMTAxLDExNiwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsOTcsMTE2LAotICAgIDEwNSwxMTEsMTEwLDMyLDExMSwxMDIsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCwzMiwxMTcsMTE1LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsCi0gICAgMTA4LDEwMSwzMiwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSw0Niw5OSwyLDAsMCwwLDAsCi0gICAgMCwwLDAsMywwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwKLSAgICAzOSwwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsMSwwLAotICAgIDEyNSwyLDAsMTA1LDIsMCwxMjQsMiwwLDEwNiwyLDAsMTAwLDEsMCw1NCwKLSAgICAxMjQsMiwwLDEwNiwzLDAsMTAwLDIsMCw1NCw4Myw0MCwzLDAsMCwwLAotICAgIDExNywzMywwLDAsMCw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAotICAgIDEwOSwxMDEsMTE2LDk3LDEwMCw5NywxMTYsOTcsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEyLDk3LDExNiwxMDQsNDYsMTE3LDUsMCwwLDAsMTA5LDExNiwxMDUsMTA5LDEwMSwKLSAgICAxMTcsNCwwLDAsMCwxMTUsMTA1LDEyMiwxMDEsNDAsNCwwLDAsMCwxMTcsMywKLSAgICAwLDAsMCw5NSwxMTEsMTE1LDExNyw0LDAsMCwwLDExNSwxMTYsOTcsMTE2LDExNywKLSAgICA4LDAsMCwwLDExNSwxMTYsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwxMTcsNywwLDAsCi0gICAgMCwxMTUsMTE2LDk1LDExNSwxMDUsMTIyLDEwMSw0MCwzLDAsMCwwLDExNyw0LDAsCi0gICAgMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwxMTcsCi0gICAgMiwwLDAsMCwxMTUsMTE2LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwKLSAgICAxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywKLSAgICAxMTIsNjIsMTE3LDEwLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMTYsOTcsMTE2LAotICAgIDExNSwxNyw0LDAsMCwxMTUsNCwwLDAsMCwwLDIsMTUsMSwxMTcsMjcsCi0gICAgMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsOTksNCwKLSAgICAwLDAsMCwwLDAsMCwwLDUsMCwwLDAsMTMsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDgxLDAsMCwwLDEyMSwyMiwwLDExNiwwLDAsMTA2LDEsCi0gICAgMCwxMjQsMSwwLDEzMSwxLDAsMTA2LDIsMCwxMjUsNCwwLDg3LDExMCwyNCwKLSAgICAwLDQsMTE2LDMsMCwxMDcsMTAsMCwxMTQsNDgsMCwxLDEsMSwxMDAsMSwKLSAgICAwLDEyNSw0LDAsODksMTEwLDEsMCw4OCwxMjQsNCwwLDEwMCwyLDAsNzksCi0gICAgMTI1LDQsMCwxMjQsMCwwLDEwNiw0LDAsMTI0LDIsMCwxMjQsMywwLDEwMCwKLSAgICAzLDAsMTI0LDQsMCwxMzEsMiwxLDgzLDQwLDQsMCwwLDAsNzgsMTA1LAotICAgIDE4MiwxLDAsMCwxMDUsMTI4LDAsMCwwLDExNyw1LDAsMCwwLDk1LDEwOSwKLSAgICAxMTEsMTAwLDEwMSw0MCw1LDAsMCwwLDExNywzLDAsMCwwLDk1LDExMSwxMTUsCi0gICAgMTE3LDQsMCwwLDAsMTE1LDExNiw5NywxMTYsMTE3LDcsMCwwLDAsMTE1LDExNiwKLSAgICA5NSwxMDksMTExLDEwMCwxMDEsMTE3LDcsMCwwLDAsNzksODMsNjksMTE0LDExNCwxMTEsCi0gICAgMTE0LDExNyw4LDAsMCwwLDExNSwxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDAsNSwKLSAgICAwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDExLDAsMCwKLSAgICAwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDEzLDAsMCwKLSAgICAwLDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNyw0LAotICAgIDAsMCwwLDEwMCw5NywxMTYsOTcsMTE3LDQsMCwwLDAsMTA5LDExMSwxMDAsMTAxLAotICAgIDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsCi0gICAgMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwKLSAgICA0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE1LDAsMCwKLSAgICAwLDk1LDk5LDk3LDk5LDEwNCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsCi0gICAgMjIsNCwwLDAsMTE1LDEyLDAsMCwwLDAsMiwzLDEsMjIsMSwxMywKLSAgICAxLDExLDMsMTAsMSwxMTcsMzIsMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLAotICAgIDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5OSw5Nyw5OSwxMDQsCi0gICAgMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDExNyw1LDAsMCwwLDk1LAotICAgIDEwOSwxMTEsMTAwLDEwMSwxMDUsMTgyLDEsMCwwLDk5LDMsMCwwLDAsMSwwLAotICAgIDAsMCw5LDAsMCwwLDE4LDAsMCwwLDY3LDAsMCwwLDExNSw1MywKLSAgICAxLDAsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCw5MiwyLDAsMTI1LAotICAgIDQsMCwxMjUsNSwwLDEwMywwLDAsMTI1LDYsMCwxMjAsNTQsMCwxMjQsNCwKLSAgICAwLDExNCw4MCwwLDExNiwxLDAsMTI0LDQsMCwxMzEsMSwwLDEyLDExNCw4MCwKLSAgICAwLDExNiwwLDAsMTI0LDQsMCwxMzEsMSwwLDkyLDIsMCwxMjUsNCwwLAotICAgIDEyNSw3LDAsMTI0LDYsMCwxMDYsMiwwLDEyNCw3LDAsMTMxLDEsMCwxLAotICAgIDExMywyNywwLDg3LDEyMCwxMzIsMCwxMTYsMywwLDEyNCw2LDAsMTMxLDEsMCwKLSAgICA2OCw5MywxMTgsMCwxMjUsNywwLDExNiw0LDAsMTI0LDQsMCwxMjQsNywwLAotICAgIDEzMSwyLDAsMTI1LDQsMCwxMjEsMTcsMCwxMTYsNSwwLDEwNiw2LDAsMTI0LAotICAgIDQsMCwxMzEsMSwwLDEsODcsMTEzLDk0LDAsNCwxMTYsNywwLDEwNywxMCwKLSAgICAwLDExNCwxNTUsMCwxLDEsMSwxMTksOTQsMCw4OSwxMTMsOTQsMCw0LDExNiwKLSAgICA4LDAsMTA3LDEwLDAsMTE0LDIxMSwwLDEsMTI1LDgsMCwxLDEyMiwyNSwwLAotICAgIDExNiw5LDAsMTAwLDEsMCwxMjQsNCwwLDEyNCw4LDAsMTMxLDMsMCwxLAotICAgIDEwMCwyLDAsODMsODcsODksMTAwLDIsMCwxMDAsMiwwLDEyNSw4LDAsMTI2LAotICAgIDgsMCw4OCwxMTMsOTQsMCw4OCwxMTMsOTQsMCw4NywxMjEsMzMsMCwxMTYsMTAsCi0gICAgMCwxMjQsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMywwLDEsMTE2LDksCi0gICAgMCwxMDAsMywwLDEyNCwxLDAsMTMxLDIsMCwxLDg3LDExMCw1MywwLDQsCi0gICAgMTE2LDgsMCwxMDcsMTAsMCwxMTQsNDgsMSwxLDEyNSw4LDAsMSwxMjIsMjEsCi0gICAgMCwxMTYsOSwwLDEwMCwxLDAsMTI0LDEsMCwxMjQsOCwwLDEzMSwzLDAsCi0gICAgMSw4Nyw4OSwxMDAsMiwwLDEwMCwyLDAsMTI1LDgsMCwxMjYsOCwwLDg4LAotICAgIDExMCwxLDAsODgsMTAwLDIsMCw4Myw0MCw0LDAsMCwwLDExNywyNywwLAotICAgIDAsMCw4NywxMTQsMTA1LDExNiwxMDEsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDEwMCw5NywKLSAgICAxMTYsOTcsMzIsMTE2LDExMSwzMiw5NywzMiwxMDIsMTA1LDEwOCwxMDEsNDYsMTE3LDI3LDAsCi0gICAgMCwwLDk5LDExMSwxMTcsMTA4LDEwMCwzMiwxMTAsMTExLDExNiwzMiw5OSwxMTQsMTAxLDk3LAotICAgIDExNiwxMDEsMzIsMTIzLDMzLDExNCwxMjUsNTgsMzIsMTIzLDMzLDExNCwxMjUsNzgsMTE3LDEyLAotICAgIDAsMCwwLDk5LDExNCwxMDEsOTcsMTE2LDEwMSwxMDAsMzIsMTIzLDMzLDExNCwxMjUsNDAsCi0gICAgMTEsMCwwLDAsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDExNSwKLSAgICAxMTIsMTA4LDEwNSwxMTYsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwKLSAgICAxMTUsMTAwLDEwNSwxMTQsMTE3LDYsMCwwLDAsOTcsMTEyLDExMiwxMDEsMTEwLDEwMCwxMTcsCi0gICAgOCwwLDAsMCwxMTQsMTAxLDExOCwxMDEsMTE0LDExNSwxMDEsMTAwLDExNywxMCwwLDAsCi0gICAgMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDYsMTExLDEwNSwxMTAsMTE3LDMsMCwwLDAsCi0gICAgOTUsMTExLDExNSwxMTcsNSwwLDAsMCwxMDksMTA3LDEwMCwxMDUsMTE0LDExNywxNSwwLAotICAgIDAsMCw3MCwxMDUsMTA4LDEwMSw2OSwxMjAsMTA1LDExNSwxMTYsMTE1LDY5LDExNCwxMTQsMTExLAotICAgIDExNCwxMTcsNywwLDAsMCw3OSw4Myw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDE2LDAsCi0gICAgMCwwLDk1LDExOCwxMDEsMTE0LDk4LDExMSwxMTUsMTAxLDk1LDEwOSwxMDEsMTE1LDExNSw5NywKLSAgICAxMDMsMTAxLDExNywxMywwLDAsMCw5NSwxMTksMTE0LDEwNSwxMTYsMTAxLDk1LDk3LDExNiwKLSAgICAxMTEsMTA5LDEwNSw5OSw0MCw5LDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsCi0gICAgMTA4LDEwMiwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwxMTcsNCwwLDAsMCwKLSAgICAxMDAsOTcsMTE2LDk3LDExNyw1LDAsMCwwLDk1LDEwOSwxMTEsMTAwLDEwMSwxMTcsNiwKLSAgICAwLDAsMCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDExNyw4LDAsMCwwLDEwMiwxMDUsCi0gICAgMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSwxMTcsMTAsMCwwLDAsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgMTEyLDk3LDExNCwxMTYsMTE1LDExNyw0LDAsMCwwLDExMiw5NywxMTQsMTE2LDExNywzLAotICAgIDAsMCwwLDEwMSwxMjAsOTksNDAsMCwwLDAsMCw0MCwwLDAsMCwwLAotICAgIDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LAotICAgIDExMiw2MiwxMTcsOCwwLDAsMCwxMTUsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDMzLAotICAgIDQsMCwwLDExNSwzOCwwLDAsMCwwLDIsMTgsMSw2LDIsMjIsMSwKLSAgICAxOCwxLDE3LDIsMTksMSwxNSwxLDMsMSwxNywxLDEzLDIsNywxLAotICAgIDE4LDMsMTYsMSwyNywxLDMsMSwxNiwxLDE3LDEsMTgsMiwxMTcsMjUsCi0gICAgMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMTUsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDc4LDQwLDcsMCwKLSAgICAwLDAsMTE3LDgsMCwwLDAsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMTE3LAotICAgIDEwLDAsMCwwLDk1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk1LDExNywxMiwKLSAgICAwLDAsMCw5NSw5NSwxMTMsMTE3LDk3LDEwOCwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsCi0gICAgNywwLDAsMCw5NSw5NSwxMDAsMTExLDk5LDk1LDk1LDExNywxMCwwLDAsMCwKLSAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsMTE3LDE1LDAsMCwwLDk1LAotICAgIDk5LDk3LDk5LDEwNCwxMDEsOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTE3LDgsCi0gICAgMCwwLDAsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5Nyw0MCwxLDAsMCwwLAotICAgIDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LDEwOCwxMTUsOTUsOTUsNDAsCi0gICAgMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsCi0gICAgMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LAotICAgIDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTYsMCwwLDAsCi0gICAgODMsMTExLDExNywxMTQsOTksMTAxLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICAxMyw0LDAsMCwxMTUsOCwwLDAsMCwxNiwyLDYsMiwxMiw1LDEyLAotICAgIDExLDExNywxNiwwLDAsMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDEsMCwwLDAsMCwwLDAsMCwxLAotICAgIDAsMCwwLDIsMCwwLDAsNjYsMCwwLDAsMTE1LDYyLDAsMCwwLAotICAgIDEyNCwwLDAsNjksMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsCi0gICAgMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsCi0gICAgNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwKLSAgICAwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDgsMCw4Myw0MCw5LAotICAgIDAsMCwwLDExNywyMCwwLDAsMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwKLSAgICAxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTcsNDUsMCwwLAotICAgIDAsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDQsOTcsCi0gICAgMTEwLDEwMCwxMDgsMTAxLDExNSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSwKLSAgICAzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDk5LDIsCi0gICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDQsMCwwLDAsNjcsCi0gICAgMCwwLDAsMTE1LDE5LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwKLSAgICAwLDEwMCwxLDAsMTAwLDIsMCwxMzEsMSwxLDgzLDQwLDMsMCwwLDAsCi0gICAgNzgsMTE3LDEwLDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LAotICAgIDg0LDQwLDIsMCwwLDAsMTE3LDEyLDAsMCwwLDk1LDEwOCwxMTEsOTcsMTAwLAotICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNyw0LDAsMCwwLDg0LDExNCwxMTcsMTAxLAotICAgIDQwLDIsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw4LAotICAgIDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLAotICAgIDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwKLSAgICAxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsMCwxMDgsMTExLDk3LDEwMCwKLSAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw2Niw0LDAsMCwxMTUsMiwwLDAsMCwKLSAgICAwLDEsMTE3LDMyLDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwKLSAgICAxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLAotICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwKLSAgICA2LDAsMCwwLDYsMCwwLDAsNjcsMCwwLDAsMTE1LDEzOCwwLDAsCi0gICAgMCwxMjQsMCwwLDEwNiwwLDAsMTI0LDEsMCwxMzEsMSwwLDEyNSwyLDAsCi0gICAgMTI0LDAsMCwxMDYsMSwwLDEyNCwyLDAsMTMxLDEsMCwxMjUsMywwLDEyNCwKLSAgICAwLDAsMTA2LDIsMCwxMjQsMSwwLDEyNCwzLDAsMTI0LDIsMCwxMDAsMCwKLSAgICAwLDEzMSw0LDAsMTI1LDQsMCwxMTYsNCwwLDEwNiw1LDAsMTI0LDQsMCwKLSAgICAxMzEsMSwwLDEyNSw1LDAsMTE2LDYsMCwxMjQsNSwwLDExNiw3LDAsMTMxLAotICAgIDIsMCwxMTQsMTAxLDAsMTE2LDgsMCwxMDAsMSwwLDEyNCwyLDAsMTMxLDIsCi0gICAgMCwxLDEyNCw1LDAsODMsMTE2LDksMCwxMDAsMiwwLDEwNiwxMCwwLDEyNCwKLSAgICAyLDAsMTMxLDEsMCwxMDAsMywwLDEyNCwxLDAsMTAwLDQsMCwxMjQsMiwKLSAgICAwLDEzMSwxLDIsMTMwLDEsMCwxMDAsMCwwLDgzLDQwLDUsMCwwLDAsCi0gICAgNzgsMTE3LDIxLDAsMCwwLDk5LDExMSwxMDAsMTAxLDMyLDExMSw5OCwxMDYsMTAxLDk5LAotICAgIDExNiwzMiwxMDIsMTE0LDExMSwxMDksMzIsMTIzLDMzLDExNCwxMjUsMTE3LDIxLDAsMCwwLAotICAgIDc4LDExMSwxMTAsNDUsOTksMTExLDEwMCwxMDEsMzIsMTExLDk4LDEwNiwxMDEsOTksMTE2LDMyLAotICAgIDEwNSwxMTAsMzIsMTIzLDEyNSwxMTcsNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsNCwKLSAgICAwLDAsMCwxMTIsOTcsMTE2LDEwNCw0MCwxMSwwLDAsMCwxMTcsMTIsMCwwLAotICAgIDAsMTAzLDEwMSwxMTYsOTUsMTAyLDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNyw4LDAsCi0gICAgMCwwLDEwMywxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsMTE3LDIwLDAsMCwwLDk1LAotICAgIDk4LDEyMSwxMTYsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMDksOTUsOTgsMTIxLDExNiwxMDEsOTksCi0gICAgMTExLDEwMCwxMDEsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDcsMCwwLAotICAgIDAsMTA5LDk3LDExNCwxMTUsMTA0LDk3LDEwOCwxMTcsNSwwLDAsMCwxMDgsMTExLDk3LAotICAgIDEwMCwxMTUsMTE3LDEwLDAsMCwwLDEwNSwxMTUsMTA1LDExMCwxMTUsMTE2LDk3LDExMCw5OSwKLSAgICAxMDEsMTE3LDEwLDAsMCwwLDk1LDk5LDExMSwxMDAsMTAxLDk1LDExNiwxMjEsMTEyLDEwMSwKLSAgICAxMTcsMTYsMCwwLDAsOTUsMTE4LDEwMSwxMTQsOTgsMTExLDExNSwxMDEsOTUsMTA5LDEwMSwKLSAgICAxMTUsMTE1LDk3LDEwMywxMDEsMTE3LDExLDAsMCwwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgNjksMTE0LDExNCwxMTEsMTE0LDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsCi0gICAgNDAsNiwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDgsCi0gICAgMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDExNyw0LDAsMCwwLAotICAgIDExMiw5NywxMTYsMTA0LDExNyw0LDAsMCwwLDEwMCw5NywxMTYsOTcsMTE3LDEwLDAsCi0gICAgMCwwLDk4LDEyMSwxMTYsMTAxLDExNSw5NSwxMDAsOTcsMTE2LDk3LDExNyw1LDAsMCwKLSAgICAwLDEwMiwxMTEsMTE3LDExMCwxMDAsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLAotICAgIDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LAotICAgIDExMiw2MiwxMTcsOCwwLDAsMCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw2OSwKLSAgICA0LDAsMCwxMTUsMTgsMCwwLDAsMCwxLDE1LDEsMTUsMSwyNCwxLAotICAgIDE1LDEsMTUsMSwxMywxLDQsMiwxOCwxLDExNywyOSwwLDAsMCw4MywKLSAgICAxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwKKyAgICAzMiwxMDQsOTcsMTE4LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwKKyAgICAxMTYsMTE1LDQ2LDc4LDExNCw0LDAsMCwwLDQwLDIsMCwwLDAsMTE0LDE5NSwKKyAgICAwLDAsMCwxMTQsMTU2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDI0NCw4LDAsMCwwLDEwMywxMDEsMTE2LDk1LAorICAgIDk5LDExMSwxMDAsMTAxLDIzNCwyLDAsMCwxMTUsMiwwLDAsMCwwLDQsMTE3LAorICAgIDI0LDAsMCwwLDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwKKyAgICAxMTYsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwKICAgICAwLDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwKICAgICAwLDExNSw0LDAsMCwwLDEwMCwxLDAsODMsNDAsMiwwLDAsMCwxMTcsCi0gICAgMzksMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiwKLSAgICA5NywxMTUsMzIsMTE2LDEwNCwxMDEsMTE0LDEwMSwzMiwxMDUsMTE1LDMyLDExMCwxMTEsMzIsMTE1LAotICAgIDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0Niw3OCw0MCwxLDAsMCwKLSAgICAwLDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDQwLDIsMCwwLDAsMTE3LAotICAgIDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw4LDAsMCwwLDEwMiwxMTcsMTA4LAotICAgIDEwOCwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LAotICAgIDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLAotICAgIDYyLDExNywxMCwwLDAsMCwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLAotICAgIDgxLDQsMCwwLDExNSwyLDAsMCwwLDAsMiwxMTcsMzEsMCwwLDAsCi0gICAgODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw3OCwKLSAgICA0MCw3LDAsMCwwLDExNyw4LDAsMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLAotICAgIDk1LDk1LDExNywxMCwwLDAsMCw5NSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwKLSAgICA5NSwxMTcsMTIsMCwwLDAsOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsCi0gICAgOTUsOTUsMTE3LDcsMCwwLDAsOTUsOTUsMTAwLDExMSw5OSw5NSw5NSwxMTcsMTEsCi0gICAgMCwwLDAsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDgsCi0gICAgMCwwLDAsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsMTE3LDEwLDAsMCwwLAotICAgIDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDAsMSwwLDAsMCwxMTcsCi0gICAgMTAsMCwwLDAsOTUsOTUsMTA4LDExMSw5OSw5NywxMDgsMTE1LDk1LDk1LDQwLDAsCi0gICAgMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwKLSAgICAxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSwKLSAgICA5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDIwLDAsMCwwLDgzLAotICAgIDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDYyLDQsMCwwLDExNSw4LDAsMCwwLDE2LDIsNiwyLAotICAgIDEyLDMsMTIsMTIsMTE3LDIwLDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsCi0gICAgMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDEsMCwKLSAgICAwLDAsMCwwLDAsMCwxLDAsMCwwLDUsMCwwLDAsNjYsMCwKLSAgICAwLDAsMTE1LDEwNCwwLDAsMCwxMjQsMCwwLDY5LDEwMSwwLDAsOTAsMSwKLSAgICAwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsCi0gICAgMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwxMDEsNSwwLDEwMSw2LDAsMTAxLAotICAgIDcsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCwxMzEsMSwwLDEzMSwxLAotICAgIDAsMTMxLDEsMCw5MCw4LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLDAsCi0gICAgOTAsOSwwLDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDkwLDEwLDAsMTAwLAotICAgIDEwLDAsMTAwLDExLDAsMTMyLDAsMCw5MCwxMSwwLDEwMCwxMiwwLDgzLDQwLAotICAgIDEzLDAsMCwwLDExNywxOSwwLDAsMCw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwKLSAgICAxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTcsOTMsMCwwLAotICAgIDAsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwMSwxMjAsMTE2LDEwMSwKLSAgICAxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NiwxMCwxMCwKLSAgICAzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDk5LDExMSwxMTAsMTE1LDExNiwxMTQsMTE3LDk5LAotICAgIDExNiwxMTEsMTE0LDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LDEwMywxMTAsMTAxLDEwMCwzMiwKLSAgICAxMTYsMTExLDMyLDExOSwxMTEsMTE0LDEwNywzMiwxMTksMTA1LDExNiwxMDQsMzIsNzAsMTA1LDEwOCwKLSAgICAxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5OSwzLAotICAgIDAsMCwwLDAsMCwwLDAsMywwLDAsMCwyLDAsMCwwLDY3LAotICAgIDAsMCwwLDExNSwyMiwwLDAsMCwxMjQsMSwwLDEyNCwwLDAsOTUsMCwKLSAgICAwLDEyNCwyLDAsMTI0LDAsMCw5NSwxLDAsMTAwLDAsMCw4Myw0MCwxLAotICAgIDAsMCwwLDc4LDQwLDIsMCwwLDAsMTE3LDQsMCwwLDAsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsNDAsMywwLDAsMCwKLSAgICAxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDQsMCwwLDAsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsNDAsMCwwLDAsMCwKLSAgICA0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLAotICAgIDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsCi0gICAgMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsOCwwLDAsMCw5NSw5NSwxMDUsMTEwLAotICAgIDEwNSwxMTYsOTUsOTUsOTgsNCwwLDAsMTE1LDQsMCwwLDAsMCwxLDksCi0gICAgMSwxMTcsMjgsMCwwLDAsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwKLSAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LAotICAgIDk1LDk1LDk5LDIsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDEwLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSwxNzUsMCwwLDAsMTI0LDEsMCwxMTYsCi0gICAgMCwwLDEwNiwxLDAsMTA3LDYsMCwxMjUsMiwwLDEyMSwxMDcsMCwxMTYsMiwKLSAgICAwLDExNiwzLDAsMTA2LDQsMCwxMjQsMSwwLDEyNCwwLDAsMTA2LDUsMCwKLSAgICAxMzEsMywwLDEyNSwzLDAsMTE2LDYsMCwxMDAsMSwwLDEyNCwwLDAsMTA2LAotICAgIDUsMCwxMzEsMiwwLDEsMTI0LDAsMCwxMDYsNywwLDEyNCwxLDAsMTMxLAotICAgIDEsMCwxMTQsMTE3LDAsMTE2LDgsMCwxMjQsMywwLDEwMCwyLDAsMTMxLDIsCi0gICAgMCwxMiwxMTQsMTE3LDAsMTE2LDksMCwxMjQsMCwwLDEwNiw1LDAsMTMxLDEsCi0gICAgMCwxMDAsMywwLDI1LDEwMywxLDAsMTI0LDMsMCw5NSwxMCwwLDExMCwwLAotICAgIDAsMTI0LDMsMCw4Myw4NywxMTAsNDYsMCwxLDEsMSwxMjQsMiwwLDEyLAotICAgIDExNCwxNjMsMCwxMjQsMSwwLDExNiwwLDAsMTA2LDEsMCwxMDcsNiwwLDExNCwKLSAgICAxNjMsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCw2MSwxMTAsMCwwLDEzMCwKLSAgICAwLDAsODksMTEwLDEsMCw4OCwxMDAsNCwwLDgzLDQwLDUsMCwwLDAsCi0gICAgMTE3LDI1LDAsMCwwLDc2LDExMSw5NywxMDAsMzIsOTcsMTEwLDMyLDEwMSwxMjAsMTE2LAotICAgIDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ2LDExNywzMywKLSAgICAwLDAsMCwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwKLSAgICAxMjMsMzMsMTE0LDEyNSwxMTcsOCwwLDAsMCw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICA5NSwxMDUsMCwwLDAsMCw3OCw0MCwxMSwwLDAsMCwxMTcsMywwLDAsCi0gICAgMCwxMTUsMTIxLDExNSwxMTcsNywwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsCi0gICAgMTE3LDI1LDAsMCwwLDk1LDk5LDk3LDEwOCwxMDgsOTUsMTE5LDEwNSwxMTYsMTA0LDk1LAotICAgIDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsOTUsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsMTAwLDExNyw0LAotICAgIDAsMCwwLDk1LDEwNSwxMDksMTEyLDExNywxMiwwLDAsMCwxMDgsMTExLDk3LDEwMCwKLSAgICA5NSwxMDAsMTIxLDExMCw5NywxMDksMTA1LDk5LDExNyw0LDAsMCwwLDExMiw5NywxMTYsCi0gICAgMTA0LDExNywxNiwwLDAsMCw5NSwxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwMSw5NSwxMDksCi0gICAgMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwxMTcsMTAsMCwwLDAsMTA1LDExNSw5NSwxMTIsOTcsCi0gICAgOTksMTA3LDk3LDEwMywxMDEsMTE3LDcsMCwwLDAsMTA0LDk3LDExNSw5NywxMTYsMTE2LAotICAgIDExNCwxMTcsMTEsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExMiwxMDgsMTA1LAotICAgIDExNiwxMTcsOCwwLDAsMCw5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSw0MCw0LAotICAgIDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsOCwwLDAsCi0gICAgMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTE3LDksMCwwLDAsMTA1LDExNSwKLSAgICA5NSwxMTQsMTAxLDEwOCwxMTEsOTcsMTAwLDExNyw2LDAsMCwwLDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLAotICAgIDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LAotICAgIDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDExLAotICAgIDAsMCwwLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDEwMiw0LAotICAgIDAsMCwxMTUsMjQsMCwwLDAsMCw1LDE1LDEsMywxLDksMSwxNSwKLSAgICAxLDE2LDEsMzEsMSwyOCwxLDgsMSwzLDEsMjIsMSwxMywxLDExNywKLSAgICAzMSwwLDAsMCw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsCi0gICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwKLSAgICAxMTcsMTA4LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwKLSAgICA0LDAsMCwwLDMsMCwwLDAsMTE1LDQ4LDAsMCwwLDExNiwwLDAsCi0gICAgMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsMTAwLDEsMCwyNSwxMzcsMCwwLAotICAgIDExNiwyLDAsMTM1LDAsMCwxMDIsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMzQsCi0gICAgMCwwLDExNiwzLDAsNjgsMTMxLDEsMCwxMzEsMSwwLDgzLDQwLDQsMCwKLSAgICAwLDAsMTE3LDQ5LDAsMCwwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsODQsMTE0LAotICAgIDExNywxMDEsMzIsMTA1LDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwKLSAgICAxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDMyLAotICAgIDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0NiwxMDUsMSwwLDAsMCw5OSwxLDAsCi0gICAgMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDUxLDAsCi0gICAgMCwwLDExNSwzMSwwLDAsMCwxMjQsMCwwLDkzLDIxLDAsMTI1LDEsMCwKLSAgICAxMzYsMCwwLDEwMCwwLDAsMTI0LDEsMCwyMywxMDcsMiwwLDg2LDEsMTEzLAotICAgIDMsMCwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDgsMCwwLDAsCi0gICAgOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDc4LDQwLDAsMCwwLDAsNDAsMiwKLSAgICAwLDAsMCwxMTcsMiwwLDAsMCw0Niw0OCwxMTcsNiwwLDAsMCwxMTUsCi0gICAgMTE3LDEwMiwxMDIsMTA1LDEyMCw0MCwxLDAsMCwwLDExNyw5LDAsMCwwLDEwMiwKLSAgICAxMDUsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLDExNywyOSwwLAotICAgIDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsCi0gICAgOSwwLDAsMCw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsMTIzLDQsMCwKLSAgICAwLDExNSwyLDAsMCwwLDYsMSwxMTcsNDksMCwwLDAsNjksMTIwLDExNiwKLSAgICAxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCi0gICAgNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNjAsMTA4LDExMSw5OSwKLSAgICA5NywxMDgsMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2Miw0MCw0LAotICAgIDAsMCwwLDExNywxMSwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTEyLAotICAgIDEwOCwxMDUsMTE2LDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNywzLDAsMCwKLSAgICAwLDk3LDExMCwxMjEsMTE3LDE4LDAsMCwwLDY5LDg4LDg0LDY5LDc4LDgzLDczLAotICAgIDc5LDc4LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDQwLDIsMCwwLDAsCi0gICAgMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw4LDAsMCwwLDEwMiwxMTcsCi0gICAgMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLDQwLDEsMCwwLDAsCi0gICAgMTE3LDksMCwwLDAsMTAyLDEwNSwxMDgsMTAxLDk1LDExMCw5NywxMDksMTAxLDExNywyOSwKLSAgICAwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwKLSAgICAxMTcsMTAsMCwwLDAsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMTIwLAotICAgIDQsMCwwLDExNSw2LDAsMCwwLDAsMiwxOSwxLDE4LDEsMTE3LDMwLAotICAgIDAsMCwwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsCi0gICAgMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLDEsMCw4Myw0MCwKLSAgICAyLDAsMCwwLDExNyw2MywwLDAsMCw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLAotICAgIDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiw5NywxMTAsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwKLSAgICAxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTksOTcsMTEwLDExMCwKLSAgICAxMTEsMTE2LDMyLDk5LDExNCwxMDEsOTcsMTE2LDEwMSwzMiw5NywzMiw5OSwxMTEsMTAwLDEwMSwKLSAgICAzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsNDYsNzgsNDAsMSwwLDAsMCwxMTcsNCwKLSAgICAwLDAsMCw3OCwxMTEsMTEwLDEwMSw0MCwyLDAsMCwwLDExNyw0LDAsMCwKLSAgICAwLDExNSwxMDEsMTA4LDEwMiwxMTcsOCwwLDAsMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LAotICAgIDEwOSwxMDEsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsCi0gICAgMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsCi0gICAgMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsOCwKLSAgICAwLDAsMCwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSwxMjYsNCwwLDAsMTE1LAotICAgIDIsMCwwLDAsMCwyLDExNywyOCwwLDAsMCw2OSwxMjAsMTE2LDEwMSwxMTAsCi0gICAgMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsCi0gICAgMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsCi0gICAgMiwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwKLSAgICAwLDEwMCwxLDAsODMsNDAsMiwwLDAsMCwxMTcsNTMsMCwwLDAsODIsCi0gICAgMTAxLDExNiwxMTcsMTE0LDExMCwzMiw3OCwxMTEsMTEwLDEwMSwzMiw5NywxMTUsMzIsMTAxLDEyMCwKLSAgICAxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLAotICAgIDEwNCw5NywxMTgsMTAxLDMyLDExMCwxMTEsMzIsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwKLSAgICAxMTEsMTAwLDEwMSw0Niw3OCw0MCwxLDAsMCwwLDExNyw0LDAsMCwwLDc4LAotICAgIDExMSwxMTAsMTAxLDQwLDIsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsCi0gICAgMTAyLDExNyw4LDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwxMTAsOTcsMTA5LDEwMSw0MCwwLAotICAgIDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMCwwLDAsMCwxMDMsCi0gICAgMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDEzMCw0LDAsMCwxMTUsMiwwLAotICAgIDAsMCwwLDIsMTE3LDMwLDAsMCwwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAotICAgIDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAotICAgIDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNzgsNDAsMTIsMCwwLDAsMTE3LDgsMCwKLSAgICAwLDAsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDk1LAotICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwKLSAgICAxMTMsMTE3LDk3LDEwOCwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsNywwLDAsMCw5NSwKLSAgICA5NSwxMDAsMTExLDk5LDk1LDk1LDExNyw4LDAsMCwwLDk1LDk1LDEwNSwxMTAsMTA1LAotICAgIDExNiw5NSw5NSwxMTcsMTEsMCwwLDAsOTUsOTksMTA0LDEwMSw5OSwxMDcsOTUsMTEwLAotICAgIDk3LDEwOSwxMDEsMTE3LDExLDAsMCwwLDExNSwxMDEsMTE2LDk1LDExMiw5Nyw5OSwxMDcsCi0gICAgOTcsMTAzLDEwMSwxMTcsMTAsMCwwLDAsMTE1LDEwMSwxMTYsOTUsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCwxMTcsMTEsMCwwLDAsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsMTE3LDEwLDAsMCwwLDEwNSwxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsCi0gICAgMTAxLDExNyw4LDAsMCwwLDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsMTAxLDExNywxMCwKLSAgICAwLDAsMCwxMDMsMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDQwLDEsMCwKLSAgICAwLDAsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOCwxMTEsOTksOTcsMTA4LDExNSw5NSwKLSAgICA5NSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLAotICAgIDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsCi0gICAgOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxOSwwLAotICAgIDAsMCw2OSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LAotICAgIDExMSw5NywxMDAsMTAxLDExNCw5MCw0LDAsMCwxMTUsMTYsMCwwLDAsMTYsNiwKLSAgICA2LDIsMTIsNCwzLDEsMywxLDI0LDE2LDEyLDYsMTIsNCwxMTcsMTksCi0gICAgMCwwLDAsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSwKLSAgICA3NiwxMTEsOTcsMTAwLDEwMSwxMTQsOTksMSwwLDAsMCwwLDAsMCwwLDEsCi0gICAgMCwwLDAsMiwwLDAsMCw2NiwwLDAsMCwxMTUsMTM0LDAsMCwwLAorICAgIDU2LDAsMCwwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsCisgICAgOTcsMTE1LDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLDMyLAorICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwKKyAgICAwLDAsNDAsMiwwLDAsMCwxMTQsMTk1LDAsMCwwLDExNCwxNTYsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMjQ0LDEwLDAsMCwwLDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMjQwLAorICAgIDIsMCwwLDExNSwyLDAsMCwwLDAsNCwxMTcsMjYsMCwwLDAsNjYsCisgICAgMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywKKyAgICAxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsCisgICAgMCwwLDIsMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwKKyAgICAwLDAsMCwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDUyLDAsMCwKKyAgICAwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsNzAsOTcsMTA4LDExNSwxMDEsMzIsOTcsMTE1LAorICAgIDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDExNSwzMiw5NywxMTQsMTAxLDMyLDExMCwxMDEsMTE4LDEwMSwxMTQsMzIsMTEyLDk3LDk5LDEwNywKKyAgICA5NywxMDMsMTAxLDExNSw0Niw3MCwxMTQsNCwwLDAsMCw0MCwyLDAsMCwwLAorICAgIDExNCwxOTUsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTUzLDAsMCwwLDI0NiwyLAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDQsMTE3LDI2LDAsMCwwLDY2LDExNywKKyAgICAxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDUsMTE1LAorICAgIDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw0MCwxNCwwLDAsMCwxMTQsNTYsMCwKKyAgICAwLDAsMTE0LDU1LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsNTgsMCwwLAorICAgIDAsMjQ0LDExLDAsMCwwLDk5LDEwOCw5NywxMTUsMTE1LDEwOSwxMDEsMTE2LDEwNCwxMTEsCisgICAgMTAwLDExNCwxOTYsMCwwLDAsMTE0LDE5NywwLDAsMCwxMTQsMTQ4LDAsMCwwLAorICAgIDExNCwxNTEsMCwwLDAsMTE0LDE2NSwwLDAsMCwxMTQsMTk4LDAsMCwwLDExNCwKKyAgICAxOTksMCwwLDAsMTE0LDIwMCwwLDAsMCwxMTQsMTUzLDAsMCwwLDQwLDEsCisgICAgMCwwLDAsMTE0LDY5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCwxOTQsMCwwLDAsMTk2LDIsMCwwLAorICAgIDExNSwyOCwwLDAsMCwxNiw3LDYsMiwxOCw0LDMsMSwxOCwxMCwzLAorICAgIDEsMywxLDMsMSwyNywxMSwzLDEsMjEsNSwzLDEsMjEsNSwzLAorICAgIDEsMTE0LDE5NCwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwKKyAgICAwLDAsMCw2LDAsMCwwLDY2LDAsMCwwLDExNSwxNzMsMCwwLDAsCisgICAgMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwKKyAgICAxMDAsMSwwLDkwLDMsMCwxMDEsNCwwLDEwMCwyLDAsMTAwLDMsMCwxMzIsCisgICAgMCwwLDEzMSwxLDAsOTAsNSwwLDEwMSw0LDAsMTAwLDQsMCwxMDAsNSwKKyAgICAwLDEwMCw2LDAsMTMyLDEsMCwxMzEsMSwwLDkwLDYsMCwxMDEsNCwwLAorICAgIDEwMSw3LDAsMTAxLDgsMCwxMDEsOSwwLDEwMCw3LDAsMTAwLDgsMCwxMzIsCisgICAgMCwwLDEzMSwxLDAsMTMxLDEsMCwxMzEsMSwwLDEzMSwxLDAsOTAsMTAsCisgICAgMCwxMDEsNCwwLDEwMSw5LDAsMTAwLDksMCwxMDAsMTAsMCwxMzIsMCwwLAorICAgIDEzMSwxLDAsMTMxLDEsMCw5MCwxMSwwLDEwMSw0LDAsMTAxLDksMCwxMDAsCisgICAgMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEzMSwxLDAsMTMxLDEsMCw5MCwxMiwKKyAgICAwLDEwMSw0LDAsMTAxLDksMCwxMDAsMTMsMCwxMDAsMTQsMCwxMzIsMCwwLAorICAgIDEzMSwxLDAsMTMxLDEsMCw5MCwxMywwLDEwMCw0LDAsODMsNDAsMTUsMCwKKyAgICAwLDAsMjQ0LDE0LDAsMCwwLDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwKKyAgICAxMTEsMTE0LDExNiwxMDEsMTE0LDExNywxNDIsMCwwLDAsNzcsMTAxLDExNiw5NywzMiwxMTIsCisgICAgOTcsMTE2LDEwNCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDIsMTExLDExNCwzMiwxMDIsCisgICAgMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDYsMTAsMTAsCisgICAgMzIsMzIsMzIsMzIsNjUsMTA4LDEwOCwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwxMTUsMzIsCisgICAgOTcsMTE0LDEwMSwzMiwxMDEsMTA1LDExNiwxMDQsMTAxLDExNCwzMiw5OSwxMDgsOTcsMTE1LDExNSwKKyAgICAzMiwxMTEsMTE0LDMyLDExNSwxMTYsOTcsMTE2LDEwNSw5OSwzMiwxMDksMTAxLDExNiwxMDQsMTExLAorICAgIDEwMCwxMTUsMzIsMTE2LDExMSwzMiw5NywxMTgsMTExLDEwNSwxMDAsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTEwLDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTA1LDExMCwxMTUsMTE2LAorICAgIDk3LDExMCwxMTYsMTA1LDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsOTksMTA4LDk3LDExNSwKKyAgICAxMTUsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsMCwwLDAsMCwKKyAgICAwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwKKyAgICAwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwxLDAsMTA2LDEsMCwxMzEsMSwKKyAgICAwLDgzLDQwLDIsMCwwLDAsNzgsMTE3LDIyLDAsMCwwLDYwLDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDMyLDM5LDEyMywxMjUsMzksMzIsNDAsMTAyLDExNCwxMTEsMTIyLDEwMSwKKyAgICAxMTAsNDEsNjIsNDAsMiwwLDAsMCwxMTQsNDYsMCwwLDAsMTE0LDU2LDAsCisgICAgMCwwLDQwLDIsMCwwLDAsMTE0LDE5NSwwLDAsMCwyNDQsMSwwLDAsCisgICAgMCwxMDksMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDE5NiwwLDAsMCw2LDMsMCwwLDExNSwyLDAsMCwwLDAsCisgICAgMiwxMTcsMjYsMCwwLDAsNzAsMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwKKyAgICAxMTQsMTE2LDEwMSwxMTQsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LAorICAgIDc4LDk5LDMsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDIsMCwKKyAgICAwLDAsNjcsMCwwLDAsMTE1LDIzLDAsMCwwLDExNiwwLDAsMTA2LDEsCisgICAgMCwxMjQsMSwwLDEzMSwxLDAsMTE0LDE5LDAsMTI0LDAsMCw4MywxMDAsMSwKKyAgICAwLDgzLDQwLDIsMCwwLDAsMTE3LDIxLDAsMCwwLDcwLDEwNSwxMTAsMTAwLAorICAgIDMyLDk3LDMyLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDQ2LDc4LDQwLDIsMCwwLDAsMTE0LDk3LDAsMCwwLDExNCwxNjYsMCwwLAorICAgIDAsNDAsMywwLDAsMCwxMTQsMTk1LDAsMCwwLDExNCwxNTYsMCwwLDAsCisgICAgMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCwxOTcsMCwwLDAsMTAsMywwLDAsMTE1LDIsMCwKKyAgICAwLDAsMCwzLDExNywyNiwwLDAsMCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsCisgICAgOSwwLDAsMCw2NywwLDAsMCwxMTUsMTAwLDAsMCwwLDEyNCwxLDAsCisgICAgMTE2LDAsMCwxMDYsMSwwLDEwNyw2LDAsMTI1LDIsMCwxMjEsMzIsMCwxMTYsCisgICAgMiwwLDExNiwzLDAsMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsMTI1LDMsCisgICAgMCwxMjQsMywwLDk2LDUsMCwxMjQsMywwLDgzLDg3LDExMCw0NiwwLDEsCisgICAgMSwxLDEyNCwyLDAsMTIsMTE0LDg4LDAsMTI0LDEsMCwxMTYsMCwwLDEwNiwKKyAgICAxLDAsMTA3LDYsMCwxMTQsODgsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsCisgICAgMCw2MSwxMTAsMCwwLDEzMCwwLDAsODksMTEwLDEsMCw4OCwxMDAsMSwwLAorICAgIDgzLDQwLDIsMCwwLDAsMTE3LDIxLDAsMCwwLDc2LDExMSw5NywxMDAsMzIsCisgICAgOTcsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsCisgICAgNzgsNDAsNiwwLDAsMCwxMTQsNywwLDAsMCwxMTQsMTUyLDAsMCwwLAorICAgIDExNCwxMDIsMCwwLDAsMTE0LDk3LDAsMCwwLDExNiwxMSwwLDAsMCwxMDUsCisgICAgMTEwLDEwNSwxMTYsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMjQ0LDgsMCwwLDAsOTUsCisgICAgOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDk1LDQwLDQsMCwwLDAsMTE0LDE5NSwwLDAsCisgICAgMCwxMTQsMTU2LDAsMCwwLDExNCwxNTcsMCwwLDAsMTE0LDIwMywwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsCisgICAgMTk4LDAsMCwwLDE1LDMsMCwwLDExNSwxOCwwLDAsMCwwLDYsMTUsCisgICAgMSwzLDEsMTgsMiw2LDEsOCwxLDMsMSwyMiwxLDEzLDEsMTE3LAorICAgIDI2LDAsMCwwLDcwLDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwKKyAgICAxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDIsCisgICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDEzLDAsMCwwLDExNiwwLDAsMTA2LDEsMCwxMjQsMSwKKyAgICAwLDEzMSwxLDAsODMsNDAsMSwwLDAsMCwxMTcsNDUsMCwwLDAsODIsCisgICAgMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsCisgICAgOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwKKyAgICAxMTEsMTIyLDEwMSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDYsNDAsMiwwLDAsCisgICAgMCwxMTQsOTcsMCwwLDAsMTE2LDE3LDAsMCwwLDEwMywxMDEsMTE2LDk1LDEwMiwKKyAgICAxMTQsMTExLDEyMiwxMDEsMTEwLDk1LDExMSw5OCwxMDYsMTAxLDk5LDExNiw0MCwyLDAsMCwKKyAgICAwLDExNCwxOTUsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTk5LDAsMCwwLDMyLAorICAgIDMsMCwwLDExNSwyLDAsMCwwLDAsNCwxMTcsMjMsMCwwLDAsNzAsCisgICAgMTE0LDExMSwxMjIsMTAxLDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsNDYsMTAzLDEwMSwKKyAgICAxMTYsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsCisgICAgMCwwLDAsMSwwLDAsMCw2NywwLDAsMCwxMTUsNCwwLDAsMCwKKyAgICAxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDU0LDAsMCwwLDgyLDEwMSwKKyAgICAxMTYsMTE3LDExNCwxMTAsMzIsNzgsMTExLDExMCwxMDEsMzIsOTcsMTE1LDMyLDEwMiwxMTQsMTExLAorICAgIDEyMiwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwxMDAsMTExLDMyLDExMCwKKyAgICAxMTEsMTE2LDMyLDEwNCw5NywxMTgsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMzIsOTksCisgICAgMTExLDEwMCwxMDEsNDYsNzgsMTE0LDQsMCwwLDAsNDAsMiwwLDAsMCwxMTQsCisgICAgMTk1LDAsMCwwLDExNCwxNTYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsCisgICAgMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIwMCwwLDAsMCwzOCwzLDAsCisgICAgMCwxMTUsMiwwLDAsMCwwLDQsMTE3LDI1LDAsMCwwLDcwLDExNCwxMTEsCisgICAgMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LAorICAgIDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDIsCisgICAgMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsCisgICAgMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsMTMxLDEsMCw4Myw0MCwxLDAsCisgICAgMCwwLDExNyw0NiwwLDAsMCw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDg0LDExNCwKKyAgICAxMTcsMTAxLDMyLDEwNSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LDExNSwzMiw5NywzMiwxMTIsOTcsOTksCisgICAgMTA3LDk3LDEwMywxMDEsNDYsNDAsMiwwLDAsMCwxMTQsOTcsMCwwLDAsMTE2LAorICAgIDE3LDAsMCwwLDEwNSwxMTUsOTUsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsOTUsMTEyLDk3LAorICAgIDk5LDEwNyw5NywxMDMsMTAxLDQwLDIsMCwwLDAsMTE0LDE5NSwwLDAsMCwxMTQsCisgICAgMTU2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwxNTMsMCwwLDAsNDQsMywwLDAsMTE1LDIsMCwwLAorICAgIDAsMCw0LDExNywyNSwwLDAsMCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwKKyAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw0NiwxMDUsMTE1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLAorICAgIDEwMSw0MCwxNCwwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU1LDAsMCwwLAorICAgIDExNCw1NywwLDAsMCwxMTQsNTgsMCwwLDAsMTE0LDIwMSwwLDAsMCwxMTQsCisgICAgMTk2LDAsMCwwLDExNCwxOTcsMCwwLDAsMTE0LDE0OCwwLDAsMCwxMTQsMTUxLAorICAgIDAsMCwwLDExNCwxNjgsMCwwLDAsMTE0LDE5OCwwLDAsMCwxMTQsMTk5LDAsCisgICAgMCwwLDExNCwyMDAsMCwwLDAsMTE0LDE1MywwLDAsMCw0MCwxLDAsMCwKKyAgICAwLDExNCw2OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwxMTQsMjAyLDAsMCwwLDI1MywyLDAsMCwxMTUsMjgsCisgICAgMCwwLDAsMTYsNyw2LDIsMTgsNCwzLDEsMTgsNCwzLDEsMywKKyAgICAxLDMsMSwyNywxNCwzLDEsMjEsNSwzLDEsMjEsNSwzLDEsMTE0LAorICAgIDIwMiwwLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsCisgICAgMCw0LDAsMCwwLDY2LDAsMCwwLDExNSwxMDEsMCwwLDAsMTI0LDAsCisgICAgMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwKKyAgICAwLDkwLDMsMCwxMDAsMiwwLDkwLDQsMCwxMDAsMywwLDkwLDUsMCwKKyAgICAxMDAsNCwwLDkwLDYsMCwxMDEsNywwLDEwMCw1LDAsMTAwLDYsMCwxMzIsCisgICAgMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSw3LDAsMTAwLDcsMCwxMDAsOCwKKyAgICAwLDEzMiwwLDAsMTMxLDEsMCw5MCw5LDAsMTAxLDcsMCwxMDAsOSwwLAorICAgIDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwxLDAsMTMxLDEsMCw5MCwxMCwwLDEwMCwKKyAgICA5LDAsODMsNDAsMTIsMCwwLDAsMjQ0LDIxLDAsMCwwLDg3LDEwNSwxMTAsCisgICAgMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDExNyw2NywwLDAsMCw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LAorICAgIDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDExNSwzMiwxMDAsMTAxLDk5LDEwOCw5NywxMTQsMTAxLDEwMCwzMiwxMDUsMTEwLDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDMyLDExNCwxMDEsMTAzLDEwNSwKKyAgICAxMTUsMTE2LDExNCwxMjEsNDYsMTAsMzIsMzIsMzIsMzIsMTE3LDU5LDAsMCwwLDgzLAorICAgIDExMSwxMDIsMTE2LDExOSw5NywxMTQsMTAxLDkyLDgwLDEyMSwxMTYsMTA0LDExMSwxMTAsOTIsODAsCisgICAgMTIxLDExNiwxMDQsMTExLDExMCw2NywxMTEsMTE0LDEwMSw5MiwxMjMsMTE1LDEyMSwxMTUsOTUsMTE4LAorICAgIDEwMSwxMTQsMTE1LDEwNSwxMTEsMTEwLDEyNSw5Miw3NywxMTEsMTAwLDExNywxMDgsMTAxLDExNSw5MiwKKyAgICAxMjMsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksMTAxLDEyNSwxMTcsNjUsMCwwLDAsODMsCisgICAgMTExLDEwMiwxMTYsMTE5LDk3LDExNCwxMDEsOTIsODAsMTIxLDExNiwxMDQsMTExLDExMCw5Miw4MCwKKyAgICAxMjEsMTE2LDEwNCwxMTEsMTEwLDY3LDExMSwxMTQsMTAxLDkyLDEyMywxMTUsMTIxLDExNSw5NSwxMTgsCisgICAgMTAxLDExNCwxMTUsMTA1LDExMSwxMTAsMTI1LDkyLDc3LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDkyLAorICAgIDEyMywxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTI1LDkyLDY4LDEwMSw5OCwxMTcsMTAzLAorICAgIDcwLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDExLDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSw2NywwLDAsMCwxMjEsMjMsMCwxMTYsMCwKKyAgICAwLDEwNiwxLDAsMTE2LDAsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDIsMCwKKyAgICA4Myw4NywxMTAsMzcsMCw0LDExNiwzLDAsMTA3LDEwLDAsMTE0LDYyLDAsMSwKKyAgICAxLDEsMTE2LDAsMCwxMDYsMSwwLDExNiwwLDAsMTA2LDQsMCwxMjQsMSwKKyAgICAwLDEzMSwyLDAsODMsODksMTEwLDEsMCw4OCwxMDAsMCwwLDgzLDQwLDEsCisgICAgMCwwLDAsNzgsNDAsNSwwLDAsMCwyNDQsNywwLDAsMCw5NSwxMTksCisgICAgMTA1LDExMCwxMTQsMTAxLDEwMywxMTYsNywwLDAsMCw3OSwxMTIsMTAxLDExMCw3NSwxMDEsCisgICAgMTIxLDExNiwxNywwLDAsMCw3Miw3NSw2OSw4OSw5NSw2Nyw4NSw4Miw4Miw2OSwKKyAgICA3OCw4NCw5NSw4NSw4Myw2OSw4MiwxMTQsNDAsMCwwLDAsMTE2LDE4LDAsMCwKKyAgICAwLDcyLDc1LDY5LDg5LDk1LDc2LDc5LDY3LDY1LDc2LDk1LDc3LDY1LDY3LDcyLAorICAgIDczLDc4LDY5LDQwLDIsMCwwLDAsMTE0LDE5NSwwLDAsMCwyNDQsMywwLAorICAgIDAsMCwxMDcsMTAxLDEyMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwyNDQsMTQsMCwwLDAsOTUsMTExLDExMiwxMDEsMTEwLDk1LDExNCwKKyAgICAxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNjQsMywwLDAsMTE1LDgsMCwwLDAsCisgICAgMCwyLDMsMSwyMywxLDEzLDEsMTE3LDM2LDAsMCwwLDg3LDEwNSwxMTAsCisgICAgMTAwLDExMSwxMTksMTE1LDgyLDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwKKyAgICAxMDEsMTE0LDQ2LDk1LDExMSwxMTIsMTAxLDExMCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsCisgICAgMTIxLDk5LDIsMCwwLDAsMCwwLDAsMCw2LDAsMCwwLDE2LDAsCisgICAgMCwwLDY3LDAsMCwwLDExNSwxNDIsMCwwLDAsMTI0LDAsMCwxMDYsMCwKKyAgICAwLDExNCwyMSwwLDEyNCwwLDAsMTA2LDEsMCwxMjUsMiwwLDExMCw5LDAsCisgICAgMTI0LDAsMCwxMDYsMiwwLDEyNSwyLDAsMTI0LDIsMCwxMDYsMywwLDEwMCwKKyAgICAxLDAsMTI0LDEsMCwxMDAsMiwwLDExNiw0LDAsMTA2LDUsMCwxMDAsMCwKKyAgICAwLDEwMCwzLDAsMTMzLDIsMCwyNSwxMzEsMCwyLDEyNSwzLDAsMTIxLDQ2LAorICAgIDAsMTI0LDAsMCwxMDYsNiwwLDEyNCwzLDAsMTMxLDEsMCwxNDMsMjUsMCwKKyAgICAxMjUsNCwwLDExNiw3LDAsMTA2LDgsMCwxMjQsNCwwLDEwMCw0LDAsMTMxLAorICAgIDIsMCwxMjUsNSwwLDg3LDEwMCwwLDAsODEsODgsODcsMTEwLDIyLDAsNCwKKyAgICAxMTYsOSwwLDEwNywxMCwwLDExNCwxMzcsMCwxLDEsMSwxMDAsMCwwLDgzLAorICAgIDg5LDExMCwxLDAsODgsMTI0LDUsMCw4Myw0MCw1LDAsMCwwLDc4LDExNCwKKyAgICAxNTYsMCwwLDAsMTE2LDExLDAsMCwwLDExNSwxMjEsMTE1LDk1LDExOCwxMDEsMTE0LAorICAgIDExNSwxMDUsMTExLDExMCwxMTQsMTI0LDAsMCwwLDExNCwzMCwwLDAsMCw0MCwxMCwKKyAgICAwLDAsMCwyNDQsMTEsMCwwLDAsNjgsNjksNjYsODUsNzEsOTUsNjYsODUsCisgICAgNzMsNzYsNjgsMjQ0LDE4LDAsMCwwLDgyLDY5LDcxLDczLDgzLDg0LDgyLDg5LAorICAgIDk1LDc1LDY5LDg5LDk1LDY4LDY5LDY2LDg1LDcxLDI0NCwxMiwwLDAsMCw4MiwKKyAgICA2OSw3MSw3Myw4Myw4NCw4Miw4OSw5NSw3NSw2OSw4OSwxMTQsNDYsMCwwLDAsCisgICAgMTE0LDcsMCwwLDAsMjQ0LDcsMCwwLDAsMTE4LDEwMSwxMTQsMTE1LDEwNSwxMTEsCisgICAgMTEwLDExNCwyMDgsMCwwLDAsMTE0LDIwNiwwLDAsMCwxMTYsMTAsMCwwLDAsCisgICAgODEsMTE3LDEwMSwxMTQsMTIxLDg2LDk3LDEwOCwxMTcsMTAxLDExNCw0MCwwLDAsMCw0MCwKKyAgICA2LDAsMCwwLDExNCwxOTUsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTYsMTIsCisgICAgMCwwLDAsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw5NSwxMDcsMTAxLDEyMSwxMTQsCisgICAgMjA3LDAsMCwwLDExNiw0LDAsMCwwLDEwNCwxMDcsMTAxLDEyMSwyNDQsOCwwLAorICAgIDAsMCwxMDIsMTA1LDEwOCwxMDEsMTEyLDk3LDExNiwxMDQsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDE2LDAsMCwwLDk1LDExNSwKKyAgICAxMDEsOTcsMTE0LDk5LDEwNCw5NSwxMTQsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcxLDMsCisgICAgMCwwLDExNSwyMiwwLDAsMCwwLDIsOSwxLDEyLDIsOSwxLDE1LAorICAgIDEsMjIsMSwzLDEsMTgsMSwyOCwxLDEzLDEsOSwxLDExNywzOCwwLAorICAgIDAsMCw4NywxMDUsMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwKKyAgICAxMjEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTUsMTAxLDk3LDExNCw5OSwxMDQsOTUsCisgICAgMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3OCw5OSwzLDAsMCwwLDAsMCwKKyAgICAwLDAsNywwLDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsMTQwLAorICAgIDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LAorICAgIDMsMCwxMjQsMywwLDEwMCwxLDAsMTA3LDgsMCwxMTQsMzEsMCwxMDAsMSwKKyAgICAwLDgzLDEyMSwxNywwLDExNiwxLDAsMTA2LDIsMCwxMjQsMywwLDEzMSwxLAorICAgIDAsMSw4NywxMTAsMjIsMCw0LDExNiwzLDAsMTA3LDEwLDAsMTE0LDcyLDAsCisgICAgMSwxLDEsMTAwLDEsMCw4Myw4OSwxMTAsMSwwLDg4LDEyMCw2MCwwLDExNiwKKyAgICA0LDAsMTMxLDAsMCw2OCw5Myw0OSwwLDkyLDMsMCwxMjUsNCwwLDEyNSwKKyAgICA1LDAsMTI1LDYsMCwxMjQsMywwLDEwNiw1LDAsMTE2LDYsMCwxMjQsNSwKKyAgICAwLDEzMSwxLDAsMTMxLDEsMCwxMTQsODMsMCwxMjQsNCwwLDEyNCwxLDAsCisgICAgMTI0LDMsMCwxMzEsMiwwLDgzLDExMyw4MywwLDg3LDEwMCwxLDAsODMsNDAsCisgICAgMiwwLDAsMCwxMTcsMzQsMCwwLDAsNzAsMTA1LDExMCwxMDAsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTAwLDMyLDEwNSwxMTAsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTE0LDEwMSwxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw0Niw3OCw0MCw3LDAsMCwKKyAgICAwLDExNCwyMTQsMCwwLDAsMTE0LDMsMCwwLDAsMTE0LDM5LDAsMCwwLAorICAgIDExNCw0MCwwLDAsMCwyNDQsMjcsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LAorICAgIDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsCisgICAgOTcsMTAwLDEwMSwxMTQsMTE1LDI0NCw4LDAsMCwwLDEwMSwxMTAsMTAwLDExNSwxMTksMTA1LAorICAgIDExNiwxMDQsMjQ0LDUsMCwwLDAsMTE2LDExNywxMTIsMTA4LDEwMSw0MCw3LDAsMCwKKyAgICAwLDExNCwxOTUsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsMzUsMCwwLDAsCisgICAgMTE0LDIxMywwLDAsMCwxMTQsMTczLDAsMCwwLDExNCwxMTUsMCwwLDAsMTE0LAorICAgIDM2LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDExNCwxOTcsMCwwLDAsODYsMywwLDAsMTE1LDIwLDAsMCwKKyAgICAwLDAsMywxNSwxLDEyLDEsNCwxLDMsMSwxNywxLDEzLDEsOSwKKyAgICAxLDI1LDEsMjEsMSwxMTcsMzMsMCwwLDAsODcsMTA1LDExMCwxMDAsMTExLDExOSwKKyAgICAxMTUsODIsMTAxLDEwMywxMDUsMTE1LDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsCisgICAgMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDExLDAsMCwwLAorICAgIDExNCw1NiwwLDAsMCwxMTQsNTUsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCwKKyAgICA1OCwwLDAsMCwxMTQsMjExLDAsMCwwLDExNCwyMTAsMCwwLDAsMTE0LDIwOSwKKyAgICAwLDAsMCwxMTQsMjAxLDAsMCwwLDExNCwyMDgsMCwwLDAsMTE0LDIxNCwwLAorICAgIDAsMCwxMTQsMTk3LDAsMCwwLDQwLDEsMCwwLDAsMTE0LDY5LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDExNCwyMDUsMCwwLDAsNTEsMywwLDAsMTE1LDE2LDAsMCwwLDE2LDMsCisgICAgNiwzLDYsMyw2LDIsNiwyLDE4LDcsMTgsMTUsMywxLDExNCwyMDUsCisgICAgMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCisgICAgNSwwLDAsMCw2NiwwLDAsMCwxMTUsNjIsMCwwLDAsMTI0LDAsMCwKKyAgICA2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLAorICAgIDkwLDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAxLAorICAgIDUsMCwxMDAsNCwwLDEwMCw1LDAsMTAwLDYsMCwxMDAsNywwLDEzMiwwLAorICAgIDEsMTMxLDEsMCw5MCw2LDAsMTAwLDgsMCw4Myw0MCw5LDAsMCwwLAorICAgIDI0NCwxMywwLDAsMCw5NSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNjYsOTcsMTE1LDEwNSwKKyAgICA5OSwxMTUsMTE3LDgzLDAsMCwwLDY2LDk3LDExNSwxMDEsMzIsOTksMTA4LDk3LDExNSwKKyAgICAxMTUsMzIsMTExLDEwMiwzMiw5OSwxMTEsMTA5LDEwOSwxMTEsMTEwLDMyLDk5LDExMSwxMDAsMTAxLAorICAgIDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDEyMSwzMiw5OCwxMTEsMTE2LDEwNCwzMiwKKyAgICA4MywxMTEsMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDk3LDExMCwxMDAsCisgICAgMTAsMzIsMzIsMzIsMzIsODMsMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTksMiwwLDAsMCwwLAorICAgIDAsMCwwLDUsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgODgsMCwwLDAsMTE2LDAsMCwxMjQsMCwwLDEwNiwxLDAsMTI0LDEsMCwKKyAgICAxMzEsMSwwLDEzMSwxLDAsMTAwLDEsMCwyNSwxMjUsMiwwLDEyNCwyLDAsCisgICAgMTA2LDIsMCwxMDAsMiwwLDEwMCwxLDAsMTMxLDIsMCwxMDAsMywwLDI1LAorICAgIDEyNSwzLDAsMTI0LDEsMCwxMDYsMywwLDEwMCwyLDAsMTMxLDEsMCwxMDAsCisgICAgNCwwLDI1LDEyNSw0LDAsMTI0LDMsMCwxMDAsNSwwLDEwNywyLDAsMTExLAorICAgIDg3LDAsMTI0LDQsMCwxMDAsNSwwLDEwNywzLDAsODMsNDAsNiwwLDAsCisgICAgMCwxMTcsMTQxLDAsMCwwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwKKyAgICAxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLAorICAgIDMyLDczLDExMCwxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwKKyAgICAxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk4LDEyMSwzMiw5OSwxMDQsMTAxLAorICAgIDk5LDEwNywxMDUsMTEwLDEwMywzMiwxMDUsMTAyLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLAorICAgIDEwMSwxMDAsMzIsOTgsMTIxLDMyLDEwMywxMDEsMTE2LDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsCisgICAgMTA5LDEwMSwzMiwxMDQsOTcsMTE1LDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LAorICAgIDEwMSwzMiwxMTEsMTAyLDMyLDM5LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw0NiwxMTIsCisgICAgMTIxLDM5LDQ2LDExNCwyOSwwLDAsMCwxMTQsMTA0LDAsMCwwLDExNCw3MSwwLAorICAgIDAsMCwxMTQsMTAzLDAsMCwwLDExNCw3OSwwLDAsMCw0MCw0LDAsMCwKKyAgICAwLDExNCwzOCwwLDAsMCwyNDQsMTIsMCwwLDAsMTAzLDEwMSwxMTYsOTUsMTAyLAorICAgIDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNCwzNCwwLDAsMCwxMTQsMzIsMCwwLAorICAgIDAsNDAsNSwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwKKyAgICAxMTQsMTE5LDAsMCwwLDExNiwxMywwLDAsMCwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LAorICAgIDEwOSwxMDEsOTUsOTgsOTcsMTE1LDEwMSwxMTYsOSwwLDAsMCwxMTYsOTcsMTA1LDEwOCwKKyAgICA5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMTUzLDAsMCwwLDEwNiwzLDAsMCwxMTUsOCwwLAorICAgIDAsMCwwLDMsMjUsMSwyMiwxLDE5LDEsMTE3LDI0LDAsMCwwLDk1LAorICAgIDc2LDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0NiwxMDUsMTE1LDk1LAorICAgIDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwyNDQsMTAsMCwwLDAsMTE1LDExMSwxMTcsMTE0LAorICAgIDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsOTksMiwwLDAsMCwxLDAsMCwwLAorICAgIDUsMCwwLDAsMTIsMCwwLDAsNjcsMCwwLDAsMTE1LDE4NCwwLDAsCisgICAgMCwxMjQsMSwwLDEwNiwwLDAsMTI1LDMsMCwxMjQsMCwwLDEwNiwxLDAsCisgICAgMTI0LDMsMCwxMzEsMSwwLDEyNSw0LDAsMTI0LDAsMCwxMDYsMiwwLDEyNCwKKyAgICAzLDAsMTMxLDEsMCwxMjQsMSwwLDk1LDMsMCwxMjQsMiwwLDExNSwxMDYsCisgICAgMCwxMjEsMjIsMCwxMTYsNCwwLDEyNCwxLDAsMTA2LDMsMCwxMzEsMSwwLAorICAgIDEyNCwxLDAsOTUsNSwwLDg3LDExMywxMTgsMCw0LDExNiw2LDAsMTA3LDEwLAorICAgIDAsMTE0LDEwMiwwLDEsMSwxLDEyNCwxLDAsMTA2LDMsMCwxMjQsMSwwLAorICAgIDk1LDUsMCw4OSwxMTMsMTE4LDAsODgsMTEwLDEyLDAsMTI0LDEsMCwxMDYsMywKKyAgICAwLDEyNCwxLDAsOTUsNSwwLDEyNCwwLDAsMTA2LDcsMCwxMjQsMywwLAorICAgIDEzMSwxLDAsMTE0LDE2MSwwLDExNiw4LDAsMTI0LDEsMCwxMDYsMywwLDEzMSwKKyAgICAxLDAsMTAwLDEsMCwyNSwxMDMsMSwwLDEyNCwxLDAsOTUsOSwwLDExMCwKKyAgICAwLDAsMTE2LDEwLDAsMTE2LDExLDAsMTI0LDQsMCwxMjQsMSwwLDEwNiwxMiwKKyAgICAwLDEzMSwzLDAsMSwxMjQsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDgyLAorICAgIDAsMCwwLDcyLDEwMSwxMDgsMTEyLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTA4LDExMSwKKyAgICA5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTcsOTgsMTA4LDEwMSwzMiwxMTYsCisgICAgMTExLDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsMzIsMTAxLDEwNSwxMTYsMTA0LDEwMSwxMTQsMzIsCisgICAgMTE1LDExMSwxMTcsMTE0LDk5LDEwMSwzMiwxMTEsMTE0LDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsCisgICAgMTA4LDEwMSwxMTUsMTE1LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEwOCwxMTEsOTcsCisgICAgMTAwLDEwNSwxMTAsMTAzLDQ2LDExNCw3MSwwLDAsMCw0MCwxMywwLDAsMCwxMTQsCisgICAgNTYsMCwwLDAsMTE0LDE5OSwwLDAsMCwxMTQsMjE5LDAsMCwwLDExNCwyMDQsCisgICAgMCwwLDAsMTE0LDEyMCwwLDAsMCwxMTYsMTAsMCwwLDAsOTUsOTUsOTksCisgICAgOTcsOTksMTA0LDEwMSwxMDAsOTUsOTUsMTE0LDExMiwwLDAsMCwxMTQsMTUzLDAsMCwKKyAgICAwLDExNCwzOCwwLDAsMCwxMTQsMTQzLDAsMCwwLDExNCwxMDIsMCwwLDAsCisgICAgMjQ0LDQsMCwwLDAsMTAxLDEyMCwxMDEsOTksMTE0LDYyLDAsMCwwLDQwLDUsCisgICAgMCwwLDAsMTE0LDc4LDAsMCwwLDExNCwxNDUsMCwwLDAsMTE0LDIyMCwwLAorICAgIDAsMCwxMTQsNjYsMCwwLDAsMjQ0LDExLDAsMCwwLDk5LDExMSwxMDAsMTAxLAorICAgIDk1LDExMSw5OCwxMDYsMTAxLDk5LDExNiwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyNDQsMTIsMCwwLDAsOTUsMTA4LDExMSw5NywxMDAsCisgICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDMsMCwwLDExNSwyNiwwLDAsMCwKKyAgICAwLDQsOSwxLDE1LDEsMTgsMSw2LDEsMywxLDIyLDEsMTMsMSwKKyAgICAyMCwyLDEyLDEsMTUsMSwyOCwyLDE5LDEsMTE3LDI2LDAsMCwwLDk1LAorICAgIDc2LDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSw0Niw5NSwxMDgsMTExLAorICAgIDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw3OCw0MCw3LDAsMCwwLDExNCwKKyAgICA1NiwwLDAsMCwxMTQsNTUsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCw1OCwKKyAgICAwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCwxNTksMCwwLDAsMTE0LDIyMywwLAorICAgIDAsMCw0MCwxLDAsMCwwLDExNCw2OSwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE4LDAsMCwwLAorICAgIDEwMSwzLDAsMCwxMTUsOCwwLDAsMCwxNiwzLDYsMiwxMiw4LDYsCisgICAgMSwxMTQsMjE4LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLAorICAgIDAsMCwwLDQsMCwwLDAsNjYsMCwwLDAsMTE1LDEyMiwwLDAsMCwKKyAgICAxMjQsMCwwLDY5LDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLAorICAgIDEwMCwxLDAsMTAwLDIsMCwxMzIsMCwwLDkwLDMsMCwxMDAsMywwLDEwMCwKKyAgICA0LDAsMTMyLDAsMCw5MCw0LDAsMTAwLDUsMCwxMDAsNiwwLDEzMiwwLAorICAgIDAsOTAsNSwwLDEwMCw3LDAsMTAwLDgsMCwxMzIsMCwwLDkwLDYsMCwKKyAgICAxMDAsOSwwLDEwMCwxMCwwLDEzMiwwLDAsOTAsNywwLDEwMCwxMSwwLDEwMCwKKyAgICAyMCwwLDEwMCwxMywwLDEwMCwxNCwwLDEzMiwwLDEsOTAsOCwwLDEwMCwxNSwKKyAgICAwLDEwMCwxNiwwLDEzMiwwLDAsOTAsOSwwLDEwMCwxNywwLDEwMCwxOCwwLAorICAgIDEzMiwwLDAsOTAsMTAsMCwxMDAsMTksMCw4Myw0MCwyMSwwLDAsMCwyNDQsCisgICAgMTIsMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICA5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwxLDAsMCwKKyAgICAwLDY3LDAsMCwwLDExNSwxMCwwLDAsMCwxMTYsMCwwLDEzMCwxLDAsCisgICAgMTAwLDEsMCw4Myw0MCwyLDAsMCwwLDExNywxNzgsMCwwLDAsNzksMTEyLAorICAgIDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE2LDEwNCwKKyAgICA5NywxMTYsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOSwKKyAgICAxMTEsMTAwLDEwNSwxMDIsMTA1LDk5LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTYsMTA1LDEwOSwxMDEsCisgICAgMzIsNDAsOTcsMTEwLDMyLDEwNSwxMTAsMTE2LDQxLDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsCisgICAgMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsCisgICAgMTA1LDEwMSwxMDAsMzIsMTEyLDk3LDExNiwxMDQsNDQsMzIsMTE5LDEwNCwxMDEsMTE0LDEwMSwzMiwKKyAgICAxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDk3LDMyLDExNSwxMTYsMTE0LDQ2LDEwLDEwLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDgyLDk3LDEwNSwxMTUsMTAxLDExNSwzMiw3MywKKyAgICA3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiw5OCwxMDEsMzIsMTA0LAorICAgIDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgNzgsNDAsMSwwLDAsMCwyNDQsNywwLDAsMCw3Myw3OSw2OSwxMTQsMTE0LAorICAgIDExMSwxMTQsNDAsMiwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDM1LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDI0NCwxMCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDksMTE2LDEwNSwxMDksMTAxLDEzNywKKyAgICAzLDAsMCwxMTUsMiwwLDAsMCwwLDYsMTE3LDIzLDAsMCwwLDgzLAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTA5LDExNiwxMDUsMTA5LDEwMSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwKKyAgICAwLDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwyMCwwLDAsMCwKKyAgICAxMDUsMSwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEzMSwxLDAsMTAwLAorICAgIDEsMCw1NCw4Myw0MCwyLDAsMCwwLDExNywxNzAsMSwwLDAsNzksMTEyLAorICAgIDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE0LDEwMSwKKyAgICAxMTYsMTE3LDExNCwxMTAsMTA1LDExMCwxMDMsMzIsOTcsMzIsMTA5LDEwMSwxMTYsOTcsMTAwLDk3LAorICAgIDExNiw5NywzMiwxMDAsMTA1LDk5LDExNiwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMTUsMTEyLDEwMSw5OSwxMDUsMTAyLDEwNSwxMDEsMTAwLDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsOTgsMTIxLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDExNSwxMTYsMTE0LDQxLDQ2LDEwLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDMyLDgwLDExMSwxMTUsMTE1LDEwNSw5OCwxMDgsMTAxLDMyLDEwNywxMDEsCisgICAgMTIxLDExNSw1OCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0NSwzMiwzOSwxMDksCisgICAgMTE2LDEwNSwxMDksMTAxLDM5LDMyLDQwLDEwOSw5NywxMTAsMTAwLDk3LDExNiwxMTEsMTE0LDEyMSwKKyAgICA0MSwzMiwxMDUsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDExMCwxMTcsMTA5LDEwMSwxMTQsMTA1LDk5LAorICAgIDMyLDExNiwxMDUsMTA5LDEwMSwxMTUsMTE2LDk3LDEwOSwxMTIsMzIsMTExLDEwMiwzMiwxMDgsOTcsCisgICAgMTE1LDExNiwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDk5LDExMSwxMDAsMTAxLDMyLDEwOSwxMTEsMTAwLDEwNSwxMDIsMTA1LDk5LAorICAgIDk3LDExNiwxMDUsMTExLDExMCw1OSwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw0NSwKKyAgICAzMiwzOSwxMTUsMTA1LDEyMiwxMDEsMzksMzIsNDAsMTExLDExMiwxMTYsMTA1LDExMSwxMTAsOTcsCisgICAgMTA4LDQxLDMyLDEwNSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDEwNSwxMjIsMTAxLDMyLDEwNSwKKyAgICAxMTAsMzIsOTgsMTIxLDExNiwxMDEsMTE1LDMyLDExMSwxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LAorICAgIDExMSwxMTcsMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDEwNSwxMTAsCisgICAgMTAzLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiw5NywxMDgsCisgICAgMTA4LDExMSwxMTksMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsCisgICAgMTE2LDExMSwzMiwxMTQsMTAxLDk3LDEwMCwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSwKKyAgICAzMiwxMDIsMTA1LDEwOCwxMDEsMTE1LDQ2LDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDgyLDk3LDEwNSwxMTUsMTAxLDExNSwzMiw3Myw3OSw2OSwxMTQsMTE0LDExMSwxMTQsMzIsMTE5LAorICAgIDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDk5LDk3LDExMCwKKyAgICAxMTAsMTExLDExNiwzMiw5OCwxMDEsMzIsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwxMDAsNDYsMTAsCisgICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDE3OSwwLDAsMCw0MCwxLDAsCisgICAgMCwwLDExNCwyMjYsMCwwLDAsNDAsMiwwLDAsMCwxMTQsNzgsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw1LDAsMCwwLDI0NCwxMCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsCisgICAgMTE2LDk3LDExNiwxMTUsMTQ1LDMsMCwwLDExNSwyLDAsMCwwLDAsMTEsMTE3LAorICAgIDIzLDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsCisgICAgNDYsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDExNiw5NywxMTYsMTE1LDk5LDQsMCwwLDAsCisgICAgMCwwLDAsMCw0LDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsCisgICAgMTE1LDE2LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMiwwLDEyNCwzLAorICAgIDAsMTMxLDIsMCw4Myw0MCwxLDAsMCwwLDExNywyMjgsMCwwLDAsNzksCisgICAgMTEyLDExNiwxMDUsMTExLDExMCw5NywxMDgsMzIsMTA5LDEwMSwxMTYsMTA0LDExMSwxMDAsMzIsMTE5LAorICAgIDEwNCwxMDUsOTksMTA0LDMyLDExOSwxMTQsMTA1LDExNiwxMDEsMTE1LDMyLDEwMCw5NywxMTYsOTcsCisgICAgMzIsNDAsOTgsMTIxLDExNiwxMDEsMTE1LDQxLDMyLDExNiwxMTEsMzIsOTcsMzIsMTAyLDEwNSwKKyAgICAxMDgsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDQwLDk3LDMyLDExNSwxMTYsMTE0LDQxLDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwOSwxMTIsMTA4LDEwMSwxMDksCisgICAgMTAxLDExMCwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwKKyAgICAxMTEsMTAwLDMyLDk3LDEwOCwxMDgsMTExLDExOSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwKKyAgICAxMDEsMzIsMTE5LDExNCwxMDUsMTE2LDEwNSwxMTAsMTAzLDMyLDExMSwxMDIsMzIsOTgsMTIxLDExNiwKKyAgICAxMDEsOTksMTExLDEwMCwxMDEsMzIsMTAyLDEwNSwxMDgsMTAxLDExNSw0NiwxMCwxMCwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiw4NCwxMDQsMTAxLDMyLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsCisgICAgMzIsMTEyLDk3LDExNiwxMDQsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwKKyAgICAxMDUsMTEwLDMyLDExMSwxMTQsMTAwLDEwMSwxMTQsMzIsMTE2LDExMSwzMiw5OSwxMTEsMTE0LDExNCwKKyAgICAxMDEsOTksMTE2LDEwOCwxMjEsMzIsMTE2LDExNCw5NywxMTAsMTE1LDEwMiwxMDEsMTE0LDMyLDExMiwKKyAgICAxMDEsMTE0LDEwOSwxMDUsMTE1LDExNSwxMDUsMTExLDExMCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsNDAsMSwwLDAsMCwyNDQsOCwwLDAsMCwxMTUsMTAxLDExNiwKKyAgICA5NSwxMDAsOTcsMTE2LDk3LDQwLDQsMCwwLDAsMTE0LDc4LDAsMCwwLDExNCwKKyAgICAxMzAsMCwwLDAsMTE2LDEwLDAsMCwwLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTEyLAorICAgIDk3LDExNiwxMDQsMTE0LDUyLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDI0NCwxNSwwLDAsMCw5NSw5OSw5Nyw5OSwKKyAgICAxMDQsMTAxLDk1LDk4LDEyMSwxMTYsMTAxLDk5LDExMSwxMDAsMTAxLDE1OCwzLDAsMCwxMTUsCisgICAgMiwwLDAsMCwwLDgsMTE3LDI4LDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSw5NSw5OCwKKyAgICAxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw5OSwzLDAsMCwwLDAsMCwwLDAsCisgICAgMywwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSw0LDAsMCwKKyAgICAwLDEwMCwxLDAsODMsNDAsMiwwLDAsMCwxMTcsMTUwLDAsMCwwLDc5LAorICAgIDExMiwxMTYsMTA1LDExMSwxMTAsOTcsMTA4LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExOSwKKyAgICAxMDQsMTA1LDk5LDEwNCwzMiwxMTksMTE0LDEwNSwxMTYsMTAxLDExNSwzMiwxMDAsOTcsMTE2LDk3LAorICAgIDMyLDQwLDk4LDEyMSwxMTYsMTAxLDExNSw0MSwzMiwxMTYsMTExLDMyLDk3LDMyLDEwMiwxMDUsCisgICAgMTA4LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiw0MCw5NywzMiwxMTUsMTE2LDExNCw0MSw0NiwKKyAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDksMTEyLDEwOCwxMDEsMTA5LAorICAgIDEwMSwxMTAsMTE2LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTA1LDExNSwzMiwxMDksMTAxLDExNiwxMDQsCisgICAgMTExLDEwMCwzMiw5NywxMDgsMTA4LDExMSwxMTksMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExOSwxMTQsMTA1LDExNiwxMDUsMTEwLDEwMywzMiwxMTEsMTAyLDMyLDk4LDEyMSwxMTYsCisgICAgMTAxLDk5LDExMSwxMDAsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwxMTUsNDYsMTAsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMzIsMzIsNzgsMTE0LDQsMCwwLDAsNDAsMywwLDAsMCwKKyAgICAxMTQsNzgsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw1MiwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjI4LAorICAgIDAsMCwwLDE2OCwzLDAsMCwxMTUsMCwwLDAsMCwxMTcsMjEsMCwwLAorICAgIDAsODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTAxLAorICAgIDExNiw5NSwxMDAsOTcsMTE2LDk3LDk5LDIsMCwwLDAsMCwwLDAsMCw5LAorICAgIDAsMCwwLDQ0LDAsMCwwLDY3LDAsMCwwLDExNSw2MiwxLDAsMCwKKyAgICAxMDAsMSwwLDEwMCwyLDAsMTA4LDAsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LAorICAgIDEsMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDMsMCwxMjEsMTksMCwxMjQsMCwKKyAgICAwLDEwNiwyLDAsMTI0LDMsMCwxMzEsMSwwLDEyNSw0LDAsODcsMTEwLDU4LAorICAgIDAsNCwxMTYsMywwLDEwNywxMCwwLDExNCwxMDYsMCwxLDEyNSw1LDAsMSwKKyAgICAxMjIsMjYsMCwxMTYsNCwwLDEwMCwzLDAsMTAwLDQsMCwxMjQsMSwwLDEzMSwKKyAgICAxLDEsMTI0LDUsMCwxMzAsMiwwLDg3LDg5LDEwMCwyLDAsMTAwLDIsMCwKKyAgICAxMjUsNSwwLDEyNiw1LDAsODgsMTEwLDEsMCw4OCwxMTYsNSwwLDEwNiw2LAorICAgIDAsMTI0LDQsMCwxMzEsMSwwLDEwNiw3LDAsMTI1LDYsMCwxMjEsMTksMCwKKyAgICAxMjQsMiwwLDEwNiw4LDAsMTI0LDYsMCwxMzEsMSwwLDEyNSw3LDAsODcsCisgICAgMTEwLDU4LDAsNCwxMTYsOSwwLDEwNywxMCwwLDExNCwyMDQsMCwxLDEyNSw1LAorICAgIDAsMSwxMjIsMjYsMCwxMTYsNCwwLDEwMCw1LDAsMTAwLDQsMCwxMjQsMSwKKyAgICAwLDEzMSwxLDEsMTI0LDUsMCwxMzAsMiwwLDg3LDg5LDEwMCwyLDAsMTAwLAorICAgIDIsMCwxMjUsNSwwLDEyNiw1LDAsODgsMTEwLDEsMCw4OCwxMTYsNSwwLAorICAgIDEwNiwxMCwwLDEwMCwyLDAsMTAwLDYsMCwxMzEsMiwwLDEyNSw4LDAsMTIxLAorICAgIDMwLDAsMTI0LDgsMCwxMDYsMTEsMCwxMjQsNCwwLDEwNiwxMSwwLDEyNCw3LAorICAgIDAsMTAwLDEsMCwyNSwxMzEsMSwwLDEzMSwxLDAsODMsODcsMTEwLDU4LDAsCisgICAgNCwxMTYsMTIsMCwxMDcsMTAsMCwxMTQsNTcsMSwxLDEyNSw1LDAsMSwxMjIsCisgICAgMjYsMCwxMTYsNCwwLDEwMCw3LDAsMTAwLDQsMCwxMjQsMSwwLDEzMSwxLAorICAgIDEsMTI0LDUsMCwxMzAsMiwwLDg3LDg5LDEwMCwyLDAsMTAwLDIsMCwxMjUsCisgICAgNSwwLDEyNiw1LDAsODgsMTEwLDEsMCw4OCwxMDAsMiwwLDgzLDQwLDgsCisgICAgMCwwLDAsMTE3LDUyLDAsMCwwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwKKyAgICAxMTEsMTAyLDMyLDczLDExMCwxMTUsMTEyLDEwMSw5OSwxMTYsNzYsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNDYsMTE0LDcxLDAsMCwKKyAgICAwLDc4LDExNywzOSwwLDAsMCwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDExMCwxMTEsCisgICAgMTE2LDMyLDk3LDExOCw5NywxMDUsMTA4LDk3LDk4LDEwOCwxMDEsMzIsMTE2LDEwNCwxMTQsMTExLAorICAgIDExNywxMDMsMTA0LDMyLDEwMywxMDEsMTE2LDk1LDEwMCw5NywxMTYsOTcsNDAsNDEsMTE0LDY2LAorICAgIDAsMCwwLDExNywyNSwwLDAsMCw3MCw5NywxMDUsMTA4LDEwMSwxMDAsMzIsMTE2LAorICAgIDExMSwzMiwxMDAsMTAxLDExNiwxMDEsOTksMTE2LDMyLDEwMSwxMTAsOTksMTExLDEwMCwxMDUsMTEwLAorICAgIDEwMyw4NCwxMTcsMjgsMCwwLDAsNzAsOTcsMTA1LDEwOCwxMDEsMTAwLDMyLDExNiwxMTEsCisgICAgMzIsMTAwLDEwMSw5OSwxMTEsMTAwLDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDEwMiwKKyAgICAxMDUsMTA4LDEwMSw0MCwxMywwLDAsMCwyNDQsOCwwLDAsMCwxMTYsMTExLDEwNywKKyAgICAxMDEsMTEwLDEwNSwxMjIsMTAxLDExNCwyMTksMCwwLDAsMjQ0LDgsMCwwLDAsMTAzLAorICAgIDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywxMTQsNDAsMCwwLDAsMTE0LDE1NCwwLDAsCisgICAgMCwxMTQsNDgsMCwwLDAsMTE2LDcsMCwwLDAsNjYsMTIxLDExNiwxMDEsMTE1LAorICAgIDczLDc5LDExNiw4LDAsMCwwLDExNCwxMDEsOTcsMTAwLDEwOCwxMDUsMTEwLDEwMSwxMTYsCisgICAgMTUsMCwwLDAsMTAwLDEwMSwxMTYsMTAxLDk5LDExNiw5NSwxMDEsMTEwLDk5LDExMSwxMDAsCisgICAgMTA1LDExMCwxMDMsMjQ0LDExLDAsMCwwLDgzLDEyMSwxMTAsMTE2LDk3LDEyMCw2OSwxMTQsCisgICAgMTE0LDExMSwxMTQsMTE2LDI1LDAsMCwwLDczLDExMCw5OSwxMTQsMTAxLDEwOSwxMDEsMTEwLAorICAgIDExNiw5NywxMDgsNzgsMTAxLDExOSwxMDgsMTA1LDExMCwxMDEsNjgsMTAxLDk5LDExMSwxMDAsMTAxLAorICAgIDExNCwyNDQsNiwwLDAsMCwxMDAsMTAxLDk5LDExMSwxMDAsMTAxLDI0NCwxOCwwLDAsCisgICAgMCw4NSwxMTAsMTA1LDk5LDExMSwxMDAsMTAxLDY4LDEwMSw5OSwxMTEsMTAwLDEwMSw2OSwxMTQsCisgICAgMTE0LDExMSwxMTQsNDAsOSwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLAorICAgIDAsMCwxMTQsMjMwLDAsMCwwLDExNCwzNSwwLDAsMCwyNDQsMTIsMCwwLAorICAgIDAsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSwxMTUsMjQ0LDMsMCwKKyAgICAwLDAsMTAxLDEyMCw5OSwxMTYsMTAsMCwwLDAsMTE0LDEwMSw5NywxMDAsMTE1LDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSwyNDQsOCwwLDAsMCwxMDEsMTEwLDk5LDExMSwxMDAsMTA1LDExMCwKKyAgICAxMDMsMTE2LDE1LDAsMCwwLDExMCwxMDEsMTE5LDEwOCwxMDUsMTEwLDEwMSw5NSwxMDAsMTAxLAorICAgIDk5LDExMSwxMDAsMTAxLDExNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjAwLDAsMCwwLDE3NSwzLDAsMCwxMTUsMzgsMCwKKyAgICAwLDAsMCwyLDEyLDEsMTUsMSwzLDEsMTksMSwxOCwxLDksMSwKKyAgICAzMSwxLDE4LDEsMywxLDE5LDEsMTgsMSw5LDEsMzEsMSwxOCwxLAorICAgIDMsMSwzMCwxLDE4LDEsOSwxLDExNywyMywwLDAsMCw4MywxMTEsMTE3LAorICAgIDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsCisgICAgMTE3LDExNCw5OSwxMDEsMjQ0LDksMCwwLDAsOTUsMTExLDExMiwxMTYsMTA1LDEwOSwxMDUsCisgICAgMTIyLDEwMSwxMTQsMjksMCwwLDAsOTksMywwLDAsMCwxLDAsMCwwLAorICAgIDQsMCwwLDAsOSwwLDAsMCw2NywwLDAsMCwxMTUsMzEsMCwwLAorICAgIDAsMTE2LDAsMCwxMTYsMSwwLDEyNCwxLDAsMTI0LDIsMCwxMDAsMSwwLAorICAgIDEwMCwyLDAsMTAwLDMsMCwxMDAsNCwwLDEyNCwzLDAsMTMxLDQsMiw4MywKKyAgICA0MCw1LDAsMCwwLDExNywxMzAsMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsCisgICAgMzIsOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsMTAwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTUsCisgICAgMTExLDExNywxMTQsOTksMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDg0LDEwNCwxMDEsMzIsMzksMTAwLDk3LDExNiw5NywzOSwzMiw5NywxMTQsMTAzLDExNywxMDksCisgICAgMTAxLDExMCwxMTYsMzIsOTksOTcsMTEwLDMyLDk4LDEwMSwzMiw5NywxMTAsMTIxLDMyLDExMSwKKyAgICA5OCwxMDYsMTAxLDk5LDExNiwzMiwxMTYsMTIxLDExMiwxMDEsMzIsMTE2LDEwNCw5NywxMTYsMzIsCisgICAgOTksMTExLDEwOSwxMTIsMTA1LDEwOCwxMDEsNDAsNDEsMzIsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsCisgICAgMTE2LDExNSw0NiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsMjIxLDAsMCwKKyAgICAwLDExNiwxMiwwLDAsMCwxMDAsMTExLDExMCwxMTYsOTUsMTA1LDExMCwxMDQsMTAxLDExNCwKKyAgICAxMDUsMTE2LDg0LDExNCwxMDYsMCwwLDAsNDAsMiwwLDAsMCwxMTQsMTAyLDAsCisgICAgMCwwLDI0NCw3LDAsMCwwLDk5LDExMSwxMDksMTEyLDEwNSwxMDgsMTAxLDQwLDQsCisgICAgMCwwLDAsMTE0LDc4LDAsMCwwLDExNCw1MiwwLDAsMCwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDIzOCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyNDQsMTQsMCwwLDAsMTE1LDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSw5NSwxMTYsMTExLDk1LDk5LDExMSwxMDAsMTAxLDE5NywzLDAsMCwxMTUsNCwwLAorICAgIDAsMCwwLDUsMTgsMSwxMTcsMjcsMCwwLDAsODMsMTExLDExNywxMTQsOTksCisgICAgMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTUsMTExLDExNywxMTQsOTksMTAxLDk1LDExNiwKKyAgICAxMTEsOTUsOTksMTExLDEwMCwxMDEsOTksMiwwLDAsMCwwLDAsMCwwLDEwLAorICAgIDAsMCwwLDQ1LDAsMCwwLDY3LDAsMCwwLDExNSwxNzcsMSwwLDAsCisgICAgMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEwMCwKKyAgICAxLDAsMTI1LDMsMCwxMjEsMTYsMCwxMTYsMSwwLDEyNCwyLDAsMTMxLDEsCisgICAgMCwxMjUsNCwwLDg3LDExMCwyNCwwLDQsMTE2LDIsMCwxMDcsMTAsMCwxMTQsCisgICAgNjMsMCwxLDEsMSwxMDAsMSwwLDEyNSw0LDAsODksMTEwLDIwMiwwLDg4LAorICAgIDEyMSwxOSwwLDEyNCwwLDAsMTA2LDMsMCwxMjQsMiwwLDEzMSwxLDAsMTI1LAorICAgIDUsMCw4NywxMTAsMTgsMCw0LDExNiw0LDAsMTA3LDEwLDAsMTE0LDEwMywwLAorICAgIDEsMSwxLDg5LDExMCwxNjIsMCw4OCwxMTYsNSwwLDEyNCw1LDAsMTAwLDIsCisgICAgMCwyNSwxMzEsMSwwLDEyNSwzLDAsMTIxLDE5LDAsMTI0LDAsMCwxMDYsNiwKKyAgICAwLDEyNCw0LDAsMTMxLDEsMCwxMjUsNiwwLDg3LDExMCwxOCwwLDQsMTE2LAorICAgIDcsMCwxMDcsMTAsMCwxMTQsMTU5LDAsMSwxLDEsODksMTEwLDEwNiwwLDg4LAorICAgIDEyMSwzNCwwLDExNiw4LDAsMTI0LDYsMCwxMDAsMywwLDEyNCw1LDAsMTAwLAorICAgIDQsMCwxMjQsMSwwLDEwMCw1LDAsMTI0LDQsMCwxMzEsMSwzLDEyNSw3LAorICAgIDAsODcsMTEwLDI0LDAsNCwxMTYsOSwwLDExNiwxMCwwLDEwMiwyLDAsMTA3LAorICAgIDEwLDAsMTE0LDIyMCwwLDEsMSwxLDg5LDExMCw0NSwwLDg4LDExNiwxMSwwLAorICAgIDEwMCw2LDAsMTI0LDQsMCwxMjQsMiwwLDEzMSwzLDAsMSwxMTYsMTIsMCwKKyAgICAxMjQsNywwLDEwMCw0LDAsMTI0LDEsMCwxMDAsNywwLDEyNCw0LDAsMTAwLAorICAgIDgsMCwxMjQsMiwwLDEzMSwxLDMsODMsMTI0LDAsMCwxMDYsNiwwLDEyNCwKKyAgICAyLDAsMTMxLDEsMCwxMjUsOCwwLDEyNCwwLDAsMTA2LDEzLDAsMTI0LDgsCisgICAgMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDksMCwxMTYsMTEsMCwxMDAsOSwwLAorICAgIDEyNCwyLDAsMTMxLDIsMCwxLDExNiwxNCwwLDEwNiwxNSwwLDEyLDExNCwxNzMsCisgICAgMSwxMjQsNCwwLDEwMCwxLDAsMTA3LDksMCwxMTQsMTczLDEsMTI0LDMsMCwKKyAgICAxMDAsMSwwLDEwNyw5LDAsMTE0LDE3MywxLDExNiwxNiwwLDEyNCw5LDAsMTI0LAorICAgIDMsMCwxMTYsMTcsMCwxMjQsOCwwLDEzMSwxLDAsMTMxLDMsMCwxMjUsNiwKKyAgICAwLDEyMSwzNiwwLDEyNCwwLDAsMTA2LDE4LDAsMTI0LDIsMCwxMjQsNCwwLAorICAgIDEyNCw2LDAsMTMxLDMsMCwxLDExNiwxMSwwLDEwMCwxMCwwLDEyNCw0LDAsCisgICAgMTMxLDIsMCwxLDg3LDExMywxNzMsMSw0LDExNiwyLDAsMTA3LDEwLDAsMTE0LAorICAgIDE2OSwxLDEsMSwxLDg5LDExMywxNzMsMSw4OCwxMTAsMCwwLDEyNCw5LDAsCisgICAgODMsNDAsMTEsMCwwLDAsMTE3LDE5MCwwLDAsMCw2NywxMTEsMTEwLDk5LDExNCwKKyAgICAxMDEsMTE2LDEwMSwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LAorICAgIDExMSwxMTAsMzIsMTExLDEwMiwzMiw3MywxMTAsMTE1LDExMiwxMDEsOTksMTE2LDc2LDExMSw5NywKKyAgICAxMDAsMTAxLDExNCw0NiwxMDMsMTAxLDExNiw5NSw5OSwxMTEsMTAwLDEwMSw0NiwxMCwxMCwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiw4MiwxMDEsOTcsMTAwLDEwNSwxMTAsMTAzLDMyLDExMSwKKyAgICAxMDIsMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwKKyAgICAxMTQsMTAxLDExNSwzMiwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTE2LDk3LDExNiwxMTUsMzIsMTE2LAorICAgIDExMSwzMiw5OCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCwKKyAgICA0NiwzMiw4NCwxMTEsMzIsMTE5LDExNCwxMDUsMTE2LDEwMSwxMCwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiw5OCwxMjEsMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw0NCwzMiwxMTUsMTAxLDExNiwKKyAgICA5NSwxMDAsOTcsMTE2LDk3LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5NywxMDgsMTE1LDExMSwzMiwKKyAgICA5OCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw0NiwxMCwKKyAgICAxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3OCwxMTQsMTc5LDAsMCwwLDExNCwKKyAgICAxMjgsMCwwLDAsMTE0LDY2LDAsMCwwLDExNCwzNSwwLDAsMCwxMTcsMTMsCisgICAgMCwwLDAsMTIzLDEyNSwzMiwxMDksOTcsMTE2LDk5LDEwNCwxMDEsMTE1LDMyLDEyMywxMjUsCisgICAgMTE0LDEyOSwwLDAsMCwxMTQsMTMwLDAsMCwwLDExNywxOSwwLDAsMCw5OSwKKyAgICAxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsMzIsMTAyLDExNCwxMTEsMTA5LDMyLAorICAgIDEyMywxMjUsMTE3LDEwLDAsMCwwLDExOSwxMTQsMTExLDExNiwxMDEsMzIsMTIzLDMzLDExNCwKKyAgICAxMjUsNDAsMTksMCwwLDAsMTE0LDIxOSwwLDAsMCwxMTQsMTIwLDAsMCwwLAorICAgIDExNCwxMTIsMCwwLDAsMTE0LDIyNywwLDAsMCwxMTQsMjI1LDAsMCwwLDExNCwKKyAgICAxNCwwLDAsMCwxMTQsMjMxLDAsMCwwLDExNCw0MCwwLDAsMCwxMTQsMTg1LAorICAgIDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDE4MiwwLDAsMCwxMTQsMTQxLDAsCisgICAgMCwwLDExNCwxOTAsMCwwLDAsMTE0LDI0MCwwLDAsMCwxMTQsNywwLDAsCisgICAgMCwyNDQsMTksMCwwLDAsMTAwLDExMSwxMTAsMTE2LDk1LDExOSwxMTQsMTA1LDExNiwxMDEsCisgICAgOTUsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTE0LDE5MywwLDAsMCwxMTQsMzEsCisgICAgMCwwLDAsMTE0LDIyOSwwLDAsMCw0MCwxMCwwLDAsMCwxMTQsNzgsMCwKKyAgICAwLDAsMTE0LDE1NiwwLDAsMCwxMTQsMTMwLDAsMCwwLDExNCwxODMsMCwwLAorICAgIDAsMTE0LDEyOSwwLDAsMCwyNDQsMiwwLDAsMCwxMTUsMTE2LDExNCw1MiwwLAorICAgIDAsMCwyNDQsMTAsMCwwLDAsOTgsMTIxLDExNiwxMDEsMTE1LDk1LDEwMCw5NywxMTYsCisgICAgOTcsMTE0LDIzNSwwLDAsMCwxMTQsMjIyLDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxOTksMCwwLDAsMjA1LAorICAgIDMsMCwwLDExNSw3OCwwLDAsMCwwLDcsMTUsMSw2LDEsMywxLAorICAgIDE2LDEsMTMsMSwxMSwyLDMsMSwxOSwxLDEzLDEsNSwyLDE2LDEsCisgICAgMywxLDE5LDEsMTMsMSw1LDIsMywxLDksMSwxMiwxLDEzLDEsCisgICAgMTksMSw1LDIsOSwxLDcsMSwxNSwxLDYsMSw3LDEsMTUsMSwKKyAgICAxOCwxLDEzLDEsMjIsMSwxMiwxLDksMSwxNSwxLDMsMSwxOSwxLAorICAgIDE3LDEsMTMsMSw4LDEsMTE3LDIxLDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LAorICAgIDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTAzLDEwMSwxMTYsOTUsOTksMTExLDEwMCwxMDEsCisgICAgOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsCisgICAgMCw2NywwLDAsMCwxMTUsMTMsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDEyNCwxLDAsMTMxLDEsMCw4Myw0MCwxLDAsMCwwLDExNywwLDEsMCwKKyAgICAwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LAorICAgIDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDc2LDExMSw5NywxMDAsCisgICAgMTAxLDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwKKyAgICAxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw4MiwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwKKyAgICAxMTUsMzIsNjksMTIwLDEwMSw5OSwxMTcsMTE2LDEwNSwxMTEsMTEwLDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0NiwxMDMsMTAxLDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMzIsOTcsCisgICAgMTEwLDEwMCwzMiw4MiwxMDEsMTE1LDExMSwxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsMTAzLDEwMSwxMTYsOTUsMTAwLDk3LDExNiw5NywzMiwxMTYsMTExLDMyLDk4LDEwMSwKKyAgICAxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsCisgICAgMTEwLDExNiwxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA4LDExMSw5NywxMDAsMzIsMTE1LDExMSwxMTcsCisgICAgMTE0LDk5LDEwMSwzMiw5OSwxMTEsMTAwLDEwMSw0NiwzMiw4NSwxMTUsMTAxLDMyLDExMSwxMDIsCisgICAgMzIsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMzIsMTA1LDExNSwzMiwxMDAsMTA1LDk5LAorICAgIDExNiw5NywxMTYsMTAxLDEwMCwzMiw5OCwxMjEsMzIsMTE5LDEwNCwxMDEsMTE2LDEwNCwxMDEsMTE0LAorICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDEwMywxMDEsMTE2LDk1LDk5LDExMSwxMDAsCisgICAgMTAxLDMyLDExNywxMTUsMTAxLDExNSw0NywxMTksMTE0LDEwNSwxMTYsMTAxLDExNSwzMiw5OCwxMjEsCisgICAgMTE2LDEwMSw5OSwxMTEsMTAwLDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiw0MCwxLDAsMCwwLDExNCwyMjMsMCwwLDAsNDAsMiwwLDAsMCwKKyAgICAxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTk4LDAsMCwwLDAsNCwKKyAgICAwLDAsMTE1LDIsMCwwLDAsMCw4LDExNywyNCwwLDAsMCw4MywxMTEsCisgICAgMTE3LDExNCw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDc4LDExNCwxMjYsMCwwLDAsNDAsMTEsMCwwLAorICAgIDAsMTE0LDU2LDAsMCwwLDExNCw1NSwwLDAsMCwxMTQsNTcsMCwwLDAsCisgICAgMTE0LDIyNiwwLDAsMCwxMTQsMjI3LDAsMCwwLDExNCwyMjksMCwwLDAsMTE0LAorICAgIDIyOCwwLDAsMCwxMTQsMjAwLDAsMCwwLDExNCwyNDAsMCwwLDAsMTE0LDE5OSwKKyAgICAwLDAsMCwxMTQsMTk4LDAsMCwwLDQwLDEsMCwwLDAsMTE0LDY5LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwyMjQsMCwwLDAsMTM1LDMsMCwwLDExNSwxNiwwLDAsMCwxNiwKKyAgICAyLDEyLDgsMTIsMTMsMTIsMTAsMTIsNywxMiwyMiwxOCw4LDEyLDUxLDExNCwKKyAgICAyMjQsMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAorICAgIDAsNCwwLDAsMCwyLDAsMCwwLDExNSw5MiwwLDAsMCwxMjQsMCwKKyAgICAwLDY5LDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLAorICAgIDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLDkwLDQsMCwKKyAgICAxMDEsNSwwLDEzNSwwLDAsMTAyLDEsMCwxMDAsNCwwLDEwMCw1LDAsMTM0LAorICAgIDAsMCwxMzEsMSwwLDkwLDYsMCwxMDEsNSwwLDEwMCw2LDAsMTAwLDcsCisgICAgMCwxMzIsMCwwLDEzMSwxLDAsOTAsNywwLDEwMCw4LDAsMTAwLDksMCwKKyAgICAxMzIsMCwwLDkwLDgsMCwxMzUsMCwwLDgzLDQwLDEwLDAsMCwwLDI0NCwKKyAgICAxMCwwLDAsMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDEwMywKKyAgICAwLDAsMCw2Niw5NywxMTUsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMDgsMTExLDk3LAorICAgIDEwMCwxMDEsMTE0LDMyLDk5LDEwOCw5NywxMTUsMTE1LDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwKKyAgICAxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LAorICAgIDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTIsMTE0LDExMSwxMTYsMTExLDk5LDExMSwxMDgsMzIsMTA5LAorICAgIDEwMSwxMTYsMTA0LDExMSwxMDAsMTE1LDMyLDExNiwxMDQsOTcsMTE2LDEwLDMyLDMyLDMyLDMyLAorICAgIDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsCisgICAgMTE2LDEwMSwxMDksMzIsMTE3LDExNSw5NywxMDMsMTAxLDQ2LDk5LDMsMCwwLDAsMCwKKyAgICAwLDAsMCwzLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDIyLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsMCwKKyAgICAxMjQsMCwwLDk1LDEsMCwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LAorICAgIDc1LDAsMCwwLDY3LDk3LDk5LDEwNCwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMTYsMTExLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsCisgICAgMTA4LDEwMSwzMiwxMDIsMTExLDExNywxMTAsMTAwLDMyLDk4LDEyMSwzMiwxMTYsMTA0LDEwMSwxMCwKKyAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw3OCwKKyAgICA0MCwyLDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsMzUsMCwwLDAsNDAsCisgICAgMywwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsMzUsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDc5LDAsMCwwLDE2LDQsMCwwLDExNSw0LDAsMCwwLAorICAgIDAsMyw5LDEsMTE3LDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywKKyAgICAxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMiwwLDAsCisgICAgMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCwzLDAsMCwKKyAgICAwLDExNSwyMiwwLDAsMCwxMTYsMCwwLDExNiwxLDAsMTI0LDAsMCwxMzEsCisgICAgMiwwLDEwNiwyLDAsMTI0LDEsMCwxMzEsMSwwLDgzLDQwLDEsMCwwLAorICAgIDAsMTE3LDI2LDAsMCwwLDc2LDExMSw5NywxMDAsMzIsOTcsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSw0NiwKKyAgICA0MCwzLDAsMCwwLDI0NCw1LDAsMCwwLDExNSwxMTcsMTEyLDEwMSwxMTQsMTE0LAorICAgIDI0NCwwLDAsMCwxMTQsMTk4LDAsMCwwLDQwLDIsMCwwLDAsMTE0LDc4LAorICAgIDAsMCwwLDExNCwxNTYsMCwwLDAsNDAsMSwwLDAsMCwyNDQsOSwwLAorICAgIDAsMCw5NSw5NSw5OSwxMDgsOTcsMTE1LDExNSw5NSw5NSwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwxMTQsMTk4LDAsMCwwLDIyLDQsMCwwLDExNSwyLAorICAgIDAsMCwwLDAsNSwxMTcsMjIsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLAorICAgIDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAorICAgIDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDEsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDcsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLAorICAgIDgzLDQwLDEsMCwwLDAsMTE3LDU4LDAsMCwwLDgyLDEwMSwxMTYsMTE3LDExNCwKKyAgICAxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTE2LDExMSwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiw5NywxMTUsCisgICAgMzIsMTAyLDExMSwxMTcsMTEwLDEwMCwzMiw5OCwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwKKyAgICAxMTAsMTAwLDEwMSwxMTQsNDYsNDAsMSwwLDAsMCwxMTQsMzUsMCwwLDAsNDAsCisgICAgMiwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjE5LDAsCisgICAgMCwwLDI5LDQsMCwwLDExNSwyLDAsMCwwLDAsMywxMTcsMjMsMCwKKyAgICAwLDAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAorICAgIDk1LDEwMiwxMDUsMTA4LDEwMSwxMTAsOTcsMTA5LDEwMSw5OSwyLDAsMCwwLDAsMCwKKyAgICAwLDAsMywwLDAsMCw4LDAsMCwwLDY3LDAsMCwwLDExNSw0MSwKKyAgICAwLDAsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMDAsMSwwLDEzMSwKKyAgICAyLDAsMTQzLDE3LDAsMTI1LDIsMCwxMjQsMiwwLDEwNiwyLDAsMTMxLDAsCisgICAgMCw4Myw4NywxMDAsMiwwLDgxLDg4LDEwMCwyLDAsODMsNDAsMywwLDAsCisgICAgMCwxMTcsMzksMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiwxMDAsOTcsMTE2LDk3LDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwKKyAgICA5NywxMTUsMzIsMTE0LDk3LDExOSwzMiw5OCwxMjEsMTE2LDEwMSwxMTUsNDYsMjQ0LDEsMCwKKyAgICAwLDAsMTE0LDc4LDQwLDMsMCwwLDAsMTE0LDQ4LDAsMCwwLDExNCw0OSwKKyAgICAwLDAsMCwxMTYsNCwwLDAsMCwxMTQsMTAxLDk3LDEwMCw0MCwzLDAsMCwKKyAgICAwLDExNCw3OCwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDUzLDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAyMzEsMCwwLDAsMzQsNCwwLDAsMTE1LDQsMCwwLDAsMCwyLDIxLAorICAgIDEsMTE3LDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICA0NiwxMDMsMTAxLDExNiw5NSwxMDAsOTcsMTE2LDk3LDQwLDksMCwwLDAsMTE0LDU2LAorICAgIDAsMCwwLDExNCw1NSwwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDU4LDAsCisgICAgMCwwLDExNCw3OSwwLDAsMCwxMTQsMTYyLDAsMCwwLDExNCwxOTgsMCwwLAorICAgIDAsMTE0LDIxOSwwLDAsMCwxMTQsMjMxLDAsMCwwLDQwLDEsMCwwLDAsCisgICAgMTE0LDY5LDAsMCwwLDExNCw0LDAsMCwwLDQwLDEsMCwwLDAsMTE0LAorICAgIDI0NiwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjQ0LDAsMCwwLDExLDQsCisgICAgMCwwLDExNSwxMCwwLDAsMCwxNiwzLDYsMiwxMiw2LDI0LDcsMTgsCisgICAgNSwxMTQsMjQ0LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwxLAorICAgIDAsMCwwLDQsMCwwLDAsNjYsMCwwLDAsMTE1LDY4LDAsMCwwLAogICAgIDEyNCwwLDAsNjksMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCw5MCwyLDAsCiAgICAgMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsCiAgICAgNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwKLSAgICAwLDEwMCw3LDAsMTMyLDAsMCw5MCw2LDAsMTAwLDgsMCwxMDAsOSwwLAotICAgIDEzMiwwLDAsOTAsNywwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwwLDAsOTAsCi0gICAgOCwwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsOSwwLDEwMCwxNCwKLSAgICAwLDEwMCwxNSwwLDEzMiwwLDAsOTAsMTAsMCwxMDAsMTYsMCwxMDAsMTcsMCwKLSAgICAxMzIsMCwwLDkwLDExLDAsMTAwLDE4LDAsMTAwLDE5LDAsMTMyLDAsMCw5MCwKLSAgICAxMiwwLDEwMCwyMCwwLDgzLDQwLDIxLDAsMCwwLDExNywxNCwwLDAsMCwKLSAgICA5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsMTE3LDM4LAotICAgIDEsMCwwLDgyLDEwMSwxMTIsMTE0LDEwMSwxMTUsMTAxLDExMCwxMTYsMTE1LDMyLDk3LDMyLAotICAgIDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLAotICAgIDEwMSwzOSwxMTUsMzIsMTEyLDk3LDExNiwxMDQsNDYsMzIsMzIsNzMsMTE2LDMyLDExNywxMTUsCi0gICAgMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTAsOTcsCi0gICAgMTA5LDEwMSwxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDEwMiwxMDUsMTEwLDEwMCwzMiwxMDUsCi0gICAgMTE2LDExNSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDQ0LDMyLDk3LDExMCwxMDAsMzIsMTAyLDExNCwxMTEsMTA5LDMyLDExNiwxMDQsMTAxLDExNCwxMDEsCi0gICAgMzIsMTA1LDExNiwzMiwxMDgsMTExLDExMSwxMDcsMTE1LDMyLDExNywxMTIsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwzOSwxMTUsMTAsMzIsMzIsMzIsMzIsOTUsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsOTUsNDYsMzIsMzIsODcsMTA0LDEwMSwxMTAsMzIsMTE2LDEwNCwKLSAgICAxMDUsMTE1LDMyLDk5LDEwNCw5NywxMTAsMTAzLDEwMSwxMTUsNDQsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzksMTE1LDMyLDExMSwxMTksMTEwLDMyLDExMiw5NywxMTYsCi0gICAgMTA0LDMyLDEwNSwxMTUsMzIsMTE0LDEwMSw5OSwxMTEsMTA5LDExMiwxMTcsMTE2LDEwMSwxMDAsNDQsCi0gICAgMTAsMzIsMzIsMzIsMzIsMTE3LDExNSwxMDUsMTEwLDEwMywzMiwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwzMiwzMiw3MCwxMTEsMTE0LDMyLDExNiwxMTEsMTEyLAotICAgIDQ1LDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ0LDMyLAotICAgIDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKLSAgICAxMDEsMzksMTE1LDMyLDExMiw5NywxMTYsMTA0LDEwLDMyLDMyLDMyLDMyLDEwNSwxMTUsMzIsCi0gICAgMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsNDYsOTksNCwwLDAsMCwwLDAsCi0gICAgMCwwLDQsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsNTIsCi0gICAgMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMjQsMiwwLDEyNCwKLSAgICAwLDAsOTUsMSwwLDExNiwyLDAsMTI0LDAsMCwxMDYsMywwLDEzMSwwLAotICAgIDAsMTMxLDEsMCwxMjQsMCwwLDk1LDQsMCwxMjQsMywwLDEyNCwwLDAsCi0gICAgOTUsNSwwLDEwMCwwLDAsODMsNDAsMSwwLDAsMCw3OCw0MCw2LDAsCi0gICAgMCwwLDExNyw1LDAsMCwwLDk1LDExMCw5NywxMDksMTAxLDExNyw1LDAsMCwKLSAgICAwLDk1LDExMiw5NywxMTYsMTA0LDExNyw1LDAsMCwwLDExNiwxMTcsMTEyLDEwOCwxMDEsCi0gICAgMTE3LDE2LDAsMCwwLDk1LDEwMywxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsCi0gICAgOTUsMTEyLDk3LDExNiwxMDQsMTE3LDE3LDAsMCwwLDk1LDEwOCw5NywxMTUsMTE2LDk1LAotICAgIDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDEyLDAsMCwwLAotICAgIDk1LDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQwLDQsMCwwLAotICAgIDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw0LDAsMCwwLDExMCwKLSAgICA5NywxMDksMTAxLDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNywxMSwwLDAsCi0gICAgMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0MCwwLDAsMCwKLSAgICAwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwKLSAgICAxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLAotICAgIDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw4LDAsMCwwLDk1LDk1LDEwNSwKLSAgICAxMTAsMTA1LDExNiw5NSw5NSwxNDIsNCwwLDAsMTE1LDgsMCwwLDAsMCwxLAotICAgIDksMSw5LDEsMjEsMSwxMTcsMjMsMCwwLDAsOTUsNzgsOTcsMTA5LDEwMSwKLSAgICAxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiwKLSAgICA5NSw5NSw5OSwxLDAsMCwwLDAsMCwwLDAsNCwwLDAsMCwzLAotICAgIDAsMCwwLDY3LDAsMCwwLDExNSw1MywwLDAsMCwxMjQsMCwwLDEwNiwKLSAgICAwLDAsMTA2LDEsMCwxMDAsMSwwLDEzMSwxLDAsOTIsMywwLDEyNSwxLAotICAgIDAsMTI1LDIsMCwxMjUsMywwLDEyNCwyLDAsMTAwLDIsMCwxMDcsMiwwLAotICAgIDExNCw0MywwLDEwMCw2LDAsODMsMTI0LDEsMCwxMDAsNSwwLDEwMiwyLDAsCi0gICAgODMsNDAsNywwLDAsMCwxMTcsNjIsMCwwLDAsODIsMTAxLDExNiwxMTcsMTE0LAotICAgIDExMCwxMTUsMzIsOTcsMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiwxMTEsMTAyLDMyLDQwLDExMiwKLSAgICA5NywxMTQsMTAxLDExMCwxMTYsNDUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDUsMTEwLDk3LDEwOSwKLSAgICAxMDEsNDQsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw0NSwxMTIsOTcsMTE2LDEwNCw0NSw5NywKLSAgICAxMTYsMTE2LDExNCw0NSwxMTAsOTcsMTA5LDEwMSw0MSwxMTcsMSwwLDAsMCw0NiwxMTcsCi0gICAgMCwwLDAsMCwxMTcsMywwLDAsMCwxMTUsMTIxLDExNSwxMTcsNCwwLDAsCi0gICAgMCwxMTIsOTcsMTE2LDEwNCwxMTcsOCwwLDAsMCw5NSw5NSwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSw5NSw0MCwyLDAsMCwwLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNywKLSAgICA0LDAsMCwwLDExMiw5NywxMTYsMTA0LDQwLDIsMCwwLDAsMTE3LDUsMCwKLSAgICAwLDAsOTUsMTEwLDk3LDEwOSwxMDEsMTE3LDEwLDAsMCwwLDExNCwxMTIsOTcsMTE0LAotICAgIDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLDQwLDQsMCwwLDAsMTE3LDQsMCwwLDAsCi0gICAgMTE1LDEwMSwxMDgsMTAyLDExNyw2LDAsMCwwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMTE3LAotICAgIDMsMCwwLDAsMTAwLDExMSwxMTYsMTE3LDIsMCwwLDAsMTA5LDEwMSw0MCwwLAotICAgIDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywyMywwLDAsMCw5NSwKLSAgICAxMDIsMTA1LDExMCwxMDAsOTUsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMTAsOTcsMTA5LDEwMSwxMTUsMTQ4LDQsMCwwLDExNSw4LDAsMCwwLDAsCi0gICAgMiwyNywxLDEyLDIsNCwzLDExNywzOCwwLDAsMCw5NSw3OCw5NywxMDksCi0gICAgMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTAyLDEwNSwxMTAsMTAwLAotICAgIDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwKLSAgICAxMDEsMTE1LDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsCi0gICAgMCwwLDAsNjcsMCwwLDAsMTE1LDM4LDAsMCwwLDEyNCwwLDAsMTA2LAotICAgIDAsMCwxMzEsMCwwLDkyLDIsMCwxMjUsMSwwLDEyNSwyLDAsMTE2LDEsCi0gICAgMCwxMTYsMiwwLDEwNiwzLDAsMTI0LDEsMCwyNSwxMjQsMiwwLDEzMSwyLAotICAgIDAsODMsNDAsMSwwLDAsMCw3OCw0MCw0LDAsMCwwLDExNywyMywwLAorICAgIDAsMTAwLDcsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMSw5MCw2LDAsCisgICAgMTAwLDEwLDAsODMsNDAsMTEsMCwwLDAsMjQ0LDE2LDAsMCwwLDgzLDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDYyLAorICAgIDAsMCwwLDY3LDExMSwxMTAsOTksMTE0LDEwMSwxMTYsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwKKyAgICAxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDgzLDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTE3LDExNSwxMDUsMTEwLDEwMywKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsMTE2LDEwMSwxMDksCisgICAgNDYsOTksMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMywwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsMzksMCwwLDAsMTE2LDAsMCwxMDYsMSwKKyAgICAwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDEwNSwyLDAsMTI0LDIsMCwKKyAgICAxMDYsMiwwLDEwMCwxLDAsNTQsMTI0LDIsMCwxMDYsMywwLDEwMCwyLDAsCisgICAgNTQsODMsNDAsMywwLDAsMCwxMTcsMzMsMCwwLDAsODIsMTAxLDExNiwxMTcsCisgICAgMTE0LDExMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksMTAxLDExNiw5NywxMDAsOTcsMTE2LDk3LDMyLAorICAgIDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDQ2LDExNCwxNzksMCwKKyAgICAwLDAsMTE0LDE4MCwwLDAsMCw0MCw0LDAsMCwwLDExNCwzLDAsMCwKKyAgICAwLDExNCwzOSwwLDAsMCwyNDQsOCwwLDAsMCwxMTUsMTE2LDk1LDEwOSwxMTYsCisgICAgMTA1LDEwOSwxMDEsMTE2LDcsMCwwLDAsMTE1LDExNiw5NSwxMTUsMTA1LDEyMiwxMDEsNDAsCisgICAgMywwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwyNDIsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMTE0LDIyNywwLDAsMCw0NCw0LDAsMCwxMTUsNCwwLDAsMCwKKyAgICAwLDIsMTUsMSwxMTcsMjcsMCwwLDAsODMsMTExLDExNywxMTQsOTksMTAxLDcwLAorICAgIDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsCisgICAgMTE2LDk3LDExNiwxMTUsOTksNCwwLDAsMCwwLDAsMCwwLDUsMCwwLAorICAgIDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsMzQsMCwwLDAsMTE2LDAsCisgICAgMCwxMjQsMSwwLDEzMSwxLDAsMTI1LDQsMCwxMjQsMCwwLDEwNiwxLDAsCisgICAgMTI0LDIsMCwxMjQsMywwLDEwMCwxLDAsMTI0LDQsMCwxMzEsMiwxLDgzLAorICAgIDQwLDIsMCwwLDAsNzgsMjQ0LDUsMCwwLDAsOTUsMTA5LDExMSwxMDAsMTAxLAorICAgIDQwLDIsMCwwLDAsMTE0LDEzMywwLDAsMCwxMTQsMjI4LDAsMCwwLDQwLAorICAgIDUsMCwwLDAsMTE0LDc4LDAsMCwwLDExNCwxMzAsMCwwLDAsMTE0LDEyOSwKKyAgICAwLDAsMCwxMTQsNTIsMCwwLDAsMTE0LDQyLDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMjksMCwwLAorICAgIDAsNDksNCwwLDAsMTE1LDQsMCwwLDAsMCwyLDEyLDEsMTE3LDMyLAorICAgIDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNDYsOTUsOTksOTcsOTksMTA0LDEwMSw5NSw5OCwxMjEsMTE2LDEwMSw5OSwKKyAgICAxMTEsMTAwLDEwMSwxMTQsMjUwLDAsMCwwLDEwNSwxODIsMSwwLDAsOTksMywwLAorICAgIDAsMCwxLDAsMCwwLDksMCwwLDAsMTgsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDUzLDEsMCwwLDExNiwwLDAsMTI0LDEsMCwxMzEsMSwwLAorICAgIDkyLDIsMCwxMjUsNCwwLDEyNSw1LDAsMTAzLDAsMCwxMjUsNiwwLDEyMCwKKyAgICA1NCwwLDEyNCw0LDAsMTE0LDgwLDAsMTE2LDEsMCwxMjQsNCwwLDEzMSwxLAorICAgIDAsMTIsMTE0LDgwLDAsMTE2LDAsMCwxMjQsNCwwLDEzMSwxLDAsOTIsMiwKKyAgICAwLDEyNSw0LDAsMTI1LDcsMCwxMjQsNiwwLDEwNiwyLDAsMTI0LDcsMCwKKyAgICAxMzEsMSwwLDEsMTEzLDI3LDAsODcsMTIwLDEzMiwwLDExNiwzLDAsMTI0LDYsCisgICAgMCwxMzEsMSwwLDY4LDkzLDExOCwwLDEyNSw3LDAsMTE2LDQsMCwxMjQsNCwKKyAgICAwLDEyNCw3LDAsMTMxLDIsMCwxMjUsNCwwLDEyMSwxNywwLDExNiw1LDAsCisgICAgMTA2LDYsMCwxMjQsNCwwLDEzMSwxLDAsMSw4NywxMTMsOTQsMCw0LDExNiwKKyAgICA3LDAsMTA3LDEwLDAsMTE0LDE1NSwwLDEsMSwxLDExOSw5NCwwLDg5LDExMywKKyAgICA5NCwwLDQsMTE2LDgsMCwxMDcsMTAsMCwxMTQsMjExLDAsMSwxMjUsOCwwLAorICAgIDEsMTIyLDI1LDAsMTE2LDksMCwxMDAsMSwwLDEyNCw0LDAsMTI0LDgsMCwKKyAgICAxMzEsMywwLDEsMTAwLDIsMCw4Myw4Nyw4OSwxMDAsMiwwLDEwMCwyLDAsCisgICAgMTI1LDgsMCwxMjYsOCwwLDg4LDExMyw5NCwwLDg4LDExMyw5NCwwLDg3LDEyMSwKKyAgICAzMywwLDExNiwxMCwwLDEyNCwxLDAsMTI0LDIsMCwxMjQsMywwLDEzMSwzLAorICAgIDAsMSwxMTYsOSwwLDEwMCwzLDAsMTI0LDEsMCwxMzEsMiwwLDEsODcsCisgICAgMTEwLDUzLDAsNCwxMTYsOCwwLDEwNywxMCwwLDExNCw0OCwxLDEsMTI1LDgsCisgICAgMCwxLDEyMiwyMSwwLDExNiw5LDAsMTAwLDEsMCwxMjQsMSwwLDEyNCw4LAorICAgIDAsMTMxLDMsMCwxLDg3LDg5LDEwMCwyLDAsMTAwLDIsMCwxMjUsOCwwLAorICAgIDEyNiw4LDAsODgsMTEwLDEsMCw4OCwxMDAsMiwwLDgzLDQwLDQsMCwwLAorICAgIDAsMTE3LDI3LDAsMCwwLDg3LDExNCwxMDUsMTE2LDEwMSwzMiw5OCwxMjEsMTE2LDEwMSwKKyAgICAxMTUsMzIsMTAwLDk3LDExNiw5NywzMiwxMTYsMTExLDMyLDk3LDMyLDEwMiwxMDUsMTA4LDEwMSwKKyAgICA0NiwxMTcsMjcsMCwwLDAsOTksMTExLDExNywxMDgsMTAwLDMyLDExMCwxMTEsMTE2LDMyLAorICAgIDk5LDExNCwxMDEsOTcsMTE2LDEwMSwzMiwxMjMsMzMsMTE0LDEyNSw1OCwzMiwxMjMsMzMsMTE0LAorICAgIDEyNSw3OCwxMTcsMTIsMCwwLDAsOTksMTE0LDEwMSw5NywxMTYsMTAxLDEwMCwzMiwxMjMsCisgICAgMzMsMTE0LDEyNSw0MCwxMSwwLDAsMCwxMTQsMzgsMCwwLDAsMTE0LDQ1LDAsCisgICAgMCwwLDI0NCw2LDAsMCwwLDk3LDExMiwxMTIsMTAxLDExMCwxMDAsMTE0LDMzLDAsCisgICAgMCwwLDExNCwyOCwwLDAsMCwxMTQsMywwLDAsMCwxMTYsNSwwLDAsCisgICAgMCwxMDksMTA3LDEwMCwxMDUsMTE0LDI0NCwxNSwwLDAsMCw3MCwxMDUsMTA4LDEwMSw2OSwKKyAgICAxMjAsMTA1LDExNSwxMTYsMTE1LDY5LDExNCwxMTQsMTExLDExNCwxMTQsNDAsMCwwLDAsMTE0LAorICAgIDE0MSwwLDAsMCwxMTQsNTQsMCwwLDAsNDAsOSwwLDAsMCwxMTQsNzgsCisgICAgMCwwLDAsMTE0LDM1LDAsMCwwLDExNCw1MiwwLDAsMCwxMTQsMjUwLDAsCisgICAgMCwwLDI0NCw2LDAsMCwwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMTE0LDExOSwwLAorICAgIDAsMCwxMTQsMjcsMCwwLDAsMTE0LDIzLDAsMCwwLDExNCwyMzYsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsCisgICAgMTE0LDIyOCwwLDAsMCw1NCw0LDAsMCwxMTUsMzgsMCwwLDAsMCwyLAorICAgIDE4LDEsNiwyLDIyLDEsMTgsMSwxNywyLDE5LDEsMTUsMSwzLDEsCisgICAgMTcsMSwxMywyLDcsMSwxOCwzLDE2LDEsMjcsMSwzLDEsMTYsMSwKKyAgICAxNywxLDE4LDIsMTE3LDI1LDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTE1LDEwMSwxMTYsOTUsMTAwLDk3LAorICAgIDExNiw5Nyw3OCw0MCw3LDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsNTUsMCwKKyAgICAwLDAsMTE0LDU3LDAsMCwwLDExNCw1OCwwLDAsMCwxMTQsMjI3LDAsMCwKKyAgICAwLDExNCwyMjksMCwwLDAsMTE0LDIyOCwwLDAsMCw0MCwxLDAsMCwwLAorICAgIDExNCw2OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjQ4LDAsMCwwLDQwLDQsMCwwLDExNSw4LDAsCisgICAgMCwwLDE2LDIsNiwyLDEyLDUsMTIsNSwxMTQsMjQ4LDAsMCwwLDk5LAorICAgIDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsCisgICAgNjYsMCwwLDAsMTE1LDYyLDAsMCwwLDEyNCwwLDAsNjksMTAxLDAsMCwKKyAgICA5MCwxLDAsMTAwLDAsMCw5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLAorICAgIDIsMCwxMDAsMywwLDEzMiwwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsCisgICAgMCwxMzIsMCwwLDkwLDUsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCwKKyAgICA5MCw2LDAsMTAwLDgsMCw4Myw0MCw5LDAsMCwwLDI0NCwyMCwwLDAsCisgICAgMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LAorICAgIDExMSw5NywxMDAsMTAxLDExNCwxMTcsNDUsMCwwLDAsNzYsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDExNSwzMiwxMTUsCisgICAgMTExLDExNywxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDk5LDIsMCwwLDAsMCwwLDAsMCwKKyAgICAyLDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDE5LDAsMCwKKyAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMjQsMSwwLDEwMCwxLDAsMTAwLDIsMCwKKyAgICAxMzEsMSwxLDgzLDQwLDMsMCwwLDAsNzgsMTE0LDIyMCwwLDAsMCw4NCwKKyAgICA0MCwxLDAsMCwwLDExNCwyMjMsMCwwLDAsNDAsMiwwLDAsMCwxMTQsCisgICAgNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMTk4LDAsMCwwLDg3LDQsMCwKKyAgICAwLDExNSwyLDAsMCwwLDAsMSwxMTcsMzIsMCwwLDAsODMsMTExLDExNywKKyAgICAxMTQsOTksMTAxLDEwOCwxMDEsMTE1LDExNSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwKKyAgICAxMTQsNDYsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTksMiwwLAorICAgIDAsMCwwLDAsMCwwLDUsMCwwLDAsNiwwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsNzYsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCwxMjUsMiwwLDEyNCwwLDAsMTA2LDEsMCwxMjQsMiwwLDEzMSwKKyAgICAxLDAsMTI1LDMsMCwxMTYsMiwwLDEyNCwzLDAsMTAwLDEsMCwxMjQsMSwKKyAgICAwLDEwMCwyLDAsMTI0LDIsMCwxMzEsMSwyLDEyNSw0LDAsMTE2LDMsMCwKKyAgICAxMjQsNCwwLDEwMCwxLDAsMTI0LDEsMCwxMDAsMywwLDEyNCwyLDAsMTMxLAorICAgIDEsMiw4Myw0MCw0LDAsMCwwLDc4LDExNCw2NiwwLDAsMCwxMTQsMzUsCisgICAgMCwwLDAsMTE0LDEyOSwwLDAsMCw0MCw0LDAsMCwwLDExNCwyMTksMCwKKyAgICAwLDAsMTE0LDIzMSwwLDAsMCwxMTQsMTg1LDAsMCwwLDExNCwxOTAsMCwwLAorICAgIDAsNDAsNSwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwKKyAgICAxMTQsMzUsMCwwLDAsMTE0LDUyLDAsMCwwLDExNCwyNDMsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDE5OSwKKyAgICAwLDAsMCw5MCw0LDAsMCwxMTUsOCwwLDAsMCwwLDEsMTUsMSwKKyAgICAxNSwxLDI0LDEsMTE3LDI5LDAsMCwwLDgzLDExMSwxMTcsMTE0LDk5LDEwMSwxMDgsCisgICAgMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsCisgICAgMTE2LDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLAorICAgIDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsCisgICAgMTAwLDEsMCw4Myw0MCwyLDAsMCwwLDExNywzOSwwLDAsMCw4MiwxMDEsCisgICAgMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiwxMTYsMTA0LDEwMSwKKyAgICAxMTQsMTAxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLAorICAgIDk5LDExMSwxMDAsMTAxLDQ2LDc4LDExNCw0LDAsMCwwLDQwLDIsMCwwLDAsCisgICAgMTE0LDc4LDAsMCwwLDExNCwxNTYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIwMCwwLDAsMCw5Niw0LAorICAgIDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE3LDMxLDAsMCwwLDgzLDExMSwKKyAgICAxMTcsMTE0LDk5LDEwMSwxMDgsMTAxLDExNSwxMTUsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsNzgsNDAsNywKKyAgICAwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDU1LDAsMCwwLDExNCw1NywwLAorICAgIDAsMCwxMTQsNTgsMCwwLDAsMTE0LDE5OCwwLDAsMCwxMTQsMTk5LDAsMCwKKyAgICAwLDExNCwyMDAsMCwwLDAsNDAsMSwwLDAsMCwxMTQsNjksMCwwLDAsCisgICAgMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LAorICAgIDI1NCwwLDAsMCw4Myw0LDAsMCwxMTUsOCwwLDAsMCwxNiwyLDYsCisgICAgMiwxMiwzLDEyLDYsMTE0LDI1NCwwLDAsMCw5OSwxLDAsMCwwLDAsCisgICAgMCwwLDAsMSwwLDAsMCw1LDAsMCwwLDY2LDAsMCwwLDExNSwKKyAgICAxMDQsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwKKyAgICAwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwwLDEwMCwzLDAsCisgICAgMTMyLDAsMCw5MCw0LDAsMTAxLDUsMCwxMDEsNiwwLDEwMSw3LDAsMTAwLAorICAgIDQsMCwxMDAsNSwwLDEzMiwwLDAsMTMxLDEsMCwxMzEsMSwwLDEzMSwxLAorICAgIDAsOTAsOCwwLDEwMCw2LDAsMTAwLDcsMCwxMzIsMCwwLDkwLDksMCwKKyAgICAxMDAsOCwwLDEwMCw5LDAsMTMyLDAsMCw5MCwxMCwwLDEwMCwxMCwwLDEwMCwKKyAgICAxMSwwLDEzMiwwLDAsOTAsMTEsMCwxMDAsMTIsMCw4Myw0MCwxMywwLDAsCisgICAgMCwyNDQsMTksMCwwLDAsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwKKyAgICAxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDkzLDAsMCwwLDc2LDExMSwKKyAgICA5NywxMDAsMTAxLDExNCwzMiwxMDIsMTExLDExNCwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsCisgICAgMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsNDYsMTAsMTAsMzIsMzIsMzIsCisgICAgMzIsODQsMTA0LDEwMSwzMiw5OSwxMTEsMTEwLDExNSwxMTYsMTE0LDExNyw5OSwxMTYsMTExLDExNCwKKyAgICAzMiwxMDUsMTE1LDMyLDEwMCwxMDEsMTE1LDEwNSwxMDMsMTEwLDEwMSwxMDAsMzIsMTE2LDExMSwzMiwKKyAgICAxMTksMTExLDExNCwxMDcsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwKKyAgICAxMTAsMTAwLDEwMSwxMTQsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMywwLDAsMCwKKyAgICAwLDAsMCwwLDMsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwKKyAgICAxMTUsMjIsMCwwLDAsMTI0LDEsMCwxMjQsMCwwLDk1LDAsMCwxMjQsMiwKKyAgICAwLDEyNCwwLDAsOTUsMSwwLDEwMCwwLDAsODMsNDAsMSwwLDAsMCwKKyAgICA3OCw0MCwyLDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsMzUsMCwwLDAsCisgICAgNDAsMywwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDY2LDAsMCwwLDExNCwKKyAgICAzNSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwxMTQsNzksMCwwLDAsMTEzLDQsMCwwLDExNSw0LDAsMCwKKyAgICAwLDAsMSw5LDEsMTE3LDI4LDAsMCwwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsCisgICAgMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LAorICAgIDEwNSwxMTAsMTA1LDExNiw5NSw5NSw5OSwyLDAsMCwwLDAsMCwwLDAsNCwKKyAgICAwLDAsMCwxMCwwLDAsMCw2NywwLDAsMCwxMTUsMTc1LDAsMCwwLAorICAgIDEyNCwxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNyw2LDAsMTI1LDIsMCwxMjEsCisgICAgMTA3LDAsMTE2LDIsMCwxMTYsMywwLDEwNiw0LDAsMTI0LDEsMCwxMjQsMCwKKyAgICAwLDEwNiw1LDAsMTMxLDMsMCwxMjUsMywwLDExNiw2LDAsMTAwLDEsMCwKKyAgICAxMjQsMCwwLDEwNiw1LDAsMTMxLDIsMCwxLDEyNCwwLDAsMTA2LDcsMCwKKyAgICAxMjQsMSwwLDEzMSwxLDAsMTE0LDExNywwLDExNiw4LDAsMTI0LDMsMCwxMDAsCisgICAgMiwwLDEzMSwyLDAsMTIsMTE0LDExNywwLDExNiw5LDAsMTI0LDAsMCwxMDYsCisgICAgNSwwLDEzMSwxLDAsMTAwLDMsMCwyNSwxMDMsMSwwLDEyNCwzLDAsOTUsCisgICAgMTAsMCwxMTAsMCwwLDEyNCwzLDAsODMsODcsMTEwLDQ2LDAsMSwxLDEsCisgICAgMTI0LDIsMCwxMiwxMTQsMTYzLDAsMTI0LDEsMCwxMTYsMCwwLDEwNiwxLDAsCisgICAgMTA3LDYsMCwxMTQsMTYzLDAsMTE2LDAsMCwxMDYsMSwwLDEyNCwxLDAsNjEsCisgICAgMTEwLDAsMCwxMzAsMCwwLDg5LDExMCwxLDAsODgsMTAwLDQsMCw4Myw0MCwKKyAgICA1LDAsMCwwLDExNywyNSwwLDAsMCw3NiwxMTEsOTcsMTAwLDMyLDk3LDExMCwKKyAgICAzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw0NiwxMTcsMzMsMCwwLDAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsCisgICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDEwMCwzMiwxMDIsCisgICAgMTE0LDExMSwxMDksMzIsMTIzLDMzLDExNCwxMjUsMTE0LDE0MywwLDAsMCwxMTQsNzEsMCwKKyAgICAwLDAsNzgsNDAsMTEsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDE1MiwwLAorICAgIDAsMCwxMTQsMTAyLDAsMCwwLDExNCw5NywwLDAsMCwxMTYsMTIsMCwwLAorICAgIDAsMTA4LDExMSw5NywxMDAsOTUsMTAwLDEyMSwxMTAsOTcsMTA5LDEwNSw5OSwxMTQsMzUsMCwKKyAgICAwLDAsMTE0LDE0MSwwLDAsMCwxMTQsMTUzLDAsMCwwLDExNCw1OSwwLDAsCisgICAgMCwxMTQsMzgsMCwwLDAsMTE0LDE0MywwLDAsMCw0MCw0LDAsMCwwLAorICAgIDExNCw3OCwwLDAsMCwxMTQsMTU2LDAsMCwwLDExNCwxNTcsMCwwLDAsMTE0LAorICAgIDE0NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwxMTQsMTk4LDAsMCwwLDExNyw0LDAsMCwxMTUsMjQsMCwwLAorICAgIDAsMCw1LDE1LDEsMywxLDksMSwxNSwxLDE2LDEsMzEsMSwyOCwKKyAgICAxLDgsMSwzLDEsMjIsMSwxMywxLDExNywzMSwwLDAsMCw2OSwxMjAsCisgICAgMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLAorICAgIDExNCw0NiwxMDgsMTExLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5OSwyLDAsCisgICAgMCwwLDAsMCwwLDAsMiwwLDAsMCw0LDAsMCwwLDMsMCwKKyAgICAwLDAsMTE1LDQ4LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLAorICAgIDEzMSwxLDAsMTAwLDEsMCwyNSwxMzcsMCwwLDExNiwyLDAsMTM1LDAsMCwKKyAgICAxMDIsMSwwLDEwMCwyLDAsMTAwLDMsMCwxMzQsMCwwLDExNiwzLDAsNjgsCisgICAgMTMxLDEsMCwxMzEsMSwwLDgzLDQwLDQsMCwwLDAsMTE3LDQ5LDAsMCwKKyAgICAwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsODQsMTE0LDExNywxMDEsMzIsMTA1LDEwMiwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDEsMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLAorICAgIDEwMCwxMTcsMTA4LDEwMSwzMiwxMDUsMTE1LDMyLDk3LDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLAorICAgIDEwMSw0NiwxMTQsMjksMCwwLDAsOTksMSwwLDAsMCwwLDAsMCwwLAorICAgIDIsMCwwLDAsNCwwLDAsMCw1MSwwLDAsMCwxMTUsMzEsMCwwLAorICAgIDAsMTI0LDAsMCw5MywyMSwwLDEyNSwxLDAsMTM2LDAsMCwxMDAsMCwwLAorICAgIDEyNCwxLDAsMjMsMTA3LDIsMCw4NiwxLDExMywzLDAsMTAwLDEsMCw4MywKKyAgICA0MCwyLDAsMCwwLDExNCw3OSwwLDAsMCw3OCwxMTQsNCwwLDAsMCwKKyAgICA0MCwyLDAsMCwwLDExNCwyMiwwLDAsMCwyNDQsNiwwLDAsMCwxMTUsCisgICAgMTE3LDEwMiwxMDIsMTA1LDEyMCw0MCwxLDAsMCwwLDI0NCw5LDAsMCwwLDEwMiwKKyAgICAxMDUsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyNDUsOSwwLDAsMCw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsCisgICAgMTM4LDQsMCwwLDExNSwyLDAsMCwwLDYsMSwxMTcsNDksMCwwLDAsCisgICAgNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsCisgICAgMTAwLDEwMSwxMTQsNDYsMTA1LDExNSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsNDYsNjAsCisgICAgMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCwKKyAgICA2Miw0MCw0LDAsMCwwLDExNCwzOCwwLDAsMCwxMTQsMzUsMCwwLDAsCisgICAgMjQ0LDMsMCwwLDAsOTcsMTEwLDEyMSwyNDQsMTgsMCwwLDAsNjksODgsODQsCisgICAgNjksNzgsODMsNzMsNzksNzgsOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsNDAsCisgICAgMiwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LDE1NiwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCw0MCwxLDAsMCwwLDExNCwxLDEsMCwwLDExNCw1LDAsCisgICAgMCwwLDExNCwxNTMsMCwwLDAsMTM1LDQsMCwwLDExNSw2LDAsMCwwLAorICAgIDAsMiwxOSwxLDE4LDEsMTE3LDMwLDAsMCwwLDY5LDEyMCwxMTYsMTAxLDExMCwKKyAgICAxMTUsMTA1LDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwNSwKKyAgICAxMTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCwyLDAsMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsCisgICAgMCwwLDAsMTAwLDEsMCw4Myw0MCwyLDAsMCwwLDExNyw2MywwLDAsCisgICAgMCw4MiwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiwKKyAgICA5NywxMTAsMzIsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMzIsMTA5LDExMSwxMDAsCisgICAgMTE3LDEwOCwxMDEsMzIsOTksOTcsMTEwLDExMCwxMTEsMTE2LDMyLDk5LDExNCwxMDEsOTcsMTE2LAorICAgIDEwMSwzMiw5NywzMiw5OSwxMTEsMTAwLDEwMSwzMiwxMTEsOTgsMTA2LDEwMSw5OSwxMTYsNDYsCisgICAgNzgsMTE0LDQsMCwwLDAsNDAsMiwwLDAsMCwxMTQsNzgsMCwwLDAsCisgICAgMTE0LDE1NiwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMTk5LDAsMCwwLDE0MSw0LDAsMCwxMTUsMiwwLAorICAgIDAsMCwwLDIsMTE3LDI4LDAsMCwwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LAorICAgIDExMSwxMTAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwMywxMDEsMTE2LAorICAgIDk1LDk5LDExMSwxMDAsMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCwyLDAsCisgICAgMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDQsMCwwLDAsMTAwLAorICAgIDEsMCw4Myw0MCwyLDAsMCwwLDExNyw1MywwLDAsMCw4MiwxMDEsMTE2LAorICAgIDExNywxMTQsMTEwLDMyLDc4LDExMSwxMTAsMTAxLDMyLDk3LDExNSwzMiwxMDEsMTIwLDExNiwxMDEsCisgICAgMTEwLDExNSwxMDUsMTExLDExMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsMTA0LDk3LAorICAgIDExOCwxMDEsMzIsMTEwLDExMSwzMiwxMTUsMTExLDExNywxMTQsOTksMTAxLDMyLDk5LDExMSwxMDAsCisgICAgMTAxLDQ2LDc4LDExNCw0LDAsMCwwLDQwLDIsMCwwLDAsMTE0LDc4LDAsCisgICAgMCwwLDExNCwxNTYsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDUsMCwwLDAsMTE0LDIwMCwwLDAsMCwxNDUsNCwwLDAsMTE1LAorICAgIDIsMCwwLDAsMCwyLDExNywzMCwwLDAsMCw2OSwxMjAsMTE2LDEwMSwxMTAsCisgICAgMTE1LDEwNSwxMTEsMTEwLDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCw0NiwxMDMsCisgICAgMTAxLDExNiw5NSwxMTUsMTExLDExNywxMTQsOTksMTAxLDc4LDQwLDEyLDAsMCwwLDExNCwKKyAgICA1NiwwLDAsMCwxMTQsNTUsMCwwLDAsMTE0LDU3LDAsMCwwLDExNCw1OCwKKyAgICAwLDAsMCwxMTQsNzksMCwwLDAsMTE0LDE2MiwwLDAsMCwxMTQsMTQ4LDAsCisgICAgMCwwLDExNCwxNTEsMCwwLDAsMTE0LDE5OCwwLDAsMCwxMTQsMTUzLDAsMCwKKyAgICAwLDExNCwxOTksMCwwLDAsMTE0LDIwMCwwLDAsMCw0MCwxLDAsMCwwLAorICAgIDExNCw2OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMjU1LDAsMCwwLDEwNSw0LDAsMCwxMTUsMTYsMCwKKyAgICAwLDAsMTYsNiw2LDIsMTIsNCwzLDEsMywxLDI0LDE2LDEyLDYsCisgICAgMTIsNCwxMTQsMjU1LDAsMCwwLDk5LDEsMCwwLDAsMCwwLDAsMCwKKyAgICAxLDAsMCwwLDIsMCwwLDAsNjYsMCwwLDAsMTE1LDEzNCwwLDAsCisgICAgMCwxMjQsMCwwLDY5LDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwKKyAgICAwLDEwMCwxLDAsOTAsMywwLDEwMCwyLDAsMTAwLDMsMCwxMzIsMCwwLAorICAgIDkwLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsMCw5MCw1LDAsMTAwLAorICAgIDYsMCwxMDAsNywwLDEzMiwwLDAsOTAsNiwwLDEwMCw4LDAsMTAwLDksCisgICAgMCwxMzIsMCwwLDkwLDcsMCwxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMCwwLAorICAgIDkwLDgsMCwxMDAsMTIsMCwxMDAsMTMsMCwxMzIsMCwwLDkwLDksMCwxMDAsCisgICAgMTQsMCwxMDAsMTUsMCwxMzIsMCwwLDkwLDEwLDAsMTAwLDE2LDAsMTAwLDE3LAorICAgIDAsMTMyLDAsMCw5MCwxMSwwLDEwMCwxOCwwLDEwMCwxOSwwLDEzMiwwLDAsCisgICAgOTAsMTIsMCwxMDAsMjAsMCw4Myw0MCwyMSwwLDAsMCwyNDQsMTQsMCwwLAorICAgIDAsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDExNywKKyAgICAzOCwxLDAsMCw4MiwxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsMTE2LDExNSwzMiw5NywKKyAgICAzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMTIsOTcsOTksMTA3LDk3LAorICAgIDEwMywxMDEsMzksMTE1LDMyLDExMiw5NywxMTYsMTA0LDQ2LDMyLDMyLDczLDExNiwzMiwxMTcsCisgICAgMTE1LDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLAorICAgIDk3LDEwOSwxMDEsMTAsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiwxMDIsMTA1LDExMCwxMDAsMzIsCisgICAgMTA1LDExNiwxMTUsMzIsMTEyLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw0NCwzMiw5NywxMTAsMTAwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiwxMTYsMTA0LDEwMSwxMTQsCisgICAgMTAxLDMyLDEwNSwxMTYsMzIsMTA4LDExMSwxMTEsMTA3LDExNSwzMiwxMTcsMTEyLDMyLDExNiwxMDQsCisgICAgMTAxLDMyLDExMiw5NywxMTQsMTAxLDExMCwxMTYsMzksMTE1LDEwLDMyLDMyLDMyLDMyLDk1LAorICAgIDk1LDExMiw5NywxMTYsMTA0LDk1LDk1LDQ2LDMyLDMyLDg3LDEwNCwxMDEsMTEwLDMyLDExNiwKKyAgICAxMDQsMTA1LDExNSwzMiw5OSwxMDQsOTcsMTEwLDEwMywxMDEsMTE1LDQ0LDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMTEsMTE5LDExMCwzMiwxMTIsOTcsCisgICAgMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDExNCwxMDEsOTksMTExLDEwOSwxMTIsMTE3LDExNiwxMDEsMTAwLAorICAgIDQ0LDEwLDMyLDMyLDMyLDMyLDExNywxMTUsMTA1LDExMCwxMDMsMzIsMTEyLDk3LDExNiwxMDQsCisgICAgOTUsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMzIsMzIsNzAsMTExLDExNCwzMiwxMTYsMTExLAorICAgIDExMiw0NSwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NCwKKyAgICAzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDMyLDEwOSwxMTEsMTAwLDExNywKKyAgICAxMDgsMTAxLDM5LDExNSwzMiwxMTIsOTcsMTE2LDEwNCwxMCwzMiwzMiwzMiwzMiwxMDUsMTE1LAorICAgIDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDQ2LDk5LDQsMCwwLDAsMCwKKyAgICAwLDAsMCw0LDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDUyLDAsMCwwLDEyNCwxLDAsMTI0LDAsMCw5NSwwLDAsMTI0LDIsMCwKKyAgICAxMjQsMCwwLDk1LDEsMCwxMTYsMiwwLDEyNCwwLDAsMTA2LDMsMCwxMzEsCisgICAgMCwwLDEzMSwxLDAsMTI0LDAsMCw5NSw0LDAsMTI0LDMsMCwxMjQsMCwKKyAgICAwLDk1LDUsMCwxMDAsMCwwLDgzLDQwLDEsMCwwLDAsNzgsNDAsNiwKKyAgICAwLDAsMCwyNDQsNSwwLDAsMCw5NSwxMTAsOTcsMTA5LDEwMSwyNDQsNSwwLAorICAgIDAsMCw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMjE3LDAsMCwwLDI0NCwxNiwwLDAsCisgICAgMCw5NSwxMDMsMTAxLDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsCisgICAgMTA0LDI0NCwxNywwLDAsMCw5NSwxMDgsOTcsMTE1LDExNiw5NSwxMTIsOTcsMTE0LDEwMSwKKyAgICAxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDI0NCwxMiwwLDAsMCw5NSwxMTIsOTcsMTE2LAorICAgIDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0MCw0LDAsMCwwLDExNCw3OCwwLAorICAgIDAsMCwxMTQsNjYsMCwwLDAsMTE0LDM1LDAsMCwwLDI0NCwxMSwwLDAsCisgICAgMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNzksMCwwLDAsCisgICAgMTU3LDQsMCwwLDExNSw4LDAsMCwwLDAsMSw5LDEsOSwxLDIxLAorICAgIDEsMTE3LDIzLDAsMCwwLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsCisgICAgODAsOTcsMTE2LDEwNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDQsMCwwLDAsMywwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsNTMsMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsCisgICAgMTAwLDEsMCwxMzEsMSwwLDkyLDMsMCwxMjUsMSwwLDEyNSwyLDAsMTI1LAorICAgIDMsMCwxMjQsMiwwLDEwMCwyLDAsMTA3LDIsMCwxMTQsNDMsMCwxMDAsNiwKKyAgICAwLDgzLDEyNCwxLDAsMTAwLDUsMCwxMDIsMiwwLDgzLDQwLDcsMCwwLAorICAgIDAsMTE3LDYyLDAsMCwwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDk3LDMyLAorICAgIDExNiwxMTcsMTEyLDEwOCwxMDEsMzIsMTExLDEwMiwzMiw0MCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LAorICAgIDQ1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ1LDExMCw5NywxMDksMTAxLDQ0LDMyLDExMiw5NywKKyAgICAxMTQsMTAxLDExMCwxMTYsNDUsMTEyLDk3LDExNiwxMDQsNDUsOTcsMTE2LDExNiwxMTQsNDUsMTEwLAorICAgIDk3LDEwOSwxMDEsNDEsMTE0LDEwNCwwLDAsMCwxMTQsMzAsMCwwLDAsMTE0LDcsCisgICAgMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwxNDMsMCwwLDAsNDAsMiwwLAorICAgIDAsMCwxMTcsMywwLDAsMCwxMTUsMTIxLDExNSwxMTcsNCwwLDAsMCwxMTIsCisgICAgOTcsMTE2LDEwNCw0MCwyLDAsMCwwLDExNCw2LDEsMCwwLDExNCwzMiwwLAorICAgIDAsMCw0MCw0LDAsMCwwLDExNCw3OCwwLDAsMCwxMTQsMjUzLDAsMCwKKyAgICAwLDI0NCwzLDAsMCwwLDEwMCwxMTEsMTE2LDExNCw4MywwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsMjMsMCwKICAgICAwLDAsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLAotICAgIDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDExNyw3LDAsMCwwLDEwMywxMDEsCi0gICAgMTE2LDk3LDExNiwxMTYsMTE0LDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNyw3LDAsCi0gICAgMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0MCwzLDAsMCwwLDExNyw0LAotICAgIDAsMCwwLDExNSwxMDEsMTA4LDEwMiwxMTcsMTgsMCwwLDAsMTEyLDk3LDExNCwxMDEsCi0gICAgMTEwLDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTcsMTQsCi0gICAgMCwwLDAsMTEyLDk3LDExNiwxMDQsOTUsOTcsMTE2LDExNiwxMTQsOTUsMTEwLDk3LDEwOSwKLSAgICAxMDEsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCwKLSAgICA2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LAotICAgIDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTYsMCwKLSAgICAwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTEyLDk3LDExNCwxMDEsMTEwLDExNiw5NSwxMTIsOTcsCi0gICAgMTE2LDEwNCwxNTgsNCwwLDAsMTE1LDQsMCwwLDAsMCwxLDE4LDEsMTE3LAotICAgIDMxLDAsMCwwLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsCi0gICAgMTE2LDEwNCw0Niw5NSwxMDMsMTAxLDExNiw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiwKLSAgICA5NywxMTYsMTA0LDk5LDEsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLAotICAgIDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEwMywwLDAsMCwxMTYsMCwwLAotICAgIDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLDEzMSwxLDAsMTI1LDEsMCwxMjQsCi0gICAgMSwwLDEyNCwwLDAsMTA2LDIsMCwxMDcsMywwLDExNCw5NiwwLDEyNCwwLAotICAgIDAsMTA2LDMsMCwxMjQsMCwwLDEwNiw0LDAsMTI0LDEsMCwxMzEsMiwwLAotICAgIDkyLDIsMCwxMjUsMiwwLDEyNSwzLDAsMTI0LDIsMCwxMDAsMCwwLDEwNywKLSAgICA4LDAsMTE0LDg0LDAsMTI0LDMsMCwxMjQsMCwwLDk1LDYsMCwxMTAsMCwKLSAgICAwLDEyNCwxLDAsMTI0LDAsMCw5NSwyLDAsMTEwLDAsMCwxMjQsMCwwLAotICAgIDEwNiw2LDAsODMsNDAsMSwwLDAsMCw3OCw0MCw3LDAsMCwwLDExNywKLSAgICA1LDAsMCwwLDExNiwxMTcsMTEyLDEwOCwxMDEsMTE3LDE2LDAsMCwwLDk1LDEwMywKLSAgICAxMDEsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDE3LAotICAgIDAsMCwwLDk1LDEwOCw5NywxMTUsMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsMTE3LDEyLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwMiwKLSAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDExNyw1LDAsMCwwLDk1LDExMCw5NywxMDksMTAxLDExNywKLSAgICA0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNyw1LDAsMCwwLDk1LDExMiw5NywKLSAgICAxMTYsMTA0LDQwLDQsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLAotICAgIDExNywxMSwwLDAsMCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LAotICAgIDExNyw2LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDgsMCwwLDAsCi0gICAgMTEwLDEwMSwxMTksOTUsMTEyLDk3LDExNiwxMDQsNDAsMCwwLDAsMCw0MCwwLDAsCi0gICAgMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsCi0gICAgMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsCi0gICAgMTE0LDk3LDExMiw2MiwxMTcsMTIsMCwwLDAsOTUsMTE0LDEwMSw5OSw5NywxMDgsOTksCi0gICAgMTE3LDEwOCw5NywxMTYsMTAxLDE2Miw0LDAsMCwxMTUsMTQsMCwwLDAsMCwyLAotICAgIDE4LDEsMTUsMSwyNywzLDEyLDEsMTIsMSwxMiwxLDExNywyNywwLDAsCi0gICAgMCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsCi0gICAgOTUsMTE0LDEwMSw5OSw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDk5LDEsMCwwLAotICAgIDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDE2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwKLSAgICAwLDAsMTMxLDEsMCw4Myw0MCwxLDAsMCwwLDc4LDQwLDIsMCwwLAotICAgIDAsMTE3LDQsMCwwLDAsMTA1LDExNiwxMDEsMTE0LDExNywxMiwwLDAsMCw5NSwKLSAgICAxMTQsMTAxLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsNDAsMSwwLDAsMCwKLSAgICAxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsNDAsMCwwLDAsMCw0MCwwLAotICAgIDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwKLSAgICAxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwKLSAgICAxMTYsMTE0LDk3LDExMiw2MiwxMTcsOCwwLDAsMCw5NSw5NSwxMDUsMTE2LDEwMSwxMTQsCi0gICAgOTUsOTUsMTc0LDQsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTcsMjMsMCwKLSAgICAwLDAsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LAotICAgIDQ2LDk1LDk1LDEwNSwxMTYsMTAxLDExNCw5NSw5NSw5OSwxLDAsMCwwLDAsMCwKLSAgICAwLDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwKLSAgICAwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLDEzMSwKLSAgICAxLDAsODMsNDAsMSwwLDAsMCw3OCw0MCwyLDAsMCwwLDExNywzLAotICAgIDAsMCwwLDEwOCwxMDEsMTEwLDExNywxMiwwLDAsMCw5NSwxMTQsMTAxLDk5LDk3LAotICAgIDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsNDAsMSwwLDAsMCwxMTcsNCwwLDAsCi0gICAgMCwxMTUsMTAxLDEwOCwxMDIsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywKLSAgICAyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiwKLSAgICA2MiwxMTcsNywwLDAsMCw5NSw5NSwxMDgsMTAxLDExMCw5NSw5NSwxNzcsNCwwLAotICAgIDAsMTE1LDIsMCwwLDAsMCwxLDExNywyMiwwLDAsMCw5NSw3OCw5NywKLSAgICAxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsMTA4LDEwMSwKLSAgICAxMTAsOTUsOTUsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsCi0gICAgMiwwLDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsMCwKLSAgICAxMDYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQwLDIsMCwKLSAgICAwLDAsNzgsMTE3LDIwLDAsMCwwLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5NywKLSAgICA5OSwxMDEsODAsOTcsMTE2LDEwNCw0MCwxMjMsMzMsMTE0LDEyNSw0MSw0MCwyLDAsMCwKLSAgICAwLDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LDUsMCwwLAotICAgIDAsOTUsMTEyLDk3LDExNiwxMDQsNDAsMSwwLDAsMCwxMTcsNCwwLDAsMCwKLSAgICAxMTUsMTAxLDEwOCwxMDIsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwKLSAgICAwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwKLSAgICAxMTcsOCwwLDAsMCw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsMTgwLDQsMCwKLSAgICAwLDExNSwyLDAsMCwwLDAsMSwxMTcsMjMsMCwwLDAsOTUsNzgsOTcsCi0gICAgMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDExNCwxMDEsCi0gICAgMTEyLDExNCw5NSw5NSw5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsCi0gICAgMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwxMjQsMSwKLSAgICAwLDEyNCwwLDAsMTA2LDAsMCwxMzEsMCwwLDEwNyw2LDAsODMsNDAsMSwKLSAgICAwLDAsMCw3OCw0MCwxLDAsMCwwLDExNywxMiwwLDAsMCw5NSwxMTQsCi0gICAgMTAxLDk5LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsNDAsMiwwLDAsMCwxMTcsCi0gICAgNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDQsMCwwLDAsMTA1LDExNiwxMDEsCi0gICAgMTA5LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsCi0gICAgNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSwKLSAgICA5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDEyLDAsCi0gICAgMCwwLDk1LDk1LDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsMTE1LDk1LDk1LDE4Myw0LAorICAgIDk3LDExNiwxMDQsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDE2Myw0LDAsMCwxMTUsOCwwLAorICAgIDAsMCwwLDIsMjcsMSwxMiwyLDQsMywxMTcsMzgsMCwwLDAsOTUsCisgICAgNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDEwMiwKKyAgICAxMDUsMTEwLDEwMCw5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDk1LAorICAgIDExMCw5NywxMDksMTAxLDExNSw5OSwxLDAsMCwwLDAsMCwwLDAsMywwLAorICAgIDAsMCwzLDAsMCwwLDY3LDAsMCwwLDExNSwzOCwwLDAsMCwxMjQsCisgICAgMCwwLDEwNiwwLDAsMTMxLDAsMCw5MiwyLDAsMTI1LDEsMCwxMjUsMiwKKyAgICAwLDExNiwxLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwxLDAsMjUsMTI0LDIsCisgICAgMCwxMzEsMiwwLDgzLDQwLDEsMCwwLDAsNzgsNDAsNCwwLDAsMCwKKyAgICAxMTQsMTMsMSwwLDAsMTE0LDYxLDAsMCwwLDExNCw3LDAsMCwwLDExNCwKKyAgICAxNTIsMCwwLDAsNDAsMywwLDAsMCwxMTQsNzgsMCwwLDAsMTE2LDE4LAorICAgIDAsMCwwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsCisgICAgOTUsMTEwLDk3LDEwOSwxMDEsMTE2LDE0LDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDk3LAorICAgIDExNiwxMTYsMTE0LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDExNCw4LDEsMCwwLDE3Myw0LDAsMCwKKyAgICAxMTUsNCwwLDAsMCwwLDEsMTgsMSwxMTcsMzEsMCwwLDAsOTUsNzgsCisgICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDEwMywxMDEsCisgICAgMTE2LDk1LDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwxMDQsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDQsMCwwLDAsMywwLDAsMCw2NywwLAorICAgIDAsMCwxMTUsMTAzLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLAorICAgIDEzMSwwLDAsMTMxLDEsMCwxMjUsMSwwLDEyNCwxLDAsMTI0LDAsMCwxMDYsCisgICAgMiwwLDEwNywzLDAsMTE0LDk2LDAsMTI0LDAsMCwxMDYsMywwLDEyNCwwLAorICAgIDAsMTA2LDQsMCwxMjQsMSwwLDEzMSwyLDAsOTIsMiwwLDEyNSwyLDAsCisgICAgMTI1LDMsMCwxMjQsMiwwLDEwMCwwLDAsMTA3LDgsMCwxMTQsODQsMCwxMjQsCisgICAgMywwLDEyNCwwLDAsOTUsNSwwLDExMCwwLDAsMTI0LDEsMCwxMjQsMCwKKyAgICAwLDk1LDIsMCwxMTAsMCwwLDEyNCwwLDAsMTA2LDUsMCw4Myw0MCwxLAorICAgIDAsMCwwLDc4LDQwLDYsMCwwLDAsMTE0LDIxNywwLDAsMCwxMTQsOCwKKyAgICAxLDAsMCwxMTQsOSwxLDAsMCwxMTQsMTAsMSwwLDAsMTE0LDYsMSwKKyAgICAwLDAsMTE0LDcsMSwwLDAsNDAsNCwwLDAsMCwxMTQsNzgsMCwwLAorICAgIDAsMTE2LDExLDAsMCwwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsMTEyLDk3LDExNiwKKyAgICAxMDQsMTE0LDE3MywwLDAsMCwxMTYsOCwwLDAsMCwxMTAsMTAxLDExOSw5NSwxMTIsCisgICAgOTcsMTE2LDEwNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwyNDQsMTIsMCwwLDAsOTUsMTE0LDEwMSw5OSw5NywxMDgsOTksMTE3LDEwOCwKKyAgICA5NywxMTYsMTAxLDE3Nyw0LDAsMCwxMTUsMTQsMCwwLDAsMCwyLDE4LDEsCisgICAgMTUsMSwyNywzLDEyLDEsMTIsMSwxMiwxLDExNywyNywwLDAsMCw5NSwKKyAgICA3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsMTE0LAorICAgIDEwMSw5OSw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDk5LDEsMCwwLDAsMCwKKyAgICAwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDE2LDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwwLDAsCisgICAgMTMxLDEsMCw4Myw0MCwxLDAsMCwwLDc4LDQwLDIsMCwwLDAsMjQ0LAorICAgIDQsMCwwLDAsMTA1LDExNiwxMDEsMTE0LDExNCwxNCwxLDAsMCw0MCwxLDAsCisgICAgMCwwLDExNCw3OCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsCisgICAgMCwxMTQsNSwwLDAsMCwyNDQsOCwwLDAsMCw5NSw5NSwxMDUsMTE2LDEwMSwKKyAgICAxMTQsOTUsOTUsMTg5LDQsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTcsMjMsCisgICAgMCwwLDAsOTUsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsCisgICAgMTA0LDQ2LDk1LDk1LDEwNSwxMTYsMTAxLDExNCw5NSw5NSw5OSwxLDAsMCwwLDAsCisgICAgMCwwLDAsMSwwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICAxNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTA2LDEsMCwxMzEsMCwwLAorICAgIDEzMSwxLDAsODMsNDAsMSwwLDAsMCw3OCw0MCwyLDAsMCwwLDExNCwKKyAgICAzMSwwLDAsMCwxMTQsMTQsMSwwLDAsNDAsMSwwLDAsMCwxMTQsNzgsCisgICAgMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjQ0LDcsMCwwLDAsOTUsOTUsMTA4LDEwMSwxMTAsOTUsOTUsMTkyLDQsCisgICAgMCwwLDExNSwyLDAsMCwwLDAsMSwxMTcsMjIsMCwwLDAsOTUsNzgsCisgICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk1LDk1LDEwOCwKKyAgICAxMDEsMTEwLDk1LDk1LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwKKyAgICAwLDIsMCwwLDAsNjcsMCwwLDAsMTE1LDE2LDAsMCwwLDEwMCwxLAorICAgIDAsMTA2LDAsMCwxMjQsMCwwLDEwNiwxLDAsMTMxLDEsMCw4Myw0MCwyLAorICAgIDAsMCwwLDc4LDExNywyMCwwLDAsMCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsCisgICAgOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDAsMTIzLDMzLDExNCwxMjUsNDEsNDAsMiwwLAorICAgIDAsMCwxMTQsNDYsMCwwLDAsMTE0LDcsMSwwLDAsNDAsMSwwLDAsCisgICAgMCwxMTQsNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMTE0LDkwLDAsMCwwLDE5NSw0LDAsMCwxMTUsMiwKKyAgICAwLDAsMCwwLDEsMTE3LDIzLDAsMCwwLDk1LDc4LDk3LDEwOSwxMDEsMTE1LAorICAgIDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCw0Niw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsCisgICAgOTUsOTksMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTI0LDEsMCwxMjQsMCwKKyAgICAwLDEwNiwwLDAsMTMxLDAsMCwxMDcsNiwwLDgzLDQwLDEsMCwwLDAsCisgICAgNzgsNDAsMSwwLDAsMCwxMTQsMTQsMSwwLDAsNDAsMiwwLDAsMCwKKyAgICAxMTQsNzgsMCwwLDAsMjQ0LDQsMCwwLDAsMTA1LDExNiwxMDEsMTA5LDExNCw0LAorICAgIDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxMiwwLAorICAgIDAsMCw5NSw5NSw5OSwxMTEsMTEwLDExNiw5NywxMDUsMTEwLDExNSw5NSw5NSwxOTgsNCwKICAgICAwLDAsMTE1LDIsMCwwLDAsMCwxLDExNywyNywwLDAsMCw5NSw3OCwKICAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsNDYsOTUsOTUsOTksCiAgICAgMTExLDExMCwxMTYsOTcsMTA1LDExMCwxMTUsOTUsOTUsOTksMiwwLDAsMCwwLDAsCiAgICAgMCwwLDIsMCwwLDAsMiwwLDAsMCw2NywwLDAsMCwxMTUsMjAsCiAgICAgMCwwLDAsMTI0LDAsMCwxMDYsMCwwLDEwNiwxLDAsMTI0LDEsMCwxMzEsCiAgICAgMSwwLDEsMTAwLDAsMCw4Myw0MCwxLDAsMCwwLDc4LDQwLDIsMCwKLSAgICAwLDAsMTE3LDUsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsMTE3LDYsMCwwLAotICAgIDAsOTcsMTEyLDExMiwxMDEsMTEwLDEwMCw0MCwyLDAsMCwwLDExNyw0LDAsMCwKLSAgICAwLDExNSwxMDEsMTA4LDEwMiwxMTcsNCwwLDAsMCwxMDUsMTE2LDEwMSwxMDksNDAsMCwKLSAgICAwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsNiwwLDAsMCw5NywKLSAgICAxMTIsMTEyLDEwMSwxMTAsMTAwLDE4Niw0LDAsMCwxMTUsMiwwLDAsMCwwLDEsCi0gICAgMTE3LDIxLDAsMCwwLDk1LDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsCi0gICAgOTcsMTE2LDEwNCw0Niw5NywxMTIsMTEyLDEwMSwxMTAsMTAwLDc4LDQwLDEzLDAsMCwwLAotICAgIDExNyw4LDAsMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLDk1LDk1LDExNywxMCwwLAotICAgIDAsMCw5NSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSw5NSwxMTcsMTIsMCwwLAotICAgIDAsOTUsOTUsMTEzLDExNyw5NywxMDgsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMTE3LDcsMCwKLSAgICAwLDAsOTUsOTUsMTAwLDExMSw5OSw5NSw5NSwxMTcsOCwwLDAsMCw5NSw5NSwKLSAgICAxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMTE3LDIzLDAsMCwwLDk1LDEwMiwxMDUsMTEwLDEwMCwKLSAgICA5NSwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDk1LDExMiw5NywxMTYsMTA0LDk1LDExMCw5NywxMDksCi0gICAgMTAxLDExNSwxMTcsMTYsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTEyLDk3LDExNCwxMDEsCi0gICAgMTEwLDExNiw5NSwxMTIsOTcsMTE2LDEwNCwxMTcsMTIsMCwwLDAsOTUsMTE0LDEwMSw5OSwKLSAgICA5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLDExNyw4LDAsMCwwLDk1LDk1LDEwNSwKLSAgICAxMTYsMTAxLDExNCw5NSw5NSwxMTcsNywwLDAsMCw5NSw5NSwxMDgsMTAxLDExMCw5NSwKLSAgICA5NSwxMTcsOCwwLDAsMCw5NSw5NSwxMTQsMTAxLDExMiwxMTQsOTUsOTUsMTE3LDEyLAotICAgIDAsMCwwLDk1LDk1LDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsMTE1LDk1LDk1LDExNywKLSAgICA2LDAsMCwwLDk3LDExMiwxMTIsMTAxLDExMCwxMDAsNDAsMSwwLDAsMCwxMTcsCi0gICAgMTAsMCwwLDAsOTUsOTUsMTA4LDExMSw5OSw5NywxMDgsMTE1LDk1LDk1LDQwLDAsCi0gICAgMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwKLSAgICAxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSwKLSAgICA5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE0LDAsMCwwLDk1LAotICAgIDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsODAsOTcsMTE2LDEwNCwxMzUsNCwwLAotICAgIDAsMTE1LDIwLDAsMCwwLDE2LDUsNiwyLDEyLDYsMTIsMTAsMTIsNCwKLSAgICAxMiwxMiwxMiwzLDEyLDMsMTIsMywxMiwzLDExNywxNCwwLDAsMCw5NSwKLSAgICA3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsOTksMSwwLAotICAgIDAsMCwwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NiwwLAotICAgIDAsMCwxMTUsNjgsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsCi0gICAgMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsMCwKLSAgICA5MCwzLDAsMTAxLDQsMCwxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCwxMzEsCi0gICAgMSwwLDkwLDUsMCwxMDEsNiwwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwKLSAgICAwLDEzMSwxLDAsOTAsNywwLDEwMCw3LDAsODMsNDAsOCwwLDAsMCwKLSAgICAxMTcsMTUsMCwwLDAsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsCi0gICAgOTcsMTAwLDEwMSwxMTQsOTksNCwwLDAsMCwwLDAsMCwwLDQsMCwwLAotICAgIDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsMjUsMCwwLDAsMTE2LDAsCi0gICAgMCwxMjQsMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMywwLDEyNCwwLDAsCi0gICAgOTUsMSwwLDEwMCwwLDAsODMsNDAsMSwwLDAsMCw3OCw0MCwyLDAsCi0gICAgMCwwLDExNywxNCwwLDAsMCw5NSw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksCi0gICAgMTAxLDgwLDk3LDExNiwxMDQsMTE3LDUsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsNDAsCi0gICAgNCwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsMTE3LDQsMCwKLSAgICAwLDAsMTEwLDk3LDEwOSwxMDEsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsMTE3LAotICAgIDExLDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQwLAotICAgIDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLAotICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0NiwKLSAgICA5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDgsMCwwLDAsCi0gICAgOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDE5MSw0LDAsMCwxMTUsMiwwLDAsCi0gICAgMCwwLDEsMTE3LDI0LDAsMCwwLDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwKLSAgICAxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSwKLSAgICA5OSwyLDAsMCwwLDAsMCwwLDAsMiwwLDAsMCwyLDAsMCwKLSAgICAwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwxMDAsMSwwLDEwNiwwLDAsCi0gICAgMTI0LDEsMCwxMDYsMSwwLDEzMSwxLDAsODMsNDAsMiwwLDAsMCw3OCwKLSAgICAxMTcsMjUsMCwwLDAsNjAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMzksMTIzLDEyNSwKLSAgICAzOSwzMiw0MCwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw0MSw2Miw0MCwyLAotICAgIDAsMCwwLDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LDgsCi0gICAgMCwwLDAsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsNDAsMiwwLDAsMCwKLSAgICAxMTcsMywwLDAsMCw5OSwxMDgsMTE1LDExNyw2LDAsMCwwLDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwKLSAgICAwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LAotICAgIDExLDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDExNCwxMDEsMTEyLDExNCwxOTQsCisgICAgMCwwLDExNCw3LDEsMCwwLDExNCwyNTEsMCwwLDAsNDAsMiwwLDAsCisgICAgMCwxMTQsNzgsMCwwLDAsMTE0LDE4LDEsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyNTEsMCwwLDAsMjAxLAorICAgIDQsMCwwLDExNSwyLDAsMCwwLDAsMSwxMTcsMjEsMCwwLDAsOTUsCisgICAgNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw4MCw5NywxMTYsMTA0LDQ2LDk3LDExMiwKKyAgICAxMTIsMTAxLDExMCwxMDAsNzgsNDAsMTMsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKKyAgICA1NSwwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw3OSwKKyAgICAwLDAsMCwxMTQsMTMsMSwwLDAsMTE0LDgsMSwwLDAsMTE0LDE0LDEsCisgICAgMCwwLDExNCwxNiwxLDAsMCwxMTQsMTcsMSwwLDAsMTE0LDkwLDAsMCwKKyAgICAwLDExNCwxOSwxLDAsMCwxMTQsMjUxLDAsMCwwLDQwLDEsMCwwLDAsCisgICAgMTE0LDY5LDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCwKKyAgICA1LDAsMCwwLDExNCw1LDEsMCwwLDE1MCw0LDAsMCwxMTUsMjAsMCwKKyAgICAwLDAsMTYsNSw2LDIsMTIsNiwxMiwxMCwxMiw0LDEyLDEyLDEyLDMsCisgICAgMTIsMywxMiwzLDEyLDMsMTE0LDUsMSwwLDAsOTksMSwwLDAsMCwKKyAgICAwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NiwwLDAsMCwKKyAgICAxMTUsNjgsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsCisgICAgMCwwLDkwLDIsMCwxMDAsMSwwLDEwMCwyLDAsMTMyLDAsMCw5MCwzLAorICAgIDAsMTAxLDQsMCwxMDAsMywwLDEwMCw0LDAsMTMyLDAsMCwxMzEsMSwwLAorICAgIDkwLDUsMCwxMDEsNiwwLDEwMCw1LDAsMTAwLDYsMCwxMzIsMCwwLDEzMSwKKyAgICAxLDAsOTAsNywwLDEwMCw3LDAsODMsNDAsOCwwLDAsMCwyNDQsMTUsCisgICAgMCwwLDAsNzgsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLAorICAgIDEwMSwxMTQsOTksNCwwLDAsMCwwLDAsMCwwLDQsMCwwLDAsNCwKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsMjUsMCwwLDAsMTE2LDAsMCwxMjQsCisgICAgMSwwLDEyNCwyLDAsMTI0LDMsMCwxMzEsMywwLDEyNCwwLDAsOTUsMSwKKyAgICAwLDEwMCwwLDAsODMsNDAsMSwwLDAsMCw3OCw0MCwyLDAsMCwwLAorICAgIDExNCw1LDEsMCwwLDExNCw3LDEsMCwwLDQwLDQsMCwwLDAsMTE0LAorICAgIDc4LDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDExLAorICAgIDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsCisgICAgMCwwLDExNCw3OSwwLDAsMCwyMDYsNCwwLDAsMTE1LDIsMCwwLDAsCisgICAgMCwxLDExNywyNCwwLDAsMCw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLAorICAgIDc2LDExMSw5NywxMDAsMTAxLDExNCw0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsOTksCisgICAgMiwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTYsMCwwLDAsMTAwLDEsMCwxMDYsMCwwLDEyNCwKKyAgICAxLDAsMTA2LDEsMCwxMzEsMSwwLDgzLDQwLDIsMCwwLDAsNzgsMTE3LAorICAgIDI1LDAsMCwwLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDM5LDEyMywxMjUsMzksCisgICAgMzIsNDAsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNDEsNjIsNDAsMiwwLAorICAgIDAsMCwxMTQsNDYsMCwwLDAsMTE0LDU2LDAsMCwwLDQwLDIsMCwwLAorICAgIDAsMTE0LDE5NSwwLDAsMCwxMTQsMTQ1LDAsMCwwLDExNCw0LDAsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwxOTYsMCwwLDAsMjA5LAogICAgIDQsMCwwLDExNSwyLDAsMCwwLDAsMiwxMTcsMjcsMCwwLDAsNzgsCiAgICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA5LAogICAgIDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE0LDEwMSwxMTIsMTE0LDk5LDIsMCwwLDAsMCwKQEAgLTMwNTIsMTM4MyArMjUxMiwxMDMxIEBACiAgICAgMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMTcsMzgsMCwwLDAsMTEwLDk3LDEwOSwxMDEsMTE1LAogICAgIDExMiw5Nyw5OSwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA4LDExMSw5NywxMDAsCiAgICAgMTAxLDEwMCwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTIzLDMzLDExNCwKLSAgICAxMjUsNDAsMywwLDAsMCwxMTcsMTYsMCwwLDAsOTUsMTE4LDEwMSwxMTQsOTgsCi0gICAgMTExLDExNSwxMDEsOTUsMTA5LDEwMSwxMTUsMTE1LDk3LDEwMywxMDEsMTE3LDUsMCwwLDAsCi0gICAgOTUsMTEyLDk3LDExNiwxMDQsMTE3LDgsMCwwLDAsOTUsOTUsMTEyLDk3LDExNiwxMDQsCi0gICAgOTUsOTUsNDAsMiwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsCi0gICAgMTE3LDYsMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsMCwwLDAsMCwKLSAgICA0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLAotICAgIDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsCi0gICAgMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTEsMCwwLDAsMTA4LDExMSw5NywxMDAsCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTk4LDQsMCwwLDExNSw2LDAsMCwwLAotICAgIDAsMywxNiwxLDEyLDEsMTE3LDI3LDAsMCwwLDc4LDk3LDEwOSwxMDEsMTE1LAotICAgIDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDEwOCwxMTEsOTcsMTAwLDk1LAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDc4LDQwLDgsMCwwLDAsMTE3LDgsMCwwLAotICAgIDAsOTUsOTUsMTEwLDk3LDEwOSwxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDk1LDk1LAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwxMTMsCi0gICAgMTE3LDk3LDEwOCwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsOCwwLDAsMCw5NSw5NSwKLSAgICAxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMTE3LDExLDAsMCwwLDk5LDEwOCw5NywxMTUsMTE1LAotICAgIDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDExNywxMSwwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSw5NSwxMTQsMTAxLDExMiwxMTQsMTE3LDE3LDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDk1LDEwMiwxMTEsMTE0LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDExLDAsMCwKLSAgICAwLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQwLDEsMCwwLAotICAgIDAsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOCwxMTEsOTksOTcsMTA4LDExNSw5NSw5NSwKLSAgICA0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLAotICAgIDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCi0gICAgNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxNSwwLDAsCi0gICAgMCw3OCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICAxOTAsNCwwLDAsMTE1LDYsMCwwLDAsMTYsMSwxMiwzLDE4LDQsMTE3LAotICAgIDE1LDAsMCwwLDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LAotICAgIDEwMCwxMDEsMTE0LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLAotICAgIDQsMCwwLDAsNjYsMCwwLDAsMTE1LDExOSwwLDAsMCwxMjQsMCwwLAotICAgIDY5LDEwMSwwLDAsOTAsMSwwLDEwMCwwLDAsOTAsMiwwLDEwMCwxLDAsCi0gICAgOTAsMywwLDEwMSw0LDAsMTAwLDIsMCwxMDAsMywwLDEzMiwwLDAsMTMxLAotICAgIDEsMCw5MCw1LDAsMTAxLDQsMCwxMDAsNCwwLDEwMCw1LDAsMTMyLDAsCi0gICAgMCwxMzEsMSwwLDkwLDYsMCwxMDEsNCwwLDEwMCw2LDAsMTAwLDcsMCwKLSAgICAxMzIsMCwwLDEzMSwxLDAsOTAsNywwLDEwMSw0LDAsMTAwLDgsMCwxMDAsCi0gICAgOSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw4LDAsMTAxLDQsMCwxMDAsMTIsCi0gICAgMCwxMDAsMTAsMCwxMDAsMTEsMCwxMzIsMSwwLDEzMSwxLDAsOTAsMTAsMCwKLSAgICAxMDAsMTIsMCw4Myw0MCwxMywwLDAsMCwxMTcsMTAsMCwwLDAsODAsOTcsCi0gICAgMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNyw2MiwwLDAsMCw3NywxMDEsMTE2LAotICAgIDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsCi0gICAgMTE0LDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLDk3LDExMCwxMDAsMzIsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk1LDk1LDExMiw5NywxMTYsMTA0LDk1LDk1LDMyLAotICAgIDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsNDYsOTksMSwwLDAsMCwKLSAgICAwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwKLSAgICAxMTUsNTgsMCwwLDAsMTIwLDUxLDAsMTE2LDAsMCwxMDYsMSwwLDEwNiwyLAotICAgIDAsMTMxLDAsMCw2OCw5MywzNCwwLDEyNSwxLDAsMTE2LDMsMCwxMjQsMSwKLSAgICAwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMTYsMCwxMjQsMSwwLDEwNiw0LDAsCi0gICAgMTMxLDAsMCwxLDExMywxNiwwLDExMywxNiwwLDg3LDEwMCwyLDAsODMsNDAsCi0gICAgMywwLDAsMCwxMTcsMTI1LDAsMCwwLDY3LDk3LDEwOCwxMDgsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwKLSAgICAxMDQsMTAxLDExNSw0MCw0MSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwzMiwxMTEsMTEwLDMyLAotICAgIDk3LDEwOCwxMDgsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwxMDIsCi0gICAgMTA1LDExMCwxMDAsMTAxLDExNCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE1LAotICAgIDExNiwxMTEsMTE0LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LAotICAgIDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsCi0gICAgMTE1LDMyLDQwLDExOSwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksMTAxLAotICAgIDExMCwxMTYsMTAxLDEwMCw0MSw0NiwxMTcsMTcsMCwwLDAsMTA1LDExMCwxMTgsOTcsMTA4LAotICAgIDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw3OCw0MCw1LDAsCi0gICAgMCwwLDExNywzLDAsMCwwLDExNSwxMjEsMTE1LDExNywxOSwwLDAsMCwxMTIsCi0gICAgOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LAotICAgIDEwNCwxMDEsMTE3LDYsMCwwLDAsMTE4LDk3LDEwOCwxMTcsMTAxLDExNSwxMTcsNywwLAotICAgIDAsMCwxMDQsOTcsMTE1LDk3LDExNiwxMTYsMTE0LDExNywxNywwLDAsMCwxMDUsMTEwLAotICAgIDExOCw5NywxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDQwLAotICAgIDIsMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsNiwwLDAsCi0gICAgMCwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCw0MCwwLDAsMCwwLDQwLDAsMCwwLAotICAgIDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksCi0gICAgMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsCi0gICAgOTcsMTEyLDYyLDExNywxNywwLDAsMCwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywKLSAgICAxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDIxMiw0LDAsMCwxMTUsNiwwLAotICAgIDAsMCwwLDQsMjIsMSwxNSwxLDExNywyOCwwLDAsMCw4MCw5NywxMTYsCi0gICAgMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsCi0gICAgMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw5OSwyLDAsMCwwLDAsMCwKLSAgICAwLDAsMywwLDAsMCwxMiwwLDAsMCw2NywwLDAsMCwxMTUsOTQsCi0gICAgMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDExNSwyOCwwLDExNiwyLDAsMTA2LAotICAgIDMsMCwxMDAsMSwwLDExNiw0LDAsMTMxLDIsMCwxLDExMCwwLDAsMTIwLAotICAgIDU5LDAsMTE2LDAsMCwxMDYsMSwwLDY4LDkzLDQ0LDAsMTI1LDIsMCwxMjEsCi0gICAgMTQsMCwxMjQsMiwwLDEyNCwxLDAsMTMxLDEsMCw4Myw4NywxMTMsMzgsMCwKLSAgICA0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDgxLDAsMSwxLDEsMTE5LDM4LDAsCi0gICAgODksMTEzLDM4LDAsODgsMTEzLDM4LDAsODcsMTAwLDIsMCw4MywxMDAsMiwwLAotICAgIDgzLDQwLDMsMCwwLDAsMTE3LDExMywwLDAsMCw4MywxMDEsOTcsMTE0LDk5LAotICAgIDEwNCwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCw5OSwxMDEsMzIsMTExLDEwMiwzMiwxMDQsMTExLAotICAgIDExMSwxMDcsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLDk3LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDMyLDEwMiwxMTEsMTE0LDMyLDM5LDExMiw5NywxMTYsMTA0LDM5LDQ2LDEwLDEwLDMyLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwMiwzMiwzOSwxMDQsMTExLDExMSwxMDcsMTE1LDM5LAotICAgIDMyLDEwNSwxMTUsMzIsMTAyLDk3LDEwOCwxMTUsMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTcsCi0gICAgMTE1LDEwMSwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsCi0gICAgMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNywyMywwLDAsCi0gICAgMCwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLAotICAgIDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSw3OCw0MCw3LDAsMCwwLDExNywzLAotICAgIDAsMCwwLDExNSwxMjEsMTE1LDExNywxMCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDQsMTExLDExMSwxMDcsMTE1LDExNyw5LDAsMCwwLDk1LDExOSw5NywxMTQsMTEwLDEwNSwKLSAgICAxMTAsMTAzLDExNSwxMTcsNCwwLDAsMCwxMTksOTcsMTE0LDExMCwxMTcsMTMsMCwwLAotICAgIDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw4Nyw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLDExNywxMSwKLSAgICAwLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwxMTcsNCwKLSAgICAwLDAsMCw3OCwxMTEsMTEwLDEwMSw0MCwzLDAsMCwwLDExNywzLDAsMCwKLSAgICAwLDk5LDEwOCwxMTUsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsMTE3LDQsMCwKLSAgICAwLDAsMTA0LDExMSwxMTEsMTA3LDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwKLSAgICAxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywKLSAgICAxMTIsNjIsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLAotICAgIDEwNywxMTUsMjIwLDQsMCwwLDExNSwxNiwwLDAsMCwwLDcsOSwxLDE5LAotICAgIDEsMTYsMSwzLDEsMTQsMSwxMywxLDEyLDIsMTE3LDIyLDAsMCwwLAotICAgIDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDQsMTExLDExMSwxMDcsMTE1LDk5LDIsMCwwLDAsMCwwLDAsMCwzLAotICAgIDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw5MSwwLDAsMCwKLSAgICAxMjQsMSwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjEsMCwxMDAsMiwwLDEyNSwKLSAgICAxLDAsMTEwLDAsMCwxMjEsMTcsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsCi0gICAgMCwyNSwxMjUsMiwwLDg3LDExMCw0NiwwLDQsMTE2LDIsMCwxMDcsMTAsMCwKLSAgICAxMTQsODYsMCwxLDEsMSwxMjQsMCwwLDEwNiwzLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwyLDAsMTI0LDIsMCwxMTYsMCwwLDEwNiwxLDAsMTI0LDEsCi0gICAgMCw2MCw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsODMsNDAsMywwLDAsMCwKLSAgICAxMTcsMjEwLDAsMCwwLDcxLDEwMSwxMTYsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsCi0gICAgMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsCi0gICAgMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwxMDIsMTE0LDExMSwxMDksMzIsMTE1LDEyMSwxMTUsNDYsCisgICAgMTI1LDQwLDMsMCwwLDAsMTE0LDE0MSwwLDAsMCwxMTQsNywxLDAsMCwKKyAgICAxMTQsMTQzLDAsMCwwLDQwLDIsMCwwLDAsMTE0LDc4LDAsMCwwLDExNCwKKyAgICAxNDUsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDE5OCwwLDAsMCwyMTMsNCwwLDAsMTE1LDYsMCwwLAorICAgIDAsMCwzLDE2LDEsMTIsMSwxMTcsMjcsMCwwLDAsNzgsOTcsMTA5LDEwMSwKKyAgICAxMTUsMTEyLDk3LDk5LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsNDYsMTA4LDExMSw5NywxMDAsCisgICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNzgsNDAsOCwwLDAsMCwxMTQsNTYsMCwKKyAgICAwLDAsMTE0LDU1LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsNzksMCwwLAorICAgIDAsMTE0LDIwMSwwLDAsMCwxMTQsMTk2LDAsMCwwLDExNCwxNTksMCwwLDAsCisgICAgMTE0LDE5OCwwLDAsMCw0MCwxLDAsMCwwLDExNCw2OSwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjAsCisgICAgMSwwLDAsMjA1LDQsMCwwLDExNSw2LDAsMCwwLDE2LDEsMTIsMywKKyAgICAxOCw0LDExNCwyMCwxLDAsMCw5OSwxLDAsMCwwLDAsMCwwLDAsCisgICAgMSwwLDAsMCw0LDAsMCwwLDY2LDAsMCwwLDExNSwxMTksMCwwLAorICAgIDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsCisgICAgMCwxMDAsMSwwLDkwLDMsMCwxMDEsNCwwLDEwMCwyLDAsMTAwLDMsMCwKKyAgICAxMzIsMCwwLDEzMSwxLDAsOTAsNSwwLDEwMSw0LDAsMTAwLDQsMCwxMDAsCisgICAgNSwwLDEzMiwwLDAsMTMxLDEsMCw5MCw2LDAsMTAxLDQsMCwxMDAsNiwKKyAgICAwLDEwMCw3LDAsMTMyLDAsMCwxMzEsMSwwLDkwLDcsMCwxMDEsNCwwLAorICAgIDEwMCw4LDAsMTAwLDksMCwxMzIsMCwwLDEzMSwxLDAsOTAsOCwwLDEwMSwKKyAgICA0LDAsMTAwLDEwLDAsMTAwLDExLDAsMTAwLDEyLDAsMTMyLDEsMCwxMzEsMSwKKyAgICAwLDkwLDksMCwxMDAsMTAsMCw4Myw0MCwxMywwLDAsMCwyNDQsMTAsMCwKKyAgICAwLDAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNyw2MiwwLDAsCisgICAgMCw3NywxMDEsMTE2LDk3LDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsCisgICAgMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLDk3LAorICAgIDExMCwxMDAsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDk1LDk1LDExMiw5NywxMTYsCisgICAgMTA0LDk1LDk1LDMyLDk3LDExNiwxMTYsMTE0LDEwNSw5OCwxMTcsMTE2LDEwMSwxMTUsNDYsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsNCwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsNTgsMCwwLDAsMTIwLDUxLDAsMTE2LDAsMCwxMDYsCisgICAgMSwwLDEwNiwyLDAsMTMxLDAsMCw2OCw5MywzNCwwLDEyNSwxLDAsMTE2LAorICAgIDMsMCwxMjQsMSwwLDEwMCwxLDAsMTMxLDIsMCwxMTQsMTYsMCwxMjQsMSwKKyAgICAwLDEwNiw0LDAsMTMxLDAsMCwxLDExMywxNiwwLDExMywxNiwwLDg3LDEwMCwKKyAgICAyLDAsODMsNDAsMywwLDAsMCwxMTcsMTI1LDAsMCwwLDY3LDk3LDEwOCwKKyAgICAxMDgsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSwKKyAgICA5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw0MCw0MSwzMiwxMDksMTAxLDExNiwxMDQsMTExLDEwMCwKKyAgICAzMiwxMTEsMTEwLDMyLDk3LDEwOCwxMDgsMzIsMTEyLDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsCisgICAgMTE0LDEyMSwzMiwxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMzIsMzIsMTE1LDExNiwxMTEsMTE0LDEwMSwxMDAsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSwKKyAgICA0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LAorICAgIDk3LDk5LDEwNCwxMDEsMTE1LDMyLDQwLDExOSwxMDQsMTAxLDExNCwxMDEsMzIsMTA1LDEwOSwxMTIsCisgICAgMTA4LDEwMSwxMDksMTAxLDExMCwxMTYsMTAxLDEwMCw0MSw0NiwyNDQsMTcsMCwwLDAsMTA1LAorICAgIDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSwKKyAgICA3OCw0MCw1LDAsMCwwLDExNCw3LDAsMCwwLDI0NCwxOSwwLDAsMCwKICAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDk1LDk5LDk3LAotICAgIDk5LDEwNCwxMDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsNzMsMTAyLAotICAgIDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDEwMSwxMTAsMTE2LDExNCwxMjEsMzIsCi0gICAgMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiwxMDUsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LAotICAgIDk5LDEwNCwxMDEsNDQsMzIsMTAyLDEwNSwxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDk3LDExMiwKLSAgICAxMTIsMTE0LDExMSwxMTIsMTE0LDEwNSw5NywxMTYsMTAxLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LAotICAgIDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDk3LDExMCwxMDAsMzIsOTksOTcsOTksCi0gICAgMTA0LDEwMSwzMiwxMDUsMTE2LDQ2LDMyLDczLDEwMiwzMiwxMTAsMTExLDMyLDEwMiwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDMyLDEwNSwxMTUsMzIsOTcsMTE4LDk3LDEwNSwxMDgsOTcsOTgsMTA4LDEwMSwKLSAgICA0NCwzMiwxMTUsMTE2LDExMSwxMTQsMTAxLDMyLDc4LDExMSwxMTAsMTAxLDQ2LDEwLDEwLDMyLAotICAgIDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExNywwLDAsMCwwLDExNywxLDAsMCwKLSAgICAwLDQ2LDQwLDQsMCwwLDAsMTE3LDMsMCwwLDAsMTE1LDEyMSwxMTUsMTE3LAotICAgIDE5LDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwKLSAgICAxMTQsOTUsOTksOTcsOTksMTA0LDEwMSwxMTcsOCwwLDAsMCw3NSwxMDEsMTIxLDY5LAotICAgIDExNCwxMTQsMTExLDExNCwxMTcsMTEsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA0LAotICAgIDExMSwxMTEsMTA3LDExNSw0MCwzLDAsMCwwLDExNywzLDAsMCwwLDk5LDEwOCwKLSAgICAxMTUsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsMTE3LDYsMCwwLDAsMTAyLAotICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywKLSAgICAyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsCi0gICAgMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiwKLSAgICA2MiwxMTcsMjAsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLAotICAgIDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDIzNyw0LDAsMCwxMTUsMTYsCi0gICAgMCwwLDAsMCw4LDEyLDEsOSwxLDMsMSwxNywxLDEzLDEsMTUsCi0gICAgMSwxOCwxLDExNywzMSwwLDAsMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLAotICAgIDEwMSwxMTQsNDYsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAotICAgIDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDk5LDMsMCwwLDAsMCwwLDAsMCwKLSAgICA4LDAsMCwwLDUsMCwwLDAsNjcsMCwwLDAsMTE1LDE4OSwwLDAsCi0gICAgMCwxMDMsMCwwLDEyNSwzLDAsMTIwLDE3NiwwLDEyNCwyLDAsNjgsOTMsMTU4LAotICAgIDAsMTI1LDQsMCwxMTYsMCwwLDEyNCw0LDAsMTE2LDEsMCwxMTYsMiwwLAotICAgIDEwMiwyLDAsMTMxLDIsMCwxMTUsNDYsMCwxMTMsMTMsMCwxMTAsMCwwLDEyNCwKLSAgICAwLDAsMTA2LDMsMCwxMjQsNCwwLDEzMSwxLDAsMTI1LDUsMCwxMjQsNSwKLSAgICAwLDEwMCwyLDAsMTA3LDksMCwxMTQsMTMsMCwxMTYsNSwwLDEyNCw1LDAsCi0gICAgMTAwLDEsMCwxMzEsMiwwLDExNCwxMTIsMCwxMjQsNSwwLDEwNiw2LDAsMTI0LAotICAgIDEsMCwxMzEsMSwwLDkyLDIsMCwxMjUsNiwwLDEyNSw3LDAsMTEwLDIxLAotICAgIDAsMTI0LDUsMCwxMDYsNywwLDEyNCwxLDAsMTMxLDEsMCwxMjUsNiwwLAotICAgIDEwMywwLDAsMTI1LDcsMCwxMjQsNiwwLDEwMCwyLDAsMTA3LDksMCwxMTQsCi0gICAgMTU1LDAsMTI0LDYsMCwxMjQsMywwLDEwMiwyLDAsODMsMTI0LDMsMCwxMDYsCi0gICAgOCwwLDEyNCw3LDAsMTMxLDEsMCwxLDExMywxMywwLDExMywxMywwLDg3LAotICAgIDEwMCwyLDAsMTI0LDMsMCwxMDIsMiwwLDgzLDEwMCwyLDAsODMsNDAsMywKLSAgICAwLDAsMCwxMTcsNjMsMCwwLDAsNzAsMTA1LDExMCwxMDAsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMTEsMTE0LDMyLDExMCw5NywxMDksMTAxLDExNSwKLSAgICAxMTIsOTcsOTksMTAxLDk1LDExMiw5NywxMTYsMTA0LDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsCi0gICAgMTA1LDExNSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NywxMTIsOTcsOTksMTA3LDk3LDEwMywKLSAgICAxMDEsMzIsMTEwLDk3LDEwOSwxMDEsNDYsMTE3LDExLDAsMCwwLDEwMiwxMDUsMTEwLDEwMCwKLSAgICA5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDc4LDQwLDksMCwwLDAsMTE3LDEwLDAsCi0gICAgMCwwLDEwNSwxMTUsMTA1LDExMCwxMTUsMTE2LDk3LDExMCw5OSwxMDEsMTE3LDMsMCwwLAotICAgIDAsMTE1LDExNiwxMTQsMTE3LDUsMCwwLDAsOTgsMTIxLDExNiwxMDEsMTE1LDExNywyMCwKLSAgICAwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCi0gICAgMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsCi0gICAgMTE3LDcsMCwwLDAsMTA0LDk3LDExNSw5NywxMTYsMTE2LDExNCwxMTcsMTEsMCwwLAotICAgIDAsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDExLDAsMCwKLSAgICAwLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsNiwwLDAsCi0gICAgMCwxMDEsMTIwLDExNiwxMDEsMTEwLDEwMCw0MCw4LDAsMCwwLDExNywzLDAsMCwKLSAgICAwLDk5LDEwOCwxMTUsMTE3LDgsMCwwLDAsMTAyLDExNywxMDgsMTA4LDExMCw5NywxMDksCi0gICAgMTAxLDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNywxNCwwLDAsMCwxMTAsCi0gICAgOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTcsNSwwLAotICAgIDAsMCwxMDEsMTEwLDExNiwxMTQsMTIxLDExNyw2LDAsMCwwLDEwMiwxMDUsMTEwLDEwMCwKLSAgICAxMDEsMTE0LDExNyw2LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDgsMCwKLSAgICAwLDAsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSw0MCwwLDAsMCwwLDQwLAotICAgIDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsCi0gICAgMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMSwwLDAsMCw5NSwxMDMsMTAxLDExNiw5NSwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDI1NCw0LDAsMCwxMTUsMjgsMCwwLDAsMCwKLSAgICA1LDYsMSwxMywxLDIxLDEsNiwxLDE1LDEsMTIsMSwxNSwxLDI0LAotICAgIDIsMTUsMSw2LDEsMTIsMiwxMCw1LDIwLDIsMTE3LDIyLDAsMCwwLAotICAgIDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDMsMTAxLDExNiw5NSwKLSAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk5LDMsMCwwLDAsMCwwLDAsMCw1LAotICAgIDAsMCwwLDQsMCwwLDAsNjcsMCwwLDAsMTE1LDk3LDAsMCwwLAotICAgIDEyNCwyLDAsMTAwLDEsMCwxMDcsOCwwLDExNCwyNCwwLDExNiwxLDAsMTA2LAotICAgIDIsMCwxMjUsMiwwLDExMCwwLDAsMTI0LDAsMCwxMDYsMywwLDEyNCwxLAotICAgIDAsMTI0LDIsMCwxMzEsMiwwLDkyLDIsMCwxMjUsMywwLDEyNSw0LDAsCi0gICAgMTI0LDMsMCwxMDAsMSwwLDEwNyw5LDAsMTE0LDY0LDAsMTI0LDMsMCw4MywKLSAgICAxMjQsNCwwLDExNCw4OSwwLDExNiw0LDAsMTI0LDEsMCwxMjQsNCwwLDEyNCwKLSAgICAwLDAsMTA2LDMsMCwxMzEsMywwLDgzLDEwMCwxLDAsODMsMTAwLDEsMCwKLSAgICA4Myw0MCwyLDAsMCwwLDExNyw5OCwwLDAsMCw3MCwxMDUsMTEwLDEwMCwzMiwKLSAgICAxMTYsMTA0LDEwMSwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsCi0gICAgMTE1LDQ2LDExMiw5NywxMTYsMTA0LDMyLDExMSwxMTQsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksCi0gICAgMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwKLSAgICAxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LDc4LDQwLDUsCi0gICAgMCwwLDAsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDMsMCwwLAotICAgIDAsMTE1LDEyMSwxMTUsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwxMDQsMTE3LDExLDAsCi0gICAgMCwwLDk1LDEwMywxMDEsMTE2LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDE1LDAsCi0gICAgMCwwLDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDQwLDUsMCwwLDAsMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsOCwKLSAgICAwLDAsMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTE3LDQsMCwwLDAsCi0gICAgMTEyLDk3LDExNiwxMDQsMTE3LDYsMCwwLDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTcsCi0gICAgMTQsMCwwLDAsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsOTUsMTEyLDk3LAotICAgIDExNiwxMDQsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsCi0gICAgMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsCi0gICAgMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTEsCi0gICAgMCwwLDAsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDI1LDUsCi0gICAgMCwwLDExNSwxNiwwLDAsMCwwLDQsMTIsMSwxMiwxLDI0LDEsMTIsCi0gICAgMSw0LDIsNiwzLDE5LDIsMTE3LDIyLDAsMCwwLDgwLDk3LDExNiwxMDQsCi0gICAgNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsNzgsNDAsMTEsMCwwLDAsMTE3LDgsMCwwLDAsOTUsOTUsMTEwLAotICAgIDk3LDEwOSwxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOSwxMTEsMTAwLDExNywKLSAgICAxMDgsMTAxLDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwxMTMsMTE3LDk3LDEwOCwxMTAsCi0gICAgOTcsMTA5LDEwMSw5NSw5NSwxMTcsNywwLDAsMCw5NSw5NSwxMDAsMTExLDk5LDk1LAotICAgIDk1LDExNywxMSwwLDAsMCw5OSwxMDgsOTcsMTE1LDExNSwxMDksMTAxLDExNiwxMDQsMTExLAotICAgIDEwMCwxMTcsMTcsMCwwLDAsMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSwKLSAgICA5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSwxMTcsMTEsMCwwLDAsOTUsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDExNSwxMTcsMjAsMCwwLDAsOTUsMTEyLDk3LDExNiwKLSAgICAxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLAotICAgIDExNywxMSwwLDAsMCw5NSwxMDMsMTAxLDExNiw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAotICAgIDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNywxMSwwLDAsMCwxMDIsMTA1LAotICAgIDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsNDAsMSwwLDAsMCwxMTcsMTAsCi0gICAgMCwwLDAsOTUsOTUsMTA4LDExMSw5OSw5NywxMDgsMTE1LDk1LDk1LDQwLDAsMCwKLSAgICAwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwKLSAgICAxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDEwLDAsMCwwLDgwLDk3LAotICAgIDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwyMDgsNCwwLDAsMTE1LDE0LDAsMCwKLSAgICAwLDE2LDIsNiwyLDE4LDgsMTgsMTcsMTgsMTcsMTgsMjcsMywxLDExNywKLSAgICAxMCwwLDAsMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsOTksMSwKLSAgICAwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMywwLDAsMCw2NiwKLSAgICAwLDAsMCwxMTUsMTEwLDAsMCwwLDEyNCwwLDAsNjksMTAxLDAsMCw5MCwKKyAgICA5OSwxMDQsMTAxLDI0NCw2LDAsMCwwLDExOCw5NywxMDgsMTE3LDEwMSwxMTUsMTE0LDU5LAorICAgIDAsMCwwLDExNCwyMiwxLDAsMCw0MCwyLDAsMCwwLDExNCwxOTUsMCwKKyAgICAwLDAsMjQ0LDYsMCwwLDAsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDIyLDEsMCwKKyAgICAwLDIyNyw0LDAsMCwxMTUsNiwwLDAsMCwwLDQsMjIsMSwxNSwxLAorICAgIDExNywyOCwwLDAsMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsCisgICAgMTA1LDExMCwxMTgsOTcsMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLAorICAgIDExNSw5OSwyLDAsMCwwLDAsMCwwLDAsMywwLDAsMCwxMiwwLAorICAgIDAsMCw2NywwLDAsMCwxMTUsOTQsMCwwLDAsMTE2LDAsMCwxMDYsMSwKKyAgICAwLDExNSwyOCwwLDExNiwyLDAsMTA2LDMsMCwxMDAsMSwwLDExNiw0LDAsCisgICAgMTMxLDIsMCwxLDExMCwwLDAsMTIwLDU5LDAsMTE2LDAsMCwxMDYsMSwwLAorICAgIDY4LDkzLDQ0LDAsMTI1LDIsMCwxMjEsMTQsMCwxMjQsMiwwLDEyNCwxLDAsCisgICAgMTMxLDEsMCw4Myw4NywxMTMsMzgsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LAorICAgIDgxLDAsMSwxLDEsMTE5LDM4LDAsODksMTEzLDM4LDAsODgsMTEzLDM4LDAsCisgICAgODcsMTAwLDIsMCw4MywxMDAsMiwwLDgzLDQwLDMsMCwwLDAsMTE3LDExMywKKyAgICAwLDAsMCw4MywxMDEsOTcsMTE0LDk5LDEwNCwzMiwxMTUsMTAxLDExMywxMTcsMTAxLDExMCwKKyAgICA5OSwxMDEsMzIsMTExLDEwMiwzMiwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwMiwxMTEsMTE0LDMyLAorICAgIDk3LDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDMyLDEwMiwxMTEsMTE0LDMyLDM5LDExMiw5NywKKyAgICAxMTYsMTA0LDM5LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDczLDEwMiwKKyAgICAzMiwzOSwxMDQsMTExLDExMSwxMDcsMTE1LDM5LDMyLDEwNSwxMTUsMzIsMTAyLDk3LDEwOCwxMTUsCisgICAgMTAxLDMyLDExNiwxMDQsMTAxLDExMCwzMiwxMTcsMTE1LDEwMSwzMiwxMTUsMTIxLDExNSw0NiwxMTIsCisgICAgOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDMyLDExNywyMywwLDAsMCwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LAorICAgIDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDMyLDEwNSwxMTUsMzIsMTAxLDEwOSwxMTIsMTE2LDEyMSwKKyAgICA3OCw0MCw2LDAsMCwwLDExNCw3LDAsMCwwLDI0NCwxMCwwLDAsMCwKKyAgICAxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDExNCwxNzAsMCwwLDAsMTE0LAorICAgIDE3MSwwLDAsMCwxMTQsMTcyLDAsMCwwLDExNCwxNTQsMCwwLDAsNDAsMywKKyAgICAwLDAsMCwxMTQsMTk1LDAsMCwwLDExNCwzNSwwLDAsMCwxMTYsNCwwLAorICAgIDAsMCwxMDQsMTExLDExMSwxMDcsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsCisgICAgMTE0LDUsMCwwLDAsMjQ0LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LAorICAgIDEwNCwxMTEsMTExLDEwNywxMTUsMjM1LDQsMCwwLDExNSwxNiwwLDAsMCwwLDcsCisgICAgOSwxLDE5LDEsMTYsMSwzLDEsMTQsMSwxMywxLDEyLDIsMTE3LDIyLAorICAgIDAsMCwwLDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMTIsCisgICAgOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsMTE1LDk5LDIsMCwwLDAsMCwwLAorICAgIDAsMCwzLDAsMCwwLDExLDAsMCwwLDY3LDAsMCwwLDExNSw5MSwKKyAgICAwLDAsMCwxMjQsMSwwLDEwMCwxLDAsMTA3LDIsMCwxMTQsMjEsMCwxMDAsCisgICAgMiwwLDEyNSwxLDAsMTEwLDAsMCwxMjEsMTcsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTI0LDEsMCwyNSwxMjUsMiwwLDg3LDExMCw0NiwwLDQsMTE2LDIsMCwKKyAgICAxMDcsMTAsMCwxMTQsODYsMCwxLDEsMSwxMjQsMCwwLDEwNiwzLDAsMTI0LAorICAgIDEsMCwxMzEsMSwwLDEyNSwyLDAsMTI0LDIsMCwxMTYsMCwwLDEwNiwxLAorICAgIDAsMTI0LDEsMCw2MCw4OSwxMTAsMSwwLDg4LDEyNCwyLDAsODMsNDAsMywKKyAgICAwLDAsMCwxMTcsMjEwLDAsMCwwLDcxLDEwMSwxMTYsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLAorICAgIDk3LDExNiwxMDQsMzIsMTAxLDExMCwxMTYsMTE0LDEyMSwzMiwxMDIsMTE0LDExMSwxMDksMzIsMTE1LAorICAgIDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwKKyAgICA5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDczLDEwMiwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwzMiwxMDEsMTEwLDExNiwKKyAgICAxMTQsMTIxLDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsMTA1LDExMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiw5OSw5Nyw5OSwxMDQsMTAxLDQ0LDMyLDEwMiwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwKKyAgICAzMiw5NywxMTIsMTEyLDExNCwxMTEsMTEyLDExNCwxMDUsOTcsMTE2LDEwMSwzMiwxMDIsMTA1LDExMCwKKyAgICAxMDAsMTAxLDExNCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5NywxMTAsMTAwLDMyLAorICAgIDk5LDk3LDk5LDEwNCwxMDEsMzIsMTA1LDExNiw0NiwzMiw3MywxMDIsMzIsMTEwLDExMSwzMiwKKyAgICAxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDUsMTE1LDMyLDk3LDExOCw5NywxMDUsMTA4LDk3LAorICAgIDk4LDEwOCwxMDEsNDQsMzIsMTE1LDExNiwxMTEsMTE0LDEwMSwzMiw3OCwxMTEsMTEwLDEwMSw0NiwKKyAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTQsMzAsMCwwLDAsMTE0LAorICAgIDEwNCwwLDAsMCw0MCw0LDAsMCwwLDExNCw3LDAsMCwwLDExNCwyMywKKyAgICAxLDAsMCwxMTQsOTQsMCwwLDAsMTE0LDI3LDEsMCwwLDQwLDMsMCwKKyAgICAwLDAsMTE0LDE5NSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDI1LDEsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDI0NCwyMCwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LAorICAgIDExNiwxMDEsMTE0LDk1LDk5LDk3LDk5LDEwNCwxMDEsMjUyLDQsMCwwLDExNSwxNiwwLAorICAgIDAsMCwwLDgsMTIsMSw5LDEsMywxLDE3LDEsMTMsMSwxNSwxLAorICAgIDE4LDEsMTE3LDMxLDAsMCwwLDgwLDk3LDExNiwxMDQsNzAsMTA1LDExMCwxMDAsMTAxLAorICAgIDExNCw0Niw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LAorICAgIDk1LDk5LDk3LDk5LDEwNCwxMDEsOTksMywwLDAsMCwwLDAsMCwwLDgsCisgICAgMCwwLDAsNSwwLDAsMCw2NywwLDAsMCwxMTUsMTg5LDAsMCwwLAorICAgIDEwMywwLDAsMTI1LDMsMCwxMjAsMTc2LDAsMTI0LDIsMCw2OCw5MywxNTgsMCwKKyAgICAxMjUsNCwwLDExNiwwLDAsMTI0LDQsMCwxMTYsMSwwLDExNiwyLDAsMTAyLAorICAgIDIsMCwxMzEsMiwwLDExNSw0NiwwLDExMywxMywwLDExMCwwLDAsMTI0LDAsCisgICAgMCwxMDYsMywwLDEyNCw0LDAsMTMxLDEsMCwxMjUsNSwwLDEyNCw1LDAsCisgICAgMTAwLDEsMCwxMDcsOSwwLDExNCwxMywwLDExNiw0LDAsMTI0LDUsMCwxMDAsCisgICAgMiwwLDEzMSwyLDAsMTE0LDExMiwwLDEyNCw1LDAsMTA2LDUsMCwxMjQsMSwKKyAgICAwLDEzMSwxLDAsOTIsMiwwLDEyNSw2LDAsMTI1LDcsMCwxMTAsMjEsMCwKKyAgICAxMjQsNSwwLDEwNiw2LDAsMTI0LDEsMCwxMzEsMSwwLDEyNSw2LDAsMTAzLAorICAgIDAsMCwxMjUsNywwLDEyNCw2LDAsMTAwLDEsMCwxMDcsOSwwLDExNCwxNTUsCisgICAgMCwxMjQsNiwwLDEyNCwzLDAsMTAyLDIsMCw4MywxMjQsMywwLDEwNiw3LAorICAgIDAsMTI0LDcsMCwxMzEsMSwwLDEsMTEzLDEzLDAsMTEzLDEzLDAsODcsMTAwLAorICAgIDEsMCwxMjQsMywwLDEwMiwyLDAsODMsMTAwLDEsMCw4Myw0MCwzLDAsCisgICAgMCwwLDExNyw2MywwLDAsMCw3MCwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwKKyAgICAxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDMyLDExMSwxMTQsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiwKKyAgICA5Nyw5OSwxMDEsOTUsMTEyLDk3LDExNiwxMDQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDUsCisgICAgMTE1LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ3LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwKKyAgICAzMiwxMTAsOTcsMTA5LDEwMSw0Niw3OCwxMTQsMTY5LDAsMCwwLDQwLDgsMCwwLAorICAgIDAsMTE0LDE4NywwLDAsMCwyNDQsMywwLDAsMCwxMTUsMTE2LDExNCwyNDQsNSwKKyAgICAwLDAsMCw5OCwxMjEsMTE2LDEwMSwxMTUsMTE0LDI4LDEsMCwwLDExNCw1OSwwLAorICAgIDAsMCwxMTQsMTY5LDAsMCwwLDExNCwxOTcsMCwwLDAsMTE0LDE5MiwwLDAsCisgICAgMCw0MCw4LDAsMCwwLDExNCwxOTUsMCwwLDAsMTE0LDE1NiwwLDAsMCwKKyAgICAxMTQsMzUsMCwwLDAsMjQ0LDE0LDAsMCwwLDExMCw5NywxMDksMTAxLDExNSwxMTIsCisgICAgOTcsOTksMTAxLDk1LDExMiw5NywxMTYsMTA0LDExNiw1LDAsMCwwLDEwMSwxMTAsMTE2LAorICAgIDExNCwxMjEsMTE0LDI1LDEsMCwwLDExNCwxNzMsMCwwLDAsMTE0LDE3NCwwLDAsCisgICAgMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwKKyAgICAyNDQsMTEsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKKyAgICAxMyw1LDAsMCwxMTUsMjgsMCwwLDAsMCw1LDYsMSwxMywxLDIxLAorICAgIDEsNiwxLDE1LDEsMTIsMSwxNSwxLDI0LDIsMTUsMSw2LDEsMTIsCisgICAgMiwxMCw1LDIwLDIsMTE3LDIyLDAsMCwwLDgwLDk3LDExNiwxMDQsNzAsMTA1LAorICAgIDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDMsMTAxLDExNiw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDc4LDk5LDMsMCwwLDAsMCwwLDAsMCw1LDAsMCwwLDQsMCwKKyAgICAwLDAsNjcsMCwwLDAsMTE1LDk3LDAsMCwwLDEyNCwyLDAsMTAwLDEsCisgICAgMCwxMDcsOCwwLDExNCwyNCwwLDExNiwwLDAsMTA2LDEsMCwxMjUsMiwwLAorICAgIDExMCwwLDAsMTI0LDAsMCwxMDYsMiwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsCisgICAgMiwwLDkyLDIsMCwxMjUsMywwLDEyNSw0LDAsMTI0LDMsMCwxMDAsMSwKKyAgICAwLDEwNyw5LDAsMTE0LDY0LDAsMTI0LDMsMCw4MywxMjQsNCwwLDExNCw4OSwKKyAgICAwLDExNiwzLDAsMTI0LDEsMCwxMjQsNCwwLDEyNCwwLDAsMTA2LDIsMCwKKyAgICAxMzEsMywwLDgzLDEwMCwxLDAsODMsMTAwLDEsMCw4Myw0MCwyLDAsMCwKKyAgICAwLDExNyw5OCwwLDAsMCw3MCwxMDUsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsCisgICAgMTA0LDMyLDExMSwxMTQsMzIsMzksMTEyLDk3LDExNiwxMDQsMzksMzIsOTgsOTcsMTE1LDEwMSwKKyAgICAxMDAsMzIsMTExLDExMCwzMiwxMTUsMTIxLDExNSw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLAorICAgIDExMSwxMDcsMTE1LDMyLDk3LDExMCwxMDAsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMTE1LDEyMSwxMTUsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLAorICAgIDExNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LDc4LDQwLDQsMCwwLDAsMTE0LDcsCisgICAgMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwzMiwxLDAsMCwxMTQsMjAsMSwKKyAgICAwLDAsNDAsNSwwLDAsMCwxMTQsMTk1LDAsMCwwLDExNCwxNTYsMCwwLAorICAgIDAsMTE0LDM1LDAsMCwwLDExNCwxNzMsMCwwLDAsMTE0LDMxLDEsMCwwLAorICAgIDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwKKyAgICAxOTcsMCwwLDAsNDAsNSwwLDAsMTE1LDE2LDAsMCwwLDAsNCwxMiwKKyAgICAxLDEyLDEsMjQsMSwxMiwxLDQsMiw2LDMsMTksMiwxMTcsMjIsMCwKKyAgICAwLDAsODAsOTcsMTE2LDEwNCw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwMiwxMDUsMTEwLAorICAgIDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCwxMCwwLDAsMCwxMTQsNTYsMCwKKyAgICAwLDAsMTE0LDU1LDAsMCwwLDExNCw1NywwLDAsMCwxMTQsNTgsMCwwLAorICAgIDAsMTE0LDIwMSwwLDAsMCwxMTQsMjIsMSwwLDAsMTE0LDI3LDEsMCwwLAorICAgIDExNCwyOCwxLDAsMCwxMTQsMzIsMSwwLDAsMTE0LDE5NywwLDAsMCw0MCwKKyAgICAxLDAsMCwwLDExNCw2OSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNSwwLDAsMCwxMTQsMjEsMSwwLDAsMjIzLDQsMCwKKyAgICAwLDExNSwxNCwwLDAsMCwxNiwyLDYsMiwxOCw4LDE4LDE3LDE4LDE3LAorICAgIDE4LDI3LDMsMSwxMTQsMjEsMSwwLDAsOTksMSwwLDAsMCwwLDAsCisgICAgMCwwLDEsMCwwLDAsMywwLDAsMCw2NiwwLDAsMCwxMTUsMTEwLAorICAgIDAsMCwwLDEyNCwwLDAsNjksMTAxLDAsMCw5MCwxLDAsMTAwLDAsMCwKKyAgICA5MCwyLDAsMTAwLDEsMCw5MCwzLDAsMTAwLDIsMCwxMDAsMywwLDEzMiwKKyAgICAwLDAsOTAsNCwwLDEwMCw0LDAsMTAwLDUsMCwxMzIsMCwwLDkwLDUsCisgICAgMCwxMDEsNiwwLDkwLDcsMCwxMDAsNiwwLDEwMCw3LDAsMTMyLDAsMCwKKyAgICA5MCw4LDAsMTAwLDgsMCwxMDAsOSwwLDEzMiwwLDAsOTAsOSwwLDEwMSwKKyAgICAxMCwwLDEwMCwxMCwwLDEwMCwxMSwwLDEzMiwwLDAsMTMxLDEsMCw5MCwxMSwKKyAgICAwLDEwMCwxMiwwLDEwMCwxMywwLDEzMiwwLDAsOTAsMTIsMCwxMDAsMTQsMCwKKyAgICA4Myw0MCwxNSwwLDAsMCwyNDQsMTAsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzAsCisgICAgMTA1LDExMCwxMDAsMTAxLDExNCwxMTcsMTcyLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDQ1LDk4LAorICAgIDk3LDExNSwxMDEsMTAwLDMyLDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDEwLDEwLDMyLDMyLAorICAgIDMyLDMyLDczLDExMCwxMTYsMTAxLDExNCw5Nyw5OSwxMTYsMTA1LDExMSwxMTAsMTE1LDMyLDExOSwKKyAgICAxMDUsMTE2LDEwNCwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDEyMSwxMTUsCisgICAgMTE2LDEwMSwxMDksMzIsOTcsMTE0LDEwMSwzMiw5OSw5Nyw5OSwxMDQsMTAxLDEwMCwzMiwxMDIsCisgICAgMTExLDExNCwzMiwxMTIsMTAxLDExNCwxMDIsMTExLDExNCwxMDksOTcsMTEwLDk5LDEwMSw0NCwzMiwKKyAgICA5OCwxMDEsMTA1LDExMCwxMDMsMTAsMzIsMzIsMzIsMzIsMTE0LDEwMSwxMDIsMTE0LDEwMSwxMTUsCisgICAgMTA0LDEwMSwxMDAsMzIsMTE5LDEwNCwxMDEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwMCwxMDUsMTE0LAorICAgIDEwMSw5OSwxMTYsMTExLDExNCwxMjEsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwKKyAgICAxMTQsMzIsMTA1LDExNSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTA1LDExMCwxMDMsMzIsMTA0LDk3LAorICAgIDExNSwzMiw5OCwxMDEsMTAxLDExMCwzMiwxMDksMTExLDEwMCwxMDUsMTAyLDEwNSwxMDEsMTAwLDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDk5LDIsMCwwLDAsMCwwLDAsMCw1LAorICAgIDAsMCwwLDUsMCwwLDAsNywwLDAsMCwxMTUsMTIyLDAsMCwwLAorICAgIDEwMywwLDAsMTI1LDMsMCwxMjAsNTIsMCwxMjQsMiwwLDY4LDkzLDQ0LDAsCisgICAgOTIsMiwwLDEzNywwLDAsMTI1LDQsMCwxMjQsMywwLDEwNiwwLDAsMTM1LAorICAgIDAsMCwxMDIsMSwwLDEwMCwxLDAsMTAwLDIsMCwxMzQsMCwwLDEyNCw0LAorICAgIDAsNjgsMTMxLDEsMCwxMzEsMSwwLDEsMTEzLDEzLDAsODcsMTI0LDMsMCwKKyAgICAxMjQsMCwwLDk1LDEsMCwxMjQsMSwwLDExMiw3OSwwLDEwMCwzLDAsMTI0LAorICAgIDAsMCw5NSwyLDAsMTAwLDYsMCwxMjQsMCwwLDk1LDMsMCwxMTYsNCwKKyAgICAwLDEzMSwwLDAsMTI0LDAsMCw5NSw1LDAsMTE2LDQsMCwxMzEsMCwwLAorICAgIDEyNCwwLDAsOTUsNiwwLDEwMCw1LDAsODMsNDAsNywwLDAsMCwxMTcsCisgICAgMTU0LDAsMCwwLDczLDExMCwxMDUsMTE2LDEwNSw5NywxMDgsMTA1LDEyMiwxMDEsMzIsMTE5LAorICAgIDEwNSwxMTYsMTA0LDMyLDExNiwxMDQsMTAxLDMyLDExMiw5NywxMTYsMTA0LDMyLDExNiwxMTEsMzIsCisgICAgMTE1LDEwMSw5NywxMTQsOTksMTA0LDMyLDExMSwxMTAsMzIsOTcsMTEwLDEwMCwzMiw5NywzMiwKKyAgICAxMTgsOTcsMTE0LDEwNSw5Nyw5OCwxMDgsMTAxLDMyLDExMCwxMTcsMTA5LDk4LDEwMSwxMTQsMzIsCisgICAgMTExLDEwMiwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw1MCw0NSwxMTYsMTE3LDExMiwKKyAgICAxMDgsMTAxLDExNSwzMiw5OSwxMTEsMTEwLDExNiw5NywxMDUsMTEwLDEwNSwxMTAsMTAzLDMyLDExNiwKKyAgICAxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiwxMDIsMTA1LDEwOCwxMDEsMzIsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSwzMiwKKyAgICAxMTYsMTA0LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDEwLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDMyLDMyLDExNCwxMDEsOTksMTExLDEwMywxMTAsMTA1LDEyMiwxMDEsMTE1LDQ2LDk5LDEsCisgICAgMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDMsMCwwLDAsNTEsCisgICAgMCwwLDAsMTE1LDI3LDAsMCwwLDEyNCwwLDAsOTMsMTcsMCwxMjUsMSwKKyAgICAwLDEyNCwxLDAsMTM2LDAsMCwxMDIsMiwwLDg2LDEsMTEzLDMsMCwxMDAsCisgICAgMCwwLDgzLDQwLDEsMCwwLDAsNzgsMTE0LDQsMCwwLDAsNDAsMiwKKyAgICAwLDAsMCwxMTQsMjIsMCwwLDAsMTE0LDAsMSwwLDAsNDAsMSwwLAorICAgIDAsMCwxMTQsMTczLDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwKKyAgICAwLDExNCwyLDEsMCwwLDczLDUsMCwwLDExNSwyLDAsMCwwLDYsCisgICAgMCwxMTcsMzgsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKKyAgICA0Niw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsCisgICAgMTE1LDYyLDQ2LDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2MiwxMTQsMTA0LDAsMCwKKyAgICAwLDExNCwyOSwwLDAsMCw3OCwxMTQsMTI2LDAsMCwwLDQwLDcsMCwwLAorICAgIDAsMTE0LDE5MiwwLDAsMCwyNDQsOCwwLDAsMCw5NSwxMDgsMTExLDk3LDEwMCwKKyAgICAxMDEsMTE0LDExNSwxMTQsMzUsMCwwLDAsMjQ0LDExLDAsMCwwLDk1LDExMiw5NywKKyAgICAxMTYsMTA0LDk1LDEwOSwxMTYsMTA1LDEwOSwxMDEsMjQ0LDMsMCwwLDAsMTE1LDEwMSwxMTYsCisgICAgMjQ0LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDk5LDk3LDk5LDEwNCwxMDEsCisgICAgMjQ0LDE5LDAsMCwwLDk1LDExNCwxMDEsMTA4LDk3LDEyMCwxMDEsMTAwLDk1LDExMiw5NywKKyAgICAxMTYsMTA0LDk1LDk5LDk3LDk5LDEwNCwxMDEsNDAsNSwwLDAsMCwxMTQsNzgsMCwKKyAgICAwLDAsMTE0LDM1LDAsMCwwLDExNiw3LDAsMCwwLDEwMCwxMDEsMTE2LDk3LAorICAgIDEwNSwxMDgsMTE1LDExNiw3LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNCwKKyAgICAxMTUsMCwwLDAsMTE0LDQsMCwwLDAsNDAsMSwwLDAsMCwxMTQsMTczLAorICAgIDAsMCwwLDExNCw1LDAsMCwwLDExNCw3OSwwLDAsMCw2Nyw1LDAsCisgICAgMCwxMTUsMTYsMCwwLDAsMCw0LDYsMSwxOSwxLDM2LDEsOSwyLAorICAgIDE1LDEsOSwxLDEyLDEsMTE3LDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLAorICAgIDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsCisgICAgMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsCisgICAgMCwwLDAsMTE1LDEzLDAsMCwwLDEwMCwzLDAsMTI0LDAsMCw5NSwwLAorICAgIDAsMTAwLDIsMCw4Myw0MCw0LDAsMCwwLDExNywzMSwwLDAsMCw3MywKKyAgICAxMTAsMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwNSwKKyAgICAxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMDksMTE2LDEwNSwxMDksMTAxLDQ2LDExNCwyOSwKKyAgICAwLDAsMCw3OCwxMTQsMTI2LDAsMCwwLDQwLDEsMCwwLDAsMTE0LDM1LAorICAgIDEsMCwwLDQwLDEsMCwwLDAsMTE0LDc4LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDExNCwyMiwxLDAsCisgICAgMCw4MSw1LDAsMCwxMTUsMiwwLDAsMCwwLDIsMTE3LDI4LDAsMCwKKyAgICAwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTA1LDExMCwxMTgsOTcsCisgICAgMTA4LDEwNSwxMDAsOTcsMTE2LDEwMSw5NSw5OSw5Nyw5OSwxMDQsMTAxLDExNSw5OSwyLDAsCisgICAgMCwwLDAsMCwwLDAsMTIsMCwwLDAsMTMsMCwwLDAsNjcsMCwKKyAgICAwLDAsMTE1LDIxNiwxLDAsMCwxMDAsMSwwLDEyNSwyLDAsMTI0LDEsMCwKKyAgICAxMDYsMCwwLDEwMCwyLDAsMTMxLDEsMCwxMDAsMywwLDI1LDEyNSwzLDAsCisgICAgMTIxLDI1LDAsMTE2LDEsMCwxMDYsMiwwLDEyNCwwLDAsMTA2LDMsMCwxMzEsCisgICAgMSwwLDEwNiw0LDAsMTI1LDQsMCw4NywxMTAsMjQsMCw0LDExNiw1LDAsCisgICAgMTA3LDEwLDAsMTE0LDc2LDAsMSwxLDEsMTAwLDExLDAsMTI1LDQsMCw4OSwKKyAgICAxMTAsMSwwLDg4LDEyNCw0LDAsMTI0LDAsMCwxMDYsNiwwLDEwNywzLDAsCisgICAgMTE0LDExNCwwLDEyNCwwLDAsMTA2LDcsMCwxMzEsMCwwLDEsMTI0LDQsMCwKKyAgICAxMjQsMCwwLDk1LDYsMCwxMTAsMCwwLDExNiw4LDAsMTMxLDAsMCwxMTQsCisgICAgMTQ3LDAsMTI0LDAsMCwxMDYsOSwwLDEyNSw1LDAsMTI0LDMsMCwxMDYsMTAsCisgICAgMCwxMzEsMCwwLDEyNSw2LDAsMTEwLDE1LDAsMTI0LDAsMCwxMDYsMTEsMCwKKyAgICAxMjUsNSwwLDEyNCwzLDAsMTI1LDYsMCwxMjQsNiwwLDEyNCw1LDAsMTA3LAorICAgIDYsMCwxMTQsNDUsMSwxMTYsMTIsMCwxMjQsMCwwLDEwNiwzLDAsMTI0LDMsCisgICAgMCwxMzEsMiwwLDEyNSw3LDAsMTE2LDEzLDAsMTI0LDcsMCwxMzEsMSwwLAorICAgIDExNCw0NSwxLDEyMCw5MSwwLDEyNCwwLDAsMTA2LDE0LDAsNjgsOTMsNzEsMCwKKyAgICA5MiwyLDAsMTI1LDgsMCwxMjUsOSwwLDEwMCw1LDAsMTI0LDgsMCwyMywKKyAgICAxMjUsMTAsMCwxMTYsMTIsMCwxMjQsNywwLDEyNCwxMCwwLDEzMSwyLDAsMTI1LAorICAgIDExLDAsMTE2LDE1LDAsMTI0LDExLDAsMTMxLDEsMCwxMTQsMjE0LDAsMTI0LDksCisgICAgMCwxMjQsMSwwLDEyNCwxMSwwLDEzMSwyLDAsMTI0LDcsMCwxMDMsMSwwLAorICAgIDEwMiwyLDAsODMsMTEzLDIxNCwwLDg3LDEwMCw2LDAsMTI1LDIsMCwxMTMsNDUsCisgICAgMSwxMTAsMCwwLDEyMCwxMjAsMCwxMjQsMCwwLDEwNiwxNCwwLDY4LDkzLDEwOSwKKyAgICAwLDkyLDIsMCwxMjUsOCwwLDEyNSw5LDAsMTE2LDEyLDAsMTI0LDAsMCwKKyAgICAxMDYsMywwLDEyNCwzLDAsMTI0LDgsMCwyMywxMzEsMiwwLDEyNSwxMSwwLAorICAgIDExNiwxNiwwLDEwMCw3LDAsMTA2LDE3LDAsMTI0LDExLDAsMTMxLDEsMCwxMDAsCisgICAgOCwwLDEwMCwzLDAsMTMxLDEsMSwxLDEyNCw2LDAsMTI0LDgsMCwyMywKKyAgICAxMjQsNSwwLDEwNyw2LDAsMTE0LDU1LDEsMTE2LDE1LDAsMTI0LDExLDAsMTMxLAorICAgIDEsMCwxMTQsMTY0LDEsMTI0LDksMCwxMjQsMSwwLDEyNCwxMSwwLDEzMSwyLAorICAgIDAsMTAzLDAsMCwxMDIsMiwwLDgzLDExMyw1NSwxLDExMyw1NSwxLDg3LDEyNCwKKyAgICAyLDAsMTE0LDIwNiwxLDExNiwxNiwwLDEwMCw5LDAsMTA2LDE3LDAsMTI0LDcsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsMSwxMDAsMTAsMCwxMjQsNywwLDEwMywxLAorICAgIDAsMTAyLDIsMCw4MywxMDAsMTAsMCwxMDMsMCwwLDEwMiwyLDAsODMsNDAsCisgICAgMTIsMCwwLDAsMTE3LDEyNSwwLDAsMCw4NCwxMTQsMTIxLDMyLDExNiwxMTEsMzIsCisgICAgMTAyLDEwNSwxMTAsMTAwLDMyLDk3LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwKKyAgICAxMTQsMzIsMTE2LDEwNCwxMDEsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwKKyAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NCwzMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMCwKKyAgICA5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAorICAgIDMyLDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwzMiwxMTIsMTExLDExNCwxMTYsMTA1LDExMSwxMTAsCisgICAgMTE1LDQ2LDMyLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDQwLDEwOCwxMTEsOTcsMTAwLAorICAgIDEwMSwxMTQsNDQsMzIsMTA4LDEwNSwxMTUsMTE2LDQ1LDExMSwxMDIsNDUsMTEyLDExMSwxMTQsMTE2LAorICAgIDEwNSwxMTEsMTEwLDExNSw0MSw0Niw3MCwxMTQsMTA0LDAsMCwwLDExNCwxMDMsMCwwLAorICAgIDAsMTE0LDI5LDAsMCwwLDExNCw3OSwwLDAsMCw4NCwxMTcsOSwwLDAsCisgICAgMCwxMTYsMTE0LDEyMSwxMDUsMTEwLDEwMywzMiwxMjMsMTI1LDExNCwxMzQsMCwwLDAsMTE3LAorICAgIDI1LDAsMCwwLDExMiwxMTEsMTE1LDExNSwxMDUsOTgsMTA4LDEwMSwzMiwxMTAsOTcsMTA5LAorICAgIDEwMSwxMTUsMTEyLDk3LDk5LDEwMSwzMiwxMDIsMTExLDExNCwzMiwxMjMsMTI1LDc4LDExNCwxMjYsCisgICAgMCwwLDAsNDAsMTgsMCwwLDAsMTE0LDMyLDAsMCwwLDExNCwzLDAsCisgICAgMCwwLDExNCwzOSwwLDAsMCwxMTQsMzUsMCwwLDAsMTE0LDI0OSwwLDAsCisgICAgMCwxMTQsNDAsMCwwLDAsMTE0LDM1LDEsMCwwLDI0NCwxMSwwLDAsMCwKKyAgICA5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksOTcsOTksMTA0LDEwMSwxMTQsNiwwLDAsMCwKKyAgICAxMTQsMzgsMSwwLDAsMTE0LDEyNywwLDAsMCwxMTQsMzcsMSwwLDAsMTE0LAorICAgIDI4LDAsMCwwLDExNCw0NSwwLDAsMCwxMTQsMzQsMSwwLDAsMTE0LDQ0LAorICAgIDAsMCwwLDExNCwxNDEsMCwwLDAsMTE0LDQ2LDAsMCwwLDQwLDEyLDAsCisgICAgMCwwLDExNCw3OCwwLDAsMCwxMTQsMTU2LDAsMCwwLDExNiwxMiwwLDAsCisgICAgMCwxMDUsMTE1LDk1LDExMCw5NywxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDExNiwxMSwwLAorICAgIDAsMCwxMTYsOTcsMTA1LDEwOCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTQsMTc5LDAsCisgICAgMCwwLDExNiw1LDAsMCwwLDk5LDk3LDk5LDEwNCwxMDEsMTE2LDEyLDAsMCwKKyAgICAwLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE2LDksMCwKKyAgICAwLDAsOTgsOTcsMTE1LDEwMSw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMCwxLDAsMCwKKyAgICAxMTQsMTczLDAsMCwwLDExNiwxMywwLDAsMCwxMDUsMTEwLDEwNSwxMTYsOTUsMTAyLAorICAgIDEwNSwxMDgsMTAxLDExMCw5NywxMDksMTAxLDExNiw5LDAsMCwwLDEwMiwxMTcsMTA4LDEwOCwKKyAgICA5NSwxMTIsOTcsMTE2LDEwNCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNSwwLDAsMCwxMTQsMTY5LDAsMCwwLDg3LDUsMCwwLDExNSw2NiwwLAorICAgIDAsMCwwLDMsNiwxLDE5LDEsMywxLDI1LDEsMTMsMSwxMSwxLAorICAgIDE1LDEsMTAsMSwxMiwyLDksMSw5LDEsMTUsMiw5LDEsNiwyLAorICAgIDEyLDEsMTgsMSwxMiwxLDIyLDEsMTAsMSwxNSwxLDEyLDEsMjYsNCwKKyAgICAxMiwyLDIyLDEsMjIsMSwyNSwxLDE2LDEsMTIsMSwyNiwxLDYsMSwKKyAgICAxOSwxLDEzLDEsMTE3LDIyLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsCisgICAgMTAwLDEwMSwxMTQsNDYsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDksMCwwLDAsMTMsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDIsMSwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwKKyAgICAxLDAsMTIxLDE5LDAsMTE2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDEsCisgICAgMCwxMjUsMiwwLDg3LDExMCwzMywwLDQsMTE2LDMsMCwxMTYsNCwwLDExNiwKKyAgICA1LDAsMTAyLDMsMCwxMDcsMTAsMCwxMTQsNjMsMCwxLDEsMSwxMDMsMCwKKyAgICAwLDEyNSwyLDAsODksMTEwLDEsMCw4OCwxMTYsNiwwLDEwNiw3LDAsMTA2LAorICAgIDgsMCwxMDAsMSwwLDEzMSwxLDAsMTE1LDEwMCwwLDExNiw5LDAsMTI0LDIsCisgICAgMCwxMzEsMSwwLDEyNCwwLDAsOTUsMTAsMCwxMTAsMTExLDAsMTE2LDksMCwKKyAgICAxMzEsMCwwLDEyNSwzLDAsMTIwLDkwLDAsMTI0LDIsMCw2OCw5Myw4MiwwLAorICAgIDEyNSw0LDAsMTI0LDQsMCwxMDYsMTEsMCwxMDAsMiwwLDEzMSwxLDAsOTIsCisgICAgMywwLDEyNSw1LDAsMTI1LDYsMCwxMjUsNywwLDEyNCw2LDAsMTE0LDE3OSwKKyAgICAwLDEwMCwzLDAsMTA2LDEyLDAsMTI0LDUsMCwxMjQsNywwLDEwNiwxMywwLAorICAgIDEzMSwwLDAsMTMxLDIsMCwxMjUsOCwwLDExMCw2LDAsMTI0LDUsMCwxMjUsCisgICAgOCwwLDEyNCwzLDAsMTA2LDE0LDAsMTI0LDgsMCwxMzEsMSwwLDEsMTEzLAorICAgIDExNiwwLDg3LDEyNCwzLDAsMTI0LDAsMCw5NSwxMCwwLDExNiw2LDAsMTA2LAorICAgIDcsMCwxMDYsOCwwLDExNiwxNSwwLDEzMSwxLDAsMTE0LDI1NCwwLDEwMCw0LAorICAgIDAsMTAwLDUsMCwxMzIsMCwwLDEyNCwyLDAsNjgsMTMxLDEsMCwxMjQsMCwKKyAgICAwLDk1LDE2LDAsMTEwLDAsMCwxMDAsNiwwLDgzLDQwLDcsMCwwLDAsCisgICAgMTE3LDY4LDAsMCwwLDcwLDEwNSwxMDgsMTA4LDMyLDExNiwxMDQsMTAxLDMyLDk5LDk3LAorICAgIDk5LDEwNCwxMDEsMzIsMTExLDEwMiwzMiwxMTIsMTExLDExNiwxMDEsMTEwLDExNiwxMDUsOTcsMTA4LAorICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTAsMTAwLDMyLDExMiw5Nyw5OSwKKyAgICAxMDcsOTcsMTAzLDEwMSwxMTUsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwxMDUsMTE1LDMyLDEwMCwKKyAgICAxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMjEsNDYsMTE0LDAsMCwwLDAsMTE0LDEwNCwKKyAgICAwLDAsMCwxMTcsNSwwLDAsMCwxMjMsMTI1LDQ2LDEyMywxMjUsOTksMSwwLAorICAgIDAsMCwwLDAsMCwwLDIsMCwwLDAsMywwLDAsMCw4MywwLAorICAgIDAsMCwxMTUsMjgsMCwwLDAsMTA0LDAsMCwxMjQsMCwwLDkzLDE4LDAsCisgICAgMTI1LDEsMCwxMjQsMSwwLDEwNiwwLDAsMTMxLDAsMCwxNDYsMiwwLDExMywKKyAgICA2LDAsODMsMTE0LDQsMCwwLDAsNDAsMSwwLDAsMCwxMTQsMTI3LDAsCisgICAgMCwwLDQwLDIsMCwwLDAsMTE0LDIyLDAsMCwwLDExNiwyLDAsMCwKKyAgICAwLDEwMiwxMTAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwKKyAgICAwLDAsMjQ1LDksMCwwLDAsNjAsMTE1LDEwMSwxMTYsOTksMTExLDEwOSwxMTIsNjIsCisgICAgMTYwLDUsMCwwLDExNSwyLDAsMCwwLDksMCwxMTcsNDEsMCwwLDAsCisgICAgNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Niw5NSwxMDIsMTA1LDEwOCwxMDgsCisgICAgOTUsOTksOTcsOTksMTA0LDEwMSw0Niw2MCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsNjIsNDYsCisgICAgNjAsMTE1LDEwMSwxMTYsOTksMTExLDEwOSwxMTIsNjIsNzgsNDAsMTcsMCwwLDAsMTE0LAorICAgIDM1LDAsMCwwLDExNCwzLDAsMCwwLDExNiw3LDAsMCwwLDEwOCwxMDUsCisgICAgMTE1LDExNiwxMDAsMTA1LDExNCwyNDQsMTcsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzgsMTExLAorICAgIDExNiw3MCwxMTEsMTE3LDExMCwxMDAsNjksMTE0LDExNCwxMTEsMTE0LDI0NCwxNSwwLDAsMCwKKyAgICA4MCwxMDEsMTE0LDEwOSwxMDUsMTE1LDExNSwxMDUsMTExLDExMCw2OSwxMTQsMTE0LDExMSwxMTQsMjQ0LAorICAgIDE4LDAsMCwwLDc4LDExMSwxMTYsNjUsNjgsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsCisgICAgMTIxLDY5LDExNCwxMTQsMTExLDExNCwxMTQsNywwLDAsMCwxMTQsOCwwLDAsMCwKKyAgICAxMTQsOSwwLDAsMCwxMTQsMzYsMSwwLDAsMTE0LDM3LDEsMCwwLDExNCwKKyAgICAxMDksMCwwLDAsMTE0LDQ2LDAsMCwwLDExNCwxMjcsMCwwLDAsMjQ0LDMsCisgICAgMCwwLDAsOTcsMTAwLDEwMCwxMTQsMTAsMCwwLDAsMTE0LDM4LDEsMCwwLAorICAgIDQwLDksMCwwLDAsMTE0LDc4LDAsMCwwLDExNCwzNSwwLDAsMCwxMTYsCisgICAgOCwwLDAsMCw5OSwxMTEsMTEwLDExNiwxMDEsMTEwLDExNiwxMTUsMTE2LDIxLDAsMCwKKyAgICAwLDEwOCwxMTEsMTE5LDEwMSwxMTQsOTUsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsOTUsOTksMTExLAorICAgIDExMCwxMTYsMTAxLDExMCwxMTYsMTE1LDExNCwxOCwxLDAsMCwxMTQsNjYsMCwwLDAsCisgICAgMTE0LDEyLDEsMCwwLDExNCwwLDEsMCwwLDExNiw4LDAsMCwwLDExMCwKKyAgICAxMDEsMTE5LDk1LDExMCw5NywxMDksMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw1LDAsMCwwLDExNCwzOSwxLDAsMCwxMzEsNSwwLDAsMTE1LAorICAgIDM0LDAsMCwwLDAsMiw5LDEsMywxLDE5LDEsMjIsMywxMSwzLAorICAgIDE4LDEsMTgsNyw5LDEsMTMsMSwyNCwxLDYsMSwyNywyLDYsMSwKKyAgICAxNywxLDksMSwxOCwxLDExNywyMiwwLDAsMCw3MCwxMDUsMTA4LDEwMSw3MCwKKyAgICAxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSw5Nyw5OSwxMDQsCisgICAgMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwKKyAgICAwLDAsNywwLDAsMCwxMTUsMjUsMCwwLDAsMTM1LDAsMCwxMzUsMSwKKyAgICAwLDEwMiwyLDAsMTAwLDEsMCwxMDAsMiwwLDEzNCwwLDAsMTI1LDIsMCwKKyAgICAxMjQsMiwwLDgzLDQwLDMsMCwwLDAsMTE3LDIwLDEsMCwwLDY1LDMyLAorICAgIDk5LDEwOCw5NywxMTUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwxMTEsMTAwLDMyLDExOSwxMDQsMTA1LAorICAgIDk5LDEwNCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsMzIsOTcsMzIsOTksMTA4LDExMSwKKyAgICAxMTUsMTE3LDExNCwxMDEsMzIsMTE2LDExMSwzMiwxMTcsMTE1LDEwMSwzMiwxMTEsMTEwLDMyLDExNSwKKyAgICAxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMCwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiwzMiwxMTksMTA0LDEwNSw5OSwxMDQsMzIsMTE5LDEwNSwxMDgsMTA4LDMyLAorICAgIDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDk3LDExMCwzMiwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLAorICAgIDk5LDEwMSwzMiwxMTcsMTE1LDEwNSwxMTAsMTAzLDMyLDExNiwxMDQsMTAxLDMyLDExNSwxMTIsMTAxLAorICAgIDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsMzIsOTcsCisgICAgMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LDEwNCwxMCwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiw5OSw5NywxMDgsMTA4LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMTYsMTA0LAorICAgIDEwMSwzMiw5OSwxMDgsMTExLDExNSwxMTcsMTE0LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiwzMiwzMiw3MywxMDIsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwxMDQsMzIsCisgICAgOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsOTksMTA4LAorICAgIDExMSwxMTUsMTE3LDExNCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiw5NywzMiwxMDAsCisgICAgMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDQ0LDMyLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCisgICAgNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMTAsMzIsMzIsMzIsMzIsMzIsMzIsMzIsCisgICAgMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwKKyAgICAzMiwzMiw5OSwxLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCw0LAorICAgIDAsMCwwLDE5LDAsMCwwLDExNSw0NiwwLDAsMCwxMTYsMCwwLDEyNCwKKyAgICAwLDAsMTMxLDEsMCwxMTUsMzMsMCwxMTYsMSwwLDEwMCwxLDAsMTAwLDIsCisgICAgMCwxMjQsMCwwLDEzMSwxLDEsMTMwLDEsMCwxMTAsMCwwLDEzNiwwLDAsCisgICAgMTI0LDAsMCwxMzYsMSwwLDE0MCwxLDAsODMsNDAsMywwLDAsMCwxMTcsCisgICAgNDUsMCwwLDAsODAsOTcsMTE2LDEwNCwzMiwxMDQsMTExLDExMSwxMDcsMzIsMTAyLDExMSwKKyAgICAxMTQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0NiwxMDksOTcsOTksMTA0LAorICAgIDEwNSwxMTAsMTAxLDExNCwxMjEsNDYsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKKyAgICA0NiwxMTcsMzAsMCwwLDAsMTExLDExMCwxMDgsMTIxLDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwKKyAgICAxMTYsMTExLDExNCwxMDUsMTAxLDExNSwzMiw5NywxMTQsMTAxLDMyLDExNSwxMTcsMTEyLDExMiwxMTEsCisgICAgMTE0LDExNiwxMDEsMTAwLDExNCwzNSwwLDAsMCw0MCwyLDAsMCwwLDExNCw0NSwKKyAgICAwLDAsMCwxMTQsMTU0LDAsMCwwLDQwLDEsMCwwLDAsMTE0LDM1LDAsCisgICAgMCwwLDQwLDIsMCwwLDAsMTE0LDE5NSwwLDAsMCwyNDQsMTQsMCwwLAorICAgIDAsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsMjQsMCwwLDAsMTEyLDk3LAorICAgIDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDk1LDEwMiwxMTEsMTE0LDk1LDcwLDEwNSwxMDgsMTAxLAorICAgIDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTcyLDUsMCwwLDExNSw2LDAsMCwwLDAsCisgICAgMiwxMiwxLDIxLDEsMTE3LDU0LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwKKyAgICAxMTAsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDQ2LDYwLAorICAgIDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwKKyAgICAxMDcsOTUsMTAyLDExMSwxMTQsOTUsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwKKyAgICAxMTQsNCwwLDAsMCw0MCwzLDAsMCwwLDExNCwxOTUsMCwwLDAsMTE0LAorICAgIDQ1LDEsMCwwLDExNCw0NiwxLDAsMCwxMTQsNCwwLDAsMCw0MCwyLAorICAgIDAsMCwwLDExNCwxOTUsMCwwLDAsMTE0LDQ1LDEsMCwwLDExNCw1LDAsCisgICAgMCwwLDI0NCw5LDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywKKyAgICAxNjIsNSwwLDAsMTE1LDQsMCwwLDAsMCwxMCwyMSw2LDExNywyMCwwLAorICAgIDAsMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDExMiw5NywxMTYsCisgICAgMTA0LDk1LDEwNCwxMTEsMTExLDEwNyw5OSwxLDAsMCwwLDAsMCwwLDAsMSwKKyAgICAwLDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSwxNiwwLDAsMCwKKyAgICAxMDAsMSwwLDEwNiwwLDAsMTI0LDAsMCwxMDYsMSwwLDEzMSwxLDAsODMsCisgICAgNDAsMiwwLDAsMCw3OCwxMTcsMTYsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzAsCisgICAgMTA1LDExMCwxMDAsMTAxLDExNCw0MCwxMjMsMzMsMTE0LDEyNSw0MSw0MCwyLDAsMCwwLAorICAgIDExNCw0NiwwLDAsMCwxMTQsMzUsMCwwLDAsNDAsMSwwLDAsMCwxMTQsCisgICAgNzgsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsCisgICAgMCwwLDAsMTE0LDkwLDAsMCwwLDE4MCw1LDAsMCwxMTUsMiwwLDAsCisgICAgMCwwLDEsMTE3LDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLAorICAgIDEwMSwxMTQsNDYsOTUsOTUsMTE0LDEwMSwxMTIsMTE0LDk1LDk1LDc4LDQwLDEzLDAsMCwKKyAgICAwLDExNCw1NiwwLDAsMCwxMTQsNTUsMCwwLDAsMTE0LDU3LDAsMCwwLAorICAgIDExNCw1OCwwLDAsMCwxMTQsNzksMCwwLDAsMTE0LDIyLDEsMCwwLDExNCwKKyAgICAxNzYsMCwwLDAsMTE0LDE5NywwLDAsMCwxMTQsMTY5LDAsMCwwLDExNCwzOSwKKyAgICAxLDAsMCwxMTQsMjAxLDAsMCwwLDExNCw0NywxLDAsMCwxMTQsOTAsMCwKKyAgICAwLDAsNDAsMSwwLDAsMCwxMTQsNjksMCwwLDAsMTE0LDQsMCwwLAorICAgIDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMTE0LDMzLDEsMCwwLAorICAgIDU4LDUsMCwwLDExNSwxNiwwLDAsMCwxNiw3LDYsMiwxMiwxNCwxMiwKKyAgICA0LDYsMiwxMiw0NCwxMiwzMSwxOCwxOCwxMTQsMzMsMSwwLDAsOTksMSwKKyAgICAwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMiwwLDAsMCw2NiwKKyAgICAwLDAsMCwxMTUsNTAsMCwwLDAsMTI0LDAsMCw2OSwxMDEsMCwwLDkwLAogICAgIDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwwLDkwLDMsMCwxMDAsMiwKICAgICAwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsMTAwLDQsMCwxMDAsNSwwLAotICAgIDEzMiwwLDAsOTAsNSwwLDEwMSw2LDAsOTAsNywwLDEwMCw2LDAsMTAwLAotICAgIDcsMCwxMzIsMCwwLDkwLDgsMCwxMDAsOCwwLDEwMCw5LDAsMTMyLDAsCi0gICAgMCw5MCw5LDAsMTAxLDEwLDAsMTAwLDEwLDAsMTAwLDExLDAsMTMyLDAsMCwKLSAgICAxMzEsMSwwLDkwLDExLDAsMTAwLDEyLDAsMTAwLDEzLDAsMTMyLDAsMCw5MCwKLSAgICAxMiwwLDEwMCwxNCwwLDgzLDQwLDE1LDAsMCwwLDExNywxMCwwLDAsMCwKLSAgICA3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNywxNzIsMCwwLDAsNzAsCi0gICAgMTA1LDEwOCwxMDEsNDUsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTAyLDEwNSwxMTAsMTAwLDEwMSwxMTQsCi0gICAgNDYsMTAsMTAsMzIsMzIsMzIsMzIsNzMsMTEwLDExNiwxMDEsMTE0LDk3LDk5LDExNiwxMDUsCi0gICAgMTExLDExMCwxMTUsMzIsMTE5LDEwNSwxMTYsMTA0LDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LAotICAgIDEwMSwzMiwxMTUsMTIxLDExNSwxMTYsMTAxLDEwOSwzMiw5NywxMTQsMTAxLDMyLDk5LDk3LDk5LAotICAgIDEwNCwxMDEsMTAwLDMyLDEwMiwxMTEsMTE0LDMyLDExMiwxMDEsMTE0LDEwMiwxMTEsMTE0LDEwOSw5NywKLSAgICAxMTAsOTksMTAxLDQ0LDMyLDk4LDEwMSwxMDUsMTEwLDEwMywxMCwzMiwzMiwzMiwzMiwxMTQsCi0gICAgMTAxLDEwMiwxMTQsMTAxLDExNSwxMDQsMTAxLDEwMCwzMiwxMTksMTA0LDEwMSwxMTAsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMTYsMTA0LDEwMSwzMiwKLSAgICAxMDIsMTA1LDExMCwxMDAsMTAxLDExNCwzMiwxMDUsMTE1LDMyLDEwNCw5NywxMTAsMTAwLDEwOCwxMDUsCi0gICAgMTEwLDEwMywzMiwxMDQsOTcsMTE1LDMyLDk4LDEwMSwxMDEsMTEwLDMyLDEwOSwxMTEsMTAwLDEwNSwKLSAgICAxMDIsMTA1LDEwMSwxMDAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsOTksMiwwLDAsMCwKLSAgICAwLDAsMCwwLDUsMCwwLDAsNSwwLDAsMCw3LDAsMCwwLAotICAgIDExNSwxMjIsMCwwLDAsMTAzLDAsMCwxMjUsMywwLDEyMCw1MiwwLDEyNCwyLAotICAgIDAsNjgsOTMsNDQsMCw5MiwyLDAsMTM3LDAsMCwxMjUsNCwwLDEyNCwzLAotICAgIDAsMTA2LDAsMCwxMzUsMCwwLDEwMiwxLDAsMTAwLDEsMCwxMDAsMiwwLAotICAgIDEzNCwwLDAsMTI0LDQsMCw2OCwxMzEsMSwwLDEzMSwxLDAsMSwxMTMsMTMsCi0gICAgMCw4NywxMjQsMywwLDEyNCwwLDAsOTUsMSwwLDEyNCwxLDAsMTEyLDc5LAotICAgIDAsMTAwLDMsMCwxMjQsMCwwLDk1LDIsMCwxMDAsNiwwLDEyNCwwLDAsCi0gICAgOTUsMywwLDExNiw0LDAsMTMxLDAsMCwxMjQsMCwwLDk1LDUsMCwxMTYsCi0gICAgNCwwLDEzMSwwLDAsMTI0LDAsMCw5NSw2LDAsMTAwLDUsMCw4Myw0MCwKLSAgICA3LDAsMCwwLDExNywxNTQsMCwwLDAsNzMsMTEwLDEwNSwxMTYsMTA1LDk3LDEwOCwKLSAgICAxMDUsMTIyLDEwMSwzMiwxMTksMTA1LDExNiwxMDQsMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDExNiwKLSAgICAxMDQsMzIsMTE2LDExMSwzMiwxMTUsMTAxLDk3LDExNCw5OSwxMDQsMzIsMTExLDExMCwzMiw5NywKLSAgICAxMTAsMTAwLDMyLDk3LDMyLDExOCw5NywxMTQsMTA1LDk3LDk4LDEwOCwxMDEsMzIsMTEwLDExNywKLSAgICAxMDksOTgsMTAxLDExNCwzMiwxMTEsMTAyLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLAotICAgIDUwLDQ1LDExNiwxMTcsMTEyLDEwOCwxMDEsMTE1LDMyLDk5LDExMSwxMTAsMTE2LDk3LDEwNSwxMTAsCi0gICAgMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiw5NywKLSAgICAxMTAsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwMiwxMDUsMTA4LDEwMSwzMiwxMTUsMTE3LDEwMiwxMDIsCi0gICAgMTA1LDEyMCwxMDEsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTAsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDEwMSw5OSwxMTEsMTAzLDExMCwxMDUsMTIyLAotICAgIDEwMSwxMTUsNDYsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsCi0gICAgMywwLDAsMCw1MSwwLDAsMCwxMTUsMjcsMCwwLDAsMTI0LDAsMCwKLSAgICA5MywxNywwLDEyNSwxLDAsMTI0LDEsMCwxMzYsMCwwLDEwMiwyLDAsODYsCi0gICAgMSwxMTMsMywwLDEwMCwwLDAsODMsNDAsMSwwLDAsMCw3OCw0MCwwLAotICAgIDAsMCwwLDQwLDIsMCwwLDAsMTE3LDIsMCwwLDAsNDYsNDgsMTE3LAotICAgIDYsMCwwLDAsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsNDAsMSwwLDAsMCwxMTcsCi0gICAgNiwwLDAsMCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQwLDAsMCwwLDAsMTE3LAotICAgIDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLAotICAgIDYyLDExNyw5LDAsMCwwLDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2Miw1OCwKLSAgICA1LDAsMCwxMTUsMiwwLDAsMCw2LDAsMTE3LDM4LDAsMCwwLDcwLAotICAgIDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LAotICAgIDk1LDk1LDQ2LDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwKLSAgICAxMDEsMTIwLDExMiwxMTQsNjIsMTE3LDEsMCwwLDAsNDYsMTA1LDEsMCwwLDAsCi0gICAgNzgsMTA1LDI1NSwyNTUsMjU1LDI1NSw0MCw3LDAsMCwwLDExNyw2LDAsMCwwLAotICAgIDEwMSwxMjAsMTE2LDEwMSwxMTAsMTAwLDExNyw4LDAsMCwwLDk1LDEwOCwxMTEsOTcsMTAwLAotICAgIDEwMSwxMTQsMTE1LDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNywxMSwwLDAsCi0gICAgMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDksMTE2LDEwNSwxMDksMTAxLDExNywzLDAsMCwKLSAgICAwLDExNSwxMDEsMTE2LDExNywxMSwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5OSwKLSAgICA5Nyw5OSwxMDQsMTAxLDExNywxOSwwLDAsMCw5NSwxMTQsMTAxLDEwOCw5NywxMjAsMTAxLAotICAgIDEwMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQwLDUsMCwwLAotICAgIDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNyw0LDAsMCwwLDExMiwKLSAgICA5NywxMTYsMTA0LDExNyw3LDAsMCwwLDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDExNywKLSAgICA3LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNyw4LDAsMCwwLAotICAgIDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsNDAsMCwwLDAsMCw0MCwxLDAsCi0gICAgMCwwLDExNyw2LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDI5LDAsCi0gICAgMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywKLSAgICA4LDAsMCwwLDk1LDk1LDEwNSwxMTAsMTA1LDExNiw5NSw5NSw1Miw1LDAsMCwKLSAgICAxMTUsMTYsMCwwLDAsMCw0LDYsMSwxOSwxLDM2LDEsOSwyLDE1LAotICAgIDEsOSwxLDEyLDEsMTE3LDE5LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwKLSAgICAxMTAsMTAwLDEwMSwxMTQsNDYsOTUsOTUsMTA1LDExMCwxMDUsMTE2LDk1LDk1LDk5LDEsMCwKLSAgICAwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDEzLDAsMCwwLDEwMCwzLDAsMTI0LDAsMCw5NSwwLDAsCi0gICAgMTAwLDIsMCw4Myw0MCw0LDAsMCwwLDExNywzMSwwLDAsMCw3MywxMTAsCi0gICAgMTE4LDk3LDEwOCwxMDUsMTAwLDk3LDExNiwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTAwLDEwNSwxMTQsCi0gICAgMTAxLDk5LDExNiwxMTEsMTE0LDEyMSwzMiwxMDksMTE2LDEwNSwxMDksMTAxLDQ2LDEwNSwxLDAsCi0gICAgMCwwLDc4LDEwNSwyNTUsMjU1LDI1NSwyNTUsNDAsMSwwLDAsMCwxMTcsMTEsMCwKLSAgICAwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA5LDExNiwxMDUsMTA5LDEwMSw0MCwxLDAsCi0gICAgMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiw0MCwwLDAsMCwwLAotICAgIDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsCi0gICAgMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwKLSAgICAxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxNywwLDAsMCwxMDUsMTEwLDExOCw5NywKLSAgICAxMDgsMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDY2LDUsMCwKLSAgICAwLDExNSwyLDAsMCwwLDAsMiwxMTcsMjgsMCwwLDAsNzAsMTA1LDEwOCwKLSAgICAxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMDUsMTEwLDExOCw5NywxMDgsMTA1LDEwMCw5NywKLSAgICAxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDk5LDIsMCwwLDAsMCwwLAotICAgIDAsMCwxMiwwLDAsMCwxMywwLDAsMCw2NywwLDAsMCwxMTUsMjE2LAotICAgIDEsMCwwLDEwMCw4LDAsMTI1LDIsMCwxMjQsMSwwLDEwNiwxLDAsMTAwLAotICAgIDEsMCwxMzEsMSwwLDEwMCwyLDAsMjUsMTI1LDMsMCwxMjEsMjUsMCwxMTYsCi0gICAgMiwwLDEwNiwzLDAsMTI0LDAsMCwxMDYsNCwwLDEzMSwxLDAsMTA2LDUsCi0gICAgMCwxMjUsNCwwLDg3LDExMCwyNCwwLDQsMTE2LDYsMCwxMDcsMTAsMCwxMTQsCi0gICAgNzYsMCwxLDEsMSwxMDAsOSwwLDEyNSw0LDAsODksMTEwLDEsMCw4OCwKLSAgICAxMjQsNCwwLDEyNCwwLDAsMTA2LDcsMCwxMDcsMywwLDExNCwxMTQsMCwxMjQsCi0gICAgMCwwLDEwNiw4LDAsMTMxLDAsMCwxLDEyNCw0LDAsMTI0LDAsMCw5NSwKLSAgICA3LDAsMTEwLDAsMCwxMTYsOSwwLDEzMSwwLDAsMTE0LDE0NywwLDEyNCwwLAotICAgIDAsMTA2LDEwLDAsMTI1LDUsMCwxMjQsMywwLDEwNiwxMSwwLDEzMSwwLDAsCi0gICAgMTI1LDYsMCwxMTAsMTUsMCwxMjQsMCwwLDEwNiwxMiwwLDEyNSw1LDAsMTI0LAotICAgIDMsMCwxMjUsNiwwLDEyNCw2LDAsMTI0LDUsMCwxMDcsNiwwLDExNCw0NSwKLSAgICAxLDExNiwxMywwLDEyNCwwLDAsMTA2LDQsMCwxMjQsMywwLDEzMSwyLDAsCi0gICAgMTI1LDcsMCwxMTYsMTQsMCwxMjQsNywwLDEzMSwxLDAsMTE0LDQ1LDEsMTIwLAotICAgIDkxLDAsMTI0LDAsMCwxMDYsMTUsMCw2OCw5Myw3MSwwLDkyLDIsMCwxMjUsCi0gICAgOCwwLDEyNSw5LDAsMTAwLDQsMCwxMjQsOCwwLDIzLDEyNSwxMCwwLDExNiwKLSAgICAxMywwLDEyNCw3LDAsMTI0LDEwLDAsMTMxLDIsMCwxMjUsMTEsMCwxMTYsMTYsCi0gICAgMCwxMjQsMTEsMCwxMzEsMSwwLDExNCwyMTQsMCwxMjQsOSwwLDEyNCwxLDAsCi0gICAgMTI0LDExLDAsMTMxLDIsMCwxMjQsNywwLDEwMywxLDAsMTAyLDIsMCw4MywKLSAgICAxMTMsMjE0LDAsODcsMTAwLDEwLDAsMTI1LDIsMCwxMTMsNDUsMSwxMTAsMCwwLAotICAgIDEyMCwxMjAsMCwxMjQsMCwwLDEwNiwxNSwwLDY4LDkzLDEwOSwwLDkyLDIsMCwKLSAgICAxMjUsOCwwLDEyNSw5LDAsMTE2LDEzLDAsMTI0LDAsMCwxMDYsNCwwLDEyNCwKLSAgICAzLDAsMTI0LDgsMCwyMywxMzEsMiwwLDEyNSwxMSwwLDExNiwxOCwwLDEwMCwKLSAgICA1LDAsMTA2LDE5LDAsMTI0LDExLDAsMTMxLDEsMCwxMDAsNiwwLDEwMCwyLAotICAgIDAsMTMxLDEsMSwxLDEyNCw2LDAsMTI0LDgsMCwyMywxMjQsNSwwLDEwNywKLSAgICA2LDAsMTE0LDU1LDEsMTE2LDE2LDAsMTI0LDExLDAsMTMxLDEsMCwxMTQsMTY0LAotICAgIDEsMTI0LDksMCwxMjQsMSwwLDEyNCwxMSwwLDEzMSwyLDAsMTAzLDAsMCwKLSAgICAxMDIsMiwwLDgzLDExMyw1NSwxLDExMyw1NSwxLDg3LDEyNCwyLDAsMTE0LDIwNiwKLSAgICAxLDExNiwxOCwwLDEwMCw3LDAsMTA2LDE5LDAsMTI0LDcsMCwxMzEsMSwwLAotICAgIDEzMSwxLDAsMSwxMDAsMTEsMCwxMjQsNywwLDEwMywxLDAsMTAyLDIsMCwKLSAgICA4MywxMDAsMTEsMCwxMDMsMCwwLDEwMiwyLDAsODMsNDAsMTIsMCwwLDAsCi0gICAgMTE3LDEyNSwwLDAsMCw4NCwxMTQsMTIxLDMyLDExNiwxMTEsMzIsMTAyLDEwNSwxMTAsMTAwLAotICAgIDMyLDk3LDMyLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSw0NCwzMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDExMCw5NywxMDksMTAxLDExNSwKLSAgICAxMTIsOTcsOTksMTAxLDEwLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDMyLDExMiw5Nyw5OSwKLSAgICAxMDcsOTcsMTAzLDEwMSwzMiwxMTIsMTExLDExNCwxMTYsMTA1LDExMSwxMTAsMTE1LDQ2LDMyLDgyLAotICAgIDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDQwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsNDQsMzIsCi0gICAgMTA4LDEwNSwxMTUsMTE2LDQ1LDExMSwxMDIsNDUsMTEyLDExMSwxMTQsMTE2LDEwNSwxMTEsMTEwLDExNSwKLSAgICA0MSw0NiwxMTcsMSwwLDAsMCw0NiwxMDUsMiwwLDAsMCwxMDUsMSwwLAotICAgIDAsMCwxMTcsOCwwLDAsMCw5NSw5NSwxMDUsMTEwLDEwNSwxMTYsOTUsOTUsMTE3LAotICAgIDksMCwwLDAsMTE2LDExNCwxMjEsMTA1LDExMCwxMDMsMzIsMTIzLDEyNSwxMTcsOSwwLAotICAgIDAsMCwxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwNSwxMTYsMTIxLDExNywyNSwwLDAsMCwKLSAgICAxMTIsMTExLDExNSwxMTUsMTA1LDk4LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5NywKLSAgICA5OSwxMDEsMzIsMTAyLDExMSwxMTQsMzIsMTIzLDEyNSw3MCwxMDUsMjU1LDI1NSwyNTUsMjU1LDg0LAotICAgIDc4LDQwLDIxLDAsMCwwLDExNyw1LDAsMCwwLDcwLDk3LDEwOCwxMTUsMTAxLAotICAgIDExNywxMCwwLDAsMCwxMTQsMTEyLDk3LDExNCwxMTYsMTA1LDExNiwxMDUsMTExLDExMCwxMTcsCi0gICAgMywwLDAsMCw5NSwxMTEsMTE1LDExNyw0LDAsMCwwLDExNSwxMTYsOTcsMTE2LAotICAgIDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNyw4LDAsMCwwLDExNSwxMTYsCi0gICAgOTUsMTA5LDExNiwxMDUsMTA5LDEwMSwxMTcsNywwLDAsMCw3OSw4Myw2OSwxMTQsMTE0LAotICAgIDExMSwxMTQsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwOSwxMTYsMTA1LAotICAgIDEwOSwxMDEsMTE3LDExLDAsMCwwLDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSw5Nyw5OSwKLSAgICAxMDQsMTAxLDExNywxMSwwLDAsMCw5NSwxMTQsMTAxLDEwOCw5NywxMjAsOTUsOTksOTcsCi0gICAgMTE1LDEwMSwxMTcsMTksMCwwLDAsOTUsMTE0LDEwMSwxMDgsOTcsMTIwLDEwMSwxMDAsOTUsCi0gICAgMTEyLDk3LDExNiwxMDQsOTUsOTksOTcsOTksMTA0LDEwMSwxMTcsNSwwLDAsMCwxMDgsCi0gICAgMTExLDExOSwxMDEsMTE0LDExNywxMSwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5OSwKLSAgICA5Nyw5OSwxMDQsMTAxLDExNywxMCwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCw5NSwxMDYsCi0gICAgMTExLDEwNSwxMTAsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsCi0gICAgMTAwLDEwNSwxMTQsMTE3LDgsMCwwLDAsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwxMTUsCi0gICAgMTE3LDEyLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAyLDEwNSwxMDgsCi0gICAgMTAxLDExNyw0LDAsMCwwLDg0LDExNCwxMTcsMTAxLDExNywxNiwwLDAsMCw5NSwKLSAgICAxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwxMTcsCi0gICAgNiwwLDAsMCwxMDIsMTExLDExNCwxMDksOTcsMTE2LDExNyw0LDAsMCwwLDc4LAotICAgIDExMSwxMTAsMTAxLDQwLDEyLDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LAotICAgIDEwMiwxMTcsOCwwLDAsMCwxMDIsMTE3LDEwOCwxMDgsMTEwLDk3LDEwOSwxMDEsMTE3LDEyLAotICAgIDAsMCwwLDEwNSwxMTUsOTUsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsMTE3LAotICAgIDExLDAsMCwwLDExNiw5NywxMDUsMTA4LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywKLSAgICA1LDAsMCwwLDEwOSwxMTYsMTA1LDEwOSwxMDEsMTE3LDUsMCwwLDAsOTksOTcsCi0gICAgOTksMTA0LDEwMSwxMTcsMTIsMCwwLDAsOTksOTcsOTksMTA0LDEwMSw5NSwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSwxMTcsOSwwLDAsMCw5OCw5NywxMTUsMTAxLDk1LDExMiw5NywKLSAgICAxMTYsMTA0LDExNyw2LDAsMCwwLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDExNyw2LDAsCi0gICAgMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDEzLDAsMCwwLDEwNSwxMTAsMTA1LAotICAgIDExNiw5NSwxMDIsMTA1LDEwOCwxMDEsMTEwLDk3LDEwOSwxMDEsMTE3LDksMCwwLDAsMTAyLAotICAgIDExNywxMDgsMTA4LDk1LDExMiw5NywxMTYsMTA0LDQwLDAsMCwwLDAsNDAsMCwwLAotICAgIDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LAotICAgIDExNCw5NywxMTIsNjIsMTE3LDExLDAsMCwwLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDcyLDUsMCwwLDExNSw2NiwwLDAsMCwwLDMsNiwKLSAgICAxLDE5LDEsMywxLDI1LDEsMTMsMSwxMSwxLDE1LDEsMTAsMSwxMiwKLSAgICAyLDksMSw5LDEsMTUsMiw5LDEsNiwyLDEyLDEsMTgsMSwxMiwKLSAgICAxLDIyLDEsMTAsMSwxNSwxLDEyLDEsMjYsNCwxMiwyLDIyLDEsMjIsCi0gICAgMSwyNSwxLDE2LDEsMTIsMSwyNiwxLDYsMSwxOSwxLDEzLDEsMTE3LAotICAgIDIyLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTAyLAotICAgIDEwNSwxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTksMSwwLDAsMCwwLAotICAgIDAsMCwwLDksMCwwLDAsMTMsMCwwLDAsNjcsMCwwLDAsMTE1LAotICAgIDgsMSwwLDAsMTI0LDAsMCwxMDYsMCwwLDEyNSwxLDAsMTIxLDE5LDAsCi0gICAgMTE2LDEsMCwxMDYsMiwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMiwwLDg3LAotICAgIDExMCwzMywwLDQsMTE2LDMsMCwxMTYsNCwwLDExNiw1LDAsMTAyLDMsMCwKLSAgICAxMDcsMTAsMCwxMTQsNjMsMCwxLDEsMSwxMDMsMCwwLDEyNSwyLDAsODksCi0gICAgMTEwLDEsMCw4OCwxMTYsNiwwLDEwNiw3LDAsMTA2LDgsMCwxMDAsMSwwLAotICAgIDEzMSwxLDAsMTE1LDEwMCwwLDExNiw5LDAsMTI0LDIsMCwxMzEsMSwwLDEyNCwKLSAgICAwLDAsOTUsMTAsMCwxMTAsMTExLDAsMTE2LDksMCwxMzEsMCwwLDEyNSwzLAotICAgIDAsMTIwLDkwLDAsMTI0LDIsMCw2OCw5Myw4MiwwLDEyNSw0LDAsMTI0LDQsCi0gICAgMCwxMDYsMTEsMCwxMDAsMiwwLDEzMSwxLDAsOTIsMywwLDEyNSw1LDAsCi0gICAgMTI1LDYsMCwxMjUsNywwLDEyNCw2LDAsMTE0LDE3OSwwLDEwMCwzLDAsMTA2LAotICAgIDEyLDAsMTI0LDUsMCwxMjQsNywwLDEwNiwxMywwLDEzMSwwLDAsMTMxLDIsCi0gICAgMCwxMjUsOCwwLDExMCw2LDAsMTI0LDUsMCwxMjUsOCwwLDEyNCwzLDAsCi0gICAgMTA2LDE0LDAsMTI0LDgsMCwxMzEsMSwwLDEsMTEzLDExNiwwLDg3LDEyNCwzLAotICAgIDAsMTI0LDAsMCw5NSwxMCwwLDExNiw2LDAsMTA2LDcsMCwxMDYsOCwwLAotICAgIDExNiwxNSwwLDEzMSwxLDAsMTE0LDQsMSwxMTYsOSwwLDEwMCw0LDAsMTAwLAotICAgIDUsMCwxMzIsMCwwLDEyNCwyLDAsNjgsMTMxLDEsMCwxMzEsMSwwLDEyNCwKLSAgICAwLDAsOTUsMTYsMCwxMTAsMCwwLDEwMCw2LDAsODMsNDAsNywwLDAsCi0gICAgMCwxMTcsNjgsMCwwLDAsNzAsMTA1LDEwOCwxMDgsMzIsMTE2LDEwNCwxMDEsMzIsOTksCi0gICAgOTcsOTksMTA0LDEwMSwzMiwxMTEsMTAyLDMyLDExMiwxMTEsMTE2LDEwMSwxMTAsMTE2LDEwNSw5NywKLSAgICAxMDgsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDExMCwxMDAsMzIsMTEyLDk3LAotICAgIDk5LDEwNyw5NywxMDMsMTAxLDExNSwzMiwxMDIsMTExLDExNCwzMiwxMTYsMTA0LDEwNSwxMTUsMzIsCi0gICAgMTAwLDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LDEyMSw0NiwxMTcsMywwLDAsMCwxMTksCi0gICAgMTA1LDExMCwxMTcsMSwwLDAsMCw0NiwxMTcsNSwwLDAsMCwxMjMsMTI1LDQ2LAotICAgIDEyMywxMjUsOTksMSwwLDAsMCwwLDAsMCwwLDIsMCwwLDAsMiwKLSAgICAwLDAsMCwxMTUsMCwwLDAsMTE1LDI3LDAsMCwwLDEyNCwwLDAsOTMsCi0gICAgMTcsMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDAsMCwxMzEsMCwwLDg2LDEsCi0gICAgMTEzLDMsMCwxMDAsMCwwLDgzLDQwLDEsMCwwLDAsNzgsNDAsMSwwLAotICAgIDAsMCwxMTcsNSwwLDAsMCwxMDgsMTExLDExOSwxMDEsMTE0LDQwLDIsMCwwLAotICAgIDAsMTE3LDIsMCwwLDAsNDYsNDgsMTE3LDIsMCwwLDAsMTAyLDExMCw0MCwKLSAgICAwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwKLSAgICAxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsCi0gICAgOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw5LDAsMCwwLAotICAgIDYwLDEwMywxMDEsMTEwLDEwMSwxMjAsMTEyLDExNCw2MiwxNDUsNSwwLDAsMTE1LDIsMCwKLSAgICAwLDAsNiwwLDExNyw0MSwwLDAsMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLAotICAgIDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LDEwOCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDQ2LAotICAgIDYwLDEwOCwxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwKLSAgICAxMTQsNjIsNzgsNDAsMTcsMCwwLDAsMTE3LDQsMCwwLDAsMTEyLDk3LDExNiwKLSAgICAxMDQsMTE3LDMsMCwwLDAsOTUsMTExLDExNSwxMTcsNywwLDAsMCwxMDgsMTA1LAotICAgIDExNSwxMTYsMTAwLDEwNSwxMTQsMTE3LDE3LDAsMCwwLDcwLDEwNSwxMDgsMTAxLDc4LDExMSwKLSAgICAxMTYsNzAsMTExLDExNywxMTAsMTAwLDY5LDExNCwxMTQsMTExLDExNCwxMTcsMTUsMCwwLDAsCi0gICAgODAsMTAxLDExNCwxMDksMTA1LDExNSwxMTUsMTA1LDExMSwxMTAsNjksMTE0LDExNCwxMTEsMTE0LDExNywKLSAgICAxOCwwLDAsMCw3OCwxMTEsMTE2LDY1LDY4LDEwNSwxMTQsMTAxLDk5LDExNiwxMTEsMTE0LAotICAgIDEyMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDMsMCwwLDAsMTE1LDEyMSwxMTUsMTE3LDgsCi0gICAgMCwwLDAsMTEyLDEwOCw5NywxMTYsMTAyLDExMSwxMTQsMTA5LDExNywxMCwwLDAsMCwKLSAgICAxMTUsMTE2LDk3LDExNCwxMTYsMTE1LDExOSwxMDUsMTE2LDEwNCwxMTcsMywwLDAsMCwxMTUsCi0gICAgMTAxLDExNiwxMTcsMTEsMCwwLDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsOTksOTcsOTksCi0gICAgMTA0LDEwMSwxMTcsOSwwLDAsMCwxMTIsOTcsMTE0LDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLAotICAgIDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LDUsMCwwLDAsCi0gICAgMTA4LDExMSwxMTksMTAxLDExNCwxMTcsMywwLDAsMCw5NywxMDAsMTAwLDExNywyNywwLAotICAgIDAsMCw5NSw2Nyw2NSw4Myw2OSw5NSw3Myw3OCw4Myw2OSw3OCw4Myw3Myw4NCwKLSAgICA3Myw4Niw2OSw5NSw4MCw3Niw2NSw4NCw3MCw3OSw4Miw3Nyw4MywxMTcsMTksMCwKLSAgICAwLDAsOTUsMTE0LDEwMSwxMDgsOTcsMTIwLDEwMSwxMDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgOTksOTcsOTksMTA0LDEwMSw0MCw5LDAsMCwwLDExNyw0LDAsMCwwLDExNSwKLSAgICAxMDEsMTA4LDEwMiwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwxMTcsOCwwLDAsCi0gICAgMCw5OSwxMTEsMTEwLDExNiwxMDEsMTEwLDExNiwxMTUsMTE3LDIxLDAsMCwwLDEwOCwxMTEsCi0gICAgMTE5LDEwMSwxMTQsOTUsMTE1LDExNywxMDIsMTAyLDEwNSwxMjAsOTUsOTksMTExLDExMCwxMTYsMTAxLAotICAgIDExMCwxMTYsMTE1LDExNyw0LDAsMCwwLDEwNSwxMTYsMTAxLDEwOSwxMTcsNCwwLDAsCi0gICAgMCwxMTAsOTcsMTA5LDEwMSwxMTcsMywwLDAsMCwxMDAsMTExLDExNiwxMTcsNiwwLAotICAgIDAsMCwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMTcsOCwwLDAsMCwxMTAsMTAxLDExOSwKLSAgICA5NSwxMTAsOTcsMTA5LDEwMSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LAotICAgIDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLAotICAgIDYyLDExNywxMSwwLDAsMCw5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksOTcsOTksMTA0LAotICAgIDEwMSwxMTYsNSwwLDAsMTE1LDM0LDAsMCwwLDAsMiw5LDEsMywxLAotICAgIDE5LDEsMjIsMywxMSwzLDE4LDEsMTgsNyw5LDEsMTMsMSwyNCwxLAotICAgIDYsMSwyNywyLDYsMSwxNywxLDksMSwxOCwxLDExNywyMiwwLDAsCi0gICAgMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDQ2LDk1LDEwMiwxMDUsMTA4LAotICAgIDEwOCw5NSw5OSw5Nyw5OSwxMDQsMTAxLDk5LDEsMCwwLDAsMCwwLDAsMCwKLSAgICAzLDAsMCwwLDMsMCwwLDAsNywwLDAsMCwxMTUsMjUsMCwwLAotICAgIDAsMTM1LDAsMCwxMzUsMSwwLDEwMiwyLDAsMTAwLDEsMCwxMDAsMiwwLAotICAgIDEzNCwwLDAsMTI1LDIsMCwxMjQsMiwwLDgzLDQwLDMsMCwwLDAsMTE3LAotICAgIDIwLDEsMCwwLDY1LDMyLDk5LDEwOCw5NywxMTUsMTE1LDMyLDEwOSwxMDEsMTE2LDEwNCwKLSAgICAxMTEsMTAwLDMyLDExOSwxMDQsMTA1LDk5LDEwNCwzMiwxMTQsMTAxLDExNiwxMTcsMTE0LDExMCwxMTUsCi0gICAgMzIsOTcsMzIsOTksMTA4LDExMSwxMTUsMTE3LDExNCwxMDEsMzIsMTE2LDExMSwzMiwxMTcsMTE1LAotICAgIDEwMSwzMiwxMTEsMTEwLDMyLDExNSwxMjEsMTE1LDQ2LDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsCi0gICAgMTExLDEwNywxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiwxMTksMTA0LDEwNSw5OSwxMDQsCi0gICAgMzIsMTE5LDEwNSwxMDgsMTA4LDMyLDExNCwxMDEsMTE2LDExNywxMTQsMTEwLDMyLDk3LDExMCwzMiwKLSAgICAxMDUsMTEwLDExNSwxMTYsOTcsMTEwLDk5LDEwMSwzMiwxMTcsMTE1LDEwNSwxMTAsMTAzLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMDAsMzIsMTA4LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCwxMTUsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsMTE2LAotICAgIDEwNCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5OSw5NywxMDgsMTA4LDEwMSwxMDAsCi0gICAgMzIsMTExLDExMCwzMiwxMTYsMTA0LDEwMSwzMiw5OSwxMDgsMTExLDExNSwxMTcsMTE0LDEwMSw0NiwKLSAgICAxMCwxMCwzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw3MywxMDIsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTEyLDk3LDExNiwxMDQsMzIsOTksOTcsMTA4LDEwOCwxMDEsMTAwLDMyLDExMSwxMTAsMzIsCi0gICAgMTE2LDEwNCwxMDEsMzIsOTksMTA4LDExMSwxMTUsMTE3LDExNCwxMDEsMzIsMTA1LDExNSwzMiwxMTAsCi0gICAgMTExLDExNiwzMiw5NywzMiwxMDAsMTA1LDExNCwxMDEsOTksMTE2LDExMSwxMTQsMTIxLDQ0LDMyLAotICAgIDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksMTE0LDExNCwxMTEsMTE0LDMyLDEwNSwxMTUsMTAsMzIsCi0gICAgMzIsMzIsMzIsMzIsMzIsMzIsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCw0NiwxMCwxMCwKLSAgICAzMiwzMiwzMiwzMiwzMiwzMiwzMiwzMiw5OSwxLDAsMCwwLDAsMCwwLAotICAgIDAsMSwwLDAsMCw0LDAsMCwwLDE5LDAsMCwwLDExNSw0NiwwLAotICAgIDAsMCwxMTYsMCwwLDEyNCwwLDAsMTMxLDEsMCwxMTUsMzMsMCwxMTYsMSwKLSAgICAwLDEwMCwxLDAsMTAwLDIsMCwxMjQsMCwwLDEzMSwxLDEsMTMwLDEsMCwKLSAgICAxMTAsMCwwLDEzNiwwLDAsMTI0LDAsMCwxMzYsMSwwLDE0MCwxLDAsODMsCi0gICAgNDAsMywwLDAsMCwxMTcsNDUsMCwwLDAsODAsOTcsMTE2LDEwNCwzMiwxMDQsCi0gICAgMTExLDExMSwxMDcsMzIsMTAyLDExMSwxMTQsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSwKLSAgICA5OCw0NiwxMDksOTcsOTksMTA0LDEwNSwxMTAsMTAxLDExNCwxMjEsNDYsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMTcsMzAsMCwwLDAsMTExLDExMCwxMDgsMTIxLAotICAgIDMyLDEwMCwxMDUsMTE0LDEwMSw5OSwxMTYsMTExLDExNCwxMDUsMTAxLDExNSwzMiw5NywxMTQsMTAxLAotICAgIDMyLDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDExNyw0LDAsMCwwLDExMiwKLSAgICA5NywxMTYsMTA0LDQwLDIsMCwwLDAsMTE3LDExLDAsMCwwLDk1LDExMiw5NywKLSAgICAxMTYsMTA0LDk1LDEwNSwxMTUsMTAwLDEwNSwxMTQsMTE3LDExLDAsMCwwLDczLDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsNjksMTE0LDExNCwxMTEsMTE0LDQwLDEsMCwwLDAsMTE3LDQsMCwKLSAgICAwLDAsMTEyLDk3LDExNiwxMDQsNDAsMiwwLDAsMCwxMTcsMywwLDAsMCwKLSAgICA5OSwxMDgsMTE1LDExNywxNCwwLDAsMCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDk1LDEwMCwKLSAgICAxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLAotICAgIDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsCi0gICAgOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywyNCwwLAotICAgIDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsOTUsMTAyLDExMSwxMTQsOTUsCi0gICAgNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCwxNTcsNSwwLDAsMTE1LDYsCi0gICAgMCwwLDAsMCwyLDEyLDEsMjEsMSwxMTcsNTQsMCwwLDAsNzAsMTA1LAotICAgIDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0NiwxMTIsOTcsMTE2LDEwNCw5NSwxMDQsMTExLAotICAgIDExMSwxMDcsNDYsNjAsMTA4LDExMSw5OSw5NywxMDgsMTE1LDYyLDQ2LDExMiw5NywxMTYsMTA0LAotICAgIDk1LDEwNCwxMTEsMTExLDEwNyw5NSwxMDIsMTExLDExNCw5NSw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsCi0gICAgMTEwLDEwMCwxMDEsMTE0LDQwLDAsMCwwLDAsNDAsMywwLDAsMCwxMTcsMywKLSAgICAwLDAsMCw5OSwxMDgsMTE1LDExNywxNCwwLDAsMCwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDk1LDEwMCwxMDEsMTE2LDk3LDEwNSwxMDgsMTE1LDExNywyNCwwLDAsMCwxMTIsOTcsCi0gICAgMTE2LDEwNCw5NSwxMDQsMTExLDExMSwxMDcsOTUsMTAyLDExMSwxMTQsOTUsNzAsMTA1LDEwOCwxMDEsCi0gICAgNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0MCwwLDAsMCwwLDQwLDIsMCwwLDAsCi0gICAgMTE3LDMsMCwwLDAsOTksMTA4LDExNSwxMTcsMTQsMCwwLDAsMTA4LDExMSw5NywKLSAgICAxMDAsMTAxLDExNCw5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSwxMTcsMjksMCwwLDAsCi0gICAgNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSwKLSAgICA5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDksMCwKLSAgICAwLDAsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LDE0Nyw1LDAsMCwxMTUsCi0gICAgNCwwLDAsMCwwLDEwLDIxLDYsMTE3LDIwLDAsMCwwLDcwLDEwNSwxMDgsCi0gICAgMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDYsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsCi0gICAgMTA3LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDIsMCwKLSAgICAwLDAsNjcsMCwwLDAsMTE1LDE0LDAsMCwwLDEwMCwxLDAsMTI0LDAsCi0gICAgMCwxMDYsMCwwLDEwMiwxLDAsMjIsODMsNDAsMiwwLDAsMCw3OCwxMTcsCi0gICAgMTQsMCwwLDAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0MCwzNywKLSAgICAxMTQsNDEsNDAsMSwwLDAsMCwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwKLSAgICA0MCwxLDAsMCwwLDExNyw0LDAsMCwwLDExNSwxMDEsMTA4LDEwMiw0MCwwLAotICAgIDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw4LDAsMCwwLDk1LAotICAgIDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSwxNjUsNSwwLDAsMTE1LDIsMCwwLDAsCi0gICAgMCwxLDExNywxOSwwLDAsMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsCi0gICAgMTE0LDQ2LDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw3OCw0MCwxMywwLDAsMCwKLSAgICAxMTcsOCwwLDAsMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsMTAsMCwKLSAgICAwLDAsOTUsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsOTUsMTE3LDEyLDAsMCwKLSAgICAwLDk1LDk1LDExMywxMTcsOTcsMTA4LDExMCw5NywxMDksMTAxLDk1LDk1LDExNyw3LDAsCi0gICAgMCwwLDk1LDk1LDEwMCwxMTEsOTksOTUsOTUsMTE3LDgsMCwwLDAsOTUsOTUsCi0gICAgMTA1LDExMCwxMDUsMTE2LDk1LDk1LDExNywxNywwLDAsMCwxMDUsMTEwLDExOCw5NywxMDgsCi0gICAgMTA1LDEwMCw5NywxMTYsMTAxLDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE1LDExNywxNywwLDAsCi0gICAgMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTE1LDEwNCwKLSAgICAxMDUsMTA5LDExNywxMSwwLDAsMCwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsMTE3LDExLDAsMCwwLDEwMiwxMDUsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDExNywxMSwwLDAsMCw5NSwxMDIsMTA1LDEwOCwxMDgsOTUsOTksOTcsOTksCi0gICAgMTA0LDEwMSwxMTcsMTEsMCwwLDAsOTksMTA4LDk3LDExNSwxMTUsMTA5LDEwMSwxMTYsMTA0LAotICAgIDExMSwxMDAsMTE3LDksMCwwLDAsMTEyLDk3LDExNiwxMDQsOTUsMTA0LDExMSwxMTEsMTA3LAotICAgIDExNyw4LDAsMCwwLDk1LDk1LDExNCwxMDEsMTEyLDExNCw5NSw5NSw0MCwxLDAsCi0gICAgMCwwLDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk5LDk3LDEwOCwxMTUsOTUsCi0gICAgOTUsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCwKLSAgICA2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LAotICAgIDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsMCwKLSAgICAwLDAsNzAsMTA1LDEwOCwxMDEsNzAsMTA1LDExMCwxMDAsMTAxLDExNCw0Myw1LDAsMCwKLSAgICAxMTUsMTYsMCwwLDAsMTYsNyw2LDIsMTIsMTQsMTIsNCw2LDIsMTIsCi0gICAgNDQsMTIsMzEsMTgsMTgsMTE3LDEwLDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwKLSAgICAxMTAsMTAwLDEwMSwxMTQsOTksMSwwLDAsMCwwLDAsMCwwLDEsMCwwLAotICAgIDAsMiwwLDAsMCw2NiwwLDAsMCwxMTUsNTAsMCwwLDAsMTI0LDAsCi0gICAgMCw2OSwxMDEsMCwwLDkwLDEsMCwxMDAsMCwwLDkwLDIsMCwxMDAsMSwKLSAgICAwLDkwLDMsMCwxMDAsMiwwLDEwMCwzLDAsMTMyLDAsMCw5MCw0LDAsCi0gICAgMTAwLDQsMCwxMDAsNSwwLDEzMiwwLDAsOTAsNSwwLDEwMCw2LDAsODMsCi0gICAgNDAsNywwLDAsMCwxMTcsMTgsMCwwLDAsOTUsNzMsMTA5LDExMiwxMTEsMTE0LAotICAgIDExNiw3NiwxMTEsOTksMTA3LDY3LDExMSwxMTAsMTE2LDEwMSwxMjAsMTE2LDExNywzNiwwLDAsCi0gICAgMCw2NywxMTEsMTEwLDExNiwxMDEsMTIwLDExNiwzMiwxMDksOTcsMTEwLDk3LDEwMywxMDEsMTE0LAotICAgIDMyLDEwMiwxMTEsMTE0LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLAotICAgIDEwOCwxMTEsOTksMTA3LDQ2LDk5LDEsMCwwLDAsMCwwLDAsMCwxLDAsCi0gICAgMCwwLDEsMCwwLDAsNjcsMCwwLDAsMTE1LDE0LDAsMCwwLDExNiwKLSAgICAwLDAsMTA2LDEsMCwxMzEsMCwwLDEsMTAwLDEsMCw4Myw0MCwyLDAsCi0gICAgMCwwLDExNywyNCwwLDAsMCw2NSw5OSwxMTMsMTE3LDEwNSwxMTQsMTAxLDMyLDExNiwKLSAgICAxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOCwxMTEsOTksMTA3LDQ2LDc4LAotICAgIDQwLDIsMCwwLDAsMTE3LDQsMCwwLDAsOTUsMTA1LDEwOSwxMTIsMTE3LDEyLAotICAgIDAsMCwwLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsNDAsCi0gICAgMSwwLDAsMCwxMTcsNCwwLDAsMCwxMTUsMTAxLDEwOCwxMDIsNDAsMCwwLAotICAgIDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwKLSAgICAxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LAotICAgIDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsOSwwLDAsMCw5NSw5NSwKLSAgICAxMDEsMTEwLDExNiwxMDEsMTE0LDk1LDk1LDE3NSw1LDAsMCwxMTUsMiwwLDAsMCwKLSAgICAwLDIsMTE3LDI4LDAsMCwwLDk1LDczLDEwOSwxMTIsMTExLDExNCwxMTYsNzYsMTExLAotICAgIDk5LDEwNyw2NywxMTEsMTEwLDExNiwxMDEsMTIwLDExNiw0Niw5NSw5NSwxMDEsMTEwLDExNiwxMDEsCi0gICAgMTE0LDk1LDk1LDk5LDQsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLAotICAgIDEsMCwwLDAsNjcsMCwwLDAsMTE1LDE0LDAsMCwwLDExNiwwLDAsCi0gICAgMTA2LDEsMCwxMzEsMCwwLDEsMTAwLDEsMCw4Myw0MCwyLDAsMCwwLAotICAgIDExNyw2MCwwLDAsMCw4MiwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDMyLDExNiwxMDQsMTAxLAotICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOCwxMTEsOTksMTA3LDMyLDExNCwxMDEsMTAzLAotICAgIDk3LDExNCwxMDAsMTA4LDEwMSwxMTUsMTE1LDMyLDExMSwxMDIsMzIsOTcsMTEwLDEyMSwzMiwxMTQsCi0gICAgOTcsMTA1LDExNSwxMDEsMTAwLDMyLDEwMSwxMjAsOTksMTAxLDExMiwxMTYsMTA1LDExMSwxMTAsMTE1LAotICAgIDQ2LDc4LDQwLDIsMCwwLDAsMTE3LDQsMCwwLDAsOTUsMTA1LDEwOSwxMTIsCi0gICAgMTE3LDEyLDAsMCwwLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDk1LDEwOCwxMTEsOTksCi0gICAgMTA3LDQwLDQsMCwwLDAsMTE3LDQsMCwwLDAsMTE1LDEwMSwxMDgsMTAyLDExNywKLSAgICA4LDAsMCwwLDEwMSwxMjAsOTksOTUsMTE2LDEyMSwxMTIsMTAxLDExNyw5LDAsMCwKLSAgICAwLDEwMSwxMjAsOTksOTUsMTE4LDk3LDEwOCwxMTcsMTAxLDExNywxMywwLDAsMCwxMDEsCi0gICAgMTIwLDk5LDk1LDExNiwxMTQsOTcsOTksMTAxLDk4LDk3LDk5LDEwNyw0MCwwLDAsMCwKLSAgICAwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwKLSAgICAxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLAotICAgIDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNyw4LDAsMCwwLDk1LDk1LDEwMSwKLSAgICAxMjAsMTA1LDExNiw5NSw5NSwxNzksNSwwLDAsMTE1LDIsMCwwLDAsMCwyLAotICAgIDExNywyNywwLDAsMCw5NSw3MywxMDksMTEyLDExMSwxMTQsMTE2LDc2LDExMSw5OSwxMDcsCi0gICAgNjcsMTExLDExMCwxMTYsMTAxLDEyMCwxMTYsNDYsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LAotICAgIDc4LDQwLDYsMCwwLDAsMTE3LDgsMCwwLDAsOTUsOTUsMTEwLDk3LDEwOSwKLSAgICAxMDEsOTUsOTUsMTE3LDEwLDAsMCwwLDk1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDk1LDk1LDExNywxMiwwLDAsMCw5NSw5NSwxMTMsMTE3LDk3LDEwOCwxMTAsOTcsMTA5LAotICAgIDEwMSw5NSw5NSwxMTcsNywwLDAsMCw5NSw5NSwxMDAsMTExLDk5LDk1LDk1LDExNywKLSAgICA5LDAsMCwwLDk1LDk1LDEwMSwxMTAsMTE2LDEwMSwxMTQsOTUsOTUsMTE3LDgsMCwKLSAgICAwLDAsOTUsOTUsMTAxLDEyMCwxMDUsMTE2LDk1LDk1LDQwLDEsMCwwLDAsMTE3LAotICAgIDEwLDAsMCwwLDk1LDk1LDEwOCwxMTEsOTksOTcsMTA4LDExNSw5NSw5NSw0MCwwLAotICAgIDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLDEwMiwxMTQsCi0gICAgMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsCi0gICAgOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxOCwwLDAsMCw5NSwKLSAgICA3MywxMDksMTEyLDExMSwxMTQsMTE2LDc2LDExMSw5OSwxMDcsNjcsMTExLDExMCwxMTYsMTAxLDEyMCwKLSAgICAxMTYsMTcxLDUsMCwwLDExNSw2LDAsMCwwLDE2LDIsNiwyLDEyLDQsCi0gICAgMTE3LDE4LDAsMCwwLDk1LDczLDEwOSwxMTIsMTExLDExNCwxMTYsNzYsMTExLDk5LDEwNywKLSAgICA2NywxMTEsMTEwLDExNiwxMDEsMTIwLDExNiw5OSwzLDAsMCwwLDAsMCwwLDAsCi0gICAgNSwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSw5MSwwLDAsCi0gICAgMCwxMjQsMSwwLDEwNiwwLDAsMTAwLDEsMCwxMjQsMiwwLDEwMCwyLDAsCi0gICAgMjQsMTMxLDIsMCwxMjUsMywwLDExNiwxLDAsMTI0LDMsMCwxMzEsMSwwLAotICAgIDEyNCwyLDAsMTA3LDAsMCwxMTQsNTUsMCwxMTYsMiwwLDEwMCwzLDAsMTMxLAotICAgIDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDMsMCwxMDAsNCwwLDI1LDEyNSwKLSAgICA0LDAsMTI0LDAsMCwxMTQsODcsMCwxMDAsNSwwLDEwNiwzLDAsMTI0LDQsCi0gICAgMCwxMjQsMCwwLDEzMSwyLDAsODMsMTI0LDQsMCw4Myw0MCw2LDAsMCwKLSAgICAwLDExNyw1MCwwLDAsMCw4MiwxMDEsMTE1LDExMSwxMDgsMTE4LDEwMSwzMiw5NywzMiwKLSAgICAxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCi0gICAgMTEwLDk3LDEwOSwxMDEsMzIsMTE2LDExMSwzMiw5NywxMTAsMzIsOTcsOTgsMTE1LDExMSwxMDgsCi0gICAgMTE3LDExNiwxMDEsMzIsMTExLDExMCwxMDEsNDYsMTE3LDEsMCwwLDAsNDYsMTA1LDEsCi0gICAgMCwwLDAsMTE3LDUwLDAsMCwwLDk3LDExNiwxMTYsMTAxLDEwOSwxMTIsMTE2LDEwMSwKLSAgICAxMDAsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDMyLDk4LDEwMSwxMjEsMTExLDExMCwxMDAsMzIsMTE2LDExMSwxMTIsNDUsMTA4LDEwMSwxMTgsCi0gICAgMTAxLDEwOCwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMTA1LDAsMCwwLDAsMTE3LAotICAgIDUsMCwwLDAsMTIzLDEyNSw0NiwxMjMsMTI1LDQwLDQsMCwwLDAsMTE3LDYsCi0gICAgMCwwLDAsMTE0LDExNSwxMTIsMTA4LDEwNSwxMTYsMTE3LDMsMCwwLDAsMTA4LDEwMSwKLSAgICAxMTAsMTE3LDEwLDAsMCwwLDg2LDk3LDEwOCwxMTcsMTAxLDY5LDExNCwxMTQsMTExLDExNCwKLSAgICAxMTcsNiwwLDAsMCwxMDIsMTExLDExNCwxMDksOTcsMTE2LDQwLDUsMCwwLDAsCi0gICAgMTE3LDQsMCwwLDAsMTEwLDk3LDEwOSwxMDEsMTE3LDcsMCwwLDAsMTEyLDk3LAotICAgIDk5LDEwNyw5NywxMDMsMTAxLDExNyw1LDAsMCwwLDEwOCwxMDEsMTE4LDEwMSwxMDgsMTE3LAotICAgIDQsMCwwLDAsOTgsMTA1LDExNiwxMTUsMTE3LDQsMCwwLDAsOTgsOTcsMTE1LAotICAgIDEwMSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLAotICAgIDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsCi0gICAgOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywxMywwLAotICAgIDAsMCw5NSwxMTQsMTAxLDExNSwxMTEsMTA4LDExOCwxMDEsOTUsMTEwLDk3LDEwOSwxMDEsMTg0LAotICAgIDUsMCwwLDExNSwxMCwwLDAsMCwwLDIsMjIsMSwxOCwxLDE1LDEsCi0gICAgMTAsMSwxMTcsMTMsMCwwLDAsOTUsMTE0LDEwMSwxMTUsMTExLDEwOCwxMTgsMTAxLDk1LAotICAgIDExMCw5NywxMDksMTAxLDk5LDIsMCwwLDAsMCwwLDAsMCw0LDAsMCwKLSAgICAwLDExLDAsMCwwLDY3LDAsMCwwLDExNSwxMzgsMCwwLDAsMTE2LDAsCi0gICAgMCwxMDYsMSwwLDExNSwyOCwwLDExNiwyLDAsMTA2LDMsMCwxMDAsMSwwLAotICAgIDExNiw0LDAsMTMxLDIsMCwxLDExMCwwLDAsMTIwLDEwMywwLDExNiwwLDAsCi0gICAgMTA2LDEsMCw2OCw5Myw4OCwwLDEyNSwyLDAsMTE2LDUsMCwxMzEsMCwwLAotICAgIDE0MywyMywwLDEsMTI0LDIsMCwxMDYsNiwwLDEyNCwwLDAsMTI0LDEsMCwKLSAgICAxMzEsMiwwLDEyNSwzLDAsODcsMTAwLDIsMCw4MSw4OCwxMjQsMywwLDEwMCwKLSAgICAyLDAsMTA3LDksMCwxMTQsMzgsMCwxMjQsMCwwLDExNiwwLDAsMTA2LDgsCi0gICAgMCwxMDcsNywwLDExNCwxMDksMCwxMjQsMywwLDgzLDExNiwwLDAsMTA2LDgsCi0gICAgMCwxMjQsMCwwLDI1LDEwNiw5LDAsODMsMTEzLDM4LDAsMTEzLDM4LDAsODcsCi0gICAgMTAwLDIsMCw4MywxMDAsMiwwLDgzLDQwLDMsMCwwLDAsMTE3LDIzLDAsCi0gICAgMCwwLDcwLDEwNSwxMTAsMTAwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LAotICAgIDExNSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ2LDExNywyMiwwLDAsMCwxMTUsMTIxLAotICAgIDExNSw0NiwxMDksMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDEwMSwKLSAgICAxMDksMTEyLDExNiwxMjEsNzgsNDAsMTAsMCwwLDAsMTE3LDMsMCwwLDAsMTE1LAotICAgIDEyMSwxMTUsMTE3LDksMCwwLDAsMTA5LDEwMSwxMTYsOTcsOTUsMTEyLDk3LDExNiwxMDQsCi0gICAgMTE3LDksMCwwLDAsOTUsMTE5LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsMTE1LDExNyw0LAotICAgIDAsMCwwLDExOSw5NywxMTQsMTEwLDExNywxMywwLDAsMCw3MywxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDg3LDk3LDExNCwxMTAsMTA1LDExMCwxMDMsMTE3LDE4LDAsMCwwLDk1LDczLAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsNzYsMTExLDk5LDEwNyw2NywxMTEsMTEwLDExNiwxMDEsMTIwLDExNiwKLSAgICAxMTcsMTEsMCwwLDAsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNyw3LDAsMCwwLDEwOSwxMTEsCi0gICAgMTAwLDExNywxMDgsMTAxLDExNSwxMTcsMTAsMCwwLDAsOTUsOTUsMTA4LDExMSw5NywxMDAsCi0gICAgMTAxLDExNCw5NSw5NSw0MCw0LDAsMCwwLDExNyw0LDAsMCwwLDExMCw5NywKLSAgICAxMDksMTAxLDExNyw0LDAsMCwwLDExMiw5NywxMTYsMTA0LDExNyw2LDAsMCwwLAotICAgIDEwMiwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNyw2LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwKLSAgICAxMTQsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCwKLSAgICA2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LAotICAgIDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTIsMCwKLSAgICAwLDAsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDE5Myw1LAotICAgIDAsMCwxMTUsMjAsMCwwLDAsMCwyLDksMSwxOSwxLDE2LDEsMTAsCi0gICAgMSwyNCwxLDEyLDIsMTUsMSw0LDIsMjEsMiwxMTcsMTIsMCwwLDAsCi0gICAgOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk5LDMsMCwwLAotICAgIDAsMCwwLDAsMCw0LDAsMCwwLDQsMCwwLDAsNjcsMCwwLAotICAgIDAsMTE1LDE5NCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTE2LDEsMCwxMzEsCi0gICAgMiwwLDExNSw0NSwwLDExNiwyLDAsMTAwLDEsMCwxMDYsMywwLDExNiw0LAotICAgIDAsMTI0LDAsMCwxMzEsMSwwLDEzMSwxLDAsMTMxLDEsMCwxMzAsMSwwLAotICAgIDExMCwwLDAsMTI0LDIsMCwxMDAsMiwwLDEwNywwLDAsMTE0LDcyLDAsMTE2LAotICAgIDUsMCwxMDAsMywwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwxLAotICAgIDAsMTE0LDE1NiwwLDExNiwwLDAsMTI0LDEsMCwxMTYsMSwwLDEzMSwyLDAsCi0gICAgMTE1LDEwOCwwLDExNiwyLDAsMTAwLDQsMCwxMzEsMSwwLDEzMCwxLDAsMTEzLAotICAgIDE1NiwwLDEyNCwxLDAsMTE2LDYsMCwxMDYsNywwLDEwNyw3LDAsMTE0LDE1NiwKLSAgICAwLDEwMCw1LDAsMTI1LDMsMCwxMTYsOCwwLDEyNCwzLDAsMTA2LDMsMCwKLSAgICAxMjQsMSwwLDEzMSwxLDAsMTMxLDEsMCwxMzAsMSwwLDExMywxNTYsMCwxMTAsCi0gICAgMCwwLDEyNCwwLDAsMTIsMTE0LDE5MCwwLDEyNCwyLDAsMTAwLDIsMCwxMDcsCi0gICAgMiwwLDExNCwxOTAsMCwxMTYsNSwwLDEwMCw2LDAsMTMxLDEsMCwxMzAsMSwKLSAgICAwLDExMCwwLDAsMTAwLDcsMCw4Myw0MCw4LDAsMCwwLDExNywyOCwwLAotICAgIDAsMCw4NiwxMDEsMTE0LDEwNSwxMDIsMTIxLDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLAotICAgIDExNiwxMTUsMzIsOTcsMTE0LDEwMSwzMiwzNCwxMTUsOTcsMTEwLDEwMSwzNCw0NiwxMTcsMzEsCi0gICAgMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsMTA5LAotICAgIDExNywxMTUsMTE2LDMyLDk4LDEwMSwzMiwxMTUsMTE2LDExNCw0NCwzMiwxMTAsMTExLDExNiwzMiwKLSAgICAxMjMsMTI1LDEwNSwwLDAsMCwwLDExNywxOCwwLDAsMCwxMDgsMTAxLDExOCwxMDEsCi0gICAgMTA4LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsNjIsNjEsMzIsNDgsMTE3LDMxLAotICAgIDAsMCwwLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwzMiwxMTAsCi0gICAgMTExLDExNiwzMiwxMTUsMTAxLDExNiwzMiwxMTYsMTExLDMyLDk3LDMyLDExNSwxMTYsMTE0LDEwNSwKLSAgICAxMTAsMTAzLDExNyw2MSwwLDAsMCw4MCw5NywxMTQsMTAxLDExMCwxMTYsMzIsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMzIsMTIzLDMzLDExNCwxMjUsMzIsMTEwLDExMSwxMTYsMzIsMTA4LDExMSwKLSAgICA5NywxMDAsMTAxLDEwMCw0NCwzMiw5OSw5NywxMTAsMTEwLDExMSwxMTYsMzIsMTEyLDEwMSwxMTQsCi0gICAgMTAyLDExMSwxMTQsMTA5LDMyLDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiwxMTcsMTcsMCwwLDAsNjksMTA5LDExMiwxMTYsMTIxLDMyLDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDc4LDQwLDksMCwwLDAsCi0gICAgMTE3LDEwLDAsMCwwLDEwNSwxMTUsMTA1LDExMCwxMTUsMTE2LDk3LDExMCw5OSwxMDEsMTE3LAotICAgIDMsMCwwLDAsMTE1LDExNiwxMTQsMTE3LDksMCwwLDAsODQsMTIxLDExMiwxMDEsCi0gICAgNjksMTE0LDExNCwxMTEsMTE0LDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsCi0gICAgMTE3LDQsMCwwLDAsMTE2LDEyMSwxMTIsMTAxLDExNywxMCwwLDAsMCw4Niw5NywKLSAgICAxMDgsMTE3LDEwMSw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDMsMCwwLDAsMTE1LDEyMSwxMTUsCi0gICAgMTE3LDcsMCwwLDAsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDExNywxMSwwLDAsCi0gICAgMCw4MywxMjEsMTE1LDExNiwxMDEsMTA5LDY5LDExNCwxMTQsMTExLDExNCw0MCw0LDAsMCwKLSAgICAwLDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLDExNyw3LDAsMCwwLDExMiwKLSAgICA5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTcsNSwwLDAsMCwxMDgsMTAxLDExOCwxMDEsMTA4LAotICAgIDExNywzLDAsMCwwLDEwOSwxMTUsMTAzLDQwLDAsMCwwLDAsNDAsMCwwLAotICAgIDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LAotICAgIDExNCw5NywxMTIsNjIsMTE3LDEzLDAsMCwwLDk1LDExNSw5NywxMTAsMTA1LDExNiwxMjEsCi0gICAgOTUsOTksMTA0LDEwMSw5OSwxMDcsMjEwLDUsMCwwLDExNSwyNCwwLDAsMCwwLAotICAgIDIsMTUsMSwzMCwxLDEyLDEsMTUsMSw2LDEsMTUsMSwxNSwxLDE1LAotICAgIDEsNiwyLDI3LDEsMTksMSwxMTcsMTMsMCwwLDAsOTUsMTE1LDk3LDExMCwKLSAgICAxMDUsMTE2LDEyMSw5NSw5OSwxMDQsMTAxLDk5LDEwNywxMTcsMjAsMCwwLDAsNzgsMTExLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwxMjMsMzMsCi0gICAgMTE0LDEyNSw5OSwyLDAsMCwwLDAsMCwwLDAsOSwwLDAsMCwyNywKLSAgICAwLDAsMCw2NywwLDAsMCwxMTUsMTIsMiwwLDAsMTAwLDAsMCwxMjUsCi0gICAgMiwwLDEyNCwwLDAsMTA2LDEsMCwxMDAsMSwwLDEzMSwxLDAsMTAwLDIsCi0gICAgMCwyNSwxMjUsMywwLDEyNCwzLDAsMTE0LDE3OCwwLDEyNCwzLDAsMTE2LDIsCi0gICAgMCwxMDYsMywwLDEwNyw3LDAsMTE0LDYyLDAsMTE2LDQsMCwxMjQsMSwwLAotICAgIDEyNCwzLDAsMTMxLDIsMCwxLDExMCwwLDAsMTI0LDAsMCwxMTYsMiwwLAotICAgIDEwNiwzLDAsMTA3LDYsMCwxMTQsODgsMCwxMTYsMiwwLDEwNiwzLDAsMTI0LAotICAgIDAsMCwyNSw4MywxMTYsMiwwLDEwNiwzLDAsMTI0LDMsMCwyNSwxMjUsNCwKLSAgICAwLDEyMSwxMywwLDEyNCw0LDAsMTA2LDUsMCwxMjUsMiwwLDg3LDExMywxNzgsCi0gICAgMCw0LDExNiw2LDAsMTA3LDEwLDAsMTE0LDE3NCwwLDEsMSwxLDExNiw3LAotICAgIDAsMTAwLDMsMCwyMywxMDYsOCwwLDEyNCwwLDAsMTI0LDMsMCwxMzEsMiwKLSAgICAwLDEyNSw1LDAsMTE2LDksMCwxMjQsNSwwLDEwMCw0LDAsMTI0LDAsMCwKLSAgICAxMzEsMSwxLDEzMCwxLDAsODksMTEzLDE3OCwwLDg4LDExMCwwLDAsMTE2LDEwLAotICAgIDAsMTI0LDAsMCwxMjQsMiwwLDEzMSwyLDAsMTI1LDYsMCwxMjQsNiwwLAotICAgIDEwMCwwLDAsMTA3LDgsMCwxMTQsMjUwLDAsMTE2LDksMCwxMTYsNywwLDEwNiwKLSAgICA4LDAsMTI0LDAsMCwxMzEsMSwwLDEwMCw0LDAsMTI0LDAsMCwxMzEsMSwKLSAgICAxLDEyNSw3LDAsMTAwLDEwLDAsMTI0LDcsMCw5NSwxMiwwLDEyNCw3LDAsCi0gICAgMTMwLDEsMCwxMTAsNDcsMCwxMjQsMCwwLDExNiwyLDAsMTA2LDMsMCwxMDcsCi0gICAgNywwLDExNCw0MSwxLDEyNCw2LDAsMTA2LDEzLDAsMTI0LDAsMCwxMzEsMSwKLSAgICAwLDEsMTE2LDE0LDAsMTAwLDUsMCwxMjQsMCwwLDEyNCw2LDAsMTMxLDMsCi0gICAgMCwxLDExMCwwLDAsMTE2LDIsMCwxMDYsMywwLDEyNCwwLDAsMjUsMTI1LAotICAgIDgsMCwxMjQsMywwLDExNCwxMDUsMSwxMTYsMiwwLDEwNiwzLDAsMTI0LDMsCi0gICAgMCwyNSwxMjUsNCwwLDExNiwxNSwwLDEyNCw0LDAsMTI0LDAsMCwxMDYsMSwKLSAgICAwLDEwMCwxLDAsMTMxLDEsMCwxMDAsNiwwLDI1LDEyNCw4LDAsMTMxLDMsCi0gICAgMCwxLDExMCwwLDAsMTE2LDE2LDAsMTI0LDgsMCwxMDAsNywwLDEwMCwwLAotICAgIDAsMTMxLDMsMCwxMDAsMCwwLDEwNyw4LDAsMTE0LDIxMiwxLDEyMSw1OSwwLAotICAgIDEyNCw4LDAsMTA2LDE3LDAsMTI0LDgsMCw5NSwxOCwwLDExNiwxOSwwLDEyNCwKLSAgICA4LDAsMTAwLDgsMCwxMzEsMiwwLDExNSwxODcsMSwxMjQsOCwwLDEwNiwxOCwKLSAgICAwLDEwNiwxLDAsMTAwLDEsMCwxMzEsMSwwLDEwMCwyLDAsMjUsMTI0LDgsCi0gICAgMCw5NSwxOCwwLDExMCwwLDAsODcsMTEzLDIxMiwxLDQsMTE2LDYsMCwxMDcsCi0gICAgMTAsMCwxMTQsMjA4LDEsMSwxLDEsODksMTEzLDIxMiwxLDg4LDExMCwwLDAsCi0gICAgMTE2LDE5LDAsMTI0LDgsMCwxMDAsOSwwLDEzMSwyLDAsMTE1LDgsMiwxMjEsCi0gICAgMTMsMCwxMjQsNiwwLDEyNCw4LDAsOTUsMjAsMCw4NywxMTMsOCwyLDQsCi0gICAgMTE2LDYsMCwxMDcsMTAsMCwxMTQsNCwyLDEsMSwxLDg5LDExMyw4LDIsCi0gICAgODgsMTEwLDAsMCwxMjQsOCwwLDgzLDQwLDExLDAsMCwwLDc4LDExNywxLAotICAgIDAsMCwwLDQ2LDEwNSwwLDAsMCwwLDExNywyMSwwLDAsMCw1OSwzMiwKLSAgICAxMjMsMTI1LDMyLDEwNSwxMTUsMzIsMTEwLDExMSwxMTYsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNywKLSAgICA5NywxMDMsMTAxLDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLDExNywxOCwwLDAsCi0gICAgMCwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMjMsMzMsMTE0LDEyNSwzMiwzNSwzMiwxMjMsCi0gICAgMzMsMTE0LDEyNSwxMDUsMiwwLDAsMCwxMTcsMTEsMCwwLDAsOTUsOTUsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDExNyw4LDAsMCwwLDk1LDk1LDExMiwKLSAgICA5NywxMTYsMTA0LDk1LDk1LDExNywxMCwwLDAsMCw5NSw5NSwxMDgsMTExLDk3LDEwMCwKLSAgICAxMDEsMTE0LDk1LDk1LDg0LDQwLDIxLDAsMCwwLDExNyw0LDAsMCwwLDc4LAotICAgIDExMSwxMTAsMTAxLDExNywxMCwwLDAsMCwxMTQsMTEyLDk3LDExNCwxMTYsMTA1LDExNiwxMDUsCi0gICAgMTExLDExMCwxMTcsMywwLDAsMCwxMTUsMTIxLDExNSwxMTcsNywwLDAsMCwxMDksCi0gICAgMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMTE3LDI1LDAsMCwwLDk1LDk5LDk3LDEwOCwxMDgsCi0gICAgOTUsMTE5LDEwNSwxMTYsMTA0LDk1LDEwMiwxMTQsOTcsMTA5LDEwMSwxMTUsOTUsMTE0LDEwMSwxMDksCi0gICAgMTExLDExOCwxMDEsMTAwLDExNyw4LDAsMCwwLDk1LDk1LDExMiw5NywxMTYsMTA0LDk1LAotICAgIDk1LDExNywxNCwwLDAsMCw2NSwxMTYsMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDExNyw4LDAsMCwwLDk1LDY5LDgyLDgyLDk1LDc3LDgzLAotICAgIDcxLDExNyw2LDAsMCwwLDEwMiwxMTEsMTE0LDEwOSw5NywxMTYsMTE3LDExLDAsMCwKLSAgICAwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsNjksMTE0LDExNCwxMTEsMTE0LDExNywxMiwwLDAsCi0gICAgMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDQsMCwKLSAgICAwLDAsODQsMTE0LDExNywxMDEsMTE3LDEwLDAsMCwwLDk1LDExMCwxMTEsMTE2LDk1LAotICAgIDEwMiwxMTEsMTE3LDExMCwxMDAsMTE3LDExLDAsMCwwLDEwOCwxMTEsOTcsMTAwLDk1LDEwOSwKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDExNywxNiwwLDAsMCw5NSwxMTgsMTAxLDExNCw5OCwxMTEsCi0gICAgMTE1LDEwMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsMTAzLDEwMSwxMTcsNywwLDAsMCwxMTUsCi0gICAgMTAxLDExNiw5NywxMTYsMTE2LDExNCwxMTcsNywwLDAsMCwxMDMsMTAxLDExNiw5NywxMTYsCi0gICAgMTE2LDExNCwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsCi0gICAgMTEsMCwwLDAsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDExNywKLSAgICA3LDAsMCwwLDEwNCw5NywxMTUsOTcsMTE2LDExNiwxMTQsMTE3LDEwLDAsMCwwLAotICAgIDk1LDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsOTUsOTUsNDAsOSwwLDAsMCwxMTcsCi0gICAgNCwwLDAsMCwxMTAsOTcsMTA5LDEwMSwxMTcsNywwLDAsMCwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiw5NSwxMTcsNCwwLDAsMCwxMTIsOTcsMTE2LDEwNCwxMTcsNiwwLAotICAgIDAsMCwxMTIsOTcsMTE0LDEwMSwxMTAsMTE2LDExNywxMywwLDAsMCwxMTIsOTcsMTE0LAotICAgIDEwMSwxMTAsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywzLDAsMCwwLDEwOSwKLSAgICAxMTUsMTAzLDExNyw2LDAsMCwwLDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDMsMCwKLSAgICAwLDAsMTAxLDEyMCw5OSwxMTcsNiwwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKLSAgICA0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LDAsMCwwLDYwLAotICAgIDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsCi0gICAgNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLDExNywyMywwLDAsCi0gICAgMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCw5NSwKLSAgICAxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDEwMSwxMDAsMjI5LDUsMCwwLDExNSw3NiwwLDAsCi0gICAgMCwwLDEsNiwxLDE5LDEsNiwxLDE1LDEsMTYsMiwxNSwxLDExLAotICAgIDIsMTMsMSwzLDEsMTMsMSwxMywxLDIyLDEsMjYsMSwxNSwxLDEyLAotICAgIDEsMjcsMyw5LDEsOSwxLDE1LDIsMTMsMSwxOSwyLDEzLDEsNiwKLSAgICAyLDEzLDEsMzIsMiwyNCwxLDMsMSwxMiwxLDE1LDEsMzIsMSwxMywKLSAgICAxLDgsMiwxNSwxLDMsMSwxMywxLDEzLDEsOCwxLDExNywyMywwLAotICAgIDAsMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwKLSAgICA5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDEwMSwxMDAsOTksMiwwLDAsMCwwLDAsCi0gICAgMCwwLDMsMCwwLDAsMTgsMCwwLDAsNjcsMCwwLDAsMTE1LDc1LAotICAgIDAsMCwwLDEyMiwxNiwwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwwLDEyNSwKLSAgICAyLDAsODcsMTAwLDEsMCwxMTYsMSwwLDEwNiwyLDAsMTMxLDAsMCwxLAotICAgIDg4LDEyNCwyLDAsMTA2LDMsMCwxMzEsMCwwLDEsMTIyLDE3LDAsMTE2LDQsCi0gICAgMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCw4Myw4NywxMDAsMSwwLDEyNCwKLSAgICAyLDAsMTA2LDUsMCwxMzEsMCwwLDEsODgsMTAwLDEsMCw4Myw0MCwyLAotICAgIDAsMCwwLDExNyw1NCwwLDAsMCw3MCwxMDUsMTEwLDEwMCwzMiw5NywxMTAsMTAwLAotICAgIDMyLDEwOCwxMTEsOTcsMTAwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMDgsMTAxLDk3LDExNSwxMDEsMzIsMTE2LDEwNCwKLSAgICAxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsNDYsNzgsNDAsCi0gICAgNiwwLDAsMCwxMTcsMTYsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE3LDQsMCwwLDAsOTUsMTA1LAotICAgIDEwOSwxMTIsMTE3LDEyLDAsMCwwLDExNCwxMDEsMTA4LDEwMSw5NywxMTUsMTAxLDk1LDEwOCwKLSAgICAxMTEsOTksMTA3LDExNyw3LDAsMCwwLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMTE3LAotICAgIDIzLDAsMCwwLDk1LDEwMiwxMDUsMTEwLDEwMCw5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsCi0gICAgOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsMTAxLDEwMCwxMTcsNywwLDAsMCwKLSAgICAxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSw0MCwzLDAsMCwwLDExNyw0LDAsMCwKLSAgICAwLDExMCw5NywxMDksMTAxLDExNyw3LDAsMCwwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAotICAgIDk1LDExNyw0LDAsMCwwLDEwOCwxMTEsOTksMTA3LDQwLDAsMCwwLDAsNDAsCi0gICAgMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsCi0gICAgMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwKLSAgICAxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDE0LDAsMCwwLDk1LDEwMiwxMDUsMTEwLDEwMCwKLSAgICA5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDIzLDYsMCwwLDExNSwxNCwwLAotICAgIDAsMCwwLDIsMywxLDE2LDIsMTEsMSwxMCwxLDMsMSwxNywyLAotICAgIDExNywxNCwwLDAsMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsCi0gICAgMTExLDk3LDEwMCw5OSwzLDAsMCwwLDAsMCwwLDAsNSwwLDAsMCwKLSAgICA0LDAsMCwwLDY3LDAsMCwwLDExNSwxNzIsMCwwLDAsMTE2LDAsMCwKLSAgICAxMjQsMCwwLDEyNCwxLDAsMTI0LDIsMCwxMzEsMywwLDEsMTI0LDIsMCwKLSAgICAxMDAsMSwwLDEwNyw0LDAsMTE0LDQ5LDAsMTE2LDEsMCwxMjQsMCwwLDEyNCwKLSAgICAxLDAsMTI0LDIsMCwxMzEsMywwLDEyNSwwLDAsMTEwLDAsMCwxMTYsMiwKLSAgICAwLDEwNiwzLDAsMTMxLDAsMCwxLDEyNCwwLDAsMTE2LDQsMCwxMDYsNSwKLSAgICAwLDEwNyw3LDAsMTE0LDg3LDAsMTE2LDYsMCwxMjQsMCwwLDExNiw3LDAsCi0gICAgMTMxLDIsMCw4MywxMTYsNCwwLDEwNiw1LDAsMTI0LDAsMCwyNSwxMjUsMywKLSAgICAwLDEyNCwzLDAsMTAwLDQsMCwxMDcsOCwwLDExNCwxNTgsMCwxMTYsMiwwLAotICAgIDEwNiw5LDAsMTMxLDAsMCwxLDEwMCwyLDAsMTA2LDEwLDAsMTI0LDAsMCwKLSAgICAxMzEsMSwwLDEyNSw0LDAsMTE2LDExLDAsMTI0LDQsMCwxMDAsMywwLDEyNCwKLSAgICAwLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwwLDAsMTE2LDEyLDAsMTI0LDAsCi0gICAgMCwxMzEsMSwwLDEsMTI0LDMsMCw4Myw0MCw1LDAsMCwwLDExNyw1MCwKLSAgICAxLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwKLSAgICAxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCi0gICAgOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwxMDUsMTE2LDExNSwzMiwxMTAsOTcsMTA5LAotICAgIDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMzIsMTE2LAotICAgIDEwNCwxMDEsMzIsOTksOTcsMTA4LDEwOCwzMiwxMDUsMTE1LDEwLDMyLDMyLDMyLDMyLDk4LAotICAgIDEwMSwxMDUsMTEwLDEwMywzMiwxMDksOTcsMTAwLDEwMSwzMiwxMDIsMTE0LDExMSwxMDksNDQsMzIsCi0gICAgOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsMTAxLDExOCwxMDEsMTA4LDMyLDk3LDEwMCwKLSAgICAxMDYsMTE3LDExNSwxMTYsMTA5LDEwMSwxMTAsMTE2LDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LAotICAgIDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwxMDUsMTExLDExMCwzMiwxMTQsMTAxLDExMiwKLSAgICAxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTAzLDExNCwxMDEsOTcsCi0gICAgMTE2LDEwMSwxMTUsMTE2LDMyLDk5LDExMSwxMDksMTA5LDExMSwxMTAsMzIsMTAwLDEwMSwxMTAsMTExLAotICAgIDEwOSwxMDUsMTEwLDk3LDExNiwxMTEsMTE0LDMyLDExMSwxMDIsMzIsMTAyLDExNywxMTAsOTksMTE2LAotICAgIDEwNSwxMTEsMTEwLDk3LDEwOCwxMDUsMTE2LDEyMSwxMCwzMiwzMiwzMiwzMiw5OCwxMDEsMTE2LAotICAgIDExOSwxMDEsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSwxMDksMTExLDEwMCwxMTcsCi0gICAgMTA4LDEwMSwzMiw5NywxMTAsMTAwLDMyLDk1LDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LAotICAgIDk1LDQ2LDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwNSwxMTAsOTksMTA4LDExNywxMDAsMTAxLDExNSwKLSAgICAzMiwxMTUsMTAxLDExNiwxMTYsMTA1LDExMCwxMDMsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMDIsMTAsMzIsMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsCi0gICAgMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDAsMTA1LDEwMCwzMiwxMTAsMTExLDExNiw0NiwxMCwKLSAgICAxMCwzMiwzMiwzMiwzMiwxMDUsMCwwLDAsMCwxMTcsNDAsMCwwLDAsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTExLDEwMiwzMiwxMjMsMTI1LDMyLDEwNCw5NywxMDgsMTE2LAotICAgIDEwMSwxMDAsNTksMzIsNzgsMTExLDExMCwxMDEsMzIsMTA1LDExMCwzMiwxMTUsMTIxLDExNSw0NiwKLSAgICAxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMTE3LDQsMCwwLDAsMTEwLDk3LDEwOSwxMDEsCi0gICAgNzgsNDAsMTMsMCwwLDAsMTE3LDEzLDAsMCwwLDk1LDExNSw5NywxMTAsMTA1LAotICAgIDExNiwxMjEsOTUsOTksMTA0LDEwMSw5OSwxMDcsMTE3LDEzLDAsMCwwLDk1LDExNCwxMDEsCi0gICAgMTE1LDExMSwxMDgsMTE4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTcsNCwwLDAsMCw5NSwKLSAgICAxMDUsMTA5LDExMiwxMTcsMTIsMCwwLDAsOTcsOTksMTEzLDExNywxMDUsMTE0LDEwMSw5NSwKLSAgICAxMDgsMTExLDk5LDEwNywxMTcsMywwLDAsMCwxMTUsMTIxLDExNSwxMTcsNywwLDAsCi0gICAgMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMTE3LDE0LDAsMCwwLDk1LDEwMiwxMDUsCi0gICAgMTEwLDEwMCw5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDExNywxMSwwLDAsMCwKLSAgICA5NSwxMDMsOTksMTAwLDk1LDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDExNyw0LDAsMCwwLAotICAgIDc4LDExMSwxMTAsMTAxLDExNywxMiwwLDAsMCwxMTQsMTAxLDEwOCwxMDEsOTcsMTE1LDEwMSwKLSAgICA5NSwxMDgsMTExLDk5LDEwNywxMTcsNiwwLDAsMCwxMDIsMTExLDExNCwxMDksOTcsMTE2LAotICAgIDExNywxMSwwLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsMTExLDExNCwKLSAgICAxMTcsMTksMCwwLDAsOTUsMTA4LDExMSw5OSwxMDcsOTUsMTE3LDExMCwxMDgsMTExLDk5LAotICAgIDEwNyw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0MCw1LDAsMCwwLDExNyw0LDAsCi0gICAgMCwwLDExMCw5NywxMDksMTAxLDExNyw3LDAsMCwwLDExMiw5Nyw5OSwxMDcsOTcsCi0gICAgMTAzLDEwMSwxMTcsNSwwLDAsMCwxMDgsMTAxLDExOCwxMDEsMTA4LDExNyw2LDAsMCwKLSAgICAwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNyw3LDAsMCwwLDEwOSwxMDEsMTE1LDExNSwKLSAgICA5NywxMDMsMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwKLSAgICAwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LAotICAgIDExLDAsMCwwLDk1LDEwMyw5OSwxMDAsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzYsCi0gICAgNiwwLDAsMTE1LDI4LDAsMCwwLDAsOSwxNiwxLDEyLDEsMjEsMSwKLSAgICAxMCwxLDE1LDEsMTMsMSwxMywxLDEyLDEsMTAsMSw2LDEsOSwxLAotICAgIDIxLDEsMTAsMSwxMTcsMTEsMCwwLDAsOTUsMTAzLDk5LDEwMCw5NSwxMDUsMTA5LAotICAgIDExMiwxMTEsMTE0LDExNiw5OSwzLDAsMCwwLDAsMCwwLDAsNiwwLDAsCi0gICAgMCwxNywwLDAsMCw2NywwLDAsMCwxMTUsMjU0LDAsMCwwLDExNiwwLAotICAgIDAsMTI0LDAsMCwxMDAsMSwwLDEzMSwyLDAsMTE0LDI1MCwwLDEwMCwyLDAsCi0gICAgMTI0LDEsMCwxMDcsNiwwLDExNCw4OSwwLDExNiwxLDAsMTI0LDEsMCwxMzEsCi0gICAgMSwwLDEyNSwxLDAsMTI0LDEsMCwxMDYsMiwwLDEwMCwyLDAsMTMxLDEsCi0gICAgMCwxLDExNiwwLDAsMTI0LDAsMCwxMDAsMywwLDEzMSwyLDAsMTE0LDg5LAotICAgIDAsMTI0LDEsMCwxMDYsMywwLDEyNCwwLDAsMTA2LDQsMCwxMzEsMSwwLAotICAgIDEsMTEzLDg5LDAsMTEwLDAsMCwxMjAsMTU4LDAsMTI0LDEsMCw2OCw5MywxNDcsCi0gICAgMCwxMjUsMywwLDExNiwwLDAsMTI0LDAsMCwxMjQsMywwLDEzMSwyLDAsCi0gICAgMTE1LDk2LDAsMTAwLDQsMCwxMDYsNSwwLDEyNCwwLDAsMTA2LDYsMCwxMjQsCi0gICAgMywwLDEzMSwyLDAsMTI1LDQsMCwxMjEsMTcsMCwxMTYsNywwLDEyNCwyLAotICAgIDAsMTI0LDQsMCwxMzEsMiwwLDEsODcsMTEzLDI0MywwLDQsMTE2LDgsMCwKLSAgICAxMDcsMTAsMCwxMTQsMjM5LDAsMSwxMjUsNSwwLDEsMTIyLDUwLDAsMTE2LDksCi0gICAgMCwxMjQsNSwwLDEwMCw1LDAsMTAwLDcsMCwxMzEsMywwLDExNCwyMTgsMCwKLSAgICAxMjQsNSwwLDEwNiwxMSwwLDEyNCw0LDAsMTA3LDIsMCwxMTQsMjE4LDAsMTE5LAotICAgIDk2LDAsMTEzLDIxOCwwLDExMCwwLDAsMTMwLDAsMCw4Nyw4OSwxMDAsNiwwLAotICAgIDEwMCw2LDAsMTI1LDUsMCwxMjYsNSwwLDg4LDExMywyNDMsMCw4OCwxMTMsOTYsCi0gICAgMCwxMTMsOTYsMCw4NywxMTAsMCwwLDEyNCwwLDAsODMsNDAsOCwwLDAsCi0gICAgMCwxMTcsMjM4LDAsMCwwLDcwLDEwNSwxMDMsMTE3LDExNCwxMDEsMzIsMTExLDExNywxMTYsCi0gICAgMzIsMTE5LDEwNCw5NywxMTYsMzIsOTUsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsOTUsCi0gICAgMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsNDYsMTAsCi0gICAgMTAsMzIsMzIsMzIsMzIsODQsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSwKLSAgICAzMiwxMTIsOTcsMTE0LDk3LDEwOSwxMDEsMTE2LDEwMSwxMTQsMzIsMTA1LDExNSwzMiw5NywzMiwKLSAgICA5OSw5NywxMDgsMTA4LDk3LDk4LDEwOCwxMDEsMzIsMTE5LDEwNCwxMDUsOTksMTA0LDMyLDExNiwKLSAgICA5NywxMDcsMTAxLDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTAsOTcsMTA5LDEwMSwzMiwxMTEsMTAyLAotICAgIDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExNiwxMTEsMTAsMzIsMzIsMzIsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsNDYsMzIsNzMsMTE2LDMyLDEwNSwxMTUsMzIsMTE0LDEwMSwxMTMsCi0gICAgMTE3LDEwNSwxMTQsMTAxLDEwMCwzMiwxMTYsMTExLDMyLDEwMCwxMDEsOTksMTExLDExNywxMTIsMTA4LAotICAgIDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDIsMTE3LDExMCw5OSwxMTYsMTA1LDExMSwxMTAsMzIsMTAyLAotICAgIDExNCwxMTEsMTA5LDMyLDk3LDExNSwxMTUsMTE3LDEwOSwxMDUsMTEwLDEwMywzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDM5LDExNSwxMCwzMiwzMiwzMiwzMiwxMDUsMTA5LDExMiwKLSAgICAxMTEsMTE0LDExNiwzMiwxMDUsMTA5LDExMiwxMDgsMTAxLDEwOSwxMDEsMTEwLDExNiw5NywxMTYsMTA1LAotICAgIDExMSwxMTAsMzIsMTA1LDExNSwzMiwxMDAsMTAxLDExNSwxMDUsMTE0LDEwMSwxMDAsNDYsMTAsMTAsCi0gICAgMzIsMzIsMzIsMzIsMTE3LDgsMCwwLDAsOTUsOTUsMTEyLDk3LDExNiwxMDQsOTUsCi0gICAgOTUsMTE3LDEsMCwwLDAsNDIsMTE3LDcsMCwwLDAsOTUsOTUsOTcsMTA4LAotICAgIDEwOCw5NSw5NSwxMTcsNSwwLDAsMCwxMjMsMTI1LDQ2LDEyMywxMjUsMTE3LDEwLDAsCi0gICAgMCwwLDk1LDExMCwxMTEsMTE2LDk1LDEwMiwxMTEsMTE3LDExMCwxMDAsNzgsNzAsNDAsMTIsCi0gICAgMCwwLDAsMTE3LDcsMCwwLDAsMTA0LDk3LDExNSw5NywxMTYsMTE2LDExNCwxMTcsCi0gICAgNCwwLDAsMCwxMDgsMTA1LDExNSwxMTYsMTE3LDYsMCwwLDAsMTE0LDEwMSwxMDksCi0gICAgMTExLDExOCwxMDEsMTE3LDYsMCwwLDAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMDAsMTE3LDcsCi0gICAgMCwwLDAsOTUsOTUsOTcsMTA4LDEwOCw5NSw5NSwxMTcsNiwwLDAsMCwxMDIsCi0gICAgMTExLDExNCwxMDksOTcsMTE2LDExNyw4LDAsMCwwLDk1LDk1LDExMCw5NywxMDksMTAxLAotICAgIDk1LDk1LDExNywyNSwwLDAsMCw5NSw5OSw5NywxMDgsMTA4LDk1LDExOSwxMDUsMTE2LAotICAgIDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDk1LDExNCwxMDEsMTA5LDExMSwxMTgsMTAxLDEwMCwKLSAgICAxMTcsMTEsMCwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiw2OSwxMTQsMTE0LDExMSwxMTQsCi0gICAgMTE3LDcsMCwwLDAsMTAzLDEwMSwxMTYsOTcsMTE2LDExNiwxMTQsMTE3LDUsMCwwLAotICAgIDAsNzAsOTcsMTA4LDExNSwxMDEsMTE3LDQsMCwwLDAsMTEwLDk3LDEwOSwxMDEsNDAsCi0gICAgNiwwLDAsMCwxMTcsNiwwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsCi0gICAgOCwwLDAsMCwxMDIsMTE0LDExMSwxMDksMTA4LDEwNSwxMTUsMTE2LDExNyw3LDAsMCwKLSAgICAwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDExNywxLDAsMCwwLDEyMCwxMTcsOSwKLSAgICAwLDAsMCwxMDIsMTE0LDExMSwxMDksOTUsMTEwLDk3LDEwOSwxMDEsMTE3LDMsMCwwLAotICAgIDAsMTAxLDEyMCw5OSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LDI5LAotICAgIDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLDYyLAotICAgIDExNywxNiwwLDAsMCw5NSwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDk1LDEwMiwxMTQsMTExLAotICAgIDEwOSwxMDgsMTA1LDExNSwxMTYsNjAsNiwwLDAsMTE1LDM0LDAsMCwwLDAsMTAsCi0gICAgMTUsMSwxMiwxLDEyLDEsMTMsMSwxNSwxLDIyLDEsMTMsMSwxNSwxLAotICAgIDIxLDEsMywxLDE3LDEsMTgsNiwxOCwxLDE1LDEsOSwxLDMyLDEsCi0gICAgMTE3LDE2LDAsMCwwLDk1LDEwNCw5NywxMTAsMTAwLDEwOCwxMDEsOTUsMTAyLDExNCwxMTEsCi0gICAgMTA5LDEwOCwxMDUsMTE1LDExNiw5OSwxLDAsMCwwLDAsMCwwLDAsMiwwLAotICAgIDAsMCwyLDAsMCwwLDY3LDAsMCwwLDExNSw3OCwwLDAsMCwxMjQsCi0gICAgMCwwLDEwNiwwLDAsMTAwLDEsMCwxMzEsMSwwLDEyNSwxLDAsMTI0LDEsCi0gICAgMCwxMDAsNiwwLDEwNyw4LDAsMTE0LDc0LDAsMTI0LDAsMCwxMDAsMiwwLAotICAgIDI1LDEyNSwxLDAsMTAwLDMsMCwxMjQsMCwwLDEwNyw3LDAsMTE0LDc0LDAsCi0gICAgMTI0LDEsMCwxMDYsMiwwLDEwMCw0LDAsMTMxLDEsMCwxMDAsNSwwLDI1LAotICAgIDEyNSwxLDAsMTEzLDc0LDAsMTEwLDAsMCwxMjQsMSwwLDgzLDQwLDcsMCwKLSAgICAwLDAsMTE3LDE2NywwLDAsMCw2Nyw5NywxMDgsOTksMTE3LDEwOCw5NywxMTYsMTAxLAotICAgIDMyLDExOSwxMDQsOTcsMTE2LDMyLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSwKLSAgICA5NSwzMiwxMTUsMTA0LDExMSwxMTcsMTA4LDEwMCwzMiw5OCwxMDEsNDYsMTAsMTAsMzIsMzIsCi0gICAgMzIsMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMTUsCi0gICAgMzIsMTEwLDExMSwxMTYsMzIsMTAzLDExNyw5NywxMTQsOTcsMTEwLDExNiwxMDEsMTAxLDEwMCwzMiwKLSAgICAxMTYsMTExLDMyLDk4LDEwMSwzMiwxMDAsMTAxLDEwMiwxMDUsMTEwLDEwMSwxMDAsMzIsMTExLDExNCwKLSAgICAzMiw5OSwxMTEsMTE3LDEwOCwxMDAsMzIsOTgsMTAxLDMyLDExNSwxMDEsMTE2LDMyLDExNiwxMTEsCi0gICAgMzIsNzgsMTExLDExMCwxMDEsMTAsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiwxMTQsMTAxLDExMiwKLSAgICAxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwzMiwxMTYsMTA0LDk3LDExNiwzMiwxMDUsMTE2LDExNSwzMiwKLSAgICAxMTIsMTE0LDExMSwxMTIsMTAxLDExNCwzMiwxMTgsOTcsMTA4LDExNywxMDEsMzIsMTA1LDExNSwzMiwKLSAgICAxMTcsMTEwLDEwNywxMTAsMTExLDExOSwxMTAsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTE3LDExLAotICAgIDAsMCwwLDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwxMTcsOCwKLSAgICAwLDAsMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsOCwwLDAsMCwKLSAgICA5NSw5NSwxMTIsOTcsMTE2LDEwNCw5NSw5NSwxMTcsMSwwLDAsMCw0NiwxMDUsMCwKLSAgICAwLDAsMCw3OCw0MCwzLDAsMCwwLDExNywzLDAsMCwwLDEwMywxMDEsCi0gICAgMTE2LDExNyw0LDAsMCwwLDc4LDExMSwxMTAsMTAxLDExNywxMCwwLDAsMCwxMTQsCi0gICAgMTEyLDk3LDExNCwxMTYsMTA1LDExNiwxMDUsMTExLDExMCw0MCwyLDAsMCwwLDExNyw3LAotICAgIDAsMCwwLDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsMTE3LDcsMCwwLDAsMTEyLAotICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDQwLDAsMCwwLDAsNDAsMCwwLDAsMCwKLSAgICAxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsCi0gICAgMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywKLSAgICAxMTIsNjIsMTE3LDE3LDAsMCwwLDk1LDk5LDk3LDEwOCw5OSw5NSw5NSw5NSwxMTIsCi0gICAgOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsOTQsNiwwLDAsMTE1LDEyLDAsMCwKLSAgICAwLDAsNywxNSwxLDEyLDEsMTAsMSwxMiwxLDI1LDEsMTE3LDE3LDAsCi0gICAgMCwwLDk1LDk5LDk3LDEwOCw5OSw5NSw5NSw5NSwxMTIsOTcsOTksMTA3LDk3LDEwMywKLSAgICAxMDEsOTUsOTUsOTksMCwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsCi0gICAgMywwLDAsMCw2NywwLDAsMCwxMTUsNTUsMCwwLDAsMTE2LDAsMCwKLSAgICAxMTYsMSwwLDEwNiwyLDAsMTMxLDAsMCwxMDIsMiwwLDEyNSwwLDAsMTE2LAotICAgIDMsMCwxMTYsNCwwLDEwMiwyLDAsMTI1LDEsMCwxMTYsNSwwLDExNiw2LAotICAgIDAsMTAyLDIsMCwxMjUsMiwwLDEyNCwwLDAsMTI0LDEsMCwxMjQsMiwwLAotICAgIDEwMywzLDAsODMsNDAsMSwwLDAsMCwxMTcsMTExLDAsMCwwLDgyLDEwMSwKLSAgICAxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDk3LDMyLDEwOCwxMDUsMTE1LDExNiwzMiwxMTEsMTAyLDMyLAotICAgIDEwMiwxMDUsMTA4LDEwMSw0NSw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSw0NiwxMCwxMCwzMiwzMiwzMiwzMiwKLSAgICA2OSw5Nyw5OSwxMDQsMzIsMTA1LDExNiwxMDEsMTA5LDMyLDEwNSwxMTUsMzIsOTcsMzIsMTE2LAotICAgIDExNywxMTIsMTA4LDEwMSwzMiw0MCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDQ0LDMyLDExNSwxMTcsCi0gICAgMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsNDQsMzIsOTcsMTA4LDEwOCwxMTEsMTE5LDk1LDExMiw5NywKLSAgICA5OSwxMDcsOTcsMTAzLDEwMSwxMTUsNDEsNDYsMTAsMzIsMzIsMzIsMzIsNDAsNywwLAotICAgIDAsMCwxMTcsMTksMCwwLDAsNjksMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCwKLSAgICA3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LDQsMCwwLDAsOTUsCi0gICAgMTA1LDEwOSwxMTIsMTE3LDE4LDAsMCwwLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTE1LDEwNSwxMTEsCi0gICAgMTEwLDk1LDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsMTE3LDE2LDAsMCwwLDgzLAotICAgIDExMSwxMTcsMTE0LDk5LDEwMSw3MCwxMDUsMTA4LDEwMSw3NiwxMTEsOTcsMTAwLDEwMSwxMTQsMTE3LAotICAgIDE1LDAsMCwwLDgzLDc5LDg1LDgyLDY3LDY5LDk1LDgzLDg1LDcwLDcwLDczLAotICAgIDg4LDY5LDgzLDExNywyMCwwLDAsMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwKLSAgICAxMTUsMTE1LDcwLDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTcsMTcsMCwwLAotICAgIDAsNjYsODksODQsNjksNjcsNzksNjgsNjksOTUsODMsODUsNzAsNzAsNzMsODgsCi0gICAgNjksODMsNDAsMywwLDAsMCwxMTcsMTAsMCwwLDAsMTAxLDEyMCwxMTYsMTAxLAotICAgIDExMCwxMTUsMTA1LDExMSwxMTAsMTE1LDExNyw2LDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwKLSAgICAxMDEsMTE3LDgsMCwwLDAsOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsNDAsMCwKLSAgICAwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LAotICAgIDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LAotICAgIDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMjcsMCwwLDAsOTUsCi0gICAgMTAzLDEwMSwxMTYsOTUsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwKLSAgICAxMDgsMTAxLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDEwOSw2LDAsMCwxMTUsOCwKLSAgICAwLDAsMCwwLDUsMTgsMSwxMiwxLDEyLDEsMTE3LDI3LDAsMCwwLAotICAgIDk1LDEwMywxMDEsMTE2LDk1LDExNSwxMTcsMTEyLDExMiwxMTEsMTE0LDExNiwxMDEsMTAwLDk1LDEwMiwKLSAgICAxMDUsMTA4LDEwMSw5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSw5OSw1LDAsMCwwLAotICAgIDAsMCwwLDAsOSwwLDAsMCw1LDAsMCwwLDY3LDAsMCwwLAotICAgIDExNSwyMjcsMCwwLDAsMTI0LDQsMCwxMDAsMSwwLDEwNywyLDAsMTE0LDI3LAotICAgIDAsMTE2LDAsMCwxMjQsMCwwLDEzMSwxLDAsMTI1LDUsMCwxMTAsNTQsMCwKLSAgICAxMjQsMSwwLDEwMCwzLDAsMTA3LDksMCwxMTQsNDUsMCwxMjQsMSwwLDExMCwKLSAgICAzLDAsMTA1LDAsMCwxMjUsNiwwLDExNiwyLDAsMTI0LDYsMCwxMzEsMSwKLSAgICAwLDEyNSw3LDAsMTE2LDAsMCwxMjQsMCwwLDEyNCw3LDAsMTI0LDQsMCwKLSAgICAxMzEsMywwLDEyNSw1LDAsMTI0LDMsMCwxMTUsMjA3LDAsMTI0LDQsMCwxMDAsCi0gICAgMSwwLDEwNywyLDAsMTE0LDEyMiwwLDExNiwwLDAsMTI0LDAsMCwxMDYsMywKLSAgICAwLDEwMCwyLDAsMTMxLDEsMCwxMDAsMSwwLDI1LDEzMSwxLDAsODMsMTI0LAotICAgIDAsMCwxMTUsMTMyLDAsMTI0LDUsMCw4MywxMTYsNCwwLDEyNCwwLDAsMTMxLAotICAgIDEsMCwxMTYsNCwwLDEyNCwwLDAsMTA2LDMsMCwxMDAsMiwwLDEzMSwxLAotICAgIDAsMTAwLDEsMCwyNSwxMzEsMSwwLDI0LDEyNSw4LDAsMTE2LDUsMCwxMDYsCi0gICAgNiwwLDEyNCw1LDAsMTA2LDcsMCwxMDAsMywwLDExNiw0LDAsMTI0LDUsCi0gICAgMCwxMDYsNywwLDEzMSwxLDAsMTI0LDgsMCwyNCwxMzMsMiwwLDI1LDI1LAotICAgIDgzLDExMCwxNiwwLDExNiw4LDAsMTI0LDUsMCwxMjQsMywwLDExNiwwLDAsCi0gICAgMTMxLDMsMCw4MywxMDAsMywwLDgzLDQwLDQsMCwwLDAsMTE3LDIxNCwxLAotICAgIDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMzksMTAzLDEwOCwxMTEsCi0gICAgOTgsOTcsMTA4LDExNSwzOSwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMzIsMTA1LAotICAgIDExNSwzMiwxMTcsMTE1LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDUsMTEwLDEwMiwxMDEsMTE0LDMyLAotICAgIDExOSwxMDQsMTAxLDExNCwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMzIsMTA1LDExNSwzMiwxMTEsOTksOTksMTE3LDExNCwxMDUsMTEwLDEwMywzMiwxMDIsMTE0LDExMSwKLSAgICAxMDksMTAsMzIsMzIsMzIsMzIsMTE2LDExMSwzMiwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDMyLAotICAgIDExNCwxMDEsMTA4LDk3LDExNiwxMDUsMTE4LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMTUsCi0gICAgNDYsMzIsODQsMTA0LDEwMSwzMiwzOSwxMDgsMTExLDk5LDk3LDEwOCwxMTUsMzksMzIsOTcsCi0gICAgMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDEwNSwxMTUsMzIsMTA1LDEwMywxMTAsMTExLDExNCwKLSAgICAxMDEsMTAwLDQ2LDMyLDg0LDEwNCwxMDEsMTAsMzIsMzIsMzIsMzIsMzksMTAyLDExNCwxMTEsCi0gICAgMTA5LDEwOCwxMDUsMTE1LDExNiwzOSwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMzIsCi0gICAgMTE1LDExMiwxMDEsOTksMTA1LDEwMiwxMDUsMTAxLDExNSwzMiwxMTksMTA0LDk3LDExNiwzMiwxMTUsCi0gICAgMTA0LDExMSwxMTcsMTA4LDEwMCwzMiwxMDEsMTIwLDEwNSwxMTUsMTE2LDMyLDk3LDExNSwzMiw5NywKLSAgICAxMTYsMTE2LDExNCwxMDUsOTgsMTE3LDExNiwxMDEsMTE1LDMyLDExMSwxMTAsMzIsMTE2LDEwNCwxMDEsCi0gICAgMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTAsMzIsMzIsMzIsMzIsOTgsMTAxLDEwNSwxMTAsCi0gICAgMTAzLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMDAsMzIsNDAsMTAxLDQ2LDEwMyw0NiwKLSAgICAzMiw5Niw5NiwxMDIsMTE0LDExMSwxMDksMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMzIsNjAsMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiw2MiwKLSAgICA5Niw5Niw0MSw0NiwzMiwzMiw4NCwxMDQsMTAxLDMyLDM5LDEwOCwxMDEsMTE4LDEwMSwxMDgsCi0gICAgMzksMTAsMzIsMzIsMzIsMzIsOTcsMTE0LDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDExNCwKLSAgICAxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsMTE2LDExNSwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsCi0gICAgOTksMTA3LDk3LDEwMywxMDEsMzIsMTA4LDExMSw5OSw5NywxMTYsMTA1LDExMSwxMTAsMzIsMTE2LAotICAgIDExMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDIsMTE0LDExMSwxMDksMzIsMTA1LDExMCwKLSAgICAzMiw5NywzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMTAsMzIsMzIsMzIsMzIsCi0gICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsNDAsMTAxLDQ2LDEwMyw0NiwzMiw5Niw5NiwxMDIsCi0gICAgMTE0LDExMSwxMDksMzIsNDYsNDYsMTEyLDEwNywxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMzIsMTA5LDExMSwxMDAsOTYsOTYsMzIsMTE5LDExMSwxMTcsMTA4LDEwMCwzMiwxMDQsOTcsMTE4LAotICAgIDEwMSwzMiw5NywzMiwzOSwxMDgsMTAxLDExOCwxMDEsMTA4LDM5LDMyLDExMSwxMDIsMzIsNTAsCi0gICAgNDEsNDYsMTAsMTAsMzIsMzIsMzIsMzIsMTA1LDAsMCwwLDAsMTE3LDEsMCwKLSAgICAwLDAsNDYsNzgsNDAsOSwwLDAsMCwxMTcsMTEsMCwwLDAsOTUsMTAzLAotICAgIDk5LDEwMCw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMTcsNCwwLDAsMCw3OCwxMTEsCi0gICAgMTEwLDEwMSwxMTcsMTcsMCwwLDAsOTUsOTksOTcsMTA4LDk5LDk1LDk1LDk1LDExMiwKLSAgICA5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwxMTcsOSwwLDAsMCwxMTIsOTcsMTE0LAotICAgIDExNiwxMDUsMTE2LDEwNSwxMTEsMTEwLDExNywzLDAsMCwwLDEwOCwxMDEsMTEwLDExNywzLAotICAgIDAsMCwwLDExNSwxMjEsMTE1LDExNyw3LDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsCi0gICAgMTAxLDExNSwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsCi0gICAgMTYsMCwwLDAsOTUsMTA0LDk3LDExMCwxMDAsMTA4LDEwMSw5NSwxMDIsMTE0LDExMSwxMDksCi0gICAgMTA4LDEwNSwxMTUsMTE2LDQwLDksMCwwLDAsMTE3LDQsMCwwLDAsMTEwLDk3LAotICAgIDEwOSwxMDEsMTE3LDcsMCwwLDAsMTAzLDEwOCwxMTEsOTgsOTcsMTA4LDExNSwxMTcsNiwKLSAgICAwLDAsMCwxMDgsMTExLDk5LDk3LDEwOCwxMTUsMTE3LDgsMCwwLDAsMTAyLDExNCwKLSAgICAxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwxMTcsNSwwLDAsMCwxMDgsMTAxLDExOCwxMDEsMTA4LAotICAgIDExNyw2LDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNyw4LDAsMCwwLAotICAgIDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsOTUsMTE3LDcsMCwwLDAsMTEyLDk3LDk5LAotICAgIDEwNyw5NywxMDMsMTAxLDExNyw3LDAsMCwwLDk5LDExNywxMTYsOTUsMTExLDEwMiwxMDIsCi0gICAgNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwKLSAgICAxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LAotICAgIDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsMTAsMCwwLAotICAgIDAsOTUsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsOTUsMTIwLDYsMCwwLDExNSwKLSAgICAyNiwwLDAsMCwwLDExLDEyLDEsMTUsMiwyNCwxLDEyLDEsMTgsMSwKLSAgICA2LDMsMTIsMSwyMywxLDYsMSw0LDQsMzUsMyw0MCwyLDExNywxMCwKLSAgICAwLDAsMCw5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSw5OSwyLDAsCi0gICAgMCwwLDAsMCwwLDAsMTYsMCwwLDAsMTMsMCwwLDAsNjcsMCwKLSAgICAwLDAsMTE1LDI0LDMsMCwwLDEyNCwxLDAsOTcsMCwwLDEyNCwwLDAsCi0gICAgOTcsMSwwLDExNiwxLDAsMTA2LDIsMCwxMDYsMywwLDExNCwzMywwLDExNiwKLSAgICA0LDAsOTcsNSwwLDExMCw2LDAsMTE2LDYsMCw5Nyw1LDAsMTE2LDcsCi0gICAgMCwxMTYsMSwwLDEzMSwxLDAsMTI1LDIsMCwxMjAsMTE5LDAsMTE2LDEsMCwKLSAgICAxMDYsOCwwLDEwNiw5LDAsMTMxLDAsMCw2OCw5MywxMDIsMCw5MiwyLDAsCi0gICAgMTI1LDMsMCwxMjUsNCwwLDExNiwxMCwwLDEyNCw0LDAsMTI0LDIsMCwxMzEsCi0gICAgMiwwLDExNCw2NywwLDExNiwxMSwwLDEyNCw0LDAsMTAwLDEsMCwxMzEsMiwKLSAgICAwLDExNSwxNjksMCwxMjQsMywwLDExNiwxLDAsMTA2LDEyLDAsMTA3LDYsMCwKLSAgICAxMTQsMTM2LDAsMTE2LDEzLDAsMTI0LDQsMCw5NSwxNCwwLDExMywxNjYsMCwxMTYsCi0gICAgMCwwLDEwNiwxNSwwLDEyNCwzLDAsMTMxLDEsMCwxMTQsMTY2LDAsMTE2LDE2LAotICAgIDAsMTI0LDQsMCw5NSwxNCwwLDExMywxNjYsMCwxMTMsMTY5LDAsMTEzLDY3LDAsCi0gICAgMTEzLDY3LDAsODcsMTE2LDEsMCwxMDYsOCwwLDExNiwxNywwLDI1LDEyNSw1LAotICAgIDAsMTIwLDc2LDAsMTAwLDI4LDAsNjgsOTMsNjgsMCwxMjUsNiwwLDEyNCw2LAotICAgIDAsMTE2LDEsMCwxMDYsOCwwLDEwNyw3LDAsMTE0LDIzMiwwLDExNiwxMywwLAotICAgIDEwNiwxOCwwLDEyNCw2LDAsMTMxLDEsMCwxMjUsNywwLDExMCwxMywwLDExNiwKLSAgICAxLDAsMTA2LDgsMCwxMjQsNiwwLDI1LDEyNSw3LDAsMTE2LDE5LDAsMTI0LAotICAgIDUsMCwxMjQsNiwwLDEyNCw3LDAsMTMxLDMsMCwxLDExMywxOTMsMCw4NywKLSAgICAxMDAsNiwwLDEwMCw3LDAsMTAzLDEsMCwxMDIsMiwwLDEwMCw4LDAsMTAwLAotICAgIDksMCwxMDAsNywwLDEwMywyLDAsMTAyLDIsMCwxMDAsMTAsMCwxMDAsOSwKLSAgICAwLDEwMCw3LDAsMTAzLDIsMCwxMDIsMiwwLDEwMiwzLDAsMTI1LDgsMCwKLSAgICAxMjAsMTg5LDAsMTI0LDgsMCw2OCw5MywxNjksMCw5MiwyLDAsMTI1LDksMCwKLSAgICAxMjUsMTAsMCwxMTYsMjAsMCwxMDAsMTEsMCwxMDAsMTIsMCwxMzIsMCwwLDEyNCwKLSAgICAxMCwwLDY4LDEzMSwxLDAsMTMxLDEsMCwxMTUsMTA3LDEsMTE2LDIxLDAsMTMwLAotICAgIDEsMCwxMjQsMTAsMCwxMDAsMTMsMCwyNSwxMjUsMTEsMCwxMjQsOSwwLDExNiwKLSAgICAxLDAsMTA2LDgsMCwxMDcsNiwwLDExNCwxNDksMSwxMTYsMSwwLDEwNiw4LAotICAgIDAsMTI0LDksMCwyNSwxMjUsMTIsMCw4MCwxMTMsNjQsMSwxMjEsNjAsMCwxMTYsCi0gICAgMTMsMCwxMDYsMTgsMCwxMjQsOSwwLDEzMSwxLDAsMTI1LDEyLDAsMTI0LDksCi0gICAgMCwxMDAsMTAsMCwxMDcsMiwwLDExNCwyMDcsMSwxMDAsMTQsMCwxMTYsMSwwLAotICAgIDEwNiwyMiwwLDEwNyw2LDAsMTE0LDIwNywxLDEyNCwxMCwwLDEwMCwxNSwwLDI1LAotICAgIDEyNSwxMSwwLDExMCwwLDAsODAsODcsMTEzLDY0LDEsNCwxMTYsMjMsMCwxMDcsCi0gICAgMTAsMCwxMTQsMjMyLDEsMSwxLDEsMTE5LDY0LDEsODksMTEzLDY0LDEsODgsCi0gICAgMTEzLDY0LDEsODcsMTE2LDIzLDAsMTAwLDE2LDAsMTMxLDEsMCwxMzAsMSwwLAotICAgIDEyMSwxOSwwLDExNiwxMywwLDEwNiwxOCwwLDEwMCwxNywwLDEzMSwxLDAsMTI1LAotICAgIDEzLDAsODcsMTEwLDI0LDAsNCwxMTYsMjMsMCwxMDcsMTAsMCwxMTQsMzgsMiwKLSAgICAxLDEsMSwxMDAsMjcsMCwxMjUsMTMsMCw4OSwxMTAsMSwwLDg4LDExNiwxMywKLSAgICAwLDEwNiwxOCwwLDEwMCwxOCwwLDEzMSwxLDAsMTI1LDE0LDAsMTI0LDksMCwKLSAgICAxMDAsOCwwLDEwNywyLDAsMTE0LDEwMCwyLDExNiwxMywwLDEwNiwxOCwwLDEwMCwKLSAgICAxOSwwLDEzMSwxLDAsMTI1LDE1LDAsMTE2LDE5LDAsMTI0LDUsMCwxMDAsMjAsCisgICAgMTMyLDAsMCw5MCw1LDAsMTAwLDYsMCw4Myw0MCw3LDAsMCwwLDI0NCwKKyAgICAxOCwwLDAsMCw5NSw3MywxMDksMTEyLDExMSwxMTQsMTE2LDc2LDExMSw5OSwxMDcsNjcsCisgICAgMTExLDExMCwxMTYsMTAxLDEyMCwxMTYsMTE3LDM2LDAsMCwwLDY3LDExMSwxMTAsMTE2LDEwMSwKKyAgICAxMjAsMTE2LDMyLDEwOSw5NywxMTAsOTcsMTAzLDEwMSwxMTQsMzIsMTAyLDExMSwxMTQsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsNDYsOTksCisgICAgMSwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMSwwLDAsMCwKKyAgICA2NywwLDAsMCwxMTUsMTQsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDEzMSwKKyAgICAwLDAsMSwxMDAsMSwwLDgzLDQwLDIsMCwwLDAsMTE3LDI0LDAsMCwKKyAgICAwLDY1LDk5LDExMywxMTcsMTA1LDExNCwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsCisgICAgMTExLDExNCwxMTYsMzIsMTA4LDExMSw5OSwxMDcsNDYsNzgsNDAsMiwwLDAsMCwxMTQsCisgICAgOTcsMCwwLDAsMjQ0LDEyLDAsMCwwLDk3LDk5LDExMywxMTcsMTA1LDExNCwxMDEsCisgICAgOTUsMTA4LDExMSw5OSwxMDcsNDAsMSwwLDAsMCwxMTQsNzgsMCwwLDAsMTE0LAorICAgIDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLDAsMjQ0LDksCisgICAgMCwwLDAsOTUsOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSwxOTAsNSwwLDAsCisgICAgMTE1LDIsMCwwLDAsMCwyLDExNywyOCwwLDAsMCw5NSw3MywxMDksMTEyLAorICAgIDExMSwxMTQsMTE2LDc2LDExMSw5OSwxMDcsNjcsMTExLDExMCwxMTYsMTAxLDEyMCwxMTYsNDYsOTUsCisgICAgOTUsMTAxLDExMCwxMTYsMTAxLDExNCw5NSw5NSw5OSw0LDAsMCwwLDAsMCwwLAorICAgIDAsNCwwLDAsMCwxLDAsMCwwLDY3LDAsMCwwLDExNSwxNCwwLAorICAgIDAsMCwxMTYsMCwwLDEwNiwxLDAsMTMxLDAsMCwxLDEwMCwxLDAsODMsCisgICAgNDAsMiwwLDAsMCwxMTcsNjAsMCwwLDAsODIsMTAxLDEwOCwxMDEsOTcsMTE1LAorICAgIDEwMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwxMDgsMTExLDk5LAorICAgIDEwNywzMiwxMTQsMTAxLDEwMyw5NywxMTQsMTAwLDEwOCwxMDEsMTE1LDExNSwzMiwxMTEsMTAyLDMyLAorICAgIDk3LDExMCwxMjEsMzIsMTE0LDk3LDEwNSwxMTUsMTAxLDEwMCwzMiwxMDEsMTIwLDk5LDEwMSwxMTIsCisgICAgMTE2LDEwNSwxMTEsMTEwLDExNSw0Niw3OCw0MCwyLDAsMCwwLDExNCw5NywwLDAsCisgICAgMCwxMTQsOTgsMCwwLDAsNDAsNCwwLDAsMCwxMTQsNzgsMCwwLDAsCisgICAgMTE2LDgsMCwwLDAsMTAxLDEyMCw5OSw5NSwxMTYsMTIxLDExMiwxMDEsMTE2LDksMCwKKyAgICAwLDAsMTAxLDEyMCw5OSw5NSwxMTgsOTcsMTA4LDExNywxMDEsMTE2LDEzLDAsMCwwLAorICAgIDEwMSwxMjAsOTksOTUsMTE2LDExNCw5Nyw5OSwxMDEsOTgsOTcsOTksMTA3LDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCw4LDAsMCwKKyAgICAwLDk1LDk1LDEwMSwxMjAsMTA1LDExNiw5NSw5NSwxOTQsNSwwLDAsMTE1LDIsMCwKKyAgICAwLDAsMCwyLDExNywyNywwLDAsMCw5NSw3MywxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDc2LDExMSw5OSwxMDcsNjcsMTExLDExMCwxMTYsMTAxLDEyMCwxMTYsNDYsOTUsOTUsMTAxLDEyMCwKKyAgICAxMDUsMTE2LDk1LDk1LDc4LDQwLDYsMCwwLDAsMTE0LDU2LDAsMCwwLDExNCwKKyAgICA1NSwwLDAsMCwxMTQsNTcsMCwwLDAsMTE0LDU4LDAsMCwwLDExNCw1MCwKKyAgICAxLDAsMCwxMTQsNTEsMSwwLDAsNDAsMSwwLDAsMCwxMTQsNjksMCwKKyAgICAwLDAsMTE0LDQsMCwwLDAsMTE0LDQsMCwwLDAsMTE0LDUsMCwwLAorICAgIDAsMTE0LDQ4LDEsMCwwLDE4Niw1LDAsMCwxMTUsNiwwLDAsMCwxNiwKKyAgICAyLDYsMiwxMiw0LDExNCw0OCwxLDAsMCw5OSwzLDAsMCwwLDAsCisgICAgMCwwLDAsNSwwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwKKyAgICA5MSwwLDAsMCwxMjQsMSwwLDEwNiwwLDAsMTAwLDEsMCwxMjQsMiwwLAorICAgIDEwMCwyLDAsMjQsMTMxLDIsMCwxMjUsMywwLDExNiwxLDAsMTI0LDMsMCwKKyAgICAxMzEsMSwwLDEyNCwyLDAsMTA3LDAsMCwxMTQsNTUsMCwxMTYsMiwwLDEwMCwKKyAgICAzLDAsMTMxLDEsMCwxMzAsMSwwLDExMCwwLDAsMTI0LDMsMCwxMDAsNCwKKyAgICAwLDI1LDEyNSw0LDAsMTI0LDAsMCwxMTQsODcsMCwxMDAsNSwwLDEwNiwzLAorICAgIDAsMTI0LDQsMCwxMjQsMCwwLDEzMSwyLDAsODMsMTI0LDQsMCw4Myw0MCwKKyAgICA2LDAsMCwwLDExNyw1MCwwLDAsMCw4MiwxMDEsMTE1LDExMSwxMDgsMTE4LDEwMSwKKyAgICAzMiw5NywzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsMTA5LDExMSwxMDAsMTE3LAorICAgIDEwOCwxMDEsMzIsMTEwLDk3LDEwOSwxMDEsMzIsMTE2LDExMSwzMiw5NywxMTAsMzIsOTcsOTgsCisgICAgMTE1LDExMSwxMDgsMTE3LDExNiwxMDEsMzIsMTExLDExMCwxMDEsNDYsMTE0LDEwNCwwLDAsMCwKKyAgICAxMTQsMjksMCwwLDAsMTE3LDUwLDAsMCwwLDk3LDExNiwxMTYsMTAxLDEwOSwxMTIsCisgICAgMTE2LDEwMSwxMDAsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLAorICAgIDExMSwxMTQsMTE2LDMyLDk4LDEwMSwxMjEsMTExLDExMCwxMDAsMzIsMTE2LDExMSwxMTIsNDUsMTA4LAorICAgIDEwMSwxMTgsMTAxLDEwOCwzMiwxMTIsOTcsOTksMTA3LDk3LDEwMywxMDEsMTE0LDcxLDAsMCwKKyAgICAwLDExNyw1LDAsMCwwLDEyMywxMjUsNDYsMTIzLDEyNSw0MCw0LDAsMCwwLAorICAgIDExNCwzNCwwLDAsMCwxMTQsMzEsMCwwLDAsMTE0LDEyMSwwLDAsMCwxMTQsCisgICAgNDYsMCwwLDAsNDAsNSwwLDAsMCwxMTQsNjYsMCwwLDAsMjQ0LDcsCisgICAgMCwwLDAsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDI0NCw1LDAsMCwwLDEwOCwKKyAgICAxMDEsMTE4LDEwMSwxMDgsMTE2LDQsMCwwLDAsOTgsMTA1LDExNiwxMTUsMTE2LDQsMCwKKyAgICAwLDAsOTgsOTcsMTE1LDEwMSwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwKKyAgICAxMTQsNSwwLDAsMCwyNDQsMTMsMCwwLDAsOTUsMTE0LDEwMSwxMTUsMTExLDEwOCwKKyAgICAxMTgsMTAxLDk1LDExMCw5NywxMDksMTAxLDE5OSw1LDAsMCwxMTUsMTAsMCwwLDAsCisgICAgMCwyLDIyLDEsMTgsMSwxNSwxLDEwLDEsMTE0LDU0LDEsMCwwLDk5LAorICAgIDIsMCwwLDAsMCwwLDAsMCw0LDAsMCwwLDExLDAsMCwwLAorICAgIDY3LDAsMCwwLDExNSwxMzgsMCwwLDAsMTE2LDAsMCwxMDYsMSwwLDExNSwKKyAgICAyOCwwLDExNiwyLDAsMTA2LDMsMCwxMDAsMSwwLDExNiw0LDAsMTMxLDIsCisgICAgMCwxLDExMCwwLDAsMTIwLDEwMywwLDExNiwwLDAsMTA2LDEsMCw2OCw5MywKKyAgICA4OCwwLDEyNSwyLDAsMTE2LDUsMCwxMzEsMCwwLDE0MywyMywwLDEsMTI0LAorICAgIDIsMCwxMDYsNiwwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDEyNSwzLAorICAgIDAsODcsMTAwLDIsMCw4MSw4OCwxMjQsMywwLDEwMCwyLDAsMTA3LDksMCwKKyAgICAxMTQsMzgsMCwxMjQsMCwwLDExNiwwLDAsMTA2LDcsMCwxMDcsNywwLDExNCwKKyAgICAxMDksMCwxMjQsMywwLDgzLDExNiwwLDAsMTA2LDcsMCwxMjQsMCwwLDI1LAorICAgIDEwNiw4LDAsODMsMTEzLDM4LDAsMTEzLDM4LDAsODcsMTAwLDIsMCw4MywxMDAsCisgICAgMiwwLDgzLDQwLDMsMCwwLDAsMTE3LDIzLDAsMCwwLDcwLDEwNSwxMTAsCisgICAgMTAwLDMyLDk3LDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDM5LDExNSwzMiwxMDgsMTExLDk3LAorICAgIDEwMCwxMDEsMTE0LDQ2LDExNywyMiwwLDAsMCwxMTUsMTIxLDExNSw0NiwxMDksMTAxLDExNiwKKyAgICA5Nyw5NSwxMTIsOTcsMTE2LDEwNCwzMiwxMDUsMTE1LDMyLDEwMSwxMDksMTEyLDExNiwxMjEsNzgsCisgICAgNDAsOSwwLDAsMCwxMTQsNywwLDAsMCwyNDQsOSwwLDAsMCwxMDksCisgICAgMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LDEwNCwxMTQsMTcwLDAsMCwwLDExNCwxNzEsMCwKKyAgICAwLDAsMTE0LDE3MiwwLDAsMCwxMTQsNDgsMSwwLDAsMTE0LDE5NywwLDAsCisgICAgMCwxMTQsMTUyLDAsMCwwLDExNCwxNDksMCwwLDAsNDAsNCwwLDAsMCwKKyAgICAxMTQsNjYsMCwwLDAsMTE0LDM1LDAsMCwwLDExNCwyNSwxLDAsMCwxMTQsCisgICAgMTczLDAsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LAorICAgIDAsMCwwLDI0NCwxMiwwLDAsMCw5NSwxMDIsMTA1LDExMCwxMDAsOTUsMTA5LDExMSwKKyAgICAxMDAsMTE3LDEwOCwxMDEsMjA4LDUsMCwwLDExNSwyMCwwLDAsMCwwLDIsOSwKKyAgICAxLDE5LDEsMTYsMSwxMCwxLDI0LDEsMTIsMiwxNSwxLDQsMiwyMSwKKyAgICAyLDExNCw1NiwxLDAsMCw5OSwzLDAsMCwwLDAsMCwwLDAsNCwKKyAgICAwLDAsMCw0LDAsMCwwLDY3LDAsMCwwLDExNSwxOTQsMCwwLDAsCisgICAgMTE2LDAsMCwxMjQsMCwwLDExNiwxLDAsMTMxLDIsMCwxMTUsNDUsMCwxMTYsCisgICAgMiwwLDEwMCwxLDAsMTA2LDMsMCwxMTYsNCwwLDEyNCwwLDAsMTMxLDEsCisgICAgMCwxMzEsMSwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEyNCwyLDAsCisgICAgMTAwLDIsMCwxMDcsMCwwLDExNCw3MiwwLDExNiw1LDAsMTAwLDMsMCwxMzEsCisgICAgMSwwLDEzMCwxLDAsMTEwLDAsMCwxMjQsMSwwLDExNCwxNTYsMCwxMTYsMCwKKyAgICAwLDEyNCwxLDAsMTE2LDEsMCwxMzEsMiwwLDExNSwxMDgsMCwxMTYsMiwwLAorICAgIDEwMCw0LDAsMTMxLDEsMCwxMzAsMSwwLDExMywxNTYsMCwxMjQsMSwwLDExNiwKKyAgICA2LDAsMTA2LDcsMCwxMDcsNywwLDExNCwxNTYsMCwxMDAsNSwwLDEyNSwzLAorICAgIDAsMTE2LDgsMCwxMjQsMywwLDEwNiwzLDAsMTI0LDEsMCwxMzEsMSwwLAorICAgIDEzMSwxLDAsMTMwLDEsMCwxMTMsMTU2LDAsMTEwLDAsMCwxMjQsMCwwLDEyLAorICAgIDExNCwxOTAsMCwxMjQsMiwwLDEwMCwyLDAsMTA3LDIsMCwxMTQsMTkwLDAsMTE2LAorICAgIDUsMCwxMDAsNiwwLDEzMSwxLDAsMTMwLDEsMCwxMTAsMCwwLDEwMCw3LAorICAgIDAsODMsNDAsOCwwLDAsMCwxMTcsMjgsMCwwLDAsODYsMTAxLDExNCwxMDUsCisgICAgMTAyLDEyMSwzMiw5NywxMTQsMTAzLDExNywxMDksMTAxLDExMCwxMTYsMTE1LDMyLDk3LDExNCwxMDEsCisgICAgMzIsMzQsMTE1LDk3LDExMCwxMDEsMzQsNDYsMTE3LDMxLDAsMCwwLDEwOSwxMTEsMTAwLAorICAgIDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsCisgICAgMzIsMTE1LDExNiwxMTQsNDQsMzIsMTEwLDExMSwxMTYsMzIsMTIzLDEyNSwxMTQsNzEsMCwwLAorICAgIDAsMTE3LDE4LDAsMCwwLDEwOCwxMDEsMTE4LDEwMSwxMDgsMzIsMTA5LDExNywxMTUsMTE2LAorICAgIDMyLDk4LDEwMSwzMiw2Miw2MSwzMiw0OCwxMTcsMzEsMCwwLDAsOTUsOTUsMTEyLAorICAgIDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDExMCwxMTEsMTE2LDMyLDExNSwxMDEsMTE2LAorICAgIDMyLDExNiwxMTEsMzIsOTcsMzIsMTE1LDExNiwxMTQsMTA1LDExMCwxMDMsMTE3LDYxLDAsMCwKKyAgICAwLDgwLDk3LDExNCwxMDEsMTEwLDExNiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMjMsCisgICAgMzMsMTE0LDEyNSwzMiwxMTAsMTExLDExNiwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTAwLDQ0LDMyLAorICAgIDk5LDk3LDExMCwxMTAsMTExLDExNiwzMiwxMTIsMTAxLDExNCwxMDIsMTExLDExNCwxMDksMzIsMTE0LAorICAgIDEwMSwxMDgsOTcsMTE2LDEwNSwxMTgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDExNywxNywKKyAgICAwLDAsMCw2OSwxMDksMTEyLDExNiwxMjEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsCisgICAgMTEwLDk3LDEwOSwxMDEsNzgsNDAsOSwwLDAsMCwxMTQsMTg3LDAsMCwwLDExNCwKKyAgICAyOSwxLDAsMCwyNDQsOSwwLDAsMCw4NCwxMjEsMTEyLDEwMSw2OSwxMTQsMTE0LAorICAgIDExMSwxMTQsMTE0LDQ2LDAsMCwwLDExNCw2NSwwLDAsMCwxMTQsMTIxLDAsMCwKKyAgICAwLDExNCw3LDAsMCwwLDExNCwxNTIsMCwwLDAsMjQ0LDExLDAsMCwwLAorICAgIDgzLDEyMSwxMTUsMTE2LDEwMSwxMDksNjksMTE0LDExNCwxMTEsMTE0LDQwLDQsMCwwLDAsCisgICAgMTE0LDY2LDAsMCwwLDExNCw1MiwxLDAsMCwxMTQsNTMsMSwwLDAsMTE0LAorICAgIDE3NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwKKyAgICAwLDAsMCwyNDQsMTMsMCwwLDAsOTUsMTE1LDk3LDExMCwxMDUsMTE2LDEyMSw5NSwKKyAgICA5OSwxMDQsMTAxLDk5LDEwNywyMjUsNSwwLDAsMTE1LDI0LDAsMCwwLDAsMiwKKyAgICAxNSwxLDMwLDEsMTIsMSwxNSwxLDYsMSwxNSwxLDE1LDEsMTUsMSwKKyAgICA2LDIsMjcsMSwxOSwxLDExNCw1OSwxLDAsMCwxMTcsMjAsMCwwLDAsCisgICAgNzgsMTExLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDMyLDExMCw5NywxMDksMTAxLDEwMCwzMiwKKyAgICAxMjMsMzMsMTE0LDEyNSw5OSwyLDAsMCwwLDAsMCwwLDAsOSwwLDAsCisgICAgMCwyNywwLDAsMCw2NywwLDAsMCwxMTUsMjEsMiwwLDAsMTAwLDAsCisgICAgMCwxMjUsMiwwLDEyNCwwLDAsMTA2LDAsMCwxMDAsMSwwLDEzMSwxLDAsCisgICAgMTAwLDIsMCwyNSwxMjUsMywwLDEyNCwzLDAsMTE0LDE3OCwwLDEyNCwzLDAsCisgICAgMTE2LDEsMCwxMDYsMiwwLDEwNyw3LDAsMTE0LDYyLDAsMTE2LDMsMCwxMjQsCisgICAgMSwwLDEyNCwzLDAsMTMxLDIsMCwxLDExMCwwLDAsMTI0LDAsMCwxMTYsCisgICAgMSwwLDEwNiwyLDAsMTA3LDYsMCwxMTQsODgsMCwxMTYsMSwwLDEwNiwyLAorICAgIDAsMTI0LDAsMCwyNSw4MywxMTYsMSwwLDEwNiwyLDAsMTI0LDMsMCwyNSwKKyAgICAxMjUsNCwwLDEyMSwxMywwLDEyNCw0LDAsMTA2LDQsMCwxMjUsMiwwLDg3LAorICAgIDExMywxNzgsMCw0LDExNiw1LDAsMTA3LDEwLDAsMTE0LDE3NCwwLDEsMSwxLAorICAgIDExNiw2LDAsMTAwLDMsMCwyMywxMDYsNywwLDEyNCwwLDAsMTI0LDMsMCwKKyAgICAxMzEsMiwwLDEyNSw1LDAsMTE2LDgsMCwxMjQsNSwwLDEwMCw0LDAsMTI0LAorICAgIDAsMCwxMzEsMSwxLDEzMCwxLDAsODksMTEzLDE3OCwwLDg4LDExMCwwLDAsCisgICAgMTE2LDksMCwxMjQsMCwwLDEyNCwyLDAsMTMxLDIsMCwxMjUsNiwwLDEyNCwKKyAgICA2LDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyNTAsMCwxMTYsOCwwLDExNiw2LAorICAgIDAsMTA2LDcsMCwxMjQsMCwwLDEzMSwxLDAsMTAwLDQsMCwxMjQsMCwwLAorICAgIDEzMSwxLDEsMTI1LDcsMCwxMDAsNSwwLDEyNCw3LDAsOTUsMTAsMCwxMjQsCisgICAgNywwLDEzMCwxLDAsMTEwLDQ3LDAsMTI0LDAsMCwxMTYsMSwwLDEwNiwyLAorICAgIDAsMTA3LDcsMCwxMTQsNDEsMSwxMjQsNiwwLDEwNiwxMSwwLDEyNCwwLDAsCisgICAgMTMxLDEsMCwxLDExNiwxMiwwLDEwMCw2LDAsMTI0LDAsMCwxMjQsNiwwLAorICAgIDEzMSwzLDAsMSwxMTAsMCwwLDExNiwxLDAsMTA2LDIsMCwxMjQsMCwwLAorICAgIDI1LDEyNSw4LDAsMTI0LDMsMCwxMTQsMTA1LDEsMTE2LDEsMCwxMDYsMiwwLAorICAgIDEyNCwzLDAsMjUsMTI1LDQsMCwxMTYsMTMsMCwxMjQsNCwwLDEyNCwwLDAsCisgICAgMTA2LDAsMCwxMDAsMSwwLDEzMSwxLDAsMTAwLDcsMCwyNSwxMjQsOCwwLAorICAgIDEzMSwzLDAsMSwxMTAsMCwwLDExNiwxNCwwLDEyNCw4LDAsMTAwLDgsMCwKKyAgICAxMDAsMCwwLDEzMSwzLDAsMTAwLDAsMCwxMDcsOCwwLDExNCwyMTIsMSwxMjEsCisgICAgNTksMCwxMjQsOCwwLDEwNiwxNSwwLDEyNCw4LDAsOTUsMTYsMCwxMTYsMTcsCisgICAgMCwxMjQsOCwwLDEwMCw5LDAsMTMxLDIsMCwxMTUsMTg3LDEsMTI0LDgsMCwKKyAgICAxMDYsMTYsMCwxMDYsMCwwLDEwMCwxLDAsMTMxLDEsMCwxMDAsMiwwLDI1LAorICAgIDEyNCw4LDAsOTUsMTYsMCwxMTAsMCwwLDg3LDExMywyMTIsMSw0LDExNiw1LAorICAgIDAsMTA3LDEwLDAsMTE0LDIwOCwxLDEsMSwxLDg5LDExMywyMTIsMSw4OCwxMTAsCisgICAgMCwwLDExNiwxNCwwLDEyNCw4LDAsMTAwLDEwLDAsMTAwLDAsMCwxMzEsMywKKyAgICAwLDEwMCwwLDAsMTA3LDgsMCwxMTQsMTcsMiwxMjEsMTMsMCwxMjQsNiwwLAorICAgIDEyNCw4LDAsOTUsMTgsMCw4NywxMTMsMTcsMiw0LDExNiw1LDAsMTA3LDEwLAorICAgIDAsMTE0LDEzLDIsMSwxLDEsODksMTEzLDE3LDIsODgsMTEwLDAsMCwxMjQsCisgICAgOCwwLDgzLDQwLDExLDAsMCwwLDc4LDExNCwxMDQsMCwwLDAsMTE0LDcxLAorICAgIDAsMCwwLDExNywyMSwwLDAsMCw1OSwzMiwxMjMsMTI1LDMyLDEwNSwxMTUsMzIsCisgICAgMTEwLDExMSwxMTYsMzIsOTcsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDExNCw2NiwwLAorICAgIDAsMCw4NCwxMTcsMTgsMCwwLDAsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTIzLAorICAgIDMzLDExNCwxMjUsMzIsMzUsMzIsMTIzLDMzLDExNCwxMjUsMTE0LDEwMywwLDAsMCwxMTQsCisgICAgMTQyLDAsMCwwLDExNCwxNDMsMCwwLDAsMTE0LDE0OSwwLDAsMCw0MCwxOSwKKyAgICAwLDAsMCwxMTQsMzIsMCwwLDAsMTE0LDcsMCwwLDAsMTE0LDE1MiwwLAorICAgIDAsMCwxMTQsMTAyLDAsMCwwLDExNCwxNDMsMCwwLDAsMTE0LDE1NSwwLDAsCisgICAgMCwyNDQsOCwwLDAsMCw5NSw2OSw4Miw4Miw5NSw3Nyw4Myw3MSwxMTQsNDYsCisgICAgMCwwLDAsMTE0LDE1NCwwLDAsMCwxMTQsNTYsMSwwLDAsMjQ0LDEwLDAsCisgICAgMCwwLDk1LDExMCwxMTEsMTE2LDk1LDEwMiwxMTEsMTE3LDExMCwxMDAsMTE0LDE5OCwwLDAsCisgICAgMCwxMTQsMTQxLDAsMCwwLDExNCw2MCwwLDAsMCwxMTQsNjEsMCwwLDAsCisgICAgMTE0LDU2LDAsMCwwLDExNCwxNDIsMCwwLDAsMTE0LDU5LDAsMCwwLDExNCwKKyAgICAxNDksMCwwLDAsNDAsOSwwLDAsMCwxMTQsNjYsMCwwLDAsMjQ0LDcsCisgICAgMCwwLDAsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMTE0LDM1LDAsMCwwLDExNCwKKyAgICAyNTMsMCwwLDAsMTE2LDEzLDAsMCwwLDExMiw5NywxMTQsMTAxLDExMCwxMTYsOTUsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE0LDE3NSwwLDAsMCwxMTQsMTczLDAsMCwwLAorICAgIDExNCwyMzYsMCwwLDAsMTE0LDE0NSwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsCisgICAgNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsMjMsMCwwLDAsOTUsMTAyLAorICAgIDEwNSwxMTAsMTAwLDk1LDk3LDExMCwxMDAsOTUsMTA4LDExMSw5NywxMDAsOTUsMTE3LDExMCwxMDgsCisgICAgMTExLDk5LDEwNywxMDEsMTAwLDI0NCw1LDAsMCwxMTUsNzYsMCwwLDAsMCwxLAorICAgIDYsMSwxOSwxLDYsMSwxNSwxLDE2LDIsMTUsMSwxMSwyLDEzLDEsCisgICAgMywxLDEzLDEsMTMsMSwyMiwxLDI2LDEsMTUsMSwxMiwxLDI3LDMsCisgICAgOSwxLDksMSwxNSwyLDEzLDEsMTksMiwxMywxLDYsMiwxMywxLAorICAgIDMyLDIsMjQsMSwzLDEsMTIsMSwxNSwxLDMyLDEsMTMsMSw4LDIsCisgICAgMjQsMSwzLDEsMTMsMSwxMywxLDgsMSwxMTQsNjMsMSwwLDAsOTksCisgICAgMiwwLDAsMCwwLDAsMCwwLDMsMCwwLDAsMTgsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDc1LDAsMCwwLDEyMiwxNiwwLDExNiwwLDAsMTI0LAorICAgIDAsMCwxMzEsMSwwLDEyNSwyLDAsODcsMTAwLDEsMCwxMTYsMSwwLDEwNiwKKyAgICAyLDAsMTMxLDAsMCwxLDg4LDEyNCwyLDAsMTA2LDMsMCwxMzEsMCwwLAorICAgIDEsMTIyLDE3LDAsMTE2LDQsMCwxMjQsMCwwLDEyNCwxLDAsMTMxLDIsMCwKKyAgICA4Myw4NywxMDAsMSwwLDEyNCwyLDAsMTA2LDUsMCwxMzEsMCwwLDEsODgsCisgICAgMTAwLDEsMCw4Myw0MCwyLDAsMCwwLDExNyw1NCwwLDAsMCw3MCwxMDUsCisgICAgMTEwLDEwMCwzMiw5NywxMTAsMTAwLDMyLDEwOCwxMTEsOTcsMTAwLDMyLDExNiwxMDQsMTAxLDMyLAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDQ0LDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMDgsMTAxLAorICAgIDk3LDExNSwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA4LAorICAgIDExMSw5OSwxMDcsNDYsNzgsNDAsNiwwLDAsMCwxMTQsOTYsMCwwLDAsMTE0LAorICAgIDk3LDAsMCwwLDExNCw5OCwwLDAsMCwxMTQsODYsMCwwLDAsMTE0LDYzLAorICAgIDEsMCwwLDExNCw4NywwLDAsMCw0MCwzLDAsMCwwLDExNCw2NiwwLAorICAgIDAsMCwxMTQsNjIsMSwwLDAsMTE0LDczLDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNCwwLDAsMCwKKyAgICA5NSwxMDIsMTA1LDExMCwxMDAsOTUsOTcsMTEwLDEwMCw5NSwxMDgsMTExLDk3LDEwMCwzOCw2LAorICAgIDAsMCwxMTUsMTQsMCwwLDAsMCwyLDMsMSwxNiwyLDExLDEsMTAsCisgICAgMSwzLDEsMTcsMiwxMTQsNjQsMSwwLDAsOTksMywwLDAsMCwwLAorICAgIDAsMCwwLDUsMCwwLDAsNCwwLDAsMCw2NywwLDAsMCwxMTUsCisgICAgMTcyLDAsMCwwLDExNiwwLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsCisgICAgMTMxLDMsMCwxLDEyNCwyLDAsMTAwLDEsMCwxMDcsNCwwLDExNCw0OSwwLAorICAgIDExNiwxLDAsMTI0LDAsMCwxMjQsMSwwLDEyNCwyLDAsMTMxLDMsMCwxMjUsCisgICAgMCwwLDExMCwwLDAsMTE2LDIsMCwxMDYsMywwLDEzMSwwLDAsMSwxMjQsCisgICAgMCwwLDExNiw0LDAsMTA2LDUsMCwxMDcsNywwLDExNCw4NywwLDExNiw2LAorICAgIDAsMTI0LDAsMCwxMTYsNywwLDEzMSwyLDAsODMsMTE2LDQsMCwxMDYsNSwKKyAgICAwLDEyNCwwLDAsMjUsMTI1LDMsMCwxMjQsMywwLDEwMCwyLDAsMTA3LDgsCisgICAgMCwxMTQsMTU4LDAsMTE2LDIsMCwxMDYsOCwwLDEzMSwwLDAsMSwxMDAsMywKKyAgICAwLDEwNiw5LDAsMTI0LDAsMCwxMzEsMSwwLDEyNSw0LDAsMTE2LDEwLDAsCisgICAgMTI0LDQsMCwxMDAsNCwwLDEyNCwwLDAsMTMxLDEsMSwxMzAsMSwwLDExMCwKKyAgICAwLDAsMTE2LDExLDAsMTI0LDAsMCwxMzEsMSwwLDEsMTI0LDMsMCw4MywKKyAgICA0MCw1LDAsMCwwLDExNyw1MCwxLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDMyLDk3LDExMCwxMDAsMzIsMTE0LDEwMSwxMTYsMTE3LDExNCwxMTAsMzIsMTE2LDEwNCwxMDEsMzIsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMzIsOTgsOTcsMTE1LDEwMSwxMDAsMzIsMTExLDExMCwzMiwKKyAgICAxMDUsMTE2LDExNSwzMiwxMTAsOTcsMTA5LDEwMSw0NCwzMiwxMTYsMTA0LDEwMSwzMiwxMTIsOTcsCisgICAgOTksMTA3LDk3LDEwMywxMDEsMzIsMTE2LDEwNCwxMDEsMzIsOTksOTcsMTA4LDEwOCwzMiwxMDUsCisgICAgMTE1LDEwLDMyLDMyLDMyLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDksOTcsMTAwLDEwMSwKKyAgICAzMiwxMDIsMTE0LDExMSwxMDksNDQsMzIsOTcsMTEwLDEwMCwzMiwxMTYsMTA0LDEwMSwzMiwxMDgsCisgICAgMTAxLDExOCwxMDEsMTA4LDMyLDk3LDEwMCwxMDYsMTE3LDExNSwxMTYsMTA5LDEwMSwxMTAsMTE2LDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwMiwxMTcsMTEwLDk5LDExNiwKKyAgICAxMDUsMTExLDExMCwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsMzIsMTE2LAorICAgIDEwNCwxMDEsMzIsMTAzLDExNCwxMDEsOTcsMTE2LDEwMSwxMTUsMTE2LDMyLDk5LDExMSwxMDksMTA5LAorICAgIDExMSwxMTAsMzIsMTAwLDEwMSwxMTAsMTExLDEwOSwxMDUsMTEwLDk3LDExNiwxMTEsMTE0LDMyLDExMSwKKyAgICAxMDIsMzIsMTAyLDExNywxMTAsOTksMTE2LDEwNSwxMTEsMTEwLDk3LDEwOCwxMDUsMTE2LDEyMSwxMCwKKyAgICAzMiwzMiwzMiwzMiw5OCwxMDEsMTE2LDExOSwxMDEsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsCisgICAgMTE0LDExNiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiw5NywxMTAsMTAwLDMyLDk1LDk1LAorICAgIDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDk1LDk1LDQ2LDMyLDg0LDEwNCwxMDUsMTE1LDMyLDEwNSwKKyAgICAxMTAsOTksMTA4LDExNywxMDAsMTAxLDExNSwzMiwxMTUsMTAxLDExNiwxMTYsMTA1LDExMCwxMDMsMzIsCisgICAgOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDEwNSwxMDIsMTAsMzIsCisgICAgMzIsMzIsMzIsMTE2LDEwNCwxMDEsMzIsMTA4LDExMSw5NywxMDAsMTAxLDExNCwzMiwxMDAsMTA1LAorICAgIDEwMCwzMiwxMTAsMTExLDExNiw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsNzEsMCwwLAorICAgIDAsNzgsMTE3LDQwLDAsMCwwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDExMSwxMDIsCisgICAgMzIsMTIzLDEyNSwzMiwxMDQsOTcsMTA4LDExNiwxMDEsMTAwLDU5LDMyLDc4LDExMSwxMTAsMTAxLAorICAgIDMyLDEwNSwxMTAsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDExNCwKKyAgICA2NiwwLDAsMCw0MCwxMiwwLDAsMCwxMTQsNTksMSwwLDAsMTE0LDU0LAorICAgIDEsMCwwLDExNCw5NywwLDAsMCwxMTQsNDksMSwwLDAsMTE0LDcsMCwKKyAgICAwLDAsMTE0LDE1MiwwLDAsMCwxMTQsNjQsMSwwLDAsMjQ0LDExLDAsMCwKKyAgICAwLDk1LDEwMyw5OSwxMDAsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE0LDk4LDAsMCwKKyAgICAwLDExNCw0NiwwLDAsMCwxMTQsMTU0LDAsMCwwLDExNCw5OSwwLDAsMCwKKyAgICA0MCw1LDAsMCwwLDExNCw2NiwwLDAsMCwxMTQsNTIsMSwwLDAsMTE0LAorICAgIDUzLDEsMCwwLDExNCwxNDUsMCwwLDAsMTE0LDE0MCwwLDAsMCwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwxMTQsNjUsMSwKKyAgICAwLDAsNTEsNiwwLDAsMTE1LDI2LDAsMCwwLDAsOSwxNiwxLDEyLAorICAgIDEsMjEsMSwxMCwxLDE1LDEsMTMsMSwxMywxLDEyLDEsMTAsMiwxNSwKKyAgICAxLDIxLDEsMTAsMSwxMTQsNjUsMSwwLDAsOTksMywwLDAsMCwwLAorICAgIDAsMCwwLDYsMCwwLDAsMTcsMCwwLDAsNjcsMCwwLDAsMTE1LAorICAgIDI1NCwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTAwLDEsMCwxMzEsMiwwLAorICAgIDExNCwyNTAsMCwxMDAsMiwwLDEyNCwxLDAsMTA3LDYsMCwxMTQsODksMCwxMTYsCisgICAgMSwwLDEyNCwxLDAsMTMxLDEsMCwxMjUsMSwwLDEyNCwxLDAsMTA2LDIsCisgICAgMCwxMDAsMiwwLDEzMSwxLDAsMSwxMTYsMCwwLDEyNCwwLDAsMTAwLDMsCisgICAgMCwxMzEsMiwwLDExNCw4OSwwLDEyNCwxLDAsMTA2LDMsMCwxMjQsMCwwLAorICAgIDEwNiw0LDAsMTMxLDEsMCwxLDExMyw4OSwwLDExMCwwLDAsMTIwLDE1OCwwLAorICAgIDEyNCwxLDAsNjgsOTMsMTQ3LDAsMTI1LDMsMCwxMTYsMCwwLDEyNCwwLDAsCisgICAgMTI0LDMsMCwxMzEsMiwwLDExNSw5NiwwLDEwMCw0LDAsMTA2LDUsMCwxMjQsCisgICAgMCwwLDEwNiw2LDAsMTI0LDMsMCwxMzEsMiwwLDEyNSw0LDAsMTIxLDE3LAorICAgIDAsMTE2LDcsMCwxMjQsMiwwLDEyNCw0LDAsMTMxLDIsMCwxLDg3LDExMywKKyAgICAyNDMsMCw0LDExNiw4LDAsMTA3LDEwLDAsMTE0LDIzOSwwLDEsMTI1LDUsMCwKKyAgICAxLDEyMiw1MCwwLDExNiw5LDAsMTI0LDUsMCwxMDAsNSwwLDEwMCw2LDAsCisgICAgMTMxLDMsMCwxMTQsMjE4LDAsMTI0LDUsMCwxMDYsMTAsMCwxMjQsNCwwLDEwNywKKyAgICAyLDAsMTE0LDIxOCwwLDExOSw5NiwwLDExMywyMTgsMCwxMTAsMCwwLDEzMCwwLAorICAgIDAsODcsODksMTAwLDcsMCwxMDAsNywwLDEyNSw1LDAsMTI2LDUsMCw4OCwKKyAgICAxMTMsMjQzLDAsODgsMTEzLDk2LDAsMTEzLDk2LDAsODcsMTEwLDAsMCwxMjQsMCwKKyAgICAwLDgzLDQwLDgsMCwwLDAsMTE3LDIzOCwwLDAsMCw3MCwxMDUsMTAzLDExNywKKyAgICAxMTQsMTAxLDMyLDExMSwxMTcsMTE2LDMyLDExOSwxMDQsOTcsMTE2LDMyLDk1LDk1LDEwNSwxMDksCisgICAgMTEyLDExMSwxMTQsMTE2LDk1LDk1LDMyLDExNSwxMDQsMTExLDExNywxMDgsMTAwLDMyLDExNCwxMDEsCisgICAgMTE2LDExNywxMTQsMTEwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDg0LDEwNCwxMDEsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsOTUsMzIsMTEyLDk3LDExNCw5NywxMDksMTAxLDExNiwxMDEsMTE0LAorICAgIDMyLDEwNSwxMTUsMzIsOTcsMzIsOTksOTcsMTA4LDEwOCw5Nyw5OCwxMDgsMTAxLDMyLDExOSwKKyAgICAxMDQsMTA1LDk5LDEwNCwzMiwxMTYsOTcsMTA3LDEwMSwxMTUsMzIsMTE2LDEwNCwxMDEsMzIsMTEwLAorICAgIDk3LDEwOSwxMDEsMzIsMTExLDEwMiwzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMTYsMTExLAorICAgIDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDMyLDczLDExNiwzMiwKKyAgICAxMDUsMTE1LDMyLDExNCwxMDEsMTEzLDExNywxMDUsMTE0LDEwMSwxMDAsMzIsMTE2LDExMSwzMiwxMDAsCisgICAgMTAxLDk5LDExMSwxMTcsMTEyLDEwOCwxMDEsMzIsMTE2LDEwNCwxMDEsMzIsMTAyLDExNywxMTAsOTksCisgICAgMTE2LDEwNSwxMTEsMTEwLDMyLDEwMiwxMTQsMTExLDEwOSwzMiw5NywxMTUsMTE1LDExNywxMDksMTA1LAorICAgIDExMCwxMDMsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzOSwxMTUsMTAsMzIsCisgICAgMzIsMzIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsMTA1LDEwOSwxMTIsMTA4LDEwMSwxMDksCisgICAgMTAxLDExMCwxMTYsOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDEwNSwxMTUsMzIsMTAwLDEwMSwxMTUsMTA1LAorICAgIDExNCwxMDEsMTAwLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCwxNDMsMCwwLDAsMjQ1LAorICAgIDEsMCwwLDAsNDIsMjQ0LDcsMCwwLDAsOTUsOTUsOTcsMTA4LDEwOCw5NSwKKyAgICA5NSwxMTcsNSwwLDAsMCwxMjMsMTI1LDQ2LDEyMywxMjUsMTE0LDYxLDEsMCwwLAorICAgIDcwLDc4LDQwLDExLDAsMCwwLDExNCw1OSwwLDAsMCwyNDQsNCwwLDAsCisgICAgMCwxMDgsMTA1LDExNSwxMTYsMjQ0LDYsMCwwLDAsMTE0LDEwMSwxMDksMTExLDExOCwxMDEsCisgICAgMTE0LDE5MiwwLDAsMCwxMTQsNjcsMSwwLDAsMTE0LDQ2LDAsMCwwLDExNCwKKyAgICA1NiwwLDAsMCwxMTQsMTAyLDAsMCwwLDExNCwxNTQsMCwwLDAsMTE0LDYxLAorICAgIDAsMCwwLDExNCw2NiwwLDAsMCw0MCw2LDAsMCwwLDExNCwxNDUsMCwKKyAgICAwLDAsMjQ0LDgsMCwwLDAsMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwxMTQsCisgICAgNjIsMSwwLDAsMTE0LDE2LDAsMCwwLDExNiw5LDAsMCwwLDEwMiwxMTQsCisgICAgMTExLDEwOSw5NSwxMTAsOTcsMTA5LDEwMSwxMTQsMjM2LDAsMCwwLDExNCw0LDAsMCwKKyAgICAwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCwxNiwwLDAsMCwKKyAgICA5NSwxMDQsOTcsMTEwLDEwMCwxMDgsMTAxLDk1LDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsCisgICAgNzUsNiwwLDAsMTE1LDM0LDAsMCwwLDAsMTAsMTUsMSwxMiwxLDEyLAorICAgIDEsMTMsMSwxNSwxLDIyLDEsMTMsMSwxNSwxLDIxLDEsMywxLDE3LAorICAgIDEsMTgsNiwxOCwxLDE1LDEsOSwxLDMyLDEsMTE0LDcxLDEsMCwwLAorICAgIDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwwLDIsMCwwLAorICAgIDAsNjcsMCwwLDAsMTE1LDc4LDAsMCwwLDEyNCwwLDAsMTA2LDAsMCwKKyAgICAxMDAsMSwwLDEzMSwxLDAsMTI1LDEsMCwxMjQsMSwwLDEwMCwyLDAsMTA3LAorICAgIDgsMCwxMTQsNzQsMCwxMjQsMCwwLDEwMCwzLDAsMjUsMTI1LDEsMCwxMDAsCisgICAgNCwwLDEyNCwwLDAsMTA3LDcsMCwxMTQsNzQsMCwxMjQsMSwwLDEwNiwxLAorICAgIDAsMTAwLDUsMCwxMzEsMSwwLDEwMCw2LDAsMjUsMTI1LDEsMCwxMTMsNzQsCisgICAgMCwxMTAsMCwwLDEyNCwxLDAsODMsNDAsNywwLDAsMCwxMTcsMTY3LDAsCisgICAgMCwwLDY3LDk3LDEwOCw5OSwxMTcsMTA4LDk3LDExNiwxMDEsMzIsMTE5LDEwNCw5NywxMTYsCisgICAgMzIsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDMyLDExNSwxMDQsMTExLAorICAgIDExNywxMDgsMTAwLDMyLDk4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw5NSw5NSwxMTIsCisgICAgOTcsOTksMTA3LDk3LDEwMywxMDEsOTUsOTUsMzIsMTA1LDExNSwzMiwxMTAsMTExLDExNiwzMiwKKyAgICAxMDMsMTE3LDk3LDExNCw5NywxMTAsMTE2LDEwMSwxMDEsMTAwLDMyLDExNiwxMTEsMzIsOTgsMTAxLAorICAgIDMyLDEwMCwxMDEsMTAyLDEwNSwxMTAsMTAxLDEwMCwzMiwxMTEsMTE0LDMyLDk5LDExMSwxMTcsMTA4LAorICAgIDEwMCwzMiw5OCwxMDEsMzIsMTE1LDEwMSwxMTYsMzIsMTE2LDExMSwzMiw3OCwxMTEsMTEwLDEwMSwKKyAgICAxMCwzMiwzMiwzMiwzMiwxMTYsMTExLDMyLDExNCwxMDEsMTEyLDExNCwxMDEsMTE1LDEwMSwxMTAsCisgICAgMTE2LDMyLDExNiwxMDQsOTcsMTE2LDMyLDEwNSwxMTYsMTE1LDMyLDExMiwxMTQsMTExLDExMiwxMDEsCisgICAgMTE0LDMyLDExOCw5NywxMDgsMTE3LDEwMSwzMiwxMDUsMTE1LDMyLDExNywxMTAsMTA3LDExMCwxMTEsCisgICAgMTE5LDExMCw0NiwxMCwxMCwzMiwzMiwzMiwzMiwxMTQsMTQyLDAsMCwwLDc4LDExNCwKKyAgICA1NiwwLDAsMCwxMTQsMTQzLDAsMCwwLDExNCwxMDQsMCwwLDAsMTE0LDcxLAorICAgIDAsMCwwLDQwLDIsMCwwLDAsMTE0LDgyLDAsMCwwLDExNCwzMiwwLAorICAgIDAsMCw0MCwyLDAsMCwwLDI0NCw3LDAsMCwwLDEwMywxMDgsMTExLDk4LAorICAgIDk3LDEwOCwxMTUsMTE0LDUyLDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw1LDAsMCwwLDI0NCwxNywwLDAsMCw5NSw5OSw5NywxMDgsCisgICAgOTksOTUsOTUsOTUsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDk1LDk1LDEwOSw2LDAsCisgICAgMCwxMTUsMTIsMCwwLDAsMCw3LDE1LDEsMTIsMSwxMCwxLDEyLDEsCisgICAgMjUsMSwxMTQsNzMsMSwwLDAsOTksMCwwLDAsMCwwLDAsMCwwLAorICAgIDMsMCwwLDAsMywwLDAsMCw2NywwLDAsMCwxMTUsNTUsMCwwLAorICAgIDAsMTE2LDAsMCwxMTYsMSwwLDEwNiwyLDAsMTMxLDAsMCwxMDIsMiwwLAorICAgIDEyNSwwLDAsMTE2LDMsMCwxMTYsNCwwLDEwMiwyLDAsMTI1LDEsMCwxMTYsCisgICAgNSwwLDExNiw2LDAsMTAyLDIsMCwxMjUsMiwwLDEyNCwwLDAsMTI0LDEsCisgICAgMCwxMjQsMiwwLDEwMywzLDAsODMsNDAsMSwwLDAsMCwxMTcsMTExLDAsCisgICAgMCwwLDgyLDEwMSwxMTYsMTE3LDExNCwxMTAsMTE1LDMyLDk3LDMyLDEwOCwxMDUsMTE1LDExNiwKKyAgICAzMiwxMTEsMTAyLDMyLDEwMiwxMDUsMTA4LDEwMSw0NSw5OCw5NywxMTUsMTAxLDEwMCwzMiwxMDksCisgICAgMTExLDEwMCwxMTcsMTA4LDEwMSwzMiwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSw0NiwxMCwxMCwKKyAgICAzMiwzMiwzMiwzMiw2OSw5Nyw5OSwxMDQsMzIsMTA1LDExNiwxMDEsMTA5LDMyLDEwNSwxMTUsCisgICAgMzIsOTcsMzIsMTE2LDExNywxMTIsMTA4LDEwMSwzMiw0MCwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LAorICAgIDQ0LDMyLDExNSwxMTcsMTAyLDEwMiwxMDUsMTIwLDEwMSwxMTUsNDQsMzIsOTcsMTA4LDEwOCwxMTEsCisgICAgMTE5LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSwxMTUsNDEsNDYsMTAsMzIsMzIsMzIsCisgICAgMzIsNDAsNywwLDAsMCwxMTQsMjU1LDAsMCwwLDExNCw5NywwLDAsMCwKKyAgICAyNDQsMTgsMCwwLDAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsOTUsMTE1LAorICAgIDExNywxMDIsMTAyLDEwNSwxMjAsMTAxLDExNSwxMTQsMjQ4LDAsMCwwLDExNCwxMjIsMCwwLAorICAgIDAsMTE0LDI1NCwwLDAsMCwyNDQsMTcsMCwwLDAsNjYsODksODQsNjksNjcsCisgICAgNzksNjgsNjksOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsNDAsMywwLDAsCisgICAgMCwxMTYsMTAsMCwwLDAsMTAxLDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsMTE1LAorICAgIDExNiw2LDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTE2LDgsMCwwLDAsCisgICAgOTgsMTIxLDExNiwxMDEsOTksMTExLDEwMCwxMDEsMTE0LDQsMCwwLDAsMTE0LDQsMCwKKyAgICAwLDAsMTE0LDUsMCwwLDAsMTE0LDIxNSwwLDAsMCwxMjQsNiwwLDAsCisgICAgMTE1LDgsMCwwLDAsMCw1LDE4LDEsMTIsMSwxMiwxLDExNCwyMTUsMCwKKyAgICAwLDAsOTksNSwwLDAsMCwwLDAsMCwwLDksMCwwLDAsNSwKKyAgICAwLDAsMCw2NywwLDAsMCwxMTUsMjI3LDAsMCwwLDEyNCw0LDAsMTAwLAorICAgIDEsMCwxMDcsMiwwLDExNCwyNywwLDExNiwwLDAsMTI0LDAsMCwxMzEsMSwKKyAgICAwLDEyNSw1LDAsMTEwLDU0LDAsMTI0LDEsMCwxMDAsMiwwLDEwNyw5LDAsCisgICAgMTE0LDQ1LDAsMTI0LDEsMCwxMTAsMywwLDEwNSwwLDAsMTI1LDYsMCwxMTYsCisgICAgMSwwLDEyNCw2LDAsMTMxLDEsMCwxMjUsNywwLDExNiwwLDAsMTI0LDAsCisgICAgMCwxMjQsNywwLDEyNCw0LDAsMTMxLDMsMCwxMjUsNSwwLDEyNCwzLDAsCisgICAgMTE1LDIwNywwLDEyNCw0LDAsMTAwLDEsMCwxMDcsMiwwLDExNCwxMjIsMCwxMTYsCisgICAgMCwwLDEyNCwwLDAsMTA2LDIsMCwxMDAsMywwLDEzMSwxLDAsMTAwLDEsCisgICAgMCwyNSwxMzEsMSwwLDgzLDEyNCwwLDAsMTE1LDEzMiwwLDEyNCw1LDAsODMsCisgICAgMTE2LDMsMCwxMjQsMCwwLDEzMSwxLDAsMTE2LDMsMCwxMjQsMCwwLDEwNiwKKyAgICAyLDAsMTAwLDMsMCwxMzEsMSwwLDEwMCwxLDAsMjUsMTMxLDEsMCwyNCwKKyAgICAxMjUsOCwwLDExNiw0LDAsMTA2LDUsMCwxMjQsNSwwLDEwNiw2LDAsMTAwLAorICAgIDIsMCwxMTYsMywwLDEyNCw1LDAsMTA2LDYsMCwxMzEsMSwwLDEyNCw4LAorICAgIDAsMjQsMTMzLDIsMCwyNSwyNSw4MywxMTAsMTYsMCwxMTYsNywwLDEyNCw1LAorICAgIDAsMTI0LDMsMCwxMTYsMCwwLDEzMSwzLDAsODMsMTAwLDIsMCw4Myw0MCwKKyAgICA0LDAsMCwwLDExNywyMTQsMSwwLDAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwzMiwKKyAgICA5NywzMiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw4NCwKKyAgICAxMDQsMTAxLDMyLDM5LDEwMywxMDgsMTExLDk4LDk3LDEwOCwxMTUsMzksMzIsOTcsMTE0LDEwMywKKyAgICAxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDEwNSwxMTUsMzIsMTE3LDExNSwxMDEsMTAwLDMyLDExNiwxMTEsCisgICAgMzIsMTA1LDExMCwxMDIsMTAxLDExNCwzMiwxMTksMTA0LDEwMSwxMTQsMTAxLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwNSwxMTUsMzIsMTExLDk5LDk5LDExNywxMTQsCisgICAgMTA1LDExMCwxMDMsMzIsMTAyLDExNCwxMTEsMTA5LDEwLDMyLDMyLDMyLDMyLDExNiwxMTEsMzIsCisgICAgMTA0LDk3LDExMCwxMDAsMTA4LDEwMSwzMiwxMTQsMTAxLDEwOCw5NywxMTYsMTA1LDExOCwxMDEsMzIsCisgICAgMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTE1LDQ2LDMyLDg0LDEwNCwxMDEsMzIsMzksMTA4LDExMSwKKyAgICA5OSw5NywxMDgsMTE1LDM5LDMyLDk3LDExNCwxMDMsMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMDUsCisgICAgMTE1LDMyLDEwNSwxMDMsMTEwLDExMSwxMTQsMTAxLDEwMCw0NiwzMiw4NCwxMDQsMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDM5LDEwMiwxMTQsMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsMzksMzIsOTcsMTE0LAorICAgIDEwMywxMTcsMTA5LDEwMSwxMTAsMTE2LDMyLDExNSwxMTIsMTAxLDk5LDEwNSwxMDIsMTA1LDEwMSwxMTUsCisgICAgMzIsMTE5LDEwNCw5NywxMTYsMzIsMTE1LDEwNCwxMTEsMTE3LDEwOCwxMDAsMzIsMTAxLDEyMCwxMDUsCisgICAgMTE1LDExNiwzMiw5NywxMTUsMzIsOTcsMTE2LDExNiwxMTQsMTA1LDk4LDExNywxMTYsMTAxLDExNSwKKyAgICAzMiwxMTEsMTEwLDMyLDExNiwxMDQsMTAxLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDEwLDMyLAorICAgIDMyLDMyLDMyLDk4LDEwMSwxMDUsMTEwLDEwMywzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsCisgICAgMTAwLDMyLDQwLDEwMSw0NiwxMDMsNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDEwOSwKKyAgICAxMTEsMTAwLDExNywxMDgsMTAxLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDYwLDEwMiwxMTQsCisgICAgMTExLDEwOSwxMDgsMTA1LDExNSwxMTYsNjIsOTYsOTYsNDEsNDYsMzIsMzIsODQsMTA0LDEwMSwKKyAgICAzMiwzOSwxMDgsMTAxLDExOCwxMDEsMTA4LDM5LDEwLDMyLDMyLDMyLDMyLDk3LDExNCwxMDMsCisgICAgMTE3LDEwOSwxMDEsMTEwLDExNiwzMiwxMTQsMTAxLDExMiwxMTQsMTAxLDExNSwxMDEsMTEwLDExNiwxMTUsCisgICAgMzIsMTE2LDEwNCwxMDEsMzIsMTEyLDk3LDk5LDEwNyw5NywxMDMsMTAxLDMyLDEwOCwxMTEsOTksCisgICAgOTcsMTE2LDEwNSwxMTEsMTEwLDMyLDExNiwxMTEsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMzIsCisgICAgMTAyLDExNCwxMTEsMTA5LDMyLDEwNSwxMTAsMzIsOTcsMzIsMTE0LDEwMSwxMDgsOTcsMTE2LDEwNSwKKyAgICAxMTgsMTAxLDEwLDMyLDMyLDMyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDQwLDEwMSwKKyAgICA0NiwxMDMsNDYsMzIsOTYsOTYsMTAyLDExNCwxMTEsMTA5LDMyLDQ2LDQ2LDExMiwxMDcsMTAzLAorICAgIDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDMyLDEwOSwxMTEsMTAwLDk2LDk2LDMyLDExOSwxMTEsCisgICAgMTE3LDEwOCwxMDAsMzIsMTA0LDk3LDExOCwxMDEsMzIsOTcsMzIsMzksMTA4LDEwMSwxMTgsMTAxLAorICAgIDEwOCwzOSwzMiwxMTEsMTAyLDMyLDUwLDQxLDQ2LDEwLDEwLDMyLDMyLDMyLDMyLDExNCwKKyAgICA3MSwwLDAsMCw3OCwxMTQsMTA0LDAsMCwwLDQwLDgsMCwwLDAsMTE0LAorICAgIDY1LDEsMCwwLDExNCw3MywxLDAsMCwxMTQsMTA5LDAsMCwwLDExNCwzMSwKKyAgICAwLDAsMCwxMTQsNywwLDAsMCwxMTQsMTUyLDAsMCwwLDExNCw1NiwwLAorICAgIDAsMCwxMTQsNzEsMSwwLDAsNDAsOSwwLDAsMCwxMTQsNjYsMCwwLAorICAgIDAsMTE0LDcyLDEsMCwwLDI0NCw2LDAsMCwwLDEwOCwxMTEsOTksOTcsMTA4LAorICAgIDExNSwxMTQsNzAsMSwwLDAsMTE0LDUzLDEsMCwwLDExNCwxNDUsMCwwLDAsCisgICAgMTE2LDgsMCwwLDAsMTAzLDEwOCwxMTEsOTgsOTcsMTA4LDExNSw5NSwxMTQsNTIsMSwKKyAgICAwLDAsMTE2LDcsMCwwLDAsOTksMTE3LDExNiw5NSwxMTEsMTAyLDEwMiwxMTQsNCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLDAsMCwyNDQsMTAsMCwKKyAgICAwLDAsOTUsOTUsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsOTUsOTUsMTM1LDYsMCwwLAorICAgIDExNSwyNiwwLDAsMCwwLDExLDEyLDEsMTUsMiwyNCwxLDEyLDEsMTgsCisgICAgMSw2LDMsMTIsMSwyMywxLDYsMSw0LDQsMzUsMyw0MCwyLDExNCwKKyAgICA3NywxLDAsMCw5OSwyLDAsMCwwLDAsMCwwLDAsMTYsMCwwLAorICAgIDAsMTMsMCwwLDAsNjcsMCwwLDAsMTE1LDIyOCwyLDAsMCwxMjQsMSwKKyAgICAwLDk3LDAsMCwxMjQsMCwwLDk3LDEsMCwxMTYsMSwwLDEwNiwyLDAsCisgICAgMTA2LDMsMCwxMTQsMzMsMCwxMTYsNCwwLDk3LDUsMCwxMTAsNiwwLDExNiwKKyAgICA2LDAsOTcsNSwwLDExNiw3LDAsMTE2LDEsMCwxMzEsMSwwLDEyNSwyLAorICAgIDAsMTIwLDExOSwwLDExNiwxLDAsMTA2LDgsMCwxMDYsOSwwLDEzMSwwLDAsCisgICAgNjgsOTMsMTAyLDAsOTIsMiwwLDEyNSwzLDAsMTI1LDQsMCwxMTYsMTAsMCwKKyAgICAxMjQsNCwwLDEyNCwyLDAsMTMxLDIsMCwxMTQsNjcsMCwxMTYsMTEsMCwxMjQsCisgICAgNCwwLDEwMCwxLDAsMTMxLDIsMCwxMTUsMTY5LDAsMTI0LDMsMCwxMTYsMSwKKyAgICAwLDEwNiwxMiwwLDEwNyw2LDAsMTE0LDEzNiwwLDExNiwxMywwLDEyNCw0LDAsCisgICAgOTUsMTQsMCwxMTMsMTY2LDAsMTE2LDAsMCwxMDYsMTUsMCwxMjQsMywwLDEzMSwKKyAgICAxLDAsMTE0LDE2NiwwLDExNiwxNiwwLDEyNCw0LDAsOTUsMTQsMCwxMTMsMTY2LAorICAgIDAsMTEzLDE2OSwwLDExMyw2NywwLDExMyw2NywwLDg3LDExNiwxLDAsMTA2LDgsCisgICAgMCwxMTYsMTcsMCwyNSwxMjUsNSwwLDEyMCw3NiwwLDEwMCwyNywwLDY4LDkzLAorICAgIDY4LDAsMTI1LDYsMCwxMjQsNiwwLDExNiwxLDAsMTA2LDgsMCwxMDcsNywKKyAgICAwLDExNCwyMzIsMCwxMTYsMTMsMCwxMDYsMTgsMCwxMjQsNiwwLDEzMSwxLDAsCisgICAgMTI1LDcsMCwxMTAsMTMsMCwxMTYsMSwwLDEwNiw4LDAsMTI0LDYsMCwyNSwKKyAgICAxMjUsNywwLDExNiwxOSwwLDEyNCw1LDAsMTI0LDYsMCwxMjQsNywwLDEzMSwKKyAgICAzLDAsMSwxMTMsMTkzLDAsODcsMTAwLDYsMCwxMDAsNywwLDEwMywxLDAsCisgICAgMTAyLDIsMCwxMDAsOCwwLDEwMCw5LDAsMTAwLDcsMCwxMDMsMiwwLDEwMiwKKyAgICAyLDAsMTAyLDIsMCwxMjUsOCwwLDEyMCwxNDksMCwxMjQsOCwwLDY4LDkzLAorICAgIDEyOSwwLDkyLDIsMCwxMjUsOSwwLDEyNSwxMCwwLDExNiwyMCwwLDEwMCwxMCwKKyAgICAwLDEwMCwxMSwwLDEzMiwwLDAsMTI0LDEwLDAsNjgsMTMxLDEsMCwxMzEsMSwKKyAgICAwLDExNSw5MiwxLDExNiwyMSwwLDEzMCwxLDAsMTI0LDEwLDAsMTAwLDEyLDAsCisgICAgMjUsMTI1LDExLDAsMTI0LDksMCwxMTYsMSwwLDEwNiw4LDAsMTA3LDYsMCwKKyAgICAxMTQsMTM0LDEsMTE2LDEsMCwxMDYsOCwwLDEyNCw5LDAsMjUsMTI1LDEyLDAsCisgICAgODAsMTEzLDQ5LDEsMTIxLDIwLDAsMTE2LDEzLDAsMTA2LDE4LDAsMTI0LDksMCwKKyAgICAxMzEsMSwwLDEyNSwxMiwwLDgwLDg3LDExMyw0OSwxLDQsMTE2LDIyLDAsMTA3LAorICAgIDEwLDAsMTE0LDE3NywxLDEsMSwxLDExOSw0OSwxLDg5LDExMyw0OSwxLDg4LAorICAgIDExMyw0OSwxLDg3LDExNiwyMiwwLDEwMCwxMywwLDEzMSwxLDAsMTMwLDEsMCwKKyAgICAxMjEsMTksMCwxMTYsMTMsMCwxMDYsMTgsMCwxMDAsMTQsMCwxMzEsMSwwLDEyNSwKKyAgICAxMywwLDg3LDExMCwyNCwwLDQsMTE2LDIyLDAsMTA3LDEwLDAsMTE0LDIzOSwxLAorICAgIDEsMSwxLDEwMCwxNSwwLDEyNSwxMywwLDg5LDExMCwxLDAsODgsMTE2LDEzLAorICAgIDAsMTA2LDE4LDAsMTAwLDE2LDAsMTMxLDEsMCwxMjUsMTQsMCwxMjQsOSwwLAorICAgIDEwMCw4LDAsMTA3LDIsMCwxMTQsNDUsMiwxMTYsMTMsMCwxMDYsMTgsMCwxMDAsCisgICAgMTcsMCwxMzEsMSwwLDEyNSwxNSwwLDExNiwxOSwwLDEyNCw1LDAsMTAwLDE4LAogICAgIDAsMTI0LDE1LDAsMTMxLDMsMCwxLDExMCwwLDAsMTE2LDE5LDAsMTI0LDUsCi0gICAgMCwxMDAsMjEsMCwxMjQsMTIsMCwxMzEsMywwLDEsMTE2LDE5LDAsMTI0LDUsCi0gICAgMCwxMDAsMTcsMCwxMjQsMTMsMCwxMzEsMywwLDEsMTE2LDE5LDAsMTI0LDUsCi0gICAgMCwxMDAsMTgsMCwxMjQsMTQsMCwxMzEsMywwLDEsMTE2LDE5LDAsMTI0LDUsCi0gICAgMCwxMDAsMjIsMCwxMjQsMTEsMCwxMzEsMywwLDEsMTE2LDE5LDAsMTI0LDUsCi0gICAgMCwxMDAsMjMsMCwxMTYsMjUsMCwxMjQsMTAsMCwxMzEsMSwwLDEzMSwzLDAsCi0gICAgMSwxMTYsMTksMCwxMjQsNSwwLDEwMCwyNCwwLDExNiwyNiwwLDEzMSwwLDAsCi0gICAgMTMxLDMsMCwxLDExNiwyNywwLDEwNiwyOCwwLDExNiwwLDAsMTA2LDI5LDAsCi0gICAgMTMxLDAsMCwxMzEsMSwwLDEsMTI0LDksMCwxMDAsOCwwLDEwNywyLDAsCi0gICAgMTE0LDIwLDMsMTE2LDMwLDAsMTA2LDMxLDAsMTAwLDI1LDAsMTMxLDEsMCwxLAotICAgIDEwMCwyNiwwLDExNiwyNywwLDEwNyw2LDAsMTE0LDIwLDMsMTAwLDI5LDAsMTE2LAotICAgIDMzLDAsOTUsMzQsMCwxMTMsMjAsMywxMTAsMCwwLDEwMCwyNywwLDgzLDQwLAotICAgIDMwLDAsMCwwLDExNywyNTAsMCwwLDAsODMsMTAxLDExNiwxMTcsMTEyLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTgsMTIxLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwNSwxMTAsMTAzLDMyLDExMCwxMDEsMTAxLDEwMCwxMDEsMTAwLDMyLDk4LDExNywxMDUsCi0gICAgMTA4LDExNiw0NSwxMDUsMTEwLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiw5NywxMTAsCi0gICAgMTAwLDMyLDEwNSwxMTAsMTA2LDEwMSw5OSwxMTYsMTA1LDExMCwxMDMsMzIsMTE2LDEwNCwxMDEsMTA5LAotICAgIDEwLDMyLDMyLDMyLDMyLDEwNSwxMTAsMTE2LDExMSwzMiwxMTYsMTA0LDEwMSwzMiwxMDMsMTA4LAotICAgIDExMSw5OCw5NywxMDgsMzIsMTEwLDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNDYsMTAsCi0gICAgMTAsMzIsMzIsMzIsMzIsNjUsMTE1LDMyLDExNSwxMjEsMTE1LDMyLDEwNSwxMTUsMzIsMTEwLAotICAgIDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsMTAyLDExMSwxMTQsMzIsMTE1LDEyMSwxMTUsNDYsMTA5LDExMSwKLSAgICAxMDAsMTE3LDEwOCwxMDEsMTE1LDMyLDk3LDk5LDk5LDEwMSwxMTUsMTE1LDMyLDk3LDExMCwxMDAsCi0gICAgMzIsOTUsMTA1LDEwOSwxMTIsMzIsMTA1LDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwKLSAgICAxMTYsMTExLDMyLDEwOCwxMTEsOTcsMTAwLDMyLDk4LDExNywxMDUsMTA4LDExNiw0NSwxMDUsMTEwLAotICAgIDEwLDMyLDMyLDMyLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSw0NCwzMiwxMTYsMTA0LAotICAgIDExMSwxMTUsMTAxLDMyLDExNiwxMTksMTExLDMyLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNSwzMiwKLSAgICAxMDksMTE3LDExNSwxMTYsMzIsOTgsMTAxLDMyLDEwMSwxMjAsMTEyLDEwOCwxMDUsOTksMTA1LDExNiwKLSAgICAxMDgsMTIxLDMyLDExMiw5NywxMTUsMTE1LDEwMSwxMDAsMzIsMTA1LDExMCw0NiwxMCwxMCwzMiwKLSAgICAzMiwzMiwzMiwxMTcsMTAsMCwwLDAsOTUsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCwKLSAgICA5NSw5NSwxMTcsMywwLDAsMCw5NSwxMDUsMTExLDExNyw5LDAsMCwwLDk1LAotICAgIDExOSw5NywxMTQsMTEwLDEwNSwxMTAsMTAzLDExNSwxMTcsOCwwLDAsMCw5OCwxMTcsMTA1LAotICAgIDEwOCwxMTYsMTA1LDExMCwxMTUsMTE3LDcsMCwwLDAsMTA5LDk3LDExNCwxMTUsMTA0LDk3LAotICAgIDEwOCwxMTcsNSwwLDAsMCwxMTIsMTExLDExNSwxMDUsMTIwLDExNywxLDAsMCwwLAotICAgIDQ3LDExNywyLDAsMCwwLDExMCwxMTYsMTE3LDEsMCwwLDAsOTIsMTE3LDMsCi0gICAgMCwwLDAsMTExLDExNSw1MCw5OSwxLDAsMCwwLDAsMCwwLDAsMiwKLSAgICAwLDAsMCwzLDAsMCwwLDExNSwwLDAsMCwxMTUsMzMsMCwwLDAsCi0gICAgMTI0LDAsMCw5MywyMywwLDEyNSwxLDAsMTE2LDAsMCwxMjQsMSwwLDEzMSwKLSAgICAxLDAsMTAwLDAsMCwxMDcsMiwwLDg2LDEsMTEzLDMsMCwxMDAsMSwwLAotICAgIDgzLDQwLDIsMCwwLDAsMTA1LDEsMCwwLDAsNzgsNDAsMSwwLDAsCi0gICAgMCwxMTcsMywwLDAsMCwxMDgsMTAxLDExMCw0MCwyLDAsMCwwLDExNywyLAotICAgIDAsMCwwLDQ2LDQ4LDExNywzLDAsMCwwLDExNSwxMDEsMTEyLDQwLDAsMCwKLSAgICAwLDAsNDAsMCwwLDAsMCwxMTcsMjksMCwwLDAsNjAsMTAyLDExNCwxMTEsCi0gICAgMTIyLDEwMSwxMTAsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCw0Niw5NSw5OCwKLSAgICAxMTEsMTExLDExNiwxMTUsMTE2LDExNCw5NywxMTIsNjIsMTE3LDksMCwwLDAsNjAsMTAzLAotICAgIDEwMSwxMTAsMTAxLDEyMCwxMTIsMTE0LDYyLDE5Myw2LDAsMCwxMTUsMiwwLDAsMCwKKyAgICAwLDEwMCwxOSwwLDEyNCwxMiwwLDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNSwKKyAgICAwLDEwMCwxNCwwLDEyNCwxMywwLDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNSwKKyAgICAwLDEwMCwxNiwwLDEyNCwxNCwwLDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNSwKKyAgICAwLDEwMCwyMCwwLDEyNCwxMSwwLDEzMSwzLDAsMSwxMTYsMTksMCwxMjQsNSwKKyAgICAwLDEwMCwyMSwwLDEwMCwyMiwwLDEwNiwyMywwLDEyNCwxMCwwLDEzMSwxLDAsCisgICAgMTMxLDMsMCwxLDExNiwxOSwwLDEyNCw1LDAsMTAwLDIzLDAsMTE2LDI0LDAsCisgICAgMTMxLDAsMCwxMzEsMywwLDEsMTE2LDI1LDAsMTA2LDI2LDAsMTE2LDAsMCwKKyAgICAxMDYsMjcsMCwxMzEsMCwwLDEzMSwxLDAsMSwxMjQsOSwwLDEwMCw4LDAsCisgICAgMTA3LDIsMCwxMTQsMjI0LDIsMTE2LDI4LDAsMTA2LDI5LDAsMTAwLDI0LDAsMTMxLAorICAgIDEsMCwxLDEwMCwyNSwwLDExNiwyNSwwLDEwNyw2LDAsMTE0LDIyNCwyLDEwMCwKKyAgICAyNiwwLDExNiwzMCwwLDk1LDMxLDAsMTEzLDIyNCwyLDExMCwwLDAsMTAwLDE1LAorICAgIDAsODMsNDAsMjgsMCwwLDAsMTE3LDI1MCwwLDAsMCw4MywxMDEsMTE2LDExNywKKyAgICAxMTIsMzIsMTA1LDEwOSwxMTIsMTExLDExNCwxMTYsMTA4LDEwNSw5OCwzMiw5OCwxMjEsMzIsMTA1LAorICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTA1LDExMCwxMDMsMzIsMTEwLDEwMSwxMDEsMTAwLDEwMSwxMDAsMzIsCisgICAgOTgsMTE3LDEwNSwxMDgsMTE2LDQ1LDEwNSwxMTAsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LAorICAgIDMyLDk3LDExMCwxMDAsMzIsMTA1LDExMCwxMDYsMTAxLDk5LDExNiwxMDUsMTEwLDEwMywzMiwxMTYsCisgICAgMTA0LDEwMSwxMDksMTAsMzIsMzIsMzIsMzIsMTA1LDExMCwxMTYsMTExLDMyLDExNiwxMDQsMTAxLAorICAgIDMyLDEwMywxMDgsMTExLDk4LDk3LDEwOCwzMiwxMTAsOTcsMTA5LDEwMSwxMTUsMTEyLDk3LDk5LAorICAgIDEwMSw0NiwxMCwxMCwzMiwzMiwzMiwzMiw2NSwxMTUsMzIsMTE1LDEyMSwxMTUsMzIsMTA1LAorICAgIDExNSwzMiwxMTAsMTAxLDEwMSwxMDAsMTAxLDEwMCwzMiwxMDIsMTExLDExNCwzMiwxMTUsMTIxLDExNSwKKyAgICA0NiwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsMzIsOTcsOTksOTksMTAxLDExNSwxMTUsMzIsCisgICAgOTcsMTEwLDEwMCwzMiw5NSwxMDUsMTA5LDExMiwzMiwxMDUsMTE1LDMyLDExMCwxMDEsMTAxLDEwMCwKKyAgICAxMDEsMTAwLDMyLDExNiwxMTEsMzIsMTA4LDExMSw5NywxMDAsMzIsOTgsMTE3LDEwNSwxMDgsMTE2LAorICAgIDQ1LDEwNSwxMTAsMTAsMzIsMzIsMzIsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE1LDQ0LAorICAgIDMyLDExNiwxMDQsMTExLDExNSwxMDEsMzIsMTE2LDExOSwxMTEsMzIsMTA5LDExMSwxMDAsMTE3LDEwOCwKKyAgICAxMDEsMTE1LDMyLDEwOSwxMTcsMTE1LDExNiwzMiw5OCwxMDEsMzIsMTAxLDEyMCwxMTIsMTA4LDEwNSwKKyAgICA5OSwxMDUsMTE2LDEwOCwxMjEsMzIsMTEyLDk3LDExNSwxMTUsMTAxLDEwMCwzMiwxMDUsMTEwLDQ2LAorICAgIDEwLDEwLDMyLDMyLDMyLDMyLDExNCwxNDksMCwwLDAsMTE0LDQ4LDAsMCwwLAorICAgIDExNCwxNzAsMCwwLDAsMjQ0LDgsMCwwLDAsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwKKyAgICAxMTAsMTE1LDExNCwxODYsMCwwLDAsMTE2LDUsMCwwLDAsMTEyLDExMSwxMTUsMTA1LAorICAgIDEyMCwyNDUsMSwwLDAsMCw0NywyNDQsMiwwLDAsMCwxMTAsMTE2LDI0NSwxLAorICAgIDAsMCwwLDkyLDk5LDEsMCwwLDAsMCwwLDAsMCwyLDAsMCwKKyAgICAwLDMsMCwwLDAsMTE1LDAsMCwwLDExNSwzMywwLDAsMCwxMjQsMCwKKyAgICAwLDkzLDIzLDAsMTI1LDEsMCwxMTYsMCwwLDEyNCwxLDAsMTMxLDEsMCwKKyAgICAxMDAsMCwwLDEwNywyLDAsODYsMSwxMTMsMywwLDEwMCwxLDAsODMsNDAsCisgICAgMiwwLDAsMCwxMTQsMjksMCwwLDAsNzgsNDAsMSwwLDAsMCwxMTQsCisgICAgMzEsMCwwLDAsNDAsMiwwLDAsMCwxMTQsMjIsMCwwLDAsMTE0LDExOCwKKyAgICAwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNCwwLDAsMCwxMTQsNSwwLAorICAgIDAsMCwxMTQsMiwxLDAsMCwyMDgsNiwwLDAsMTE1LDIsMCwwLDAsCiAgICAgNiwwLDExNywyNSwwLDAsMCw5NSwxMTUsMTAxLDExNiwxMTcsMTEyLDQ2LDYwLDEwOCwKICAgICAxMTEsOTksOTcsMTA4LDExNSw2Miw0Niw2MCwxMDMsMTAxLDExMCwxMDEsMTIwLDExMiwxMTQsNjIsCi0gICAgMTA1LDAsMCwwLDAsMTE3LDcsMCwwLDAsNjksNzcsODgsMzIsNzEsNjcsCi0gICAgNjcsMTA1LDEsMCwwLDAsMTE3LDMwLDAsMCwwLDEwNSwxMDksMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwOCwxMDUsOTgsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTIsMTExLAotICAgIDExNSwxMDUsMTIwLDMyLDExMSwxMTQsMzIsMTEwLDExNiwxMTcsNywwLDAsMCw5NSwxMTYsCi0gICAgMTA0LDExNCwxMDEsOTcsMTAwLDExNyw4LDAsMCwwLDk1LDExOSwxMDEsOTcsMTA3LDExNCwKLSAgICAxMDEsMTAyLDExNyw2LDAsMCwwLDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDExNyw3LDAsCi0gICAgMCwwLDk1LDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDExNywzLDAsMCwwLDk1LDExMSwKLSAgICAxMTUsMTE3LDgsMCwwLDAsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsMTE3LDE1LAotICAgIDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDExNSwxMDEsMTEyLDk3LDExNCw5NywxMTYsMTExLAotICAgIDExNCwxMTUsMTE3LDExLDAsMCwwLDk1LDExNCwxMDEsMTA4LDk3LDEyMCw5NSw5OSw5NywKLSAgICAxMTUsMTAxLDExNyw0LDAsMCwwLDQ2LDExMiwxMjEsMTE5LDExNyw2LDAsMCwwLAotICAgIDk1LDEwMCw0NiwxMTIsMTIxLDEwMCw3OCw0MCw0LDAsMCwwLDExNywzLDAsMCwKLSAgICAwLDk1LDEwNSwxMTEsMTE3LDksMCwwLDAsOTUsMTE5LDk3LDExNCwxMTAsMTA1LDExMCwKLSAgICAxMDMsMTE1LDExNyw4LDAsMCwwLDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDExNSwxMTcsCi0gICAgNywwLDAsMCwxMDksOTcsMTE0LDExNSwxMDQsOTcsMTA4LDg0LDQwLDM1LDAsMCwKLSAgICAwLDExNyw0LDAsMCwwLDk1LDEwNSwxMDksMTEyLDExNywzLDAsMCwwLDExNSwKLSAgICAxMjEsMTE1LDExNyw1LDAsMCwwLDEwMiwxMDgsOTcsMTAzLDExNSwxMTcsOCwwLDAsCi0gICAgMCwxMTEsMTEyLDExNiwxMDUsMTA5LDEwNSwxMjIsMTAxLDExNywyNywwLDAsMCw3OSw4MCwKLSAgICA4NCw3Myw3Nyw3Myw5MCw2OSw2OCw5NSw2Niw4OSw4NCw2OSw2Nyw3OSw2OCw2OSwKLSAgICA5NSw4Myw4NSw3MCw3MCw3Myw4OCw2OSw4MywxMTcsMTcsMCwwLDAsNjYsODksCi0gICAgODQsNjksNjcsNzksNjgsNjksOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsMTE3LAotICAgIDIzLDAsMCwwLDY4LDY5LDY2LDg1LDcxLDk1LDY2LDg5LDg0LDY5LDY3LDc5LAotICAgIDY4LDY5LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDExNyw0LDAsMCwwLAotICAgIDExNiwxMjEsMTEyLDEwMSwxMTcsNywwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTUsCi0gICAgMTE3LDUsMCwwLDAsMTA1LDExNiwxMDEsMTA5LDExNSwxMTcsMTAsMCwwLDAsMTA1LAotICAgIDExNSwxMDUsMTEwLDExNSwxMTYsOTcsMTEwLDk5LDEwMSwxMTcsNywwLDAsMCwxMDQsOTcsCi0gICAgMTE1LDk3LDExNiwxMTYsMTE0LDExNywyMCwwLDAsMCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LAotICAgIDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMTAsOTcsMTA5LDEwMSwxMTUsMTE3LDE1LAotICAgIDAsMCwwLDY2LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTAxLDExNCwxMTcsMTAsMCwwLDAsOTUsOTUsMTA4LDExMSw5NywxMDAsMTAxLDExNCw5NSwKLSAgICA5NSwxMTcsOSwwLDAsMCwxMDUsMTE1LDk1LDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDExNywKLSAgICAxNCwwLDAsMCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsCi0gICAgMTAxLDExNCwxMTcsOCwwLDAsMCw5NSw5NSwxMTAsOTcsMTA5LDEwMSw5NSw5NSwxMTcsCi0gICAgMTEsMCwwLDAsMTA4LDExMSw5NywxMDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LAotICAgIDcsMCwwLDAsMTE1LDEwMSwxMTYsOTcsMTE2LDExNiwxMTQsMTE3LDMsMCwwLDAsCi0gICAgOTcsMTA4LDEwOCwxMTcsMTQsMCwwLDAsNjUsMTE1LDExNSwxMDEsMTE0LDExNiwxMDUsMTExLAotICAgIDExMCw2OSwxMTQsMTE0LDExMSwxMTQsMTE3LDcsMCwwLDAsMTE4LDEwMSwxMTQsMTE1LDEwNSwKLSAgICAxMTEsMTEwLDExNywxMSwwLDAsMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDY5LDExNCwxMTQsCi0gICAgMTExLDExNCwxMTcsNCwwLDAsMCw3OCwxMTEsMTEwLDEwMSwxMTcsMywwLDAsMCwKLSAgICAxMTUsMTAxLDExNiwxMTcsMTYsMCwwLDAsOTUsMTA5LDk3LDEwNywxMDEsOTUsMTE0LDEwMSwKLSAgICAxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsMTE3LDE4LDAsMCwwLDY5LDg4LDg0LAotICAgIDY5LDc4LDgzLDczLDc5LDc4LDk1LDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDExNywKLSAgICA2LDAsMCwwLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTAwLDExNywxOCwwLDAsMCwxMDEsCi0gICAgMTIwLDExNiwxMDEsMTEwLDExNSwxMDUsMTExLDExMCw5NSwxMTUsMTE3LDEwMiwxMDIsMTA1LDEyMCwxMDEsCi0gICAgMTE1LDExNywxNSwwLDAsMCw4Myw3OSw4NSw4Miw2Nyw2OSw5NSw4Myw4NSw3MCwKLSAgICA3MCw3Myw4OCw2OSw4MywxMTcsNiwwLDAsMCw5NywxMTIsMTEyLDEwMSwxMTAsMTAwLAotICAgIDExNyw0LDAsMCwwLDg0LDExNCwxMTcsMTAxLDExNywyMSwwLDAsMCw4NywxMDUsCi0gICAgMTEwLDEwMCwxMTEsMTE5LDExNSw4MiwxMDEsMTAzLDEwNSwxMTUsMTE2LDExNCwxMjEsNzAsMTA1LDExMCwKLSAgICAxMDAsMTAxLDExNCwxMTcsMTEsMCwwLDAsNjgsNjksNjYsODUsNzEsOTUsNjYsODUsCi0gICAgNzMsNzYsNjgsNDAsMTYsMCwwLDAsMTE3LDEwLDAsMCwwLDExNSwxMjEsMTE1LAotICAgIDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywxMSwwLDAsMCw5NSwxMDUsMTA5LDExMiwKLSAgICA5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsMTEsMCwwLDAsMTA5LDExMSwxMDAsMTE3LAotICAgIDEwOCwxMDEsOTUsMTE2LDEyMSwxMTIsMTAxLDExNyw0LDAsMCwwLDExMCw5NywxMDksMTAxLAotICAgIDExNyw2LDAsMCwwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywxMSwwLDAsMCwKLSAgICAxMTUsMTAxLDEwOCwxMDIsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDEyLDAsMCwwLAotICAgIDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDExMCw5NywxMDksMTAxLDExNywxNCwwLDAsCi0gICAgMCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsCi0gICAgMTAsMCwwLDAsMTExLDExNSw5NSwxMDAsMTAxLDExNiw5NywxMDUsMTA4LDExNSwxMTcsMTAsCi0gICAgMCwwLDAsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTExLDExNSwxMTcsMTUsMCwKLSAgICAwLDAsMTEyLDk3LDExNiwxMDQsOTUsMTE1LDEwMSwxMTIsOTcsMTE0LDk3LDExNiwxMTEsMTE0LAotICAgIDExNSwxMTcsOCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwxMTUsMTAxLDExMiwxMTcsOSwKLSAgICAwLDAsMCwxMTEsMTE1LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywxMywwLDAsCi0gICAgMCwxMTYsMTA0LDExNCwxMDEsOTcsMTAwLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywxNCwKLSAgICAwLDAsMCwxMTksMTAxLDk3LDEwNywxMTQsMTAxLDEwMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LAotICAgIDEwMSwxMTcsMTMsMCwwLDAsMTE5LDEwNSwxMTAsMTE0LDEwMSwxMDMsOTUsMTA5LDExMSwxMDAsCi0gICAgMTE3LDEwOCwxMDEsNDAsMCwwLDAsMCw0MCwwLDAsMCwwLDExNywyOSwwLAotICAgIDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwKLSAgICAxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsCi0gICAgNiwwLDAsMCw5NSwxMTUsMTAxLDExNiwxMTcsMTEyLDE1Niw2LDAsMCwxMTUsMTA2LAotICAgIDAsMCwwLDAsOSw2LDEsNiwyLDEyLDEsOSwyLDYsMiwxMiwKLSAgICAxLDI4LDEsMTUsMSwxNSwxLDE1LDEsMTIsMSwxNSwxLDIyLDIsMTMsCi0gICAgMSwxMywxLDE1LDEsMTgsMiwxMywxLDIwLDIsNDgsMSwxOSwyLDMxLAotICAgIDEsMTAsMSwxNSwxLDEzLDEsNCwyLDMsMSwxNSwyLDI3LDEsMTMsCi0gICAgMSw1LDEsMTMsMSwxMiwyLDEyLDIsMywxLDE5LDEsMTMsMiwxMSwKLSAgICAxLDE1LDIsMTIsMSwxNSwxLDE5LDIsMTYsMSwxNiwxLDE2LDEsMTYsCi0gICAgMSwyMiwyLDE5LDEsMTksMSwxMiwxLDEzLDEsMTIsMSwxMTcsNiwwLAotICAgIDAsMCw5NSwxMTUsMTAxLDExNiwxMTcsMTEyLDk5LDIsMCwwLDAsMCwwLDAsCi0gICAgMCwzLDAsMCwwLDMsMCwwLDAsNjcsMCwwLDAsMTE1LDEzNiwwLAotICAgIDAsMCwxMTYsMCwwLDEyNCwwLDAsMTI0LDEsMCwxMzEsMiwwLDEsMTE2LAotICAgIDEsMCwxMzEsMCwwLDEyNSwyLDAsMTE2LDIsMCwxMDYsMywwLDEwNiw0LAotICAgIDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwyLDAsMTQwLDAsMCwxMDMsMSwwLAotICAgIDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsOSwwLAotICAgIDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTAsMCwKLSAgICAxMzEsMSwwLDEsMTE2LDExLDAsMTA2LDEyLDAsMTAwLDEsMCwxMDcsMiwwLAotICAgIDExNCwxMTYsMCwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsMTMsMCwxMzEsCi0gICAgMSwwLDEsMTEwLDAsMCwxMTYsMiwwLDEwNiw3LDAsMTA2LDgsMCwxMTYsCi0gICAgMTQsMCwxMzEsMSwwLDEsMTAwLDIsMCw4Myw0MCwzLDAsMCwwLDExNywKLSAgICA1MCwwLDAsMCw3MywxMTAsMTE1LDExNiw5NywxMDgsMTA4LDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTcsMTE1LDMyLDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLAotICAgIDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwKLSAgICAxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDExNywyLDAsMCwwLDExMCwxMTYsNzgsNDAsMTUsCi0gICAgMCwwLDAsMTE3LDYsMCwwLDAsOTUsMTE1LDEwMSwxMTYsMTE3LDExMiwxMTcsMjcsCi0gICAgMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsMTE2LDEwMSwKLSAgICAxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LDExNywzLAotICAgIDAsMCwwLDExNSwxMjEsMTE1LDExNywxMCwwLDAsMCwxMTIsOTcsMTE2LDEwNCw5NSwKLSAgICAxMDQsMTExLDExMSwxMDcsMTE1LDExNyw2LDAsMCwwLDEwMSwxMjAsMTE2LDEwMSwxMTAsMTAwLAotICAgIDExNywxMCwwLDAsMCw3MCwxMDUsMTA4LDEwMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNywKLSAgICA5LDAsMCwwLDExMiw5NywxMTYsMTA0LDk1LDEwNCwxMTEsMTExLDEwNywxMTcsOSwwLAotICAgIDAsMCwxMDksMTAxLDExNiw5Nyw5NSwxMTIsOTcsMTE2LDEwNCwxMTcsNiwwLDAsMCwKLSAgICA5NywxMTIsMTEyLDEwMSwxMTAsMTAwLDExNywxNSwwLDAsMCw2NiwxMTcsMTA1LDEwOCwxMTYsCi0gICAgMTA1LDExMCw3MywxMDksMTEyLDExMSwxMTQsMTE2LDEwMSwxMTQsMTE3LDE0LDAsMCwwLDcwLAotICAgIDExNCwxMTEsMTIyLDEwMSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDExNywzLDAsCi0gICAgMCwwLDk1LDExMSwxMTUsMTE3LDgsMCwwLDAsOTUsOTUsMTEwLDk3LDEwOSwxMDEsCi0gICAgOTUsOTUsMTE3LDIxLDAsMCwwLDg3LDEwNSwxMTAsMTAwLDExMSwxMTksMTE1LDgyLDEwMSwKLSAgICAxMDMsMTA1LDExNSwxMTYsMTE0LDEyMSw3MCwxMDUsMTEwLDEwMCwxMDEsMTE0LDExNywxMCwwLDAsCi0gICAgMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsNDAsMywwLDAsMCwKLSAgICAxMTcsMTAsMCwwLDAsMTE1LDEyMSwxMTUsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LAotICAgIDExLDAsMCwwLDk1LDEwNSwxMDksMTEyLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywKLSAgICAxNywwLDAsMCwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCw5NSwxMDgsMTExLAotICAgIDk3LDEwMCwxMDEsMTE0LDExNSw0MCwwLDAsMCwwLDQwLDAsMCwwLDAsMTE3LAotICAgIDI5LDAsMCwwLDYwLDEwMiwxMTQsMTExLDEyMiwxMDEsMTEwLDMyLDEwNSwxMDksMTEyLDExMSwKLSAgICAxMTQsMTE2LDEwOCwxMDUsOTgsNDYsOTUsOTgsMTExLDExMSwxMTYsMTE1LDExNiwxMTQsOTcsMTEyLAotICAgIDYyLDExNyw4LDAsMCwwLDk1LDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LDIzNSw2LAotICAgIDAsMCwxMTUsMTYsMCwwLDAsMCwyLDEzLDEsOSwxLDI4LDEsMTYsCi0gICAgMSwxNiwxLDE1LDEsMTksMSwxMTcsOCwwLDAsMCw5NSwxMDUsMTEwLDExNSwKLSAgICAxMTYsOTcsMTA4LDEwOCw3OCw0MCwzLDAsMCwwLDExNywzLDAsMCwwLDExOSwKLSAgICAxMDUsMTEwLDExNyw2LDAsMCwwLDk5LDEyMSwxMDMsMTE5LDEwNSwxMTAsMTE3LDYsMCwKLSAgICAwLDAsMTAwLDk3LDExNCwxMTksMTA1LDExMCw0MCw3NCwwLDAsMCwxMTcsNywwLAotICAgIDAsMCw5NSw5NSwxMDAsMTExLDk5LDk1LDk1LDExNywyNywwLDAsMCw5NSw2NywKLSAgICA2NSw4Myw2OSw5NSw3Myw3OCw4Myw2OSw3OCw4Myw3Myw4NCw3Myw4Niw2OSw5NSwKLSAgICA4MCw3Niw2NSw4NCw3MCw3OSw4Miw3Nyw4MywxMTcsMTYsMCwwLDAsOTUsMTA5LAotICAgIDk3LDEwNywxMDEsOTUsMTE0LDEwMSwxMDgsOTcsMTIwLDk1LDk5LDk3LDExNSwxMDEsMTE3LDcsCi0gICAgMCwwLDAsOTUsMTE5LDk1LDEwOCwxMTEsMTEwLDEwMywxMTcsNywwLDAsMCw5NSwKLSAgICAxMTQsOTUsMTA4LDExMSwxMTAsMTAzLDExNywxMCwwLDAsMCw5NSwxMTIsOTcsMTE2LDEwNCwKLSAgICA5NSwxMDYsMTExLDEwNSwxMTAsMTE3LDExLDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LAotICAgIDExNSwxMTIsMTA4LDEwNSwxMTYsMTE3LDE4LDAsMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LAotICAgIDEwNSwxMTUsOTUsMTA5LDExMSwxMDAsMTAxLDk1LDExNiwxMjEsMTEyLDEwMSwxMTcsMTIsMCwwLAotICAgIDAsOTUsMTEyLDk3LDExNiwxMDQsOTUsMTA1LDExNSwxMDIsMTA1LDEwOCwxMDEsMTE3LDExLDAsCi0gICAgMCwwLDk1LDExMiw5NywxMTYsMTA0LDk1LDEwNSwxMTUsMTAwLDEwNSwxMTQsMTE3LDEzLDAsCi0gICAgMCwwLDk1LDExOSwxMTQsMTA1LDExNiwxMDEsOTUsOTcsMTE2LDExMSwxMDksMTA1LDk5LDExNywKLSAgICA1LDAsMCwwLDk1LDExOSwxMTQsOTcsMTEyLDExNyw0LDAsMCwwLDExNiwxMjEsCi0gICAgMTEyLDEwMSwxMTcsOCwwLDAsMCw5NSw5NSw5OSwxMTEsMTAwLDEwMSw5NSw5NSwxMTcsCi0gICAgMTAsMCwwLDAsOTUsOTksMTExLDEwMCwxMDEsOTUsMTE2LDEyMSwxMTIsMTAxLDExNywxMCwKLSAgICAwLDAsMCwxMTAsMTAxLDExOSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTcsMTMsMCwKLSAgICAwLDAsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsOTUsMTA4LDExMSw5OSwxMDcsMTE1LDExNywKLSAgICAxMiwwLDAsMCw5NSw5OCwxMDgsMTExLDk5LDEwNywxMDUsMTEwLDEwMyw5NSwxMTEsMTEwLAotICAgIDExNywxMiwwLDAsMCw4MiwxMTcsMTEwLDExNiwxMDUsMTA5LDEwMSw2OSwxMTQsMTE0LDExMSwKLSAgICAxMTQsMTE3LDE0LDAsMCwwLDk1LDY4LDEwMSw5NywxMDAsMTA4LDExMSw5OSwxMDcsNjksCi0gICAgMTE0LDExNCwxMTEsMTE0LDExNywxMSwwLDAsMCw5NSw3NywxMTEsMTAwLDExNywxMDgsMTAxLAotICAgIDc2LDExMSw5OSwxMDcsMTE3LDE2LDAsMCwwLDk1LDY4LDExNywxMDksMTA5LDEyMSw3NywKLSAgICAxMTEsMTAwLDExNywxMDgsMTAxLDc2LDExMSw5OSwxMDcsMTE3LDE2LDAsMCwwLDk1LDEwMywKLSAgICAxMDEsMTE2LDk1LDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDk1LDEwOCwxMTEsOTksMTA3LDExNywxOSwKLSAgICAwLDAsMCw5NSwxMDgsMTExLDk5LDEwNyw5NSwxMTcsMTEwLDEwOCwxMTEsOTksMTA3LDk1LAotICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNywyNSwwLDAsMCw5NSw5OSw5NywxMDgsMTA4LAotICAgIDk1LDExOSwxMDUsMTE2LDEwNCw5NSwxMDIsMTE0LDk3LDEwOSwxMDEsMTE1LDk1LDExNCwxMDEsMTA5LAotICAgIDExMSwxMTgsMTAxLDEwMCwxMTcsMywwLDAsMCwxMTEsMTE0LDEwMCwxMTcsMTcsMCwwLAotICAgIDAsOTUsODIsNjUsODcsOTUsNzcsNjUsNzEsNzMsNjcsOTUsNzgsODUsNzcsNjYsCi0gICAgNjksODIsMTE3LDUsMCwwLDAsOTgsMTIxLDExNiwxMDEsMTE1LDExNyw1LDAsMCwKLSAgICAwLDExNCw5NywxMTAsMTAzLDEwMSwxMTcsMTIsMCwwLDAsOTUsNzcsNjUsNzEsNzMsCi0gICAgNjcsOTUsNjYsODksODQsNjksODMsMTE3LDgsMCwwLDAsOTUsODAsODksNjcsCi0gICAgNjUsNjcsNzIsNjksMTE3LDE1LDAsMCwwLDgzLDc5LDg1LDgyLDY3LDY5LDk1LAotICAgIDgzLDg1LDcwLDcwLDczLDg4LDY5LDgzLDExNywyMywwLDAsMCw2OCw2OSw2NiwKLSAgICA4NSw3MSw5NSw2Niw4OSw4NCw2OSw2Nyw3OSw2OCw2OSw5NSw4Myw4NSw3MCw3MCwKLSAgICA3Myw4OCw2OSw4MywxMTcsMjcsMCwwLDAsNzksODAsODQsNzMsNzcsNzMsOTAsCi0gICAgNjksNjgsOTUsNjYsODksODQsNjksNjcsNzksNjgsNjksOTUsODMsODUsNzAsNzAsCi0gICAgNzMsODgsNjksODMsMTE3LDQsMCwwLDAsNzgsMTExLDExMCwxMDEsMTE3LDE3LDAsCi0gICAgMCwwLDk5LDk3LDk5LDEwNCwxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDk1LDExNSwxMTEsMTE3LAotICAgIDExNCw5OSwxMDEsMTE3LDE3LDAsMCwwLDExNSwxMTEsMTE3LDExNCw5OSwxMDEsOTUsMTAyLAotICAgIDExNCwxMTEsMTA5LDk1LDk5LDk3LDk5LDEwNCwxMDEsMTE3LDE1LDAsMCwwLDk1LDEwMywKLSAgICAxMDEsMTE2LDk1LDExNSwxMTEsMTE3LDExNCw5OSwxMDEsMTAyLDEwNSwxMDgsMTAxLDExNywxNiwwLAotICAgIDAsMCw5NSwxMTgsMTAxLDExNCw5OCwxMTEsMTE1LDEwMSw5NSwxMDksMTAxLDExNSwxMTUsOTcsCi0gICAgMTAzLDEwMSwxMTcsMTEsMCwwLDAsMTE1LDEwMSwxMTYsOTUsMTEyLDk3LDk5LDEwNyw5NywKLSAgICAxMDMsMTAxLDExNywxMCwwLDAsMCwxMTUsMTAxLDExNiw5NSwxMDgsMTExLDk3LDEwMCwxMDEsCi0gICAgMTE0LDExNywxNywwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSw5NSwxMDIsMTExLDExNCwKLSAgICA5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNywxMSwwLDAsMCw5NSw5OSwxMDQsMTAxLAotICAgIDk5LDEwNyw5NSwxMTAsOTcsMTA5LDEwMSwxMTcsMTcsMCwwLDAsOTUsMTE0LDEwMSwxMTMsCi0gICAgMTE3LDEwNSwxMTQsMTAxLDExNSw5NSw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCwxMTcsMTYsMCwKLSAgICAwLDAsOTUsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSw5NSwxMDIsMTE0LDExMSwxMjIsCi0gICAgMTAxLDExMCwxMTcsMTcsMCwwLDAsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDEwOSwxMTEsMTAwLAotICAgIDExNywxMDgsMTAxLDk1LDExNSwxMDQsMTA1LDEwOSwxMTcsMTUsMCwwLDAsNjYsMTE3LDEwNSwKLSAgICAxMDgsMTE2LDEwNSwxMTAsNzMsMTA5LDExMiwxMTEsMTE0LDExNiwxMDEsMTE0LDExNywxNCwwLDAsCi0gICAgMCw3MCwxMTQsMTExLDEyMiwxMDEsMTEwLDczLDEwOSwxMTIsMTExLDExNCwxMTYsMTAxLDExNCwxMTcsCi0gICAgMjEsMCwwLDAsODcsMTA1LDExMCwxMDAsMTExLDExOSwxMTUsODIsMTAxLDEwMywxMDUsMTE1LAotICAgIDExNiwxMTQsMTIxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE3LDEzLDAsMCwwLDk1LDc2LAotICAgIDExMSw5NywxMDAsMTAxLDExNCw2Niw5NywxMTUsMTA1LDk5LDExNSwxMTcsMTIsMCwwLDAsCi0gICAgODMsMTExLDExNywxMTQsOTksMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTcsMTAsMCwwLAotICAgIDAsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDExNywxNiwwLDAsMCwKLSAgICA4MywxMTEsMTE3LDExNCw5OSwxMDEsNzAsMTA1LDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LAotICAgIDExNywyMCwwLDAsMCw4MywxMTEsMTE3LDExNCw5OSwxMDEsMTA4LDEwMSwxMTUsMTE1LDcwLAotICAgIDEwNSwxMDgsMTAxLDc2LDExMSw5NywxMDAsMTAxLDExNCwxMTcsMTgsMCwwLDAsNjksODgsCi0gICAgODQsNjksNzgsODMsNzMsNzksNzgsOTUsODMsODUsNzAsNzAsNzMsODgsNjksODMsCi0gICAgMTE3LDE5LDAsMCwwLDY5LDEyMCwxMTYsMTAxLDExMCwxMTUsMTA1LDExMSwxMTAsNzAsMTA1LAotICAgIDEwOCwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDExNywxNCwwLDAsMCw5NSw3OCw5NywKLSAgICAxMDksMTAxLDExNSwxMTIsOTcsOTksMTAxLDgwLDk3LDExNiwxMDQsMTE3LDE1LDAsMCwwLAotICAgIDc4LDk3LDEwOSwxMDEsMTE1LDExMiw5Nyw5OSwxMDEsNzYsMTExLDk3LDEwMCwxMDEsMTE0LDExNywKLSAgICAxMCwwLDAsMCw4MCw5NywxMTYsMTA0LDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE3LDEwLAotICAgIDAsMCwwLDcwLDEwNSwxMDgsMTAxLDcwLDEwNSwxMTAsMTAwLDEwMSwxMTQsMTE3LDE4LDAsCi0gICAgMCwwLDk1LDczLDEwOSwxMTIsMTExLDExNCwxMTYsNzYsMTExLDk5LDEwNyw2NywxMTEsMTEwLAotICAgIDExNiwxMDEsMTIwLDExNiwxMTcsMTMsMCwwLDAsOTUsMTE0LDEwMSwxMTUsMTExLDEwOCwxMTgsCi0gICAgMTAxLDk1LDExMCw5NywxMDksMTAxLDExNywxMiwwLDAsMCw5NSwxMDIsMTA1LDExMCwxMDAsCi0gICAgOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE3LDEzLDAsMCwwLDk1LDExNSw5NywxMTAsCi0gICAgMTA1LDExNiwxMjEsOTUsOTksMTA0LDEwMSw5OSwxMDcsMTE3LDgsMCwwLDAsOTUsNjksCi0gICAgODIsODIsOTUsNzcsODMsNzEsMTE3LDIzLDAsMCwwLDk1LDEwMiwxMDUsMTEwLDEwMCwKLSAgICA5NSw5NywxMTAsMTAwLDk1LDEwOCwxMTEsOTcsMTAwLDk1LDExNywxMTAsMTA4LDExMSw5OSwxMDcsCi0gICAgMTAxLDEwMCwxMTcsMTQsMCwwLDAsOTUsMTAyLDEwNSwxMTAsMTAwLDk1LDk3LDExMCwxMDAsCi0gICAgOTUsMTA4LDExMSw5NywxMDAsMTE3LDExLDAsMCwwLDk1LDEwMyw5OSwxMDAsOTUsMTA1LAotICAgIDEwOSwxMTIsMTExLDExNCwxMTYsMTE3LDE2LDAsMCwwLDk1LDEwNCw5NywxMTAsMTAwLDEwOCwKLSAgICAxMDEsOTUsMTAyLDExNCwxMTEsMTA5LDEwOCwxMDUsMTE1LDExNiwxMTcsMTcsMCwwLDAsOTUsCi0gICAgOTksOTcsMTA4LDk5LDk1LDk1LDk1LDExMiw5Nyw5OSwxMDcsOTcsMTAzLDEwMSw5NSw5NSwKLSAgICAxMTcsMjcsMCwwLDAsOTUsMTAzLDEwMSwxMTYsOTUsMTE1LDExNywxMTIsMTEyLDExMSwxMTQsCi0gICAgMTE2LDEwMSwxMDAsOTUsMTAyLDEwNSwxMDgsMTAxLDk1LDEwOCwxMTEsOTcsMTAwLDEwMSwxMTQsMTE1LAotICAgIDExNywxMCwwLDAsMCw5NSw5NSwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiw5NSw5NSwxMTcsCi0gICAgNiwwLDAsMCw5NSwxMTUsMTAxLDExNiwxMTcsMTEyLDExNyw4LDAsMCwwLDk1LAotICAgIDEwNSwxMTAsMTE1LDExNiw5NywxMDgsMTA4LDQwLDAsMCwwLDAsNDAsMCwwLDAsCi0gICAgMCw0MCwwLDAsMCwwLDExNywyOSwwLDAsMCw2MCwxMDIsMTE0LDExMSwxMjIsCi0gICAgMTAxLDExMCwzMiwxMDUsMTA5LDExMiwxMTEsMTE0LDExNiwxMDgsMTA1LDk4LDQ2LDk1LDk4LDExMSwKLSAgICAxMTEsMTE2LDExNSwxMTYsMTE0LDk3LDExMiw2MiwxMTcsOCwwLDAsMCw2MCwxMDksMTExLAotICAgIDEwMCwxMTcsMTA4LDEwMSw2Miw4LDAsMCwwLDExNSwxMzIsMCwwLDAsNiwyMSwKLSAgICA2LDMsMTIsMTMsMTIsMTYsMTIsMTMsMTIsMTIsMTIsMTIsMTIsMTAsMTIsNiwKLSAgICAxMiw3LDE1LDIyLDEyLDgsMTUsMywxMiwxMiw2LDIsNiwzLDIyLDQsCi0gICAgMTksNjgsMTksMjMsMTIsMTksMTIsMjAsMTIsMTAwLDM0LDEsMzcsMiw2LDIsCi0gICAgOSwyLDksMSw5LDIsMTUsMjcsMTIsMjMsMTIsMjEsMTgsOCwxMiwxMywKLSAgICAxMiwxMSwxMiw1NSwxMiwxOCwxMiwxMSwxMiwxMSwxMiwxNywxOSw1NywxOSw1NCwKLSAgICAxOSw1MCwxOSw4MywyMiwxMzQsMTksMjksMjUsNDksMjUsMjUsNiwzLDE5LDQ1LAotICAgIDE5LDU1LDE5LDE4LDE5LDkxLDE5LDEyOCwxOSwxMywxMiw5LDEyLDE3LDEyLDE3LAotICAgIDYsMiwxMiw1MCwxMiwxMywxOCwyNCwxMiwzNCwxMiwxNSwxMiwxMSwyNCwzNiwKLSAgICAxMiw3OSwKKyAgICAxMTQsNzEsMCwwLDAsMTE3LDMwLDAsMCwwLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LAorICAgIDEwOCwxMDUsOTgsMzIsMTE0LDEwMSwxMTMsMTE3LDEwNSwxMTQsMTAxLDExNSwzMiwxMTIsMTExLDExNSwKKyAgICAxMDUsMTIwLDMyLDExMSwxMTQsMzIsMTEwLDExNiwxMTQsNzIsMCwwLDAsNzgsMTE0LDk1LAorICAgIDAsMCwwLDExNiw2LDAsMCwwLDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDExNCwyMDYsCisgICAgMCwwLDAsMTE0LDMsMCwwLDAsMTE0LDI1LDAsMCwwLDExNCwyMSwwLAorICAgIDAsMCwxMTQsMzAsMCwwLDAsMTE0LDYsMCwwLDAsMTE3LDQsMCwwLAorICAgIDAsNDYsMTEyLDEyMSwxMTksMTE3LDYsMCwwLDAsOTUsMTAwLDQ2LDExMiwxMjEsMTAwLAorICAgIDg0LDQwLDQsMCwwLDAsMTE3LDMsMCwwLDAsOTUsMTA1LDExMSwxMTcsOSwKKyAgICAwLDAsMCw5NSwxMTksOTcsMTE0LDExMCwxMDUsMTEwLDEwMywxMTUsMTE3LDgsMCwwLAorICAgIDAsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsMTE1LDExNyw3LDAsMCwwLDEwOSw5NywKKyAgICAxMTQsMTE1LDEwNCw5NywxMDgsNDAsMzIsMCwwLDAsMTE0LDk3LDAsMCwwLDExNCwKKyAgICA3LDAsMCwwLDExNCwxMDUsMCwwLDAsMTE0LDEwNiwwLDAsMCwxMTQsMTA4LAorICAgIDAsMCwwLDExNCw3NSwxLDAsMCwxMTQsMTA3LDAsMCwwLDExNCw2NSwwLAorICAgIDAsMCwxMTQsMTUyLDAsMCwwLDI0NCw1LDAsMCwwLDEwNSwxMTYsMTAxLDEwOSwKKyAgICAxMTUsMTE0LDE4NywwLDAsMCwxMTQsNTksMCwwLDAsMTE0LDE2MywwLDAsMCwKKyAgICAxMTQsMTk0LDAsMCwwLDExNCwxNDksMCwwLDAsMTE0LDE2NiwwLDAsMCwxMTQsCisgICAgMjAyLDAsMCwwLDExNCw1NiwwLDAsMCwxMTQsMTk4LDAsMCwwLDExNCw2MCwKKyAgICAwLDAsMCwyNDQsMywwLDAsMCw5NywxMDgsMTA4LDExNCw4OSwwLDAsMCwKKyAgICAxMTQsMTU0LDAsMCwwLDExNCwyNiwwLDAsMCwxMTQsMTEsMCwwLDAsMTE0LAorICAgIDQsMSwwLDAsMTE0LDE5MiwwLDAsMCwxMTQsNzQsMSwwLDAsMTE0LDEyMiwKKyAgICAwLDAsMCwxMTQsMjUxLDAsMCwwLDExNCwyMDUsMCwwLDAsMTE0LDIwOSwwLAorICAgIDAsMCw0MCwxNiwwLDAsMCwyNDQsMTAsMCwwLDAsMTE1LDEyMSwxMTUsOTUsCisgICAgMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMjQ0LDExLDAsMCwwLDk1LDEwNSwxMDksMTEyLDk1LAorICAgIDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDExNiwxMSwwLDAsMCwxMDksMTExLDEwMCwxMTcsMTA4LAorICAgIDEwMSw5NSwxMTYsMTIxLDExMiwxMDEsMTE0LDY2LDAsMCwwLDExNCwxNDUsMCwwLDAsCisgICAgMTE2LDExLDAsMCwwLDExNSwxMDEsMTA4LDEwMiw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwKKyAgICAxMTYsMTIsMCwwLDAsOTgsMTE3LDEwNSwxMDgsMTE2LDEwNSwxMTAsOTUsMTEwLDk3LDEwOSwKKyAgICAxMDEsMTE2LDE0LDAsMCwwLDk4LDExNywxMDUsMTA4LDExNiwxMDUsMTEwLDk1LDEwOSwxMTEsCisgICAgMTAwLDExNywxMDgsMTAxLDExNiwxMCwwLDAsMCwxMTEsMTE1LDk1LDEwMCwxMDEsMTE2LDk3LAorICAgIDEwNSwxMDgsMTE1LDExNiwxMCwwLDAsMCw5OCwxMTcsMTA1LDEwOCwxMTYsMTA1LDExMCw5NSwKKyAgICAxMTEsMTE1LDExNCwyMSwwLDAsMCwxMTQsMjUsMCwwLDAsMTE2LDksMCwwLAorICAgIDAsMTExLDExNSw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTYsMTMsMCwwLDAsMTE2LAorICAgIDEwNCwxMTQsMTAxLDk3LDEwMCw5NSwxMDksMTExLDEwMCwxMTcsMTA4LDEwMSwxMTYsMTQsMCwwLAorICAgIDAsMTE5LDEwMSw5NywxMDcsMTE0LDEwMSwxMDIsOTUsMTA5LDExMSwxMDAsMTE3LDEwOCwxMDEsMTE2LAorICAgIDEzLDAsMCwwLDExOSwxMDUsMTEwLDExNCwxMDEsMTAzLDk1LDEwOSwxMTEsMTAwLDExNywxMDgsCisgICAgMTAxLDExNCw0LDAsMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLAorICAgIDI0NCw2LDAsMCwwLDk1LDExNSwxMDEsMTE2LDExNywxMTIsMTcxLDYsMCwwLDExNSwKKyAgICAxMDIsMCwwLDAsMCw5LDYsMSw2LDIsMTIsMSw5LDIsNiwyLAorICAgIDEyLDEsMjgsMSwxNSwxLDE1LDEsMTUsMSwxMiwxLDE1LDEsMjIsMiwKKyAgICAxMywxLDEzLDEsMTUsMSwxOCwyLDEzLDEsMjAsMiwzMywxLDE5LDIsCisgICAgMzEsMSwxMCwxLDE1LDEsMTMsMSw0LDIsMywxLDE1LDEsNSwxLAorICAgIDEzLDEsMTIsMiwxMiwyLDMsMSwxOSwxLDEzLDIsMTEsMSwxNSwyLAorICAgIDEyLDEsMTUsMSwxOSwyLDE2LDEsMTYsMSwxNiwxLDE2LDEsMjUsMiwKKyAgICAxOSwxLDE5LDEsMTIsMSwxMywxLDEyLDEsMTE0LDg2LDEsMCwwLDk5LAorICAgIDIsMCwwLDAsMCwwLDAsMCwzLDAsMCwwLDMsMCwwLDAsCisgICAgNjcsMCwwLDAsMTE1LDEzNiwwLDAsMCwxMTYsMCwwLDEyNCwwLDAsMTI0LAorICAgIDEsMCwxMzEsMiwwLDEsMTE2LDEsMCwxMzEsMCwwLDEyNSwyLDAsMTE2LAorICAgIDIsMCwxMDYsMywwLDEwNiw0LDAsMTE2LDUsMCwxMDYsNiwwLDEyNCwyLAorICAgIDAsMTQwLDAsMCwxMDMsMSwwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LAorICAgIDAsMTA2LDgsMCwxMTYsOSwwLDEzMSwxLDAsMSwxMTYsMiwwLDEwNiw3LAorICAgIDAsMTA2LDgsMCwxMTYsMTAsMCwxMzEsMSwwLDEsMTE2LDExLDAsMTA2LDEyLAorICAgIDAsMTAwLDEsMCwxMDcsMiwwLDExNCwxMTYsMCwxMTYsMiwwLDEwNiw3LDAsCisgICAgMTA2LDgsMCwxMTYsMTMsMCwxMzEsMSwwLDEsMTEwLDAsMCwxMTYsMiwwLAorICAgIDEwNiw3LDAsMTA2LDgsMCwxMTYsMTQsMCwxMzEsMSwwLDEsMTAwLDIsMCwKKyAgICA4Myw0MCwzLDAsMCwwLDExNyw1MCwwLDAsMCw3MywxMTAsMTE1LDExNiw5NywKKyAgICAxMDgsMTA4LDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDEwOCwxMDUsOTgsMzIsOTcsMTE1LDMyLAorICAgIDExNiwxMDQsMTAxLDMyLDEwNSwxMDksMTEyLDEwOCwxMDEsMTA5LDEwMSwxMTAsMTE2LDk3LDExNiwxMDUsCisgICAgMTExLDExMCwzMiwxMTEsMTAyLDMyLDEwNSwxMDksMTEyLDExMSwxMTQsMTE2LDQ2LDExNCw4MCwxLAorICAgIDAsMCw3OCw0MCwxNSwwLDAsMCwxMTQsODYsMSwwLDAsMTE0LDIxNSwwLAorICAgIDAsMCwxMTQsNywwLDAsMCwxMTQsMjYsMSwwLDAsMTE0LDE5MiwwLDAsCisgICAgMCwxMTQsMzMsMSwwLDAsMTE0LDQ3LDEsMCwwLDExNCw1NSwxLDAsMCwKKyAgICAxMTQsMjUxLDAsMCwwLDExNCwxOTQsMCwwLDAsMTE0LDIwMiwwLDAsMCwxMTQsCisgICAgMywwLDAsMCwxMTQsNTYsMCwwLDAsMTE0LDIwNSwwLDAsMCwxMTQsMjEsCisgICAgMSwwLDAsNDAsMywwLDAsMCwxMTQsODQsMSwwLDAsMTE0LDg1LDEsCisgICAgMCwwLDExNiwxNywwLDAsMCwxMTUsMTE3LDExMiwxMTIsMTExLDExNCwxMTYsMTAxLDEwMCwKKyAgICA5NSwxMDgsMTExLDk3LDEwMCwxMDEsMTE0LDExNSwxMTQsNCwwLDAsMCwxMTQsNCwwLAorICAgIDAsMCwxMTQsNSwwLDAsMCwyNDQsOCwwLDAsMCw5NSwxMDUsMTEwLDExNSwKKyAgICAxMTYsOTcsMTA4LDEwOCwyNDcsNiwwLDAsMTE1LDE2LDAsMCwwLDAsMiwxMywKKyAgICAxLDksMSwyOCwxLDE2LDEsMTYsMSwxNSwxLDE5LDEsMTE0LDg3LDEsCisgICAgMCwwLDQwLDMsMCwwLDAsMTE3LDMsMCwwLDAsMTE5LDEwNSwxMTAsMTE0LAorICAgIDEsMCwwLDAsMTE0LDIsMCwwLDAsNDAsNzcsMCwwLDAsMTE0LDU4LAorICAgIDAsMCwwLDExNCwxMCwwLDAsMCwxMTQsMTEsMCwwLDAsMTE0LDE3LDAsCisgICAgMCwwLDExNCwxOSwwLDAsMCwxMTQsMjgsMCwwLDAsMTE0LDM4LDAsMCwKKyAgICAwLDExNCw0MywwLDAsMCwxMTQsNDQsMCwwLDAsMTE0LDQ1LDAsMCwwLAorICAgIDExNCw1NCwwLDAsMCwxMTQsNjQsMCwwLDAsMTE0LDY1LDAsMCwwLDI0NCwKKyAgICA4LDAsMCwwLDk1LDk1LDk5LDExMSwxMDAsMTAxLDk1LDk1LDExNCwxODgsMCwwLAorICAgIDAsMTE0LDY3LDAsMCwwLDExNCw5MiwwLDAsMCwxMTQsODEsMCwwLDAsCisgICAgMTE0LDg4LDAsMCwwLDExNCw2OCwwLDAsMCwxMTQsNzAsMCwwLDAsMTE0LAorICAgIDkxLDAsMCwwLDExNCw5NiwwLDAsMCwxMTQsOTksMCwwLDAsMTE0LDEwMiwKKyAgICAwLDAsMCwxMTQsMTUsMCwwLDAsMTE0LDE4MSwwLDAsMCwxMTQsMTQsMCwKKyAgICAwLDAsMTE0LDE4LDAsMCwwLDExNiwxNywwLDAsMCw5NSw4Miw2NSw4NywKKyAgICA5NSw3Nyw2NSw3MSw3Myw2Nyw5NSw3OCw4NSw3Nyw2Niw2OSw4MiwxMTQsMTEzLDAsCisgICAgMCwwLDExNCwxMjIsMCwwLDAsMTE0LDEwNywwLDAsMCwxMTQsMTA4LDAsMCwKKyAgICAwLDExNCwxMjAsMCwwLDAsMTE0LDEyMywwLDAsMCwxMTQsMTMxLDAsMCwwLAorICAgIDExNCwxMzMsMCwwLDAsMTE0LDE0MSwwLDAsMCwxMTQsMTQ4LDAsMCwwLDExNCwKKyAgICAxNTEsMCwwLDAsMTE0LDE1OSwwLDAsMCwxMTQsMTYyLDAsMCwwLDExNCwxNjUsCisgICAgMCwwLDAsMTE0LDE2OCwwLDAsMCwxMTQsMTc2LDAsMCwwLDExNCwxODUsMCwKKyAgICAwLDAsMTE0LDE5MCwwLDAsMCwxMTQsMTkzLDAsMCwwLDExNCwxOTQsMCwwLAorICAgIDAsMTE0LDIwMiwwLDAsMCwxMTQsMjA1LDAsMCwwLDExNCwyMTgsMCwwLDAsCisgICAgMTE0LDIyNCwwLDAsMCwxMTQsMjQ0LDAsMCwwLDExNCwyNDgsMCwwLDAsMTE0LAorICAgIDI1NCwwLDAsMCwxMTQsNCwxLDAsMCwxMTQsMjU1LDAsMCwwLDExNCw1LAorICAgIDEsMCwwLDExNCwyMCwxLDAsMCwxMTQsMjEsMSwwLDAsMTE0LDMzLDEsCisgICAgMCwwLDExNCw0OCwxLDAsMCwxMTQsNTQsMSwwLDAsMTE0LDU2LDEsMCwKKyAgICAwLDExNCw1OSwxLDAsMCwxMTQsNjAsMSwwLDAsMTE0LDYzLDEsMCwwLAorICAgIDExNCw2NCwxLDAsMCwxMTQsNjUsMSwwLDAsMTE0LDcxLDEsMCwwLDExNCwKKyAgICA3MywxLDAsMCwxMTQsMjE1LDAsMCwwLDExNCw3NywxLDAsMCwxMTQsODYsCisgICAgMSwwLDAsMTE0LDg3LDEsMCwwLDExNCw0LDAsMCwwLDExNCw0LDAsCisgICAgMCwwLDExNCw0LDAsMCwwLDExNCw1LDAsMCwwLDI0NCw4LDAsMCwKKyAgICAwLDYwLDEwOSwxMTEsMTAwLDExNywxMDgsMTAxLDYyLDgsMCwwLDAsMTE1LDE0MCwwLAorICAgIDAsMCw2LDIxLDYsMywxMiwxMywxMiwxMCwxMiw5LDEyLDYsMTIsMTIsCisgICAgMTIsMTAsMTIsNiwxMiw3LDE1LDIyLDEyLDgsMTUsMywxMiwxMiw2LDIsCisgICAgNiwzLDIyLDQsMTksNjgsMTksMjMsMTIsMTksMTIsMjAsMTIsMTA3LDIyLDEsCisgICAgMTgsMiw2LDIsOSwyLDksMSw5LDIsMTUsMjcsMTIsMjMsMTIsMjEsCisgICAgMTIsMTIsMTgsOCwxMiwxMywxMiwxMSwxMiw1NSwxMiwxOCwxMiwxMSwxMiwxMSwKKyAgICAxMiwxMywyMSw1NSwyMSwxMiwxOCwxMiwxOSw1NywxOSw1NCwxOSw1MCwxOSwzNCwKKyAgICAyMiwxMzIsMTksMjksMjUsNDMsMjUsMTksNiwzLDE5LDQ1LDE5LDU1LDE5LDE4LAorICAgIDE5LDkxLDE5LDEyOCwxOSwxMywxMiw5LDEyLDE3LDEyLDE3LDYsMiwxMiw1MCwKKyAgICAxMiwxMywxOCwyNCwxMiwzNCwxMiwxNSwxMiwxMSwyNCwzNiwxMiw3NiwKIH07CmRpZmYgLS1naXQgYS9QeXRob24vbWFyc2hhbC5jIGIvUHl0aG9uL21hcnNoYWwuYwppbmRleCA5NTlmM2Y3Li4zZTEzODUxIDEwMDY0NAotLS0gYS9QeXRob24vbWFyc2hhbC5jCisrKyBiL1B5dGhvbi9tYXJzaGFsLmMKQEAgLTEsOCArMSwxMCBAQAogCiAvKiBXcml0ZSBQeXRob24gb2JqZWN0cyB0byBmaWxlcyBhbmQgcmVhZCB0aGVtIGJhY2suCi0gICBUaGlzIGlzIGludGVuZGVkIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIGNvbXBpbGVkIFB5dGhvbiBjb2RlIG9ubHk7Ci0gICBhIHRydWUgcGVyc2lzdGVudCBzdG9yYWdlIGZhY2lsaXR5IHdvdWxkIGJlIG11Y2ggaGFyZGVyLCBzaW5jZQotICAgaXQgd291bGQgaGF2ZSB0byB0YWtlIGNpcmN1bGFyIGxpbmtzIGFuZCBzaGFyaW5nIGludG8gYWNjb3VudC4gKi8KKyAgIFRoaXMgaXMgcHJpbWFyaWx5IGludGVuZGVkIGZvciB3cml0aW5nIGFuZCByZWFkaW5nIGNvbXBpbGVkIFB5dGhvbiBjb2RlLAorICAgZXZlbiB0aG91Z2ggZGljdHMsIGxpc3RzLCBzZXRzIGFuZCBmcm96ZW5zZXRzLCBub3QgY29tbW9ubHkgc2VlbiBpbgorICAgY29kZSBvYmplY3RzLCBhcmUgc3VwcG9ydGVkLgorICAgVmVyc2lvbiAzIG9mIHRoaXMgcHJvdG9jb2wgcHJvcGVybHkgc3VwcG9ydHMgY2lyY3VsYXIgbGlua3MKKyAgIGFuZCBzaGFyaW5nLiAqLwogCiAjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KIApAQCAtMzEsMTYgKzMzLDE0IEBACiAjZGVmaW5lIFRZUEVfU1RPUElURVIgICAgICAgICAgICdTJwogI2RlZmluZSBUWVBFX0VMTElQU0lTICAgICAgICAgICAnLicKICNkZWZpbmUgVFlQRV9JTlQgICAgICAgICAgICAgICAgJ2knCi0vKiBUWVBFX0lOVDY0IGlzIGRlcHJlY2F0ZWQuIEl0IGlzIG5vdAotICAgZ2VuZXJhdGVkIGFueW1vcmUsIGFuZCBzdXBwb3J0IGZvciByZWFkaW5nIGl0Ci0gICB3aWxsIGJlIHJlbW92ZWQgaW4gUHl0aG9uIDMuNC4gKi8KLSNkZWZpbmUgVFlQRV9JTlQ2NCAgICAgICAgICAgICAgJ0knCiAjZGVmaW5lIFRZUEVfRkxPQVQgICAgICAgICAgICAgICdmJwogI2RlZmluZSBUWVBFX0JJTkFSWV9GTE9BVCAgICAgICAnZycKICNkZWZpbmUgVFlQRV9DT01QTEVYICAgICAgICAgICAgJ3gnCiAjZGVmaW5lIFRZUEVfQklOQVJZX0NPTVBMRVggICAgICd5JwogI2RlZmluZSBUWVBFX0xPTkcgICAgICAgICAgICAgICAnbCcKICNkZWZpbmUgVFlQRV9TVFJJTkcgICAgICAgICAgICAgJ3MnCisjZGVmaW5lIFRZUEVfSU5URVJORUQgICAgICAgICAgICd0JworI2RlZmluZSBUWVBFX1JFRiAgICAgICAgICAgICAgICAncicKICNkZWZpbmUgVFlQRV9UVVBMRSAgICAgICAgICAgICAgJygnCiAjZGVmaW5lIFRZUEVfTElTVCAgICAgICAgICAgICAgICdbJwogI2RlZmluZSBUWVBFX0RJQ1QgICAgICAgICAgICAgICAneycKQEAgLTQ5LDYgKzQ5LDcgQEAKICNkZWZpbmUgVFlQRV9VTktOT1dOICAgICAgICAgICAgJz8nCiAjZGVmaW5lIFRZUEVfU0VUICAgICAgICAgICAgICAgICc8JwogI2RlZmluZSBUWVBFX0ZST1pFTlNFVCAgICAgICAgICAnPicKKyNkZWZpbmUgRkxBR19SRUYgICAgICAgICAgICAgICAgJ1x4ODAnIC8qIHdpdGggYSB0eXBlLCBhZGQgb2JqIHRvIGluZGV4ICovCiAKICNkZWZpbmUgV0ZFUlJfT0sgMAogI2RlZmluZSBXRkVSUl9VTk1BUlNIQUxMQUJMRSAxCkBAIC02NSw2ICs2Niw3IEBACiAgICAgUHlPYmplY3QgKmN1cnJlbnRfZmlsZW5hbWU7CiAgICAgY2hhciAqcHRyOwogICAgIGNoYXIgKmVuZDsKKyAgICBQeU9iamVjdCAqcmVmczsgLyogZGljdCBvbiBtYXJzaGFsLCBsaXN0IG9uIHVubWFyc2hhbCAqLwogICAgIGludCB2ZXJzaW9uOwogfSBXRklMRTsKIApAQCAtMTUxLDEzICsxNTMsMTcgQEAKICNlbmRpZgogI2RlZmluZSBQeUxvbmdfTUFSU0hBTF9SQVRJTyAoUHlMb25nX1NISUZUIC8gUHlMb25nX01BUlNIQUxfU0hJRlQpCiAKKyNkZWZpbmUgV19UWVBFKHQsIHApIGRvIHsgXAorICAgIHdfYnl0ZSgodCkgfCBmbGFnLCAocCkpOyBcCit9IHdoaWxlKDApCisKIHN0YXRpYyB2b2lkCi13X1B5TG9uZyhjb25zdCBQeUxvbmdPYmplY3QgKm9iLCBXRklMRSAqcCkKK3dfUHlMb25nKGNvbnN0IFB5TG9uZ09iamVjdCAqb2IsIGNoYXIgZmxhZywgV0ZJTEUgKnApCiB7CiAgICAgUHlfc3NpemVfdCBpLCBqLCBuLCBsOwogICAgIGRpZ2l0IGQ7CiAKLSAgICB3X2J5dGUoVFlQRV9MT05HLCBwKTsKKyAgICBXX1RZUEUoVFlQRV9MT05HLCBwKTsKICAgICBpZiAoUHlfU0laRShvYikgPT0gMCkgewogICAgICAgICB3X2xvbmcoKGxvbmcpMCwgcCk7CiAgICAgICAgIHJldHVybjsKQEAgLTE5NCwxMCArMjAwLDY0IEBACiAgICAgfSB3aGlsZSAoZCAhPSAwKTsKIH0KIAorc3RhdGljIGludAord19yZWYoUHlPYmplY3QgKnYsIGNoYXIgKmZsYWcsIFdGSUxFICpwKQoreworICAgIFB5T2JqZWN0ICppZDsKKyAgICBQeU9iamVjdCAqaWR4OworCisgICAgaWYgKHAtPnZlcnNpb24gPCAzIHx8IHAtPnJlZnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIDA7IC8qIG5vdCB3cml0aW5nIG9iamVjdCByZWZlcmVuY2VzICovCisKKyAgICAvKiBpZiBpdCBoYXMgb25seSBvbmUgcmVmZXJlbmNlLCBpdCBkZWZpbml0ZWx5IGlzbid0IHNoYXJlZCAqLworICAgIGlmIChQeV9SRUZDTlQodikgPT0gMSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZCA9IFB5TG9uZ19Gcm9tVm9pZFB0cigodm9pZCopdik7CisgICAgaWYgKGlkID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyOworICAgIGlkeCA9IFB5RGljdF9HZXRJdGVtKHAtPnJlZnMsIGlkKTsKKyAgICBpZiAoaWR4ICE9IE5VTEwpIHsKKyAgICAgICAgLyogd3JpdGUgdGhlIHJlZmVyZW5jZSBpbmRleCB0byB0aGUgc3RyZWFtICovCisgICAgICAgIGxvbmcgdyA9IFB5TG9uZ19Bc0xvbmcoaWR4KTsKKyAgICAgICAgUHlfREVDUkVGKGlkKTsKKyAgICAgICAgaWYgKHcgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIH0KKyAgICAgICAgLyogd2UgZG9uJ3Qgc3RvcmUgImxvbmciIGluZGljZXMgaW4gdGhlIGRpY3QgKi8KKyAgICAgICAgYXNzZXJ0KDAgPD0gdyAmJiB3IDw9IDB4N2ZmZmZmZmYpOworICAgICAgICB3X2J5dGUoVFlQRV9SRUYsIHApOworICAgICAgICB3X2xvbmcodywgcCk7CisgICAgICAgIHJldHVybiAxOworICAgIH0gZWxzZSB7CisgICAgICAgIGludCBvazsKKyAgICAgICAgUHlfc3NpemVfdCBzID0gUHlEaWN0X1NpemUocC0+cmVmcyk7CisgICAgICAgIC8qIHdlIGRvbid0IHN1cHBvcnQgbG9uZyBpbmRpY2VzICovCisgICAgICAgIGlmIChzID49IDB4N2ZmZmZmZmYpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAidG9vIG1hbnkgb2JqZWN0cyIpOworICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIH0KKyAgICAgICAgaWR4ID0gUHlMb25nX0Zyb21Tc2l6ZV90KHMpOworICAgICAgICBvayA9IGlkeCAmJiBQeURpY3RfU2V0SXRlbShwLT5yZWZzLCBpZCwgaWR4KSA9PSAwOworICAgICAgICBQeV9ERUNSRUYoaWQpOworICAgICAgICBQeV9YREVDUkVGKGlkeCk7CisgICAgICAgIGlmICghb2spCisgICAgICAgICAgICBnb3RvIGVycjsKKyAgICAgICAgKmZsYWcgfD0gRkxBR19SRUY7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK2VycjoKKyAgICBwLT5lcnJvciA9IFdGRVJSX1VOTUFSU0hBTExBQkxFOworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgdm9pZAord19jb21wbGV4X29iamVjdChQeU9iamVjdCAqdiwgY2hhciBmbGFnLCBXRklMRSAqcCk7CisKIHN0YXRpYyB2b2lkCiB3X29iamVjdChQeU9iamVjdCAqdiwgV0ZJTEUgKnApCiB7Ci0gICAgUHlfc3NpemVfdCBpLCBuOworICAgIGNoYXIgZmxhZyA9ICdcMCc7CiAKICAgICBwLT5kZXB0aCsrOwogCkBAIC0yMjIsMjQgKzI4MiwzNSBAQAogICAgIGVsc2UgaWYgKHYgPT0gUHlfVHJ1ZSkgewogICAgICAgICB3X2J5dGUoVFlQRV9UUlVFLCBwKTsKICAgICB9Ci0gICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrRXhhY3QodikpIHsKKyAgICBlbHNlIGlmICghd19yZWYodiwgJmZsYWcsIHApKQorICAgICAgICB3X2NvbXBsZXhfb2JqZWN0KHYsIGZsYWcsIHApOworCisgICAgcC0+ZGVwdGgtLTsKK30KKworc3RhdGljIHZvaWQKK3dfY29tcGxleF9vYmplY3QoUHlPYmplY3QgKnYsIGNoYXIgZmxhZywgV0ZJTEUgKnApCit7CisgICAgUHlfc3NpemVfdCBpLCBuOworCisgICAgaWYgKFB5TG9uZ19DaGVja0V4YWN0KHYpKSB7CiAgICAgICAgIGxvbmcgeCA9IFB5TG9uZ19Bc0xvbmcodik7CiAgICAgICAgIGlmICgoeCA9PSAtMSkgICYmIFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgICAgIFB5TG9uZ09iamVjdCAqb2IgPSAoUHlMb25nT2JqZWN0ICopdjsKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgICAgICB3X1B5TG9uZyhvYiwgcCk7CisgICAgICAgICAgICB3X1B5TG9uZyhvYiwgZmxhZywgcCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAjaWYgU0laRU9GX0xPTkcgPiA0CiAgICAgICAgICAgICBsb25nIHkgPSBQeV9BUklUSE1FVElDX1JJR0hUX1NISUZUKGxvbmcsIHgsIDMxKTsKICAgICAgICAgICAgIGlmICh5ICYmIHkgIT0gLTEpIHsKICAgICAgICAgICAgICAgICAvKiBUb28gbGFyZ2UgZm9yIFRZUEVfSU5UICovCi0gICAgICAgICAgICAgICAgd19QeUxvbmcoKFB5TG9uZ09iamVjdCopdiwgcCk7CisgICAgICAgICAgICAgICAgd19QeUxvbmcoKFB5TG9uZ09iamVjdCopdiwgZmxhZywgcCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAjZW5kaWYKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICB3X2J5dGUoVFlQRV9JTlQsIHApOworICAgICAgICAgICAgICAgIFdfVFlQRShUWVBFX0lOVCwgcCk7CiAgICAgICAgICAgICAgICAgd19sb25nKHgsIHApOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yNTIsNyArMzIzLDcgQEAKICAgICAgICAgICAgICAgICBwLT5lcnJvciA9IFdGRVJSX1VOTUFSU0hBTExBQkxFOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHdfYnl0ZShUWVBFX0JJTkFSWV9GTE9BVCwgcCk7CisgICAgICAgICAgICBXX1RZUEUoVFlQRV9CSU5BUllfRkxPQVQsIHApOwogICAgICAgICAgICAgd19zdHJpbmcoKGNoYXIqKWJ1ZiwgOCwgcCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC0yNjMsNyArMzM0LDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBuID0gc3RybGVuKGJ1Zik7Ci0gICAgICAgICAgICB3X2J5dGUoVFlQRV9GTE9BVCwgcCk7CisgICAgICAgICAgICBXX1RZUEUoVFlQRV9GTE9BVCwgcCk7CiAgICAgICAgICAgICB3X2J5dGUoKGludCluLCBwKTsKICAgICAgICAgICAgIHdfc3RyaW5nKGJ1ZiwgbiwgcCk7CiAgICAgICAgICAgICBQeU1lbV9GcmVlKGJ1Zik7CkBAIC0yNzcsNyArMzQ4LDcgQEAKICAgICAgICAgICAgICAgICBwLT5lcnJvciA9IFdGRVJSX1VOTUFSU0hBTExBQkxFOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHdfYnl0ZShUWVBFX0JJTkFSWV9DT01QTEVYLCBwKTsKKyAgICAgICAgICAgIFdfVFlQRShUWVBFX0JJTkFSWV9DT01QTEVYLCBwKTsKICAgICAgICAgICAgIHdfc3RyaW5nKChjaGFyKilidWYsIDgsIHApOwogICAgICAgICAgICAgaWYgKF9QeUZsb2F0X1BhY2s4KFB5Q29tcGxleF9JbWFnQXNEb3VibGUodiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLCAxKSA8IDApIHsKQEAgLTI4OCw3ICszNTksNyBAQAogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgY2hhciAqYnVmOwotICAgICAgICAgICAgd19ieXRlKFRZUEVfQ09NUExFWCwgcCk7CisgICAgICAgICAgICBXX1RZUEUoVFlQRV9DT01QTEVYLCBwKTsKICAgICAgICAgICAgIGJ1ZiA9IFB5T1NfZG91YmxlX3RvX3N0cmluZyhQeUNvbXBsZXhfUmVhbEFzRG91YmxlKHYpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnJywgMTcsIDAsIE5VTEwpOwogICAgICAgICAgICAgaWYgKCFidWYpIHsKQEAgLTMxMiw3ICszODMsNyBAQAogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgaWYgKFB5Qnl0ZXNfQ2hlY2tFeGFjdCh2KSkgewotICAgICAgICB3X2J5dGUoVFlQRV9TVFJJTkcsIHApOworICAgICAgICBXX1RZUEUoVFlQRV9TVFJJTkcsIHApOwogICAgICAgICBuID0gUHlCeXRlc19HRVRfU0laRSh2KTsKICAgICAgICAgV19TSVpFKG4sIHApOwogICAgICAgICB3X3N0cmluZyhQeUJ5dGVzX0FTX1NUUklORyh2KSwgbiwgcCk7CkBAIC0zMjUsMTQgKzM5NiwxNyBAQAogICAgICAgICAgICAgcC0+ZXJyb3IgPSBXRkVSUl9VTk1BUlNIQUxMQUJMRTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAgICB3X2J5dGUoVFlQRV9VTklDT0RFLCBwKTsKKyAgICAgICAgaWYgKHAtPnZlcnNpb24gPj0gMyAmJiAgUHlVbmljb2RlX0NIRUNLX0lOVEVSTkVEKHYpKQorICAgICAgICAgICAgV19UWVBFKFRZUEVfSU5URVJORUQsIHApOworICAgICAgICBlbHNlCisgICAgICAgICAgICBXX1RZUEUoVFlQRV9VTklDT0RFLCBwKTsKICAgICAgICAgbiA9IFB5Qnl0ZXNfR0VUX1NJWkUodXRmOCk7CiAgICAgICAgIFdfU0laRShuLCBwKTsKICAgICAgICAgd19zdHJpbmcoUHlCeXRlc19BU19TVFJJTkcodXRmOCksIG4sIHApOwogICAgICAgICBQeV9ERUNSRUYodXRmOCk7CiAgICAgfQogICAgIGVsc2UgaWYgKFB5VHVwbGVfQ2hlY2tFeGFjdCh2KSkgewotICAgICAgICB3X2J5dGUoVFlQRV9UVVBMRSwgcCk7CisgICAgICAgIFdfVFlQRShUWVBFX1RVUExFLCBwKTsKICAgICAgICAgbiA9IFB5VHVwbGVfU2l6ZSh2KTsKICAgICAgICAgV19TSVpFKG4sIHApOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CkBAIC0zNDAsNyArNDE0LDcgQEAKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlIGlmIChQeUxpc3RfQ2hlY2tFeGFjdCh2KSkgewotICAgICAgICB3X2J5dGUoVFlQRV9MSVNULCBwKTsKKyAgICAgICAgV19UWVBFKFRZUEVfTElTVCwgcCk7CiAgICAgICAgIG4gPSBQeUxpc3RfR0VUX1NJWkUodik7CiAgICAgICAgIFdfU0laRShuLCBwKTsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewpAQCAtMzUwLDcgKzQyNCw3IEBACiAgICAgZWxzZSBpZiAoUHlEaWN0X0NoZWNrRXhhY3QodikpIHsKICAgICAgICAgUHlfc3NpemVfdCBwb3M7CiAgICAgICAgIFB5T2JqZWN0ICprZXksICp2YWx1ZTsKLSAgICAgICAgd19ieXRlKFRZUEVfRElDVCwgcCk7CisgICAgICAgIFdfVFlQRShUWVBFX0RJQ1QsIHApOwogICAgICAgICAvKiBUaGlzIG9uZSBpcyBOVUxMIG9iamVjdCB0ZXJtaW5hdGVkISAqLwogICAgICAgICBwb3MgPSAwOwogICAgICAgICB3aGlsZSAoUHlEaWN0X05leHQodiwgJnBvcywgJmtleSwgJnZhbHVlKSkgewpAQCAtMzYzLDkgKzQzNyw5IEBACiAgICAgICAgIFB5T2JqZWN0ICp2YWx1ZSwgKml0OwogCiAgICAgICAgIGlmIChQeU9iamVjdF9UeXBlQ2hlY2sodiwgJlB5U2V0X1R5cGUpKQotICAgICAgICAgICAgd19ieXRlKFRZUEVfU0VULCBwKTsKKyAgICAgICAgICAgIFdfVFlQRShUWVBFX1NFVCwgcCk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHdfYnl0ZShUWVBFX0ZST1pFTlNFVCwgcCk7CisgICAgICAgICAgICBXX1RZUEUoVFlQRV9GUk9aRU5TRVQsIHApOwogICAgICAgICBuID0gUHlPYmplY3RfU2l6ZSh2KTsKICAgICAgICAgaWYgKG4gPT0gLTEpIHsKICAgICAgICAgICAgIHAtPmRlcHRoLS07CkBAIC0zOTIsNyArNDY2LDcgQEAKICAgICB9CiAgICAgZWxzZSBpZiAoUHlDb2RlX0NoZWNrKHYpKSB7CiAgICAgICAgIFB5Q29kZU9iamVjdCAqY28gPSAoUHlDb2RlT2JqZWN0ICopdjsKLSAgICAgICAgd19ieXRlKFRZUEVfQ09ERSwgcCk7CisgICAgICAgIFdfVFlQRShUWVBFX0NPREUsIHApOwogICAgICAgICB3X2xvbmcoY28tPmNvX2FyZ2NvdW50LCBwKTsKICAgICAgICAgd19sb25nKGNvLT5jb19rd29ubHlhcmdjb3VudCwgcCk7CiAgICAgICAgIHdfbG9uZyhjby0+Y29fbmxvY2FscywgcCk7CkBAIC00MTksNyArNDkzLDcgQEAKICAgICAgICAgICAgIHAtPmVycm9yID0gV0ZFUlJfVU5NQVJTSEFMTEFCTEU7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgd19ieXRlKFRZUEVfU1RSSU5HLCBwKTsKKyAgICAgICAgV19UWVBFKFRZUEVfU1RSSU5HLCBwKTsKICAgICAgICAgbiA9IHZpZXcubGVuOwogICAgICAgICBzID0gdmlldy5idWY7CiAgICAgICAgIFdfU0laRShuLCBwKTsKQEAgLTQyNywxMCArNTAxLDkgQEAKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmlldyk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICB3X2J5dGUoVFlQRV9VTktOT1dOLCBwKTsKKyAgICAgICAgV19UWVBFKFRZUEVfVU5LTk9XTiwgcCk7CiAgICAgICAgIHAtPmVycm9yID0gV0ZFUlJfVU5NQVJTSEFMTEFCTEU7CiAgICAgfQotICAgIHAtPmRlcHRoLS07CiB9CiAKIC8qIHZlcnNpb24gY3VycmVudGx5IGhhcyBubyBlZmZlY3QgZm9yIHdyaXRpbmcgbG9uZ3MuICovCkBAIC00NDEsNiArNTE0LDcgQEAKICAgICB3Zi5mcCA9IGZwOwogICAgIHdmLmVycm9yID0gV0ZFUlJfT0s7CiAgICAgd2YuZGVwdGggPSAwOworICAgIHdmLnJlZnMgPSBOVUxMOwogICAgIHdmLnZlcnNpb24gPSB2ZXJzaW9uOwogICAgIHdfbG9uZyh4LCAmd2YpOwogfQpAQCAtNDUyLDggKzUyNiwxNCBAQAogICAgIHdmLmZwID0gZnA7CiAgICAgd2YuZXJyb3IgPSBXRkVSUl9PSzsKICAgICB3Zi5kZXB0aCA9IDA7CisgICAgaWYgKHZlcnNpb24gPj0gMykgeworICAgICAgICBpZiAoKHdmLnJlZnMgPSBQeURpY3RfTmV3KCkpID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm47IC8qIGNhbGxlciBtdXNoIGNoZWNrIFB5RXJyX09jY3VycmVkKCkgKi8KKyAgICB9IGVsc2UKKyAgICAgICAgd2YucmVmcyA9IE5VTEw7CiAgICAgd2YudmVyc2lvbiA9IHZlcnNpb247CiAgICAgd19vYmplY3QoeCwgJndmKTsKKyAgICBQeV9YREVDUkVGKHdmLnJlZnMpOwogfQogCiB0eXBlZGVmIFdGSUxFIFJGSUxFOyAvKiBTYW1lIHN0cnVjdCB3aXRoIGRpZmZlcmVudCBpbnZhcmlhbnRzICovCkBAIC00ODksNyArNTY5LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICByZWFkID0gUHlCeXRlc19HRVRfU0laRShkYXRhKTsKKyAgICAgICAgICAgICAgICByZWFkID0gKGludClQeUJ5dGVzX0dFVF9TSVpFKGRhdGEpOwogICAgICAgICAgICAgICAgIGlmIChyZWFkID4gMCkgewogICAgICAgICAgICAgICAgICAgICBwdHIgPSBQeUJ5dGVzX0FTX1NUUklORyhkYXRhKTsKICAgICAgICAgICAgICAgICAgICAgbWVtY3B5KHMsIHB0ciwgcmVhZCk7CkBAIC01NTQsNDIgKzYzNCw2IEBACiAgICAgcmV0dXJuIHg7CiB9CiAKLS8qIHJfbG9uZzY0IGRlYWxzIHdpdGggdGhlIFRZUEVfSU5UNjQgY29kZS4gIE9uIGEgbWFjaGluZSB3aXRoCi0gICBzaXplb2YobG9uZykgPiA0LCBpdCByZXR1cm5zIGEgUHl0aG9uIGludCBvYmplY3QsIGVsc2UgYSBQeXRob24gbG9uZwotICAgb2JqZWN0LiAgTm90ZSB0aGF0IHdfbG9uZzY0IHdyaXRlcyBvdXQgVFlQRV9JTlQgaWYgMzIgYml0cyBpcyBlbm91Z2gsCi0gICBzbyB0aGVyZSdzIG5vIGluZWZmaWNpZW5jeSBoZXJlIGluIHJldHVybmluZyBhIFB5TG9uZyBvbiAzMi1iaXQgYm94ZXMKLSAgIGZvciBldmVyeXRoaW5nIHdyaXR0ZW4gdmlhIFRZUEVfSU5UNjQgKGkuZS4sIGlmIGFuIGludCBpcyB3cml0dGVuIHZpYQotICAgVFlQRV9JTlQ2NCwgaXQgKm5lZWRzKiBtb3JlIHRoYW4gMzIgYml0cykuCi0qLwotc3RhdGljIFB5T2JqZWN0ICoKLXJfbG9uZzY0KFJGSUxFICpwKQotewotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIGxvbmcgbG80ID0gcl9sb25nKHApOwotICAgIGxvbmcgaGk0ID0gcl9sb25nKHApOwotCi0gICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKSB7Ci0jaWYgU0laRU9GX0xPTkcgPiA0Ci0gICAgICAgIGxvbmcgeCA9IChoaTQgPDwgMzIpIHwgKGxvNCAmIDB4RkZGRkZGRkZMKTsKLSAgICAgICAgcmVzdWx0ID0gUHlMb25nX0Zyb21Mb25nKHgpOwotI2Vsc2UKLSAgICAgICAgdW5zaWduZWQgY2hhciBidWZbOF07Ci0gICAgICAgIGludCBvbmUgPSAxOwotICAgICAgICBpbnQgaXNfbGl0dGxlX2VuZGlhbiA9IChpbnQpKihjaGFyKikmb25lOwotICAgICAgICBpZiAoaXNfbGl0dGxlX2VuZGlhbikgewotICAgICAgICAgICAgbWVtY3B5KGJ1ZiwgJmxvNCwgNCk7Ci0gICAgICAgICAgICBtZW1jcHkoYnVmKzQsICZoaTQsIDQpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbWVtY3B5KGJ1ZiwgJmhpNCwgNCk7Ci0gICAgICAgICAgICBtZW1jcHkoYnVmKzQsICZsbzQsIDQpOwotICAgICAgICB9Ci0gICAgICAgIHJlc3VsdCA9IF9QeUxvbmdfRnJvbUJ5dGVBcnJheShidWYsIDgsIGlzX2xpdHRsZV9lbmRpYW4sIDEpOwotI2VuZGlmCi0gICAgfQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiByX1B5TG9uZyhSRklMRSAqcCkKIHsKQEAgLTY1OSw2ICs3MDMsNjIgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorLyogYWxsb2NhdGUgdGhlIHJlZmxpc3QgaW5kZXggZm9yIGEgbmV3IG9iamVjdC4gUmV0dXJuIC0xIG9uIGZhaWx1cmUgKi8KK3N0YXRpYyBQeV9zc2l6ZV90CityX3JlZl9yZXNlcnZlKGludCBmbGFnLCBSRklMRSAqcCkKK3sKKyAgICBpZiAoZmxhZykgeyAvKiBjdXJyZW50bHkgb25seSBGTEFHX1JFRiBpcyBkZWZpbmVkICovCisgICAgICAgIFB5X3NzaXplX3QgaWR4ID0gUHlMaXN0X1NpemUocC0+cmVmcyk7CisgICAgICAgIGlmIChpZHggPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBpZiAoaWR4ID49IDB4N2ZmZmZmZmUpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiYmFkIG1hcnNoYWwgZGF0YSAoaW5kZXggbGlzdCB0b28gbGFyZ2UpIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQocC0+cmVmcywgUHlfTm9uZSkgPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gaWR4OworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4gMDsKK30KKworLyogaW5zZXJ0IHRoZSBuZXcgb2JqZWN0ICdvJyB0byB0aGUgcmVmbGlzdCBhdCBwcmV2aW91c2x5CisgKiBhbGxvY2F0ZWQgaW5kZXggJ2lkeCcuCisgKiAnbycgY2FuIGJlIE5VTEwsIGluIHdoaWNoIGNhc2Ugbm90aGluZyBpcyBkb25lLgorICogaWYgJ28nIHdhcyBub24tTlVMTCwgYW5kIHRoZSBmdW5jdGlvbiBzdWNjZWVkcywgJ28nIGlzIHJldHVybmVkLgorICogaWYgJ28nIHdhcyBub24tTlVMTCwgYW5kIHRoZSBmdW5jdGlvbiBmYWlscywgJ28nIGlzIHJlbGVhc2VkIGFuZAorICogTlVMTCByZXR1cm5lZC4gVGhpcyBzaW1wbGlmaWVzIGVycm9yIGNoZWNraW5nIGF0IHRoZSBjYWxsIHNpdGUgc2luY2UKKyAqIGEgc2luZ2xlIHRlc3QgZm9yIE5VTEwgZm9yIHRoZSBmdW5jdGlvbiByZXN1bHQgaXMgZW5vdWdoLgorICovCitzdGF0aWMgUHlPYmplY3QgKgorcl9yZWZfaW5zZXJ0KFB5T2JqZWN0ICpvLCBQeV9zc2l6ZV90IGlkeCwgaW50IGZsYWcsIFJGSUxFICpwKQoreworICAgIGlmIChvICE9IE5VTEwgJiYgZmxhZykgeyAvKiBjdXJyZW50bHkgb25seSBGTEFHX1JFRiBpcyBkZWZpbmVkICovCisgICAgICAgIGlmIChQeUxpc3RfU2V0SXRlbShwLT5yZWZzLCBpZHgsIG8pIDwgMCkgeworICAgICAgICAgICAgUHlfREVDUkVGKG8pOyAvKiByZWxlYXNlIHRoZSBuZXcgb2JqZWN0ICovCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihvKTsgLyogYSByZWZlcmVuY2UgZm9yIHRoZSBsaXN0ICovCisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG87Cit9CisKKy8qIGNvbWJpbmF0aW9uIG9mIGJvdGggYWJvdmUsIHVzZWQgd2hlbiBhbiBvYmplY3QgY2FuIGJlCisgKiBjcmVhdGVkIHdoZW5ldmVyIGl0IGlzIHNlZW4gaW4gdGhlIGZpbGUsIGFzIG9wcG9zZWQgdG8KKyAqIGFmdGVyIGhhdmluZyBsb2FkZWQgaXRzIHN1Yi1vYmplY3RzLgorICovCitzdGF0aWMgUHlPYmplY3QgKgorcl9yZWYoUHlPYmplY3QgKm8sIGludCBmbGFnLCBSRklMRSAqcCkKK3sKKyAgICBpZiAobyAhPSBOVUxMICYmIGZsYWcpIHsgLyogY3VycmVudGx5IG9ubHkgRkxBR19SRUYgaXMgZGVmaW5lZCAqLworICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChwLT5yZWZzLCBvKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihvKTsgLyogcmVsZWFzZSB0aGUgbmV3IG9iamVjdCAqLworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG87Cit9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiByX29iamVjdChSRklMRSAqcCkKQEAgLTY2NiwxMCArNzY2LDE4IEBACiAgICAgLyogTlVMTCBpcyBhIHZhbGlkIHJldHVybiB2YWx1ZSwgaXQgZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbnMgdGhhdAogICAgICAgIGFuIGV4Y2VwdGlvbiBpcyBzZXQuICovCiAgICAgUHlPYmplY3QgKnYsICp2MjsKKyAgICBQeV9zc2l6ZV90IGlkeCA9IDA7CiAgICAgbG9uZyBpLCBuOwotICAgIGludCB0eXBlID0gcl9ieXRlKHApOworICAgIGludCB0eXBlLCBjb2RlID0gcl9ieXRlKHApOworICAgIGludCBmbGFnOwogICAgIFB5T2JqZWN0ICpyZXR2YWw7CiAKKyAgICBpZiAoY29kZSA9PSBFT0YpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0VPRkVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIkVPRiByZWFkIHdoZXJlIG9iamVjdCBleHBlY3RlZCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKICAgICBwLT5kZXB0aCsrOwogCiAgICAgaWYgKHAtPmRlcHRoID4gTUFYX01BUlNIQUxfU1RBQ0tfREVQVEgpIHsKQEAgLTY3OCwxMyArNzg2LDE1IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHN3aXRjaCAodHlwZSkgeworICAgIGZsYWcgPSBjb2RlICYgRkxBR19SRUY7CisgICAgdHlwZSA9IGNvZGUgJiB+RkxBR19SRUY7CiAKLSAgICBjYXNlIEVPRjoKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0VPRkVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIkVPRiByZWFkIHdoZXJlIG9iamVjdCBleHBlY3RlZCIpOwotICAgICAgICByZXR2YWwgPSBOVUxMOwotICAgICAgICBicmVhazsKKyNkZWZpbmUgUl9SRUYoTykgZG97XAorICAgIGlmIChmbGFnKSBcCisgICAgICAgIE8gPSByX3JlZihPLCBmbGFnLCBwKTtcCit9IHdoaWxlICgwKQorCisgICAgc3dpdGNoICh0eXBlKSB7CiAKICAgICBjYXNlIFRZUEVfTlVMTDoKICAgICAgICAgcmV0dmFsID0gTlVMTDsKQEAgLTcxOCwxNCArODI4LDEyIEBACiAgICAgY2FzZSBUWVBFX0lOVDoKICAgICAgICAgbiA9IHJfbG9uZyhwKTsKICAgICAgICAgcmV0dmFsID0gUHlFcnJfT2NjdXJyZWQoKSA/IE5VTEwgOiBQeUxvbmdfRnJvbUxvbmcobik7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBUWVBFX0lOVDY0OgotICAgICAgICByZXR2YWwgPSByX2xvbmc2NChwKTsKKyAgICAgICAgUl9SRUYocmV0dmFsKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFRZUEVfTE9ORzoKICAgICAgICAgcmV0dmFsID0gcl9QeUxvbmcocCk7CisgICAgICAgIFJfUkVGKHJldHZhbCk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBUWVBFX0ZMT0FUOgpAQCAtNzQ0LDYgKzg1Miw3IEBACiAgICAgICAgICAgICBpZiAoZHggPT0gLTEuMCAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgcmV0dmFsID0gUHlGbG9hdF9Gcm9tRG91YmxlKGR4KTsKKyAgICAgICAgICAgIFJfUkVGKHJldHZhbCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC03NjMsNiArODcyLDcgQEAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHZhbCA9IFB5RmxvYXRfRnJvbURvdWJsZSh4KTsKKyAgICAgICAgICAgIFJfUkVGKHJldHZhbCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC03OTIsNiArOTAyLDcgQEAKICAgICAgICAgICAgIGlmIChjLmltYWcgPT0gLTEuMCAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgcmV0dmFsID0gUHlDb21wbGV4X0Zyb21DQ29tcGxleChjKTsKKyAgICAgICAgICAgIFJfUkVGKHJldHZhbCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBAIC04MjIsNiArOTMzLDcgQEAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHZhbCA9IFB5Q29tcGxleF9Gcm9tQ0NvbXBsZXgoYyk7CisgICAgICAgICAgICBSX1JFRihyZXR2YWwpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtODQ5LDkgKzk2MSwxMSBAQAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgcmV0dmFsID0gdjsKKyAgICAgICAgUl9SRUYocmV0dmFsKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFRZUEVfVU5JQ09ERToKKyAgICBjYXNlIFRZUEVfSU5URVJORUQ6CiAgICAgICAgIHsKICAgICAgICAgY2hhciAqYnVmZmVyOwogCkBAIC04NzksNyArOTkzLDEwIEBACiAgICAgICAgIH0KICAgICAgICAgdiA9IFB5VW5pY29kZV9EZWNvZGVVVEY4KGJ1ZmZlciwgbiwgInN1cnJvZ2F0ZXBhc3MiKTsKICAgICAgICAgUHlNZW1fREVMKGJ1ZmZlcik7CisgICAgICAgIGlmICh0eXBlID09IFRZUEVfSU5URVJORUQpCisgICAgICAgICAgICBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZSgmdik7CiAgICAgICAgIHJldHZhbCA9IHY7CisgICAgICAgIFJfUkVGKHJldHZhbCk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKQEAgLTg5NSw2ICsxMDEyLDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIHYgPSBQeVR1cGxlX05ldyhuKTsKKyAgICAgICAgUl9SRUYodik7CiAgICAgICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgICAgIHJldHZhbCA9IE5VTEw7CiAgICAgICAgICAgICBicmVhazsKQEAgLTkyNiw2ICsxMDQ0LDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIHYgPSBQeUxpc3RfTmV3KG4pOworICAgICAgICBSX1JFRih2KTsKICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgcmV0dmFsID0gTlVMTDsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtOTQ3LDYgKzEwNjYsNyBAQAogCiAgICAgY2FzZSBUWVBFX0RJQ1Q6CiAgICAgICAgIHYgPSBQeURpY3RfTmV3KCk7CisgICAgICAgIFJfUkVGKHYpOwogICAgICAgICBpZiAodiA9PSBOVUxMKSB7CiAgICAgICAgICAgICByZXR2YWwgPSBOVUxMOwogICAgICAgICAgICAgYnJlYWs7CkBAIC05ODIsNiArMTEwMiwxNiBAQAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgdiA9ICh0eXBlID09IFRZUEVfU0VUKSA/IFB5U2V0X05ldyhOVUxMKSA6IFB5RnJvemVuU2V0X05ldyhOVUxMKTsKKyAgICAgICAgaWYgKHR5cGUgPT0gVFlQRV9TRVQpIHsKKyAgICAgICAgICAgIFJfUkVGKHYpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLyogbXVzdCB1c2UgZGVsYXllZCByZWdpc3RyYXRpb24gb2YgZnJvemVuc2V0cyBiZWNhdXNlIHRoZXkgbXVzdAorICAgICAgICAgICAgICogYmUgaW5pdCB3aXRoIGEgcmVmY291bnQgb2YgMQorICAgICAgICAgICAgICovCisgICAgICAgICAgICBpZHggPSByX3JlZl9yZXNlcnZlKGZsYWcsIHApOworICAgICAgICAgICAgaWYgKGlkeCA8IDApCisgICAgICAgICAgICAgICAgUHlfQ0xFQVIodik7IC8qIHNpZ25hbCBlcnJvciAqLworICAgICAgICB9CiAgICAgICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgICAgIHJldHZhbCA9IE5VTEw7CiAgICAgICAgICAgICBicmVhazsKQEAgLTEwMDQsNiArMTEzNCw4IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBQeV9ERUNSRUYodjIpOwogICAgICAgICB9CisgICAgICAgIGlmICh0eXBlICE9IFRZUEVfU0VUKQorICAgICAgICAgICAgdiA9IHJfcmVmX2luc2VydCh2LCBpZHgsIGZsYWcsIHApOwogICAgICAgICByZXR2YWwgPSB2OwogICAgICAgICBicmVhazsKIApAQCAtMTAyNSw2ICsxMTU3LDEyIEBACiAgICAgICAgICAgICBpbnQgZmlyc3RsaW5lbm87CiAgICAgICAgICAgICBQeU9iamVjdCAqbG5vdGFiID0gTlVMTDsKIAorICAgICAgICAgICAgaWR4ID0gcl9yZWZfcmVzZXJ2ZShmbGFnLCBwKTsKKyAgICAgICAgICAgIGlmIChpZHggPCAwKSB7CisgICAgICAgICAgICAgICAgcmV0dmFsID0gTlVMTDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgdiA9IE5VTEw7CiAKICAgICAgICAgICAgIC8qIFhYWCBpZ25vcmUgbG9uZy0+aW50IG92ZXJmbG93cyBmb3Igbm93ICovCkBAIC0xMDkwLDYgKzEyMjgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvZGUsIGNvbnN0cywgbmFtZXMsIHZhcm5hbWVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyZWV2YXJzLCBjZWxsdmFycywgZmlsZW5hbWUsIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RsaW5lbm8sIGxub3RhYik7CisgICAgICAgICAgICB2ID0gcl9yZWZfaW5zZXJ0KHYsIGlkeCwgZmxhZywgcCk7CiAKICAgICAgICAgICBjb2RlX2Vycm9yOgogICAgICAgICAgICAgUHlfWERFQ1JFRihjb2RlKTsKQEAgLTExMDUsNiArMTI0NCwyMyBAQAogICAgICAgICByZXR2YWwgPSB2OwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgVFlQRV9SRUY6CisgICAgICAgIG4gPSByX2xvbmcocCk7CisgICAgICAgIGlmIChuIDwgMCB8fCBuID49IFB5TGlzdF9HRVRfU0laRShwLT5yZWZzKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJiYWQgbWFyc2hhbCBkYXRhIChpbnZhbGlkIHJlZmVyZW5jZSkiKTsKKyAgICAgICAgICAgIHJldHZhbCA9IE5VTEw7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICB2ID0gUHlMaXN0X0dFVF9JVEVNKHAtPnJlZnMsIG4pOworICAgICAgICBpZiAodiA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImJhZCBtYXJzaGFsIGRhdGEgKGludmFsaWQgcmVmZXJlbmNlKSIpOworICAgICAgICAgICAgcmV0dmFsID0gTlVMTDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRih2KTsKKyAgICAgICAgcmV0dmFsID0gdjsKKyAgICAgICAgYnJlYWs7CisKICAgICBkZWZhdWx0OgogICAgICAgICAvKiBCb2d1cyBkYXRhIGdvdCB3cml0dGVuLCB3aGljaCBpc24ndCBpZGVhbC4KICAgICAgICAgICAgVGhpcyB3aWxsIGxldCB5b3Uga2VlcCB3b3JraW5nIGFuZCByZWNvdmVyLiAqLwpAQCAtMTIxMCw3ICsxMzY2LDExIEBACiAgICAgcmYuY3VycmVudF9maWxlbmFtZSA9IE5VTEw7CiAgICAgcmYuZGVwdGggPSAwOwogICAgIHJmLnB0ciA9IHJmLmVuZCA9IE5VTEw7CisgICAgcmYucmVmcyA9IFB5TGlzdF9OZXcoMCk7CisgICAgaWYgKHJmLnJlZnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmVzdWx0ID0gcl9vYmplY3QoJnJmKTsKKyAgICBQeV9ERUNSRUYocmYucmVmcyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTIyNSw3ICsxMzg1LDExIEBACiAgICAgcmYucHRyID0gc3RyOwogICAgIHJmLmVuZCA9IHN0ciArIGxlbjsKICAgICByZi5kZXB0aCA9IDA7CisgICAgcmYucmVmcyA9IFB5TGlzdF9OZXcoMCk7CisgICAgaWYgKHJmLnJlZnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmVzdWx0ID0gcl9vYmplY3QoJnJmKTsKKyAgICBQeV9ERUNSRUYocmYucmVmcyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTI0NCw3ICsxNDA4LDEzIEBACiAgICAgd2YuZXJyb3IgPSBXRkVSUl9PSzsKICAgICB3Zi5kZXB0aCA9IDA7CiAgICAgd2YudmVyc2lvbiA9IHZlcnNpb247CisgICAgaWYgKHZlcnNpb24gPj0gMykgeworICAgICAgICBpZiAoKHdmLnJlZnMgPSBQeURpY3RfTmV3KCkpID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9IGVsc2UKKyAgICAgICAgd2YucmVmcyA9IE5VTEw7CiAgICAgd19vYmplY3QoeCwgJndmKTsKKyAgICBQeV9YREVDUkVGKHdmLnJlZnMpOwogICAgIGlmICh3Zi5zdHIgIT0gTlVMTCkgewogICAgICAgICBjaGFyICpiYXNlID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKil3Zi5zdHIpOwogICAgICAgICBpZiAod2YucHRyIC0gYmFzZSA+IFBZX1NTSVpFX1RfTUFYKSB7CkBAIC0xMzE2LDYgKzE0ODYsOCBAQAogICAgICAqIE1ha2UgYSBjYWxsIHRvIHRoZSByZWFkIG1ldGhvZCwgYnV0IHJlYWQgemVybyBieXRlcy4KICAgICAgKiBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBvYmplY3QgcGFzc2VkIGluIGF0IGxlYXN0CiAgICAgICogaGFzIGEgcmVhZCBtZXRob2Qgd2hpY2ggcmV0dXJucyBieXRlcy4KKyAgICAgKiBUaGlzIGNhbiBiZSByZW1vdmVkIGlmIHdlIGd1YXJhbnRlZSBnb29kIGVycm9yIGhhbmRsaW5nCisgICAgICogZm9yIHJfc3RyaW5nKCkKICAgICAgKi8KICAgICBkYXRhID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmLCAmUHlJZF9yZWFkLCAiaSIsIDApOwogICAgIGlmIChkYXRhID09IE5VTEwpCkBAIC0xMzMxLDcgKzE1MDMsMTEgQEAKICAgICAgICAgcmYuZnAgPSBOVUxMOwogICAgICAgICByZi5yZWFkYWJsZSA9IGY7CiAgICAgICAgIHJmLmN1cnJlbnRfZmlsZW5hbWUgPSBOVUxMOwotICAgICAgICByZXN1bHQgPSByZWFkX29iamVjdCgmcmYpOworICAgICAgICBpZiAoKHJmLnJlZnMgPSBQeUxpc3RfTmV3KDApKSAhPSBOVUxMKSB7CisgICAgICAgICAgICByZXN1bHQgPSByZWFkX29iamVjdCgmcmYpOworICAgICAgICAgICAgUHlfREVDUkVGKHJmLnJlZnMpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJlc3VsdCA9IE5VTEw7CiAgICAgfQogICAgIFB5X0RFQ1JFRihkYXRhKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTM4OCw4ICsxNTY0LDExIEBACiAgICAgcmYucHRyID0gczsKICAgICByZi5lbmQgPSBzICsgbjsKICAgICByZi5kZXB0aCA9IDA7CisgICAgaWYgKChyZi5yZWZzID0gUHlMaXN0X05ldygwKSkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmVzdWx0ID0gcmVhZF9vYmplY3QoJnJmKTsKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwKTsKKyAgICBQeV9ERUNSRUYocmYucmVmcyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMTQyOSw2ICsxNjA4LDcgQEAKIHZlcnNpb24gLS0gaW5kaWNhdGVzIHRoZSBmb3JtYXQgdGhhdCB0aGUgbW9kdWxlIHVzZXMuIFZlcnNpb24gMCBpcyB0aGVcblwKICAgICBoaXN0b3JpY2FsIGZvcm1hdCwgdmVyc2lvbiAxIHNoYXJlcyBpbnRlcm5lZCBzdHJpbmdzIGFuZCB2ZXJzaW9uIDJcblwKICAgICB1c2VzIGEgYmluYXJ5IGZvcm1hdCBmb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVycy5cblwKKyAgICBWZXJzaW9uIDMgc2hhcmVzIGNvbW1vbiBvYmplY3QgcmVmZXJlbmNlcyAoTmV3IGluIHZlcnNpb24gMy40KS5cblwKIFxuXAogRnVuY3Rpb25zOlxuXAogXG5cCmRpZmYgLS1naXQgYS9QeXRob24vcGVlcGhvbGUuYyBiL1B5dGhvbi9wZWVwaG9sZS5jCmluZGV4IDVkNTM2NzcuLmU2ODc3YmIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9wZWVwaG9sZS5jCisrKyBiL1B5dGhvbi9wZWVwaG9sZS5jCkBAIC0zMjcsMzcgKzMyNyw2IEBACiAgICAgcmV0dXJuIGJsb2NrczsKIH0KIAotLyogSGVscGVyIHRvIHJlcGxhY2UgTE9BRF9OQU1FIE5vbmUvVHJ1ZS9GYWxzZSB3aXRoIExPQURfQ09OU1QKLSAgIFJldHVybnM6IDAgaWYgbm8gY2hhbmdlLCAxIGlmIGNoYW5nZSwgLTEgaWYgZXJyb3IgKi8KLXN0YXRpYyBpbnQKLWxvYWRfZ2xvYmFsKHVuc2lnbmVkIGNoYXIgKmNvZGVzdHIsIFB5X3NzaXplX3QgaSwgY2hhciAqbmFtZSwgUHlPYmplY3QgKmNvbnN0cykKLXsKLSAgICBQeV9zc2l6ZV90IGo7Ci0gICAgUHlPYmplY3QgKm9iajsKLSAgICBpZiAobmFtZSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoc3RyY21wKG5hbWUsICJOb25lIikgPT0gMCkKLSAgICAgICAgb2JqID0gUHlfTm9uZTsKLSAgICBlbHNlIGlmIChzdHJjbXAobmFtZSwgIlRydWUiKSA9PSAwKQotICAgICAgICBvYmogPSBQeV9UcnVlOwotICAgIGVsc2UgaWYgKHN0cmNtcChuYW1lLCAiRmFsc2UiKSA9PSAwKQotICAgICAgICBvYmogPSBQeV9GYWxzZTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiAwOwotICAgIGZvciAoaiA9IDA7IGogPCBQeUxpc3RfR0VUX1NJWkUoY29uc3RzKTsgaisrKSB7Ci0gICAgICAgIGlmIChQeUxpc3RfR0VUX0lURU0oY29uc3RzLCBqKSA9PSBvYmopCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKGogPT0gUHlMaXN0X0dFVF9TSVpFKGNvbnN0cykpIHsKLSAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQoY29uc3RzLCBvYmopIDwgMCkKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgYXNzZXJ0KFB5TGlzdF9HRVRfSVRFTShjb25zdHMsIGopID09IG9iaik7Ci0gICAgY29kZXN0cltpXSA9IExPQURfQ09OU1Q7Ci0gICAgU0VUQVJHKGNvZGVzdHIsIGksIGopOwotICAgIHJldHVybiAxOwotfQotCiAvKiBQZXJmb3JtIGJhc2ljIHBlZXBob2xlIG9wdGltaXphdGlvbnMgdG8gY29tcG9uZW50cyBvZiBhIGNvZGUgb2JqZWN0LgogICAgVGhlIGNvbnN0cyBvYmplY3Qgc2hvdWxkIHN0aWxsIGJlIGluIGxpc3QgZm9ybSB0byBhbGxvdyBuZXcgY29uc3RhbnRzCiAgICB0byBiZSBhcHBlbmRlZC4KQEAgLTM5Miw3ICszNjEsNiBAQAogICAgIFB5X3NzaXplX3QgY29uc3Rfc3RhY2tfc2l6ZSA9IDA7CiAgICAgaW50IGluX2NvbnN0cyA9IDA7ICAvKiB3aGV0aGVyIHdlIGFyZSBpbiBhIExPQURfQ09OU1Qgc2VxdWVuY2UgKi8KICAgICB1bnNpZ25lZCBpbnQgKmJsb2NrcyA9IE5VTEw7Ci0gICAgY2hhciAqbmFtZTsKIAogICAgIC8qIEJhaWwgb3V0IGlmIGFuIGV4Y2VwdGlvbiBpcyBzZXQgKi8KICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKQEAgLTQ3NSwyMCArNDQzLDYgQEAKICAgICAgICAgICAgICAgICBjb2Rlc3RyW2krM10gPSBOT1A7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgICAgICAgICAvKiBSZXBsYWNlIExPQURfR0xPQkFML0xPQURfTkFNRSBOb25lL1RydWUvRmFsc2UKLSAgICAgICAgICAgICAgICAgICB3aXRoIExPQURfQ09OU1QgTm9uZS9UcnVlL0ZhbHNlICovCi0gICAgICAgICAgICBjYXNlIExPQURfTkFNRToKLSAgICAgICAgICAgIGNhc2UgTE9BRF9HTE9CQUw6Ci0gICAgICAgICAgICAgICAgaiA9IEdFVEFSRyhjb2Rlc3RyLCBpKTsKLSAgICAgICAgICAgICAgICBuYW1lID0gX1B5VW5pY29kZV9Bc1N0cmluZyhQeVR1cGxlX0dFVF9JVEVNKG5hbWVzLCBqKSk7Ci0gICAgICAgICAgICAgICAgaCA9IGxvYWRfZ2xvYmFsKGNvZGVzdHIsIGksIG5hbWUsIGNvbnN0cyk7Ci0gICAgICAgICAgICAgICAgaWYgKGggPCAwKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGV4aXRFcnJvcjsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChoID09IDApCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIENPTlNUX1NUQUNLX1BVU0hfT1AoaSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KICAgICAgICAgICAgICAgICAvKiBTa2lwIG92ZXIgTE9BRF9DT05TVCB0cnVlY29uc3QKICAgICAgICAgICAgICAgICAgICBQT1BfSlVNUF9JRl9GQUxTRSB4eC4gVGhpcyBpbXByb3ZlcwogICAgICAgICAgICAgICAgICAgICJ3aGlsZSAxIiBwZXJmb3JtYW5jZS4gKi8KZGlmZiAtLWdpdCBhL1B5dGhvbi9weXN0YXRlLmMgYi9QeXRob24vcHlzdGF0ZS5jCmluZGV4IGNmZDYxZDAuLjcwMDM4OTMgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9weXN0YXRlLmMKKysrIGIvUHl0aG9uL3B5c3RhdGUuYwpAQCAtNjk3LDYgKzY5NywxNSBAQAogICAgIHJldHVybiAoUHlUaHJlYWRTdGF0ZSAqKVB5VGhyZWFkX2dldF9rZXlfdmFsdWUoYXV0b1RMU2tleSk7CiB9CiAKK2ludAorUHlHSUxTdGF0ZV9DaGVjayh2b2lkKQoreworICAgIC8qIGNhbid0IHVzZSBQeVRocmVhZFN0YXRlX0dldCgpIHNpbmNlIGl0IHdpbGwgYXNzZXJ0IHRoYXQgaXQgaGFzIHRoZSBHSUwgKi8KKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUgPSAoUHlUaHJlYWRTdGF0ZSopX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoCisgICAgICAgICZfUHlUaHJlYWRTdGF0ZV9DdXJyZW50KTsKKyAgICByZXR1cm4gdHN0YXRlICYmICh0c3RhdGUgPT0gUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUoKSk7Cit9CisKIFB5R0lMU3RhdGVfU1RBVEUKIFB5R0lMU3RhdGVfRW5zdXJlKHZvaWQpCiB7CmRpZmYgLS1naXQgYS9QeXRob24vcHl0aG9ucnVuLmMgYi9QeXRob24vcHl0aG9ucnVuLmMKaW5kZXggZWU2MDcxZS4uYjkyYThiZCAxMDA2NDQKLS0tIGEvUHl0aG9uL3B5dGhvbnJ1bi5jCisrKyBiL1B5dGhvbi9weXRob25ydW4uYwpAQCAtMzUsMTIgKzM1LDMwIEBACiAjZGVmaW5lIFBBVEhfTUFYIE1BWFBBVEhMRU4KICNlbmRpZgogCisjaWZkZWYgUHlfUkVGX0RFQlVHCitzdGF0aWMKK3ZvaWQgX3ByaW50X3RvdGFsX3JlZnModm9pZCkgeworICAgIFB5T2JqZWN0ICp4b3B0aW9ucywgKmtleSwgKnZhbHVlOworICAgIHhvcHRpb25zID0gUHlTeXNfR2V0WE9wdGlvbnMoKTsKKyAgICBpZiAoeG9wdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGtleSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKCJzaG93cmVmY291bnQiKTsKKyAgICBpZiAoa2V5ID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICB2YWx1ZSA9IFB5RGljdF9HZXRJdGVtKHhvcHRpb25zLCBrZXkpOworICAgIFB5X0RFQ1JFRihrZXkpOworICAgIGlmICh2YWx1ZSA9PSBQeV9UcnVlKQorICAgICAgICBmcHJpbnRmKHN0ZGVyciwKKyAgICAgICAgICAgICAgICAiWyUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgcmVmcywgIgorICAgICAgICAgICAgICAgICIlIiBQWV9GT1JNQVRfU0laRV9UICJkIGJsb2Nrc11cbiIsCisgICAgICAgICAgICAgICAgX1B5X0dldFJlZlRvdGFsKCksIF9QeV9HZXRBbGxvY2F0ZWRCbG9ja3MoKSk7Cit9CisjZW5kaWYKKwogI2lmbmRlZiBQeV9SRUZfREVCVUcKICNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpCiAjZWxzZSAvKiBQeV9SRUZfREVCVUcgKi8KLSNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpIGZwcmludGYoc3RkZXJyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICAiWyUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgcmVmc11cbiIsICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgICBfUHlfR2V0UmVmVG90YWwoKSkKKyNkZWZpbmUgUFJJTlRfVE9UQUxfUkVGUygpIF9wcmludF90b3RhbF9yZWZzKCkKICNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1B5dGhvbi9yYW5kb20uYyBiL1B5dGhvbi9yYW5kb20uYwppbmRleCA1MzUxOGMyLi4xYWQ0YzNkIDEwMDY0NAotLS0gYS9QeXRob24vcmFuZG9tLmMKKysrIGIvUHl0aG9uL3JhbmRvbS5jCkBAIC0xMiwxMyArMTIsNiBAQAogI2VuZGlmCiAKICNpZmRlZiBNU19XSU5ET1dTCi10eXBlZGVmIEJPT0wgKFdJTkFQSSAqQ1JZUFRBQ1FVSVJFQ09OVEVYVEEpKEhDUllQVFBST1YgKnBoUHJvdixcCi0gICAgICAgICAgICAgIExQQ1NUUiBwc3pDb250YWluZXIsIExQQ1NUUiBwc3pQcm92aWRlciwgRFdPUkQgZHdQcm92VHlwZSxcCi0gICAgICAgICAgICAgIERXT1JEIGR3RmxhZ3MgKTsKLXR5cGVkZWYgQk9PTCAoV0lOQVBJICpDUllQVEdFTlJBTkRPTSkoSENSWVBUUFJPViBoUHJvdiwgRFdPUkQgZHdMZW4sXAotICAgICAgICAgICAgICBCWVRFICpwYkJ1ZmZlciApOwotCi1zdGF0aWMgQ1JZUFRHRU5SQU5ET00gcENyeXB0R2VuUmFuZG9tID0gTlVMTDsKIC8qIFRoaXMgaGFuZGxlIGlzIG5ldmVyIGV4cGxpY2l0bHkgcmVsZWFzZWQuIEluc3RlYWQsIHRoZSBvcGVyYXRpbmcKICAgIHN5c3RlbSB3aWxsIHJlbGVhc2UgaXQgd2hlbiB0aGUgcHJvY2VzcyB0ZXJtaW5hdGVzLiAqLwogc3RhdGljIEhDUllQVFBST1YgaENyeXB0UHJvdiA9IDA7CkBAIC0yNiwyOSArMTksOSBAQAogc3RhdGljIGludAogd2luMzJfdXJhbmRvbV9pbml0KGludCByYWlzZSkKIHsKLSAgICBISU5TVEFOQ0UgaEFkdkFQSTMyID0gTlVMTDsKLSAgICBDUllQVEFDUVVJUkVDT05URVhUQSBwQ3J5cHRBY3F1aXJlQ29udGV4dCA9IE5VTEw7Ci0KLSAgICAvKiBPYnRhaW4gaGFuZGxlIHRvIHRoZSBETEwgY29udGFpbmluZyBDcnlwdG9BUEkuIFRoaXMgc2hvdWxkIG5vdCBmYWlsLiAqLwotICAgIGhBZHZBUEkzMiA9IEdldE1vZHVsZUhhbmRsZSgiYWR2YXBpMzIuZGxsIik7Ci0gICAgaWYoaEFkdkFQSTMyID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICAvKiBPYnRhaW4gcG9pbnRlcnMgdG8gdGhlIENyeXB0b0FQSSBmdW5jdGlvbnMuIFRoaXMgd2lsbCBmYWlsIG9uIHNvbWUgZWFybHkKLSAgICAgICB2ZXJzaW9ucyBvZiBXaW45NS4gKi8KLSAgICBwQ3J5cHRBY3F1aXJlQ29udGV4dCA9IChDUllQVEFDUVVJUkVDT05URVhUQSlHZXRQcm9jQWRkcmVzcygKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoQWR2QVBJMzIsICJDcnlwdEFjcXVpcmVDb250ZXh0QSIpOwotICAgIGlmIChwQ3J5cHRBY3F1aXJlQ29udGV4dCA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgcENyeXB0R2VuUmFuZG9tID0gKENSWVBUR0VOUkFORE9NKUdldFByb2NBZGRyZXNzKGhBZHZBUEkzMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNyeXB0R2VuUmFuZG9tIik7Ci0gICAgaWYgKHBDcnlwdEdlblJhbmRvbSA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOwotCiAgICAgLyogQWNxdWlyZSBjb250ZXh0ICovCi0gICAgaWYgKCEgcENyeXB0QWNxdWlyZUNvbnRleHQoJmhDcnlwdFByb3YsIE5VTEwsIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPVl9SU0FfRlVMTCwgQ1JZUFRfVkVSSUZZQ09OVEVYVCkpCisgICAgaWYgKCFDcnlwdEFjcXVpcmVDb250ZXh0KCZoQ3J5cHRQcm92LCBOVUxMLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9WX1JTQV9GVUxMLCBDUllQVF9WRVJJRllDT05URVhUKSkKICAgICAgICAgZ290byBlcnJvcjsKIAogICAgIHJldHVybiAwOwpAQCAtNzcsNyArNTAsNyBAQAogICAgIHdoaWxlIChzaXplID4gMCkKICAgICB7CiAgICAgICAgIGNodW5rID0gc2l6ZSA+IElOVF9NQVggPyBJTlRfTUFYIDogc2l6ZTsKLSAgICAgICAgaWYgKCFwQ3J5cHRHZW5SYW5kb20oaENyeXB0UHJvdiwgY2h1bmssIGJ1ZmZlcikpCisgICAgICAgIGlmICghQ3J5cHRHZW5SYW5kb20oaENyeXB0UHJvdiwgY2h1bmssIGJ1ZmZlcikpCiAgICAgICAgIHsKICAgICAgICAgICAgIC8qIENyeXB0R2VuUmFuZG9tKCkgZmFpbGVkICovCiAgICAgICAgICAgICBpZiAocmFpc2UpCmRpZmYgLS1naXQgYS9QeXRob24vc3ltdGFibGUuYyBiL1B5dGhvbi9zeW10YWJsZS5jCmluZGV4IDU1ODk4ZjkuLmI5Y2E2MTUgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9zeW10YWJsZS5jCisrKyBiL1B5dGhvbi9zeW10YWJsZS5jCkBAIC01Niw2ICs1Niw4IEBACiAgICAgaWYgKHN0ZS0+c3RlX2NoaWxkcmVuID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDsKIAorICAgIHN0ZS0+c3RlX2RpcmVjdGl2ZXMgPSBOVUxMOworCiAgICAgc3RlLT5zdGVfdHlwZSA9IGJsb2NrOwogICAgIHN0ZS0+c3RlX3Vub3B0aW1pemVkID0gMDsKICAgICBzdGUtPnN0ZV9uZXN0ZWQgPSAwOwpAQCAtMTAyLDYgKzEwNCw3IEBACiAgICAgUHlfWERFQ1JFRihzdGUtPnN0ZV9zeW1ib2xzKTsKICAgICBQeV9YREVDUkVGKHN0ZS0+c3RlX3Zhcm5hbWVzKTsKICAgICBQeV9YREVDUkVGKHN0ZS0+c3RlX2NoaWxkcmVuKTsKKyAgICBQeV9YREVDUkVGKHN0ZS0+c3RlX2RpcmVjdGl2ZXMpOwogICAgIFB5T2JqZWN0X0RlbChzdGUpOwogfQogCkBAIC0zNDIsNiArMzQ1LDI0IEBACiAgICAgcmV0dXJuIChQeUxvbmdfQVNfTE9ORyh2KSA+PiBTQ09QRV9PRkZTRVQpICYgU0NPUEVfTUFTSzsKIH0KIAorc3RhdGljIGludAorZXJyb3JfYXRfZGlyZWN0aXZlKFB5U1RFbnRyeU9iamVjdCAqc3RlLCBQeU9iamVjdCAqbmFtZSkKK3sKKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlPYmplY3QgKmRhdGE7CisgICAgYXNzZXJ0KHN0ZS0+c3RlX2RpcmVjdGl2ZXMpOworICAgIGZvciAoaSA9IDA7IDsgaSsrKSB7CisgICAgICAgIGRhdGEgPSBQeUxpc3RfR0VUX0lURU0oc3RlLT5zdGVfZGlyZWN0aXZlcywgaSk7CisgICAgICAgIGFzc2VydChQeVR1cGxlX0NoZWNrRXhhY3QoZGF0YSkpOworICAgICAgICBpZiAoUHlUdXBsZV9HRVRfSVRFTShkYXRhLCAwKSA9PSBuYW1lKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorICAgIFB5RXJyX1N5bnRheExvY2F0aW9uRXgoc3RlLT5zdGVfdGFibGUtPnN0X2ZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlMb25nX0FzTG9uZyhQeVR1cGxlX0dFVF9JVEVNKGRhdGEsIDEpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Bc0xvbmcoUHlUdXBsZV9HRVRfSVRFTShkYXRhLCAyKSkpOworICAgIHJldHVybiAwOworfQorCiAKIC8qIEFuYWx5emUgcmF3IHN5bWJvbCBpbmZvcm1hdGlvbiB0byBkZXRlcm1pbmUgc2NvcGUgb2YgZWFjaCBuYW1lLgogCkBAIC00MTYsMTYgKzQzNywxMyBAQAogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1N5bnRheEVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUgJyVVJyBpcyBwYXJhbWV0ZXIgYW5kIGdsb2JhbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKLSAgICAgICAgICAgIFB5RXJyX1N5bnRheExvY2F0aW9uRXgoc3RlLT5zdGVfdGFibGUtPnN0X2ZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGUtPnN0ZV9saW5lbm8sIHN0ZS0+c3RlX2NvbF9vZmZzZXQpOwotCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBlcnJvcl9hdF9kaXJlY3RpdmUoc3RlLCBuYW1lKTsKICAgICAgICAgfQogICAgICAgICBpZiAoZmxhZ3MgJiBERUZfTk9OTE9DQUwpIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeW50YXhFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSAnJVUnIGlzIG5vbmxvY2FsIGFuZCBnbG9iYWwiLAogICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUpOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gZXJyb3JfYXRfZGlyZWN0aXZlKHN0ZSwgbmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgU0VUX1NDT1BFKHNjb3BlcywgbmFtZSwgR0xPQkFMX0VYUExJQ0lUKTsKICAgICAgICAgaWYgKFB5U2V0X0FkZChnbG9iYWwsIG5hbWUpIDwgMCkKQEAgLTQzOSwxOSArNDU3LDE5IEBACiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3ludGF4RXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUgJyVVJyBpcyBwYXJhbWV0ZXIgYW5kIG5vbmxvY2FsIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIGVycm9yX2F0X2RpcmVjdGl2ZShzdGUsIG5hbWUpOwogICAgICAgICB9CiAgICAgICAgIGlmICghYm91bmQpIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeW50YXhFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAibm9ubG9jYWwgZGVjbGFyYXRpb24gbm90IGFsbG93ZWQgYXQgbW9kdWxlIGxldmVsIik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJldHVybiBlcnJvcl9hdF9kaXJlY3RpdmUoc3RlLCBuYW1lKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIVB5U2V0X0NvbnRhaW5zKGJvdW5kLCBuYW1lKSkgewogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1N5bnRheEVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJubyBiaW5kaW5nIGZvciBub25sb2NhbCAnJVUnIGZvdW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKIAotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gZXJyb3JfYXRfZGlyZWN0aXZlKHN0ZSwgbmFtZSk7CiAgICAgICAgIH0KICAgICAgICAgU0VUX1NDT1BFKHNjb3BlcywgbmFtZSwgRlJFRSk7CiAgICAgICAgIHN0ZS0+c3RlX2ZyZWUgPSAxOwpAQCAtMTA5OCw2ICsxMTE2LDI1IEBACiAKIAogc3RhdGljIGludAorc3ltdGFibGVfcmVjb3JkX2RpcmVjdGl2ZShzdHJ1Y3Qgc3ltdGFibGUgKnN0LCBpZGVudGlmaWVyIG5hbWUsIHN0bXRfdHkgcykKK3sKKyAgICBQeU9iamVjdCAqZGF0YTsKKyAgICBpbnQgcmVzOworICAgIGlmICghc3QtPnN0X2N1ci0+c3RlX2RpcmVjdGl2ZXMpIHsKKyAgICAgICAgc3QtPnN0X2N1ci0+c3RlX2RpcmVjdGl2ZXMgPSBQeUxpc3RfTmV3KDApOworICAgICAgICBpZiAoIXN0LT5zdF9jdXItPnN0ZV9kaXJlY3RpdmVzKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGRhdGEgPSBQeV9CdWlsZFZhbHVlKCIoT2lpKSIsIG5hbWUsIHMtPmxpbmVubywgcy0+Y29sX29mZnNldCk7CisgICAgaWYgKCFkYXRhKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXMgPSBQeUxpc3RfQXBwZW5kKHN0LT5zdF9jdXItPnN0ZV9kaXJlY3RpdmVzLCBkYXRhKTsKKyAgICBQeV9ERUNSRUYoZGF0YSk7CisgICAgcmV0dXJuIHJlcyA9PSAwOworfQorCisKK3N0YXRpYyBpbnQKIHN5bXRhYmxlX3Zpc2l0X3N0bXQoc3RydWN0IHN5bXRhYmxlICpzdCwgc3RtdF90eSBzKQogewogICAgIGlmICgrK3N0LT5yZWN1cnNpb25fZGVwdGggPiBzdC0+cmVjdXJzaW9uX2xpbWl0KSB7CkBAIC0xMjU3LDYgKzEyOTQsOCBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCFzeW10YWJsZV9hZGRfZGVmKHN0LCBuYW1lLCBERUZfR0xPQkFMKSkKICAgICAgICAgICAgICAgICBWSVNJVF9RVUlUKHN0LCAwKTsKKyAgICAgICAgICAgIGlmICghc3ltdGFibGVfcmVjb3JkX2RpcmVjdGl2ZShzdCwgbmFtZSwgcykpCisgICAgICAgICAgICAgICAgVklTSVRfUVVJVChzdCwgMCk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTI4Niw2ICsxMzI1LDggQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICghc3ltdGFibGVfYWRkX2RlZihzdCwgbmFtZSwgREVGX05PTkxPQ0FMKSkKICAgICAgICAgICAgICAgICBWSVNJVF9RVUlUKHN0LCAwKTsKKyAgICAgICAgICAgIGlmICghc3ltdGFibGVfcmVjb3JkX2RpcmVjdGl2ZShzdCwgbmFtZSwgcykpCisgICAgICAgICAgICAgICAgVklTSVRfUVVJVChzdCwgMCk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTM5Niw2ICsxNDM3LDcgQEAKICAgICBjYXNlIFN0cl9raW5kOgogICAgIGNhc2UgQnl0ZXNfa2luZDoKICAgICBjYXNlIEVsbGlwc2lzX2tpbmQ6CisgICAgY2FzZSBOYW1lQ29uc3RhbnRfa2luZDoKICAgICAgICAgLyogTm90aGluZyB0byBkbyBoZXJlLiAqLwogICAgICAgICBicmVhazsKICAgICAvKiBUaGUgZm9sbG93aW5nIGV4cHJzIGNhbiBiZSBhc3NpZ25tZW50IHRhcmdldHMuICovCkBAIC0xNDg4LDEwICsxNTMwLDEwIEBACiAKICAgICBpZiAoYS0+YXJncyAmJiAhc3ltdGFibGVfdmlzaXRfYXJnYW5ub3RhdGlvbnMoc3QsIGEtPmFyZ3MpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAoYS0+dmFyYXJnYW5ub3RhdGlvbikKLSAgICAgICAgVklTSVQoc3QsIGV4cHIsIGEtPnZhcmFyZ2Fubm90YXRpb24pOwotICAgIGlmIChhLT5rd2FyZ2Fubm90YXRpb24pCi0gICAgICAgIFZJU0lUKHN0LCBleHByLCBhLT5rd2FyZ2Fubm90YXRpb24pOworICAgIGlmIChhLT52YXJhcmcgJiYgYS0+dmFyYXJnLT5hbm5vdGF0aW9uKQorICAgICAgICBWSVNJVChzdCwgZXhwciwgYS0+dmFyYXJnLT5hbm5vdGF0aW9uKTsKKyAgICBpZiAoYS0+a3dhcmcgJiYgYS0+a3dhcmctPmFubm90YXRpb24pCisgICAgICAgIFZJU0lUKHN0LCBleHByLCBhLT5rd2FyZy0+YW5ub3RhdGlvbik7CiAgICAgaWYgKGEtPmt3b25seWFyZ3MgJiYgIXN5bXRhYmxlX3Zpc2l0X2FyZ2Fubm90YXRpb25zKHN0LCBhLT5rd29ubHlhcmdzKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKHMtPnYuRnVuY3Rpb25EZWYucmV0dXJucykKQEAgLTE1MTAsMTIgKzE1NTIsMTIgQEAKICAgICBpZiAoYS0+a3dvbmx5YXJncyAmJiAhc3ltdGFibGVfdmlzaXRfcGFyYW1zKHN0LCBhLT5rd29ubHlhcmdzKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKGEtPnZhcmFyZykgewotICAgICAgICBpZiAoIXN5bXRhYmxlX2FkZF9kZWYoc3QsIGEtPnZhcmFyZywgREVGX1BBUkFNKSkKKyAgICAgICAgaWYgKCFzeW10YWJsZV9hZGRfZGVmKHN0LCBhLT52YXJhcmctPmFyZywgREVGX1BBUkFNKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBzdC0+c3RfY3VyLT5zdGVfdmFyYXJncyA9IDE7CiAgICAgfQogICAgIGlmIChhLT5rd2FyZykgewotICAgICAgICBpZiAoIXN5bXRhYmxlX2FkZF9kZWYoc3QsIGEtPmt3YXJnLCBERUZfUEFSQU0pKQorICAgICAgICBpZiAoIXN5bXRhYmxlX2FkZF9kZWYoc3QsIGEtPmt3YXJnLT5hcmcsIERFRl9QQVJBTSkpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgc3QtPnN0X2N1ci0+c3RlX3ZhcmtleXdvcmRzID0gMTsKICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vc3lzbW9kdWxlLmMgYi9QeXRob24vc3lzbW9kdWxlLmMKaW5kZXggMjBiZmE1NS4uMjA3OTJjMiAxMDA2NDQKLS0tIGEvUHl0aG9uL3N5c21vZHVsZS5jCisrKyBiL1B5dGhvbi9zeXNtb2R1bGUuYwpAQCAtODk0LDYgKzg5NCwxOSBAQAogcmVmZXJlbmNlIGFzIGFuIGFyZ3VtZW50IHRvIGdldHJlZmNvdW50KCkuIgogKTsKIAorc3RhdGljIFB5T2JqZWN0ICoKK3N5c19nZXRhbGxvY2F0ZWRibG9ja3MoUHlPYmplY3QgKnNlbGYpCit7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChfUHlfR2V0QWxsb2NhdGVkQmxvY2tzKCkpOworfQorCitQeURvY19TVFJWQVIoZ2V0YWxsb2NhdGVkYmxvY2tzX2RvYywKKyJnZXRhbGxvY2F0ZWRibG9ja3MoKSAtPiBpbnRlZ2VyXG5cCitcblwKK1JldHVybiB0aGUgbnVtYmVyIG9mIG1lbW9yeSBibG9ja3MgY3VycmVudGx5IGFsbG9jYXRlZCwgcmVnYXJkbGVzcyBvZiB0aGVpclxuXAorc2l6ZS4iCispOworCiAjaWZkZWYgQ09VTlRfQUxMT0NTCiBzdGF0aWMgUHlPYmplY3QgKgogc3lzX2dldGNvdW50cyhQeU9iamVjdCAqc2VsZikKQEAgLTEwNjIsNiArMTA3NSw4IEBACiAgICAgeyJnZXRkbG9wZW5mbGFncyIsIChQeUNGdW5jdGlvbilzeXNfZ2V0ZGxvcGVuZmxhZ3MsIE1FVEhfTk9BUkdTLAogICAgICBnZXRkbG9wZW5mbGFnc19kb2N9LAogI2VuZGlmCisgICAgeyJnZXRhbGxvY2F0ZWRibG9ja3MiLCAoUHlDRnVuY3Rpb24pc3lzX2dldGFsbG9jYXRlZGJsb2NrcywgTUVUSF9OT0FSR1MsCisgICAgICBnZXRhbGxvY2F0ZWRibG9ja3NfZG9jfSwKICNpZmRlZiBDT1VOVF9BTExPQ1MKICAgICB7ImdldGNvdW50cyIsICAgICAgIChQeUNGdW5jdGlvbilzeXNfZ2V0Y291bnRzLCBNRVRIX05PQVJHU30sCiAjZW5kaWYKQEAgLTEzNDksOSArMTM2NCw2IEBACiAgICAgeyJub19zaXRlIiwgICAgICAgICAgICAgICAgICItUyJ9LAogICAgIHsiaWdub3JlX2Vudmlyb25tZW50IiwgICAgICAiLUUifSwKICAgICB7InZlcmJvc2UiLCAgICAgICAgICAgICAgICAgIi12In0sCi0jaWZkZWYgUklTQ09TCi0gICAgeyJyaXNjb3Nfd2ltcCIsICAgICAgICAgICAgICI/Pz8ifSwKLSNlbmRpZgogICAgIC8qIHsidW5idWZmZXJlZCIsICAgICAgICAgICAgICAgICAgICItdSJ9LCAqLwogICAgIC8qIHsic2tpcF9maXJzdCIsICAgICAgICAgICAgICAgICAgICIteCJ9LCAqLwogICAgIHsiYnl0ZXNfd2FybmluZyIsICAgICAgICAgICAiLWIifSwKQEAgLTEzNjQsMTEgKzEzNzYsNyBAQAogICAgICJzeXMuZmxhZ3MiLCAgICAgICAgLyogbmFtZSAqLwogICAgIGZsYWdzX19kb2NfXywgICAgICAgLyogZG9jICovCiAgICAgZmxhZ3NfZmllbGRzLCAgICAgICAvKiBmaWVsZHMgKi8KLSNpZmRlZiBSSVNDT1MKLSAgICAxMwotI2Vsc2UKICAgICAxMgotI2VuZGlmCiB9OwogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC0xMzkzLDkgKzE0MDEsNiBAQAogICAgIFNldEZsYWcoUHlfTm9TaXRlRmxhZyk7CiAgICAgU2V0RmxhZyhQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWcpOwogICAgIFNldEZsYWcoUHlfVmVyYm9zZUZsYWcpOwotI2lmZGVmIFJJU0NPUwotICAgIFNldEZsYWcoUHlfUklTQ09TV2ltcEZsYWcpOwotI2VuZGlmCiAgICAgLyogU2V0RmxhZyhzYXdfdW5idWZmZXJlZF9mbGFnKTsgKi8KICAgICAvKiBTZXRGbGFnKHNraXBmaXJzdGxpbmUpOyAqLwogICAgIFNldEZsYWcoUHlfQnl0ZXNXYXJuaW5nRmxhZyk7CkBAIC0xNTYxLDcgKzE1NjYsNiBAQAogX1B5U3lzX0luaXQodm9pZCkKIHsKICAgICBQeU9iamVjdCAqbSwgKnYsICpzeXNkaWN0LCAqdmVyc2lvbl9pbmZvOwotICAgIGNoYXIgKnM7CiAKICAgICBtID0gUHlNb2R1bGVfQ3JlYXRlKCZzeXNtb2R1bGUpOwogICAgIGlmIChtID09IE5VTEwpCkBAIC0xNjM4LDIwICsxNjQyLDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUxvbmdfRnJvbUxvbmcoMHgxMEZGRkYpKTsKICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJidWlsdGluX21vZHVsZV9uYW1lcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0X2J1aWx0aW5fbW9kdWxlX25hbWVzKCkpOwotICAgIHsKLSAgICAgICAgLyogQXNzdW1lcyB0aGF0IGxvbmdzIGFyZSBhdCBsZWFzdCAyIGJ5dGVzIGxvbmcuCi0gICAgICAgICAgIFNob3VsZCBiZSBzYWZlISAqLwotICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlciA9IDE7Ci0gICAgICAgIGNoYXIgKnZhbHVlOworI2lmIFBZX0JJR19FTkRJQU4KKyAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJieXRlb3JkZXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoImJpZyIpKTsKKyNlbHNlCisgICAgU0VUX1NZU19GUk9NX1NUUklORygiYnl0ZW9yZGVyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nKCJsaXR0bGUiKSk7CisjZW5kaWYKIAotICAgICAgICBzID0gKGNoYXIgKikgJm51bWJlcjsKLSAgICAgICAgaWYgKHNbMF0gPT0gMCkKLSAgICAgICAgICAgIHZhbHVlID0gImJpZyI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZhbHVlID0gImxpdHRsZSI7Ci0gICAgICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImJ5dGVvcmRlciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcodmFsdWUpKTsKLSAgICB9CiAjaWZkZWYgTVNfQ09SRURMTAogICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImRsbGhhbmRsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBQeUxvbmdfRnJvbVZvaWRQdHIoUHlXaW5fRExMaE1vZHVsZSkpOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZC5jIGIvUHl0aG9uL3RocmVhZC5jCmluZGV4IGU1NWQzNDIuLjI1YWIxNmUgMTAwNjQ0Ci0tLSBhL1B5dGhvbi90aHJlYWQuYworKysgYi9QeXRob24vdGhyZWFkLmMKQEAgLTkxLDEwICs5MSw2IEBACiAjaW5jbHVkZSAidGhyZWFkX250LmgiCiAjZW5kaWYKIAotI2lmZGVmIE9TMl9USFJFQURTCi0jZGVmaW5lIFBZVEhSRUFEX05BTUUgIm9zMiIKLSNpbmNsdWRlICJ0aHJlYWRfb3MyLmgiCi0jZW5kaWYKIAogLyoKICNpZmRlZiBGT09CQVJfVEhSRUFEUwpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9udC5oIGIvUHl0aG9uL3RocmVhZF9udC5oCmluZGV4IDkzOGJmMWUuLmJkNjA0ZmIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi90aHJlYWRfbnQuaAorKysgYi9QeXRob24vdGhyZWFkX250LmgKQEAgLTEzMCw3ICsxMzAsNyBAQAogRFdPUkQKIEVudGVyTm9uUmVjdXJzaXZlTXV0ZXgoUE5STVVURVggbXV0ZXgsIERXT1JEIG1pbGxpc2Vjb25kcykKIHsKLSAgICByZXR1cm4gV2FpdEZvclNpbmdsZU9iamVjdChtdXRleCwgbWlsbGlzZWNvbmRzKTsKKyAgICByZXR1cm4gV2FpdEZvclNpbmdsZU9iamVjdEV4KG11dGV4LCBtaWxsaXNlY29uZHMsIEZBTFNFKTsKIH0KIAogQk9PTApkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9vczIuaCBiL1B5dGhvbi90aHJlYWRfb3MyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiMjY0YjUuLjAwMDAwMDAKLS0tIGEvUHl0aG9uL3RocmVhZF9vczIuaAorKysgL2Rldi9udWxsCkBAIC0xLDI2NyArMCwwIEBACi0vKiBUaGlzIGNvZGUgaW1wbGVtZW50ZWQgYnkgY3ZhbGVAbmV0Y29tLmNvbSAqLwotCi0jZGVmaW5lIElOQ0xfRE9TUFJPQ0VTUwotI2RlZmluZSBJTkNMX0RPU1NFTUFQSE9SRVMKLSNpbmNsdWRlICJvczIuaCIKLSNpbmNsdWRlICJsaW1pdHMuaCIKLQotI2luY2x1ZGUgInByb2Nlc3MuaCIKLQotI2lmIGRlZmluZWQoUFlDQ19HQ0MpCi0jaW5jbHVkZSA8c3lzL2J1aWx0aW4uaD4KLSNpbmNsdWRlIDxzeXMvZm11dGV4Lmg+Ci0jZWxzZQotbG9uZyBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KHZvaWQpOwotI2VuZGlmCi0KLS8qIGRlZmF1bHQgdGhyZWFkIHN0YWNrIHNpemUgb2YgNjRrQiAqLwotI2lmICFkZWZpbmVkKFRIUkVBRF9TVEFDS19TSVpFKQotI2RlZmluZSBUSFJFQURfU1RBQ0tfU0laRSAgICAgICAweDEwMDAwCi0jZW5kaWYKLQotI2RlZmluZSBPUzJfU1RBQ0tTSVpFKHgpICAgICAgICAoeCA/IHggOiBUSFJFQURfU1RBQ0tfU0laRSkKLQotLyoKLSAqIEluaXRpYWxpemF0aW9uIG9mIHRoZSBDIHBhY2thZ2UsIHNob3VsZCBub3QgYmUgbmVlZGVkLgotICovCi1zdGF0aWMgdm9pZAotUHlUaHJlYWRfX2luaXRfdGhyZWFkKHZvaWQpCi17Ci19Ci0KLS8qCi0gKiBUaHJlYWQgc3VwcG9ydC4KLSAqLwotbG9uZwotUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnKQotewotICAgIGludCB0aHJlYWRfaWQ7Ci0KLSAgICB0aHJlYWRfaWQgPSBfYmVnaW50aHJlYWQoZnVuYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9TMl9TVEFDS1NJWkUoX3B5dGhyZWFkX3N0YWNrc2l6ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnKTsKLQotICAgIGlmICh0aHJlYWRfaWQgPT0gLTEpIHsKLSAgICAgICAgZHByaW50ZigoIl9iZWdpbnRocmVhZCBmYWlsZWQuIHJldHVybiAlbGRcbiIsIGVycm5vKSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRocmVhZF9pZDsKLX0KLQotbG9uZwotUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCh2b2lkKQotewotI2lmICFkZWZpbmVkKFBZQ0NfR0NDKQotICAgIFBQSUIgcGliOwotICAgIFBUSUIgdGliOwotI2VuZGlmCi0KLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeVRocmVhZF9pbml0X3RocmVhZCgpOwotCi0jaWYgZGVmaW5lZChQWUNDX0dDQykKLSAgICByZXR1cm4gX2dldHRpZCgpOwotI2Vsc2UKLSAgICBEb3NHZXRJbmZvQmxvY2tzKCZ0aWIsICZwaWIpOwotICAgIHJldHVybiB0aWItPnRpYl9wdGliMi0+dGliMl91bHRpZDsKLSNlbmRpZgotfQotCi12b2lkCi1QeVRocmVhZF9leGl0X3RocmVhZCh2b2lkKQotewotICAgIGRwcmludGYoKCIlbGQ6IFB5VGhyZWFkX2V4aXRfdGhyZWFkIGNhbGxlZFxuIiwKLSAgICAgICAgICAgICBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KCkpKTsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBleGl0KDApOwotICAgIF9lbmR0aHJlYWQoKTsKLX0KLQotLyoKLSAqIExvY2sgc3VwcG9ydC4gIFRoaXMgaXMgaW1wbGVtZW50ZWQgd2l0aCBhbiBldmVudCBzZW1hcGhvcmUgYW5kIGNyaXRpY2FsCi0gKiBzZWN0aW9ucyB0byBtYWtlIGl0IGJlaGF2ZSBtb3JlIGxpa2UgYSBwb3NpeCBtdXRleCB0aGFuIGl0cyBPUy8yCi0gKiBjb3VudGVycGFydHMuCi0gKi8KLQotdHlwZWRlZiBzdHJ1Y3Qgb3MyX2xvY2tfdCB7Ci0gICAgaW50IGlzX3NldDsKLSAgICBIRVYgY2hhbmdlZDsKLX0gKnR5cGVfb3MyX2xvY2s7Ci0KLVB5VGhyZWFkX3R5cGVfbG9jawotUHlUaHJlYWRfYWxsb2NhdGVfbG9jayh2b2lkKQotewotI2lmIGRlZmluZWQoUFlDQ19HQ0MpCi0gICAgX2ZtdXRleCAqc2VtID0gbWFsbG9jKHNpemVvZihfZm11dGV4KSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLSAgICBkcHJpbnRmKCgiJWxkOiBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCkgLT4gJWx4XG4iLAotICAgICAgICAgICAgIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSwKLSAgICAgICAgICAgICAobG9uZylzZW0pKTsKLSAgICBpZiAoX2ZtdXRleF9jcmVhdGUoc2VtLCAwKSkgewotICAgICAgICBmcmVlKHNlbSk7Ci0gICAgICAgIHNlbSA9IE5VTEw7Ci0gICAgfQotICAgIHJldHVybiAoUHlUaHJlYWRfdHlwZV9sb2NrKXNlbTsKLSNlbHNlCi0gICAgQVBJUkVUIHJjOwotICAgIHR5cGVfb3MyX2xvY2sgbG9jayA9ICh0eXBlX29zMl9sb2NrKW1hbGxvYyhzaXplb2Yoc3RydWN0IG9zMl9sb2NrX3QpKTsKLQotICAgIGRwcmludGYoKCJQeVRocmVhZF9hbGxvY2F0ZV9sb2NrIGNhbGxlZFxuIikpOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgICAgIFB5VGhyZWFkX2luaXRfdGhyZWFkKCk7Ci0KLSAgICBsb2NrLT5pc19zZXQgPSAwOwotCi0gICAgRG9zQ3JlYXRlRXZlbnRTZW0oTlVMTCwgJmxvY2stPmNoYW5nZWQsIDAsIDApOwotCi0gICAgZHByaW50ZigoIiVsZDogUHlUaHJlYWRfYWxsb2NhdGVfbG9jaygpIC0+ICVwXG4iLAotICAgICAgICAgICAgIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSwKLSAgICAgICAgICAgICBsb2NrLT5jaGFuZ2VkKSk7Ci0KLSAgICByZXR1cm4gKFB5VGhyZWFkX3R5cGVfbG9jaylsb2NrOwotI2VuZGlmCi19Ci0KLXZvaWQKLVB5VGhyZWFkX2ZyZWVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgYUxvY2spCi17Ci0jaWYgIWRlZmluZWQoUFlDQ19HQ0MpCi0gICAgdHlwZV9vczJfbG9jayBsb2NrID0gKHR5cGVfb3MyX2xvY2spYUxvY2s7Ci0jZW5kaWYKLQotICAgIGRwcmludGYoKCIlbGQ6IFB5VGhyZWFkX2ZyZWVfbG9jayglcCkgY2FsbGVkXG4iLAotICAgICAgICAgICAgIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSxhTG9jaykpOwotCi0jaWYgZGVmaW5lZChQWUNDX0dDQykKLSAgICBpZiAoYUxvY2spIHsKLSAgICAgICAgX2ZtdXRleF9jbG9zZSgoX2ZtdXRleCAqKWFMb2NrKTsKLSAgICAgICAgZnJlZSgoX2ZtdXRleCAqKWFMb2NrKTsKLSAgICB9Ci0jZWxzZQotICAgIERvc0Nsb3NlRXZlbnRTZW0obG9jay0+Y2hhbmdlZCk7Ci0gICAgZnJlZShhTG9jayk7Ci0jZW5kaWYKLX0KLQotLyoKLSAqIFJldHVybiAxIG9uIHN1Y2Nlc3MgaWYgdGhlIGxvY2sgd2FzIGFjcXVpcmVkCi0gKgotICogYW5kIDAgaWYgdGhlIGxvY2sgd2FzIG5vdCBhY3F1aXJlZC4KLSAqLwotaW50Ci1QeVRocmVhZF9hY3F1aXJlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGFMb2NrLCBpbnQgd2FpdGZsYWcpCi17Ci0jaWYgIWRlZmluZWQoUFlDQ19HQ0MpCi0gICAgaW50ICAgZG9uZSA9IDA7Ci0gICAgVUxPTkcgY291bnQ7Ci0gICAgUElEICAgcGlkID0gMDsKLSAgICBUSUQgICB0aWQgPSAwOwotICAgIHR5cGVfb3MyX2xvY2sgbG9jayA9ICh0eXBlX29zMl9sb2NrKWFMb2NrOwotI2VuZGlmCi0KLSAgICBkcHJpbnRmKCgiJWxkOiBQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSBjYWxsZWRcbiIsCi0gICAgICAgICAgICAgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpLAotICAgICAgICAgICAgIGFMb2NrLAotICAgICAgICAgICAgIHdhaXRmbGFnKSk7Ci0KLSNpZiBkZWZpbmVkKFBZQ0NfR0NDKQotICAgIC8qIGFsd2F5cyBzdWNjZXNzZnVsIGlmIHRoZSBsb2NrIGRvZXNuJ3QgZXhpc3QgKi8KLSAgICBpZiAoYUxvY2sgJiYKLSAgICAgICAgX2ZtdXRleF9yZXF1ZXN0KChfZm11dGV4ICopYUxvY2ssIHdhaXRmbGFnID8gMCA6IF9GTVJfTk9XQUlUKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0jZWxzZQotICAgIHdoaWxlICghZG9uZSkgewotICAgICAgICAvKiBpZiB0aGUgbG9jayBpcyBjdXJyZW50bHkgc2V0LCB3ZSBoYXZlIHRvIHdhaXQgZm9yCi0gICAgICAgICAqIHRoZSBzdGF0ZSB0byBjaGFuZ2UKLSAgICAgICAgICovCi0gICAgICAgIGlmIChsb2NrLT5pc19zZXQpIHsKLSAgICAgICAgICAgIGlmICghd2FpdGZsYWcpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBEb3NXYWl0RXZlbnRTZW0obG9jay0+Y2hhbmdlZCwgU0VNX0lOREVGSU5JVEVfV0FJVCk7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBlbnRlciBhIGNyaXRpY2FsIHNlY3Rpb24gYW5kIHRyeSB0byBnZXQgdGhlIHNlbWFwaG9yZS4gIElmCi0gICAgICAgICAqIGl0IGlzIHN0aWxsIGxvY2tlZCwgd2Ugd2lsbCB0cnkgYWdhaW4uCi0gICAgICAgICAqLwotICAgICAgICBpZiAoRG9zRW50ZXJDcml0U2VjKCkpCi0gICAgICAgICAgICByZXR1cm4gMDsKLQotICAgICAgICBpZiAoIWxvY2stPmlzX3NldCkgewotICAgICAgICAgICAgbG9jay0+aXNfc2V0ID0gMTsKLSAgICAgICAgICAgIERvc1Jlc2V0RXZlbnRTZW0obG9jay0+Y2hhbmdlZCwgJmNvdW50KTsKLSAgICAgICAgICAgIGRvbmUgPSAxOwotICAgICAgICB9Ci0KLSAgICAgICAgRG9zRXhpdENyaXRTZWMoKTsKLSAgICB9Ci0jZW5kaWYKLQotICAgIHJldHVybiAxOwotfQotCi12b2lkCi1QeVRocmVhZF9yZWxlYXNlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGFMb2NrKQotewotI2lmICFkZWZpbmVkKFBZQ0NfR0NDKQotICAgIHR5cGVfb3MyX2xvY2sgbG9jayA9ICh0eXBlX29zMl9sb2NrKWFMb2NrOwotI2VuZGlmCi0KLSAgICBkcHJpbnRmKCgiJWxkOiBQeVRocmVhZF9yZWxlYXNlX2xvY2soJXApIGNhbGxlZFxuIiwKLSAgICAgICAgICAgICBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KCksCi0gICAgICAgICAgICAgYUxvY2spKTsKLQotI2lmIGRlZmluZWQoUFlDQ19HQ0MpCi0gICAgaWYgKGFMb2NrKQotICAgICAgICBfZm11dGV4X3JlbGVhc2UoKF9mbXV0ZXggKilhTG9jayk7Ci0jZWxzZQotICAgIGlmICghbG9jay0+aXNfc2V0KSB7Ci0gICAgICAgIGRwcmludGYoKCIlbGQ6IENvdWxkIG5vdCBQeVRocmVhZF9yZWxlYXNlX2xvY2soJXApIGVycm9yOiAlbFxuIiwKLSAgICAgICAgICAgICAgICAgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpLAotICAgICAgICAgICAgICAgICBhTG9jaywKLSAgICAgICAgICAgICAgICAgR2V0TGFzdEVycm9yKCkpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmIChEb3NFbnRlckNyaXRTZWMoKSkgewotICAgICAgICBkcHJpbnRmKCgiJWxkOiBDb3VsZCBub3QgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKCVwKSBlcnJvcjogJWxcbiIsCi0gICAgICAgICAgICAgICAgIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSwKLSAgICAgICAgICAgICAgICAgYUxvY2ssCi0gICAgICAgICAgICAgICAgIEdldExhc3RFcnJvcigpKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBsb2NrLT5pc19zZXQgPSAwOwotICAgIERvc1Bvc3RFdmVudFNlbShsb2NrLT5jaGFuZ2VkKTsKLQotICAgIERvc0V4aXRDcml0U2VjKCk7Ci0jZW5kaWYKLX0KLQotLyogbWluaW11bS9tYXhpbXVtIHRocmVhZCBzdGFjayBzaXplcyBzdXBwb3J0ZWQgKi8KLSNkZWZpbmUgVEhSRUFEX01JTl9TVEFDS1NJWkUgICAgMHg4MDAwICAgICAgICAgIC8qIDMya0IgKi8KLSNkZWZpbmUgVEhSRUFEX01BWF9TVEFDS1NJWkUgICAgMHgyMDAwMDAwICAgICAgIC8qIDMyTUIgKi8KLQotLyogc2V0IHRoZSB0aHJlYWQgc3RhY2sgc2l6ZS4KLSAqIFJldHVybiAwIGlmIHNpemUgaXMgdmFsaWQsIC0xIG90aGVyd2lzZS4KLSAqLwotc3RhdGljIGludAotX3B5dGhyZWFkX29zMl9zZXRfc3RhY2tzaXplKHNpemVfdCBzaXplKQotewotICAgIC8qIHNldCB0byBkZWZhdWx0ICovCi0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBfcHl0aHJlYWRfc3RhY2tzaXplID0gMDsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgLyogdmFsaWQgcmFuZ2U/ICovCi0gICAgaWYgKHNpemUgPj0gVEhSRUFEX01JTl9TVEFDS1NJWkUgJiYgc2l6ZSA8IFRIUkVBRF9NQVhfU1RBQ0tTSVpFKSB7Ci0gICAgICAgIF9weXRocmVhZF9zdGFja3NpemUgPSBzaXplOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICByZXR1cm4gLTE7Ci19Ci0KLSNkZWZpbmUgVEhSRUFEX1NFVF9TVEFDS1NJWkUoeCkgX3B5dGhyZWFkX29zMl9zZXRfc3RhY2tzaXplKHgpCmRpZmYgLS1naXQgYS9SRUFETUUgYi9SRUFETUUKaW5kZXggMTU2YzJjNS4uNTQwNWQwNCAxMDA2NDQKLS0tIGEvUkVBRE1FCisrKyBiL1JFQURNRQpAQCAtMSw1ICsxLDUgQEAKLVRoaXMgaXMgUHl0aG9uIHZlcnNpb24gMy4zLjEKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1RoaXMgaXMgUHl0aG9uIHZlcnNpb24gMy40LjAgcHJlcmVsZWFzZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKIENvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwKIDIwMTIsIDIwMTMgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNTIsOSArNTIsOSBAQAogLS0tLS0tLS0tLQogCiBXZSB0cnkgdG8gaGF2ZSBhIGNvbXByZWhlbnNpdmUgb3ZlcnZpZXcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlICJXaGF0J3MgTmV3IGluCi1QeXRob24gMy4zIiBkb2N1bWVudCwgZm91bmQgYXQKK1B5dGhvbiAzLjQiIGRvY3VtZW50LCBmb3VuZCBhdAogCi0gICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjMvd2hhdHNuZXcvMy4zLmh0bWwKKyAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuNC93aGF0c25ldy8zLjQuaHRtbAogCiBGb3IgYSBtb3JlIGRldGFpbGVkIGNoYW5nZSBsb2csIHJlYWQgTWlzYy9ORVdTICh0aG91Z2ggdGhpcyBmaWxlLCB0b28sIGlzCiBpbmNvbXBsZXRlLCBhbmQgYWxzbyBkb2Vzbid0IGxpc3QgYW55dGhpbmcgbWVyZ2VkIGluIGZyb20gdGhlIDIuNyByZWxlYXNlIHVuZGVyCkBAIC02Nyw5ICs2Nyw5IEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKLURvY3VtZW50YXRpb24gZm9yIFB5dGhvbiAzLjMgaXMgb25saW5lLCB1cGRhdGVkIGRhaWx5OgorRG9jdW1lbnRhdGlvbiBmb3IgUHl0aG9uIDMuNCBpcyBvbmxpbmUsIHVwZGF0ZWQgZGFpbHk6CiAKLSAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuMy8KKyAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuNC8KIAogSXQgY2FuIGFsc28gYmUgZG93bmxvYWRlZCBpbiBtYW55IGZvcm1hdHMgZm9yIGZhc3RlciBhY2Nlc3MuICBUaGUgZG9jdW1lbnRhdGlvbgogaXMgZG93bmxvYWRhYmxlIGluIEhUTUwsIFBERiwgYW5kIHJlU3RydWN0dXJlZFRleHQgZm9ybWF0czsgdGhlIGxhdHRlciB2ZXJzaW9uCkBAIC04Nyw3ICs4Nyw3IEBACiBBIHNvdXJjZS10by1zb3VyY2UgdHJhbnNsYXRpb24gdG9vbCwgIjJ0bzMiLCBjYW4gdGFrZSBjYXJlIG9mIHRoZSBtdW5kYW5lIHRhc2sKIG9mIGNvbnZlcnRpbmcgbGFyZ2UgYW1vdW50cyBvZiBzb3VyY2UgY29kZS4gIEl0IGlzIG5vdCBhIGNvbXBsZXRlIHNvbHV0aW9uIGJ1dAogaXMgY29tcGxlbWVudGVkIGJ5IHRoZSBkZXByZWNhdGlvbiB3YXJuaW5ncyBpbiAyLjYuICBTZWUKLWh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy4zL2xpYnJhcnkvMnRvMy5odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLgoraHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjQvbGlicmFyeS8ydG8zLmh0bWwgZm9yIG1vcmUgaW5mb3JtYXRpb24uCiAKIAogVGVzdGluZwpAQCAtMTI1LDcgKzEyNSw3IEBACiBJbnN0YWxsIHRoYXQgdmVyc2lvbiB1c2luZyAibWFrZSBpbnN0YWxsIi4gIEluc3RhbGwgYWxsIG90aGVyIHZlcnNpb25zIHVzaW5nCiAibWFrZSBhbHRpbnN0YWxsIi4KIAotRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgUHl0aG9uIDIuNiwgMi43IGFuZCAzLjMgd2l0aCAyLjcgYmVpbmcgdGhlCitGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gaW5zdGFsbCBQeXRob24gMi42LCAyLjcgYW5kIDMuNCB3aXRoIDIuNyBiZWluZyB0aGUKIHByaW1hcnkgdmVyc2lvbiwgeW91IHdvdWxkIGV4ZWN1dGUgIm1ha2UgaW5zdGFsbCIgaW4geW91ciAyLjcgYnVpbGQgZGlyZWN0b3J5CiBhbmQgIm1ha2UgYWx0aW5zdGFsbCIgaW4gdGhlIG90aGVycy4KIApkaWZmIC0tZ2l0IGEvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtYW1kNjQuYmF0IGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtYW1kNjQuYmF0CmluZGV4IGQyZmYyNTUuLmE0NGM2NjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWFtZDY0LmJhdAorKysgYi9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1hbWQ2NC5iYXQKQEAgLTYsMTYgKzYsMTYgQEAKIAogaWYgbm90IGV4aXN0IHRjbHRrNjRcYmluXHRjbDg1Zy5kbGwgKAogICAgIGNkIHRjbC04LjUuMTEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBDT01QSUxFUkZMQUdTPS1EV0lOVkVSPTB4MDUwMCBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IGNsZWFuIGFsbAotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIENPTVBJTEVSRkxBR1M9LURXSU5WRVI9MHgwNTAwIERFQlVHPTEgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgaW5zdGFsbAorICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIERFQlVHPTEgTUFDSElORT1BTUQ2NCBJTlNUQUxMRElSPS4uXC4uXHRjbHRrNjQgY2xlYW4gYWxsCisgICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgREVCVUc9MSBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBpbnN0YWxsCiAgICAgY2QgLi5cLi4KICkKIAogaWYgbm90IGV4aXN0IHRjbHRrNjRcYmluXHRrODVnLmRsbCAoCiAgICAgY2QgdGstOC41LjExLjBcd2luICAgIAotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIENPTVBJTEVSRkxBR1M9LURXSU5WRVI9MHgwNTAwIE9QVFM9bm94cCBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC41LjExLjAgY2xlYW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBDT01QSUxFUkZMQUdTPS1EV0lOVkVSPTB4MDUwMCBPUFRTPW5veHAgREVCVUc9MSBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBUQ0xESVI9Li5cLi5cdGNsLTguNS4xMS4wIGFsbAotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIENPTVBJTEVSRkxBR1M9LURXSU5WRVI9MHgwNTAwIE9QVFM9bm94cCBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC41LjExLjAgaW5zdGFsbAorICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9bm94cCBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC41LjExLjAgY2xlYW4KKyAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBPUFRTPW5veHAgREVCVUc9MSBNQUNISU5FPUFNRDY0IElOU1RBTExESVI9Li5cLi5cdGNsdGs2NCBUQ0xESVI9Li5cLi5cdGNsLTguNS4xMS4wIGFsbAorICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9bm94cCBERUJVRz0xIE1BQ0hJTkU9QU1ENjQgSU5TVEFMTERJUj0uLlwuLlx0Y2x0azY0IFRDTERJUj0uLlwuLlx0Y2wtOC41LjExLjAgaW5zdGFsbAogICAgIGNkIC4uXC4uCiApCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLmJhdCBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLmJhdAppbmRleCBlZDVjMTBlLi44M2IzODYxIDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC5iYXQKKysrIGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwuYmF0CkBAIC03LDE1ICs3LDE1IEBACiBpZiBub3QgZXhpc3QgdGNsdGtcYmluXHRjbDg1Zy5kbGwgKAogICAgIEByZW0gYWxsIGFuZCBpbnN0YWxsIG5lZWQgdG8gYmUgc2VwYXJhdGUgaW52b2NhdGlvbnMsIG90aGVyd2lzZSBubWFrZWhscCBpcyBub3QgZm91bmQgb24gaW5zdGFsbAogICAgIGNkIHRjbC04LjUuMTEuMFx3aW4KLSAgICBubWFrZSAtZiBtYWtlZmlsZS52YyBDT01QSUxFUkZMQUdTPS1EV0lOVkVSPTB4MDUwMCBERUJVRz0xIElOU1RBTExESVI9Li5cLi5cdGNsdGsgY2xlYW4gYWxsIAorICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIERFQlVHPTEgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBjbGVhbiBhbGwgCiAgICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgREVCVUc9MSBJTlNUQUxMRElSPS4uXC4uXHRjbHRrIGluc3RhbGwKICAgICBjZCAuLlwuLgogKQogCiBpZiBub3QgZXhpc3QgdGNsdGtcYmluXHRrODVnLmRsbCAoCiAgICAgY2QgdGstOC41LjExLjBcd2luCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgQ09NUElMRVJGTEFHUz0tRFdJTlZFUj0weDA1MDAgT1BUUz1ub3hwIERFQlVHPTEgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNS4xMS4wIGNsZWFuCi0gICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgQ09NUElMRVJGTEFHUz0tRFdJTlZFUj0weDA1MDAgT1BUUz1ub3hwIERFQlVHPTEgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNS4xMS4wIGFsbAotICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIENPTVBJTEVSRkxBR1M9LURXSU5WRVI9MHgwNTAwIE9QVFM9bm94cCBERUJVRz0xIElOU1RBTExESVI9Li5cLi5cdGNsdGsgVENMRElSPS4uXC4uXHRjbC04LjUuMTEuMCBpbnN0YWxsCisgICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1ub3hwIERFQlVHPTEgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNS4xMS4wIGNsZWFuCisgICAgbm1ha2UgLWYgbWFrZWZpbGUudmMgT1BUUz1ub3hwIERFQlVHPTEgSU5TVEFMTERJUj0uLlwuLlx0Y2x0ayBUQ0xESVI9Li5cLi5cdGNsLTguNS4xMS4wIGFsbAorICAgIG5tYWtlIC1mIG1ha2VmaWxlLnZjIE9QVFM9bm94cCBERUJVRz0xIElOU1RBTExESVI9Li5cLi5cdGNsdGsgVENMRElSPS4uXC4uXHRjbC04LjUuMTEuMCBpbnN0YWxsCiAgICAgY2QgLi5cLi4KICkKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZyZWV6ZS9ia2ZpbGUucHkgYi9Ub29scy9mcmVlemUvYmtmaWxlLnB5CmluZGV4IDBlODk1ZjIuLjU4MjQ2ZmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2ZyZWV6ZS9ia2ZpbGUucHkKKysrIGIvVG9vbHMvZnJlZXplL2JrZmlsZS5weQpAQCAtNywxMSArNywxMSBAQAogICAgICAgICBzZWxmLl9fYmFja3VwID0gZmlsZSArICd+JwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy51bmxpbmsoc2VsZi5fX2JhY2t1cCkKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MucmVuYW1lKGZpbGUsIHNlbGYuX19iYWNrdXApCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBzZWxmLl9fYmFja3VwID0gTm9uZQogICAgICAgICBzZWxmLl9fZmlsZSA9IF9vcmlnX29wZW4oZmlsZSwgbW9kZSwgYnVmc2l6ZSkKICAgICAgICAgc2VsZi5jbG9zZWQgPSBzZWxmLl9fZmlsZS5jbG9zZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL2ZyZWV6ZS9mcmVlemUucHkgYi9Ub29scy9mcmVlemUvZnJlZXplLnB5CmluZGV4IGE0MTI2N2EuLjQ3OWNhM2MgMTAwNzU1Ci0tLSBhL1Rvb2xzL2ZyZWV6ZS9mcmVlemUucHkKKysrIGIvVG9vbHMvZnJlZXplL2ZyZWV6ZS5weQpAQCAtMTI1LDcgKzEyNSw3IEBACiAgICAgIyBkZWZhdWx0IHRoZSBleGNsdWRlIGxpc3QgZm9yIGVhY2ggcGxhdGZvcm0KICAgICBpZiB3aW46IGV4Y2x1ZGUgPSBleGNsdWRlICsgWwogICAgICAgICAnZG9zJywgJ2Rvc3BhdGgnLCAnbWFjJywgJ21hY3BhdGgnLCAnbWFjZnMnLCAnTUFDRlMnLCAncG9zaXgnLAotICAgICAgICAnb3MyJywgJ2NlJywKKyAgICAgICAgJ2NlJywKICAgICAgICAgXQogCiAgICAgZmFpbF9pbXBvcnQgPSBleGNsdWRlWzpdCkBAIC0zMTEsNyArMzExLDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWtkaXIob2RpcikKICAgICAgICAgICAgIHByaW50KCJDcmVhdGVkIG91dHB1dCBkaXJlY3RvcnkiLCBvZGlyKQotICAgICAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICB1c2FnZSgnJXM6IG1rZGlyIGZhaWxlZCAoJXMpJyAlIChvZGlyLCBzdHIobXNnKSkpCiAgICAgYmFzZSA9ICcnCiAgICAgaWYgb2RpcjoKZGlmZiAtLWdpdCBhL1Rvb2xzL2dkYi9saWJweXRob24ucHkgYi9Ub29scy9nZGIvbGlicHl0aG9uLnB5CmluZGV4IGNhYjIyNmUuLjIwZGNkYTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL2dkYi9saWJweXRob24ucHkKKysrIGIvVG9vbHMvZ2RiL2xpYnB5dGhvbi5weQpAQCAtMTE2MCw3ICsxMTYwLDkgQEAKICAgICAgICAgIyBDb252ZXJ0IHRoZSBpbnQgY29kZSBwb2ludHMgdG8gdW5pY29kZSBjaGFyYWN0ZXJzLCBhbmQgZ2VuZXJhdGUgYQogICAgICAgICAjIGxvY2FsIHVuaWNvZGUgaW5zdGFuY2UuCiAgICAgICAgICMgVGhpcyBzcGxpdHMgc3Vycm9nYXRlIHBhaXJzIGlmIHNpemVvZihQeV9VTklDT0RFKSBpcyAyIGhlcmUgKGluIGdkYikuCi0gICAgICAgIHJlc3VsdCA9IHUnJy5qb2luKFtfdW5pY2hyKHVjcykgZm9yIHVjcyBpbiBQeV9VTklDT0RFc10pCisgICAgICAgIHJlc3VsdCA9IHUnJy5qb2luKFsKKyAgICAgICAgICAgIChfdW5pY2hyKHVjcykgaWYgdWNzIDw9IDB4MTBmZmZmIGVsc2UgJ1x1ZmZmZCcpCisgICAgICAgICAgICBmb3IgdWNzIGluIFB5X1VOSUNPREVzXSkKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAgZGVmIHdyaXRlX3JlcHIoc2VsZiwgb3V0LCB2aXNpdGVkKToKZGlmZiAtLWdpdCBhL1Rvb2xzL2ltcG9ydGJlbmNoL2ltcG9ydGJlbmNoLnB5IGIvVG9vbHMvaW1wb3J0YmVuY2gvaW1wb3J0YmVuY2gucHkKaW5kZXggNzE0YzBlNC4uNjM1ZGQ1NiAxMDA2NDQKLS0tIGEvVG9vbHMvaW1wb3J0YmVuY2gvaW1wb3J0YmVuY2gucHkKKysrIGIvVG9vbHMvaW1wb3J0YmVuY2gvaW1wb3J0YmVuY2gucHkKQEAgLTQ2LDggKzQ2LDcgQEAKICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSAnJwogICAgIHdpdGggdXRpbC51bmNhY2hlKG5hbWUpOgogICAgICAgICBzeXMubW9kdWxlc1tuYW1lXSA9IG1vZHVsZQotICAgICAgICBmb3IgcmVzdWx0IGluIGJlbmNoKG5hbWUsIHJlcGVhdD1yZXBlYXQsIHNlY29uZHM9c2Vjb25kcyk6Ci0gICAgICAgICAgICB5aWVsZCByZXN1bHQKKyAgICAgICAgeWllbGQgZnJvbSBiZW5jaChuYW1lLCByZXBlYXQ9cmVwZWF0LCBzZWNvbmRzPXNlY29uZHMpCiAKIAogZGVmIGJ1aWx0aW5fbW9kKHNlY29uZHMsIHJlcGVhdCk6CkBAIC01Niw5ICs1NSw4IEBACiAgICAgaWYgbmFtZSBpbiBzeXMubW9kdWxlczoKICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW25hbWVdCiAgICAgIyBSZWx5aW5nIG9uIGJ1aWx0LWluIGltcG9ydGVyIGJlaW5nIGltcGxpY2l0LgotICAgIGZvciByZXN1bHQgaW4gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksIHJlcGVhdD1yZXBlYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRzPXNlY29uZHMpOgotICAgICAgICB5aWVsZCByZXN1bHQKKyAgICB5aWVsZCBmcm9tIGJlbmNoKG5hbWUsIGxhbWJkYTogc3lzLm1vZHVsZXMucG9wKG5hbWUpLCByZXBlYXQ9cmVwZWF0LAorICAgICAgICAgICAgICAgICAgICAgc2Vjb25kcz1zZWNvbmRzKQogCiAKIGRlZiBzb3VyY2Vfd29fYnl0ZWNvZGUoc2Vjb25kcywgcmVwZWF0KToKQEAgLTczLDkgKzcxLDggQEAKICAgICAgICAgICAgIGxvYWRlciA9IChpbXBvcnRsaWIubWFjaGluZXJ5LlNvdXJjZUZpbGVMb2FkZXIsCiAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0bGliLm1hY2hpbmVyeS5TT1VSQ0VfU1VGRklYRVMsIFRydWUpCiAgICAgICAgICAgICBzeXMucGF0aF9ob29rcy5hcHBlbmQoaW1wb3J0bGliLm1hY2hpbmVyeS5GaWxlRmluZGVyLnBhdGhfaG9vayhsb2FkZXIpKQotICAgICAgICAgICAgZm9yIHJlc3VsdCBpbiBiZW5jaChuYW1lLCBsYW1iZGE6IHN5cy5tb2R1bGVzLnBvcChuYW1lKSwgcmVwZWF0PXJlcGVhdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kcz1zZWNvbmRzKToKLSAgICAgICAgICAgICAgICB5aWVsZCByZXN1bHQKKyAgICAgICAgICAgIHlpZWxkIGZyb20gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksIHJlcGVhdD1yZXBlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZHM9c2Vjb25kcykKICAgICBmaW5hbGx5OgogICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IEZhbHNlCiAKQEAgLTg5LDkgKzg2LDggQEAKICAgICAgICAgICAgIG9zLnVubGluayhieXRlY29kZV9wYXRoKQogICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IFRydWUKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgZm9yIHJlc3VsdCBpbiBiZW5jaChuYW1lLCBsYW1iZGE6IHN5cy5tb2R1bGVzLnBvcChuYW1lKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwZWF0PXJlcGVhdCwgc2Vjb25kcz1zZWNvbmRzKToKLSAgICAgICAgICAgICAgICB5aWVsZCByZXN1bHQKKyAgICAgICAgICAgIHlpZWxkIGZyb20gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdD1yZXBlYXQsIHNlY29uZHM9c2Vjb25kcykKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gRmFsc2UKIApAQCAtMTI3LDggKzEyMyw3IEBACiAgICAgICAgIGRlZiBjbGVhbnVwKCk6CiAgICAgICAgICAgICBzeXMubW9kdWxlcy5wb3AobmFtZSkKICAgICAgICAgICAgIG9zLnVubGluayhpbXAuY2FjaGVfZnJvbV9zb3VyY2UobW9kdWxlLl9fZmlsZV9fKSkKLSAgICAgICAgZm9yIHJlc3VsdCBpbiBiZW5jaChuYW1lLCBjbGVhbnVwLCByZXBlYXQ9cmVwZWF0LCBzZWNvbmRzPXNlY29uZHMpOgotICAgICAgICAgICAgeWllbGQgcmVzdWx0CisgICAgICAgIHlpZWxkIGZyb20gYmVuY2gobmFtZSwgY2xlYW51cCwgcmVwZWF0PXJlcGVhdCwgc2Vjb25kcz1zZWNvbmRzKQogCiAgICAgd3JpdGluZ19ieXRlY29kZV9iZW5jaG1hcmsuX19kb2NfXyA9ICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGluZ19ieXRlY29kZV9iZW5jaG1hcmsuX19kb2NfXy5mb3JtYXQobmFtZSkpCkBAIC0xNDgsOSArMTQzLDggQEAKICAgICAgICAgc3lzLnBhdGhfaG9va3MuYXBwZW5kKGltcG9ydGxpYi5tYWNoaW5lcnkuRmlsZUZpbmRlci5wYXRoX2hvb2sobG9hZGVyKSkKICAgICAgICAgcHlfY29tcGlsZS5jb21waWxlKG1hcHBpbmdbbmFtZV0pCiAgICAgICAgIGFzc2VydCBvcy5wYXRoLmV4aXN0cyhpbXAuY2FjaGVfZnJvbV9zb3VyY2UobWFwcGluZ1tuYW1lXSkpCi0gICAgICAgIGZvciByZXN1bHQgaW4gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksIHJlcGVhdD1yZXBlYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kcz1zZWNvbmRzKToKLSAgICAgICAgICAgIHlpZWxkIHJlc3VsdAorICAgICAgICB5aWVsZCBmcm9tIGJlbmNoKG5hbWUsIGxhbWJkYTogc3lzLm1vZHVsZXMucG9wKG5hbWUpLCByZXBlYXQ9cmVwZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZHM9c2Vjb25kcykKIAogCiBkZWYgX3VzaW5nX2J5dGVjb2RlKG1vZHVsZSk6CkBAIC0xNTgsOSArMTUyLDggQEAKICAgICBkZWYgdXNpbmdfYnl0ZWNvZGVfYmVuY2htYXJrKHNlY29uZHMsIHJlcGVhdCk6CiAgICAgICAgICIiIlNvdXJjZSB3LyBieXRlY29kZToge30iIiIKICAgICAgICAgcHlfY29tcGlsZS5jb21waWxlKG1vZHVsZS5fX2ZpbGVfXykKLSAgICAgICAgZm9yIHJlc3VsdCBpbiBiZW5jaChuYW1lLCBsYW1iZGE6IHN5cy5tb2R1bGVzLnBvcChuYW1lKSwgcmVwZWF0PXJlcGVhdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRzPXNlY29uZHMpOgotICAgICAgICAgICAgeWllbGQgcmVzdWx0CisgICAgICAgIHlpZWxkIGZyb20gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksIHJlcGVhdD1yZXBlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kcz1zZWNvbmRzKQogCiAgICAgdXNpbmdfYnl0ZWNvZGVfYmVuY2htYXJrLl9fZG9jX18gPSAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzaW5nX2J5dGVjb2RlX2JlbmNobWFyay5fX2RvY19fLmZvcm1hdChuYW1lKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL21zaS9tc2kucHkgYi9Ub29scy9tc2kvbXNpLnB5CmluZGV4IDJlYzY5NTEuLmZjYTQzZTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL21zaS9tc2kucHkKKysrIGIvVG9vbHMvbXNpL21zaS5weQpAQCAtOTksNyArOTksOSBAQAogICAgICdfbXVsdGlwcm9jZXNzaW5nLnB5ZCcsCiAgICAgJ19sem1hLnB5ZCcsCiAgICAgJ19kZWNpbWFsLnB5ZCcsCi0gICAgJ190ZXN0YnVmZmVyLnB5ZCcKKyAgICAnX3Rlc3RidWZmZXIucHlkJywKKyAgICAnX3NoYTMucHlkJywKKyAgICAnX3Rlc3RpbXBvcnRtdWx0aXBsZS5weWQnLAogXQogCiAjIFdlbGwta25vd24gY29tcG9uZW50IFVVSURzCkBAIC05NTQsOCArOTU2LDYgQEAKICAgICAjIEFkZCBhbGwgZXhlY3V0YWJsZXMsIGljb25zLCB0ZXh0IGZpbGVzIGludG8gdGhlIFRBUkdFVERJUiBjb21wb25lbnQKICAgICByb290ID0gUHlEaXJlY3RvcnkoZGIsIGNhYiwgTm9uZSwgc3JjZGlyLCAiVEFSR0VURElSIiwgIlNvdXJjZURpciIpCiAgICAgZGVmYXVsdF9mZWF0dXJlLnNldF9jdXJyZW50KCkKLSAgICBpZiBub3QgbXNpbGliLldpbjY0OgotICAgICAgICByb290LmFkZF9maWxlKCIlcy93OXhwb3Blbi5leGUiICUgUENCVUlMRCkKICAgICByb290LmFkZF9maWxlKCJSRUFETUUudHh0Iiwgc3JjPSJSRUFETUUiKQogICAgIHJvb3QuYWRkX2ZpbGUoIk5FV1MudHh0Iiwgc3JjPSJNaXNjL05FV1MiKQogICAgIGdlbmVyYXRlX2xpY2Vuc2UoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvcGFyc2VyL3VucGFyc2UucHkgYi9Ub29scy9wYXJzZXIvdW5wYXJzZS5weQppbmRleCBiNTVlMmM2Li44MzdjZDgxIDEwMDY0NAotLS0gYS9Ub29scy9wYXJzZXIvdW5wYXJzZS5weQorKysgYi9Ub29scy9wYXJzZXIvdW5wYXJzZS5weQpAQCAtMzA3LDYgKzMwNyw5IEBACiAgICAgZGVmIF9OYW1lKHNlbGYsIHQpOgogICAgICAgICBzZWxmLndyaXRlKHQuaWQpCiAKKyAgICBkZWYgX05hbWVDb25zdGFudChzZWxmLCB0KToKKyAgICAgICAgc2VsZi53cml0ZShyZXByKHQudmFsdWUpKQorCiAgICAgZGVmIF9OdW0oc2VsZiwgdCk6CiAgICAgICAgICMgU3Vic3RpdHV0ZSBvdmVyZmxvd2luZyBkZWNpbWFsIGxpdGVyYWwgZm9yIEFTVCBpbmZpbml0aWVzLgogICAgICAgICBzZWxmLndyaXRlKHJlcHIodC5uKS5yZXBsYWNlKCJpbmYiLCBJTkZTVFIpKQpAQCAtNTE1LDEwICs1MTgsMTAgQEAKICAgICAgICAgICAgIGVsc2U6IHNlbGYud3JpdGUoIiwgIikKICAgICAgICAgICAgIHNlbGYud3JpdGUoIioiKQogICAgICAgICAgICAgaWYgdC52YXJhcmc6Ci0gICAgICAgICAgICAgICAgc2VsZi53cml0ZSh0LnZhcmFyZykKLSAgICAgICAgICAgICAgICBpZiB0LnZhcmFyZ2Fubm90YXRpb246CisgICAgICAgICAgICAgICAgc2VsZi53cml0ZSh0LnZhcmFyZy5hcmcpCisgICAgICAgICAgICAgICAgaWYgdC52YXJhcmcuYW5ub3RhdGlvbjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi53cml0ZSgiOiAiKQotICAgICAgICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoKHQudmFyYXJnYW5ub3RhdGlvbikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5kaXNwYXRjaCh0LnZhcmFyZy5hbm5vdGF0aW9uKQogCiAgICAgICAgICMga2V5d29yZC1vbmx5IGFyZ3VtZW50cwogICAgICAgICBpZiB0Lmt3b25seWFyZ3M6CkBAIC01MzQsMTAgKzUzNywxMCBAQAogICAgICAgICBpZiB0Lmt3YXJnOgogICAgICAgICAgICAgaWYgZmlyc3Q6Zmlyc3QgPSBGYWxzZQogICAgICAgICAgICAgZWxzZTogc2VsZi53cml0ZSgiLCAiKQotICAgICAgICAgICAgc2VsZi53cml0ZSgiKioiK3Qua3dhcmcpCi0gICAgICAgICAgICBpZiB0Lmt3YXJnYW5ub3RhdGlvbjoKKyAgICAgICAgICAgIHNlbGYud3JpdGUoIioqIit0Lmt3YXJnLmFyZykKKyAgICAgICAgICAgIGlmIHQua3dhcmcuYW5ub3RhdGlvbjoKICAgICAgICAgICAgICAgICBzZWxmLndyaXRlKCI6ICIpCi0gICAgICAgICAgICAgICAgc2VsZi5kaXNwYXRjaCh0Lmt3YXJnYW5ub3RhdGlvbikKKyAgICAgICAgICAgICAgICBzZWxmLmRpc3BhdGNoKHQua3dhcmcuYW5ub3RhdGlvbikKIAogICAgIGRlZiBfa2V5d29yZChzZWxmLCB0KToKICAgICAgICAgc2VsZi53cml0ZSh0LmFyZykKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvYnlleHQucHkgYi9Ub29scy9zY3JpcHRzL2J5ZXh0LnB5CmluZGV4IGI3OWZmMzcuLjczNmE0NDEgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvYnlleHQucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9ieWV4dC5weQpAQCAtMjUsNyArMjUsNyBAQAogICAgICAgICBzZWxmLmFkZHN0YXRzKCI8ZGlyPiIsICJkaXJzIiwgMSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcikKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGVycjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiQ2FuJ3QgbGlzdCAlczogJXNcbiIgJSAoZGlyLCBlcnIpKQogICAgICAgICAgICAgc2VsZi5hZGRzdGF0cygiPGRpcj4iLCAidW5saXN0YWJsZSIsIDEpCiAgICAgICAgICAgICByZXR1cm4KZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvYnl0ZXllYXJzLnB5IGIvVG9vbHMvc2NyaXB0cy9ieXRleWVhcnMucHkKaW5kZXggNDkwYjM3Zi4uZjU4YzM0NiAxMDA3NTUKLS0tIGEvVG9vbHMvc2NyaXB0cy9ieXRleWVhcnMucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9ieXRleWVhcnMucHkKQEAgLTQzLDcgKzQzLDcgQEAKICAgICBmb3IgZmlsZW5hbWUgaW4gc3lzLmFyZ3ZbMTpdOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzdCA9IHN0YXRmdW5jKGZpbGVuYW1lKQotICAgICAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJjYW4ndCBzdGF0ICVyOiAlclxuIiAlIChmaWxlbmFtZSwgbXNnKSkKICAgICAgICAgICAgIHN0YXR1cyA9IDEKICAgICAgICAgICAgIHN0ID0gKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvY2hlY2tweWMucHkgYi9Ub29scy9zY3JpcHRzL2NoZWNrcHljLnB5CmluZGV4IGQ0ZmRjZTIuLjAwOWY4NWIgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvY2hlY2tweWMucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9jaGVja3B5Yy5weQpAQCAtMjQsNyArMjQsNyBAQAogICAgIGZvciBkaXJuYW1lIGluIHN5cy5wYXRoOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoZGlybmFtZSkKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHByaW50KCdDYW5ub3QgbGlzdCBkaXJlY3RvcnknLCByZXByKGRpcm5hbWUpKQogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgaWYgbm90IHNpbGVudDoKQEAgLTM0LDcgKzM0LDcgQEAKICAgICAgICAgICAgICAgICBuYW1lID0gb3MucGF0aC5qb2luKGRpcm5hbWUsIG5hbWUpCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBzdCA9IG9zLnN0YXQobmFtZSkKLSAgICAgICAgICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICAgICAgICAgIHByaW50KCdDYW5ub3Qgc3RhdCcsIHJlcHIobmFtZSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICAgICAgaWYgdmVyYm9zZToKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvY29weXRpbWUucHkgYi9Ub29scy9zY3JpcHRzL2NvcHl0aW1lLnB5CmluZGV4IGUwMjIwYjUuLjcxNTY4M2YgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvY29weXRpbWUucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9jb3B5dGltZS5weQpAQCAtMTMsMTIgKzEzLDEyIEBACiAgICAgZmlsZTEsIGZpbGUyID0gc3lzLmFyZ3ZbMV0sIHN5cy5hcmd2WzJdCiAgICAgdHJ5OgogICAgICAgICBzdGF0MSA9IG9zLnN0YXQoZmlsZTEpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBzeXMuc3RkZXJyLndyaXRlKGZpbGUxICsgJzogY2Fubm90IHN0YXRcbicpCiAgICAgICAgIHN5cy5leGl0KDEpCiAgICAgdHJ5OgogICAgICAgICBvcy51dGltZShmaWxlMiwgKHN0YXQxW1NUX0FUSU1FXSwgc3RhdDFbU1RfTVRJTUVdKSkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoZmlsZTIgKyAnOiBjYW5ub3QgY2hhbmdlIHRpbWVcbicpCiAgICAgICAgIHN5cy5leGl0KDIpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvZmluZGRpdi5weSBiL1Rvb2xzL3NjcmlwdHMvZmluZGRpdi5weQppbmRleCBmMjRhNzAyLi5hNzA1ZjU2IDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL2ZpbmRkaXYucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9maW5kZGl2LnB5CkBAIC03MCw3ICs3MCw3IEBACiBkZWYgcHJvY2Vzc2RpcihkaXIsIGxpc3RuYW1lcyk6CiAgICAgdHJ5OgogICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoZGlyKQotICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBtc2c6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJDYW4ndCBsaXN0IGRpcmVjdG9yeTogJXNcbiIgJSBkaXIpCiAgICAgICAgIHJldHVybiAxCiAgICAgZmlsZXMgPSBbXQpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9maW5kbGlua3N0by5weSBiL1Rvb2xzL3NjcmlwdHMvZmluZGxpbmtzdG8ucHkKaW5kZXggYjRjMDllZi4uYjkyNGYyNyAxMDA3NTUKLS0tIGEvVG9vbHMvc2NyaXB0cy9maW5kbGlua3N0by5weQorKysgYi9Ub29scy9zY3JpcHRzL2ZpbmRsaW5rc3RvLnB5CkBAIC0zNiw3ICszNiw3IEBACiAgICAgICAgICAgICBsaW5rdG8gPSBvcy5yZWFkbGluayhuYW1lKQogICAgICAgICAgICAgaWYgcHJvZy5zZWFyY2gobGlua3RvKSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBwcmludChuYW1lLCAnLT4nLCBsaW5rdG8pCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL2ZpeGNpZC5weSBiL1Rvb2xzL3NjcmlwdHMvZml4Y2lkLnB5CmluZGV4IDg3ZTJhMDkuLjFlNGM0MjggMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvZml4Y2lkLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvZml4Y2lkLnB5CkBAIC05Nyw3ICs5Nyw3IEBACiAgICAgYmFkID0gMAogICAgIHRyeToKICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGRpcm5hbWUpCi0gICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgIGVycihkaXJuYW1lICsgJzogY2Fubm90IGxpc3QgZGlyZWN0b3J5OiAnICsgc3RyKG1zZykgKyAnXG4nKQogICAgICAgICByZXR1cm4gMQogICAgIG5hbWVzLnNvcnQoKQpAQCAtMTc1LDE3ICsxNzUsMTcgQEAKICAgICB0cnk6CiAgICAgICAgIHN0YXRidWYgPSBvcy5zdGF0KGZpbGVuYW1lKQogICAgICAgICBvcy5jaG1vZCh0ZW1wbmFtZSwgc3RhdGJ1ZltTVF9NT0RFXSAmIDBvNzc3NykKLSAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgZXJyKHRlbXBuYW1lICsgJzogd2FybmluZzogY2htb2QgZmFpbGVkICgnICsgc3RyKG1zZykgKyAnKVxuJykKICAgICAjIFRoZW4gbWFrZSBhIGJhY2t1cCBvZiB0aGUgb3JpZ2luYWwgZmlsZSBhcyBmaWxlbmFtZX4KICAgICB0cnk6CiAgICAgICAgIG9zLnJlbmFtZShmaWxlbmFtZSwgZmlsZW5hbWUgKyAnficpCi0gICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgIGVycihmaWxlbmFtZSArICc6IHdhcm5pbmc6IGJhY2t1cCBmYWlsZWQgKCcgKyBzdHIobXNnKSArICcpXG4nKQogICAgICMgTm93IG1vdmUgdGhlIHRlbXAgZmlsZSB0byB0aGUgb3JpZ2luYWwgZmlsZQogICAgIHRyeToKICAgICAgICAgb3MucmVuYW1lKHRlbXBuYW1lLCBmaWxlbmFtZSkKLSAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgZXJyKGZpbGVuYW1lICsgJzogcmVuYW1lIGZhaWxlZCAoJyArIHN0cihtc2cpICsgJylcbicpCiAgICAgICAgIHJldHVybiAxCiAgICAgIyBSZXR1cm4gc3VjY2VzcwpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9mdHBtaXJyb3IucHkgYi9Ub29scy9zY3JpcHRzL2Z0cG1pcnJvci5weQppbmRleCA5ZThiZTFkLi5hMWI2ODNhIDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL2Z0cG1pcnJvci5weQorKysgYi9Ub29scy9zY3JpcHRzL2Z0cG1pcnJvci5weQpAQCAtMTA4LDcgKzEwOCw3IEBACiAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCdDcmVhdGluZyBsb2NhbCBkaXJlY3RvcnknLCByZXByKGxvY2FsZGlyKSkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbWFrZWRpcihsb2NhbGRpcikKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgcHJpbnQoIkZhaWxlZCB0byBlc3RhYmxpc2ggbG9jYWwgZGlyZWN0b3J5IiwgcmVwcihsb2NhbGRpcikpCiAgICAgICAgICAgICByZXR1cm4KICAgICBpbmZvZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4obG9jYWxkaXIsICcubWlycm9yaW5mbycpCkBAIC0xODMsNyArMTgzLDcgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy51bmxpbmsodGVtcG5hbWUpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGlmIG1vZGVbMF0gPT0gJ2wnOgogICAgICAgICAgICAgaWYgdmVyYm9zZToKQEAgLTIxOCwxMSArMjE4LDExIEBACiAgICAgICAgICAgICAgICAgZnAxLmNsb3NlKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MudW5saW5rKGZ1bGxuYW1lKQotICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcGFzcyAgICAgICAgICAgICMgSWdub3JlIHRoZSBlcnJvcgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5yZW5hbWUodGVtcG5hbWUsIGZ1bGxuYW1lKQotICAgICAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgICBwcmludCgiQ2FuJ3QgcmVuYW1lICVyIHRvICVyOiAlcyIgJSAodGVtcG5hbWUsIGZ1bGxuYW1lLCBtc2cpKQogICAgICAgICAgICAgY29udGludWUKICAgICAgICAgaW5mb1tmaWxlbmFtZV0gPSBpbmZvc3R1ZmYKQEAgLTI1NSw3ICsyNTUsNyBAQAogICAgIHRyeToKICAgICAgICAgaWYgbm90IGxvY2FsZGlyOiBuYW1lcyA9IG9zLmxpc3RkaXIob3MuY3VyZGlyKQogICAgICAgICBlbHNlOiBuYW1lcyA9IG9zLmxpc3RkaXIobG9jYWxkaXIpCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBuYW1lcyA9IFtdCiAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CiAgICAgICAgIGlmIG5hbWVbMF0gPT0gJy4nIG9yIG5hbWUgaW4gaW5mbyBvciBuYW1lIGluIHN1YmRpcnM6CkBAIC0zMTIsNyArMzEyLDcgQEAKICAgICBpZiBvcy5wYXRoLmlzZGlyKGZ1bGxuYW1lKSBhbmQgbm90IG9zLnBhdGguaXNsaW5rKGZ1bGxuYW1lKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKGZ1bGxuYW1lKQotICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgbmFtZXMgPSBbXQogICAgICAgICBvayA9IDEKICAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CkBAIC0zMjIsMTMgKzMyMiwxMyBAQAogICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3Mucm1kaXIoZnVsbG5hbWUpCi0gICAgICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBtc2c6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgIHByaW50KCJDYW4ndCByZW1vdmUgbG9jYWwgZGlyZWN0b3J5ICVyOiAlcyIgJSAoZnVsbG5hbWUsIG1zZykpCiAgICAgICAgICAgICByZXR1cm4gMAogICAgIGVsc2U6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLnVubGluayhmdWxsbmFtZSkKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgcHJpbnQoIkNhbid0IHJlbW92ZSBsb2NhbCBmaWxlICVyOiAlcyIgJSAoZnVsbG5hbWUsIG1zZykpCiAgICAgICAgICAgICByZXR1cm4gMAogICAgIHJldHVybiAxCkBAIC0zODYsNyArMzg2LDcgQEAKICAgICBiYWNrdXAgPSBvcy5wYXRoLmpvaW4oZGlyLCBmbmFtZSArICd+JykKICAgICB0cnk6CiAgICAgICAgIG9zLnVubGluayhiYWNrdXApCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBwYXNzCiAgICAgZnAgPSBvcGVuKHRlbXBuYW1lLCAndycpCiAgICAgZnAud3JpdGUoJ3tcbicpCkBAIC0zOTYsNyArMzk2LDcgQEAKICAgICBmcC5jbG9zZSgpCiAgICAgdHJ5OgogICAgICAgICBvcy5yZW5hbWUoZmlsZW5hbWUsIGJhY2t1cCkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHBhc3MKICAgICBvcy5yZW5hbWUodGVtcG5hbWUsIGZpbGVuYW1lKQogCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL2xpbmt0cmVlLnB5IGIvVG9vbHMvc2NyaXB0cy9saW5rdHJlZS5weQppbmRleCA5ODJmNDgwLi5lODNmMTk4IDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL2xpbmt0cmVlLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvbGlua3RyZWUucHkKQEAgLTMyLDEzICszMiwxMyBAQAogICAgICAgICByZXR1cm4gMQogICAgIHRyeToKICAgICAgICAgb3MubWtkaXIobmV3dHJlZSwgMG83NzcpCi0gICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgIHByaW50KG5ld3RyZWUgKyAnOiBjYW5ub3QgbWtkaXI6JywgbXNnKQogICAgICAgICByZXR1cm4gMQogICAgIGxpbmtuYW1lID0gb3MucGF0aC5qb2luKG5ld3RyZWUsIGxpbmspCiAgICAgdHJ5OgogICAgICAgICBvcy5zeW1saW5rKG9zLnBhdGguam9pbihvcy5wYXJkaXIsIG9sZHRyZWUpLCBsaW5rbmFtZSkKLSAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgaWYgbm90IGxpbmtfbWF5X2ZhaWw6CiAgICAgICAgICAgICBwcmludChsaW5rbmFtZSArICc6IGNhbm5vdCBzeW1saW5rOicsIG1zZykKICAgICAgICAgICAgIHJldHVybiAxCkBAIC01MSw3ICs1MSw3IEBACiAgICAgaWYgZGVidWc6IHByaW50KCdsaW5rbmFtZXMnLCAob2xkLCBuZXcsIGxpbmspKQogICAgIHRyeToKICAgICAgICAgbmFtZXMgPSBvcy5saXN0ZGlyKG9sZCkKLSAgICBleGNlcHQgb3MuZXJyb3IgYXMgbXNnOgorICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgcHJpbnQob2xkICsgJzogd2FybmluZzogY2Fubm90IGxpc3RkaXI6JywgbXNnKQogICAgICAgICByZXR1cm4KICAgICBmb3IgbmFtZSBpbiBuYW1lczoKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcGFyc2VfaHRtbDVfZW50aXRpZXMucHkgYi9Ub29scy9zY3JpcHRzL3BhcnNlX2h0bWw1X2VudGl0aWVzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMTEzMjgKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9zY3JpcHRzL3BhcnNlX2h0bWw1X2VudGl0aWVzLnB5CkBAIC0wLDAgKzEsMTA1IEBACisjIS91c3IvYmluL2VudiBweXRob24zCisiIiIKK1V0aWxpdHkgZm9yIHBhcnNpbmcgSFRNTDUgZW50aXR5IGRlZmluaXRpb25zIGF2YWlsYWJsZSBmcm9tOgorCisgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9lbnRpdGllcy5qc29uCisKK1dyaXR0ZW4gYnkgRXppbyBNZWxvdHRpIGFuZCBJdWxpaWEgUHJvc2t1cm5pYS4KKworIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IGpzb24KK2Zyb20gdXJsbGliLnJlcXVlc3QgaW1wb3J0IHVybG9wZW4KK2Zyb20gaHRtbC5lbnRpdGllcyBpbXBvcnQgaHRtbDUKKworZW50aXRpZXNfdXJsID0gJ2h0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvZW50aXRpZXMuanNvbicKKworZGVmIGdldF9qc29uKHVybCk6CisgICAgIiIiRG93bmxvYWQgdGhlIGpzb24gZmlsZSBmcm9tIHRoZSB1cmwgYW5kIHJldHVybnMgYSBkZWNvZGVkIG9iamVjdC4iIiIKKyAgICB3aXRoIHVybG9wZW4odXJsKSBhcyBmOgorICAgICAgICBkYXRhID0gZi5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpCisgICAgcmV0dXJuIGpzb24ubG9hZHMoZGF0YSkKKworZGVmIGNyZWF0ZV9kaWN0KGVudGl0aWVzKToKKyAgICAiIiJDcmVhdGUgdGhlIGh0bWw1IGRpY3QgZnJvbSB0aGUgZGVjb2RlZCBqc29uIG9iamVjdC4iIiIKKyAgICBuZXdfaHRtbDUgPSB7fQorICAgIGZvciBuYW1lLCB2YWx1ZSBpbiBlbnRpdGllcy5pdGVtcygpOgorICAgICAgICBuZXdfaHRtbDVbbmFtZS5sc3RyaXAoJyYnKV0gPSB2YWx1ZVsnY2hhcmFjdGVycyddCisgICAgcmV0dXJuIG5ld19odG1sNQorCitkZWYgY29tcGFyZV9kaWN0cyhvbGQsIG5ldyk6CisgICAgIiIiQ29tcGFyZSB0aGUgb2xkIGFuZCBuZXcgZGljdHMgYW5kIHByaW50IHRoZSBkaWZmZXJlbmNlcy4iIiIKKyAgICBhZGRlZCA9IG5ldy5rZXlzKCkgLSBvbGQua2V5cygpCisgICAgaWYgYWRkZWQ6CisgICAgICAgIHByaW50KCd7fSBlbnRpdGllKHMpIGhhdmUgYmVlbiBhZGRlZDonLmZvcm1hdChsZW4oYWRkZWQpKSkKKyAgICAgICAgZm9yIG5hbWUgaW4gc29ydGVkKGFkZGVkKToKKyAgICAgICAgICAgIHByaW50KCcgIHshcn06IHshcn0nLmZvcm1hdChuYW1lLCBuZXdbbmFtZV0pKQorICAgIHJlbW92ZWQgPSBvbGQua2V5cygpIC0gbmV3LmtleXMoKQorICAgIGlmIHJlbW92ZWQ6CisgICAgICAgIHByaW50KCd7fSBlbnRpdGllKHMpIGhhdmUgYmVlbiByZW1vdmVkOicuZm9ybWF0KGxlbihyZW1vdmVkKSkpCisgICAgICAgIGZvciBuYW1lIGluIHNvcnRlZChyZW1vdmVkKToKKyAgICAgICAgICAgIHByaW50KCcgIHshcn06IHshcn0nLmZvcm1hdChuYW1lLCBvbGRbbmFtZV0pKQorICAgIGNoYW5nZWQgPSBzZXQoKQorICAgIGZvciBuYW1lIGluIChvbGQua2V5cygpICYgbmV3LmtleXMoKSk6CisgICAgICAgIGlmIG9sZFtuYW1lXSAhPSBuZXdbbmFtZV06CisgICAgICAgICAgICBjaGFuZ2VkLmFkZCgobmFtZSwgb2xkW25hbWVdLCBuZXdbbmFtZV0pKQorICAgIGlmIGNoYW5nZWQ6CisgICAgICAgIHByaW50KCd7fSBlbnRpdGllKHMpIGhhdmUgYmVlbiBtb2RpZmllZDonLmZvcm1hdChsZW4oY2hhbmdlZCkpKQorICAgICAgICBmb3IgaXRlbSBpbiBzb3J0ZWQoY2hhbmdlZCk6CisgICAgICAgICAgICBwcmludCgnICB7IXJ9OiB7IXJ9IC0+IHshcn0nLmZvcm1hdCgqaXRlbSkpCisKK2RlZiB3cml0ZV9pdGVtcyhlbnRpdGllcywgZmlsZT1zeXMuc3Rkb3V0KToKKyAgICAiIiJXcml0ZSB0aGUgaXRlbXMgb2YgdGhlIGRpY3Rpb25hcnkgaW4gdGhlIHNwZWNpZmllZCBmaWxlLiIiIgorICAgICMgVGhlIGtleXMgaW4gdGhlIGdlbmVyYXRlZCBkaWN0aW9uYXJ5IHNob3VsZCBiZSBzb3J0ZWQKKyAgICAjIGluIGEgY2FzZS1pbnNlbnNpdGl2ZSB3YXksIGhvd2V2ZXIsIHdoZW4gdHdvIGtleXMgYXJlIGVxdWFsLAorICAgICMgdGhlIHVwcGVyY2FzZSB2ZXJzaW9uIHNob3VsZCBjb21lIGZpcnN0IHNvIHRoYXQgdGhlIHJlc3VsdAorICAgICMgbG9va3MgbGlrZTogWydBYWN1dGUnLCAnYWFjdXRlJywgJ0FhY3V0ZTsnLCAnYWFjdXRlOycsIC4uLl0KKyAgICAjIFRvIGRvIHRoaXMgd2UgZmlyc3Qgc29ydCBpbiBhIGNhc2Utc2Vuc2l0aXZlIHdheSAoc28gYWxsIHRoZQorICAgICMgdXBwZXJjYXNlIGNoYXJzIGNvbWUgZmlyc3QpIGFuZCB0aGVuIHNvcnQgd2l0aCBrZXk9c3RyLmxvd2VyLgorICAgICMgU2luY2UgdGhlIHNvcnRpbmcgaXMgc3RhYmxlIHRoZSB1cHBlcmNhc2Uga2V5cyB3aWxsIGV2ZW50dWFsbHkKKyAgICAjIGJlIGJlZm9yZSB0aGVpciBlcXVpdmFsZW50IGxvd2VyY2FzZSB2ZXJzaW9uLgorICAgIGtleXMgPSBzb3J0ZWQoZW50aXRpZXMua2V5cygpKQorICAgIGtleXMgPSBzb3J0ZWQoa2V5cywga2V5PXN0ci5sb3dlcikKKyAgICBwcmludCgnaHRtbDUgPSB7JywgZmlsZT1maWxlKQorICAgIGZvciBuYW1lIGluIGtleXM6CisgICAgICAgIHByaW50KCcgICAgeyFyfTogeyFhfSwnLmZvcm1hdChuYW1lLCBlbnRpdGllc1tuYW1lXSksIGZpbGU9ZmlsZSkKKyAgICBwcmludCgnfScsIGZpbGU9ZmlsZSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgICMgd2l0aG91dCBhcmdzIHByaW50IGEgZGlmZiBiZXR3ZWVuIGh0bWwuZW50aXRpZXMuaHRtbDUgYW5kIG5ld19odG1sNQorICAgICMgd2l0aCAtLWNyZWF0ZSBwcmludCB0aGUgbmV3IGh0bWw1IGRpY3QKKyAgICAjIHdpdGggLS1wYXRjaCBwYXRjaCB0aGUgTGliL2h0bWwvZW50aXRpZXMucHkgZmlsZQorICAgIG5ld19odG1sNSA9IGNyZWF0ZV9kaWN0KGdldF9qc29uKGVudGl0aWVzX3VybCkpCisgICAgaWYgJy0tY3JlYXRlJyBpbiBzeXMuYXJndjoKKyAgICAgICAgcHJpbnQoJyMgbWFwIHRoZSBIVE1MNSBuYW1lZCBjaGFyYWN0ZXIgcmVmZXJlbmNlcyB0byB0aGUgJworICAgICAgICAgICAgICAnZXF1aXZhbGVudCBVbmljb2RlIGNoYXJhY3RlcihzKScpCisgICAgICAgIHByaW50KCcjIEdlbmVyYXRlZCBieSB7fS4gIERvIG5vdCBlZGl0IG1hbnVhbGx5LicuZm9ybWF0KF9fZmlsZV9fKSkKKyAgICAgICAgd3JpdGVfaXRlbXMobmV3X2h0bWw1KQorICAgIGVsaWYgJy0tcGF0Y2gnIGluIHN5cy5hcmd2OgorICAgICAgICBmbmFtZSA9ICdMaWIvaHRtbC9lbnRpdGllcy5weScKKyAgICAgICAgdGVtcF9mbmFtZSA9IGZuYW1lICsgJy50ZW1wJworICAgICAgICB3aXRoIG9wZW4oZm5hbWUpIGFzIGYxLCBvcGVuKHRlbXBfZm5hbWUsICd3JykgYXMgZjI6CisgICAgICAgICAgICBza2lwID0gRmFsc2UKKyAgICAgICAgICAgIGZvciBsaW5lIGluIGYxOgorICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnaHRtbDUgPSB7Jyk6CisgICAgICAgICAgICAgICAgICAgIHdyaXRlX2l0ZW1zKG5ld19odG1sNSwgZmlsZT1mMikKKyAgICAgICAgICAgICAgICAgICAgc2tpcCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiBza2lwOgorICAgICAgICAgICAgICAgICAgICAjIHNraXAgdGhlIG9sZCBpdGVtcyB1bnRpbCB0aGUgfQorICAgICAgICAgICAgICAgICAgICBpZiBsaW5lLnN0YXJ0c3dpdGgoJ30nKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNraXAgPSBGYWxzZQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGYyLndyaXRlKGxpbmUpCisgICAgICAgIG9zLnJlbW92ZShmbmFtZSkKKyAgICAgICAgb3MucmVuYW1lKHRlbXBfZm5hbWUsIGZuYW1lKQorICAgIGVsc2U6CisgICAgICAgIGlmIGh0bWw1ID09IG5ld19odG1sNToKKyAgICAgICAgICAgIHByaW50KCdUaGUgY3VycmVudCBkaWN0aW9uYXJ5IGlzIHVwZGF0ZWQuJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNvbXBhcmVfZGljdHMoaHRtbDUsIG5ld19odG1sNSkKKyAgICAgICAgICAgIHByaW50KCdSdW4gIi4vcHl0aG9uIHswfSAtLXBhdGNoIiB0byB1cGRhdGUgTGliL2h0bWwvZW50aXRpZXMuaHRtbCAnCisgICAgICAgICAgICAgICAgICAnb3IgIi4vcHl0aG9uIHswfSAtLWNyZWF0ZSIgdG8gc2VlIHRoZSBnZW5lcmF0ZWQgJyAnZGljdGlvbmFyeS4nLmZvcm1hdChfX2ZpbGVfXykpCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3BhdGhmaXgucHkgYi9Ub29scy9zY3JpcHRzL3BhdGhmaXgucHkKaW5kZXggZGQwOGUwYS4uYWUxNTU2MSAxMDA3NTUKLS0tIGEvVG9vbHMvc2NyaXB0cy9wYXRoZml4LnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvcGF0aGZpeC5weQpAQCAtNzMsNyArNzMsNyBAQAogICAgIGJhZCA9IDAKICAgICB0cnk6CiAgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihkaXJuYW1lKQotICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBtc2c6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICBlcnIoJyVzOiBjYW5ub3QgbGlzdCBkaXJlY3Rvcnk6ICVyXG4nICUgKGRpcm5hbWUsIG1zZykpCiAgICAgICAgIHJldHVybiAxCiAgICAgbmFtZXMuc29ydCgpCkBAIC0xMzEsMjQgKzEzMSwyNCBAQAogICAgICAgICBtdGltZSA9IHN0YXRidWYuc3RfbXRpbWUKICAgICAgICAgYXRpbWUgPSBzdGF0YnVmLnN0X2F0aW1lCiAgICAgICAgIG9zLmNobW9kKHRlbXBuYW1lLCBzdGF0YnVmW1NUX01PREVdICYgMG83Nzc3KQotICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBtc2c6CisgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICBlcnIoJyVzOiB3YXJuaW5nOiBjaG1vZCBmYWlsZWQgKCVyKVxuJyAlICh0ZW1wbmFtZSwgbXNnKSkKICAgICAjIFRoZW4gbWFrZSBhIGJhY2t1cCBvZiB0aGUgb3JpZ2luYWwgZmlsZSBhcyBmaWxlbmFtZX4KICAgICB0cnk6CiAgICAgICAgIG9zLnJlbmFtZShmaWxlbmFtZSwgZmlsZW5hbWUgKyAnficpCi0gICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgIGVycignJXM6IHdhcm5pbmc6IGJhY2t1cCBmYWlsZWQgKCVyKVxuJyAlIChmaWxlbmFtZSwgbXNnKSkKICAgICAjIE5vdyBtb3ZlIHRoZSB0ZW1wIGZpbGUgdG8gdGhlIG9yaWdpbmFsIGZpbGUKICAgICB0cnk6CiAgICAgICAgIG9zLnJlbmFtZSh0ZW1wbmFtZSwgZmlsZW5hbWUpCi0gICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgIGVycignJXM6IHJlbmFtZSBmYWlsZWQgKCVyKVxuJyAlIChmaWxlbmFtZSwgbXNnKSkKICAgICAgICAgcmV0dXJuIDEKICAgICBpZiBwcmVzZXJ2ZV90aW1lc3RhbXBzOgogICAgICAgICBpZiBhdGltZSBhbmQgbXRpbWU6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3MudXRpbWUoZmlsZW5hbWUsIChhdGltZSwgbXRpbWUpKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgICAgICBlcnIoJyVzOiByZXNldCBvZiB0aW1lc3RhbXAgZmFpbGVkICglcilcbicgJSAoZmlsZW5hbWUsIG1zZykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAjIFJldHVybiBzdWNjZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcGluZGVudC5weSBiL1Rvb2xzL3NjcmlwdHMvcGluZGVudC5weQppbmRleCAyODcyZGMwLi4zMzMzNDIwIDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL3BpbmRlbnQucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9waW5kZW50LnB5CkBAIC0zNzYsMTMgKzM3NiwxMyBAQAogICAgIGlmIG9zLnBhdGgubGV4aXN0cyhiYWNrdXApOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5yZW1vdmUoYmFja3VwKQotICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgcHJpbnQoIkNhbid0IHJlbW92ZSBiYWNrdXAgJXIiICUgKGJhY2t1cCwpLCBmaWxlPXN5cy5zdGRlcnIpCiAgICAgICAgICMgZW5kIHRyeQogICAgICMgZW5kIGlmCiAgICAgdHJ5OgogICAgICAgICBvcy5yZW5hbWUoZmlsZW5hbWUsIGJhY2t1cCkKLSAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgIHByaW50KCJDYW4ndCByZW5hbWUgJXIgdG8gJXIiICUgKGZpbGVuYW1lLCBiYWNrdXApLCBmaWxlPXN5cy5zdGRlcnIpCiAgICAgIyBlbmQgdHJ5CiAjIGVuZCBkZWYgbWFrZV9iYWNrdXAKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcmVpbmRlbnQucHkgYi9Ub29scy9zY3JpcHRzL3JlaW5kZW50LnB5CmluZGV4IDRhOTE2ZWEuLjE4NDI0ZGUgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvcmVpbmRlbnQucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9yZWluZGVudC5weQpAQCAtNTIsOCArNTIsOCBAQAogcmVjdXJzZSA9IEZhbHNlCiBkcnlydW4gPSBGYWxzZQogbWFrZWJhY2t1cCA9IFRydWUKKyMgQSBzcGVjaWZpZWQgbmV3bGluZSB0byBiZSB1c2VkIGluIHRoZSBvdXRwdXQgKHNldCBieSAtLW5ld2xpbmUgb3B0aW9uKQogc3BlY19uZXdsaW5lID0gTm9uZQotIiIiQSBzcGVjaWZpZWQgbmV3bGluZSB0byBiZSB1c2VkIGluIHRoZSBvdXRwdXQgKHNldCBieSAtLW5ld2xpbmUgb3B0aW9uKSIiIgogCiAKIGRlZiB1c2FnZShtc2c9Tm9uZSk6CmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3RyZWVzeW5jLnB5IGIvVG9vbHMvc2NyaXB0cy90cmVlc3luYy5weQppbmRleCBiMjY0OWM0Li42NTJkMzk0IDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL3RyZWVzeW5jLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvdHJlZXN5bmMucHkKQEAgLTc4LDcgKzc4LDcgQEAKICAgICAgICAgcHJpbnQoImNyZWF0aW5nIHNsYXZlIGRpcmVjdG9yeSIsIHNsYXZlKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBvcy5ta2RpcihzbGF2ZSkKLSAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIG1zZzoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgcHJpbnQoImNhbid0IG1ha2Ugc2xhdmUgZGlyZWN0b3J5Iiwgc2xhdmUsICI6IiwgbXNnKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3VudGFiaWZ5LnB5IGIvVG9vbHMvc2NyaXB0cy91bnRhYmlmeS5weQppbmRleCA0YjY3YzE1Li44NjFjODNjIDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL3VudGFiaWZ5LnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvdW50YWJpZnkucHkKQEAgLTM5LDExICszOSwxMSBAQAogICAgIGJhY2t1cCA9IGZpbGVuYW1lICsgIn4iCiAgICAgdHJ5OgogICAgICAgICBvcy51bmxpbmsoYmFja3VwKQotICAgIGV4Y2VwdCBvcy5lcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcGFzcwogICAgIHRyeToKICAgICAgICAgb3MucmVuYW1lKGZpbGVuYW1lLCBiYWNrdXApCi0gICAgZXhjZXB0IG9zLmVycm9yOgorICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICBwYXNzCiAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAidyIsIGVuY29kaW5nPWVuY29kaW5nKSBhcyBmOgogICAgICAgICBmLndyaXRlKG5ld3RleHQpCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3doaWNoLnB5IGIvVG9vbHMvc2NyaXB0cy93aGljaC5weQppbmRleCA0ZmMzN2EwLi5kZjU0Y2UwIDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL3doaWNoLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvd2hpY2gucHkKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKGRpciwgcHJvZykKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBzdCA9IG9zLnN0YXQoZmlsZW5hbWUpCi0gICAgICAgICAgICBleGNlcHQgb3MuZXJyb3I6CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgbm90IFNfSVNSRUcoc3RbU1RfTU9ERV0pOgogICAgICAgICAgICAgICAgIG1zZyhmaWxlbmFtZSArICc6IG5vdCBhIGRpc2sgZmlsZScpCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3dpbl9hZGQycGF0aC5weSBiL1Rvb2xzL3NjcmlwdHMvd2luX2FkZDJwYXRoLnB5CmluZGV4IDkyNTliNDQuLmM4NWJlYTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvd2luX2FkZDJwYXRoLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvd2luX2FkZDJwYXRoLnB5CkBAIC0zMCw3ICszMCw3IEBACiAgICAgd2l0aCB3aW5yZWcuQ3JlYXRlS2V5KEhLQ1UsIEVOVikgYXMga2V5OgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBlbnZwYXRoID0gd2lucmVnLlF1ZXJ5VmFsdWVFeChrZXksIFBBVEgpWzBdCi0gICAgICAgIGV4Y2VwdCBXaW5kb3dzRXJyb3I6CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgZW52cGF0aCA9IERFRkFVTFQKIAogICAgICAgICBwYXRocyA9IFtlbnZwYXRoXQpkaWZmIC0tZ2l0IGEvVG9vbHMvc3RyaW5nYmVuY2gvc3RyaW5nYmVuY2gucHkgYi9Ub29scy9zdHJpbmdiZW5jaC9zdHJpbmdiZW5jaC5weQppbmRleCBhMGEyMWZhLi5jNzJlMTZkIDEwMDc1NQotLS0gYS9Ub29scy9zdHJpbmdiZW5jaC9zdHJpbmdiZW5jaC5weQorKysgYi9Ub29scy9zdHJpbmdiZW5jaC9zdHJpbmdiZW5jaC5weQpAQCAtODA4LDcgKzgwOCw3IEBACiBwcm9ncmFtbWVycyByZXBvcnQgc3Vic3RhbnRpYWwgcHJvZHVjdGl2aXR5IGdhaW5zIGFuZCBmZWVsIHRoZSBsYW5ndWFnZQogZW5jb3VyYWdlcyB0aGUgZGV2ZWxvcG1lbnQgb2YgaGlnaGVyIHF1YWxpdHksIG1vcmUgbWFpbnRhaW5hYmxlIGNvZGUuCiAKLVB5dGhvbiBydW5zIG9uIFdpbmRvd3MsIExpbnV4L1VuaXgsIE1hYyBPUyBYLCBPUy8yLCBBbWlnYSwgUGFsbQorUHl0aG9uIHJ1bnMgb24gV2luZG93cywgTGludXgvVW5peCwgTWFjIE9TIFgsIEFtaWdhLCBQYWxtCiBIYW5kaGVsZHMsIGFuZCBOb2tpYSBtb2JpbGUgcGhvbmVzLiBQeXRob24gaGFzIGFsc28gYmVlbiBwb3J0ZWQgdG8gdGhlCiBKYXZhIGFuZCAuTkVUIHZpcnR1YWwgbWFjaGluZXMuCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5IGIvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkKaW5kZXggZDgzY2Y2My4uMmY4ZTYyMCAxMDA2NDQKLS0tIGEvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkKKysrIGIvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkKQEAgLTM3LDcgKzM3LDcgQEAKIFZFUlNJT04gPSAiMy4yIgogCiAjIFRoZSBVbmljb2RlIERhdGFiYXNlCi1VTklEQVRBX1ZFUlNJT04gPSAiNi4xLjAiCitVTklEQVRBX1ZFUlNJT04gPSAiNi4yLjAiCiBVTklDT0RFX0RBVEEgPSAiVW5pY29kZURhdGElcy50eHQiCiBDT01QT1NJVElPTl9FWENMVVNJT05TID0gIkNvbXBvc2l0aW9uRXhjbHVzaW9ucyVzLnR4dCIKIEVBU1RBU0lBTl9XSURUSCA9ICJFYXN0QXNpYW5XaWR0aCVzLnR4dCIKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBkMzIxNGFiLi41M2QzODkwIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDYgKzEsNiBAQAogIyEgL2Jpbi9zaAogIyBHdWVzcyB2YWx1ZXMgZm9yIHN5c3RlbS1kZXBlbmRlbnQgdmFyaWFibGVzIGFuZCBjcmVhdGUgTWFrZWZpbGVzLgotIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkgZm9yIHB5dGhvbiAzLjMuCisjIEdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OSBmb3IgcHl0aG9uIDMuNC4KICMKICMgUmVwb3J0IGJ1Z3MgdG8gPGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvPi4KICMKQEAgLTU4MCw4ICs1ODAsOCBAQAogIyBJZGVudGl0eSBvZiB0aGlzIHBhY2thZ2UuCiBQQUNLQUdFX05BTUU9J3B5dGhvbicKIFBBQ0tBR0VfVEFSTkFNRT0ncHl0aG9uJwotUEFDS0FHRV9WRVJTSU9OPSczLjMnCi1QQUNLQUdFX1NUUklORz0ncHl0aG9uIDMuMycKK1BBQ0tBR0VfVkVSU0lPTj0nMy40JworUEFDS0FHRV9TVFJJTkc9J3B5dGhvbiAzLjQnCiBQQUNLQUdFX0JVR1JFUE9SVD0naHR0cDovL2J1Z3MucHl0aG9uLm9yZy8nCiBQQUNLQUdFX1VSTD0nJwogCkBAIC02MjUsNiArNjI1LDggQEAKIGFjX3N1YnN0X3ZhcnM9J0xUTElCT0JKUwogU1JDRElSUwogVEhSRUFESEVBREVSUworTElCUEwKK1BZX0VOQUJMRV9TSEFSRUQKIEVYVF9TVUZGSVgKIFNPQUJJCiBMSUJDCkBAIC0xMzU4LDcgKzEzNjAsNyBAQAogICAjIE9taXQgc29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBpbXBvc2luZy4KICAgIyBUaGlzIG1lc3NhZ2UgaXMgdG9vIGxvbmcgdG8gYmUgYSBzdHJpbmcgaW4gdGhlIEEvVVggMy4xIHNoLgogICBjYXQgPDxfQUNFT0YKLVxgY29uZmlndXJlJyBjb25maWd1cmVzIHB5dGhvbiAzLjMgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgorXGBjb25maWd1cmUnIGNvbmZpZ3VyZXMgcHl0aG9uIDMuNCB0byBhZGFwdCB0byBtYW55IGtpbmRzIG9mIHN5c3RlbXMuCiAKIFVzYWdlOiAkMCBbT1BUSU9OXS4uLiBbVkFSPVZBTFVFXS4uLgogCkBAIC0xNDIzLDcgKzE0MjUsNyBAQAogCiBpZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgogICBjYXNlICRhY19pbml0X2hlbHAgaW4KLSAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIHB5dGhvbiAzLjM6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBweXRob24gMy40OiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTE1NjIsNyArMTU2NCw3IEBACiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIiAmJiBleGl0ICRhY19zdGF0dXMKIGlmICRhY19pbml0X3ZlcnNpb247IHRoZW4KICAgY2F0IDw8XF9BQ0VPRgotcHl0aG9uIGNvbmZpZ3VyZSAzLjMKK3B5dGhvbiBjb25maWd1cmUgMy40CiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkKIAogQ29weXJpZ2h0IChDKSAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpAQCAtMjQwMSw3ICsyNDAzLDcgQEAKIFRoaXMgZmlsZSBjb250YWlucyBhbnkgbWVzc2FnZXMgcHJvZHVjZWQgYnkgY29tcGlsZXJzIHdoaWxlCiBydW5uaW5nIGNvbmZpZ3VyZSwgdG8gYWlkIGRlYnVnZ2luZyBpZiBjb25maWd1cmUgbWFrZXMgYSBtaXN0YWtlLgogCi1JdCB3YXMgY3JlYXRlZCBieSBweXRob24gJGFzX21lIDMuMywgd2hpY2ggd2FzCitJdCB3YXMgY3JlYXRlZCBieSBweXRob24gJGFzX21lIDMuNCwgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjkuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICAkICQwICRACkBAIC0yOTcxLDcgKzI5NzMsNyBAQAogbXYgY29uZmRlZnMuaC5uZXcgY29uZmRlZnMuaAogCiAKLVZFUlNJT049My4zCitWRVJTSU9OPTMuNAogCiAjIFZlcnNpb24gbnVtYmVyIG9mIFB5dGhvbidzIG93biBzaGFyZWQgbGlicmFyeSBmaWxlLgogCkBAIC01NTc2LDYgKzU1NzgsNyBAQAogCiAjIE90aGVyIHBsYXRmb3JtcyBmb2xsb3cKIGlmIHRlc3QgJGVuYWJsZV9zaGFyZWQgPSAieWVzIjsgdGhlbgorICBQWV9FTkFCTEVfU0hBUkVEPTEKIAogJGFzX2VjaG8gIiNkZWZpbmUgUHlfRU5BQkxFX1NIQVJFRCAxIiA+PmNvbmZkZWZzLmgKIApAQCAtNTYzMyw2ICs1NjM2LDcgQEAKIAogICBlc2FjCiBlbHNlICMgc2hhcmVkIGlzIGRpc2FibGVkCisgIFBZX0VOQUJMRV9TSEFSRUQ9MAogICBjYXNlICRhY19zeXNfc3lzdGVtIGluCiAgICAgQ1lHV0lOKikKICAgICAgICAgICBCTERMSUJSQVJZPSckKExJQlJBUlkpJwpAQCAtNzIyMSw3ICs3MjI1LDcgQEAKIAogCiAjIE9uIExpbnV4LCBjYW4uaCBhbmQgY2FuL3Jhdy5oIHJlcXVpcmUgc3lzL3NvY2tldC5oCi1mb3IgYWNfaGVhZGVyIGluIGxpbnV4L2Nhbi5oIGxpbnV4L2Nhbi9yYXcuaAorZm9yIGFjX2hlYWRlciBpbiBsaW51eC9jYW4uaCBsaW51eC9jYW4vcmF3LmggbGludXgvY2FuL2JjbS5oCiBkbyA6CiAgIGFzX2FjX0hlYWRlcj1gJGFzX2VjaG8gImFjX2N2X2hlYWRlcl8kYWNfaGVhZGVyIiB8ICRhc190cl9zaGAKIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX2NvbXBpbGUgIiRMSU5FTk8iICIkYWNfaGVhZGVyIiAiJGFzX2FjX0hlYWRlciIgIgpAQCAtMTAyNjksNyArMTAyNzMsNyBAQAogIHNpZ3RpbWVkd2FpdCBzaWd3YWl0IHNpZ3dhaXRpbmZvIHNucHJpbnRmIHN0cmZ0aW1lIHN0cmxjcHkgc3ltbGlua2F0IHN5bmMgXAogIHN5c2NvbmYgdGNnZXRwZ3JwIHRjc2V0cGdycCB0ZW1wbmFtIHRpbWVnbSB0aW1lcyB0bXBmaWxlIHRtcG5hbSB0bXBuYW1fciBcCiAgdHJ1bmNhdGUgdW5hbWUgdW5saW5rYXQgdW5zZXRlbnYgdXRpbWVuc2F0IHV0aW1lcyB3YWl0aWQgd2FpdHBpZCB3YWl0MyB3YWl0NCBcCi0gd2NzY29sbCB3Y3NmdGltZSB3Y3N4ZnJtIHdyaXRldiBfZ2V0cHR5Cisgd2NzY29sbCB3Y3NmdGltZSB3Y3N4ZnJtIHdtZW1jbXAgd3JpdGV2IF9nZXRwdHkKIGRvIDoKICAgYXNfYWNfdmFyPWAkYXNfZWNobyAiYWNfY3ZfZnVuY18kYWNfZnVuYyIgfCAkYXNfdHJfc2hgCiBhY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICIkYWNfZnVuYyIgIiRhc19hY192YXIiCkBAIC0xMzcxOSw2ICsxMzcyMywxMCBAQAogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRMRFZFUlNJT04iID4mNQogJGFzX2VjaG8gIiRMRFZFUlNJT04iID4mNjsgfQogCisKK0xJQlBMPSIke3ByZWZpeH0vbGliL3B5dGhvbiR7VkVSU0lPTn0vY29uZmlnLSR7TERWRVJTSU9OfSIKKworCiAjIENoZWNrIHdoZXRoZXIgcmlnaHQgc2hpZnRpbmcgYSBuZWdhdGl2ZSBpbnRlZ2VyIGV4dGVuZHMgdGhlIHNpZ24gYml0CiAjIG9yIGZpbGxzIHdpdGggemVyb3MgKGxpa2UgdGhlIENyYXkgSjkwLCBhY2NvcmRpbmcgdG8gVGltIFBldGVycykuCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgcmlnaHQgc2hpZnQgZXh0ZW5kcyB0aGUgc2lnbiBiaXQiID4mNQpAQCAtMTUxMjcsNyArMTUxMzUsNyBAQAogZmkKIAogIyBnZW5lcmF0ZSBvdXRwdXQgZmlsZXMKLWFjX2NvbmZpZ19maWxlcz0iJGFjX2NvbmZpZ19maWxlcyBNYWtlZmlsZS5wcmUgTW9kdWxlcy9TZXR1cC5jb25maWcgTWlzYy9weXRob24ucGMiCithY19jb25maWdfZmlsZXM9IiRhY19jb25maWdfZmlsZXMgTWFrZWZpbGUucHJlIE1vZHVsZXMvU2V0dXAuY29uZmlnIE1pc2MvcHl0aG9uLnBjIE1pc2MvcHl0aG9uLWNvbmZpZy5zaCIKIAogYWNfY29uZmlnX2ZpbGVzPSIkYWNfY29uZmlnX2ZpbGVzIE1vZHVsZXMvbGRfc29fYWl4IgogCkBAIC0xNTYzOCw3ICsxNTY0Niw3IEBACiAjIHJlcG9ydCBhY3R1YWwgaW5wdXQgdmFsdWVzIG9mIENPTkZJR19GSUxFUyBldGMuIGluc3RlYWQgb2YgdGhlaXIKICMgdmFsdWVzIGFmdGVyIG9wdGlvbnMgaGFuZGxpbmcuCiBhY19sb2c9IgotVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBweXRob24gJGFzX21lIDMuMywgd2hpY2ggd2FzCitUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy40LCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgIENPTkZJR19GSUxFUyAgICA9ICRDT05GSUdfRklMRVMKQEAgLTE1NzAwLDcgKzE1NzA4LDcgQEAKIGNhdCA+PiRDT05GSUdfU1RBVFVTIDw8X0FDRU9GIHx8IGFjX3dyaXRlX2ZhaWw9MQogYWNfY3NfY29uZmlnPSJgJGFzX2VjaG8gIiRhY19jb25maWd1cmVfYXJncyIgfCBzZWQgJ3MvXiAvLzsgcy9bXFwiIlxgXCRdL1xcXFwmL2cnYCIKIGFjX2NzX3ZlcnNpb249IlxcCi1weXRob24gY29uZmlnLnN0YXR1cyAzLjMKK3B5dGhvbiBjb25maWcuc3RhdHVzIDMuNAogY29uZmlndXJlZCBieSAkMCwgZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY5LAogICB3aXRoIG9wdGlvbnMgXFwiXCRhY19jc19jb25maWdcXCIKIApAQCAtMTU4MzEsNiArMTU4MzksNyBAQAogICAgICJNYWtlZmlsZS5wcmUiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgTWFrZWZpbGUucHJlIiA7OwogICAgICJNb2R1bGVzL1NldHVwLmNvbmZpZyIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBNb2R1bGVzL1NldHVwLmNvbmZpZyIgOzsKICAgICAiTWlzYy9weXRob24ucGMiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgTWlzYy9weXRob24ucGMiIDs7CisgICAgIk1pc2MvcHl0aG9uLWNvbmZpZy5zaCIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBNaXNjL3B5dGhvbi1jb25maWcuc2giIDs7CiAgICAgIk1vZHVsZXMvbGRfc29fYWl4IikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIE1vZHVsZXMvbGRfc29fYWl4IiA7OwogCiAgICopIGFzX2ZuX2Vycm9yICQ/ICJpbnZhbGlkIGFyZ3VtZW50OiBcYCRhY19jb25maWdfdGFyZ2V0JyIgIiRMSU5FTk8iIDU7OwpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDZkNTRiMTYuLjA1M2U0YTQgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTMsNyArMyw3IEBACiBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAogIyBTZXQgVkVSU0lPTiBzbyB3ZSBvbmx5IG5lZWQgdG8gZWRpdCBpbiBvbmUgcGxhY2UgKGkuZS4sIGhlcmUpCi1tNF9kZWZpbmUoUFlUSE9OX1ZFUlNJT04sIDMuMykKK200X2RlZmluZShQWVRIT05fVkVSU0lPTiwgMy40KQogCiBBQ19QUkVSRVEoMi42NSkKIApAQCAtOTE3LDYgKzkxNyw3IEBACiAKICMgT3RoZXIgcGxhdGZvcm1zIGZvbGxvdwogaWYgdGVzdCAkZW5hYmxlX3NoYXJlZCA9ICJ5ZXMiOyB0aGVuCisgIFBZX0VOQUJMRV9TSEFSRUQ9MQogICBBQ19ERUZJTkUoUHlfRU5BQkxFX1NIQVJFRCwgMSwgW0RlZmluZWQgaWYgUHl0aG9uIGlzIGJ1aWx0IGFzIGEgc2hhcmVkIGxpYnJhcnkuXSkKICAgY2FzZSAkYWNfc3lzX3N5c3RlbSBpbgogICAgIENZR1dJTiopCkBAIC05NzIsNiArOTczLDcgQEAKIAogICBlc2FjCiBlbHNlICMgc2hhcmVkIGlzIGRpc2FibGVkCisgIFBZX0VOQUJMRV9TSEFSRUQ9MAogICBjYXNlICRhY19zeXNfc3lzdGVtIGluCiAgICAgQ1lHV0lOKikKICAgICAgICAgICBCTERMSUJSQVJZPSckKExJQlJBUlkpJwpAQCAtMTU2Niw3ICsxNTY4LDcgQEAKIF0pCiAKICMgT24gTGludXgsIGNhbi5oIGFuZCBjYW4vcmF3LmggcmVxdWlyZSBzeXMvc29ja2V0LmgKLUFDX0NIRUNLX0hFQURFUlMobGludXgvY2FuLmggbGludXgvY2FuL3Jhdy5oLCwsWworQUNfQ0hFQ0tfSEVBREVSUyhsaW51eC9jYW4uaCBsaW51eC9jYW4vcmF3LmggbGludXgvY2FuL2JjbS5oLCwsWwogI2lmZGVmIEhBVkVfU1lTX1NPQ0tFVF9ICiAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgogI2VuZGlmCkBAIC0yODE0LDcgKzI4MTYsNyBAQAogIHNpZ3RpbWVkd2FpdCBzaWd3YWl0IHNpZ3dhaXRpbmZvIHNucHJpbnRmIHN0cmZ0aW1lIHN0cmxjcHkgc3ltbGlua2F0IHN5bmMgXAogIHN5c2NvbmYgdGNnZXRwZ3JwIHRjc2V0cGdycCB0ZW1wbmFtIHRpbWVnbSB0aW1lcyB0bXBmaWxlIHRtcG5hbSB0bXBuYW1fciBcCiAgdHJ1bmNhdGUgdW5hbWUgdW5saW5rYXQgdW5zZXRlbnYgdXRpbWVuc2F0IHV0aW1lcyB3YWl0aWQgd2FpdHBpZCB3YWl0MyB3YWl0NCBcCi0gd2NzY29sbCB3Y3NmdGltZSB3Y3N4ZnJtIHdyaXRldiBfZ2V0cHR5KQorIHdjc2NvbGwgd2NzZnRpbWUgd2NzeGZybSB3bWVtY21wIHdyaXRldiBfZ2V0cHR5KQogCiBBQ19DSEVDS19ERUNMKGRpcmZkLAogICAgIEFDX0RFRklORShIQVZFX0RJUkZELCAxLApAQCAtMzk1NCw2ICszOTU2LDExIEBACiBMRFZFUlNJT049JyQoVkVSU0lPTikkKEFCSUZMQUdTKScKIEFDX01TR19SRVNVTFQoJExEVkVSU0lPTikKIAorZG5sIGRlZmluZSBMSUJQTCBhZnRlciBBQklGTEFHUyBhbmQgTERWRVJTSU9OIGlzIGRlZmluZWQuCitBQ19TVUJTVChQWV9FTkFCTEVfU0hBUkVEKQorTElCUEw9IiR7cHJlZml4fS9saWIvcHl0aG9uJHtWRVJTSU9OfS9jb25maWctJHtMRFZFUlNJT059IgorQUNfU1VCU1QoTElCUEwpCisKICMgQ2hlY2sgd2hldGhlciByaWdodCBzaGlmdGluZyBhIG5lZ2F0aXZlIGludGVnZXIgZXh0ZW5kcyB0aGUgc2lnbiBiaXQKICMgb3IgZmlsbHMgd2l0aCB6ZXJvcyAobGlrZSB0aGUgQ3JheSBKOTAsIGFjY29yZGluZyB0byBUaW0gUGV0ZXJzKS4KIEFDX01TR19DSEVDS0lORyh3aGV0aGVyIHJpZ2h0IHNoaWZ0IGV4dGVuZHMgdGhlIHNpZ24gYml0KQpAQCAtNDYzMyw3ICs0NjQwLDcgQEAKIGZpCiAKICMgZ2VuZXJhdGUgb3V0cHV0IGZpbGVzCi1BQ19DT05GSUdfRklMRVMoTWFrZWZpbGUucHJlIE1vZHVsZXMvU2V0dXAuY29uZmlnIE1pc2MvcHl0aG9uLnBjKQorQUNfQ09ORklHX0ZJTEVTKE1ha2VmaWxlLnByZSBNb2R1bGVzL1NldHVwLmNvbmZpZyBNaXNjL3B5dGhvbi5wYyBNaXNjL3B5dGhvbi1jb25maWcuc2gpCiBBQ19DT05GSUdfRklMRVMoW01vZHVsZXMvbGRfc29fYWl4XSwgW2NobW9kICt4IE1vZHVsZXMvbGRfc29fYWl4XSkKIEFDX09VVFBVVAogCmRpZmYgLS1naXQgYS9weWNvbmZpZy5oLmluIGIvcHljb25maWcuaC5pbgppbmRleCAxMGUyYzkxLi40ZjI1MmRjIDEwMDY0NAotLS0gYS9weWNvbmZpZy5oLmluCisrKyBiL3B5Y29uZmlnLmguaW4KQEAgLTUwMSw2ICs1MDEsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsaW5rYXQnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfTElOS0FUCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvY2FuL2JjbS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJTlVYX0NBTl9CQ01fSAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2Nhbi5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX0xJTlVYX0NBTl9ICiAKQEAgLTExMTUsNiArMTExOCw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHdjc3hmcm0nIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfV0NTWEZSTQogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHdtZW1jbXAnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfV01FTUNNUAorCiAvKiBEZWZpbmUgaWYgdHpzZXQoKSBhY3R1YWxseSBzd2l0Y2hlcyB0aGUgbG9jYWwgdGltZXpvbmUgaW4gYSBtZWFuaW5nZnVsIHdheS4KICAgICovCiAjdW5kZWYgSEFWRV9XT1JLSU5HX1RaU0VUCkBAIC0xMTg3LDkgKzExOTMsNiBAQAogLyogRGVmaW5lIGlmIHNldHBncnAoKSBtdXN0IGJlIGNhbGxlZCBhcyBzZXRwZ3JwKDAsIDApLiAqLwogI3VuZGVmIFNFVFBHUlBfSEFWRV9BUkcKIAotLyogRGVmaW5lIHRoaXMgdG8gYmUgZXh0ZW5zaW9uIG9mIHNoYXJlZCBsaWJyYXJpZXMgKGluY2x1ZGluZyB0aGUgZG90ISkuICovCi0jdW5kZWYgU0hMSUJfRVhUCi0KIC8qIERlZmluZSBpZiBpPj5qIGZvciBzaWduZWQgaW50IGkgZG9lcyBub3QgZXh0ZW5kIHRoZSBzaWduIGJpdCB3aGVuIGkgPCAwICovCiAjdW5kZWYgU0lHTkVEX1JJR0hUX1NISUZUX1pFUk9fRklMTFMKIApkaWZmIC0tZ2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQppbmRleCBkNDE4M2Q0Li5lNmYzYjUzIDEwMDY0NAotLS0gYS9zZXR1cC5weQorKysgYi9zZXR1cC5weQpAQCAtNTg4LDYgKzU4OCw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kcz1bJ3Rlc3RjYXBpX2xvbmcuaCddKSApCiAgICAgICAgICMgUHl0aG9uIFBFUC0zMTE4IChidWZmZXIgcHJvdG9jb2wpIHRlc3QgbW9kdWxlCiAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ190ZXN0YnVmZmVyJywgWydfdGVzdGJ1ZmZlci5jJ10pICkKKyAgICAgICAgIyBUZXN0IGxvYWRpbmcgbXVsdGlwbGUgbW9kdWxlcyBmcm9tIG9uZSBjb21waWxlZCBmaWxlIChodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTY0MjEpCisgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ190ZXN0aW1wb3J0bXVsdGlwbGUnLCBbJ190ZXN0aW1wb3J0bXVsdGlwbGUuYyddKSApCiAgICAgICAgICMgcHJvZmlsZXIgKF9sc3Byb2YgaXMgZm9yIGNQcm9maWxlLnB5KQogICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdfbHNwcm9mJywgWydfbHNwcm9mLmMnLCAncm90YXRpbmd0cmVlLmMnXSkgKQogICAgICAgICAjIHN0YXRpYyBVbmljb2RlIGNoYXJhY3RlciBkYXRhYmFzZQpAQCAtNzg0LDEwICs3ODYsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gaW5jZmlsZToKICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBvcGVuc3NsX3Zlcl9yZS5tYXRjaChsaW5lKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgbToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuc3NsX3ZlciA9IGV2YWwobS5ncm91cCgxKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuc3NsX3ZlciA9IGludChtLmdyb3VwKDEpLCAxNikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgICAgIHByaW50KCJJT0Vycm9yIHdoaWxlIHJlYWRpbmcgb3BlbnNzaHYuaDoiLCBtc2cpCi0gICAgICAgICAgICAgICAgcGFzcwogCiAgICAgICAgICNwcmludCgnb3BlbnNzbF92ZXIgPSAweCUwOHgnICUgb3BlbnNzbF92ZXIpCiAgICAgICAgIG1pbl9vcGVuc3NsX3ZlciA9IDB4MDA5MDcwMDAKQEAgLTgyMSw2ICs4MjMsMTUgQEAKICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignX3NoYTEnLCBbJ3NoYTFtb2R1bGUuYyddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHM9WydoYXNobGliLmgnXSkgKQogCisgICAgICAgICMgU0hBLTMgKEtlY2NhaykgbW9kdWxlCisgICAgICAgIHNoYTNfZGVwZW5kcyA9IFsnaGFzaGxpYi5oJ10KKyAgICAgICAga2VjY2FrID0gb3MucGF0aC5qb2luKG9zLmdldGN3ZCgpLCBzcmNkaXIsICdNb2R1bGVzJywgJ19zaGEzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdrZWNjYWsnKQorICAgICAgICBmb3IgcGF0dGVybiBpbiAoJyouYycsICcqLmgnLCAnKi5tYWNyb3MnKToKKyAgICAgICAgICAgIHNoYTNfZGVwZW5kcy5leHRlbmQoZ2xvYihvcy5wYXRoLmpvaW4oa2VjY2FrLCBwYXR0ZXJuKSkpCisgICAgICAgIGV4dHMuYXBwZW5kKEV4dGVuc2lvbigiX3NoYTMiLCBbIl9zaGEzL3NoYTNtb2R1bGUuYyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kcz1zaGEzX2RlcGVuZHMpKQorCiAgICAgICAgICMgTW9kdWxlcyB0aGF0IHByb3ZpZGUgcGVyc2lzdGVudCBkaWN0aW9uYXJ5LWxpa2Ugc2VtYW50aWNzLiAgWW91IHdpbGwKICAgICAgICAgIyBwcm9iYWJseSB3YW50IHRvIGFycmFuZ2UgZm9yIGF0IGxlYXN0IG9uZSBvZiB0aGVtIHRvIGJlIGF2YWlsYWJsZSBvbgogICAgICAgICAjIHlvdXIgbWFjaGluZSwgdGhvdWdoIG5vbmUgYXJlIGRlZmluZWQgYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGxpYnJhcnkKQEAgLTIxMTIsNyArMjEyMyw3IEBACiBwcm9ncmFtbWFibGUgaW50ZXJmYWNlLgogCiBUaGUgUHl0aG9uIGltcGxlbWVudGF0aW9uIGlzIHBvcnRhYmxlOiBpdCBydW5zIG9uIG1hbnkgYnJhbmRzIG9mIFVOSVgsCi1vbiBXaW5kb3dzLCBET1MsIE9TLzIsIE1hYywgQW1pZ2EuLi4gSWYgeW91ciBmYXZvcml0ZSBzeXN0ZW0gaXNuJ3QKK29uIFdpbmRvd3MsIERPUywgTWFjLCBBbWlnYS4uLiBJZiB5b3VyIGZhdm9yaXRlIHN5c3RlbSBpc24ndAogbGlzdGVkIGhlcmUsIGl0IG1heSBzdGlsbCBiZSBzdXBwb3J0ZWQsIGlmIHRoZXJlJ3MgYSBDIGNvbXBpbGVyIGZvcgogaXQuIEFzayBhcm91bmQgb24gY29tcC5sYW5nLnB5dGhvbiAtLSBvciBqdXN0IHRyeSBjb21waWxpbmcgUHl0aG9uCiB5b3Vyc2VsZi4K